CN101132402A - 基于行为一致条件下进行服务发现和替换方法 - Google Patents

基于行为一致条件下进行服务发现和替换方法 Download PDF

Info

Publication number
CN101132402A
CN101132402A CNA200710025615XA CN200710025615A CN101132402A CN 101132402 A CN101132402 A CN 101132402A CN A200710025615X A CNA200710025615X A CN A200710025615XA CN 200710025615 A CN200710025615 A CN 200710025615A CN 101132402 A CN101132402 A CN 101132402A
Authority
CN
China
Prior art keywords
service
behavior
lms
discovery
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA200710025615XA
Other languages
English (en)
Other versions
CN100574326C (zh
Inventor
吕建
胡昊
李兴宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CNB200710025615XA priority Critical patent/CN100574326C/zh
Publication of CN101132402A publication Critical patent/CN101132402A/zh
Application granted granted Critical
Publication of CN100574326C publication Critical patent/CN100574326C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种在面向服务的应用中,基于行为一致条件下进行服务发现和替换的方法。首先,服务提供者将服务注册到服务注册器,并在注册时提供服务的行为描述,即该服务的合法操作序列;服务使用者在查找服务时,给出所需服务的行为,即对服务的操作的调用序列,然后将已注册服务与所需服务进行行为一致性检验,将满足使用者行为需求的服务返回给使用者;当有新的服务到达并替换掉原有的服务时,将新服务的行为与原有服务的行为进行匹配,如二者一致则进行替换。本发明在服务查找和替换过程中,增加行为的约束,避免使用者使用服务时的操作序列与服务本身所允许的合法操作序列不同而导致错误的情况,进而提高了面向服务应用的安全性和可靠性。

Description

基于行为一致条件下进行服务发现和替换方法
一、技术领域
本发明涉及面向服务的应用中服务的发现和替换技术,尤其是对服务的行为进行描述及在行为一致下进行服务发现和替换的方法。
二、背景领域
面向服务的软件开发近年来发展迅速并受到软件产业界和学术界越来越多的关注。面向服务的架构SOA中包含三个不同的角色,服务提供者(ServicesProvider),服务使用者(Services Requester)和服务注册者(ServicesRegistries).服务提供者发布服务描述(Services description)到服务注册者中,服务使用者根据特定的服务描述从服务注册者中查询服务提供者,服务注册者返回给服务请求者一个符合服务描述的服务提供者的引用供其选择和绑定。在这个过程中,传统的服务描述主要关注服务的接口和静态属性信息,服务查找和替换时,通过精确的字段值或是语义的相似性匹配查找服务实现,这样可以保证服务发现时的接口一致性。但是由于缺乏对服务行为的有效描述,可能会导致服务运行时的功能性属性的不匹配,如使用服务时使用者对服务的调用序列与该服务的行为即其外部可见的操作序列不一致,则有可能引起运行时刻的错误。
为了解决该问题,要求在对服务进行描述的时候考虑服务的行为描述,并在服务发现、替换等各个阶段进行服务一致性的综合判断,以更好地实现面向服务应用的强壮性,有效性,和准确性。
三、发明内容
本发明的目的是针对现有的服务注册、查找、替换机制的不足,提供基于行为一致条件下服务的发现和替换方法,对服务增加行为描述,在服务发现和替换时,在行为一致的准则下进行,以提高面向服务应用中服务的使用安全。
为实现所述目的,本发明通过以下步骤来实现:
步骤一:服务提供者将服务注册到服务注册器中,并在注册时提供服务的行为描述;
步骤二:基于服务发现时的行为一致性规则,将满足服务使用者行为需求的服务提供给使用者;
步骤三:基于服务替换时的行为一致性规则,用新服务替换掉原有的服务。
步骤一中,服务行为的描述,是通过服务行为模型给出的。行为模型定义了一个服务的合法的操作序列,该序列也是这个服务合法行为的一种约束,每个服务的调用者都必须在调用服务时遵守该服务的行为约束。采用了一种Petrinet的变体WF-net作为行为模型的形式化方法.其形式化定义如下:
行为模型服务S的行为模型BMs=(P,T,F,i,o,TM)是一个基于WF-net定义的Petri net的变体,BMs是一个WF-net当且仅当如下条件成立.
●P为BMs库所集合.
●T为BMs变迁集合,且P∩T=φ.
●F为BMs的弧线集合,且F∈(P×T)∪(T×P).
●i是BMs的源库所,满足不存在任何t∈T,使得(t,i)∈F.
●o是BMs的汇结库所,满足不存在任何t∈T,使得(o,t)∈F.
●TM:T→Ms∪{ε},是一个标号映射函数。即将BMs中每一个变迁映射为服务S所具有的一个接口方法m,如果没有对应的接口方法可供映射,则设置为ε,如果接口方法m被连接到了T中多个变迁,将会给每个变迁所对应的同一个接口方法m添加一个唯一的下标,记为mi
如果在BMs中加入一个新的变迁t*,那么所得到的扩展后的Petri网 BM s * = ( P , T ∪ { t * } , F ∪ { ( o , t * ) , ( t * , i ) } , i , o , TM ∪ { t * → τ } ) 是强联通的。
基于行为模型对服务的行为进行描述,并以XML文档的格式予以保存,在服务注册时,将该文档与服务实现本身一起注册到服务注册器中;在服务发现和替换时,行为一致性的检查也是基于该xml文档进行。文档形式如下:
    <behavior><place name=″1″/><place name=″p0″/><place name=″p1″/><place name=″o″/><transition method=″init″/><transition method=″deaEncrypt″/><transition method=″log″/><transition methotd=″doFinal″/><arc source=″i″target=″init″/>···<arc source=″doFinal″target=″o″/></behavior>
步骤二和步骤三中,使用到行为一致性规则,为服务发现时的行为调用一致性规则和服务替换时的行为观察一致性规则。其中:
服务发现行为调用一致性规则:考虑在服务发现时服务行为匹配的情况,则服务实现SS能够满足服务请求者提出的服务规范SR,当且仅当行为模型BMSS与行为模型BMSR调用一致.一个行为模型BMs′与另一个行为模型BMs调用一致的条件是当LMSBMsLMSBMs′成立.LMBMs是一个服务S所具有的所有合法接口方法序列.
服务替换时行为观察一致性规则:考虑在服务替换时服务行为匹配的情况,则新的服务实现SSnew能够与老的服务实现SSold在替换时满足行为一致,当且仅当行为模型BMSSold与行为模型BMSSnew观察一致.一个行为模型BMs′与另一个行为模型BMs观察一致的条件是当(LMSBMs′↑Ms)LMSBMs成立.LMSBMs′↑Ms的含义是将每个合法方法序列lmSBMs′∈LMSBMs′在顺序一致的情况下只选取包含Ms的成员后所组成的新的方法序列的集合。Ms是老的服务中所有方法的集合。
步骤一中,支持行为的注册的具体过程为,服务提供者通过开发环境开发所提供的服务,对服务予以代码实现,并通过图形化的工具对每个服务的行为进行描述,服务的行为图中包含了服务的每一个功能及各个功能之间的执行次序。该图形化工具是基于行为模型的,并可以自动将用户绘制的行为图保存为xml文件格式。行为描述完成后,就可以将服务注册到服务注册器中。如图4和图5中的步骤1所示。服务注册器接收到服务注册信息时,对服务的行为描述进行保存,并保存指向该服务的引用。
步骤二中,行为一致下服务发现的具体过程为,服务使用者使用开发环境中的图形工具绘制所需服务的行为图,提供对所需服务的行为需求,然后在服务平台中进行查找,如图4中的步骤2所示;服务平台接受到服务查找请求后,在服务注册器中进行查找,图4中步骤3所示;然后服务注册器将已注册服务的行为与使用者所需服务的行为进行一致性检验,图4中步骤4所示;最后将检验结果一致的服务的引用提供给使用者,建立使用者和服务之间的绑定,如图4中步骤5所示。以上查找步骤完成之后,使用者即可以使用所获得的服务。
步骤三中,行为一致下服务替换的具体过程为,开发者开发新的服务,对其行为进行描述,并向服务平台提出服务替换请求,如图5中步骤2所示;服务平台接受到服务替换请求,对新服务的行为与原有服务的行为进行一致性检查,图5中步骤3所示;如二者一致则进行服务替换,用新服务代替原有服务,图5中步骤4所示。替换过程完成后,原有服务的使用者可以不受任何影响的使用替换后的新服务。
从服务的开发并注册到服务注册器、以及进行服务查找和替换的整个场景在图6中予以展现。支持行为一致的服务发现和替换的服务平台包括两部分,即开发环境和运行时环境。其中开发环境提供了一个图形化的开发工具,服务提供者或服务使用者可以通过该工具,用图形化的方式对服务的行为进行描述,并以该行为描述将服务注册到服务注册器中,或使用该行为描述来查找需要的服务。运行时环境由OSGi框架层、扩展中间件层和应用层三部分组成。其中OSGi框架层提供了服务注册器,支持基本的服务注册、查找和替换功能,并负责对服务的管理,以及对运行时刻服务进行监控;扩展中间件层是对OSGi层增添行为属性,通过该层来实现支持行为的服务注册、查找和替换;应用层则展现了服务实体的呈现形式,在此采用了OSGi中的bundle作为服务的载体,一个bundle可以提供零到多个的服务,也可以使用别的bundle所提供的服务。
四、附图说明
图1:总体步骤图,
图2:图1中服务发现步骤的流程图,
图3:图1中服务替换步骤的流程图,
图4:增加了行为描述后的面向服务应用服务发现示意图,
图5:增加了行为描述后的面向服务应用中服务替换示意图,
图6:支持行为一致的服务发现和替换的服务平台示意图,
图7:具体实施例中服务发现所涉及到的服务行为图,
图8:具体实施例中服务替换所涉及到的服务行为图。
五、具体实施例
以下通过具体的实施例来对本发明的技术方案进行详细的说明。
为了提供在线数据加密功能,服务提供者开发了一个服务S1,用DES算法对数据进行加密。其加密步骤为数据初始化,用DES算法加密,加密完成后做结束工作。服务开发好后,服务提供者对服务的行为进行描述,获得的行为图如图7中S1所示,并将其注册到服务注册器中。
同时另外一个服务提供者也开发了一个数据加密服务S2,同样使用DES算法加密。其加密过程是数据初始化,用DES算法加密,加密的同时记录日志,当加密与日志记录都完成后做结束工作。其行为图如图7中S2所示。
当有用户要使用一个加密服务服务,需要在服务注册器中进行服务查找,获得所需要的服务,然后使用。由于该用户只是需要简单的数据加密,因此其指定所需加密服务的行为应是,数据初始化,然后用DES加密算法对数据加密,最后做结束工作,如图7中Require所示。基于该用户的需求,服务平台在服务发现的过程中,将已注册服务S1和S2的行为与用户指定的行为需求进行一致性检查。以下为简单起见,用init表示数据初始化,desEncrypt表示DES加密,log表示日志记录,aesEncrypt表示AES加密,doFinal表示结束工作。
首先根据服务行为图得到各个服务的方法执行序列:
LMSRequire:{<init>,<init,desEncrypt>,<init,desEncrypt,doFinal>}
LMSS1:{<init>,<init,desEncrypt>,<init,desEncrypt,doFinal>}
LMSS2:{<init>,<init,desEncrypt>,<init,log>,<init,desEncrypt,log>,<init,log,
desEncrypt>,<init,desEncypt,log,doFinal>,<init,log,desEncrypt,doFinal>}
根据行为调用一致性规则,LMSRequireLMSS1而LMSRequire¢LMSS2,因此S1与Require行为一致,服务S1满足用户对服务的行为需求,可以返回给用户使用,而S2虽然也提供了同样的加密功能,但其行为与用户需求不一致,不能返回给用户使用。
上述是服务发现时,本专利的实施情况,以下给出服务替换时本专利的实施情况。服务S1的提供者开发了一个新的加密服务S3,该服务增加了AES算法加密功能,并想用其替换掉原有的S1服务,S3的行为描述如图8中S3所示。
服务平台接收到该服务替换请求后,对新服务的行为和原有服务的行为进行行为一致性检查,首先获得新服务S3和原有服务S1的方法执行序列:
LMSS1:{<init>,<init,desEncrypt>,<init,desEncrypt,doFinal>}
LMSS3:{<init>,<init,desEncrypt>,<init,aesEncrypt>,
<init,desEncrypt,doFinal>,<init,aesEncrypt,doFinal>}
然后基于服务替换一致性规则进行检查:
MS1:{init,desEncrypt,doFinal}
LMSS3↑MS1={<init>,<init,desEncrypt>,
<init,desEncrypt,doFinal>,<init,doFinal>}
可见LMSS3↑MS1¢LMSS1,因此新服务S3不能替换原有服务
而另外一个新的加密服务S4,其功能与S1类似,采用了DES加密算法,只是在加密的过程中增加了同时记录日志的功能,其行为如图8中S4所示。当服务提供者提供了该服务来替换S1时,根据行为替换一致性规则:
LMSS4:{<init>,<init,desEncrypt>,<init,log>,<init,desEncrypt,log>,<init,log,
desEncrypt>,<init,desEncypt,log,doFinal>,<init,log,desEncrypt,doFinal>}
LMSS4↑MS1={<init>,<init,desEncrypt>,<init,desEncrypt,doFinal>}
可见,LMSS4↑MS1LMSS1,因此可以用服务S4替换掉原有服务S1。

Claims (6)

1.一种基于行为一致条件下进行服务发现和替换的方法,其特征在于包括如下步骤:
步骤一:服务提供者将服务注册到服务注册器中,并在注册时提供服务的行为描述;
步骤二:基于服务发现时的行为一致性规则,将满足服务使用者行为需求的服务提供给使用者;
步骤三:基于服务替换时的行为一致性规则,用新服务替换掉原有的服务。
2.根据权利要求1所述的基于行为一致条件下进行服务发现和替换的方法,其特征在于,步骤一中服务行为的描述,根据服务的行为模型进行,行为模型定义了一个服务的合法的操作序列,该序列采用了一种Petri net的变体WF-net作为行为模型的形式化方法,
行为模型  服务S的行为模型BMs=(P,T,F,i,o,TM)是一个基于WF-net定义的Petri net的变体,BMs是一个WF-net当且仅当如下条件成立.
●P为BMs库所集合
●T为BMs变迁集合,且P⌒T=φ
●F为BMs的弧线集合,且F∈(P×T)(T×P)
●i是BMs的源库所,满足不存在任何t∈T,使得(t,i)∈F
●o是BMs的汇结库所,满足不存在任何t∈T,使得(o,t)∈F
●TM:T→Ms{ε},是一个标号映射函数,即将BMs中每一个变迁映射为服务S所具有的一个接口方法m,如果没有对应的接口方法可供映射,则设置为ε,如果接口方法m被连接到了T中多个变迁,将会给每个变迁所对应的同一个接口方法m添加一个唯一的下标,记为mi
如果在BMs中加入一个新的变迁t*,那么所得到的扩展后的Petri网 BM s * = ( P , T &cup; { t * } , F &cup; { ( o , t * ) , ( t * , i ) } , i , o , TM &cup; { t * &RightArrow; &tau; } ) 是强联通的。
3.根据权利要求1或2所述的基于行为一致条件下进行服务发现和替换的方法,其特征在于,所述步骤二中服务发现时的行为调用一致性规则是:考虑在服务发现时服务行为匹配的情况,则服务实现SS能够满足服务请求者提出的服务规范SR,当且仅当行为模型BMss与行为模型BMSR调用一致.一个行为模型BMs′与另一个行为模型BMs调用一致的条件是当 LMS BM s &SubsetEqual; LMS BM s &prime; 成立.LMSBMs是一个服务S所具有的所有合法接口方法序列.
4.根据权利要求1或2所述的基于行为一致条件下进行服务发现和替换的方法,其特征在于,所述步骤二中,行为一致下服务发现的过程为:服务使用者提供对所需服务的行为需求,服务平台接受到服务查找请求后,将已注册服务的行为与使用者所需服务的行为进行一致性检验,然后将检验结果一致的服务返回给使用者。
5.根据权利要求1或2所述的基于行为一致条件下进行服务发现和替换的方法,其特征在于步骤三中服务替换时行为观察一致性规则是:考虑在服务替换时服务行为匹配的情况,则新的服务实现SSnew能够与老的服务实现SSold在替换时满足行为一致,当且仅当行为模型BMssold与行为模型BMSSnew观察一致;一个行为模型BMs′与另一个行为模型BMs观察一致的条件是当 ( LMS BM s &prime; &UpArrow; M s ) &SubsetEqual; LMS BM s 成立;LMSBMs′↑Ms的含义是将每个合法方法序列 lms BM s &prime; &Element; LMS BM s &prime; 在顺序一致的情况下只选取包含Ms的成员后所组成的新的方法序列的集合。
6.根据权利要求1或2所述的基于行为一致条件下进行服务发现和替换的方法,其特征在于,所述步骤三中,行为一致下服务替换的过程为:服务平台接受到服务替换请求,对新服务与原有服务行为进行行为一致性检查,如二者一致则进行服务替换,用新服务代替原有服务,否则放弃。
CNB200710025615XA 2007-08-08 2007-08-08 基于行为一致条件下进行服务发现和替换方法 Expired - Fee Related CN100574326C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200710025615XA CN100574326C (zh) 2007-08-08 2007-08-08 基于行为一致条件下进行服务发现和替换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200710025615XA CN100574326C (zh) 2007-08-08 2007-08-08 基于行为一致条件下进行服务发现和替换方法

Publications (2)

Publication Number Publication Date
CN101132402A true CN101132402A (zh) 2008-02-27
CN100574326C CN100574326C (zh) 2009-12-23

Family

ID=39129527

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200710025615XA Expired - Fee Related CN100574326C (zh) 2007-08-08 2007-08-08 基于行为一致条件下进行服务发现和替换方法

Country Status (1)

Country Link
CN (1) CN100574326C (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102130906A (zh) * 2011-01-27 2011-07-20 北京信安天元科技有限公司 基于随机Petri网的网络安全风险分析方法
CN102571789A (zh) * 2011-12-31 2012-07-11 复旦大学 一种增强soa可生存性的降级服务替换验证方法
CN102831027A (zh) * 2012-08-29 2012-12-19 上海交通大学 一种基于代理的面向服务软件系统的容错方法
CN104133808B (zh) * 2014-07-10 2017-06-13 同济大学 基于复杂对应系统的用户行为一致性度测量方法
CN109151052A (zh) * 2018-09-19 2019-01-04 广州城市信息研究所有限公司 地图服务注册方法、地图服务数据获取方法和装置
CN111600958A (zh) * 2020-05-21 2020-08-28 广州市百果园信息技术有限公司 服务发现系统、服务数据管理方法、服务器及存储介质
CN112019387A (zh) * 2020-09-02 2020-12-01 上海卓钢链科技有限公司 一种分布式服务注册中心构建方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007538313A (ja) * 2004-04-29 2007-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散ネットワーキング・アーキテクチャ内にサービスをモデル化し、動的にデプロイするためのシステムおよび方法
CN100488202C (zh) * 2005-12-08 2009-05-13 普天信息技术研究院 基于服务质量的Web服务注册与发现系统及其方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102130906A (zh) * 2011-01-27 2011-07-20 北京信安天元科技有限公司 基于随机Petri网的网络安全风险分析方法
CN102571789A (zh) * 2011-12-31 2012-07-11 复旦大学 一种增强soa可生存性的降级服务替换验证方法
CN102571789B (zh) * 2011-12-31 2014-07-09 复旦大学 一种增强soa可生存性的降级服务替换验证方法
CN102831027A (zh) * 2012-08-29 2012-12-19 上海交通大学 一种基于代理的面向服务软件系统的容错方法
CN102831027B (zh) * 2012-08-29 2015-01-28 上海交通大学 一种基于代理的面向服务软件系统的容错方法
CN104133808B (zh) * 2014-07-10 2017-06-13 同济大学 基于复杂对应系统的用户行为一致性度测量方法
CN109151052A (zh) * 2018-09-19 2019-01-04 广州城市信息研究所有限公司 地图服务注册方法、地图服务数据获取方法和装置
CN109151052B (zh) * 2018-09-19 2022-04-19 广州城市信息研究所有限公司 地图服务注册方法、地图服务数据获取方法和装置
CN111600958A (zh) * 2020-05-21 2020-08-28 广州市百果园信息技术有限公司 服务发现系统、服务数据管理方法、服务器及存储介质
CN112019387A (zh) * 2020-09-02 2020-12-01 上海卓钢链科技有限公司 一种分布式服务注册中心构建方法

Also Published As

Publication number Publication date
CN100574326C (zh) 2009-12-23

Similar Documents

Publication Publication Date Title
CN100574326C (zh) 基于行为一致条件下进行服务发现和替换方法
Zeng et al. An IoT and Blockchain‐based approach for the smart water management system in agriculture
US9824404B2 (en) Method and system for providing a social media ecosystem cooperative marketplace
Främling et al. Agent-based model for managing composite product information
Li et al. Blockchain-enabled digital twin collaboration platform for heterogeneous socialized manufacturing resource management
US20110238985A1 (en) Method and apparatus for facilitating provision of content protected by identity-based encryption
Zhang et al. Beyond the block: A novel blockchain-based technical model for long-term care insurance
CN106600403A (zh) 一种资产管理方法、装置和系统
US20130144721A1 (en) Individualization service providing system, server, terminal using user&#39;s feed back and privacy based on user and method thereof
Eshuis et al. Service outsourcing with process views
CN105745666B (zh) 用于保护消费者隐私的匿名链接
WO2011101529A1 (en) Method and apparatus for applying recipient criteria in identity-based encryption
US20150066689A1 (en) Method and system for providing social media ecosystem compensation
CN102063595A (zh) 通过确定性自然数据的替换扰乱数据结构的方法和系统
Mandal et al. Effect of inter-organizational systems appropriation in agility and resilience development: an empirical investigation
CN113420049A (zh) 数据流通方法、装置、电子设备及存储介质
CN102193988A (zh) 一种图形数据库节点数据的检索方法及系统
Mateen et al. One step forward: Towards a blockchain based trust model for WSNs
Liu et al. A protocol of secure multi-party multi-data ranking and its application in privacy preserving sequential pattern mining
Ozcelik Blockchain-oriented geospatial architecture model for real-time land registration
Belhajjame et al. Ontology-based description and discovery of business processes
Corcino et al. An Asymptotic Formula for r‐Bell Numbers with Real Arguments
Tata et al. Coopflow: A bottom-up approach to workflow cooperation for short-term virtual enterprises
WO2021124878A1 (ja) 情報処理方法、情報処理装置、情報処理プログラム、履歴参照プログラム
Dietrich et al. Prototypical blockchain application for mapping complex products in dynamic supply chains

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091223

Termination date: 20160808