分析网站流量的方法和装置转让专利

申请号 : CN200710146590.9

文献号 : CN101146040B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : S·霍华德R·S·凯勒M·S·尼科尔斯T·M·伍德拉夫

申请人 : 国际商业机器公司

摘要 :

本发明设计了分析门户的网络流量的方法和装置。实施例包括通过portlet从门户接收对网页内容的请求并产生网页片段从而分析门户的网络流量的变换、代码、状态机或其他逻辑。所述片段可以包括代码以从客户端收集关于portlet的网络流量的数据并且将所述数据传送给用于收集关于门户和portlet的网络流量的数据的工具。某些实施例可以包括门户向portlet请求网页内容,并且所述门户从所述portlet接收网页片段。所述片段可以包括代码以从客户端收集关于portlet的网络流量的数据,并且将所述数据传送给所述数据收集工具。

权利要求 :

1.一种分析门户的网络流量的方法,所述方法包括:portlet从所述门户接收对网页内容的请求;

响应于所述请求,所述portlet产生网页片段,所述片段包括用以执行以下操作的代码:从客户端收集关于所述portlet的网络流量的数据并且将所述数据传送给用于收集关于所述门户和所述portlet的网络流量的数据的工具;以及将所述片段传送给所述门户;

其中包含所述网页片段的网页代码被传送至客户端,以便由客户端进行所述关于所述portlet的网络流量的数据收集并将所述数据传送给用于收集关于门户和portlet网络流量的数据的工具。

2.根据权利要求1的方法,进一步包括:

响应于所述portlet产生网页片段,客户端收集关于所述portlet的网络流量的数据;

以及

将所述数据从所述客户端传送到所述用于收集关于网络流量的数据的工具。

3.根据权利要求1的方法,进一步包括:

所述门户执行用以收集关于所述portlet的网络流量的数据的代码;以及响应于所述执行,向客户端传送其他用以收集关于所述portlet的网络流量的数据的代码。

4.根据权利要求1的方法,其中所述产生过程包括:提供一个代码库,所述代码库包括用以收集关于网络流量的数据的代码;以及调用所述代码库中包括的函数。

5.根据权利要求4的方法,其中所述提供一个代码库包括提供一个Java类库。

6.根据权利要求4的方法,其中所述提供一个代码库包括提供一个Java标签库。

7.一种分析门户的网络流量的方法,所述方法包括:门户向portlet请求网页内容;

响应于所述请求,所述门户从所述portlet接收网页片段,所述片段包括用以执行以下操作的代码:从客户端收集关于所述portlet的网络流量的数据并且将所述数据传送给用于收集关于所述门户和所述portlet的网络流量的数据的工具;

所述门户产生网页,所述网页包括所述网页片段;以及将所述网页传送给客户端。

8.根据权利要求7的方法,其中所述产生过程包括在所述网页中插入其他用以从客户端收集关于网络流量的数据的代码。

9.根据权利要求8的方法,其中所述插入过程包括:执行代码库中包括的函数,所述函数由所述用以从客户端收集关于网络流量的数据的代码调用。

10.一种分析门户的网络流量的装置,所述装置包括portlet,所述portlet包括:用于接收来自所述门户的网页片段请求的接收装置;

用于响应于所述请求产生网页片段,并且在所述网页片段中插入用于执行下述操作的代码的装置:从客户端收集关于所述portlet的网络流量的数据并且将所述数据传送给用于收集关于所述门户和所述portlet的网络流量的数据的工具;以及用于向所述门户传送所述片段的发送装置。

11.根据权利要求10的装置,进一步包括客户端,所述客户端执行所述代码并且响应于所述执行过程,从所述客户端将数据传送给所述用于收集关于网络流量的数据的工具。

12.根据权利要求10的装置,其中所述装置包括产生网页的门户,所述网页包括所述网页片段,并且所述门户在所述网页中插入其他用于收集关于网络流量的数据的代码。

13.根据权利要求10的装置,其中所述装置包括:用于收集关于网络流量的数据的代码的代码库;以及用于插入用以收集关于网络流量的数据的代码的生成器,其中所述插入的代码调用所述代码库中包括的函数。

说明书 :

分析网站流量的方法和装置

技术领域

[0001] 本发明涉及网络通信领域,更特别地,本发明涉及分析门户(portal)的网络流量的方法和装置。

背景技术

