一种终端状态实时刷新方法及装置的制造方法

文档序号:9813971阅读:451来源:国知局
一种终端状态实时刷新方法及装置的制造方法
【技术领域】
[0001]本发明涉及终端网络管理领域,尤其涉及一种终端状态实时刷新方法及装置。
【背景技术】
[0002]随着网络的不断发展,网络拓扑日趋复杂,网络规模不断增大,终端的数量也在快速增长。终端数目的增加对网管系统也提出了更高的要求,如何有效的,快速的,便捷的管理终端设备,对终端进行日常的管理与维护。
[0003]运营商为了运维需要,要求网管给出机顶盒终端的在线状态统计。该数据可以通过统计数据库中终端的连接状态获取。但在现实中,数据库里终端的连接状态不完全准确,主要原因如下:
[0004]网管系统中终端状态的更新主要依赖机顶盒的主动上报。机顶盒在开机的时候上报消息,网管系统收到后更新终端状态为在线。但终端关机时,不会发送消息告知网管,即终端下线后网管系统中连接状态仍是在线。
[0005]终端直接断电,设备离线,网管系统无从得知。
[0006]以上两个原因造成网管系统中的终端状态不准。

【发明内容】

[0007]本发明的目的在于提供一种终端状态实时刷新方法及装置,解决网管系统中的终端状态不准确及没法大量刷新的问题。
[0008]为了解决上述技术问题,本发明实施例提供的一种终端状态实时刷新方法,应用于网管系统,其中,包括:
[0009]获取网络地址转换NAT环境下的第一类终端的信息和处于非NAT环境下的第二类终端的信息,其中所述信息包括终端的连接状态;
[0010]发送对NAT环境下的第一类终端进行状态刷新的第一任务触发指令给用户数据报协议对NAT的简单穿越STUN服务器;
[0011]接收所述STUN服务器返回的所述第一类终端的连接状态,所述第一类终端的连接状态是STUN服务器根据所述第一类终端主动上报的心跳数据更新得到的;以及
[0012]发送对非NAT环境下的第二类终端进行状态刷新,且携带有启动多进程的参数的第二任务触发指令来启动多进程,以利用所述多进程的各个进程向第二类终端发送连接请求;
[0013]根据第二类终端针对所述连接请求的响应,更新所述第二类终端的连接状态。
[0014]进一步的,所述多进程的参数包括:各个进程可处理的第二类终端的阈值,同一时刻可运行的最大进程数、全部所述第二类终端的第一总数及当前开启的进程数。
[0015]进一步的,在根据第二类终端针对所述连接请求的响应,更新所述第二类终端的连接状态时,还包括:
[0016]接收所述多进程中的进程产生的进程结束消息;
[0017]根据所述进程结束消息,判断所述多进程中有未完成的新进程时,产生一控制指令来控制继续执行新进程。
[0018]进一步的,根据第二类终端针对所述连接请求的响应,更新所述第二类终端的连接状态的步骤包括:
[0019]根据第二类终端是否返回针对所述连接请求的响应消息,未接收到返回的响应消息或者在预设时间段内未接收到响应消息,则确定无响应消息或者响应消息超时的第二类终端的连接状态为离线,缓存所有离线的终端设备对应的身份标识号码ID ;
[0020]根据第二类终端是否返回针对所述连接请求的响应消息,接收到在所述预设时间段内的响应消息,则确定响应所述连接请求的第二类终端的连接状态为在线;
[0021]通过线程池发送所述连接请求给全部第二类终端并判断是否返回响应消息后,根据所有离线终端对应的身份标识号码ID,更新缓存中所有离线终端的连接状态为离线;
[0022]获取更新完后的所有离线的终端的表述性状态转移REST消息,结束所述多进程。
[0023]进一步的,以利用所述多进程的各个进程向第二类终端发送连接请求的步骤由所述多进程系统完成包括:
[0024]根据所述第二任务触发指令启动多进程,获取各个进程可处理的所述第二类终端的所述阈值、同一时刻可启动的进程的所述最大进程数及全部所述第二类终端的所述第一总数;
[0025]根据所述阈值、所述最大进程数及所述第一总数,控制所述多进程中的各个进程使用线程池并发向所述第二类终端发送连接请求。
[0026]进一步的,根据所述阈值、最大进程数及第一总数,控制所述多进程中的各个进程使用线程池并发向所述第二类终端发送连接请求的步骤包括:
[0027]根据所述第一总数与所述阈值得到待使用所述进程的第二总数后,判断所述第二总数是否小于所述最大进程数,在所述第二总数小于所述最大进程数时,直接启动所述第二总数个进程;
[0028]在所述第二总数大于或者等于所述最大进程数时,启动所述最大进程数个进程;
[0029]获取到所述最大进程数个进程中的第一进程结束后,发送进程结束消息给所述网管系统,以利用所述网管系统判断有未完成的新进程时,产生一控制指令给所述多进程来控制继续执行进程;
[0030]接收所述网管系统的控制指令,则继续执行剩余进程,直至多进程处理完第一总数个的所有第二类终端。
[0031]为了解决上述技术问题,本发明实施例还提供一种终端状态实时刷新方法,应用于用户数据报协议对网络地址转换的简单穿越STUN服务器,其中,包括:
[0032]接收网管系统对网络地址转换NAT环境下的全部第一类终端进行刷新的第一任务触发指令并执行;
[0033]遍历所述STUN服务器中缓存的NAT环境下的全部第一类终端上报的心跳数据,其中所述心跳数据包括每个第一类终端对应的各自设备标识及上报时间;
[0034]获取当前时刻的第一类终端的每个终端的时间信息;
[0035]根据遍历到的每个终端的上报时间与当前所述时间信息,确定第一类终端的每个终端的连接状态;
[0036]根据确定到的所述第一类终端的每个终端的连接状态,更新所述STUN服务器中全部的第一类终端的连接状态。
[0037]进一步的,在遍历所述STUN服务器中缓存的网络地址转换NAT环境下的全部第一类终端上报的心跳数据之前,还包括:
[0038]获取到网络地址转换NAT环境下的全部第一类终端上报的心跳数据;
[0039]更改全部所述第一类终端的连接状态为离线。
[0040]进一步的,根据遍历到的每个终端的上报时间与当前所述时间信息,确定第一类终端的每个终端的连接状态的步骤包括:
[0041]根据遍历到的每个所述终端的上报时间与当前所述时间信息的时间差,判断每个终端的所述时间差是否大于预设心跳上报周期;
[0042]在全部所述第一类终端中的多个第一终端的所述时间差大于所述预设心跳上报周期时,确定多个所述第一终端的连接状态为离线,并根据所述第一终端的设备标识删除缓存所述第一终端的过期心跳数据;
[0043]在全部所述第一类终端中的多个第二终端的所述时间差小于或者等于所述预设心跳上报周期时,确定多个所述第二终端的连接状态为在线,根据所述第二终端的设备标识缓存所述第二终端的在线信息。
[0044]进一步的,根据确定到的所述第一类终端的每个终端的连接状态,更新所述STUN服务器中全部的第一类终端的连接状态的步骤包括:
[0045]更新所述STUN服务器中全部的所述第一类终端的连接状态,并将所述STUN服务器中缓存的所述第二终端的连接状态全部更新为在线。
[0046]进一步的,根据确定到的所述第一类终端的每个终端的连接状态,更新所述STUN服务器中全部的第一类终端的连接状态的步骤包括:
[0047]根据确定到的所述第一类终端的每个终端的连接状态,更新所述STUN服务器中全部的第一类终端的连接状态至所述网管系统的数据库中。
[0048]相应的,为了解决上述技术问题,本发明实施例还提供一种终端状态实时刷新装置,应用于网管系统,包括:
[0049]第一获取模块,用于获取网络地址转换NAT环境下的第一类终端的信息和处于非NAT环境下的第二类终端的信息,其中所述信息包括终端的连接状态;
[0050]第一任务触发模块,用于发送对NAT环境下的第一类终端进行状态刷新的第一任务触发指令给用户数据报协议对NAT的简单穿越STUN服务器;
[0051]第一接收模块,用于接收所述STUN服务器返回的所述第一类终端的连接状态,所述第一类终端的连接状态是STUN服务器根据所述第一类终端主动上报的心跳数据更新得到的;
[0052]第二任务触发模块,用于发送对非NAT环境下的第二类终端进行状态刷新,且携带有启动多进程的参数的第二任务触发指令来启动多进程,以利用所述多进程的各个进程向第二类终端发送连接请求;
[0053]第一更新模块,用于根据第二类终端针对所述连接请求的响应,更新所述第二类终端的连接状态。
[0054]进一步的,所述多进程的参数包括:各个进程可处理的第二类终端的阈值,同一时刻可运行的最大进程数、全部所述第二类终端的第一总数及当前开启的进程数。
[0055]其中所述的终端状态实时刷新装置还包括:
[0056]第二接收模块,用于根据第二类终端是否返回针对所述连接请求的响应消息,更新所述第二类终端的连接状态时,接收所述多进程中的进程产生的进程结束消息;
[0057]第一处理模块,用于根据所述进程结束消息,判断所述多进程中有未完成的新进程时,产生一控制指令来控制继续执行新进程。
[0058]进一步的,所述第一更新模块包括:
[0059]处理子模块,用于根据第二类终端是否返回针对所述连接请求的响应消息,未接收到返回的响应消息或者在预设时间段内未接收到响应消息,则确定无响应消息或者响应消息超时的第二类终端的连接状态为离线,缓存所有离线的终端设备对应的身份标识号码ID ;
[0060]确认子模块,用于根据第二类终端是否返回针对所述连接请求的响应消息,接收到在所述预设时间段内的响应消息,则确定响应所述连接请求的第二类终端的连接状态为在线;
[0061]第一更新子模块,用于通过线程池发送所述连接请求给全部第二类终端并判断是否返回响应消息后,根据所有离线终端对应的身份标识号码ID,更新缓存中所有离线的终端的连接状态为离线;
[0062]第一获取子模块,用于获取更新完后的所有离线的终端的表述性状态转移REST消息,结束所述多进程。
[0063]相应的,为了解决上述技术问题,本发明还提供一种终端状态实时刷新装置,应用于用户数据报协议对网络地址转换的简单穿越STUN服务器,包括:
[0064]第三接收模块,用于接收网管系统对网络地址转换NAT环境下的全部第一类终端进行刷新的第一任务触发指令并执行;
[0065]第二处理模块,用于遍历所述STUN服务器中缓存的网络地址转换NAT环境下的全部第一类终端上报
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1