CN117648123B - 一种微服务快速集成方法、系统、设备及存储介质 - Google Patents

一种微服务快速集成方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN117648123B
CN117648123B CN202410122518.6A CN202410122518A CN117648123B CN 117648123 B CN117648123 B CN 117648123B CN 202410122518 A CN202410122518 A CN 202410122518A CN 117648123 B CN117648123 B CN 117648123B
Authority
CN
China
Prior art keywords
micro
service
intelligent agent
action space
agent
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
Application number
CN202410122518.6A
Other languages
English (en)
Other versions
CN117648123A (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 CN202410122518.6A priority Critical patent/CN117648123B/zh
Publication of CN117648123A publication Critical patent/CN117648123A/zh
Application granted granted Critical
Publication of CN117648123B publication Critical patent/CN117648123B/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/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及一种微服务快速集成方法、系统、设备及存储介质,其方法包括:通过预设的服务映射表和服务管理接口进行微服务的增加、修改和删除,得到确定的微服务集;将微服务集所处的每一个网络节点定义为一个智能体;迭代调整智能体的动作空间并执行流量模拟,通过智能体的动作空间的系统奖励函数计算得到每次调整智能体的动作空间的函数值;将函数值存储到智能体对应的经验缓存池,并通过经验缓存池训练对应的预设的神经网络;根据神经网络的收敛情况或者训练次数,判断是否停止调整智能体的动作空间,得到智能体的动作决策。本发明能够快速完成微服务的调整,并根据依赖关系加快集成速度,同时基于多智能体实现了微服务的快速和高质量地配置。

Description

一种微服务快速集成方法、系统、设备及存储介质
技术领域
本申请实施例涉及微服务集成技术领域,尤其涉及一种微服务快速集成方法、系统、设备及存储介质。
背景技术
随着软件系统规模的不断扩大和复杂度的提高,各类子系统及功能模块分别建设、种类繁多、研制进度不一等问题日益凸显。传统的单体架构系统设计模式在开发期,扩展性差,代码耦合性较高,修改系统的任何部分都可能会影响整个系统的功能和性能;而在运行期,由于各个业务功能难以隔离,单个业务功能出现逻辑异常或者内存溢出,就可能造成整个系统的崩溃。另外,对于单体架构系统,新业务功能的加入或升级都需要重新启动整个系统。因此,为了便于系统的增量式开发,微服务架构、Service Mesh等技术得到了广泛的研究和使用。
微服务架构是一种面向服务的软件架构,它将一个大型应用程序拆分成一组更小的、自治的服务,这些服务可以独立部署、扩展、维护和更新。而Service Mesh是一种为微服务架构提供网络通信基础设施的技术,它提供了一种在微服务之间进行通信、监视和控制的机制,使得微服务之间的通信更加可靠、安全、高效和可观测,目前市面上比较流行的Service Mesh有Istio、Linkerd、Consul等。尽管这些技术已经得到了广泛的应用与发展,但在增量式系统的开发和快速集成中,仍然面临一些挑战,例如:微服务架构中服务的拆分、基础接口的定义仍然需要开发人员手工实现,这一过程繁琐复杂,增加了开发难度。此外,繁多的接口和服务缺乏有效的方式展示,增加了新服务开发时开发人员的对接难度。微服务集成进入Service Mesh管理时,需要提供较为复杂的配置文件。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本公开实施例的主要目的在于提出一种微服务快速集成方法、系统、设备及存储介质,能够快速完成微服务的增加、修改和删除,并且根据依赖关系加快集成速度,同时基于多智能体实现了微服务的快速和高效地配置。
为实现上述目的,本公开实施例的第一方面提出了一种微服务快速集成方法,包括:
构建服务管理接口;
通过预设的服务映射表和所述服务管理接口进行微服务的增加、修改和删除,得到确定的微服务集;
将所述微服务集所处的每一个网络节点及其连接的所述微服务定义为一个智能体;
迭代调整所述智能体的动作空间并执行流量模拟,通过所述智能体的动作空间的系统奖励函数计算得到每次调整所述智能体的动作空间的函数值;将所述函数值存储到所述智能体对应的经验缓存池,并通过所述经验缓存池训练对应的预设的神经网络;
根据所述神经网络的收敛情况或者训练次数,判断是否停止调整所述智能体的动作空间,得到所述智能体的动作决策。
在一些实施例中,所述构建服务管理接口,包括:
通过接口定义所述微服务的增加、修改和删除操作;
通过所述接口记录所述微服务的增加、修改和删除操作的操作者和操作信息。
在一些实施例中,所述通过预设的服务映射表和所述服务管理接口进行微服务的增加、修改和删除,包括:
根据功能描述自动获取所述功能描述对应的所述微服务,进行所述微服务的增加、修改或者删除;
当接收到所述微服务的删除命令,根据所述服务映射表检查所述微服务的依赖关系,若不存在所述微服务的依赖关系则进行所述微服务的删除。
在一些实施例中,所述迭代调整所述智能体的动作空间并执行流量模拟,包括:
定义所述智能体的动作空间的上限和所述微服务的特征向量;所述动作空间的上限包括cpu核心数、内存数、网络上行带宽和网络下行带宽;所述微服务的特征向量由多维度的数字表示,其中,所述多维度表示所述微服务的配置名称,所述数字表示所述微服务的配置参数;
调整所述智能体对应的所述微服务的特征向量,并对应进行所述智能体的动作空间调整;
根据所述智能体的上限对应的比例分发模拟请求,对每个所述智能体进行流量模拟并记录单位时间内系统响应性能。
在一些实施例中,所述调整所述智能体对应的所述微服务的特征向量,并对应进行所述智能体的动作空间调整,包括:
通过步长为1的调整动作调整所述微服务的特征向量;
将所述微服务的所述调整动作通过对应所述智能体的动作空间进行存储。
在一些实施例中,所述通过所述智能体的动作空间的系统奖励函数计算得到每次调整所述智能体的动作空间的函数值,包括:
若所述智能体的动作空间存在所述微服务没有所述调整动作或者所述调整动作超过所述智能体的上限,通过所述系统奖励函数给予系统最大惩罚值;否则根据所述单位时间内系统响应性能和所述系统奖励函数计算得到所述函数值。
在一些实施例中,所述系统奖励函数的计算公式包括:
其中,表示系统的吞吐量,即系统在单位时间内完成的请求与答复数量,/>表示系统的延迟,/>表示系统的错误率,/>分别表示吞吐量、延迟、错误率在奖励函数中所占的比重超参数。
为实现上述目的,本公开实施例的第二方面提出了一种微服务快速集成系统,包括:
接口构建模块,用于构建服务管理接口;
微服务调整模块,用于通过预设的服务映射表和所述服务管理接口进行微服务的增加、修改和删除,得到确定的微服务集;
智能体构建模块,用于将所述微服务集所处的每一个网络节点及其连接的所述微服务定义为一个智能体;
神经网络迭代训练模块,用于迭代调整所述智能体的动作空间并执行流量模拟,通过所述智能体的动作空间的系统奖励函数计算得到每次调整所述智能体的动作空间的函数值;将所述函数值存储到所述智能体对应的经验缓存池,并通过所述经验缓存池训练对应的预设的神经网络;
动作决策确认模块,用于根据所述神经网络的收敛情况或者训练次数,判断是否停止调整所述智能体的动作空间,得到所述智能体的动作决策。
为实现上述目的,本公开实施例的第三方面提出了一种电子设备,包括至少一个存储器;
至少一个处理器;
至少一个计算机程序;
所述计算机程序被存储在所述存储器中,处理器执行所述至少一个计算机程序以实现:
如第一方面实施例任一项所述的微服务快速集成方法。
为实现上述目的,本公开实施例的第四方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
如第一方面实施例任一项所述的微服务快速集成方法。
本申请实施例第一方面提供了一种微服务快速集成方法,本方法首先通过预设的服务映射表和服务管理接口进行高效的微服务的增加、修改和删除,并通过服务映射表能将接口的依赖关系进行很好地梳理,便于后续开发者发现和使用,提高微服务开发效率;然后通过将网络节点定义成智能体,并迭代调整智能体的动作空间并执行流量模拟来计算对应的系统奖励函数的函数值,通过系统奖励函数的函数值实现了对智能体的动作空间的奖惩,保障了智能体对应的微服务配置的合理性,使微服务配置的质量得到提高,同时通过将函数值存储到智能体对应的经验缓存池,并通过经验缓存池训练对应的预设的神经网络,提高了微服务配置的高效性,对于相近的场景的微服务配置也能够通过经验缓存池进行高效训练,提高微服务配置的速率。
可以理解的是,上述第二方面至第四方面与相关技术相比存在的有益效果与上述第一方面与相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的一种微服务快速集成方法的流程示意图;
图2是本申请一个实施例提供的构建服务管理接口的流程示意图;
图3是本申请一个实施例提供的通过预设的服务映射表和服务管理接口进行微服务的增加、修改和删除的流程示意图;
图4是本申请一个实施例提供的迭代调整智能体的动作空间并执行流量模拟的流程示意图;
图5是本申请一个实施例提供的调整智能体对应的微服务的特征向量并对应进行智能体的动作空间调整的流程示意图;
图6是本申请一个实施例提供的一种微服务快速集成方法的具体实施例的模块示意图;
图7是本申请一个实施例提供的服务映射表的示意图;
图8是本申请一个实施例提供的服务映射表实现的示意图;
图9是本申请一个实施例提供的智能体训练的示意图;
图10是本申请一个实施例提供的一种微服务快速集成系统的结构示意图;
图11是本申请一个实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
参照图1,图1是本申请一个实施例提供的一种微服务快速集成方法,本微服务快速集成方法包括步骤S100、步骤S200、步骤S300、步骤S400和步骤S500,应理解,本申请实施例的微服务快速集成方法包括但不限于步骤S100至步骤S500,下面结合图1对这四个步骤进行详细介绍。
步骤S100、构建服务管理接口。
步骤S200、通过预设的服务映射表和服务管理接口进行微服务的增加、修改和删除,得到确定的微服务集。
步骤S300、将微服务集所处的每一个网络节点及其连接的微服务定义为一个智能体。
步骤S400、迭代调整智能体的动作空间并执行流量模拟,通过智能体的动作空间的系统奖励函数计算得到每次调整智能体的动作空间的函数值;将函数值存储到智能体对应的经验缓存池,并通过经验缓存池训练对应的预设的神经网络。
步骤S500、根据神经网络的收敛情况或者训练次数,判断是否停止调整智能体的动作空间,得到智能体的动作决策。
本实施例提供的方法具有以下有益效果:
本实施首先通过预设的服务映射表和服务管理接口进行高效的微服务的增加、修改和删除,并通过服务映射表能将接口的依赖关系进行很好地梳理,便于后续开发者发现和使用,提高微服务开发效率;然后通过将网络节点定义成智能体,并迭代调整智能体的动作空间并执行流量模拟来计算对应的系统奖励函数的函数值,通过系统奖励函数的函数值实现了对智能体的动作空间的奖惩,保障了智能体对应的微服务配置的合理性,使微服务配置的质量得到提高,同时通过将函数值存储到智能体对应的经验缓存池,并通过经验缓存池训练对应的预设的神经网络,提高了微服务配置的高效性,对于相近的场景的微服务配置也能够通过经验缓存池进行高效训练,提高微服务配置的速率。
参照图2,在一些实施例中,构建服务管理接口,包括:
步骤S101、通过接口定义微服务的增加、修改和删除操作。
步骤S102、通过接口记录微服务的增加、修改和删除操作的操作者和操作信息。
通过接口定义微服务的增加、修改和删除操作,能够快速对微服务做出调整,提高微服务集成效率;记录微服务的操作者和操作信息,能够防止一些恶意攻击带来的损失,以便还原之前版本的微服务设置。
参照图3,在一些实施例中,通过预设的服务映射表和服务管理接口进行微服务的增加、修改和删除,包括:
步骤S201、根据功能描述自动获取功能描述对应的微服务,进行微服务的增加、修改或者删除。
优选的是,提供服务的功能描述,系统会通过正则表达式自动获取提交的新服务中暴露的所有REST协议格式的接口,包括标准的http方法:/get、/post、 /put以及/delete,将接口存入辅助系统数据库用于显示。同样对于flask后台的应用,接口路由是通过@app.route(‘url’, methods=[“POST”, “GET”])格式的装饰器修饰的,对应的正则表达式可以为:\B@\w+\.route\([\' \"][\w\\.-]+[\' \"](\)|,\s+methods=\[[\' \"\w\s,]+\]\))。
步骤S202、当接收到微服务的删除命令,根据服务映射表检查微服务的依赖关系,若不存在微服务的依赖关系则进行微服务的删除。
需要说明的是,系统会通过sql语句遍历上述数据库中的其他服务,检查是否存在待删除服务提供的接口,同样也能够根据依赖关系将请求接收多于请求发送的服务,被标记为“拟核心服务”高亮显示,表示该服务可能包含很多常用的基础接口,便于后续开发者发现和使用,提高开发速度。
微服务可能包含很多常用的基础接口,便于后续开发者发现和使用,提高开发速度,同时也可能存在较多的依赖关系,需要根据依赖关系进行微服务的调整,防止出现存在依赖的微服务调整时导致系统出错。
参照图4,在一些实施例中,迭代调整智能体的动作空间并执行流量模拟,包括:
步骤S410、定义智能体的动作空间的上限和微服务的特征向量;动作空间的上限包括cpu核心数、内存数、网络上行带宽和网络下行带宽;微服务的特征向量由多维度的数字表示,其中,多维度表示微服务的配置名称,数字表示微服务的配置参数。
步骤S420、调整智能体对应的微服务的特征向量,并对应进行智能体的动作空间调整。
步骤S430、根据智能体的上限对应的比例分发模拟请求,对每个智能体进行流量模拟并记录单位时间内系统响应性能。
需要说明的是,智能体,定义为网络中的一台设备/节点,设公司共有N台服务器,则环境中的智能体有N个:。每个智能体中有M个微服务。每个智能体都有如下配置:cpu核心数、内存数、网络上行带宽、网络下行带宽,决定了智能体动作空间的上限。智能体中的微服务,每个服务具有一个特征向量/>,该特征向量存储着以数字表示的配置,例如特征向量有5维,分别表示配置信息中的http请求超时/>(单位是秒)、熔断器最大连接数/>、当前智能体占该服务负载均衡中的权重分布/>,容器的cpu最大核心数/>(单位是核)和最大内存数/>(单位是兆M),特征向量为非负值。
通过智能体的动作空间和微服务的特征向量进行微服务的配置模拟,通过低成本的方式对微服务进行高效模拟配置,能够对微服务的配置进行快速且直观的筛选,同时能够进行大量的微服务配置的模拟,保证了鲁棒性。
参照图5,在一些实施例中,调整智能体对应的微服务的特征向量,并对应进行智能体的动作空间调整,包括:
步骤S421、通过步长为1的调整动作调整微服务的特征向量。
步骤S422、将微服务的调整动作通过对应智能体的动作空间进行存储。
需要说明的是,第i个智能体的动作空间为调整其中M个微服务的特征向量。记调整第1个微服务特征向量的动作为,每一轮决策调整的步长最大为1,即每一步可以选择对特征进行/>中的一种。智能体增加微服务的动作表现为第j个微服务的特征/>从0变为正数;删除一个微服务对应的动作表现为将该服务的特征/>设为0,因此增加和删除微服务的动作无需额外定义。综上,智能体/>的动作空间为
通过智能体的动作空间存储微服务的特征向量的调整,降低了计算复杂度,并优化了奖励函数的数值的迭代调整,加快收敛速度。多智能体可以实现微服务的自动聚合,聚合后的一组微服务部署在一个设备中,共享相同的网络环境和硬件资源上限,从而实现对奖励函数更好的预测,提高了算法精度。
在一些实施例中,通过智能体的动作空间的系统奖励函数计算得到每次调整智能体的动作空间的函数值,包括:
若智能体的动作空间存在微服务没有调整动作或者调整动作超过智能体的上限,通过系统奖励函数给予系统最大惩罚值;否则根据单位时间内系统响应性能和系统奖励函数计算得到函数值。
体根据奖励函数会进行调整,又得到新的特征向量,充分考虑到请求流量和服务间的依赖关系,提高了集成效率和质量,同时降低了系统维护成本。
在一些实施例中,系统奖励函数的计算公式包括:
其中,表示系统的吞吐量,即系统在单位时间内完成的请求与答复数量,/>表示系统的延迟,/>表示系统的错误率,/>分别表示吞吐量、延迟、错误率在奖励函数中所占的比重超参数。
为了便于本领域技术人员理解,以下提供一组具体的实施例:
参照图6至图9是本申请一个具体实施例提供的一种微服务快速集成方法,本微服务快速集成方法包括如下三步:
第一步、定义微服务管理接口负责微服务的增加、修改和删除,在操作时,操作人及操作信息会被系统记录。微服务增加或修改时,操作人需要提供微服务的功能描述,系统会通过正则表达式自动获取提交的新微服务中暴露的所有REST协议格式的接口,包括标准的http方法:/get、/post、 /put以及/delete,将接口存入辅助系统数据库用于显示。例如对于flask后台的应用,接口路由是通过@app.route(‘url’, methods=[“POST”, “GET”])格式的装饰器修饰的,对应的正则表达式可以为:\B@\w+\.route\([\' \"][\w\\.-]+[\'\"](\)|,\s+methods=\[[\' \"\w\s,]+\]\))。其余后端框架的接口获取正则表达式与此类似。
微服务删除时,系统会通过sql语句遍历上述数据库中的其他微服务,检查是否存在待删除微服务提供的接口,如果不存在则允许操作人删除,否则,拒绝删除并返回操作人存在接口依赖的微服务名称,重复微服务更新和删除过程,直到依赖解决。
第二步、定义微服务映射表,显示模块主要用来显示微服务之间的依赖关系。微服务映射表显示模块主要用来显示微服务之间的依赖关系,如果两个微服务存在至少一个接口对接关系,则这两个微服务之间存在依赖。请求接收多于请求发送的微服务,被标记为“拟核心微服务”高亮显示,表示该微服务可能包含很多常用的基础接口,便于后续开发者发现和使用,提高开发速度。
对于API微服务映射表,点击微服务映射表中的每个微服务,会具体显示这个微服务包含的所有接口路由url,所有接口按照/get、/post、/put以及 /delete四类分类显示。
第三步、快速设置微服务的配置。智能体,定义为网络中的一台设备/节点,设公司共有N台微服务器,则环境中的智能体有N个:。每个智能体中有M个微服务。每个智能体都有如下配置:cpu核心数、内存数、网络上行带宽、网络下行带宽,这决定了智能体动作空间的上限。
智能体中的微服务,每个服务具有一个特征向量,该特征向量存储着以数字表示的配置,例如特征向量有5维,分别表示配置信息中的http请求超时/>(单位是秒)、熔断器最大连接数/>、当前智能体占该服务负载均衡中的权重分布/>,容器的cpu最大核心数/>(单位是核)和最大内存数/>(单位是兆M),特征向量为非负值。
第i个智能体的动作空间为调整其中M个微服务的特征向量。记调整第1个微服务特征向量的动作为,每一轮决策调整的步长最大为1,即每一步可以选择对特征进行中的一种。智能体增加微服务的动作表现为第j个微服务的特征/>从0变为正数;删除一个微服务对应的动作表现为将该服务的特征/>设为0,因此增加和删除微服务的动作无需额外定义。综上,智能体/>的动作空间为/>
系统奖励函数设计如下:
当存在微服务没有被任意智能体部署时,给予系统最大惩罚即
当智能体决策后,智能体的状态不合法,即分配的总核心数和总内存数超过智能体上限,给予系统最大惩罚即
执行流量模拟,按设定的比例分发模拟请求,记录单位时间内系统的响应性能:其中/>为系统的吞吐量,即系统在单位时间内完成的请求与答复数量;/>为系统的延迟,/>为系统的错误率,系统奖励函数表示为/>,/>分别表示吞吐量、延迟、错误率在奖励函数中所占的比重超参数,超参数可根据实际情况适当调整。
将系统奖励函数以比例分发回各个智能体。
综上,系统奖励函数定义为:
多智能体强化学习算法的训练过程如下,每个智能体根据自身策略得到当前状态执行的动作,待所有智能体做出动作后,计算当前状态下系统的奖励函数V(s,t)。将系统的奖励函数按照预先定义的比例分发到每个智能体,每个智能体得到各自的奖励函数经验存入自身的经验缓存池,训练各自的神经网络。各个智能体根据动作后转移到的新状态做出新动作,重复上述迭代过程,直到算法收敛或超过最大动作次数。
当有新微服务增加时,为每个智能体增加一个特征的微服务;当现有微服务修改、删除时,修改多智能体中对应微服务的特征向量。然后开始多智能体强化学习算法迭代,所有智能体做出动作决策,依据反馈的奖励函数纠正动作。经过多轮迭代后,智能体中各个微服务的特征向量即为微服务对应的配置。算法会为每个微服务输出全局最优的参数配置方案,以实现最优的系统运行效率。
请参照图10,图10是本申请一些实施例提供的微服务快速集成系统的结构示意图。在一些实施例中,微服务快速集成系统包括接口构建模块1001、微服务调整模块1002、智能体构建模块1003、神经网络迭代训练模块1004和动作决策确认模块1005,其中:
接口构建模块1001,用于构建服务管理接口。
微服务调整模块1002,用于通过预设的服务映射表和服务管理接口进行微服务的增加、修改和删除,得到确定的微服务集。
智能体构建模块1003,用于将微服务集所处的每一个网络节点及其连接的微服务定义为一个智能体。
神经网络迭代训练模块1004,用于迭代调整智能体的动作空间并执行流量模拟,通过智能体的动作空间的系统奖励函数计算得到每次调整智能体的动作空间的函数值;将函数值存储到智能体对应的经验缓存池,并通过经验缓存池训练对应的预设的神经网络。
动作决策确认模块1005,用于根据神经网络的收敛情况或者训练次数,判断是否停止调整智能体的动作空间,得到智能体的动作决策。
需要说明的是,本申请实施例的微服务快速集成系统与前述的微服务快速集成方法是基于同一个发明构思,因此,本申请实施例的微服务快速集成系统与前述的微服务快速集成方法相对应,具体的实现过程请参照前述的微服务快速集成方法,在此不再赘述。
本申请实施例还提供了一种电子设备,本电子设备包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
程序被存储在存储器中,处理器执行至少一个程序以实现本公开实施上述的微服务快速集成方法。
该电子设备可以为包括手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、车载电脑等任意智能终端。
本申请实施例的电子设备,用于执行上述微服务快速集成方法,首先通过预设的服务映射表和服务管理接口进行高效的微服务的增加、修改和删除,并通过服务映射表能将接口的依赖关系进行很好地梳理,便于后续开发者发现和使用,提高微服务开发效率;然后通过将网络节点定义成智能体,并迭代调整智能体的动作空间并执行流量模拟来计算对应的系统奖励函数的函数值,通过系统奖励函数的函数值实现了对智能体的动作空间的奖惩,保障了智能体对应的微服务配置的合理性,使微服务配置的质量得到提高,同时通过将函数值存储到智能体对应的经验缓存池,并通过经验缓存池训练对应的预设的神经网络,提高了微服务配置的高效性,对于相近的场景的微服务配置也能够通过经验缓存池进行高效训练,提高微服务配置的速率。
下面结合图11对本申请实施例的电子设备进行详细介绍。
如图11示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1600,可以采用通用的中央处理器(Central Processing Unit,CPU)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案;
存储器1700,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器1700可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1700中,并由处理器1600来调用执行本公开实施例的微服务快速集成方法。
输入/输出接口1800,用于实现信息输入及输出;
通信接口1900,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线2000,在设备的各个组件(例如处理器1600、存储器1700、输入/输出接口1800和通信接口1900)之间传输信息;
其中处理器1600、存储器1700、输入/输出接口1800和通信接口1900通过总线2000实现彼此之间在设备内部的通信连接。
本公开实施例还提供了一种存储介质,该存储介质是计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述微服务快速集成方法。
本申请实施例的存储介质,用于执行上述微服务快速集成方法,首先通过预设的服务映射表和服务管理接口进行高效的微服务的增加、修改和删除,并通过服务映射表能将接口的依赖关系进行很好地梳理,便于后续开发者发现和使用,提高微服务开发效率;然后通过将网络节点定义成智能体,并迭代调整智能体的动作空间并执行流量模拟来计算对应的系统奖励函数的函数值,通过系统奖励函数的函数值实现了对智能体的动作空间的奖惩,保障了智能体对应的微服务配置的合理性,使微服务配置的质量得到提高,同时通过将函数值存储到智能体对应的经验缓存池,并通过经验缓存池训练对应的预设的神经网络,提高了微服务配置的高效性,对于相近的场景的微服务配置也能够通过经验缓存池进行高效训练,提高微服务配置的速率。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图5中示出的技术方案并不构成对本公开实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上是对本申请实施例的较佳实施进行了具体说明,但本申请实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请实施例精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请实施例权利要求所限定的范围内。

Claims (9)

1.一种微服务快速集成方法,其特征在于,包括:
构建服务管理接口;
通过预设的服务映射表和所述服务管理接口进行微服务的增加、修改和删除,得到确定的微服务集;
将所述微服务集所处的每一个网络节点及其连接的所述微服务定义为一个智能体;
迭代调整所述智能体的动作空间并执行流量模拟,通过所述智能体的动作空间的系统奖励函数计算得到每次调整所述智能体的动作空间的函数值;将所述函数值存储到所述智能体对应的经验缓存池,并通过所述经验缓存池训练对应的预设的神经网络;其中,每次调整所述智能体的动作空间并执行流量模拟,包括:定义所述智能体的动作空间的上限和所述微服务的特征向量;所述动作空间的上限包括cpu核心数、内存数、网络上行带宽和网络下行带宽;所述微服务的特征向量由多维度的数字表示,其中,所述多维度表示所述微服务的配置名称,所述数字表示所述微服务的配置参数;调整所述智能体对应的所述微服务的特征向量,并对应进行所述智能体的动作空间调整;根据所述智能体的上限对应的比例分发模拟请求,对每个所述智能体进行流量模拟并记录单位时间内系统响应性能;
根据所述神经网络的收敛情况或者训练次数,判断是否停止调整所述智能体的动作空间,得到所述智能体的动作决策。
2.根据权利要求1所述的微服务快速集成方法,其特征在于,所述构建服务管理接口,包括:
通过接口定义所述微服务的增加、修改和删除操作;
通过所述接口记录所述微服务的增加、修改和删除操作的操作者和操作信息。
3.根据权利要求2所述的微服务快速集成方法,其特征在于,所述通过预设的服务映射表和所述服务管理接口进行微服务的增加、修改和删除,包括:
根据功能描述自动获取所述功能描述对应的所述微服务,进行所述微服务的增加、修改或者删除;
当接收到所述微服务的删除命令,根据所述服务映射表检查所述微服务的依赖关系,若不存在所述微服务的依赖关系则进行所述微服务的删除。
4.根据权利要求3所述的微服务快速集成方法,其特征在于,所述调整所述智能体对应的所述微服务的特征向量,并对应进行所述智能体的动作空间调整,包括:
通过步长为1的调整动作调整所述微服务的特征向量;
将所述微服务的所述调整动作通过对应所述智能体的动作空间进行存储。
5.根据权利要求4所述的微服务快速集成方法,其特征在于,所述通过所述智能体的动作空间的系统奖励函数计算得到每次调整所述智能体的动作空间的函数值,包括:
若所述智能体的动作空间存在所述微服务没有所述调整动作或者所述调整动作超过所述智能体的上限,通过所述系统奖励函数给予系统最大惩罚值;否则根据所述单位时间内系统响应性能和所述系统奖励函数计算得到所述函数值。
6.根据权利要求1所述的微服务快速集成方法,其特征在于,所述系统奖励函数的计算公式包括:
其中,表示系统的吞吐量,即系统在单位时间内完成的请求与答复数量,/>表示系统的延迟,/>表示系统的错误率,/>分别表示吞吐量、延迟、错误率在奖励函数中所占的比重超参数。
7.一种微服务快速集成系统,其特征在于,包括:
接口构建模块,用于构建服务管理接口;
微服务调整模块,用于通过预设的服务映射表和所述服务管理接口进行微服务的增加、修改和删除,得到确定的微服务集;
智能体构建模块,用于将所述微服务集所处的每一个网络节点及其连接的所述微服务定义为一个智能体;
神经网络迭代训练模块,用于迭代调整所述智能体的动作空间并执行流量模拟,通过所述智能体的动作空间的系统奖励函数计算得到每次调整所述智能体的动作空间的函数值;将所述函数值存储到所述智能体对应的经验缓存池,并通过所述经验缓存池训练对应的预设的神经网络;其中,每次调整所述智能体的动作空间并执行流量模拟,包括:定义所述智能体的动作空间的上限和所述微服务的特征向量;所述动作空间的上限包括cpu核心数、内存数、网络上行带宽和网络下行带宽;所述微服务的特征向量由多维度的数字表示,其中,所述多维度表示所述微服务的配置名称,所述数字表示所述微服务的配置参数;调整所述智能体对应的所述微服务的特征向量,并对应进行所述智能体的动作空间调整;根据所述智能体的上限对应的比例分发模拟请求,对每个所述智能体进行流量模拟并记录单位时间内系统响应性能;
动作决策确认模块,用于根据所述神经网络的收敛情况或者训练次数,判断是否停止调整所述智能体的动作空间,得到所述智能体的动作决策。
8.一种电子设备,其特征在于,包括:
至少一个存储器;
至少一个处理器;
至少一个计算机程序;
所述计算机程序被存储在所述存储器中,处理器执行所述至少一个计算机程序以实现:如权利要求1至6任一项所述的微服务快速集成方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:如执行权利要求1至6任一项所述的微服务快速集成方法。
CN202410122518.6A 2024-01-30 2024-01-30 一种微服务快速集成方法、系统、设备及存储介质 Active CN117648123B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410122518.6A CN117648123B (zh) 2024-01-30 2024-01-30 一种微服务快速集成方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410122518.6A CN117648123B (zh) 2024-01-30 2024-01-30 一种微服务快速集成方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117648123A CN117648123A (zh) 2024-03-05
CN117648123B true CN117648123B (zh) 2024-06-11

Family

ID=90045514

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410122518.6A Active CN117648123B (zh) 2024-01-30 2024-01-30 一种微服务快速集成方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117648123B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118276924B (zh) * 2024-06-03 2024-08-20 湖南科技大学 强化学习下的基于引导矩阵的微服务拆分方法

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020000399A1 (zh) * 2018-06-29 2020-01-02 东莞理工学院 一种基于智能电网的多智能体深度强化学习代理方法
CN111008177A (zh) * 2019-12-03 2020-04-14 中国医学科学院医学信息研究所 微服务应用平台及其资源保存方法和保存装置
WO2020075017A1 (en) * 2018-10-12 2020-04-16 International Business Machines Corporation Auto tuner for cloud micro services embeddings
CN111740925A (zh) * 2020-05-29 2020-10-02 北京航空航天大学 一种基于深度强化学习的Coflow调度方法
CN112084721A (zh) * 2020-09-23 2020-12-15 浙江大学 一种多代理强化学习合作任务下的奖励函数建模方法
CN114003387A (zh) * 2021-11-04 2022-02-01 中国石油大学(华东) 一种基于强化学习的微服务负载均衡和弹性扩缩容方法
CN114726799A (zh) * 2022-04-28 2022-07-08 清华大学 拥塞控制智能体的训练方法、拥塞控制方法及装置
CN115037749A (zh) * 2022-06-08 2022-09-09 山东省计算中心(国家超级计算济南中心) 一种性能感知的大规模微服务智能多资源协同调度方法及系统
CN115983320A (zh) * 2022-12-22 2023-04-18 清华大学深圳国际研究生院 一种基于深度强化学习的联邦学习模型参数量化方法
CN116306324A (zh) * 2023-05-25 2023-06-23 安世亚太科技股份有限公司 一种基于多智能体的分布式资源调度方法
CN116582407A (zh) * 2023-04-11 2023-08-11 之江实验室 一种基于深度强化学习的容器化微服务编排系统及方法
CN116683513A (zh) * 2023-06-21 2023-09-01 上海交通大学 移动式微电网能量补充策略优化方法及系统
CN116915686A (zh) * 2023-09-08 2023-10-20 三峡高科信息技术有限责任公司 异构多边缘云协同微服务部署与路由联合优化方法及系统
CN116974584A (zh) * 2022-12-02 2023-10-31 腾讯科技(深圳)有限公司 模型部署方法、装置、设备及存储介质
CN117151158A (zh) * 2023-08-16 2023-12-01 中国人民解放军国防科技大学 参数化动作空间的多智能体决策方法、装置、计算机设备及介质
WO2024011376A1 (zh) * 2022-07-11 2024-01-18 北京小米移动软件有限公司 人工智能ai网络功能服务的任务调度方法及装置
CN117453419A (zh) * 2023-11-20 2024-01-26 北京航空航天大学 一种基于负载预测和强化学习的微服务管理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860390B2 (en) * 2017-06-28 2020-12-08 Intel Corporation Microservices architecture
US20230061813A1 (en) * 2021-08-30 2023-03-02 Jpmorgan Chase Bank, N.A. Systems and methods for programmable payments enabled by triggers based on mutual validation

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020000399A1 (zh) * 2018-06-29 2020-01-02 东莞理工学院 一种基于智能电网的多智能体深度强化学习代理方法
WO2020075017A1 (en) * 2018-10-12 2020-04-16 International Business Machines Corporation Auto tuner for cloud micro services embeddings
CN111008177A (zh) * 2019-12-03 2020-04-14 中国医学科学院医学信息研究所 微服务应用平台及其资源保存方法和保存装置
CN111740925A (zh) * 2020-05-29 2020-10-02 北京航空航天大学 一种基于深度强化学习的Coflow调度方法
CN112084721A (zh) * 2020-09-23 2020-12-15 浙江大学 一种多代理强化学习合作任务下的奖励函数建模方法
CN114003387A (zh) * 2021-11-04 2022-02-01 中国石油大学(华东) 一种基于强化学习的微服务负载均衡和弹性扩缩容方法
CN114726799A (zh) * 2022-04-28 2022-07-08 清华大学 拥塞控制智能体的训练方法、拥塞控制方法及装置
CN115037749A (zh) * 2022-06-08 2022-09-09 山东省计算中心(国家超级计算济南中心) 一种性能感知的大规模微服务智能多资源协同调度方法及系统
WO2024011376A1 (zh) * 2022-07-11 2024-01-18 北京小米移动软件有限公司 人工智能ai网络功能服务的任务调度方法及装置
CN116974584A (zh) * 2022-12-02 2023-10-31 腾讯科技(深圳)有限公司 模型部署方法、装置、设备及存储介质
CN115983320A (zh) * 2022-12-22 2023-04-18 清华大学深圳国际研究生院 一种基于深度强化学习的联邦学习模型参数量化方法
CN116582407A (zh) * 2023-04-11 2023-08-11 之江实验室 一种基于深度强化学习的容器化微服务编排系统及方法
CN116306324A (zh) * 2023-05-25 2023-06-23 安世亚太科技股份有限公司 一种基于多智能体的分布式资源调度方法
CN116683513A (zh) * 2023-06-21 2023-09-01 上海交通大学 移动式微电网能量补充策略优化方法及系统
CN117151158A (zh) * 2023-08-16 2023-12-01 中国人民解放军国防科技大学 参数化动作空间的多智能体决策方法、装置、计算机设备及介质
CN116915686A (zh) * 2023-09-08 2023-10-20 三峡高科信息技术有限责任公司 异构多边缘云协同微服务部署与路由联合优化方法及系统
CN117453419A (zh) * 2023-11-20 2024-01-26 北京航空航天大学 一种基于负载预测和强化学习的微服务管理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Intelligent Autoscaling of Microservice in the cloud for Real-Time Applications;ABEER ABDEL KHALEQ;《IEEE Access》;20210305;全文 *
基于多智能体强化学习的微服务弹性伸缩方法;花磊;《计算技术与自动化》;20230331;第42卷(第3期);全文 *
集群环境中微服务容器资源特征分析与优化;姚庆安等;《计算机系统应用》;20230430;第32卷(第4期);全文 *

Also Published As

Publication number Publication date
CN117648123A (zh) 2024-03-05

Similar Documents

Publication Publication Date Title
CN117648123B (zh) 一种微服务快速集成方法、系统、设备及存储介质
CN109990790B (zh) 一种无人机路径规划方法及装置
CN108089921A (zh) 用于云端大数据运算架构的服务器及其运算资源最佳化方法
CN111582504B (zh) 基于联邦建模的数据防泄漏方法、装置、设备及计算机可读存储介质
CN111222628A (zh) 循环神经网络训练优化方法、设备、系统及可读存储介质
CN113886953B (zh) 基于分布式强化学习的无人机智能仿真训练方法及装置
CN109831518B (zh) 一种地图数据下载方法及装置、计算设备和存储介质
CN116489708B (zh) 面向元宇宙的云边端协同的移动边缘计算任务卸载方法
CN112084044B (zh) 系统中事件处理方法及相关装置
CN116257363B (zh) 资源调度方法、装置、设备及存储介质
CN111278085B (zh) 用于获取目标网络的方法及装置
CN107347093B (zh) 用于分布式服务器系统的配置方法和装置
CN117812564B (zh) 一种应用于车联网的联邦学习方法、装置、设备及介质
CN115081623A (zh) 遗忘学习方法、装置、设备及介质
CN113176947B (zh) 无服务器计算中基于延迟和成本均衡的动态任务放置方法
CN117540829B (zh) 一种知识共享的大语言模型协同优化方法和系统
CN116107666B (zh) 程序业务流信息生成方法、装置、电子设备和计算机介质
CN111614526B (zh) 一种hinoc链路快速维护方法、装置、存储介质及终端
CN113849300A (zh) 一种边缘配置系统及方法
CN112256653A (zh) 一种数据采样方法和装置
CN115001692A (zh) 模型更新方法及装置、计算机可读存储介质和电子设备
CN114648666A (zh) 分类模型训练和数据分类方法、装置和电子设备
CN114611015A (zh) 交互信息处理方法、装置和云服务器
CN111208980B (zh) 一种数据分析处理方法和系统
CN116681973B (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