CN117395307A - 一种数据传输的方法、装置及存储介质 - Google Patents
一种数据传输的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117395307A CN117395307A CN202311532904.4A CN202311532904A CN117395307A CN 117395307 A CN117395307 A CN 117395307A CN 202311532904 A CN202311532904 A CN 202311532904A CN 117395307 A CN117395307 A CN 117395307A
- Authority
- CN
- China
- Prior art keywords
- data
- connection
- information
- transmission
- memory
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 230000015654 memory Effects 0.000 claims abstract description 64
- 238000013507 mapping Methods 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 description 22
- 230000004044 response Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 18
- 239000003795 chemical substances by application Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- 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/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种数据传输的方法、装置及存储介质,应用于数据传输装置,该方法包括:应用层代理将获取的连接信息发送给传输层;所述传输层根据所述连接信息,确定映射关系,所述映射关系为到数据请求端的第一连接和到服务器端的第二连接之间的对应关系;所述传输层根据所述映射关系,将所述数据请求端所请求的来自所述服务器端的数据,从与第二连接相关联的所述传输层中的第二内存,复制到与第一连接相关联的所述传输层中第一内存,以使得所述数据从所述第一内存传输到所述数据请求端。通过该方法,可以提高系统响应请求的速度,以及减少设备资源的占用。
Description
技术领域
本发明涉及数据传输领域,具体涉及一种数据传输的方法、装置及存储介质。
背景技术
在云计算场景中,例如采用微服务架构或Serverless(无服务)架构,业务应用功能的实现通常需要多个功能组件相互协同实现相应的功能,这些服务之间的调用,通常利用到各类网络协议。此外,通过设置应用层代理,可以对一个TCP(Transmission ControlProtocol,传输控制协议)连接中的不同请求进行控制,从而实现更精细的流量控制,但增加了系统的数据处理负担,其直接的结果即为系统通信延时增加,通常也会降低系统响应请求的速度,以及加剧设备资源的占用。
发明内容
本申请实施例提供一种数据传输的方法,以提高系统响应请求的速度,以及减少设备资源的占用。
第一方面,提供了一种数据传输的方法,其特征在于,应用于数据传输装置,所述方法包括以下步骤:
应用层代理将获取的连接信息发送给传输层;
所述传输层根据所述连接信息,确定映射关系,所述映射关系为到数据请求端的第一连接和到服务器端的第二连接之间的对应关系;
所述传输层根据所述映射关系,将所述数据请求端所请求的来自所述服务器端的数据,从与第二连接相关联的所述传输层中的第二内存,复制到与第一连接相关联的所述传输层中第一内存,以使得所述数据从所述第一内存传输到所述数据请求端。
基于上述技术方案,控制与数据分离,可实现应用层代理请求与响应的不同地点操作,从而为应用层代理的优化提供前提。根据在传输层的请求截获传输操作,可避免数据上传至应用层代理,消除多次数据拷贝和冗余的数据操作。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:所述传输层将所述数据的关键信息同步给所述应用层代理。
基于上述技术方案,根据控制面与数据面的交互方式,可实现数据面与控制面的控制信息同步,实现优化系统性能的同时,保证统计,监测等功能的完备。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:
所述传输层将收集的所述数据的关键信息存入共享内存中;
所述传输层发送通知信息通知所述应用层代理;
所述应用层代理收到所述通知信息后,从所述共享内存中所述数据的关键信息;
所述应用层代理通知传输层已获取所述数据的关键信息。
结合第一方面,在第一方面的某些实现方式中,该方法包括:
所述传输层将收集的所述数据的关键信息存入共享内存中;
所述传输层发送通知信息通知所述应用层代理;
所述应用层代理收到所述通知信息后,从所述共享内存中所述数据的关键信息;
所述应用层代理通知传输层已获取所述数据的关键信息。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:所述应用层代理根据来自所述数据请求端的请求数据,获得元数据,所述元数据包括与传输协议相关的头部信息和第一连接的标识信息;
所述应用层代理根据路由规则选择目的服务器的地址信息,将所述元数据中的连接的标识信息存入该地址信息中;
所述应用层代理建立与所述服务器端的连接,获得第二连接的标识信息;
所述应用层代理将所述连接信息同步给传输层后,所述连接信息包括所述第一连接的标识信息和与所述第一连接相对于的第二连接的标识信息。
结合第一方面,在第一方面的某些实现方式中,该方法包括:
所述传输层存储所述映射关系;
当所述数据到达所述传输层,所述传输层查询所存储的所述映射关系。
结合第一方面,在第一方面的某些实现方式中,所述方法包括:所述数据从所述第一内存传输到所述数据请求端。
第二方面,本申请提供了一种数据传输装置,包括存储器和处理器;所述存储器和所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;其中,当所述处理器执行所述计算机指令时,使得所述数据传输装置执行如第一方面中的数据传输方法。
第二方面中的装置可以是芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第三方面,本申请提供了一种处理器,包括:输入电路、输出电路和处理电路。所述处理电路用于通过所述输入电路接收信号,并通过所述输出电路发射信号,使得所述处理器执行第一方面中的方法。
第四方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行第一方面中的方法。
第五方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在数据传输装置上运行时,使得数据传输装置执行上述第一方面中的方法。
附图说明
图1为本申请实施例提供的一种数据通路示意图;
图2为本申请实施例提供的数据传输方法的示意性流程图;
图3为本申请实施例提供的应用层代理的架构示意图;
图4为本申请实施例提供的传输层架构的示意图;
图5为本申请实施例提供的一种信息同步的方法的示意性流程图;
图6本申请实施提供的数据传输装置的示意性结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或,b,或,c,或,a和b,或,a和c,或,b和c,或,a、b和c。其中a、b和c分别可以是单个,也可以是多个。涉及网元A向网元B发送消息、信息或数据,以及网元B接收来自网元A的消息、信息或数据的相关描述,旨在说明该消息、信息或数据是要发给哪个网元,而并不限定它们之间是直接发送还是经由其他网元间接发送。“当……时”、“在……的情况下”、“若”以及“如果”等描述均指在某种客观情况下设备会做出相应的处理,并非是限定时间,且也不要求设备在实现时一定要有判断的动作,也不意味着存在其它限定。
此外,本申请实施例描述的架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面是本申请中的一些术语的缩写及中英文全称:HTTP(Hypertext TransferProtocol,超文本传输协议),TCP(Transmission Control Protocol,传输控制协议),UDP(User Datagram Protocol,用户数据报协议),CDN(Content Delivery Network,内容分发网络),IP(Internet Protocol,互联网协议),DPDK(Data Plane Development Kit,数据平面开发套件),RPC(Remote Procedure Call,远程过程调用),eBPF(extend BerkeleyPacket Filter,扩展伯克利包过滤器),fd(File Description,文件描述符),tx(Transmit,发送),rx(Receive,接收)。
图1为本申请实施例中一种数据通路的示意图,根据一般的应用层代理的使用方式,可以将整个数据通路简化为图1的模型。该图1所示的模型中,请求发起所在的模块是数据请求端,也可以称为客户端,负责产生请求数据(request),并发送给数据传输装置;应用层代理和传输层所在的模块为数据传输装置,应用层代理通过传输层接收客户端发送的request,并且再通过传输层将request发送给服务器端。请求接受所在的模块是服务器端,用于接收request,产生响应数据(response),并通过数据传输装置将response发送给请求发起端;相较于现有的应用层代理,本申请中的应用层代理主要处理请求数据以保证对流量的控制,同时将响应数据的传输工作卸载至传输层以减少数据的拷贝过程,从而提高系统的整体性能。此外,如图1所示,还可以进一步通过应用层代理和传输层之间的信息同步机制,来保证应用层代理与传输层信息对响应数据的检测。
应理解,图1所示的架构仅是示例性说明,适用本申请实施例的网络架构并不局限于此,任何能够实现上述功能的架构都适用于本申请实施例。
图2是本申请提供的数据传输的方法200的示意性流程图。方法200包括以下内容中的至少部分内容:
S201:应用层代理将获取的连接信息发送给传输层;
在一种实施方式中,应用层代理与客户端建立连接,获取客户端的请求数据,进行数据处理,然后根据处理结果与服务器端建立连接,并将处理后的数据作为新的请求发送给服务器端。后续的响应过程与之相反。
此外,为实现响应阶段的快速数据转发,应用层代理将两条连接的对应关系通知传输层。
图3为应用层代理的架构示意图,图3显示了应用层代理部分的架构,以及连接信息的同步功能信息流程。该应用层代理架构并不是完整的应用层代理,仅展示使应用层代理具备数据快速转发的能力的部分模块,以及他们之间的关系。该架构主要包括协议解析、路由模块、创建连接和信息同步四个模块。协议解析模块根据协议规范解析收到的请求数据,获得元数据(metadata),主要是协议相关的头部信息和连接的标识信息,称为fd1,也可称为第二连接的标识信息。路由模块接收到元数据,根据路由规则选择出目的服务器端的地址信息(host),同时本申请实施例中将元数据中的连接标识信息存入该地址信息中。创建连接模块获得服务器的地址信息后,与指定的服务器端建立连接,获得标识信息,称为fd2,也可称为第二连接的标识信息。此时,该模块根据fd1、fd2获得两条连接的对应关系。该对应关系被同步给传输层后,传输层即可根据具体的fd查找到连接信息,从而实现数据的截获传输。
其中,信息同步模块用于收集响应阶段的信息以便应用代理进行后续的各类统计功能。这些统计结果可能影响其他功能模块的功能,如路由模块的路由选择。所述传输层根据所述连接信息,确定映射关系,所述映射关系也可称为对应关系,即为到数据请求端的第一连接和到服务器端的第二连接之间的对应关系;
S202:所述传输层根据所述映射关系,将所述数据请求端所请求的来自所述服务器端的数据,从与第二连接相关联的所述传输层中的第二内存,复制到与第一连接相关联的所述传输层中第一内存,以使得所述数据从所述第一内存传输到所述数据请求端。
传输层用于数据的传输,其对请求数据无感知,所以其通常不知道在应用层代理中新建连接(fd2)与原连接(fd1)的对应关系,从而无法在该层实现两者之间的数据传递。在本申请实施例中,通过在应用层实现连接映射关系的获取功能,进一步使传输层可获得连接的映射关系,最终实现响应数据在传输层的传递。
图4为传输层架构的示意图,传输层包括传输协议栈和Socket层。传输层的功能即为数据传输协议的处理,常见的协议为TCP/IP协议栈,该部分内容遵循通常的协议处理即可。Socket层完成数据的交互操作,包括与应用层协议的处理,以及与其他连接的数据交互。在本申请实施例中,需要在该层将响应数据由fd2连接的rx内存拷贝到fd1连接的tx内存中。该拷贝过程的操作可利用共享内存,也可通过不同内存的数据拷贝实现。
Socket层中涉及的其它两个重要模块为连接映射管理模块和信息同步模块。连接映射管理模块负责从应用层代理获取连接的映射关系,同时负责对其进行存储,管理。传输层获取到连接信息,建立对应关系。将映射关系记录到特定的位置,等待后续请求过程的查询。当响应数据经过协议栈的处理后,在socket层查询连接的映射关系,从而得到对端的连接数据。将数据拷贝到对端连接的发送队列中,通知对端连接发送数据。
当响应数据到达后,由该模块查询是否返回对应的连接信息,然后数据被拷贝至查询连接的tx内存中,等待响应数据发送。信息同步模块负责收集响应阶段的信息,并将其同步给应用层代理。
在一种可选的实施方式中,该方法还包括S203:传输层将所述数据的关键信息同步给所述应用层代理。
图5为一种信息同步的方式流程图,示意了应用层代理与传输层的信息同步机制可以利用一种异步事件通知的方式。异步事件通知的方式仅为实现传输层将所述数据的关键信息同步给所述应用层代理的方式之一。该异步事件通知的方式包括信息缓存和事件通知两部分。其中信息缓存用于记录响应数据的相关控制信息,事件通知负责通知对方进行指定的操作。
如图5所示,信息同步的方法包括:
①传输层将收集的响应信息(information),也可称为数据的关键信息,存入共享内存中;
②传输层发送事件通知信息给应用层代理,通知应用层代理响应到达;
③应用层代理从共享内存中获取数据的关键信息;
④应用层代理发送通知传输层已获取响应信息。
信息同步的执行可以和传输层传递响应数据同时进行,也可以在传输层完成响应数据的传输后进行。
此外,可选的,该方法还包括步骤S204,数据从第一内存传输到数据请求端。该步骤的实现可参照现有的数据传输方法实现,在此不再赘述。
基于上述技术方案,控制与数据分离,可实现应用层代理请求与响应的不同地点操作,从而为应用层代理的优化提供前提。根据在传输层的请求截获传输操作,可避免数据上传至应用层代理,消除多次数据拷贝和冗余的数据操作。
本申请实施例还提供一种数据传输装置,包括:至少一个处理器;用于存储所述至少一个处理器可执行指令的存储器;其中,所述至少一个处理器被配置为执行所述指令,以实现本公开实施例公开的上述方法。
图6为本公开一示例性实施例提供的数据传输装置的结构示意图。如图6所示,该数据传输装置600包括至少一个处理器601以及耦接至处理器601的存储器602,该处理器601可以执行本公开实施例公开的上述方法中的相应步骤。
上述处理器601还可以称为中央处理单元(central processing unit,CPU),其可以是一种集成电路芯片,具有信号的处理能力。本公开实施例公开的上述方法中的各步骤可以通过处理器1801中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1801可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储器602中,例如随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质。处理器601读取存储器602中的信息,结合其硬件完成上述方法的步骤。此外,该数据传输装置还可进一步包括耦接至处理器601的收发器603,用于信息或数据的接收和发送。
本公开实施例还提供一种计算机可读存储介质,其中,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本公开实施例公开的上述方法。
本公开实施例中的计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。上述计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。更具体的,上述计算机可读存储介质可以包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
上述计算机可读介质可以是上述数据传输装置中所包含的;也可以是单独存在,而未装配入该数据传输装置中。
本公开实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现本公开实施例公开的上述方法。
在本公开的实施例中,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。、
在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (9)
1.一种数据传输的方法,其特征在于,应用于数据传输装置,所述方法包括以下步骤:
应用层代理将获取的连接信息发送给传输层;
所述传输层根据所述连接信息,确定映射关系,所述映射关系为到数据请求端的第一连接和到服务器端的第二连接之间的对应关系;
所述传输层根据所述映射关系,将所述数据请求端所请求的来自所述服务器端的数据,从与第二连接相关联的所述传输层中的第二内存,复制到与第一连接相关联的所述传输层中第一内存,以使得所述数据从所述第一内存传输到所述数据请求端。
2.根据权利要求1所述的方法,其特征在于,所述传输层将所述数据的关键信息同步给所述应用层代理。
3.根据权利要求2所述的方法,其特征在于,所述方法包括:
所述传输层将收集的所述数据的关键信息存入共享内存中;
所述传输层发送通知信息通知所述应用层代理;
所述应用层代理收到所述通知信息后,从所述共享内存中所述数据的关键信息;
所述应用层代理通知传输层已获取所述数据的关键信息。
4.根据权利要求1所述的方法,其特征在于,所述方法包括:
所述传输层将收集的所述数据的关键信息存入共享内存中;
所述传输层发送通知信息通知所述应用层代理;
所述应用层代理收到所述通知信息后,从所述共享内存中所述数据的关键信息;
所述应用层代理通知传输层已获取所述数据的关键信息。
5.根据权利要求1所述的方法,其特征在于,所述应用层代理根据来自所述数据请求端的请求数据,获得元数据,所述元数据包括与传输协议相关的头部信息和第一连接的标识信息;
所述应用层代理根据路由规则选择目的服务器的地址信息,将所述元数据中的连接的标识信息存入该地址信息中;
所述应用层代理建立与所述服务器端的连接,获得第二连接的标识信息;
所述应用层代理将所述连接信息同步给传输层后,所述连接信息包括所述第一连接的标识信息和与所述第一连接相对于的第二连接的标识信息。
6.根据权利要求1所述的方法,其特征在于,所述方法包括:
所述传输层存储所述映射关系;
当所述数据到达所述传输层,所述传输层查询所存储的所述映射关系。
7.根据权利要求1所述的方法,其特征在于,所述方法包括:
所述数据从所述第一内存传输到所述数据请求端。
8.一种数据传输装置,其特征在于,
包括存储器和处理器;所述存储器和所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;其中,当所述处理器执行所述计算机指令时,使得所述数据传输装置执行如权利要求1-7中任意一项所述的数据传输方法。
9.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质存储有计算机指令;其中,当所述计算机指令在数据传输装置上运行时,使得所述数据传输装置执行如权利要求1-7中任意一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311532904.4A CN117395307B (zh) | 2023-11-16 | 2023-11-16 | 一种数据传输的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311532904.4A CN117395307B (zh) | 2023-11-16 | 2023-11-16 | 一种数据传输的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117395307A true CN117395307A (zh) | 2024-01-12 |
CN117395307B CN117395307B (zh) | 2024-10-18 |
Family
ID=89464888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311532904.4A Active CN117395307B (zh) | 2023-11-16 | 2023-11-16 | 一种数据传输的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117395307B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118283114A (zh) * | 2024-06-03 | 2024-07-02 | 阿里云计算有限公司 | 数据处理方法、系统、电子设备和可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9338192B1 (en) * | 2012-12-28 | 2016-05-10 | Juniper Networks, Inc. | Connection management using connection request transfer protocol |
CN109088892A (zh) * | 2018-10-19 | 2018-12-25 | 网宿科技股份有限公司 | 数据传输方法、系统以及代理服务器 |
US20190158370A1 (en) * | 2017-11-17 | 2019-05-23 | Electronics And Telecommunications Research Institute | Computing system and method for intelligent ioe information framework |
WO2019204199A1 (en) * | 2018-04-18 | 2019-10-24 | Mavenir Networks, Inc. | Services-based architecture for ims |
US20200036796A1 (en) * | 2018-07-30 | 2020-01-30 | Cisco Technology, Inc. | Container networking using communication tunnels |
US10958539B1 (en) * | 2019-12-02 | 2021-03-23 | Cisco Technology, Inc. | Network function virtualization compute element image upgrade |
WO2021194645A1 (en) * | 2020-03-24 | 2021-09-30 | Microsoft Technology Licensing, Llc | Reverse proxy servers for implementing application layer-based and transport layer-based security rules |
-
2023
- 2023-11-16 CN CN202311532904.4A patent/CN117395307B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9338192B1 (en) * | 2012-12-28 | 2016-05-10 | Juniper Networks, Inc. | Connection management using connection request transfer protocol |
US20190158370A1 (en) * | 2017-11-17 | 2019-05-23 | Electronics And Telecommunications Research Institute | Computing system and method for intelligent ioe information framework |
WO2019204199A1 (en) * | 2018-04-18 | 2019-10-24 | Mavenir Networks, Inc. | Services-based architecture for ims |
US20200036796A1 (en) * | 2018-07-30 | 2020-01-30 | Cisco Technology, Inc. | Container networking using communication tunnels |
CN109088892A (zh) * | 2018-10-19 | 2018-12-25 | 网宿科技股份有限公司 | 数据传输方法、系统以及代理服务器 |
US20200358857A1 (en) * | 2018-10-19 | 2020-11-12 | Wangsu Science & Technology Co., Ltd. | Data transmission method, system and proxy server |
US10958539B1 (en) * | 2019-12-02 | 2021-03-23 | Cisco Technology, Inc. | Network function virtualization compute element image upgrade |
WO2021194645A1 (en) * | 2020-03-24 | 2021-09-30 | Microsoft Technology Licensing, Llc | Reverse proxy servers for implementing application layer-based and transport layer-based security rules |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118283114A (zh) * | 2024-06-03 | 2024-07-02 | 阿里云计算有限公司 | 数据处理方法、系统、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117395307B (zh) | 2024-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11159411B2 (en) | Distributed testing service | |
CN113485823A (zh) | 数据传输方法、装置、网络设备、存储介质 | |
US10146848B2 (en) | Systems and methods for autonomous, scalable, and distributed database management | |
CN117395307B (zh) | 一种数据传输的方法、装置及存储介质 | |
US20190132276A1 (en) | Unified event processing for data/event exchanges with existing systems | |
CN110661891B (zh) | 一种基于单向网络的跨网文件即时传输方法及系统 | |
WO2022148363A1 (zh) | 数据传输方法及数据传输服务器 | |
US11010189B2 (en) | Multi-cloud operating method, operation managing device, and storage medium | |
US11223686B2 (en) | Transport channel via web socket for OData | |
US20150370546A1 (en) | Method and apparatus for generating data distribution service application | |
US10536560B2 (en) | System and method for implementing augmented object members for remote procedure call | |
US11824911B2 (en) | Flexible upstream/downstream support for network-based media processing pipelines | |
CN117642724A (zh) | 使用无服务器计算系统的流式分析 | |
US20230283695A1 (en) | Communication Protocol for Knative Eventing's Kafka components | |
WO2023231723A1 (zh) | 流媒体数据处理方法及系统 | |
Kang et al. | Android RMI: a user-level remote method invocation mechanism between Android devices | |
US20150081774A1 (en) | System and method for implementing augmented object members for remote procedure call | |
CN111125493B (zh) | 一种基于协议无感知转发的高速数据查询系统及方法 | |
JP6218720B2 (ja) | データ処理システム、サーバおよびデータ処理管理用プログラム | |
CN113032477A (zh) | 基于gtid的长距离数据同步方法、装置及计算设备 | |
CN117354400B (zh) | 一种用于北斗短报文的采集解析服务系统 | |
US9135090B2 (en) | Messaging bus residing on a mobile device | |
US20240348680A1 (en) | Data plane reduction for eventing components | |
CN115866094A (zh) | 一种数据传输系统、方法及电子设备 | |
CN117097816A (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 |