[发明专利]一种基于组合服务柔性描述模型的服务调用引擎方法有效

专利信息
申请号: 201710493681.3 申请日: 2017-06-26
公开(公告)号: CN107135113B 公开(公告)日: 2019-11-08
发明(设计)人: 王学斌;林正;杨志华;周红芳;陆佳炜;马俊;张元鸣;高飞;肖刚 申请(专利权)人: 浙江省特种设备检验研究院;浙江西子富沃德电机有限公司;浙江工业大学
主分类号: H04L12/24 分类号: H04L12/24;H04L29/08
代理公司: 杭州九洲专利事务所有限公司 33101 代理人: 姚旺波;王洪新
地址: 310020 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明属于互联网通讯技术领域,涉及服务调用引擎方法,第一步:对已经发布在互联网上的SOAP服务和REST服务进行集成;第二步:对集成后的SOAP服务和REST服务采用柔性描述模型进行建模;第三步:基于所述原子服务柔性描述模型,定义SOAP服务和REST服务调用方法:第四步:在前三步的基础上,根据原子服务构成组合服务的组合情况,给出各类组合情况的定义;第五步:根据第四步所述原子服务构成组合服务的组合情况,结合原子服务柔性描述模型,给出组合服务柔性描述模型;第六步:根据所述组合服务柔性描述模型,给出组合服务调用引擎执行步骤。
搜索关键词: 一种 基于 组合 服务 柔性 描述 模型 调用 引擎 方法
【主权项】:
1.一种基于组合服务柔性描述模型的服务调用引擎方法,其特征在于:包括如下步骤:第一步:对已经发布在互联网上的SOAP服务和REST服务进行集成;1.1、SOAP服务集成;首先通过人工手动收集WSDL或者爬虫程序爬取发布在互联网上的WSDL,其次对WSDL进行解析得到服务的具体描述信息并用SOAP服务柔性描述模型描述;1.2、REST服务集成;采用人工获取或者爬虫程序爬取发布在互联网上的REST网页,对其解析提取出REST服务相关描述信息,至少包含服务的名称、功能、发布地址、输入参数、输出参数的信息;第二步:对集成后的SOAP服务和REST服务采用柔性描述模型进行建模;2.1、SOAP服务柔性描述模型;SOAP服务柔性描述模型为定义1,至少包含SOAP服务的基本描述属性、SOAP服务的输入参数、返回信息以及用来实现SOAP服务调用的SOAP请求体信息;定义1:SOAP服务柔性描述模型是由基本描述属性、SOAP请求体、输入参数、返回信息组成的四元组;可形式化表示为如下形式SOAP‑FDM=<attributes,soapRequestBody,inputParams,outputParams>。·attributes描述服务的基本信息,至少包含服务的名称、类型、描述信息、发布地址、调用方法、来源;·soapRequestBody来自于dom4J的JAVA库解析WSDL文件,用来与SOAP服务器进行通信,实现SOAP服务的自动化调用;·inputParams描述了所需的输入参数信息,包括输入参数的个数、类型、含义;可形式化表述为inputParams=<param1,param2,…,paramn>;其中,param是一个二元组,由参数类型type、输入参数描述inputParamDes组成,即param=<type,inputParamDes>;·outputParams描述了返回信息,包含返回信息的含义以及类型;可形式化表述为outputParams=<param1,param2,…,paramn>;其中,param是一个二元组,由参数类型type、输出参数描述outputParamDes组成,即param=<type,outputParamDes>;其中,attributes是一个九元组,可形式化表示为如下形式:attributes=<id,url,serviceType,name,chiName,method,description,comeFrom,area>id是每个服务的唯一标识符;url是服务发布的地址;serviceType是明服务类型,取值为soap或者rest;name是服务的英文名称;chiName是服务的中文名称;method是服务调用的方法,取值为post、get、put、delete;description是服务的功能描述;comeFrom是服务的来源;area是服务所属的领域。2.2、REST服务柔性描述模型;REST服务柔性描述模型为定义2,包含了REST服务的基本描述属性、REST服务的输入参数、返回信息;定义2:REST服务柔性描述模型是由基本描述属性、输入参数、返回信息组成的三元组,可形式化表示为如下形式:REST‑FDM=<attributes,inputParams,outputParams>。·attributes至少包含服务的名称、类型、描述信息、发布地址、调用方法、来源;·inputParams描述了所需的输入参数信息,包括输入参数的个数、类型、含义;·outputParams描述了返回信息,包含返回信息的含义以及类型;其中,attributes是一个十一元组,可形式化表示为如下形式:attributes=<id,url,serviceType,queryType,contentType,name,chiName,method,description,comeFrom,area>其中,id是每个服务的唯一标识符;url是服务发布的地址;serviceType是明服务类型,取值为soap或者rest;queryType属性指明了REST服务的参数来源,至少包含以下几类标注:@PathParam、@QueryParam、@HeaderParam、@CookieParam、@MatrixParam、@FormParam;其中,@PathParam表明请求来自于url的路径,@QueryParam表明请求自于url的查询参数;contentType为浏览器端以编码格式接收返回结果;name是服务的英文名称;chiName是服务的中文名称;method是服务调用的方法,取值为post、get、put、delete;description是服务的功能描述;comeFrom是服务的来源;area是服务所属的领域;第三步:基于原子服务柔性描述模型,SOAP服务和REST服务调用方法如下:3.1:SOAP服务调用方法;根据SOAP服务柔性描述模型,生成SOAP服务的请求体,将用户输入的信息与所生成的SOAP服务请求体进行拼接替换生成本次访问的、真实的SOAP请求体,并采用JAVA语言的HttpURLConnection类将该请求体发送至SOAP服务器,实现SOAP服务的调用;3.2:REST服务调用方法;根据REST服务柔性描述模型,生成REST服务的请求体,将用户输入的信息与所生成的REST服务请求体进行拼接替换生成本次访问的、真实的REST请求体,并采用JAVA语言的HttpURLConnection类将该请求体发送至REST服务器,实现REST服务的调用;第四步:在步骤一至步骤三的基础上,根据原子服务构成组合服务的组合情况,给出各类组合情况的定义;记iPi,oPi分别为ASi的输入参数,输出参数,iPj,oPj分别为ASj的输入参数,输出参数,f为输入参数与输出参数之间的依赖关系,则各类组合情况的定义如下:定义3:顺序结构;对于原子服务ASi,ASj,若则ASi→ASj,即ASi与ASj之间是顺序结构依赖,ASi为ASj的儿子节点,ASi为ASj的父亲节点;定义4:同步结构;对于原子服务AS1、AS2、…、ASm以及ASj,若则AS1∧AS2∧…∧ASm→ASj;定义5:合并结构;对于原子服务AS1、AS2、…、ASm以及ASj,若则AS1∨AS2∨…∨ASm→ASj;定义6:选择结构;对于原子服务ASi以及AS1、AS2、…、ASm,若则ASi→AS1∨AS2∨…∨ASm;定义7:并发结构;对于原子服务ASi以及AS1、AS2、…、ASm,若则ASi→AS1∧AS2∧…∧ASm;第五步:根据第四步所述原子服务构成组合服务的组合情况,结合定义1、定义2所述的原子服务柔性描述模型,给出组合服务柔性描述模型如下:定义8:组合服务柔性描述模型是由基本描述属性、服务组合关系集合、服务节点集合组成的三元组;可形式化表示为如下形式:CDS‑FDM=<attributes,links,nodes>;除了包含了组合服务的基本功能信息外,还包含了构成组合服务的原子服务组合信息以及对应的各个原子服务之间的参数匹配关系;其中:·attributes至少包含服务的id、名称、描述信息、领域、来源;·links节点内包含了各个原子服务之间的组合关系;可形式化描述为links=<father,child,and,or,end,paramMatch>;其中,father代表组合关系可分为父节点关系;child代表组合关系可分为儿子节点关系;and为与操作,用来定义顺序结构、同步结构和并发结构;or为或操作,用来定义合并结构与选择结构;end描述了组合服务最终的输出节点;paramMatch节点用来描述原子服务之间的输入输出参数依赖关系;·nodes节点包含了该组合服务所涉及到的所有原子服务;其中,attributes是一个七元组,可形式化表示为如下形式:attributes=<id,name,chiName,description,area,comeFrom,contentType>其中,id是每个组合服务的唯一标识符;name是服务的英文名称;chiName是服务的中文名称;description是服务的功能描述;area是服务所属的领域;comeFrom是服务的来源;contentType为浏览器端以编码格式接收返回结果;第六步:根据所述组合服务柔性描述模型,给出组合服务调用引擎执行步骤:6.1、发起原子服务调用请求;组合服务由有限个数的原子服务组合而成,用户选取组合服务中的某一个原子服务ASi,输入ASi所需的输入参数,发起调用请求;6.2、调用判断;服务调用引擎接收到用户发起的调用请求,在组合服务缓存池中查找调用请求所属的组合服务网络,并判断ASi是否满足以下调用条件之一,满足即可执行调用请求:1)当ASi不存在儿子节点时,判断ASi执行所需的输入参数是否满足,若满足,则执行本次调用;若不满足,则将本次用户发起调用请求中的输入参数缓存到组合服务缓存池中该调用请求所属的组合服务网络,等待用户发起新的调用请求;2)当ASi存在儿子节点时,判断组合服务缓存池中ASi的所有儿子节点是否都已执行完毕,若完毕,则执行本次调用;若未完毕,则将本次用户发起调用请求中的输入参数缓存到组合服务缓存池中该调用请求所属的组合服务网络,等待用户发起新的请求,将所有的儿子节点执行完毕;6.3、执行调用请求;当步骤6.2服务调用引擎判断本次调用请求满足执行条件时,服务调用引擎发起模拟访问请求得到本次调用的返回结果,并将得到的返回结果更新到组合服务缓存池中该调用请求所属的组合服务网络中;6.4、end输出节点判断;服务调用引擎判断本次调用的服务节点ASi是否为组合服务的end输出节点,若为end输出节点,则输出本次调用结果;若非end输出节点,则执行步骤6.5;6.5、对ASi的所有父节点进行模拟访问,执行步骤6.2至6.4;6.6、组合服务网络状态判断;当步骤6.5中ASi的所有父节点、祖父节点、曾祖父节点等祖先节点都执行过步骤6.2至6.4,此时组合服务网络达到稳定状态,等待用户发起新的调用请求;当存在一个ASi的祖先节点仍未执行完毕时,则组合服务网络处于演化推进状态,继续对ASi的祖先节点执行步骤6.2至6.4,直到ASi的所有祖先节点都执行过6.2至6.4,即组合服务网络达到稳定状态为止。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江省特种设备检验研究院;浙江西子富沃德电机有限公司;浙江工业大学,未经浙江省特种设备检验研究院;浙江西子富沃德电机有限公司;浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201710493681.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top