CN109684073A - 电子装置、云服务资源分配方法及存储介质 - Google Patents
电子装置、云服务资源分配方法及存储介质 Download PDFInfo
- Publication number
- CN109684073A CN109684073A CN201811256303.4A CN201811256303A CN109684073A CN 109684073 A CN109684073 A CN 109684073A CN 201811256303 A CN201811256303 A CN 201811256303A CN 109684073 A CN109684073 A CN 109684073A
- Authority
- CN
- China
- Prior art keywords
- consumption
- cloud service
- resource
- type
- memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013468 resource allocation Methods 0.000 title claims abstract description 18
- 238000000429 assembly Methods 0.000 claims abstract description 33
- 230000000712 assembly Effects 0.000 claims abstract description 33
- 238000013507 mapping Methods 0.000 claims abstract description 25
- 238000012544 monitoring process Methods 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 126
- 230000006870 function Effects 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 9
- 238000000151 deposition Methods 0.000 claims 2
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 239000004744 fabric Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06F9/5044—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 considering hardware capabilities
-
- 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
-
- 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
-
- 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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5015—Service provider selection
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)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及分布式部署,提出了一种云服务资源分配方法,该方法包括:监测预先确定的分布式集群中各docker容器对预先配置的可用资源的消耗状况,生成各docker容器对应的可用资源消耗值列表;接收到携带有业务类型的调用云服务的请求后,确定该云服务对应的资源消耗类型;根据预先存储的资源消耗类型与可用资源消耗阈值之间的映射关系,确定该云服务对应的可用资源消耗阈值;若所述资源消耗值列表中有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。能够使云服务得到更合理的分配,提高云服务的执行效率,节约资源。本发明还提出一种电子装置及存储介质。
Description
技术领域
本发明涉及云服务领域,尤其涉及一种电子装置、云服务资源分配方法及存储介质。
背景技术
随着云技术的飞速发展,云服务的需求越来越大,用户对云服务的质量要求越来越高。但是,目前云计算框架通常是大数据中心,服务分散各地的不同用户,该模式制约了在云端提供大规模并发且高质量云服务的能力,也受限于数据中心对外服务的带宽。为了能够让云服务更靠近用户,业界提出了分布式数据中心的概念,例如通过FaaS(函数即是服务)面向各种用户。而用户为了实现业务需求,需要将自建的函数上传到FaaS中,并通过分布式数据中心来统一管理和支持服务的调用。由于不同服务对于CPU和内存的消耗不同,若盲目地将接收到的云服务分配至分布式集群中的服务器,则会降低云服务的执行效率,浪费资源。
发明内容
有鉴于此,本发明提出一种电子装置、云服务资源分配方法及存储介质,能够使云服务得到更合理的分配,提高云服务的执行效率,节约资源。
首先,为实现上述目的,本发明提出一种电子装置,所述电子装置包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的云服务资源分配程序,所述云服务资源分配程序被所述处理器执行时实现如下步骤:
A1、监测预先确定的分布式集群中各docker容器对预先配置的可用资源的消耗状况,生成各docker容器对应的可用资源消耗值列表;
A2、接收到携带有业务类型的调用云服务的请求后,确定该云服务对应的资源消耗类型;
A3、根据预先存储的资源消耗类型与可用资源消耗阈值之间的映射关系,确定该云服务对应的可用资源消耗阈值;A4、若所述资源消耗值列表中有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。
优选地,在所述步骤A1之前还包括如下步骤:
预先在分布式集群中部署Docker容器;
根据预先确定的Docker容器中运行的任务对资源的需求总量,为各个Docker容器分配可用资源,其中可用资源包括CPU资源、内存资源、以及硬盘资源。
优选地,所述步骤A2之前还包括如下步骤:确定预先确定的云服务对应的资源消耗类型,并建立云服务与资源消耗类型之间的映射关系;
所述步骤A2包括:根据预先存储的云服务与资源消耗类型之间的映射关系,确定该云服务对应的资源消耗类型。
优选地,所述确定预先确定的云服务对应的资源消耗类型的步骤,包括:
若有预先确定的云服务被调用,则记录该云服务对应的每个函数每次执行时对应内存和cpu的耗费量;
计算记录的各个函数对内存消耗的平均值以及各个函数对cpu消耗的平均值;
若计算得到该云服务对应对cpu消耗的平均值大于等于预定义的cpu消耗阈值,且该云服务对内存的平均消耗量小于预定义的内存消耗阈值,则确定该云服务为cpu消耗型;
若计算得到该云服务对应对内存消耗的平均值大于等于预定义的内存消耗阈值,且对cpu消耗的平均值小于预定义的cpu消耗阈值,则确定该云服务为内存消耗性;
若计算得到该云函数对应的cpu消耗的平均值大于预定义的cpu消耗阈值,且对应的内存消耗的平均值大于预定义的内存消耗阈值,则确定该云服务为cpu和内存消耗型。
优选地,若所述资源消耗值列表中没有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,则重复执行所述步骤A1,并在监测到有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。
此外,为了实现上述目的,本发明还提出一种云服务资源分配方法,所述方法包括如下步骤:
S1、监测预先确定的分布式集群中各docker容器对预先配置的可用资源的消耗状况,生成各docker容器对应的可用资源消耗值列表;
S2、接收到携带有业务类型的调用云服务的请求后,确定该云服务对应的资源消耗类型;
S3、根据预先存储的资源消耗类型与可用资源消耗阈值之间的映射关系,确定该云服务对应的可用资源消耗阈值;
S4、若所述资源消耗值列表中有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。
优选地,在所述步骤S1之前还包括如下步骤:
预先在分布式集群中部署Docker容器;
根据预先确定的Docker容器中运行的任务对资源的需求总量,为各个Docker容器分配可用资源,其中可用资源包括CPU资源、内存资源、以及硬盘资源。
优选地,在所述步骤S2之前还包括如下步骤:确定预先确定的云服务对应的资源消耗类型,并建立云服务与资源消耗类型之间的映射关系;
所述步骤S2包括:根据预先存储的云服务与资源消耗类型之间的映射关系,确定该云服务对应的资源消耗类型。
优选地,所述确定预先确定的云服务对应的资源消耗类型的步骤,包括:
若有预先确定的云服务被调用,则记录该云服务对应的每个函数每次执行时对应内存和cpu的耗费量;
计算记录的各个函数对内存消耗的平均值以及各个函数对cpu消耗的平均值;
若计算得到该云服务对应对cpu消耗的平均值大于等于预定义的cpu消耗阈值,且该云服务对内存的平均消耗量小于预定义的内存消耗阈值,则确定该云服务为cpu消耗型;
若计算得到该云服务对应对内存消耗的平均值大于等于预定义的内存消耗阈值,且对cpu消耗的平均值小于预定义的cpu消耗阈值,则确定该云服务为内存消耗性;
若计算得到该云函数对应的cpu消耗的平均值大于预定义的cpu消耗阈值,且对应的内存消耗的平均值大于预定义的内存消耗阈值,则确定该云服务为cpu和内存消耗型。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有云服务资源分配程序,所述云服务资源分配程序可被至少一个处理器执行,以使所述至少一个处理器执行如上所述的云服务资源分配方法的步骤。
本发明所提出的电子装置、云服务资源分配方法及存储介质,通过监测预先确定的分布式集群中各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容器中可运行的任务对资源的需求总量,为各个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。也可以对CPU资源和内存资源同时进行分配,其具体的分配方式与内存以及CPU的分配方式类似,此处不再进行赘述。当然,分布式集群中还可以包括其它资源,本发明对此不作具体限定。在本实施例中,在为各Docker容器分配完成资源后,各个Docker容器用来运行对应的云服务请求,进一步地,通过监测各Docker容器的资源消耗状况,生成各Docker容器对应的可用资源消耗值列表。
A2,接收到携带有业务类型的调用云服务的请求后,确定该云服务对应的资源消耗类型;
需要说明的是,在所述步骤A2之前还包括:确定预先确定的云服务对应的资源消耗类型,并建立云服务与资源消耗类型之间的映射关系的步骤。
具体地,根据预先存储的云服务与资源消耗类型之间的映射关系,确定该云服务对应的资源消耗类型;进一步地,所述资源消耗类型包括CPU消耗型、内存消耗型以及CPU和内存同时消耗型。具体地,所述内存消耗型是指处理该业务类型调用的函数对内存消耗比较大,比如处理财经视频大文件时,需要把视频文件从硬盘读到内存中处理,需要临时的内存存储空间,视频文件一般比较大会占用大量内存的资源,则该业务类型对应为内存消耗型;CPU消耗型是指该业务类型调用的函数计算很复杂的,CPU消耗大的,比如通过大数据对神经网络模型进行训练的场景,涉及大量矩阵做交集等运算量很大。CPU和内存同时消耗型是指该业务类型调用的函数在占用大量内存的同时还需要消耗大量的CPU。
进一步地,所述确定预先确定的云服务对应的资源消耗类型的步骤,包括:
若有预先确定的云服务被调用,则记录该云服务对应的每个函数每次执行时对应内存和cpu的耗费量;
计算记录的各个函数对内存消耗的平均值以及各个函数对cpu消耗的平均值;
若计算得到该云服务对应对cpu消耗的平均值大于等于预定义的cpu消耗阈值,且该云服务对内存的平均消耗量小于预定义的内存消耗阈值,则确定该云服务为cpu消耗型;
若计算得到该云服务对应对内存消耗的平均值大于等于预定义的内存消耗阈值,且对cpu消耗的平均值小于预定义的cpu消耗阈值,则确定该云服务为内存消耗性;
若计算得到该云函数对应的cpu消耗的平均值大于预定义的cpu消耗阈值,且对应的内存消耗的平均值大于预定义的内存消耗阈值,则确定该云服务为cpu和内存消耗型。
A3,根据预先存储的资源消耗类型与可用资源消耗阈值之间的映射关系,确定该云服务对应的可用资源消耗阈值;
A4、若所述资源消耗值列表中有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。
进一步地,若所述资源消耗值列表中没有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,则重复执行所述步骤A1,并在监测到有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。
由上述事实施例可知,本发明提出的电子装置,通过监测预先确定的分布式集群中各docker容器对预先配置的可用资源的消耗状况,生成各docker容器对应的可用资源消耗值列表;接收到携带有业务类型的调用云服务的请求后,确定该云服务对应的资源消耗类型;根据预先存储的资源消耗类型与可用资源消耗阈值之间的映射关系,确定该云服务对应的可用资源消耗阈值;若所述资源消耗值列表中有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。能够使云服务得到更合理的分配,提高云服务的执行效率,节约资源。
此外,本发明的云服务资源分配程序依据其各部分所实现的功能不同,可用具有相同功能的程序模块进行描述。请参阅图2所示,是本发明电子装置一实施例中云服务资源分配程序的程序模块示意图。本实施例中,云服务资源分配程序依据其各部分所实现的功能的不同,可以被分割成监测模块201、第一确定模块202、第二确定模块203以及分配模块204。由上面的描述可知,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述云服务资源分配程序在电子装置10中的执行过程。所述模块201-204所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
监测模块201用于监测预先确定的分布式集群中各docker容器对预先配置的可用资源的消耗状况,生成各docker容器对应的可用资源消耗值列表;
第一确定模块202用于在接收到携带有业务类型的调用云服务的请求后,确定该云服务对应的资源消耗类型;
第二确定模块203用于根据预先存储的资源消耗类型与可用资源消耗阈值之间的映射关系,确定该云服务对应的可用资源消耗阈值;
分配模块204用于在若所述资源消耗值列表中有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。
此外,本发明还提出一种云服务资源分配方法,请参阅图3所示,所述云服务资源分配方法包括如下步骤:
S301,监测预先确定的分布式集群中各docker容器对预先配置的可用资源的消耗状况,生成各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。也可以对CPU资源和内存资源同时进行分配,其具体的分配方式与内存以及CPU的分配方式类似,此处不再进行赘述。当然,分布式集群中还可以包括其它资源,本发明对此不作具体限定。在本实施例中,在为各Docker容器分配完成资源后,各个Docker容器用来运行对应的云服务请求,进一步地,通过监测各Docker容器的资源消耗状况,生成各Docker容器对应的可用资源消耗值列表。
S302,接收到携带有业务类型的调用云服务的请求后,确定该云服务对应的资源消耗类型;
需要说明的是,在所述步骤A2之前还包括:确定预先确定的云服务对应的资源消耗类型,并建立云服务与资源消耗类型之间的映射关系的步骤。
具体地,根据预先存储的云服务与资源消耗类型之间的映射关系,确定该云服务对应的资源消耗类型;进一步地,所述资源消耗类型包括CPU消耗型、内存消耗型以及CPU和内存同时消耗型。具体地,所述内存消耗型是指处理该业务类型调用的函数对内存消耗比较大,比如处理财经视频大文件时,需要把视频文件从硬盘读到内存中处理,需要临时的内存存储空间,视频文件一般比较大会占用大量内存的资源,则该业务类型对应为内存消耗型;CPU消耗型是指该业务类型调用的函数计算很复杂的,CPU消耗大的,比如通过大数据对神经网络模型进行训练的场景,涉及大量矩阵做交集等运算量很大。CPU和内存同时消耗型是指该业务类型调用的函数在占用大量内存的同时还需要消耗大量的CPU。
进一步地,所述确定预先确定的云服务对应的资源消耗类型的步骤,包括:
若有预先确定的云服务被调用,则记录该云服务对应的每个函数每次执行时对应内存和cpu的耗费量;
计算记录的各个函数对内存消耗的平均值以及各个函数对cpu消耗的平均值;
若计算得到该云服务对应对cpu消耗的平均值大于等于预定义的cpu消耗阈值,且该云服务对内存的平均消耗量小于预定义的内存消耗阈值,则确定该云服务为cpu消耗型;
若计算得到该云服务对应对内存消耗的平均值大于等于预定义的内存消耗阈值,且对cpu消耗的平均值小于预定义的cpu消耗阈值,则确定该云服务为内存消耗性;
若计算得到该云函数对应的cpu消耗的平均值大于预定义的cpu消耗阈值,且对应的内存消耗的平均值大于预定义的内存消耗阈值,则确定该云服务为cpu和内存消耗型。
S303,根据预先存储的资源消耗类型与可用资源消耗阈值之间的映射关系,确定该云服务对应的可用资源消耗阈值;
S304、若所述资源消耗值列表中有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。
进一步地,若所述资源消耗值列表中没有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,则重复执行所述步骤A1,并在监测到有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。
由上述事实施例可知,本发明提出的云服务资源分配方法,通过监测预先确定的分布式集群中各docker容器对预先配置的可用资源的消耗状况,生成各docker容器对应的可用资源消耗值列表;接收到携带有业务类型的调用云服务的请求后,确定该云服务对应的资源消耗类型;根据预先存储的资源消耗类型与可用资源消耗阈值之间的映射关系,确定该云服务对应的可用资源消耗阈值;若所述资源消耗值列表中有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。能够使云服务得到更合理的分配,提高云服务的执行效率,节约资源。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有云服务资源分配程序,所述云服务资源分配程序被处理器执行时实现如下操作:
监测预先确定的分布式集群中各docker容器对预先配置的可用资源的消耗状况,生成各docker容器对应的可用资源消耗值列表;
接收到携带有业务类型的调用云服务的请求后,确定该云服务对应的资源消耗类型;
根据预先存储的资源消耗类型与可用资源消耗阈值之间的映射关系,确定该云服务对应的可用资源消耗阈值;
若所述资源消耗值列表中有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。
本发明计算机可读存储介质的具体实施过程,与上述电子装置以及云服务资源分配方法的具体实施过程类似,在此不再赘述。
通过上述分析可知,本发明提出的计算机可读存储介质,通过监测预先确定的分布式集群中各docker容器对预先配置的可用资源的消耗状况,生成各docker容器对应的可用资源消耗值列表;接收到携带有业务类型的调用云服务的请求后,确定该云服务对应的资源消耗类型;根据预先存储的资源消耗类型与可用资源消耗阈值之间的映射关系,确定该云服务对应的可用资源消耗阈值;若所述资源消耗值列表中有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。能够使云服务得到更合理的分配,提高云服务的执行效率,节约资源。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种电子装置,其特征在于,所述电子装置包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的云服务资源分配程序,所述云服务资源分配程序被所述处理器执行时实现如下步骤:
A1、监测预先确定的分布式集群中各docker容器对预先配置的可用资源的消耗状况,生成各docker容器对应的可用资源消耗值列表;
A2、接收到携带有业务类型的调用云服务的请求后,确定该云服务对应的资源消耗类型;
A3、根据预先存储的资源消耗类型与可用资源消耗阈值之间的映射关系,确定该云服务对应的可用资源消耗阈值;A4、若所述资源消耗值列表中有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。
2.如权利要求1所述的电子装置,其特征在于,在所述步骤A1之前还包括如下步骤:
预先在分布式集群中部署Docker容器;
根据预先确定的Docker容器中运行的任务对资源的需求总量,为各个Docker容器分配可用资源,其中可用资源包括CPU资源、内存资源、以及硬盘资源。
3.如权利要求2所述的电子装置,其特征在于,所述步骤A2之前还包括如下步骤:确定预先确定的云服务对应的资源消耗类型,并建立云服务与资源消耗类型之间的映射关系;
所述步骤A2包括:根据预先存储的云服务与资源消耗类型之间的映射关系,确定该云服务对应的资源消耗类型。
4.如权利要求2所述的电子装置,其特征在于,所述确定预先确定的云服务对应的资源消耗类型的步骤,包括:
若有预先确定的云服务被调用,则记录该云服务对应的每个函数每次执行时对应内存和cpu的耗费量;
计算记录的各个函数对内存消耗的平均值以及各个函数对cpu消耗的平均值;
若计算得到该云服务对应对cpu消耗的平均值大于等于预定义的cpu消耗阈值,且该云服务对内存的平均消耗量小于预定义的内存消耗阈值,则确定该云服务为cpu消耗型;
若计算得到该云服务对应对内存消耗的平均值大于等于预定义的内存消耗阈值,且对cpu消耗的平均值小于预定义的cpu消耗阈值,则确定该云服务为内存消耗性;
若计算得到该云函数对应的cpu消耗的平均值大于预定义的cpu消耗阈值,且对应的内存消耗的平均值大于预定义的内存消耗阈值,则确定该云服务为cpu和内存消耗型。
5.如权利要求1-4任一所述的电子装置,其特征在于,若所述资源消耗值列表中没有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,则重复执行所述步骤A1,并在监测到有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。
6.一种云服务资源分配方法,其特征在于,所述方法包括如下步骤:
S1、监测预先确定的分布式集群中各docker容器对预先配置的可用资源的消耗状况,生成各docker容器对应的可用资源消耗值列表;
S2、接收到携带有业务类型的调用云服务的请求后,确定该云服务对应的资源消耗类型;
S3、根据预先存储的资源消耗类型与可用资源消耗阈值之间的映射关系,确定该云服务对应的可用资源消耗阈值;
S4、若所述资源消耗值列表中有docker容器对应的可用资源消耗值均大于该云服务对应的资源消耗阈值,将该云服务分配至该docker容器进行处理。
7.如权利要求6所述的云服务资源分配方法,其特征在于,在所述步骤S1之前还包括如下步骤:
预先在分布式集群中部署Docker容器;
根据预先确定的Docker容器中运行的任务对资源的需求总量,为各个Docker容器分配可用资源,其中可用资源包括CPU资源、内存资源、以及硬盘资源。
8.如权利要求7所述的云服务资源分配方法,其特征在于,在所述步骤S2之前还包括如下步骤:确定预先确定的云服务对应的资源消耗类型,并建立云服务与资源消耗类型之间的映射关系;
所述步骤S2包括:根据预先存储的云服务与资源消耗类型之间的映射关系,确定该云服务对应的资源消耗类型。
9.如权利要求6所述的云服务资源分配方法,其特征在于,所述确定预先确定的云服务对应的资源消耗类型的步骤,包括:
若有预先确定的云服务被调用,则记录该云服务对应的每个函数每次执行时对应内存和cpu的耗费量;
计算记录的各个函数对内存消耗的平均值以及各个函数对cpu消耗的平均值;
若计算得到该云服务对应对cpu消耗的平均值大于等于预定义的cpu消耗阈值,且该云服务对内存的平均消耗量小于预定义的内存消耗阈值,则确定该云服务为cpu消耗型;
若计算得到该云服务对应对内存消耗的平均值大于等于预定义的内存消耗阈值,且对cpu消耗的平均值小于预定义的cpu消耗阈值,则确定该云服务为内存消耗性;
若计算得到该云函数对应的cpu消耗的平均值大于预定义的cpu消耗阈值,且对应的内存消耗的平均值大于预定义的内存消耗阈值,则确定该云服务为cpu和内存消耗型。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有云服务资源分配程序,所述云服务资源分配程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求6-9中任一项所述的云服务资源分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811256303.4A CN109684073A (zh) | 2018-10-26 | 2018-10-26 | 电子装置、云服务资源分配方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811256303.4A CN109684073A (zh) | 2018-10-26 | 2018-10-26 | 电子装置、云服务资源分配方法及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109684073A true CN109684073A (zh) | 2019-04-26 |
Family
ID=66184539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811256303.4A Pending CN109684073A (zh) | 2018-10-26 | 2018-10-26 | 电子装置、云服务资源分配方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684073A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138883A (zh) * | 2019-06-10 | 2019-08-16 | 北京贝斯平云科技有限公司 | 混合云资源分配方法和装置 |
CN111522664A (zh) * | 2020-04-24 | 2020-08-11 | 中国工商银行股份有限公司 | 基于分布式服务的服务资源管控方法及装置 |
WO2020233364A1 (zh) * | 2019-05-22 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 资源处理平台的确认方法、装置、电子设备和介质 |
CN112199247A (zh) * | 2019-07-08 | 2021-01-08 | 中国移动通信集团浙江有限公司 | 一种无业务状态下Docker容器进程活性的检查方法及装置 |
CN112416719A (zh) * | 2020-12-04 | 2021-02-26 | 中国建设银行股份有限公司 | 针对数据库容器的监控处理方法、系统、设备和存储介质 |
CN115150402A (zh) * | 2022-08-30 | 2022-10-04 | 京华信息科技股份有限公司 | 一种云资源分配方法及系统 |
CN115827255A (zh) * | 2023-02-16 | 2023-03-21 | 中国电力科学研究院有限公司 | 一种用于集中器的应用资源自适应分配管理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150363237A1 (en) * | 2014-06-11 | 2015-12-17 | International Business Machines Corporation | Managing resource consumption in a computing system |
CN106648879A (zh) * | 2015-10-29 | 2017-05-10 | 杭州华为企业通信技术有限公司 | 一种数据处理方法及装置 |
CN107239329A (zh) * | 2016-03-29 | 2017-10-10 | 西门子公司 | 云环境下统一资源调度方法及系统 |
CN107547643A (zh) * | 2017-08-29 | 2018-01-05 | 新华三技术有限公司 | 一种负载分担方法和装置 |
CN108572875A (zh) * | 2018-04-28 | 2018-09-25 | 辽宁工程技术大学 | 资源分配方法、装置及系统 |
US20180276044A1 (en) * | 2017-03-27 | 2018-09-27 | International Business Machines Corporation | Coordinated, topology-aware cpu-gpu-memory scheduling for containerized workloads |
-
2018
- 2018-10-26 CN CN201811256303.4A patent/CN109684073A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150363237A1 (en) * | 2014-06-11 | 2015-12-17 | International Business Machines Corporation | Managing resource consumption in a computing system |
CN106648879A (zh) * | 2015-10-29 | 2017-05-10 | 杭州华为企业通信技术有限公司 | 一种数据处理方法及装置 |
CN107239329A (zh) * | 2016-03-29 | 2017-10-10 | 西门子公司 | 云环境下统一资源调度方法及系统 |
US20180276044A1 (en) * | 2017-03-27 | 2018-09-27 | International Business Machines Corporation | Coordinated, topology-aware cpu-gpu-memory scheduling for containerized workloads |
CN107547643A (zh) * | 2017-08-29 | 2018-01-05 | 新华三技术有限公司 | 一种负载分担方法和装置 |
CN108572875A (zh) * | 2018-04-28 | 2018-09-25 | 辽宁工程技术大学 | 资源分配方法、装置及系统 |
Non-Patent Citations (3)
Title |
---|
李文生著: "《云技术及大数据在高校生活中的应用》", 30 June 2018 * |
薛兴华著: "《计算机通信网络及组网方式》", 31 May 1994 * |
高磊等著: "《Android应用开发精解》", 30 September 2012 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020233364A1 (zh) * | 2019-05-22 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 资源处理平台的确认方法、装置、电子设备和介质 |
CN110138883A (zh) * | 2019-06-10 | 2019-08-16 | 北京贝斯平云科技有限公司 | 混合云资源分配方法和装置 |
CN112199247A (zh) * | 2019-07-08 | 2021-01-08 | 中国移动通信集团浙江有限公司 | 一种无业务状态下Docker容器进程活性的检查方法及装置 |
CN112199247B (zh) * | 2019-07-08 | 2022-07-01 | 中国移动通信集团浙江有限公司 | 一种无业务状态下Docker容器进程活性的检查方法及装置 |
CN111522664A (zh) * | 2020-04-24 | 2020-08-11 | 中国工商银行股份有限公司 | 基于分布式服务的服务资源管控方法及装置 |
CN112416719A (zh) * | 2020-12-04 | 2021-02-26 | 中国建设银行股份有限公司 | 针对数据库容器的监控处理方法、系统、设备和存储介质 |
CN112416719B (zh) * | 2020-12-04 | 2024-01-26 | 中国建设银行股份有限公司 | 针对数据库容器的监控处理方法、系统、设备和存储介质 |
CN115150402A (zh) * | 2022-08-30 | 2022-10-04 | 京华信息科技股份有限公司 | 一种云资源分配方法及系统 |
CN115150402B (zh) * | 2022-08-30 | 2022-11-18 | 京华信息科技股份有限公司 | 一种云资源分配方法及系统 |
CN115827255A (zh) * | 2023-02-16 | 2023-03-21 | 中国电力科学研究院有限公司 | 一种用于集中器的应用资源自适应分配管理方法及系统 |
CN115827255B (zh) * | 2023-02-16 | 2023-04-21 | 中国电力科学研究院有限公司 | 一种用于集中器的应用资源自适应分配管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684073A (zh) | 电子装置、云服务资源分配方法及存储介质 | |
CN110888615B (zh) | 用于Android系统双屏异显的多输入设备交互方法、装置及介质 | |
CN108462760B (zh) | 电子装置、集群访问域名自动生成方法及存储介质 | |
CN109327540A (zh) | 电子装置、服务器负载均衡方法及存储介质 | |
CN104133629A (zh) | 双屏互动的方法及移动终端 | |
EP3779690A1 (en) | Processor core scheduling method and apparatus, terminal, and storage medium | |
CN111338745B (zh) | 一种虚拟机的部署方法、装置及智能设备 | |
CN111679790A (zh) | 远程软件开发存储空间分配方法及装置 | |
CN109561134B (zh) | 电子装置、分布式集群服务分配方法及存储介质 | |
CN114327087A (zh) | 输入事件处理方法、装置、电子设备和存储介质 | |
CN109683856A (zh) | 电子装置、Faas平台函数创建方法及存储介质 | |
CN111913743B (zh) | 数据处理方法及装置 | |
CN107479870A (zh) | 一种第三方类库调用方法、装置、移动终端及存储介质 | |
CN110120963B (zh) | 一种数据处理方法、装置、设备和机器可读介质 | |
CN109634806A (zh) | 电子装置、服务器集群监控方法及存储介质 | |
CN115840648A (zh) | 一种仿真任务的处理方法、装置及电子设备 | |
CN109460291A (zh) | 电子装置、弹性控制服务器集群的方法及存储介质 | |
CN113242302A (zh) | 数据访问请求的处理方法、装置、计算机设备及介质 | |
CN110986298A (zh) | 一种控制参数的调整方法、装置及电子设备 | |
CN110264366A (zh) | 终端设备、信息处理方法及存储介质 | |
CN109640140A (zh) | 按键处理方法和装置 | |
CN109491973A (zh) | 电子装置、保单变化数据分布式分析方法及存储介质 | |
CN115391042B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
EP4293509A1 (en) | Electronic device including multiprocessor and operation method thereof | |
CN115756534A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190426 |