CN108897808A - 一种在云存储系统中进行数据存储的方法及系统 - Google Patents
一种在云存储系统中进行数据存储的方法及系统 Download PDFInfo
- Publication number
- CN108897808A CN108897808A CN201810624542.4A CN201810624542A CN108897808A CN 108897808 A CN108897808 A CN 108897808A CN 201810624542 A CN201810624542 A CN 201810624542A CN 108897808 A CN108897808 A CN 108897808A
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- data file
- subregion
- file
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 823
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013500 data storage Methods 0.000 title claims abstract description 28
- 230000006837 decompression Effects 0.000 claims abstract description 145
- 230000006835 compression Effects 0.000 claims description 358
- 238000007906 compression Methods 0.000 claims description 358
- 238000012544 monitoring process Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 7
- 238000010408 sweeping Methods 0.000 claims 2
- 230000015572 biosynthetic process Effects 0.000 description 77
- 238000003786 synthesis reaction Methods 0.000 description 77
- 230000001174 ascending effect Effects 0.000 description 18
- 238000012935 Averaging Methods 0.000 description 16
- 230000001360 synchronised effect Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 10
- 238000012163 sequencing technique Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 230000000717 retained effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000000151 deposition Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 238000011282 treatment Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种在云存储系统中进行数据存储的方法和系统,方法包括:计算每个数据存储节点的剩余容量比率和多个数据存储节点的平均剩余存储容量;获取所述第一数据存储节点内多个数据文件中每个数据文件在预定时间段内的被访问次数;将所述第一数据存储节点的存储区域划分为四个存储子区域根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域;接收针对于目标数据文件的获取请求,确定与目标数据文件相关联的多个关联数据文件;对多个存储子区域进行关联数据文件的扫描,并且根据扫描结果来进行关联数据文件的解压缩。
Description
技术领域
本发明涉及云计算的云存储领域,并且更具体地,涉及一种在云存储系统中进行数据存储的方法及系统。
背景技术
云存储是在云计算概念上延伸和发展出来的一个新的概念,是一种新兴的网络存储技术。云存储是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的系统。目前,由于云存储所涉及的数量日益增加并且经常呈现数据不均衡的情况。为此,需要对云存储系统中数据存储节点中的数据存储进行动态管理以解决上述问题。
发明内容
根据本发明的一个方面,提供一种在云存储系统中进行数据存储的方法,所述方法包括:
获取所述云存储系统内多个数据存储节点中每个数据存储节点的剩余存储容量和总存储容量,根据剩余存储容量和总存储容量计算每个数据存储节点的剩余容量比率,根据每个数据存储节点的剩余存储容量计算所述云存储系统内多个数据存储节点的平均剩余存储容量;
当所述多个数据存储节点中的第一数据存储节点的剩余容量比率低于余量比率阈值并且所述第一数据存储节点的剩余存储容量大于平均剩余存储容量时,获取所述第一数据存储节点内多个数据文件中每个数据文件在预定时间段内的被访问次数;
将所述第一数据存储节点的存储区域划分为四个存储子区域,并且为每个存储子区域分配存储级别,其中所述存储级别包括:缓冲存储级、高压缩率存储级、中压缩率存储级和低压缩率存储级;
根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域(分配策略);
以高压缩率对高压缩率存储级的存储子区域中的数据文件进行压缩,以中压缩率对中压缩率存储级的存储子区域中的数据文件进行压缩以及以低压缩率对低压缩率存储级的存储子区域中的数据文件进行压缩,其中高压缩率、中压缩率和低压缩率的压缩程度依次升高;以及不对缓冲存储级的存储子区域中的数据文件进行压缩;
接收针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求,基于所述目标数据文件的关联统计信息,确定与所述目标数据文件相关联的多个关联数据文件;
在高压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个高压缩率的关联数据文件标记为第一解压级并移动到缓冲存储级的存储子区域;
在所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件进行解压缩的同时,在中压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个中压缩率的关联数据文件标记为第二解压级并移动到缓冲存储级的存储子区域,接着在低压缩率存储级的存储子区域进行关联数据文件的扫描,将至少一个低压缩率的关联数据文件标记为第三解压级;
在所述标记为第一解压级的至少一个高压缩率的关联数据文件的解压缩完成后,将所述缓冲存储级的存储子区域中标记为第二解压级的至少一个中压缩率的关联数据文件进行解压缩,并且同时将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩以生成经过解压缩的至少一个关联数据文件;以及
将低压缩率存储级的存储子区域中经过解压缩的至少一个关联数据文件移动到所述缓冲存储级的存储子区域。
根据本发明的另一个方面,提供一种在云存储系统中进行数据存储的方法,所述方法包括:
获取所述云存储系统内多个数据存储节点中每个数据存储节点的剩余存储容量和总存储容量,根据剩余存储容量和总存储容量计算每个数据存储节点的剩余容量比率,根据每个数据存储节点的剩余存储容量计算所述云存储系统内多个数据存储节点的平均剩余存储容量;
当所述多个数据存储节点中的第一数据存储节点的剩余容量比率低于余量比率阈值并且所述第一数据存储节点的剩余存储容量大于平均剩余存储容量时,获取所述第一数据存储节点内多个数据文件中每个数据文件在预定时间段内的被访问次数;
将所述第一数据存储节点的存储区域划分为四个存储子区域,并且为每个存储子区域分配存储级别,其中所述存储级别包括:缓冲存储级、高压缩率存储级、中压缩率存储级和低压缩率存储级;
根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域中(分配策略);
以高压缩率对高压缩率存储级的存储子区域中的数据文件进行压缩,以中压缩率对中压缩率存储级的存储子区域中的数据文件进行压缩以及以低压缩率对低压缩率存储级的存储子区域中的数据文件进行压缩,其中高压缩率、中压缩率和低压缩率的压缩程度依次升高;以及不对缓冲存储级的存储子区域中的数据文件进行压缩;
接收针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求,基于所述目标数据文件的关联统计信息,确定与所述目标数据文件相关联的多个关联数据文件;
在高压缩率存储级的存储子区域进行关联数据文件的扫描,将至少一个高压缩率的关联数据文件标记为第一解压级并移动到缓冲存储级的存储子区域;
在所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件进行解压缩的同时,在中压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个中压缩率的关联数据文件标记为第二解压级并移动到缓冲存储级的存储子区域,接着在低压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个低压缩率的关联数据文件标记为第三解压级并移动到缓冲存储级的存储子区域;以及
在所述标记为第一解压级的至少一个高压缩率的关联数据文件的解压缩完成后,将所述缓冲存储级的存储子区域中标记为第二解压级的至少一个中压缩率的关联数据文件进行解压缩,然后将所述缓冲存储级的存储子区域中标记为第三解压级的至少一个低压缩率的关联数据文件进行解压缩。
还包括以第一时间间隔为时间单位,确定缓冲存储级的存储子区域内所有数据文件中每个数据文件在每个第一时间间隔内的被访问次数,将当前的第一时间间隔内被访问次数低于第一数量阈值的数据文件移动到高压缩率存储级的存储子区域并且以高压缩率进行压缩。
还包括以第二时间间隔为时间单位,确定高压缩率存储级的存储子区域内所有高压缩率的数据文件中每个高压缩率的数据文件在每个第二时间间隔内的被访问次数,将当前的第二时间间隔内被访问次数低于第二数量阈值的高压缩率的数据文件移动到中压缩率存储级的存储子区域并且以中压缩率进行压缩;
其中,在中压缩率存储级的存储子区域中,将当前的第二时间间隔内被访问次数低于第二数量阈值的高压缩率的数据文件进行解压缩以获得未经压缩的数据文件,并以中压缩率对所获得的未经压缩的数据文件进行压缩;
或者,在中压缩率存储级的存储子区域中,将当前的第二时间间隔内被访问次数低于第二数量阈值的高压缩率的数据文件进行二次压缩,以获得中压缩率的数据文件。
还包括以第三时间间隔为时间单位,确定中压缩率存储级的存储子区域内所有中压缩率的数据文件中每个中压缩率的数据文件在每个第三时间间隔内的被访问次数,将当前的第三时间间隔内被访问次数低于第三数量阈值的中压缩率的数据文件移动到低压缩率存储级的存储子区域并且以低压缩率进行压缩;
其中,在低压缩率存储级的存储子区域中,将当前的第三时间间隔内被访问次数低于第三数量阈值的中压缩率的数据文件进行解压缩以获得未经压缩的数据文件,并以低压缩率对所获得的未经压缩的数据文件进行压缩;
或者,在低压缩率存储级的存储子区域中,将当前的第三时间间隔内被访问次数低于第三数量阈值的中压缩率的数据文件进行二次压缩,以获得低压缩率的数据文件。
还包括以第四时间间隔为时间单位,确定低压缩率存储级的存储子区域内所有低压缩率的数据文件中每个低压缩率的数据文件在每个第四时间间隔内的被访问次数,在当前的第四时间间隔内被访问次数低于第四数量阈值的低压缩率的多个数据文件的数量大于分组数量阈值时,将当前的第四时间间隔内被访问次数低于第四数量阈值的低压缩率的多个数据文件组成为预定数量的文件组。
为每个文件组设置描述信息,所述描述信息包括文件组所包括的每个低压缩率的数据文件的文件名称;或者,为每个文件组设置描述信息,所述描述信息包括多个三元组,每个三元组的格式为<文件名称、文件尺寸、存储时间>并且文件组中的每个低压缩率的数据文件具有一个相关联的三元组,其中存储时间是低压缩率的数据文件在低压缩率存储级的存储子区域中存储的时间,或者存储时间是数据文件在第一数据存储节点内存储的总时间;或者,为每个文件组设置描述信息,所述描述信息包括多个四元组,每个四元组的格式为<文件名称、文件尺寸、文件类型、存储时间>并且文件组中的每个低压缩率的数据文件具有一个相关联的四元组,其中存储时间是低压缩率的数据文件在低压缩率存储级的存储子区域中存储的时间,或者存储时间是数据文件在第一数据存储节点内存储的总时间。
在当前时间与特定文件组的创建时间的差值达到删除时间阈值时,将所述特定文件组删除。
其中数据存储节点是个人计算机、服务器、工作站、计算机集群或服务器集群。
当所述多个数据存储节点中的第二数据存储节点的剩余容量比率低于余量比率阈值并且所述第二数据存储节点的剩余存储容量小于或等于平均剩余存储容量时,在第二数据存储节点的多个数据文件中选择准备移动的至少一个数据文件,以使得将所述准备移动的至少一个数据文件移动到中转服务器后,所述第二数据存储节点的剩余容量比率大于余量比率阈值。
其中在第二数据存储节点的多个数据文件中选择准备移动的至少一个数据文件包括:
按照存储时间对第二数据存储节点的多个数据文件进行降序排列,从存储时间最长的数据文件开始,按照降序顺序选择准备移动的至少一个数据文件;或者按照存储时间对第二数据存储节点的多个数据文件进行升序排列,从存储时间最短的数据文件开始,按照升序顺序选择准备移动的至少一个数据文件;或者按照文件尺寸对第二数据存储节点的多个数据文件进行降序排列,从文件尺寸最大的数据文件开始,按照降序顺序选择准备移动的至少一个数据文件;或者按照文件尺寸对第二数据存储节点的多个数据文件进行升序排列,从存储时间最小的数据文件开始,按照升序顺序选择准备移动的至少一个数据文件。
所述预定时间段为以当前时间为结束点并且以过去的时间为开始点的一段时间;根据系统配置或用户设置来确定所述预定时间段的时间长度;余量比率阈值为5%、10%、20%、30%或40%。
其中根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域包括:将被访问次数大于或等于高次数阈值的数据文件分配到缓冲存储级的存储子区域;将被访问次数小于高次数阈值并且大于或等于中次数阈值的数据文件分配到高压缩率存储级的存储子区域;将被访问次数小于中次数阈值并且大于或等于低次数阈值的数据文件分配到中压缩率存储级的存储子区域;以及将被访问次数小于低次数阈值的数据文件分配到低压缩率存储级的存储子区域。
当云存储系统的接口单元接收到来自用户设备的数据访问请求时,对所述数据访问请求进行解析,当确定所述数据访问请求所涉及的目标数据文件位于所述第一数据存储节点的缓冲存储级的存储子区域中时,向所述第一数据存储节点发送针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求。
当云存储系统的接口单元接收到来自用户设备的数据访问请求时,对所述数据访问请求进行解析,当确定所述数据访问请求所涉及的目标数据文件位于所述第一数据存储节点的高压缩率存储级、中压缩率存储级或低压缩率存储级的存储子区域中时,向所述第一数据存储节点发送针对于所述第一数据存储节点的高压缩率存储级或中压缩率存储级的存储子区域中存储的目标数据文件的获取请求,第一数据存储节点对高压缩率存储级、中压缩率存储级或低压缩率存储级的存储子区域中进行目标数据文件的搜索,并且将搜索得到的目标数据文件通过接口单元发送给用户设备。
当检测到如下条件成立时,对所述第一数据存储节点内所有经过压缩的数据文件进行解压缩,并且取消对第一数据存储节点的四个存储子区域的划分:将所述第一数据存储节点内所有经过压缩的数据文件进行解压缩的情况下,所述第一数据存储节点的剩余容量比率连续高于余量比率阈值的持续时间达到时间阈值。
其中单个数据文件或经过压缩的单个数据文件被存储在所述第一数据存储节点的单个存储子区域中,并且单个存储子区域中能够存储至少一个数据文件或至少一个经过压缩的数据文件。
多个数据存储节点中的每个数据存储节点具有各自的关联统计文件,所述关联统计文件包括多条关联统计信息,其中每条关联统计信息用于指示每个数据文件的多个关联数据文件。(此外,特定数据文件的关联统计信息还包括特定数据文件的多个关联数据文件中每个关联数据文件与所述特定数据文件的内容关联度、运行关联度、反馈关联度或综合关联度。)
还包括确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度,基于内容关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;
其中将任意的两个数据文件的摘要信息进行内容匹配的匹配值来确定所述任意的两个数据文件之间的内容关联度。
所述预先设置的选择规则包括:排序列表中内容关联度大于关联度阈值的多个数据文件,或者排序列表中内容关联度排名在预定名次之前的多个数据文件。
还包括确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度,基于运行关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;
其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度。
所述预先设置的选择规则包括:排序列表中运行关联度大于关联度阈值的多个数据文件,或者排序列表中运行关联度排名在预定名次之前的多个数据文件。
还包括确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的反馈关联度,基于反馈关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;
其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。
所述预先设置的选择规则包括:排序列表中反馈关联度大于关联度阈值的多个数据文件,或者排序列表中反馈关联度排名在预定名次之前的多个数据文件。
还包括确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;
其中将任意两个数据文件的摘要信息进行内容匹配来确定所述任意两个数据文件之间的内容关联度;
其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度;
其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度和运行关联度进行加权计算以确定综合关联度。
所述预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。
还包括确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;
其中将任意两个数据文件的摘要信息进行内容匹配来确定所述任意两个数据文件之间的内容关联度;
其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。
其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度和反馈关联度进行加权计算以确定综合关联度。
所述预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。
还包括确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;
其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度;
其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。
其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度和反馈关联度进行加权计算以确定综合关联度。
所述预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。
还包括确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;
其中将任意两个数据文件的摘要信息进行内容匹配来确定所述任意两个数据文件之间的内容关联度;
其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度;
其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。
其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度、运行关联度和反馈关联度进行加权计算以确定综合关联度。
所述预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。
还包括基于所述多个关联数据文件中每个关联数据文件在进行关联运行时与目标数据文件的关联运行次数、关联运行时间和同步启动次数,在所述关联统计信息中为每个关联数据文件设置关联等级,所述关联等级包括:强关联和弱关联。
还包括获取每个数据文件的运行历史信息,根据运行历史信息确定每个关联数据文件在进行关联运行时与目标数据文件的关联运行次数、关联运行时间和同步启动次数。其中关联运行次数是在统计时间段内,两个数据文件进行关联运行的次数;其中关联运行时间是在统计时间段内,两个数据文件进行关联运行的时间长度;其中同步启动次数是在统计时间段内,两个数据文件进行同步启动的次数;其中关联运行是指两个数据文件各自被调用或开始运行的时间的差值大于第一预定时间间隔并且小于第二预定时间间隔;其中同步启动是指两个数据文件各自被调用或开始运行的时间的差值小于或等于第一预定时间间隔。
基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的多个关联数据文件包括:基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的并且关联等级为强关联的多个关联数据文件。
基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的多个关联数据文件包括:基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的并且关联等级为弱关联的多个关联数据文件。
其中高压缩率为90%、中压缩率为80%以及低压缩率为70%(实际上是压缩率的范围)。
其中将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩包括:在低压缩率存储级的存储子区域中从低地址向高地址方向对标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩。其中将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩包括:在低压缩率存储级的存储子区域中从高地址向低地址方向对标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩。
根据本发明的另一个方面,提供一种在云存储系统中进行数据存储的系统,所述系统包括:
计算单元,获取所述云存储系统内多个数据存储节点中每个数据存储节点的剩余存储容量和总存储容量,根据剩余存储容量和总存储容量计算每个数据存储节点的剩余容量比率,根据每个数据存储节点的剩余存储容量计算所述云存储系统内多个数据存储节点的平均剩余存储容量;
监测单元,当所述多个数据存储节点中的第一数据存储节点的剩余容量比率低于余量比率阈值并且所述第一数据存储节点的剩余存储容量大于平均剩余存储容量时,获取所述第一数据存储节点内多个数据文件中每个数据文件在预定时间段内的被访问次数;
分配单元,将所述第一数据存储节点的存储区域划分为四个存储子区域,并且为每个存储子区域分配存储级别,其中所述存储级别包括:缓冲存储级、高压缩率存储级、中压缩率存储级和低压缩率存储级;
根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域(分配策略);
压缩单元,以高压缩率对高压缩率存储级的存储子区域中的数据文件进行压缩,以中压缩率对中压缩率存储级的存储子区域中的数据文件进行压缩以及以低压缩率对低压缩率存储级的存储子区域中的数据文件进行压缩,其中高压缩率、中压缩率和低压缩率的压缩程度依次升高;以及不对缓冲存储级的存储子区域中的数据文件进行压缩;
接口单元,接收针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求;
关联单元,基于所述目标数据文件的关联统计信息,确定与所述目标数据文件相关联的多个关联数据文件;
扫描单元,在高压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个高压缩率的关联数据文件标记为第一解压级并移动到缓冲存储级的存储子区域;
在所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件进行解压缩的同时,在中压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个中压缩率的关联数据文件标记为第二解压级并移动到缓冲存储级的存储子区域,接着在低压缩率存储级的存储子区域进行关联数据文件的扫描,将至少一个低压缩率的关联数据文件标记为第三解压级;
解压单元,对所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件进行解压缩,并且在所述标记为第一解压级的至少一个高压缩率的关联数据文件的解压缩完成后,将所述缓冲存储级的存储子区域中标记为第二解压级的至少一个中压缩率的关联数据文件进行解压缩,并且同时将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩以生成经过解压缩的至少一个关联数据文件;将低压缩率存储级的存储子区域中经过解压缩的至少一个关联数据文件移动到所述缓冲存储级的存储子区域。
根据本发明的另一个方面,提供一种在云存储系统中进行数据存储的系统,所述系统包括:
计算单元,获取所述云存储系统内多个数据存储节点中每个数据存储节点的剩余存储容量和总存储容量,根据剩余存储容量和总存储容量计算每个数据存储节点的剩余容量比率,根据每个数据存储节点的剩余存储容量计算所述云存储系统内多个数据存储节点的平均剩余存储容量;
监测单元,当所述多个数据存储节点中的第一数据存储节点的剩余容量比率低于余量比率阈值并且所述第一数据存储节点的剩余存储容量大于平均剩余存储容量时,获取所述第一数据存储节点内多个数据文件中每个数据文件在预定时间段内的被访问次数;
分配单元,将所述第一数据存储节点的存储区域划分为四个存储子区域,并且为每个存储子区域分配存储级别,其中所述存储级别包括:缓冲存储级、高压缩率存储级、中压缩率存储级和低压缩率存储级;
根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域中(分配策略);
压缩单元,以高压缩率对高压缩率存储级的存储子区域中的数据文件进行压缩,以中压缩率对中压缩率存储级的存储子区域中的数据文件进行压缩以及以低压缩率对低压缩率存储级的存储子区域中的数据文件进行压缩,其中高压缩率、中压缩率和低压缩率的压缩程度依次升高;以及不对缓冲存储级的存储子区域中的数据文件进行压缩;
接口单元,接收针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求;
关联单元,基于所述目标数据文件的关联统计信息,确定与所述目标数据文件相关联的多个关联数据文件;
扫描单元,在高压缩率存储级的存储子区域进行关联数据文件的扫描,将至少一个高压缩率的关联数据文件标记为第一解压级并移动到缓冲存储级的存储子区域;
在所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件进行解压缩的同时,在中压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个中压缩率的关联数据文件标记为第二解压级并移动到缓冲存储级的存储子区域,接着在低压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个低压缩率的关联数据文件标记为第三解压级并移动到缓冲存储级的存储子区域;以及
解压单元,对所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件进行解压缩,并且在所述标记为第一解压级的至少一个高压缩率的关联数据文件的解压缩完成后,将所述缓冲存储级的存储子区域中标记为第二解压级的至少一个中压缩率的关联数据文件进行解压缩,然后将所述缓冲存储级的存储子区域中标记为第三解压级的至少一个低压缩率的关联数据文件进行解压缩。
还包括分级处理单元,以第一时间间隔为时间单位,确定缓冲存储级的存储子区域内所有数据文件中每个数据文件在每个第一时间间隔内的被访问次数,将当前的第一时间间隔内被访问次数低于第一数量阈值的数据文件移动到高压缩率存储级的存储子区域并且以高压缩率进行压缩。
还包括分级处理单元,以第二时间间隔为时间单位,确定高压缩率存储级的存储子区域内所有高压缩率的数据文件中每个高压缩率的数据文件在每个第二时间间隔内的被访问次数,将当前的第二时间间隔内被访问次数低于第二数量阈值的高压缩率的数据文件移动到中压缩率存储级的存储子区域并且以中压缩率进行压缩;
其中,在中压缩率存储级的存储子区域中,将当前的第二时间间隔内被访问次数低于第二数量阈值的高压缩率的数据文件进行解压缩以获得未经压缩的数据文件,并以中压缩率对所获得的未经压缩的数据文件进行压缩;
或者,在中压缩率存储级的存储子区域中,将当前的第二时间间隔内被访问次数低于第二数量阈值的高压缩率的数据文件进行二次压缩,以获得中压缩率的数据文件。
还包括分级处理单元,以第三时间间隔为时间单位,确定中压缩率存储级的存储子区域内所有中压缩率的数据文件中每个中压缩率的数据文件在每个第三时间间隔内的被访问次数,将当前的第三时间间隔内被访问次数低于第三数量阈值的中压缩率的数据文件移动到低压缩率存储级的存储子区域并且以低压缩率进行压缩;
其中,在低压缩率存储级的存储子区域中,将当前的第三时间间隔内被访问次数低于第三数量阈值的中压缩率的数据文件进行解压缩以获得未经压缩的数据文件,并以低压缩率对所获得的未经压缩的数据文件进行压缩;
或者,在低压缩率存储级的存储子区域中,将当前的第三时间间隔内被访问次数低于第三数量阈值的中压缩率的数据文件进行二次压缩,以获得低压缩率的数据文件。
还包括分级处理单元,以第四时间间隔为时间单位,确定低压缩率存储级的存储子区域内所有低压缩率的数据文件中每个低压缩率的数据文件在每个第四时间间隔内的被访问次数,在当前的第四时间间隔内被访问次数低于第四数量阈值的低压缩率的多个数据文件的数量大于分组数量阈值时,将当前的第四时间间隔内被访问次数低于第四数量阈值的低压缩率的多个数据文件组成为预定数量的文件组。
还包括设置单元,为每个文件组设置描述信息,所述描述信息包括文件组所包括的每个低压缩率的数据文件的文件名称;或者,为每个文件组设置描述信息,所述描述信息包括多个三元组,每个三元组的格式为<文件名称、文件尺寸、存储时间>并且文件组中的每个低压缩率的数据文件具有一个相关联的三元组,其中存储时间是低压缩率的数据文件在低压缩率存储级的存储子区域中存储的时间,或者存储时间是数据文件在第一数据存储节点内存储的总时间;或者,为每个文件组设置描述信息,所述描述信息包括多个四元组,每个四元组的格式为<文件名称、文件尺寸、文件类型、存储时间>并且文件组中的每个低压缩率的数据文件具有一个相关联的四元组,其中存储时间是低压缩率的数据文件在低压缩率存储级的存储子区域中存储的时间,或者存储时间是数据文件在第一数据存储节点内存储的总时间。
在当前时间与特定文件组的创建时间的差值达到删除时间阈值时,将所述特定文件组删除。
其中数据存储节点是个人计算机、服务器、工作站、计算机集群或服务器集群。
当所述多个数据存储节点中的第二数据存储节点的剩余容量比率低于余量比率阈值并且所述第二数据存储节点的剩余存储容量小于或等于平均剩余存储容量时,监测单元在第二数据存储节点的多个数据文件中选择准备移动的至少一个数据文件,以使得将所述准备移动的至少一个数据文件移动到中转服务器后,所述第二数据存储节点的剩余容量比率大于余量比率阈值。
其中监测单元在第二数据存储节点的多个数据文件中选择准备移动的至少一个数据文件包括:按照存储时间对第二数据存储节点的多个数据文件进行降序排列,从存储时间最长的数据文件开始,按照降序顺序选择准备移动的至少一个数据文件;或者按照存储时间对第二数据存储节点的多个数据文件进行升序排列,从存储时间最短的数据文件开始,按照升序顺序选择准备移动的至少一个数据文件;或者按照文件尺寸对第二数据存储节点的多个数据文件进行降序排列,从文件尺寸最大的数据文件开始,按照降序顺序选择准备移动的至少一个数据文件;或者按照文件尺寸对第二数据存储节点的多个数据文件进行升序排列,从存储时间最小的数据文件开始,按照升序顺序选择准备移动的至少一个数据文件。
所述预定时间段为以当前时间为结束点并且以过去的时间为开始点的一段时间;根据系统配置或用户设置来确定所述预定时间段的时间长度;余量比率阈值为5%、10%、20%、30%或40%。其中分配单元根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域包括:将被访问次数大于或等于高次数阈值的数据文件分配到缓冲存储级的存储子区域;将被访问次数小于高次数阈值并且大于或等于中次数阈值的数据文件分配到高压缩率存储级的存储子区域;将被访问次数小于中次数阈值并且大于或等于低次数阈值的数据文件分配到中压缩率存储级的存储子区域;以及将被访问次数小于低次数阈值的数据文件分配到低压缩率存储级的存储子区域。
当云存储系统的接口单元接收到来自用户设备的数据访问请求时,对所述数据访问请求进行解析,当确定所述数据访问请求所涉及的目标数据文件位于所述第一数据存储节点的缓冲存储级的存储子区域中时,向所述第一数据存储节点发送针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求。当云存储系统的接口单元接收到来自用户设备的数据访问请求时,对所述数据访问请求进行解析,当确定所述数据访问请求所涉及的目标数据文件位于所述第一数据存储节点的高压缩率存储级、中压缩率存储级或低压缩率存储级的存储子区域中时,向所述第一数据存储节点发送针对于所述第一数据存储节点的高压缩率存储级或中压缩率存储级的存储子区域中存储的目标数据文件的获取请求,第一数据存储节点对高压缩率存储级、中压缩率存储级或低压缩率存储级的存储子区域中进行目标数据文件的搜索,并且将搜索得到的目标数据文件通过接口单元发送给用户设备。
当监测单元检测到如下条件成立时,对所述第一数据存储节点内所有经过压缩的数据文件进行解压缩,并且取消对第一数据存储节点的四个存储子区域的划分:将所述第一数据存储节点内所有经过压缩的数据文件进行解压缩的情况下,所述第一数据存储节点的剩余容量比率连续高于余量比率阈值的持续时间达到时间阈值。
其中单个数据文件或经过压缩的单个数据文件被存储在所述第一数据存储节点的单个存储子区域中,并且单个存储子区域中能够存储至少一个数据文件或至少一个经过压缩的数据文件。多个数据存储节点中的每个数据存储节点具有各自的关联统计文件,所述关联统计文件包括多条关联统计信息,其中每条关联统计信息用于指示每个数据文件的多个关联数据文件。(此外,特定数据文件的关联统计信息还包括特定数据文件的多个关联数据文件中每个关联数据文件与所述特定数据文件的内容关联度、运行关联度、反馈关联度或综合关联度。)
关联单元确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度,基于内容关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;其中将任意的两个数据文件的摘要信息进行内容匹配的匹配值来确定所述任意的两个数据文件之间的内容关联度。所述预先设置的选择规则包括:排序列表中内容关联度大于关联度阈值的多个数据文件,或者排序列表中内容关联度排名在预定名次之前的多个数据文件。
关联单元确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度,基于运行关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度。所述预先设置的选择规则包括:排序列表中运行关联度大于关联度阈值的多个数据文件,或者排序列表中运行关联度排名在预定名次之前的多个数据文件。
关联单元确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的反馈关联度,基于反馈关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。所述预先设置的选择规则包括:排序列表中反馈关联度大于关联度阈值的多个数据文件,或者排序列表中反馈关联度排名在预定名次之前的多个数据文件。
关联单元确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;其中将任意两个数据文件的摘要信息进行内容匹配来确定所述任意两个数据文件之间的内容关联度;其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度;其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度和运行关联度进行加权计算以确定综合关联度。预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。
关联单元确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;其中将任意两个数据文件的摘要信息进行内容匹配来确定所述任意两个数据文件之间的内容关联度;其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度和反馈关联度进行加权计算以确定综合关联度。预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。
关联单元确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度;其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度和反馈关联度进行加权计算以确定综合关联度。预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。
关联单元确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;其中将任意两个数据文件的摘要信息进行内容匹配来确定所述任意两个数据文件之间的内容关联度;其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度;其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度、运行关联度和反馈关联度进行加权计算以确定综合关联度。预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。
关联单元基于所述多个关联数据文件中每个关联数据文件在进行关联运行时与目标数据文件的关联运行次数、关联运行时间和同步启动次数,在所述关联统计信息中为每个关联数据文件设置关联等级,所述关联等级包括:强关联和弱关联。关联单元获取每个数据文件的运行历史信息,根据运行历史信息确定每个关联数据文件在进行关联运行时与目标数据文件的关联运行次数、关联运行时间和同步启动次数。其中关联运行次数是在统计时间段内,两个数据文件进行关联运行的次数;其中关联运行时间是在统计时间段内,两个数据文件进行关联运行的时间长度;其中同步启动次数是在统计时间段内,两个数据文件进行同步启动的次数;其中关联运行是指两个数据文件各自被调用或开始运行的时间的差值大于第一预定时间间隔并且小于第二预定时间间隔;其中同步启动是指两个数据文件各自被调用或开始运行的时间的差值小于或等于第一预定时间间隔。
基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的多个关联数据文件包括:关联单元基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的并且关联等级为强关联的多个关联数据文件。
基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的多个关联数据文件包括:关联单元基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的并且关联等级为弱关联的多个关联数据文件。
其中高压缩率为90%、中压缩率为80%以及低压缩率为70%(实际上是压缩率的范围)。
其中解压单元将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩包括:解压单元在低压缩率存储级的存储子区域中从低地址向高地址方向对标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩其中解压单元将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩包括:解压单元在低压缩率存储级的存储子区域中从高地址向低地址方向对标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明实施方式的在云存储系统中进行数据存储的方法的流程图;
图2为根据本发明另一实施方式的在云存储系统中进行数据存储的方法的流程图;
图3为根据本发明实施方式的云存储系统的结构示意图;
图4为根据本发明实施方式的用于确定关联数据文件的方法的流程图;
图5为根据本发明另一实施方式的用于确定关联数据文件的方法的流程图;
图6为根据本发明再一实施方式的用于确定关联数据文件的方法的流程图;
图7为根据本发明又一实施方式的用于确定关联数据文件的方法的流程图;以及
图8为根据本发明实施方式的在云存储系统中进行数据存储的系统的结构示意图。
具体实施方式
图1为根据本发明实施方式的在云存储系统中进行数据存储的方法100的流程图。如图1所示,方法100从步骤101处开始。
在步骤101,获取所述云存储系统内多个数据存储节点中每个数据存储节点的剩余存储容量和总存储容量,根据剩余存储容量和总存储容量计算每个数据存储节点的剩余容量比率,根据每个数据存储节点的剩余存储容量计算所述云存储系统内多个数据存储节点的平均剩余存储容量。当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为云存储系统。因此,云存储是一个以数据存储和管理为核心的云计算系统。
云存储系统中包括多个数据存储节点,其中每个数据存储节点可以是个人计算机、服务器、工作站、计算机集群、服务器集群、单个存储设备或存储器集群等各种能够存储数据的设备。如图3所示,云存储系统300可以包括云存储系统运行平台和多个数据存储节点。通常,单个数据存储节点可以采用单个存储管理系统或单个存储管理策略对数据存储节点内部的实体存储区/逻辑存储区进行统一管理。此外,每个数据存储节点均在存储空间内设置预定比率的保留区域,并且使用保留区域来进行(关键)数据备份、日志记录、只读数据等。预定比率是固定的或可变的,并且可以由用户或系统进行设置。
云存储系统运行平台可以通过发送容量查询消息来获取所述云存储系统内多个数据存储节点中每个数据存储节点的剩余存储容量和总存储容量。其中数据存储节点的剩余存储容量可以是数据存储节点中剩余的并且可以用于存储数据文件的存储容量。剩余存储容量可以包括保留区域中剩余的存储容量,也可以不包括保留区域中剩余的存储容量,即在计算剩余存储容量时,不将保留区域中的任何存储容量进行计算。总存储容量是数据存储节点能够存储各种类型的数据文件的总的存储容量。类似地,总存储容量可以包括保留区域的存储容量,也可以不包括保留区域的存储容量,即在计算总存储容量时,不将保留区域的存储容量进行计算。应当了解的是,在确定剩余存储容量和总存储容量时,采用相同的方式(考虑保留区域或不考虑保留区域)进行计算。
根据剩余存储容量和总存储容量计算每个数据存储节点的剩余容量比率,根据每个数据存储节点的剩余存储容量计算所述云存储系统内多个数据存储节点的平均剩余存储容量。例如,数据存储节点1、2和3的剩余存储容量分别为1.5TB、600GB和2.1TB,并且数据存储节点1、2和3的总存储容量分别为30TB、8TB和20TB。数据存储节点1、2和3的剩余存储容量比率为5%、7.5%以及10.5%,并且平均剩余存储容量为1.4TB。
在步骤102,当所述多个数据存储节点中的第一数据存储节点的剩余容量比率低于余量比率阈值并且所述第一数据存储节点的剩余存储容量大于平均剩余存储容量时,获取所述第一数据存储节点内多个数据文件中每个数据文件在预定时间段(例如,8个小时、5天、8天等)内的被访问次数。其中余量比率阈值可以是5%、10%、20%、30%或40%等各种合理的数值。如上所述,数据存储节点1的剩余存储容量1.5TB、剩余容量比率为5%并且多个数据存储节点的平均剩余存储容量为1.4TB。当余量比率阈值为10%时,数据存储节点1的剩余容量比率低于余量比率阈值并且数据存储节点1的剩余存储容量大于平均剩余存储容量,为此获取数据存储节点1内多个数据文件中每个数据文件在预定时间段内的被访问次数。
其中,预定时间段为以当前时间为结束点并且以过去的时间为开始点的一段时间,并且本申请根据系统配置或用户设置来确定所述预定时间段的时间长度。例如,当预定时间段的时间长度为8个小时并且当前时间为2018年1月1日下午8点时,那么过去的时间为2018年1月1日中午12点。当预定时间段的时间长度为8天并且当前时间为2018年1月9日中午12点时,那么过去的时间为2018年1月1日中午12点。
此外,当所述多个数据存储节点中的第二数据存储节点的剩余容量比率低于余量比率阈值并且所述第二数据存储节点的剩余存储容量小于或等于平均剩余存储容量时,在第二数据存储节点的多个数据文件中选择准备移动的至少一个数据文件,以使得将所述准备移动的至少一个数据文件移动到中转服务器后,所述第二数据存储节点的剩余容量比率大于余量比率阈值。如上所述,数据存储节点2的剩余存储容量600GB、剩余容量比率为7.5%并且多个数据存储节点的平均剩余存储容量为1.4TB。当余量比率阈值为10%时,数据存储节点2的剩余容量比率低于余量比率阈值并且所述第二数据存储节点的剩余存储容量小于或等于平均剩余存储容量。为此,在数据存储节点2的多个数据文件中选择准备移动的至少一个数据文件,以使得将所述准备移动的至少一个数据文件移动到中转服务器后,数据存储节点2的剩余容量比率大于余量比率阈值。
其中在第二数据存储节点的多个数据文件中选择准备移动的至少一个数据文件包括:
按照存储时间对第二数据存储节点的多个数据文件进行降序排列,从存储时间最长的数据文件开始,按照(存储时间)降序顺序选择准备移动的至少一个数据文件。即,生成了按照存储时间进行降序排列的列表,并且从列表中选择存储时间最长的至少一个数据文件。
按照存储时间对第二数据存储节点的多个数据文件进行升序排列,从存储时间最短的数据文件开始,按照(存储时间)升序顺序选择准备移动的至少一个数据文件。即,生成了按照存储时间进行升序排列的列表,并且从列表中选择存储时间最短的至少一个数据文件。
其中,存储时间可以是数据文件在诸如第二数据存储节点的任意数据存储节点中存储的总时间。
按照文件尺寸对第二数据存储节点的多个数据文件进行降序排列,从文件尺寸最大的数据文件开始,按照降序顺序选择准备移动的至少一个数据文件。即,生成了按照文件尺寸进行降序排列的列表,并且从列表中选择文件尺寸最大的至少一个数据文件。
按照文件尺寸对第二数据存储节点的多个数据文件进行升序排列,从存储时间最小的数据文件开始,按照升序顺序选择准备移动的至少一个数据文件。即,生成了按照文件尺寸进行升序排列的列表,并且从列表中选择文件尺寸最小的至少一个数据文件。
此外,当所述多个数据存储节点中的第一数据存储节点的剩余容量比率高于或等于余量比率阈值并且所述第一数据存储节点的剩余存储容量大于平均剩余存储容量时,不对第一数据存储节点进行附加处理。当所述多个数据存储节点中的第一数据存储节点的剩余容量比率低于余量比率阈值并且所述第一数据存储节点的剩余存储容量大于平均剩余存储容量时,不对第一数据存储节点进行附加处理。
在步骤103,将所述第一数据存储节点的存储区域(通常是指数据存储节点中所有能够用于存储数据文件的区域并且去除保留区域后的区域)划分为四个存储子区域,并且为每个存储子区域分配存储级别,其中所述存储级别包括:缓冲存储级、高压缩率存储级、中压缩率存储级和低压缩率存储级。
图3为根据本发明实施方式的云存储系统300的结构示意图。如图3所示,云存储系统300包括:云存储系统运行平台310和多个数据存储节点(例如,数据存储节点1、2、3、……)。其中每个数据存储节点可以是个人计算机、服务器、工作站、计算机集群、服务器集群、单个存储设备或存储器集群等各种能够存储数据的设备。通常,单个数据存储节点可以采用单个存储管理系统或单个存储管理策略对数据存储节点内部的实体存储区/逻辑存储区进行统一管理。云存储系统运行平台310与每个数据存储节点进行有线/无线连接,并且能够为每个数据存储节点提供统一的数据访问、数据存储、数据管理等的统一接口,以使得由云存储系统运行平台310和多个数据存储节点所组成的云存储系统300能够为各类用户提供云存储服务。
如图3所示,当所述多个数据存储节点中的第一数据存储节点的剩余容量比率低于余量比率阈值并且所述第一数据存储节点的剩余存储容量大于平均剩余存储容量时,将数据存储节点1存储区域划分为四个存储子区域:缓冲存储级的存储子区域301、高压缩率存储级的存储子区域302、中压缩率存储级的存储子区域303以及低压缩率存储级的存储子区域304。其中,缓冲存储级的存储子区域301可以包括多个存储段,例如,存储段301-1、存储段301-2、存储段301-3、……。其中每个存储段的存储空间或容量可以相同或不同。数据存储节点1在存储空间内设置预定比率的保留区域305,并且使用保留区域305来进行(关键)数据备份、日志记录、只读数据等。预定比率是固定的或可变的,并且可以由用户或系统进行设置。由此可知,数据存储节点的存储空间包括存储区域和保留区域305,并且存储区域包括四个存储子区域。
应当了解的是,当检测到如下条件成立时,对所述第一数据存储节点内所有经过压缩的数据文件进行解压缩,并且取消对第一数据存储节点的四个存储子区域的划分:将所述第一数据存储节点内所有经过压缩的数据文件进行解压缩的情况下,所述第一数据存储节点的剩余容量比率连续高于余量比率阈值的持续时间达到时间阈值。即,本申请会实时监控第一数据存储节点的存储情况:根据第一数据存储节点中每个经过压缩的数据文件的压缩率计算,在所有经过压缩的数据文件被解压的情况下,第一数据存储节点的剩余容量比率。当剩余容量比率连续高于余量比率阈值的持续时间达到时间阈值时,取消对第一数据存储节点的四个存储子区域的划分。即,第一数据存储节点的存储空间充足,无需继续进行存储子区域的划分。其中,时间阈值例如是1天、5天、10天等各种合理数值。
其中单个数据文件或经过压缩的单个数据文件被存储在所述第一数据存储节点的单个存储子区域中,即。单个数据文件或经过压缩的单个数据文件不会跨子区域进行存储。并且单个存储子区域中能够存储至少一个数据文件或至少一个经过压缩的数据文件。例如,高压缩率为90%、中压缩率为80%以及低压缩率为70%。可替换地,高压缩率为压缩率89%-99%、中压缩率为压缩率79%-89%(不含89%)以及低压缩率为压缩率小于79%。可替换地,高压缩率为压缩率85%-100%(不含100%)、中压缩率为压缩率70%-85%(不含85%)以及低压缩率为压缩率小于70%。上述数值仅是示意性的,所属领域技术人员应当了解,压缩率的取值或取值范围可以是任何合理数值。
在步骤104,根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域。具体地,将预定时间段内被访问次数大于或等于高次数阈值的数据文件分配到缓冲存储级的存储子区域;将预定时间段内被访问次数小于高次数阈值并且大于或等于中次数阈值的数据文件分配到高压缩率存储级的存储子区域;将预定时间段内被访问次数小于中次数阈值并且大于或等于低次数阈值的数据文件分配到中压缩率存储级的存储子区域;以及将预定时间段内被访问次数小于低次数阈值的数据文件分配到低压缩率存储级的存储子区域。其中,高次数阈值大于中次数阈值,并且中次数阈值大于低次数阈值。例如,高次数阈值为10000、中次数阈值为1000并且低次数阈值为100。
在步骤105,以高压缩率对高压缩率存储级的存储子区域中的数据文件进行压缩,以中压缩率对中压缩率存储级的存储子区域中的数据文件进行压缩以及以低压缩率对低压缩率存储级的存储子区域中的数据文件进行压缩,其中高压缩率、中压缩率和低压缩率的压缩程度依次升高;以及不对缓冲存储级的存储子区域中的数据文件进行压缩。
本申请以第一时间间隔(例如,1天、2天、5天、10天等)为时间单位,确定缓冲存储级的存储子区域内所有数据文件中每个数据文件在每个第一时间间隔内的被访问次数。即,本申请以第一时间间隔为时间单元重复地对缓冲存储级的存储子区域内每个数据文件的被访问次数进行统计。将当前的第一时间间隔内被访问次数低于第一数量阈值(例如,1000次、2000次等)的(一个或多个)数据文件移动到高压缩率存储级的存储子区域并且以高压缩率进行压缩。其中,当前的第一时间间隔是指针对于被访问次数的与当前时间最近(可以包括当前时间)的统计周期(第一时间间隔)。本申请可以根据用户输入或系统设置来动态调整第一时间间隔或第一数量阈值。
本申请以第二时间间隔(例如,5天、7天、10天等)为时间单位,确定高压缩率存储级的存储子区域内所有高压缩率的数据文件中每个高压缩率的数据文件在每个第二时间间隔内的被访问次数。即,本申请以第一时间间隔为时间单元重复地对缓冲存储级的存储子区域内每个数据文件的被访问次数进行统计。将当前的第二时间间隔内被访问次数低于第二数量阈值(例如,100次、200次等)的高压缩率的(一个或多个)数据文件移动到中压缩率存储级的存储子区域并且以中压缩率进行压缩。其中,当前的第二时间间隔是指针对于被访问次数的与当前时间最近(可以包括当前时间)的统计周期(第二时间间隔)。本申请可以根据用户输入或系统设置来动态调整第二时间间隔或第二数量阈值。其中,在中压缩率存储级的存储子区域中,将当前的第二时间间隔内被访问次数低于第二数量阈值的高压缩率的数据文件进行解压缩以获得未经压缩的数据文件,并以中压缩率对所获得的未经压缩的数据文件进行压缩。或者,在中压缩率存储级的存储子区域中,将当前的第二时间间隔内被访问次数低于第二数量阈值的高压缩率的数据文件进行二次压缩,以获得中压缩率的数据文件。
本申请以第三时间间隔(例如,5天、7天、10天、15天等)为时间单位,确定中压缩率存储级的存储子区域内所有中压缩率的数据文件中每个中压缩率的数据文件在每个第三时间间隔内的被访问次数。即,本申请以第三时间间隔为时间单元重复地对缓冲存储级的存储子区域内每个数据文件的被访问次数进行统计。将当前的第三时间间隔内被访问次数低于第三数量阈值(例如,10次、20次等)的中压缩率的(一个或多个)数据文件移动到低压缩率存储级的存储子区域并且以低压缩率进行压缩。其中,当前的第三时间间隔是指针对于被访问次数的与当前时间最近(可以包括当前时间)的统计周期(第三时间间隔)。本申请可以根据用户输入或系统设置来动态调整第二三时间间隔或第三数量阈值。
其中,在低压缩率存储级的存储子区域中,将当前的第三时间间隔内被访问次数低于第三数量阈值的中压缩率的数据文件进行解压缩以获得未经压缩的数据文件,并以低压缩率对所获得的未经压缩的数据文件进行压缩。或者,在低压缩率存储级的存储子区域中,将当前的第三时间间隔内被访问次数低于第三数量阈值的中压缩率的数据文件进行二次压缩,以获得低压缩率的数据文件。
本申请以第四时间间隔(例如,7天、10天、15天、20天等)为时间单位,确定低压缩率存储级的存储子区域内所有低压缩率的数据文件中每个低压缩率的数据文件在每个第四时间间隔内的被访问次数。即,本申请以第四时间间隔为时间单元重复地对缓冲存储级的存储子区域内每个数据文件的被访问次数进行统计。在当前的第四时间间隔内被访问次数低于第四数量阈值(例如,1次、3次等)的低压缩率的(多个)数据文件的数量大于分组数量阈值(例如,1000个、2000个)时,将当前的第四时间间隔内被访问次数低于第四数量阈值的低压缩率的多个数据文件组成为预定数量的文件组(文件组仍存储在低压缩率存储级的存储子区域中)。例如,将1200个数据文件分成6个文件组,其中每个文件组包括200个数据文件,或者每个文件组的数据文件总尺寸的方差低于预定值。此外,还可以按照数据文件的存储时间对数据文件进行分组以构成预定数量的文件组。
此外,本申请为每个文件组设置描述信息,所述描述信息包括文件组所包括的每个低压缩率的数据文件的文件名称。例如,描述信息为包括每个低压缩率的数据文件的文件名称的字符串并且利用分隔符将每个低压缩率的数据文件的文件名称进行分隔。或者,为每个文件组设置描述信息,所述描述信息包括多个三元组,每个三元组的格式为<文件名称、文件尺寸、存储时间>并且文件组中的每个低压缩率的数据文件具有一个相关联的三元组,其中存储时间是低压缩率的数据文件在低压缩率存储级的存储子区域中存储的时间,或者存储时间是数据文件在第一数据存储节点内存储的总时间。文件名称为低压缩率的数据文件的文件名称,并且文件尺寸为低压缩率的数据文件的文件尺寸。
或者,为每个文件组设置描述信息,所述描述信息包括多个四元组,每个四元组的格式为<文件名称、文件尺寸、文件类型、存储时间>并且文件组中的每个低压缩率的数据文件具有一个相关联的四元组,其中存储时间是低压缩率的数据文件在低压缩率存储级的存储子区域中存储的时间,或者存储时间是数据文件在第一数据存储节点内存储的总时间。文件名称为低压缩率的数据文件的文件名称,文件尺寸为低压缩率的数据文件的文件尺寸,并且文件类型为低压缩率的数据文件的文件类型(例如,文本文件、音频文件、视频文件等)。
此外,由于定期会生成预定数量的文件组,因此低压缩率存储级的存储子区域会包括多个文件组。当多个文件组中的特定文件组的存储时间过长时,本申请会对特定文件组进行处理。例如,在当前时间与特定文件组的创建时间的差值达到删除时间阈值(例如,50天、60天等)时,将所述特定文件组删除,即删除了特定文件组中的所有低压缩率的数据文件。
在步骤106,接收针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求,基于所述目标数据文件的关联统计信息,确定与所述目标数据文件相关联的多个关联数据文件。通常,缓冲存储级的存储子区域中存储的数据文件是云存储系统中的热点数据文件,并且是经常会被访问的数据文件。通常,本申请将云存储系统的用户所需要使用的数据文件称为目标数据文件。
当云存储系统的接口单元(例如,云存储系统运行平台310的用户接口)接收到来自用户设备的数据访问请求时,对所述数据访问请求进行解析,以确定所述目标数据文件的标识符。根据所述目标数据文件的标识符对所述第一数据存储节点中的索引信息表进行查询,根据查询结果确定所述目标数据文件在所述第一数据存储节点内多个存储子区域中所位于的区域。第一数据存储节点中包括索引信息表(存储在保留区域或缓冲存储级的存储子区域中),并且索引信息表包括保留区域、缓冲存储级的存储子区域、高压缩率存储级的存储子区域、中压缩率存储级的存储子区域以及低压缩率存储级的存储子区域中每个的索引信息。针对于压缩的存储子区域,索引信息包括每个经过压缩的数据文件(同一数据文件在经过压缩和未经压缩的情况下,标识符是唯一且不变的)的标识符、起始地址、结束地址、数据尺寸等。针对于缓冲存储级的存储子区域,索引信息包括每个(非压缩)数据文件的标识符、起始地址、结束地址、数据尺寸等。针对于保留存储区,索引信息包括每个压缩数据文件或非压缩数据文件的标识符、起始地址、结束地址、数据尺寸等。
优选地,可以将保留区域、缓冲存储级的存储子区域、高压缩率存储级的存储子区域、中压缩率存储级的存储子区域以及低压缩率存储级的存储子区域中每个的索引信息构成单个索引信息表,并且将这个单个索引信息表存储在保留区域或缓冲存储级的存储子区域中。可替换地,可以将保留区域、缓冲存储级的存储子区域、高压缩率存储级的存储子区域、中压缩率存储级的存储子区域以及低压缩率存储级的存储子区域中每个的索引信息构成各自的索引信息表,并且存储在各自的存储子区域内。索引信息可以包括二元组<数据文件的标识符、所属区域>。其中所属区域可以是保留区域、缓冲存储级的存储子区域、高压缩率存储级的存储子区域、中压缩率存储级的存储子区域以及低压缩率存储级的存储子区域。
根据所述目标数据文件的标识符对单个或多个索引信息表进行查询,根据查询结果确定所述目标数据文件在所述第一数据存储节点内多个存储子区域中所位于的区域:
当确定所述数据访问请求所涉及的目标数据文件位于所述第一数据存储节点的缓冲存储级的存储子区域中时,云存储系统运行平台向所述第一数据存储节点发送针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求。
当确定所述数据获取请求所涉及的目标数据文件位于所述第一数据存储节点的高压缩率存储级、中压缩率存储级或低压缩率存储级的存储子区域中时,云存储系统运行平台向所述第一数据存储节点发送针对于所述第一数据存储节点的高压缩率存储级或中压缩率存储级的存储子区域中存储的目标数据文件的获取请求,第一数据存储节点对高压缩率存储级、中压缩率存储级或低压缩率存储级的存储子区域中进行目标数据文件的搜索,并且将搜索得到的目标数据文件通过接口单元发送给用户设备。
其中对所述数据获取请求进行解析可以确定目标数据文件的标识符,这是因为获取请求包括:请求方标识、目标数据文件的标识符、请求优先级、请求时间等。
当确定所述数据访问请求所涉及的目标数据文件位于所述第一数据存储节点的保留区域中时,云存储系统运行平台向发送数据访问请求的用户设备返回拒绝访问消息。
多个数据存储节点中的每个数据存储节点具有各自的关联统计文件,所述关联统计文件包括多条关联统计信息,其中每条关联统计信息用于指示每个数据文件的多个关联数据文件。多个关联数据文件中的任意关联数据文件可能位于缓冲存储级的存储子区域、高压缩率存储级的存储子区域、中压缩率存储级的存储子区域或低压缩率存储级的存储子区域中。当关联数据文件位于缓冲存储级的存储子区域中时,本申请不对位于缓冲存储级的存储子区域中的关联数据文件进行附加处理。此外,特定数据文件的关联统计信息还包括特定数据文件的多个关联数据文件中每个关联数据文件与所述特定数据文件的内容关联度、运行关联度、反馈关联度或综合关联度。
图4为根据本发明实施方式的用于确定关联数据文件的方法400的流程图。如图4所示,方法400从步骤401开始。在步骤401,确定多个数据文件(或者,经过压缩的数据文件)中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度。通过将多个数据文件中的每个数据文件作为当前数据文件,本申请能够确定多个数据文件中任意两个数据文件之间的内容关联度。
在步骤402,基于内容关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表。通过将多个数据文件中的每个数据文件作为当前数据文件,本申请可以获得每个数据文件各自的排序列表,其中排序列表中多个数据文件中除自身之外的每个数据文件根据内容关联度进行降序排列。例如,在当前数据文件的排序列表中,与当前数据文件的内容关联度最大的数据文件排在第一位,并且与当前数据文件的内容关联度最小的数据文件排在最后一位。当存在与当前数据文件的内容关联度相同的至少两个数据文件时,根据至少两个数据文件的标识符确定先后顺序,或根据随机方式确定至少两个数据文件的先后顺序。
在步骤403,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件。所述预先设置的选择规则包括:排序列表中内容关联度大于关联度阈值的多个数据文件,或者排序列表中内容关联度排名在预定名次之前的多个数据文件等。通常,可以根据用户输入或系统设置来确定关联度阈值,例如关联度阈值为70%、80%、85%等。或者,根据用户输入或系统设置来确定预定名次,例如,预定名次为前20名、前30名、前35名等。
其中将任意的两个数据文件的摘要信息进行内容匹配的匹配值作为所述任意的两个数据文件之间的内容关联度。本申请根据每个数据文件的内容、作用、来源等信息为每个数据文件确定摘要信息,并且摘要信息用于描述数据文件的各种相关特征。本申请通过文本比对、语义比对等内容匹配方式确定任意两个数据文件的摘要信息的匹配值。
图5为根据本发明另一实施方式的用于确定关联数据文件的方法500的流程图。如图6所示,方法500从步骤501开始。在步骤501,确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度。通过将多个数据文件中的每个数据文件作为当前数据文件,本申请能够确定多个数据文件中任意两个数据文件之间的运行关联度。
在步骤502,基于运行关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表。通过将多个数据文件中的每个数据文件作为当前数据文件,本申请可以获得每个数据文件各自的排序列表,其中排序列表中多个数据文件中除自身之外的每个数据文件根据运行关联度进行降序排列。例如,在当前数据文件的排序列表中,与当前数据文件的运行关联度最大的数据文件排在第一位,并且与当前数据文件的运行关联度最小的数据文件排在最后一位。当存在与当前数据文件的运行关联度相同的至少两个数据文件时,根据至少两个数据文件的标识符确定先后顺序,或根据随机方式确定至少两个数据文件的先后顺序。
在步骤503,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件。预先设置的选择规则包括:排序列表中运行关联度大于关联度阈值的多个数据文件,或者排序列表中运行关联度排名在预定名次之前的多个数据文件。通常,可以根据用户输入或系统设置来确定关联度阈值,例如关联度阈值为5次、8次、10次等。或者,根据用户输入或系统设置来确定预定名次,例如,预定名次为前20名、前30名、前35名等。
本申请获取每个数据文件的运行历史信息,其中运行历史信息包括每个数据文件的运行时间、被读取时间、被写入时间、被解压时间等。然后,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,即在每个基本时间单元内运行了哪些数据文件。通常,可以根据用户输入或系统设置来确定基本时间单元,例如,5分钟、10分钟、15分钟等。本申请将时间划分为连续的基本时间单元,并且将基本时间单元作为基础的统计单元。然后,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度。例如,第一数据文件在第1、3、5、6、7、8和9基本时间单元内运行,并且第二数据文件在第2、3、4、6、7、8和9基本时间单元内运行,则第一数据文件和第二数据文件在相同的基本时间单元内运行的次数为5。任意数据文件在同一基本时间单元内运行多次时,在运行关联度计算时只记为1次。应当了解的是,在确定运行关联度时,通常会预先确定统计时间的长度,即根据预定数量的基本时间单元进行运行关联度的计算,例如,30个基本时间单元、50个基本时间单元、60个基本时间单元等。
图6为根据本发明再一实施方式的用于确定关联数据文件的方法600的流程图。如图6所示,方法600从步骤601开始。在步骤601,确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的反馈关联度。通过将多个数据文件中的每个数据文件作为当前数据文件,本申请能够确定多个数据文件中任意两个数据文件之间的反馈关联度。
在步骤602,基于反馈关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表。通过将多个数据文件中的每个数据文件作为当前数据文件,本申请可以获得每个数据文件各自的排序列表,其中排序列表中多个数据文件中除自身之外的每个数据文件根据反馈关联度进行降序排列。例如,在当前数据文件的排序列表中,与当前数据文件的反馈关联度最大的数据文件排在第一位,并且与当前数据文件的反馈关联度最小的数据文件排在最后一位。当存在与当前数据文件的反馈关联度相同的至少两个数据文件时,根据至少两个数据文件的标识符确定先后顺序,或根据随机方式确定至少两个数据文件的先后顺序。
在步骤603,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件。预先设置的选择规则包括:排序列表中反馈关联度大于关联度阈值的多个数据文件,或者排序列表中反馈关联度排名在预定名次之前的多个数据文件。通常,可以根据用户输入或系统设置来确定关联度阈值,例如关联度阈值为15、25、35等。或者,根据用户输入或系统设置来确定预定名次,例如,预定名次为前20名、前30名、前35名等。
其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。预先设置的关联度规则例如是由用户、操作系统、系统应用、用户应用等预先设置的关联度规则。关联度规则可以用于指示多个数据文件中任意两个数据文件之间的关联程度。例如,关联度规则指示第一数据文件和第五数据文件的关联度较高,例如反馈关联度为20,指示第一数据文件和第二数据文件的关联度中等,例如反馈关联度为15,以及指示第一数据文件和第三数据文件的关联度较低,例如反馈关联度为10。动态运行数据例如是由操作系统、系统应用、用户应用等根据数据文件的运行数据所确定的多个数据文件中任意两个数据文件之间的关联程度。例如,动态运行数据指示第二数据文件和第五数据文件的关联度较高,例如反馈关联度为25,指示第二数据文件和第三数据文件的关联度中等,例如反馈关联度为15,以及指示第二数据文件和第六数据文件的关联度较低,例如反馈关联度为5。其中,数据文件对的格式为<数据文件名称、数据文件名称>,并且用于指示两个不同的数据文件之间的反馈关联度。例如,关联度规则指示第一数据文件和第五数据文件的关联度较高,例如反馈关联度为15,则数据文件对<第一数据文件、第五数据文件>的反馈关联度为15。
此外,反馈关联度可以是多个数值的累加和。例如,系统应用根据动态运行数据确定第一数据文件和第二数据文件的反馈关联度为5、第一用户应用根据动态运行数据确定第一数据文件和第二数据文件的反馈关联度为10以及第二用户应用根据动态运行数据确定第一数据文件和第二数据文件的反馈关联度为15时,则第一数据文件和第二数据文件的反馈关联度为30。
图7为根据本发明又一实施方式的用于确定关联数据文件的方法700的流程图。如图7所示,方法700从步骤701开始。在步骤701,确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度。通过将多个数据文件中的每个数据文件作为当前数据文件,本申请能够确定多个数据文件中任意两个数据文件之间的综合关联度。
在步骤702,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表。通过将多个数据文件中的每个数据文件作为当前数据文件,本申请可以获得每个数据文件各自的排序列表,其中排序列表中多个数据文件中除自身之外的每个数据文件根据综合关联度进行降序排列。例如,在当前数据文件的排序列表中,与当前数据文件的反馈关联度最大的数据文件排在第一位,并且与当前数据文件的综合关联度最小的数据文件排在最后一位。当存在与当前数据文件的综合关联度相同的至少两个数据文件时,根据至少两个数据文件的标识符确定先后顺序,或根据随机方式确定至少两个数据文件的先后顺序。
在步骤703,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件。预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。通常,可以根据用户输入或系统设置来确定关联度阈值,例如关联度阈值为70%、80%、85%等。或者,根据用户输入或系统设置来确定预定名次,例如,预定名次为前20名、前30名、前35名等。
在下面的内容中,确定内容关联度、运行关联度和反馈关联度的方式请参照如上的图5-7的内容。
第一实施方式
将任意两个数据文件的摘要信息进行内容匹配作为所述任意两个数据文件之间的(百分比形式的)内容关联度。
其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度。
其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度和运行关联度进行加权计算以确定综合关联度。具体地,确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度中的最大值,即最大运行关联度。然后,将多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度除以最大运行关联度,以确定每个数据文件与当前数据文件的百分比形式的运行关联度。根据用户设置或系统设置、或根据运行状态的动态设置为内容关联度和(百分比形式的)运行关联度确定相同或不同的权重值。根据所确定的权重值,对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度和(百分比形式的)运行关联度进行加权计算以确定综合关联度。
第二实施方式
其中将任意两个数据文件的摘要信息进行内容匹配作为所述任意两个数据文件之间的(百分比形式的)内容关联度;
其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。
其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度和反馈关联度进行加权计算以确定综合关联度。具体地,确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的反馈关联度中的最大值,即最大反馈关联度。然后,将多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的反馈关联度除以最大反馈关联度,以确定每个数据文件与当前数据文件的百分比形式的反馈关联度。根据用户设置或系统设置、或根据运行状态的动态设置为内容关联度和(百分比形式的)反馈关联度确定相同或不同的权重值。根据所确定的权重值,对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度和(百分比形式的)反馈关联度进行加权计算以确定综合关联度。
第三实施方式
其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度;
其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。
其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度和反馈关联度进行加权计算以确定综合关联度。具体地,确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度中的最大值,即最大运行关联度。然后,将多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度除以最大运行关联度,以确定每个数据文件与当前数据文件的百分比形式的运行关联度。确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的反馈关联度中的最大值,即最大反馈关联度。然后,将多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的反馈关联度除以最大反馈关联度,以确定每个数据文件与当前数据文件的百分比形式的反馈关联度。根据用户设置或系统设置、或根据运行状态的动态设置为(百分比形式的)运行关联度和(百分比形式的)反馈关联度确定相同或不同的权重值。根据所确定的权重值,对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的(百分比形式的)运行关联度和(百分比形式的)反馈关联度进行加权计算以确定综合关联度。
第四实施方式
其中将任意两个数据文件的摘要信息进行内容匹配作为所述任意两个数据文件之间的(百分比形式的)内容关联度;
其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度;
其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。
其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度、运行关联度和反馈关联度进行加权计算以确定综合关联度。具体地,确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度中的最大值,即最大运行关联度。然后,将多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度除以最大运行关联度,以确定每个数据文件与当前数据文件的百分比形式的运行关联度。确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的反馈关联度中的最大值,即最大反馈关联度。然后,将多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的反馈关联度除以最大反馈关联度,以确定每个数据文件与当前数据文件的百分比形式的反馈关联度。根据用户设置或系统设置、或根据运行状态的动态设置为(百分比形式的)内容关联度、(百分比形式的)运行关联度和(百分比形式的)反馈关联度确定相同或不同的权重值。根据所确定的权重值,对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的(百分比形式的)内容关联度、(百分比形式的)运行关联度和(百分比形式的)反馈关联度进行加权计算以确定综合关联度。例如,(百分比形式的)内容关联度、(百分比形式的)运行关联度和(百分比形式的)反馈关联度的权重值为1/3、1/3和1/3;1/2、1/4和1/4;1/4、1/4和1/2等。
根据另一实施方式,本申请基于所述多个关联数据文件中每个关联数据文件在进行关联运行时与目标数据文件的关联运行次数、关联运行时间和同步启动次数,在所述关联统计信息中为每个关联数据文件设置关联等级。所述关联等级包括:强关联和弱关联。此前,获取每个数据文件的运行历史信息(运行历史信息通常存储在运行历史文件中,并且例如可以通过日志文件等记录信息来获得),根据运行历史信息确定每个关联数据文件在进行关联运行时与目标数据文件的关联运行次数、关联运行时间和同步启动次数。
其中关联运行次数是在统计时间段(例如,10分钟、20分钟、30分钟等)内,两个数据文件进行关联运行的次数(例如,5次、6次、8次等);其中关联运行时间是在统计时间段内,两个数据文件进行关联运行的时间长度(例如,2分钟、3分钟、5分钟等);其中同步启动次数是在统计时间段内,两个数据文件进行同步启动的次数(例如,3次、4次、5次等);其中关联运行是指两个数据文件各自被调用或开始运行的时间的差值大于第一预定时间间隔并且小于第二预定时间间隔。其中同步启动是指两个数据文件各自被调用或开始运行的时间的差值小于或等于第一预定时间间隔。其中第二预定时间间隔大于第一预定时间间隔,例如第二预定时间间隔为30秒,并且第一预定时间间隔为5秒。
在确定数据文件的关联等级后,本申请可以根据关联等级对目标数据文件(或任意数据文件)的关联数据文件进行过滤或筛选。例如,基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的多个关联数据文件包括:基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的并且关联等级为强关联的多个关联数据文件。基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的多个关联数据文件包括:基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的并且关联等级为弱关联的多个关联数据文件。
在步骤107,在高压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个高压缩率的关联数据文件标记为第一解压级并移动到缓冲存储级的存储子区域。根据每个关联数据文件的标识符对如上所述的存储区域的单个索引信息表或高压缩率存储级的存储子区域的索引信息表进行查询,根据查询结果确定高压缩率存储级的存储子区域中的一个或多个关联数据文件。随后,将一个或多个高压缩率的关联数据文件标记为第一解压级并移动到缓冲存储级的存储子区域。
在步骤108,在所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件(从低地址向高地址方向,或从高地址向低地址方向)进行解压缩的同时,在中压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个中压缩率的关联数据文件标记为第二解压级并移动到缓冲存储级的存储子区域,接着在低压缩率存储级的存储子区域进行关联数据文件的扫描,将至少一个低压缩率的关联数据文件标记为第三解压级。
在所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件(从低地址向高地址方向,或从高地址向低地址方向)进行解压缩的同时,根据每个关联数据文件的标识符对如上所述的存储区域的单个索引信息表或中压缩率存储级的存储子区域的索引信息表进行查询,根据查询结果确定中压缩率存储级的存储子区域中的一个或多个关联数据文件。随后,将一个或多个中压缩率的关联数据文件标记为第二解压级并移动到缓冲存储级的存储子区域。接着,根据每个关联数据文件的标识符对如上所述的存储区域的单个索引信息表或低压缩率存储级的存储子区域的索引信息表进行查询,根据查询结果确定低压缩率存储级的存储子区域中的一个或多个关联数据文件。随后,将一个或多个低压缩率的关联数据文件标记为第三解压级。
其中第一解压级、第二解压级和第三解压级的解压次序依次降低。应当了解的是,第一解压级、第二解压级和第三解压级可以用于指示对数据组进行解压缩的顺序等级,例如第一批次、第二批次、第三批次等。或者,将两个或多个解压级确定为相同的批次。
在步骤109,在所述标记为第一解压级的至少一个高压缩率的关联数据文件的解压缩完成后,将所述缓冲存储级的存储子区域中标记为第二解压级的至少一个中压缩率的关联数据文件(从低地址向高地址方向,或从高地址向低地址方向)进行解压缩,并且同时将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件(从低地址向高地址方向,或从高地址向低地址方向)进行解压缩以生成经过解压缩的至少一个关联数据文件。将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩包括:在低压缩率存储级的存储子区域中从低地址向高地址方向对标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩。或者,将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩包括:在低压缩率存储级的存储子区域中从高地址向低地址方向对标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩。
在步骤110,将低压缩率存储级的存储子区域中经过解压缩的至少一个关联数据文件移动到所述缓冲存储级的存储子区域。在本实施方式中,对至少一个中压缩率的关联数据文件和至少一个低压缩率的关联数据文件在不同存储子区域中进行并行解压缩,即,将所述缓冲存储级的存储子区域中标记为第二解压级的至少一个中压缩率的关联数据文件进行解压缩,并且同时将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩。这种方式通过并行解压缩来提高解压缩的效率。
图2为根据本发明另一实施方式的在云存储系统中进行数据存储的方法200的流程图。参见上面针对图1的说明,相同的内容在图2中同样适用(因此,不再赘述)。如图2所示,方法200包括:
在步骤201,获取所述云存储系统内多个数据存储节点中每个数据存储节点的剩余存储容量和总存储容量,根据剩余存储容量和总存储容量计算每个数据存储节点的剩余容量比率,根据每个数据存储节点的剩余存储容量计算所述云存储系统内多个数据存储节点的平均剩余存储容量。
在步骤202,当所述多个数据存储节点中的第一数据存储节点的剩余容量比率低于余量比率阈值并且所述第一数据存储节点的剩余存储容量大于平均剩余存储容量时,获取所述第一数据存储节点内多个数据文件中每个数据文件在预定时间段内的被访问次数。
在步骤203,将所述第一数据存储节点的存储区域划分为四个存储子区域,并且为每个存储子区域分配存储级别,其中所述存储级别包括:缓冲存储级、高压缩率存储级、中压缩率存储级和低压缩率存储级。
在步骤204,根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域中(分配策略)。
在步骤205,以高压缩率对高压缩率存储级的存储子区域中的数据文件进行压缩,以中压缩率对中压缩率存储级的存储子区域中的数据文件进行压缩以及以低压缩率对低压缩率存储级的存储子区域中的数据文件进行压缩,其中高压缩率、中压缩率和低压缩率的压缩程度依次升高;以及不对缓冲存储级的存储子区域中的数据文件进行压缩。
在步骤206,接收针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求,基于所述目标数据文件的关联统计信息,确定与所述目标数据文件相关联的多个关联数据文件。
在步骤207,在高压缩率存储级的存储子区域进行关联数据文件的扫描,将至少一个高压缩率的关联数据文件标记为第一解压级并移动到缓冲存储级的存储子区域。
在步骤208,在所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件(从低地址向高地址方向,或从高地址向低地址方向)进行解压缩的同时,在中压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个中压缩率的关联数据文件标记为第二解压级并移动到缓冲存储级的存储子区域,接着在低压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个低压缩率的关联数据文件标记为第三解压级并移动到缓冲存储级的存储子区域。
在所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件(从低地址向高地址方向,或从高地址向低地址方向)进行解压缩的同时,根据每个关联数据文件的标识符对如上所述的存储区域的单个索引信息表或中压缩率存储级的存储子区域的索引信息表进行查询,根据查询结果确定中压缩率存储级的存储子区域中的一个或多个关联数据文件。随后,将一个或多个中压缩率的关联数据文件标记为第二解压级并移动到缓冲存储级的存储子区域。接着,根据每个关联数据文件的标识符对如上所述的存储区域的单个索引信息表或低压缩率存储级的存储子区域的索引信息表进行查询,根据查询结果确定低压缩率存储级的存储子区域中的一个或多个关联数据文件。随后,将一个或多个低压缩率的关联数据文件标记为第三解压级并移动到缓冲存储级的存储子区域。
在步骤209,在所述标记为第一解压级的至少一个高压缩率的关联数据文件的解压缩完成后,将所述缓冲存储级的存储子区域中标记为第二解压级的至少一个中压缩率的关联数据文件(从低地址向高地址方向,或从高地址向低地址方向)进行解压缩,然后将所述缓冲存储级的存储子区域中标记为第三解压级的至少一个低压缩率的关联数据文件(从低地址向高地址方向,或从高地址向低地址方向)进行解压缩。在本实施方式中,对至少一个中压缩率的关联数据文件和至少一个低压缩率的关联数据文件在相同存储子区域中进行顺序解压缩,即,将所述缓冲存储级的存储子区域中标记为第二解压级的至少一个中压缩率的关联数据文件进行解压缩,然后将所述缓冲存储级的存储子区域中标记为第三解压级的至少一个低压缩率的关联数据文件进行解压缩。这种方式通过按照顺序进行解压缩来保证解压级的顺序执行。
图8为根据本发明实施方式的在云存储系统中进行数据存储的系统800的结构示意图。系统800包括:计算单元801、监测单元802、分配单元803、压缩单元804、接口单元805、关联单元806、扫描单元807、解压单元808、分级处理单元809以及设置单元810。
计算单元801,获取所述云存储系统内多个数据存储节点中每个数据存储节点的剩余存储容量和总存储容量,根据剩余存储容量和总存储容量计算每个数据存储节点的剩余容量比率,根据每个数据存储节点的剩余存储容量计算所述云存储系统内多个数据存储节点的平均剩余存储容量。数据存储节点是个人计算机、服务器、工作站、计算机集群或服务器集群。
监测单元802,当所述多个数据存储节点中的第一数据存储节点的剩余容量比率低于余量比率阈值并且所述第一数据存储节点的剩余存储容量大于平均剩余存储容量时,获取所述第一数据存储节点内多个数据文件中每个数据文件在预定时间段内的被访问次数。所述预定时间段为以当前时间为结束点并且以过去的时间为开始点的一段时间。根据系统配置或用户设置来确定所述预定时间段的时间长度。余量比率阈值为5%、10%、20%、30%或40%。
当所述多个数据存储节点中的第二数据存储节点的剩余容量比率低于余量比率阈值并且所述第二数据存储节点的剩余存储容量小于或等于平均剩余存储容量时,监测单元在第二数据存储节点的多个数据文件中选择准备移动的至少一个数据文件,以使得将所述准备移动的至少一个数据文件移动到中转服务器后,所述第二数据存储节点的剩余容量比率大于余量比率阈值。
其中监测单元802在第二数据存储节点的多个数据文件中选择准备移动的至少一个数据文件包括:
按照存储时间对第二数据存储节点的多个数据文件进行降序排列,从存储时间最长的数据文件开始,按照降序顺序选择准备移动的至少一个数据文件;或者
按照存储时间对第二数据存储节点的多个数据文件进行升序排列,从存储时间最短的数据文件开始,按照升序顺序选择准备移动的至少一个数据文件;或者
按照文件尺寸对第二数据存储节点的多个数据文件进行降序排列,从文件尺寸最大的数据文件开始,按照降序顺序选择准备移动的至少一个数据文件;或者
按照文件尺寸对第二数据存储节点的多个数据文件进行升序排列,从存储时间最小的数据文件开始,按照升序顺序选择准备移动的至少一个数据文件。
分配单元803,将所述第一数据存储节点的存储区域划分为四个存储子区域,并且为每个存储子区域分配存储级别,其中所述存储级别包括:缓冲存储级、高压缩率存储级、中压缩率存储级和低压缩率存储级;根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域(分配策略)。其中分配单元803根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域包括:
将被访问次数大于或等于高次数阈值的数据文件分配到缓冲存储级的存储子区域;
将被访问次数小于高次数阈值并且大于或等于中次数阈值的数据文件分配到高压缩率存储级的存储子区域;
将被访问次数小于中次数阈值并且大于或等于低次数阈值的数据文件分配到中压缩率存储级的存储子区域;以及
将被访问次数小于低次数阈值的数据文件分配到低压缩率存储级的存储子区域。
当监测单元检测到如下条件成立时,对所述第一数据存储节点内所有经过压缩的数据文件进行解压缩,并且取消对第一数据存储节点的四个存储子区域的划分:将所述第一数据存储节点内所有经过压缩的数据文件进行解压缩的情况下,所述第一数据存储节点的剩余容量比率连续高于余量比率阈值的持续时间达到时间阈值。
其中单个数据文件或经过压缩的单个数据文件被存储在所述第一数据存储节点的单个存储子区域中,并且单个存储子区域中能够存储至少一个数据文件或至少一个经过压缩的数据文件。
压缩单元804,以高压缩率对高压缩率存储级的存储子区域中的数据文件进行压缩,以中压缩率对中压缩率存储级的存储子区域中的数据文件进行压缩以及以低压缩率对低压缩率存储级的存储子区域中的数据文件进行压缩,其中高压缩率、中压缩率和低压缩率的压缩程度依次升高;以及不对缓冲存储级的存储子区域中的数据文件进行压缩。例如,高压缩率为90%、中压缩率为80%以及低压缩率为70%。可替换地,高压缩率为压缩率89%-99%、中压缩率为压缩率79%-89%(不含89%)以及低压缩率为压缩率小于79%。可替换地,高压缩率为压缩率85%-100%(不含100%)、中压缩率为压缩率70%-85%(不含85%)以及低压缩率为压缩率小于70%。上述数值仅是示意性的,所属领域技术人员应当了解,压缩率的取值或取值范围可以是任何合理数值。
接口单元805,接收针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求。当云存储系统的接口单元接收到来自用户设备的数据访问请求时,对所述数据访问请求进行解析,当确定所述数据访问请求所涉及的目标数据文件位于所述第一数据存储节点的缓冲存储级的存储子区域中时,向所述第一数据存储节点发送针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求。
当云存储系统的接口单元接收到来自用户设备的数据访问请求时,对所述数据访问请求进行解析,当确定所述数据访问请求所涉及的目标数据文件位于所述第一数据存储节点的高压缩率存储级、中压缩率存储级或低压缩率存储级的存储子区域中时,向所述第一数据存储节点发送针对于所述第一数据存储节点的高压缩率存储级或中压缩率存储级的存储子区域中存储的目标数据文件的获取请求,第一数据存储节点对高压缩率存储级、中压缩率存储级或低压缩率存储级的存储子区域中进行目标数据文件的搜索,并且将搜索得到的目标数据文件通过接口单元发送给用户设备。
关联单元806,基于所述目标数据文件的关联统计信息,确定与所述目标数据文件相关联的多个关联数据文件。多个数据存储节点中的每个数据存储节点具有各自的关联统计文件,所述关联统计文件包括多条关联统计信息,其中每条关联统计信息用于指示每个数据文件的多个关联数据文件。(此外,特定数据文件的关联统计信息还包括特定数据文件的多个关联数据文件中每个关联数据文件与所述特定数据文件的内容关联度、运行关联度、反馈关联度或综合关联度。)
关联单元806确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度,基于内容关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;
其中将任意的两个数据文件的摘要信息进行内容匹配的匹配值来确定所述任意的两个数据文件之间的内容关联度。所述预先设置的选择规则包括:排序列表中内容关联度大于关联度阈值的多个数据文件,或者排序列表中内容关联度排名在预定名次之前的多个数据文件。
关联单元806确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度,基于运行关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;
其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度。所述预先设置的选择规则包括:排序列表中运行关联度大于关联度阈值的多个数据文件,或者排序列表中运行关联度排名在预定名次之前的多个数据文件。
关联单元806确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的反馈关联度,基于反馈关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;
其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。
所述预先设置的选择规则包括:排序列表中反馈关联度大于关联度阈值的多个数据文件,或者排序列表中反馈关联度排名在预定名次之前的多个数据文件。
关联单元806确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;
其中将任意两个数据文件的摘要信息进行内容匹配来确定所述任意两个数据文件之间的内容关联度;其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度;其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度和运行关联度进行加权计算以确定综合关联度。所述预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。
关联单元806确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;其中将任意两个数据文件的摘要信息进行内容匹配来确定所述任意两个数据文件之间的内容关联度;其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度和反馈关联度进行加权计算以确定综合关联度。所述预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。
关联单元806确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度;其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的运行关联度和反馈关联度进行加权计算以确定综合关联度。预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。
关联单元806确定多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的综合关联度,基于综合关联度对除当前数据文件之外的每个数据文件进行降序排列以生成排序列表,根据预先设置的选择规则从所述排序列表中选择多个数据文件以作为所述当前数据文件的多个关联数据文件;其中将任意两个数据文件的摘要信息进行内容匹配来确定所述任意两个数据文件之间的内容关联度;其中获取每个数据文件的运行历史信息,根据运行历史信息确定每个基本时间单元内运行的数据文件的统计数据,确定任意的两个数据文件在相同的基本时间单元内运行的次数,基于在相同的基本时间单元内运行的次数来确定任意的两个数据文件之间的运行关联度;其中将任意的两个数据文件之间的反馈关联度的初始值设置为0,并且对预先设置的关联度规则或对动态运行数据进行解析以确定多个数据文件对中需要进行反馈关联度设置的数据文件对,根据关联度规则或动态运行数据为每个需要进行反馈关联度设置的数据文件对中的两个数据文件设置反馈关联度。其中对多个数据文件中除当前数据文件之外的每个数据文件与当前数据文件的内容关联度、运行关联度和反馈关联度进行加权计算以确定综合关联度。预先设置的选择规则包括:排序列表中综合关联度大于关联度阈值的多个数据文件,或者排序列表中综合关联度排名在预定名次之前的多个数据文件。
关联单元806基于所述多个关联数据文件中每个关联数据文件在进行关联运行时与目标数据文件的关联运行次数、关联运行时间和同步启动次数,在所述关联统计信息中为每个关联数据文件设置关联等级,所述关联等级包括:强关联和弱关联。关联单元获取每个数据文件的运行历史信息,根据运行历史信息确定每个关联数据文件在进行关联运行时与目标数据文件的关联运行次数、关联运行时间和同步启动次数。
其中关联运行次数是在统计时间段内,两个数据文件进行关联运行的次数;
其中关联运行时间是在统计时间段内,两个数据文件进行关联运行的时间长度;
其中同步启动次数是在统计时间段内,两个数据文件进行同步启动的次数;
其中关联运行是指两个数据文件各自被调用或开始运行的时间的差值大于第一预定时间间隔并且小于第二预定时间间隔;
其中同步启动是指两个数据文件各自被调用或开始运行的时间的差值小于或等于第一预定时间间隔。
基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的多个关联数据文件包括:关联单元基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的并且关联等级为强关联的多个关联数据文件。基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的多个关联数据文件包括:关联单元基于所述目标数据文件的关联统计信息,确定所述目标数据文件在运行时需要关联运行的并且关联等级为弱关联的多个关联数据文件。
扫描单元807,在高压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个高压缩率的关联数据文件标记为第一解压级并移动到缓冲存储级的存储子区域。在所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件进行解压缩的同时,在中压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个中压缩率的关联数据文件标记为第二解压级并移动到缓冲存储级的存储子区域。接着在低压缩率存储级的存储子区域进行关联数据文件的扫描,将至少一个低压缩率的关联数据文件标记为第三解压级;可替换地,在低压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个低压缩率的关联数据文件标记为第三解压级并移动到缓冲存储级的存储子区域。
解压单元808,对所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件进行解压缩,并且在所述标记为第一解压级的至少一个高压缩率的关联数据文件的解压缩完成后,将所述缓冲存储级的存储子区域中标记为第二解压级的至少一个中压缩率的关联数据文件进行解压缩,并且同时将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩以生成经过解压缩的至少一个关联数据文件;将低压缩率存储级的存储子区域中经过解压缩的至少一个关联数据文件移动到所述缓冲存储级的存储子区域。
可替换地,对所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件进行解压缩,并且在所述标记为第一解压级的至少一个高压缩率的关联数据文件的解压缩完成后,将所述缓冲存储级的存储子区域中标记为第二解压级的至少一个中压缩率的关联数据文件进行解压缩,然后将所述缓冲存储级的存储子区域中标记为第三解压级的至少一个低压缩率的关联数据文件进行解压缩。
解压单元808将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩包括:解压单元在低压缩率存储级的存储子区域中从低地址向高地址方向对标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩。解压单元808将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩包括:解压单元在低压缩率存储级的存储子区域中从高地址向低地址方向对标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩。
分级处理单元809,以第一时间间隔为时间单位,确定缓冲存储级的存储子区域内所有数据文件中每个数据文件在每个第一时间间隔内的被访问次数,将当前的第一时间间隔内被访问次数低于第一数量阈值的数据文件移动到高压缩率存储级的存储子区域并且以高压缩率进行压缩。
分级处理单元809以第二时间间隔为时间单位,确定高压缩率存储级的存储子区域内所有高压缩率的数据文件中每个高压缩率的数据文件在每个第二时间间隔内的被访问次数,将当前的第二时间间隔内被访问次数低于第二数量阈值的高压缩率的数据文件移动到中压缩率存储级的存储子区域并且以中压缩率进行压缩;
其中,在中压缩率存储级的存储子区域中,将当前的第二时间间隔内被访问次数低于第二数量阈值的高压缩率的数据文件进行解压缩以获得未经压缩的数据文件,并以中压缩率对所获得的未经压缩的数据文件进行压缩;
或者,在中压缩率存储级的存储子区域中,将当前的第二时间间隔内被访问次数低于第二数量阈值的高压缩率的数据文件进行二次压缩,以获得中压缩率的数据文件。
分级处理单元809以第三时间间隔为时间单位,确定中压缩率存储级的存储子区域内所有中压缩率的数据文件中每个中压缩率的数据文件在每个第三时间间隔内的被访问次数,将当前的第三时间间隔内被访问次数低于第三数量阈值的中压缩率的数据文件移动到低压缩率存储级的存储子区域并且以低压缩率进行压缩;
其中,在低压缩率存储级的存储子区域中,将当前的第三时间间隔内被访问次数低于第三数量阈值的中压缩率的数据文件进行解压缩以获得未经压缩的数据文件,并以低压缩率对所获得的未经压缩的数据文件进行压缩;
或者,在低压缩率存储级的存储子区域中,将当前的第三时间间隔内被访问次数低于第三数量阈值的中压缩率的数据文件进行二次压缩,以获得低压缩率的数据文件。
分级处理单元809以第四时间间隔为时间单位,确定低压缩率存储级的存储子区域内所有低压缩率的数据文件中每个低压缩率的数据文件在每个第四时间间隔内的被访问次数,在当前的第四时间间隔内被访问次数低于第四数量阈值的低压缩率的多个数据文件的数量大于分组数量阈值时,将当前的第四时间间隔内被访问次数低于第四数量阈值的低压缩率的多个数据文件组成为预定数量的文件组。
设置单元810为每个文件组设置描述信息,所述描述信息包括文件组所包括的每个低压缩率的数据文件的文件名称。或者,设置单元810为每个文件组设置描述信息,所述描述信息包括多个三元组,每个三元组的格式为<文件名称、文件尺寸、存储时间>并且文件组中的每个低压缩率的数据文件具有一个相关联的三元组,其中存储时间是低压缩率的数据文件在低压缩率存储级的存储子区域中存储的时间,或者存储时间是数据文件在第一数据存储节点内存储的总时间。或者,设置单元810为每个文件组设置描述信息,所述描述信息包括多个四元组,每个四元组的格式为<文件名称、文件尺寸、文件类型、存储时间>并且文件组中的每个低压缩率的数据文件具有一个相关联的四元组,其中存储时间是低压缩率的数据文件在低压缩率存储级的存储子区域中存储的时间,或者存储时间是数据文件在第一数据存储节点内存储的总时间。在当前时间与特定文件组的创建时间的差值达到删除时间阈值时,将所述特定文件组删除。
Claims (10)
1.一种在云存储系统中进行数据存储的方法,所述方法包括:
获取所述云存储系统内多个数据存储节点中每个数据存储节点的剩余存储容量和总存储容量,根据剩余存储容量和总存储容量计算每个数据存储节点的剩余容量比率,根据每个数据存储节点的剩余存储容量计算所述云存储系统内多个数据存储节点的平均剩余存储容量;
当所述多个数据存储节点中的第一数据存储节点的剩余容量比率低于余量比率阈值并且所述第一数据存储节点的剩余存储容量大于平均剩余存储容量时,获取所述第一数据存储节点内多个数据文件中每个数据文件在预定时间段内的被访问次数;
将所述第一数据存储节点的存储区域划分为四个存储子区域,并且为每个存储子区域分配存储级别,其中所述存储级别包括:缓冲存储级、高压缩率存储级、中压缩率存储级和低压缩率存储级;
根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域;
以高压缩率对高压缩率存储级的存储子区域中的数据文件进行压缩,以中压缩率对中压缩率存储级的存储子区域中的数据文件进行压缩以及以低压缩率对低压缩率存储级的存储子区域中的数据文件进行压缩,其中高压缩率、中压缩率和低压缩率的压缩程度依次升高;以及不对缓冲存储级的存储子区域中的数据文件进行压缩;
接收针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求,基于所述目标数据文件的关联统计信息,确定与所述目标数据文件相关联的多个关联数据文件;
在高压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个高压缩率的关联数据文件标记为第一解压级并移动到缓冲存储级的存储子区域;
在所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件进行解压缩的同时,在中压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个中压缩率的关联数据文件标记为第二解压级并移动到缓冲存储级的存储子区域,接着在低压缩率存储级的存储子区域进行关联数据文件的扫描,将至少一个低压缩率的关联数据文件标记为第三解压级;
在所述标记为第一解压级的至少一个高压缩率的关联数据文件的解压缩完成后,将所述缓冲存储级的存储子区域中标记为第二解压级的至少一个中压缩率的关联数据文件进行解压缩,并且同时将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩以生成经过解压缩的至少一个关联数据文件;以及
将低压缩率存储级的存储子区域中经过解压缩的至少一个关联数据文件移动到所述缓冲存储级的存储子区域。
2.根据权利要求1所述的方法,其中根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域包括:
将被访问次数大于或等于高次数阈值的数据文件分配到缓冲存储级的存储子区域;
将被访问次数小于高次数阈值并且大于或等于中次数阈值的数据文件分配到高压缩率存储级的存储子区域;
将被访问次数小于中次数阈值并且大于或等于低次数阈值的数据文件分配到中压缩率存储级的存储子区域;以及
将被访问次数小于低次数阈值的数据文件分配到低压缩率存储级的存储子区域。
3.根据权利要求1至2中任意一项所述的方法,当云存储系统的接口单元接收到来自用户设备的数据访问请求时,对所述数据访问请求进行解析,当确定所述数据访问请求所涉及的目标数据文件位于所述第一数据存储节点的缓冲存储级的存储子区域中时,向所述第一数据存储节点发送针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求。
4.根据权利要求1至3中任意一项所述的方法,其中单个数据文件或经过压缩的单个数据文件被存储在所述第一数据存储节点的单个存储子区域中,并且单个存储子区域中能够存储至少一个数据文件或至少一个经过压缩的数据文件。
5.根据权利要求1至4中任意一项所述的方法,多个数据存储节点中的每个数据存储节点具有各自的关联统计文件,所述关联统计文件包括多条关联统计信息,其中每条关联统计信息用于指示每个数据文件的多个关联数据文件。
6.一种在云存储系统中进行数据存储的系统,所述系统包括:
计算单元,获取所述云存储系统内多个数据存储节点中每个数据存储节点的剩余存储容量和总存储容量,根据剩余存储容量和总存储容量计算每个数据存储节点的剩余容量比率,根据每个数据存储节点的剩余存储容量计算所述云存储系统内多个数据存储节点的平均剩余存储容量;
监测单元,当所述多个数据存储节点中的第一数据存储节点的剩余容量比率低于余量比率阈值并且所述第一数据存储节点的剩余存储容量大于平均剩余存储容量时,获取所述第一数据存储节点内多个数据文件中每个数据文件在预定时间段内的被访问次数;
分配单元,将所述第一数据存储节点的存储区域划分为四个存储子区域,并且为每个存储子区域分配存储级别,其中所述存储级别包括:缓冲存储级、高压缩率存储级、中压缩率存储级和低压缩率存储级;
根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域;
压缩单元,以高压缩率对高压缩率存储级的存储子区域中的数据文件进行压缩,以中压缩率对中压缩率存储级的存储子区域中的数据文件进行压缩以及以低压缩率对低压缩率存储级的存储子区域中的数据文件进行压缩,其中高压缩率、中压缩率和低压缩率的压缩程度依次升高;以及不对缓冲存储级的存储子区域中的数据文件进行压缩;
接口单元,接收针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求;
关联单元,基于所述目标数据文件的关联统计信息,确定与所述目标数据文件相关联的多个关联数据文件;
扫描单元,在高压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个高压缩率的关联数据文件标记为第一解压级并移动到缓冲存储级的存储子区域;
在所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件进行解压缩的同时,在中压缩率存储级的存储子区域中进行关联数据文件的扫描,将至少一个中压缩率的关联数据文件标记为第二解压级并移动到缓冲存储级的存储子区域,接着在低压缩率存储级的存储子区域进行关联数据文件的扫描,将至少一个低压缩率的关联数据文件标记为第三解压级;
解压单元,对所述缓冲存储级的存储子区域中对标记为第一解压级的至少一个高压缩率的关联数据文件进行解压缩,并且在所述标记为第一解压级的至少一个高压缩率的关联数据文件的解压缩完成后,将所述缓冲存储级的存储子区域中标记为第二解压级的至少一个中压缩率的关联数据文件进行解压缩,并且同时将低压缩率存储级的存储子区域中标记为第三解压级至少一个低压缩率的关联数据文件进行解压缩以生成经过解压缩的至少一个关联数据文件;将低压缩率存储级的存储子区域中经过解压缩的至少一个关联数据文件移动到所述缓冲存储级的存储子区域。
7.根据权利要求6所述的系统,其中分配单元根据被访问次数将多个数据文件中的每个数据文件分配到四个存储子区域中的相应存储子区域包括:
将被访问次数大于或等于高次数阈值的数据文件分配到缓冲存储级的存储子区域;
将被访问次数小于高次数阈值并且大于或等于中次数阈值的数据文件分配到高压缩率存储级的存储子区域;
将被访问次数小于中次数阈值并且大于或等于低次数阈值的数据文件分配到中压缩率存储级的存储子区域;以及
将被访问次数小于低次数阈值的数据文件分配到低压缩率存储级的存储子区域。
8.根据权利要求6至7中任意一项所述的系统,当云存储系统的接口单元接收到来自用户设备的数据访问请求时,对所述数据访问请求进行解析,当确定所述数据访问请求所涉及的目标数据文件位于所述第一数据存储节点的缓冲存储级的存储子区域中时,向所述第一数据存储节点发送针对于所述第一数据存储节点的缓冲存储级的存储子区域中存储的目标数据文件的获取请求。
9.根据权利要求6至8中任意一项所述的系统,其中单个数据文件或经过压缩的单个数据文件被存储在所述第一数据存储节点的单个存储子区域中,并且单个存储子区域中能够存储至少一个数据文件或至少一个经过压缩的数据文件。
10.根据权利要求6至9中任意一项所述的系统,多个数据存储节点中的每个数据存储节点具有各自的关联统计文件,所述关联统计文件包括多条关联统计信息,其中每条关联统计信息用于指示每个数据文件的多个关联数据文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810624542.4A CN108897808B (zh) | 2018-06-16 | 2018-06-16 | 一种在云存储系统中进行数据存储的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810624542.4A CN108897808B (zh) | 2018-06-16 | 2018-06-16 | 一种在云存储系统中进行数据存储的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108897808A true CN108897808A (zh) | 2018-11-27 |
CN108897808B CN108897808B (zh) | 2023-11-24 |
Family
ID=64344977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810624542.4A Active CN108897808B (zh) | 2018-06-16 | 2018-06-16 | 一种在云存储系统中进行数据存储的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108897808B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582245A (zh) * | 2018-12-06 | 2019-04-05 | 联想(北京)有限公司 | 数据处理方法、装置及设备 |
CN109710616A (zh) * | 2018-12-29 | 2019-05-03 | 郑州春泉节能股份有限公司 | 一种数据的存放方法 |
CN110351371A (zh) * | 2019-07-15 | 2019-10-18 | 星联云服科技有限公司 | 一种在云存储系统中进行数据推送的方法及系统 |
CN110719299A (zh) * | 2019-11-18 | 2020-01-21 | 中国移动通信集团内蒙古有限公司 | 防御网络攻击的蜜罐构建方法、装置、设备及介质 |
CN110795596A (zh) * | 2019-11-07 | 2020-02-14 | 北京首钢自动化信息技术有限公司 | 一种客户端的信息反馈方法及装置 |
CN111159434A (zh) * | 2019-12-29 | 2020-05-15 | 赵娜 | 一种在互联网存储集群中存储多媒体文件的方法及系统 |
CN111277274A (zh) * | 2020-01-13 | 2020-06-12 | 平安国际智慧城市科技股份有限公司 | 数据压缩方法、装置、设备及存储介质 |
CN111538464A (zh) * | 2020-05-10 | 2020-08-14 | 智博云信息科技(广州)有限公司 | 一种基于物联网平台的数据清理方法及装置 |
CN112101836A (zh) * | 2020-03-06 | 2020-12-18 | 蒋梅 | 大数据存储节点动态管理系统以及相应终端 |
CN114281899A (zh) * | 2021-12-28 | 2022-04-05 | 浙江汇鼎华链科技有限公司 | 基于网络大数据的用户数据分布式云存储方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724294A (zh) * | 2012-05-24 | 2012-10-10 | 中国科学院深圳先进技术研究院 | 数据分布存储方法和系统 |
CN104462432A (zh) * | 2014-12-15 | 2015-03-25 | 成都英力拓信息技术有限公司 | 自适应的分布式计算方法 |
US20160212065A1 (en) * | 2015-01-20 | 2016-07-21 | Microsoft Technology Licensing, Llc | Controlling fair bandwidth allocation efficiently |
US20160321282A1 (en) * | 2011-05-02 | 2016-11-03 | Fujitsu Limited | Extracting method, information processing method, computer product, extracting apparatus, and information processing apparatus |
CA2654395C (en) * | 2006-05-31 | 2017-09-19 | Storwize Ltd. | Method and system for transformation of logical data objects for storage |
CN107357896A (zh) * | 2017-07-13 | 2017-11-17 | 北京小度信息科技有限公司 | 数据库集群的扩容方法、装置、系统和数据库集群系统 |
CN107395764A (zh) * | 2017-08-30 | 2017-11-24 | 王梅 | 在不同数据域内的设备间进行数据交换的方法及系统 |
-
2018
- 2018-06-16 CN CN201810624542.4A patent/CN108897808B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2654395C (en) * | 2006-05-31 | 2017-09-19 | Storwize Ltd. | Method and system for transformation of logical data objects for storage |
US20160321282A1 (en) * | 2011-05-02 | 2016-11-03 | Fujitsu Limited | Extracting method, information processing method, computer product, extracting apparatus, and information processing apparatus |
CN102724294A (zh) * | 2012-05-24 | 2012-10-10 | 中国科学院深圳先进技术研究院 | 数据分布存储方法和系统 |
CN104462432A (zh) * | 2014-12-15 | 2015-03-25 | 成都英力拓信息技术有限公司 | 自适应的分布式计算方法 |
US20160212065A1 (en) * | 2015-01-20 | 2016-07-21 | Microsoft Technology Licensing, Llc | Controlling fair bandwidth allocation efficiently |
CN107357896A (zh) * | 2017-07-13 | 2017-11-17 | 北京小度信息科技有限公司 | 数据库集群的扩容方法、装置、系统和数据库集群系统 |
CN107395764A (zh) * | 2017-08-30 | 2017-11-24 | 王梅 | 在不同数据域内的设备间进行数据交换的方法及系统 |
Non-Patent Citations (1)
Title |
---|
李玲等: "云存储系统中数据冗余策略优化问题", 《吉林大学学报(信息科学版)》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582245A (zh) * | 2018-12-06 | 2019-04-05 | 联想(北京)有限公司 | 数据处理方法、装置及设备 |
CN109710616A (zh) * | 2018-12-29 | 2019-05-03 | 郑州春泉节能股份有限公司 | 一种数据的存放方法 |
CN110351371A (zh) * | 2019-07-15 | 2019-10-18 | 星联云服科技有限公司 | 一种在云存储系统中进行数据推送的方法及系统 |
CN110795596A (zh) * | 2019-11-07 | 2020-02-14 | 北京首钢自动化信息技术有限公司 | 一种客户端的信息反馈方法及装置 |
CN110795596B (zh) * | 2019-11-07 | 2023-05-09 | 北京首钢自动化信息技术有限公司 | 一种客户端的信息反馈方法及装置 |
CN110719299A (zh) * | 2019-11-18 | 2020-01-21 | 中国移动通信集团内蒙古有限公司 | 防御网络攻击的蜜罐构建方法、装置、设备及介质 |
CN111159434A (zh) * | 2019-12-29 | 2020-05-15 | 赵娜 | 一种在互联网存储集群中存储多媒体文件的方法及系统 |
CN111277274A (zh) * | 2020-01-13 | 2020-06-12 | 平安国际智慧城市科技股份有限公司 | 数据压缩方法、装置、设备及存储介质 |
CN112101836A (zh) * | 2020-03-06 | 2020-12-18 | 蒋梅 | 大数据存储节点动态管理系统以及相应终端 |
CN112101836B (zh) * | 2020-03-06 | 2021-07-09 | 江苏小梦科技有限公司 | 大数据存储节点动态管理系统以及相应终端 |
CN111538464A (zh) * | 2020-05-10 | 2020-08-14 | 智博云信息科技(广州)有限公司 | 一种基于物联网平台的数据清理方法及装置 |
CN114281899A (zh) * | 2021-12-28 | 2022-04-05 | 浙江汇鼎华链科技有限公司 | 基于网络大数据的用户数据分布式云存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108897808B (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108897808A (zh) | 一种在云存储系统中进行数据存储的方法及系统 | |
CN104067216B (zh) | 用于实施可扩展数据存储服务的系统和方法 | |
CN102054000B (zh) | 数据查询方法、装置及系统 | |
CN107169083A (zh) | 公安卡口海量车辆数据存储与检索方法及装置、电子设备 | |
CN106933836B (zh) | 一种基于分表的数据存储方法和系统 | |
CN108932236A (zh) | 一种文件管理方法、过期文件删除方法及装置 | |
CN110309336A (zh) | 图像检索方法、装置、系统、服务器以及存储介质 | |
CN105242983B (zh) | 一种数据存储方法以及一种数据存储管理服务器 | |
CN108399186A (zh) | 一种数据采集方法及装置 | |
CN106649687A (zh) | 大数据联机分析处理方法及装置 | |
EP3422205A1 (en) | Database-archiving method and apparatus that generate index information, and method and apparatus for searching archived database comprising index information | |
CN106815260A (zh) | 一种索引建立方法及设备 | |
CN112204543A (zh) | 用于分布式系统的频繁模式分析 | |
CN107193869A (zh) | 工业物联网云平台中数据存取的方法及装置 | |
CN107203623B (zh) | 网络爬虫系统的负载均衡调节方法 | |
CN103778203B (zh) | 一种网络管理数据无损压缩存储与检索的方法与系统 | |
CN105308579B (zh) | 系列数据并行分析基础设施及其并行分散处理方法 | |
CN106940715B (zh) | 一种基于索引表的查询的方法及设备 | |
CN106326400A (zh) | 基于多维数据集的数据处理系统 | |
CN109271104A (zh) | 一种用于确定大数据存储系统的运行状态的方法及系统 | |
CN109271103A (zh) | 一种在大数据存储系统中进行数据混合存储的方法及系统 | |
CN101894148A (zh) | 判断表单数据项是否被引用的方法和装置 | |
CN110019054A (zh) | 日志去重方法和系统、内容分发网络系统 | |
CN105653533A (zh) | 一种更新分类关联词集合的方法和装置 | |
CN107179959A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231215 Address after: Room 525, 5th Floor, Building 1, Tianda Building, No. 180 Gendong Road, Jianggan District, Hangzhou City, Zhejiang Province, 310000 Patentee after: Hangzhou Wangxing data information technology Co.,Ltd. Address before: 110034 gate 2, 14th floor, unit 1, building 6, No.10 Xianglushan Road, Shenyang City, Liaoning Province Patentee before: Wang Mei |