首页 / 专利库 / 电脑零配件 / 嵌入式系统 / 网络异常自恢复方法

网络异常自恢复方法

阅读:650发布:2020-05-08

专利汇可以提供网络异常自恢复方法专利检索,专利查询,专利分析的服务。并且本 发明 提出一种网络异常自恢复方法,应用于 嵌入式系统 终端,其例如包括步骤:检测系统底层是否有Link状态信息抛出;若检测到系统底层有Link状态信息抛出,进行Link状态检测以识别当前Link状态信息;在识别出当前Link状态信息为Link Down状态后,若检测确定嵌入式系统终端当前的IP地址不是回环IP地址,使嵌入式系统终端的网卡断电重启、甚至若网卡断电重启失败则进一步使嵌入式系统终端进行系统断电重启;以及在识别出当前Link状态信息为Link Up状态时也会做自恢复处理。因此,本发明可以:i)增加网路连接的可靠性;ii)减少终端掉线、离线给用户带来的烦恼;以及iii)减少由于网络离线无法远程监控而带来的人员维护 费用 的耗损。,下面是网络异常自恢复方法专利的具体信息内容。

1.一种网络异常自恢复方法,应用于嵌入式系统终端,其特征在于,包括步骤:
(i)检测系统底层是否有Link状态信息抛出;
(ii)如果检测到系统底层有Link状态信息抛出,则进行Link状态检测以识别当前Link状态信息;
(iii)在识别出当前Link状态信息为Link Down状态后,若检测确定嵌入式系统终端当前的IP地址不是回环IP地址,则使所述嵌入式系统终端的网卡断电重启、甚至若网卡断电重启失败则进一步使所述嵌入式系统终端进行系统断电重启;
(iv)在识别出当前Link状态信息为Link Up状态后,检测系统底层是否有表示IP地址冲突的广播消息抛出;
(v)若无表示IP地址冲突的广播消息抛出,则检测确定所述嵌入式系统终端的当前IP地址是否为回环IP地址、并在检测确定的结果为“是”时将所述嵌入式系统终端的当前IP地址设置成私有IP地址并再次确认所述嵌入式系统终端的当前IP地址是否为回环IP地址;
(vi)若步骤(v)中的再次确认过程超时预设时间长度,使所述嵌入式系统终端的网卡断电重启。
2.如权利要求1所述的网络异常自恢复方法,其特征在于,步骤(iii)中的“若检测确定嵌入式系统终端当前的IP地址不是回环IP地址”具体包括:
检测所述嵌入式系统终端当前的IP地址是否为回环IP地址,若检测结果为“否”则延时预设时间长度后再次检测所述嵌入式系统终端当前的IP地址是否为回环IP地址;以及若再次检测结果仍为“否”,则确定所述嵌入式系统终端当前的IP地址不是回环IP地址。
3.如权利要求1所述的网络异常自恢复方法,其特征在于,在步骤(i)之后还包括步骤:
如果检测到系统底层无Link状态信息抛出的持续时间超过预设时间长度,则使所述嵌入式系统终端进行系统断电重启。
4.如权利要求1所述的网络异常自恢复方法,其特征在于,还包括步骤:
若步骤(vi)中的网卡断电重启被判断为重启失败,使所述嵌入式系统终端进行系统断电重启;以及
若步骤(vi)中的网卡断电重启被判断为重启成功,则进一步判断网卡重启成功是否超过预设次数、并且若网卡重启成功超过预设次数时更进一步使所述嵌入式系统终端进行系统断电重启。
5.如权利要求1所述的网络异常自恢复方法,其特征在于,在步骤(ii)之后还包括步骤:
(vii)在识别出当前Link状态信息为Link Up状态且检测到系统底层有表示IP地址冲突的广播消息抛出的情形下,检测所述嵌入式系统终端的当前IP地址是否为回环IP地址或私有IP地址;
(viii)若步骤(vii)中的检测结果为“是”,则进一步判断所述嵌入式系统终端当前为静态IP设置方式还是动态IP获取方式;
(ix)如果所述嵌入式系统终端当前为动态IP获取方式,则执行IP Release及IP Renew接口函数,并且若执行IP Release接口函数或IP Renew接口函数被判定为执行失败,则使所述嵌入式系统终端的网卡断电重启、并且若网卡断电重启失败则进一步使系统断电重启,以及若网卡断电重启成功则进一步判断网卡重启成功是否超过预设次数、并且若网卡重启成功超过预设次数则更进一步使系统断电重启。
6.如权利要求1所述的网络异常自恢复方法,其特征在于,在步骤(ii)之后还包括步骤:
(x)在识别出当前Link状态信息为Link Up状态且检测到系统底层有表示IP地址冲突的广播消息抛出的情形下,若检测出所述嵌入式系统终端的当前IP地址是回环IP地址或私有IP地址且所述嵌入式系统终端当前为静态IP设置方式,则进一步在检测出所述嵌入式系统终端的当前IP地址为回环IP地址时将嵌入式系统终端的当前IP地址设置成静态私有IP地址、并再次检测所述嵌入式系统终端的当前IP地址是否为回环IP地址;
(xi)若步骤(x)中的再次检测过程超时预设时间长度,则将所述嵌入式系统终端的当前IP地址修改成步骤(x)中设置的静态私有IP地址、并使所述嵌入式系统终端的网卡断电重启、甚至若网卡断电重启失败则进一步使系统断电重启。
7.一种网络异常自恢复方法,应用于嵌入式系统终端,其特征在于,包括步骤:
(x1)检测系统底层是否有Link状态信息抛出;
(x2)如果检测到系统底层有Link状态信息抛出,则进行Link状态检测以识别当前Link状态信息;
(x3)在识别出当前Link状态信息为Link Up状态后,检测系统底层是否有表示IP地址冲突的广播消息抛出;
(x4)若无表示IP地址冲突的广播消息抛出,则检测确定所述嵌入式系统终端的当前IP地址是否为回环IP地址、并在检测确定的结果为“是”时将所述嵌入式系统终端的当前IP地址设置成私有IP地址并再次确认所述嵌入式系统终端的当前IP地址是否为回环IP地址;
(x5)若步骤(x4)中的再次确认过程超时预设时间长度,使所述嵌入式系统终端的网卡断电重启;
(x6)若步骤(x5)中的网卡断电重启被判断为重启失败,使所述嵌入式系统终端进行系统断电重启;以及
(x7)若步骤(x5)中的网卡断电重启被判断为重启成功,则进一步判断网卡重启成功是否超过预设次数,并且若网卡重启成功超过预设次数则更进一步使所述嵌入式系统终端进行系统断电重启。
8.一种网络异常自恢复方法,应用于嵌入式系统终端,其特征在于,包括步骤:
(y1)检测系统底层是否有Link状态信息抛出;
(y2)如果检测到系统底层有Link状态信息抛出,则进行Link状态检测以识别当前Link状态信息;
(y3)在识别出当前Link状态信息为Link Up状态后,检测系统底层是否有表示IP地址冲突的广播消息抛出;
(y4)若有表示IP地址冲突的广播消息抛出,则检测所述嵌入式系统终端的当前IP地址是否为回环IP地址或私有IP地址;
(y5)若步骤(y4)中的检测结果为“是”,则进一步判断所述嵌入式系统终端当前为静态IP设置方式还是动态IP获取方式;
(y6)如果所述嵌入式系统终端当前为动态IP获取方式,则执行IP Release及IP Renew接口函数,并且若执行IP Release接口函数或IP Renew接口函数被判定为执行失败,则使所述嵌入式系统终端的网卡断电重启、并且若网卡断电重启失败则进一步使系统断电重启,以及若网卡断电重启成功则判断网卡重启成功是否超过预设次数、并且若网卡断电重启成功超过预设次数则更进一步使系统断电重启。
9.一种网络异常自恢复方法,应用于嵌入式系统终端,其特征在于,包括步骤:
(z1)检测系统底层是否有Link状态信息抛出;
(z2)如果检测到系统底层有Link状态信息抛出,则进行Link状态检测以识别当前Link状态信息;
(z3)在识别出当前Link状态信息为Link Up状态后,检测系统底层是否有表示IP地址冲突的广播消息抛出;
(z4)若有表示IP地址冲突的广播消息抛出,则检测所述嵌入式系统终端的当前IP地址是否为回环IP地址或私有IP地址;
(z5)若步骤(z4)中的检测结果为“是”,则进一步判断所述嵌入式系统终端当前为静态IP设置方式还是动态IP获取方式;
(z6)如果所述嵌入式系统终端当前为静态IP设置方式,则进一步在检测出所述嵌入式系统终端的当前IP地址为回环IP地址时将嵌入式系统终端的当前IP地址设置成静态私有IP地址、并再次检测所述嵌入式系统终端的当前IP地址是否为回环IP地址;
(z7)若步骤(z6)中的再次检测过程超时预设时间长度,则将所述嵌入式系统终端的当前IP地址修改成步骤(z6)中设置的静态私有IP地址、并使所述嵌入式系统终端的网卡断电重启、甚至若网卡断电重启失败则进一步使系统断电重启。

说明书全文

网络异常自恢复方法

技术领域

[0001] 本发明涉及嵌入式系统网络稳定性连接技术领域,尤其涉及一种适用于嵌入式系统终端的网络异常自恢复方法。

背景技术

[0002] 说到网络连接,可能都会想到“上网”一词,然而所使用的网络背后需要靠多少程序代码和协议来支撑上网的可靠性,亦或者说是支撑本机与Internet互联的网络连接的可靠性。而现实情况下的网络连接环境是相当复杂的,在不同的网络连接环境下,会出现各种不同的网络连接可靠性的问题。特别是在LED异步控制系统行业,需要进行网络连接控制LED异步控制卡终端的时候总是会出现离线、掉线等各种问题,导致用户无法完成LED显示屏配置以及媒体发送播放等问题,给LED异步控制卡终端访问的用户带来极差的体验性。特别是在对于WinCE这样的网络机制不是非常完善的操作系统下出现的网络连接问题的可靠性更差,经常出现TCP/IP连接掉线、离线的问题。
[0003] 总结当前不同网络环境下网络连接可靠性的问题主要有:
[0004] 1)PC端与LED异步控制卡之间网线直连或者经过交换机直连无法获取到IP的问题;
[0005] 2)PC端与LED异步控制卡之间通过路由器连接无法获取IP的问题;
[0006] 3)LED异步控制卡出现网络异常连接无法自恢复的问题;
[0007] 4)多张LED异步控制卡同时上电启动无法获取IP建立网络连接的问题;以及[0008] 5)同一局域网环境下,LED异步控制卡被分配相互冲突的IP时无法建立网络连接的问题。
[0009] 现有的技术方案能解决大多数问题,但是在实际复杂的网络环境下,有很多不确定因素会导致网络连接中断的问题,此时就需要相应的自动恢复连接的机制以及网络之间冲突问题的解决方案。

