CN113157981A - 一种图网络关系扩散方法和装置 - Google Patents
一种图网络关系扩散方法和装置 Download PDFInfo
- Publication number
- CN113157981A CN113157981A CN202110323895.2A CN202110323895A CN113157981A CN 113157981 A CN113157981 A CN 113157981A CN 202110323895 A CN202110323895 A CN 202110323895A CN 113157981 A CN113157981 A CN 113157981A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- nodes
- incremental
- edge
- 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.)
- Granted
Links
- 238000009792 diffusion process Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 63
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 28
- 239000003999 initiator Substances 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000007781 pre-processing Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供了一种图网络关系扩散方法和装置。根据该实施例的方法,首先,采集流数据之后,从所述流数据中提取增量图数据,得到节点信息和边信息,所述增量图数据中的节点与存量图数据中设定类型的存量节点不存在边关系;然后,利用所述增量图数据中的节点的节点信息和边信息进行消息传递;输出经过消息传递后属性发生变化的节点信息和/或边信息。
Description
技术领域
本说明书一个或多个实施例涉及图计算技术领域,尤其涉及一种图网络关系扩散方法和装置。
背景技术
随着互联网技术的发展,从海量数据中发掘数据关联性的需求越发迫切,在由多节点和边组成的大规模图网络上进行关系扩散的场景越来越多。如在金融领域,可以通过对资金上下游链路的分析,进行恶意团伙的识别和欺诈风险的群防群控;在社交场景中,可以通过社交关系扩散找到用户可能想关注的其他潜在用户。
目前的图网络关系扩散需要使用全量图数据,参与的数据体量大,导致计算性能差,时效无法保证。因此,亟需提出一种新的图网络关系扩散方案。
发明内容
本说明书一个或多个实施例描述了一种图网络关系扩散方法和装置,能够通过增量图数据进行图计算,提升图网络关系扩散的计算性能和时效,保证图计算效率。
根据第一方面,提供了一种图网络关系扩散方法,包括:
采集流数据;
从所述流数据中提取增量图数据,所述增量图数据包含节点信息和边信息,所述增量图数据中的节点与存量图数据中设定类型的存量节点不存在边关系;
利用所述增量图数据中的节点的节点信息和边信息进行消息传递;
输出经过消息传递后属性发生变化的节点信息和/边信息。
在一个实施例中,所述利用所述增量图数据中的节点的节点信息和边信息进行消息传递,具体包括:
针对所述增量图数据中的每个节点,均执行:
触发当前节点通过其边向具有直接边关系的邻居节点发送消息;
基于当前节点已接收的消息和当前节点的本地节点属性,判断当前节点是否满足预设消息停发条件;
如果满足,将当前节点的状态修改为非活跃;
如果不满足,触发当前节点基于发送逻辑向目标节点发送消息;
继续判断并迭代发送消息,直至每个节点的状态均修改为非活跃;
其中,所述消息为体现边关系的边消息或不体现边关系的其它消息。
进一步,在一个实施例中,所述设定类型的存量节点包括:所有类型的存量节点;
所述增量图数据中的各个节点均是与所述存量节点不重复的增量节点。
在另一个实施例中,所述设定类型的存量节点包括:与增量节点不存在边关系的存量节点;
所述增量图数据中的节点包括增量节点以及与所述增量节点具有直接边关系的第一存量节点。
在又一个实施例中,从所述流数据中提取增量图数据之后,所述方法还包括:
将所述增量图数据与所述存量图数据融合存储,以更新得到全量图数据。
进一步,在一个实施例中,所述设定类型的存量节点包括:与增量节点不存在边关系的存量节点;
所述增量图数据中的节点包括增量节点以及与所述增量节点具有直接边关系的第一存量节点;
在判断所述节点是否满足预设消息停发条件之前,所述方法还包括:
从所述全量图数据中获取与所述第一存量节点存在边关系的第二存量节点的节点信息和边信息;
当所述当前节点为增量图数据中的第一存量节点,且判断出当前节点不满足预设消息停发条件时,进一步包括:
触发该当前节点基于发送逻辑向作为目标节点的第二存量节点发送消息。
在一个实施例中,所述预设消息停发条件至少包括以下一种或全部:
本地节点新接收的消息是已接收的历史消息的子集;
本地节点对消息进行合并、过滤处理后,得到的待转发消息集合为空。
在一个实施例中,所述目标节点为具有直接或间接边关系的邻居节点,则触发当前节点基于发送逻辑向目标节点发送消息,具体包括:
触发当前节点将已接收的边消息或其它消息转发给所述邻居节点,其中,接收转发消息的邻居节点不是该被转发的消息构造时的发起方;或者,
触发当前节点将新构建的边消息或其它消息发送给所述邻居节点;
或者,
所述目标节点为不存在边关系的非邻居节点,则触发当前节点基于发送逻辑向目标节点发送消息,具体包括:
触发当前节点将已接收的其它消息转发给所述非邻居节点,其中,接收转发消息的非邻居节点不是该被转发的消息构造时的发起方;或者,
触发当前节点将新构建的其它消息发送给所述非邻居节点。
在一个实施例中,在每次消息发送结束后,进一步包括:触发当前节点将接收到的消息合并存储;
和/或,
在多次消息传递完成之后,所述方法还包括:基于消息根据实际的图算法逻辑,加工出图特征,将所述图特征以及消息传递的过程数据存储,以更新全量图数据;
和/或,
所述节点信息包括节点标识、节点类型和节点属性中的至少一个,其中,所述节点属性包括:在消息迭代过程中计算出来的图特征、计算中间变量的至少一个;
和/或,
所述边信息包括边的起始点、边类型和边属性中的至少一个,其中,所述边属性包括:在消息迭代过程中计算出来的图特征或其他边属性。
根据第二方面,提供了一种图网络关系扩散装置,包括:
采集模块,用于采集流数据;
提取模块,用于从所述流数据中提取增量图数据,所述增量图数据包含节点信息和边信息,所述增量图数据中的节点与存量图数据中设定类型的存量节点不存在边关系;
计算模块,用于利用所述增量图数据中的节点的节点信息和边信息进行消息传递;
输出模块,用于输出经过消息传递后属性发生变化的节点信息和/或边信息。
在一个实施例中,所述计算模块,具体用于:
针对所述增量图数据中的每个节点,均执行:
触发当前节点通过其边向具有直接边关系的邻居节点发送消息;
基于当前节点已接收的消息和当前节点的本地节点属性,判断当前节点是否满足预设消息停发条件;
如果满足,将当前节点的状态修改为非活跃;
如果不满足,触发当前节点基于发送逻辑向目标节点发送消息;
继续判断并迭代发送消息,直至每个节点的状态均修改为非活跃;
其中,所述消息为体现边关系的边消息或不体现边关系的其它消息。
进一步,在一个实施例中,所述设定类型的存量节点包括:所有类型的存量节点;
所述增量图数据中的各个节点均是与所述存量节点不重复的增量节点。
在另一个实施例中,所述设定类型的存量节点包括:与增量节点不存在边关系的存量节点;
所述增量图数据中的节点包括增量节点以及与所述增量节点具有直接边关系的第一存量节点。
在又一个实施例中,还包括:
更新模块,用于在所述提取模块从所述流数据中提取增量图数据之后,将所述增量图数据与所述存量图数据融合存储,以更新得到全量图数据。
进一步,在一个实施例中,所述设定类型的存量节点包括:与增量节点不存在边关系的存量节点;
所述增量图数据中的节点包括增量节点以及与所述增量节点具有直接边关系的第一存量节点;
所述计算模块在判断所述节点是否满足预设消息停发条件之前,还用于:
从所述全量图数据中获取与所述第一存量节点存在边关系的第二存量节点的节点信息和边信息;
当所述当前节点为增量图数据中的第一存量节点,且判断出当前节点不满足预设消息停发条件时,所述计算模块,还用于:
触发该当前节点基于发送逻辑向作为目标节点的第二存量节点发送消息。
在一个实施例中,所述预设消息停发条件至少包括以下一种或全部:
本地节点新接收的消息是已接收的历史消息的子集;
本地节点对消息进行合并、过滤处理后,得到的待转发消息集合为空。
在一个实施例中,所述目标节点为具有直接或间接边关系的邻居节点,则所述计算模块在触发当前节点基于发送逻辑向目标节点发送消息时,具体用于:
触发当前节点将已接收的边消息或其它消息转发给所述邻居节点,其中,接收转发消息的邻居节点不是该被转发的消息构造时的发起方;或者,
触发当前节点将新构建的边消息或其它消息发送给所述邻居节点;
或者,
所述目标节点为不存在边关系的非邻居节点,则所述计算模块在触发当前节点基于发送逻辑向目标节点发送消息时,具体用于:
触发当前节点将已接收的其它消息转发给所述非邻居节点,其中,接收转发消息的非邻居节点不是该被转发的消息构造时的发起方;或者,
触发当前节点将新构建的其它消息发送给所述非邻居节点。
在一个实施例中,在每次消息发送结束后,所述计算模块还用于:触发当前节点将接收到的消息合并存储;
和/或,
在多次消息传递完成之后,所述更新模块还用于:基于消息根据实际的图算法逻辑,加工出图特征,将所述图特征以及消息传递的过程数据存储,以更新全量图数据;
和/或,
所述节点信息包括节点标识、节点类型和节点属性中的至少一个,其中,所述节点属性包括:在消息迭代过程中计算出来的图特征、计算中间变量的至少一个;
和/或,
所述边信息包括边的起始点、边类型和边属性中的至少一个,其中,所述边属性包括:在消息迭代过程中计算出来的图特征或其他边属性。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书任一实施例所述的方法。
在本说明书实施例提供的技术方案中,从流数据中提取增量图数据,使用增量图数据中节点进行第一次消息传递,如果增量图数据中节点均是增量节点,则接收消息的增量节点按照消息停发条件判断是否向目标节点(增量节点)发送消息,如果增量图数据中节点包含存量节点,则进一步判断该存量节点是否与其它存量节点相关,如果相关,则需要从全量图数据中获取与该存量节点相关的存量节点及边,然后,接收消息的增量节点或存量节点按照消息停发条件判断是否向目标节点(增量节点或存量节点或与该存量节点相关的其它存量节点)发送消息,如果不相关,则接收消息的增量节点或存量节点按照消息停发条件判断是否向目标节点(增量节点或存量节点)发送消息。待多次转发迭代结束后,输出引入增量图数据后属性发送变化的节点信息和边信息。在整个图计算过程中,不需要使用添加增量图数据后的全量图数据,而直接使用增量图数据进行图网络扩散,减小数据计算规模,提升计算性能和时效;同时,本说明书实施例中增量数据是实时采集的流数据,确保数据时效性,实现准实时的图网络关系输出。换言之,采用本说明书实施例提出的图网络关系扩散方案,可以保证图网络关系扩散效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书一个实施例提供的图网络关系扩散方法的流程图之一;
图2是本说明书一个实施例提供的图网络关系扩散时消息传递的步骤示意图;
图3是本说明书一个实施例中图网络关系扩散方法的流程图之二;
图4是本说明书一个实施例中图网络关系扩散方法的流程图之三;
图5a-图5e是本说明书的一个实施例中消息传递的原理示意图;
图6a-图6b是本说明书的另一个实施例中消息传递的原理示意图;
图7是本说明书一个实施例中图网络关系扩散的装置结构图;
图8是本说明书的一个实施例电子设备的结构示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
考虑到目前使用图网络进行关系扩散以挖掘数据关联性的场景逐渐增多,这就对图网络关系扩散方案提出了考验。众所周知,有向图中的关系扩散可定义为:通过图中任意的一个节点,获取到与当前节点直接或间接关联的其它节点、边信息,该节点及关联的节点、边组成了全量图中的一个子图。当采用图网络关系扩散的方式,从新增数据中挖掘数据关联性时,需要将新增数据与已进行图网络关系扩散的存量数据进行合并,然后使用合并得到的全量数据进行图网络关系扩散。由于参与扩散的数据存在重复内容,导致计算性能差,且扩散时效低;尤其当存量数据体量较大而增量数据较小时,更是产生了过多无用的重复计算,影响图网络关系扩散效率。
为此,本说明书实施例提出了一种新的图网络关系扩散方案,主要针对含有存量图数据的图数据库面对新输入的增量图数据时的情况。在此情况下,不需要使用添加增量图数据后的全量图数据,而直接使用增量图数据进行图网络扩散,减小数据计算规模,提升计算性能和时效;同时,本说明书实施例中增量数据是实时采集的流数据,确保数据时效性,实现准实时的图网络关系输出。换言之,采用本说明书实施例提出的图网络关系扩散方案,可以保证图网络关系扩散效率。
下面描述以上构思的具体实现方式。
图1示出一个实施例的图网络关系扩散方法的流程图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。参见图1,所述图网络关系扩散方案的具体实现可以包括:
步骤102:采集流数据;步骤104:从所述流数据中提取增量图数据,所述增量图数据包含节点信息和边信息,所述增量图数据中的节点与存量图数据中设定类型的存量节点不存在边关系;步骤106:利用所述增量图数据中的节点的节点信息和边信息进行消息传递;步骤108:输出经过消息传递后属性发生变化的节点信息和边信息。
在图1所示的图网络关系扩散方法中,不需要使用添加增量图数据后的全量图数据,而直接使用增量图数据进行图网络扩散,减小数据计算规模,提升计算性能和时效;同时,本说明书实施例中增量数据是实时采集的流数据,确保数据时效性,实现准实时的图网络关系输出。采用本说明书实施例提出的图网络关系扩散方案,可以保证图网络关系扩散效率。
下面描述图1所示的各个步骤的执行方式。
首先,在步骤102,采集流数据。
应理解,所述流数据可以从不同的数据源采集,而这些不同的数据源可以表示相同业务场景。例如,在社交领域挖掘相关潜在用于的业务场景,可以从合法渠道获取相关APP用户的行为数据,那么,不同相关APP的后台数据库可以作为不同的数据源。在本说明书实施例中,所述流数据可以是结构化数据,也可以是非结构化数据,对此不作限定。无论流数据的数据结构如何,均携带有能够提取出节点信息和边信息的数据内容。
在步骤104,从所述流数据中提取增量图数据,所述增量图数据包含节点信息和边信息,所述增量图数据中的节点与存量图数据中设定类型的存量节点不存在边关系。
如前所述,在采集流数据之后,可以对该流数据进行清洗、转换和映射等预处理,从中提取用于进行后续图网络关系扩散的一系列节点信息和边信息。
在本说明书的一个实施例中,对流数据进行预处理时,可以具体包括:
从流数据中提取节点信息和边信息;这些节点信息和边信息应当满足图模式中节点和边的定义,其中图模式是数据库的组织和结构,模式中包含表、列、数据类型、视图、存储过程、关系等模式对象。
在本说明书的另一个实施例中,对流数据进行预处理时,除了包含上述实施例中提取节点信息和边信息的操作,还可以包括以下操作的至少一种:
对流数据字段处理,实现输入一个或多个字段后输出一个或多个字段;
对流数据整体处理,实现输入一行输出多行或输入多行输出一行;
通过设定筛除条件过滤异常流数据;
其他预处理数据加工操作。
通过该步骤104的预处理,对流数据进行去噪、转换,得到所需节点信息和边信息作为增量图数据。
进一步,在本说明书的一个实施例中,所述节点信息包括节点标识、节点类型和节点属性中的至少一个;和/或,所述边信息包括边的起始点、边类型和边属性中的至少一个。应理解,节点信息中节点属性和边信息中边属性均可以理解为是网络图特征、或邻居节点等能够体现图网络关系的信息。例如,节点属性可以包括:在消息迭代过程中计算出来的图特征和计算过程中产生的中间变量等。边属性可以包括:在消息迭代过程中计算出来的图特征以及其它边属性。
在步骤106,利用所述增量图数据中的节点的节点信息和边信息进行消息传递。
在得到增量图数据之后,可以利用增量图数据中节点的节点信息和边信息进行多轮消息传递以进行图计算。本说明书实施例中,可以基于整体同步并行 (BulkSynchronous Parallel,BSP)计算模型实现图计算。该计算模块能够以增量图数据作为输入,基于消息传递进行迭代计算,并以图网络关系作为输出。
在本说明书一个实施例中,参照图2所示,当基于BSP计算模型,利用增量图数据中的节点的节点信息和边信息进行消息传递时,可以针对该增量图数据中的每个节点,均执行:
步骤202:触发当前节点通过其边向具有直接边关系的邻居节点发送消息。
应理解,所述消息为能够体现边关系的边消息或不体现边关系的的其它消息。消息的格式可以自定义,其格式可以包含:起始节点ID,目标节点ID,还可以包含传播方向;例如消息为边消息时:定义出边消息的传播方向为true,入边消息的传播方向为false;再如,定义出边消息的传播方向为1,入边消息的传播方向为0。再如:定义其它消息为携带字符串的消息,该消息不体现边关系。
步骤204:基于当前节点已接收的边消息和当前节点的本地节点属性,判断当前节点是否满足预设消息停发条件;如果满足,执行步骤206,如果不满足,则执行步骤208。
步骤206:将当前节点的状态修改为非活跃。
步骤208:触发当前节点基于发送逻辑向目标节点发送消息。
进一步,在一个实施例中,所述目标节点为具有直接或间接边关系的邻居节点,则触发当前节点基于发送逻辑向目标节点发送消息,具体包括:
触发当前节点将已接收的边消息或其它消息转发给所述邻居节点,其中,接收转发消息的邻居节点不是该被转发的消息构造时的发起方;或者,
触发当前节点将新构建的边消息或其它消息发送给所述邻居节点。
具体地,当不满足预设消息停发条件时,触发当前节点将本轮迭代接收到边消息或其它消息同历史上已接收消息,通过出边或入边转发给邻居节点,特别地,转发的每条边消息中,若边消息的起始节点和待转发目标节点相同,则忽略此消息不转发。或者,当不满足预设消息停发条件时,触发当前节点重新构建新的边消息或其它消息,发送给邻居节点。
或者,所述目标节点为不存在边关系的非邻居节点,则触发当前节点基于发送逻辑向目标节点发送消息,具体包括:
触发当前节点将已接收的其它消息转发给所述非邻居节点,其中,接收转发消息的非邻居节点不是该被转发的消息构造时的发起方;或者,
触发当前节点将新构建的其它消息发送给所述非邻居节点。
具体地,当不满足预设消息停发条件时,触发当前节点将本轮迭代接收到其它消息同历史上已接收消息,直接发送给非邻居节点,或者,当不满足预设消息停发条件时,触发当前节点重新构建新的其它消息,发送给非邻居节点。
应理解,针对目标节点与当前节点是邻居节点的情况,无论是直接邻居节点还是间接邻居节点,在消息传递过程中,发送的消息可以是边消息或其它消息。例如,在整个消息传递的迭代过程中,发送的消息都是边消息;或者,在整个消息传递的迭代过程中,发送的消息都是其它消息;或者,在整个消息传递的迭代过程中,某一轮迭代发送的消息是边消息,下一轮发送的消息是其它消息;或者,在某一轮迭代过程中发送的既有边消息,也有其它消息。这需要根据设置的发送逻辑以及节点之间的关系具体确定。
其实,在具体的实现过程中,也可以设置其它发送逻辑以实现消息发送,本说明书实施例不做限制。
步骤210:判断参与消息传递的每个节点的状态是否均为非活跃;如果是,则结束发送,否则,跳转至步骤204。
增量图数据的每一个节点根据实际的算法逻辑,通过增量出边或增量入边向邻居节点发送消息,邻居节点可能是增量节点,也可能是存量节点。所有节点处理结束后,进一步迭代:将上个迭代中收到消息的节点作为当前迭代的触发节点依次进行处理,每个节点根据接收到的消息和自身的节点属性,判断是否发送消息:若该节点不需要发送,则继续处理下一个节点;若该节点需要发送,则需要根据设置的发送逻辑发送相应消息至目标节点,之后,更新自身节点属性,继续处理下一个节点。若所有节点都没有接收到消息,说明节点都处于非活跃状态,则结束迭代;若还有节点接收到消息,则继续迭代直至所有节点的状态都修改为非活跃。
进一步,在本说明书实施例的一个实施例中,参照图3所示,从所述流数据中提取增量图数据之后,除了执行步骤106的操作之外,还可以包括以下操作:
步骤110:将所述增量图数据与所述存量图数据融合存储,以更新得到全量图数据。
其中,数据融合的方式可以是合并覆盖。例如,增量图数据中的节点、边若已经在存量图数据中,则可以根据节点/边的唯一性标识进行节点/边的覆盖,或者是存储多版本的节点/边数据。存储图数据的存储介质为图数据库,它可以提供图数据的存储和查询功能。具体实现时,图数据库会把图数据以属性图的方式进行管理,更具体的:图中有若干个节点和若干条边,节点有一个唯一点标识符、一组出边或入边、一组由键值对组成的属性集合;边有一个唯一的边标识符、边起始点和目标点、一个用来表示边类型的标签、一组由键值对组成的属性集合。
通过增量图数据与存量图数据融合存储的方式更新全量图数据,保证图数据库中图数据处于最新状态,同时,还可以在图计算过程中及时提供与增量图数据间接相关的存量图数据。
如上所述,本说明书实施例中增量图数据中的节点与存量图数据中设定类型的存量节点不存在边关系,具体可以包括以下几种情形:
情形1
所述设定类型的存量节点包括:所有类型的存量节点;所述增量图数据中的各个节点均是与所述存量节点不重复的增量节点。
在该情形1下,增量图数据中的增量节点均与存量图数据无关,参与整个消息传递过程的节点均为增量节点。
情形2
所述设定类型的存量节点包括:与增量节点不存在边关系的存量节点;所述增量图数据中的节点包括增量节点以及与所述增量节点具有直接边关系的第一存量节点,且所述第一存量节点与存量图数据中其它存量节点不存在边关系。
在该情形2下,增量图数据中的增量节点中至少有一个增量节点与存量图数据中第一存量节点直接相关,且该第一存量节点在存量图数据中与其它存量节点无关;参与整个消息传递过程的节点包括增量节点和第一存量节点。
情形3
所述设定类型的存量节点包括:与增量节点不存在边关系的存量节点;所述增量图数据中的节点包括增量节点以及与所述增量节点具有直接边关系的第一存量节点,且所述第一存量节点与存量图数据中第二存量节点存在边关系。
该情形3下,在判断所述节点是否满足预设消息停发条件之前,还可以从所述全量图数据中获取与所述第一存量节点存在边关系的第二存量节点的节点信息和边信息。以备在后续消息传递时,作为活跃的节点参与到消息转发的过程。
进一步,在情形3下,当所述当前节点为增量图数据中的第一存量节点,且判断出当前节点不满足预设消息停发条件时,还可以进一步触发该当前节点基于发送逻辑向作为目标节点的第二存量节点发送消息。
应理解,在本说明书实施例中,向第二存量节点发送消息的发送逻辑同向其它目标节点类似,具体可以参照步骤208的具体实现。在一个实施例中,该第二存量节点不是该被转发的消息构造时的发起方。
在本说明书的一个实施例中,所述预设消息停发条件至少包括以下一种或全部:本地节点新接收的消息是已接收的历史消息的子集;本地节点对消息进行合并、过滤处理后,得到的待转发消息集合为空。应理解,预设消息停发条件是本说明书设置的一种消息停发逻辑,必要时可以根据场景需求进行调整。
在本说明书的一个实施例中,当每次消息传递结束后,可以触发当前节点将接收到的消息合并存储。
如前所述,在本说明书的一个实施例中,参照图4所示,当步骤106的图计算完成之后,所述方法还包括:
步骤112:将基于消息根据实际的图算法逻辑,加工出图特征,将所述图特征以及消息传递的过程数据存储,以更新全量图数据。
应理解,步骤112和步骤108的执行顺序不做限定。
在步骤108,输出经过消息传递后属性发生变化的节点信息和/或边信息。
考虑到图网络关系所使用的应用场景不同,因此,扩散输出的可以是节点的节点属性;进一步根据应用场景的不同,可以基于节点属性组织成图特征,以及图网络等。应理解,输出的节点并不是整个全量图的节点集合,而是包括增量节点在内,且与增量节点直接或间接相关的所有节点。通过节点上存储的路径属性,可以很容易获取当前节点所在的关系网络的位置和路径信息,下游可以准实时地感知到节点的拓扑关系变化。
在上述技术方案中,从流数据中提取增量图数据,使用增量图数据中节点进行第一次消息传递,如果增量图数据中节点均是增量节点,则接收消息的增量节点按照消息停发条件判断是否向目标节点(增量节点)发送消息,如果增量图数据中节点包含存量节点,则进一步判断该存量节点是否与其它存量节点相关,如果相关,则需要从全量图数据中获取与该存量节点相关的存量节点及边,然后,接收消息的增量节点或存量节点按照消息停发条件判断是否向目标节点(增量节点或存量节点或与该存量节点相关的其它存量节点)发送消息,如果不相关,则接收消息的增量节点或存量节点按照消息停发条件判断是否向目标节点(增量节点或存量节点)发送消息。待多次转发迭代结束后,输出能够反映增量节点以及引入增量节点后发送属性变化的节点信息和边信息。在整个图计算过程中,不需要使用添加增量图数据后的全量图数据,而直接使用增量图数据进行图网络扩散,减小数据计算规模,提升计算性能和时效;同时,本说明书实施例中增量数据是实时采集的流数据,确保数据时效性,实现准实时的图网络关系输出。换言之,采用本说明书实施例提出的图网络关系扩散方案,可以保证图网络关系扩散效率。
下面通过增量图数据中节点不同分别介绍消息传递原理过程,在此不限定应用场景。
首先,对消息传递过程中的一些属性进行定义。其中,灰黑的节点为活跃状态,空白的节点为非活跃状态节点;同时,定义该消息传递过程中传递的消息均为边消息,其中,出边消息为true,入边消息为false。其实,传递过程中的消息也可以不是边信息。
实例1:增量图数据中节点均为增量节点
增量图数据由三个点增量节点a、b、c和两条边a→b、b→c组成,且a、 b、c均不存在于之前的存量图中(参照图5a所示)。消息传递过程如下:
第1轮消息传递。参照图5b所示,发送消息情况:增量节点a通过增量出边向增量节点b发送消息(a,b,true);增量节点b通过增量入边向增量节点a 发送消息(b,a,false),同时通过增量出边向增量节点c发送消息(b,c,true);增量节点c通过增量入边向增量节点b发送消息(c,b,false)。每个增量节点在都可以把新接收到的消息同已接收到的历史消息进行去重合并,以节点属性的方式写入存储。增量节点a、b、c都处理结束后,进入第2轮消息传递。
第2轮消息传递。参照图5c所示,此轮迭代接收到消息的节点为增量节点 a、b、c,则三个增量节点均参与计算。增量节点发送消息情况:增量节点a,新接收消息为(b,a,false),已接收消息为空,合并后的消息为(b,a,false),通过出边转发时,消息中的起始节点ID为b,和目标节点b相同,则该边消息不转发;对于增量节点c,同样的也不转发消息(b,c,true);对于增量节点b,合并新旧消息后,向增量节点a和增量节点c转发的消息分别是(c,b,false)和(a,b,true)。同样,存储节点属性。
第3轮消息传递。参照图5d所示,此轮迭代接收到消息的节点为增量节点 a、c,增量节点b未接收到消息则不参与计算。节点收发送消息情况:增量节点a,新接收消息为(c,b,false),已接收消息为(b,a,false),合并新旧消息后,向增量节点b转发的消息为(c,b,false);对于增量节点c,新接收消息为(a,b,true),已接收消息为(b,c,true),合并新旧消息后,向增量节点b转发的消息为 (a,b,true)。同样,存储节点属性。
第4轮消息传递。参照图5e所示,此轮迭代接收到消息的节点为增量节点b,增量节点a、c未接收到消息则不参与计算。节点收发送消息的情况:增量节点b,新接收消息为(c,b,false)和(a,b,true),已接收消息为(c,b,false)和 (a,b,true),此时新接收到的消息是历史上已接收到消息的一个子集,则根据消息停发条件,增量节点b不再进行消息传播。
第4轮消息传递结束后,迭代完成。由于增量节点a、b、c均没有接收到消息,说明增量节点都处于非活跃状态,则终止本轮图网络关系扩散。可以得到图计算结果如下:
点a接收到消息(b,a,false)和(c,b,false),则通过消息内容,可以得出a所在的图传播路径为a→b→c;
点b接收到消息(c,b,false)和(a,b,true),则通过消息内容,可以得出b所在的图传播路径为a→b→c;
点c接收到消息(b,c,true)和(a,b,true),则通过消息内容,可以得出c所在的图传播路径为a→b→c。
实例2:增量图数据中节点为增量节点和第一存量节点,第一存量节点与存量图数据中其它存量节点无边关系。
增量图数据由三个点增量节点a、b和一个第一存量节点c,以及两条边a→b、 b→c组成。因为第一存量节点c与存量图数据中其它存量节点无边关系,所以在存量图数据中是孤立节点。该实例2的过程可参考实例1的过程。
实例3:增量图数据中节点为增量节点和第一存量节点,第一存量节点与存量图数据中第二存量节点有边关系。
如图6a所示,增量图数据由第一存量节点c、增量节点d和边c→d组成,由于增量图数据中有存量节点,且该存量节点并不是孤立的,因此,需要从存量图数据中获取与第一存量节点相关的存量图数据,即第二存量节点a、b、c 及相应边信息。与前两个实例的区别在于:除了第一轮消息传递是通过增量边实现,后面的轮次需要同时基于增量边和存量边实现消息传递,也就意味着引入第二存量节点参与。
参照图6b所示,第1轮迭代只有第一存量节点c、增量节点d两个节点参与计算,第一存量节点c根据增量出边向增量节点d发送消息(c,d,true),增量节点d根据增量入边向第一存量节点c发送消息(d,c,false)。第2轮仍然是第一存量节点c、增量节点d两个节点参与,第一存量节点c将(d,c,false)和(a,b,true) 发送给第二存量节点b,同时,将(a,b,true)和(b,c,true)发送给增量节点d;增量节点d不转发。第3轮和第4轮的原理类似第2轮。第5轮迭代开始后,由于只有第二存量节点b参与计算,且第二存量节点b接收到的消息全部位于历史消息中,则整个图计算过程结束。存量节点a、b、c感知到了下游增量节点d的加入,增量节点d也获取到了上游链路的情况,完成了关系扩散的过程。
本轮图计算结果的输出与实例1类似,无论存量节点还是增量节点,都可以输出a→b→c→d的传播路径以及各节点属性。
应理解,在上述实例1-3中,还包括一种特殊的情况,即在增量节点中存在孤立节点,即该孤立节点与任一增量节点以及存量节点都不存在边关系。那么,该增量节点作为孤立节点,可根据设置的发送逻辑,与增量图数据中的节点进行消息传递。此时发送的消息不可能是边消息,可以是携带设定字符串的其它消息。那么,在输出结果时,该增量节点仍在图网络关系中,且作为孤立的节点与其它节点并存。
本说明书实施例还提供了一种图网络关系扩散装置,该装置可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来实现。参照图7所示,该装置可以包括以下功能模块:
采集模块702,用于采集流数据;
提取模块704,用于从所述流数据中提取增量图数据,所述增量图数据包含节点信息和边信息,所述增量图数据中的节点与存量图数据中设定类型的存量节点不存在边关系;
计算模块706,用于利用所述增量图数据中的节点的节点信息和边信息进行消息传递;
输出模块708,用于输出经过消息传递后发生属性变化的节点信息和/或边信息。
在一个实施例中,所述计算模块706,具体用于:
针对所述增量图数据中的每个节点,均执行:
触发当前节点通过其边向具有直接边关系的邻居节点发送消息;
基于当前节点已接收的消息和当前节点的本地节点属性,判断当前节点是否满足预设消息停发条件;
如果满足,将当前节点的状态修改为非活跃;
如果不满足,触发当前节点基于发送逻辑向目标节点发送消息;
继续判断并迭代发送消息,直至每个节点的状态均修改为非活跃;
其中,所述消息为体现边关系的边消息或不体现边关系的其它消息。
在一个实施例中,所述设定类型的存量节点包括:所有类型的存量节点;
所述增量图数据中的各个节点均是与所述存量节点不重复的增量节点。
在另一个实施例中,所述设定类型的存量节点包括:与增量节点不存在边关系的存量节点;
所述增量图数据中的节点包括增量节点以及与所述增量节点具有直接边关系的第一存量节点。
在一个实施例中,所述装置还包括:
更新模块,用于在所述提取模块从所述流数据中提取增量图数据之后,将所述增量图数据与所述存量图数据融合存储,以更新得到全量图数据。
在又一个实施例中,所述设定类型的存量节点包括:与增量节点不存在边关系的存量节点;
所述增量图数据中的节点包括增量节点以及与所述增量节点具有直接边关系的第一存量节点;
所述计算模块在判断所述节点是否满足预设消息停发条件之前,还用于:
从所述全量图数据中获取与所述第一存量节点存在边关系的第二存量节点的节点信息和边信息;
当所述当前节点为增量图数据中的第一存量节点,且判断出当前节点不满足预设消息停发条件时,所述计算模块,还用于:
触发该当前节点基于发送逻辑向作为目标节点的第二存量节点发送消息。
在一个实施例中,所述预设消息停发条件至少包括以下一种或全部:
本地节点新接收的消息是已接收的历史消息的子集;
本地节点对消息进行合并、过滤处理后,得到的待转发消息集合为空。
在一个实施例中,所述目标节点为具有直接或间接边关系的邻居节点,则所述计算模块在触发当前节点基于发送逻辑向目标节点发送消息时,具体用于:
触发当前节点将已接收的边消息或其它消息转发给所述邻居节点,其中,接收转发消息的邻居节点不是该被转发的消息构造时的发起方;或者,
触发当前节点将新构建的边消息或其它消息发送给所述邻居节点;
或者,
所述目标节点为不存在边关系的非邻居节点,则所述计算模块在触发当前节点基于发送逻辑向目标节点发送消息时,具体用于:
触发当前节点将已接收的其它消息转发给所述非邻居节点,其中,接收转发消息的非邻居节点不是该被转发的消息构造时的发起方;或者,
触发当前节点将新构建的其它消息发送给所述非邻居节点。
在一个实施例中,在每次消息发送结束后,所述计算模块还用于:触发当前节点将接收到的消息合并存储;和/或,在多次消息传递完成之后,所述更新模块还用于:基于消息根据实际的图算法逻辑,加工出图特征,将所述图特征以及消息传递的过程数据存储,以更新全量图数据;和/或,所述节点信息包括节点标识、节点类型和节点属性中的至少一个,其中,所述节点属性包括:在消息迭代过程中计算出来的图特征、计算中间变量的至少一个;和/或,所述边信息包括边的起始点、边类型和边属性中的至少一个,其中,所述边属性包括:在消息迭代过程中计算出来的图特征或其他边属性。
通过使用上述图网络关系扩散装置,在整个图计算过程中,不需要使用添加增量图数据后的全量图数据,而直接使用增量图数据进行图网络扩散,减小数据计算规模,提升计算性能和时效;同时,本说明书实施例中增量数据是实时采集的流数据,确保数据时效性,实现准实时的图网络关系输出。换言之,采用本说明书实施例提出的图网络关系扩散方案,可以保证图网络关系扩散效率。
本说明书一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
本说明书一个实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现执行说明书中任一个实施例中的方法。
图8是本说明书的一个实施例提供的计算设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成图网络计算装置。处理器,执行存储器所存放的程序,并具体用于执行说明书中任一个实施例中的方法。
可以理解的是,本说明书实施例示意的结构并不构成对仓储货物测量装置的具体限定。在说明书的另一些实施例中,仓储货物测量装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置、系统内的各模块之间的信息交互、执行过程等内容,由于与本说明书方法实施例基于同一构思,具体内容可参见本说明书方法实施例中的叙述,此处不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (20)
1.一种图网络关系扩散方法,包括:
采集流数据;
从所述流数据中提取增量图数据,所述增量图数据包含节点信息和边信息,所述增量图数据中的节点与存量图数据中设定类型的存量节点不存在边关系;
利用所述增量图数据中的节点的节点信息和边信息进行消息传递;
输出经过消息传递后属性发生变化的节点信息和/或边信息。
2.如权利要求1所述的方法,所述利用所述增量图数据中的节点的节点信息和边信息进行消息传递,具体包括:
针对所述增量图数据中的每个节点,均执行:
触发当前节点通过其边向具有直接边关系的邻居节点发送消息;
基于当前节点已接收的消息和当前节点的本地节点属性,判断当前节点是否满足预设消息停发条件;
如果满足,将当前节点的状态修改为非活跃;
如果不满足,触发当前节点基于发送逻辑向目标节点发送消息;
继续判断并迭代发送消息,直至每个节点的状态均修改为非活跃;
其中,所述消息为体现边关系的边消息或不体现边关系的其它消息。
3.如权利要求2所述的方法,所述设定类型的存量节点包括:所有类型的存量节点;
所述增量图数据中的各个节点均是与所述存量节点不重复的增量节点。
4.如权利要求2所述的方法,所述设定类型的存量节点包括:与增量节点不存在边关系的存量节点;
所述增量图数据中的节点包括增量节点以及与所述增量节点具有直接边关系的第一存量节点。
5.如权利要求2所述的方法,从所述流数据中提取增量图数据之后,所述方法还包括:
将所述增量图数据与所述存量图数据融合存储,以更新得到全量图数据。
6.如权利要求5所述的方法,所述设定类型的存量节点包括:与增量节点不存在边关系的存量节点;
所述增量图数据中的节点包括增量节点以及与所述增量节点具有直接边关系的第一存量节点;
在判断所述节点是否满足预设消息停发条件之前,所述方法还包括:
从所述全量图数据中获取与所述第一存量节点存在边关系的第二存量节点的节点信息和边信息;
当所述当前节点为增量图数据中的第一存量节点,且判断出当前节点不满足预设消息停发条件时,进一步包括:
触发该当前节点基于发送逻辑向作为目标节点的第二存量节点发送消息。
7.如权利要求2所述的方法,所述预设消息停发条件至少包括以下一种或全部:
本地节点新接收的消息是已接收的历史消息的子集;
本地节点对消息进行合并、过滤处理后,得到的待转发消息集合为空。
8.如权利要求2或6所述的方法,所述目标节点为具有直接或间接边关系的邻居节点,则触发当前节点基于发送逻辑向目标节点发送消息,具体包括:
触发当前节点将已接收的边消息或其它消息转发给所述邻居节点,其中,接收转发消息的邻居节点不是该被转发的消息构造时的发起方;或者,
触发当前节点将新构建的边消息或其它消息发送给所述邻居节点;
或者,
所述目标节点为不存在边关系的非邻居节点,则触发当前节点基于发送逻辑向目标节点发送消息,具体包括:
触发当前节点将已接收的其它消息转发给所述非邻居节点,其中,接收转发消息的非邻居节点不是该被转发的消息构造时的发起方;或者,
触发当前节点将新构建的其它消息发送给所述非邻居节点。
9.如权利要求2所述的方法,在每次消息发送结束后,进一步包括:触发当前节点将接收到的消息合并存储;
和/或,
在多次消息传递完成之后,所述方法还包括:基于消息根据实际的图算法逻辑,加工出图特征,将图特征以及消息传递的过程数据存储,以更新全量图数据;
和/或,
所述节点信息包括节点标识、节点类型和节点属性中的至少一个,其中,所述节点属性包括:在消息迭代过程中计算出来的图特征、计算中间变量的至少一个;
和/或,
所述边信息包括边的起始点、边类型和边属性中的至少一个,其中,所述边属性包括:在消息迭代过程中计算出来的图特征或其他边属性。
10.一种图网络关系扩散装置,包括:
采集模块,用于采集流数据;
提取模块,用于从所述流数据中提取增量图数据,所述增量图数据包含节点信息和边信息,所述增量图数据中的节点与存量图数据中设定类型的存量节点不存在边关系;
计算模块,用于利用所述增量图数据中的节点的节点信息和边信息进行消息传递;
输出模块,用于输出经过消息传递后属性发生变化的节点信息和/边信息。
11.如权利要求10所述的装置,所述计算模块,具体用于:
针对所述增量图数据中的每个节点,均执行:
触发当前节点通过其边向具有直接边关系的邻居节点发送消息;
基于当前节点已接收的消息和当前节点的本地节点属性,判断当前节点是否满足预设消息停发条件;
如果满足,将当前节点的状态修改为非活跃;
如果不满足,触发当前节点基于发送逻辑向目标节点发送消息;
继续判断并迭代发送消息,直至每个节点的状态均修改为非活跃;
其中,所述消息为边消息或不体现边关系的其它消息。
12.如权利要求11所述的装置,所述设定类型的存量节点包括:所有类型的存量节点;
所述增量图数据中的各个节点均是与所述存量节点不重复的增量节点。
13.如权利要求11所述的装置,所述设定类型的存量节点包括:与增量节点不存在边关系的存量节点;
所述增量图数据中的节点包括增量节点以及与所述增量节点具有直接边关系的第一存量节点。
14.如权利要求11所述的装置,还包括:
更新模块,用于在所述提取模块从所述流数据中提取增量图数据之后,将所述增量图数据与所述存量图数据融合存储,以更新得到全量图数据。
15.如权利要求14所述的装置,所述设定类型的存量节点包括:与增量节点不存在边关系的存量节点;
所述增量图数据中的节点包括增量节点以及与所述增量节点具有直接边关系的第一存量节点;
所述计算模块在判断所述节点是否满足预设消息停发条件之前,还用于:
从所述全量图数据中获取与所述第一存量节点存在边关系的第二存量节点的节点信息和边信息;
当所述当前节点为增量图数据中的第一存量节点,且判断出当前节点不满足预设消息停发条件时,所述计算模块,还用于:
触发该当前节点基于发送逻辑向作为目标节点的第二存量节点发送消息。
16.如权利要求10所述的装置,所述预设消息停发条件至少包括以下一种或全部:
本地节点新接收的消息是已接收的历史消息的子集;
本地节点对消息进行合并、过滤处理后,得到的待转发消息集合为空。
17.如权利要求10所述的装置,所述目标节点为具有直接或间接边关系的邻居节点,则所述计算模块在触发当前节点基于发送逻辑向目标节点发送消息时,具体用于:
触发当前节点将已接收的边消息或其它消息转发给所述邻居节点,其中,接收转发消息的邻居节点不是该被转发的消息构造时的发起方;或者,
触发当前节点将新构建的边消息或其它消息发送给所述邻居节点;
或者,
所述目标节点为不存在边关系的非邻居节点,则所述计算模块在触发当前节点基于发送逻辑向目标节点发送消息时,具体用于:
触发当前节点将已接收的其它消息转发给所述非邻居节点,其中,接收转发消息的非邻居节点不是该被转发的消息构造时的发起方;或者,
触发当前节点将新构建的其它消息发送给所述非邻居节点。
18.如权利要求10所述的装置,在每次消息发送结束后,所述计算模块还用于:触发当前节点将接收到的消息合并存储;
和/或,
在多次消息传递完成之后,所述更新模块还用于:基于消息根据实际的图算法逻辑,加工出图特征,将所述图特征以及消息传递的过程数据存储,以更新全量图数据;
和/或,
所述节点信息包括节点标识、节点类型和节点属性中的至少一个,其中,所述节点属性包括:在消息迭代过程中计算出来的图特征、计算中间变量的至少一个;
和/或,
所述边信息包括边的起始点、边类型和边属性中的至少一个,其中,所述边属性包括:在消息迭代过程中计算出来的图特征或其他边属性。
19.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项所述的方法。
20.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110323895.2A CN113157981B (zh) | 2021-03-26 | 2021-03-26 | 一种图网络关系扩散方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110323895.2A CN113157981B (zh) | 2021-03-26 | 2021-03-26 | 一种图网络关系扩散方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157981A true CN113157981A (zh) | 2021-07-23 |
CN113157981B CN113157981B (zh) | 2022-12-13 |
Family
ID=76884944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110323895.2A Active CN113157981B (zh) | 2021-03-26 | 2021-03-26 | 一种图网络关系扩散方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157981B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312368A (zh) * | 2021-07-29 | 2021-08-27 | 北京达佳互联信息技术有限公司 | 一种关系数据更新方法、装置、电子设备及存储介质 |
CN115905266A (zh) * | 2022-12-29 | 2023-04-04 | 支付宝(杭州)信息技术有限公司 | 图结构数据的处理方法和用于图结构数据的存储引擎 |
CN117408584A (zh) * | 2023-12-07 | 2024-01-16 | 国网智能电网研究院有限公司 | 碳资产运营数据模型构建方法、装置、设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595711A (zh) * | 2018-05-11 | 2018-09-28 | 成都华数天成科技有限公司 | 一种分布式环境下图模式关联规则挖掘方法 |
CN109033234A (zh) * | 2018-07-04 | 2018-12-18 | 中国科学院软件研究所 | 一种基于状态更新传播的流式图计算方法及系统 |
US20190042893A1 (en) * | 2015-12-04 | 2019-02-07 | Hewlett Packard Enterprise Development Lp | Incremental clustering of a data stream via an orthogonal transform based indexing |
US20190121969A1 (en) * | 2017-10-24 | 2019-04-25 | Nec Laboratories America, Inc. | Graph Model for Alert Interpretation in Enterprise Security System |
US10534674B1 (en) * | 2018-07-11 | 2020-01-14 | EMC IP Holding Company, LLC | Scalable, persistent, high performance and crash resilient metadata microservice |
CN111159483A (zh) * | 2019-12-26 | 2020-05-15 | 华中科技大学 | 一种基于增量计算的社交网络图摘要的生成方法 |
CN111177486A (zh) * | 2019-12-19 | 2020-05-19 | 四川蜀天梦图数据科技有限公司 | 一种分布式图计算过程中的消息传递方法和装置 |
CN111221887A (zh) * | 2018-11-27 | 2020-06-02 | 中云开源数据技术(上海)有限公司 | 一种对数据湖服务器中的数据进行管理和访问的方法 |
US10679247B1 (en) * | 2012-05-24 | 2020-06-09 | Quantcast Corporation | Incremental model training for advertisement targeting using streaming data |
US20210019674A1 (en) * | 2015-10-28 | 2021-01-21 | Qomplx, Inc. | Risk profiling and rating of extended relationships using ontological databases |
-
2021
- 2021-03-26 CN CN202110323895.2A patent/CN113157981B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10679247B1 (en) * | 2012-05-24 | 2020-06-09 | Quantcast Corporation | Incremental model training for advertisement targeting using streaming data |
US20210019674A1 (en) * | 2015-10-28 | 2021-01-21 | Qomplx, Inc. | Risk profiling and rating of extended relationships using ontological databases |
US20190042893A1 (en) * | 2015-12-04 | 2019-02-07 | Hewlett Packard Enterprise Development Lp | Incremental clustering of a data stream via an orthogonal transform based indexing |
US20190121969A1 (en) * | 2017-10-24 | 2019-04-25 | Nec Laboratories America, Inc. | Graph Model for Alert Interpretation in Enterprise Security System |
CN108595711A (zh) * | 2018-05-11 | 2018-09-28 | 成都华数天成科技有限公司 | 一种分布式环境下图模式关联规则挖掘方法 |
CN109033234A (zh) * | 2018-07-04 | 2018-12-18 | 中国科学院软件研究所 | 一种基于状态更新传播的流式图计算方法及系统 |
US10534674B1 (en) * | 2018-07-11 | 2020-01-14 | EMC IP Holding Company, LLC | Scalable, persistent, high performance and crash resilient metadata microservice |
CN111221887A (zh) * | 2018-11-27 | 2020-06-02 | 中云开源数据技术(上海)有限公司 | 一种对数据湖服务器中的数据进行管理和访问的方法 |
CN111177486A (zh) * | 2019-12-19 | 2020-05-19 | 四川蜀天梦图数据科技有限公司 | 一种分布式图计算过程中的消息传递方法和装置 |
CN111159483A (zh) * | 2019-12-26 | 2020-05-15 | 华中科技大学 | 一种基于增量计算的社交网络图摘要的生成方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312368A (zh) * | 2021-07-29 | 2021-08-27 | 北京达佳互联信息技术有限公司 | 一种关系数据更新方法、装置、电子设备及存储介质 |
CN115905266A (zh) * | 2022-12-29 | 2023-04-04 | 支付宝(杭州)信息技术有限公司 | 图结构数据的处理方法和用于图结构数据的存储引擎 |
CN117408584A (zh) * | 2023-12-07 | 2024-01-16 | 国网智能电网研究院有限公司 | 碳资产运营数据模型构建方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113157981B (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113157981B (zh) | 一种图网络关系扩散方法和装置 | |
CN109391645B (zh) | 区块链轻量化处理方法、区块链节点及存储介质 | |
US11349824B2 (en) | Block sequencing method and system based on tree-graph structure, and data processing terminal | |
CN103138981A (zh) | 一种社交网络分析方法和装置 | |
CN110599166A (zh) | 一种区块链内获取交易依赖关系的方法及装置 | |
CN112785408A (zh) | 基于哈希的对账方法及装置 | |
CN115310558B (zh) | 针对云业务服务异常优化的大数据分析方法及ai分析系统 | |
CN111355696A (zh) | 一种报文识别方法、装置、dpi设备及存储介质 | |
CN114282011B (zh) | 知识图谱的构建方法和装置、图计算方法及装置 | |
WO2024156198A1 (zh) | 一种基于图谱的关联关系筛选方法及装置 | |
CN112395339B (zh) | 系统间数据准入校验方法、装置、计算机设备和存储介质 | |
US11200547B2 (en) | Payment collection control method and device, server, and computer-readable storage medium | |
CN115988001A (zh) | 区块链系统的共识投票处理方法、装置、设备以及介质 | |
CN110336706B (zh) | 网络报文传输处理方法和装置 | |
CN114416407B (zh) | 一种实时数据的乱序修复系统、方法及计算机设备 | |
EP3109773A1 (en) | Relatedness graph evaluation system | |
CN112541548B (zh) | 关系网络的生成方法、装置、计算机设备及存储介质 | |
CN112148353B (zh) | 一种数据处理方法及装置 | |
CN111488490B (zh) | 视频聚类方法、装置、服务器及存储介质 | |
CN111209943B (zh) | 数据融合方法、装置及服务器 | |
CN111383071B (zh) | 房产交易系统涉及的场景的条件筛选方法和装置 | |
CN113177212B (zh) | 联合预测方法和装置 | |
CN115174633B (zh) | 工业互联网业务数据处理方法、系统及云平台 | |
CN115034392B (zh) | Rete网络的编译方法及装置、Rete算法的执行方法及装置 | |
US20230027581A1 (en) | System and method for selecting a tax return from multiple tax return processors |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |