CN112131049A - 基于云存储的数据存储方法、装置、计算机设备及存储介质 - Google Patents
基于云存储的数据存储方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112131049A CN112131049A CN202011015397.3A CN202011015397A CN112131049A CN 112131049 A CN112131049 A CN 112131049A CN 202011015397 A CN202011015397 A CN 202011015397A CN 112131049 A CN112131049 A CN 112131049A
- Authority
- CN
- China
- Prior art keywords
- files
- data
- storage
- backed
- cloud
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013500 data storage Methods 0.000 title claims abstract description 35
- 238000012795 verification Methods 0.000 claims abstract description 75
- 238000013467 fragmentation Methods 0.000 claims abstract description 51
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 51
- 238000005516 engineering process Methods 0.000 abstract description 5
- 239000012634 fragment Substances 0.000 description 28
- 238000011084 recovery Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及云技术,提供了一种基于云存储的数据存储方法、装置、计算机设备及存储介质。该方法将待备份数据切分为n个分片文件,n为大于或等于2的正整数;根据所述n个分片文件,生成m个校验文件,m为正整数;根据所述待备份数据的访问频率、所述待备份数据的生成时间及所述计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第一存储模式或第二存储模式存储,其中,所述第一存储模式为:将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库,所述第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库。本发明可以降低存储成本。
Description
技术领域
本发明涉及云技术,尤其涉及一种基于云存储的数据存储方法、装置、计算机设备及存储介质。
背景技术
随着云计算的发展,越来越多的用户将数据以混合云的方式存储,以达到异地容灾的效果。其中,最常见的是使用混合云网关产品,实现数据的存储复制。相关技术中,混合云网关产品一般采用“本地数据库+公有云”的模式,即只本地数据库存储一份原始数据,公有云上镜像存储一份备份数据。这样虽然实现了数据容灾备份,但将一份完整的备份数据存储在公有云,一旦原始数据和备份数据都发生损毁,则无法实现数据修复。
发明内容
鉴于以上内容,本发明提供一种基于云存储的数据存储方法、装置、计算机设备及存储介质,其目的在于解决现有技术中一旦原始数据和备份数据都发生损毁,则无法实现数据修复的问题。
为实现上述目的,本发明提供一种基于云存储的数据存储方法,该方法包括:
将待备份数据切分为n个分片文件,n为大于或等于2的正整数;
根据所述n个分片文件,生成m个校验文件,m为正整数;
根据所述待备份数据的访问频率、所述待备份数据的生成时间及所述计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第一存储模式或第二存储模式存储,其中,所述第一存储模式为:将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库,所述第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库。
在其中一实施例中,根据所述待备份数据的访问频率、所述待备份数据的生成时间及所述计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第一存储模式存储,包括:
计算所述计算机设备的当前时间与所述待备份数据的生成时间之间的差值;
当所述差值小于或等于预设值,或者,所述差值大于预设值但所述待备份数据的访问频率大于预设频率时,将所述n个分片文件和所述m个校验文件按所述第一存储模式存储。
在其中一实施例中,将所述n个分片文件和所述m个校验文件按所述第一存储模式存储之后,所述方法还包括:
每隔预设的周期时间,判断所述n个分片文件的访问频率是否小于或等于所述预设频率,当判断结果为小于或等于所述预设频率时,将所述n个分片文件转移至所述云端数据库存储。
在其中一实施例中,根据所述待备份数据的访问频率、所述待备份数据的生成时间及所述计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第二存储模式存储,包括:
计算所述计算机设备的当前时间与所述待备份数据的生成时间之间的差值;
当所述差值大于预设值及/或所述待备份数据的访问频率小于或等于预设频率时,将所述n个分片文件和所述m个校验文件按所述第二存储模式存储。
在其中一实施例中,所述将n个分片文件和所述m个校验文件按所述第二存储模式存储之后,所述方法还包括:
判断所述分片文件和/或校验文件的访问频率是否大于所述预设频率,当判断结果为是时,将所述n个分片文件转移至所述本地数据库存储。
在其中一实施例中,所述将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库,包括:
将所述n个分片文件存储至本地数据库,将所述m个校验文件存储到一个或多个云端数据库,任意一个所述云端数据库存储的校验文件的数量小于n。
在其中一实施例中,所述将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库,包括:
将所述n个分片文件和所述m个校验文件存储到至少三个云端数据库,任意一个所述云端数据库存储的分片文件和/或校验文件的数量小于n。
为实现上述目的,本发明还提供一种基于云存储的数据存储装置,所述装置包括:
切分模块:用于将待备份数据切分为n个分片文件,n为大于或等于2的正整数;
生成模块:用于根据所述n个分片文件,生成m个校验文件,m为正整数;
存储模块:用于根据所述待备份数据的访问频率、所述待备份数据的生成时间及计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第一存储模式或第二存储模式存储,其中,所述第一存储模式为:将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库,所述第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库。
为实现上述目的,本发明还提供一种计算机设备,所述计算机设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的基于云存储的数据存储方法。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有数据存储程序,所述数据存储程序被处理器执行时,实现如上所述的基于云存储的数据存储方法的步骤。
本发明提出的基于云存储的数据存储方法、装置、计算机设备及存储介质,将待备份数据切分为n个分片文件,根据n个分片文件,生成m个校验文件,根据待备份数据的访问频率、待备份数据的生成时间及计算机设备的当前时间,将n个分片文件存储至本地数据库、m个校验文件存储到云端数据库,或者,将n个分片文件和m个校验文件存储到至少两个云端数据库,实现了数据容灾备份。即使分片文件和校验文件都损坏,只要两者损坏数量的总和小于或等于m,仍能恢复数据。
附图说明
图1为本发明计算机设备较佳实施例的示意图;
图2为图1中基于云存储的数据存储装置较佳实施例的模块示意图;
图3为本发明基于云存储的数据存储方法较佳实施例的流程图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1所示,为本发明计算机设备1较佳实施例的示意图。
该计算机设备1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述计算机设备1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System of Mobilecommunication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述计算机设备1的内部存储单元,例如该计算机设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述计算机设备1的外部存储设备,例如该计算机设备1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器11还可以既包括所述计算机设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述计算机设备1的操作***和各类应用软件,例如数据存储程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述计算机设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行数据存储程序10的程序代码等。
显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-EmittingDiode,OLED)触摸器等。显示器13用于显示在计算机设备1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口14通常用于在所述计算机设备1与其它计算机设备之间建立通信连接。
图1仅示出了具有组件11-14以及数据存储程序10的计算机设备1和云端数据库2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,所述计算机设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机设备1中处理的信息以及用于显示可视化的用户界面。
该计算机设备1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
在上述实施例中,处理器12执行存储器11中存储的数据存储程序10时可以实现如下步骤:
将待备份数据切分为n个分片文件,n为大于或等于2的正整数;
根据所述n个分片文件,生成m个校验文件,m为正整数;
根据所述待备份数据的访问频率、所述待备份数据的生成时间及所述计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第一存储模式或第二存储模式存储,其中,所述第一存储模式为:将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库2,所述第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库2。
关于上述步骤的详细介绍,请参照下述图2关于基于云存储的数据存储装置100实施例的功能模块图以及图3关于基于云存储的数据存储方法实施例的流程图的说明。
参照图2所示,为本发明基于云存储的数据存储装置100的功能模块图。
本发明所述基于云存储的数据存储装置100可以安装于计算机设备中。根据实现的功能,所述基于云存储的数据存储装置100可以包括切分模块110、生成模块120、及存储模块130。本发所述模块也可以称之为单元,是指一种能够被计算机设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在计算机设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
切分模块110,用于将待备份数据切分为n个分片文件,n为大于或等于2的正整数。
在本实施例中,利用数据切片算法将待备份数据切分为n个分片文件,数据切片算法例如哈希算法、取模算法、区间范围算法等。当然也可采用等分等其他方式将待备份数据切分为n个分片文件。n为大于或等于2的正整数,例如2、3、4等。
进一步地,由待备份数据切分出的各个分片文件的大小相同,例如,待备份数据的大小为100k,将待备份数据切分为两个分片文件,两个分片文件的大小均为50k。
生成模块120,用于根据所述n个分片文件,生成m个校验文件,m为正整数。
在本实施例中,利用纠删码可以根据n个分片文件生成m个校验文件。纠删码是一种编码技术,它可以将n个分片文件,增加m个校验文件,并能通过n+m个分片文件和校验文件中的任意n个分片文件和/或校验文件,还原为待备份数据。即如果有任意小于或等于m个的分片文件和/或校验文件失效,仍然能通过至少n个未失效的分片文件和/或校验文件将带备份数据还原出来。m为正整数,例如1、2、3、4等。n和m相互独立,例如n取5时,m取2;或者,n取2时,m取5。
进一步地,生成的每个校验文件的大小与每个分片文件的大小相同,所述m小于所述n。例如,n取2,m取1,待备份数据的大小为100k,存储到同一本地数据库的2个分片文件相当于一个原始的待备份数据,2个分片文件的大小为100k,校验文件的大小为50k,分片文件和校验文件的总大小为150k;根据现有技术中的镜像备份的方案,原始的待备份数据为100k,备份数据为100k,总存储大小为200k,而本申请技术方案的存储大小为现有技术的0.75倍,降低了存储成本。当然,分片文件和校验文件也可采用其他组合方式,例如5个分片文件和2个校验文件,待备份数据的大小为100k,此时每个分片文件的大小均为20k,每个校验文件的大小均为20k,分片文件和校验文件的总和大小为140k,也可降低存储成本。用户可根据实际需要设置分片文件和校验文件的数量。如此,相较于本地数据库存储一份原始数据且公有云上镜像存储一份备份数据的方案,本申请的技术方案占用的存储空间较小,存储成本较低。
存储模块130,用于根据所述待备份数据的访问频率、所述待备份数据的生成时间及计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第一存储模式或第二存储模式存储,其中,所述第一存储模式为:将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库2,所述第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库2。
在本实施例中,获取所述待备份数据的访问频率、所述待备份数据的生成时间和计算机设备的当前时间,根据所述待备份数据的访问频率、所述待备份数据的生成时间和计算机设备的当前时间,可以判断出待备份数据的冷热程度。根据待备份数据的冷热程度,将所述n个分片文件和所述m个校验文件按第一存储模式或第二存储模式存储。
具体地,计算所述待备份数据的生成时间与计算机设备的当前时间之间的差值。当所述差值小于或等于预设值,或者,所述差值大于预设值但所述待备份数据的访问频率大于预设频率时,说明待备份数据的热度较高,所述待备份数据将来被访问的可能性较高,将所述n个分片文件和所述m个校验文件按所述第一存储模式存储。其中,待备份数据的访问频率可以为待备份数据产生以来的平均访问频率,也可以是距离计算机设备的当前时间最近的单位时间内的访问次数。
例如,预设值设定为10天,待备份数据的生成时间为2020年4月1日,计算机设备的当前时间为2020年4月3日,则两者的差值为2天,差值小于预设值,将所述n个分片文件和所述m个校验文件按所述第一存储模式存储。再例如,预设值设定为10天,待备份数据的生成时间为2020年4月1日,计算机设备的当前时间为2020年4月15日,则两者的差值为14天,差值大于预设值;预设频率为1个月2次,待备份数据的访问频率为1个月3次,将所述n个分片文件和所述m个校验文件按所述第一存储模式存储。
当所述差值大于预设值及/或所述待备份数据的访问频率小于或等于预设频率时,说明待备份数据的热度较低,所述待备份数据将来被访问的可能性较低,将所述n个分片文件和所述m个校验文件按所述第二存储模式存储。
例如,预设值设定为10天,待备份数据的生成时间为2020年4月1日,计算机设备的当前时间为2020年4月15日,则两者的差值为14天,差值大于预设值;预设频率为1个月2次,待备份数据的访问频率为1个月1次,访问频率小于预设频率,则将所述n个分片文件和所述m个校验文件按所述第二存储模式存储。
其中,所述第一存储模式为:将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库2。具体地,将所有的分片文件均存储至同一本地数据库,相当于将一份完整的待备份数据存储到一个本地数据库。如此,所有的分片文件存放在同一本地数据库,数据读响应时间较快,利于及时读取。将m个校验文件存储到一个或多个云端数据库2中。
进一步地,任意一个所述云端数据库2存储的校验文件的数量小于n,以降低待备份数据泄露的风险。例如,当n为3且m为4时,将其中两个校验文件存储到一个云端数据库2中,将剩余两个校验文件存储到另一个云端数据库2中。
所述第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库2。如此,利用云端数据库2存储所有的分片文件和校验文件,存储成本较低。
具体地,第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少三个云端数据库2,任意一个所述云端数据库2存储的分片文件和/或校验文件的数量小于n。换言之,对于存储有分片文件和所述校验文件的云端数据库2,则其存储的分片文件和所述校验文件的数量总和小于n;对于只存储有分片文件的云端数据库2,则其存储的分片文件的数量小于n;对于只存储有校验文件的云端数据库2,则其存储的校验文件的数量小于n。
例如,当n为3且m为2时,采用三个云端数据库2进行存储,具体地,将其中一个分片文件和其中一个校验文件存储到一个云端数据库2中,将另一个分片文件和另一个校验文件存储到另一个云端数据库2中,将剩余的一个分片文件存储到剩余的一个云端数据库2中。或者,将两个校验文件存储到一个云端数据库2中,将其中两个分片文件存储到另一个云端数据库2中,将剩余的一个分片文件存储到剩余的一个云端数据库2中。
进一步地,将每个所述分片文件和每个所述校验文件分别存储至不同的所述云端数据库2。如此,提高了异地容灾的效果。
需要指出的是,所述将n个分片文件和所述m个校验文件按所述第一存储模式存储之后,每隔预设的周期时间,判断所述n个分片文件的访问频率是否小于或等于所述预设频率,当判断结果为所述n个分片文件的访问频率小于或等于所述预设频率时,将所述n个分片文件从所述本地数据库转移至所述云端数据库2存储。当然,当判断结果为所述n个分片文件的访问频率大于所述预设频率时,所述n个分片文件继续存储在所述本地数据库中。
可以理解的是,一般来说,访问分片文件是为了恢复带备份数据,当需要恢复待备份数据时,访问n个分片文件,利用纠删码,可以根据n个分片文件恢复所述待备份数据。所述分片文件的访问频率小于或等于所述预设频率,说明分片文件将来被还原成待备份数据的可能性较低;将所述n个分片文件从本地数据库转移至所述云端数据库2存储,降低存储成本。
其中,所述n个分片文件的访问频率可以为分片文件产生以来利用分片文件恢复所述带备份数据的访问频率,也可以是距离计算机设备的当前时间最近的单位时间内利用分片文件恢复所述带备份数据的次数,还可以是结合待备份数据的访问频率进一步计算出来的频率。
将n个分片文件从所述本地数据库转移至云端数据库2存储之后,获取所述分片文件和/或校验文件的访问频率,判断所述分片文件和/或校验文件的访问频率是否大于所述预设频率,当判断结果为是时,将所述n个分片文件从云端数据库2转移至本地数据库中存储;当判断结果为否时,将所述n个分片文件继续存储在云端数据库2中。
可以理解的是,一般来说,访问分片文件和/或校验文件是为了恢复带备份数据,当需要恢复待备份数据时,访问至少n个分片文件和/或校验文件,利用纠删码,可以根据至少n个分片文件和/或校验文件恢复所述待备份数据。所述分片文件和/或校验文件的访问频率大于所述预设频率,说明分片文件和/或校验文件将来被还原成待备份数据的可能性较高;将所述n个分片文件从所述云端数据库2转移至本地数据库存储,利于用户通过本地数据库中的分片文件快速恢复出原始的待备份数据。
其中,所述分片文件和/或校验文件的访问频率可以为分片文件和/或校验文件产生以来利用分片文件和/或校验文件恢复所述带备份数据的频率,也可以是距离计算机设备的当前时间最近的单位时间内的利用分片文件和/或校验文件恢复所述带备份数据的次数,还可以是结合待备份数据的访问频率进一步计算出来的频率。
将所述n个分片文件和所述m个校验文件按所述第二存储模式存储之后,获取分片文件和/或校验文件的访问频率,当分片文件和/或校验文件的访问频率大于所述预设频率时,将所述n个分片文件从所述云端数据库2转移至本地数据库中存储。当然,当分片文件和/或校验文件的访问频率小于或等于所述预设频率时,将分片文件和校验文件继续存储于云端数据库2中。
将所述n个分片文件从所述云端数据库2转移至本地数据库中存储之后,获取所述n个分片文件的访问频率,判断所述n个分片文件的访问频率是否大于所述预设频率,当判断结果为是时,将所述n个分片文件继续存储在本地数据库中;当判断结果为否时,将所述n个分片文件从本地数据库转移至云端数据库2中存储。
本发明提出的基于云存储的数据存储装置,将待备份数据切分为n个分片文件,根据n个分片文件,生成m个校验文件,根据待备份数据的访问频率、待备份数据的生成时间及计算机设备的当前时间,将n个分片文件存储至本地数据库、m个校验文件存储到云端数据库2,或者,将n个分片文件和m个校验文件存储到至少两个云端数据库2,实现了数据容灾备份。即使分片文件和校验文件都损坏,只要两者损坏数量的总和小于或等于m,仍能恢复数据。
此外,本发明还提供一种基于云存储的数据存储方法,该方法应用于计算机设备。参照图3所示,为本发明基于云存储的数据存储方法的实施例的方法流程示意图。计算机设备1的处理器12执行存储器11中存储的数据存储程序10时实现基于云存储的数据存储方法的如下步骤:
步骤S10:将待备份数据切分为n个分片文件,n为大于或等于2的正整数。
在本实施例中,利用数据切片算法将待备份数据切分为n个分片文件,数据切片算法例如哈希算法、取模算法、区间范围算法等。当然也可采用等分等其他方式将待备份数据切分为n个分片文件。n为大于或等于2的正整数,例如2、3、4等。
进一步地,由待备份数据切分出的各个分片文件的大小相同,例如,待备份数据的大小为100k,将待备份数据切分为两个分片文件,两个分片文件的大小均为50k。
步骤S20:根据所述n个分片文件,生成m个校验文件,m为正整数。
在本实施例中,利用纠删码可以根据n个分片文件生成m个校验文件。纠删码是一种编码技术,它可以将n个分片文件,增加m个校验文件,并能通过n+m个分片文件和校验文件中的任意n个分片文件和/或校验文件,还原为待备份数据。即如果有任意小于或等于m个的分片文件和/或校验文件失效,仍然能通过至少n个未失效的分片文件和/或校验文件将带备份数据还原出来。m为正整数,例如1、2、3、4等。n和m相互独立,例如n取5时,m取2;或者,n取2时,m取5。
进一步地,生成的每个校验文件的大小与每个分片文件的大小相同,所述m小于所述n。例如,n取2,m取1,待备份数据的大小为100k,存储到同一本地数据库的2个分片文件相当于一个原始的待备份数据,2个分片文件的大小为100k,校验文件的大小为50k,分片文件和校验文件的总大小为150k;根据现有技术中的镜像备份的方案,原始的待备份数据为100k,备份数据为100k,总存储大小为200k,而本申请技术方案的存储大小为现有技术的0.75倍,降低了存储成本。当然,分片文件和校验文件也可采用其他组合方式,例如5个分片文件和2个校验文件,待备份数据的大小为100k,此时每个分片文件的大小均为20k,每个校验文件的大小均为20k,分片文件和校验文件的总和大小为140k,也可降低存储成本。用户可根据实际需要设置分片文件和校验文件的数量。如此,相较于本地数据库存储一份原始数据且公有云上镜像存储一份备份数据的方案,本申请的技术方案占用的存储空间较小,存储成本较低。
步骤S30:根据所述待备份数据的访问频率、所述待备份数据的生成时间及计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第一存储模式或第二存储模式存储,其中,所述第一存储模式为:将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库2,所述第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库2。
在本实施例中,获取所述待备份数据的访问频率、所述待备份数据的生成时间和计算机设备的当前时间,根据所述待备份数据的访问频率、所述待备份数据的生成时间和计算机设备的当前时间,可以判断出待备份数据的冷热程度。根据待备份数据的冷热程度,将所述n个分片文件和所述m个校验文件按第一存储模式或第二存储模式存储。
具体地,计算所述待备份数据的生成时间与计算机设备的当前时间之间的差值。当所述差值小于或等于预设值,或者,所述差值大于预设值但所述待备份数据的访问频率大于预设频率时,说明待备份数据的热度较高,所述待备份数据将来被访问的可能性较高,将所述n个分片文件和所述m个校验文件按所述第一存储模式存储。其中,待备份数据的访问频率可以为待备份数据产生以来的平均访问频率,也可以是距离计算机设备的当前时间最近的单位时间内的访问次数。
例如,预设值设定为10天,待备份数据的生成时间为2020年4月1日,计算机设备的当前时间为2020年4月3日,则两者的差值为2天,差值小于预设值,将所述n个分片文件和所述m个校验文件按所述第一存储模式存储。再例如,预设值设定为10天,待备份数据的生成时间为2020年4月1日,计算机设备的当前时间为2020年4月15日,则两者的差值为14天,差值大于预设值;预设频率为1个月2次,待备份数据的访问频率为1个月3次,将所述n个分片文件和所述m个校验文件按所述第一存储模式存储。
当所述差值大于预设值及/或所述待备份数据的访问频率小于或等于预设频率时,说明待备份数据的热度较低,所述待备份数据将来被访问的可能性较低,将所述n个分片文件和所述m个校验文件按所述第二存储模式存储。
例如,预设值设定为10天,待备份数据的生成时间为2020年4月1日,计算机设备的当前时间为2020年4月15日,则两者的差值为14天,差值大于预设值;预设频率为1个月2次,待备份数据的访问频率为1个月1次,访问频率小于预设频率,则将所述n个分片文件和所述m个校验文件按所述第二存储模式存储。
其中,所述第一存储模式为:将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库2。具体地,将所有的分片文件均存储至同一本地数据库,相当于将一份完整的待备份数据存储到一个本地数据库。如此,所有的分片文件存放在同一本地数据库,数据读响应时间较快,利于及时读取。将m个校验文件存储到一个或多个云端数据库2中。
进一步地,任意一个所述云端数据库2存储的校验文件的数量小于n,以降低待备份数据泄露的风险。例如,当n为3且m为4时,将其中两个校验文件存储到一个云端数据库2中,将剩余两个校验文件存储到另一个云端数据库2中。
所述第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库2。如此,利用云端数据库2存储所有的分片文件和校验文件,存储成本较低。
具体地,第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少三个云端数据库2,任意一个所述云端数据库2存储的分片文件和/或校验文件的数量小于n。换言之,对于存储有分片文件和所述校验文件的云端数据库2,则其存储的分片文件和所述校验文件的数量总和小于n;对于只存储有分片文件的云端数据库2,则其存储的分片文件的数量小于n;对于只存储有校验文件的云端数据库2,则其存储的校验文件的数量小于n。
例如,当n为3且m为2时,采用三个云端数据库2进行存储,具体地,将其中一个分片文件和其中一个校验文件存储到一个云端数据库2中,将另一个分片文件和另一个校验文件存储到另一个云端数据库2中,将剩余的一个分片文件存储到剩余的一个云端数据库2中。或者,将两个校验文件存储到一个云端数据库2中,将其中两个分片文件存储到另一个云端数据库2中,将剩余的一个分片文件存储到剩余的一个云端数据库2中。
进一步地,将每个所述分片文件和每个所述校验文件分别存储至不同的所述云端数据库2。如此,提高了异地容灾的效果。
需要指出的是,所述将n个分片文件和所述m个校验文件按所述第一存储模式存储之后,每隔预设的周期时间,判断所述n个分片文件的访问频率是否小于或等于所述预设频率,当判断结果为所述n个分片文件的访问频率小于或等于所述预设频率时,将所述n个分片文件从所述本地数据库转移至所述云端数据库2存储。当然,当判断结果为所述n个分片文件的访问频率大于所述预设频率时,所述n个分片文件继续存储在所述本地数据库中。
可以理解的是,一般来说,访问分片文件是为了恢复带备份数据,当需要恢复待备份数据时,访问n个分片文件,利用纠删码,可以根据n个分片文件恢复所述待备份数据。所述分片文件的访问频率小于或等于所述预设频率,说明分片文件将来被还原成待备份数据的可能性较低;将所述n个分片文件从本地数据库转移至所述云端数据库2存储,降低存储成本。
其中,所述n个分片文件的访问频率可以为分片文件产生以来利用分片文件恢复所述带备份数据的访问频率,也可以是距离计算机设备的当前时间最近的单位时间内利用分片文件恢复所述带备份数据的次数,还可以是结合待备份数据的访问频率进一步计算出来的频率。
将n个分片文件从所述本地数据库转移至云端数据库2存储之后,获取所述分片文件和/或校验文件的访问频率,判断所述分片文件和/或校验文件的访问频率是否大于所述预设频率,当判断结果为是时,将所述n个分片文件从云端数据库2转移至本地数据库中存储;当判断结果为否时,将所述n个分片文件继续存储在云端数据库2中。
可以理解的是,一般来说,访问分片文件和/或校验文件是为了恢复带备份数据,当需要恢复待备份数据时,访问至少n个分片文件和/或校验文件,利用纠删码,可以根据至少n个分片文件和/或校验文件恢复所述待备份数据。所述分片文件和/或校验文件的访问频率大于所述预设频率,说明分片文件和/或校验文件将来被还原成待备份数据的可能性较高;将所述n个分片文件从所述云端数据库2转移至本地数据库存储,利于用户通过本地数据库中的分片文件快速恢复出原始的待备份数据。
其中,所述分片文件和/或校验文件的访问频率可以为分片文件和/或校验文件产生以来利用分片文件和/或校验文件恢复所述带备份数据的频率,也可以是距离计算机设备的当前时间最近的单位时间内的利用分片文件和/或校验文件恢复所述带备份数据的次数,还可以是结合待备份数据的访问频率进一步计算出来的频率。
将所述n个分片文件和所述m个校验文件按所述第二存储模式存储之后,获取分片文件和/或校验文件的访问频率,当分片文件和/或校验文件的访问频率大于所述预设频率时,将所述n个分片文件从所述云端数据库2转移至本地数据库中存储。当然,当分片文件和/或校验文件的访问频率小于或等于所述预设频率时,将分片文件和校验文件继续存储于云端数据库2中。
将n个所述分片文件从所述云端数据库2转移至本地数据库中存储之后,获取所述n个分片文件的访问频率,判断所述n个分片文件的访问频率是否大于所述预设频率,当判断结果为是时,将所述n个分片文件继续存储在本地数据库中;当判断结果为否时,将所述n个分片文件从本地数据库转移至云端数据库2中存储。
本发明提出的数据存储方法,将待备份数据切分为n个分片文件,根据n个分片文件,生成m个校验文件,根据待备份数据的访问频率、待备份数据的生成时间及计算机设备的当前时间,将n个分片文件存储至本地数据库、m个校验文件存储到云端数据库,或者,将n个分片文件和m个校验文件存储到至少两个云端数据库,实现了数据容灾备份。即使分片文件和校验文件都损坏,只要两者损坏数量的总和小于或等于m,仍能恢复数据。
此外,本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有数据存储程序10,所述数据存储程序10被处理器执行时实现如下操作:
将待备份数据切分为n个分片文件,n为大于或等于2的正整数;
根据所述n个分片文件,生成m个校验文件,m为正整数;
根据所述待备份数据的访问频率、所述待备份数据的生成时间及所述计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第一存储模式或第二存储模式存储,其中,所述第一存储模式为:将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库,所述第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库。
需要强调的是,本发明之计算机可读存储介质的具体实施方式与上述基于云存储的数据存储方法的具体实施方式大致相同,在此不再赘述。
在另一个实施例中,本发明所提供的基于云存储的数据存储方法,为进一步保证上述所有出现的数据的私密和安全性,上述所有数据还可以存储于一区块链的节点中。例如知识图谱、待识别文本等等,这些数据均可存储在区块链节点中。
需要说明的是,本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本发明之计算机可读存储介质的具体实施方式与上述基于云存储的数据存储方法的具体实施方式大致相同,在此不再赘述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于云存储的数据存储方法,应用于计算机设备,其特征在于,所述方法包括:
将待备份数据切分为n个分片文件,n为大于或等于2的正整数;
根据所述n个分片文件,生成m个校验文件,m为正整数;
根据所述待备份数据的访问频率、所述待备份数据的生成时间及所述计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第一存储模式或第二存储模式存储,其中,所述第一存储模式为:将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库,所述第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库。
2.如权利要求1所述的基于云存储的数据存储方法,其特征在于,根据所述待备份数据的访问频率、所述待备份数据的生成时间及所述计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第一存储模式存储,包括:
计算所述计算机设备的当前时间与所述待备份数据的生成时间之间的差值;
当所述差值小于或等于预设值,或者,所述差值大于预设值但所述待备份数据的访问频率大于预设频率时,将所述n个分片文件和所述m个校验文件按所述第一存储模式存储。
3.如权利要求2所述的基于云存储的数据存储方法,其特征在于,将所述n个分片文件和所述m个校验文件按所述第一存储模式存储之后,所述方法还包括:
每隔预设的周期时间,判断所述n个分片文件的访问频率是否小于或等于所述预设频率,当判断结果为小于或等于所述预设频率时,将所述n个分片文件转移至所述云端数据库存储。
4.如权利要求1所述的基于云存储的数据存储方法,其特征在于,根据所述待备份数据的访问频率、所述待备份数据的生成时间及所述计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第二存储模式存储,包括:
计算所述计算机设备的当前时间与所述待备份数据的生成时间之间的差值;
当所述差值大于预设值及/或所述待备份数据的访问频率小于或等于预设频率时,将所述n个分片文件和所述m个校验文件按所述第二存储模式存储。
5.如权利要求4所述的基于云存储的数据存储方法,其特征在于,所述将n个分片文件和所述m个校验文件按所述第二存储模式存储之后,所述方法还包括:
判断所述分片文件和/或校验文件的访问频率是否大于所述预设频率,当判断结果为是时,将所述n个分片文件转移至所述本地数据库存储。
6.如权利要求1所述的基于云存储的数据存储方法,其特征在于,所述将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库,包括:
将所述n个分片文件存储至本地数据库,将所述m个校验文件存储到一个或多个云端数据库,任意一个所述云端数据库存储的校验文件的数量小于n。
7.如权利要求1所述的基于云存储的数据存储方法,其特征在于,所述将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库,包括:
将所述n个分片文件和所述m个校验文件存储到至少三个云端数据库,任意一个所述云端数据库存储的分片文件和/或校验文件的数量小于n。
8.一种基于云存储的数据存储装置,其特征在于,所述装置包括:
切分模块:用于将待备份数据切分为n个分片文件,n为大于或等于2的正整数;
生成模块:用于根据所述n个分片文件,生成m个校验文件,m为正整数;
存储模块:用于根据所述待备份数据的访问频率、所述待备份数据的生成时间及计算机设备的当前时间,将所述n个分片文件和所述m个校验文件按第一存储模式或第二存储模式存储,其中,所述第一存储模式为:将所述n个分片文件存储至本地数据库、所述m个校验文件存储到云端数据库,所述第二存储模式为:将所述n个分片文件和所述m个校验文件存储到至少两个云端数据库。
9.一种计算机设备,其特征在于,所述计算机设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一个项所述的基于云存储的数据存储方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有文本识别程序,所述文本识别程序被处理器执行时,实现如权利要求1至7中任意一个项所述的基于云存储的数据存储方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011015397.3A CN112131049A (zh) | 2020-09-24 | 2020-09-24 | 基于云存储的数据存储方法、装置、计算机设备及存储介质 |
PCT/CN2020/131981 WO2021189902A1 (zh) | 2020-09-24 | 2020-11-27 | 基于云存储的数据存储方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011015397.3A CN112131049A (zh) | 2020-09-24 | 2020-09-24 | 基于云存储的数据存储方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112131049A true CN112131049A (zh) | 2020-12-25 |
Family
ID=73839548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011015397.3A Pending CN112131049A (zh) | 2020-09-24 | 2020-09-24 | 基于云存储的数据存储方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112131049A (zh) |
WO (1) | WO2021189902A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114039698A (zh) * | 2021-10-12 | 2022-02-11 | 深圳智慧林网络科技有限公司 | 基于多频率的数据发送和接收方法、装置和设备 |
CN117056133B (zh) * | 2023-10-12 | 2024-02-06 | 杭州浩联智能科技有限公司 | 一种基于分布式物联网架构的数据备份方法、装置及介质 |
CN117319422B (zh) * | 2023-11-28 | 2024-02-02 | 天津市城市规划设计研究总院有限公司 | 一种城市规划领域物联网数据的区块链成块方法及*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504535B1 (en) * | 2010-12-20 | 2013-08-06 | Amazon Technologies, Inc. | Erasure coding and redundant replication |
CN103118133B (zh) * | 2013-02-28 | 2015-09-02 | 浙江大学 | 基于文件访问频次的混合云存储方法 |
CN104468654A (zh) * | 2013-09-18 | 2015-03-25 | 杭州信核数据科技有限公司 | 连接到云存储的存储管理网关、方法及数据分层备份*** |
CN106202070A (zh) * | 2015-04-29 | 2016-12-07 | 中国电信股份有限公司 | 文件存储处理方法与*** |
CN109144417A (zh) * | 2018-08-16 | 2019-01-04 | 广州杰赛科技股份有限公司 | 一种云存储方法、***和设备 |
-
2020
- 2020-09-24 CN CN202011015397.3A patent/CN112131049A/zh active Pending
- 2020-11-27 WO PCT/CN2020/131981 patent/WO2021189902A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021189902A1 (zh) | 2021-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131049A (zh) | 基于云存储的数据存储方法、装置、计算机设备及存储介质 | |
US10552640B2 (en) | In-situ data verification for the cloud | |
CN112380057A (zh) | 数据恢复方法、装置、设备及存储介质 | |
CN115017107A (zh) | 基于保护隐私的数据检索方法、装置、计算机设备及介质 | |
WO2021169626A1 (zh) | 基于词库的匹配推荐方法、装置、设备及存储介质 | |
CN112380063A (zh) | 数字证书备份方法、装置、设备及存储介质 | |
CN112036579A (zh) | 多分类模型自学习在线更新方法、***及装置 | |
CN111654522A (zh) | 文件同步方法、文件同步服务器及存储介质 | |
CN113904832A (zh) | 数据加密方法、装置、设备及存储介质 | |
WO2021174882A1 (zh) | 数据分片校验方法、装置、计算机设备及可读存储介质 | |
CN112307503A (zh) | 签章管理方法、装置和电子设备 | |
CN112182509A (zh) | 一种合规数据的异常检测方法、装置及设备 | |
CN113886332B (zh) | 一种大文件差异对比方法、装置、计算机设备及存储介质 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN114710297B (zh) | 基于聚合签名的区块链存证方法、装置、设备及存储介质 | |
CN108241732B (zh) | 电子装置、信息处理的方法及存储介质 | |
CN113590703B (zh) | Es数据导入方法、装置、电子设备及可读存储介质 | |
CN112394876A (zh) | 大文件存储/读取方法、存储/读取装置和计算机设备 | |
CN115935414A (zh) | 基于区块链的数据校验方法、装置、电子设备和存储介质 | |
CN114614972A (zh) | 数据对齐方法、***、电子装置及存储介质 | |
CN112328641B (zh) | 多维度数据聚合方法、装置及计算机设备 | |
CN106326310B (zh) | 一种手机客户端软件的资源加密更新方法 | |
CN116136844A (zh) | 实体标识信息的生成方法、装置、介质及电子设备 | |
CN112528305A (zh) | 访问控制方法、装置、电子设备及存储介质 | |
CN113364848A (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 |