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

通信设备的离线检测方法、装置和设备与流程

2022-02-20 00:37:52 来源:中国专利 TAG:


1.本技术实施例涉及通信领域,具体涉及一种通信设备的离线检测方法、装置和设备以及一种用于物联网设备的通信方法、装置和设备。


背景技术:

2.物联网(internet of things,iot)设备可以部署于接入网络,并通过接入网络接入核心网,从而与核心网中的其他设备实现通信、数据交换等。接入网络可以为蜂窝网络,还可以为网关,例如,蓝牙、zigbee、wi-fi(wireless fidelity)等技术实现的网关。


技术实现要素:

3.本技术实施例提出了一种通信设备的离线检测方法、装置和设备以及一种用于物联网设备的通信方法、装置和设备。
4.第一方面,本技术实施例提供了一种通信设备的离线检测方法。所述网关通过第一接入服务器接入云端。所述方法包括:接收所述第一接入服务器发送的保活信息;在预设时间段内没有接收到所述保活信息时,确定所述第一接入服务器异常;获得接入所述第一接入服务器的至少一个网关;以及从所述至少一个网关中筛选出离线的网关。
5.在一些实施例中,所述方法还包括:在确定所述第一接入服务器异常时,获得所述第一接入服务器的第一机器名和第一进程号;从所述至少一个网关中筛选出离线的网关,包括:根据所述第一机器名和所述第一进程号从所述至少一个网关中筛选出所述离线的网关。
6.在一些实施例中,根据所述第一机器名和所述第一进程号从所述至少一个网关中筛选出所述离线的网关,包括:对于所述至少一个网关中的每个所述网关,获得每个所述网关所接入的第二机器名和第二进程号;以及在所述第一机器名和所述第二机器名一致且所述第一进程号和所述第二进程号一致时,确定对应的网关为所述离线的网关。
7.在一些实施例中,所述方法还包括:在所述第一机器名和所述第二机器名一致且所述第一进程号和所述第二进程号不一致时,确定所述第一接入服务器进行了重启,并确定对应的网关已经重新连接到所述第一接入服务器的第三进程号,所述第三进程号为所述第一接入服务器进行重启之后的进程号。
8.在一些实施例中,所述方法还包括:在所述第一机器名和所述第二机器名不一致且所述第一进程号和所述第二进程号不一致时,确定对应的网关已经重新连接到第二接入服务器以接入所述云端。
9.在一些实施例中,所述保活信息包括所述第一机器名和所述第一进程号。
10.在一些实施例中,所述方法还包括:上报所述离线的网关的信息。
11.第二方面,本技术实施例提供了另一种通信设备的离线检测方法。所述通信设备包括网关。所述网关通过第一接入服务器接入云端。所述方法包括:在所述第一接入服务器正常时,接收经由所述第一接入服务器上报的离线的网关的信息;以及在所述第一接入服
务器异常时,接收根据上述方法上报的所述离线的网关的信息。
12.第三方面,本技术实施例提供了一种用于物联网设备的通信方法。所述物联网设备接入网关。所述方法包括:发送上行消息给所述网关;以及在接收到所述网关的第一响应消息时或在预设时间段内没有接收到所述网关的第二响应消息时,缓存所述上行消息到所述物联网设备的存储单元,所述第一响应消息包括所述网关的接收错误码,所述第二响应消息包括所述网关的接收成功信息。
13.第四方面,本技术实施例提供了另一种用于物联网设备的通信方法。所述物联网设备接入网关。所述方法由云端执行。所述方法包括:缓存下行消息到存储单元;以及在接收到所述物联网设备经由所述网关发送的同步请求后,将所述下行消息作为所述同步请求的响应发送到所述物联网设备。
14.第五方面,本技术实施例提供了一种通信设备的离线检测装置。所述通信设备包括网关。所述网关通过第一接入服务器接入云端,所述装置包括:第一接收模块,用于接收所述第一接入服务器发送的保活信息;第一确定模块,用于在预设时间段内没有接收到所述保活信息时,确定所述第一接入服务器异常;第一获得模块,用于获得接入所述第一接入服务器的至少一个网关;以及筛选模块,用于从所述至少一个网关中筛选出离线的网关。
15.在一些实施例中,所述第一获得模块还用于在确定所述第一接入服务器异常时,获得所述第一接入服务器的第一机器名和第一进程号;所述筛选模块用于:根据所述第一机器名和所述第一进程号从所述至少一个网关中筛选出所述离线的网关。
16.在一些实施例中,所述筛选模块用于:对于所述至少一个网关中的每个所述网关,获得每个所述网关所接入的第二机器名和第二进程号;以及在所述第一机器名和所述第二机器名一致且所述第一进程号和所述第二进程号一致时,确定对应的网关为所述离线的网关。
17.在一些实施例中,所述装置还包括:第二确定模块,用于:在所述第一机器名和所述第二机器名一致且所述第一进程号和所述第二进程号不一致时,确定所述第一接入服务器进行了重启,并确定对应的网关已经重新连接到所述第一接入服务器的第三进程号,所述第三进程号为所述第一接入服务器进行重启之后的进程号。
18.在一些实施例中,所述装置还包括:第三确定模块,用于:在所述第一机器名和所述第二机器名不一致且所述第一进程号和所述第二进程号不一致时,确定对应的网关已经重新连接到第二接入服务器以接入所述云端。
19.在一些实施例中,所述保活信息包括所述第一机器名和所述第一进程号。
20.在一些实施例中,所述装置还包括:上报模块,用于上报所述离线的网关的信息。
21.第六方面,本技术实施例提供了另一种通信设备的离线检测装置。所述通信设备包括网关。所述网关通过第一接入服务器接入云端,所述装置包括:第二接收模块,用于在所述第一接入服务器正常时,接收经由所述第一接入服务器上报的离线的网关的信息;以及第三接收模块,用于在所述第一接入服务器异常时,接收根据上述方法上报的所述离线的网关的信息。
22.第七方面,本技术实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如第一方面、第二方面、第三方面或第四方面中任一实现方式描述的方法。
23.第八方面,本技术实施例提供了一种处理器,该处理器用于运行程序,其中,所述程序运行时执行如第一方面、第二方面、第三方面或第四方面中任一实现方式描述的方法。
24.第九方面,本技术实施例提供了一种计算机设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当该一个或多个程序被该一个或多个处理器执行时,使得该一个或多个处理器实现如第一方面、第二方面、第三方面或第四方面中任一实现方式描述的方法。
25.根据本技术实施例提供的方法、装置和设备,在第一接入服务器出现异常时,例如,第一接入服务器无响应或第一接入服务器进行了重启,可以获得接入第一接入服务器的至少一个网关并从至少一个网关中筛选出离线的网关,因此实现第一接入服务器异常时网关的离线检测;在第一接入服务器正常时,接收经由第一接入服务器上报的离线的网关的信息,因此可以在第一接入服务器正常时依旧依赖链路层(即经由第一接入服务器的链路层)的信息以实现网关的离线检测,避免依赖低效的轮询机制(即网关发送信息或请求,第一接入服务器接收信息或请求并记录对应通信时间、并定时查询记录的通信时间以确定网关是否在线),提升网关的离线检测效率。
附图说明
26.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,而且还可以根据提供的附图将本技术应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
27.图1是根据本技术一些实施例的应用场景的示意图。
28.图2是根据本技术一些实施例的通信设备的离线检测方法的流程图。
29.图3是根据本技术一些实施例的通信设备的离线检测方法的流程图。
30.图4是根据本技术一些实施例的通信设备的离线检测方法的流程图。
31.图5是根据本技术一些实施例的通信设备的离线检测方法的流程图。
32.图6是根据本技术一些实施例的通信设备的离线检测方法的流程图。
33.图7是根据本技术一些实施例的用于物联网设备的通信方法的流程图。
34.图8是根据本技术一些实施例的用于物联网设备的通信方法的流程图。
35.图9是根据本技术一些实施例的通信设备的离线检测装置的框图。
36.图10是根据本技术一些实施例的通信设备的离线检测装置的框图。
37.图11是根据本技术一些实施例的通信设备的离线检测装置的框图。
38.图12是根据本技术一些实施例的通信设备的离线检测装置的框图。
39.图13是根据本技术一些实施例的实施场景的示意图。
40.图14是适于用来实现本技术一些实施例的电子设备的示意图。
具体实施方式
41.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。所描述的实施例仅仅是本
申请一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
42.需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
43.应当理解,本技术中使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
44.如本技术和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
45.其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
46.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
47.本技术中使用了流程图用来说明根据本技术的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
48.图1是根据本技术一些实施例的应用场景的示意图。如图1所示,该应用场景包括服务器11、网关12和设备13。
49.设备13通过网关12接入服务器11,服务器11通过网关12为设备13提供云端服务。也就是说,设备13通过网关12与服务器11进行上下行数据交换。服务器11提供至少一个接入服务器给网关12,网关12在接入云端时从至少一个接入服务器中选择一个接入服务器以接入服务器11。当某个接入服务器出现故障时,网关12可自动迁移到其它无故障的接入服务器,从而保证系统的稳定运行。
50.服务器11可以提供各种云端服务、数据平台服务等。
51.可以利用硬件实施服务器11,也可以利用软件实施服务器11。
52.当利用硬件实施服务器11时,服务器11可以实施为多个服务器组成的分布式服务器集群或者实施为单个服务器。如图1所示,服务器11可以实施为服务器111和服务器112组成的分布式服务器集群。应当理解,在图1的基础上,服务器11还可以实施为三个服务器或者三个以上服务器组成的分布式服务器集群。服务器11还可以实施为单个服务器,例如,服务器11可以实施为图1中的服务器111或服务器112。
53.当利用软件实施服务器11时,服务器11可以实施为多个软件或软件模块或者实施为单个软件或软件模块。软件或软件模块可以实施在计算设备上,例如服务器或者服务器
集群上。
54.网关12可以包括至少一个网关设备或通信设备。如图1所示,网关12包括网关设备121。应当理解,在图1的基础上,网关12还可以包括两个或两个以上网关设备。网关12可以是wi-fi(wireless fidelity)、zigbee、蓝牙或者其他网关技术形成的网关。网关12通过互联网接入服务器11。网关12和设备13之间通过对应的wi-fi、zigbee、蓝牙或者其他网关技术互相通信。
55.如图1所示,设备13可以包括设备131-134。可以利用硬件实施设备131-134,也可以利用软件实施设备131-134。
56.当利用硬件实施设备131-134时,设备131-134可以是各种电子设备,包括但不限于智能手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)、电子书阅读器、mp3(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)播放器、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机、台式计算机、智能电表、智能水表、智能门锁、智能猫眼等电子设备。
57.当利用软件实施设备131-134时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。本技术实施例对电子设备的具体类型不作任何限制。
58.设备131-134也可以具有wi-fi模块以利用wi-fi模块与网关12进行wi-fi通信;设备131-134也可以具有蓝牙模块以利用蓝牙模块与网关进行蓝牙通信;设备131-134也可以具有zigbee模块以利用zigbee模块与网关进行通信等。应当理解,本技术对设备13与网关12之间的通信协议不进行限定,上述示例仅仅为了方便本技术的应用场景。
59.应该理解,图1中的设备、网关和服务器的个数仅仅是示意性的。根据实现需要,可以具有任意个数的设备、网关和服务器。
60.下述实施例以实施在服务器11中对本技术进行解释和说明。在现有技术中,可以利用网关12的接入服务器进行网关的离线检测。网关12定时向接入服务器发送呼吸请求;接入服务器接收呼吸请求,并向网关12发送呼吸请求的响应;如果接入服务器接收到网关12发送的断开事件(disconnect),则认为网关12发生了离线。在这种情况下,如果接入服务器出现故障,则可能丢失网关12的离线信息。
61.在现有技术中,网关12定时向接入服务器发送呼吸请求,该呼吸请求用于表示网关12目前处于存活状态,即正常工作状态;接入服务器接收呼吸请求,并向网关12发送呼吸请求的响应,同时记录对应的通信时间;网关12还可以向接入服务器传输上行消息,接入服务器接收上行消息,同时也记录对应的通信时间。接入服务器可以设置定时离线检测任务,以定时查询网关12的通信时间;如果网关12的上一次通信时间距离当前时间的时间间隔大于预设时间间隔时,则认为网关可能离线。在这种情况下,离线检测的操作复杂,需要依赖接入服务器的存储单元所存储的网关12的通信时间;网关12在线时会频繁地进行数据通信,通信时间可能时刻在变化,直接导致接入服务器的存储单元的写入压力比较大;网关12的离线检测依赖定时离线检测任务的定时轮询,离线检测发现不及时,并且频繁的轮询导
致接入服务器的存储单元的读出压力也比较大。
62.为了解决上述问题,本技术的发明人提供了一种方案,在第一接入服务器出现异常时,可以获得接入第一接入服务器的至少一个网关并从至少一个网关中筛选出离线的网关,因此实现第一接入服务器异常时网关的离线检测;在第一接入服务器正常时,接收经由第一接入服务器上报的离线的网关的信息,因此可以在第一接入服务器正常时依旧依赖链路层(即经由第一接入服务器的链路层)的信息以实现网关的离线检测,避免依赖低效的轮询机制(即网关发送信息或请求,第一接入服务器接收信息或请求并记录对应通信时间、并定时查询记录的通信时间以确定网关是否在线),提升网关的离线检测效率。
63.继续参考图2,其示出了根据本技术一些实施例的通信设备的离线检测方法的流程200。具体的,如图2所示,该流程200包括202、204、206和208。网关通过第一接入服务器接入云端。第一接入服务器可以实施为图1中服务器11的一部分。
64.202,接收第一接入服务器发送的保活信息。该保活信息表示服务器目前处于正常工作状态,从而使得云端保留有该服务器的正常工作状态信息。
65.在一些实施例中,保活信息包括第一接入服务器的第一机器名和第一进程号。
66.204,在预设时间段内没有接收到保活信息时,确定第一接入服务器异常。
67.可以通过第一接入服务器的保活信息确定第一接入服务器的状态,例如第一接入服务器是否正常。
68.第一接入服务器可以以预设时间间隔发送自己的保活信息。如果在预设时间间隔对应的预设时间段内接收到第一接入服务器发送的保活信息,则说明第一接入服务器正常工作。如果在预设时间间隔对应的预设时间段内没有接收到第一接入服务器发送的保活信息,则说明第一接入服务器出现异常,例如无响应或者进行了重启等。应当理解,预设时间间隔和预设时间段可以根据实际的场景进行设置,对此本技术实施例不进行限定。
69.在一些实施例中,在确定第一接入服务器异常时,可以更新接入服务器列表。接入服务器列表中包括多个可以接入的接入服务器。利用该接入服务器列表向网关提供一个接入服务器以使得网关通过该接入服务器接入云端。更新接入服务器列表后,接入服务器列表中不存在第一接入服务器,因此新的网关将不再指向该第一接入服务器。
70.206,获得接入第一接入服务器的至少一个网关。
71.至少一个网关可以连接到第一接入服务器。该至少一个网关可以形成第一接入服务器的网关列表,并存储在第一接入服务器的存储单元中,还可以将该网关列表发送到上一级的服务器进行存储。
72.208,从至少一个网关中筛选出离线的网关。
73.例如,如果网关的机器名和进程号与第一接入服务器第一机器号和第一进程号一致,则确定为离线的网关。
74.根据本技术实施例提供的方法,在第一接入服务器出现异常时,例如,第一接入服务器无响应或第一接入服务器进行了重启,可以获得接入第一接入服务器的至少一个网关并从至少一个网关中筛选出离线的网关,因此实现第一接入服务器异常时网关的离线检测;同时从至少一个网关中进行筛选,不需要轮询所有网关,进一步提升检测效率。
75.继续参考图3,其示出了根据本技术一些实施例的通信设备的离线检测方法的流程300。具体的,如图3所示,该流程300包括302、304、305、306和308。
76.302,接收第一接入服务器发送的保活信息。
77.302可以参考上述202。
78.304,在预设时间段内没有接收到保活信息时,确定第一接入服务器异常。
79.304可以参考上述204。
80.305,在确定第一接入服务器异常时,获得第一接入服务器的第一机器名和第一进程号。
81.在一些实施例中,可以从上一次的保活信息中获得第一接入服务器的第一机器名和第一进程号。
82.306,获得接入第一接入服务器的至少一个网关。
83.306可以参考上述206。
84.308,根据第一机器名和第一进程号从至少一个网关中筛选出离线的网关。例如,如果网关的机器名和进程号与第一机器号和第一进程号一致,则确定为离线的网关。
85.根据本技术实施例提供的方法,在第一接入服务器出现异常时,例如,第一接入服务器无响应或第一接入服务器进行了重启,可以获得接入第一接入服务器的至少一个网关并利用第一机器名和第一进程号从至少一个网关中筛选出离线的网关,因此实现第一接入服务器异常时网关的离线检测;同时从至少一个网关中进行筛选,不需要轮询所有网关,进一步提升检测效率。
86.继续参考图4,其示出了根据本技术一些实施例的通信设备的离线检测方法的流程400。具体的,如图4所示,该流程400包括402、404、405、406和408。
87.402,接收第一接入服务器发送的保活信息。
88.402可以参考上述202。
89.404,在预设时间段内没有接收到保活信息时,确定第一接入服务器异常。
90.404可以参考上述204。
91.405,在确定第一接入服务器异常时,获得第一接入服务器的第一机器名和第一进程号。
92.405可以参考上述305。
93.406,获得接入第一接入服务器的至少一个网关。
94.406可以参考上述206。
95.408,对于至少一个网关中的每个网关,获得每个网关所接入的第二机器名和第二进程号。
96.409,在第一机器名和第二机器名一致且第一进程号和第二进程号一致时,确定对应的网关为离线的网关。
97.410,在第一机器名和第二机器名一致且第一进程号和第二进程号不一致时,确定第一接入服务器进行了重启,并确定对应的网关已经重新连接到第一接入服务器的第三进程号,第三进程号为第一接入服务器进行重启之后的进程号。
98.411,在第一机器名和第二机器名不一致且第一进程号和第二进程号不一致时,确定对应的网关已经重新连接到第二接入服务器以接入云端。第二接入服务器为不同于第一接入服务器的接入服务器。
99.根据本技术实施例提供的方法,在第一接入服务器出现异常时,例如,第一接入服
务器无响应或第一接入服务器进行了重启,可以获得接入第一接入服务器的至少一个网关并从至少一个网关中筛选出离线的网关,因此实现第一接入服务器异常时网关的离线检测;同时从至少一个网关中进行筛选,不需要轮询所有网关,进一步提升检测效率。
100.另外,还可以利用机器名和进程号确定第一接入服务器是否出现重启,例如,在第一机器名和第二机器名一致且第一进程号和第二进程号不一致时,确定第一接入服务器进行了重启。还可以利用机器名和进程号确定网关是否进行了重新接入,在第一机器名和第二机器名不一致且第一进程号和第二进程号不一致时,确定对应的网关已经重新连接到第二接入服务器以接入云端。
101.继续参考图5,其示出了根据本技术一些实施例的通信设备的离线检测方法的流程500。具体的,如图5所示,该流程500包括502、504、506和508。
102.502,接收第一接入服务器发送的保活信息。
103.502可以参考上述202。
104.504,在预设时间段内没有接收到保活信息时,确定第一接入服务器异常。
105.504可以参考上述204。
106.506,获得接入第一接入服务器的至少一个网关。
107.506可以参考上述206。
108.508,从至少一个网关中筛选出离线的网关。
109.508可以参考上述208。
110.510,上报离线的网关的信息。
111.应当理解,510还可以结合图3-4所示的实施例进行实施,在此不再赘述。
112.根据本技术实施例提供的方法,可以将发生离线的网关进行上报。
113.为了实现上述实施例,本技术的发明人还提供了另一种通信设备的离线检测方法。
114.继续参考图6,其示出了根据本技术一些实施例的通信设备的离线检测方法的流程600。具体的,如图6所示,该流程600包括602和604。
115.602,在第一接入服务器正常时,接收经由第一接入服务器上报的离线的网关的信息。
116.604,在第一接入服务器异常时,接收根据上述图5所示方法上报的离线的网关的信息。
117.应答理解,602和604的执行不分先后顺序。
118.根据本技术实施例提供的方法,在第一接入服务器出现异常时,例如,第一接入服务器无响应或第一接入服务器进行了重启,可以获得接入第一接入服务器的至少一个网关并从至少一个网关中筛选出离线的网关,因此实现第一接入服务器异常时网关的离线检测;在第一接入服务器正常时,接收经由第一接入服务器上报的离线的网关的信息,因此可以在第一接入服务器正常时依旧依赖链路层(即经由第一接入服务器的链路层)的信息以实现网关的离线检测,避免依赖低效的轮询机制(即网关发送信息或请求,第一接入服务器接收信息或请求并记录对应通信时间、并定时查询记录的通信时间以确定网关是否在线),提升网关的离线检测效率。
119.在利用上述任一项方法进行网关的离线检测之后,可以进行网关离线时的处理。
120.继续参考图7,其示出了根据本技术一些实施例的用于物联网设备的通信方法的流程700。物联网设备接入网关。具体的,该方法由物联网设备执行。如图7所示,该流程700包括702和704。
121.702,发送上行消息给网关。
122.具体的,物联网设备通过网关提供的网络将上行消息发送给网关。
123.704,在接收到网关的第一响应消息时或在预设时间段内没有接收到网关的第二响应消息时,缓存上行消息到物联网设备的存储单元,第一响应消息包括网关的接收错误码,第二响应消息包括网关的接收成功信息。
124.在网关在线时,可以向物联网设备发送第二响应消息,以指示该上行消息发送成功;在网关离线时,可以向物联网设备直接发送接收错误码。
125.继续参考图8,其示出了根据本技术一些实施例的用于物联网设备的通信方法800。物联网设备接入网关。具体的,该方法由云端执行,如图8所示,该流程800包括802和804。
126.802,缓存下行消息到存储单元。
127.在物联网设备离线时,缓存下行消息到存储单元。
128.在物联网设备在线时,跳过缓存操作而直接向物联网设备所在的网关发送下行消息并等待网关的响应;如果等到网关的响应,则说明下行消息发送成功;如果在预设时间段内没有等到网关的响应,则说明下行消息发送识别,缓存下行消息到存储单元。
129.804,在接收到物联网设备经由网关发送的同步请求后,将下行消息作为同步请求的响应发送到物联网设备。
130.在缓存下行消息到存储单元之后,等待物联网设备恢复在线后的同步请求,并将下行消息作为同步请求的响应发送到物联网设备。
131.根据本技术实施例提供的方法,在网关离线时,提供物联网设备与服务器之间的上下行通信机制,提升用户体验。
132.进一步参考图9,作为对以上一些图所示方法的实现,本技术提供了一种通信设备的离线检测装置。该装置与图2所示的方法实施例相对应。如图9所示,该装置包括:第一接收模块902,用于接收第一接入服务器发送的保活信息;第一确定模块904,用于在预设时间段内没有接收到保活信息时,确定第一接入服务器异常;第一获得模块906,用于获得接入第一接入服务器的至少一个网关;以及筛选模块908,用于从至少一个网关中筛选出离线的网关。
133.在一些实施例中,第一获得模块902还用于在确定第一接入服务器异常时,获得第一接入服务器的第一机器名和第一进程号;筛选模块908用于:根据第一机器名和第一进程号从至少一个网关中筛选出离线的网关。
134.在一些实施例中,筛选模块908用于:对于至少一个网关中的每个网关,获得每个网关所接入的第二机器名和第二进程号;以及在第一机器名和第二机器名一致且第一进程号和第二进程号一致时,确定对应的网关为离线的网关。
135.在一些实施例中,如图10所示,该装置还包括:第二确定模块1010,用于:在第一机器名和第二机器名一致且第一进程号和第二进程号不一致时,确定第一接入服务器进行了重启,并确定对应的网关已经重新连接到第一接入服务器的第三进程号,第三进程号为第
一接入服务器进行重启之后的进程号。
136.在一些实施例中,如图10所示,该装置还包括:第三确定模块1012,用于:在第一机器名和第二机器名不一致且第一进程号和第二进程号不一致时,确定对应的网关已经重新连接到第二接入服务器以接入云端。
137.在一些实施例中,保活信息包括第一机器名和第一进程号。
138.在一些实施例中,如图11所示,该装置还包括:上报模块1110用于上报离线的网关的信息。
139.进一步参考图12,作为对以上一些图所示方法的实现,本技术提供了另一种通信设备的离线检测装置。该装置与图6所示的方法实施例相对应。如图12所示,该装置包括:第二接收模块1202,用于在第一接入服务器正常时,接收经由第一接入服务器上报的离线的网关的信息;以及第三接收模块1204,用于在第一接入服务器异常时,接收上述图5所示的方法上报的离线的网关的信息。
140.应当理解,上述装置实施例的细节可以参考对应方法实施例,在此不再赘述。
141.需要说明的是,上述装置实施例可以是芯片,组件或模块。该芯片,组件或模块位于设备中。设备可包括处理器和存储器。
142.第一接收模块902、第一确定模块904、第一获得模块906、筛选模块908、第二确定模块1010、第三确定模块1012和上报模块1110(或第二接收模块1202和第三接收模块1204)都可以作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
143.处理器中可以包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或多个,通过调整内核参数来执行本技术的方法实施例。
144.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
145.下面参考图13,其示出了适于用来实现本技术一些实施例的实施场景1300的示意图。
146.如图13所示,实施场景1300包括网关1301和服务器1302。网关1301和服务器1302可以实施为图1所示的网关和服务器。在图13中,服务器1302可以包括实施以下功能:负载均衡服务1322、接入服务1324、离线检测服务1326、设备管理服务1328等。接入服务1324可以由上述任一项实施例所述的接入服务器实施。该接入服务器也可以实施为服务器1302的一部分。负载均衡服务1322、离线检测服务1326、设备管理服务1328可以分别实施为一个服务器(或一个服务器群);负载均衡服务1322、离线检测服务1326、设备管理服务1328中的任何两个可以实施为一个服务器(或一个服务器群),而剩下的一个服务可以实施为一个服务器(或一个服务器群);或者负载均衡服务1322、离线检测服务1326、设备管理服务1328可以实施为一个服务器(或一个服务器群);等等。应当理解,上述负载均衡服务1322、接入服务1324、离线检测服务1326、设备管理服务1328是对服务器1302功能的划分,而不是实际物理意义上的划分。
147.负载均衡服务1322:网关1301在接入服务器1302时,需要请求负载均衡服务1322;负载均衡服务1322
给网关1301分配一个可接入的接入服务地址;网关1301根据该接入服务地址接入到对应的接入服务1324。
148.负载均衡服务1322还接收来自接入服务1324的保活信息,用于监控接入服务1324的状态;同时接入服务1324的保活信息还可以包括接入服务1324的第一机器名和第一进程名;负载均衡服务1322从保活信息获得接入服务1324的第一机器名和第一进程名,或者负载均衡服务1322直接从接入服务1324获得接入服务1324的第一机器名和第一进程名;负载均衡服务1322在自己的存储单元中记录接入服务1324的第一机器名和第一进程名。
149.当预设时间段内没有接收到接入服务1324的保活信息时,负载均衡服务1322认为接入服务1324出现异常,此时,一方面负载均衡服务1322更新可接入的接入服务地址列表,将该接入服务1324的地址从列表中删除,从而使得新的网关不能接入该接入服务1324;另一方面,向离线检测服务1326发送接入服务异常信息,该信息包括接入服务1324的第一机器名和第一进程名。
150.离线检测服务1326:离线检测服务1326接收来自负载均衡服务1322的接入服务异常信息,并根据接入服务异常信息中的第一机器名和第一进程名获取存储在自己的存储单元中的该接入服务对应的网关列表。对应网关列表中的每个网关,获得每个网关的第二机器名和第二进程号,可以利用上述409、410和411确定离线的网关。
151.离线检测服务1326还可以将离线的网关上报给设备管理服务1328。
152.接入服务1324:定期向负载均衡服务1322发送保活信息,以传输自己的运行参数、机器号和进程号。
153.每当有新的网关接入到接入服务1324时,接入服务1324在自己的存储单元中将该新的网关的唯一标记与第一机器名和第一进程号进行对应存储。
154.接入服务1324监听网关1301的离线事件(disconnect);当接收到离线事件时,接入服务1324认为该网关1301离线,向设备管理服务1328上报网关1301的离线消息。
155.从上述场景可以看出,本技术将网关的离线检测分成两个部分;在大多数情况下,接入服务工作正常,此时离线检测依赖的是链路层的离线消息,即离线消息从网关传输到接入服务,再从接入服务传输到设备管理服务,此处摒弃了低效的轮询机制,提升了检测的效率;在特殊情况下,例如接入服务无响应或异常时,需要对之前接入到该服务的网关进行遍历,将还未更新接入信息的网关确认为离线的网关。
156.下面参考图14,其示出了适于用来实现本技术一些实施例的电子设备1400的结构示意图。图14示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。下述描述的电子设备的结构适用于上述设备。
157.如图14所示,电子设备1400可以包括处理器1401、存储器1402、通信接口1403、输入单元1404、输出单元1405和通信总线1406。其中,处理器1401和存储器1402通过通信总线1406彼此相连。通信接口1403、输入单元1404和输出单元1405也连接至通信总线1406。
158.其中,通信接口1403可以为通信模块的接口,如nb-iot模块的接口。通信接口1403可以用于发送第一请求;以及接收应答消息。
159.在本技术实施例中,处理器1401,可以为中央处理器(central processing unit,
cpu)、特定应用集成电路(application-specific integrated circuit,asic)、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件等。
160.在一种可能的实现方式中,存储器1402可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如收发和处理信息等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据,比如,指令、执行结果等。
161.此外,存储器1402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
162.处理器1401可以调用存储器1402中存储的程序,具体的,处理器1401可以执行以上任一实施例所示的方法。
163.存储器1402中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本技术实施例中,存储器1402中至少存储有用于实现以上任一实施例所示的方法的程序。
164.本技术还可以包括输入单元1405,输入单元1405可以包括感应触摸显示面板上的触摸事件的触摸感应单元、键盘、鼠标、摄像头、拾音器等设备中的至少一个。
165.输出单元1404可以包括:显示器、扬声器、振动机构、灯等设备中的至少一个。显示器可以包括显示面板,如触摸显示面板等。在一种可能的情况中,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板。振动机构在工作时可以使电子设备700发生位移,在一种可能的实现方式中,振动机构包括电动机和偏心振子,电动机带动偏心振子转动从而产生振动。灯的亮度和/或颜色可调,在一种可能的实现方式中,可通过灯的亮灭、亮度、颜色中的至少一个体现不同的信息,如通过灯发出红色光体现报警信息。
166.当然,图14所示的电子设备1400的结构并不构成对本技术实施例中电子设备的限定,在实际应用中电子设备可以包括比图13所示的更多或更少的部件,或者组合某些部件。
167.本技术实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现以上各方法实施例描述的方法。
168.本技术实施例提供了一种处理器,该处理器用于运行程序,其中,该程序运行时实现以上各方法实施例描述的方法。
169.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,使得数据处理设备实现以上各方法实施例描述的方法。
170.其中,本技术的上述实施例提供的电子设备、处理器、计算机可读介质或计算机程序产品可以均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
171.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
172.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
173.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
174.在一个典型的配置中,计算设备包括一个或多个处理器 (cpu)、输入/输出接口、网络接口和内存。
175.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
176.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (pram)、静态随机存取存储器 (sram)、动态随机存取存储器 (dram)、其他类型的随机存取存储器 (ram)、只读存储器 (rom)、电可擦除可编程只读存储器 (eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器 (cd-rom)、数字多功能光盘 (dvd) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
177.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
178.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。本技术中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

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

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

相关文献