CN113133027B - 一种通信方法、服务器、终端及通信系统 - Google Patents
一种通信方法、服务器、终端及通信系统 Download PDFInfo
- Publication number
- CN113133027B CN113133027B CN201911422829.XA CN201911422829A CN113133027B CN 113133027 B CN113133027 B CN 113133027B CN 201911422829 A CN201911422829 A CN 201911422829A CN 113133027 B CN113133027 B CN 113133027B
- Authority
- CN
- China
- Prior art keywords
- terminal
- message
- operation request
- server
- communication method
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种通信方法、服务器、终端及通信系统,当一个终端需要发出针对目标终端的操作请求时,是服务器在通信系统中以预设主题发布操作请求,以使得系统中订阅所述预设主题的至少一个终端接收所述操作请求并对操作请求进行响应,而不是由服务器将操作请求一一转发至特定的目标终端,占用的开销低,即使在多个终端进行通信时,也能够保持良好的通信可靠度。
Description
技术领域
本发明涉及终端通信技术领域,尤其涉及一种通信方法、服务器、终端及通信系统。
背景技术
随着物联网技术的发展和移动终端的日益普及,各种各样的物联网设备逐渐融入了人们的生活,各种不同终端之间的交互成为了可能,目前大多数终端之间的交互是通过HTTP(Hyper Text Transport Protocol)这种互联网的主要协议来进行通信,即终端将请求发送至服务器,服务器通过HTTP协议将请求转发至目标终端,但是HTTP协议是基于请求-应答机制,即服务器需要将请求转发至每个目标终端,同时,每个目标终端也需要向服务器返回应答,而请求/应答的报文开销大,当物联网中存在多个终端需要进行互相通信时,会存在延时、服务阻塞的情况,终端之间的通信可靠性低。
因此,现有技术还有待改进和发展。
发明内容
本发明要解决的技术问题在于,提供一种通信方法、服务器、终端及通信系统,旨在解决现有技术中使用HTTP协议进行通信时开销大,多个终端进行通信时通信可靠性低的问题。
本发明的技术方案如下:
本发明的第一方面,提供了一种通信方法,所述通信方法包括:
接收针对目标终端的操作请求,确定所述目标终端是否在线;
当所述目标终端在线时,以预设主题发布所述操作请求,以使得订阅所述预设主题的至少一个终端接收所述操作请求并对所述操作请求进行响应。
所述的通信方法,其中,所述确定所述目标终端是否在线之前,所述方法还包括:
订阅主题为在线信息的消息;
确定是否接收到终端发送的主题为在线信息的消息;
若接收到终端发送的主题为在线信息的消息,则标记所述终端的状态为在线;
若在第一预设时长内未接收到终端发送的主题为在线信息的消息,则标记所述终端的状态为离线。
所述的通信方法,其中,所述操作请求中包括所述目标终端的终端标识,所述确定所述目标终端是否在线包括:
获取所述目标终端的终端标识;
基于所述终端标识确定所述目标终端是否在线。
所述的通信方法,其中,所述以预设的主题发布所述操作请求具体包括:
获取所述操作请求对应的预设主题;
根据所述操作请求生成操作消息;
通过MQTT协议以所述预设主题发布所述操作消息。
所述的通信方法,其中,所述操作请求中包括重要性标识,所述通过MQTT协议发布所述操作消息包括:
根据所述重要性标识确定所述操作消息的发布质量;
通过MQTT协议以所述发布质量发布所述操作消息。
本发明的第二方面,提供了一种服务器,所述服务器包括处理器,以及与所述处理器通信连接的存储介质,所述存储介质存储有所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,以执行实现上述第一方面任一项所述的通信方法的步骤。
本发明的第三方面,提供了一种通信方法,其中,所述通信方法包括:
接收服务器以预设主题发布的操作消息;
获取所述操作消息中包括的终端标识,确定所述终端标识是否与自身的标识一致;
若一致,则响应所述操作消息对应的操作请求。
所述的通信方法,其中,所述接收服务器发布的包括预设主题的操作消息之前,所述通信方法还包括:
订阅所述预设主题。
所述的通信方法,其中,所述通信方法还包括:
生成主题为在线信息的消息;
通过MQTT协议发布所述消息。
本发明的第四方面,提供了一种终端,所述终端包括处理器,以及与所述处理器通信连接的存储介质,所述存储介质存储有所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,以执行实现上述第三方面任一项所述的通信方法的步骤。
本发明的第五方面,提供了一种通信系统,所述通信系统包括:如第二方面所述的服务器,以及与所述服务器连接的至少一个终端,所述终端用于接收所述服务器以预设主题发布的操作消息,并获取所述操作消息中包括的终端标识,在所述终端标识与自身的标识一致时响应所述操作消息对应的操作请求。
本发明的第六方面,提供了一种存储介质,其中,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述第一方面的通信方法或上述第二方面的通信方法。
本发明的技术效果:本发明提供的通信方法,当一个终端需要发出针对目标终端的操作请求时,是服务器在通信系统中以预设主题发布操作请求,以使得系统中订阅所述预设主题的至少一个终端接收所述操作请求并对操作请求进行响应,而不是由服务器将操作请求一一转发至特定的目标终端,占用的开销低,即使在多个终端进行通信时,也能够保持良好的通信可靠度。
附图说明
图1是本发明提供的通信方法的实施例一的流程图;
图2是本发明提供的通信方法的实施例一中步骤S120的子步骤流程图;
图3是本发明提供的通信方法的实施例二的流程图。
图4是本发明提供的服务器的原理框图;
图5是本发明提供的终端的原理框图;
图6是本发明提供通信系统的示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供的通信方法,可以应用于通信系统中,所述通信系统中包括服务器以及终端,具体地,实施例一中提供的通信方法可以应用于所述通信系统中的服务器中,实施例二提供的通信方法可以应用于所述通信系统中的终端中。当所述通信系统中的第一终端向所述服务器发出针对目标终端的操作请求时,所述服务器可以根据实施例一中提供的通信方法发布所述操作请求,所述通信系统中的所述目标终端可以根据实施例二中提供的通信方法接收服务器发布的操作消息,并响应所述操作消息对应的操作请求。在一种可能的实现方式中,所述第一终端可以为警用调度台,所述目标终端可以为执法仪,在另一种可能的实现方式中,所述第一终端可以为执法仪,所述目标终端可以为警用调度台或执法仪。
实施例一
请参阅图1,图1是本发明提供的通信方法的实施例一的流程简图,如前面所说明的,实施例一是应用于通信系统中的服务器侧,所述通信方法包括:
S110、接收针对目标终端的操作请求,确定所述目标终端是否在线。
所述操作请求是通信系统中的第一终端发送至服务器的,当第一终端需要与通信系统中的其他终端进行通信时,所述第一终端可以发出所述操作请求,所述服务器接收所述操作请求,所述操作请求针对的所述目标终端就是所述第一终端需要进行通信的终端,所述操作请求可以是针对多个第二终端的,即,所述目标终端包括至少一个第二终端。
所述服务器接收到所述操作请求后,确定所述目标终端是否在线,若所述目标终端不在线,则服务器向所述第一终端返回所述目标终端不在线的信息,流程结束。若所述目标终端在线,则所述服务器发布所述操作请求。具体地,在本发明提供的通信方法中,终端之间的通信是基于发布-订阅的形式来进行的,也就是说,当终端需要向其他的终端发送信息时,是将信息处理为预定格式的消息,并按照特定的主题发布消息,终端接收信息时,是订阅特定的主题,只接收订阅的主题对应的消息,当系统中发布了某个主题的消息时,订阅了该主题的终端能够接收到该消息,接收到该消息的终端根据消息的内容确定自身是否为信息的目标接收方,若是,则响应该信息,若不是,则可以丢弃,而不是像传统的HTTP协议通信中,需要将信息一一发送至特定的终端。具体地,发布消息以及接收订阅的消息可以是通过MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议来实现,MQTT协议具有开销小(开销最少可达两个字节)的特点,能够支持多个终端之间高效、可靠的通信。
由于所述第一终端发出的操作请求是多种多样的,因此需要服务器将操作请求处理为预定格式的消息再发布,所述第一终端发送所述操作请求至所述服务器可以是基于HTTP协议来完成,所述服务器发布所述操作请求可以是通过预设的MQTT中间件来完成,MQTT中间件是能够实现基于MQTT协议的消息的发布与接收,所述MQTT中间件可以是设置在所述服务器中的一个模块,也可以是单独设置的另一个服务器。
所述通信系统中的终端的在线状态是存储在预设的数据库中。所述确定所述目标终端是否在线之前,所述服务器根据终端发送的在线信息将各个终端的在线状态存储至所述数据库中,具体包括:
S011、订阅主题为在线信息的消息。
在本实施例中,所述通信系统中的终端是通过向所述服务器发送在线信息以使得所述服务器获取终端的在线状态的。所述在线信息是反应了终端的在线状态的信息,具体包括终端的位置、运行情况等信息。终端发送在线信息至所述服务器也可以是基于发布-订阅的形式来实现,终端在发送在线信息时,将在线信息处理为预定格式的消息,并设定消息的主题为预定的在线信息对应的主题,然后发布主题为在线信息的消息。在本实施例中,可以为在线信息预先设置统一的消息格式以及统一的消息主题,这样,终端可以不需要将在线信息发送给服务器,由服务器处理为预设格式的消息,再发送给所述MQTT中间件进行发布,而是可以自行生成在线信息对应的消息,将所述消息发送至所述MQTT中间件,所述MQTT中间件根据MQTT协议发布所述消息。例如在线信息的主题为“heartbeat”,所述第二终端向所述MQTT中间件发送所述在线信息对应的消息时,都将所述消息的主题设置为预先设定的主题,如:“heartbeat”,所述服务器预先订阅所述在线信息的消息主题,这样,当所述MQTT中间件发布所述在线信息对应的消息时,所述服务器就能够收到在线信息对应的消息,进而获取到所述在线信息。
S012、确定是否接收到终端发送的主题为在线信息的消息;
S013、若接收到终端发送的主题为在线信息的消息,则标记所述终端的状态为在线。
所述服务器订阅了主题为在线信息的消息后,在终端发出在线信息时,能够获取主题为在线信息的消息,若接收到终端发送的主题为在线信息的消息,那么在所述数据库中将所述终端的状态标记为在线。
S014、若在第一预设时长内未接收到终端发送的主题为在线信息的消息,则标记所述终端的状态为离线。
具体地,在MQTT协议中,设置有三种不同的消息发布质量,在发布消息时,可以根据需要选择不同的发布质量:
至多一次:当消息的发布质量为至多一次时,该消息只发送一次,能接收到该消息的终端(即订阅了该消息对应的主题的终端)最多接收到一次该消息,也就是说,允许该消息丢失。
至少一次:当消息的发布质量为至少一次时,保证能接收到该消息的终端最少能接收到一次该消息,也就是说,允许该消息重复发送和接收。
只有一次:当消息的发布指令为只有一次时,保证能接收到该消息的终端接收到该消息,且只接收到一次,也就是说,不允许该消息丢失或重复接收。
在本实施例中,终端向所述MQTT中间件发送所述在线信息对应的消息可以是按照预设的周期来发送的。例如,每隔5秒向所述MQTT中间件发送所述在线信息对应的消息,由于终端是每隔一定周期发布所述在线信息对应的消息,在一种可能的实现方式中,所述在线信息的发布质量可以设置为至多一次,所述服务器在第一预设时长内未获取到终端的所述在线信息时,才标记所述终端的状态为离线,所述第一预设时长可以是终端发送所述在线信息的周期的预设倍数,例如,三个周期、五个周期等。这样,即使丢失一两次所述在线信息,也不影响所述通信系统中的终端正常工作,降低了系统中的数据传输压力。
不难看出,在所述通信系统中,所述服务器根据接收到的终端的所述在线信息,可以实时地获取所述通信系统中每个终端的在线状态,在所述服务器接收到针对所述目标终端的所述操作请求后,确定所述目标终端是否在线具体包括:
S111、获取所述目标终端的终端标识;
S112、基于所述终端标识确定所述目标终端是否在线。
具体地,所述操作请求中包括所述目标终端的终端标识,所述服务器接收到所述操作请求后,从所述操作请求中获取所述目标终端的终端标识,进而根据所述终端标识确定目标终端,并在所述数据库中查找所述目标终端的在线状态,根据所述在线状态确定所述目标终端是否在线。
所述通信方法还包括:
S120、当所述目标终端在线时,以预设主题发布所述操作请求,以使得订阅所述预设主题的至少一个终端接收所述操作请求并对所述操作请求进行响应。
当所述目标终端在线时,则说明所述第一终端可以与所述目标终端进行通信,此时,所述服务器发布所述操作请求,以使得所述目标终端能够响应所述操作请求。具体地,如图2所示,所述以预设的主题发布所述操作请求具体包括:
S121、获取所述操作请求对应的预设主题。
所述服务器接收到所述操作请求后,根据所述操作请求的内容确定所述操作请求对应的预设主题。从前面的说明不难看出,由于所述操作请求是针对所述目标终端所发出的,所述预设主题是所述目标终端订阅了的主题这样,所述目标终端能够接收到所述操作消息。
S122、根据所述操作请求生成操作消息。
所述服务器需要发布所述操作请求时,是对所述操作请求进行处理,对所述操作请求中的终端标识以及操作数据按固定格式打包成操作消息并设定所述操作消息对应的主题为所述预设主题。
S123、通过MQTT协议以所述预设主题发布所述操作消息。
如前面所说明的,在进行基于MQTT协议的通信中,需要所述MQTT中间件进行消息的发布,所述服务器生成所述操作消息后,将所述操作消息推送至所述MQTT中间件。所述MQTT中间件接收到所述操作消息后,则以所述预设主题发布所述操作消息,所述目标终端接收到所述操作消息后,可以对所述操作消息对应的操作请求进行响应。
在一种可能的实现方式中,所述操作请求中还包括重要性标识,所述通过MQTT协议发布所述操作消息包括:
S123a、根据所述重要性标识确定所述操作消息的发布质量;
S123b、通过MQTT协议以所述发布质量发布所述操作消息。
具体地,所述第一终端在发送所述操作请求时可以定义所述操作请求的重要性,以预先设定的重要性标识来标识,所述服务器在获取到所述操作请求后,获取所述操作请求中的所述重要性标识,并根据所述重要性标识确定所述操作消息对应的发布质量,并在将所述操作消息发送至所述MQTT中间件后,所述MQTT中间件根据所述操作消息对应的所述发布质量发布所述操作消息。
具体地,在所述服务器确定所述目标终端在线,并将所述操作消息发送至所述MQTT中间件后,所述服务器还向所述第一终端返回所述操作请求已被发送的反馈信息,所述第一终端接收到所述反馈信息后,开始计时,并确定在第二预设时长内是否获取所述目标终端的响应数据,所述第二预设时长可以为3s、5s等。
若所述第一终端在所述第二预设时长内未获取所述响应数据,则再次发送所述操作请求至所述服务器,直至发送所述操作请求的次数已达到预设数量。
具体地,当所述第一终端在所述第二预设时长内未获取所述响应数据,则说明在所述第一终端和所述目标终端的通信过程中存在问题,此时,并不直接放弃所述第一终端和目标终端之间的通信,而是重新发送所述操作请求至所述服务器,直至发送所述操作请求的次数已达到预设数量,所述预设数量可以为5次、10次等。当发送所述操作请求的次数已达到预设数量,所述第一终端可以通过通过显示屏、语音等形式发出无法与所述目标终端进行通信的提示,不再发送针对所述目标终端的所述操作请求。
前面已经说明,MQTT协议中发布的消息可以有三种发布质量,根据所述操作请求的重要性,可以设置不同的重要性标识以使得所述MQTT中间件以不同的发布质量发布所述操作消息。
例如,所述操作请求为请求所述目标终端上报内存存储情况时,所述目标终端可以上报多次,但是必须要上报成功,此时所述操作请求对应的操作消息的重要性可以为“至少一次”。再例如,所述操作请求为周期性请求,即每隔一定周期请求所述目标终端执行同样的操作时,所述操作请求对应的操作消息的重要性可以为“至多一次”。
不同的发布质量对应有不同的资源占用,例如“至少一次”的发布质量占用的资源最少,“只有一次”要求接收到消息的终端在接收消息时必须进行反馈,占用的资源最大,这样,不难看出,本实施例提供的通信方法,通过使用MQTT协议实现不同发布质量的消息发布,可以节约终端之间通信占用的资源,不易产生网络的阻塞。
当所述服务器以所述预设主题发布所述操作信息后,所述通信系统中所有订阅了所述预设主题的终端都可能接收到所述操作信息进而获取所述操作请求,而根据所述操作消息的发布质量的不同,可能并不是所有订阅了所述预设主题的终端都会接收到所述操作消息,即,订阅了所述预设主题的至少一个终端接收所述操作信息,进而获取所述操作请求。接收到所述操作消息的终端可以进一步确定是否对所述操作请求进行响应,具体在实施例二中说明。
实施例二
请参阅图3,图3是本发明提供的通信方法的实施例二的流程简图,实施例二是应用于通信系统中的终端侧,所述通信方法包括:
S210、接收服务器以预设主题发布的操作消息。
所述服务器已预设主题发布所述操作消息后,根据所述操作信息的发布质量的不同,至少一个订阅了所述预设主题的终端能够接收到所述操作消息。
所述终端接收到所述操作消息后,确定自身是否为所述操作消息对应的操作请求的目标终端,若不是,则可以丢弃所述操作消息,若是,则响应所述操作请求。具体包括:
S220、获取所述操作消息中包括的终端标识,确定所述终端标识是否与自身的标识一致;
S230、若一致,则响应所述操作消息对应的操作请求。
所述操作消息是所述服务器根据操作请求生成的,所述操作消息中包括有所述操作请求针对的目标终端的终端标识,所述终端接收到所述操作消息后,获取所述操作消息中包括的终端标识,确定所述终端标识是否与自身的标识一致,若一致,说明所述终端是所述操作请求的目标终端,则响应所述操作消息对应的所述操作请求,例如,所述操作请求为请求上传特定的音视频数据至指定地址,所述终端为所述操作请求的目标终端,则所述终端响应所述操作请求,上传所述终端上存储的对应的音视频数据至所述指定地址。
如实施例一中所说明的,所述终端需要预先订阅需要接收的消息的主题,才可能接收到对应的消息,所述接收服务器发布的包括预设主题的操作消息之前,所述通信方法包括:
S020、订阅所述预设主题。
所述终端预先订阅所述预设主题,则在所述服务器以所述预设主题发布所述操作消息后,能够接收到所述操作消息。
在实施例二提供的通信方法中,所述终端为了使得所述服务器能够确定自身的在线状态,还向所述服务器发送在线信息,具体包括:
S031、生成主题为在线信息的消息。
具体地,所述在线信息是反应了所述终端的在线状态的信息,具体包括所述终端的位置、运行情况等,所述终端将所述在线信息发送至所述服务器时,是生成主题为在线信息的消息,具体地,是将所述在线信息处理为预定格式的消息,并设定所述消息的主题为在线信息对应的统一主题。
S032、通过MQTT协议发布所述消息。
所述终端生成主题为在线信息的消息后,通过MQTT协议发布所述消息,所述终端可以将所述消息发送至MQTT中间件,所述MQTT中间件根据MQTT协议发布所述消息。具体可以如实施例一中所述。
综上所述,本实施例提供的通信方法,当一个终端需要发出针对目标终端的操作请求时,是服务器在通信系统中以预设主题发布操作请求,以使得系统中订阅所述预设主题的至少一个终端接收所述操作请求并对操作请求进行响应,而不是由服务器将操作请求一一转发至特定的目标终端,占用的开销低,即使在多个终端进行通信时,也能够保持良好的通信可靠度。
实施例三
基于上述实施例一,本发明还提供了一种服务器,其原理框图可以如图4所示。该服务器包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该服务器的处理器用于提供计算和控制能力。该服务器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该服务器的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种通信方法。该服务器的显示屏可以是液晶显示屏或者电子墨水显示屏,该服务器的温度传感器是预先在终端内部设置,用于检测内部设备的当前运行温度。
本领域技术人员可以理解,图4中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种服务器,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时至少可以实现以下步骤:接收针对目标终端的操作请求,确定所述目标终端是否在线;
当所述目标终端在线时,以预设主题发布所述操作请求,以使得订阅所述预设主题的至少一个终端接收所述操作请求并对所述操作请求进行响应。
所述的通信方法,其中,所述确定所述目标终端是否在线之前,所述方法还包括:
订阅主题为在线信息的消息;
确定是否接收到终端发送的主题为在线信息的消息;
若接收到终端发送的主题为在线信息的消息,则标记所述终端的状态为在线;
若在第一预设时长内未接收到终端发送的主题为在线信息的消息,则标记所述终端的状态为离线。
所述的通信方法,其中,所述操作请求中包括所述目标终端的终端标识,所述确定所述目标终端是否在线包括:
获取所述目标终端的终端标识;
基于所述终端标识确定所述目标终端是否在线。
所述的通信方法,其中,所述以预设的主题发布所述操作请求具体包括:
获取所述操作请求对应的预设主题;
根据所述操作请求生成操作消息;
通过MQTT协议以所述预设主题发布所述操作消息。
所述的通信方法,其中,所述操作请求中包括重要性标识,所述通过MQTT协议发布所述操作消息包括:
根据所述重要性标识确定所述操作消息的发布质量;
通过MQTT协议以所述发布质量发布所述操作消息。
实施例四
基于上述实施例二,本发明还提供了一种终端,其原理框图可以如图5所示。该终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该终端的处理器用于提供计算和控制能力。该终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种通信方法。该终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该终端的温度传感器是预先在终端内部设置,用于检测内部设备的当前运行温度。
本领域技术人员可以理解,图5中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种终端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时至少可以实现以下步骤:
接收服务器以预设主题发布的操作消息;
获取所述操作消息中包括的终端标识,确定所述终端标识是否与自身的标识一致;
若一致,则响应所述操作消息对应的操作请求。
所述的通信方法,其中,所述接收服务器发布的包括预设主题的操作消息之前,所述通信方法还包括:
订阅所述预设主题。
所述的通信方法,其中,所述通信方法还包括:
生成主题为在线信息的消息;
通过MQTT协议发布所述消息。
实施例五
本发明还提供了一种通信系统,如图6所示,所述通信系统包括如实施例三所述的服务器以及至少一个终端。
所述终端用于接收所述服务器以预设主题发布的操作消息,并获取所述操作消息中包括的终端标识,在所述终端标识与自身的标识一致时响应所述操作消息对应的操作请求,具体如实施例一中所述。
实施例六
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本发明提供了一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或多个程序可被一个或者多个处理器执行,以实现如实施例一所述的通信方法。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (8)
1.一种通信方法,其特征在于,所述通信方法包括:
接收针对目标终端的操作请求,确定所述目标终端是否在线;
当所述目标终端在线时,以预设主题发布所述操作请求,以使得订阅所述预设主题的至少一个终端接收所述操作请求并对所述操作请求进行响应;
所述以预设的主题发布所述操作请求具体包括:
获取所述操作请求对应的预设主题;
根据所述操作请求生成操作消息;
通过MQTT协议以所述预设主题发布所述操作消息;
所述操作请求中包括重要性标识,所述通过MQTT协议发布所述操作消息包括:
根据所述重要性标识确定所述操作消息的发布质量;
通过MQTT协议以所述发布质量发布所述操作消息;
在MQTT协议中,设置有三种不同的消息发布质量,在发布消息时,根据需要选择不同的发布质量;确定所述目标终端在线,并将所述操作消息发送至所述MQTT中间件,向发送操作请求的发送端返回所述操作请求已被发送的反馈信息后开始计时,确定在第二预设时长内是否获取所述目标终端的响应数据;若所述发送操作请求的发送端在所述第二预设时长内未获取所述响应数据,则再次发送所述操作请求至服务器,直至发送所述操作请求的次数已达到预设数量;
所述确定所述目标终端是否在线之前,所述方法还包括:
订阅主题为在线信息的消息;
确定是否接收到终端发送的主题为在线信息的消息;
若接收到终端发送的主题为在线信息的消息,则标记所述终端的状态为在线;
若在第一预设时长内未接收到终端发送的主题为在线信息的消息,则标记所述终端的状态为离线;
所述主题为在线信息的消息发布质量至多一次。
2.根据权利要求1所述的通信方法,其特征在于,所述操作请求中包括所述目标终端的终端标识,所述确定所述目标终端是否在线包括:
获取所述目标终端的终端标识;
基于所述终端标识确定所述目标终端是否在线。
3.一种服务器,其特征在于,所述服务器包括处理器,以及与所述处理器通信连接的存储介质,所述存储介质存储有所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,以执行实现上述权利要求1-2任一项所述的通信方法的步骤。
4.一种通信方法,其特征在于,所述通信方法包括:
接收服务器以预设主题发布的操作消息;
获取所述操作消息中包括的终端标识,确定所述终端标识是否与自身的标识一致;
若一致,则响应所述操作消息对应的操作请求;
所述通信方法还包括:
生成主题为在线信息的消息;
通过MQTT协议发布所述消息,以使得订阅了主题为在线信息的消息的服务器接收到所述消息;所述主题为在线信息的消息的发布质量为至多一次;
所述操作请求中包括重要性标识,根据所述重要性标识确定所述操作消息的发布质量;
在MQTT协议中,设置有三种不同的消息发布质量,在发布消息时,根据需要选择不同的发布质量;
所述在线信息发送至所述MQTT中间件后,将对应的响应消息发送给发送操作请求的发送端,发送所述响应消息的次数由发布质量确定的预设数量决定。
5.根据权利要求4所述的通信方法,其特征在于,所述接收服务器发布的包括预设主题的操作消息之前,所述通信方法还包括:
订阅所述预设主题。
6.一种终端,其特征在于,所述终端包括处理器,以及与所述处理器通信连接的存储介质,所述存储介质存储有所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,以执行实现上述权利要求4-5任一项所述的通信方法的步骤。
7.一种通信系统,其特征在于,所述通信系统包括如权利要求3所述的服务器,以及与所述服务器连接的至少一个终端,所述终端用于接收所述服务器以预设主题发布的操作消息,并获取所述操作消息中包括的终端标识,在所述终端标识与自身的标识一致时响应所述操作消息对应的操作请求。
8.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-2任意一项所述的通信方法,或如权利要求4-5任意一项所述的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911422829.XA CN113133027B (zh) | 2019-12-30 | 2019-12-30 | 一种通信方法、服务器、终端及通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911422829.XA CN113133027B (zh) | 2019-12-30 | 2019-12-30 | 一种通信方法、服务器、终端及通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113133027A CN113133027A (zh) | 2021-07-16 |
CN113133027B true CN113133027B (zh) | 2023-01-20 |
Family
ID=76770662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911422829.XA Active CN113133027B (zh) | 2019-12-30 | 2019-12-30 | 一种通信方法、服务器、终端及通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113133027B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116069437A (zh) * | 2023-04-06 | 2023-05-05 | 深圳开鸿数字产业发展有限公司 | 原子化服务卡片主题管理方法、装置、终端及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836723A (zh) * | 2015-03-31 | 2015-08-12 | 青岛海尔智能家电科技有限公司 | 基于mqtt主题订阅机制的通信方法以及接入网关 |
CN108768826A (zh) * | 2018-05-16 | 2018-11-06 | 华南理工大学 | 基于MQTT和Kafka高并发场景下的消息路由方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107018147B (zh) * | 2017-05-09 | 2020-09-08 | 南京云岸信息科技有限公司 | 一种物联网通信方法及系统、网关模块 |
CN108390933B (zh) * | 2018-02-26 | 2021-03-09 | 广州方硅信息技术有限公司 | 消息分发方法、装置、服务器及存储介质 |
CN110266794A (zh) * | 2019-06-20 | 2019-09-20 | 四川长虹电器股份有限公司 | 基于mqtt服务器的代理订阅方法及系统 |
CN110474980A (zh) * | 2019-08-13 | 2019-11-19 | 深圳市商汤科技有限公司 | 数据控制方法及装置、电子设备和存储介质 |
-
2019
- 2019-12-30 CN CN201911422829.XA patent/CN113133027B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836723A (zh) * | 2015-03-31 | 2015-08-12 | 青岛海尔智能家电科技有限公司 | 基于mqtt主题订阅机制的通信方法以及接入网关 |
CN108768826A (zh) * | 2018-05-16 | 2018-11-06 | 华南理工大学 | 基于MQTT和Kafka高并发场景下的消息路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113133027A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111970315A (zh) | 推送消息的方法、装置及系统 | |
US11184465B2 (en) | Network communication for establishing a QUIC connection | |
CN110113381A (zh) | 一种区块链中订阅主题的方法及装置 | |
CN110413418B (zh) | 缓存同步装置及方法,缓存同步系统、电子设备 | |
CN113157466A (zh) | 一种消息推送方法、装置、系统、电子设备和存储介质 | |
CN110753129A (zh) | 消息传输方法、系统、装置、设备及计算机可读存储介质 | |
KR20100108053A (ko) | Url을 이용한 분산 컨트롤 방법 및 장치 | |
CN111159269B (zh) | 一种数据处理方法、装置及系统 | |
CN107302720A (zh) | 用户反馈方法及装置、问题反馈业务架构系统 | |
CN110324405A (zh) | 消息发送方法、装置、系统及计算机可读存储介质 | |
CN113342503B (zh) | 实时进度反馈方法、装置、设备及存储介质 | |
CN112328413A (zh) | 应用服务的调用方法、装置及系统 | |
CN113133027B (zh) | 一种通信方法、服务器、终端及通信系统 | |
CN112087475B (zh) | 一种云平台组件应用的消息推送方法、装置及消息服务器 | |
CN112838980B (zh) | 一种消息处理方法、系统、装置、电子设备及存储介质 | |
CN113452770B (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN112653736B (zh) | 一种并行回源方法、装置及电子设备 | |
CN113315846A (zh) | 一种数据传输方法及装置 | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN112865927B (zh) | 消息送达验证方法、装置、计算机设备和存储介质 | |
CN107733979B (zh) | 数据推送方法、服务器及系统 | |
CN112714092B (zh) | 一种注册登录方法、设备和计算机可读存储介质 | |
CN116366619A (zh) | 数据传输方法、装置、设备及存储介质 | |
CN109688204B (zh) | 基于ndn网络的文件下载方法、节点、终端 | |
CN112416641A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |