CN107168643A - 一种数据存储方法及装置 - Google Patents

一种数据存储方法及装置 Download PDF

Info

Publication number
CN107168643A
CN107168643A CN201710207426.8A CN201710207426A CN107168643A CN 107168643 A CN107168643 A CN 107168643A CN 201710207426 A CN201710207426 A CN 201710207426A CN 107168643 A CN107168643 A CN 107168643A
Authority
CN
China
Prior art keywords
data
storage mode
storage
target
target data
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
CN201710207426.8A
Other languages
English (en)
Other versions
CN107168643B (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201710207426.8A priority Critical patent/CN107168643B/zh
Publication of CN107168643A publication Critical patent/CN107168643A/zh
Application granted granted Critical
Publication of CN107168643B publication Critical patent/CN107168643B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices

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)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种数据存储方法及装置,所述方法包括:获得目标数据;估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延;获得所述目标数据的访问频率;当所述访问频率不低于第一阈值时,将数值最小的计算时延对应的存储方式确定为第一目标存储方式;否则,分别基于预设的每一种存储方式的计算时延,估算该存储方式的存储代价,并将数值最小的存储代价对应的存储方式确定为第一目标存储方式;将所述目标数据按照所述第一目标存储方式进行存储。通过本发明实施例提供的方案,可以为数据合理地分配存储资源。

Description

一种数据存储方法及装置
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据存储方法及装置。
背景技术
如今数据爆发的情势下,人们将目光转向大数据,同时数据的存储也成为人们关注的焦点之一。现有的数据存储方法为:根据固有的压缩算法将目标数据进行压缩,获得压缩数据;将上述压缩数据储至用户指定的存储介质上。
但是,由于现有数据存储方法根据固有压缩算法对数据进行处理,并由用户指定存储介质,因此现有存储方法过于固化,易导致存储资源分配不合理的问题。例如,用户指定将A数据存储至读取速率较低的介质1上,将B数据存储至读取速率较高的介质2上,而实际应用中对A数据访问率高、B数据访问率低,依据现有技术的方法,由于已经约定了A数据的存储介质,虽然之后对A数据的访问率高,但是依然只能将A数据存储到介质1中,显然这样资源分配不合理,会影响后期数据访问的效率。
发明内容
本发明实施例的目的在于提供一种数据存储方法及装置,以合理分配存储资源。具体技术方案如下:
第一方面,本发明实施例提供了一种数据存储方法,所述方法包括:
获得目标数据;
估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延;
获得所述目标数据的访问频率;
当所述访问频率不低于第一阈值时,将数值最小的计算时延对应的存储方式确定为第一目标存储方式;否则,分别基于预设的每一种存储方式的计算时延,估算该存储方式的存储代价,并将数值最小的存储代价对应的存储方式确定为第一目标存储方式;
将所述目标数据按照所述第一目标存储方式进行存储。
可选的,所述存储方式中包括压缩算法和存储介质两种要素;
所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤,包括:
按照以下方式估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延:
估算以第一目标压缩算法对所述目标数据进行压缩、解压时需要的压缩时间和解压时间,其中,所述第一目标压缩算法为第二目标存储方式中包含的压缩算法,所述第二目标存储方式为预设的存储方式中的一种;
估算从第一目标存储介质中读取第一目标压缩数据需要的读取时间,其中,所述第一目标存储介质为:所述第二目标存储方式中包括的存储介质,所述第一目标压缩数据为:以所述第一目标压缩算法对所述目标数据进行压缩得到的数据;
根据所述压缩时间、所述解压时间和所述读取时间,估算所述目标数据按照所述第二目标存储方式存储时所消耗的计算时延。
可选的,所述存储方式的要素还包括数据格式;
所述方法还包括:
估算所述目标数据按照第一目标数据格式进行存储时需要的计数时间,其中,所述计数时间为:统计所述目标数据中用户所选定数据的出现次数所需要的时间,所述第一目标数据格式为:第二目标存储方式所包含的数据格式;
所述根据所述压缩时间、所述解压时间和所述读取时间,估算所述目标数据按照所述第二目标存储方式存储时所消耗的计算时延的步骤,包括:
根据所述压缩时间、所述解压时间、所述读取时间和所述计数时间,估算所述第二目标存储方式对应的计算时延。
可选的,所述分别基于预设的每一种存储方式的计算时延,估算该存储方式的存储代价的步骤,包括:
分别基于预设的每一种存储方式的计算时延,按照以下方式,估算该存储方式的存储代价:
获取第二目标压缩数据所占用的存储空间,其中,所述第二目标压缩数据为将所述目标数据按照第三目标存储方式中的压缩算法压缩后得到的数据,所述第三目标存储方式为预设的存储方式中的一种;
分别获得所述存储空间的第一权重和所述计算时延的第二权重;
根据所述存储空间及其第一权重、所述计算时延及其第二权重以及所述访问频率,估算所述第三目标存储方式的存储代价。
可选的,在所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤之前,还包括:
判断所述目标数据的数据重要程度级别是否低于第二阈值,当判断结果为是,执行所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤。
可选的,所述目标数据的访问频率为按照预设时间间隔统计的访问频率。
可选的,所述目标数据包括:未在本地存储的数据和已在本地存储的数据。
第二方面,本发明实施例提供了一种数据存储装置,所述装置包括:
第一获得模块,用于获得目标数据;
第一估算模块,用于估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延;
第二获得模块,用于获得所述目标数据的访问频率;
确定模块,用于当所述访问频率不低于第一阈值时,将数值最小的计算时延对应的存储方式确定为第一目标存储方式;否则,分别基于预设的每一种存储方式的计算时延,估算该存储方式的存储代价,并将数值最小的存储代价对应的存储方式确定为第一目标存储方式;
存储模块,用于将所述目标数据按照所述第一目标存储方式进行存储。
可选的,所述存储方式中包括压缩算法和存储介质两种要素;
所述第一估算模块,包括:
第一估算子模块,用于估算以第一目标压缩算法对所述目标数据进行压缩、解压时需要的压缩时间和解压时间,其中,所述第一目标压缩算法为第二目标存储方式中包含的压缩算法,所述第二目标存储方式为预设的存储方式中的一种;
第二估算子模块,用于估算从第一目标存储介质中读取第一目标压缩数据需要的读取时间,其中,所述第一目标存储介质为:所述第二目标存储方式中包括的存储介质,所述第一目标压缩数据为:以所述第一目标压缩算法对所述目标数据进行压缩得到的数据;
第三估算子模块,用于根据所述压缩时间、所述解压时间和所述读取时间,估算所述目标数据按照所述第二目标存储方式存储时所消耗的计算时延。
可选的,所述存储方式的要素还包括数据格式;
所述装置还包括:
第二估算模块,用于估算所述目标数据按照第一目标数据格式进行存储时需要的计数时间,其中,所述计数时间为:统计所述目标数据中用户所选定数据的出现次数所需要的时间,所述第一目标数据格式为:第二目标存储方式所包含的数据格式;
所述第一估算模块,具体用于:
根据所述压缩时间、所述解压时间、所述读取时间和所述计数时间,估算所述第二目标存储方式对应的计算时延。
可选的,所述确定模块,包括:
第一获取子模块,用于获取第二目标压缩数据所占用的存储空间,其中,所述第二目标压缩数据为将所述目标数据按照第三目标存储方式中的压缩算法压缩后得到的数据,所述第三目标存储方式为预设的存储方式中的一种;
第二获取子模块,用于分别获得所述存储空间的第一权重和所述计算时延的第二权重;
第四估算子模块,用于根据所述存储空间及其第一权重、所述计算时延及其第二权重以及所述访问频率,估算所述第三目标存储方式的存储代价。
可选的,在触发所述第一估算模块之前,所述装置还包括:
判断模块,用于判断所述目标数据的数据重要程度级别是否低于第二阈值,当判断结果为是,执行所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤。
可选的,所述目标数据的访问频率为按照预设时间间隔统计的访问频率。
可选的,所述目标数据包括:未在本地存储的数据和已在本地存储的数据。
本发明实施例提供的一种数据存储方法及装置,所述方法估算目标数据按照预设的不同存储方式存储时所消耗的计算时延,当目标数据的访问频率高于第一阈值,将目标数据以所消耗的计算时延最小的存储方式进行存储;否则,估算目标数据按照预设的不同存储方式存储时所消耗的存储代价,将目标数据按照存储代价最小的存储方式进行存储。相较于现有技术中按固有的规定存储数据的方法,本发明实施例提供的数据存储方法根据目标数据的访问频率等参数确定存储方式进而存储数据,可以合理分配存储资源,进一步地,能够提高后期数据访问效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据存储方法的步骤流程图;
图2为本发明实施例提供的一种数据存储装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据存储方法及装置,以下分别作详细介绍。
首先,介绍本发明实施例提供的一种数据存储方法,上述方法应用于电子设备,该电子设备可以为智能手机、台式计算机、笔记本电脑、平板电脑等终端设备,还可以为具有较强数据处理功能的服务设备,例如大型计算机等。具体的,上述方法还可以应用于安装在电子设备上的应用程序,该应用程序可以为专门优化存储空间的应用程序;还可以为相关应用程序的功能插件,例如可以为电脑防护软件的插件、杀毒软件的插件,该装置还可以做为功能插件安插在操作系统中。
如图1所示,本发明实施例提供的一种数据存储方法,包括如下步骤:
S101:获得目标数据;
上述目标数据可以为未在本地存储的数据。
当然,当需要对本地存储空间进行优化,或由于使用环境的改变不得不转换本地数据的存储方式时,目标数据还可以为已在本地存储的数据。使用环境的改变可以包括计算机硬件的更换、数据访问频率的改变等。
S102:估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延;
需要说明的是,要素是构成存储方式的最小单位,要素可以为存储数据时所使用的压缩算法、存储介质等,或者还可以为数据本身的数据格式。一种存储方式中可以包括1个、2个甚至多个要素,任意两种预设的存储方式之间至少有1个要素不同。
由于存储数据时要对数据进行计算处理,例如压缩、读取等,计算处理会产生计算时延,当采用不同存储方式存储数据时,所产生的计算时延不同。由于计算时延导致用户在存储数据或者读取数据时等待相应时间,所以需要对不同存储方案的计算时延进行估算,进而了解数据按照不同存储方案存储时致使用户等待的时间。具体的,可以通过以下两种方式估算计算时延。
在一种实现方式中,存储方式中包括压缩算法、存储介质两种要素。压缩算法可以为rar、zip、bzip2、gzip等算法。存储介质包括但不限于内存、SSD(固态硬盘,Solid StateDrives)、SAS(串行连接硬盘,Serial Attached SCSI)、SATA(串口硬盘,Serial ATA)。
当存储方式包括压缩算法和存储介质两种要素时,可选的,可以通过以下步骤估算目标数据按照每一种预设的不同存储方式存储时所消耗的计算时延:估算以第一目标压缩算法对目标数据进行压缩、解压时需要的压缩时间和解压时间,其中,第一目标压缩算法为第二目标存储方式中包含的压缩算法,第二目标存储方式为预设的存储方式中的一种;估算从第一目标存储介质中读取第一目标压缩数据需要的读取时间,其中,第一目标存储介质为:第二目标存储方式中包括的存储介质,第一目标压缩数据为:以上述第一目标压缩算法对目标数据进行压缩得到的数据;根据上述压缩时间、上述解压时间和上述读取时间,估算目标数据按照上述第二目标存储方式存储时所消耗的计算时延。需要说明的是,由于数据的解压过程为数据压缩的逆过程,因此,在本文中,以第一目标压缩算法对数据进行处理可以包括:对数据进行压缩处理和解压处理两个过程。
具体的,压缩时间可以由压缩速度和数据大小两个因素确定,例如,可以由压缩速度乘以数据大小获得,压缩速度可以由本领域技术人员根据以往的经验进行确定,或者还可以由第三方的专门针对数据进行统计的数据管理系统所提供。数据大小可以由上述数据管理系统进行估算,当然还可以由执行本发明实施例提供的方法的执行主体进行估算。假设以zip压缩算法对目标数据进行压缩处理,获取第三方数据管理系统提供的zip压缩算法的压缩速度、以及第三方系统所估算的目标数据的大小,将两者相乘,进而可以估算出以zip压缩算法压缩目标数据所耗费的压缩时间。
具体的,解压时间可以由解压速度和数据大小两个因素确定,例如,可以由解压缩度和数据大小相乘而得。解压速度可以由本领域技术人员根据以往的经验进行确定,或者还可以由第三方的专门针对数据进行统计的数据管理系统所提供。
具体的,读取时间可以由读取速度和数据大小两个因素确定,例如,可以由读取速度和数据大小相乘而得。读取速度可以由本领域技术人员根据以往的经验进行确定,或者还可以由第三方的专门针对数据进行统计的数据管理系统所提供。
具体的,计算时延由压缩时间、解压时间、读取时间确定,例如将压缩时间、解压时间和读取时间相加,获得目标数据按照第二目标存储方式存储时所消耗的计算时延,以完成估算。
实际应用过程中,在存储数据时,需要对数据中的内容进行某种计数统计,以进行数据分析。例如,存储数据时需要对数据中的某一类数据的出现次数进行计数统计,再如,当数据为某一平台的访问记录时,存储上述记录之前需要统计用户数量(用户数量需要摒除同一用户多次访问平台的情况),此时需要对用户个数进行计数统计。
包括上述两种情况在内的计数统计会耗费相应的计数时间。由于以不同存储格式进行存储的数据所耗费的计数时间不同,进而计算时延不同,因此,在另一种实现方式中,当需要对数据中的某一类数据进行计数统计时,存储方式除包括压缩算法和存储介质两种要素外,还包括数据格式。数据格式可以为行存储、列式存储(比如Apache ORC、Parquet)等文件格式。
当存储方式包括压缩算法、存储介质和数据格式三种要素时,除估算压缩时间、解压时间、读取时间外,还估算目标数据按照第一目标数据格式进行存储时需要的计数时间,其中,计数时间为:统计所述目标数据中用户所选定的数据的出现次数所需要的时间,第一目标数据格式为:第二目标存储方式所包含的数据格式;并根据压缩时间、解压时间、读取时间和上述计数时间,估算第二目标存储方式对应的计算时延。
具体的,计算时延由压缩时间、解压时间、读取时间和计数时间确定,例如将压缩时间、解压时间、读取时间和计数时间相加,获得目标数据按照第二目标存储方式存储时所消耗的计算时延,以完成估算。
可选的,计数时间由计数速度和数据大小确定,例如,由计数速度乘以数据大小获得。计数速度可以由本领域技术人员根据以往的经验进行确定,或者还可以由第三方的专门针对数据进行统计的数据管理系统所提供。
S103:获得所述目标数据的访问频率;
其中,访问频率可以从本地获得,当然也可以从第三方服务器获得,上述第三方服务器可以为用于统计数据的服务器。
可选的,可以将目标数据在过去一定时期内的历史访问量确定为访问频率;当目标数据为新产生的数据,无法直接获得访问频率,还可以根据目标数据所反应的信息的历史访问量,估算目标数据的访问频率。例如,获得的目标数据所反映的信息为一部侦探类的电影,则根据过去一段时间内侦探类电影的历史访问量估算所获得的目标数据的访问量。
较佳的,为了确保所获取的访问频率能够准确反映数据的访问量,本发明实施例所获取的访问频率为按照预设时间间隔统计的访问频率。也就是说,每隔预设时间间隔,重新获得目标数据的访问频率。
S104:当所述访问频率不低于第一阈值时,将数值最小的计算时延对应的存储方式确定为第一目标存储方式;否则,分别基于预设的每一种存储方式的计算时延,估算该存储方式的存储代价,并将数值最小的存储代价对应的存储方式确定为第一目标存储方式;
当完成对所有存储方式的计算时延的估算后获得多个计算时延,判断目标数据的访问频率是否不低于(大于或者等于)第一阈值,当访问频率不低于第一阈值时,将各计算时延进行比较,确定出数值最小的计算时延,并将数值最小的计算时延对应的存储方式确定为第一目标存储方式。可以理解的是,确定出计算时延最小的存储方式后,当目标数据按照该方式存储时,可以将计算时延缩短至最小。对于第一阈值的大小,可以根据实际使用需求进行设定,本发明实施例不做具体限定。
当目标数据的访问频率低于第一阈值时,根据各存储方式的计算时延,估算该存储方式的存储代价。可选的,按照以下方式,估算每一种存储方式的存储代价:获取第二目标压缩数据所占用的存储空间,其中,第二目标压缩数据为将上述目标数据按照第三目标存储方式中的压缩算法压缩后得到的数据,第三目标存储方式为预设的存储方式中的一种;分别获得上述存储空间的第一权重和上述计算时延的第二权重;根据存储空间及其第一权重、计算时延及其第二权重以及访问频率,估算所述第三目标存储方式的存储代价。其中,第三目标存储方式可以为S102中的第二目标存储方式,进而第二目标压缩数据为第一目标压缩数据、第三目标存储方式中的压缩算法为第一目标压缩算法;当然第三目标存储方式还可以为预设存储方式中除第二目标存储方式以外的存储方式。其中,存储空间可以为将目标数据以某一种数据格式,通过某种压缩算法压缩后所占用存储介质的空间,可选的,可以通过存储空间计算函数SizeOfBytes()计算而得。
具体通过以下公式计算存储代价:存储代价=存储空间*第一权重+计算时延*第二权重*访问频率。
估算出所有存储方式的存储代价后,将所得出的各存储代价进行比较,确定数值最小的存储代价,将数值最小的存储代价对应的存储方式确定为第一目标存储方式。确定出存储代价最小的存储方式后,当目标数据按照该方式进行存储时,可以将存储代价缩减至最小。
需要说明的是,第一权重、第二权重可以体现为用户对存储空间以及计算时延的需求,某些用户可能更加注重节省存储空间,而对于另外一些客户而言,其可能更加注重减少计算时延,而关注点不同会导致存储代价的改变,因此引入权重满足不同用户的需求。第一权重、第二权重的来源,可以依据应用场景的不同,从不同第三方数据库获得,或者还可以由用户自行设定,上述第三方数据库用于存储用户在不同需求下注重存储空间(计算时延)的程度。在一种应用场景中,第三方数据库为资产管理数据库,第一权重可以为单位字节占用存储介质所耗费的费用,第二权重可以为单位时间内占用CPU(中央处理器,CentralProcessing Unit)所耗费的费用,那么在此应用场景中,存储代价被具体为包括使用存储介质产生的费用、使用CPU产生的费用在内的总费用。
S105:将所述目标数据按照所述第一目标存储方式进行存储。
在一种可选实施方式中,通过以下方式,将目标数据按照第一目标存储方式进行存储:将目标数据根据第一目标存储方式中的压缩算法进行压缩,获得第三目标压缩数据;将第三目标压缩数据存储至第一目标存储方式中所规定的存储介质。
在另一种可选实施方式中,将目标数据以第一目标存储方式中的数据格式,通过第一目标存储方式中的压缩算法进行压缩,获得第三目标压缩数据;将第三目标压缩数据存储至第一目标存储方式中所规定的存储介质。
本发明实施例提供的一种数据存储方法,估算目标数据按照预设的不同存储方式存储时所消耗的计算时延,当目标数据的访问频率高于第一阈值,将目标数据以所消耗的计算时延最小的存储方式进行存储;否则,估算目标数据按照预设的不同存储方式存储时所消耗的存储代价,将目标数据按照存储代价最小的存储方式进行存储。相较于现有技术中按固有的规定存储数据的方法,本发明实施例提供的数据存储方法根据目标数据的访问频率等参数确定存储方式进而存储数据,可以合理分配存储资源,进一步地,能够提高后期数据访问效率。
较佳的,在实际应用中,由于个别数据对用户非常重要,不能任意存储,因此本发明实施例还可以对数据的重要程度级别进行判定,过程可以包括以下步骤:判断目标数据的数据重要程度级别是否低于第二阈值,当判断结果为是,执行步骤S102;当判断结果为否,根据用户所指定的存储方式进行存储。上述第二阈值由用户根据需求进行设定,本发明实施例不做具体限定。
相应于上述方法实施例,如图2所示,本发明实施例还提供了一种数据存储装置,所述装置包括:
第一获得模块210,用于获得目标数据;
第一估算模块220,用于估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延;
第二获得模块230,用于获得所述目标数据的访问频率;
确定模块240,用于当所述访问频率不低于第一阈值时,将数值最小的计算时延对应的存储方式确定为第一目标存储方式;否则,分别基于预设的每一种存储方式的计算时延,估算该存储方式的存储代价,并将数值最小的存储代价对应的存储方式确定为第一目标存储方式;
存储模块250,用于将所述目标数据按照所述第一目标存储方式进行存储。
可选的,所述存储方式中包括压缩算法和存储介质两种要素;
所述第一估算模块220,包括:
第一估算子模块,用于估算以第一目标压缩算法对所述目标数据进行压缩、解压时需要的压缩时间和解压时间,其中,所述第一目标压缩算法为第二目标存储方式中包含的压缩算法,所述第二目标存储方式为预设的存储方式中的一种;
第二估算子模块,用于估算从第一目标存储介质中读取第一目标压缩数据需要的读取时间,其中,所述第一目标存储介质为:所述第二目标存储方式中包括的存储介质,所述第一目标压缩数据为:以所述第一目标压缩算法对所述目标数据进行压缩得到的数据;
第三估算子模块,用于根据所述压缩时间、所述解压时间和所述读取时间,估算所述目标数据按照所述第二目标存储方式存储时所消耗的计算时延。
可选的,所述存储方式的要素还包括数据格式;
所述装置还包括:
第二估算模块,用于估算所述目标数据按照第一目标数据格式进行存储时需要的计数时间,其中,所述计数时间为:统计所述目标数据中用户所选定数据的出现次数所需要的时间,所述第一目标数据格式为:第二目标存储方式所包含的数据格式;
所述第一估算模块220,具体用于:
根据所述压缩时间、所述解压时间、所述读取时间和所述计数时间,估算所述第二目标存储方式对应的计算时延。
可选的,所述确定模块240,包括:
第一获取子模块,用于获取第二目标压缩数据所占用的存储空间,其中,所述第二目标压缩数据为将所述目标数据按照第三目标存储方式中的压缩算法压缩后得到的数据,所述第三目标存储方式为预设的存储方式中的一种;
第二获取子模块,用于分别获得所述存储空间的第一权重和所述计算时延的第二权重;
第四估算子模块,用于根据所述存储空间及其第一权重、所述计算时延及其第二权重以及所述访问频率,估算所述第三目标存储方式的存储代价。
可选的,在触发所述第一估算模块220之前,所述装置还包括:
判断模块,用于判断所述目标数据的数据重要程度级别是否低于第二阈值,当判断结果为是,执行所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤。
可选的,所述目标数据的访问频率为按照预设时间间隔统计的访问频率。
可选的,所述目标数据包括:未在本地存储的数据和已在本地存储的数据。
本发明实施例提供的一种数据存储装置,估算目标数据按照预设的不同存储方式存储时所消耗的计算时延,当目标数据的访问频率高于第一阈值,将目标数据以所消耗的计算时延最小的存储方式进行存储;否则,估算目标数据按照预设的不同存储方式存储时所消耗的存储代价,将目标数据按照存储代价最小的存储方式进行存储。相较于现有技术,本发明实施例提供的数据存储装置根据目标数据的访问频率等参数确定存储方式进而存储数据,可以合理分配存储资源,进一步地,能够提高后期数据访问效率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种数据存储方法,其特征在于,所述方法包括:
获得目标数据;
估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延;
获得所述目标数据的访问频率;
当所述访问频率不低于第一阈值时,将数值最小的计算时延对应的存储方式确定为第一目标存储方式;否则,分别基于预设的每一种存储方式的计算时延,估算该存储方式的存储代价,并将数值最小的存储代价对应的存储方式确定为第一目标存储方式;
将所述目标数据按照所述第一目标存储方式进行存储。
2.根据权利要求1所述的方法,其特征在于,所述存储方式中包括压缩算法和存储介质两种要素;
所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤,包括:
按照以下方式估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延:
估算以第一目标压缩算法对所述目标数据进行压缩、解压时需要的压缩时间和解压时间,其中,所述第一目标压缩算法为第二目标存储方式中包含的压缩算法,所述第二目标存储方式为预设的存储方式中的一种;
估算从第一目标存储介质中读取第一目标压缩数据需要的读取时间,其中,所述第一目标存储介质为:所述第二目标存储方式中包括的存储介质,所述第一目标压缩数据为:以所述第一目标压缩算法对所述目标数据进行压缩得到的数据;
根据所述压缩时间、所述解压时间和所述读取时间,估算所述目标数据按照所述第二目标存储方式存储时所消耗的计算时延。
3.根据权利要求2所述的方法,其特征在于,
所述存储方式的要素还包括数据格式;
所述方法还包括:
估算所述目标数据按照第一目标数据格式进行存储时需要的计数时间,其中,所述计数时间为:统计所述目标数据中用户所选定数据的出现次数所需要的时间,所述第一目标数据格式为:第二目标存储方式所包含的数据格式;
所述根据所述压缩时间、所述解压时间和所述读取时间,估算所述目标数据按照所述第二目标存储方式存储时所消耗的计算时延的步骤,包括:
根据所述压缩时间、所述解压时间、所述读取时间和所述计数时间,估算所述第二目标存储方式对应的计算时延。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述分别基于预设的每一种存储方式的计算时延,估算该存储方式的存储代价的步骤,包括:
分别基于预设的每一种存储方式的计算时延,按照以下方式,估算该存储方式的存储代价:
获取第二目标压缩数据所占用的存储空间,其中,所述第二目标压缩数据为将所述目标数据按照第三目标存储方式中的压缩算法压缩后得到的数据,所述第三目标存储方式为预设的存储方式中的一种;
分别获得所述存储空间的第一权重和所述计算时延的第二权重;
根据所述存储空间及其第一权重、所述计算时延及其第二权重以及所述访问频率,估算所述第三目标存储方式的存储代价。
5.根据权利要求4所述的方法,其特征在于,在所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤之前,还包括:
判断所述目标数据的数据重要程度级别是否低于第二阈值,当判断结果为是,执行所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤。
6.根据权利要求5所述的方法,其特征在于,所述目标数据的访问频率为按照预设时间间隔统计的访问频率。
7.根据权利要求6所述的方法,其特征在于,所述目标数据包括:未在本地存储的数据和已在本地存储的数据。
8.一种数据存储装置,其特征在于,所述装置包括:
第一获得模块,用于获得目标数据;
第一估算模块,用于估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延;
第二获得模块,用于获得所述目标数据的访问频率;
确定模块,用于当所述访问频率不低于第一阈值时,将数值最小的计算时延对应的存储方式确定为第一目标存储方式;否则,分别基于预设的每一种存储方式的计算时延,估算该存储方式的存储代价,并将数值最小的存储代价对应的存储方式确定为第一目标存储方式;
存储模块,用于将所述目标数据按照所述第一目标存储方式进行存储。
9.根据权利要求8所述的装置,其特征在于,所述存储方式中包括压缩算法和存储介质两种要素;
所述第一估算模块,包括:
第一估算子模块,用于估算以第一目标压缩算法对所述目标数据进行压缩、解压时需要的压缩时间和解压时间,其中,所述第一目标压缩算法为第二目标存储方式中包含的压缩算法,所述第二目标存储方式为预设的存储方式中的一种;
第二估算子模块,用于估算从第一目标存储介质中读取第一目标压缩数据需要的读取时间,其中,所述第一目标存储介质为:所述第二目标存储方式中包括的存储介质,所述第一目标压缩数据为:以所述第一目标压缩算法对所述目标数据进行压缩得到的数据;
第三估算子模块,用于根据所述压缩时间、所述解压时间和所述读取时间,估算所述目标数据按照所述第二目标存储方式存储时所消耗的计算时延。
10.根据权利要求9所述的装置,其特征在于,
所述存储方式的要素还包括数据格式;
所述装置还包括:
第二估算模块,用于估算所述目标数据按照第一目标数据格式进行存储时需要的计数时间,其中,所述计数时间为:统计所述目标数据中用户所选定数据的出现次数所需要的时间,所述第一目标数据格式为:第二目标存储方式所包含的数据格式;
所述第一估算模块,具体用于:
根据所述压缩时间、所述解压时间、所述读取时间和所述计数时间,估算所述第二目标存储方式对应的计算时延。
11.根据权利要求8-10任一项所述的装置,其特征在于,所述确定模块,包括:
第一获取子模块,用于获取第二目标压缩数据所占用的存储空间,其中,所述第二目标压缩数据为将所述目标数据按照第三目标存储方式中的压缩算法压缩后得到的数据,所述第三目标存储方式为预设的存储方式中的一种;
第二获取子模块,用于分别获得所述存储空间的第一权重和所述计算时延的第二权重;
第四估算子模块,用于根据所述存储空间及其第一权重、所述计算时延及其第二权重以及所述访问频率,估算所述第三目标存储方式的存储代价。
12.根据权利要求11所述的装置,其特征在于,在触发所述第一估算模块之前,所述装置还包括:
判断模块,用于判断所述目标数据的数据重要程度级别是否低于第二阈值,当判断结果为是,执行所述估算所述目标数据按照预设的不同存储方式存储时所消耗的计算时延的步骤。
13.根据权利要求12所述的装置,其特征在于,所述目标数据的访问频率为按照预设时间间隔统计的访问频率。
14.根据权利要求13所述的装置,其特征在于,所述目标数据包括:未在本地存储的数据和已在本地存储的数据。
CN201710207426.8A 2017-03-31 2017-03-31 一种数据存储方法及装置 Active CN107168643B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710207426.8A CN107168643B (zh) 2017-03-31 2017-03-31 一种数据存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710207426.8A CN107168643B (zh) 2017-03-31 2017-03-31 一种数据存储方法及装置

Publications (2)

Publication Number Publication Date
CN107168643A true CN107168643A (zh) 2017-09-15
CN107168643B CN107168643B (zh) 2020-04-03

Family

ID=59849046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710207426.8A Active CN107168643B (zh) 2017-03-31 2017-03-31 一种数据存储方法及装置

Country Status (1)

Country Link
CN (1) CN107168643B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108710686A (zh) * 2018-05-21 2018-10-26 北京五八信息技术有限公司 一种数据存储方法、装置、存储介质及终端
CN109725841A (zh) * 2017-10-30 2019-05-07 华为技术有限公司 数据写入方法、装置、存储系统、存储介质与控制器
CN114817912A (zh) * 2022-06-15 2022-07-29 国网浙江省电力有限公司杭州供电公司 基于行为识别模型的病毒阻断处理方法及平台

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526923A (zh) * 2009-04-02 2009-09-09 成都市华为赛门铁克科技有限公司 一种数据处理方法、装置和闪存存储系统
CN102724294A (zh) * 2012-05-24 2012-10-10 中国科学院深圳先进技术研究院 数据分布存储方法和系统
CN102929783A (zh) * 2012-10-25 2013-02-13 华为技术有限公司 一种数据存储的方法、装置和系统
US20140351294A1 (en) * 2013-05-27 2014-11-27 Fujitsu Limited Storage control device and storage control method
CN104536909A (zh) * 2014-12-09 2015-04-22 华为技术有限公司 一种存储管理方法,存储管理装置及存储设备
CN105138481A (zh) * 2014-05-30 2015-12-09 华为技术有限公司 存储数据的处理方法、装置和系统
US20160011971A1 (en) * 2014-07-14 2016-01-14 Jae-Il Lee Storage medium, memory system, and method of managing storage area in memory system
CN105786410A (zh) * 2016-03-01 2016-07-20 深圳市瑞驰信息技术有限公司 一种提高数据存储系统处理速度的方法及数据存储系统
US20160259725A1 (en) * 2014-07-07 2016-09-08 Hitachi, Ltd. Storage apparatus, computer system, and method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526923A (zh) * 2009-04-02 2009-09-09 成都市华为赛门铁克科技有限公司 一种数据处理方法、装置和闪存存储系统
CN102724294A (zh) * 2012-05-24 2012-10-10 中国科学院深圳先进技术研究院 数据分布存储方法和系统
CN102929783A (zh) * 2012-10-25 2013-02-13 华为技术有限公司 一种数据存储的方法、装置和系统
US20140351294A1 (en) * 2013-05-27 2014-11-27 Fujitsu Limited Storage control device and storage control method
CN105138481A (zh) * 2014-05-30 2015-12-09 华为技术有限公司 存储数据的处理方法、装置和系统
US20160259725A1 (en) * 2014-07-07 2016-09-08 Hitachi, Ltd. Storage apparatus, computer system, and method
US20160011971A1 (en) * 2014-07-14 2016-01-14 Jae-Il Lee Storage medium, memory system, and method of managing storage area in memory system
CN104536909A (zh) * 2014-12-09 2015-04-22 华为技术有限公司 一种存储管理方法,存储管理装置及存储设备
CN105786410A (zh) * 2016-03-01 2016-07-20 深圳市瑞驰信息技术有限公司 一种提高数据存储系统处理速度的方法及数据存储系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725841A (zh) * 2017-10-30 2019-05-07 华为技术有限公司 数据写入方法、装置、存储系统、存储介质与控制器
CN109725841B (zh) * 2017-10-30 2021-01-12 华为技术有限公司 数据写入方法、装置、存储系统、存储介质与控制器
CN108710686A (zh) * 2018-05-21 2018-10-26 北京五八信息技术有限公司 一种数据存储方法、装置、存储介质及终端
CN114817912A (zh) * 2022-06-15 2022-07-29 国网浙江省电力有限公司杭州供电公司 基于行为识别模型的病毒阻断处理方法及平台
CN114817912B (zh) * 2022-06-15 2022-11-04 国网浙江省电力有限公司杭州供电公司 基于行为识别模型的病毒阻断处理方法及平台

