一种集群一主多备模式下的主备机调度方法技术

技术编号:39846036 阅读:15 留言:0更新日期:2023-12-29 16:43
本发明专利技术公开了一种集群一主多备模式下的主备机调度方法,包括以下步骤:一

【技术实现步骤摘要】
一种集群一主多备模式下的主备机调度方法


[0001]本专利技术属于航天测量与控制集群领域,具体涉及一种集群一主多备模式下的主备机调度方法


技术介绍

[0002]在航天测控系统重要的工程中,为确保计算机系统的高可用性,一般采用双工冗余技术

但此种模式存在着诸多不足,如不便于对整个系统的集中调度与监控

服务器的利用率降低

扩展性差

扩展成本高

为提高系统的扩展性和计算资源的利用率,可在工程设计中采用集群技术

集群技术分为两种不同的设计架构,一种为控制节点和计算节点相分离,该架构与现有业务的主备双工系统兼容性考虑较少;另外一种为控制节点与计算节点共用的架构,该架构兼容主备双工模式,可通过构建一主多备的集群系统,实现对现有双工系统进行扩展

[0003]在整个集群中,一个节点作为调度主机,完成对所有作业的计算资源的调度与分配,同时该节点也作为集群中的计算节点,完成一定的业务计算任务;集群中的其余节点为调度本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种集群一主多备模式下的主备机调度方法,所述集群包括多个节点,每个节点对应一个计算机;其特征在于,该方法包括以下步骤:步骤一

集群初始化时运行:集群初始化时,判断是否指定主机节点,如果指定主机节点,则集群系统运行;如果未指定主机节点,则选择各个节点中与系统设定的主机节点最大值
MAX_HOSTNUM
代表的虚拟节点的路径值最短的节点作为主机节点;之后,主机节点将自己的
hostid
设置为
main_hostid
,向集群各节点实时发送主机信息
main_hostid
;步骤二

集群中所有节点实时发布和更新本节点的状态信息表;其中,任一个节点的状态信息表包括本节点的状态信息与集群其余所有节点的状态信息,所述状态信息包括名称
、hostid


主备状态和网络状态,所述网络状态包括与主机节点的网络状态

第三方心跳状态

与集群中其余节点的网络状态;步骤三

集群中各个节点判断自身与集群中其余节点的网络状态

第三方心跳状态是否正常,若正常则集群系统保持;否则,判断是否接收到人工主备切换命令,如果接收到人工主备切换命令,集群系统中相应节点完成主备切换得到新主机节点,向集群各节点实时发送主机信息
main_hostid
,并从步骤二执行,如果未接收到人工主备切换命令,执行步骤四;步骤四

判断是否主机节点故障或存在多个主机节点,如果主机节点故障,执行步骤五;如果存在多个主机节点,执行步骤六;步骤五

采用决策树和最短路径生成主机节点竞选集合,并将主机节点竞选集合中的各个节点进行主机竞选,得到新主机节点,向集群各节点实时发送主机信息
main_hostid
,并重复步骤二至步骤四;步骤六

多个主机节点进行主机竞选,得到新主机节点,向集群各节点实时发送主机信息
main_hostid
,并重复步骤二至步骤四
。2.
按照权利要求1所述的一种集群一主多备模式下的主备机调度方法,其特征在于:步骤一中选择各个节点中与系统设定的主机节点最大值
MAX_HOSTNUM
代表的虚拟节点的路径值最短的节点作为主机节点,具体过程如下:步骤
101、
根据,得到第
a
个节点到主机的路径值
path

a
);其中,
MAX_HOSTNUM
表示系统设定的主机节点最大值;
hostid

a
)表示第
a
个节点的
hostid
;步骤
102、
多次重复步骤
101
,得到第1个节点到主机的路径值
path
(1)至第
A
个节点到主机的路径值
path

A
);其中,
a

A
均为正整数,且
1≤a≤A

A
表示集群中节点总数,且各个节点的
hostid
不相同;步骤
103、
从第1个节点到主机的路径值
path
(1)至第
A
个节点到主机的路径值
path

A
)中选择最短路径值,并将最短路径值对应的节点设置作为主机节点
。3.
按照权利要求1所述的一种集群一主多备模式下的主备机调度方法,其特征在于:步骤二中任一个节点的状态信息中主备状态和网络状态的获取方法均相同,其中,获取集群中第
a
个节点的主备状态和网络状态,具体过程如下:步骤
201、
判断第
a
个节点的
hostid
和主机节点的
main_hostid
是相同,如果第
a
个节点的
hostid
和主机节点的
main_hostid
不相同,则第
a
个节点的当前主备状态为备机;反之,如
果第
a
个节点的
hostid
和主机节点的
main_hostid
相同,则第
a
个节点的当前主备状态为主机;其中,
a

A
均为正整数,且
1≤a≤A

A
表示集群中节点总数;步骤
202、
根据,得到第
a
个节点与主机节点的网络状态
s

a

main
);其中,
Lt(a)
表示第
a
个节点的当前时间,
SynT
hostid

main
)表示第
a
个节点接收到的最近一次的主机节点发送的节点状态信息数据的时间;
StaT
hostid

main
)表示最近一次的主机节点发送的节点状态信息数据的时间;
NetDt
表示集群网络时延容忍度;其中,
s

a

main
)为1,则第
a
个节点与主机节点的网络状态良好;反之,
s

a

main
)为0,则第
a
个节点与主机节点的网络状态不良好;步骤
203、
根据,得到第
a
个节点与集群中其余任一
q
节点的网络状态
s

a

q
);其中,
SynT
hostid

q
)表示第
a
个节点接收到的最近一次的集群中其余任一
q
节点发送的节点状态信息数据的时间;
StaT
hostid

q
)表示最近一次的集群中其余任一
q
节点发送的节点状态信息数据的时间;其中,
s

a

q
)为1,则第
a
个节点与集群中其余任一节点的网络状态良好;反之,
s

a

q
)为0,则第
a
个节点与集群中其余任一节点的网络状态不良好;其中,
1≤q≤A

A
表示集群中节点总数,且
q≠a
;步骤
204、
根据,得到第
a
个节点第三方心跳状态;其中,
Lt(a)
表示第
a
个节点的当前时间,
SynT
hostid
表示第
a
个节点接收到的最近一次的第三方的心跳信息数据的时间;
StaT
hostid
表示最近一次的第三方的心跳信息数据的发送时间;
NetDt
表...

【专利技术属性】
技术研发人员:王超许虎秦晓勇张林佟新薛云刚王广华冶晓艳耿沂肖帅
申请(专利权)人:中国西安卫星测控中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1