CN106447503A - 一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法 - Google Patents
一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法 Download PDFInfo
- Publication number
- CN106447503A CN106447503A CN201610777592.7A CN201610777592A CN106447503A CN 106447503 A CN106447503 A CN 106447503A CN 201610777592 A CN201610777592 A CN 201610777592A CN 106447503 A CN106447503 A CN 106447503A
- Authority
- CN
- China
- Prior art keywords
- node
- contact person
- path
- public
- target group
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 25
- 239000003638 chemical reducing agent Substances 0.000 claims abstract description 18
- 230000007246 mechanism Effects 0.000 claims abstract description 6
- 238000000205 computational method Methods 0.000 claims description 23
- 230000037361 pathway Effects 0.000 claims description 16
- 239000013598 vector Substances 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 9
- 230000009191 jumping Effects 0.000 claims description 7
- 238000009795 derivation Methods 0.000 claims description 3
- 230000009471 action Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 abstract description 2
- 238000005457 optimization Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 241000396836 Trinodes Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- 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/221—Column-oriented storage; Management thereof
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- General Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及社交网络领域,具体涉及一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法,所述计算方法通过Map Reduce运行机制,结合跳级原则(Mapper)和合并原则(Reducer),建立在大型网络图或社交网络中寻找目标群体在若干跳数内的所有公共联系人及其最短联系路径的分布式计算框架,计算所述目标群体到所述公共联系人之间的最短路径,记录并存储于数据库中。本发明成功地将Map模型和Reduce模型结合在一起,实现了目标群体任意节点到该公共联系人之间的最短路径计算和记录;提出了一种效率较高的最短路径优化计算方法,为社交网络的进一步推进发展提供了一种新的算法推进思路。
Description
技术领域
本发明涉及社交网络领域,具体涉及一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法。
背景技术
Map Reduce是一种分布式大批量数据计算框架,它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。Map Reduce的数据基于Key-Value形式进行处理,在Mapper阶段逐行读取文件中一行一行的数据做逻辑处理,Reducer阶段按照Mapper输出的key值对多行数据做归约,其优势在于集合多台普通机器的运算能力并行完成一件事。如何基于Map和Reduce这样简单的两阶段模型,寻找网络图中的多层关系连接,这是一个很有意思的问题。
发明人发现,目前还未有通过Map和Reduce模型的结合运用,实现在大型网络图中寻找公共联系人的有效计算方法。因此,本发明提供一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法,实现在大型网络图中寻找目标群体在跳数K内的所有公共联系人及其最短联系路径,以解决现有技术存在的不足。
发明内容
本发明的目的就在于:针对目前存在的上述问题,提供一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法,实现在大型网络图中寻找目标群体在跳数K内的所有公共联系人及其最短联系路径,以解决现有技术存在的不足。
为了实现上述目的,本发明采用的技术方案是:
一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法,所述计算方法通过Map Reduce运行机制,结合跳级原则(Mapper)和合并原则(Reducer),建立在大型网络图或社交网络中寻找目标群体在若干跳数内的所有公共联系人及其最短联系路径的分布式计算框架,计算所述目标群体到所述公共联系人之间的最短路径,记录并存储于数据库中。
所述计算方法包括如下计算步骤:
(1)初始状态:新建一个以“.txt”为后缀的任意命名文本文件,其内容包含三行数据,其中第一列数据为目标群体节点群体,后面各列数据为目标群体节点之间的最短距离,所述目标群体之间的直接相互关系被记录于所述文本文件中;
(2)第一跳Mapper:从HBase中获取各目标群体节点的直接联系人,并计算这些所述直接联系人到所述目标群体节点之间的距离;若某节点是满足第K跳的公共联系人之一,则该节点的直接联系人均是满足第K+1跳的公共联系人;
(3)第一跳Reducer:采用“合并原则”,若推导过程中对某个节点有多个不一样的距离记录,应该将其合并,取最小值;
具体规律为:非负距离之间的比较,取距离最小的路径;如果非负距离的最小值有多个,则计算路径时保存所有最小距离上的不同路径;距离未知和距离已知之间的比较,取距离已知的路径;如果距离都是-1,那么路径也是-1;
(4)第二跳Map Reduce:将第一次Map Reduce输出的距离矩阵文件作为第二次MapReduce的输入,然后重复所述Mapper(跳级原则)和所述Reduce(合并原则)过程,获取两跳内的公共联系人及其联系路径;
(5)第K跳Map Reduce:将第K-1次Map Reduce输出的所述距离矩阵文件作为第K次Map Reduce的输入,然后重复Mapper(跳级原则)和Reducer(合并原则)过程,获取K跳内的公共联系人及其联系路径;
(6)结果输出:根据“终止原则”,经过多次跳级动作之后,最终能成为目标节点群体在K跳内公共联系人的节点,一定满足一个条件,即到目标节点群体的距离均在0-K之内,只有距离不大于K的节点满足条件,具体规则为:若寻找在K跳内的公共联系人,经过K次MapReduce计算之后,距离矩阵中满足条件的节点为Ni(D1,D2,D3,…,Dm),其中0<Dj(0<j<=m)<=K;所有满足此规则的节点即为K跳内的公共联系人,距离向量中每个元素的路径即为公共联系人到目标节点的最短联系路径。
本发明实现的具体功能如下:
1)大型网络图可以达到亿级节点以上,并且平均每个节点对外的边可以在百级别以上;
2)目标群体可以任意指定若干节点,而不是简单地寻找A、B两点;
3)寻找出目标群体在跳数K内的所有公共联系人,而不是简单地探测在K跳内是否可达;
4)对于任意一个公共联系人,可以记录目标群体任意节点到该公共联系人之间的最短路径。
假定用户ID使用32字节的MD5值表示,则每个用户的直接关联关系至少需要100*32B约32KB存储空间,1亿用户则至少需要1亿*3.2KB约320GB存储空间。若考虑备份等消耗,总存储空间在T级别。
本方案中采取HBase列式数据库,以Key-Value形式存储,rowkey是用户ID,qualifier及value是该用户对应的直接联系人列表。HBase管理T级别数据毫无压力,以rowkey提取数据非常快速,同时可与MapReduce分布式计算框架无缝结合。
优选的,所述目标群体可以是任意指定的若干点;对于任意一个所述公共联系人,所述计算方法可以计算所述目标群体的任意节点到所述公共联系人之间的最短路径。本发明的计算方法适用于在大型网络图中寻找目标群体在跳数K内的所有公共联系人及其最短联系路径。
优选的,所述的大型网络图可以达到亿级节点以上,并且平均每个节点对外的边可以在百级别以上,以利于满足大型网络数据平台中的社交需求。
优选的,所述的目标群体的节点之间可以为多线交错关系,以利于满足在关系错综复杂的情况下,K跳内寻找公共联系人和最短联系路径的快速实现。
优选的,所述的目标群体节点之间的直接相互关系,以距离矩阵的形式存储在文件中,并作为后续Map Reduce计算的输入。
优选的,所述的数据库总存储量在T级别或T级别以上,以更好地满足大量用户数据的有效存储。
优选的,所述的数据库采用HBase列式数据库,以Key-Value形式存储。
优选的,所述Map Reduce运行机制为一种分布式批量数据计算框架,用于大规模数据集的并行运算的编程模型。
优选的,所述公共联系人为网路图中任意两个节点N1和N2在K跳之内均可达的节点。
由于采用了上述技术方案,本发明的有益效果是:
首先,成功地将Map模型和Reduce模型结合在一起,实现了目标群体任意节点到该公共联系人之间的最短路径计算和记录;其次,提出了一种效率较高的最短路径优化计算方法;再次,本发明的计算方法为社交网络的进一步推进和发展提供了一种新的算法推进思路。
附图说明
图1为本发明的两点之间内三跳公共联系人示意图(1);
图2为本发明的两点之间内三跳公共联系人示意图(2);
图3为本发明的三点之间内一跳公共联系人示意图;
图4为本发明的三点之间内两跳公共联系人示意图;
图5为本发明三跳内计算公共联系人的时间对比图;
图6为本发明三跳内计算公共联系人及路径的时间对比图。
图中:A、B、C、D、E、F、G-关系网络中的节点。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1,如图1所示:
假定某关系网络中有A、B、C、D、E、F、G七个节点,其中AC之间、CD之间、DE之间、EF之间、FG之间、GB之间互为有关系的联系人。以A来说,C、D、E分别为A的一跳、两跳、三跳联系人(图中已用数字标出,下同),同理对B来说,G、F、E分别为B的一跳、两跳、三跳联系人。
现以A、B两节点为研究对象(图中绿色标注,下同),寻找A、B之间三跳之内的公共联系人,则只有E节点满足条件(图中蓝色标注,下同),因为A、B到E之间的距离均在三跳之内(含三跳),其他点均不满足该条件(比如B距离D为四跳)。且A、B到E之间的最短联系路径分别为A->C->D->E和B->G->F->E。
实施例2,如图2所示:
现在假如去掉G节点,再寻找A、B之间三跳之内的公共联系人,此时满足条件的公共联系人有D、E节点。A到D为两跳,最短路径为A->C->D,B到D为三跳,最短路径为B->F->E->D;同理,A到E为三跳,最短路径为A->C->D->E,B到E为两跳,最短路径为B->F->E。
实施例3,如图3~4所示:
目标研究点为A、B、C三点,点与点之间不再是简单的单线联系,而是多线交错,比如F节点在两跳内的联系人已经囊括该微型网络图中的所有点,这也正是现实社交网络关系的一个鲜明的缩影代表。正如“六度空间”理论认为,“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人”。
在本例中,A、B、C之间一跳内公共联系人为空(如左图所示),两跳内公共联系人有E、F两点(如右图所示)。尽管A、B到D的最短距离在两跳之内,但C到D的最短距离为三跳,所以D节点无法满足条件。这里值得一提的是,B到F两跳内的最短联系路径有两条,分别是B->D->F和B->A->F。
实施例4,如图3~4所示:
本发明的存储方案为:假定用户ID使用32字节的MD5值表示,则每个用户的直接关联关系至少需要100*32B约32KB存储空间,1亿用户则至少需要1亿*3.2KB约320GB存储空间。若考虑备份等消耗,总存储空间在T级别。
本方案中采取HBase列式数据库,以Key-Value形式存储,rowkey是用户ID,qualifier及value是该用户对应的直接联系人列表。HBase管理T级别数据毫无压力,以rowkey提取数据非常快速,同时可与Map Reduce分布式计算框架无缝结合。在HBase中可能存在以下几行数据:
表1 HBase存储直接联系人示例
实施例5,如图3~4所示:
本发明的计算过程为:
1.初始状态
新建一个空的文本文件,命名不限,以“.txt”后缀即可,内容如下表所示:
表2初始状态
A | 0 | 1 | -1 |
B | 1 | 0 | -1 |
C | -1 | -1 | 0 |
包含三行数据,第一列是目标节点群体,比如在该场景中我们要寻找节点A、B、C三者两跳内的公共联系人,后面三列依次是到节点A、B、C三个节点的最短距离,如果目标节点群体是5个,则这里对应的是5列。每一行数据之间的分隔符可自由定义。比如,第一行A01-1表示节点A到节点A、B、C的最短距离依次是0、1、-1。其中:
1)0表示节点自己与自己之间的最短距离,比如A和A、B和B、C和C;
2)1表示节点之间直接关联,比如A和B、B和A;
3)-1表示节点之间距离未知或者说暂时永不可达,比如A和C之间。
初始状态记录的是目标节点群体之间直接相互关系,以距离矩阵的形式存储在文件之中,作为后续MapReduce计算的输入。对于0、1、-1这样的一组数据,后续统一称为某节点到目标节点群体的距离向量,简称某节点的距离向量,其中的每一个元素表示该节点到目标节点的距离,比如节点A的距离向量为(0,1,-1)。
如果要同时计算最短路径,可在初始的文本文件中的距离元素之后记录路径。如下表所示:
表3初始状态(包含路径)
A | 0 | 1(A->B) | -1 |
B | 1(B->) | 0 | -1 |
C | -1 | -1 | 0 |
节点B是节点A的直接联系人,所以节点A到节点B的最短路径为A->B,同理节点B到节点A之间的最短路径为B->A。
2.第一跳Mapper
有了初始状态的输入,可以进行第一跳内的公共联系人及最短联系路径的计算了。具体做法如下表所示:
表4第一跳Mapper状态
如表4所示,在Mapper阶段,从HBase中获取A、B、C节点的直接联系人,运用第五节描述的“跳级原则”,依次计算这些直接联系人到A、B、C节点的距离。这里需要特别注意的是,-1表示距离未知,所以在跳级时,-1依然保持不变。
比如,A的直接联系人有E、F、B三点,由于A的距离向量是(0,1,-1),那么根据跳级原则Ea、Fa、Ba的距离向量均是(1,2,-1)。同理,B的直接联系人有A、D,则它们的距离向量均是(2,1,-1)。同理,节点C得到Ec的距离向量(-1,-1,1)。
如下表所示,在Mapper状态计算最短路径的过程。
表5第一跳Mapper状态(包含路径)
运用“跳级原则”计算最短路径的规律比较简单:在跳级之前的路径前面加上因跳级带来的节点即可。比如,节点E是A的直接联系人,从节点A跳级会带来节点E(图中表示为Ea),A到B的路径为A->B,那么E到B的路径即为E->A->B。注意特殊情况:若跳级之前的路径距离为-1,跳级之后的距离也是-1,相应的路径也表示为-1。
3.第一跳Reducer
如表6所示,简单运用“跳级原则”,此时的距离矩阵中不仅多出D、E、F这些新的节点记录,同时也多出原有节点的情况。比如,节点A的距离向量既有(0,1,-1),也有(2,1,-1)。为便于区分,图中同一节点的距离向量用相同的颜色标识。这时需要用到第五节描述的“合并原则”了。
Mapper阶段的输出key是节点名称,value是该节点的所有距离向量。根据MapReduce原理,Reducer阶段将获取到按照节点名称聚合的所有距离向量。可以看出,巧妙地使用Map Reduce的运行机制,极大的简化了我们的处理流程。
合并原则的处理效果如下表所示:
表6第一跳Reducer状态
运用“合并原则”,非负距离之间的比较结果取最小的,距离未知(即-1)和距离已知的比较结果取已知的,如果都是-1则取-1。如下表7所示,在Reducer状态计算最短路径的过程。
表7第一跳Reducer状态(包含路径)
运用“合并原则”计算最短路径的规律如下:
1)非负距离之间的比较,取距离最小的路径,比如A和Ab到A之间的距离分别为0和2,结果取0;
2)如果非负距离的最小值有多个,则计算路径时保存所有最小距离上的不同路径;
3)距离未知和距离已知之间的比较,取距离已知的路径,比如Ea和Ec到A之间的距离分别为1和-1,结果取E->A;
4)如果距离都是-1,那么路径也是-1。
4.第二跳Map Reducer
根据前两步的推导描述,可以很方便的做出第二跳的结果。将第一次Map Reduce输出的距离矩阵文件(注意该矩阵没有严格的行与行之间的关系,所以可以分散到多个文件存储)作为第二次Map Reduce的输入,然后重复Mapper(跳级原则)和Reducer(合并原则)过程,可得两跳内的公共联系人及其联系路径。具体如下表8-9所示:
表8第二跳Mapper和Reducer状态
表9第二跳Mapper和Reducer状态(包含路径)
5.第K跳Map Reduce
同理,将第K-1次MapReduce输出的距离矩阵文件作为第K次Map Reduce 的输入,然后重复Mapper(跳级原则)和Reducer(合并原则)过程,可得K跳内的公共联系人及其联系路径。
6.结果输出
观察表8右边可以发现,复杂的关系网络中所有节点在两跳内的距离向量均已算出,根据“终止原则”只有距离不大于K(此处K=2)的节点满足条件。具体规则如下:
若寻找在K跳内的公共联系人,经过K次MapReduce计算之后,距离矩阵中满足条件的节点为Ni(D1,D2,D3,…,Dm),其中0<Dj(0<j<=m)<=K。
所有满足以上规则的节点即为K跳内的公共联系人,距离向量中每个元素的路径即为公共联系人到目标节点的最短联系路径。
实施例6,如图5~6所示:
为验证本专利提出的方法的有效性,我们以微博用户为背景,模拟了一个拥有4000万节点、平均每个节点随机生成200条边的大型网络,然后用两种方法做效果对比。
第一种方法,命名为“MR流”,即本专利提出的基于MapReduce的计算方法,启动多次MapReduce进程,启动次数等于跳数K。第二种方法,命名为“多机多线程”,将每两个节点之间的公共联系人计算分配给一个独立的线程,两两组合目标节点需要多个线程,将这些线程分散到多台机器,以降低单机压力,最后将结果合并取交集。两种方法运行的机器配置、数量等保持一致。
实验一:只计算公共联系人
将目标节点群体依次设定为2个、4个、8个、16个、32个,寻找它们在三跳内的公共联系人。
可以得出,目标节点群体在大概10个范围内时,多机多线程的方法优于MR流的方法,随着节点个数增加,MR流的方法优势渐渐显现出来,且增长幅度明显比多机多线程的方法要低。
实验二:计算公共联系人及路径
可以得出,加入路径计算之后,MR流的方案一直优于多机多线程的方案,并且MR流的时间消耗随着节点个数增多基本稳定,而多机多线程的时间消耗持续大幅增加。这进一步说明了本发明提出的方法的有效性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法,其特征在于:所述计算方法通过Map Reduce运行机制,结合跳级原则(Mapper)和合并原则(Reducer),建立在大型网络图或社交网络中寻找目标群体在若干跳数内的所有公共联系人及其最短联系路径的分布式计算框架,计算所述目标群体到所述公共联系人之间的最短路径,记录并存储于数据库中;
所述计算方法包括如下计算步骤:
(1)初始状态:新建一个以“.txt”为后缀的任意命名文本文件,其内容包含三行数据,其中第一列数据为目标群体节点群体,后面各列数据为目标群体节点之间的最短距离,所述目标群体之间的直接相互关系被记录于所述文本文件中;
(2)第一跳Mapper:从HBase中获取各目标群体节点的直接联系人,并计算这些所述直接联系人到所述目标群体节点之间的距离;若某节点是满足第K跳的公共联系人之一,则该节点的直接联系人均是满足第K+1跳的公共联系人;
(3)第一跳Reducer:采用“合并原则”,若推导过程中对某个节点有多个不一样的距离记录,应该将其合并,取最小值;
具体规律为:非负距离之间的比较,取距离最小的路径;如果非负距离的最小值有多个,则计算路径时保存所有最小距离上的不同路径;距离未知和距离已知之间的比较,取距离已知的路径;如果距离都是-1,那么路径也是-1;
(4)第二跳Map Reduce:将第一次Map Reduce输出的距离矩阵文件作为第二次MapReduce的输入,然后重复所述Mapper(跳级原则)和所述Reduce(合并原则)过程,获取两跳内的公共联系人及其联系路径;
(5)第K跳Map Reduce:将第K-1次Map Reduce输出的所述距离矩阵文件作为第K次MapReduce的输入,然后重复Mapper(跳级原则)和Reducer(合并原则)过程,获取K跳内的公共联系人及其联系路径;
(6)结果输出:根据“终止原则”,经过多次跳级动作之后,最终能成为目标节点群体在K跳内公共联系人的节点,一定满足一个条件,即到目标节点群体的距离均在0-K之内,只有距离不大于K的节点满足条件,具体规则为:若寻找在K跳内的公共联系人,经过K次MapReduce计算之后,距离矩阵中满足条件的节点为Ni(D1,D2,D3,…,Dm),其中0<Dj(0<j<=m)<=K;所有满足此规则的节点即为K跳内的公共联系人,距离向量中每个元素的路径即为公共联系人到目标节点的最短联系路径。
2.如权利要求1所述的计算方法,其特征在于:所述目标群体是任意指定的若干点;对于任意一个所述公共联系人,所述计算方法用于计算所述目标群体的任意节点到所述公共联系人之间的最短路径。
3.如权利要求1所述的计算方法,其特征在于:所述大型网络图的节点数达到亿级以上,并且平均每个节点对外的边可以在百级别以上,节点与节点之间以无向边连接。
4.如权利要求1所述的计算方法,其特征在于:所述目标群体的节点之间为单线连接或多线交错连接关系。
5.如权利要求1或4所述的计算方法,其特征在于:所述目标群体节点之间的直接相互关系,以距离矩阵的形式存储在文件中,并作为后续Map Reduce计算的输入。
6.如权利要求5所述的计算方法,其特征在于:所述数据库总存储量在T级别或T级别以上。
7.如权利要求1或6所述的计算方法,其特征在于:所述数据库采用HBase列式数据库,以Key-Value形式存储,以row key作为用户ID提取数据,所述用户ID与Map Reduce分布式计算框架无缝结合。
8.如权利要求1所述的计算方法,其特征在于:所述Map Reduce运行机制为一种分布式批量数据计算框架,用于大规模数据集的并行运算的编程模型。
9.如权利要求1所述的计算方法,其特征在于:所述公共联系人为网路图中任意两个节点N1和N2在K跳之内均可达的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610777592.7A CN106447503A (zh) | 2016-08-30 | 2016-08-30 | 一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610777592.7A CN106447503A (zh) | 2016-08-30 | 2016-08-30 | 一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106447503A true CN106447503A (zh) | 2017-02-22 |
Family
ID=58090314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610777592.7A Pending CN106447503A (zh) | 2016-08-30 | 2016-08-30 | 一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106447503A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110264649A1 (en) * | 2008-04-28 | 2011-10-27 | Ruey-Lung Hsiao | Adaptive Knowledge Platform |
US20150286702A1 (en) * | 2014-04-08 | 2015-10-08 | International Business Machines Corporation | Adaptive variable selection for data clustering |
CN105393265A (zh) * | 2013-07-12 | 2016-03-09 | 微软技术许可有限责任公司 | 人机交互学习中的主动特征化 |
-
2016
- 2016-08-30 CN CN201610777592.7A patent/CN106447503A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110264649A1 (en) * | 2008-04-28 | 2011-10-27 | Ruey-Lung Hsiao | Adaptive Knowledge Platform |
CN105393265A (zh) * | 2013-07-12 | 2016-03-09 | 微软技术许可有限责任公司 | 人机交互学习中的主动特征化 |
US20150286702A1 (en) * | 2014-04-08 | 2015-10-08 | International Business Machines Corporation | Adaptive variable selection for data clustering |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Arifuzzaman et al. | Patric: a parallel algorithm for counting triangles in massive networks | |
CN108228877B (zh) | 基于学习排序算法的知识库补全方法及装置 | |
CN108228728B (zh) | 一种参数化的论文网络节点表示学习方法 | |
CN110009430A (zh) | 作弊用户检测方法、电子设备及计算机可读存储介质 | |
Díaz-Morales | Cross-device tracking: Matching devices and cookies | |
US20230401281A1 (en) | Matrix operation-based method for modifying mobile social network graph | |
Borzymek et al. | Enriching trust prediction model in social network with user rating similarity | |
Chou et al. | Biological-based genetic algorithms for optimized disaster response resource allocation | |
RU2017102903A (ru) | Система и способ для идентификации релевантной информации для предприятия | |
CN111159420A (zh) | 一种基于属性计算与知识模板的实体优化方法 | |
CN110266598A (zh) | 一种路由信息处理方法、装置、设备及可读存储介质 | |
Potter et al. | Querying distributed RDF graphs: the effects of partitioning | |
CN103761298B (zh) | 一种基于分布式架构的实体匹配方法 | |
Xuan et al. | Node matching between complex networks | |
CN106357418A (zh) | 一种基于复杂网络的特征提取方法及装置 | |
CN106447503A (zh) | 一种基于Map Reduce的大型网络图中寻找公共联系人及其路径的计算方法 | |
CN113590912B (zh) | 融合节点相对位置和绝对度分布的跨社交网络对齐方法 | |
Basiri et al. | CORER: a new rule generator classifier | |
CN111562990B (zh) | 一种基于消息的轻量级无服务器计算方法 | |
CN113127461B (zh) | 一种数据清洗方法、装置、电子设备及存储介质 | |
Venkatesan et al. | A novel Cp-Tree-based co-located classifier for big data analysis | |
CN113409160A (zh) | 基于k桁架建立社交网络中关键关系的方法 | |
Roy | A new memetic algorithm with GA crossover technique to solve Single Source Shortest Path (SSSP) problem | |
CN111967671A (zh) | 基于支持向量数据域描述的跨境活跃用户识别方法及装置 | |
KR102106670B1 (ko) | 유사도 기반의 관계망에서 군집 구조를 도출하는 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20200721 |
|
AD01 | Patent right deemed abandoned |