一种副本数量的确定方法、装置、设备及存储介质与流程
未命名
07-27
阅读:252
评论:0
1.本技术实施例涉及数据处理技术领域,尤其涉及一种副本数量的确定方法、装置、设备及存储介质。
背景技术:
2.随着云计算,分布式存储等各类技术的蓬勃发展,由于成本低、效率高以及测试轻量级的特点,kubernetes集群架构系统的研究已经成为了互联网通信技术领域的大热方向,kubernetes容器集群管理工具主要应用于管理云计算环境下计算密集型的大规模任务应用,然而为满足容器集群所需的计算资源,通常需要在集群中增加宿主机节点,由于单集群可以管理的计算节点有上限,需要不断新增集群以满足在集群故障时可以迅速切换到正常的集群上,使得容器集群高可用,从而满足容器集群对资源的需求。
3.但是目前部署集群通常是由应用自行选择的,而应用在多集群调度器调度之前不知道集群的具体资源使用情况,实际情况下可能有些集群剩余资源充足,有些集群资源紧张,若是应用选择了资源紧张的集群创建过多副本,则会导致的资源紧张的集群创建副本资源不足无法生产的情况,无法满足容器集群对资源的需求,从而导致集群资源负载不平衡。
技术实现要素:
4.本技术实施例提供了一种副本数量的确定方法、装置、设备及存储介质,用于通过从第一集群中筛选出的每个第一目标节点的第一目标副本数量来获取第一集群的第一目标副本总数,能够在多集群调度器调度之前准确感知到第一集群的可支持创建的第一目标副本总数,可以避免多集群调度器分配给超过第一目标副本总数的副本给第一集群进行生产,从而实现集群资源负载均衡。
5.本技术实施例一方面提供了一种副本数量的确定方法,包括:
6.获取第一集群的副本节点配置信息以及副本资源配置信息,第一集群包括若干个节点;
7.根据副本节点配置信息对第一集群的若干个节点进行筛选操作,得到至少一个第一目标节点;
8.获取每个第一目标节点中最小集群调度单元的已使用资源量和总资源量;
9.根据已使用资源量和总资源量计算每个第一目标节点的剩余资源量;
10.根据数量计算策略,对剩余资源量和副本资源配置信息中各资源量进行计算,得到每个第一目标节点的第一目标副本数量;
11.对每个第一目标节点的第一目标副本数量进行汇总,得到第一集群的第一目标副本总数。
12.本技术另一方面提供了一种副本数量的确定装置,包括:
13.获取单元,用于获取第一集群的副本节点配置信息以及副本资源配置信息,第一
集群包括若干个节点;
14.处理单元,用于根据副本节点配置信息对第一集群的若干个节点进行筛选操作,得到至少一个第一目标节点;
15.获取单元,还用于获取每个第一目标节点中最小集群调度单元的已使用资源量和总资源量;
16.处理单元,还用于根据已使用资源量和总资源量计算每个第一目标节点的剩余资源量;
17.处理单元,还用于根据数量计算策略,对剩余资源量和副本资源配置信息中各资源量进行计算,得到每个第一目标节点的第一目标副本数量;
18.处理单元,还用于对每个第一目标节点的第一目标副本数量进行汇总,得到第一集群的第一目标副本总数。
19.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:
20.根据选择器配置数据,从第一集群的若干个节点中筛选出第一候选节点;
21.根据亲和性配置数据,从若干个第一候选节点中筛选出第二候选节点;
22.根据污点和容忍度配置数据,从若干个第二候选节点中筛选出第三候选节点;
23.将若干个第三候选节点中满足调度条件的节点作为第一目标节点。
24.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:
25.获取若干个第三候选节点的节点状态信息;
26.若节点状态信息为可运行且可调度状态,则将第三候选节点作为第一目标节点。
27.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,
28.获取单元,还用于获取每个第一目标节点中最小集群调度单元的已运行个数和总个数;
29.处理单元具体可以用于:根据数量计算策略,对剩余资源量、副本资源配置信息中各资源量、已运行个数和总个数进行计算,得到每个第一目标节点的第一目标副本数量。
30.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,处理单元具体可以用于:
31.计算剩余资源量和副本资源配置信息中各资源量之间的比值,得到至少一个第一副本数量;
32.计算已运行个数和总个数之间的比值,得到第二副本数量;
33.从至少一个第一副本数量和第二副本数量中选取数值最小的作为第一目标副本数量。
34.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,
35.获取单元,还用于获取至少两个集群中的第二集群的第二目标副本总数;
36.处理单元,还用于计算第一目标副本总数和第二目标副本总数之间的比值,得到至少两个集群对应的副本分配权值。
37.在一种可能的设计中,本技术实施例另一方面的一种实现方式中,
38.接收单元,用于接收集群调度请求,其中,集群调度请求携带有待生产的副本总
数;
39.处理单元,还用于根据副本分配权值,将待生产的副本总数划分第一集群的第一待生产副本数量以及第二集群的第二待生产副本数量;
40.处理单元,还用于分别将第一待生产副本数量以及第二待生产副本数量分配至第一集群以及第二集群进行副本生产。
41.本技术另一方面提供了一种计算机设备,包括:存储器、收发器、处理器以及总线系统;
42.其中,存储器用于存储程序;
43.处理器用于执行存储器中的程序时实现如上述各方面的方法;
44.总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
45.本技术的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
46.从以上技术方案可以看出,本技术实施例具有以下优点:
47.通过获取第一集群的副本节点配置信息以及副本资源配置信息,可以根据副本节点配置信息从第一集群的若干个节点中筛选出至少个第一目标节点,可以获取每个第一目标节点中最小集群调度单元已使用资源量和总资源量,并根据已使用资源量和总资源量计算每个第一目标节点的剩余资源量,然后可以根据数量计算策略,对剩余资源量和副本资源配置信息中各资源量进行计算,以获取每个第一目标节点的第一目标副本数量,并将每个第一目标节点的第一目标副本数量进行汇总,以获取第一集群的第一目标副本总数。通过上述方式,能够通过获取到的副本节点配置信息从第一集群中筛选出至少一个第一目标节点,并通过副本资源配置信息计算得到每个第一目标节点的第一目标副本数量,以获取第一集群的第一目标副本总数,能够在多集群调度器调度之前准确感知到第一集群的可支持创建的第一目标副本总数,可以避免多集群调度器分配给超过第一目标副本总数的副本给第一集群进行生产,从而实现集群资源负载均衡。
附图说明
48.图1是本技术实施例中副本数据控制系统的一个架构示意图;
49.图2是本技术实施例中副本数量的确定方法的一个实施例流程图;
50.图3是本技术实施例中副本数量的确定方法的另一个实施例流程图;
51.图4是本技术实施例中副本数量的确定方法的另一个实施例流程图;
52.图5是本技术实施例中副本数量的确定方法的另一个实施例流程图;
53.图6是本技术实施例中副本数量的确定方法的另一个实施例流程图;
54.图7是本技术实施例中副本数量的确定方法的另一个实施例流程图;
55.图8是本技术实施例中副本数量的确定方法的另一个实施例流程图;
56.图9是本技术实施例中副本数量的确定方法的一个原理实施例流程图;
57.图10是本技术实施例中副本数量的确定装置的一个实施例示意图;
58.图11是本技术实施例中计算机设备的一个实施例示意图。
具体实施方式
59.本技术实施例提供了一种副本数量的确定方法、装置、设备及存储介质,用于通过从第一集群中筛选出的每个第一目标节点的第一目标副本数量来获取第一集群的第一目标副本总数,能够在多集群调度器调度之前准确感知到第一集群的可支持创建的第一目标副本总数,可以避免多集群调度器分配给超过第一目标副本总数的副本给第一集群进行生产,从而实现集群资源负载均衡。
60.本技术的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
61.而随着信息的飞速发展,云技术(cloud technology)也逐渐走入人们生活的方方面面。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
62.其中,云安全(cloud security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。本技术实施例提供的副本数量的确定方法就可以通过云计算技术以及云安全技术来实现。
63.下面对本技术实施例中涉及的部分概念进行介绍。
64.1、工作负载
65.工作负载是一类应用程序,它可以含有多个副本实例。
66.2、副本
67.工作负载的实例单元,每个副本实例都是一个独立的容器。
68.3、kubernetes
69.一个生产级别的大规模容器编排调度系统,用于容器集群的自动化部署、扩容以及运维。
70.4、容器
71.容器一般是指docker容器,通过容器隔离的特性和宿主机进行解耦,使得服务不需要依赖于宿主机而运行,与宿主机互不影响,docker容器十分轻量。而kubernetes则负责管理服务中所有的docker容器,创建、运行、重启与删除容器。
72.5、pod
73.pod是一组容器形成的集合,是集群调度的最小单元,其中,一个pod代表着一个工作负载的副本。
74.应理解,本技术提供的副本数量的确定方法可以应用于云技术、人工智能、智慧交通等领域,用于基于副本调度维护集群负载均衡等场景。作为示例,例如通过确定每个集群的副本数量来完成对集群的工作负载的一次调度。作为另一个示例,例如通过确定每个集群的副本数量来辅助集群调度器感知每个集群的最大能够生产的副本数量。作为再一示例,例如通过确定每个集群的副本数量为每个集群分配相对应的副本生产任务。
75.为了解决上述问题,本技术提出了一种副本数量的确定方法,该方法应用于图1所示的副本数据控制系统,请参阅图1,图1为本技术实施例中副本数据控制系统的一个架构示意图,如图1所示,服务器获取第一集群的副本节点配置信息以及副本资源配置信息,可以根据副本节点配置信息从第一集群的若干个节点中筛选出至少个第一目标节点,可以获取每个第一目标节点中最小集群调度单元已使用资源量和总资源量,并根据已使用资源量和总资源量计算每个第一目标节点的剩余资源量,然后可以根据数量计算策略,对剩余资源量和副本资源配置信息中各资源量进行计算,以获取每个第一目标节点的第一目标副本数量,并将每个第一目标节点的第一目标副本数量进行汇总,以获取第一集群的第一目标副本总数。通过上述方式,能够通过获取到的副本节点配置信息从第一集群中筛选出至少一个第一目标节点,并通过副本资源配置信息计算得到每个第一目标节点的第一目标副本数量,以获取第一集群的第一目标副本总数,能够在多集群调度器调度之前准确感知到第一集群的可支持创建的第一目标副本总数,可以避免多集群调度器分配给超过第一目标副本总数的副本给第一集群进行生产,从而实现集群资源负载均衡。
76.可以理解的是,图1中仅示出了一种终端设备,在实际场景中可以由更多种类的终端设备参与到数据处理的过程中,终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等,具体数量和种类因实际场景而定,具体此处不做限定。另外,图1中示出了一个服务器,但在实际场景中,也可以有多个服务器的参与,特别是在多模型训练交互的场景中,服务器的数量因实际场景而定,具体此处不做限定。
77.需要注意的是,本实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,终端设备以及服务器可以连接组成区块链网络,本技术在此不做限制。
78.为了解决上述问题,本技术提出了一种副本数量的确定方法,该方法一般由服务器或终端设备执行,相应地,应用于副本数量的确定装置一般设置于服务器或终端设备中。
79.可以理解的是,如本技术所公开的副本数量的确定方法、装置、设备及存储介质,其中多个服务器或终端设备可以组成为一区块链,而服务器或终端设备为区块链上的节点。在实际应用中,可以在区块链中需要进行节点与节点之间的数据共享,每个节点上可以存储有副本数据、节点数据等。
80.下面将对本技术中副本数量的确定方法进行介绍,请参阅图2,本技术实施例中副本数量的确定方法一个实施例包括:
81.在步骤s101中,获取第一集群的副本节点配置信息以及副本资源配置信息,第一集群包括若干个节点;
82.在本实施例中,当需要调度集群进行副本生产时,可以先获取预调度集群即第一集群的副本节点配置信息以及副本资源配置信息,以使后续可以根据副本节点配置信息以及副本资源配置信息进行资源调度,以维护集群的负载均衡。
83.其中,第一集群指的是包含有若干个节点的集群,第一集群具体可以表现为运行在容器集群管理工具中的集群。容器集群管理工具具体可以表现为kubernetes,用于容器集群的自动化部署、扩容以及管理,还可以采用其他集群管理工具,此处不作具体限制。副本节点配置信息指的是对第一集群中的节点的调度需求,具体可以表现为副本节点的选择器需求、亲和性需求以及污点和容忍度需求等,还可以表现为其他节点需求,此处不作具体限制。副本资源配置信息指的是第一集群中的节点需要生产的副本的资源需求,具体可以表现为cpu核心数需求、内存大小需求以及扩展资源需求等,还可以表现为其他资源需求,此处不作具体限制。
84.具体地,如图9所示,目标对象可以预先通过终端设备将目标对象预调度使用的集群即第一集群,以及预调度集群进行工作负载时,对预调度集群的副本节点需求即副本节点配置信息和节点生产副本的预消耗的副本资源需求即副本资源配置信息上传至平台数据库,当目标对象需要调度集群进行副本生产时,可以根据目标对象的对象标识,从数据库中获取到与对象标识相对应的预调度集群以及预调度集群相对应的副本节点配置信息和副本资源配置信息,其中,对象标识对象身份标识码(identity,id),用于指示目标对象,可以具体表现为整数(int)型的数字串,也可以具体表现为字符串等,可以理解的是,在本实施例以及后续的实施例中目标对象均指的是使用的终端设备的用户;或者,还可以是当目标对象需要调度集群进行副本生产时,可以通过终端设备上安装的客户端执行集群调度操作,则客户端可以接收目标对象对想要调度的目标集群的选择操作,并根据目标对象的选择操作生成集群的副本估算指令的输入界面,以获取到目标对象输入的集群的副本估算指令,如图9所示,使得服务器可以根据接收到的集群的副本估算指令中的集群标识或集群名称索引至目标集群即第一集群,具体可以是在若干个集群中遍历与所述集群标识或者集群名称一致的集群,还可以是通过其他方式,此处不作具体限制,并从数据库中读取与该集群标识或集群名称相对应的副本节点配置信息以及副本资源配置信息,还可以是通过其他方式获取副本节点配置信息以及副本资源配置信息,此处不作具体限制。
85.可以理解的是,服务器在接收到的目标对象上传的副本节点配置信息以及副本资源配置信息时,可以按照预设的数据存储格式对接收到的副本节点配置信息以及副本资源配置信息进行格式转换处理,以便于计算机对副本节点配置信息以及副本资源配置信息的快速读取。
86.在步骤s102中,根据副本节点配置信息对第一集群的若干个节点进行筛选操作,得到至少一个第一目标节点;
87.在本实施例中,在获取到第一集群的副本节点配置信息之后,可以根据副本节点配置信息从第一集群的若干个节点筛选出第一集群的若干个节点要求的至少一个第一目标节点,以使后续可以调度第一目标节点进行副本生产。
88.具体地,如图9所示,在获取到第一集群的副本节点配置信息之后,可以根据副本
节点配置信息对第一集群的若干个节点进行预选,具体可以是将副本节点配置信息包含的副本节点的选择器需求、亲和性需求以及污点和容忍度需求等信息,分别与每个节点的节点标签进行匹配,如果匹配到满足选择器需求、亲和性需求以及污点和容忍度需求等信息的节点,可以理解为是第一集群中能够被调度使用进行副本生产的节点,即第一目标节点,如果匹配到不完全满足选择器需求、亲和性需求以及污点和容忍度需求等信息的节点,可以理解为是第一集群中不能被调度使用进行副本生产的节点,则可以对该节点进行过滤或忽略处理,还可以进行其他操作,此处不作具体限制,其中,节点标签(label)是用于表示对目标对象有意义的kubernetes对象的属性标识,或是用于对元数据加以描述,还可以是用于命令查询时做筛选等,节点标签具体可以表现为附加到kubernetes对象上的键值对,例如,kubectl label nodes《node-name》《label-key》=《label-value》,还可以是其他标签形式,此处不作具体限制。
89.在步骤s103中,获取每个第一目标节点中最小集群调度单元的已使用资源量和总资源量;
90.在本实施例中,在获取到第一集群中的至少一个第一目标节点后,可以获取每个第一目标节点中最小集群调度单元的已使用资源量和总资源量,以使后续可以根据最小集群调度单元的已使用资源量和总资源量估算每个第一目标节点的最多能够生产的副本数量。
91.其中,每个第一目标节点可以包含有至少一个最小集群调度单元。最小集群调度单元指的是一组容器形成的集合pod,一个pod可以代表着一个工作负载的副本。最小集群调度单元的已使用资源量指的是当前每个第一目标节点中的已经运行的每一个pod的资源需求。总资源量指的是每个第一目标节点的预先配置的节点总资源规格。
92.可以理解的是,pod可以作为垂直应用整合的载体,用于支持同地协作,同地管理程序,例如:pod可以用于内容管理系统、文件和数据加载以及本地缓存等;或是用于日志和检查点备份、压缩、循环以及快照等;或是用于数据交换监测、日志追踪、日志记录和监测适配器以及事件发布等;或是用作代理、网桥或适配器等;或者用于控制、管理、配置或更新应用程序,还可以有其他用途,此处不作具体限制,总体来说,独立的pod不会去加载多个相同的应用实例。
93.具体地,如图9所示,在获取到第一集群中的至少一个第一目标节点后,可以调用每个第一目标节点对应的线程,先获取每个第一目标节点对应的每个最小集群调度单元pod,并从若干个pod中找出该第一目标节点上已经运行的pod,记为p1,p2,...,pn,然后,再分别获取每一个已经运行的pod的资源需求,即每个最小集群调度单元的已使用资源量,以及该第一目标节点资源规格即第一目标节点的总资源量。
94.例如,假设第一集群中的一个第一目标节点a的总资源量为cpu核心数为8、内存大小为16gb、扩展资源(如gpu)数为8以及最大支持pod数为4。
95.例如,假设第一集群中的一个第一目标节点a的一个最小集群调度单元pod a1的已使用资源量为cpu核心数为3,内存大小为5gb,以及第一目标节点a的一个最小集群调度单元pod a2的已使用资源量为cpu核心数为1,内存大小为6gb以及扩展资源(如gpu)数为4等。
96.在步骤s104中,根据已使用资源量和总资源量计算每个第一目标节点的剩余资源
量;
97.在本实施例中,在获取到每个第一目标节点中最小集群调度单元的已使用资源量和总资源量之后,可以根据已使用资源量和总资源量计算每个第一目标节点的剩余资源量,以使后续可以根据每个第一目标节点的剩余资源量来估算每个第一目标节点的第一目标副本数量。
98.具体地,如图9所示,在获取到每个第一目标节点中最小集群调度单元的已使用资源量和总资源量之后,可以调用每个第一目标节点对应的线程,对获取到的每个第一目标节点中最小集群调度单元的已使用资源量和总资源量进行差值计算,具体可以是采用如下公式(1),将每个第一目标节点的总资源量与每一个pod的资源需求即最小集群调度单元的已使用资源量进行逐项相减,以获取每个第一目标节点的剩余资源量:
[0099][0100]
其中,rs表示每个第一目标节点的总资源量,r
pn
表示每个最小集群调度单元的已使用资源量,rl表示每个第一目标节点的剩余资源量,n为每个第一目标节点的pod的个数。
[0101]
例如,假设第一集群中的一个第一目标节点a的总资源量为cpu核心数为8、内存大小为16gb、扩展资源(如gpu)数为8以及最大支持pod数为4,第一集群中的一个第一目标节点a的一个最小集群调度单元pod a1的已使用资源量为cpu核心数为3,内存大小为5gb,以及第一目标节点a的一个最小集群调度单元pod a2的已使用资源量为cpu核心数为1,内存大小为6gb以及扩展资源(如gpu)数为4等,那么通过公式(1)可以计算得到第一目标节点a的剩余资源量为cpu核心数为4、内存大小为5gb、扩展资源(如gpu)数为4以及最大支持pod数为2。
[0102]
在步骤s105中,根据数量计算策略,对剩余资源量和副本资源配置信息中各资源量进行计算,得到每个第一目标节点的第一目标副本数量;
[0103]
在本实施例中,在获取到每个第一目标节点的剩余资源量之后,可以按照数量计算策略,分别对剩余资源量和副本资源配置信息中各资源量进行计算,以获取每个第一目标节点的第一目标副本数量。
[0104]
其中,数量计算策略具体可以表现数量计算规则、约束条件、函数表达式或数量计算公式等,还可以表现为其他计算策略,此处不作具体限制。
[0105]
具体地,如图9所示,在获取到每个第一目标节点的副本资源配置信息以及剩余资源量之后,可以按照数量计算策略如下公式(2),来计算剩余资源量和副本资源配置信息中各资源量之间的比值,以获取第一目标的节点剩余资源量最多支持生产的副本数量即第一目标副本数量:
[0106][0107]
其中,a1表示每个第一目标节点的第一目标副本数量,rd表示每个第一目标节点的副本资源配置信息中一资源量,rl表示每个第一目标节点的剩余资源量。
[0108]
例如,假设输入的工作负载r副本资源需求即副本资源配置信息为cpu核心数为2以及内存大小为3gb,假设第一目标节点a的剩余资源量为cpu核心数为4、内存大小为5gb、
扩展资源(如gpu)数为4以及最大支持pod数为2,通过公式(2)有剩余资源量的cpu核心数和副本资源配置信息的cpu核心数之间的比值为2,剩余资源量的内存大小和副本资源配置信息的内存大小之间的比值取较小整数值约为1,则可以将剩余资源量和副本资源配置信息中各资源量之间的比值中的最小数值作为第一目标副本数量即为1。
[0109]
在步骤s106中,对每个第一目标节点的第一目标副本数量进行汇总,得到第一集群的第一目标副本总数。
[0110]
在本实施例中,在获取到每个第一目标节点的第一目标副本数量之后,可以对每个第一目标节点的第一目标副本数量进行汇总以获取第一集群的第一目标副本总数,能够在多集群调度器调度之前准确感知到第一集群的可支持创建的第一目标副本总数,从而维护集群资源负载均衡。
[0111]
具体地,如图9所示,在获取到每个第一目标节点的第一目标副本数量之后,可以对每个第一目标节点的第一目标副本数量进行汇总,具体可以是对获取到的每个第一目标节点的第一目标副本数量进行加和处理,还可以采用其他汇总方式如加权求和等,此处不作具体限制,以获取第一集群的第一目标副本总数。
[0112]
例如,假设第一目标节点a的第一目标副本数量为1,第一目标节点b的第一目标副本数量为2,以及第一目标节点c的第一目标副本数量为1,可以将每个第一目标节点的第一目标副本数量进行加和计算,得到第一集群的第一目标副本总数为4。
[0113]
在本技术实施例中,提供了一种副本数量的确定方法,通过上述方式,能够通过获取到的副本节点配置信息从第一集群中筛选出多个第一目标节点,并通过副本资源配置信息计算得到每个第一目标节点的第一目标副本数量,以获取第一集群的第一目标副本总数,能够在多集群调度器调度之前准确感知到第一集群的可支持创建的第一目标副本总数,可以避免多集群调度器分配给超过第一目标副本总数的副本给第一集群进行生产,从而实现集群资源负载均衡。
[0114]
可选地,在上述图2对应的实施例的基础上,本技术实施例提供的副本数量的确定方法另一个可选实施例中,如图3所示,副本节点配置信息包括选择器配置数据、亲和性配置数据以及污点和容忍度配置数据;
[0115]
根据副本节点配置信息对第一集群的若干个节点进行筛选操作,得到至少一个第一目标节点,包括:
[0116]
在步骤s301中,根据选择器配置数据,从第一集群的若干个节点中筛选出第一候选节点;
[0117]
在步骤s302中,根据亲和性配置数据,从若干个第一候选节点中筛选出第二候选节点;
[0118]
在步骤s303中,根据污点和容忍度配置数据,从若干个第二候选节点中筛选出第三候选节点;
[0119]
在步骤s304中,将若干个第三候选节点中满足调度条件的节点作为第一目标节点。
[0120]
在本实施例中,在获取到第一集群的副本节点配置信息之后,可以先根据副本节点配置信息中的选择器配置数据,从第一集群的若干个节点中筛选出第一候选节点,再根据副本节点配置信息中的亲和性配置数据,从若干个第一候选节点中筛选出第二候选节
点,进而可以根据副本节点配置信息中的污点和容忍度配置数据,从若干个第二候选节点中筛选出第三候选节点,然后,可以将满足调度条件的第三候选节点节点作为第一目标节点,以使后续可以调度第一目标节点进行副本生产。
[0121]
其中,选择器配置数据用于通过节点选择器进行标签选择,以获取满足节点选择器的表达式的节点标签。标签选择具体可以是通过等值选择方式、集合选择方式、matchlabels或matchexpressions等方式,还可以是其他方式,此处不作具体限制。等值选择方式,可以采用表达式如“disktype=ssd&&disksize=big”,其中,等值可以表示为=、==或!=,可以理解的是,=和==无区别,以及在多个需求(如多个label)的情况下,可以使用&&运算符来表示。集合选择方式,支持如in、notin和exists三种操作符。matchlabels是由{key,value}对组成的映射,可以理解的是matchlabels映射中的单个{key,value}可以等同于matchexpressions的元素,其key字段为“key”,operator为“in”,而values数组仅包含“value”。matchexpressions可以理解为pod选择算符需求的列表,有效的运算符包括in、notin、exists以及doesnotexist,但是在运算符为in和notin的情况下,通常设置的值必须是非空的。
[0122]
其中,亲和性配置数据类似于选择器配置数据,可以根据节点上的标签约束pod可以调度到哪些节点,即也可以用于节点筛选。可以通过字段-affinity设置亲和性,例如,节点亲和性nodeaffinity,反亲和性使用字段-antiaffinity,例如,nodeantiaffinity,然后可以通过节点亲和性语法支持的操作符如in、notin、exists、doesnotexist、gt以及lt等配置亲和性集合表达式,用于筛选符合亲和性集合的节点标签。
[0123]
其中,污点和容忍度配置数据包括节点污点(taint)和容忍度(tolerations),节点污点可以排斥一类特定的pod,而容忍度则表示能够容忍这个对象的污点。可以理解为当节点添加一个污点后,除非pod声明能够容忍这个污点,否则pod不会被调度到这个节点上。通常系统会尽量避免将pod调度到存在其不能容忍污点的节点上,但这不是强制的。可以理解的是,kubernetes处理多个污点和容忍度的过程就像一个过滤器:从一个节点的所有污点开始遍历,过滤掉那些pod中存在与之不匹配的容忍度的污点。
[0124]
具体地,如图9所示,在获取到第一集群的副本节点配置信息之后,可以根据副本节点配置信息对第一集群的若干个节点进行层层过滤或筛选以获取至少一个第一目标节点,具体可以是先根据副本对于节点的选择器要求即选择器配置数据,从第一集群所有节点中匹配到节点标签满足选择器的节点作为第一候选节点,进而可以根据副本对于节点的亲和性要求即亲和性配置数据,从若干个第一候选节点中匹配到节点标签满足亲和性集合表达式的节点作为第二候选节点,然后可以根据副本污点和容忍度要求即污点和容忍度配置数据,在若干个第二候选节点中进行遍历,选取污点与副本容忍度相匹配的节点作为第三候选节点,最后,可以将若干个第三候选节点中满足调度条件如可运行可调度的节点作为第一目标节点。
[0125]
可选地,在上述图3对应的实施例的基础上,本技术实施例提供的副本数量的确定方法另一个可选实施例中,如图4所示,将若干个第三候选节点中满足调度条件的节点作为第一目标节点,包括:
[0126]
在步骤s401中,获取若干个第三候选节点的节点状态信息;
[0127]
在步骤s402中,若节点状态信息为可运行且可调度状态,则将第三候选节点作为
第一目标节点。
[0128]
在本实施例中,在获取到第一集群的若干个第三候选节点之后,可以获取若干个第三候选节点中每个节点的节点状态信息,如果当节点状态信息为可运行且可调度状态时,可以将第三候选节点作为第一目标节点,能够通过节点状态信息快速从若干个第三候选节点筛选出能够满足后续调度生产副本需求的第一目标节点,从而可以在一定程度上提高集群资源调度效率。
[0129]
其中,节点状态信息指的是在第一集群中当前每个节点的运行、调度以及资源使用状态,节点状态信息具体可以表现为节点状态标签或节点状态列表,还可以是其他节点状态标记,此处不作具体限制。
[0130]
具体地,在获取到第一集群的若干个第三候选节点之后,获取若干个第三候选节点的节点状态信息,具体可以是通过调用监测接口,获取若干个第三候选节点中每个节点的实时监测的节点状态标签,或者,还可以是从第一集群对应的节点状态列表中读取若干个第三候选节点中每个节点的节点状态数据,还可以是采用其他获取方式,此处不作具体限制,然后,可以根据调度条件为可运行且可调度状态,从若干个第三候选节点筛选出当前节点状态信息为可运行且可调度状态的节点,作为第一目标节点,以避免因第三候选节点不可运行或不可调度,导致后续副本生产失败的情况,从而可以在一定程度上维护集群资源负载均衡。
[0131]
可选地,在上述图2对应的实施例的基础上,本技术实施例提供的副本数量的确定方法另一个可选实施例中,如图5所示,根据数量计算策略,对剩余资源量和副本资源配置信息中各资源量进行计算,得到每个第一目标节点的第一目标副本数量之前,该方法还包括:步骤s501,以及步骤s105包括:步骤s502;
[0132]
在步骤s501中,获取每个第一目标节点中最小集群调度单元的已运行个数和总个数;
[0133]
在步骤s502中,根据数量计算策略,对剩余资源量、副本资源配置信息中各资源量、已运行个数和总个数进行计算,得到每个第一目标节点的第一目标副本数量。
[0134]
在本实施例中,在获取到第一集群中的至少一个第一目标节点后,可以获取每个第一目标节点中最小集群调度单元的已运行个数和总个数,然后可以按照数量计算策略,对剩余资源量、副本资源配置信息中各资源量、已运行个数和总个数进行计算,以获取每个第一目标节点的第一目标副本数量,能够通过每个第一目标节点中最小集群调度单元的已运行个数和总个数进一步估算每个第一目标节点最大支持生产副本的数量,以更加准确地获取第一集群的第一目标副本总数,从而可以一定程度上提高集群的资源负载均衡。
[0135]
其中,每个第一目标节点中最小集群调度单元的已运行个数指的是第一目标节点上已经运行的pod的数量,如p1,p2,...,pn的已运行个数为n。每个第一目标节点中最小集群调度单元的总个数指的是第一目标节点上已经运行的pod的数量和未运行的pod的数量。
[0136]
具体地,在获取到第一集群中的至少一个第一目标节点后,可以获取每个第一目标节点中最小集群调度单元的已运行个数和总个数,然后可以按照数量计算策略如上述公式(2),来计算剩余资源量和副本资源配置信息中各资源量之间的比值,以及按照数量计算策略如差值或比值等,还可以是其他计算策略,此处不作具体限制,来对已运行个数和总个数进行计算,以获取相应的计算结果,从而可以从多个计算结果中筛选出如计算结果数值
最小的作为每个第一目标节点的第一目标副本数量。
[0137]
可选地,在上述图5对应的实施例的基础上,本技术实施例提供的副本数量的确定方法另一个可选实施例中,如图6所示,根据数量计算策略,对剩余资源量、副本资源配置信息中各资源量、已运行个数和总个数进行计算,得到每个第一目标节点的第一目标副本数量,包括:
[0138]
在步骤s601中,计算剩余资源量和副本资源配置信息中各资源量之间的比值,得到至少一个第一副本数量;
[0139]
在步骤s602中,计算已运行个数和总个数之间的比值,得到第二副本数量;
[0140]
在步骤s603中,从至少一个第一副本数量和第二副本数量中选取数值最小的作为第一目标副本数量。
[0141]
在本实施例中,在获取到每个第一目标节点中最小集群调度单元的已运行个数和总个数之后,可以按照数量计算策略,计算剩余资源量和副本资源配置信息中各资源量之间的比值,以获取至少一个第一副本数量,同理,可以计算已运行个数和总个数之间的比值,以获取第二副本数量,然后,从至少一个第一副本数量和第二副本数量中选取数值最小的作为第一目标副本数量,能够通过剩余资源量、副本资源配置信息中各资源量、已运行个数和总个数等多个维度的比较,更加准确地计算得到每个第一目标节点最大支持生产的副本数量即第一目标数量,以更加准确地获取第一集群的第一目标副本总数,从而在多集群调度过程中,能够通过预先计算出每个集群工作负载的最大可用副本数即第一目标副本总数,可以防止每个集群被分配的工作负载的副本过多导致集群无法运行的情况,能够提高调度的精确性,可以一定程度上提高集群的资源负载均衡。
[0142]
具体地,在获取到每个第一目标节点中的剩余资源量、副本资源配置信息、最小集群调度单元的已运行个数和总个数之后,可以按照数量计算策略,对剩余资源量、副本资源配置信息中各资源量、已运行个数和总个数进行计算,具体可以是采用上述公式(2),来计算剩余资源量和副本资源配置信息中各资源量之间的比值,以获取到至少一个第一副本数量,此处不再赘述,同理,按照数量计算策略如下公式(3)可以将第一目标节点最大支持pod数即总个数与该第一目标节点上已经运行的pod数即已运行个数进行相减,以获取该第一目标节点剩余允许生产的pod总数作为第二副本数量:
[0143]
a2=m-n
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3);
[0144]
其中,a2表示每个第一目标节点的第二副本数量,m表示每个第一目标节点的最小集群调度单元的总个数,n表示每个第一目标节点的最小集群调度单元的已运行个数。
[0145]
进一步地,在获取到至少一个第一副本数量和第二副本数量之后,可以按照如下公式(4)将至少一个第一副本数量和第二副本数量进行两两比较,以获取数值最小的作为第一目标副本数量:
[0146]
a3=min(a1,a2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4);
[0147]
其中,a3表示每个第一目标节点的第一目标副本数量。
[0148]
可选地,在上述图2对应的实施例的基础上,本技术实施例提供的副本数量的确定方法另一个可选实施例中,如图7所示,当存在至少两个集群时;
[0149]
对每个第一目标节点的第一目标副本数量进行汇总,得到第一集群的第一目标副本总数之后,该方法还包括:
[0150]
在步骤s701中,获取至少两个集群中的第二集群的第二目标副本总数;
[0151]
在步骤s702中,计算第一目标副本总数和第二目标副本总数之间的比值,得到至少两个集群对应的副本分配权值。
[0152]
在本实施例中,如果当前存在至少两个集群时,在获取到第一集群的第一目标副本总数之后,可以获取其他集群如第二集群的第二目标副本总数,然后可以通过计算第一目标副本总数和第二目标副本总数之间的比值,以获取至少两个集群对应的副本分配权值,以使后续在多集群调度过程中,能够通过预先计算出每个集群工作负载的目标副本总数来获取至少两个集群对应的副本分配权值,以更精确合理地分发副本数到不同的集群中进行副本生产,从而可以在一定程度上维护多集群的负载均衡。
[0153]
具体地,如果当前存在至少两个集群时,即预调度的集群可以为多个,在获取到第一集群的第一目标副本总数之后,可以按照步骤s101至步骤s106获取第一集群的第一目标副本总数的方式,获取其他集群如第二集群的第二目标副本总数,此处不再赘述,可以理解的是,第二集群可以用于泛指第三集群、第四集群以及第n集群等,同理还可以获取第三集群的第三目标副本总数或第四集群的第四目标副本总数等,此处不作具体限制。
[0154]
进一步地,在获取到至少两个集群中的第二集群的第二目标副本总数之后,可以通过计算第一目标副本总数和第二目标副本总数之间的比值,以获取至少两个集群对应的副本分配权值,并将该至少两个集群对应的副本分配权值存储至数据库中,例如,假设第一集群的第一目标副本总数为4,第二集群的第二目标副本总数为3,计算第一目标副本总数和第二目标副本总数之间的比值,可以得到至少两个集群对应的副本分配权值为4:3。
[0155]
可选地,在上述图7对应的实施例的基础上,本技术实施例提供的副本数量的确定方法另一个可选实施例中,如图8所示,计算第一目标副本总数和第二目标副本总数之间的比值,得到至少两个集群对应的副本分配权值之后,该方法还包括:
[0156]
在步骤s801中,接收集群调度请求,其中,集群调度请求携带有待生产的副本总数;
[0157]
在步骤s802中,根据副本分配权值,将待生产的副本总数划分第一集群的第一待生产副本数量以及第二集群的第二待生产副本数量;
[0158]
在步骤s803中,分别将第一待生产副本数量以及第二待生产副本数量分配至第一集群以及第二集群进行副本生产。
[0159]
在本实施例中,在获取到至少两个集群对应的副本分配权值之后,当接收到携带有待生产的副本总数以及预调度的集群标识的集群调度请求时,可以根据副本分配权值,将待生产的副本总数划分第一集群的第一待生产副本数量以及第二集群的第二待生产副本数量,然后,可以分别将第一待生产副本数量以及第二待生产副本数量分配至第一集群以及第二集群进行副本生产,能够更精确合理地将副本数分发到不同的集群中进行副本生产,从而可以在一定程度上维护多集群的负载均衡。
[0160]
具体地,在获取到至少两个集群对应的副本分配权值之后,当接收到携带有待生产的副本总数以及预调度的集群标识的集群调度请求时,可以根据预调度的集群标识从数据库中读取与该集群标识项对应的至少两个集群对应的副本分配权值,进而,可以按照副本分配权值对待生产的副本总数进行划分,具体划分得到第一集群的第一待生产副本数量以及第二集群的第二待生产副本数量,然后,可以分别将第一待生产副本数量以及第二待
生产副本数量分配至第一集群以及第二集群进行副本生产,实现多集群的负载均衡。
[0161]
下面对本技术中的副本数量的确定装置进行详细描述,请参阅图10,图10为本技术实施例中副本数量的确定装置的一个实施例示意图,副本数量的确定装置20包括:
[0162]
获取单元201,用于获取第一集群的副本节点配置信息以及副本资源配置信息,第一集群包括若干个节点;
[0163]
处理单元202,用于根据副本节点配置信息对第一集群的若干个节点进行筛选操作,得到至少一个第一目标节点;
[0164]
获取单元201,还用于获取每个第一目标节点中最小集群调度单元的已使用资源量和总资源量;
[0165]
处理单元202,还用于根据已使用资源量和总资源量计算每个第一目标节点的剩余资源量;
[0166]
处理单元202,还用于根据数量计算策略,对剩余资源量和副本资源配置信息中各资源量进行计算,得到每个第一目标节点的第一目标副本数量;
[0167]
处理单元202,还用于对每个第一目标节点的第一目标副本数量进行汇总,得到第一集群的第一目标副本总数。
[0168]
可选地,在上述图10对应的实施例的基础上,本技术实施例提供的副本数量的确定装置的另一实施例中,处理单元202具体可以用于:
[0169]
根据选择器配置数据,从第一集群的若干个节点中筛选出第一候选节点;
[0170]
根据亲和性配置数据,从若干个第一候选节点中筛选出第二候选节点;
[0171]
根据污点和容忍度配置数据,从若干个第二候选节点中筛选出第三候选节点;
[0172]
将若干个第三候选节点中满足调度条件的节点作为第一目标节点。
[0173]
可选地,在上述图10对应的实施例的基础上,本技术实施例提供的副本数量的确定装置的另一实施例中,处理单元202具体可以用于:
[0174]
获取若干个第三候选节点的节点状态信息;
[0175]
若节点状态信息为可运行且可调度状态,则将第三候选节点作为第一目标节点。
[0176]
可选地,在上述图10对应的实施例的基础上,本技术实施例提供的副本数量的确定装置的另一实施例中,
[0177]
获取单元201,还用于获取每个第一目标节点中最小集群调度单元的已运行个数和总个数;
[0178]
处理单元202具体可以用于:根据数量计算策略,对剩余资源量、副本资源配置信息中各资源量、已运行个数和总个数进行计算,得到每个第一目标节点的第一目标副本数量。
[0179]
可选地,在上述图10对应的实施例的基础上,本技术实施例提供的副本数量的确定装置的另一实施例中,处理单元202具体可以用于:
[0180]
计算剩余资源量和副本资源配置信息中各资源量之间的比值,得到至少一个第一副本数量;
[0181]
计算已运行个数和总个数之间的比值,得到第二副本数量;
[0182]
从至少一个第一副本数量和第二副本数量中选取数值最小的作为第一目标副本数量。
[0183]
可选地,在上述图10对应的实施例的基础上,本技术实施例提供的副本数量的确定装置的另一实施例中,
[0184]
获取单元201,还用于获取至少两个集群中的第二集群的第二目标副本总数;
[0185]
处理单元202,还用于计算第一目标副本总数和第二目标副本总数之间的比值,得到至少两个集群对应的副本分配权值。
[0186]
可选地,在上述图10对应的实施例的基础上,本技术实施例提供的副本数量的确定装置的另一实施例中,
[0187]
接收单元203,用于接收集群调度请求,其中,集群调度请求携带有待生产的副本总数;
[0188]
处理单元202,还用于根据副本分配权值,将待生产的副本总数划分第一集群的第一待生产副本数量以及第二集群的第二待生产副本数量;
[0189]
处理单元202,还用于分别将第一待生产副本数量以及第二待生产副本数量分配至第一集群以及第二集群进行副本生产。
[0190]
本技术另一方面提供了另一种计算机设备示意图,如图11所示,图11是本技术实施例提供的一种计算机设备结构示意图,该计算机设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)310(例如,一个或一个以上处理器)和存储器320,一个或一个以上存储应用程序331或数据332的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器320和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备300中的一系列指令操作。更进一步地,中央处理器310可以设置为与存储介质330通信,在计算机设备300上执行存储介质330中的一系列指令操作。
[0191]
计算机设备300还可以包括一个或一个以上电源340,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口360,和/或,一个或一个以上操作系统333,例如windows server
tm
,mac os x
tm
,unix
tm
,linux
tm
,freebsd
tm
等等。
[0192]
上述计算机设备300还用于执行如图2至图8对应的实施例中的步骤。
[0193]
本技术的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如图2至图8所示实施例描述的方法中的步骤。
[0194]
本技术的另一方面提供了一种包含指令的计算机程序产品当其在计算机或处理器上运行时,使得所述计算机或处理器执行如图2至图8所示实施例描述的方法中的步骤。
[0195]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0196]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0197]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0198]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0199]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
技术特征:
1.一种副本数量的确定方法,其特征在于,包括:获取第一集群的副本节点配置信息以及副本资源配置信息,所述第一集群包括若干个节点;根据所述副本节点配置信息对所述第一集群的若干个节点进行筛选操作,得到至少一个第一目标节点;获取每个所述第一目标节点中最小集群调度单元的已使用资源量和总资源量;根据所述已使用资源量和所述总资源量计算每个所述第一目标节点的剩余资源量;根据数量计算策略,对所述剩余资源量和副本资源配置信息中各资源量进行计算,得到每个所述第一目标节点的第一目标副本数量;对每个所述第一目标节点的第一目标副本数量进行汇总,得到所述第一集群的第一目标副本总数。2.根据权利要求1所述的方法,其特征在于,所述副本节点配置信息包括选择器配置数据、亲和性配置数据以及污点和容忍度配置数据;所述根据所述副本节点配置信息对所述第一集群的若干个节点进行筛选操作,得到至少一个第一目标节点,包括:根据所述选择器配置数据,从所述第一集群的若干个节点中筛选出第一候选节点;根据所述亲和性配置数据,从若干个所述第一候选节点中筛选出第二候选节点;根据所述污点和容忍度配置数据,从若干个所述第二候选节点中筛选出第三候选节点;将若干个所述第三候选节点中满足调度条件的节点作为所述第一目标节点。3.根据权利要求2所述的方法,其特征在于,所述将若干个所述第三候选节点中满足调度条件的节点作为所述第一目标节点,包括:获取若干个所述第三候选节点的节点状态信息;若所述节点状态信息为可运行且可调度状态,则将所述第三候选节点作为所述第一目标节点。4.根据权利要求1所述的方法,其特征在于,所述根据数量计算策略,对所述剩余资源量和副本资源配置信息中各资源量进行计算,得到每个所述第一目标节点的第一目标副本数量之前,所述方法还包括:获取每个所述第一目标节点中最小集群调度单元的已运行个数和总个数;所述根据数量计算策略,对所述剩余资源量和副本资源配置信息中各资源量进行计算,得到每个所述第一目标节点的第一目标副本数量,包括:根据数量计算策略,对所述剩余资源量、所述副本资源配置信息中各资源量、所述已运行个数和所述总个数进行计算,得到每个所述第一目标节点的第一目标副本数量。5.根据权利要求4所述的方法,其特征在于,所述根据数量计算策略,对所述剩余资源量、所述副本资源配置信息中各资源量、所述已运行个数和所述总个数进行计算,得到每个所述第一目标节点的第一目标副本数量,包括:计算所述剩余资源量和所述副本资源配置信息中各资源量之间的比值,得到至少一个第一副本数量;计算所述已运行个数和总个数之间的比值,得到第二副本数量;
从所述至少一个第一副本数量和所述第二副本数量中选取数值最小的作为所述第一目标副本数量。6.根据权利要求1所述的方法,其特征在于,当存在至少两个集群时;所述对每个所述第一目标节点的第一目标副本数量进行汇总,得到所述第一集群的第一目标副本总数之后,所述方法还包括:获取所述至少两个集群中的第二集群的第二目标副本总数;计算所述第一目标副本总数和所述第二目标副本总数之间的比值,得到所述至少两个集群对应的副本分配权值。7.根据权利要求6所述的方法,其特征在于,所述计算所述第一目标副本总数和所述第二目标副本总数之间的比值,得到所述至少两个集群对应的副本分配权值之后,所述方法还包括:接收集群调度请求,其中,所述集群调度请求携带有待生产的副本总数;根据所述副本分配权值,将所述待生产的副本总数划分所述第一集群的第一待生产副本数量以及所述第二集群的第二待生产副本数量;分别将所述第一待生产副本数量以及所述第二待生产副本数量分配至所述第一集群以及所述第二集群进行副本生产。8.一种副本数量的确定装置,其特征在于,包括:获取单元,用于获取第一集群的副本节点配置信息以及副本资源配置信息,所述第一集群包括若干个节点;处理单元,用于根据所述副本节点配置信息对所述第一集群的若干个节点进行筛选操作,得到至少一个第一目标节点;所述获取单元,还用于获取每个所述第一目标节点中最小集群调度单元的已使用资源量和总资源量;所述处理单元,还用于根据所述已使用资源量和所述总资源量计算每个所述第一目标节点的剩余资源量;所述处理单元,还用于根据数量计算策略,对所述剩余资源量和副本资源配置信息中各资源量进行计算,得到每个所述第一目标节点的第一目标副本数量;所述处理单元,还用于对每个所述第一目标节点的第一目标副本数量进行汇总,得到所述第一集群的第一目标副本总数。9.一种计算机设备,其特征在于,包括:存储器、收发器、处理器以及总线系统;其中,所述存储器用于存储程序;所述处理器用于执行所述存储器中的程序时实现如权利要求1至7中任一项所述的方法;所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的方法。11.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
技术总结
本申请实施例公开了一种副本数量的确定方法、装置、设备及存储介质,相关实施例可应用于云技术、人工智能等各种场景,用于维护集群负载均衡。本申请实施例方法包括:获取第一集群的副本节点配置信息以及副本资源配置信息,根据副本节点配置信息对第一集群的若干个节点进行筛选操作,得到至少一个第一目标节点,获取每个第一目标节点中最小集群调度单元的已使用资源量和总资源量,根据已使用资源量和总资源量计算每个第一目标节点的剩余资源量,根据数量计算策略,对剩余资源量和副本资源配置信息中各资源量进行计算,得到每个第一目标节点的第一目标副本数量,对每个第一目标节点的第一目标副本数量进行汇总,得到第一集群的第一目标副本总数。第一目标副本总数。第一目标副本总数。
技术研发人员:方睿
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2022.01.17
技术公布日:2023/7/26
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
