发明内容
本发明的发明目的是:为了解决以上问题,本发明提出了一种用于非开放网络环境的网站数据统计及分析方法及系统,以期实现在非开放网络环境中对网站数据进行统计及分析。
本发明的技术方案是:用于非开放网络环境的网站数据统计及分析方法,包括代理服务器和统计服务器,设于非开放网络环境中的代理服务器与设于开放网络中的统计服务器进行数据传输,该方法包括以下步骤:
A、创建统计脚本客户端,将统计脚本客户端嵌入到待监控站点页面中;
B、利用统计脚本客户端采集待监控站点页面访问数据,并发送至代理服务器;
C、在代理服务器端对统计脚本客户端采集的访问数据进行重新整合得到统计数据,并将统计数据发送至统计服务器;
D、在统计服务器端根据统计数据完成待监控站点页面数据统计,并生成访问分析报文。
进一步地,所述统计脚本客户端为JavaScript脚本。
进一步地,所述访问数据包括浏览器数据、用户信息数据、用户访问来源数据及待监控页面数据。
进一步地,所述步骤B包括如下子步骤:
B1、当访问者访问待监控站点页面时,利用所述统计脚本客户端采集待监控站点页面访问数据;
B2、将所述统计脚本客户端采集的访问数据发送至代理服务器。
进一步地,所述步骤B2将所述统计脚本客户端采集的访问数据发送至代理服务器,具体为:根据所述统计脚本客户端采集的访问数据生成Cookie记录,并将访问数据以数据报文的形式发送至代理服务器。
进一步地,所述步骤C包括以下子步骤:
C1、在代理服务器端创建统计脚本服务器端,监听统计脚本客户端的待监控站点页面访问数据发送事件,代理服务器模拟浏览器将收到的访问数据重新整合为统计服务器需要的HTTP请求报文;
C2、HTTP报文整合完成后,代理服务器与统计服务器连接,模拟浏览器请求将统计数据发送至统计服务器。
本发明还提出了一种用于非开放网络环境的网站数据统计及分析系统,包括:统计脚本客户端创建模块、统计脚本客户端嵌入模块、访问数据采集模块、访问数据填充模块和统计模块;
所述统计脚本客户端创建模块,用于创建统计脚本客户端;
所述统计脚本客户端嵌入模块,用于将统计脚本客户端嵌入待监控页面中;
所述访问数据采集模块,用于利用统计脚本客户端采集访问数据,并将访问数据发送至代理服务器;
所述访问数据填充模块设于代理服务器端,用于创建统计脚本服务器端,监听统计脚本客户端的待监控站点页面访问数据发送事件,模拟浏览器将收到的访问数据填充为统计服务器需要的HTTP请求报文,模拟浏览器请求将统计数据发送至统计服务器;
所述统计模块设于统计服务器端,用于接收所述访问数据填充模块发送的统计数据,并根据统计数据进行待监控站点页面数据统计,生成访问分析报文。
进一步地,所述统计脚本客户端为JavaScript脚本。
进一步地,所述访问数据包括浏览器数据、用户信息数据、用户访问来源数据及待监控页面数据。
进一步地,所述访问数据填充模块用于采用Node.js模拟浏览器请求将统计数据发送至统计服务器。
本发明的有益效果是:本发明的一种用于非开放网络环境的网站数据统计及分析方法及系统,在非开放网络环境下通过创建统计脚本客户端并嵌入待监控页面,利用统计脚本客户端采集访问数据并发送至代理服务器,在通过代理服务器对访问数据填充后发送至统计服务器,由统计服务器完成统计并生成分析报文,实现了在非开放网络环境下以最小的代价为网站提供流量数据统计及分析服务,并得到最完善的统计及分析结果。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,为本发明的一种用于非开放网络环境的网站数据统计及分析方法流程示意图。一种用于非开放网络环境的网站数据统计及分析方法,包括代理服务器和统计服务器,设于非开放网络环境中的代理服务器与设于开放网络环境中的统计服务器进行数据传输,该方法包括以下步骤:
A、创建统计脚本客户端,将统计脚本客户端嵌入到待监控站点页面中;
B、利用统计脚本客户端采集待监控站点页面访问数据,并发送至代理服务器;
C、在代理服务器端对统计脚本客户端采集的访问数据进行重新整合得到统计数据,并将统计数据发送至统计服务器;
D、在统计服务器端根据统计数据完成待监控站点页面数据统计,并生成访问分析报文。
本发明在非开放网络环境下通过创建统计脚本客户端嵌入待监控站点页面,利用统计脚本客户端采集访问数据并发送至代理服务器,再通过代理服务器对访问数据填充后发送至统计服务器,由统计服务器完成统计并生成分析报文,实现了在非开放网络环境下以最小的代价为网站提供流量数据统计及分析服务,并得到最完善的统计及分析结果。
在步骤A创建统计脚本客户端,将统计脚本客户端嵌入到待监控站点页面中,本发明需要创建一个统计脚本客户端,创建的统计脚本客户端用于采集待监控站点页面的访问数据,这里的统计脚本客户端可以优选为JavaScript脚本。将创建的统计脚本客户端嵌入到待监控站点页面中,这里的待监控站点页面为非公开网络环境下为用户提供服务的网站。
本发明中Javascript脚本提供了原生对象Navigator可采集的浏览器信息,其中Navigator对象属性具体为:
名称 |
含义 |
appCodeName |
浏览器代码名 |
appMinorVersion |
浏览器次级版本 |
appName |
浏览器名称 |
appVersion |
浏览器平台和版本信息 |
browserLanguage |
当前浏览器语言 |
cookieEnabled |
浏览器是否使用Cookie |
cpuClass |
返回浏览器CPU等级 |
onLine |
系统是否处于脱机模式 |
platform |
浏览器的操作系统平台 |
systemLanguage |
浏览器默认语言 |
userAgent |
客户机发送服务器的useragent头部的值 |
userLanguage |
OS的自然语言设置 |
本发明的统计服务器可以分别优选为Google Analytics和百度统计,此时需要分别为Google Analytics和百度统计提供两个不同的统计脚本客户端可嵌在网站中。
B、利用统计脚本客户端采集待监控站点页面访问数据,并发送至代理服务器。
本发明的步骤B包括如下子步骤:
B1、当访问者访问待监控站点页面时,利用所述统计脚本客户端采集待监控站点页面访问数据。
当访问者即用户访问待监控页面时,嵌入待监控页面的统计脚本客户端开始执行,并采集用户的访问数据,这里的访问数据优选为浏览器数据、用户信息数据、用户访问来源数据及待监控页面数据。
B2、将所述统计脚本客户端采集的访问数据发送至代理服务器。
本发明的统计脚本客户端根据所采集的访问数据生成Cookie记录,并将访问数据以数据报文的形式发送至代理服务器。
C、在代理服务器端对统计脚本客户端采集的访问数据进行重新整合得到统计数据,并将统计数据发送至统计服务器。
本发明的步骤C包括以下子步骤:
C1、在代理服务器端创建统计脚本服务器端,监听统计脚本客户端的待监控站点页面访问数据发送事件,代理服务器模拟浏览器将收到的访问数据重新整合为统计服务器需要的HTTP请求报文。
本发明在代理服务器端创建统计脚本服务器端,一方面作为待监控页面的server端接收统计脚本客户端发送的访问数据;另一方面作为统计服务器的客户端,即通过SSL协议传送报文至统计服务器。
本发明创建的统计脚本服务器端利用Node.js接收包含完整HTTP请求头的访问数据,并从完整HTTP请求头中获取请求信息;此时Node.js继续监听统计脚本客户端通过待监控站点页面的访问数据发送事件。
本发明的统计服务器优选为Google Analytics和百度统计。
本发明的一个实施例中统计服务器优选为Google Analytics,首先Node.js对GoogleAnalytics所需要的数据结构进行分析。这里Google Analytics所需要的数据包括:访问者IP,网站域名,请求URI,页面名称,访客浏览器/操作系统信息,时间设置,自定义变量设置,访客ID,访问次数,访问时间,流量来源等。然后按照Google Analytics的数据格式对访问数据进行组装。Google Analytics的数据格式例如:
http://www.google-analytics.com/__utm.gif?utmwv=4&utmn=769876874&utmhn=example.com&utmcs=ISO-8859-1&utmsr=1280x1024&utmsc=32-bit&utmul=en-us&utmje=1&utmfl=9.0%20%20r115&utmcn=1&utmdt=GATC012%20setting%20variables&utmhid=2059107202&utmr=0&utmp=/auto/GATC012.html?utm_source=www.gatc012.org&utm_campaign=campaign+gatc012&utm_term=keywords+gatc012&utm_content=content+gatc012&utm_medium=medium+gatc012&utmac=UA-30138-1&utmcc=__utma%3D97315849.1774621898.1207701397.1207701397.1207701397.1%3B...
其中,请求参数的含义分别为:
名称 |
含义 |
utmac |
账户字符串,在所有请求中显示 |
utmcc |
Cookie值。此请求参数将发送从网页中请求的所有Cookie |
utmcn |
开始一个新的广告系列会话 |
utmcr |
指示重复的广告系列访问。 |
utmcs |
浏览器的语言编码 |
utmclt |
网页标题,是一个网址编码字符串 |
utme |
可扩展参数 |
utmfl |
FLASH版本 |
utmhn |
主机名,是一个网址编码字符串 |
utmipc |
产品代码,这是给定产品的SKU代码 |
utmipn |
产品名,是一个网址编码字符串 |
utmipr |
单价,在物品级别设置,值为数字且仅使用美国货币格式, |
utmiqt |
数量 |
utmiva |
某个物品的不同版本,例如,大中小颜色,字串串为网址编码 |
utmje |
指示浏览器是否启用了JAVA支持。 |
utmn |
为每个GIF请求生成唯一的ID,用于防止GIF图片缓存。 |
utmp |
当前网页的网页请求 |
utmr |
引荐,完整的网址。 |
utmsc |
屏幕颜色深度 |
utmsr |
屏幕分辨率 |
utmt |
指示请求的类型,保罗:时间,交易,物品或自定义变量。 |
utmtci |
账单邮寄地址所在城市 |
utmtco |
账单邮寄地址所在国家/地区 |
utmtid |
订单ID,为网址编码字符串 |
utmtrg |
账单邮寄地址所在区域,为网址编码字符串。 |
utmtsp |
运费,单位和价格的值 |
utmtst |
关联企业,通常用于电子商务中的实体商户。 |
utmtto |
总计,单位和价格的值 |
utmttx |
税款,单位和价格的值 |
utmul |
浏览器的语言。 |
utmwv |
跟踪代码版本 |
将访问数据重新整合完成后得到的数据称为统计数据,并将统计数据发送至GoogleAnalytics。
本发明的另一个实施例中统计服务器优选为百度统计,首先Node.js对百度统计所需要的数据结构进行分析。这里百度统计所需要的数据包括:访问者IP,网站域名,请求URI,页面名称,访客浏览器/操作系统信息,时间设置,自定义变量设置,访客ID,访问次数,访问时间,流量来源等。然后按照百度统计的数据格式对访问数据进行组装。百度统计的数据格式例如:
“http://hm.baidu.com/hm.gif?cc=1&ck=1&cl=32-bit&ds=1366×768&ep=0&et=0&fl=11.0&ja=1&ln=zh-cn”
其中,请求参数的含义分别为:
将访问数据重新整合完成后得到的数据称为统计数据,并将统计数据发送至百度统计。
C2、HTTP报文整合完成后,代理服务器与统计服务器连接,模拟浏览器请求将统计数据发送至统计服务器。
本发明在HTTP报文整合完成后,将代理服务器与统计服务器进行连接;同时,模拟浏览器请求,并通过SSL协议将统计数据发送至统计服务器。
D、在统计服务器端根据统计数据完成待监控页面数据统计,并生成访问分析报文。
本发明在统计服务器端对非公开网络环境中的待监控页面进行数据流量统计,并生成访问分析报文,为待监控页面管理人员提高页面质量提供依据。
本发明还提出了一种用于非开放网络环境的网站数据统计及分析系统,如图2所示,为本发明的一种用于非开放网络环境的网站数据统计及分析系统示意图,包括:统计脚本客户端创建模块、统计脚本客户端嵌入模块、访问数据采集模块、访问数据填充模块和统计模块;
统计脚本客户端创建模块,用于创建统计脚本客户端;
统计脚本客户端嵌入模块,用于将统计脚本客户端嵌入待监控页面中;
访问数据采集模块,用于利用统计脚本客户端采集访问数据,并将访问数据发送至代理服务器;
访问数据填充模块设于代理服务器端,用于创建统计脚本服务器端,监听统计脚本客户端的待监控站点页面访问数据发送事件,模拟浏览器将收到的访问数据填充为统计服务器需要的HTTP请求报文,模拟浏览器请求将统计数据发送至统计服务器;
统计模块设于统计服务器端,用于接收所述访问数据填充模块发送的统计数据,并根据统计数据进行待监控站点页面数据统计,生成访问分析报文。
本发明的一种用于非开放网络环境的网站数据统计及分析系统,首先利用统计脚本客户端创建模块创建一种统计脚本客户端,创建的统计脚本客户端用于采集待监控页面的访问数据,这里的统计脚本客户端可以优选为JavaScript脚本;然后利用统计脚本客户端嵌入模块将创建的统计脚本客户端嵌入到待监控站点页面,这里的待监控站点页面为非公开网络环境下为用户提供服务的网站;当访问者即用户访问待监控站点页面时,访问数据采集模块利用统计脚本客户端采集用户的访问数据,并将采集到的访问数据发送至代理服务器,这里的访问数据优选为浏览器数据、用户信息数据、用户访问来源数据及待监控页面数据;代理服务器的访问数据填充模块接收包含完整HTTP请求头的访问数据,并从完整HTTP请求头中获取请求信息,同时继续监听统计脚本客户端通过待监控页面的访问数据发送事件,并模拟浏览器将收到的访问数据填充为统计服务器需要的HTTP请求报文,这里利用访问数据填充模块对访问数据进行填充具体为首先对统计服务器需要的数据结构进行分析,然后按照统计服务器的数据格式对访问数据进行组装,这里的访问数据填充模块可以优选采用Node.js实现;HTTP报文整合完成后,将代理服务器与统计服务器连接,并利用访问数据填充模块模拟浏览器请求将统计数据发送至统计服务器,最后统计服务器端的统计模块接收访问数据填充模块发送的统计数据,并根据统计数据进行待监控页面数据统计,生成访问分析报文。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。