存储设备数据位置的处理方法、装置、设备及存储介质与流程

文档序号:16465844发布日期:2019-01-02 22:47阅读:189来源:国知局
存储设备数据位置的处理方法、装置、设备及存储介质与流程

本申请涉及存储技术领域,尤其涉及一种存储设备数据位置的处理方法、装置、设备及存储介质。



背景技术:

空间管理是存储系统中的重要内容,传统的空间管理方式是在存储系统中专门分出一块存储区域用来存储空间分配信息,空间映射关系更改会将此块区域的空间分配信息进行更改。

现有的空间管理方式引入了随机写,额外增加了存储系统的io,使得存储系统的整体吞吐下降,影响存储系统处理性能。

因此,如何有效管理存储空间,成为亟需解决的技术问题。



技术实现要素:

本申请提供一种存储设备数据位置的处理方法、装置、设备及存储介质,以解决现有技术处理性能低等缺陷。

本申请第一个方面提供一种存储设备数据位置的处理方法,包括:

设备重启时,将存储设备中存储的历史数据的第一位置信息集写入内存中,所述历史数据及其相应的位置信息在所述存储设备中对应存储,所述第一位置信息集用于表示数据位置信息的集合;

若所述存储设备中存在更新数据,则将所述存储设备中与所述更新数据对应存储的更新数据的位置信息写入所述内存中;

根据所述第一位置信息集和所述更新数据的位置信息,在所述内存中生成第二位置信息集,并存储至所述存储设备中。

本申请第二个方面提供一种存储设备数据位置的处理装置,包括:

第一处理模块,用于设备重启时,将存储设备中存储的历史数据的第一位置信息集写入内存中,所述历史数据及其相应的位置信息在所述存储设备中对应存储,所述第一位置信息集用于表示数据位置信息的集合;

第二处理模块,用于若所述存储设备中存在更新数据,则将所述存储设备中与所述更新数据对应存储的更新数据的位置信息写入所述内存中;

生成模块,用于根据所述第一位置信息集和所述更新数据的位置信息,在所述内存中生成第二位置信息集,并存储至所述存储设备中。

本申请第三个方面提供一种计算机设备,包括:至少一个处理器和存储器;

所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现上述第一个方面提供的方法。

本申请第四个方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述第一个方面提供的方法。

本申请提供的存储设备数据位置的处理方法、装置、设备及存储介质,在设备重启时,将存储设备中存储的历史数据的第一位置信息集写入内存中,若存储设备中存在更新数据,则将存储设备中与更新数据对应存储的更新数据的位置信息写入内存中,并根据第一位置信息集和更新数据的位置信息,在内存中生成第二位置信息集,并存储至存储设备中。通过结合历史数据的第一位置信息集与从日志获得更新数据的位置信息,可以快速在内存中构建完整的位置信息,不仅保证了空间分配信息的完整性,还在减少io的基础上提高了重启速度。通过将历史数据与其相应的位置信息在存储设备中一起对应存储,即将空间分配信息与用户数据一起写入日志进行存储,有效减少了io次数,解决了现有技术空间分配信息与用户数据分离存储容易引人额外io,从而降低存储系统的性能的问题。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例提供的存储设备数据位置的处理方法的流程示意图;

图2为本申请另一实施例提供的用户操作日志及快照的对应关系示意图;

图3为本申请一实施例提供的存储设备数据位置的处理装置的结构示意图;

图4为本申请一实施例提供的计算机设备的结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

首先对本申请所涉及的名词进行解释:

存储设备:是指计算机的能够永久存储数据的外部存储器,是相对于内存来说,比如磁盘、数据库、硬盘等等。

位置信息集:是指存储用户数据的存储空间的位置信息的集合,位置信息也可称为空间分配信息,具体可以包括物理地址、逻辑地址及物理地址与逻辑地址的映射关系等信息,具体可以根据实际需求进行设置。

设备重启:是指包括上述存储设备的计算机设备的重启。

此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。

下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

本申请实施例提供的存储设备数据位置的处理方法可以适用于单个计算机设备的存储设备空间管理,也可以适用于分布式系统的数据同步。分布式系统可以包括一个主节点及一个或多个从节点,各节点的存储系统中可以设置有存储设备数据位置的处理装置(以下简称装置)。当主节点接收到用户的操作指令(操作指令可以包括操作类型及操作的用户数据,操作类型包括写入、更新等)时,由主节点的装置,根据用户的操作指令,按照raft(日志一致性)协议生成第一日志(第一日志可以包括本次操作的操作时间及操作的用户数据),并发送给各从节点及主节点自己,各节点(包括主节点和各从节点)接收到第一日志后,以其中一个节点为例,由该节点的装置,从第一日志中解析出用户的操作指令,并从内存中获取用户数据的空间分配信息,将用户数据的空间分配信息与第一日志所包括的信息一起生成第二日志,即第二日志包括了操作时间、用户数据的空间分配信息及用户数据。可以将第二日志写入存储设备(如磁盘)中与用户数据的空间分配信息对应的区域。将每次用户操作的日志都实时地写入存储设备进行存储,如此,在存储设备中实时地记录了用户操作日志。将空间分配信息与用户数据一起写入日志进行存储,有效减少了io次数,解决了现有技术空间分配信息与用户数据分离存储容易引人额外io,从而降低存储系统的性能的问题。

实施例一

本实施例提供一种存储设备数据位置的处理方法,用于对存储设备的数据的位置信息进行相应的处理。本实施例的执行主体为存储设备数据位置的处理装置,该装置可以设置在包括有存储设备的计算机设备中。

如图1所示,为本实施例提供的存储设备数据位置的处理方法的流程示意图,该方法包括:

步骤101,设备重启时,将存储设备中存储的历史数据的第一位置信息集写入内存中,历史数据及其相应的位置信息在存储设备中对应存储,第一位置信息集用于表示数据位置信息的集合。

具体的,设备重启是指包括上述存储设备的计算机设备的重启。即当计算机设备由于故障、正常关闭、人为要求重启等原因需要重新启动。在重启时,需要在内存中构建当前完整的位置信息,即当前所有已分配的存储空间的空间分配信息,而存储设备中存储有历史数据的第一位置信息集。可选的,第一位置信息集可以是在计算机设备正常工作时,按照一定的触发机制(比如定期),对内存中当前完整的位置信息进行快照或备份等处理获得,并写入到存储设备中的。

计算机设备正常工作时,内存中存储有当前完整的位置信息,内存中的空间分配信息是动态更新的,该装置可以以预设粒度分配空间,并将新分配的空间分配信息实时存储到内存中,从而保证内存中的空间分配信息的完整性。从而当有新用户操作时,可以从内存中获取新用户数据的存储位置,从而将新用户数据写入相应的存储位置,或者当有用户读取已有数据时,也可以从内存中获取用户要读取的数据的存储位置,从而到相应的存储位置读取用户要读取的数据给用户。

在重启时,该装置则可以从存储设备读取第一位置信息集到内存中,但是,由于第一位置信息集是重启前到达某触发机制时产生的,在其产生后,还可能有更新数据存储到存储设备中,而这部分更新数据的位置信息无法从第一位置信息集中获得,因此还需要通过其他方式获取更新数据的位置信息。

通过将历史数据与其相应的位置信息在存储设备中一起对应存储,即将空间分配信息与用户数据一起写入日志进行存储,有效减少了io次数,解决了现有技术空间分配信息与用户数据分离存储容易引人额外io,从而降低存储系统的性能的问题。

步骤102,若存储设备中存在更新数据,则将存储设备中与更新数据对应存储的更新数据的位置信息写入内存中。

具体的,由于第一位置信息集是重启前到达某触发机制时产生的,在其产生后,还可能有更新数据存储到存储设备中,而这部分更新数据的位置信息无法从第一位置信息集中获得,因此,若存储设备中存在更新数据,则将存储设备中与更新数据对应存储的更新数据的位置信息写入内存中。

可选的,在计算机设备正常工作时,对于每次用户数据操作,都记录有用户操作日志,并存储在存储设备中。即用户操作日志包括了上述的历史数据写入存储设备的操作信息(具体可以包括操作时间信息、历史数据的位置信息及历史数据),也包括了更新数据写入存储设备的操作信息(具体可以包括操作时间信息、更新数据的位置信息及更新数据),因此,可以通过日志回滚(或称日志扫描)从用户操作日志中获得更新数据的位置信息。具体的日志回滚方式为现有技术,本实施例不再赘述。

通过结合历史数据的第一位置信息集与从日志获得更新数据的位置信息,可以快速在内存中构建完整的位置信息,不仅保证了空间分配信息的完整性,还在减少io的基础上提高了重启速度。

步骤103,根据第一位置信息集和更新数据的位置信息,在内存中生成第二位置信息集,并存储至存储设备中。

具体的,在获取到历史数据的第一位置信息集及更新数据的位置信息后,则可以根据第一位置信息集和更新数据的位置信息在内存中生成第二位置信息集,即在内存中构建完整的位置信息,为后续用户操作快速提供对应的存储位置的位置信息,并且可以将该第二位置信息集存储至存储设备中,例如以快照方式存储至存储设备、或者以备份方式存储至存储设备等等。

本实施例提供的存储设备数据位置的处理方法,在设备重启时,将存储设备中存储的历史数据的第一位置信息集写入内存中,若存储设备中存在更新数据,则将存储设备中与更新数据对应存储的更新数据的位置信息写入内存中,并根据第一位置信息集和更新数据的位置信息,在内存中生成第二位置信息集,并存储至存储设备中。通过结合历史数据的第一位置信息集与从日志获得更新数据的位置信息,可以快速在内存中构建完整的位置信息,不仅保证了空间分配信息的完整性,还在减少io的基础上提高了重启速度。通过将历史数据与其相应的位置信息在存储设备中一起对应存储,即将空间分配信息与用户数据一起写入日志进行存储,有效减少了io次数,解决了现有技术空间分配信息与用户数据分离存储容易引人额外io,从而降低存储系统的性能的问题。

实施例二

本实施例对实施例一提供的存储设备数据位置的处理方法做进一步补充说明。

作为一种可实施的方式,在上述实施例一的基础上,可选地,该方法还可以包括:

每到达设定时间,根据内存中当前已有的位置信息,生成更新的位置信息集,并存储至存储设备中,内存中当前已有的位置信息包括当前的前一次到达设定时间时生成的位置信息集中包括的位置信息以及当前的前一次到达设定时间后更新的位置信息。

具体的,可以定期更新存储设备中存储的第二位置信息集,生成更新的位置信息集,并存储至存储设备中。即位置信息集更新的触发机制为时间。具体来说,可以设定一定的时间间隔,比如每5分钟更新一次、每10分钟更新一次等等,具体时间间隔可以根据实际需求进行设置,本实施例不做限定。每到达设定时间,则更新一次。由于计算机设备正常工作时,内存中实时存储有当前完整的位置信息,因此可以根据内存中当前已有的位置信息,生成更新的位置信息集,并存储至存储设备中。其中,内存中当前已有的位置信息包括当前的前一次到达设定时间时生成的位置信息集中包括的位置信息以及当前的前一次到达设定时间后更新的位置信息。

可选的,对于更新的位置信息集,可以将每次生成的位置信息集都存储到存储设备中。

可选的,为了节省存储空间,也可以只存储最新更新的位置信息集,即当有更新的位置信息集生成时,将更新的位置信息集替换存储设备中已存储的位置信息集。

示例性的,重启时生成了第二位置信息集,当第一次到达设定时间时,生成了第一更新的位置信息集,那么可以将该第一更新的位置信息集存储到存储设备而删除第二位置信息集,或者直接覆盖第二位置信息集。当第二次到达预设时间时,生成第二更新的位置信息集,则存储空间存储第二更新的位置信息集,释放第一更新的位置信息集。以此类推,不断更新。

可选的,对于每次重启,在本次重启前最后一次更新的位置信息集即为本次重启时需要从存储设备中读取并写入内存中的第一位置信息集。如此循环往复,不断更新,保证了空间分配信息的完整性。

作为另一种可实施的方式,在上述实施例一的基础上,可选地,该方法还可以包括:

若存储设备中写入了新的数据,则根据内存中当前已有的位置信息,生成更新的位置信息集,并存储至存储设备中,内存中当前已有的位置信息包括写入新的数据前的位置信息以及新的数据的位置信息。

具体的,位置信息集更新的触发机制为存储设备中写入了新的数据,具体的生成更新的位置信息集的过程与上述时间触发机制的生成过程相似,在此不再赘述。

可选的,还可以设置具体写入的新的数据的大小或写入次数,来限定触发机制,比如当判断存储设备中写入了新的数据,并且写入次数为5次时,生成更新的位置信息集,当判断存储设备中写入了新的数据,并且写入的新的数据大小超过预设阈值时,生成更新的位置信息集等等,本实施例不做限定。

作为再一种可实施的方式,在上述实施例一的基础上,可选地,该方法还可以包括:

