CN114338631A - 设备控制方法、装置和系统 - Google Patents
设备控制方法、装置和系统 Download PDFInfo
- Publication number
- CN114338631A CN114338631A CN202111573601.8A CN202111573601A CN114338631A CN 114338631 A CN114338631 A CN 114338631A CN 202111573601 A CN202111573601 A CN 202111573601A CN 114338631 A CN114338631 A CN 114338631A
- Authority
- CN
- China
- Prior art keywords
- edge computing
- identification information
- computing gateway
- gateway
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000004044 response Effects 0.000 claims abstract description 65
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 abstract description 10
- 230000009191 jumping Effects 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 9
- 230000000903 blocking effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种设备控制方法、装置和系统,该方法包括:接收应用客户端经负载均衡网关发送的请求信息,从请求信息中获取待控制设备的标识信息;根据标识信息,确定与应用服务器建立TCP连接且与标识信息匹配的边缘计算网关;根据TCP连接,向边缘计算网关发送请求信息,以供边缘计算网关解析出请求信息中待控制设备的标识信息,若根据标识信息,确认边缘计算网关与待控制设备建立网络连接,则根据网络连接,将请求信息中的控制指令发送至待控制设备,对待控制设备进行控制。本发明实现在整个寻址过程中,不存在多个应用服务器的网络跳转和请求寻址等待响应,降低了请求等待响应次数、请求链路长度、网络阻塞和响应延迟,可提高用户体验感。
Description
技术领域
本发明涉及物联网技术领域,尤其涉及一种设备控制方法、装置和系统。
背景技术
在物联网领域中,分布式边缘计算网关连接着成千上万的通信设备,应用层通过边缘计算网关向通信设备下发控制指令。如图1展示了完整的网络通信的流程图,若应用客户端向设备3发送一条指令,则需要负载均衡网关将请求转发给应用服务器1,由应用服务器1根据设备3的唯一标识进行HTTP(Hypertext Transfer Protocol,超文本传输协议)请求寻址,找到其对应的链路,即应用服务器2到边缘计算网关2之后,再通过HTTP请求将应用客户端的指令转发给应用服务器2后依次转发给边缘计算网关2和设备3,最终完成指令下发。
但是,在实际应用中,包括但不限于共享单车和共享电动车等多用户的情况下,某一时刻大量用户给不同设备下发指令,上述由应用服务器1将应用客户端的指令转发至应用服务器2时,中间有一次HTTP请求寻址边缘计算网关的过程。因此,在由应用客户端向设备发送控制指令的链路中,需要多个应用服务器对控制指令进行转发,而多个应用服务器之间存在HTTP请求寻址等待响应,导致请求链路拉长、网络阻塞和响应延迟等情况,进而导致用户体验感差。
发明内容
本发明提供一种设备控制方法、装置和系统,用以解决现有技术在由应用客户端向设备发送控制指令的链路中,需要多个应用服务器对控制指令进行转发,而多个应用服务器之间存在HTTP请求寻址等待响应,导致请求链路拉长、网络阻塞和响应延迟等情况,进而导致用户体验感差的缺陷,实现降低整个链路的HTTP请求等待响应次数,提高用户体验感。
本发明提供一种设备控制方法,应用于应用服务器,包括:
接收应用客户端通过负载均衡网关发送的请求信息,从所述请求信息中解析出待控制设备的标识信息;
根据所述标识信息,确定与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关;
根据所述TCP连接,向所述边缘计算网关发送所述请求信息,以供所述边缘计算网关从所述请求信息中,解析出所述待控制设备的标识信息,若根据所述标识信息,确认所述边缘计算网关与所述待控制设备建立网络连接,则根据所述网络连接,将所述请求信息中的控制指令发送至所述待控制设备,以对所述待控制设备进行控制。
根据本发明提供的一种设备控制方法,所述根据所述标识信息,确定与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关,包括:
在第一缓存中,查找所述标识信息对应的边缘计算网关的IP地址和第一端口号;
在查找到所述IP地址和第一端口号的情况下,在第二缓存中查找所述IP地址对应的第二端口号;
在查找到所述第二端口号的情况下,在第三缓存中查找所述IP地址和所述第二端口号对应的TCP连接;
在查到所述TCP连接的情况下,确定所述边缘计算网关已与所述待控制设备建立TCP连接。
根据本发明提供的一种设备控制方法,还包括:
在未查到所述TCP连接的情况下,通过所述IP地址和所述第二端口号与所述边缘计算网关建立TCP连接后,将所述IP地址和所述第二端口号与所述TCP连接以键值对的方式缓存在所述第三缓存中,并定时向发送所述边缘计算网关发送心跳保活报文。
根据本发明提供的一种设备控制方法,所述第一缓存的内容由任一边缘计算网关在接收到任一设备发送的登录报文的情况下,从所述登录报文中解析出所述任一设备的标识信息后,将所述任一设备的标识信息作为关键码,将所述任一边缘计算网关的IP地址和第一端口号作为值,以键值对的形式进行存储后形成。
根据本发明提供的一种设备控制方法,所述第二缓存的内容为将目标字符串作为关键码,将任一边缘计算网关的IP地址和第二端口号为值,以键值对的形式进行存储后形成。
根据本发明提供的一种设备控制方法,在所述根据所述TCP连接,向所述边缘计算网关发送所述请求信息之后,还包括:
接收与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关转发的所述待控制设备的响应信息;
将所述响应信息通过所述负载均衡网关发送至所述应用客户端。
本发明还提供一种设备控制装置,包括:
接收模块,用于接收应用客户端通过负载均衡网关发送的请求信息,从所述请求信息中解析出待控制设备的标识信息;
确定模块,用于根据所述标识信息,确定与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关;
控制模块,用于根据所述TCP连接,向所述边缘计算网关发送所述请求信息,以供所述边缘计算网关从所述请求信息中,解析出所述待控制设备的标识信息,若根据所述标识信息,确认所述边缘计算网关与所述待控制设备建立网络连接,则根据所述网络连接,将所述请求信息中的控制指令发送至所述待控制设备,以对所述待控制设备进行控制。
本发明还提供一种设备控制系统,包括如上述权利要求所述的设备控制装置、应用客户端、负载均衡网关、边缘计算网关和设备;
其中,所述应用客户端所述负载均衡网关连接;
所述负载均衡网关与一个或多个所述设备控制装置连接;
每一所述设备控制装置与一个或多个所述边缘计算网关连接;
每一所述边缘计算网关与一个或多个所述设备连接。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述设备控制方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述设备控制方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述设备控制方法的步骤。
本发明提供的设备控制方法、装置和系统,通过应用服务器直接与边缘计算网关建立TCP连接,并根据请求信息中的标识,自动确定准确与应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关,进而确定应用服务器与边缘计算网关之间的通信链路,以将请求信息快速准确地发送至边缘计算网关,由边缘计算网关通过与待控制设备建立的网络连接,将请求信息中的控制指令快速准确地发送至待控制设备,进而对待控制设备进行控制;在整个请求信息传输链路的寻址过程中,不存在应用服务器与应用服务器之间的网络跳转以及应用服务器与应用服务器之间的HTTP请求寻址等待响应,不仅有效降低整个链路的HTTP请求等待响应次数,而且有效降低整个请求链路的长度、网络阻塞和响应延迟,进而有效提高用户体验感。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中提供的设备控制方法的流程示意图;
图2是本发明提供的设备控制方法的流程示意图;
图3是本发明提供的设备控制方法中的请求信息和响应信息传输的流程示意图;
图4是本发明提供的设备控制装置的结构示意图;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在实际应用中,包括但不限于共享单车和共享电动车等多用户的情况下,某一时刻大量用户给不同设备下发指令,由应用服务器1将应用客户端的指令转发至应用服务器2时,中间有一次HTTP请求寻址边缘计算网关的过程;且在由应用服务器2将设备的响应信息转发给应用服务器1时,中间也有一次HTTP请求寻址应用服务器的过程,因此,在由应用客户端向设备发送控制指令和设备向应用客户端发送响应信息的整个链路中,至少存在两次HTTP请求等待响应,导致请求链路拉长、网络阻塞和响应延迟等情况,进而导致用户体验感差,甚至是响应用户的最终使用。
针对上述问题,本实施例提供一种设备控制方法。下面结合图2描述本发明的设备控制方法,该方法的执行主体可以是应用服务器,该方法包括:
步骤201,接收应用客户端通过负载均衡网关发送的请求信息,从所述请求信息中解析出待控制设备的标识信息;
待控制设备可以是共享自行车、共享电单车、共享电动汽车或家电设备等,本实施对此不作具体地限定。
可选地,在用户需要向待控制设备发送控制指令时,首先在应用客户端输入请求信息;请求信息中至少包含待控制设备的标识信息和对待控制设备进行控制的控制指令,本实施例对此不作具体地限定,如,也可以包含应用客户端的标识信息。请求信息可以是HTTP请求的形式进行发送等。
其中,输入请求信息的方式包括但不限于语音、文字、物理按键或虚拟按键中的一种或多种,本实施例对此不作具体地限定。
例如,需要对共享单车发送开锁指令时,用户使用手机对共享单车进行扫码后点击用于确认开锁的虚拟按键即可生成开锁的请求信息。
应用客户端在获取到请求信息后,将请求信息转发到应用服务器;
应用服务器接收到请求信息后,从请求信息中解析出待控制设备的标识信息。每一待控制设备具有唯一的标识信息。
步骤202,根据所述标识信息,确定与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关;
其中,标识信息和应用服务器与边缘计算网关之间的TCP(Transmission ControlProtocol,传输控制协议)连接的映射关系,标识信息与边缘计算网关之间的映射关系预先存储;即不同标识信息对应不同的边缘计算网关,以及不同边缘计算网关与应用服务器之间的TCP连接状态;
可选地,应用服务器在获取到标识信息后,确定与应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关;
具体确定方式包括为:根据标识信息,查找标识信息对应的边缘计算网关;根据标识信息,查找TCP连接列表中标识信息对应的边缘计算网关;若查找到,则表明该边缘计算网关已与应用服务器建立TCP连接,将该边缘计算网关作为与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关。
或者,根据标识信息,查找标识信息对应的边缘计算网关;然后,读取TCP连接列表中所有与应用服务器连接的边缘计算网关,然后,查找标识信息对应的边缘计算网关是否与所有与应用服务器连接的边缘计算网关中任一个相匹配,若存在,则表明该边缘计算网关已与应用服务器建立TCP连接,将该边缘计算网关作为与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关。本实施例不对上述确定方式作具体地限定。
步骤203,根据所述TCP连接,向所述边缘计算网关发送所述请求信息,以供所述边缘计算网关从所述请求信息中,解析出所述待控制设备的标识信息,若根据所述标识信息,确认所述边缘计算网关与所述待控制设备建立网络连接,则根据所述网络连接,将所述请求信息中的控制指令发送至所述待控制设备,以对所述待控制设备进行控制。
可选地,应用服务器在获取到与应用服务器建立TCP连接且与标识信息匹配的边缘计算网关后,可以准确获取应用服务器到边缘计算网关之间的TCP连接;
应用服务器可通过该TCP连接向边缘计算网关转发请求信息;
边缘计算网关在获取到请求信息后,可以从请求信息中解析出待控制设备的标识信息;然后,根据待控制设备的标识信息,确认边缘计算网关是否与待控制设备建立网络连接;若与待控制设备建立网络连接,则对请求信息中的控制指令进行组装后,通过该网络连接发送至待控制设备;待控制设备接收到控制指令后,执行控制指令对应的操作,以对应用客户端发送的请求信息进行响应。
本实施例中应用服务器直接与边缘计算网关建立TCP连接,并根据请求信息中的标识,自动确定准确与应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关,进而确定应用服务器与边缘计算网关之间的通信链路,以将请求信息快速准确地发送至边缘计算网关,由边缘计算网关通过与待控制设备建立的网络连接,将请求信息中的控制指令快速准确地发送至待控制设备,进而对待控制设备进行控制;在整个请求信息传输链路的寻址过程中,不存在应用服务器与应用服务器之间的网络跳转以及应用服务器与应用服务器之间的HTTP请求寻址等待响应,不仅有效降低整个链路的HTTP请求等待响应次数,而且有效降低整个请求链路的长度、网络阻塞和响应延迟,进而有效提高用户体验感。
在上述实施例的基础上,本实施例中所述根据所述标识信息,确定与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关,包括:在第一缓存中,查找所述标识信息对应的边缘计算网关的IP地址和第一端口号;在查找到所述IP地址和第一端口号的情况下,在第二缓存中查找所述IP地址对应的第二端口号;在查找到所述第二端口号的情况下,在第三缓存中查找所述IP地址和所述第二端口号对应的TCP连接;在查到所述TCP连接的情况下,确定所述边缘计算网关已与所述待控制设备建立TCP连接。
其中,第一缓存和第二缓存均为设置在应用服务器外部的数据库;数据库可以是REDIS(Remote Dictionary Server,远程字典服务)数据库等,本实施例对此不作具体地限定。
其中,REDIS数据库是一种ANSI C语言编写、支持网络、可基于内存高效读写的KEY-VALUE数据库。
第三缓存为设置在应用服务器内部的堆内缓存。
第一缓存中存储有多组设备的标识信息与边缘计算网关的IP(InternetProtocol,网际互连协议)地址和第一端口号之间的对应关系;
第二缓存中存储有多组边缘计算网关的IP地址和第二端口号;
第三缓存中存储有多组边缘计算网关的IP地址和第二端口号与TCP连接之间的对应关系。
其中,边缘计算网关通过第一端口,与应用服务器建立通信链路;
边缘计算网关通过第二端口与设备建立通信链路;
可选地,应用服务器在获取到待控制设备的标识信息后,可以根据标识信息,并调用REDIS数据库中GET指令,在第一缓存中,读取与标识信息关联的边缘计算网关的IP地址和第一端口号。
在获取到该边缘计算网关的IP地址和第一端口号后,再调用REDIS数据库中的MEMBERS指令,从第二缓存中读取出所有边缘计算网关的IP地址和第二端口号构建成列表;
遍历上述列表,查找与该边缘计算网关的IP地址一致的一组记录,获取该边缘计算网关的IP地址和第二端口号,即获取IP地址对应的第二端口号。
在获取到该边缘计算网关的IP地址和第二端口号后,根据边缘计算网关的IP地址和第二端口号,在第三缓存中查找该IP地址和第二端口号对应的TCP连接,以确定应用服务器是否与该边缘计算网关建立TCP连接;
在查找到该IP地址和第二端口号对应的TCP连接的情况下,确定应用服务器已与该边缘计算网关建立TCP连接,可向该边缘计算网关发送请求信息。
本实施例中应用服务器与边缘计算网关之间建立TCP长连接,在通过应用服务器向待控制设备发送请求信息时,只需要通过在第一缓存中读取标识信息对应的边缘计算网关的IP地址和第一端口号,即可快速获取与待控制设备连接的边缘计算网关;并在第二缓存中查找IP地址对应的第二端口号,然后,在第三缓存中查找IP地址和第二端口号对应的TCP连接,即可快速准确获取可向待控制设备传输请求信息的通信链路,通过该通信链路可快速准确地将请求信息通过该通信链路发送至待控制设备,可以减少重复建立通信链路的延迟时间和连接请求占用的带宽,可有效缓解高并发下的网络阻塞和响应慢的问题。
在上述实施例的基础上,本实施例中还包括:在未查到所述TCP连接的情况下,通过所述IP地址和所述第二端口号与所述边缘计算网关建立TCP连接后,将所述IP地址和所述第二端口号与所述TCP连接以键值对的方式缓存在所述第三缓存中,并定时向发送所述边缘计算网关发送心跳保活报文。
可选地,在第三缓存中,未查到IP地址和第二端口号对应的TCP连接时,表明与所述标识信息匹配的边缘计算网关与应用服务器之间的TCP连接断开,需要重新根据边缘计算网关的IP地址和所述第二端口号与边缘计算网关的TCP服务建立TCP连接。
并在建立TCP连接后,将边缘计算网关的IP地址和第二端口号作为关键码,将TCP连接作为值,以键值对的形式保存在第三缓存中,以对第三缓存进行更新,便于下次通过当前的链路传输数据时,可以直接根据第三缓存即可获知应用服务器是否与相应的边缘计算网关建立TCP连接,并直接通过该TCP连接进行数据传输,有效减少建立连接的延迟时间。
另外,在应用服务器与相应的边缘计算网关建立TCP连接后,定时向边缘计算网关发送心跳保活报文,以使应用服务器与相应的边缘计算网关之间持续保持TCP连接。
本实施例通过在应用服务器与边缘计算网关之间的TCP连接断开时,及时建立TCP长连接,以便于下次直接通过该TCP连接进行数据传输,有效减少建立连接的延迟时间。
在上述各实施例的基础上,本实施例中所述第一缓存的内容由任一边缘计算网关在接收到任一设备发送的登录报文的情况下,从所述登录报文中解析出所述任一设备的标识信息后,将所述任一设备的标识信息作为关键码,将所述任一边缘计算网关的IP地址和第一端口号作为值,以键值对的形式进行存储后形成。
可选地,在接收应用客户端通过负载均衡网关发送的请求信息之前,还包括:
在每一边缘计算网关的第一端口上启动TCP服务,与设备进行通信。
在任一设备与任一边缘计算网关的TCP服务建立网络连接时,该设备向该边缘计算网关的TCP服务发送登录报文;
该边缘计算网关在接收到登录报文后,从登录报文中解析获取该设备的标识信息,并调用哈希表的SET指令将该设备的标识信息作为关键码KEY,将该边缘计算网关的IP地址和第一端口号作为值VALUE,以键值对的形式存储在第一缓存中。
例如,设备的标识信息和边缘计算网关的IP地址和第一端口号的存储形式为{设备的标识信息1,边缘计算网关的IP地址:第一端口号;…;设备的标识信息n,边缘计算网关的IP地址:第一端口号}。
此外,还可调用哈希表的SET指令将该设备的标识信息作为关键码KEY,将网络连接作为值VALUE,以键值对的形式存储在边缘计算网关的堆内缓存中。
本实施例通过在设备与边缘计算网关建立网络连接时,将设备的标识信息和边缘计算网关的IP地址和第一端口号以键值对的形式存储在第一缓存中,便于根据设备的标识信息,快速准确地获取设备与边缘计算网关之间的通信链路。
在上述各实施例的基础上,本实施例中所述第二缓存的内容为将目标字符串作为关键码,将任一边缘计算网关的IP地址和第二端口号为值,以键值对的形式进行存储后形成。
可选地,在接收应用客户端通过负载均衡网关发送的请求信息之前,还包括:
在每一边缘计算网关的第二端口上启动TCP服务,与应用服务器进行通信,监听请求信息的下发和响应信息的回复。
获取每一边缘计算网关的外网IP地址,调用REDIS数据库的SADD指令保存每一边缘计算网关的IP地址和第二端口号,其中KEY为目标字符串;其中,目标字符串可以是根据实际需求设置的任意字符串常量,如“ReplyAddress”;VALUE为至少一个边缘计算网关的IP地址和第二端口号的集合。
例如,在第二缓存中的存储形式为{“ReplyAddress”:[边缘计算网关1的IP地址:第二端口,边缘计算网关n的IP地址:第二端口];}。
本实施例对目标字符串和所有边缘计算网关IP地址和第二端口号以键值对的形式存储在第一缓存中,便于根据目标字符串,快速准确地获取到所有边缘计算网关IP地址和第二端口号。
在上述各实施例的基础上,本实例中在所述根据所述TCP连接,向所述边缘计算网关发送所述请求信息之后,还包括:接收与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关转发的所述待控制设备的响应信息;所述响应信息通过所述负载均衡网关发送至所述应用客户端。
其中,响应信息为对请求信息进行响应的信息;响应信息中至少包括待控制设备的标识信息和任务执行结果,本实施例对此不作具体地限定。
例如,请求信息为控制共享单车打开车锁,则响应信息为车锁已打开或车辆故障,无法打开车锁等。
可选地,在待控制设备完成控制任务后,可向应用客户端发送响应信息;
可选地,待控制设备先将响应信息反馈至与其建立网络连接,且与标识信息对应的边缘计算网关;
边缘计算网关从响应信息中解析出设备的标识信息;根据标识信息在其堆内缓存中查找TCP连接,确定边缘计算网关是否与应用服务器建立TCP连接;若查找到,则表明边缘计算网关已与应用服务器建立连接;
边缘计算网关通过TCP连接,将响应信息发送至应用服务器;
应用服务器在接收到响应信息后,将响应信息转发至负载均衡网关;由负载均衡网关将响应信息发送至应用客户端。
本实施例中应用服务器直接与边缘计算网关建立TCP连接,并根据响应信息中的标识,自动准确地确定与应用服务器建立TCP连接且与标识信息匹配的边缘计算网关,进而确定边缘计算网关与应用服务器之间的通信链路,使得边缘节点网关可将响应信息快速准确地发送至应用服务器,由应用服务器将响应信息快速准确地发送至应用客户端;在整个响应信息传输链路的寻址过程中,不存在应用服务器与应用服务器之间的网络跳转以及应用服务器与应用服务器之间的HTTP请求寻址等待响应,不仅有效降低整个链路的HTTP请求等待响应次数,而且有效降低整个响应信息传输链路的长度、网络阻塞和响应延迟,进而有效提高用户体验感。
如图3所示,为本实施例中设备控制方法中应用客户端、负载均衡网关、应用服务器、边缘计算网关和设备之间交互的流程图,具体步骤包括:
在边缘计算网关运行会启动两个TCP服务。
步骤1,边缘计算网关在第二端口上启动TCP服务1,与应用服务端通信,监听指令下发和回复;
步骤2,获取各边缘计算网关的IP地址和第二端口号,并调用REDIS的SADD方法保存边缘计算网关的IP地址和第二端口号在第二缓存中;其中KEY为任意字符串常量如“ReplyAddress”,VALUE为边缘计算网关的IP地址和第二端口号的集合;实际在REDIS中的存储形式为{“ReplyAddress”:[边缘计算网关1的IP地址:第二端口号,边缘计算网关n的IP地址:第二端口号]};
步骤3,边缘计算网关在第一端口上启动TCP服务2,与设备通信;
步骤4,设备与边缘计算网关的TCP服务2建立网络连接;
步骤5,设备向边缘计算网关的TCP服务2发送登录报文;
步骤6,边缘计算网关从登录报文解析出设备的标识信息,并以标识信息为KEY、以步骤4中的网络连接为VALUE保存在堆内缓存;
步骤7,调用REDIS数据库中的SET方法保存设备的标识信息与边缘计算网关的IP地址和第一端口号,实际在REDIS中的存储形式为{设备的标识信息1,边缘计算网关IP地址:第一端口号;设备标识信息n:边缘计算网关IP地址:第一端口};
步骤8,应用客户端向负载均衡网关发送HTTP请求信息;
步骤9,负载均衡网关转发请求信息到应用服务端;
步骤10,应用服务端从请求信息中解析出设备的标识信息,并调用REDIS的GET指令从第一缓存中获取边缘计算网关的IP地址和第一端口号;
步骤11,应用服务端再调用REDIS的MEMBERS(成员)(“ReplyAddress”)指令,从第二缓存中获取所有边缘计算网关的IP地址和第二端口号构成的列表;
步骤12,应用服务端遍历上述列表,找出与步骤10步中获得的边缘计算网关的IP地址一致的记录,即获取边缘计算网关的IP地址和第二端口号;
步骤13,应用服务端以第12步获取的边缘计算网关IP地址和第二端口号为KEY,从第三缓存中获取与边缘计算网关的TCP服务的TCP连接;若获取不到,则通过边缘计算网关的IP地址和第二端口号与边缘计算网关的TCP服务建立TCP连接并保存在第三缓存中,并定时发送心跳报文保活连接;
步骤14,应用服务端通过步骤13中的TCP长连接向边缘计算网关发送请求信息;
步骤15,边缘计算网关从指令信息中解析出设备的标识信息,并通过标识信息从边缘计算网关的堆内缓存获取设备的网络连接(步骤6中已缓存);再以标识信息为KEY,应用服务端的网络连接为VALUE保存在堆内缓存;
步骤16,边缘计算网关组装请求信息中的控制指令,通过步骤15步的网络连接下发给设备;
步骤17,设备反馈响应信息;
步骤18,边缘计算网关解析设备反馈的响应信息;
步骤19,边缘计算网关根据响应信息中设备的标识信息从堆内缓存中取出与应用服务端的网络连接(在步骤15中已放入),并发送响应信息;
步骤20,应用服务端收到响应信息,响应HTTP请求下发指令;
步骤21,负载均衡网关转发响应信息给应用客户端。
综上,本实施例在发送请求信息和/或反馈答复信息时,整个链路的寻址过程中,不存在应用服务器与应用服务器之间的网络跳转以及应用服务器与应用服务器之间的HTTP请求寻址等待响应,大大降低了整个链路的HTTP请求等待响应次数,而且有效降低整个链路的长度、网络阻塞和响应延迟,进而有效提高用户体验感;另外,应用服务端与边缘计算网关之间是TCP长连接,在高并发下不会有网络阻塞和响应慢的问题。
下面对本发明提供的设备控制装置进行描述,下文描述的设备控制装置与上文描述的设备控制方法可相互对应参照。
如图4所示,本实施例提供一种设备控制装置,该装置包括接收模块401、确定模块402和控制模块403,其中:
接收模块401用于接收应用客户端通过负载均衡网关发送的请求信息,从所述请求信息中解析出待控制设备的标识信息;
待控制设备可以是共享自行车、共享电单车、共享电动汽车或家电设备等,本实施对此不作具体地限定。
可选地,在用户需要向待控制设备发送控制指令时,首先在应用客户端输入请求信息;请求信息中至少包含待控制设备的标识信息和对待控制设备进行控制的控制指令,本实施例对此不作具体地限定,如,也可以包含应用客户端的标识信息。请求信息可以是HTTP请求的形式进行发送等。
其中,输入请求信息的方式包括但不限于语音、文字、物理按键或虚拟按键中的一种或多种,本实施例对此不作具体地限定。
例如,需要对共享单车发送开锁指令时,用户使用手机对共享单车进行扫码后点击用于确认开锁的虚拟按键即可生成开锁的请求信息。
应用客户端在获取到请求信息后,将请求信息转发到应用服务器;
应用服务器接收到请求信息后,从请求信息中解析出待控制设备的标识信息。每一待控制设备具有唯一的标识信息。
确定模块402用于根据所述标识信息,确定与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关;
其中,标识信息和应用服务器与边缘计算网关之间的TCP连接的映射关系,标识信息与边缘计算网关之间的映射关系预先存储;即不同标识信息对应不同的边缘计算网关,以及不同边缘计算网关与应用服务器之间的TCP连接状态;
可选地,应用服务器在获取到标识信息后,确定与应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关;
具体确定方式包括为:根据标识信息,查找标识信息对应的边缘计算网关;根据标识信息,查找TCP连接列表中标识信息对应的边缘计算网关;若查找到,则表明该边缘计算网关已与应用服务器建立TCP连接,将该边缘计算网关作为与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关。
或者,根据标识信息,查找标识信息对应的边缘计算网关;然后,读取TCP连接列表中所有与应用服务器连接的边缘计算网关,然后,查找标识信息对应的边缘计算网关是否与所有与应用服务器连接的边缘计算网关中任一个相匹配,若存在,则表明该边缘计算网关已与应用服务器建立TCP连接,将该边缘计算网关作为与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关。本实施例不对上述确定方式作具体地限定。
控制模块403用于根据所述TCP连接,向所述边缘计算网关发送所述请求信息,以供所述边缘计算网关从所述请求信息中,解析出所述待控制设备的标识信息,若根据所述标识信息,确认所述边缘计算网关与所述待控制设备建立网络连接,则根据所述网络连接,将所述请求信息中的控制指令发送至所述待控制设备,以对所述待控制设备进行控制。
可选地,应用服务器在获取到与应用服务器建立TCP连接且与标识信息匹配的边缘计算网关后,可以准确获取应用服务器到边缘计算网关之间的TCP连接;
应用服务器可通过该TCP连接向边缘计算网关转发请求信息;
边缘计算网关在获取到请求信息后,可以从请求信息中解析出待控制设备的标识信息;然后,根据待控制设备的标识信息,确认边缘计算网关是否与待控制设备建立网络连接;若与待控制设备建立网络连接,则对请求信息中的控制指令进行组装后,通过该网络连接发送至待控制设备;待控制设备接收到控制指令后,执行控制指令对应的操作,以对应用客户端发送的请求信息进行响应。
本实施例中应用服务器直接与边缘计算网关建立TCP连接,并根据请求信息中的标识,自动确定准确与应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关,进而确定应用服务器与边缘计算网关之间的通信链路,以将请求信息快速准确地发送至边缘计算网关,由边缘计算网关通过与待控制设备建立的网络连接,将请求信息中的控制指令快速准确地发送至待控制设备,进而对待控制设备进行控制;在整个请求信息传输链路的寻址过程中,不存在应用服务器与应用服务器之间的网络跳转以及应用服务器与应用服务器之间的HTTP请求寻址等待响应,不仅有效降低整个链路的HTTP请求等待响应次数,而且有效降低整个请求链路的长度、网络阻塞和响应延迟,进而有效提高用户体验感。
在上述实施例的基础上,本实施例中确定模块,具体用于:在第一缓存中,查找所述标识信息对应的边缘计算网关的IP地址和第一端口号;在查找到所述IP地址和第一端口号的情况下,在第二缓存中查找所述IP地址对应的第二端口号;在查找到所述第二端口号的情况下,在第三缓存中查找所述IP地址和所述第二端口号对应的TCP连接;在查到所述TCP连接的情况下,确定所述边缘计算网关已与所述待控制设备建立TCP连接。
在上述实施例的基础上,本实施例中还包括连接模块,用于:在未查到所述TCP连接的情况下,通过所述IP地址和所述第二端口号与所述边缘计算网关建立TCP连接后,将所述IP地址和所述第二端口号与所述TCP连接以键值对的方式缓存在所述第三缓存中,并定时向发送所述边缘计算网关发送心跳保活报文。
在上述各实施例的基础上,本实施例中所述第一缓存的内容由任一边缘计算网关在接收到任一设备发送的登录报文的情况下,从所述登录报文中解析出所述任一设备的标识信息后,将所述任一设备的标识信息作为关键码,将所述任一边缘计算网关的IP地址和第一端口号作为值,以键值对的形式进行存储后形成。
在上述各实施例的基础上,本实施例中所述第二缓存的内容为将目标字符串作为关键码,将任一边缘计算网关的IP地址和第二端口号为值,以键值对的形式进行存储后形成。
在上述各实施例的基础上,本实施例中还包括反馈模块,用于:接收与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关转发的所述待控制设备的响应信息;将所述响应信息通过所述负载均衡网关发送至所述应用客户端。
本实施例还提供一种设备控制系统,该系统设备控制装置,即应用服务器,以及应用客户端、负载均衡网关、边缘计算网关和设备;其中,所述应用客户端所述负载均衡网关连接;所述负载均衡网关与一个或多个所述应用服务器连接;每一所述应用服务器与一个或多个所述边缘计算网关连接;每一所述边缘计算网关与一个或多个所述设备连接。
本实施例中应用服务器直接与边缘计算网关连接,在发送请求信息和/或反馈答复信息时,整个链路的寻址过程中,不存在应用服务器与应用服务器之间的网络跳转以及应用服务器与应用服务器之间的HTTP请求寻址等待响应,大大降低了整个链路的HTTP请求等待响应次数,而且有效降低整个链路的长度、网络阻塞和响应延迟,进而有效提高用户体验感;另外,应用服务端与边缘计算网关之间是TCP长连接,在高并发下不会有网络阻塞和响应慢的问题。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储器503中的逻辑指令,以执行设备控制方法,该方法包括:接收应用客户端通过负载均衡网关发送的请求信息,从所述请求信息中解析出待控制设备的标识信息;根据所述标识信息,确定与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关;根据所述TCP连接,向所述边缘计算网关发送所述请求信息,以供所述边缘计算网关从所述请求信息中,解析出所述待控制设备的标识信息,若根据所述标识信息,确认所述边缘计算网关与所述待控制设备建立网络连接,则根据所述网络连接,将所述请求信息中的控制指令发送至所述待控制设备,以对所述待控制设备进行控制。
此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的设备控制方法,该方法包括:接收应用客户端通过负载均衡网关发送的请求信息,从所述请求信息中解析出待控制设备的标识信息;根据所述标识信息,确定与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关;根据所述TCP连接,向所述边缘计算网关发送所述请求信息,以供所述边缘计算网关从所述请求信息中,解析出所述待控制设备的标识信息,若根据所述标识信息,确认所述边缘计算网关与所述待控制设备建立网络连接,则根据所述网络连接,将所述请求信息中的控制指令发送至所述待控制设备,以对所述待控制设备进行控制。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的设备控制方法,该方法包括:接收应用客户端通过负载均衡网关发送的请求信息,从所述请求信息中解析出待控制设备的标识信息;根据所述标识信息,确定与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关;根据所述TCP连接,向所述边缘计算网关发送所述请求信息,以供所述边缘计算网关从所述请求信息中,解析出所述待控制设备的标识信息,若根据所述标识信息,确认所述边缘计算网关与所述待控制设备建立网络连接,则根据所述网络连接,将所述请求信息中的控制指令发送至所述待控制设备,以对所述待控制设备进行控制。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种设备控制方法,应用于应用服务器,其特征在于,包括:
接收应用客户端通过负载均衡网关发送的请求信息,从所述请求信息中解析出待控制设备的标识信息;
根据所述标识信息,确定与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关;
根据所述TCP连接,向所述边缘计算网关发送所述请求信息,以供所述边缘计算网关从所述请求信息中,解析出所述待控制设备的标识信息,若根据所述标识信息,确认所述边缘计算网关与所述待控制设备建立网络连接,则根据所述网络连接,将所述请求信息中的控制指令发送至所述待控制设备,以对所述待控制设备进行控制。
2.根据权利要求1所述的设备控制方法,其特征在于,所述根据所述标识信息,确定与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关,包括:
在第一缓存中,查找所述标识信息对应的边缘计算网关的IP地址和第一端口号;
在查找到所述IP地址和第一端口号的情况下,在第二缓存中查找所述IP地址对应的第二端口号;
在查找到所述第二端口号的情况下,在第三缓存中查找所述IP地址和所述第二端口号对应的TCP连接;
在查到所述TCP连接的情况下,确定所述边缘计算网关已与所述待控制设备建立TCP连接。
3.根据权利要求2所述的设备控制方法,其特征在于,还包括:
在未查到所述TCP连接的情况下,通过所述IP地址和所述第二端口号与所述边缘计算网关建立TCP连接后,将所述IP地址和所述第二端口号与所述TCP连接以键值对的方式缓存在所述第三缓存中,并定时向发送所述边缘计算网关发送心跳保活报文。
4.根据权利要求2或3所述的设备控制方法,其特征在于,所述第一缓存的内容由任一边缘计算网关在接收到任一设备发送的登录报文的情况下,从所述登录报文中解析出所述任一设备的标识信息后,将所述任一设备的标识信息作为关键码,将所述任一边缘计算网关的IP地址和第一端口号作为值,以键值对的形式进行存储后形成。
5.根据权利要求2或3所述的设备控制方法,其特征在于,所述第二缓存的内容为将目标字符串作为关键码,将任一边缘计算网关的IP地址和第二端口号为值,以键值对的形式进行存储后形成。
6.根据权利要求1-3任一所述的设备控制方法,其特征在于,在所述根据所述TCP连接,向所述边缘计算网关发送所述请求信息之后,还包括:
接收与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关转发的所述待控制设备的响应信息;
将所述响应信息通过所述负载均衡网关发送至所述应用客户端。
7.一种设备控制装置,其特征在于,包括:
接收模块,用于接收应用客户端通过负载均衡网关发送的请求信息,从所述请求信息中解析出待控制设备的标识信息;
确定模块,用于根据所述标识信息,确定与所述应用服务器建立TCP连接且与所述标识信息匹配的边缘计算网关;
控制模块,用于根据所述TCP连接,向所述边缘计算网关发送所述请求信息,以供所述边缘计算网关从所述请求信息中,解析出所述待控制设备的标识信息,若根据所述标识信息,确认所述边缘计算网关与所述待控制设备建立网络连接,则根据所述网络连接,将所述请求信息中的控制指令发送至所述待控制设备,以对所述待控制设备进行控制。
8.一种设备控制系统,其特征在于,包括如权利要求7所述的设备控制装置、应用客户端、负载均衡网关、边缘计算网关和设备;
其中,所述应用客户端所述负载均衡网关连接;
所述负载均衡网关与一个或多个所述设备控制装置连接;
每一所述设备控制装置与一个或多个所述边缘计算网关连接;
每一所述边缘计算网关与一个或多个所述设备连接。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述设备控制方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述设备控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111573601.8A CN114338631A (zh) | 2021-12-21 | 2021-12-21 | 设备控制方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111573601.8A CN114338631A (zh) | 2021-12-21 | 2021-12-21 | 设备控制方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114338631A true CN114338631A (zh) | 2022-04-12 |
Family
ID=81053898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111573601.8A Pending CN114338631A (zh) | 2021-12-21 | 2021-12-21 | 设备控制方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338631A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111065077A (zh) * | 2018-10-17 | 2020-04-24 | 阿里巴巴集团控股有限公司 | 蓝牙Mesh网络及其通信方法、设备与存储介质 |
CN112583618A (zh) * | 2019-09-30 | 2021-03-30 | 华为技术有限公司 | 为业务提供网络服务的方法、装置和计算设备 |
CN113422814A (zh) * | 2021-06-16 | 2021-09-21 | 青岛易来智能科技股份有限公司 | 设备控制指令的发送方法和系统、存储介质及电子装置 |
-
2021
- 2021-12-21 CN CN202111573601.8A patent/CN114338631A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111065077A (zh) * | 2018-10-17 | 2020-04-24 | 阿里巴巴集团控股有限公司 | 蓝牙Mesh网络及其通信方法、设备与存储介质 |
CN112583618A (zh) * | 2019-09-30 | 2021-03-30 | 华为技术有限公司 | 为业务提供网络服务的方法、装置和计算设备 |
CN113422814A (zh) * | 2021-06-16 | 2021-09-21 | 青岛易来智能科技股份有限公司 | 设备控制指令的发送方法和系统、存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3389219B1 (en) | Access request conversion method and device | |
CN111314459B (zh) | 一种业务请求方法、装置、电子设备及存储介质 | |
US8583810B2 (en) | Session affinity cache and manager | |
CN109194760A (zh) | 业务处理方法、网络系统及服务器 | |
CN108377247B (zh) | 一种消息推送方法和装置 | |
CN109547524B (zh) | 基于物联网的用户行为存储方法、装置、设备及存储介质 | |
CN113839977A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN110232265A (zh) | 双重身份认证方法、装置及系统 | |
CN113342547B (zh) | 一种远程服务调用方法、装置、电子设备及可读存储介质 | |
US11709900B2 (en) | Automated web page accessing | |
CN111143532B (zh) | 对话单元的访问方法、装置、设备及存储介质 | |
CN113242317B (zh) | 一种面向联盟链监管系统的寻址路由同步方法和相关装置 | |
JP5109901B2 (ja) | セッションデータ共有方法 | |
CN112532764A (zh) | 数据获取方法及装置 | |
CN114338631A (zh) | 设备控制方法、装置和系统 | |
US20200314190A1 (en) | De termining that multiple requests are received from a particular user device | |
CN109672732A (zh) | 一种接口适配方法、装置及系统 | |
CN110866286B (zh) | 设备指纹生成方法及装置 | |
CN103701844A (zh) | 管理用户信息的方法及系统 | |
KR100477798B1 (ko) | 다중 단말기간 세션 유지 방법 | |
CN111885177A (zh) | 一种基于云计算技术的生物信息分析云计算方法、系统 | |
CN113515375B (zh) | 多cics节点的调用方法和装置 | |
CN117411847B (zh) | 一种邮件外链图片转存方法、系统和介质 | |
CN104509071A (zh) | 处理请求 | |
CN116962488B (zh) | 建立云服务连接的方法、装置、电子设备和可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |