CN114595030A - 一种基于拍卖算法的云容器资源分配方法及系统 - Google Patents

一种基于拍卖算法的云容器资源分配方法及系统 Download PDF

Info

Publication number
CN114595030A
CN114595030A CN202210138456.9A CN202210138456A CN114595030A CN 114595030 A CN114595030 A CN 114595030A CN 202210138456 A CN202210138456 A CN 202210138456A CN 114595030 A CN114595030 A CN 114595030A
Authority
CN
China
Prior art keywords
cloud
cloud container
container
cluster
storage capacity
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.)
Granted
Application number
CN202210138456.9A
Other languages
English (en)
Other versions
CN114595030B (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.)
Huanghuai University
Original Assignee
Huanghuai University
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 Huanghuai University filed Critical Huanghuai University
Priority to CN202210138456.9A priority Critical patent/CN114595030B/zh
Publication of CN114595030A publication Critical patent/CN114595030A/zh
Application granted granted Critical
Publication of CN114595030B publication Critical patent/CN114595030B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于拍卖算法的云容器资源分配方法及系统,在云容器集群中上传数据集,各个云容器分别对数据集进行存储,对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量,在云容器集群运行一段时间后计算各个云容器的优选值,根据各个云容器的优选值对各个云容器的初始资源存储容量进行再分配,由此实现了提高各云容器资源利用效率并防范应对内存溢出风险问题的有益效果。

Description

一种基于拍卖算法的云容器资源分配方法及系统
技术领域
本发明属于分布式计算领域,具体涉及一种基于拍卖算法的云容器资源分配方法及系统。
背景技术
云容器的资源分配具有高度的灵活性,在一个云容器内的数据存储是具有约束条件的,各个云容器之间的数据存储也需要遵循一定的制约的约束条件。因而,导致多个云容器组成云容器集群时存在相当一部分的内存空间没有被充分利用,以至于令云容器集群处于内存溢出的极高风险中。拍卖算法,是计算机科学领域在求解最优分配问题时使用的一种启发式算法,可对各个云容器之间的数据存储进行优化分配,有效提高了各云容器的资源利用率。在申请号为CN201811550003.7的专利文献中公开了一种容器化云资源分配方法,尽管可通过恢复模块利用数据恢复程序对云计算基础设施内的灾难进行数据恢复,但仍不足以防范应对云容器集群中资源溢出的风险问题。
发明内容
本发明的目的在于提出一种基于拍卖算法的云容器资源分配方法及系统,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
本发明提供了一种基于拍卖算法的云容器资源分配方法及系统,在云容器集群中上传数据集,各个云容器分别对数据集进行存储,对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量,在云容器集群运行一段时间后计算各个云容器的优选值,根据各个云容器的优选值对各个云容器的初始资源存储容量进行再分配。
为了实现上述目的,根据本发明的一方面,提供一种基于拍卖算法的云容器资源分配方法,所述方法包括以下步骤:
S100,将多个不同的云容器组成一个云容器集群;
S200,在云容器集群中上传数据集,各个云容器分别对数据集进行存储;
S300,对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量;
S400,在云容器集群运行一段时间后,计算各个云容器的优选值;
S500,根据各个云容器的优选值,对各个云容器的初始资源存储容量进行再分配。
进一步地,在S100中,将多个不同的云容器组成一个云容器集群的方法为:获取多个不同的云容器,所述云容器为云服务器,每个云容器的内存容量各不相同(内存容量的单位为Gigabyte),将各个云容器根据每个云容器的内存容量按照内存容量较小则为左节点的规则使用前序遍历算法构建成一个二叉树,由此将各个云容器作为各个节点连接成为一个整体的树状的数据结构结构作为一个云容器集群。
进一步地,在S200中,在云容器集群中上传数据集,各个云容器分别对数据集进行存储的方法为:向云容器集群中上传数据集,数据集为多个不同的表(所述表即为数据库的表)的集合,数据集中各个表的字节数量(字节数量的单位为Gigabyte)不全部相同,其中每个表不支持将一个表分割在不同的云容器中进行分布式存储;
记云容器集群为Cloud,云容器集群中云容器的数量为n,云容器集群中云容器的序号为i,i∈[1,n],云容器集群中序号为i的云容器为Cloud(i),云容器集群中序号为i的云容器的内存容量为Cloud(i)t,云容器集群的总内存容量为Cloudt,Cloudt的计算公式为:
Figure BDA0003505933100000021
记数据集为集合Dataset,数据集中表的数量为m,数据集中表的序号为j,j∈[1,m],数据集中序号为j的表为Dataset(j),数据集中序号为j的表的字节数量为load(j),数据集的总字节量为Load,Load的计算公式为:
Figure BDA0003505933100000022
其中,各个云容器分别对数据集进行存储为:各个云容器中的每一个云容器能且仅能存储正整数个的表,由此云容器集群各个云容器分别对数据集的各个表进行存储。
进一步地,在S300中,对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量的方法为:
使用拍卖算法(参见论文:Bertsekas D P.The auction algorithm:Adistributed relaxation method for the assignment problem[J].Annals ofOperations Research,1988,14(1):105-123.)为各个云容器各自分配资源存储容量,资源存储容量为一个云容器中所能存储的表的总共的字节数量;
其中,拍卖算法的使用具体为:通过拍卖算法,得出对各个云容器分配不同的表的各种不同的排列组合,进而获取各种不同的排列组合中云容器集群所能存储的表的总共的字节数量最大的一种排列组合,根据该种排列组合来对云容器集群中的各个云容器分配该云容器负责存储的表,并记录此时各个云容器的资源存储容量;
云容器Cloud(i)中所能存储的表的集合为tbs(i),云容器Cloud(i)在当前时刻的资源存储容量为src(i),其中,各个云容器的资源存储容量满足第零约束条件,第零约束条件为:
Figure BDA0003505933100000031
将记录的此时各个云容器的资源存储容量作为初始资源存储容量,云容器Cloud(i)的初始资源存储容量即为src(i)。
其中,在S400中,在云容器集群运行一段时间后,计算各个云容器的优选值的方法为:
在云容器集群运行时,云容器集群有权限对各个云容器中的表的数据进行删除、更改和查询的操作,在进行了删除、更改和查询的操作中各个云容器中的表的字节数量被限制不高于该云容器的初始资源存储容量;其中,云容器集群运行的一段时间为大于等于1小时;
将云容器集群作为一个二叉树记为Ctree,云容器集群中各个云容器作为二叉树Ctree中的各个结点,以二叉树的结点的层次的序号及结点在该层次中从左至右的序号作为Ctree中的各个结点的定位序号,以二叉树Ctree的根结点为Ctree(1,1),以二叉树的根结点所在的层次为第1层次,二叉树Ctree的深度记为常数D,以二叉树的根结点所在的层次为开始向二叉树的深度所在的层次沿每一个层次逐层递增,二叉树Ctree的层次的序号为变量d,d∈[1,D],二叉树Ctree中序号为d的层次中从左至右的结点的数量记为wid(d),二叉树Ctree中序号为d的层次中从左至右的结点的序号记为t(d),t(d)∈[1,wid(d)],二叉树Ctree中序号为d的层次中从左至右的序号为t(d)的结点记作Ctree(d,t(d));
优选值表示一个结点在二叉树中被优先地遍历到的权重值,计算优先值的有益效果为通过测量各个结点在二叉树中被优先地遍历到的权重值从而快速确定需要优先筛选使用的结点,而无需对各个结点进行全面的遍历搜索以此节省了时间成本;
从Ctree中选取任一结点记作Ctree(d1,t(d1)),d1表示Ctree(d1,t(d1))所在层次的序号,t(d1)表示在二叉树Ctree中序号为d1的层次中从左至右的结点的序号,d1∈[1,D],Ctree(d1,t(d1))表示二叉树Ctree中序号为d1的层次中从左至右的序号为t(d1)的结点,二叉树Ctree中序号为d1的层次中从左至右的结点的数量记为wid(d1),t(d1)∈[1,wid(d1)],结点Ctree(d1,t(d1))的优先值记为p(d1,t(d1)),结点Ctree(d1,t(d1))的优先值的计算公式为:
Figure BDA0003505933100000032
其中,函数exp()表示以自然常数e为底的对数函数,p(d1,t(d1))的计算公式即为优先值的计算方法,
从而通过优先值的计算公式计算得到云容器集群中各个云容器作为二叉树Ctree中的各个结点时各个结点的优先值即为各个云容器的优选值;
其中,计算各个云容器的优选值的有益效果为:优先值的数值越小表示其对应的云容器被选择进行资源存储的概率越大,在无需对云容器集群中各个云容器的资源存储容量进行再次的遍历与比较的前提下,快速获取各个云容器在云容器集群中被优先地遍历到的权重值,降低了对云容器集群中各服务器的计算的时间成本,大幅提高了集群运行的可并行性。
进一步地,在S500中,根据各个云容器的优选值,对各个云容器的初始资源存储容量进行再分配的方法为:
计算各个云容器的剩余内存容量,记云容器Cloud(i)的剩余内存容量为res(i),获取云容器Cloud(i)的初始资源存储容量src(i),并获取云容器Cloud(i)的在云容器集群运行一段时间后于当前时刻的资源存储容量为src(i)t,云容器Cloud(i)的剩余内存容量的计算公式为:
res(i)=Cloud(i)t-src(i)t,
获取云容器Cloud(i)的优先值并记为p(i),根据各个云容器的优选值,计算得到调度操作序列,调度操作序列为一个数组且数组中元素的数量与云容器集群中云容器的数量相同,调度操作序列中的元素为数值,调度操作序列中的元素的序号与云容器集群中云容器的序号对应一致,则调度操作序列中的元素的数量同为n,调度操作序列中的元素的序号同为i,调度操作序列中序号为i的元素与云容器集群中序号为i的云容器相对应,记调度操作序列为Seop,Seop中序号为i的元素为Seop(i),Seop(i)的计算公式为:
Figure BDA0003505933100000041
其中,函数sin()表示正弦函数,将调度操作序列中各元素的数值的算术平均数记为Seop_avg,由此,得到调度操作序列;
进而,使用调度操作序列,对各个云容器的初始资源存储容量进行再分配:
S501,在云容器集群中,对各个云容器Cloud(i)进行判断是否满足第一约束条件,第一约束条件为Seop(i)≥Seop_avg,若是满足第一约束条件则转到S502;
S502,对满足第一约束条件的云容器Cloud(i)获取其剩余内存容量res(i),并进行判断是否满足第二约束条件,第二约束条件为res(i)+src(i)>Cloud(i)t,若是满足第二约束条件则转到S503;
S503,对满足第二约束条件的云容器Cloud(i),从云容器Cloud(i)中获取其中内存容量大小为res(i)+src(i)-Cloud(i)t的没有进行数据存储的内存容量归还于云容器集群,作为云容器集群在发生内存溢出的情况下的备用的存储空间。
本发明还提供了一种基于拍卖算法的云容器资源分配系统,所述一种基于拍卖算法的云容器资源分配系统包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述一种基于拍卖算法的云容器资源分配方法中的步骤以此控制云容器的资源分配,所述一种基于拍卖算法的云容器资源分配系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中,可运行的系统可包括,但不仅限于,处理器、存储器、服务器集群,所述处理器执行所述计算机程序运行在以下系统的单元中:
集群组成单元,用于将多个不同的云容器组成一个云容器集群;
数据集存储单元,用于在云容器集群中上传数据集,各个云容器分别对数据集进行存储;
初始资源存储容量分配单元,用于对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量;
优选值计算单元,用于在云容器集群运行一段时间后,计算各个云容器的优选值;
云容器再分配单元,用于根据各个云容器的优选值,对各个云容器的初始资源存储容量进行再分配。
本发明的有益效果为:在云容器集群中上传数据集,各个云容器分别对数据集进行存储,对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量,在云容器集群运行一段时间后计算各个云容器的优选值,根据各个云容器的优选值对各个云容器的初始资源存储容量进行再分配,由此实现了提高各云容器资源利用效率并防范应对内存溢出风险问题的有益效果。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为一种基于拍卖算法的云容器资源分配方法的流程图;
图2所示为一种基于拍卖算法的云容器资源分配系统的系统结构图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
如图1所示为根据本发明的一种基于拍卖算法的云容器资源分配方法的流程图,下面结合图1来阐述根据本发明的实施方式的一种基于拍卖算法的云容器资源分配方法及系统。
本发明提出一种基于拍卖算法的云容器资源分配方法,所述方法具体包括以下步骤:
S100,将多个不同的云容器组成一个云容器集群;
S200,在云容器集群中上传数据集,各个云容器分别对数据集进行存储;
S300,对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量;
S400,在云容器集群运行一段时间后,计算各个云容器的优选值;
S500,根据各个云容器的优选值,对各个云容器的初始资源存储容量进行再分配。
其中,本发明中所涉及的所有的数值计算皆经过去量纲化处理。
进一步地,在S100中,将多个不同的云容器组成一个云容器集群的方法为:获取多个不同的云容器,所述云容器为云服务器,每个云容器的内存容量各不相同(内存容量的单位为Gigabyte),将各个云容器根据每个云容器的内存容量按照内存容量较小则为左节点的规则使用前序遍历算法构建成一个二叉树,以内存容量为云容器集群中各云容器的内存容量的中位数的一个云容器为二叉树的根节点,根节点左边的节点其内存容量需小于等于根节点的内存容量,根节点右边的节点其内存容量需大于等于根节点的内存容量,且该二叉树中每一层的左边节点小于右边节点,由此将各个云容器作为各个节点连接成为一个整体的树状的数据结构结构作为一个云容器集群。
进一步地,在S200中,在云容器集群中上传数据集,各个云容器分别对数据集进行存储的方法为:向云容器集群中上传数据集,数据集为多个不同的表(所述表即为数据库的表)的集合,数据集中各个表的字节数量(字节数量的单位为Gigabyte)不全部相同,其中每个表不支持将一个表分割在不同的云容器中进行分布式存储;
记云容器集群为Cloud,云容器集群中云容器的数量为n,云容器集群中云容器的序号为i,i∈[1,n],云容器集群中序号为i的云容器为Cloud(i),云容器集群中序号为i的云容器的内存容量为Cloud(i)t,云容器集群的总内存容量为Cloudt,Cloudt的计算公式为:
Figure BDA0003505933100000071
记数据集为集合Dataset,数据集中表的数量为m,数据集中表的序号为j,j∈[1,m],数据集中序号为j的表记作Dataset(j),数据集中序号为j的表的字节数量为load(j),数据集的总字节量为Load,Load的计算公式为:
Figure BDA0003505933100000072
其中,各个云容器分别对数据集进行存储为:每个云容器存储正整数个表,由此云容器集群各个云容器分别对数据集的各个表进行存储。
进一步地,在S300中,对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量的方法为:
使用拍卖算法(参见论文:Bertsekas D P.The auction algorithm:Adistributed relaxation method for the assignment problem[J].Annals ofOperations Research,1988,14(1):105-123.)为各个云容器各自分配资源存储容量,资源存储容量为一个云容器中所能存储的表的总共的字节数量;
其中,拍卖算法的使用具体为:通过拍卖算法,得出对各个云容器分配不同的表的各种不同的排列组合,进而获取各种不同的排列组合中云容器集群所能存储的表的总共的字节数量最大的一种排列组合,根据该种排列组合来对云容器集群中的各个云容器分配该云容器负责存储的表,并记录此时各个云容器的资源存储容量;
云容器Cloud(i)中所能存储的表的集合为tbs(i),云容器Cloud(i)的在当前时刻的资源存储容量为src(i),其中,各个云容器的资源存储容量满足第零约束条件,第零约束条件为:
Figure BDA0003505933100000073
将记录的此时各个云容器的资源存储容量作为初始资源存储容量,云容器Cloud(i)的初始资源存储容量即为src(i)。
所述一种基于拍卖算法的云容器资源分配方法,其中,在S400中,在云容器集群运行一段时间后,计算各个云容器的优选值的方法为:
在云容器集群运行时,云容器集群有权限对各个云容器中的表的数据进行删除、更改和查询的操作,在进行了删除、更改和查询的操作中各个云容器中的表的字节数量被限制不高于该云容器的初始资源存储容量;其中,云容器集群运行的一段时间为大于等于1小时;
将云容器集群作为一个二叉树记为Ctree,云容器集群中各个云容器作为二叉树Ctree中的各个结点,以二叉树的结点的层次的序号及结点在该层次中从左至右的序号作为Ctree中的各个结点的定位序号,以二叉树Ctree的根结点为Ctree(1,1),以二叉树的根结点所在的层次为第1层次,二叉树Ctree的深度记为常数D,以二叉树的根结点所在的层次为开始向二叉树的深度所在的层次沿每一个层次逐层递增,二叉树Ctree的层次的序号为变量d,d∈[1,D],二叉树Ctree中序号为d的层次中从左至右的结点的数量记为wid(d),二叉树Ctree中序号为d的层次中从左至右的结点的序号记为t(d),t(d)∈[1,wid(d)],二叉树Ctree中序号为d的层次中从左至右的序号为t(d)的结点记作Ctree(d,t(d));
优选值为表示一个结点在二叉树中被优先地遍历到的权重值,计算优先值的有益效果为通过测量各个结点在二叉树中被优先地遍历到的权重值从而快速确定需要优先筛选使用的结点,而无需对各个结点进行全面的遍历搜索以此节省了时间成本;
从Ctree中选取任一结点记作Ctree(d1,t(d1)),d1表示Ctree(d1,t(d1))所在层次的序号,t(d1)表示在二叉树Ctree中序号为d1的层次中从左至右的结点的序号,d1∈[1,D],Ctree(d1,t(d1))表示二叉树Ctree中序号为d1的层次中从左至右的序号为t(d1)的结点,二叉树Ctree中序号为d1的层次中从左至右的结点的数量记为wid(d1),t(d1)∈[1,wid(d1)],结点Ctree(d1,t(d1))的优先值记为p(d1,t(d1)),结点Ctree(d1,t(d1))的优先值的计算公式为:
Figure BDA0003505933100000081
其中,函数exp()表示以自然常数e为底的对数函数,p(d1,t(d1))的计算公式即为优先值的计算方法,
从而通过优先值的计算公式计算得到云容器集群中各个云容器作为二叉树Ctree中的各个结点时各个结点的优先值即为各个云容器的优选值;
由此,计算各个云容器的优选值的有益效果为:优先值的数值越小表示其对应的云容器被选择进行资源存储的概率越大,在无需对云容器集群中各个云容器的资源存储容量进行再次的遍历与比较的前提下,快速获取各个云容器在云容器集群中被优先地遍历到的权重值,降低了对云容器集群中各服务器的计算的时间成本,大幅提高了集群运行的可并行性。
进一步地,在S500中,根据各个云容器的优选值,对各个云容器的初始资源存储容量进行再分配的方法为:
计算各个云容器的剩余内存容量,记云容器Cloud(i)的剩余内存容量为res(i),获取云容器Cloud(i)的初始资源存储容量src(i),并获取云容器Cloud(i)的在云容器集群运行一段时间后于当前时刻的资源存储容量为src(i)t,云容器Cloud(i)的剩余内存容量的计算公式为:
res(i)=Cloud(i)t-src(i)t,
获取云容器Cloud(i)的优先值并记为p(i),根据各个云容器的优选值,计算得到调度操作序列,调度操作序列为一个数组且数组中元素的数量与云容器集群中云容器的数量相同,调度操作序列中的元素为数值,调度操作序列中的元素的数量同为n,调度操作序列中的元素的序号同为i,调度操作序列中序号为i的元素与云容器集群中序号为i的云容器相对应,记调度操作序列为Seop,Seop中序号为i的元素为Seop(i),Seop(i)的计算公式为:
Figure BDA0003505933100000091
其中,函数sin()表示正弦函数,将调度操作序列中各元素的数值的算术平均数记为Seop_avg,由此,得到调度操作序列;
进而,使用调度操作序列,对各个云容器的初始资源存储容量进行再分配:
S501,在云容器集群中,对各个云容器Cloud(i)进行判断是否满足第一约束条件,第一约束条件为Seop(i)≥Seop_avg,若是满足第一约束条件则转到S502;
S502,对满足第一约束条件的云容器Cloud(i)获取其剩余内存容量res(i),并进行判断是否满足第二约束条件,第二约束条件为res(i)+src(i)>Cloud(i)t,若是满足第二约束条件则转到S503;
S503,对满足第二约束条件的云容器Cloud(i),从云容器Cloud(i)中获取其中内存容量大小为res(i)+src(i)-Cloud(i)t的没有进行数据存储的内存容量归还于云容器集群,作为云容器集群在发生内存溢出的情况下的备用的存储空间。
所述一种基于拍卖算法的云容器资源分配系统包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于拍卖算法的云容器资源分配方法实施例中的步骤以此控制云容器的资源分配,所述一种基于拍卖算法的云容器资源分配系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中,可运行的系统可包括,但不仅限于,处理器、存储器、服务器集群。
本发明的实施例提供的一种基于拍卖算法的云容器资源分配系统,如图2所示,该实施例的一种基于拍卖算法的云容器资源分配系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于拍卖算法的云容器资源分配方法实施例中的步骤用于控制云容器,所述处理器执行所述计算机程序运行在以下系统的单元中:
集群组成单元,用于将多个不同的云容器组成一个云容器集群;
数据集存储单元,用于在云容器集群中上传数据集,各个云容器分别对数据集进行存储;
初始资源存储容量分配单元,用于对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量;
优选值计算单元,用于在云容器集群运行一段时间后,计算各个云容器的优选值;
云容器再分配单元,用于根据各个云容器的优选值,对各个云容器的初始资源存储容量进行再分配。
所述一种基于拍卖算法的云容器资源分配系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中。所述一种基于拍卖算法的云容器资源分配系统包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种基于拍卖算法的云容器资源分配方法及系统的示例,并不构成对一种基于拍卖算法的云容器资源分配方法及系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种基于拍卖算法的云容器资源分配系统还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立元器件门电路或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种基于拍卖算法的云容器资源分配系统的控制中心,利用各种接口和线路连接整个一种基于拍卖算法的云容器资源分配系统的各个分区域。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种基于拍卖算法的云容器资源分配方法及系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明提供了一种基于拍卖算法的云容器资源分配方法及系统,在云容器集群中上传数据集,各个云容器分别对数据集进行存储,对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量,在云容器集群运行一段时间后计算各个云容器的优选值,根据各个云容器的优选值对各个云容器的初始资源存储容量进行再分配,由此实现了提高各云容器资源利用效率并防范应对内存溢出风险问题的有益效果。
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。

Claims (6)

1.一种基于拍卖算法的云容器资源分配方法,其特征在于,所述方法包括以下步骤:
S100,将多个不同的云容器组成一个云容器集群;
S200,在云容器集群中上传数据集,各个云容器分别对数据集进行存储;
S300,对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量;
S400,在云容器集群运行一段时间后,计算各个云容器的优选值;
S500,根据各个云容器的优选值,对各个云容器的初始资源存储容量进行再分配。
2.根据权利要求1所述的一种基于拍卖算法的云容器资源分配方法,其特征在于,在S100中,将多个不同的云容器组成一个云容器集群的方法为:获取多个不同的云容器,所述云容器为云服务器,每个云容器的内存容量各不相同,将各个云容器根据每个云容器的内存容量按照内存容量较小则为左节点的规则使用前序遍历算法构建成一个二叉树,由此将各个云容器作为各个节点连接成为一个整体的树状的数据结构结构作为一个云容器集群。
3.根据权利要求1所述的一种基于拍卖算法的云容器资源分配方法,其特征在于,在S200中,在云容器集群中上传数据集,各个云容器分别对数据集进行存储的方法为:向云容器集群中上传数据集,数据集为多个不同的表的集合,数据集中各个表的字节数量不全部相同,其中每个表不支持将一个表分割在不同的云容器中进行分布式存储;
记云容器集群为Cloud,云容器集群中云容器的数量为n,云容器集群中序号为i的云容器为Cloud(i),云容器集群中序号为i的云容器的内存容量为Cloud(i)t,云容器集群的总内存容量为Cloudt,Cloudt的计算公式为:
Figure FDA0003505933090000011
记数据集为集合Dataset,数据集中表的数量为m,数据集中序号为j的表为Dataset(j),数据集中序号为j的表的字节数量为load(j),数据集的总字节量为Load,Load的计算公式为:
Figure FDA0003505933090000012
其中,各个云容器分别对数据集进行存储为:每个云容器存储正整数个表,由此云容器集群各个云容器分别对数据集的各个表进行存储。
4.根据权利要求3所述的一种基于拍卖算法的云容器资源分配方法,其特征在于,在S300中,对云容器集群中的各个云容器使用拍卖算法,为各个云容器各自分配资源存储容量作为初始资源存储容量的方法为:
使用拍卖算法为各个云容器各自分配资源存储容量,资源存储容量为一个云容器中所能存储的表的总共的字节数量;
其中,拍卖算法的使用具体为:通过拍卖算法,得出对各个云容器分配不同的表的各种不同的排列组合,进而获取各种不同的排列组合中云容器集群所能存储的表的总共的字节数量最大的一种排列组合,根据该种排列组合来对云容器集群中的各个云容器分配该云容器负责存储的表,并记录此时各个云容器的资源存储容量;
云容器Cloud(i)中所能存储的表的集合为tbs(i),云容器Cloud(i)在当前时刻的资源存储容量为src(i),其中,各个云容器的资源存储容量满足第零约束条件,第零约束条件为:
Figure FDA0003505933090000021
将记录的此时各个云容器的资源存储容量作为初始资源存储容量,云容器Cloud(i)的初始资源存储容量即为src(i)。
5.根据权利要求3所述的一种基于拍卖算法的云容器资源分配方法,其特征在于,在S500中,根据各个云容器的优选值,对各个云容器的初始资源存储容量进行再分配的方法为:
计算各个云容器的剩余内存容量,记云容器Cloud(i)的剩余内存容量为res(i),获取云容器Cloud(i)的初始资源存储容量src(i),并获取云容器Cloud(i)的在云容器集群运行一段时间后于当前时刻的资源存储容量为src(i)t,云容器Cloud(i)的剩余内存容量的计算公式为:
res(i)=Cloud(i)t-src(i)t,
获取云容器Cloud(i)的优先值并记为p(i),根据各个云容器的优选值,计算得到调度操作序列,调度操作序列为一个数组且数组中元素的数量与云容器集群中云容器的数量相同,调度操作序列中的元素为数值,调度操作序列中的元素的数量同为n,调度操作序列中的元素的序号同为i,调度操作序列中序号为i的元素与云容器集群中序号为i的云容器相对应,记调度操作序列为Seop,Seop中序号为i的元素为Seop(i),Seop(i)的计算公式为:
Figure FDA0003505933090000022
其中,函数sin()表示正弦函数,将调度操作序列中各元素的数值的算术平均数记为Seop_avg,由此,得到调度操作序列;
进而,使用调度操作序列,对各个云容器的初始资源存储容量进行再分配:
S501,在云容器集群中,对各个云容器Cloud(i)进行判断是否满足第一约束条件,第一约束条件为Seop(i)≥Seop_avg,若是满足第一约束条件则转到S502;
S502,对满足第一约束条件的云容器Cloud(i)获取其剩余内存容量res(i),并进行判断是否满足第二约束条件,第二约束条件为res(i)+src(i)>Cloud(i)t,若是满足第二约束条件则转到S503;
S503,对满足第二约束条件的云容器Cloud(i),从云容器Cloud(i)中获取其中内存容量大小为res(i)+src(i)-Cloud(i)t的没有进行数据存储的内存容量归还于云容器集群,作为云容器集群在发生内存溢出的情况下的备用的存储空间。
6.一种基于拍卖算法的云容器资源分配系统,其特征在于,所述一种基于拍卖算法的云容器资源分配系统包括:处理器、存储器及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述一种基于拍卖算法的云容器资源分配方法中的步骤,所述一种基于拍卖算法的云容器资源分配系统运行于桌上型计算机、笔记本、掌上电脑及云端数据中心的计算设备中。
CN202210138456.9A 2022-02-15 2022-02-15 一种基于拍卖算法的云容器资源分配方法及系统 Active CN114595030B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210138456.9A CN114595030B (zh) 2022-02-15 2022-02-15 一种基于拍卖算法的云容器资源分配方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210138456.9A CN114595030B (zh) 2022-02-15 2022-02-15 一种基于拍卖算法的云容器资源分配方法及系统

