一种数据处理方法及装置

文档序号:7580 发布日期:2021-09-17 浏览:29次 英文

一种数据处理方法及装置

技术领域

本申请涉及图谱

技术领域

,更具体地说,涉及一种数据处理方法及装置。

背景技术

关系型数据库是指采用了关系模型来组织数据的数据库,关系型数据库 以行和列的形式存储数据,关系型数据库这一系列的行和列被称为表,一组 表组成了数据库。

现有技术中,对关系型数据库的多层关联的项目数据进行关联查询时需 要做表连接,而表连接涉及到大量的输入/输出(Input/Output,IO)操作及内 存消耗,从而降低执行关联查询的处理速度。

因此,现有的关系型数据库查询项目关联数据的效率低。

发明内容

有鉴于此,本申请公开了一种数据处理方法及装置,旨在提高查询项目 关联数据的效率。

为了实现上述目的,其公开的技术方案如下:

本申请第一方面公开了一种数据处理方法,所述方法包括:

获取数据查询请求,所述数据查询请求用于查询项目关联数据;

基于所述数据查询请求查询图数据库,得到查询结果并反馈;所述图数 据库包括节点和关系边,所述节点表示项目信息,所述关系边表示不同项目 之间的关联数据。

优选的,在所述获取数据查询请求之前,还包括:

构建图数据库;

构建所述图数据库的过程包括:

获取项目关联数据,所述项目关联数据基于各个项目之间的关联关系得 到;

基于预设加载服务对所述项目关联数据进行加载,并将加载后的项目关 联数据存储至所述图数据库,完成所述图数据库的构建。

优选的,获取项目关联数据包括:

从关系型数据库中获取各个项目的项目描述信息,所述项目描述信息至 少包括项目属性和项目类型;

基于所述项目属性和所述项目类型,确定存在关联关系的项目数据;

将所述存在关联关系的项目数据确定为项目关联数据。

优选的,所述基于所述数据查询请求查询图数据库,得到查询结果并反 馈,包括:

提取所述数据查询请求中携带的待查询项目属性信息;

基于图查询语言,从图数据库中读取所述待查询项目属性信息所对应的 项目关联数据并反馈。

优选的,当所述项目关联数据处于在线状态时,所述基于预设加载服务 对所述项目关联数据进行加载,并将加载后的项目关联数据存储至所述图数 据库,包括:

基于图数据服务,对处于在线状态的项目关联数据进行加载;

将加载后的处于在线状态的项目关联数据存储至所述图数据库。

优选的,当所述项目关联数据处于离线状态时,所述基于预设加载服务 对所述项目关联数据进行加载,并将加载后的项目关联数据存储至所述图数 据库,包括:

基于预设消息服务,对处于离线状态的项目关联数据进行加载,得到预 设格式的项目关联数据;

将所述预设格式的项目关联数据存储至所述图数据库。

优选的,还包括:

通过预设访问服务,对所述图数据库中加载后的项目关联数据进行访问。

本申请第二方面公开了一种数据处理装置,所述装置包括:

获取单元,用于获取数据查询请求,所述数据查询请求用于查询项目关 联数据;

查询单元,用于基于所述数据查询请求查询图数据库,得到查询结果并 反馈,所述图数据库包括节点和关系边,所述节点表示项目信息,所述关系 边表示不同项目之间的关联数据。

优选的,还包括:构建单元;

所述构建单元,用于构建图数据库;

所述构建单元,包括:

获取模块,用于获取项目关联数据,所述项目关联数据基于各个项目之 间的关联关系得到;

加载模块,用于基于预设加载服务对所述项目关联数据进行加载,并将 加载后的项目关联数据存储至所述图数据库,完成所述图数据库的构建。

优选的,所述获取模块,包括:

获取子模块,用于从关系型数据库中获取各个项目的项目描述信息,所 述项目描述信息至少包括项目属性和项目类型;

第一确定子模块,用于基于所述项目属性和所述项目类型,确定存在关 联关系的项目数据;

第二确定子模块,用于将所述存在关联关系的项目数据确定为项目关联 数据。

经由上述技术方案可知,获取数据查询请求,数据查询请求用于查询项 目关联数据,基于数据查询请求查询图数据库,得到查询结果并反馈,图数 据库包括节点和关系边,节点表示项目信息,关系边表示不同项目之间的关 联数据。通过上述方案,在获取数据查询请求查询图数据库,得到项目关联 数据时,无需通过涉及大量IO操作和内存消耗的表连接方式来获取,只需通 过数据查询请求查询图数据库中数据查询请求对应的项目关联数据,由于图 数据库可以高效的查询项目关联数据,防止查询项目关联数据时引发其他非相关的数据的读取,从而提高了查询项目关联数据的效率。此外,图数据库 提供可视化的图显示界面,使得项目关联数据展示更直观。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不 付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例公开的一种数据处理系统的架构图;

图2为本申请实施例公开的一种数据处理方法的流程示意图;

图3为本申请实施例公开的获取项目关联数据的过程的流程示意图;

图4为本申请实施例公开的基于数据查询请求查询图数据库,得到查询结 果并反馈的流程示意图;

图5为本申请实施例公开的一种基于预设加载服务对项目关联数据进行 加载并存储至图数据库中的过程的流程示意图;

图6为本申请实施例公开的另一种基于预设加载服务对项目关联数据进 行加载并存储至图数据库中的过程的流程示意图;

图7为本申请实施例公开的一种数据处理装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而 不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性 的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那 些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、 方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括 一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设 备中还存在另外的相同要素。

由背景技术可知,现有的关系型数据库查询项目关联数据的效率低。

为了解决该问题,本申请实施例公开了一种数据处理方法及装置,在获 取数据查询请求查询图数据库,得到项目关联数据时,无需通过涉及大量IO 操作和内存消耗的表连接方式来获取,只需通过数据查询请求查询图数据库 中数据查询请求对应的项目关联数据,由于图数据库可以高效的查询项目关 联数据,防止查询项目关联数据时引发其他非相关的数据的读取,从而提高 了查询项目关联数据的效率。此外,图数据库提供可视化的图显示界面,使 得项目关联数据展示更直观。

具体实现方式通过下述实施例进行说明。

本申请公开的数据处理方法可适用于如图1所示的数据处理系统中,参见 图1示出的数据处理系统的架构图,该数据处理系统包括查询计算模块11、操 作运维模块12、数据加载模块13和图数据库核心模块14,图数据库核心模块 14包括图存储单元15、图处理单元16、HA服务单元17、元数据服务单元18和 任务调度单元19。

数据处理系统对项目关联数据的处理过程如下:

图处理单元16获取项目关联数据,项目关联数据基于各个项目之间的关 联关系得到。

数据加载模块13基于预设加载服务对项目关联数据进行加载。

图存储单元15将加载后的项目关联数据存储至图数据库,完成图数据库 的构建。

图处理单元16从关系型数据库中获取各个项目的项目描述信息,项目描 述信息至少包括项目属性和项目类型。

图处理单元16基于项目属性和项目类型,确定存在关联关系的项目数据, 并将处于关联关系的项目数据确定为项目关联数据。

若项目关联数据处于在线状态,则数据加载模块13基于图数据服务,对 处于在线状态的项目关联数据进行批量加载/信息加载流加载。

若项目关联数据处于离线状态,则数据加载模块13基于预设消息服务, 对处于离线状态的项目关联数据进行加载,得到预设格式的项目关联数据。

图存储单元15将预设格式的项目关联数据存储至图数据库。

数据加载模块13通过预设访问服务,对图数据库中加载后的项目关联数 据进行访问。

图存储单元15将加载后的项目关联数据存储至图数据库中。

查询计算模块11提取数据查询请求中携带的待查询项目属性信息,基于 图查询语言,从图数据库中读取待查询项目属性信息所对应的项目关联数据 并反馈。

