一种通信方法及装置与流程

文档序号:14635005发布日期:2018-06-08 19:36阅读:208来源:国知局
一种通信方法及装置与流程

本申请涉及通信技术领域,特别是涉及一种通信方法及装置。



背景技术:

随着通信技术的发展,网络设备的种类越来越多。为了对网络设备进行统一的监控和管理,管理员可以在网络中设置管理服务器,网络设备与管理服务器通常使用WebSocket连接进行通信。

网络设备可以通过WebSocket连接将设备状态信息上报给管理服务器,同时,管理服务器也可以将配置信息下发给网络设备。其中,设备状态信息可以包括CPU利用率、内存利用率、温度等信息。由于管理服务器的WebSocket模块故障等问题,网络设备与管理服务器之间的WebSocket连接可能会断开,此时,网络设备会尝试重新与管理服务器建立WebSocket连接,当网络设备重新与管理服务器建立WebSocket连接(即WebSocket连接恢复),网络设备才可以继续通过WebSocket连接向管理服务器上报设备状态信息。

基于现有技术,如果WebSocket连接断开,则网络设备只能在WebSocket连接恢复后才能向管理服务器上报设备状态信息,导致上报设备状态信息的及时性较差。



技术实现要素:

本申请实施例的目的在于提供一种通信方法及装置,以实现当网络设备与管理服务器之间的WebSocket连接断开时,保证网络设备可以实时向管理服务器上报设备状态信息。具体技术方案如下:

第一方面,提供了一种通信方法,所述方法应用于网络设备,所述方法包括:

当检测到与所述管理服务器之间的WebSocket连接断开时,向所述管理服务器发送超文本传输协议连接请求,所述超文本传输协议连接请求中携带有所述网络设备的设备标识;

如果接收到所述管理服务器发送的超文本传输协议连接成功响应消息,则通过超文本传输协议连接向所述管理服务器发送设备状态信息;

当检测到与所述管理服务器之间的WebSocket连接恢复时,通过所述WebSocket连接向所述管理服务器发送设备状态信息。

第二方面,提供了一种通信方法,所述方法应用于管理服务器,所述方法包括:

接收所述网络设备发送的超文本传输协议连接请求,所述超文本传输协议连接请求中携带有所述网络设备的设备标识;

查询所述设备标识对应的WebSocket连接的状态信息;

如果所述状态信息为断开状态,则向所述网络设备发送超文本传输协议连接成功响应消息;

接收并存储所述网络设备通过所述超文本传输协议连接发送的设备状态信息;

当检测到与所述网络设备之间的WebSocket连接恢复时,接收并存储所述网络设备通过所述WebSocket连接发送的设备状态信息。

第三方面,提供了一种通信装置,所述装置应用于网络设备,所述装置包括:

第一发送模块,用于当检测到与所述管理服务器之间的WebSocket连接断开时,向所述管理服务器发送超文本传输协议连接请求,所述超文本传输协议连接请求中携带有所述网络设备的设备标识;

第二发送模块,用于如果接收到所述管理服务器发送的超文本传输协议连接成功响应消息,则通过超文本传输协议连接向所述管理服务器发送设备状态信息;

第三发送模块,用于当检测到与所述管理服务器之间的WebSocket连接恢复时,通过所述WebSocket连接向所述管理服务器发送设备状态信息。

第四方面,提供了一种通信装置,所述装置应用于管理服务器,所述装置包括:

第一接收模块,用于接收所述网络设备发送的超文本传输协议连接请求,所述超文本传输协议连接请求中携带有所述网络设备的设备标识;

查询模块,用于查询所述设备标识对应的WebSocket连接的状态信息;

发送模块,用于如果所述状态信息为断开状态,则向所述网络设备发送超文本传输协议连接成功响应消息;

存储模块,用于接收并存储所述网络设备通过所述超文本传输协议连接发送的设备状态信息;

第二接收模块,用于当检测到与所述网络设备之间的所述WebSocket连接恢复时,接收并存储所述网络设备通过所述WebSocket连接发送的设备状态信息。

第五方面,提供了一种网络设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现第一方面任一所述的方法步骤。

第六方面,提供了一种管理服务器,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现第二方面任一所述的方法步骤。

本申请实施例中,当检测到与管理服务器之间的WebSocket连接断开时,向管理服务器发送超文本传输协议连接请求,如果接收到管理服务器发送的超文本传输协议连接成功响应消息,则通过超文本传输协议连接向管理服务器发送设备状态信息,当检测到与管理服务器之间的WebSocket连接恢复时,通过WebSocket连接向管理服务器发送设备状态信息。这样,当网络设备与管理服务器之间的WebSocket连接断开时,网络设备可以通过超文本传输协议连接向管理服务器发送设备状态信息,以提高了网络设备上报设备状态信息的及时性。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的系统框架图;

图2为本申请实施例提供的通信方法的流程图;

图3为本申请实施例提供的通信方法的流程图;

图4为本申请实施例提供的通信方法的流程图;

图5为本申请实施例提供的通信装置的结构示意图;

图6为本申请实施例提供的通信装置的结构示意图;

图7为本申请实施例提供的通信装置的结构示意图;

图8为本申请实施例提供的网络设备的结构示意图;

图9为本申请实施例提供的管理服务器的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例公开了一种通信方法,该方法可以由网络设备和云端的管理服务器共同实现。图1为本申请实施例提供的系统框架图,包括一个管理服务器和多个网络设备。其中,网络设备可以是服务器、交换机、传感器等设备,网络设备可以与用户设备(比如用户的服务器或智能终端)连接,接收用户设备发送的设备状态信息,并将接收到的设备状态信息发送给管理服务器。或者,网络设备也可以是具有接入云端的管理服务器功能的智能终端。管理服务器可以是服务器或者运行在服务器中的虚拟机。网络设备可以与管理服务器建立WebSocket连接,本申请的实施例中,WebSocket连接是指WebSocket长连接。网络设备与管理服务器建立WebSocket连接后,可以通过WebSocket将设备状态信息上报给管理服务器,以使管理服务器对设备状态信息进行存储;同时,管理服务器也可以通过WebSocket将配置信息下发给网络设备。当网络设备与管理服务器之间的WebSocket连接断开后,网络设备会尝试重新与管理服务器建立WebSocket连接,当网络设备重新与管理服务器建立WebSocket连接恢复时,网络设备通过WebSocket连接继续向管理服务器上报设备状态信息。

本申请实施例中,网络设备在与管理服务器之间的WebSocket连接断开后,可以通过超文本传输协议连接继续向管理服务器上报该网络设备的设备状态信息,从而可以解决由于WebSocket连接中断导致网络设备无法及时上报设备状态信息的问题。其中,超文本传输协议可以是HTTP(HyperText Transfer Protoco,超文本传输协议),也可以是HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,安全套接字层上的超文本传输协议)。本实施例以使用HTTPS为例进行说明,使用HTTP的情况与之类似。

如图2所示,该方法的处理过程可以包括以下步骤:

步骤201,当网络设备检测到与管理服务器之间的WebSocket连接断开时,向管理服务器发送超文本传输协议连接请求。

其中,超文本传输协议连接请求中携带有网络设备的设备标识。

在实施中,网络设备与管理服务器之间建立WebSocket连接后,网络设备和管理服务器可以周期性相互发送保活报文(即keep-alive报文),来维持网络设备和管理服务器之间的WebSocket连接。如果网络设备在预设时长内未接收到管理服务器发送的keep-alive报文,或者,网络设备中用于进行WebSocket连接的物理端口故障,或者,网络设备检测到WebSocket连接模块发生故障,网络设备则可以判定其与管理服务器之间的WebSocket连接断开。

当网络设备需要向管理服务器上报设备状态信息时,网络设备可以向管理服务器的Https接口发送Https连接请求。其中,设备状态信息可以用于反映设备运行状态的信息,比如CPU利用率、内存利用率、温度等,Https连接请求中携带有该网络设备的设备标识,网络设备的设备标识可以是该网络设备的序列号。

步骤202,管理服务器接收网络设备发送的超文本传输协议连接请求。

在实施中,管理服务器除可以与网络设备建立WebSocket连接之外,还可以向网络设备提供Https接口,该Https接口可以用于建立Https连接。管理服务器可以通过Https接口接收网络设备发送的Https连接请求,然后可以对该Https连接请求进行解析,获取该Https连接请求中的设备标识。

步骤203,管理服务器查询该设备标识对应的WebSocket连接的状态信息。

在实施中,对于管理服务器中的每个WebSocket连接,管理服务器可以记录该WebSocket连接的状态信息,状态信息可以为断开状态或连接状态。例如,管理服务器中可以存储网络设备的设备标识和WebSocket连接的状态信息的对应关系。当管理服务器与该网络设备建立WebSocket连接后,管理服务器可以在该对应关系中,添加该网络设备的设备标识,并将该设备标识对应的状态信息设置为连接状态。当管理服务器检测到与该网络设备之间的WebSocket连接断开时,可以将该网络设备的设备标识对应的状态信息设置为断开状态。具体的检测方式与网络设备类似,此处不再赘述。当管理服务器接收网络设备发送的Https连接请求后,可以在该对应关系中,查询该网络设备的设备标识对应的WebSocket连接的状态信息。

步骤204,如果状态信息为断开状态,管理服务器则向网络设备发送超文本传输协议连接成功响应消息。

在实施中,管理服务器查询到该网络设备的设备标识对应的状态信息后,判断该状态信息是否为断开状态,如果是,则说明该网络设备对应的WebSocket连接已经断开,需要与网络设备建立Https连接。管理服务器可以对该网络设备进行Https连接处理,然后向该网络设备发送Https连接成功响应消息,从而建立与该网络设备的Https连接。

如果管理服务器查询到的状态信息为连接状态,则说明该网络设备对应的WebSocket连接正常,无需建立Https连接,应当通过WebSocket连接接收网络设备上报的设备状态信息。管理服务器可以向该网络设备发送Https连接失败响应消息。

需要说明的是,管理服务器向该网络设备发送Https连接成功响应消息之前,可以对该网络设备进行鉴权(即身份认证)处理。首先,管理服务器接收到网络设备发送的Https连接请求后,向网络设备发送认证请求,然后接收网络设备返回的认证响应消息,该认证响应消息中携带有网络设备的身份认证信息(比如用户名或密码等),管理服务器接收到该认证响应消息后,判断接收到的身份认证信息是否与预先存储的该网络设备的身份认证信息相同,如果相同,则认证成功,管理服务器判定该网络设备为合法设备,向该网络设备发送Https连接成功响应消息,以建立与网络设备的Https连接。如果不相同,则认证失败,管理服务器判定该网络设备为非法设备,向该网络设备发送Https连接失败响应消息。

可选的,为了进一步提高网络设备与管理服务器之间的安全性,管理服务器可以在网络设备鉴权成功后,生成网络设备对应的身份验证码,以对网络设备发送的设备状态信息进行安全验证,具体步骤如下:

步骤一,管理服务器根据预先设置的身份验证码生成算法,生成该网络设备对应的身份验证码。

在实施中,管理服务器中可以预先存储有身份验证码生成算法(比如token生成算法),当网络设备鉴权成功后,管理服务器可以生成该网络设备对应的身份验证码,同时,管理服务器可以根据预先设置的存储路径对该网络设备的设备标识与身份验证码的对应关系进行存储,以便后续对该网络设备进行身份验证。需要说明的是,当管理服务器检测到与网络设备之间的WebSocket连接恢复时,管理服务器还可以将该网络设备的设备标识与身份验证码的对应关系进行删除。

步骤二,管理服务器向网络设备发送携带有身份验证码的超文本传输协议连接成功响应消息。

在实施中,管理服务器生成网络设备对应的身份验证码后,可以将该身份验证码携带在Https连接成功响应消息中发送给网络设备。

步骤205,如果接收到管理服务器发送的超文本传输协议连接成功响应消息,网络设备则通过超文本传输协议连接向管理服务器发送设备状态信息。

在实施中,如果网络设备接收到管理服务器发送的Https连接成功响应消息,则判定与该管理服务器之间的Https连接建立成功,然后可以通过该Https连接向管理服务器发送设备状态信息。如果未接收到管理服务器发送的Https连接成功响应消息,则判定与该管理服务器之间的Https连接建立失败,然后检测与管理服务器之间的WebSocket连接是否断开,如果是,则网络设备可以继续向管理服务器的Https接口发送Https连接请求。否则,可以通过WebSocket连接向管理服务器发送设备状态信息。

可选的,当超文本传输协议连接成功响应消息中携带有管理服务器为网络设备分配的身份验证码时,网络设备可以通过超文本传输协议连接向管理服务器发送设备状态信息和身份验证码,以使管理服务器根据身份验证码对网络设备进行身份验证。

在实施中,网络设备接收到管理服务器发送的Https连接成功响应消息后,可以对该Https连接成功响应消息进行解析,如果Https连接成功响应消息中携带有身份验证码,则网络设备通过Https连接向管理服务器发送设备状态信息时,还需要将该身份验证码一同发送给管理服务器,以使管理服务器根据身份验证码对网络设备进行身份验证。

步骤206,管理服务器接收并存储网络设备通过超文本传输协议连接发送的设备状态信息。

在实施中,管理服务器接收到网络设备通过Https连接发送的设备状态信息后,可以将该设备状态信息发送给数据处理模块,数据处理模块可以根据预先设置数据类型和数据格式对该设备状态信息进行数据处理,并根据预先设置的存储路径对该设备状态信息进行存储。

可选的,对于管理服务器为网络设备生成身份验证码的情况,相应的,管理服务器可以接收网络设备通过超文本传输协议连接发送的设备状态信息和身份验证码,管理服务器可以判断接收到的身份验证码与已存储的网络设备对应的身份验证码是否相同,如果是,则存储该设备状态信息,否则,通过超文本传输协议连接向网络设备发送验证失败响应消息。

在实施中,管理服务器接收到网络设备通过Https连接发送的设备状态信息和身份验证码后,可以查询已存储的该网络设备对应的身份验证码,并将查询到的身份验证码与接收到的身份验证码进行比对,如果相同,则判定该网络设备为合法设备,并根据预先设置的存储路径对该设备状态信息进行存储。如果不相同,则判定该网络设备为非法设备,并通过Https连接向网络设备发送验证失败响应消息。

步骤207,当网络设备检测到与管理服务器之间的WebSocket连接恢复时,通过WebSocket连接向管理服务器发送设备状态信息。

在实施中,当网络设备检测到与管理服务器之间的WebSocket连接断开后,网络设备可以周期性的向网络设备发送WebSocket连接请求,以重新建立WebSocket连接(即恢复WebSocket连接)。WebSocket连接恢复后,网络设备可以通过WebSocket连接向管理服务器发送设备状态信息。

步骤208,当管理服务器检测到与网络设备之间的WebSocket连接恢复时,接收并存储网络设备通过WebSocket连接发送的设备状态信息。

在实施中,当管理服务器检测到与网络设备之间的WebSocket连接恢复时,如果接收到网络设备通过WebSocket连接发送的设备状态信息,则可以将该设备状态信息发送给数据处理模块,数据处理模块可以根据预先设置数据类型和数据格式对该设备状态信息进行数据处理,并根据预先设置的存储路径对该设备状态信息进行存储。

可选的,在WebSocket连接恢复后,管理服务器可以向网络设备发送状态码,以防止网络设备重复上报设备状态信息。具体步骤可以如下:

步骤一,当管理服务器检测到与网络设备之间的WebSocket连接恢复时,判断连接切换时长是否小于预设的时长阈值。

其中,连接切换时长是WebSocket连接断开到接收到Https连接请求的时间间隔。

在实施中,当管理服务器检测到与网络设备之间的WebSocket连接断开时,可以开始计时,当管理服务器接收到网络设备发送的Https连接请求时,停止计时,得到该WebSocket连接对应的连接切换时长。管理服务器中预先存储有时长阈值,该时长阈值可以由技术人员根据经验进行设置。当管理服务器检测到与网络设备之间的WebSocket连接恢复时,获取该WebSocket连接对应的连接切换时长。管理服务器判断该连接切换时长是否小于预设的时长阈值,如果是,则判定该网络设备未发生重启,执行步骤二;否则,判定该网络设备发生重启,当管理服务器接收到网络设备发送的Https连接请求时,会向该网络设备返回超时的连接失败状态码,网络设备收到该连接失败状态码之后,不再继续发送https请求。这样,可以避免网络设备持续发送无效的Https连接请求,节约传输资源。后续如果WebSocket连接恢复,则管理服务器会忽略之前云端记录的设备状态信息,让网络设备重新按照现有的处理流程上报设备状态信息。例如。时长阈值为3分钟,如果在WebSocket连接断开之后,3分钟之内都没有收到设备发送的https请求,那么如果在3分01秒收到的https连接请求,则需要返回连接失败状态码,设备收到该连接失败状态码之后,不再继续发送https连接请求,4分30秒时,WebSocket连接恢复,则管理服务器不再根据已经保存的设备状态信息要求网络设备“续传”,而是按照设备重新上线流程要求网络设备重新发送所有数据,或者,向该网络设备下发初始化配置命令,以使网络设备的状态初始化。

步骤二,管理服务器在已存储的设备状态信息中,获取网络设备上一次上报的设备状态信息。

在实施中,管理服务器可以在已存储的该网络设备的设备状态信息中,获取上报时间与当前时间最接近的设备状态信息(即上一次上报的设备状态信息)。

步骤三,管理服务器根据获取到的设备状态信息生成状态码,并通过WebSocket连接将状态码发送给网络设备。

在实施中,管理服务器在存储网络设备发送的设备状态信息时,还可以存储该设备状态信息对应的上报时间和上报类型,其中,上报时间可以是管理管理服务器接收到设备状态信息的时间,或者,设备状态信息中可以包含时间戳,管理服务器可以将该时间戳作为上报时间;另外,管理服务器还可以识别该设备状态信息对应的上报类型,比如CPU利用率、内存利用率或温度等。管理服务器可以将设备状态信息、该设备状态信息的上报时间和上报类型进行对应的存储。

管理服务器可以根据设备状态信息对应的上报时间和/或上报类型,生成状态码,并通过WebSocket连接将状态码发送给网络设备。例如,管理服务器可以获取已存储的该网络设备的设备状态信息,然后确定该网络设备上一次上报的设备状态信息的上报类型,将该上报类型的标识作为状态码。

步骤四,网络设备接收管理服务器发送的状态码,其中,状态码用于表示网络设备上一次上报的设备状态信息。

步骤五,网络设备根据状态码,确定待发送的设备状态信息,并通过WebSocket连接,向管理服务器发送待发送的设备状态信息。

在实施中,网络设备接收到管理服务器发送的状态码后,可以根据状态码,确定待发送的设备状态信息,并通过WebSocket连接,向管理服务器发送待发送的设备状态信息。例如,网络设备在与管理服务器之间的WebSocket连接恢复后,需要依次向管理服务器发送CPU利用率、内存利用率、硬件温度和系统版本信息,网络设备接收到管理服务器通过WebSocket连接发的状态码,该状态码为内存利用率,则网络设备判定CPU利用率、内存利用率已经发送给管理服务器,后续网络设备可以从硬件温度开始继续向管理服务器发送设备状态信息。

