本发明涉及设备控制,尤其涉及主备服务器切换方法及装置。
背景技术:
1、公共广播系统在现代社会中发挥着日益重要的作用,不仅在传统的交通领域如高铁站、地铁站和机场得到广泛应用,还广泛应用于各类特殊行业,包括:海上油田和核电站。该广播系统不仅用于传递日常服务信息和广播列车/航班动态,更在紧急情况下发挥关键作用。例如,在火灾、安全事故或天气突变时,它可以迅速发布警报和紧急指示,确保相关人员及时得到通知并采取相应措施,保障公众安全。
2、但是,广播服务依赖单一的服务器并不可靠,必须要有冗余设计,现有的相关技术也有多种服务器备份方案,包括:冷备和热备;其中,冷备具有功耗低,损耗小的优点,但是依赖人工进行主备切换,且通常是当主备服务器出现故障后,才使用备服务器,导致备服务器与主备服务器的利用率极度不平衡,业务恢复需要比较长时间,还存在数据存在不同步问题,主备服务器切换效率低;在相关的热备方案中,为实现业务功能快速恢复,要求热备服务器时刻处于开机状态,与主服务器保持同步,然而使得对主备服务器的耦合性要求非常高,软件设计复杂度高或依赖专业的设备,成本较高。
技术实现思路
1、本发明的目的是针对上述现有的相关技术的不足,提出主备服务器切换方法及装置,既能够平衡主备服务器的利用率,同时提高切换效率。
2、第一方面,本发明提供了一种主备服务器切换方法,应用于主服务器,包括:
3、分别对多个备服务器进行资源访问,获取服务器切换优先级,并根据所述服务器切换优先级,对多个备服务器的初始优先级进行更新,得到实时优先级;
4、从所述实时优先级中,按照未被遍历和优先级最高的先后顺序进行筛选,得到待切换服务器,判断所述待切换服务器是否满足切换条件;
5、若所述待切换服务器满足所述切换条件时,以所述待切换服务器为目标切换服务器;否则,已完成本轮备服务器遍历,重新对多个备服务器进行新一轮遍历,并选择优先级最高的备服务器为所述目标切换服务器;
6、根据所述目标切换服务器进行主备服务器切换,并根据所述目标切换服务器,与执行终端进行数据传输,并准备下次备服务器遍历和切换。
7、本发明通过对获取备服务器的服务器切换优先级后,获取实时优先级,并从实时优先级中筛选出未被遍历、优先级最高和满足切换条件的目标切换服务器,首先选择未被遍历的备服务器,可以提高备服务器的利用率,其次每次从未遍历备服务器中,选择优先级最高的且满足切换条件的备服务器,可以防止没有优先级的备服务器作为主服务导致数据传输效率降低,从而始终保证主服务器的性能最优,进而始终保持较高的数据传输效率,然后通过目标切换服务器进行主备服务器切换,无需等待主服务器故障后,才进行服务器切换,从而降低业务恢复时长,提高主备服务器切换效率。
8、进一步,在所述分别对多个备服务器进行资源访问之前,包括:
9、在执行终端进行数据传输时,若检测到主服务器自身的优先级下降时,则根据所述初始优先级,按照未被遍历、优先级最高和是否满足所述切换条件的先后顺序,对多个备服务器进行筛选,得到目标切换服务器,并根据所述目标切换服务器进行主备服务器切换后,重新与执行终端进行数据传输。
10、本发明通过在执行终端进行数据传输时,实时检测到主服务器的优先级下降,就重新检测出最优的目标切换服务器进行及时切换,与现有的相关技术相比,能够始终保持主服务器数据传输效率,以及避免优先级最差的主服务器实际是处于故障的事后判断,导致主备服务器切换不及时,从而导致数据传输效率低。
11、进一步,所述根据所述目标切换服务器进行主备服务器切换,包括:
12、修改与执行终端进行数据传输的初始第一交换机网口地址,得到第二交换机网口地址后,完成到备服务器的切换,并根据所述第二交换机网口地址和无服务器切换优先级,向所述目标切换服务器发送第一心跳信息,以使所述目标切换服务器接收到所述第一心跳信息后,切换为主服务器。
13、进一步,所述目标切换服务器接收到所述第一心跳信息后,切换为主服务器,包括:
14、接收到所述第一心跳信息后,对所述第一心跳信息进行解析,得到所述第二交换机网口地址,并根据第二交换机网口地址,确认所述主服务器已经切换为备服务器后,将与所述执行终端进行数据传输的初始第三交换机网口地址修改为所述第一交换机网口地址,完成到主服务器的切换。
15、进一步,所述分别对多个备服务器进行资源访问,获取服务器切换优先级,包括:
16、在向多个备服务器分别发送第二心跳信息后,分别接收多个备服务器发送的心跳信息回复,并解析所述心跳信息回复,得到多个备服务器对应的服务器切换优先级;其中,所述服务器切换优先级是根据对应备服务器网络响应时延、cpu利用率、内存使用率、任务执行状态和错误率进行综合划分的。
17、进一步,所述第二心跳信息和所述心跳信息回复的格式相同,包括:协议头、服务器状态值、服务器切换优先级、启用状态和与所述执行终端进行数据传输的交换机网口地址。
18、进一步,所述与执行终端进行数据传输,包括:
19、与执行终端进行数据传输时,若主服务器的主数据库的内容发生变化时,则根据配置的主备服务器同步规则,自动同步到备服务器的备数据库中;其中,主备数据库根据对应主服务器和对应备服务器的关系,设置为互为主备关系。
20、进一步,配置主备服务器同步规则,包括:
21、在主服务器初始化时,设置主数据库主键自增id起始值,并设置所述主数据库主键自增id起始值为第一增量进行主键id自增,得到多个主数据库主键id,根据多个主数据库主键id对应的数据,对备服务器进行备数据库的数据同步。
22、进一步,所述根据多个主数据库主键id对应的数据,对备服务器进行备数据库的数据同步,包括:
23、将多个主数据库主键id对应的数据复制给备服务器,以使所述备服务器接收到数据后进行存储;其中,备数据库主键自增id起始值与主数据库主键自增id起始值不同,且以所述数据库主键自增id起始值为第二增量进行主键id自增,以使避免与所述多个主数据库主键id发生冲突。
24、第二方面,本发明提供了一种主备服务器切换装置,应用于主服务器,包括:获取优先级模块、筛选模块、选择目标切换服务器模块和切换模块;其中,
25、所述获取优先级模块,用于分别对多个备服务器进行资源访问,获取服务器切换优先级,并根据所述服务器切换优先级,对多个备服务器的初始优先级进行更新,得到实时优先级;
26、所述筛选模块,用于从所述实时优先级中,按照未被遍历和优先级最高的先后顺序进行筛选,得到待切换服务器,判断所述待切换服务器是否满足切换条件;
27、所述选择目标切换服务器模块,用于若所述待切换服务器满足所述切换条件时,以所述待切换服务器为目标切换服务器;否则,已完成本轮备服务器遍历,重新对多个备服务器进行新一轮遍历,并选择优先级最高的备服务器为所述目标切换服务器;
28、所述切换模块,用于根据所述目标切换服务器进行主备服务器切换,并根据所述目标切换服务器,与执行终端进行数据传输,并准备下次备服务器遍历和切换。
1.一种主备服务器切换方法,应用于主服务器,其特征在于,包括:
2.如权利要求1所述的主备服务器切换方法,其特征在于,在所述分别对多个备服务器进行资源访问之前,包括:
3.如权利要求1-2任一项所述的主备服务器切换方法,其特征在于,所述根据所述目标切换服务器进行主备服务器切换,包括:
4.如权利要求3所述的主备服务器切换方法,其特征在于,所述目标切换服务器接收到所述第一心跳信息后,切换为主服务器,包括:
5.如权利要求1所述的主备服务器切换方法,其特征在于,所述分别对多个备服务器进行资源访问,获取服务器切换优先级,包括:
6.如权利要求5所述的主备服务器切换方法,其特征在于,所述第二心跳信息和所述心跳信息回复的格式相同,包括:协议头、服务器状态值、服务器切换优先级、启用状态和与所述执行终端进行数据传输的交换机网口地址。
7.如权利要求1所述的主备服务器切换方法,其特征在于,所述与执行终端进行数据传输,包括:
8.如权利要求7所述的主备服务器切换方法,其特征在于,配置主备服务器同步规则,包括:
9.如权利要求8所述的主备服务器切换方法,其特征在于,所述根据多个主数据库主键id对应的数据,对备服务器进行备数据库的数据同步,包括:
10.一种主备服务器切换装置,其特征在于,应用于主服务器,包括:获取优先级模块、筛选模块、选择目标切换服务器模块和切换模块;其中,