CN111538863B - 数据的展示方法及装置、系统、存储介质、电子装置 - Google Patents
数据的展示方法及装置、系统、存储介质、电子装置 Download PDFInfo
- Publication number
- CN111538863B CN111538863B CN202010197435.5A CN202010197435A CN111538863B CN 111538863 B CN111538863 B CN 111538863B CN 202010197435 A CN202010197435 A CN 202010197435A CN 111538863 B CN111538863 B CN 111538863B
- Authority
- CN
- China
- Prior art keywords
- node
- path
- result
- historical data
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9038—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据的展示方法及装置、系统、存储介质、电子装置,其中,该方法应用于历史数据之间的关联展示,包括:输入需要查询的两个历史数据节点,通过搜索,将所述两个历史数据节点之间的关联节点用路径连接展现。通过本发明,解决了相关技术在图数据库中搜索关系路径速度慢的技术问题,提高了关系路径的搜索效率和展示速度,提高了系统吞吐量。
Description
技术领域
本发明涉及大数据领域,具体而言,涉及一种数据的展示方法及装置、系统、存储介质、电子装置。
背景技术
相关技术中,随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,亟需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。
相关技术中,采用开源的图数据库,例如HugeGraph,Neo4J等存在着性能没有办法满足线上实时性需要,这是由于Java,C#,python等语音在开发系统级别的服务的时候,由于效率低,无法很好的处理复杂的用户查询需求和同时处理多个用户的查询需求,而且,现有的图数据库一般采用广域度搜索,导致搜索速度慢,效率低。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种数据的展示方法及装置、系统、存储介质、电子装置。
根据本发明的一个实施例,提供了一种数据的展示方法,应用于历史数据之间的关联展示,包括:输入需要查询的两个历史数据节点,通过搜索,将所述两个历史数据节点之间的关联节点用路径连接展现。
可选的,输入需要查询的两个历史数据节点,通过搜索,将所述两个历史数据节点之间的关联节点用路径连接展现,包括:在客户端上输入需要查询的关系路径的起始节点和终止节点,其中,所述两个历史数据节点包括所述起始节点和所述终止节点;以所述起始节点和所述终止节点作为起点在图数据库中并行迭代搜索结果路径,其中,所述结果路径包括两条搜索路径的相交点;在所述客户端上展示所述结果路径上的历史数据,其中,所述结果路径的两端分别为所述起始节点和所述终止节点。
可选的,以所述起始节点和所述终止节点作为起点在图数据库中并行迭代搜索结果路径包括:以所述起始节点和所述终止节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合和与所述终止节点对应的第二关联子图集合;基于所述第一关联子图集合和所述第二关联子图集合按照迭代顺序分别生成第一路径和第二路径;若所述第一路径和所述第二路径存在重复节点,拼接所述第一路径和所述第二路径,以生成所述结果路径。
可选的,拼接所述第一路径和所述第二路径,以生成所述结果路径,包括:在第N轮并行迭代结束后,拼接所述第一路径和所述第二路径,得到第一结果路径集合,其中,2N大于或等于最大迭代步长;判断所述第一结果路径集合与第二结果路径集合是否存在重复路径,其中,所述第二结果路径集合为第N-1轮并行迭代结束后生成的路径;若存在重复路径,在所述第一结果路径集合中过滤所述重复路径后合并所述第二结果路径集合,得到所述结果路径;若不存在重复路径,合并所述第一结果路径集合和所述第二结果路径集合,得到所述结果路径。
可选的,若所述结果路径包括多条路径,在所述客户端上展示所述结果路径上的历史数据包括以下之一:按照路径长度在所述客户端上展示多条结果路径上的历史数据;在所述客户端上展示节点属性均相同的结果路径上的历史数据;在所述客户端上展示包括指定节点关系的结果路径上的历史数据。
可选的,在所述客户端上展示包括指定节点关系的结果路径上的历史数据包括以下至少之一:在所述客户端上展示包括人物社会关系的结果路径上的历史数据;在所述客户端上展示包括事件因果关系的结果路径上的历史数据。
可选的,若所述结果路径包括多条路径,在所述客户端上展示所述结果路径上的历史数据包括以下之一:在所述客户端上通过星空图展示所述结果路径上的历史数据,其中,每一个星云对应所述结果路径的一个节点,星云的每一个星体对应展示该节点的一个历史数据;在所述客户端上通过花瓣图展示所述结果路径上的历史数据,其中, 每一片花瓣对应节点的一个节点关系,每一片花瓣对应展示该节点关系的关联节点的历史数据。
可选的,所述方法还包括:确定所述关系路径的中间节点;以所述起始节点、所述终止节点、所述中间节点作为起点并行迭代搜索,生成结果路径,其中,所述结果路径包括三条搜索路径的重复节点。
可选的,以所述起始节点、所述终止节点、所述中间节点作为起点并行迭代搜索,生成结果路径,包括:以所述起始节点、所述终止节点、所述中间节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合、与所述终止节点对应的第二关联子图集合、与所述中间节点对应的第三关联子图集合;基于所述第一关联子图集合、所述第二关联子图集合、所述第三关联子图集合按照迭代顺序分别生成第一路径、第二路径和第三路径;若所述第一路径与所述第三路径存在第一重复节点、且所述第二路径与所述第三路径存在第二重复节点,拼接所述第一路径、所述第二路径和所述第三路径,以生成所述结果路径。
可选的,在所述客户端上展示所述结果路径上的历史数据之后,所述方法还包括:检测针对关系节点或关系连线的操作指令,其中,所述结果路径包括多个关系节点和至少一条关系连线;在所述客户端端上展示所述关系节点或所述关系连线上的历史数据。
根据本发明的另一个实施例,提供了一种数据的展示装置,包括:应用于历史数据之间的关联展示,所述装置用于:输入需要查询的两个历史数据节点,通过搜索,将所述两个历史数据节点之间的关联节点用路径连接展现
可选的,所述装置包括:第一确定模块,用于在客户端上输入需要查询的关系路径的起始节点和终止节点,其中,所述两个历史数据节点包括所述起始节点和所述终止节点;第一搜索模块,用于以所述起始节点和所述终止节点作为起点在图数据库中并行迭代搜索结果路径,其中,所述结果路径包括两条搜索路径的相交点;第一展示模块,用于在所述客户端上展示所述结果路径上的历史数据,其中,所述结果路径的两端分别为所述起始节点和所述终止节点。
可选的,所述第一搜索模块包括:搜索单元,用于以所述起始节点和所述终止节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合和与所述终止节点对应的第二关联子图集合;生成单元,用于基于所述第一关联子图集合和所述第二关联子图集合按照迭代顺序分别生成第一路径和第二路径;拼接单元,用于若所述第一路径和所述第二路径存在重复节点,拼接所述第一路径和所述第二路径,以生成所述结果路径。
可选的,所述拼接单元包括:拼接子单元,用于在第N轮并行迭代结束后,拼接所述第一路径和所述第二路径,得到第一结果路径集合,其中,2N大于或等于最大迭代步长;判断子单元,用于判断所述第一结果路径集合与第二结果路径集合是否存在重复路径,其中,所述第二结果路径集合为第N-1轮并行迭代结束后生成的路径;合并子单元,用于若存在重复路径,在所述第一结果路径集合中过滤所述重复路径后合并所述第二结果路径集合,得到所述结果路径;若不存在重复路径,合并所述第一结果路径集合和所述第二结果路径集合,得到所述结果路径。
可选的,若所述结果路径包括多条路径,所述第一展示模块包括以下之一:第一展示单元,用于按照路径长度在所述客户端上展示多条结果路径上的历史数据;第二展示单元,用于在所述客户端上展示节点属性均相同的结果路径上的历史数据;第三展示单元,用于在所述客户端上展示包括指定节点关系的结果路径上的历史数据。
可选的,所述第三展示单元包括以下至少之一:第一展示子单元,用于在所述客户端上展示包括人物社会关系的结果路径上的历史数据;第二展示子单元,用于在所述客户端上展示包括事件因果关系的结果路径上的历史数据。
可选的,若所述结果路径包括多条路径,所述第一展示模块包括以下之一:第四展示单元,用于在所述客户端上通过星空图展示所述结果路径上的历史数据,其中,每一个星云对应所述结果路径的一个节点,星云的每一个星体对应展示该节点的一个历史数据;第五展示单元,用于在所述客户端上通过花瓣图展示所述结果路径上的历史数据,其中, 每一片花瓣对应节点的一个节点关系,每一片花瓣对应展示该节点关系的关联节点的历史数据。
可选的,所述装置还包括:第二确定模块,用于确定所述关系路径的中间节点;第二搜索模块,用于以所述起始节点、所述终止节点、所述中间节点作为起点并行迭代搜索,生成结果路径,其中,所述结果路径包括三条搜索路径的重复节点。
可选的,所述第二搜索模块包括:搜索单元,用于以所述起始节点、所述终止节点、所述中间节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合、与所述终止节点对应的第二关联子图集合、与所述中间节点对应的第三关联子图集合;生成单元,用于基于所述第一关联子图集合、所述第二关联子图集合、所述第三关联子图集合按照迭代顺序分别生成第一路径、第二路径和第三路径;拼接单元,用于若所述第一路径与所述第三路径存在第一重复节点、且所述第二路径与所述第三路径存在第二重复节点,拼接所述第一路径、所述第二路径和所述第三路径,以生成所述结果路径。
可选的,所述装置还包括:检测模块,用于在所述第一展示模块在所述客户端上展示所述结果路径上的历史数据之后,检测针对关系节点或关系连线的操作指令,其中,所述结果路径包括多个关系节点和至少一条关系连线;第二展示模块,用于在所述客户端端上展示所述关系节点或所述关系连线上的历史数据。
根据本发明的另一个实施例,提供了一种数据的展示系统,包括:包括客户端和服务端,其中,所述客户端,与所述服务端连接,用于输入需要查询的两个历史数据节点,通过搜索,将所述两个历史数据节点之间的关联节点用路径连接展现;所述服务端,用于响应所述客户端的搜索请求,在图数据库中以所述两个历史数据作为起点并行迭代搜索所述两个历史数据节点之间的关联节点,并反馈给所述客户端,其中,所述搜索请求携带所述两个历史数据节点。
可选的,所述客户端包括:第一确定模块,用于在客户端上输入需要查询的关系路径的起始节点和终止节点,其中,所述两个历史数据节点包括所述起始节点和所述终止节点;第一搜索模块,用于以所述起始节点和所述终止节点作为起点在图数据库中并行迭代搜索结果路径,其中,所述结果路径包括两条搜索路径的相交点;第一展示模块,用于在所述客户端上展示所述结果路径上的历史数据,其中,所述结果路径的两端分别为所述起始节点和所述终止节点。
可选的,所述第一搜索模块包括:搜索单元,用于以所述起始节点和所述终止节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合和与所述终止节点对应的第二关联子图集合;生成单元,用于基于所述第一关联子图集合和所述第二关联子图集合按照迭代顺序分别生成第一路径和第二路径;拼接单元,用于若所述第一路径和所述第二路径存在重复节点,拼接所述第一路径和所述第二路径,以生成所述结果路径。
可选的,所述拼接单元包括:拼接子单元,用于在第N轮并行迭代结束后,拼接所述第一路径和所述第二路径,得到第一结果路径集合,其中,2N大于或等于最大迭代步长;判断子单元,用于判断所述第一结果路径集合与第二结果路径集合是否存在重复路径,其中,所述第二结果路径集合为第N-1轮并行迭代结束后生成的路径;合并子单元,用于若存在重复路径,在所述第一结果路径集合中过滤所述重复路径后合并所述第二结果路径集合,得到所述结果路径;若不存在重复路径,合并所述第一结果路径集合和所述第二结果路径集合,得到所述结果路径。
可选的,若所述结果路径包括多条路径,所述第一展示模块包括以下之一:第一展示单元,用于按照路径长度在所述客户端上展示多条结果路径上的历史数据;第二展示单元,用于在所述客户端上展示节点属性均相同的结果路径上的历史数据;第三展示单元,用于在所述客户端上展示包括指定节点关系的结果路径上的历史数据。
可选的,所述第三展示单元包括以下至少之一:第一展示子单元,用于在所述客户端上展示包括人物社会关系的结果路径上的历史数据;第二展示子单元,用于在所述客户端上展示包括事件因果关系的结果路径上的历史数据。
可选的,若所述结果路径包括多条路径,所述第一展示模块包括以下之一:第四展示单元,用于在所述客户端上通过星空图展示所述结果路径上的历史数据,其中,每一个星云对应所述结果路径的一个节点,星云的每一个星体对应展示该节点的一个历史数据;第五展示单元,用于在所述客户端上通过花瓣图展示所述结果路径上的历史数据,其中, 每一片花瓣对应节点的一个节点关系,每一片花瓣对应展示该节点关系的关联节点的历史数据。
可选的,所述客户端还包括:第二确定模块,用于确定所述关系路径的中间节点;第二搜索模块,用于以所述起始节点、所述终止节点、所述中间节点作为起点并行迭代搜索,生成结果路径,其中,所述结果路径包括三条搜索路径的重复节点。
可选的,所述第二搜索模块包括:搜索单元,用于以所述起始节点、所述终止节点、所述中间节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合、与所述终止节点对应的第二关联子图集合、与所述中间节点对应的第三关联子图集合;生成单元,用于基于所述第一关联子图集合、所述第二关联子图集合、所述第三关联子图集合按照迭代顺序分别生成第一路径、第二路径和第三路径;拼接单元,用于若所述第一路径与所述第三路径存在第一重复节点、且所述第二路径与所述第三路径存在第二重复节点,拼接所述第一路径、所述第二路径和所述第三路径,以生成所述结果路径。
可选的,所述客户端还包括:检测模块,用于在所述第一展示模块在所述客户端上展示所述结果路径上的历史数据之后,检测针对关系节点或关系连线的操作指令,其中,所述结果路径包括多个关系节点和至少一条关系连线;第二展示模块,用于在所述客户端端上展示所述关系节点或所述关系连线上的历史数据。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,在客户端上确定关系路径的起始节点和终止节点,然后以起始节点和终止节点作为起点在图数据库中并行迭代搜索结果路径,最后在客户端上展示结果路径上的历史数据,通过以起始节点和终止节点作为起点并行搜索,提高了图数据库的搜索效率,解决了相关技术在图数据库中搜索关系路径速度慢的技术问题,提高了关系路径的搜索效率和展示速度,提高了系统吞吐量。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据的展示手机的硬件结构框图;
图2是根据本发明实施例的一种数据的展示方法的流程图;
图2-1是根据本发明实施例中一个实施方式的流程图;
图3是本发明实施例并行迭代搜索的示意图;
图4是本发明实施例通过星空图展示结果路径的示意图;
图5是本发明实施例通过花瓣图展示结果路径的示意图;
图6是本发明实施例搜索结果路径的示意图;
图7是根据本发明实施例的一种数据的展示装置的结构框图;
图8是根据本发明实施例的一种数据的展示系统的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在手机、平板、计算机或者类似的电子终端中执行。以运行在手机上为例,图1是本发明实施例的一种数据的展示手机的硬件结构框图。如图1所示,手机10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述手机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述手机的结构造成限定。例如,手机10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储手机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种数据的展示方法对应的手机程序,处理器102通过运行存储在存储器104内的手机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至手机10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括手机10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据的展示方法,图2是根据本发明实施例的一种数据的展示方法的流程图,如图2所示,该流程包括:输入需要查询的两个历史数据节点,通过搜索,将两个历史数据节点之间的关联节点用路径连接展现。
在本实施例的一个实施方式中,图2-1是根据本发明实施例中一个实施方式的流程图,如图2-1所示,用于对上述流程进行说明,包括:
步骤S202,在客户端上输入需要查询的关系路径的起始节点和终止节点,其中,两个历史数据节点包括起始节点和终止节点;
本实施例的起始节点和终止节点是待搜索的关系路径中两端的关系点,起始节点和终止节点可以是相同属性的节点,也可以是不同属性的节点,如都是人物,如一个是事件,一个是地名,本实施例中节点属性包括:人物、地点、事件、时间、朝代等。
本实施例可以通过用户输入或者选择来确定起始节点和终止节点。
步骤S204,以起始节点和终止节点作为起点在数据库中并行迭代搜索结果路径,所述数据库优选的是具有图,以及和图相关的文字解释。其中,结果路径包括两条搜索路径的相交点;
本实施例的结果路径由两条搜索路径生成,两条搜索路径分别是以起始节点和终止节点作为起点并行迭代搜索,然后连接相邻节点得到的,起始节点逐步迭代搜索得到一搜索路径集合,同时,终止节点也逐步迭代搜索得到另一搜索路径集合,如果两边任意两条搜索路径相交,即包括重复节点,则可以合并生成结果路径。
步骤S206,在客户端上展示结果路径上的历史数据,其中,结果路径的两端分别为起始节点和终止节点;
通过上述步骤,在客户端上确定关系路径的起始节点和终止节点,然后以起始节点和终止节点作为起点在图数据库中并行迭代搜索结果路径,最后在客户端上展示结果路径上的历史数据,通过以起始节点和终止节点作为起点并行搜索,提高了图数据库的搜索效率,解决了相关技术在图数据库中搜索关系路径速度慢的技术问题,提高了关系路径的搜索效率和展示速度,提高了系统吞吐量。
在本实施例中,历史数据可以是结果路径的节点或节点连线的属性信息、标签信息等,如人物、事件、位置、创造、组织、宗教、学科、人文建筑、地形地貌、归属、组织、社群等介绍内容,用户可以从不同的角度,不同的维度来认识和了解节点间的关联。
在本实施例中,在不同的实施方式中,关系路径的搜索起点可以是两个节点(如起始节点和终止节点),也可以是两个以上的节点。当关系路径的搜索起点是多个节点时,还包括除了起始节点和终止节点之外的至少一个中间节点,方案流程包括:在客户端上输入需要查询的关系路径的起始节点、终止节点和中间节点;以起始节点、终止节点、中间节点作为起点并行迭代搜索,生成结果路径,其中,结果路径包括三条搜索路径的重复节点,在客户端上展示结果路径上的历史数据。
该中间节点可以是在输入起始节点和终止节点时同时输入,还可以是在基于起始节点和终止节点生成第一结果路径后,再输入中间节点,以该中间节点筛选第一结果路径,在多个第一结果路径中筛选出包括中间节点的第二结果路径。
在包括中间节点的实施方式中,以起始节点、终止节点、中间节点作为起点并行迭代搜索,生成结果路径,包括:以起始节点、终止节点、中间节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与起始节点对应的第一关联子图集合、与终止节点对应的第二关联子图集合、与中间节点对应的第三关联子图集合;基于第一关联子图集合、第二关联子图集合、第三关联子图集合按照迭代顺序分别生成第一路径、第二路径和第三路径;若第一路径与第三路径存在第一重复节点、且第二路径与第三路径存在第二重复节点,拼接第一路径、第二路径和第三路径,以生成结果路径,其中,结果路径包括第一重复节点和第二重复节点。
在包括中间节点的实施方式中,在搜索结果路径时,中间节点与起始节点和终止节点相同,也是作为起点进行并行迭代,中间节点的搜索路径与起始节点和终止节点的搜索路径均相交时,合并生成结果路径。下面实施例以两个起点(起始节点和终止节点)为例进行说明,多个起点的实施方式相同或者类似。
本实施例的迭代搜索步骤可以在客户端上实现,当然也可以在运算能力更强的云端服务器实现,客户端或者云端服务器连接图数据库,在图数据库中一步一步迭代搜索相邻节点,直到两条搜索路径相交,其中,检索算法通过C++语言编写。在搜索过程中,存在多条搜索任务(对应多个进程),每条搜索任务以不同的搜索起点进行迭代搜索,本实施例将不同的搜索任务分配给不同的处理器核心,然后同时迭代搜索,从而实现硬件层面的并行搜索,提高了搜索速度。
在本实施例中,以起始节点和终止节点作为起点在图数据库中并行迭代搜索结果路径包括:
S11,以起始节点和终止节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与起始节点对应的第一关联子图集合和与终止节点对应的第二关联子图集合;
S12,基于第一关联子图集合和第二关联子图集合按照迭代顺序分别生成第一路径和第二路径;
将每两个相邻节点之间的路径作为一个关联子图,然后对关联子图进行按序合并,得到第一路或第二路径。
S13,若第一路径和第二路径存在重复节点,拼接第一路径和第二路径,以生成结果路径。
图3是本发明实施例并行迭代搜索的示意图,搜索起点包括起始节点(节点A)和终止节点(节点B),如图3所示,从节点A开始搜索,迭代两步,得到相邻节点:节点A,节点a,节点b,节点c,节点d(其中,节点A与节点a,节点A与节点b,节点a与节点c形成关联子图),从节点B开始搜索,迭代两步,得到相邻节点:节点B,节点e,节点f,节点g,节点d,按照迭代顺序,生成的第一路径包括:路径1(节点A-节点a-节点c),路径2(节点A-节点b -节点d),生成的第二路径包括:路径3(节点B-节点e-节点g),路径4(节点B-节点f-节点d),通过判断,发现第一路径中的路径2与第二路径中的路径4存在重复节点-节点d,因此拼接路径2和路径4,得到结果路径:节点A-节点b -节点d-节点f-节点B。
在本实施例的一个实施方式中,还设置最大迭代步长,由于是同时迭代,因此每一条搜索路径的最大迭代步长为总步长的一半。拼接第一路径和第二路径,以生成结果路径,包括:在第N轮并行迭代结束后,拼接第一路径和第二路径,得到第一结果路径集合,其中,2N大于或等于最大迭代步长(若包括m个中间结果,此处的参数为(m-2)N,m与并行搜索的参数对应);判断第一结果路径集合与第二结果路径集合是否存在重复路径,其中,第二结果路径集合为第N-1轮并行迭代结束后生成的路径;若存在重复路径,在第一结果路径集合中过滤重复路径后合并第二结果路径集合,得到结果路径;若不存在重复路径,合并第一结果路径集合和第二结果路径集合,得到结果路径。
由于在每一次迭代完成后,都有可能产生相交的结果路径,而在迭代完最大迭代步长的情况下,还需要继续迭代,这就必然会产生重复路径,本实施例的方案可以选择在最后一次迭代完成后进行去重,也可以选择在每一次迭代完成后进行去重。从而降低数据的冗余度,避免拼接重复的搜索路径,减少路径拼接的数量。
在本实施例中,若结果路径包括多条路径,可以选择采用多种展示方式,各种展示方式可以多选或单选,同时展示多条结果路径时,在展示界面交织成关系图谱。在客户端上展示结果路径上的历史数据可以但不限于为:
方式一:按照路径长度在所述客户端上展示多条结果路径上的历史数据;如优先展示路径长度最短的结果路径,路径长度越长,优先级越低,展示位置越靠后;
方式二:在客户端上展示节点属性均相同的结果路径上的历史数据;例如,仅展示节点属性均为人物的路径,张三-李四-王五,仅展示节点属性均为事件的路径,事件1-事件2-事件3,等;
方式三:在客户端上展示包括指定节点关系的结果路径上的历史数据。本实施例的节点关系为节点与节点之间的关联关系,如张三认识李四,事件1导致事件2等,李四和王五是亲属关系等。在该实施方式中,方式三包括以下至少之一:在所述客户端上展示包括人物社会关系(如亲属,朋友,君臣,敌人等)的结果路径上的历史数据;在所述客户端上展示包括事件因果关系(如影响,导致,成就等)的结果路径上的历史数据。
本实施例除了通过方向路径(如张三→李四←王五)展示结果路径之外,若结果路径包括多条路径,在客户端上展示结果路径上的历史数据还可以但不限于为:
在客户端上通过星空图展示结果路径上的历史数据,其中,每一个星云对应结果路径的一个节点,星云的每一个星体对应展示该节点的一个历史数据;图4是本发明实施例通过星空图展示结果路径的示意图,以结果路径为张三-李四-王五为例进行说明,星空包括三个星云,分别对应张三-李四-王五,在每一个星云的周边展示给节点的历史数据,历史数据包括亲情相关人物,事业相关内容,爱情相关人物,经历的事件,归属的组织等。
在客户端上通过花瓣图展示结果路径上的历史数据,其中, 每一片花瓣对应节点的一个节点关系,每一片花瓣对应展示该节点关系的关联节点的历史数据。图5是本发明实施例通过花瓣图展示结果路径的示意图,以结果路径为张三-李四-王五为例进行说明,其中张三包括三片花瓣,分别为爱情、友情、亲戚。
在本实施例的一个实施方式中,还可以与结果路径进行交互,在所述客户端上展示所述结果路径上的历史数据之后,还包括:检测针对关系节点或关系连线的操作指令,其中,所述结果路径包括多个关系节点和至少一条关系连线;在所述客户端端上展示所述关系节点或所述关系连线上的历史数据。
在本实施例一个完整的实施流程中,包括如下步骤:
S21,把用户输入的一个或者多个节点放到初始迭代的结果节点中去,并且记录用户期望的最大路径的长度(最大迭代步长);
S22,做并行迭代式查找,每次迭代分别找出和上一轮结果节点的相邻或相交节点的集合;
S23,把本次所有节点和前次迭代所找到的路径拼接起来,然后去重,将去重后的结果进行存储;
S24,如果本次迭代的路径的长度大于用户期望的最大路径长度的一半,那么终止迭代过程,进行路径拼接和去重操作;
S25,并行路径拼接,就是把每次迭代的结果路径拼接起来,如果用户输入多个节点那么每条路径的起点就是用户输入的其中一个节点,终点就是用户输入的另一个节点,如果用户只输入一个节点,那么路径长度必须小于或者等于用户期望的最大路径长度;
S26,并行路径去重,利用极快的算法进行去重等到最后的路径结果,返回给前端作为结果集。
在此通过具体的示例对本实施例的方案进行详细解释和说明,图6是本发明实施例搜索结果路径的示意图,在本示例中,用户输入: 查询节点a到节点b的AB路径(节点a到节点b的关系路径),最大期望步长为8,包括以下执行步骤:
把用户输入的节点a 和 节点b 两个节点加入到初始需要迭代的结果节点里面去;
执行第一次迭代,利用并行算法查找 节点a和节点b的相邻节点,节点a的相邻节点集合是{节点c,节点d},节点b的相邻节点集合是 {节点e,节点s,节点t,节点f,节点g,节点h},找完之后把这八个相邻节点作为结果节点储存到第一次迭代的结果节点里面去,同时并行储存以下两组路径:
(节点a-节点c)(节点a-节点d)
(节点b-节点e)(节点b-节点s)(节点b-节点t)(节点b-节点f)(节点b-节点g)(节点b-节点h)
并行进行结果路径检测,由于这两组路径的头尾两个点没有重合的或者没有同一个点,所以不需要进行结果路径拼接。因为第一次迭代产生的路径没有重复的,所以去重没有效果,因为是并行算法并且从AB两个点并行开始的,所以最大步长至此还剩6步(8步-2步),第一次迭代完成。
执行第二次迭代,把第一次迭代产生的节点集合{节点c,节点d,节点e,节点s,节点t,节点f,节点g,节点h}作为起始节点,并行的检索这些节点的临接点得到相应的节点集合为 {节点i,节点j,节点k,节点l,节点m,节点n}相应的路径为(节点c-节点i)(节点d-节点j)(节点e-节点k)(节点s-节点l)(节点t-节点m)(节点f-节点m)(节点g-节点n)(节点h-节点l)。现在开始拼接路径,由于是从两个方向并行同时前进,所以这次迭代可以得到并存储以下两组路径:
(节点a-节点c-节点i)(节点a-节点d-节点j)
(节点b-节点e-节点k)(节点b-节点s-节点l)(节点b-节点t-节点m)(节点b-节点f-节点m)(节点b-节点g--节点n)(节点b-节点h-节点l)
并行进行结果路径检测,由于这两组路径的头尾两个点没有重合的或者没有同一个点,所以不需要进行结果路径拼接,因为第二次迭代产生的路径没有重复的,所以去重没有效果,因为是并行算法并且从AB两个点并行开始的,所以最大步长至此还剩4步(6步-2步),第二次迭代完成。
执行第三次迭代,把第二次迭代产生的节点集合{节点i,节点j,节点k,节点l,节点m,节点n}作为起始节点,并行的检索这些节点的临接点得到相应的节点集合为{节点o,节点p,节点q,节点l,节点r} 相应的路径为(节点i-节点o)(节点i-节点p)(节点j-节点q)(节点k-节点o)(节点l-节点p)(节点m-节点l)(节点n-节点r),现在开始拼接路径,由于是从两个方向并行同时前进,所以这次迭代可以得到并存储以下两组路径:
(节点a-节点c-节点i-节点o)(节点a-节点c-节点i-节点p)(节点a-节点d-节点j-节点q);
(节点b-节点e-节点k-节点o)(节点b-节点s-节点l-节点p)(节点b-节点t-节点m-节点l)(节点b-节点f-节点m-节点l)(节点b-节点g-节点n-节点r)(节点b-节点h-节点l-节点p);
并行进行结果路径检测,这两组路径中发现了重复或者相邻的点,所以可以提取得到以下结果路径:
(节点a-节点c-节点i-节点o-节点k-节点e-节点b)
(节点a-节点c-节点i-节点p-节点l-节点s-节点b)
(节点a-节点c-节点i-节点p-节点l-节点h-节点b)
因为是并行算法并且从AB两个点并行开始的,所以最大步长至此还剩2步(4步-2步),第三次迭代完成。
执行第四次迭代,把第三次迭代的集合{节点o,节点p,节点q,节点l,节点r}作为起始节点,并行的检索这些节点的临接点得到相应的节点集合为{节点k,节点j,节点l,节点r,节点p,节点q}相应路径为(节点o-节点k)(节点p-节点l)(节点p-节点j)(节点q-节点r)(节点q-节点j)(节点l-节点p)(节点r-节点q),现在开始拼接路径,由于是从两个方向并行同时前进,所以这次迭代可以得到并存储以下两组路径:
(节点a-节点c-节点i-节点o-节点k)(节点a-节点c-节点i-节点p-节点l)(节点a-节点d-节点j-节点q-节点r)
(节点b-节点e-节点k-节点o-节点i)(节点b-节点s-节点l-节点p-节点i)(节点b-节点t-节点m-节点l-节点p)(节点b-节点f-节点m-节点l-节点p)(节点b-节点g-节点n-节点r-节点q)(节点b-节点h-节点l-节点p-节点i)
并行进行结果路径检测,这两组路径中发现了重复或者相邻的点,所以可以提取得到以下结果路径:
(节点a-节点c-节点i-节点o-节点k-节点e-节点b)(节点a-节点c-节点i-节点p-节点l-节点m-节点t-节点b)(节点a-节点c-节点i-节点p-节点l-节点m-节点f-节点b)(节点a-节点d-节点j-节点q-节点r-节点n-节点g-节点b)(节点a-节点c-节点i-节点p-节点l-节点s-节点b)。
并行检测去重,由于这轮迭代的两条结果路径已经在上一轮迭代的结果里面了,所以过滤掉以下结果路径:
(节点a-节点c-节点i-节点o-节点k-节点e-节点b)
(节点a-节点c-节点i-节点p-节点l-节点s-节点b)
于是得到这轮迭代的最后结果路径:
(节点a-节点c-节点i-节点p-节点l-节点m-节点t-节点b)
(节点a-节点c-节点i-节点p-节点l-节点m-节点f-节点b)
(节点a-节点d-节点j-节点q-节点r-节点n-节点g-节点b)
因为是并行算法并且从AB两个点并行开始的,所以最大步长至此还剩0步(2步-2步),第四次迭代完成。
由于剩余步长变为0,所以迭代过程结束,给前端返回以下结果路径集合:
(节点a-节点c-节点i-节点o-节点k-节点e-节点b)
(节点a-节点c-节点i-节点p-节点l-节点s-节点b)
(节点a-节点c-节点i-节点p-节点l-节点h-节点b)
(节点a-节点c-节点i-节点p-节点l-节点m-节点t-节点b)
(节点a-节点c-节点i-节点p-节点l-节点m-节点f-节点b)
(节点a-节点d-节点j-节点q-节点r-节点n-节点g-节点b)。
本实施例采用并行算法来计算若干个节点之间的关联子图,然后对这些子图进行合并,合并的时候对子图的路径进行过滤方法,从而并行的实现了各个子图的裁剪合并,极大的提高了系统吞吐量,然后在前端设计了类似星空图的展现策略来描述节点之间的关系,例如用户可以点击,拖拽若干个节点和边。从而使得用户的下一步查询更精准,更有目的性,这样可以降低后台图数据库系统由于频繁处理和用户查询不相关的数据导致性能的浪费。
本实施例针对上述图数据库的性能缺陷,采用了大规模并行建立实体之间的关系子图的算法,然后采用了过滤和裁剪其中路径的算法,采用先天就有性能优势的C++语言进行编程,最后显示关系图谱,使得用户能聚焦于他们感兴趣的节点和节点之间的关系子图,通过可动态延展的展示方式,优化后续给底层图数据库发送的请求,从而使得展示性能得到进一步提高。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种数据的展示装置、系统,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供了一种数据的展示装置,应用于历史数据之间的关联展示,所述装置用于:输入需要查询的两个历史数据节点,通过搜索,将所述两个历史数据节点之间的关联节点用路径连接展现。
图7是根据本发明实施例的一种数据的展示装置的结构框图,应用在客户端,如图7所示,该装置包括:第一确定模块70,第一搜索模块72,第一展示模块74,其中,
第一确定模块70,用于在客户端上输入需要查询的关系路径的起始节点和终止节点,其中,所述两个历史数据节点包括所述起始节点和所述终止节点;
第一搜索模块72,用于以所述起始节点和所述终止节点作为起点在图数据库中并行迭代搜索结果路径,其中,所述结果路径包括两条搜索路径的相交点;
第一展示模块74,用于在所述客户端上展示所述结果路径上的历史数据,其中,所述结果路径的两端分别为所述起始节点和所述终止节点。
可选的,所述第一搜索模块包括:搜索单元,用于以所述起始节点和所述终止节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合和与所述终止节点对应的第二关联子图集合;生成单元,用于基于所述第一关联子图集合和所述第二关联子图集合按照迭代顺序分别生成第一路径和第二路径;拼接单元,用于若所述第一路径和所述第二路径存在重复节点,拼接所述第一路径和所述第二路径,以生成所述结果路径。
可选的,所述拼接单元包括:拼接子单元,用于在第N轮并行迭代结束后,拼接所述第一路径和所述第二路径,得到第一结果路径集合,其中,2N大于或等于最大迭代步长;判断子单元,用于判断所述第一结果路径集合与第二结果路径集合是否存在重复路径,其中,所述第二结果路径集合为第N-1轮并行迭代结束后生成的路径;合并子单元,用于若存在重复路径,在所述第一结果路径集合中过滤所述重复路径后合并所述第二结果路径集合,得到所述结果路径;若不存在重复路径,合并所述第一结果路径集合和所述第二结果路径集合,得到所述结果路径。
可选的,若所述结果路径包括多条路径,所述第一展示模块包括以下之一:第一展示单元,用于按照路径长度在所述客户端上展示多条结果路径上的历史数据;第二展示单元,用于在所述客户端上展示节点属性均相同的结果路径上的历史数据;第三展示单元,用于在所述客户端上展示包括指定节点关系的结果路径上的历史数据。
可选的,所述第三展示单元包括以下以下至少之一:第一展示子单元,用于在所述客户端上展示包括人物社会关系的结果路径上的历史数据;第二展示子单元,用于在所述客户端上展示包括事件因果关系的结果路径上的历史数据。
可选的,若所述结果路径包括多条路径,所述第一展示模块包括以下之一:第四展示单元,用于在所述客户端上通过星空图展示所述结果路径上的历史数据,其中,每一个星云对应所述结果路径的一个节点,星云的每一个星体对应展示该节点的一个历史数据;第五展示单元,用于在所述客户端上通过花瓣图展示所述结果路径上的历史数据,其中, 每一片花瓣对应节点的一个节点关系,每一片花瓣对应展示该节点关系的关联节点的历史数据。
可选的,所述装置还包括:第二确定模块,用于确定所述关系路径的中间节点;第二搜索模块,用于以所述起始节点、所述终止节点、所述中间节点作为起点并行迭代搜索,生成结果路径,其中,所述结果路径包括三条搜索路径的重复节点。
可选的,所述第二搜索模块包括:搜索单元,用于以所述起始节点、所述终止节点、所述中间节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合、与所述终止节点对应的第二关联子图集合、与所述中间节点对应的第三关联子图集合;生成单元,用于基于所述第一关联子图集合、所述第二关联子图集合、所述第三关联子图集合按照迭代顺序分别生成第一路径、第二路径和第三路径;拼接单元,用于若所述第一路径与所述第三路径存在第一重复节点、且所述第二路径与所述第三路径存在第二重复节点,拼接所述第一路径、所述第二路径和所述第三路径,以生成所述结果路径。
可选的,所述装置还包括:检测模块,用于在所述第一展示模块在所述客户端上展示所述结果路径上的历史数据之后,检测针对关系节点或关系连线的操作指令,其中,所述结果路径包括多个关系节点和至少一条关系连线;第二展示模块,用于在所述客户端端上展示所述关系节点或所述关系连线上的历史数据。所述关联线可以跟进数据节点之间的关系,具有方向。
图8是根据本发明实施例的一种数据的展示系统的结构框图,如图8所示,该系统包括:客户端80,服务端82,所述客户端80,与所述服务端82连接,用于输入需要查询的两个历史数据节点,通过搜索,将所述两个历史数据节点之间的关联节点用路径连接展现;所述服务端82,用于响应所述客户端的搜索请求,在图数据库中以所述两个历史数据作为起点并行迭代搜索所述两个历史数据节点之间的关联节点,并反馈给所述客户端,其中,所述搜索请求携带所述两个历史数据节点。
可选的,所述客户端包括:第一确定模块,用于在客户端上输入需要查询的关系路径的起始节点和终止节点,其中,所述两个历史数据节点包括所述起始节点和所述终止节点;第一搜索模块,用于以所述起始节点和所述终止节点作为起点在图数据库中并行迭代搜索结果路径,其中,所述结果路径包括两条搜索路径的相交点;第一展示模块,用于在所述客户端上展示所述结果路径上的历史数据,其中,所述结果路径的两端分别为所述起始节点和所述终止节点。
可选的,所述第一搜索模块包括:搜索单元,用于以所述起始节点和所述终止节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合和与所述终止节点对应的第二关联子图集合;生成单元,用于基于所述第一关联子图集合和所述第二关联子图集合按照迭代顺序分别生成第一路径和第二路径;拼接单元,用于若所述第一路径和所述第二路径存在重复节点,拼接所述第一路径和所述第二路径,以生成所述结果路径。
可选的,所述拼接单元包括:拼接子单元,用于在第N轮并行迭代结束后,拼接所述第一路径和所述第二路径,得到第一结果路径集合,其中,2N大于或等于最大迭代步长;判断子单元,用于判断所述第一结果路径集合与第二结果路径集合是否存在重复路径,其中,所述第二结果路径集合为第N-1轮并行迭代结束后生成的路径;合并子单元,用于若存在重复路径,在所述第一结果路径集合中过滤所述重复路径后合并所述第二结果路径集合,得到所述结果路径;若不存在重复路径,合并所述第一结果路径集合和所述第二结果路径集合,得到所述结果路径。
可选的,若所述结果路径包括多条路径,所述第一展示模块包括以下之一:第一展示单元,用于按照路径长度在所述客户端上展示多条结果路径上的历史数据;第二展示单元,用于在所述客户端上展示节点属性均相同的结果路径上的历史数据;第三展示单元,用于在所述客户端上展示包括指定节点关系的结果路径上的历史数据。
可选的,所述第三展示单元包括以下至少之一:第一展示子单元,用于在所述客户端上展示包括人物社会关系的结果路径上的历史数据;第二展示子单元,用于在所述客户端上展示包括事件因果关系的结果路径上的历史数据。
可选的,若所述结果路径包括多条路径,所述第一展示模块包括以下之一:第四展示单元,用于在所述客户端上通过星空图展示所述结果路径上的历史数据,其中,每一个星云对应所述结果路径的一个节点,星云的每一个星体对应展示该节点的一个历史数据;第五展示单元,用于在所述客户端上通过花瓣图展示所述结果路径上的历史数据,其中, 每一片花瓣对应节点的一个节点关系,每一片花瓣对应展示该节点关系的关联节点的历史数据。
可选的,所述客户端还包括:第二确定模块,用于确定所述关系路径的中间节点;第二搜索模块,用于以所述起始节点、所述终止节点、所述中间节点作为起点并行迭代搜索,生成结果路径,其中,所述结果路径包括三条搜索路径的重复节点。
可选的,所述第二搜索模块包括:搜索单元,用于以所述起始节点、所述终止节点、所述中间节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合、与所述终止节点对应的第二关联子图集合、与所述中间节点对应的第三关联子图集合;生成单元,用于基于所述第一关联子图集合、所述第二关联子图集合、所述第三关联子图集合按照迭代顺序分别生成第一路径、第二路径和第三路径;拼接单元,用于若所述第一路径与所述第三路径存在第一重复节点、且所述第二路径与所述第三路径存在第二重复节点,拼接所述第一路径、所述第二路径和所述第三路径,以生成所述结果路径。
可选的,所述客户端还包括:检测模块,用于在所述第一展示模块在所述客户端上展示所述结果路径上的历史数据之后,检测针对关系节点或关系连线的操作指令,其中,所述结果路径包括多个关系节点和至少一条关系连线;第二展示模块,用于在所述客户端端上展示所述关系节点或所述关系连线上的历史数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,输入需要查询的两个历史数据节点,通过搜索,将所述两个历史数据节点之间的关联节点用路径连接展现。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,输入需要查询的两个历史数据节点,通过搜索,将所述两个历史数据节点之间的关联节点用路径连接展现。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (11)
1.一种数据的展示方法,应用于历史数据之间的关联展示,其特征在于,包括:
输入需要查询的两个历史数据节点,通过搜索,将所述两个历史数据节点之间的关联节点用路径连接展现;其中, 所述两个历史数据节点包括起始节点和终止节点;
以所述起始节点和所述终止节点作为起点在图数据库中并行迭代搜索结果路径,其中,所述结果路径包括两条搜索路径的相交点,所述结果路径的两端分别为所述起始节点和所述终止节点;
其中,所述以所述起始节点和所述终止节点作为起点在图数据库中并行迭代搜索结果路径包括:
以所述起始节点和所述终止节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合和与所述终止节点对应的第二关联子图集合;
基于所述第一关联子图集合和所述第二关联子图集合按照迭代顺序分别生成第一路径和第二路径;
若所述第一路径和所述第二路径存在重复节点,在第N轮并行迭代结束后,拼接所述第一路径和所述第二路径,得到第一结果路径集合,其中,2N大于或等于最大迭代步长;判断所述第一结果路径集合与第二结果路径集合是否存在重复路径,其中,所述第二结果路径集合为第N-1轮并行迭代结束后生成的路径;若存在重复路径,在所述第一结果路径集合中过滤所述重复路径后合并所述第二结果路径集合,得到所述结果路径;若不存在重复路径,合并所述第一结果路径集合和所述第二结果路径集合,得到所述结果路径;
所述方法还包括:
在客户端上展示所述结果路径上的历史数据,所述历史数据用于表征所述结果路径的节点或节点连线的属性信息、标签信息。
2.根据权利要求1所述的方法,其特征在于,输入需要查询的两个历史数据节点,通过搜索,将所述两个历史数据节点之间的关联节点用路径连接展现,包括:
在客户端上输入需要查询的关系路径的起始节点和终止节点。
3.根据权利要求2所述的方法,其特征在于,若所述结果路径包括多条路径,在所述客户端上展示所述结果路径上的历史数据包括以下之一:
按照路径长度在所述客户端上展示多条结果路径上的历史数据;
在所述客户端上展示节点属性均相同的结果路径上的历史数据;
在所述客户端上展示包括指定节点关系的结果路径上的历史数据。
4.根据权利要求3所述的方法,其特征在于,在所述客户端上展示包括指定节点关系的结果路径上的历史数据包括以下至少之一:
在所述客户端上展示包括人物社会关系的结果路径上的历史数据;
在所述客户端上展示包括事件因果关系的结果路径上的历史数据。
5.根据权利要求2所述的方法,其特征在于,若所述结果路径包括多条路径,在所述客户端上展示所述结果路径上的历史数据包括以下之一:
在所述客户端上通过星空图展示所述结果路径上的历史数据,其中,每一个星云对应所述结果路径的一个节点,星云的每一个星体对应展示该节点的一个历史数据;
在所述客户端上通过花瓣图展示所述结果路径上的历史数据,其中, 每一片花瓣对应节点的一个节点关系,每一片花瓣对应展示该节点关系的关联节点的历史数据。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定所述关系路径的中间节点;
以所述起始节点、所述终止节点、所述中间节点作为起点并行迭代搜索,生成结果路径,其中,所述结果路径包括三条搜索路径的重复节点。
7.根据权利要求6所述的方法,其特征在于,以所述起始节点、所述终止节点、所述中间节点作为起点并行迭代搜索,生成结果路径,包括:
以所述起始节点、所述终止节点、所述中间节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合、与所述终止节点对应的第二关联子图集合、与所述中间节点对应的第三关联子图集合;
基于所述第一关联子图集合、所述第二关联子图集合、所述第三关联子图集合按照迭代顺序分别生成第一路径、第二路径和第三路径;
若所述第一路径与所述第三路径存在第一重复节点、且所述第二路径与所述第三路径存在第二重复节点,拼接所述第一路径、所述第二路径和所述第三路径,以生成所述结果路径。
8.根据权利要求2所述的方法,其特征在于,在所述客户端上展示所述结果路径上的历史数据之后,所述方法还包括:
检测针对关系节点或关系连线的操作指令,其中,所述结果路径包括多个关系节点和至少一条关系连线;
在所述客户端上展示所述关系节点或所述关系连线上的历史数据。
9.一种数据的展示装置,应用于历史数据之间的关联展示,其特征在于,所述装置用于:
输入需要查询的两个历史数据节点,通过搜索,将所述两个历史数据节点之间的关联节点用路径连接展现;其中, 所述两个历史数据节点包括起始节点和终止节点;
以所述起始节点和所述终止节点作为起点在图数据库中并行迭代搜索结果路径,其中,所述结果路径包括两条搜索路径的相交点,所述结果路径的两端分别为所述起始节点和所述终止节点;
所述装置包括:
第一搜索模块,包括:搜索单元,用于以所述起始节点和所述终止节点分别作为起点在图数据库中并行迭代搜索相邻节点,得到与所述起始节点对应的第一关联子图集合和与所述终止节点对应的第二关联子图集合;生成单元,用于基于所述第一关联子图集合和所述第二关联子图集合按照迭代顺序分别生成第一路径和第二路径;拼接单元,用于若所述第一路径和所述第二路径存在重复节点,拼接所述第一路径和所述第二路径,以生成所述结果路径;
其中,所述拼接单元包括:拼接子单元,用于在第N轮并行迭代结束后,拼接所述第一路径和所述第二路径,得到第一结果路径集合,其中,2N大于或等于最大迭代步长;判断子单元,用于判断所述第一结果路径集合与第二结果路径集合是否存在重复路径,其中,所述第二结果路径集合为第N-1轮并行迭代结束后生成的路径;合并子单元,用于若存在重复路径,在所述第一结果路径集合中过滤所述重复路径后合并所述第二结果路径集合,得到所述结果路径;若不存在重复路径,合并所述第一结果路径集合和所述第二结果路径集合,得到所述结果路径;
第一展示模块,用于在客户端上展示所述结果路径上的历史数据,所述历史数据用于表征所述结果路径的节点或节点连线的属性信息、标签信息。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至8任一项中所述的方法。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010197435.5A CN111538863B (zh) | 2020-03-19 | 2020-03-19 | 数据的展示方法及装置、系统、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010197435.5A CN111538863B (zh) | 2020-03-19 | 2020-03-19 | 数据的展示方法及装置、系统、存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111538863A CN111538863A (zh) | 2020-08-14 |
CN111538863B true CN111538863B (zh) | 2023-08-18 |
Family
ID=71976744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010197435.5A Active CN111538863B (zh) | 2020-03-19 | 2020-03-19 | 数据的展示方法及装置、系统、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538863B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199450B (zh) * | 2020-09-30 | 2024-06-14 | 支付宝(杭州)信息技术有限公司 | 一种关系图谱构建方法、装置及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010112087A1 (en) * | 2009-04-03 | 2010-10-07 | Netcycler Oy | On-line searching systems |
CN104615783A (zh) * | 2015-03-02 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 信息搜索方法和装置 |
CN108829858A (zh) * | 2018-06-22 | 2018-11-16 | 北京京东金融科技控股有限公司 | 数据查询方法、装置及计算机可读存储介质 |
CN109344208A (zh) * | 2018-08-14 | 2019-02-15 | 北京奇虎科技有限公司 | 路径查询方法、装置及电子设备 |
CN109670049A (zh) * | 2018-11-19 | 2019-04-23 | 平安科技(深圳)有限公司 | 图谱路径查询方法、装置、计算机设备和存储介质 |
CN110674359A (zh) * | 2019-09-03 | 2020-01-10 | 中国建设银行股份有限公司 | 多场景展示关系图谱的方法及系统 |
CN110704434A (zh) * | 2019-09-24 | 2020-01-17 | 北京百度网讯科技有限公司 | 图谱最短路径的查询方法、装置、电子设备和存储介质 |
CN110765215A (zh) * | 2019-09-30 | 2020-02-07 | 深圳云天励飞技术有限公司 | 人员共同关系的查询方法、装置、电子设备及存储介质 |
CN110825822A (zh) * | 2019-09-30 | 2020-02-21 | 深圳云天励飞技术有限公司 | 人员关系的查询方法、装置、电子设备及存储介质 |
-
2020
- 2020-03-19 CN CN202010197435.5A patent/CN111538863B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010112087A1 (en) * | 2009-04-03 | 2010-10-07 | Netcycler Oy | On-line searching systems |
CN104615783A (zh) * | 2015-03-02 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 信息搜索方法和装置 |
CN108829858A (zh) * | 2018-06-22 | 2018-11-16 | 北京京东金融科技控股有限公司 | 数据查询方法、装置及计算机可读存储介质 |
CN109344208A (zh) * | 2018-08-14 | 2019-02-15 | 北京奇虎科技有限公司 | 路径查询方法、装置及电子设备 |
CN109670049A (zh) * | 2018-11-19 | 2019-04-23 | 平安科技(深圳)有限公司 | 图谱路径查询方法、装置、计算机设备和存储介质 |
CN110674359A (zh) * | 2019-09-03 | 2020-01-10 | 中国建设银行股份有限公司 | 多场景展示关系图谱的方法及系统 |
CN110704434A (zh) * | 2019-09-24 | 2020-01-17 | 北京百度网讯科技有限公司 | 图谱最短路径的查询方法、装置、电子设备和存储介质 |
CN110765215A (zh) * | 2019-09-30 | 2020-02-07 | 深圳云天励飞技术有限公司 | 人员共同关系的查询方法、装置、电子设备及存储介质 |
CN110825822A (zh) * | 2019-09-30 | 2020-02-21 | 深圳云天励飞技术有限公司 | 人员关系的查询方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111538863A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2017268599B2 (en) | Method, device, server and storage medium of searching a group based on social network | |
CN108733713A (zh) | 数据仓库中的数据查询方法及装置 | |
CN108805622A (zh) | 商品推荐方法、装置、设备及存储介质 | |
CN109818848B (zh) | 会话的展示方法和装置、存储介质、电子装置 | |
CN107918658B (zh) | 一种商机生成方法及系统 | |
CN103942712A (zh) | 基于产品相似度的电子商务推荐系统及其方法 | |
CN106293928A (zh) | 一种全局任务节点依赖关系可视化方法、装置和系统 | |
TWI502383B (zh) | A retrieval device, a retrieval method, a program and a memory medium | |
KR102015235B1 (ko) | 경로조회 방법, 장치, 디바이스 및 비휘발성 컴퓨터 기억 매체 | |
CN102231152B (zh) | 基于移动终端ip地址进行精确查询的搜索方法 | |
CN109087121A (zh) | 营销信息投放平台构建方法及装置 | |
JP2018531379A6 (ja) | 経路照会方法、装置、デバイス及び不揮発性コンピューター記憶媒体 | |
CN109740034A (zh) | 基于图形数据库的企业涉案信息查询方法及装置 | |
JP2013517562A (ja) | オンライン商取引プラットフォームにおける広告ソースおよびキーワードセットの適合 | |
US20140214841A1 (en) | Semantic Product Classification | |
US10032205B2 (en) | System, method, and non-transitory computer-readable storage media for displaying product information on websites | |
US10789277B2 (en) | Systems methods, and apparatuses for creating, linking and discovering business navigation maps for analyzing data | |
CN114328632A (zh) | 基于位图的用户数据分析方法、装置及计算机设备 | |
CN111538863B (zh) | 数据的展示方法及装置、系统、存储介质、电子装置 | |
US9843643B2 (en) | System, method, and non-transitory computer-readable storage media for monitoring consumer activity on websites | |
CN111159577A (zh) | 一种社群划分方法、装置、存储介质及电子装置 | |
CN114218265A (zh) | 离线模型的处理方法、装置、存储介质和处理器 | |
US20140214844A1 (en) | Multiple classification models in a pipeline | |
CN110955822B (zh) | 商品搜索方法和装置 | |
CN114547476B (zh) | 一种基于二部图的社区搜索方法、装置以及处理设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: A408, Room 401, 4 / F, No.1, Wangjing East Road, Chaoyang District, Beijing 100102 Applicant after: Beijing perfect knowledge technology Co.,Ltd. Address before: Room 503-69, Building 29, No. 89, Heyuan Road, Jingjin science and Technology Valley Industrial Park, Wuqing District, Tianjin 301700 (centralized office area) Applicant before: Tianjin perfect Gravity Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |