CN109240999A - 一种基于小文件的自动化聚合打包方法及系统 - Google Patents
一种基于小文件的自动化聚合打包方法及系统 Download PDFInfo
- Publication number
- CN109240999A CN109240999A CN201810975532.5A CN201810975532A CN109240999A CN 109240999 A CN109240999 A CN 109240999A CN 201810975532 A CN201810975532 A CN 201810975532A CN 109240999 A CN109240999 A CN 109240999A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- polymerize
- small documents
- polymerization
- 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
Links
- 238000006116 polymerization reaction Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 25
- 238000012856 packing Methods 0.000 claims abstract description 9
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007596 consolidation process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于小文件的自动化聚合打包方法系统,其特征在于,包括以下步骤:S1:服务端与客户端之间建立链接关系;S2:对临时文件中的子目录进行分配;S3:执行聚合打包任务。
Description
技术领域
本发明属于文件系统设计技术领域,具体涉及一种基于小文件的自动化聚合打包方法及系统。
背景技术
分布式文件系统具有良好的可扩展性和容错性,能够满足海量数据存储的需求。
但是,在很多应用场合除了要求支持海量大文件的存储,还需要支持海量小文件的存储,然后存储海量小文件时,支持的文件数量少、文件读取效率低。
故而提出以目录为单位对文件进行聚合存储,可以很好地解决每个目录包含众多文件的海量小文件的高效存储和实时访问。但是,由于某些小文件场景的项目现场业务初期并没有使用聚合功能,随着业务量的增加,集群所受压力逐渐增加。此为现有技术的不足之处。
因此,针对现有技术中的上述缺陷,提供设计一种基于小文件的自动化聚合打包方法及系统;以解决现有技术中的上述缺陷,是非常有必要的。
发明内容
本发明的目的在于,针对上述现有技术存在的缺陷,提供设计一种基于小文件的自动化聚合打包方法及系统,以解决上述技术问题。
为实现上述目的,本发明给出以下技术方案:
一种基于小文件的自动化聚合打包方法,其特征在于,包括以下步骤:
S1:服务端与客户端之间建立链接关系;
S2:对临时文件中的子目录进行分配;
S3:执行聚合打包任务。
作为优选,所述步骤S1具体包括以下步骤:
S1.1:服务端根据指定的客户端个数,启动socket服务等待客户端的链接;
S1.2:客户端和服务端建立socket服务连接。
作为优选,所述步骤S2具体包括以下步骤:
S2.1:服务端与客户端建立连接后,服务端将临时文件中的所有子目录进行平均分配,并通过socket发送至各个客户端;
S2.2:客户端根据指定的进程平均分配子目录。
作为优选,所述步骤S3具体包括以下步骤:
S3.1:服务端子进程聚合打包零散文件;
S3.2:客户端进行聚合打包操作。
本发明还提供一种基于小文件的自动化聚合打包系统,其特征在于,包括:
通信关系建立模块:服务端与客户端之间建立链接关系;
子目录分配模块:对临时文件中的子目录进行分配;
聚合打包模块:执行聚合打包任务。
作为优选,所述的通信关系建立模块具体包括:
服务端根据指定的客户端个数,启动socket服务等待客户端的链接;客户端和服务端建立socket服务连接。
作为优选,所述的子目录分配模块具体包括:
服务端与客户端建立连接后,服务端将临时文件中的所有子目录进行平均分配,并通过socket发送至各个客户端;客户端根据指定的进程平均分配子目录。
作为优选,所述的聚合打包模块具体包括:
服务端子进程聚合打包零散文件;客户端进行聚合打包操作。
本发明的有益效果在于,将原始的普通文件,转化为聚合文件,使用聚合功能减少OSD压力、增加顺序读取性能等优化,提高文件读取性能。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1是本发明提供的一种基于小文件的自动化聚合打包方法的原理框图。
图2是本发明提供的一种基于小文件的自动化聚合打包方法的流程图。
图3是本发明提供的一种基于小文件的自动化聚合打包系统的原理框图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
实施例1:
如图1和2所示,本发明提供的一种基于小文件的自动化聚合打包方法,其特征在于,包括以下步骤:
S1:服务端与客户端之间建立链接关系;
S2:对临时文件中的子目录进行分配;
S3:执行聚合打包任务。
本实施例中,所述步骤S1具体包括以下步骤:
S1.1:服务端根据指定的客户端个数,启动socket服务等待客户端的链接;
S1.2:客户端和服务端建立socket服务连接。
本实施例中,所述步骤S2具体包括以下步骤:
S2.1:服务端与客户端建立连接后,服务端将临时文件中的所有子目录进行平均分配,并通过socket发送至各个客户端;
S2.2:客户端根据指定的进程平均分配子目录。
本实施例中,所述步骤S3具体包括以下步骤:
S3.1:服务端子进程聚合打包零散文件;
S3.2:客户端进行聚合打包操作。
本实施例中:
客户端执行命令:./icfs_tools_aggpack.py –c –i xx.xx.xx.xx –t x;
-c是指以客户端运行此程序;-t后跟多线程个数;-i后跟需与服务端网络互通的public IP;
执行上述命令行后,首先会对命令行进行解析,通过-c和-s来判断是server端和客户端;
客户端有两个参数,合法则继续,不合法则退出并输出提示:输入合法字符;
解析目录,如果有子目录则继续解析,直至解析遍历完所有子目录;
对所有文件进行均分处理;
客户端多线程处理非聚合小文件,进行文件聚合打包。
服务端执行命令:./icfs_tools_aggpack.py –s –i xx.xx.xx.xx –n x –d /mnt/icfs/x –t x;
-s是指以服务端运行此程序;-t后跟多线程个数;-i后跟需与服务端网络互通的public IP;-n后跟客户端个数;-d后跟需要聚合的目录;
执行上述命令行后,首先会对命令行进行解析,通过-c和-s来判断是server端和客户端;
客户端有四个参数,判定这四个参数是否合法,合法则继续,不合法则退出并输出提示:输入合法字符;
解析目录,如果有子目录则继续解析,直至解析遍历完所有子目录;
服务端主线程进行监听,如果客户端的个数小于设定n,则继续监听,不执行聚合打包;如果客户端个数等于设定的n,则将目录进行均分,并将目录依次发送到客户端;
客户端对指定目录进行递归查找所有的非聚合文件,将扫描到的非聚合文件整理至临时文件中,计算出所有客户端任务的起始位置,并开始进行多进程处理文件。
实施例2:
如图3所示,本发明提供的一种基于小文件的自动化聚合打包系统,其特征在于,包括:
通信关系建立模块:服务端与客户端之间建立链接关系;
子目录分配模块:对临时文件中的子目录进行分配;
聚合打包模块:执行聚合打包任务。
本实施例中,所述的通信关系建立模块具体包括:
服务端根据指定的客户端个数,启动socket服务等待客户端的链接;客户端和服务端建立socket服务连接。
本实施例中,所述的子目录分配模块具体包括:
服务端与客户端建立连接后,服务端将临时文件中的所有子目录进行平均分配,并通过socket发送至各个客户端;客户端根据指定的进程平均分配子目录。
本实施例中,所述的聚合打包模块具体包括:
服务端子进程聚合打包零散文件;客户端进行聚合打包操作。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (8)
1.一种基于小文件的自动化聚合打包方法,其特征在于,包括以下步骤:
S1:服务端与客户端之间建立链接关系;
S2:对临时文件中的子目录进行分配;
S3:执行聚合打包任务。
2.根据权利要求1所述的一种基于小文件的自动化聚合打包方法,其特征在于,所述步骤S1具体包括以下步骤:
S1.1:服务端根据指定的客户端个数,启动socket服务等待客户端的链接;
S1.2:客户端和服务端建立socket服务连接。
3.根据权利要求1或2所述的一种基于小文件的自动化聚合打包方法,其特征在于,所述步骤S2具体包括以下步骤:
S2.1:服务端与客户端建立连接后,服务端将临时文件中的所有子目录进行平均分配,并通过socket发送至各个客户端;
S2.2:客户端根据指定的进程平均分配子目录。
4.根据权利要求3所述的一种基于小文件的自动化聚合打包方法,其特征在于,所述步骤S3具体包括以下步骤:
S3.1:服务端子进程聚合打包零散文件;
S3.2:客户端进行聚合打包操作。
5.一种基于小文件的自动化聚合打包系统,其特征在于,包括:
通信关系建立模块:服务端与客户端之间建立链接关系;
子目录分配模块:对临时文件中的子目录进行分配;
聚合打包模块:执行聚合打包任务。
6.根据权利要求5所述的一种基于小文件的自动化聚合打包方法,其特征在于,所述的通信关系建立模块具体包括:
服务端根据指定的客户端个数,启动socket服务等待客户端的链接;客户端和服务端建立socket服务连接。
7.根据权利要求5或6所述的一种基于小文件的自动化聚合打包方法,其特征在于,所述的子目录分配模块具体包括:
服务端与客户端建立连接后,服务端将临时文件中的所有子目录进行平均分配,并通过socket发送至各个客户端;客户端根据指定的进程平均分配子目录。
8.根据权利要求7所述的一种基于小文件的自动化聚合打包方法,其特征在于,所述的聚合打包模块具体包括:
服务端子进程聚合打包零散文件;客户端进行聚合打包操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810975532.5A CN109240999A (zh) | 2018-08-24 | 2018-08-24 | 一种基于小文件的自动化聚合打包方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810975532.5A CN109240999A (zh) | 2018-08-24 | 2018-08-24 | 一种基于小文件的自动化聚合打包方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109240999A true CN109240999A (zh) | 2019-01-18 |
Family
ID=65068032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810975532.5A Pending CN109240999A (zh) | 2018-08-24 | 2018-08-24 | 一种基于小文件的自动化聚合打包方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109240999A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968272A (zh) * | 2019-12-16 | 2020-04-07 | 华中科技大学 | 基于时间序列预测的海量小文件存储性能优化方法及系统 |
CN114048185A (zh) * | 2021-11-18 | 2022-02-15 | 北京聚存科技有限公司 | 一种分布式文件系统中海量小文件透明打包存储与访问的方法 |
CN115499426A (zh) * | 2022-07-29 | 2022-12-20 | 天翼云科技有限公司 | 海量小文件的传输方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332029A (zh) * | 2011-10-15 | 2012-01-25 | 西安交通大学 | 一种基于Hadoop的海量可归类小文件关联存储方法 |
CN103647850A (zh) * | 2013-12-25 | 2014-03-19 | 北京京东尚科信息技术有限公司 | 一种分布式版本控制系统的数据处理方法、设备及系统 |
CN105404691A (zh) * | 2015-12-14 | 2016-03-16 | 曙光信息产业股份有限公司 | 一种文件存储的方法及装置 |
CN105653592A (zh) * | 2016-01-28 | 2016-06-08 | 浪潮软件集团有限公司 | 一种基于hdfs的小文件合并工具和方法 |
CN106294374A (zh) * | 2015-05-15 | 2017-01-04 | 北京国双科技有限公司 | 小文件合并的方法和数据查询系统 |
US20180121127A1 (en) * | 2016-02-06 | 2018-05-03 | Huawei Technologies Co., Ltd. | Distributed storage method and device |
-
2018
- 2018-08-24 CN CN201810975532.5A patent/CN109240999A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332029A (zh) * | 2011-10-15 | 2012-01-25 | 西安交通大学 | 一种基于Hadoop的海量可归类小文件关联存储方法 |
CN103647850A (zh) * | 2013-12-25 | 2014-03-19 | 北京京东尚科信息技术有限公司 | 一种分布式版本控制系统的数据处理方法、设备及系统 |
CN106294374A (zh) * | 2015-05-15 | 2017-01-04 | 北京国双科技有限公司 | 小文件合并的方法和数据查询系统 |
CN105404691A (zh) * | 2015-12-14 | 2016-03-16 | 曙光信息产业股份有限公司 | 一种文件存储的方法及装置 |
CN105653592A (zh) * | 2016-01-28 | 2016-06-08 | 浪潮软件集团有限公司 | 一种基于hdfs的小文件合并工具和方法 |
US20180121127A1 (en) * | 2016-02-06 | 2018-05-03 | Huawei Technologies Co., Ltd. | Distributed storage method and device |
Non-Patent Citations (1)
Title |
---|
严巍巍 等: "SMDFS分布式海量小文件系统的大空间聚合存储技术", 《计算机研究与发展》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968272A (zh) * | 2019-12-16 | 2020-04-07 | 华中科技大学 | 基于时间序列预测的海量小文件存储性能优化方法及系统 |
CN110968272B (zh) * | 2019-12-16 | 2021-01-01 | 华中科技大学 | 基于时间序列预测的海量小文件存储性能优化方法及系统 |
CN114048185A (zh) * | 2021-11-18 | 2022-02-15 | 北京聚存科技有限公司 | 一种分布式文件系统中海量小文件透明打包存储与访问的方法 |
CN115499426A (zh) * | 2022-07-29 | 2022-12-20 | 天翼云科技有限公司 | 海量小文件的传输方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zheng et al. | An innovative IPFS-based storage model for blockchain | |
CN109240999A (zh) | 一种基于小文件的自动化聚合打包方法及系统 | |
CN102447585B (zh) | 将网络配置协议响应报文转换为命令行的方法及装置 | |
CN103034658A (zh) | 一种数据查询和报表导出的方法及系统 | |
US9330177B2 (en) | System, method and device for internet search based on peer-to-peer network | |
CN105740418A (zh) | 一种基于文件监控和消息推送的实时同步系统 | |
WO2004036344A3 (en) | System and method for the optimization of database | |
US20200257681A1 (en) | System for storing and searching big data in real-time | |
CN107682399B (zh) | 一种基于大数据的文件夹断点续传方法 | |
JP2015007968A (ja) | 地理情報システム(gis)ネットワークモデルの同期システム及び方法 | |
CN102750368B (zh) | 一种数据库集群数据高速导入方法 | |
CN103530335B (zh) | 电力计量采集系统的入库操作方法及装置 | |
CN102289469A (zh) | 一种支持通用数据库基于物理隔离设备同步数据的方法 | |
CN113900810A (zh) | 分布式图处理方法、系统及存储介质 | |
CN105610992A (zh) | 一种分布式流计算系统任务分配负载均衡方法 | |
CN105207825A (zh) | 一种网元快速同步系统及网元快速同步方法 | |
WO2020135551A1 (zh) | 一种数据库同步复制的方法和装置 | |
Chihoub et al. | A scalability comparison study of data management approaches for smart metering systems | |
CN115269719A (zh) | 数据同步方法及装置 | |
CN103577424A (zh) | 分布式数据库视图的实现方法及系统 | |
CN116991562B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN110198359A (zh) | 一种负载均衡方法及装置 | |
CN104901783A (zh) | 数据传输方法及服务器系统 | |
CN113946580B (zh) | 一种海量异构日志数据检索中间件 | |
WO2016070364A1 (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190118 |
|
RJ01 | Rejection of invention patent application after publication |