在门户中有效处理导航状态的方法和系统技术方案

技术编号:2841671 阅读:211 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供有效处理导航状态的方法和系统,其将最新导航状态分为基本导航状态部分和增量导航状态部分。基本导航状态描述在所有URL中相同的最新导航状态的那部分,并被编码在将被提交到客户机的浏览器的页面标记的报头中。增量导航状态部分描述特定URL的语义,并被编码在其相关的URL中。使用这种URL的每个用户交互使浏览器提交基本部分和增量部分。在服务器侧,基本部分和增量部分被合并以产生新的导航状态,作为呈现新的页面的基础。导航状态被表示为分级树型结构,其被有效地串行化并通过现有压缩技术进行压缩。由于避免了导航信息的类型转换,因此节省了处理时间。另外,本发明专利技术还包括减少必须被串行化的信息的数量的策略。

【技术实现步骤摘要】

本专利技术涉及一种用于在门户应用中有效处理导航状态的方法、系统和计算机程序产品,特别地,涉及减小门户页面的标记大小,减小URL长度,以及减少生成作为门户页面一部分的URL所需要的处理时间。
技术介绍
如本专利技术所使用的,导航状态描述“作为特定客户机的所有导航交互的结果的门户的当前视图”。客户机可以通过与门户页面交互,例如导航到新的页面,而请求(查询)不同的视图。这种类型的交互不改变服务器侧的状态,而只是向服务器请求新的视图;因此,在HTTP方面,这是“安全的”操作。该交互的特征是客户机可以使用其浏览器的向前和向后按钮向前和向后导航该交互的最近的视图,并且客户机可以用书签标记视图并在稍后的时间点通过调用浏览器书签返回到这些视图。HTTP的一个主要特征在于它是无状态协议,即,在HTTP中不存在跨越多个请求/响应交互的会话的概念。但是,由于几乎所有的应用场景都要求某些机制在整个请求中保存其状态,因此已经出现了一些机制,其考虑创建(逻辑的)有状态的会话并且可确定地被当作现有技术的状态。两种最流行的现有技术的状态保存机制如下所述为了在客户机(通常是浏览器)和服务器之间启动逻辑会话,服务器向客户机返回额外的“set-cookie”响应报头,其主要包含名值对。客户机在文件中持久地存储该cookie,并将其与服务器的URL相关联。对于每个请求,客户机使用“cookie”请求报头将该cookie返回到服务器。通过分析cookie,服务器(不是HTTP服务器,而是诸如小服务程序(servlet)或CGI的应用程序或服务器侧脚本)可以识别包含所需要的状态信息的用户专用的会话。注意,cookie还考虑在整个会话边界上保持状态,因为在客户机上的持久的cookie文件通常比在服务器上的对应会话的存在时间长。第二种变形在服务器和客户机之间交换整个状态信息。服务器使用(HTML)表单的隐藏输入文件将状态存储在所请求的页面的标记中。另外,该应用确保页面标记中的每个URL都启动一个表单提交,使得作为隐藏输入字段的一部分的状态与该请求一起流到HTTP服务器。在当今的Web应用中,使用以上简述的机制之一,甚至导航状态都在整个请求中被大部分保存。然而,这两种方法在书签能力、高速缓存、向后/向前按钮和由搜索引擎索引(“爬行能力”)方面,都具有一些主要缺点。在逻辑服务器侧HTTP会话(例如通过cookie识别的)中存储导航状态具有以下不足由于在服务器侧会话中保存的导航状态仅有有限的生存期,因此浏览器书签不起作用。通常,在一段不活动的时间后,会话中止。在会话中止后,导航状态不能在服务器上还原,即,服务器将传送应用的缺省视图。使用浏览器的向后和向前按钮向后和向前导航最近的视图不起作用。注意,在那种情况下,只要保持会话,状态就不会丢失,但是向后和向前按钮的操作不对该状态产生任何影响。由于这样的高速缓存器通常使用URL作为其高速缓存键(cache key),所以高速缓存(浏览器侧、服务器侧和代理高速缓存)的好处被极大地降低。用几乎每一个交互重写高速缓存器条目,导致几乎为零的高速缓存器命中率。Web搜索引擎不能很好地索引站点。搜索引擎通过存储有关其从Web本身检索的大量Web页面的信息而工作。这些页面通过被称为“网络爬虫(Web crawler)”的Web浏览器检索,该Web浏览器跟随其在页面上看到的每一个URL(分别在标记中)。在HTML表单的隐藏输入字段中存储导航状态具有较少的缺点,但是它也不能解决上述的所有问题。只要各个页面被高速缓存,书签能力就起作用。向后和向前按钮起作用。仍存在高速缓存和爬行能力(crawlability)问题。注意,由于该机制要求页面级的表单,因此依赖于隐藏输入字段的状态管理不能应用于门户区域。然而,页面级表单不能被使用,符合JSR168的标记的门户小程序(portlet)也可以使用HTML表单,从而导致嵌套的表单(这是HTML标准禁止的)。
技术实现思路
本专利技术的目的是提供一种用于有效地对门户的导航状态编码的方法、系统和计算机程序产品,以避免现有技术中存在的不足。本专利技术提供一种用于通过将导航状态分为基本导航状态部分和增量导航状态部分而有效地处理导航状态的方法、系统和计算机程序产品。基本导航状态描述在所有URL上相同的最新导航状态的那部分,其被编码在将被提交到客户机的浏览器的页面标记的报头中。增量导航部分描述特定URL的语义,其被编码在其相关的URL中。每个使用这种URL的用户交互使浏览器提交基本部分和增量部分。在服务器侧,基本部分和增量部分被合并以产生新的最新导航状态,作为呈现新页面的基础。新的最新导航状态被表示为分级树型结构,其可以被有效地串行化并通过现有技术的压缩技术压缩。分级树型结构基于根据状态串行化优化的定义明确的状态模型。状态模型将所包含的导航状态信息安排在基于字符的信息中。由于避免了导航状态信息的类型转换,因此节省了处理时间。另外,本专利技术包括减少必须进行串行化的信息的数量的其它策略。附图说明在下面详细描写的说明书中,本专利技术的上述以及其它目的、特征和优点将会很清楚。在所附的权利要求书中陈述本专利技术的新颖的特征。然而,当结合附图进行阅读时,通过参考下面对示意性实施例的详细说明,本专利技术本身以及最佳实施方式、其它目的和优点将会得到很好的理解,其中图1示出门户的屏幕快照,其中构成该特定视图的导航状态的多个UI部分被突出显示;图2A示出用于实现本专利技术的优选门户结构;图2B示出在根据图2A的门户中根据本专利技术的有效处理导航状态的方法的优选实施例的交互图;图2C-D示出根据本专利技术的导航状态(状态文件)的示意性表示;图2E示出用于如图2D所示的状态文件的示意性映射表;图2F示出根据本专利技术的修改后的状态文件;图2G示出根据本专利技术的优选实施例的记录状态修改的增量代理方法。具体实施例方式当今的Web应用变得越来越复杂,特别是在几个组件(门户小程序)被合并成更大的门户应用的门户环境中。这引起了这样的问题,即,“描述”Web应用的某个视图的导航状态变得相当冗长。例如,在门户环境中,必须集合所有与用户交互的portlet的导航状态。本专利技术提供一种用于有效地处理导航状态的方法,与现有技术的方案相比,其具有如下的优点1)减小的标记大小将导航状态编码到每个URL中会带来这样的风险,即,极大地增加了必须传送到客户机的标记的大小。本专利技术将避免这种情况。2)减小的URL长度不考虑标记大小,保持单个URL尽可能地短也是重要的。HTTP将URL的最大长度限制为2KB。如果超过这个限度,则接收这个长URL的代理服务器通常会将该URL缩短为2KB。本专利技术确保不会超过这个限度。3)减少的URL生成时间现有技术的导航状态处理包括提供许多URL的页面(每个页面几百个URL不是异常的)。因此,生成URL所需要的处理时间对整个服务器侧呈现时间有很大的影响,并进而影响门户的整体性能。本专利技术使处理时间保持尽可能地短,特别是将(复杂的)导航状态串行化到URL中所需要的时间,因为这对于满足在服务器侧处理时间方面的性能要求是至关重要的。本专利技术描述如何通过使用如权利要求1所述的增量编码方法实现上述有关标记大小、URL长度和URL生成处理时间的优点。本专利技术的基本思想-增量编码-是将U本文档来自技高网
...

