[发明专利]重启分布式系统中的应用系统实例的方法、装置及设备在审
申请号: | 201710256553.7 | 申请日: | 2017-04-19 |
公开(公告)号: | CN108733466A | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 贺长荣 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 姜怡;黄玉霞 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 重启 分布式系统 应用系统 重启命令 线程 业务数据丢失 装置及设备 电子设备 接收服务 业务处理 业务流程 增加系统 零时 申请 服务 检测 | ||
本申请涉及重启分布式系统中的应用系统实例的方法、装置、重启分布式系统的方法、及电子设备,重启分布式系统中的应用系统实例的方法包括:接收服务重启命令;检测活动的线程数量;若所述活动的线程数量为零则执行所述服务重启命令,若所述活动的线程数量不为零则等到为零时执行所述服务重启命令。本申请的技术方案能避免因为没有把业务处理完成就立即重启造成部分业务数据丢失,能够确保业务流程的完整性,能够增加系统稳定性。
技术领域
本申请涉及分布式系统技术领域,具体而言,涉及重启分布式系统中的应用系统实例的方法、装置及电子设备。
背景技术
系统重启在日常开发、维护过程中是一个非常常见的情况,需要考虑如何在分布式系统中重启应用系统,把对用户的影响降至最低,或者做到没有影响。
当前通用做法是通过切流量的方式,把被重启的应用系统实例IP地址从负载均衡器(比如:Nginx)里面摘除,在有新的请求过来时,不再将请求转发给正在重启的应用系统实例。分布式系统部署示意图如图1所示,上述现有的应用系统实例重启的操作流程包括:
1)选中要重启的应用系统实例;
2)从负载均衡器配置文件中把被重启的服务器IP地址摘除(摘除之后,负载均衡器不再分配请求给该实例);
3)执行应用系统实例重启命令;
4)等待应用系统实例重启完成;
5)在负载均衡器配置文件中,添加被启动的服务器IP,恢复请求处理。
上述应用系统实例重启的方案中,当从负载均衡器中摘除配置之后,没有等待应用系统把业务处理完成就立即重启,会造成部分业务数据丢失,业务流程处理不完整;当用户请求刚好被分配到被重启的实例时,得不到数据返回,用户体验不好。
发明内容
本申请公开重启分布式系统中的应用系统实例的方法,以避免因为没有把业务处理完成就立即重启造成部分业务数据丢失,以确保业务流程的完整性,增加系统稳定性。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一个方面,提供一种重启分布式系统中的应用系统实例的方法,包括:
接收服务重启命令;
检测活动的线程数量;
若所述活动的线程数量为零则执行所述服务重启命令,若所述活动的线程数量不为零则等到为零时执行所述服务重启命令。
根据一些实施例,检测活动的线程数量包括:
当线程池分配一个线程时,将所述活动的线程数量加一;
当所述线程池释放一个线程时,将所述活动的线程数量减一。
根据一些实施例,若所述活动的线程数量不为零则等到为零时执行所述服务重启命令包括:
若所述活动的线程数量不为零,则每隔设定时间再检测所述活动的线程数量是否为零,直到为零时执行所述服务重启命令。
根据一些实施例,所述设定时间为200毫秒。
根据本发明的第二方面,提供一种重启分布式系统中的应用系统实例的装置,其包括:
命令接收单元,用于接收服务重启命令;
检测单元,用于检测活动的线程数量;
重启单元,用于若所述活动的线程数量为零则执行所述服务重启命令,若所述活动的线程数量不为零则等到为零时执行所述服务重启命令。
根据一些实施例,所述检测单元用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710256553.7/2.html,转载请声明来源钻瓜专利网。