[0002] 网站流量分析是收集和分析关于网站的流量的数据以确定网站使用模式并帮助衡量站点性能和效果的过程。分析过程可以检查站点访问者的总数、所访问站点的部分、访问的期间以及与站点交互的详细情况,例如访问产生的搜索询问。网站流量分析对于网站有效地发挥功能非常重要。据估算,网站流量分析业务一年的总额可能超过十亿美元。
[0003] 网站流量分析可以通过创建包含每个超文本传输协议(HTTP)请求或网站服务器点击的条目的日志来实现。日志条目可以用于产生有关点击数量、访问者、访问者期间、访问者来源(例如子域、推荐链接)、访问者IP地址、浏览器类型和版本、平台、cookie以及与网站交互的详细情况的信息。也可以通过创建在网站所访问的链接或统一资源定位符(URL)的记录实现网站流量分析。
[0004] 网络服务器可以使用门户架构。在此架构中,被称为portlet的多个应用整合为可定制的单一应用,称为门户。多个portlet提供的内容可以在一个页面上显示,并且用户可以与页面上的单个portlet交互而不会影响该页面中其他portlet的状态。portlet可以是本地的,由网络服务器运行,或者是远程的。门户的远程portlet可以由与运行门户的企业不同的企业运行。例如,portlet可以向大量不相关的门户提供天气信息。
[0005] 传统的网站流量分析方法可能无法获得关于门户的网站使用的关键信息。要了解门户站点的使用,以下数据对于分析可能是有用的:
[0006] 所显示的门户页面的名称,
[0007] 页面上所有portlet的名称,
[0008] 页面上portlet的状态(正常、最小化、最大化等),
[0009] 关于页面上每个portlet的内部和特定状态的多种数据,以及使用门户的用户的用户ID。
[0010] 使用传统网站流量分析的方法时,上文所列数据可能并不可用。例如门户服务器产生的网页可能不会显示该页面为门户页面。页面可以由包含对应于portlet的片段的超文本标记语言(HTML)页面构成。网站服务器不会将能够轻易提取的有关门户环境、门户页面或单个portlet的信息放到HTML页面中。portlet本身可以以没有标记的嵌套表来显示。因此通过页面可能难以确定用户和单独portlet之间交互的详细情况。并且,依赖服务器URL的记录可能也有问题。服务器URL可能动态程度很高,其反映portlet响应于用户动作的内容变化。这样,在执行分析时日志记录的URL可能已经不存在了。并且,URL可能不会显示所浏览页面状态的所有相关信息。而且,依赖服务器收集有关网站流量的数据,可能错过对缓存页面的再次访问。这些页面可以通过从缓存中读取而再次加以浏览,而不需要对服务器再次提出HTTP请求。
[0011] 另外,在传统网站流量分析方法中,整合所收集的数据可能非常困难。关于网站流量的数据可能被写入多个日志文件,而没有通用标识符将这些数据联系到一起。并且门户产生服务器创建的日志可能消耗大量的门户存储空间或者可能需要占用门户的大量计算资源。并且门户可能不会及时将日志传递给网站流量分析供应商。

发明内容

[0012] 分析门户的网站流量的方法和装置可以在很大程度上解决上述问题。一个实施例提供了分析门户的网络流量的方法。所述方法可以包括portlet从门户接收对网页内容的请求。该方法也可以包括portlet响应于请求产生网页片段。所述片段可以包括用以执行以下操作的代码:从客户端收集关于portlet的网络流量的数据,并且将所述数据传送给用于收集关于门户和portlet的网络流量的数据的工具。所述方法也可以包括将所述片段传回给所述门户。
[0013] 另一个实施例包括分析门户的网络流量的方法。所述方法可以包括请求网页内容。所述请求可以由门户向portlet提出。所述方法也可以包括接收响应于所述请求的网页片段。门户可以从portlet接收所述片段。所述片段可以包括用以执行以下操作的代码:从客户端收集关于portlet网络流量的数据,并且将所述数据传送给用于收集关于门户和portlet网络流量的数据的工具。所述方法也可以包括由门户产生一个网页。所述网页可以包括网页的片段。所述方法还可以包括将网页传送给客户端。

附图说明

[0014] 通过参考附图阅读下文的详细描述可以理解本发明的各个方面。附图中相同的单元使用相同的参考标号。
[0015] 图1示出了分析门户的网站流量的系统的网络图;
[0016] 图2示出了能够在网页片段中插入代码以收集关于网络流量的数据的计算机的实施例;
[0017] 图3示出了能够在网页片段中插入代码以收集关于网络流量的数据的portlet的实施例;
[0018] 图4示出了分析门户的网站流量的实施例的流程图;以及
[0019] 图5示出了门户产生的示例性网页的布局。

