CN109669671A - 一种基于微服务的多层次自适应方法 - Google Patents

一种基于微服务的多层次自适应方法 Download PDF

Info

Publication number
CN109669671A
CN109669671A CN201811494145.6A CN201811494145A CN109669671A CN 109669671 A CN109669671 A CN 109669671A CN 201811494145 A CN201811494145 A CN 201811494145A CN 109669671 A CN109669671 A CN 109669671A
Authority
CN
China
Prior art keywords
adaptive
micro services
micro
software systems
level
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
Application number
CN201811494145.6A
Other languages
English (en)
Other versions
CN109669671B (zh
Inventor
毛新军
张帅
刘佩妮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201811494145.6A priority Critical patent/CN109669671B/zh
Publication of CN109669671A publication Critical patent/CN109669671A/zh
Application granted granted Critical
Publication of CN109669671B publication Critical patent/CN109669671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于微服务的多层次自适应方法,其包括:S101:建立基于微服务软件系统的多层次自适应模型,用来描述自适应微服务软件系统的不同元素及其相互关系;S102:建立基于自适应微服务系统的抽象模型,用来在不同层次上实现自适应的操作原语,并对其操作语义进行了形式化定义;S103:建立基于自适应模型和自适应原语,即通过一种微服务自适应描述语言MSDL在多个层次上实现自适应逻辑,对自适应策略进行刻画。本发明具有适应范围更广、能够提升自适应能力等优点。

Description

一种基于微服务的多层次自适应方法
技术领域
本发明主要涉及到微服务领域,特指一种基于微服务的多层次自适应方法。
背景技术
目前,微服务已成为软件工程领域的一个热门话题,它强调高可维护性软件的设计与开发;谷歌趋势显示,2014年后,微服务的搜索次数一直在持续快速增长,包括 IBM、微软、Netflix 和亚马逊在内的全球企业公司都开始采用微服务架构;从软件系统开发的趋势看,微服务软件系统有望成为软件系统的主要模式。
微服务提供了一种新的软件体系结构范式来分解、组织、部署和维护软件系统。微服务区别于经典的面向服务架构的特点是强调构成系统的每个单元的可伸缩性、独立性和语义内聚性,它的基本软件组件封装为轻量级和可独立部署运行的一个个相对小的服务。每个微服务都使用容器技术封装进行自管理,并在分布式和开放的环境中独立部署,整个系统在没有中央控制的管理下分布式运行。在面向对象软件模型中,一个组件的实例运行在一个进程中,而微服务可以在不同的计算节点上部署运行多个实例,并且每个服务在单独的进程中独立运行,这保证了微服务实例的高度独立性。微服务软件系统的这种特性呈现出一种明确的边界,以显式地将软件组件 (即微服务) 与正在运行的元素 (即微服务实例) 分开成多个层次,这要求我们考虑不同层次的自适应需求及其相互关系。
这种多层次特性对现有的自适应方法提出了挑战,如果使用现有的方法进行微服务软件系统自适应,在成本效益上较差而且微服务的优势无法被充分利用。在传统的应用程序中,当用户访问量在短时间内大量增加时,现有的自适应方法是添加一个新的服务器或整个应用的副本,但许多用户可能只集中访问其中某个模块;另外当系统的一部分出现故障时,现有的方法是暂停整个系统进行检查和修复,这会使用户无法访问系统。这种传统的方法可能比较适用于现有的小规模软件系统,但不适合基于微服务构建的大规模软件系统。
假设存在一个学生信息系统,该系统是为收集来自某个大学所有学院的学生信息而开发的,主要为用户提供搜索、分析和分发服务。这样的系统可以设计为用户提供服务的微服务系统,包括前端微服务、用户微服务、汇聚微服务、分析微服务、搜索微服务和调度微服务。这些微服务可以独立开发和部署,并且每个微服务可以有多个实例来满足访问性能要求或提高系统的鲁棒性。在该系统中,需要在不同级别进行不同的自适应;例如,当用户希望系统提供新功能时,需要更新系统中相应的微服务。另外如果由于大量用户访问,系统平均响应时间过高,则需要扩展系统中相应的微服务实例。为了应对这些需求,微服务软件系统需要具有自适应能力,以满足不断变化的用户需求和不断变化的环境。
综上所述,现有技术存在的问题是:微服务软件系统具有一种多层次的特性,现有的自适应技术没有应对这种特性的解决方案。如果使用微服务构建软件系统,现有的自适应方法面临一些挑战,例如,它只能在服务级别上进行控制,不支持实例级别的调整,而且更新时需要暂停整个系统,这种方法是低效率和高成本的;更合适的解决方案是增加对微服务实例的调整,这样可以更好地提高成本效益并且能够保持系统不间断地运行。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种适应范围更广、能够提升自适应能力的基于微服务的多层次自适应方法。
为解决上述技术问题,本发明采用以下技术方案:
一种基于微服务的多层次自适应方法,其包括:
S101:建立基于微服务软件系统的多层次自适应模型,用来描述自适应微服务软件系统的不同元素及其相互关系;
S102:建立基于自适应微服务系统的抽象模型,用来在不同层次上实现自适应的操作原语,并对其操作语义进行了形式化定义;
S103:建立基于自适应模型和自适应原语,即通过一种微服务自适应描述语言 MSDL在多个层次上实现自适应逻辑,对自适应策略进行刻画。
作为本发明的进一步改进:所述自适应微服务软件系统的抽象模型包括:
需求层,包含自适应需求;所述自适应需求与微服务软件系统的质量属性有关,所述自适应需求表达了软件运行过程中需要面对的不确定性;
微服务系统,包括服务层和实例层;所述服务层由微服务组成,微服务相互作用,构成微服务系统;所述实例层由两部分组成,微服务实例是微服务的运行实体;
基础设施层包含平台,为微服务系统提供了管理功能。
作为本发明的进一步改进:所述自适应原语抽象了自适应微服务软件系统模型可变点的基本控制操作;所述自适应原语是基本的原子自适应操作,用于添加、删除或更新可变点,自适应原语组合成复合自适应操作,用以实现微服务软件系统的重构或调整。
作为本发明的进一步改进:所述自适应原语包括:appendService、removeService、updateServiceVersion、duplicateInstance、deleteInstance;其中,appendService、removeService 和 updateServiceVersion 作用在自适应微服务软件系统模型的服务层,duplicateInstance 和 deleteInstance 作用在自适应微服务软件系统模型的实例层。
作为本发明的进一步改进:所述自适应策略的策略分为三部分,事件、条件和行为,为应对微服务软件系统自适应的特点,提出的策略描述语言在每个部分实现多层次的特性。
作为本发明的进一步改进:还包括S104:建立自适应微服务软件系统平台,为微服务软件系统提供自适应支持。
作为本发明的进一步改进:所述自适应微服务软件系统平台包括:
应用开发部分,在应用程序开发阶段,开发人员完成开发并将微服务打包成微服务镜像,存储在镜像仓库中;设计人员根据用户需求提出自适应需求,用于指导自适应策略的编写;
自适应描述语言部分,使用自适应处理描述语言MSDL编写自适应策略,策略用于实现自适应逻辑,在运行之前将它们转换为可执行语言;
翻译工具,通过翻译工具用户制定一些预定义的策略,使系统具有自适应能力;如果有新的策略,动态地将其加载到系统中,自动识别并运行;
数据仓库,镜像仓库用于存储微服务系统的微服务镜像,策略仓库用于存储由翻译工具翻译生成的自适应策略;
自适应基础设施,翻译工具生成的结果用于帮助自适应基础设施完成自适应逻辑和控制,自适应调整的对象是微服务软件系统的微服务及其实例;
Kubernetes基础设施,对应于自适应微服务软件系统模型的平台;自适应基础设施与Kubernetes基础设施通信,以MAPE循环的形式实现自适应。
与现有技术相比,本发明的优点在于:
1、本发明的目的是区分不同层次的自适应需求,并提供相应的方法来支持多层次的自适应;本发明提出一种基于微服务的多层次自适应方法,用于丰富微服务体系结构和技术的自适应能力;在提出的方法中,微服务软件系统的自适应可以发生在微服务级和实例级,以满足不同层次的自适应需求。
2、针对微服务软件系统面临的诸多不确定性和需要多层次自适应的问题,本发明包括自适应微服务软件系统模型,一系列自适应原语,一种微服务自适应描述语言 MSDL和一个自适应微服务软件系统平台 AdaptiveK8s,使得微服务软件系统具有多层次的自适应能力。
3、本发明通过模型指导设计,然后开发了具体的平台来实现方法,支持微服务软件系统的多层次自适应;与现有的自适应方法相比,本方法利用了微服务的优点,提出了具体的自适应微服务软件系统的特定解决方案;通过对一个微服务软件系统的实例研究,验证了本方法可以应用于实际的微服务软件系统,实现多层次的自适应目标。
附图说明
图1是本发明方法的流程示意图。
图2是本发明在具体应用实例中自适应微服务软件系统的抽象模型的示意图。
图3是本发明在具体应用实例中自适应原语的示意图。
图4是本发明在具体应用实例中自适应原语的部分转换规则示意图。
图5是本发明在具体应用实例中MSDL 语言的主要语法结构示意图。
图6是本发明在具体应用实例中自适应微服务软件系统平台的示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明.
本发明分析了微服务软件系统的特点,以及微服务软件系统多层次自适应的特殊要求。为了满足这些需求,应对微服务软件系统的动态性、不确定的特征,以及微服务软件系统管理过程中自动、灵活和适应性的需求,提出了一种基于微服务软件系统的多层次自适应模型。该模型由三部分组成:自适应需求、微服务系统、平台,模型能够支持对微服务及其自适应的管理,使得微服务软件系统以一种统一、有序的方式组织,同时能够针对用户的需求及其变化自适应的向用户提供服务。同时,提出了该模型的管理核心思想——自适应思想,该思想主要是利用自适应的方法使得微服务软件系统的多层次管理更加的高效,能够更好的应对微服务管理过程中的内在和外在变化。
如图1所示,本发明的一种基于微服务的多层次自适应方法,其步骤包括:
S101:建立基于微服务软件系统的多层次自适应模型,用来描述自适应微服务软件系统的不同元素及其相互关系;
S102:建立基于自适应微服务系统的抽象模型,用来在不同层次上实现自适应的操作原语,并对其操作语义进行了形式化定义;
S103:建立基于自适应模型和原语,即通过一种微服务自适应描述语言 MSDL在多个层次上实现自适应逻辑,对自适应策略进行刻画,提高自适应微服务软件系统的开发效率;
S104:为了实现微服务软件系统的自适应过程,实现了一个自适应微服务软件系统平台,为微服务软件系统提供自适应支持。
在具体应用实例中,上述步骤S102中,基于微服务软件系统的多层次自适应模型抽象了自适应微服务软件系统的基本要素及其相互关系。建立该模型的目的是确定模型层次上的自适应对象,即自适应机制的操作对象,为定义自适应机制奠定基础;同时,为自适应微服务软件系统的维护人员提供了高层次的抽象和借鉴。
如图2所示,该模型由三部分组成,包括需求层、微服务系统和基础设施层,描述了微服务和微服务实例及其关系,并且给出了自适应微服务软件系统模型的形式化描述;图中的MS是微服务的缩写,图形中的MSI是微服务实例的缩写。其中:
需求层(Requirement Layer)包含自适应需求(Self-Adaptation Requirements),这些需求是自适应的一系列相关问题,它们通常与微服务软件系统的质量属性有关;自适应需求表达了软件运行过程中需要面对的不确定性;
微服务系统(Microservice System),由服务层和实例层组成,可变点(VariationPoint)是一个可以改变软件系统结构或行为的位置;服务层(Service Layer)由微服务组成,微服务相互作用,构成微服务系统;微服务在用户需求改变时可能需要更改,而此更改会影响其微服务实例;实例层(Instance Layer)由两部分组成,微服务实例是微服务的运行实体,一个微服务可以有多个实例;微服务实例也是一种可变点,当环境发生变化时,它可能需要改变;容器(Container)是微服务实例的运行环境,操作容器等同于控制微服务实例。
基础设施层(Infrastructure Layer)包含平台(Platform),为微服务系统提供了管理功能;微服务软件系统中的微服务规模巨大,人工管理难度大且易出错;为了应对这种挑战,需要开发一些特定的平台来进行管理。
为了更简洁地描述自适应微服务软件系统模型,提出了以下描述和定义:
定义 1: 微服务软件系统模型由两部分组成,表示为M = <MS, MSI>;MS = {ms1,ms2, …, msn}是一组微服务的有限集合;MSI = {msi1, msi2, …, msin}是一组微服务实例的有限集合;
在具体应用实例中,上述步骤S102中,微服务软件系统自适应原语抽象了自适应微服务软件系统模型可变点的基本控制操作;自适应原语是基本的原子自适应操作,用于添加、删除或更新可变点,自适应原语可以组合成复合自适应操作,以实现微服务软件系统的重构或调整;本发明提出的自适应原语是在自适应微服务软件系统中调整微服务或微服务实例的一系列操作;这些操作必须连续执行,不能中断。
本发明提出的自适应原语包括:appendService、removeService、updateServiceVersion、duplicateInstance、deleteInstance (如图3所示);其中,appendService、removeService 和 updateServiceVersion 作用在自适应微服务软件系统模型的服务层,duplicateInstance 和 deleteInstance 作用在自适应微服务软件系统模型的实例层。
自适应微服务软件系统模型的平台提供了一些基本的自适应能力,例如,重新启动损坏的节点,主要关注的是系统层的自适应;本发明提出的自适应原语同时关注服务层和实例层,可用于满足微服务软件系统的特殊要求。
在服务层中,提供添加、删除和更新操作来控制微服务;当需求发生变化时,例如,需要更新微服务来添加新功能,可以使用 updateServiceVersion原语或使用appendService和removeService原语来满足需求;在实例层中,提供了用于控制微服务实例的添加和删除操作;当需要提高效率时,例如,系统的平均响应时间高于预期值,我们可以使用 duplicateInstance 原语添加新实例以减少平均响应时间。
为了更直观地描述如何获得自适应原语执行的总体结果,本发明提出了下列定义;在微服务软件系统中有两种实体:微服务和微服务实例;操作语义的格局是指包含代码和语义成分的元组;在这里,本发明通过指定这些实体的格局在自适应过程中的变化来定义自适应原语的操作语义。
定义 2:微服务的格局由其标识符和版本组成,表示为m = <ms, v>;ms是微服务m的标识符,v是微服务m的当前版本。
定义 3:微服务实例的格局由其标识符和版本组成,表示为i = <msi, v>;msi是微服务实例i的标识符,v是微服务实例i的当前版本。
一般情况下,微服务实例i的版本通常与微服务m的版本保持一致;但当微服务m处于运行中时,可能不止拥有一种版本微服务实例;指定msiiN是属于微服务msi的微服务实例集。
定义 4:微服务ms1与微服务ms2共享相同的服务名称,表示为 <ms1, v> = <ms2,v>。
定义 5:微服务实例msi1和msi2属于相同的微服务,表示为 <msi1, v> ≌ <msi2, v>。
操作语义序列是一对格局,它是被派生或被证明的;转换规则是动态语义,描述如何从其他序列派生出序列;转换规则左侧的标签表示自适应原语;转换规则中的标签表示在转换过程中执行的行为,这些行为可以由微服务和微服务实例执行;在两种类型的格局上操作的转换是由两种不同类型的转换系统定义的,即,微服务转换表示为→ms和微服务实例转换表示为→msi。
如图4描述了自适应原语的部分转换规则;操作微服务有四条规则,appendService规则描述通过执行添加行为来添加微服务ms2;removeService规则描述通过执行删除行为来删除微服务ms1;updateServiceVersion0规则描述更新现有微服务ms1到版本v’通过执行替换行为;updateServiceVersion1规则通过添加新的微服务ms2和删除旧的微服务ms1来描述更新;对于微服务的更新,最后两个规则描述了两种不同的更新方法。
策略描述语言具有较强的表达能力,可以在计算空间中有效地表达和实现策略;而语言具有高度的关注点分离能力,可以大大简化策略的描述,提高开发效率;本发明将自适应场景抽象为策略,将自适应策略分为三部分,事件、条件和行为;自适应的具体体现可以描述为: 当特定事件发生时,如果满足一定的条件,则执行指定的行为。
为应对微服务软件系统自适应的特点,本发明提出的策略描述语言MSDL提出了一些特殊的解决方案:
1) 将微服务软件系统自适应过程中的事件抽象为多层次的事件;在服务层中,当微服务需要更新时,它会生成一个事件,例如按下一个按钮,然后由自适应逻辑来监控这个事件;在实例层中,当需要添加一个实例 (例如当微服务的平均响应时间太高时),它将生成一个平均响应时间事件并触发自适应策略。
2) 将需要满足的条件抽象为多层次的条件;在服务层中,需要一些属性来有效且正确地实现自适应,例如微服务实例数必须大于0;在实例层中,某些属性用于决定是否执行自适应策略,例如微服务实例的CPU使用率。
3) 实际执行的操作被抽象为多层次的操作;在服务层中,需要提供一些操作来控制微服务,例如在需要更新时更新微服务;在实例层中,它还需要提供一些操作来控制微服务实例,例如添加或删除实例。
事件部分主要是接收监控数据;为了直观地描述自适应场景中的事件,并简化自适应策略的描述,根据应用需求、用户体验和成本控制提出了几种类型的事件;按照微服务软件系统的多层次划分事件,此处定义的事件类型是通用的,不同的软件系统可以根据应用需求自定义基于公共事件类型的事件;根据各系统的特点,可以提高事件的可重用性,更好地实现自适应;条件通常是一个布尔表达式,主要判断属性值是否符合预定义的值;不同的条件需要有相应的属性值作为判断的前提,根据需求提出了几种类型的属性;按照微服务软件系统的多层次划分属性,此处定义的属性类型也是通用类型,软件系统可以根据应用需求定义特定的属性值,从而更好地反映每个系统的独特约束,使得自适应更加有效;自适应操作,最终需要在特定条件下执行,此处的操作主要是指自适应原语,此外用户还可以执行某些特定的平台操作。
为了简化 MSDL 的设计并关注自适应的核心特性,基本的控制语句 (如条件语句、循环语句等)、基本数据结构 (如整数、布尔值等)、编程和运行实体的命名规范,所有这些都使用 Java 相关的语法和语义;基于 EBNF 范式描述了 MSDL 的语法结构;基于语言符号和 EBNF 符号,MSDL 语言的主要语法结构在图5中得到了说明。
Strategy_Body 的形式由四部分组成,包括strategy_name、Event_Body、Condition_Body和Action_Body;Event_Body 包含关键字和事件类型;如果有两个以上的事件类型,可以用逻辑运算符来连接它们;Condition_Body 包括可选引用变量名、关键字和条件;如果有两个以上的条件,可以用逻辑运算符来连接它们;如果需要更多引用变量名,可以用逻辑运算符来连接;条件是一个布尔表达式,包含属性类型、比较运算符和变量;Action_Body 包括一个或多个动作;操作分为平台特定行为和自适应原语,可以通过传递指定的参数直接在自适应策略中调用。
本发明提出的自适应方法中自适应逻辑的实现模型是IBM提出的 MAPE 模型,对MAPE 循环的每个阶段都实现了相应的工具;为了实现微服务软件系统的自适应过程,利用这些工具,在自适应微服务软件系统模型的基础上,扩展了Kubernetes开发了一个平台AdaptiveK8s (如图6所示)。
AdaptiveK8s 主要由七部分组成,为微服务系统提供自适应支持,包括应用开发、MSDL、翻译工具、数据仓库、自适应基础设施和 Kubernetes 基础设施;为了演示它们如何减少自适应微服务系统工程中的工作量,这里描述AdaptiveK8s 的设计和工程化过程,侧重于定制点以及 AdaptiveK8s 如何定制。
AdaptiveK8s 允许工程师们专注于自适应层次,通过丰富自适应的设计过程和抽象自适应的概念,如策略、事件、条件和行为;由 AdaptiveK8s 的这些概念和组件,开发了一个迭代过程来设计一个微服务软件系统实现自适应;该过程的目的是产生一个自适应的微服务软件系统;这一过程的组成部分是一个自适应工程师团队,他们执行各种自适应工程角色:自适应集成人员、系统适配器编写人员、翻译人员、策略编写人员、事件编写人员、条件编写人员和行为编写人员;该过程主要集中在收集必要的工件来自定义AdaptiveK8s,它分为以下五个步骤:
第一步,自适应集成人员询问微服务软件系统所有者的自适应目标,以指导微服务系统自适应 (例如,及时响应,低成本);然后,自适应集成人员将根据这些需求完成自适应框架的定制。
第二步,根据目标微服务软件系统的程序语言和平台,翻译人员实现自适应策略描述语言的相应解释器和加载器,这些工具负责将自适应策略翻译为指定的语言。
第三步,根据质量目标,系统适配器编写人员识别要监视的相关系统属性和可执行操作;根据这些需求,自适应集成人员会将约束添加到目标微服务软件系统以自适应实现这些目标。
第四步,在目标系统的管理员以及策略、事件、条件和行为编写人员的帮助下,开发策略、事件、条件和原语,这些部分模拟系统管理员如何对系统进行自适应。
第五步,自适应集成人员通过 AdaptiveK8s 将这些部分集成,并测试整体自适应效果;集成测试是自适应工程的关键一步,这一过程的一个非常重要的特点是,自适应功能的增量开发和集成,允许迭代实现整个系统的自适应能力;第一次开发解释器、加载器、事件、条件、原语等需要前期成本;但是,这些组件是可重用的工件,因此,建设一个组件库将为未来的项目分摊成本,减少后续自适应工程的工作;此外,可以在具有类似关注点的微服务软件系统中重用这些策略。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围;应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (7)

