CN108683717A - 一种不占用本地磁盘空间的数据转储下载方法 - Google Patents

一种不占用本地磁盘空间的数据转储下载方法 Download PDF

Info

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
Application number
CN201810386868.8A
Other languages
English (en)
Other versions
CN108683717B (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.)
Bao Mu Science And Technology (tianjin) Co Ltd
Original Assignee
Bao Mu Science And Technology (tianjin) 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 Bao Mu Science And Technology (tianjin) Co Ltd filed Critical Bao Mu Science And Technology (tianjin) Co Ltd
Priority to CN201810386868.8A priority Critical patent/CN108683717B/zh
Publication of CN108683717A publication Critical patent/CN108683717A/zh
Application granted granted Critical
Publication of CN108683717B publication Critical patent/CN108683717B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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]
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication 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%。
CN201810386868.8A 2018-04-26 2018-04-26 一种不占用本地磁盘空间的数据转储下载方法 Active CN108683717B (zh)

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)

* Cited by examiner, † Cited by third party
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 北京百度网讯科技有限公司 在分布式文件系统中实现分布式管道的方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
CN106030499A (zh) 计算机系统以及计算机系统控制方法
CN110417677B (zh) 一种基于Ceph分布式存储Osd端数据Recovery的QoS控制方法
CN104166567A (zh) 一种下载网络流数据的方法及装置
US8127054B2 (en) Time-gap defect detection apparatus and method
CN105474186A (zh) 硬件管理的压缩的高速缓存
CN105446653B (zh) 一种数据合并方法和设备
CN103002046B (zh) 多系统数据拷贝的rdma装置
EP1204027A2 (en) On-line reconstruction processing method and on-line reconstruction processing apparatus
EP3051408A1 (en) Data operating method and device
CN109145236A (zh) 页面文件处理方法、装置及系统
CN107506154A (zh) 一种元数据的读取方法、装置及计算机可读存储介质
US8229995B2 (en) Data transfer processing apparatus, data transfer processing method, and computer product
CN111107133A (zh) 差异包的生成方法、数据更新方法、装置和存储介质
CN104092780A (zh) 基于文件分块的文件修改方法、单文件同步方法及装置
CN108683717A (zh) 一种不占用本地磁盘空间的数据转储下载方法
CN109299043A (zh) 分布式集群系统大文件删除方法、装置、设备及存储介质
CN117215804A (zh) 数据处理方法、装置、电子设备及存储介质
US10078638B2 (en) Secure hyper transfer of large files
CN110119388A (zh) 文件读写方法、装置、系统、设备及计算机可读存储介质
CN108920300A (zh) 一种数据操作方法及相关装置
CN105550339A (zh) 一种在线预览文档的方法、装置和系统
CN109800184A (zh) 针对小块输入的缓存方法、系统、装置及可存储介质
CN116955225A (zh) 数据缓存方法、装置、电子设备和可读介质
CN107885526A (zh) 一种文件更新方法及系统
JP4478224B2 (ja) データ収集方法及び装置

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