技术新讯 > 计算推算,计数设备的制造及其应用技术 > 数据写入的方法、装置、存储介质及电子设备与流程  >  正文

数据写入的方法、装置、存储介质及电子设备与流程

  • 国知局
  • 2025-01-17 13:11:46

本技术实施例涉及计算机领域,具体而言,涉及一种数据写入的方法、装置、计算机可读存储介质及电子设备。

背景技术:

1、随着科技的快速发展,互联网的数据量变得越来越大,与此同时,数据也在不断地更新。为了应对海量数据的场景,分布式存储系统逐渐受到广泛的应用,分布式存储系统通常采用映射关系来将数据对象映射到存储介质上的物理位置,实现数据的存储,而随着数据的快速更新以及分布式存储系统中存在大量的业务对象,映射关系也需要频繁进行更新。

2、相关技术中,在需要更新映射关系时,为了保证映射关系更新的正确性和一致性,所以映射关系的更新包括数据读取和数据更新两个过程,首先需要读取现有的映射关系,然后对现有的映射关系进行更新后,再重新写入存储系统中。

3、然而,现有技术的方式,在更新映射关系的过程中存在大量的数据读取和写入的操作,对于计算资源的消耗过大。

技术实现思路

1、本技术实施例提供了一种数据写入的方法、装置、计算机可读存储介质及电子设备,能够。

2、根据本技术的一个实施例,提供了一种数据写入的方法,所述方法包括:获取待写入的数据块,其中,所述数据块包括至少一个数据单元,所述数据单元的大小小于预设大小,所述数据单元用于指示映射关系;读取所述数据块中的映射关系的写入状态信息;其中,所述写入状态信息用于指示待写入所述数据单元的存储池的目标位置是否存在包含所述映射关系的数据;在根据所述写入状态信息确定所述目标位置存在包含所述映射关系的数据的情况下,将所述数据单元写入所述目标位置以更新所述映射关系。

3、在一个示例性的实施例中,在所述读取所述数据块中的映射关系的写入状态信息之后,数据写入的方法还包括:在根据所述写入状态信息确定所述目标位置未存在包含所述映射关系的数据的情况下,将所述数据单元写入所述目标位置,以在所述目标位置增加所述映射关系。

4、在一个示例性的实施例中,在所述在根据所述写入状态信息确定所述目标位置未存在包含所述映射关系的数据的情况下,将所述数据单元写入所述目标位置之后,数据写入的方法还包括:更新所述目标位置的所述写入状态信息,其中,更新后的所述目标位置的所述写入状态信息用于指示所述目标位置存在包含所述映射关系的数据。

5、在一个示例性的实施例中,数据写入的方法包括:在更新所述目标位置的所述映射关系的情况下,确定所述存储池的容量不变;在所述目标位置增加了所述映射关系的情况下,根据增加的所述数据单元的大小,更新所述存储池的容量。

6、在一个示例性的实施例中,在所述读取所述数据块中的映射关系的写入状态信息,之后,数据写入的方法还包括:

7、在确定所述数据块中的映射关系的写入状态信息不存在的情况下,在所述数据块中增加初始的扩展数据,其中,所述扩展数据用于记录所述数据块的写入状态信息,所述初始的扩展数据中的每一比特位均为第一状态;

8、将所述数据块划分为多个所述数据单元;

9、将所述扩展数据划分为多个子扩展数据,其中,所述多个子扩展数据的数量与多个所述数据单元的数量相同,每一所述子扩展数据包括至少一个比特位;

10、将多个所述数据单元中的第一数据单元写入所述存储池,其中,所述第一数据单元为多个所述数据单元中的任意一个数据单元;

11、在第一数据单元写入所述存储池之后,确定所述第一数据单元在所述存储池中的第一位置;

12、基于所述第一数据单元在所述存储池中的第一位置,在所述多个子扩展数据中确定对应所述第一位置的第一子扩展数据,其中,所述第一子扩展数据用于指示所述存储池的第一位置是否存在包含所述映射关系的数据;

13、将所述第一子扩展数据的比特位的状态修改为第二状态,其中,所述第二状态与所述第一状态不同;

14、确定多个所述数据单元是否均已写入所述存储池;

15、在确定多个所述数据单元中存在至少一个未写入所述存储池的第二数据单元的情况下,将一个所述第二数据单元作为新的第一数据单元并返回执行所述将多个所述数据单元中的第一数据单元写入所述存储池的步骤,直到多个所述数据单元均写入所述存储池;

16、在多个所述数据单元均写入所述存储池之后,根据多个所述数据单元分别对应的子扩展数据,得到所述数据块中的映射关系的写入状态信息。

17、在一个示例性的实施例中,所述映射关系为正向关系和反向关系中的至少一种,其中,所述正向关系为所述存储池的业务对象到内部对象之间的关系,所述反向关系为所述存储池的内部对象到业务对象之间的关系。

18、在一个示例性的实施例中,在所述将所述数据单元写入所述目标位置以更新所述映射关系之后,所述方法还包括:记录所述目标位置的写入状态信息;调用对应的传输接口,将所述目标位置的写入状态信息存储到所述存储池中。

19、根据本技术实施例的另一个实施例,还提供一种数据写入的装置,所述装置包括:

20、数据获取模块,用于获取待写入的数据块,其中,所述数据块包括至少一个数据单元,所述数据单元的大小小于预设大小,所述数据单元用于指示映射关系;

21、信息读取模块,用于读取所述数据块中的映射关系的写入状态信息;其中,所述写入状态信息用于指示待写入所述数据单元的存储池的目标位置是否存在包含所述映射关系的数据;

22、数据写入模块,用于在根据所述写入状态信息确定所述目标位置存在包含所述映射关系的数据的情况下,将所述数据单元写入所述目标位置以更新所述映射关系。

23、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

24、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

25、根据本技术的又一个实施例,还提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。

26、通过本技术的数据写入的方法,首先获取待写入的数据块,数据块包括至少一个数据单元,数据单元的大小小于预设大小,数据单元用于指示映射关系,从而在需要写入映射关系或者更新映射关系的时候,以数据单元为单位进行映射关系的写入或更新,由于数据单元较小,所以可以只进行小数据量的写入,减少了不必要的数据读写。然后读取数据块中的映射关系的写入状态信息,写入状态信息用于指示待写入数据单元的存储池的目标位置是否存在包含映射关系的数据,从而通过在数据块中引入写入状态信息,能够使得系统能够快速识别出存储池的目标位置是否存在包含映射关系的数据,无需读取存储池中已有的映射关系。在根据写入状态信息确定目标位置存在包含映射关系的数据的情况下,将数据单元写入目标位置以更新映射关系。综上,采用本技术的方法,一方面采用小于预设大小的数据单元作为数据处理的单元,在进行数据写入时,能够针对所需的位置,仅处理少部分数据,提高写入效率且节省计算资源。另一方面,通过写入状态信息可以方便快捷的识别存储池的目标位置是否存在包含映射关系的数据,无需读取存储池中的映射关系,省去了读取的动作,节省了计算资源。

本文地址:https://www.jishuxx.com/zhuanli/20250117/356397.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。