CN107786651A - 带租户演化容忍度的SaaS服务演化一致性判定方法 - Google Patents
带租户演化容忍度的SaaS服务演化一致性判定方法 Download PDFInfo
- Publication number
- CN107786651A CN107786651A CN201710991196.9A CN201710991196A CN107786651A CN 107786651 A CN107786651 A CN 107786651A CN 201710991196 A CN201710991196 A CN 201710991196A CN 107786651 A CN107786651 A CN 107786651A
- Authority
- CN
- China
- Prior art keywords
- evolution
- service
- consistency
- change
- instance
- 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.)
- Pending
Links
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
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于计算软件技术领域,公开了一种带租户演化容忍度的SaaS服务演化一致性判定方法,从SaaS多租户单实例的应用模式出发,分层次细粒度建立服务实例描述模型,充分考虑租户演化要求,引入一致性度量值表示定量计算结果,结合租户演化容忍度提出一致性判定方法,分层次判定演化一致性。本发明最后结合SaaS应用案例,用此方法对演化一致性分析判定,根据实际应用反馈情况,验证该方法可行性和有效性。
Description
技术领域
本发明属于计算软件技术领域,尤其涉及一种带租户演化容忍度的SaaS服务演化一致性判定方法。
背景技术
面向服务计算(Service-Oriented Computing,SOC)是一种新型计算模式,它将服务当作基本组件,使服务可以低成本、快速、简单分布,甚至在异构环境下组合。随着面向服务计算的不断发展和互联网技术的成熟,软件即服务(Software as a Service,SaaS)作为一种完全创新的软件应用模式被提出[2]。近年来,SaaS作为云计算的主要服务提供模式成为未来软件应用发展的主要趋势,SaaS应用正在给软件工业带来一场革命。
软件演化是软件不断更新变化的过程,是软件的本质特征之一。同理,SaaS服务处于不断变化的环境中,要有效响应用户需求和外部环境变化,就必须具备演化能力,学界一般用演化一致性来定义服务在演化后还保持有原服务基础交互及与其他服务或其他租户正常交互的能力。目前,SaaS演化没有相对完整的规范化体系标准,且分析大多关注SaaS演化实现,对演化一致性的讨论较为欠缺,但一致性的保持是保证演化实施可靠性的重要条件,要建立SaaS演化的规范体系,对一致性的讨论就必不可少。
现有SaaS服务大多是建立在面向服务架构(Service Oriented Architecture,SOA)基础上,指以服务组合形成的SaaS应用,此种SaaS应用比起一般Web服务组合,强调多租户、单实例、可定制的特性。文献[5]将SaaS应用与传统软件区别,将SaaS应用特点归纳为:互联网、提供服务而非软件、可配置、可重复、可快速伸缩、多租户单实例、按需求开发,并将演化决策因素分类为服务本身驱动、管理员驱动和租户需求驱动三类。可见,判定SaaS服务演化一致性必不可少要考虑租户的演化容忍情况。
对单个web服务演化一致性的分析,国内外已有显著成果,主要集中于基于子型理论与近似树匹配。因现有SaaS服务实质是基于SOA架构的服务组合,因此单个服务分析成果可对其分析提供帮助。通过比较,现有的方法主要存在以下不足:(1)对单个Web服务已有相对成熟的描述模型,但没有适用于SaaS服务的描述模型。(2)现有分析成果可反应单个Web服务版本间变化,不过并没有对应方法可清晰反映服务组合在演化过程中的变化。(3)现有对SaaS服务演化一致性的讨论仅仅停留在定性分析层面,且多关注流程变更问题,并没有真正讨论演化的一致性和正确性。(4)讨论演化一致性往往忽略租户核心因素。(5)在一致性判定方面,大多提供定性分析,个别提出定量计算也只适用单个Web服务,没有针对SaaS服务的一致性定量判定方法。
在SaaS应用研究领域,对于SaaS服务演化的研究更多是关注服务演化的实现,对演化一致性的问题要讨论较为欠缺,但一致性的保持是保证演化实施可靠性的重要条件,要建立SaaS演化的规范体系,对一致性的讨论就必不可少。
综上所述,现有技术存在的问题是:
对SaaS服务演化一致性的讨论,现有研究成果多偏向于定性分析方法,且多延续传统软件工程中的已有理论,而定性分析无法直观化的显示一致性的保持情况,对于一致性的判定不确定因素居多;现有研究往往还忽略了SaaS服务的使用者租户的需求因素,然而SaaS应用的核心是给租户提供服务,服务至上且租户是服务好坏的重要评价者,所以判定SaaS服务演化一致性是否得到满足,除了要保证服务演化正确性以外,还要考虑演化后提供服务是否还能满足租户的需求,因此租户因素在一致性判定过程中至关重要,而现有研究往往忽略租户因素;
综合来说现有对演化一致性的判定没有统一标准,多偏向于定性分析且往往忽略租户感受,没有既定的显式标准对一致性进行定量度量。
发明内容
针对现有技术存在的问题,本发明提供一种带租户演化容忍度的SaaS服务演化一致性判定方法。
本发明是这样实现的,一种带租户演化容忍度的SaaS服务演化一致性判定方法,所述带租户演化容忍度的SaaS服务演化一致性判定方法包括:
使用扩展的服务描述性语言WSDL对SaaS应用服务实例和服务实例变迁建立基于实例变迁的服务实例描述模型并进行相应的层次性变化抽取;基于抽取出的变化序列,引入一致性度量值,进行租户参与的分层次细粒度的一致性定量计算;参考租户自定义演化容忍度系数,对SaaS服务演化一致性分层次判定和综合性判定。
进一步,建立基于实例变迁的服务实例描述模型,服务实例Cn=<Cn-1,△L>,其中当n=1时,C0=C1;所述基于实例变迁的服务实例描述模型包括:
实例变迁的变化向量,为一个四元组dv=<O,S,F,D>,其中S∈{structure,non-function},表示服务实例两个层级的变化;O∈{add,del,mod}表示操作变化;F表示实例的服务变化源;D表示实例的服务变化目标;
实例变迁的变化向量序列,为实例变迁中所有变化向量的有序的排列组合,△L=(dv1,dv2,dv3,···,dvn);
若服务实例C1对应的变化向量序列为△L1,演化后的服务实例C2=C1*△L1;
所述变化向量分为结构层变化向量和非功能层变化向量,所述变化向量序列表示为△L=△LS+△LN;△LS表示结构层的变化向量序列,△LN表示非功能层的变化向量序列。
进一步,变化向量抽取方法,包括结构层变化向量抽取方法,建立的服务实例描述模型是符合文本结构的,由此可以自然构建为符合层次结构逻辑的服务实例结构树,结构间的层次关系通过父与子关系节点体现,同层次关系通过兄弟节点间的关系体现,且层次关系与兄弟节点的顺序无关,节点的属性信息中保留了结构的语法信息。变化向量的抽取方法是通过节点之间的层次性递进关系来确定变化路径以及变化对象,再通过比较该节点属性来确定变化内容。通过逐层比较演化前和演化后的结构树节点,提取结构层的变化向量。具体为:
输入:源实例结构树SourceTree,目标实例结构树TargetTree;
输出:服务实例变迁的结构层变化序列△Ls;
for each leveli∈structure{
for each Nodej∈TargetTreefor each Nodek∈SourceTree;
if Nodej主属性=Nodek主属性{,
if其他属性没有修改MatchedStore∪(Nodej,Nodek)→MatchedStore;
else其他属性有修改△Ls∪<mod,structure,F,D>→△Ls;};
for each Nodej∈TargetTree∧Nodej MatchedStore△Ls∪<add,structure,F,D>→△Ls;
for each Nodek∈SourceTree∧Nodek MatchedStore△Ls∪<del,structure,F,D>→△Ls;}。
进一步,变化向量抽取方法,还包括结非功能层变量抽取方法,同结构层变化向量抽取方法相同,将非功能层QoS的每个指标当做一个节点,通过比较演化前后节点信息的变化来抽取出变化向量。具体为:
输入:源非功能描述SourceQoS,目标非功能描述TargetQoS;
输出:实例变迁的非功能层变化向量序列△LN
for each QoSi∈TargetQoS;
for each QoSj∈SourceQoS,
if QoSi主属性=QoSj主属性{,
if QoSi的值=QoSj的值,
MatchedStore∪(QoSi,QoSj)→MatchedStore;
进一步,于抽取出的变化序列,引入一致性度量值,进行租户参与的分层次细粒度的一致性定量计算中采用加权方法来计算,为:
其中γ和δ为租户自定义演化容忍权重系数租户通过调节γ和δ大小控制对SaaS应用一致性定量计算偏向。
进一步,参考租户自定义演化容忍度系数,对SaaS服务演化一致性分层次判定和综合性判定,包括:
演化结构一致性判定:
给定服务实例结构变化向量序列△LS,如果满足,则由源服务实例结构Si演化到目标实例结构Sj满足一致性要求,记为Si<<Sj;其中χ为演化结构层的演化容忍度系数;
演化非功能一致性判定:
给定服务实例非功能变化向量序列△LN,如果满足,则由源服务实例非功能层Ni演化到目标实例非功能层Nj满足一致性要求,记为Ni<<Nj;其中ψ为演化非功能层的演化容忍度系数;
服务演化一致性判定:
给定服务实例变化向量序列△L,如果满足,则由源服务实例Ci演化到目标实例Cj是满足一致性要求,记为Ci<<Cj;其中ω为服务演化一致性判定阈值。
本发明的另一目的在于提供一种带租户演化容忍度的SaaS服务演化一致性判定系统。
本发明的优点及积极效果为:针对SaaS应用,充分考虑租户因素,提出一种带租户演化容忍度的SaaS服务一致性判定方法,该方法可细粒度分层次的解决SaaS服务演化带来的一致性判定问题。本发明的主要工作有以下几个方面:
(1)分析SaaS应用特点以及SaaS服务演化一般过程,提出服务演化一致性的判定需要考虑租户演化容忍度。与现有研究相比,考虑到了SaaS服务核心的租户因素。
(2)提出基于实例变迁的服务实例描述模型。与文献[11]工作相比,实现了SaaS服务实例描述,且此描述模型还可以反映实例变迁,清晰表示SaaS服务演化中的变化。
(3)提出分层次的变化向量抽取方法,在此基础上提出了分层次的一致性定量计算方法。与现有研究相比,提出定量计算方法,区别于定性分析的方法,规避了定性分析的局限,可直观且数据化认知一致性的保持情况。
(4)充分考虑租户因素,提出细粒度的分层次一致性判定方法。较之于现有一致性判定方法,更为细粒度与直观化,且更为尊重服务使用者租户的需求。
(5)结合实际的SaaS服务应用案例,验证此发明的可行性与有效性。
附图说明
图1是本发明实施例提供的带租户演化容忍度的SaaS服务演化一致性判定方法流程图。
图2是本发明实施例提供的SaaS服务演化过程示例图。
图3是本发明实施例提供的服务实例结构树图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
随着云计算技术不断发展与成熟,软件即服务的SaaS模式成为未来软件应用发展的主要趋势。在开放多变的网络环境中,SaaS服务要有效响应用户需求及外部环境变化,就必须具备演化能力。服务在演化后保持原基础交互及与其他服务正常交互的能力,被称为演化一致性。现有对演化一致性的判定没有统一标准,多偏向于定性分析且往往忽略租户感受,没有既定的显式标准对一致性进行定量度量。
下面结合附图及具体实施例对本发明的应用原理作进一步描述。
如图1所示,本发明实施例提供的带租户演化容忍度的SaaS服务演化一致性判定方法,使用扩展的服务描述性语言WSDL(Web Service Description Language)对SaaS应用服务实例和服务实例变迁进行建模,引入演化一致性度量值概念来解决演化一致性的判定和量化问题。具体包括:
S101:首先本发明提出基于实例变迁的服务实例描述模型并给出相应的层次性变化抽取方法;
S102:其次,基于抽取出的变化序列,引入一致性度量值的概念,提出租户参与的分层次细粒度的一致性定量计算方法;
S103:最后,参考租户自定义演化容忍度系数,对SaaS服务演化一致性分层次判定和综合性判定。
一、下面结合具体实施例对本发明作进一步描述。
1、SaaS服务演化一致性判定过程
1.1SaaS服务演化一般过程
在SaaS应用中,软件服务提供商为每一位客户制定并部署软件,多租户单实例(Multi-Tenant Single Instance)应用架构是满足此模式真正意义上的SaaS应用架构,在多租户的环境中,应用运行在同样的一个或者一组服务器上,被称为“单实例”架构。现有SaaS应用是用SOA作为技术平台框架,由Web服务组合形成SaaS应用,此Web服务组合和一般服务组合并不完全相同,突出表现为SaaS特性,关注服务内部结构,而非一般Web服务组合关注的服务聚合问题。SaaS服务演化其实质是“单实例”变化,通常会产生新的“实例”,形成新的SaaS应用,即SaaS服务演化过程。SaaS服务演化示例如图2所示;
图2中,租户T1、T2、T3、T4接受实例I1到I3的迁移,接受此种过程的SaaS应用演化;而T5属于定制租户,不接受此种演化,考虑租户T5需求,实例由I1到I2迁移,实现SaaS应用演化。由图2可知,SaaS应用中服务组合强调多租户、单实例、可定制的特性,SaaS服务的演化必须考虑租户因素。在演化过程中,称I2和I3为目标实例,称I1为源实例,从上图看出,SaaS服务演化中实例变迁是前后相继的:即一个目标实例只会对应一个源实例,即使考虑到租户的演化需求,也只会存在一个目标实例有且只能对应一个源实例;同一个源实例对照不同演化过程,会对应不同目标实例,在同一演化过程中不会产生一个源实例对应多个目标实例或多个源实例对应一个目标实例的情况。
1.2服务演化一致性判定过程
演化一致性应该包含两个基本性质:演化后的服务与环境能够正常交互,演化后的服务功能能够满足租户需求。对定制租户,服务演化可能会涉及所定制服务的使用性,因此租户会参与服务演化一致性分析,确保演化后服务还能继续满足定制租户的特殊需求。一般对服务实例内容描述可从功能层次和非功能层次两方面进行。功能层次又可从结构和行为两方面来描述,但由于服务行为主要是内部的业务流程和逻辑,对演化一致性具有深层次不明显影响,因此本发明主要关注对SaaS服务演化一致性有较为显著影响的服务结构层次和非功能层次。本发明所提出演化一致性判定过程主要分为四个部分:
(1)服务实例和服务变迁描述建模。要讨论服务演化一致性,首先要描述出服务实例,目前关于服务实例描述没有统一标准,本发明参照文献[9]方法建立SaaS服务实例描述模型,在此基础上建立服务实例变迁描述模型。
(2)实例变迁中的变化抽取。变化是引起演化的本质原因,为便于变化向量抽取,本发明将服务实例描述模型建立为适合文本的结构,基于建立的描述模型,通过变化抽取算法对变化向量进行抽取。
(3)一致性度量值定量计算。综合考虑租户演化要求,通过引入服务演化前后保持一致性的程度,即演化一致性度量值概念,对SaaS服务演化一致性进行细致的定量计算,为便于后续一致性的判定,将一致性度量值归一到[0.0-1.0]取值范围。
(4)服务演化一致性判定。在一致性判定阶段,租户起着关键性作用,根据租户的演化容忍要求,设定判定阈值,将分别从结构层、非功能层和综合一致性三个方面给出一致性判定结果,达到分层次、细粒度、全方位的一致性判定。
二、下面结合基于实例变迁的服务实例描述模型及变化抽取对本发明作进一步描述。
1、基于实例变迁的服务实例描述模型及变化抽取
为实现分层次细粒度的演化一致性判定,将从结构层和非功能层建立服务实例描述模型,并给出层次性的变化向量抽取方法。
1.1服务实例的描述模型
本发明所提及的SaaS应用是以SOA作为技术平台的服务组合,而服务由组件构成,组件又是若干操作的集合,操作对应着具体实现的程序函数,因此本发明对WSDL和QoS标准进行扩展,定义符合SaaS应用的服务实例描述模型。
1.1.1服务实例结构层描述模型
本发明提出适用于SaaS应用的服务实例描述模型。不同于文献单个Web服务描述模型,本发明提出的描述模型着重于服务实例及实例下的服务组合,单个Web服务仅作为整体结构的一部分,整个实例描述模型严格按照层次性的逻辑结构建立,实例结构层描述模型定义如下:
定义1(服务实例结构)是整个SaaS服务的实例结构,用九元组Structure=<case,service,port,portType,bingding,operation,message,part,dataType>表示,其中case表示服务实例描述;service表示Web服务描述;port表示接口描述;portType表示接口类型描述;binding表示为绑定描述;operation表示为操作描述;part表示为参数描述;dataType表示为数据类型描述。
定义2(服务实例)是单个实例节点,用三元组Case=<name,depict,Service>表示,其中name表示实例的名称;depict表示实例的描述;Service表示服务实例中包含的服务集合。
其中service、port、portType、bingding、operation、message、part、dataType的定义,在文献中已给出,
本发明定义的服务实例是符合文本结构的,结合此结构描述模型,服务实例可以自然的构建为符合层次结构逻辑的服务实例结构树,如图3所示。
1.2服务实例非功能层描述模型
对照结构层描述模型,建立以下服务非功能层描述模型。
定义3(服务非功能层)服务非功能层表示为服务实例的服务质量总和SUM_Q=<QoS>。
定义4(服务质量)服务质量QoS=<depict,i_name,i_type,i_value>,其中depict表示对QoS的描述;i_name表示指标名称;i_type表示指标属性,有正比属性(monotonic)和反比属性(antitonic)两类,QoS关键指标主要包括:可用性、安全性、时延变化和费用等;i_value表示对应的指标值。
2实例变迁描述模型
SaaS服务变迁是前后相继的,由此实例变迁可分解为三个部分:变化源、变化操作、变化目标。变化源是指原始的实例内容;变化操作包括三种操作:增加、删除、修改;变化目标是指演化后的实例内容。实际意义是指变化源在变化操作作用下变为变化目标,从而使得源实例变为目标实例,完成服务演化。实例变迁中的变化应该是有方向的,本发明中的变化方向统一规定为从源实例到目标实例,下文不再做说明。
定义5(实例变迁的变化向量)表示为一个四元组dv=<O,S,F,D>,其中S∈{structure,non-function},表示服务实例两个层级的变化;O∈{add,del,mod}表示操作变化;F表示实例的服务变化源;D表示实例的服务变化目标;当O=add时,表示对F执行增加操作,当O=del时,表示对F执行删除操作,对应的当然操作可以定义为三种操作的组合。
基于上述实例变迁的变化向量定义,本发明引入变化向量序列来描述从一个实例变迁到另一个实例的所有有序的变化过程。
定义6(实例变迁的变化向量序列)是指实例变迁中所有变化向量的有序的排列组合,△L=(dv1,dv2,dv3,···,dvn)。
若服务实例C1对应的变化向量序列为△L1,那么演化后的服务实例C2=C1*△L1。
由于本发明分层次讨论演化一致性问题,变化向量同样被分为结构层变化向量和非功能层变化向量,由此变化向量序列可以表示为△L=△LS+△LN。△LS表示结构层的变化向量序列,△LN表示非功能层的变化向量序列。
定义7(基于实例变迁的服务实例描述模型)服务实例Cn=<Cn-1,△L>,其中当n=1时,C0=C1。
3变化向量抽取方法
上文定义了服务实例描述模型,但要表示服务演化前后的变化,需要抽取出变化向量,本节将给出相应的变化向量抽取方法。
3.1实例结构层变化向量抽取方法
服务实例的结构为层次树结构,结构间的层次关系通过父与子关系节点体现,同层次关系通过兄弟节点间的关系体现,且层次关系与兄弟节点的顺序无关,节点的属性信息中保留了结构的语法信息。本发明变化向量抽取方法是通过节点之间的层次递进关系来确定变化路径以及变化对象,再通过比较该节点属性来确定变化的内容。值得注意的是,变化内容的不同对于一致性的影响程度也不同。现假设某一操作节点Operation=<O1,request-response,Encoder,MI,MO>有两种演化情况:一种情况为演化后的Operation变为了Operation’=<O2,request-response,Encoder,MI,MO>,其中操作的名称由O1变为了O2,其余属性保持不变;另一种情况为演化后的Operation变为了Operation”=<O1,solicit-response,Encoder,MI,MO>,其中操作的消息操作类型由request-response变为了solicit-response。以上两种演化情况,第一种对一致性的影响程度要大于第二种,因为服务在运行编译过程中,连接是按照名称来进行,由此可知即使是同一节点的内容变化,变化属性的不同对演化一致性的影响是不同的。参照文献的处理办法,将变化后对一致性影响较大的属性定义为主属性,例如上述例子中是name就是一个主属性。对应于上文定义的变化操作,将主属性的修改定义为add和del操作,其他非主属性的修改定义为mod操作,制定以下规则,
如表1所示。
表1变化操作应用规则
根据以上形式化定义的操作变化规则,本发明所采用到的实例结构变化向量抽取算法如下所示
算法1 实例结构层变化向量抽取算法
输入:源实例结构树SourceTree,目标实例结构树TargetTree;
输出:服务实例变迁的结构层变化序列△Ls;
for each leveli∈structure{
for each Nodej∈TargetTreefor each Nodek∈SourceTree;
if Nodej主属性=Nodek主属性{,
if其他属性没有修改MatchedStore∪(Nodej,Nodek)→MatchedStore;
else其他属性有修改△Ls∪<mod,structure,F,D>→△Ls;};
for each Nodej∈TargetTree∧Nodej MatchedStore△Ls∪<add,structure,F,D>→△Ls;
for each Nodek∈SourceTree∧Nodek MatchedStore△Ls∪<del,structure,F,D>→△Ls;}。
3.2非功能层变化向量抽取方法
参照文献处理方法对QoS各项指标统一化和无量纲化,对SaaS服务实例QoS组合评价。对照上文结构层变量抽取方法,将非功能层QoS的每个指标都看作一个节点,根据表2变化操作规则,统一将非功能层QoS指标名称定义为主属性,延续结构层的变化向量抽取办法,对非功能层采用以下变量抽取算法:
算法2 实例非功能层变化向量抽取算法
输入:源非功能描述SourceQoS,目标非功能描述TargetQoS;
输出:实例变迁的非功能层变化向量序列△LN
for each QoSi∈TargetQoS;
for each QoSj∈SourceQoS,
if QoSi主属性=QoSj主属性{,
if QoSi的值=QoSj的值,
MatchedStore∪(QoSi,QoSj)→MatchedStore;
if QoSi的值≠QoSj的值,
△LN∪<mod,non-function,F,D>→△LN;},
三、下面结合分层次细粒度的一致性定量计算及一致性判定方法对本发明作进一步描述。
1、分层次细粒度的一致性定量计算及一致性判定方法
1.1服务演化一致性定量计算方法
结合租户定制需求,本节将从结构层和非功能层细粒度给出与其相适应的一致性定量计算方法,最后结合租户演化容忍偏向,采用加权平均的方法给出综合演化一致性度量值。
1.1.1结构层一致性度量
根据服务实例结构层描述模型,将结构层的一致性深度细化为两个方面:从实例角度出发,讨论单实例下的服务组合变化对一致性的影响;从单个Web服务出发,讨论服务结构中操作、绑定和数据的变化对一致性的影响。最后考虑租户应用需求,综合计算结构层的一致性度量值。
(1)服务一致性度量值ScCE(Service combination Consistency Extent)
从实例出发,本发明采用服务一致性度量值ScCE来对单实例下服务组合变化的一致性度量,主要涉及服务增加、删除对一致性的影响。本发明采用公式(1)来量化服务组合变化对一致性的影响程度。
其中△LS指服务实例的结构层变化序列,N指源服务实例中服务总数,B指服务实例演化后减少的服务个数,A指服务实例演化后增加的服务个数。由公式(1)可以看出,服务的增加和减少对一致性的保持都是负影响的,其中服务减少对一致性的影响更为明显,服务增加对一致性的影响相对较小,这与实际SaaS应用演化的反馈情况相符。服务减少会造成原SaaS应用实例功能的不完善,在实际应用中对租户的影响更为明显,而服务增加对原SaaS应用功能的完整性并没有显著影响。
(2)服务结构一致性度量值SsCE(Service Structure Consistency Extent)
公式(1)给出实例下服务组合变化对结构层一致性的影响,下面从单个服务出发,讨论单个服务结构修改对一致性的影响。本发明用服务结构一致性度量值SsCE来表示单个服务结构修改对一致性影响程度,结合文献[9]方法,用公式(2)计算:
其中操作一致性度量值OpCE(Operation Consistency Extent)是对单个服务操作变化的一致性度量,涉及消息交换模式和消息编码规则对一致性的影响;绑定一致性度量值BdCE BdCE(Binding Consistency Extent)是对单个服务绑定变化的一致性度量,包含绑定风格、传输协议和绑定地址对一致性的影响;数据一致性度量值DaCE(DataConsistency Extent)是对单个服务数据变化的一致性度量,涉及数据类型化和数据级别(精度)对一致性的影响。△Lmod是指结构层变化向量序列中mod操作的序列,IntC表示输入相关变化集,OutC表示输出相关变化集。采用以下计算公式计算:
公式(3)-(11)的相关定义在文献中详细说明。
(3)结构层一致性度量值SCE(Structure Consistency Extent)
综合服务组合变化和单个服务变化,本发明使用结构层一致性度量值SCE对结构层变化定量评价,根据公式(12)计算:
SCE(ΔLs)=α*ScCE(ΔLs)+β*SsCE(ΔLs), (12)
α+β=1
其中α和β为租户自定义系数,其值的意义是租户自由控制对服务实例结构层的改变,更偏向容忍服务组合改变还是容忍单个服务结构变化。但现实中,租户只会关注功能是否实现,并不关注内部结构,而功能实现与结构是息息相关的,因此实际应用中α和β系数一般通过租户的应用需求,使用经验统计科学或机器学习的方法得出。
1.1.2非功能层一致性度量
文献已给出完整的服务组合评价方法,对非功能层一致性度量,参考文献中方法,通过比较各个QoS指标值变化的关系来判定非功能层的一致性,即判断目标QoS属性值Valuetar是否优于源QoS属性值valuesou,表示为valuesou≤Valuetar,具体定义如式(13)所示:
式(13)中Type是QoS属性类型,有正比属性monotonic和反比属性antitonic,在计算服务非功能层一致性时,需要分开考虑。公式中f,s,o,m是艾伦区间代数,fi,si,oi,mi分别表示对应的逆关系。采用公式(13)判定得出的QoS一致性是完全严格的一致性,但从应用角度出发,实际情况往往并不需要如此严格,对服务质量一定范围内的变化都是可以容忍的。参照文献方法,提出适用于SaaS应用的服务质量一致性度量方法,用公式(14)对QoS指标变化进行评价。
其中g为租户自定义系数,可以使用它调节对QoS变化的容忍,实际应用中g的大小通过挖掘租户需求或由经验统计数据获得。由公式(14),提出非功能层的一致性度量方法,通过公式(15)计算:
其中△Lmod是指服务实例非功能层变迁向量序列中mod操作序列,n是指该序列中QoS变化个数。
1.1.3服务演化一致性度量
基于上文结构层一致性度量和非功能层一致性度量,本发明采用加权方法来计算服务演化的一致度,用公式(16)就计算:
CCE(ΔL)=γ*SCE(ΔLs)+δ*NCE(ΔLN) (16)
γ+δ=1
其中γ和δ为租户自定义演化容忍权重系数租户可通过调节γ和δ大小来控制对SaaS应用一致性定量计算偏向,是更关注结构一致性还是非功能一致性。实际应用中,γ和δ一般通过通过挖掘租户的定制需求获得。
1.2SaaS服务演化一致性判定
由上文工作,可以细粒度得到SaaS服务演化结构层和非功能层一致性度量值以及综合一致性度量值。结合租户需求和得到的度量值,便可进行一致性判定。
1.2.1演化结构一致性判定
判定准则1(演化结构一致性)给定服务实例结构变化向量序列△LS,如果满足,则称由源服务实例结构Si演化到目标实例结构Sj是满足一致性要求的,演化结构一致性得到保证,记为Si<<Sj。其中χ为演化结构层的演化容忍度系数,通过挖掘租户定制需求获得,也可由租户自己给定。
1.2.2演化非功能一致性判定
判定准则2(演化非功能一致性)给定服务实例非功能变化向量序列△LN,如果满足,则称由源服务实例非功能层Ni演化到目标实例非功能层Nj是满足一致性要求的,演化非功能一致性得到保证,记为Ni<<Nj。其中ψ为演化非功能层的演化容忍度系数,通过挖掘租户定制需求获得,也可由租户自己给定。
1.2.3服务演化一致性判定
判定准则3(服务演化一致性)给定服务实例变化向量序列△L,如果满足,则称由源服务实例Ci演化到目标实例Cj是满足一致性要求的,服务演化一致性得到保证,记为Ci<<Cj。其中ω为服务演化一致性判定阈值,可以通过挖掘租户定制需求获得,也可以由租户自定义给出。
四、下面结合案例分析对本发明作进一步描述。
1、为分析和验证此SaaS服务演化一致性判定方法,使用一个实际SaaS服务应用案例,设计三个演化场景,采用本发明方法对一致性度量值计算并对一致性做出判定。
1.1演化场景设置
本发明使用一个实际的旅游出行查询SaaS服务案例设计演化场景,该SaaS应用实例主要包括三个服务应用,分别是2500多个国内外城市天气查询服务、国内火车时刻表查询服务、国内飞机航班时刻表查询服务。实例涉及3个服务,12组绑定,64个操作,128个消息输入输出,200多组消息参数集合,以及若干端口节点。
演化场景1产生新服务实例C2,在TrainTimeWebService服务中,输入消息getStationAndTimeByTrainCode参数ID类型由int变为String,输出消息getVersionTimeResponse参数getVersionTimeResult类型由String变为int;在DomesticAirline服务中增加getDomesticCity操作。同时QoS执行时间由[0.35,1]变为[0.35,1.3],费用由[0.93,1]变为[0.81,0.93]。
演化场景2产生新服务实例C3,在TrainTimeWebService服务中,输入消息getStationAndTimeByTrainCode参数ID类型由int变为String;在DomesticAirline服务中增加getDomesticCity操作;在WeatherWS服务中,输入消息getWeather参数增加date类型变量。同时QoS执行时间由[0.35,1]变为[0.77,2.0],可靠性由[87,88]变为[84,87],信誉度由[3.5,5]变为[3.4,4.1]。
演化场景3产生新服务实例C4,服务组合中减少WeatherWS服务,在TrainTimeWebService服务中,输入消息getStationAndTimeByTrainCode参数ID类型由int变为String;在DomesticAirline服务中增加getDomesticCity操作。同时QoS执行时间由[0.35,1]变为(0,0.8],可靠性由[87,88]变为[84,100]。
对三个演化场景的一致性判定,统一设置一致性判定阈值为0.85。
1.2实例分析
案例所使用的参数设置如下表2所示:
表2参数设置
(1)演化场景一抽取出的变化向量中,演化场景一判定结果为:结构层一致度为0.9416;非功能层一致度为0.9;服务演化一致度为0.9208。根据设定的演化容忍度和一致性判定阈值,结构层一致性能够满足演化一致性,非功能层也能满足演化一致性。综合来看,服务演化一致性满足设定的0.85的阈值,演化场景一满足演化一致性。
(2)演化场景二抽取出的变化向量中,演化场景二判定结果为:结构层一致度为0.4708;非功能层一致度为0.9867;服务演化一致度为0.7288。此根据设定的演化容忍度和一致性判定阈值,结构层一致性不满足演化一致性,非功能层满足演化一致性。综合来看,服务演化一致性不满足设定的0.85的阈值,演化场景二不满足演化一致性。
(3)演化场景三抽取出的变化向量中,演化场景三判定结果为:结构层一致度为0.5541;非功能层一致度为0.9914;服务演化一致度为0.7728。根据设定的演化容忍度和一致性判定阈值,结构层一致性不满足演化一致性,非功能层满足演化一致性。综合来看,服务演化一致性不满足设定的0.85的阈值,演化场景三不满足演化一致性。
上述演化场景的一致性判定结果与实际经验相符合。演化场景一中,输入数据类型由int变为string,符合输入逆变,对一致性没有太大影响,输出由String变为int,符合输出协变,对一致性也没有太大影响,同理增加输出操作getDomesticCity,对结构层一致性影响不大;演化场景二中,延续演化场景一的变化,不过在另一个服务中增加输入参数,因在服务中没有提供该输入数据相应的机制,由此对一致性会造成较大影响,结构层一致性得不到满足,因非功能层是对整个应用的评价,由数据显示,对非功能层并没有造成太大影响,整体来看场景二不满足整体一致性,与现实相符合;演化场景三中,服务实例与原实例相比减少一个服务,此种情况一定不能满足用户需求,由数据显示对服务实例结构影响很大,结构层一致性得不到满足,即使非功能层一致性得到满足,综合来看,整个服务的一致性没能得到满足,与实际反馈情况相符。
五、下面结合结论对本发明作进一步描述。
针对SaaS应用,充分考虑租户因素,提出一种带租户演化容忍度的SaaS服务演化一致性判定方法。为解决问题提出服务实例描述模型、变化向量抽取方法和一致性定量计算方法,以及一致性判定方法。采用本发明方法可细粒度分层次解决SaaS服务演化带来的一致性判定问题。
本发明主要的工作有以下几个方面:
(1)分析SaaS应用特点,结合SaaS服务演化提出服务演化一致性的判定需要考虑租户演化容忍度。与现有分析相比,考虑到SaaS核心的租户因素。
(2)提出基于实例变迁的服务实例描述模型。与文献[9]工作相比,本发明实现了服务实例描述,且此描述模型还可反映实例变迁,清晰表示服务演化中的变化。
(3)提出分层次的变化向量抽取方法,并提出细粒度分层次的一致性定量计算方法,充分考虑租户演化容忍度,并提出一致性分层次判定方法。
(4)结合实际SaaS服务应用分析,验证此种方法满足实际应用反馈情况。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种带租户演化容忍度的SaaS服务演化一致性判定方法,其特征在于,所述带租户演化容忍度的SaaS服务演化一致性判定方法包括:
使用扩展的服务描述性语言WSDL对SaaS应用服务实例和服务实例变迁建立基于实例变迁的服务实例描述模型并进行相应的层次性变化抽取;基于抽取出的变化序列,引入一致性度量值,进行租户参与的分层次细粒度的一致性定量计算;参考租户自定义演化容忍度系数,对SaaS服务演化一致性分层次判定和综合性判定。
2.如权利要求1所述的带租户演化容忍度的SaaS服务演化一致性判定方法,其特征在于,建立基于实例变迁的服务实例描述模型,服务实例Cn=<Cn-1,△L>,其中当n=1时,C0=C1;所述基于实例变迁的服务实例描述模型包括:
实例变迁的变化向量,为一个四元组dv=<O,S,F,D>,其中S∈{structure,non-function},表示服务实例两个层级的变化;O∈{add,del,mod}表示操作变化;F表示实例的服务变化源;D表示实例的服务变化目标;
实例变迁的变化向量序列,为实例变迁中所有变化向量的有序的排列组合,△L=(dv1,dv2,dv3,…,dvn);
若服务实例C1对应的变化向量序列为△L1,演化后的服务实例C2=C1*△L1;
所述变化向量分为结构层变化向量和非功能层变化向量,所述变化向量序列表示为△L=△LS+△LN;△LS表示结构层的变化向量序列,△LN表示非功能层的变化向量序列。
3.如权利要求1所述的带租户演化容忍度的SaaS服务演化一致性判定方法,其特征在于,变化向量抽取方法,包括结构层变化向量抽取方法,
通过节点之间的层次性递进关系确定变化路径以及变化对象,再通过比较该节点属性确定变化内容;通过逐层比较演化前和演化后的结构树节点,提取结构层的变化向量。
4.如权利要求1所述的带租户演化容忍度的SaaS服务演化一致性判定方法,其特征在于,变化向量抽取方法,还包括结非功能层变量抽取方法,将非功能层QoS的每个指标当做一个节点,通过比较演化前后节点信息的变化来抽取出变化向量。
5.如权利要求1所述的带租户演化容忍度的SaaS服务演化一致性判定方法,其特征在于,于抽取出的变化序列,引入一致性度量值,进行租户参与的分层次细粒度的一致性定量计算中采用加权方法来计算,为:
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<mi>C</mi>
<mi>C</mi>
<mi>E</mi>
<mrow>
<mo>(</mo>
<mi>&Delta;</mi>
<mi>L</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>&gamma;</mi>
<mo>*</mo>
<mi>S</mi>
<mi>C</mi>
<mi>E</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&Delta;L</mi>
<mi>s</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mi>&delta;</mi>
<mo>*</mo>
<mi>N</mi>
<mi>C</mi>
<mi>E</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&Delta;L</mi>
<mi>N</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>&gamma;</mi>
<mo>+</mo>
<mi>&delta;</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>;</mo>
</mrow>
其中γ和δ为租户自定义演化容忍权重系数租户通过调节γ和δ大小控制对SaaS应用一致性定量计算偏向。
6.如权利要求1所述的带租户演化容忍度的SaaS服务演化一致性判定方法,其特征在于,参考租户自定义演化容忍度系数,对SaaS服务演化一致性分层次判定和综合性判定,包括:
演化结构一致性判定:
给定服务实例结构变化向量序列△LS,如果满足,则由源服务实例结构Si演化到目标实例结构Sj满足一致性要求,记为Si<<Sj;其中χ为演化结构层的演化容忍度系数;
演化非功能一致性判定:
给定服务实例非功能变化向量序列△LN,如果满足,则由源服务实例非功能层Ni演化到目标实例非功能层Nj满足一致性要求,记为Ni<<Nj;其中ψ为演化非功能层的演化容忍度系数;
服务演化一致性判定:
给定服务实例变化向量序列△L,如果满足,则由源服务实例Ci演化到目标实例Cj是满足一致性要求,记为Ci<<Cj;其中ω为服务演化一致性判定阈值。
7.一种如权利要求1所述带租户演化容忍度的SaaS服务演化一致性判定方法的带租户演化容忍度的SaaS服务演化一致性判定系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710991196.9A CN107786651A (zh) | 2017-10-23 | 2017-10-23 | 带租户演化容忍度的SaaS服务演化一致性判定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710991196.9A CN107786651A (zh) | 2017-10-23 | 2017-10-23 | 带租户演化容忍度的SaaS服务演化一致性判定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107786651A true CN107786651A (zh) | 2018-03-09 |
Family
ID=61434821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710991196.9A Pending CN107786651A (zh) | 2017-10-23 | 2017-10-23 | 带租户演化容忍度的SaaS服务演化一致性判定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107786651A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930609A (zh) * | 2020-07-03 | 2020-11-13 | 三体云智能科技有限公司 | 一种SaaS服务软件品质评价方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794226A (zh) * | 2010-03-08 | 2010-08-04 | 山东大学 | 一种适应多业务抽象层次的服务化软件构造方法和系统 |
CN102215264A (zh) * | 2011-06-10 | 2011-10-12 | 山东大学 | 一种支持多租户数据与服务定制运行的方法和装置 |
CN102882943A (zh) * | 2012-09-12 | 2013-01-16 | 北京航空航天大学 | 服务副本读写方法及系统 |
US20140032441A1 (en) * | 2012-07-26 | 2014-01-30 | Sap Ag | Field Extensibility Self Healing After Incompatible Changes |
CN104598219A (zh) * | 2014-12-04 | 2015-05-06 | 东北大学 | 基于变化的服务演化一致性判定方法及系统 |
CN106897429A (zh) * | 2017-02-27 | 2017-06-27 | 和创(北京)科技股份有限公司 | SaaS系统租户信息获取方法及应用其的服务器 |
-
2017
- 2017-10-23 CN CN201710991196.9A patent/CN107786651A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794226A (zh) * | 2010-03-08 | 2010-08-04 | 山东大学 | 一种适应多业务抽象层次的服务化软件构造方法和系统 |
CN102215264A (zh) * | 2011-06-10 | 2011-10-12 | 山东大学 | 一种支持多租户数据与服务定制运行的方法和装置 |
US20140032441A1 (en) * | 2012-07-26 | 2014-01-30 | Sap Ag | Field Extensibility Self Healing After Incompatible Changes |
CN102882943A (zh) * | 2012-09-12 | 2013-01-16 | 北京航空航天大学 | 服务副本读写方法及系统 |
CN104598219A (zh) * | 2014-12-04 | 2015-05-06 | 东北大学 | 基于变化的服务演化一致性判定方法及系统 |
CN106897429A (zh) * | 2017-02-27 | 2017-06-27 | 和创(北京)科技股份有限公司 | SaaS系统租户信息获取方法及应用其的服务器 |
Non-Patent Citations (3)
Title |
---|
李冰: "面向变化的服务演化一致性判定方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
李冰等: "基于变化的服务演化一致性判定", 《计算机工程与科学》 * |
蒋旭东: "面向动态演化的软件行为相关性分析研究", 《小型微型计算机系统》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930609A (zh) * | 2020-07-03 | 2020-11-13 | 三体云智能科技有限公司 | 一种SaaS服务软件品质评价方法 |
CN111930609B (zh) * | 2020-07-03 | 2022-10-14 | 三体云智能科技有限公司 | 一种SaaS服务软件品质评价方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230297711A1 (en) | Systems for Secure Policies-Based Information Governance Using a Policy Enforcement Point (PEP) | |
JP6722292B2 (ja) | 畳み込みニューラル・ネットワークを使用してコンテンツを処理するシステムおよび方法 | |
WO2018019232A1 (zh) | 流计算方法、装置及系统 | |
Huang et al. | Recommendation in an evolving service ecosystem based on network prediction | |
US10491644B2 (en) | Systems and methods to present responses to an event in a social network | |
Huang et al. | The power of online learning in stochastic network optimization | |
JP2023520420A (ja) | チャットボットのために不均衡なトレーニングデータを取り扱うためのバッチング技術 | |
US10169710B2 (en) | Automated decision support provenance and simulation | |
US7986707B2 (en) | Method and system for rules based workflow of media services | |
US11500517B2 (en) | Embedding productivity applications in third party platforms | |
US20130024835A1 (en) | System and method for integrated dynamic case management | |
WO2009144822A1 (ja) | 装置構成情報管理プログラム、装置構成情報管理装置及び装置構成情報管理方法 | |
Al Ridhawi et al. | Workflow-net based service composition using mobile edge nodes | |
US10740397B2 (en) | User modelling and metadata of transmedia content data | |
Tomar et al. | Prediction of quality using ANN based on Teaching‐Learning Optimization in component‐based software systems | |
Sood et al. | A general QoS aware flow-balancing and resource management scheme in distributed software-defined networks | |
Phillips et al. | Design tradeoffs in concave cost-sharing games | |
Le Ny | Differentially private nonlinear observer design using contraction analysis | |
CN107786651A (zh) | 带租户演化容忍度的SaaS服务演化一致性判定方法 | |
Cardozo | Emergent software services | |
Rangiha et al. | Goal-driven social business process management | |
Alrashoud et al. | Cognitive and hierarchical fuzzy inference system for generating next release planning in saas applications | |
Bader et al. | Towards Enforceable Usage Policies for Industry 4.0. | |
RU2656687C1 (ru) | Система и способ для моделирования и расчета химико-технологических систем | |
Muralidharan et al. | Trusted cloud broker for estimating the reputation of cloud providers in federated cloud environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180309 |