CN109446441A - 一种通用的网络社区可信分布式采集存储系统 - Google Patents

一种通用的网络社区可信分布式采集存储系统 Download PDF

Info

Publication number
CN109446441A
CN109446441A CN201811126541.3A CN201811126541A CN109446441A CN 109446441 A CN109446441 A CN 109446441A CN 201811126541 A CN201811126541 A CN 201811126541A CN 109446441 A CN109446441 A CN 109446441A
Authority
CN
China
Prior art keywords
data
module
acquisition
submodule
frame
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
Application number
CN201811126541.3A
Other languages
English (en)
Other versions
CN109446441B (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201811126541.3A priority Critical patent/CN109446441B/zh
Publication of CN109446441A publication Critical patent/CN109446441A/zh
Application granted granted Critical
Publication of CN109446441B publication Critical patent/CN109446441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种通用的网络社区可信分布式采集存储系统,包括:分布式数据采集框架、快速开发框架、可信框架以及数据存储框架,其中,所述分布式数据采集框架采用了多元异构的形式,用于分布式并行的数据采集;所述快速开发框架包括多种快速开发模块,用于实现对系统的快速开发;所述可信框架包括多种性质验证模块,用于实现对数据采集过程中的多种性能的保证以及对存储数据的多种性能进行验证;所述数据存储框架包括多种数据存储模块,用于对多种复杂结构数据进行存储。本发明不但解决了现有爬虫框架中缺乏对数据可信性验证的问题,还针对结构复杂的数据设计了多种存储模块用于实现对其的有效存储;通过快速开发框架,使得开发过程更加方便和快速。

Description

一种通用的网络社区可信分布式采集存储系统
技术领域
本发明涉及网络信息采集存储领域,特别是涉及了一种通用的网络社区可信分布式采集存储系统,用于可信的数据获取与有效的数据存储。
背景技术
随着互联网的高速发展,互联网这一高度开放的平台带给传统媒体颠覆性的变革,越来越多的社会民众通过网络来表达自己的态度、观点和意见,获取和研究社会民众发表的观点意见对于及时发现热点话题和跟踪事件趋势具有了越来越重要的现实意义。如果想要获得这些信息,就需要专业的信息采集手段了。
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
一般来说,爬虫都会包含四个组件:下载组件、url(Uniform Resource Locator)统一资源定位符调度组件、内容抽取组件和结果处理组件。图1展示的是目前较常用的开源爬虫框架WebMagic的架构图,可以看出WebMagic很好的实现了上述四个组件的功能,但也可以看出这类爬虫框架的不足:
缺乏有效的针对复杂结构数据的采集存储方案;缺乏对整个框架的可信性论证,包括数据采集的可持续性、实时性、完整性和真实性的论证。
发明内容
本发明的目的是通过以下技术方案实现的一种通用的网络社区可信分布式采集存储系统,包括:分布式数据采集框架,采用多元异构的形式进行构建,用于分布式的数据并行采集;快速开发框架,具有多种快速开发模块,用于可信分布式采集存储系统的快速开发;可信框架,具有多种性质验证模块,用于连续的、实时的、完整的获取数据,并对获取的数据进行真实性验证,保障存储数据的真实性;数据存储框架,具有多种数据存储模块,用于对多种类型数据进行存储。
优选的,所述分布式数据采集框架具体包括:网页采集模块,用于对目标网络的页面进行爬取,获取统一资源定位符;接口调用模块,用于根据网络请求调用对应的接口,实现对统一资源定位符的分析;数据包捕获模块,用于快速的采集目标网络的页面内容。
优选的,所述快速开发框架包括,快速开发部分和手动开发部分,其中,所述快速开发部分具体包括:队列管理模块、网页下载模块、数据存储模块以及页面分析模板,用于提供现成的开发模块,实现快速开发;所述手动开发部分具体包括:网页分析模块,用于结合所述快速开发部分进行手动开发,进而实现对网络页面的可控分析。
更优选的,所述队列管理模块采用Redis数据库进行构建,具有Key-Value式存储形式,用于对所述统一资源定位符进行管理。
更优选的,所述对统一资源定位符进行管理包括:从网页采集模块中获取统一资源定位符,并对获取的统一资源定位符进行标记;以及向多个可信分布式采集存储系统分配统一资源定位符。
更优选的,所述网页下载模块用于根据所述队列管理模块中的统一资源定位符,对相应的网络页面进行网络页面内容下载。
优选的,所述多种性质验证模块包括:
可持续性验证模块,其具体包括人机识别子模块和状态监测子模块,其中,所述人机识别子模块用于在通过IP代理池进行网络代理的同时,使用随机User-Agent字段技术和动态链接顺序间隔和验证码识别技术绕过人机识别机制;所述状态监测子模块用于为所述分布式数据采集框架提供数据上报接口并监测上报数据状态;
实时性验证模块,其具体包括增量采集子模块和动态调整子模块,其中,所述增量采集子模块用于根据保存的id进行数据的连续采集;所述动态调整子模块用于根据采集节点的更新频率调整节点的采集频率;
完整性验证模块,其具体包括版面监测子模块、节点调度子模块以及流量预警子模块,其中,所述版面检测子模块用于对新增页面的检测;所述节点调度子模块用于控制节点对所述新增页面数据进行采集;所述流量预警子模块用于对影响数据采集流量的情况进行监测,实现及时发现和定位;
真实性验证模块,用于记录网络社区版本以及对获取的数据进行抽取验证,进而保证数据的真实可靠。
更优选的,在所述实时性验证模块中,通过所述增量采集子模块实现数据的连续采集具体包括:在每次的所述分布式数据采集框架数据采集完成时,将采集到的最大的信息id保存到数据库;在下个数据采集周期中,通过比较将要采集数据的id与上个周期中保存的数据的id的大小决定是否对该数据进行采集,若大于则采集该数据;若小于等于则直接跳过。
更优选的,在所述实时性验证模块中,通过所述动态调整子模块实现采集频率的调整具体包括:在采集节点每次启动时,从节点动态调整子模块中读取预设的采集周期,在每个采集周期运行完毕后,通过节点动态调整子模块对实际的数据产生情况进行分析;当一段时间内网络社区内新发布的内容增加时,则节点动态调整子模块自动缩短设置的采集周期;当一段时间内网络社区内新发布的内容减少时,则节点动态调整子模块自动延长设置的采集周期。
优选的,所述数据存储框架包括:热数据存储模块,用于通过非关系型内存数据库Redis实现对热数据的临时存储;结构化数据存储模块,用于通过开源型数据库MySQL实现对结构化数据的存储;快照存储模块,用于通过分布式的非关系型数据库HBase实现对网页快照的存储。
本发明的优点在于:针对现有爬虫框架的缺点进行了改进,通过增加可信框架,保证了数据采集的可持续性、实时性和完整性,保证了存储数据的真实性;在系统底层设计了快速开发框架,实现通过少量的代码编写即可快速的完成对网络社区可信分布式采集存储系统的构建;通过采用Redis数据库构建的队列管理模块实现了对采集节点的合理分配;在存储框架中,增加了多种存储模块,用于对包括快照数据、结构化数据以及热数据在内的多种形式数据进行存储;通过上述方法,本发明实现了对采集数据高效可信的采集,以及实现了对结构复杂数据的有效管理。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
附图1示出了开源网络爬虫WebMagic的框架结构示意图。
附图2示出了本发明的一种通用的网络社区可信分布式采集存储系统示意图。
附图3示出了本发明的可持续性验证模块组成示意图。
附图4示出了本发明的快速开发框架结构示意图。
附图5示出了本发明的并行采集节点的工作过程示意图。
附图6示出了本发明的数据存储过程示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,为开源网络爬虫WebMagic的框架结构示意图。其中,所述网络爬虫是一种用于自动提取网页信息的程序,它为搜索引擎从互联网上下载网页信息,是搜索引擎的重要组成部分。网络爬虫一般由四个部分组成包括:信息下载组件、url调度组件、内容抽取组件和结果处理组件,不难看出,WebMagic很好的实现了上述四个组件的功能,但其仍然缺乏有效的针对结构复杂数据的采集方案和存储方案;缺乏对整个框架的可信性论证,如,数据采集的可持续性、实时性、完整性以及真实性的论证等。为此本发明提出了一种通用的网络社区可信分布式采集存储系统,具体如下:
如图2所示,为本发明的一种通用的网络社区可信分布式采集存储系统示意图。其中,所述网络社区可信分布式采集存储系统包括:分布式数据采集框架,采用多元异构的形式进行构建,用于分布式的数据并行采集;快速开发框架,具有多种快速开发模块,用于可信分布式采集存储系统的快速开发;可信框架,具有多种性质验证模块,用于连续的、实时的、完整的获取数据,并对获取的数据进行真实性验证,保障存储数据的真实性;数据存储框架,具有多种数据存储模块,用于对多种类型数据进行存储。
具体的,在实际应用中,当一个本发明的采集存储系统对某个社区网络进行数据采集时,其可以被看作为一个数据采集节点。一台服务器中可以运行一个或多个本发明系统,即一台服务器中可以包含一个或多个数据采集节点,每个所述采集节点之间相互独立工作,负责执行由所述分布式数据采集框架采集,由队列管理模块分配的采集任务;其中,当多个采集节点同时工作时,其队列管理模块可以为一个或多个,具体视系统情况而定。所述队列管理模块用于统一管理和控制大量的采集节点,协调采集节点完成并发形式下的网络社区的数据采集工作。所述分布式数据采集框架包括:网页采集模块,用于对目标网络的页面进行爬取,获取统一资源定位符;接口调用模块,用于根据网络请求调用对应的接口,实现对统一资源定位符的分析;数据包捕获模块,用于快速的采集目标网络的页面内容。
所述快速开发框架包括:快速开发部分和手动开发部分,其中,所述快速开发部分具体包括:队列管理模块、网页下载模块、数据存储模块以及页面分析模板,用于提供现成的开发模块,实现快速开发;所述手动开发部分具体包括,网页分析模块,用于结合所述快速开发部分进行手动开发,进而实现对网络页面的可控分析。更具体的,所述队列管理模块采用Redis数据库进行构建,具有Key-Value式存储形式,用于对所述统一资源定位符进行管理。所述网页下载模块用于根据所述队列管理模块中的统一资源定位符,对相应的网络页面进行网络页面内容下载。其中,所述对统一资源定位符进行管理包括:从网页采集模块中获取统一资源定位符,并对获取的统一资源定位符进行标记;以及向多个可信分布式采集存储系统分配统一资源定位符。快速开发框架可以帮助用户尽可能的减少网络社区可信分布式采集存储系统的开发时间,从而缩短系统构建周期。
所述数据存储框架包括:热数据存储模块,用于通过非关系型内存数据库Redis实现对热数据的临时存储;结构化数据存储模块,用于通过开源型数据库MySQL实现对结构化数据的存储;快照存储模块,用于通过分布式的非关系型数据库HBase实现对网页快照的存储。
所述可信框架为针对现有爬虫框架缺点设计的一个框架,其具体包括:可持续性验证模块、实时性验证模块、完整性验证模块以及真实性验证模块。其中,所述可持续性验证模块用于保证本发明的采集存储系统能够持续不断的进行数据采集,为了达到这个目的,则需要解决人机识别和状态监控这两个方面的问题。其中,人机识别指的是一种反人工智能的识别机制,即禁止非人操作的访问以及数据的获取。为此,本发明通过设计了可持续性模块来保证这一目的的实现,具体如下:
如图3所示,为本发明的可持续性验证模块组成示意图。其中,可持续验证模块具体包括,人机识别子模块与状态监测子模块。其中,所述人机识别子模块用于在通过IP代理池进行网络代理的同时,使用随机User-Agent字段技术和动态链接顺序间隔和验证码识别技术绕过人机识别机制;所述状态监测子模块用于为所述分布式数据采集框架提供数据上报接口并监测上报数据状态。其中,所述上报数据包括分布式数据采集框架的状态、参数和错误日志等信息。状态检监测子模块通过不断地将分布式数据采集框架的状态、参数和错误日志等信息汇报给可信框架进行统计和分析,从而在系统层面对采集框架的运行情况进行总体的掌握和调控,进而保证了数据采集的稳定、实时和完整以及保存数据的可靠。
更具体的,所述随机User-Agent字段是指在本发明系统内置多个常见浏览器的User-Agent用户代理字段,如Chrome谷歌浏览器、IE浏览器、FireFox火狐浏览器以及Opera欧朋浏览器等,并封装成工具类调用;User-Agent用于防止被目标网络社区识别为自动化程序而拒绝连接;由于一些网络社区还会采用验证码的方式进而区分人机,因此本发明将验证码的识别工具和逻辑进行封装,采集程序在遇到需要验证码的页面时调用验证码识别工具,就可以对图片中的验证码进行识别。在简单验证码识别失败时会自动换用更高精度但更慢的方式进行识别,得到正确结果后返回给分布式数据采集框架;一些网络社区会根据请求的顺序和频率来判断人机行为,本发明通过对队列管理模块器内所有的网络社区链接进行随机排序,使得单个采集节点的链接请求顺序随机、不可预测,同时对访问的间隔也进行随机设置,保证了对目标社区的可持续性访问;可信框架中的IP代理工具会维护一个IP代理池,并根据根分布式数据采集框架中的网页下载模块器进行定制,利用HTTP代理技术在发送采集程序请求时先从IP池中随机选择一个IP代理进行发送,若出现被拒绝访问的情况,则在一段时间后主动切换请求的代理地址,防止因为短时间内某IP的请求频率过高被拒绝访问。
实时性验证模块用于使得本发明采集存储系统能够及时的采集到网络社区上的新内容。为了达到这个目的,本发明在对实时性验证模块的设计中设计了包括,增量采集子模块和动态周期子模块。其中,在增量采集子模块中,本发明根据网络社区典型的“列表–详情”式的页面结构,以及一个网络社区中的单个版面内帖子的id是递增的这两种特点,通过在每次数据采集完成后将该版面的最大信息id保存到对应的数据存储模块中,使得在下个数据采集周期中,通过判断将要采集数据的id与保存的id的大小决定是否要采集该信息,大于则采集该数据,小于等于则直接跳过,进而实现对网络社区数据的增量采集。此外,由于增量采集子模块中的逻辑是相对固定的,因此可以将这些操作和逻辑封装成一个工具类,从而在开发对不同社区的页面的分析过程中直接调用增量采集子模块,而不用考虑如何记录采集的帖子id,如何取出该网络社区某个版上次数据采集到的位置,如何判断下一个版面需不需要进行访问等逻辑细节。
此外,由于网络社区上的内容大多是由用户发布的,新增的数据量随着时间有很大的波动;因此,如果采集周期设计的不合理就有可能漏掉或者无法及时采集社区上的新增内容,并且消耗更多的资源。因此在可信机制中设计了一个动态调度子模块,采集节点每次启动时从动态调度子模块中读取预设的采集周期,在首次采集周期运行完毕后动态调度子模块通过分析该采集周期内的实际采集数据的采集时间,进而重新设置更加符合该节点的采集周期,从而对下一次数据的采集周期进行动态调整。如此,若短时间网络社区内新发布的内容突然增加时,动态调度子模块将在下一次采集周期中自动缩短该节点的采集周期,以便及时采集到新增的信息;而若一段时间内社区新发布的内容减少时,动态调度子模块可以自动延长采集周期以避免浪费宝贵的计算资源。
完整性验证模块用于应付在数据的采集过程中,需要考虑到目标社区网站可能会出现的新增版面,或者对现有版面的权限和可见性的调整等情况。因此,本发明包括该两种影响数据采集完整性的两个因素出发,设计了版面监测子模块、节点调度子模块以及流量预警子模块,其中,所述版面检测子模块用于对新增页面的检测;所述节点调度子模块用于控制节点对所述新增页面数据进行采集;所述流量预警子模块用于对影响数据采集流量的情况进行监测,实现及时发现和定位。
真实性验证模块用于对已产生的数据进行抽取验证,从而保证存储的数据的真实可信性。网络社区中的信息大多由用户产生,并且大部分网络社区允许用户修改和删除自己发布的内容。而在增量采集子模块的逻辑中,已经采集过的帖子将不会被再次采集,这种情况下就无法获取到用户修改帖子后的内容,也无法识别帖子是否已经被删除。因此,本发明设计了真实性验证模块,通过版本记录验证的方式提高采集数据的真实性,其中,所述版本记录验证的方式包括:通过验证存储的id是否具有对应的信息;以及通过查看版本记录判断该条帖子是否被修改等。上述即为可信框架的具体组成及其实现方式。下面将结合其它附图对本发明可信分布式采集存储系统的其它框架进行更加详细的介绍:
如图4所示,为本发明的快速开发框架结构示意图。其中,所述快速开发框架结构包括:快速开发部分以及手动开发部分。其中,所述快速开发部分中包括有多种页面分析模板,且集合了队列管理模块、网页下载模块以及数据存储调用等模块,用于帮助使用者进行快速开发。所述手动开发部分用于在继承所述网络页面的分析模板的基础上,通过手动开发程序对相应的网络页面进行进一步的分析处理。所述快速开发框架的具体工作过程如下:
1、所述队列管理模块通过分布式数据采集框架获取统一资源定位符(Unif ormResource Locator)url,并对统一资源定位符进行分析,包括:初始时通过给定一个起始的url作为爬虫的启动url;对所述启动url所对应的网页内容进行下载后,根据相应的规则对所述启动url之后的多个url进行获取,并放入队列管理模块中进行排序。在上述过程中,当爬虫爬取后(url信息被获取后),将此url进行标记,则若后续发现带有标记的url,则不再将其加入到队列管理模块中,进而只有放入队列管理模块中的url所对应的网页信息才会被下载。
2、网页下载模块,用于根据所述队列管理模块中的url执行对应的网页下载模块工作,网页内容下载后,需要根据操作人员需要,手动编写程序进行页面分析,如编写正则表达式等算法对页面进行解析,进而获得需要的结构化数据。
3、重复步骤1与步骤2,直到队列管理模块器中没有有效的url后,停止对该网页信息的下载。由于网络社区中的用户交互数据量大,本发明为了实现对采集节点的有效管理,将队列管理模块部分用可以响应高并发的队列管理模块工具进行集中管理,从而实现多节点协同并行式的处理结构进而用于分布式并行采集。所述采集节点的工作过程如下:
如图5所示,本发明的并行采集节点的工作过程示意图。其中,每个节点即为采一个数据采集存储系统。每个采集节点包括有网页下载功能、页面分析功能以及数据存储功能。其具体工作过程包括,通过分布式数据采集框架在互联网的网络社区或网页中爬取数据,经过队列管理模块获得所述url信息,并分配给各个节点进行进一步分析处理,如,网页下载模块根据分配得到的url后,下载该url对应的网页信息,然后由所述页面分析模块对下载的网页信息做进一步的分析,进而获得目标信息。最后由数据存储框架进行保存。在上述过程中,当url对应的数据被采集后,页面分析模块会通知队列管理模块,进而队列管理模块对该url进行标记,以便在下一个采集周期中,对具有标记的url进行过滤。
在上述结构中,多个相同社区的数据采集存储系统可以分别运行在相同或不同机器上,从唯一的队列管理模块中存取链接,然后对数据进行并行的采集、清洗和存储,若某些网络社区的采集程序的并发的数据量较大,可以利用队列模块管理器将其从共用的队列管理模块中独立出来,作为单独的队列管理模块进行单独处理,从而做到对大量数据的分布式并行采集。需说明的,本发明系统中的队列管理模块可以被多个本发明系统共用,当管理数据量超过其能力范围时可以将一部分数据进行提取,并通过其它或单独使用队列管理模块进行管理。为此,本发明在综合考虑了上述两种性能的要求下采用了具有开源的内存Key-Value(关键值)的数据库系统Redis来构建分布式数据采集框架的队列管理模块器,Redis使用内存而不是硬盘来进行数据存储,支持主从同步和数据备份,并且在拥有高性能和低延时的同时保持了良好的扩展性和数据安全性。
队列管理模块的管理过程包括,在搭建好的Redis数据库中为每一个网络社区建立一张表,同一个网络社区的所有运行着的采集节点都会从其中读取和插入所需要访问的网络链接,进而配合所述队列管理模块实现分布式并行的采集框架结构。此外,本发明还对结构复杂的数据设计了对应的存储模块,具体如下:
如图6所示,为本发明的存储过程示意图。其过程包括:本发明的采集存储系统一边通过分布式数据采集框架将采集到的原始页面拷贝一份直接作为页面快照信息通过快照存储模块进行存储,用于供后续查阅原始资料时的调用;另一边原始数据经过快速开发框架中的页面分析模块的分析和清洗后,组装成结构化的数据存入支持高性能I/O的热数据存储工具中,进而通过数据存储工具进行实时的热数据处理和预警;并将结构化的数据存入关系型数据库中,以供后续的页面分析模块对其内容进行聚类和话题分析。所述热数据是一种即时状态数据,如位置状态、交易以及浏览行为等。
具体的,本发明对包括快照数据、结构化数据以及热数据设计了相应的存储模块,其具体介绍如下:
结构化据存储模块中保存的结构化的数据由网页信息的抽取结果和数据包的捕获和清洗过的结果两部分组成。这部分数据的特点是高度结构化,冗余和干扰信息少,适合存储在关系型数据库中。因此本发明采用开源系型数据库MySQL作为结构化数据的存储模块。
热数据存储模块需要支持高性能的数据吞吐,因此本发明采用了高性能的非关系型内存数据库Redis来实现热数据的临时存储。网络社区的数据采集节点将采集到的数据清洗、结构化后传递给Redis,页面分析模块实时的对传入Redis中的数据进行分析,分析完毕后数据将会存入mysql中供前端展示时调用。
网页快照是指下载时的原始网页,其具有数据量大、非结构化、信息噪声大等特点。因此本发明采用分布式的、非关系型数据库HBase作为快照数据存储模块对其进行存储。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种通用的网络社区可信分布式采集存储系统,其特征在于,包括:
分布式数据采集框架,采用多元异构的形式进行构建,用于分布式的数据并行采集;
快速开发框架,具有多种快速开发模块,用于可信分布式采集存储系统的快速开发;
可信框架,具有多种性质验证模块,用于连续的、实时的、完整的获取数据,并对获取的数据进行真实性验证,保障存储数据的真实性;
数据存储框架,具有多种数据存储模块,用于对多种类型数据进行存储。
2.根据权利要求1所述的分布式采集存储系统,其特征在于,所述分布式数据采集框架具体包括:
网页采集模块,用于对目标网络的页面进行爬取,获取统一资源定位符;
接口调用模块,用于根据网络请求调用对应的接口,实现对统一资源定位符的分析;
数据包捕获模块,用于快速的采集目标网络的页面内容。
3.根据权利要求1所述的分布式采集存储系统,其特征在于,所述快速开发框架包括,快速开发部分和手动开发部分,其中,
所述快速开发部分具体包括:队列管理模块、网页下载模块、数据存储模块以及页面分析模板,用于提供现成的开发模块,实现快速开发;
所述手动开发部分具体包括,网页分析模块,用于结合所述快速开发部分进行手动开发,进而实现对网络页面的可控分析。
4.根据权利要求3所述的分布式采集存储系统,其特征在于,所述队列管理模块采用Redis数据库进行构建,具有Key-Value式存储形式,用于对所述统一资源定位符进行管理。
5.根据权利要求4所述的分布式采集存储系统,其特征在于,所述对统一资源定位符进行管理包括:
从网页采集模块中获取统一资源定位符,并对获取的统一资源定位符进行标记;以及,
向多个可信分布式采集存储系统分配统一资源定位符。
6.根据权利要求3所述的分布式采集存储系统,其特征在于,所述网页下载模块用于根据所述队列管理模块中的统一资源定位符,对相应的网络页面进行网络页面内容下载。
7.根据权利要求1所述的分布式采集存储系统,其特征在于,所述多种性质验证模块包括:
可持续性验证模块,其具体包括人机识别子模块和状态监测子模块,其中,所述人机识别子模块用于在通过IP代理池进行网络代理的同时,使用随机User-Agent字段技术和动态链接顺序间隔和验证码识别技术绕过人机识别机制;所述状态监测子模块用于为所述分布式数据采集框架提供数据上报接口并监测上报数据状态;
实时性验证模块,其具体包括增量采集子模块和动态调整子模块,其中,所述增量采集子模块用于根据保存的id进行数据的连续采集;所述动态调整子模块用于根据采集节点的更新频率调整节点的采集频率;
完整性验证模块,其具体包括版面监测子模块、节点调度子模块以及流量预警子模块,其中,所述版面检测子模块用于对新增页面的检测;所述节点调度子模块用于控制节点对所述新增页面数据进行采集;所述流量预警子模块用于对影响数据采集流量的情况进行监测,实现及时发现和定位;
真实性验证模块,用于记录网络社区版本以及对获取的数据进行抽取验证,进而保证数据的真实可靠。
8.根据权利要求7所述的分布式采集存储系统,其特征在于,在所述实时性验证模块中,通过所述增量采集子模块实现数据的连续采集具体包括:
在每次的所述分布式数据采集框架数据采集完成时,将采集到的最大的信息id保存到数据库;
在下个数据采集周期中,通过比较将要采集数据的id与上个周期中保存的数据的id的大小决定是否对该数据进行采集,若大于则采集该数据;若小于等于则直接跳过。
9.根据权利要求7所述的分布式采集存储系统,其特征在于,在所述实时性验证模块中,通过所述动态调整子模块实现采集频率的调整具体包括:
在采集节点每次启动时,从节点动态调整子模块中读取预设的采集周期,在每个采集周期运行完毕后,通过节点动态调整子模块对实际的数据产生情况进行分析;
当一段时间内网络社区内新发布的内容增加时,则节点动态调整子模块自动缩短设置的采集周期;
当一段时间内网络社区内新发布的内容减少时,则节点动态调整子模块自动延长设置的采集周期。
10.根据权利要求1所述的分布式采集存储系统,其特征在于,所述数据存储框架包括:
热数据存储模块,用于通过非关系型内存数据库Redis实现对热数据的临时存储;
结构化数据存储模块,用于通过开源型数据库MySQL实现对结构化数据的存储;
快照存储模块,用于通过分布式的非关系型数据库HBase实现对网页快照的存储。
CN201811126541.3A 2018-09-26 2018-09-26 一种通用的网络社区可信分布式采集存储系统 Active CN109446441B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811126541.3A CN109446441B (zh) 2018-09-26 2018-09-26 一种通用的网络社区可信分布式采集存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811126541.3A CN109446441B (zh) 2018-09-26 2018-09-26 一种通用的网络社区可信分布式采集存储系统

Publications (2)

Publication Number Publication Date
CN109446441A true CN109446441A (zh) 2019-03-08
CN109446441B CN109446441B (zh) 2020-11-03

Family

ID=65544487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811126541.3A Active CN109446441B (zh) 2018-09-26 2018-09-26 一种通用的网络社区可信分布式采集存储系统

Country Status (1)

Country Link
CN (1) CN109446441B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488508A (zh) * 2020-04-10 2020-08-04 长春博立电子科技有限公司 一种支持多协议分布式高并发的互联网信息采集系统及方法
CN113014595A (zh) * 2021-03-15 2021-06-22 青岛弯弓信息技术有限公司 一种数据封装集成的方法及系统
CN113495923A (zh) * 2021-02-09 2021-10-12 深圳市云网万店科技有限公司 用于分布式数据库执行器的调度管理方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101800688A (zh) * 2009-02-05 2010-08-11 李冰 一种利用当前互联网数据和服务的方法
CN102184227A (zh) * 2011-05-10 2011-09-14 北京邮电大学 一种面向web服务的通用爬虫引擎系统及其工作方法
CN102970282A (zh) * 2012-10-31 2013-03-13 北京奇虎科技有限公司 网站安全检测系统
CN104820680A (zh) * 2015-04-17 2015-08-05 南京大学 一种通用型分布式爬虫调度系统
CN105045838A (zh) * 2015-07-01 2015-11-11 华东师范大学 基于分布式存储系统的网络爬虫系统
CN106484828A (zh) * 2016-09-29 2017-03-08 西南科技大学 一种分布式互联网数据快速采集系统及采集方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101800688A (zh) * 2009-02-05 2010-08-11 李冰 一种利用当前互联网数据和服务的方法
CN102184227A (zh) * 2011-05-10 2011-09-14 北京邮电大学 一种面向web服务的通用爬虫引擎系统及其工作方法
CN102970282A (zh) * 2012-10-31 2013-03-13 北京奇虎科技有限公司 网站安全检测系统
CN104820680A (zh) * 2015-04-17 2015-08-05 南京大学 一种通用型分布式爬虫调度系统
CN105045838A (zh) * 2015-07-01 2015-11-11 华东师范大学 基于分布式存储系统的网络爬虫系统
CN106484828A (zh) * 2016-09-29 2017-03-08 西南科技大学 一种分布式互联网数据快速采集系统及采集方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
何国正: "分布式智能网络爬虫的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
郭涛 等: "社区网络爬虫的设计与实现", 《智能计算机与应用》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488508A (zh) * 2020-04-10 2020-08-04 长春博立电子科技有限公司 一种支持多协议分布式高并发的互联网信息采集系统及方法
CN113495923A (zh) * 2021-02-09 2021-10-12 深圳市云网万店科技有限公司 用于分布式数据库执行器的调度管理方法及系统
CN113014595A (zh) * 2021-03-15 2021-06-22 青岛弯弓信息技术有限公司 一种数据封装集成的方法及系统

Also Published As

Publication number Publication date
CN109446441B (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN106874487B (zh) 一种分布式爬虫管理系统及其方法
CN105243159B (zh) 一种基于可视化脚本编辑器的分布式网络爬虫系统
Choudhary et al. Crawling rich internet applications: the state of the art
WO2012141927A2 (en) Method and system for configuration-controlled instrumentation of application programs
Chyrun et al. Web Resource Changes Monitoring System Development.
CN102724059A (zh) 基于MapReduce的网站运行状态监控与异常检测
Tang et al. An integrated framework for optimizing automatic monitoring systems in large IT infrastructures
CN107391775A (zh) 一种通用的网络爬虫模型实现方法及系统
CN109446441A (zh) 一种通用的网络社区可信分布式采集存储系统
US20130254524A1 (en) Automated configuration change authorization
CN109710440A (zh) 网页前端的异常处理方法、装置、存储介质及终端设备
Wang et al. IntegrityMR: Integrity assurance framework for big data analytics and management applications
CN107239563A (zh) 舆情信息动态监控方法
Demirbaga et al. Autodiagn: An automated real-time diagnosis framework for big data systems
CN104246787A (zh) 用于模式发现的参数调节
Raptis et al. The CORAS approach for model-based risk management applied to e-commerce domain
CN107423090A (zh) 一种Flash播放器异常日志管理方法及系统
KR101830936B1 (ko) 데이터베이스와 애플리케이션을 위한 웹기반 성능개선 시스템
He et al. Using software dependency to bug prediction
Maplesden et al. Performance analysis using subsuming methods: An industrial case study
Moore Richard C. Linger
Jiang Automated analysis of load testing results
Bamrah et al. Web forum crawling techniques
Tangsatjatham et al. Hybrid big data architecture for high-speed log anomaly detection
CN108959398A (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