基于唤醒通道的MQTT主题订阅系统、方法、终端及介质与流程


基于唤醒通道的mqtt主题订阅系统、方法、终端及介质
技术领域
1.本技术涉及通信技术领域,特别是涉及机器人技术领域的基于唤醒通道的mqtt主题订阅系统、方法、终端及介质。


背景技术:



2.通常而言,sdk客户端在连网后与mqtt建立连接并一直处于连接状态,但这会导致如下几个问题:
3.1)sdk客户端在闲置很长时间不用时会一直占用该连接,致使连接资源被浪费;
4.2)由于sdk与mqtt建立的是长连接,因此会有频繁的心跳包,导致浪费带宽及流量;
5.3)由于mqtt连接数资源有限,在连接数达到最大值的情况下,其他sdk客户端在使用时会出现没有连接数可用的情况,导致最终无法使用;
6.4)连网的sdk客户端越来越多,为了使mqtt支持更多的sdk客户端,需要更多的mqtt服务来做集部署,但这就大大增加了服务器费用的支出。
7.5)随着版本的不断迭代,sdk客户端连接mqtt订阅的主题数也越来越多,大大增加了cpu与内存的损耗。
8.因此,对于生活中大多sdk客户端而言并不会出现一天24小时都处于工作且与app端不断进行交互的情况,这也就使sdk客户端实际上订阅了大量闲置的主题,大大增加了内存与cpu资源的损耗,且随着sdk客户端的不断增加相应的主题数也会呈现指数级的增长,进一步大大增加了mqtt的资源浪费。


技术实现要素:



