CN113918345A - 一种配置硬件的容量计算方法、装置、计算机设备及介质 - Google Patents
一种配置硬件的容量计算方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN113918345A CN113918345A CN202111275363.2A CN202111275363A CN113918345A CN 113918345 A CN113918345 A CN 113918345A CN 202111275363 A CN202111275363 A CN 202111275363A CN 113918345 A CN113918345 A CN 113918345A
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- transaction processing
- processing amount
- subset
- 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.)
- Pending
Links
Images
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种配置硬件的容量计算方法、装置、计算机设备及介质,方法包括:确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合;计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列;计算每类微服务子集合中各微服务的目标事务处理量;基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果;根据各微服务的实际结果计算待上线***所需配置硬件的容量。由于本申请通过计算每类微服务的测试结果序列来确定每个微服务的实际结果,使得单一微服务的结果确定时有依据,同时得到的实际计算结果更加准确,从而减少了硬件资源浪费或者降低了应用软件上线后的运行异常情况。
Description
技术领域
本发明涉及计算机软件技术领域,特别涉及一种配置硬件的容量计算方法、装置、计算机设备及介质。
背景技术
近年来,计算机软件发展的如火如荼,随着用户需求的逐渐增多,应用软件中的架构也逐步从单体应用发展为微服务应用,从一个单独应用提供所有软件功能,演变为微服务模式,即将一个单独的应用拆分为多个应用,每个应用采用微服务的开发模式进行开发,使得开发出的每个微服务专注于单一功能,多个微服务组合在一起为用户提供全部的应用软件功能。在应用软件开发完成后需要进行部署上线,软件***的部署方式经历了从物理机部署,到虚拟机部署,再到容器部署的演变历程,目前最流行的就是容器部署,部署时需要根据当前应用软件上线后所占用的硬件容量进行估算。
在现有的应用软件所占用的硬件容量进行计算时,主要以主观假设为主,例如当对一个新的应用软件A上线所占用的硬件容量进行估算时,往往由用户根据历史经验对***A的复杂程度进行粗略评估,然后和已上线的应用软件的复杂程度进行对比,如果认为***A和已上线的***B的复杂程度类似,则认为***A需要的硬件资源配置和***B一样。由于现有技术中由用户进行估算,人为的估算逻辑比较主观,可能导致估算结果偏差较大或估算结果不准确,从而会造成硬件资源的浪费或者应用软件上线后运行异常。
发明内容
基于此,有必要针对待上线***所需硬件容量估算不准确或者估算准确度低的问题,提供一种配置硬件的容量计算方法、装置、计算机设备及介质。
一种配置硬件的容量计算方法,方法包括:确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合;计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列;计算每类微服务子集合中各微服务的目标事务处理量;基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果;根据各微服务的实际结果计算待上线***所需配置硬件的容量。
在其中一个实施例中,对微服务集合进行分类后生成多类微服务子集合,包括:加载微服务集合中各微服务对应的应用程序;在单位时间内执行各微服务对应的应用程序,得到单位时间内各微服务的事务处理量;基于单位时间内各微服务的事务处理量将微服务集合进行分类后生成多类微服务子集合。
在其中一个实施例中,基于单位时间内各微服务的事务处理量将微服务集合进行分类后生成多类微服务子集合,包括:获取预先设定的多个类型划分区间;逐一判断单位时间内各微服务的事务处理量在多个类型划分区间中的目标区间;将目标区间的所属类型确定为各微服务的所属类型;根据各微服务的所属类型生成多类微服务子集合。
在其中一个实施例中,基于单位时间内各微服务的事务处理量将微服务集合进行分类后生成多类微服务子集合,包括:采用滑动窗口算法创建滑动窗口;获取预先设定的多个类型划分区间;将预先设定的多个类型划分区间与滑动窗口进行关联,得到关联后的滑动窗口;将单位时间内各微服务的事务处理量输入关联后的滑动窗口中,输出各微服务的所属类型;根据各微服务的所属类型生成多类微服务子集合。
在其中一个实施例中,计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列,包括:从每类微服务子集合中抽取任意一个微服务确定为目标实例,生成多个目标实例;当接收到针对每个目标实例构建的资源测试组件时,加载与其对应的多种预设硬件配置;在每种预设硬件配置中执行构建的资源测试组件,生成每类微服务子集合的测试结果序列。
在其中一个实施例中,计算每类微服务子集合中各微服务的目标事务处理量,包括:接收针对每类微服务子集合中各微服务的请求序列;基于请求序列计算各微服务在多个时刻的事务处理量;从各微服务在多个时刻的事务处理量中获取各微服务的事务处理量的最大值;基于各微服务的最大值计算各微服务的目标事务处理量。
在其中一个实施例中,基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果,包括:确定各微服务的目标事务处理量在与其对应的测试结果序列中的目标区间;获取目标区间中的最大值;将最大值确定为各微服务的实际结果。
一种配置硬件的容量计算装置,装置包括:微服务分类模块,用于确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合;测试结果序列计算模块,用于计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列;事务处理量计算模块,用于计算每类微服务子集合中各微服务的目标事务处理量;实际结果确定模块,用于基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果;硬件资源计算模块,用于根据各微服务的实际结果计算待上线***所需配置硬件的容量。
一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述配置硬件的容量计算方法的步骤。
一种存储有计算机可读指令的介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述配置硬件的容量计算方法的步骤。
上述配置硬件的容量计算方法、装置、设备和介质,配置硬件的容量计算装置首先确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合,然后计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列,其次计算每类微服务子集合中各微服务的目标事务处理量,再基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果,最后根据各微服务的实际结果计算待上线***所需配置硬件的容量。由于本申请通过计算每类微服务的测试结果序列来确定每个微服务的实际结果,使得单一微服务的结果确定时有依据,同时得到的实际计算结果更加准确,从而减少了硬件资源浪费或者降低了应用软件上线后的运行异常情况。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本申请一个实施例中提供的配置硬件的容量计算方法的实施环境图;
图2为本申请一个实施例中计算机设备的内部结构示意图;
图3为本申请一个实施例中提供的配置硬件的容量计算方法的方法示意图;
图4为本申请一个实施例中提供的微服务所属类型的示意图;
图5为本申请一个实施例中提供的微服务在多个硬件配置中得到的测试结果示意图;
图6为本申请一个实施例中提供的微服务最大事务处理量的示意图;
图7为本申请一个实施例中提供的待上线***所需硬件容量的示意图;
图8是本申请一个实施例提供的一种配置硬件的容量计算装置的装置示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
图1为一个实施例中提供的配置硬件的容量计算方法的实施环境图,如图1所示,在该实施环境中,包括服务端110以及客户端120。
服务端110可以为服务器,该服务器具体可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,例如为部署待上线***的服务器设备。当需要进行配置硬件的容量计算时,客户端120首先从服务端110中确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合,客户端120然后计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列,客户端120再计算每类微服务子集合中各微服务的目标事务处理量,客户端120再基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果,客户端120最后根据各微服务的实际结果计算待上线***所需配置硬件的容量。
需要说明的是,客户端120可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务端110以及客户端120可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者其他通讯连接方式进行连接,本发明在此不做限制。
图2为一个实施例中计算机设备的内部结构示意图。如图2所示,该计算机设备包括通过***总线连接的处理器、介质、存储器和网络接口。其中,该计算机设备的介质存储有操作***、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种配置硬件的容量计算方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种配置硬件的容量计算方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,介质为一种可读的存储介质。
下面将结合附图3-附图7,对本申请实施例提供的配置硬件的容量计算方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的配置硬件的容量计算装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
请参见图3,为本申请实施例提供了一种配置硬件的容量计算方法的流程示意图。如图3所示,本申请实施例的方法可以包括以下步骤:
S101,确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合;
其中,待上线应用***是需要将已经开发完成的应用程序部署到服务器上进行运行的软件。微服务是应用***中的子应用***。
通常,为了降低***代码的耦合性,使得将应用***进行模块化,每一个功能模块代表一个微服务,即每一个模块负责完成某个功能,多个模块共同组成待上线应用***。
在本申请实施例中,首先确定待上线应用***中存在的多个微服务,然后加载多个微服务中每个微服务对应的应用程序,执行每个微服务对应的应用程序后得到单位时间内每个微服务的事务处理量,基于每个微服务的事务处理量将多个微服务进行分类后生成多类微服务子集合。
在一种可能的实现方式中,在基于每个微服务的事务处理量将多个微服务进行分类后生成多类微服务时,首先获取预先设定的类型划分区间,然后逐一判断每个微服务的事务处理量在类型划分区间中的目标区间,根据目标区间的所属类型得到多类微服务子集合。
在另一种可能的实现方式中,采用滑动窗口算法创建滑动窗口,并获取预先设定的类型划分区间,然后将预先设定的类型划分区间与滑动窗口进行关联,得到关联后的滑动窗口,将每个微服务的事务处理量输入关联后的滑动窗口中,输出每个微服务所属类型,根据每个微服务所属类型得到多类微服务子集合。
具体的,分类的主要依据是微服务的业务处理能力。我们使用微服务每秒能够处理的事务个数TPS作为性能指标,将TPS接近的微服务划分为同一类。其中影响TPS的主要因素是文件输入输出(I/O)量,I/O量大的微服务通常TPS比较低。这里的I/O指和数据库的交互(从数据库读取或写入数据),以及和磁盘文件的交互。
例如:我们的***有8个微服务(从A到H),其中微服务A-D的I/O操作处于两万到三万之间,因此可以将A-D分为复杂型,微服务G-H的I/O操作处于一万以下,因此可以将G-H分为简单型,剩余的微服务E-F的I/O操作在一万到两万之间,因此可以将E-F分为普通型。微服务A到H划分情况例如图4所示。
S102,计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列;
其中,测试结果序列是每一类微服务的表征值。
在本申请实施例中,计算每类微服务的测试结果序列时,首先从每类微服务中抽取任一微服务作为实例,生成多个实例,然后当接收到针对每个实例构建的资源测试组件时,加载与其对应的多种预设硬件配置,最后在多种预设硬件配置中逐一执行构建的资源测试组件,生成每类微服务的测试结果序列。
具体的,资源测试组件是针对选取的微服务所设计的测试代码片段,硬件配置是云厂商提供的云计算服务器,可以抽象为CPU和内存。例如:一个CPU核心数为4个,内存容量为8GB的云计算服务器实例,本申请中简称为4C8GB的实例。多种预设硬件配置可分为低硬件配置、中硬件配置以及高硬件配置。
通常,从上面复杂型、普通型和简单型中各挑选一个微服务(例如:选择每个类型的第一个微服务),编写业务的简单模拟实现代码,并进行性能测试,得到TPS处理能力结果。
在一种可能的实现方式中,例如从复杂型中抽取的微服务是微服务A,获取的复杂型对应的多种预设硬件配置分别为低硬件配置(2C4GB)、中硬件配置(3C6GB)以及高硬件配置(4C8GB),此时接收针对微服务A设计的资源测试组件,并在复杂型对应的多种预设硬件配置中执行该资源测试组件后得到微服务A的测试结果是1000、2000和3000。例如从普通型中抽取的微服务是微服务E,获取的普通型对应的多种预设硬件配置分别为低硬件配置(1C2GB)、中硬件配置(2C4GB)以及高硬件配置(3C6GB),此时接收针对微服务E设计的资源测试组件,并在普通型对应的多种预设硬件配置中执行该资源测试组件后得到微服务E的测试结果是2000、3000和4000。例如从简单型中抽取的微服务是微服务G,获取的简单型对应的多种预设硬件配置分别为低硬件配置(0.5C1GB)、中硬件配置(1C2GB)以及高硬件配置(2C4GB),此时接收针对微服务G设计的资源测试组件,并在简单型对应的多种预设硬件配置中执行该资源测试组件后得到微服务G的测试结果是3000、5000和8000,例如图5所示。
需要说明的是,高中低三种硬件配置的具体值可根据实际情况进行调整。
S103,计算每类微服务子集合中各微服务的目标事务处理量;
通常,在得到每类微服务的测试结果序列后,需要计算出各微服务的目标事务处理量。
在本申请实施例中,首先接收针对每类所述微服务子集合中各微服务的请求序列,然后基于所述请求序列计算所述各微服务在多个时刻的事务处理量,其次从所述各微服务在多个时刻的事务处理量中获取各微服务的事务处理量的最大值,最后基于所述各微服务的最大值计算所述各微服务的目标事务处理量。
在一种可能的实现方式中,接收针对每类微服务中每个微服务的请求序列,基于请求序列计算每个微服务在多个时刻的事务处理量,当事务处理量到达最大值时,获取当前时刻的最大值,并基于最大值计算各微服务的目标事务处理量。
具体的,目标事务处理量的计算公式为:
其中,t0为第一个请求发出的时刻,tmax为最后一个请求发出的时刻,Q为权重因子,Hmax为事务处理量到达的最大值。
其中,微服务的最大事务处理量例如图6所示。
S104,基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果;
在本申请实施例中,首先确定所述各微服务的目标事务处理量在与其对应的所述测试结果序列中的目标区间,然后获取所述目标区间中的最大值,最后将所述最大值确定为所述各微服务的实际结果。
在一种可能的实现方式中,首先确定每个微服务预测结果在与其对应的测试结果序列中的目标区间,然后将目标区间的最大值确定为每个微服务的实际结果。
例如微服务A属于复杂型且微服务A的预测结果为1500,复杂型的测试序列为1000、2000、3000,可知微服务A在目标区间1000和2000之间,因此将2000作为微服务A的实际结果。
S105,根据各微服务的实际结果计算待上线***所需配置硬件的容量。
其中,所需配置的硬件资源是云厂商提供的云计算服务器,可以抽象为CPU和内存。例如:一个CPU核心数为4个,内存容量为8GB的云计算服务器实例,本申请中简称为4C8GB的实例。
在本申请实施例中,在得到每个微服务的实际结果后,可根据每个微服务的实际结果计算每个微服务的硬件资源,即每个微服务所需的CPU和内存,然后将每个微服务的CPU和内存数量做和后可得到待上线应用***计划所需配置的硬件资源,最后获取预设加权因子,并将加权因子与计划所需配置的硬件资源作积后,得到实际所需配置的硬件资源。
其中,待上线应用***中微服务A到微服务H的硬件资源例如图7所示,由图7可知待上线应用***的计划CPU个数为19,内存数量为38G。
例如,考虑到预留的临时备用资源和故障处理资源,可以在计划所需配置的硬件资源的基础上,再次增加30%的预留资源,得到一共需要25C50GB的硬件资源。
实际所需配置的硬件资源为:19*1.3=24.7,38*1.3=49.4。
进一步地,确定单个云实例所占用的单个配置资源,将待上线应用***所需配置资源与单个配置资源的比值确定为待上线应用***所需云实例数量待上线应用***所需云实例数量。
例如,一种云实例配置为4个CPU 8GB内存,可知所需实例数量为:25/4=6.25,一共需要7个4C8GB的云实例。
在本申请实施例中,配置硬件的容量计算装置首先确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合,然后计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列,其次计算每类微服务子集合中各微服务的目标事务处理量,再基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果,最后根据各微服务的实际结果计算待上线***所需配置硬件的容量。由于本申请通过计算每类微服务的测试结果序列来确定每个微服务的实际结果,使得单一微服务的结果确定时有依据,同时得到的实际计算结果更加准确,从而减少了硬件资源浪费或者降低了应用软件上线后的运行异常情况。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参见图8,其示出了本发明一个示例性实施例提供的配置硬件的容量计算装置的结构示意图,应用于服务器。该配置硬件的容量计算装置可以通过软件、硬件或者两者的结合实现成为设备的全部或一部分。该装置1包括微服务分类模块10、测试结果序列计算模块20、事务处理量计算模块30、实际结果确定模块40、硬件资源计算模块50。
微服务分类模块10,用于确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合;
测试结果序列计算模块20,用于计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列;
事务处理量计算模块30,用于计算每类微服务子集合中各微服务的目标事务处理量;
实际结果确定模块40,用于基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果;
硬件资源计算模块50,用于根据各微服务的实际结果计算待上线***所需配置硬件的容量。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,配置硬件的容量计算装置首先确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合,然后计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列,其次计算每类微服务子集合中各微服务的目标事务处理量,再基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果,最后根据各微服务的实际结果计算待上线***所需配置硬件的容量。由于本申请通过计算每类微服务的测试结果序列来确定每个微服务的实际结果,使得单一微服务的结果确定时有依据,同时得到的实际计算结果更加准确,从而减少了硬件资源浪费或者降低了应用软件上线后的运行异常情况。
在一个实施例中,提出了一种计算机设备,设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合;计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列;计算每类微服务子集合中各微服务的目标事务处理量;基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果;根据各微服务的实际结果计算待上线***所需配置硬件的容量。
在一个实施例中,处理器执行对微服务集合进行分类后生成多类微服务子集合时,具体执行以下操作:加载微服务集合中各微服务对应的应用程序;在单位时间内执行各微服务对应的应用程序,得到单位时间内各微服务的事务处理量;基于单位时间内各微服务的事务处理量将微服务集合进行分类后生成多类微服务子集合。
在一个实施例中,处理器执行基于单位时间内各微服务的事务处理量将微服务集合进行分类后生成多类微服务子集合时,具体执行以下操作:获取预先设定的多个类型划分区间;逐一判断单位时间内各微服务的事务处理量在多个类型划分区间中的目标区间;将目标区间的所属类型确定为各微服务的所属类型;根据各微服务的所属类型生成多类微服务子集合。
在一个实施例中,处理器执行基于单位时间内各微服务的事务处理量将微服务集合进行分类后生成多类微服务子集合时,具体执行以下操作:采用滑动窗口算法创建滑动窗口;获取预先设定的多个类型划分区间;将预先设定的多个类型划分区间与滑动窗口进行关联,得到关联后的滑动窗口;将单位时间内各微服务的事务处理量输入关联后的滑动窗口中,输出各微服务的所属类型;根据各微服务的所属类型生成多类微服务子集合。
在一个实施例中,处理器执行计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列时,具体执行以下操作:从每类微服务子集合中抽取任意一个微服务确定为目标实例,生成多个目标实例;当接收到针对每个目标实例构建的资源测试组件时,加载与其对应的多种预设硬件配置;在每种预设硬件配置中执行构建的资源测试组件,生成每类微服务子集合的测试结果序列。
在一个实施例中,处理器执行计算每类微服务子集合中各微服务的目标事务处理量时,具体执行以下操作:接收针对每类微服务子集合中各微服务的请求序列;基于请求序列计算各微服务在多个时刻的事务处理量;从各微服务在多个时刻的事务处理量中获取各微服务的事务处理量的最大值;基于各微服务的最大值计算各微服务的目标事务处理量。
在一个实施例中,处理器执行基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果时具体执行以下操作:确定各微服务的目标事务处理量在与其对应的测试结果序列中的目标区间;获取目标区间中的最大值;将最大值确定为各微服务的实际结果。
在本申请实施例中,配置硬件的容量计算装置首先确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合,然后计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列,其次计算每类微服务子集合中各微服务的目标事务处理量,再基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果,最后根据各微服务的实际结果计算待上线***所需配置硬件的容量。由于本申请通过计算每类微服务的测试结果序列来确定每个微服务的实际结果,使得单一微服务的结果确定时有依据,同时得到的实际计算结果更加准确,从而减少了硬件资源浪费或者降低了应用软件上线后的运行异常情况。
在一个实施例中,提出了一种存储有计算机可读指令的介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合;计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列;计算每类微服务子集合中各微服务的目标事务处理量;基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果;根据各微服务的实际结果计算待上线***所需配置硬件的容量。
在一个实施例中,处理器执行对微服务集合进行分类后生成多类微服务子集合时,具体执行以下操作:加载微服务集合中各微服务对应的应用程序;在单位时间内执行各微服务对应的应用程序,得到单位时间内各微服务的事务处理量;基于单位时间内各微服务的事务处理量将微服务集合进行分类后生成多类微服务子集合。
在一个实施例中,处理器执行基于单位时间内各微服务的事务处理量将微服务集合进行分类后生成多类微服务子集合时,具体执行以下操作:获取预先设定的多个类型划分区间;逐一判断单位时间内各微服务的事务处理量在多个类型划分区间中的目标区间;将目标区间的所属类型确定为各微服务的所属类型;根据各微服务的所属类型生成多类微服务子集合。
在一个实施例中,处理器执行基于单位时间内各微服务的事务处理量将微服务集合进行分类后生成多类微服务子集合时,具体执行以下操作:采用滑动窗口算法创建滑动窗口;获取预先设定的多个类型划分区间;将预先设定的多个类型划分区间与滑动窗口进行关联,得到关联后的滑动窗口;将单位时间内各微服务的事务处理量输入关联后的滑动窗口中,输出各微服务的所属类型;根据各微服务的所属类型生成多类微服务子集合。
在一个实施例中,处理器执行计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列时,具体执行以下操作:从每类微服务子集合中抽取任意一个微服务确定为目标实例,生成多个目标实例;当接收到针对每个目标实例构建的资源测试组件时,加载与其对应的多种预设硬件配置;在每种预设硬件配置中执行构建的资源测试组件,生成每类微服务子集合的测试结果序列。
在一个实施例中,处理器执行计算每类微服务子集合中各微服务的目标事务处理量时,具体执行以下操作:接收针对每类微服务子集合中各微服务的请求序列;基于请求序列计算各微服务在多个时刻的事务处理量;从各微服务在多个时刻的事务处理量中获取各微服务的事务处理量的最大值;基于各微服务的最大值计算各微服务的目标事务处理量。
在一个实施例中,处理器执行基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果时具体执行以下操作:确定各微服务的目标事务处理量在与其对应的测试结果序列中的目标区间;获取目标区间中的最大值;将最大值确定为各微服务的实际结果。
在本申请实施例中,配置硬件的容量计算装置首先确定待上线***中存在的微服务集合,并对微服务集合进行分类后生成多类微服务子集合,然后计算每类微服务子集合在与其对应的多种预设硬件配置上的测试结果序列,其次计算每类微服务子集合中各微服务的目标事务处理量,再基于各微服务的目标事务处理量和与其对应的测试结果序列确定各微服务的实际结果,最后根据各微服务的实际结果计算待上线***所需配置硬件的容量。由于本申请通过计算每类微服务的测试结果序列来确定每个微服务的实际结果,使得单一微服务的结果确定时有依据,同时得到的实际计算结果更加准确,从而减少了硬件资源浪费或者降低了应用软件上线后的运行异常情况。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性介质,或随机存储记忆体(RandomAccess Memory,RAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种配置硬件的容量计算方法,其特征在于,所述方法包括:
确定待上线***中存在的微服务集合,并对所述微服务集合进行分类后生成多类微服务子集合;
计算每类所述微服务子集合在与其对应的多种预设硬件配置上的测试结果序列;
计算每类所述微服务子集合中各微服务的目标事务处理量;
基于所述各微服务的目标事务处理量和与其对应的所述测试结果序列确定所述各微服务的实际结果;
根据所述各微服务的实际结果计算所述待上线***所需配置硬件的容量。
2.根据权利要求1所述的方法,其特征在于,所述对所述微服务集合进行分类后生成多类微服务子集合,包括:
加载所述微服务集合中各微服务对应的应用程序;
在单位时间内执行所述各微服务对应的应用程序,得到单位时间内各微服务的事务处理量;
基于所述单位时间内各微服务的事务处理量将所述微服务集合进行分类后生成多类微服务子集合。
3.根据权利要求2所述的方法,其特征在于,基于所述单位时间内各微服务的事务处理量将所述微服务集合进行分类后生成多类微服务子集合,包括:
获取预先设定的多个类型划分区间;
逐一判断所述单位时间内各微服务的事务处理量在所述多个类型划分区间中的目标区间;
将所述目标区间的所属类型确定为所述各微服务的所属类型;
根据所述各微服务的所属类型生成多类微服务子集合。
4.根据权利要求2所述的方法,其特征在于,基于所述单位时间内各微服务的事务处理量将所述微服务集合进行分类后生成多类微服务子集合,包括:
采用滑动窗口算法创建滑动窗口;
获取预先设定的多个类型划分区间;
将所述预先设定的多个类型划分区间与所述滑动窗口进行关联,得到关联后的滑动窗口;
将所述单位时间内各微服务的事务处理量输入所述关联后的滑动窗口中,输出所述各微服务的所属类型;
根据所述各微服务的所属类型生成多类微服务子集合。
5.根据权利要求1所述的方法,其特征在于,所述计算每类所述微服务子集合在与其对应的多种预设硬件配置上的测试结果序列,包括:
从每类所述微服务子集合中抽取任意一个微服务确定为目标实例,生成多个目标实例;
当接收到针对每个所述目标实例构建的资源测试组件时,加载与其对应的多种预设硬件配置;
在每种所述预设硬件配置中执行构建的所述资源测试组件,生成每类所述微服务子集合的测试结果序列。
6.根据权利要求1所述的方法,其特征在于,所述计算每类所述微服务子集合中各微服务的目标事务处理量,包括:
接收针对每类所述微服务子集合中各微服务的请求序列;
基于所述请求序列计算所述各微服务在多个时刻的事务处理量;
从所述各微服务在多个时刻的事务处理量中获取各微服务的事务处理量的最大值;
基于所述各微服务的最大值计算所述各微服务的目标事务处理量。
7.根据权利要求1所述的方法,其特征在于,所述基于所述各微服务的目标事务处理量和与其对应的所述测试结果序列确定所述各微服务的实际结果,包括:
确定所述各微服务的目标事务处理量在与其对应的所述测试结果序列中的目标区间;
获取所述目标区间中的最大值;
将所述最大值确定为所述各微服务的实际结果。
8.一种配置硬件的容量计算装置,其特征在于,所述装置包括:
微服务分类模块,用于确定待上线***中存在的微服务集合,并对所述微服务集合进行分类后生成多类微服务子集合;
测试结果序列计算模块,用于计算每类所述微服务子集合在与其对应的多种预设硬件配置上的测试结果序列;
事务处理量计算模块,用于计算每类所述微服务子集合中各微服务的目标事务处理量;
实际结果确定模块,用于基于所述各微服务的目标事务处理量和与其对应的所述测试结果序列确定所述各微服务的实际结果;
硬件资源计算模块,用于根据所述各微服务的实际结果计算所述待上线***所需配置硬件的容量。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述配置硬件的容量计算方法的步骤。
10.一种存储有计算机可读指令的介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述配置硬件的容量计算的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111275363.2A CN113918345A (zh) | 2021-10-29 | 2021-10-29 | 一种配置硬件的容量计算方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111275363.2A CN113918345A (zh) | 2021-10-29 | 2021-10-29 | 一种配置硬件的容量计算方法、装置、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113918345A true CN113918345A (zh) | 2022-01-11 |
Family
ID=79243965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111275363.2A Pending CN113918345A (zh) | 2021-10-29 | 2021-10-29 | 一种配置硬件的容量计算方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113918345A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866598A (zh) * | 2022-04-29 | 2022-08-05 | 安徽宝葫芦信息科技集团股份有限公司 | 基于微服务架构和usb接口的模块动态扩展、授权*** |
-
2021
- 2021-10-29 CN CN202111275363.2A patent/CN113918345A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866598A (zh) * | 2022-04-29 | 2022-08-05 | 安徽宝葫芦信息科技集团股份有限公司 | 基于微服务架构和usb接口的模块动态扩展、授权*** |
CN114866598B (zh) * | 2022-04-29 | 2023-09-19 | 安徽宝葫芦信息科技集团股份有限公司 | 基于微服务架构和usb接口的模块动态扩展、授权*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595157B (zh) | 区块链数据的处理方法、装置、设备和存储介质 | |
CN108462760B (zh) | 电子装置、集群访问域名自动生成方法及存储介质 | |
CN108492005B (zh) | 项目数据处理方法、装置、计算机设备和存储介质 | |
CN110597719B (zh) | 一种用于适配测试的图像聚类方法、装置及介质 | |
CN112887371B (zh) | 边缘计算方法、装置、计算机设备及存储介质 | |
CN111988429A (zh) | 算法调度方法以及*** | |
CN115242598A (zh) | 一种云操作***部署方法及装置 | |
CN113918345A (zh) | 一种配置硬件的容量计算方法、装置、计算机设备及介质 | |
CN109165947B (zh) | 账户信息确定方法、装置及服务器 | |
CN111209111A (zh) | 基于区块链***的资源分配方法、装置、设备和存储介质 | |
CN112214321B (zh) | 一种新增微服务的节点选择方法、装置及微服务管理平台 | |
CN113703975A (zh) | 模型分配方法、装置、电子设备及计算机可读存储介质 | |
CN110177006B (zh) | 基于接口预测模型的节点测试方法及装置 | |
CN115712571A (zh) | 一种交互服务测试、装置、计算机设备及存储介质 | |
CN113052687B (zh) | 一种交易路由分发方法和相关装置 | |
CN113741868B (zh) | 业务计算任务处理方法、装置、计算机设备和存储介质 | |
CN114968603A (zh) | 一种支持多档负载平衡的容量检测方法及装置 | |
CN114090204A (zh) | 一种资源预测方法及装置 | |
US20170090820A1 (en) | Method and device for operating a many-core system | |
CN108509478B (zh) | 规则引擎文件的拆分调用方法、电子装置及存储介质 | |
CN111966286A (zh) | 一种多数据池分级迁移的方法及*** | |
CN112235152B (zh) | 流量大小估算方法和装置 | |
US20220198268A1 (en) | Estimated online hard negative mining via probabilistic selection and scores history consideration | |
CN117370473B (zh) | 基于完整性攻击的数据处理方法、装置、设备及存储介质 | |
CN113515495B (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 |