CN110069219B - 一种数据存储方法、系统及电子设备和存储介质 - Google Patents

一种数据存储方法、系统及电子设备和存储介质 Download PDF

Info

Publication number
CN110069219B
CN110069219B CN201910329427.9A CN201910329427A CN110069219B CN 110069219 B CN110069219 B CN 110069219B CN 201910329427 A CN201910329427 A CN 201910329427A CN 110069219 B CN110069219 B CN 110069219B
Authority
CN
China
Prior art keywords
target
data
size
fragments
fragment
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.)
Active
Application number
CN201910329427.9A
Other languages
English (en)
Other versions
CN110069219A (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201910329427.9A priority Critical patent/CN110069219B/zh
Publication of CN110069219A publication Critical patent/CN110069219A/zh
Application granted granted Critical
Publication of CN110069219B publication Critical patent/CN110069219B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据存储方法、系统及一种电子设备和计算机可读存储介质,该方法包括:获取用于表征当前存储系统已存储数据量的参数值;确定与参数值正相关的目标分片大小;基于待写入数据的大小以及目标分片大小确定目标分片数量;根据目标分片大小和目标分片数量在目标磁盘中创建目标分片,利用目标分片存储待写入数据。本申请基于表征当前存储系统已存储数据量的参数值确定与其正相关的目标分片大小,保证当已存储数据量较大时确定较大的分片大小,使分片数量相对减少,有效减少元数据操作的开销,提高了系统的性能;当已存储数据量较小时确定相对较小的分片大小,避免了分片较大导致数据管理粒度大,提高了系统和数据管理的灵活性。

Description

一种数据存储方法、系统及电子设备和存储介质
技术领域
本申请涉及存储技术领域,更具体地说,涉及一种数据存储方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
分片,指将一个文件以固定的大小进行分割后得到的固定大小的数据块。一个文件由多少个分片组成取决于两个方面,一个是文件本身的大小,另一个是文件的分割大小,即分片的大小。
现有技术方案中,一个文件以固定的大小进行分割,所以当该文件的数据量越大,分片数量就越多,系统中对应的文件数量也会随之增大。对于分布式存储系统而言,过多的文件数量会增大元数据操作的开销,从而导致系统性能的下降;而如果为了降低分片数量,将分片的大小增大,又会使得数据管理的粒度增大,降低了系统的灵活性。
发明内容
本申请的目的在于提供一种数据存储方法、系统及一种电子设备和一种计算机可读存储介质,提高了系统的性能和数据管理的灵活性。
为实现上述目的,本申请提供了一种数据存储方法,包括:
获取用于表征当前存储系统已存储数据量的参数值;
确定与所述参数值呈正相关的目标分片大小;
确定待写入数据,基于所述待写入数据的大小以及所述目标分片大小确定目标分片数量;
根据所述目标分片大小和所述目标分片数量在目标磁盘中创建对应的目标分片,利用所述目标分片存储所述待写入数据。
可选的,所述获取用于表征当前存储系统已存储数据量的参数值,包括:
获取所述当前存储系统的内存利用率和/或分片总数。
可选的,所述获取用于表征当前存储系统已存储数据量的参数值,包括:
对用于表征所述当前存储系统已存储数据量的所述参数值进行实时监测;
或,当接收到分片新建请求后,获取所述参数值;
或,当监测到CPU由工作状态切换至空闲状态后,获取所述参数值。
可选的,所述确定待写入数据,包括:
若所述参数值满足预设条件,则筛选出所述当前存储系统中现存的分片大小与所述目标分片大小满足预设关系的待读取分片;
将所述待读取分片内存储的数据确定为所述待写入数据。
在所述利用所述目标分片存储所述待写入数据之后,还包括:
检测到写入操作成功完成后,将所述待读取分片中存储的数据删除。
可选的,所述根据所述目标分片大小和所述目标分片数量在目标磁盘中创建对应的目标分片,包括:
获取所述当前存储系统中的所有磁盘;
检测所述所有磁盘中是否存在空磁盘;
如果是,则将所述空磁盘确定为所述目标磁盘,并在所述目标磁盘中根据所述目标分片大小和所述目标分片数量创建对应的所述目标分片。
可选的,所述检测所述所有磁盘中是否存在空磁盘之后,还包括:
若未检测到所述空磁盘,则将所述所有磁盘中内存剩余率最高的磁盘确定为所述目标磁盘。
可选的,所述根据所述目标分片大小和所述目标分片数量在目标磁盘中创建对应的目标分片之后,还包括:
为所述目标分片添加标识信息;其中,所述标识信息为利用分片内存储数据所属文件和数据存储顺序得到的标识。
可选的,若所述参数值为所述内存利用率和所述分片总数,所述确定与所述参数值呈正相关的目标分片大小,包括:
判断所述内存利用率是否大于第一阈值,并判断所述分片总数是否大于第二阈值,得到判断结果;
根据所述判断结果确定对应预设的与所述参数值正相关的目标分片大小。
为实现上述目的,本申请提供了一种数据存储系统,包括:
参数获取模块,用于获取用于表征当前存储系统已存储数据量的参数值;
大小确定模块,用于确定与所述参数值呈正相关的目标分片大小;
数量确定模块,用于确定待写入数据,基于所述待写入数据的大小以及所述目标分片大小确定目标分片数量;
数据存储模块,用于根据所述目标分片大小和所述目标分片数量在目标磁盘中创建对应的目标分片,利用所述目标分片存储所述待写入数据。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现前述公开的任一种所述数据存储方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种所述数据存储方法的步骤。
通过以上方案可知,本申请提供的一种数据存储方法,包括:获取用于表征当前存储系统已存储数据量的参数值;确定与所述参数值呈正相关的目标分片大小;确定待写入数据,基于所述待写入数据的大小以及所述目标分片大小确定目标分片数量;根据所述目标分片大小和所述目标分片数量在目标磁盘中创建对应的目标分片,利用所述目标分片存储所述待写入数据。本申请中获取参数值之后,确定与之对应的目标分片大小,其中,目标分片大小与用于表征当前存储系统已存储数据量的参数值正相关,从而保证当已存储数据量较大时能够确定较大的分片大小,以使分片数量相对减少,有效减少了元数据操作的开销,并提高了系统的性能;当已存储数据量较小时确定相对较小的分片大小,避免了数据量小而分片较大时导致数据管理粒度大的问题,提高了系统和数据管理的灵活性。
本申请还公开了一种数据存储系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种数据存储方法的流程图;
图2为本申请实施例公开的另一种数据存储方法的流程图;
图3为本申请实施例公开的又一种数据存储方法的流程图;
图4为本申请实施例公开的再一种数据存储方法的流程图;
图5为本申请实施例公开的还一种数据存储方法的流程图;
图6为本申请实施例公开的还一种数据存储方法的示意图;
图7为本申请实施例公开的另一种数据存储方法的流程图;
图8为本申请实施例公开的另一种数据存储方法的示意图;
图9为本申请实施例公开的数据存储方法中一种分片新建方式的示意图;
图10为本申请实施例公开的数据存储方法中另一种分片新建方式的示意图;
图11为本申请实施例公开的一种数据存储系统的结构图;
图12为本申请实施例公开的一种具体的数据存储系统的结构图;
图13为本申请实施例公开的一种电子设备的结构图;
图14为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术中,一个文件以固定的大小进行分割,所以当该文件的数据量越大,分片数量就越多,系统中对应的文件数量也会随之增大。对于分布式存储系统而言,过多的文件数量会增大元数据操作的开销,从而导致系统性能的下降;而如果为了降低分片数量,将分片的大小增大,又会使得数据管理的粒度增大,降低了系统的灵活性。
因此,本申请实施例公开了一种数据存储方法,提高了系统的性能和数据管理的灵活性。
参见图1,本申请实施例公开的一种数据存储方法的流程图,如图1所示,包括:
S101:获取用于表征当前存储系统已存储数据量的参数值;
本步骤中,获取当前存储系统的参数值,在一种具体实施方式中,可以主动获取当前存储系统的参数值,例如,对用于表征当前存储系统已存储数据量的参数值进行实时监测,从而可根据参数值对分片大小进行实时调整;在另一种具体实施方式中,可以在达到一定触发条件后获取当前存储系统的参数值,例如,当接收到分片新建请求后,获取参数值;或当监测到CPU由工作状态切换至空闲状态后,获取当前状态的参数值。
可以理解的是,上述分片新建请求可以为添加新文件时发起的请求,或对现存文件进行扩充时发起的请求;上述的CPU空闲状态可以根据IO压力、当前带宽或磁盘利用率来判别。
S102:确定与该参数值呈正相关的目标分片大小;
进一步地,在获取到参数值之后,基于该参数值确定对应的目标分片大小。需要指出的是,目标分片大小与表征已存储数据量的参数值为正相关关系,即较大的已存储数据量对应相对较大的分片大小。
在一种具体实施方式中,本实施例中目标分片大小与表征已存储数据量的参数值为正相关关系可以为:为连续的每个参数值均指定对应的分片大小,且分片大小随着参数值的增加而增加,从而保证当存储数据量较大时,确定较大的分片大小,以使分片数量相对减少,有效减少了元数据操作的开销,并提高了系统的性能;当存储数据量较小时,确定较小的分片大小,避免了由于分片较大导致的数据管理粒度大,提高了系统和数据管理的灵活性。
在另一种具体实施方式中,本实施例中目标分片大小与表征已存储数据量的参数值为正相关关系可以为:为预设离散的参数值指定对应的分片大小,例如,若参数值为内存利用率,将内存利用率20%、50%以及65%作为预设参数值,指定其对应的分片大小分别为1G、2G和4G,确保预设参数值越大,对应的分片大小越大,同样可实现上述技术效果。
S103:确定待写入数据,基于待写入数据的大小以及目标分片大小确定目标分片数量;
可以理解的是,确定目标分片大小之后,本实施例进一步确定待写入数据,从而根据待写入数据的大小和目标分片大小确定目标分片数量。确定目标分片数量的过程可以为:将待写入数据的大小作为被除数,将目标分片大小作为除数,作商得到结果后取整,将其确定为目标分片数量。例如,若待写入数据的大小为7G,目标分片大小为2G,则最终确定的目标分片数量为4个。
本实施例中,待写入数据可以为当前新写入的数据,或是在参数值满足预设条件之后,基于目标分片大小从当前存储系统中现存的分片中筛选出需要重新进行存储的待读取分片,从而将待读取分片内存储的数据确定为待写入数据。具体地,筛选待读取分片的过程可以为:筛选分片大小与目标分片大小符合预设关系的待读取分片。
S104:根据目标分片大小和目标分片数量在目标磁盘中创建对应的目标分片,利用目标分片存储所述待写入数据。
本实施例中,在目标磁盘中创建总数为目标分片数量、大小为目标分片大小的目标分片,并将待写入数据写入目标分片中实现数据的存储。
本步骤中,确定目标磁盘的过程可以包括:获取当前存储系统中的所有磁盘;检测所有磁盘中是否存在空磁盘;如果是,则将该空磁盘确定为目标磁盘;如果否,则将所有磁盘中内存剩余率最高的磁盘确定为目标磁盘,以在目标磁盘创建目标分片用以存储数据。
作为一种优选实施方式,本实施例在根据目标分片大小和目标分片数量创建对应的目标分片之后,还进一步为目标分片添加标识信息;其中,标识信息为利用分片内存储数据所属文件和数据存储顺序得到的标识。也即,通过为分片添加该标识,能够通过标识信息确定当前分片存储的数据属于哪个文件,以及确定当前分片的存储顺序,以根据存储顺序读取出属于同一个文件的数据。
通过以上方案可知,本申请提供的一种数据存储方法,包括:获取用于表征当前存储系统已存储数据量的参数值;确定与所述参数值呈正相关的目标分片大小;确定待写入数据,基于所述待写入数据的大小以及所述目标分片大小确定目标分片数量;根据所述目标分片大小和所述目标分片数量在目标磁盘中创建对应的目标分片,利用所述目标分片存储所述待写入数据。本申请中获取参数值之后,确定与之对应的目标分片大小,其中,目标分片大小与用于表征当前存储系统已存储数据量的参数值正相关,从而保证当已存储数据量较大时能够确定较大的分片大小,以使分片数量相对减少,有效减少了元数据操作的开销,并提高了系统的性能;当已存储数据量较小时确定相对较小的分片大小,避免了数据量小而分片较大时导致数据管理粒度大的问题,提高了系统和数据管理的灵活性。
本申请实施例公开了一种数据存储方法,相对于上一实施例,本实施例以参数值为当前存储系统的内存利用率时为例,对技术方案作了进一步的说明和优化。具体的:
参见图2,本申请实施例提供的另一种数据存储方法的流程图,如图2所示,包括:
S201:获取用于表征当前存储系统的内存利用率;
S202:确定与内存利用率呈正相关的目标分片大小;
本实施例中,将内存利用率作为表征当前存储系统已存储数据量的参数值,并且预先为内存利用率设定了对应的目标分片大小,并保证目标分片大小与内存利用率正相关,进而在内存利用率较高时,对新增的数据采用较大的分片进行存储,从而相对减少分片数量;在内存利用率较低时,对新增数据采用较小的分片进行存储,从而降低数据管理粒度。
S203:确定待写入数据,基于待写入数据的大小以及目标分片大小确定目标分片数量;
S204:根据目标分片大小和目标分片数量在目标磁盘中创建对应的目标分片,利用目标分片存储待写入数据。
本申请实施例公开了一种数据存储方法,相对于上一实施例,本实施例以参数值为当前存储系统的分片总数时为例,对技术方案作了进一步的说明和优化。具体的:
参见图3,本申请实施例提供的又一种数据存储方法的流程图,如图3所示,包括:
S301:获取用于表征当前存储系统的分片总数;
S302:确定与分片总数呈正相关的目标分片大小;
本实施例中,将分片总数作为表征当前存储系统已存储数据量的参数值,可以理解的是,本实施例预先为分片总数设定了对应的目标分片大小,并保证目标分片大小与分片总数正相关。例如,可以将分片总数为1万、4万、7万、9万和10万对应的目标分片大小设定为1G、2G、3G、4G和5G。
S303:确定待写入数据,基于待写入数据的大小以及目标分片大小确定目标分片数量;
S304:根据目标分片大小和目标分片数量在目标磁盘中创建对应的目标分片,利用目标分片存储待写入数据。
本申请实施例公开了一种数据存储方法,相对于上一实施例,本实施例以参数值为当前存储系统的内存利用率和分片总数时为例,对技术方案作了进一步的说明和优化。具体的:
参见图4,本申请实施例提供的再一种数据存储方法的流程图,如图4所示,包括:
S401:获取用于表征当前存储系统的内存利用率和分片总数;
S402:确定与内存利用率和分片总数呈正相关的目标分片大小;
本步骤中,获取当前存储系统的内存利用率和分片总量之后,根据上述参数确定对应的目标分片大小。具体地,可以判断内存利用率是否大于第一阈值,并判断分片总数是否大于第二阈值,从而根据判断结果确定对应预设的与参数值正相关的目标分片大小。本实施例中,若内存利用率大于第一阈值或分片总数大于第二阈值,可能会对存储性能产生显著的影响,因此本实施例可以预先根据当前存储系统的特征确定内存利用率以及分片总数的临界值,在此不对其进行具体限定。
可以理解的是,判断结果包括四种:内存利用率小于第一阈值,且分片总数小于第二阈值;内存利用率小于第一阈值,分片总数不小于第二阈值;内存利用率不小于第一阈值,分片总数小于第二阈值;内存利用率不小于第一阈值,且分片总数不小于第二阈值。具体地,本实施例预先为四种判断结果设定了相应的目标分片大小,确保内存利用率较高、分片总数较多时对应的目标分片大小较大。
S403:确定待写入数据,基于待写入数据的大小以及目标分片大小确定目标分片数量;
S404:根据目标分片大小和目标分片数量在目标磁盘中创建对应的目标分片,利用目标分片存储待写入数据。
本申请实施例公开了一种数据存储方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图5,本申请实施例提供的还一种数据存储方法的流程图,如图5所示,包括:
S501:获取用于表征当前存储系统已存储数据量的参数值;
S502:确定与参数值呈正相关的目标分片大小;
S503:若参数值满足第一预设条件,则筛选出当前存储系统中现存的小于目标分片大小的第一类小分片;
S504:将第一类小分片内存储的数据确定为待写入数据,基于待写入数据的大小以及目标分片大小确定目标分片数量;
S505:在目标磁盘中创建与目标分片大小和目标分片数量对应的第一类大分片,并对所有第一类小分片中属于同一文件的分片进行读取,将读取的数据写入第一类大分片中。
需要说明的是,本实施例中第一预设条件可以为:内存利用率大于第一阈值和/或分片总数大于第二阈值,此时表征存储系统已存数据量较多,因此在参数值满足第一预设条件时,本实施例将存储系统内小分片中的现存数据读取并复制至更大的分片中,如图6所示,可以相应地减少分片的数量。
进一步地,本实施例在上述对较小的第一类小分片的数据进行读取并写入较小的第一类大分片中之后,本实施例还检测判断写入操作是否成功完成,若是,则可将第一类小分片中存储的数据删除,数据无需重复存储,减少内存的占用。
本申请实施例公开了一种数据存储方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图7,本申请实施例提供的另一种数据存储方法的流程图,如图7所示,包括:
S601:获取用于表征当前存储系统已存储数据量的参数值;
S602:确定与参数值呈正相关的目标分片大小;
S603:若参数值满足第二预设条件,则筛选出当前存储系统中现存的大于目标分片大小的第二类大分片;
S604:将第二类大分片内存储的数据确定为待写入数据,基于待写入数据的大小以及目标分片大小确定目标分片数量;
S605:根据目标分片大小和目标分片数量在目标磁盘中创建对应的第二类小分片,并对所有第二类大分片中属于同一文件的分片进行读取,将读取的数据写入第二类小分片中。
需要指出的是,本实施例中第二预设条件可以为:内存利用率小于第一阈值且分片总数小于第二阈值,表征当前存储系统的已存储数据量较少,此时可以将存储系统内大分片中的现存数据读取并复制至较小的分片中,如图8所示,从而能够降低管理粒度,以提高数据管理的灵活性。
另外,在上述对较大的第二类大分片的数据进行读取并写入较小的第二类小分片中之后,本实施例还将进一步检测判断写入操作是否成功完成,若是,则可将第二类大分片中存储的数据删除,无需存储两份,在保证数据完整复制的同时能够减少内存的占用。
下面以一种具体示例对本申请实施例提供的一种数据存储方法进行介绍,本实施例中,获取用于表征当前存储系统已存储数据量的参数值的触发条件为:接收到分片新建请求,在获取参数值之后,基于参数值确定新建分片的分片大小,具体地,若当前存储系统的内存利用率大于第一阈值,或分片总数大于第二阈值,则确定新建分片大小为较大的分片大小,如图9所示,使其具有更大的分片粒度,从而减少系统分片数量的增加;若当前存储系统的内存利用率小于第一阈值,且分片总数小于第二阈值,则确定新建分片大小为较小的分片大小,如图10所示,从而可将新增数据调整为更小的分片粒度。
进一步地,获取新添加的文件或对旧文件进行扩充的扩充数据,相应的,将新文件大小或待扩充数据大小确定为待写入数据的大小,以确定待创建分片数量,从而创建用以存储待写入数据的分片。
下面对本申请实施例提供的一种数据存储系统进行介绍,下文描述的一种数据存储系统与上文描述的一种数据存储方法可以相互参照。
参见图11,本申请实施例提供的一种数据存储系统的结构图,如图11所示,包括:
参数获取模块100,用于获取用于表征当前存储系统已存储数据量的参数值;
大小确定模块200,用于确定与所述参数值呈正相关的目标分片大小;
数量确定模块300,用于确定待写入数据,基于所述待写入数据的大小以及所述目标分片大小确定目标分片数量;
数据存储模块400,用于根据所述目标分片大小和所述目标分片数量在目标磁盘中创建对应的目标分片,利用所述目标分片存储所述待写入数据。
本申请提供的一种数据存储系统,在参数获取模块获取到参数值后,利用大小确定模块确定与之对应的目标分片大小,其中,目标分片大小与用于表征当前存储系统已存储数据量的参数值正相关,从而保证当已存储数据量较大时能够确定较大的分片大小,以使分片数量相对减少,有效减少了元数据操作的开销,并提高了系统的性能;当已存储数据量较小时确定相对较小的分片大小,避免了数据量小而分片较大时导致数据管理粒度大的问题,提高了系统和数据管理的灵活性。
图12为申请实施例提供的一种具体的数据存储系统结构示意图,如图12所示,分片大小自适应模块能够对新创建文件或者旧文件扩充等需要新创建分片操作进行分片大小的确定,通过内置算法获得当前推荐的分片大小,进而创建对应的分片。
本实施例中,动态监测模块检测到当前业务较为空闲,或属于用户指定的空闲时段后,可以通过分片大小自适应模块获得当前推荐的分片大小,平衡选源模块通过扫描筛选不符合当前推荐值的分片,将属于同一文件的分片批量读取,然后选择合适的磁盘重新按当前推荐的分片大小写入。
进一步地,分片大小自适应模块定时可以采集当前环境信息,环境信息可以包括文件数量,集群容量,CPU利用率,SSD型号,磁盘数量等,其中,文件数量及集群容量可用于确定分片大小;CPU利用率用于确定当前系统是否属于空闲时段;SSD型号具体用于确定各SSD盘的性能以及利用率,以便从中选择适合的SSD盘获取读取的数据后,将数据回刷至机械盘,从而加速数据写入过程;磁盘数量表征当前系统可以同时并发多少个任务,即可以同时实现多少个数据迁移进程。
本申请还提供了一种电子设备,参见图13,本申请实施例提供的一种电子设备的结构图,如图13所示,包括:
存储器11,用于存储计算机程序;
处理器12,用于执行所述计算机程序时可以实现上述任一种实施例所提供的数据存储方法的步骤。
具体的,存储器11包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器12在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力,执行所述存储器11中保存的计算机程序时,可以实现上述任一种实施例公开的数据存储方法的步骤。
在上述实施例的基础上,作为优选实施方式,参见图14,所述电子设备还包括:
输入接口13,与处理器12相连,用于获取外部导入的计算机程序、参数和指令,经处理器12控制保存至存储器11中。该输入接口13可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元14,与处理器12相连,用于显示处理器12处理的数据以及用于显示可视化的用户界面。该显示单元14可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口15,与处理器12相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图14仅示出了具有组件11-15的电子设备,本领域技术人员可以理解的是,图14示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种实施例所提供的数据存储方法的步骤。
本申请中获取参数值之后,确定与之对应的目标分片大小,其中,目标分片大小与用于表征当前存储系统已存储数据量的参数值正相关,从而保证当已存储数据量较大时能够确定较大的分片大小,以使分片数量相对减少,有效减少了元数据操作的开销,并提高了系统的性能;当已存储数据量较小时确定相对较小的分片大小,避免了数据量小而分片较大时导致数据管理粒度大的问题,提高了系统和数据管理的灵活性。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (12)

1.一种数据存储方法,其特征在于,包括:
获取用于表征当前存储系统已存储数据量的参数值;
确定与所述参数值呈正相关的目标分片大小;
确定待写入数据,将所述待写入数据的大小作为被除数,将所述目标分片大小作为除数,作商得到结果后取整,将整数确定为目标分片数量;
根据所述目标分片大小和所述目标分片数量在目标磁盘中创建对应的目标分片,利用所述目标分片存储所述待写入数据。
2.根据权利要求1所述的数据存储方法,其特征在于,所述获取用于表征当前存储系统已存储数据量的参数值,包括:
获取所述当前存储系统的内存利用率和/或分片总数。
3.根据权利要求1所述的数据存储方法,其特征在于,所述获取用于表征当前存储系统已存储数据量的参数值,包括:
对用于表征所述当前存储系统已存储数据量的所述参数值进行实时监测;
或,当接收到分片新建请求后,获取所述参数值;
或,当监测到CPU由工作状态切换至空闲状态后,获取所述参数值。
4.根据权利要求1所述的数据存储方法,其特征在于,所述确定待写入数据,包括:
若所述参数值满足预设条件,则筛选出所述当前存储系统中现存的分片大小与所述目标分片大小满足预设关系的待读取分片;
将所述待读取分片内存储的数据确定为所述待写入数据。
5.根据权利要求4所述的数据存储方法,其特征在于,在所述利用所述目标分片存储所述待写入数据之后,还包括:
检测到写入操作成功完成后,将所述待读取分片中存储的数据删除。
6.根据权利要求1所述的数据存储方法,其特征在于,所述根据所述目标分片大小和所述目标分片数量在目标磁盘中创建对应的目标分片,包括:
获取所述当前存储系统中的所有磁盘;
检测所述所有磁盘中是否存在空磁盘;
如果是,则将所述空磁盘确定为所述目标磁盘,并在所述目标磁盘中根据所述目标分片大小和所述目标分片数量创建对应的所述目标分片。
7.根据权利要求6所述的数据存储方法,其特征在于,所述检测所述所有磁盘中是否存在空磁盘之后,还包括:
若未检测到所述空磁盘,则将所述所有磁盘中内存剩余率最高的磁盘确定为所述目标磁盘。
8.根据权利要求1所述的数据存储方法,其特征在于,所述根据所述目标分片大小和所述目标分片数量在目标磁盘中创建对应的目标分片之后,还包括:
为所述目标分片添加标识信息;其中,所述标识信息为利用分片内存储数据所属文件和数据存储顺序得到的标识。
9.根据权利要求2所述的数据存储方法,其特征在于,若所述参数值为所述内存利用率和所述分片总数,所述确定与所述参数值呈正相关的目标分片大小,包括:
判断所述内存利用率是否大于第一阈值,并判断所述分片总数是否大于第二阈值,得到判断结果;
根据所述判断结果确定对应预设的与所述参数值正相关的目标分片大小。
10.一种数据存储系统,其特征在于,包括:
参数获取模块,用于获取用于表征当前存储系统已存储数据量的参数值;
大小确定模块,用于确定与所述参数值呈正相关的目标分片大小;
数量确定模块,用于确定待写入数据,将所述待写入数据的大小作为被除数,将所述目标分片大小作为除数,作商得到结果后取整,将整数确定为目标分片数量;
数据存储模块,用于根据所述目标分片大小和所述目标分片数量在目标磁盘中创建对应的目标分片,利用所述目标分片存储所述待写入数据。
11.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至9任一项所述数据存储方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述数据存储方法的步骤。
CN201910329427.9A 2019-04-23 2019-04-23 一种数据存储方法、系统及电子设备和存储介质 Active CN110069219B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910329427.9A CN110069219B (zh) 2019-04-23 2019-04-23 一种数据存储方法、系统及电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910329427.9A CN110069219B (zh) 2019-04-23 2019-04-23 一种数据存储方法、系统及电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN110069219A CN110069219A (zh) 2019-07-30
CN110069219B true CN110069219B (zh) 2022-08-09

Family

ID=67368516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910329427.9A Active CN110069219B (zh) 2019-04-23 2019-04-23 一种数据存储方法、系统及电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN110069219B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569219B (zh) * 2019-09-02 2023-05-12 深信服科技股份有限公司 分片垃圾处理方法、用户设备、存储介质及装置
CN110659296B (zh) * 2019-09-26 2021-02-12 广州方硅信息技术有限公司 存储方法、装置、设备以及计算机可读介质
CN111104145B (zh) * 2019-11-29 2021-08-31 浪潮电子信息产业股份有限公司 一种Expander的带外更新方法和系统
CN113760172A (zh) * 2020-06-04 2021-12-07 杭州海康威视数字技术股份有限公司 一种分片分配方法、装置及电子设备
CN112417350B (zh) * 2020-09-17 2023-03-24 上海哔哩哔哩科技有限公司 数据存储调整方法、装置及计算机设备
CN112269903B (zh) * 2020-11-19 2024-06-11 咪咕文化科技有限公司 数据处理方法、数据处理设备及可读存储介质
CN113422800B (zh) * 2021-05-12 2022-09-09 北京达佳互联信息技术有限公司 资源处理方法、装置、系统、电子设备及存储介质
CN113792043A (zh) * 2021-08-24 2021-12-14 微梦创科网络科技(中国)有限公司 一种实时数据的存储方法及系统
CN115857837B (zh) * 2023-02-27 2023-06-06 中国华能集团清洁能源技术研究院有限公司 一种大数据环境下的数据分布方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104185216A (zh) * 2013-05-28 2014-12-03 腾讯科技(深圳)有限公司 一种文件的传输方法和装置
CN106604111A (zh) * 2016-12-16 2017-04-26 深圳市九洲电器有限公司 机顶盒Flash数据存储方法及系统
CN107273061A (zh) * 2017-07-12 2017-10-20 郑州云海信息技术有限公司 一种固态硬盘创建多namespace的方法及系统
CN107665310A (zh) * 2016-07-29 2018-02-06 四川长虹电器股份有限公司 一种移动终端文件的加密存储、读取和删除方法
CN109032517A (zh) * 2018-07-19 2018-12-18 广东浪潮大数据研究有限公司 一种数据落盘的方法、装置和计算机可读存储介质
US10157006B1 (en) * 2016-12-29 2018-12-18 EMC IP Holding Company LLC Managing inline data compression in storage systems
CN109634523A (zh) * 2018-12-10 2019-04-16 深圳市网心科技有限公司 一种磁盘管理方法、系统及电子设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104185216A (zh) * 2013-05-28 2014-12-03 腾讯科技(深圳)有限公司 一种文件的传输方法和装置
CN107665310A (zh) * 2016-07-29 2018-02-06 四川长虹电器股份有限公司 一种移动终端文件的加密存储、读取和删除方法
CN106604111A (zh) * 2016-12-16 2017-04-26 深圳市九洲电器有限公司 机顶盒Flash数据存储方法及系统
US10157006B1 (en) * 2016-12-29 2018-12-18 EMC IP Holding Company LLC Managing inline data compression in storage systems
CN107273061A (zh) * 2017-07-12 2017-10-20 郑州云海信息技术有限公司 一种固态硬盘创建多namespace的方法及系统
CN109032517A (zh) * 2018-07-19 2018-12-18 广东浪潮大数据研究有限公司 一种数据落盘的方法、装置和计算机可读存储介质
CN109634523A (zh) * 2018-12-10 2019-04-16 深圳市网心科技有限公司 一种磁盘管理方法、系统及电子设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Optimized buffer allocation for video multicasting applications with virtual memory implementation》;A.ArunKumar等;《EURASIP Journal on Image and Video》;20180302;第1-11页 *
《大数据分类存储及检索方法研究》;张鹏远;《万方学位论文平台》;20160504;第12-52页 *

Also Published As

Publication number Publication date
CN110069219A (zh) 2019-07-30

Similar Documents

Publication Publication Date Title
CN110069219B (zh) 一种数据存储方法、系统及电子设备和存储介质
US20160188227A1 (en) Method and apparatus for writing data into solid state disk
US11080143B2 (en) Systems and processes for data backup and recovery
CN110209348B (zh) 数据存储方法、装置、电子设备及存储介质
US10437519B2 (en) Method and mobile terminal for processing write request
US8898677B2 (en) Data arrangement calculating system, data arrangement calculating method, master unit and data arranging method
CN109491606B (zh) 一种全闪存储空间管理方法、系统、设备及计算机介质
CN111309267B (zh) 存储空间的分配方法、装置、存储设备及存储介质
CN113867644B (zh) 磁盘阵列优化方法、装置、计算机设备及存储介质
CN111324303A (zh) Ssd垃圾回收方法、装置、计算机设备及存储介质
CN111124280A (zh) 一种数据追加写入方法、装置及电子设备和存储介质
CN114996173B (zh) 一种管理存储设备写操作的方法和装置
CN115525631A (zh) 数据库数据迁移方法、装置、设备、存储介质
CN111813813A (zh) 一种数据管理方法、装置、设备及存储介质
CN112445766A (zh) 一种终端碎片整理方法、装置以及终端
CN112835511B (zh) 分布式存储集群的数据写入方法、装置、设备和介质
CN112148226A (zh) 一种数据存储方法及相关装置
CN103677893B (zh) 开机的映像文件的大小缩减方法及运算装置
US9513821B2 (en) Apparatus and method for indicating flash memory life
CN109088636B (zh) 一种数据处理方法、系统及电子设备和存储介质
CN110998524B (zh) 处理配置文件的方法、处理单元、触摸芯片、装置及介质
CN108205559B (zh) 一种数据管理方法及其设备
US11194861B2 (en) Graph partitioning method and apparatus
CN112306373B (zh) 一种集群扩容方法、系统及电子设备和存储介质
CN114995770A (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