基于语义的Web服务自动调用及QoS信息监测方法

文档序号:6629064阅读:512来源:国知局
基于语义的Web服务自动调用及QoS信息监测方法
【专利摘要】本发明涉及Web服务【技术领域】,为实现对Web服务的可用性、响应时间等QoS信息的监测,极大地解决人工输入参数的负担,节省时间和开销,并保证QoS的准确性和时效性。为此,本发明采取的技术方案是,基于语义的Web服务自动调用及QoS信息监测方法(1)解析Web服务的WSDL文件;(2)建立基于DBpedia关联数据的Web服务标注模型;(3)判断标注结果是否为本体概念;(4)将标注的本体概念作为宾语;(5)利用JavaScript发送封装有SPARQL查询语句的请求给DBpedia SPARQL协议终端http://dbpedia.org/sparql;本发明主要应用于Web服务。
【专利说明】基于语义的Web服务自动调用及QoS信息监测方法

【技术领域】
[0001] 本发明涉及Web服务【技术领域】,具体来说,涉及一种基于语义的Web服务自动调用 方法,以及自动的服务QoS监测方法。 技术背景
[0002] Web服务是实现面向服务计算的主要技术,是面向服务的架构(S0A)的最佳实现。 服务接口描述,如Web服务描述语言(WSDL)定义的机器可读格式的接口,从数据和功能两 个方面定义软件所支持的操作,描述了服务运行环境、输入/输出参数等信息。目前S0A软 件测试得到了研究者和开发者的广泛关注,基于服务的软件系统测试必要考虑三个因素: 自动化、动态协同能力、服务自主计算。服务重构需要持续在互联网上验证与确认以保证 Web服务在功能和性能上满足实际生活应用的需求。
[0003] 此外,服务质量(Quality of Service, QoS)从不同角度对服务的质量进行了评 估,如响应时间、可用性、安全性、可靠性、服务价格、吞吐量、准确性、可扩展性、并发处理能 力等。QoS信息在Web服务的发现、组合、交互过程中起着重要作用,是Web服务满足服务请 求者需求能力的一种度量。目前QoS数据的获取主要依赖服务提供商的发布和用户的反馈 信息,这两种方式都是主观获取方式。此外,随着服务数量的增长,对于批量的服务,手工配 置参数的方式不仅耗费时间,还极易出现错误。Web服务发布之后可能会被更改和演化,月艮 务的QoS信息也需要被更新,从而保持信息的时效性。通过自动地服务调用运行服务来采 集QoS数据,可以避免服务提供商提供的虚假信息和客户的主观评价差异,使得QoS数据具 有更好的准确性与及时性。因此,实现Web服务调用自动化,能够使得服务测试与QoS监测 自动化,极大地解决人工输入参数的负担,节省时间和开销。
[0004] 实现服务的自动化调用最重要内容是参数数据的自动化生成。然而,自动化参数 数据生成有一定的困难。在S0A中,服务松散地耦合,这意味着它们独立于彼此而开发,从 而不具有一致的共同接口。因此,如何保证Web服务请求者能够提供Web服务提供者需要的 输入信息,成为了亟待解决的问题。目前,语义Web服务的提出为了实现机器可理解的Web 服务,旨在实现自动化的Web服务发现及组合等过程。但是,语义Web服务发现方法中没有 专门对QoS的描述,QoS监测仍然需要人工参与,因此仍然无法支持批量地、自动地服务调 用以及QoS信息获取。
[0005] 针对以上问题,有必要提出一种Web服务自动调用及QoS信息监测方法,方便于批 量的服务QoS信息实时监测。


【发明内容】

