CN112398871B - 一种海量文件传输方法及系统 - Google Patents

一种海量文件传输方法及系统 Download PDF

Info

Publication number
CN112398871B
CN112398871B CN202011381937.XA CN202011381937A CN112398871B CN 112398871 B CN112398871 B CN 112398871B CN 202011381937 A CN202011381937 A CN 202011381937A CN 112398871 B CN112398871 B CN 112398871B
Authority
CN
China
Prior art keywords
transmission
node
file
directory
files
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
CN202011381937.XA
Other languages
English (en)
Other versions
CN112398871A (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.)
Xiamen Meiya Pico Information Co Ltd
Original Assignee
Xiamen Meiya Pico Information 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 Xiamen Meiya Pico Information Co Ltd filed Critical Xiamen Meiya Pico Information Co Ltd
Priority to CN202011381937.XA priority Critical patent/CN112398871B/zh
Publication of CN112398871A publication Critical patent/CN112398871A/zh
Application granted granted Critical
Publication of CN112398871B publication Critical patent/CN112398871B/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/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Abstract

本发明涉及一种海量文件传输方法及系统,该系统包括:传输中心管理模块,部署在传输中心服务器上,用于管理并展示各个节点的机器信息以及管理传输规则;文件管理模块,部署在各节点上,用于创建和监测文件临时缓存目录;传输管理模块,部署在各节点上,在节点首次安装时创建唯一主机名并上报传输中心管理模块登记,用于定时上报心跳包到传输中心服务器,定时向传输中心服务器请求传输规则下发并保存本地,以及定时向传输中心服务器请求所有主机列表下发并保存本地;文件传输模块,部署在各节点上,用于完成文件传输任务。本发明通过智能化创建管理临时缓存目录,解决海量文件的压缩受文件枚举制约问题,能够适应大数据TB级的文件传输。

Description

一种海量文件传输方法及系统
技术领域
本发明涉及文件传输技术领域,具体地涉及一种海量文件传输方法及系统。
背景技术
随着云计算、大数据、物联网的快速发展,企业获取数据量呈指数级急剧增长,海量文件随之产生。海量文件是企业业务基石,也是从中挖掘商业价值的宝库。特别是大数据行业的业务特点,数据生产者会实时产生一些或大或小数据文件并且通常同时储存在同一个目录,由于操作系统的文件存储到磁盘空间是不连续的,导致操作系统在文件夹枚举海量文件时的时间开销是很大的。
一直以来海量文件上传下载没有专用的工具,传统FTP已无法满足要求。FTP在对传输每一个文件时其传输管理开销是固定的,这就会导致其在传输海量文件时,文件管理需求大大增加。FTP使用TCP协议,是可靠的传输协议,这给数据完整提供保证,但也带来传输效率低的问题。为了保证数据传输性能低下,即使使用多线程并发,也会受限于FTP可靠传输协议导致传输效率低。大数据、云计算、物联网等行业。文件生产者生产的文件数量是十分巨大的。在这种情况下,FTP等传输工具根本无法传输,文件传输共享十分困难。
为了解决海量文件传输问题,企业传输作法是采用压缩后多线程传输再解压的过程,这样一来受限于大文件压缩效率,会使传输效率不高。有些企业针对海量小文件采用文件拼接传输方式,但传输的网络环境复杂多变,这种方式也会受到制约。如在网络带宽不理想或者网络中断的情况下,也会因传输不及时导致文件堆积,这仍会造成在传输环节的文件枚举产生延时。
发明内容
本发明旨在提供一种海量文件传输方法及系统,以解决上述问题。为此,本发明采用的具体技术方案如下:
根据本发明的一方面,提供了一种海量文件传输方法,其包括以下步骤:
通过传输中心服务器管理并展示各个节点的机器信息以及管理传输规则,其中,机器信息包括主机名、IP和端口,传输规则包括规则ID、发送端传输路径与端口、接收端传输路径与端口以及传输方向;
文件管理,创建和监测文件临时缓存目录,发送时先将发送目录中的文件压缩至临时缓存目录,接收时将临时缓存目录中的文件解压至接收目录;
传输管理,定时上报心跳包到传输中心服务器,定时向传输中心服务器请求传输规则下发并保存本地,以及定时向传输中心服务器请求所有主机列表下发并保存本地;
文件传输,各个节点根据传输规则与对端节点使用udp协议建立传输通道,传输线程数由传输规则数决定,每条传输规则建立一个传输线程,将本端节点的临时缓存目录中的文件发送至对端节点的临时缓存目录,以及从对端节点的临时缓存目录接收文件至本端节点的缓冲目录。
进一步地,管理并展示各个节点的机器信息具体包括:接收来自节点的传输管理模块上报心跳包,心跳包包含所述机器信息,如果没有在列表里面的则添加相应机器信息展示,定时下发主机信息列表到各个节点;管理传输规则包括制定传输规则并根据节点请求下发传输规则至该节点。
进一步地,创建和监测文件临时缓存目录具体地为:临时缓存目录按内部命名规则命名,指定每个临时缓存目录存储的文件数量的最大值,当文件达到最大数量时,再创建一个临时缓存目录存储;监测缓存目录修改时间,如果最新修改时间超过设定值且没有文件,则视为无用的目录,将其删除。
进一步地,文件使用lzma2压缩算法进行压缩和解压。
进一步地,文件传输分为主动请求和被动服务两种方式,主动请求是向对端节点请求文件传输,传输方向为发送和下载,被动服务是根据对端节点的请求进行文件传输,传输方向为接收和下发。
根据本发明的另一方面,提供了一种海量文件传输系统,其包括:
传输中心管理模块,其部署在传输中心服务器上,通过传输中心服务器管理并展示各个节点的机器信息以及管理传输规则,其中,机器信息包括主机名、IP和端口,传输规则包括规则ID、发送端传输路径与端口、接收端传输路径与端口以及传输方向;
文件管理模块,其部署在各节点上,用于创建和监测文件临时缓存目录,发送时先将发送目录中的文件压缩至临时缓存目录,接收时将临时缓存目录中的文件解压至接收目录;
传输管理模块,其部署在各节点上,在节点首次安装时创建唯一主机名并上报传输中心管理模块登记,用于定时上报心跳包到传输中心服务器,定时向传输中心服务器请求传输规则下发并保存本地,以及定时向传输中心服务器请求所有主机列表下发并保存本地;
文件传输模块,其部署在各节点上,用于完成文件传输任务,具体地,各个节点根据传输规则与对端节点使用udp协议建立传输通道,传输线程数由传输规则数决定,每条传输规则建立一个传输线程,将本端节点的临时缓存目录中的文件发送至对端节点的临时缓存目录,以及从对端节点的临时缓存目录接收文件至本端节点的缓冲目录。
进一步地,管理并展示各个节点的机器信息具体包括:接收来自节点的传输管理模块上报心跳包,心跳包包含所述机器信息,如果没有在列表里面的则添加相应机器信息展示,定时下发主机信息列表到各个节点;管理传输规则包括制定传输规则并根据节点请求下发传输规则至该节点。
进一步地,创建和监测文件临时缓存目录具体地为:临时缓存目录按内部命名规则命名,指定每个临时缓存目录存储的文件数量的最大值,当文件达到最大数量时,再创建一个临时缓存目录存储;监测缓存目录修改时间,如果最新修改时间超过设定值且没有文件,则视为无用的目录,将其删除。
进一步地,文件使用lzma2压缩算法进行压缩和解压。
进一步地,文件传输分为主动请求和被动服务两种方式,主动请求是向对端节点请求文件传输,传输方向为发送和下载,被动服务是根据对端节点的请求进行文件传输,传输方向为接收和下发。
本发明采用上述技术方案,具有的有益效果是:本发明通过智能化创建管理临时缓存目录,解决海量文件的压缩受文件枚举制约问题,中心式化管理各节点传输路径与方向,能够适应大数据TB级的文件传输,保证枚举文件的效率;能够适应复杂多变的网络环境,具备断点续传的功能,能用于一对多,多对一,多对多的网络传输需求。
附图说明
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
图1是本发明的海量文件传输系统的架构示意图;
图2是本发明的海量文件传输系统的主要文件传输流程的示意图。
具体实施方式
现结合附图和具体实施方式对本发明进一步说明。
图1示出了本发明的海量文件传输系统。该海量文件传输系统分为以下几个模块:传输中心管理模块、文件管理模块、传输管理模块和传输执行模块。下面分别对这几个模块的工作原理进行说明。
1.传输中心管理模块:此模块是服务程序,部署在固定机器(传输中心服务器),是传输的协调中枢程序。其工作内容包含如下:
a.机器信息管理:传输中心管理平台管理并展示各个节点服务器信息,其中,机器信息包含主机名,传输使用的IP,传输节点机器使用的端口等。机器信息管理模块接收来自节点的传输管理模块上报心跳包,该心跳包包含上述机器信息。模块发现如果该机器信息没有在列表里面,则添加相应机器信息展示。定时下发主机信息列表到各个节点。
b.传输规则管理:传输规则管理包含节点间的传输规则信息,规则ID、发送端传输路径与端口,接收端传输路径与端口,传输方向指明是主动的发送模式还是被动下发模式。节点的传输管理模块向此模块请求规则并保存节点本地。
2.文件管理模块:将传输的发送目录的文件(通常是生产者产生的文件)转移到指定临时缓存目录。临时缓存目录(文件夹)按内部命名规则命名,指定每个文件夹约束文件数量最大值。当文件夹中的文件达到最大数量时,再创建一个临时缓存目录存储。文件管理模块监测缓存目录修改时间。如果最新修改时间超过设定值且没有文件,则视为无用的目录,文件管理模块将其删除。文件管理模块使用lzma2压缩算法将临时缓存文件压缩到临时发送目录。临时发送目录以与临时缓存目录同样的机制进行约束,防止因为传输不及时导致文件堆积,导致文件枚举效率低问题。
3.传输管理模块
传输管理模块在首次安装时创建唯一主机名并上报传输中心管理模块登记。定时上报心跳包到中心管理模块,心跳包包含主机名,IP,传输服务使用的端口等信息。
定时向中心管理模块请求传输下发,保证当此节点传输规则有增加、删除、修改等事件时,能及时下发到节点,更新传输规则。传输规则包含规则ID、传输方向(send或recv)、发送目录、接收目录、发送端的主机名、接收端的主机名。
定时向中心管理模块请求所有主机列表保存本地。主机列表每个主机信息包含如下内容:节点主机名、节点主机ID、节点主机IP、节点传输执行模块的被动服务模块使用的端口等。
4.传输执行模块
传输执行模块,主要完成文件传输任务。节点传输执行模块,通过传输规则的主机名查询主机列表获取要建立连接的IP与端口信息,使用udp协议建立传输通道。其包含两个子模块,其传输流程如图2所示:
a.被动服务模块:负责跟对端节点的客户端传输通讯,接收来自客户端上传的数据,或者下发数据到客户端。使用场景适应各种用户的实际环境。之所以是被动,是因为服务模块不主动发起通讯请求,由客户端模块发起。本模块绑定端口为传输中心端指定,并下发到传输管理模块记录到本地文件,本模块通过读取该文件获得端口绑定。客户端通过传输规则的对端主机名,结合主机信息列表,查询获取对端IP与端口,并由此使用UDP协议建立传输通道。被动服务模块传输线程数由传输规则数决定,每条传输规则建立一个传输线程。根据传输规则的传输方向信息,可以下发、接收两种模式运行,参见图2中的服务端下发流程和服务端接收流程。
b.主动请求模块:负责跟对端节点的被动服务模块传输通讯。向对端的被动服务模块发送文件数据,或者获取来自对端被动服务模块的数据。模块绑定通过操作系统的API接口来获取本地可用端口。通过传输规则的对端主机名,结合主机信息列表查询获取对端IP与端口,并由此使用UDP协议建立传输通道。传输线程数同样由传输规则数决定,每条传输规则建立一个传输线程。根据传输规则的传输方向信息,可以发送、下载两种模式运行,参见图2中的客户端发送流程和客户端下载流程。
本发明是通过智能化创建管理临时缓存目录,解决海量文件的压缩受文件枚举制约问题。中心式化管理各节点传输路径与方向,能够适应大数据TB级的文件传输,保证枚举文件的效率;能够适应复杂多变的网络环境,具备断点续传的功能;能用于一对多,多对一,多对多的网络传输需求。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

Claims (8)

1.一种海量文件传输方法,其特征在于,包括以下步骤:
通过传输中心服务器管理并展示各个节点的机器信息以及管理传输规则,其中,机器信息包括主机名、IP和端口,传输规则包括规则ID、发送端传输路径与端口、接收端传输路径与端口以及传输方向;
文件管理,创建和监测文件临时缓存目录,发送时先将发送目录中的文件压缩至临时缓存目录,接收时将临时缓存目录中的文件解压至接收目录;其中,创建和监测文件临时缓存目录具体地为:临时缓存目录按内部命名规则命名,指定每个临时缓存目录存储的文件数量的最大值,当文件达到最大数量时,再创建一个临时缓存目录存储;监测缓存目录修改时间,如果最新修改时间超过设定值且没有文件,则视为无用的目录,将其删除;
传输管理,定时上报心跳包到传输中心服务器,所述心跳包包含所述机器信息,定时向传输中心服务器请求传输规则下发并保存本地,以及定时向传输中心服务器请求所有主机列表下发并保存本地;
文件传输,各个节点根据传输规则与对端节点使用udp协议建立传输通道,传输线程数由传输规则数决定,每条传输规则建立一个传输线程,将本端节点的临时缓存目录中的文件发送至对端节点的临时缓存目录,以及从对端节点的临时缓存目录接收文件至本端节点的缓冲目录。
2.如权利要求1所述的海量文件传输方法,其特征在于,管理并展示各个节点的机器信息具体包括:接收来自节点的传输管理模块上报心跳包,心跳包包含所述机器信息,如果没有在列表里面的则添加相应机器信息展示,定时下发主机信息列表到各个节点;管理传输规则包括制定传输规则并根据节点请求下发传输规则至该节点。
3.如权利要求1所述的海量文件传输方法,其特征在于,文件使用lzma2压缩算法进行压缩和解压。
4.如权利要求1所述的海量文件传输方法,其特征在于,文件传输分为主动请求和被动服务两种方式,主动请求是向对端节点请求文件传输,传输方向为发送和下载,被动服务是根据对端节点的请求进行文件传输,传输方向为接收和下发。
5.一种海量文件传输系统,其特征在于,包括:
传输中心管理模块,其部署在传输中心服务器上,通过传输中心服务器管理并展示各个节点的机器信息以及管理传输规则,其中,机器信息包括主机名、IP和端口,传输规则包括规则ID、发送端传输路径与端口、接收端传输路径与端口以及传输方向;
文件管理模块,其部署在各节点上,用于创建和监测文件临时缓存目录,发送时先将发送目录中的文件压缩至临时缓存目录,接收时将临时缓存目录中的文件解压至接收目录;其中,创建和监测文件临时缓存目录具体地为:临时缓存目录按内部命名规则命名,指定每个临时缓存目录存储的文件数量的最大值,当文件达到最大数量时,再创建一个临时缓存目录存储;监测缓存目录修改时间,如果最新修改时间超过设定值且没有文件,则视为无用的目录,将其删除;
传输管理模块,其部署在各节点上,在节点首次安装时创建唯一主机名并上报传输中心管理模块登记,用于定时上报心跳包到传输中心服务器,定时向传输中心服务器请求传输规则下发并保存本地,以及定时向传输中心服务器请求所有主机列表下发并保存本地;
文件传输模块,其部署在各节点上,用于完成文件传输任务,具体地,各个节点根据传输规则与对端节点使用udp协议建立传输通道,传输线程数由传输规则数决定,每条传输规则建立一个传输线程,将本端节点的临时缓存目录中的文件发送至对端节点的临时缓存目录,以及从对端节点的临时缓存目录接收文件至本端节点的缓冲目录。
6.如权利要求5所述的海量文件传输系统,其特征在于,管理并展示各个节点的机器信息具体包括:接收来自节点的传输管理模块上报心跳包,心跳包包含所述机器信息,如果没有在列表里面的则添加相应机器信息展示,定时下发主机信息列表到各个节点;管理传输规则包括制定传输规则并根据节点请求下发传输规则至该节点。
7.如权利要求5所述的海量文件传输系统,其特征在于,文件使用lzma2压缩算法进行压缩和解压。
8.如权利要求5所述的海量文件传输系统,其特征在于,文件传输分为主动请求和被动服务两种方式,主动请求是向对端节点请求文件传输,传输方向为发送和下载,被动服务是根据对端节点的请求进行文件传输,传输方向为接收和下发。
CN202011381937.XA 2020-12-01 2020-12-01 一种海量文件传输方法及系统 Active CN112398871B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011381937.XA CN112398871B (zh) 2020-12-01 2020-12-01 一种海量文件传输方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011381937.XA CN112398871B (zh) 2020-12-01 2020-12-01 一种海量文件传输方法及系统