1.一种基于微服务的多层次自适应方法,其特征在于,包括:
S101:建立基于微服务软件系统的多层次自适应模型,用来描述自适应微服务软件系统的不同元素及其相互关系;
S102:建立基于自适应微服务系统的抽象模型,用来在不同层次上实现自适应的操作原语,并对其操作语义进行了形式化定义;
S103:建立基于自适应模型和自适应原语,即通过一种微服务自适应描述语言 MSDL在多个层次上实现自适应逻辑,对自适应策略进行刻画。
2.根据权利要求1所述的基于微服务的多层次自适应方法,其特征在于,所述自适应微服务软件系统的抽象模型包括:
需求层,包含自适应需求;所述自适应需求与微服务软件系统的质量属性有关,所述自适应需求表达了软件运行过程中需要面对的不确定性;
微服务系统,包括服务层和实例层;所述服务层由微服务组成,微服务相互作用,构成微服务系统;所述实例层由两部分组成,微服务实例是微服务的运行实体;
基础设施层包含平台,为微服务系统提供了管理功能。
3.根据权利要求1所述的基于微服务的多层次自适应方法,其特征在于,所述自适应原语抽象了自适应微服务软件系统模型可变点的基本控制操作;所述自适应原语是基本的原子自适应操作,用于添加、删除或更新可变点,自适应原语组合成复合自适应操作,用以实现微服务软件系统的重构或调整。
4.根据权利要求3所述的基于微服务的多层次自适应方法,其特征在于,所述自适应原语包括:appendService、removeService、updateServiceVersion、duplicateInstance、deleteInstance;其中,appendService、removeService 和 updateServiceVersion 作用在自适应微服务软件系统模型的服务层,duplicateInstance 和 deleteInstance 作用在自适应微服务软件系统模型的实例层。
5.根据权利要求1所述的基于微服务的多层次自适应方法,其特征在于,所述自适应策略的策略分为三部分,事件、条件和行为,为应对微服务软件系统自适应的特点,提出的策略描述语言在每个部分实现多层次的特性。
6.根据权利要求1-5中任意一项所述的基于微服务的多层次自适应方法,其特征在于,还包括S104:建立自适应微服务软件系统平台,为微服务软件系统提供自适应支持。
7.根据权利要求6所述的基于微服务的多层次自适应方法,其特征在于,所述自适应微服务软件系统平台包括:
应用开发部分,在应用程序开发阶段,开发人员完成开发并将微服务打包成微服务镜像,存储在镜像仓库中;设计人员根据用户需求提出自适应需求,用于指导自适应策略的编写;
自适应描述语言部分,使用自适应处理描述语言MSDL编写自适应策略,策略用于实现自适应逻辑,在运行之前将它们转换为可执行语言;
翻译工具,通过翻译工具用户制定一些预定义的策略,使系统具有自适应能力;如果有新的策略,动态地将其加载到系统中,自动识别并运行;
数据仓库,镜像仓库用于存储微服务系统的微服务镜像,策略仓库用于存储由翻译工具翻译生成的自适应策略;
自适应基础设施,翻译工具生成的结果用于帮助自适应基础设施完成自适应逻辑和控制,自适应调整的对象是微服务软件系统的微服务及其实例;
Kubernetes基础设施,对应于自适应微服务软件系统模型的平台;自适应基础设施与Kubernetes基础设施通信,以MAPE循环的形式实现自适应。
CN201811494145.6A 2018-12-07 2018-12-07 一种基于微服务的多层次自适应方法 Active CN109669671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811494145.6A CN109669671B (zh) 2018-12-07 2018-12-07 一种基于微服务的多层次自适应方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811494145.6A CN109669671B (zh) 2018-12-07 2018-12-07 一种基于微服务的多层次自适应方法

Publications (2)

Publication Number Publication Date
CN109669671A true CN109669671A (zh) 2019-04-23
CN109669671B CN109669671B (zh) 2022-05-17

Family

ID=66144796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811494145.6A Active CN109669671B (zh) 2018-12-07 2018-12-07 一种基于微服务的多层次自适应方法

Country Status (1)

Country Link
CN (1) CN109669671B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111107163A (zh) * 2019-12-31 2020-05-05 哈尔滨工业大学 一种面向用户需求变化的微服务自适应方法及系统
CN113626124A (zh) * 2021-08-16 2021-11-09 南京赛宁信息技术有限公司 一种用于iFrame微前端架构的组件状态共享方法与装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100299437A1 (en) * 2009-05-22 2010-11-25 Comcast Interactive Media, Llc Web Service System and Method
CN103400013A (zh) * 2013-08-14 2013-11-20 中国人民解放军国防科学技术大学 一种可重用的仿真模型及其开发和使用方法
CN107770243A (zh) * 2017-09-06 2018-03-06 北京奥鹏远程教育中心有限公司 自扩展、自适应微服务平台及其应用方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100299437A1 (en) * 2009-05-22 2010-11-25 Comcast Interactive Media, Llc Web Service System and Method
CN103400013A (zh) * 2013-08-14 2013-11-20 中国人民解放军国防科学技术大学 一种可重用的仿真模型及其开发和使用方法
CN107770243A (zh) * 2017-09-06 2018-03-06 北京奥鹏远程教育中心有限公司 自扩展、自适应微服务平台及其应用方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
林珂珉: "Web应用服务器多层次可重配体系结构", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
陈飞: "网络架构演进下的高性能流量管理研究", 《中国博士学位论文全文数据库 电子期刊》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111107163A (zh) * 2019-12-31 2020-05-05 哈尔滨工业大学 一种面向用户需求变化的微服务自适应方法及系统
CN111107163B (zh) * 2019-12-31 2022-04-08 哈尔滨工业大学 一种面向用户需求变化的微服务自适应方法及系统
CN113626124A (zh) * 2021-08-16 2021-11-09 南京赛宁信息技术有限公司 一种用于iFrame微前端架构的组件状态共享方法与装置
CN113626124B (zh) * 2021-08-16 2024-03-08 南京赛宁信息技术有限公司 一种用于iFrame微前端架构的组件状态共享方法与装置