【技术保护点】
一种用于在门户中有效地对导航状态编码的方法,其中,所述门户在服务器系统中运行;其中所述服务器系统包括通信组件,其允许通过通信信道在所述门户和客户机的浏览器之间进行通信;其中所述门户确定所请求的门户页面的布局,调用属于所述门户页面的各个页面单元的呈现,并将所述门户页面传输到所述客户机的浏览器以显示,其中所述门户页面的至少一个页面单元提供用于由所述门户初始化呈现新页面或者新页面单元的URL功能,其中每个用户交互通过在所述页面单元点击所述URL而在所述门户侧生成新的导航状态,其中最新导航状态描述作为特定客户机的所有以前的导航交互的结果的所述门户的当前视图,其中所述至少最新导航状态由所述门户保存,其中响应于请求新的门户页面的客户机请求,所述方法的特征在于以下步骤:创建基本导航状态,其描述在所述新的门户页面的所有 URL中相同的所述最新导航状态的那部分;对包括在所述新的门户页面中以呈现并且不包含在所述基本导航状态中的每个URL,创建URL特定的增量导航状态,其描述在所述特定URL被调用时所述特定URL的状态转换;将所述基本导航状态编码 到所述门户页面的报头中一次;将每个URL特定的增量导航状态编码到其所分配的作为所述门户页面的一部分的URL中;以及生成并向所述客户机的浏览器传输响应,其包括用于由所述客户机的浏览器显示的所述新的门户页面。...

