发明名称 基于前后置条件的Web服务交互式组合方法
摘要 本发明公开了一种基于前后置条件的Web服务交互式组合方法,包括下列步骤:1、用户需求规则库建立模块将用户的输入、输出和约束条件表达成用户需求规则,建立用户需求规则库;2、服务规则库建立模块生成所有服务对应的服务规则,建立服务规则库;3、服务自动组合模块利用用户需求规则库和服务规则库为用户请求的每一个目标输出对象构建其对应的生成树,并使用用户需求规则库中的约束规则,组合这些生成树,得到复合服务的流程。本发明的方法,能够适应Internet的变化性、开放性和动态性,充分整合利用Internet上的Web服务资源,用于各种数据的比较、获取及运算,提高计算机系统Web服务组合的可扩展性和自动化程度。
申请公布号 CN102135998B 申请公布日期 2013.04.10
申请号 CN201110072251.7 申请日期 2011.03.24
申请人 浙江大学 发明人 李莹;张晓容;吴朝晖
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 杭州裕阳专利事务所(普通合伙) 33221 代理人 冉国政
主权项 1.一种基于前后置条件的Web服务交互式组合方法,该方法包括用户需求规则库建立模块、服务规则库建立模块和服务自动组合模块,其特征在于包括下列步骤:步骤一:所述用户需求规则库建立模块将用户的输入、输出和约束条件表达成用户需求规则,建立用户需求规则库计算机系统的用户需求规则库建立模块根据用户选择的领域得到领域本体,协助用户录入复合服务的输入、输出,以及一些约束条件,并将约束条件表达成规则,得到用户请求约束<img file="264172DEST_PATH_IMAGE001.GIF" wi="19" he="42" />,<img file="118995DEST_PATH_IMAGE001.GIF" wi="19" he="42" />包括选择、并行和循环条件;用户需求规则库建立模块将输入存储于UserInputTable中、将输出存储于UserOutputTable中、将约束条件规则存储于用户需求规则库中;步骤二:服务规则库建立模块生成所有服务对应的服务规则,建立服务规则库给定服务S={I,O},则该服务的产生式规则为:<img file="898732DEST_PATH_IMAGE002.GIF" wi="147" he="27" />,给定对象集合<img file="293942DEST_PATH_IMAGE003.GIF" wi="37" he="42" />,通过服务S的p操作的处理产生输出对象o,其中 o为输入集合中的某一个输出,i为输入集合中的某一个输入,I表示服务的输入集合,O表示服务的输出集合;依据服务之间的语义标注得到接口赋值规则,即建立服务之间接口赋值关系,给定两个服务S<sub>1</sub>=(I,O)、S<sub>2</sub>=(I,O),若S<sub>1</sub>的一个输出o与S<sub>2</sub>的一个输入i之间满足关系<img file="108314DEST_PATH_IMAGE004.GIF" wi="64" he="42" />,则该输出与输入之间存在一条接口赋值规则并记为<img file="868460DEST_PATH_IMAGE005.GIF" wi="80" he="62" />,表示给定对象o可以无条件得到对象i,<img file="135493DEST_PATH_IMAGE006.GIF" wi="77" he="42" />为两者之间的语义相似度;对所有参与组合的服务进行处理,得到每个服务的输入输出之间的产生式规则;将服务的产生式规则和服务的接口赋值规则存入服务规则库中,用于在服务组合时使用;当删除或新增Web服务时,对所述服务规则库进行更新;步骤三:服务自动组合模块利用用户需求规则库和服务规则库,为用户请求的每一个目标输出对象构建其对应的生成树,并使用用户需求规则库中的约束规则,组合这些生成树,最后得到复合服务的流程;计算机系统的服务自动组合模块利用服务规则库中的规则,对用户请求的每一个目标、包括用户需求约束中涉及到的目标,进行后向链推导而得到对象转换之间的生成树,在生成树中,将除根节点之外的任意一个节点的标识对象集合均通过该节点与根节点的路径逐步转化成根节点代表的输出对象,每一步转化均采用路径上的边所关联的规则;当为用户请求的每一个目标生成其完备生成树时,得到几棵互不相连的子树,子树即为小粒度的服务;服务自动组合模块将每棵子树的输出显示在用户界面上,用户为这些输出标记输入约束,服务自动组合模块将这些约束转化成用户约束规则,存入用户需求规则库中;将用户的约束规则作为每个子树的前后置条件,使用用户需求规则库中的约束规则,查看子树之间的前后置条件是否相符,依据查看结果对这些子树进行组合,在使用约束规则的地方插入对应的BPEL元素,从而得到一个完整的复合服务,完成服务的自动组合;计算机系统执行BPEL引擎,得到结果,反馈给用户。
地址 310027 浙江省杭州市西湖区浙大路38号