数据传输方法、装置、设备和存储介质制造方法及图纸

技术编号:37352137 阅读:10 留言:0更新日期:2023-04-27 07:03
本公开提供了一种数据传输方法、装置、设备和存储介质,涉及人工智能技术领域,具体涉及云计算、云存储和在线压缩技术,可应用在智能云场景下。数据传输方法包括:采用第一处理资源,将待传输文件划分为至少一个分块,对所述至少一个分块进行压缩处理,以获得至少一个压缩块,并将所述至少一个压缩块存入第一队列中;采用第二处理资源,从所述第一队列中读取所述至少一个压缩块,基于所述至少一个压缩块获得至少一个传输块,并将所述至少一个传输块存入第二队列中;采用第三处理资源,从所述第二队列中读取所述至少一个传输块,并将所述至少一个传输块传输至目的端。本公开可以提高数据传输效率。据传输效率。据传输效率。

【技术实现步骤摘要】
数据传输方法、装置、设备和存储介质


[0001]本公开涉及人工智能
,具体涉及云计算、云存储和在线压缩技术,可应用在智能云场景下,尤其涉及一种数据传输方法、装置、设备和存储介质。

技术介绍

[0002]用户存在批量下载文件的需求。若待下载的批量文件过大,通常是对批量文件进行压缩,再下载压缩后的文件。
[0003]相关技术中,压缩和下载通常是串行方式,导致数据传输效率较低。

技术实现思路

[0004]本公开提供了一种数据传输方法、装置、设备和存储介质。
[0005]根据本公开的一方面,提供了一种数据传输方法,包括:采用第一处理资源,将待传输文件划分为至少一个分块,对所述至少一个分块进行压缩处理,以获得至少一个压缩块,并将所述至少一个压缩块存入第一队列中;采用第二处理资源,从所述第一队列中读取所述至少一个压缩块,基于所述至少一个压缩块获得至少一个传输块,并将所述至少一个传输块存入第二队列中;采用第三处理资源,从所述第二队列中读取所述至少一个传输块,并将所述至少一个传输块传输至目的端;其中,所述第一处理资源、所述第二处理资源和所述第三处理资源是并发执行的。
[0006]根据本公开的另一方面,提供了一种数据传输装置,包括:压缩模块,用于采用第一处理资源,将待传输文件划分为至少一个分块,对所述至少一个分块进行压缩处理,以获得至少一个压缩块,并将所述至少一个压缩块存入第一队列中;转换模块,用于采用第二处理资源,从所述第一队列中读取所述至少一个压缩块,基于所述至少一个压缩块获得至少一个传输块,并将所述至少一个传输块存入第二队列中;传输模块,用于采用第三处理资源,从所述第二队列中读取所述至少一个传输块,并将所述至少一个传输块传输至目的端;其中,所述第一处理资源、所述第二处理资源和所述第三处理资源是并发执行的。
[0007]根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。
[0008]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。
[0009]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。
[0010]根据本公开的技术方案,可以提高数据传输效率。
[0011]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特
征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0012]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0013]图1是根据本公开第一实施例的示意图;
[0014]图2是本公开实施例对应的应用场景的示意图;
[0015]图3是根据本公开第二实施例的示意图;
[0016]图4是根据本公开第三实施例的示意图;
[0017]图5是根据本公开第四实施例的示意图;
[0018]图6是用来实现本公开实施例的数据传输方法的电子设备的示意图。
具体实施方式
[0019]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0020]相关技术中,通常采用压缩和下载串行的方式传输数据,数据传输效率较差。
[0021]为了提高数据传输效率,本公开提供如下实施例。
[0022]图1是根据本公开第一实施例的示意图,本实施例提供一种数据传输方法,如图1所示,该方法包括:
[0023]101、采用第一处理资源,将待传输文件划分为至少一个分块,对所述至少一个分块进行压缩处理,以获得至少一个压缩块,并将所述至少一个压缩块存入第一队列中。
[0024]102、采用第二处理资源,从所述第一队列中读取所述至少一个压缩块,基于所述至少一个压缩块获得至少一个传输块,并将所述至少一个传输块存入第二队列中。
[0025]103、采用第三处理资源,从所述第二队列中读取所述至少一个传输块,并将所述至少一个传输块传输至目的端。
[0026]其中,所述第一处理资源、所述第二处理资源和所述第三处理资源是并发(concurrent)执行的。
[0027]其中,上述的处理资源可以是Go语言提供的协程(Groutine)。
[0028]Go(又称Golang)语言是一种静态强类型、编译型语言。
[0029]Groutine(或Goroutine)是Go语言提供的并发执行的实体,是一种轻量级线程,Go可以将Groutine对应的任务合理地分配到处理器(如CPU)上,并让这些任务并发执行。不同的Groutine之间通过管道(channel,简称为chan)进行通信。
[0030]相比于其他语言,Go基于协程(Groutine)可以简单高效地实现并发。
[0031]待传输文件可以包括单一文件或者批量文件,即可以包括一个或多个文件。
[0032]对待传输文件进行分块时,可以基于预设大小,将待传输文件划分为至少一个的大小为预设大小的分块。如,预设大小是10M,待传输文件是100M,则将待传输文件划分为10个分块,每个分块的大小是10M。
[0033]针对每个分块,可以对每个分块进行压缩处理,压缩处理可以采用相关的压缩算
法进行压缩,例如采用zip算法进行压缩。
[0034]压缩后的分块可以称为压缩块,压缩块的大小通常较小。
[0035]以处理资源是协程为例,协程之间通过管道(chan)进行通信,管道中的数据可以采用队列形式进行管理,即第一协程获得压缩块后,可以将压缩块存入第一管道的第一队列中。
[0036]第二协程可以从第一队列中读取压缩块,并基于压缩块获得传输块。
[0037]其中,每个传输块的大小可以是预设值,如预设每个传输块的大小是20M,假设压缩块是5M,则可以将4个压缩块合并为一个传输块。
[0038]可以理解的是,根据实际情况的不同,若压缩块的大小大于传输块的大小,则可以对压缩块进行分块,以获得满足要求的传输块。
[0039]第二协程获得至少一个传输块后,可以将至少一个传输块存入第二管道的第二队列中。
[0040]第三协程可以从第二队列中读取至少一个传输块,并将至少一个传输块传输至目的端。
[0041]本实施例可以应用在上传或下载场景下,对应上传,目的端可以是云端本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,包括:采用第一处理资源,将待传输文件划分为至少一个分块,对所述至少一个分块进行压缩处理,以获得至少一个压缩块,并将所述至少一个压缩块存入第一队列中;采用第二处理资源,从所述第一队列中读取所述至少一个压缩块,基于所述至少一个压缩块获得至少一个传输块,并将所述至少一个传输块存入第二队列中;采用第三处理资源,从所述第二队列中读取所述至少一个传输块,并将所述至少一个传输块传输至目的端;其中,所述第一处理资源、所述第二处理资源和所述第三处理资源是并发执行的。2.根据权利要求1所述的方法,其中,所述将待传输文件划分为至少一个分块,包括:接收用户输入的所述待传输文件的文件信息;基于所述文件信息获取所述待传输文件;将所述待传输文件划分为至少一个分块。3.根据权利要求1所述的方法,其中,所述基于所述至少一个压缩块获得至少一个传输块,包括:对所述至少一个压缩块进行合并处理,以获得至少一个传输块,其中,每个传输块包括至少一个压缩块。4.根据权利要求3所述的方法,其中,所述对所述至少一个压缩块进行合并处理,包括:采用并行方式,对所述至少一个压缩块进行合并处理。5.根据权利要求1所述的方法,其中,所述将所述至少一个传输块传输至目的端,包括:采用并行方式,将所述至少一个传输块传输至目的端。6.根据权利要求1

5任一项所述的方法,其中,所述第一处理资源为基于Go语言创建的第一协程;所述第二处理资源为基于Go语言创建的第二协程;所述第三处理资源为基于Go语言创建的第三协程。7.一种数据传输装置,包括:压缩模块,用于采用第一处理资源,将待传输文件划分为至少一个分块,对所述至少一个分块进行压缩处理,以获得至少一个压缩块,并将所述至少一个压缩块存入第一队列中;转换模块,用于采用第二处理资源,从所述第一队列中读取所述至少一个压缩块,基于所述至少一个压缩块获...

【专利技术属性】
技术研发人员:刘江
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1