Publications (2)

Publication Number Publication Date
CN114595030A true CN114595030A (zh) 2022-06-07
CN114595030B CN114595030B (zh) 2023-05-23

Family

ID=81805182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210138456.9A Active CN114595030B (zh) 2022-02-15 2022-02-15 一种基于拍卖算法的云容器资源分配方法及系统

Country Status (1)

Country Link
CN (1) CN114595030B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102254284A (zh) * 2011-07-29 2011-11-23 东北大学 一种基于同时向上报价拍卖机制的网格资源调度方法
US20140068056A1 (en) * 2012-09-06 2014-03-06 Alkiviadis Simitsis Computer cluster with objective-based resource sharing
CN109039954A (zh) * 2018-07-25 2018-12-18 广东石油化工学院 多租户容器云平台虚拟计算资源自适应调度方法及系统
CN113055469A (zh) * 2021-03-11 2021-06-29 网宿科技股份有限公司 云容器存储控制方法、系统、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102254284A (zh) * 2011-07-29 2011-11-23 东北大学 一种基于同时向上报价拍卖机制的网格资源调度方法
US20140068056A1 (en) * 2012-09-06 2014-03-06 Alkiviadis Simitsis Computer cluster with objective-based resource sharing
CN109039954A (zh) * 2018-07-25 2018-12-18 广东石油化工学院 多租户容器云平台虚拟计算资源自适应调度方法及系统
CN113055469A (zh) * 2021-03-11 2021-06-29 网宿科技股份有限公司 云容器存储控制方法、系统、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"异构自主平台上云资源分配方法研究与实现" *

