CN101729521B - 组合服务的部署方法和装置 - Google Patents
组合服务的部署方法和装置 Download PDFInfo
- Publication number
- CN101729521B CN101729521B CN 200810225187 CN200810225187A CN101729521B CN 101729521 B CN101729521 B CN 101729521B CN 200810225187 CN200810225187 CN 200810225187 CN 200810225187 A CN200810225187 A CN 200810225187A CN 101729521 B CN101729521 B CN 101729521B
- Authority
- CN
- China
- Prior art keywords
- services
- sub
- deployment
- sequence
- strategy
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种组合服务的部署方法和装置。该方法主要包括:获取组合服务的部署序列,所述部署序列含有组合服务的子服务的部署方式,根据所述子服务的部署方式处理部署序列,生成优化后的部署序列,按照所述优化后的部署序列进行所述组合服务的部署。利用本发明实施例,通过对组合服务中的子服务的部署方式进行规范化处理,并且对部署序列进行优化,简化了组合服务的部署序列,大大降低了服务部署的规模,有效减少系统资源的消耗,降低管理人员的工作强度。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种组合服务的部署方法和装置。
背景技术
随着技术、需求的快速发展,如何快速、方便、低成本的提供Web新服务成为重要技术点,在这基础上,组合服务技术快速发展起来。随着越来越多的系统应用组合服务,组合服务的部署和优化成为了关键。
在实际的基于子服务的组合服务系统中,一个组合服务通常是由一组来自不同子服务类的子服务,按照一定的逻辑连接和依赖关系并通过子服务间的交互与协作构建起来的。
发明人在发明的过程中发现,现有技术中的对Web服务进行部署的方法所关注的是:从传统服务整体部署上来考虑Web服务的规范化(比如从元数据的层面上去规范Web服务),该规范化主要包括Web服务的表示方式或者服务部署的过程的规范化。而没有考虑到组合服务系统是通过子服务之间的交互、协调与协作来提供满足用户需求的定制服务,现有技术中还没有基于子服务间的逻辑连接与依赖关系来进行服务部署的方法。
发明内容
本发明的实施例提供了一种组合服务的部署方法和装置,以解决现有技术没有基于子服务之间的关系来进行服务部署。
一种组合服务的部署方法,包括:
获取组合服务的部署序列,所述部署序列含有组合服务的子服务的部署方式;
根据所述子服务的部署方式处理部署序列,生成优化后的部署序列;
按照所述优化后的部署序列进行所述组合服务的部署。
一种组合服务的部署装置,包括:
部署序列优化单元,用于获取组合服务的部署序列,所述部署序列含有组合服务的子服务的部署方式,按照所述子服务的部署方式处理部署序列,生成优化后的部署序列。
服务部署单元,用于按照所述优化后的部署序列进行所述组合服务的部署。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过对组合服务中的子服务的部署方式进行规范化处理,并且对部署序列进行优化,简化了组合服务的部署序列,大大降低了服务部署的规模,有效减少系统资源的消耗,降低管理人员的工作强度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提出的对组合服务进行部署的方法与现有技术关注点的对比示意图;
图2为本发明实施例一提供的一种基于子服务的组合服务的部署装置的结构示意图;
图3为本发明实施例二提供的一种基于子服务的组合服务的部署方法的处理流程图;
图4为本发明实施例二提供的另一种基于子服务的组合服务的部署方法的处理流程图;
图5为本发明实施例二提供的部署序列规范化单元的内部处理流程图;
图6为本发明实施例二提供的部署执行投影算法的处理流程图;
图7为本发明实施例二提供的部署序列简化单元的内部处理流程图;
图8为本发明实施例二提供的部署序列验证单元的内部处理流程图;
图9为本发明实施例二提供的根据用户意愿判断验证结果的处理过程示意图;
图10为本发明实施例二提供的服务部署单元的内部处理流程图;
图11为本发明实施例三提供的描述组合服务系统中已经部署的服务的子服务的可扩展标记语言(XML,eXtensible Markup Language)的schema的结构示意图;
图12为本发明实施例三提供的组合服务系统中的4个子服务的基本信息示意图;
图13为本发明实施例三提供的需要部署的服务S中包含的15个子服务的基本信息示意图。
具体实施方式
在本发明实施例中,获取组合服务的部署序列,所述部署序列含有组合服务的子服务的部署方式,根据所述子服务的部署方式处理部署序列,生成优化后的部署序列。然后,按照所述优化后的部署序列进行所述组合服务的部署。
本发明实施例提出的对组合服务进行部署的方法与现有技术关注点的对比示意图如图1所示。本发明实施例着眼于组合服务的内部构造,研究组合服务中子服务之间的关系以及服务部署过程的效果,从子服务重用、子服务兼容性等角度来考虑服务部署和优化。而现有技术从组合服务整体上来考虑组合服务的部署过程及表达方式。
在实际的基于子服务的Web服务系统中,一个Web服务通常是由一组来自不同子服务类的子服务,按照一定的逻辑连接和依赖关系并通过子服务间的交互来支持的。上述子服务间的逻辑连接与依赖关系,决定了在某个Web服务启动时,这些子服务的部署顺序。
一个子服务类由一组具有相似功能的子服务所组成,用CF(i)来表示具有家族号i的子服务类,子服务类中的任意子服务都具备一个版本号p。对于一个服务S的子服务集合C,用πC表示该集合C中子服务的某种排列,集合C中子服务的所有排列记为{πC}。用顺序连接符。来连接两个实体,表示一个实体先于另一个实体,例如意味着子服务在之前部署。
一个系统的功能性是由一组预先定义好的独立服务所组成的,独立服务是通过对系统所提供的用户能够感知的服务进行抽取而得到的。用一个独立服务对系统进行功能扩充的过程,即在原有的系统中插入一个新的服务S,使系统在功能性上得到提高,称之为独立服务部署步。与此同时,增加的服务S中所包含的子服务需要按照S所要求的子服务集合{πC}来进行部署,并遵循子服务的部署策略。
所谓的子服务的部署策略,就是当一个子服务c要在包含有大量子服务的系统中进行部署的时候,原系统的子服务集合中可能已经存在了来自于子服务c相同家族的子服务,只是版本号可能会有区别。从子服务重用的角度来看,如何部署这个子服务(直接部署、替换已有的子服务部署,或是什么也不做等等)就是子服务的部署策略。
给定一个系统,其所拥有的子服务集合为C,当需要在C中插入家族号为i、版本号为p的子服务时,本发明实施例定义了4种子服务的部署策略。
2、覆盖部署策略OIP:即在子服务集合C中,如果包含有家族号为i的子服务,则执行替换操作该替换操作是用子服务替换子服务集合C中所有具有家族号为i的子服务;如果不存在家族号为i的子服务,则执行上述插入操作
3、择新部署策略NIP:即在子服务集合C中,如果不存在家族号为i的子服务,则执行插入操作如果存在家族号为i的子服务,那么执行替换操作 即用子服务替换子服务集合C中,家族号为i且版本号低于p的所有子服务。如果包含和待插入的子服务的家族号相同、版本号比所述待插入的子服务的版本号高的其它子服务,则不执行任何操作。
上述子服务部署策略只会影响子服务集合C中具有子服务类号i的子服务。
在本发明实施例中,引入子服务的兼容性概念,该子服务的兼容性是为了体现同一子服务类中具有不同版本号的各个子服务之间的关系。本发明实施例定义了三种的子服务间兼容关系:向前兼容(FC)、向后兼容(BC)和既向前兼容又向后兼容(BC∧FC)。如果子服务能够实现子服务类i中版本号不比p大的那些子服务 的功能,则称子服务具有向后兼容性(简称BC);如果子服务能够实现子服务类i中版本号比p大的那些子服务 的功能,则称子服务具有向前兼容性(简称FC);如果子服务既能够实现子服务类i中版本号比p大的那些子服务 的功能,又能够实现子服务类i中版本号不比p大的那些子服务 的功能,则称子服务既向前兼容又向后兼容(简称BC∧FC)。
对于子服务类中可能出现的和其它子服务既不向前兼容也不向后兼容的子服务,可以把该子服务从子服务类中分离出来,形成一个新的子服务类。
子服务的部署方式可以用一个三元组来表示,该三元组中包括子服务的家族号和版本号、兼容关系以及部署策略,表示具有兼容性的子服务按照部署策略进行部署。对于一个子服务如果按照部署策略进行部署之后,子服务插入到了子服务集合C中,则称部署方式具有插入效果;否则称为具有未插入效果(例如,采用仅空部署策略EIP的子服务如果原系统的子服务集合C中存在家族号为i的子服务,则不进行任何操作。此时的部署方式就具有未插入效果)。在本发明实施例中,部署方式表示子服务的兼容性和部署策略可以是任意值,其它的情况类推。
在本发明实施例中,给定一个子服务集合C的一个子服务排列πC,那么πC的部署序列是πC中每个子服务的部署方式的相应排列,记为IE(πC)。用{IE(πC)}来表示部署执行IE(πC)中的所有部署方式的集合。如果部署执行IE(πC)中有n个部署方式,那么部署序列IE(πC)的长度就为n。
在本发明实施例中,对于一个独立服务部署步,它具有两种部署效果:一是成功部署,即在该独立服务部署步进行之后,新启动的服务能够提供用户当前所需的正常功能;二是安全部署,即在该独立服务部署步进行之后,系统中以前为用户提供正常功能的服务仍然能够继续提供正常的功能。相应的,我们称之为成功的独立服务部署步和安全的独立服务部署步。
一个服务系统从无到有的部署过程,是由一个个独立服务部署步组成的,这些独立服务部署步组成一个独立服务部署步序列。如果序列中每一个独立服务部署步都是成功的独立服务部署步,那么该部署过程称为成功的独立服务部署;如果序列中每一个独立服务部署步都是安全的独立服务部署步,那么该部署过程称为安全的独立服务部署。
为便于对本发明实施例的理解,下面将结合附图以具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
该实施例提供的一种基于子服务的组合服务的部署装置的结构示意图如图2所示,包括如下单元:
部署序列优化单元21,用于获取组合服务的部署序列,所述部署序列含有组合服务的子服务的部署方式,按照所述子服务的部署方式处理部署序列,生成优化后的部署序列。
服务部署单元22,用于按照所述优化后的部署序列进行所述组合服务的部署。
上述部署序列优化单元21和服务部署单元22的组成结构参考图2。
上述部署序列优化单元21包括:家族号获取子单元211、子服务集合获取子单元212、部署序列简化子单元213和部署序列规范化子单元214。
其中,所述的部署序列优化单元21中的家族号获取子单元211,该单元用于获取部署序列中各个子服务所属的家族号,并将获取到的各个子服务所属的家族号信息发送给子服务集合获取子单元212、部署序列简化子单元213。
如果一个子服务没有标明家族号,则默认为该子服务隶属于新的子服务类。
其中,所述的部署序列优化单元21中的子服务集合获取子单元212,用于根据家族号获取单元发送过来的部署序列中各个子服务所属的家族号信息,将所述部署序列在每一个子服务类上执行投影操作,得到所述部署序列在每一个子服务类中的子服务集合,获取所述部署序列在每一个子服务类中的子服务集合;
其中,所述的部署序列优化单元21中的部署序列简化子单元213,当同一家族中的子服务在同一个服务的部署过程中多次出现时,由于这些子服务之间存在着兼容关系,以及根据子服务的部署策略,可能会有一些冗余的子服务存在。该单元利用预先保存的简化规则库,按照每个子服务的部署方式,对所述子服务集合中包含的子服务进行优化,重新组成所述组合服务的优化后的部署序列。从而消除部署序列中的冗余子服务,简化整个部署规模。
其中,所述的部署序列优化单元21中的部署序列规范化子单元214,在一个组合服务系统内部,每一个子服务都对应一个部署方式。该单元用于将各种子服务的部署方式的描述方式转换为统一的等价的内部描述方式,该内部描述方式是将每一个子服务的部署方式表示为一个三元组,该三元组中包括子服务的家族号和版本号、兼容关系以及部署策略。
将所有规范化后的子服务的部署方式按照设定的顺序进行排列,组成所述组合服务的部署序列。
上述家族号获取子单元211、子服务集合获取子单元212、部署序列简化子单元213和部署序列规范化子单元214的组成结构参考图2。
所述部署装置还可以包括:
用户意愿获取单元23,该单元用于获取用户对服务部署效果的意愿信息,该意愿信息包括成功的服务部署、安全的服务部署或既成功又安全的服务部署意愿,并将意愿信息发送给部署序列验证单元24。
部署序列验证单元24,该单元用于根据预定的验证规则对所述优化后的部署序列进行验证,得到所述优化后的部署序列的部署效果信息;将所述意愿信息和所述部署效果信息进行比较,得到所述优化后的部署序列中满足用户意愿的子服务和不满足用户意愿的子服务,并发送给服务部署单元22。
上述的服务部署单元22将部署序列验证单元24发送过来的符合用户意愿的子服务,按照各个子服务的排列顺序,根据子服务的部署策略和系统情况依次进行部署,从而最终完成服务的部署工作。
对于不符合用户意愿的子服务,将这些子服务的部署策略进行调整后,再输出给部署序列优化单元21,重新进行上述简化、验证处理。
上述基于子服务的组合服务的部署装置通过研究子服务间的逻辑连接与依赖关系、部署策略以及相似功能子服务之间的兼容性,可以对组合服务部署过程中所涉及到的部署序列进行优化,并对组合服务部署结果做出有效的验证。
上述用户意愿获取单元23、部署序列验证单元24组成结构参考图2。
本发明实施例提供的一种基于子服务的组合服务的部署方法的处理流程如图3所示,包括如下步骤:
步骤31、获取组合服务的部署序列,所述部署序列含有组合服务中包含的各个子服务的部署方式。
步骤32、根据所述各个子服务的部署方式处理所述组合服务的部署序列,生成优化后的所述组合服务的部署序列。
步骤33、按照所述优化后的组合服务的部署序列进行所述组合服务的部署。
由本发明的实施例提供的技术方案可以看出,本发明实施例通过对组合服务中的子服务的部署方式进行规范化处理,并且对部署序列进行优化,简化了组合服务的部署序列,大大降低了服务部署的规模,有效减少系统资源的消耗,降低管理人员的工作强度。
本发明实施例提供的另一种基于子服务的组合服务的部署方法的处理流程如图4所示,包括如下步骤:
步骤41、对部署序列进行规范化
通过部署序列规范化单元将待部署服务的部署序列进行规范化处理,上述部署序列规范化单元的内部处理流程图如图5所示,具体处理过程如下:在组合服务系统中,每个子服务都附带一个描述信息,该描述信息中子服务的家族号和版本信息、部署策略和兼容性等信息。首先,根据子服务的描述信息,获取组合服务中每个子服务的家族号和版本信息、部署策略和兼容性信息。
然后,根据上述获取的信息将待部署服务中的各种子服务的部署方式的描述方式转换为统一的等价的内部描述方式,该内部描述方式是将每一个子服务的部署方式表示为一个三元组,该三元组中包括子服务的家族号和版本号、兼容关系以及部署策略。之后,将所有规范化后的子服务的部署方式按照设定的顺序进行排列,组成所述待部署服务的部署序列。
例如,一个待部署服务S的子服务序列为πC={a,b,d,f,c},其中a和d属于家族1,b和c属于家族3,f属于家族2。a和b的版本号为1,c和d的版本号为2,f的版本号为3。那么根据每个子服务的兼容性以及用户的部署策略意向,规范化后的部署序列可能为如下的表示形式:
步骤42、提取规范化后的部署序列中的家族号序列
得到待部署服务的规范化后的部署序列之后,需要通过特定的算法,提取该规范化后的部署序列中所有的家族号序列(即子服务类号序列),并将得到的家族号序列输出。
上述特定的算法一种处理过程如下:
例如,服务S的规范化后的部署序列为
经过上述算法1,得到的家族号序列P(πC)={1,3,2}。
步骤43、将规范化后的部署序列在子服务类上进行投影
上述规范化后的部署序列IE(πC)中可能存在多个子服务属于同一子服务类的情况,为了优化部署序列,需要得到IE(πC)中的每一个子服务类所包含的子服务信息。
本发明实施例通过执行特定的部署执行投影算法,可以得到IE(πC)中的每个子服务类包含的子服务,该部署执行投影算法的处理流程如图6所示,该部署执行投影获取单元执行的投影算法的一种处理过程如下:
例如,服务S的部署序列为
经过算法1,得到结果P(πC)={1,3,2},然后针对P(πC)中的每一个家族号,运行算法2,得到IE(πC)在各家族上的投影序列:
步骤44、对规范化后的部署序列进行简化
对于一个服务的部署来说,服务功能越复杂,所包含的子服务就越多,部署的规模也就越大,因此相应的部署执行就会越复杂,如果把包含的这些子服务的不同版本都考虑进去的话,其相应的部署执行会更复杂。所以简化子服务的部署规模是增强组合服务系统的实际应用能力的重要过程。
在本实施中,采用NC记录S中不同子服务类的个数,可以通过算法1得到P(πC),P(πC)的长度就是NC。通过部署序列简化单元执行特定的简化算法,规范化后的部署序列进行简化。部署序列简化单元的内部处理流程如图7所示,该部署序列简化单元执行的简化算法的一种处理过程如下:
例如,服务S的部署序列为
运行算法2,得到IE(πC)在各家族上的投影:
包含2个子服务
最终
同理,
由此可以看出,服务S初始由5个子服务构成,经过上述优化处理后,现在只需要3个子服务就能够完成同样的服务功能,起到了降低部署规模,优化系统环境的作用。
步骤45、对简化后的部署序列进行验证。
在对部署序列进行上述简化处理之后,部署序列验证单元利用验证规则库,对简化后的部署序列进行验证,得出该简化后的部署序列的验证结果,该验证结果包括:安全或成功的验证结果。
上述部署序列验证单元的内部处理流程如图8所示,具体处理过程如下:
通过访问验证规则库获取验证规则,该验证规则是根据上述成功部署、安全部署的定义而设置的,主要包括成功部署验证规则和安全部署验证规则两种,部署验证规则可以判断出一个部署方式被部署后是否具有成功性,安全部署验证规则可以判断出一个部署方式被部署后是否具有安全性。利用验证规则对简化后的部署序列中每一个部署方式进行判断,判断其部署后的成功性与安全性,然后综合考虑部署序列中每一个部署方式的判断结果,得出简化后的部署序列的成功性与安全性的验证结果。
通过部署序列验证单元得出验证结果之后,调用用户意愿表达器所采集的用户意愿,对验证结果进行判断,得出优化后的部署序列是否满足用户意愿的判断结果。该实施例提供的根据用户意愿判断验证结果的处理过程示意图如图9所示,具体处理过程如下:
比如,如果用户意愿为要求成功的服务部署,当得到的验证结果为成功的验证结果,则优化后的部署序列满足用户意愿;当得到的验证结果不是成功的验证结果,则优化后的部署序列不满足用户意愿。
如果用户意愿为要求成功的服务部署,当得到的验证结果为成功的验证结果,则优化后的部署序列满足用户意愿;当得到的验证结果不是成功的验证结果,则优化后的部署序列不满足用户意愿。
如果用户意愿为要求安全的服务部署,当得到的验证结果为安全的验证结果,则优化后的部署序列满足用户意愿;当得到的验证结果不是安全的验证结果,则优化后的部署序列不满足用户意愿。
如果用户意愿为要求成功且安全的服务部署,当得到的验证结果为成功且安全的验证结果,则优化后的部署序列满足用户意愿;当得到的验证结果不是成功且安全的验证结果,则优化后的部署序列不满足用户意愿。
对于满足用户意愿的部署序列,系统调用服务部署单元进行部署;对于不满足用户意愿的部署序列,需要进行子服务的部署策略的调整,然后重新进行部署序列简化、验证的过程。
步骤46、对不满足用户意愿的部署序列进行部署策略的调整,对满足用户意愿的部署序列进行部署。
对于不满足用户意愿的部署序列,需要对原始部署序列中每一个子服务的部署方式进行一定的部署策略的调整。
本发明实施例提出的四种部署策略:插入部署策略、覆盖部署策略、择新部署策略、仅空部署策略的局限性依次增大,当采用插入部署策略时,得到的部署序列一定是安全且成功的。因此,系统对部署策略的调整方式为,依次降低部署序列中每一个子服务的部署策略的局限性:
该实施例提供的一种调整子服务的部署策略的算法的处理过程如下:
例如,
其优化后的部署序列为:
如果经系统验证并根据用户意愿表达器所采集的用户意愿信息,得出该优化后的部署序列不满足用户意愿,则对IE(πC)进行部署策略的调整。调整后得出:
然后,对IE(πC)_new重新进行部署序列的简化操作。
对于满足用户意愿的部署序列可以通过服务部署单元进行服务的部署工作,该实施例提供的服务部署单元的内部处理流程如图10所示,具体处理过程如下:
分析优化后的部署序列中每个子服务的部署方式,获取每个子服务的部署策略,根据该部署策略将每个子服务按照它们在部署序列中的排列方式,依次进行部署,随着部署序列中每一个子服务的部署完毕,整个服务就完成了部署过程。
该实施例提供的组合服务的部署方法可以有效地减少服务部署所需要部署的子服务规模,并且可以按照用户意愿来部署服务,避免因无法期望服务部署效果而造成的人力/资源的浪费。
实施例三
该实施例描述了一个具体的服务在组合服务系统中的部署过程。
上述组合服务系统中已经部署的服务的子服务可以采用可扩展标记语言(XML,eXtensible Markup Language)来描述,该XML的schema的结构示意图如图11所示,该XML Schema描述了服务安装序列所须具有的必要信息的一种示例。例如:包含有0~多个子服务,每一个子服务有ID、名字、版本、家族、兼容性、安装策略、子服务当前安装状态(等待安装、已经安装、跳过安装)的属性。
该组合服务系统中存在着4个子服务,该4个子服务的基本信息示意图如图12所示,该4个子服务分属于4个子服务类1、2、3、5,每一个子服务的部署方式如下式所示:
描述上述一个子服务的XML如下:
<service id="5"name="c1"version="1">
<family>1</family>
<compatibility>BC</compatibility>
<policy>OIP</policy>
<status>waiting</status>
</service>
该实施例在上述组合服务系统上部署一个服务S,该服务包含15个子服务,该15个子服务的基本信息示意图如图13所示,该15个子服务分属于5个子服务类,每个子服务都拥有自己的子服务兼容性和部署策略。对于这个服务S的部署,用户期望的部署结果为既成功又安全的部署。
调用部署执行规范化单元对上述服务S的部署序列进行规范化,得到上述服务S的规范化后的部署序列
然后,调用子服务家族号序列获取单元,从规范化后的部署序列中提取服务S的子服务类号序列P(πC)={1,2,5,3,4}。
通过部署执行投影获取单元执行特定的投影算法,可以得到IE(πC)中的每个子服务类包含的子服务,得到服务S的部署序列在各家族上的投影序列为:
通过部署序列简化单元执行特定的简化算法,对上述各个投影序列进行简化,得到:
因此,服务S的子服务的进行了规范化和简化处理后的部署序列为:
调用部署序列验证单元,利用验证规则,对上述IE(πC)_Simplified进行验证,得出IE(πC)_Simplified中所有的子服务在部署后,均为成功的部署;采用的是覆盖部署策略,服务部署后,会覆盖系统中原有的子服务而的兼容性是向后兼容的,无法实现的功能,因此,是一个不安全的部署。综上,可以得出服务S的部署是一个成功但不安全的服务部署,它不满足用户的预期要求:既成功又安全的服务部署。
此时,有两种解决方案:
其一,用户降低预期要求,接受成功但不安全的服务部署结果(本次服务部署,可以满足服务S本身的需要;对于原有系统的影响,忽略不计)。
其二,调用子服务部署策略调节单元,对最初指定的子服务部署策略进行调整,依次降低子服务部署序列中每一个子服务的部署策略,每次调整后重新调用部署序列简化单元及其后的系统流程。
本实施例中采用第二种方案,对IE(πC)进行子服务部署策略的调整。
通过该实施例可以看出,在系统中部署服务S,原本需要部署15个子服务,且部署后无法得知服务的部署效果(除非不考虑子服务的部署策略,所有的子服务全部采用直接部署方式——此时一定是既成功又安全的服务部署——否则无法得知服务部署后效果的成功性与安全性)。而通过本实施例的优化处理以后,服务S的子服务降低为6个,子服务的部署规模降低了60%(而且,这6个子服务也不用全部部署,根据子服务的部署策略,不需要部署到系统中),有效减少系统资源的消耗。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本发明实施例利用同家族的子服务之间的兼容关系以及子服务的部署策略,简化了组合服务的部署序列,大大降低了服务部署的规模,有效减少系统资源的消耗,降低管理人员的工作强度。
而且,通过对服务部署效果的验证,能够提前判断服务部署后对系统的影响以及是否满足用户的要求,这对管理人员来说,可以避免因为盲目部署服务而带来的不良后果。
本发明实施例从用户感知服务的角度和服务系统的整体效用出发,聚焦服务的部署与动态配置,所关注的内容更贴近真实的服务部署的应用环境,使得以子服务为基础的服务部署过程得以规范化,便于操作。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (11)
1.一种组合服务的部署方法,其特征在于,包括:
获取组合服务的部署序列,所述部署序列含有组合服务的子服务的部署方式;
根据所述子服务的部署方式处理部署序列,生成优化后的部署序列;
按照所述优化后的部署序列进行所述组合服务的部署;
所述根据所述子服务的部署方式处理部署序列,生成优化后的部署序列具体包括:
根据所述组合服务的部署序列找出每一个子服务类中的子服务集合,并按照每个子服务的部署方式,对所述子服务集合中包含的子服务进行优化,重新组成所述组合服务的优化后的部署序列;
所述按照每个子服务的部署方式,对所述子服务集合中包含的子服务进行优化,具体包括:
如果待部署服务的系统中存在某个家族号的子服务,则从和该某个家族号对应的子服务集合中去除掉所有部署策略为仅空部署策略的子服务;
如果子服务集合中存在部署策略为覆盖部署策略的子服务,则去除掉该子服务集合中排列在该子服务之前的所有其它子服务;
如果子服务集合中存在部署策略为择新部署策略的子服务,当该子服务集合中存在排在该子服务前且版本号比该子服务大的其它子服务,则去除掉该子服务;否则去除掉该子服务集合中排在该子服务前且版本号比该子服务低的所有其它子服务。
2.根据权利要求1所述的方法,其特征在于,在所述方法之前还包括如下步骤:
对组合服务的部署序列中的子服务的部署方式进行规范化处理,将所有规范化后的子服务的部署方式按照设定的顺序进行排列,组成所述组合服务的部署序列。
3.根据权利要求2所述的方法,其特征在于,所述规范化后的子服务的部署方式包括:子服务的家族号和版本号、兼容关系以及部署策略。
4.根据权利要求1所述的方法,其特征在于,所述根据所述组合服务的部署序列找出每一个子服务类中的子服务集合,具体包括:
将所述部署序列在每一个子服务类上执行投影操作,得到所述部署序列在每一个子服务类中的子服务集合,其中,该子服务集合中各个子服务的排列顺序遵循各个子服务在所述部署序列中的排列循序。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
获取用户对服务部署效果的意愿信息,该意愿信息包括成功的服务部署、安全的服务部署或既成功又安全的服务部署意愿;
根据预定的验证规则对所述优化后的部署序列进行验证,得到所述优化后的部署序列的部署效果信息;
将所述意愿信息和所述部署效果信息进行比较,得到所述优化后的部署序列中满足用户意愿的子服务和不满足用户意愿的子服务。
6.根据权利要求5所述的方法,其特征在于,所述的根据预定的验证规则对所述优化后的部署序列进行验证,得到所述优化后的部署序列的部署效果信息,具体包括:
如果所述优化后的部署序列中每一个子服务的部署策略都是插入部署策略或者覆盖部署策略,则所述优化后的部署序列的服务部署是成功的;
如果所述优化后的部署序列中每一个具有未插入效果的子服务的部署策略都是仅空部署策略,且待部署服务的系统中与所述具有未插入效果的子服务同家族的子服务的兼容性是既向前兼容又向后兼容的,则所述优化后的部署序列的服务部署是成功的;
如果所述优化后的部署序列中每一个子服务的部署策略都是插入部署策略或者仅空部署策略,则所述优化后的部署序列的服务部署是安全的;
如果所述优化后的部署序列中每一个具有插入效果的子服务的部署策略是覆盖部署策略且兼容性是既向前兼容又向后兼容的,或者部署策略为择新部署策略且兼容性是向后兼容的,则所述优化后的部署序列的服务部署是安全的;
如果所述优化后的部署序列中每一个子服务的部署策略都是插入部署策略,则所述优化后的部署序列的服务部署是成功的和安全的。
7.根据权利要求6所述的方法,其特征在于,所述的按照所述优化后的部署序列进行所述组合服务的部署,具体包括:
对不满足用户意愿的子服务进行部署策略的调整,对满足用户意愿的子服务按照各个子服务的部署策略、在部署序列中的排列顺序依次进行部署。
8.一种组合服务的部署装置,其特征在于,包括:
部署序列优化单元,用于获取组合服务的部署序列,所述部署序列含有组合服务的子服务的部署方式,按照所述子服务的部署方式处理部署序列,生成优化后的部署序列;
服务部署单元,用于按照所述优化后的部署序列进行所述组合服务的部署;
所述按照所述子服务的部署方式处理部署序列,生成优化后的部署序列具体包括:
根据所述组合服务的部署序列找出每一个子服务类中的子服务集合,并按照每个子服务的部署方式,对所述子服务集合中包含的子服务进行优化,重新组成所述组合服务的优化后的部署序列;
所述按照每个子服务的部署方式,对所述子服务集合中包含的子服务进行优化,具体包括:
如果待部署服务的系统中存在某个家族号的子服务,则从和该某个家族号对应的子服务集合中去除掉所有部署策略为仅空部署策略的子服务;
如果子服务集合中存在部署策略为覆盖部署策略的子服务,则去除掉该子服务集合中排列在该子服务之前的所有其它子服务;
如果子服务集合中存在部署策略为择新部署策略的子服务,当该子服务集合中存在排在该子服务前且版本号比该子服务大的其它子服务,则去除掉该子服务;否则去除掉该子服务集合中排在该子服务前且版本号比该子服务低的所有其它子服务。
9.如权利要求8所述的组合服务的部署装置,其特征在于,所述的部署序列优化单元包括:
家族号获取子单元,用于获取部署序列中各个子服务所属的家族号信息,并将该家族号信息发送给子服务集合获取子单元;
子服务集合获取子单元,用于根据家族号获取子单元发送过来的部署序列中各个子服务所属的家族号,将所述部署序列在每一个子服务类上执行投影操作,得到所述部署序列在每一个子服务类中的子服务集合;
部署序列简化子单元,用于按照每个子服务的部署方式,对所述子服务集合中包含的子服务进行优化,重新组成所述组合服务的优化后的部署序列。
10.如权利要求9所述组合服务的部署装置,其特征在于,所述的部署序列优化单元还包括:
部署序列规范化子单元,用于对组合服务中的子服务的部署方式进行规范化处理,将所有规范化后的子服务的部署方式按照设定的顺序进行排列,组成所述组合服务的部署序列。
11.根据权利要求8、9或10所述的组合服务的部署装置,其特征在于,所述部署装置还包括:
用户意愿获取单元,用于获取用户对服务部署效果的意愿信息,该意愿信息包括成功的服务部署、安全的服务部署或既成功又安全的服务部署意愿,并将意愿信息发送给部署序列验证单元;
部署序列验证单元,用于根据预定的验证规则对所述优化后的部署序列进行验证,得到所述优化后的部署序列的部署效果信息;将所述意愿信息和所述部署效果信息进行比较,得到所述优化后的部署序列中满足用户意愿的子服务和不满足用户意愿的子服务;
所述服务部署单元对不满足用户意愿的子服务进行部署策略的调整,对满足用户意愿的子服务按照各个子服务的部署策略、在部署序列中的排列顺序依次进行部署。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810225187 CN101729521B (zh) | 2008-10-30 | 2008-10-30 | 组合服务的部署方法和装置 |
PCT/CN2009/074731 WO2010048898A1 (zh) | 2008-10-30 | 2009-10-30 | 组合服务的部署方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810225187 CN101729521B (zh) | 2008-10-30 | 2008-10-30 | 组合服务的部署方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101729521A CN101729521A (zh) | 2010-06-09 |
CN101729521B true CN101729521B (zh) | 2013-04-17 |
Family
ID=42128274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810225187 Expired - Fee Related CN101729521B (zh) | 2008-10-30 | 2008-10-30 | 组合服务的部署方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101729521B (zh) |
WO (1) | WO2010048898A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102201995B (zh) * | 2011-06-03 | 2013-12-04 | 北京邮电大学 | 实现网络载荷优化的组合服务方法 |
CN103413040B (zh) * | 2013-08-05 | 2016-06-08 | 浙江大学 | 面向数据密集型服务协同系统的组件服务部署方法 |
US11259203B2 (en) * | 2018-01-07 | 2022-02-22 | Htc Corporation | Device and method of handling communication device capabilities |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1764183A (zh) * | 2005-11-03 | 2006-04-26 | 西安交通大学 | 一种基于计算机网络的QoS驱动的提供组合Web服务的计算机系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008119364A1 (en) * | 2007-04-02 | 2008-10-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Technique for creating, modifying and executing composite services in a telecommunication network |
-
2008
- 2008-10-30 CN CN 200810225187 patent/CN101729521B/zh not_active Expired - Fee Related
-
2009
- 2009-10-30 WO PCT/CN2009/074731 patent/WO2010048898A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1764183A (zh) * | 2005-11-03 | 2006-04-26 | 西安交通大学 | 一种基于计算机网络的QoS驱动的提供组合Web服务的计算机系统 |
Non-Patent Citations (2)
Title |
---|
朱正东 等."一种基于最小覆盖的复杂Web服务组合方法".《西安交通大学学报》.2008,第42卷(第8期),945-949页. |
齐艳."支持关联QoS约束的动态Web服务选择问题研究".《中国优秀硕士学位论文全文数据库》.2007, |
Also Published As
Publication number | Publication date |
---|---|
WO2010048898A1 (zh) | 2010-05-06 |
CN101729521A (zh) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7853925B2 (en) | System and method for managing hierarchical software development | |
CN101546261B (zh) | 多策略支持的安全网页标签库系统 | |
US7505995B2 (en) | Object-relational model based user interfaces | |
CN102420902B (zh) | 一种分类管理功能使用权限的方法及移动终端 | |
CN102236764B (zh) | 用于Android系统的抵御桌面信息攻击的方法和监控系统 | |
CN110022311B (zh) | 一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法 | |
JP2001184264A (ja) | アクセス制御システム、アクセス制御方法、記憶媒体、及びプログラム伝送装置 | |
CN101755271A (zh) | 用于在连接受限设备配置和开放服务网关联盟环境中管理访问特权的方法和装置 | |
CN101729521B (zh) | 组合服务的部署方法和装置 | |
WO2009023586A2 (en) | Storing custom metadata using custom access control entries | |
CN105046146A (zh) | 一种安卓系统的资源访问方法 | |
CN106648897B (zh) | 一种支持均衡资源的solr集群扩展方法及系统 | |
CN110138767A (zh) | 事务请求的处理方法、装置、设备和存储介质 | |
CN102456113B (zh) | 一种软件包编译平台针对用户设置权限的方法 | |
CN106453413A (zh) | 在多系统中应用SELinux安全策略的方法及装置 | |
EP2169587B1 (en) | Method and rule-repository for generating security-definitions for heterogeneous systems | |
CN110162274A (zh) | 一种基于区块链的数据处理方法、装置及设备 | |
US8365242B2 (en) | Method and apparatus for confidential knowledge protection in software system development | |
Mohammad et al. | TADL-an architecture description language for trustworthy component-based systems | |
CN105677693A (zh) | 一种访问数据库的方法及装置 | |
Ben Brahim et al. | Semantic matching of ws-securitypolicy assertions | |
CN111444524A (zh) | 一种基于联盟链的动态双访问控制机制 | |
ter Beek et al. | CMC-UMC: A framework for the verification of abstract service-oriented properties | |
Schneider | Security architecture-based system design | |
CN101883130B (zh) | 页面流会话信息的保存方法及装置 |
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: 20130417 Termination date: 20181030 |