一种基于arm的相同ip的双机热备的方法

文档序号:10660650阅读:335来源:国知局
一种基于arm的相同ip的双机热备的方法
【专利摘要】本发明公开了一种基于ARM的相同IP的双机热备的方法,在内置ARM平台的设备中,主机和备机使用同一个IP,且将备机的网卡禁用;通过串口进行主机设备和备机设备间的通讯,当备机无法正常收到主机信息时,则认为主机出现问题,此时备机启用网卡。该一种基于ARM的相同IP的双机热备的方法与现有技术相比,整体实现过程简单,有效降低开发成本,开发周期短,利于小型应用的部署使用,可方便实现主备机的多次切换,主备机之间的切换速度快,切换成本较低,实用性强,易于推广。
【专利说明】
一种基于ARM的相同IP的双机热备的方法
技术领域
[0001]本发明涉及计算机技术领域,具体地说是一种实用性强、基于ARM的相同IP的双机热备的方法。
【背景技术】
[0002]传统情况下,双机热备均是基于Windows平台。使用两个IP,通过socket通讯来监测主备机是否正常。
[0003]在移动端迅速发展的今天,基于ARM平台的设备以及应用依托其体积小、效率高、成本低的特点越来越受到人们的青睐,特别是一些小型的应用逐渐从Windows平台迀移到ARM平台已经成为一种趋势。
[0004]双机热备是一种尽可能保证服务7*24小时不间断工作的一种方法,在主机出现故障之后,备机迅速启动,保证服务的正常不间断运行。一般的接口对接方式有HTTP长/短连接,Socket 长/端连接、WebService 等。
[0005]图1显示的是传统方式基于windows平台使用socket通讯两组IP的方式。从图中可以看出备机通过socket不停的向主机发送信息,当不能正常收到信息的时候,认为主机出现问题,备机迅速启动并且将自己的IP改为主机的IP。
[0006]这种方案基于windows平台。跟ARM平台相比,在处理小型应用上面,显得有些冗余。主备机之间的转换速度也有一定的劣势,成本高,开发周期长。并且主备机使用两组IP,不能实现主备机的多次切换。
[0007]基于此,本发明提供一种基于ARM的相同IP的双机热备的方法,该方法不同于传统的双机热备基于windows平台,其方法简单,利于小型应用的部署使用,可方便实现主备机的多次切换。

【发明内容】

