一种面向物联网应用的Web服务的冗余检测方法及系统的制作方法

文档序号:6429114阅读:123来源:国知局
专利名称:一种面向物联网应用的Web服务的冗余检测方法及系统的制作方法
技术领域
本发明涉及物联网的服务管理方法,特别涉及一种面向物联网应用的Web服务表示的冗余检测方法及系统。
背景技术
物联网(Internet ofThings, Ι0Τ)是一个新兴的概念,是一种通过射频识别 (RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的网络。通过物联网的定义可以看出,其核心和基础仍然是互联网,不同的是将互联网连接的用户端扩展到物品和物品。因此,提供商提供的各种物联网应用服务,可以通过hternet进行部署以便客户端远程访问和调用执行,将是物联网服务管理的一种必然发展趋势。Web服务(Web Service, WS)是当前hternet上最主要的一种服务实现技术,它通过Web服务描述语言(WSDL)对各种软件应用程序进行描述和封装,进而利用统一资源标识符(URI)对封装后的软件应用程序进行标识定位,通过简单对象访问协议(SOAP)进行消息通信,最终实现跨越不同地域、不同行业的服务间互操作。Web服务技术为hternet上的服务管理提供了有效的技术支撑。然而,面向具体的物联网应用,Web服务仍面临以下问题和挑战第一,从用户角度看,物联网的服务呈现海量的特点。一方面,这些服务大多会依赖底层的传感设备(如传感器),因此随着时间的增长,服务本身处理的数据将指数级增长;另一方面,接入^ternet的物品种类繁多、功能各异,将导致服务数量海量增长。在不影响用户服务质量的前提下,如果不对以上服务规模加以控制,将对现有的存储、搜索和通信技术产生巨大冲击,成为现阶段物联网发展的一个瓶颈。第二,从提供商角度看,物联网的服务呈现动态的特点。传感器等传感设备,随着使用的频度加大,会存在能量消耗过大、敏感度下降等问题。如果频繁更换硬件设备,或者根据传感器性能变化重新构建并发布新的服务,都将导致资源的严重浪费,并不是合理的解决方法。因此,当传感设备性能发生变化,适时的对相应服务做出动态调整就变得非常重要。在物联网应用中,传统的Web服务表示方法(WSDL2. 0)缺乏对服务功能的充分刻画,尤其缺乏对核心规则的描述,导致无法区别功能相似的服务而无法消除服务冗余,大大增加物联网服务的存储和搜索负担。因此,在WSDL2.0基础上,本发明提出了一种新的Web 服务表示方法,对WSDL语法进行了基于逻辑表达式的规则扩展,并进一步给出相应的服务冗余检测方法。因此,针对物联网应用的快速发展,如何解决以上Web服务技术存在的问题迫在眉睫。通过分析我们发现,解决问题的关键还是要在Web服务技术的核心基础,即Web服务表示上寻求突破。目前,Web服务表示主要采用IBM和微软等公司于2001年3月提出的WSDL描述语CN 102457569 A说明书2/9 页
言,后经修改于2007年6月获得W3C国际组织推荐,当前的最新版本为WSDL2. 0。WSDL2. 0是建立在XML语言基础上的服务描述规范,语法上以description为根元素,而description 根元素又封装了 types、interface、binding和service四个子元素,其语法框架如图1所示。其中types元素定义了服务交换消息时使用的数据类型;interface元素定义了具体的Web服务操作,包括服务的输入、输出和服务出错后所返回的错误消息序列;binding元素定义了用户与Web服务通信的协议;service元素为每一个binding元素声明了一个唯一的Web服务访问地址。WSDL2. 0语法框架如图6所示。事实上,Web服务描述语言WSDL不管在语法上怎样定义和扩展,它在描述Web服务时都遵循着一个基本原则,即任何Web服务的刻画都需要充分考虑到三个方面的服务语义内涵输入(Input)、输出(Output)和服务功能(Function)。图1给出了 WSDL2. 0语法中四个子元素分别与服务输入、输出和服务功能的映射关系。归纳起来,WSDL2. 0在刻画服务语义内涵的过程中具备以下三个特点第一,types元素和interface元素刻画了大部分服务输入和输出相关的内容,包括数据类型、消息格式、消息传输顺序等;第二,service元素主要用来刻画服务功能,需要指出的是,它并没有给出具体的功能描述,而是给出了服务功能的访问地址;第三,binding元素用来定义服务输入输出的报文格式(如SOAP)和传输协议(如 HTTP),相比较其他三个子元素而言,从服务功能角度看,它对Web服务核心内容没有任何影响。通过以上分析,不难发现在语法上,当前的WSDL2.0只有service元素涉及到服务功能相关的描述。对服务功能的描述接口单一,描述信息不充分,将导致了两个相似的Web 服务无法通过WSDL描述区别开来。例如对房间的灯光控制服务中,一个服务是如果房间内光亮度大于300(尼特)则关灯,而另外一个是如果光亮度小于500(尼特)则关灯。输入都为光亮度,输出都为关灯指令,服务功能描述也都为访问地址,而对于服务中涉及的核心规则,传统的WSDL根本无法刻画和区分。综上所述,在物联网应用中,这种传统的Web服务表示方法(WSDL2. 0)的缺陷是 缺乏对服务功能的充分刻画,尤其缺乏对核心规则的描述,导致无法区别功能相似的服务而无法消除服务冗余,大大增加物联网服务的存储和搜索负担。因此,在传统的WSDL基础上,本发明提出了一种新的Web服务表示方法,并进一步给出相应的服务冗余检测方法。

发明内容
本发明的目的在于,为克服现有技术基于面向物联网应用的Web服务表示的冗余检测方法缺乏对不同服务核心规则的描述,导致无法区别功能相似的服务而无法消除服务冗余,进而大大增加物联网服务的存储和搜索负担的问题,从而提供一种面向物联网应用的Web服务表示的冗余检测方法及系统。鉴于Web服务描述中服务元素只涉及到服务功能的访问地址,本发明将从服务元素入手,引入规则描述以增加对服务输入输出关系的刻画,从而提供一种基于面向物联网应用的Web服务表示的冗余检测方法。
为实现上述目的,本发明提供基于计算若干输入服务间的相似度进行冗余检测, 所述方法包含如下步骤获取服务的步骤,Web服务器通过接口获取要进行冗余检测的若干个服务;基于规则的WSDL解析及规则向量化的步骤,依据WSDL语法规则,对每个服务的 WSDL进行基于XML解析,抽取出每个服务相关的输入输出变量及相应逻辑表达式规则;所述每个服务采用基于规则的WSDL语法进行描述刻画;所述Web服务采用扩展的WSDL服务元素,进而增加了对服务功能的规则描述;计算相似度的步骤,对每个服务的规则进行向量化,基于逻辑表达式逐一比较其中一个服务与其余服务,计算得到若干个基于服务规则的相似度计算值;冗余决策步骤,将得到的所有相似度值逐一与一设定阈值比较,相似度大于阈值则判定两个服务存在冗余;否则服务之间不相似。上述技术方案中,所述扩展的WSDL服务元素包含标签如下poliCy、condition, element、relation、bracket、operand、loperator 禾口 roperator ;所述policy元素,用来标记服务规则;在所述policy元素定义condition子元素,该condition子元素标记该服务的使用输入必须满足的前提条件;其中,所述前提条件由若干个element标签组成,每一个element为一个简单的关系表达式,所述表达式通过relation和bracket可形成复杂的逻辑表达式;在每个 element中,由operand定义表达式的操作数,由loperator定义关系运算符,由roperator 定义基本运算。所述关系运算符包含>,<,> =,< =,==,!=,所述基本运算符包含+,-,
水,/,% ο上述技术方案中,所述对规则进行向量化具体步骤如下 步骤1,从WSDL中定位到服务元素,通过XML解析policy标签,根据逻辑运算符抽取出规则中的关系表达式集合,形成逻辑表达式的二叉树数据结构;步骤2,,对每个关系表达式通过移项操作,向量化为如下公式中的标准多维向量 ti ;t = (si vll qll vl2 ql2 vl3…vln,—,si vil qil vi2 qi2 vi3…vin,..., sn vnl qnl vn2qn2 vn3··· vnn, p, c)其中,V为变量集合,C为常量集合,P为关系运算符集合和Q为基本运算符集合;
移项符si e {+,-},Vij e v,qij G Q,ρ G P,C G C。所述逻辑运算符包含&&,!,| |和 。所述基于服务规则的相似度计算采用Dice系数二值权重方法。所述相似度计算公式为Sim (Wl,W2) = 0. 5SimI0 (Wl,W2) +0. 5SimRule (Wl,W2);其中,Wl与W2分别为需要进行相似度计算的两个服务。服务的相似度包括服务 10相似度以及服务规则相似度,分别用SimI0(Wl,W2)及SimRule (W1,W2)表示。这里考虑服务10及服务规则在服务相似度计算中同等重要,因此,分别赋予它们各0. 5的计算权重。基于上述方法,本发明还提供一种基于面向物联网应用的Web服务的冗余检测系统,用于计算若干输入服务间的相似度,该系统包含服务获取模块、相似度计算模块、冗余决策模块和后期处理模块,其特征在于,所述系统还包含基于规则的WSDL解析和规则向量化模块;所述基于规则的WSDL解析模块,依据WSDL语法规则,对每个服务的WSDL进行基于XML解析,抽取出每个服务相关的输入输出变量及相应逻辑表达式规则;所述规则向量化模块,用于对每个服务的规则进行向量化;其中,所述相似度计算模块采用基于服务规则的相似度计算方法;所述冗余决策模块基于服务规则的相似度计算方法得到的相似度的值判断决策服务的相似度。所述每个服务采用基于规则的WSDL语法进行描述刻画;所述Web服务表示扩展服务元素增加对服务功能的规则描述且所述WSDL语法基于逻辑表达式的规则;所述的相似度计算为基于的逻辑表达式的相似度计算。所述扩展的WSDL服务元素包含标签如下policy、condition、element、 reIation>brackets operands loperator 禾口 roperator ;所述 policy 7Π素,用来标i己月艮务夫见则;在所述policy元素定义condition子元素,该condition子元素标记该服务的使用输入必须满足的前提条件;其中,所述前提条件由若干个element标签组成,每一个element 为一个简单的关系表达式,所述表达式通过relation和bracket可形成复杂的逻辑表达式;在每个element中,由operand定义表达式的操作数,由loperator定义关系运算符,由 roperator定义基本运算。所述关系运算符包含>,<,> =,< =,==,!=,所述基本运算符包含+,_,
水,/,% ο所述规则向量化模块进一步包含解析及形成二叉树子模块,用于从WSDL中定位到服务元素,通过XML解析policy标签,根据逻辑运算符抽取出规则中的关系表达式集合, 形成逻辑表达式的二叉树数据结构;向量化模块,用于对每个关系表达式通过移项操作,向量化为如下公式中的标准多维向量ti ;t = (si vll qll vl2 ql2 vl3."vln,".,si vil qil vi2 qi2 vi3."vin,·.., sn vnl qnl vn2qn2 vn3."vnn,p,c)其中,V为变量集合,C为常量集合,P为关系运算符集合和Q为基本运算符集合; 移项符 Si e {+,-},Vij e V, qij G Q,ρ G P,C G C。所述基于服务规则的相似度计算采用Dice系数二值权重方法。本发明涉及一种基于面向物联网应用的Web服务表示的冗余检测方法,该方法对 WSDL语法进行了基于逻辑表达式的规则扩展,并进一步给出相应的服务冗余检测方法,包括1)规则向量化;幻服务相似度计算;幻服务冗余检测。与现有技术相比,本发明具有以下优点1、首次对WSDL语法上进行了基于逻辑表达式的规则扩展,增加了对服务功能的规则描述,为更细致的服务相似度计算提供支撑;2、首次将逻辑表达式规则引入服务的相似度计算,并在此基础上给出了一种新的服务冗余检测方法,提高了物联网中服务的冗余检测和辨识能力。本发明的优点在于,本发明与现有技术相比,具有以下优点1、首次对WSDL语法上进行了基于逻辑表达式的规则扩展,增加了对服务功能的规则描述,为更细致的服务相似度计算提供支撑;2、首次将逻辑表达式规则引入服务的相似度计算,并在此基础上给出了一种新的服务冗余检测方法,提高了物联网中服务的冗余检测和辨识能力,从而大大减小了物联网服务的存储和搜索负担。


图1为现有技术的WSDL2. 0语法元素与服务输入、输出和服务功能的映射关系;图2为本发明的服务service元素扩充图;图3-al为本发明的基于规则的WSDL表示的工作流程图;图3_a2为本发明的基于规则的WSDL解析模块的工作流程图;图3_b为本发明的规则向量化模块的工作流程图;图3-c为本发明的相似度计算模块的工作流程图;图4为本发明的规则中逻辑表达式的二叉树示意图;图5为本发明的服务冗余检测方法流程图;图6是现有技术的WSDL2. 0语法框架示意图;图7是本发明的描述实例示意图。
具体实施例方式下面结合附图和具体实施方式
,对本发明进行进一步详细的说明。如图2所示,本发明对服务service元素的改进,灰色框为新扩充部分。可以看出,改进和扩展是沿着从外到内,从粗到细的路线进行的。首先,定义了 policy元素,与endpoint元素处在并列位置, 用来标记整个服务规则;接着在policy元素里面定义了 condition子元素,标记该服务的使用输入必须满足的前提条件;前提条件是由若干个element组成,一个element就是一个简单的关系表达式(如a > b),通过relation和bracket可形成复杂的逻辑表达式;在每个element中,由operand定义表达式的操作数,由Ioperator定义关系运算符(如>,<, > =,< =,==,!=),由roperator定义基本运算(如+,-,*,/,%)。需要明确指出的是,为简单起见,以上运算目前限定为基本的数值型运算,并未考虑字符操作。然而,这并不影响到本方法对字符操作的扩展能力,因为任何字符操作最终都可以转化成ASCII码的数值型运算。SfcSM,§ ±曾自 tH^Hf :policy> condition、element、relation、bracket、 operand、loperator和roperator ;新增标签内引用WSDL已有属性关键字,共计两个type 和value ;引进依赖约束两处=Operand中的type属性依赖于命名空间定义的types类型, value属性依赖于input中定义的参数;对loperato、roperator和relation元素分别定义相应的取值集合,如表1所示。表 1 :loperato、roperator 禾口 relation 取值集合
9
权利要求
1.一种面向物联网应用的Web服务的冗余检测方法,基于计算若干输入服务间的相似度进行冗余检测,所述方法包含如下步骤获取服务的步骤,Web服务器通过接口获取要进行冗余检测的若干个服务; 基于规则的WSDL解析及规则向量化的步骤,依据WSDL语法规则,对每个服务的WSDL 进行基于XML解析,抽取出每个服务相关的输入输出变量及相应逻辑表达式规则;所述每个服务采用基于规则的WSDL语法进行描述刻画;所述Web服务采用扩展的WSDL服务元素, 进而增加了对服务功能的规则描述;计算相似度的步骤,对每个服务的规则进行向量化,基于逻辑表达式逐一比较其中一个服务与其余服务,计算得到若干个基于服务规则的相似度计算值;冗余决策步骤,将得到的所有相似度值逐一与一设定阈值比较,相似度大于阈值则判定两个服务存在冗余;否则服务之间不相似;其中,所述扩展的WSDL服务元素包含标签如下policy、condition、element、 relation、bracket、operand、loperator 禾口 roperator ; 所述policy元素,用来标记服务规则;在所述policy元素定义condition子元素,该condition子元素标记该服务的使用输入必须满足的前提条件;其中,所述前提条件由若干个element标签组成,每一个element为一个简单的关系表达式,所述表达式通过relation和bracket形成复杂的逻辑表达式;在每个element中,由 operand定义表达式的操作数,由loperator定义关系运算符,由roperator定义基本运算。
2.根据权利要求1所述的面向物联网应用的Web服务的冗余检测方法,其特征在于,所述关系运算符包含>,<,> =,< =,==和!=,所述基本运算符包含+,_,*,/和%。
3.根据权利要求1所述的基于面向物联网应用的Web服务的冗余检测方法,其特征在于,所述对规则进行向量化具体步骤如下步骤1,从WSDL中定位到服务元素,通过XML解析po 1 i cy标签,根据逻辑运算符抽取出规则中的关系表达式集合,形成逻辑表达式的二叉树数据结构;步骤2,对每个关系表达式通过移项操作,向量化为如下公式中的标准多维向量ti ; t = (sl vll qll vl2 ql2 vl3."vln,…,si vil qil vi2 qi2 vi3."vin,·..,sn vnl qnl vn2qn2 vn3."vnn,p,c)其中,V为变量集合,C为常量集合,P为关系运算符集合和Q为基本运算符集合;移项符 si e {+,-},vi j e V,qi j e Q,ρ e P,c e C。。
4.根据权利要求3所述的基于面向物联网应用的Web服务的冗余检测方法,其特征在于,所述逻辑运算符包含&&,!,I I和 。
5.根据权利要求1所述的基于面向物联网应用的Web服务的冗余检测方法,其特征在于,所述基于服务规则的相似度计算采用Dice系数二值权重方法。
6.根据权利要求5所述的基于面向物联网应用的Web服务的冗余检测方法,其特征在于,所述相似度计算公式为Sim (ffl, W2) = 0. 5SimI0 (ffl, W2) +0. 5SimRule (W 1, W2);其中,Wl和W2分别为需要进行相似度计算的两个服务;服务的相似度包括服务IO相似度以及服务规则相似度,分别用SimIO (W1,W2)及SimRule (W1,W2)表示;0.5值为服务10及服务规则在服务相似度计算中的计算权重。
7.一种基于面向物联网应用的Web服务的冗余检测系统,用于计算若干输入服务间的相似度,该系统包含服务获取模块、相似度计算模块、冗余决策模块和后期处理模块,其特征在于,所述系统还包含基于规则的WSDL解析模块和规则向量化模块;所述基于规则的WSDL解析模块,依据WSDL语法规则,对每个服务的WSDL进行基于XML 解析,抽取出每个服务相关的输入输出变量及相应逻辑表达式规则; 所述规则向量化模块,用于对每个服务的规则进行向量化; 其中,所述相似度计算模块采用基于服务规则的相似度计算方法; 所述冗余决策模块基于服务规则的相似度计算方法得到的相似度的值判断决策服务的相似度;所述每个服务采用基于规则的WSDL语法进行描述刻画;所述Web服务采用扩展的 WSDL服务元素,该服务元素增加对服务功能的规则描述;所述的相似度计算为基于的逻辑表达式的相似度计算;其中,所述扩展的WSDL服务元素包含标签如下policy、condition、element、 relation、bracket、operand、loperator 禾口 roperator ; 所述policy元素,用来标记服务规则;在所述policy元素定义condition子元素,该condition子元素标记该服务的使用输入必须满足的前提条件;其中,所述前提条件由若干个element标签组成,每一个element为一个简单的关系表达式,所述表达式通过relation和bracket可形成复杂的逻辑表达式;在每个element中, 由operand定义表达式的操作数,由loperator定义关系运算符,由roperator定义基本运笪弁。
8.根据权利要求7所述的基于面向物联网应用的Web服务的冗余检测方法,其特征在于,所述关系运算符包含>,<,> =,< =,==和!=,所述基本运算符包含+,_,*,/ 和%。
9.根据权利要求7所述的基于面向物联网应用的Web服务的冗余检测方法,其特征在于,所述规则向量化模块进一步包含解析及形成二叉树子模块,用于从WSDL中定位到服务元素,通过XML解析policy标签,根据逻辑运算符抽取出规则中的关系表达式集合,形成逻辑表达式的二叉树数据结构;向量化模块,用于对每个关系表达式通过移项操作,向量化为如下公式中的标准多维向量ti ;t = (si vll qll vl2 ql2 vl3···vln, ·.., si vil qil vi2 qi2 vi3···vin, ·.., sn vnl qnl vn2qn2 vn3··· vnn, p, c)其中,V为变量集合,C为常量集合,P为关系运算符集合和Q为基本运算符集合;移项符 si e {+,-},vi j e V,qi j e Q,ρ e P,c e C。。
10.根据权利要求7所述的基于面向物联网应用的Web服务的冗余检测方法,其特征在于,所述基于服务规则的相似度计算采用Dice系数二值权重方法。
11.根据权利要求7所述的基于面向物联网应用的Web服务的冗余检测方法,其特征在于,所述相似度计算公式为Sim (ffl, W2) = 0. 5SimI0 (ffl, W2) +0. 5SimRule (W 1, W2);其中,Wl和W2分别为需要进行相似度计算的两个服务;服务的相似度包括服务IO相似度以及服务规则相似度,分别用SimIO (W1,W2)及SimRule (W1,W2)表示;0. 5值为服务IO 及服务规则在服务相似度计算中的计算权重。
全文摘要
本发明涉及一种面向物联网应用的Web服务的冗余检测方法及系统,所述方法包含如下步骤获取服务的步骤,Web服务器通过接口获取要进行冗余检测的若干个服务;基于规则的WSDL解析及规则向量化的步骤;所述每个服务采用基于规则的WSDL语法进行描述刻画;所述Web服务采用扩展的WSDL服务元素,进而增加了对服务功能的规则描述;计算相似度的步骤;冗余决策步骤。本发明具有以下优点1、首次对WSDL语法上进行了基于逻辑表达式的规则扩展,增加了对服务功能的规则描述,为更细致的服务相似度计算提供支撑;2、首次将逻辑表达式规则引入服务的相似度计算,并在此基础上给出了一种新的服务冗余检测方法,提高了物联网中服务的冗余检测和辨识能力。
文档编号G06F17/30GK102457569SQ20111020692
公开日2012年5月16日 申请日期2011年7月22日 优先权日2010年10月25日
发明者唐晖, 徐月梅, 牛温佳, 谭红艳, 赵志军 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1