操作运维模块12实时监控业务系统的状态、系统配置、安装信息、升级 信息、运行信息、可视化界面等。

HA服务单元17负责处理处理数据容错、数据一致性以及服务不间断等功 能。

元数据服务单元18用于对描述数据集的内容、质量、表示方式、空间参 考、管理方式以及数据集的其他特征,并对外提供元数据服务。

图存储子模块将项目关联数据及其他非结构化数据(csv、xml、json等格 式的数据)存储至图数据库中。

任务调度单元19根据事件的先后以及任务的优先级安排任务的执行。

本申请实施例中,在获取数据查询请求查询图数据库,得到项目关联数 据时,无需通过涉及大量IO操作和内存消耗的表连接方式来获取,只需通过 数据查询请求查询图数据库中数据查询请求对应的项目关联数据,由于图数 据库可以高效的查询项目关联数据,防止查询项目关联数据时引发其他非相 关的数据的读取,从而提高了查询项目关联数据的效率。此外,图数据库提 供可视化的图显示界面,使得项目关联数据展示更直观。

参考图2所示,为本申请实施例公开的一种数据处理方法的流程示意图, 该数据处理方法应用于上述实施例图1的数据处理系统,该数据处理方法主要 包括如下步骤:

S201:构建图数据库,图数据库包括节点和关系边,节点表示项目信息, 关系边表示不同项目之间的关联数据。

图数据库使用图的方式来表达现实世界的关系很直接、自然,易于建模; 可以高效的插入大量数据,能胜任亿级以上的数据;可以高效的查询关联数 据,对关联查询都进行针对性的优化,比如存储模型上、数据结构、查询算 法等,防止局部数据的查询引发全部数据的读取;提供了针对图检索的查询 语言,方便了关联分析业务的持续开发;提供了专业的分析算法、工具,还 提供了数据批量导入工具,提供了可视化的图显示界面,使得数据的分析结 果更加直观展示出来。

具体构建图数据库的过程如下:

首先,获取项目关联数据,项目关联数据基于各个项目之间的关联关系 得到,然后,基于预设加载服务对项目关联数据进行加载,并将加载后的项 目关联数据存储至图数据库,完成图数据库的构建。

获取项目关联数据的过程如下:

首先,从关系型数据库中获取各个项目的项目描述信息,项目描述信息 至少包括项目属性和项目类型,然后,基于项目属性和项目类型,确定存在 关联关系的项目数据,最后,将处于关联关系的项目数据确定为项目关联数 据。

其中,关系型数据库可以是oracle数据库、mysql数据库等。

项目描述信息包括项目属性、项目类型、项目ID等等。

若项目对应的项目属性和项目类型与另一项目对应的项目属性和项目类 型一致,则确定项目与另一项目之间存在关联关系。

为了方便理解各个项目之间的关联关系,这里举例进行说明:

例如,A项目和B项目,A项目中的项目属性包括创建人系统管理员,A 项目的项目类型包括政府投资项目,B项目中的项目属性包括创建人系统管 理员,B项目的项目类型包括政府投资项目,则确定A项目与B项目之间存 在关联关系。

预设加载服务可以是图数据服务、kafka消息服务等。本申请对预设加载 服务不做具体限定。

基于预设加载服务对项目关联数据进行加载,并将加载后的项目关联数 据存储至图数据库的过程如下:

当项目关联数据处于在线状态时,基于图数据服务,对处于在线状态的 项目关联数据进行加载,并将加载后的处于在线状态的项目关联数据存储至 图数据库。

当项目关联数据处于离线状态时,基于kafka消息服务,对处于离线状态 的项目关联数据进行加载,得到预设格式的项目关联数据,将预设格式的项 目关联数据存储至图数据库。

预设格式的项目关联数据可以是csv格式的项目关联数据、json格式的项 目关联数据,预设格式的项目关联数据即为非结构化数据。

由于不同类型的项目描述数据存储于关系型数据库,不同类型的项目中 的项目描述信息之间没有太多关联和组织,因此将关系型数据库中不同类型 的项目中的项目描述信息抽存储至图数据库中,使得将不同类型的项目的关 联关系组织起来,便于对项目关联数据进行查询。

