CN117240898A - 一种通讯方法、装置、电子设备及存储介质 - Google Patents
一种通讯方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117240898A CN117240898A CN202311182954.4A CN202311182954A CN117240898A CN 117240898 A CN117240898 A CN 117240898A CN 202311182954 A CN202311182954 A CN 202311182954A CN 117240898 A CN117240898 A CN 117240898A
- Authority
- CN
- China
- Prior art keywords
- receiving end
- instruction
- information
- server
- instruction information
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 52
- 238000004891 communication Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 48
- 238000012790 confirmation Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种通讯方法、装置、电子设备及存储介质,属于通讯领域,用以降低服务的通讯压力,所述方法包括:调用应用程序编程接口接收发送端发送的指令请求,所述服务器与所述发送端存在双向长连接;根据所述指令请求,确定接收端和待发送到所述接收端的指令信息;在所述服务器与所述接收端存在所述双向长连接的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端。
Description
技术领域
本申请属于通讯领域,具体涉及一种通讯方法、装置、电子设备及存储介质。
背景技术
在通讯领域中,不同的客户端之间要进行通讯,当发送端发出一个指令后,服务器会接收该指令并将该指令发送至接收端,接收端要接收该指令并根据指令的内容完成相关操作。当前发送端与服务器、服务器与接收端之间是通过信令通道的方式实现通讯。
但是信令通道是单方向和单线程的通道,这就会在发送一条指令至客户端进度缓慢的情况下,导致后面的指令堵塞积压在服务器,增加了服务器的通讯压力,并且也降低了接收端接收指令的时效性。
发明内容
本申请实施例提供一种通讯方法、装置、电子设备及存储介质,能够解决指令堵塞积压在服务器,增加了服务器的通讯压力、降低了接收端接收指令的时效性的问题。
第一方面,本申请实施例提供了一种通讯方法,该方法包括:调用应用程序编程接口接收发送端发送的指令请求,所述服务器与所述发送端存在双向长连接;根据所述指令请求,确定接收端和待发送到所述接收端的指令信息;在所述服务器与所述接收端存在所述双向长连接的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端。
第二方面,本申请实施例提供了一种通讯装置,该装置包括:接收模块,用于调用应用程序编程接口接收发送端发送的指令请求,所述服务器与所述发送端存在双向长连接;确定模块,用于根据所述指令请求,确定接收端和待发送到所述接收端的指令信息;发送模块,用于在所述服务器与所述接收端存在所述双向长连接的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
在本申请实施例中,通过调用应用程序编程接口接收发送端发送的指令请求,服务器与发送端存在双向长连接;根据指令请求,确定接收端和待发送到接收端的指令信息;在服务器与接收端存在双向长连接的情况下,调用应用程序编程接口发送指令信息至接收端,由于应用程序编程接口的工作模式是多方向、多线程,服务器通过程序编程接口接收指令请求和发送指令信息,可以避免指令请求和指令信息的堵塞,降低了服务器的通讯压力、保证了接收端接收的指令信息的时效性。
附图说明
图1是本申请实施例提供的一种通讯方法的流程示意图;
图2是本申请实施例提供的一种通讯框架示意图;
图3是本申请实施例提供的一种通讯装置的结构示意图;
图4是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的一种通讯方法、装置、电子设备及存储介质进行详细地说明。
图1示出本发明的一个实施例提供的一种通讯方法,该方法可以由服务器执行,换言之,该方法可以由安装在服务器的软件或硬件来执行,该方法包括如下步骤:
步骤102:调用应用程序编程接口接收发送端发送的指令请求,所述服务器与所述发送端存在双向长连接。
在例如音视频通讯领域中,发送端与接收端之间要进行实时通讯,当发送端发出一个指令,接收端要进行接收该指令并根据指令的内容完成相关操作。例如在预约办理业务的场景中,客户经理通过创建预约单预约客户办理双录业务,客户可以查看到预约单并在指定的预约时间范围内与客户经理一起办理,在办理业务的过程中,客户经理需要按照预先配置好的流程信息触发每个节点环节,包括语音播报、证件展示、合同阅读、合同签字等,每个环节的办理都涉及到客户经理端和客户端的指令通讯。
在本申请实施例中,服务器与发送端存在双向长连接,在一种实现方式中,双向长连接可以为WebSokcet连接。WebSocket是一种在单个传输控制协议(TransmissionControl Protocol,TCP)连接上进行全双工通信的协议。WebSocket使得发送端和服务器之间的数据交换变得更加简单,服务器和发送端要完成一次握手,两者之间就可以直接创建持久性的连接,并进行双向数据传输,服务器与发送端建立WebSocket通讯连接之后,会把已经建立好的WebSocket连接和发送端信息缓存到全局map中,。
如图2所示的通讯框架示意图,在本实施例中,发送端可以根据预先设置好的流程信息,发送指令请求至服务器。服务器可以通过应用程序编程接口(ApplicationProgramming Interface,API)接收发送端发送的指令请求。
步骤104:根据所述指令请求,确定接收端和待发送到所述接收端的指令信息。
具体的,服务器在接收到发送端发送的指令请求以后,可以根据指令请求中携带的接收端的信息确定接收到,还可以根据指令请求的类型进行加工处理,根据指令请求的不同类型,对指令请求进行封装,以确定待发送到接收端的指令信息。
步骤106:在所述服务器与所述接收端存在所述双向长连接的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端。
具体的,服务器也可以与接收到建立双向长连接,即WebSocket连接。服务器在接收到发送端发送的指令请求,并根据该指令请求确定接收端和待发送到所述接收端的指令信息之后,可以从全局map中检索服务器与接收端是否存在WebSocket连接。如图2所示,若服务器与接收端存在WebSocket连接,则服务器可以调用API接口发送指令信息至接收端,接收端可以根据指令信息做出相应操作。
本申请实施例提供的一种通讯方法,通过调用应用程序编程接口接收发送端发送的指令请求,服务器与发送端存在双向长连接;根据指令请求,确定接收端和待发送到接收端的指令信息;在服务器与接收端存在双向长连接的情况下,调用应用程序编程接口发送指令信息至接收端,由于应用程序编程接口的工作模式是多方向、多线程,服务器通过程序编程接口接收指令请求和发送指令信息,可以避免指令请求和指令信息的堵塞,降低了服务器的通讯压力、提高了服务器的性能,保证了接收端接收的指令信息的时效性和送达率。
在一种实现方式中,所述指令请求包括所述接收端的信息,在所述根据所述指令请求,确定待发送到接收端的指令信息之后,所述方法还包括:
在所述服务器与所述接收端未存在所述双向长连接的情况下,通过分布式消息中间件将所述接收端的信息和所述指令信息广播到其他服务器;在所述其他服务器根据所述接收端的信息确定与所述接收端存在所述双向长连接的情况下,通过所述其他服务器调用所述应用程序编程接口发送所述指令信息至所述接收端。
具体的,在本申请实施例中,服务器可以集群部署,即服务器的数量可以为多个,多个服务器均可以与发送端和接收端建立双向长连接(WebSocket连接)。发送端发送的指令请求包括有接收端的信息,在服务器从全局map中未检索到与接收端存在双向长连接的情况下,可以把封装好的指令信息和接收端的信息通过rocketmq的广播模式发送到当前集群的其他服务器上。RocketMQ是一款低延迟、高并发、高可用、高可靠的分布式消息中间件,RocketMQ既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。在将封装好的指令信息和接收端的信息通过rocketmq的广播模式发送到当前集群的其他服务器上之后,其他服务器可以监听消费信息,检索当前服务的全局map中是否存在与接收端的双向长连接。若其他服务器与接收端存在双向长连接,则可以通过该其他服务器将指令信息发送至接收端。其他服务器也可以通过API接口将指令信息发送至接收端。
单服务器所能承载的连接数有限,并且随着连接数的增长,服务处理性能会下降,并且若单服务器挂掉会导致整个通讯通道瘫痪。而申请实施例中通过集群部署服务器,多个服务器之间可以通过rocketmq的广播模式互通接收端的信息和指令信息。在服务器与接收端未存在双向长连接的情况下,通过分布式消息中间件将接收端的信息和指令信息广播到其他服务器;在其他服务器根据接收端的信息确定与接收端存在双向长连接的情况下,可以通过其他服务器调用应用程序编程接口发送指令信息至接收端,保证了指令信息能够发送到接收端。
在一种实现方式中,所述指令请求包括所述接收端的信息,在所述根据所述指令请求,确定接收端和待发送到接收端的指令信息之后,所述方法还包括:
将所述接收端的信息和所述指令信息存储至预设数据库。
具体的,在根据指令请求,确定接收端和待发送到接收端的指令信息之后,可以将接收端和待发送到接收端的指令信息存储到预设数据库中,该预设数据库可以是即远程字典服务(Remote Dictionary Server,Redis)数据库,该数据库是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,可以实现对接收端的信息和指令信息的存储。
在一种实现方式中,所述指令信息包括对应的指令序列,在所述调用所述应用程序编程接口发送所述指令信息至所述接收端之后,所述方法还包括:
在接收到指令回执确认信息的情况下,从所述预设数据库中删除接收端的信息和所述指令信息,所述指令回执确认信息为所述接收端响应于所述指令信息发送的,所述指令回执确认信息包括所述指令序列;在未接收到包括所述指令序列的指令回执确认信息的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端直至接收到所述指令回执确认信息。
具体的,服务器在接收到指令请求之后,还可以生成指令信息的唯一指令序列,服务器可以将指令序列包含在指令信息中发送至接收端。
为解决弱网环境中服务端发送指令的过程中,接收端与服务器的WebSocket连接断开,导致指令信息推送失败并丢失,或者服务端虽已进行指令信息推送,但客户端未接收到该指令信息,造成指令信息丢失的情况。本申请实施例中增加了一种指令回执确认的机制,每个服务器都会有一个线程检索任务,检索当前服务器中每个连接的接收端是否存在未被回执确认的有指令信息,若存在,则对该接收端重新进行指令信息发送直至接收到所述指令回执确认信息,若不存在,则忽略处理。当接收端接收到指令信息时,根据指令序列调用API接口将指令回执确认信息发送至服务器,当服务端接收到指令回执确认信息时,会把接收到的指令序列对应的指令信息从redis中移除。
这样,在接收到指令回执确认信息的情况下,从预设数据库中删除接收端的信息和指令信息,指令回执确认信息为接收端响应于指令信息发送的,指令回执确认信息包括指令序列;在未接收到包括指令序列的指令回执确认信息的情况下,调用应用程序编程接口发送指令信息至接收端直至接收到指令回执确认信息,能够保证指令信息发送至接收端,避免了指令信息的丢弃影响通讯效果,保证了指令信息的送达率。
在一种实现方式中,在所述服务器与所述接收端存在所述双向长连接的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端,包括:
在所述服务器与所述接收端的双向长连接异常断开情况下,存储所述指令信息;在所述服务器与所述接收端的双向长连接正常连接情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端。
具体的,在检测到服务器与接收端的双向长连接异常断开的情况下,例如接收端离线,可以暂时对指令信息进行存储,并在检测到服务器与接收端的双向长连接恢复正常连接的情况下,再调用应用程序编程接口发送指令信息至所述接收端,这样,能够避免服务器与接收端的双向长连接异常断开的情况指令信息丢失,保证了在检测到服务器与接收端的双向长连接恢复正常连接的情况下能够将指令信息发送至接收端,保证了指令信息的送达率。
具体的本申请实施例可以用于在音视频通讯的过程中,客户端通过与服务端的websocket建立通讯连接,与其他客户端进行实时指令通讯的效果,并大大提高了消息的实时性和送达率,同时服务端解决了单服务器部署的问题,可以支持集群部署,并大幅度提高了服务的性能,支持多场景的并发。
需要说明的是,本申请实施例提供的通讯方法,执行主体可以为通讯装置,或者该通讯装置中的用于执行通讯方法的控制模块。本申请实施例中以通讯装置执行通讯方法为例,说明本申请实施例提供的通讯装置。
图3是根据本发明实施例的通讯装置的结构示意图。如图3所示,通讯装置300包括:接收模块310、确定模块320和发送模块330。
接收模块310,用于调用应用程序编程接口接收发送端发送的指令请求,所述服务器与所述发送端存在双向长连接;确定模块320,用于根据所述指令请求,确定接收端和待发送到所述接收端的指令信息;发送模块330,用于在所述服务器与所述接收端存在所述双向长连接的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端。
在一种实现方式中,所述发送模块330,还用于在所述服务器与所述接收端未存在所述双向长连接的情况下,通过分布式消息中间件将所述接收端的信息和所述指令信息广播到其他服务器;在所述其他服务器根据所述接收端的信息确定与所述接收端存在所述双向长连接的情况下,通过所述其他服务器调用所述应用程序编程接口发送所述指令信息至所述接收端。
在一种实现方式中,所述指令请求包括所述接收端的信息,所述发送模块330,还用于在所述服务器与所述接收端未存在所述双向长连接的情况下,通过分布式消息中间件将所述接收端的信息和所述指令信息广播到其他服务器;在所述其他服务器根据所述接收端的信息确定与所述接收端存在所述双向长连接的情况下,通过所述其他服务器调用所述应用程序编程接口发送所述指令信息至所述接收端。
在一种实现方式中,所述指令请求包括所述接收端的信息,所述确定模块320,还用于在接收到指令回执确认信息的情况下,从所述预设数据库中删除接收端的信息和所述指令信息,所述指令回执确认信息为所述接收端响应于所述指令信息发送的,所述指令回执确认信息包括所述指令序列;在未接收到包括所述指令序列的指令回执确认信息的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端直至接收到所述指令回执确认信息。
在一种实现方式中,所述发送模块330,用于在所述服务器与所述接收端的双向长连接异常断开情况下,存储所述指令信息;在所述服务器与所述接收端的双向长连接正常连接情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端。
在一种实现方式中,所述双向长连接为WebSocket连接。
本申请实施例中的通讯装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的通讯装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的通讯装置能够实现图1的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图4所示,本申请实施例另提供一种电子设备400,包括处理器401和存储器402,存储器402上存储有可在所述处理器401上运行的程序或指令,该程序或指令被处理器401执行时实现:调用应用程序编程接口接收发送端发送的指令请求,所述服务器与所述发送端存在双向长连接;根据所述指令请求,确定接收端和待发送到所述接收端的指令信息;在所述服务器与所述接收端存在所述双向长连接的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端。
在一种实现方式中,所述指令请求包括所述接收端的信息,在所述根据所述指令请求,确定待发送到接收端的指令信息之后,在所述服务器与所述接收端未存在所述双向长连接的情况下,通过分布式消息中间件将所述接收端的信息和所述指令信息广播到其他服务器;在所述其他服务器根据所述接收端的信息确定与所述接收端存在所述双向长连接的情况下,通过所述其他服务器调用所述应用程序编程接口发送所述指令信息至所述接收端。
在一种实现方式中,所述指令请求包括所述接收端的信息,在所述根据所述指令请求,确定接收端和待发送到接收端的指令信息之后,将所述接收端的信息和所述指令信息存储至预设数据库。
在一种实现方式中,所述指令信息包括对应的指令序列,在所述调用所述应用程序编程接口发送所述指令信息至所述接收端之后,在接收到指令回执确认信息的情况下,从所述预设数据库中删除接收端的信息和所述指令信息,所述指令回执确认信息为所述接收端响应于所述指令信息发送的,所述指令回执确认信息包括所述指令序列;在未接收到包括所述指令序列的指令回执确认信息的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端直至接收到所述指令回执确认信息。
在一种实现方式中,在所述服务器与所述接收端的双向长连接异常断开情况下,存储所述指令信息;在所述服务器与所述接收端的双向长连接正常连接情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端。
在一种实现方式中,所述双向长连接为WebSocket连接。
具体执行步骤可以参见上述通讯方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括:服务器、终端或除终端之外的其他设备。
以上电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,例如,输入单元,可以包括图形处理器(Graphics Processing Unit,GPU)和麦克风,显示单元可以采用液晶显示器、有机发光二极管等形式来配置显示面板。用户输入单元包括触控面板以及其他输入设备中的至少一种。触控面板也称为触摸屏。其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器可用于存储软件程序以及各种数据。存储器可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器可以包括易失性存储器或非易失性存储器,或者,存储器可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。
处理器可包括一个或多个处理单元;可选的,处理器集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述通讯方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如ROM、RAM、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种通讯方法,其特征在于,应用于服务器,包括:
调用应用程序编程接口接收发送端发送的指令请求,所述服务器与所述发送端存在双向长连接;
根据所述指令请求,确定接收端和待发送到所述接收端的指令信息;
在所述服务器与所述接收端存在所述双向长连接的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端。
2.根据权利要求1所述的方法,其特征在于,所述指令请求包括所述接收端的信息,在所述根据所述指令请求,确定待发送到接收端的指令信息之后,所述方法还包括:
在所述服务器与所述接收端未存在所述双向长连接的情况下,通过分布式消息中间件将所述接收端的信息和所述指令信息广播到其他服务器;
在所述其他服务器根据所述接收端的信息确定与所述接收端存在所述双向长连接的情况下,通过所述其他服务器调用所述应用程序编程接口发送所述指令信息至所述接收端。
3.根据权利要求1所述的方法,其特征在于,所述指令请求包括所述接收端的信息,在所述根据所述指令请求,确定接收端和待发送到接收端的指令信息之后,所述方法还包括:
将所述接收端的信息和所述指令信息存储至预设数据库。
4.根据权利要求3所述的方法,其特征在于,所述指令信息包括对应的指令序列,在所述调用所述应用程序编程接口发送所述指令信息至所述接收端之后,所述方法还包括:
在接收到指令回执确认信息的情况下,从所述预设数据库中删除接收端的信息和所述指令信息,所述指令回执确认信息为所述接收端响应于所述指令信息发送的,所述指令回执确认信息包括所述指令序列;
在未接收到包括所述指令序列的指令回执确认信息的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端直至接收到所述指令回执确认信息。
5.根据权利要求1所述的方法,其特征在于,在所述服务器与所述接收端存在所述双向长连接的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端,包括:
在所述服务器与所述接收端的双向长连接异常断开情况下,存储所述指令信息;
在所述服务器与所述接收端的双向长连接正常连接情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述双向长连接为WebSocket连接。
7.一种通讯装置,其特征在于,包括:
接收模块,用于调用应用程序编程接口接收发送端发送的指令请求,所述服务器与所述发送端存在双向长连接;
确定模块,用于根据所述指令请求,确定接收端和待发送到所述接收端的指令信息;
发送模块,用于在所述服务器与所述接收端存在所述双向长连接的情况下,调用所述应用程序编程接口发送所述指令信息至所述接收端。
8.根据权利要求7所述的装置,其特征在于,所述发送模块,还用于:
在所述服务器与所述接收端未存在所述双向长连接的情况下,通过分布式消息中间件将所述接收端的信息和所述指令信息广播到其他服务器;
在所述其他服务器根据所述接收端的信息确定与所述接收端存在所述双向长连接的情况下,通过所述其他服务器调用所述应用程序编程接口发送所述指令信息至所述接收端。
9.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-6任一项所述的通讯方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-6任一项所述的通讯方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311182954.4A CN117240898A (zh) | 2023-09-13 | 2023-09-13 | 一种通讯方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311182954.4A CN117240898A (zh) | 2023-09-13 | 2023-09-13 | 一种通讯方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117240898A true CN117240898A (zh) | 2023-12-15 |
Family
ID=89097821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311182954.4A Pending CN117240898A (zh) | 2023-09-13 | 2023-09-13 | 一种通讯方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117240898A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118101741A (zh) * | 2024-04-28 | 2024-05-28 | 北京庭宇科技有限公司 | 边缘云工业平台的异构终端管理系统、方法、设备和介质 |
-
2023
- 2023-09-13 CN CN202311182954.4A patent/CN117240898A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118101741A (zh) * | 2024-04-28 | 2024-05-28 | 北京庭宇科技有限公司 | 边缘云工业平台的异构终端管理系统、方法、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713365B2 (en) | Re-establishing push notification channels via user identifiers | |
CN108833950B (zh) | 一种弹幕消息下发方法、服务器、系统和存储介质 | |
CN111277639B (zh) | 一种保持数据一致性的方法和装置 | |
CN109542361B (zh) | 一种分布式存储系统文件读取方法、系统及相关装置 | |
CN109933439B (zh) | 消息传输方法、装置、计算机设备和存储介质 | |
CN111258723B (zh) | 分布式系统的事务处理方法、装置、系统、介质及设备 | |
CN117240898A (zh) | 一种通讯方法、装置、电子设备及存储介质 | |
CN112422497B (zh) | 消息传递方法、装置及计算机设备 | |
CN109241128A (zh) | 一种过期事件自动触发方法及系统 | |
CN110881224B (zh) | 一种网络长连接方法、装置、设备及存储介质 | |
CN112653736B (zh) | 一种并行回源方法、装置及电子设备 | |
CN108021459B (zh) | 跨进程发送打点日志的方法及装置 | |
CN112865927A (zh) | 消息送达验证方法、装置、计算机设备和存储介质 | |
CN115033656B (zh) | 基于地图缓存技术的数据处理方法、装置及电子装置 | |
CN113742004B (zh) | 一种基于flink框架的数据处理方法和装置 | |
CN113472850A (zh) | 链路数据获取方法、装置、系统、电子设备和存储介质 | |
CN114374657A (zh) | 一种数据处理方法和装置 | |
JP2008197885A (ja) | アプリケーション異常終了処理システムとその方法およびプログラム | |
US20180091461A1 (en) | Method and device for securing network communications using self-erasing messages | |
US20210185638A1 (en) | Preventing notification loss during temporary network disconnection | |
CN112333262A (zh) | 数据更新提示方法、装置、计算机设备及可读存储介质 | |
CN111930696A (zh) | 一种基于小程序的文件传输处理方法及系统 | |
CN113722115A (zh) | 调用接口的方法、装置、设备和计算机可读介质 | |
US6836470B1 (en) | Method for reliable message delivery in a network of mobile computers | |
CN110730173A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Room 228, 2nd Floor, No. 5 Guanghua Road, Zhangjiawan Town, Tongzhou District, Beijing, 101113 Applicant after: BEIJING ZHONGGUANCUN KEJIN TECHNOLOGY Co.,Ltd. Address before: 130, 1st Floor, Building 5, Courtyard 1, Shangdi Fourth Street, Haidian District, Beijing, 100085 Applicant before: BEIJING ZHONGGUANCUN KEJIN TECHNOLOGY Co.,Ltd. Country or region before: China |