Also Published As

Publication number Publication date
CN107168643B (zh) 2020-04-03

Similar Documents

Publication Publication Date Title
US11106486B2 (en) Techniques to manage virtual classes for statistical tests
KR101792582B1 (ko) 칼럼형 데이터베이스의 히스토그램을 이용한 효율적인 질의 처리
CN105205014B (zh) 一种数据存储方法和装置
WO2015148159A1 (en) Determining a temporary transaction limit
CN104516824B (zh) 数据存储系统中的存储管理方法和系统
CN109918018A (zh) 一种数据存储方法及存储设备
CN103399797B (zh) 服务器资源配置方法及装置
US20120191641A1 (en) Characterizing business intelligence workloads
CN107168643A (zh) 一种数据存储方法及装置
KR101485633B1 (ko) 산출장치, 시스템 관리장치, 산출방법 및 프로그램
CN104424361B (zh) 自动定义热存储和大工作负载
CN109597800A (zh) 一种日志分发方法及装置
CN107851041A (zh) 多处理器/多核心计算系统的动态调优
CN111897706A (zh) 服务器性能预测方法、装置、计算机系统和介质
CN108694664A (zh) 业务系统的核对方法及装置、电子设备
CN108920326A (zh) 确定系统耗时异常的方法、装置及电子设备
CN107392637A (zh) 以积分计价的权益定价方法和装置
CN107451318A (zh) 用于处理器的功率估算器件、功率估算系统及相关方法
CN112100143B (zh) 一种文件压缩存储方法、装置、设备及存储介质
CN113885803A (zh) 数据存储方法、装置、电子设备及存储介质
CN103020264A (zh) 多子集实体数据的存储显示方法及装置
CN111598390A (zh) 服务器高可用性评估方法、装置、设备和可读存储介质
CN107132991B (zh) 虚拟存储系统的分层存储方法及虚拟存储系统
CN116661683B (zh) 一种闪存的磨损平衡管理方法、系统、设备及介质
CN109684235A (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