【技术实现步骤摘要】
一种VxWorks程序自动判别和运行方法
本专利技术涉及计算机操作系统领域,尤其涉及一种VxWorks程序自动判别和运行方法。
技术介绍
VxWorks操作系统是一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。VxWorks操作系统具有很高的实时性,在工程中具有广泛的应用,通常在一个系统中,会有多台计算机,多台计算机按照一定的主从机关系运行。在系统正常运行时,通常多个VxWorks程序会互相协同工作,如果某台计算机的VxWorks程序出故障,就会影响系统的性能和正常运行。因此,需要一种可靠的VxWorks程序自动判别和运行方法,当某个从机的VxWorks程序宕机后,系统中的主机能够重新运行该程序。公开号为CN101587455A的中国专利技术专利公开了一种用于vxWorks操作系统检查内存泄露的方法,通过编写系统补丁函数程序、为补丁注入及通信控制程序并通过内存泄露分析程序进行配对和查找地址以确定内存泄露及泄露的位置。同样解决了释放系统内存的问题,但是使用的是调用函数的方法,交互方式复杂。
技术实现思路
针对以上问题,本专利技术提供一种VxWorks程序自动判别和运行方法,旨在通过心跳包进程监控从机主程序运行状况,在从机主程序出现故障时重新运行程序,在网络断开时进行重连,以确保系统正常运行。一种VxWorks程序自动判别和运行方法,包括n台从机Ci和主机H,其中i=1、2……n,从机Ci中运行着VxWorks主程序Pi和监控Pi运行状态的心跳包进程Gi;< ...
【技术保护点】
1.一种VxWorks程序自动判别和运行方法,包括n台从机Ci和主机H,其中i=1、2……n,其特征在于:从机Ci中运行着VxWorks主程序Pi和监控Pi运行状态的心跳包进程Gi;/n步骤一,主机H与所有从机建立连接并进行心跳处理,心跳包进程Gi每隔一段时间通过VxWorks系统监测函数监控Pi运行情况;/n步骤二,主机H向心跳包进程Gi发送查询命令,心跳包进程Gi将监控到的Pi信息:正常S0、资源不足S1或程序崩溃S2三种状态信息发送给主机H;/n步骤三,当主机H接收到的状态信息为S0时,不予处理;/n当主机H接收到的状态信息为S1时,向Ci发送减少Pi系统资源需求的操作命令;/n当主机H接收到的状态信息为S2时,向Ci发送进程创建的操作指令,重新运行进程Pi;/n当主机H对从机Ci的心跳响应失败时,对从机Ci进行重新连接。/n
【技术特征摘要】
1.一种VxWorks程序自动判别和运行方法,包括n台从机Ci和主机H,其中i=1、2……n,其特征在于:从机Ci中运行着VxWorks主程序Pi和监控Pi运行状态的心跳包进程Gi;
步骤一,主机H与所有从机建立连接并进行心跳处理,心跳包进程Gi每隔一段时间通过VxWorks系统监测函数监控Pi运行情况;
步骤二,主机H向心跳包进程Gi发送查询命令,心跳包进程Gi将监控到的Pi信息:正常S0、资源不足S1或程序崩溃S2三种状态信息发送给主机H;
步骤三,当主机H接收到的状态信息为S0时,不予处理;
当主机H接收到的状态信息为S1时,向Ci发送减少Pi系统资源需求的操作命令;
当主机H接收到的状态信息为S2时,向Ci发送进程创建的操作指令,重新运行进程Pi;
当主机H对从机Ci的心跳响应失败时,对从机Ci进行重新连接。
2.根据权利要求1所述的一种VxWorks程序自动判别和运行方法,其特征在于:步骤一中的心跳处理采用延迟心跳测试法测试网络稳定度。
3.根据权利要求2所述的一种VxWorks程序自动判别和运行方法,其特征在于:所述延迟心跳测试法为:使用最小心跳值realMin连续测试三次,当得到成功响应时,使用curHeart进行一次心跳测试。
4.根据权利要求3所述的一种VxWorks程序自动判别和运行方法,其特征在于:所述延迟心跳测试法为:使用最小心跳值realMin连续测试,当得不到成功响应时,重复使用最小心跳值realMin进行连续测试。
5.根据权利要求3所述的一种VxWorks程序自动判别和运行方法,其特征在于:当所述curHeart进行一次心跳测试成功时,使用最优心跳二分查找法找到最优心跳值。
6.根据权利要求3所述的一种VxWorks程序自动判别和运行方法,其特征在于:当所述curHeart进行一次心跳测试失败时,使用快速心跳法判断失败原因。
7.根据权利要求3所述的一种VxWorks程序自动判别和运行方法,其特征在于:所述最优心跳二分查找法步骤为:
S111,设定心跳区间[MinHeart,MaxHeart];
S112,令当前测试心跳值curHeart为心跳区间的中间...
【专利技术属性】
技术研发人员:潘帅,
申请(专利权)人:南京天朗防务科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。