客户端和服务器动态协助的业务聚合方法、服务器和客户端的制作方法

文档序号:7722853阅读:99来源:国知局
专利名称:客户端和服务器动态协助的业务聚合方法、服务器和客户端的制作方法
技术领域
本发明涉及一种新型的基于Web的数据集成应用,尤其涉及一种客户端和服务器 动态协助的业务聚合方法、服务器和客户端。
背景技术
业务聚合(Mashup)是将多个不同的支持ffeb API的应用进行堆叠、聚合形成的 新型的Web应用。Mashup服务器是一个Web集成平台,它允许用户轻松集成来自任意具有 Web接口的应用程序的数据和资源,其主要功能包括提供聚合应用逻辑编排功能,聚合应用 的执行环境以及和外部数据源、子服务进行通信等。在实现本发明过程中,发明人研究发现现有技术至少存在如下问题1、Mashup服务器可以提供很多Mashup应用,但无法保证Mashup应用的可用性, 用户请求执行Mashup服务时,很有可能因为第三方数据源或子服务异常,如接口变动、业 务地址变动或者第三方业务提供者终止服务等导致Mashup应用失败,造成Mashup业务用 户体验较差。2、由于Mashup服务器提供的业务和信息源比较多,类型比较复杂,用户使用时需 要对第三方数据源进行具体分析,对用户来说使用很不方便。3、在单独使用Mashup客户端或服务器能力时,没有充分利用服务器和客户端的 优势和特点,Mashup服务器只能根据网络上的相关Web服务为用户提供Mashup的业务和 信息源,缺乏与客户端的配合。4、当Mashup应用需要使用用户终端能力和数据时,需要终端把相关内容上报到 Mashup服务器或第三方数据元,可能对用户隐私造成侵犯。