【技术特征摘要】
US 2005-12-9 11/299,4501.一种用于在门户中有效地对导航状态编码的方法,其中,所述门户在服务器系统中运行;其中所述服务器系统包括通信组件,其允许通过通信信道在所述门户和客户机的浏览器之间进行通信;其中所述门户确定所请求的门户页面的布局,调用属于所述门户页面的各个页面单元的呈现,并将所述门户页面传输到所述客户机的浏览器以显示,其中所述门户页面的至少一个页面单元提供用于由所述门户初始化呈现新页面或者新页面单元的URL功能,其中每个用户交互通过在所述页面单元点击所述URL而在所述门户侧生成新的导航状态,其中最新导航状态描述作为特定客户机的所有以前的导航交互的结果的所述门户的当前视图,其中所述至少最新导航状态由所述门户保存,其中响应于请求新的门户页面的客户机请求,所述方法的特征在于以下步骤创建基本导航状态,其描述在所述新的门户页面的所有URL中相同的所述最新导航状态的那部分;对包括在所述新的门户页面中以呈现并且不包含在所述基本导航状态中的每个URL,创建URL特定的增量导航状态,其描述在所述特定URL被调用时所述特定URL的状态转换;将所述基本导航状态编码到所述门户页面的报头中一次;将每个URL特定的增量导航状态编码到其所分配的作为所述门户页面的一部分的URL中;以及生成并向所述客户机的浏览器传输响应,其包括用于由所述客户机的浏览器显示的所述新的门户页面。2.根据权利要求1所述的方法,其中,所述基本导航状态和所述增量导航状态在所述门户页面中被编码到串行化表单中。3.根据权利要求2所述的方法,还包括以下步骤接收请求新的门户页面的客户机请求,其包括所述基本导航状态和所述增量导航状态;反串行化所述基本导航状态和所述增量导航状态;将所述增量导航状态和所述基本导航状态合并,产生新的最新基本导航状态;在分级树型对象表示中显示所述新的最新基本导航状态用于串行化;在开始呈现所述门户页面之前,预串行化所述新的最新基本导航状态;以及将所述被预串行化的新的最新基本导航状态包括在所述门户页面的HTML基本标签中。4.根据权利要求2所述的方法,其中,所述每个URL特定的增量导航状态的编码是基于在增量代理对象上运行的串行化方法,所述增量代理对象记录对表示所述新的最新基本导航状态的基本分级树型对...

【专利技术属性】
技术研发人员:S贝尔C洛伊厄F波施
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1