Also Published As

Publication number Publication date
CN114595030B (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
US11893018B2 (en) Dispersing data and parity across a set of segments stored via a computing system
US10394782B2 (en) Chord distributed hash table-based map-reduce system and method
US10831747B2 (en) Multi stage aggregation using digest order after a first stage of aggregation
US20070156997A1 (en) Memory allocation
CN111966649B (zh) 一种高效去重的轻量级在线文件存储方法及装置
US10356150B1 (en) Automated repartitioning of streaming data
JP2015512551A (ja) ネットワーク・インフラストラクチャにおけるデータ記憶及び編成を容易にするコンシステント・リング名前空間
CN107667363A (zh) 具有多种可选数据处理策略的基于对象的存储集群
CN105593828A (zh) 管理文件的方法、分布式存储系统和管理节点
WO2023051235A1 (zh) 一种威胁情报大数据共享方法及系统
US10102267B2 (en) Method and apparatus for access control
CN108255989A (zh) 图片存储方法、装置、终端设备及计算机存储介质
CN109460406A (zh) 一种数据处理方法及装置
US9177274B2 (en) Queue with segments for task management
CN116982035A (zh) 分布式数据系统中索引质量的测量与改进
WO2024078122A1 (zh) 数据库表扫描的方法、装置以及设备
US8990524B2 (en) Management of data elements of subgroups
CN114595030A (zh) 一种基于拍卖算法的云容器资源分配方法及系统
US20200133732A1 (en) Coordinating main memory access of a plurality of sets of threads
CN116842012A (zh) 一种Redis集群的分片存储方法、装置、设备及存储介质
CN114338694B (zh) 一站式云数据中心服务器调度方法及系统
JP6006740B2 (ja) インデックス管理装置
CN104537016A (zh) 一种确定文件所在分区的方法及装置
CN114415971A (zh) 数据处理方法以及装置
CN114595029B (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