发明内容

[0010] 因此,为克服现有技术缺陷和不足,本发明提出一种网络异常自恢复方法。
[0011] 具体地,本发明实施例提出的一种网络异常自恢复方法,应用于嵌入式系统终端。所述网络异常自恢复方法包括步骤:(i)检测系统底层是否有Link状态信息抛出;(ii)如果检测到系统底层有Link状态信息抛出,则进行Link状态检测以识别当前Link状态信息;
(iii)在识别出当前Link状态信息为Link Down状态后,若检测确定嵌入式系统终端当前的IP地址不是回环IP地址,则使所述嵌入式系统终端的网卡断电重启、甚至若网卡断电重启失败则进一步使所述嵌入式系统终端进行系统断电重启。
[0012] 在本发明的一个实施例中,所述网络异常自恢复方法的步骤(iii)中的“若检测确定嵌入式系统终端当前的IP地址不是回环IP地址”具体包括:检测所述嵌入式系统终端当前的IP地址是否为回环IP地址,若检测结果为“否”则延时预设时间长度后再次检测所述嵌入式系统终端当前的IP地址是否为回环IP地址;以及若再次检测结果仍为“否”,则确定所述嵌入式系统终端当前的IP地址不是回环IP地址。
[0013] 在本发明的一个实施例中,所述网络异常自恢复方法在步骤(i)之后还包括步骤:如果检测到系统底层无Link状态信息抛出的持续时间超过预设时间长度,则使所述嵌入式系统终端进行系统断电重启。
[0014] 在本发明的一个实施例中,所述网络异常自恢复方法在步骤(ii)之后还包括步骤:(iv)在识别出当前Link状态信息为Link Up状态后,检测系统底层是否有表示IP地址冲突的广播消息抛出;(v)若无表示IP地址冲突的广播消息抛出,则检测确定所述嵌入式系统终端的当前IP地址是否为回环IP地址、并在检测确定的结果为“是”时将所述嵌入式系统终端的当前IP地址设置成私有IP地址并再次确认所述嵌入式系统终端的当前IP地址是否为回环IP地址;(vi)若步骤(v)中的再次确认过程超时预设时间长度,使所述嵌入式系统终端的网卡断电重启。
[0015] 在本发明的一个实施例中,所述网络异常自恢复方法还包括步骤:若步骤(vi)中的网卡断电重启被判断为重启失败,使所述嵌入式系统终端进行系统断电重启;以及若步骤(vi)中的网卡断电重启被判断为重启成功,则进一步判断网卡重启成功是否超过预设次数、并且若网卡重启成功超过预设次数时更进一步使所述嵌入式系统终端进行系统断电重启。
[0016] 在本发明的一个实施例中,所述网络异常自恢复方法在步骤(ii)之后还包括步骤:(vii)在识别出当前Link状态信息为Link Up状态且检测到系统底层有表示IP地址冲突的广播消息抛出的情形下,检测所述嵌入式系统终端的当前IP地址是否为回环IP地址或私有IP地址;(viii)若步骤(vii)中的检测结果为“是”,则进一步判断所述嵌入式系统终端当前为静态IP设置方式还是动态IP获取方式;(ix)如果所述嵌入式系统终端当前为动态IP获取方式,则执行IP Release及IP Renew接口函数,并且若执行IP Release接口函数或IP Renew接口函数被判定为执行失败,则使所述嵌入式系统终端的网卡断电重启、并且若网卡断电重启失败则进一步使系统断电重启,以及若网卡断电重启成功则进一步判断网卡重启成功是否超过预设次数、并且若网卡重启成功超过预设次数则更进一步使系统断电重启。
[0017] 在本发明的一个实施例中,所述网络异常自恢复方法在步骤(ii)之后还包括步骤:(x)在识别出当前Link状态信息为Link Up状态且检测到系统底层有表示IP地址冲突的广播消息抛出的情形下,若检测出所述嵌入式系统终端的当前IP地址是回环IP地址或私有IP地址且所述嵌入式系统终端当前为静态IP设置方式,则进一步在检测出所述嵌入式系统终端的当前IP地址为回环IP地址时将嵌入式系统终端的当前IP地址设置成静态私有IP地址、并再次检测所述嵌入式系统终端的当前IP地址是否为回环IP地址;(xi)若步骤(x)中的再次检测过程超时预设时间长度,则将所述嵌入式系统终端的当前IP地址修改成原来用户设置的静态IP地址、并使所述嵌入式系统终端的网卡断电重启、甚至若网卡断电重启失败则进一步使系统断电重启。
[0018] 此外,本发明再一实施例提出的一种网络异常自恢复方法,应用于嵌入式系统终端,其包括步骤:(x1)检测系统底层是否有Link状态信息抛出;(x2)如果检测到系统底层有Link状态信息抛出,则进行Link状态检测以识别当前Link状态信息;(x3)在识别出当前Link状态信息为Link Up状态后,检测系统底层是否有表示IP地址冲突的广播消息抛出;(x4)若无表示IP地址冲突的广播消息抛出,则检测确定所述嵌入式系统终端的当前IP地址是否为回环IP地址、并在检测确定的结果为“是”时将所述嵌入式系统终端的当前IP地址设置成私有IP地址并再次确认所述嵌入式系统终端的当前IP地址是否为回环IP地址;(x5)若步骤(x4)中的再次确认过程超时预设时间长度,使所述嵌入式系统终端的网卡断电重启;
(x6)若步骤(x5)中的网卡断电重启被判断为重启失败,使所述嵌入式系统终端进行系统断电重启;以及(x7)若步骤(x5)中的网卡断电重启被判断为重启成功,则进一步判断网卡重启成功是否超过预设次数,并且若网卡重启成功超过预设次数则更进一步使所述嵌入式系统终端进行系统断电重启。
[0019] 再者,本发明另一实施例提出的一种网络异常自恢复方法,应用于嵌入式系统终端,其包括步骤:(y1)检测系统底层是否有Link状态信息抛出;(y2)如果检测到系统底层有Link状态信息抛出,则进行Link状态检测以识别当前Link状态信息;(y3)在识别出当前Link状态信息为Link Up状态后,检测系统底层是否有表示IP地址冲突的广播消息抛出;(y4)若有表示IP地址冲突的广播消息抛出,则检测所述嵌入式系统终端的当前IP地址是否为回环IP地址或私有IP地址;(y5)若步骤(y4)中的检测结果为“是”,则进一步判断所述嵌入式系统终端当前为静态IP设置方式还是动态IP获取方式;(y6)如果所述嵌入式系统终端当前为动态IP获取方式,则执行IP Release及IP Renew接口函数,并且若执行IP Release接口函数或IP Renew接口函数被判定为执行失败,则使所述嵌入式系统终端的网卡断电重启、并且若网卡断电重启失败则进一步使系统断电重启,以及若网卡断电重启成功则判断网卡重启成功是否超过预设次数、并且若网卡断电重启成功超过预设次数则更进一步使系统断电重启。
[0020] 另外,本发明又一实施例提出的一种网络异常自恢复方法,应用于嵌入式系统终端,其包括步骤:(z1)检测系统底层是否有Link状态信息抛出;(z2)如果检测到系统底层有Link状态信息抛出,则进行Link状态检测以识别当前Link状态信息;(z3)在识别出当前Link状态信息为Link Up状态后,检测系统底层是否有表示IP地址冲突的广播消息抛出;(z4)若有表示IP地址冲突的广播消息抛出,则检测所述嵌入式系统终端的当前IP地址是否为回环IP地址或私有IP地址;(z5)若步骤(y4)中的检测结果为“是”,则进一步判断所述嵌入式系统终端当前为静态IP设置方式还是动态IP获取方式;(z6)如果所述嵌入式系统终端当前为静态IP设置方式,则进一步在检测出所述嵌入式系统终端的当前IP地址为回环IP地址时将嵌入式系统终端的当前IP地址设置成静态私有IP地址、并再次检测所述嵌入式系统终端的当前IP地址是否为回环IP地址;(z7)若步骤(z6)中的再次检测过程超时预设时间长度,则将所述嵌入式系统终端的当前IP地址修改成原来用户设置的静态IP地址、并使所述嵌入式系统终端的网卡断电重启、甚至若网卡断电重启失败则进一步使系统断电重启。
[0021] 由上可知,本发明实施例可以达成以下一个或多个有益效果:i)增加LED异步控制卡的网路连接的可靠性;ii)减少LED异步控制卡掉线、离线给用户带来的烦恼;以及iii)减少由于网络离线无法远程监控而带来的人员维护费用的耗损。
[0022] 通过以下参考附图的详细说明,本发明的其它方面和特征变得明显。但是应当知道,该附图仅仅为解释的目的设计,而不是作为本发明的范围的限定。还应当知道,除非另外指出,不必要依比例绘制附图,它们仅仅图概念地说明此处描述的结构和流程。

附图说明

[0023] 下面将结合附图,对本发明的具体实施方式进行详细的说明。
[0024] 图1为PC端与LED异步控制卡直连的架构示意图。
[0025] 图2为PC端通过交换机与LED异步控制卡连接的架构示意图。
[0026] 图3为PC端通过路由器与LED异步控制卡连接的架构示意图。
[0027] 图4为PC端通过路由器以及交换机与LED异步控制卡连接的架构示意图。
[0028] 图5为本发明实施例的网络异常自恢复机制的方案实现流程图

具体实施方式

[0029] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
[0030] 一、网络连接环境
[0031] 一般而言,在现实情况下,通常遇到的LED控制系统的网络搭建环境有以下几种。
[0032] (1)PC端与LED异步控制卡直连
[0033] 如图1所示,其为PC端(一种上位机端)与LED异步控制卡直连的情况。在这种情况下,当PC端与LED异步控制卡的IP地址都设置为IP自动获取时,会出现无法获取到IP地址,而系统临时给分配一个回环IP地址127.0.0.1的情况,在系统IP被变成127.0.0.1时,是无法建立设备之间相互通信的一种网络IP地址。此时会出现网络应用掉线,终端设备离线等情况。
[0034] 在这种情况下,本发明实施例的解决方案是:LED异步控制卡底层通过驱动实时检测硬件网线的link状态(连接状态),检测是否存在网线松动或者掉线的情况,在出现掉线时通过底层消息通知到LED异步控制卡终端的应用层软件,软件在检测到系统发出的消息便知道网线松动或者掉线,此时由于网线松动或掉线无法建立与PC端上位机软件的通信,PC端上位机软件会在一定的超时时间内在未收到LED异步控制卡终端的连接消息时,提示用户先检查网线连接,当确保网线连接正常时,如果此时用户设置的LED异步控制卡终端以及PC端的IP地址为自动获取模式时,由于在当前的网络环境下,不存在DHCP服务,因此无论是PC端还是LED异步控制卡都无法获取到IP地址,此时一般操作系统默认5分钟(min)获取不到IP地址时,会自动分配一个私有IP地址169.254.XXX.XXX,此处的私有IP地址是一种可建立TCP/IP连接的IP地址;但是实际情况下,在系统还未分配或者正在分配私有IP地址的过程中,用户通过PC端尝试与LED异步控制卡建立连接会导致LED异步控制卡终端较长时间一直无法获取到IP地址的情况,此时为了实现快速响应的目的,本发明实施例直接在LED异步控制卡终端通过应用层程序对LED异步控制卡的IP地址实时检测,如果在30秒(s)内无法获取到可发起连接的IP地址的话,应用层程序直接就给LED异步控制卡设置一个私有IP地址169.254.XXX.XXX,此时PC端就可以实现与LED异步控制卡终端建立TCP/IP连接。
[0035] (2)PC端通过交换机与LED异步控制卡连接
[0036] 如图2所示,其为PC端通过交换机与LED异步控制卡连接的情况。在这种网络连接环境下,本发明实施例可实现PC端的一个软件连接控制多张LED异步控制卡。在这种情况下,当然也会出现类似PC端与LED异步控制卡直连时出现的问题,而本发明实施例的处理方式是一样的,不过在分配私有IP地址时,169.254是固定的,而后面的2位是在1-254之间随机选择的一组数据,在选择之后,应用层会在当前的局域网环境下先通过PING该IP地址的方式确保没有被人占用,如果未被占用则把选择的IP设置为当前LED异步控制卡终端的IP地址;如果发现该IP地址已被占用,则将该IP地址标记为已用,重新再随机选择一个IP地址进行选择设置,通过这样的方式以保证PC端能够与LED异步控制卡之间建立TCP/IP网络连接。
[0037] (3)PC端通过路由器与LED异步控制卡连接
[0038] 如图3所示,其为PC端通过路由器与LED异步控制卡连接的情况,在这种情况下,通常会设置PC端与LED异步控制卡的IP地址都为自动获取方式,因为在这种情况下路由器是具有DHCP功能,能够给连接的其他设备动态分配IP地址以实现网络连接的建立。
[0039] 再者,在这种情况下,通常会出现的问题主要是在接入的LED异步控制卡较多时,各个LED异步控制卡终端又同时上电时,由于网络超时等原因会出现有一些LED异步控制卡无法获取到IP地址,导致某些LED异步控制卡的IP地址会变为127.0.0.1的情况,此时就会出现一些LED异步控制卡离线、掉线,无法在PC端搜索连接的情况。
[0040] 针对这种情况,本发明实施例的解决方案就是通过实时读取当前系统的IP地址,判断是否可用,如果是127.0.0.1的情况话,就会自动调用系统提供的IP地址释放以及重新获取的接口函数IPRelease和IPRenew来重新从路由器端获取IP地址,当再次获取还是无法获取到时,本发明实施例的方案是默认调用3次,三次都无法获取到时再检测当前LED异步控制卡终端的软件运行是否正常,在软件运行正常的情况下,会自动分配一个私有IP地址,此时由于PC端可能是路由器分配的一个例如192.168.1.100的IP段的地址,而LED控制卡可能会分到169.254.XXX.XXX的IP地址,当通过PC端去搜索连接这张LED异步控制卡时,由于是跨网段之间的搜索连接,因此只有UDP广播可以到达LED异步控制卡终端,而TCP/IP的连接是无法通信成功的。但是本发明实施例在这种UDP通信成功的情况下,会给用户提供LED异步控制卡终端IP地址修改的接口,这样用户就可以通过该接口将LED异步控制卡终端的IP地址设置为与PC端在同一网段,从而实现在当前网络连接情况下异常无法获取IP地址情况下的TCP/IP连接的建立,减少了技术支持到现场查看LED异步控制卡工作状态和产品维护的工作量。
[0041] (4)PC端通过路由器以及交换机与LED异步控制卡连接
[0042] 图4所示为相对较复杂的网络连接环境,在一个路由器下连接交换机、PC端以及多张LED异步控制卡的情况。这种情况下会发生与图1、图2、图3所示网络连接环境下相同的网络连接可靠性的问题。
[0043] 当然,实际的网络连接环境远远不止以上提到的4种,但是以上的4种基本囊括了局域网连接的基本连接方式,其他更多的网络连接环境基本就是多几个路由或者交换机等方式,出现的问题基本也都与以上4种网络连接环境大同小异,本发明不再详细讲述。
[0044] 二、静态IP地址设置与动态IP地址设置
[0045] 所谓静态IP地址也就是用户或者应用程序设置的一种固定的IP地址,在静态IP地址设置以后,系统将不会再接受由外部的DHCP服务动态分配的IP地址;通常只有在特定的情况下,也就是用户想要固定某台终端设备的IP地址以方便查询控制,会对LED异步控制卡设置静态的IP地址,亦或者是系统在自动无法获取到IP地址的情况下,本发明实施例的解决方案会自动设置私有IP地址,这个设置的私有IP也就是静态的IP地址。
[0046] 在静态IP地址设置过程中通常会遇到的问题就是用户在同一局域网中配置了相同的IP地址给不同的LED异步控制卡终端,此时会出现IP地址冲突的问题,当出现这样的问题的时候,就会出现某张IP地址冲突的LED异步控制卡的IP地址变为127.0.0.1的情况,此时就需要相应的恢复机制以保证用户的TCP/IP连接。
[0047] 针对以上问题,当前本发明实施例的解决方法是利用系统底层IP冲突检测的机制,将出现IP冲突的消息通过消息广播给上层应用程序知悉,上层应用程序接收到该消息时,再同时判断当前的IP地址是否为127.0.0.1,如果是的话,就自动给LED异步控制卡分配一个私有IP地址,此时如果在同一局域网连接环境下的PC端跨网段搜索连接时,先发送UDP广播包,此时分配到私有IP地址的LED异步控制卡是可以回复上位机PC端的搜索结果的,但是此时不能建立TCP/IP连接,需要用户通过上层应用程序端口对LED异步控制卡终端重新设置IP地址,将其与PC端设置到相同网段即可建立TCP/IP连接。
[0048] 所谓动态IP地址也就是在局域网环境设置下存在DHCP服务,能够对本局域网中的其他设备动态分配IP地址,LED异步控制卡终端在设置动态获取IP地址之后就可以接受来自DHCP服务提供的动态IP地址以保证与其他设备之间的网络互联。当然,在这个网络环境与设置下,依然还是会存在获取不到IP地址的情况,此时也就需提供一种自恢复网络连接的机制以保证用户可以看到LED异步控制卡终端在线。本发明实施例针对此种情况下的解决方案已在前述网络连接环境为PC端与LED异步控制卡直连的情况下进行了详细说明,在此就不再赘述。
[0049] 三、网络连接解决方案的问题分析及解决流程
[0050] 通过以上【一、网络连接环境】和【二、静态IP地址设置与动态IP地址设置】两部分的说明,总结当前PC端与LED异步控制卡之间网络连接的问题主要分为以下3类:
[0051] (a)由于系统网络驱动或者软件异常造成的系统卡死、软件卡死等导致LED异步控制卡掉线的问题;
[0052] (b)由于IP地址无法获取到时,LED异步控制卡的IP地址变为回环IP地址例如127.0.0.1导致LED异步控制卡离线的问题;以及
[0053] (c)由于IP地址设置冲突时,LED异步控制卡的IP地址变为回环IP地址例如127.0.0.1导致LED异步控制卡离线的问题。
[0054] 针对以上问题,本发明实施例提出一种网络异常自恢复机制。如图5所示,其为本发明实施例在应用层的网络异常自恢复机制的方案实现流程图;整个方案需要LED异步控制卡系统应用层配合系统底层一起实现。
[0055] 针对问题(a)的解决方案,本发明实施例通过一个守护线程实时监护应用程序是否运行正常,如果出现异常,则对软件关闭重新启动。针对驱动层的检测,通过系统底层实时抛出的Link状态信息(也即网线连接状态信息)可判断系统驱动是否运行正常,当应用层在预设时间长度例如60秒内都无法收到系统底层抛出的Link状态信息的话,对系统进行断电重启,以保证网络恢复正常。一般情况下,LED异步控制卡与外部无物理连接(也即未连接网线)时,正常状态下的IP地址为回环IP地址例如127.0.0.1;但是由于系统或者网络驱动异常情况下可能会出现在Link Down状态(也即网线未连接状态)时,IP地址是一个正常IP地址而非回环IP地址,但是此时在插上网线的Link Up状态下却无法建立正常的TCP/IP连接。针对此问题,本发明实施例也会对其进行处理解决,也就是在系统检测到Link Down状态但IP地址不是回环IP地址例如127.0.0.1的情况下,可能是发生网卡驱动异常的情况,此时就需要给网卡重启恢复,在网卡重启不起作用的情况下,有可能还与系统运行异常有关,此时就通过重启系统来恢复整个系统的网络连接状态。
[0056] 针对问题(b)的解决方案,本发明实施例在接收到系统底层抛出的Link up状态信息后每隔预设时间长度例如30秒(s)实时检测IP地址是否为回环IP地址例如127.0.0.1,如果是就将系统的IP地址设置为私有IP地址例如169.254.XXX.XXX(其中X的取值为0~9),如果不是则返回继续Link状态检测以及IP地址检测。
[0057] 针对问题(c)的解决方案,本发明实施例通过系统底层检查IP地址是否发生冲突,如果存在IP地址冲突的情况,则系统底层会抛出广播消息(广播消息的ID号例如为:211)通知应用层,应用层在接收到广播消息后,会对当前LED异步控制卡的IP地址进行判断是否为回环IP地址例如127.0.0.1或者私有IP地址例如169.254.XXX.XXX,如果是的话,就继续进行下一步的判断,是动态获取的IP地址还是静态设置的IP地址,如果是静态设置的IP地址则再次判断当前IP地址是否为回环IP地址例如127.0.0.1,若还是的话就设置一个默认的私有静态IP地址,以保证用户可以通过UDP广播搜到该LED异步控制卡;如果在上一次判断是动态获取的IP地址的话,则可以通过IP Release和IP Renew接口函数来重新让路由器给LED异步控制卡分配IP地址。
[0058] 在图5所示的方案流程图中,其解决的网络连接问题还包括异常情况下的自恢复功能,也就是通过对网卡重启的方式无法恢复网络连接的时候,就自动通过对系统断电重启的方式来使得系统能够恢复正常工作。
[0059] 具体来说,一般情况下,系统底层驱动会200毫秒(ms)检测一次网络连接的状态并将Link状态信息实时通知到应用层,如果应用层在预设时间长度例如60s没有收到Link状态信息(包括Link up和Link down状态)的话,就直接启用系统断电重启的功能,以保证重启之后系统能恢复正常。在实际的应用环境测试下,确实是会由于其他线程卡死导致系统运行异常,进而使得网络连接异常带来的这种离线问题,在这种情况下,通过实际测试验证,必须对系统断电重启才能恢复正常。
[0060] 再者,值得一提的是,在图5中,在接收到系统底层抛出的Link up状态信息但不存在IP地址冲突(也即图5中“检测系统底层是否有广播消息(ID:211)抛出”步骤的执行结果为“否”)的情形下,在设置LED异步控制卡的IP地址为静态私有IP地址例如169.254.XXX.XXX后进行检测IP地址是否为回环IP地址例如127.0.0.1的过程中,若检测结果超时预设时间长度例如30s,则对LED异步控制卡上的有线网卡进行重启,如果网卡重启失败(例如对应3次重启均失败),则使系统进行断电重启,如果网卡重启成功,由于可能会出现在网卡重启成功连续多次例如3次都检测到Link Up状态且IP地址都为回环IP地址例如127.0.0.1的情形,因此此处优选地增设“网卡重启成功是否超过3次”的步骤来打破这种不正常的循环。类似地,在接收到系统底层抛出的Link up状态信息且存在IP地址冲突(也即图5中“检测系统底层是否有广播消息(ID:211)抛出”步骤的执行结果为“是”)的情形下,在检测到其IP地址为回环IP地址例如127.0.0.1或私有IP地址例如169.254.且判断出其IP地址为动态获取方式后依序执行IP Release及IP Renew接口函数的过程中,若任意一个的最终执行结果为失败,则对LED异步控制卡上的有线网卡进行重启,如果网卡重启失败(例如对应3次重启均失败),则使系统进行断电重启,如果网卡重启成功,由于可能会出现在网卡重启成功连续多次例如3次都检测到Link Up状态且IP地址都为回环IP地址例如
127.0.0.1的情形,因此此处优选地增设“网卡重启成功是否超过3次”的步骤来打破这种不正常的循环。另外,在接收到系统底层抛出的Link up状态信息且存在IP地址冲突(也即图5中“检测系统底层是否有广播消息(ID:211)抛出”步骤的执行结果为“是”)的情形下,在检测到其IP地址为回环IP地址例如127.0.0.1或私有IP地址例如169.254.且判断出其IP地址为静态设置方式后会再次判断LED异步控制卡的IP地址是否为回环IP地址例如127.0.0.1,如果是则会设置LED异步控制卡的IP地址为静态私有IP地址例如169.254.XXX.XXX并再次进行检测IP地址是否为回环IP地址例如127.0.0.1,也即确认设置静态私有IP地址是否成功,若确认过程超时预设时间长度例如30s,则将LED异步控制卡的IP地址修改回用户原来设置的静态IP地址并对LED异步控制卡上的有线网卡进行断电重启,如果网卡重启失败(例如对应2次重启均失败),则使系统进行断电重启。
[0061] 综上所述,本发明实施例可以达成以下一个或多个有益效果:i)增加LED异步控制卡的网路连接的可靠性;ii)减少LED异步控制卡掉线、离线给用户带来的烦恼;以及iii)减少由于网络离线无法远程监控而带来的人员维护费用的耗损。此外,值得一提的是,本发明实施例的网络异常自恢复机制并不限于应用于LED异步控制卡,其也可以应用于带有有线网卡的其他嵌入式系统终端。此外,本发明上述实施例描述的网络异常自恢复机制的各个步骤可以进行合理组合以得到多个不同的问题解决方案。
[0062] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