CN109783023A - 一种数据下刷的方法和相关装置 - Google Patents
一种数据下刷的方法和相关装置 Download PDFInfo
- Publication number
- CN109783023A CN109783023A CN201910007696.3A CN201910007696A CN109783023A CN 109783023 A CN109783023 A CN 109783023A CN 201910007696 A CN201910007696 A CN 201910007696A CN 109783023 A CN109783023 A CN 109783023A
- Authority
- CN
- China
- Prior art keywords
- dirty data
- cache blocks
- dirty
- storage equipment
- 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.)
- Pending
Links
Abstract
本申请涉及数据存储,公开了一种数据下刷的方法和相关装置,包括:存储设备包括SSD和磁盘,所述SSD作为所述磁盘的缓存,包括:在接收数据下刷指令时,所述存储设备从所述SSD中的脏数据缓存链表获取M个脏数据缓存组,其中,M为正整数;所述存储设备从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块,其中,N为正整数;所述存储设备确定所述N个脏数据缓存块对应的N个逻辑区块地址;所述存储设备按照所述N个逻辑区块地址由小到大的顺序将所述N个脏数据缓存块写入所述磁盘。实施本发明实施例,减少磁盘反复步进和来回寻道,有利于增加磁盘使用寿命,提高下刷效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据下刷的方法和相关装置。
背景技术
近年来,硬盘的发展在不断的科技进步中快速提升,从容量以及速度再到接口方面。随着人们对数据需求增多,存储系统的瓶颈越来越明显。而在嵌入式领域移动设备和工业自动化控制等恶劣环境下,传统硬盘机械结构已经无法满足要求,而所有这一切随着固态硬盘(SSD)的到来而发生了改变。现如今,越来越多的存储系统开始选用SSD作为高速缓冲存储器(cache)介质。
在一般的SSD存储设备中,数据写到SSD之后,若一个事务正在访问数据,并且对该数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据就是脏数据,依据脏数据所做的操作可能是不正确的,所以在一定的时机,需要将该脏数据写到机械硬盘中,释放缓存空间,以保证未来有足够缓存空间可用。
在脏数据下刷时,通常按照一个缓存组中的顺序一个个往机械硬盘中写,由于缓存组中的很多缓存块是随机的,即很多缓存块映射的磁盘LBA(logical block number)是随机的,而机械硬盘处理随机的IO很慢,因此,这种脏数据下刷的方式需要磁盘将磁头反复步进和来回寻道,从而减少了磁盘使用寿命且下刷效率低。
发明内容
本发明实施例公开了一种数据下刷的方法和相关装置,实施本发明实施例,减少磁盘反复步进和来回寻道,有利于增加磁盘使用寿命,提高下刷效率。
本发明实施例第一方面提供了一种数据下刷的方法,存储设备包括SSD和磁盘,所述SSD作为所述磁盘的缓存,包括:
在接收数据下刷指令时,所述存储设备从所述SSD中的脏数据缓存链表获取M个脏数据缓存组,其中,M为正整数;
所述存储设备从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块,其中,N为正整数;
所述存储设备确定所述N个脏数据缓存块对应的N个逻辑区块地址;
所述存储设备按照所述N个逻辑区块地址由小到大的顺序将所述N个脏数据缓存块写入所述磁盘。
本发明实施例第二方面提供了一种数据下刷装置,包括:
第一获取模块,用于在接收数据下刷指令时,从所述SSD中的脏数据缓存链表获取M个脏数据缓存组,其中,M为正整数;
第二获取模块,用于从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块,其中,N为正整数;
确定模块,用于确定所述N个脏数据缓存块对应的N个逻辑区块地址;
存储模块,用于按照所述N个逻辑区块地址由小到大的顺序将所述N个脏数据缓存块写入所述磁盘。
本发明实施例第三方面提供了一种数据下刷的电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,以执行包括任一项一种数据下刷的方法中的步骤的指令。
本发明实施例第四方面提供了一种计算机存储介质,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现包括任一项一种数据下刷的方法。
可以看出,上述技术方案中,存储设备获取SSD中M个脏数据缓存组,以从M个脏数据缓存组中的一组或多组获取N个脏数据缓存块,进而确定N个脏数据缓存块对应的N个逻辑区块地址。接着,存储设备按照所述N个逻辑区块地址由小到大的顺序将所述N个脏数据缓存块写入所述磁盘,从而减少磁盘反复步进和来回寻道,有利于增加磁盘使用寿命,提高下刷效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为本发明实施例提供的一种数据下刷的方法的流程示意图;
图2-a为本发明实施例提供的又一种数据下刷的方法的流程示意图;
图2-b为本发明实施例提供的存储设备从所述脏数据缓存链表中获取P个脏数据缓存块的示意图;
图2-c为本发明的一个实施例提供的存储设备将P个脏数据缓存块按照分类标准分成M个脏数据缓存组的示意图;
图3为本发明实施例提供的又一种数据下刷装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,参见图1,图1为本发明的一个实施例提供的一种数据下刷的方法的流程示意图。其中,如图1所示,本发明的一个实施例提供的一种数据下刷的方法,存储设备包括SSD和磁盘,所述SSD作为所述磁盘的缓存,包括:
101、在接收数据下刷指令时,存储设备从所述SSD中的脏数据缓存链表获取M个脏数据缓存组。
其中,M为正整数。
其中,M例如可等于1、2、3、5、6、11、13、20或其他值。
其中,脏数据缓存链表为存储脏数据缓存快的链表。
其中,数据下刷指将存储在SSD的链表中的脏数据写入磁盘的过程。
102、存储设备从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块。
其中,N为正整数。
其中,N例如可等于1、2、3、5、6、11、13、20或其他值。
103、存储设备确定所述N个脏数据缓存块对应的N个逻辑区块地址。
104、存储设备按照所述N个逻辑区块地址由小到大的顺序将所述N个脏数据缓存块写入所述磁盘。
参见图2-a,图2-a为本发明的又一个实施例提供的又一种数据下刷的方法的流程示意图。其中,如图2-a所示,本发明的又一个实施例提供的又一种数据下刷的方法,存储设备包括SSD和磁盘,所述SSD作为所述磁盘的缓存,包括:包括:
201、在接收数据下刷指令时,存储设备从所述脏数据缓存链表中获取P个脏数据缓存块。
其中,P为正整数。
其中,P例如可等于1、2、3、5、6、11、13、20或其他值。
其中,脏数据缓存链表为存储脏数据缓存快的链表。
其中,数据下刷指将存储在SSD的链表中的脏数据写入磁盘的过程。
其中,图2-b为本发明的一个实施例提供的存储设备从所述脏数据缓存链表中获取P个脏数据缓存块的示意图。
202、存储设备将所述P个脏数据缓存块按照分类标准分成所述M个脏数据缓存组。
其中,M例如可等于1、2、3、5、6、11、13、20或其他值。
其中,图2-c为本发明的一个实施例提供的存储设备将P个脏数据缓存块按照分类标准分成M个脏数据缓存组的示意图。
其中,所述M个脏数据缓存组中的每组包含的脏数据缓存块的数量大于或者等于N。
可选的,第一方面,在本发明的一种可能的实施方式中,所述分类标准包括数据种类分类标准,所述存储设备将所述P个脏数据缓存块按照分类标准分成所述M个脏数据缓存组,包括:所述存储设备采用正则表达式对所述P个脏数据缓存块进行检测以分析所述P个脏数据缓存块中的每个脏数据缓存块的内容,进而根据所述P个脏数据缓存块中的每个脏数据缓存块的内容将所述P个脏数据缓存块按照所述数据种类分类标准分成所述M个脏数据缓存组;
或者,所述分类标准包括数据大小分类标准,所述存储设备将所述P个脏数据缓存块按照分类标准分成所述M个脏数据缓存组,包括:所述存储设备计算所述P个脏数据缓存块中的每个脏数据缓存块占用的空间大小以得到P个空间大小结果,进而根据所述P个空间大小结果,按照所述数据大小分类标准将所述P个脏数据缓存块分成所述M个脏数据缓存组,其中,所述P个脏数据缓存块与所述P个空间大小结果一一对应;
或者,所述分类标准包括数据来源分类标准,所述存储设备将所述P个脏数据缓存块按照分类标准分成所述M个脏数据缓存组,包括:所述存储设备从数据来源标识表中查找与所述P个脏数据缓存块匹配的P个数据来源标识,基于所述P个数据来源标识确定所述P个脏数据缓存块的数据来源以按照所述数据来源分类标准将所述P个脏数据缓存块分成所述M个脏数据缓存组,其中,所述P个脏数据缓存块与所述P个数据来源标识一一对应。
可以看出,上述技术方案中,存储设备将P个脏数据缓存块按照数据种类分类标准分成M个脏数据缓存组,实现脏数据块的分类,便于后续的查找。另外,存储设备P个脏数据缓存块按照数据大小分类标准分成M个脏数据缓存组,使得将数据写入磁盘时,可以按照占用的空间大小找到合适的存储位置。最后,存储设备将P个脏数据缓存块按照数据来源分类标准分成M个脏数据缓存组,可以分析不同软件,不同模块、不同进程等产生的脏数据,以监测运行情况和发现缺陷,从而提出优化方案。
可选的,基于第一方面,在本发明的一种可能的实施方式中,所述数据大小分类标准包括数据大小相同标准,所述存储设备根据所述P个空间大小结果,按照所述数据大小分类标准将所述P个脏数据缓存块分成所述M个脏数据缓存组,包括:
所述存储设备将与所述P个脏数据缓存块一一对应的所述P个空间大小结果按照由小到大的顺序设置P个编号;
所述存储设备按照所述数据大小相同标准将与所述P个编号一一对应的所述P个脏数据缓存块中编号相同的脏数据缓存块放入一组,以得到所述M个脏数据缓存组,其中,所述M个脏数据缓存组中的每组包含的脏数据缓存块的数量大于或者等于N。
可以看出,上述技术方案中,通过将空间大小结果相同的脏数据缓存快放入一组,减少磁盘反复步进和来回寻道,提高了写入磁盘的效率。
203、存储设备从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块。
其中,N为正整数。
其中,N例如可等于1、2、3、5、6、11、13、20或其他值。
可选的,第一方面,在本发明的一种可能的实施方式中,所述M个脏数据缓存组包括按照所述数据种类分类标准分成的所述M个脏数据缓存组,所述存储设备从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块,包括:所述存储设备确定与所述M个脏数据缓存组匹配的M个数据种类标识信息,从数据重要等级数据表中查找与所述M个数据种类标识信息匹配的M个数据重要等级以确定所述M个数据重要等级中数据重要等级最低的K个脏数据缓存组,进而从所述K个脏数据缓存组中的一组或多组获取N个脏数据缓存块,其中,所述K个脏数据缓存组属于所述M个脏数据缓存组,K为正整数,K≤M;
或者,所述M个脏数据缓存组包括按照所述数据大小分类标准分成的所述M个脏数据缓存组,所述存储设备从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块,包括:所述存储设备确定所述M个脏数据缓存组中的每组空间大小结果累计值,以从所述M个脏数据缓存组中筛选出空间大小结果累计值最小的J个脏数据缓存组,进而从所述J个脏数据缓存组中的一组或多组获取N个脏数据缓存块,其中,J为正整数,J≤M;
或者,所述M个脏数据缓存组包括按照所述数据来源分类标准分成的所述M个脏数据缓存组,所述存储设备从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块,包括:所述存储设备检测所述M个脏数据缓存组中每组包含的脏数据缓存块,以确定所述M个脏数据缓存组中未包含异常脏数据缓存块的Q个脏数据缓存组,进而从所述Q个脏数据缓存组中的一组或多组获取N个脏数据缓存块,其中,Q为正整数,Q≤M。
其中,K例如可等于1、2、3、5、6、11、13、20或其他值。
其中,J例如可等于1、2、3、5、6、11、13、20或其他值。
其中,Q例如可等于1、2、3、5、6、11、13、20或其他值。
可选的,基于第一方面,在本发明的一种可能的实施方式中,还包括:
在所述M个脏数据缓存组中存在包含至少一个异常脏数据缓存块的L个脏数据缓存组时,所述存储设备确定与所述L个脏数据缓存组匹配的L个数据来源标识,以得到与所述L个数据来源标识匹配的L个应用程序,其中,所述L个脏数据缓存组与L个数据来源标识一一对应,所述L个数据来源标识与L个应用程序一一对应,L为整数,L=M-Q;所述存储设备对所述L个脏数据缓存组中每组包含的所述至少一个异常脏数据缓存块进行分析,以得到所述L个应用程序中每个应用程序的异常运行状况;所述存储设备向服务器发送异常运行消息,所述异常运行消息携带所述L个应用程序中每个应用程序的异常运行状况。
其中,L例如可等于1、2、3、5、6、11、13、20或其他值。
204、存储设备确定所述N个脏数据缓存块对应的N个逻辑区块地址。
可选的,在本发明的一种可能的实施方式中,所述存储设备确定所述N个脏数据缓存块对应的N个逻辑区块地址,包括:
所述存储设备计算所述N个脏数据缓存块占用的空间大小以得到N个空间大小结果,进而从所述逻辑区块地址表中选取与所述N个空间大小结果匹配的所述N个逻辑区块地址,其中,所述N个脏数据缓存块来源于所述K个脏数据缓存组中的一组或多组,或者,所述N个脏数据缓存块来源于所述Q个脏数据缓存组中的一组或多组,所述N个空间大小结果与所述N个逻辑区块地址一一对应;
或者,所述存储设备确定所述N个脏数据缓存块匹配的所述N个逻辑区块地址,其中,所述N个脏数据缓存块来源于所述J个脏数据缓存组中的一组或多组。
205、存储设备按照所述N个逻辑区块地址由小到大的顺序将所述N个脏数据缓存块写入所述磁盘。
可选的,在本发明的一种可能的实施方式中,所述存储设备按照所述N个逻辑区块地址由小到大的顺序将所述N个脏数据缓存块写入所述磁盘,包括:
所述存储设备向所述磁盘发送逻辑区块地址消息,其中,所述逻辑区块地址消息携带N个逻辑区块地址,所述逻辑区块地址消息用于指示所述磁盘读取所述逻辑区块地址消息携带所述N个逻辑区块地址,以按照预设转址规则将所述N个逻辑区块地址转换成N个物理区块地址;
所述存储设备接收所述磁盘发送的物理区块地址消息,其中,所述物理区块地址消息携带N个物理区块地址;
所述存储设备读取所述物理区块地址消息中的所述N个物理区块地址;
所述存储设备按照所述N个物理区块地址由小到大的顺序将所述N个脏数据缓存块写入磁盘。
首先,参见图3,图3为本发明的一个实施例提供的一种数据下刷装置的示意图。其中,如图3所示,本发明的一个实施例提供的一种数据下刷装置300可以包括:
第一获取模块301,用于在接收数据下刷指令时,从所述SSD中的脏数据缓存链表获取M个脏数据缓存组。
其中,M为正整数。
其中,M例如可等于1、2、3、5、6、11、13、20或其他值。
其中,脏数据缓存链表为存储脏数据缓存快的链表。
其中,数据下刷指将存储在SSD的链表中的脏数据写入磁盘的过程。
第二获取模块302,用于从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块。
其中,N为正整数。
其中,N例如可等于1、2、3、5、6、11、13、20或其他值。
确定模块303,用于确定所述N个脏数据缓存块对应的N个逻辑区块地址。
存储模块304,用于按照所述N个逻辑区块地址由小到大的顺序将所述N个脏数据缓存块写入所述磁盘。
本发明实施例还提供一种数据下刷的电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,以执行包括任一项一种数据下刷的方法中的步骤的指令。
本发明实施例还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现包括任一项一种数据下刷的方法。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种数据下刷的方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性或者其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种数据下刷的方法,其特征在于,存储设备包括SSD和磁盘,所述SSD作为所述磁盘的缓存,包括:
在接收数据下刷指令时,所述存储设备从所述SSD中的脏数据缓存链表获取M个脏数据缓存组,其中,M为正整数;
所述存储设备从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块,其中,N为正整数;
所述存储设备确定所述N个脏数据缓存块对应的N个逻辑区块地址;
所述存储设备按照所述N个逻辑区块地址由小到大的顺序将所述N个脏数据缓存块写入所述磁盘。
2.根据权利要求1所述的方法,其特征在于,所述在接收数据下刷指令时,所述存储设备从所述SSD中的脏数据缓存链表获取M个脏数据缓存组,包括:
在接收数据下刷指令时,所述存储设备从所述脏数据缓存链表中获取P个脏数据缓存块,其中,P为正整数;
所述存储设备将所述P个脏数据缓存块按照分类标准分成所述M个脏数据缓存组。
3.根据权利要求2所述的方法,其特征在于,
所述分类标准包括数据种类分类标准,所述存储设备将所述P个脏数据缓存块按照分类标准分成所述M个脏数据缓存组,包括:所述存储设备采用正则表达式对所述P个脏数据缓存块进行检测以分析所述P个脏数据缓存块中的每个脏数据缓存块的内容,进而根据所述P个脏数据缓存块中的每个脏数据缓存块的内容将所述P个脏数据缓存块按照所述数据种类分类标准分成所述M个脏数据缓存组;
或者,所述分类标准包括数据大小分类标准,所述存储设备将所述P个脏数据缓存块按照分类标准分成所述M个脏数据缓存组,包括:所述存储设备计算所述P个脏数据缓存块中的每个脏数据缓存块占用的空间大小以得到P个空间大小结果,进而根据所述P个空间大小结果,按照所述数据大小分类标准将所述P个脏数据缓存块分成所述M个脏数据缓存组,其中,所述P个脏数据缓存块与所述P个空间大小结果一一对应;
或者,所述分类标准包括数据来源分类标准,所述存储设备将所述P个脏数据缓存块按照分类标准分成所述M个脏数据缓存组,包括:所述存储设备从数据来源标识表中查找与所述P个脏数据缓存块匹配的P个数据来源标识,基于所述P个数据来源标识确定所述P个脏数据缓存块的数据来源以按照所述数据来源分类标准将所述P个脏数据缓存块分成所述M个脏数据缓存组,其中,所述P个脏数据缓存块与所述P个数据来源标识一一对应。
4.根据权利要求1至3任一所述的方法,其特征在于,
所述M个脏数据缓存组包括按照所述数据种类分类标准分成的所述M个脏数据缓存组,所述存储设备从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块,包括:所述存储设备确定与所述M个脏数据缓存组匹配的M个数据种类标识信息,从数据重要等级数据表中查找与所述M个数据种类标识信息匹配的M个数据重要等级以确定所述M个数据重要等级中数据重要等级最低的K个脏数据缓存组,进而从所述K个脏数据缓存组中的一组或多组获取N个脏数据缓存块,其中,所述K个脏数据缓存组属于所述M个脏数据缓存组,K为正整数,K≤M;
或者,所述M个脏数据缓存组包括按照所述数据大小分类标准分成的所述M个脏数据缓存组,所述存储设备从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块,包括:所述存储设备确定所述M个脏数据缓存组中的每组空间大小结果累计值,以从所述M个脏数据缓存组中筛选出空间大小结果累计值最小的J个脏数据缓存组,进而从所述J个脏数据缓存组中的一组或多组获取N个脏数据缓存块,其中,J为正整数,J≤M;
或者,所述M个脏数据缓存组包括按照所述数据来源分类标准分成的所述M个脏数据缓存组,所述存储设备从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块,包括:所述存储设备检测所述M个脏数据缓存组中每组包含的脏数据缓存块,以确定所述M个脏数据缓存组中未包含异常脏数据缓存块的Q个脏数据缓存组,进而从所述Q个脏数据缓存组中的一组或多组获取N个脏数据缓存块,其中,Q为正整数,Q≤M。
5.根据权利要求4所述的方法,其特征在于,还包括:
在所述M个脏数据缓存组中存在包含至少一个异常脏数据缓存块的L个脏数据缓存组时,所述存储设备确定与所述L个脏数据缓存组匹配的L个数据来源标识,以得到与所述L个数据来源标识匹配的L个应用程序,其中,所述L个脏数据缓存组与L个数据来源标识一一对应,所述L个数据来源标识与L个应用程序一一对应,L为整数,L=M-Q;
所述存储设备对所述L个脏数据缓存组中每组包含的所述至少一个异常脏数据缓存块进行分析,以得到所述L个应用程序中每个应用程序的异常运行状况;
所述存储设备向服务器发送异常运行消息,所述异常运行消息携带所述L个应用程序中每个应用程序的异常运行状况。
6.根据权利要求5所述的方法,其特征在于,所述存储设备确定所述N个脏数据缓存块对应的N个逻辑区块地址,包括:
所述存储设备计算所述N个脏数据缓存块占用的空间大小以得到N个空间大小结果,进而从所述逻辑区块地址表中选取与所述N个空间大小结果匹配的所述N个逻辑区块地址,其中,所述N个脏数据缓存块来源于所述K个脏数据缓存组中的一组或多组,或者,所述N个脏数据缓存块来源于所述Q个脏数据缓存组中的一组或多组,所述N个空间大小结果与所述N个逻辑区块地址一一对应;
或者,所述存储设备确定所述N个脏数据缓存块匹配的所述N个逻辑区块地址,其中,所述N个脏数据缓存块来源于所述J个脏数据缓存组中的一组或多组。
7.根据权利要求1所述的方法,其特征在于,所述存储设备按照所述N个逻辑区块地址由小到大的顺序将所述N个脏数据缓存块写入所述磁盘,包括:
所述存储设备向所述磁盘发送逻辑区块地址消息,其中,所述逻辑区块地址消息携带N个逻辑区块地址,所述逻辑区块地址消息用于指示所述磁盘读取所述逻辑区块地址消息携带所述N个逻辑区块地址,以按照预设转址规则将所述N个逻辑区块地址转换成N个物理区块地址;
所述存储设备接收所述磁盘发送的物理区块地址消息,其中,所述物理区块地址消息携带N个物理区块地址;
所述存储设备读取所述物理区块地址消息中的所述N个物理区块地址;
所述存储设备按照所述N个物理区块地址由小到大的顺序将所述N个脏数据缓存块写入磁盘。
8.一种数据下刷装置,其特征在于,包括:
第一获取模块,用于在接收数据下刷指令时,从所述SSD中的脏数据缓存链表获取M个脏数据缓存组,其中,M为正整数;
第二获取模块,用于从所述M个脏数据缓存组中的一组或多组获取N个脏数据缓存块,其中,N为正整数;
确定模块,用于确定所述N个脏数据缓存块对应的N个逻辑区块地址;
存储模块,用于按照所述N个逻辑区块地址由小到大的顺序将所述N个脏数据缓存块写入所述磁盘。
9.一种数据下刷的电子设备,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,以执行权利要求1-7任一项方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910007696.3A CN109783023A (zh) | 2019-01-04 | 2019-01-04 | 一种数据下刷的方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910007696.3A CN109783023A (zh) | 2019-01-04 | 2019-01-04 | 一种数据下刷的方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109783023A true CN109783023A (zh) | 2019-05-21 |
Family
ID=66499131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910007696.3A Pending CN109783023A (zh) | 2019-01-04 | 2019-01-04 | 一种数据下刷的方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783023A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930311A (zh) * | 2020-08-07 | 2020-11-13 | 星辰天合(北京)数据科技有限公司 | 存储方法和装置 |
CN112817520A (zh) * | 2020-12-31 | 2021-05-18 | 杭州宏杉科技股份有限公司 | 数据刷盘方法及装置 |
CN112835528A (zh) * | 2021-02-22 | 2021-05-25 | 北京金山云网络技术有限公司 | 脏页刷新方法和装置、电子设备和存储介质 |
WO2021174731A1 (zh) * | 2020-03-05 | 2021-09-10 | 平安科技(深圳)有限公司 | 磁盘性能优化方法、装置、设备及计算机可读存储介质 |
WO2022007937A1 (zh) * | 2020-07-10 | 2022-01-13 | 阿里云计算有限公司 | 处理Bitmap数据的方法以及装置 |
CN114579055A (zh) * | 2022-03-07 | 2022-06-03 | 重庆紫光华山智安科技有限公司 | 磁盘存储方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461936A (zh) * | 2014-11-28 | 2015-03-25 | 华为技术有限公司 | 缓存数据的刷盘方法及装置 |
CN105094711A (zh) * | 2015-09-22 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种实现写时复制文件系统的方法及装置 |
US9811461B1 (en) * | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
CN107608911A (zh) * | 2017-09-12 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种缓存数据刷写方法、装置、设备及存储介质 |
CN108845770A (zh) * | 2018-06-22 | 2018-11-20 | 深圳忆联信息系统有限公司 | 降低ssd写放大的方法、装置及计算机设备 |
-
2019
- 2019-01-04 CN CN201910007696.3A patent/CN109783023A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811461B1 (en) * | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
CN104461936A (zh) * | 2014-11-28 | 2015-03-25 | 华为技术有限公司 | 缓存数据的刷盘方法及装置 |
CN105094711A (zh) * | 2015-09-22 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种实现写时复制文件系统的方法及装置 |
CN107608911A (zh) * | 2017-09-12 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种缓存数据刷写方法、装置、设备及存储介质 |
CN108845770A (zh) * | 2018-06-22 | 2018-11-20 | 深圳忆联信息系统有限公司 | 降低ssd写放大的方法、装置及计算机设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021174731A1 (zh) * | 2020-03-05 | 2021-09-10 | 平安科技(深圳)有限公司 | 磁盘性能优化方法、装置、设备及计算机可读存储介质 |
WO2022007937A1 (zh) * | 2020-07-10 | 2022-01-13 | 阿里云计算有限公司 | 处理Bitmap数据的方法以及装置 |
CN111930311A (zh) * | 2020-08-07 | 2020-11-13 | 星辰天合(北京)数据科技有限公司 | 存储方法和装置 |
CN112817520A (zh) * | 2020-12-31 | 2021-05-18 | 杭州宏杉科技股份有限公司 | 数据刷盘方法及装置 |
CN112835528A (zh) * | 2021-02-22 | 2021-05-25 | 北京金山云网络技术有限公司 | 脏页刷新方法和装置、电子设备和存储介质 |
CN114579055A (zh) * | 2022-03-07 | 2022-06-03 | 重庆紫光华山智安科技有限公司 | 磁盘存储方法、装置、设备及介质 |
CN114579055B (zh) * | 2022-03-07 | 2023-01-31 | 重庆紫光华山智安科技有限公司 | 磁盘存储方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783023A (zh) | 一种数据下刷的方法和相关装置 | |
CN104731896B (zh) | 一种数据处理方法及系统 | |
CN106708424A (zh) | 对用户数据执行选择性底层暴露映射的设备和方法 | |
US11435953B2 (en) | Method for predicting LBA information, and SSD | |
CN107515927A (zh) | 一种房地产用户行为分析平台 | |
CN103345469B (zh) | 号码集合的存储、查询方法及其装置 | |
KR20150140863A (ko) | 클러스터 시스템에서의 데이터 처리 방법 및 장치 | |
CN110825733B (zh) | 一种面向多采样流的时间序列数据管理方法及系统 | |
CN104346458B (zh) | 数据存储方法和存储设备 | |
CN109684231A (zh) | 用于识别固态盘中的热数据和流的系统及方法 | |
CN104615684B (zh) | 一种海量数据通信并发处理方法及系统 | |
CN110196847A (zh) | 数据处理方法和装置、存储介质及电子装置 | |
CN105224560A (zh) | 缓存数据的查找方法和装置 | |
CN109388657A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
Hoque et al. | Disk layout techniques for online social network data | |
CN106844721A (zh) | 数据存储方法、装置、系统、可读介质及存储控制器 | |
CN110297787A (zh) | I/o设备访问内存的方法、装置及设备 | |
CN106201778B (zh) | 信息处理方法及存储设备 | |
CN106897022B (zh) | 一种管理存储设备的方法及装置 | |
CN105550180B (zh) | 数据处理的方法、装置及系统 | |
CN107368545B (zh) | 一种基于Merkle Tree变形算法的去重方法及装置 | |
CN110309143A (zh) | 数据相似度确定方法、装置及处理设备 | |
CN105574151A (zh) | 图像存储方法和设备 | |
CN113791730A (zh) | 基于双存储池的放置组调整方法、系统、装置及存储介质 | |
CN106776366B (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 |