一种基于消息中间件的网页实时处理技术

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:sunj2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:针对传统网页采集分析系统在实时性上的不足,提出了一种基于消息中间件的网页实时处理技术。该技术利用消息中间件在消息队列驱动流程中引入并行调度策略,既继承了传统网页处理系统的可靠性,又实现信息抽取、话题聚类和网页分类等模块的分布式并行处理,增强了系统的实时处理能力。实验证明该文提出的技术在舆情实时采集、处理中较传统方法实时性高。
  关键词:消息中间件;网页处理;实时性;并行调度;舆情
  中图分类号:TP391文献标识码:A文章编号:1009-3044(2011)10-2269-03
  A Real-time Web Page Processing Technique Based on Message-Oriented Middleware
  ZHOU Cheng, GE Bin, JIANG Lin-cheng
  (Science and Technology on Information Systems Engineering Laboratory in National Univ. of Defense Technology, Changsha 410073, China)
  Abstract: For the traditional web acquisition and analysis system lacking of real-time, this article proposed a web real-time processing technique based on message-oriented middleware. This technique not only inherits the simple principle of traditional web processing system to ensure the reliability of it; but also brings in parallel scheduling strategies, which make modules, such as information extraction module, topic clustering module and web pages classification module, achieve distributed parallel processing which further enhances the real-time processing capability of system. Experimental results show the proposed technique is more real-time than traditional method.
  Key words: MOM; web page processing; real-time; parallel scheduling; public opinion
  互联网已经被确立为继报纸、广播、电视之后的第四代媒体。网络的广泛普及、网络信息的爆炸增长和网民参与热情的空前高涨,使得对网络内容的监控和管理变得十分迫切。面对海量的互联网信息,人工监管费时费力,网络舆情监控系统应运而生。
  网络舆情是指通过互联网传播的公众对现实生活中某些问题所持的有较强影响力、倾向性的观点和言论,是网民关注的热点,是民众讨论的焦点。网络舆情主要通过新闻评论、BBS论坛、博客、聚合新闻(RSS)、转贴等实现并加以强化,集中反映一个时期网络舆论的中心[1]。网络舆情监控系统是针对网络舆情进行信息采集、话题发现、热度评估、跟踪预警和分析处理的信息系统。在海量信息环境下,如何保证舆情分析的及时性和有效性,分析挖掘相关数据,以满足实用性要求,是舆情分析的难点。同时,舆情分析结果可为真实社会系统与人工社会系统的平行互动提供指导意义。
  目前国内外大量学者对网络舆情进行了相关研究。Atkinson等[2]提出了一种近实时的多语种新闻监测与分析系统。该系统集成文本挖掘、机器学习、统计分析等技术,自动确定新闻文章报道的是谁,在何地,做何事,但是文章没有具体谈及如何实现近实时的问题。刘兰等[3]针对国内网络信息采集和保存现状,对网络信息采集方式进行梳理和分析,根据采集对象、采集目的和实施者的不同将网络信息采集归纳为四类,期望对网络信息采集与保存提供参考,但是该文章未针对网络采集信息的分析进行论述,缺乏实用性。丁杰等[4]描述了一个网络舆情监控系统,该系统试图将网络新闻及论坛上的帖子依关键词搜索,并依“事件”聚类,让管理者通过阅读事件可以了解正在发生或已发生的事件,并提供自动持续追踪事件发展的功能,以协助管理者快速全面地了解事件全貌。虽然该系统应用了网页清洗及k-d tree分类方法,有效提升了系统效率,但该系统处理的是事先已爬取好的海量网页,这导致跟踪的热点并非当前态势,无法满足热点发现的实时性。
  目前,网络舆情监控系统大多是针对事先已爬取的网页进行分析,而网页更新速度非常快,这就导致很难满足实时性需求。为解决这一问题,本文提出基于消息中间件的网页实时采集、处理方法,该方法以消息中间件的消息队列驱动各个模块异步、稳定地执行,兼顾了网络舆情监控的实时性要求,并在实验中验证其可行性和有效性。
  1 消息中间件
  1.1 消息中间件
  消息中间件(MOM, Message-Oriented Middleware)是一种特定的中间件。它利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统集成[5]。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信,支持多通信协议、语言、应用程序、硬件和软件平台。消息中间件为应用系统提供了可靠的消息通信手段。能够实现不同操作系统平台、数据库和硬件系统平台的数据通信。具体来说,消息中间件最重要的功能就是及时提供可靠的消息通信手段。为了能够完成消息的可靠传输,一般使用队列的方式进行消息管理[6],也就是说,通常在进行数据传输时,将数据按照用户定义的大小,拆分成若干消息单元放入消息队列,中间件可以按照同步或异步的通信方式发送或者接收消息[7]。在实际的操作过程中,为了保障消息可靠传输,经常使用消息优先级、断点续传、可靠消息队列、内存队列等技术,有些还加入了流量控制、预建连接等功能。消息中间件的核心本质是消息传递,消息传递是一种能支持高速、异步、程序到程序可靠通信的技术。
  消息中间件的以上特点,为实时处理系统的设计提供了以下基础:
  1)无论是发送方还是接收方都无需等待对方返回成功消息,即可执行余下代码,从而大大地提高了事务处理的能力;
  2)信息传送过程中,信息发送机制具有一定功能的故障恢复能力;
  3)消息传递机制使得消息通信的双方具有不同的物理平台成为可能。
  1.2 消息中间件ActiveMQ
  ActiveMQ[8]是一个基于Apache 2.0 licenced发布并实现了JavaTM消息服务(JMS)开放标准的消息传送解决方案。此外,ActiveMQ还提供了大规模企业部署所需的互操作性、安全性、可伸缩性、可用性、易管理性以及其他功能。
  AetiveMQ采用Java语言开发,支持所有主流的操作系统和硬件平台,同时提供多种语言的调用接口,提供消息的安全可靠传输,并能够根据网络负载情况选择最佳路由。它实现了消息中间件的所有基本功能,同时还包含许多增强特性,是能高度满足客户需要的产品,可以解决大容量、快速、要求严格的消息传递需求。ActiveMQ是一种安全的、高性能的、成熟可靠的、经过实践验证的消息中间件,可以集成各种重要的计算平台,很多应用系统已使用AetiveMQ作为企业消息传递框架,使得一个或多个应用能够克服各种障碍进行通信。
  2 系统设计及实现
  2.1 系统结构
  基于消息中间件的网页实时处理系统是指运用消息中间件收发消息来驱动网页处理的各环节,以此达到对网页实时处理流程的控制。消息中间件是整个系统的核心,在此基础上设计的系统主要由网页抓取模块、网页预处理模块、消息中间件模块ActiveMQ、负载均衡模块、网页信息提取模块、网页话题聚类模块和网页分类模块组成,其中网页信息提取模块、网页话题聚类模块和网页分类模块包含若干个处理终端,系统结构如图1所示。
  从图1可以看出,系统的整个流程是分为三条路径,分别由消息中间件ActiveMQ的三个消息队列驱动。
  路径1:网页抓取模块读取种子URL(Universal Resource Locator,也被称为网页地址),并开始抓取,每抓取一个网页就将该网页URL、抓取时间和本地存储路径作为消息存入ActiveMQ的ExtractorQueue,经过负载均衡模块调度,驱动网页信息提取模块对网页进行信息提取,最后把各项信息录入数据库中已建好的统计表,作为下一步分析、展示的主要来源。
  路径2:将网页信息提取模块提取的网页标题存入ActiveMQ的ClusterQueue,经过负载均衡模块调度,驱动网页话题聚类模块对网页话题进行分布式聚类,为网络话题实时发现与追踪提供可靠数据。
  路径3:网页抓取模块为网页预处理模块提供网页ID和网页源码,处理后网页源码成为分词的网页正文内容,将其和网页ID存入ActiveMQ的ClassQueue,经过负载均衡模块调度,网页分类模块并行地对网页进行分类,并根据网页ID把分类信息插入数据库统计表的对应属性栏。
  2.2 系统各模块功能及实现
  1)网页抓取模块。该模块利用改进后的开源爬虫Heritrix[9]实现,根据用户提供的种子URL抓取网页源码并存储到本地,将网页URL、网页抓取时间和网页本地存储路径作为消息发送给ActiveMQ的ExtractorQueue,供网页信息提取模块使用。
  2)网页预处理模块。该模块将抓取的网页源码进行正文提取,并根据特征词库对正文进行分词,形成分词后的正文文本流,作为消息发送给ActiveMQ的ClusterQueue,供网页分类模块处理。
  3)消息中间件模块ActiveMQ。该模块将得到的文本流作为消息单元缓存在队列中,等待处理终端的相应处理。
  4)负载均衡模块。该模块根据“能者多劳”策略设计处理终端调度算法,使调度进程能够根据各处理终端的处理能力分配任务,从而能够充分利用计算机资源,提高网页处理能力。具体调度算法思想如表1。
  5)网页信息提取模块。该模块先通过网页URL判断网页是新闻网页还是论坛帖子,然后通过正则表达式匹配提取网页源码中的信息元素,并利用Oracle数据库提供的Sequence对每一网页生成一个数字ID作为主键,与网页抓取时间、网页本地存储路径等信息一起存入数据库。对于新闻网页,信息元素包括网页标题、发布时间、作者、来源网站等。对于论坛帖子,信息元素包括帖子标题、发布时间、发帖人、点击数、评论数等。同时将网页标题作为消息发送给ActiveMQ的ClassQueue,供网页话题聚类模块处理。
  6)网页话题聚类模块。该模块先对网页标题进行分词并添加词性标注,词频统计仅针对具有实际意义的名词和动词,而后将文本向量化,改进经典single-pass算法[10]进行分布式聚类,将属于同一个话题的网页聚成一类,并将结果输入数据库对应表中。
  7)网页分类模块。该模块利用分词后的网页正文对网页进行分类处理。使用文献[11]中提出的算法,利用已有语料库训练得到词的类别向量计算出消息队列中分词正文文本流的类别向量V=(x1,x2,…,xn),每一分量xi(1≤i≤n)对应着一个类别,如果计算得出分量xj(1≤j≤n)最大,就认为这一网页属于第j类,从而判定网页属于哪一类。
  3 实验及结果分析
  3.1 实验环境与实验数据
  实验硬件采用浪潮BF560D2服务器,操作系统为Windows Server 2003。采用中科院ICTCLAS分词系统,测试数据是利用改进的网络爬虫工具Heritrix实时采集的互联网新闻报道。为维持一定的数据量,选取的时间间隔为1分钟。
  3.2 结果分析
  首先,我们记录每分钟处理后入库的网页总数量和抓取的网页总数量,通过数据对照对系统实时性作验证分析,结果如图2所示。
  从图2可以看出,基于消息中间件的网页实时处理方法在前几分钟时抓取网页数量几乎与入库数量同步,在第5、7、9分钟时存在最大的数量差,约为300。但是系统平均每分钟能处理2022个网页,平均延时小于10秒。因此,总的来说,该方法具有较好的实时性。
  接下来,我们通过与消息平均分配给各处理终端的策略进行比较,验证并行调度策略的性能,结果如图3所示。从图3可以得出,随着时间的推移,两种策略处理网页数量的差距在逐渐加大,平均分配策略的平均处理量为1540,通过调度策略平均每分钟处理量提高31.3%左右。因此,负载均衡模块可以在一定程度上提高系统的性能,并行调度策略优于平均分配策略,由此可以看出,本文设计的实时采集、处理方法与传统处理已存于本地海量网页的方法相比,具有较好的实时性。
  4 结论
  本文面向网络舆情采集分析与决策支持的具体应用,设计并初步实现了基于消息中间件的网页实时处理方法,并针对消息中间件异步和稳定通信的特点,提出了提高系统性能的调度算法,实验证明本文所提的解决方案和调度策略是有效的,不仅提高了网页处理能力,还增强了网络舆情采集的实时性,可为社会计算支撑平台提供实时数据,具有较高的实用价值。
  参考文献:
  [1] 徐晓日.网络舆情事件的应急处理研究[J].华北电力大学学报:社会科学版,2007(1):89-93.
  [2] Atkinson M,Van der Goot E.Near Real Time Information Mining in Multilingual News[C].WWW 2009:1153-1154.
  [3] 刘兰,吴振新.网络存储信息采集方式研究[J].图书馆杂志,2009,28(8):28-31.
  [4] 丁杰,徐俊刚.IPSMS:一个网络舆情监控系统的设计与实现[J].计算机应用与软件,2010,27(4):188-190.
  [5] Xiong Gang,Xiong Gang-Yu,Litokorpi Aki,et al.Middleware-based solution for enterprise information integration[C].IEEE Symposium on Emerging Technologies and Factory Automation,2001(2):687-690.
  [6] 陈天煌,邹青梅.基于XML的异构数据库信息共享技术研究[J].武汉理工大学学报,2005(29):129-132.
  [7] 李琪林,刘强,周明天.论中间件技术及其分类[J].四川师范大学学报,2001,24(6):657-660.
  [8] Heritrix-Home Page[EB/OL].http://activemq.apache.org/,2010.9.
  [9] Apache ActiveMQ-Index[EB/OL].http://crawler.archive.org/,2010.9.
  [10] Seo Y W,Sycara K.Text clustering for topic detection[Z].USA:Carnegie Mellon University,2004.
  [11] Nigam K,McCallum A,Thrun S,et al.Text classification from labeled and unlabeled documents using EM[J].Machine Learning,2000,39(2/3):103-134.
其他文献
摘要:随着现代科技的发展,瞬息万变的高科技为当今世界带来了一个全新的平台与更多的挑战。面对激烈的竞争,我们必须充分利用这个平台,并找出自己的竞争优势。为了生存和发展,企业应注重引进先进的设备和管理创新,以提高生产效率,降低生产成本。  利用项目管理的方法来指导设备引进可行性分析,关键要采用项目管理中的成本管理、人力资源管理、风险管理和质量管理的思想来对设备引进的财务可行性、组织可行性和风险因素及对
针对磁悬浮轴承控制系统非线性、时变、强耦合的复杂特性,提出了仿人智能控制算法,并成功应用在磁悬浮轴承轴向控制系统中.实验结果表明:仿人智能控制在动态和稳态控制效果以
摘要:在线购物系统是一款通用性极强的商业企业网上购物系统,该系统适用于服装、化妆品、食品、图书、电器、物资等商业领域的企业。该系统可以使客户方便的进行浏览、查询、订购商品及向企业反馈信息,系统管理员可以方便的进行商品管理、订单管理、注册用户管理等。该系统采用Microsoft Visual Studio 2010为开发环境,采用C#编程语言进行编码,数据库采用Microsoft SQL Serve
研究了带有范数有界扰动的线性时滞控制系统的可达集界定问题。基于修正的Lyapunov-Krasovskii泛函,利用线性矩阵不等式方法,结合积分不等式技术给出了此类时滞控制系统可达
该文以中国联合网络通信有限公司淮南分公司在经营管理中遇到的实际问题为背景,设计了一个基于AsP和SQLServer2000数据库的WEB管理系统。探讨了新型信息管理系统在公司经营管
介绍了彩色正片反转冲洗的方法,打破了过去化学校色法的传统,首次采用了物理校色法,同时研究出冲洗药液配方和冲洗工艺,使彩色正片反转冲洗法达到了完全实用的水平.
摘要:作者介绍了动态路由协议RIP的四种计时器的计时原理,同时详细介绍了在教学过程中使用虚拟软件GNS3模拟思科路由器中RIP计时器的计时原理的方法,帮助学生加深对RIP计时器工作机制的理解。  关键词:GNS3;思科路由器;RIP计时器;模拟  中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)06-1336-03  The Simulation of RIP Time
摘要:伴随着高速互联网游戏、个人视频和高清晰电视(HDTV)等服务需求的日趋增长,网络用户对于带宽的需求也迅速提高。该文主要介绍了10GPON、VDSL2、HSPA 、LTE四种新技术在未来互联网中的应用,通过这四种技术的各自优势,解决互联网中带宽不够的问题,从而为承载高带宽增值业务带来希望。  关键词:10GPON; VDSL2; HSPA ; LTE; MIMO  中图分类号:TP393文献标
在用多观察序列训练HMM理论的基础上,提出了一种基于对多观察序列按多相关系数分组的HMM训练算法(简称基于多相关分组的HMM训练算法).该算法避免了直接计算条件概率的困难,与
针对一类带有未知非线性函数的非线性不确定系统,提出了一种新的自适应模糊跟踪控制方案。模糊逻辑系统用于系统中的未知的非线性函数建模,然后基于backstepping方法和自适应