9.鉴于以上所述现有技术的缺点,本技术的目的在于提供基于唤醒通道的mqtt主题订阅系统、方法、终端及介质,用于解决现有的mqtt主题订阅大量浪费cpu和内存资源的技术问题。
10.为实现上述目的及其他相关目的,本技术的第一方面提供一种基于唤醒通道的mqtt主题订阅系统,包括:sdk端、mqtt端、云服务端及app端;其中:基于资源配置策略断开所述sdk端与mqtt端之间的连接;通过所述云服务端构建供所述app端唤醒所述sdk端的唤醒通道;基于唤醒机制唤醒对应的sdk端后,被唤醒的sdk端断开所述唤醒通道并在重建与mqtt端之间的连接后将上线信息通知所述云服务端,以供所述云服务端查对应的app端并将发布消息的主题告知该app端;所述app端在接收到所述发布消息的主题后向mqtt端订阅对应的主题。
11.于本技术的第一方面的一些实施例中,所述基于资源配置策略断开所述sdk端与mqtt端之间的连接,包括:若在预设的资源配置合理时效内所述sdk端与mqtt端未进行交互则断开sdk端与mqtt端之间的连接。
12.于本技术的第一方面的一些实施例中,所述通过所述云服务端构建供所述app端
唤醒所述sdk端的唤醒通道,包括:在断开sdk端与mqtt端的连接后,在sdk端与云服务端之间建立socket长连接以作为所述app端唤醒对应的sdk端的唤醒通道;其中,所述被唤醒的sdk端通过断开与所述云服务端之间的socket长连接来断开所述唤醒通道。
13.于本技术的第一方面的一些实施例中,所述基于唤醒机制唤醒对应的sdk端包括:所述云服务端从所述app端接收包含有被请求唤醒对象的物理地址信息的且经证书加密、对称加密或非对称加密后进行传输的https请求,并根据所述被请求唤醒对象的物理地址信息查并唤醒对应的sdk端。
14.于本技术的第一方面的一些实施例中,所述app端向mqtt端订阅对应的主题并在消息接收完成后取消该主题的订阅。
15.为实现上述目的及其他相关目的,本技术的第二方面提供一种基于唤醒通道的mqtt主题订阅方法,应用于sdk端;所述方法包括:基于资源配置策略断开与mqtt端之间的连接;与云服务端之间形成供app端唤醒的唤醒通道;基于唤醒机制被唤醒后断开所述唤醒通道并在重建与mqtt端之间的连接后将上线信息通知所述云服务端,以供所述云服务端查对应的app端并将发布消息的主题告知该app端,以供所述app端在接收到所述发布消息的主题后向mqtt端订阅对应的主题。
16.为实现上述目的及其他相关目的,本技术的第三方面提供一种基于唤醒通道的mqtt主题订阅方法,应用于云服务端;所述方法包括:与sdk端之间形成供app端唤醒的唤醒通道;从app端接收唤醒请求后基于唤醒机制唤醒对应的sdk端,并断开与被唤醒的sdk端之间的唤醒通道;从mqtt端接收所述被唤醒的sdk端的上线信息,并查对应的app端并将发布消息的主题告知该app端,以供所述app端在接收到所述发布消息的主题后向mqtt端订阅对应的主题。
17.为实现上述目的及其他相关目的,本技术的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于唤醒通道的mqtt主题订阅方法。
18.为实现上述目的及其他相关目的,本技术的第五方面提供一种sdk端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述基于唤醒通道的mqtt主题订阅方法。
19.为实现上述目的及其他相关目的,本技术的第五方面提供一种云服务端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述基于唤醒通道的mqtt主题订阅方法。
20.如上所述,本技术的基于唤醒通道的mqtt主题订阅系统、方法、终端及介质,具有以下有益效果:在本发明的技术方案中,sdk客户端与app端在设定的时间内没有做任何交互时可释放该sdk客户端与mqtt的连接,同时与云端保持一个长连接,作为app端唤醒sdk客户端的通道,大大的增加了mqtt连接资源的合理化利用。与此同时,也大大提高了mqtt主题在有消息发布的时候订阅,没有消息发布的时候取消订阅,大大减少内存与cpu资源的浪费问题。
附图说明
21.图1显示为本技术一实施例中的一种基于唤醒通道的mqtt主题订阅系统的结构示
意图。
22.图2显示为本技术一实施例中基于唤醒通道的mqtt主题订阅系统的运作流程示意图。
23.图3显示为本技术一实施例中的一种基于唤醒通道的mqtt主题订阅方法的流程示意图。
24.图4显示为本技术一实施例中的一种sdk端的结构示意图。
25.图5显示为本技术一实施例中的一种基于唤醒通道的mqtt主题订阅方法的流程示意图。
26.图6显示为本技术一实施例中的一种云服务端的结构示意图。
具体实施方式
27.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
28.如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a、b和c”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
29.为解决上述背景技术中的问题,本发明提供一种基于唤醒通道的mqtt主题订阅方法、装置、终端及介质,当sdk客户端与app端在设定时间内没有做任何交互时,释放该sdk客户端与mqtt的连接,与此同时sdk客户端与云端保持长连接,作为app端唤醒sdk客户端的通道,大大增加了mqtt连接资源的合理化利用,同时也大大提高了mqtt主题在有消息发布时订阅,并在没有消息发布时取消订阅,有效减少内存与cpu资源的浪费问题。
30.为了使本发明的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本发明实施例中的技术方案的进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定发明。
31.在对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释:
32.《1》sdk(software development kit):软件开发工具包,是软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
33.《2》mqtt(message queuing telemetry transport):消息队列遥测传输协议,是一种基于发布/订阅模式的通讯协议,该协议构建与tcp/ip协议上,可以以极少的代码和有限的带宽为连接远程设备提供实时可靠的消息服务。
34.《3》websocket:是一种在单个tcp连接上进行全双工通信的协议,websocket通信
协议能使客户端和服务端之间的数据交换变得更加简单,允许服务端主动向客户端推送数据;在websocketapi中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
35.本发明实施例提供基于唤醒通道的mqtt主题订阅方法、基于唤醒通道的mqtt主题订阅方法的系统、以及存储用于实现基于唤醒通道的mqtt主题订阅方法的可执行程序的存储介质。就基于唤醒通道的mqtt主题订阅方法的实施而言,本发明实施例将对基于唤醒通道的mqtt主题订阅的示例性实施场景进行说明。
36.如图1所示,展示了本发明实施例中的一种基于唤醒通道的mqtt主题订阅系统的结构示意图。本实施例中的基于唤醒通道的mqtt主题订阅系统100包括sdk端101、mqtt端102、云服务端103及app端104。
37.于本实施例中,基于资源配置策略断开所述sdk端101与mqtt端102之间的连接;通过所述云服务端103构建供所述app端104唤醒所述sdk端的唤醒通道;基于唤醒机制唤醒对应的sdk端101后,被唤醒的sdk端101断开所述唤醒通道并在重建与mqtt端102之间的连接后将上线信息通知所述云服务端103,以供所述云服务端103查对应的app端104并将发布消息的主题告知该app端104;所述app端104在接收到所述发布消息的主题后向mqtt端102订阅对应的主题。
38.于本实施例的一些示例中,所述基于资源配置策略断开所述sdk端与mqtt端之间的连接,包括:若在预设的资源配置合理时效内所述sdk端与mqtt端未进行交互则断开sdk端与mqtt端之间的连接。
39.需说明的是,所述预设的资源配置合理时效可根据实际应用场景进行相应设定,该时效主要用于描述和鉴别sdk端的闲置状态。也即:sdk端若在资源配置合理时效内未与mqtt端进行交互,则表示当前sdk端处于闲置状态,否则表示当前sdk端处于繁忙状态。进一步地,sdk端与mqtt端之间的交互方式包括但不限于sdk端向mqtt端发送数据和/或mqtt端向sdk端发送指令等。
40.于本实施例的一些示例中,所述通过所述云服务端构建供所述app端唤醒所述sdk端的唤醒通道,包括:在断开sdk端与mqtt端的连接后,在sdk端与云服务端之间建立socket长连接以作为所述app端唤醒对应的sdk端的唤醒通道;其中,所述被唤醒的sdk端通过断开与所述云服务端之间的socket长连接来断开所述唤醒通道。
41.需说明的是,websocket是html5提供的一种在单个tcp连接上进行全双工通讯的协议;在websocket api中,浏览器和服务器只需要做一个握手的动作,随后浏览器和服务器之间就形成了一个快速通道,两者之间就可以直接进行数据传送。现有的很多网站的推送技术使用的是ajax轮询,轮询是指在特定的时间间隔(例如每1秒),由浏览器对服务器发出http请求,然后由服务器返回最新的数据给客户端的浏览器,轮询模式的缺点在于浏览器需要不断的向服务器发出请求,然而http请求可能包含较长的头部,而其中真正有效的数据可能只是很小的一部分,这会造成很大的带宽资源浪费,因此由websocket建立的长连接很好的克服了带宽资源浪费的问题,并且能够实时地进行通讯。
42.于本实施例中,可使用如下任一种方式来保证sdk端与云服务端之间的socket长连接:
43.方式1)可由云服务端在一个timer事件内定时向sdk端发送一个短小精悍的数据
包,然后启动一个低级别的线程,在该线程中不断检测sdk端的回应。如果在一定时间内没有收到sdk端的回应,即认为sdk端已经掉线;同样的道理,如果sdk端在一定时间内没有收到云服务端的心跳包,则认为连接不可用。
44.方式2)利用tcp的keepalive保活机制来保证sdk端与云服务端之间的socket长连接。sdk端和云服务端中的一方在收到心跳包后会自动回复,以告诉对方自己仍在线。
45.于本实施例的一些示例中,所述基于唤醒机制唤醒对应的sdk端包括:所述云服务端从所述app端接收包含有被请求唤醒对象的物理地址信息的且经证书加密、对称加密或非对称加密后进行传输的https请求,并根据所述被请求唤醒对象的物理地址信息查并唤醒对应的sdk端。
46.应理解的是,所述唤醒请求本质上是一种https请求。https请求是一种应用层协议,且是加密传输,加密过程可使用证书加密算法、对称加密算法或不对称加密算法等方式进行加密。其中,所述证书加密算法是指服务器在使用证书加密之前需要去证书颁布机构申请该服务器的证书,在https的请求过程服务器端将会把本服务器的证书发送给客户端,客户端进行证书验证,以此来验证服务器的身份。所述对称加密算法是指在加密和解密的过程中使用同一个私钥进行加密和解密,且由于对称加密算法公开,故该私钥不能泄漏。所述非对称加密算法是指加密和解密过程使用不同的秘钥,公钥对外公开而私钥仅解密端拥有。
47.于本实施例的一些示例中,所述app端向mqtt端订阅对应的主题并在消息接收完成后取消该主题的订阅,以达到释放内存与cpu资源的目的。
48.为便于理解,下文将结合图2展示的流程图对本实施例提供的基于唤醒通道的mqtt主题订阅系统的运作原理做详尽的解释说明。
49.步骤s21:sdk端101若在定义的时效内未与mqtt端102进行交互,则将sdk端101与mqtt端102之间的通信连接断开。
50.步骤s22:sdk端101断开与mqtt端102的连接后,通过websocket通信协议与云服务端103建立长连接。
51.步骤s23:app端104根据当前用户所拥有的设备向云服务端103发起唤醒请求。
52.应理解的是,本实施例中的app端可对应多种类型的设备,即多种类型的设备app均可应用于本发明实施例的技术方案中,例如扫地机器人app、割草机app或者其它智能机器人app等,本实施例不做限定。
53.步骤s24:云服务端103在接收到所述唤醒请求后向对应的sdk端101转发唤醒请求。
54.具体而言,在由app端104发送至云服务端103的唤醒请求中包含有唤醒对象的物理地址信息,通过该物理地址来唯一确认设备在网络中的位址。物理地址也称为mac地址或硬件地址,一个mac地址的长度通常为48位(即6个字节),表示为12个16进制数。
55.步骤s25:sdk端101在接收到唤醒请求后断开与云服务端103之间的长连接。
56.应理解的是,由于sdk端101与云服务端103之间建立长连接的目的是对其与mqtt端102断开连接的一种补偿机制,在sdk端101与云服务端103建立长连接的状态下,可由app端104发起唤醒请求来唤醒对应的sdk端101,以使被唤醒的sdk端101重新与mqtt端102建立连接。也因此,当被需要的sdk端101被唤醒后,即可关闭与云服务端103之间的长连接,这样
可以最大程度地节约带宽资源,提升系统的整体运行效率。
57.步骤s26:sdk端101在断开与云服务端103之间的长连接后,完成与mqtt端102的连接并上线。
58.步骤s27:mqtt端102将sdk端101的上线信息通知云服务端103。
59.步骤s28:云服务端103在接收到所述上线信息后,根据sdk端101的mac地址查对应的app终端104,向mqtt端102订阅相关主题,并将发布消息主题告知所述app终端用户。
60.步骤s29:app终端104接收到发布消息主题后,向mqtt102订阅对应的主题,并在消息接收完成后取消该主题的订阅。
61.由上述技术内容可知:本发明实施例提供的技术方案,断开sdk端与mqtt端之间的连接,并在sdk端与云服务端之间建立websocket长连接,通过唤醒机制将app端发起的https请求发送至云服务端,以通过所述云服务端唤醒对应的sdk端,被唤醒的sdk端重新建立与mqtt端的连接,通过查设备对应的app终端,将发布消息的主题告知该app端,使之完成向mqtt端的主题订阅。
62.因此,本发明实施例提供的技术方案实际上是一种结合了socket长连接和mqtt主题订阅的综合方案:socket长连接的方式能够在终端设备与云端没有交互的情况下双方只需要保持一个心跳连接且占用cpu与内存资源较少;而mqtt主题订阅使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;socket长连接在空闲资源的利用上可以大大的发挥出他的作用,而mqtt在协议的开发上能够发挥其独特的优势,两者可取其长补充其短,从而可使本发明实施例的资源能够最大化的利用。
63.如图3所示,展示了本发明实施例中的一种基于唤醒通道的mqtt主题订阅方法的流程示意图。本实施例中基于唤醒通道的mqtt主题订阅方法应用于sdk端,方法流程包括:
64.步骤s31:基于资源配置策略断开与mqtt端之间的连接。
65.步骤s32:与云服务端之间形成供app端唤醒的唤醒通道。
66.步骤s33:基于唤醒机制被唤醒后断开所述唤醒通道并在重建与mqtt端之间的连接后将上线信息通知所述云服务端,以供所述云服务端查对应的app端并将发布消息的主题告知该app端,以供所述app端在接收到所述发布消息的主题后向mqtt端订阅对应的主题。
67.需说明的是,sdk端与mqtt端之间的连接与断开,以及sdk端与云服务端之间的长连接的建立与断开,都可由两端中的一者或另一者来执行实现。例如,sdk端与mqtt端之间的连接与断开可由sdk端执行实现,也可由mqtt端执行实现,本实施例不做限定。
68.本发明实施例提供的基于唤醒通道的mqtt主题订阅方法可以采用终端侧或服务器侧实施,就基于唤醒通道的mqtt主题订阅终端的硬件结构而言,请参阅图4,为本发明实施例提供的sdk端400的一个可选的硬件结构示意图,该终端400可以是移动电话、计算机设备、平板设备、个人数字处理设备、工厂后台处理设备等。基于唤醒通道的mqtt主题订阅终端400包括:至少一个处理器401、存储器402、至少一个网络接口404和用户接口406。装置中的各个组件通过总线系统405耦合在一起。可以理解的是,总线系统405用于实现这些组件之间的连接通信。总线系统405除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统。
69.其中,用户接口406可以包括显示器、键盘、鼠标、轨迹球、点击、按键、按钮、触感
板或者触摸屏等。
70.可以理解,存储器402可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,staticrandom access memory)、同步静态随机存取存储器(ssram,synchronous static randomaccess memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类别的存储器。
71.本发明实施例中的存储器402用于存储各种类别的数据以支持基于唤醒通道的mqtt主题订阅终端400的操作。这些数据的示例包括:用于在基于唤醒通道的mqtt主题订阅终端400上操作的任何可执行程序,如操作系统4021和应用程序4022;操作系统4021包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序4022可以包含各种应用程序,例如媒体播放器(mediaplayer)、浏览器(browser)等,用于实现各种应用业务。实现本发明实施例提供的基于唤醒通道的mqtt主题订阅方法可以包含在应用程序4022中。
72.上述本发明实施例揭示的方法可以应用于处理器401中,或者由处理器401实现。处理器401可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器401可以是通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器401可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器401可以是微处理器或者任何常规的处理器等。结合本发明实施例所提供的配件优化方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
73.在示例性实施例中,基于唤醒通道的mqtt主题订阅终端400可以被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logicdevice),用于执行前述方法。
74.如图5所示,展示了本发明实施例中的一种基于唤醒通道的mqtt主题订阅方法的流程示意图。本实施例中基于唤醒通道的mqtt主题订阅方法应用于云服务端,该方法包括:
75.步骤s51:与sdk端之间形成供app端唤醒的唤醒通道。
76.步骤s52:从app端接收唤醒请求后基于唤醒机制唤醒对应的sdk端,并断开与被唤醒的sdk端之间的唤醒通道。
77.步骤s53:从mqtt端接收所述被唤醒的sdk端的上线信息,并查对应的app端并将发布消息的主题告知该app端,以供所述app端在接收到所述发布消息的主题后向mqtt端订阅对应的主题。
78.本发明实施例提供的基于唤醒通道的mqtt主题订阅方法可以采用终端侧或服务器侧实施,就基于唤醒通道的mqtt主题订阅终端的硬件结构而言,请参阅图6,为本发明实
施例提供的云服务端600的一个可选的硬件结构示意图,该终端600可以是移动电话、计算机设备、平板设备、个人数字处理设备、工厂后台处理设备等。基于唤醒通道的mqtt主题订阅终端600包括:至少一个处理器601、存储器602、至少一个网络接口604和用户接口606。装置中的各个组件通过总线系统605耦合在一起。可以理解的是,总线系统605用于实现这些组件之间的连接通信。总线系统605除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统。
79.其中,用户接口606可以包括显示器、键盘、鼠标、轨迹球、点击、按键、按钮、触感板或者触摸屏等。
80.可以理解,存储器602可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,staticrandom access memory)、同步静态随机存取存储器(ssram,synchronous static randomaccess memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类别的存储器。
81.本发明实施例中的存储器602用于存储各种类别的数据以支持基于唤醒通道的mqtt主题订阅终端600的操作。这些数据的示例包括:用于在基于唤醒通道的mqtt主题订阅终端600上操作的任何可执行程序,如操作系统6021和应用程序6022;操作系统6021包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序6022可以包含各种应用程序,例如媒体播放器(mediaplayer)、浏览器(browser)等,用于实现各种应用业务。实现本发明实施例提供的基于唤醒通道的mqtt主题订阅方法可以包含在应用程序6022中。
82.上述本发明实施例揭示的方法可以应用于处理器601中,或者由处理器601实现。处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器601可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器601可以是微处理器或者任何常规的处理器等。结合本发明实施例所提供的配件优化方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
83.在示例性实施例中,基于唤醒通道的mqtt主题订阅终端600可以被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logicdevice),用于执行前述方法。
84.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现应用于sdk端的基于唤醒通道的mqtt主题订阅方法;或者实现应用于云服务端的基于唤醒通道的mqtt主题订阅方法。
85.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
86.于本技术提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、u盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(dsl)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、dsl或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(cd)、激光光盘、光盘、数字多功能光盘(dvd)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
87.综上所述,本技术提供基于唤醒通道的mqtt主题订阅方法、装置、终端及介质,本发明提供了一种提高基于唤醒通道的mqtt主题订阅效率的方法,。所以,本技术有效克服了现有技术中的种种缺点而具高度产业利用价值。
88.上述实施例仅例示性说明本技术的原理及其功效,而非用于限制本技术。任何熟悉此技术的人士皆可在不违背本技术的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本技术所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本技术的权利要求所涵盖。

技术特征:


1.一种基于唤醒通道的mqtt主题订阅系统,其特征在于,包括:sdk端、mqtt端、云服务端及app端;其中:基于资源配置策略断开所述sdk端与mqtt端之间的连接;通过所述云服务端构建供所述app端唤醒所述sdk端的唤醒通道;基于唤醒机制唤醒对应的sdk端后,被唤醒的sdk端断开所述唤醒通道并在重建与mqtt端之间的连接后将上线信息通知所述云服务端,以供所述云服务端查对应的app端并将发布消息的主题告知该app端;所述app端在接收到所述发布消息的主题后向mqtt端订阅对应的主题。2.根据权利要求1所述的基于唤醒通道的mqtt主题订阅系统,其特征在于,所述基于资源配置策略断开所述sdk端与mqtt端之间的连接,包括:若在预设的资源配置合理时效内所述sdk端与mqtt端未进行交互则断开sdk端与mqtt端之间的连接。3.根据权利要求1所述的基于唤醒通道的mqtt主题订阅系统,其特征在于,所述通过所述云服务端构建供所述app端唤醒所述sdk端的唤醒通道,包括:在断开sdk端与mqtt端的连接后,在sdk端与云服务端之间建立socket长连接以作为所述app端唤醒对应的sdk端的唤醒通道;其中,所述被唤醒的sdk端通过断开与所述云服务端之间的socket长连接来断开所述唤醒通道。4.根据权利要求1所述的基于唤醒通道的mqtt主题订阅系统,其特征在于,所述基于唤醒机制唤醒对应的sdk端包括:所述云服务端从所述app端接收包含有被请求唤醒对象的物理地址信息的且经证书加密、对称加密或非对称加密后进行传输的https请求,并根据所述被请求唤醒对象的物理地址信息查并唤醒对应的sdk端。5.根据权利要求1所述的基于唤醒通道的mqtt主题订阅系统,其特征在于,所述app端向mqtt端订阅对应的主题并在消息接收完成后取消该主题的订阅。6.一种基于唤醒通道的mqtt主题订阅方法,其特征在于,应用于sdk端;所述方法包括:基于资源配置策略断开与mqtt端之间的连接;与云服务端之间形成供app端唤醒的唤醒通道;基于唤醒机制被唤醒后断开所述唤醒通道并在重建与mqtt端之间的连接后将上线信息通知所述云服务端,以供所述云服务端查对应的app端并将发布消息的主题告知该app端,以供所述app端在接收到所述发布消息的主题后向mqtt端订阅对应的主题。7.一种基于唤醒通道的mqtt主题订阅方法,其特征在于,应用于云服务端;所述方法包括:与sdk端之间形成供app端唤醒的唤醒通道;从app端接收唤醒请求后基于唤醒机制唤醒对应的sdk端,并断开与被唤醒的sdk端之间的唤醒通道;从mqtt端接收所述被唤醒的sdk端的上线信息,并查对应的app端并将发布消息的主题告知该app端,以供所述app端在接收到所述发布消息的主题后向mqtt端订阅对应的主题。8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现应用于sdk端的权利要求6中的基于唤醒通道的mqtt主题订阅方法;或者实现应用于云服务端的权利要求7中的基于唤醒通道的mqtt主题订阅方法。9.一种sdk端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求6所述基于唤醒通道的mqtt主题订阅方法。10.一种云服务端,其特征在于,包括:处理器及存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求7所述基于唤醒通道的mqtt主题订阅方法。

技术总结


本申请提供基于唤醒通道的MQTT主题订阅系统、方法、终端及介质,包括:SDK端、MQTT端、云服务端及APP端;其中:基于资源配置策略断开所述SDK端与MQTT端之间的连接;通过所述云服务端构建供所述APP端唤醒所述SDK端的唤醒通道;基于唤醒机制唤醒对应的SDK端后,被唤醒的SDK端断开所述唤醒通道并在重建与MQTT端之间的连接后将上线信息通知所述云服务端,以供所述云服务端查对应的APP端并将发布消息的主题告知该APP端;所述APP端在接收到所述发布消息的主题后向MQTT端订阅对应的主题。因此,SDK客户端与APP端在设定的时间内没有做任何交互时可释放该SDK客户端与MQTT的连接,同时与云端保持一个长连接,作为APP端唤醒SDK客户端的通道,大大的增加了MQTT连接资源的合理化利用。大大的增加了MQTT连接资源的合理化利用。大大的增加了MQTT连接资源的合理化利用。


技术研发人员:

高智彪 聂仕华 方孟杰

受保护的技术使用者:

上海黑眸智能科技有限责任公司

技术研发日:

2022.08.10

技术公布日:

2022/11/22

本文发布于:2024-09-20 15:28:18,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/2083.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   主题   通道   服务端
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议