一种文件的存储方法和装置与流程

文档序号:14835897发布日期:2018-06-30 12:23阅读:185来源:国知局
一种文件的存储方法和装置与流程

本发明涉及计算机处理的技术领域,特别是涉及一种文件的存储方法和一种文件的存储装置。



背景技术:

在诸如内容分发网络CDN等系统中,因业务需求,需要存储大量的数据。

根据业务的需要,对于存储装置要求不同的并发量、吞吐量,因此,在一台设备中,通常会单独配置相应功能的存储装置。

由于存储装置的功能限制,这台设备较难处理其他业务,处于空闲的状态,容易导致资源浪费。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种文件的存储方法和相应的一种文件的存储装置。

依据本发明的一个方面,提供了一种文件的存储方法,包括:

当接收到文件的存储指令时,检测多种存储装置在状态指标下多个指标实时值;

依据所述多个指标实时值从所述多种存储装置中选择目标存储装置;

将所述文件存储至所述目标存储装置中。

可选地,所述依据所述多个指标实时值从所述多种存储装置中选择目标存储装置,包括:

采用所述多个指标实时值计算所述多种存储装置的多个参考性能值;

在所述多个参考性能值中选择目标性能值;

确定所述目标性能值对应的存储装置为目标存储装置。

可选地,所述采用所述多个指标实时值计算所述多种存储装置的多个参考性能值,包括:

针对每种存储装置,获取每个状态指标对应的指标阈值、指标权重;

针对每个状态指标,计算占用所述指标实时值下,所述指标阈值的空闲比例;

对所述空闲比例配置所述权重,获得单项性能值;

计算所有单项性能值之和,获得所述存储装置的参考性能值。

可选地,所述获取每个状态指标对应的指标阈值、指标权重,包括:

查询所述状态指标对应的指标额值;

在所述指标额值的基础上取指定的比例,作为指标阈值。

可选地,所述针对每个状态指标,针对每个状态指标,计算占用所述指标实时值下,所述指标阈值的空闲比例,包括:

针对每个状态指标,计算所述指标阈值与所述指标实时值之间的差值;

计算所述差值与所述指标阈值之间的比值,作为空闲比例。

可选地,所述在所述多个参考性能值中选择目标性能值,包括:

对所述多个参考性能值进行比较;

选取值最高的参考性能值作为目标性能值。

可选地,所述状态指标包括如下的至少一项:

每秒读操作的次数、每秒写操作的次数、读带宽、写带宽、剩余存储空间。

根据本发明的另一方面,提供了一种文件的存储装置,包括:

指标实时值检测模块,用于当接收到文件的存储指令时,检测多种存储装置在状态指标下多个指标实时值;

目标存储装置选择模块,用于依据所述多个指标实时值从所述多种存储装置中选择目标存储装置;

文件存储模块,用于将所述文件存储至所述目标存储装置中。

可选地,所述目标存储装置选择模块包括:

参考性能值计算子模块,用于采用所述多个指标实时值计算所述多种存储装置的多个参考性能值;

目标性能值选择子模块,用于在所述多个参考性能值中选择目标性能值;

目标存储装置确定子模块,用于确定所述目标性能值对应的存储装置为目标存储装置。

可选地,所述参考性能值计算子模块包括:

指标参数获取单元,用于针对每种存储装置,获取每个状态指标对应的指标阈值、指标权重;

空闲比例计算单元,用于针对每个状态指标,计算占用所述指标实时值下,所述指标阈值的空闲比例;

权重配置单元,用于对所述空闲比例配置所述权重,获得单项性能值;

参考性能值获得单元,用于计算所有单项性能值之和,获得所述存储装置的参考性能值。

可选地,所述指标参数获取单元包括:

指标额值查询子单元,用于查询所述状态指标对应的指标额值;

比例取值子单元,用于在所述指标额值的基础上取指定的比例,作为指标阈值。

可选地,所述空闲比例计算单元包括:

差值计算子单元,用于针对每个状态指标,计算所述指标阈值与所述指标实时值之间的差值;

比值计算子单元,用于计算所述差值与所述指标阈值之间的比值,作为空闲比例。

可选地,所述目标性能值选择子模块包括:

性能比例单元,用于对所述多个参考性能值进行比较;

性能取值单元,用于选取值最高的参考性能值作为目标性能值。

可选地,所述状态指标包如下的至少一项:

每秒读操作的次数、每秒写操作的次数、读带宽、写带宽、剩余存储空间。

本发明实施例当接收到文件的存储指令时,检测多种存储装置在状态指标下多个指标实时值,依据多个指标实时值从多种存储装置中选择目标存储装置,将文件存储至目标存储装置中,在同一台设备中部署多种存储装置,可以综合诸如IOPS、吞吐带宽等状态指标,综合评估存储装置的性能,从中选择存储设备存储文件,从而满足不同业务的需求,实现在多种业务下的文件存储,减少资源浪费。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种文件的存储方法实施例的步骤示意流程图;以及

图2示出了根据本发明一个实施例的一种文件的存储装置实施例的结构示意框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

参照图1,示出了根据本发明一个实施例的一种文件的存储方法实施例的步骤示意流程图,具体可以包括如下步骤:

步骤101,当接收到文件的存储指令时,检测多种存储装置在状态指标下多个指标实时值。

在本发明实施例,在同一台设备中,可以部署多种存储装置,不同种类的存储装置的性能有所不同,可以组合进行存储数据。

在具体实现中,该存储装置可以包括如下的至少一种:

1、SATA(Serial Advanced Technology Attachment,串行高级技术附件)硬盘

使用SATA的银盘,又称串口硬盘,采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,于能对传输指令进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。

2、SSD(Solid State Disk,固态硬盘)

SSD是由固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)以及缓存单元组成。区别于机械硬盘由磁盘、磁头等机械部件构成,整个SSD结构无机械装置,全部是由电子芯片及电路板组成。

3、PCI-E(PCI Express,一种接口总线)SSD

PCI-E采用了目前业内流行的点对点串行连接,比起PCI以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频。

在上述三种存储装置中,在SATA硬盘中,容量最大,当进行数据操作时,数据会先从硬盘读取到内存,再将数据提取至CPU(Central Processing Unit,中央处理器)内部进行计算,计算后写入内存,存储至硬盘中,因此,IOPS(Input/Output Operations Per Second,即每秒进行读/写操作的次数)、吞吐带宽最低。

在SSD中,容量最小,由于采用闪存作为存储介质,IOPS、吞吐带宽相对SATA硬盘更高。

在PCI-E SSD中,容量居中,数据直接通过总线与CPU直连,接近最大的传输速度,最大的数据量,省去了内存调用硬盘的过程,因此,IOPS、吞吐带宽最高,但是,由于PCI-E SSD闪存颗粒和主控的原因,PCI-E SSD的成本较高。

当然,上述存储装置只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他存储装置,如SCSI(Small Computer System Interface,小型计算机系统接口)硬盘、SAS(Serial Attached SCSI,串行连接SCSI)硬盘,等等,本发明实施例对此不加以限制。另外,除了上述存储装置外,本领域技术人员还可以根据实际需要采用其它存储装置,本发明实施例对此也不加以限制。

在本发明实施例中,可以预先对存储装置设置一个或多个状态指标,即表示其运行状态的指标。

在一个示例中,状态指标可以包括如下的至少一项:

每秒读操作的次数、每秒写操作的次数、读带宽bandwidth、写带宽bandwidth、剩余存储空间。

其中,剩余存储空间可以使用绝对值进行表示,如剩余20G,也可以使用相对值进行表示,如剩余20%,本发明实施例对此不加以限制。

在实际应用中,存储装置在不断运行中,其运行状态是动态变化的,如果设备接收到存储指令,指示存储某个文件时,可以对该设备部署的每种存储装置在指定状态指标下的每份实时指标值。

步骤102,依据所述多个指标实时值从所述多种存储装置中选择目标存储装置。

在具体实现中,可以基于每个存储装置的指标实时值,综合考虑每个存储装置的实时性能,从中选择合适的存储装置,作为目标存储装置。

在本发明的一个实施例中,步骤102可以包括如下子步骤:

子步骤S11,采用所述多个指标实时值计算所述多种存储装置的多个参考性能值。

对于每种存储装置,可以采用其在状态指标下的指标实时值,计算其参考性能值,作为其实时性能的一种表达。

在本发明的一个实施例中,子步骤S11进一步可以包括如下子步骤:

子步骤S111,针对每种存储装置,获取每个状态指标对应的指标阈值、指标权重。

对于每种存储装置,其每个状态指标均具有对应的指标阈值、指标权重。

对于指标阈值,可以查询状态指标对应的指标额值,该指标阈值可以由生产该存储装置的厂家设置。

在指标额值的基础上取指定的比例(如80%、90%等),作为指标阈值。

该指标阈值可以在离线时计算,存储在数据块中,实时计算参考性能值时直接查询。

当然,该指标阈值也可以在实时计算参考性能值时实时进行计算,本发明实施例对此不加以限制。

对于指标权重,可以表达状态指标的比重,状态指标越重要,指标权重越大,一般情况下,所有状态指标的指标权重之和为1。

需要说明的是,上述比例、指标权重可以是默认的值,由本领域技术人员根据实际情况进行设置,也可以通过学习等方式进行优化,本发明实施例对此不加以限制。