步骤六,管理服务器通过WebSocket连接接收网络设备发送的设备状态信息。

在实施中,管理服务器接收到网络设备通过WebSocket连接发送的设备状态信息后,可以将该设备状态信息发送给数据处理模块,数据处理模块可以根据预先设置数据类型和数据格式对该设备状态信息进行数据处理,并根据预先设置的存储路径对该设备状态信息进行存储。

本申请实施例还提供了一种通信方法的示例,该示例为网络设备通过Https连接向管理服务器发送设备状态信息的处理过程,如图3所示,该处理过程具体可以包括以下步骤:

步骤301,当网络设备检测到与管理服务器之间的WebSocket连接断开时,网络设备向管理服务器发送Https连接请求。

步骤302,管理服务器接收网络设备发送的Https连接请求。

其中,Https连接请求中携带有网络设备的设备标识。

步骤303,管理服务器查询该设备标识对应的WebSocket连接的状态信息。

步骤304,管理服务器判断状态信息是否为断开状态,如果是,则执行步骤305~310;否则,执行步骤313。

步骤305,管理服务器根据预先设置的身份验证码生成算法,生成网络设备对应的身份验证码。

步骤306,管理服务器向网络设备发送携带有身份验证码的Https连接成功响应消息。

步骤307,网络设备接收管理服务器发送的Https连接成功响应消息。

其中,Https连接成功响应消息中携带有管理服务器为网络设备分配的身份验证码。

步骤308,网络设备通过该Https连接向管理服务器发送设备状态信息和身份验证码。

步骤309,管理服务器接收网络设备通过Https连接发送的设备状态信息和身份验证码。

步骤310,管理服务器判断接收到的身份验证码与已存储的网络设备对应的身份验证码是否相同。如果是,则执行步骤311,否则,执行步骤312.。

步骤311,管理服务器存储接收到的设备状态信息。

步骤312,管理服务器通过Https连接向网络设备发送验证失败响应消息。

步骤313,管理服务器向网络设备发送Https连接失败响应消息。

本申请实施例中,当检测到与管理服务器之间的WebSocket连接断开时,向管理服务器发送超文本传输协议连接请求,如果接收到管理服务器发送的超文本传输协议连接成功响应消息,则通过超文本传输协议连接向管理服务器发送设备状态信息,当检测到与管理服务器之间的WebSocket连接恢复时,通过WebSocket连接向管理服务器发送设备状态信息。这样,当网络设备与管理服务器之间的WebSocket连接断开时,网络设备可以通过超文本传输协议连接向管理服务器发送设备状态信息,以提高了网络设备上报设备状态信息的及时性。

本申请实施例还提供了一种通信方法的示例,该示例为WebSocket连接恢复时,网络设备通过WebSocket连接继续发送设备状态信息的处理过程,如图4所示,该处理过程具体可以包括以下步骤:

步骤401,当管理服务器检测到与网络设备之间的WebSocket连接恢复时,判断连接切换时长是否小于预设的时长阈值,如果是,则执行步骤402,否则执行步骤407。

步骤402,管理服务器在已存储的设备状态信息中,获取网络设备上一次上报的设备状态信息。

步骤403,管理服务器根据获取到的设备状态信息生成状态码,并通过WebSocket连接将状态码发送给网络设备。

步骤404,网络设备接收到管理服务器发送的状态码。

步骤405,网络设备根据状态码,确定待发送的设备状态信息。

步骤406,网络设备通过WebSocket连接,向管理服务器发送待发送的设备状态信息。

步骤407,管理服务器接收并存储网络设备通过WebSocket连接发送的设备状态信息。

基于相同的技术构思,本申请实施例还提供了一种通信装置,该装置可以应用于网络设备,如图5所示,装置包括:

第一发送模块510,用于当检测到与管理服务器之间的WebSocket连接断开时,向管理服务器发送超文本传输协议连接请求,超文本传输协议连接请求中携带有网络设备的设备标识;

第二发送模块520,用于如果接收到管理服务器发送的超文本传输协议连接成功响应消息,则通过超文本传输协议连接向管理服务器发送设备状态信息;

第三发送模块530,用于当检测到与管理服务器之间的WebSocket连接恢复时,通过WebSocket连接向管理服务器发送设备状态信息。

可选的,超文本传输协议连接成功响应消息中携带有管理服务器为网络设备分配的身份验证码,第二发送模块520,具体用于:

通过超文本传输协议连接向管理服务器发送设备状态信息和身份验证码,以使管理服务器根据身份验证码对网络设备进行身份验证。

可选的,如图6所示,装置还包括:

接收模块540,用于接收管理服务器发送的状态码,状态码用于表示网络设备上一次上报的设备状态信息;

确定模块550,用于根据状态码,确定待发送的设备状态信息;

第三发送模块530,具体用于:

通过WebSocket连接,向管理服务器发送待发送的设备状态信息。

基于相同的技术构思,本申请实施例还提供了一种通信装置,该装置应用于管理服务器,如图7所示,装置包括:

第一接收模块710,用于接收网络设备发送的超文本传输协议连接请求,超文本传输协议连接请求中携带有网络设备的设备标识;

查询模块720,用于查询设备标识对应的WebSocket连接的状态信息;

发送模块730,用于如果状态信息为断开状态,则向网络设备发送超文本传输协议连接成功响应消息;

存储模块740,用于接收并存储网络设备通过超文本传输协议连接发送的设备状态信息;

第二接收模块750,用于当检测到与网络设备之间的WebSocket连接恢复时,接收并存储网络设备通过WebSocket连接发送的设备状态信息。

可选的,第二接收模块750,具体用于:

当检测到与网络设备之间的WebSocket连接恢复时,判断连接切换时长是否小于预设的时长阈值,连接切换时长是WebSocket连接断开到接收到超文本传输协议连接请求的时间间隔;

如果是,则在已存储的设备状态信息中,获取网络设备上一次上报的设备状态信息;

根据获取到的设备状态信息生成状态码,并通过WebSocket连接将状态码发送给网络设备,以使所述网络设备根据所述状态码,确定待发送的设备状态信息;

通过所述WebSocket连接接收所述网络设备发送的设备状态信息。

可选的,发送模块730,具体用于:

根据预先设置的身份验证码生成算法,生成网络设备对应的身份验证码;

向网络设备发送携带有身份验证码的超文本传输协议连接成功响应消息;

存储模块740,具体用于:

接收网络设备通过超文本传输协议连接发送的设备状态信息和身份验证码;

如果接收到的身份验证码与已存储的网络设备对应的身份验证码相同,则存储设备状态信息,否则,通过超文本传输协议连接向网络设备发送验证失败响应消息。

本申请实施例中,当检测到与管理服务器之间的WebSocket连接断开时,向管理服务器发送超文本传输协议连接请求,如果接收到管理服务器发送的超文本传输协议连接成功响应消息,则通过超文本传输协议连接向管理服务器发送设备状态信息,当检测到与管理服务器之间的WebSocket连接恢复时,通过WebSocket连接向管理服务器发送设备状态信息。这样,当网络设备与管理服务器之间的WebSocket连接断开时,网络设备可以通过超文本传输协议连接向管理服务器发送设备状态信息,以提高了网络设备上报设备状态信息的及时性。

本申请实施例还提供了一种网络设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,

存储器803,用于存放计算机程序;

处理器801,用于执行存储器803上所存放的程序时,以使该网络设备执行如下步骤,该步骤包括:

当检测到与所述管理服务器之间的WebSocket连接断开时,向所述管理服务器发送超文本传输协议连接请求,所述超文本传输协议连接请求中携带有所述网络设备的设备标识;

