CN107517239A - 数据传输方法和装置 - Google Patents

数据传输方法和装置 Download PDF

Info

Publication number
CN107517239A
CN107517239A CN201610437902.0A CN201610437902A CN107517239A CN 107517239 A CN107517239 A CN 107517239A CN 201610437902 A CN201610437902 A CN 201610437902A CN 107517239 A CN107517239 A CN 107517239A
Authority
CN
China
Prior art keywords
data
file
host
transmitted
acquisition
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.)
Pending
Application number
CN201610437902.0A
Other languages
English (en)
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201610437902.0A priority Critical patent/CN107517239A/zh
Priority to PCT/CN2017/088563 priority patent/WO2017215646A1/zh
Publication of CN107517239A publication Critical patent/CN107517239A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种数据传输方法,所述数据传输方法包括:获取待传输数据的数据类型;根据所述数据类型获取所述待传输数据的传输协议;采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据。本发明还提出一种数据传输装置。本发明在传输数据时,将待传输数据划分为文件数据和控制消息,通过不同的传输协议传输所述文件数据和控制消息,可以有效地利用各种传输协议的优点,提高传输效率。

Description

数据传输方法和装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据传输方法和装置。
背景技术
随着互联网技术与云计算技术的不断发展,很多互联网服务提供商都推出了云存储服务。同时,政企单位也在逐步提供私有云存储服务。通过这些在线的云存储服务,用户可以实现文件的存储、访问、备份、共享等功能。
当前存在多种有效的传输协议,而这些传输协议应对不同的应用场景会有不同的优势存在。然而现有的网盘服务器端与网盘客户端多通过单一传输协议进行数据传输,如HTTP超文本传输协议,单一的传输协议无法高效的传输每一种类型的数据,现有的网盘无法根据待传输数据的类型采用不同的传输协议传输数据。
发明内容
本发明的主要目的在于提供一种数据传输方法和装置,旨在解决传输数据时使用单一传输协议,传输效率不高的问题。
为实现上述目的,本发明提供一种数据传输方法,所述数据传输方法包括:
获取待传输数据的数据类型;
根据所述数据类型获取所述待传输数据的传输协议;
采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据。
可选地,所述数据类型包括文件数据以及控制消息,所述获取待传输数据的数据类型的步骤包括:
获取所述待传输数据的属性;
根据所述待传输数据的属性确定所述待传输数据的数据类型为文件数据或者控制消息。
可选地,所述采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据的步骤包括:
在所述待传输数据包括文件数据和控制消息时,拆分所述待传输数据中的文件数据和控制消息;
采用所述文件数据对应的传输接口以及获取的所述传输协议传输拆分得到的所述文件数据,同时采用所述控制消息对应的传输接口以及获取的所述传输协议传输拆分得到的所述控制消息。
可选地,在所述待传输数据为文件数据时,所述采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据的步骤之前,所述数据传输方法还包括:
计算所述文件数据的指纹信息,并将所述指纹信息传输到服务器端;
接收所述服务器端基于所述指纹信息返回的查重结果信息;
基于所述查重结果判断所述服务端是否已存在所述文件数据;
若所述服务器端不存在所述文件数据,则执行所述采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据的步骤。
可选地,在所述待传输数据为文件数据时,所述采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据的步骤包括:
判断所述文件数据所占的容量值是否大于预设阈值;
若所述文件数据所占的容量值大于预设阈值,将所述文件数据分为多个文件片数据;
采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述拆分得到的所述文件片数据。
此外,为实现上述目的,本发明进一步提供一种数据传输装置,所述数据传输装置包括:
获取模块,用于获取待传输数据的数据类型以及根据所述数据类型获取所述待传输数据的传输协议;
传输模块,用于采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据。
可选地,所述数据类型包括文件数据以及控制消息,所述获取模块包括:
获取单元,用于获取所述待传输数据的属性;
确定单元,用于根据所述待传输数据的属性确定所述待传输数据的数据类型为文件数据或者控制消息。
可选地,在所述待传输数据包括文件数据和控制消息时,所述传输模块包括:
拆分单元,用于拆分所述待传输数据中的文件数据和控制消息;
传输单元,用于采用所述文件数据对应的传输接口以及获取的所述传输协议传输拆分得到的所述文件数据,同时采用所述控制消息对应的传输接口以及获取的所述传输协议传输拆分得到的所述控制消息。
可选地,所述数据传输装置还包括:
标识模块,用于所述待传输数据为文件数据时,计算所述文件数据的指纹信息,将所述指纹信息传输到服务器端;
接收模块,用于接收所述服务器端基于所述指纹信息返回的查重结果信息;
判断模块,用于基于所述查重结果判断所述服务端是否已存在所述文件数据;
所述传输模块,还用于若所述服务器端不存在所述文件数据,则采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述文件数据。
可选地,在所述待传输数据为文件数据时,所述传输模块还还包括:
判断单元,用于判断所述文件数据所占的容量值是否大于预设阈值;
分片单元,用于若所述文件数据所占的容量值大于预设阈值,将所述文件数据分为多个文件片数据;
所述传输单元,还用于采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输拆分得到的所述文件片数据。
本发明提出的数据传输方法和装置,在传输数据时,将待传输数据划分为文件数据和控制消息,可通过不同的传输协议传输所述文件数据和控制消息,针对不同的数据类型采用不同的合适的传输协议进行传输,可以有效地利用各种传输协议的优点,提高传输效率。
附图说明
图1为本发明数据传输方法第一实施例的流程示意图;
图2为图1中获取待传输数据的数据类型的细化流程示意图;
图3为图1中传输待传输数据的细化流程示意图;
图4为本发明数据传输方法第二实施例的流程示意图;
图5为本发明数据传输方法第三实施例的流程示意图;
图6为本发明数据传输装置第一实施例的功能模块示意图;
图7为图6中获取模块的细化功能模块示意图;
图8为图6中传输模块的细化功能模块示意图;
图9为本发明数据传输装置第二实施例的功能模块示意图;
图10为本发明数据传输装置第三实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
基于上述问题,本发明提供一种数据传输方法。
参照图1,图1为本发明数据传输方法的第一实施例的流程示意图。
在本实施例中,所述数据传输方法包括步骤:
步骤S10,获取待传输数据的数据类型;
在本实施例中,网盘***进行数据传输时网盘客户端与网盘服务器端需要进行数据交互,网盘客户端与服务器端的交互数据可分为多种类型,在将数据进行传输之前,需要对待传输数据的数据类型进行判断确认,进而对不同的数据类型采用不同的更加适合的传输协议进行传输。
所述数据类型包括文件数据以及控制消息,参照图2,所述步骤S10包括:
步骤S11,获取所述待传输数据的属性;
在本实施例中,通过获取待传输数据的属性名称,确定所述待传输数据的数据类型。
步骤S12,根据所述待传输数据的属性确定所述待传输数据的数据类型为文件数据或者控制消息。
在本实施例中,将网盘客户端与服务器端的交互数据分为两种类型,一种为文件数据,即网盘客户端与服务器端传输的文件数据本身,另一种为控制消息,除文件数据外的所有交互数据均为控制消息,包括用户权限信息,操作指令和文件数据的元数据等。
步骤S20,根据所述数据类型获取所述待传输数据的传输协议;
步骤S30,采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据。
在本实施例中,触发文件传输操作时,客户端和服务器端运行的程序可将不同类型的待传输数据通过不同的传输协议传输,所述程序包括使用不同传输协议传输不同类型数据的多个程序段,如控制消息可通过使用HTTP超文本传输协议的数据传输程序段传输,文件数据可通过使用FTP文件传输协议的数据传输程序段传输。
可以理解的是,待传输数据可同时包括文件数据和控制消息,此时对于使用不同传输协议的两种类型的待传输数据,可以采用不用的传输接口同时进行传输。
参照图3,所述步骤S30包括步骤:
步骤S31,在所述待传输数据包括文件数据和控制消息时,拆分所述待传输数据中的文件数据和控制消息;
可以理解的是,在进行数据传输时,不仅要传输文件数据,还要传输用户信息,文件数据的元数据等控制消息,此时所述待传输数据同时包括控制消息和文件数据,对于同一类型的待传输数据,使用一致的传输协议进行传输,传输前要对所述待传输数据进行拆分,方便传输同一类型的待传输数据。
步骤S32,采用所述文件数据对应的传输接口以及获取的所述传输协议传输拆分得到的所述文件数据,同时采用所述控制消息对应的传输接口以及获取的所述传输协议传输拆分得到的所述控制消息。
可以理解的是,使用不同传输协议的待传输数据可以同时进行传输,不同的传输协议占用的端口不同,不会对传输造成影响,产生冲突。
在本实施例中,网盘客户端或服务器端传输数据时,需要根据数据类型选择不同的数据传输程序段,在发送数据时,将所述数据按照选用的数据传输程序段使用的传输协议进行编码,在接收到所述数据时,再将所述数据按照所述传输协议进行解码操作,所以在进行数据传输前,将获取到的所述数据按照所述数据传输程序段使用的传输协议进行编码。
在本实施例中,不同的数据传输程序段可以分为控制消息传输程序段和文件数据传输程序段两种类型,通过所述控制消息传输程序段传输所述控制消息,通过所述文件数据传输程序段传输所述文件数据,所述控制消息传输程序段和所述文件数据传输程序段均可设置使用多个不同的传输协议,控制消息传输程序段可以使用不同的传输协议,文件数据传输程序段也可使用不同的传输协议。
例如,在本实施例中,可以将不同的数据传输程序段称为不同的传输接口,进行文件上传时,将数据交互的传输接口分为消息传输接口和数据传输接口。消息传输接口可使用HTTP协议进行控制信息的交互,数据传输接口可使用FTP协议进行文件数据的交互,或者还可设置第二数据传输接口,使用HTTP协议进行文件数据的交互。
本实施例提出的数据传输方法,在传输数据时,将待传输数据划分为文件数据和控制消息,可通过不同的传输协议传输所述文件数据和控制消息,针对不同的数据类型采用不同的合适的传输协议进行传输,可以有效地利用各种传输协议的优点,提高传输效率。
可以理解是,不同的用户可能上传相同的文件到云端,同一用户也可能上传相同的文件到云端,进一步地,参照图4,基于第一实施例,提出本发明数据传输方法的第二实施例,所述步骤S30之前,所述数据传输方法还包括步骤:
步骤S40,在所述待传输数据为文件数据时,计算所述文件数据的指纹信息,将所述指纹信息传输到服务器端;
在本实施例中,触发文件上传操作时,对所述文件基于文件内容计算标识,针对不同的文件数据会产生不同的所述指纹信息,所述指纹信息可以通过内容摘要算法(MessageDigestAlgorithm5,MD5),安全散列算法(SecureHashAlgorithm1,SHA-1)等任一可靠的文件内容摘要算法进行计算得到。
步骤S50,接收所述服务器端基于所述指纹信息返回的查重结果信息;
在本实施例中,所述服务器端可以基于客户端发送的所述文件指纹信息建立索引或数据库,当接收到客户端上传的文件指纹信息时,在所述索引或数据库查找是否存在所述指纹信息,若存在所述指纹信息,即服务器已存在所述文件时,则向所述客户端发送所述文件已经上传完成的消息和所述文件在服务器端的存储路径信息,客户端不再上传所述文件,仅在客户端更新相关目录,并对应建立所述文件的存储路径。
在本实施例中,存储在服务器端的文件的所述指纹信息可以在客户端上传所述文件时获取,也可以在所述文件上传到服务器端后,在服务器端通过计算得到。
步骤S60,基于所述查重结果判断所述服务端是否已存在所述文件数据;
可以理解的是,在用户上传文件时,服务器可能已存储所述文件,此时,服务器可以查找所述指纹信息的属主信息,并判断该指纹信息的属主是否与当前上传的指纹信息属主一致,当一致时可以认定该用户上传了一个重复的文件,并在文件信息列表中直接写入该待上传文件的信息,然后将该文件的路径指向已存在的相同文件的路径;但当属主信息不一致时,可以认定多个用户上传同样的文件片。
当多个用户上传相同的文件片时,在服务器端将该重复上传的文件片移至公共数据区,并修改文件信息列表将文件片的路径指向该公共数据区对应的文件片路径,同时对公共数据区中的文件片增加实例个数的参数,每当增加一个相同文件时,将该实例个数增加;而每当删除一个相同的文件是,将该实例个数减少,当实例个数为0时,需要在公共数据区将该文件删除。
若所述服务器端不存在所述文件数据,则执行所述步骤S30。
本实施例提出的数据传输方法,在待上传文件传输之前,计算所述文件的指纹信息,将所述指纹信息上传到服务器端进行查重,在所述服务器端存在所述指纹信息时,发送控制消息到客户端,终止所述文件的上传进程,避免重复上传相同的文件,节省了网络资源和存储资源,提高资源利用率。
进一步地,基于本发明数据传输方法的第一实施例,提出本发明数据传输方法的第三实施例,参照图5,在所述待传输数据为文件数据时,所述步骤S30还包括步骤:
步骤S33,判断所述文件数据所占的容量值是否大于预设阈值;
由于网络资源是有限的,如果文件过大,则需要花费非常多的时间来上传,并且还会长时间占用较大的带宽,这会影响客户端用户的网络体验。此外,由于上传时间过长,那么在上传过程中如果网络出现故障或者网络状况不佳,则可能难以完成文件上传,导致文件上传失败,需要重新重头开始上传。对于较大的文件可以进行分片上传,而有些小文件可以直接完整上传,不进行分片,所以在上传之前,可以判断待上传文件的大小是否大于预设阈值,预设阈值可以设置为20MB,对于文件大小大于预设阈值的待上传文件才进行分片上传。
若所述文件数据所占的容量值小于或等于预设阈值,则执行所述步骤S30;
步骤S34,若所述文件数据所占的容量值大于预设阈值,将所述文件数据分为多个文件片数据;
可以理解的是,用户在选择文件进行上传时,可能需要对所述文件进行分片,其中文件的分片方式可以采用现有的按照待上传文件的大小对文件进行分片,比如所述文件大小为T,按照文件分片大小P,将文件划分为N=T/P片。其中,分片大小通常和文件大小有关,例如分片后的文件可以是2MB,1MB,512KB,最小通常是32KB。当待上传文件非常大时,比如超过10GB,为了避免分片太多,通常总的分片数目就固定,分片大小就不固定,即按照分片数目对待上传文件进行分片。
步骤S35,采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述拆分得到的所述文件片数据。
进一步地,在将待传输的较大文件进行分片上传之前,可以对所述文件进行查重操作,即在本实施例中,在将所述文件分片之后,上传所述文件片数据之前,执行本发明数据传输方法的第二实施例中所述步骤S40-S60,在服务器端不存在所述文件数据时,执行所述步骤S35,传输所述拆分得到的文件片数据到服务器端。
在本实施例中,若所述文件被分为多个文件片,则每个独立的分片作为一个小文件计算文件内容的指纹信息,这样每个分片对应一组指纹信息,把这一组指纹信息作为所述文件的指纹信息。
可以理解的是,当待上传的所述文件上传完成一部分时,所述服务器端可以根据记录的未上传完毕的所述待上传文件的续传信息,继续上传所述待上传文件的文件分片。客户端的上传程序可以支持断点续传文件,即待上传文件上传完成一部分中断时,在客户端的上传程序重新启动上传之前,会向服务器端查询已经上传了多少内容,服务器端会记录未上传完毕的所述待上传文件的续传信息,然后,客户端的上传组件根据此续传信息,继续上传所述待上传文件的文件分片。
本实施例提出的数据传输方法,在进行文件上传时,根据计划上传文件的大小对其进行分片,将根据所述文件切分出的文件片上传,降低网络资源的占用,提高传输效率。
本发明进一步提供一种数据传输装置。
参照图6,图6为本发明数据传输装置第一实施例的功能模块示意图。
在本实施例中,所述数据传输装置包括:
获取模块10,用于获取待传输数据的数据类型以及根据所述数据类型获取所述待传输数据的传输协议;
在本实施例中,所述数据传输装置为网盘的客户端,网盘***进行数据传输时网盘客户端与网盘服务器端需要进行数据交互,网盘客户端与服务器端的交互数据可分为多种类型,在将数据进行传输之前,需要对待传输数据的数据类型进行判断确认,进而对不同的数据类型采用不同的更加适合的传输协议进行传输。
所述数据类型包括文件数据以及控制消息,参照图7,所述获取模块10包括:
获取单元11,用于获取所述待传输数据的属性;
在本实施例中,程序段通过获取待传输数据的属性名称,确定所述待传输数据的数据类型。
确定单元12,用于根据所述待传输数据的属性确定所述待传输数据的数据类型为文件数据或者控制消息。
在本实施例中,将网盘客户端与服务器端的交互数据分为两种类型,一种为文件数据,即网盘客户端与服务器端传输的文件数据本身,另一种为控制消息,除文件数据外的所有交互数据均为控制消息,包括用户权限信息,操作指令和文件数据的元数据。
传输模块20,用于采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据。
在本实施例中,触发文件传输操作时,客户端和服务器端运行的程序可将不同类型的待传输数据通过不同的传输协议传输,所述程序包括使用不同传输协议传输不同类型数据的多个程序段,如控制消息可通过使用HTTP超文本传输协议的数据传输程序段传输,文件数据可通过使用FTP文件传输协议的数据传输程序段传输。
可以理解的是,待传输数据可同时包括文件数据和控制消息,此时对于使用不同传输协议的两种类型的待传输数据,可以采用不用的传输接口同时进行传输。
参照图8,在待传输数据包括文件数据以及控制消息时,所述传输模块20包括:
拆分单元21,用于拆分所述待传输数据中的文件数据和控制消息;
可以理解的是,在进行数据传输时,不仅要传输文件数据,还要传输用户信息,文件数据的元数据等控制消息,此时所述待传输输数据同时包括控制消息和文件数据,对于同一类型的待传输数据,使用一致的传输协议进行传输,传输前要对所述待传输数据进行划分,方便传输同一类型的待传输数据。
传输单元22,用于采用所述文件数据对应的传输接口以及获取的所述传输协议传输拆分得到的所述文件数据,同时采用所述控制消息对应的传输接口以及获取的所述传输协议传输拆分得到的所述控制消息。
可以理解的是,使用不同传输协议的待传输数据可以同时进行传输,不同的传输协议占用的端口不同,不会对传输造成影响,产生冲突。
在本实施例中,网盘客户端或服务器端传输数据时,需要根据数据类型选择不同的数据传输程序段,在发送数据时,将所述数据按照选用的数据传输程序段使用的传输协议进行编码,在接收到所述数据时,再将所述数据按照所述传输协议进行解码操作,所以在进行数据传输前,将获取到的所述数据按照所述数据传输程序段使用的传输协议进行编码。
在本实施例中,不同的数据传输程序段可以分为控制消息传输程序段和文件数据传输程序段两种类型,通过所述控制消息传输程序段传输所述控制消息,通过所述文件数据传输程序段传输所述文件数据,所述控制消息传输程序段和所述文件数据传输程序段均可设置使用多个不同的传输协议,控制消息传输程序段可以使用不同的传输协议,文件数据传输程序段也可使用不同的传输协议。
例如,在本实施例中,可以将不同的数据传输程序段称为不同的传输接口,进行文件上传时,将数据交互的传输接口分为消息传输接口和数据传输接口。消息传输接口可使用HTTP协议进行控制信息的交互,数据传输接口可使用FTP协议进行文件数据的交互,或者还可设置第二数据传输接口,使用HTTP协议进行文件数据的交互。
本实施例提出的数据传输装置,在传输数据时,将待传输数据划分为文件数据和控制消息,可通过不同的传输协议传输所述文件数据和控制消息,针对不同的数据类型采用不同的合适的传输协议进行传输,可以有效地利用各种传输协议的优点,提高传输效率。
可以理解是,不同的用户可能上传相同的文件到云端,同一用户也可能上传相同的文件到云端,为避免重复上传相同的文件,进一步地,参照图9,基于第一实施例提出本发明数据传输装置第二实施例,所述数据传输装置还包括:
标识模块30,用于所述待传输数据为文件数据时,计算所述文件数据的指纹信息,将所述指纹信息传输到服务器端;
在本实施例中,触发文件上传操作时,对所述文件基于文件内容计算标识,针对不同的文件数据会产生不同的所述指纹信息,所述指纹信息可以通过内容摘要算法(MessageDigestAlgorithm5,MD5),安全散列算法(SecureHashAlgorithm1,SHA-1)等任一可靠的文件内容摘要算法进行计算得到。
接收模块40,用于接收所述服务器端基于所述指纹信息返回的查重结果信息;
在本实施例中,所述服务器端可以基于客户端发送的所述文件指纹信息建立索引或数据库,当接收到客户端上传的文件指纹信息时,在所述索引或数据库查找是否存在所述指纹信息,若存在所述指纹信息,即服务器已存在所述文件时,则向所述客户端发送所述文件已经上传完成的消息和所述文件在服务器端的存储路径信息,客户端不再上传所述文件,仅在客户端更新相关目录,并对应建立所述文件的存储路径。
在本实施例中,存储在服务器端的文件的所述指纹信息可以在客户端上传所述文件时获取,也可以在所述文件上传到服务器端后,在服务器端通过计算得到。
判断模块50,用于基于所述查重结果判断所述服务端是否已存在所述文件数据;
可以理解的是,在用户上传文件时,服务器可能已存储所述文件,此时,服务器可以查找所述指纹信息的属主信息,并判断该指纹信息的属主是否与当前上传的指纹信息属主一致,当一致时可以认定该用户上传了一个重复的文件,并在文件信息列表中直接写入该待上传文件的信息,然后将该文件的路径指向已存在的相同文件的路径;但当属主信息不一致时,可以认定多个用户上传同样的文件片。
当多个用户上传相同的文件片时,在服务器端将该重复上传的文件片移至公共数据区,并修改文件信息列表将文件片的路径指向该公共数据区对应的文件片路径,同时对公共数据区中的文件片增加实例个数的参数,每当增加一个相同文件时,将该实例个数增加;而每当删除一个相同的文件是,将该实例个数减少,当实例个数为0时,需要在公共数据区将该文件删除。。
所述传输模块20,还用于若所述服务器端不存在所述文件数据,则采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述文件数据。
本实施例提出的数据传输装置,在待上传文件传输之前,计算所述文件的指纹信息,将所述指纹信息上传到服务器端进行查重,在所述服务器端存在所述指纹信息时,发送控制消息到客户端,终止所述文件的上传进程,避免重复上传相同的文件,节省了网络资源和存储资源,提高资源利用率。
进一步地,参照图10,基于本发明第一实施例,提出本发明数据传输装置的第三实施例,在所述待传输数据为文件数据时,所述传输模块还包括:
判断单元23,用于判断所述文件数据所占的容量值是否大于预设阈值;
由于网络资源是有限的,如果文件过大,则需要花费非常多的时间来上传,并且还会长时间占用较大的带宽,这会影响客户端用户的网络体验。此外,由于上传时间过长,那么在上传过程中如果网络出现故障或者网络状况不佳,则可能难以完成文件上传,导致文件上传失败,需要重新重头开始上传。对于较大的文件可以进行分片上传,而有些小文件可以直接完整上传,不进行分片,所以在上传之前,可以判断待上传文件的大小是否大于预设阈值,预设阈值可以设置为20MB,对于文件大小大于预设阈值的待上传文件才进行分片上传。
分片单元24,用于若所述文件数据所占的容量值大于预设阈值,将所述文件数据分为多个文件片数据;
可以理解的是,用户在选择文件进行上传时,可能需要对所述文件进行分片,其中文件的分片方式可以采用现有的按照待上传文件的大小对文件进行分片,比如所述文件大小为T,按照文件分片大小P,将文件划分为N=T/P片。其中,分片大小通常和文件大小有关,例如分片后的文件可以是2MB,1MB,512KB,最小通常是32KB。当待上传文件非常大时,比如超过10GB,为了避免分片太多,通常总的分片数目就固定,分片大小就不固定,即按照分片数目对待上传文件进行分片。
所述传输单元22,还用于采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述拆分得到的所述文件片数据。
进一步地,在将待传输的较大文件进行分片上传之前,可以对所述文件进行查重操作,即在本实施例中,所述数据传输装置还可包括第二实施例中所述标识模块30、接收模块40和判断模块50,所述传输单元22还用于服务器端不存在所述文件数据时,采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述拆分得到的所述文件片数据。
在本实施例中,若所述文件被分为多个文件片,则每个独立的分片作为一个小文件计算文件内容的指纹信息,这样每个分片对应一组指纹信息,将这一组指纹信息作为所述文件的指纹信息。
可以理解的是,当待上传的所述文件上传完成一部分时,所述服务器端可以根据记录的未上传完毕的所述待上传文件的续传信息,继续上传所述待上传文件的文件分片。客户端的上传程序可以支持断点续传文件,即待上传文件上传完成一部分中断时,在客户端的上传程序重新启动上传之前,会向服务器端查询已经上传了多少内容,服务器端会记录未上传完毕的所述待上传文件的续传信息,然后,客户端的上传组件根据此续传信息,继续上传所述待上传文件的文件分片。
本实施例提出的数据传输装置,在进行文件上传时,根据计划上传文件的大小对其进行分片,将根据所述文件切分出的文件片上传,降低网络资源的占用,提高传输效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,云端服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据传输方法,其特征在于,所述数据传输方法包括:
获取待传输数据的数据类型;
根据所述数据类型获取所述待传输数据的传输协议;
采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据。
2.如权利要求1所述的数据传输方法,其特征在于,所述数据类型包括文件数据以及控制消息,所述获取待传输数据的数据类型的步骤包括:
获取所述待传输数据的属性;
根据所述待传输数据的属性确定所述待传输数据的数据类型为文件数据或者控制消息。
3.如权利要求2所述的数据传输方法,其特征在于,所述采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据的步骤包括:
在所述待传输数据包括文件数据和控制消息时,拆分所述待传输数据中的文件数据和控制消息;
采用所述文件数据对应的传输接口以及获取的所述传输协议传输拆分得到的所述文件数据,同时采用所述控制消息对应的传输接口以及获取的所述传输协议传输拆分得到的所述控制消息。
4.如权利要求2所述的数据传输方法,其特征在于,在所述待传输数据为文件数据时,所述采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据的步骤之前,所述数据传输方法还包括:
计算所述文件数据的指纹信息,并将所述指纹信息传输到服务器端;
接收所述服务器端基于所述指纹信息返回的查重结果信息;
基于所述查重结果判断所述服务端是否已存在所述文件数据;
若所述服务器端不存在所述文件数据,则执行所述采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据的步骤。
5.如权利要求2所述的数据传输方法,其特征在于,在所述待传输数据为文件数据时,所述采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据的步骤包括:
判断所述文件数据所占的容量值是否大于预设阈值;
若所述文件数据所占的容量值大于预设阈值,将所述文件数据分为多个文件片数据;
采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述拆分得到的所述文件片数据。
6.一种数据传输装置,其特征在于,所述数据传输装置包括:
获取模块,用于获取待传输数据的数据类型以及根据所述数据类型获取所述待传输数据的传输协议;
传输模块,用于采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述待传输数据。
7.如权利要求6所述的数据传输装置,其特征在于,所述数据类型包括文件数据以及控制消息,所述获取模块包括:
获取单元,用于获取所述待传输数据的属性;
确定单元,用于根据所述待传输数据的属性确定所述待传输数据的数据类型为文件数据或者控制消息。
8.如权利要求7所述的数据传输装置,其特征在于,在所述待传输数据包括文件数据和控制消息时,所述传输模块包括:
拆分单元,用于拆分所述待传输数据中的文件数据和控制消息;
传输单元,用于采用所述文件数据对应的传输接口以及获取的所述传输协议传输拆分得到的所述文件数据,同时采用所述控制消息对应的传输接口以及获取的所述传输协议传输拆分得到的所述控制消息。
9.如权利要求7所述的数据传输装置,其特征在于,所述数据传输装置还包括:
标识模块,用于所述待传输数据为文件数据时,计算所述文件数据的指纹信息,将所述指纹信息传输到服务器端;
接收模块,用于接收所述服务器端基于所述指纹信息返回的查重结果信息;
判断模块,用于基于所述查重结果判断所述服务端是否已存在所述文件数据;
所述传输模块,还用于若所述服务器端不存在所述文件数据,则采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述文件数据。
10.如权利要求7所述的数据传输装置,其特征在于,在所述待传输数据为文件数据时,所述传输模块还包括:
判断单元,用于判断所述文件数据所占的容量值是否大于预设阈值;
分片单元,用于若所述文件数据所占的容量值大于预设阈值,将所述文件数据分为多个文件片数据;
所述传输单元,还用于采用获取的所述传输协议对应的传输接口以及获取的所述传输协议传输所述拆分得到的所述文件片数据。
CN201610437902.0A 2016-06-17 2016-06-17 数据传输方法和装置 Pending CN107517239A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610437902.0A CN107517239A (zh) 2016-06-17 2016-06-17 数据传输方法和装置
PCT/CN2017/088563 WO2017215646A1 (zh) 2016-06-17 2017-06-16 数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610437902.0A CN107517239A (zh) 2016-06-17 2016-06-17 数据传输方法和装置