子步骤S112,针对每个状态指标,计算占用所述指标实时值下,所述指标阈值的空闲比例。

对于每个状态指标,存储装置在运行时并不一定满负荷,通常会有剩余的资源,通过计算运行时占用该指标实时值的情况下,指标阈值的空闲比例,可以获知剩余的空闲资源。

在具体实现中,针对每个状态指标,可以计算指标阈值与所述指标实时值之间的差值,计算差值与指标阈值之间的比值,作为空闲比例。

子步骤S113,对所述空闲比例配置所述权重,获得单项性能值。

对于每个状态指标,在该状态指标空闲比例的基础上乘以该空闲指标对应的权重,则可获得单项性能值,在一定程度上表达存储装置在该状态指标下可提供的性能。

子步骤S114,计算所有单项性能值之和,获得所述存储装置的参考性能值。

对于每种存储装置,将所有单项性能值相加,则可以获得参考性能值,在一定程度上表达存储装置可提供综合性能。

子步骤S12,在所述多个参考性能值中选择目标性能值。

在具体实现中,可以预先设置选择规则,实时按照该选择规则从多个参考性能值中选择一个较佳的参考性能值,作为目标性能值。

在一个示例中,可以对多个参考性能值进行比较,选取值最高的参考性能值作为目标性能值。

当前,除了指最高的参考性能值之外,还可以通过其他方式选择目标性能值,如参考性能值高于指定阈值且存储装置的种类与业务匹配,等等,本发明实施例对此不加以限制。

子步骤S13,确定所述目标性能值对应的存储装置为目标存储装置。

在选定了较佳的目标性能值之后,则可以确定该目标性能值对应的存储装置为目标存储装置。

步骤103,将所述文件存储至所述目标存储装置中。

在选定了目标存储装置之后,可以响应存储指令,将该文件存储至该目标存储设备中。

本发明实施例当接收到文件的存储指令时,检测多种存储装置在状态指标下多个指标实时值,依据多个指标实时值从多种存储装置中选择目标存储装置,将文件存储至目标存储装置中,在同一台设备中部署多种存储装置,可以综合诸如IOPS、吞吐带宽等状态指标,综合评估存储装置的性能,从中选择存储设备存储文件,从而满足不同业务的需求,实现在多种业务下的文件存储,减少资源浪费。

为使本领域技术人员更好地理解本发明实施例,以下通过具体的示例来说明本发明实施例中的文件存储方法。

在设备中部署了三种存储装置,分别为SATA硬盘、SSD、PCI-E SSD,选取的状态指标为每秒读操作的次数、每秒写操作的次数、剩余存储空间。

在接收到存储指令时,这三种存储装置在各个状态指标对应的指标实时值、指标阈值、指标权重如下表所示:

因此,SATA硬盘、SSD、PCI-E SSD的参考性能值为:

SATA=(150-100)/150*50%+(150-80)/150*35%+(90-15)/90*25%=0.53

SSD=(1500-200)/1500*50%+(1500-400)/1500*35%+(90-50)/90*25%=0.81

PCI-E SSD=(3000-900)/3000*50%+(2000-900)/2000*35%+(90-80)/90*25%=0.57

SSD的参考性能值最高,可以将文件存储至SSD中。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图2,示出了根据本发明一个实施例的一种文件的存储装置实施例的结构示意框图,具体可以包括如下模块:

指标实时值检测模块201,用于当接收到文件的存储指令时,检测多种存储装置在状态指标下多个指标实时值;

目标存储装置选择模块202,用于依据所述多个指标实时值从所述多种存储装置中选择目标存储装置;

文件存储模块203,用于将所述文件存储至所述目标存储装置中。

在本发明的一个实施例中,所述目标存储装置选择模块202包括:

参考性能值计算子模块,用于采用所述多个指标实时值计算所述多种存储装置的多个参考性能值;

目标性能值选择子模块,用于在所述多个参考性能值中选择目标性能值;

目标存储装置确定子模块,用于确定所述目标性能值对应的存储装置为目标存储装置。

在本发明的一个实施例中,所述参考性能值计算子模块包括:

指标参数获取单元,用于针对每种存储装置,获取每个状态指标对应的指标阈值、指标权重;

空闲比例计算单元,用于针对每个状态指标,计算占用所述指标实时值下,所述指标阈值的空闲比例;

权重配置单元,用于对所述空闲比例配置所述权重,获得单项性能值;

参考性能值获得单元,用于计算所有单项性能值之和,获得所述存储装置的参考性能值。

在本发明的一个实施例中,所述指标参数获取单元包括:

指标额值查询子单元,用于查询所述状态指标对应的指标额值;

比例取值子单元,用于在所述指标额值的基础上取指定的比例,作为指标阈值。

在本发明的一个实施例中,所述空闲比例计算单元包括:

差值计算子单元,用于针对每个状态指标,计算所述指标阈值与所述指标实时值之间的差值;

比值计算子单元,用于计算所述差值与所述指标阈值之间的比值,作为空闲比例。

在本发明的一个实施例中,所述目标性能值选择子模块包括:

性能比例单元,用于对所述多个参考性能值进行比较;

性能取值单元,用于选取值最高的参考性能值作为目标性能值。

在具体实现中,所述状态指标包如下的至少一项:

每秒读操作的次数、每秒写操作的次数、读带宽、写带宽、剩余存储空间。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的文件的存储设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了A1、一种文件的存储方法,包括:

当接收到文件的存储指令时,检测多种存储装置在状态指标下多个指标实时值;

依据所述多个指标实时值从所述多种存储装置中选择目标存储装置;

将所述文件存储至所述目标存储装置中。

A2、如权利要求A1所述的方法,所述依据所述多个指标实时值从所述多种存储装置中选择目标存储装置,包括:

采用所述多个指标实时值计算所述多种存储装置的多个参考性能值;

在所述多个参考性能值中选择目标性能值;

确定所述目标性能值对应的存储装置为目标存储装置。

A3、如权利要求A2所述的方法,所述采用所述多个指标实时值计算所述多种存储装置的多个参考性能值,包括:

针对每种存储装置,获取每个状态指标对应的指标阈值、指标权重;

针对每个状态指标,计算占用所述指标实时值下,所述指标阈值的空闲比例;

对所述空闲比例配置所述权重,获得单项性能值;

计算所有单项性能值之和,获得所述存储装置的参考性能值。

A4、如权利要求A3所述的方法,其特征在于,所述获取每个状态指标对应的指标阈值、指标权重,包括:

查询所述状态指标对应的指标额值;

在所述指标额值的基础上取指定的比例,作为指标阈值。

A5、如权利要求A3所述的方法,所述针对每个状态指标,针对每个状态指标,计算占用所述指标实时值下,所述指标阈值的空闲比例,包括:

针对每个状态指标,计算所述指标阈值与所述指标实时值之间的差值;

计算所述差值与所述指标阈值之间的比值,作为空闲比例。

A6、如权利要求A2所述的方法,所述在所述多个参考性能值中选择目标性能值,包括:

对所述多个参考性能值进行比较;

选取值最高的参考性能值作为目标性能值。

A7、如权利要求A1-A6任一项所述的方法,所述状态指标包括如下的至少一项:

每秒读操作的次数、每秒写操作的次数、读带宽、写带宽、剩余存储空间。

本发明公开了B8、一种文件的存储装置,包括:

指标实时值检测模块,用于当接收到文件的存储指令时,检测多种存储装置在状态指标下多个指标实时值;

目标存储装置选择模块,用于依据所述多个指标实时值从所述多种存储装置中选择目标存储装置;

文件存储模块,用于将所述文件存储至所述目标存储装置中。

B9、如权利要求B8所述的装置,所述目标存储装置选择模块包括:

参考性能值计算子模块,用于采用所述多个指标实时值计算所述多种存储装置的多个参考性能值;

目标性能值选择子模块,用于在所述多个参考性能值中选择目标性能值;

目标存储装置确定子模块,用于确定所述目标性能值对应的存储装置为目标存储装置。

B10、如权利要求B9所述的装置,,所述参考性能值计算子模块包括:

指标参数获取单元,用于针对每种存储装置,获取每个状态指标对应的指标阈值、指标权重;

空闲比例计算单元,用于针对每个状态指标,计算占用所述指标实时值下,所述指标阈值的空闲比例;

权重配置单元,用于对所述空闲比例配置所述权重,获得单项性能值;

参考性能值获得单元,用于计算所有单项性能值之和,获得所述存储装置的参考性能值。

B11、如权利要求B10所述的装置,所述指标参数获取单元包括:

指标额值查询子单元,用于查询所述状态指标对应的指标额值;

比例取值子单元,用于在所述指标额值的基础上取指定的比例,作为指标阈值。

B12、如权利要求B10所述的方法,所述空闲比例计算单元包括:

差值计算子单元,用于针对每个状态指标,计算所述指标阈值与所述指标实时值之间的差值;

比值计算子单元,用于计算所述差值与所述指标阈值之间的比值,作为空闲比例。

B13、如权利要求B9所述的装置,所述目标性能值选择子模块包括:

性能比例单元,用于对所述多个参考性能值进行比较;

性能取值单元,用于选取值最高的参考性能值作为目标性能值。

B14、如权利要求B8-B13任一项所述的装置,所述状态指标包如下的至少一项:

每秒读操作的次数、每秒写操作的次数、读带宽、写带宽、剩余存储空间。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1