CN109561134B - 电子装置、分布式集群服务分配方法及存储介质 - Google Patents
电子装置、分布式集群服务分配方法及存储介质 Download PDFInfo
- Publication number
- CN109561134B CN109561134B CN201811255104.1A CN201811255104A CN109561134B CN 109561134 B CN109561134 B CN 109561134B CN 201811255104 A CN201811255104 A CN 201811255104A CN 109561134 B CN109561134 B CN 109561134B
- Authority
- CN
- China
- Prior art keywords
- docker container
- service
- resources
- distributed cluster
- utilization rate
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及云监控,提出分布式集群服务分配方法,包括:获取分布式集群中各docker容器对第一优先级服务的响应时间;若有第一docker容器对第一优先级服务的响应时间大于响应时间阈值,则确定该第一docker容器的第一资源利用率;若第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于预设的响应时间阈值,则确定第二docker容器的可用资源;若有可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至第一docker容器。能够节约资源以及提高服务时间和成本。本发明还提出一种电子装置及存储介质。
Description
技术领域
本发明涉及分布式集群资源分配领域,尤其涉及一种电子装置、分布式集群服务分配方法及存储介质。
背景技术
随着机器学习模型的发展,机器学习模型的应用也变得越来越普及,例如,在语言识别、图像识别、自然语言处理和专家系统等领域已经变得很普及。
目前机器学习模型的使用通常需要进行模型的训练,且在模型的使用过程中,随着使用环境以及不同样本的积累,需要定时对模型进行进一步训练以及更新。而常用的方法是在分布式集群中定时设置机器学习模型的训练时间,一般为了不影响该分布式集群调用机器学习模型的性能,人们根据经验值设置机器学习模型的训练时间。导致无法灵活高效的调整分布式集群中的可用资源,使得资源浪费以及服务时间和成本均无法可控。
发明内容
有鉴于此,本发明提出一种电子装置、分布式集群服务分配方法及存储介质,能够灵活高效的调整分布式集群中的可用资源,节约资源以及提高服务时间和成本。
首先,为实现上述目的,本发明提出一种电子装置,所述电子装置包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的分布式集群服务分配程序,所述分布式集群服务分配程序被所述处理器执行时实现如下步骤:
A1、分别获取预先确定的分布式集群中各docker容器对第一优先级服务的响应时间;
A2、若有第一docker容器对第一优先级服务的响应时间大于预设的响应时间阈值,则确定该第一docker容器的第一资源利用率;
A3、若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;
A4、若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于所述预设的响应时间阈值,则确定各第二docker容器的可用资源;
A5、若有第二docker容器的可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至所述第一docker容器。
优选地,在所述步骤A1之前,还包括如下步骤:
预先在分布式集群中部署Docker容器;
根据Docker容器中运行的任务对资源的需求总量,为Docker容器分配资源,其中所述资源包括CPU资源、内存资源、以及硬盘资源。
优选地,在所述步骤A2中,所述确定该第一docker容器的第一资源利用率的步骤包括:
获取该第一docker容器的运行所述第一优先级服务的状态数据,所述状态数据包括业务请求的次数;
计算所述业务请求次数与该第一docker容器可响应的业务请求的总次数的比值,该比值为确定的第一资源利用率。
优选地,所述分布式集群服务分配程序被所述处理器执行时还实现如下步骤:
若各第二docker容器的可用资源均小于所述预设的可用资源阈值,则需要向预先确定的管理终端发送重新部署所述分布式集群中各docker容器的请求。
优选地,所述第一优先级服务对应为运行机器学习模型进行相关业务处理的服务,所述第二优先级服务对应为进行机器学习模型训练的服务。
此外,为实现上述目的,本发明还提出一种分布式集群服务分配方法,所述方法包括如下步骤:
S1、分别获取预先确定的分布式集群中各docker容器对第一优先级服务的响应时间;
S2、若有第一docker容器对第一优先级服务的响应时间大于预设的响应时间阈值,则确定该第一docker容器的第一资源利用率;
S3、若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;
S4、若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于所述预设的响应时间阈值,则确定各第二docker容器的可用资源;
S5、若有第二docker容器的可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至所述第一docker容器。
优选地,在所述步骤S1之前,还包括如下步骤:
预先在分布式集群中部署Docker容器;
根据Docker容器中运行的任务对资源的需求总量,为Docker容器分配资源,其中所述资源包括CPU资源、内存资源、以及硬盘资源。
优选地,在所述步骤S2中,所述确定该第一docker容器的第一资源利用率的步骤包括:
获取该第一docker容器的运行所述第一优先级服务的状态数据,所述状态数据包括业务请求的次数;
计算所述业务请求次数与该第一docker容器可响应的业务请求的总次数的比值,该比值为确定的第一资源利用率。
优选地,所述方法还包括如下步骤:
若各第二docker容器的可用资源均小于所述预设的可用资源阈值,则需要向预先确定的管理终端发送重新部署所述分布式集群中各docker容器的请求。此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有分布式集群服务分配程序,所述分布式集群服务分配程序可被至少一个处理器执行,以使所述至少一个处理器执行如上所述的分布式集群服务分配方法的步骤。
本发明所提出的电子装置、分布式集群服务分配方法及存储介质,通过分别获取预先确定的分布式集群中各docker容器对第一优先级服务的响应时间;若有第一docker容器对第一优先级服务的响应时间大于预设的响应时间阈值,则确定该第一docker容器的第一资源利用率;若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于所述预设的响应时间阈值,则确定各第二docker容器的可用资源;若有第二docker容器的可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至所述第一docker容器。能够灵活高效的调整分布式集群中的可用资源,节约资源以及提高服务时间和成本。
附图说明
图1是本发明提出的电子装置一可选的硬件架构的示意图;
图2是本发明电子装置一实施例中分布式集群服务分配程序的程序模块示意图;
图3是本发明分布式集群服务分配方法较佳实施例的实施流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明提出的电子装置一可选的硬件架构示意图。本实施例中,电子装置10可包括,但不仅限于,可通过通信总线14相互通信连接存储器11、处理器12、网络接口13。需要指出的是,图1仅示出了具有组件11-14的电子装置10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11至少包括一种类型的计算机可读存储介质,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器11可以是电子装置10的内部存储单元,例如电子装置10的硬盘或内存。在另一些实施例中,存储器11也可以是电子装置10的外包存储设备,例如电子装置10上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器11还可以既包括电子装置10的内部存储单元也包括其外包存储设备。本实施例中,存储器11通常用于存储安装于电子装置10的操作系统和各类应用软件,例如分布式集群服务分配程序等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。处理器12通常用于控制电子装置10的总体操作。本实施例中,处理器12用于运行存储器11中存储的程序代码或者处理数据,例如运行的分布式集群服务分配程序等。
网络接口13可包括无线网络接口或有线网络接口,网络接口13通常用于在电子装置10与其他电子设备之间建立通信连接。
通信总线14用于实现组件11-13之间的通信连接。
图1仅示出了具有组件11-14以及分布式集群服务分配程序的电子装置10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,电子装置10还可以包括用户接口(图1中未示出),用户接口可以包括显示器、输入单元比如键盘,其中,用户接口还可以包括标准的有线接口、无线接口等。
可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED触摸器等。进一步地,显示器也可称为显示屏或显示单元,用于显示在电子装置10中处理信息以及用于显示可视化的用户界面。
可选地,在一些实施例中,电子装置10还可以包括音频单元(音频单元图1中未示出),音频单元可以在电子装置10处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将接收的或者存储的音频数据转换为音频信号;进一步地,电子装置10还可以包括音频输出单元,音频输出单元将音频单元转换的音频信号输出,而且音频输出单元还可以提供与电子装置10执行的特定功能相关的音频输出(例如呼叫信号接收声音、消息接收声音等等),音频输出单元可以包括扬声器、蜂鸣器等等。
可选地,在一些实施例中,电子装置10还可以包括警报单元(图中未示出),警报单元可以提供输出已将事件的发生通知给电子装置10。典型的事件可以包括呼叫接收、消息接收、键信号输入、触摸输入等等。除了音频或者视频输出之外,警报单元可以以不同的方式提供输出以通知事件的发生。例如,警报单元可以以震动的形式提供输出,当接收到呼叫、消息或一些其他可以使电子装置10进入通信模式时,警报单元可以提供触觉输出(即,振动)以将其通知给用户。
在一实施例中,存储器11中存储的分布式集群服务分配程序被处理器12执行时,实现如下操作:
A1,分别获取预先确定的分布式集群中各docker容器对第一优先级服务的响应时间;
具体地,在实际应用过程中,需要预先在分布式集群中部署Docker容器,例如,可以根据Docker容器中运行的任务对资源的需求总量,为Docker容器分配资源,其中该资源包括CPU资源、内存资源、以及硬盘资源等,根据资源类型的不同,为Docker容器分配资源的过程也不同,具体的:对于CPU资源,可以向不同的Docker容器分配不同数量的CPU、或者可以向不同的Docker容器分配CPU的使用上限,其中,不同的Docker容器可以使用相同的CPU,例如,假设分布式集群中包括4个CPU,分别记为CPU1-CPU4,分布式集群中包括3个Docker容器,分别记为Docker容器1-Docker容器3,则为各Docker容器分配的CPU可以如下:Docker容器1使用CPU1和CPU2,Docker容器2使用CPU2和CPU3,Docker容器3使用CPU1、CPU3和CPU4。对于内存资源,可以为不同的Docker容器设置内存使用上限,各个Docker容器的上限之和小于或等于分布式集群的总内存,例如,分布式集群中包括100G的内存,分布式集群中包括3个Docker容器,分别记为Docker容器1-Docker容器3,则为各个Docker容器设置的内存使用上限可以如下:Docker容器1的内存上限为25G,Docker容器2的内存使用上限为40G,Docker容器3的内存使用上限为35G,在实际应用过程中,Docker容器1-Docker容器3共用分布式集群的100G内存,但Docker容器1最多使用25G,Docker容器2最多使用40G,Docker容器3最多使用35G。需要说明的是,对于硬盘资源的分配方式与内存的分配方式类似,此处不再进行赘述,当然,分布式集群中还可以包括其它资源,本发明对此不作具体限定。在为各Docker容器分配完成资源后,各个Docker容器可以对接收到的服务请求做出响应。
在本实施例中,所述分布式集群中各docker容器用于运行机器学习模型或者用于机器学习模型的训练,例如,运行非法图片过滤模型进行非法图片的过滤服务,或者进行非法图片过滤模型的训练。具体地,所述第一优先级服务对应为运行机器学习模型进行相关业务处理的服务,所述第二优先级服务对应为进行机器学习模型训练的服务。
A2,若有第一docker容器对第一优先级服务的响应时间大于预设的响应时间阈值,则确定该第一docker容器的第一资源利用率;
具体地,所述确定该第一docker容器的第一资源利用率的步骤包括:
获取该第一docker容器的运行所述第一优先级服务的状态数据,根据所述状态数据确定所述第一资源利用率;
本实施例中,获取的状态数据可包括业务数据和服务状态数据。业务数据可以为机器学习模型处理的各种业务数据,例如非法图片识别模型进行非法图片识别的业务数据、人脸识别模型进行人脸识别的业务数据等,不限于此。服务状态数据可包括业务请求的次数、对业务数据进行响应处理所耗费的资源情况等。在一个实施例中,根据所述状态数据确定所述第一资源利用率的步骤,包括:获取所述状态数据中的业务请求次数,根据所述业务请求次数与总请求次数的比值得到第一资源利用率。具体地,总请求次数是指该第一docker容器可响应的业务请求的总次数。
A3,若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;
具体地,在本实施例中,若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则说明在该第一docker容器中运行第一优先级服务的进程数与对应的服务请求数不匹配,需要关闭该第一docker容器中运行的第二优先级服务,以为第一优先级服务提供充足的进程数,进一步提高第一docker容器对第一优先级服务的响应时间。
A4,若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于所述预设的响应时间阈值,则确定除所述第一docker容器之外的其余各第二docker容器的可用资源;
进一步可以理解的是,该第一docker容器对第一优先级服务请求的响应时间大于所述预设的响应时间阈值,则说明该第一docker容器配置的资源不足以满足第一优先级的服务,此时,需要向各第二docker容器获取足够的资源。
A5,若有第二docker容器的可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至所述第一docker容器。
进一步地,若各第二docker容器的可用资源均小于所述预设的可用资源阈值,则需要向预先确定的管理终端发送重新部署所述分布式集群中各docker容器的请求。
由上述事实施例可知,本发明提出的电子装置,通过分别获取预先确定的分布式集群中各docker容器对第一优先级服务的响应时间;若有第一docker容器对第一优先级服务的响应时间大于预设的响应时间阈值,则确定该第一docker容器的第一资源利用率;若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于所述预设的响应时间阈值,则确定各第二docker容器的可用资源;若有第二docker容器的可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至所述第一docker容器。能够灵活高效的调整分布式集群中的可用资源,节约资源以及提高服务时间和成本。
此外,本发明的分布式集群服务分配程序依据其各部分所实现的功能不同,可用具有相同功能的程序模块进行描述。请参阅图2所示,是本发明电子装置一实施例中分布式集群服务分配程序的程序模块示意图。本实施例中,分布式集群服务分配程序依据其各部分所实现的功能的不同,可以被分割成获取模块201第一确定模块202、关闭模块203、第二确定模块204以及分配模块205。由上面的描述可知,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述分布式集群服务分配程序在电子装置10中的执行过程。所述模块201-205所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
获取模块201用于分别获取预先确定的分布式集群中各docker容器对第一优先级服务的响应时间;
第一确定模块202用于在若有第一docker容器对第一优先级服务的响应时间大于预设的响应时间阈值,则确定该第一docker容器的第一资源利用率;
关闭模块203用于在若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;
第二确定模块204用于在若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于所述预设的响应时间阈值,则确定除所述第一docker容器之外的其余各第二docker容器的可用资源;
分配模块205用于在若有第二docker容器的可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至所述第一docker容器。
此外,本发明还提出一种分布式集群服务分配方法,请参阅图3所示,所述分布式集群服务分配方法包括如下步骤:
分别获取预先确定的分布式集群中各docker容器对第一优先级服务的响应时间;
具体地,在实际应用过程中,需要预先在分布式集群中部署Docker容器,例如,可以根据Docker容器中运行的任务对资源的需求总量,为Docker容器分配资源,其中该资源包括CPU资源、内存资源、以及硬盘资源等,根据资源类型的不同,为Docker容器分配资源的过程也不同,具体的:对于CPU资源,可以向不同的Docker容器分配不同数量的CPU、或者可以向不同的Docker容器分配CPU的使用上限,其中,不同的Docker容器可以使用相同的CPU,例如,假设分布式集群中包括4个CPU,分别记为CPU1-CPU4,分布式集群中包括3个Docker容器,分别记为Docker容器1-Docker容器3,则为各Docker容器分配的CPU可以如下:Docker容器1使用CPU1和CPU2,Docker容器2使用CPU2和CPU3,Docker容器3使用CPU1、CPU3和CPU4。对于内存资源,可以为不同的Docker容器设置内存使用上限,各个Docker容器的上限之和小于或等于分布式集群的总内存,例如,分布式集群中包括100G的内存,分布式集群中包括3个Docker容器,分别记为Docker容器1-Docker容器3,则为各个Docker容器设置的内存使用上限可以如下:Docker容器1的内存上限为25G,Docker容器2的内存使用上限为40G,Docker容器3的内存使用上限为35G,在实际应用过程中,Docker容器1-Docker容器3共用分布式集群的100G内存,但Docker容器1最多使用25G,Docker容器2最多使用40G,Docker容器3最多使用35G。需要说明的是,对于硬盘资源的分配方式与内存的分配方式类似,此处不再进行赘述,当然,分布式集群中还可以包括其它资源,本发明对此不作具体限定。在为各Docker容器分配完成资源后,各个Docker容器可以对接收到的服务请求做出响应。
在本实施例中,所述分布式集群中各docker容器用于运行机器学习模型或者用于机器学习模型的训练,例如,运行非法图片过滤模型进行非法图片的过滤服务,或者进行非法图片过滤模型的训练。具体地,所述第一优先级服务对应为运行机器学习模型进行相关业务处理的服务,所述第二优先级服务对应为进行机器学习模型训练的服务。
A2,若有第一docker容器对第一优先级服务的响应时间大于预设的响应时间阈值,则确定该第一docker容器的第一资源利用率;
具体地,所述确定该第一docker容器的第一资源利用率的步骤包括:
获取该第一docker容器的运行所述第一优先级服务的状态数据,根据所述状态数据确定所述第一资源利用率;
本实施例中,获取的状态数据可包括业务数据和服务状态数据。业务数据可以为机器学习模型处理的各种业务数据,例如非法图片识别模型进行非法图片识别的业务数据、人脸识别模型进行人脸识别的业务数据等,不限于此。服务状态数据可包括业务请求的次数、对业务数据进行响应处理所耗费的资源情况等。在一个实施例中,根据所述状态数据确定所述第一资源利用率的步骤,包括:获取所述状态数据中的业务请求次数,根据所述业务请求次数与总请求次数的比值得到第一资源利用率。具体地,总请求次数是指该第一docker容器可响应的业务请求的总次数。
A3,若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;
具体地,在本实施例中,若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则说明在该第一docker容器中运行第一优先级服务的进程数与对应的服务请求数不匹配,需要关闭该第一docker容器中运行的第二优先级服务,以为第一优先级服务提供充足的进程数,进一步提高第一docker容器对第一优先级服务的响应时间。
A4,若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于所述预设的响应时间阈值,则确定除所述第一docker容器之外的其余各第二docker容器的可用资源;
进一步可以理解的是,该第一docker容器对第一优先级服务请求的响应时间大于所述预设的响应时间阈值,则说明该第一docker容器配置的资源不足以满足第一优先级的服务,此时,需要向各第二docker容器获取足够的资源。
A5,若有第二docker容器的可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至所述第一docker容器。
进一步地,若各第二docker容器的可用资源均小于所述预设的可用资源阈值,则需要向预先确定的管理终端发送重新部署所述分布式集群中各docker容器的请求。
由上述事实施例可知,本发明提出的分布式集群服务分配方法,通过分别获取预先确定的分布式集群中各docker容器对第一优先级服务的响应时间;若有第一docker容器对第一优先级服务的响应时间大于预设的响应时间阈值,则确定该第一docker容器的第一资源利用率;若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于所述预设的响应时间阈值,则确定各第二docker容器的可用资源;若有第二docker容器的可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至所述第一docker容器。能够灵活高效的调整分布式集群中的可用资源,节约资源以及提高服务时间和成本。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有分布式集群服务分配程序,所述分布式集群服务分配程序被处理器执行时实现如下操作:
分别获取预先确定的分布式集群中各docker容器对第一优先级服务的响应时间;
若有第一docker容器对第一优先级服务的响应时间大于预设的响应时间阈值,则确定该第一docker容器的第一资源利用率;
若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;
若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于所述预设的响应时间阈值,则确定除所述第一docker容器之外的其余各第二docker容器的可用资源;
若有第二docker容器的可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至所述第一docker容器。
本发明计算机可读存储介质的具体实施过程,与上述电子装置以及分布式集群服务分配方法的具体实施过程类似,在此不再赘述。
通过上述分析可知,本发明提出的计算机可读存储介质,通过分别获取预先确定的分布式集群中各docker容器对第一优先级服务的响应时间;若有第一docker容器对第一优先级服务的响应时间大于预设的响应时间阈值,则确定该第一docker容器的第一资源利用率;若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于所述预设的响应时间阈值,则确定各第二docker容器的可用资源;若有第二docker容器的可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至所述第一docker容器。能够灵活高效的调整分布式集群中的可用资源,节约资源以及提高服务时间和成本。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种电子装置,其特征在于,所述电子装置包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的分布式集群服务分配程序,所述分布式集群服务分配程序被所述处理器执行时实现如下步骤:
A1、分别获取预先确定的分布式集群中各docker容器对第一优先级服务的响应时间;
A2、若有第一docker容器对第一优先级服务的响应时间大于预设的响应时间阈值,则确定该第一docker容器的第一资源利用率,其中,所述确定该第一docker容器的第一资源利用率包括:获取该第一docker容器的运行所述第一优先级服务的状态数据,根据所述状态数据确定所述第一资源利用率,所述状态数据包括业务数据和服务状态数据;
A3、若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;
A4、若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于所述预设的响应时间阈值,则确定除所述第一docker容器之外的其余各第二docker容器的可用资源;
A5、若有第二docker容器的可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至所述第一docker容器。
2.如权利要求1所述的电子装置,其特征在于,在所述步骤A1之前,还包括如下步骤:
预先在分布式集群中部署Docker容器;
根据Docker容器中运行的任务对资源的需求总量,为Docker容器分配资源,其中所述资源包括CPU资源、内存资源、以及硬盘资源。
3.如权利要求2所述的电子装置,其特征在于,在所述步骤A2中,所述确定该第一docker容器的第一资源利用率的步骤包括:
获取该第一docker容器的运行所述第一优先级服务的状态数据,所述状态数据包括业务请求的次数;
计算所述业务请求次数与该第一docker容器可响应的业务请求的总次数的比值,该比值为确定的第一资源利用率。
4.如权利要求1所述的电子装置,其特征在于,所述分布式集群服务分配程序被所述处理器执行时还实现如下步骤:
若各第二docker容器的可用资源均小于所述预设的可用资源阈值,则需要向预先确定的管理终端发送重新部署所述分布式集群中各docker容器的请求。
5.如权利要求1-4任一所述的电子装置,其特征在于,所述第一优先级服务对应为运行机器学习模型进行相关业务处理的服务,所述第二优先级服务对应为进行机器学习模型训练的服务。
6.一种分布式集群服务分配方法,其特征在于,所述方法包括如下步骤:
S1、分别获取预先确定的分布式集群中各docker容器对第一优先级服务的响应时间;
S2、若有第一docker容器对第一优先级服务的响应时间大于预设的响应时间阈值,则确定该第一docker容器的第一资源利用率,其中,所述确定该第一docker容器的第一资源利用率包括:获取该第一docker容器的运行所述第一优先级服务的状态数据,根据所述状态数据确定所述第一资源利用率,所述状态数据包括业务数据和服务状态数据;
S3、若该第一docker容器的第一资源利用率小于预设的资源利用率阈值,则关闭该第一docker容器中运行的第二优先级服务;
S4、若关闭之后,该第一docker容器对第一优先级服务请求的响应时间仍大于所述预设的响应时间阈值,则确定除所述第一docker容器之外的其余各第二docker容器的可用资源;
S5、若有第二docker容器的可用资源大于或者等于预设的可用资源阈值,则将该第二docker容器对应的可用资源分配至所述第一docker容器。
7.如权利要求6所述的分布式集群服务分配方法,其特征在于,在所述步骤S1之前,还包括如下步骤:
预先在分布式集群中部署Docker容器;
根据Docker容器中运行的任务对资源的需求总量,为Docker容器分配资源,其中所述资源包括CPU资源、内存资源、以及硬盘资源。
8.如权利要求7所述的分布式集群服务分配方法,其特征在于,在所述步骤S2中,所述确定该第一docker容器的第一资源利用率的步骤包括:
获取该第一docker容器的运行所述第一优先级服务的状态数据,所述状态数据包括业务请求的次数;
计算所述业务请求次数与该第一docker容器可响应的业务请求的总次数的比值,该比值为确定的第一资源利用率。
9.如权利要求6所述的分布式集群服务分配方法,其特征在于,所述方法还包括如下步骤:
若各第二docker容器的可用资源均小于所述预设的可用资源阈值,则需要向预先确定的管理终端发送重新部署所述分布式集群中各docker容器的请求。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有分布式集群服务分配程序,所述分布式集群服务分配程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求6-9中任一项所述的分布式集群服务分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811255104.1A CN109561134B (zh) | 2018-10-26 | 2018-10-26 | 电子装置、分布式集群服务分配方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811255104.1A CN109561134B (zh) | 2018-10-26 | 2018-10-26 | 电子装置、分布式集群服务分配方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109561134A CN109561134A (zh) | 2019-04-02 |
CN109561134B true CN109561134B (zh) | 2022-06-10 |
Family
ID=65865239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811255104.1A Active CN109561134B (zh) | 2018-10-26 | 2018-10-26 | 电子装置、分布式集群服务分配方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109561134B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096352B (zh) * | 2019-04-28 | 2023-03-31 | 腾讯科技(上海)有限公司 | 进程管理方法、装置及计算机可读存储介质 |
CN112631711A (zh) * | 2019-09-24 | 2021-04-09 | 北京金山云网络技术有限公司 | 容器集群中Master节点的调整方法、装置及服务器 |
CN111522664A (zh) * | 2020-04-24 | 2020-08-11 | 中国工商银行股份有限公司 | 基于分布式服务的服务资源管控方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731373A (zh) * | 2012-10-15 | 2014-04-16 | 中兴通讯股份有限公司 | 带宽资源的调整方法、装置及系统 |
CN105631196A (zh) * | 2015-12-22 | 2016-06-01 | 中国科学院软件研究所 | 一种面向微服务架构的容器级弹性资源供给系统及方法 |
CN106844027A (zh) * | 2017-01-13 | 2017-06-13 | 广西电网有限责任公司电力科学研究院 | 一种基于节点负载的任务调度方法 |
CN107391633A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据库集群自动优化处理方法、装置及服务器 |
CN107592219A (zh) * | 2017-09-04 | 2018-01-16 | 北京潘达互娱科技有限公司 | 服务降级处理方法及装置 |
US9888067B1 (en) * | 2014-11-10 | 2018-02-06 | Turbonomic, Inc. | Managing resources in container systems |
CN107688495A (zh) * | 2017-06-22 | 2018-02-13 | 平安科技(深圳)有限公司 | 调度处理器的方法及设备 |
CN107959640A (zh) * | 2016-10-14 | 2018-04-24 | 腾讯科技(深圳)有限公司 | 网络业务调度方法及装置 |
CN108093046A (zh) * | 2017-12-18 | 2018-05-29 | 江苏润和软件股份有限公司 | 一种基于前馈控制的云应用容器资源调度方法 |
-
2018
- 2018-10-26 CN CN201811255104.1A patent/CN109561134B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731373A (zh) * | 2012-10-15 | 2014-04-16 | 中兴通讯股份有限公司 | 带宽资源的调整方法、装置及系统 |
US9888067B1 (en) * | 2014-11-10 | 2018-02-06 | Turbonomic, Inc. | Managing resources in container systems |
CN105631196A (zh) * | 2015-12-22 | 2016-06-01 | 中国科学院软件研究所 | 一种面向微服务架构的容器级弹性资源供给系统及方法 |
CN107959640A (zh) * | 2016-10-14 | 2018-04-24 | 腾讯科技(深圳)有限公司 | 网络业务调度方法及装置 |
CN106844027A (zh) * | 2017-01-13 | 2017-06-13 | 广西电网有限责任公司电力科学研究院 | 一种基于节点负载的任务调度方法 |
CN107688495A (zh) * | 2017-06-22 | 2018-02-13 | 平安科技(深圳)有限公司 | 调度处理器的方法及设备 |
CN107391633A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据库集群自动优化处理方法、装置及服务器 |
CN107592219A (zh) * | 2017-09-04 | 2018-01-16 | 北京潘达互娱科技有限公司 | 服务降级处理方法及装置 |
CN108093046A (zh) * | 2017-12-18 | 2018-05-29 | 江苏润和软件股份有限公司 | 一种基于前馈控制的云应用容器资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109561134A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108462760B (zh) | 电子装置、集群访问域名自动生成方法及存储介质 | |
CN108427705B (zh) | 电子装置、分布式系统日志查询方法及存储介质 | |
CN108388599B (zh) | 电子装置、数据迁移及调用方法及存储介质 | |
CN109561134B (zh) | 电子装置、分布式集群服务分配方法及存储介质 | |
CN112118286B (zh) | 基于mdc多线程链路追踪方法、装置及计算机可读存储介质 | |
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
CN108415925B (zh) | 电子装置、数据调用日志生成及查询方法及存储介质 | |
CN108762956B (zh) | 获取Native本地数据的方法、服务器、移动终端及存储介质 | |
CN108446171B (zh) | 电子装置、分布式系统执行任务分配方法及存储介质 | |
CN108491304B (zh) | 电子装置、业务系统风险控制方法及存储介质 | |
CN109684073A (zh) | 电子装置、云服务资源分配方法及存储介质 | |
CN110764913B (zh) | 基于规则调用的数据计算方法、客户端及可读存储介质 | |
CN109144741A (zh) | 进程间通信的方法、装置及电子设备 | |
CN110569114B (zh) | 一种业务处理方法、装置、设备及存储介质 | |
CN108243254B (zh) | 电子装置、应用升级版本发布的方法及存储介质 | |
CN114157679A (zh) | 基于云原生分布式应用监控方法、装置、设备及介质 | |
CN111078587A (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
CN111258676A (zh) | 模块预加载方法、装置、设备及可读存储介质 | |
CN109460291B (zh) | 电子装置、弹性控制服务器集群的方法及存储介质 | |
CN114995914A (zh) | 图片数据的处理方法、装置、计算机设备及存储介质 | |
CN115269063A (zh) | 进程创建方法、系统、设备及介质 | |
CN112580086B (zh) | 配置文件的访问保护方法、装置、设备以及存储介质 | |
CN113127221B (zh) | 一种限制消息消费速率的方法、装置、设备及存储介质 | |
CN113032153A (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 |