CN116614559B - 一种数据传输方法、设备、系统和存储介质 - Google Patents
一种数据传输方法、设备、系统和存储介质 Download PDFInfo
- Publication number
- CN116614559B CN116614559B CN202310880733.8A CN202310880733A CN116614559B CN 116614559 B CN116614559 B CN 116614559B CN 202310880733 A CN202310880733 A CN 202310880733A CN 116614559 B CN116614559 B CN 116614559B
- Authority
- CN
- China
- Prior art keywords
- data
- transmission channel
- transmission
- transmitted
- task
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 525
- 238000000034 method Methods 0.000 title claims abstract description 65
- 239000000872 buffer Substances 0.000 claims abstract description 102
- 238000012546 transfer Methods 0.000 claims abstract description 20
- 230000001133 acceleration Effects 0.000 claims description 34
- 238000002360 preparation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010187 selection method Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000011095 buffer preparation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005577 local transmission Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001960 triggered 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/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/247—Multipath using M:N active or standby paths
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开涉及一种数据传输方法、设备、系统和存储介质,该方法包括:选取待传输数据对应的目标传输通道;在所述目标传输通道是第一传输通道时,利用第三方缓冲区作为数据转存地与服务端进行数据传输;其中,所述第三方缓冲区是所述客户端和所述服务端均可访问的第三方云存储服务,所述第三方缓冲区可提供高带宽数据传输通道。本公开实施例的技术方案使用高带宽的第三方云存储作为数据转存地,加速数据传输过程。
Description
技术领域
本公开涉及计算机处理技术领域,尤其涉及一种数据传输方法、设备、系统和存储介质。
背景技术
随着互联网技术、云计算和人工智能技术的发展,数据的规模越来越大,数据传输的场景越来越多,用户经常需要使用传输工具将本地数据和云上数据进行数据传输同步。数据传输工具一般都是CS或BS服务架构,数据传输过程是客户端发起上传请求或下载请求,服务端进行响应对数据进行读写,然后通过网络套接字将数据传输到客户端或者对客户端传过来的数据进行处理。传输过程的速度单位一般为每秒传输的数据块大小,如MB/s,Mb/s,KB/s,Kb/s等等,这些单位的数据越大,数据传输的越快,时间越短。通常的网络环境下的数据传输工具数据传输速度较慢,一般只有几MB/s,甚至是几KB/s,如果需要提高传输速度需要购买昂贵的网络带宽和CDN服务,投入产出比较高。
随着公有云计算技术的发展,云端存储服务和客户端应用生成,并构建了高速的网络带宽和CDN服务,数据传输速度非常快,很多能够达到几十MB/s,甚至几百MB/s以上。而一些数据传输工具受限于自身网络带宽的限制,一般的数据传输速度都比较慢,而花钱购买高带宽和CDN服务成本又非常高。
随着技术的发展进步,一些按网络流量进行收费的对象存储服务出现,网络带宽高,同时云上存储服务基于CDN构建,数据传输速度非常快,但是使用其对象存储服务必须使用这些厂商提供的客户端或者SDK工具、API等,现有的传输工具就无法使用这种方式进行数据传输加速了。
发明内容
为了解决上述技术问题,本公开实施例提供了一种数据传输方法、装置、设备、存储介质和程序产品,使用高带宽的第三方云存储服务作为数据转存地,加速数据传输过程。
第一方面,本公开实施例提供一种数据传输方法,所述方法应用于客户端,包括:选取待传输数据对应的目标传输通道;在所述目标传输通道是第一传输通道时,利用第三方缓冲区作为数据转存地与服务端进行数据传输;其中,所述第三方缓冲区是所述客户端和所述服务端均访问的第三方云存储服务,所述第三方缓冲区用于提供带宽达到阈值的数据传输通道。
在本公开的一个实施方式中,所述利用第三方缓冲区作为数据转存地与服务端进行数据传输,包括:向所述服务端发送数据传输信息,所述数据传输信息用于指示所述服务端在所述第三方缓冲区中创建所述数据传输信息对应的条状存储区;利用第三方缓冲区中创建的条状存储区作为数据转存地与服务端进行数据传输。
在本公开的一个实施方式中,所述第三方缓冲区按照数据传输任务划分为多个条状存储区,每个数据传输任务对应的待传输数据分配一个条状存储区,每个条状存储区存储一个待传输数据对应的数据对象。
在本公开的一个实施方式中,所述选取待传输数据对应的目标传输通道,包括:响应于用户针对所述传输通道的选取操作,将所述选取操作对应的传输通道作为目标传输通道;或,基于待传输数据的数据信息选取待传输数据对应的目标传输通道。
在本公开的一个实施方式中,所述基于待传输数据的数据信息选取待传输数据对应的目标传输通道,包括:确定所述待传输数据对应的任务类型;在所述任务类型是新任务时,基于所述待传输数据的数据大小、第一传输通道的当前传输速率、第二传输通道的当前传输速率以及第一计算方式,确定所述待传输数据对应的第一加速分数;在所述第一加速分数大于或等于第一设置阈值时,选取第一传输通道作为待传输数据对应的目标传输通道,在所述第一加速分数小于第一设置阈值时,选取第二传输通道作为待传输数据对应的目标传输通道。
在本公开的一个实施方式中,所述基于待传输数据的数据信息选取待传输数据对应的目标传输通道,包括:在所述任务类型是续传任务时,基于所述待传输数据的剩余数据大小、第一传输通道的平均传输速率、以及第二传输通道的当前传输速率,确定待传输数据对应的第二加速分数;在所述第二加速分数大于或等于第二设置阈值时,选取第一传输通道作为待传输数据对应的目标传输通道,在所述第二加速小于第二设置阈值时,选取第二传输通道作为待传输数据对应的目标传输通道。
第二方面,本公开实施例提供一种数据传输方法,所述方法应用于服务端,包括:在接收到客户端发送的数据传输信息之后,在第三方缓冲区中创建所述数据传输信息对应的条状存储区;利用第三方缓冲区中创建的条状存储区作为数据转存地与所述客户端进行数据传输,其中,所述第三方缓冲区是所述服务端以及与所述服务端对应的客户端均访问的第三方云存储服务,所述第三方缓冲区用于提供带宽达到阈值的数据传输通道。
在本公开的一个实施方式中,所述在第三方缓冲区中创建所述数据传输信息对应的条状存储区,包括:基于所述数据传输信息,创建传输任务,向所述第三方缓冲区中申请所述传输任务的存储区;将传输任务设置为存储区准备中;在所述传输任务的存储区申请成功后,并将所述传输任务设置为存储区准备完毕。
在本公开的一个实施方式中,所述方法还包括:在所述待传输数据传输完毕后,将所述传输任务设置为结束状态;控制所述第三方缓冲区中删除所述传输任务的存储区。
第三方面,本公开实施例提供一种数据传输装置,所述装置配置于客户端,包括:传输通道选取模块,用于选取待传输数据对应的目标传输通道;第一数据传输模块,用于在所述目标传输通道是第一传输通道时,利用第三方缓冲区作为数据转存地与服务端进行数据传输;其中,所述第三方缓冲区是所述客户端和所述服务端均访问的第三方云存储服务,所述第三方缓冲区用于提供带宽达到阈值的数据传输通道。
第四方面,本公开实施例提供一种数据传输装置,所述装置配置于服务端,包括:存储区创建模块,用于在接收到客户端发送的数据传输信息之后,在第三方缓冲区中创建所述数据传输信息对应的条状存储区;第二数据传输模块,用于利用第三方缓冲区中创建的条状存储区作为数据转存地与所述客户端进行数据传输,其中,所述第三方缓冲区是所述服务端以及与所述服务端对应的客户端均可访问的第三方云存储服务,所述第三方缓冲区可提供高带宽数据传输通道。
第五方面,本公开实施例提供一种电子设备,所述电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面中任一项所述的数据传输方法。
第六方面,本公开实施例提供一种数据传输系统,所述数据传输系统包括:客户端、服务端和第三方缓冲区,其中,所述客户端,用于选取待传输数据对应的目标传输通道;在所述目标传输通道是第一传输通道时,向所述服务端发送的数据传输信息;所述服务端,用于接收到客户端发送的数据传输信息之后,在第三方缓冲区中创建所述数据传输信息对应的条状存储区,利用第三方缓冲区中创建的条状存储区作为数据转存地与所述客户端进行数据传输;其中,所述第三方缓冲区是所述服务端以及与所述服务端对应的客户端均访问的第三方云存储服务,所述第三方缓冲区用于提供带宽达到阈值的数据传输通道。
第七方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面中任一项所述的数据传输方法。
与现有技术相比,本申请存在如下有益效果:
1、使用高速传输通道的同步传输过程可以达到提高传输速率为第三方带宽的约1/2。假设第三方云存储服务数据传输速率为20MB/s,使用本申请的数据传输方法加速,可从原来的采用低速传输通道平均传输速率如2MB/s的提高到约10MB/s左右。异步传输过程可提高传输速率达到20MB/S。
2、支持用户可以自己选择是否进行传输加速,自动根据通道选择器进行加速,但也支持用户手动选择,如果选择进行加速则发送请求查看缓存数据是否准备完毕,准备完毕则使自动切换服务端地址为本地地址进行下载和上传操作,并记录当前用户的操作到操作记录库中,下次进行数据传输时根据当前传输任务的传输速度判断,是否小于用户经验平均值,如果小于则使用第三方缓存方式进行数据传输。
3、第三方缓冲区可提供按流量付费功能,且支持对象存储,由于购买了运营商的高带宽网络和CND服务,所以带宽较大,传输数据的速度也比较快,而没有财力购买运营商网络带宽和CND服务的网络传输系统只能在较小的网络带宽下传输数据,传输速度非常慢,而用户又有提高传输速度的要求,通过旁路技术接入第三方云存储服务,先将数据传输到第三方云存储服务上,在自动从第三方云存储服务同步到目标地,从而提高了传输速度,而不需要购买运营商的高带宽网络和CND服务,只需按需进行流量的付费即可享受到同样的数据传输加速。
4、基于第三方云存储服务,加速本地客户端和远程服务端之间的数据传输速度,并不需要用户修改任何配置和安装某些插件,用户完全是无感知的加速过程,系统会根据用户要求自动通过旁路方式还是直通方式对数据进行传输,用户无需关系具体实现过程,也无需进行任何调整。
5、支持高速通道和低速通道的自动切换,通过服务端挂载方式,支持异步数据同步,对暂停的任务会查看本地文件数据、缓冲文件数据和远程文件数据的大小判断从源数据的具体位置进行数据传输,并自动保持数据的最终一致性。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例的一种数据传输系统的结构示意图;
图2为本公开实施例中的一种数据传输方法的流程示意图;
图3为本公开实施例中的一种传输通道选取方法的流程示意图;
图4为本公开实施例中的一种数据传输的交互示意图;
图5为本公开实施例中的一种数据传输过程的示意图;
图6为本公开实施例中的一种数据上传方法的流程示意图;
图7为本公开实施例中的一种数据下载方法的流程示意图;
图8为本公开实施例中的一种任务状态流程的示意图;
图9为本公开实施例中的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面,将参考附图详细地说明本公开的实施例。应当注意的是,不同的附图中相同的附图标记将用于指代已描述的相同的元件。
在本公开实施例中,先对数据传输系统进行介绍,如图1所示,本公开实施例中提供的数据传输系统包括:客户端、服务端和第三方缓冲区,其中,所述客户端,用于选取待传输数据对应的目标传输通道;在所述目标传输通道是第一传输通道时,向所述服务端发送的数据传输信息;所述服务端,用于接收到客户端发送的数据传输信息之后,在第三方缓冲区中创建所述数据传输信息对应的条状存储区,利用第三方缓冲区中创建的条状存储区作为数据转存地与所述客户端进行数据传输;其中,所述第三方缓冲区是所述服务端以及与所述服务端对应的客户端均访问的第三方云存储服务,所述第三方缓冲区用于提供带宽达到阈值的数据传输通道。
在本公开的一个实施方式中,用户端是运行在用户电脑上的工具软件,主要包括客户端主服务和通道选择器。其中,客户端主服务主要包括主进程和UI进程,主进程负责处理和服务端进行交互,进行文件操作和文件传输、任务信息交互等;主进程和通道选择器进行交互,通道选择器进行数据传输通道的选择;主进程和第三方缓冲区进行交互,使用第三方缓冲区进行API查询、上传下载数据;渲染所有这些交互过程和数据到UI界面。其中,通道选择器根据用户选择的待传输数据的数据大小、文件类型、当前网络环境等对是否使用第三方缓冲区加速进行判断,最终选择合适的传输通道给客户端主服务来传输数据。
在本公开的一个实施方式中,服务端是运行在远程服务端上的服务(web服务或者socket server服务),主要包括服务端主服务和任务控制器。其中,服务端主服务运行在远程服务端上,接收来自客户端的请求,根据请求分类对用户远程数据进行管理和读写,并和任务控制器进行交互,将数据传输任务的状态转发给客户端。其中,任务控制器是运行在服务端的一个守护进程,主要维护一个任务列表,任务列表记录使用高速通道进行数据传输的任务完信息,包括任务id、所属用户、传输类型(上传还是下载)、缓冲区标识、任务状态、创建时间等等。任务控制监听来自服务端主服务的请求,当有高速通道数据传输任务开启时,会创建数据缓冲区,将用户远程数据和数据缓冲区进行传输,缓冲完毕后根据客户端的反馈和任务类型对缓冲区进行删除。
在本公开实施例中,第三方缓冲区是用户端和服务端都可以访问的第三方云存储服务,该缓冲区应该是可以提供高带宽数据传输通道的按流量进行收费的对象存储服务。整个缓冲区按任务划分为条状方式,每个任务都分配一个缓冲区对象,每个缓冲区对象存储一个文件对象,当文件缓冲完毕后,会由服务端控制器进行缓冲区清除,达到存储空间回收的目的。
图2为本公开实施例中的一种数据传输方法的流程图,该方法可以由数据传输装置执行,该数据传输装置可以采用软件和/或硬件的方式实现,上述数据传输方法应用于客户端。
如图2所示,本公开实施例提供的数据传输方法主要包括步骤S110-S120。
S110、选取待传输数据对应的目标传输通道。
在本公开实施例中,所述待传输数据是指需要进行数据传输的数据或者文件。其中,传输通道是指在客户端和服务端之间搭建的用于传输数据的信号通道。
在本公开实施例中,所述客户端和服务端之间有两条数据传输通道,分别为第一传输通道和第二传输通道,其中,第一传输通道的数据传输速度远远大于第二传输通道,因此,第一传输通道也称为高速传输通道,第二传输通道也称为低速传输通道。进一步的,选取目标传输通道可以理解为从第一传输通道和第二传输通道之间选取其中一个数据通道用于传输此次的待传输数据。
在本公开的一个实施方式中,所述选取待传输数据对应的目标传输通道,包括:响应于用户针对所述传输通道的选取操作,将所述选取操作对应的传输通道作为目标传输通道;或,基于待传输数据的数据信息选取待传输数据对应的目标传输通道。
在本公开实施例中,提供两种选取目标传输通道的方法,分别为手动选取方法和自动选取方式。其中,手动选取方法包括:在客户端的界面中展示两条传输通道对应的选取控件,响应于针对选取控件的触发操作,将被触发的选取控件对应的传输通道作为目标传输通道。具体的,响应于针对第一传输通道选取控件的触发操作,将第一传输通道作为目标传输通道;响应于针对第二传输通道选取控件的触发操作,将第二传输通道作为目标传输通道。
在本公开的一个实施方式中,自动选取方法包括:基于多维度数据信息自适应的选取目标传输通道,具体的,客户端根据待传输数据的数据大小、数据修改日期、第一传输通道的当前传输速率、第二传输通道的当前传输速率、用户历史经验等计算当前通道的选择分数,根据分数高低自动选择数据传输通道。
在本公开的一个实施方式中,如图3所示,选取目标传输通道的方法主要包括:S111、确定所述待传输数据对应的任务类型,在所述任务类型是新任务时,执行步骤S112。在所述任务类型是续传任务时,执行步骤S116。
在本公开的一个实施方式中,每个待传输数据对应一个传输任务,即基于待传输数据的数据信息创建一个传输任务,该传输任务可以由客户端创建,也可以由服务端创建,本公开实施例中,不具体限定。
其中,待传输数据对应的任务类型包括:新任务和续传任务。其中,新任务是指待传输数据新创建的传输任务,该任务并未传输过数据,续传任务是指,由于网络环境或者其他原因,导致数据传输一部分之后,传输任务被中断,在中断原因排除后,将剩余数据再次进行传输的任务。
在本公开实施例中,标记待传输数据的任务类型,例如:当一个传输任务刚刚被创建,未进行数据传输时,将其标记为新任务,当一个传输任务由于某种原因传输中断时,将其标记为续传任务。然后,根据传输任务对应的标记信息确定待传输数据对应的任务类型。
S112、基于所述待传输数据的数据大小、第一传输通道的当前传输速率、第二传输通道的当前传输速率以及第一计算方式,确定待传输数据对应的第一加速分数。
在本公开实施例中,根据待传输数据的大小、第一传输通道的当前传输速率,以及第一公式,计算第一传输通道的预估得分。其中,第一公式为:。
其中,为待传输数据的数据大小,为使用第一传输通道的预估得分,0<<0.3,其中,0.3为经验值,可调节,为第一传输通道的当前传
输速率,由客户端启动时测速得出。
在本公开实施例中,根据待传输数据的大小、第二传输通道的当前传输速率,以及第二公式,计算第二传输通道的预估得分。其中,第二公式为:。
其中,为使用第二传输通道传输的预估得分,0<<0.1,其中,0.1为经验值,可调
节,为第一传输通道的当前传输速率,客户端启动时测速得出。
进一步的,基于第一传输通道的评估得到和第二传输通道的评估得分,计算第一
加速分数。具体的,,J为第二传输通道的预估得分除以第一传输通道的预估得分的
比值,该值J大于或等于第一设置阈值,也就是当第一传输通道的传输时间比第二通道
传输时间短很多时才会第一传输通道传输待传输数据,该值J小于第一设置阈值,也就
是当第一传输通道传输时间比第二传输通道传输时间差的并不多,不值得使用高速通道,
此时选用第二传输通道传输待传输数据。
S113、判断所述第一加速分数是否大于或者等于第一设置阈值,如果是,执行步骤S114;如果否,执行步骤S115。
S114、选取第一传输通道作为待传输数据对应的目标传输通道。
S115、选取第二传输通道作为待传输数据对应的目标传输通道。
S116、基于所述待传输数据对应的剩余数据大小、传输数据对应的历史第一传输通道的平均传输速率、以及第二传输通道对应的传输速率以及第二计算方式,确定待传输数据对应的第二加速分数。
在本公开实施例中,根据待传输数据的剩余数据大小、第一传输通道的平均传输速率,
以及第三公式,计算第一传输通道的预估得分。其中,第三公式为:,其中,f为
待传输数据的数据大小,其中,为使用第一通道传输的预估得分,th为传输应答系数,0<
<0.3,其中,0.3为经验值,可调节,为该任务的第一传输通道的平均传输速率,任务信息
表里记录。
其中,根据待传输数据的剩余数据大小、第二传输通道的当前传输速率,以及第四公式,计算第二传输通道的预估得分。其中,第四公式为:
;
其中,fa为剩余数据大小,T为已传输文件百分比,ls为使用第二传输通道传输的预
估得分,0<<0.1,其中,0.1为经验值,可调节,为第二传输通道的当前传输速率,客户端
启动时测速得出,,J为第二传输通道传输的预估得分除以第二传输通道传输的预估
得分的比值,即为第二加速分数,该第二加速分数大于或等于第二设置阈值,也就是当第
一通道传输时间比第二通道传输时间短很多时,才会使用第一通道传输进行数据传输。该
第二加速分数小于第二设置阈值,也就是当第一传输通道传输时间比第二传输通道传输
时间差的并不算,不值得使用高度通道,此时选用第二传输通道传输待传输数据。
S117、判断所述第二加速分数是否大于或等于第二设置阈值,如果是,执行步骤S114;如果否执行步骤S115。
S120、在所述目标传输通道是第一传输通道时,利用第三方缓冲区作为数据转存地与服务端进行数据传输。
在本公开的实施例中,所述数据修改日期用于评估此次待传输数据是否是之前传输过的数据。获取待传输数据前一次的传输时间,判断传输时间和数据修改时间之间的关系。如果传输时间早于数据修改日期,则表明待传输数据在前一次传输之后,被修改过,此次传输任务需要新建一个新的传输任务,重新按照上述实施例中提供的新任务选取传输通道的方式,选取目标传输通道。如果传输时间晚于数据修改日期,则表明待传输数据在前一次传输之后,没有被修改过,此次传输任务直接选取前一次选取的目标传输通道进行数据传输即可,不需要再重新选取。
在本公开实施例中,使用低速通道是指采用客户端和服务端之间的原有的数据通道进行数据传输,在此不再赘述。
其中,所述第三方缓冲区是所述客户端和所述服务端均可访问的第三方云存储服务,所述第三方缓冲区用于提供带宽达到阈值的数据传输通道。
在本公开的一个实施方式中,所述第三方缓冲区按照数据传输任务划分为多个条状存储区,每个数据传输任务对应的待传输数据分配一个条状存储区,每个条状存储区存储一个待传输数据对应的数据对象。
在本公开实施例中,第三方缓冲区是用户端和服务端都可以访问的第三方云存储服务,该缓冲区应该是可以提供高带宽数据传输通道的按流量进行收费的对象存储服务。整个缓冲区按任务划分为条状方式,每个任务都分配一个存储区,每个存储区存储一个数据对象,当文件缓冲完毕后,会由服务端控制器进行存储区清除,达到存储空间回收的目的。
在本公开的一个实施方式中,提供一种进行数据传输时,客户端和服务端进行交互的方法,如图4所示,本公开实施例提供的数据交互方法包括如下步骤:S310、客户端选取待传输数据对应的目标传输通道;S320、客户端确定所述目标传输通道是第一传输通道,S330、向服务端发送数据传输信息;S330、服务端在接收到客户端发送的数据传输信息之后,向第三方缓冲区中申请所述数据传输信息对应的条状存储区。S340、第三方缓冲区创建所述数据传输信息对应的条状存储区。S350、客户端和服务端利用第三方缓冲区创建的条状存储区进行数据中转,进而实现数据传输。S360、客户端确定所述目标传输通道是第二传输通道,S370、客户端和服务端利用第二传输通道进行数据传输。
在本公开实施例中,用户端通过全双工通信socket请求向服务端请求数据传输和数据操作,服务端对请求进行响应并返回操作结果,数据传输包括上传和下载文件,数据操作包括常规的文件和目录操作,如打开目录、浏览目录、查看文件属性、删除文件、移动文件、复制文件、创建目录、复制目录、移动目录等。对于需要高速传输的文件比如一些GB或者TB级的超大文件,客户端会根据文件信息和用户经验由通道选择器自动选择使用何种数据传输通道进行数据传输。
本公开实施例提供的数据传输系统,支持对远程文件的常规管理操作,文件上传下载等。
在本公开的一个实施方式中,所述在第三方缓冲区中创建所述数据传输信息对应的条状存储区,包括:基于所述数据传输信息,创建传输任务,向所述第三方缓冲区中申请所述传输任务的存储区;将传输任务设置为存储区准备中;在所述传输任务的存储区申请成功后,并将所述传输任务设置为存储区准备完毕。
在本公开的一个实施方式中,所述方法还包括:在所述待传输数据传输完毕后,将所述传输任务设置为结束状态;控制所述第三方缓冲区中删除所述传输任务的存储区。
在本公开实施例中,上述数据传输包括客户端向服务端上传数据,和客户端从服务端下载数据。在本公开实施例中,提供一种数据传输的具体流程,如图5所示,创建待传输数据对应的传输任务,判断传输任务是上传任务还是下载任务。在传输任务是上传任务时,服务端在第三方缓冲区中创建条状存储区,条状存储区创建成功之后,向服务端发送创建完成的消息。客户端接收到创建完成消息时,将待上传数据同步至创建的条状存储区,同步完成之后,向服务端发送上传完毕的消息,服务端接收到上传完毕的消息后,从条状存储区中下载待上传数据,下载完毕之后,清除条状存储区,此次传输任务结束。在传输任务是下载任务时,服务端在第三方缓冲区中创建条状存储区,创建成功之后,将待下载数据同步至创建的条状存储区,同步完成之后,向客户端发送同步完毕的消息,客户端从条状存储区中下载待下载数据,客户端下载完成后,向服务端发送下载完成的消息,服务端接收到下载完成的消息后,清除存储区,此次传输任务结束。
在本公开的一个实施方式中,提供一种数据上传的方法,如图6所示,数据上传的交互过程包括如下步骤:S401、客户端接收用户要上传的数据和要上传到服务端的路径。S402、根据文件信息选择使用高速传输通道还是低速传输通道进行数据上传。使用低速通道还是按一般的数据传输方式进行,在此不再赘述。S403、使用高速通道时,发送数据信息、用户信息到服务端。S404、服务端根据上传的数据信息、用户信息等生成全局唯一的任务ID,使用该任务ID新建任务,并设置任务的状态为缓冲区准备中,S405、向第三方缓冲区申请该传输任务的存储区。S406、申请成功后将该任务状态改为存储区准备完毕,S407、服务端存储区准备完毕的通知发送至客户端。S408、客户端收到后开启上传线程将数据上传到存储区。S409、客户端通知服务端将任务状态置为缓冲中。S410、客户端上传完毕后,客户端通知服务端数据缓冲完毕。S411、服务端更新该任务的状态为缓冲完毕。S412、服务端开启一个新的线程将数据从缓冲区下载到服务端。S413、下载完毕后将任务状态设置为完成结束状态。S414、删除存储区。S415、通知客户端任务结束信息,S416、客户端将传输过程置为结束状态。其中,客户端和服务端通信的链路为全双工通信信道,客户端和服务端都可以及时响应对方发送的消息并做出动作和返回结果信息。
在本公开的一个实施方式中,提供一种数据下载的方法,如图7所示,数据下载的交互过程包括如下步骤:S501、客户端接收到用户输入的数据下载请求。S502、客户端访问服务端上的文件列表,用户选择要下载的文件信息和本地存储的目录位置。S503、选择使用哪个数据传输通道进行数据传输。S504、使用高速通道时,客户端通知服务端下载的文件信息。S505、服务端收到请求后创建下载任务并设置任务为缓冲区准备中,S506、服务端在第三方缓冲区创建该下载任务的数据存储区。S507、服务端创建成功后开始将服务端数据上传到存储区。S508、服务端将任务状态置为数据缓冲中,S509、服务端通知客户端任务状态为数据缓冲中。S510、服务端数据上传成功后,修改任务状态为缓冲完毕,S511、服务端通知客户端任务状态为缓冲完毕。S512、客户端收到数据缓冲完毕消息后,开启新的线程将数据从数据缓冲区下载数据到本地,S513、客户端下载完毕后将本地传输过程置为结束状态,S514、同时客户端通知服务端数据下载完毕。S515、服务端通过任务控制器将任务置为结束状态,S516、删除该下载任务的数据存储区。
在本公开的一个实施方式中,提供一种在整个传输任务过程中的任务状态的流程。如图8所示,创建传输任务,在第三方缓冲区中创建传输任务对应的存储区,此时,传输任务的状态为准备中,存储区创建完毕之后,将任务状态更新为准备完毕,然后,向存储区同步数据,并将任务状态更新为数据缓冲中,数据同步完毕之后,将任务状更新为缓冲完毕,从存储区中下载数据,下载结束后,清除存储区,删除该传输任务,并将任务状态更新为结束状态。
在上述实施例基础上,本公开实施例还提供一种数据传输装置,该装置配置为客户端,该数据传输装置包括:传输通道选取模块,用于选取待传输数据对应的目标传输通道;第一数据传输模块,用于在所述目标传输通道是第一传输通道时,利用第三方缓冲区作为数据转存地与服务端进行数据传输;其中,所述第三方缓冲区是所述客户端和所述服务端均访问的第三方云存储服务,所述第三方缓冲区用于提供带宽达到阈值的数据传输通道。
在本公开的一个实施方式中,第一数据传输模块,包括:传输信息发送模块,用于向服务端发送数据传输信息,所述数据传输信息用于指示所述服务端在所述第三方缓冲区中创建所述数据传输信息对应的条状存储区;第一数据传输单元,用于利用第三方缓冲区中创建的条状存储区作为数据转存地进行数据传输。
在本公开的一个实施方式中,所述第三方缓冲区按照数据传输任务划分为多个条状存储区,每个数据传输任务对应的待传输数据分配一个条状存储区,每个条状存储区存储一个待传输数据对应的数据对象。
在本公开的一个实施方式中,传输通道选取模块,包括:手动选取单元,用于响应于用户针对所述传输通道的选取操作,将所述选取操作对应的传输通道作为目标传输通道;自动选取单元,用于基于待传输数据的数据信息选取待传输数据对应的目标传输通道。
在本公开的一个实施方式中,自动选取单元,具体用于确定所述待传输数据对应的任务类型;在所述任务类型是新任务时,基于所述待传输数据的数据大小、第一传输通道的当前传输速率、第二传输通道的当前传输速率以及第一计算方式,确定待传输数据对应的第一加速分数; 在所述第一加速分数大于或等于第一设置阈值时,选取第一传输通道作为待传输数据对应的目标传输通道,在所述第一加速分数小于第一设置阈值时,选取第二传输通道作为待传输数据对应的目标传输通道。
在本公开的一个实施方式中,自动选取单元,具体用于在所述任务类型是续传任务时,基于所述待传输数据对应的剩余数据大小、第二传输通道的平均传输速率、以及第二传输通道的当前传输速率,确定待传输数据对应的第二加速分数;在所述第二加速分数大于或等于第二设置阈值时,选取第一传输通道作为待传输数据对应的目标传输通道,在所述第二加速小于第二设置阈值时,选取第二传输通道作为待传输数据对应的目标传输通道。
本公开实施例提供的数据传输装置,可执行本公开方法实施例所提供的数据传输方法中所执行的步骤,具备执行步骤和有益效果此处不再赘述。
在上述实施例基础上,本公开实施例提供一种数据传输装置,该数据传输装置主要包括:存储区创建模块,用于在接收到客户端发送的数据传输信息之后,在第三方缓冲区中创建所述数据传输信息对应的条状存储区;第二数据传输模块,用于利用第三方缓冲区中创建的条状存储区作为数据转存地与所述客户端进行数据传输,其中,所述第三方缓冲区是所述服务端以及与所述服务端对应的客户端均访问的第三方云存储服务,所述第三方缓冲区用于提供带宽达到阈值的数据传输通道。
在本公开的一个实施方式中,存储区创建模块,包括:传输任务创建单元,用于基于所述数据传输信息,创建传输任务,并将传输任务设置为缓冲区准备中;存储区申请单元,用于向所述第三方缓冲区中申请所述传输任务的缓冲区;任务状态设置单元,用于在所述传输任务的缓冲区申请成功后,并将所述传输任务设置为缓冲区准备完毕。
在本公开的一个实施方式中,所述装置还包括:传输任务结束模块,用于在所述待传输数据传输完毕后,将所述传输任务设置为结束状态;存储区删除模块,用于控制所述第三方缓冲区中删除所述传输任务的存储区。
图9为本公开实施例中的一种电子设备的结构示意图。下面具体参考图9,其示出了适于用来实现本公开实施例中的电子设备900的结构示意图。本公开实施例中的电子设备900可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴终端设备等等的移动终端以及诸如数字TV、台式计算机、智能家居设备等等的固定终端。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储装置908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理以实现如本公开所述的实施例的数据传输方法。在RAM903中,还存储有终端设备900操作所需的各种程序和数据。处理装置901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
通常,以下装置可以连接至I/O接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许终端设备900与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的终端设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码,从而实现如上所述的数据传输方法。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从ROM 902被安装。在该计算机程序被处理装置901执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务端可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该终端设备执行时,使得该终端设备执行如上述实施例中提供的数据传输方法。
可选的,当上述一个或者多个程序被该终端设备执行时,该终端设备还可以执行上述实施例所述的其他步骤。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (7)
1.一种数据传输方法,其特征在于,所述方法应用于客户端,包括:
选取待传输数据对应的目标传输通道,其中,所述目标传输通道为第一传输通道或第二传输通道,所述第一传输通道为第三方缓冲区提供的带宽达到阈值的数据传输通道,所述第二传输通道为客户端与服务端之间的原有数据通道,所述第一传输通道的数据传输速度大于所述第二传输通道;
在所述目标传输通道是第一传输通道时,向所述服务端发送数据传输信息,所述数据传输信息用于指示所述服务端在所述第三方缓冲区中创建所述数据传输信息对应的条状存储区;
利用第三方缓冲区中创建的条状存储区作为数据转存地与所述服务端进行数据传输,其中,所述第三方缓冲区是所述客户端和所述服务端均访问的第三方云存储服务;
所述选取待传输数据对应的目标传输通道,包括:
响应于用户针对所述传输通道的选取操作,将所述选取操作对应的传输通道作为目标传输通道;或,
基于所述待传输数据的数据信息选取所述待传输数据对应的目标传输通道;
其中,所述基于所述待传输数据的数据信息选取所述待传输数据对应的目标传输通道,包括:
确定所述待传输数据对应的任务类型;
在所述任务类型是新任务时,根据所述待传输数据的数据大小、第一传输通道的当前传输速率以及第一公式,计算第一传输通道的预估得分,根据所述待传输数据的数据大小、第二传输通道的当前传输速率以及第二公式,计算第二传输通道的预估得分,将第二传输通道的预估得分除以第一传输通道的预估得分的比值,作为第一加速分数;
在所述第一加速分数大于或等于第一设置阈值时,选取第一传输通道作为所述待传输数据对应的目标传输通道,在所述第一加速分数小于第一设置阈值时,选取第二传输通道作为所述待传输数据对应的目标传输通道;
所述基于所述待传输数据的数据信息选取所述待传输数据对应的目标传输通道,还包括:
在所述任务类型是续传任务时,根据所述待传输数据对应的剩余数据大小、第一传输通道的平均传输速率以及第三公式,计算第一传输通道的预估得分,根据所述待传输数据对应的剩余数据大小、第二传输通道的当前传输速率以及第四公式,计算第二传输通道的预估得分,将第二传输通道的预估得分除以第一传输通道的预估得分的比值,作为第二加速分数;
在所述第二加速分数大于或等于第二设置阈值时,选取第一传输通道作为所述待传输数据对应的目标传输通道,在所述第二加速分数小于第二设置阈值时,选取第二传输通道作为所述待传输数据对应的目标传输通道;
其中,第一公式和第二公式分别为:
, />;
在第一公式和第二公式中,为第一传输通道的预估得分,/>为传输应答系数,/>为第一传输通道的当前传输速率,/>为待传输数据的数据大小,/>为第二传输通道传输的预估得分,0</><0.1,/>为第二传输通道的当前传输速率;
第三公式和第四公式分别为:
,/>
在第三公式和第四公式中,为第一传输通道的预估得分,/>为传输应答系数,f为待传输数据的数据大小,/>为第一传输通道的平均传输速率,/>为第二传输通道传输的预估得分,fa为待传输数据对应的剩余数据大小,0</><0.1,/>为第二传输通道的当前传输速率,T为已传输文件百分比。
2.一种数据传输方法,其特征在于,客户端执行权利要求1所述的方法,所述数据传输方法应用于服务端,包括:
在接收到客户端发送的数据传输信息之后,在第三方缓冲区中创建所述数据传输信息对应的条状存储区;
利用所述第三方缓冲区中创建的条状存储区作为数据转存地与所述客户端进行数据传输,其中,所述第三方缓冲区是所述服务端以及与所述服务端对应的客户端均访问的第三方云存储服务。
3.根据权利要求2所述的数据传输方法,其特征在于,所述在第三方缓冲区中创建所述数据传输信息对应的条状存储区,包括:
基于所述数据传输信息,创建传输任务,向所述第三方缓冲区中申请所述传输任务的存储区;
将传输任务设置为存储区准备中;
在所述传输任务的存储区申请成功后,将所述传输任务设置为存储区准备完毕。
4.根据权利要求3所述的数据传输方法,其特征在于,所述方法还包括:
在待传输数据传输完毕后,将所述传输任务设置为结束状态;
删除所述第三方缓冲区中的所述传输任务的存储区。
5.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一项所述的方法。
6.一种数据传输系统,其特征在于,所述数据传输系统包括:客户端、服务端和第三方缓冲区,其中,
所述客户端,用于选取待传输数据对应的目标传输通道,其中,所述目标传输通道为第一传输通道或第二传输通道,所述第一传输通道为第三方缓冲区提供的带宽达到阈值的数据传输通道,所述第二传输通道为客户端与服务端之间的原有数据通道,所述第一传输通道的数据传输速度大于所述第二传输通道;在目标传输通道是第一传输通道时,向所述服务端发送数据传输信息;
所述服务端,用于接收到客户端发送的数据传输信息之后,在第三方缓冲区中创建所述数据传输信息对应的条状存储区,利用第三方缓冲区中创建的条状存储区作为数据转存地与所述客户端进行数据传输;其中,所述第三方缓冲区是所述服务端以及与所述服务端对应的客户端均访问的第三方云存储服务;
所述客户端,还用于响应于用户针对所述传输通道的选取操作,将所述选取操作对应的传输通道作为目标传输通道;或,基于所述待传输数据的数据信息选取所述待传输数据对应的目标传输通道;
所述客户端,还用于确定所述待传输数据对应的任务类型;在所述任务类型是新任务时,根据所述待传输数据的数据大小、第一传输通道的当前传输速率以及第一公式,计算第一传输通道的预估得分,根据所述待传输数据的数据大小、第二传输通道的当前传输速率以及第二公式,计算第二传输通道的预估得分,将第二传输通道的预估得分除以第一传输通道的预估得分的比值,作为第一加速分数;在所述第一加速分数大于或等于第一设置阈值时,选取第一传输通道作为所述待传输数据对应的目标传输通道,在所述第一加速分数小于第一设置阈值时,选取第二传输通道作为所述待传输数据对应的目标传输通道;
所述客户端,还用于在所述任务类型是续传任务时,根据所述待传输数据对应的剩余数据大小、第一传输通道的平均传输速率以及第三公式,计算第一传输通道的预估得分,根据所述待传输数据对应的剩余数据大小、第二传输通道的当前传输速率以及第四公式,计算第二传输通道的预估得分,将第二传输通道的预估得分除以第一传输通道的预估得分的比值,作为第二加速分数;在所述第二加速分数大于或等于第二设置阈值时,选取第一传输通道作为所述待传输数据对应的目标传输通道,在所述第二加速分数小于第二设置阈值时,选取第二传输通道作为所述待传输数据对应的目标传输通道;
其中,第一公式和第二公式分别为:
, />;
在第一公式和第二公式中,为第一传输通道的预估得分,/>为传输应答系数,/>为第一传输通道的当前传输速率,/>为待传输数据的数据大小,/>为第二传输通道传输的预估得分,0</><0.1,/>为第二传输通道的当前传输速率;
第三公式和第四公式分别为:
,/>
在第三公式和第四公式中,为第一传输通道的预估得分,/>为传输应答系数,f为待传输数据的数据大小,/>为第一传输通道的平均传输速率,/>为第二传输通道传输的预估得分,fa为待传输数据对应的剩余数据大小,0</><0.1,/>为第二传输通道的当前传输速率,T为已传输文件百分比。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310880733.8A CN116614559B (zh) | 2023-07-18 | 2023-07-18 | 一种数据传输方法、设备、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310880733.8A CN116614559B (zh) | 2023-07-18 | 2023-07-18 | 一种数据传输方法、设备、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116614559A CN116614559A (zh) | 2023-08-18 |
CN116614559B true CN116614559B (zh) | 2023-11-10 |
Family
ID=87682125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310880733.8A Active CN116614559B (zh) | 2023-07-18 | 2023-07-18 | 一种数据传输方法、设备、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116614559B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9032081B1 (en) * | 2014-05-29 | 2015-05-12 | Signiant, Inc. | System and method for load balancing cloud-based accelerated transfer servers |
CN105933380A (zh) * | 2016-04-01 | 2016-09-07 | 宇龙计算机通信科技(深圳)有限公司 | 一种数据传输的方法、装置及终端 |
CN110198334A (zh) * | 2018-04-19 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 基于对象存储服务的访问方法、装置和存储介质 |
CN110618900A (zh) * | 2019-09-06 | 2019-12-27 | 广芯微电子(广州)股份有限公司 | 一种uart数据传输方法 |
CN110996376A (zh) * | 2019-10-10 | 2020-04-10 | 宇龙计算机通信科技(深圳)有限公司 | 业务数据的传输方法、装置、存储介质及终端 |
CN111970334A (zh) * | 2020-07-30 | 2020-11-20 | 杭州超级科技有限公司 | 基于tcp的数据传输方法、装置、电子设备及介质 |
CN113452475A (zh) * | 2020-03-28 | 2021-09-28 | 华为技术有限公司 | 数据传输方法、装置及相关设备 |
CN113973093A (zh) * | 2020-07-24 | 2022-01-25 | 中移(苏州)软件技术有限公司 | 数据传输方法及装置、电子设备、可读存储介质 |
CN114880397A (zh) * | 2022-04-28 | 2022-08-09 | 中国电信股份有限公司 | 去中心化的数据存储方法和装置、计算机介质、电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102384773B1 (ko) * | 2017-10-12 | 2022-04-11 | 삼성전자주식회사 | 스토리지 장치, 컴퓨팅 시스템, 그리고 그것의 디버깅 방법 |
-
2023
- 2023-07-18 CN CN202310880733.8A patent/CN116614559B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9032081B1 (en) * | 2014-05-29 | 2015-05-12 | Signiant, Inc. | System and method for load balancing cloud-based accelerated transfer servers |
CN105933380A (zh) * | 2016-04-01 | 2016-09-07 | 宇龙计算机通信科技(深圳)有限公司 | 一种数据传输的方法、装置及终端 |
CN110198334A (zh) * | 2018-04-19 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 基于对象存储服务的访问方法、装置和存储介质 |
CN110618900A (zh) * | 2019-09-06 | 2019-12-27 | 广芯微电子(广州)股份有限公司 | 一种uart数据传输方法 |
CN110996376A (zh) * | 2019-10-10 | 2020-04-10 | 宇龙计算机通信科技(深圳)有限公司 | 业务数据的传输方法、装置、存储介质及终端 |
CN113452475A (zh) * | 2020-03-28 | 2021-09-28 | 华为技术有限公司 | 数据传输方法、装置及相关设备 |
CN113973093A (zh) * | 2020-07-24 | 2022-01-25 | 中移(苏州)软件技术有限公司 | 数据传输方法及装置、电子设备、可读存储介质 |
CN111970334A (zh) * | 2020-07-30 | 2020-11-20 | 杭州超级科技有限公司 | 基于tcp的数据传输方法、装置、电子设备及介质 |
CN114880397A (zh) * | 2022-04-28 | 2022-08-09 | 中国电信股份有限公司 | 去中心化的数据存储方法和装置、计算机介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116614559A (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021082584A1 (zh) | 消息交互方法、装置、可读介质及电子设备 | |
CN110909521B (zh) | 在线文档信息的同步处理方法、装置及电子设备 | |
JP2014521150A (ja) | 予測マルチレイヤキャッシュアーキテクチャ | |
CN110933140B (zh) | Cdn存储分配方法、系统及电子设备 | |
CN104780092A (zh) | 文件传输方法和装置及服务器系统 | |
CN110493350A (zh) | 文件上传方法和装置、电子设备和计算机可读介质 | |
WO2021139383A1 (zh) | 直播间礼物资源更新方法、装置、介质及电子设备 | |
US20240143649A1 (en) | Multimedia information processing method, apparatus, electronic device, and medium | |
WO2024022403A1 (zh) | 任务的处理方法、装置、设备及存储介质 | |
WO2024104316A1 (zh) | 多媒体数据的编辑方法、装置、电子设备及存储介质 | |
JP6995424B2 (ja) | フローを制御するための方法と装置 | |
CN110401731B (zh) | 用于分配内容分发节点的方法和装置 | |
CN110134905B (zh) | 一种页面更新显示方法、装置、设备及存储介质 | |
CN113474763A (zh) | 增强型的文件共享系统和方法 | |
CN109639813B (zh) | 视频文件传输处理方法及装置、电子设备和存储介质 | |
CN116614559B (zh) | 一种数据传输方法、设备、系统和存储介质 | |
KR101714821B1 (ko) | 홈 네트워크에서의 애플리케이션 이동성 관리 장치 | |
CN112235642A (zh) | 视频数据处理方法、装置、设备及存储介质 | |
WO2023083367A1 (zh) | 文件后台续传方法、装置、存储介质及电子设备 | |
CN112424764A (zh) | 长上传时间检测和管理 | |
CN112203158B (zh) | 一种图像展示方法、装置、系统、设备及介质 | |
CN113608816B (zh) | 进度的调整方法、装置、电子设备和存储介质 | |
CN111581562B (zh) | 资源刷新显示方法、装置、设备及存储介质 | |
JP2016015566A (ja) | 端末装置及びデータ配信方法 | |
CN110677484B (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 |