通过预设访问服务,对图数据库中加载后的项目关联数据进行访问。

预设访问服务可以是REST访问服务等。

S201为S202至S203的预处理过程。

S202:获取数据查询请求,数据查询请求用于查询项目关联数据。

在S202中,当接收到的客户端发送的数据查询请求时,基于数据查询请 求查询图数据库中的项目关联数据。

S203:基于数据查询请求查询图数据库,得到查询结果并反馈;图数据 库包括节点和关系边,节点表示项目信息,关系边表示不同项目之间的关联 数据。

基于数据查询请求查询图数据库,得到查询结果并反馈的具体过程如下:

首先,提取数据查询请求中携带的待查询项目属性信息,然后,基于图 查询语言,从图数据库中读取待查询项目属性信息所对应的项目关联数据并 反馈。

查询结果,即待查询项目属性信息所对应的项目关联数据,并以数字网 状动态图谱的方式进行展示。

查询结果的格式可以是json、xml等格式。

图数据库提供可视化的图显示界面,即查询结果以可视化的图显示界面 进行展示,从而使得项目关联数据更加直观展示出来。

图查询语言可以是Cypher查询语言、Gremlin查询语言、SPARQL查询 语言等,具体图查询语言的确定由技术人员根据实际情况进行设置,本申请 不做具体限定。

本方案提高了项目关联数据查询的效率,实现了不同类型项目之间的关 联,以及由项目引发的档案、周边项目、历史项目等各类信息关联,并以数 字网状动态图谱的方式进行自动关联和展现,实现项目图谱全关联。

本申请实施例中,在查询项目关联数据时,无需通过涉及大量IO操作和 内存消耗的表连接方式来获取,只需将加载后的项目关联数据存储至图数据 库,由于图数据库可以高效的查询项目关联数据,防止查询项目关联数据时 引发其他非相关的数据的读取,从而提高了查询项目关联数据的效率。此外, 图数据库提供可视化的图显示界面,使得项目关联数据展示更直观。

参考图3所示,为上述S201中涉及到获取项目关联数据的过程,主要包括 如下步骤:

S301:从关系型数据库中获取各个项目之间的项目描述信息,项目描述 信息至少包括项目属性和项目类型。

S302:基于项目属性和项目类型,确定存在关联关系的项目数据。

S303:将存在关联关系的项目数据确定为项目关联数据。

S301-S303的执行原理与上述S201的执行原理一致,可参考,此处不再进 行赘述。

本申请实施例中,从关系型数据库中获取各个项目之间的项目描述信息, 基于项目描述信息,基于项目属性和项目类型,确定存在关联关系的项目数 据,将存在关联关系的项目数据确定为项目关联数据,实现得到不同类型项 目之间的项目关联数据的目的。

参考图4所示,为上述S203中涉及到基于数据查询请求查询图数据库,得 到查询结果并反馈的过程,主要包括如下步骤:

S401:提取数据查询请求中携带的待查询项目属性信息。

S402:基于图查询语言,从图数据库中读取待查询项目属性信息所对应 的项目关联数据并反馈。

S401-S402的执行原理与上述S203的执行原理一致,可参考,此处不再进 行赘述。

本申请实施例中,通过提取数据查询请求中携带的待查询项目属性信息, 基于图查询语言,实现从图数据库中读取待查询项目属性信息所对应的项目 关联数据并反馈的目的。

参考图5所示,为上述S201中涉及到当项目关联数据处于在线状态时,基 于预设加载服务对项目关联数据进行加载,并将加载后的项目关联数据存储 至图数据库中的过程,主要包括如下步骤:

S501:基于图数据服务,对处于在线状态的项目关联数据进行加载。

S502:将加载后的处于在线状态的项目关联数据存储至图数据库。

S501-S502的执行原理与上述S201的执行原理一致,可参考,此处不再进 行赘述。