Publications (2)

Publication Number Publication Date
CN112398871A CN112398871A (zh) 2021-02-23
CN112398871B true CN112398871B (zh) 2023-03-24

Family

ID=74604905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011381937.XA Active CN112398871B (zh) 2020-12-01 2020-12-01 一种海量文件传输方法及系统

Country Status (1)

Country Link
CN (1) CN112398871B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143215A (zh) * 2011-01-20 2011-08-03 中国人民解放军理工大学 一种基于网络的pb级云存储系统及其处理方法
CN102855236A (zh) * 2011-06-27 2013-01-02 北京东方通科技股份有限公司 文件传输系统及文件传输方法
CN105812391A (zh) * 2016-05-16 2016-07-27 广州鼎鼎信息科技有限公司 一种安全的云存储系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354858B2 (en) * 2014-02-07 2016-05-31 Vmware, Inc. Desktop image management for virtual desktops using on-demand stub creation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143215A (zh) * 2011-01-20 2011-08-03 中国人民解放军理工大学 一种基于网络的pb级云存储系统及其处理方法
CN102855236A (zh) * 2011-06-27 2013-01-02 北京东方通科技股份有限公司 文件传输系统及文件传输方法
CN105812391A (zh) * 2016-05-16 2016-07-27 广州鼎鼎信息科技有限公司 一种安全的云存储系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
科学计算环境文件传输和共享服务;曹荣强等;《科研信息化技术与应用》;20180520;第9卷(第3期);第2.3节 *

