基于ElasticSearch的面向社交网络的公众舆论监控平台
摘要:随着社交网络的快速发展,基于社交网络的公众舆论监测越来越重要。许多平台在公众舆论监测方面都取得了一些成功。然而,这些平台在可伸缩性、容错性和实时性能方面都表现都不是非常良好。本文提出了一种基于ElasticSearch (SNES)的面向社交网络的公众舆论监控平台。首先,SNES集成了分布式爬虫集群模块,提供了实时的社交媒体数据访问。其次,SNES集成了ElasticSearch ,可以近乎实时地存储和检索大量的非结构化数据。最后,我们设计了基于Apache Kafka的订阅模块,以消息推送和消费的形式将平台的模块连接在一起,提高了消息的吞吐量和动态水平缩放的能力。大量的实证实验表明,该平台能够很好地适应具有高度实时数据的社交网络,并在公众舆论监控方面具有良好的性能。
关键词:社交网络、公众舆论监控、ElasticSearch 、垃圾搜索。
1.简介
随着互联网技术的快速发展,网民数量迅速增加。据统计,2018年上半年,中国的微博用户数量达到3.37亿。微信所代表的即时通讯用户数量达到7.56亿人,使用率已达到94.3%[Li, Wei and Xi (2018)]。社交网络已经进入了一个强调用户参与和体验的时代,用户可以在网上的任何时候、任何地方创建内容、分享内容并且相互互动。所以,在社交网络上有大量的用户数据。这些巨大的社交媒体数据具有巨大的价值,反映了整个社会的公众舆论取向,吸引了越来越多的研究人员来进行研究。
我们探索网上的公众舆论和热门话题。发现刑事司法和公众舆论之间的联系是密切的。Bursten[Bursten(2003)]发现,即使是政治组织和精英的活动,公众舆论的影响也仍然很强烈。首先,社交网络上的数据具有即时性和快速的爆炸性,从社交平台上实时爬行数据是发现公众舆论、及时准确地提取热点话题的必要条件。其次,UGC(用户生成的内容)是大量且非结构化的,快速存储和检索非结构化数据对社交网络的公众舆论监控平台至关重要。最后,平台不是静态的,但可以随着数据规模和性能要求的不断扩大而不断扩展和调整,因此,平台的可伸缩性和模块之间的低耦合是必不可少的。研究人员在在线公众舆论监控平台的设计上取得了一些进展。Shen [Shen (2018)]提出的基于Spark的微博舆论监控系统框架,对微博内容源爆炸的预测效果良好,但由于缺乏数据采集模块,无法很好地适应社交媒体数据的实时性,由于缺乏搜索引擎,无法快速检索目标信息。Tang等人。[Tang (2013); Jie and Jungang (2009)]在他们的平台上添加了一个网络爬虫模块,可以实时爬取社交网络上的最新数据。但是,平台中通过相互调用来执行功能的模块是高度耦合的,没有很好的可伸缩性。
在本文中,我们提出了一个名为“SNES”的新平台,它是基于ElasticSearch(一个开源的分布式全文检索系统),并设计了基于Apache Kafka(一个高吞吐量的分布式发布和订阅消息系统)和Spark Stream(一个实时流计算框架)的订阅模块。大量的实证实验表明,该平台能够很好地适应社交媒体数据,并在舆论监测中获得良好的性能。SNES具有以下优点:
(1)实时获取不断变化的社交媒体数据。
(2)快速、有效地存储和检索大量数据。
(3)优异的性能、可扩展性和容错能力。
2.相关工作
2.1介绍
首先,在社交网络上挖掘公众舆论和提取热门话题需要大量的、多源的社交媒体数据,而社交媒体数据的爆炸性和即时性决定了数据无法以传统的方式获取和处理。Scrapy是一个爬行网站的应用程序框架,可用于广泛的有用的应用程序,如数据挖掘、信息处理或历史存档。Wang等人。[Wang和Guo(2012)]使用Scrapy抓取架构对淘宝共享平台的数据进行了抓取,并分析了网页的格式。Scrapy-红色的是是一个基于Scrapy的分布式爬虫组件。它使用Redis来存储和调度请求,并存储爬取生成的项目以进行后续处理。Fan[Fan(2018)]设计实现了基于刮红色的分布式爬行系统。谢等人。[谢和夏(2014)]设计了一个以主题为中心的网络爬虫,它可以爬行和收集
尽快提供与主题相关的网页。在爬行数据后,我们需要处理数据,如过滤掉非法数据和转换数据。Spark流媒体可以处理Kafka, Flume, Twitter的实时流数据、ZeroMQ、Kinesis和TCP插字,通过使用地图映射)、减少、连接等高级算法实现高吞吐量、容错。最后,处理结果可以存储在文件系统、数据库等中。Tan等人。[Tan和Zhou(2018)]设计了一个基于Spark流的实时流量处理平台,验证了该系统可以实时应用于大规模的高并发数据流。Zhang等人。[张,李,刘等人。(2018)]提出了一种更有效的任务调度策略,并将其添加到Spark的源代码中。Yan等人。[Yan和Wang(2018)]设计了一个基于Spark流媒体计算的实时电影推荐系统,可以更好地满足用户的实时需求。因此,本文提出的SNES体系结构采用了一个分布式爬虫集群模块,使该平台能够实时抓取不断变化的社交媒体数据。
其次,挖掘社交网络的公众舆论和提取热门话题需要高效的大量非结构化数据的存储和检索。ElasticSearch是一个开源的、分布式的、全文的搜索引擎,支持RESTful接口。它可以在很短的时间内存储、搜索和分析大量的数据,它通常被用作一个具有复杂搜索方案的核心引擎。我们可以设置相同的集群名称,在同一网络段中形成一个分布式集群,并通过向集群中添加更多的节点以进行水平扩展来平衡负载。ES支持全文搜索,可以对每个字段进行索引,并可以搜索每个字段的数据。ES采用非集中式集群设计,在集群中的中心节点发生故障后,ES将自动选择一个新节点作为中心节点,并自动迁移数据片段,以确保用户数据的安全和访问。它的许多优点使其在解决大数据相关问题方面具有良好的性能,也是企业大数据解决方案中的首选工具。周等人。[Zhou和Han(2015)]为一个电子商务系统设计并实现了基于ES的ElasticSearch集群,显著降低了数据库服务器的CPU使用、内存使用、维护成本,大大提高了搜索效率和系统稳定性。李等人。 [Li, Li, Zhang et al. (2018)]设计了一个名为DCAIKU的高性能化学结构和数据搜索引擎,建立在CouchDB和ElasticSearch引擎上,它可以处理关键字搜索和数百万条记录的结构搜索,具有高精度和低延迟。因此,本文提出的SNES体系结构集成了开源的高分布分布式全文搜索引擎,可以近实时地存储和检索大量的非结构化数据。
最后,一个平台应该具有良好的可伸缩性、容错性和模块间的解耦能力。ApacheKafka 是一个分布式流处理平台,可以发布、订阅和持久化、及时性和容错的数据,可以作为消息中间件。与其他主流消息传递中间件包括ActiveMQ和RabbitMQ相比,Kafka有以下优势:
(1)简单直观的操作。
(2)良好的消息吞吐量。
(3)支持负载平衡和动态水平扩展
2.2架构
Kafka的这些优点对于构建一个高可用性和高效的消息传递订阅服务是必要的。Lu[Lu(2018)]设计并实现了一种基于Kafka的消息订阅服务,扩展了微服务之间的通信方式,通过解决许多问题提供了服务之间的异步解耦,如平台内服务之间的HTTP和RPC调用,容易阻塞请求,非缓冲请求。Yan等人。[Yan和Yu(2018)]使用Kafka作为信息平台,完成大量数据的传输和并发实时处理。因此,我们设计了一个基于Apache Kafka的订阅模块,该模块以推送和消费消息的形式将平台的模块连接在一起,以提高消息的吞吐量和动态水平缩放的能力。
3.SNES设计
3.1整体设计
在多源数据采集方面,SNES通过将分布式爬行框架与基于Kafka消息订阅模块相结合,提高了数据爬行速度和爬行任务的可调度性;在海量数据存储和检索方面,设计并添加以ES为中心的全文存储和搜索引擎,优化整个系统平台的存储和检索效率;通过结合不同模块的方式,设计了基于Kafka的消息订阅服务,以消息的形式在模块之间传输任务和指令,大大减少了模块之间的耦合,提高了平台的可伸缩性。该架构的整体拓扑结构如图1所示。
图1:SNES的整体拓扑结构
考虑到公众舆论对数据大小、性能和功能的要求,通过在社交网络上进行热话题挖掘,我们将数据存储和检索模块、消息发布订阅服务模块、web服务逻辑处理模块和多源分布式信息和流处理模块添加到SNES体系结构中。工作步骤可总结如下:
步骤1:用户通过web服务搜索指定的内容;
步骤2:如果ES中有点击信息,则转到步骤7,否则转到步骤3;
步骤3:该服务通过消息订阅发出消息爬行命令服务舱;
步骤4:数据抓取模块接收相关命令并对指定数据进行抓取;
步骤5:流处理模块对抓取数据进行处理;
步骤6:ES存储处理后的数据;
步骤7:将命中信息返回到web服务。
整个平台的网络拓扑结构如图2所示。
图2:SNES的网络拓扑结构
四个集群包括多源数据爬行集群、存储和搜索引擎、基于Kafka的消息传递服务和基于spark的数据处理集群。每个模块通过一个内部网交换机连接,减少了耦合,提高通信速率。以上各部分都处于内部局域网环境中,为了提高安全性,与外部网络的数据通信必须通过防火墙。为了避免目标网站对IP访问频率的限制,我们使用代理IP服务攀登新浪微博、微信等国内社交网站,我们采用虚拟云托管服务像Twitter、FaceBook等外国社交网站。第三点描述了系统的内部结构。它由消息发布订阅服务、社交网络信息爬行服务、数据存储和检索集群以及公众舆论信息处理模型四个部分组成。SNES的内部结构图如图3所示。
图3:SNES的内部结构图
3.2数据爬行模块
爬虫集群由几个节点组成,每个节点都作为消息订阅模块的消费者(第3.3章),每个节点都包含爬虫框架Scrapy-redis、sparksteam框架和Redis数据库。数据爬行模块的框架结构和内部数据流如图所示。 4.为了提高数据抓取速度,避免网络问题或目标网站限制导致的中断,我们设计了顶级调度器与消息订阅模块通信,简短的工作流程如下:
步骤1:顶部调度程序从消息订阅模块请求一个新的数据爬行任务;
步骤2:如果任务不是空,转到步骤1,否则进入步骤3;
步骤3:顶部调度程序发出数据爬行命令;
步骤4:爬虫从redis数据库获取第一个URL并发送到引擎;
步骤5:如果该URL已经在爬网队列中,则转到步骤1,否则转到步骤6;
步骤6:引擎请求Cookie池随机饼干,随机Cookie和代理Ip;
步骤7:Spark Stream模块对获得的数据进行处理,并将其存储到大量数据存储和提取模块(第3.4章);
步骤8:将URL放入爬行队列中,然后进入步骤1。
图4:数据爬行模块的框架结构及内部数据流
3.3消息订阅模块
为了提高平台上模块之间的可伸扩展性、容错性和解耦,我们设计了基于Kafka的消息订阅模块。消息订阅集群由两个工作节点组成。图中的每个消息主题被分为三个分区,每个消费节点消耗每
剩余内容已隐藏,支付完成后下载完整资料
SNES: Social-Network-Oriented Public Opinion Monitoring Platform Based on ElasticSearch
Chuiju You1, Dongjie Zhu2, *, Yundong Sun2, Anshan Ye3, Gangshan Wu4, Ning Cao1, Jinming Qiu1 and Helen Min Zhou5
Abstract: With the rapid development of social network, public opinion monitoring based on social networks is becoming more and more important. Many platforms have achieved some success in public opinion monitoring. However, these platforms cannot perform well in scalability, fault tolerance, and real-time performance. In this paper, we propose a novel social-network-oriented public opinion monitoring platform based on ElasticSearch (SNES). Firstly, SNES integrates the module of distributed crawler cluster, which provides real-time social media data access. Secondly, SNES integrates ElasticSearch which can store and retrieve massive unstructured data in near real time. Finally, we design subscription module based on Apache Kafka to connect the modules of the platform together in the form of message push and consumption, improving message throughput and the ability of dynamic horizontal scaling. A great number of empirical experiments prove that the platform can adapt well to the social network with highly real-time data and has good performance in public opinion monitoring.
Keywords: Social network, public opinion monitoring, elasticsearch, scrapy-redis.
Introduction
With the rapid development of Internet technology, the number of netizens has increased rapidly. According to statistics, the number of Weibo users in China reached 337 million in the first half of 2018. The number of instant messaging users represented by WeChat reached 756 million, and the usage rate has reached 94.3% [Li, Wei and Xi (2018)]. Social networks have entered an era that emphasizes user engagement and experience, users can create contents, share contents and interact with each other on the web anytime, anywhere. So, there are massive amounts of user data on social networks. Containing great value and reflecting the public opinion orientation of the whole society, these massive social media data attracts more and more researchers to conduct research and
1 College of Information Engineering, Sanming University, Sanming, 365004, China.
2 School of Computer Science and Technology, Harbin Institute of Technology, Weihai, 264209, China.
3 College of Mathematics and Computer Science, Xinyu University, Xinyu, 338004, China.
4 School of Information Engineering, Jiangsu Polytechnic College of Agriculture and Forestry, Jurong, 212400, China.
5 School of Engineering, Manukau Institute of Technology, Auckland, 2241, New Zealand.
* Corresponding Author: Dongjie Zhu. Email: zhudongjie@hit.edu.cn.
CMC. doi:10.32604/cmc.2019.06133 www.techscience.com/cmc
exploration on online public opinion and hot topics. Hindelang [Hindelang (1974)] found that the link between criminal justice and the public opinion is close. Burstein [Burstein (2003)] found that the impact of public opinion remains strong even the activities of political organizations and elites are considered. Firstly, data on social network is characterized by immediacy and rapid explosiveness, crawling data from social platforms in real-time is necessary for discovering public opinions and extracting hot topics timely and accurately. Secondly, UGC (User generated content) is massive and unstructured, storing and retrieving unstructured data quickly is critical to a social network public opinion monitoring platform. Lastly, a platform is not static, but can be expanded and adjusted continually with ever-expanding of data scale and performance requirements, therefore, the scalability of the platform and the low coupling between modules are indispensable. Researchers have made some progress in the design of online public opinion monitoring platform. The framework of the public opinion monitoring system of Weibo based on Spark proposed by Shen [Shen (2018)] achieved good results in predicting the detonation of the Weibo content source, however, the system does not adapt well to the real-time nature of social media data because of lacking data acquisition module and cannot retrieve target information fastly because of the absence of search engine. Tang et al. [Tang (2013); Jie and Jungang (2009)] added a web crawler module in their platform, which can crawl the latest data on social net-works in real time. However, the modules in their platforms performing functions directly by calling each other are highly coupled and do not have good scalability.
In this paper, we propose a novel platform called the “SNES”, which is based on Elasticsearch (an open source distributed full-text retrieval system), and we design subscription module based on Apache Kafka (a high throughput distributed publish and subscribe message system) and Spark Streaming (a real-time streaming computing framework). A great number of empirical experiments prove that the platform can adapt well to social media data and obtains good performance in public opinion monitoring. The SNES has the following advantages:
- Crawling ever-changing social media data in real time.
- Storing and retrieving massive data quickly and efficiently.
- Excellent performance, scalability and fault tolerance.
Related work
Firstly, mining public opinion and extracting hot topics on social networks require massive and multi-source social media data, and the explosion and immediacy of social media data determine that data cannot be acquired and processed in the traditional way. Scrapy is an app
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[595936],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。
您可能感兴趣的文章
- 基于ElasticSearch的面向社交网络的公众舆论监控平台外文翻译资料
- 基于卷积神经网络的智能车牌识别系统研究外文翻译资料
- 基于深度卷积神经网络的ImageNet分类外文翻译资料
- Android 开发的代码推荐:它是如何工作的以及可以改进的地方?外文翻译资料
- 基于传感器网络的城市天然气泄漏在线监测系统外文翻译资料
- 基于深度学习的微博文本情感分析外文翻译资料
- 定义增强现实系统的需求,以克服在协同设计会议中创建和使用设计表示的挑战外文翻译资料
- 为什么人们会玩基于地理位置的增强现实游戏:基于宝可梦Go的研究外文翻译资料
- 基于JSP和PHP的动态Web服务器性能分析与仿真建模外文翻译资料
- GNU libmicrohttpd 库教程外文翻译资料