CN113434218B - 微服务配置方法、装置、电子设备和介质 - Google Patents
微服务配置方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN113434218B CN113434218B CN202110763590.3A CN202110763590A CN113434218B CN 113434218 B CN113434218 B CN 113434218B CN 202110763590 A CN202110763590 A CN 202110763590A CN 113434218 B CN113434218 B CN 113434218B
- Authority
- CN
- China
- Prior art keywords
- performance
- value
- service
- configuration parameter
- standard
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012360 testing method Methods 0.000 claims description 17
- 238000005516 engineering process Methods 0.000 abstract description 9
- 230000000694 effects Effects 0.000 abstract description 6
- 230000000875 corresponding effect Effects 0.000 description 14
- 238000013473 artificial intelligence Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 241000254158 Lampyridae Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001580 bacterial effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002431 foraging effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种微服务配置方法、装置、电子设备和介质,涉及计算机技术领域,尤其涉及微服务技术、云计算及云服务技术领域。具体实现方案为:分别获取目标微服务的性能指标的标准性能值、所述目标微服务的标准配置参数值和用户发送的性能指标的期望性能值;根据所述标准性能值、所述标准配置参数值和所述期望性能值,确定所述目标微服务的期望配置参数值;根据所述期望配置参数值对所述目标微服务进行配置。本公开实现了基于用户发送的性能指标的期望性能值,对微服务进行自适应配置的效果,使得配置后的微服务的性能与用户需求相符,避免出现微服务性能过剩或性能不足的问题。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及微服务技术、云计算及云服务技术领域,特别涉及一种微服务配置方法、装置、电子设备和介质。
背景技术
随着人工智能技术的不断普及,越来越多的企业开始使用人工智能技术来实现业务创新。由于人工智能技术对于技术要求较高,因此大多数企业选择从微服务平台获取微服务来组合生成想要实现的人工智能技术。
而针对微服务的配置是保证微服务稳定运行的关键。目前对于微服务的配置主要是通过人工方式来完成的。
发明内容
本公开提供了一种用于对微服务进行自适应配置的方法、装置、电子设备和介质。
根据本公开的一方面,提供了一种微服务配置方法,包括:
分别获取目标微服务的性能指标的标准性能值、所述目标微服务的标准配置参数值和用户发送的性能指标的期望性能值;
根据所述标准性能值、所述标准配置参数值和所述期望性能值,确定所述目标微服务的期望配置参数值;
根据所述期望配置参数值对所述目标微服务进行配置。
根据本公开的另一方面,提供了一种微服务配置装置,包括:
信息获取模块,用于分别获取目标微服务的性能指标的标准性能值、所述目标微服务的标准配置参数值和用户发送的性能指标的期望性能值;
期望配置参数值确定模块,用于根据所述标准性能值、所述标准配置参数值和所述期望性能值,确定所述目标微服务的期望配置参数值;
微服务配置模块,用于根据所述期望配置参数值对所述目标微服务进行配置。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开中任一项所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开中任一项所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开中任一项所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例公开的一种微服务配置方法的流程图;
图2A是根据本公开实施例公开的一种微服务配置方法的流程图;
图2B是根据本公开实施例公开的一种服务端平台的结构示意图;
图3是根据本公开实施例公开的一种微服务配置装置的结构示意图;
图4是用来实现本公开实施例公开的微服务配置方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
随着人工智能技术的不断普及,越来越多的企业开始尝试使用人工智能技术来实现业务创新。而从硬件开始配置环境、研发算法、优化算法再到应用的流程,对于大多数企业来说是繁杂且高成本的,并且很有可能在人工智能技术浪潮下落后于竞争对手,从而错失良机。人工智能的云原生微服务化趋势已经非常明显,越来越多的人倾向于利用现有的人工智能平台(例如Iaas、Paas或者Saas平台)中已有的微服务来构建自己的人工智能技术。
在使用微服务之前需要对微服务进行配置,现有对于微服务的配置多是基于用户主观判断,通过人工的方式设置配置参数从而实现对微服务的配置。然而用户对自己所需要的微服务通常没有一个全面和客观的认识,这就导致通过人工设置配置参数配置的微服务,可能会出现性能过剩或性能不足的问题。性能过剩会导致微服务占用平台过多的资源,造成资源的浪费,且还会对平台的其他用户造成挤占;性能不足则会在微服务遇到大量数据需要处理的时候损失微服务的可用性,导致微服务无法满足用户的业务需求。
图1是根据本公开实施例公开的一种微服务配置方法的流程图,本实施例可以适用于对微服务进行自适应配置的情况。本实施例方法可以由本公开实施例公开的微服务配置装置来执行,所述装置可采用软件和/或硬件实现,并可集成在任意的具有计算能力的电子设备上。
如图1所示,本实施例公开的微服务配置方法可以包括:
S101、分别获取目标微服务的性能指标的标准性能值、所述目标微服务的标准配置参数值和用户发送的性能指标的期望性能值。
其中,微服务是一种架构风格,一个大型复杂的软件应用可由一个或多个微服务组成。软件应用中的各个微服务可被独立部署,各个微服务之间是松耦合的,即每个微服务仅关注于完成一件任务,而每个任务代表着一个小的业务能力。例如通过对微服务进行组合,从而基于各微服务的业务能力来实现某一种人工智能技术需求。一个微服务包括至少一类性能指标,性能指标是体现微服务数据处理能力的指标,性能指标的性能值不同,表示微服务的数据处理能力也不同。性能指标包括但不限于CPU、GPU及内存的期望值和利用率、每秒查询率、吞吐量、服务延时、服务可用性阈值等等,上述性能指标仅是对性能指标的概念进行举例说明,并不是对性能指标的具体形式进行限定。配置参数值即微服务配置参数的数值,而微服务配置参数是对微服务进行配置必不可少的参数,配置参数值影响着微服务各性能指标的性能值,即设置不同的配置参数值会使得微服务各性能指标的性能值也不同。配置参数包括但不限于服务实例数和有向无环图中的服务数等等。
在一种实施方式中,微服务开发人员向服务端平台上传开发完成的微服务,其中服务端平台的运行环境可以为大规模容器化环境如Docker和Kubernetes等,服务端平台获取到任一微服务后,首先确定存储数据中是否存在该微服务对应的标准配置参数值和标准性能值,若没有,则调用预设组件对该微服务进行测试以确定该微服务涉及的各性能指标的标准性能值,以及该微服务对应的标准配置参数值,其中标准配置参数值是指微服务上传到服务端平台时,各配置参数默认的参数值,相应的,标准性能值是指微服务的配置参数为标准配置参数值时,各性能指标所对应的性能值。服务端平台在确定各微服务的标准配置参数值以及标准性能值后,将标准配置参数值和标准性能值与对应的微服务进行关联存储,供后续进行微服务自适应配置时使用。
当用户需要调用服务端平台中的微服务时,首先通过服务端平台提供的配置模块从服务端平台存储的候选微服务中选择目标微服务,并对目标微服务的各性能指标的期望性能值进行配置,期望性能值指用户期望目标微服务各性能指标能到达的性能值。
在实际场景中,配置模块可通过关联的显示设备进行可视化界面展示,用户可通过可视化页面提供的下拉选项中选择目标微服务,或者通过输入目标微服务的标识来确定目标微服务等。在确定目标微服务后,可视化页面向用户展示可供用户进行自定义配置的性能指标,用户可在各性能指标关联的编辑区域中自定义输入期望性能值,或者通过各性能指标关联的下拉选项中选择期望性能值等。若用户采用自定义方式输入的期望性能值超过了对应性能指标的性能值阈值,则可视化页面显示错误提示信息,以提示用户当前输入的期望性能值超过了性能值阈值,并重新输入期望性能值。
通过分别获取目标微服务的性能指标的标准性能值、所述目标微服务的标准配置参数值和用户发送的性能指标的期望性能值,为后续确定目标微服务的期望配置参数值奠定了数据基础。
S102、根据所述标准性能值、所述标准配置参数值和所述期望性能值,确定所述目标微服务的期望配置参数值。
在一种实施方式中,服务端平台获取目标微服务及目标微服务性能指标的期望性能值后,调取已存储的目标微服务性能指标的标准性能值和对应的标准配置参数值,进而对标准配置参数值进行寻优调整,标准性能值由于标准配置参数值的调整也会相应的变化,当标准性能值变化到与期望性能值相同或差值小于预设阈值时,则将此时调整后的标准配置参数值作为目标微服务的期望配置参数值。
通过根据标准性能值、标准配置参数值和期望性能值,确定目标微服务的期望配置参数值,实现了基于用户需求的性能指标的期望性能值,自适应生成最优的期望配置参数值的效果。
S103、根据所述期望配置参数值对所述目标微服务进行配置。
在一种实施方式中,服务端平台根据得到的期望配置参数值,自动对目标微服务各配置参数值进行调整,即将目标微服务各配置参数的参数值配置为期望配置参数值,进而将配置完成的目标微服务进行发布,供用户使用。
在另一种实施方式中,服务端平台将得到的期望配置参数值作为推荐配置参数值发送给用户,用户对期望配置参数值进行评估,确定是否为自己预期的配置参数值,若是则向服务端平台发送确认指令,以使得服务端平台将目标微服务各配置参数的参数值配置为期望配置参数值,进而将配置完成的目标微服务进行发布;若否,则用户可再对期望配置参数值进行调整,并将调整后的期望配置参数值发送给服务端平台,以使得服务端平台根据调整后的期望配置参数值对目标微服务进行配置。
本公开通过分别获取目标微服务的性能指标的标准性能值、目标微服务的标准配置参数值和用户发送的性能指标的期望性能值,并根据标准性能值、标准配置参数值和期望性能值,确定目标微服务的期望配置参数值,进而根据期望配置参数值对目标微服务进行配置,实现了以用户发送的期望性能值作为锚点,根据目标微服务已知的标准性能值和标准配置参数值,自适应的确定目标微服务的期望配置参数值的效果,从而使得期望配置参数能够与期望性能值相符,避免通过手动人工设置配置参数值,可能会出现微服务性能过剩或性能不足的问题。
图2A是根据本公开实施例公开的一种微服务配置方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。
如图2A所示,本实施例公开的微服务配置方法可以包括:
S201、对所述目标微服务进行性能压力测试,确定所述目标微服务各性能指标的标准性能值,以及所述目标微服务的标准配置参数值。
在一种实施方式中,服务端平台接收开发人员上传的目标微服务,采用预设的性能压力测试组件对目标微服务进行性能压力测试,其中,性能压力测试组件包括但不限于LoadRunner、Apache JMeter、NeoLoad和Loadster等等,本实施例并不对性能压力测试组件的具体类型做任何限定,凡是能够满足对微服务进行性能压力测试的组件均在本实施例的保护范围中。通过性能压力测试得到目标微服务各性能指标的标准性能值,以及此时目标微服务各配置参数的标准配置参数值。
可选的,在确定目标微服务各性能指标的标准性能值,以及目标微服务的标准配置参数值之后,还包括:
通过服务端平台的数据存储组件将目标微服务各性能指标的标准性能值,以及目标微服务的标准配置参数值,关联存储到服务端平台底层数据库中。
S202、接收用户发送的目标微服务性能指标的期望性能值,并根据目标微服务所述性能指标的期望性能值和标准性能值,确定所述性能指标的性能偏差值。
在一种实施方式中,用户通过服务端平台的配置模块配置需要的目标微服务以及目标微服务各性能指标的期望性能值,服务端平台接收用户发送的目标微服务性能指标的期望性能值,根据目标微服务的标识信息从底层数据库中获取目标微服务性能指标的标准性能值。进而将同一性能指标的期望性能值以及标准性能值做差,得到各性能指标的性能偏差值。
可选的,S202包括以下步骤A和B:
A、根据各所述性能指标的优先级,确定各所述性能指标的偏差权重值。
其中,所述性能指标包括多个。即目标微服务的性能指标的数量至少为两个。
在一种实施方式中,用户通过服务端平台的配置模块配置目标微服务各性能指标的期望性能值的同时,还可以配置目标微服务各性能指标的优先级,换言之,用户可根据业务需求为不同重要程度的性能指标配置不同的优先级,即重要程度较高的性能指标则配置较高的优先级,相应的,重要程度较低的性能指标则配置较低的优先级。服务端平台根据各性能指标的优先级,以及预设的优先级与偏差权重值的对应关系,确定各性能指标的偏差权重值。示例性的,假设预设优先级“1级”对应的偏差权重值为“10”,若用户发送的性能指标“吞吐量”的优先级为“1级”,则确定性能指标“吞吐量”的偏差权重值为“10”。通常情况下,高优先级的性能指标对应更大的偏差权重,从而使得后续进行寻优时,高优先级的性能指标的性能偏差值最先到达目标值。
可选的,各性能指标的优先级还可以由技术人员预先设定,进一步的,各性能指标的偏差权重值也可以由技术人员预先设定,从而可以简化数据处理流程,提高数据处理的效率。
B、根据各所述性能指标的期望性能值、标准性能值以及所述偏差权重值,确定各所述性能指标的性能偏差值。
在一种实施方式中,将同一性能指标的期望性能值以及标准性能值进行差值运算,并根据差值结果和各性能指标的偏差权重值,确定各性能指标的性能偏差值。
通过根据各性能指标的优先级,确定各性能指标的偏差权重值,并根据各性能指标的期望性能值、标准性能值以及偏差权重值,确定各性能指标的性能偏差值,实现了根据各性能指标的优先级,确定各性能指标的性能偏差值的效果,使得后续进行寻优时,不同优先级的性能指标的性能偏差值到达目标值的先后顺序不同,满足了用户对于高优先级的性能指标的性能偏差值先到达目标值的需求。
可选的,步骤B包括以下步骤B1和步骤B2:
B1、根据各所述性能指标的期望性能值和标准性能值,确定各所述性能指标的辅助偏差值。
在一种实施方式中,将各性能指标的期望性能值减去标准性能值,得到各性能指标的辅助偏差值。
示例性的,假设性能指标“吞吐量”的期望性能值为“20Mbps”,标准性能值为“10Mbps”,则辅助偏差值为20Mbps-10Mbps=10Mbps。
B2、根据各所述性能指标的辅助偏差值和所述偏差权重值,确定各所述性能指标的性能偏差值。
在一种实施方式中,将各性能指标的辅助偏差值与偏差权重值相乘,得到各性能指标的性能偏差值。
示例性的,假设性能指标“吞吐量”的辅助偏差值为“10Mbps”,偏差权重值为“1.5”,则性能指标“吞吐量”的性能偏差值为100Mbps×1.5=150Mbps。
通过根据各性能指标的期望性能值和标准性能值,确定各性能指标的辅助偏差值,并根据各性能指标的辅助偏差值和偏差权重值,确定各性能指标的性能偏差值,实现了一种加权形式的性能偏差值的确定,为后续根据性能偏差值确定目标微服务的期望配置参数值,奠定了数据基础。
S203、根据所述性能指标的性能偏差值和所述目标微服务的标准配置参数值,确定所述目标微服务的期望配置参数值。
在一种实施方式中,对目标微服务的标准配置参数值进行调整,并根据标准配置参数值调整后的各性能指标的性能偏差值,确定目标微服务的期望配置参数值。
可选的,S203包括:
基于寻优算法对所述标准配置参数值进行调整,直到对应的性能偏差值满足目标偏差范围,将所述标准配置参数值经过所述调整后得到的参数值作为所述目标微服务的期望配置参数值。
在一种实施方式中,由于任一配置参数的标准配置参数值的变化,会带来性能指标的标准性能值的变化,相应的也会改变性能指标的性能偏差值。将任一配置参数的标准配置参数值作为函数Y=F(X)中的X,Y表示性能指标的性能偏差值,采用寻优算法对X进行调整,其中寻优算法包括但不限于蚁群优化算法、粒子群优化算法、细菌觅食算法、萤火虫算法和人工鱼群算法等等,直至Y满足目标偏差范围时,优选的Y为能够取得的最小偏差值时,则将此时的X即调整后得到的参数值,作为目标微服务该配置参数的期望配置参数值。其中在上述流程中,性能指标的数量可以是一个,也可以是多个,若性能指标的数量为一个,则为该性能指标对应的性能偏差值满足目标偏差范围,若性能指标的数量为多个,则为各性能指标对应的性能偏差值均满足目标偏差范围。
通过基于寻优算法对所述标准配置参数值进行调整,直到对应的性能偏差值满足目标偏差范围,将所述标准配置参数值经过所述调整后得到的参数值作为所述目标微服务的期望配置参数值,实现了根据各性能指标的标准配置参数值和性能偏差值,自适应的确定期望配置参数值的效果。
S204、根据所述期望配置参数值对所述目标微服务进行配置。
本公开通过对目标微服务进行性能压力测试,确定目标微服务各性能指标的标准性能值,以及目标微服务的标准配置参数值,为后续基于各性能指标的标准性能值和标准配置参数值,确定目标微服务的期望配置参数值,奠定了数据基础;通过根据性能指标的期望性能值和标准性能值,确定性能指标的性能偏差值,并根据性能指标的性能偏差值和目标微服务的标准配置参数值,确定目标微服务的期望配置参数值,实现了以性能偏差值为锚点,自适应确定目标微服务的期望配置参数值的效果,从而使得期望配置参数能够与期望性能值相符,避免通过手动人工设置配置参数值,可能会出现微服务性能过剩或性能不足的问题。
在上述实施例的技术上,本实施还公开了一种服务端平台的结构示意图,图2B是根据本公开实施例公开的一种服务端平台的结构示意图,可用于实现本实施例公开的微服务配置方法,如图2B所示,服务端平台20包括微服务部署模块21、性能压力测试组件22、数据存储组件23、数据库24、配置模块25和寻优模块26,其中,微服务部署模块21用于接收开发人员上传的微服务;性能压力测试组件22用于对微服务进行性能压力测试,确定微服务各性能指标的标准性能值,以及微服务的标准配置参数值;数据存储组件23用于将各微服务性能指标的标准性能值,以及标准配置参数值,存储于数据库24中,数据库24可选的为mysql类型数据库;配置模块25用于供用户对目标微服务的期望性能值进行配置;寻优模块26用于从数据库24中获取目标微服务性能指标的标准性能值及标准配置参数值,并根据目标微服务的性能指标的标准性能值、期望性能值以及目标微服务的标准配置参数值,确定目标微服务的期望配置参数值。
所述服务端平台20中各结构所执行方法的具体实施方式,可参考本实施中所提供的实施方式,在此不再赘述。
图3是根据本公开实施例公开的一种微服务配置装置的结构示意图,可以适用于对微服务进行自适应配置的情况。本实施例装置可采用软件和/或硬件实现,并可集成在任意的具有计算能力的电子设备上。
如图3所示,本实施例公开的微服务配置装置30可以包括信息获取模块31、期望配置参数值确定模块32和微服务配置模块33,其中:
信息获取模块31,用于分别获取目标微服务的性能指标的标准性能值、所述目标微服务的标准配置参数值和用户发送的性能指标的期望性能值;
期望配置参数值确定模块32,用于根据所述标准性能值、所述标准配置参数值和所述期望性能值,确定所述目标微服务的期望配置参数值;
微服务配置模块33,用于根据所述期望配置参数值对所述目标微服务进行配置。
可选的,所述装置还包括性能压力测试模块,用于:
对所述目标微服务进行性能压力测试,确定所述目标微服务各性能指标的标准性能值,以及所述目标微服务的标准配置参数值。
可选的,所述期望配置参数值确定模块32,还用于:
根据所述性能指标的期望性能值和标准性能值,确定所述性能指标的性能偏差值;
根据所述性能指标的性能偏差值和所述目标微服务的标准配置参数值,确定所述目标微服务的期望配置参数值。
可选的,所述期望配置参数值确定模块32,还用于:
基于寻优算法对所述标准配置参数值进行调整,直到对应的性能偏差值满足目标偏差范围,将所述标准配置参数值经过所述调整后得到的参数值作为所述目标微服务的期望配置参数值。
可选的,所述性能指标包括多个,所述期望配置参数值确定模块32,还用于:
根据各所述性能指标的优先级,确定各所述性能指标的偏差权重值;
根据各所述性能指标的期望性能值、标准性能值以及所述偏差权重值,确定各所述性能指标的性能偏差值。
可选的,所述期望配置参数值确定模块32,还用于:
根据各所述性能指标的期望性能值和标准性能值,确定各所述性能指标的辅助偏差值;
根据各所述性能指标的辅助偏差值和所述偏差权重值,确定各所述性能指标的性能偏差值。
本公开实施例所公开的微服务配置装置30可执行本公开实施例所公开的微服务配置方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图4示出了可以用来实施本公开的实施例的示例电子设备400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图4所示,设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如微服务配置方法。例如,在一些实施例中,微服务配置方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到RAM 403并由计算单元401执行时,可以执行上文描述的微服务配置方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行微服务配置方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (10)
1.一种微服务配置方法,包括:
分别获取目标微服务的性能指标的标准性能值、所述目标微服务的标准配置参数值和用户发送的性能指标的期望性能值;
根据所述标准性能值、所述标准配置参数值和所述期望性能值,确定所述目标微服务的期望配置参数值;
根据所述期望配置参数值对所述目标微服务进行配置;
其中,所述根据所述标准性能值、所述标准配置参数值和所述期望性能值,确定所述目标微服务的期望配置参数值,包括:
根据所述性能指标的期望性能值和标准性能值,确定所述性能指标的性能偏差值;
基于寻优算法对所述标准配置参数值进行调整,直到对应的性能偏差值满足目标偏差范围,将所述标准配置参数值经过所述调整后得到的参数值作为所述目标微服务的期望配置参数值。
2.根据权利要求1所述的方法,所述根据所述标准性能值、所述标准配置参数值和所述期望性能值,确定所述目标微服务的期望配置参数值之前,还包括:
对所述目标微服务进行性能压力测试,确定所述目标微服务各性能指标的标准性能值,以及所述目标微服务的标准配置参数值。
3.根据权利要求1所述的方法,其中,所述性能指标包括多个,所述根据所述性能指标的期望性能值和标准性能值,确定所述性能指标的性能偏差值,包括:
根据各所述性能指标的优先级,确定各所述性能指标的偏差权重值;
根据各所述性能指标的期望性能值、标准性能值以及所述偏差权重值,确定各所述性能指标的性能偏差值。
4.根据权利要求3所述的方法,其中,所述根据各所述性能指标的期望性能值、标准性能值以及所述偏差权重值,确定各所述性能指标的性能偏差值,包括:
根据各所述性能指标的期望性能值和标准性能值,确定各所述性能指标的辅助偏差值;
根据各所述性能指标的辅助偏差值和所述偏差权重值,确定各所述性能指标的性能偏差值。
5.一种微服务配置装置,包括:
信息获取模块,用于分别获取目标微服务的性能指标的标准性能值、所述目标微服务的标准配置参数值和用户发送的性能指标的期望性能值;
期望配置参数值确定模块,用于根据所述标准性能值、所述标准配置参数值和所述期望性能值,确定所述目标微服务的期望配置参数值;
微服务配置模块,用于根据所述期望配置参数值对所述目标微服务进行配置;
其中,所述期望配置参数值确定模块,还用于:
根据所述性能指标的期望性能值和标准性能值,确定所述性能指标的性能偏差值;
基于寻优算法对所述标准配置参数值进行调整,直到对应的性能偏差值满足目标偏差范围,将所述标准配置参数值经过所述调整后得到的参数值作为所述目标微服务的期望配置参数值。
6.根据权利要求5所述的装置,还包括性能压力测试模块,用于:
对所述目标微服务进行性能压力测试,确定所述目标微服务各性能指标的标准性能值,以及所述目标微服务的标准配置参数值。
7.根据权利要求5所述的装置,其中,所述性能指标包括多个,所述期望配置参数值确定模块,还用于:
根据各所述性能指标的优先级,确定各所述性能指标的偏差权重值;
根据各所述性能指标的期望性能值、标准性能值以及所述偏差权重值,确定各所述性能指标的性能偏差值。
8.根据权利要求7所述的装置,其中,所述期望配置参数值确定模块,还用于:
根据各所述性能指标的期望性能值和标准性能值,确定各所述性能指标的辅助偏差值;
根据各所述性能指标的辅助偏差值和所述偏差权重值,确定各所述性能指标的性能偏差值。
9. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110763590.3A CN113434218B (zh) | 2021-07-06 | 2021-07-06 | 微服务配置方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110763590.3A CN113434218B (zh) | 2021-07-06 | 2021-07-06 | 微服务配置方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113434218A CN113434218A (zh) | 2021-09-24 |
CN113434218B true CN113434218B (zh) | 2023-08-15 |
Family
ID=77759214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110763590.3A Active CN113434218B (zh) | 2021-07-06 | 2021-07-06 | 微服务配置方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113434218B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114911520A (zh) * | 2022-05-10 | 2022-08-16 | 声呐天空资讯顾问有限公司 | 一种操作执行方法、装置及存储介质 |
CN116170365B (zh) * | 2023-04-24 | 2023-08-04 | 驿羚江苏大数据有限公司 | 基于蚁群算法的多用户SaaS服务部署系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664378A (zh) * | 2018-05-10 | 2018-10-16 | 西安电子科技大学 | 一种微服务最短执行时间的优化方法 |
CN112965847A (zh) * | 2021-03-03 | 2021-06-15 | 北京百度网讯科技有限公司 | 微服务架构的故障处理方法、装置、设备以及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489275B2 (en) * | 2016-10-20 | 2019-11-26 | Cisco Technology, Inc. | Agentless distributed monitoring of microservices through a virtual switch |
-
2021
- 2021-07-06 CN CN202110763590.3A patent/CN113434218B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664378A (zh) * | 2018-05-10 | 2018-10-16 | 西安电子科技大学 | 一种微服务最短执行时间的优化方法 |
CN112965847A (zh) * | 2021-03-03 | 2021-06-15 | 北京百度网讯科技有限公司 | 微服务架构的故障处理方法、装置、设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
田兵 ; 王玮 ; 苏琦 ; 刘荫 ; 殷齐林 ; 郭爽爽 ; .基于微服务架构的应用性能监控平台研究.信息技术与信息化.2018,(第01期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113434218A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112597754B (zh) | 文本纠错方法、装置、电子设备和可读存储介质 | |
CN111461290B (zh) | 模型参数更新方法及装置 | |
CN113434218B (zh) | 微服务配置方法、装置、电子设备和介质 | |
KR20210156243A (ko) | 딥러닝 프레임워크의 훈련 방법, 장치 및 저장 매체 | |
CN111625195A (zh) | 用于服务器扩容的方法及装置 | |
CN114157701A (zh) | 一种任务测试方法、装置、设备以及存储介质 | |
CN116661960A (zh) | 一种批量任务处理方法、装置、设备以及存储介质 | |
CN113419880B (zh) | 云手机根权限获取方法、相关装置及计算机程序产品 | |
CN113572833B (zh) | 一种云手机的维护方法、装置、电子设备和存储介质 | |
CN114327918A (zh) | 调整资源量的方法、装置、电子设备和存储介质 | |
CN113419865A (zh) | 云资源处理方法、相关装置及计算机程序产品 | |
CN113986497A (zh) | 基于多租户技术的队列调度方法、装置及系统 | |
CN113360266A (zh) | 任务处理方法和装置 | |
CN114051057B (zh) | 云设备排队时长的确定方法、装置、电子设备和介质 | |
CN116594563A (zh) | 分布式存储扩容方法、装置、电子设备和存储介质 | |
CN113486229B (zh) | 抓取压力的控制方法、装置、电子设备及可读存储介质 | |
CN113641688B (zh) | 节点更新方法、相关装置及计算机程序产品 | |
CN114327819B (zh) | 一种任务管理方法、装置、设备及存储介质 | |
CN114139605A (zh) | 分布式的模型训练方法、系统、设备以及存储介质 | |
CN112905270A (zh) | 工作流实现方法、装置、平台、电子设备以及存储介质 | |
CN113778973A (zh) | 数据存储方法和装置 | |
CN113326890B (zh) | 标注数据处理方法、相关装置及计算机程序产品 | |
CN114371889B (zh) | 一种事件配置方法、装置、电子设备及存储介质 | |
CN113886842B (zh) | 基于测试的动态智能调度方法及装置 | |
CN113556621B (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 |