[0006] 为克服现有技术的不足,利用基于服务接口的描述文档和语义网技术,自动生成 Web服务的调用数据并与Web服务交互,实现对Web服务的可用性、响应时间等QoS信息的 监测,极大地解决人工输入参数的负担,节省时间和开销,并保证QoS的准确性和时效性。 为此,本发明采取的技术方案是,基于语义的Web服务自动调用及QoS信息监测方法
[0007] (1)解析Web服务的WSDL文件,获取服务名称、服务接口名称、服务接口描述、服务 参数名称、服务参数类型;
[0008] (2)利用DBpedia本体标注服务参数,包括建立基于DBpedia关联数据的Web服务 标注模型,对Web服务参数层进行参数精化和清洗,利用DBpedia Spotlight应用将Web服 务的每个清洗后的参数关联到一个合适的DBpedia实例数据或本体概念上;
[0009] (3)判断标注结果是否为本体概念,如果是,则执行步骤(4);如果否,则执行步骤
[10] ;
[0010] ⑷将标注的本体概念作为宾语,谓语为资源描述框架(RDF)的rdf:type 属性,按照简单协议和资源描述框架查询语言(Simple Protocol and RDF Query Language, SPARQL)的语法规则,生成SPARQL语句;
[0011] (5)利用JavaScript发送封装有SPARQL查询语句的请求给DBpedia SPARQL协议 http://dbpedia. org/sparql ;
[0012] (6)获取对象符号 JS0N(JavaScript Object Notation, JavaScript)格式的服务 返回结果,对其进行解封装;
[0013] (7)判断返回结果是否包含实例,如果是,则执行步骤(8);如果否,则执行步骤 (11);
[0014] (8)获取返回结果的实例列表,即为该本体概念下的实例值的列表;
[0015] (9)顺序读取实例列表中的一个实例值;
[0016] (10)判断该实例值是否包含除大小写字母和下划线以外的字符,如果是,则执行 步骤(9);如果否,则执行步骤(12);
[0017] (11)基于约束限制模型生成服务参数的测试数据;
[0018] (12)根据测试数据,自动生成参数的可扩展标记语言(XML)文件;
[0019] (13)利用XML文件调用Web服务,获取QoS信息;
[0020] (14)记录得到的该服务的QoS信息;
[0021] (15)设定定时自动更新QoS信息的时间周期,到期后触发QoS自动监测工作,即执 行步骤(1)。
[0022] 本发明的步骤(11)具体过程如下:
[0023] 1L 1读取服务的参数信息;
[0024] 11. 2判断该参数是否为简单数据类型,如果是,则执行步骤11. 5,;如果否,则执 行步骤11. 3 ;
[0025] 11. 3分解复杂类型的参数;
[0026] 11. 4判断复杂参数分解后的参数是否为简单类型,如果是,则执行步骤11.5 ;如 果否,则执行步骤11. 3继续分解复杂类型参数;
[0027] 11. 5获取该参数信息及约束条件;
[0028] 11. 6判断该参数是否为XML架构的pattern元素,如果是,则执行步骤11. 7,;如 果否,则执行步骤11. 8;
[0029] 11. 7调用REX(XML远程事件,Remote Events for XML)生成参数的测试值,执行 步骤11. 10 ;
[0030] 11. 8设置参数的范围、大小、长度约束限制;
[0031] 11. 9随机生成参数测试值;
[0032] 11. 10记录基于约束限制模型生成服务参数的测试数据。
[0033] 本发明的步骤(13)具体过程如下:
[0034] 13. 1新建Axis2服务客户端;
[0035] 13. 2解析测试参数的XML文件;
[0036] 13. 3将测试参数值封装成Axis2中的OMElement对象;
[0037] 13. 4根据服务的接口调用Web服务;
[0038] 13. 5判断服务调用是否成功,如果是,则执行步骤13. 6 ;如果否,则执行步骤 13. 10 ;
[0039] 13. 6根据发送请求到接受响应信息的间隔时间,计算服务的响应时间;
[0040] 13. 7在给定的一段时间内,根据服务总的调用次数,计算服务的吞吐率;
[0041] 13. 8在给定的一段时间内,根据服务被成功交付的次数,计算服务的可靠性;
[0042] 13. 9记录服务的QoS监测日志,包括记录服务调用的时间、调用的次数等,执行步 骤 13. 12 ;
[0043] 13. 10利用AxisFault获取异常信息,其异常情况包括连接异 常(ConnectException)、输入输出异常(I/O Exception)、未知主机异常 (UnknownHostException)、超文本传送协议301错误(HTTP 301Erro;r)、超文本传送协议 302错误(HTTP 302Error)、简单对象访问协议异常(SoapException);
[0044] 13. 11将异常情况的分析结果记录到服务的调用异常日志中;
[0045] 13. 12根据调用及异常分析结果,获取服务的可访问性。
[0046] 与已有技术相比,本发明的技术特点与效果:
[0047] 本发明通过自动调用Web服务,实现对Web服务的可用性、响应时间等QoS信息的 监测,极大地解决人工输入参数的负担,节省时间和开销,并保证QoS的准确性和时效性; 同时,本发明还有利于提高服务质量,提高服务消费者的可知性。

【专利附图】

【附图说明】
[0048] 图1为本发明提供的Web服务自动调用及QoS信息监测方法的流程图;
[0049] 图2为本发明提供的基于约束限制模型生成参数测试数据的流程图;
[0050] 图3为本发明提供的自动获取QoS信息方法的流程图;
[0051] 图4为本发明提供的调用Web服务返回信息的异常处理分支情况。

【具体实施方式】
[0052] 本发明采用的技术方案是:
[0053] (1)解析Web服务的WSDL文件,获取服务名称、服务接口名称、服务接口描述、服务 参数名称、服务参数类型;
[0054] (2)利用DBpedia本体标注服务参数,包括建立基于DBpedia关联数据的Web服务 标注模型,对Web服务参数层进行参数精化和清洗,利用DBpedia Spotlight应用将Web 服务的每个清洗后的参数关联到一个合适的DBpedia实例数据或本体概念上(参见专利 201310172375. 1);
[0055] (3)判断标注结果是否为本体概念,如果是,则执行步骤(4);如果否,则执行步骤 (10);
[0056] (4)将标注的本体概念作为宾语,谓语为RDF的rdf: type属性,按照SPARQL语法 规则,生成SPARQL语句;
[0057] (5)利用JavaScript发送封装有SPARQL查询语句的请求给DBpedia SPARQL协议 http://dbpedia. org/sparql ;
[0058] (6)获取JS0N格式的服务返回结果,进行解封装;
[0059] (7)判断返回结果是否包含实例,如果是,则执行步骤⑶;如果否,则执行步骤 (11);
[0060] (8)获取返回结果的实例列表,即为该本体概念下的实例值的列表;
[0061] (9)顺序读取实例列表中的一个实例值;
[0062] (10)判断该实例值是否包含除大小写字母和下划线以外的字符,如果是,则执行 步骤(9);如果否,则执行步骤(12);
[0063] (11)基于约束限制模型生成服务参数的测试数据;
[0064] (12)根据测试数据,自动生成参数的XML文件;
[0065] (13)利用XML文件调用Web服务,获取QoS信息;
[0066] (14)记录得到的该服务的QoS信息;
[0067] (15)设定定时自动更新QoS信息的时间周期,到期后触发QoS自动监测工作,即执 行步骤(1)。
[0068] 本发明的步骤(11)具体过程如下:
[0069] 11. 1读取服务的参数信息;
[0070] 11. 2判断该参数是否为简单数据类型,如果是,则执行步骤11. 5,;如果否,则执 行步骤11. 3 ;
[0071] 1L 3分解复杂类型的参数;
[0072] 11. 4判断复杂参数分解后的参数是否为简单类型,如果是,则执行步骤11.5 ;如 果否,则执行步骤11. 3继续分解复杂类型参数;
[0073] 11. 5获取该参数信息及约束条件;
[0074] 11. 6判断该参数是否为XML架构的pattern元素,如果是,则执行步骤11. 7,;如 果否,则执行步骤11. 8;
[0075] 11. 7调用REX(XML远程事件,Remote Events for XML)生成参数的测试值,执行 步骤11. 10 ;
[0076] 11. 8设置参数的范围、大小、长度约束限制;
[0077] 1L 9随机生成参数测试值;
[0078] 11. 10记录基于约束限制模型生成服务参数的测试数据。
[0079] 本发明的步骤(13)具体过程如下:
[0080] 13. 1新建Axis2服务客户端;
[0081] 13. 2解析测试参数的XML文件;
[0082] 13. 3将测试参数值封装成Axis2的OMElement对象;
[0083] 13. 4根据服务的接口调用Web服务;
[0084] 13. 5判断服务调用是否成功,如果是,则执行步骤13. 6 ;如果否,则执行步骤 13. 10 ;
[0085] 13. 6根据发送请求到接受响应信息的间隔时间,计算服务的响应时间;
[0086] 13. 7在给定的一段时间内,根据服务总的调用次数,计算服务的吞吐率;
[0087] 13. 8在给定的一段时间内,根据服务被成功交付的次数,计算服务的可靠性;
[0088] 13. 9记录服务的QoS监测日志,包括记录服务调用的时间、调用的次数等,执行步 骤 13. 12 ;
[0089] 13. 10利用AxisFault获取异常信息,其异常情况包括ConnectException、I/O Exception、UnknownHostException、HTTP 301Error、HTTP 302Error、SoapException ;
[0090] 13. 11将异常情况的分析结果记录到服务的调用异常日志中;
[0091] 13. 12根据调用及异常分析结果,获取服务的可访问性。
[0092] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
[0093] 为了减少人工输入参数的负担,保证QoS的准确性和时效性,本发明实施提供了 一种Web服务自动调用及QoS信息监测方法,参见图1,图2和图3,详见下文描述:
[0094] (1)解析Web服务的WSDL文件,可以利用Dom4j工具解析Web服务文档,从而获取 对应标签下的服务名称、服务接口名称、服务接口描述、服务参数名称、服务参数类型;
[0095] (2)利用DBpedia本体标注服务参数,包括建立基于DBpedia关联数据的Web服 务标注模型,对Web服务参数层进行参数精化和清洗,利用DBpedia Spotlight应用将Web 服务的每个清洗后的参数关联到一个合适的DBpedia实例数据或本体概念上(参见专利 201310172375. 1);
[0096] (3)判断标注结果是否为本体概念,如果是,则需要找到对应的实例作为参数的测 试数据,即执行步骤(4);如果否,则可直接利用该标注实例作为参数的测试数据,即执行 步骤(10);
[0097] (4)将标注的本体概念作为宾语,谓语为rdf: type,按照SPARQL (简单协议和资源 描述框架查询语言,Simple Protocol and RDF Query Language)语法规则,生成SPARQL语 句,下面为 DBpedia 本体概念 http://dbpedia. org/ontology/Currency 对应的 SPARQL 语 句,获取的前2000个实例值;
[0098] PREFIX owl :<http ://www. w3. org/2002/07/owl#>
[0099] PREFIX xsd :<http ://wwww. w3. org/2001/XMLSchema#>
[0100] PREFIX rdfs :<http ://www. w3. org/2000/01/rdf-schema#>
[0101] PREFIX rdf :<http ://www. w3. org/1999/02/22-rdf-syntax-ns#>
[0102] PREFIX foaf :<http ://xmlns. com/foaf/0. l/>
[0103] PREFIX dc :<http ://purl. org/dc/elements/1. l/>
[0104] PREFIX :<http ://dbpedia. org/resource/>
[0105] PREFIX dbpedia2 :<http ://dbpedia. org/property/>
[0106] PREFIX dbpedia :<http ://dbpedia. org/>
[0107] PREFIX skos :<http ://www. w3. org/2004/02/skos/core#>
[0108] SELECT*WHERE {
[0109] ? subject rdf :type<http ://dbpedia. org/ontology/Currency>
[0110] }LIMIT2000
[0111] (5)利用JavaScript发送封装有SPARQL查询语句的请求给DBpedia SPARQL协议 终端 http ://dbpedia. org/sparql ;
[0112] (6)获取JSON格式的服务返回结果,进行解封装;
[0113] (7)判断返回结果是否包含实例,如果是,则执行步骤(8);如果否,则执行步骤 (11),因为有些本体概念是无法查询到其对应的实例,如对于DBpedia本体的IP_address 类,我们不能得到实例结果,因此需要利用参数信息及约束来自动生成参数的测试数据;
[0114] (8)获取返回结果的实例列表,即为该本体概念下的实例值的列表如Currency 概念对应的实例有 http ://dbpedia. org/resource/Krak % C3 % B3w_z % C5 % 82oty、 http ://dbpedia. org/resource/Polish_Z% C5% 82oty>http ://dbpedia. org/resource/ Straits_Dollar 等实例值;
[0115] (9)顺序读取实例列表中的一个实例值;
[0116] (10)判断该实例值是否包含除大小写字母和下划线以外的字符,如果是,则执行 步骤(9),如上述Currency概念,则取第三个实例作为参数的测试数据,而前面两个实例值 被过滤掉,这样就保留了更符合人理解的实例值,增加服务调用成功率;如果否,则执行步 骤(12);
[0117] (11)基于约束限制模型生成服务参数的测试数据;
[0118] (12)根据测试数据,自动生成参数的XML文件,自动生成参数的XML文件, PostalCodeWorld_Mexico为Web服务下的方法名,在它下面有PostalCode和LICENSE两个 参数,而我们算法实现自动生成参数就是这两个标签的值,其中PostalCode下的参数值为 基于本体概念下的参数生成算法生成的,LICENSE下的参数值为基于约束限制下的参数生 成算法生成的;
[0119] <?xml version='*1.0" eocoding=*'UTF-8'*?> -<root> -<PostaiCodeWortd_Mexico> -《parameters》 <PostafCode> 101_California_Street</PostalCode> <OCENSE>Utu</LlCEMSE> 《/parameters》 《/Postal Code World_MexSco》 </root>
[0120] (13)利用XML文件调用Web服务,获取QoS信息;
[0121] (14)记录得到的该服务的QoS信息;
[0122] (15)设定定时自动更新QoS信息的时间周期,到期后触发QoS自动监测工作,即执 行步骤(1)。
[0123] 本发明的步骤(11)是基于约束限制模型生成参数测试数据方法,是在参数对应 的实例值为空的情况下执行的,是将全局变量中得到的参数信息和约束条件,根据其简单 数据类型、范围、大小、长度限制利用随机生成算法得到参数值。其流程参见图2,具体过程 如下:
[0124] 11. 1读取服务的参数信息,在上述步骤(1)的基础上即可直接得到参数信息;
[0125] 11. 2判断该参数是否为简单数据类型,如果是,则执行步骤11.5,;如果否,则执 行步骤11. 3 ;
[0126] 11. 3根据WSDL文档定义,分解复杂类型的参数;
[0127] 11. 4判断复杂参数分解后的参数是否为简单类型,如果是,则执行步骤11.5 ;如 果否,则执行步骤11. 3继续分解复杂类型参数;
[0128] 11. 5获取该参数信息及约束条件;
[0129] 11. 6判断该参数是否为XML架构的pattern元素,如果是,则执行步骤11. 7,;如 果否,则执行步骤11. 8 ;具体地,基于约束模型的参数生成的算法如下:
[0130] V WS0L £ W €· Wife toiief Boaii; if ....Γ .* ....二.3 ::...卜.κ ^ ι.j^p-?tapceof :*:r 1 L---*: ντ;-.-- zt -- ? xnstaRcecjf >:.r. 1 , :i.: : .: V. . Π; 4:.. ,.....: _ ·"!··. else i \ . ..instance-of , .,-r -;:-:; ;/: :- - i ,-- : v-f -i -..:.j - "-- ?ls? if I . * 1^:: .l· :. 士!:? > .c.d.j.:i; erm ?Ise if · . : :, iiir.t*nceof -r F : r V.j ;1 fi Yl - nrlse i £ i .:….: i :..,二 *乂.:.. : j .. i . \1--? Kz'Jl- *ls色 if i :'.. Γs -::: : " ; instAn.ceQf ^r... r: : -::f-K,:-:} i ----?ιρ > ::
[0131] 11. 7调用REX (XML远程事件,Remote Events for XML)生成参数的测试值,执行 步骤11. 10 ;
[0132] 11. 8设置参数的范围、大小、长度约束限制;
[0133] 11. 9若类型为int, String, float, date, bool等简单数据类型,随机生成参数测 试值;
[0134] 11. 10记录基于约束限制模型生成服务参数的测试数据。
[0135] 高质量的Web服务应当是稳定的、可靠的。为自动获取Web服务的QoS信息,本发 明将服务QoS描述为:QoS= {Rt,T,Rb,A},包括服务的响应时间(Response Time)、吞吐率 (Throughput)、可靠性(Reliability)以及可访问性(Availability)。其中,服务的响应 时间与当前的网路状况有一定的关系。响应时间等于用户发送请求到接受响应信息的间隔 时间,是服务处理时间和服务传输时间之和,公式为:T = Ts+Tc。其中Ts表示服务时间, Tc表示通信时间;服务的吞吐率是指给定的一段时间内,服务总的调用次数,吞吐率增加, 则响应时间也将变大;服务的可靠性是指在最大预期时间内,请求被正确响应的概率,可以 通过在最大预期时间内服务被成功交付的次数除以指总的调用次数计算得到;服务的可访 问性是指在某个特定的一段时间内服务可被访问的概率,可以通过服务可以被访问的总的 时间除以该时间段计算得到。
[0136] 本发明的步骤(13)是自动获取QoS信息方法,用Asix2对服务进行调用,并将自 动生成参数赋值给该服务,得到从服务器返回的信息,并对信息进行异常处理等操作。其流 程参见图3,具体过程如下:
[0137] 13. 1新建Axis2服务客户端;
[0138] 13. 2解析测试参数的XML文件;
[0139] 13. 3将测试参数值封装成Axis2的OMElement对象;
[0140] 13. 4根据服务的接口调用Web服务;
[0141] 13. 5判断服务调用是否成功,如果是,则执行步骤13. 6 ;如果否,则执行步骤 13. 10 ;
[0142] 13. 6根据发送请求到接受响应信息的间隔时间,计算服务的响应时间;
[0143] 13. 7在给定的一段时间内,根据服务总的调用次数,计算服务的吞吐率;
[0144] 13. 8在给定的一段时间内,根据服务被成功交付的次数,计算服务的可靠性;
[0145] 13. 9记录服务的QoS监测日志,包括记录服务调用的时间、调用的次数等,执行步 骤 13. 12 ;
[0146] 13. 10利用AxisFault获取异常信息,其异常情况包括ConnectException、1/ 0 Exception、UnknownHostException、HTTP 301Error、HTTP 302Error、SoapException, 若异常结果为 ConnectException、1/0 Exception、UnknownHostException 导致的连接时 间超时,可用认为此类服务已经不再存活;若异常结果为HTTP 301Error、HTTP 302Error、 SoapException是由于SoapAction异常导致;若异常结果为所有方法参数调用失败,贝lj为 自动生成参数不合法导致。
[0147] 13. 11将异常情况的分析结果记录到服务的调用异常日志中;
[0148] 13. 12根据调用及异常分析结果,获取服务的可访问性。
【权利要求】
1. 一种基于语义的Web服务自动调用及QoS信息监测方法,其特征是,包括下列步骤: (1) 解析Web服务的WSDL文件,获取服务名称、服务接口名称、服务接口描述、服务参数 名称、服务参数类型; (2) 利用DBpedia本体标注服务参数,包括建立基于DBpedia关联数据的Web服务标注 模型,对Web服务参数层进行参数精化和清洗,利用DBpedia Spotlight应用将Web服务的 每个清洗后的参数关联到一个合适的DBpedia实例数据或本体概念上; (3) 判断标注结果是否为本体概念,如果是,则执行步骤(4);如果否,则执行步骤 (10); (4) 将标注的本体概念作为宾语,谓语为rdf:type,按照简单协议和资源描述框架查 询语言SPARQL语法规则,生成SPARQL语句; (5) 利用JavaScript发送封装有SPARQL查询语句的请求给DBpedia SPARQL协议终端 http://dbpedia.org/sparql ; (6) 获取JS0N格式的服务返回结果,对其进行解封装; ⑵判断返回结果是否包含实例,如果是,则执行步骤⑶;如果否,则执行步骤(11); (8) 获取返回结果的实例列表,即为该本体概念下的实例值的列表; (9) 顺序读取实例列表中的一个实例值; (10) 判断该实例值是否包含除大小写字母和下划线以外的字符,如果是,则执行步骤 (9);如果否,则执行步骤(12); (11) 基于约束限制模型生成服务参数的测试数据; (12) 根据测试数据,自动生成参数的XML文件; (13) 利用XML文件调用Web服务,获取QoS信息; (14) 记录得到的该服务的QoS信息; (15) 设定定时自动更新QoS信息的时间周期,到期后触发QoS自动监测工作,即执行步 骤⑴。
2. 如权利要求1所述的基于语义的Web服务自动调用及QoS信息监测方法,其特征是, 步骤(11)具体过程如下: 11. 1读取服务的参数信息; 11. 2判断该参数是否为简单数据类型,如果是,则执行步骤11. 5,;如果否,则执行步 骤 11. 3 ; 11. 3分解复杂类型的参数; 11. 4判断复杂参数分解后的参数是否为简单类型,如果是,则执行步骤11. 5 ;如果否, 则执行步骤11. 3继续分解复杂类型参数; 11. 5获取该参数信息及约束条件; 11. 6判断该参数是否为XML架构的pattern元素,如果是,则执行步骤11. 7,;如果否, 则执行步骤11. 8 ; 11. 7调用REX生成参数的测试值,执行步骤11. 10 ; 11. 8设置参数的范围、大小、长度约束限制; 11. 9随机生成参数测试值; 11. 10记录基于约束限制模型生成服务参数的测试数据。
3.如权利要求1所述的基于语义的Web服务自动调用及QoS信息监测方法,其特征是, 步骤 (13)具体过程如下: 13. 1新建Axis2服务客户端; 13. 2解析测试参数的XML文件; 13. 3将测试参数值封装成OMElement对象; 13. 4根据服务的接口调用Web服务; 13. 5判断服务调用是否成功,如果是,则执行步骤13. 6 ;如果否,则执行步骤13. 10 ; 13. 6根据发送请求到接受响应信息的间隔时间,计算服务的响应时间; 13. 7在给定的一段时间内,根据服务总的调用次数,计算服务的吞吐率; 13. 8在给定的一段时间内,根据服务被成功交付的次数,计算服务的可靠性; 13. 9记录服务的QoS监测日志,包括记录服务调用的时间、调用的次数等,执行步骤 13. 12 ; 13. 10利用AxisFault获取异常信息,其异常情况包括ConnectException、I/O Exception、UnknownHostException、HTTP 301Error、HTTP 302Error、SoapException ; 13. 11将异常情况的分析结果记录到服务的调用异常日志中; 13. 12根据调用及异常分析结果,获取服务的可访问性。
【文档编号】G06F11/34GK104268070SQ201410515034
【公开日】2015年1月7日 申请日期:2014年9月29日 优先权日:2014年9月29日
【发明者】冯志勇, 张祯, 陈世展 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1