Publications (1)

Publication Number Publication Date
CN107517239A true CN107517239A (zh) 2017-12-26

Family

ID=60663007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610437902.0A Pending CN107517239A (zh) 2016-06-17 2016-06-17 数据传输方法和装置

Country Status (2)

Country Link
CN (1) CN107517239A (zh)
WO (1) WO2017215646A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450989A (zh) * 2018-10-19 2019-03-08 武汉斗鱼网络科技有限公司 一种数据传输的方法、装置、设备及介质
CN110392063A (zh) * 2019-08-27 2019-10-29 深圳市威屏科技有限公司 电子白板数据同步方法、装置、设备及介质
CN110880992A (zh) * 2019-11-29 2020-03-13 中盈优创资讯科技有限公司 网络遥测telemetry协议数据的采集方法及装置
CN112689022A (zh) * 2020-12-31 2021-04-20 上海宏力达信息技术股份有限公司 一种数据自动续传方法
CN112953983A (zh) * 2019-12-10 2021-06-11 中盈优创资讯科技有限公司 Sftp传输方法及装置
CN113987570A (zh) * 2021-10-20 2022-01-28 国网江苏省电力有限公司镇江供电分公司 一种网盘***
CN114759965A (zh) * 2020-12-29 2022-07-15 中国科学院空天信息创新研究院 数据包传输方法、装置、存储介质
CN115134349A (zh) * 2022-06-06 2022-09-30 蚂蚁区块链科技(上海)有限公司 一种执行传输任务的方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095493A (zh) * 2021-11-17 2022-02-25 兰州乐智教育科技有限责任公司 一种基于断点重传的文件上传方法和***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026464A (zh) * 2006-02-25 2007-08-29 宇龙计算机通信科技(深圳)有限公司 无线终端的无线升级方法和无线升级***
US20100121744A1 (en) * 2008-11-07 2010-05-13 At&T Intellectual Property I, L.P. Usage data monitoring and communication between multiple devices
CN101895514A (zh) * 2009-05-20 2010-11-24 灰熊(北京)科技有限公司 一种可分散服务器压力的客户端数据信息加载方法
CN102131111A (zh) * 2011-01-25 2011-07-20 天津大学 一种立体视频传输***
CN104683419B (zh) * 2013-12-03 2019-08-27 航天信息股份有限公司 一种基于android***和m2m的通信方法和***

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450989A (zh) * 2018-10-19 2019-03-08 武汉斗鱼网络科技有限公司 一种数据传输的方法、装置、设备及介质
CN109450989B (zh) * 2018-10-19 2021-09-07 武汉斗鱼网络科技有限公司 一种数据传输的方法、装置、设备及介质
CN110392063A (zh) * 2019-08-27 2019-10-29 深圳市威屏科技有限公司 电子白板数据同步方法、装置、设备及介质
CN110392063B (zh) * 2019-08-27 2022-04-01 深圳市威屏科技有限公司 电子白板数据同步方法、装置、设备及介质
CN110880992A (zh) * 2019-11-29 2020-03-13 中盈优创资讯科技有限公司 网络遥测telemetry协议数据的采集方法及装置
CN112953983A (zh) * 2019-12-10 2021-06-11 中盈优创资讯科技有限公司 Sftp传输方法及装置
CN114759965A (zh) * 2020-12-29 2022-07-15 中国科学院空天信息创新研究院 数据包传输方法、装置、存储介质
CN112689022A (zh) * 2020-12-31 2021-04-20 上海宏力达信息技术股份有限公司 一种数据自动续传方法
CN113987570A (zh) * 2021-10-20 2022-01-28 国网江苏省电力有限公司镇江供电分公司 一种网盘***
CN115134349A (zh) * 2022-06-06 2022-09-30 蚂蚁区块链科技(上海)有限公司 一种执行传输任务的方法及装置
CN115134349B (zh) * 2022-06-06 2024-02-23 蚂蚁区块链科技(上海)有限公司 一种执行传输任务的方法、装置、介质及设备

