[发明专利]软件高可用保证的方法在审
申请号: | 201410552601.3 | 申请日: | 2014-10-17 |
公开(公告)号: | CN104331353A | 公开(公告)日: | 2015-02-04 |
发明(设计)人: | 王航;赵俊辉 | 申请(专利权)人: | 云南远信数通科技有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 昆明祥和知识产权代理有限公司 53114 | 代理人: | 唐德林 |
地址: | 650000 云南省昆明市*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 可用 保证 方法 | ||
技术领域
本发明涉及软件技术领域,特别是涉及一种软件高可用保证的方法。
背景技术
“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。一个具备高可用性的系统涉及因素比较多;传统方式需要分配服务器资源、随时对服务器CPU,内存,磁盘吞吐,网络传输等硬件环境以及数据库的运行状态和空间、软件运行容器情况、线程占用情况等软件环境进行人工监控。
随着信息化建设的深入,系统的性能和稳定性要求越来越高,尤其是一些关键业务系统对稳定性要求也越高。常见很多监控软件可以帮助系统运维人员掌握系统情况,但是大部分监控软件,都是基于模拟用户进行:如果监控密集度高则影响系统使用,系统访问压力大,同时监控的结果需要通过网络进行反馈和收集,所以监控动作和监控数据实际上都带来了网络传输和硬件的负载;监控不频繁则准确度不高,会给运维以及后续的操作带来很大影响,甚至造成误报的情况,运行维护人员从这样的告警信息中,很难判断后续需要做的操作。
发明内容
针对现有系统稳定性基于监控密度过高则影响系统使用,密度过低准确度低的问题,本发明提出一种软件高可用保证的方法。
本发明的软件高可用保证的方法,其特征在于:程序部署包提交到部署管理器进行验证和分发;部署管理器将程序分发给各个运行容器;为了保证程序进程运行正常,运行容器在启动以后将会向状态服务器上报进程和运行信息,并同时保持网络心跳,管理器通过查询状态服务器和心跳直接管理进程。
所述的心跳检测机制,具体为:管理器需要通过网络和进程保持一个TCP长连接,每隔一个时间段通过网络向状态管理器传递一个TCP包。
管理器需要通过网络和进程保持一个TCP长连接。如果进程停止运行则网络连接就一定会断开。由此判断进程已经由于问题而推出。由于TCP连接建立以后,长期不使用连接会被关闭或者被操作系统回收。因此TCP连接建立以后,需要每隔固定一个固定时间,通过网络传递一个TCP包。包中传递的内容不需要具备特殊意义,只需要维持TCP连接即可。系统发送心跳包的间隔时间应当可以配置。默认为3秒。
所述的程序进程上报机制,具体为:部署管理器根据监控情况,从整个硬件资源池中找到相对资源占用率低、运行进程较少的硬件资源,将程序部署包相对平衡的分布在资源中的各个资源上,同时保存部署包;程序运行以后,向状态管理器上报进程信息,并生成一个运行时的进程分布情况供部署管理器进行管理,部署管理器要求上传部署包时,提供一个的节点默认资源需求。部署管理器根据这个资源需求和目前硬件资源池状况,自动计算出一个节点的默认分布情况。程序运行时,部署管理会将这个默认分布情况和运行时分布情况进行对比,识别出现故障的节点和位置,进而处理。
因为系统被自动分散到整个环境中,就减小了资源征用和征用造成的死锁问题,从资源耗用层面保证系统稳定运行。
作为优选,系统采用了校验和网络检测阀值两个策略应对心跳检测及上报机制失败,具体为:
1)校验:进程信息上报时,会先进行连接测试;如果无法上报,则运行模块无法正常启动,保证一个事务性;当管理器读取上报信息时,首先会做一个信息校验,校验方法是crc循环冗余校验,保证信息上报完整;
2)网络检测阀值:所以任何网络故障,都会造成心跳停止:一次心跳停止认为节点出现了逻辑故障;三次心跳停止则认为是物理故障,物理故障时状态服务器上的节点信息会消息,为了确认故障部署管理器会再进行一次直接向运行进程进行信息询问和验证,如果仍无法通信则判断该故障为需要处理的故障。处理逻辑:部署管理器重新从资源池选取资源,然后将已经保存的部署包进行分发,分发完成后重新启动该进程。
发生网络故障时,心跳可能会停止,信息也可能无法上报。这样造成管理器认为发生了故障。为了处理这个问题,整个机制必须具备断线处理和重连机制。网络恢复后,机制需要感知到,且提交应该提交的所有内容。这样信息才不会因为丢失而形成管理器无法识别的死角。包括心跳在内,一旦网络恢复,心跳随之恢复。信息提交满足幂等性,保证信息不重复,不丢失。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南远信数通科技有限公司,未经云南远信数通科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410552601.3/2.html,转载请声明来源钻瓜专利网。