记录用户操作日志,用户操作日志包括历史数据写入存储设备的操作信息,以及更新数据写入存储设备的操作信息。

具体的,在计算机设备正常工作时,对于每次用户数据操作,都记录有用户操作日志,并存储在存储设备中。即用户操作日志包括了上述的历史数据写入存储设备的操作信息(具体可以包括操作时间信息、历史数据的位置信息及历史数据),也包括了更新数据写入存储设备的操作信息(具体可以包括操作时间信息、更新数据的位置信息及更新数据),因此,可以通过日志回滚(或称日志扫描)从用户操作日志中获得更新数据的位置信息。具体的日志回滚方式为现有技术,本实施例不再赘述。

可选的,更新数据写入存储设备的操作信息包括操作时间信息、更新数据的位置信息及更新数据;相应的,将存储设备中与更新数据对应存储的更新数据的位置信息写入内存中,包括:

扫描用户操作日志中的更新数据写入存储设备的操作信息,将更新数据的位置信息写入内存中。

具体的,可以根据第一位置信息集的生成时间与操作时间信息对比,确定从哪个时间点之后的用户操作日志为更新数据,从而确定需要扫描的用户操作日志的部分。

可选的,将存储设备中与更新数据对应存储的更新数据的位置信息写入内存中之前,方法还包括:

根据记录的第一位置信息集对应的用户操作日志的日志序列号,判断存储设备中是否存在更新数据。

具体的,在每次生成位置信息集(包括第二位置信息集及各更新的位置信息集)时,记录该位置信息集对应的用户操作日志的日志序列号,即记录下从哪个日志序列号开始之前的位置信息生成了位置信息集,以便于后续需要扫描日志获取更新数据的位置信息时,知道扫描到用户操作日志的哪些部分,即位置信息集对应的日志序列号可以用于区分历史数据和更新数据。若用户操作日志中位置信息集对应的日志序列号后面产生了新的日志,则证明有新的数据写入存储设备。

可选的,将第二位置信息集存储至存储设备中,具体可以包括:将第二位置信息集以快照方式写入存储设备,即对第二位置信息做快照,并将快照写入存储设备。具体的做快照的具体操作可以为现有技术,在此不再赘述。

可选的,对于每次的更新的位置信息集,也以快照方式写入存储设备,在此不再赘述。

可选的,还可以以其他方式存储各位置信息集,比如备份。即定期或有一定量的更新数据时,对当前已有的位置信息进行备份,同样可以解决现有技术中空间分配信息与用户数据分离存储容易引人额外io,从而降低存储系统的性能的问题。

需要说明的是,本申请各实施例中,历史数据与更新数据是相对的,对于第一位置信息集来说,以第一位置信息集生成时刻为分界线,生成时刻之前为历史数据,生成时刻之后为更新数据。而重启时获取的第一位置信息集又是重启之前最后一次生成的更新的位置信息集,因此,对于每次生成位置信息集(包括第二位置信息集及更新的位置信息集),即产生了相对于该位置信息集的历史数据,其后再写入存储设备的日志部分即为更新数据对应的日志。

下面以存储设备为磁盘为例,示例性的进行说明:当计算机设备接收到用户的操作指令,比如写操作指令,写操作指令中包括操作类型为写入及待写入的用户数据,该计算机设备的装置获取到写操作指令后,按照raft协议生成第一日志,第一日志可以包括本次写操作的操作时间信息及待写入的用户数据,该装置从内存中获取当前的空间分配信息,即待写入的用户数据对应的目标位置信息,该装置将待写入的用户数据对应的位置信息与第一日志包括的操作时间信息及待写入的用户数据一起生成第二日志,写入目标位置信息对应的存储区域。即将用户数据的位置信息与用户数据一起记录为用户操作日志写入磁盘中。按照上述过程,不断地有用户数据写入,从而不断更新磁盘中的用户操作日志。在记录用户操作日志的过程中,并行地按照一定的触发机制,比如定期,将内存中的当前已有的位置信息生成位置信息集(如第二位置信息集或更新的位置信息集),并可以以快照、备份等方式存储位置信息集,或者也可以说定期对内存中当前已有的位置信息做快照,并将快照写入磁盘。并记录快照点(做快照的时刻)对应的日志序列号,即记录用户操作日志中哪个日志序列号之前的用户数据的位置信息被做了快照。这样定期不断更新存储的快照,即在磁盘存储有某个时刻的当时,所有已分配存储空间的空间分配信息。若在第n次做快照后,计算机设备由于各种因素需要重启,内存中的空间分配信息会丢失,那么在计算机设备重启时,需要在内存中重新构建完整的空间分配信息,该装置则可以从磁盘中读取第n次做的快照,即获取上述第一位置信息集,获取历史数据的位置信息,由于在第n次做快照后,还可能有新的用户操作,该装置则可以根据第n次快照对应的日志序列号,判断磁盘中是否有更新数据,若在第n次快照对应的日志序列号后有新的日志序列号即有新的日志,则确定磁盘中有更新数据,该装置则可以扫描日志或回滚日志,到第n次快照对应的日志序列号部分停止扫描或回滚,从而获得更新数据的位置信息。