Also Published As

Publication number Publication date
CN112398871A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
CN102947815B (zh) 数据的存储与发送的优化
US7877517B2 (en) Determining whether to compress data transmitted over a network
US20190098108A9 (en) A caching device and method thereof for integration with a cloud storage system
WO2018156783A1 (en) Selective distribution of messages in a scalable, real-time messaging system
CN103731447A (zh) 一种数据查询方法及系统
CN103581245A (zh) 一种内容分发网络内容分发的方法及系统
KR20110027688A (ko) 로컬 호스팅된 캐시 및 암호 해시 함수를 사용하여 네트워크 트래픽을 감소시키는 방법 및 시스템
CN105095364A (zh) 一种数据同步系统和方法
CN112087490A (zh) 一种高性能移动端应用软件日志收集系统
US11727013B2 (en) Optimized processing of data in different formats
WO2016095149A1 (zh) 一种数据压缩存储方法、装置,及分布式文件系统
CN101764848A (zh) 传输网络文件的方法和装置
US20180337840A1 (en) System and method for testing filters for data streams in publisher-subscriber networks
CN114201421A (zh) 一种数据流处理方法、存储控制节点及可读存储介质
US20130063288A1 (en) Methods and computer program products for providing a compressed circular buffer for efficient storage of network performance data
CN113703917B (zh) 一种多集群资源数据处理系统与方法、非暂态存储介质
CN112398871B (zh) 一种海量文件传输方法及系统
US9544371B1 (en) Method to discover multiple paths to disk devices cluster wide
CN108234595B (zh) 日志传输方法及系统
CN114500254B (zh) 历史日志收集方法、装置与存储介质
CN111404842A (zh) 数据传输方法、装置及计算机存储介质
US20090325610A1 (en) Adapter for synchronizing data over different networks
Shimano et al. An information propagation scheme for an autonomous distributed storage system in iSCSI environment
KR100751075B1 (ko) Nas 상에서 병렬 전송 기술을 이용한 원격 미러링시스템
CN113283999B (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