一种基于图数据库的动态建模方法与流程

文档序号:12963767阅读:496来源:国知局
一种基于图数据库的动态建模方法与流程

本发明涉及大数据处理技术领域,特别涉及一种基于图数据库的动态建模方法。



背景技术:

图数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。所有的数据以节点(point)和边(edge)形式存储,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。通俗地讲,图数据库存储了由若干个节点和边组成的关系网络图。相比于关系型数据库而言,图数据库由于储存形式简单,能够将大量结构化数据储存在灵活的网络结构之下,实现数据的大量存储和灵活查询等功能,是当前大数据时代下最常用的数据系统。

但在实际应用中,图数据库需要与应用系统结合才能发挥自身价值。不同的业务应用场景,数据的存储和呈现千差万别。根据顶点和边的类型、属性不同,在创建图数据库时需要在图数据库建库脚本中定制化编写;根据不同的实体和关系,需要不同的图数据库查询语句耦合在应用系统中,造成应用系统高耦合,开发效率低下。

并且图数据库存储的格式是顶点和边,对应着现实世界中的实体和关系,其中图数据库中的关系存储复杂多样,当在具体业务系统中需要查询相关实体的具体关系时,一般需要在库脚本中,输入标准、冗长的专业查询语句从复杂的关系网中进行一层层的解剖式查询与获取,不仅对用户的专业知识要求高,而且查询语句繁杂,进一步降低了图数据库在不同业务场景下的开发应用效率。



技术实现要素:

本发明的目的在于克服现有技术中所存在的上述不足,提供一种方便用户对图数据库数据存储和查询的动态建模方法。该方法通过数据模型的建立,定义了图数据库中顶点类型及属性、边的类型及属性、相关查询语句,使得图数据库中数据的存储,以及对应的数据查询可以直接按照用户预定义的模型配置信息进行,极大地简化了图数据库的创建与应用程序,从而提高了图数据库应用的易用性和通用性,并实现对图数据库中业务和系统的分离,降低了图数据库与应用系统的耦合度,进一步提高动态图数据库的开发应用效率。

为了实现上述发明目的,本发明提供了以下技术方案:

一种基于图数据库的动态建模方法,其主要步骤包括:

s100:根据用户设定的模型配置信息,生成图数据库初始化信息;并依据所述图数据库初始化信息,生成空白的图数据图结构;

s200:根据用户设定的模型配置信息,生成源数据筛选信息;并依据所述源数据筛选信息,对源数据进行筛选;

s300:将经步骤s200中筛选出的源数据导入步骤s100中所述空白的图数据图结构中,形成图数据库。

其中,所述步骤s100主要包含如下步骤:

s110:用户通过模型配置界面,设定模型配置信息;其中,所述模型配置信息包括图数据库中顶点对应的实体模型配置信息,以及图数据库中边对应的关系模型配置信息;所述模型配置信息的设定,又具体包括:s111:实体模型配置信息设定,具体包括对实体模型的类型和属性信息进行配置设定;s112:关系模型配置信息设定,具体包括对关系模型的类型、属性,以及关系所关联实体信息进行配置设定;

s120:将s110步骤中用户设定的模型配置信息,通过数据传递保存到配置数据库中;

s130:图数据库交互层从所述配置数据库中读取模型配置信息,生成图数据库初始化信息;

s140:图数据库交互层依据图数据库初始化信息,创建相应的顶点和边,从而生成空白的图数据库图结构。

其中:该步骤中所述的模型配置界面、配置数据库以及图数据库交互层,即组成本发明动态建模方法中的动态建模系统。本发明中所述的空白图数据库图结构,类比关系型数据库中的表结构,具体指是依据用户设定的模型配置信息生成的空白的顶点和边,用于储存与各顶点和边中的模型信息相适配的源数据,从而形成图数据。

所述步骤s200具体包括如下步骤:

s210:数据采集系统从配置数据库中获取用户设定的模型配置信息,生成源数据筛选信息;

s220:数据采集系统根据源数据筛选信息,从外部源数据中筛选出符合模型配置信息的源数据。

