CN114422573B - 报文发送方法及装置、存储介质及电子装置 - Google Patents
报文发送方法及装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN114422573B CN114422573B CN202210043247.6A CN202210043247A CN114422573B CN 114422573 B CN114422573 B CN 114422573B CN 202210043247 A CN202210043247 A CN 202210043247A CN 114422573 B CN114422573 B CN 114422573B
- Authority
- CN
- China
- Prior art keywords
- communication connection
- request message
- communication
- message
- cache
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y10/00—Economic sectors
- G16Y10/75—Information technology; Communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种报文发送方法及装置、存储介质及电子装置,其中,上述方法包括:通过目标设备的通信连接层建立目标设备的应用层与云端服务器的业务系统之间的多个通信连接,其中,多个通信连接中的任意两个通信连接所采用的通信协议不同;在通信连接层获取到应用层发送的第一请求报文的情况下,通过通信连接层将第一请求报文保存至目标设备的缓存中,并从多个通信连接中确定目标通信连接;从缓存中获取第一请求报文,并通过目标通信连接将第一请求报文发送至云端服务器的业务系统。采用上述技术方案,解决了目标设备和服务器之间建立单个的TCP连接,进而在网络波动等异常情况下容易产生离线,导致通信效率较低的问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种报文发送方法及装置、存储介质及电子装置。
背景技术
物联网(Internet of things,简称为IOT)是新一代信息技术的重要组成部分,也是信息化时代的重要发展阶段。物联网就是物物相连的互联网,包含两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,延伸和扩展到了任何物品与物品之间,进行信息交换和通信。物联网通过智能感知以及识别技术等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。
而在物联网中,设备与服务器之间可以建立稳定的通信连接,可以快速的进行数据交互是至关重要的,在相关技术中:
专利《CN110071826A》提出了一种物联网终端设备及其与远程管理平台建立传输控制协议(Transmission Control Protocol,简称为TCP)连接的方法,基于以终端设备作为客户端、远程管理平台作为服务器建立TCP连接,完成对物联网终端设备的远程配置,根据物联网系统对终端设备的配置管理为低频事件的特性,终端设备的配置端口日常保持关闭,拒绝外部远程联接,只在终端设备预设的与服务端的远程连接启动时,采用客户服务器方式,由终端设备作为客户端、远程管理平台作为服务器建立TCP连接,完成对终端设备的远程配置即:由终端设备的配置端口向管理平台的配置端口发起访问并建立连接。能够增加攻击者入侵物联网终端设备配置管理模块的难度,保证连接的TCP连接的安全性。
即目前终端设备和服务器是通过建立单个的TCP连接来实现通信,但在网络波动异常等场景下,非常容易产生离线等异常,使得终端设备和服务器通信效率较低。
针对相关技术,目标设备和服务器之间建立单个的TCP连接,进而在网络波动等异常情况下容易产生离线,导致通信效率较低的问题,目前尚未提出有效的解决方案。
因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。
发明内容
本发明实施例提供了一种报文发送方法及装置、存储介质及电子装置,以至少解决目标设备和服务器之间建立单个的TCP连接,进而在网络波动等异常情况下容易产生离线,导致通信效率较低的问题。
根据本发明实施例的一方面,提供一种报文发送方法,包括:通过目标设备的通信连接层建立所述目标设备的应用层与所述云端服务器的业务系统之间的多个通信连接,其中,所述多个通信连接中的任意两个通信连接所采用的通信协议不同;在所述通信连接层获取到所述应用层发送的第一请求报文的情况下,通过通信连接层将所述第一请求报文保存至所述目标设备的缓存中,并从所述多个通信连接中确定目标通信连接;从所述缓存中获取所述第一请求报文,并通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统。
根据本发明实施例的另一方面,还提供了一种报文发送装置,包括:连接模块,用于通过目标设备的通信连接层建立所述目标设备的应用层与云端服务器的业务系统之间的多个通信连接,其中,所述多个通信连接中的任意两个通信连接所采用的通信协议不同;确定模块,用于在所述通信连接层获取到所述应用层发送的第一请求报文的情况下,通过通信连接层将所述第一请求报文保存至所述目标设备的缓存中,并从所述多个通信连接中确定目标通信连接;发送模块,用于从所述缓存中获取所述第一请求报文,并通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述报文发送方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述报文发送方法。
通过本发明,通过目标设备的通信连接层在目标设备的应用层与云端服务器的业务系统之间采用不同通信协议建立多个通信连接,并在通信连接层获取到应用层发送的第一请求报文的情况下,先将第一请求报文保存至缓存,并从多个通信连接中确定目标通信连接,进而通过目标通信连接将缓存中的第一请求报文发送至云端服务器的业务系统。采用上述技术方案,解决了目标设备和服务器之间建立单个的TCP连接,进而在网络波动等异常情况下容易产生离线,导致通信效率较低的问题,进而采用上述技术方案,可以从多个通信连接中选择一个通信连接来发送报文,提高了目标设备与服务器的通信效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的报文发送方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的报文发送方法的流程图(一);
图3是根据本发明实施例的报文发送方法的流程图(二);
图4是根据本发明实施例的报文发送方法的流程图(三);
图5是根据本发明实施例的报文发送方法的流程图(四);
图6是根据本发明实施例的设备连接系统图;
图7是根据本发明实施例的报文发送装置的结构框图(一);
图8是根据本发明实施例的报文发送装置的结构框图(二)。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的报文发送方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microprocessor Unit,简称是MPU)或可编程逻辑器件(Programmable logic device,简称是PLD))和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的报文发送方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
为了解决上述问题,在本实施例中提供了一种报文发送方法,图2是根据本发明实施例的报文发送方法的流程图(一),该流程包括如下步骤:
步骤S202,通过目标设备的通信连接层建立所述目标设备的应用层与所述云端服务器的业务系统之间的多个通信连接,其中,所述多个通信连接中的任意两个通信连接所采用的通信协议不同;
需要说明的是,在云端服务器中也具有通信连接层,具体的,是通过目标设备的通信连接层与云端服务器的通信连接层来建立目标设备的应用层与云端服务器的业务系统之间的多个通信连接。上述通信连接层还用于实现报文的缓存,管理,发送等。
在一个示例性的实施例中,可以通过TCP来建立通信连接,还可以通过用户数据包协议(User Datagram Protocol,简称为UDP)来建立通信连接。
步骤S204,在所述通信连接层获取到所述应用层发送的第一请求报文的情况下,通过通信连接层将所述第一请求报文保存至所述目标设备的缓存中,并从所述多个通信连接中确定目标通信连接;
步骤S206,从所述缓存中获取所述第一请求报文,并通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统。
需要说明的是,通信连接层在将第一请求报文保存至缓存以后,会根据缓存报文发送策略将缓存中的报文发送给云端服务器的业务系统。
通过上述步骤,通过目标设备的通信连接层在目标设备的应用层与云端服务器的业务系统之间采用不同通信协议建立多个通信连接,并在通信连接层获取到应用层发送的第一请求报文的情况下,先将第一请求报文保存至缓存,并从多个通信连接中确定目标通信连接,进而通过目标通信连接将缓存中的第一请求报文发送至云端服务器的业务系统。采用上述技术方案,解决了终端和服务器之间建立单个的TCP连接,进而在网络波动等异常情况下容易产生离线,导致通信效率较低的问题,进而采用上述技术方案,可以从多个通信连接中选择一个通信连接来发送报文,提高了目标设备与服务器的通信效率。
在一个示例性的实施例中,通过通信连接层将所述第一请求报文保存至缓存,可以通过以下方式实现:通过所述通信连接层确定所述第一请求报文的第一报文序号;控制所述通信连接层根据所述第一报文序号将所述第一请求报文保存至所述目标设备的缓存。
需要说明的是,如果目标设备的通信连接层获取到自身应用层发送第一请求报文,则需要确定第一请求报文的第一报文序号,并将第一报文序号作为索引,将第一请求报文保存至目标设备的缓存中。如果云端服务器的通信连接层获取到自身业务系统发送的第二请求报文,则需要确定第二请求报文的第二报文序号以及需要发送的设备的序列号,并将第二报文序号以及设备的序列号一起作为索引,将第二请求报文保存至云端服务器的缓存中。需要说明的是,报文的序号是唯一的,且是在目标设备与云端服务器约定的缓存周期内不重复唯一值。
在一个示例性的实施例中,上述从所述多个通信连接中确定目标通信连接,可以通过以下方式实现:从所述多个通信连接中随机确定目标通信连接;或者从所述多个通信连接中确定在第一预设时间内,成功将报文发送至所述业务系统的目标通信连接;或者获取所述多个通信连接中每个通信连接的权重,得到多个权重,并将所述多个权重中最大的权重对应的通信连接确定为目标通信连接。
也可以说,将目标设备的缓存中的报文发送至云端服务器,可以选择以下策略:(1)随机发送:随机从多个通信连接中选择一个通信连接发送报文;(2)最近发送:优先从多个通信连接中选择最近成功将报文发送至云端服务器的目标通信连接,通过目标通信连接发送报文;(3)权重发送:可以按照一定周期选择多个通信连接中的每一个通信连接发送报文,同时记录每一个通信连接的响应耗时,并调整每一个通信连接的权重,进而可以按照权重的排序发送报文,从多个通信连接中选择一个权重最大的通信连接发送报文。
在一个示例性的实施例中,通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统之后,如果在第一预设时间内,所述通信连接层未收到所述业务系统发送的所述第一请求报文对应的第一响应报文,从所述缓存中获取所述第一请求报文,并从所述多个通信连接中确定第一通信连接,其中,所述第一通信连接与所述目标通信连接不同;控制所述通信连接层通过所述第一通信连接将所述第一请求报文重新发送至所述业务系统。
也就是说,如果通信连接层在第一预设时间内没收到云端服务器发送的第一请求报文对应的第一响应报文,则说明目标通信连接可能存在故障,云端服务器可能没收到第一请求报文,进而需要进行报文的重传操作,具体的,可以选择多个通信连接中的另外一个通信连接将缓存中的第一请求报文发送至云端服务器的业务系统。需要说明的是,也可以选择在原有的目标通信连接的基础上进行周期性的重发,或者使用多个通信连接一起进行报文的重传等。
在一个示例性的实施例中,通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统之后,如果在第二预设时间内,所述通信连接层接收到所述云端服务器发送的第一响应报文的情况下,确定所述第一响应报文的第二报文序号;在通过所述第二报文序号从所述缓存检索到所述第一请求报文的情况下,将所述第一响应报文发送至所述应用层,并将所述第一请求报文从所述缓存中删除。
需要说明的,云端服务器接收到第一请求报文以后,会对第一请求报文进行响应,进而生成第一响应报文发送至目标设备,其中,第一响应报文的报文序号与第一请求报文的报文序号相同。进而目标设备的通信连接层在接收到第一响应报文以后,如果可以从缓存检索到第一请求报文,则说明收到的第一响应报文为第一请求报文对应的响应报文,则说明第一请求报文发送成功,将第一响应报文发送应用层,通知应用层第一请求报文已成功发送至所述云端服务器的业务系统。同时,由于已经成功发送第一请求报文,为了节约缓存的空间,则将缓存中的第一请求报文删除。
在一个示例性的实施例中,通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统之后,如果在第三预设时间内,所述通信连接层未收到所述云端服务器发送的所述第一请求报文对应的第一响应报文,通知所述应用层所述第一请求报文发送失败,并将所述第一请求报文从所述缓存中删除。
需要说明的是,第三预设时间为预设的报文响应的最长时间,如果在这个时间内没有收到第一请求报文的响应报文,则表明传输失败。需要说明的是,第三预设时间大于第一预设时间。
在一个示例性的实施例中,通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统之后,如果通过所述通信连接层接收到所述云端服务器的业务系统发送的第二请求报文,为了避免云端服务器的业务系统发送的第二请求报文是重传的报文,且目标设备的应用层已经处理过此报文,则需要确定所述缓存中是否存在所述第二请求报文;
在不存在的情况下,通过所述通信连接层将所述第二请求报文保存至缓存,并将所述第二请求报文发送至所述应用层;通过所述通信连接层获取所述应用层根据所述第二请求报文发送的第二响应报文;将所述第二响应报文保存至所述缓存,并通过所述通信连接层基于所述多个通信连接将所述第二响应报文发送至所述云端服务器的业务系统。
在存在的情况下,通过所述通信连接层获取所述缓存中与第二请求报文对应的第二响应报文;通过所述通信连接层基于所述多个通信连接将所述第二响应报文发送至所述云端服务器的业务系统。
显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述报文发送方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:
在一个可选的实施例中,图3是根据本发明实施例的报文发送方法的流程图(二),在本申请实施例中,目标设备或云端服务器的虚拟连接层(相当于上述实施例中的通信连接层)的连接策略如图3所示:
步骤S302:虚拟连接层创建多条实际传输链路;
需要说明的是,实际传输链路包括但不限于:基于TCP、UDP等协议建立的通信链路(相当于上述实施例中的通信连接);
步骤S304:虚拟连接层根据发送缓存策略传输数据;
步骤S306:对端虚拟连接路层按接收缓存策略接收并处理。
具体的,图4是根据本发明实施例的报文发送方法的流程图(三),虚拟连接层发送缓存策略如图4所示:
步骤S402:应用层(业务系统)发送报文;
具体的,本申请实施例的方法可以应用在设备端(相当于上述目标设备)也可以应用在云平台(相当于上述云端服务器):在设备端上层为应用层,在云平台上层为业务系统,下文统称为应用层。
其中,应用层调用虚拟连接层发送报文,该报文具备以下特征:
(1)云平台端请求报文必须携带设备唯一标识及应用报文序号两个信息:设备唯一标识包括如设备序列号等,用于寻找对应的实际传输链路;应用报文序号用于标明该报文的唯一序号,包括但不限于递增生成,且在双端约定的缓存周期内不重复唯一值。
(2)设备端请求报文必须携带应用报文序号:其中,应用报文序号标明该报文的唯一序号,包括但不限于递增生成,且在双端约定的缓存周期内不重复唯一值。
步骤S404:虚拟连接层缓存应用层发送报文;
具体的,虚拟连接层按照缓存策略缓存发送报文,发送报文缓存约定如下:(1)在云平台端,根据设备唯一标识、应用报文序号作为索引,将报文存储于云平台的独立缓存系统中;(2)在设备端,根据应用报文序号,将报文存储于设备的内存中。
步骤S406:确定虚拟连接层是否存在可用链路,若是,则执行步骤S408,否则,执行步骤S410;
步骤S408:虚拟连接层创建多个实际协议传输链路;
具体的,(1)若实际传输链路不存在,则创建多个链路;(2)在超过指定时间(如:1分钟)无可用连接时,则告知应用层报文发送失败。
步骤S410:虚拟连接层根据发送策略选择实际协议链路发送报文;
具体的,发送策略包括两种,在未满足相关策略的情况下则周期性重发报文:
(1)已确认发送:虚拟连接层缓存的报文已经发送,实际链路层已经正常收到对端响应,如TCP层已经收到ACK或UDP层收到对端的确认报文;
(2)发送且响应:虚拟连接层已发送,且未收到对端应用层响应报文;
(3)周期性重发策略:按照指定的退避周期重发应用层报文,包括但不限于:间隔500,1000,2000毫秒的重发策略。
发送报文选择策略包括:
(1)随机发送:随机选择实际链路发送报文;
(2)最近发送:优先选择最近成功的实际链路发送报文;
(3)权重发送:按照一定周期选择全部链路发送报文,同时记录当前链路的响应耗时,并调整链路权重,按照权重进行排序发送。
步骤S412:虚拟连接层根据接收策略接收对端响应报文通知应用层;
具体的,接收策略与发送缓存是耦合关联的,约定如下:
(1)命中缓存:接收到的应用层报文的唯一标识能够在缓存中检索到对应请求报文,则通知应用层;
(2)未命中缓存:直接丢弃。
为更好的管理缓存,约定发送缓存清除机制:
(1)通知删除:当通知应用层报文后,从本端的缓存中删除发送报文;
(2)超时删除:当报文与响应超过一定时间后,则在缓存中删除,并告知应用层发送异常。
需要说明的是,图5是根据本发明实施例的报文发送方法的流程图(四),虚拟连接层接收缓存策略如图5所示:
S502:实际协议连接层接收到对端报文;
S504:虚拟连接层判断是否已响应过该报文,在响应了情况下,执行步骤S506,在没有响应的情况下,执行步骤S508;
S506:加载响应缓存,并执行步骤S514;
具体的,加载策略如下:
(1)缓存命中:直接加载缓存中的响应报文;
(2)缓存未命中:进入等待阶段,等待超时后响应异常报文;
S508:虚拟连接层记录该报文信息,并通知应用层;
需要说明的是,缓存待超时策略,与系统设计的报文响应超时周期一致。
S510:应用层(业务系统)处理并响应该报文;
S512:虚拟连接层缓存响应报文;
S514:调用实际连接层发送响应报文。
具体的,通过在获取到请求报文的实际链路响应报文。
为了更好的理解,图6是根据本发明实施例的设备连接系统图,具体的:
本申请实施例包含云平台、智能硬件(相当于上述目标设备)两个部分;
其中,云平台提供与智能硬件的连接维护,保证信令传输的可用性,且云平台包括:虚拟连接层、业务系统;虚拟连接层采用分布式架构,分为多个子系统:(1)链路代理系统:负责维护实际不同协议的长连接链路维护,中每个代理系统有多个代理服务作为负载均衡;(2)链路管理系统:负责虚拟连接层逻辑业务管理,包括:缓存、排序、重传等业务逻辑;(3)链路系统缓存:负责对请求与响应报文的缓存,如:REDIS等。业务系统负责实际应用业务逻辑处理,包括但不限于:设备管理、设备控制等。
其中,智能硬件具备连接云平台能力的硬件,包含以下模块:(1)虚拟连接层:划分为链路管理模块与实际链路层;(2)链路管理模块:负责对于应用报文与响应的缓存、排序、重传等接发送策略管理;(3)实际链路层:负责不同协议的长连接链路维护;(4)应用层:负责基于虚拟连接层的应用报文发送与响应。
此外,本发明实施例的上述技术方案,抽象虚拟连接层以及基于缓存的接发送策略设计,虚拟连接层负责多种协议实际传输链路冗余维护,业务协议通过实际的传输链路层传输,并通过基于超时管理的缓存的接发送缓存设计,实现设备连接的高可用。
具体的,(1)基于应用层超时管理的接发送缓存策略设计,通过报文唯一序号的约定以及虚拟连接层的重连、重传设计解耦传输层的通信异常;(2)虚拟连接层负责多种协议实际传输链路冗余维护,业务协议通过实际的传输链路层传输,通过多个链路的冗余灾备的方式;(3)基于虚拟连接方法的系统:在智能硬件端采用内存缓存管理并抽象虚拟连接层、在云平台端基于如REDIS等NOSQL缓存以及分布式架构的系统设计。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种报文发送装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的报文发送装置的结构框图(一),该装置包括:
连接模块72,用于通过目标设备的通信连接层建立所述目标设备的应用层与云端服务器的业务系统之间的多个通信连接,其中,所述多个通信连接中的任意两个通信连接所采用的通信协议不同;
确定模块74,用于在所述通信连接层获取到所述应用层发送的第一请求报文的情况下,通过通信连接层将所述第一请求报文保存至所述目标设备的缓存中,并从所述多个通信连接中确定目标通信连接;
发送模块76,用于从所述缓存中获取所述第一请求报文,并通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统。
通过上述装置,通过目标设备的通信连接层在目标设备的应用层与云端服务器的业务系统之间采用不同通信协议建立多个通信连接,并在通信连接层获取到应用层发送的第一请求报文的情况下,先将第一请求报文保存至缓存,并从多个通信连接中确定目标通信连接,进而通过目标通信连接将缓存中的第一请求报文发送至云端服务器的业务系统。采用上述技术方案,解决了终端和服务器之间建立单个的TCP连接,进而在网络波动等异常情况下容易产生离线,导致通信效率较低的问题,进而采用上述技术方案,可以从多个通信连接中选择一个通信连接来发送报文,提高了终端与服务器的通信效率。
在一个示例性的实施例中,确定模块74,还用于通过所述通信连接层确定所述第一请求报文的第一报文序号;控制所述通信连接层根据所述第一报文序号将所述第一请求报文保存至所述目标设备的缓存。
在一个示例性的实施例中,确定模块74,还用于从所述多个通信连接中随机确定目标通信连接;或者从所述多个通信连接中确定在第一预设时间内,成功将报文发送至所述业务系统的目标通信连接;或者获取所述多个通信连接中每个通信连接的权重,得到多个权重,并将所述多个权重中最大的权重对应的通信连接确定为目标通信连接。
图8是根据本发明实施例的报文发送装置的结构框图(二),该装置包括:处理模块78。
在一个示例性的实施例中,处理模块78,用于在第一预设时间内,所述通信连接层未收到所述业务系统发送的所述第一请求报文对应的第一响应报文的情况下,从所述缓存中获取所述第一请求报文,并从所述多个通信连接中确定第一通信连接,其中,所述第一通信连接与所述目标通信连接不同;控制所述通信连接层通过所述第一通信连接将所述第一请求报文重新发送至所述业务系统。
在一个示例性的实施例中,处理模块78,还用于在第二预设时间内,所述通信连接层接收到所述云端服务器发送的第一响应报文的情况下,确定所述第一响应报文的第二报文序号;在通过所述第二报文序号从所述缓存检索到所述第一请求报文的情况下,将所述第一响应报文发送至所述应用层,并将所述第一请求报文从所述缓存中删除。
在一个示例性的实施例中,处理模块78,还用于在第三预设时间内,所述通信连接层未收到所述云端服务器发送的所述第一请求报文对应的第一响应报文的情况下,通知所述应用层所述第一请求报文发送失败,并将所述第一请求报文从所述缓存中删除。
在一个示例性的实施例中,处理模块78,还用于在通过所述通信连接层接收到所述云端服务器的业务系统发送的第二请求报文的情况下,确定所述缓存中是否存在所述第二请求报文;在不存在的情况下,通过所述通信连接层将所述第二请求报文保存至缓存,并将所述第二请求报文发送至所述应用层;通过所述通信连接层获取所述应用层根据所述第二请求报文发送的第二响应报文;将所述第二响应报文保存至所述缓存,并通过所述通信连接层基于所述多个通信连接将所述第二响应报文发送至所述云端服务器的业务系统。
在一个示例性的实施例中,处理模块78,还用于在存在的情况下,通过所述通信连接层获取所述缓存中与第二请求报文对应的第二响应报文;通过所述通信连接层基于所述多个通信连接将所述第二响应报文发送至所述云端服务器的业务系统。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,通过目标设备的通信连接层建立所述目标设备的应用层与所述云端服务器的业务系统之间的多个通信连接,其中,所述多个通信连接中的任意两个通信连接所采用的通信协议不同;
S2,在所述通信连接层获取到所述应用层发送的第一请求报文的情况下,通过通信连接层将所述第一请求报文保存至所述目标设备的缓存中,并从所述多个通信连接中确定目标通信连接;
S3,从所述缓存中获取所述第一请求报文,并通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,通过目标设备的通信连接层建立所述目标设备的应用层与所述云端服务器的业务系统之间的多个通信连接,其中,所述多个通信连接中的任意两个通信连接所采用的通信协议不同;
S2,在所述通信连接层获取到所述应用层发送的第一请求报文的情况下,通过通信连接层将所述第一请求报文保存至所述目标设备的缓存中,并从所述多个通信连接中确定目标通信连接;
S3,从所述缓存中获取所述第一请求报文,并通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种报文发送方法,其特征在于,包括:
通过目标设备的通信连接层建立所述目标设备的应用层与云端服务器的业务系统之间的多个通信连接,其中,所述多个通信连接中的任意两个通信连接所采用的通信协议不同;
在所述通信连接层获取到所述应用层发送的第一请求报文的情况下,通过通信连接层将所述第一请求报文保存至所述目标设备的缓存中,并从所述多个通信连接中确定目标通信连接;
从所述缓存中获取所述第一请求报文,并通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统。
2.根据权利要求1所述的方法,其特征在于,所述通过通信连接层将所述第一请求报文保存至所述目标设备的缓存中,包括:
通过所述通信连接层确定所述第一请求报文的第一报文序号;
控制所述通信连接层根据所述第一报文序号将所述第一请求报文保存至所述目标设备的缓存。
3.根据权利要求1所述的方法,其特征在于,所述从所述多个通信连接中确定目标通信连接,包括:
从所述多个通信连接中随机确定目标通信连接;或者
从所述多个通信连接中确定在第一预设时间内,成功将报文发送至所述业务系统的目标通信连接;或者
获取所述多个通信连接中每个通信连接的权重,得到多个权重,并将所述多个权重中最大的权重对应的通信连接确定为目标通信连接。
4.根据权利要求1所述的方法,其特征在于,所述通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统之后,所述方法还包括:
在第一预设时间内,所述通信连接层未收到所述业务系统发送的所述第一请求报文对应的第一响应报文的情况下,从所述缓存中获取所述第一请求报文,并从所述多个通信连接中确定第一通信连接,其中,所述第一通信连接与所述目标通信连接不同;
控制所述通信连接层通过所述第一通信连接将所述第一请求报文重新发送至所述业务系统。
5.根据权利要求1所述的方法,其特征在于,通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统之后,所述方法还包括:
在第二预设时间内,所述通信连接层接收到所述云端服务器发送的第一响应报文的情况下,确定所述第一响应报文的第二报文序号;
在通过所述第二报文序号从所述缓存检索到所述第一请求报文的情况下,将所述第一响应报文发送至所述应用层,并将所述第一请求报文从所述缓存中删除。
6.根据权利要求1所述的方法,其特征在于,通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统之后,所述方法还包括:
在第三预设时间内,所述通信连接层未收到所述云端服务器发送的所述第一请求报文对应的第一响应报文的情况下,通知所述应用层所述第一请求报文发送失败,并将所述第一请求报文从所述缓存中删除。
7.根据权利要求1所述的方法,其特征在于,通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统之后,所述方法还包括:
在通过所述通信连接层接收到所述云端服务器的业务系统发送的第二请求报文的情况下,确定所述缓存中是否存在所述第二请求报文;在不存在的情况下,通过所述通信连接层将所述第二请求报文保存至缓存,并将所述第二请求报文发送至所述应用层;
通过所述通信连接层获取所述应用层根据所述第二请求报文发送的第二响应报文;
将所述第二响应报文保存至所述缓存,并通过所述通信连接层基于所述多个通信连接将所述第二响应报文发送至所述云端服务器的业务系统。
8.根据权利要求7所述的方法,其特征在于,确定所述缓存中是否存在所述第二请求报文之后,所述方法还包括:
在存在的情况下,通过所述通信连接层获取所述缓存中与第二请求报文对应的第二响应报文;
通过所述通信连接层基于所述多个通信连接将所述第二响应报文发送至所述云端服务器的业务系统。
9.一种报文发送装置,其特征在于,包括:
连接模块,用于通过目标设备的通信连接层建立所述目标设备的应用层与云端服务器的业务系统之间的多个通信连接,其中,所述多个通信连接中的任意两个通信连接所采用的通信协议不同;
确定模块,用于在所述通信连接层获取到所述应用层发送的第一请求报文的情况下,通过通信连接层将所述第一请求报文保存至所述目标设备的缓存中,并从所述多个通信连接中确定目标通信连接;
发送模块,用于从所述缓存中获取所述第一请求报文,并通过所述目标通信连接将所述第一请求报文发送至所述云端服务器的业务系统。
10.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至8任一项中所述的方法。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210043247.6A CN114422573B (zh) | 2022-01-14 | 2022-01-14 | 报文发送方法及装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210043247.6A CN114422573B (zh) | 2022-01-14 | 2022-01-14 | 报文发送方法及装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114422573A CN114422573A (zh) | 2022-04-29 |
CN114422573B true CN114422573B (zh) | 2023-08-15 |
Family
ID=81273496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210043247.6A Active CN114422573B (zh) | 2022-01-14 | 2022-01-14 | 报文发送方法及装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114422573B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115334139B (zh) * | 2022-06-24 | 2023-12-26 | 百果园技术(新加坡)有限公司 | 通信连接控制方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301252A (zh) * | 2014-09-26 | 2015-01-21 | 北京奇艺世纪科技有限公司 | 一种数据发送系统及数据发送方法 |
CA2933056A1 (en) * | 2013-12-11 | 2015-06-18 | Amazon Technologies, Inc. | Identity and access management-based access control in virtual networks |
CN106169978A (zh) * | 2016-07-07 | 2016-11-30 | 杭州华三通信技术有限公司 | Bmp报文的处理方法和装置 |
CN108494676A (zh) * | 2018-03-21 | 2018-09-04 | 广州多益网络股份有限公司 | 数据传输方法、装置、数据收发设备、系统及存储介质 |
CN108667933A (zh) * | 2018-05-11 | 2018-10-16 | 星络科技有限公司 | 连接建立方法、连接建立装置及通信系统 |
CN110012106A (zh) * | 2019-04-15 | 2019-07-12 | 北京邮电大学 | 一种基于边缘计算的协调缓存方法、装置及系统 |
-
2022
- 2022-01-14 CN CN202210043247.6A patent/CN114422573B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2933056A1 (en) * | 2013-12-11 | 2015-06-18 | Amazon Technologies, Inc. | Identity and access management-based access control in virtual networks |
CN104301252A (zh) * | 2014-09-26 | 2015-01-21 | 北京奇艺世纪科技有限公司 | 一种数据发送系统及数据发送方法 |
CN106169978A (zh) * | 2016-07-07 | 2016-11-30 | 杭州华三通信技术有限公司 | Bmp报文的处理方法和装置 |
CN108494676A (zh) * | 2018-03-21 | 2018-09-04 | 广州多益网络股份有限公司 | 数据传输方法、装置、数据收发设备、系统及存储介质 |
CN108667933A (zh) * | 2018-05-11 | 2018-10-16 | 星络科技有限公司 | 连接建立方法、连接建立装置及通信系统 |
CN110012106A (zh) * | 2019-04-15 | 2019-07-12 | 北京邮电大学 | 一种基于边缘计算的协调缓存方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
"基于端云一体化的室内用电中枢感知平台的设计";赵琪;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114422573A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9351135B2 (en) | Trigger message sending method, device and system | |
CN112333825A (zh) | 一种ue策略的更新方法及装置、计算机存储介质 | |
US20190140782A1 (en) | System and method for increasing network efficiency using dynamic repeat requests adjustment | |
CN111510419B (zh) | 一种数据压缩的方法及基站 | |
CN105357246A (zh) | 基于信息中心网络的缓存方法和系统 | |
CN114422573B (zh) | 报文发送方法及装置、存储介质及电子装置 | |
CN112039710A (zh) | 服务故障处理方法、终端设备及可读存储介质 | |
CN112887416B (zh) | 发送保活包的频率调整方法及装置 | |
CN107786607B (zh) | 一种消息重传方法、消息重传服务器及用户设备 | |
CN109428684A (zh) | 一种数据传输方法、rlc实体及pdcp实体 | |
CN110661836B (zh) | 消息路由方法、装置及系统、存储介质 | |
CN101938758B (zh) | 用户面连接状态获取方法及装置 | |
CN104010325A (zh) | 一种触发消息投递控制方法、设备及系统 | |
US11425632B2 (en) | Mechanism to provide updates to NB-IoT devices | |
US20230344554A1 (en) | Access layer ip packet processing method, apparatus and device | |
CN111064674B (zh) | 数据的传输方法及装置、系统 | |
JP2014146876A (ja) | メッセージ配信システムおよびメッセージ配信方法 | |
CN109688085B (zh) | 传输控制协议代理方法、存储介质及服务器 | |
CN114640710A (zh) | 一种信息订阅的方法及装置 | |
CN111654355A (zh) | 数据传输方法、系统、电子设备及存储介质 | |
CN106341252A (zh) | 资源管理方法、装置及控制终端 | |
WO2019087240A1 (ja) | 端末装置、基地局装置、通信方法、及び無線通信システム | |
CN118055446B (zh) | 一种健壮性头部压缩解压方法、系统及通讯终端 | |
JP5121780B2 (ja) | 通信ネットワークシステム | |
CN111083734B (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 |