CN103457997A - 数据传输方法以及数据传输系统 - Google Patents

数据传输方法以及数据传输系统 Download PDF

Info

Publication number
CN103457997A
CN103457997A CN2013102724889A CN201310272488A CN103457997A CN 103457997 A CN103457997 A CN 103457997A CN 2013102724889 A CN2013102724889 A CN 2013102724889A CN 201310272488 A CN201310272488 A CN 201310272488A CN 103457997 A CN103457997 A CN 103457997A
Authority
CN
China
Prior art keywords
thread
catalogue
file
data transmission
complete
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
CN2013102724889A
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.)
Dawning Information Industry Beijing Co Ltd
Original Assignee
Dawning Information Industry Beijing 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 Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN2013102724889A priority Critical patent/CN103457997A/zh
Publication of CN103457997A publication Critical patent/CN103457997A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种数据传输方法,包括:基于需要传输的目录和/或文件启用至少一个线程;将所述目录和/或文件平均分配给所述至少一个线程;利用所述至少一个线程分别传输对应的目录和/文件;对于所述至少一个线程,当一个线程在传输完被分配的目录和/或文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,并且与该未完成线程一起共同传输与该未完成线程对应的目录和/或文件。相应地,还提供了一种数据传输系统。采用本发明,可以缩短传输文件和/或目录的时间,从而提供上传效率。

Description

