著录项信息
专利名称 | 用于网页的导航方法和系统 |
申请号 | CN200910140990.8 | 申请日期 | 2009-05-15 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2010-11-17 | 公开/公告号 | CN101887444A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 国际商业机器公司 | 申请人地址 | 美国纽约阿芒克
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 国际商业机器公司 | 当前权利人 | 国际商业机器公司 |
发明人 | 孙阳;D·S·梅利克塞蒂安;王志君;刘建 |
代理机构 | 北京市金杜律师事务所 | 代理人 | 王茂华;李辉 |
摘要
本发明提供了一种网站的导航方法和系统。该方法包括:响应于对一网站的访问请求,生成一导航组合的导航根节点;响应于对与所述网站相关联的一Web任务的访问请求,在所述导航根节点上生成与所述Web任务相关联的一任务节点;响应于对Web任务的至少部分子任务的多个请求,依次建立所述任务节点的多个子任务节点,其中,所述任务节点的多个子任务节点与所述Web任务的至少部分子任务分别相关联,并且所述任务节点的多个子任务节点根据所述多个请求的顺序而顺序连接;以及根据所述Web任务的策略对其至少部分子任务节点进行处理。
1.一种网站的导航方法,包括:
响应于对一网站的访问请求,生成一导航组合的导航根节点;
响应于对与所述网站相关联的一Web任务的访问请求,在所述导航根节点上生成与所述Web任务相关联的一任务节点;
响应于对Web任务的至少部分子任务的多个请求,依次建立所述任务节点的多个子任务节点,其中,所述任务节点的多个子任务节点与所述Web任务的至少部分子任务分别相关联,并且所述任务节点的多个子任务节点根据所述多个请求的顺序而顺序连接;以及根据所述Web任务的策略对其至少部分子任务节点进行处理;
其中所述导航组合存储在服务器的一会话中;所述方法进一步包括:
根据所述导航组合,生成导航组合代码;以及
发送所述导航组合代码和所述会话的标识符;
其中,响应于根据所述Web任务的策略对其至少部分子任务节点进行处理,生成更新的导航组合代码,并发送所述更新的导航组合代码和所述会话的标识符。
2.根据权利要求1所述的方法,其中进一步包括:
响应于对与所述网站相关联的另一Web任务的访问请求,在所述导航根节点上生成与所述另一Web任务相关联的另一任务节点;以及
响应于对另一Web任务的至少部分子任务的多个请求,依次建立所述另一任务节点的多个子任务节点,其中,所述另一任务节点的多个子任务节点与所述另一Web任务的至少部分子任务分别相关联,并且所述另一任务节点的多个子任务节点根据所述对另一Web任务的至少部分子任务的多个请求的顺序而顺序连接;
根据所述另一Web任务的策略对其至少部分子任务节点进行处理。
3.根据权利要求2所述的方法,其中进一步包括:根据所述另一Web任务的策略对导航组合的至少部分子任务节点进行处理。
4.根据权利要求1至3中任一项所述的方法,其中所述Web任务的策略禁止其至少一个子任务在一次访问过程中被重复执行;所述根据所述Web任务的策略对其至少部分子任务节点进行处理进一步配置为:根据所述Web任务的策略,响应于Web任务执行完毕,删除所述任务节点的相应的至少一个子任务节点。
5.根据权利要求1至3中任一项所述的方法,其中所述Web任务的策略禁止其至少一个子任务在一次访问过程中被重复执行;其中,所述根据所述Web任务的策略对其至少部分子任务节点进行处理进一步配置为:根据所述Web任务的策略,响应于Web任务执行完毕,将所述任务节点的相应的至少一个子任务节点设置为只读模式。
6.根据权利要求5所述的方法,其中进一步包括:响应于将所述任务节点的相应的至少一个子任务节点设置为只读模式,将所述任务节点的相应的至少一个子任务节点相关联的页面设置为只读模式。
7.根据权利要求1至3中任一项所述的方法,其中,所述Web任务的策略禁止在子任务之间进行循环;根据所述Web任务的策略对其至少部分子任务节点进行处理进一步配置为:在所述导航组合中,对于两个相同子任务节点,仅保留两个相同子任务节点之一并将其设置为当前子任务节点,并删除所述两个相同子任务节点之间的子任务节点。
8.根据权利要求7所述的方法,其中所述两个相同子任务节点具有相同的URL和预定参数值。
9.根据权利要求1至3中任一项所述的方法,其中所述Web任务的策略用于对所述Web任务的至少部分子任务的执行进行限制。
10.根据权利要求1至3中任一项所述的方法,其中进一步包括:响应于所述任务节点的一子任务节点被选定,调用与选定的子任务节点相关联的页面。
11.一种网站的导航系统,包括:
导航根节点生成模块,响应于对一网站的访问请求,生成一导航组合的导航根节点;
任务节点生成模块,响应于对与所述网站相关联的一Web任务的访问请求,在所述导航根节点上生成与所述Web任务相关联的一任务节点;
子任务节点生成模块,响应于对Web任务的至少部分子任务的多个请求,依次建立所述任务节点的多个子任务节点,其中,所述任务节点的多个子任务节点与所述Web任务的至少部分子任务分别相关联,并且所述任务节点的多个子任务节点根据所述多个请求的顺序而顺序连接;以及
节点处理模块,用于根据所述Web任务的策略对其至少部分子任务节点进行处理;
其中,所述导航组合存储在服务器的一会话中,所述系统进一步包括导航组合处理模块,其配置为:
根据所述导航组合,生成导航组合代码;以及发送所述导航组合代码和所述会话的标识符;
其中,响应于根据所述Web任务的策略对其至少部分子任务节点进行处理,所述导航组合处理模块生成更新的导航组合代码,并发送所述更新的导航组合代码和所述会话的标识符。
12.根据权利要求11所述的系统,其中,
所述任务节点生成模块进一步配置为,响应于对与所述网站相关联的另一Web任务的访问请求,在所述导航根节点上生成与所述另一Web任务相关联的另一任务节点;
所述子任务节点生成模块进一步配置为,响应于对另一Web任务的至少部分子任务的多个请求,依次建立所述另一任务节点的多个子任务节点,其中,所述另一任务节点的多个子任务节点与所述另一Web任务的至少部分子任务分别相关联,并且所述另一任务节点的多个子任务节点根据所述对另一Web任务的至少部分子任务的多个请求的顺序而顺序连接;
所述节点处理模块进一步配置为,根据所述另一Web任务的策略对另一任务节点的至少部分子任务节点进行处理。
13.根据权利要求12所述的系统,其中所述节点处理模块进一步配置为:根据所述另一Web任务的策略对导航组合的至少部分子任务节点进行处理。
14.根据权利要求11至13中任一项所述的系统,其中所述Web任务的策略禁止其至少一个子任务在一次访问过程中被重复执行;其中,所述节点处理模块进一步配置为:根据所述Web任务的策略,响应于Web任务执行完毕,删除所述任务节点的相应的至少一个子任务节点。
15.根据权利要求11至13中任一项所述的系统,其中所述Web任务的策略禁止其至少一个子任务在一次访问过程中被重复执行;其中,所述节点处理模块进一步配置为:根据所述Web任务的策略,响应于Web任务执行完毕,将所述任务节点的相应的至少一个子任务节点设置为只读模式。
16.根据权利要求15所述的系统,其中进一步包括页面处理模块,其配置为:响应于将所述任务节点的相应的至少一个设置为只读模式,将所述任务节点的相应的至少一个子任务节点相关联的页面设置为只读模式。
17.根据权利要求11至13中任一项所述的系统,其中,所述Web任务的策略禁止在子任务之间进行循环;所述节点处理模块进一步配置为:在所述导航组合中,对于两个相同子任务节点,仅保留两个相同子任务节点之一并将其设置为当前子任务节点,并删除所述两个相同子任务节点之间的子任务节点。
18.根据权利要求11至13中任一项所述的系统,其中所述Web任务的策略用于对所述Web任务的至少部分子任务的执行进行限制。
用于网页的导航方法和系统\n技术领域\n[0001] 本发明涉及网络页面的浏览技术,尤其涉及用于网站的导航方法和系统。\n背景技术\n[0002] 在过去的二十多年的时间里,随着电子技术的迅猛发展,计算机网络,尤其是互联网的性能和容量发生了爆炸性的增长。很多用户为了达到某种个人目的或商业目的,而与网页服务器进行交互。为此,用户通过互联网浏览和使用多种服务,比如组织会议、订机票、订酒店、查看目的地风俗等。对于组织会议,用户可能需要通过网络系统定会议室、查看参加者的时间和发信通知。对于通过网络订机票,用户可能需要查看机票时间、查看航空公司、确认和付款。在进行上述操作的过程中,用户可能需要重复访问某些网页。因此,需要让网站的层次结构以一种有条理的方式清晰展示给用户,并引导用户毫不费力地找到并管理信息,让用户在浏览网站过程中不至迷失。导航条正是为了便于用户访问的目的而设置的。\n[0003] 在Web应用中设置的导航条,为用户向前或向后浏览网页提供了便利的手段。导航条记录了用户的浏览历史,并将其以直观可视的方式提供给用户。导航条在网站中就是一行层级属性链接组成的线性链接标识,比如:首页>>关于>>招聘>>职位。该导航条可以清晰的显示出页面浏览历史的整体结构中的位置,用户不易迷失,可以直接链接到相应的页面。与网页或浏览器提供的向前或向后浏览功能相比,导航条更加便利,更加符合用户的浏览逻辑。\n[0004] 在新开发的Web任务中,导航条得到了越来越广泛的应用。它通过多种技术手段,为网站的访问者提供一定的途径,使其可以方便地访问到所需的内容,是浏览网站时可以快速从一个页面转到另一个历史页面的快速通道。利用导航条,就可以快速找到曾经浏览过的页面。但是,本发明的发明人注意到,与导航条相关的许多技术问题,在很大程度上限制了对导航条的充分利用。下文简述发明人所认识到的部分问题。\n[0005] 在一Web应用中网页数量往往非常多,并且其中可以进行浏览的路径也非常多。\n静态编码实现导航条的方法,实施起来相对容易,但是受到动态浏览行为的限制。其很难包括网页之间的全部复杂的浏览逻辑。而且,如果网页发生变化或网页之间的链接发生变化,很难对静态编码进行调整以便适应发生的变化。另,除了URL之外,每个网页需要一些状态参数来引导浏览行为。静态编码的方法由于不支持动态参数,无法支持动态的页面功能。\n[0006] 一些网页上进行的操作,不应允许反复执行。例如,对于一次结算过程,执行两次结算是不合理的。因此,在一些情况下,导航条需要避免这种反复操作的机制。\n[0007] 使用cookie插件来存储用户状态的用户端导航条,由于维护用户的一些状态,可以支持一些内容丰富的用户接口。但是,丰富的用户接口使得实施难度较大。浏览器支持cookie的兼容性需要解决。目前,浏览器对cookie的支持是有限的。 存储/读取cookie中的复杂对象较难。例如,用户可能阻止cookie插件,或者对于每个域cookie插件有4K存储容量的限制。对于不允许执行的操作,cookie插件也很难识别并避免执行。\n[0008] 鉴于已有技术的不足,导航条可以用于有效地将网站信息传递给用户。并且,导航条可以具有适当的业务智能,避免导航条为用户提供的导航功能与Web任务中的业务逻辑相冲突。\n发明内容\n[0009] 鉴于已有技术的不足,根据本发明的一实施例,提供了一种网站的导航方法,包括:响应于对一网站的访问请求,生成一导航组合的导航根节点;响应于对与所述网站相关联的一Web任务的访问请求,在所述导航根节点上生成与所述Web任务相关联的一任务节点;响应于对Web任务的至少部分子任务的多个请求,依次建立所述任务节点的多个子任务节点,其中,所述任务节点的多个子任务节点与所述Web任务的至少部分子任务分别相关联,并且所述任务节点的多个子任务节点根据所述多个请求的顺序而顺序连接;以及根据所述Web任务的策略对任务节点的至少部分子任务节点进行处理。\n[0010] 根据本发明的另一实施例,还提供了一种网站的导航系统,包括:导航根节点生成模块,响应于对一网站的访问请求,生成一导航组合的导航根节点;任务节点生成模块,响应于对与所述网站相关联的一Web任务的访问请求,在所述导航根节点上生成与所述Web任务相关联的一任务节点;子任务节点生成模块,响应于对Web任务的至少部分子任务的多个请求,依次建立所述任务节点的多个子任务节点,其中,所述任务节点的多个子任务节点与所述Web任务的至少部分子任务分别相关联,并且所述任务节点的多个子任务节点根据所述多个请求的顺序而顺序连接;以及节点处理模块,用于根据所述Web任务的策略对任务节点的至少部分子任务节点进行处理。\n附图说明\n[0011] 通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显。\n[0012] 图1示出了根据本发明一实施例的导航方法流程图。\n[0013] 图2示出了根据本发明另一实施例的导航方法流程图。\n[0014] 图3示出了根据本发明另一实施例的导航方法流程图。\n[0015] 图4示出了根据本发明另一实施例的导航系统框图。\n具体实施方式\n[0016] 以下参照按照本发明实施例的方法、装置描述本发明。其中,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置(means)。\n[0017] 也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品。\n[0018] 还可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。\n[0019] 图1示出了根据本发明一实施例的流程图。其中示出了一种网站的导航方法100。\n该方法可以在一网站服务器,如Web应用服务器上执行。其中,在步骤S110,响应于对一网站(website)的访问请求,生成一导航组合的导航根节点(breadcrumb root node)。所述网站可以包括多个Web任务,如订票任务、购物任务、预定宾馆任务。这些Web任务分别由相应的应用程序来支持。\n[0020] 在步骤S120,响应于对与所述网站相关联的一第一Web任务的访问请求,在所述导航根节点上生成与所述第一Web任务相关联的一第一任务节点(tasknode)。\n[0021] 在步骤S130,响应于对第一Web任务的至少部分子任务的多个请求,依次建立所述第一任务节点的多个子任务节点,其中,所述第一任务节点的多个子任务节点与所述第一Web任务的至少部分子任务分别相关联,并且所述第一任务节点的多个子任务节点根据所述多个请求的顺序而顺序连接。\n[0022] 其中,所述依次建立所述第一任务节点的多个子任务节点可以进一步包括以下步骤。响应于对所述多个子任务的第一子任务的请求,生成所述第一任务节点的第一子任务节点,用于调用第一子任务页面。响应于对所述多个子任务的第二子任务的请求,在所述第一子任务节点之后生成一第二子任务节点,用于调用第二子任务页面。以及,响应于对所述多个子任务的第三子任务的请求,生成所述第一任务节点的第三子任务节点,用于调用第三子任务页面。其中,所述第一子任务节点、第二子任务节点和第三子任务节点,根据相应的请求顺序而顺序连接。导航组合可以被显示如下。\n[0023] 第一任务\n[0024] 第一子任务->第二子任务->第三子任务\n[0025] 在步骤S140,根据所述第一Web任务的策略对第一任务节点的至少部分子任务节点进行处理。\n[0026] 在用户浏览第一任务的多个子任务节点页面之后,如果需要再次浏览其中的页面,可以选定相应的子任务节点。网站的服务器响应于所述第一任务节点的一子任务节点被选定,调用与选定的子任务节点相关联的页面。根据与该用户的客户端之间的会话中存储的页面状态参数,服务器对页面进行相应的处理或设置。然后,服务器将用户上次进入时的页面发送给该用户的客户端。\n[0027] 本领域的技术人员可以理解,其中,网站的访问请求和第一Web任务的访问请求也可以在一个组合请求中发给网站。此外,网站的访问请求、第一Web任务的访问请求以及第一Web任务的一子任务的访问请求也可以在一个组合请求中发给网站。相应地,网站根据该组合请求中的内容,生成一导航组合的导航根节点、第一任务节点及其子任务节点。\n[0028] 根据本发明的另一实施例,在网站服务器创建的导航组合中还可以创建多个任务节点,以便允许用户在多个Web任务之间进行切换。其中,所述导航方法还可以进一步包括以下步骤。响应于对与所述网站相关联的一第二Web任务的访问请求,在所述导航根节点上生成与所述第二Web任务相关联的一第二任务节点。响应于对第二Web任务的至少部分子任务的多个请求,依次建立所述第二任务节点的多个子任务节点,其中,所述第二任务节点的多个子任务节点与所述第二Web任务的至少部分子任务分别相关联,并且所述第二任务节点的多个子任务节点根据所述多个请求的顺序而顺序连接。根据所述第二Web任务的策略对第二任务节点的至少部分子任务节点进行处理。根据另一实施例,还可以根据所述第二Web任务的策略对第一任务节点和第二任务节点的至少部分子任务节点进行处理。\n[0029] 根据本发明的一实施例,一导航组合可以包括一个或多个任务节点。对于每个任务节点,可以用一个文本行或任务条来显示用户对多个网页的访问历史。其中,可以在网站服务器中以通过创建一数据结构来实现导航组合。导航(Breadcrumb)组合的数据结构的顶级,可以存储用户在浏览网站过程中,开启的所有任务列表。\n[0030] 例如,导航组合的伪码如下:\n[0031] class Breadcrumb combination: //导航组合\n[0032] Task node:List of Task node //任务节点列表\n[0033] Function:\n[0034] StartTasknode(tasknodeToBeAdded:Tasknode) //添加一个任务节点到导航组合(Breadcrumb combination)结构。比如原来用户在订机票,这时候突然想订酒店了。这个时候,这个方法可以被调用,创建一个新的Task并添加到任务列表中。\n[0035] EndTasknode(tasknodeToBeFinished:Tasknode) //结束一个任务节点(由于任务已经完成),将该任务节点从任务节点列表中删去。比如用户订完机票了。\n[0036] SetCurrentTasknode(tasknode:Tasknode)//设置用户正在操作的任务节点\n[0037] class Tasknode //任务节点\n[0038] Members:\n[0039] Subtasknodes:List of Subtask node //子任务节点列表\n[0040] Function:\n[0041] AddNewSubtasknode(node:Subtasknode) //在任务节点中,加入一个新的子任务节点,比如订机票时,在选择航空公司页面,点击确认。则一个反映确认页面的子任务节点会被加入到任务节点结构中。\n[0042] RemoveSubtasknode(node:Subtasknode) //可以用于用户回退,比如从确认页面,退回航空公司页面,那么那个确认页面的子任务节点就可以被删除。\n[0043] ResetToSubtasknode(node:Subtasknode) //对于多个子任务节点,回滚到指定子任务节点。\n[0044] class Subtasknode //子任务节点\n[0045] Members:\n[0046] GetParameterInformation: Map //存储当前子任务节点被访问时,Get参数的状态\n[0047] PostParameterInformation: Map //存储当前子任务节点被访问时,Post参数的状态\n[0048] 与子任务节点相应的页面状态可以由服务器维护,客户端存在一个会话的标识符,通过这个会话标识符就可以到服务器获取会话中存储的信息。响应于用户端访问网站服务器,服务器可以与用户端建立Http会话,并分配唯一的会话标识符。其中,服务器还为该会话分配会话存储空间,并管理该会话。会话存储空间中的数据可以在该会话中共享。建立会话之后,用户端与服务器的请求和响应中使用会话标识符进行通信,并调用会话存储空间中的数据。\n[0049] 可以由服务器维护的会话来记录与子任务节点相应的页面状态,用户发给服务器的请求中可以包括该会话的标识符。客户端可以不存储任何历史记录。所有历史信息,都可以记录在服务器端的会话中。需要的时候,服务器接到客户端的请求,然后根据会话标识符判断是哪个客户端,从相应的会话中取出导航组合的树状结构,然后根据这个树状结构,生成html文档。服务器将该html文档发给客户端。而客户端只需显示此html文档即可。\n[0050] 客户端可以通过Http get和Http post方法向服务器发送与页面状态有关的参数。这些参数与用户同Web任务中的子任务进行交互有关,比如浏览商品的页数等。通过记录这些附加参数,可以更好的返回页面当时的状态。\n[0051] 因此,可以通过Http get和Http post方法在上述会话中存储用户访问的子任务节点页面参数。这样,可以向用户提供其访问过的网页的状态。\n[0052] Http get方法将数据添加到URL(Uniform Resource Locator,即统一资源定位符);利用一个问号(”?”)代表URL地址的结尾与数据的开端;每一个数据的元素以名称/值(key/value)的形式出现;利用一个分号(“;”)来区分多个数据元素。Http get方法传递数据受URL和参数长度的限制。\n[0053] Http post方法将数据包括在HTTP请求主体中,而不是附加到URL。数据的元素以名称/值(key/value)的形式出现。与Http get方法相比,Http post方法没有Http get的长度限制,Http post方法允许传输安全/大量数据。\n[0054] 所述导航组合可以存储在网站服务器与客户端建立的一会话中。根据所述导航组合,可以生成客户端显示支持的导航组合代码,如导航组合的html代码,无线客户端或手机上显示用的WML(Wireless Markup Language)代码等。在客户通过网站访问Web任务时,可以向其发送所述导航组合代码,以便在客户端的浏览器中显示所述导航组合。其中,分别以一任务条或文本条的方式显示一相应的任务节点和/或其包括的顺序连接的多个子任务节点。\n[0055] 第一任务节点(task node),用于调用所述第一Web任务的访问页面。其中的子任务节点用于调用相应的子任务页面。响应于用户点击导航组合中的一任务节点或该任务节点的子任务节点,而该任务节点将被设置为当前任务节点。响应于用户点击一任务节点的子任务节点,服务器调用相关联的子任务页面,并且从会话中取出用户上次进入时的子任务页面状态参数,以便将该包括状态参数的子任务页面发送给客户。这样,在客户端可以显示用户以前进入的该子任务页面,用户的体验就象退回到该页面一样。\n[0056] 根据所述导航组合,第一任务节点(task node),用于调用所述第一Web任务的访问页面,该访问页面可以与第一任务节点的一子任务节点页面相同或不同。例如,该页面可以是一第一Web任务的欢迎页面,而第一任务节点的第一子任务节点页面是一登录页面。\n两者也可以都是欢迎页面。\n[0057] 商务逻辑是商务应用软件,如一些企业级软件和Web任务软件的核心价值体现,它反映了工作和生活中的各种需求及对应的解决方案之中包括的逻辑。作为支撑商务逻辑的软件架构之一,基于Web的应用服务(如上文中的Web任务),可以提供相应的逻辑扩展点,来满足不同的商务逻辑需求。在软件架构及组件中,可以提供合理的扩展机制,并提供可插接的各种商务逻辑扩展实现。各种Web任务策略可以用于反应Web任务中的具体商务逻辑或商务需求,并可以添加到软件架构或组件中。通过可插拔的Web任务策略,可以更加方便的满足商务逻辑,并在商务逻辑发生变化时,快速开发新的Web任务策略。另外,通过引入可插拔的Web任务策略,可以有效地加速软件开发过程并降低需求变化时的软件维护成本。\n[0058] 一Web任务可以包括多个子任务,用户以一定的顺序访问其中的至少部分子任务,以便使用该Web任务提供的服务来达到一定的目的,比如订机票、订酒店、查看目的地风俗等。根据来自用户端的不同交互数据(即用户端的输入和响应),这些子任务按照一定的顺序分别执行预定的功能,按照预定的业务逻辑(business logic)相互协作,以便完成一任务(如订机票、订酒店、查看目的地风俗等),从而达到用户的目的。换言之,对于一预定的任务,其包括的子任务之间需要符合预定的商务逻辑(business logic)。\n[0059] 根据本发明的一实施例,一Web任务可以用于针对用户的一商务目的提供相应的商务服务。其中的商业服务作为一项任务,其自身包括相互关联的多个子任务。根据本发明的一实施例Web任务的策略可以用于对该Web任务的至少部分子任务的执行进行限制,或对其它相关联的任务的至少部分子任务的执行进行限制。因此,Web任务的策略可以反映,根据一个任务的执行情况或其子任务的执行情况对相应的子任务节点或相关联的子任务节点的处理。\n[0060] 根据本发明的另一实施例,Web任务的策略可以反映该Web任务所执行的任务的多个子任务之间的约束关系。Web任务策略还可以反映可以实现的Web任务的目标方案集合的要求。\n[0061] 上述根据所述第一Web任务的策略对第一任务节点的至少部分子任务节点进行处理,使得用户利用导航组合对子任务页面浏览的体验,符合Web任务的策略确定的多个子任务之间的约束关系。因而,用户利用导航组合对子任务页面浏览的体验也符合相应的商务逻辑。该Web任务所针对的用户需求可以满足,并可以有效避免与相应的商务逻辑或该Web任务所针对的用户需求相矛盾的用户体验。\n[0062] 例如,在网络购物的Web任务的一次访问过程中,相应的业务逻辑禁止对于一次购物过程(如对于一次购买的商品,其已经在购物篮之中)进行两次付款;或者对于该次购买任务,禁止在付款后重复进行付款前已经完成的活动(如选择商品,更换购物篮中的商品)。用于网络购物的Web任务的相应策略,可以禁止付款子任务被重复执行。或者,用于网络购物的Web任务的相应策略,可以禁止在付款子任务完成后,Web任务中已经执行的多个顺序连接的子任务被重复执行。或者,用于网络购物的Web任务的相应策略,可以禁止该Web任务在一次访问过程中被重复执行。在这种情况下,如果用户需要多次使用该Web任务,可以对该Web任务调用多次,以便多次购买商品。\n[0063] 根据本发明的另一实施例,所述第一Web任务的策略禁止第一Web任务在一次访问过程中被重复执行。图1实施例中的所述根据所述第一Web任务的策略对第一任务节点的至少部分子任务节点进行处理可以进一步配置为:根据所述第一Web任务的策略,响应于第一Web任务执行完毕,删除用户浏览过的所述第一任务节点的多个子任务节点。这样,用户访问第一Web任务完成之后,如购买机票付款确认之后,避免了用户重复访问付款页面。如果以后需要查询购买的结果,可以调用另一用于查询结果的Web任务。\n[0064] 其中,所述第一Web任务的策略可以禁止第一Web任务在一次访问过程中被重复执行。所述根据所述第一Web任务的策略对第一任务节点的至少部分子任务节点进行处理还可以进一步配置为:根据所述第一Web任务的策略,响应于第一Web任务执行完毕,将所述第一任务节点及其子任务节点设置为只读模式。并且,响应于将所述第一任务节点及其子任务节点设置为只读模式,将所述第一任务节点及其子任务节点相关联的页面设置为只读模式。这样,用户可以阅读已经访问过的页面信息,但是不会产生任务或子任务被重复执行的情况。\n[0065] 其中,在本发明的另一实施例中,所述第一Web任务的策略禁止在子任务之间进行循环。其中,所述根据所述第一Web任务的策略对第一任务节点的至少部分子任务节点进行处理可以进一步配置为:根据所述第一Web任务的策略,如果所述第三子任务节点与第一子任务节点相同,则删除所述第二子任务节点和第三子任务节点,并将第一子任务节点设置为当前子任务节点。\n[0066] 根据本发明的另一实施例,其中所述第一Web任务的策略禁止第一Web任务的至少一个子任务在一次访问过程中被重复执行;所述根据所述第一Web任务的策略对第一任务节点的至少部分子任务节点进行处理可以进一步配置为:根据所述第一Web任务的策略,响应于第一Web任务执行完毕,删除所述第一任务节点的相应的至少一个子任务节点。\n[0067] 根据本发明的另一实施例,其中所述第一Web任务的策略禁止第一Web任务的至少一个子任务在一次访问过程中被重复执行;其中,所述根据所述第一Web任务的策略对第一任务节点的至少部分子任务节点进行处理进一步配置为:根据所述第一Web任务的策略,响应于第一Web任务执行完毕,将所述第一任务节点的相应的至少一个子任务节点设置为只读模式。\n[0068] 例如导航组合中的一任务节点对应的订票任务结束,是否还需要保留订票任务结束前的信息。\n[0069] 例如,订购机票->查看剩余机票->比较价格->结帐->信用卡付款->确认\n[0070] 确认后,由于用户已经完成了希望的任务,而且导航组合前面的节点已经没有意义,是否保留,还是直接将导航组合中的跟踪记录返回任务起始位置。\n[0071] 例如:订购机票->查看剩余机票\n[0072] 可以根据该任务的商务逻辑确定相应的Web任务策略,然后对导航组合进行处理。此外,对于何处开始任务、何处结束任务,在Web任务程序中可以通过加标注或外置配置文件的方式进行确定。Web任务策略的定义及调整,可以在开发Web任务时确定,也可以通过外部配置文件的方式进行调整。\n[0073] 根据本发明的另一实施例,在网站服务器创建的导航组合中还可以创建多个任务节点,以便允许用户在多个任务之间进行切换。其中,对于一第二Web任务,所述导航方法还可以在所述导航根节点上生成所述第二任务节点及其多个顺序连接的子任务节点。根据所述第二Web任务的策略对第二任务节点的至少部分子任务节点进行处理。\n[0074] 在所述导航组合包括多个任务节点的情况下,如果第一Web任务与第二Web任务相互关联,上述方法还可以进一步包括:根据所述第二Web任务的策略对第一任务节点的至少部分子任务节点进行处理。第一Web任务的策略和第二Web任务的策略相互影响,例如对于一次旅行,预定机票的Web任务与预定宾馆的Web任务,其中确定的时间、地点涉及的策略相互影响。\n[0075] 根据第二Web任务的策略对第一Web任务的至少部分子任务节点进行处理,可以配置为根据第二任务(如预定机票的Web任务)的策略对第一任务的多个子任务节点进行过滤,将过滤出的子任务节点设置为只读模式。\n[0076] 根据本发明的另一实施例,第二Web任务的策略禁止相关联的第一Web任务的多个子任务之间进行循环;根据所述第二Web任务的策略对第一任务节点的至少部分子任务节点进行处理可以配置为:对于两个相同子任务节点,仅保留两个相同子任务节点之一并将其设置为当前子任务节点,并删除所述两个相同子任务节点之间的子任务节点。\n[0077] 例如,一个任务条是订机票,另一个任务条是订酒店。如果,订机票的机票到达日期晚于入住酒店的日期,则订酒店的任务条可以自动收回到搜索酒店子任务节点。\n[0078] 对于一个网站的访问中,用户查看旅游景点也可以看成是包括多个子任务的一项任务。响应于一用户对旅游网站的访问请求,网站服务器建立与该用户通信的Http会话,并为该会话分配一唯一的会话标识符以及会话存储空间。响应于该用户对该旅游网站的访问请求,网站服务器还生成一导航组合的导航根节点。该导航组合被存储在上述会话存储空间。\n[0079] 响应于该用户对查看旅游景点Web任务的访问请求,在所述导航根节点上生成与所述查看旅游景点Web任务相关联的一第一任务节点(查看旅游景点任务节点)。用户使用查看旅游景点Web任务的以下几个子任务,查看北京市景点、查看海淀区景点、查看上地区域、查看软件园附近景点,并浏览了相应的页面。网站服务器响应于对所述查看旅游景点Web任务的上述多个子任务的多个请求,依次建立所述第一任务节点的多个子任务节点。其中,所述第一任务节点的多个子任务节点与所述查看旅游景点Web任务的上述多个子任务分别相关联,并且所述第一任务节点的多个子任务节点根据所述多个请求的顺序而顺序连接。得到用户的如下导航路径:\n[0080] 查看北京市景点->查看海淀区景点->查看上地区域->查看软件园附近景点。\n[0081] 根据该实施例,用户浏览过的Web任务的至少部分子任务,分别与导航组合中一任务节点的多个子任务节点相对应,通过这种导航组合、任务节点和子任务节点的层次关系,导航组合的显示是用户完成任务足迹的记录及跟踪。\n[0082] 相似地,用户与网站之间的一系列交互动作,一般是要达成一定目的或任务。例如,订购机票就是用户通过网站中的一系列浏览功能,查看剩余机票->比较价格->下订单->结款,最终实现订购机票的功能。相应地,可以在导航组合的根节点上建立订购机票任务节点及其多个子任务节点,并记录用户访问相应页面的状态参数。\n[0083] 这样,导航组合就利用任务节点和子任务节点,跟踪并记录了查看旅游景点任务和订购机票任务及其子任务。\n[0084] 根据本发明的一实施例,通过建立导航组合根节点与多个任务节点之间的层次关系,在一个导航组合中进行跟踪和记录多个任务的执行。并且,在导航组合中还可以进行多任务之间的切换,为用户提供了便利的界面功能。在上面的例子中,导航组合将包括两个任务节点,用户可以在这两条任务中随意切换。根据所述导航组合,可以生成客户端显示支持的导航组合代码;并发送所述导航组合代码给客户端。还可以并提供合适的标识,显示出当前正在执行的任务,例如下例中的浏览景点前的符号“*”标识当前任务。用户端显示的导航组合包括两个任务条,可以显示如下。\n[0085] 您的任务\n[0086] ->订购机票->查看剩余机票->比较价格\n[0087] ->(*)浏览景点->北京市->海淀区->上地\n[0088] 根据本发明的进一步实施例,还可以根据Web任务的策略对任务节点的至少部分子任务节点进行处理。这样,可以通过Web任务的策略,进行导航组合与商务逻辑功能之间的映射。\n[0089] 根据Web任务的策略,可以处理用户浏览路径中出现的循环问题。网站是一个网状结构,因此用户可以通过网状结构进行任意的浏览。在这种情况下,导航组合就会因为记录所有的浏览记录,而可能出现循环情况。 例如用户进入A页面,再B页面,再C页面,但此时通过C页面的链接跳转回B页面。需要处理的是将选择下面的哪种方式,以便符合商务逻辑:\n[0090] A->B->C->B还是A->B\n[0091] 根据本发明的一实施例,可以根据以下方式之一判定两个子任务节点是否相同。\n具体判断方式可以基于定制的商务策略。\n[0092] a.url完全相同\n[0093] b.url完全相同+相同的参数\n[0094] c.url完全相同+指定参数相同\n[0095] d.其它定制的策略\n[0096] 如果确定有两个子任务节点相同,则说明出现了子任务节点之间的循环。可以通过以下方式之一处理循环。\n[0097] a.直接附加循环,即保持循环不变。\n[0098] b.解环,并退出到解环前的子任务节点。换言之,对于两个相同子任务节点之间的多个子任务节点,仅保留两个相同子任务节点之一(删除其余子任务节点)并将其设置为当前子任务节点。\n[0099] 响应于一任务结束,导航组合也可以根据反映的商务逻辑的任务策略,进行相应的处理。\n[0100] 例如,对于订购机票,当结帐完毕后,进入结帐总结页面时,是否还应在导航组合中提供结帐前的导航信息,也需要商务策略的结合。\n[0101] 例如,保持:订购机票->查看剩余机票->比较价格->结帐->信用卡付款->确认\n[0102] 还是仅保留:订购机票->确认\n[0103] 根据本发明的一实施例,还可以利用导航组合进行多任务之间的切换。例如,在旅游产品订购网站,如果既需要订飞机票,也需要订旅馆,还需要订汽车,导航组合可以包括多个任务节点,如三个任务节点,用户可以随时在三个任务之间进行切换。随着用户访问与该网站相关联的多个Web任务,可以创建如下的导航组合,并在客户端显示。\n[0104] 您的任务:\n[0105] 订购机票\n[0106] 您的任务:\n[0107] 订购机票->查看剩余机票->比较价格\n[0108] 您的任务:\n[0109] 订购机票->查看剩余机票->比较价格\n[0110] 订购宾馆->查看本地宾馆\n[0111] 您的任务:\n[0112] 订购机票->查看剩余机票->比较价格\n[0113] 订购宾馆->查看本地宾馆\n[0114] 订购用车服务\n[0115] 根据本发明的一实施例,与网站相关联的一第一Web任务,可以是所述网站直接提供的Web任务,也可以是通过所述网站向用户提供的Web任务。在后一种情况下,也可以在导航组合的根节点上生成相应的任务节点及其子任务节点。其中,子任务节点的状态参数(与子任务节点相关联的页面的状态参数)可以由Web任务所在的服务器来维护,并根据用户的请求通过所述网站发给客户端。子任务节点的状态参数也可以由Web任务所在的服务器来维护,并在所述网站进行缓存,根据用户的请求由所述网站发给客户端。\n[0116] 上述导航组合便于向前和向后浏览网页,可以支持服务器侧维护页面状态。Web任务一般由服务器侧来主导,进行集中管理,用户侧提供用户接入。上述导航组合可以支持预定的Web任务策略,如避免重复执行只允许一次性执行的操作。\n[0117] 图2示出了根据本发明另一实施例的导航方法流程图。在所示的方法200中,在步骤S210,响应于对一网站的访问请求,生成一导航组合的导航根节点。在步骤S220,响应于对与所述网站相关联的一第一Web任务的访问请求,在所述导航根节点上生成与所述第一Web任务相关联的一第一任务节点。在步骤S230,响应于对第一Web任务的至少部分子任务的多个请求,依次建立所述第一任务节点的多个子任务节点。在步骤S240,根据所述第一Web任务的策略对第一任务节点的至少部分子任务节点进行处理。在步骤S250,响应于对第一Web任务的另一子任务的请求,建立所述第一任务节点的另一子任务节点。在步骤S260,根据所述第一Web任务的策略对第一任务节点的至少部分子任务节点进行处理。\n[0118] 在步骤S225,响应于对与所述网站相关联的一第二Web任务的访问请求,在所述导航根节点上生成与所述第二Web任务相关联的一第二任务节点。在步骤S235,响应于对第二Web任务的至少部分子任务的多个请求,依次建立所述第二任务节点的多个子任务节点。其中,在该实施例中,所述第二Web任务的策略禁止第一Web任务的至少一个子任务在一次访问过程中被重复执行。在步骤S245,根据所述第二Web任务的策略,响应于第二Web任务执行完毕,将所述第二任务节点的至少一个子任务节点设置为只读模式。在步骤S255,将相应的至少一个子任务节点相关联的页面设置为只读模式。\n[0119] 图3示出了根据本发明另一实施例的导航方法流程图。在所示的方法300中,在步骤S310,响应于对网站的http访问请求,生成一会话和一导航组合的导航根节点,并在该会话中存储该导航组合。在步骤S320,响应于对与所述网站相关联的一第一Web任务的访问请求,在所述导航根节点上生成与所述第一Web任务相关联的一第一任务节点。在步骤S330,响应于对第一Web任务的至少部分子任务的多个请求,依次建立所述第一任务节点的多个子任务节点。在步骤S340,根据所述导航组合生成导航组合代码。在步骤S350,发送所述导航组合代码和所述会话的标识符。在步骤S355,响应于对第一Web任务的另一子任务的请求,建立所述第一任务节点的另一子任务节点。在步骤S360,根据所述第一Web任务的策略对第一任务节点的至少部分子任务节点进行处理。其中,所述第一Web任务的策略用于对所述第一Web任务的至少部分子任务的执行进行限制。在步骤S370,响应于所述处理,生成更新的导航组合代码,并发送所述更新的导航组合代码和所述会话的标识符。\n在步骤S380,发送所述更新的导航组合代码和所述会话的标识符。在步骤S395,响应于所述第一任务节点的一子任务节点被选定,调用与选定的子任务节点相关联的页面。\n[0120] 图4示出了根据本发明另一实施例的导航系统框图。其中,网站的导航系统400包括以下多个模块。导航根节点生成模块410,响应于对一网站的访问请求,生成一导航组合的导航根节点。任务节点生成模块420,响应于对与所述网站相关联的一第一Web任务的访问请求,在所述导航根节点上生成与所述第一Web任务相关联的一第一任务节点。子任务节点生成模块430,响应于对第一Web任务的至少部分子任务的多个请求,依次建立所述第一任务节点的多个子任务节点,其中,所述第一任务节点的多个子任务节点与所述第一Web任务的至少部分子任务分别相关联,并且所述第一任务节点的多个子任务节点根据所述多个请求的顺序而顺序连接。节点处理模块440,用于根据所述第一Web任务的策略对第一任务节点的至少部分子任务节点进行处理。\n[0121] 其中,所述任务节点生成模块420还可以进一步配置为,响应于对与所述网站相关联的一第二Web任务的访问请求,在所述导航根节点上生成与所述第二Web任务相关联的一第二任务节点。所述子任务节点生成模块430还可以进一步配置为,响应于对第二Web任务的至少部分子任务的多个请求,依次建立所述第二任务节点的多个子任务节点,其中,所述第二任务节点的多个子任务节点与所述第二Web任务的至少部分子任务分别相关联,并且所述第二任务节点的多个子任务节点根据所述多个请求的顺序而顺序连接。所述节点处理模块440还可以进一步配置为,根据所述第二Web任务的策略对第二任务节点的至少部分子任务节点进行处理。\n[0122] 其中,所述导航组合可以存储在服务器的一会话中,所述系统可以进一步包括导航组合处理模块,其配置为:根据所述导航组合,生成客户端显示支持的导航组合代码;以及通过所述会话发送所述导航组合代码。\n[0123] 其中,所述节点处理模块440还可以进一步配置为:根据所述第二Web任务的策略对第一任务节点的至少部分子任务节点进行处理。\n[0124] 其中,所述第一Web任务的策略禁止第一Web任务的至少一个子任务在一次访问过程中被重复执行;其中,所述节点处理模块440可以进一步配置为:根据所述第一Web任务的策略,响应于第一Web任务执行完毕,删除所述第一任务节点的相应的至少一个子任务节点。\n[0125] 其中,所述第一Web任务的策略禁止第一Web任务的至少一个子任务在一次访问过程中被重复执行;其中,所述节点处理模块440可以进一步配置为:根据所述第一Web任务的策略,响应于第一Web任务执行完毕,将所述第一任务节点的相应的至少一个子任务节点设置为只读模式。\n[0126] 其中,所述系统400还可以进一步包括页面处理模块,其配置为:响应于将所述第一任务节点的相应的至少一个设置为只读模式,将所述第一任务节点的相应的至少一个子任务节点相关联的页面设置为只读模式。\n[0127] 其中,第一Web任务的策略禁止在子任务之间进行循环;所述节点处理模块440可以进一步配置为:在所述导航组合中,对于两个相同子任务节点,仅保留两个相同子任务节点之一并将其设置为当前子任务节点,并删除所述两个相同子任务节点之间的子任务节点。\n[0128] 其中,所述两个相同子任务节点具有相同的URL和预定参数值。\n[0129] 其中,所述节点处理模块440还可以进一步配置为:响应于所述第一任务节点的一子任务节点被选定,调用与选定的子任务节点相关联的页面。\n[0130] 在本发明的上述描述中,第一和第二等用于指代的需要。本领域的技术人员可以理解,第一Web任务的策略可以根据具体需要作为第二Web任务的策略。\n[0131] 本发明还提供了一种存储介质或信号载体,其中包括用于执行根据本发明的方法的指令。\n[0132] 附图中的流程图和框图,图示了按照本发明实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。\n[0133] 所属技术领域的技术人员知道,本发明可以体现为系统、方法或计算机程序产品。\n因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。\n[0134] 可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是--但不限于--电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括--但不限于--无线、电线、光缆、RF等等。\n[0135] 用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言--诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言--诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络--包括局域网(LAN)或广域网(WAN)--连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。\n[0136] 以上结合优选法方案对本发明进行了详细的描述,但是可以理解,以上实施例仅用于说明而非限定本发明。本领域的技术人员可以对本发明的所示方案进行修改而不脱离本发明的范围和精神。
法律信息
- 2021-11-16
专利权的转移
登记生效日: 2021.11.04
专利权人由国际商业机器公司变更为勤达睿公司
地址由美国纽约阿芒克变更为美国纽约
- 2012-12-19
- 2010-12-29
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 200910140990.8
申请日: 2009.05.15
- 2010-11-17
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2005-03-09
|
2004-07-29
| | |
2
| |
2002-07-03
|
2001-11-29
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |