CN109460299B - 一种分布式并行多源社交网络数据采集系统和方法 - Google Patents

一种分布式并行多源社交网络数据采集系统和方法 Download PDF

Info

Publication number
CN109460299B
CN109460299B CN201811325752.XA CN201811325752A CN109460299B CN 109460299 B CN109460299 B CN 109460299B CN 201811325752 A CN201811325752 A CN 201811325752A CN 109460299 B CN109460299 B CN 109460299B
Authority
CN
China
Prior art keywords
user
task
data
information
social network
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
Application number
CN201811325752.XA
Other languages
English (en)
Other versions
CN109460299A (zh
Inventor
王甲海
伍泽林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN201811325752.XA priority Critical patent/CN109460299B/zh
Publication of CN109460299A publication Critical patent/CN109460299A/zh
Application granted granted Critical
Publication of CN109460299B publication Critical patent/CN109460299B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种分布式并行社交网络用户数据采集方法,属于社交网络信息采集领域,针对多种社交网络源设计有针对性的采集方案并集成实现了一个数据采集系统。本发明基于社交网络的API以及网络爬虫技术进行用户数据的采集和解析。利用社交网络用户数据采集任务独立的特点,本发明设计了并行采集控制模块加速用户数据采集,提高数据采集的效率。针对社交网络中用户数据质量不平衡问题,本发明设计了用户账号数据质量评估和过滤方法,从而保证用户数据的质量,提高数据的可用性。

Description

一种分布式并行多源社交网络数据采集系统和方法
技术领域
本发明涉及网络信息采集领域,更具体地,涉及一种分布式并行多源社交网络数据采集方法。
背景技术
近年来,社交网络成为越来越重要的互联网通讯交流平台,每天产生无法估计的信息量。对社交网络的用户数据进行学习对于商品推荐、好友推荐、用户情感分析等许多问题都有研究价值。但社交网络的用户数据在分析前需要进行采集、预处理和存储,以得到高质量的用户数据用于以上问题的分析。
社交网络的数据采集属于网络信息采集领域,针对特定用户的账号进行用户的信息采集和解析。不同的社交网络场景的数据具有异构性,单一的数据采集方法如网络爬虫等无法满足对用户信息完整度及质量的需求。Twitter,Flickr为开发者提供了成熟的API可以获取用户的简介信息和用户关系信息,Facebook的API需要用户授权,因此采用解析网页内容的方式进行数据采集比较合适。总体而言,社交网络的信息采集方式大致分为三种:网页爬虫解析,Ajax请求返回json数据,社交网络API调用获取数据。每个社交网络在不同的数据采集方式下得到的用户数据的完整性和数据质量是不一样的,因此需要根据社交网络各自的特点选择合适的数据采集方法。
现有的社交网络采集方法都是针对单社交网络、单机运行环境下的用户数据采集。这些独立的方法受限于网页对爬虫或API的速率限制,数据获取效率一般比较低。对于大数据量的数据获取需求而言,它们难以在可接受的时间内采集到足够的用户数据。此外现有的社交网络用户数据采集很少对用户数据的质量进行评估以过滤信息缺失度高的用户数据。所以我们提出了一种方法针对多种社交网络数据源进行差异化的用户数据采集模块的设计,并在分布式环境中部署采集模块进行并行数据采集。同时我们对采集的用户数据质量进行评估,保留信息完整度和内容质量较好的用户数据,并将信息存储在基于非关系型数据库MongoDB搭建的分片式数据库集群中。
发明内容
本发明提出了一种分布式并行多源社交网络数据采集方法,其功能包括以下模块和方法:
S1:对多种社交网络的用户数据进行分布式并行化采集;
S2:对采集的用户数据进行质量评估从而过滤低质量用户数据;
S3:将采集的用户数据存储进分片式非关系型数据库集群中。
S4:对过滤后保留的用户数据,利用其社交关系信息进行任务队列的更新,并重复S1-S3。
步骤S1的具体过程是:
S11:根据来自不同社交网络的初始种子账号集初始化社交网络的数据采集任务队列;
S12:中心节点的采集任务队列到达阈值时,启动子节点服务器的数据采集模块,中心节点任务控制模块向子节点分配采集任务并初始化其任务控制模块。
S13:子节点开始数据采集,根据任务的账号信息选择对应的社交网络采集模块进行数据采集。
S14:根据任务节点的任务数量和采集速率定期进行节点负载测试,对任务负载比较高的节点将部分采集任务回收到中心节点,再由中心节点动态分配给任务节点。
步骤S2的具体过程是:
S21:首先根据用户简介信息计算用户信息能量,每个特征项赋予不同的信息能量权值,求得整体用户信息能量。
Figure BDA0001858708770000021
其中,wk是不同信息特征项对应的能量权值,f是与单个特征信息vk缺失率相关的评估函数,一般而言是个指示函数(信息缺失时为0,存在时为1),在部分信息项里f是与信息长度等相关的评估函数。根据不同采集要求和不同的数据特征项,评估函数也会有所不同。
S22:根据用户的关系网络信息求得用户关系能量,综合用户双向关系求得用户关系网络的能量。
Figure BDA0001858708770000022
其中,we是与用户关系相关的权值,用户关系出入度分别为‖ein‖和‖eout‖(ein和eout分别为用户与关注者和关注的人构成的边的集合),用户关系能量与用户出入度数量积的平方根以及出入度交集的数量成线性关系。满足用户关系(特别是双向关系)越丰富,用户关系数据价值越大。
S23:根据S21和S22提到的能量模型,得到用户质量评估值。达到能量阈值的用户信息将被保留下来。
Ei(v)+Ee(v)≥Ethreshold (3)
其中,Ethreshold是根据部分训练用户数据得到的信息能量阈值。
步骤S3的具体过程如下:
S31:对于被保留的用户数据,存储进基于MongoDB搭建的分片式数据库集群中。
S32:数据的存储采取插入式更新的方式进行。如果数据库没有该用户的信息则进行插入,否则进行直接的数据更新。这符合社交网络信息可以自行修改的特点,以保持最新的用户数据。
S33:MongoDB分片式数据库集群,具有按片键索引、副本集的特点。用户数据可以快速存取,副本集的数据冗余备份可以提高数据库的可用性,并保证数据的安全性。
步骤S4的具体过程如下:
S41:利用被保留的用户数据的社交关系信息进行任务更新,这些信息是用户关注的人(following)和关注者(follower)这两个方向的用户账号的并集,将这些用户放进更新候选集中。
S42:对S41中得到的更新候选集,利用任务去重模块(保存所有已完成采集任务的用户账号)进行去重过滤,将其中未采集过的账号更新进任务节点的采集任务列表中。
S43:所有任务节点都有自己的任务去重模块,利用社交网络用户的局部性(相关联的用户社交关系的相似性)以减少与中心节点之间的数据交互,提高任务更新的效率。
附图说明
图1为本发明整体流程示意图;
图2为中心节点的控制模块细节图;
图3为子节点数据采集流程细节图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1所示,本发明是一种分布式并行化的多源社交网络数据采集方法,属于信息采集的领域。社交网络数据采集以用户为基础,因此采集任务列表由社交网络源和该社交网络下的用户账号uid组成。首先我们根据一批搜集的用户账户进行采集任务列表的初始化。采集任务列表由中心节点的控制模块负责向任务节点分配。这里需要一提的是,中心节点在这里仅仅引用了分布式系统的一个概念,实际上中心节点所在主机也可以作为任务节点,由其中的控制模块负责对其他分布式子任务节点的任务分配。中心节点的控制模块跟任务节点的有所不一样(如图2所示),中心节点控制模块分为任务分配模块和去重模块。
分配模块主要包括以下功能:
1.接收并响应任务节点传来的任务分配请求以实现任务节点的负载均衡
2.在开始启动子任务节点时,分配模块主动向任务节点分配一定量的任务
3.定期与任务节点“置换”任务列表中的部分任务,防止中心节点模块中的任务列表的任务陷入饥饿。
4.从任务过载的子任务节点中回收部分采集任务,以便分配给其他任务节点。
去重模块主要包括以下功能:
1.响应从任务节点的去重模块反馈过来的任务查询,结果返回到子任务节点,保证任务节点的任务更新不会再添加重复的采集任务。
2.定期同步所有任务节点的去重模块的内容至中心节点,减少向中心节点的去重模块进行查询时出现不同步的问题。
3.定期将去重模块的数据存进数据库中,用于中心节点异常后恢复时采集任务的恢复。
在分配任务到任务节点后,需要对任务进行采集和数据的质量评估等步骤。和中心模块相似的是,任务节点也有属于自己的去重模块,不同的是,任务节点有负载控制模块,用于任务节点的负载均衡。
按图3的任务采集流程细节图所示,任务节点拥有自己的采集任务列表,这个列表初始时由中心节点分配得到,在采集的过程中由用户的好友关系中非采集任务列表中的账号进行更新。用户在采集模块中针对不同的社交网络会采用不同的采集方法进行采集,我们的系统中已经集成了若干个社交网络(Twitter,Facebook,Flickr,Lastfm,Myspace,Weibo等)的采集和数据解析模块。
在对数据进行采集和解析后,利用数据的简介和关系信息进行数据的质量评估,计算Ei,Ee得到用户数据质量评估能量值,根据一些预先收集的数据我们提前训练出了大致的能量阈值。将数据质量与能量阈值进行比较决定数据的保留或丢弃。
对于保留的用户数据,利用其中的用户关系网络,进行采集任务列表的更新,这其中需要涉及到任务节点的去重控制模块。
任务节点的去重控制模块对待更新候选用户集进行去重查询,非重复用户加入采集任务的更新列表,当更新量累积到一定的程度后或者同步定时器触发时,进行任务节点和中心节点的去重模块的同步,保证该模块可以将同一任务账号的采集去重达到较高的质量。在本节点设置该模块的意义在于,用户的关系信息一般具有局部性,即有好友关系的用户之间的距离可能会比较近。这种情况下,同一用户重复出现在任务更新候选集中的几率较大,在任务节点内部设置去重模块可以减少与中心节点间的查询交互,提高去重的效率。但是每个任务节点维护自己的去重模块可能会产生一致性问题,因此需要上面提到对中心节点的去重模块进行定期的同步。
任务节点的均衡模块定期检测采集任务的完成速率,当速率较低时说明可能存在任务过载,此时降低负载均衡的上界阈值,减少任务节点的负载。当采集速率较高时说明可能处于任务空载的情况,此时提高负载均衡的下界阈值使任务节点向中心节点请求任务,提高数据采集的效率。
本发明所设计的错误处理模块对两种等级的错误进行处理:任务级和节点级。
对于任务级的错误,可能是由于网络问题或账号异常等问题,无法收集用户的信息,我们根据采集模块提示的错误信息,回收采集失败的用户账号,丢弃异常账号(已注销/已暂停/未授权账号)。对于回收的账号,启动调试节点进行重新采集保证不会因为系统偶尔的异常导致任务的失败。
对于节点级的错误,分为任务节点的错误和中心节点的错误。由于控制模块的内容不一致,两种节点在发生故障不能继续爬取时处理的策略也不一样。对于任务节点出错,中心节点将从数据库定期更新的任务节点的任务列表副本中回收其任务列表。对于中心节点的错误,一般而言会定期将采集列表和去重列表的状态存进分布式数据库中,所以可以在正常工作的任务节点中选举一个节点作为新的中心控制节点,并从数据库中恢复控制模块的状态和信息。
附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (3)

1.一种分布式并行多源社交网络数据采集方法,其特征在于,包括:
S1:对多种社交网络的用户数据进行分布式并行化采集;
S2:对采集的用户数据进行质量评估从而过滤低质量用户数据;
S3:将采集的用户数据存储进分片式非关系型数据库集群中;
S4:对过滤后保留的用户数据,利用其社交关系信息进行任务队列的更新,并重复S1-S3;
步骤S1的具体过程是:
S11:根据来自不同社交网络的初始种子账号集初始化社交网络的数据采集任务队列;
S12:中心节点的采集任务队列到达阈值时,启动子节点服务器的数据采集模块,中心节点任务控制模块向子节点分配采集任务并初始化其任务控制模块;
S13:子节点开始数据采集,根据任务的账号信息选择对应的社交网络采集模块进行数据采集;
S14:根据任务节点的任务数量和采集速率定期进行节点负载测试,对任务负载比较高的节点将部分采集任务回收到中心节点,再由中心节点动态分配给其他任务节点;
步骤S2的具体过程是:
S21:首先根据用户简介信息计算用户信息能量,每个特征项赋予不同的信息能量权值,求得整体用户信息能量:
Figure FDA0003324239990000011
其中,wk是不同信息特征项对应的能量权值,f是与单个特征信息vk缺失率相关的评估函数,是一个指示函数,其中信息缺失时为0,存在时为1;在部分信息项里f是与信息长度相关的评估函数,根据不同采集要求和不同的数据特征项,评估函数也会有所不同;
S22:根据用户的关系网络信息求得用户关系能量,综合用户双向关系求得用户关系的能量:
Figure FDA0003324239990000021
其中,we是与用户关系相关的权值,用户关系出入度分别为||ein||和||eout||,ein和eout分别为用户与关注者follower和用户与关注的人following构成的边的集合,用户关系能量与用户出入度数量积的平方根以及出入度交集的数量成线性关系,满足用户关系是双向关系越丰富,用户关系数据价值越大;
S23:根据S21和S22提到的能量模型,得到用户质量评估值,达到能量阈值的用户信息将被保留下来:
Ei(v)+Ee(v)≥Ethreshold (3)
其中,Ethreshold是根据部分训练用户数据得到的信息能量阈值。
2.根据权利要求1所述的分布式并行多源社交网络数据采集方法,其特征在于,步骤S3的具体过程如下:
S31:对于被保留的用户数据,存储进基于MongoDB搭建的分片式数据库集群中;
S32:数据的存储采取插入式更新的方式进行,如果数据库没有该用户的信息则进行插入,否则进行直接的数据更新,符合社交网络信息可以自行修改的实际场景下对用户数据的实时更新;
S33:MongoDB分片式数据库集群,具有按片键索引、副本集的特点,用户数据可以快速存取,副本集的数据冗余备份可以提高数据库的可用性,并保证数据的安全性。
3.根据权利要求2所述的分布式并行多源社交网络数据采集方法,其特征在于,步骤S4的具体过程如下:
S41:利用被保留的用户数据的社交关系信息进行任务更新,这些信息是用户关注的人following和关注者follower这两个方向的用户账号的并集,将这些用户放进更新候选集中;
S42:对S41中得到的更新候选集,利用任务去重模块,进行去重过滤,将其中未采集过的账号更新进任务节点的采集任务列表中,其中,任务去重模块保存所有已完成采集任务的用户账号;
S43:所有任务节点都有自己的任务去重模块,利用社交网络用户的局部性以减少与中心节点之间的数据交互,提高任务更新的效率。
CN201811325752.XA 2018-11-08 2018-11-08 一种分布式并行多源社交网络数据采集系统和方法 Active CN109460299B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811325752.XA CN109460299B (zh) 2018-11-08 2018-11-08 一种分布式并行多源社交网络数据采集系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811325752.XA CN109460299B (zh) 2018-11-08 2018-11-08 一种分布式并行多源社交网络数据采集系统和方法

Publications (2)

Publication Number Publication Date
CN109460299A CN109460299A (zh) 2019-03-12
CN109460299B true CN109460299B (zh) 2022-04-15

Family

ID=65609707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811325752.XA Active CN109460299B (zh) 2018-11-08 2018-11-08 一种分布式并行多源社交网络数据采集系统和方法

Country Status (1)

Country Link
CN (1) CN109460299B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111047453A (zh) * 2019-12-04 2020-04-21 兰州交通大学 基于高阶张量分解大规模社交网络社区的检测方法及装置
CN112948075B (zh) * 2021-02-04 2024-02-27 北京淇瑀信息科技有限公司 任务拥堵处理方法、装置和电子设备
CN114461930B (zh) * 2022-04-13 2022-06-24 四川大学 社交网络数据采集方法、装置及储存介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615716A (zh) * 2015-02-05 2015-05-13 北京航空航天大学 基于优先序列的分布式社交网络信息采集方法及系统
CN104735138A (zh) * 2015-03-09 2015-06-24 中国科学院计算技术研究所 一种面向用户生成内容的分布式采集方法与系统
CN105426502A (zh) * 2015-11-26 2016-03-23 福州大学 基于社交网络的人物信息搜索与关系网绘制的方法
CN106384292A (zh) * 2016-09-14 2017-02-08 哈尔滨工业大学(威海) 社交网络用户关系采集系统及方法
CN106649578A (zh) * 2016-11-17 2017-05-10 华北理工大学 一种基于社交网络平台的舆情分析方法及系统
CN108549974A (zh) * 2018-03-22 2018-09-18 国电南瑞科技股份有限公司 一种基于层次分析法的cime电网模型评价方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9123006B2 (en) * 2009-08-11 2015-09-01 Novell, Inc. Techniques for parallel business intelligence evaluation and management

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615716A (zh) * 2015-02-05 2015-05-13 北京航空航天大学 基于优先序列的分布式社交网络信息采集方法及系统
CN104735138A (zh) * 2015-03-09 2015-06-24 中国科学院计算技术研究所 一种面向用户生成内容的分布式采集方法与系统
CN105426502A (zh) * 2015-11-26 2016-03-23 福州大学 基于社交网络的人物信息搜索与关系网绘制的方法
CN106384292A (zh) * 2016-09-14 2017-02-08 哈尔滨工业大学(威海) 社交网络用户关系采集系统及方法
CN106649578A (zh) * 2016-11-17 2017-05-10 华北理工大学 一种基于社交网络平台的舆情分析方法及系统
CN108549974A (zh) * 2018-03-22 2018-09-18 国电南瑞科技股份有限公司 一种基于层次分析法的cime电网模型评价方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Big data mining of social networks for friend recommendation;Fan Jiang et al;《2016 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining (ASONAM)》;20160821;第921-922页 *
社交网络的数据采集与分析方法研究;赵俊;《中国优秀硕士学位论文全文数据库信息科技辑》;20160115(第1期);第I138-940页 *

Also Published As

Publication number Publication date
CN109460299A (zh) 2019-03-12

Similar Documents

Publication Publication Date Title
CN110765337B (zh) 一种基于互联网大数据的服务提供方法
CN105574098B (zh) 知识图谱的生成方法及装置、实体对比方法及装置
CN104268695B (zh) 一种多中心流域水环境分布式集群管理系统及方法
US20170286526A1 (en) System and Method for Optimized Query Execution in Computerized Data Modeling and Analysis
US20170286502A1 (en) System and Method for Interactive Reporting in Computerized Data Modeling and Analysis
US20170351511A1 (en) System and Method for Code and Data Versioning in Computerized Data Modeling and Analysis
CN110292775B (zh) 获取差异数据的方法及装置
CN109460299B (zh) 一种分布式并行多源社交网络数据采集系统和方法
US20150032492A1 (en) Methods of Identifying Relevant Content and Subject Matter Expertise for Online Communities
US9449096B2 (en) Identifying influencers for topics in social media
CN110544528B (zh) 基于深度学习的上下级眼科远程诊断平台及其构建方法
CN102663008B (zh) 政府综合业务平台业务库和基础库的构建方法
CN103279505B (zh) 一种基于语义的海量数据处理方法
CN113590576A (zh) 数据库参数调整方法、装置、存储介质以及电子设备
CN107577724A (zh) 一种大数据处理方法
CN109241062A (zh) 一种政务数据目录的生成方法及装置
CN110322931A (zh) 一种碱基识别方法、装置、设备及存储介质
CN108287889B (zh) 一种基于弹性表模型的多源异构数据存储方法和系统
CN108228787A (zh) 按照多级类目处理信息的方法和装置
US11321359B2 (en) Review and curation of record clustering changes at large scale
CN114022188A (zh) 目标人群圈选方法、装置、设备以及存储介质
CN111353085A (zh) 一种基于特征模型的云挖掘分析网络舆情方法
CN109493077A (zh) 行为识别方法及装置、电子设备、存储介质
CN104636422B (zh) 用于挖掘数据集中的模式的方法和系统
CN112231590B (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
GR01 Patent grant
GR01 Patent grant