(12)发明专利申请
(10)申请公布号 CN 111966870 A(43)申请公布日 2020.11.20
(21)申请号 202010819596.3(22)申请日 2020.08.14
(71)申请人 深圳市万物云科技有限公司
地址 518000 广东省深圳市前海深港合作
区前湾一路1号A栋201室(入驻深圳市前海商务秘书有限公司)(72)发明人 张俊
(74)专利代理机构 深圳市精英专利事务所
44242
代理人 于建(51)Int.Cl.
G06F 16/903(2019.01)G06F 16/901(2019.01)
权利要求书2页 说明书11页 附图4页
(54)发明名称
一种基于图数据库的社区关系实时构建方法及其相关组件(57)摘要
本发明公开了一种基于图数据库的社区关系实时构建方法及其相关组件,方法包括:采集社区的实体数据以及实体之间关系数据并通过数据管道导入图数据库中,根据实体数据创建节点;根据实体之间关系数据对节点之间的关系进行关联,并赋予动态属性;当实体之间关系数据发生变化时,根据实体之间关系数据对节点之间的关系进行更新或删除,并更新关系的动态属性;当接收到查询请求时,获取待查询的目标实体数据,根据目标实体数据在图数据库中进行查询,获取目标实体的历史关系状态和实时关系状态。本发明基于图数据库可实时动态反映实体之间的真实及隐含联系,利用图数据库完成数据的分布式可靠存储,查询分析更高效。
CN 111966870 ACN 111966870 A
权 利 要 求 书
1/2页
1.一种基于图数据库的社区关系实时构建方法,其特征在于,包括:采集社区的实体数据以及实体之间关系数据,通过数据管道将所述实体数据以及实体之间关系数据导入图数据库中,并根据所述实体数据创建图数据库的节点;
根据所述实体之间关系数据对节点之间的关系进行创建,并为所述关系赋予动态属性;所述关系包括同类关系和异类关系;所述动态属性包括:关系生效时间和关系结束时间;
当实体之间关系数据发生变化时,根据新的实体之间关系数据对节点之间的关系进行更新,并为所述关系赋予新的动态属性;
当实体之间关系数据失效时,根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性;
当接收到查询请求时,获取待查询的目标实体数据,根据所述目标实体数据在所述图数据库中进行查询,获取目标实体的历史关系状态和实时关系状态。
2.根据权利要求1所述的基于图数据库的社区关系实时构建方法,其特征在于,所述采集社区的实体数据以及实体之间关系数据,通过数据管道将所述实体数据以及实体之间关系数据导入图数据库中,并根据所述实体数据创建图数据库的节点,包括:
采集社区的实体数据以及实体之间关系数据,并存储至关系型数据库;构建数据管道,将关系型数据库中存储的实体数据以及实体之间关系数据导入所述图数据库;
根据所述实体数据创建图数据库的节点,并基于预先定义的配置信息为所述节点赋予相应的类型和属性。
3.根据权利要求2所述的基于图数据库的社区关系实时构建方法,其特征在于,所述根据所述实体之间关系数据对节点之间的关系进行创建,并为所述关系赋予动态属性,包括:
根据所述实体之间关系数据,从候选池中选出待操作的批量的节点对,创建所述节点对的关系;
根据所述实体之间关系数据,为所述节点对的关系赋予动态属性。4.根据权利要求1所述的基于图数据库的社区关系实时构建方法,其特征在于,所述当实体之间关系数据发生变化时,根据新的实体之间关系数据对节点之间的关系进行更新,并为所述关系赋予新的动态属性,包括:
当实体之间关系数据发生变化时,从候选池中选出待操作的节点对;判断所述节点对在所述图数据库中是否存在关系;若存在关系,则根据新的实体之间关系数据对所述节点对的关系进行更新,并为所述关系赋予新的动态属性;
若不存在关系,则创建所述节点对的关系,并为所述节点对的关系赋予动态属性。5.根据权利要求4所述的基于图数据库的社区关系实时构建方法,其特征在于,所述根据新的实体之间关系数据对节点之间的关系进行更新,并为所述关系赋予新的动态属性,包括:
将所述节点对的上一条关系的关系结束时间设置为当前时间;为所述节点对创建新的关系,并根据新的实体之间关系数据将新的关系的节点生效时间设置为当前时间,并对新的关系的其他动态属性进行设置。
2
CN 111966870 A
权 利 要 求 书
2/2页
6.根据权利要求1所述的基于图数据库的社区关系实时构建方法,其特征在于,所述当实体之间关系数据失效时,根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性,包括:
当实体之间关系数据失效时,从候选池中选出待操作的节点对;根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性。
7.根据权利要求1所述的基于图数据库的社区关系实时构建方法,其特征在于,所述当接收到查询请求时,获取待查询的目标实体数据,根据所述目标实体数据在所述图数据库中进行查询,获取目标实体的历史关系状态和实时关系状态,包括:
当接收到查询请求时,获取待查询的目标实体数据;
根据所述目标实体数据在所述图数据库中查询与目标实体有关系的关联实体;在所述图数据库中查询所述目标实体与关联实体之间的关系;若所述关系中包含多条关系,则将当前关系作为实时关系状态返回,并将当前关系之前的所有关系作为历史关系状态返回。
8.一种基于图数据库的社区关系实时构建装置,其特征在于,包括:实体数据采集单元,用于采集社区的实体数据以及实体之间关系数据,通过数据管道将所述实体数据以及实体之间关系数据导入图数据库中,并根据所述实体数据创建图数据库的节点;
节点关系创建单元,用于根据所述实体之间关系数据对节点之间的关系进行创建,并为所述关系赋予动态属性;所述关系包括同类关系和异类关系;所述动态属性包括:关系生效时间和关系结束时间;
节点关系更新单元,用于当实体之间关系数据发生变化时,根据新的实体之间关系数据对节点之间的关系进行更新,并为所述关系赋予新的动态属性;
节点关系删除单元,用于当实体之间关系数据失效时,根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性;
实体数据查询单元,用于当接收到查询请求时,获取待查询的目标实体数据,根据所述目标实体数据在所述图数据库中进行查询,获取目标实体的历史关系状态和实时关系状态。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的基于图数据库的社区关系实时构建方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于图数据库的社区关系实时构建方法。
3
CN 111966870 A
说 明 书
1/11页
一种基于图数据库的社区关系实时构建方法及其相关组件
技术领域
[0001]本发明涉及图数据处理技术领域,特别涉及一种基于图数据库的社区关系实时构建方法、装置、计算机设备及存储介质。背景技术
[0002]新时代背景下,社会各界对社区的规划、发展、维护提出了新的要求,以智慧社区建设为统领,提高新型城镇化质量是构建现代社区的共识。物业社区信息化管理系统是基于社区场景对业主、访客、车辆、不动产等多种实体构建的管理平台,为推动社区公共服务水平和规划建设提供了数字化支撑。[0003]随着城镇化建设的步伐加快,信息系统中维护的人-物信息维度和总量快速增加,人-物实体之间的互动频率加快。传统社区信息化管理系统的数据存储方式是基于关系模型的存储方式,适用于存储结构化数据,通过SQL查询语言提供便捷的数据查询方式,主要应用于事务的操作性处理,但难以满足大数据时代背景下大型社区的数字化运营涉及的快速访问和分析的需求,所受较大,主要包括:1、存储容量受限,关系数据库可以有效处理TB级的数据(TB是一个计算机存储容量的单位,它等于2的40次方字节,或者接近一万亿字节),而对PB级的数据量(PB是一个计算机存储容量的单位,它等于2的50次方字节,或者接近1000TB),目前较难处理;2、关系模型按内容访问的特点束缚了对海量数据的快速访问能力;3、可扩展性差,针对特定应用的设计特性使其难以应对海量复杂数据;4、无法对关系时效性进行有效判定。
发明内容
[0004]本发明的目的是提供一种基于图数据库的社区关系实时构建方法、装置、计算机设备及存储介质,旨在解决现有的社区数据存储方式存储容量受限、访问速度慢、扩展性差以及实体之间关系不具有时效性的问题。
[0005]本发明实施例提供一种基于图数据库的社区关系实时构建方法,其包括:[0006]采集社区的实体数据以及实体之间关系数据,通过数据管道将所述实体数据以及实体之间关系数据导入图数据库中,并根据所述实体数据创建图数据库的节点;[0007]根据所述实体之间关系数据对节点之间的关系进行创建,并为所述关系赋予动态属性;所述关系包括同类关系和异类关系;所述动态属性包括:关系生效时间和关系结束时间;
[0008]当实体之间关系数据发生变化时,根据新的实体之间关系数据对节点之间的关系进行更新,并为所述关系赋予新的动态属性;[0009]当实体之间关系数据失效时,根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性;[0010]当接收到查询请求时,获取待查询的目标实体数据,根据所述目标实体数据在所述图数据库中进行查询,获取目标实体的历史关系状态和实时关系状态。
4
CN 111966870 A[0011]
说 明 书
2/11页
优选的,所述采集社区的实体数据以及实体之间关系数据,通过数据管道将所述
实体数据以及实体之间关系数据导入图数据库中,并根据所述实体数据创建图数据库的节点,包括:
[0012]采集社区的实体数据以及实体之间关系数据,并存储至关系型数据库;[0013]构建数据管道,将关系型数据库中存储的实体数据以及实体之间关系数据导入所述图数据库;
[0014]根据所述实体数据创建图数据库的节点,并基于预先定义的配置信息为所述节点赋予相应的类型和属性。[0015]优选的,所述根据所述实体之间关系数据对节点之间的关系进行创建,并为所述关系赋予动态属性,包括:
[0016]根据所述实体之间关系数据,从候选池中选出待操作的批量的节点对,创建所述节点对的关系;
[0017]根据所述实体之间关系数据,为所述节点对的关系赋予动态属性。[0018]优选的,所述当实体之间关系数据发生变化时,根据新的实体之间关系数据对节点之间的关系进行更新,并为所述关系赋予新的动态属性,包括:[0019]当实体之间关系数据发生变化时,从候选池中选出待操作的节点对;[0020]判断所述节点对在所述图数据库中是否存在关系;[0021]若存在关系,则根据新的实体之间关系数据对所述节点对的关系进行更新,并为所述关系赋予新的动态属性;[0022]若不存在关系,则创建所述节点对的关系,并为所述节点对的关系赋予动态属性。[0023]优选的,所述根据新的实体之间关系数据对节点之间的关系进行更新,并为所述关系赋予新的动态属性,包括:
[0024]将所述节点对的上一条关系的关系结束时间设置为当前时间;[0025]为所述节点对创建新的关系,并根据新的实体之间关系数据将新的关系的节点生效时间设置为当前时间,并对新的关系的其他动态属性进行设置。[0026]优选的,所述当实体之间关系数据失效时,根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性,包括:[0027]当实体之间关系数据失效时,从候选池中选出待操作的节点对;[0028]根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性。
[0029]优选的,所述当接收到查询请求时,获取待查询的目标实体数据,根据所述目标实体数据在所述图数据库中进行查询,获取目标实体的历史关系状态和实时关系状态,包括:[0030]当接收到查询请求时,获取待查询的目标实体数据;
[0031]根据所述目标实体数据在所述图数据库中查询与目标实体有关系的关联实体;[0032]在所述图数据库中查询所述目标实体与关联实体之间的关系;[0033]若所述关系中包含多条关系,则将当前关系作为实时关系状态返回,并将当前关系之前的所有关系作为历史关系状态返回。
[0034]本发明实施例提供一种基于图数据库的社区关系实时构建装置,其包括:[0035]实体数据采集单元,用于采集社区的实体数据以及实体之间关系数据,通过数据
5
CN 111966870 A
说 明 书
3/11页
管道将所述实体数据以及实体之间关系数据导入图数据库中,并根据所述实体数据创建图数据库的节点;
[0036]节点关系创建单元,用于根据所述实体之间关系数据对节点之间的关系进行创建,并为所述关系赋予动态属性;所述关系包括同类关系和异类关系;所述动态属性包括:关系生效时间和关系结束时间;[0037]节点关系更新单元,用于当实体之间关系数据发生变化时,根据新的实体之间关系数据对节点之间的关系进行更新,并为所述关系赋予新的动态属性;[0038]节点关系删除单元,用于当实体之间关系数据失效时,根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性;[0039]实体数据查询单元,用于当接收到查询请求时,获取待查询的目标实体数据,根据所述目标实体数据在所述图数据库中进行查询,获取目标实体的历史关系状态和实时关系状态。
[0040]本发明实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于图数据库的社区关系实时构建方法。
[0041]本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于图数据库的社区关系实时构建方法。
[0042]本发明实施例提供了一种基于图数据库的社区关系实时构建方法、装置、计算机设备及存储介质,其中,方法包括:采集社区的实体数据以及实体之间关系数据,通过数据管道将所述实体数据以及实体之间关系数据导入图数据库中,并根据所述实体数据创建图数据库的节点;根据所述实体之间关系数据对节点之间的关系进行创建,并为所述关系赋予动态属性;所述关系包括同类关系和异类关系;所述动态属性包括:关系生效时间和关系结束时间;当实体之间关系数据发生变化时,根据新的实体之间关系数据对节点之间的关系进行更新,并为所述关系赋予新的动态属性;当实体之间关系数据失效时,根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性;当接收到查询请求时,获取待查询的目标实体数据,根据所述目标实体数据在所述图数据库中进行查询,获取目标实体的历史关系状态和实时关系状态。本发明实施例通过将实体数据以及实体之间关系数据存储至图数据库中,实现海量数据的存储,且可实现快速访问,面对海量复杂的数据可扩展性强,实体数据及实体之间关系数据的时效性高。附图说明
[0043]为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0044]图1为本发明实施例所提供的一种基于图数据库的社区关系实时构建方法的流程示意图;
[0045]图2为本发明实施例所提供的一种基于图数据库的社区关系实时构建方法的创建关系拓扑图;
6
CN 111966870 A[0046]
说 明 书
4/11页
图3为本发明实施例所提供的一种基于图数据库的社区关系实时构建方法的更新
关系拓扑图;
[0047]图4为本发明实施例所提供的一种基于图数据库的社区关系实时构建方法的删除关系拓扑图;
[0048]图5为本发明实施例所提供的一种基于图数据库的社区关系实时构建方法的创建新关系拓扑图;
[0049]图6为本发明实施例所提供的一种基于图数据库的社区关系实时构建装置的示意性框图。
具体实施方式
[0050]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0051]应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。[0052]还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。[0053]请参阅图1,图1为本发明实施例提供的一种基于图数据库的社区关系实时构建方法的流程示意图,该方法可以包括步骤S101~S105:[0054]S101、采集社区的实体数据以及实体之间关系数据,通过数据管道将所述实体数据以及实体之间关系数据导入图数据库中,并根据所述实体数据创建图数据库的节点;[0055]在本步骤中,采集社区中实体的实体数据,根据所述实体数据创建图数据库的节点。后续步骤中可将节点与节点之间进行连接形成节点之间的边,从而完成图数据库的构建。
[0056]所述实体数据作为图数据库中的节点导入图数据库,每一个节点表示一个不同的实体。所述图数据库是一种NoSQL数据库,它应用图形理论描述实体之间的关系信息,数据以节点和边的形式存储,每个节点表示一个实体,每条边为实体与实体之间的“关系”,由此构建关系网络图。
[0057]在一实施例中,所述步骤S101包括:
[0058]采集社区的实体数据以及实体之间关系数据,并存储至关系型数据库;[0059]构建数据管道,将关系型数据库中存储的实体数据以及实体之间关系数据导入所述图数据库;
[0060]根据所述实体数据创建图数据库的节点,并基于预先定义的配置信息为所述节点赋予相应的类型和属性。[0061]在本实施例中,在采集所述实体数据和实体之间关系数据完毕后,通常将这些数据存储至关系型数据库中,以方便随时调用;在构建图数据库时,需要将实体数据导入作为节点,通过构建好的数据管道将这些数据输送到图数据库中。由于所采集的实体数据存在
7
CN 111966870 A
说 明 书
5/11页
多样性,因此需要预先进行定义,给这些节点赋予相应的类型(可称为节点类型)及属性(可称为节点属性)。[0062]具体的,可通过建立数据模型,定义图数据库中顶点(即节点)类型及属性,使得图数据库中人、动产、不动产、组织等实体数据的存储、查询可以按照用户预定义的模型配置信息运行,极大地简化了图数据库的创建与应用,从而提高了图数据库应用的易用性和通用性。模型配置信息以yaml格式存储(yaml是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言)。基于配置文件,可构建数据管道,将数据由关系型数据库导入图数据库,创建图数据库中的节点。[0063]S102、根据所述实体之间关系数据对节点之间的关系进行创建,并为所述关系赋予动态属性;所述关系包括同类关系和异类关系;所述动态属性包括:关系生效时间和关系结束时间;
[00]前述步骤中,依据所述实体数据创建所述节点,本步骤中,依据所述实体之间关系数据创建所述节点之间的关系。本实施例中,节点间的关系存在时效性,例如节点之间关系为租赁关系,则这种关系具有生效期限,因此在对节点之间的关系进行关联之后需要对所述关系赋予动态属性,所述动态属性包括:通用唯一识别码(即ID编码)、关系生效时间、关系结束时间以及关系类型,所述关系类型可分为同类关系和异类关系。[0065]当然,两个节点之间可以只存在一种关系,两个节点之间也可以同时存在多种关系,例如一个节点A和另一个节点B之间存在租赁关系,同时还存在亲戚关系。这些关系可以是有向的,也可以是无向的。在构建图数据库时,需要根据节点之间的所有关系进行关联,以获得更加全面的数据。
[0066]本步骤中主要围绕着人、动产、不动产、组织等实体构建相应的关联组件(用于进行关系关联的组件),根据关系类型分为同类关系和异类关系。其中,同类关系关联组件包括:人际关系组件、组织关系组件、不动产关系组件、动产关系组件。异类关系关联组件包括:人-动产关系组件、人-不动产关系组件、人-组织关系组件、组织-动产关系组件、组织-不动产关系组件、动产-不动产关系组件。[0067]具体的,人际关系组件可操作范围包括:父子(女)、母子(女)、夫妻、兄(姐)妹(弟)等法律认可的亲属关系;访客-住户等短期非商业关系;家政服务人员(保姆、保洁、维修安装)、中介-雇主等短期商业活动关系;承租人-出租人等中长期商业活动关系。[0068]具体的,人-不动产关系关联组件可操作范围包括:人-房之间的拥有、居住、租赁、短期拜访、服务等关系;人-车位之间的购买、租赁、短期使用等关系。[0069]具体的,人-动产关系关联组件可操作范围包括:临时使用权、拥有产权等关系。[0070]在一具体实施例中,所述根据所述实体之间关系数据对节点之间的关系进行创建,并为所述关系赋予动态属性,包括:[0071]根据所述实体之间关系数据,从候选池中选出待操作的批量的节点对,创建所述节点对的关系;
[0072]根据所述实体之间关系数据,为所述节点对的关系赋予动态属性。[0073]在本实施例中,所述候选池中存储有图数据库中的所有节点,首先根据实体之间关系数据从所述候选池中挑选出有关系的节点对,本步骤可以进行批量挑选,挑选的方式
8
CN 111966870 A
说 明 书
6/11页
可以是根据时间段进行批量挑选,也可以是根据关系类型进行批量挑选。然后为挑选出的节点对创建节点对的关系。当节点对从候选池中挑选出来后,应对候选池中的节点对进行标记,表示该节点对已被挑选,下一次无需继续重复挑选。然后根据所述实体之间关系数据为节点对的关系赋予动态属性。[0074]S103、当实体之间关系数据发生变化时,根据新的实体之间关系数据对节点之间的关系进行更新,并为所述关系赋予新的动态属性;[0075]在本步骤中,所述实体之间关系数据不是固定不变的,因此需要及时对实体之间关系数据进行更新,以此对图数据库中的节点之间的关系进行更新,并赋予新的动态属性。[0076]例如两个节点分别代表房东和租客,则所述节点对的关系为租赁关系,那么所述节点对关系的动态属性包括租赁生效时间和租赁结束时间。若租客的租赁时限已经达到租赁结束时间,则这种关系将会解除,租客与房东这两个节点之间不存在别的关系,那么这一节点对之间也不存在关系。此时需要对两个节点之间的关系进行更新,并赋予节点之间的关系新的动态属性。[0077]在一实施例中,所述步骤S103包括:[0078]当实体之间关系数据发生变化时,从候选池中选出待操作的节点对;[0079]判断所述节点对在所述图数据库中是否存在关系;[0080]若存在关系,则根据新的实体之间关系数据对所述节点对的关系进行更新,并为所述关系赋予新的动态属性;[0081]若不存在关系,则创建所述节点对的关系,并为所述节点对的关系赋予动态属性。[0082]在本实施例中,所述节点对的关系随着所述实体之间关系数据变化而变化,在所述实体之间关系数据发生变化时,将对应的节点对放入到候选池中,以便后续对其关系进行更新;在候选池中选择待操作的节点对,并判断节点对之间是否存在关系,若存在关系,则对节点对的关系进行更新,并赋予新的动态属性,若不存在关系,则为所述节点对创建一个关系,并赋予动态属性。[0083]具体的,从候选池中选出进行待操作的节点对。若所选节点对之间原先没有关联关系,即需要创建关系,则在图数据库中创建节点之间的关系。其中,创建关系操作中关系结束时间的默认值为None。若所选节点对之间原先存在联系,则需要对关系进行更新,赋予新的动态属性。
[0084]在一具体实施例中,所述根据新的实体之间关系数据对节点之间的关系进行更新,并为所述关系赋予新的动态属性包括:
[0085]将所述节点对的上一条关系的关系结束时间设置为当前时间;[0086]为所述节点对创建新的关系,并根据新的实体之间关系数据将新的关系的节点生效时间设置为当前时间,并对新的关系的其他动态属性进行设置。[0087]在本实施例中,所述节点对之间存在新的关系,则对节点对的关系进行更新,节点对新的关系的关系生效时间即为节点对上一条关系的关系结束时间。[0088]例如:房东A将房屋C租赁给租客B居住,此时节点对分别为房东A与租客B,所述节点对的关系为租赁关系,在租客B租赁过程中,对居住的房屋C感到十分满意,因此在租赁合同到期后续约,此时房东A与租客B之间的上一个租赁关系结束,这个关系结束时间即为租赁合同到期时间。房东A与租客B之间新的关系依据新的租赁合同进行创建。
9
CN 111966870 A[00]
说 明 书
7/11页
具体的,将上一条关系Ek(n-1)的关系结束时间设置为tn,创建新的关系Ekn,设定新
的关系Ekn的关系生效时间为tn,新的关系的关系结束时间为默认值None。特别的,本实施例中,两个节点之间的所有关系以有序队列的形式存储。[0090]当然,由于每一条关系都具有动态属性,在上一条关系结束时,新的关系可能还没有创建,此时上一条关系的关系结束时间就无法等同于新关系的关系生效时间。具体的,将上一条关系Ek(n-1)的关系结束时间设置为tn,在一段时间后创建新的关系Ekn,此时新的关系Ekn的关系生效时间不为tn。举例来说:在上一条关系中,所述节点对的两个节点分别表示房东A与租客B,此时节点对所代表的关系为租赁关系,当租客B的租赁合约到期后,租客B因没有找到新的房屋搬离,在租赁合约到期一天后,租客B重新与房东A签订新的租赁合约,此时房东A与租客B之间的新关系的关系生效时间与房东A与租客B上一条关系的关系结束时间不为同一时间。[0091]相应的,在上一条关系结束之前,新的关系可能已经提前建立,此时上一条关系的关系结束时间也无法等同于新关系的关系生效时间。具体的,将上一条关系Ek(n-1)的关系结束时间设置为tn,在关系Ek(n-1)的关系结束时间之前创建新的关系Ekn,此时新的关系Ekn的关系生效时间不为tn。举例来说:在上一条关系中,所述节点对的两个节点分别表示房东A与租客B,此时节点对所代表的关系为租赁关系,租客B在发现租赁合约即将到期后,与房东A进行协商,在合约到期之前与房东A重新签订了租赁合约,此时房东A与租客B之间的新关系的关系生效时间与房东A与租客B上一条关系的关系结束时间不为同一时间。[0092]通过对节点对之间关系的更新,使所述图数据库更具有时效性,更好的反应了实体之间的关系变化。[0093]S104、当实体之间关系数据失效时,根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性;[0094]在本步骤中,所述节点对的关系随着所述实体之间关系数据的失效而发生变化,将对应的节点对之间的关系进行删除,并将当前时间作为所述节点对的关系结束时间。[0095]也就是说,本步骤中关系的删除操作并不是直接将图数据库中的关系进行删除,而是通过更新关系Ekn的有效时间来实现,以保证本实施例中关系的时效特性。[0096]在一实施例中,所述步骤S104包括:[0097]当实体之间关系数据失效时,从候选池中选出待操作的节点对;[0098]根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性。
[0099]在本实施例中,在候选池中找出关系失效的节点对,并将该节点对的关系结束时间设为当前时间。[0100]例如,所述节点对对应的实体分别表示房东和租客,在上一条关系中,租客租赁了房东的A号房,房东与租客之间的关系为租赁关系,由于租赁时间到期,租赁关系结束,租客在租赁到期之前提前找到了更加满意的B号房,没有跟房东续签租赁合约,此时房东与租客之间没有产生新的关系,因此,将上一条关系中的关系结束时间设置为当前时间。这种关系生效时间和关系结束时间均由具体时间表示的,即代表着这条关系已经失效。[0101]S105、当接收到查询请求时,获取待查询的目标实体数据,根据所述目标实体数据在所述图数据库中进行查询,获取目标实体的历史关系状态和实时关系状态。
10
CN 111966870 A[0102]
说 明 书
8/11页
在本步骤中,当需要进行查询时,根据需要查询的目标实体数据,在所述图数据库
中进行查询,这种查询方式更加高效。查询范围可以是目标实体的实时关系状态或特定时间段的历史关系状态。所述历史关系状态和实时关系状态是通过关系的起止时间戳(时间戳是最基本的时间序列数据,用于把数值与时点关联在一起)进行判定的,因此查询功能更加定制化。
[0103]本步骤中,所述目标实体数据可以是一个目标实体的数据,也可以是两个目标实体的数据,或者多个目标实体的数据。当目标实体数据是一个目标实体的数据时,则在所述图数据库中查询目标实体的所有历史关系状态和所有实时关系状态,即其他实体与目标实体之间的所有关系。
[0104]当所述目标实体数据是两个目标实体的数据或者多个目标实体的数据时,则在所述图数据库中查询这两个目标实体之间的所有历史关系状态和所有实时关系状态,或者多个目标实体两两之间的所有历史关系状态和所有实时关系状态。[0105]本步骤基于图论及分析算法进行查询,所述分析算法包括广度优先搜索算法、深度优先搜索算法、K步连通子图、拓扑排序算法、关键路径算法、最短路径算法中的至少其一。
[0106]在一实施例中,所述步骤S105包括:[0107]当接收到查询请求时,获取待查询的目标实体数据;
[0108]根据所述目标实体数据在所述图数据库中查询与目标实体有关系的关联实体;[0109]在所述图数据库中查询所述目标实体与关联实体之间的关系;[0110]若所述关系中包含多条关系,则将当前关系作为实时关系状态返回,并将当前关系之前的所有关系作为历史关系状态返回。[0111]在本实施例中,在进行查询时,当所述目标实体在图数据库中存在与之有关系的关联实体时,即可在所述图数据库中找出目标实体与关联实体之间的关系,并将当前关系作为实时关系状态返回,若目标实体与关联实体之间存在历史关系,则将当前关系之前的所有关系作为历史关系状态返回。[0112]具体的,依据查询请求的要求,实时关系状态可以通过筛选出与所述目标实体的关系结束时间为None的实体之间关系数据进行获取。历史关系状态的查询通过查询时间戳与实体之间关系数据的终止时间进行对比,选择符合筛选条件的特定时间段的实体之间关系数据。
[0113]所述目标实体在图数据库中的关联实体可能有1个,例如:A和B都是在同一房屋C中的租客,A和B之间的关系为室友关系,A在居住一段时间后因觉得房屋C符合自己购房要求,并将房屋C购买,A仍然和B一起居住在房屋C中,此时A和B之间的关系就转变为了租赁关系,此时租赁关系作为A和B之间的当前关系,室友关系作为A和B的历史关系。[0114]所述目标实体在图数据库中的关联实体可能有多个,则查询所有与所述目标实体具有关系的关联实体,并将这些关联实体与目标实体之间的当前关系一一返回。例如:目标实体为房屋A,与之有关系的关联实体有房东B、租客C,此时房东B与房屋A之间为拥有关系,租客C与房屋A为居住关系,租客C在一段时间后搬离,租客D在租客C搬离后入住了房屋A,租客D与房屋A为居住关系。此时返回的结果为房东B与房屋A之间为拥有关系、租客D与房屋A为居住关系,这些都是房屋A的当前关系,租客C与房屋A为居住关系则为房屋A的历史关系。
11
CN 111966870 A[0115]
说 明 书
9/11页
具体的,如图2所示,业主张三拥有两套房屋:3单元1101和3单元1201。张三与妻子
李四和儿子小张一同居住在3单元1101。由于3单元1201闲置,业主张三将闲置房屋3单元1201租赁给王五,双方在2019年2月1日签订了租赁合同。在租赁合同生效后,通过本发明所述方法进行实时关系创建。查询涉及本业务的节点对(张三和王五)及相关的人物关系拓扑,创建节点对(张三和王五)的人物关系,并定义关系类型、关系生效时间和关系结束时间等属性。具体的,设定人物关系为单向关系:租赁关系;关系生效时间为2019年2月1日;关系结束时间为None。
[0116]在租赁合同生效当日,王五即入住3单元1201,王五与房屋即建立单向关系:居住关系。该关系的关系生效时间即设定为2019年2月1日,关系结束时间为None。[0117]如图3所示,在租赁合同生效期间,王五从2019年10月1日起不在所租赁的房屋内居住。依据此事务,更新最近的人房关系的动态属性。王五从2019年11月11日后再次返回租赁的房屋内居住。依据此事务,再创建新的人房关系。该关系的关系生效时间为2019年11月11日,关系结束时间为None。[0118]如图4所示,在当前租赁合同结束后(结束时间为2020年2月1日),业主张三与租客王五没有续签租赁合同。依据此事务,删除业主张三与王五的租赁关系。具体的,将张三与王五的租赁关系结束时间设定为2020年2月1日。[0119]如图5所示,业主张三与新的租户赵六于2020年2月1日签订了租赁合约。针对此业务,创建新的节点对关系。新的节点对关系的关系生效时间为2020年2月1日,关系结束时间为None。
[0120]请参阅图6,图6为本发明实施例提供的一种基于图数据库的社区关系实时构建装置的示意性框图。该基于图数据库的社区关系实时构建装置200包括:[0121]实体数据采集单元201,用于采集社区的实体数据以及实体之间关系数据,通过数据管道将所述实体数据以及实体之间关系数据导入图数据库中,并根据所述实体数据创建图数据库的节点;
[0122]节点关系创建单元202,用于根据所述实体之间关系数据对节点之间的关系进行创建,并为所述关系赋予动态属性;所述关系包括同类关系和异类关系;所述动态属性包括:关系生效时间和关系结束时间;[0123]节点关系更新单元203,用于当实体之间关系数据发生变化时,根据新的实体之间关系数据对节点之间的关系进行更新,并为所述关系赋予新的动态属性;[0124]节点关系删除单元204,用于当实体之间关系数据失效时,根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性;[0125]实体数据查询单元205,用于当接收到查询请求时,获取待查询的目标实体数据,根据所述目标实体数据在所述图数据库中进行查询,获取目标实体的历史关系状态和实时关系状态。
[0126]在一实施例中,所述实体数据采集单元201包括:[0127]采集存储单元,用于采集社区的实体数据以及实体之间关系数据,并存储至关系型数据库;
[0128]数据管道构建单元,用于构建数据管道,将关系型数据库中存储的实体数据以及实体之间关系数据导入所述图数据库;
12
CN 111966870 A[0129]
说 明 书
10/11页
节点创建单元,用于根据所述实体数据创建图数据库的节点,并基于预先定义的
配置信息为所述节点赋予相应的类型和属性。[0130]在一实施例中,所述节点关系关联单元202包括:[0131]关系创建单元,用于根据所述实体之间关系数据,从候选池中选出待操作的批量的节点对,创建所述节点对的关系;[0132]动态属性赋予第一单元,用于根据所述实体之间关系数据,为所述节点对的关系赋予动态属性。
[0133]在一实施例中,所述节点关系更新单元203包括:[0134]第一节点对选取单元,用于当实体之间关系数据发生变化时,从候选池中选出待操作的节点对;
[0135]关系判断单元,用于判断所述节点对在所述图数据库中是否存在关系;[0136]动态属性更新单元,用于若存在关系,则根据新的实体之间关系数据对所述节点对的关系进行更新,并为所述关系赋予新的动态属性;[0137]动态属性赋予第二单元,用于若不存在关系,则创建所述节点对的关系,并为所述节点对的关系赋予动态属性。[0138]在一实施例中,所述动态属性更新单元包括:[0139]第一当前时间设置单元,用于将所述节点对的上一条关系的关系结束时间设置为当前时间;
[0140]节点对关系创建单元,用于为所述节点对创建新的关系,并根据新的实体之间关系数据将新的关系的节点生效时间设置为当前时间,并对新的关系的其他动态属性进行设置。
[0141]在一实施例中,所述节点关系删除单元204,包括:[0142]第二节点对选取单元,用于当实体之间关系数据失效时,从候选池中选出待操作的节点对;
[0143]失效关系删除单元,用于根据当前实体之间关系数据对节点之间的关系进行删除,并更新失效关系的动态属性。[0144]在一实施例中,所述实体数据查询单元205,包括:[0145]查询请求获取单元,用于当接收到查询请求时,获取待查询的目标实体数据;[0146]第一查询单元,用于根据所述目标实体数据在所述图数据库中查询与目标实体有关系的关联实体;
[0147]第二查询单元,用于在所述图数据库中查询所述目标实体与关联实体之间的关系;
[0148]查询返回单元,用于若所述关系中包含多条关系,则将当前关系作为实时关系状态返回,并将当前关系之前的所有关系作为历史关系状态返回。[0149]本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于图数据库的社区关系实时构建方法。
[0150]本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于图数据库的社区关系
13
CN 111966870 A
说 明 书
11/11页
实时构建方法。
[0151]说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
[0152]还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
14
CN 111966870 A
说 明 书 附 图
1/4页
图1
15
CN 111966870 A
说 明 书 附 图
2/4页
图2
图3
16
CN 111966870 A
说 明 书 附 图
3/4页
图4
图5
17
CN 111966870 A
说 明 书 附 图
4/4页
图6
18
因篇幅问题不能全部显示,请点此查看更多更全内容