具体实施方式

[0020] 以下参照附图具体描述本发明的实施例。对实施例的具体描述是为了明确地说明本发明。然而,所提供的具体内容目的不在于限制本发明预期的变型;相反,其目的在于涵盖所有在所附权利要求所限定的本发明主旨和范围内的变更、对等形式以及替代形式。下文的详述是为了让本领域普通技术人员能够理解这样的实施例。
[0021] 一般而言,本发明涉及分析门户的网络流量的方法和装置。实施例包括变换、代码、状态机或其他逻辑,其通过portlet从门户接收对网页内容的请求,分析门户的网络流量。实施例也包括portlet响应于请求而产生网页片段。片段可以包括用以执行以下操作的代码:从客户端收集关于portlet网络流量的数据,并且将数据传送给用于收集关于门户和portlet网络流量的数据的工具。实施例也可以包括将片段传回给门户。
[0022] 一些实施例可以包括请求网页内容。该请求可以由门户向portlet发出。实施例也可以包括接收响应于请求的网页片段。门户可以从portlet接收片段。片段可以包括用以执行下述操作的代码:从客户端收集关于portlet网络流量的数据,并且将数据传送给用于收集关于门户和portlet网络流量的数据的工具。实施例也可以包括由门户产生网页。网页可以包括网页片段。实施例也可以包括将网页传送给客户端。
[0023] 尽管下文是参照特定的电路或逻辑配置描述特定的实施例,本领域的技术人员将能够理解,本发明的实施例可以有利地使用其他基本对等的配置实施。
[0024] 图1示出了能够分析门户的网络流量的网络系统100的实施例。系统100包括网络105,通过有线连接107连接到网络105的门户服务器106,通过有线连接115连接到网络105的portlet服务器110,以及能够浏览门户服务器106产生的网页的各种客户端设备,包括:
[0025] 通过有线连接125连接到网络105的计算机,工作站120,
[0026] 通过无线连接135连接到网络105的个人数字助理(PDA)130,
[0027] 通过有线连接145连接到网络105的个人计算机140,
[0028] 通过无线连接155连接到网络105的膝上型计算机150;以及
[0029] 通过无线连接165连接到网络105的移动电话160。
[0030] 网络105可以由互联网或另一个广域网、一个局域网或网络的组合构成,可以在门户服务器107、portlet服务器110、客户端设备120、130、140、150以及160之间提供数据通信。门户服务器106可以为门户产生网页。门户是聚合从本地或远程数据源例如数据库、交易系统和联合内容供应商获取的信息的网站。门户可以将这些信息聚合到复合页面中。网页可以包括显示远程源内容的框架。用户能够定制门户产生的网页的外观并且能够选择门户提供的内容。门户服务器106可以运行IBMWebSphere Portal Server Version6.0。
[0031] 门户服务器106产生的页面可以接收客户端设备如客户端设备120、130、140、150和160的点击,这些客户端设备可以请求portlet服务器110提供的网页内容。门户服务器106可以请求网页内容。作为响应,portlet服务器110可以产生一个网页片段并将该片段传送给门户服务器106。
[0032] portlet服务器110可以运行portlet。术语portlet可以指小型门户应用。portlet可以作为可重复使用的组件来提供对企业应用、基于网络的内容、主机和数据系统、内容管理系统、过程驱动的工作流应用以及其他资源的访问。可以通过portlet访问网页、网络服务、应用和联合内容提要。响应于门户服务器106的网页内容请求,portlet服务器110可以产生网页片段。portlet服务器110可以在片段中包括用以执行以下操作的代码:从客户端收集关于portlet网络流量的数据并将数据传送给用于收集关于门户和portlet网络流量的数据的工具。
[0033] portlet的运行由两组标准规定。结构化信息标准促进组织(OASIS)发布的 Web Services for Remote portlets Specification 1.0 版 (2003 年 9 月 3 日 )(WSRP规范)描述了门户和portlet之间通信的格式。在该规范中,网络服务产生的内容可以被转换成适当的格式用于portlet输出并且传送给门户。类似地,Java portlet Specification(JSR-168)(2003年10月)是Java Community发布的适用于Java语言中运行的portlet的标准。这两个标准是互补的。在Java中运行的portlet可以遵循两个标准。
[0034] 图1示出的组成示例性系统的服务器和其他设备的布置是解释性而非限制性的。用于分析网络流量的数据处理系统可以省略一个服务器。用于分析网络流量的数据处理系统可以包括图1中未示出的本领域技术人员可能碰到的其他服务器、路由器、其他设备以及对等体系结构。例如,其他服务器可以提供网络服务。这些服务器的输出可以转换成适当的格式用于portlet。类似地,其他服务器可以执行Java函数或提供代码库。这种数据处理系统中的网络可以支持很多数据通信协议,包括如TCP(传输控制协议)、HTTP(超文本传输协议)、WAP(无线接入协议)、HDTP(手持设备传输协议)以及本领域技术人员可能用到的其他协议。本发明的各种实施例还可以在图1所示以外的多种硬件平台上实施。
[0035] 现在参照图2,图2示出了能够分析门户的网络流量的计算机200的实施例,其包括由系统总线275连接的随机访问存储器(RAM)205、处理器235或CPU、非易失性存储器240、通信适配器260以及输入/输出(I/O)接口适配器270。RAM 205中存储portlet模块210和操作系统225。portlet模块210可以包括用于产生网页片段并将其传送给门户的计算机程序指令。portlet模块210包括接收器215,其从门户接收网页片段请求;生成器220,其响应于请求产生网页片段并在网页片段中插入代码。代码可以从客户端收集关于portlet的网络流量的数据并将数据传送给用于收集关于门户和portlet的网络流量的数据的工具。
[0036] 操作系统225可以包括UNTXTM、LinuxTM、Microsoft WindowsTM、AIXTM、IBM公司的i5/OSTM或本领域技术人员可能遇到的其他对分析门户的网络流量有用的操作系统。portlet模块210、接收器215、生成器220和操作系统225在图2的RAM 205中示出,但是这类软件的很多组件也可以存储在非易失性存储器240中。此外,虽然这样的组件示出为同时存在于RAM中,在其他实施例中,在任何时间可以只有部分RAM 205的组件存在。
[0037] 非易失性计算机性存储器240可以是硬盘驱动器245、光盘驱动器250、电可擦除可编程只读存储器空间(EEPROM或闪存)255、RAM驱动器(未示出)或本领域技术人员可能用到的任何其他类型的计算机存储器。通信适配器260可以实现硬件级别的数据通信,通过通信适配器260,一台计算机可以直接地或通过网络向其他计算机例如其他计算机265发送数据通信。这种数据通信可以通过RS-232连接、通过外部总线如USB、通过数据通信网络如IP网络以及本领域技术人员可能用到的其他方式串行地实现。本领域技术人员可能用到的对分析门户的网络流量有用的通信适配器的例子包括用于有线拨号通信的调制解调器、用于有线网络通信的以太网(IEEE 802.3)适配器以及用于无线网络通信的802.1lb适配器。
[0038] I/O接口适配器270通过例如用于控制对显示设备如显示设备280的输出以及控制来自用户输入设备290的用户输入的软件驱动器和计算机硬件实现面向用户的I/O。用户输入设备290可以包括键盘和鼠标。某些实施例可以包括其他用户输入设备例如语音翻译器、条形码扫描器、文本扫描器、手写板、触摸屏和/或其他形式的用户输入设备。
[0039] 图2示出的计算机和组件是示例性而非限制性的。在一些其他实施例中,嵌入系统和其他支持网络的装置可以响应于门户的请求而产生页面片段,并且可以在网页片段中插入用以收集关于网络流量的数据的代码。在很多其他实施例中,portlet模块、接收器和生成器可以以硬件、固件或状态机实施或者可以构成操作系统的组件。
[0040] 现在参照图3,图3示出的portlet 300的实施例包括接收器305、内容生成器310、片段生成器325和发送器340。接收器305可以从门户接收对网页片段的请求。接收器305可以以硬件或软件实施。例如,portlet上的接收器可以包括网络接口卡、USB接口或PCI(互连外围设备)卡上的终端适配器。接收器305可以接收各种形式的页面片段请求,例如HTTP请求或网络服务请求。
[0041] 内容生成器310可以产生portlet 300产生的网页片段所包含的内容。内容生成器310包括内容请求器315。内容请求器315可以从外部源例如提供天气信息或股价的网络服务获得内容。在其他实施例中,内容生成器310自身可以产生内容。例如内容生成器310可以由数据库构成。
[0042] 片段生成器325包括片段制造器330和代码插入器335。片段制造器330可以响应于门户的请求产生网页片段。片段的内容可以由内容生成器310提供。例如片段制造器330可以将内容生成器310提供的内容打包成一个HTML片段。代码插入器335可以在片段制造器330所产生的网页片段中插入用以收集关于网络流量的数据的代码。代码也可以将数据传送给用于收集关于门户和portlet 300的网络流量的数据的工具。
[0043] 发送器340可以根据门户和portlet 300间达成的协议,将片段生成器325所产生的网页片段传送给发出请求的门户。协议可以遵循WSRP标准、JSR 168标准或同时遵循这两个标准。发送器340可以以硬件或软件实施。
[0044] 图3是阐释性而非限制性的。其他实施例可以包括有不同子模块的不同模块。在很多实施例中,portlet可以包括用以收集网络流量数据的函数的代码库。代码库可以由Java类库或Java标签库构成。在一些实施例中,片段制造器330和代码插入器335可以构成一个单一模块。
[0045] 图4示出了分析门户的网络流量的实施例的流程图。图4的流程图400包括从客户端接收点击(步骤405)。点击可以代表一个最终用户通过使用网络浏览器向门户请求网页内容。点击可以是请求由portlet提供给门户的数据。例如,用户可以点击网页的一部分,该部分代表访问由portlet提供的内容,例如图5所示网页的一部分。
[0046] 现在参照图5,图5示出了根据图4的方法由门户产生的示例网页500的布局。门户网页500的布局包括浏览器控件502、主题505、面板510、515、520和525以及portlet内容530、535、540和545。浏览器控件可以包括浏览器界面对象例如标题、菜单栏、地址栏、导航图标、页面打印和页面保存。主题505包括未被浏览器控件、portlet内容和面板占据的网页部分。主题505可以提供门户页面500的外观和布局,包括颜色、字体和图像,并且可以在门户页面内提供导航。例如,主题500区域可以包括边界和标题、导航标签、导航树和其他页面级别的文本和图形。一个标签栏可以代表多个屏幕。用户可以点击标签栏中的标签以到达特定的屏幕。
[0047] 面板510、515、520和525可以显示portlet提供的内容的区域边界。面板510、515、520和525可以包括标题栏、标题栏控件、用于与portlet交互的工具栏和菜单。面板也可以包括用于改变portlet显示状态的控件。控件可以允许最终用户将分配给portlet的显示最小化、将显示最大化到门户页面500的整个区域或者使用图5所示的portlet内容的正常显示。
[0048] portlet内容530、535、540和545代表portlet内容的显示区域。例如,门户页面可以显示天气、最新体育新闻、股价和电子邮件等来自门户的内容。最终用户可以通过点击portlet内容530、535、540和545的区域与portlet交互。作为交互的结果,最终用户可以从portlet请求数据或其他内容。数据请求从门户传送给portlet。例如,最终用户可以点击区域内的链接以访问该链接所代表的网页,或者可以输入搜索词并键击回车以执行对portlet所提供的数据的搜索。
[0049] 在portlet内容530、535、540和545中显示portlet内容的portlet可以从门户接收对网页内容的请求。portlet可以响应于请求产生网页片段用于在其中一个portlet内容区域中显示。portlet可以在片段中插入代码。代码可以从客户端收集关于portlet网络流量的数据并且将数据传送给用于收集关于门户和portlet网络流量的数据的工具。portlet也可以将网页片段传送给门户。
[0050] 回到图4,门户可以向portlet发送网页内容请求(步骤410)。例如,最终用户可以通过点击门户网页上显示portlet内容的部分例如图5中的portlet内容区域之一,从而从portlet请求信息。门户可以将信息请求传送给portlet。portlet可以响应于请求产生一个网页片段(步骤415)。片段可以包括标记语言,一种网页编写格式。标记语言是包括用于定义表达式的文本和标记的语言。
[0051] 网页使用最广泛的标记语言可能是超文本标记语言(HTML)。HTML通过包括如格式化、在页面上的定位和页面结构这样的信息,用于描述网页的文本如何在页面上显示。HTML也可以包括与由统一资源定位符(URL)标识的其他网络资源的链接。URL是定义到特定信息的通信路径的特定语法标识符。客户端可以访问的每个信息逻辑块都由一个URL标识。URL为查找和访问这些信息提供通用和统一的方法。
[0052] portlet可以在网页片段中插入用以收集关于网络流量的数据的代码(步骤420)。例如,portlet插入的代码可以收集关于最终用户和客户端之间交互的数据,例如提供给portlet的搜索词。在某些实施例中,代码可以封装在最终用户和portlet之间的交互中产生的数据;也就是说,代码可以在其指令中包括特定的数据。例如代码可以等同于如下指令:
[0053] report_to_Collector(attribute″search_term″″IBM″)
[0054] 当浏览器执行这个假设的指令时,可以使浏览器向数据收集工具报告:响应于向portlet传送搜索词“IBM”,浏览器收到了一个网页。
[0055] 在其他实施例中,代码可以向浏览器提供更多一般指令,以从网页或从其他源获取数据。例如代码可以指示浏览器报告网页中包含的所有URL。代码也可以指示浏览器收集关于门户页面、portlet页面内的portlet显示的信息以及关于portlet不可用的portlet页面的其他信息。在图5的术语中,代码可以实现(instrument)门户页面的主题和面板。
[0056] 在一些实施例中,portlet可以直接产生包括由浏览器执行以收集关于网络流量的数据的代码的网页片段。在这些实施例中,代码可以使用浏览器所支持的各种编程语言编写。这些一般目的的客户端浏览器语言包括JavaScript、Microsoft版本的JScript以及ECMA版本的ECMAScript(供欧洲计算机制造商协会);基于Visual Basic的VBScript;层叠样式表单(CSS);以及Java applet。Java applet是加载到Java虚拟机上的应用程序。特定的HTML标签可以调用浏览器插件以加载这些applet。
[0057] 在其他实施例中,portlet可以向门户提供如何产生片段的指令。例如portlet可以产生由门户执行以产生网页片段的代码以及用于浏览器的代码。portlet产生的代码可以由例如Java代码组成。可以提供类库以简化代码的编写。
[0058] 替代地,代码可以由JavaServer pages(JSP)构成。JSP可以提供一种创建动态网页的便利方式。JSP由代表网页的HTML部分组成,其中标签代表Java代码。执行代码可以修改构成网页的HTML或者可以执行其他动作。以下是JSP一部分的例子:
[0059] <%
[0060] for(int i=0;i<3;i++){
[0061] %>
[0062]
[0063] ″column 1″
[0064] ″column 2″
[0065]
[0066] <%}%>
[0067] 标签(开始和结束标记)“<%”和“%>”标记Java代码。第二行代码是重复三次的循环,变量“i”从0变化到2。从第4行到第7行“”标签之间所包括的JSP的下一部分由可以打印表格列标题的HTML构成。JSP的最后一行是Java代码的另一个片段,是与第2行的左括号相对应的右括号。
[0068] 也可以提供通过在JSP中插入标签调用的标签库和定制动作库,以简化用以收集数据的代码的生成。获取数据的调用的例子编写如下:
[0069]
[0070] 其中getDate是标签库中定义的一个函数。
[0071] JSP标签库和Java类库可以使得在JavaScript或其他浏览器语言中产生用于收集关于门户网络流量的数据的代码。Java类库可以提供代码以实施标签库并且允许portlet内容Java代码在无需使用JSP的情况下传递数据。由于在门户页面的每个级别上都有不同的数据,JSP标签库可以包括以下标签:
[0072] ·主题标签:收集页面标题和用户ID,并且插入JavaScript调用以向收集服务器发送数据
[0073] ·面板标签:收集和外部化portlet标题和portlet状态(是否最小化)[0074] ·portlet内容标签:收集和外部化任意portlet数据,包括替代标题、动作和参数。
[0075] Java类库可以包括提供相似功能性的类。JavaScript代码库可以包括由标签库和Java库使用的、用于为每个门户页面的每个片段保存数据的函数。JavaScript代码库也可以包括向数据收集工具发送所收集数据的函数。
[0076] 图4的方法也包括产生包括片段的网页(步骤425)。门户可以执行来自portlet的代码以产生代表网页片段的HTML,并且可以用其他HTML对片段进行补充以产生完整的网页。在图5的网页的例子中,门户可以从portlet接收描述portlet内容区域530、535、540和545的内容的网页片段。门户可以用描述主题区域505的内容以及面板区域510、
515、520和525的内容的HTML对片段进行补充。在某些实施例中,portlet内容可以以代表整个页面的HTML中的嵌套表形式表达。
[0077] 门户可以在网页中插入用以收集有关网络流量的数据的附加代码(步骤430),以补充需要由portlet产生的代码所要收集的数据。在来自portlet的代码缺失的情况下,门户可以插入用以从门户页面的主题收集页面级别数据的代码,这些数据例如当前页(在页面包含标签栏时被选定的标签)、所显示的门户页面的名称以及最终用户的用户ID。例如可以要求最终用户登录到门户页面。类似地,在来自portlet的代码缺失的情况下,门户可以插入用以收集面板级别的数据例如页面上所有portlet的名称以及页面上portlet的状态(正常、最小化或最大化)的代码。
[0078] 客户端可以执行portlet和门户插入到网页中的代码(步骤435)。客户端可以是网络浏览器或其他最终用户使用的用于访问门户页面的应用。执行代码的结果可以是获取有关客户端、门户和portlet之间交互的信息并且将信息打包成单一的文件。当最终用户再次访问缓存的网页时,可以产生文件或其他有关门户网站流量的数据。无需与门户另外的接触即可获取缓存的网页。
[0079] 有关网站流量的数据可以从容户端传送给数据收集代理(步骤440)。随后数据收集代理可以分析数据并且将数据传送给相关方例如portlet和门户。在很多实施例中,数据收集代理与门户可以是分离的。在一些这样的实施例中,图4所示的方法允许向portlet传送有关网络流量的数据而无需由门户转发数据。
[0080] 如果有另外的来自客户端对门户页面的点击,可以重复流程图400中从步骤405到步骤440的每一个步骤。否则,对门户的网络流量的分析结束。
[0081] 本发明可以采取完全硬件实施、完全软件实施或包括硬件和软件元素的实施形式。在优选实施例中,本发明以软件实施,其包括但是不限于固件、驻留软件、微码等。
[0082] 并且,本发明可以采取用于分析门户的网络流量的计算机程序产品的形式,计算机程序产品可以通过计算机可用介质或计算机可读介质访问,介质提供程序代码供计算机或任何指令执行系统使用或与之结合使用。出于描述的目的,计算机可用介质或计算机可读介质可以是任何包含、存储、传送、传播或传输程序的装置,供指令执行系统、装置或设备使用或与之结合使用。
[0083] 介质可以是电子的、磁的、光学的、电磁的、红外的或半导体系统(或者装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。目前光盘的例子包括只读光盘(CD-ROM)、可读/写光盘(CD-R/W)以及DVD。
[0084] 适于存储和/或执行程序代码的数据处理系统包括至少一个直接或通过系统总线间接连接到存储器元件的处理器。存储器元件可以包括实际执行程序代码时使用的本地存储器、大容量存储器以及高速缓冲存储器,高速缓冲存储器为至少某些程序代码提供临时存储,以减少在执行过程中从大容量存储器读取代码的次数。
[0085] 输入/输出或I/O设备(包括但不限于键盘、显示器、指针设备等)可以直接地或通过居间I/O控制器连接到系统。
[0086] 网络适配器也可以连接到系统,使数据处理系统通过居间私人或公共网络实现与其他数据处理系统或远程打印机或存储设备的连接。调制解调器、缆线调制解调器和以太网卡是目前可用的网络适配器类型中的几种。
[0087] 本领域的技术人员通过本说明书可以理解本发明涉及的分析网站流量的方法和装置。可以理解具体实施方式和附图中所描述和所示出的本发明形式仅为例子。对所附的权利要求应当做广泛的解读以涵盖所公开的示例性实施例的所有变型。
[0088] 尽管就某些实施例已经详细描述了本发明及本发明的一些优势,但应当理解,在不背离权利要求中限定的本发明的精神和范围的前提下,可以进行各种改变、替代和变化。尽管本发明的一个实施例可以达到多个目的,并非权利要求书范围内的每个实施例都能达到每个目的。而且,当前应用的范围并不受限于本说明书中描述的过程、机器、制造、物质组合、装置、方法和步骤的实施例。本领域的技术人员通过本发明的本说明可以理解,根据本发明可以使用现有的或者将来开发的基本执行同样功能或基本实现与本文所描述的相应实施例同样结果的过程、机器、制造、物质组合、装置、方法和步骤。相应地,所附的权利要求的范围包括这样的过程、机器、制造、物质组合、装置、方法或步骤。