软件高可用保证的方法,涉及软件技术领域,特别是涉及一种软件高可用保证的方法。本发明专利技术的软件高可用保证的方法,其特征在于:程序部署包提交到部署管理器进行验证和分发;部署管理器将程序分发给各个运行容器;为了保证程序进程运行正常,运行容器在启动以后将会向状态服务器上报进程和运行信息,并同时保持网络心跳,管理器通过查询状态服务器和心跳直接管理进程。本发明专利技术的软件高可用保证的方法,信息提交满足幂等性,保证信息不重复,不丢失,最大程度保障运行稳定和资源稳定。
【技术实现步骤摘要】
本专利技术涉及软件
,特别是涉及一种。
技术介绍
“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。一个具备高可用性的系统涉及因素比较多;传统方式需要分配服务器资源、随时对服务器CPU,内存,磁盘吞吐,网络传输等硬件环境以及数据库的运行状态和空间、软件运行容器情况、线程占用情况等软件环境进行人工监控。 随着信息化建设的深入,系统的性能和稳定性要求越来越高,尤其是一些关键业务系统对稳定性要求也越高。常见很多监控软件可以帮助系统运维人员掌握系统情况,但是大部分监控软件,都是基于模拟用户进行:如果监控密集度高则影响系统使用,系统访问压力大,同时监控的结果需要通过网络进行反馈和收集,所以监控动作和监控数据实际上都带来了网络传输和硬件的负载;监控不频繁则准确度不高,会给运维以及后续的操作带来很大影响,甚至造成误报的情况,运行维护人员从这样的告警信息中,很难判断后续需要做的操作。
技术实现思路
针对现有系统稳定性基于监控密度过高则影响系统使用,密度过低准确度低的问题,本专利技术提出一种。 本专利技术的,其特征在于:程序部署包提交到部署管理器进行验证和分发;部署管理器将程序分发给各个运行容器;为了保证程序进程运行正常,运行容器在启动以后将会向状态服务器上报进程和运行信息,并同时保持网络心跳,管理器通过查询状态服务器和心跳直接管理进程。 所述的心跳检测机制,具体为:管理器需要通过网络和进程保持一个TCP长连接,每隔一个时间段通过网络向状态管理器传递一个TCP包。 管理器需要通过网络和进程保持一个TCP长连接。如果进程停止运行则网络连接就一定会断开。由此判断进程已经由于问题而推出。由于TCP连接建立以后,长期不使用连接会被关闭或者被操作系统回收。因此TCP连接建立以后,需要每隔固定一个固定时间,通过网络传递一个TCP包。包中传递的内容不需要具备特殊意义,只需要维持TCP连接即可。系统发送心跳包的间隔时间应当可以配置。默认为3秒。 所述的程序进程上报机制,具体为:部署管理器根据监控情况,从整个硬件资源池中找到相对资源占用率低、运行进程较少的硬件资源,将程序部署包相对平衡的分布在资源中的各个资源上,同时保存部署包;程序运行以后,向状态管理器上报进程信息,并生成一个运行时的进程分布情况供部署管理器进行管理,部署管理器要求上传部署包时,提供一个的节点默认资源需求。部署管理器根据这个资源需求和目前硬件资源池状况,自动计算出一个节点的默认分布情况。程序运行时,部署管理会将这个默认分布情况和运行时分布情况进行对比,识别出现故障的节点和位置,进而处理。 因为系统被自动分散到整个环境中,就减小了资源征用和征用造成的死锁问题,从资源耗用层面保证系统稳定运行。 作为优选,系统采用了校验和网络检测阀值两个策略应对心跳检测及上报机制失败,具体为:1)校验:进程信息上报时,会先进行连接测试;如果无法上报,则运行模块无法正常启动,保证一个事务性;当管理器读取上报信息时,首先会做一个信息校验,校验方法是Crc循环冗余校验,保证信息上报完整;2)网络检测阀值:所以任何网络故障,都会造成心跳停止:一次心跳停止认为节点出现了逻辑故障;三次心跳停止则认为是物理故障,物理故障时状态服务器上的节点信息会消息,为了确认故障部署管理器会再进行一次直接向运行进程进行信息询问和验证,如果仍无法通信则判断该故障为需要处理的故障。处理逻辑:部署管理器重新从资源池选取资源,然后将已经保存的部署包进行分发,分发完成后重新启动该进程。 发生网络故障时,心跳可能会停止,信息也可能无法上报。这样造成管理器认为发生了故障。为了处理这个问题,整个机制必须具备断线处理和重连机制。网络恢复后,机制需要感知到,且提交应该提交的所有内容。这样信息才不会因为丢失而形成管理器无法识别的死角。包括心跳在内,一旦网络恢复,心跳随之恢复。信息提交满足幂等性,保证信息不重复,不丢失。 部署管理器管理的进程信息中,可能存在很多的节点。采用了心跳机制,节点信息上报状态服务器并进行对比和控制两个主要功能,能够保证模块运行的节点数就会保持在一个正常的区间(如2-4个)。之所以保持在正常区间,是因为存在网络故障等链路和不可抗拒因素,节点数在一个网络故障的时刻,状态管理器有可能无法精确的感知到所有运行节点,所以部署管理器初次定义部署包时,会使用一个区间来描述部署节点需求。即最大不超过多少,最小不低于多少的策略。最大程度保障运行稳定和资源稳定。 【附图说明】 图1为本专利技术软件高可用性部署进程的结构框图;图2为心跳机制实现过程的结构框图;图3为故障发生处理流过程的结构框图。 【具体实施方式】 实施例1:本专利技术的,其特征在于:程序部署包提交到部署管理包进行验证和分发;部署管理器将程序分发给各个运行容器;为了保证程序进程运行正常,运行容器在启动以后将会向状态服务器上报进程和运行信息,并同时保持网络心跳,管理器通过查询状态服务器和心跳直接管理进程。 所述的心跳检测机制,具体为:管理器需要通过网络和进程保持一个TCP长连接,每隔一个时间段通过网络向状态管理器传递一个TCP包。 管理器需要通过网络和进程保持一个TCP长连接。如果进程停止运行则网络连接就一定会断开。由此判断进程已经由于问题而推出。由于TCP连接建立以后,长期不使用连接会被关闭或者被操作系统回收。因此TCP连接建立以后,需要每隔固定一个固定时间,通过网络传递一个TCP包。包中传递的内容不需要具备特殊意义,只需要维持TCP连接即可。系统发送心跳包的间隔时间应当可以配置。默认为3秒。 所述的程序进程上报机制,具体为:部署管理器根据监控情况,从整个系统中找到相对资源占用率低、运行进程较少的运行容器,将程序部署包相对平衡的分布在各个运行容器中,同时进行储存;程序运行以后,向状态管理器上报进程信息,并生成一个运行时的进程分布情况,状态管理器通过默认分布情况和运行时分布情况进行对比,识别出现故障的节点和位置,进而处理。 系统采用了校验和网络检测阀值两个策略应对心跳检测及上报机制失败,具体为:1)校验:进程信息上报时,会先进行连接测试;如果无法上报,则运行模块无法正常启动,保证一个事务性;当管理器读取上报信息时,首先会做一个信息校验,校验方法是Crc循环冗余校验,保证信息上报完整;2)网络检测阀值:所以任何网络故障,都会造成心跳停止:一次心跳停止认为节点出现了逻辑故障;三次心跳停止则认为是物理故障,物理故障时部署管理器会再进行一次直接向进程进行信息询问和验证,如果仍无法通信则需要处理的故障,部署管理器通知其他资源,重新启动该进程。本文档来自技高网...
【技术保护点】
软件高可用保证的方法,其特征在于:程序部署包提交到部署管理包进行验证和分发;部署管理器将程序分发给各个运行容器;为了保证程序进程运行正常,运行容器在启动以后将会向状态服务器上报进程和运行信息,并同时保持网络心跳,管理器通过查询状态服务器和心跳直接管理进程。
【技术特征摘要】
1.软件高可用保证的方法,其特征在于:程序部署包提交到部署管理包进行验证和分发;部署管理器将程序分发给各个运行容器;为了保证程序进程运行正常,运行容器在启动以后将会向状态服务器上报进程和运行信息,并同时保持网络心跳,管理器通过查询状态服务器和心跳直接管理进程。2.如权利要求1所述的软件高可用保证的方法,其特征在于涉及的心跳检测机制,具体为:管理器需要通过网络和进程保持一个TCP长连接,每隔一个时间段通过网络向状态管理器传递一个TCP包。3.如权利要求1所述的软件高可用保证的方法,其特征在于涉及的程序进程上报机制,具体为:部署管理器根据监控情况,从整个系统中找到相对资源占用率低、运行进程较少的运行容器,将程序部署包相对平衡的分布在各个运行容器中,同时进行储存;程序运行以后,向状态管理器上报进程信...
【专利技术属性】
技术研发人员:王航,赵俊辉,
申请(专利权)人:云南远信数通科技有限公司,
类型:发明
国别省市:云南;53
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。