CN106161633B - 一种基于云计算环境下打包文件的传输方法及系统 - Google Patents

一种基于云计算环境下打包文件的传输方法及系统 Download PDF

Info

Publication number
CN106161633B
CN106161633B CN201610576533.3A CN201610576533A CN106161633B CN 106161633 B CN106161633 B CN 106161633B CN 201610576533 A CN201610576533 A CN 201610576533A CN 106161633 B CN106161633 B CN 106161633B
Authority
CN
China
Prior art keywords
file
files
packaging
queue
packaged
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
Application number
CN201610576533.3A
Other languages
English (en)
Other versions
CN106161633A (zh
Inventor
郭军
张剑波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baike Data Technology Shenzhen Co ltd
Original Assignee
Baike Data Technology Shenzhen Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Baike Data Technology Shenzhen Co ltd filed Critical Baike Data Technology Shenzhen Co ltd
Priority to CN201610576533.3A priority Critical patent/CN106161633B/zh
Publication of CN106161633A publication Critical patent/CN106161633A/zh
Application granted granted Critical
Publication of CN106161633B publication Critical patent/CN106161633B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于云计算环境下打包文件的传输方法及系统。该方法通过接收传输文件夹的命令;获取所述文件夹中所有文件的文件类型和文件大小;根据所述文件类型将所述所有文件分为适合打包的文件和不适合打包的文件;将所述适合打包的文件放入打包队列,将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列;将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输;将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输。大大缩短了整个文件夹的传输时间,提升了文件传输效率,同时也降低文件传输过程中的I/O操作,从而可以大大提升数据中心的数据吞吐率和服务效率,增加服务器的使用寿命。

Description

一种基于云计算环境下打包文件的传输方法及系统
技术领域
本发明涉及数据传输技术领域,尤其涉及一种基于云计算环境下打包文件的传输方法及系统。
背景技术
I/O密集型应用是云计算环境下最常用的应用之一,如何提高这种特定类型应用的处理效率一直很少有人关注。文件上传下载是一种典型的I/O密集型应用,海量小文件单独传输需要消耗大量的等待时间,而且每次传输都需要进行I/O操作,导致服务器数据中心的数据吞吐率和服务效率较低。传统的打包策略是全部打包策略,即当一个客户端请求上传或下载一个文件夹,就将文件夹整体打包为一个文件。该打包策略在文件夹中有不适合打包的文件时,会浪费了很多时间和资源来给不适合打包的文件进行压缩打包。
发明内容
本发明提供了一种基于云计算环境下打包文件的传输方法及系统,该方法及系统可以缩短文件的传输时间,提升文件传输效率,同时也减少文件传输过程中的I/O操作。
为实现上述设计,本发明采用以下技术方案:
一方面,提供了一种基于云计算环境下打包文件的传输方法,包括:
接收传输文件夹的命令;
获取所述文件夹中所有文件的文件类型和文件大小;根据所述文件类型将所述所有文件分为适合打包的文件和不适合打包的文件;将所述适合打包的文件放入打包队列,将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列;
将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输;将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输。
其中,所述将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列之前,还包括:
将所述不适合打包的文件的文件名作为Key值,文件大小作为Value值放入降序树图中;
所述将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列,包括:
获取所述降序树图中第一个小于所述文件阈值的Value值对应的Key值及所述Value值对应的Key值后面的所有Key值;
将所述第一个小于所述文件阈值的Value值对应的Key值及所述Value值对应的Key值后面的所有Key值对应的文件放入所述打包队列;
所述将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输,包括:
获取所述降序树图中第一个小于所述文件阈值的Value值对应的Key值前面的所有Key值;
将所述第一个小于所述文件阈值的Value值对应的Key值前面的所有Key值对应的文件进行传输。
其中,所述将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输,包括:
将所述打包队列中的文件进行压缩,完成打包,形成打包文件;
给所述打包文件添加预置打包标记;
将添加有所述预置打包标记的打包文件进行传输。
其中,所述文件大小为磁盘推算出的文件大小、网络推算出的文件大小或中断推算出的文件大小。
其中,所述获取所述文件夹中所有文件的文件类型和文件大小,具体为:通过文件遍历算法获取所述文件夹中所有文件的文件类型和文件大小。
另一方面,提供了一种基于云计算环境下打包文件的传输系统,包括:
接收单元,接收传输文件夹的命令;
获取单元,获取所述文件夹中所有文件的文件类型和文件大小;根据所述文件类型将所述所有文件分为适合打包的文件和不适合打包的文件;将所述适合打包的文件放入打包队列,将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列;
传输单元,将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输;将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输。
其中,还包括:
放入单元,将所述不适合打包的文件的文件名作为Key值,文件大小作为Value值放入降序树图中;
所述将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列,包括:
获取所述降序树图中第一个小于所述文件阈值的Value值对应的Key值及所述Value值对应的Key值后面的所有Key值;
将所述第一个小于所述文件阈值的Value值对应的Key值及所述Value值对应的Key值后面的所有Key值对应的文件放入所述打包队列;
所述将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输,包括:
获取所述降序树图中第一个小于所述文件阈值的Value值对应的Key值前面的所有Key值;
将所述第一个小于所述文件阈值的Value值对应的Key值前面的所有Key值对应的文件进行传输。
其中,所述将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输,包括:
将所述打包队列中的文件进行压缩,完成打包,形成打包文件;
给所述打包文件添加预置打包标记;
将添加有所述预置打包标记的打包文件进行传输。
其中,所述文件大小为磁盘推算出的文件大小、网络推算出的文件大小或中断推算出的文件大小。
其中,所述获取所述文件夹中所有文件的文件类型和文件大小,具体为:通过文件遍历算法获取所述文件夹中所有文件的文件类型和文件大小。
本发明的有益效果为:本发明实施例通过接收传输文件夹的命令;获取所述文件夹中所有文件的文件类型和文件大小;根据所述文件类型将所述所有文件分为适合打包的文件和不适合打包的文件;将所述适合打包的文件放入打包队列,将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列;将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输;将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输。根据文件类型和文件大小将文件夹中适合打包的文件放入打包队列进行打包,同时将文件夹中剩余的文件即刻进行传输,打包队列打包完毕后再进行传输;大大缩短了整个文件夹的传输时间,提升了文件传输效率,同时也降低文件传输过程中的I/O操作,从而可以大大提升数据中心的数据吞吐率和服务效率,增加服务器的使用寿命。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的类型和这些附图获得其他的附图。
图1是本发明具体实施方式中提供的一种基于云计算环境下打包文件的传输方法的第一实施例的方法流程图。
图2是本发明具体实施方式中提供的一种基于云计算环境下打包文件的传输方法的第二实施例的方法流程图。
图3是本发明具体实施方式中提供的一种基于云计算环境下打包文件的传输系统的第一实施例的结构方框图。
图4是本发明具体实施方式中提供的一种基于云计算环境下打包文件的传输系统的第二实施例的结构方框图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本方案适用于两台服务器之间的文件传输或者服务器与客户端之间的文件传输。
请参考图1,其是本发明具体实施方式中提供的一种基于云计算环境下打包文件的传输方法的第一实施例的方法流程图。如图所示,该方法包括:
步骤S101:接收传输文件夹的命令。
服务器(或客户端)接收到另一台服务器/客户端发送过来的要求传输文件夹的命令。
步骤S102:获取所述文件夹中所有文件的文件类型和文件大小;根据所述文件类型将所述所有文件分为适合打包的文件和不适合打包的文件;将所述适合打包的文件放入打包队列,将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列。
在使用打包策略以前,必须首先获取每一个文件的类型和大小;可选地,采用文件遍历算法获取需要传输的文件夹中所有文件的文件类型和文件大小。将适合打包的文件类型的文件放入打包队列,将不适合打包的文件类型的文件进行大小排序,小于文件阈值的文件也放入打包队列中。
可选地,获得文件夹中所有文件的文件类型和文件大小,每获得一个文件的文件类型和文件大小,就判断是否属于适合打包的文件类型,如果属于适合打包的文件类型,就将该文件放入打包队列;如果不属于适合打包的文件类型,就判断该文件的文件大小是否小于文件阈值,当该文件的文件大小小于文件阈值时,将该文件放入打包队列;接着再判断下一个文件,判断过程与上述过程相同,直到文件夹中所有的文件都判断完毕为止。
可选地,获得文件夹中所有文件的文件类型和文件大小,等文件夹中所有文件的文件类型和文件大小都获知了后,再统一进行是否放入打包队列的判断。首先,从这些文件中选出符合适合打包的文件类型的所有文件放入打包队列中;然后,从文件夹剩下的文件中选出文件大小小于文件阈值的所有文件放入打包队列中。
其中,适合打包的文件类型主要为文档类文件,如Word文档、文本文档、excel文档等;不适合打包的文件类型主要多媒体文件,如:视频文件、音频文件、MP3等。由于多媒体文件大多数都已经经过了成熟的高度压缩处理而生成了专门的格式,因此很难会有更好地压缩方式使其进一步压缩,甚至已经无法压缩,就目前的压缩技术来看,即使可以再进一步压缩,必定会以牺牲视频文件、音频文件的画质、音质为代价,因此多媒体文件是进一步压缩中,压缩比非常小的一类文件。对于压缩比大的文件,大多指的文本文件数据表格文件或者日志文件等,这些文件中存在大量重复的数据,同时文字信息比较多,压缩软件可以通过特定的算法,将这些重复的信息使用某一变量代替,从而尽可能减少文件的大小,在解压的时候,使用反替换就可以得到原来的文件。这样对于云计算服务器上海量的数据文件,例如客户端上传的日志文件,数据库文件,档案文件等,都可以采用打包压缩的方式进行预处理,对适合打包的小文件进行打包时,打包的时间、打包文件传输的时间及解包的时间三者的时间和会大大的小于小文件单独传输的时间和,从而减少传输时间。
可选地,文件大小为磁盘推算出的文件大小、网络推算出的文件大小或中断推算出的文件大小。
步骤S103:将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输;将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输。
将文件夹中剩下的文件(即不适合打包的文件中文件大小大于等于文件阈值的文件)即刻进行传输,同时将将打包队列中的文件进行压缩打包,打包完毕后,将打包后形成的打包文件进行传输。其中,文件阈值可根据用户的需求、设备的性能及网络传输速度进行设定,通常情况下由大量的实验经验获得,可选地,文件阈值为3-5Kb。
当客户端与服务器进行I/O交互时,每当上传或者下载一个文件时,都要进行请求和响应。首先,发送端需要发送一个请求消息,通知接收端即将发送文件,请做好准备,如打开端口,用户密码认证等,因而每一次请求都需要消耗一定的时间(请求时间)。然后接收端向发送端发送一个响应消息,告诉发送端自己已经准备好,可以接受,这个过程也需要消耗一定的时间(响应时间)。之后双方建立连接,完成数据传输,这个时间是传输时间。通常,文件的总体传输时间与文件个数,文件的请求时间,文件的传输时间和文件的请求响应时间有关。由于离散的小文件是一个接一个的,因此,执行某一个文件的请求时,其他文件都处于闲置状态。同时,由于网络带宽等原因,文件传输等待的时间会比较长,因此大量的时间会被消耗在等待连接的响应上,而传输一个小文件本身所占用的时间并不长,因此传输效率会非常低下。而且,执行一次I/O操作必然导致系统中断产生,每次中断产生后都需要一定的中断响应时间。
综上所述,本发明实施例通过接收传输文件夹的命令;获取所述文件夹中所有文件的文件类型和文件大小;根据所述文件类型将所述所有文件分为适合打包的文件和不适合打包的文件;将所述适合打包的文件放入打包队列,将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列;将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输;将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输。根据文件类型和文件大小将文件夹中适合打包的文件放入打包队列进行打包,同时将文件夹中剩余的文件即刻进行传输,打包队列打包完毕后再进行传输;大大缩短了整个文件夹的传输时间,提升了文件传输效率,同时也降低文件传输过程中的I/O操作,从而可以大大提升数据中心的数据吞吐率和服务效率,增加服务器的使用寿命。
请参考图2,其是本发明具体实施方式中提供的一种基于云计算环境下打包文件的传输方法的第二实施例的方法流程图。如图所示,该方法包括:
步骤S201:接收传输文件夹的命令。
步骤S202:获取所述文件夹中所有文件的文件类型和文件大小;根据所述文件类型将所述所有文件分为适合打包的文件和不适合打包的文件;将所述适合打包的文件放入打包队列;将所述不适合打包的文件的文件名作为Key值,文件大小作为Value值放入降序树图中,将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列。
可选地,采用广度优先遍历算法和深度优先算法(Depth-First-Search,DFS算法)获取需要传输的文件夹中所有文件的文件类型和文件大小。优选地,采用单线程非递归的广度优先遍历算法来遍历文件夹中平行的子文件夹,采用单线程非递归的深度优先遍历算法来遍历文件夹中的每一个文件。
在文件夹中,整个文件夹相当于一个树的根节点,里面的子文件夹相当于一般节点,文件相当于叶子节点。使用深度优先算法可以完全遍历这个文件夹,即从根节点开始遍历,最终可以到达每一个文件。在深度优先算法中,通常会设置标记位来判断是否访问过。对于新发现的节点v,如果有以此节点为起点而未探测过的边,就沿此边继续搜索下去。当节点v的所有边都已经被搜索过,搜索将回溯到发现该节点v的那条边的始节点。这一过程将会一直进行,直到发现从源节点出发,可以到达的所有节点为止。如果此时存在未被访问过的节点,则选择其中一个作为源节点并重复上述过程,整个过程反复进行,直到该图中所有可达的节点都被访问过为止。在使用DFS算法时,相对于树来说,节点v即下一个需要遍历的文件或者文件夹,当访问到文件时,保存该文件的路径和大小后即可立即返回到上一层,进行之后的遍历。
文件的遍历算法有很多,然而对于深度优先的搜索,递归过程会在调用之前进行,为某个目录分配的搜索资源要在这个目录所有子目录搜索完毕之后才能释放,而广度优先的搜索则是在本次搜索的之后才开始深入搜索,其耗费的系统资源要比深度优先搜索要少得多,因此采取广度优先遍历。其次递归算法可以简化算法的复杂度,但是会占用大量的栈空间,同时也会产生大量的函数调用代码,当文件夹规模很大的时候很容易引起“堆栈下溢”,因此采取非递归算法。另外,在操作I/O的时候,由于大部分I/O设备是不支持并行存取的,用多线程来进行文件搜索,反而会造成大量的互斥操作,反而影响了速度。
步骤S203:获取所述降序树图中第一个小于所述文件阈值的Value值对应的Key值前面的所有Key值,将所述第一个小于所述文件阈值的Value值对应的Key值前面的所有Key值对应的文件进行传输;将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件,给所述打包文件添加预置打包标记,将添加有所述预置打包标记的打包文件进行传输。
将打包队列中的文件压缩打包完毕后,给形成的打包文件添加预置打包标记,然后进行传输。当接收端收到的文件时,如果带有预置打包标记,则解包处理后保存;如果没有预置打包标记,则表明文件没有被压缩打包,只需要按原文件保存即可。
在遍历完整个文件夹后,每一个文件的信息都被保存起来,这里定义了一个降序树图(即TreeMap)用于保存文件信息。在TreeMap中可以通过一个对象来对另一个对象进行索引,用来索引的对象叫做key,被索引的对象叫做value。这里每个文件有两个信息,一个是文件名的完整名称,另一个就是该文件的大小。通过文件的完成名称,可以获取该文件的后缀。通过分析后缀可以判断文件的类型。文件类型对于判断文件是否应该打包十分重要。TreeMap运用到了排序树的思想,将数据按照有序的顺序进行保存。先定义一个打包队列(Package Queue),初始状态置为空,对于将要打包的文件,统一放入打包队列(PackageQueue)里。在文件遍历算法结束以后,Package Queue中保存的文件会被统一进行打包,打包完毕后会置一个特殊标记符,从而区分这个打包文件和一般压缩文件。
综上所述,本发明实施例采用广度优先遍历算法和深度优先算法来遍历需要传输的文件夹中的所有文件,获取需要传输的文件夹中所有文件的文件类型和文件大小,将所有的文件类型和文件大小放入降序树图中,先通过文件类型找出适合打包的文件放入打包队列,再通过文件大小找出适合打包的文件放入打包队列,然后在打包队列的文件进行打包的同时将文件夹中剩余的文件即刻进行传输,打包队列打包完毕后再进行传输,提高文件传输的效率,提高网络资源的使用效率,并减少文件传输过程中的IO操作,达到降低能耗、延长物理设备使用寿命的目的。
以下为本方案一种基于云计算环境下打包文件的传输系统的实施例,一种基于云计算环境下打包文件的传输系统的实施例基于一种基于云计算环境下打包文件的传输方法的实施例实现,在一种基于云计算环境下打包文件的传输系统的实施例中未尽的描述,请参考一种基于云计算环境下打包文件的传输方法的实施例。
请参考图3,其是本发明具体实施方式中提供的一种基于云计算环境下打包文件的传输系统的第一实施例的结构方框图。如图所示,该系统包括:
接收单元310,接收传输文件夹的命令。
获取单元320,获取所述文件夹中所有文件的文件类型和文件大小;根据所述文件类型将所述所有文件分为适合打包的文件和不适合打包的文件;将所述适合打包的文件放入打包队列,将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列。
可选地,采用文件遍历算法获取需要传输的文件夹中所有文件的文件类型和文件大小。其中,适合打包的文件类型主要为文档类文件,如Word文档、文本文档、excel文档等;不适合打包的文件类型主要多媒体文件,如:视频文件、音频文件、MP3等。文件大小为磁盘推算出的文件大小、网络推算出的文件大小或中断推算出的文件大小。
传输单元330,将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输;将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输。
综上所述,各单元模块协同工作,接收单元310,接收传输文件夹的命令;获取单元320,获取所述文件夹中所有文件的文件类型和文件大小;根据所述文件类型将所述所有文件分为适合打包的文件和不适合打包的文件;将所述适合打包的文件放入打包队列,将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列;传输单元330,将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输;将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输。根据文件类型和文件大小将文件夹中适合打包的文件放入打包队列进行打包,同时将文件夹中剩余的文件即刻进行传输,打包队列打包完毕后再进行传输;大大缩短了整个文件夹的传输时间,提升了文件传输效率,同时也降低文件传输过程中的I/O操作,从而可以大大提升数据中心的数据吞吐率和服务效率,增加服务器的使用寿命。
请参考图4,其是本发明具体实施方式中提供的一种基于云计算环境下打包文件的传输系统的第二实施例的结构方框图。如图所示,该系统包括:
接收单元310,接收传输文件夹的命令。
获取单元320,获取所述文件夹中所有文件的文件类型和文件大小;根据所述文件类型将所述所有文件分为适合打包的文件和不适合打包的文件;将所述适合打包的文件放入打包队列,将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列。
可选地,采用广度优先遍历算法和深度优先算法(Depth-First-Search,DFS算法)获取需要传输的文件夹中所有文件的文件类型和文件大小;其中,单线程非递归的广度优先遍历算法来遍历文件夹中平行的子文件夹,采用单线程非递归的深度优先遍历算法来遍历文件夹中的每一个文件。
传输单元330,将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输;将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输。
所述将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列,包括:获取所述降序树图中第一个小于所述文件阈值的Value值对应的Key值及所述Value值对应的Key值后面的所有Key值;将所述第一个小于所述文件阈值的Value值对应的Key值及所述Value值对应的Key值后面的所有Key值对应的文件放入所述打包队列。
放入单元340,将所述不适合打包的文件的文件名作为Key值,文件大小作为Value值放入降序树图中。
所述将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输,包括:获取所述降序树图中第一个小于所述文件阈值的Value值对应的Key值前面的所有Key值;将所述第一个小于所述文件阈值的Value值对应的Key值前面的所有Key值对应的文件进行传输。
综上所述,各单元模块协同工作,放入单元340,将所述不适合打包的文件的文件名作为Key值,文件大小作为Value值放入降序树图中。采用广度优先遍历算法和深度优先算法来遍历需要传输的文件夹中的所有文件,获取需要传输的文件夹中所有文件的文件类型和文件大小,将所有的文件类型和文件大小放入降序树图中,先通过文件类型找出适合打包的文件放入打包队列,再通过文件大小找出适合打包的文件放入打包队列,然后在打包队列的文件进行打包的同时将文件夹中剩余的文件即刻进行传输,打包队列打包完毕后再进行传输,提高文件传输的效率,提高网络资源的使用效率,并减少文件传输过程中的IO操作,达到降低能耗、延长物理设备使用寿命的目的。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

Claims (6)

1.一种基于云计算环境下打包文件的传输方法,其特征在于,包括:
接收传输文件夹的命令;
采用单线程非递归的广度优先遍历算法来遍历文件夹中平行的子文件夹,采用单线程非递归的深度优先遍历算法来遍历文件夹中的每一个文件,获取所述文件夹中所有文件的文件类型和文件大小;根据所述文件类型将所述所有文件分为适合打包的文件和不适合打包的文件;将所述适合打包的文件放入打包队列;
将所述不适合打包的文件的文件名作为Key值,文件大小作为Value值放入降序树图中;
获取所述降序树图中第一个小于文件阈值的Value值对应的Key值及所述Value值对应的Key值后面的所有Key值;
将所述第一个小于所述文件阈值的Value值对应的Key值及所述Value值对应的Key值后面的所有Key值对应的文件放入所述打包队列;
获取所述降序树图中第一个小于所述文件阈值的Value值对应的Key值前面的所有Key值;
将所述第一个小于所述文件阈值的Value值对应的Key值前面的所有Key值对应的文件进行传输;
将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输。
2.根据权利要求1所述的传输方法,其特征在于,所述将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输,包括:
将所述打包队列中的文件进行压缩,完成打包,形成打包文件;
给所述打包文件添加预置打包标记;
将添加有所述预置打包标记的打包文件进行传输。
3.根据权利要求1所述的传输方法,其特征在于,所述文件大小为磁盘推算出的文件大小、网络推算出的文件大小或中断推算出的文件大小。
4.一种基于云计算环境下打包文件的传输系统,其特征在于,包括:
接收单元,接收传输文件夹的命令;
获取单元,采用单线程非递归的广度优先遍历算法来遍历文件夹中平行的子文件夹,采用单线程非递归的深度优先遍历算法来遍历文件夹中的每一个文件,获取所述文件夹中所有文件的文件类型和文件大小;根据所述文件类型将所述所有文件分为适合打包的文件和不适合打包的文件;将所述适合打包的文件放入打包队列,将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列;
放入单元,将所述不适合打包的文件的文件名作为Key值,文件大小作为Value值放入降序树图中;
所述将所述不适合打包的文件中文件大小小于文件阈值的文件放入所述打包队列,包括:
获取所述降序树图中第一个小于所述文件阈值的Value值对应的Key值及所述Value值对应的Key值后面的所有Key值;
将所述第一个小于所述文件阈值的Value值对应的Key值及所述Value值对应的Key值后面的所有Key值对应的文件放入所述打包队列;
其中,传输单元,将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输;将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输;
所述将所述不适合打包的文件中文件大小大于等于文件阈值的文件进行传输,包括:
获取所述降序树图中第一个小于所述文件阈值的Value值对应的Key值前面的所有Key值;
将所述第一个小于所述文件阈值的Value值对应的Key值前面的所有Key值对应的文件进行传输。
5.根据权利要求4所述的传输系统,其特征在于,所述将所述打包队列中的文件进行压缩打包,将打包后形成的打包文件进行传输,包括:
将所述打包队列中的文件进行压缩,完成打包,形成打包文件;
给所述打包文件添加预置打包标记;
将添加有所述预置打包标记的打包文件进行传输。
6.根据权利要求4所述的传输系统,其特征在于,所述文件大小为磁盘推算出的文件大小、网络推算出的文件大小或中断推算出的文件大小。
CN201610576533.3A 2016-07-20 2016-07-20 一种基于云计算环境下打包文件的传输方法及系统 Active CN106161633B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610576533.3A CN106161633B (zh) 2016-07-20 2016-07-20 一种基于云计算环境下打包文件的传输方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610576533.3A CN106161633B (zh) 2016-07-20 2016-07-20 一种基于云计算环境下打包文件的传输方法及系统

Publications (2)

Publication Number Publication Date
CN106161633A CN106161633A (zh) 2016-11-23
CN106161633B true CN106161633B (zh) 2020-05-05

Family

ID=58060440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610576533.3A Active CN106161633B (zh) 2016-07-20 2016-07-20 一种基于云计算环境下打包文件的传输方法及系统

Country Status (1)

Country Link
CN (1) CN106161633B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109286641B (zh) * 2017-07-19 2022-03-11 腾讯科技(深圳)有限公司 一种文件传输方法及其装置
CN109842652A (zh) * 2017-11-27 2019-06-04 中兴通讯股份有限公司 一种文件的上传方法、终端、云服务器和计算机存储介质
CN109981702B (zh) * 2017-12-27 2022-04-15 深圳市优必选科技有限公司 一种文件存储方法及系统
CN108566328B (zh) * 2018-01-18 2021-03-02 北京三快在线科技有限公司 数据传输方法、装置、介质及电子设备
CN108833530A (zh) * 2018-06-11 2018-11-16 联想(北京)有限公司 一种传输方法和装置
CN109584889B (zh) * 2018-12-28 2021-07-20 秒针信息技术有限公司 音频传输方法和装置及存储介质
CN110493029B (zh) * 2019-07-01 2022-07-26 联想(北京)有限公司 一种传输方法、传输装置、电子设备及存储介质
CN110266814B (zh) * 2019-07-09 2021-08-17 联想(北京)有限公司 传输方法及传输装置
CN111045994B (zh) * 2019-12-25 2023-08-22 山东方寸微电子科技有限公司 一种基于kv数据库的文件分类检索方法及系统
CN115037737A (zh) * 2022-04-29 2022-09-09 北京龙腾佳讯科技股份公司 多点跨国数据交换中的分布式零散文件处理方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599986B (zh) * 2008-06-02 2012-08-08 宏碁股份有限公司 加速文件传输速度的方法及计算机系统
CN101867559B (zh) * 2009-04-20 2013-06-19 王金波 在即时通信和网络存储系统中进行文件压缩的方法
CN101552652A (zh) * 2009-05-13 2009-10-07 北京交大思源科技有限公司 一种文件传输方法及传输装置
CN102957633A (zh) * 2011-08-19 2013-03-06 北京大学 一种消息中间件的数据打包传输方法和系统
CN103944949A (zh) * 2013-01-21 2014-07-23 中国电信股份有限公司 文件上传的方法和系统、以及云存储设备
CN103701860A (zh) * 2013-12-06 2014-04-02 北京奇虎科技有限公司 小文件的网络传输与接收方法及装置、和网络传输系统
CN103699587A (zh) * 2013-12-06 2014-04-02 北京奇虎科技有限公司 一种文件动态压缩方法及装置
CN105446975B (zh) * 2014-06-23 2019-03-15 广州爱九游信息技术有限公司 一种文件打包方法及装置
US9626249B1 (en) * 2016-06-14 2017-04-18 Storagecraft Technology Corporation Avoiding compression of high-entropy data during creation of a backup of a source storage

Also Published As

Publication number Publication date
CN106161633A (zh) 2016-11-23

Similar Documents

Publication Publication Date Title
CN106161633B (zh) 一种基于云计算环境下打包文件的传输方法及系统
RU2581551C2 (ru) Способ оптимизации хранения и передачи данных
US11627207B2 (en) Systems and methods for data deduplication by generating similarity metrics using sketch computation
US20150006475A1 (en) Data deduplication in a file system
US20150237113A1 (en) Method and system for file transmission
US20130073691A1 (en) File Processing Method, System and Server-clustered System for Cloud Storage
CN110347651B (zh) 基于云存储的数据同步方法、装置、设备及存储介质
CN102857578B (zh) 一种网络硬盘的文件上传方法、系统及网盘客户端
US9922041B2 (en) Storing data files in a file system
CN110572422A (zh) 数据下载方法和装置
CN110737663B (zh) 一种数据存储方法、装置、设备及存储介质
US10503737B1 (en) Bloom filter partitioning
Upadhyay et al. Deduplication and compression techniques in cloud design
WO2014161261A1 (zh) 数据的存储方法及装置
CN104579970B (zh) 一种IPv6报文的策略匹配装置
CN114676135A (zh) 数据存储方法、可读介质和电子设备
WO2014117729A9 (en) Scalable data deduplication
US11995050B2 (en) Systems and methods for sketch computation
US20170083550A1 (en) Adaptive query processor for query systems with limited capabilities
CN113312355A (zh) 一种数据管理的方法和装置
RU2613034C2 (ru) Быстрое установление соответствия при адресации по содержанию (контенту)
CN114125071B (zh) 数据压缩传输方法及装置
CN111881086B (zh) 大数据的存储方法、查询方法、电子装置及存储介质
US20230138113A1 (en) System for retrieval of large datasets in cloud environments
CN112084006B (zh) 一种镜像包处理方法、装置及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 518000 block a, B, C, block a, tanglangcheng Plaza (West District), 3333 Liuxian Avenue, Fuguang community, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: BAIKE DATA TECHNOLOGY (SHENZHEN) Co.,Ltd.

Address before: 518057 Nanshan District science and technology zone, Shenzhen, Guangdong Province, 9 research road, Beek technology, 7 floor, room 701-C

Patentee before: BAIKE DATA TECHNOLOGY (SHENZHEN) Co.,Ltd.