一种互联网环境下基于Bigraph一致性算法的服务组合方法与流程

文档序号:16275895发布日期:2018-12-14 22:34阅读:188来源:国知局
一种互联网环境下基于Bigraph一致性算法的服务组合方法与流程
本发明涉及web服务组合领域,尤其是数据服务的组合方法。
背景技术
数据即服务(dataasaservice,daas)是一种新兴的云计算服务模式,通过互联网上的不同协议以及时、低成本的方式向消费者按需提供数据。daas的主要目标是克服数据技术中先进方法的局限性,根据这些方法存储数据,并从位置已知且与共享、处理相关的存储库中访问数据。利用daas不仅可以随时随地支持数据访问,而且可以降低数据管理成本。不同类型的daas,允许消费者在大量丰富的数据源上执行数据请求和分析,提高了对数据的访问灵活性。例如azure的datamarket、大数据平台供应商infochimps与开发位置数据平台factual。以及随之产生的一系列研究系统。然而,由于单个数据服务功能单一,难以满足在复杂网络环境中各个消费者的需求,因此,服务组合已成为面向服务架构(serviceorientedarchitecture,soa)中构建新服务和满足业务需求的主要手段,在业务流程的构造和重组中处于核心地位。但高动态的web服务运行环境和多样化的用户需求增加了服务组合的动态适应难度。事实上,现有的这类服务组合系统并没有过多考虑全局设计与固定需求目标,其内的每个组成服务个体为了自身的利益最大化而提供服务,系统松散结合并根据需求变化或者自身利益而演化。因此,如何有效的对服务组合演化进行演化建模和对服务行为进行分析,成为了现有研究必须应对的问题。服务组合的演化不同于传统的软件演化,由于服务有着多源、异构以及自治的特点,并且具备动态特性,使得服务组合的演化面临着更严峻的挑战。目前国内外学者在服务演化建模及其行为特征方面进行了大量研究,取得了一定的成果。在服务组合演化建模方面,牛津大学的aitor将环境的服务及其功能抽象为语义web服务,提出一个支持用户请求和服务行为动态推理的自适应服务组合框架,但是该组合框架的理论方法主要适用基于物联网的智能城市应用,在其他的应用场景有一定的局限性。科尔多瓦大学的aurora基于多目标的优化分析web服务质量(qos),实现在复杂服务网络中选取qos侧重点不同的服务组合方案,从而解决web服务绑定问题的适用性。但是由于多目标算法计算复杂度较高,只能较好适用于设计阶段的服务组合,不能很好的在运行时实现优化过程。对于服务组合的行为分析主要从单个服务或者组合服务的角度,采用例如petri网、进程代数、π演算等形式化的方法进行分析,并在服务组合的行为兼容性和组合有效性方面进行考察,例如,同济大学的chen提出一种处理模糊语义服务的输入/输出兼容性和行为约束兼容性的自动web服务组合方法,首先将用户输入/输出需求建模为horn子句集,然后应用模糊谓词petri网对字句集进行建模,最终构造一个fppn模型显示所选服务的调用顺序。爱丁堡大学的petros在经典线性逻辑中利用过程范式证明来进行复杂web服务组合,提出一个基于线性逻辑和π演算严格定理证明的web服务组合论述,但以上的研究主要集中在具体服务的抽象行为和语义分析,不能很好的支持在动态上下文环境中服务行为的有效分析,在环境发生改变时,容易产生服务的性能下降以及组合失效等问题。南京大学的song在服务组合演化中提出一套演化操作准则,只要开发人员在系统演化过程中正确修改服务组合,就可以保证web服务组合的数据流的正确性,而不必重新对整个web服务组合的数据流正确性进行验证。缺点是提出的演化准则较为复杂,在实际应用中可行性不高。生物细胞作为一种结构精密的形态整体,在生长、分化和生理活动过程中其结构能根据环境不断发生变化。在分析细胞的多种复杂的生物特性后,发现将服务组合的动态行为与生物细胞的行为方式进行比较,在某些方面两者呈现出一定的相似特效。因此可以将数据服务同生物细胞结合,通过模拟生物细胞的智能行为,来分析服务组合的演化行为。例如,北京大学的zhang提出的活化细胞理论,将数据组织为一组活化细胞,每个细胞是与计算能力相结合的数据集合,随着用户需求的变化,活化细胞可以自发演变满足新的查询负载,但是其只是提出了一种理论方法,并没有对数据与细胞结合的可行性进行分析。zhang等人之后提出一种基于活化细胞理论的面向数据服务体系结构,将活化细胞作为系统的基本单元,细胞之间具有嵌套与层次结构,并具有一系列交互能力,在系统层次提高了数据的分析能力与系统的灵活性。但是其理论主要应用于数据服务体系的非线性任务中提高异构数据的可伸缩性和灵活性。并没有对细胞交互行为进行很好的形式化描述与演化推理。云南大学wei通过对spark集群和生物的dna/rna测序结合,全面研究了各生物信息学阶段对不同工作负载的性能影响,但是其主要目的在于解决spark系统上如何有效管理生物信息的数据分析服务。技术实现要素:本发明针对数据即服务的思想,将数据服务封装为具有智能行为的数据细胞,从而在数据细胞的层次进行服务组合的演化建模和动态行为分析。为了克服传统的形式化方法很难对数据细胞的生命活动进行准确推理,本发明以数据细胞为载体,基于bigraph理论,针对数据即服务的思想提出互联网环境下一种基于bigraph一致性算法的服务组合方法。该方法通过对数据细胞的结构与行为进行设计与分析,以提高系统的灵活性,使系统能够适应复杂的分析应用,并且在数据细胞的动态行为演化中通过bigraph的一致性算法检测服务组合的有效性。为了解决上述技术问题本发明所采用的技术方案是:一种互联网环境下基于bigraph一致性算法的服务组合方法,所述服务组合方法包括以下步骤:第一步、结合bigraph理论,建立一个服务组合框架,分为两阶段;1.1、信息抽取和细胞建模:提取服务的相关描述信息,得到服务描述元数据,基于抽取的服务信息,根据服务的语法信息匹配服务操作参数与资源状态,基于bigraph理论构建数据细胞和数据细胞簇的结构及生物特性,代表服务的状态信息与服务间潜在的调用关系;1.2、服务组合:将数据细胞和数据细胞簇作为服务的演化行为方式的载体。选取数据细胞和细胞簇进行服务组合,模拟服务生成组合服务的行为模式,构建基于数据细胞的服务组合模型。第二步、基于所述的框架提出的互联网环境下一种基于bigraph一致性算法的服务组合方法,过程如下:2.1:web服务的信息抽取在web服务的信息抽取阶段,将服务的名称映射为s,每个服务对应一个控制c,唯一,组成规则为:c=s:cotrol;将服务的可用性度量映射为u,将服务的端口的id、名称和类型分别映射为pi、pn和pt,另外将端口的控制类型映射为pc,代表此端口是输入、输出还是输入/输出;将此服务和其他服务的依赖状态映射为cl,组成规则为:cl=<dl,cn>,其中,dl是当前服务的依赖层次,cn则是与之依赖的另一个服务的控制名称;2.2:细胞建模对于服务的形式化建模需要根据映射规则,将服务的结构和消息交互行为加以映射到对应形式化结构和动作,从而通过形式化的方法对服务及其组合进行进程演算;2.3:服务组合验证对web服务组合的全局交互行为和局部行为建立形式化描述,并利用bigraph一致性算法验证web服务组合参与者的动态行为能够正确交互以及全局交互行为和局部行为的一致性,保证web服务组合的有效性。进一步,所述步骤2.2中,给出的形式定义如下:定义1.数据细胞的bigraph定义是一个五元组dc=<s,e,ctrl,cp,cl>:<m,x>→<n,y>,其中,(1)s是数据细胞内包含有限的服务集,称为一个数据服务;对于数据细胞dci,其内最多可有ni个数据服务;(2)e是包含服务集的有限边集合,称为一条连接边;(3)ctrl:s→c,代表服务到控制c的映射图;(4)cp、cl为位置图和连接图,分别表示各计算服务的所在位置和服务之间的依赖关系;(5)内部接口<m,x>代表数据细胞的bigraph形式中有m个根和一组内连接边集合x,外部接口<n,y>代表有n个site和一组外连接边集合y;定义2.服务的控制c是五元组c=<cn,ct,p,cl,u>,代表该服务的上下文关系,其中,(1)cn和ct分别是该服务控制的名称和类型;(2)p是当前服务控制上端口的有限集,称为一个端口;(3)cl=<dl,cn>,代表该服务当前的依赖状态,dl是当前服务的依赖层次,cn是与之依赖的控制名称;(4)u是当前服务的可用性度量,是一个概率值;定义3.服务的依赖层次dl代表该服务的组合结构,取值来自状态集{⊙,《,》},其中⊙,《,》分别代表此服务和其他服务为无依赖、前置依赖、后置依赖等关系;定义4.端口的定义是一个四元组p=<pi,pn,pt,pc,>,其中,(1)pi和pn分别是该端口的id和名称;(2)pt是该端口的类型,代表接口参数的类型;(3)pc是该端口的控制属性,取值来自状态集其中分别代表该端口是输入端口、输出端口还是输入/输出端口;数据细胞的bigraph定义目的在于构造数据细胞的结构和生物特性,每一个数据细胞对应一个原子服务或者复合服务,从而体现服务的结构资源特点和相互依赖关系,数据细胞的具体结构和元素定义详见表1,一个数据细胞对应bigraph中的root,数据细胞中的每个服务对应bigraph中的节点,服务之间的依赖关系为bigraph中节点的连接边,每个服务的基本信息和上下文关系对应bigraph中节点的控制,服务的每个输入、输出端口对应bigraph中节点端口的形状;表1由于单个数据细胞提供的服务功能相对较为单一,但在实际应用中,为满足用户日益复杂的需求,需要从网络上选择合适的服务并按照一定的业务规则进行组合,构建可伸缩的松耦合的组合,数据细胞簇基于服务组合的四种工作流模式,由多个数据细胞按照功能属性和需求调用动态聚集组合而成;数据细胞基于bigraph的合成、并置规则从而形成数据细胞簇,数据细胞簇同样能够消化从环境中感知吸收和其他数据细胞交流的信息,智能地与其他数据细胞进行互动,从而可以提供更加精确复杂的服务功能;dcem中数据细胞簇的相关形式定义如下:定义5.数据细胞簇的定义是一个三元组dcc=<dcs,cs,links>,其中,(1)dcs是一个数据细胞的有限集,称为一个数据细胞;(2)cs是数据细胞组合结构的有限集;(3)links是数据细胞簇中各端口的连接集合,称为两个端口的连接关系;定义6.数据细胞的组合结构cs是一个三元组cs=<dci,dcj,st>,其中,(1)dci、dcj分别代表数据细胞i和数据细胞j,且满足dci∩dcj=φ;(2)st是该组合数据细胞的依赖结构,取值来自状态集{·、+、||、*},分别代表这数据细胞dci与dci组合是顺序、选择、并行或者循环结构;定义7.端口的连接关系是一个二元组link=<pi,pj>,其中,pi、pj分别代表两个不同数据服务的端口,且满足pi∩pj=φ;项语言是bigraph动态演化的形式化规约和性质验证的基础,不同工作流模式的数据细胞簇项语言定义具有通用特征,为了更好的描述不同服务结构数据细胞簇的项语言定义,归纳总结一系列符号和定义,如表2所示:符号定义dcm第m个数据细胞sn第n个数据服务ei第i条数据服务连接边ij第j个内部名ij用外部名替换的第j个内部名ok第k个外部名表2通过bigraph中项语言的表达理论和表2中基于数据细胞结构的相关定义,对上文所述的基于服务组合工作流模式构造的数据细胞簇分析,在数据细胞簇项语言形式化上下文中,定义基本代数概念,所述基本代数概念包括基调和项集;定义8:数据细胞簇形式化定义上的基调∑由类子:数据细胞集dc、数据服务集s、边集e、内部连接集i、外部连接集o、地点集n和一系列操作符·、+、||、*组成,每个操作符f的操作数记为ar(f);定义9:令σ是数据细胞簇形式化定义上的基调,则基调σ上的项集∏(σ)是满足以下条件的最小集合:(1)每个类子变量都是项集中的元素;(2)(3)如果f∈σ,且dc1,dc2,...,dciar(f)∈∏(σ),那么f(dc1,dc2,…,dciar(f))∈∏(σ);定义10:令σ是数据细胞簇形式化定义上的基调,∏(σ)是基调σ上的项集,若u(f)∈∏(σ),则称u(f)为基于操作f的项;项的定义也可采用结构归纳定义,表示成以下形式:其中::=表示归纳定义,elrule代表数据细胞簇bigraph形式中边和连接的形式化定义,dci代表单个数据细胞的项语言定义,m为数据细胞的个数。更进一步,所述步骤2.3中,bigraph一致性方法具体步骤如下:定义11(bigraph反应规则):s=<c,r,c′>:c→c′。c和c′分别为反应物和生成物,均为数据细胞对应的bigraph结构,r为反应规则集合并规定了数据细胞c到c′的反应过程。为了应对不断变化的业务环境和用户需求,数据细胞与其他细胞发生行为交互结构不断发生变化,如何保证此过程中数据细胞的结构完整性进而达到服务组合有效性,是服务演化过程中必须考虑的一个问题。本发明使用bigraph一致性算法对数据细胞的bigraph反应系统进行演化匹配,匹配的过程中确定在bigraph中存在反应规则集合r的约束,其中r由上下文环境及需求动态确定,匹配成功则生成新的bigraph,算法考虑到时间的推移,服务质量与服务上下文感知信息的变化,粒度达到服务的控制端口级别,使用了包括逻辑表达式与时间概率等反应条件。该匹配算法首先给定一个数据细胞的bigraphbc和一组反应规则r,对于反应规则集合r中每个反应规则r调用ismatch方法判断bigraph内元素是否符合匹配条件,如果他们彼此匹配并且满足时间约束,则bigraph中的匹配部分被规则r的生成替换;方法ismatch是一个递归方法,它循环检查bigraph中的节点是否有效,并且判断节点的参数和反应规则r参数是否匹配,直到检查bigraph中最后一个节点。其中,bigraph一致性方法具体步骤如下:2.3.1:判断反应规则集合r是否为空,如果为空转步骤2.3.8,否则转步骤2.3.2;2.3.2:设置一个最大匹配时间约束timeconstraints;2.3.3:依次解析反应规则集合r的元素,其中rm代表其内共有m条反应规则,读取当前已经解析的反应规则ri,ri(0<i<m+1)代表r中第i条反应规则,如果ri为空,则设i=1,否则i=i+1,如果i=m,则表示当前系统已解析完最后一条反应规则结束并转步骤2.3.7,否则转2.3.4;2.3.4:解析步骤2.3.3中的反应规则ri,通过匹配方法ismatch判断bigraphbc中是否有服务符合匹配条件,如果存在匹配则转步骤2.3.5,并记录匹配所花费的时间spenttime,否则转步骤2.3.3;2.3.5:如果匹配花费的时间spenttime大于timeconstraints,则转步骤2.3.6,否则转步骤2.3.5.1;2.3.5.1:如果bigraphbc是第一次反应替换,则将bc与ri匹配的部分进行替换,生成新的bigraphbc',转步骤2.3.3,否则转步骤2.3.5.2;2.3.5.2:将此时的bigraphbc'与ri匹配的部分进行替换,生成新的bigraphbc'替换之前的bigraph,转步骤2.3.3;2.3.6:该数据细胞bigraph演化过程中此条规则未在约束时间内找到对应的服务进行匹配演化,转步骤2.3.3;2.3.7:返回步骤2.3.5中生成最终的数据细胞演化后的bigraphbc';2.3.8:该演化过程的反应规则为空,不满足演化条件,返回原bigraphbc;进一步,步骤2.3.4中的匹配算法具体步骤如下:2.3.4.1:依次解析进行演化的数据细胞的bigraphbc的结构,直到解析完最后一个服务结束,其中服务集合sn代表其内共有n个数据服务,sj(0<j<n+1)代表第j个数据服务,此步骤每次只按照顺序解析一个服务;2.3.4.2:解析反应规则ri,判断ri内是否包含数据服务sj,如果包含则转步骤2.3.4.3,否则转步骤2.3.4.6;2.3.4.2.1:判断sj的控制名称和ri的控制名称是否相同,如果相同则转2.3.4.2.2,否则转2.3.4.4;2.3.4.2.2:判断sj的控制类型和ri的控制类型是否相同,如果相同则转2.3.4.2.3,否则转2.3.4.4;2.3.4.2.3:依次检测sj的端口p,判断sj的端口id和ri的端口id是否相同,如果相同则转2.3.4.2.4,否则转2.3.4.4;2.3.4.2.4:依次检测sj的端口p,判断sj的端口名称和ri的端口名称是否相同,如果相同则转2.3.4.2.5,否则转2.3.4.4;2.3.4.2.5:依次检测sj的端口p,判断sj的端口类型和ri的端口类型是否相同,如果相同则转2.3.4.2.6,否则转2.3.4.4;2.3.4.2.6:依次检测sj的端口p,判断sj的端口控制属性和ri的端口控制属性是否相同,如果相同则转2.3.4.2.6,否则转2.3.4.4。2.3.4.3:说明该数据服务sj和此条反应规则ri匹配,可以进行演化;2.3.4.4:说明此数据服务sj不满足该反应规则ri的演化条件,不可进行演化,转步骤2.3.4.1。本发明的有益效果主要表现在:(1)该服务演化方法运用bigraph理论将数据服务封装为数据细胞,对数据细胞及细胞簇进行bigraph建模,为数据细胞的智能行为推理提供了理论依据。(2)该服务演化方法通过对该模型的动态行为分析,可以确保服务交互过程中服务交互行为与其定义属性的一致性,从而提高服务组合执行的有效性与可靠性(3)该方法在服务组合过程中通过bigraph一致性算法检验数据细胞的完整性进而达到服务组合的有效性,能够建立一种有效的可靠的服务组合演化方式。附图说明图1示出了bigraph元素图,其中,10为根(root)也叫区域(region),11为控制(control),12为节点(node),13为地点(site),14为外连接名称(outername),15为端口(port),16为连接边(edge),17为内连接名称(innername)。图2示出了数据细胞的bigraph形式图。图3示出了数据细胞簇的bigraph形式图。具体实施方式下面结合附图对本发明作进一步描述。参照图1~图3,一种互联网环境下基于bigraph一致性算法的服务组合方法,所述服务组合方法包括以下步骤:第一步、建立一个服务演化框架,分为信息抽取和细胞建模及服务行为演化分析两阶段;1.1、信息抽取和细胞建模:提取服务的相关描述信息,得到服务描述元数据,基于抽取的服务信息,根据服务的语法信息匹配服务操作参数与资源状态,进行细胞相容性解析,基于bigraph理论构建数据细胞和数据细胞簇的结构及生物特性,代表服务的状态信息与服务间潜在的调用关系;bigraph是由milner等学者在2001年提出的一种基于图形的形式化理论工具,旨在强调计算(物理或虚拟)的位置和连接,bigraph是一个二元组b=<bp,bl>,如图1所示,其中,bp,bl分别是位置图(placegraph)和连接图(linkgraph)。位置图用以表示bigraph中各个节点(node)的所在位置,节点之间允许相互嵌套;连接图则忽略节点之间的嵌套关系,图中的边(edge)表示节点之间的连接关系。位置图和连接图是从两个不同的角度对同一个bigraph观察所得到的结果,因此它们具有相对的独立性。bp由图的节点集v、边的集合e和接口组成,嵌套的节点在位置图中为父子关系,用分支关系表示节点之间的嵌套。位置图的接口分为内部接口和外部接口,分别表示根(root)和站点(site),用有穷序数n表示,即n={0,1,…,n-1}。特别地,0=ф。连接图的接口也分为内部接口(innername)和外部接口(outername),分别表示内部名字集和外部名字集。为了增强表示能力,bigraph引进基本签名。基本签名是一个二元组(к,ar),这里к表示控制(control)的集合,用巴科斯范式(bnf)表示,则有k::=k|k:n,其中,n表示k的元数(arity),为自然数集。每个控制都有一个映射表示从控制节点到的映射。基本签名к上的bigraph,就是给每个节点指派一个控制,控制的元数就是该节点的端口(port)数,用小黑圆圈表示。在数学基础方面,位置图可视为态射,其对象是序数集。连接图则是对象为名字集的态射。每一个bigraph都可以利用基本的图元(placings、wirings和ions),合成或扩展乘积操作的组合形成bigraph范式,通过项语言可以对系统性质进行推理和演绎。在数学基础方面,位置图可视为态射,其对象是序数集。连接图则是对象为名字集的态射。每一个bigraph都可以利用基本的图元(placings、wirings和ions),合成或扩展乘积操作的组合形成bigraph范式,通过项语言可以对系统性质进行推理和演绎。这些基本的元素以及操作如表3所示,表3为bigraph表达式中项的涵义:表31.2、服务组合:将数据细胞和数据细胞簇作为服务的演化行为方式的载体。选取数据细胞和细胞簇进行服务组合,模拟服务生成组合服务的行为模式,构建基于数据细胞的服务组合模型。第二步、基于所述的框架提出的互联网环境下一种基于bigraph一致性算法的服务组合方法,过程如下:步骤2.1:服务的信息抽取在服务的信息抽取阶段,将服务的名称映射为s,每个服务对应一个控制c,唯一,组成规则为:c=s:cotrol;将服务的可用性度量映射为u,将服务的端口的id、名称和类型分别映射为pi、pn和pt,另外将端口的控制类型映射为pc,代表此端口是输入端口、输入端口还是输入/输出端口;将此服务和其他服务的依赖状态映射为cl,组成规则为:cl=<dl,cn>,其中,dl是当前服务的依赖层次,cn则是与之依赖的另一个服务的控制名称。至此,根据上述定义1—定义7将服务的信息映射至dc.xml结构。步骤2.2:细胞建模对于服务的形式化建模需要根据映射规则,将服务的结构和消息交互行为加以映射到对应形式化结构和动作,从而通过形式化的方法对服务及其组合进行进程演算。本发明基于bigraph理论构建dcem(数据细胞模型),该模型是本发明对数据服务封装并对服务组合动态行为分析的前提和基础。本质上dcem是一个形式化的元模型,主要包含两层:数据细胞和数据细胞簇。形式定义如下:定义1.数据细胞的bigraph定义是一个五元组dc=<s,e,ctrl,cp,cl>:<m,x>→<n,y>。其中,(1)s是数据细胞内包含有限的服务集,称为一个数据服务;对于数据细胞dci,其内最多可有ni个数据服务;(2)e是包含服务集的有限边集合,称为一条连接边;(3)ctrl:s→c,代表服务到控制c的映射图;(4)cp、cl为位置图和连接图,分别表示各计算服务的所在位置和服务之间的依赖关系;(5)内部接口<m,x>代表数据细胞的bigraph形式中有m个根和一组内连接边集合x,外部接口<n,y>代表有n个site和一组外连接边集合y。定义2.服务的控制c是五元组c=<cn,ct,p,cl,u>,代表该服务的上下文关系,其中,(1)cn和ct分别是该服务控制的名称和类型;(2)p是当前服务控制上端口的有限集,称为一个端口;(3)cl=<dl,cn>,代表该服务当前的依赖状态,dl是当前服务的依赖层次,cn是与之依赖的控制名称;(4)u是当前服务的可用性度量,是一个概率值。定义3.服务的依赖层次dl代表该服务的组合结构,取值来自状态集{⊙,《,》}。其中⊙,《,》分别代表此服务和其他服务为无依赖、前置依赖、后置依赖等关系。定义4.端口的定义是一个四元组p=<pi,pn,pt,pc,>,其中,(1)pi和pn分别是该端口的id和名称;(2)pt是该端口的类型,代表接口参数的类型;(3)pc是该端口的控制属性,取值来自状态集其中分别代表该端口是输入端口、输出端口还是输入/输出端口。数据细胞的bigraph定义目的在于构造数据细胞的结构和生物特性,每一个数据细胞对应一个原子服务或者复合服务,从而体现服务的结构资源特点和相互依赖关系,数据细胞的具体结构和元素定义详见表1,一个数据细胞对应bigraph中的root,数据细胞中的每个服务对应bigraph中的节点,服务之间的依赖关系为bigraph中节点的连接边,每个服务的基本信息和上下文关系对应bigraph中节点的控制,服务的每个输入、输出端口对应bigraph中节点端口的形状。表1按照表1中数据细胞的结构定义,如图2所示,本发明构造了两个具有不同状态结构的数据细胞,其中,数据细胞dc0中有一个服务s1,该服务对应控制为c1,dc0中包含外连接边x和site1,说明此数据细胞可以被内连接为x的数据细胞吞噬,具体吞噬行为规则见步骤2.3.2.1;数据细胞dc1中包含两个服务s2和s3,s2的输出是s3的输入,两个服务各有自己对应的控制c2和c3,两个服务的连接边为e1,并且dc1中包含内连接边y和site1,代表此数据细胞具有吞噬其他细胞进化的能力。由于单个数据细胞提供的服务功能相对较为单一,但在实际应用中,为满足用户日益复杂的需求,需要从网络上选择合适的服务并按照一定的业务规则进行组合,构建可伸缩的松耦合的组合,数据细胞簇基于服务组合的四种工作流模式,由多个数据细胞按照功能属性和需求调用动态聚集组合而成。数据细胞基于bigraph的合成、并置规则从而形成数据细胞簇,数据细胞簇同样能够消化从环境中感知吸收和其他数据细胞交流的信息,智能地与其他数据细胞进行互动,从而可以提供更加精确复杂的服务功能。本发明提出的dcem中数据细胞簇的相关形式定义如下:定义5.数据细胞簇的定义是一个三元组dcc=<dcs,cs,links>,其中,(1)dcs是一个数据细胞的有限集,称为一个数据细胞;(2)cs是数据细胞组合结构的有限集;(3)links是数据细胞簇中各端口的连接集合,称为两个端口的连接关系。定义6.数据细胞的组合结构cs是一个三元组cs=<dci,dcj,st>,其中,(1)dci、dcj分别代表数据细胞i和数据细胞j,且满足dci∩dcj=φ;(2)st是该组合数据细胞的依赖结构,取值来自状态集{·、+、||、*},分别代表这数据细胞dci与dci组合是顺序、选择、并行或者循环结构。定义7.端口的连接关系是一个二元组link=<pi,pj>,其中,pi、pj分别代表两个不同数据服务的端口,且满足pi∩pj=φ。项语言是bigraph动态演化的形式化规约和性质验证的基础,不同工作流模式的数据细胞簇项语言定义具有通用特征,为了更好的描述不同服务结构数据细胞簇的项语言定义,本发明归纳总结一系列符号和定义,如表2所示:符号定义dcm第m个数据细胞sn第n个数据服务ei第i条数据服务连接边ij第j个内部名ij用外部名替换的第j个内部名ok第k个外部名表2通过bigraph中项语言的表达理论和表2中基于数据细胞结构的相关定义。对上文所述的基于服务组合工作流模式构造的数据细胞簇分析,本发明在数据细胞簇项语言形式化上下文中,定义了基调、项等基本代数概念。定义8(基调):数据细胞簇形式化定义上的基调∑由类子:数据细胞集dc、数据服务集s、边集e、内部连接集i、外部连接集o、地点集n和一系列操作符·、+、||、*组成,每个操作符f的操作数记为ar(f)。定义9(项集):令σ是数据细胞簇形式化定义上的基调,则基调σ上的项集∏(σ)是满足以下条件的最小集合:(1)每个类子变量都是项集中的元素;(2)(3)如果f∈σ,且dc1,dc2,...,dciar(f)∈∏(σ),那么f(dc1,dc2,…,dciar(f))∈∏(σ)。定义10(项):令σ是数据细胞簇形式化定义上的基调,∏(σ)是基调σ上的项集,若u(f)∈∏(σ),则称u(f)为基于操作f的项。项的定义也可采用结构归纳定义,表示成以下形式:其中::=表示归纳定义,elrule代表数据细胞簇bigraph形式中边和连接的形式化定义,dci代表单个数据细胞的项语言定义,m为数据细胞的个数。基于不同工作流构造数据细胞簇的bigraph形式如图3所示,以图中的并行结构为例分析,该数据细胞簇中含有三个细胞dc0,dc1,dc2,从数据细胞的结构分析,其中dc0和dc2中各有一个服务和一个site,dc0和dc1中的服务分别有一个内连接和外连接,dc1中有两个服务,其中一个服务内部有一个site;从服务调用关系来看,dc0中的s1服务完成后并发执行dc1中的s2、s3服务,然后执行dc2中的s4服务。s1服务有一个内连接i1,s4服务有一个外连接o4,其中在形式化描述中内连接需要进行换名。该数据细胞簇对应的bigraph项语言定义为u(||),按照定义10的描述,u(||)由两部分组成,该例中elrule为/e1./e2./e3./e4./i1.,其中ei代表服务之间的连接边,i1为s1服务的内连接;为:其中代表s1服务有一个内连接和两个边连接,边连接表示和其他服务有数据的输入或者输出的依赖关系,i1/i1代表将内连接i1进行换名,|代表dc内服务的同级并置关系,||代表dc之间的同级并置关系,代表s3服务有两个边连接并且其内有一个site,故最终该数据细胞簇的bigraph项语言形式化定义为:顺序结构数据细胞簇中含有两个细胞dc0、dc1,从数据细胞的结构分析,其中dc0中有两个服务,dc1中有一个服务和一个site,并且dc1中的服务有一个外连接;从服务调用关系来看,dc0中的s1服务完成后执行s2服务,然后执行dc1中的s3服务,组成顺序结构,其中s3服务有一个外连接o3,按照定义10,该数据细胞簇对应的bigraph项语言形式化定义为:选择结构数据细胞簇中含有三个细胞dc0、dc1和dc2,从数据细胞的结构分析,三个数据细胞中各包含一个服务,dc0和dc2中各有一个site,dc1中的服务内部有一个site并且该服务有一个内连接;从服务调用关系来看,dc1中的s2服务执行完后选择执行dc0中的s1服务或者执行dc1中的s3服务,其中三个数据细胞中各包含一个site,dc1中的s2服务具有内连接i2,该数据细胞簇对应的bigraph项语言形式化定义为:循环结构中包含两个数据细胞dc0和dc1,从数据细胞的结构分析,dc0中有两个服务s1和s2,这两个服务是循环关系,s1服务内部有一个site并且包含一个内连接,dc1中有一个服务和一个site;从服务调用关系来看,其中s2服务为s1服务的前置服务,s2服务的输出是s1服务的输入,并且可以循环输入,最终和dc1中的s3服务组成循环结构的数据细胞簇,s1服务有一个内连接i1,dc0和dc1中各包含一个site,该数据细胞簇对应的bigraph项语言形式化定义为:步骤2.3:服务组合验证对web服务组合的全局交互行为和局部行为建立形式化描述,并利用bigraph一致性算法验证web服务组合参与者的动态行为能够正确交互以及全局交互行为和局部行为的一致性,保证web服务组合的有效性。其中bigraph一致性方法具体步骤如下:定义11(bigraph反应规则):s=<c,r,c′>:c→c′。c和c′分别为反应物和生成物,均为数据细胞对应的bigraph结构,r为反应规则集合并规定了数据细胞c到c′的反应过程。为了应对不断变化的业务环境和用户需求,数据细胞与其他细胞发生行为交互结构不断发生变化,如何保证此过程中数据细胞的结构完整性进而达到服务组合有效性,是服务演化过程中必须考虑的一个问题。本发明使用bigraph一致性算法对数据细胞的bigraph反应系统进行演化匹配,匹配的过程中确定在bigraph中存在反应规则集合r的约束,其中r由上下文环境及需求动态确定,匹配成功则生成新的bigraph,算法考虑到时间的推移,服务质量与服务上下文感知信息的变化,粒度达到服务的控制端口级别,使用了包括逻辑表达式与时间概率等反应条件。该匹配算法首先给定一个数据细胞的bigraphbc和一组反应规则r,对于反应规则集合r中每个反应规则r调用ismatch方法判断bigraph内元素是否符合匹配条件,如果他们彼此匹配并且满足时间约束,则bigraph中的匹配部分被规则r的生成替换;方法ismatch是一个递归方法,它循环检查bigraph中的节点是否有效,并且判断节点的参数和反应规则r参数是否匹配,直到检查bigraph中最后一个节点。其中,bigraph一致性方法具体步骤如下:2.3.1:判断反应规则集合r是否为空,如果为空转步骤2.3.8,否则转步骤2.3.2;2.3.2:设置一个最大匹配时间约束timeconstraints;2.3.3:依次解析反应规则集合r的元素,其中rm代表其内共有m条反应规则,读取当前已经解析的反应规则ri,ri(0<i<m+1)代表r中第i条反应规则,如果ri为空,则设i=1,否则i=i+1,如果i=m,则表示当前系统已解析完最后一条反应规则结束并转步骤2.3.7,否则转2.3.4;2.3.4:解析步骤2.3.3中的反应规则ri,通过匹配方法ismatch判断bigraphbc中是否有服务符合匹配条件,如果存在匹配则转步骤2.3.5,并记录匹配所花费的时间spenttime,否则转步骤2.3.3;2.3.5:如果匹配花费的时间spenttime大于timeconstraints,则转步骤2.3.6,否则转步骤2.3.5.1;2.3.5.1:如果bigraphbc是第一次反应替换,则将bc与ri匹配的部分进行替换,生成新的bigraphbc',转步骤2.3.3,否则转步骤2.3.5.2;2.3.5.2:将此时的bigraphbc'与ri匹配的部分进行替换,生成新的bigraphbc'替换之前的bigraph,转步骤2.3.3;2.3.6:该数据细胞bigraph演化过程中此条规则未在约束时间内找到对应的服务进行匹配演化,转步骤2.3.3;2.3.7:返回步骤2.3.5中生成最终的数据细胞演化后的bigraphbc';2.3.8:该演化过程的反应规则为空,不满足演化条件,返回原bigraphbc;进一步,步骤2.3.4中的匹配算法具体步骤如下:2.3.4.1:依次解析进行演化的数据细胞的bigraphbc的结构,直到解析完最后一个服务结束,其中服务集合sn代表其内共有n个数据服务,sj(0<j<n+1)代表第j个数据服务,此步骤每次只按照顺序解析一个服务;2.3.4.2:解析反应规则ri,判断ri内是否包含数据服务sj,如果包含则转步骤2.3.4.3,否则转步骤2.3.4.6;2.3.4.2.1:判断sj的控制名称和ri的控制名称是否相同,如果相同则转2.3.4.2.2,否则转2.3.4.4;2.3.4.2.2:判断sj的控制类型和ri的控制类型是否相同,如果相同则转2.3.4.2.3,否则转2.3.4.4;2.3.4.2.3:依次检测sj的端口p,判断sj的端口id和ri的端口id是否相同,如果相同则转2.3.4.2.4,否则转2.3.4.4;2.3.4.2.4:依次检测sj的端口p,判断sj的端口名称和ri的端口名称是否相同,如果相同则转2.3.4.2.5,否则转2.3.4.4;2.3.4.2.5:依次检测sj的端口p,判断sj的端口类型和ri的端口类型是否相同,如果相同则转2.3.4.2.6,否则转2.3.4.4;2.3.4.2.6:依次检测sj的端口p,判断sj的端口控制属性和ri的端口控制属性是否相同,如果相同则转2.3.4.2.6,否则转2.3.4.4。2.3.4.3:说明该数据服务sj和此条反应规则ri匹配,可以进行演化;2.3.4.4:说明此数据服务sj不满足该反应规则ri的演化条件,不可进行演化,转步骤2.3.4.1。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1