数据传输方法以及数据传输系统
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种数据传输方法以及数据传输系统。 
背景技术
在现有存储系统中,多数文件或者目录的上传都采用多线程上传的方式。在上传过程中通常是计算目录和文件的数据,然后平均到多个线程上面去,简单的分配好任务后进行上传。在上传过程中没有对容量大小的判断,以及无法实现简单的负载均衡,这样就会导致有些线程已经传输完毕,而有些线程负载比较大无法传输完毕的情况。 
发明内容
针对相关技术中的问题,在一方面提供了可以缩短传输文件和/或目录的总时间的数据传输方法,包括: 
基于需要传输的目录和/或文件启用至少一个线程; 
将所述目录和/或文件平均分配给所述至少一个线程; 
利用所述至少一个线程分别传输对应的目录和/或文件; 
对于所述至少一个线程,当一个线程在传输完被分配的目录和/或文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,并且与该未完成线程一起共同传输与该未完成线程对应的目录和/或文件。 
在可选实施例中,基于需要传输的目录和/或文件启用至少一个线程,包括:基于需要传输的目录和/或文件的个数和/或容量确定需要启用的线程个数;以及,根据所确定的需要启用的线程个数启用线程。 
在可选实施例中,将所述目录和/或文件平均分配给所述至少一个线程,包括:基于所述目录中的元数据量进行判断,以对所述至少一个线程 平均分配任务。 
在可选实施例中,一个线程在传输完被分配的目录和/文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,包括:就近选择所述至少一个线程中的一个未完成线程。 
根据本发明的另一方面,提供了一种数据传输系统,包括: 
线程启用单元,用于基于需要传输的目录和/或文件启用至少一个线程; 
数据分配单元,用于将所述目录和/或文件平均分配给所述至少一个线程; 
数据传输单元,用于利用所述至少一个线程分别传输对应的目录和/文件;以及,对于所述至少一个线程,当一个线程在传输完被分配的目录和/或文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,并且与该未完成线程一起共同传输与该未完成线程对应的目录和/或文件。 
在可选实施例中,所述线程启用单元基于需要传输的目录和/或文件启用至少一个线程,包括:基于需要传输的目录和/或文件的个数和/或容量确定需要启用的线程个数;以及,根据所确定的需要启用的线程个数启用线程。 
在可选实施例中,所述数据分配单元用于将所述目录和/或文件平均分配给所述至少一个线程,包括:基于所述目录中的元数据量进行判断,以对所述至少一个线程平均分配任务。 
在可选实施例中,所述一个线程在传输完被分配的目录和/文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,包括:选择所述至少一个线程中与已传输完的线程最近的的一个未完成线程。 
本发明对于通过多个线程进行数据传输的过程中,当其中的一个线程完成目录和/或文件的传输时,与其他未完成线程共同传输该未完成的线程上的目录和/或文件,从而可以缩短传输文件和/或目录的总时间,提高了传输效率。 
附图说明
图1是根据本发明一实施例的数据传输方法的流程示意图。 
图2是根据本发明一实施例的数据传输方法的一个实例。 
图3是根据本发明另一实施例的数据传输系统的结构框图。 
具体实施方式
下面结合附图对本发明作进一步地详细说明。 
本发明实施例提供了一种可实现简单负载均衡的传输机制。例如对于当前通常使用的数据上传,该传输机制包括在多目录或者多文件上传时,启动多线程进行上传。在本发明实施例中,文件应理解为单一的文件,目录应理解为文件夹,其中可包括多个文件。 
图1是根据发明实施例的一种数据传输方法的流程图。如图1所示,该数据传输方法包括: 
S101,基于需要传输的目录和/或文件启用至少一个线程; 
S102,将所述目录和/或文件平均分配给所述至少一个线程; 
S103,利用所述至少一个线程分别传输对应的目录和/文件; 
S104,对于所述至少一个线程,当一个线程在传输完被分配的目录和/或文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,并且与该未完成线程一起共同传输与该未完成线程对应的目录和/或文件。 
在一可选实施例中,基于需要传输的目录和/或文件启用至少一个线程,包括:基于需要传输的目录和/或文件的个数和/或容量确定需要启用的线程个数;以及,根据所确定的需要启用的线程个数启用线程。 
在另一可选实施例中,将所述目录和/或文件平均分配给所述至少一个线程,包括:基于所述目录中的元数据量进行判断所述目录的容量,以对所述至少一个线程平均分配任务。元数据指文件的属性信息,包括文件的大小,位置,权限等属性信息。在本发明实施例中,有时候仅从文件的数量量来判断还是不够的,比如说A目录下,文件数量为1,但是文件会很大,这样就会很长时间的进程去进行拷贝,B目录下有100个文件,每个 文件不太大,那么就可以考虑用11个进程,第一个进程拷贝完A目录里的文件,剩下的10个进程平均每一个进程拷贝10个文件,总体结束的时间都差不多,这样就可以节省总的时间。进而就提高了拷贝的聚合带宽。在又一可选实施例中,一个线程在传输完被分配的目录和/文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,包括:就近选择所述至少一个线程中的一个未完成线程。例如,当5个线程中的线程t2传输完被分配的目录和/或文件时,检测到线程t1和t4尚未完成,选择与线程t1共同传输线程t1上需要传输的目录和/文件。 
本发明实施例的数据传输方法可以缩短上传文件和/或目录的时间,从而大大提高了上传效率。 
图2是根据本发明实施例的数据传输方法的一个实例。 
当前需要上传的目录包括10个,其中目录1的容量为90G,目录2的容量为20G,目录3和4分别都为10G,目录5为50G,目录6为10G,目录7为5G,目录8为10G,目录9为60G和目录10为5G。 
首先判断需要传输的目录的个数。例如,对于10个目录,则确定启用5个线程t1、t2、t3、t4和t5。 
然后,将这10个目录平均分配给5个线程。即平均每个线程上传2个目录。具体地,线程t1用于传输目录1和2,线程t2用于传输目录3和4,线程t3用于传输目录5和6,线程t4用于传输目录7和8,线程t5用于传输目录9和10。同一线程(例如t2)对所分配的2个目录按照顺序上传。 
接着,当线程t4和t2上传任务结束后,会根据消息机制对当前未完成的传输线程t1、t3和t5传递消息,以便对未完成的线程进行任务的共同传输。如图2所示,线程t2在传输完成后,与线程t1一起共同传输目录;线程t4在传输完成后,与线程t3一起共同传输目录。进一步地,线程t3、t4和t5在传输完成后,也可进一步地与线程1一起共同传输目录。采用本发明的这种数据传输方法可以达到减少上传目录和/或时间的目的。 
图3是根据本发明实施例的数据传输系统的框图。如图3所示,该数据传输系统包括:线程启用单元10、数据分配单元20和数据传输单元30。 
线程启用单元10,用于基于需要传输的目录和/或文件启用至少一个线 程。数据分配单元20,用于将所述目录和/或文件平均分配给所述至少一个线程。数据传输单元30,用于利用所述至少一个线程分别传输对应的目录和/文件;以及,对于所述至少一个线程,当一个线程在传输完被分配的目录和/或文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,并且与该未完成线程一起共同传输与该未完成线程对应的目录和/或文件。 
在可选实施例中,线程启用单元10基于需要传输的目录和/或文件启用至少一个线程,包括:基于需要传输的目录和/或文件的个数和/或容量确定需要启用的线程个数;以及,根据所确定的需要启用的线程个数启用线程。 
在可选实施例中,数据分配单元20用于将所述目录和/或文件平均分配给所述至少一个线程,包括:基于所述目录中的元数据量进行判断,以对所述至少一个线程平均分配任务。 
在可选实施例中,数据传输单元30,用于在一个线程在传输完被分配的目录和/文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,包括:选择所述至少一个线程中与已传输完的线程最近的的一个未完成线程。 
本发明实施例的数据传输方法和数据传输系统在对于大量文件和/或目录进行传输(例如上传或下载)时,根据它们的容量和任务量大小尽可能地均衡分配文件和/或目录给多个线程,可以提高线程传输任务的负载均衡。此外,由于先完成传输任务的线程会与未完成的线程一起传输未完成的任何,因此,可以缩短目录和/文件传输的总时间,从而提高传输效率。 
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 

