CN113867626A - 一种存储系统性能优化方法、系统、设备和存储介质 - Google Patents
一种存储系统性能优化方法、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN113867626A CN113867626A CN202110999484.5A CN202110999484A CN113867626A CN 113867626 A CN113867626 A CN 113867626A CN 202110999484 A CN202110999484 A CN 202110999484A CN 113867626 A CN113867626 A CN 113867626A
- Authority
- CN
- China
- Prior art keywords
- data
- metadata
- write data
- hash value
- physical address
- 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.)
- Withdrawn
Links
- 238000003860 storage Methods 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 35
- 238000003780 insertion Methods 0.000 claims abstract description 23
- 230000037431 insertion Effects 0.000 claims abstract description 23
- 238000010276 construction Methods 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims description 12
- 238000005457 optimization Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 abstract description 18
- 230000000694 effects Effects 0.000 abstract description 6
- 230000002035 prolonged effect Effects 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 239000007787 solid Substances 0.000 description 22
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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
本发明提出一种存储系统性能优化方法,包括:接收写入数据,并计算所述写入数据的哈希值;根据所述哈希值构建所述写入数据的元数据;响应于所述元数据构建完成,将所述元数据插入对应的元数据表中;响应于所述元数据中的LP与PL插入完成,返回写入数据完成结果。本发明具有以下有益技术效果,存储系统在存入数据时,通过元数据中的LP,PL和HP插入改为异步执行,并且仅通过LP和PL向LP表和PL表的插入操作完成就返回数据存储完成的结果,无需等待HP数据的插入是否完成,缩短了存储系统的存储响应时间,进而提升了主机上应用程序的数据保存时间,并且进一步提升了存储系统及主机应用的数据存储效率和运行效率。
Description
技术领域
本发明涉及全闪存存储领域,更具体地,特别是指及一种存储系统性能优化方法、系统、设备和存储介质。
背景技术
随着半导体技术的发展,尤其是制程工艺的进步,多层闪存的可靠性和使用寿命逐渐增强,以纯固态硬盘作为服务器存储系统的存储盘的成本逐渐降低,并且随着技术的制程工艺及闪存的架构技术的持续发展,全闪存存储系统将会有更大的发展空间,因此全闪存存储系统将会成为未来存储市场的主流存储解决方案。
此外,当前对于大部分的全闪存存储系统,为了提高存储系统的整体利用率,都会支持在线重复数据删除的功能,通过减少重复数据的存储,可以在同等容量的前提下存储更多的主机数据。
为了支持重删等高级存储特性,必然会引入元数据(LP,Logical address&Physical Address,逻辑地址和物理地址组成键值对)、PL(Physical Address&Logicaladdress,物理地址和逻辑地址组成的键值对)、HP(Hash&Physical Address,哈希值和物理地址组成的键值对))。为了保证元数据的原子性和数据的一致性,通常当一个请求到来的时候都会产生这三种元数据,只有当这三种元数据都返回之后存储系统才会给主机响应IO处理成功,因此在落盘的效率上可能会出现速率不一致的情况,所以很大可能第一种完成了需要等第二种第三种完成,这就极大的增加了IO的时延。
因此,亟需要一种新的解决方案以应对此问题。
发明内容
为解决以上问题,本发明提出了一种存储系统性能优化方法、系统、设备和存储介质。其中方法包括:
接收写入数据,并计算所述写入数据的哈希值;
根据所述哈希值构建所述写入数据的元数据;
响应于所述元数据构建完成,将所述元数据插入对应的元数据表中;
响应于所述元数据中的LP与PL插入完成,返回写入数据完成结果。
在本发明的一些实施方式中,根据所述哈希值构建所述写入数据的元数据包括:
查询HP表中是否存在所述写入数据的哈希值;
响应于所述HP表中不存在所述写入数据的哈希值,将所述写入数据写入磁盘并获取所述写入数据在磁盘中的物理地址;
响应于获取到所述写入数据的物理地址,将所述写入数据的逻辑地址和所述写入数据的物理地址组成所述写入数据的元数据的LP,将所述写入数据的物理地址和所述写入数据的逻辑地址组成元数据的PL,以及将所述写入数据的哈希值与所述写入数据的物理地址组成所述写入数据的元数据的HP。
在本发明的一些实施方式中,根据所述哈希值构建所述写入数据的元数据还包括:
响应于所述HP表中存在所述写入数据的哈希值,获取所述哈希值的物理地址,取消所述写入数据向磁盘的写入,并将所述哈希值对应的的物理地址作为所述写入数据的物理地址。
在本发明的一些实施方式中,方法还包括:
采用B+tree数据结构构建LP表、PL表和HP表。
本发明的另一方面还提出了一种存储系统性能优化系统,包括:
数据预处理模块,所述数据预处理模块配置用于接收写入数据,并计算所述写入数据的哈希值;
数据处理模块,所述数据处理模块配置用于根据所述哈希值构建所述写入数据的元数据;
数据写入模块,所述数据写入模块配置用于响应于所述元数据构建完成,将所述元数据插入对应的元数据表中;
数据反馈模块,所述数据反馈模块配置用于响应于所述元数据中的第一数据与第二数据插入完成,返回写入数据完成结果。
在本发明的一些实施方式中,数据处理模块进一步配置用于:
查询HP表中是否存在所述写入数据的哈希值;
响应于所述HP表中不存在所述写入数据的哈希值,将所述写入数据写入磁盘并获取所述写入数据在磁盘中的物理地址;
响应于获取到所述写入数据的物理地址,将所述写入数据的逻辑地址和所述写入数据的物理地址组成所述写入数据的元数据的LP,将所述写入数据的物理地址和所述写入数据的逻辑地址组成元数据的PL,以及将所述写入数据的哈希值与所述写入数据的物理地址组成所述写入数据的元数据的HP。
在本发明的一些实施方式中,数据处理模块配置用于:
响应于所述HP表中存在所述写入数据的哈希值,获取所述哈希值的物理地址,取消所述写入数据向磁盘的写入,并将所述哈希值对应的的物理地址作为所述写入数据的物理地址。
在本发明的一些实施方式中,系统还包括数据表构建模块,配置用于:采用B+tree数据结构构建LP表、PL表和HP表。
本发明的又一方面还提出了一种计算机设备,其包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式任意一项所述方法的步骤。
本发明的再一方面还提出了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述方法的步骤。
本发明具有以下有益技术效果,存储系统在存入数据时,通过元数据中的LP,PL和HP插入改为异步执行,并且仅通过LP和PL向LP表和PL表的插入操作完成就返回数据存储完成的结果,无需等待HP数据的插入是否完成,缩短了存储系统的存储响应时间,进而提升了主机上应用程序的数据保存时间,并且进一步提升了存储系统及主机应用的数据存储效率和运行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提共的一种存储系统性能优化方法的一个实施例的流程图;
图2为本发明提供的一种存储系统性能优化方法的一个实施例的流程图;
图3为本发明提供的一种存储系统性能优化系统的结构图;
图4为本发明提供的一种存储系统性能优化的计算机设备的实施例的硬件结构示意图;
图5为本发明提供的一种存储系统性能优化的计算机存储介质的实施例的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
在本发明中,本发明所要解决的问题是在以固态硬盘作为主要存储介质的大型存储系统的数据管理问题。在现有的技术中,基于固态硬盘的存储数据的逻辑地址对应物理地址的特殊方式(相比于机械硬盘)。可以在存储层面实现数据的重删(重复数据删除,数据在固态硬盘中理论上不重复)的效果,即通过数据的逻辑地址或物理地址与数据的特征值(哈希值)的绑定,既可以实现对数据的存储的映射,也可以实现对数据唯一性的保持。
这一技术的实现是因为引入了元数据(Metadata)的数据处理技术,元数据又称中介数据,中继数据,元数据并不是数据本身或数据的基础,而是描述数据的数据,在存储领域是描述存储的数据的实际位置(物理地址)和数据的标识或索引(逻辑地址)的多个键值对组成的一组数据。
具体地,元数据通常包括三种参数:LP,L表示数据的逻辑地址,P表示数据在磁盘上的物理地址。逻辑地址是主机上的操作系统或某些应用对数据的标识。物理地址是在固态硬盘的硬件层的存储单元地址。LP表示以逻辑地址L为键,以物理地址P为值组成的键值对;除此之外,还有PL,即以物理地址P为键和以逻辑地址L为值组成的键值对;还有为解决数据重复存储问题的关键参数HP,H表示数据的哈希值,即以数据的哈希值为键以数据的物理地址为值组成的键值对。
因此,当在固态写入数据时,除了将数据存放到磁盘上对应的物理地址之外,还要实现上述三种元数据的写入或插入,元数据中的LP、PL和HP均以B+tree的数据结构实现,可以极快的速度查找对应元数据。
本发明实施例的第一个方面,提出了一种存储系统性能优化方法的实施例,图1示出的是本发明提供的一种存储系统性能优化方法的一个实施例的流程图。如图1所示,本发明实施例包括如下步骤:
步骤S100、接收写入数据,并计算所述写入数据的哈希值;
步骤S110、根据所述哈希值构建所述写入数据的元数据;
步骤S120、响应于所述元数据构建完成,将所述元数据插入对应的元数据表中;
步骤S130、响应于所述元数据中的LP与PL插入完成,返回写入数据完成结果。
在本实施例中,本发明应用的场景是服务器上或服务器集群中的存储集群或存储池中全闪存盘的数据写入的应用。该类型的存储集群均使用固态硬盘作为存储介质。相比于传统的机械硬盘,固态硬盘在数据写入时的效率要远高于机械硬盘,这是由于其存储结构上与传统的机械硬盘的磁盘存储接口的本质差异。
在传统的访问固态硬盘的方式上,主机(host)在访问固态硬盘时是通过LBA(Logical Block Address,逻辑地址块),固态硬盘将对应的逻辑地址映射到对应的物理地址即存储空间,并维护一张映射表。这种机械性质的映射表虽然相比于机械硬盘在数据访问上更加快速,但却无法在磁盘层面去重操作,存储在固态硬盘上的数据可能存在重复,浪费存储空间,并且还要花费大量的人力、物力或算力去清除重复数据。
为本发明所采用的方法是以元数据(LP,PL,HP)的方式进行存储,可在磁盘层面实现去重的效果。元数据中LP是指逻辑地址和物理地址,通常都是以键值对的方式出现;PL和LP在数据顺序上相反,是物理地址和逻辑地址作为键值对;HP指写入数据的哈希值和存储该写入数据的物理地址组成的键值对。并且LP和PL虽然在内容上互为相反的数据结构,但其应用方式是存在差别的。
在本发明中,LP是存储在LP表中的,以逻辑地址作为检索条件进行检索,而在PL表中是以物理地址作为检索条件进行存储。两者所构建的LP表和PL表的应用方式也不同,LP表可用于主机的查询,而PL表更多用于基于物理地址的查询以获取某块地址存储的数据内容对应的逻辑地址。而HP则用于重删时查询的表。当一个数据写入时,LP表和PL表如果完成则就意味着该数据已经存储完成。也就是说在数据存储时HP并非是必要的。但LP和PL表若少一个数据则都可能导致数据丢失或者数据异常的结果。
在本实施例中,在步骤S100中,在接收到来自主机新发送的写入数据时,同时还接收有关于该写入数据的逻辑地址,存储系统首先对该写入数据进行哈希计算,计算出该写入数据的哈希值。
在本发明的一些实施方式中,计算写入数据哈希值算法可以是强哈希算法。
在本发明的一些实施方式中,计算写入数据的哈希算法可以是弱哈写算法。
在步骤S110中,如前所述,本发明所采用的存储数据的方案是使用SSD硬盘进行数据存储,并使用元数据的方式保存,因此需要构建该写入数据的元数据,即生成该写入数据的LP、PL和HP。
在步骤S120中,当对写入数据的元数据构建完成后,即可将元数据保存到对应的元数据表中。即将元数据中的LP和PL以及HP插入到对应的表中。
在步骤S130中,在将元数据中的LP、PL和HP插入到对应的元数据表的过程中,如果LP和PL已经插入完成,则此时数据的写入操作已经完成。存储系统可立即向主机发送写入数据写入完成信息。主机接收到写入完成信息后便可将相应的程序或进程关闭,处理其他的数据写入操作,停止对该写入数据的挂起或响应状态,数据存储完成。
在本发明的一些实施方式中,根据所述哈希值构建所述写入数据的元数据包括:
步骤S200、查询HP表中是否存在所述写入数据的哈希值;
步骤S205、响应于所述HP表中不存在所述写入数据的哈希值,将所述写入数据写入磁盘并获取所述写入数据在磁盘中的物理地址;
步骤S220、响应于获取到所述写入数据的物理地址,将所述写入数据的逻辑地址和所述写入数据的物理地址组成所述写入数据的元数据的LP,将所述写入数据的物理地址和所述写入数据的逻辑地址组成元数据的PL,以及将所述写入数据的哈希值与所述写入数据的物理地址组成所述写入数据的元数据的HP。
在本实施例中,在将写入数据存储到固态硬盘上之前,需要先判断固态硬盘是是否已存在该数据,通过将该写入数据的哈希值在一哈希值为检索条件的HP表中进行检索,若检索结果为不存在,则将该数据写入到固态硬盘中,并获取存储该写入数据的物理地址,通过该物理地址和该写入数据的逻辑地址构建LP、PL和HP。
在本发明的一些实施方式中,根据所述哈希值构建所述写入数据的元数据还包括:
步骤S210、响应于所述HP表中存在所述写入数据的哈希值,获取所述哈希值的物理地址,取消所述写入数据向磁盘的写入,并将所述哈希值对应的的物理地址作为所述写入数据的物理地址。
在本实施例中,如果在哈希值在HP表中检索到,并且对应的物理地址存储的数据与写入数据相同,则不必再继续存储该写入数据,因为固态硬盘中已经存在该数据。因此,可将已存在的数据的物理地址作为该写入数据的物理地址,与逻辑地址及哈希值构建LP、PL和HP。
在本发明的一些实施方式中,方法还包括:
采用B+tree数据结构构建LP表、PL表和HP表。
在本实施例中,用于存储LP、PL和HP的LP表、PL表和HP采用B+tree的结构进行构建,可根据LP、PL和HP中的逻辑地址、物理地址及哈希值快速在表中找到对应的物理地址、逻辑地址、物理地址。
本发明具有以下有益技术效果,存储系统在存入数据时,通过元数据中的LP,PL和HP插入改为异步执行,并且仅通过LP和PL向LP表和PL表的插入操作完成就返回数据存储完成的结果,无需等待HP数据的插入是否完成,缩短了存储系统的存储响应时间,进而提升了主机上应用程序的数据保存时间,并且进一步提升了存储系统及主机应用的数据存储效率和运行效率。
基于上述目的,本发明的第二方面还提出了一种存储系统性能优化系统,如图3所示,系统包括:
数据预处理模块,所述数据预处理模块配置用于接收写入数据,并计算所述写入数据的哈希值;
数据处理模块,所述数据处理模块配置用于根据所述哈希值构建所述写入数据的元数据;
数据写入模块,所述数据写入模块配置用于响应于所述元数据构建完成,将所述元数据插入对应的元数据表中;
数据反馈模块,所述数据反馈模块配置用于响应于所述元数据中的第一数据与第二数据插入完成,返回写入数据完成结果。
在本发明的一些实施方式中,数据处理模块进一步配置用于:
查询HP表中是否存在所述写入数据的哈希值;
响应于所述HP表中不存在所述写入数据的哈希值,将所述写入数据写入磁盘并获取所述写入数据在磁盘中的物理地址;
响应于获取到所述写入数据的物理地址,将所述写入数据的逻辑地址和所述写入数据的物理地址组成所述写入数据的元数据的LP,将所述写入数据的物理地址和所述写入数据的逻辑地址组成元数据的PL,以及将所述写入数据的哈希值与所述写入数据的物理地址组成所述写入数据的元数据的HP。
在本发明的一些实施方式中,数据处理模块进一步配置用于:
响应于所述HP表中存在所述写入数据的哈希值,获取所述哈希值的物理地址,取消所述写入数据向磁盘的写入,并将所述哈希值对应的的物理地址作为所述写入数据的物理地址。
在本发明的一些实施方式中,系统还包括数据表构建模块,配置用于:采用B+tree数据结构构建LP表、PL表和HP表。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行以下步骤:步骤S100、接收写入数据,并计算所述写入数据的哈希值;
步骤S110、根据所述哈希值构建所述写入数据的元数据;
步骤S120、响应于所述元数据构建完成,将所述元数据插入对应的元数据表中;
步骤S130、响应于所述元数据中的LP与PL插入完成,返回写入数据完成结果。
在本实施例中,在步骤S100中,在接收到来自主机新发送的写入数据时,同时还接收有关于该写入数据的逻辑地址,存储系统首先对该写入数据进行哈希计算,计算出该写入数据的哈希值。
在本发名的一些实施方式中,计算写入数据哈希值算法可以是强哈希算法。
在本发明的一些实施方式中,计算写入数据的哈希算法可以是弱哈写算法。
在步骤S110中,如前所述,本发明所采用的存储数据的方案是使用SSD硬盘进行数据存储,并使用元数据的方式保存,因此需要构建该写入数据的元数据,即生成该写入数据的LP、PL和HP。
在步骤S120中,当对写入数据的元数据构建完成后,即可将元数据保存到对应的元数据表中。即将元数据中的LP和PL以及HP插入到对应的表中。
在步骤S130中,在将元数据中的LP、PL和HP插入到对应的元数据表的过程中,如果LP和PL已经插入完成,则此时数据的写入操作已经完成。存储系统可立即向主机发送写入数据写入完成信息。主机接收到写入完成信息后便可将相应的程序或进程关闭,处理其他的数据写入操作。停止对该写入数据的挂起或响应状态,数据存储完成。
在本发明的一些实施方式中,根据所述哈希值构建所述写入数据的元数据包括:
步骤S200、查询HP表中是否存在所述写入数据的哈希值;
步骤S205、响应于所述HP表中不存在所述写入数据的哈希值,将所述写入数据写入磁盘并获取所述写入数据在磁盘中的物理地址;
步骤S220、响应于获取到所述写入数据的物理地址,将所述写入数据的逻辑地址和所述写入数据的物理地址组成所述写入数据的元数据的LP,将所述写入数据的物理地址和所述写入数据的逻辑地址组成元数据的PL,以及将所述写入数据的哈希值与所述写入数据的物理地址组成所述写入数据的元数据的HP。
在本实施例中,在将写入数据存储到固态硬盘上之前,需要先判断固态硬盘是是否已存在该数据,通过将该写入数据的哈希值在一哈希值为检索条件的HP表中进行检索,若检索结果为不存在,则将该数据写入到固态硬盘中,并获取存储该写入数据的物理地址,通过该物理地址和该写入数据的逻辑地址构建LP、PL和HP。
在本发明的一些实施方式中,根据所述哈希值构建所述写入数据的元数据还包括:
步骤S210、响应于所述HP表中存在所述写入数据的哈希值,获取所述哈希值的物理地址,取消所述写入数据向磁盘的写入,并将所述哈希值对应的的物理地址作为所述写入数据的物理地址。
在本发明的一些实施方式中,方法还包括:
采用B+tree数据结构构建LP表、PL表和HP表。
如图4所示,为本发明提供的上述预测固态硬盘寿命的计算机设备的一个实施例的硬件结构示意图。
以如图4所示的装置为例,在该装置中包括一个处理器301以及一个存储器302。
处理器301和存储器302可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中一种存储系统性能优化方法对应的指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现存储系统性能优化的方法。
存储系统性能优化的方法包括如下步骤:接收写入数据,并计算所述写入数据的哈希值;
根据所述哈希值构建所述写入数据的元数据;
响应于所述元数据构建完成,将所述元数据插入对应的元数据表中;
响应于所述元数据中的LP与PL插入完成,返回写入数据完成结果。
在本发明的一些实施方式中,根据所述哈希值构建所述写入数据的元数据包括:
查询HP表中是否存在所述写入数据的哈希值;
响应于所述HP表中不存在所述写入数据的哈希值,将所述写入数据写入磁盘并获取所述写入数据在磁盘中的物理地址;
响应于获取到所述写入数据的物理地址,将所述写入数据的逻辑地址和所述写入数据的物理地址组成所述写入数据的元数据的LP,将所述写入数据的物理地址和所述写入数据的逻辑地址组成元数据的PL,以及将所述写入数据的哈希值与所述写入数据的物理地址组成所述写入数据的元数据的HP。
在本发明的一些实施方式中,根据所述哈希值构建所述写入数据的元数据还包括:
响应于所述HP表中存在所述写入数据的哈希值,获取所述哈希值的物理地址,取消所述写入数据向磁盘的写入,并将所述哈希值对应的的物理地址作为所述写入数据的物理地址。
在本发明的一些实施方式中,方法还包括:采用B+tree数据结构构建LP表、PL表和HP表。
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据存储系统性能优化方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个存储系统性能优化方法对应的计算机指令303存储在存储器302中,当被处理器301执行时,执行上述任意方法实施例中的存储系统性能优化方法。
执行上述存储系统性能优化方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行存储系统性能优化方法的计算机程序。
如图5所示,为本发明提供的计算机存储介质的一个实施例的示意图。以如图5所示的计算机存储介质为例,计算机可读存储介质401存储有被处理器执行时执行存储系统性能优化方法的计算机程序402。
存储系统性能优化方法包括如下步骤:接收写入数据,并计算所述写入数据的哈希值;
根据所述哈希值构建所述写入数据的元数据;
响应于所述元数据构建完成,将所述元数据插入对应的元数据表中;
响应于所述元数据中的LP与PL插入完成,返回写入数据完成结果。
在本发明的一些实施方式中,根据所述哈希值构建所述写入数据的元数据包括:
查询HP表中是否存在所述写入数据的哈希值;
响应于所述HP表中不存在所述写入数据的哈希值,将所述写入数据写入磁盘并获取所述写入数据在磁盘中的物理地址;
响应于获取到所述写入数据的物理地址,将所述写入数据的逻辑地址和所述写入数据的物理地址组成所述写入数据的元数据的LP,将所述写入数据的物理地址和所述写入数据的逻辑地址组成元数据的PL,以及将所述写入数据的哈希值与所述写入数据的物理地址组成所述写入数据的元数据的HP。
在本发明的一些实施方式中,根据所述哈希值构建所述写入数据的元数据还包括:
响应于所述HP表中存在所述写入数据的哈希值,获取所述哈希值的物理地址,取消所述写入数据向磁盘的写入,并将所述哈希值对应的的物理地址作为所述写入数据的物理地址。
在本发明的一些实施方式中,方法还包括:采用B+tree数据结构构建LP表、PL表和HP表。
本发明实施例,通过在存储系统在存入数据时,将元数据中的LP,PL和HP插入改为异步执行,并且仅通过LP和PL向LP表和PL表的插入操作完成就返回数据存储完成的结果,无需等待HP数据的插入是否完成,缩短了存储系统的存储响应时间,进而提升了主机上应用程序的数据保存时间,并且进一步提升了存储系统及主机应用的数据存储效率和运行效率。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种存储系统性能优化方法,其特征在于,包括:
接收写入数据,并计算所述写入数据的哈希值;
根据所述哈希值构建所述写入数据的元数据;
响应于所述元数据构建完成,将所述元数据插入对应的元数据表中;
响应于所述元数据中的LP与PL插入完成,返回写入数据完成结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述哈希值构建所述写入数据的元数据包括:
查询HP表中是否存在所述写入数据的哈希值;
响应于所述HP表中不存在所述写入数据的哈希值,将所述写入数据写入磁盘并获取所述写入数据在磁盘中的物理地址;
响应于获取到所述写入数据的物理地址,将所述写入数据的逻辑地址和所述写入数据的物理地址组成所述写入数据的元数据的LP,将所述写入数据的物理地址和所述写入数据的逻辑地址组成元数据的PL,以及将所述写入数据的哈希值与所述写入数据的物理地址组成所述写入数据的元数据的HP。
3.根据权利要求2所述的方法,其特征在于,所述根据所述哈希值构建所述写入数据的元数据还包括:
响应于所述HP表中存在所述写入数据的哈希值,获取所述哈希值的物理地址,取消所述写入数据向磁盘的写入,并将所述哈希值对应的的物理地址作为所述写入数据的物理地址。
4.根据权利要求3述的方法,其特征在于,还包括:采用B+tree数据结构构建LP表、PL表和HP表。
5.一种存储系统性能优化系统,其特征在于,包括:
数据预处理模块,所述数据预处理模块配置用于接收写入数据,并计算所述写入数据的哈希值;
数据处理模块,所述数据处理模块配置用于根据所述哈希值构建所述写入数据的元数据;
数据写入模块,所述数据写入模块配置用于响应于所述元数据构建完成,将所述元数据插入对应的元数据表中;
数据反馈模块,所述数据反馈模块配置用于响应于所述元数据中的第一数据与第二数据插入完成,返回写入数据完成结果。
6.根据权利要求5所述的系统,其特征在于,所述数据处理模块进一步配置用于:
查询HP表中是否存在所述写入数据的哈希值;
响应于所述HP表中不存在所述写入数据的哈希值,将所述写入数据写入磁盘并获取所述写入数据在磁盘中的物理地址;
响应于获取到所述写入数据的物理地址,将所述写入数据的逻辑地址和所述写入数据的物理地址组成所述写入数据的元数据的LP,将所述写入数据的物理地址和所述写入数据的逻辑地址组成元数据的PL,以及将所述写入数据的哈希值与所述写入数据的物理地址组成所述写入数据的元数据的HP。
7.根据权利要求6述的系统,其特征在于,所述数据处理模块进一步配置用于:
响应于所述HP表中存在所述写入数据的哈希值,获取所述哈希值的物理地址,取消所述写入数据向磁盘的写入,并将所述哈希值对应的的物理地址作为所述写入数据的物理地址。
8.根据权利要求5所述的系统,其特征在于,系统还包括数据表构建模块,配置用于:采用B+tree数据结构构建LP表、PL表和HP表。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-4任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110999484.5A CN113867626A (zh) | 2021-08-29 | 2021-08-29 | 一种存储系统性能优化方法、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110999484.5A CN113867626A (zh) | 2021-08-29 | 2021-08-29 | 一种存储系统性能优化方法、系统、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113867626A true CN113867626A (zh) | 2021-12-31 |
Family
ID=78988641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110999484.5A Withdrawn CN113867626A (zh) | 2021-08-29 | 2021-08-29 | 一种存储系统性能优化方法、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113867626A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115576956A (zh) * | 2022-12-07 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、系统、设备以及存储介质 |
-
2021
- 2021-08-29 CN CN202110999484.5A patent/CN113867626A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115576956A (zh) * | 2022-12-07 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、系统、设备以及存储介质 |
CN115576956B (zh) * | 2022-12-07 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、系统、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10013317B1 (en) | Restoring a volume in a storage system | |
CN101866359B (zh) | 一种机群文件系统中的小文件存储和访问方法 | |
US20160217167A1 (en) | Hash Database Configuration Method and Apparatus | |
CN109582213B (zh) | 数据重构方法及装置、数据存储系统 | |
CN111177143B (zh) | 键值数据存储方法、装置、存储介质与电子设备 | |
CN113867627B (zh) | 一种存储系统性能优化方法及系统 | |
CN103501319A (zh) | 一种低延迟的面向小文件的分布式存储系统 | |
CN113806300B (zh) | 数据存储方法、系统、装置、设备及存储介质 | |
CN113961510B (zh) | 一种文件处理方法、装置、设备及存储介质 | |
TW201738781A (zh) | 資料表連接方法及裝置 | |
CN115794669A (zh) | 一种扩展内存的方法、装置及相关设备 | |
CN114625762A (zh) | 一种元数据获取方法、网络设备及系统 | |
CN112995257B (zh) | 基于云存储架构的缓存扩容方法、装置以及存储介质 | |
CN115904255A (zh) | 一种数据请求方法、装置、设备及存储介质 | |
CN113326262B (zh) | 基于键值数据库的数据处理方法、装置、设备及介质 | |
CN113867626A (zh) | 一种存储系统性能优化方法、系统、设备和存储介质 | |
CN107943615B (zh) | 基于分布式集群的数据处理方法与系统 | |
CN115793957A (zh) | 写数据的方法、装置及计算机存储介质 | |
CN107908713B (zh) | 一种基于Redis集群的分布式动态杜鹃过滤系统及其过滤方法 | |
CN117082046A (zh) | 数据上传方法、装置、设备及存储介质 | |
CN111399753A (zh) | 写入图片的方法和装置 | |
US11797478B1 (en) | Snapshot mapping structure characterizing data dependencies between a storage volume and its snapshots | |
He et al. | Research on key technologies of NBD storage service system based on load classification | |
CN115438039A (zh) | 存储系统的数据索引结构的调整方法和装置 | |
CN115904211A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211231 |
|
WW01 | Invention patent application withdrawn after publication |