CN108683717A - 一种不占用本地磁盘空间的数据转储下载方法 - Google Patents
一种不占用本地磁盘空间的数据转储下载方法 Download PDFInfo
- Publication number
- CN108683717A CN108683717A CN201810386868.8A CN201810386868A CN108683717A CN 108683717 A CN108683717 A CN 108683717A CN 201810386868 A CN201810386868 A CN 201810386868A CN 108683717 A CN108683717 A CN 108683717A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- busy percentage
- cpu busy
- take
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种不占用本地磁盘空间的数据转储下载方法,包括对原始待打包文件进行打包,将打包输出重定向到管道模块的输入端;如果是数据转储:则远程拷贝模块从管道模块的输出端读取数据,直接转储到远端设备的磁盘中;如果是数据下载:则Web服务器下载模块从管道模块的输出端读取数据,并利用http数据流传输方式传送数据到用户浏览器。本发明所述的一种不占用本地磁盘空间的数据转储下载方法,配合使用打包模块、管道模块、动态限速控制模块,可以实现不占用本地磁盘空间,具备动态限速控制功能的数据转储下载,具有不生成临时压缩包文件、不占用本地磁盘空间、动态限速控制及安全稳定执行速度快的特点。
Description
技术领域
本发明属于信息技术领域,尤其是涉及一种不占用本地磁盘空间的数据转储下载方法。
背景技术
随着信息技术的高速发展,人类正从IT时代走向DT时代,信息网络中随时生成大量的数据。无论是前端用户通过浏览器从Web服务器获取所需数据,还是后台维护人员从服务器中收集维护数据信息,都变得更加频繁和常态化。在现有技术条件下,当需要对多个文件进行打包并转储或下载时,一般是先在本地设备上将多个文件打包成一个压缩包,再通过Web服务器供用户使用浏览器下载所生成的压缩包,或者通过远程拷贝操作把生成的压缩包拷贝到远端设备。在任务完成后,选择合适的时机删除临时生成的压缩包文件。
这种常用方法存在着以下问题:一是生成的临时压缩包的过程IO操作过多:至少包括三次IO操作:读原始待压缩文件时的读操作,生成临时压缩包时的写操作,用户下载或远程拷贝时的读操作;二是生成的临时压缩包会占用宝贵的本地磁盘空间:生成的临时压缩包只是原始数据的一份拷贝,会占用宝贵的磁盘空间,尤其是原始数据文件大时,硬盘空间占用问题更加严重;三是磁盘空闲空间不足时会导致压缩包生成失败,造成后续操作无法进行:当本地磁盘空闲空间小于压缩包所需要的磁盘空间时,打包会失败,用户的下载请求或远程拷贝任务则无法继续进行;四是打包过程慢:当打包内容过多时,打包过程所需时间长,用户或管理人员只能等待,操作效率低,用户体验不好;五是生成的临时压缩包需删除:因为生成的压缩包只是临时使用,所以使用完需对其删除,但由于Web服务器不好把握用户何时下载及用户是否需重复下载,所以删除时机不便把握,删除过早会导致用户无法多次重复下载,删除过晚会有压缩包占用磁盘空间明显问题。
发明内容
有鉴于此,本发明旨在提出一种不占用本地磁盘空间的数据转储下载方法,配合使用打包模块、管道模块、动态限速控制模块,可以实现不占用本地磁盘空间,具备动态限速控制功能的数据转储下载,具有不生成临时压缩包文件、不占用本地磁盘空间、动态限速控制及安全稳定执行速度快的特点。
为达到上述目的,本发明的技术方案是这样实现的:
一种不占用本地磁盘空间的数据转储下载方法,其特征在于:包括:
步骤1:打包模块:对原始待打包文件进行打包,将打包输出重定向到管道模块的输入端;
步骤2:管道模块:如果是数据转储:则远程拷贝模块从管道模块的输出端读取数据,直接转储到远端设备的磁盘中;如果是数据下载:则Web服务器下载模块从管道模块的输出端读取数据,并利用http数据流传输方式传送数据到用户浏览器,由用户浏览器生成压缩包文件保存到用户所使用电脑的磁盘上;
在步骤2中,动态限速控制模块分别对远程拷贝模块及Web服务器下载模块进行限速控制;
动态限速控制模块:首先设定CPU利用率的高阀值及低阀值,然后即时计算CPU利用率:如果CPU利用率大于高阀值,则控制远程拷贝模块及Web服务器下载模块增加0.1秒延缓从管道模块的输出端读取数据,然后计算CPU利用率睡眠暂停30秒,随后再次开始循环计算CPU利用率;如果CPU利用率小于等于高阀值且小于低阀值,则控制远程拷贝模块及Web服务器下载模块减少0.1秒延缓从管道模块的输出端读取数据,然后计算CPU利用率睡眠暂停30秒,随后再次开始循环计算CPU利用率;如果CPU利用率小于等于高阀值且大于等于低阀值,则计算CPU利用率睡眠暂停30秒,随后再次开始循环计算CPU利用率。
本发明公开的一种不占用本地磁盘空间的数据转储下载方法,利用管道进程间通信机制,可以把一个程序的输出直接作为另一个程序的输入,只包含一次读原始待压缩文件时的读操作,不会在磁盘上生成任何临时压缩包文件,对磁盘空间零占用,也就不会出现磁盘空间不足导致任务无法执行及临时压缩包文件删除时机不好把握的问题,同时打包与传输过程同步进行,有效减少了用户等待时间,动态限速控制模块具有限速功能,避免CPU占用过大,影响系统稳定性。
进一步的,在步骤2中,CPU利用率的高阀值设定是80%,CPU利用率的低阀值设定是60%。
相对于现有技术,本发明所述的一种不占用本地磁盘空间的数据转储下载方法,具有以下优势:
本发明所述的一种不占用本地磁盘空间的数据转储下载方法,配合使用打包模块、管道模块、动态限速控制模块,可以实现不占用本地磁盘空间,具备动态限速控制功能的数据转储下载,具有不生成临时压缩包文件、不占用本地磁盘空间、动态限速控制及安全稳定执行速度快的特点。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
在附图中:
图1为本发明实施例所述的一种不占用本地磁盘空间的数据转储下载方法原理示意图;
图2为本发明实施例所述的的一种不占用本地磁盘空间的数据转储下载方法动态限速控制模块示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
如图1-2所示,一种不占用本地磁盘空间的数据转储下载方法,其特征在于:包括:
步骤1:打包模块:对原始待打包文件进行打包,将打包输出重定向到管道模块的输入端;
步骤2:管道模块:如果是数据转储:则远程拷贝模块从管道模块的输出端读取数据,直接转储到远端设备的磁盘中;如果是数据下载:则Web服务器下载模块从管道模块的输出端读取数据,并利用http数据流传输方式传送数据到用户浏览器,由用户浏览器生成压缩包文件保存到用户所使用电脑的磁盘上;
在步骤2中,动态限速控制模块分别对远程拷贝模块及Web服务器下载模块进行限速控制;
动态限速控制模块:首先设定CPU利用率的高阀值及低阀值,然后即时计算CPU利用率:如果CPU利用率大于高阀值,则控制远程拷贝模块及Web服务器下载模块增加0.1秒延缓从管道模块的输出端读取数据,然后计算CPU利用率睡眠暂停30秒,随后再次开始循环计算CPU利用率;如果CPU利用率小于等于高阀值且小于低阀值,则控制远程拷贝模块及Web服务器下载模块减少0.1秒延缓从管道模块的输出端读取数据,然后计算CPU利用率睡眠暂停30秒,随后再次开始循环计算CPU利用率;如果CPU利用率小于等于高阀值且大于等于低阀值,则计算CPU利用率睡眠暂停30秒,随后再次开始循环计算CPU利用率。
本发明公开的一种不占用本地磁盘空间的数据转储下载方法,利用管道进程间通信机制,可以把一个程序的输出直接作为另一个程序的输入,只包含一次读原始待压缩文件时的读操作,不会在磁盘上生成任何临时压缩包文件,对磁盘空间零占用,也就不会出现磁盘空间不足导致任务无法执行及临时压缩包文件删除时机不好把握的问题,同时打包与传输过程同步进行,有效减少了用户等待时间,动态限速控制模块具有限速功能,避免CPU占用过大,影响系统稳定性。
如图2所示,在步骤2中,CPU利用率的高阀值设定是80%,CPU利用率的低阀值设定是60%。
优选的,管道模块模式可使用环形队列来替代,Web服务器下载模块保证按序读和按序写即可,打包模块把数据按一定大小的数据块写入环形队列,远程拷贝模块和Web服务器下载模块可以从环形队列里读出数据块并进行后续处理。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种不占用本地磁盘空间的数据转储下载方法,其特征在于:包括:
步骤1:打包模块:对原始待打包文件进行打包,将打包输出重定向到管道模块的输入端;
步骤2:管道模块:如果是数据转储:则远程拷贝模块从管道模块的输出端读取数据,直接转储到远端设备的磁盘中;如果是数据下载:则Web服务器下载模块从管道模块的输出端读取数据,并利用http数据流传输方式传送数据到用户浏览器,由用户浏览器生成压缩包文件保存到用户所使用电脑的磁盘上;
在步骤2中,动态限速控制模块分别对远程拷贝模块及Web服务器下载模块进行限速控制;
动态限速控制模块:首先设定CPU利用率的高阀值及低阀值,然后即时计算CPU利用率:如果CPU利用率大于高阀值,则控制远程拷贝模块及Web服务器下载模块增加0.1秒延缓从管道模块的输出端读取数据,然后计算CPU利用率睡眠暂停30秒,随后再次开始循环计算CPU利用率;如果CPU利用率小于等于高阀值且小于低阀值,则控制远程拷贝模块及Web服务器下载模块减少0.1秒延缓从管道模块的输出端读取数据,然后计算CPU利用率睡眠暂停30秒,随后再次开始循环计算CPU利用率;如果CPU利用率小于等于高阀值且大于等于低阀值,则计算CPU利用率睡眠暂停30秒,随后再次开始循环计算CPU利用率。
2.根据权利要求1所述的一种不占用本地磁盘空间的数据转储下载方法,其特征在于:在步骤2中,CPU利用率的高阀值设定是80%,CPU利用率的低阀值设定是60%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810386868.8A CN108683717B (zh) | 2018-04-26 | 2018-04-26 | 一种不占用本地磁盘空间的数据转储下载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810386868.8A CN108683717B (zh) | 2018-04-26 | 2018-04-26 | 一种不占用本地磁盘空间的数据转储下载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108683717A true CN108683717A (zh) | 2018-10-19 |
CN108683717B CN108683717B (zh) | 2021-11-09 |
Family
ID=63801603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810386868.8A Active CN108683717B (zh) | 2018-04-26 | 2018-04-26 | 一种不占用本地磁盘空间的数据转储下载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108683717B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684037A (zh) * | 2004-04-13 | 2005-10-19 | 创惟科技股份有限公司 | 电脑作业环境迁移系统、相关装置、方法及电脑可读取储存媒体 |
CN1926833A (zh) * | 2004-03-12 | 2007-03-07 | 汤姆森许可贸易公司 | 地理驱动器上的自动远程站点下载 |
CN101394397A (zh) * | 2008-01-03 | 2009-03-25 | 中国移动通信集团湖北有限公司 | 用于移动网络的可远程调用的压缩转储方法及其系统 |
CN101770346A (zh) * | 2010-01-04 | 2010-07-07 | 浪潮电子信息产业股份有限公司 | 一种多控制器磁盘阵列协调调度方法 |
CN102111337A (zh) * | 2011-03-14 | 2011-06-29 | 浪潮(北京)电子信息产业有限公司 | 任务调度方法和系统 |
US20140089477A1 (en) * | 2012-09-27 | 2014-03-27 | Hon Hai Precision Industry Co., Ltd. | System and method for monitoring storage machines |
US20140281064A1 (en) * | 2013-03-18 | 2014-09-18 | Hitachi, Ltd. | Compound storage system and storage control method |
CN106599323A (zh) * | 2017-01-03 | 2017-04-26 | 北京百度网讯科技有限公司 | 在分布式文件系统中实现分布式管道的方法和装置 |
-
2018
- 2018-04-26 CN CN201810386868.8A patent/CN108683717B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1926833A (zh) * | 2004-03-12 | 2007-03-07 | 汤姆森许可贸易公司 | 地理驱动器上的自动远程站点下载 |
CN1684037A (zh) * | 2004-04-13 | 2005-10-19 | 创惟科技股份有限公司 | 电脑作业环境迁移系统、相关装置、方法及电脑可读取储存媒体 |
CN101394397A (zh) * | 2008-01-03 | 2009-03-25 | 中国移动通信集团湖北有限公司 | 用于移动网络的可远程调用的压缩转储方法及其系统 |
CN101770346A (zh) * | 2010-01-04 | 2010-07-07 | 浪潮电子信息产业股份有限公司 | 一种多控制器磁盘阵列协调调度方法 |
CN102111337A (zh) * | 2011-03-14 | 2011-06-29 | 浪潮(北京)电子信息产业有限公司 | 任务调度方法和系统 |
US20140089477A1 (en) * | 2012-09-27 | 2014-03-27 | Hon Hai Precision Industry Co., Ltd. | System and method for monitoring storage machines |
US20140281064A1 (en) * | 2013-03-18 | 2014-09-18 | Hitachi, Ltd. | Compound storage system and storage control method |
CN106599323A (zh) * | 2017-01-03 | 2017-04-26 | 北京百度网讯科技有限公司 | 在分布式文件系统中实现分布式管道的方法和装置 |
Non-Patent Citations (1)
Title |
---|
AS_: "Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)", 《LINUX进程间通信之管道(PIPE)、命名管道(FIFO)与信号(SIGNAL)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN108683717B (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959117B (zh) | H2d写操作加速方法、装置、计算机设备及存储介质 | |
CN107870727B (zh) | 用于存储数据的方法和设备 | |
US8127054B2 (en) | Time-gap defect detection apparatus and method | |
WO2012050935A2 (en) | Apparatus, system, and method for data transformations within a data storage device | |
CN105474186A (zh) | 硬件管理的压缩的高速缓存 | |
EP3051408B1 (en) | Data operating method and device | |
CN103002046B (zh) | 多系统数据拷贝的rdma装置 | |
EP1204027A2 (en) | On-line reconstruction processing method and on-line reconstruction processing apparatus | |
US9459970B2 (en) | Performance during playback of logged data storage operations | |
CN109491605A (zh) | 一种基于cow的数据存储方法、装置和介质 | |
CN109145236A (zh) | 页面文件处理方法、装置及系统 | |
CN107506154A (zh) | 一种元数据的读取方法、装置及计算机可读存储介质 | |
CN105302660B (zh) | 面向分布式存储系统带流检测技术的纠删码写缓冲方法 | |
CN116955225A (zh) | 数据缓存方法、装置、电子设备和可读介质 | |
CN109299043A (zh) | 分布式集群系统大文件删除方法、装置、设备及存储介质 | |
CN104092780A (zh) | 基于文件分块的文件修改方法、单文件同步方法及装置 | |
US20090292788A1 (en) | Data transfer processing apparatus, data transfer processing method, and computer product | |
CN108683717A (zh) | 一种不占用本地磁盘空间的数据转储下载方法 | |
US10078638B2 (en) | Secure hyper transfer of large files | |
CN110119388A (zh) | 文件读写方法、装置、系统、设备及计算机可读存储介质 | |
CN108920300A (zh) | 一种数据操作方法及相关装置 | |
CN107885526A (zh) | 一种文件更新方法及系统 | |
JP4478224B2 (ja) | データ収集方法及び装置 | |
Gu et al. | The upgrade of data processing and storage system for EAST NBI | |
CN117573620B (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 |