Also Published As

Publication number Publication date
CN109669671B (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
Omicini Towards a notion of agent coordination context
Lee et al. Ontology-based active requirements engineering framework
TWI713846B (zh) 領域模組運算單元,含有一企業之一模型之系統,單板運算單元,運算單元之網格,提供傳播可追溯性之方法,及非暫時性電腦程式產品
US7617230B2 (en) Finding similarity among sets of coordinated tasks
US20090144703A1 (en) Method and system for versioning a software system
CN111818128B (zh) 基于容器云的组件化仿真模型运行控制系统、方法及介质
Hamadi et al. Recovery nets: Towards self-adaptive workflow systems
Portocarrero et al. Samson: Self-adaptive middleware for wireless sensor networks
CN109669671A (zh) 一种基于微服务的多层次自适应方法
de Lara et al. Domain-specific discrete event modelling and simulation using graph transformation
Howe et al. Containing agents: Contexts, projections, and agents
Dignum A landscape of agent systems in the real world
Dam et al. An agent-oriented approach to change propagation in software evolution
Mousavi et al. Ontology-driven coordination model for multiagent-based mobile workforce brokering systems
Colman et al. Coordination systems in role-based adaptive software
EP2643948A1 (en) Network element configuration management
CN116482978A (zh) 面向云原生集群智能运维的自适应控制方法及装置
Fryz et al. Assurance of system consistency during independent creation of UML diagrams
Rajabi et al. Modeling and analysis of change management in dynamic business process
Ananieva et al. Model-driven consistency preservation in automationml
Huiskamp et al. Federated simulations
Saadi et al. An approach for managing the dynamic reconfiguration of software architectures
Mantz et al. Graph transformation concepts for meta-model evolution guaranteeing permanent type conformance throughout model migration
Colman et al. Operational management contracts for adaptive software organisation
Hu et al. Multi-agent system based autonomic computing 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
GR01 Patent grant
GR01 Patent grant