任务项的部署方法和部署装置与流程
未命名
09-29
阅读:63
评论:0
1.本公开实施例涉及计算机技术领域,特别是涉及一种任务项的部署方法和部署装置。
背景技术:
2.在部署办公自动化系统的任务项的过程中,使用哈希算法将各任务项分散部署到多个服务器节点集群中的多个服务器节点中,当有待部署任务项需要部署时,如何快速将待部署任务项部署到匹配的服务器节点成为急需解决的问题。
技术实现要素:
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.获取哈希值和m的余数,m为目标哈希环上节点的个数,m大于或等于目标业务线集群中服务器节点的个数,余数在目标哈希环上对应的节点为映射点;
30.沿预设方向,若临近映射点的第一节点信息的部署信息为第一状态,则将第一节点信息对应的服务器节点作为目标服务器节点;
31.若第一节点信息的部署信息为第二状态,则判定下一服务器节点的节点信息的部署状态是否为第一状态,直至找到部署状态信息为第一状态的节点信息,并将该部署状态信息为第一状态的节点信息作为目标服务器节点;
32.其中,第二状态与第一状态的状态相反。
33.在其中一个实施例中,还包括:
34.将部署待部署服务器节点的业务线集群设置为第三目标业务线集群;
35.获取待部署服务器节点的第三地址信息和第三核心数,以及第三目标业务线集群
的虚拟节点因子;
36.根据第三核心数和虚拟节点因子,得到待部署服务器节点在第三哈希环上的节点信息的节点数,第三哈希环为第三目标业务线集群对应的哈希环;
37.根据节点数和第三地址信息获取待部署服务器节点在第三哈希环上的各节点信息。
38.上述任务项的部署方法,首先,根据待部署任务项的第二任务信息获取目标业务集群,目标业务集群对应的节点信息包括与第二任务信息匹配度高于或等于第一预设阈值的第一任务信息,且目标业务线集群对应的节点信息包括部署状态信息为第一状态的节点信息,其次,根据第二任务信息在目标业务线集群对应的目标哈希环上的映射点,可以得到目标哈希环上沿预设方向首位部署状态信息为第一状态的节点信息,并将其对应的服务器节点作为部署待部署任务项的目标服务器节点,达到快速将待部署任务项部署到匹配的服务器节点的目的。
39.本公开还提供一种任务项的部署装置,包括存储器和处理器,存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的任务项的部署方法的步骤。
40.上述任务项的部署装置,首先,根据待部署任务项的第二任务信息获取目标业务集群,目标业务集群对应的节点信息包括与第二任务信息匹配度高于或等于第一预设阈值的第一任务信息,且目标业务线集群对应的节点信息包括部署状态信息为第一状态的节点信息,其次,根据第二任务信息在目标业务线集群对应的目标哈希环上的映射点,可以得到目标哈希环上沿预设方向首位部署状态信息为第一状态的节点信息,并将其对应的服务器节点作为部署待部署任务项的目标服务器节点,达到快速将待部署任务项部署到匹配的服务器节点的目的。
附图说明
41.为了更清楚地说明本技术实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1为一实施例中任务项的部署方法的流程示意图;
43.图2为一实施例中根据待部署任务项的第二任务信息获取目标业务线集群的流程示意图;
44.图3为一实施例中根据第二关键字序列和第一关键字序列获取目标业务线集群的流程示意图;
45.图4为一实施例中获取第二关键字序列和各第一关键字序列的相似度的流程示意图;
46.图5为一实施例中目标哈希环的示意图;
47.图6为一实施例中任务项的部署装置的系统架构示意图。
具体实施方式
48.为了便于理解本技术实施例,下面将参照相关附图对本技术实施例进行更全面的
描述。附图中给出了本技术实施例的首选实施例。但是,本技术实施例可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本技术实施例的公开内容更加透彻全面。
49.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术实施例的技术领域的技术人员通常理解的含义相同。本文中在本技术实施例的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术实施例。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
50.在本技术实施例的描述中,需要理解的是,术语“上”、“下”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方法或位置关系,仅是为了便于描述本技术实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术实施例的限制。
51.可以理解,本技术所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本技术的范围的情况下,可以将第一任务信息称为第二任务信息,且类似地,可将第二任务信息称为第一任务信息。第一任务信息和第二任务信息两者都是任务信息,但其不是同一任务信息。
52.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。在本技术的描述中,“若干”的含义是至少一个,例如一个,两个等,除非另有明确具体的限定。
53.图1为一实施例中任务项的部署方法的流程示意图,如图1所示,在本实施例中,提供一种任务项的部署方法,包括:
54.s102,获取各个业务线集群中各服务器节点在对应的哈希环上的节点信息。
55.具体的,根据业务类型的不同建立若干个业务线集群,每个业务线集群对应一个哈希环,其中,业务线集群和业务类型一一对应,然后将现有的服务器节点分配到各业务线集群中,不同业务线集群中服务器节点的数量可以相同也可以不同;其次,将服务器节点映射到对应业务线集群的哈希环上,每个服务器节点上部署有多个已知任务项,不同服务器节点上部署不同的已知任务项。再次,获取各服务器节点在哈希环上的节点信息,节点信息携带服务器节点的地址信息、服务器节点的部署状态信息及服务器节点部署的各已知任务项的第一任务信息。
56.可选的,根据各业务种类对应的任务项的多少来分配各业务集群中服务器节点的数量,服务器节点的数量和任务项的多少成正比。已知任务项为已经部署在服务器节点上的任务项,服务器节点的地址信息为服务器节点的ip地址;服务器节点的部署状态信息包括状态相反的第一状态和第二状态,第一状态表示当前服务器节点处于可用状态,即当前服务器节点可以用来部署任务项,用isvalid==true表示;第二状态表示当前服务器节点处于不可用状态,即当前服务器节点不能用来部署任务项,用isvalid==false表示。
57.s104,根据待部署任务项的第二任务信息获取目标业务线集群。
58.具体的,提取待部署任务项的第二任务信息,并根据第二任务信息获取目标业务
线集群,这里的目标业务线集群为业务线集群中用于部署待部署任务项的一个业务线集群,目标业务线集群对应的节点信息包括与第二任务信息匹配度高于或等于第一预设阈值的第一任务信息,且目标业务线集群对应的节点信息包括部署状态信息为第一状态的节点信息,即目标业务线集群中至少存在一个可用来部署待部署任务项的服务器节点,第一预设阈值为第二任务信息和第一任务信息的匹配度的限定,第二任务信息和任一业务线集群中的第一任务信息的匹配度高于或等于第一预设值时,该业务线集群可以用来部署待部署任务项。
59.s106,基于第二任务信息在目标业务线集群中获取目标服务器节点。
60.根据第二任务信息获取目标业务线集群中的目标服务器节点,这里的目标服务器节点为目标业务线集群中部署待部署任务项的服务器节点,目标服务器节点为沿预设方向,在目标哈希环上自起始点起首位部署状态信息为第一状态的节点信息对应的服务器节点,起始点为第二任务信息在目标哈希环上的映射点,目标哈希环为目标业务线集群对应的哈希环。示例性的,预设方向包括顺时针方向或逆时针方向。
61.上述任务项的部署方法,首先,根据待部署任务项的第二任务信息获取目标业务集群,目标业务集群对应的节点信息包括与第二任务信息匹配度高于或等于第一预设阈值的第一任务信息,且目标业务线集群对应的节点信息包括部署状态信息为第一状态的节点信息,其次,根据第二任务信息在目标业务线集群对应的目标哈希环上的映射点,可以得到目标哈希环上沿预设方向首位部署状态信息为第一状态的节点信息,并将其对应的服务器节点作为部署待部署任务项的目标服务器节点,达到快速将待部署任务项部署到匹配的服务器节点的目的。
62.图2为一实施例中根据待部署任务项的第二任务信息获取目标业务线集群的流程示意图,如图2所示,在本实施例中,第一任务信息包括第一业务信息,第二任务信息包括第二业务信息,根据待部署任务项的第二任务信息获取目标业务线集群,包括:
63.s202,若第二业务信息等于第一已知任务项的第一业务信息,则部署第一已知任务项的第一服务器节点所在的第一业务线集群为第一预选目标业务线集群。
64.业务类型和业务线集群一一对应,任一两个任务项可以具有相同的业务类型,也可以具有不同的业务类型,业务信息用来表示业务类型,包括但不限于行政类、人事类、财务类、电路设计类等,第一任务信息包括表示第一已知任务项所属业务类型的第一业务信息,第二任务信息包括表示待部署任务项所属业务类型的第二业务信息,当第二业务信息等于第一已知任务项的第一业务信息时,将部署第一已知任务项的第一服务器节点所在的第一业务线集群作为后续选取目标业务线集群的第一预选目标业务线集群,实现了相同业务类型(相同业务信息)的任务项优先部署在同一业务线集群的服务器节点上的要求。
65.s204,若第一预选目标业务线集群中存在部署状态信息为第一状态的服务器节点,则第一预选目标业务线集群为目标业务线集群。
66.判断第一预选目标业务线集群中是否存在可以用来部署待部署任务项的服务器节点,若第一预选目标业务线集群中存在部署状态为第一状态的服务器节点时,判定第一预选目标业务线集群中存在可以用来部署待部署任务项的服务器节点,第一预选目标业务线集群为目标业务线集群。
67.在其中一个实施例中,第一任务信息包括第一关键字序列,第二任务信息包括第
二关键字序列,任务项的部署方法还包括:若第一预选目标业务线集群中各服务器节点的部署状态信息均为第二状态,则根据第二关键字序列和第一关键字序列获取目标业务线集群。
68.具体的,任务项的任务信息包括业务信息、任务信息、关键字序列,任务信息用来表征任务名称,任意两个任务项可以具有相同的业务信息和/或相同的关键字序列,且具有不同的任务信息。当第一预选目标业务线集群中各服务器节点的部署状态信息均为第二状态时,判定第一预选目标业务线集群中不存在用来部署待部署任务项的服务器节点,第一预选目标业务线集群不是目标业务线集群,需要根据第二关键字序列和第一关键字序列在第一预选目标业务线集群以外的业务线集群中获取目标业务线集群。
69.在其中一个实施例中,关键字序列中的关键字包括业务线大类、业务线属地信息或可靠性等级。可选的,业务线大类包括但不限于办公、研发、生产、考勤中的一种或多种,业务线属地信息包括但不限于上海、杭州、苏州、北京、天津、广州、深圳、合肥中的一种或多种,可靠性等级包括0~9之间的数字,例如0、1、2、3、4、5、6、7、8和9,数值越大,可靠性等级越高。
70.在其中一个实施例中,第一任务信息包括第一业务信息和第一关键字序列,第二任务信息包括第二业务信息和第二关键字序列,根据待部署任务项的第二任务信息获取目标业务线集群,包括:若第二业务信息与各已知任务项的第一业务信息均不相同,则根据第二关键字序列和第一关键字序列获取目标业务线集群。
71.图3为一实施例中根据第二关键字序列和第一关键字序列获取目标业务线集群的流程示意图,如图3所示,在其中一个实施例中,根据第二关键字序列和第一关键字序列获取目标业务线集群,包括:
72.s302,获取第二预选目标业务线集群。
73.获取包括部署状态信息为第一状态的服务器节点对应的业务线集群作为第二预选目标业务线集群,此时,第二预选目标业务线集群中均存在至少一个可用来部署待部署任务项的服务器节点。
74.在一些实施例中,当业务线集群中存在部署状态信息为第一状态的服务器节点时,将业务线集群的部署状态信息设置为第三状态,第三状态表示业务线集群中存在处于可用状态的服务器节点,即业务线集群中存在可以用来部署任务项的服务器节点,第三状态也可以用isvalid==true表示。在获取第二预选业务线集群时,可以直接查找部署状态信息为第三状态的业务线集群,减少获取第二预选目标业务线集群的时间,降低成本。
75.在一些实施例中,当业务线集群中不存在部署状态信息为第一状态的服务器节点时,将业务线集群的部署状态信息设置为第四状态,第四状态和第三状态的状态相反,第四状态表示业务线集群中的服务器节点均处于不可用状态,即业务线集群中不存在可以用来部署任务项的服务器节点,第四状态也可以用isvalid==false表示。在获取第二预选业务线集群时,可以直接排除部署状态信息为第四状态的业务线集群,达到减少获取第二预选目标业务线集群的时间,降低成本的目的。
76.s304,获取第二关键字序列和各第一关键字序列的相似度,并根据相似度得到目标业务线集群。
77.首先,分别获取第二关键字序列中的第二关键字和各第一任务信息中第一关键字
序列中的第一关键字的相似度,这里的第一任务信息为第二预选目标业务线集群中各服务器节点部署的已知任务项的任务信息,然后,根据相速度得到目标业务线集群,目标业务集群为部署有相似度满足预设要求的第一关键字序列对应的第二已知任务项的服务器节点的第二预选目标业务线集群,预设要求为可接受的用于部署待部署任务项的目标业务集群中第二已知任务项的第一关键字序列和第二关键字序列中的相似度的条件。
78.图4为一实施例中获取第二关键字序列和各第一关键字序列的相似度的流程示意图,如图4所示,在其中一个实施例中,获取第二关键字序列和各第一关键字序列的相似度,包括:
79.s402,获取表示第二关键字序列和第一关键字序列中相同关键字的第一数值和不同关键字的第二数值。
80.获取表示第二关键字序列中的第二关键字和第一关键字序列中的第一关键字中相同关键字数量的第一数值,以及表示第二关键字序列中的第二关键字和第一关键字序列中的第一关键字中不同关键字数量的第二数值。
81.s404,根据第一数值和第二数值得到相似度。
82.将第一数值和第二数值的和作为第三数值,然后将第一数值和第三数值的比值作为相似度,通过该方式可以得到第二关键字序列和各第一关键字序列的相似度。
83.在其中一个实施例中,相似度最高的第一关键字序列的数量为1个,预设要求为相似度最高,通过该设置可以将待部署任务项部署在与待部署任务项相似度最高,且包括部署状态信息为第一状态的服务器节点的业务线集群中。
84.在其中一个实施例中,第一关键字序列和第二关键字序列包括预设关键字,获取第二关键字序列和各第一关键字序列的相似度,并根据相似度得到目标业务线集群,包括:若预设要求为相似度最高,相似度最高的第一关键字序列的数量为多个,且部署有相似度最高的第一关键字序列对应的第二已知任务项的服务器节点的第二预选目标业务线集群的数量为多个,则根据部署有相似度最高的第一关键字序列对应的第二已知任务项的服务器节点的各第二预选目标业务线集群对应的预设关键字获取目标业务线集群;其中,目标业务线集群中各服务器节点部署的已知任务项对应的预设关键字与第二关键字序列中的预设关键字的匹配度满足预设条件。
85.具体的,第一关键字序列和第二关键字序列包括预设关键字,预设要求为相似度最高,当相似度最高的第一关键字序列的数量大于或等于2时,将部署有相似度最高的第一关键字序列对应的第二已知任务项的服务器节点定义为预选服务器节点,包括预选服务器节点的业务线集群定义为第二预选目标业务线集群,当第二预选目标业务线集群的数量大于或等于2时,根据第二预选目标业务线集群中各服务器节点部署的已知任务项对应的预设关键字和第二关键字序列中的预设关键字的匹配度来确认目标业务线集群,其中,目标业务线集群属于第二预选目标业务线集群,且目标业务线集群中的各服务器节点部署的已知任务项对应的预设关键字和第二关键字序列中的预设关键字的匹配度满足预设条件。
86.在其中一个实施例中,预设关键字的类别包括业务线大类、业务线属地信息或可靠性等级。
87.在一些实施例中,预设关键字为可靠性等级,预设条件为目标业务线集群中各服务器节点部署的已知任务项对应的可靠性等级大于或等于第二关键字序列中的可靠性等
级,且第三预选目标业务线集群中目标业务线集群中各服务器节点部署的已知任务项对应的可靠性等级和第二关键字序列中的可靠性等级的差值最小。
88.在另一些实施例中,预设关键字为可靠性等级,预设条件为第三预选目标业务线集群中目标业务线集群中各服务器节点部署的已知任务项对应的可靠性等级的平均值和第二关键字序列中的可靠性等级的差值最小。
89.在又一些实施例中,预设关键字为业务线属地信息,预设条件为第三预选目标业务线集群中目标业务线集群中各服务器节点部署的已知任务项对应的业务线属地信息和第二关键字序列中的业务线属地信息相同的已知任务项的数量最多。
90.在其中一个实施例中,关键字序列中的关键字包括关键字a1、关键字a2
…
关键字an,获取第二关键字序列和各第一关键字序列的相似度,包括步骤s502-步骤s506。
91.s502,设置关键字序列中各关键字的权重。
92.s504,获取第一关键字序列和第二关键字序列中的相同关键字。
93.s506,根据各相似关键字的权重得到第一关键字序列和第二关键字序列的总相似度。
94.具体的,设置关键字a1的权重为b1、关键字a2的权重为b2
…
关键字an的权重为bn,其中,b1+b2+
…
+bn=1;获取第一关键字序列和第二关键字序列中的相同关键字,将各相同关键字对应的权重相加得到总相似度。
95.在其中一个实施例中,总相似度最高的第一关键字序列的数量为1个,预设要求为总相似度最高,通过该设置可以将待部署任务项部署在与待部署任务项总相似度最高,且包括部署状态信息为第一状态的服务器节点的业务线集群中。可理解的是,当预设要求为总相似度最高,总相似度最高的第一关键字序列的数量为多个,且部署有总相似度最高的第一关键字序列对应的第二已知任务项的服务器节点的第二预选目标业务线集群的数量为多个时,可以参考上述若预设要求为相似度最高,相似度最高的第一关键字序列的数量为多个,且部署有相似度最高的第一关键字序列对应的第二已知任务项的服务器节点的第二预选目标业务线集群的数量为多个,则根据部署有相似度最高的第一关键字序列对应的第二已知任务项的服务器节点的各第二预选目标业务线集群对应的预设关键字获取目标业务线集群的方式获取目标业务线集群。
96.在其中一个实施例中,任务项的部署方法还包括:步骤s602~步骤s606。
97.s602,获取待备份任务项。
98.具体的,业务线集群中服务器节点上部署的已知任务项包括若干原始任务项和备份任务项,其中,原始任务项为首次部署在服务器节点上的任务项,备份任务项为任意一个原始任务项在业务线集群服务器节点上的备份,备份任务项的数量大于或等于0,备份任务项的数量为0表示未对原始任务项进行备份。原始任务项包括已备份任务项和未备份任务项,已备份任务项为已完成本次备份的原始任务项,未备份任务项为未完成本次备份的原始任务项,选取任意一个未备份任务项作为待备份任务项。设定业务线集群包括第一业务线集群和第二业务线集群,其中,待备份任务项部署在第一业务线集群中的服务器节点上。
99.s604,根据待备份任务项的待备份任务信息获取备份业务线集群。
100.根据待备份任务项的待备份任务信息获取第二业务线集群中的备份业务线集群,备份业务线集群对应的节点信息包括与待备份任务信息匹配度高于或等于第三预设阈值
的待备份任务项的第三任务信息,且备份业务线集群对应的节点信息包括部署状态信息为第一状态的节点信息。
101.s606,基于待备份任务信息在备份业务线集群中获取备份服务器节点。
102.根据待备份任务信息获取备份业务线集群中的备份服务器节点,这里的备份服务器节点为备份业务线集群中部署待备份任务项的服务器节点,备份服务器节点为沿预设方向,在备份哈希环上自起始点起首位部署状态信息为第一状态的节点信息对应的服务器节点,起始点为待备份任务信息在备份哈希环上的映射点,备份哈希环为备份业务线集群对应的哈希环,通过上述步骤实现了任一业务线集群中的任务项在其他业务线集群上备份的目的。
103.可以理解的是,待备份任务项的备份方式可以参照上述实施例中对待部署任务项在业务线集群上的部署方法实现,在此不做赘述,不同之处在于需要部署的是未备份任务项中的待备份任务项,上述实施例中的业务线集群更换为第二业务线集群。此外,第二业务线集群也可以更换为第一业务线集群,此时,步骤s604和步骤s606均要排除部署有待备份任务项对应的原始任务项的服务器节点。
104.图5为一实施例中目标哈希环的示意图,如图5所示,在其中一个实施例中,第二任务信息包括待部署服务,基于第二任务信息在目标业务线集群中获取目标服务器节点,包括步骤s702~步骤s708。
105.s702,获取待部署服务的哈希值。
106.这里的待部署服务为待部署任务项的服务名,利用一致性哈希算法,计算获取待部署服务的哈希值,用code=hash1(待部署服务)表示哈希值。
107.示例性的,获取待部署服务的哈希值的第一哈希算法hash 1和将业务线集群中的服务器节点映射到业务线集群对应的哈希环上的第二哈希算法hash 2相同,即第一哈希算法和将目标业务线集群中的服务器节点映射到目标哈希环上的第二哈希算法相同。
108.s704,获取哈希值和m的余数,余数在目标哈希环上对应的节点为映射点。
109.对待部署服务的哈希值和目标哈希环上节点的个数m取余数,用position=code%m表示待部署服务在目标哈希环上的映射点,m大于或等于目标业务线集群中服务器节点的个数,可以理解的是,目标业务线集群中任一服务器节点f1在目标哈希环上的映射点与m中的一个节点重合,该节点为服务器节点f1的节点信息,相邻两个节点信息之间存在大于或等于0个节点。示例性的,m=2
32
。
110.s706,沿预设方向,若临近映射点的第一节点信息的部署信息为第一状态,则将第一节点信息对应的服务器节点作为目标服务器节点。
111.沿预设方向,若临近映射点position的第一节点信息slot1的部署信息为第一状态,则将第一节点信息slot1对应的服务器节点作为目标服务器节点,并将待部署任务项部署在目标服务器节点上。
112.s708,若第一节点信息的部署信息为第二状态,则判定下一服务器节点的节点信息的部署状态是否为第一状态,直至找到部署状态信息为第一状态的节点信息,并将该部署状态信息为第一状态的节点信息作为目标服务器节点。
113.如图5所示,若第一节点信息slot1的部署信息为第二状态,则判定预设方向上第一节点信息下一个节点信息slot2的部署状态信息,直至找到部署状态信息为第一状态的
节点信息slotx,并将节点信息slotx对应的服务器节点作为目标服务器节点。
114.在其中一个实施例中,任务项的部署方法还包括:步骤s802~步骤s808。
115.s802,将部署待部署服务器节点的业务线集群设置为第三目标业务线集群。
116.s804,获取待部署服务器节点的第三地址信息和第三核心数,以及第三目标业务线集群的虚拟节点因子。
117.s806,根据第三核心数和虚拟节点因子,得到待部署服务器节点在第三哈希环上的节点信息的节点数,第三哈希环为第三目标业务线集群对应的哈希环。
118.s808,根据节点数和第三地址信息获取待部署服务器节点在第三哈希环上的各节点信息。
119.以第三目标业务线集群为部署待部署任务项的目标业务线集群为例进行示例性说明,此时,部署待部署服务器节点的业务线集群为图5所示的目标业务线集群;首先,得到待部署服务器节点的第三地址和第三核心数,以及目标业务线集群的虚拟节点因子k,第三地址为待部署服务器节点的ip地址,第三核心数为待部署服务器节点的cpu核心数,虚拟节点因子k用于计算目标业务线集群中一个服务器节点在目标哈希环上映射点的个数,通过设置虚拟节点因子增加,通过找到虚拟节点之后再映射到实际的服务器节点,可以解决目标哈希环上节点信息分布不均匀,任务项部署不均衡的问题。待部署服务器节点在目标哈希环(第三哈希环)上的节点信息的节点数(虚拟节点的数量)xn=第三核心数*k;对待部署服务器节点的第三地址和虚拟节点下标取哈希值,得到待部署服务器节点在目标哈希环上的各节点信息对应的待部署哈希值,用hash2(第三地址+m)表示,其中0≤m《xn;对待部署哈希值hash2(第三地址+m)和目标哈希环上节点的个数m取余数hash2(第三地址+m)%m,得到待部署服务器节点在目标哈希环上的各节点信息slotn1,slotn2
……
slotn
xn
。
120.以下对任务项的部署方法进行示例性说明,假设具有三个业务线集群分别为业务线集群d1、业务线集群d2和业务线集群d3,业务线集群d1、业务线集群d2和业务线集群d3中的服务器节点上部署有已知任务项,各业务线集群对应的哈希环具有m个节点,哈希环上的节点沿顺时针依次标记为0、1、2
……
(m-1),其中,标记为m-1的节点为标记为0的节点重合,将服务映射到哈希环上的第一哈希算法和将服务器节点映射到哈希环上的第二哈希算法均为hash,待部署任务项为业务线1_服务1_关键字g1、关键字h1、关键字i1;第一种情况:当业务线集群d2为业务线1对应的业务线集群,且业务线集群d2中存在部署状态信息为第一状态的服务器节点,则将业务线集群d2作为目标业务线集群,将目标哈希环上标记为hash(服务1)%m的节点作为待部署任务项在目标哈希环上的映射点e1,目标哈希环上沿顺时针方向靠近映射点e1且部署信息为第一状态的第一个节点信息对应的服务器节点为目标服务器节点。第二情况:当业务线集群d2为业务线1对应的业务线集群,且业务线集群d2中不存在部署状态信息为第一状态的服务器节点,或者不存在业务线1对应的业务线集群时,获取待部署任务项中关键字g1、关键字h1、关键字i1和各已知任务项中的关键字gy、关键字hy、关键字iy的相似度,其中,关键字g1、关键字h1、关键字i1、关键字gy、关键字hy和关键字iy中相同关键字的个数为第一数值,不同关键字的数值为第二数值,第一数值/(第一数值+第二数值)表示待部署任务项和已知任务项的相似度,若各已知任务项中相似度最高的已知任务项为一个或多个部署在同一业务线集群的已知任务项,且相似度最高的已知任务项所在的业务线集群中存在部署状态信息为第一状态的服务器节点,则相似度最高的已知任
务项所在的业务线集群为目标业务线集群,确认目标服务器节点的方式与第一种情况相同。若各已知任务项中相似度最高的已知任务项为多个部署在不同业务线集群的已知任务项,且存在多个部署相似度最高的已知任务项的业务线集群包括部署状态信息为第一状态的服务器节点,例如业务线集群2和业务线集群3,则以关键字g为预设关键字,假设关键字g表示可靠性,则选择业务线集群2和业务线集群3中各服务器节点部署的已知任务项对应的可靠性等级大于或等于关键字g1,且各服务器节点部署的已知任务项对应的可靠性等级与关键字g1最接近的业务线集群作为目标业务线集群,或者选择业务线集群2和业务线集群3中各服务器节点部署的已知任务项对应的可靠性等级的平均值与关键字g1最接近的业务线集群作为目标业务线集群。
121.应该理解的是,虽然图1、图2、图3、图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、图2、图3、图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
122.本公开还提供一种任务项的部署装置,包括存储器和处理器,存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的任务项的部署方法的步骤。
123.图6为一实施例中任务项的部署装置的系统架构示意图,包括终端501、服务器502和服务器集群503,其中终端501与服务器502通信连接,服务器502和服务器集群503通信连接。服务器502具有资源检索数据结构,包含上述任务项的部署装置,用于实现上述的任务项的部署方法的步骤。服务器集群503用于作为业务线集群,包含多个服务器节点。例如,终端501用于发送任务项的部署需求及相关信息至服务器502,服务器502用于获取各个服务器集群503中各服务器节点在对应的哈希环上的节点信息,待服务器502确定了服务器集群503中的目标业务线集群及目标服务器节点之后,服务器502将资源检索匹配信息推送至终端502,并在服务器集群503中实现任务项的部署。
124.上述任务项的部署装置,首先,根据待部署任务项的第二任务信息获取目标业务集群,目标业务集群对应的节点信息包括与第二任务信息匹配度高于或等于第一预设阈值的第一任务信息,且目标业务线集群对应的节点信息包括部署状态信息为第一状态的节点信息,其次,根据第二任务信息在目标业务线集群对应的目标哈希环上的映射点,可以得到目标哈希环上沿预设方向首位部署状态信息为第一状态的节点信息,并将其对应的服务器节点作为部署待部署任务项的目标服务器节点,达到快速将待部署任务项部署到匹配的服务器节点的目的。
125.本公开还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上述任一项任务项的部署方法。
126.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
127.以上所述实施例仅表达了本技术实施例的几种实施方式,其描述较为具体和详
细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术实施例构思的前提下,还可以做出若干变形和改进,这些都属于本技术实施例的保护范围。
技术特征:
1.一种任务项的部署方法,其特征在于,包括:获取各个业务线集群中各服务器节点在对应的哈希环上的节点信息,每一服务器节点部署有多个已知任务项,所述节点信息携带所述服务器节点的地址信息、所述服务器节点的部署状态信息及所述服务器节点部署的各所述已知任务项的第一任务信息;根据待部署任务项的第二任务信息获取目标业务线集群,所述目标业务线集群对应的节点信息包括与所述第二任务信息匹配度高于或等于第一预设阈值的第一任务信息,且所述目标业务线集群对应的节点信息包括部署状态信息为第一状态的节点信息;基于所述第二任务信息在所述目标业务线集群中获取目标服务器节点,所述目标服务器节点为在所述目标业务线集群对应的目标哈希环的预设方向上,自起始点起首位部署状态信息为第一状态的节点信息对应的服务器节点,所述起始点为所述第二任务信息在所述目标哈希环上的映射点。2.根据权利要求1所述的部署方法,其特征在于,所述第一任务信息包括第一业务信息,所述第二任务信息包括第二业务信息,所述根据待部署任务项的第二任务信息获取目标业务线集群,包括:若所述第二业务信息等于第一已知任务项的第一业务信息,则部署所述第一已知任务项的第一服务器节点所在的第一业务线集群为第一预选目标业务线集群;若所述第一预选目标业务线集群中存在部署状态信息为第一状态的服务器节点,则所述第一预选目标业务线集群为所述目标业务线集群。3.根据权利要求2所述的部署方法,其特征在于,所述第一任务信息包括第一关键字序列,所述第二任务信息包括第二关键字序列,还包括:若所述第一预选目标业务线集群中各服务器节点的部署状态信息均为第二状态,则根据所述第二关键字序列和所述第一关键字序列获取所述目标业务线集群;其中,所述第二状态与所述第一状态的状态相反。4.根据权利要求1所述的部署方法,其特征在于,所述第一任务信息包括第一业务信息和第一关键字序列,所述第二任务信息包括第二业务信息和第二关键字序列,所述根据待部署任务项的第二任务信息获取目标业务线集群,包括:若所述第二业务信息与各所述已知任务项的第一业务信息均不相同,则根据所述第二关键字序列和所述第一关键字序列获取所述目标业务线集群。5.根据权利要求3或4所述的部署方法,其特征在于,所述根据所述第二关键字序列和所述第一关键字序列获取所述目标业务线集群,包括:获取第二预选目标业务线集群,所述第二预选目标业务线集群为包括部署状态信息为第一状态的服务器节点的业务线集群;获取所述第二关键字序列和各所述第一关键字序列的相似度,并根据相似度得到所述目标业务线集群,所述目标业务集群为部署有相似度满足预设条件的第一关键字序列对应的第二已知任务项的服务器节点的所述第二预选目标业务线集群。6.根据权利要求5所述的部署方法,其特征在于,所述获取所述第二关键字序列和各所述第一关键字序列的相似度,包括:获取表示所述第二关键字序列和所述第一关键字序列中相同关键字的第一数值和不同关键字的第二数值;
根据所述第一数值和所述第二数值得到所述相似度;其中,相似度为所述第一数值和第三数值的比值,所述第三数值为所述第一数值和所述第二数值之和。7.根据权利要求5所述的部署方法,其特征在于,所述第一关键字序列和所述第二关键字序列包括预设关键字,所述获取所述第二关键字序列和各所述第一关键字序列的相似度,并根据相似度得到目标业务线集群包括:若所述相似度最高的第一关键字序列的数量为多个,且部署有相似度最高的第一关键字序列对应的第二已知任务项的服务器节点的所述第二预选目标业务线集群的数量为多个,则根据部署有相似度最高的第一关键字序列对应的第二已知任务项的服务器节点的各所述第二预选目标业务线集群对应的预设关键字获取所述目标业务线集群;其中,所述目标业务线集群中各服务器节点部署的所述已知任务项对应的预设关键字与所述第二关键字序列中的预设关键字的匹配度满足预设条件。8.根据权利要求7所述的部署方法,其特征在于,所述预设关键字的类别包括业务线大类、业务线属地信息或可靠性等级。9.根据权利要求1所述的部署方法,其特征在于,所述第二任务信息包括待部署服务,所述基于所述第二任务信息在所述目标业务线集群中获取目标服务器节点,包括:获取所述待部署服务的哈希值;获取所述哈希值和m的余数,m为目标哈希环上节点的个数,m大于或等于所述目标业务线集群中服务器节点的个数,所述余数在目标哈希环上对应的节点为所述映射点;沿预设方向,若临近所述映射点的第一节点信息的部署信息为第一状态,则将所述第一节点信息对应的服务器节点作为目标服务器节点;若所述第一节点信息的部署信息为第二状态,则判定下一服务器节点的节点信息的部署状态是否为第一状态,直至找到部署状态信息为第一状态的节点信息,并将该部署状态信息为第一状态的节点信息作为目标服务器节点;其中,所述第二状态与所述第一状态的状态相反。10.根据权利要求1-4任一项所述的部署方法,其特征在于,还包括:将部署待部署服务器节点的业务线集群设置为第三目标业务线集群;获取所述待部署服务器节点的第三地址信息和第三核心数,以及所述第三目标业务线集群的虚拟节点因子;根据所述第三核心数和所述虚拟节点因子,得到所述待部署服务器节点在第三哈希环上的节点信息的节点数,所述第三哈希环为所述第三目标业务线集群对应的哈希环;根据所述节点数和所述第三地址信息获取所述待部署服务器节点在所述第三哈希环上的各节点信息。11.一种任务项的部署装置,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的任务项的部署方法的步骤。
技术总结
本公开涉及一种任务项的部署方法和部署装置,该方法包括获取各个业务线集群中各服务器节点在对应的哈希环上的节点信息,每一服务器节点部署有多个已知任务项,节点信息携带服务器节点的地址信息、服务器节点的部署状态信息及服务器节点部署的各已知任务项的第一任务信息;根据待部署任务项的第二任务信息获取目标业务线集群;基于第二任务信息在目标业务线集群中获取目标服务器节点。实现快速将待部署任务项部署到匹配的服务器节点的目的。署任务项部署到匹配的服务器节点的目的。署任务项部署到匹配的服务器节点的目的。
技术研发人员:李连泽
受保护的技术使用者:长鑫存储技术有限公司
技术研发日:2023.07.06
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种户外折叠小推车的制作方法 下一篇:闭子和段位阀的制作方法