分布式信息获取系统及方法

文档序号:6621999阅读:214来源:国知局
分布式信息获取系统及方法
【专利摘要】本发明提供一种分布式信息获取系统及方法,所述分布式信息获取系统包括:一个或多个请求生成装置,用于生成获取信息的任务请求;一个或多个任务管理装置,用于根据所述任务请求确定任务的优先级并分配任务;多个任务执行装置,用于根据所述任务管理器的分配执行所述任务以获取信息;信息收集装置,用于收集多个所述任务执行装置获取的信息;一个或多个数据解析装置,用于对所述信息进行数据解析;以及数据储存装置,用于储存进行过数据解析的信息。本发明通过上述分布式信息获取系统管理多台低成本任务执行装置来抓取网络上的信息。
【专利说明】分布式信息获取系统及方法

【技术领域】
[0001] 本发明涉及分布式系统,具体而言,涉及分布式信息获取系统及方法。

【背景技术】
[0002] 随着信息技术的发展,网络上的信息越来越多,通过网络搜索引擎查找信息成了 人们生活中的重要的信息来源。网络搜索引擎主要利用网络信息获取装置来获取网络上的 信息。
[0003] 目前,公知的网络信息获取装置(例如网络爬虫)是使用单台个人电脑(一般采 用X86架构)或者服务器来完成数据采集工作,再将采集到的数据储存于数据储存模块中, 但此种方式所采用的抓取设备单一,因而导致信息获取效率不高,所耗费时间长。又由于使 用的设备(如个人电脑,服务器等)价格昂贵,成本高,因此给信息采集工作带来不便。


【发明内容】

[0004] 为了解决上述问题,本发明提供一种分布式信息获取系统,包括:一个或多个请求 生成装置,用于生成获取信息的任务请求;一个或多个任务管理装置,用于根据所述任务请 求确定任务的优先级并分配任务;多个任务执行装置,用于根据所述任务管理器的分配执 行所述任务以获取信息;信息收集装置,用于收集多个所述任务执行装置获取的信息;一 个或多个数据解析装置,用于对所述信息进行数据解析;以及数据储存装置,用于储存进行 过数据解析的信息。
[0005] 优选地,所述任务管理装置还包括:任务持久化装置,用于将每个所述任务请求储 存至所述数据储存装置。
[0006] 优选地,还包括:信息队列装置,用于将所述信息收集装置收集到的信息构成队列 并按队列的顺序将所述信息提交至所述数据解析装置。
[0007] 优选地,所述信息收集装置采用异步方式将收集到的信息发送至所述信息队列装 置。
[0008] 优选地,所述多个任务执行装置还向所述任务管理装置反馈每个所述任务执行装 置的执行状态以供所述任务管理装置分配未执行的任务。
[0009] 根据本发明的又一方面,还提供一种分布式信息获取方法,包括:生成获取信息的 任务请求;根据所述任务请求确定任务的优先级并向多个任务执行装置分配任务;所述多 个任务执行装置执行所述任务以获取信息;收集获取的信息;对所述信息进行数据解析; 以及储存进行过数据解析的信息。
[0010] 优选地,所述根据所述任务请求确定任务的优先级并向多个任务执行装置分配任 务还包括:将每个所述任务请求储存至一数据储存装置。
[0011] 优选地,所述收集获取的信息之后,所述对所述信息进行数据解析之前还包括:将 收集到的信息构成队列并按队列的顺序进行数据解析。
[0012] 优选地,所述将收集到的信息构成队列并按队列的顺序进行数据解析包括:采用 异步方式将收集到的信息更新至所述队列。
[0013] 优选地,还包括:根据多个所述任务执行装置的已分配任务的执行状态向多个所 述任务执行装置分配未执行的任务。
[0014] 本发明通过分布式信息获取的方法,利用任务管理装置向多个任务执行装置根据 任务优先级分配信息获取的任务,任务执行装置获取信息后,通过异步的方式由信息收集 装置进行采集并构成和更新信息队列以供数据解析装置进行分析,并将结果储存至数据储 存装置。多台任务执行装置不需要X86系统,可降低成本。本发明通过上述分布式系统管 理多台低成本任务执行装置来抓取网络上的信息。

【专利附图】

【附图说明】
[0015] 通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得 更加明显。
[0016] 图1示出本发明第一实施例的分布式信息获取系统的结构示意图;以及
[0017] 图2示出本发明第一实施例的分布式信息获取方法的流程图。

