CN105488289B - 分布式环境下动态图结构匹配的方法 - Google Patents
分布式环境下动态图结构匹配的方法 Download PDFInfo
- Publication number
- CN105488289B CN105488289B CN201510908818.8A CN201510908818A CN105488289B CN 105488289 B CN105488289 B CN 105488289B CN 201510908818 A CN201510908818 A CN 201510908818A CN 105488289 B CN105488289 B CN 105488289B
- Authority
- CN
- China
- Prior art keywords
- working terminal
- host side
- subgraph
- node
- working
- 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
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式环境下动态图结构匹配的方法,它包括:(a)建立由一个主机端和多个工作站点组成的支持支持全双工通信和多线程计算的分布式计算框架;(b)主机端向工作站点传递信息,并协调工作站点的工作;(c)工作站点根据主机端传递的信息,计算本地匹配结果Mi;(d)主机端回收各工作站点返回的部分结果Mi,并汇总得到匹配结果M。本发明使得计算高度并行化,实现了动态环境下高效率的分布式计算,从而更加高效、便捷地对动态社交网络进行分析。
Description
技术领域
本发明涉及增量图结构匹配、分布式计算技术领域,具体涉及一种分布式环境下动态图结构匹配的方法。
背景技术
近年来,社交网络、社交媒体的流行,导致其数据量呈现爆炸式增长,对社交网络大数据的分析、研究也因而成为业界研究的热点问题。由于社交网络可以抽象为图结构——用户可被视为图的顶点,用户之间的关系可被看作图的边,因此,基于图结构匹配的分析技术已成为社交网络分析的主要技术之一。
基于不同的应用场景,人们提出了多种图结构匹配语义,其中“子图同构”语义得到了广泛的应用,也成为本发明所采用的查询语义。然而,(1)基于“子图同构”语义的图结构匹配属于一类极难解决的问题——NP完全问题;(2)社交网络的数据往往是分布式存储的,在分布式环境下,各站点间不得不通过传递数据来帮助求解,从而导致分布式环境下的图结构匹配计算十分复杂。
此外,社交网络是动态变化的,例如,不断有新边在网络中出现(新增的边被关联上时间戳,表明其出现的时刻)。为了对动态社交网络进行实时监控,一个重要且亟待解决的问题是:给定一个动态图G,模式图Q和时间窗口tW,计算在tW时间区间内,G中所有与Q同构的子图g。如果把g中最早和最晚出现的边的时间差定义为τ(g),则τ(g)<=tW。直观上看,该问题的一个解决方法为:对更新后的图G⊕△G反复进行子图同构计算,然而,考虑到(1)子图同构计算开销大;(2)计算请求十分频繁,因此该方法并不适用。此外,在动态网络环境下,人们往往对某一时间段内的匹配结果感兴趣,而非全部的,基于历史数据的匹配结果。
为了有效的克服以上困难,更加高效、便捷地对动态社交网络进行分析,我们提出了分布式环境下动态图结构匹配技术来有效解决以上问题。
发明内容
本发明克服了现有技术的不足,提供一种高效、便捷地对动态社交网络进行分析的分布式环境下动态图结构匹配的方法。
考虑到现有技术的上述问题,根据本发明公开的一个方面,本发明采用以下技术方案:
一种分布式环境下动态图结构匹配的方法,它包括:
(a)建立由一个主机端和多个工作站点组成的支持支持全双工通信和多线程计算的分布式计算框架;
(b)主机端向工作站点传递信息,并协调工作站点的工作;
(c)工作站点根据主机端传递的信息,计算本地匹配结果Mi;
(d)主机端回收各工作站点返回的部分结果Mi,并汇总得到匹配结果M。
为了更好地实现本发明,进一步的技术方案是:
根据本发明的一个实施方案,所述主机端执行的步骤包括:
ⅰ)将模式图Q视为无向图,并计算直径d;
ⅱ)对于每一个工作站点Si,主机端将对应的更新△Ei发送到工作站点Si;
ⅲ)主机端汇总各工作站点Si返回的结果Mi,得到匹配结果M。
根据本发明的另一个实施方案,所述工作站点Si执行的步骤包括:
ⅰ)声明空集合S;空图数据Gs;
ⅱ)对于一个工作站点Si对应的更新△Ei中的每条边e=(u,u');
ⅲ)计算本地图Fi的子图Gsub(e),Fi为对应的工作站点Si中的数据;
ⅳ)将子图Gsub(e)中尚未包含在空集合S中的虚拟节点v_v放入空集合S中;
ⅴ)子图将Gsub(e)并入空图数据Gs中;
ⅵ)对于空集合S中的所有虚拟节点v,向所有虚拟节点v所在的工作站点Sj请求信息;
ⅶ)工作站点Si接收从工作站点Sj返回的子图G(v),并与Gs合并;
ⅷ)当所有请求得到返回后,对子图Gs,工作站点Si调用VF2计算得到本地匹配结果Mi;
ⅸ)返回M至主机端。
根据本发明的另一个实施方案,所述工作站点Si执行的步骤还包括:
ⅰ)计算模式图Q中各节点u的拓扑排序;
ⅱ)选择模式图Q中与虚拟节点v标签相同且拓扑排序最大的节点u,构造点对(u,v);
ⅲ)以(u,v)为起始,遵循模式图Q的拓扑结构及节点标签,在Fi中进行宽度优先遍历,Fi为对应的工作站点Si中的数据,并将遍历到的点与边放入子图G(v);
ⅳ)返回G(v)。
本发明还可以是:
根据本发明的另一个实施方案,整个分布式计算采用UDP协议。
与现有技术相比,本发明的有益效果之一是:
本发明的一种分布式环境下动态图结构匹配的方法,支持全双工通信的分布式计算架构,以及各站点支持多线程计算,满足多任务运算的要求,使得计算高度并行化,实现了动态环境下高效率的分布式计算;从而更加高效、便捷地对动态社交网络进行分析。
附图说明
为了更清楚的说明本申请文件实施例或现有技术中的技术方案,下面将对实施例或现有技术的描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅是对本申请文件中一些实施例的参考,对于本领域技术人员来讲,在不付出创造性劳动的情况下,还可以根据这些附图得到其它的附图。
图1示出了根据本发明一个实施例的分布式环境下动态图结构匹配框图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
在分布式环境下,高效率的对动态社交网络进行基于子图同构语义的结构匹配计算,其包括:(a)分布式计算框架;(b)基于动态网络图的分布式匹配计算。
(a)分布式计算框架:一个主-从(Master-Worker)结构,支持全双工通信的分布式计算架构。同时,各站点支持多线程计算,满足多任务运算的要求,使得计算高度并行化。
(b)基于动态网络图的分布式匹配计算:主机(Master)端与工作站(Worker)端的算法,实现动态环境下高效率的分布式计算。
本方案具体如下:
(一)分布式计算框架
分布式环境下,社交网络图G被存储在多个不同的站点,每个站点Si维护当前站点的数据Fi。为了维持各片段间数据的连通性,对于跨站点的边e=(v,v')(v属于Fi,v'属于Fj),在Fi中保留了节点v'的一个副本,并将其称为Fi的“虚拟节点”。通过“虚拟节点v'”,可以向v'所在站点发送请求,来帮助当前站点获取必要的信息,并在本地进行结构匹配计算。
为了有效支持分布式环境下的运行计算,我们采用了如下计算框架。通过该框架,实现了站点间消息的异步传递,从而实现了图结构匹配的并行计算。具体框架结构如下:
计算框架由一个Master站点和多个Worker站点组成。其中,Master站点主要负责:(1)向Worker站点传递消息,并协调Worker站点的工作;(2)回收各Worker站点返回的部分结果,并汇总。各Worker站点主要执行:(1)本地运算;(2)协同其它站点计算。此外,整个分布式计算采用UDP协议,实现了全双工通信。
(二)基于动态网络图的分布式匹配计算
在上述计算框架下,我们设计了如下算法,在分布式环境下开展动态图结构匹配计算:
进程EvaMatch(在Master站点执行)
输入:时间窗口tW,批量更新△E,模式图Q;
输出:匹配结果M;
1.将模式图Q视为无向图,并计算直径d(任意两点间最短距离的最大值);
2.对于每一个Worker站点Si;
3.将对应的更新△Ei发送到Worker站点Si;
4.站点Si调用进程LocalEval(△Ei,Fi,Q,d,tW)计算本地匹配结果Mi;
5.汇总各Worker站点返回的结果Mi;
6.返回M。
进程LocalEval(在Worker站点Si执行):
输入:本地更新△Ei,本地图数据Fi,模式图Q及其直径d,Q时间窗口tW。
输出:本地匹配结果Mi。
1.声明空集合S;空图数据Gs;
2.对于△Ei中的每条边e=(u,u');
3.计算本地图Fi的子图Gsub(e);
4.将Gsub(e)中尚未包含在S中的虚拟节点v_v放入S中;
5.将Gsub(e)并入Gs;
6.对于S中的所有虚拟节点v,向v所在站点Sj请求信息;
7.接收从Sj返回的子图G(v),并与Gs合并;
8.当所有请求得到返回后,对子图Gs,调用VF2计算本地匹配结果M;
9.返回M至Master。
进程FindInfo(在Worker站点Si执行):
输入:节点v,本地图数据Fi,模式图Q及其直径d,时间窗口tW。
输出:子图G(v)。
1.计算Q中各节点u的拓扑排序;
2.选择Q中与v标签相同且拓扑排序最大的节点u,构造点对(u,v);
3.以(u,v)为起始,遵循Q的拓扑结构及节点标签,在Fi中进行宽度优先遍历,并将遍历到的点与边放入G(v);
4.返回G(v)。
参见图1所示,以下对上述算法进行进一步说明。Master站点首先执行EvaMatch来启动计算。考虑到边e更新所造成的影响范围不超过Q中最长的两点间距离(将Q视为无向图),因此,EvaMatch首先计算无向图Q的直径d。随后,Master站点将更新△Ei发送至对应的Worker站点Si,同时触发站点Si的LocalEval进程。当收集到所有的Worker站点返回的部分匹配结果Mi后,Master将结果进行合并,并返回最终结果M。
Worker站点采用多线程的方式开展工作。具体而言,它通过线程T1来响应Master站点的请求,执行LocalEval计算。具体而言,LocalEval首先声明一个空集合S,用于存放“虚拟节点”,以及一个空图Gs(第1行)。随后,对于每条待更新的边e=(u,u'),LocalEval计算受e更新而影响的子图Gsub(e),即:在当前片段Fi中,分别以u,u'为起点进行宽度优先搜索,搜索的最大距离为d,搜索过程中访问到的所有节点所导出的子图即为Gsub。与此同时,对于遍历过程中访问到的“虚拟节点”v_v,如果S中尚未包含v_v,则将其加入S;同时,将Gsub(e)与Gs合并。不难发现,当处理完所有待更新的边后,(a)S包含一组不重复的“虚拟节点”,当前Worker站点将通过这些虚拟节点向它所在站点请求必要的信息用于计算;(b)Gs即为本地站点受△Ei影响的最大范围。随后,对于S中的每个“虚拟节点”v,当前站点向v所在站点请求信息,并在收到返回的子图G(v)后将其与Gs合并。当Worker接收到所有返回的结果后,调用算法VF2计算本地匹配结果M,并将M返回至Master站点。
除了T1线程,Worker同时启用T2线程响应其他Worker站点。当接收到来自其它站点的请求后,T2线程执行FindInfo来计算子图G(v)。具体而言,FindInfo首先计算Q中节点的拓扑排序。其中,拓扑排序的定义如下:(a)r(u)=0,如果s(u)是Qscc中的叶节点;(b)r(u)=max{(1+r(u'))|(s(u),s(u'))\in ESCC},其中Qscc=(Vscc,Escc)是Q的强连通图——即强连通组件收缩为单一节点而形成的图结构,u是其强连通组件所对应节点s(u)内的节点。对于接收到的来自邻居站点的节点v,FindInfo选择Q中与其标签相同且拓扑排序最大的节点u,随后,分别在Q和当前片段中,以u,v为起始点,沿Q的拓扑结构,并遵循节点标签约束进行宽度优先遍历,得到子图G(v),并将其返回请求站点。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分相互参见即可。
在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”、等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
Claims (3)
1.一种分布式环境下动态图结构匹配的方法,其特征在于它包括:
(a)建立由一个主机端和多个工作站点组成的支持全双工通信和多线程计算的分布式计算框架;
(b)主机端向工作站点传递信息,并协调工作站点的工作;
(c)工作站点根据主机端传递的信息,计算本地匹配结果Mi;
(d)主机端回收各工作站点返回的部分结果Mi,并汇总得到匹配结果M;
所述主机端执行的步骤包括:
ⅰ)将模式图Q视为无向图,并计算直径d;
ⅱ)对于每一个工作站点Si,主机端将对应的更新△Ei发送到工作站点Si;
ⅲ)主机端汇总各工作站点Si返回的结果Mi,得到匹配结果M;
所述工作站点Si执行的步骤包括:
ⅰ)声明空集合S;空图数据Gs;
ⅱ)对于一个工作站点Si对应的更新△Ei中的每条边e=(u,u');
ⅲ)计算本地图Fi的子图Gsub(e),Fi为对应的工作站点Si中的数据;
ⅳ)将子图Gsub(e)中尚未包含在空集合S中的虚拟节点v_v放入空集合S中;
ⅴ)子图将Gsub(e)并入空图数据Gs中;
ⅵ)对于空集合S中的所有虚拟节点v,向所有虚拟节点v所在的工作站点Sj请求信息;
ⅶ)工作站点Si接收从工作站点Sj返回的子图G(v),并与Gs合并;
ⅷ)当所有请求得到返回后,对子图Gs,工作站点Si通过计算得到本地匹配结果Mi;
ⅸ)返回M至主机端。
2.根据权利要求1所述的分布式环境下动态图结构匹配的方法,其特征在于所述工作站点Si执行的步骤还包括:
ⅰ)计算模式图Q中各节点u的拓扑排序;
ⅱ)选择模式图Q中与虚拟节点v标签相同且拓扑排序最大的节点u,构造点对(u,v);
ⅲ)以(u,v)为起始,遵循模式图Q的拓扑结构及节点标签,在Fi中进行宽度优先遍历,Fi为对应的工作站点Si中的数据,并将遍历到的点与边放入子图G(v);
ⅳ)返回G(v)。
3.根据权利要求1所述的分布式环境下动态图结构匹配的方法,其特征在于整个分布式计算采用UDP协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510908818.8A CN105488289B (zh) | 2015-12-09 | 2015-12-09 | 分布式环境下动态图结构匹配的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510908818.8A CN105488289B (zh) | 2015-12-09 | 2015-12-09 | 分布式环境下动态图结构匹配的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105488289A CN105488289A (zh) | 2016-04-13 |
CN105488289B true CN105488289B (zh) | 2018-10-19 |
Family
ID=55675264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510908818.8A Active CN105488289B (zh) | 2015-12-09 | 2015-12-09 | 分布式环境下动态图结构匹配的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105488289B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108616503A (zh) * | 2018-03-12 | 2018-10-02 | 北京邮电大学 | 基于udp的数据传输方法及系统 |
CN111382315B (zh) * | 2018-12-29 | 2024-04-05 | 阿里巴巴集团控股有限公司 | 子图同构匹配结果的合并方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521332A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 基于强模拟的图模式匹配方法、装置及系统 |
CN104392010A (zh) * | 2014-12-23 | 2015-03-04 | 北京理工大学 | 一种子图匹配的查询方法 |
CN105117421A (zh) * | 2015-07-31 | 2015-12-02 | 四川长虹电器股份有限公司 | 基于图结构匹配的社交网络分析方法 |
-
2015
- 2015-12-09 CN CN201510908818.8A patent/CN105488289B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521332A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 基于强模拟的图模式匹配方法、装置及系统 |
CN104392010A (zh) * | 2014-12-23 | 2015-03-04 | 北京理工大学 | 一种子图匹配的查询方法 |
CN105117421A (zh) * | 2015-07-31 | 2015-12-02 | 四川长虹电器股份有限公司 | 基于图结构匹配的社交网络分析方法 |
Non-Patent Citations (3)
Title |
---|
《StreamWorks: A system for Dynamic Graph Search》;Sutanay Choudhury等;《Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data》;20130630;第1101-1104页 * |
《云计算环境下的大规模图数据处理技术》;于戈等;《计算机学报》;20111031;第34卷(第10期);第1753-1767页 * |
《大规模图数据匹配技术综述》;于静等;《计算机研究与发展》;20150228;第52卷(第2期);第391-409页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105488289A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10812371B2 (en) | Methods, devices and systems for determining a target path in a network | |
CN107611962B (zh) | 电网系统支路搜索方法、系统及电子设备 | |
CN108009642A (zh) | 分布式机器学习方法和系统 | |
CN109840533A (zh) | 一种应用拓扑图识别方法及装置 | |
CN107196848B (zh) | 消息推送方法及装置 | |
CN103365886A (zh) | 车联网中的空间事件的查询方法和优化查询器 | |
CN105488289B (zh) | 分布式环境下动态图结构匹配的方法 | |
CN107704235A (zh) | 图形化建模中数据流程图的解析方法、系统及存储介质 | |
CN108052444A (zh) | 一种用于移动应用的性能测试的方法与装置 | |
CN114422885A (zh) | 基于拓扑路由的路由搜索方法、装置、设备及介质 | |
CN106202383A (zh) | 一种应用于网络爬虫的网络带宽占比动态预测方法与系统 | |
CN106209840A (zh) | 一种网络包去重方法及装置 | |
US11263453B2 (en) | Method and system for tracking and displaying object trajectory | |
CN111753032A (zh) | 一种地图路网数据的处理方法以及相关装置 | |
CN105007200B (zh) | 网络数据包的分析方法及系统 | |
CN113904950A (zh) | 基于流的网络监测方法、装置、计算机设备及存储介质 | |
CN105634999B (zh) | 一种介质访问控制地址的老化方法及装置 | |
CN114579311B (zh) | 执行分布式计算任务的方法、装置、设备以及存储介质 | |
CN106330556B (zh) | 一种用于生成服务模块调用关联信息的方法与装置 | |
Gunturi et al. | Minimum spanning tree on spatio-temporal networks | |
CN104765800A (zh) | 一种基于大数据的高效搜索方法 | |
CN103970860B (zh) | 一种数据处理的方法、装置及系统 | |
KR101940802B1 (ko) | 단말 자원을 활용한 지역삼각형 개수 산출 시스템 및 그 동작 방법 | |
CN110297950A (zh) | 一种基于Blogel的分布式图受限可达性查询处理方法 | |
CN110363110A (zh) | 人脸正向坐标快速建立方法、装置、储存介质和处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |