CN103905428B - 一种网络中到访信息收集的方法和系统 - Google Patents
一种网络中到访信息收集的方法和系统 Download PDFInfo
- Publication number
- CN103905428B CN103905428B CN201410042865.4A CN201410042865A CN103905428B CN 103905428 B CN103905428 B CN 103905428B CN 201410042865 A CN201410042865 A CN 201410042865A CN 103905428 B CN103905428 B CN 103905428B
- Authority
- CN
- China
- Prior art keywords
- statistical items
- statistics
- statistical
- address
- end server
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种网络中到访信息收集系统,其包括后台服务器、前端服务器、以及后端服务器。通过后台产品人员录入统计项信息而获得对该统计项的进行统计的配置文件以及对该统计项进行统计的打点地址;然后将所述打点地址发送至前端服务器,在用户请求统计项时同时触发对打点地址的请求,生成相应的请求日志;将所述配置文件及请求日志传送至后台服务器来实现对统计项的统计。另外,本发明还公开一种网络中到访信息收集方法。利用本发明的系统和方法,可以快速、高效、准确地实现对网络中运行的某一项目的到访信息的统计。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及网络中到访信息收集的方法和系统。
背景技术
随着计算机网络技术的普及和不断发展,许多产品开发人员开发研制出越来越多的应用,放到网络平台上供大家选择、下载、和使用。每一种应用在放到网络平台上之后,产品开发人员都希望知道其开发研制的应用是不是很受欢迎,受欢迎的程度有多高。所以网络平台的管理人员会根据产品开发人员的需求对每项应用的用户访问量、页访问量等进行统计。但是,目前大多采用人工手动的方式进行统计,占用管理人员的统计时间比较长,统计效率低。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种网络中到访信息收集的方法和系统。
依据本发明的一个方面,提供了一种网络中到访信息收集系统,其包括后台服务器、前端服务器、以及后端服务器。其中,所述后台服务器包括:输入装置,其适于接收用户输入的统计项信息,并根据用户输入的统计项信息生成对所述统计项进行统计的打点地址及配置文件,该配置文件包含对该统计项进行统计的指定形式的打点地址和统计规则;传输装置,其适于将所述配置文件传输至所述后端服务器,以及将所述打点地址传输至前端服务器。所述前端服务器包括:接收装置,其适于经网络接收所述传输装置传送的打点地址;访问启动装置,其适于根据用户对所述统计项的访问,启动对所述统计项的打点地址的访问请求,产生请求日志;异步装置,其适于每隔预定时间将所述请求日志异步传输至后端服务器;以及第一存储装置,其适于存储所述请求日志。所述后端服务器包括:统计装置,其接收所述传输装置传送的所述配置文件以及所述异步装置传输的所述请求日志并存储,读取所述配置文件,根据所述配置文件中的打点地址,扫描所述请求日志,获得对所述统计项的到访信息的统计结果。
根据本发明的另一方面,提供了一种网络中到访信息收集方法,包括:接收用户输入的统计项信息,并根据用户输入的统计项信息生成对所述统计项进行统计的指定形式的打点地址及配置文件,该配置文件包含对所述统计项进行统计的指定形式的打点地址和统计规则;将所述配置文件传输至后端服务器中的分布式数据处理软件框架,以及将所述打点地址传输至前端服务器中;在前端服务器中,根据用户对所述统计项的访问,启动对所述统计项的打点地址的访问请求,产生请求日志,并将该请求日志传输至后端服务器中的分布式数据处理软件框架;读取分布式数据处理软件框架中的配置文件,根据所述配置文件中的指定形式的打点地址,扫描分布式数据处理软件框架中的所述请求日志,获得对所述统计项的到访信息的统计结果。
利用本发明,可以快速、高效、准确地实现对网络中运行的某一项目的到访信息的统计。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明的一种实施方式的网络中到访信息收集系统的方框示意图;
图2A示出了一个项目的一个统计项的统计项信息的输入界面;
图2B示出了用户输入一个项目的多个统计项的统计项信息的输入界面;
图2C示出了追加统计项的输入界面;
图3示出了系统管理人员看到的各项目的统计框的界面;
图4A示出了包含打点分类选项的输入界面;
图4B示出了在打点分类选项中选择了人工统计的选项之后出现的输入界面;
图5A示出了统计项目“滑动有惊喜”超过预定的统计时间段的显示状态;
图5B示出了“权限管理”界面;
图5C示出了对统计项进行续期的界面;
图5D示出了产品人员设置访问权限的界面;
图5E给出了利用本发明所得到对统计项目进行统计的统计结果的表格;
图6示出了本发明的网络中到访信息收集方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明提供一种网络中到访信息收集系统,该系统可以自动统计网络平台上的各个应用的用户访问量等数据,从而知道该应用的受欢迎程度,这对于应用的开发方向有一定的指导作用。
图1示出了根据本发明的一种实施方式的网络中到访信息收集系统的方框示意图。如图1所示,本发明的网络中到访信息收集系统100包括:后台服务器110、前端服务器120、以及后端服务器130。
后台服务器110包括输入装置1110和传输装置1120。其中,输入装置1110适于接收产品人员(或称为用户)输入的针对某一要统计的项目的统计项信息。这里的产品人员主要是开发应用的产品开发人员或者与应用有关的产品管理人员。产品人员从后台服务器110经输入装置1110输入想要知道的关于某一要统计的项目的一个或多个统计项的相关信息,即统计项信息。所述要统计的项目可以是一个应用,可以是一个应用的某一项功能,也可以是某个网页或者某个网页中的某一栏目等等。所述统计项信息例如可以包括:项目的名称、统计项名称、以及统计规则等。其中,所述统计规则包括统计项的页访问量(PV,即pageview)、统计项的用户访问量(UV,即user view)、用户的MID、用户的IP地址、统计项的排名中的一个或多个。其中UV可以基于用户的MID或用户的IP地址来统计。用户的MID是公司规定的对每台机器生成的一个唯一的字符串,代表每个用户。通过统计PV和UV,可以知道当前推出的应用或者某一产品的某一项新增功能是否受用户欢迎。
图2A示出了一个项目的统计项信息的输入界面,其中包括指标名称(对应着项目的名称,这里是应用的名称)、报表标题(对应着统计项名称,即要统计的对象)、和统计功能(对应着统计规则,这里示出了PV和UV两项,用户可以根据自己要统计的数据而进行选择)。
图2A示出的是关于一个项目的一个统计项的统计项信息的输入界面,即单项统计的输入界面。实际上在输入界面中还可以输入多个项目的统计项信息或者输入一个项目的多个统计项信息。如图2B所示,其示出了用户输入一个统计项目的多个统计项的统计项信息的输入界面,这样可以对一个统计项目的多个统计项同时进行统计。
用户在输入统计项信息后,可以自动生成相应统计项的打点地址(即到访信息统计地址)。具体地,产品人员在输入完某一统计项目的统计项信息时,将打点地址一栏留空,这样,在点击输入界面中的“新增”按钮后,就会在打点地址一栏中生成相应的打点地址,同时还生成该统计项的配置文件。该打点地址包含产品人员输入的指标名称、报表标题等信息。所生成的打点地址具有预先指定的地址形式,例如可以是图片形式的地址,象.GIF、.JPEG、.PNG等形式的地址,例如为http://dd.browser.360.cn/static/a/75.604.gif,另 外,也可以是.HTML形式的地址。对于静态图片形式的打点地址,解析速度快,所以每秒钟解析的静态图片数量比解析动态地址要多得多。例如对于动态地址,每秒钟解析3000个,但对于静态图片,每秒钟可以解析1万个。
另外,可选地,所述打点地址也可以手动输入。产品人员在输入完某一统计项目的统计项信息时,在打点地址一栏中手动输入打点地址,然后再点击输入界面中的“新增”按钮,会生成该统计项的配置文件,但这时的打点地址是产品人员手动输入的打点地址。
另外,如果在输入完某一个项目的一个或多个统计项的统计项信息并且生成了打点地址之后,想再增加该项目的统计项时,可以点击图2C所示界面中的“追加统计项”按钮。如图2C所示,之前已经输入了针对统计项目“火车侠”的“首页”、“购票成功”、“无账号购买”三个统计项的信息并生成了相应的打点地址,如果再增加关于统计项目“火车侠”的其它统计项时,则点击界面中的“追加统计项”按钮,即可出现一套新的空白的统计项信息输入栏,即指标名称、报表标题、统计功能、打点地址等,以供用户输入新的统计项信息。
可选地,对于每个项目的统计项的个数,可以进行限定,例如可以设置每个项目的统计项个数最多为50项,当产品人员输入超过50项的统计项时,系统会提示,统计项个数已经达到限制数,不能再增加。这时,如果产品人员想要增加更多的统计项,可以向管理人员申请增加,由管理人员为该产品人员开通更多的统计项数目。图3示出了系统管理人员看到的各项目的统计相关信息,如图3所示,对于统计项目“滑动有惊喜”,其中有12个项统计项,对于统计项目“抢车票”有8项统计项。但是系统可以设定,对于每个统计项目,所统计的统计项不能超过50项,当然也可设置对于每个统计项目的统计项数目不能超过其它的数据,例如60项或者30项等。
可选地,在输入统计项信息时,还可以选择对该统计项进行统计的统计时间段,例如,在图2A、图2B、图2C中显示的输入框“有效期至”,其中有效期的长短由用户自己选择,例如3个月、半年、或者1年等。
可选地,当产品人员在输入统计项信息时选择了统计时间段时,该配置文件还包括统计时间段。
传输装置1120将输入装置1110所生成的配置文件传输至后端服务器130。当产品人员在后台服务器上添加了多个统计项的时候,会产生很多配置文件。当打点地址采用图片形式gif时,会对应产生很多图片。传输装置1120将所述配置文件传输至后端服务器中的统计装置1310(这将在后面具体描述)上。所产生的打点地址可以保存在后台服务器110上,也可以经传输装置1120传输至前端服务器120,具体地,是传送至用于打点统计的前端服务器中,例如可以采取自动推送的方式将所产生的打点地址传输至前端服务器120,将配置文件推送至后端服务器130。这里,用于打点统计的前端服务器120通常具有多台。传输装置1120要将所产生的打点地址分别传输至每台用于打点统计的前端服务器120。这样,可以确保用户访问任何一台前端服务器上的某一项目(例如应用或者网页)时会触发对应的打点地址(例如图片)。
当要传输的打点地址很多时,这个传输过程比较耗网络IO(即网络硬件,包括本地网卡、网关、路由器等),尤其当网络不流畅的时候,这个传输过程会变得很慢。为此,传输装置1120可以采用异步传输方式加上失败重连机制(即重新推送)来传输这些打点地址。例如,事先限定每个打点地址的自动推送次数,在超过限定的自动推送次数之后仍未推送成功时,则再重新进行推送,推送次数与之前设定的自动推送次数相同。具体地,当推送失败时,产品人员重新点击输入页面中的“保存”按钮即可重新触发重新推送,这可以防止有时出现断网等情况时导致部分数据未能成功推送的问题。
另外,采用异步推送的方式,可以将打点地址分批进行传送,使得前端服务器很快响应,而不必等待。如果所有打点地址的推送都同时推送,由于推送都是要花时间的,例如1分钟、30秒等,这样前端服务器、产品人员、或者产品的使用人员就需要等待。而通过异步推送的方式,可以避免网页出现一堆空白或错误。
传输装置1210将配置文件向后端服务器传送时,也可以如前面所述采用异步推送的方式进行推送。
前端服务器120包括接收装置1210、访问启动装置1230、第一存储装置1220、以及异步装置1240。前端服务器120可以有很多台,部分前端服务器120存储一些应用等,接收用户对应用的访问,并根据用户对应用的访问请求而产生相应的请求日志,这部分请求日志并非本发明所关注的;还有部分前端服务器120接收从后台服务器110传送来的打点地址、接收对打点地址的请求,并根据对打点地址的请求而产生相应的请求日志(后面所提及的请求日志皆是这个请求日志)。当后台服务器110向前端服务器120传输打点地址时,所有的前端服务器120都会接收到所述打点地址。
其中,接收装置1210适于经网络接收后台服务器110的传输装置1120传输的打点地址。
访问启动装置1230适于根据用户对所述统计项(例如某一网页或者网页中的某一功能)的访问,启动或触发与所述统计项对应的所述到访信息统计地址(即打点地址)的访问请求,产生请求日志。这里,启动或触发可以是通过用户点击、或者通过用户访问网页时输入的回车键等来实现;例如,统计项为某一网页a.com,当用户向前端服务器发送访问该网页a.com的请求时,会同时触发b.com上的对网页a.com的打点地址的访问请求,这可以通过在a.com这一统计项中(例如网页a.com的html代码中)添加一段代码来实现。这样,访问网页a.com的日志存储在a.com域名的机器上,访问打点地址的请求日志存储在b.com域名的机器上。本发明关注的是在b.com域名的机器上的请求日志,这直接涉及到对网页a.com的访问次数的统计。所述请求的HEADER头中包含有很多信息,例如可以包含用户的浏览器信息、IP地址(对应于地域)、用户的MID、打点地址等等,这些信息会形成在请求日志中。所述请求日志包含所述打点地址及访问该统计项的用户的IP地址。
当用户通过浏览器向前端服务器120发送访问某一应用等的请求时,由于HTTP是无状态的协议,浏览器与前端服务器连接的时候都是采用SOCKET方式连接前端服务器的地址,而SOCKET连接的时候是基于客户端的IP地址进行连接,因此前端服务器能够获得客户端的IP地址,并将其放置于请求日志中。
第一存储装置1220适于存储所述请求日志,例如在其中保存一段时间,例如3天,以防其未被传输至HDFS中。对每个统计项的打点地址的访问而产生的请求日志是之后进行统计规则的统计时所要用到的重要信息,统一存储在第一存储装置1220中。另外,为了防止该打点地址被地区运营商缓存而影响打点的统计结果,在启动或触发打点地址的请求时,在打点地址后可以加一个随机数,该包含随机数的打点地址会被写入到请求日志中。如前面所述的例子,通过开发人员在a.com的域名的统计项中添加代码,可以使得在触发对打点地址请求时在打点地址后加一个随机数,
异步装置1240适于将第一存储装置1220中存储的请求日志向后端服务器130中的统计装置1310(这将在后面具体描述)异步传输。统计装置1310可以采用分布式数据处理软件框架来实现。具体地,分布式数据处理软件框架可以由HADOOP来实现。当统计装置1310由HADOOP来实现时,异步装置1240将所述请求日志传输至的HADOOP的HDFS(Hadoop分布式文件系统)中。例如异步装置1240可以通过facebook scribe开源程序(即,分布式日志搜集系统)进行异步传输。这样,可以将请求日志综合地存储在一台机器上。所述异步传输可以按小时进行目录的归档,也可以按其它的时间段进行目录的归档。特别说明的是,当按小时进行异步传输时,当前看到的请求日志会比当前的请求日志晚一个小时。
后端服务器130包括统计装置1310。统计装置1310可以采用分布式数据处理软件框架来实现。具体地,分布式数据处理软件框架可以由HADOOP来实现,但分布式数据处理软件框架不限于由HADOOP来实现。HADOOP可以包括多台服务器(该多台服务器形成HADOOP集群)和hadoop分布式文件系统(即HDFS)。Hadoop是由Apache开发的一个分布式系统基础架构,能够对大量数据进行并行处理以提高处理速度,包括MAP和REDUCE流程。下面以统计装置1310由HADOOP来实现为例进行具体说明,但统计装置1310并不限于由HADOOP来实现。
后台服务器110中的传输装置1210将配置文件、前端服务器120中的异步装置1240将产生的请求日志传送至hadoop分布式文件系统进行存储。为了防止请求日志丢失或者损坏,系统维护工程师会将所述请求日志拷贝几份进行备份,例如备份3份,其中一份放在HDFS中,另外两份分别存储HADOOP集群中的两个服务器上。
在HDFS中有一个或多个目录,以存储不同的数据。例如,HDFS中的目录B用于统一存储请求日志。为此,可以将散列于不同的前端服务器上的请求日志每隔预定时间传输至hdfs中,这便于对这些请求日志进行分析、统计。例如,可以每隔1小时将所有前端服务器的请求日志异步传输至hdfs中,如前面所述,这可以通过在每台前端服务器中的异步装置1240来实现。当这些请求日志被异步传输到hdfs中时,会被按照年月日分别进行存储于不同的文件夹中,例如:
2013年10月10日接收到的请求日志存在文件夹“2013-OCTOBER-10th log”中,当按小时进行异步传输时,该文件夹下会包含如下文件:
01.log―――存储传送过来的0点至1点产生的请求日志;
02.log―――存储传送过来的1点至2点产生的请求日志;
03.log―――存储传送过来的2点至3点产生的请求日志;
以此类推,直至24.log―――存储传送过来的23点至24点产生的请求日志。
具体地,在利用HADOOP进行统计时,在MAP过程中,提取指定请求日志,例如,会呈现如下的结果:
pv:http://test.cn/1.gif 1
uv:http://test.cn/1.gif 127.0.0.1
pv:http://test.cn/1.gif 1
uv:http://test.cn/1.gif 111.111.111.111
其中,第1项和第2项是IP地址为127.0.0.1的用户访问打点地址http://test.cn/ 1.gif1的请求日志提取相关信息而得到的结果;第3项与第4项是IP地址为111.111.111.111的用户访问打点地址http://test.cn/1.gif1的请求日志提取相关信息而得到的结果。
然后,在reduce过程中,对MAP过程得到的结果进行累加、以及根据IP地址进行消重,获得最终的对统计项的PV和UV的统计结果。
另外,统计装置1310基于配置文件和请求日志还可以对获得其它统计规则的统计结果,例如可以获得某一应用的TOP排名的统计结果等。
另外,统计装置1310是按天还是按小时等进行统计,在配置文件中已经事先设定好,这个在本发明“自助统计”的输入界面(如前面所述的图2A-图2C所示的输入界面)中可以设置相应的选项,后台产品人员在录入需要时可以根据自己的需求进行选择,例如选择是按天或者按小时。目前图2A-图2C所示的输入界面中还没有加入该选项,其默认是按天进行统计。这里,也不限定是按天或者是按小时,也可以按半天或者几个小时或者几天、一星期等等。
通过Hadoop集群可以高效地实现对大量请求日志的分析。但是,一方面,HADOOP集群有可能同时被好多人使用,如果HADOOP集群中的所有服务器都被占用,则会出错。另一方面,HADOOP在运行时,会耗掉本机的内存。如果本机内存已经超标的话,会报错。因此,HADOOP集群可以根据设定的总的统计时间以及对每个统计项的统计时间而并行运行对各统计项的分析、统计,即并行启动读取多个配置文件、扫描所述请求日志,获得对多个统计项的到访信息的统计结果。例如,设定的对所有统计项的统计时间为一小时,而其中的各统计项的运行时间分别为3分钟等,这样,当HADOOP集群调用其中数台机器对第一批统计项分析3分钟时,无论对第一批统计项的统计是否获得统计结果,都会自动地并发启动对第二批统计项的分析统计,以此类推,调用数台机器对第N批统计项进行分析统计,直到对所有统计项在一个小时内分析统计完毕。这里,N为自然数。其中第一、第二批统计项、…第N批统计项可以分别包括一个或多个统计项。
上面所进行的打点统计,打点地址都位于同一个域名的同一个目录下。通常每个域名都有其自己的日志格式。日志格式的配置是在前端服务器上进行的,由Apache或者Nginx根据客户端请求向请求日志写入请求数据、并按照预定格式来进行配置而生成。在本发明的系统开发出来之前,都是采用人工统计的方式。在以前的人工统计的情形下,针对被统计的项目,请求日志的生成没有统一的格式,而且在HDFS中存放在不同的目录下,例如被统计的项目“收藏夹”的请求日志从前端服务器人工地传输至HDFS中的目录“fav”下,被统计的项目“登录管家”的请求日志从前端服务器人工地传输至HDFS中的目录“login”下。
在本发明的系统开发出来之后,需要将以前的人工统计集成到本系统的自助统计中。为此,将对应不同项目的请求日志自动推送至HDFS中对应的目录下,这时,不同项目的请求日志可能在不同的域名下生成,因此请求日志的格式不一样。
为了方便将人工统计集成到本系统的自助统计的统计结果中,本系统采用图4A所示的输入界面,在该界面的“打点分类”选项中选择“人工统计”,则会出现图4B所示的输入界面,在图4B所示的输入界面中会显示“匹配规则”的输入栏,本系统的开发人员在“匹配规则”一栏中输入相应的正则匹配规则。在选择“新增”后,生成相应的配置文件。该配置文件被传送至HDFS中。
当想要获取人工统计的统计结果时,统计装置1310读取人工统计的相应统计项的配置文件,根据该配置文件中的匹配规则,查询该统计项的请求日志,利用所述配置文件中的匹配规则进行正则匹配,如果匹配,则加1。这样,就可以将某一统计项之前的人工统计数据集成到本发明的系统的相应统计项的统计结果中。
可选地,后端服务器130还可以包括定时器1350。定时器1350适于定时触发统计装置1310启动统计。通常,对统计项的统计可以设定进行统计的时间间隔,例如,可以设定为按天进行统计,也可以设定为按两个小时、或者按6个小时等进行统计,也可以设定成实时进行统计。对于设定为定时启动的情形,由定时器1350定时触发统计装置1310进行统计。例如,可以设定每天下午3点开始进行统计,那么,定时器1350每天下午3点就会触发统计装置1310开始运行,读取配置文件,根据所述配置文件中的打点地址,扫描所述请求日志,获得对所述统计项的到访信息的统计结果。
可选地,后端服务器130还可以包括统计期限监控装置1320。统计期限监控装置1320适于根据所述配置文件中包含的对所述统计项的统计时间段,来告知所述统计装置是否进行统计。
对一些项目的统计,有的只需统计一个月即可,有的可能需要统计的时间长一些,但是统计时间长的,也不能无限期,因为每个统计项的统计结果都会产生大量数据。为此产品人员在录入统计项信息时,可以选择统计时间段。如果选择的统计时间段到期,产品人员可以手动进行续期。这样,使得本系统对各统计项的统计的灵活性更大。
当产品人员在前面的输入界面中有效期(即统计时间段)一栏中选择了某一时间段,则统计期限监控装置1320会根据该有效期而计算对该统计项的统计时间,该统计时间自该产品人员添加了该项统计项信息之日起计算。
统计期限监控装置1320在确认统计装置1310对所述统计项进行统计的时间超过了所述统计时间段,则提示此项统计项的统计已经过期,并通知所述统计装置1310对此项统计项停止统计,产品人员所看到的该统计项的统计框的边框会呈现红色,以区别正常的统计状态,如图5A所示,系统管理人员看到的统计项目“滑动有惊喜”目前已经超过预定的统计时间段。
统计期限监控装置1320在对所述统计项进行统计的时间到达所述统计时间段之前的预定天数,提醒对所述统计项的统计即将到期。例如,对生活小帮手的统计时间为3个月,则在到期前7天,每天发邮件或短信给录入该统计项信息的产品人员或者相关人员,提醒该统计项即将到期,是否需要延长统计时间(即续期),另外,显示给产品人员的该统计项的统计框的边框会呈现不同于正常统计状态的颜色,如红色。
另外,在统计期限监控装置1320对所述统计项的统计时间到期或者超过所设定的统计时间段时,用户可以通过手动设置进行续期,即在“权限管理”界面(如图5B所示)中选择“自定义配置”,则进入一个界面,如果已经过期,则会在界面中显示出一个“续期”的按钮(如图5C所示),用户点击该“续期”按钮,可以选择统计时间段。在用户重新设定了统计时间段后,统计期限监控装置1320根据新的配置文件中的统计时间段监控对所述统计项的统计时间。
可选地,后端服务器130还可以包括垃圾清理装置1330。垃圾清理装置1330适于在统计装置1310获得统计结果之后,将对所述请求日志进行扫描、分析、和统计过程中产生的日志删除。
在统计装置1310对请求日志进行搜索、分析、和统计的过程中,容易产生中间层数据垃圾等(例如map和reduce过程中产生的垃圾)。在分析完之后,如果不及时将产生的垃圾清理掉,就会导致磁盘的使用空间膨胀,以后的请求日志就不能再存储。因此,为了保证磁盘空间的合理利用以及系统的正常运行,垃圾清理装置1330会将HADOOP集群运行过程中的垃圾及时进行清理。
可选地,后端服务器130还可以包括预警装置1340。预警装置1340适于对本发明的整个系统运行过程中出现的异常情况以及运行状态进行预警。由于统计装置1310进行统计时是在后端服务器130中运行的,运行过程中是否出错,运行到哪一步,运行的结果怎样,都无法确定,另外,程序、请求日志异步传输等都可能出问题。因此需要预警装置1340对整个运行过程进行监控,对每一步的情况进行详细记录,如果出现异常,异常产生的原因是什么(例如网络、机房故障(机器死机、重启)、磁盘空间满了等)进行记录并及时通过短信或邮件的方式发送给系统的管理人员,当对各统计项统计分析完毕时,也通过短信或邮件的方式发送给系统的管理人员,从而让管理人员知道整个系统的运行状态。例如,预警装置1340主要监控如下几个过程:第一,所有前端服务器向HDFS的日志异步传输过程;第二,MAP和reduce分析过程;第三,把将统计装置分析好的结果同步到后台服务器的过程。
另外,预警装置1340还可以根据请求日志来监控前端服务器是否处于正常工作状态。由于在每条请求日志的前面都有一个字符串,该字符串包含产生该请求日志的主机名,所以通过请求日志可以监控前端服务器是否处于正常工作状态。具体地,预警装置1340通过调用一个API接口,由API接口返回一组预设的前端服务器的主机列表(例如JSON格式)。另外,预警装置1340通过查找HDFS中前一个小时(如果请求日志是每隔1小时异步传输至HDFS的情况下)里所有请求日志中的主机名,获取前端服务器的主机列表。将前面API接口返回的预设主机列表与所获得的前端服务器的主机列表做差集,如果存在没有传送请求日志过来的前端服务器,则说明该前端服务器有问题,预警装置1340会启动短信发送程序,发送到开发人员和服务器维护人员的手机里,从而能够让开发人员和服务器维护人员及时得知哪些服务器出现问题,并能够得到及时地处理。这样,一方面,可以保证后台统计的打点数据的准确性,另一方面可以了解各前端服务器的运行状况。
上面所述的主要是关于利用请求日志来监控各前端服务器的运行状况的情形。实际上,在整个系统运行过程中,会产生很多日志,例如对产品人员的操作、后台管理人员的操作、应用程序的运行、系统程序的运行等,都可以进行日志记录。通过这些日志可以知道关于整个系统的几乎所有的信息,比如,过去对系统做了什么样的修改,是谁对系统做的修改等等,都可以记录下来。再比如,通过对后台管理人员的每一步操作都记录一个详细日志,可以查看其所做的操作的历史,例如某年某月某日对某一产品做了怎样的修改,都可以查到,这样,可以避免因时间流逝而忘记之前所做的操作。
另外,在进程分析程序时,每分析一个,都可以输出一个日志,这样,当以后程序出现问题时,方便排查问题。
另外,通过对程序的运行过程进行日志记录,由于知道每一程序在哪一步花了多长时间,这在进行程序优化时可以作为参考。
后台服务器110还可以包括展现装置1140。展现装置1140适于展现所述统计装置1310所得到的对所述统计项的到访信息的统计结果。例如,图5E给出了利用本发明所得到的对于统计项目“火车侠”的统计结果的表格,可以让后台产品人员方便地看到统计结果。其中示出了采用本发明对“火车侠”这一应用的“首页”的PV和UV、利用本应用最后“购票成功”的PV和UV、以及利用本应用“无帐号购买”的PV和UV分别在2013年12月13日至2013年12月22日进行统计后所得到的统计结果。
可选地,后台服务器110还可以包括访问权限设置装置1150。访问权限设置装置1150适于设置访问对所述统计项的到访信息的统计量的权限。该访问权限设置装置由产品人员根据需要而设置访问对所述统计项的到访信息的统计结果的人的权限。现有技术中,通常由系统的管理人员为每个想查看统计结果的人分别开通权限,这在统计项目非常多的情况下,系统的管理人员的工作量非常大。为此,本发明将权限管理交给统计项目创建人自己管理。
具体地,在统计项目创建人(例如产品人员)在“管理”菜单下选择“权限管理”(如图5B所示),会出现一个框(如图5D所示),统计项目创建人将每个可以查看的人员添加进去,点回车就可以为这些人员开通查看权限。通常,被添加的人员不具有统计项目创建人那么多权限,只是可以查看,但不可以进行修改。
当该统计项目的统计超过配置文件中的统计时间段时,提醒该统计项目过期的邮件只发给统计项目创建人,不发给其它的查看人。
可选地,后台服务器110还可以包括第二存储装置1130。第二存储装置1130适于存储对所述统计项的到访信息的统计结果。
本发明还公开一种网络中到访信息收集方法,图6示出了本发明的网络中到访信息收集方法的流程图。
如图6所示,在步骤S610,接收用户输入的统计项信息,并根据用户输入的统计项信息生成对所述统计项进行统计的指定形式的打点地址及配置文件。所述配置文件包含对所述统计项进行统计的指定形式的打点地址和统计规则。
所述统计项信息,是指关于某一要统计的项目的一个或多个统计项的相关信息。所述要统计的项目可以是一个应用,可以是一个应用的某一项功能,也可以是某个网页或者某个网页中的某一栏目等等。所述统计项信息例如可以包括:项目的名称、统计项名称、以及统计规则等。其中,所述统计规则包括统计项的页访问量(PV,即page view)、统计项的用户访问量(UV,即user view)、用户的MID、用户的IP地址、统计项的排名中的一个或多个。其中UV可以基于用户的MID或用户的IP地址来统计。
例如,用户通过图2A所示的输入界面输入统计项信息。其中包括指标名称(对应着项目的名称,这里是应用的名称)、报表标题(对应着统计项名称,即要统计的对象)、和统计功能(对应着统计规则,这里示出了PV和UV两项,用户可以根据自己要统计的数据而进行选择)。
图2A示出的是关于一个项目的统计项信息的输入界面,即单项统计的输入界面。实际上在输入界面中还可以输入多个项目的统计项信息或者输入一个项目的多个统计项信息。如图2B所示,其示出了用户输入一个统计项目的多个统计项的统计项信息的输入界面,这样可以对一个统计项目的多个统计项同时进行统计。
用户在输入统计项信息后,可以自动生成相应统计项的打点地址(即到访信息统计地址)。具体地,产品人员在输入完某一统计项目的统计项信息时,将打点地址一栏留空,这样,在点击输入界面中的“新增”按钮后,就会在打点地址一栏中生成相应的打点地址,同时还生成该统计项的配置文件。该打点地址包含产品人员输入的指标名称、报表标题等信息。所生成的打点地址具有预先指定的地址形式,例如可以是图片形式的地址,象.GIF、.JPEG、.PNG等形式的地址,也可以是.HTML形式的地址。对于静态图片形式的打点地址,解析速度快,所以每秒钟解析的静态图片数量比解析动态地址要多得多。例如对于动态地址,每秒钟解析3000个,但对于静态图片,每秒钟可以解析1万个。
另外,可选地,所述打点地址也可以手动输入。产品人员在输入完某一统计项目的统计项信息时,在打点地址一栏中手动输入打点地址,然后再点击输入界面中的“新增”按钮,会生成该统计项的配置文件,但这时打点地址是产品人员手动输入的打点地址。
另外,如果在输入完某一个项目的一个或多个统计项的统计项信息并且生成了打点地址之后,想再增加该项目的统计项时,可以点击图2C所示界面中的“追加统计项”按钮。如图2C所示,之前已经输入了针对统计项目“火车侠”的“首页”、“购票成功”、“无账号购买”三个统计项的信息并生成了相应的打点地址,如果再增加关于统计项目“火车侠”的其它统计项时,则点击界面中的“追加统计项”按钮,即可出现一套新的空白的统计项信息输入栏,即指标名称、报表标题、统计功能、打点地址等,以供用户输入新的统计项信息。
可选地,对于每个项目的统计项的个数,可以进行限定,例如可以设置每个项目的统计项个数最多为50项,当产品人员输入超过50项的统计项时,系统会提示,统计项个数已经达到限制数,不能再增加。这时,如果产品人员想要增加更多的统计项,可以向管理人员申请增加,由管理人员为该产品人员开通更多的统计项数目。图3示出了系统管理人员看到的各项目的统计相关信息,如图3所示,对于统计项目“滑动有惊喜”,其中有12个项统计项,对于统计项目“抢车票”有8项统计项。但是系统可以设定,对于每个统计项目,所统计的统计项不能超过50项,当然也可设置对于每个统计项目的统计项数目不能超过其它的数据,例如60项或者30项等。
接下来,在步骤S620,将所述配置文件传输至后端服务器中的分布式数据处理软件框架,以及将所述打点地址传输至前端服务器中。这里的后端服务器的分布式数据处理软件框架可以采用HADOOP来实现对统计项进行统计。HADOOP包括HADOOP分布式文件系统和HADOOP集群,其中HADOOP集群包含多台服务器,HADOOP主程序存储于主服务器中。每个统计项的配置文件存放在HADOOP分布式文件系统(即HDFS)中。在步骤S610中生成的打点地址传送至前端服务器中,具体地,是传送至用于打点统计的前端服务器中,当用于打点统计的前端服务器120具有多台时,打点地址要传送至每台用于打点统计的前端服务器中。当打点地址采用图片形式gif时,会对应产生很多图片。所述配置文件和打点地址的传送也可以采用自动推送的形式分别推送至后端服务器和前端服务器。
当要传输的打点地址很多时,这个传输过程比较耗网络IO(即网络硬件,包括本地网卡、网关、路由器等),尤其当网络不流畅的时候,这个传输过程会变得很慢。为此,可以采用异步传输方式加上失败重连机制(即重新推送)来传输这些打点地址。例如,事先限定每个打点地址的自动推送次数,在超过限定的自动推送次数之后仍未推送成功时,则再重新进行推送,推送次数与之前设定的自动推送次数相同。具体地,当推送失败时,产品人员重新点击输入页面中的“保存”按钮即可重新触发重新推送,这可以防止有时出现断网等情况时导致部分数据未能成功推送的问题。
另外,采用异步推送的方式,可以将打点地址分批进行传送,使得前端服务器很快响应,而不必等待。如果所有打点地址的推送都同时推送,由于推送都是要花时间的,例如1分钟、30秒等,这样前端服务器、产品人员、或者产品的使用人员就需要等待。而通过异步推送的方式,可以避免网页出现一堆空白或错误。
另外,配置文件向后端服务器传送时,也可以如前面所述采用异步推送的方式进行推送。
接下来,在步骤S630,在前端服务器中,根据用户对所述统计项的访问,启动对所述统计项的打点地址的访问请求,产生请求日志,并将该请求日志传输至后端服务器中的分布式数据处理软件框架中。当分布式数据处理软件框架由HADOOP来实现时,则该请求日志传输至HADOOP分布式文件系统中。
前端服务器120可以有很多台,部分前端服务器120存储一些项目(例如应用、网页等),接收用户对这些项目的访问,并根据用户对项目的访问请求而产生相应的请求日志,这部分请求日志并非本发明所关注的;还有部分前端服务器120用于接收后台产品人员(即本发明提及的用户)从后台服务器录入统计需求后产生的打点地址(例如图片等),且根据用户对某一项目的统计项的访问而启动或触发对该统计项的打点地址的请求而产生相应的请求日志(后面所提及的请求日志皆是这个请求日志),这里,启动或触发可以是通过用户点击、或者通过用户访问网页时输入的回车键等来实现。当后台服务器向前端服务器传输打点地址时,所有的前端服务器都会接收到所述打点地址。
另外,为了防止该打点地址被地区运营商缓存而影响打点的统计结果,在启动或触发打点地址的请求时,在打点地址后可以加一个随机数,该包含随机数的打点地址会被写入到请求日志中。
所述请求日志通过异步传输的方式传输至后端服务器中的HDFS中,其在前端服务器中可以保存一段时间,例如3天,以防止其未被传输至HDFS中。例如可以通过facebookscribe开源程序(即,分布式日志搜集系统)进行异步传输。这样,可以将请求日志综合地存储在一台机器上。所述异步传输可以按小时进行目录的归档,也可以按其它的时间段进行目录的归档。特别说明的是,当按小时进行异步传输时,当前看到的请求日志会比当前的请求日志晚一个小时。
接下来,在步骤S640,读取分布式数据处理软件框架中的配置文件,根据所述配置文件中的指定形式的打点地址,扫描分布式数据处理软件框架中的所述请求日志,获得对所述统计项的到访信息的统计结果。
当分布式数据处理软件框架采用HADOOP来实现时,由于配置文件及请求日志存储在HDFS中,所以HADOOP主程序(其位于HADOOP集群中的主服务器中)会读取HADOOP分布式文件系统中的配置文件(该配置文件是从后台服务器传送至HDFS中的),根据所述配置文件中的指定形式的打点地址,扫描HDFS中的所述请求日志中的打点地址,如果二者一致,则对该统计项的统计结果加1。
具体地,在利用HADOOP进行统计时,在MAP过程中,提取指定请求日志,例如,会呈现如下的结果:
pv:http://test.cn/1.gif 1
uv:http://test.cn/1.gif 127.0.0.1
pv:http://test.cn/1.gif 1
uv:http://test.cn/1.gif 111.111.111.111
其中,第1项和第2项是IP地址为127.0.0.1的用户访问打点地址http://test.cn/ 1.gif1的请求日志提取相关信息而得到的结果;第3项与第4项是IP地址为111.111.111.111的用户访问打点地址http://test.cn/1.gif1的请求日志提取相关信息而得到的结果。
然后,在reduce过程中,对MAP过程得到的结果进行累加、以及根据IP地址进行消重,获得最终的对统计项的PV和UV的统计结果。
另外,还可以基于配置文件和请求日志还可以对获得其它统计规则的统计结果,例如可以获得某一应用的TOP排名的统计结果等。
在HDFS中,每隔预定时间从散列于不同的前端服务器上传送来的请求日志,例如,可以每隔1小时从所有前端服务器异步传输过来的请求日志。这些请求日志在HDFS中可以按照年月日分别存储于某一指定目录的不同文件夹下,例如:
2013年10月10日接收到的请求日志存在文件夹“2013-OCTOBER-10th log”中,当按小时进行异步传输时,该文件夹下会包含如下文件:
01.log―――存储传送过来的0点至1点产生的请求日志;
02.log―――存储传送过来的1点至2点产生的请求日志;
03.log―――存储传送过来的2点至3点产生的请求日志;
以此类推,直至24.log―――存储传送过来的23点至24点产生的请求日志。
在步骤S604中,可以按小时进行统计,也可以按天进行统计,这在后台人员录入需求时,在统计项信息的输入界面中可以通过某一选项而进行选择,目前图2A-2C中并未示出该选项,默认设置为按天进行统计。这里,并不限定是按天或者是按小时进行统计,可以根据需要按半天或者几个小时或者几天、一星期等等进行统计。
通过Hadoop集群可以高效地实现对大量请求日志的分析。但是,一方面,HADOOP集群有可能同时被好多人使用,如果HADOOP集群中的所有服务器都被占用,则会出错。另一方面,HADOOP在运行时,会耗掉本机的内存。如果本机内存已经超标的话,会报错。因此,HADOOP集群可以根据设定的总的统计时间以及对每个统计项的统计时间而并行运行对各统计项的分析、统计,即并行启动读取多个配置文件、扫描所述请求日志,获得对多个统计项的到访信息的统计结果。例如,设定的对所有统计项的统计时间为一小时,而其中的各统计项的运行时间分别为3分钟等,这样,当HADOOP集群调用其中数台机器对第一批统计项分析3分钟时,无论对第一批统计项的统计是否获得统计结果,都会自动地并发启动对第二批统计项的分析统计,以此类推,调用数台机器对第N批统计项进行分析统计,直到对所有统计项在一个小时内分析统计完毕。这里,N为自然数。其中第一、第二批统计项、…第N批统计项可以分别包括一个或多个统计项。
上面所进行的打点统计,打点地址都位于同一个域名的同一个目录下。通常每个域名都有其自己的日志格式。日志格式的配置是在前端服务器上进行的,由Apache或者Nginx根据客户端请求向请求日志写入请求数据、并按照预定格式来进行配置而生成。在本发明的系统开发出来之前,都是采用人工统计的方式。在以前的人工统计的情形下,针对被统计的项目,请求日志的生成没有统一的格式,而且在HDFS中存放在不同的目录下,例如被统计的项目“收藏夹”的请求日志从前端服务器人工地传输至HDFS中的目录“fav”下,被统计的项目“登录管家”的请求日志从前端服务器人工地传输至HDFS中的目录“login”下。
在本发明的系统开发出来之后,需要将以前的人工统计集成到本系统的自助统计中。为此,将对应不同项目的请求日志自动推送至HDFS中对应的目录下,这时,不同项目的请求日志可能在不同的域名下生成,因此请求日志的格式不一样。
为了方便将人工统计集成到本系统的自助统计的统计结果中,本系统采用图4A所示的输入界面,在该界面的“打点分类”选项中选择“人工统计”,则会出现图4B所示的输入界面,在图4B所示的输入界面中会显示“匹配规则”的输入栏,本系统的开发人员在“匹配规则”一栏中输入相应的正则匹配规则。在选择“新增”后,生成相应的配置文件。该配置文件被传送至HDFS中。
当想要获取人工统计的统计结果时,读取人工统计的相应统计项的配置文件,根据该配置文件中的匹配规则,查询该统计项的请求日志,利用所述配置文件中的匹配规则进行正则匹配,如果匹配,则加1。这样,就可以将某一统计项之前的人工统计数据集成到本发明的系统的相应统计项的统计结果中。
可选地,在步骤S610中,在图2A、图2B、图2C所示的输入界面中输入统计项信息时,还可以选择对该统计项进行统计的统计时间段,例如,输入框“有效期至”中选择统计时间段,例如3个月、半年、或者1年等。
可选地,当产品人员在输入统计项信息时选择了统计时间段时,该配置文件还包括统计时间段。相应地,在本发明的方法600可以包括步骤:在到达用户选择的所述统计时间段之前的预定天数,提醒对所述统计项的统计即将到期。
对一些项目的统计,有的只需统计一个月即可,有的可能需要统计的时间长一些,但是统计时间长的,也不能无限期,因为每个统计项的统计结果都会产生大量数据。为此产品人员在图2A-2C所示的输入界面中录入统计项信息时,可以选择统计时间段。如果选择的统计时间段到期,产品人员可以手动进行续期。这样,使得本系统对各统计项的统计的灵活性更大。
当后台产品人员在图2A-2C所示的输入界面中有效期(即统计时间段)一栏中选择了某一时间段,则根据该有效期而计算对该统计项的统计时间,该统计时间自该产品人员添加了该项统计项信息之日起计算。
在对某一统计项进行统计的时间超过了所述统计时间段,则提示该项目的后台产品人员此项统计项的统计已经过期,并对该统计项停止统计,这时后台产品人员和系统管理人员所看到的该统计项的统计框的边框会呈现红色,以区别正常的统计状态。如图5A所示,统计项目“滑动有惊喜”目前已经超过预定的统计时间段。
在对所述统计项进行统计的时间到达所述统计时间段之前的预定天数,提醒对所述统计项的统计即将到期。例如,对生活小帮手的统计时间为3个月,则在到期前7天,每天发邮件或短信给录入该统计项信息的后台产品人员或者相关人员,提醒该统计项即将到期,是否需要延长统计时间(即续期),另外,显示给产品人员的该统计项的统计框的边框会呈现不同于正常统计状态的颜色,例如红色。
另外,在对所述统计项的统计时间到期或者超过所设定的统计时间段时,用户可以通过手动设置进行续期,即在图5B所示的“权限管理”界面中选择“自定义配置”,则进入一个界面,如果已经过期,则会在界面中显示出一个“续期”的按钮(如图5C所示),用户点击该“续期”按钮,可以选择统计时间段。在用户重新设定了统计时间段后,则可以根据新的配置文件中的统计时间段监控对所述统计项的统计时间。
另外,在本发明的方法600中,在步骤S640之后还可以包括步骤S650:在利用分布式数据处理软件框架获得统计结果之后,将分布式数据处理软件框架在对所述请求日志进行扫描、分析、和统计过程中产生的日志删除。具体地,当分布式数据处理软件框架采用HADOOP来实现时,在HADOOP对请求日志进行搜索、分析、和统计的过程中,容易产生中间层数据垃圾等(例如map和reduce过程中产生的垃圾)。在分析完之后,如果不及时将产生的垃圾清理掉,就会导致磁盘的使用空间膨胀,以后的请求日志就不能再存储。因此,为了保证磁盘空间的合理利用以及系统的正常运行,需将HADOOP集群运行过程中的垃圾及时进行清理。
另外,在本发明的方法600中,还可以包括步骤S660:对本方法执行过程中出现的异常情况和运行状况通过短信进行预警。该步骤可以设置于任何步骤之后或者设置于每个步骤之后。
HADOOP在进行统计时,运行过程中是否出错,运行到哪一步,运行的结果怎样,都无法确定,另外,程序、请求日志异步传输等都可能出问题。因此在本发明中,通过对整个运行过程进行监控,对每一步的情况进行详细记录,如果出现异常,异常产生的原因是什么(例如网络、机房故障(机器死机、重启)、磁盘空间满了等)进行记录并及时通过短信或邮件的方式发送给系统的管理人员,当对各统计项统计分析完毕时,也通过短信或邮件的方式发送给系统的管理人员,从而让管理人员知道整个系统的运行状态。例如,主要监控如下几个过程:第一,所有前端服务器向HDFS的日志异步传输过程;第二,MAP和reduce分析过程;第三,把将统计好的结果同步到后台服务器的过程等等。
另外,还可以根据请求日志来监控前端服务器是否处于正常工作状态。由于在每条请求日志的前面都有一个字符串,该字符串包含产生该请求日志的主机名,所以通过请求日志可以监控前端服务器是否处于正常工作状态。具体地,先通过调用一个API接口,由API接口返回一组预设的前端服务器的主机列表(例如JSON格式)。然后通过查找HDFS中前一个小时(如果请求日志是每隔1小时异步传输至HDFS的情况下)里所有请求日志中的主机名,获取前端服务器的主机列表。将前面API接口返回的预设的前端服务器的主机列表与通过分析请求日志而获得的前端服务器的主机列表做差集,如果存在没有传送请求日志过来的前端服务器,则说明该前端服务器有问题,则启动短信发送程序,发送到开发人员和服务器维护人员的手机里,从而能够让开发人员和服务器维护人员及时得知哪些服务器出现问题,并能够得到及时地处理。这样,一方面,可以保证后台统计的打点数据的准确性,另一方面可以了解各前端服务器的运行状况。
上面所述的主要是关于利用请求日志来监控各前端服务器的运行状况的情形。实际上,在整个系统运行过程中,会产生很多日志,例如对产品人员的操作、后台管理人员的操作、应用程序的运行、系统程序的运行等,都可以进行日志记录。通过这些日志可以知道关于整个系统的几乎所有的信息,比如,过去对系统做了什么样的修改,是谁对系统做的修改等等,都可以记录下来。再比如,通过对后台管理人员的每一步操作都记录一个详细日志,可以查看其所做的操作的历史,例如某年某月某日对某一产品做了怎样的修改,都可以查到,这样,可以避免因时间流逝而忘记之前所做的操作。
另外,在进程分析程序时,每分析一个,都可以输出一个日志,这样,当以后程序出现问题时,方便排查问题。
另外,通过对程序的运行过程进行日志记录,由于知道每一程序在哪一步花了多长时间,这在进行程序优化时可以作为参考。
另外,在本发明的方法600中,在步骤S640之前,还可以包括步骤S635:通过定时器定时触发读取配置文件,启动步骤S640。通常,对统计项的统计可以设定进行统计的时间间隔,例如,可以设定为按天进行统计,也可以设定为按两个小时、或者按6个小时等进行统计,也可以设定成实时进行统计。例如,当分布式数据处理软件框架由HADOOP来实现且按天对统计项进行统计时,可以设定每天下午3点开始进行统计,那么,每天下午3点就会启动HADOOP,读取HDFS中的配置文件,根据所述配置文件中的打点地址,扫描HDFS中的所述请求日志,获得对所述统计项的到访信息的统计结果。
另外,在本发明的方法600中,在步骤S640之后,还可以包括步骤S670:将所获得的对所述统计项的到访信息统计结果呈现给用户。图5E给出了对于统计项目“火车侠”的统计结果,该表格可以展现给后台产品人员。
可选地,后台管理人员可以设置后台人员对所述统计项的到访信息的统计量的访问权限。现有技术中,通常由系统的管理人员为每个想查看统计结果的人分别开通权限,这在统计项目非常多的情况下,系统的管理人员的工作量非常大。为此,本发明将权限管理交给后台管理人员(也可以称为统计项目创建人)自己管理。
具体地,在统计项目创建人(例如产品人员)在“管理”菜单下选择“权限管理”(如图5B所示),会出现一个框(如图5D所示),统计项目创建人将每个可以查看的人员添加进去,点回车就可以为这些人员开通查看权限。通常,被添加的人员不具有统计项目创建人那么多权限,只是可以查看,但不可以进行修改。
当该统计项目的统计超过配置文件中的统计时间段时,提醒该统计项目过期的邮件只发给统计项目创建人,不发给其它的查看人。
可选地,将对所述统计项的到访信息的统计结果存放在后台服务器中以作备份。
在上述实施例的描述中,主要以分布式数据处理软件框架由HADOOP来实现为例进行的描述和解释说明,但分布式数据处理软件框架并不限于由HADOOP来实现,也可以由其它具有类似功能的部件或软件来实现。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的浏览器客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种网络中到访信息收集系统,其包括后台服务器、前端服务器、以及后端服务器,
所述后台服务器包括:
输入装置,其适于接收用户输入的统计项信息,并根据用户输入的统计项信息生成对所述统计项进行统计的打点地址及配置文件,该配置文件包含对该统计项进行统计的指定形式的打点地址和统计规则;
传输装置,其适于将所述配置文件传输至所述后端服务器,以及将所述打点地址传输至前端服务器;
所述前端服务器包括:
接收装置,其适于经网络接收所述传输装置传送的打点地址;
访问启动装置,其适于根据用户对所述统计项的访问,启动对所述统计项的打点地址的访问请求,产生请求日志;
异步装置,其适于每隔预定时间将所述请求日志异步传输至后端服务器;以及
第一存储装置,其适于存储所述请求日志;
所述后端服务器包括:
统计装置,其接收所述传输装置传送的所述配置文件以及所述异步装置传输的所述请求日志并存储,读取所述配置文件,根据所述配置文件中的打点地址,扫描所述请求日志,获得对所述统计项的到访信息的统计结果。
A2、根据A1所述的系统,其中,所述配置文件还包括:
用户选择的对所述统计项的统计时间段;
所述后端服务器还包括:
统计期限监控装置,其适于根据所述配置文件中包含的对所述统计项的统计时间段,来告知所述统计装置是否进行统计。
A3、根据A2所述的系统,其中,
所述统计期限监控装置在确认所述统计装置对所述统计项进行统计的时间超过了所述统计时间段,则提示此项统计项的统计已经过期,并通知所述统计装置对此项统计项停止统计。
A4、根据A2或A3所述的系统,其中,
所述统计期限监控装置在对所述统计项进行统计的时间到达所述统计时间段之前的预定天数,提醒对所述统计项的统计即将到期。
A5、根据A1-A4中任何一项所述的系统,其中,
所述统计装置由分布式数据处理软件框架来实现。
A6、根据A1-A5中任何一项所述的系统,所述后端服务器还包括:
垃圾清理装置,其适于在所述统计装置获得统计结果之后,将对所述请求日志进行扫描、分析、和统计过程中产生的日志删除。
A7、根据A1-A6中任何一项所述的系统,所述后端服务器还包括:
预警装置,其适于对所述系统运行过程中出现的异常情况以及运行状态进行预警。
A8、根据A7所述的系统,所述预警装置还适于根据请求日志来监控前端服务器是否处于正常工作状态。
A9、根据A1-A8中任何一项所述的系统,所述后端服务器还包括:
定时器,其适于定时触发所述统计装置启动统计。
A10、根据A9所述的系统,其中,所述统计装置根据为每个统计项设定的运行时间而并发启动读取多个配置文件、扫描所述请求日志,获得对多个统计项的到访信息的统计结果。
A11、根据A1-A10中任何一项所述的系统,所述后台服务器还包括,
第二存储装置,其适于存储由后端服务器传送过来的对所述统计项的到访信息的统计结果。
A12、根据A1-A11中任何一项所述的系统,所述后台服务器还包括:
展现装置,其适于展现所述统计装置所得到的对所述统计项的到访信息的统计结果。
A13、根据A1-A12中任何一项所述的系统,所述后台服务器还包括:
权限设置装置,其适于设置对所述统计项的到访信息的统计结果的访问权限。
本发明公开了B1、一种网络中到访信息收集方法,包括:
接收用户输入的统计项信息,并根据用户输入的统计项信息生成对所述统计项进行统计的指定形式的打点地址及配置文件,该配置文件包含对所述统计项进行统计的指定形式的打点地址和统计规则;
将所述配置文件传输至后端服务器中的分布式数据处理软件框架,以及将所述打点地址传输至前端服务器中;
在前端服务器中,根据用户对所述统计项的访问,启动对所述统计项的打点地址的访问请求,产生请求日志,并将该请求日志传输至后端服务器中的分布式数据处理软件框架;
读取分布式数据处理软件框架中的配置文件,根据所述配置文件中的指定形式的打点地址,扫描分布式数据处理软件框架中的所述请求日志,获得对所述统计项的到访信息的统计结果。
B2、根据B1所述的方法,其中,
所述统计项信息包括要统计的项目的名称、统计项名称、以及统计规则,
其中,所述统计规则包括统计项的页访问量、统计项的用户访问量、用户的MID、用户的IP地址、统计项的排名中的一个或多个。
B3、根据B1或B2所述的方法,所述配置文件还包括:
用户选择的对所述统计项的统计时间段。
B4、根据B3所述的方法,还包括:
在到达用户选择的所述统计时间段之前的预定天数,提醒对所述统计项的统计即将到期。
B5、根据权利要求B1-B4中任何一项所述的方法,其中,
所述读取所述配置文件、根据所述配置文件中的指定形式的打点地址扫描所述请求日志以获得对所述统计项的到访信息的统计结果的步骤通过分布式数据处理软件框架来实现。
B6、根据B5所述的方法,还包括:
在利用分布式数据处理软件框架获得统计结果之后,将分布式数据处理软件框架在对所述请求日志进行扫描、分析、和统计过程中产生的日志删除。
B7、根据B5或B6所述的方法,还包括:
对分布式数据处理软件框架运行过程中出现的异常情况和运行状况通过短信进行预警。
B8、根据B1-B7中任何一项所述的方法,其中,
所述读取所述配置文件的步骤由定时器定时触发。
B9、根据B8所述的方法,其中,
所述读取所述配置文件的步骤包括根据为每个统计项设定的运行时间而并发启动读取对应的配置文件。
B10、根据B1-B9中任何一项所述的方法,还包括:
将所获得的对所述统计项的到访信息统计结果呈现给用户。
B11、根据B10所述的方法,其中,对所述统计结果的查看权限由后台人员来设定。
Claims (24)
1.一种网络中到访信息收集系统,其包括后台服务器、前端服务器、以及后端服务器,
所述后台服务器包括:
输入装置,其适于接收用户输入的统计项信息,并根据用户输入的统计项信息生成对所述统计项进行统计的打点地址及配置文件,该配置文件包含对该统计项进行统计的指定形式的打点地址和统计规则;
传输装置,其适于将所述配置文件传输至所述后端服务器,以及将所述打点地址传输至前端服务器;
所述前端服务器包括:
接收装置,其适于经网络接收所述传输装置传送的打点地址;
访问启动装置,其适于根据用户对所述统计项的访问,启动对所述统计项的打点地址的访问请求,产生请求日志;
异步装置,其适于每隔预定时间将所述请求日志异步传输至后端服务器;以及
第一存储装置,其适于存储所述请求日志;
所述后端服务器包括:
统计装置,其接收所述传输装置传送的所述配置文件以及所述异步装置传输的所述请求日志并存储,读取所述配置文件,根据所述配置文件中的打点地址,扫描所述请求日志,获得对所述统计项的到访信息的统计结果。
2.根据权利要求1所述的系统,其中,所述配置文件还包括:
用户选择的对所述统计项的统计时间段;
所述后端服务器还包括:
统计期限监控装置,其适于根据所述配置文件中包含的对所述统计项的统计时间段,来告知所述统计装置是否进行统计。
3.根据权利要求2所述的系统,其中,
所述统计期限监控装置在确认所述统计装置对所述统计项进行统计的时间超过了所述统计时间段,则提示此项统计项的统计已经过期,并通知所述统计装置对此项统计项停止统计。
4.根据权利要求2或3所述的系统,其中,
所述统计期限监控装置在对所述统计项进行统计的时间到达所述统计时间段之前的预定天数,提醒对所述统计项的统计即将到期。
5.根据权利要求1-3中任何一项所述的系统,其中,
所述统计装置由分布式数据处理软件框架来实现。
6.根据权利要求1-3中任何一项所述的系统,所述后端服务器还包括:
垃圾清理装置,其适于在所述统计装置获得统计结果之后,将对所述请求日志进行扫描、分析、和统计过程中产生的日志删除。
7.根据权利要求1-3中任何一项所述的系统,所述后端服务器还包括:
预警装置,其适于对所述系统运行过程中出现的异常情况以及运行状态进行预警。
8.根据权利要求7所述的系统,所述预警装置还适于根据请求日志来监控前端服务器是否处于正常工作状态。
9.根据权利要求1-3和8中任何一项所述的系统,所述后端服务器还包括:
定时器,其适于定时触发所述统计装置启动统计。
10.根据权利要求9所述的系统,其中,所述统计装置根据为每个统计项设定的运行时间而并发启动读取多个配置文件、扫描所述请求日志,获得对多个统计项的到访信息的统计结果。
11.根据权利要求1-3和10中任何一项所述的系统,所述后台服务器还包括,
第二存储装置,其适于存储由后端服务器传送过来的对所述统计项的到访信息的统计结果。
12.根据权利要求1-3和10中任何一项所述的系统,所述后台服务器还包括:
展现装置,其适于展现所述统计装置所得到的对所述统计项的到访信息的统计结果。
13.根据权利要求1-3和10中任何一项所述的系统,所述后台服务器还包括:
权限设置装置,其适于设置对所述统计项的到访信息的统计结果的访问权限。
14.一种网络中到访信息收集方法,包括:
接收用户输入的统计项信息,并根据用户输入的统计项信息生成对所述统计项进行统计的指定形式的打点地址及配置文件,该配置文件包含对所述统计项进行统计的指定形式的打点地址和统计规则;
将所述配置文件传输至后端服务器中的分布式数据处理软件框架,以及将所述打点地址传输至前端服务器中;
在前端服务器中,根据用户对所述统计项的访问,启动对所述统计项的打点地址的访问请求,产生请求日志,并将该请求日志传输至后端服务器中的分布式数据处理软件框架;
读取分布式数据处理软件框架中的配置文件,根据所述配置文件中的指定形式的打点地址,扫描分布式数据处理软件框架中的所述请求日志,获得对所述统计项的到访信息的统计结果。
15.根据权利要求14所述的方法,其中,
所述统计项信息包括要统计的项目的名称、统计项名称、以及统计规则,
其中,所述统计规则包括统计项的页访问量、统计项的用户访问量、用户的MID、用户的IP地址、统计项的排名中的一个或多个。
16.根据权利要求14或15所述的方法,所述配置文件还包括:
用户选择的对所述统计项的统计时间段。
17.根据权利要求16所述的方法,还包括:
在到达用户选择的所述统计时间段之前的预定天数,提醒对所述统计项的统计即将到期。
18.根据权利要求14-15和17中任何一项所述的方法,其中,
所述读取所述配置文件、根据所述配置文件中的指定形式的打点地址扫描所述请求日志以获得对所述统计项的到访信息的统计结果的步骤通过分布式数据处理软件框架来实现。
19.根据权利要求18所述的方法,还包括:
在利用分布式数据处理软件框架获得统计结果之后,将分布式数据处理软件框架在对所述请求日志进行扫描、分析、和统计过程中产生的日志删除。
20.根据权利要求18所述的方法,还包括:
对分布式数据处理软件框架运行过程中出现的异常情况和运行状况通过短信进行预警。
21.根据权利要求14-15、17和19中任何一项所述的方法,其中,
所述读取所述配置文件的步骤由定时器定时触发。
22.根据权利要求21所述的方法,其中,
所述读取所述配置文件的步骤包括根据为每个统计项设定的运行时间而并发启动读取对应的配置文件。
23.根据权利要求14-15、17、19和22中任何一项所述的方法,还包括:
将所获得的对所述统计项的到访信息统计结果呈现给用户。
24.根据权利要求23所述的方法,其中,对所述统计结果的查看权限由后台人员来设定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410042865.4A CN103905428B (zh) | 2014-01-28 | 2014-01-28 | 一种网络中到访信息收集的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410042865.4A CN103905428B (zh) | 2014-01-28 | 2014-01-28 | 一种网络中到访信息收集的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103905428A CN103905428A (zh) | 2014-07-02 |
CN103905428B true CN103905428B (zh) | 2017-06-23 |
Family
ID=50996582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410042865.4A Expired - Fee Related CN103905428B (zh) | 2014-01-28 | 2014-01-28 | 一种网络中到访信息收集的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103905428B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515865A (zh) * | 2015-12-14 | 2016-04-20 | 镇江乐游网络科技有限公司 | 一种获取游戏访问量统计数据的方法 |
CN107707404A (zh) * | 2017-10-19 | 2018-02-16 | 福建中金在线信息科技有限公司 | 网站在线人数统计方法、装置和网站服务器 |
CN111352963A (zh) * | 2018-12-24 | 2020-06-30 | 北京奇虎科技有限公司 | 一种数据统计方法及装置 |
CN111241449A (zh) * | 2020-01-14 | 2020-06-05 | 上海风秩科技有限公司 | 一种日志数据发送方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6895437B1 (en) * | 2000-09-07 | 2005-05-17 | Usability Sciences Corporation | System for monitoring browsing activity of a visitor and decrementing a reference count upon a web page change for automatic unloading a client program |
CN101072122A (zh) * | 2007-03-30 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 获取访问量统计数据的方法、系统和用户端设备 |
CN102999500A (zh) * | 2011-09-09 | 2013-03-27 | 深圳市快播科技有限公司 | 一种点击量统计方法及系统 |
CN103414608A (zh) * | 2013-08-15 | 2013-11-27 | 网宿科技股份有限公司 | 快速的web流量采集统计系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075909A (zh) * | 2006-09-18 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 网站访问信息统计系统以及网站访问信息统计方法 |
-
2014
- 2014-01-28 CN CN201410042865.4A patent/CN103905428B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6895437B1 (en) * | 2000-09-07 | 2005-05-17 | Usability Sciences Corporation | System for monitoring browsing activity of a visitor and decrementing a reference count upon a web page change for automatic unloading a client program |
CN101072122A (zh) * | 2007-03-30 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 获取访问量统计数据的方法、系统和用户端设备 |
CN102999500A (zh) * | 2011-09-09 | 2013-03-27 | 深圳市快播科技有限公司 | 一种点击量统计方法及系统 |
CN103414608A (zh) * | 2013-08-15 | 2013-11-27 | 网宿科技股份有限公司 | 快速的web流量采集统计系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103905428A (zh) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7392321B1 (en) | Method and system for evaluating quality of service for transactions over a network | |
US7461297B2 (en) | Method of remotely monitoring an internet web site | |
US20100205254A1 (en) | Method and system of tracking content in a social network | |
US8447823B2 (en) | Instant messaging robot to provide product information | |
CN104301436B (zh) | 待显示内容推送、订阅、更新方法及其相应的装置 | |
CN104717185B (zh) | 短统一资源定位符的展示响应方法、装置、服务器和系统 | |
CN103905428B (zh) | 一种网络中到访信息收集的方法和系统 | |
US20070174440A1 (en) | Systems and methods for data mining and interactive presentation of same | |
JP2002163562A (ja) | 情報配信サーバー装置 | |
CN1264477A (zh) | 监视公用计算机网上的远程文件访问 | |
US20130036351A1 (en) | Apparatus, system, and method for dynamically customizing a web page | |
CN103473721A (zh) | 使用分布式人口统计信息确定媒体印象的方法和装置 | |
US20070208828A1 (en) | Systems and methods for data mining and interactive presentation of same | |
CN106294101A (zh) | 页面打点测试方法和装置 | |
GB2357680A (en) | Monitoring of services provided over a network with determination of interactive content of web pages | |
CN1953403A (zh) | 用于呈现监控报告的方法和系统 | |
CN103905244B (zh) | 一种统计到访信息的装置和方法 | |
CN107924345A (zh) | 用于度量的聚合测量结果的数据存储区 | |
TWI757169B (zh) | 用於實時分析虛擬伺服器記錄的電腦實施系統以及方法 | |
CN104468549B (zh) | 客户端操作请求响应方法、装置和服务器 | |
EP1190475A1 (en) | User support system and method | |
CN106357466A (zh) | 一种互联网产品监控方法及监控系统 | |
JP2008225758A (ja) | マイニングシステム及びマイニング方法 | |
US10353792B2 (en) | Data layering in a network management system | |
US20210326403A1 (en) | Website creation from mobile device data |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170623 Termination date: 20220128 |
|
CF01 | Termination of patent right due to non-payment of annual fee |