如果接收到所述管理服务器发送的超文本传输协议连接成功响应消息,则通过超文本传输协议连接向所述管理服务器发送设备状态信息;

当检测到与所述管理服务器之间的WebSocket连接恢复时,通过所述WebSocket连接向所述管理服务器发送设备状态信息。

可选的,所述超文本传输协议连接成功响应消息中携带有所述管理服务器为所述网络设备生成的身份验证码,所述通过超文本传输协议连接向所述管理服务器发送设备状态信息,包括:

通过超文本传输协议连接向所述管理服务器发送设备状态信息和所述身份验证码,以使所述管理服务器根据所述身份验证码对所述网络设备进行身份验证。

可选的,所述方法还包括:

接收所述管理服务器发送的状态码,所述状态码用于表示所述网络设备上一次上报的设备状态信息;

根据所述状态码,确定待发送的设备状态信息;

所述通过所述WebSocket连接向所述管理服务器发送设备状态信息,包括:

通过所述WebSocket连接,向所述管理服务器发送所述待发送的设备状态信息。

机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。

上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本申请实施例还提供了一种管理服务器,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,

存储器903,用于存放计算机程序;

处理器901,用于执行存储器903上所存放的程序时,以使该管理服务器执行如下步骤,该步骤包括:

接收所述网络设备发送的超文本传输协议连接请求,所述超文本传输协议连接请求中携带有所述网络设备的设备标识;

查询所述设备标识对应的WebSocket连接的状态信息;

如果所述状态信息为断开状态,则向所述网络设备发送超文本传输协议连接成功响应消息;

接收并存储所述网络设备通过所述超文本传输协议连接发送的设备状态信息;

当检测到与所述网络设备之间的WebSocket连接恢复时,接收并存储所述网络设备通过所述WebSocket连接发送的设备状态信息。

可选的,所述当检测到与所述网络设备之间的所述WebSocket连接恢复时,通过所述WebSocket连接接收所述网络设备发送的设备状态信息,包括:

当检测到与所述网络设备之间的WebSocket连接恢复时,判断连接切换时长是否小于预设的时长阈值,所述连接切换时长是所述WebSocket连接断开到接收到所述超文本传输协议连接请求的时间间隔;

如果是,则在已存储的设备状态信息中,获取所述网络设备上一次上报的设备状态信息;

根据获取到的设备状态信息生成状态码,并通过所述WebSocket连接将所述状态码发送给所述网络设备,以使所述网络设备根据所述状态码,确定待发送的设备状态信息;

通过所述WebSocket连接接收所述网络设备发送的设备状态信息。

可选的,所述向所述网络设备发送超文本传输协议连接成功响应消息,包括:

根据预先设置的身份验证码生成算法,生成所述网络设备对应的身份验证码;

向所述网络设备发送携带有所述身份验证码的超文本传输协议连接成功响应消息;

所述接收并存储所述网络设备通过所述超文本传输协议连接发送的设备状态信息,包括:

接收所述网络设备通过所述超文本传输协议连接发送的设备状态信息和身份验证码;

如果接收到的身份验证码与已存储的所述网络设备对应的身份验证码相同,则存储所述设备状态信息,否则,通过所述超文本传输协议连接向所述网络设备发送验证失败响应消息。

机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。

上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本申请实施例中,当检测到与管理服务器之间的WebSocket连接断开时,向管理服务器发送超文本传输协议连接请求,如果接收到管理服务器发送的超文本传输协议连接成功响应消息,则通过超文本传输协议连接向管理服务器发送设备状态信息,当检测到与管理服务器之间的WebSocket连接恢复时,通过WebSocket连接向管理服务器发送设备状态信息。这样,当网络设备与管理服务器之间的WebSocket连接断开时,网络设备可以通过超文本传输协议连接向管理服务器发送设备状态信息,以提高了网络设备上报设备状态信息的及时性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1