一种分布式分块文件传输方法及系统技术方案

技术编号:20875597 阅读:16 留言:0更新日期:2019-04-17 11:24
本发明专利技术公开了一种分布式分块文件传输方法及系统,本方法为:1)客户端以NETPACK2格式的报文向分布式网络上的主机发起传输请求;其中,报文的字段包括:命令字字段、资源文件个数字段和多个资源ID;2)网络上的主机根据报文中的资源ID对资源文件进行分块;并按照NETPACK1报文协议的格式,将每一分块数据生成一网络报文发送给该客户端;其中,报文协议的字段包括:命令字字段、资源ID字段、文件碎片号字段、结束ID字段、块数据长度字段和块数据字段;3)客户端每一线程根据网络报文中的资源ID找到要存放文件的路径;然后根据网络报文中的文件碎片号找到块数据在该文件的偏移,将该块数据存储到该文件对应的位置。

【技术实现步骤摘要】
一种分布式分块文件传输方法及系统
本专利技术涉及一种分布式文件传输方法及系统,属于计算机软件

技术介绍
HTTP/HTTPS协议是互联网广泛使用的一种协议,其通常用于浏览器浏览网页同时也能用于文件传输,但不支持分布式文件传输。FTP协议是一种简单文件传输协议,通常用于文件传输,但同样不支持分布式文件传输。BT协议通常也称为P2P协议,是一种分布式文件传输协议,支持分布式文件传输,同时也支持断点续传,文件使用分块传输,而且会对接收到的文件块进行SHA-1校验,因此在这里会造成CPU性能损耗。这里BT协议假设网络拓展中的主机都是不可信的,因此才需要对文件块进行校验。但如果在可信网络中,比如公司内部局域网中,有限的主机共享带宽,当在一个可信网络中进行分布式发送数据是,对文件块进行SHA-1校验将变得不是必要。但此时使用BT协议进行分布式网络传输,其缺点如下:1.使用SHA-1校验数据块造成CPU性能损耗;2.校验的引入带来了协议的复杂性,以及BT协议本省的复杂性。3.去掉SHA-1校验数据块后,不再具有数据完整性的校验!而如果在可信网络中,如果去掉BT协议的的SHA-1校验,则不再有对数据的完整性校验,从而无法知道,文件是否正确传输,因此针对以上BT在可信网络中的缺点,本专利技术在基于可信网络,新专利技术了一种分布式分块文件传输方法有效的解决了以上问题。
技术实现思路
针对现有技术中存在的技术问题,本专利技术的目的在于提供一种分布式分块文件传输方法及系统。本专利技术的技术方案为:一种分布式分块文件传输方法,其步骤包括:1)客户端A以NETPACK2格式的报文向分布式网络上的主机发起传输请求;其中,NETPACK2格式报文的字段包括:命令字字段、资源文件个数字段和多个资源ID;2)网络上的主机B根据接收到的报文中的资源ID对要进行传输的资源文件进行分块;并按照NETPACK1报文协议的格式,将每一分块数据生成一网络报文发送给该客户端A;其中,NETPACK1报文协议的字段包括:命令字字段、资源ID字段、文件碎片号字段、结束ID字段、块数据长度字段和块数据字段;3)客户端A配置多个线程用于并行处理收到的网络报文,每一线程根据收到的网络报文中的资源ID在ADSRLIST文件中找到要存放的文件的文件路径;然后该线程根据网络报文中的文件碎片号找到该网络报文中的块数据在该文件的偏移;然后该线程根据该偏移将该块数据存储到该文件对应的位置;其中,ADSRLIST文件中预存放了资源ID和文件的对应关系。进一步的,客户端A根据ADSRLIST文件中存放的资源文件MD5校验值对传输完成的文件进行校验。进一步的,所述ADSRLIST文件的文件头包括一分区个数字段;所述ADSRLIST文件包括若干条记录了分区信息的分区记录和若干条文件记录。进一步的,每一所述分区记录中的信息包括:设备名称、文件系统类型、挂载点、起始块和结束块;每一所述文件记录中的信息包括:文件路径、文件访问权限、文件扩展属性、文件校验值、分布式服务器地址、文件类型和资源号。一种分布式分块文件传输系统,其特征在于,包括一客户端和若干网络主机;客户端与所述网络主机通过网络连接;其中,所述客户端以NETPACK2格式的报文向分布式网络上的网络主机发起传输请求;其中,NETPACK2格式报文的字段包括:命令字字段、资源文件个数字段和多个资源ID;各所述网络主机根据接收到的报文中的资源ID对要进行传输的资源文件进行分块;并按照NETPACK1报文协议的格式,将每一分块数据生成一网络报文发送给该客户端;其中,NETPACK1报文协议的字段包括:命令字字段、资源ID字段、文件碎片号字段、结束ID字段、块数据长度字段和块数据字段;其中,所述客户端中配置多个线程用于并行处理收到的网络报文,每一线程根据收到的网络报文中的资源ID在ADSRLIST文件中找到要存放的文件的文件路径;然后该线程根据网络报文中的文件碎片号找到该网络报文中的块数据在该文件的偏移;然后该线程根据该偏移将该块数据存储到该文件对应的位置;ADSRLIST文件中预存放了资源ID和文件的对应关系。与当前已有相关技术相比,本专利技术的积极效果为:(1)简单性本方案专利技术了简单的分布式传输协议,没有BT协议的校验过程,对维护人员技术背景要求简单,只要会重启计算机就能够完成自动分布式系统重建。(2)高性能相对于BT协议,协议的简单性和无数据块校验,整体提升了网络性能和降低了CPU处理损耗。(3)无特殊网络设备需求本方案完全基于软件实现,只要求能够进行正常的网络传输,不要网络的拓扑结构和硬件等。(4)没有国外专利困扰分布式文件重建算法是申请人根据用户需求自主提出、论证、制定并已经初步开发完毕的适用于分布式文件传输和重建的算法。(5)对可信网络的分布式文件重建的简化和创新。附图说明图1为分布式并行分块文件传输方法示意图。具体实施方式为了使本
的人员更好地理解本专利技术实施例中的技术方案,并使本专利技术的目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术中技术核心作进一步详细的说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。1、分布式文件传输算法在可信网络的分布式主机上存放的文件都是通过RESID(资源ID进行编号的)。同时分布式分块文件传输客户端,将文件按照PIECEID进行分块,以记录重建顺序。当分布式分块传输客户端收到以下报文(NETPACK2)格式的请求后开始对文件进行分割:数据域GETCOUNTRESID1RESID2RESID3RESIDn长度4字节8字节8字节8字节8字节....含义命令字资源文件个数资源ID1资源ID2资源ID3在分布式分块传输客户端收到NETPACK2报文后,开始解析报文,根据报文中的资源ID将对应的资源文件(系统文件),进行分割,并按照NETPACK1报文协议的方式发送到网络。而NETPACK1报文格式如下:数据域SETRESIDPIECEIDTAILIDLENGTHBLOCKDATA长度4字节8字节8字节8字节8字节变长含义命令字资源ID文件碎片号结束ID块数据长度块数据●SET:值固定为0x10,表示发送文件数据的自动分布式系统重建服务器。●RESID:资源号(RESID)和文件对应,RESID就是在服务器中存放时使用的文件名。●PIECEID:在发送文件的时候,将文件进行分隔发送,这样自动分布式系统重建服务器(ADSRS)可以多线程多文件同步的接受数据和组装存储文件。●TAILID:文件结束ID,当文件碎片号和结束ID相同的时候表示文件的结束,此时ADSRS完成最后的文件组装。●LENGTH:块数据长度,表示BLOCKDATA的长度。●BLOCKDATA:文件的块数据。分布式分块文件传输算法如图1所示,其步骤包括:1.在开始传输时,客户端A以NETPACK2的报文向分布式网络上的主机发起传输请求。网络上的主机B在接收到NETPACK2报文后,根据报文中的资源ID对要进行传输的资源文件进行分块。并按照NETPACK1报文协议的格式,开始进行传输。2.线程1处理一个网络报文,根据其RESID找到要存放的文件。通过RESID在ADSRLIST文件中找到文件的路径。(ADSR本文档来自技高网
...

【技术保护点】
1.一种分布式分块文件传输方法,其步骤包括:1)客户端A以NETPACK2格式的报文向分布式网络上的主机发起传输请求;其中,NETPACK2格式报文的字段包括:命令字字段、资源文件个数字段和多个资源ID;2)网络上的主机B根据接收到的报文中的资源ID对要进行传输的资源文件进行分块;并按照NETPACK1报文协议的格式,将每一分块数据生成一网络报文发送给该客户端A;其中,NETPACK1报文协议的字段包括:命令字字段、资源ID字段、文件碎片号字段、结束ID字段、块数据长度字段和块数据字段;3)客户端A配置多个线程用于并行处理收到的网络报文,每一线程根据收到的网络报文中的资源ID在ADSRLIST文件中找到要存放的文件的文件路径;然后该线程根据网络报文中的文件碎片号找到该网络报文中的块数据在该文件的偏移;然后该线程根据该偏移将该块数据存储到该文件对应的位置;其中,ADSRLIST文件中预存放了资源ID和文件的对应关系。

【技术特征摘要】
1.一种分布式分块文件传输方法,其步骤包括:1)客户端A以NETPACK2格式的报文向分布式网络上的主机发起传输请求;其中,NETPACK2格式报文的字段包括:命令字字段、资源文件个数字段和多个资源ID;2)网络上的主机B根据接收到的报文中的资源ID对要进行传输的资源文件进行分块;并按照NETPACK1报文协议的格式,将每一分块数据生成一网络报文发送给该客户端A;其中,NETPACK1报文协议的字段包括:命令字字段、资源ID字段、文件碎片号字段、结束ID字段、块数据长度字段和块数据字段;3)客户端A配置多个线程用于并行处理收到的网络报文,每一线程根据收到的网络报文中的资源ID在ADSRLIST文件中找到要存放的文件的文件路径;然后该线程根据网络报文中的文件碎片号找到该网络报文中的块数据在该文件的偏移;然后该线程根据该偏移将该块数据存储到该文件对应的位置;其中,ADSRLIST文件中预存放了资源ID和文件的对应关系。2.如权利要求1所述的方法,其特征在于,客户端A根据ADSRLIST文件中存放的资源文件MD5校验值对传输完成的文件进行校验。3.如权利要求1所述的方法,其特征在于,所述ADSRLIST文件的文件头包括一分区个数字段;所述ADSRLIST文件包括若干条记录了分区信息的分区记录和若干条文件记录。4.如权利要求3所述的方法,其特征在于,每一所述分区记录中的信息包括:设备名称、文件系统类型、挂载点、起始块和结束块;每一所述文件记录中的信息包括:文件路径、文件访问权限、文件扩展属性、文件校验值、分布式服务器地址、文件类型和资源号。5.一种分布...

【专利技术属性】
技术研发人员:段武杰彭志航
申请(专利权)人:北京凝思科技有限公司
类型:发明
国别省市:北京,11

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

1