[0008]本发明的技术任务是针对以上不足之处,提供一种实用性强、基于ARM的相同IP的双机热备的方法。
[0009]—种基于ARM的相同IP的双机热备的方法,其具体实现过程为:
在内置ARM平台的设备中,主机和备机使用同一个IP,且将备机的网卡禁用;通过串口进行主机设备和备机设备间的通讯,当备机无法正常收到主机信息时,则认为主机出现问题,此时备机启用网卡O
[0010]主机和备机之间通过串口通讯是指基于Android的NDK技术,通过JNI实现串口数据的通讯,且备机在打开串口之后进行串口数据的发送,主机在打开串口之后进行串口数据的接收。
[0011]串口通讯包括以下步骤:
1)编写JNI下的串口操作文件,实现打开串口、串口数据发送、串口数据接收的接口;
2)在Android上层使用JNI技术,调取C驱动,打开串口,传入的参数为串口号; 3)注册串口数据监听事件,监听指定串口;
4)向指定串口发送串口数据。
[0012]备机禁用网卡和启用网卡通过Iinux下的busybox指令实现,即主机出现问题之后,备机启用网卡,主机正常运行之后,备机禁用网卡。
[0013]备机禁用网卡和启用网卡的具体过程为:
使用JAVA下的Runtime类获取超级管理员的权限;
使用DataOutputStream写入禁用网卡和启用网卡的指令。
[0014]本发明的一种基于ARM的相同IP的双机热备的方法,具有以下优点:
本发明的一种基于ARM的相同IP的双机热备的方法,整体实现过程简单,有效降低开发成本,开发周期短,利于小型应用的部署使用,可方便实现主备机的多次切换,主备机之间的切换速度快,切换成本较低,实用性强,易于推广。
【附图说明】
[0015]附图1为传统基于windows平台使用socket通讯示意图。
[0016]附图2为本发明的实现示意图。
【具体实施方式】
[0017]下面结合附图及具体实施例对本发明作进一步说明。
[0018]如附图2所示,本发明提供一种基于ARM的相同IP的双机热备的方法,其具体实现过程为:
在内置ARM平台的设备中,主机和备机使用同一个IP,且将备机的网卡禁用;通过串口进行主机设备和备机设备间的通讯,当备机无法正常收到主机信息时,则认为主机出现问题,此时备机启用网卡O
[0019]基于ARM平台的相同IP的双机热备的方法有两个技术难点,分别是:ARM下的串口通讯、ARM下禁用和启用网卡。
[0020]其中:
主机和备机之间通过串口通讯是指基于Android的NDK技术,通过JNI实现串口数据的通讯,且备机在打开串口之后进行串口数据的发送,主机在打开串口之后进行串口数据的接收。
[0021]串口通讯包括以下步骤:
1)编写JNI下的串口操作文件,实现打开串口、串口数据发送、串口数据接收的接口;
2)在Android上层使用JNI技术,调取C驱动,打开串口,传入的参数为串口号;
3)注册串口数据监听事件,监听指定串口;
4)向指定串口发送串口数据。
[0022]备机禁用网卡和启用网卡通过Iinux下的busybox指令实现,即主机出现问题之后,备机启用网卡,主机正常运行之后,备机禁用网卡。
[0023]备机禁用网卡和启用网卡的具体过程为:
使用JAVA下的Runtime类获取超级管理员的权限;
使用DataOutputStream写入禁用网卡和启用网卡的指令,其中禁用网卡的指令为:busybox ifconfig ethO down,启用网卡的指令为:busybox ifconfig ethO up。
[0024]这样一个基于ARM的相同IP的双机热备应用就完成了。
[0025]本发明的实现首先完成基于JNI的串口操作类,主要包括串口的打开和关闭,串口数据的发送和接收。然后,主备机打开串口,主机进行串口数据的接收,备机进行串口数据的发送。根据主机的情况,备机选择相应的禁用和启用网卡的操作。
[0026]综上所述,基于ARM平台的同一IP的双机热备的方法具有较高的创新性和技术先进性。
[0027]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的一种基于ARM的相同IP的双机热备的方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【主权项】
1.一种基于ARM的相同IP的双机热备的方法,其特征在于,其具体实现过程为:在内置ARM平台的设备中,主机和备机使用同一个IP,且将备机的网卡禁用;通过串口进行主机设备和备机设备间的通讯,当备机无法正常收到主机信息时,则认为主机出现问题,此时备机启用网卡。2.根据权利要求1所述的一种基于ARM的相同IP的双机热备的方法,其特征在于,主机和备机之间通过串口通讯是指基于Android的NDK技术,通过JNI实现串口数据的通讯,且备机在打开串口之后进行串口数据的发送,主机在打开串口之后进行串口数据的接收。3.根据权利要求2所述的一种基于ARM的相同IP的双机热备的方法,其特征在于,串口通讯包括以下步骤: 1)编写JNI下的串口操作文件,实现打开串口、串口数据发送、串口数据接收的接口; 2)在Android上层使用JNI技术,调取C驱动,打开串口,传入的参数为串口号; 3)注册串口数据监听事件,监听指定串口; 4)向指定串口发送串口数据。4.根据权利要求1所述的一种基于ARM的相同IP的双机热备的方法,其特征在于,备机禁用网卡和启用网卡通过Iinux下的busybox指令实现,即主机出现问题之后,备机启用网卡,主机正常运行之后,备机禁用网卡。5.根据权利要求4所述的一种基于ARM的相同IP的双机热备的方法,其特征在于,备机禁用网卡和启用网卡的具体过程为: 使用JAVA下的Runtime类获取超级管理员的权限; 使用DataOutputStream写入禁用网卡和启用网卡的指令。
【文档编号】H04L12/24GK106027305SQ201610357727
【公开日】2016年10月12日
【申请日】2016年5月26日
【发明人】张家重, 王建林, 陈卫, 王玉奎
【申请人】浪潮(苏州)金融技术服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1