【具体实施方式】
[0018] 现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形 式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将 全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
[0019] 图1示出本发明第一实施例的分布式信息获取系统的结构示意图。分布式信息获 取系统包括多个请求生成装置102、多个任务管理装置104、多个任务执行装置106、一个信 息收集装置108、多个数据解析装置112以及一个数据储存装置114。多个请求生成装置 102与多个任务管理装置104连接通讯。多个任务管理装置104与多个任务执行装置106 连接通讯。多个任务执行装置106与一个信息收集装置108连接通讯。信息收集装置108 与多个数据解析装置112连接通讯。多个数据解析装置112与一个数据储存装置114连接 通讯。其中,各装置之间的连接方式可以是有线连接或者无线连接,无线连接的方式包括有 红外连接、蓝牙连接、局域网连接、互联网连接等。各装置之间的通讯优选地,使用HTTP协 议。
[0020] 具体地,本实施例示出多个任务管理装置104与多个任务执行装置106相对应,任 务管理装置104的个数与任务执行装置106的个数相同。优选地,多个任务执行装置106根 据地域或者路由距离分成不同的执行模块,每个执行模块由相应数量的任务管理装置104 进行管理。在一个变化例中,任务管理装置104与任务执行装置106的个数不相同,一般地, 任务管理装置104的个数少于任务执行装置106。一个任务管理装置104管理预定的多个 任务执行装置106或者根据网络带宽、任务内容等实时得选择任务执行装置106进行管理。 进一步地,请求生成装置102、任务管理装置104、数据解析装置112的个数可以是一个。
[0021] 请求生成装置102生成获取信息的任务请求,优选地,请求生成装置102与用户交 互获取任务请求。在一个变化例中,请求生成装置102由事件触发生成任务请求。一个请求 生成装置102可以生成多个任务请求。本图示出了多个请求生成装置102。多个请求生成 装置102将生成的任务请求的列表发送至多个任务管理装置104。多个任务管理装置104 根据任务请求确定任务的优先级并向任务执行装置分配任务。其中,任务的优先级优选地, 由用户确定,并通过任务请求的列表一起发送至任务管理装置104。在一个变化例中,任务 管理装置104根据任务的内容和任务执行装置104的状态或者预定的任务策略确定任务的 优先级,例如,预定的策略为优先完成工作量大的任务,则任务管理装置104按工作量对任 务优先级进行排序。又例如,预定的策略为优先完成流量较小的任务,则任务管理装置104 按流量对任务优先级进行排序。任务管理装置104确定了任务的优先级后,将不同的任务 分配至不同的任务执行装置106。任务执行装置106根据任务的优先级执行任务以获取信 息。信息收集装置108收集多个任务执行装置106获取的信息并将获取的信息发送至数据 解析装置112。多个数据解析装置112对获取的信息进行数据解析并将解析后的数据储存 至数据储存装置114。其中,任务执行装置106还向任务管理装置104反馈执行状态,例如, 任务是否执行中,执行的网络环境等等。
[0022] 本图还示出了 一个任务持久化装置116,任务持久化装置116用于将任务管理装 置104获取的任务列表储存至数据储存装置114,以提升整个装置的稳定性。
[0023] 本图还示出了一个信息队列装置110,信息队列装置110用于将信息收集装置108 收集到的信息构成队列并按队列的顺序将信息提交至数据解析装置112。其中,信息收集装 置108采用异步的方式将收集到的信息发送至信息队列装置110。
[0024] 优选地,本发明所提供的分布式信息获取系统优选地应用于爬虫系统,请求生成 装置102根据用户输入的关键词生成获取信息的任务请求。并将该任务请求分成多个任务 形成一个任务列表。请求生成装置102将生成的任务列表发送至多个任务管理装置104。 多个任务管理装置104根据任务请求确定任务的优先级并向任务执行装置106分配任务。 任务执行装置106根据任务的优先级抓取信息。信息收集装置108收集多个任务执行装置 106抓取的信息并将抓取的信息发送至数据解析装置112。多个数据解析装置112对获取 的信息进行数据解析获取结果URL并将解析后的URL储存至数据储存装置114。
[0025] 图2示出本发明第一实施例的分布式信息获取方法的流程图。分布式信息获取系 统包括多个请求生成装置、多个任务管理装置、任务持久化装置、多个任务执行装置、一个 信息收集装置、一个信息队列装置、多个数据解析装置以及一个数据储存装置。多个请求生 成装置与多个任务管理装置连接通讯。多个任务管理装置与任务持久化装置以及多个任务 执行装置连接通讯。多个任务执行装置与一个信息收集装置连接通讯。信息收集装置通过 一个信息队列装置与多个数据解析装置连接通讯。多个数据解析装置与一个数据储存装置 连接通讯。具体地,本图示出了 8个步骤。
[0026] 步骤S101,生成获取信息的任务请求。
[0027] 具体地,任务请求由请求生成装置生成,优选地,请求生成装置与用户交互获取任 务请求。在一个变化例中,任务请求由事件触发而生成。一个任务请求可以拆分为一个任 务请求列表以供多个任务执行装置执行。一个变化例中,多个任务请求形成一个任务请求 列表并由多个任务执行装置执行。
[0028] 步骤S102,根据任务请求确定任务的优先级并向任务执行装置分配任务。
[0029] 其中,该步骤由任务管理装置完成。任务的优先级优选地,由用户确定,并通过任 务请求的列表一起发送至一任务管理装置。在一个变化例中,任务管理装置根据任务的内 容和任务执行装置的状态或者预定的任务策略确定任务的优先级,例如,预定的策略为优 先完成工作量大的任务,则任务管理装置按工作量对任务优先级进行排序。又例如,预定的 策略为优先完成流量较小的任务,则任务管理装置按流量对任务优先级进行排序。任务管 理装置确定了任务的优先级后,将不同的任务分配至不同的任务执行装置。
[0030] 步骤S103,根据任务的优先级执行任务以获取信息。
[0031] 任务持久化装置将任务管理装置获取的任务列表储存至数据储存装置,以提升整 个装置的稳定性。
[0032] 步骤S104,任务执行装置根据任务的优先级执行任务以获取信息。
[0033] 步骤S105,信息收集装置收集多个任务执行装置获取的信息。
[0034] 步骤S106,信息收集装置采用异步框架将获取的信息发送至信息队列装置,信息 队列装置将获取的信息构成或更新队列并按照队列的顺序将信息发送至数据解析装置。
[0035] 步骤S107,数据解析装置对获取的信息进行数据解析并将解析后的信息储存至数 据储存装置。
[0036] 步骤S108,任务执行装置还向任务管理装置反馈执行状态,例如,任务是否执行 中,执行的网络环境等等。具体地,该步骤并不仅限于在步骤S107之后,其可以在该方法的 任意时刻进行。
[〇〇37] 虽然本发明已以优选实施例揭示如上,然而其并非用以限定本发明。本发明所属 【技术领域】的技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与修改。因此, 本发明的保护范围当视权利要求书所界定的范围为准。
【权利要求】
1. 一种分布式信息获取系统,其特征在于,包括: 一个或多个请求生成装置,用于生成获取信息的任务请求; 一个或多个任务管理装置,用于根据所述任务请求确定任务的优先级并分配任务; 多个任务执行装置,用于根据所述任务管理器的分配执行所述任务以获取信息; 信息收集装置,用于收集多个所述任务执行装置获取的信息; 一个或多个数据解析装置,用于对所述信息进行数据解析;以及 数据储存装置,用于储存进行过数据解析的信息。
2. 根据权利要求1所述的分布式信息获取系统,其特征在于,所述任务管理装置还包 括: 任务持久化装置,用于将每个所述任务请求储存至所述数据储存装置。
3. 根据权利要求1所述的分布式信息获取系统,其特征在于,还包括: 信息队列装置,用于将所述信息收集装置收集到的信息构成队列并按队列的顺序将所 述信息提交至所述数据解析装置。
4. 根据权利要求3所述的分布式信息获取系统,其特征在于,所述信息收集装置采用 异步方式将收集到的信息发送至所述信息队列装置。
5. 根据权利要求1所述的分布式信息获取系统,其特征在于,所述多个任务执行装置 还向所述任务管理装置反馈每个所述任务执行装置的执行状态以供所述任务管理装置分 配未执行的任务。
6. -种分布式信息获取方法,其特征在于,包括: 生成获取信息的任务请求; 根据所述任务请求确定任务的优先级并向多个任务执行装置分配任务; 所述多个任务执行装置执行所述任务以获取信息; 收集获取的信息; 对所述信息进行数据解析;以及 储存进行过数据解析的信息。
7. 根据权利要求6所述的分布式信息获取方法,其特征在于,所述根据所述任务请求 确定任务的优先级并向多个任务执行装置分配任务还包括: 将每个所述任务请求储存至一数据储存装置。
8. 根据权利要求6所述的分布式信息获取方法,其特征在于,所述收集获取的信息之 后,所述对所述信息进行数据解析之前还包括: 将收集到的信息构成队列并按队列的顺序进行数据解析。
9. 根据权利要求8所述的分布式信息获取方法,其特征在于,所述将收集到的信息构 成队列并按队列的顺序进行数据解析包括: 采用异步方式将收集到的信息更新至所述队列。
10. 根据权利要求6所述的分布式信息获取方法,其特征在于,还包括: 根据多个所述任务执行装置的已分配任务的执行状态向多个所述任务执行装置分配 未执行的任务。
【文档编号】G06F17/30GK104102740SQ201410371132
【公开日】2014年10月15日 申请日期:2014年7月30日 优先权日:2014年7月30日
【发明者】洪倍 申请人:精硕世纪科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1