发明内容
本发明实施例提供了一种客户端和服务器动态协助的业务聚合方法及相应的服 务器和客户端,能够增强Mashup业务用户体验,降低Mashup应用创建的复杂度,平衡客户 端或服务器的处理能力,同时可以充分保障用户个人的信息安全。本发明实施例提供的一种客户端和服务器动态协助的业务聚合方法,包括服务器接收到客户端的Mashup业务创建请求后,创建Mashup应用逻辑;所述服务器根据所述Mashup应用逻辑绑定第三方服务,并把绑定的第三方服务 和所述生成的Mashup应用逻辑发送给所述客户端,以使得所述客户端根据所述Mashup应 用逻辑绑定客户端的本地服务;以及根据所述客户端绑定的本地服务和服务器绑定的第三 方服务,与所述客户端协商确定绑定的具体服务;所述服务器并根据所述绑定的具体服务和所述Mashup应用逻辑生成业务逻辑流 程;所述服务器根据所述业务逻辑流程调用所述具体服务,与所述客户端并行同步执行所述业务逻辑流程。本发明实施例提供的另一种客户端和服务器动态协助的业务聚合方法,包括客户端向服务器发送Mashup业务创建请求,以使得所述服务器创建Mashup应用 逻辑,并根据所述Mashup应用逻辑绑定第三方服务;所述客户端接收所述服务器发送的绑定的第三方服务和创建的Mashup应用逻 辑,并根据所述Mashup应用逻辑绑定本地服务;所述客户端向所述服务器上报所述绑定的本地服务,以使得所述服务器根据所述 客户端绑定的本地服务和服务器绑定的第三方服务,与所述客户端协商确定绑定的具体服 务,并根据所述绑定的具体服务和所述Mashup应用逻辑生成业务逻辑流程;所述客户端根据所述业务逻辑流程调用终端或外部服务,和所述服务器并行同步 执行所述业务逻辑流程。本发明实施例提供的一种Mashup服务器,包括业务创建模块,用于根据客户端的Mashup业务创建请求,创建Mashup应用逻辑;业务匹配模块,用于根据所述业务创建模块创建的Mashup应用逻辑绑定第三方 服务,并把绑定的第三方服务和所述生成的Mashup应用逻辑发送给所述客户端,以使得所 述客户端根据所述Mashup应用逻辑绑定客户端的本地服务;以及根据所述客户端绑定的 本地服务和服务器绑定的第三方服务,与所述客户端协商确定绑定的具体服务;业务逻辑解析模块,用于根据所述绑定的具体服务和所述Mashup应用逻辑生成 业务逻辑流程;业务执行引擎模块,用于根据所述业务逻辑流程调用所述具体服务,与所述客户 端并行同步执行所述业务逻辑流程;以及,业务同步模块,用于在Mashup业务协商和执行过程中客户端与服务器端状态信 息同步。本发明实施例提供的一种Mashup客户端,包括业务匹配模块,用于向服务器发送Mashup业务创建请求,以使得所述服务器创建 Mashup应用逻辑;接收所述服务器创建的Mashup应用逻辑和根据所述Mashup应用逻辑绑 定的第三方服务;并根据所述Mashup应用逻辑绑定本地服务;业务执行引擎模块,用于向所述服务器上报所述业务匹配模块绑定的本地服务, 以使得所述服务器根据所述客户端绑定的本地服务和服务器绑定的第三方服务,与所述客 户端协商确定绑定的具体服务,并根据所述绑定的具体服务和所述Mashup应用逻辑生成 业务逻辑流程;以及根据所述业务逻辑流程调用所述具体服务,与所述客户端并行同步执 行所述业务逻辑流程;业务同步模块,用于根据所述业务逻辑流程调用终端或外部服务,和所述服务器 并行同步执行所述业务逻辑流程。由本发明实施例的技术方案可知,通过服务器创建Mashup应用逻辑,实现Mashup 应用和第三方数据源的解耦,屏蔽了客户端对各种第三方数据的直接接口,降低了 Mashup 应用创建的复杂度;通过服务器与客户端协商确定绑定的具体服务,能够平衡客户端和服 务器的处理能力,将Mashup应用逻辑根据实际情况进行分发,由客户端和服务器端并行分 布式执行,由此可以降低服务器的负担,同时在涉及用户终端能力和数据相关的Mashup应用时可以充分保障用户个人信息的安全,不会上传到网络上,避免对用户隐私造成侵犯,支 持更加个性化的业务选择。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是 本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还 可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种客户端和服务器动态协助的业务聚合方法流程 图;图2为本发明实施例提供的另一种客户端和服务器动态协助的业务聚合方法流 程图;图3为本发明实施例提供的一种客户端和服务器动态协助的业务聚合系统的组 成示意图;图4为本发明实施例提供的一种Mashup服务器的功能模块示意图;图5为本发明实施例提供的一种Mashup客户端的功能模块示意图;图6为本发明实施例提供的服务器和客户端的同步机制示意图;图7为本发明实施例提供的服务器和客户端之间的运行环境协商流程图;图8为本发明实施例提供的一个Mashup应用的执行流程图。
具体实施例方式为使本发明的目的、技术方案、及优点更加清楚明白,下面结合附图并举实施例, 对本发明提供的技术方案进一步详细描述。显然,所描述的实施例仅仅是本发明一部分实 施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参见附图1,本发明实施例提供的一种客户端和服务器动态协助的业务聚合方法, 包括如下内容步骤11,服务器接收到客户端的Mashup业务创建请求后,创建Mashup应用逻辑。服务器采用的是一种自包含结构化语言,生成基于扩展HTML Tag或JavMcript 对象的Mashup应用逻辑,该Mashup应用逻辑包含Tag元素名称、标识ID、动作及参数,可以 由服务器和客户端分布式执行。例如,基于W3C XML相关标准扩展Mashup的标记元素element = EmptyElement|STag content ETag|MashupElement为了在HTML文件中包含Mashup业务应用,可以定义一个<Mashup>标签MashupElement:: =' <mashup‘ [S' id' Eq" “ (Letter) + "“]' >'(MElement)*‘ </mashup> ‘每个元素包含开始、结束标签或者是空元素MElement: = MEmptyElement|MSTag MContent METag
MEmptyElement:: =' <' MResourceS' />')MSTag::=' <' MResourceS' >'METag::=' </' MResourceE' >'每个Mashup扩展元素都代表一种抽象的资源和服务,这些资源和服务可均由相 关第三方具体的应用来提供。基于XML标准,每个元素都定义了全局标识GI,Mashup元素 可以利用全局标识来代表提供服务的第三方应用;Mashup业务创建者也可以不指定具体 的全局标识GI,可由服务器自动选择具体的第三方服务。例如可以定义如下的一些Mashup 元素,MresourceS, MResourceE分别代表相关元素的开始和结束标签。MResourceS = Mmap|Mlocation|Mphoto|Mvideo|MblogI Mbookmark|Mevent|Msms|MplaceMsearch|Mproduct|Mcal1|Memai1Mcalendar|MrealEstateMResourceE:: =' map' ‘ location' ‘ photo' ‘ video' ‘ blog'‘ bookmark' | ‘ event‘ | ‘ sms‘ | ‘ place‘ | ‘ search'‘ product' ‘ call' ‘ email' ‘ calendar'‘ realEstate'基于上述的定义,一个简单的Mashup应用就可以简单地通过下面的方式来表达。<mashup>〈location/〉<map></map><event></event><photo></photo></mashup>根据相关具体服务,每个元素可以包括多种方法。为了更好的使用这些服务的不 同方法,需要给Mashup元素增加动作Action和属性,例如Mmap::=' map' (MapAction) (GAtr)MapAction = centerMap|unknownActioncenterMap: = S' action' Eq" “ center" “ centerMapAtr这些属性在Mashup执行的过程中可以被替换成具体的方法,例如上述的Mashup 例子<mashup>〈location action = “ getCurrentPosition“ /><map action = “ create “ ></map><map action = " addMarker" ></map><event action =" search" ></event><photo action =〃 search" ></photo></mashup>Mashup扩展Tag主要用来方便集成各种第三方应用资源,主要遵从HTML范式,可
以是嵌套元素,具体内容可以为空、文本或其他HTML元素,例如
MContent: = (element|PCData|Reference|CDSect|PI|Comment|MElement)*步骤12,所述服务器根据所述Mashup应用逻辑绑定第三方服务,并把绑定的第 三方服务和所述生成的Mashup应用逻辑发送给所述客户端,以使得所述客户端根据所述 Mashup应用逻辑绑定客户端的本地服务;以及根据所述客户端绑定的本地服务和服务器 绑定的第三方服务,与所述客户端协商确定绑定的具体服务。服务器在绑定第三方服务时,可以参考服务器端的QoS信息,如服务响应平均时 间和/或异常概率等,同时这些信息可以在执行的过程中进行不断的统计;还可以参考用 户公开的相关信息,如用户个人偏好等,在匹配服务时可以根据具体用户偏好来进行选择, 比如同类型的业务选择的规则等;还可以参考用户授权动态上报的信息,用户的私有信息 可以在用户授权的情况下将相关信息发送到服务器端,供绑定服务时参考。客户端在绑定的本地服务时,可以参考用户公开或非公开的用户信息绑定客户端 支持的本地服务。客户端在根据服务器下发的抽象业务逻辑进行具体业务匹配时,调用的 服务可能是某些不适合在服务器上运行的、基于终端的用户个人信息,这类服务均由客户 端直接在终端侧进行绑定。当客户端绑定的本地服务与所述服务器绑定的第三方服务重复时,使用客户端和 服务器共同绑定的服务;当客户端绑定的服务与所述服务器绑定的服务不同时,服务器优 先使用客户端所绑定的服务。步骤13,所述服务器根据所述绑定的具体服务和所述Mashup应用逻辑生成业务 逻辑流程。步骤14,所述服务器根据所述业务逻辑流程调用所述具体服务,与所述客户端并 行同步执行所述业务逻辑流程。在执行的过程中涉及到和客户端同步的时候向所述客户端发送同步请求或等待 客户端的同步信息。具体地,针对Mashup应用逻辑的Tag或JS对象设置的相关状态信息, 业务执行过程中所述服务器与所述客户端基于不同的状态进行同步操作;当所述服务器与 所述客户端需要对方的信息时,申请关联状态锁定,并执行关联动作,把关联参数发送给对 方。 本发明实施例提供的客户端和服务器动态协助的业务聚合方法,通过服务器上创 建Mashup应用逻辑,实现Mashup应用和第三方数据源的解耦,屏蔽了客户端对各种第三方 数据的直接接口,降低了 Mashup应用创建的复杂度;通过服务器与客户端协商确定绑定的 具体服务,能够平衡客户端和服务器的处理能力,将Mashup应用逻辑根据实际情况进行分 发,由客户端和服务器端并行分布式执行,由此可以降低服务器的负担,同时在涉及用户终 端能力和数据相关的Mashup应用时可以充分保障用户个人信息的安全,不会上传到网络 上,避免对用户隐私造成侵犯,支持更加个性化的业务选择。需要说明的是,如果服务器支持两个以上的客户端共享一个Mashup应用逻辑,且 不同的客户端绑定不同的本地服务,则所述服务器端调用的具体服务结果可以在不同客户 端之间共享,当某个客户端的动作影响到服务器中的状态时,服务器可以通过与客户端之 间的同步操作对不同客户端的Mashup业务进行同步,从而可以避免服务器重复调用第三 方服务。相对应地,请参见附图2,本发明实施例提供的另一种客户端和服务器动态协助的业务聚合方法,包括如下内容步骤21,客户端向服务器发送Mashup业务创建请求,以使得所述服务器创建 Mashup应用逻辑,并根据所述Mashup应用逻辑绑定第三方服务。步骤22,所述客户端接收所述服务器发送的绑定的第三方服务和创建的Mashup 应用逻辑,并根据所述Mashup应用逻辑绑定本地服务。步骤23,所述客户端向所述服务器上报所述绑定的本地服务,以使得所述服务器 根据所述客户端绑定的本地服务和服务器绑定的第三方服务,与所述客户端协商确定绑定 的具体服务,并根据所述绑定的具体服务和所述Mashup应用逻辑生成业务逻辑流程;步骤M,所述客户端根据所述业务逻辑流程调用终端或外部服务,和所述服务器 并行同步执行所述业务逻辑流程。在执行的过程中涉及到和服务器端同步的时候向所述服务器发送同步请求或等 待服务器的同步信息。同理,本发明实施例提供的客户端和服务器动态协助的业务聚合方法,通过服务 器创建Mashup应用逻辑,实现Mashup应用和第三方数据源的解耦,屏蔽了客户端对各种第 三方数据的直接接口,降低了 Mashup应用创建的复杂度;通过服务器与客户端协商确定绑 定的具体服务,能够平衡客户端和服务器的处理能力,将Mashup应用逻辑根据实际情况进 行分发,由客户端和服务器端并行分布式执行,由此可以降低服务器的负担,同时在涉及用 户终端能力和数据相关的Mashup应用时可以充分保障用户个人信息的安全,不会上传到 网络上,避免对用户隐私造成侵犯,支持更加个性化的业务选择。下面采用具体的实例对上述的方法进行说明。该Mashup应用的场景是以用户当 前的位置为中心显示地图,并根据用户当前的位置把周围的照片和新闻事件标记在地图 上,位置服务可以嵌套在地图、照片和新闻服务中。创建的Mashup应用逻辑具体如下〈mashup id=" usecase" >〈map action =" create" id =" map_canvas“ >〈location action = “ getCurrentPosition" id = “ user—position" />〈/map〉〈map action =" addMarker" id =" map_canvas“ >〈event action =〃 search" id =〃 event_collection/r >〈location id =" user—position" />〈/event〉〈/map〉〈map action =" addMarker" id =" map_canvas“ >〈photo action =〃 search" id =〃 photo_collection/r >〈location id =" user—position" />〈/photo〉〈/map〉</mashup>根据该Mashup应用逻辑服务器绑定第三方服务。例如绑定的第三方服务为下面
的Google Maps的注册描述信息
权利要求
1.一种客户端和服务器动态协助的业务聚合方法,其特征在于,包括 服务器接收到客户端的Mashup业务创建请求后,创建Mashup应用逻辑;所述服务器根据所述Mashup应用逻辑绑定第三方服务,并把绑定的第三方服务和所 述生成的Mashup应用逻辑发送给所述客户端,以使得所述客户端根据所述Mashup应用逻 辑绑定客户端的本地服务;以及根据所述客户端绑定的本地服务和服务器绑定的第三方服 务,与所述客户端协商确定绑定的具体服务;所述服务器并根据所述绑定的具体服务和所述Mashup应用逻辑生成业务逻辑流程; 所述服务器根据所述业务逻辑流程调用所述具体服务,与所述客户端并行同步执行所 述业务逻辑流程。
2.如权利要求1所述的业务聚合方法,其特征在于,所述创建Mashup应用逻辑包括 服务器采用一种自包含结构化语言,生成基于HTML Tag或Java kript对象的Mashup应用逻辑。
3.如权利要求1所述的业务聚合方法,其特征在于,所述服务器根据所述Mashup应用 逻辑绑定第三方服务包括所述服务器参考所述服务器端的QoS信息和所述客户端授权动 态上报的信息,根据所述Mashup应用逻辑绑定第三方服务。
4.如权利要求1所述的业务聚合方法,其特征在于,所述服务器根据所述客户端绑定 的本地服务和服务器绑定的第三方服务,与所述客户端协商确定绑定的具体服务包括当客户端绑定的本地服务与所述服务器绑定的第三方服务重复时,使用客户端和服务 器共同绑定的服务;当客户端绑定的本地服务与所述服务器绑定的第三方服务不同时,优先使用客户端绑 定的本地服务。
5.如权利要求1所述的业务聚合方法,其特征在于,所述服务器和所述客户端并行同 步执行所述业务逻辑流程包括 所述服务器和所述客户端基于不同的业务执行状态进行同步操作; 当所述服务器和所述客户端需要对方的信息时,申请关联状态锁定,并执行关联动作, 把关联参数发送给对方。
6.如权利要求1-5任一项所述的业务聚合方法,其特征在于,当所述服务器支持两个 以上的客户端共享一个Mashup应用逻辑,且不同的客户端绑定不同的本地服务时,所述方 法还包括所述服务器端绑定的具体服务结果在不同客户端之间共享,当某个客户端的动作影响 到服务器中的状态后,通过所述服务器与客户端之间的同步操作对不同客户端的Mashup 业务进行同步。
7.一种客户端和服务器动态协助的业务聚合方法,其特征在于,包括客户端向服务器发送Mashup业务创建请求,以使得所述服务器创建Mashup应用逻辑, 并根据所述Mashup应用逻辑绑定第三方服务;所述客户端接收所述服务器发送的绑定的第三方服务和创建的Mashup应用逻辑,并 根据所述Mashup应用逻辑绑定本地服务;所述客户端向所述服务器上报所述绑定的本地服务,以使得所述服务器根据所述客户 端绑定的本地服务和服务器绑定的第三方服务,与所述客户端协商确定绑定的具体服务,并根据所述绑定的具体服务和所述Mashup应用逻辑生成业务逻辑流程;所述客户端根据所述业务逻辑流程调用终端或外部服务,和所述服务器并行同步执行 所述业务逻辑流程。
8.如权利要求7所述的业务聚合方法,其特征在于,所述客户端根据所述Mashup应用 逻辑绑定本地服务包括所述客户端参考用户私有信息和终端相关的服务和资源信息,根据所述服务器创建的 Mashup应用逻辑绑定本地服务。
9.一种Mashup服务器,其特征在于,包括业务创建模块,用于根据客户端的Mashup业务创建请求,创建Mashup应用逻辑; 业务匹配模块,用于根据所述业务创建模块创建的Mashup应用逻辑绑定第三方服务, 并把绑定的第三方服务和所述生成的Mashup应用逻辑发送给所述客户端,以使得所述客 户端根据所述Mashup应用逻辑绑定客户端的本地服务;以及根据所述客户端绑定的本地 服务和服务器绑定的第三方服务,与所述客户端协商确定绑定的具体服务;业务逻辑解析模块,用于根据所述绑定的具体服务和所述Mashup应用逻辑生成业务 逻辑流程;业务执行引擎模块,用于根据所述业务逻辑流程调用所述具体服务,与所述客户端并 行同步执行所述业务逻辑流程;以及,业务同步模块,用于在Mashup业务协商和执行过程中客户端与服务器端状态信息同止少ο
10.如权利要求9所述的Mashup服务器,其特征在于,所述Mashup服务器还包括 Mashup业务库,用于存储所述业务创建模块创建的Mashup应用逻辑;业务目录模块,用于存储可供Mashup服务器使用的第三方服务或数据源信息,以及能 够把Mashup服务器生成的Mashup应用逻辑映射成具体服务的映射关系; 用户信息模块,用于存储用户的公开信息和用户授权动态上报的信息; 业务QoS评估模块,用于评估执行过程中相关服务、数据源的QoS信息; 所述业务匹配模块,具体用于参考所述用户信息模块中的用户信息和所述业务QoS评 估模块中的相关服务、数据源的Qos信息,根据所述Mashup业务库的Mashup应用逻辑绑定 所述业务目录模块中的具体服务。
11.一种Mashup客户端,其特征在于,包括业务匹配模块,用于向服务器发送Mashup业务创建请求,以使得所述服务器创建 Mashup应用逻辑;接收所述服务器创建的Mashup应用逻辑和根据所述Mashup应用逻辑绑 定的第三方服务;并根据所述Mashup应用逻辑绑定本地服务;业务执行引擎模块,用于向所述服务器上报所述业务匹配模块绑定的本地服务,以使 得所述服务器根据所述客户端绑定的本地服务和服务器绑定的第三方服务,与所述客户端 协商确定绑定的具体服务,并根据所述绑定的具体服务和所述Mashup应用逻辑生成业务 逻辑流程;以及根据所述业务逻辑流程调用所述具体服务,与所述服务器并行同步执行所 述业务逻辑流程;业务同步模块,用于根据所述业务逻辑流程调用终端或外部服务,和所述服务器并行 同步执行所述业务逻辑流程。
12.如权利要求11所述的Mashup客户端,其特征在于,所述Mashup客户端还包括 用户信息模块,用于存储用户的私有信息,并在用户授权的情况下将相关信息发送到 Mashup服务器;业务目录模块,用于存储终端相关的服务和资源信息,以及终端能够直接调用的外部 业务信息和服务的映射关系;所述业务匹配模块,具体用于参考所述用户信息模块中的用户私有信息,根据所述服 务器创建的Mashup应用逻辑绑定所述业务目录模块中的本地服务。
全文摘要
本发明的实施例公开的一种客户端和服务器动态协助的业务聚合方法,包括服务器接收到客户端的Mashup业务创建请求后,创建Mashup应用逻辑;根据Mashup应用逻辑绑定第三方服务,并根据所述客户端绑定的本地服务和服务器绑定的第三方服务,与所述客户端协商确定绑定的具体服务;然后根据所述绑定的具体服务和所述Mashup应用逻辑生成业务逻辑流程,与所述客户端并行同步执行所述业务逻辑流程。另外还提供了一种Mashup服务器和Mashup客户端。本发明的实施例能够增强Mashup业务用户体验,降低Mashup应用创建的复杂度,平衡客户端或服务器的处理能力,同时可以充分保障用户个人的信息安全。
文档编号H04L29/06GK102098211SQ20091026052
公开日2011年6月15日 申请日期2009年12月11日 优先权日2009年12月11日
发明者斯特凡·施特格利希, 李彦, 海科·普费弗, 马其锋 申请人:华为技术有限公司, 德国弗劳恩霍夫应用研究促进协会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1