CN108804788B - 一种基于数据细胞模型的Web服务演化方法 - Google Patents
一种基于数据细胞模型的Web服务演化方法 Download PDFInfo
- Publication number
- CN108804788B CN108804788B CN201810528122.6A CN201810528122A CN108804788B CN 108804788 B CN108804788 B CN 108804788B CN 201810528122 A CN201810528122 A CN 201810528122A CN 108804788 B CN108804788 B CN 108804788B
- Authority
- CN
- China
- Prior art keywords
- service
- data
- cell
- cells
- data cell
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Abstract
一种基于数据细胞模型的服务演化方法,包括以下步骤:第一步、结合Bigraph理论,建立一个服务演化框架,分为信息抽取和细胞建模及服务行为演化分析两阶段;第二步、基于所述的框架提出的基于数据细胞模型的服务演化方法,过程如下:步骤2.1:Web服务的信息抽取;步骤2.2:细胞建模;步骤2.3:服务行为演化:结合服务与生物细胞特性构建DCEM,随着用户需求与资源变更的变化,数据细胞发现现有的内部服务结构已经不能提供高质量的服务能力,需要进行相应的行为演化,使之在需求频繁变更和资源动态更新的情况下也能够高效的提供服务。本发明提高系统的灵活性,使系统能够适应复杂的分析应用。
Description
技术领域
本发明涉及Web服务组合领域,尤其是数据服务的组合演化方法。
背景技术
数据即服务(Data as a Service,DaaS)是一种新兴的云计算服务模式,通过互联网上的不同协议以及时、低成本的方式向消费者按需提供数据。DaaS的主要目标是克服数据技术中先进方法的局限性,根据这些方法存储数据,并从位置已知且与共享、处理相关的存储库中访问数据。利用DaaS不仅可以随时随地支持数据访问,而且可以降低数据管理成本。不同类型的DaaS,允许消费者在大量丰富的数据源上执行数据请求和分析,提高了对数据的访问灵活性。例如Azure 的Data Market、大数据平台供应商Infochimps与开发位置数据平台Factual。以及随之产生的一系列研究系统。
然而,由于单个数据服务功能单一,难以满足在复杂网络环境中各个消费者的需求,因此,服务组合已成为面向服务架构(Service Oriented Architecture,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理论,建立一个服务演化框架,分为信息抽取和细胞建模及服务行为演化分析两阶段;
1.1、信息抽取和细胞建模:提取服务的相关描述信息,得到服务描述元数据,基于抽取的服务信息,根据服务的语法信息匹配服务操作参数与资源状态,基于 Bigraph理论构建数据细胞和数据细胞簇的结构及生物特性,代表服务的状态信息与服务间潜在的调用关系;
1.2、服务行为演化:将数据细胞和数据细胞簇作为服务的演化行为方式的载体,选取数据细胞和细胞簇,按照吸收消化、进化生物细胞行为定义服务的组合生长规则,模拟服务生成组合服务的行为模式;构建基于数据细胞的服务演化模型;
第二步、基于所述的框架提出的基于数据细胞模型的服务演化方法,过程如下:
步骤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:服务行为演化
服务组合以服务间的按需聚合为主要运行模式,以动态适应、随需演化作为其运行特征,在不可预测的用户需求驱动下,各协同服务形成错综复杂的交互关系,各服务进程需要与其他服务以一系列操作序列形式进行会话,结合服务与生物细胞特性构建DCEM(数据细胞模型),随着用户需求与资源变更的变化,数据细胞发现现有的内部服务结构已经不能提供高质量的服务能力,需要进行相应的行为演化,使之在需求频繁变更和资源动态更新的情况下也能够高效的提供服务。
进一步,所述步骤2.2中,给出的形式定义如下:
定义1.数据细胞的Bigraph定义是一个五元组DC=<S,E,Ctrl,CP,CL>:<m,X> →<n,Y>,其中,
(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分别是该服务控制的名称和类型;
(3)CL=<DL,CN>,代表该服务当前的依赖状态,DL是当前服务的依赖层次,CN是与之依赖的控制名称;
(4)U是当前服务的可用性度量,是一个概率值;
定义3.服务的依赖层次DL代表该服务的组合结构,取值来自状态集{⊙,《, 》},其中⊙,《,》分别代表此服务和其他服务为无依赖、前置依赖、后置依赖等关系;
定义4.端口的定义是一个四元组p=<pI,pN,pT,pC,>,其中,
(1)pI和pN分别是该端口的ID和名称;
(2)pT是该端口的类型,代表接口参数的类型;
分别代表该端口是输入端口、输出端口还是输入/输出端口;
数据细胞的Bigraph定义目的在于构造数据细胞的结构和生物特性,每一个数据细胞对应一个原子服务或者复合服务,从而体现服务的结构资源特点和相互依赖关系,数据细胞的具体结构和元素定义详见表1,一个数据细胞对应Bigraph 中的root,数据细胞中的每个服务对应Bigraph中的节点,服务之间的依赖关系为Bigraph中节点的连接边,每个服务的基本信息和上下文关系对应Bigraph中节点的控制,服务的每个输入、输出端口对应Bigraph中节点端口的形状;
表1
由于单个数据细胞提供的服务功能相对较为单一,但在实际应用中,为满足用户日益复杂的需求,需要从网络上选择合适的服务并按照一定的业务规则进行组合,构建可伸缩的松耦合的组合,数据细胞簇基于服务组合的四种工作流模式,由多个数据细胞按照功能属性和需求调用动态聚集组合而成;数据细胞基于 Bigraph的合成、并置规则从而形成数据细胞簇,数据细胞簇同样能够消化从环境中感知吸收和其他数据细胞交流的信息,智能地与其他数据细胞进行互动,从而可以提供更加精确复杂的服务功能;DCEM中数据细胞簇的相关形式定义如下:
定义5.数据细胞簇的定义是一个三元组DCC=<DCS,CS,LinkS>,其中,
(2)CS是数据细胞组合结构的有限集;
定义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所示:
符号 | 定义 |
DC<sub>m</sub> | 第m个数据细胞 |
S<sub>n</sub> | 第n个数据服务 |
e<sub>i</sub> | 第i条数据服务连接边 |
i<sub>j</sub>, | 第j个内部名 |
I<sub>j</sub>, | 用外部名替换的第j个内部名 |
o<sub>k</sub> | 第k个外部名 |
表2
通过Bigraph中项语言的表达理论和表2中基于数据细胞结构的相关定义,对上文所述的基于服务组合工作流模式构造的数据细胞簇分析,在数据细胞簇项语言形式化上下文中,定义基本代数概念,所述基本代数概念包括基调和项集;
定义8:数据细胞簇形式化定义上的基调∑由类子:数据细胞集DC、数据服务集S、边集E、内部连接集I、外部连接集O、地点集N和一系列操作符·、+、 ||、*组成,每个操作符f的操作数记为ar(f);
定义9:令Σ是数据细胞簇形式化定义上的基调,则基调Σ上的项集∏(Σ)是满足以下条件的最小集合:
(1)每个类子变量都是项集中的元素;
(3)如果f∈Σ,且DC1,DC2,...,DCiar(f)∈∏(Σ),那么f(DC1,DC2,…,DCiar(f))∈∏(Σ);
定义10:令Σ是数据细胞簇形式化定义上的基调,∏(Σ)是基调Σ上的项集, 若u(f)∈∏(Σ),则称u(f)为基于操作f的项;项的定义也可采用结构归纳定义,表示成以下形式:
其中::=表示归纳定义,ELrule代表数据细胞簇Bigraph形式中边和连接的形式化定义,DCi代表单个数据细胞的项语言定义,m为数据细胞的个数。
更进一步,所述步骤2.3中,吸收消化和进化的流程如下:
2.3.1吸收消化行为
在需求动态变化的环境中,当现有的数据服务不能很好的满足需求,或者发现细胞内服务的缺失时,数据细胞可以通过吸收消化行为获取其他数据细胞内的服务,从而完善自身的服务能力;吸收消化不同于进化,吸收消化行为是两个细胞之间的服务迁移组合,而进化行为则是两个数据细胞的结构重组为一个满足需求的数据细胞;
2.3.2进化行为
数据细胞的进化分为两种,一种是吞噬作用,由具有吞噬作用的细胞吞噬其他数据细胞,被吞噬的细胞成为吞噬细胞内部的一部分,从而达到内部结构更复杂,服务能力更完善的目的;另外一种是聚集作用,包含相似功能以及相近过程服务的细胞聚集在一起形成细胞簇的形式,通过聚集行为构造候选服务集,在服务发现、服务替换时可以很快定义所需服务,缩小服务的查找能耗,从而提高服务的发现效率和自适应能力。
再进一步,所述步骤2.3.1中,数据细胞的吸收消化行为基于Bigraph的迁移操作,其流程包括:
2.3.1.1:细胞DCG吸收消化细胞DCF的前提是DCG的服务和DCF中的某服务存在连接边,其表现在服务与服务之间有关联关系,可构成服务组合,其关联关系通过端口映射实现;
2.3.1.2:查看DCG和DCF是否有连接边,如果这两个细胞没有连接边,则代表这两个Bigraph不相交,即|F|#|G|,则转步骤2.3.1.3,否则转2.3.1.2.1;
2.3.1.2.1:查询DCG和DCF的服务连接边e,以及该连接边对应连接的服务sG和sF;
2.3.1.2.2:复制DCF中sF服务的所有信息,包括服务名称s、服务控制C和服务到控制的映射Ctrl;
2.3.1.2.3:将步骤2.3.1.2.2中复制的信息添加到DCG中,在DCG的服务集合S 中添加服务sF,在端口集合P中添加sF服务的端口,在DCG的位置图Gp和连接图GL中添加node sF,如果sF有内/外连接或者site,则对应也要在DCG中添加这些元素;
2.3.1.2.4:删除DCF中sF服务的所有信息,包括删除DCF的服务集合S中的服务sF,端口集合P中sF服务的端口,删除DCF的位置图Fp和连接图FL中的node sF,如果sF有内/外连接或者site,则对应也要在DCF中删除这些元素;
2.3.1.2.5:定义DCG和DCF中不同内接口Ii=<mi,Xi>(i=G,F)的迁移操作原则为DCG和DCF中不同外接口Ji=<ni,Yi>(i=G,F)的迁移操作原则为其中nG∪nF代表DCG吸收消化DCF后新的外部接口的site 为两个Bigraph的site并集,代表DCF的内/连接边向DC G迁移,则细胞DCG: IG→JG和细胞DCF:IF→JF发生吸收消化行为后,计算迁移操作之后的接口为
2.3.1.3:该细胞DCG不满足吸收消化细胞DCF的条件,不能进行吸收消化行为操作。
更进一步,所述步骤2.3.2中,吞噬和聚集的过程如下:
2.3.2.1细胞吞噬
细胞的吞噬行为基于Bigraph的合成操作,为了使服务组合能力能够具有动态适应性,对基于Bigraph合成操作的数据细胞吞噬规则进行扩展,定义最后生成的数据细胞进行接口的增加、删除;
2.3.2.2细胞聚集
细胞的聚集行为对应Bigraph的扩展乘积操作,细胞DCG和细胞DCF的聚集是将DCG和DCF作为同一类聚集在一起;细胞聚集不同于细胞吞噬,细胞聚集时细胞的总数量不变,只是细胞位置关系更加紧密。
所述步骤2.3.2.1中,细胞吞噬的流程如下;
2.3.2.1.1:细胞DCG吞噬细胞DCF的前提是DCF的值域和DCG的定域是相同的,其中,值域为Bigraph的外部接口,定域为Bigraph的内部接口;
2.3.2.1.2:查看细胞DCG和细胞DCF是否有连接边,如果这两个细胞没有连接边,则代表这两个Bigraph不相交,即|F|#|G|,则转步骤2.3.2.1.2.1,否则转 2.3.2.1.3;
2.3.2.1.2.1:查看DCG的接口IG→JG和DCF的接口IF→JF,如果IG=JF,则转步骤2.3.2.1.2.2,否则转2.3.2.1.3;
2.3.2.1.2.2:将DCG中的内连接和DCF的外连接相连,使之成为DCG内服务的连接边;
2.3.2.1.2.3:复制DCF中的服务集S、服务的控制C、边集E、服务到控制的映射Ctrl以及内部的site添加到DCG中;
2.3.2.1.2.4:在DCG的位置图Gp和连接图GL中添加DCF中的服务集S、边集E 和步骤2.3.2.1.2.2中形成的连接边,如果S中有内连接或者site,则对应也要在 DCG中添加这些元素;
2.3.2.1.2.5:删除DCF中的所有信息,包括删除DCF中的服务集S、服务的控制C、边集E、服务到控制的映射Ctrl以及内部的site,删除DCF的位置图Fp和连接图FL;
2.3.2.1.2.6:为了使服务组合能力能够具有动态适应性,对基于Bigraph合成操作的数据细胞吞噬规则进行扩展,定义最后生成的细胞可以进行接口的增加、删除等相应变化;则细胞DCG吞噬细胞DCF行为基于Bigraph合成规则的公式为:其中IF′、JG′分别代表将合成的接口IF、JG进行扩展后的新接口,代表新的细胞继续保持吞噬其他细胞的能力;
2.3.2.1.3:该细胞DCG不满足吞噬细胞DCF的条件,不能进行吞噬进化操作。
所述步骤2.3.2.2中,细胞聚集的流程如下:
2.3.2.2.1:细胞DCG和细胞DCF的前提是DCG和DCF中不存在连接边,并且其内部组成的服务功能相似;
2.3.2.2.2:查看细胞DCG和细胞DCF是否有连接边,如果这两个细胞没有连接边,则代表这两个Bigraph不相交,即|F|#|G|,则转步骤2.3.2.2.2.1,否则转 2.3.2.2.3;
2.3.2.2.2.1:复制DCF中的所有信息,包括服务集S、服务的控制C、边集E、服务到控制的映射Ctrl以及内部的site添加到DCG中;
2.3.2.2.2.2:基于Bigraph的扩展乘积原则,定义DCG和DCF中不同内接口 Ii=<mi,Xi>(i=G,F)的扩展乘积操作原则为DCG和DCF中不同外接口Ji=<ni,Yi>(i=G,F)的扩展乘积操作原则为修改DCG的位置图Gp和连接图GL;
2.3.2.2.2.3:删除DCF中的所有信息,包括删除DCF中的服务集S、服务的控制C、边集E、服务到控制的映射Ctrl以及内部的site,删除DCF的位置图Fp和连接图FL;
2.3.2.2.2.4:修改DCG和DCF的接口,如果细胞DCG:IG→JG和细胞DCF:IF→ JF不相交,它们接口的扩展乘积为则细胞DCG和细胞DCF聚集行为基于Bigraph扩展乘积规则的公式为:
2.3.2.2.3:该细胞DCG不满足和细胞DCF发生聚集行为的条件,不能进行聚集进化操作。
所述步骤1.2中,数据细胞具有类似生物细胞进行智能活动的能力,结合服务自身实际,数据细胞应具有以下特征:可进行吸收消化和进化;
吸收消化:数据细胞能够积极自发地从环境中感知信息,有三类可以被数据细胞感知的信息,包括查询服务的信息、查询所涉及的服务资源信息、资源状态的信息,数据细胞根据感知的环境信息进行资源调整,通过吸收消化其他数据细胞内的数据服务信息进行服务之间的通信交流;
进化:基于用户需求和资源状态的变化,数据细胞能够自发性进化,通过进化行为,数据细胞改变其内部服务的结构;
优选的,数据细胞将进化分解为吞噬和聚集两类行为,其中:吞噬行为代表单个数据细胞可以吞噬其他细胞从而形成内部服务结构更为复杂、服务依赖关系更强的细胞,吞噬行为具有传递性,不仅会造成现有数据细胞结构的改变、服务功能的增强,同时也会造成被吞噬数据细胞的消亡与其内包含服务的失效;聚集行为代表数据细胞可以对相似的服务进行聚类,从而聚合成功能更为庞大的数据细胞簇。
本发明的有益效果主要表现在要:(1)该服务演化方法运用Bigraph理论将数据服务封装为数据细胞,对数据细胞及细胞簇进行Bigraph建模,为数据细胞的智能行为推理提供了理论依据。(2)该服务演化方法通过对该模型的动态行为分析,可以确保服务交互过程中服务交互行为与其定义属性的一致性,从而提高服务组合执行的有效性与可靠性(3)该服务演化方法参考分析生物细胞的吸收消化、进化等智能行为特点,同服务的动态演化规则相结合,并采用Bigraph理论进行演化推导,提高了服务动态演化的合理性和准确性。
附图说明
图1示出了Bigraph元素图,其中,10为根(ROOT)也叫区域(REGION), 11为控制(CONTROL),12为节点(NODE),13为地点(SITE),14为外连接名称(OUTER NAME),15为端口(PORT),16为连接边(EDGE),17为内连接名称(INNER NAME)。
图2示出了数据细胞的Bigraph形式图。
图3示出了数据细胞簇的Bigraph形式图。
图4示出了数据细胞吸收消化反应规则图。
图5示出了数据细胞吞噬进化规则图。
图6示出了数据细胞聚集进化图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图6,一种基于数据细胞模型的服务演化方法,所述服务演化方法包括以下步骤:
第一步、建立一个服务演化框架,分为信息抽取和细胞建模及服务行为演化分析两阶段;
1.1、信息抽取和细胞建模:提取服务的相关描述信息,得到服务描述元数据,基于抽取的服务信息,根据服务的语法信息匹配服务操作参数与资源状态,进行细胞相容性解析,基于Bigraph理论构建数据细胞和数据细胞簇的结构及生物特性,代表服务的状态信息与服务间潜在的调用关系;
Bigraph是由Milner等学者在2001年提出的一种基于图形的形式化理论工具,旨在强调计算(物理或虚拟)的位置和连接,Bigraph是一个二元组B=<BP,BL>,如图1所示,其中,BP,BL分别是位置图(place graph)和连接图(link graph)。位置图用以表示Bigraph中各个节点(node)的所在位置,节点之间允许相互嵌套;连接图则忽略节点之间的嵌套关系,图中的边(edge)表示节点之间的连接关系。位置图和连接图是从两个不同的角度对同一个Bigraph观察所得到的结果,因此它们具有相对的独立性。BP由图的节点集V、边的集合E和接口组成,嵌套的节点在位置图中为父子关系,用分支关系表示节点之间的嵌套。位置图的接口分为内部接口和外部接口,分别表示根(root)和站点(site),用有穷序数n表示,即 n={0,1,…,n-1}。特别地,0=Ф。连接图的接口也分为内部接口(inner name)和外部接口(outer name),分别表示内部名字集和外部名字集。
为了增强表示能力,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表达式中项的涵义:
表3
1.2、服务行为演化:将数据细胞和数据细胞簇作为服务的演化行为方式的载体。选取数据细胞和细胞簇,按照吸收消化、进化等生物细胞行为定义服务的组合生长规则,模拟服务生成组合服务的行为模式。构建基于数据细胞的服务演化模型。其中数据细胞具有类似生物细胞进行智能活动的能力,结合服务自身实际,本发明认为,数据细胞应具有以下特征:可进行吸收消化、进化等行为。吸收消化:数据细胞可以积极自发地从环境中感知信息,一般来说有三类可以被数据细胞感知的信息,查询服务的信息、查询所涉及的服务资源信息、资源状态的信息,数据细胞根据感知的环境信息进行资源调整,通过吸收消化其他数据细胞内的数据服务信息进行服务之间的通信交流。
进化:基于用户需求和资源状态的变化,数据细胞可以自发性进化,通过进化行为,数据细胞可以改变其内部服务的结构。数据细胞将进化具体分解为吞噬和聚集两类行为,其中:吞噬行为代表单个数据细胞可以吞噬其他细胞从而形成内部服务结构更为复杂、服务依赖关系更强的细胞,吞噬行为具有传递性,不仅会造成现有数据细胞结构的改变、服务功能的增强,同时也会造成被吞噬数据细胞的消亡与其内包含服务的失效。聚集行为代表数据细胞可以对相似的服务进行聚类,从而聚合成功能更为庞大的数据细胞簇。
第二步、基于所述的框架提出的基于数据细胞模型的服务演化方法,过程如下:
步骤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>。其中,
(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分别是该服务控制的名称和类型;
(3)CL=<DL,CN>,代表该服务当前的依赖状态,DL是当前服务的依赖层次,CN是与之依赖的控制名称;
(4)U是当前服务的可用性度量,是一个概率值。
定义3.服务的依赖层次DL代表该服务的组合结构,取值来自状态集{⊙,《, 》}。其中⊙,《,》分别代表此服务和其他服务为无依赖、前置依赖、后置依赖等关系。
定义4.端口的定义是一个四元组p=<pI,pN,pT,pC,>,其中,
(1)pI和pN分别是该端口的ID和名称;
(2)pT是该端口的类型,代表接口参数的类型;
数据细胞的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>,其中,
(2)CS是数据细胞组合结构的有限集;
定义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所示:
符号 | 定义 |
DC<sub>m</sub> | 第m个数据细胞 |
S<sub>n</sub> | 第n个数据服务 |
e<sub>i</sub> | 第i条数据服务连接边 |
i<sub>j</sub>, | 第j个内部名 |
I<sub>j</sub>, | 用外部名替换的第j个内部名 |
o<sub>k</sub> | 第k个外部名 |
表2
通过Bigraph中项语言的表达理论和表2 中基于数据细胞结构的相关定义。对上文所述的基于服务组合工作流模式构造的数据细胞簇分析,本发明在数据细胞簇项语言形式化上下文中,定义了基调、项等基本代数概念。
定义8(基调):数据细胞簇形式化定义上的基调∑由类子:数据细胞集DC、数据服务集S、边集E、内部连接集I、外部连接集O、地点集N和一系列操作符·、+、||、*组成,每个操作符f的操作数记为ar(f)。
定义9(项集):令Σ是数据细胞簇形式化定义上的基调,则基调Σ上的项集∏(Σ)是满足以下条件的最小集合:
(1)每个类子变量都是项集中的元素;
(3)如果f∈Σ,且DC1,DC2,...,DCiar(f)∈∏(Σ),那么f(DC1,DC2,…,DC iar(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:服务行为演化
目前,服务组合以服务间的按需聚合为主要运行模式,以动态适应、随需演化作为其运行特征,在不可预测的用户需求驱动下,各协同服务形成错综复杂的交互关系,各服务进程需要与其他服务以一系列操作序列形式进行会话,本发明结合服务与生物细胞特性构建DCEM,例如吸收消化、进化,随着用户需求与资源变更的变化,数据细胞发现现有的内部服务结构已经不能提供高质量的服务能力,需要进行相应的行为演化,使之在需求频繁变更和资源动态更新的情况下也能够高效的提供服务,吸收消化和进化的具体流程如下:
2.3.1吸收消化行为
在需求动态变化的环境中,当现有的数据服务不能很好的满足需求,或者发现细胞内服务的缺失时,数据细胞可以通过吸收消化行为获取其他数据细胞内的服务,从而完善自身的服务能力。吸收消化不同于进化,吸收消化行为是两个细胞之间的服务迁移组合,而进化行为则是两个数据细胞的结构重组为一个满足需求的数据细胞。数据细胞的吸收消化行为基于Bigraph的迁移操作,其流程包括:
2.3.1.1:细胞DCG吸收消化细胞DCF的前提是DCG的服务和DCF中的某服务存在连接边,其表现在服务与服务之间有关联关系,可构成服务组合,其关联关系通过端口映射实现;
2.3.1.2:查看DCG和DCF是否有连接边,如果这两个细胞没有连接边,则代表这两个Bigraph不相交,即|F|#|G|,则转步骤2.3.1.3,否则转2.3.1.2.1;
2.3.1.2.1:查询DCG和DCF的服务连接边e,以及该连接边对应连接的服务sG和sF;
2.3.1.2.2:复制DCF中sF服务的所有信息,包括服务名称s、服务控制C和服务到控制的映射Ctrl;
2.3.1.2.3:将步骤2.3.1.2.2中复制的信息添加到DCG中,在DCG的服务集合S 中添加服务sF,在端口集合P中添加sF服务的端口,在DCG的位置图Gp和连接图GL中添加node sF,如果sF有内/外连接或者site,则对应也要在DCG中添加这些元素;
2.3.1.2.4:删除DCF中sF服务的所有信息,包括删除DCF的服务集合S中的服务sF,端口集合P中sF服务的端口,删除DCF的位置图Fp和连接图FL中的node sF,如果sF有内/外连接或者site,则对应也要在DCF中删除这些元素;
2.3.1.2.5:定义DCG和DCF中不同内接口Ii=<mi,Xi>(i=G,F)的迁移操作原则为DCG和DCF中不同外接口Ji=<ni,Yi>(i=G,F)的迁移操作原则为其中nG∪nF代表DCG吸收消化DCF后新的外部接口的site 为两个Bigraph的site并集,代表DCF的内/连接边向DCG迁移,则细胞DCG: IG→JG和细胞DCF:IF→JF发生吸收消化行为后,计算迁移操作之后的接口为
2.3.1.3:该细胞DCG不满足吸收消化细胞DCF的条件,不能进行吸收消化行为操作。
如图4所示,现有的三个数据细胞DC0、DC1和DC2,其中DC0中包含两个服务s1和s2,DC0中有一个site,s2服务内部有一个site并且有一个内连接i2,DC1中有一个服务s3,该服务有一个内连接i3并且内部有一个site,DC2中有一个服务s4和一个site;这三个数据细胞通过组合形成顺序结构的细胞簇,DC0的s1服务、DC1的s3服务和DC2的s4服务依次执行,随着需求的变化,DC1通过对环境信息的感知分析,发现自身包含的服务已经不能很好的适配现有的需求,DC1从它相邻的细胞DC0中吸收消化s1,之后s1作为s3的前置服务,s1的输出参数作为s3的输入参数,该组合从之前的顺序结构变成循环结构,完善自己的服务功能。在项语言的形式化定义中,由于其中DC0中的s1服务被DC1吸收消化,所以DC0结构中s1的形式化部分变为空,而DC1中新增一个s1服务,所以在形式化定义中补充s1的部分,并且和s3是循环结构,变化后的Bigraph形式化定义中各服务的边连接集合也要发生对应的变化。用项语言形式化表示反应过程如下:
2.3.2进化行为
数据细胞的进化分为两种,一种是吞噬作用,由具有吞噬作用的细胞吞噬其他数据细胞,被吞噬的细胞成为吞噬细胞内部的一部分,从而达到内部结构更复杂,服务能力更完善的目的;另外一种是聚集作用,包含相似功能以及相近过程服务的细胞聚集在一起形成细胞簇的形式,通过聚集行为构造候选服务集,在服务发现、服务替换时可以很快定义所需服务,缩小服务的查找能耗,从而提高服务的发现效率和自适应能力。吞噬和聚集的过程如下:
2.3.2.1细胞吞噬
细胞的吞噬行为基于Bigraph的合成操作,为了使服务组合能力能够具有动态适应性,本发明对基于Bigraph合成操作的数据细胞吞噬规则进行扩展,定义最后生成的数据细胞可以进行接口的增加、删除等相应变化,其流程如下;
2.3.2.1.1:细胞DCG吞噬细胞DCF的前提是DCF的值域和DCG的定域是相同的,其中,值域为Bigraph的外部接口,定域为Bigraph的内部接口;
2.3.2.1.2:查看细胞DCG和细胞DCF是否有连接边,如果这两个细胞没有连接边,则代表这两个Bigraph不相交,即|F|#|G|,则转步骤2.3.2.1.2.1,否则转 2.3.2.1.3;
2.3.2.1.2.1:查看DCG的接口IG→JG和DCF的接口IF→JF,如果IG=JF,则转步骤2.3.2.1.2.2,否则转2.3.2.1.3;
2.3.2.1.2.2:将DCG中的内连接和DCF的外连接相连,使之成为DCG内服务的连接边;
2.3.2.1.2.3:复制DCF中的服务集S、服务的控制C、边集E、服务到控制的映射Ctrl以及内部的site添加到DCG中;
2.3.2.1.2.4:在DCG的位置图Gp和连接图GL中添加DCF中的服务集S、边集E 和步骤2.3.2.1.2.2中形成的连接边,如果S中有内连接或者site,则对应也要在 DCG中添加这些元素;
2.3.2.1.2.5:删除DCF中的所有信息,包括删除DCF中的服务集S、服务的控制C、边集E、服务到控制的映射Ctrl以及内部的site,删除DCF的位置图Fp和连接图FL;
2.3.2.1.2.6:为了使服务组合能力能够具有动态适应性,本发明对基于Bigraph合成操作的数据细胞吞噬规则进行扩展,定义最后生成的细胞可以进行接口的增加、删除等相应变化;则细胞DCG吞噬细胞DCF行为基于Bigraph合成规则的公式为:其中IF′、JG′分别代表将合成的接口IF、JG进行扩展后的新接口,代表新的细胞继续保持吞噬其他细胞的能力。
2.3.2.1.3:该细胞DCG不满足吞噬细胞DCF的条件,不能进行吞噬进化操作。
如图5所示,代表不同数据细胞吞噬行为的过程,对图5中Bigraph G1和F1合成分析,G1中有两个数据细胞DC0和DC1,DC0中有两个服务s1和s2,s1是s2的前置服务,s2有一个内连接x,DC1中有一个服务s3和一个site,F1中包含一个数据细胞DC2,DC2中有一个服务s3,并且该服务有一个外连接x;其中数据细胞 DC0和DC1形成一种顺序结构,DC0内的s1服务和s2服务是一种循环结构。S2服务中的内连接x和细胞DC1中的site,代表DC0和DC1组成的BigraphG1具有吞噬其他数据细胞的能力。可以吞噬一个外连接也为x的数据细胞。G1的接口定义为:G1的项语言定义为:在此例中Bigraph G1吞噬一个内含单个服务s4的数据细胞DC2,F1的接口定义为:∈→<1,{x}>,F1的项语言定义为:s4x,最终形成Bigraph G1′中的DC0和DC1是一个并行结构,而DC0内部是循环结构的细胞簇。本发明扩展了Bigraph的合成规则,在最后形成的细胞DC1中新增了一个内连接y和site,代表DC1能够具备继续吞噬的能力,从而增强数据细胞演化行为的持续性。在项语言定义中,DC2被吞噬,所以其节点元素s4被添加到DC1中,并且外连接x和DC0的内连接x进行连接形成内部边,最终形成的Bigraph G1′的接口定义为:项语言定义为:
G2和F2的吞噬进化过程与上述相似,G2中包含三个数据细胞DC0、DC1和DC2,其中DC0和DC1中分别包含一个服务s1和s2,两个服务是顺序结构,s2服务有一个内连接x,DC2中有一个site,代表Bigraph G2具有吞噬其他数据细胞的能力,可以吞噬一个对应外连接为x的数据细胞,G2的接口定义为: G2的项语言定义为:F2中有一个数据细胞DC3,该数据细胞中有一个服务s3和一个site,F2的接口定义为:F2的项语言定义为:s3x|-2,最终形成的Bigraph G2′是一个选择结构的数据细胞簇,其接口定义为:项语言的形式化定义为:
2.3.2.2细胞聚集
细胞的聚集行为对应Bigraph的扩展乘积操作,细胞DCG和细胞DCF的聚集是将DCG和DCF作为同一类聚集在一起。细胞聚集不同于细胞吞噬,细胞聚集时细胞的总数量不变,只是细胞位置关系更加紧密,其流程如下:
2.3.2.2.1:细胞DCG和细胞DCF的前提是DCG和DCF中不存在连接边,并且其内部组成的服务功能相似;
2.3.2.2.2:查看细胞DCG和细胞DCF是否有连接边,如果这两个细胞没有连接边,则代表这两个Bigraph不相交,即|F|#|G|,则转步骤2.3.2.2.2.1,否则转 2.3.2.2.3;
2.3.2.2.2.1:复制DCF中的所有信息,包括服务集S、服务的控制C、边集E、服务到控制的映射Ctrl以及内部的site添加到DCG中;
2.3.2.2.2.2:基于Bigraph的扩展乘积原则,定义DCG和DCF中不同内接口 Ii=<mi,Xi>(i=G,F)的扩展乘积操作原则为DCG和DCF中不同外接口Ji=<ni,Yi>(i=G,F)的扩展乘积操作原则为修改DCG的位置图Gp和连接图GL;
2.3.2.2.2.3:删除DCF中的所有信息,包括删除DCF中的服务集S、服务的控制C、边集E、服务到控制的映射Ctrl以及内部的site,删除DCF的位置图Fp和连接图FL;
2.3.2.2.2.4:修改DCG和DCF的接口,如果细胞DCG:IG→JG和细胞DCF:IF→ JF不相交,它们接口的扩展乘积为则细胞DCG和细胞DCF聚集行为基于Bigraph扩展乘积规则的公式为:
2.3.2.2.3:该细胞DCG不满足和细胞DCF发生聚集行为的条件,不能进行聚集进化操作。
如图6所示,代表不同数据细胞聚集行为的过程,对图6聚集进化中的 Bigraph G1和F1分析,G1中包含两个数据细胞DC0和DC1,数据细胞DC0和DC1分别包含服务s1和s2,形成顺序结构,并且DC0和DC1中各有一个site,DC1中的s2服务有一个内连接x,F1中包含一个数据细胞DC2,数据细胞中DC2中含有两个服务s3及s4,并且同样也是顺序结构;其中Bigraph G1的接口定义为:项语言定义为:
Bigraph F1的接口定义为:项语言定义为:DCEM 模型在第二阶段进行服务动态行为自演化的时,发现s1、s2组合而成的服务与s3、 s4组合的服务具有一定相似性,于是将这两个组合服务进行聚类,对应Bigraph G1和F1的扩展乘积操作,将两部分的项语言元素(包括节点、边和site)进行组合,最终形成的Bigraph G1′的接口定义为:项语言定义为:
聚集进化的G2和F2与之类似,Bigraph G2中包含两个数据细胞DC0和DC1, DC0中有一个服务s1和一个site,DC1中有一个服务s2并且该服务内部有一个site, F2中包含两个数据细胞DC2和DC3,其中DC2有一个服务s3,s3有一个外连接边 x和内连接边y,DC3中有一个site;其中Bigraph G2的接口定义为:项语言定义为:Bigraph F2的接口定义为:<1,{y}>→<2,{x}>,项语言定义为:/n.(s3xn|n/y|-2),同理这两个具有相似功能的组合服务进行聚类,最终形成的Bigraph G2′的接口定义为:<3,{y}>→<4,{x}>,项语言定义为:
Claims (9)
1.一种基于数据细胞模型的Web服务演化方法,其特征在于,所述服务演化方法包括以下步骤:
第一步、结合Bigraph理论,建立一个服务演化框架,分为信息抽取和细胞建模及服务行为演化分析两阶段;
1.1、信息抽取和细胞建模:提取服务的相关描述信息,得到服务描述元数据,基于提取服务的相关描述信息,根据服务的语法信息匹配服务操作参数与资源状态,基于Bigraph理论构建数据细胞和数据细胞簇的结构及生物特性,代表服务的状态信息与服务间潜在的调用关系;
1.2、服务行为演化:将数据细胞和数据细胞簇作为服务的演化行为方式的载体,选取数据细胞和细胞簇,按照吸收消化、进化生物细胞行为定义服务的组合生长规则,模拟服务生成组合服务的行为模式;构建基于数据细胞的服务演化模型;
第二步、基于所述的框架执行服务组合方法,过程如下:
步骤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:服务行为演化
服务组合以服务间的按需聚合为运行模式,以动态适应、随需演化作为其运行特征,在不可预测的用户需求驱动下,各协同服务形成错综复杂的交互关系,各服务进程需要与其他服务以一系列操作序列形式进行会话,结合服务与生物细胞特性构建数据细胞演化模型DCEM,随着用户需求与资源变更的变化,数据细胞发现现有的内部服务结构已经不能提供高质量的服务能力,需要进行相应的行为演化,使之在需求频繁变更和资源动态更新的情况下也能够高效的提供服务。
2.如权利要求1所述的一种基于数据细胞模型的Web服务演化方法,其特征在于,所述步骤2.2中,给出的形式定义如下:
定义1.数据细胞的Bigraph定义是一个五元组DC=<S,E,Ctrl,CP,CL>:<m,X>→<n,Y>,其中,
(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分别是该服务控制的名称和类型;
(3)CL=<DL,CN>,代表该服务当前的依赖状态,DL是当前服务的依赖层次,CN是与之依赖的控制名称;
(4)U是当前服务的可用性度量,是一个概率值;
定义3.服务的依赖层次DL代表该服务的组合结构,取值来自状态集{⊙,<<,>>},其中⊙,<<,>>分别代表此服务和其他服务为无依赖、前置依赖、后置依赖关系;
定义4.端口的定义是一个四元组p=<pI,pN,pT,pC,>,其中,
(1)pI和pN分别是该端口的ID和名称;
(2)pT是该端口的类型,代表接口参数的类型;
数据细胞的Bigraph定义目的在于构造数据细胞的结构和生物特性,每一个数据细胞对应一个原子服务或者复合服务,从而体现服务的结构资源特点和相互依赖关系,数据细胞的具体结构和元素定义详见表1,一个数据细胞对应Bigraph中的Root,数据细胞中的每个服务对应Bigraph中的节点,服务之间的依赖关系为Bigraph中节点的连接边,每个服务的基本信息和上下文关系对应Bigraph中节点的控制,服务的每个输入、输出端口对应Bigraph中节点端口的形状;
表1
由于单个数据细胞提供的服务功能相对较为单一,但在实际应用中,为满足用户日益复杂的需求,需要从网络上选择合适的服务并按照一定的业务规则进行组合,构建可伸缩的松耦合的组合,数据细胞簇基于服务组合的四种工作流模式,由多个数据细胞按照功能属性和需求调用动态聚集组合而成;数据细胞基于Bigraph的合成、并置规则从而形成数据细胞簇,数据细胞簇同样能够消化从环境中感知吸收和其他数据细胞交流的信息,智能地与其他数据细胞进行互动,从而可以提供更加精确复杂的服务功能;DCEM中数据细胞簇的相关形式定义如下:
定义5.数据细胞簇的定义是一个三元组DCC=<DCS,CS,LinkS>,其中,
(2)CS是数据细胞组合结构的有限集;
定义6.数据细胞的组合结构cs是一个三元组cs=<DCi,DCj,St>,其中,
(1)DCi、DCj分别代表数据细胞i和数据细胞j,且满足DCi∩DCj=Φ;
(2)St是组合数据细胞的依赖结构,取值来自状态集{·、+、||、*},分别代表这数据细胞DCi与DCj组合是顺序、选择、并行或者循环结构;
定义7.端口的连接关系是一个二元组Link=<pi,pj>,其中,pi、pj分别代表两个不同数据服务的端口,且满足pi∩pj=Φ;
项语言是Bigraph动态演化的形式化规约和性质验证的基础,不同工作流模式的数据细胞簇项语言定义具有通用特征,为了更好的描述不同服务结构数据细胞簇的项语言定义,归纳总结一系列符号和定义,如表2所示:
表2
通过Bigraph中项语言的表达理论和表2中基于数据细胞结构的相关定义,对基于服务组合工作流模式构造的数据细胞簇分析,在数据细胞簇项语言形式化上下文中,定义基本代数概念,所述基本代数概念包括基调和项集;
定义8:数据细胞簇形式化定义上的基调∑由类子:数据细胞集DC、数据服务集S、边集E、内部连接集I、外部连接集O、地点集N和一系列操作符·、+、||、*组成,每个操作符f的操作数记为ar(f);
定义9:令Σ是数据细胞簇形式化定义上的基调,则基调Σ上的项集∏(Σ)是满足以下条件的最小集合:
(1)每个类子变量都是项集中的元素;
(3)如果f∈Σ,且DC1,DC2,...,DCiar(f)∈∏(Σ),那么f(DC1,DC2,…,DCiar(f))∈∏(Σ);
定义10:令Σ是数据细胞簇形式化定义上的基调,∏(Σ)是基调Σ上的项集,若u(f)∈∏(Σ),则称u(f)为基于操作f的项;项的定义采用结构归纳定义,表示成以下形式:
其中::=表示归纳定义,ELrule代表数据细胞簇Bigraph形式中边和连接的形式化定义,DCiar(f)代表单个数据细胞的项语言定义,m为数据细胞的个数。
3.如权利要求2所述的一种基于数据细胞模型的Web服务演化方法,其特征在于,所述步骤2.3中,吸收消化和进化的流程如下:
2.3.1吸收消化行为
在需求动态变化的环境中,当现有的数据服务不能很好的满足需求,或者发现细胞内服务的缺失时,数据细胞可以通过吸收消化行为获取其他数据细胞内的服务,从而完善自身的服务能力;吸收消化不同于进化,吸收消化行为是两个细胞之间的服务迁移组合,而进化行为则是两个数据细胞的结构重组为一个满足需求的数据细胞;
2.3.2进化行为
数据细胞的进化分为两种,一种是吞噬作用,由具有吞噬作用的细胞吞噬其他数据细胞,被吞噬的细胞成为吞噬细胞内部的一部分,从而达到内部结构更复杂,服务能力更完善的目的;另外一种是聚集作用,包含相似功能以及相近过程服务的细胞聚集在一起形成细胞簇的形式,通过聚集行为构造候选服务集,在服务发现、服务替换时可以很快定义所需服务,缩小服务的查找能耗,从而提高服务的发现效率和自适应能力。
4.如权利要求3所述的一种基于数据细胞模型的Web服务演化方法,其特征在于,所述步骤2.3.1中,数据细胞的吸收消化行为基于Bigraph的迁移操作,其流程包括:
2.3.1.1:细胞DCG吸收消化细胞DCF的前提是DCG的服务和DCF中的某服务存在连接边,其表现在服务与服务之间有关联关系,可构成服务组合,其关联关系通过端口映射实现;
2.3.1.2:查看DCG和DCF是否有连接边,如果这两个细胞没有连接边,则代表这两个Bigraph不相交,即|F|#|G|,则转步骤2.3.1.3,否则转2.3.1.2.1;
2.3.1.2.1:查询DCG和DCF的服务连接边e,以及该连接边对应连接的服务sG和sF;
2.3.1.2.2:复制DCF中sF服务的所有信息,包括服务名称s、服务控制C和服务到控制的映射Ctrl;
2.3.1.2.3:将步骤2.3.1.2.2中复制的信息添加到DCG中,在DCG的服务集合S中添加服务sF,在端口集合P中添加sF服务的端口,在DCG的位置图Gp和连接图GL中添加node sF,如果sF有内/外连接或者site,则对应也要在DCG中添加这些元素;
2.3.1.2.4:删除DCF中sF服务的所有信息,包括删除DCF的服务集合S中的服务sF,端口集合P中sF服务的端口,删除DCF的位置图Fp和连接图FL中的node sF,如果sF有内/外连接或者site,则对应也要在DCF中删除这些元素;
2.3.1.2.5:定义DCG和DCF中不同内接口Ii=<mi,Xi>,i=G,F的迁移操作原则为DCG和DCF中不同外接口Ji=<ni,Yi>,i=G,F的迁移操作原则为其中nG∪nF代表DCG吸收消化DCF后新的外部接口的site为两个Bigraph的site并集,代表DCF的内/外连接边向DCG迁移,则细胞DCG:IG→JG和细胞DCF:IF→JF发生吸收消化行为后,计算迁移操作之后的接口为
2.3.1.3:该细胞DCG不满足吸收消化细胞DCF的条件,不能进行吸收消化行为操作。
5.如权利要求3所述的一种基于数据细胞模型的Web服务演化方法,其特征在于,所述步骤2.3.2中,吞噬和聚集的过程如下:
2.3.2.1细胞吞噬
细胞的吞噬行为基于Bigraph的合成操作,为了使服务组合能力能够具有动态适应性,对基于Bigraph合成操作的数据细胞吞噬规则进行扩展,定义最后生成的数据细胞进行接口的增加、删除;
2.3.2.2细胞聚集
细胞的聚集行为对应Bigraph的扩展乘积操作,细胞DCG和细胞DCF的聚集是将DCG和DCF作为同一类聚集在一起;细胞聚集不同于细胞吞噬,细胞聚集时细胞的总数量不变,只是细胞位置关系更加紧密。
6.如权利要求5所述的一种基于数据细胞模型的Web服务演化方法,其特征在于,所述步骤2.3.2.1中,细胞吞噬的流程如下;
2.3.2.1.1:细胞DCG吞噬细胞DCF的前提是DCF的值域和DCG的定域是相同的,其中,值域为Bigraph的外部接口,定域为Bigraph的内部接口;
2.3.2.1.2:查看细胞DCG和细胞DCF是否有连接边,如果这两个细胞没有连接边,则代表这两个Bigraph不相交,即|F|#|G|,则转步骤2.3.2.1.2.1,否则转2.3.2.1.3;
2.3.2.1.2.1:查看DCG的接口IG→JG和DCF的接口IF→JF,如果IG=JF,则转步骤2.3.2.1.2.2,否则转2.3.2.1.3;
2.3.2.1.2.2:将DCG中的内连接和DCF的外连接相连,使之成为DCG内服务的连接边;
2.3.2.1.2.3:复制DCF中的服务集S、服务的控制C、边集E、服务到控制的映射Ctrl以及内部的site添加到DCG中;
2.3.2.1.2.4:在DCG的位置图Gp和连接图GL中添加DCF中的服务集S、边集E和步骤2.3.2.1.2.2中形成的连接边,如果S中有内连接或者site,则对应也要在DCG中添加这些元素;
2.3.2.1.2.5:删除DCF中的所有信息,包括删除DCF中的服务集S、服务的控制C、边集E、服务到控制的映射Ctrl以及内部的site,删除DCF的位置图Fp和连接图FL;
2.3.2.1.2.6:为了使服务组合能力能够具有动态适应性,对基于Bigraph合成操作的数据细胞吞噬规则进行扩展,定义最后生成的细胞可以进行接口的增加、删除相应变化;则细胞DCG吞噬细胞DCF行为基于Bigraph合成规则的公式为:其中IF′、JG′分别代表将合成的接口IF、JG进行扩展后的新接口,即IF′、JG′代表新的细胞继续保持吞噬其他细胞的能力;
2.3.2.1.3:该细胞DCG不满足吞噬细胞DCF的条件,不能进行吞噬进化操作。
7.如权利要求5所述的一种基于数据细胞模型的Web服务演化方法,其特征在于,所述步骤2.3.2.2中,细胞聚集的流程如下:
2.3.2.2.1:细胞DCG和细胞DCF的前提是DCG和DCF中不存在连接边,并且其内部组成的服务功能相似;
2.3.2.2.2:查看细胞DCG和细胞DCF是否有连接边,如果这两个细胞没有连接边,则代表这两个Bigraph不相交,即|F|#|G|,则转步骤2.3.2.2.2.1,否则转2.3.2.2.3;
2.3.2.2.2.1:复制DCF中的所有信息,包括服务集S、服务的控制C、边集E、服务到控制的映射Ctrl以及内部的site添加到DCG中;
2.3.2.2.2.2:基于Bigraph的扩展乘积原则,定义DCG和DCF中不同内接口Ii=<mi,Xi>,i=G,F的扩展乘积操作原则为DCG和DCF中不同外接口Ji=<ni,Yi>,i=G,F的扩展乘积操作原则为修改DCG的位置图Gp和连接图GL;
2.3.2.2.2.3:删除DCF中的所有信息,包括删除DCF中的服务集S、服务的控制C、边集E、服务到控制的映射Ctrl以及内部的site,删除DCF的位置图Fp和连接图FL;
2.3.2.2.2.4:修改DCG和DCF的接口,如果细胞DCG:IG→JG和细胞DCF:IF→JF不相交,它们接口的扩展乘积为则细胞DCG和细胞DCF聚集行为基于Bigraph扩展乘积规则的公式为:
2.3.2.2.3:该细胞DCG不满足和细胞DCF发生聚集行为的条件,不能进行聚集进化操作。
8.如权利要求1~7之一所述的一种基于数据细胞模型的Web服务演化方法,其特征在于,所述步骤1.2中,数据细胞具有类似生物细胞进行智能活动的能力,结合服务自身实际,数据细胞应具有以下特征:可进行吸收消化和进化;
吸收消化:数据细胞能够积极自发地从环境中感知信息,有三类可以被数据细胞感知的信息,包括查询服务的信息、查询所涉及的服务资源信息、资源状态的信息,数据细胞根据感知的环境信息进行资源调整,通过吸收消化其他数据细胞内的数据服务信息进行服务之间的通信交流;
进化:基于用户需求和资源状态的变化,数据细胞能够自发性进化,通过进化行为,数据细胞改变其内部服务的结构。
9.如权利要求8所述的一种基于数据细胞模型的Web服务演化方法,其特征在于,数据细胞将进化分解为吞噬和聚集两类行为,其中:吞噬行为代表单个数据细胞可以吞噬其他细胞从而形成内部服务结构更为复杂、服务依赖关系更强的细胞,吞噬行为具有传递性,不仅会造成现有数据细胞结构的改变、服务功能的增强,同时也会造成被吞噬数据细胞的消亡与其内包含服务的失效;聚集行为代表数据细胞可以对相似的服务进行聚类,从而聚合形成功能更为庞大的数据细胞簇。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810528122.6A CN108804788B (zh) | 2018-05-25 | 2018-05-25 | 一种基于数据细胞模型的Web服务演化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810528122.6A CN108804788B (zh) | 2018-05-25 | 2018-05-25 | 一种基于数据细胞模型的Web服务演化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108804788A CN108804788A (zh) | 2018-11-13 |
CN108804788B true CN108804788B (zh) | 2022-06-17 |
Family
ID=64090810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810528122.6A Active CN108804788B (zh) | 2018-05-25 | 2018-05-25 | 一种基于数据细胞模型的Web服务演化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804788B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416397B (zh) * | 2020-11-22 | 2022-02-18 | 同济大学 | 一种位置变化驱动的软件更新方法、装置及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2953385A1 (en) * | 2014-06-30 | 2016-01-07 | Evolving Machine Intelligence Pty Ltd | A system and method for modelling system behaviour |
WO2016154460A1 (en) * | 2015-03-24 | 2016-09-29 | Kyndi, Inc. | Cognitive memory graph indexing, storage and retrieval |
CN106156620A (zh) * | 2016-06-29 | 2016-11-23 | 北京奇虎科技有限公司 | 一种对象的数据的展示方法及设备 |
CN107135092A (zh) * | 2017-03-15 | 2017-09-05 | 浙江工业大学 | 一种面向全局社交服务网的Web服务聚类方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8154741B2 (en) * | 2002-10-16 | 2012-04-10 | Xerox Corporation | Apparatus for low cost embedded platform for device-side, distributed services enablement |
US10289802B2 (en) * | 2010-12-27 | 2019-05-14 | The Board Of Trustees Of The Leland Stanford Junior University | Spanning-tree progression analysis of density-normalized events (SPADE) |
-
2018
- 2018-05-25 CN CN201810528122.6A patent/CN108804788B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2953385A1 (en) * | 2014-06-30 | 2016-01-07 | Evolving Machine Intelligence Pty Ltd | A system and method for modelling system behaviour |
WO2016154460A1 (en) * | 2015-03-24 | 2016-09-29 | Kyndi, Inc. | Cognitive memory graph indexing, storage and retrieval |
CN106156620A (zh) * | 2016-06-29 | 2016-11-23 | 北京奇虎科技有限公司 | 一种对象的数据的展示方法及设备 |
CN107135092A (zh) * | 2017-03-15 | 2017-09-05 | 浙江工业大学 | 一种面向全局社交服务网的Web服务聚类方法 |
Non-Patent Citations (1)
Title |
---|
Automatic composition of semantic web services based on fuzzy predicate petri nets;J. Cheng ET AL;《IEEE Transactions on Automation Science and Engineering》;20151231;第680-689页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108804788A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Resource virtualization and service selection in cloud logistics | |
Yuan et al. | Service composition model and method in cloud manufacturing | |
Aridhi et al. | A MapReduce-based approach for shortest path problem in large-scale networks | |
Ezeife et al. | Distributed object based design: Vertical fragmentation of classes | |
Boley | Integrating positional and slotted knowledge on the semantic web | |
EP3678032A1 (en) | Computer implemented methods and systems for improved data retrieval | |
CN109005049B (zh) | 一种互联网环境下基于Bigraph一致性算法的服务组合方法 | |
CN106875320A (zh) | 云环境下船舶航行数据的高效可视分析方法 | |
Tolksdorf et al. | Towards a tuplespace-based middleware for the Semantic Web | |
CN108804788B (zh) | 一种基于数据细胞模型的Web服务演化方法 | |
CN108960401B (zh) | 一种面向Web服务计算环境的数据细胞自愈方法 | |
Li et al. | A novel and efficient salp swarm algorithm for large-scale QoS-aware service composition selection | |
Xu | Social governance structure construction and resource allocation methods under the management mode of the Internet of Things | |
Huang et al. | Exploring the intellectual structure of cloud patents using non-exhaustive overlaps | |
Allison et al. | Synthesizing interpreted domain-specific models to manage smart microgrids | |
CN111970145A (zh) | 基于语义化虚拟和任务迁移的物联网设备管控方法 | |
Chen et al. | Knowledge Encapsulation and Application Based on Domain Knowledge Graph | |
Martínez et al. | The QOL approach for optimizing distributed queries without complete knowledge | |
Dasgupta et al. | An abstraction framework for service composition in event-driven SOA systems | |
Li | Semantic reasoning on the edge of internet of things | |
Arsintescu et al. | PathQuery Pregel: high-performance graph query with bulk synchronous processing | |
CN104572991A (zh) | 一种基于异质刻面转换的网构软件构件库中构件检索方法 | |
CN108964973A (zh) | 面向Web基于Bigraph替换算法的服务质量监控方法 | |
Shi et al. | Platforms and Practice of Heterogeneous Graph Representation Learning | |
CN113407810B (zh) | 一种基于大数据的城市信息和服务集成系统及方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |