[发明专利]协调单任务主从程序的方法、装置和相关多服务器系统在审
申请号: | 202111397836.6 | 申请日: | 2021-11-23 |
公开(公告)号: | CN114090211A | 公开(公告)日: | 2022-02-25 |
发明(设计)人: | 武守经;王正亮;袁静雅;肖爽;张翔;李磊;王玮;唐嘉营;王蔼岚;刘畅;李杰 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;H04L67/1061;H04L67/1095 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 薛平;周晓飞 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 协调 任务 主从 程序 方法 装置 相关 服务器 系统 | ||
本发明公开了一种协调单任务主从程序的方法、装置和相关多服务器系统,属于自动程序设计。其中方法包括:在预设的主从协调服务器上抢占执行权;若抢占执行权成功,则从所述主从协调服务器上获取所述单任务的原主程序的信息,并根据获取到的原主程序的信息,连接所述原主程序并停止所述原主程序的运行;部署于本地的所述单任务的从程序,将自身信息注册至所述主从协调服务器上,并作为新主程序运行,以继续执行所述单任务。本发明提供了单任务部署于多台任务服务器上的主从备份解决方案,并很好地避免单任务程序在多台服务器上同时运行,导致数据重复、数据冲突等一系列的问题。
技术领域
本发明涉及计算机技术领域,尤其涉及协调单任务主从程序的方法、装置和相关多服务器系统。
背景技术
单任务在单台服务器上部署时,如果机器发生故障等情况将导致单任务无法正常被执行并完成相应任务。
现有技术采用主从备份的方式来解决上述问题,将单任务部署在两台服务器上,在部署单任务的两台服务器上额外增加任务检测线程,采用轮询的方式检查任务线程是否正常存活,当从程序(程序启动时人工设置)的所在服务器上的检查程序多次检测主程序状态失败或者无响应时,即在该服务器上启动从程序,以接替主程序继续执行相应的任务。
这种方式往往适用于将单任务部署于两台服务器上的方式,当部署在多台服务器上时,则缺乏对应的解决方案,另外,部署于多台服务器上易引发单任务程序在多台服务器上同时运行,导致数据重复、数据冲突等一系列的问题,也亟待解决。
发明内容
本发明实施例提供一种协调单任务主从程序的方法,包括:
在预设的主从协调服务器上抢占执行权;
若抢占执行权成功,则从所述主从协调服务器上获取所述单任务的原主程序的信息,并根据获取到的原主程序的信息,连接所述原主程序并停止所述原主程序的运行;
部署于本地的所述单任务的从程序,将自身信息注册至所述主从协调服务器上,并作为新主程序运行,以继续执行所述单任务。
在一个实施例中,所述方法还包括:若抢占执行权不成功,则监听所述主从协调服务器上所述原主程序的状态,当所述原主程序的状态变化时,则再次执行从所述主从协调服务器上抢占执行权的操作。
在一个实施例中,所述在预设的主从协调服务器上抢占执行权,包括:
在所述主从协调服务器上创建临时节点;
若创建成功,则抢占执行权成功,若创建失败,则抢占执行权失败。
在一个实施例中,在所述主从协调服务器上创建临时节点之前,所述方法还包括:
检查所述主从协调服务器上原主程序对应的节点是否存在;
若不存在,则转向执行在所述主从协调服务器上创建临时节点的步骤。
在一个实施例中,所述从所述主从协调服务器上获取所述单任务的原主程序的信息,并根据获取到的原主程序的信息,连接所述原主程序并停止所述原主程序的运行,包括:
从所述主从协调服务器上获取原主程序对应的节点的信息,所述信息包括:原主程序的IP地址、端口号和状态信息;
判断所述原主程序的状态信息为非结束状态时,则根据所述IP地址和端口号,与所述原主程序建立socket连接;
通过所述socket连接,向所述原主程序发送停止命令以停止所述原主程序的运行。
在一个实施例中,判断所述原主程序的状态信息为结束状态时,则直接结束部署于本地的所述单任务的从程序的运行。
在一个实施例中,所述部署于本地的所述单任务的从程序,将自身信息注册至所述主从协调服务器上,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111397836.6/2.html,转载请声明来源钻瓜专利网。