在获得了历史数据的位置信息及更新数据的位置信息后,则可以根据两部分位置信息在内存中重新构建完整的空间分配信息,即生成第二位置信息集。可以对第二位置信息集做快照再写入磁盘。并继续按照上述过程,一边在磁盘中记录用户操作日志,一边定期对内存中的已有位置信息做快照写入磁盘,如此循环操作,后续不再赘述。

如图2所示,为本实施例提供的用户操作日志及快照的对应关系示意图。其中,时间即为操作时间信息,位置即为位置信息,数据即为用户数据,图中进行了简写。快照点在日志序列号3后,即表示快照是对日志序列号1-3对应的用户数据的位置信息进行了快照,可以记录快照点对应日志序列号3.当然也可以采用其他方式记录,这里只是示意性说明,并非对其限定。用户操作日志中还可以包括其他信息,比如操作的用户(用户名称、用户编号等等)、操作类型(写入、读取等)。

这里只是示例性说明,对于从一次重启到下一次重启的过程,生成更新的位置信息集或更新快照的触发机制可以是任意可实施的机制,具体可以根据实际需求进行设置。对于位置信息集的存储方式,也可以是以快照、备份等任意可实施的方式。

需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。

本实施例提供的存储设备数据位置的处理方法,在设备重启时,将存储设备中存储的历史数据的第一位置信息集写入内存中,若存储设备中存在更新数据,则将存储设备中与更新数据对应存储的更新数据的位置信息写入内存中,并根据第一位置信息集和更新数据的位置信息,在内存中生成第二位置信息集,并存储至存储设备中。通过结合历史数据的第一位置信息集与从日志获得更新数据的位置信息,可以快速在内存中构建完整的位置信息,不仅保证了空间分配信息的完整性,还在减少io的基础上提高了重启速度。通过将历史数据与其相应的位置信息在存储设备中一起对应存储,即将空间分配信息与用户数据一起写入日志进行存储,有效减少了io次数,解决了现有技术空间分配信息与用户数据分离存储容易引人额外io,从而降低存储系统的性能的问题。

实施例三

本实施例提供一种存储设备数据位置的处理装置,用于执行上述实施例一的方法。

如图3所示,为本实施例提供的存储设备数据位置的处理装置的结构示意图。该存储设备数据位置的处理装置30包括第一处理模块31、第二处理模块32和生成模块33。

其中,第一处理模块31用于设备重启时,将存储设备中存储的历史数据的第一位置信息集写入内存中,历史数据及其相应的位置信息在存储设备中对应存储,第一位置信息集用于表示数据位置信息的集合;第二处理模块32用于若存储设备中存在更新数据,则将存储设备中与更新数据对应存储的更新数据的位置信息写入内存中;生成模块33用于根据第一位置信息集和更新数据的位置信息,在内存中生成第二位置信息集,并存储至存储设备中。

关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

根据本实施例提供的存储设备数据位置的处理装置,在设备重启时,将存储设备中存储的历史数据的第一位置信息集写入内存中,若存储设备中存在更新数据,则将存储设备中与更新数据对应存储的更新数据的位置信息写入内存中,并根据第一位置信息集和更新数据的位置信息,在内存中生成第二位置信息集,并存储至存储设备中。通过结合历史数据的第一位置信息集与从日志获得更新数据的位置信息,可以快速在内存中构建完整的位置信息,不仅保证了空间分配信息的完整性,还在减少io的基础上提高了重启速度。通过将历史数据与其相应的位置信息在存储设备中一起对应存储,即将空间分配信息与用户数据一起写入日志进行存储,有效减少了io次数,解决了现有技术空间分配信息与用户数据分离存储容易引人额外io,从而降低存储系统的性能的问题。

