CN108960401A - 一种面向Web服务计算环境的数据细胞自愈方法 - Google Patents
一种面向Web服务计算环境的数据细胞自愈方法 Download PDFInfo
- Publication number
- CN108960401A CN108960401A CN201810512932.2A CN201810512932A CN108960401A CN 108960401 A CN108960401 A CN 108960401A CN 201810512932 A CN201810512932 A CN 201810512932A CN 108960401 A CN108960401 A CN 108960401A
- Authority
- CN
- China
- Prior art keywords
- service
- bigraph
- data
- data cell
- port
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 103
- 230000008569 process Effects 0.000 claims abstract description 39
- 238000001514 detection method Methods 0.000 claims abstract description 34
- 239000000203 mixture Substances 0.000 claims abstract description 18
- 238000000605 extraction Methods 0.000 claims abstract description 11
- 238000004458 analytical method Methods 0.000 claims abstract description 9
- 238000012795 verification Methods 0.000 claims abstract description 7
- 230000000694 effects Effects 0.000 claims abstract description 6
- 238000006243 chemical reaction Methods 0.000 claims description 72
- 230000006399 behavior Effects 0.000 claims description 40
- 230000001419 dependent effect Effects 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 16
- 239000002131 composite material Substances 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 7
- 230000002452 interceptive effect Effects 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 7
- 239000013256 coordination polymer Substances 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 6
- 239000000969 carrier Substances 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000001939 inductive effect Effects 0.000 claims description 3
- 230000008447 perception Effects 0.000 claims description 3
- 239000000376 reactant Substances 0.000 claims description 3
- 238000006467 substitution reaction Methods 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 238000011069 regeneration method Methods 0.000 abstract 1
- 238000012916 structural analysis Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000012010 growth Effects 0.000 description 2
- 150000002500 ions Chemical class 0.000 description 2
- 238000004804 winding Methods 0.000 description 2
- 238000001712 DNA sequencing Methods 0.000 description 1
- 206010057249 Phagocytosis Diseases 0.000 description 1
- 238000003559 RNA-seq method Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008614 cellular interaction Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008782 phagocytosis Effects 0.000 description 1
- 230000001766 physiological effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/002—Biomolecular computers, i.e. using biomolecules, proteins, cells
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Organic Chemistry (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Chemical & Material Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种面向Web服务计算环境的数据细胞自愈方法,包括以下步骤:第一步、结合Bigraph理论,建立一个服务组合框架,分为两阶段:1.1、信息抽取和细胞建模;1.2、服务组合;第二步、基于框架提出的一种面向Web服务计算环境的数据细胞自愈方法,过程如下:2.1:Web服务的信息抽取;2.2:细胞建模;2.3:服务组合验证;2.4:失效服务检测;2.5:细胞自愈:对服务有效性和质量进行周期性检测,通过对结构变异部分的数据细胞进行自我修复,实现服务动态行为的演化,使服务组合能够恢复预期的功能,最终达到自愈的效果。本发明提高系统的灵活性,使系统能够适应复杂的分析应用,保障服务组合的有效性。
Description
技术领域
本发明涉及Web服务组合领域,尤其是在数据细胞模型中针对失效数据服务的检测、替换机制和数据细胞自愈方法。
背景技术
数据即服务(Data as a Service,DaaS)是一种新兴的云计算服务模式,通过互联网上的不同协议以及时、低成本的方式向消费者按需提供数据。DaaS的主要目标是克服数据技术中先进方法的局限性,根据这些方法存储数据,并从位置已知且与共享、处理相关的存储库中访问数据。利用DaaS不仅可以随时随地支持数据访问,而且可以降低数据管理成本。不同类型的DaaS,允许消费者在大量丰富的数据源上执行数据请求和分析,提高了对数据的访问灵活性。例如Azure的Data Market、大数据平台供应商Infochimps与开发位置数据平台Factual。以及随之产生的一系列研究系统。
然而,由于单个数据服务功能单一,难以满足在复杂网络环境中各个消费者的需求,因此,服务组合已成为面向服务架构(Service Oriented Architecture,SOA)中构建新服务和满足业务需求的主要手段,在业务流程的构造和重组中处于核心地位。但高动态的Web服务运行环境和多样化的用户需求增加了服务组合的动态适应难度。事实上,现有的这类服务组合系统并没有过多考虑全局设计与固定需求目标,其内的每个组成服务个体为了自身的利益最大化而提供服务,系统松散结合并根据需求变化或者自身利益而演化,在服务组合的的执行期间,有的服务由于服务执行环境或者服务中的部分软件或者硬件的环境出现变化,导致服务的失效,此时需要一种调用及时、有效的服务替换机制对失效的服务进行替换,从而保障服务组合的正常执行,因此,服务替换机制对服务组合的有效执行具有重要的意义。
国内外许多学者对服务替换机制进行了大量的相关研究,例如中国专利公开的一种基于服务簇的服务组合与替换方法,专利号为CN201510259703.0,主要借助已有的服务聚簇方法构建服务簇,基于Petri网对服务和服务簇进行形式化描述,通过缩小服务查找范围提高服务组合和服务替换的效率。但是并未考虑服务之间的依赖关系和动态组合结构。南京邮电大学的王海艳于2014年基于已有的着色Petri网服务工作流建模方法,提出服务的组合上下文信息采集算法,并将服务接口依赖关系加入算法,但此方法在语义不足的情况下会出现较大的不确定性,复旦大学的yang等人于2010年提出当服务失效时使用一种退化算法进行服务的查找替换,但是这种方法只要求替换后组合服务的功能和非功能属性在可接受的范围之内,并不能保证替换后的服务仍具有之前的所有功能。
生物细胞作为一种结构精密的形态整体,在生长、分化和生理活动过程中其结构能根据环境不断发生变化。在分析细胞的多种复杂的生物特性后,发现将服务组合的动态行为与生物细胞的行为方式进行比较,在某些方面两者呈现出一定的相似特效。因此可以将数据服务同生物细胞结合,通过模拟生物细胞的智能行为,来分析服务组合的演化行为。例如,北京大学的Zhang提出的活化细胞理论,将数据组织为一组活化细胞,每个细胞是与计算能力相结合的数据集合,随着用户需求的变化,活化细胞可以自发演变满足新的查询负载,但是其只是提出了一种理论方法,并没有对数据与细胞结合的可行性进行分析。Zhang等人之后提出一种基于活化细胞理论的面向数据服务体系结构,将活化细胞作为系统的基本单元,细胞之间具有嵌套与层次结构,并具有一系列交互能力,在系统层次提高了数据的分析能力与系统的灵活性。但是其理论主要应用于数据服务体系的非线性任务中提高异构数据的可伸缩性和灵活性。并没有对细胞交互行为进行很好的形式化描述与演化推理。云南大学Wei通过对Spark集群和生物的DNA/RNA测序结合,全面研究了各生物信息学阶段对不同工作负载的性能影响,但是其主要目的在于解决Spark系统上如何有效管理生物信息的数据分析服务。
发明内容
本发明针对数据即服务的思想,将数据服务封装为具有智能行为的数据细胞,从而在数据细胞的层次进行服务组合的演化建模和动态行为分析。为了克服传统的形式化方法很难对数据细胞的生命活动进行准确推理,本发明以数据细胞为载体,基于Bigraph理论,针对数据即服务的思想提出一种面向Web服务计算环境的数据细胞自愈方法。该方法通过对数据细胞的静态结构和动态行为模型进行设计与分析,以提高系统的灵活性,使系统能够适应复杂的分析应用,在服务组合的过程中,通过对失效服务的检测替换,对应数据细胞的自愈过程,保障服务组合的有效性。
为了解决上述技术问题本发明所采用的技术方案是:
一种面向Web服务计算环境的数据细胞自愈方法,所述自愈方法包括以下步骤:
第一步、结合Bigraph理论,建立一个服务组合框架,分为两阶段;
1.1、信息抽取和细胞建模:提取服务的相关描述信息,得到服务描述元数据,基于抽取的服务信息,根据服务的语法信息匹配服务操作参数与资源状态,基于Bigraph理论构建数据细胞和数据细胞簇的结构及生物特性,代表服务的状态信息与服务间潜在的调用关系;
1.2、服务组合:将数据细胞和数据细胞簇作为服务的演化行为方式的载体,选取数据细胞和细胞簇进行服务组合,模拟服务生成组合服务的行为模式,构建基于数据细胞的服务组合模型;
第二步、基于所述的框架提出的一种面向Web服务计算环境的数据细胞自愈方法,过程如下:
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.4:失效服务检测
通过监控服务的质量,当发现服务失效时,自动将细胞Bigraph中的该失效服务信息删除,从而达到系统对失效服务组合的预警,后期进行相关服务的替换,进而可以保障服务的质量;
2.5:细胞自愈
对服务有效性和质量进行周期性检测,通过对结构变异部分的数据细胞进行自我修复,实现服务动态行为的演化,使服务组合能够恢复预期的功能,最终达到自愈的效果。
优选的,所述步骤2.5中,考虑到频繁的检测失效服务在大规模的数据服务中会严重降低服务性能,为了减少系统的开销,本文在自愈方法中提出一种心跳机制,通过每次对服务的检测结果动态调节下一次检测的请求时间,另设置一个慢请求门限,当检测间隔时间未达到门限值时采取间隔时间单位指数增加,之后采取线性增加方式。
进一步,所述步骤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,…,DC iar(f))∈∏(Σ);
定义10:令Σ是数据细胞簇形式化定义上的基调,∏(Σ)是基调Σ上的项集,若u(f)∈∏(Σ),则称u(f)为基于操作f的项;项的定义也可采用结构归纳定义,表示成以下形式:
其中::=表示归纳定义,ELrule代表数据细胞簇Bigraph形式中边和连接的形式化定义,DCi代表单个数据细胞的项语言定义,m为数据细胞的个数。
定义11:服务组合的可靠性表示该组合方案能正确执行的可能性,以及抗失效的能力,将一个数据细胞簇的可靠性表示为CR,可以用定义2中该服务的U属性描述,其中n为数据细胞簇中的服务总个数,则数据细胞簇的可靠性为:
更进一步,所述步骤2.3中,Bigraph一致性方法具体步骤如下:
定义12Bigraph反应规则:S=<C,R,C′>:C→C′,C和C′分别为反应物和生成物,均为数据细胞对应的Bigraph结构,R为反应规则集合并规定了数据细胞C到C′的反应过程;使用Bigraph一致性算法对数据细胞的Bigraph反应系统进行演化匹配,匹配的过程中确定在Bigraph中存在反应规则集合R的约束,其中R由上下文环境及需求动态确定,匹配成功则生成新的Bigraph,算法考虑到时间的推移,服务质量与服务上下文感知信息的变化,粒度达到服务的控制端口级别,使用了包括逻辑表达式与时间概率反应条件;该匹配算法首先给定一个数据细胞的Bigraph BC和一组反应规则R,对于反应规则集合R中每个反应规则r调用isMatch方法判断Bigraph内元素是否符合匹配条件,如果他们彼此匹配并且满足时间约束,则Bigraph中的匹配部分被规则r的生成替换;方法iaMatch是一个递归方法,它循环检查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判断Bigraph BC中是否有服务符合匹配条件,如果存在匹配则转步骤2.3.5,并记录匹配所花费的时间spentTime,否则转步骤2.3.3;
2.3.5:如果匹配花费的时间spentTime大于timeConstraints,则转步骤2.3.6,否则转步骤2.3.5.1;
2.3.5.1:如果Bigraph BC是第一次反应替换,则将BC与ri匹配的部分进行替换,生成新的Bigraph BC',转步骤2.3.3,否则转步骤2.3.5.2;
2.3.5.2:将此时的Bigraph BC'与ri匹配的部分进行替换,生成新的Bigraph BC'替换之前的Bigraph,转步骤2.3.3;
2.3.6:该数据细胞Bigraph演化过程中此条规则未在约束时间内找到对应的服务进行匹配演化,转步骤2.3.3;
2.3.7:返回步骤2.3.5中生成最终的数据细胞演化后的Bigraph BC';
2.3.8:该演化过程的反应规则为空,不满足演化条件,返回原Bigraph BC;
进一步,所述步骤2.3.4中的匹配算法的步骤如下:
2.3.4.1:依次解析进行演化的数据细胞的Bigraph BC的结构,直到解析完最后一个服务结束,其中服务集合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。
更进一步,所述步骤2.4中面向web基于Bigraph替换算法的服务质量监控方法流程如下:
2.4.1:设置最低服务质量的阈值Umin;
2.4.2:监控服务s的服务质量U,如果此时的服务质量低于Umin,判定该服务失去其功能,需要对包含该服务的Bigraph中的s服务信息进行删除,转2.4.2.1,否则转2.4.3;
2.4.3:该服务的服务质量正常,继续进行服务监控,一定时间后更新服务s的服务质量U,并转向2.4.2。
所述步骤2.4.2中,对包含该服务的Bigraph中的s服务信息进行删除的流程如下:
2.4.2.1:依次解析检测的数据细胞Bigraph BC的结构,其中服务集合Sn代表其内共有n个数据服务,读取当前已经解析的服务si,si(0<i<n+1)代表第i个数据服务,如果si为空,则设i=1,否则i=i+1,如果i=n,则表示当前系统已解析完最后一个服务结束并转步骤2.4.2,否则转2.4.2.2;
2.4.2.2:判断步骤2.4.2中失效服务s是否和步骤2.4.2.1中的检测服务si相同。结合定义2判断两个服务的控制C是否相同,如果两个控制C的名称CN、类型CT、端口集合P、服务依赖状态CL都一致,则代表两个服务是相同服务转2.4.2.3,否则转2.4.2.6;
2.4.2.3:结合定义3检测该服务si控制中的依赖层次DL,如果为⊙则代表无依赖关系转2.4.2.4,否则转2.4.2.5;
2.4.2.4:删除Bigraph BC中服务si的所有信息,包括删除BC的服务集合Sn中的服务si,端口集合P中si服务端口的ID信息pI、名称pN、类型pT和控制属性pC,删除BC的位置图和连接图中的节点si,删除服务si的内连接边集合X和外连接边集合Y,如果si有site,则对应也要在BC中删除site;转2.4.2.1;
2.4.2.5:删除Bigraph BC中服务si的所有信息,包括删除BC的服务集合Sn中的服务si,端口集合P中si服务端口的ID信息pI、名称pN、类型pT和控制属性pC,删除BC的位置图和连接图中的节点si,删除服务si的内连接边集合X和外连接边集合Y,如果si有site,则对应也要在BC中删除site;结合定义3检测该服务控制的依赖层次DL,如果为《代表和其他服务是前置依赖关系,转2.4.2.5.1,如果为》代表和其他服务是后置依赖关系,转2.4.2.5.2;
2.4.2.5.1:删除Bigraph BC中该服务si依赖的前置服务sprex的所有信息,包括删除BC的服务集合Sn中的服务sprex,端口集合P中sprex服务端口的ID信息pI、名称pN、类型pT和控制属性pC,删除BC的位置图和连接图中的节点sprex,删除服务sprex的内连接边集合X和外连接边集合Y,如果sprex有site,则对应也要在BC中删除site;转2.4.2.1;
2.4.2.5.2:删除Bigraph BC中该服务si依赖的后置服务snext的所有信息,包括删除BC的服务集合Sn中的服务snext,端口集合P中snext服务端口的ID信息pI、名称pN、类型pT和控制属性pC,删除BC的位置图和连接图中的节点snext,删除服务snext的内连接边集合X和外连接边集合Y,如果snext有site,则对应也要在BC中删除site;转2.4.2.1;
2.4.2.6:Bigraph中的该检测服务si不是失效服务,继续对其他服务进行匹配,转2.4.2.1。
进一步,所述步骤2.5中数据细胞自愈方法流程如下:
2.5.1:通过服务质量检测算法检测数据细胞DC对应Bigraph BC中的服务s是否失效,如果失效转2.5.2,否则转2.5.8;
2.5.2:将2.5.1返回的失效服务s与待检测数据细胞对应的Bigraph BC输入至步骤2.4.2.1,并执行到2.4.2.6,最终返回删除失效服务s后的Bigraph BC*。
2.5.3:从该服务s对应聚类的数据细胞簇DCC中选择可靠性最高的数据服务s′;
2.5.4:为了保证最终数据细胞结构完整性进而达到服务组合有效性,本文依据上下文环境和Bigraph反应规则,生成反应规则集合R,目的是向步骤2.5.2中最终生成的Bigraph BC*添加服务s′;
2.5.5:通过步骤2.3的Bigraph一致性算法验证Bigraph BC*能否和R进行匹配反应,如果能正常反应转步骤2.5.7,否则转2.5.6;
2.5.6:在服务s对应的数据细胞簇DCC中去掉不符合替换条件的服务s′,转2.5.3进行重新选择;
2.5.7:该服务替换完成,数据细胞自愈成功,继续进行服务监控,一定时间后更新服务s的服务质量U转步骤2.5.1;
2.5.8:该服务的服务质量正常,继续进行服务监控,一定时间后更新服务s的服务质量U,并转向2.5.1。
进一步,所述步骤2.5.1的服务质量检测算法的流程如下:
2.5.1.1:记录待检测的服务s已经检测次数TN,如果TN为0,转2.5.1.2,否则转2.5.1.3;
2.5.1.2:在初始化阶段设置初始的检测间隔时间为一个单位时间,即RI1=1,单位时间可以是一个小时、半个小时、十分钟等,具体数值由系统根据经验定值,另定义一个慢请求门限值srthresh,该值的大小由机器负载和经验值确定,TN=TN+1,转2.5.1.1;
2.5.1.3:TN=TN+1,通过步骤2.4.2的服务质量监控方法监控服务质量U判断服务s是否可用,如果可用说明该服务s没有失效,转2.5.1.4,否则转2.5.1.5;
2.5.1.4:如果发现此轮的请求间隔时间RLTN(TN=2,3,4,5…)小于或等于慢请求门限值srthresh,则定义下一轮请求间隔时间RITN+1=2*RITN,否则下一轮请求间隔时间RITN+1=RITN+1,转步骤2.5.1.3;
2.5.1.5:该服务s已经失效,直接定义下一轮的请求间隔时间RITN+1=RITN/2,并将失效服务s返回。
本发明的有益效果主要表现在要:(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形式图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图3,一种面向Web服务计算环境的数据细胞自愈方法,所述自愈方法包括以下步骤:
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引进基本签名。基本签名是一个二元组这里表示控制(control)的集合,用巴科斯范式(BNF)表示,则有K::=K|K:n,其中,n表示K的元数(arity),为自然数集。每个控制都有一个映射ar:表示从控制节点到的映射。基本签名上的Bigraph,就是给每个节点指派一个控制,控制的元数就是该节点的端口(port)数,用小黑圆圈表示。
在数学基础方面,位置图可视为态射,其对象是序数集。连接图则是对象为名字集的态射。每一个Bigraph都可以利用基本的图元(placings、wirings和ions),合成或扩展乘积操作的组合形成Bigraph范式,通过项语言可以对系统性质进行推理和演绎。
在数学基础方面,位置图可视为态射,其对象是序数集。连接图则是对象为名字集的态射。每一个Bigraph都可以利用基本的图元(placings、wirings和ions),合成或扩展乘积操作的组合形成Bigraph范式,通过项语言可以对系统性质进行推理和演绎。这些基本的元素以及操作如表3所示,表3为Bigraph表达式中项的涵义:
表3
1.2、服务组合:将数据细胞和数据细胞簇作为服务的演化行为方式的载体。选取数据细胞和细胞簇进行服务组合,模拟服务生成组合服务的行为模式,构建基于数据细胞的服务组合模型。
第二步、基于所述的框架提出的一种面向Web服务计算环境的数据细胞自愈方法,过程如下:
步骤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所示:
表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,…,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项语言形式化定义为:
定义11(可靠性):服务组合的可靠性表示该组合方案能正确执行的可能性,以及抗失效的能力,将一个数据细胞簇的可靠性表示为CR,可以用定义2中该服务的U属性描述,其中n为数据细胞簇中的服务总个数,则数据细胞簇的可靠性为:
步骤2.3:服务组合验证
对web服务组合的全局交互行为和局部行为建立形式化描述,并利用Bigraph一致性算法验证web服务组合参与者的动态行为能够正确交互以及全局交互行为和局部行为的一致性,保证web服务组合的有效性。其中Bigraph一致性方法具体步骤如下:
定义12(Bigraph反应规则):S=<C,R,C′>:C→C′,C和C′分别为反应物和生成物,均为数据细胞对应的Bigraph结构,R为反应规则集合并规定了数据细胞C到C′的反应过程;为了应对不断变化的业务环境和用户需求,数据细胞与其他细胞发生行为交互结构不断发生变化,如何保证此过程中数据细胞的结构完整性进而达到服务组合有效性,是服务演化过程中必须考虑的一个问题;本发明使用Bigraph一致性算法对数据细胞的Bigraph反应系统进行演化匹配,匹配的过程中确定在Bigraph中存在反应规则集合R的约束,其中R由上下文环境及需求动态确定,匹配成功则生成新的Bigraph,算法考虑到时间的推移,服务质量与服务上下文感知信息的变化,粒度达到服务的控制端口级别,使用了包括逻辑表达式与时间概率等反应条件;该匹配算法首先给定一个数据细胞的Bigraph BC和一组反应规则R,对于反应规则集合R中每个反应规则r调用isMatch方法判断Bigraph内元素是否符合匹配条件,如果他们彼此匹配并且满足时间约束,则Bigraph中的匹配部分被规则r的生成替换;方法iaMatch是一个递归方法,它循环检查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判断Bigraph BC中是否有服务符合匹配条件,如果存在匹配则转步骤2.3.5,并记录匹配所花费的时间spentTime,否则转步骤2.3.3;
2.3.5:如果匹配花费的时间spentTime大于timeConstraints,则转步骤2.3.6,否则转步骤2.3.5.1;
2.3.5.1:如果Bigraph BC是第一次反应替换,则将BC与ri匹配的部分进行替换,生成新的Bigraph BC',转步骤2.3.3,否则转步骤2.3.5.2;
2.3.5.2:将此时的Bigraph BC'与ri匹配的部分进行替换,生成新的Bigraph BC'替换之前的Bigraph,转步骤2.3.3;
2.3.6:该数据细胞Bigraph演化过程中此条规则未在约束时间内找到对应的服务进行匹配演化,转步骤2.3.3;
2.3.7:返回步骤2.3.5中生成最终的数据细胞演化后的Bigraph BC';
2.3.8:该演化过程的反应规则为空,不满足演化条件,返回原Bigraph BC;
进一步,所述步骤2.3.4中的匹配算法的步骤如下:
2.3.4.1:依次解析进行演化的数据细胞的Bigraph BC的结构,直到解析完最后一个服务结束,其中服务集合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。
步骤2.4:失效服务检测
在服务组合的过程中,现有的服务质量是动态变化的,有可能出现服务缺失或者服务质量下降的情况,会造成服务组合功能的失效,本发明提出面向Web基于Bigraph替换算法的服务质量监控方法,通过监控服务的质量,当发现服务失效时,自动将细胞Bigraph中的该失效服务信息删除,从而达到系统对失效服务组合的预警,后期进行相关服务的替换,进而可以保障服务的质量。所述面向web基于Bigraph替换算法的服务质量监控方法流程如下:
2.4.1:设置最低服务质量的阈值Umin;
2.4.2:监控服务s的服务质量U,如果此时的服务质量低于Umin,判定该服务失去其功能,需要对包含该服务的Bigraph中的s服务信息进行删除,转2.4.2.1,否则转2.4.3;
2.4.2.1:依次解析检测的数据细胞Bigraph BC的结构,其中服务集合Sn代表其内共有n个数据服务,读取当前已经解析的服务si,si(0<i<n+1)代表第i个数据服务,如果si为空,则设i=1,否则i=i+1,如果i=n,则表示当前系统已解析完最后一个服务结束并转步骤2.4.2,否则转2.4.2.2;
2.4.2.2:判断步骤2.4.2中失效服务s是否和步骤2.4.2.1中的检测服务si相同。结合定义2判断两个服务的控制C是否相同,如果两个控制C的名称CN、类型CT、端口集合P、服务依赖状态CL都一致,则代表两个服务是相同服务转2.4.2.3,否则转2.4.2.6;
2.4.2.3:结合定义3检测该服务si控制中的依赖层次DL,如果为⊙则代表无依赖关系转2.4.2.4,否则转2.4.2.5;
2.4.2.4:删除Bigraph BC中服务si的所有信息,包括删除BC的服务集合Sn中的服务si,端口集合P中si服务端口的ID信息pI、名称pN、类型pT和控制属性pC,删除BC的位置图和连接图中的节点si,删除服务si的内连接边集合X和外连接边集合Y,如果si有site,则对应也要在BC中删除site;转2.4.2.1;
2.4.2.5:删除Bigraph BC中服务si的所有信息,包括删除BC的服务集合Sn中的服务si,端口集合P中si服务端口的ID信息pI、名称pN、类型pT和控制属性pC,删除BC的位置图和连接图中的节点si,删除服务si的内连接边集合X和外连接边集合Y,如果si有site,则对应也要在BC中删除site;结合定义3检测该服务控制的依赖层次DL,如果为《代表和其他服务是前置依赖关系,转2.4.2.5.1,如果为》代表和其他服务是后置依赖关系,转2.4.2.5.2;
2.4.2.5.1:删除Bigraph BC中该服务si依赖的前置服务sprex的所有信息,包括删除BC的服务集合Sn中的服务sprex,端口集合P中sprex服务端口的ID信息pI、名称pN、类型pT和控制属性pC,删除BC的位置图和连接图中的节点sprex,删除服务sprex的内连接边集合X和外连接边集合Y,如果sprex有site,则对应也要在BC中删除site;转2.4.2.1;
2.4.2.5.2:删除Bigraph BC中该服务si依赖的后置服务snext的所有信息,包括删除BC的服务集合Sn中的服务snext,端口集合P中snext服务端口的ID信息pI、名称pN、类型pT和控制属性pC,删除BC的位置图和连接图中的节点snext,删除服务snext的内连接边集合X和外连接边集合Y,如果snext有site,则对应也要在BC中删除site;转2.4.2.1;
2.4.2.6:Bigraph中的该检测服务si不是失效服务,继续对其他服务进行匹配,转2.4.2.1;
2.4.3:该服务的服务质量正常,继续进行服务监控,一定时间后更新服务s的服务质量U,并转向2.4.2。
步骤2.5:细胞自愈
由于每个服务具有自身的事务属性,在实际使用情况中,服务的组合过程中可能面临服务失效、服务组合紊乱等一系列情况,相应的,所对应的数据细胞在生长演化的过程中会出现细胞结构的缺失、数据服务的组合故障等问题,造成数据细胞的变异,进而失去了原有功能属性和结构稳定性。本文提出一种面向Web服务计算环境的数据细胞自愈方法对服务有效性和质量进行周期性检测,通过对结构变异部分的数据细胞进行自我修复,实现服务动态行为的演化,使服务组合能够恢复预期的功能,最终达到自愈的效果,提高服务的适应性和健壮性。考虑到频繁的检测失效服务在大规模的数据服务中会严重降低服务性能,为了减少系统的开销,本文在自愈方法中提出一种心跳机制,通过每次对服务的检测结果动态调节下一次检测的请求时间,另设置一个慢请求门限,当检测间隔时间未达到门限值时采取间隔时间单位指数增加,之后采取线性增加方式,该面向Web服务计算环境的数据细胞自愈方法流程如下:
2.5.1:通过服务质量检测算法检测数据细胞DC对应Bigraph BC中的服务s是否失效,如果失效转2.5.2,否则转2.5.8;
2.5.2:将2.5.1返回的失效服务s与待检测数据细胞对应的Bigraph BC输入至步骤2.4.2.1,并执行到2.4.2.6,最终返回删除失效服务s的Bigraph BC*。
2.5.3:从该服务s对应聚类的数据细胞簇DCC中选择可靠性最高的数据服务s′;
2.5.4:为了保证数据细胞结构完整性进而达到服务组合有效性,本文依据上下文环境和Bigraph反应规则,生成反应规则集合R,目的是向步骤2.5.2中最终生成的BigraphBC*添加服务s′;
2.5.5:通过步骤2.3的Bigraph一致性算法验证Bigraph BC*能否和R进行匹配反应,如果能正常反应转步骤2.5.7,否则转2.5.6;
2.5.6:在服务s对应的数据细胞簇DCC中去掉不符合替换条件的服务s′,转2.5.3进行重新选择;
2.5.7:该服务替换完成,数据细胞自愈成功,继续进行服务监控,一定时间后更新服务s的服务质量U转步骤2.5.1;
2.5.8:该服务的服务质量正常,继续进行服务监控,一定时间后更新服务s的服务质量U,并转向2.5.1。
进一步,所述步骤2.5.1的服务质量检测算法的流程如下:
2.5.1.1:记录待检测的服务s已经检测次数TN,如果TN为0,转2.5.1.2,否则转2.5.1.3;
2.5.1.2:在初始化阶段设置初始的检测间隔时间为一个单位时间,即RI1=1,单位时间可以是一个小时、半个小时、十分钟等,具体数值由系统根据经验定值,另定义一个慢请求门限值srthresh,该值的大小由机器负载和经验值确定,TN=TN+1,转2.5.1.1;
2.5.1.3:TN=TN+1,通过步骤2.4.2的服务质量监控方法监控服务质量U判断服务s是否可用,如果可用说明该服务s没有失效,转2.5.1.4,否则转2.5.1.5;
2.5.1.4:如果发现此轮的请求间隔时间RLTN(TN=2,3,4,5…)小于或等于慢请求门限值srthresh,则定义下一轮请求间隔时间RITN+1=2*RITN,否则下一轮请求间隔时间RITN+1=RITN+1,转步骤2.5.1.3;
2.5.1.5:该服务s已经失效,直接定义下一轮的请求间隔时间RITN+1=RITN/2,并将失效服务s返回。
Claims (9)
1.一种面向Web服务计算环境的数据细胞自愈方法,其特征在于,所述自愈方法包括以下步骤:
第一步、结合Bigraph理论,建立一个服务组合框架,分为两阶段;
1.1、信息抽取和细胞建模:提取服务的相关描述信息,得到服务描述元数据,基于抽取的服务信息,根据服务的语法信息匹配服务操作参数与资源状态,基于Bigraph理论构建数据细胞和数据细胞簇的结构及生物特性,代表服务的状态信息与服务间潜在的调用关系;
1.2、服务组合:将数据细胞和数据细胞簇作为服务的演化行为方式的载体,选取数据细胞和细胞簇进行服务组合,模拟服务生成组合服务的行为模式,构建基于数据细胞的服务组合模型;
第二步、基于所述的框架提出的一种面向Web服务计算环境的数据细胞自愈方法,过程如下:
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.4:失效服务检测
通过监控服务的质量,当发现服务失效时,自动将细胞Bigraph中的该失效服务信息删除,从而达到系统对失效服务组合的预警,后期进行相关服务的替换,进而可以保障服务的质量;
2.5:细胞自愈
对服务有效性和质量进行周期性检测,通过对结构变异部分的数据细胞进行自我修复,实现服务动态行为的演化,使服务组合能够恢复预期的功能,最终达到自愈的效果。
2.如权利要求1所述的一种面向Web服务计算环境的数据细胞自愈方法,其特征在于,所述步骤2.5中,提出一种心跳机制,通过每次对服务的检测结果动态调节下一次检测的请求时间,另设置一个慢请求门限,当检测间隔时间未达到门限值时采取间隔时间单位指数增加,之后采取线性增加方式。
3.如权利要求1或2所述的一种面向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所示:
表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,…,DC iar(f))∈∏(Σ);
定义10:令Σ是数据细胞簇形式化定义上的基调,∏(Σ)是基调Σ上的项集,若u(f)∈∏(Σ),则称u(f)为基于操作f的项;项的定义也可采用结构归纳定义,表示成以下形式:
其中::=表示归纳定义,ELrule代表数据细胞簇Bigraph形式中边和连接的形式化定义,DCi代表单个数据细胞的项语言定义,m为数据细胞的个数;
定义11:服务组合的可靠性表示该组合方案能正确执行的可能性,以及抗失效的能力,将一个数据细胞簇的可靠性表示为CR,可以用定义2中该服务的U属性描述,其中n为数据细胞簇中的服务总个数,则数据细胞簇的可靠性为:
4.如权利要求3所述的一种面向Web服务计算环境的数据细胞自愈方法,其特征在于,所述步骤2.3中,
定义12Bigraph反应规则:S=<C,R,C′>:C→C′,C和C′分别为反应物和生成物,均为数据细胞对应的Bigraph结构,R为反应规则集合并规定了数据细胞C到C′的反应过程;使用Bigraph一致性算法对数据细胞的Bigraph反应系统进行演化匹配,匹配的过程中确定在Bigraph中存在反应规则集合R的约束,其中R由上下文环境及需求动态确定,匹配成功则生成新的Bigraph,算法考虑到时间的推移,服务质量与服务上下文感知信息的变化,粒度达到服务的控制端口级别,使用了包括逻辑表达式与时间概率反应条件;该匹配算法首先给定一个数据细胞的Bigraph BC和一组反应规则R,对于反应规则集合R中每个反应规则r调用isMatch方法判断Bigraph内元素是否符合匹配条件,如果他们彼此匹配并且满足时间约束,则Bigraph中的匹配部分被规则r的生成替换;方法iaMatch是一个递归方法,它循环检查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判断Bigraph BC中是否有服务符合匹配条件,如果存在匹配则转步骤2.3.5,并记录匹配所花费的时间spentTime,否则转步骤2.3.3;
2.3.5:如果匹配花费的时间spentTime大于timeConstraints,则转步骤2.3.6,否则转步骤2.3.5.1;
2.3.5.1:如果Bigraph BC是第一次反应替换,则将BC与ri匹配的部分进行替换,生成新的Bigraph BC',转步骤2.3.3,否则转步骤2.3.5.2;
2.3.5.2:将此时的Bigraph BC'与ri匹配的部分进行替换,生成新的Bigraph BC'替换之前的Bigraph,转步骤2.3.3;
2.3.6:该数据细胞Bigraph演化过程中此条规则未在约束时间内找到对应的服务进行匹配演化,转步骤2.3.3;
2.3.7:返回步骤2.3.5中生成最终的数据细胞演化后的Bigraph BC';
2.3.8:该演化过程的反应规则为空,不满足演化条件,返回原Bigraph BC。
5.如权利要求4所述的一种面向Web服务计算环境的数据细胞自愈方法,其特征在于,所述步骤2.3.4中的匹配算法具体步骤如下:
2.3.4.1:依次解析进行演化的数据细胞的Bigraph BC的结构,直到解析完最后一个服务结束,其中服务集合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。
6.如权利要求1或2所述的一种面向Web服务计算环境的数据细胞自愈方法,其特征在于,所述步骤2.4中,面向web基于Bigraph替换算法的服务质量监控方法流程如下:
2.4.1:设置最低服务质量的阈值Umin;
2.4.2:监控服务s的服务质量U,如果此时的服务质量低于Umin,判定该服务失去其功能,需要对包含该服务的Bigraph中的s服务信息进行删除,转2.4.2.1,否则转2.4.3;
2.4.3:该服务的服务质量正常,继续进行服务监控,一定时间后更新服务s的服务质量U,并转向2.4.2。
7.如权利要求6所述的一种面向Web服务计算环境的数据细胞自愈方法,其特征在于,所述步骤2.4.2中,对包含该服务的Bigraph中的s服务信息进行删除的流程如下:
2.4.2.1:依次解析检测的数据细胞Bigraph BC的结构,其中服务集合Sn代表其内共有n个数据服务,读取当前已经解析的服务si,si(0<i<n+1)代表第i个数据服务,如果si为空,则设i=1,否则i=i+1,如果i=n,则表示当前系统已解析完最后一个服务结束并转步骤2.4.2,否则转2.4.2.2;
2.4.2.2:判断步骤2.4.2中失效服务s是否和步骤2.4.2.1中的检测服务si相同。结合定义2判断两个服务的控制C是否相同,如果两个控制C的名称CN、类型CT、端口集合P、服务依赖状态CL都一致,则代表两个服务是相同服务转2.4.2.3,否则转2.4.2.6;
2.4.2.3:结合定义3检测该服务si控制中的依赖层次DL,如果为⊙则代表无依赖关系转2.4.2.4,否则转2.4.2.5;
2.4.2.4:删除Bigraph BC中服务si的所有信息,包括删除BC的服务集合Sn中的服务si,端口集合P中si服务端口的ID信息pI、名称pN、类型pT和控制属性pC,删除BC的位置图和连接图中的节点si,删除服务si的内连接边集合X和外连接边集合Y,如果si有site,则对应也要在BC中删除site;转2.4.2.1;
2.4.2.5:删除Bigraph BC中服务si的所有信息,包括删除BC的服务集合Sn中的服务si,端口集合P中si服务端口的ID信息pI、名称pN、类型pT和控制属性pC,删除BC的位置图和连接图中的节点si,删除服务si的内连接边集合X和外连接边集合Y,如果si有site,则对应也要在BC中删除site;结合定义3检测该服务控制的依赖层次DL,如果为《代表和其他服务是前置依赖关系,转2.4.2.5.1,如果为》代表和其他服务是后置依赖关系,转2.4.2.5.2;
2.4.2.5.1:删除Bigraph BC中该服务si依赖的前置服务sprex的所有信息,包括删除BC的服务集合Sn中的服务sprex,端口集合P中sprex服务端口的ID信息pI、名称pN、类型pT和控制属性pC,删除BC的位置图和连接图中的节点sprex,删除服务sprex的内连接边集合X和外连接边集合Y,如果sprex有site,则对应也要在BC中删除site;转2.4.2.1;
2.4.2.5.2:删除BigraphBC中该服务si依赖的后置服务snext的所有信息,包括删除BC的服务集合Sn中的服务snext,端口集合P中snext服务端口的ID信息pI、名称pN、类型pT和控制属性pC,删除BC的位置图和连接图中的节点snext,删除服务snext的内连接边集合X和外连接边集合Y,如果snext有site,则对应也要在BC中删除site;转2.4.2.1;
2.4.2.6:Bigraph中的该检测服务si不是失效服务,继续对其他服务进行匹配,转2.4.2.1。
8.如权利要求1或2所述的一种面向Web服务计算环境的数据细胞自愈方法,其特征在于,所述步骤2.5中,数据细胞自愈方法流程如下:
2.5.1:通过服务质量检测算法检测数据细胞DC对应Bigraph BC中的服务s是否失效,如果失效转2.5.2,否则转2.5.8;
2.5.2:将2.5.1返回的失效服务s与待检测数据细胞对应的Bigraph BC输入至步骤2.4.2.1,并执行到2.4.2.6,最终返回删除失效服务s的Bigraph BC*。
2.5.3:从该服务s对应聚类的数据细胞簇DCC中选择可靠性最高的数据服务s′;
2.5.4:为了保证数据细胞结构完整性进而达到服务组合有效性,本文依据上下文环境和Bigraph反应规则,生成反应规则集合R,目的是向步骤2.5.2中最终生成的Bigraph BC*添加服务s′;
2.5.5:通过步骤2.3的Bigraph一致性算法验证Bigraph BC*能否和R进行匹配反应,如果能正常反应转步骤2.5.7,否则转2.5.6;
2.5.6:在服务s对应的数据细胞簇DCC中去掉不符合替换条件的服务s′,转2.5.3进行重新选择;
2.5.7:该服务替换完成,数据细胞自愈成功,继续进行服务监控,一定时间后更新服务s的服务质量U转步骤2.5.1;
2.5.8:该服务的服务质量正常,继续进行服务监控,一定时间后更新服务s的服务质量U,并转向2.5.1。
9.如权利要求1或2所述的一种面向Web服务计算环境的数据细胞自愈方法,其特征在于,所述步骤2.5.1的服务质量检测算法的流程如下:
2.5.1.1:记录待检测的服务s已经检测次数TN,如果TN为0,转2.5.1.2,否则转2.5.1.3;
2.5.1.2:在初始化阶段设置初始的检测间隔时间为一个单位时间,即RI1=1,单位时间可以是一个小时、半个小时、十分钟等,具体数值由系统根据经验定值,另定义一个慢请求门限值srthresh,该值的大小由机器负载和经验值确定,TN=TN+1,转2.5.1.1;
2.5.1.3:TN=TN+1,通过步骤2.4.2的服务质量监控方法监控服务质量U判断服务s是否可用,如果可用说明该服务s没有失效,转2.5.1.4,否则转2.5.1.5;
2.5.1.4:如果发现此轮的请求间隔时间RLTN(TN=2,3,4,5…)小于或等于慢请求门限值srthresh,则定义下一轮请求间隔时间RITN+1=2*RITN,否则下一轮请求间隔时间RITN+1=RITN+1,转步骤2.5.1.3;
2.5.1.5:该服务s已经失效,直接定义下一轮的请求间隔时间RITN+1=RITN/2,并将失效服务s返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810512932.2A CN108960401B (zh) | 2018-05-25 | 2018-05-25 | 一种面向Web服务计算环境的数据细胞自愈方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810512932.2A CN108960401B (zh) | 2018-05-25 | 2018-05-25 | 一种面向Web服务计算环境的数据细胞自愈方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108960401A true CN108960401A (zh) | 2018-12-07 |
CN108960401B CN108960401B (zh) | 2021-01-01 |
Family
ID=64492168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810512932.2A Active CN108960401B (zh) | 2018-05-25 | 2018-05-25 | 一种面向Web服务计算环境的数据细胞自愈方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108960401B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111163491A (zh) * | 2020-01-03 | 2020-05-15 | 重庆邮电大学 | 一种高信道利用率的细粒度统计优先多址接入方法 |
CN112417699A (zh) * | 2020-11-26 | 2021-02-26 | 中国科学院电子学研究所苏州研究院 | 一种面向服务能力的结构化描述校验系统及其方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345541A (zh) * | 2013-06-04 | 2013-10-09 | 华南理工大学 | 一种基于扩展Petri网模型的语义Web服务组合方法 |
CN103488568A (zh) * | 2013-09-30 | 2014-01-01 | 南京航空航天大学 | 一种嵌入式软件可信属性建模与验证方法 |
US20170316204A1 (en) * | 2014-10-24 | 2017-11-02 | Mcafee, Inc. | Agent presence for self-healing |
-
2018
- 2018-05-25 CN CN201810512932.2A patent/CN108960401B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345541A (zh) * | 2013-06-04 | 2013-10-09 | 华南理工大学 | 一种基于扩展Petri网模型的语义Web服务组合方法 |
CN103488568A (zh) * | 2013-09-30 | 2014-01-01 | 南京航空航天大学 | 一种嵌入式软件可信属性建模与验证方法 |
US20170316204A1 (en) * | 2014-10-24 | 2017-11-02 | Mcafee, Inc. | Agent presence for self-healing |
Non-Patent Citations (2)
Title |
---|
刘培培等: "一种基于Bigraph 理论的软件演化过程模型研究", 《计算机应用研究》 * |
常志明等: "Bigraph 理论在自适应软件体系结构上的应用", 《计算机学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111163491A (zh) * | 2020-01-03 | 2020-05-15 | 重庆邮电大学 | 一种高信道利用率的细粒度统计优先多址接入方法 |
CN111163491B (zh) * | 2020-01-03 | 2022-06-10 | 重庆邮电大学 | 一种高信道利用率的细粒度统计优先多址接入方法 |
CN112417699A (zh) * | 2020-11-26 | 2021-02-26 | 中国科学院电子学研究所苏州研究院 | 一种面向服务能力的结构化描述校验系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108960401B (zh) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Magnani et al. | A survey on uncertainty management in data integration | |
CN108932588B (zh) | 一种前后端分离的水电站群优化调度系统及方法 | |
Cimitile et al. | Identifying objects in legacy systems using design metrics | |
CN106130809A (zh) | 一种基于日志分析的IaaS云平台网络故障定位方法及系统 | |
US20100192148A1 (en) | User defined data partitioning (udp) - grouping of data based on computation model | |
Palopoli et al. | DIKE: a system supporting the semi‐automatic construction of cooperative information systems from heterogeneous databases | |
Sheikholeslami | Ablation programming for machine learning | |
Ezeife et al. | Distributed object based design: Vertical fragmentation of classes | |
CN109005049B (zh) | 一种互联网环境下基于Bigraph一致性算法的服务组合方法 | |
CN102780583B (zh) | 物联网业务描述、组合和服务质量评估的方法 | |
CN106713469A (zh) | 用于分布式容器的动态加载方法、装置及系统 | |
CN108960401B (zh) | 一种面向Web服务计算环境的数据细胞自愈方法 | |
CN107122238A (zh) | 基于Hadoop云计算框架的高效迭代机制设计方法 | |
Lin et al. | An agent-based approach to reconciling data heterogeneity in cyber-physical systems | |
Zheng et al. | A survey of dynamic graph neural networks | |
CN108964973B (zh) | 面向Web基于Bigraph替换算法的服务质量监控方法 | |
Pena et al. | Distributed semantic repositories in smart grids | |
Lu et al. | DCEM: A data cell evolution model for service composition based on bigraph theory | |
CN108804788B (zh) | 一种基于数据细胞模型的Web服务演化方法 | |
Haller et al. | A programming model and foundation for lineage-based distributed computation | |
Hao et al. | Ontology-based Software Trustworthy requirements and behavior modeling | |
Xu | [Retracted] Social Governance Structure Construction and Resource Allocation Methods under the Management Mode of the Internet of Things | |
Settouti et al. | A trace-based systems framework: Models, languages and semantics | |
CN115066673A (zh) | 用于etl流水线处理的系统和方法 | |
Chuanjian et al. | Research on Software Development Based on Low-Code Technology |
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 |