[发明专利]一种实体关系的存储方法及设备在审
申请号: | 201811591633.9 | 申请日: | 2018-12-20 |
公开(公告)号: | CN109359116A | 公开(公告)日: | 2019-02-19 |
发明(设计)人: | 翁安栋;邱涛;陈成乐 | 申请(专利权)人: | 厦门商集网络科技有限责任公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/28 |
代理公司: | 福州科扬专利事务所 35001 | 代理人: | 何小星 |
地址: | 361101 福建省厦*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储 二级索引 关系属性 实体关系 实体信息 条件查询 创建 检索 数据库 关系存储单元 实体存储单元 存储关系 存储实体 实体属性 关联 挖掘 | ||
本发明涉及一种实体关系的存储方法,包括以下步骤:创建实体存储单元,存储实体及实体信息;基于实体信息,创建用于通过条件查询实体的实体二级索引数据库;创建关系存储单元,存储关系、关系两端的实体以及关系属性清单;基于关系属性清单,创建用于通过条件查询关系的关系二级索引数据库;本发明能持大量的实体与关系的存储,并能支持方便的检索,如按照实体名称、实体属性、关系名称等进行检索,方便挖掘关联的实体。
技术领域
本发明涉及一种实体关系的存储方法及设备,属于数据库技术领域。
背景技术
实体关系是一种普遍的存在,通常的如企业与其客户之间的关系、公司主要人员与企业的关系,关系对于如金融风控等场景是相当有用的数据。现有情况下这种实体关系的存储主要基于普通的关系型数据库方式:如将企业A、企业B、企业A与企业B间的关系存储成一条记录,形成一个三元组。实体间有多个关系,那么就存储多条记录。然而这样会导致在查询、管理和维护时,需要做一个复杂的查询才能将比如企业A的一层关系和二层关系查询出来。
随着大数据技术如火如荼的发展和应用,更大的一个关系图亟待建立并发现实体间的有用的关联关系,随着数据量增长,一旦发生涉及高并发访问或添加、删除和修改等关系链操作,不仅关系链操作的效率很低,而且很难确保数据一致性。
发明内容
为了解决上述现有技术中存在的问题,本发明提供一种存储关系的存储方法,以支持大量的实体与关系的存储,并能支持方便的检索,如按照实体名称、实体属性、关系名称等进行检索,方便挖掘关联的实体。
本发明的技术方案如下:
技术方案一
一种实体关系的存储方法,包括以下步骤:
创建实体存储单元,存储实体及实体信息;
基于实体信息,创建用于通过条件查询实体的实体二级索引数据库;
创建关系存储单元,存储关系、关系两端的实体以及关系属性清单;
基于关系属性清单,创建用于通过条件查询关系的关系二级索引数据库。
进一步的,所述创建关系存储单元,采用双向链表的方式创建,具体步骤如下:
发起新增关系请求,判断新增的关系两端的实体是否已经存在于实体存储单元中;
若新增的关系两端的实体至少有一个不存在于实体存储单元中,则新建实体,存储当前不存在的实体以及实体信息;新建实体完毕,进入新建关系步骤;
若新增的关系两端的实体均存在实体存储单元中,则直接进入新建关系步骤;
新建关系,写入关系两端的实体以及关系属性清单,定义关系两端为双向链表中的结点,并分别存储两实体的前序指针和后续指针;若当前关系两端的任一实体已存在于关系存储单元中,则将该实体的前序指针指向前一实体的前序指针,并将前一实体的后序指针指向当前实体的后序指针;若当前关系两端的任一实体不存在于关系存储单元中,则将该实体的前序指针和后序指针均指向空;
将所述关系属性清单写入独立的数据库,形成所述关系二级索引数据库。
进一步的,所述创建实体存储,采用key-value分布式存储的方法进行创建;所述实体信息包括实体的状态位、实体的第一个关系和实体属性清单;
其中所述实体的状态位,用于标记实体的状态;
其中所述实体的第一个关系,为实体第一个产生的关系;
其中所述实体属性清单,包括表示实体属性的字段;将所述实体属性清单写入独立的数据库,形成所述实体二级索引数据库。
技术方案二
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门商集网络科技有限责任公司,未经厦门商集网络科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811591633.9/2.html,转载请声明来源钻瓜专利网。