发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种快递柜网络可用性监控与自愈的方法及系统,旨在解决现有技术中快递柜网络维护效率低的问题。
本发明的技术方案如下:
一种快递柜网络可用性监控与自愈的方法,其中,包括步骤:
预先建立快递柜至第一业务服务器的长连接通道,以及建立快递柜至第二业务服务器的短连接通道;在快递柜运行过程中,检测长连接通道与短连接通道是否可用,当二者均不可用时,则重启快递柜尝试恢复网络;
路由设备定时查询DNS服务器,当丢包率达到阈值时,则重启路由设备尝试恢复网络。
所述的快递柜网络可用性监控与自愈的方法,其中,还包括步骤:
快递柜通过预设的固定IP与端口,定时发送TCP包至路由设备,检测网络是否可用,若不可用,则重启路由设备尝试恢复网络。
所述的快递柜网络可用性监控与自愈的方法,其中,还包括步骤:
快递柜定时访问部署在公有云/CDN的静态资源页面,以检测快递柜网络可用性,并记录检测结果。
所述的快递柜网络可用性监控与自愈的方法,其中,路由设备采用定时ICMP包检测机制查询DNS服务器。
所述的快递柜网络可用性监控与自愈的方法,其中,还包括步骤:
第一业务服务器与第二业务服务器记录快递柜的网络信息。
所述的快递柜网络可用性监控与自愈的方法,其中,所述网络信息包括:快递柜编号、上次在线时间、当前时间是否在线、网络成功率。
所述的快递柜网络可用性监控与自愈的方法,其中,还包括步骤:
快递柜记录网络不可用的时间、IP地址、连接方式。
一种快递柜网络可用性监控与自愈的系统,其中,包括:
第一检测模块,用于预先建立快递柜至第一业务服务器的长连接通道,以及建立快递柜至第二业务服务器的短连接通道;在快递柜运行过程中,检测长连接通道与短连接通道是否可用,当二者均不可用时,则重启快递柜尝试恢复网络;
第二检测模块,用于定时查询DNS服务器,当丢包率达到阈值时,则重启路由设备尝试恢复网络。
所述的快递柜网络可用性监控与自愈的系统,其中,还包括:
第三检测模块,用于通过预设的固定IP与端口,定时发送TCP包至路由设备,检测网络是否可用,若不可用,则重启路由设备尝试恢复网络。
所述的快递柜网络可用性监控与自愈的系统,其中,还包括:
第四检测模块,用于定时访问部署在公有云/CDN的静态资源页面,以检测快递柜网络可用性,并记录检测结果。
所述的快递柜网络可用性监控与自愈的系统,其中,路由设备采用定时ICMP包检测机制查询DNS服务器。
所述的快递柜网络可用性监控与自愈的系统,其中,第一业务服务器与第二业务服务器记录快递柜的网络信息。
所述的快递柜网络可用性监控与自愈的系统,其中,所述网络信息包括:快递柜编号、上次在线时间、当前时间是否在线、网络成功率。
所述的快递柜网络可用性监控与自愈的系统,其中,快递柜记录网络不可用的时间、IP地址、连接方式。
有益效果:通过本发明,可快速识别快递柜网络故障,并根据网络故障的类型,对网络故障进行修复,从而使恢复快递柜网络,实现自愈功能,本发明大大提高了快递柜网络维护效率,节约了人力物力资源。
具体实施方式
本发明提供一种快递柜网络可用性监控与自愈的方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,其为本发明一种快递柜网络可用性监控与自愈的方法较佳实施例的流程图,如图所示,其包括步骤:
S1、预先建立快递柜至第一业务服务器的长连接通道,以及建立快递柜至第二业务服务器的短连接通道;在快递柜运行过程中,检测长连接通道与短连接通道是否可用,当二者均不可用时,则重启快递柜尝试恢复网络;
S2、路由设备定时查询DNS服务器,当丢包率达到阈值时,则重启路由设备尝试恢复网络。
本发明为了方便说明,在步骤前添加了步骤序号S1和S2,但本发明并不对S1和S2的执行顺序进行限定,即可以先执行步骤S1,再执行步骤S2;也可以先执行步骤S2,再执行步骤S1;二者也可以同时执行。
在所述步骤S1中,如图2所示,建立长连接通道是指,从快递柜100(快递柜终端设备)到第一业务服务器300(一般是推送服务器)的TCP长连接服务。具体可采用集群切换机制。对于长连接通道是否可用的识别,可采用应用自封装的心跳包而非TCP本身的ack包心跳机制。
所谓TCP长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要定时发送发心跳包以维持此连接。由于该连接是一直存在的,若长连接中断,则说明网络可能出现异常情况。
建立短连接通道是指,建立定时HTTP短连接通道,每间隔一段时间,由快递柜100(快递柜终端设备)向第二业务服务器400发起心跳请求,同样可以采用应用自封装的心跳包来进行识别,例如每隔5s或5min发送一次心跳包。
HTTP的短连接本质上是TCP的短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的接收端收到发送端发出的所有包,并且顺序与发出顺序一致。
如果长连接通道与短连接通道均不可用时,则重启快递柜100尝试恢复网络,即恢复长连接通道或短连接通道至可用状态。
在所述步骤S2中,路由设备200定时查询DNS服务器600,当丢包率达到阈值时,则重启路由设备200尝试恢复网络。
具体地,路由设备200采用定时ICMP包检测机制,ping查询DNS服务器600。如果ping丢包率达到预设的阈值,说明网络不可用,需要重启路由设备200。
ICMP是“Internet Control Message Protocol”(Internet控制报文协议)的缩写,ICMP包也称ICMP数据包。通过ICMP包检测机制,可以实现ping检测,例如cmd的ping产生ICMP数据包,并进行捕获,从而测试网络的可到达性。当ping丢包率达到预设的阈值时,例如达到50%以上,则说明网络不可用。
其中的路由设备200可安装在快递柜100内,也可以安装在快递柜100外,具体可根据需要设置。
进一步,本发明的方法还包括步骤:
快递柜100通过预设的固定IP与端口,定时发送TCP包至路由设备200,检测网络是否可用,若不可用,则重启路由设备200尝试恢复网络。
上述步骤是通过固定IP与端口,定时发送TCP本身的ack包,检测本地路由设备通道是否可用,如果不可用,则需要重启路由设备200。
进一步,本发明的方法还包括步骤:
快递柜100定时访问部署在公有云/CDN(500)的静态资源页面,以检测快递柜100网络可用性,并记录检测结果。
CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
在上述步骤中,需要预先在公有云/CDN(500)上部署静态资源页面,用于快递柜100定时请求访问,这样可以通过第三方通道(HTTP第三方通道)侧面评估检测快递柜网络可用性,同时记录检测结果。快递柜100并不会根据该检测结果确定是否重启,只是将检测结果作为参考,以便后续进行网络检测分析或者其他用途使用,从而对快递柜100进行网络修复。
进一步,本发明的方法还包括步骤:
第一业务服务器300与第二业务服务器400记录快递柜100的网络信息。
优选的,所述网络信息包括:快递柜编号、上次在线时间、当前时间是否在线、网络成功率。所述网络成功率是指固定时间范围内实际收到(即服务器实际收到的,例如第一业务服务器100、第二业务服务器200、公有云等)的心跳包次数除以理论上的心跳包次数。
进一步,快递柜100记录网络不可用的时间、IP地址、连接方式。
上述记录的快递柜100的网络信息以及记录的网络不可用时间、IP地址、连接方式等等日志信息,可用于网络故障排查分析。
长连接集群如图3所示,接入层服务器700可以通过缓存服务器800分配实际第一业务服务器300地址,负载压力较小。第一业务服务器300可设置多个,且支持快速水平扩容。长连接的过程主要包括以下步骤:1、快递柜100与接入层服务器700建立长连接通道,并查询空闲的第一业务服务器300;2、接入层服务器700通过缓存服务器800查询并分配空闲的第一业务服务器300;3、接入层服务器700向快递柜下发空闲的第一业务服务器300的IP地址,并中断与快递柜100的长连接;4、快递柜100与空闲的第一业务服务器300建立长连接,并发送/接收业务数据。其中的缓存服务器800用来记录处于已连接状态的第一业务服务器800。
心跳请求时间间隔以及第三方通道的访问页面url均可配置,可通过业务层特定的配置应答包及时更新。
快递柜和路由设备的重启方式可采用断电重启机制,也可以采用软重启的方式。若是采用断电硬重启机制而非软重启,可设置每天重启次数的上限,以避免极端网络异常下频繁重启对快递柜和录音设备的损伤,例如设置快递柜每天重启次数上限为20次,设置路由设备的每天重启次数上限为30次。
另外本发明还可以设置定时重启机制,即设置在固定时间进行重启,例如设置在深夜时段进行重启,这是因为该时段处于业务低峰期,可减少对用户的影响,这样可以避免系统长时间运行,造成潜在的内存泄漏、进程过多、网络句柄分配过多等问题。这是因为即使快递柜和路由设备正常运行,但运行时间过长,还是可能造成诸多问题,所以可以主动进行重启,避免上述问题。例如可设定在每天凌晨3:00重启快递柜和路由设备,当然不仅限于每天重启,可以具体设置重启周期,例如每星期或每月的1日进行快递柜和路由设备的重启。
本发明的方法能够快速识别快递柜和路由设备网路故障,并兼具网络自愈功能。
本发明还提供一种快递柜网络可用性监控与自愈的系统较佳实施例,其包括:
第一检测模块,用于预先建立快递柜至第一业务服务器的长连接通道,以及建立快递柜至第二业务服务器的短连接通道;在快递柜运行过程中,检测长连接通道与短连接通道是否可用,当二者均不可用时,则重启快递柜尝试恢复网络;
第二检测模块,用于定时查询DNS服务器,当丢包率达到阈值时,则重启路由设备尝试恢复网络。
进一步,本发明的系统还包括:
第三检测模块,用于通过预设的固定IP与端口,定时发送TCP包至路由设备,检测网络是否可用,若不可用,则重启路由设备尝试恢复网络。
进一步,本发明的系统还包括:
第四检测模块,用于定时访问部署在公有云/CDN的静态资源页面,以检测快递柜网络可用性,并记录检测结果。
进一步,路由设备采用定时ICMP包检测机制查询DNS服务器。如果ping丢包率达到预设的阈值,例如达到50%以上,说明网络不可用,需要重启路由设备。其中的路由设备可安装在快递柜内,也可以安装在快递柜外,具体可根据需要设置。
进一步,第一业务服务器与第二业务服务器记录快递柜的网络信息。
优选的,所述网络信息包括:快递柜编号、上次在线时间、当前时间是否在线、网络成功率。所述网络成功率是指固定时间范围内实际收到(即服务器实际收到的,例如第一业务服务器、第二业务服务器、公有云等)的心跳包次数除以理论上的心跳包次数。
进一步,快递柜记录网络不可用的时间、IP地址、连接方式。上述记录的快递柜的网络信息以及记录的网络不可用时间、IP地址、连接方式等等日志信息,可用于网络故障排查分析。
关于上述系统模块的技术细节在前面的方法中已有详述,故不再赘述。
综上所述,通过本发明,可快速识别快递柜网络故障,并根据网络故障的类型,对网络故障进行修复,从而使恢复快递柜网络,实现自愈功能,本发明大大提高了快递柜网络维护效率,节约了人力物力资源。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。