本申请实施例中,调用图数据服务,对处于在线状态的项目关联数据进 行加载,将加载后的处于在线状态的项目关联数据存储至图数据库,便于对 图数据库中的项目关联数据进行查询,提高查询项目关联数据的效率。

参考图6所示,为上述S201中涉及到当项目关联数据处于离线状态时,基 于预设加载服务对项目关联数据进行加载,并将加载后的项目关联数据存储 至图数据库中的过程,主要包括如下步骤:

S601:基于预设消息服务,对处于离线状态的项目关联数据进行加载, 得到预设格式的项目关联数据。

S602:将预设格式的项目关联数据存储至图数据库。

S601-S602的执行过程和执行原理与上述S202的执行原理一致,可参考, 此处不再进行赘述。

本申请实施例中,通过调用图数据服务,对处于在线状态的项目关联数 据进行加载,将加载后的处于在线状态的项目关联数据存储至图数据库,便 于对图数据库中的项目关联数据进行查询,提高查询项目关联数据的效率。

基于上述实施例图2公开的一种数据处理方法,本申请实施例还对应公开 了一种数据处理装置,如图7所示,该数据处理装置主要包括获取单元701和 查询单元702。

获取单元701,用于获取项目关联数据,项目关联数据基于各个项目之间 的关联关系得到。

查询单元702,用于基于数据查询请求查询图数据库,得到查询结果并反 馈;图数据库包括节点和关系边,节点表示项目信息,关系边表示不同项目 之间的关联数据。

进一步的,还包括构建单元。

构建单元,用于构建图数据库。

构建单元,包括:获取模块和加载模块。

获取模块,用于获取项目关联数据,项目关联数据基于各个项目之间的 关联关系得到。

加载模块,用于基于预设加载服务对项目关联数据进行加载,并将加载 后的项目关联数据存储至图数据库,完成图数据库的构建。

进一步的,获取模块包括获取子模块、第一确定子模块和第二确定子模 块。

获取子模块,用于从关系型数据库中获取各个项目的项目描述信息,项 目描述信息至少包括项目属性和项目类型。

第一确定子模块,用于基于项目属性和项目类型,确定存在关联关系的 项目数据。

第二确定子模块,用于将存在关联关系的项目数据确定为项目关联数据。

进一步的,查询单元702包括提取模块和读取模块。

提取模块,用于提取数据查询请求中携带的待查询项目属性信息。

读取模块,用于基于图查询语言,从图数据库中读取待查询项目属性信 息所对应的项目关联数据并反馈。

进一步的,当项目关联数据处于在线状态时,加载模块包括第一加载子 模块和第一存储模块。

第一加载子模块,用于基于图数据服务,对处于在线状态的项目关联数 据进行加载。

第一存储模块,用于将加载后的处于在线状态的项目关联数据存储至图 数据库。

进一步的,当项目关联数据处于离线状态时,加载模块包括第二加载子 模块和第二存储模块。

第二加载子模块,用于基于预设消息服务,对处于离线状态的项目关联 数据进行加载,得到预设格式的项目关联数据。

第二存储模块,用于将预设格式的项目关联数据存储至图数据库。

进一步的,还包括访问单元。

访问单元,用于通过预设访问服务,对图数据库中加载后的项目关联数 据进行访问。

本申请实施例中,在查询项目关联数据时,无需通过涉及大量IO操作和 内存消耗的表连接方式来获取,只需将加载后的项目关联数据存储至图数据 库,由于图数据库可以高效的查询项目关联数据,防止查询项目关联数据时 引发其他非相关的数据的读取,从而提高了查询项目关联数据的效率。此外, 图数据库提供可视化的图显示界面,使得项目关联数据展示更直观。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动 作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的 限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次, 本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例, 所涉及的动作和模块并不一定是本申请所必须的。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个 实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似 的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相 似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和 删减。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语 仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求 或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申 请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文 中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实 施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要 符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润 饰,这些改进和润饰也应视为本申请的保护范围。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:群组查询方法、装置、电子设备及可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!