CN113055350A - 数据传输方法、装置、设备及可读存储介质 - Google Patents
数据传输方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113055350A CN113055350A CN201911378012.7A CN201911378012A CN113055350A CN 113055350 A CN113055350 A CN 113055350A CN 201911378012 A CN201911378012 A CN 201911378012A CN 113055350 A CN113055350 A CN 113055350A
- Authority
- CN
- China
- Prior art keywords
- request
- sending
- calling
- channels
- data
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- 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/563—Data redirection of data network streams
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请适用于数据传输技术领域,提供了一种数据传输方法、装置、设备及可读存储介质方法,该方法包括:响应至少一个请求方发送的k个调取请求,将k个调取请求依次通过i个发送通道发送至第二设备。响应第二设备从k个发送通道返回的状态信息,将每个状态信息对应的调取请求挂起。通过N‑i个取回通道向第二设备发送取回请求,并通过取回通道接收第二设备返回的至少一个请求数据,并发送给调取请求特征参数对应的请求方。通过发送通道发送调取请求,通过取回通道取回请求数据,发送通道和取回通道相互独立,互不干扰,使得在调取请求数量大于网闸并发通道的数量时,有效利用每个并发通道,提高网闸通道资源的利用率,有效降低了调取数据的延迟。
Description
技术领域
本申请属于数据传输技术领域,尤其涉及一种数据传输方法、装置、设备及可读存储介质。
背景技术
在一些需要数据保密的企业或部门,一般会使用内网来进行内部数据的传输,在需要连接外网时,往往会通过网闸连接内外网,实现数据交换。
现有技术中,从内网调取外网的数据时,请求方先向网闸发送调取请求,然后网闸将调取请求给外网中对应的设备,该设备根据调取请求获取对应的数据后,再通过网闸将对应的数据发送给请求方。
但是,由于现有技术中,每个调取请求发送之后,都需要占用一个网闸的并发通道等待请求数据返回,使得调取请求数量大于网闸并发通道的数量时,所有并发通道均被占用,并发通道资源无法有效得到利用,造成调取数据延迟。
发明内容
本申请实施例提供了一种数据传输方法、装置、终端设备及可读存储介质,可以改善现有技术中调取请求数量大于网闸并发通道的数量时,并发通道资源无法有效得到利用,造成调取数据延迟的问题。
第一方面,本申请实施例提供了一种数据传输方法,应用于第一设备,第一设备通过网闸与第二设备通信连接,第一设备与网闸之间包括N个并发通道,其中,N个并发通道中的i个并发通道为发送通道,剩余的N-i个并发通道为取回通道,N为大于1的整数,i为大于或等于1且小于N的整数,该方法包括:
响应至少一个请求方发送的k个调取请求,将k个调取请求通过i个发送通道依次发送至第二设备,其中,k为大于N的整数,调取请求包括调取请求特征参数和请求数据的路径。响应第二设备从i个发送通道返回的状态信息,将每个状态信息对应的调取请求挂起,其中,状态信息用于指示第二设备收到调取请求。通过N-i个取回通道向第二设备发送取回请求,并通过取回通道接收第二设备返回的至少一个请求数据,其中,每个返回的请求数据中,包括与请求数据对应的调取请求特征参数,返回的请求数据是第二设备根据请求数据的路径得到的。根据至少一个请求数据的调取请求特征参数,将请求数据发送给调取请求特征参数对应的请求方。
一些实施方式中,将k个调取请求通过i个发送通道依次发送至第二设备,包括:将i个调取请求通过i个发送通道发送至第二设备。响应第二设备返回的状态信息,将每个状态信息对应的调取请求挂起。将剩余的k-i个调取请求,依次通过挂起的调取请求对应的发送通道发送至第二设备,直至所有调取请求发送完毕。
一些实施方式中,将每个状态信息对应的调取请求挂起,包括:获取每个状态信息中的调取请求特征参数,根据调取请求特征参数,确定每个状态信息对应的调取请求。将每个状态信息对应的调取请求挂起。
一些实施方式中,根据至少一个请求数据的调取请求特征参数,将请求数据发送给调取请求特征参数对应的请求方,包括:获取至少一个请求数据中的调取请求特征参数。根据请求数据中调取请求特征参数、挂起的调取请求的特征参数,确定每个请求数据对应的挂起的调取请求、以及与每个挂起的调取请求对应的请求方。将请求数据发送给对应的请求方。
第二方面,本申请实施例还提供了一种数据传输方法,应用于第二设备,第二设备通过网闸与第一设备通信连接,该方法包括:
响应第一设备发送的调取请求,将调取请求发送给响应方,并向第一设备返回状态信息,其中,调取请求包括调取请求特征参数和请求数据的路径,状态信息用于指示第二设备收到调取请求。响应第一设备发送的取回请求,将响应方根据请求数据的路径返回的请求数据发送给第一设备,其中,每个返回的请求数据中,包括与请求数据对应的调取请求特征参数。
一些实施方式中,响应第一设备发送的取回请求,将响应方根据请求数据的路径返回的请求数据发送给第一设备,包括:响应数据取回请求,等待接收请求数据。接收响应方根据请求数据的路径返回的至少一个请求数据。将接收到的至少一个请求数据发送给第一网络。
第三方面,本申请实施例提供了一种数据传输装置,应用于第一设备,第一设备通过网闸与第二设备通信连接,第一设备与网闸之间包括N个并发通道,其中,N个并发通道中的i个并发通道为发送通道,剩余的N-i个并发通道为取回通道,N为大于1的整数,i为大于或等于1且小于N的整数,该装置包括:
第一发送模块,用于响应至少一个请求方发送的k个调取请求,将k个调取请求依次通过i个发送通道发送至第二设备,其中,k为大于N的整数,调取请求包括调取请求特征参数和请求数据的路径;
挂起模块,用于响应第二设备从i个发送通道返回的状态信息,将每个状态信息对应的调取请求挂起,其中,状态信息用于指示第二设备收到调取请求;
取回模块,用于通过N-i个取回通道向第二设备发送取回请求,并通过取回通道接收第二设备返回的至少一个请求数据,其中,每个返回的请求数据中,包括与请求数据对应的调取请求特征参数,返回的请求数据是第二设备根据请求数据的路径得到的;
第一发送模块,还用于根据至少一个请求数据的调取请求特征参数,将请求数据发送给调取请求特征参数对应的请求方。
第一发送模块,具体用于将i个调取请求通过i个发送通道发送至第二设备。响应第二设备返回的状态信息,将每个状态信息对应的调取请求挂起。将剩余的k-i个调取请求,依次通过挂起的调取请求对应的发送通道发送至第二设备,直至所有调取请求发送完毕。
挂起模块,具体用于获取每个状态信息中的调取请求特征参数,根据调取请求特征参数,确定每个状态信息对应的调取请求。将每个状态信息对应的调取请求挂起。
第一发送模块,还具体用于获取至少一个请求数据中的调取请求特征参数。根据请求数据中调取请求特征参数、挂起的调取请求的特征参数,确定每个请求数据对应的挂起的调取请求、以及与每个挂起的调取请求对应的请求方。将请求数据发送给对应的请求方。
第四方面,本申请实施例提供了一种数据传输装置,应用于第二设备,第二设备通过网闸与第一设备通信连接,该装置包括:
第二发送模块,用于响应第一设备发送的调取请求,将调取请求发送给响应方,并向第一设备返回状态信息,其中,调取请求包括调取请求特征参数和请求数据的路径,状态信息包括调取请求特征参数,状态信息用于指示第二设备收到调取请求。第二发送模块,还用于响应第一设备发送的取回请求,将响应方根据请求数据的路径返回的请求数据发送给第一设备,其中,每个返回的请求数据中,包括与请求数据对应的调取请求特征参数。
第二发送模块,具体用于响应数据取回请求,等待接收请求数据。接收响应方根据请求数据的路径返回的至少一个请求数据。将接收到的至少一个请求数据发送给第一网络。
第五方面,本申请实施例提供了一种第一设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如第一方面提供的方法。
第六方面,本申请实施例提供了一种第二设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如第二方面提供的方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如第一方面提供的方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如第二方面提供的方法。
第九方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中提供的方法。
第十方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第二方面中提供的方法。
可以理解的是,上述第二方面至第十方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:
在调取请求的数量大于并发通道的数量时,通过发送通道向第二设备发送调取请求,并在确认第二设备接收到调取请求后,挂起调取请求,断开第一网络和第二网络之间的连接。然后再通过取回通道向第二设备发送数据取回请求,并取回至少一个第二设备返回的请求数据。最后,根据接收到的返回的请求数据中的特征参数,确定该请求数据对应的调取请求,将该请求数据发送给发送该调取请求的请求方。
由于仅通过发送通道向第二设备发送调取请求,每个调取请求只占用发送通道,且占用发送通道的时间仅为发送调取请求的时间,无需等待响应,不会长期占用发送通道,同时,通过取回通道向第二设备发送数据取回请求,并通过取回通道取回请求数据,发送通道和取回通道相互独立,互不干扰,实现了在发送调取请求的同时,取回之前发送请求返回的数据,不会长期占用并发通道等待响应,使得在调取请求数量大于网闸并发通道的数量时,可以有效利用每个并发通道,提高网闸通道资源的利用率,进而有效降低了调取数据的延迟。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的数据传输方法应用场景示意图;
图2是本申请一实施例提供的数据传输方法的流程示意图;
图3是本申请另一实施例提供的数据传输方法的流程示意图;
图4是本申请另一实施例提供的数据传输方法的流程示意图;
图5是本申请另一实施例提供的数据传输方法的流程示意图;
图6是本申请一实施例提供的数据传输方法的流程示意图;
图7是本申请另一实施例提供的数据传输方法的流程示意图;
图8是本申请实施例提供的数据传输方法的交互信令图;
图9是本申请一实施例提供的数据传输装置的结构示意图;
图10是本申请另一实施例提供的数据传输装置的结构示意图;
图11是本申请一实施例提供的第一设备的结构示意图;
图12是本申请一实施例提供的第二设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
如在本申请说明书和所附权利要求书中所使用的那样,术语“响应”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本申请实施例提供的数据传输方法可以应用于服务器,包括机架式服务器、机柜式服务器,云端服务器,或者作为服务器使用的台式电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)等设备上,本申请实施例对设备的具体类型不作任何限制。
请参阅图1,图1是本申请一实施例提供的数据传输方法应用场景示意图。
公安网是公安系统的内部网络,为了保证数据安全,需要与外部网络隔开,在该场景中,公安网和视频专网通过网闸13隔离开,公安网前端11可以通过公安网中间件12,跨越网闸13请求视频专网中的视频数据,其中,公安网中间件12以计算机程序的形式,在第一设备上运行以实现其功能,第一设备可以是服务器,如机架式服务器、机柜式服务器,云端服务器,或者作为服务器使用的台式电脑、笔记本电脑、UMPC等。公安网前端11可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、笔记本电脑、UMPC、上网本、个人数字助理(personal digitalassistant,PDA)等,能够通过网络与公安网中间件12进行数据交互的设备,在此不做限制。
视频专网是连接视频监控系统的网络,其中包括多个视频网终端15,每个视频网终端15可以收集监控摄像头拍摄生成的视频数据,并存储在视频网终端15中,视频网终端15可以是具有存储以及联网能力的摄像头、与摄像头连接的计算机、服务器、定制终端或者具有拍摄功能的移动设备,如执法记录仪、智能手机、行车记录仪等,在此不做限制。视频网中间件14可以响应网闸13转发的公安网中间件发送的调取请求,并根据调取请求从对应的位置调取请求数据(即视频网终端15中存储的视频数据),然后通过网闸13返回给公安网前端11。类似的,视频网中间件14也是以计算机程序的形式,在第二设备上运行以实现其功能,第二设备与第一设备可以是类型相同的设备,在此不再赘述。
需要说明的是,以上场景中,部件之间均通过网络通信连接,其中,网络可以是无线网络或者有线网络,无线网络可以包括无线局域网(Wireless LocalareaNetworks,WLAN)(如Wi-Fi网络),蓝牙,Zigbee,移动通信网络,近距离无线通信技术(Near FieldCommunication,NFC),红外技术(Infrared,IR)等。有线网络可以包括光纤网络、远程通信网络、内联网等,如局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、城域网(Metropolitan Area Network,MAN)、公共电话交换网(Public SwitchedTelephone Network,PSTN)等。无线网络和有线网络的类型在此不做限制。
图2示出了本申请提供的数据传输方法的示意性流程图,作为示例而非限定,该方法可以应用于上述应用场景的第一设备中,以实现公安网中间件的功能。
在一些实施方式中,第一设备通过网闸与第二设备通信连接,第一设备与网闸之间包括N个并发通道,其中,N个并发通道中的i个并发通道为发送通道,剩余的N-i个并发通道为取回通道,N为大于1的整数,i为大于或等于1且小于N的整数,该方法包括:
S21、响应至少一个请求方发送的k个调取请求,将k个调取请求依次通过i个发送通道发送至第二设备。
其中,k为大于N的整数,调取请求包括调取请求特征参数和请求数据的路径。
仅作为示例而非限制,请求方可以为上述应用场景中的公安网前端,公安网前端可以有多个,每个公安网前端均可发起调取请求,以请求对应的请求数据,请求数据可以是视频专网中的视频数据,例如,可以是通过办公用的台式电脑发起请求视频专网中多个指定地理位置的实时视频数据,也可以通过接入公安网的移动终端,发起请求视频专网中某一地点,指定时间段的历史视频数据等。
需要说明的是,网闸限制了第一设备与第二设备之间的并发数量,使得二者之间的并发通道只有N个,例如,若N为5,则表明第一设备和第二设备之间,同时最多存在5条传输通道,则可以将其中3个并发通道作为发送通道,将用于第一设备向第二设备发送调取请求,将其中2个并发通道作为取回通道,用于取回第二设备返回的请求数据,但不以此为限。
还需要说明的是,调取请求中,调取请求特征参数可以包括params参数,以及通用唯一识别码(Universally Unique Identifier,UUID),其中,UUID可以用来标识该调取请求,以识别该调取请求以及该调取请求对应的请求方、或者挂起的调取请求等。请求数据的路径可以是一个目标统一资源定位符(targetUniform Resource Locator,targetUrl),通过该targetUrl,即可调取所需的请求数据。
一些实施方式中,第一设备可以在接收到调取请求后,将该调取请求的params参数、以及请求数据的路径按照网闸的封装协议封装,然后将封装的调取请求和UUID一起发送给网闸,网闸解析封装的调取请求后,将调取请求特征参数以及请求数据的路径再次封装,然后发送给第二设备,但不以此为限。
S22、响应第二设备从k个发送通道返回的状态信息,将每个状态信息对应的调取请求挂起。
其中,状态信息用于指示第二设备收到调取请求。
一些实施方式中,状态信息可以是超文本传输协议状态码(HTTP Status Code)202,该状态码用于表示服务器已接受请求,但尚未处理。
需要说明的是,挂起是计算机操作中的一种状态,是将尚未处理完成的任务暂停处理,待达到处理条件后再进行处理,以提高资源利用率的一种操作。
S23、通过N-i个取回通道向第二设备发送取回请求,并通过取回通道接收第二设备返回的至少一个请求数据。
其中,每个返回的请求数据中,包括与请求数据对应的调取请求特征参数,返回的请求数据是第二设备根据请求数据的路径得到的。
需要说明的是,每次通过取回通道取回的请求数据可以有多个,每个请求数据都包括一个UUID,用于指示该请求数据对应的调取请求。
一些实施方式中,可以通过大小为N-i的线程池,不断地向网闸发送带有超时的钩子(hook)请求,hook请求用于在检测到发生特定事件后,传递该事件,例如,参考上例,N-i可以为2,发起的第一个hook请求在通过网闸后,会到达第二设备,若第二设备有存在返回的请求数据,则hook请求将所有待返回的请求数据取回。,此时,发起的第二个hook请求会到达第二设备,取回在第一个hook请求取回请求数据后,返回至第二设备的请求数据。
S24、根据至少一个请求数据的调取请求特征参数,将请求数据发送给调取请求特征参数对应的请求方。
一些实施方式中,每个请求方发送调取请求时,调取请求特征参数都包括一个UUID,可根据UUID确定请求数据对应的请求方,并将请求数据发送给对应的请求方。
在本实施例中,由于仅通过发送通道向第二设备发送调取请求,每个调取请求只占用发送通道,且占用发送通道的时间仅为发送调取请求的时间,无需等待响应,不会长期占用发送通道,同时,通过取回通道向第二设备发送数据取回请求,并通过取回通道取回请求数据,发送通道和取回通道相互独立,互不干扰,实现了在发送调取请求的同时,取回之前发送请求返回的数据,不会长期占用并发通道等待响应,使得在调取请求数量大于网闸并发通道的数量时,可以有效利用每个并发通道,提高网闸通道资源的利用率,进而有效降低了调取数据的延迟。
请参考图3,图3示出了另一实施例提供的数据传输方法的流程示意图,如图2所示,将k个调取请求通过i个发送通道发送至第二设备,包括:
S211、将i个调取请求通过i个发送通道发送至第二设备。
一些实施方式中,由于调取请求的数量大于发送通道的数量,可以先发送i个调取请求至第二设备,此时每个调取请求占用一个发送通道,例如,参考S21中的示例,发送通道的数量为3个,接收到3个以上的调取请求时,可先将3个调取请求通过发送通道发送给第二设备。
S212、响应第二设备返回的状态信息,将每个状态信息对应的调取请求挂起。
一些实施方式中,第二设备在接收到调取请求后,会从相应的发送通道返回一个状态信息,例如,状态信息可以是http状态码202。
第一设备在接收到该状态信息后,可将该发送通道对应的调取请求挂起,并将该调取请求的UUID记录,例如,可以将UUID存放进一个哈希表中待用。
S213、将剩余的k-i个调取请求,依次通过挂起的调取请求对应的发送通道发送至第二设备,直至所有调取请求发送完毕。
参考S212,在第一设备将调取请求挂起后,则调取请求对应的发送通道空闲,此时,可以将剩余的k-i个调取请求,依次通过空闲的发送通道发送而给第二设备,往复执行,直至发送完毕。
在本实施例中,当调取请求的数量大于发送通道的数量,先发送与发送通道数量相同的调取请求,待收到状态信息后,挂起对应的调取请求,再将剩余的调取请求依次通过发送通道发送给第二设备,有效地提高了调取请求的发送效率。
还有一种可能的实施方式中,可以将所有待发送的调取请求封装,然后通过发送通道发送给第二设备,第二设备在接收到封装的调取请求后,解封得到多个调取请求,然后返回每个调取请求的状态信息,第一设备再根据接收到的状态信息将对应的调取请求挂起。在此不对调取请求的发送方式做限制。
请参考图4,图4示出了本申请另一实施例提供的数据传输方法的流程示意图。
一些实施方式中,如图3所示将每个状态信息对应的调取请求挂起,包括:
S211、获取每个状态信息中的调取请求特征参数,根据调取请求特征参数,确定每个状态信息对应的调取请求。
在上述实施方式中,将所有调取请求封装发送给第二设备后,如果返回http状态码202,会难以区分该状态码具体对应哪个调取请求。因此,在另一些实施方式中,状态信息可以包括上述示例中调取请求特征参数中的UUID,将与状态信息UUID相同的调取请求作为对应的调取请求。
S222、将每个状态信息对应的调取请求挂起。
在本实施例中,提供了另外一种挂起调取请求的方法,在使用不同方式发送调取请求时,可以实现准确地挂起对应的调取请求,保证数据准确。
请参考图5,图5示出了本申请另一实施例提供的数据传输方法的流程示意图。
一些实施方式中,根据至少一个请求数据的调取请求特征参数,将请求数据发送给调取请求特征参数对应的请求方,包括:
S241、获取至少一个请求数据中的调取请求特征参数。
一些实施方式中,在接收到多个请求数据后,可以获取每个请求数据的UUID,使用UUID匹配对应的调取请求。
S242、根据请求数据中调取请求特征参数、挂起的调取请求的特征参数,确定每个请求数据对应的挂起的调取请求、以及与每个挂起的调取请求对应的请求方。
仅作为示例而非限定,参考上述示例,哈希表中可以存储多个挂起的调取请求的UUID,根据请求数据的UUID匹配哈希表中对应的UUID,将哈希表中与请求数据UUID相同的调取请求,最为对应的挂起的调取请求,则发起该调取请求的公安网前端,即为请求方。
S243、将请求数据发送给对应的请求方。
一些实施方式中,在确定对应的挂起的调取请求后,可以恢复该调取请求,把请求数据写入该调取请求的响应流中,返回给请求方,然后将哈希表中对应的UUID和与该UUID相关的数据清除。
请参考图6,图6示出了本申请另一实施例提供的数据传输方法的流程示意图。
如图6所示,本申请还提供了一种数据传输方法,应用于第二设备,第二设备通过网闸与第一设备通信连接,该方法包括:
S31、响应第一设备发送的调取请求,将调取请求发送给响应方,并向第一设备返回状态信息,其中,调取请求包括调取请求特征参数和请求数据的路径,状态信息用于指示第二设备收到调取请求。
一些实施方式中,第一设备发送的调取请求为已封装的调取请求,第二设备将调取请求解析,获取到调取请求特征参数和请求数据的路径,其中,调取请求特征参数可以包括params参数,以及UUID,请求数据的路径可以为targetUrl。
第二设备将UUID、targetUrl发送给响应方,targetUrl示指了一个目标响应方中的请求数据。其中,响应方可以为图1所示出场景中的视频网终端。
S32、响应第一设备发送的取回请求,将响应方根据请求数据的路径返回的请求数据发送给第一设备,其中,每个返回的请求数据中,包括与请求数据对应的调取请求特征参数。
一些实施方式中,第二设备将响应方返回的每个请求数据以及与每个请求数据对应的UUID,一同发送给第一设备。
本市实施例为与S21至S24对应的第二设备的数据传输方法,因此有益效果与之一致,在此不再赘述。
请参照图7,图7示出了本申请另一实施例提供的数据传输方法的流程示意图。
如图7所示,一些实施方式中,响应第一设备发送的取回请求,将响应方根据请求数据的路径返回的请求数据发送给第一设备,包括:
S321、响应数据取回请求,等待接收请求数据。
一些实施方式中,参考S23中的示例,取回请求可以为hook请求,hook请求阻塞在第二设备的取回队列处,等待第二设备接收请求数据。
S322、接收响应方根据请求数据的路径返回的至少一个请求数据。
需要说明的是,响应方在接收到targetUrl后,会根据targetUrl获取对应的请求数据,例如,可以是实时的视频数据,也可以是历史视频数据,或者其他类型的数据,在此不做限制。
在获取到请求数据后,响应方将该请求数据以及对应的UUID一同发送给第二设备。
S323、将接收到的至少一个请求数据发送给第一网络。
其中,第二设备在接收到请求数据后,可将请求数据写入取回队列,若此取回队列出有等待的hook请求,则通过hook请求,将取回队列中的全部请求数据(包括UUID)发送给第一设备。
请参照图8,图8示出了本申请实施例提供的数据传输方法的交互信令图。
如图8所示,仅作为示例而非限定,本申请中数据传输方法应用时的流程可以为:
S41、第一设备接收请求方发送的调取请求。
S42、第一设备将调取请求发送给第二设备。
S43、第二设备接收调取请求,并将调取请求发送给响应方。
S44、第二设备向第一设备发送状态信息。
S45、第一设备接收状态信息,并将与状态信息对应的调取请求挂起。
S451、若此时还有未发送的调取请求,则再次执行S42,将未发送的调取请求发送给第二设备。
S452、若此时调取请求发送完毕,则等待执行S41,再次接受请求方发送的调取请求。
S46、第二设备接收响应方根据调取请求返回的请求数据,其中,S46可以与S45同时执行。
S47、第一设备向第二设备发送取回请求,其中,S47可以在整个流程中的任意时间执行。
S48、第二设备根据取回请求,将请求数据发送给第一设备。
S49、第一设备接收请求数据,并将请求数据发送给对应的请求方。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
请参照图9,图9示出了本申请一实施例提供的数据传输装置的结构示意图。
如图9所示,本申请实施例提供了一种数据传输装置,应用于第一设备,第一设备通过网闸与第二设备通信连接,第一设备与网闸之间包括N个并发通道,其中,N个并发通道中的i个并发通道为发送通道,剩余的N-i个并发通道为取回通道,N为大于1的整数,i为大于或等于1且小于N的整数,该装置包括:
第一发送模块51,用于响应至少一个请求方发送的k个调取请求,将k个调取请求依次通过i个发送通道发送至第二设备,其中,k为大于N的整数,调取请求包括调取请求特征参数和请求数据的路径;
挂起模块52,用于响应第二设备从i个发送通道返回的状态信息,将每个状态信息对应的调取请求挂起,其中,状态信息用于指示第二设备收到调取请求;
取回模块53,用于通过N-i个取回通道向第二设备发送取回请求,并通过取回通道接收第二设备返回的至少一个请求数据,其中,每个返回的请求数据中,包括与请求数据对应的调取请求特征参数,返回的请求数据是第二设备根据请求数据的路径得到的;
第一发送模块51,还用于根据至少一个请求数据的调取请求特征参数,将请求数据发送给调取请求特征参数对应的请求方。
第一发送模块51,具体用于将i个调取请求通过i个发送通道发送至第二设备。响应第二设备返回的状态信息,将每个状态信息对应的调取请求挂起。将剩余的k-i个调取请求,依次通过挂起的调取请求对应的发送通道发送至第二设备,直至所有调取请求发送完毕。
挂起模块52,具体用于获取每个状态信息中的调取请求特征参数,根据调取请求特征参数,确定每个状态信息对应的调取请求。将每个状态信息对应的调取请求挂起。
第一发送模块51,还具体用于获取至少一个请求数据中的调取请求特征参数。根据请求数据中调取请求特征参数、挂起的调取请求的特征参数,确定每个请求数据对应的挂起的调取请求、以及与每个挂起的调取请求对应的请求方。将请求数据发送给对应的请求方。
请参照图10,图10示出了本申请另一实施例提供的数据传输装置的结构示意图。
如图10所示,本申请实施例提供了一种数据传输装置,应用于第二设备,第二设备通过网闸与第一设备通信连接,该装置包括:
第二发送模块61,用于响应第一设备发送的调取请求,将调取请求发送给响应方,并向第一设备返回状态信息,其中,调取请求包括调取请求特征参数和请求数据的路径,状态信息包括调取请求特征参数,状态信息用于指示第二设备收到调取请求。第二发送模块61,还用于响应第一设备发送的取回请求,将响应方根据请求数据的路径返回的请求数据发送给第一设备,其中,每个返回的请求数据中,包括与请求数据对应的调取请求特征参数。
第二发送模块61,具体用于响应数据取回请求,等待接收请求数据。接收响应方根据请求数据的路径返回的至少一个请求数据。将接收到的至少一个请求数据发送给第一网络。
请参照图11,图11示出了本申请一实施例提供的第一设备的结构示意图。
如图11所示,本申请实施例提供了一种第一设备7,包括存储器72、处理器71以及存储在存储器72中并可在处理器71上运行的计算机程序73,处理器71执行计算机程序73时实现如上述第一设备执行的数据传输方法。
第一设备7可以是服务器,如机架式服务器、机柜式服务器,云端服务器,或者作为服务器使用的台式电脑、笔记本电脑、UMPC等。
请参照图12,图12示出了本申请一实施例提供的第二设备的结构示意图
如图12所示,本申请实施例提供了一种第二设备8,包括存储器82、处理器81以及存储在存储器82中并可在处理器81上运行的计算机程序83,处理器81执行计算机程序83时实现如上述第一设备执行的数据传输方法。
第二设备8可以是服务器,如机架式服务器、机柜式服务器,云端服务器,或者作为服务器使用的台式电脑、笔记本电脑、UMPC等。
处理器71和处理器81可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器72和存储器82在一些实施例中可以是第一设备7或第二设备8的内部存储单元,例如第一设备7中的存储器72可以为第一设备7的硬盘或内存。存储器72和存储器82在另一些实施例中也可以是第一设备7或第二设备8的外部存储设备,例如存储器82可以是第二设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器72和存储器82还可以既包括第一设备7或第二设备8的内部存储单元也包括外部存储设备。存储器72和存储器82用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如,存储器72可以存储第一设备7的计算机程序73,存储器82可以存储第二设备8的计算机程序83所述计算机程序的程序代码等。存储器72和存储器82还可以用于暂时地存储已经输出或者将要输出的数据,在此不做限制。
需要说明的是,上述图11和图12并不构成对第一设备7以及第二设备8结构的限定,第一设备7以及第二设备8可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如第一设备7还可以包括网络组件、显示屏、输入控件等。第二设备8还可以包括散热系统、触控面板等,在此不做限制。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一设备执行的数据传输方法。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第二设备执行的数据传输方法。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一设备执行的数据传输方法。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第二设备执行的数据传输方法。
需要说明的是,上述装置之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到能够执行计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置和设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据传输方法,应用于第一设备,所述第一设备通过网闸与第二设备通信连接,其特征在于,所述第一设备与所述网闸之间包括N个并发通道,其中,所述N个并发通道中的i个并发通道为发送通道,剩余的N-i个并发通道为取回通道,N为大于1的整数,i为大于或等于1且小于N的整数,所述方法包括:
响应至少一个请求方发送的k个调取请求,将k个所述调取请求依次通过所述i个发送通道发送至所述第二设备,其中,k为大于N的整数,所述调取请求包括调取请求特征参数和请求数据的路径;
响应所述第二设备从所述i个发送通道返回的状态信息,将每个所述状态信息对应的调取请求挂起,其中,所述状态信息用于指示所述第二设备收到所述调取请求;
通过所述N-i个取回通道向所述第二设备发送取回请求,并通过所述取回通道接收所述第二设备返回的至少一个请求数据,其中,每个所述返回的请求数据中,包括与所述请求数据对应的调取请求特征参数,所述返回的请求数据是所述第二设备根据所述请求数据的路径得到的;
根据所述至少一个请求数据的调取请求特征参数,将所述请求数据发送给所述调取请求特征参数对应的所述请求方。
2.如权利要求1所述的方法,其特征在于,将k个所述调取请求依次通过所述i个发送通道发送至所述第二设备,包括:
将i个所述调取请求通过i个所述发送通道发送至所述第二设备;
响应所述第二设备返回的状态信息,将每个所述状态信息对应的调取请求挂起;
将剩余的k-i个所述调取请求,依次通过挂起的调取请求对应的所述发送通道发送至所述第二设备,直至所有所述调取请求发送完毕。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述至少一个请求数据的调取请求特征参数,将所述请求数据发送给所述调取请求特征参数对应的所述请求方,包括:
获取至少一个所述请求数据中的调取请求特征参数;
根据所述请求数据中调取请求特征参数、挂起的所述调取请求的特征参数,确定每个所述请求数据对应的挂起的所述调取请求、以及与每个挂起的所述调取请求对应的请求方;
将所述请求数据发送给所述对应的请求方。
4.一种数据传输方法,应用于第二设备,所述第二设备通过网闸与第一设备通信连接,其特征在于,所述方法包括:
响应所述第一设备发送的调取请求,将所述调取请求发送给响应方,并向所述第一设备返回状态信息,其中,所述调取请求包括调取请求特征参数和请求数据的路径,所述状态信息用于指示所述第二设备收到所述调取请求;
响应所述第一设备发送的取回请求,将所述响应方根据所述请求数据的路径返回的请求数据发送给所述第一设备,其中,每个所述返回的请求数据中,包括与所述请求数据对应的调取请求特征参数。
5.一种数据传输装置,应用于第一设备,所述第一设备通过网闸与第二设备通信连接,其特征在于,所述第一设备与所述网闸之间包括N个并发通道,其中,所述N个并发通道中的i个并发通道为发送通道,剩余的N-i个并发通道为取回通道,N为大于1的整数,i为大于或等于1且小于N的整数,所述装置包括:
第一发送模块,用于响应至少一个请求方发送的k个调取请求,将k个所述调取请求依次通过所述i个发送通道发送至所述第二设备,其中,k为大于N的整数,所述调取请求包括调取请求特征参数和请求数据的路径;
挂起模块,用于响应所述第二设备从所述i个发送通道返回的状态信息,将每个所述状态信息对应的调取请求挂起,其中,所述状态信息用于指示所述第二设备收到所述调取请求;
取回模块,用于通过所述N-i个取回通道向所述第二设备发送取回请求,并通过所述取回通道接收所述第二设备返回的至少一个请求数据,其中,每个所述返回的请求数据中,包括与所述请求数据对应的调取请求特征参数,所述返回的请求数据是所述第二设备根据所述请求数据的路径得到的;
所述第一发送模块,还用于根据所述至少一个请求数据的调取请求特征参数,将所述请求数据发送给所述调取请求特征参数对应的所述请求方。
6.一种数据传输装置,应用于第二设备,所述第二设备通过网闸与第一设备通信连接,其特征在于,所述装置包括:
第二发送模块,用于响应所述第一设备发送的调取请求,将所述调取请求发送给响应方,并向所述第一设备返回状态信息,其中,所述调取请求包括调取请求特征参数和请求数据的路径,所述状态信息包括所述调取请求特征参数,所述状态信息用于指示所述第二设备收到所述调取请求;
所述第二发送模块,还用于响应所述第一设备发送的取回请求,将所述响应方根据所述请求数据的路径返回的请求数据发送给所述第一设备,其中,每个所述返回的请求数据中,包括与所述请求数据对应的调取请求特征参数。
7.一种第一设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的方法。
8.一种第二设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求4所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求4所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911378012.7A CN113055350B (zh) | 2019-12-27 | 2019-12-27 | 数据传输方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911378012.7A CN113055350B (zh) | 2019-12-27 | 2019-12-27 | 数据传输方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113055350A true CN113055350A (zh) | 2021-06-29 |
CN113055350B CN113055350B (zh) | 2022-11-22 |
Family
ID=76506603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911378012.7A Active CN113055350B (zh) | 2019-12-27 | 2019-12-27 | 数据传输方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113055350B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022084A (zh) * | 2022-07-18 | 2022-09-06 | 深圳市城市交通规划设计研究中心股份有限公司 | 一种网络隔离网闸数据交换方法及其应用 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104125240A (zh) * | 2014-08-15 | 2014-10-29 | 国家电网公司 | 一种信息外网、信息内网及内外网数据交互系统和方法 |
US20180074875A1 (en) * | 2016-09-15 | 2018-03-15 | International Business Machines Corporation | Hang detection and recovery |
CN109245982A (zh) * | 2017-07-10 | 2019-01-18 | 重庆邮电大学 | 一种基于单向分光的无状态端到端连接的内外网数据实时交换系统 |
-
2019
- 2019-12-27 CN CN201911378012.7A patent/CN113055350B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104125240A (zh) * | 2014-08-15 | 2014-10-29 | 国家电网公司 | 一种信息外网、信息内网及内外网数据交互系统和方法 |
US20180074875A1 (en) * | 2016-09-15 | 2018-03-15 | International Business Machines Corporation | Hang detection and recovery |
CN109245982A (zh) * | 2017-07-10 | 2019-01-18 | 重庆邮电大学 | 一种基于单向分光的无状态端到端连接的内外网数据实时交换系统 |
Non-Patent Citations (1)
Title |
---|
王锡普等: "基于"池"策略的网闸并发连接数提高方法", 《计算机工程》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022084A (zh) * | 2022-07-18 | 2022-09-06 | 深圳市城市交通规划设计研究中心股份有限公司 | 一种网络隔离网闸数据交换方法及其应用 |
Also Published As
Publication number | Publication date |
---|---|
CN113055350B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566786B (zh) | 一种获取监控视频的方法、装置及终端设备 | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
JP2017509936A (ja) | リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理の、サードパーティによる実行の容易化 | |
CN109521956B (zh) | 一种基于区块链的云存储方法、装置、设备及存储介质 | |
CN111314646B (zh) | 图像获取方法、图像获取装置、终端设备及可读存储介质 | |
CN111786998A (zh) | 基于微服务调用的权限管理方法、装置及存储介质 | |
CN109522462B (zh) | 一种基于区块链的云查询方法、装置、设备及存储介质 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN110519388B (zh) | 区块链请求的处理方法、装置、电子设备及可读存储介质 | |
CN106357654B (zh) | 远程过程调用方法、装置及通信系统 | |
CN113055350B (zh) | 数据传输方法、装置、设备及可读存储介质 | |
CN108512889B (zh) | 一种基于http的应用响应推送方法及代理服务器 | |
CN112306791B (zh) | 一种性能监控的方法和装置 | |
CN113986995A (zh) | 请求分发方法、装置、存储介质及电子设备 | |
CN112732457A (zh) | 图像传输方法、装置、电子设备和计算机可读介质 | |
CN113923167A (zh) | 联邦学习中数据传输优化方法 | |
CN113779021A (zh) | 数据处理方法、装置、计算机系统及可读存储介质 | |
CN108805741B (zh) | 一种电能质量数据的融合方法、装置及系统 | |
CN112416887A (zh) | 信息交互方法、装置和电子设备 | |
CN111367853A (zh) | 数据传输方法、装置、设备及计算机可读存储介质 | |
CN109510864A (zh) | 一种缓存请求的转发方法、传输方法及相关装置 | |
US9674282B2 (en) | Synchronizing SLM statuses of a plurality of appliances in a cluster | |
CN113342837B (zh) | 数据发送方法、装置、电子设备和计算机可读介质 | |
CN110912720B (zh) | 信息生成方法和装置 | |
CN115174588B (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 |