CN114040005A - 一种数据传输方法、装置及存储介质 - Google Patents
一种数据传输方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114040005A CN114040005A CN202111210367.2A CN202111210367A CN114040005A CN 114040005 A CN114040005 A CN 114040005A CN 202111210367 A CN202111210367 A CN 202111210367A CN 114040005 A CN114040005 A CN 114040005A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- target
- request message
- long connection
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000004044 response Effects 0.000 claims description 26
- 238000012546 transfer Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 29
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种数据传输方法、装置及存储介质,涉及通信技术领域,用于解决现有技术中数据传输效率较低的问题。该方法包括:在接收来自目标客户端通过短连接的传输模式,发送的用于获取目标数据的请求消息后,可以获取目标数据的明细数据。后续,通过与目标客户端对应的目标长连接的传输模式,向目标客户端发送明细数据。这样一来,可以有效结合短连接和长连接两种传输模式,从而提高数据传输效率,进一步提升了用户体验。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输方法、装置及存储介质。
背景技术
目前,在互联网应用中,客户端与服务器之间主要通过超文本传输协议(hypertext transfer protocol,HTTP)来进行通信。HTTP通常应用于客户端向服务器主动发起服务请求并接收服务应答,且限制每次连接只处理一个请求。即每次客户端向服务器发起连接请求后,服务器响应于接收到的连接请求,然后根据请求内容进行后台计算,最后向客户端返回响应数据,之后即断开连接并释放连接资源。
然而,当某些HTTP请求的应答耗时较长时,只有等到服务器计算得到最终结果才会通过HTTP连接向客户端输出最终结果。因此,服务器响应于HTTP请求进行数据传输的效率低下,降低了用户体验。
发明内容
本申请提供一种数据传输方法、装置及存储介质,用于提高数据传输的安全性。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种数据传输方法,包括:数据传输装置在接收来自目标客户端通过短连接的传输模式,发送的用于获取目标数据的请求消息后,可以获取目标数据的明细数据。后续,数据传输装置通过与目标客户端对应的目标长连接的传输模式,向目标客户端发送明细数据,以使得完成一次应用层业务会话过程。
可选的,该方法还包括:创建与初始客户端之间的初始长连接;获取初始客户端的客户端标识;创建客户端标识与初始长连接的对应关系。
可选的,当请求消息包括目标客户端的第一标识时,该方法还包括:读取客户端标识与初始长连接的对应关系,将与第一标识对应的长连接确定为目标长连接。
可选的,当请求消息包括目标数据的第二标识时,响应于请求消息,获取目标数据的明细数据的方法具体包括:响应于请求消息,调用与第二标识对应的计算服务,以得到明细数据。
可选的,当明细数据的数据量为多个时,通过与目标客户端对应的目标长连接的传输模式,向目标客户端发送明细数据的方法具体包括:按照获取明细数据的先后顺序,通过目标长连接的传输模式,依次向目标客户端发送明细数据。
可选的,该方法还包括:响应于请求消息,向目标客户端发送响应消息。
可选的,请求消息为HTTP请求消息;长连接为WebSocket连接。
第二方面,提供一种数据传输装置,包括:接收单元、获取单元和发送单元;接收单元,用于接收目标客户端通过短连接的传输模式,发送的用于获取目标数据的请求消息;获取单元,用于响应于接收单元接收的请求消息,获取目标数据的明细数据;发送单元,用于通过与目标客户端对应的目标长连接的传输模式,向目标客户端发送获取单元获取的明细数据。
可选的,该装置还包括:创建单元;创建单元,用于创建与初始客户端之间的初始长连接;获取单元,还用于获取初始客户端的客户端标识;创建单元,还用于创建获取单元获取的客户端标识与初始长连接的对应关系。
可选的,当请求消息包括目标客户端的第一标识时,发送单元,还用于:读取创建单元生成的客户端标识与初始长连接的对应关系,将与第一标识对应的长连接确定为目标长连接。
可选的,当请求消息包括目标数据的第二标识时,获取单元,具体用于:响应于接收单元接收到的请求消息,调用与第二标识对应的计算服务,以得到明细数据。
可选的,当明细数据的数据量为多个时;发送单元,具体用于:按照获取单元获取明细数据的先后顺序,通过目标长连接的传输模式,依次向目标客户端发送明细数据。
可选的,发送单元,还用于:响应于获取单元获取的请求消息,向目标客户端发送响应消息。
可选的,请求消息为HTTP请求消息;长连接为WebSocket连接。
第三方面,提供一种数据传输装置,包括存储器和处理器;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当数据传输装置运行时,处理器执行存储器存储的计算机执行指令,以使数据传输装置执行第一方面所述的数据传输方法。
该数据传输装置可以是网络设备,也可以是网络设备中的一部分装置,例如网络设备中的芯片系统。该芯片系统用于支持网络设备实现第一方面及其任意一种可能的实现方式中所涉及的功能,例如,接收、确定、分流上述数据传输方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得该计算机执行第一方面所述的数据传输方法。
第五方面,还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在数据传输装置上运行时,使得数据传输装置执行如上述第一方面所述的数据传输方法。
需要说明的是,上述计算机指令可以全部或者部分存储在第一计算机可读存储介质上。其中,第一计算机可读存储介质可以与数据传输装置的处理器封装在一起的,也可以与数据传输装置的处理器单独封装,本申请实施例对此不作限定。
本申请中第二方面、第三方面、第四方面以及第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面以及第五方面的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
在本申请实施例中,上述数据传输装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
本申请提供的技术方案至少带来以下有益效果:
基于上述任一方面,本申请提出一种数据传输方法,在数据传输的过程中,通过利用短连接的传输模式来传输请求消息(用户请求),利用长连接的传输模式来传输目标数据的明细数据。这样一来,可以有效结合短连接和长连接两种传输模式,从而提高数据传输效率,进一步提升了用户体验。
附图说明
图1为本申请实施例提供的数据传输系统的结构示意图;
图2为本申请实施例提供的通信装置的一种硬件结构示意图;
图3为本申请实施例提供的通信装置的又一种硬件结构示意图;
图4为本申请实施例提供的一种数据传输方法的流程示意图;
图5为本申请实施例提供的又一种数据传输方法的流程示意图;
图6为本申请实施例提供的又一种数据传输装置的流程示意图;
图7为本申请实施例提供的又一种数据传输装置的流程示意图;
图8为本申请实施例提供的又一种数据传输装置的流程示意图;
图9为本申请实施例提供的又一种数据传输装置的流程示意图;
图10为本申请实施例提供的一种数据传输装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
如背景技术所描述,HTTP请求的应答耗时较长时,服务器响应于HTTP请求进行数据传输的效率低下,降低了用户体验。
针对上述问题,本申请实施例提供了一种数据传输方法,在数据传输的过程中,通过利用短连接的传输模式来传输请求消息(用户请求),利用长连接的传输模式来传输目标数据的明细数据。这样一来,可以有效结合短连接和长连接两种传输模式,从而提高数据传输效率,进一步提升了用户体验。
该数据传输方法适用于数据传输系统。图1示出了该数据传输系统的一种结构。如图1所示,该数据传输系统包括:客户端101和服务器102。其中,客户端101与服务器102之间通信连接。
在实际应用中,服务器可以连接多个客户端;也可以是多个服务器连接一个客户端。图1以一个客户端101连接一个服务器102为例进行说明。
可选的,图1中的客户端101可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(radio access network,RAN)与一个或多个核心网进行通信。无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,也可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据,例如,手机、平板电脑、笔记本电脑、上网本、个人数字助理(personal digitalassistant,PDA)。
图1中的服务器102可以是服务器集群(由多个服务器组成)中的一个服务器,也可以是该服务器中的芯片,还可以是该服务器中的片上系统,还可以通过部署在物理机上的虚拟机(virtual machine,VM)实现,本申请实施例对此不作限定。
数据传输系统中的客户端101和服务器102的基本硬件结构类似,都包括图2或图3所示通信装置所包括的元件。下面以图2和图3所示的通信装置为例,介绍客户端101和服务器102的硬件结构。
如图2所示,为本申请实施例提供的通信装置的一种硬件结构示意图。该通信装置包括处理器21,存储器22、通信接口23、总线24。处理器21,存储器22以及通信接口23之间可以通过总线24连接。
处理器21是通信装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为一种实施例,处理器21可以包括一个或多个CPU,例如图2中所示的CPU 0和CPU 1。
存储器22可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器22可以独立于处理器21存在,存储器22可以通过总线24与处理器21相连接,用于存储指令或者程序代码。处理器21调用并执行存储器22中存储的指令或程序代码时,能够实现本发明下述实施例提供的数据传输方法。
在本申请实施例中,对于客户端101和服务器102而言,存储器22中存储的软件程序不同,所以客户端101和服务器102实现的功能不同。关于各设备所执行的功能将结合下面的流程图进行描述。
另一种可能的实现方式中,存储器22也可以和处理器21集成在一起。
通信接口23,用于通信装置与其他设备通过通信网络连接,所述通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口23可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线24,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图3示出了本发明实施例中通信装置的另一种硬件结构。如图3所示,通信装置可以包括处理器31以及通信接口32。处理器31与通信接口32耦合。
处理器31的功能可以参考上述处理器21的描述。此外,处理器31还具备存储功能,可以起上述存储器22的功能。
通信接口32用于为处理器31提供数据。该通信接口32可以是通信装置的内部接口,也可以是通信装置对外的接口(相当于通信接口23)。
需要指出的是,图2(或图3)中示出的结构并不构成对通信装置的限定,除图2(或图3)所示部件之外,该通信装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合附图对本申请实施例提供的数据传输方法进行详细介绍。
本申请实施例提供的数据传输方法包括:服务器创建得到客户端标识与初始长连接的对应关系的流程(简称为“对应关系建立流程”)和服务器通过接收客户端通过短连接发送的请求消息,再通过长连接向客户端发送响应于请求消息,获取到的目标数据的明细数据的流程(简称为“数据传输流程”)。
下面先对“对应关系建立流程”进行描述。
如图4所示,“对应关系建立流程”包括:S401-S403。
S401、服务器创建与初始客户端之间的初始长连接。
具体的,服务器可以接收初始客户端发送的长连接建立请求。在接收到初始客户端发送的长连接建立请求后,服务器可以创建与初始客户端之间的初始长连接。
可选的,服务器接收初始客户端发送的长连接建立请求时,可以在指定端口监听初始客户端的长连接建立请求。
可选的,服务器可以实时的监听初始客户端的长连接建立请求,也可以周期性的监听初始客户端的长连接建立请求。
可选的,初始客户端的数量可以是多个。
可选的,初始长连接的传输模式可以为WebSocket连接。
当初始长连接的传输模式为WebSocket连接时,WebSocket连接建立请求方式可以为GET方式。
S402、服务器获取初始客户端的客户端标识。
具体的,当服务器建立与初始客户端之间的初始长连接后,为了创建客户端标识与初始长连接的对应关系,服务器获取初始客户端的客户端标识。
可选的,服务器可以通过接收初始客户端通过初始长连接的传输模式发送的注册消息,获取注册消息中初始客户端的客户端标识。可选的,客户端标识可以为通用唯一识别码(universally unique identifier,UUID)、国际移动设备识别码(internationalmobile equipment identity,IMEI)、用户识别码(subscriber identity moduleidentifier,SIM ID)、或者介质访问控制(media access control,MAC)地址等。
可选的,注册消息可以为JSON消息。
进一步的,当初始长连接的传输模式为WebSocket连接时,服务器与初始客户端之间的WebSocket连接建立成功后,初始客户端先随机生成对应的客户端标识。初始客户端通过WebSocket连接向服务器发送包括上述客户端标识的JSON消息,其中,JSON消息格式如下,标题(type)为注册(register),WebSocket连接标识(wsid)为客户端标识:
{
'type':'register',
'wsid':wsid(客户端标识)
}。
示例性的,在服务器建立与客户端A的WebSocket连接ⅰ后,客户端A生成UUID“00000001-0001-0001-0001-000000000001”,并通过WebSocket连接ⅰ向服务器发送JSON消息,其中JSON消息为:
{
'type':'register',
'wsid':00000001-0001-0001-0001-000000000001
}。
S403、服务器创建客户端标识与初始长连接的对应关系。
具体的,服务器在获取到到初始客户端通过初始长连接的传输模式发送的客户端标识后,可以根据客户端标识,创建客户端标识与初始长连接的对应关系。
可选的,当初始客户端的数量是多个时,服务器在获取到多个初始客户端通过初始长连接的传输模式发送的客户端标识后,可以根据每个初始客户端的客户端标识,创建每个初始客户端的客户端标识与初始长连接的对应关系。
进一步的,当初始长连接的传输模式为WebSocket连接时,服务器创建客户端标识与初始长连接的对应关系可以为一个键值对集合类型的全局共享变量ws_connections。其数据结构如表1所示,其中每一个键值对中,键为表示客户端标识的wsid,值为WebSocket连接。
表1ws_connections
键 | 值 |
wsid | WebSocket连接 |
当服务器通过WebSocket连接接收到一个type为register的JSON消息时,从该JSON消息中获取初始客户端的客户端标识,然后在ws_connections中增加一个键值对<wsid,本WebSocket连接>:ws_connections[wsid,self]。
示例性的,服务器创建客户端标识与初始长连接的对应关系ws_connections。在服务器建立与客户端A的WebSocket连接ⅰ后,接收到客户端A在WebSocket连接ⅰ上发送的JSON消息:
{
'type':'register',
'wsid':00000001-0001-0001-0001-000000000001
}。
根据上述JSON消息,在ws_connections中增加一个键值对如表2所示。
表2ws_connections
键 | 值 |
00000001-0001-0001-0001-000000000001 | WebSocket连接ⅰ |
接下来对“数据传输流程”进行描述。
采用上述方法建立好对应关系之后,服务器可以通过接收客户端通过短连接发送的请求消息,再通过长连接向客户端发送响应于请求消息,获取到的目标数据的明细数据。如图5所示,包括S501-S503。
S501、服务器接收目标客户端通过短连接的传输模式,发送的用于获取目标数据的请求消息。
具体的,服务器可以接收目标客户端发送的短连接建立请求。在接收到目标客户端发送的短连接建立请求后,服务器可以创建与目标客户端之间的短连接。目标客户端通过短连接的传输模式向服务器发送用于获取目标数据的请求消息。
可选的,服务器接收目标客户端发送的短连接建立请求时,可以在指定端口监听目标客户端的短连接建立请求。
可选的,服务器可以实时的监听目标客户端的短连接建立请求。
可选的,短连接的传输模式可以为HTTP连接。
当短连接的传输模式为HTTP连接时,请求消息为HTTP请求消息,包括:服务器统一资源定位器(uniform resource locator,URL)端点、HTTP方法名和HTTP请求体(包括目标客户端的客户端标识)。
可选的,HTTP请求消息的请求方式可以为GET方式或者POST方式。
可选的,目标数据可以为视频、音频、动图等。
示例性的,预设客户端A生成的UUID为“00000001-0001-0001-0001-000000000001”。在服务器建立与客户端A的HTTP连接ⅰ后,接收到客户端A通过HTTP连接ⅰ发送的HTTP请求消息。上述HTTP请求消息用于请求根据一首诗合成一段视频,其中URL为http://remotehost/api/poem2video,HTTP方法名为POST,HTTP方法体为:
{
'poem':<一首诗>,
'wsid':00000001-0001-0001-0001-000000000001
}。
S502、服务器响应于请求消息,获取目标数据的明细数据。
具体的,服务器接收到目标客户端发送的请求消息后,调用与请求消息对应的后台应用程序的计算服务。后台应用程序向服务器发送计算服务过程中的明细数据。
可选的,服务器可以根据HTTP请求消息中的第二标识确定对应的后台应用程序的计算服务。
其中,第二标识用于指示服务器确定与请求消息对应的后台应用程序。
可选的,当请求消息为HTTP请求消息时,第二标识可以为URL端点和HTTP方法名。
可选的,明细数据可以为图像帧或者音频帧等。
S503、服务器通过与目标客户端对应的目标长连接的传输模式,向目标客户端发送明细数据。
具体的,在服务器响应于请求消息获取到目标数据的明细数据后,读取预先创建的客户端标识与初始长连接的对应关系,确定与目标客户端对应的目标长连接。后续,服务器将目标数据的明细数据依次通过目标长连接发送给目标客户端。
可选的,当请求消息为HTTP请求消息时,服务器可以根据HTTP请求消息中的目标客户端的第一标识,读取预先创建的客户端标识与初始长连接的对应关系,确定与目标客户端对应的目标长连接。
可选的,第一标识可以为UUID、IMEI、SIM ID、或者MAC地址等。
进一步的,服务器在ws_connections中确定第一标识对应的WebSocket连接。后续,服务器在WebSocket连接上向目标客户端依次发送明细数据。
在一种实施例中,结合图5,如图6所示,当请求消息包括目标客户端的第一标识时,该方法还包括:S601。
S601、服务器读取客户端标识与初始长连接的对应关系,将与第一标识对应的长连接确定为目标长连接。
具体的,在服务器响应于请求消息获取到目标数据的明细数据后,读取预先创建的客户端标识与初始长连接的对应关系,根据目标客户端的第一标识确定对应的目标长连接。
其中,第一标识用于标识目标客户端。
可选的,第一标识可以为UUID、IMEI、SIM ID、或者MAC地址等。
进一步的,当请求消息为HTTP请求消息时,服务器可以获取到HTTP请求体中的目标客户端的第一标识。服务器可以在ws_connections中查找值为第一标识的wsid,并确定其所对应的WebSocket连接。
可选的,当服务器读取不到目标客户端的第一标识对应的目标长连接时,向目标客户端发送长连接建立请求。响应于长连接建立请求,服务器建立与目标客户端之间的目标长连接。后续,服务器获取目标客户端的第一标识,生成第一标识与目标长连接的对应关系。
示例性的,预设服务器预先创建的客户端标识“00000001-0001-0001-0001-000000000001”、“00000002-0002-0002-0002-000000000002”、“00000003-0003-0003-0003-000000000003”与初始长连接WebSocket连接ⅰ、WebSocket连接ⅱ、WebSocket连接ⅲ的对应关系如表3所示。
表3ws_connections
客户端A通过HTTP连接ⅰ发送的HTTP请求消息中,第一标识为00000001-0001-0001-0001-000000000001。服务器在ws_connections中确定与客户端A的第一标识对应的WebSocket连接为WebSocket连接ⅰ。
在一种实施例中,结合图5,如图7所示,当请求消息包括目标数据的第二标识时,上述S502中,服务器响应于请求消息,获取目标数据的明细数据的方法具体包括:S701。
S701、服务器响应于请求消息,调用与第二标识对应的计算服务,以得到明细数据。
具体的,服务器接收到目标客户端发送的请求消息后,获取到请求消息中目标数据的第二标识。服务器调用与第二标识对应的后台应用程序的计算服务,得到目标数据的明细数据。
其中,第二标识用于指示服务器确定与请求消息对应的后台应用程序。
可选的,当请求消息为HTTP请求消息时,第二标识可以为URL端点和HTTP方法名。
可选的,明细数据可以为图像帧或者音频帧等。
示例性的,服务器接收到客户端A通过HTTP连接ⅰ发送的HTTP请求消息。上述HTTP请求消息用于请求根据一首诗合成一段视频,其中URL为http://remotehost/api/poem2video,HTTP方法名为POST,HTTP方法体为:
{
'poem':<一首诗>,
'wsid':00000001-0001-0001-0001-000000000001
}。
服务器向对应http://remotehost/api/poem2video和POST的后台应用程序发送数据请求,可以接收到上述视频的图像帧。
在一种实施例中,结合图5,如图8所示,当明细数据的数据量为多个时,上述S503中,服务器通过与目标客户端对应的目标长连接的传输模式,向目标客户端发送明细数据的方法具体包括:S801。
S801、服务器按照获取明细数据的先后顺序,通过目标长连接的传输模式,依次向目标客户端发送明细数据。
具体的,在服务器响应于请求消息获取到目标数据的明细数据后,读取预先创建的客户端标识与初始长连接的对应关系,确定与目标客户端对应的目标长连接。后续,服务器将目标数据的明细数据按照获取明细数据的先后顺序,依次通过目标长连接发送给目标客户端。
可选的,当请求消息为HTTP请求消息时,服务器可以获取到HTTP请求消息中目标客户端的第一标识,然后在ws_connections中确定第一标识对应的WebSocket连接。后续,服务器通过上述WebSocket连接按照获取明细数据的先后顺序依次向目标客户端发送明细数据。
可选的,服务器可以通过依次发送订阅消息,向目标客户端发送明细数据。
可选的,订阅消息可以为标题为订阅(data),内容(content)为明细数据:
ws_conn.send({
'type':'data',
'content':<明细数据>
})。
示例性的,预设服务器依次接收到后台应用程序响应于客户端A发送的请求消息生成的视频A的明细数据图像帧a、图像帧b和图像帧c。服务器确定客户端A的第一标识“00000001-0001-0001-0001-000000000001”对应的WebSocket连接为WebSocket连接ⅰ。后续,服务器在WebSocket连接ⅰ上依次向客户端A发送:
ws_conn.send({
'type':'data',
'content':<图像帧a>
});
ws_conn.send({
'type':'data',
'content':<图像帧b>
});
ws_conn.send({
'type':'data',
'content':<图像帧c>
})。
在一种实施例中,结合图5,如图9所示,该数据传输方法包括:S901。
S901、服务器响应于请求消息,向目标客户端发送响应消息。
具体的,服务器接收到目标客户端发送的请求消息后,向目标客户端发送响应消息。
进一步的,当请求消息为HTTP请求消息时,响应消息为HTTP响应消息。
示例性的,预设服务器接收到客户端A通过HTTP连接ⅰ发送的HTTP请求消息,服务器通过HTTP连接ⅰ向客户端A发送HTTP响应消息“HTTP/1.1200OK”。
综上,本申请实施例中的服务器在数据传输的过程中,通过利用短连接的传输模式来传输请求消息(用户请求),利用长连接的传输模式来传输目标数据的明细数据。这样一来,可以有效结合短连接和长连接两种传输模式,从而提高数据传输效率,进一步提升了用户体验。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对终端进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图10所示,为本申请实施例提供的一种服务器的结构示意图。该服务器可以用于执行图4、图5、图6、图7、图8或者图9所示的数据传输的方法。图10所示服务器包括:接收单元1001、获取单元1002、发送单元1003和创建单元1004。
接收单元1001,用于接收目标客户端通过短连接的传输模式,发送的用于获取目标数据的请求消息。例如,结合图5,接收单元1001用于执行S501。
获取单元1002,用于响应于接收单元1001接收的请求消息,获取目标数据的明细数据。例如,结合图5,获取单元1002用于执行S502。
发送单元1003,用于通过与目标客户端对应的目标长连接的传输模式,向目标客户端发送获取单元1001获取的明细数据。例如,结合图5,发送单元1003用于执行S503。
可选的,创建单元1004,用于创建与初始客户端之间的初始长连接。例如,结合图4,创建单元1004用于执行S401。
获取单元1002,还用于获取初始客户端的客户端标识。例如,结合图4,获取单元1002用于执行S402。
创建单元1004,还用于创建获取单元1002获取的客户端标识与初始长连接的对应关系。例如,结合图4,创建单元1004用于执行S403。
可选的,当请求消息包括目标客户端的第一标识时,发送单元1003,还用于读取创建单元1004创建的客户端标识与初始长连接的对应关系,将与第一标识对应的长连接确定为目标长连接。例如,结合图6,发送单元1003用于执行S601。
可选的,当请求消息包括目标数据的第二标识时,获取单元1002,具体用于响应于接收单元1001接收的请求消息,调用与第二标识对应的计算服务,以得到明细数据。例如,结合图7,获取单元1002用于执行S701。
可选的,当明细数据的数据量为多个时,发送单元1003,具体用于按照获取单元1002获取明细数据的先后顺序,通过目标长连接的传输模式,依次向目标客户端发送明细数据。例如,结合图8,发送单元1003用于执行S801。
可选的,发送单元1003,还用于响应于获取单元1002获取的请求消息,向目标客户端发送响应消息。例如,结合图9,发送单元1003用于执行S901。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的数据传输方法。
本申请实施例还提供一种计算机程序,该计算机程序可直接加载到存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述实施例提供的数据传输方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机可读存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种数据传输方法,其特征在于,包括:
接收目标客户端通过短连接的传输模式,发送的用于获取目标数据的请求消息;
响应于所述请求消息,获取所述目标数据的明细数据;
通过与所述目标客户端对应的目标长连接的传输模式,向所述目标客户端发送所述明细数据。
2.根据权利要求1所述的数据传输方法,其特征在于,还包括:
创建与初始客户端之间的初始长连接;
获取所述初始客户端的客户端标识;
创建所述客户端标识与所述初始长连接的对应关系。
3.根据权利要求2所述的数据传输方法,其特征在于,所述请求消息包括所述目标客户端的第一标识;还包括:
读取所述客户端标识与所述初始长连接的对应关系,将与所述第一标识对应的长连接确定为目标长连接。
4.根据权利要求1所述的数据传输方法,其特征在于,所述请求消息包括所述目标数据的第二标识;所述响应于所述请求消息,获取所述目标数据的明细数据,具体包括:
响应于所述请求消息,调用与所述第二标识对应的计算服务,以得到所述明细数据。
5.根据权利要求1所述的数据传输方法,其特征在于,当所述明细数据的数据量为多个时;所述通过与所述目标客户端对应的目标长连接的传输模式,向所述目标客户端发送所述明细数据,具体包括:
按照获取所述明细数据的先后顺序,通过所述目标长连接的传输模式,依次向所述目标客户端发送所述明细数据。
6.根据权利要求1所述的数据传输方法,其特征在于,还包括:
响应于所述请求消息,向所述目标客户端发送响应消息。
7.根据权利要求1-6任一项所述的数据传输方法,其特征在于,所述请求消息为HTTP请求消息;所述长连接为WebSocket连接。
8.一种数据传输装置,其特征在于,包括:接收单元、获取单元和发送单元;
所述接收单元,用于接收目标客户端通过短连接的传输模式,发送的用于获取目标数据的请求消息;
所述获取单元,用于响应于所述接收单元接收的所述请求消息,获取所述目标数据的明细数据;
所述发送单元,用于通过与所述目标客户端对应的目标长连接的传输模式,向所述目标客户端发送所述获取单元获取的所述明细数据。
9.根据权利要求8所述的数据传输装置,其特征在于,还包括:创建单元;
所述创建单元,用于创建与初始客户端之间的初始长连接;
所述获取单元,还用于获取所述初始客户端的客户端标识;
所述创建单元,还用于创建所述获取单元获取的所述客户端标识与所述初始长连接的对应关系。
10.根据权利要求9所述的数据传输装置,其特征在于,所述请求消息包括所述目标客户端的第一标识;所述发送单元,还用于:
读取所述创建单元创建的所述客户端标识与所述初始长连接的对应关系,将与所述第一标识对应的长连接确定为目标长连接。
11.根据权利要求7所述的数据传输装置,其特征在于,所述请求消息包括所述目标数据的第二标识;所述获取单元,具体用于:
响应于所述接收单元接收到的所述请求消息,调用与所述第二标识对应的计算服务,以得到所述明细数据。
12.根据权利要求7所述的数据传输装置,其特征在于,当所述明细数据的数据量为多个时;所述发送单元,具体用于:
按照所述获取单元获取所述明细数据的先后顺序,通过所述目标长连接的传输模式,依次向所述目标客户端发送所述明细数据。
13.根据权利要求7所述的数据传输装置,其特征在于,所述发送单元,还用于:
响应于所述获取单元获取的所述请求消息,向所述目标客户端发送响应消息。
14.根据权利要求8-13任一项所述的数据传输装置,其特征在于,所述请求消息为HTTP请求消息;所述长连接为WebSocket连接。
15.一种数据传输装置,其特征在于,包括存储器和处理器;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过总线连接;当所述数据传输装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述数据传输装置执行如权利要求1-7任一项所述的数据传输方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-7任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111210367.2A CN114040005A (zh) | 2021-10-18 | 2021-10-18 | 一种数据传输方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111210367.2A CN114040005A (zh) | 2021-10-18 | 2021-10-18 | 一种数据传输方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114040005A true CN114040005A (zh) | 2022-02-11 |
Family
ID=80135143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111210367.2A Pending CN114040005A (zh) | 2021-10-18 | 2021-10-18 | 一种数据传输方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114040005A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117082124A (zh) * | 2023-10-10 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 数据传送方法、装置、设备、介质及产品 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337961A (zh) * | 2012-11-02 | 2016-02-17 | 北京奇虎科技有限公司 | 和客户端进行通信的方法以及服务器 |
CN108200165A (zh) * | 2017-12-29 | 2018-06-22 | 广东欧珀移动通信有限公司 | 请求传输系统、方法、装置及存储介质 |
CN109962953A (zh) * | 2017-12-25 | 2019-07-02 | 深圳市优必选科技有限公司 | 客户端通信建立方法及装置 |
CN110166432A (zh) * | 2019-04-17 | 2019-08-23 | 平安科技(深圳)有限公司 | 对内网目标服务的访问方法、提供内网目标服务的方法 |
CN110278278A (zh) * | 2019-06-26 | 2019-09-24 | 深圳市迅雷网络技术有限公司 | 一种数据传输方法、系统、装置及计算机介质 |
CN110493030A (zh) * | 2019-07-05 | 2019-11-22 | 中国平安财产保险股份有限公司 | 网络优化方法、装置、计算机设备及存储介质 |
CN111092817A (zh) * | 2019-12-23 | 2020-05-01 | 中国联合网络通信集团有限公司 | 一种数据传输方法及装置 |
CN111225010A (zh) * | 2018-11-27 | 2020-06-02 | 北京京东尚科信息技术有限公司 | 数据处理方法、数据处理系统以及装置 |
CN111314433A (zh) * | 2020-01-20 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 消息传输方法、装置及电子设备 |
CN111917859A (zh) * | 2020-07-28 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机设备以及存储介质 |
-
2021
- 2021-10-18 CN CN202111210367.2A patent/CN114040005A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337961A (zh) * | 2012-11-02 | 2016-02-17 | 北京奇虎科技有限公司 | 和客户端进行通信的方法以及服务器 |
CN109962953A (zh) * | 2017-12-25 | 2019-07-02 | 深圳市优必选科技有限公司 | 客户端通信建立方法及装置 |
CN108200165A (zh) * | 2017-12-29 | 2018-06-22 | 广东欧珀移动通信有限公司 | 请求传输系统、方法、装置及存储介质 |
CN111225010A (zh) * | 2018-11-27 | 2020-06-02 | 北京京东尚科信息技术有限公司 | 数据处理方法、数据处理系统以及装置 |
CN110166432A (zh) * | 2019-04-17 | 2019-08-23 | 平安科技(深圳)有限公司 | 对内网目标服务的访问方法、提供内网目标服务的方法 |
CN110278278A (zh) * | 2019-06-26 | 2019-09-24 | 深圳市迅雷网络技术有限公司 | 一种数据传输方法、系统、装置及计算机介质 |
CN110493030A (zh) * | 2019-07-05 | 2019-11-22 | 中国平安财产保险股份有限公司 | 网络优化方法、装置、计算机设备及存储介质 |
CN111092817A (zh) * | 2019-12-23 | 2020-05-01 | 中国联合网络通信集团有限公司 | 一种数据传输方法及装置 |
CN111314433A (zh) * | 2020-01-20 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 消息传输方法、装置及电子设备 |
CN111917859A (zh) * | 2020-07-28 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机设备以及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117082124A (zh) * | 2023-10-10 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 数据传送方法、装置、设备、介质及产品 |
CN117082124B (zh) * | 2023-10-10 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 数据传送方法、装置、设备、介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11611863B2 (en) | Method and apparatus for low energy discovery | |
EP3595366B1 (en) | Network access method and terminal | |
US9537786B2 (en) | Method, device, and system for information processing based on distributed buses | |
KR20100126433A (ko) | 무선 네트워크에 제공된 서비스를 발견하는 기술 | |
US10945130B2 (en) | Method for establishing wireless connection for application of user equipment | |
CN114667753A (zh) | 通信方法及装置、电子设备及存储介质 | |
WO2021237433A1 (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
CN111786998A (zh) | 基于微服务调用的权限管理方法、装置及存储介质 | |
CN110177047B (zh) | 报文发送方法、装置、电子设备和计算机可读存储介质 | |
CN112398845B (zh) | 数据传输方法、数据传输装置、系统及电子设备 | |
EP3962030A1 (en) | Communication method and related device | |
CN114040005A (zh) | 一种数据传输方法、装置及存储介质 | |
WO2024131493A1 (zh) | 任务处理方法、装置、设备及存储介质 | |
CN106686635B (zh) | 基于无线接入点的控制和配置协议的数据传输方法和装置 | |
CN113993178A (zh) | 多链路传输方法及装置、计算机可读存储介质、终端设备 | |
CN106657076B (zh) | 一种网络命名空间的tcp服务实现方法及装置 | |
CN102025730B (zh) | 基于http协议的数据传输装置及其实现方法 | |
CN116244231A (zh) | 一种数据传输方法、装置、系统、电子设备及存储介质 | |
CN114158038B (zh) | 一种通信方法、装置及存储介质 | |
KR101921275B1 (ko) | 메신저에서의 파일 전송 시 기기 간 통신 기술을 활용하는 방법 및 시스템 | |
CN112291568B (zh) | 数据处理方法、装置、介质、网络接入设备及电子设备 | |
KR20200055106A (ko) | 서비스 능력 요건들 및 선호도들에 기반한 서비스 등록 | |
CN114025016B (zh) | 一种数据转发方法、装置及存储介质 | |
CN113566822A (zh) | 一种提供视觉定位导航服务的方法和系统 | |
CN107483424B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220211 |