用于收集用户访问相关信息的方法和系统的制作方法

文档序号:6578192阅读:199来源:国知局
专利名称:用于收集用户访问相关信息的方法和系统的制作方法
技术领域
本发明涉及网络分析技术领域,更具体地涉及一种用于收集用户访问相关信息以 用于网络分析的方法和系统。
背景技术
网络分析技术是随着网络应用的快速发展而出现的。网络分析服务可以为网站所 有者提供多种分析功能并帮助网站所有者提高网站的访问转换率、投资回报率和网站经济 效益。图1示出了根据现有技术的网络分析服务的一个示例性界面,该网络分析是由谷 歌网络分析服务所提供的。如图1所示,谷歌网络分析服务可以向网站所有者提供多种分 析服务项目,诸如访问统计、导航分析、目标网页优化等等。通过这些服务项目,网站所有者 可以获知总访问次数、跳出率、近期访问量的情况、访问者找到网络内容的方式等,并且网 站所有者可以得到网络分析服务提供的改善访问者体验的建议。在现有网络分析技术中,通常要求在需要跟踪网页中添加一小段用作网络信标的 跟踪代码,诸如JavaScript代码。添加在网页中的代码用于收集访问者的用户访问相关信 息并将其发送给分析服务提供商以便进行处理。跟踪代码的一个示例如下所示。跟踪代码的示例<script type =,,text/javascript,,>Var gaJsHost = ((,,https ,,== document, location, protocol) ?,,https "ssl,,,,http //www.,,);//如果当前位置的url协议是https协议,Il 则载入 https://ssl. google-analytics. com/ga. js ;H 否则载入 http://www. google-analytics. com/ga. jsDocument, write (unescape (,,% 3Cscript src = “,+gaJsHost+"google-analytics. com/ga. js 'type = 'text/javascript ' % 3E % 3C/ script% 3E”));//输出对通过escape ()编码的字符串进行解码后的代码〈/script〉<script type =,,text/javascript,,>Var pageTracker = _gat. getTracker (” UA-XXXXXX-X”);//指明其网页需要被跟踪的网站所有者的帐号pagcTracker. initData();Il初始化数据pageTracker. trackPageview ();H将网页跟踪数据发送至分析服务器〈/script〉
在访问者请求打开网页时,该跟踪代码将随着所请求的网页数据一起发送到客户 端。该跟踪代码执行用户访问相关信息收集并基于收集的用户访问相关信息生成网络信标 请求,图2中示出了网络信标请求(web beacon request)的一个示例。在该示例性的网络 信标请求中,包括网络信标头部“http://www. google-analytics. com/—utm. gif” ;表示 用户访问相关信息的信息字段,诸如表示跟踪活动id的“utmn = 6438280008”,表示客户单 主机名的“utmh = www. sample, com”,表示页面编码的“utmcs = UTF-8”等;以及网络应用 的网络分析帐户“utmac = UA-2035756-2”等信息。然后,该生成的网络信标请求会被发送 给网络分析服务提供商,以便由其进行分析和处理。在传统的网络应用中,一个网页实现一个功能,因此通过向网页中添加跟踪代码 对各个网页进行跟踪,可以实现对各个功能的跟踪,进而可以进行有效的网络分析。随着网络技术的发展以及第二代互联网模式web 2.0时代的来临,异步 JavaScript和XML(AJAX)在网络应用中起到越来越重要的作用,越来越多的功能都是在网 页中使用AJAX调用来实现的。一个网页一种应用逐渐成为一种发展趋势。图3示出了 Web 2. 0网络应用的一个示例。在这种包含AJAX调用的Web 2. 0网 络应用中,一个网页中实现了众多功能,即一个网页对应于一个应用,而不是如传统网络应 用中那样仅对应于一个功能。例如,图3中示出的弹出框310是页面内弹出框,而并非如传 统技术中那样是一个新网页。正是由于这样原因,适用于传统网络应用的网络分析技术无 法通过跟踪网页的加载来实现对于一个网页中实现的多个功能的跟踪。为了解决这一问题,在现有技术中主要存在两种技术方案。其中一种是在网页代 码中的每个AJAX调用之前均添加特定的跟踪代码。例如,对于谷歌分析服务而言,可以在 每个AJAX调用之前添加如下跟踪代码Pagetraker. _trackPageview ( "/ajax/actionl,,)Il将跟踪数据发送至谷歌分析服务器以便在调用AJAX之前,强制产生一个网络信标请求并将其发送到网络分析服务 提供商。另一种技术方案是代码重构,即修改AJAX框架以便以标准化的方式来添加跟踪 代码,而无需如第一种方式那样,通过手工在网页代码的每个AJAX调用之前添加跟踪代码。上述这两种方案均能够实现对网页中通过AJAX调用实现的功能的跟踪。然而,这 两种技术都需要修改网页的源代码,即,采用的是一种侵入性的方式。因此,在实际应用中 还是存在一些问题。对于第一种技术方案,只有网络应用的所有者拥有网络应用的代码,才能对代码 进行修改,这对于一些只负责管理和运营网络应用的所有者而言是不现实的。另外,无论是 所有者自己修改网络应用的代码还是交由其他专业人员来修改,都需要花费大量的成本。对于第二种技术方案,修改AJAX框架会在AJAX框架升级时引起问题,这是因为在 AJAX框架升级时,需要进一步调整原先对AJAX框架的修改,以便适应升级后的AJAX框架。 而这种调整需要非常专业的知识和技巧。另外,这种修改也是耗时耗力的。此外,上述两种技术方案均存在适应性差、维护成本高的问题。上述两种技术方案 均需对网络应用的代码进行修改,因此一旦网络分析的需求变化,只能通过修改网络应用的代码来满足该需求,而这需要花费很大的人力和物力。因此,它们具有较差的适应性。另 外,由于插入在AJAX调用之前的这些代码零星地散布在整个网络应用的代码中,所以不易 于管理,并使得维护成本较高。

发明内容
有鉴于此,本发明提供了一种用于收集用户访问相关信息以用于网络分析的技术 方案。该方案至少可以在部分上消除或者缓解上述缺陷或其中一部分。根据本发明的一个方面,提供了一种用于收集用户访问相关信息的方法。该方法 可以包括响应于客户端的页面打开请求,将信息收集模块发送到客户端,其中所述信息收 集模块用于收集客户端的附加用户访问相关信息;从网络服务请求获取客户端的附加用户 访问相关信息和基本用户访问相关信息;由所获取的附加用户访问相关信息和基本用户访 问相关信息生成网络信标请求。根据本发明的优选的实施方式,从网络服务请求获取客户端的附加用户访问相关 信息和基本用户访问相关信息可以包括从服务器接收的超文本传输协议请求中获取客户 端的附加用户访问相关信息和基本用户访问相关信息。根据本发明的另一方面,提供了一种用于收集用户访问相关信息的系统。该系统 可以包括模块发送装置,用于响应于客户端的页面打开请求,将信息收集模块发送到客户 端,其中所述信息收集模块用于收集客户端的附加用户访问相关信息;信息获取装置,用于 从网络服务请求获取客户端的附加用户访问相关信息和基本用户访问相关信息;请求生 成装置,用于由所获取的附加用户访问相关信息和基本用户访问相关信息生成网络信标请 求。根据本发明的又一方面,提供了一种计算机程序产品。该计算机程序产品其上具 有计算机程序代码,当该计算机程序代码在计算机上运行时,能够执行根据本发明的用于 收集用户访问相关信息的方法的步骤。根据本发明的方法和系统,通过从网络服务器请求获取的客户端的附加用户访问 相关信息和基本用户访问相关信息来生成网络信标请求,而并非通过修改网络应用的代码 来实现用户访问相关信息收集,因此,本发明采用的是一种非侵入性的信息收集方式。为 此,与通过修改网络应用代码来实现用户访问相关信息收集的现有技术相比,根据本发明 的收集用户访问相关信息的方式更加简单、易于实现、所需花费少,并因此具有成本效益。 另外,在根据本发明的优选实施方式中,实现了对于用户访问相关信息的集中式收集和管 理,因此根据本发明的信息收集的解决方案更加便于维护和优化,也具有较大的灵活性。


通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将 更加明显,本发明附图中相同的标号表示相同或相似的部件。在附图中,图1示出了根据现有技术的网络分析服务的一个示例性界面;图2示出了根据现有技术的网络信标请求的一个示例;图3示出了 Web 2.0网络应用的示例;图4示出了根据本发明一个实施方式的用于收集用户访问相关信息的方法的流程图;图5示出了根据本发明一个实施方式的用于收集用户访问相关信息的系统的方 框图;图6示出了根据本发明另一实施方式的用于收集用户访问相关信息的系统的方 框图;以及图7示意性地示出了其中可以实现根据本发明的实施方式的计算机设备的方框 图。
具体实施例方式在下文中,将参考附图通过实施方式对本发明提供的用于收集用户访问相关信息 的方法和系统进行详细的描述。首先,将参考图4描述根据本发明一个实施方式的方法。图4示出了根据本发明 一个实施方式的用于收集用户访问相关信息的方法的流程图。如图4所示,在步骤401,响应于客户端的页面打开请求,将信息收集模块发送到 客户端。AJAX调用与普通的网络请求一样,都是HTTP请求。在HTTP请求中包括有浏览器 自动收集的信息。通过对HTTP请求进行解析可以获得诸如客户端网际协议(IP)地址、服 务器站点名、访问时间、请求类型和URL、引用信息(用户从哪个URL点击网站上的链接)、 用户代理信息等用户访问相关信息。这些用户访问相关信息都可用于网络分析,基于这些 信息可以例如对网络访问者的区域分布、网络访问的高峰时段、网络应用各功能的访问情 况、用户从哪些URL链接到本网络应用、用户的浏览器信息、操作系统信息等等进行网络统 计。因而,对于一些普通的网络分析服务而言这些用户访问相关信息是足够的。因此,本发 明考虑通过从网络访问请求获取客户端的用户访问相关信息来收集用户访问相关信息。另 外,通过对HTTP请求的应答进行解析还可以得到应答状态、服务返回到客户端的字节数等 信息,基于这些信息还可以进一步进行有效访问、无效访问和访问流量的统计。另外,在网络应用的服务器利用浏览器的Cookie来保持会话的情况下,网络应用 的相应代码还会在HTTP请求中包括相关的Cookie,其中通常包括访问者标识符、会话标识 符、访问次数等用户访问相关信息。因此,在这种情况下,可以进一步获得上述的Cookie中 的用户访问相关信息。除上述基本用户访问相关信息之外,用户访问相关信息还可以包括附加用户访问 相关信息。该附加用户访问相关信息可以通过信息收集模块在客户端收集。然而,需要说 明的是,利用信息收集模块进行信息收集是本发明的优选实施方式,在无需收集附加用户 访问相关信息的情况下,并不需要利用信息收集模块。根据本发明的一个优选实施方式,响应于客户端页面打开请求,随着页面数据一 起将诸如JavaScript代码的信息收集模块下载到客户端。该信息收集模块用于收集客户 端的附加用户访问相关信息,诸如客户端是否支持JavaScript、客户端是否支持Flash、客 户端使用的操作系统、客户端的显示器分辨率或其他可以用于网络分析的附加用户访问相 关信息。该信息收集模块也可以负责计算生成并收集一些更高级的信息,例如可以由它代 替网络应用来负责在Cookie中计算和生成上述由网络应用包括在Cookie中的信息,例如访问者标识符、客户端会话标识符以及访问次数等用户访问相关信息。收集的附加用户访问相关信息可以随着HTTP请求一起被发送到服务器。在本发 明的一个实施方式,可以在客户端中安装浏览器插件,以便将收集的附加用户访问相关信 息附在HTTP请求中发送到服务器,或者响应于HTTP请求的发送而将所收集的附加用户访 问相关信息单独地发送到服务器。然而,在优选的实施方式中,信息收集模块将其所收集的用户访问相关信息放置 在客户端的Cookie中。已知的是,Cookie会通过每个HTTP请求而被自动发送到服务器, 因此信息收集模块收集的用户访问相关信息将会随着HTTP请求而被发送到服务器。这种 方式与上文已经描述的传送附加用户访问相关信息的其他方式相比,其实现更为简单和可 行,而且并不要求客户端安装浏览器插件。从上面的描述可以看出,在本发明的上述实施方式中的信息收集模块与现有的跟 踪代码不同。根据本发明上述实施方式的信息收集模块在收集了客户端的用户访问相关信 息之后,并不负责生成和发送网络信标请求,而是将收集的客户端的用户访问相关信息直 接提供给服务器。接着,在步骤402,从网络服务请求获取客户端的附加用户访问相关信息和基本用 户访问相关信息。在根据本发明的一个实施方式中,在网络应用的服务器获取来自客户端的网络浏 览器的超文本传输协议(HTTP)请求,通过对HTTP请求进行解析从HTTP请求中获取客户端 的基本用户访问相关信息和附加用户访问相关信息。另外,在根据本发明的优选实施方式中,可以在服务器利用过滤策略来识别出需 要跟踪的HTTP请求,并从所述需要跟踪的HTTP请求中解析出所述附加用户访问相关信息 和基本用户访问相关信息。根据本发明的实施方式,可以实时地截获从客户端发送到所述服务器的HTTP请 求,或者可替代地,从服务器的网络日志中获取来自客户端的HTTP请求。随后,可以基于预 定的过滤策略来识别需要跟踪的HTTP请求。在根据过滤策略来识别需要跟踪的HTTP请求的一个实施方式中,可以基于统一 资源定位符(URL)来识别需要跟踪的功能。已知的是,不同的URL对应于不同的功能。因 此,可以在系统配置文件或者配置表中存储需要跟踪的URL或者不需要跟踪的URL,以便基 于该信息只获取与网站所有者关心的功能相关的HTTP请求。在这种情况下,可以通过简单 地设置和改变配置文件中的URL来适应用户网络分析需求的改变。在根据过滤策略来识别需要跟踪的HTTP请求的另一实施方式中,可以基于客户 端网际协议地址滤除不需要跟踪的HTTP请求,以便识别出需要跟踪的HTTP请求。例如,网 站所有者可能对会自己的网站进行测试,这些测试会引起HTTP请求,但这些HTTP请求并不 代表真实的用户访问。因此,为了使得网络分析结果更为真实,网站所有者可能不希望跟踪 测试所产生的HTTP请求。在这种情况下,可以设置不需要跟踪的客户端IP地址,例如网站 所有者的IP地址,以便从HTTP请求中滤除这些不需跟踪的HTTP请求。在根据过滤策略来识别需要跟踪的HTTP请求的再一实施方式中,还可以基于用 户代理信息来滤除一些不需要跟踪的HTTP请求。例如,在通过搜索引擎搜索到网站时,这 并非是真正的网站访问,因此可以滤除与此相关的HTTP请求。如果HTTP请求涉及的是与搜索引擎相关的虚假访问,则HTTP请求中的用户代理信息(agent)将会是诸如“google” 的值。因此,通过设置需要滤除的用户代理信息值,诸如“googlWbaidu”等,可以排除一 些不需要跟踪的HTTP请求。这样,就可以使得网络分析结果更为真实。需要说明的是,可以根据需要采用这些过滤策略中的一种或者多种,并且也可以 根据需要采用其他适当的过滤策略。接着,继续参考图4。在步骤403,由所获取的附加用户访问相关信息和基本用户 访问相关信息生成网络信标请求。在获取了基本用户访问相关信息和附加用户访问相关信息之后,即可以根据所获 取的这些用户访问相关信息,生成网络信标请求。根据本发明的一个实施方式,可以从所获 取的这些用户访问相关信息中取出各个信息,诸如客户端IP地址、服务器站点名称、请求 类型和URL等等,并按照网络服务提供商的要求将每个信息分别放置请求消息中的相应位 置,从而生成网络信标请求。生成的网络信标请求例如可以如图2所示。关于根据这些用 户访问相关信息生成网络信标请求,这在本领域是已知的,此处不再赘述。 在具体应用中,可能存在这样一些情况,其中需要将生成的网络信标请求发送到 多个网络分析服务器进行分析,或者其中需要更换提供网络分析服务的网络分析服务提供 商,或者网络服务提供商要求的信息格式发生改变。在这样的情况下,优选的是,可以进一 步地将所获取的附加用户访问相关信息和基本用户访问相关信息转换成网络分析服务器 要求的格式,以便基于经过转换的附加用户访问相关信息和基本用户访问相关信息生成网 络信标请求。根据该实施方式,网站所有者无需针对特定的网络分析服务商而定义信息格 式,而是可以使用自定义的通用格式。在这种情况下,可以根据本发明的通用格式与网络分析服务商要求的格式之间的 对应关系来执行格式转换,以将这些用户访问相关信息转换成网络分析服务器要求的格 式,因此可以将生成的网络信标请求发送到多个网络分析服务器进行分析。根据本发明的 方法,可以设置多组对应关系,以描述通用格式与不同网络分析服务商要求的格式之间对 应,而且可以根据自己的需要选择和改变为其提供网络分析服务的服务商。此外,在网络服 务商要求的信息格式发生变化的情况下,也可以通过执行该转换而快速地适应这种改变。 因此,从这个意义上来讲,该实施方式具有较大的灵活性。接下来,将结合一个实例来描述这种信息格式转换。表1示例性地示出了网站所 有者自定义的信息格式与网络分析服务提供商要求的信息格式之间对应关系。^ 1自定义的信息格式与所要求的信息格式之间的对应
权利要求
一种用于收集用户访问相关信息的方法,包括响应于客户端的页面打开请求,将信息收集模块发送到客户端,其中所述信息收集模块用于收集客户端的附加用户访问相关信息;从网络服务请求获取客户端的附加用户访问相关信息和基本用户访问相关信息;以及由所获取的附加用户访问相关信息和基本用户访问相关信息生成网络信标请求。
2.根据权利要求1所述的方法,其中,所述收集的附加用户访问相关信息被放置在 Cookie中,以便随着超文本传输协议请求而被发送到所述服务器。
3.根据权利要求1所述的方法,其中从网络服务请求获取客户端的附加用户访问相关 信息和基本用户访问相关信息进一步包括从服务器接收的超文本传输协议请求中获取客户端的附加用户访问相关信息和基本 用户访问相关信息。
4.根据权利要求3所述的方法,其中从服务器接收的超文本传输协议请求中获取客户 端的附加用户访问相关信息和基本用户访问相关信息进一步包括从服务器获取需要跟踪的超文本传输协议请求;以及从所述需要跟踪的超文本传输协议请求中解析出附加用户访问相关信息和基本用户 访问相关信息。
5.根据权利要求4所述的方法,其中,所述从服务器获取需要跟踪的超文本传输协议 请求包括实时地截获所述超文本传输协议请求;以及 识别需要跟踪的超文本传输协议请求。
6.根据权利要求4所述的方法,其中,所述从服务器获取需要跟踪的超文本传输协议 请求包括从网络日志中获取所述超文本传输协议请求;以及 识别需要跟踪的超文本传输协议请求。
7.根据权利要求5或6所述的方法,其中,通过以下之中的一种或者多种信息来识别所 述需要跟踪的超文本传输协议请求统一资源定位符; 客户端网际协议地址;以及 用户代理信息。
8.根据权利要求1所述的方法,进一步包括将所获取的附加用户访问相关信息和基本用户访问相关信息转换成所述网络分析服 务器要求的格式,其中,所述网络信标请求基于经过转换的附加用户访问相关信息和基本用户访问相关 信息生成。
9.根据权利要求1所述的方法,进一步包括将所获取的附加用户访问相关信息和基本用户访问相关信息中的统一资源定位符映 射成针对网站所有者的信息格式,其中,所述网络信标请求基于经过映射的附加用户访问相关信息和基本用户访问相关 信息生成。
10.一种用于收集用户访问相关信息的系统,包括模块发送装置,用于响应于客户端的页面打开请求,将信息收集模块发送到客户端,其 中所述信息收集模块用于收集客户端的附加用户访问相关信息;信息获取装置,用于从网络服务请求获取客户端的附加用户访问相关信息和基本用户 访问相关信息;以及请求生成装置,用于由所获取的附加用户访问相关信息和基本用户访问相关信息生成 网络信标请求。
11.根据权利要求10所述的系统,其中,所述收集的附加用户访问相关信息被放置在 Cookie中,以便随着超文本传输协议请求而被发送到所述服务器。
12.根据权利要求10所述的系统,其中,所述信息获取装置进一步配置用于通过从服 务器接收的超文本传输协议请求中获取客户端的附加用户访问相关信息和基本用户访问 相关信息来从网络服务请求获取客户端的附加用户访问相关信息和基本用户访问相关信 肩、ο
13.根据权利要求12所述的系统,其中,所述信息获取装置进一步配置用于通过以下 从服务器接收的超文本传输协议请求中获取客户端的附加用户访问相关信息和基本用户 访问相关信息从服务器获取需要跟踪的超文本传输协议请求;以及从所述需要跟踪的超文本传输协议请求中解析出所述附加用户访问相关信息和基本 用户访问相关信息。
14.根据权利要求13所述的系统,其中,所述信息获取装置配置用于通过以下从服务 器获取需要跟踪的超文本传输协议请求实时地截获所述超文本传输协议请求;以及识别需要跟踪的超文本传输协议请求。
15.根据权利要求13所述的系统,其中,所述信息获取装置配置用于通过以下从服务 器获取需要跟踪的超文本传输协议请求从网络日志中获取所述超文本传输协议请求,以及识别需要跟踪的超文本传输协议请求。
16.根据权利要求14或15所述的系统,其中,通过以下之中的一种或者多种信息来识 别所述需要跟踪的超文本传输协议请求统一资源定位符;客户端网际协议地址;以及用户代理信息。
17.根据权利要求10所述的系统,进一步包括格式转换装置,用于将所获取的附加用户访问相关信息和基本用户访问相关信息转换 成所述网络分析服务器要求的格式,其中,所述网络信标请求基于经过转换的附加用户访问相关信息和基本用户访问相关 信息生成。
18.根据权利要求10所述的系统,进一步包括信息映射装置,用于将所获取的附加用户访问相关信息和基本用户访问相关信息中的统一资源定位符映射成针对网站所有者的信息格式,其中,所述网络信标请求基于经过映射的附加用户访问相关信息和基本用户访问相关 信息生成。
全文摘要
本发明提供了一种用于收集用户访问相关信息以用于网络分析的方法和系统。所述方法可以包括响应于客户端的页面打开请求,将信息收集模块发送到客户端,其中所述信息收集模块用于收集客户端的附加用户访问相关信息;从网络服务请求获取客户端的附加用户访问相关信息和基本用户访问相关信息;由所获取的附加用户访问相关信息和基本用户访问相关信息生成网络信标请求。本发明采用的是一种非侵入性的信息收集方式,不需要修改网络应用的代码,因此与现有技术相比,本发明更加简单、易行且具有成本效益。另外,根据本发明的优选实施例,还可以实现对于用户访问相关信息的集中式收集和管理,因此更加便于维护和优化,也具有较大的灵活性。
文档编号G06F17/30GK101937439SQ20091013980
公开日2011年1月5日 申请日期2009年6月30日 优先权日2009年6月30日
发明者孙伟, 孙沛, 张剑鸣, 段宁, 黄莹 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1