CN103929339B - 一种web数据采集方法和系统 - Google Patents
一种web数据采集方法和系统 Download PDFInfo
- Publication number
- CN103929339B CN103929339B CN201410155549.8A CN201410155549A CN103929339B CN 103929339 B CN103929339 B CN 103929339B CN 201410155549 A CN201410155549 A CN 201410155549A CN 103929339 B CN103929339 B CN 103929339B
- Authority
- CN
- China
- Prior art keywords
- data
- web
- supplying device
- module
- data acquisition
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种web数据采集方法和系统。所述系统包括数据提供装置以及数据采集装置,其中数据提供装置用于收集web数据;数据采集装置包括:负载检测模块,用于检测数据提供装置的负载情况,并判断负载是否超过阈值,是则等待一定时间再重新检测数据提供装置的负载情况;否则通知数据采集模块对数据提供装置的web数据进行采集;数据采集模块,用于对存储在数据提供装置中的web数据进行采集,并将采集到的web数据存入数据库中;数据分析处理模块,用于对数据库中存储的web数据进行处理。根据本发明的实施例公开的web数据采集方法和系统,能够实现以简单的结构来准确高效地进行web数据采集,同时,避免网页前端压力过大的情况。
Description
技术领域
本发明涉及计算机数据处理技术领域,特别是一种web数据采集方法和系统。
背景技术
目前,互联网技术飞速发展,信息呈现出爆炸性的增长,web数据分析具有了非常重大的意义。通过对网页中大量的非结构化的数据进行分析,可以得到有价值的报表等,提供给网站运营人员和管理人员,供他们做决策和运营。其中,Web数据例如包括:PV(pageview,页面浏览量)日志,点击(或者称事件)日志,效果日志(包括登录,订单等)等数据。
为了对web数据进行分析,首先要进行web数据的采集。目前用于web数据采集的方法主要有:
方法一:网络爬虫。按照一定的规则,从一个或若干初始网页的URL开始,获得初始网页上的URL,在以网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足一定条件,系统停止采集网页。网络爬虫能全面地采集互联网数据,但是数据采集周期长,并且采集的数据不精准,采集的数据大多包含导航条、广告信息、版权信息以及调查问卷等“噪音”内容,需要对采集回来的网页文件进行网页去噪等一系列的处理。
方法二:镜像端口,将交换机的一个或几个端口的数据包复制到一个指定的端口,通过分析仪连接镜像端口接受数据。因为将交换机的多端口流量镜像到一个端口上,可引起缓存过载及丢包现象,并且大多数据镜像端口会过滤掉不规则的数据包。
方法三:分路器TAP,将分路器TAP插入到半/全双工的10/100/1000M网络链路中,可以使这条链路的全部数据信息复制到分析仪。分路器能保证数据100%的捕获而没有丢包,但是需额外费用购买分路TAP,并且一次只能查看一条链路。
方法四:脚本语言。将一段特殊的脚本语言嵌入到web的前端页面中按照一定的采集参数规范表,记录用户的各种行为,并将该记录存入后端服务器的数据库。但是如果采集的数据变化时,就需要修改前端的代码;而且如果后端服务器发生宕机,前端页面也可能不知道而继续采集,浪费了采集时间并降低了采集效率。
此外,由于在特定的web生产环境下,网页前端往往会承载海量用户访问。而数据采集行为都会在不同程度上增加网页前端的压力情况。所以根据目前的web数据采集方法,则存在使网页前端压力过大的可能性。
因此,需要一种web数据采集方法和系统,实现以简单的结构来准确高效地进行web数据采集,同时,避免网页前端压力过大的情况。
发明内容
本发明的目的是提供一种web数据采集方法和系统。
根据本发明的一个方面,提供了一种web数据采集系统,包括数据提供装置以及数据采集装置,其中所述数据提供装置用于收集web数据,包括数据存储模块,该数据存储模块用于存储web数据;所述数据采集装置用于对数据提供装置的负载进行分析,并对存储于所述数据提供装置的所述web数据进行采集和分析处理,包括:负载检测模块、数据采集模块、数据库以及数据分析处理模块;其中所述负载检测模块,用于检测所述数据提供装置的负载情况,并判断负载是否超过阈值,是则等待一定时间再重新检测所述数据提供装置的负载情况;否则通知所述数据采集模块对所述数据提供装置的所述web数据进行采集;所述数据采集模块,用于对存储在所述数据提供装置中的所述web数据进行采集,并将采集到的web数据存入数据库中;以及所述数据分析处理模块,用于对所述数据库中存储的所述web数据进行处理。
优选地,所述数据提供装置是以下装置中的任意一个:网页前端服务器、网页前端服务器的一部分、与网页前端服务器有线或者无线连接的装置、或者为与后台服务器有线或者无线连接的装置;
优选地,所述数据存储模块将所述web数据存储至非持久性存储单元。
优选地,所述数据提供装置包括数据计数模块,所述数据计数模块用于记录规定时间内的web数据量。
优选地,所述数据采集模块通过特定的URL进行数据采集。
优选地,所述数据提供装置被设置为:若识别到特定的URL,则所述数据提供装置对所述web数据进行归拢,以供所述数据采集装置采集。
根据本发明的另一方面,提供了一种使用上述任一系统进行web数据采集的方法,所述方法包括如下步骤:a)检测所述数据提供端的负载;b)判断所述负载是否超过阈值,是则进入步骤c;否则进入步骤d;c)等待规定时间,并返回步骤a重新检测所述数据提供端的负载;d)对所述数据提供端的web数据进行采集;e)对所述采集到的web数据进行处理。
根据本发明的实施例公开的web数据采集方法和系统,能够实现以简单的结构来准确高效地进行web数据采集,同时,避免网页前端压力过大的情况。
附图说明
参考随附的附图,本发明更多的目的、功能和优点将通过本发明实施方式的如下描述得以阐明,其中:
图1示意性示出了根据本发明的一个实施例的web数据采集的系统框图。
图2示意性示出了根据本发明的一个实施例的web数据采集的方法流程图。
具体实施方式
通过参考示范性实施例,本发明的目的和功能以及用于实现这些目的和功能的方法将得以阐明。然而,本发明并不受限于以下所公开的示范性实施例;可以通过不同形式来对其加以实现。说明书的实质仅仅是帮助相关领域技术人员综合理解本发明的具体细节。
在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
图1示意性示出了根据本发明的一个实施例的web数据采集的系统框图。
如图1所示,根据本发明的一个实施例的web数据采集的系统100包括数据提供装置110以及数据采集装置120。其中,数据提供装置110至少包括数据存储模块111,数据提供装置110优选还包括数据计数模块112。数据采集装置120包括负载检测模块121、数据采集模块122、数据库123,以及数据分析处理模块124。
数据提供装置110用于收集web数据。例如可以为一种网页前端服务器、网页前端服务器的一部分、与网页前端服务器有线或者无线连接的装置、或者与后台服务器有线或者无线连接的装置。
在数据提供装置110中,数据存储模块111用于存储web数据。特别地,根据本发明的实施方式,数据存储模块111中的web数据并不由数据提供装置110主动提供给数据采集装置120,而是供数据采集装置120主动采集。优选地,数据存储模块111可以将该web数据存储至非持久性存储单元,以降低成本,提高数据访问速度。所述非持久性存储单元可设置于数据存储模块111中或设置于数据存储模块111外。
数据提供装置110优选还包括数据计数模块112,数据计数模块112用于记录规定时间内的web数据量,该web数据可以位于数据存储模块111中。当数据采集装置120对数据提供装置110的数据进行采集时,优选地,可以采集由数据计数模块112记录的规定时间内的web数据。
数据采集装置120,用于根据基于数据提供装置110的负载状况的采集策略,对数据提供装置110的数据存储模块111中存储的web数据进行采集并进行分析处理操作。
具体地,数据采集装置120包括以下子模块:
负载检测模块121,用于检测数据提供装置110的负载情况,并判断负载是否超过阈值,是则等待预先确定的一段时间再重新检测数据提供装置110的负载情况;否则通知数据采集模块122对数据提供装置110中存储的数据进行采集。其中,判断负载情况的方法例如,登录到数据提供装置110,用linux本身的sar命令获取到当前的负载值。
数据采集模块122,用于对数据提供装置110中存储的数据进行采集,并将采集到的数据存入数据库123中。
优选地,数据采集模块122通过特定的URL进行数据采集。具体地,数据采集模块122在正常的URL后面加上特殊的URL后缀访问web页面,web页面除了显示正常的页面外,还会(例如在页面的下方)打印出数据采集装置120需要的数据,数据采集模块122通过正则匹配找出所需要的数据,并存入数据库123。与数据采集模块122相对地,数据提供装置110被设置为:数据提供装置110每次会对URL进行识别,如果URL中匹配到特定的URL标识,则数据提供装置110对web数据进行归拢,以供数据采集装置120采集。数据提供装置110例如通过以下方式提供数据:数据提供装置110会在正常网页的</html>标签后面加一个<div>标签,并把需要采集的所有数据都按照一定格式放到div标签内。
数据库123,用于存放数据采集模块122从数据提供装置110采集的web数据。特别地,数据库123可以是易失性的内存数据库也可以是物理持久性的磁盘数据库。
数据分析处理模块124,用于对数据库123中的数据进行处理,包括:数据分析、数据展示等。例如将根据web数据生成并展示数据报表等。由于数据采集模块122每次采集的数据都是历史累加的全部数据,即从服务器重启后到现在为止的历史总数据,所以需要对这些历史总数据进行数据分析。例如用后一次采集到的所有数据去减去前一次采集到的所有数据,获得其差值等等。
这里,由于数据采集及数据分析的过程不是在数据提供端110中进行,所以即使将数据采集的频率增大到较高的程度也不会给数据提供端110带来压力。所以能够实现较高频率的web数据采集。在数据采集频率较高的情况下,即使出现因为数据提供端110的负载较大而未能采集到数据的场景,也不会对整个数据分析过程带来明显的影响。因为,假设依次的三个时间点t1,t2,t3采集到的数据分别是d1,d2,d3,那么在t2-t1这段时间内,数据的变化是d2-d1;t3-t2这段时间内,数据的变化是d3-d2。即使某种异常导致t2数据丢失,那么在t3-t1时间段时,数据的变化是d3-d1。这段时间内数据变化量是一样的,只是时间粒度更粗了,即从t3-t2,t2-t1两个时间点变成了一个时间点t3-t1。
图2示意性示出了根据本发明的一个实施例的web数据采集的方法流程图。
步骤210,数据采集装置120的负载检测模块121对数据提供装置110的负载进行检测。判断负载情况的方法例如,登录到数据提供装置110,用linux本身的sar命令获取到当前的负载值。
步骤220,负载检测模块121判断负载是否超过阈值,是则进入步骤230;否则进入步骤240。
步骤230,负载检测模块121等待预先确定的一段时间,然后返回步骤210重新对数据提供装置110的负载进行检测。
步骤240,数据采集模块122对数据提供装置110中存储的web数据进行采集,并将其存入数据库123中。优选地,数据采集模块122通过特定的URL进行数据采集。具体地,数据采集模块122在正常的URL后面加上特殊的URL后缀访问web页面,web页面除了显示正常的页面外,还会(例如在页面的下方)打印出数据采集装置120需要的数据,数据采集模块122通过正则匹配找出所需要的数据,并存入数据库123。与数据采集模块122相对地,数据提供装置110被设置为:数据提供装置110每次会对URL进行识别,如果URL中匹配到特定的URL标识,那么数据提供装置110会在正常网页的</html>标签后面加一个<div>标签,并把需要采集的所有数据都按照一定格式放到div标签内。
步骤250,数据分析处理模块124对采集到的web数据进行分析处理。包括:数据分析、数据展示等。例如将根据web数据生成并展示数据报表等。其中,具体地数据分析例如包括,分析不同时间段内采集到的数据的变化等等。
根据本发明的实施例公开的web数据采集方法和系统,能够实现以简单的结构来准确高效地进行web数据采集,同时,避免网页前端压力过大的情况。
结合这里披露的本发明的说明和实践,本发明的其他实施例对于本领域技术人员都是易于想到和理解的。说明和实施例仅被认为是示例性的,本发明的真正范围和主旨均由权利要求所限定。
Claims (4)
1.一种web数据采集系统,包括数据提供装置以及数据采集装置,其中
所述数据提供装置用于收集web数据,包括数据存储模块,所述数据存储模块用于存储web数据;所述数据存储模块将所述web数据存储至非持久性存储单元,所述非持久性存储单元设置于所述数据存储模块中或设置于所述数据存储模块外;
所述数据采集装置用于对数据提供装置的负载进行分析,并对存储于所述数据提供装置的所述web数据进行采集和分析处理,包括:负载检测模块、数据采集模块、数据库以及数据分析处理模块;其中
所述负载检测模块,用于检测所述数据提供装置的负载情况,并判断负载是否超过阈值,是则等待一定时间再重新检测所述数据提供装置的负载情况;否则通知所述数据采集模块对所述数据提供装置的所述web数据进行采集;
所述数据采集模块,用于对存储在所述数据提供装置中的所述web数据进行采集,并将采集到的web数据存入数据库中,所述数据采集模块通过特定的URL进行数据采集,每次采集历史累加的全部数据;
所述数据提供装置被设置为:数据提供装置每次对URL进行识别,若识别到特定的URL,则所述数据提供装置对所述web数据进行归拢,以供所述数据采集装置采集;以及
所述数据分析处理模块,用于对所述数据库中存储的所述web数据进行处理,其中分析不同时间段内采集到的数据的变化,所述web数据进行处理过程为对历史总数据进行数据分析。
2.根据权利要求1所述的系统,其特征在于,所述数据提供装置是以下装置中的任意一个:网页前端服务器、网页前端服务器的一部分、与网页前端服务器有线或者无线连接的装置、或者与后台服务器有线或者无线连接的装置。
3.根据权利要求1所述的系统,其特征在于,所述数据提供装置包括数据计数模块,所述数据计数模块用于记录规定时间内的web数据量。
4.一种使用权利要求1-3中任一权利要求所述的系统进行web数据采集的方法,所述方法包括如下步骤:
a)检测所述数据提供端的负载;
b)判断所述负载是否超过阈值,是则进入步骤c;否则进入步骤d;
c)等待规定时间,并返回步骤a重新检测所述数据提供端的负载;
d)对所述数据提供端的web数据进行采集,并存入数据库中;
e)对所述采集到的web数据进行处理,其中分析不同时间段内采集到的数据的变化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410155549.8A CN103929339B (zh) | 2014-04-17 | 2014-04-17 | 一种web数据采集方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410155549.8A CN103929339B (zh) | 2014-04-17 | 2014-04-17 | 一种web数据采集方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103929339A CN103929339A (zh) | 2014-07-16 |
CN103929339B true CN103929339B (zh) | 2018-11-09 |
Family
ID=51147423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410155549.8A Active CN103929339B (zh) | 2014-04-17 | 2014-04-17 | 一种web数据采集方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103929339B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160164757A1 (en) * | 2014-12-09 | 2016-06-09 | Microsoft Technology Licensing, Llc | Browser provided website statistics |
CN106547609B (zh) * | 2015-09-18 | 2020-09-18 | 阿里巴巴集团控股有限公司 | 一种事件处理方法和设备 |
CN106452943A (zh) * | 2016-08-31 | 2017-02-22 | 武汉钢铁工程技术集团通信有限责任公司 | 面向网络层协议的流量监控方法及装置 |
CN109873668B (zh) * | 2019-03-08 | 2020-09-08 | 北京星际荣耀空间科技有限公司 | 基于运载火箭的数据组包方法、传输方法及系统 |
CN109948025B (zh) * | 2019-03-20 | 2023-10-20 | 上海古鳌电子科技股份有限公司 | 一种数据引用记录方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685191B1 (en) * | 2005-06-16 | 2010-03-23 | Enquisite, Inc. | Selection of advertisements to present on a web page or other destination based on search activities of users who selected the destination |
CN102510403A (zh) * | 2011-11-15 | 2012-06-20 | 江苏大为科技股份有限公司 | 用于车辆数据接收和实时分析的集群分布式系统及方法 |
CN102902775A (zh) * | 2012-09-27 | 2013-01-30 | 新浪网技术(中国)有限公司 | 互联网实时计算的方法和系统 |
-
2014
- 2014-04-17 CN CN201410155549.8A patent/CN103929339B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685191B1 (en) * | 2005-06-16 | 2010-03-23 | Enquisite, Inc. | Selection of advertisements to present on a web page or other destination based on search activities of users who selected the destination |
CN102510403A (zh) * | 2011-11-15 | 2012-06-20 | 江苏大为科技股份有限公司 | 用于车辆数据接收和实时分析的集群分布式系统及方法 |
CN102902775A (zh) * | 2012-09-27 | 2013-01-30 | 新浪网技术(中国)有限公司 | 互联网实时计算的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103929339A (zh) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103929339B (zh) | 一种web数据采集方法和系统 | |
CN104933056B (zh) | 统一资源定位符去重方法及装置 | |
CN108304410B (zh) | 一种异常访问页面的检测方法、装置及数据分析方法 | |
CN105404699A (zh) | 一种搜索财经文章的方法、装置及服务器 | |
US8972374B2 (en) | Content acquisition system and method of implementation | |
US8886660B2 (en) | Method and apparatus for tracking a change in a collection of web documents | |
US8041721B2 (en) | Attribute extraction processing method and apparatus | |
CN102567185B (zh) | 一种应用服务器的监控方法 | |
CN104503891A (zh) | 对jvm线程进行在线监控的方法和装置 | |
CN109242553A (zh) | 一种用户行为数据推荐方法、服务器及计算机可读介质 | |
CN102870118B (zh) | 用户行为的获取方法、设备及系统 | |
CN102609474A (zh) | 一种访问信息提供方法及系统 | |
CN106874165B (zh) | 网页检测方法和装置 | |
CN112491611A (zh) | 故障定位系统、方法、装置、电子设备和计算机可读介质 | |
US20190286687A1 (en) | Identification of sequential browsing operations | |
CN104268289A (zh) | 链接url的失效检测方法和装置 | |
CN103248707B (zh) | 文件访问方法、系统以及设备 | |
CN106980658A (zh) | 视频标注方法及装置 | |
JP2008158889A (ja) | トラブル要因検出プログラム、トラブル要因検出方法およびトラブル要因検出装置 | |
CN106815248A (zh) | 网站分析方法及装置 | |
CN106899447A (zh) | 一种链路确定的方法及装置 | |
CN107729206A (zh) | 告警日志的实时分析方法、系统和计算机处理设备 | |
CN104063506B (zh) | 重复网页识别方法和装置 | |
EP3828712A1 (en) | Data parsing method and device | |
CN108121729A (zh) | 一种基于页面标题的网页流量数据的统计方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |