一种数据存储方法及装置与流程

文档序号:11250561
一种数据存储方法及装置与流程
本发明涉及数据处理技术领域,特别是涉及一种数据存储方法及装置。

背景技术:
如今数据爆发的情势下,人们将目光转向大数据,同时数据的存储也成为人们关注的焦点之一。现有的数据存储方法为:根据固有的压缩算法将目标数据进行压缩,获得压缩数据;将上述压缩数据储至用户指定的存储介质上。但是,由于现有数据存储方法根据固有压缩算法对数据进行处理,并由用户指定存储介质,因此现有存储方法过于固化,易导致存储资源分配不合理的问题。例如,用户指定将A数据存储至读取速率较低的介质1上,将B数据存储至读取速率较高的介质2上,而实际应用中对A数据访问率高、B数据访问率低,依据现有技术的方法,由于已经约定了A数据的存储介质,虽然之后对A数据的访问率高,但是依然只能将A数据存储到介质1中,显然这样资源分配不合理,会影响后期数据访问的效率。

技术实现要素:
本发明实施例的目的在于提供一种数据存储方法及装置,以合理分配存储资源。具体技术方案如下:第一方面,本发明实施例提供了一种数据存储方法,所述方法包括:获得目标数据;估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延;获得所述目标数据的访问频率;当所述访问频率不低于第一阈值时,将数值最小的计算时延对应的存储方式确定为第一目标存储方式;否则,分别基于预设的每一种存储方式的计算时延,估算该存储方式的存储代价,并将数值最小的存储代价对应的存储方式确定为第一目标存储方式;将所述目标数据按照所述第一目标存储方式进行存储。可选的,所述存储方式中包括压缩算法和存储介质两种要素;所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤,包括:按照以下方式估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延:估算以第一目标压缩算法对所述目标数据进行压缩、解压时需要的压缩时间和解压时间,其中,所述第一目标压缩算法为第二目标存储方式中包含的压缩算法,所述第二目标存储方式为预设的存储方式中的一种;估算从第一目标存储介质中读取第一目标压缩数据需要的读取时间,其中,所述第一目标存储介质为:所述第二目标存储方式中包括的存储介质,所述第一目标压缩数据为:以所述第一目标压缩算法对所述目标数据进行压缩得到的数据;根据所述压缩时间、所述解压时间和所述读取时间,估算所述目标数据按照所述第二目标存储方式存储时所消耗的计算时延。可选的,所述存储方式的要素还包括数据格式;所述方法还包括:估算所述目标数据按照第一目标数据格式进行存储时需要的计数时间,其中,所述计数时间为:统计所述目标数据中用户所选定数据的出现次数所需要的时间,所述第一目标数据格式为:第二目标存储方式所包含的数据格式;所述根据所述压缩时间、所述解压时间和所述读取时间,估算所述目标数据按照所述第二目标存储方式存储时所消耗的计算时延的步骤,包括:根据所述压缩时间、所述解压时间、所述读取时间和所述计数时间,估算所述第二目标存储方式对应的计算时延。可选的,所述分别基于预设的每一种存储方式的计算时延,估算该存储方式的存储代价的步骤,包括:分别基于预设的每一种存储方式的计算时延,按照以下方式,估算该存储方式的存储代价:获取第二目标压缩数据所占用的存储空间,其中,所述第二目标压缩数据为将所述目标数据按照第三目标存储方式中的压缩算法压缩后得到的数据,所述第三目标存储方式为预设的存储方式中的一种;分别获得所述存储空间的第一权重和所述计算时延的第二权重;根据所述存储空间及其第一权重、所述计算时延及其第二权重以及所述访问频率,估算所述第三目标存储方式的存储代价。可选的,在所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤之前,还包括:判断所述目标数据的数据重要程度级别是否低于第二阈值,当判断结果为是,执行所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤。可选的,所述目标数据的访问频率为按照预设时间间隔统计的访问频率。可选的,所述目标数据包括:未在本地存储的数据和已在本地存储的数据。第二方面,本发明实施例提供了一种数据存储装置,所述装置包括:第一获得模块,用于获得目标数据;第一估算模块,用于估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延;第二获得模块,用于获得所述目标数据的访问频率;确定模块,用于当所述访问频率不低于第一阈值时,将数值最小的计算时延对应的存储方式确定为第一目标存储方式;否则,分别基于预设的每一种存储方式的计算时延,估算该存储方式的存储代价,并将数值最小的存储代价对应的存储方式确定为第一目标存储方式;存储模块,用于将所述目标数据按照所述第一目标存储方式进行存储。可选的,所述存储方式中包括压缩算法和存储介质两种要素;所述第一估算模块,包括:第一估算子模块,用于估算以第一目标压缩算法对所述目标数据进行压缩、解压时需要的压缩时间和解压时间,其中,所述第一目标压缩算法为第二目标存储方式中包含的压缩算法,所述第二目标存储方式为预设的存储方式中的一种;第二估算子模块,用于估算从第一目标存储介质中读取第一目标压缩数据需要的读取时间,其中,所述第一目标存储介质为:所述第二目标存储方式中包括的存储介质,所述第一目标压缩数据为:以所述第一目标压缩算法对所述目标数据进行压缩得到的数据;第三估算子模块,用于根据所述压缩时间、所述解压时间和所述读取时间,估算所述目标数据按照所述第二目标存储方式存储时所消耗的计算时延。可选的,所述存储方式的要素还包括数据格式;所述装置还包括:第二估算模块,用于估算所述目标数据按照第一目标数据格式进行存储时需要的计数时间,其中,所述计数时间为:统计所述目标数据中用户所选定数据的出现次数所需要的时间,所述第一目标数据格式为:第二目标存储方式所包含的数据格式;所述第一估算模块,具体用于:根据所述压缩时间、所述解压时间、所述读取时间和所述计数时间,估算所述第二目标存储方式对应的计算时延。可选的,所述确定模块,包括:第一获取子模块,用于获取第二目标压缩数据所占用的存储空间,其中,所述第二目标压缩数据为将所述目标数据按照第三目标存储方式中的压缩算法压缩后得到的数据,所述第三目标存储方式为预设的存储方式中的一种;第二获取子模块,用于分别获得所述存储空间的第一权重和所述计算时延的第二权重;第四估算子模块,用于根据所述存储空间及其第一权重、所述计算时延及其第二权重以及所述访问频率,估算所述第三目标存储方式的存储代价。可选的,在触发所述第一估算模块之前,所述装置还包括:判断模块,用于判断所述目标数据的数据重要程度级别是否低于第二阈值,当判断结果为是,执行所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤。可选的,所述目标数据的访问频率为按照预设时间间隔统计的访问频率。可选的,所述目标数据包括:未在本地存储的数据和已在本地存储的数据。本发明实施例提供的一种数据存储方法及装置,所述方法估算目标数据按照预设的不同存储方式存储时所消耗的计算时延,当目标数据的访问频率高于第一阈值,将目标数据以所消耗的计算时延最小的存储方式进行存储;否则,估算目标数据按照预设的不同存储方式存储时所消耗的存储代价,将目标数据按照存储代价最小的存储方式进行存储。相较于现有技术中按固有的规定存储数据的方法,本发明实施例提供的数据存储方法根据目标数据的访问频率等参数确定存储方式进而存储数据,可以合理分配存储资源,进一步地,能够提高后期数据访问效率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种数据存储方法的步骤流程图;图2为本发明实施例提供的一种数据存储装置的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1