CN105306570A - 一种集群数据的存储方法 - Google Patents

一种集群数据的存储方法 Download PDF

Info

Publication number
CN105306570A
CN105306570A CN201510707702.8A CN201510707702A CN105306570A CN 105306570 A CN105306570 A CN 105306570A CN 201510707702 A CN201510707702 A CN 201510707702A CN 105306570 A CN105306570 A CN 105306570A
Authority
CN
China
Prior art keywords
file
physical block
cluster
client
storage server
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
CN201510707702.8A
Other languages
English (en)
Other versions
CN105306570B (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.)
Shenzhen Innovation Software Technology Co., Ltd.
Shenzhen Innovation Technology Co., Ltd.
Original Assignee
UIT STORAGE TECHNOLOGY (SHENZHEN) Co Ltd
CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) 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 UIT STORAGE TECHNOLOGY (SHENZHEN) Co Ltd, CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd filed Critical UIT STORAGE TECHNOLOGY (SHENZHEN) Co Ltd
Priority to CN201510707702.8A priority Critical patent/CN105306570B/zh
Publication of CN105306570A publication Critical patent/CN105306570A/zh
Application granted granted Critical
Publication of CN105306570B publication Critical patent/CN105306570B/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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种集群数据的存储方法,包括:a、对于当前待写入集群文件的每个数据块,客户端确定集群存储服务器中是否已保存与该数据块内容相同的物理块文件,如果是,则将已保存的所述物理块文件的路径信息,分别增加到所述客户端和所述集群存储服务器的相应逻辑文件元数据中,并将已保存的所述物理块文件的引用计数器加1;否则所述客户端触发在本客户端和所述集群存储服务器中分别保存所述数据块,并将所述数据块对应的物理块文件的路径信息,增加到所述客户端和所述集群存储服务器对应的逻辑文件元数据中,将所述物理块文件的引用计数器加1。采用本发明,可以有效提高集群存储端的利用率,同时可减少源端系统资源和网络资源的开销。

Description

一种集群数据的存储方法
技术领域
本发明涉及数据存储技术,特别是涉及一种集群数据的存储方法。
背景技术
目前,大规模的集群文件系统能提供PB级甚至是EB级的海量数据存储,存储空间不再是存储技术的瓶颈。但是,提供PB级和EB级存储的基本采用的SATA(1T/2T/4T)硬盘,采用此类硬盘的存储系统,虽然在容量上很客观,但是在性能上不尽人意。针对该情况,出现了闪存阵列技术,其提供的存储空间虽然小了,但是,服务器中的存储端将不存在带宽瓶颈,加上网络采用10GE或PCIE,网络带宽也将不会是瓶颈。但是,采用闪存的固态硬盘(SSD)容量小、价格高,所以单位容量的SSD存储利用率异常重要。有鉴于此,在闪存阵列中,提供高效的在线重复数据删除技术非常重要。
重复数据删除简称数据消重,可以在源端(客户端)或者目标端(服务端)进行,目前系统要么单独在源端,要么单独在目的端进行消重。源端消重在数据源进行,如此会占用大量源端系统资源。目标端消重发生在目标端,数据在传输到目标端再进行消重,它不会占用源端系统资源,但占用大量网络带宽。
由此可见,现有的数据消重方案存在占用大量源端系统资源或网络资源的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种集群数据的存储方法,可以有效提高集群存储端的利用率,同时可减少源端系统资源和网络资源的开销。
为了达到上述目的,本发明提出的技术方案为:
一种集群数据的存储方法,包括:
a、对于当前待写入集群文件的每个数据块,客户端确定集群存储服务器中是否已保存与该数据块内容相同的物理块文件,如果是,则执行步骤b,否则,则执行步骤c;
b、将已保存的所述物理块文件的路径信息,分别增加到所述客户端和所述集群存储服务器的相应逻辑文件元数据中,并将已保存的所述物理块文件的引用计数器加1;退出所述方法;
c、所述客户端触发在本客户端和所述集群存储服务器中分别保存所述数据块,并将所述数据块对应的物理块文件的路径信息,增加到所述客户端和所述集群存储服务器中对应的逻辑文件元数据中,将所述物理块文件的引用计数器加1。
综上所述,本发明提出的一种集群数据的存储方法,通过在进行数据存储时,避免对相同数据块进行重复存储,来达到消除重复数据的目的,以提高存储利用率,同时可以有效减少客户端资源和网络资源的开销。
附图说明
图1为本发明实施例一的方法流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
本发明的核心思想是:客户端在向服务器端存储数据时,需要先确定待保存的数据是否已保存于服务器中,如果已有,则不需要再触发服务器进行数据的保存,而只需在相应的逻辑文件元数据中增加该已有物理块文件的地址信息即可。如此,可以有效避免相同的数据块对物理存储空间的重复使用,以及在集群服务器和客户端之间的重复传输,从而可以在提高集群服务器中存储端的利用率的同时,减少客户端资源和网络资源的开销。
图1为本发明实施例一的流程示意图,如图1所示,该实施例所实现的集群数据的存储方法主要包括:
步骤101、对于当前待写入集群文件的每个数据块,客户端确定集群存储服务器中是否已保存与该数据块内容相同的物理块文件,如果是,则执行步骤102,否则,则执行步骤103。
本步骤,用于在进行数据块存储时先确定此前该数据块是否已经保存过,如果已保存,则不需要再进行存储,如果没有保存过,则需要对其执行物理上的存储,这样,在存储环节即可避免客户端和集群存储服务器对相同内容的数据块进行多次重复地物理存储,从而可以提高存储资源利用率,并且可以避免相同内容的数据块在网络上的多次重复传输。
这里需要说明的是,和现有系统一样,集群文件系统中的文件,由逻辑文件和一个或多个物理块文件组成。物理块文件用于保存数据块,其存放路径由逻辑文件对应的元数据信息指出。系统中定义了多种物理块文件的长度,如64k、32k等。
较佳地,步骤101中可以采用下述方法来确定集群存储服务器中是否已保存与该数据块内容相同的物理块文件:
步骤a1、所述客户端为所述数据块生成相应的校验码M,判断所述校验码M是否存在于当前保存的所述集群存储服务器中的校验码集合中,如果是,则确定所述集群存储服务器中已保存与所述数据块内容相同的物理块文件,结束所述步骤101,否则,执行步骤a2。
本方法中,将依据数据块的校验码来确定是否已保存相同的数据块。这里,为了减少网络资源的开销,客户端需要先在本地已保存的校验码中查询是否有相同的校码,如果有,则基于本地客户端的校码码信息即可确定已保存与所述数据块内容相同的物理块文件,否则,需要执行步骤a2,将数据块的校验码M发送给集群存储服务器,由集群存储服务器进行判断。
在实际应用中,客户端开机初始化时可以从集群存储服务器中获取已保存数据块的校验码信息。
步骤a2、所述客户端将所述校验码M发送给所述集群存储服务器。
步骤a3、所述集群存储服务器判断所述校验码是否存在于当前存储的相同大小的所有数据块的校验码中,并将所述判断结果通知给所述客户端。
步骤a4、如果所述判断结果为存在相同校验码,则所述客户端确定所述集群存储服务器中已保存与所述数据块内容相同的物理块文件,否则,确定所述集群存储服务器中未保存与所述数据块内容相同的物理块文件。
步骤102、将已保存的所述物理块文件的路径信息,分别增加到所述客户端和所述集群存储服务器的相应逻辑文件元数据中,并将已保存的所述物理块文件的引用计数器加1;退出所述方法。
本步骤,用于在确定出已保存相同内容的数据块时,对相应的逻辑文件元数据进行更新。这里,不需要再为该数据块建物理块文件,而是将已保存的相同内容数据块的地址信息增加到当前待保存的数据块所属文件的逻辑文件元数据中即可,即只需要进行逻辑文件的更新,使逻辑文件直接链接到已有物理块文件上。这样,通过在数据存储环节确保只为相同内容的多个数据块只创建一个物理块文件,可以有效提高存储空间的利用率,节省客户端与服务器之间的数据传输开销。
这里需要说明的是,每个物理块文件都会有一个引用计数器,该引用计数器用于指示该数据块被逻辑文件元数据关联的次数,因此,这里,在对逻辑文件元数据进行更新后,同时需要将相应的引用计数器加1。
步骤103、所述客户端触发在本客户端和所述集群存储服务器中分别保存所述数据块,并将所述数据块对应的物理块文件的路径信息,增加到所述客户端和所述集群存储服务器中对应的逻辑文件元数据中,将所述物理块文件的引用计数器加1。
本步骤,用于在确定出未保存相同内容的数据块时,在客户端和集群存储服务器分别对该数据块进行保存,并对相应的逻辑文件元数据进行更新,即,将在客户端和集群存储服务器中为该数据块生成的两个物理块文件的地址信息,增加到客户端和集群存储服务器中对应的逻辑文件元数据中。
较佳地,客户端和集群存储服务器可以采用下述方法进行数据块的保存:
为所述数据块创建一物理块文件,并将所述数据块保存至该物理块文件中,同时将所述物理块文件对应的校验码加载到内存中。
进一步地,当客户端需要删除文件时,可以采用下述方法,进行文件删除:
当所述集群存储服务器接收到所述客户端的文件删除请求时,对于请求删除的文件中的每个物理块文件,所述集群存储服务器判断该物理块文件的引用计数器是否大于1,如果是,则将所述物理块文件的引用计数器减1,将相应的元数据从本服务器的相应逻辑文件中删除,并触发所述客户端删除相应逻辑文件中的相应元数据;否则,在所述集群存储服务器中删除所述物理块文件,将相应的元数据从本服务器的相应逻辑文件中删除,将相应的校验码从内存中删除,并触发所述客户端删除相应的物理块文件、删除相应逻辑文件中的相应元数据以及将相应的校验码从内存中删除。
这里,如果需要删除的物理块文件的引用计数器大于1,说明其被多次引用,因此,这里不能进行物理删除,而只需要对相应的元数据进行删除。
较佳地,为了进一步节约客户端的存储资源,可以在其存储占用空间达到一定程度时,选择一些物理块文件从客户端删除,只保留服务器中的物理块文件,从而可以更大程度减少对客户端系统资源的占用,具体地可以采用下述方法实现:
当所述客户端的存储占用空间达到预设的最大存储阈值时,所述客户端按照预设的删除原则,选择需要删除的物理块文件,所选择的物理块文件的引用计数器数值为1;
对于所选择的每个物理块文件,在所述客户端删除该物理块文件、其引用计数器及其校验码,将该物理块文件在本客户端的地址信息,从所述客户端和所述集群存储服务器的相应逻辑文件元数据中删除。
较佳地,上述删除原则可由本领域技术人员根据实际需要设置,例如可以包括以下规则,但不限于此:
选择使用频率小于预设阈值或者存储时长大于预设时间的物理块文件,作为需要删除的物理块文件。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种集群数据的存储方法,其特征在于,包括:
a、对于当前待写入集群文件的每个数据块,客户端确定集群存储服务器中是否已保存与该数据块内容相同的物理块文件,如果是,则执行步骤b,否则,则执行步骤c;
b、将已保存的所述物理块文件的路径信息,分别增加到所述客户端和所述集群存储服务器的相应逻辑文件元数据中,并将已保存的所述物理块文件的引用计数器加1;退出所述方法;
c、所述客户端触发在本客户端和所述集群存储服务器中分别保存所述数据块,并将所述数据块对应的物理块文件的路径信息,增加到所述客户端和所述集群存储服务器中对应的逻辑文件元数据中,将所述物理块文件的引用计数器加1。
2.根据权利要求1所述的方法,其特征在于,步骤a中所述确定集群存储服务器中是否已保存与该数据块内容相同的物理块文件包括:
a1、所述客户端为所述数据块生成相应的校验码M,判断所述校验码M是否存在于当前保存的所述集群存储服务器中的校验码集合中,如果是,则确定所述集群存储服务器中已保存与所述数据块内容相同的物理块文件,结束所述步骤a,否则,执行步骤a2;
a2、所述客户端将所述校验码M发送给所述集群存储服务器;
a3、所述集群存储服务器判断所述校验码是否存在于当前存储的相同大小的所有数据块的校验码中,并将所述判断结果通知给所述客户端;
a4、如果所述判断结果为存在相同校验码,则所述客户端确定所述集群存储服务器中已保存与所述数据块内容相同的物理块文件,否则,确定所述集群存储服务器中未保存与所述数据块内容相同的物理块文件。
3.根据权利要求1所述的方法,其特征在于,所述保存所述数据块包括:
为所述数据块创建一物理块文件,并将所述数据块保存至该物理块文件中,同时将所述物理块文件对应的校验码加载到内存中。
4.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
当所述集群存储服务器接收到所述客户端的文件删除请求时,对于请求删除的文件中的每个物理块文件,所述集群存储服务器判断该物理块文件的引用计数器是否大于1,如果是,则将所述物理块文件的引用计数器减1,将相应的元数据从本服务器的相应逻辑文件中删除,并触发所述客户端删除相应逻辑文件中的相应元数据;否则,在所述集群存储服务器中删除所述物理块文件,将相应的元数据从本服务器的相应逻辑文件中删除,将相应的校验码从内存中删除,并触发所述客户端删除相应的物理块文件、删除相应逻辑文件中的相应元数据以及将相应的校验码从内存中删除。
5.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
当所述客户端的存储占用空间达到预设的最大存储阈值时,所述客户端按照预设的删除原则,选择需要删除的物理块文件,所选择的物理块文件的引用计数器数值为1;
对于所选择的每个物理块文件,在所述客户端删除该物理块文件、其引用计数器及其校验码,将该物理块文件在本客户端的地址信息,从所述客户端和所述集群存储服务器的相应逻辑文件元数据中删除。
6.根据权利要求5所述的方法,其特征在于,所述删除原则包括:
选择使用频率小于预设阈值或者存储时长大于预设时间的物理块文件,作为需要删除的物理块文件。
CN201510707702.8A 2015-10-27 2015-10-27 一种集群数据的存储方法 Active CN105306570B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510707702.8A CN105306570B (zh) 2015-10-27 2015-10-27 一种集群数据的存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510707702.8A CN105306570B (zh) 2015-10-27 2015-10-27 一种集群数据的存储方法

Publications (2)

Publication Number Publication Date
CN105306570A true CN105306570A (zh) 2016-02-03
CN105306570B CN105306570B (zh) 2018-07-20

Family

ID=55203313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510707702.8A Active CN105306570B (zh) 2015-10-27 2015-10-27 一种集群数据的存储方法

Country Status (1)

Country Link
CN (1) CN105306570B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055271A (zh) * 2016-05-17 2016-10-26 浪潮(北京)电子信息产业有限公司 一种基于云计算的重复数据去重选择方法及装置
CN106649721A (zh) * 2016-12-22 2017-05-10 创新科存储技术有限公司 一种文件排重方法和装置
CN106843773A (zh) * 2017-02-16 2017-06-13 天津书生云科技有限公司 存储方法和分布式存储系统
CN109101514A (zh) * 2017-06-21 2018-12-28 北京国双科技有限公司 数据导入方法及装置
CN111949629A (zh) * 2020-07-22 2020-11-17 金钱猫科技股份有限公司 一种面向边缘云的文件存储方法及终端

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025595A (zh) * 2009-09-22 2011-04-20 常诚 流量优化方法及系统
CN102301377A (zh) * 2008-12-18 2011-12-28 科普恩股份有限公司 用于内容感知的数据分区和数据去重复的方法和设备
CN102857578A (zh) * 2012-09-25 2013-01-02 新浪网技术(中国)有限公司 一种网络硬盘的文件上传方法、系统及网盘客户端
CN103324552A (zh) * 2013-06-06 2013-09-25 西安交通大学 两阶段单实例去重数据备份方法
CN103561056A (zh) * 2013-10-12 2014-02-05 北京奇虎科技有限公司 文件传输方法、设备及系统
CN103916483A (zh) * 2014-04-28 2014-07-09 中国科学院成都生物研究所 一种针对编码冗余存储系统的自适应数据存储与重构方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301377A (zh) * 2008-12-18 2011-12-28 科普恩股份有限公司 用于内容感知的数据分区和数据去重复的方法和设备
CN102025595A (zh) * 2009-09-22 2011-04-20 常诚 流量优化方法及系统
CN102857578A (zh) * 2012-09-25 2013-01-02 新浪网技术(中国)有限公司 一种网络硬盘的文件上传方法、系统及网盘客户端
CN103324552A (zh) * 2013-06-06 2013-09-25 西安交通大学 两阶段单实例去重数据备份方法
CN103561056A (zh) * 2013-10-12 2014-02-05 北京奇虎科技有限公司 文件传输方法、设备及系统
CN103916483A (zh) * 2014-04-28 2014-07-09 中国科学院成都生物研究所 一种针对编码冗余存储系统的自适应数据存储与重构方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055271A (zh) * 2016-05-17 2016-10-26 浪潮(北京)电子信息产业有限公司 一种基于云计算的重复数据去重选择方法及装置
CN106055271B (zh) * 2016-05-17 2019-01-25 浪潮(北京)电子信息产业有限公司 一种基于云计算的重复数据去重选择方法及装置
CN106649721A (zh) * 2016-12-22 2017-05-10 创新科存储技术有限公司 一种文件排重方法和装置
CN106649721B (zh) * 2016-12-22 2021-06-22 创新科技术有限公司 一种文件排重方法和装置
CN106843773A (zh) * 2017-02-16 2017-06-13 天津书生云科技有限公司 存储方法和分布式存储系统
CN106843773B (zh) * 2017-02-16 2021-12-03 北京书生云科技有限公司 存储方法和分布式存储系统
CN109101514A (zh) * 2017-06-21 2018-12-28 北京国双科技有限公司 数据导入方法及装置
CN111949629A (zh) * 2020-07-22 2020-11-17 金钱猫科技股份有限公司 一种面向边缘云的文件存储方法及终端
CN111949629B (zh) * 2020-07-22 2024-03-22 金钱猫科技股份有限公司 一种面向边缘云的文件存储方法及终端

Also Published As

Publication number Publication date
CN105306570B (zh) 2018-07-20

Similar Documents

Publication Publication Date Title
US11169967B2 (en) Selective deduplication
US9665427B2 (en) Hierarchical data storage architecture
US9454321B1 (en) Workload-driven storage configuration management
US10671285B2 (en) Tier based data file management
US11531641B2 (en) Storage system deduplication with service level agreements
US10983707B2 (en) Asymmetric storage data distribution
CN105306570A (zh) 一种集群数据的存储方法
US8849898B2 (en) Adaptive collaborative de-duplication
US9313270B2 (en) Adaptive asynchronous data replication in a data storage system
US9355121B1 (en) Segregating data and metadata in a file system
GB2518158A (en) Method and system for data access in a storage infrastructure
CN110837479B (zh) 数据处理方法、相关设备及计算机存储介质
US20180004430A1 (en) Chunk Monitoring
CN105653209A (zh) 一种对象存储数据传输方法及装置
CN107145449B (zh) 存储设备和存储方法
CN109002260B (zh) 一种缓存数据的处理方法和处理系统
TWI420333B (zh) 分散式的重複數據刪除系統及其處理方法
CN103885859A (zh) 一种基于全局统计的去碎片方法及系统
Jo et al. On the trade-off between performance and storage efficiency of replication-based object storage
US10635334B1 (en) Rule based data transfer model to cloud
CN109416663B (zh) 用于最小化存储系统和其设备内的ssd中的碎片化的方法
US10063256B1 (en) Writing copies of objects in enterprise object storage systems
CN108733822A (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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518057 Room 501A, 9 Buildings, Shenzhen Software Park (Phase 2), No. 1 Science and Technology Middle Road, Nanshan High-tech Zone, Shenzhen, Guangdong Province

Co-patentee after: Shenzhen Innovation Technology Co., Ltd.

Patentee after: Shenzhen Innovation Software Technology Co., Ltd.

Address before: 518057 Section D West, 2nd Floor, 1st # Building, Industrial Building, Great Wall Computer Building, No. 3 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province

Co-patentee before: UIT Storage Technology (Shenzhen) Co., Ltd.

Patentee before: Chuangxinke Software Technology (Shenzhen) Co., Ltd.