Claims (8)

1.一种数据传输方法,包括:
基于需要传输的目录和/或文件启用至少一个线程;
将所述目录和/或文件平均分配给所述至少一个线程;
利用所述至少一个线程分别传输对应的目录和/文件;
对于所述至少一个线程,当一个线程在传输完被分配的目录和/或文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,并且与该未完成线程一起共同传输与该未完成线程对应的目录和/或文件。
2.根据权利要求1所述的数据传输方法,其特征在于,基于需要传输的目录和/或文件启用至少一个线程,包括:
基于需要传输的目录和/或文件的个数和/或容量确定需要启用的线程个数;以及
根据所确定的需要启用的线程个数启用线程。
3.根据权利要求2所述的数据传输方法,其特征在于,将所述目录和/或文件平均分配给所述至少一个线程,包括:
基于所述目录中的元数据量进行判断,以对所述至少一个线程平均分配任务。
4.根据权利要求1所述的数据传输方法,其特征在于,一个线程在传输完被分配的目录和/文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,包括:
就近选择所述至少一个线程中的一个未完成线程。
5.一种数据传输系统,包括:
线程启用单元,用于基于需要传输的目录和/或文件启用至少一个线程;
数据分配单元,用于将所述目录和/或文件平均分配给所述至少一个线程;
数据传输单元,用于利用所述至少一个线程分别传输对应的目录和/文件;以及,对于所述至少一个线程,当一个线程在传输完被分配的目录和/或文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,并且与该未完成线程一起共同传输与该未完成线程对应的目录和/或文件。
6.根据权利要求5所述的数据传输系统,其特征在于,所述线程启用单元基于需要传输的目录和/或文件启用至少一个线程,包括:基于需要传输的目录和/或文件的个数和/或容量确定需要启用的线程个数;以及,根据所确定的需要启用的线程个数启用线程。
7.根据权利要求6所述的数据传输系统,其特征在于,所述数据分配单元用于将所述目录和/或文件平均分配给所述至少一个线程,包括:
基于所述目录中的元数据量进行判断,以对所述至少一个线程平均分配任务。
8.根据权利要求5所述的数据传输系统,其特征在于,所述一个线程在传输完被分配的目录和/文件时,检查当前是否存在未完成线程,如果存在,选择一个未完成线程,包括:选择所述至少一个线程中与已传输完的线程最近的的一个未完成线程。
CN2013102724889A 2013-07-01 2013-07-01 数据传输方法以及数据传输系统 Pending CN103457997A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013102724889A CN103457997A (zh) 2013-07-01 2013-07-01 数据传输方法以及数据传输系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013102724889A CN103457997A (zh) 2013-07-01 2013-07-01 数据传输方法以及数据传输系统

Publications (1)

Publication Number Publication Date
CN103457997A true CN103457997A (zh) 2013-12-18

Family

ID=49739940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013102724889A Pending CN103457997A (zh) 2013-07-01 2013-07-01 数据传输方法以及数据传输系统

Country Status (1)

Country Link
CN (1) CN103457997A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105743713A (zh) * 2016-04-14 2016-07-06 上海斐讯数据通信技术有限公司 一种网络管理系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5500890A (en) * 1993-08-19 1996-03-19 Exxon Research And Engineering Company Point-of-sale system using multi-threaded transactions and interleaved file transfer
CN1945538A (zh) * 2006-10-27 2007-04-11 北京金山软件有限公司 基于多核cpu架构的网游服务器的数据分配方法及系统
CN102567089A (zh) * 2011-10-25 2012-07-11 曙光信息产业(北京)有限公司 一种分布式文件系统中元数据服务器线程池的设计方法
CN102572749A (zh) * 2010-12-07 2012-07-11 中国电信股份有限公司 短信网上辅助发送系统
CN102918501A (zh) * 2010-05-25 2013-02-06 英特尔公司 用于分析多线程应用的性能的方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5500890A (en) * 1993-08-19 1996-03-19 Exxon Research And Engineering Company Point-of-sale system using multi-threaded transactions and interleaved file transfer
CN1945538A (zh) * 2006-10-27 2007-04-11 北京金山软件有限公司 基于多核cpu架构的网游服务器的数据分配方法及系统
CN102918501A (zh) * 2010-05-25 2013-02-06 英特尔公司 用于分析多线程应用的性能的方法和系统
CN102572749A (zh) * 2010-12-07 2012-07-11 中国电信股份有限公司 短信网上辅助发送系统
CN102567089A (zh) * 2011-10-25 2012-07-11 曙光信息产业(北京)有限公司 一种分布式文件系统中元数据服务器线程池的设计方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105743713A (zh) * 2016-04-14 2016-07-06 上海斐讯数据通信技术有限公司 一种网络管理系统及方法
CN105743713B (zh) * 2016-04-14 2019-10-11 上海斐讯数据通信技术有限公司 一种网络管理系统及方法

Similar Documents

Publication Publication Date Title
CN102637214B (zh) 基于数据库服务间的通用数据同步方法及其系统
US8880838B2 (en) Storage network data allocation
CN109376122A (zh) 一种文件管理方法、系统及区块链节点设备和存储介质
EP2557494A1 (en) Storage apparatus and data copy method between thin-provisioning virtual volumes
CN101534322A (zh) 文件上传系统和文件上传方法
CN103095806B (zh) 一种面向大电网的实时数据库系统的负载均衡管理系统
CN102546782A (zh) 一种分布式系统及其数据操作方法
CA2794339A1 (en) Transfer of user data between logical data sites
CN103095758B (zh) 一种分布式文件系统及该系统中处理文件数据的方法
US8214428B1 (en) Optimized prepopulation of a client side cache in a deduplication environment
CN103297499A (zh) 一种基于云平台的调度方法及系统
CN103810046A (zh) 一种单机资源管理方法及系统
CN106371916B (zh) 一种存储系统io线程优化方法及其装置
CN103023996A (zh) 一种云数据存储系统
KR20100072992A (ko) 다수의 클라이언트를 위한 분산 네트워크 스토리지 장치 및그 방법
CN106406821A (zh) 数据处理请求的排序方法及装置
CN104461706B (zh) 一种将共享全局变量共享的方法和多处理装置
CN104125168A (zh) 一种共享资源的调度方法和系统
CN109228954B (zh) 一种充电桩能源管理方法、系统及充电桩群系统
CN104142871A (zh) 用于数据备份的方法、装置和分布式文件系统
CN104050115A (zh) 一种存储控制器及其使用方法
CN106164888A (zh) 用于最小化工作负荷空闲时间和工作负荷间干扰的网络和存储i/o请求的排序方案
CN102882960B (zh) 一种资源文件的发送方法及装置
CN105049524B (zh) 一种基于hdfs的大规模数据集装载的方法
CN108259374B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20131218

RJ01 Rejection of invention patent application after publication