Also Published As

Publication number Publication date
WO2017215646A1 (zh) 2017-12-21

Similar Documents

Publication Publication Date Title
CN107517239A (zh) 数据传输方法和装置
CN107483627A (zh) 一种文件分发、下载方法、分发服务器、客户端及***
CN104410692B (zh) 一种用于重复文件上传的方法和***
US20140365451A1 (en) Method and system for cleaning up files on a device
CN110401725A (zh) 文件上传方法、装置、终端、服务器、***及存储介质
EP2773080A1 (en) Sharing control system and method for network resources download information
CN103457973A (zh) 一种图片上传方法、***、图片上传客户端及网络服务器
CN103414759B (zh) 网盘文件传输方法和装置
CN108052675A (zh) 日志管理方法、***及计算机可读存储介质
CN109040252A (zh) 文件传输方法、***、计算机设备和存储介质
US20170134495A1 (en) Method and apparatus for sharing collaboratively edited document
CN103905495B (zh) 一种应用的同步方法及后台服务器
CN102708192B (zh) 一种文档共享的方法及***、设备
CN106302445A (zh) 用于处理请求的方法和装置
CN108710681A (zh) 文件获取方法、装置、设备及存储介质
CN103780652A (zh) 一种微博资源分享的方法及***
CN103731499B (zh) 终端和文件传输方法
CN103227818A (zh) 终端、服务器、文件传输方法、文件存储管理***和方法
US9178860B2 (en) Out-of-path, content-addressed writes with untrusted clients
CN102014145A (zh) 文件传输安全管控***及方法
WO2022151815A1 (zh) 一种终端设备的安全状态判断方法及装置
CN104038533A (zh) 在通信终端、服务器中用于创建用户群组的设备和方法
CN107707679A (zh) 文件上传方法及装置
CN106878452A (zh) 一种文件上传方法、装置和***
CN105184559B (zh) 一种支付***及方法

Legal Events

Date Code Title Description
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171226