一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

节点在线离线状态上报方法及系统,上报端服务器与流程

2022-07-19 20:43:52 来源:中国专利 TAG:


1.本发明属于系统状态同步领域,具体涉及一种节点在线离线状态上报方法。


背景技术:

2.在物联网系统中,涉及到海量的节点,包括:设备节点,用户节点,它们的在线状态,离线状态,取值比较随机和海量,但是系统应用(比如:设备监控页面,等等)又需要随时及时得知全部节点的在线状态,离线状态。
3.现有的方法是,某个节点的在线状态或离线状态发生迁移时,单点上报,由于海量的节点,及它们随机的在线,离线状态变迁,这样的缺陷是单次上报的消息数量巨大,每条消息的开销也较大(每个消息都会有网络协议头部),导致网络带宽开销大。不仅如此,应用端对每个独立节点的在线状态/离线状态的处理,也是来一次处理一次,处理效率也较低,特别是海量节点的状态变化频繁时。


技术实现要素:

4.本发明的目的,就是解决现有技术中的节点频发上报状态导致网络带宽开销大的问题,提出了一种新型的节点在线离线状态上报方法,上报端服务器,以及节点在线离线状态上报系统。
5.本发明的技术方案一:一种节点在线离线状态上报方法,该方法应用于上报端服务器,该方法包括:接收多个节点发送的在线状态或离线状态信息,生成节点状态位图;计算发送全部节点的在线离线状态信息需要的消息帧数m;将全部节点的在线离线状态信息分成m个帧发送给接收端服务器;其中,每个帧消息中只携带第一个节点的id序号。
6.进一步的,上报端服务器周期性地接收多个节点发送的在线或离线状态信息,并根据接收到的多个节点发送的在线或离线状态信息,生成多个节点的在线离线状态位图信息表。
7.进一步的,上报端服务器根据网络消息最大长度确定每帧消息能携带在线离线状态信息的节点数量ulframesize;根据每帧消息能携带的在线离线状态信息的节点数量ulframesize计算消息帧数ulframenum。
8.进一步的,消息帧数ulframenum=1 ((ultotalnodenum-1)/ ulframesize);
9.其中,ultotalnodenum是全部节点的数量。
10.进一步的,将ulframesize个节点的在线离线状态,按bit位打包,每个节点的在线离线状态只占1比特,为0位表示离线,为1位表示在线。
11.进一步的,每一帧的第一个节点携带该节点的id序号,而其他的节点在当前帧中的bit位置下标是,该节点的id序号-当前帧第1个节点的id序号。
12.本发明的技术方案二:一种上报端服务器,该上报端服务器包括处理器,接收模块,以及发送模块;处理器,分别与接收模块,以及发送模块电连接;接收模块,配置为周期性地接收多个节点发送的在线或离线状态信息,并转发给处理器;处理器,根据接收到的多
个节点发送的在线或离线状态信息,生成多个节点的在线离线状态位图信息;以及计算发送全部节点的在线离线状态信息需要的消息帧数m;并将全部节点的在线离线状态信息分成m个帧通过所述发送模块发送给接收端服务器;其中,每个帧消息中只携带第一个节点的id序号。
13.进一步的,所述处理器,配置为根据网络消息最大长度确定每帧消息能携带在线离线状态信息的节点数量ulframesize;以及根据每帧消息能携带的在线离线状态信息的节点数量ulframesize计算消息帧数ulframenum。
14.进一步的,消息帧数ulframenum=1 ((ultotalnodenum-1)/ ulframesize);
15.其中,ultotalnodenum是全部节点1的数量。
16.进一步的,所述处理器,配置为将ulframesize个节点的在线离线状态,按 bit位打包,每个节点的在线离线状态只占1比特,为0位表示离线,为1位表示在线。
17.进一步的,每一帧的第一个节点1携带该节点1的id序号,而其他的节点在当前帧中的bit位置下标是,该节点的id序号-当前帧第1个节点的id序号。
18.进一步的,所述上报端服务器还包括存储器;所述处理器与所述存储器电连接;所述存储器配置为存储上报端服务器信息。
19.本发明的技术方案三:一种节点在线离线状态上报系统,该系统包括,节点,接收端服务器,以及前述的上报端服务器;所述上报端服务器分别和节点,以及接收端服务器通讯连接。
20.本发明的有益效果为:本发明中的节点在线离线状态上报方法,在节点和接收端服务器之间设置有上报端服务器,在上报端服务器将需要上报的信息进行整合拼接,通过有限的帧数发送给接收端服务器,避免了节点直接传输给接收端服务器时的带宽浪费,节省了网络资源。
附图说明
21.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1为本发明实施例优选的节点状态上报系统示意图;
23.图2为本发明实施例优选的上报端服务器发送上报消息的流程示意图;
24.图3为本发明实施例优选的接收端服务器接收上报消息的流程示意图;
25.图4为本发明实施例优选的上报端服务器结构示意图;
26.图5为本发明实施例优选的接收端服务器结构示意图。
具体实施方式
27.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
28.下面结合附图对本发明作进一步说明。
29.实施例一
30.图1为本发明实施例优选的节点状态上报系统示意图。
31.如图1所示,节点状态上报系统包括多个节点1,上报端服务器2,以及接收端服务器3。其中,多个节点1均与上报端服务器2连接,上报端服务器2与接收端服务器3连接。当多个节点1需要上报在线或离线状态信息时,多个节点 1分别将在线或离线状态信息发送给上报端服务器2,上报端服务器2将大量节点的在线状态或离线状态,打包成一包消息上报给接收端服务器3。上报端服务器2可设置在多个节点1的本地,也可以设置在和节点1之间带宽较大的网络上。
32.图2为本发明实施例优选的上报端服务器发送上报消息的流程示意图。
33.如图2所示,上报端服务器2发送上报消息的流程如下:
34.s11、上报端服务器2接收多个节点1发送的在线状态或离线状态信息,生成节点状态位图;
35.具体的,上报端服务器2周期性地接收多个节点1发送的在线或离线状态信息,并根据接收到的多个节点1发送的在线或离线状态信息,生成多个节点1的在线离线状态位图信息表,具体如下(其中状态信息为0表示离线,状态信息为 1表示在线):
[0036][0037]
表1多个节点在线离线状态信息表
[0038]
s12、计算发送全部节点1的在线离线状态信息,需要的消息帧数;
[0039]
具体的,首先根据网络消息最大长度确定每帧消息能携带在线离线状态信息的节点数量ulframesize;其次,根据每帧消息能携带的在线离线状态信息的节点数量ulframesize计算消息帧数ulframenum;
[0040]
ulframenum=1 ((ultotalnodenum-1)/ulframesize);
[0041]
其中,ultotalnodenum是全部节点1的数量。
[0042]
s13、将全部节点的在线离线状态信息打包发送给接收端服务器3;
[0043]
具体的,将ulframesize个节点的在线离线状态,按bit位打包上传,每个节点的在线离线状态只占1比特,为0位表示离线,为1位表示在线。每一帧的第一个节点1携带该节点1的id序号,而其他的节点在当前帧中的bit位置下标是:该节点的id序号-当前帧第1个节点的id序号,例如当前帧第一节点 id序号是j0521,当前帧的第二个节点在当前帧中的bit位置下标是1,不携带具体的id序号,可很大地节省带宽。直到发送完ulframenum个帧,表示全部在线离线状态信息发送完毕。
[0044]
图3为本发明实施例优选的接收端服务器接收上报消息的流程示意图。
[0045]
如图3所示,接收端服务器3发送上报消息的流程如下:
[0046]
s21、接收端服务器3接收到上报端服务器2发送的在线离线状态信息;
[0047]
s22、接收端服务器3将接收到的ulframenum个帧中的数据进行处理;
[0048]
具体的,接收端服务器3接收到ulframenum个帧后,对节点在线离线状态信息进行
拼接,得到表1中的多个节点在线离线状态位图信息。
[0049]
进一步的,接收端服务器3可以根据业务需要进行批处理,例如:
[0050]
(1)看哪些节点发生了在线离线状态变化:将新获得的位图,与上一次位图,进行异或运算,然后遍历bit值为1的位置,相应的节点为在线状态离线状态发生过变化的节点;
[0051]
(2)看哪些节点发生了离线状态变成了在线状态:按(1)处理完,结果再与新获得的位图再次进行与运算,然后遍历bit值为1的位置,相应的节点为离线状态变成了在线状态的节点。
[0052]
图4为本发明实施例优选的上报端服务器结构示意图。
[0053]
如图4所示,上报端服务器2包括处理器21,接收模块22,存储器24,以及发送模块23。其中,处理器21,分别与接收模块22,存储器24,以及发送模块23电连接。存储器24配置为存储上报端服务器2相关信息。
[0054]
接收模块22,周期性地接收多个节点1发送的在线或离线状态信息,并转发给处理器21。处理器21,根据接收到的多个节点1发送的在线或离线状态信息,生成多个节点1的在线离线状态位图信息表(如表1所示)。
[0055]
处理器21计算发送全部节点1的在线离线状态信息,需要的消息帧数;具体的,首先根据网络消息最大长度确定每帧消息能携带在线离线状态信息的节点数量ulframesize;其次,根据每帧消息能携带的在线离线状态信息的节点数量 ulframesize计算消息帧数ulframenum;
[0056]
ulframenum=1 ((ultotalnodenum-1)/ulframesize);
[0057]
其中,ultotalnodenum是全部节点1的数量。
[0058]
处理器21将全部节点的在线离线状态信息打包并通过发送模块23发送给接收端服务器3;具体的,处理器21将ulframesize个节点的在线离线状态,按bit位打包上传,每个节点的在线离线状态只占1比特,为0位表示离线,为 1位表示在线。每一帧的第一个节点1携带该节点1的id序号,而其他的节点在当前帧中的bit位置下标是:该节点的id序号-当前帧第1个节点的id序号,例如当前帧第一节点id序号是j0521,当前帧的第二个节点在当前帧中的 bit位置下标是1,不携带具体的id序号,可很大地节省带宽。直到发送完 ulframenum个帧,表示全部在线离线状态信息发送完毕。
[0059]
图5为本发明实施例优选的接收端服务器结构示意图。
[0060]
如图5所示,接收端服务器3包括处理器31,接收模块32,存储器33。其中,处理器21,分别与接收模块32,存储器33电连接。存储器33配置为存储接收端服务器3相关信息。
[0061]
接收模块32接收上报端服务器2发送的在线离线状态信息,并转送给处理器31;
[0062]
处理器31将接收到的ulframenum个帧中的数据进行处理;
[0063]
具体的,处理器31接收到ulframenum个帧后,对节点在线离线状态信息进行拼接,得到表1中的多个节点在线离线状态位图信息。
[0064]
进一步的,处理器31可以根据业务需要进行批处理,例如:
[0065]
(1)看哪些节点发生了在线离线状态变化:将新获得的位图,与上一次位图,进行异或运算,然后遍历bit值为1的位置,相应的节点为在线状态离线状态发生过变化的节点;
[0066]
(2)看哪些节点发生了离线状态变成了在线状态:按(1)处理完,结果再与新获得的位图再次进行与运算,然后遍历bit值为1的置,相应的节点为离线状态变成了在线状态
的节点。
[0067]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0068]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献