CN103138981A - 一种社交网络分析方法和装置 - Google Patents
一种社交网络分析方法和装置 Download PDFInfo
- Publication number
- CN103138981A CN103138981A CN2011103912937A CN201110391293A CN103138981A CN 103138981 A CN103138981 A CN 103138981A CN 2011103912937 A CN2011103912937 A CN 2011103912937A CN 201110391293 A CN201110391293 A CN 201110391293A CN 103138981 A CN103138981 A CN 103138981A
- Authority
- CN
- China
- Prior art keywords
- social networks
- node
- nodes
- information
- nodal information
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种社交网络分析方法和装置。其中该方法包括:根据社交网络文件生成针对每个节点的节点信息;控制所述社交网络中所有节点根据相应的节点信息进行遍历,遍历所述社交网络所有节点后,得到所述社交网络的拓扑特征值。本发明通过采用多个节点同时并发的机制,即所有节点都并行推送遍历信息,解决了社交网络中需要多次迭代才能遍历完数据的问题,降低了分析的时间复杂度,提高分析效率。
Description
技术领域
本发明涉及一种业务支撑技术,尤其涉及一种社交网络分析方法和装置。
背景技术
社交网络(social network)是指社会个体成员之间因为互动而形成的相对稳定的关系体系,社交网络关注的是人们之间的互动和联系,社会互动会影响人们的社会行为。
社交网络分析(social network analysis)是从社交网络角度出发,对大规模数据进行全面的,多维度的分析。社交网络可看作是由图表示的异构多关系数据集,图中节点表示对象,边表示对象间联系或相互作用的链接
过去的几十年间,社交网络受到越来越多的关注。特别是移动电信网络和互联网的发展,产生了大量的,容易被计算机处理的社交网络数据。从这些海量数据中获取知识,从而理解商业行为,识别业务模式,分析用户行为,更好利用资源,提高服务质量,将成为运营商的核心竞争力之一。
电信社群网络是一种以用户为节点、用户之间的通话为边构造的网络,该网络既体现了电信用户之间的通信关联关系,又在一定程度上体现了社会中人与人之间的社交关系。利用通话数据的多维属性,如通话时间、通话时长、频率等,从多个视角对人们日常的通话行为进行了刻画,从而深刻揭示了人们交往行为的模式和内在特征。
相对于传统的基于属性向量的分析,社交网络分析(social networkanalysis)通过考虑对象间连接关系,可以获得如下新知识:根据对象的属性和连接,以及连接到它的对象的属性预测对象的类型;根据所涉及的对象的性质,预测二者间交往链接的类型或目的;预测对象间是否存在交往链接;根据对象的属性和链接,预测两个对象是否事实上相同;根据对象属性和链接结构,预测对象是否处于一个组或簇。
目前,对电信通信网络和互联网这样大规模的社交网络进行分析,是一个比较困难的问题。
一方面,电信领域的用户通话记录通常是以数据库表的方式存储,而传统的关系数据库和数据仓库没有专门的网络/图数据生成和计算能力。因此,在数据仓库上进行社交网络分析,首先需要采用SQL编程的方式生成网络数据,再进行计算,导致社交网络分析的能力非常有限。
目前,***经营分析***用于用户行为分析的客户流失预测中使用到社会交往圈信息,采用的技术方案是用类似“Select主叫号码,被叫号码,sum(时长)from详单表where条件Groupby主叫号码”的SQL语句,从数据仓库中查询得到客户间主叫与被叫、时长的记录表,代表网络上节点、节点间连接、权重信息。然后将这些信息用于客户流失预测应用中。
以一个拥有3000万用户的中等规模省公司为例,平均每个用户每月有100条通话记录,则每月的话单记录数为3000万*60%*100条/月=18亿条/月,目前即使只处理一个月的18亿条话单数据生成交往圈记录表,就需要2天的时间。实际分析应用中,为保证分析效果,通常需要3~6个月的详单进行分析,因此现有方案无法适应从大规模数据生成社交网络。另外,现有技术方案也仅对具有直接通过交往行为的用户之间生成了边表格式的单层网络拓扑结构,而对用户之间的间接交往行为基本无法分析,即无法得到网络整体拓扑特征值。
另一方面,针对大规模数据,即使生成了社交网络,传统的社交网络分析软件也往往是单机应用,很难扩展以支持电信级和互联网级大规模海量数据的分析。
社交网络中网络整体拓扑特征的分析,即图上各节点和边的各种特征值的计算,是各种社交网络分析应用的基础,也是决定社交网络分析***效率的关键计算环节。这些特征值的计算,经常需要对整个网络上所有节点和边遍历求解,这也是制约现有社交网络分析***无法适应大规模海量数据分析的关键因素。比如,社交网络中所有节点和边的pagerank值、单源和多源最短路径值求解,都需要对整个图进行遍历。如果是大规模网络,则基于单机的分析软件,可能会出现内存无法承受的情况;或者由于各特征值的求解方法通常是n3时间复杂度,导致***无法响应大规模网络特征计算任务。
现有技术的主要缺点包括:
1、现有基于数据仓库/数据库的社交网络生成和分析应用,无法处理由大规模数据生成社交网络的任务,且网络分析只能针对网络的单层拓扑结构特征进行分析,对网络整体拓扑结构特征的分析基本无能为力。
2、现有社交网络分析软件是基于单机的应用,无法适应电信级和互联网级海量数据形成的大规模社交网络的分析任务,尤其是对网络整体拓扑特征值分析时,需要对全部节点和边在整个网络上遍历求解的情形,成为制约***效率和处理能力的瓶颈。
发明内容
本发明的目的在于,提供一种社交网络分析方法和装置,可以针对大规模的社交网络进行快速、高效的分析。
为实现上述目的,根据本发明的一个方面,提供一种社交网络分析方法,包括:
根据社交网络文件生成针对每个节点的节点信息;
控制所述社交网络中所有节点根据相应的节点信息进行遍历,遍历所述社交网络所有节点后,得到所述社交网络的拓扑特征值。
其中,所述节点信息包括:节点ID,邻接点列表及本节点当前已知遍历信息;控制所述社交网络中所有节点根据相应的节点信息进行遍历包括:
控制所述社交网络中所有节点发送各自的当前已知遍历信息到其邻接节点,同时接收其邻接节点发送来的邻接节点的当前已知遍历信息。
优选地,该方法还包括:
根据推进标识控制所述社交网络中所有节点根据相应的节点信息进行遍历:
当所述推进标识为待推进状态时,控制所述社交网络中的所有节点继续进行遍历;
当所述推进标识为停止推进状态时,控制所述社交网络中的所有节点停止遍历。
优选地,该方法还包括:
当任意节点接收到的遍历信息被更新时,将所述推进标识设置为待推进状态。
具体地,根据社交网络文件生成针对每个节点的节点信息的操作包括:
对于邻接表格式的社交网络文件,将所述社交网络文件中每条邻接表格式记录直接映射为节点的节点信息;
对于边表格式的社交网络文件,依照边表记录,将具有相同源节点的记录汇总,形成所述源节点对应的邻接表格式记录,并映射为所述源节点的节点信息。
优选地,该方法还包括:根据交往记录文件生成社交网络文件的,该操作包括:
根据预设的过滤规则对所述交往记录文件中的交往记录进行过滤;
将过滤后的交往记录形成边表格式或邻接表格式的社交网络文件。
其中,利用多个计算节点并行执行上述操作。
为实现上述目的,根据本发明的另一个方面,提供一种社交网络分析装置,包括:
节点信息生成模块,用于根据社交网络文件生成针对每个节点的节点信息;
遍历模块,用于控制所述社交网络中所有节点根据相应的节点信息进行遍历,遍历所述社交网络所有节点后,得到所述社交网络的拓扑特征值。
其中,所述节点信息包括:节点ID,邻接点列表及本节点当前已知遍历信息;
所述遍历模块,用于控制所述社交网络中所有节点发送各自的当前已知遍历信息到其邻接节点,同时接收其邻接节点发送来的邻接节点的当前已知遍历信息。
优选地,该装置还包括:
标识状态分析模块,用于分析所述推进标识的状态;
所述遍历模块,用于根据推进标识控制所述社交网络中所有节点根据相应的节点信息进行遍历:当所述推进标识为待推进状态时,控制所述社交网络中的所有节点继续进行遍历;当所述推进标识为停止推进状态时,控制所述社交网络中的所有节点停止遍历。
优选地,该装置还包括:
节点状态分析模块,用于分析所述社交网络中的节点接收到的遍历信息是否被更新;
推进标识设置模块,用于当任意节点接收到的遍历信息被更新时,将推进标识设置为待推进状态。
其中,所述节点信息生成模块包括:
映射子模块,对于邻接表格式的社交网络文件,将所述社交网络文件中每条邻接表格式记录直接映射为节点的节点信息;
或所述节点信息生成模块包括:
格式转换子模块,用于对于边表格式的社交网络文件,依照边表记录,将具有相同源节点的记录汇总,形成所述源节点对应的邻接表格式记录;
和映射子模块,用于将所述邻接表格式记录映射为源节点的节点信息。
上述各个装置所进行的操作由多个计算节点并行执行。
本发明的社交网络分析方法和装置,通过采用多个节点同时并发的机制,即所有节点都并行推送遍历信息,解决了社交网络中需要多次迭代才能遍历完数据的问题,降低了分析的时间复杂度,提高分析效率。
另外,本发明通过采用根据推进标识确定是否遍历完信息,解决如何确保并发过程中数据遍历完成的问题,从而实现对网络整体拓扑结构的分析,进一步降低了分析的时间复杂度,提高分析效率。
另外,本发明通过采用并行数据处理机制,即将需要处理的文件分割成数据分片后,由多个计算节点分别进行处理后并行输出操作结果,在进行汇总得到文件的最终处理结果,更好的适应大规模海量社交网络的特征分析任务;可以通过增加计算节点来应对网络数据规模不断增加的问题;另外,降低了对数据处理时间复杂度,提高数据处理效率。
附图说明
图1是本发明社交网络分析方法实施例的流程图;
图2是本发明社交网络分析方法另一实施例的流程图;
图3是本发明并行数据处理的流程示意图;
图4是本发明社交网络分析装置实施例的结构图;
图5是本发明节点状态分析模块实施例的结构图;
图6是发明社交网络分析装置另一实施例的结构图。
具体实施方式
本发明主要是通过对社交网络进行分析,得到网络整体拓扑特征值,如pagerank值、betweenness值、单源最短路径、多源最短路径等。以下结合附图对本发明进行详细说明。
方法实施例
如图1所示,本发明社交网络分析方法实施例包括:
步骤101,从业务记录中提取节点间的交往记录,得到包含所述交往记录的交往记录文件;例如,通信交往圈分析中,需要从详单中提取出主叫号码、被叫号码、通话时长、通话开始时间、短信发送号码、短信接收号码等属性列,这些属性列将用于生成语音通话或短信交往圈网络中节点对象、边、权重。
数据提取步骤输出的是包含了对象间交往明细的交往记录文件,该文件是被提取列的全表记录文件,该文件中的每一行代表两个对象间的一次交往活动,如下表1所示。
表1
主叫号码 | 被叫号码 | 时长 | 开始时间 |
13800000001 | 13800000002 | 40 | 2011-07-15-12:30 |
13800000001 | 13800000003 | 10 | 2011-06-10-09:20 |
步骤102,根据所述交往记录文件生成社交网络文件;;
优选地,步骤102包括:根据预设的过滤规则对交往记录文件中的交往记录进行过滤;将过滤后的交往记录形成边表格式或邻接表格式的社交网络文件。
例如,通话时长>20分钟,短信条数大于10条等规则。以交往记录文件为输入,按照过滤条件对每条交往记录筛选,形成边表格式或邻接表格式表示的社交网络文件。
其中边表格式的社交网络文件如下表2所示;
表2
源点 | 目标点 | 边权重 |
13800000001 | 13800000002 | 40 |
邻接表格式的社交网络文件如下表3所示;
表3
源点 | 邻接点1 | 边权重1 | 邻接点2 | 边权重2 |
13800000001 | 13800000002 | 40 | 13800000003 | 10 |
另外,如果过滤规则是针对交往记录汇总结果的约束条件,如月通话时长>30分钟,则先对交往记录按ID进行汇总,然后依照过滤条件形成社交网络文件。
步骤103,根据社交网络文件生成针对每个节点的节点信息;
对于邻接表格式的社交网络文件,将所述社交网络文件中每条邻接表格式记录直接映射为节点的节点信息;
对于边表格式的社交网络文件,依照边表记录,将具有相同源节点的记录汇总,形成所述源节点对应的邻接表格式记录,并映射为所述源节点的节点信息;
如下表4所示,节点信息包含了如下所示三部分内容:节点ID,即主叫号码;邻接点列表,该节点直接连接的所有节点及相应权重列表,即被叫号码及通话时长列表;本节点当前已知的网络遍历信息,包括节点自身的一些属性值,或者接收其邻接节点传递过来的当前网络从全部源节点出发的遍历信息;
表4
ID(主叫号码) |
邻接点列表(被叫号码及通话时长列表) |
本节点当前已知网络遍历状态信息列表 |
步骤104,控制社交网络中所有节点根据相应的节点信息进行遍历,遍历社交网络所有节点后,得到所述社交网络的拓扑特征值;
控制社交网络中所有节点根据相应的节点信息进行遍历包括:
控制社交网络中所有节点发送各自的当前已知遍历信息到其邻接节点,同时接收其邻接节点发送来的邻接节点的当前已知遍历信息。其中与该节点有直接链路连接的节点均为该节点的邻接节点;
步骤109,遍历结束,输出社交网络的拓扑特征值。
优选地,步骤104和步骤109之间还包括:
步骤105,判断任意节点接收到的遍历信息是否被更新,如果是,执行步骤106,如果否,执行步骤107;
步骤106,将推进标识设置为待推进状态;
步骤107,判断推进标识是否待推进状态,如果是,执行步骤108,如果否执行步骤109;
步骤108,当所述推进标识为待推进状态时,则表示还有节点缺少从全部源节点到自己的遍历信息,或某个节点的某项遍历信息需要进一步在全网进行推进,控制所述社交网络中的所有节点继续发送当前遍历信息到其邻接节点,同时接收其邻接节点发送来的遍历信息。
本实施例的社交网络分析方法,通过采用多个节点同时并发的机制,即所有节点都并行推送遍历信息,解决了社交网络中需要多次迭代才能遍历完数据的问题,降低了分析的时间复杂度,提高分析效率。
另外,本实施例中,新增了推进标识用以标识节点的遍历状态,即是否还有节点缺少从其他节点到自身的遍历信息,或某个节点的某项遍历信息需要进一步全网进行推进。通过采用根据推进标识确定是否遍历完信息,解决如何确保并发过程中数据遍历完成的问题,从而实现对网络整体拓扑结构的分析,进一步降低了分析的时间复杂度,提高分析效率。
由于本实施例的处理环节都涉及海量数据的处理,为有效解决效率瓶颈,采用由多个计算节点(如PC)组成的分布式并行计算集群进行数据处理。
如图2和图3所示,更优地,本实施例中,利用多个计算节点并行执行上述操作:
步骤201,将各个步骤输入的业务记录、交往记录文件或社交网络文件按照等大小平均分割成多个数据分片,将每个数据分片指定发送到相应的计算节点;在处理相同文件的数据分片时,所有计算节点执行相同的操作,不同计算节点负责不同的数据分片;
步骤202,控制各个计算节点对所述数据分片执行相应的操作,且并行输出的操作结果,将所述数据分片操作的输出结果以<key,value>的形式表示;
步骤203,接收所述操作结果并进行汇总,即将操作结果中具有相同key值的value发送到一个计算节点进行汇总,得到所述各个步骤输出的交往记录文件、社交网络文件或拓扑特征值。也可以在多个计算节点上并行执行相同的汇总操作。下面以处理由主叫号码、被叫号码、通话时长形成的社交网络为实例,本实施例的分布式并行化处理如下:
一、交往记录并行化
对海量大规模交往记录组成的数据集,按照等大小平均分割原则,分为规模适度的多个数据分片。然后每个数据分片被指定给一个PC计算节点,多个数据分片被同时分配给多个PC计算节点。每个PC计算节点对自己接受的数据分片执行如下相同的分治操作和汇总操作任务,各PC计算节点间并行地输出各自结果。
(1)并行分治操作:
读入数据分片内第一行通话记录,选择主叫号码、被叫号码、本次通话时长对应的属性值,按照(key=“主叫号码+被叫号码”,value=本次通话时长)键值对输出;
如果数据分片中还有记录,则读入下一行通话记录,选择主叫号码、被叫号码、通话时长对应的属性值,按照(key=“主叫号码+被叫号码”,value=通话时长)的键值对输出;如果数据分片记录中所有记录已处理则结束;
(2)并行汇总操作:
将分治操作产生的各数据文件中,具有相同主被叫key值的行的所有本次通话时长value集中在一起,然后分配给一个PC节点进行该key值对应的每个value值的求和,并输出(主叫号码,被叫号码,sum(本次通话时长))到交往记录文件。
二、社交网络生成并行化
对海量大规模交往记录组成的数据集,按照等大小平均分割原则,分为规模适度的多个数据分片。然后每个数据分片被指定给一个PC计算节点,多个数据分片被同时分配给多个PC计算节点。每个PC计算节点对自己接受的数据分片执行如下相同的操作任务,各PC计算节点间并行地输出结果。
(1)并行分治操作:
读入数据分片内第一行交往记录,将总通话时长与用户定义的通话时长>30分的过滤条件做对比判断,若满足条件,则按照(key=主叫号码,value=被叫号码+通话时长)的边表格式输出,若不满足条件则被过滤;
(2)并行汇总操作:
若需要按照邻接表格式表示网络,则可在并行分治操作输出边表格式文件后,执行并行汇总操作;将分治操作产生的各数据文件中,具有相同主叫key值的行的被叫号码、相应通话时长value集中在一起,然后分配给一个PC节点进行该key值对应的每个value值的拼接,并输出(主叫号码,被叫号码1,通话时长1,被叫号码2,通话时长2,....)到社交网络文件。
三、特征值分析并行化
1、如果输入网络是点对表示的边表格式的社交网络文件,则先并行地将其转换为邻接表格式的社交网络文件,网络上每个节点按上述Node内容表示:
对海量大规模点对表示的数据集,按照等大小平均分割原则,分为规模适度的多个数据分片;然后每个数据分片被指定给一个PC计算节点,多个数据分片被同时分配给多个PC节点,每个PC计算节点对自己接受的数据分片执行如下相同的操作任务,各PC节点间并行地输出结果;
(1)并行分治操作:
对数据分片中每一行点对格式边表记录,按照key=节点ID(主叫号码),Value=邻接点ID(被叫号码)+权重(通话时长)的格式输出;
(2)并行汇总操作:
在执行并行分治各PC产生的输出结果中,收集key值是相同节点ID(主叫号码)的记录,将这些记录中各邻接点ID+权重依次汇总在一起,形成邻接表信息,封装到当前节点ID(主叫号码)的Node对象中;若当前节点是某个遍历任务的起始源节点,则形成该源节点的初始化网络遍历信息,并封装到Node对象中(遍历信息会因待计算网络特征不同而不同);按照key=节点ID(主叫号码),value=Node对象的格式输出;
2、控制全网所有节点并行地发送各节点的当前遍历特征信息到其邻接节点,同时并发地接收其邻接节点发送来的遍历信息;
(1)并行分治操作:
对数据分片内,每一行记录代表的当前节点及其邻接点列表和Node对象。如果当前节点中标记位显示,该节点仍未向邻接节点发送当前已知的遍历特征信息,则以(key=邻居节点ID(被叫号码),value=当前已知遍历信息)为输出的形式向其邻居节点发出遍历信息;同时,把当前节点中标记已知遍历信息是否已向邻接节点发送的标记位改为已发送状态;
(2)并行汇总操作:
在执行并行分治各PC产生的输出结果中,收集key值(被叫号码)相同的全部记录,即得到指向该被叫号码的全部主叫号码,以及这些主叫号码发送来的遍历信息,将这些遍历信息按照特定网络特征计算的规则整合,并用于更新当前被叫号码节点中Node对象内封装的已知遍历信息;以(key=节点ID(被叫号码),value=更新后Node对象)的形式输出到文件;如果任意节点收到某项新的遍历信息,且确定需要更新自己原有的该项遍历信息,则将推进标识设置为待推进状态;
3、判断推进标识是否被设置为待推进状态,如果是待推进状态,则表示还有节点缺少从全部源节点到自己的遍历信息或某个节点的某项遍历信息需要进一步在全网进行推进,需要进行再次遍历,执行新一轮全网联动并发推进。
本实施例通过采用并行数据处理机制,即将需要处理的文件分割成数据分片后,由多个计算节点分别进行处理后并行输出操作结果,在进行汇总得到文件的最终处理结果,更好的适应大规模海量社交网络的特征分析任务;可以通过增加计算节点来应对网络数据规模不断增加的问题;另外,降低了对数据处理时间复杂度,提高数据处理效率。
装置实施例
如图4所示,本发明社交网络分析装置实施例包括:
节点信息生成模块41,用于根据社交网络文件生成针对每个节点的节点信息;
遍历模块42,用于控制所述社交网络中所有节点根据相应的节点信息进行遍历,遍历所述社交网络所有节点后,得到所述社交网络的拓扑特征值。
其中,节点信息包括:节点ID,邻接点列表及本节点当前已知遍历信息;
遍历模块42,用于控制所述社交网络中所有节点发送各自的当前已知遍历信息到其邻接节点,同时接收其邻接节点发送来的邻接节点的当前已知遍历信息。
优选地,该装置还包括:
标识状态分析模块43,用于分析所述推进标识的状态;
遍历模块42,用于根据推进标识控制所述社交网络中所有节点根据相应的节点信息进行遍历:当所述推进标识为待推进状态时,控制所述社交网络中的所有节点继续进行遍历;当所述推进标识为停止推进状态时,控制所述社交网络中的所有节点停止遍历。
优选地,该装置还包括:
节点状态分析模块44,用于分析所述社交网络中的节点接收到的遍历信息是否被更新;
推进标识设置模块45,用于当任意节点接收到的遍历信息被更新时,将推进标识设置为待推进状态。
如图5所示,具体地,节点信息生成模块44包括:
映射子模块441,对于邻接表格式的社交网络文件,将所述社交网络文件中每条邻接表格式记录直接映射为节点的节点信息;
或所述节点信息生成模块包括:
格式转换子模块442,用于对于边表格式的社交网络文件,依照边表记录,将具有相同源节点的记录汇总,形成所述源节点对应的邻接表格式记录;
和映射子模块441,用于将所述邻接表格式记录映射为源节点的节点信息。
本实施例的社交网络分析装置,通过采用多个节点同时并发的机制,即所有节点都并行推送遍历信息,解决了社交网络中需要多次迭代才能遍历完数据的问题,降低了分析的时间复杂度,提高分析效率。
另外,本实施例通过采用根据推进标识确定是否遍历完信息,解决如何确保并发过程中数据遍历完成的问题,从而实现对网络整体拓扑结构的分析,进一步降低了分析的时间复杂度,提高分析效率。
更优地,上述各个装置所进行的操作由多个计算节点并行执行。如图6所示,本实施例中,
第一计算节点PC1,用于将各个步骤输入的业务记录、交往记录文件或社交网络文件按照等大小平均分割成多个数据分片,将每个数据分片指定发送到相应的第二计算节点PC2;PC2可以有多个,多个数据分片被同时分配给多个PC2;
第二计算节点PC2,用于对接收到的数据分片执行相应的操作,且并行输出操作结果;每个PC2对自己接受的数据分片执行如下相同的分治操作和汇总操作任务,各PC2间并行地输出各自结果;
第三计算节点PC3,用于接收PC2的操作结果并进行汇总,得到所述各个步骤输出的交往记录文件、社交网络文件或拓扑特征值。
其中,第二计算节点PC2,用于将所述数据分片的操作结果以<key,value>的形式表示出来。第三计算节点PC3,用于将所述操作结果中具有相同key值的value发送到一个计算节点进行汇总。
本实施例中,PC1也可以有多个,每个PC1执行相同的操作,并行地输出操作结果。同理,PC3也如此。
假设整个大规模网络的节点数为V,从各节点为源节点出发的平均路径层次为d,则基于本发明拓扑特征值分析的时间复杂度为O(d*每层并行迭代时间t)。依据六度空间原理网络中任意两点间的最短路径不会超过7跳,可知d对时间复杂度的影响不大,而每层迭代内基于数据分片的并行分而治之操作,也仅处理适度规模大小的数据,同时当网络规模扩大时,亦可通过增加PC节点数来保证每个PC处理适度规模大小的网络数据,从而保证每个分片的响应时间也较快,如此每层并行迭代的时间t也不会随着网络规模的扩大而明显增加。保证了对大规模网络特征分析的高效性和高扩展性。
本实施例的装置通过采用并行数据处理机制,即将需要处理的文件分割成数据分片后,由多个计算节点分别进行处理后并行输出操作结果,在进行汇总得到文件的最终处理结果,更好的适应大规模海量社交网络的特征分析任务,降低了对数据处理时间复杂度,提高数据处理效率。
以下通过多源最短路径分析对实施例中的拓扑特征值分析进行说明。
每个节点记录所有源节点到该节点的当前最短路径距离信息(Node节点中存储的距离遍历信息可以是一个hashtable),同时记录到多个源点的全部距离信息是否已发送到其邻居节点。如果一个节点收到的到某源点的距离比原来小或者此节点没有到某源点的距离信息,则这个节点会向公共推进信号设置待推进标识。在下轮并发推进时,所有节点就会向它的邻居节点发送到所有源节点的距离信息。这样依据推进标识,全网所有节点不断地并发推进,直到所有节点到所有源点的最短距离不再变化(即推进信号标志为无任何节点的任何遍历信息需要推进)停止。无须对所有节点依次求单源最短路径才能得到多源最短路径。
现有技术中,采用dijkstra方法进行单源和多源最短路径分析。
设G=(V,E)是一个带权有向图,把图中顶点集合V分成两组,第一组为已求出最短路径的顶点集合(用S表示,初始时S中只有一个源点,以后每求得一条最短路径,就将加入到集合S中,直到全部顶点都加入到S中,算法结束),第二组为其余未确定最短路径的顶点集合(用U表示),按最短路径长度的递增次序依次把第二组的顶点加入S中。在加入的过程中,总保持从源点v到S中各顶点的最短路径长度不大于从源点v到U中任何顶点的最短路径长度。此外,每个顶点对应一个距离,S中的顶点的距离就是从v到此顶点的最短路径长度,U中的顶点的距离,是从v到此顶点只包括S中的顶点为中间顶点的当前最短路径长度。
具体步骤如下:
(1)初始时,S只包含源点,即S=,v的距离为0。U包含除v外的其他顶点,U中顶点u距离为边上的权(若v与u有边)或∞(若u不是v的出边邻接点)。
(2)从U中选取一个距离v最小的顶点k,把k,加入S中(该选定的距离就是v到k的最短路径长度)。
(3)以k为新考虑的中间点,修改U中各顶点的距离;若从源点v到顶点u(u U)的距离(经过顶点k)比原来距离(不经过顶点k)短,则修改顶点u的距离值,修改后的距离值为顶点k的距离加上边上的权。
(4)重复步骤(2)和(3)直到所有顶点都包含在S中。
通过上述本发明和现有技术关于多源最短路径分析方式的比较可以看出,本发明通过采用多个节点同时并发的机制,即所有节点都并行推送遍历信息,解决了社交网络中需要多次迭代才能遍历完数据的问题,降低了分析的时间复杂度,提高分析效率。
应说明的是:以上实施例仅用以说明本发明而非限制,本发明也并不仅限于上述举例,一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围中。
Claims (13)
1.一种社交网络分析方法,其特征在于,包括:
根据社交网络文件生成针对每个节点的节点信息;
控制所述社交网络中所有节点根据相应的节点信息进行遍历,遍历所述社交网络所有节点后,得到所述社交网络的拓扑特征值。
2.根据权利要求1所述的社交网络分析方法,其特征在于,所述节点信息包括:节点ID,邻接点列表及本节点当前已知遍历信息;
控制所述社交网络中所有节点根据相应的节点信息进行遍历包括:
控制所述社交网络中所有节点发送各自的当前已知遍历信息到其邻接节点,同时接收其邻接节点发送来的邻接节点的当前已知遍历信息。
3.根据权利要求1所述的社交网络分析方法,其特征在于,还包括:
根据推进标识控制所述社交网络中所有节点根据相应的节点信息进行遍历:
当所述推进标识为待推进状态时,控制所述社交网络中的所有节点继续进行遍历;
当所述推进标识为停止推进状态时,控制所述社交网络中的所有节点停止遍历。
4.根据权利要求3所述的社交网络分析方法,其特征在于,还包括:
当任意节点接收到的遍历信息被更新时,将所述推进标识设置为待推进状态。
5.根据权利要求1所述的社交网络分析方法,其特征在于,根据社交网络文件生成针对每个节点的节点信息的操作包括:
对于邻接表格式的社交网络文件,将所述社交网络文件中每条邻接表格式记录直接映射为节点的节点信息;
对于边表格式的社交网络文件,依照边表记录,将具有相同源节点的记录汇总,形成所述源节点对应的邻接表格式记录,并映射为所述源节点的节点信息。
6.根据权利要求1所述的社交网络分析方法,其特征在于,还包括:根据交往记录文件生成社交网络文件的,该操作包括:
根据预设的过滤规则对所述交往记录文件中的交往记录进行过滤;
将过滤后的交往记录形成边表格式或邻接表格式的社交网络文件。
7.根据权利要求1-6任一所述的社交网络分析方法,其特征在于,
利用多个计算节点并行执行上述操作。
8.一种社交网络分析装置,其特征在于,包括:
节点信息生成模块,用于根据社交网络文件生成针对每个节点的节点信息;
遍历模块,用于控制所述社交网络中所有节点根据相应的节点信息进行遍历,遍历所述社交网络所有节点后,得到所述社交网络的拓扑特征值。
9.根据权利要求8所述的社交网络分析装置,其特征在于,所述节点信息包括:节点ID,邻接点列表及本节点当前已知遍历信息;
所述遍历模块,用于控制所述社交网络中所有节点发送各自的当前已知遍历信息到其邻接节点,同时接收其邻接节点发送来的邻接节点的当前已知遍历信息。
10.根据权利要求8所述的社交网络分析装置,其特征在于,还包括:
标识状态分析模块,用于分析所述推进标识的状态;
所述遍历模块,用于根据推进标识控制所述社交网络中所有节点根据相应的节点信息进行遍历:当所述推进标识为待推进状态时,控制所述社交网络中的所有节点继续进行遍历;当所述推进标识为停止推进状态时,控制所述社交网络中的所有节点停止遍历。
11.根据权利要求10所述的社交网络分析装置,其特征在于,还包括:
节点状态分析模块,用于分析所述社交网络中的节点接收到的遍历信息是否被更新;
推进标识设置模块,用于当任意节点接收到的遍历信息被更新时,将推进标识设置为待推进状态。
12.根据权利要求8所述的社交网络分析装置,其特征在于,所述节点信息生成模块包括:
映射子模块,对于邻接表格式的社交网络文件,将所述社交网络文件中每条邻接表格式记录直接映射为节点的节点信息;
或所述节点信息生成模块包括:
格式转换子模块,用于对于边表格式的社交网络文件,依照边表记录,将具有相同源节点的记录汇总,形成所述源节点对应的邻接表格式记录;
和映射子模块,用于将所述邻接表格式记录映射为源节点的节点信息。
13.根据权利要求8-12任一所述的社交网络分析装置,其特征在于,
上述各个装置所进行的操作由多个计算节点并行执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110391293.7A CN103138981B (zh) | 2011-11-30 | 2011-11-30 | 一种社交网络分析方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110391293.7A CN103138981B (zh) | 2011-11-30 | 2011-11-30 | 一种社交网络分析方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103138981A true CN103138981A (zh) | 2013-06-05 |
CN103138981B CN103138981B (zh) | 2017-03-29 |
Family
ID=48498322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110391293.7A Active CN103138981B (zh) | 2011-11-30 | 2011-11-30 | 一种社交网络分析方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103138981B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219672A (zh) * | 2014-10-14 | 2014-12-17 | 北京奇虎科技有限公司 | 来电或短信识别方法和装置 |
CN105117421A (zh) * | 2015-07-31 | 2015-12-02 | 四川长虹电器股份有限公司 | 基于图结构匹配的社交网络分析方法 |
CN105472400A (zh) * | 2015-12-24 | 2016-04-06 | Tcl集团股份有限公司 | 一种消息推送方法及*** |
CN106294455A (zh) * | 2015-05-29 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 一种网络分析方法及装置 |
CN106934835A (zh) * | 2017-01-12 | 2017-07-07 | 浙江大学 | 基于空间网络用于纺织品喷墨印染的颜色色域映射方法 |
CN107423434A (zh) * | 2017-08-03 | 2017-12-01 | 航天科工智慧产业发展有限公司 | 一种基于话单数据的潜在社会关系网络的挖掘方法 |
CN108738036A (zh) * | 2017-04-14 | 2018-11-02 | 广州杰赛科技股份有限公司 | 移动通信的关键用户提取方法和*** |
CN109428760A (zh) * | 2017-09-04 | 2019-03-05 | ***通信集团浙江有限公司 | 一种基于运营商数据的用户信用评估方法 |
CN109947817A (zh) * | 2019-03-01 | 2019-06-28 | 武汉达梦数据库有限公司 | 一种基于关联图谱的六度空间关系分析方法及*** |
CN110399394A (zh) * | 2018-04-16 | 2019-11-01 | 北京京东尚科信息技术有限公司 | 计算节点的数据遍历方法、装置及计算节点 |
CN110837608A (zh) * | 2019-11-07 | 2020-02-25 | 中科天玑数据科技股份有限公司 | 一种基于多源数据的舆情话题传播路径分析***和方法 |
CN112231591A (zh) * | 2020-11-06 | 2021-01-15 | 烟台大学 | 考虑社交网络用户群紧密度的信息推荐方法及*** |
CN112541042A (zh) * | 2020-12-17 | 2021-03-23 | 四川新网银行股份有限公司 | 一种千万数量级下轻量级的社交网络的生成方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101836230A (zh) * | 2007-10-22 | 2010-09-15 | 微软公司 | 在使用社交网络时遵守访问控制列表 |
-
2011
- 2011-11-30 CN CN201110391293.7A patent/CN103138981B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101836230A (zh) * | 2007-10-22 | 2010-09-15 | 微软公司 | 在使用社交网络时遵守访问控制列表 |
Non-Patent Citations (2)
Title |
---|
TX4444: "图的遍历", 《百度文库,HTTP://WENKU.BAIDU.COM/VIEW/8C9A8C06E87101F69E3195E5.HTML?RE=VIEW》 * |
王天宇: "社交网络服务的用户群体特征分析与组织探测研究", 《万方数据知识服务平台》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219672A (zh) * | 2014-10-14 | 2014-12-17 | 北京奇虎科技有限公司 | 来电或短信识别方法和装置 |
CN104219672B (zh) * | 2014-10-14 | 2017-08-22 | 北京奇虎科技有限公司 | 来电或短信识别方法和装置 |
CN106294455A (zh) * | 2015-05-29 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 一种网络分析方法及装置 |
CN105117421A (zh) * | 2015-07-31 | 2015-12-02 | 四川长虹电器股份有限公司 | 基于图结构匹配的社交网络分析方法 |
CN105117421B (zh) * | 2015-07-31 | 2018-07-17 | 四川长虹电器股份有限公司 | 基于图结构匹配的社交网络分析方法 |
CN105472400A (zh) * | 2015-12-24 | 2016-04-06 | Tcl集团股份有限公司 | 一种消息推送方法及*** |
CN106934835A (zh) * | 2017-01-12 | 2017-07-07 | 浙江大学 | 基于空间网络用于纺织品喷墨印染的颜色色域映射方法 |
CN106934835B (zh) * | 2017-01-12 | 2020-03-03 | 浙江大学 | 基于空间网络用于纺织品喷墨印染的颜色色域映射方法 |
CN108738036B (zh) * | 2017-04-14 | 2021-06-18 | 广州杰赛科技股份有限公司 | 移动通信的关键用户提取方法和*** |
CN108738036A (zh) * | 2017-04-14 | 2018-11-02 | 广州杰赛科技股份有限公司 | 移动通信的关键用户提取方法和*** |
CN107423434A (zh) * | 2017-08-03 | 2017-12-01 | 航天科工智慧产业发展有限公司 | 一种基于话单数据的潜在社会关系网络的挖掘方法 |
CN107423434B (zh) * | 2017-08-03 | 2020-02-18 | 航天科工智慧产业发展有限公司 | 一种基于话单数据的潜在社会关系网络的挖掘方法 |
CN109428760B (zh) * | 2017-09-04 | 2022-03-04 | ***通信集团浙江有限公司 | 一种基于运营商数据的用户信用评估方法 |
CN109428760A (zh) * | 2017-09-04 | 2019-03-05 | ***通信集团浙江有限公司 | 一种基于运营商数据的用户信用评估方法 |
CN110399394A (zh) * | 2018-04-16 | 2019-11-01 | 北京京东尚科信息技术有限公司 | 计算节点的数据遍历方法、装置及计算节点 |
CN109947817A (zh) * | 2019-03-01 | 2019-06-28 | 武汉达梦数据库有限公司 | 一种基于关联图谱的六度空间关系分析方法及*** |
CN110837608A (zh) * | 2019-11-07 | 2020-02-25 | 中科天玑数据科技股份有限公司 | 一种基于多源数据的舆情话题传播路径分析***和方法 |
CN110837608B (zh) * | 2019-11-07 | 2024-04-12 | 中科天玑数据科技股份有限公司 | 一种基于多源数据的舆情话题传播路径分析***和方法 |
CN112231591A (zh) * | 2020-11-06 | 2021-01-15 | 烟台大学 | 考虑社交网络用户群紧密度的信息推荐方法及*** |
CN112231591B (zh) * | 2020-11-06 | 2024-02-09 | 烟台大学 | 考虑社交网络用户群紧密度的信息推荐方法及*** |
CN112541042A (zh) * | 2020-12-17 | 2021-03-23 | 四川新网银行股份有限公司 | 一种千万数量级下轻量级的社交网络的生成方法 |
CN112541042B (zh) * | 2020-12-17 | 2022-11-04 | 四川新网银行股份有限公司 | 一种千万数量级下轻量级的社交网络的生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103138981B (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103138981A (zh) | 一种社交网络分析方法和装置 | |
US11979433B2 (en) | Highly scalable four-dimensional web-rendering geospatial data system for simulated worlds | |
US11487772B2 (en) | Multi-party data joint query method, device, server and storage medium | |
CN102857493B (zh) | 内容过滤方法和装置 | |
CN107515878B (zh) | 一种数据索引的管理方法及装置 | |
CN103336791B (zh) | 基于Hadoop的粗糙集快速属性约简方法 | |
CN107678790A (zh) | 流计算方法、装置及*** | |
US9477787B2 (en) | Method and apparatus for information clustering based on predictive social graphs | |
CN109902274A (zh) | 一种将json字符串转化为thrift二进制流的方法及*** | |
CN102985922A (zh) | 在计算空间中管理分布计算的方法和装置 | |
US20180247321A1 (en) | Platform for management of marketing campaigns across multiple distribution mediums | |
KR20150092586A (ko) | 데이터 플로 기반 대규모 데이터 스트림 처리 방법 및 장치 | |
CN110175027A (zh) | 一种开发业务功能的方法和装置 | |
CN109582289B (zh) | 规则引擎中规则流的处理方法、***、存储介质和处理器 | |
CN101345694A (zh) | 一种快速查找定位和匹配访问控制列表的方法 | |
US20210385251A1 (en) | System and methods for integrating datasets and automating transformation workflows using a distributed computational graph | |
RU2697648C2 (ru) | Система классификации трафика | |
CN102647414A (zh) | 协议解析方法、设备及*** | |
CN111723298A (zh) | 基于改进标签传播的社交网络社团发现方法、装置及介质 | |
CN109656898B (zh) | 基于节点度的分布式大规模复杂社团探测方法及装置 | |
CN111382155A (zh) | 一种数据仓库的数据处理方法、电子设备及介质 | |
Theeten et al. | Chive: Bandwidth optimized continuous querying in distributed clouds | |
CN102090039A (zh) | 执行数据中间处理的方法以及关联的计算机程序产品、数据中间处理设备和信息*** | |
JP5108011B2 (ja) | バス接続されたコンシューマとプロデューサとの間でのメッセージ・フローを削減するためのシステム、方法、およびコンピュータ・プログラム | |
US20210258349A1 (en) | System and method for data extraction, processing, and management across multiple communication platforms |
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 |