所述步骤s300具体包括如下步骤:

s310:数据采集系统将筛选出的源数据,转换为图数据库存储格式;

s320:数据采集系统将转换储存格式后的源数据,对照模型配置信息分别导入空白图数据库图结构中对应存储位置,形成图数据库。

依据上述动态建模方法,用户只需要在模型配置界面,根据业务系统需求,针对性对图数据中边和顶点对应的关系模型和实体模型信息进行配置设定,并依据用户设定的模型配置信息完成图数据库的创建和源数据的筛选及储存,极大简化了图数据创建程序,提高了图数据库的易用性。

进一步优化的,所述步骤s110中模型配置信息的设定,还包括如下步骤:

s113:事件模型配置信息设定,将关系模型中代表实体行为事件的关系作为独立模型进行配置设定,所述事件模型配置信息具体包括事件模型类型、属性,以及事件归属实体信息。

由于在图数据库的实际应用中,往往不仅仅关注实体与实体之间的关系,而且关注实体产生的事件(即实体做了什么)和不同实体通过事件建立的关系(两人乘车是独立的事件,但两人乘坐了同一班次的车就建立了关联同行的关系),所以,在本发明所述的一种基于图数据库的动态建模方法中,将表示实体行为的“事件”关系抽象为并列与“实体”和“关系”的独立模型类型进行配置设定,并保存在配置数据库中,使图数据更加接近实际应用场景,有利于图数据库在下层不同业务系统中的进一步开发和利用。

基于同一发明构思,本发明还提供一种基于图数据库的动态查询建模方法,所述动态查询建模方法主要由以下步骤组成:

s400:利用上述基于图数据库动态建模的方法生成的图数据库作为查询建模对象,并在同一配置数据库中进行查询函数建模;

s410:查询函数建模:分别对实体模型查询语句、事件模型查询语句和关系模型查询语句进行函数建模定义,保存到所述配置数据库中;

s420:查询函数的调取:数据应用系统从所述配置数据库中获取相应模型的查询函数,所述查询函数可直接用于与图数据库的交互查询;

s430:数据应用系统利用查询函数从图数据库中获取相应数据信息。

将依据本发明中所述动态建模方法创建的图数据库作为查询函数动态建模对象,分别对图数据库中用户设定的实体模型、事件模型和关系模型查询函数进行建模定义,并预先保存在所述配置数据库中,便于下层图数据库的应用系统直接从配置数据库调取相应模型的查询函数,应用到图数据库的交互查询中。

与现有技术相比,本发明的有益效果:

1.在本方法发明中,通过建立适用于图数据库的动态建模系统(即,模型配置界面+配置数据库+图数据库交互层),在该动态建模系统的中转作用下,用户只需在模型配置界面上设定相应的模型配置信息,即可完成图数据库的创建,并直接引用配置数据库中预存的相应查询语句即可实现对图数据库中的相应信息进行针对性查询,极大简化了图数据库的创建程序和查询步骤,降低了相关操作的技术难度,提高了图数据库的易用性;

2.依据本发明提供的基于图数据库的建模方法,在不同业务背景需求下,用户只需通过在模型配置界面灵活性选取不同的实体/事件/关系模型进行配置设定,并在图数据交互层的中转作用,实现对图数据库的快速创建,进一步扩展了图数据的适用领域;

3.在本发明方法中通过在动态建模系统的配置数据库中将表示实体行为的“事件”关系抽象为并列与“实体”和“关系”的独立模型类型,并为各类“事件”设立相应的查询语句,从而使图数据库的应用更加符合业务使用场景,提高了图数据库的通用性;

4.本发明方法通过在配置数据库中对实体/事件/关系/查询函数模型信息设定,使图数据库上游(采集,存储)按照模型配置信息存储到图数据库中,图数据库下游(查询,应用)按照查询函数模型查询数据。上下游都不需要过多关注与图数据库的交互,降低耦合度,实现了业务和系统的相互分离,进一步提高了图数据库的开发应用效率。

附图说明:

图1为本发明所述基于图数据库的动态建模方法步骤;

图2为本发明所述动态建模系统与外部系统交互示意图;

图3为依据实施例1中模型配置信息创建的空白图数据库图结构示意图;

具体实施方式

下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。

实施例1

依据本发明所述的一种基于图数据库的动态建模方法,其中步骤s100中空白图数据库模板的形成,通过如下步骤完成:

s110:用户在web模型配置界面,设定如表格1所示的实体/事件/关系模型类型及属性配置信息;

表格1实体/事件/关系模型表

s120:上述实体/事件/关系模型类型及属性配置信息,通过数据传递保存到mysql配置数据库中;

s130:图数据库交互层从mysql配置数据库中获取上述实体/事件/关系模型类型及属性配置信息,生成图数据库初始化信息;

s140:图数据库交互层将图数据库初始化信息,传送到javagremlin标准接口(如表格2所示)并激发图数据库标准gremlin创建程序,操作图数据库创建相应的顶点和边,生成空白的图数据库图结构(如图3所示)。

表格2标准javagremlin接口

步骤s200中所述的源数据采集和筛选,具体通过如下步骤完成:

s210:数据采集系统从mysql配置数据库中获取表格1中的模型配置信息,生成源数据筛选信息;

s220:数据采集系统按照表格1中的模型配置信息从源数据库中筛选出符合模型配置信息的源数据。

步骤s300具体包括如下步骤:

s310:数据采集系统将筛选出的源数据,转换为图数据库存储格式;

s320:数据采集系统将转换储存格式后的源数据,对照实体/事件/关系模型配置信息分别导入空白图数据库图结构中对应存储位置,形成图数据库。

实施例2

基于同一发明构思和同一动态建模系统,本发明还提供一种基于图数据库的动态查询建模方法,所述动态查询建模方法主要由以下步骤组成:

s400:选用s320步骤中形成的图数据库为查询建模对象;

s410:分别对实体模型查询语句、事件模型查询语句和关系模型查询语句进行函数建模定义,保存到mysql配置数据库中。该函数建模定义需要依赖于实体/事件/关系动态建模所建立的模型,实体/事件/关系建模中的类型和属性是函数建模定义语句中的参数和变量。示例如表3所示,实体(人)建模中的类型person,属性(card_id,name,age)都是实体查询函数语句定义中的组成部分;

表格3查询函数建模与实体建模的关系

s420:数据应用系统从mysql配置数据库中获取查询函数;

s430:数据应用系统利用查询函数从图数据库中获取实体/事件/关系等信息。以表格4为例,数据应用系统从mysql配置数据库中调用queryentityride函数接口,可以用于与图数据库java程序接口相连接,从而获取与某实体在某个时间范围内有同行关系的实体信息。

表格4函数模型表

实施例3

下面,我们具体以公安情报研判系统业务背景为例,将本发明所述的基于图数据的动态建模方法和基于图数据库的动态查询建模方法结合应用情况介绍如下:

公安情报研判系统需要收集情报数据,并通过可视化的方式进行数据分析和情报研判,为案情侦破提供有效的支撑。该公安情报研判系统的主要业务流程:数据采集——>数据存储——>数据研判/分析/查询。

1.数据采集:公安情报需要采集人员信息库,网吧身份证登记记录,公共交通(民航,火车等)出行记录,酒店住宿登记信息,实名通话记录等信息。动态建模过程中按照需要采集的数据建立实体/事件/关系模型配置信息,如表格5所示;数据采集的过程就是按照该模型配置信息采集数据存储到图数据库的过程。

2.数据研判/分析/查询:公安用户需要基于图数据库中的数据进行情报研判分析,分析人员之间直接或者间接的关联关系。比如王某和李某是否最近一月是否同行,张某和高某是否在同一网吧上过网。利用建模过程中设定的函数模型配置信息,数据研判/分析/查询直接利用该函数从图数据库中查询结果,为分析嫌犯之间的关联关系提供依据,如表格6所示。表格5公安刑侦研判系统实体/事件/关系模型

表格6公安刑侦研判系统查询函数模型

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1