实施例四

本实施例对上述实施例三提供的装置做进一步补充说明,以执行上述实施例二提供的方法。

作为一种可实施的方式,在上述实施例三的基础上,可选地,生成模块,还用于:

每到达设定时间,根据内存中当前已有的位置信息,生成更新的位置信息集,并存储至存储设备中,内存中当前已有的位置信息包括当前的前一次到达设定时间时生成的位置信息集中包括的位置信息以及当前的前一次到达设定时间后更新的位置信息。

作为另一种可实施的方式,在上述实施例三的基础上,可选地,生成模块,还用于:

若存储设备中写入了新的数据,则根据内存中当前已有的位置信息,生成更新的位置信息集,并存储至存储设备中,内存中当前已有的位置信息包括写入新的数据前的位置信息以及新的数据的位置信息。

作为再一种可实施的方式,在上述实施例三的基础上,可选地,第二处理模块,还用于:

记录用户操作日志,用户操作日志包括历史数据写入存储设备的操作信息,以及更新数据写入存储设备的操作信息。

可选地,更新数据写入存储设备的操作信息包括操作时间信息、更新数据的位置信息及更新数据;

相应的,第二处理模块,具体用于:

扫描用户操作日志中的更新数据写入存储设备的操作信息,将更新数据的位置信息写入内存中。

可选地,第二处理模块,还用于:

根据记录的第一位置信息集对应的用户操作日志的日志序列号,判断存储设备中是否存在更新数据。

可选地,生成模块,具体用于:

对第二位置信息集做快照,并写入存储设备中。

关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。

根据本实施例提供的存储设备数据位置的处理装置,在设备重启时,将存储设备中存储的历史数据的第一位置信息集写入内存中,若存储设备中存在更新数据,则将存储设备中与更新数据对应存储的更新数据的位置信息写入内存中,并根据第一位置信息集和更新数据的位置信息,在内存中生成第二位置信息集,并存储至存储设备中。通过结合历史数据的第一位置信息集与从日志获得更新数据的位置信息,可以快速在内存中构建完整的位置信息,不仅保证了空间分配信息的完整性,还在减少io的基础上提高了重启速度。通过将历史数据与其相应的位置信息在存储设备中一起对应存储,即将空间分配信息与用户数据一起写入日志进行存储,有效减少了io次数,解决了现有技术空间分配信息与用户数据分离存储容易引人额外io,从而降低存储系统的性能的问题。

实施例五

本实施例提供一种计算机设备,用于执行上述实施例提供的存储设备数据位置的处理方法。

如图4所示,为本实施例提供的计算机设备的结构示意图。该计算机设备50包括:至少一个处理器51和存储器52;

存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的存储设备数据位置的处理方法。

根据本实施例的计算机设备,在设备重启时,将存储设备中存储的历史数据的第一位置信息集写入内存中,若存储设备中存在更新数据,则将存储设备中与更新数据对应存储的更新数据的位置信息写入内存中,并根据第一位置信息集和更新数据的位置信息,在内存中生成第二位置信息集,并存储至存储设备中。通过结合历史数据的第一位置信息集与从日志获得更新数据的位置信息,可以快速在内存中构建完整的位置信息,不仅保证了空间分配信息的完整性,还在减少io的基础上提高了重启速度。通过将历史数据与其相应的位置信息在存储设备中一起对应存储,即将空间分配信息与用户数据一起写入日志进行存储,有效减少了io次数,解决了现有技术空间分配信息与用户数据分离存储容易引人额外io,从而降低存储系统的性能的问题。

实施例六

本实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的方法。

根据本实施例的计算机可读存储介质,在设备重启时,将存储设备中存储的历史数据的第一位置信息集写入内存中,若存储设备中存在更新数据,则将存储设备中与更新数据对应存储的更新数据的位置信息写入内存中,并根据第一位置信息集和更新数据的位置信息,在内存中生成第二位置信息集,并存储至存储设备中。通过结合历史数据的第一位置信息集与从日志获得更新数据的位置信息,可以快速在内存中构建完整的位置信息,不仅保证了空间分配信息的完整性,还在减少io的基础上提高了重启速度。通过将历史数据与其相应的位置信息在存储设备中一起对应存储,即将空间分配信息与用户数据一起写入日志进行存储,有效减少了io次数,解决了现有技术空间分配信息与用户数据分离存储容易引人额外io,从而降低存储系统的性能的问题。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

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