数据存储方法及其装置、可读介质和系统制造方法及图纸

技术编号:24496998 阅读:22 留言:0更新日期:2020-06-13 03:26
本申请涉及数据存储领域,公开了一种数据存储方法及其装置、可读介质和系统。本申请中数据存储方法包括:获取待存储的数据;将待存储数据分成等大的多个存储数据块,并生成多个存储数据块的校验数据块,其中,校验数据块能够在多个存储数据块中的一个存储数据块丢失的情况下,恢复丢失的存储数据块;将多个存储数据块和校验数据块分别存储到不同存储器的存储域中。

Data storage method and its device, readable medium and system

【技术实现步骤摘要】
数据存储方法及其装置、可读介质和系统
本申请涉及数据存储领域,特别涉及一种数据存储方法及其装置、可读介质和系统。
技术介绍
副本存储和纠删码存储是两种常见的数据存储方式,副本存储是指,将数据按照一定比例和分配策略保存在其他节点上的存储技术。纠删码存储是指,将数据分割成片段,把冗余数据块扩展、编码,并将数据存储在不同存储节点的存储技术。副本存储方式可提升数据的安全性和可靠性,但是存在高冗余的问题,磁盘利用率低。而纠删码存储方式可以解决高冗余的问题,但是伴随着大量的计算,使得纠删码存储方式相比于副本存储方式来说,数据存入效率要低很多,而且纠删码存储常用于基于对象的云存储,而分布式系统存在网络不稳定的问题。
技术实现思路
本申请实施例提供了一种数据存储方法及其装置、可读介质和系统。本申请实施例提供的数据存储方法是通过磁盘阵列方式存储新数据,纠删码的方式存储老数据,实现了兼顾数据存储的吞吐量、可靠性和磁盘利用率。第一方面,本申请实施例提供了一种数据存储方法,包括:获取待存储的数据;将所述待存储数据分成等大的多个存储数据块,并生成所述多个存储数据块的校验数据块,其中,所述校验数据块能够在所述多个存储数据块中的一个存储数据块丢失的情况下,恢复所述丢失的存储数据块;将所述多个存储数据块和校验数据块分别存储到不同存储器的存储域中。在上述第一方面的一种可能的实现中,上述方法还包括:所述生成所述多个存储数据块的校验数据块,包括:通过对所述多个存储数据块进行异或运算,生成所述校验数据块。在上述第一方面的一种可能的实现中,上述方法还包括:判断所述多个存储数据块的存储时间是否大于时间阈值;在判断为大于时间阈值的情况下,将所述多个数据块对应的待存储的数据以纠删码的方式存储,并从对应的所述存储器的存储域中删除所述多个数据块和校验数据块。在上述第一方面的一种可能的实现中,上述方法还包括:判断所述多个存储数据块的访问频率是否大于频率阈值;在判断为大于频率阈值的情况下,将所述多个数据块对应的待存储的数据以纠删码的方式存储,并从对应的所述存储器的存储域中删除所述多个数据块和校验数据块。在上述第一方面的一种可能的实现中,上述方法还包括:每个存储器包括多个存储域。第二方面,本申请实施例提供了一种数据存储装置,包括:接收模块,用于获取待存储的数据;生成模块,用于将所述待存储数据分成等大的多个存储数据块,并生成所述多个存储数据块的校验数据块,其中,所述校验数据块能够在所述多个存储数据块中的一个存储数据块丢失的情况下,恢复所述丢失的存储数据块;第一存储模块,用于将所述多个存储数据块和校验数据块分别存储到不同存储器的存储域中。在上述第二方面的一种可能的实现中,上述装置还包括:所述生成模块通过以下方式生成所述多个存储数据块的校验数据块,包括:通过对所述多个存储数据块进行异或运算,生成所述校验数据块。在上述第二方面的一种可能的实现中,上述装置还包括:第一判断模块,用于判断所述多个存储数据块的存储时间是否大于时间阈值;第二存储模块,用于在判断为大于时间阈值的情况下,将所述多个数据块对应的待存储的数据以纠删码的方式存储,并从对应的所述存储器的存储域中删除所述多个数据块和校验数据块。在上述第二方面的一种可能的实现中,上述装置还包括:第二判断模块,用于判断所述多个存储数据块的存储时间是否大于频率阈值;第二存储模块,用于在判断为大于频率阈值的情况下,将所述多个数据块对应的待存储的数据以纠删码的方式存储,并从对应的所述存储器的存储域中删除所述多个数据块和校验数据块。在上述第二方面的一种可能的实现中,上述装置还包括:所述每个所述存储器包括多个存储域。第三方面,本申请实施例提供了一种机器可读介质,所述机器可读介质上存储有指令,该指令在机器上执行时使机器执行上述任一方面的数据存储方法。第四方面,本申请实施例提供了一种系统,所述系统包括:存储器,用于存储由系统的一个或多个处理器执行的指令,以及处理器,是系统的处理器之一,用于执行上述任一方面的数据存储方法。附图说明图1根据本申请的一些实施例,示出了一种数据存储系统的系统示意图。图2根据本申请的一些实施例,示出了一种服务器结构示意图。图3根据本申请的一些实施例,示出了一种磁盘阵列示意图。图4根据本申请的一些实施例,示出了一种数据存储方法的流程图。图5根据本申请的一些实施例,示出了一种系统的框图。图6根据本申请一些实施例,示出了一种片上系统(SoC)的框图。具体实施例本申请的说明性实施例包括但不限于数据存储方法及其装置、可读介质和系统。可以理解,如本文所使用的,术语“模块””可以指代或者包括专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用、或群组)和/或存储器、组合逻辑电路、和/或提供所描述的功能的其他适当硬件组件,或者可以作为这些硬件组件的一部分。可以理解,在本申请各实施例中,处理器可以是微处理器、数字信号处理器、微控制器等,和/或其任何组合。根据另一个方面,所述处理器可以是单核处理器,多核处理器等,和/或其任何组合。下面将结合附图对本申请的实施例作进一步地详细描述。根据本申请的一些实施例,图1公开了本申请的一种数据存储系统的系统图。如图1所示,系统100包括摄像头101和服务器102,后续说明以实时存储摄像头101拍摄的监控视频为例。如图2所示,服务器102由接收模块201和多个存储器202组成,多个存储器202可以组成磁盘阵列203和磁盘组204,其中,接收模块201接收摄像头101发送的视频数据的存储指令,根据存储指令首先将视频数据存储在磁盘阵列203中,一段时间以后,如果磁盘阵列203中的部分视频数据的存储时间大于时间阈值或者视频数据的访问频率低于频率阈值,则该部分视频数据将以纠删码的方式存储在磁盘组204中,同时该部分视频数据从磁盘阵列203相应的存储区域删除。需要说明的是,图1中虽然示出了5个摄像头101,但实际的应用场景中可以包括任意数量的摄像头,而且应用场景中除了摄像头外还可以是其他数据采集装置,例如手机等,待存储数据除了可以是视频外,还可以是符号、文字、数字、语音和图像等。需要说明的是,本实施例的存储器不限于磁盘,还可以包括软盘、硬盘、光盘等其他可擦除、非易失性存储器,在此不作限制。下面具体说明摄像头101将视频数据存储到磁盘阵列203中的过程,包括:首先将视频数据分成连续多个大小相等的视频块数据,然后通过多个存储数据块的异或运算生成检验块数据,最后将多个视频块数据和检验块数据分别存储在磁盘阵列的不同硬盘中。如图3所示,磁盘阵列203中包含4个硬盘,分别为硬盘1,硬盘2,硬盘3和硬盘4,并且在一个条带中,分为3个数据本文档来自技高网...

【技术保护点】
1.一种数据存储方法,其特征在于,包括:/n获取待存储的数据;/n将所述待存储数据分成等大的多个存储数据块,并生成所述多个存储数据块的校验数据块,其中,所述校验数据块能够在所述多个存储数据块中的一个存储数据块丢失的情况下,恢复所述丢失的存储数据块;/n将所述多个存储数据块和校验数据块分别存储到不同存储器的存储域中。/n

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:
获取待存储的数据;
将所述待存储数据分成等大的多个存储数据块,并生成所述多个存储数据块的校验数据块,其中,所述校验数据块能够在所述多个存储数据块中的一个存储数据块丢失的情况下,恢复所述丢失的存储数据块;
将所述多个存储数据块和校验数据块分别存储到不同存储器的存储域中。


2.根据权利要求1所述的方法,其特征在于,所述生成所述多个存储数据块的校验数据块,包括:
通过对所述多个存储数据块进行异或运算,生成所述校验数据块。


3.根据权利要求1所述的方法,其特征在于,还包括:
判断所述多个存储数据块的存储时间是否大于时间阈值;
在判断为大于时间阈值的情况下,将所述多个数据块对应的待存储的数据以纠删码的方式存储,并从对应的所述存储器的存储域中删除所述多个数据块和校验数据块。


4.根据权利要求1所述的方法,其特征在于,还包括:
判断所述多个存储数据块的访问频率是否大于频率阈值;
在判断为大于频率阈值的情况下,将所述多个数据块对应的待存储的数据以纠删码的方式存储,并从对应的所述存储器的存储域中删除所述多个数据块和校验数据块。


5.根据权利要求1至4中任一项所述的方法,其特征在于,所述每个所述存储器包括多个存储域。


6.一种数据存储...

【专利技术属性】
技术研发人员:李红旺吴永军江旭楷
申请(专利权)人:上海依图网络科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1