本申请涉及计算机,尤其涉及数据存储方法、系统、装置、设备及介质。
背景技术:
1、随着计算机技术的快速发展,数据存储需求越来越多。分布式存储系统得到了广泛的应用。
2、随着存储系统的存储规模的扩大,存储数据安全问题越来越需要重视。当存储规模很大时,难免因为某个存储设备故障导致数据丢失。在确保存储系统中数据存储安全的同时又要兼顾数据存储成本,在现有技术中广泛采用纠删码技术。通常在内存中对原始数据块进行编码处理,在编码纠删码的过程中,只有被写满的目标条带才会被转存到存储节点进行存储。目标条带越宽,在编码过程中原始数据块所占用的内存空间越大。而且有的原始数据块是随机生成的,也就意味着有的目标条带等待写满的时间是不确定的,对内存空间占用的时长也是不确定的,可能会出现很多等待写满的目标条带占用大量内存空间。
技术实现思路
1、为解决或改善现有技术中存在的问题,本申请各实施例提供了数据存储方法、系统、装置、设备及介质。
2、第一方面,在本申请的一个实施例中,提供了一种数据存储方法。该方法包括:
3、接收归属于目标条带的待存储的第一原始数据块;
4、当所述第一原始数据块满足编码条件时,对所述第一原始数据块进行编码;
5、将执行完编码的所述第一原始数据块从内存转存到第一存储节点,以及将执行完编码得到的第一校验数据块存储在内存。
6、第二方面,本申请的一个实施例中,提供了一种数据存储系统,包括:
7、客户端,向存储设备发送待存储的原始数据;
8、所述存储设备,包括内存和存储节点,用于执行第一方面所述的方法对所述原始数据对应的纠删码数据条带进行数据存储。
9、第三方面,在本申请的一个实施例中,提供了一种数据存储装置,所述装置包括:
10、接收模块,用于接收归属于目标条带的待存储的第一原始数据块;
11、编码模块,用于当所述第一原始数据块满足编码条件时,对所述第一原始数据块进行编码;
12、存储模块,用于将执行完编码的所述第一原始数据块从内存转存到第一存储节点,以及将执行完编码得到的第一校验数据块存储在内存。
13、第四方面,在本申请的一个实施例中,提供了一种电子设备,包括存储器及处理器;其中,
14、所述存储器,用于存储程序;
15、所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于实现第一方面所述的数据存储方法。
16、第五方面,在本申请的一个实施例中,提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如第一方面所述的数据存储方法。
17、本申请实施例提供的技术方案,在对纠删码条带中的原始数据块及校验数据块进行存储的时候,当接收到一个归属于目标条带的待存储的第一原始数据块的时候,就可以对其进行编码处理,得到第一校验数据块。刚接收到的第一纠删码和第一校验数据块都是存储到内存当中的,由于本方案中不需要等待目标条带中所有原始数据块都集齐就可以执行编码处理,并将执行完成编码的第一原始数据块从内存转存到存储节点中进行存储,原始数据块将不会再占用内存空间,能够有效减少原始数据块存储过程中对内存空间的资源占用,并且还能够确保原始数据块和校验数据块都得到安全存储。
1.一种数据存储方法,应用于存储设备,所述方法包括:
2.根据权利要求1所述的方法,还包括:
3.根据权利要求2所述的方法,所述将执行完编码得到的第二校验数据块存储与所述第一校验数据块合并存储在内存,包括:
4.根据权利要求3所述的方法,将所述第三校验数据块替换所述第一校验数据块并存储在内存中之后,还包括:
5.根据权利要求4所述的方法,所述将所述第三校验数据块从内存转存到存储节点,包括:
6.根据权利要求1所述的方法,接收归属于目标条带的待存储的第一原始数据块之前,还包括:
7.根据权利要求1所述的方法,所述当所述第一原始数据块满足编码条件时,对所述第一原始数据块进行编码,包括:
8.根据权利要求1所述的方法,所述将执行完编码的所述第一原始数据块从内存转存到第一存储节点,包括:
9.根据权利要求3所述的方法,所述对所述第一校验数据块和所述第二校验数据块进行合并处理,得到第三校验数据块,包括:
10.一种数据存储系统,所述系统包括:
11.一种数据存储装置,所述装置包括:
12.一种电子设备,包括存储器及处理器;其中,
13.一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至9中任一项所述的方法。