终端远程控制方法与流程

文档序号:28952591发布日期:2022-02-19 11:00阅读:314来源:国知局
终端远程控制方法与流程

1.本发明涉及远程控制技术领域,特别是一种终端远程控制方法。


背景技术:

2.mqtt(message queuing telemetry transport,消息队列遥测传输)是由ibm公司开发的轻量级的即时通信协议。mqtt采用的是发布/订阅的模式,而不是传统的请求/响应模式,这种更为轻量级的模式使得mqtt更加适用于低功耗和网络带宽有限的物联网设备。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
3.redis是一个开源的、使用c语言编写的、支持网络交互的、可基于内存也可持久化的key-value数据库,具备超高的读写性能,支持丰富的数据类型,所有操作都具备原子性,是高并发、高性能场景下进行数据缓存的常用工具之一。
4.cgi:通用网关接口(common gateway interface)是一个web服务器主机提供信息服务的标准接口。通过cgi接口,web服务器就能够获取客户端提交的信息,转交给服务器端的cgi程序进行处理,最后返回结果给客户端。
5.近年来随着信息技术的发展,智能终端设备已经深入人们的生活,同时也面临新的挑战,如何为人们提供灵活便捷的智能终端设备远程控制能力,提升人们的生活便捷性,成为大家关注的焦点之一。现有的终端远程控制方法存在以下缺点:
6.(1)现有的终端远程控制方法大多都是直接通过不同设备订阅不同的mqtt主题实现对终端设备的控制,但由于订阅发布的机制造成用户前端页面无法主动获取终端设备的响应结果,对多终端并发控制时平台无法对控制指令进行有效追踪调度、无法统一处理指令响应超时、无法记录指令响应过程等问题;
7.(2)现有的终端远程控制方法大多都需要按照接入平台的要求重新定义新的控制接口,不能直接复用终端自身原有的cgi接口,终端接入时需要根据平台接口协议进行大量的开发工作。


技术实现要素:

8.为解决现有技术中存在的问题,本发明的目的是提供一种终端远程控制方法,本发明一方面有效解决了平台对多终端并发控制时的有效调度以及用户前端及时获取指令响应结果的问题,另一方面也提升了设备接入控制平台的开发效率和成本。
9.为实现上述目的,本发明采用的技术方案是:一种终端远程控制方法,包括pc/移动端、服务器和终端设备,所述pc/移动端包括用户前端页面,所述服务器包括控制中心服务、mqtt服务器和redis服务,所述终端设备包括终端插件和终端cgi接口;所述的方法包括:
10.当所述用户前端页面点击按钮对终端设备进行远程操作时,用户前端页面通过rest api将对应的控制指令发送给控制中心服务;
11.控制中心服务给该条控制指令赋予唯一识别码并调用redis服务将控制指令进行缓存并根据业务规则同步设置过期策略;
12.控制中心服务再调用mqtt服务通过指定的主题将该控制指令下发给对应终端插件,终端插件通过订阅对应的主题接收控制中心服务下发的远程控制指令;
13.终端插件再根据远程控制指令的参数调取对应的终端cgi接口执行指令,待指令执行完成后终端插件再通过rest api将对应指令的执行结果返回控制中心服务;
14.控制中心服务收到终端的执行结果或者检测到控制指令在redis中缓存过期时立即通过rest api将对应的执行状态结果返回给用户前端页面,从而实现对终端远程控制的整个流程。
15.作为本发明的进一步改进,还包括:
16.当并发存在多个用户前端页面分别对不同终端设备进行远程控制时,控制中心服务将根据给每个控制指令赋予的唯一识别码以及请求时间进行区分,从而实现多终端并发控制时对控制指令进行有效追踪调度。
17.本发明的有益效果是:
18.本发明将mqtt、redis、终端cgi以及rest api技术进行融合,解决了单纯的mqtt订阅发布的机制造成用户前端页面无法主动获取终端设备的响应过程,对多终端并发控制时平台无法对控制指令进行有效追踪调度、无法统一处理指令响应超时、无法记录指令响应过程等问题,同时本发明基于终端原有cgi接口进行调度以达到对终端的控制,实现了对终端原有cgi的完美兼容,极大提高了终端接入的开发便捷性和效率。所以,本发明一方面有效解决了平台对多终端并发控制时的有效调度以及用户前端及时获取指令响应结果的问题,另一方面也提升了设备接入控制平台的开发效率和成本。
附图说明
19.图1为本发明实施例中各个模块实体关系的结构框图;
20.图2为本发明实施例的业务逻辑流程图。
具体实施方式
21.下面结合附图对本发明的实施例进行详细说明。
22.实施例
23.如图1和图2所示,一种终端远程控制方法,主要由用户前端页面、控制中心服务、mqtt服务、redis服务、终端插件、终端cgi接口几大模块结合实现。当用户前端页面点击按钮对终端进行远程操作时,用户前端页面将通过rest api将对应的控制指令发送给控制中心服务,控制中心服务给该条控制指令赋予唯一识别码并调用redis服务将控制指令进行缓存并根据业务规则同步设置过期策略,控制中心服务再调用mqtt服务通过指定的主题将该控制指令下发给对应终端,终端插件通过订阅对应的主题接收控制中心服务下发的远程控制指令,终端插件再根据远程控制指令的参数调取对应的cgi接口执行指令,待指令执行完成后终端插件再通过rest api将对应指令的执行结果返回控制中心服务,控制中心服务收到终端的执行结果或者检测到指令在redis中缓存过期时立即通过rest api将对应的执行状态结果返回给用户前端页面,从而实现对终端远程控制的整个流程。当并发存在多个
用户前端页面分别对不同终端设备进行远程控制时,控制中心服务将根据给每个控制指令赋予的唯一识别码以及请求时间进行区分,从而实现多终端并发控制时对控制指令进行有效追踪调度。
24.再如图2所示,本实施例的整体业务流程如下:
25.1、用户前端页面通过rest api将控制指令发送给控制中心服务;
26.2、控制中心服务给该控制指令赋予唯一识别码,并调用redis服务进程缓存,同时设置缓存的过期时间;
27.3、控制中心服务开启异步检测线程,检测该控制指令是否缓存过期或是否有收取到该控制指令的执行结果返回;
28.4、控制中心服务调用mqtt服务,将控制指令进行下发;
29.5、mqtt服务接收到控制指令并通过指定的主题发布该条控制指令;
30.6、终端插件通过订阅指定的主题接收该条控制指令;
31.7、终端插件根据控制指令中的cgi参数直接调用终端cgi接口;
32.8、终端cgi接口根据指令进行执行,并返回执行结果;
33.9、终端插件获取执行结果,然后再将控制指令唯一码和指令执行结果通过rest api返回控制中心服务;
34.10、控制中心服务调用redis服务根据返回值的唯一识别码将执行结果写入包含对应唯一识别码的指令的执行结果中;
35.11、控制中心服务异步检测线程检测到包含该唯一识别码的指令具有执行结果或检测到指令缓存过期则立即将执行状态通过rest api返回用户前端页面;
36.12、用户前端页面向用户展示执行结果。
37.以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1