一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2021-11-10 02:59:00 来源:中国专利 TAG:


1.本技术涉及数据存储技术领域,尤其涉及一种数据存储方法、装置、存储介质以及电子设备。


背景技术:

2.随着科学技术的发展,人们对终端的使用需求也越来越大,各种智能终端每时每刻都会产生海量数据,不同智能终端产生的数据形式各异,因此关于数据的存储方法也成为本领域技术人员研究的重点之一。
3.传统的文件存储系统不适合形式各异的非结构化数据,而对象存储系统通过简单的接口可以满足各种智能终端的各种形式数据的存储需求,并且对象存储系统具备良好的可扩展性,可以满足无限容量的存储需求。但是在相关技术中,对象存储系统在对数据进行存储时,存在编码模式单一的问题。


技术实现要素:

4.本技术提供一种数据存储方法、装置、存储介质以及终端,可以解决相关技术中对象存储系统在对数据进行存储时,存在编码模式单一的技术问题。
5.第一方面,本技术实施例提供一种数据存储方法,应用于对象存储系统,所述方法包括:
6.获取待存储数据,从编码模型集合中确定所述待存储数据对应的目标编码模型;
7.基于所述目标编码模型对所述待存储数据进行存储。
8.可选地,所述获取待存储数据,从编码模型集合中确定所述待存储数据对应的目标编码模型之前,还包括:确定至少一种样本数据类型,其中,所述样本数据类型包括数据大小、数据结构、数据来源中的一种或者多种;确定至少一种样本编码模型,其中,所述样本编码模型至少包括可用区数量、编码方式、数据块数量以及校验块数量;将各样本数据类型以及各样本编码模型一一对应得到编码模型集合。
9.可选地,所述从编码模型集合中确定所述待存储数据对应的目标编码模型,包括:对所述待存储数据进行数据分析,确定所述待存储数据对应的目标数据类型;从所述编码模型集合中确定所述目标数据类型对应的目标样本数据类型,将所述目标样本数据类型对应的目标样本编码模型作为所述待存储数据对应的目标编码模型。
10.可选地,所述从编码模型集合中确定所述待存储数据对应的目标编码模型,包括:获取针对所述待存储数据输入的存储指令,所述存储指令中携带有所述待存储数据对应的目标数据类型;从所述编码模型集合中确定所述目标数据类型对应的目标样本数据类型,将所述目标样本数据类型对应的目标样本编码模型作为所述待存储数据对应的目标编码模型。
11.可选地,所述基于所述目标编码模型对所述待存储数据进行存储,包括:基于所述目标编码模型对所述待存储数据进行编码,得到所述待存储数据对应的可用区、数据块以
及校验块;获取所述待存储数据的可靠性参数,根据所述可参考性参数确定所述待存储数据对应的数据块和校验块成功写入至可用区的最小份数;基于所述最小份数对所述待存储数据进行存储。
12.可选地,所述基于所述最小份数对所述待存储数据进行存储,包括:将所述待存储数据的数据块以及校验块分别写入至对应的可用区,以及监测所述待存储数据的数据块以及校验块成功写入至对应的可用区的目标份数;若监测到所述目标份数大于或者等于所述最小份数,则确定所述待存储数据的可靠性满足预设要求以及所述待存储数据存储成功;若监测到所述目标份数小于所述最小份数,则确定所述待存储数据的可靠性不满足预设要求以及所述待存储数据存储失败。
13.可选地,所述若确定所述目标份数大于或者等于所述最小份数之后,还包括:停止对所述待存储数据中数据块以及校验块的写入,并删除所述待存储数据中未写入的数据块以及校验块。
14.第二方面,本技术实施例提供一种数据存储装置,应用于对象存储系统,所述装置包括:
15.编码模型确定模块,用于获取待存储数据,从编码模型集合中确定所述待存储数据对应的目标编码模型;
16.数据存储模块,用于基于所述目标编码模型对所述待存储数据进行存储。
17.第三方面,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行实现上述的方法的步骤。
18.第四方面,本技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法的步骤。
19.本技术一些实施例提供的技术方案带来的有益效果至少包括:
20.本技术实施例提供一种数据存储方法,应用于对象存储系统,首先获取待存储数据,从编码模型集合中确定待存储数据对应的目标编码模型;然后基于目标编码模型对待存储数据进行存储。由于可以在对待存储数据存储之前,先根据待存储数据的数据特性或者用户需要确定对应的目标编码模型,然后再按照目标编码模型对待存储数据进行存储,可以丰富数据存储时的编码模式,提高数据存储时的写入效率。
附图说明
21.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1为本技术实施例提供的一种数据存储方法的示例性系统架构图;
23.图2为本技术实施例提供的一种数据存储方法的系统交互图;
24.图3为本技术实施例提供的一种数据存储方法的流程示意图;
25.图4为本技术实施例提供的一种纠删码策略的示意图;
26.图5为本技术另一实施例提供的一种数据存储方法的流程示意图;
27.图6为本技术另一实施例提供的数据存储方法的结构示意图;
28.图7为本技术另一实施例提供的数据存储方法的结构示意图;
29.图8为本技术另一实施例提供的一种数据存储装置的结构示意图;
30.图9为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
31.为使得本技术的特征和优点能够更加的明显和易懂,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而非全部实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
33.图1为本技术实施例提供的一种数据存储方法的示例性系统架构图。
34.如图1所示,系统架构可以包括至少一个终端110、网络120以及至少一个服务器130,网络120用于在各终端110与服务器130之间提供通信链路的介质。网络120可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆的,无线通信链路包括蓝牙通信链路、无线保真(wireless

fidelity,wi

fi)通信链路或微波通信链路等。
35.其中,当各终端之间距离较远时,例如,各终端分别处于不同的国家,此时若各终端需要进行长距离的文件传输,为了保证长距离文件传输时,文件传输的稳定,各终端之间可以使用运营网络光纤专线相互连接,形成一张比较大的企业内部私网,还可使用2条2个不同运营商的光纤专线,防止网络问题备用一条,每条带宽50m或以上。
36.各终端可以是硬件,也可以是软件。当各终端为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携式计算机和台式计算机等。当各终端为软件时,可以是安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。
37.当各终端为硬件时,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称cr)、发光二极管显示器(light

emitting diode display,简称led)、电子墨水屏、液晶显示屏(liquid crystal display,简称lcd)以及等离子显示面板(plasma displaypanel,简称pdp)等。用户可以利用各终端上的显示设备,来查看显示的文字、图片、视频等信息。另外,终端中还可以安装有定位装置、拍摄装置、声音采集装置、声音播放装置、传感器装置以及控制器等,以满足终端的用户需要。
38.进一步地,服务器130可以是提供各种服务的业务服务器,服务器130中可以设置有数据库,需要说明的是,服务器130可以是硬件,也即实体的物理服务器;也可以是软件,也即非实体的虚拟服务器,例如可以是物理服务器上的虚拟机、基于云平台上构建的虚拟机等能提供与服务器或者虚拟机有相同功能的计算机。当服务器130为硬件时,可以实现成
多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器130为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。
39.各终端110可以通过网络120与服务器130交互,以接收来自服务器130的数据,或向服务器130发送数据。各终端上可以安装有各种远程客户端应用,例如:云游戏远程客户端、绘图应用、视频录制应用、视频播放应用、语音采集应用、语音交互应用、搜索类应用、及时通信工具、邮箱远程客户端以及社交平台软件等。
40.进一步地,本技术中服务器130中可以用于对上述各终端110发送的数据进行存储,服务器130还可以利用对象存储技术对数据进行存储,因此服务器130中可以设置有对象存储系统131,服务器130基于对象存储系统131对上述数据进行存储,当然终端110也可以随时从服务器130中读取存储的数据。
41.应理解,图1中的终端、网络以及服务器的数目仅是示意性的。根据实现需要,可以是任意数量的终端、网络和服务器。
42.请参阅图2,图2为本技术实施例提供的一种数据存储方法的系统交互图,下面将结合图1和图2介绍一种数据存储方法中系统交互过程。
43.s201、终端发送待存储数据至对象存储系统。
44.s202、对象存储系统获取待存储数据,从编码模型集合中确定待存储数据对应的目标编码模型。
45.可选地,获取待存储数据,从编码模型集合中确定待存储数据对应的目标编码模型之前,还包括:确定至少一种样本数据类型,其中,样本数据类型包括数据大小、数据结构、数据来源中的一种或者多种;确定至少一种样本编码模型,其中,样本编码模型至少包括可用区数量、编码方式、数据块数量以及校验块数量;将各样本数据类型以及各样本编码模型一一对应得到编码模型集合。
46.可选地,从编码模型集合中确定待存储数据对应的目标编码模型,包括:对待存储数据进行数据分析,确定待存储数据对应的目标数据类型;从编码模型集合中确定目标数据类型对应的目标样本数据类型,将目标样本数据类型对应的目标样本编码模型作为待存储数据对应的目标编码模型。
47.可选地,从编码模型集合中确定待存储数据对应的目标编码模型,包括:获取针对待存储数据输入的存储指令,存储指令中携带有待存储数据对应的目标数据类型;从编码模型集合中确定目标数据类型对应的目标样本数据类型,将目标样本数据类型对应的目标样本编码模型作为待存储数据对应的目标编码模型。
48.s203、对象存储系统基于目标编码模型对待存储数据进行存储。
49.可选地,基于目标编码模型对待存储数据进行存储,包括:基于目标编码模型对待存储数据进行编码,得到待存储数据对应的可用区、数据块以及校验块;获取待存储数据的可靠性参数,根据可参考性参数确定待存储数据对应的数据块和校验块成功写入至可用区的最小份数;基于最小份数对待存储数据进行存储。
50.可选地,基于最小份数对待存储数据进行存储,包括:将待存储数据的数据块以及校验块分别写入至对应的可用区,以及监测待存储数据的数据块以及校验块成功写入至对应的可用区的目标份数;若监测到目标份数大于或者等于最小份数,则确定待存储数据的
可靠性满足预设要求以及待存储数据存储成功;若监测到目标份数小于最小份数,则确定待存储数据的可靠性不满足预设要求以及待存储数据存储失败。
51.可选地,若确定目标份数大于或者等于最小份数之后,还包括:停止对待存储数据中数据块以及校验块的写入,并删除待存储数据中未写入的数据块以及校验块。
52.在本技术实施例中,首先获取待存储数据,从编码模型集合中确定待存储数据对应的目标编码模型;然后基于目标编码模型对待存储数据进行存储。由于可以在对待存储数据存储之前,先根据待存储数据的数据特性或者用户需要确定对应的目标编码模型,然后再按照目标编码模型对待存储数据进行存储,可以丰富数据存储时的编码模式,提高数据存储时的写入效率。
53.请参阅图3,图3为本技术实施例提供的一种数据存储方法的流程示意图。
54.如图3所示,该方法包括:
55.s301、获取待存储数据,从编码模型集合中确定待存储数据对应的目标编码模型。
56.可以理解的,在本技术实施例中,执行主体可以是服务器,还可以是服务器中的对象存储系统,为了方便描述,下面以执行主体为对象存储系统为例,介绍数据存储方法的具体执行过程。
57.首先介绍一下在对象存储系统中region和az的概念。其中,region,也即区域/地域,可以将region理解为不同城市的机房。对象存储系统的region遍布全球,不同region之间,一般只能通过公网连通。
58.az,也即可用区(availability

zone),可以理解为同一个城市的不同机房,是包含在region内的。比如北京region,会包括多个az,而单个az会有一个或多个idc机房园区组成。az之间通过高带宽、低时延、高冗余的专线网络连接,保证跨az之间数据传输的安全可靠。
59.一个region由于多个az组成,从机房电力、网络等层面来保障一个az出现故障的时候不会影响到另外一个az。
60.进一步地,对象存储系统采用磁盘作为存储介质,在大规模的存储系统中磁盘损坏导致存储数据不可访问是一种常见的情况,更严重时可能甚至出现机房供电系统故障、机房爆炸、空气污染损坏机房中所有磁盘等各种因素导致整个可用区的数据不可访问。为了保证对象存储系统数据的高可用性和高可靠性,目前主流的对象存储系统都会采用多个可用区的存储模式来做数据的冗余备份,保证即使单个可用区损坏也不影响存储系统正常提供数据读写服务。
61.对象存储系统可以采用多副本策略和纠删码(erasure

code)策略来实现存储数据的冗余备份。多副本策略就是对象存储系统将一份数据复制多份存储在不同区域,当某个副本数据出现故障可以从其他副本读取数据。纠删码策略通过编码计算,用更少的冗余备份数量就可以实现与多副本一致的存储可靠性,极大提高对象存储系统中存储利用率以及节约对象存储系统的存储成本。
62.请参阅图4,图4为本技术实施例提供的一种纠删码策略的示意图。
63.如图4所示,在相关技术中,在对象存储系统的纠删码策略中,一般采用异步计算纠删码的方式对数据进行存储,也即先将待存储数据通过多副本系统的方式写入到多个临时文件中,等待临时文件数据量达到一个条带(stripe)的大小之后再基于固定的编码方式
计算待存储数据的纠删码,以分别得到待存储数据的数据块(图中d1

d6)和校验块(图中p1至p6),最后将数据块和校验块分别写入不同的可用区(图中的az1

az3)中。
64.大规模集群中磁盘损坏、机器故障等问题可能会导致临时文件数据丢失,因此异步计算纠删码的方式需要采用多副本策略来保证临时文件数据的安全,在对象存储系统中同时实现多副本系统和纠删码系统会提升系统复杂度,增加了系统管理和运维难度,不利用系统的扩展。其次异步计算纠删码的方式,一般会固定条带大小和编码模式,无法针对不同类型文件做不同编码模式的适配,不能根据地域特性选择不同纠删码做适配,例如国外机房需要实现lrc(local

reconstruction

codes)编码来降低数据修复代价,而异步计算纠删码的模式往往不能满足。
65.针对上述问题,本技术实施例中通过实时计算纠删码的方式来进行数据存储,首先可以预先设置一个编码模型集合,其中编码模型集合中至少包括一个编码模型,那么终端将待存储数据发送至服务器之后,服务器中的对象存储系统可以获取该待存储数据,并根据待存储数据的数据类型或者管理员的需要或者主动修改,从编码模型集合中确定该待存储数据对应的目标编码模型。
66.s302、基于目标编码模型对待存储数据进行存储。
67.在确定待存储数据对应的目标编码模型之后,可以基于目标编码模型直接对待存储数据进行纠删码计算,不需要将待存储数据通过多副本系统的方式写入到多个临时文件中,因此实现了实时计算纠删码的方式来进行数据存储。具体的,目标编码模型中包括可用区数量、编码方式、数据块数量以及校验块数量,因此可以根据目标编码模型通过编码方式对待存储数据进行编码,得到待存储数据对应的数据块以及校验块,并将数据块以及校验块分别存储至对应的可用区。
68.在本技术实施例中,首先获取待存储数据,从编码模型集合中确定待存储数据对应的目标编码模型;然后基于目标编码模型对待存储数据进行存储。由于可以在对待存储数据存储之前,先根据待存储数据的数据特性或者用户需要确定对应的目标编码模型,然后再按照目标编码模型对待存储数据进行存储,可以丰富数据存储时的编码模式,提高数据存储时的写入效率。
69.请参阅图5,图5为本技术另一实施例提供的一种数据存储方法的流程示意图。
70.如图5所示,该方法包括:
71.s501、对待存储数据进行数据分析,确定待存储数据对应的目标数据类型。
72.可以理解的,在本技术实施例中,可以提前设置一个编码模型集合,以使得在编码模型集合中设置至少一个编码模型,具体的,可以确定至少一种样本数据类型,其中,样本数据类型包括数据大小、数据结构、数据来源中的一种或者多种,数据大小可以是指原始数据所占用的存储空间,数据结构可以是指数据保存的结构,数据来源可以是指发送数据进行存储的终端或者应用场景。
73.然后确定至少一种样本编码模型,其中,样本编码模型至少包括可用区数量、编码方式、数据块数量以及校验块数量,可用区数量至少为一个,编码方式是任何应用于对象存储系统的纠删码,例如,纠删码可以是lrc(local

reconstruction

codes)编码或者rs(reed

solomon)编码,其中rs编码是对象存储系统最常使用的一种编码,rs编码的实现原理是将待存储数据均分成n个数据块,然后选择合适的校验矩阵通过矩阵运算的方式产生m
个校验块,将n m个数据块分别写入到不同存储节点,这样可以容忍最多m个存储节点的数据损坏,也即通过幸存的至少n个数据块能通过矩阵运算恢复出原始的待存储数据(n、m为大于1的正整数)。
74.最后将各样本数据类型以及各样本编码模型一一对应得到编码模型集合,具体的,在确定各样本数据类型对应的样本编码模型的过程中,若某一编码模型中对应的编码方式可以将原始待存储数据分成n个数据块以及m个校验块,那么n值影响数据恢复代价,n值越小,数据分散度越小,故障影响面越大,重建代价也就越大;m值影响可靠性与存储成本,m取值大,故障容忍度高,m取值小,数据冗余度低,其中数据冗余度处于在最低冗余度(n/n)与最高冗余度((n m)/n)之间。因此可以根据数据大小、数据结构、数据来源中的一种或者多种确定各样本数据类型对应的各样本编码模型。例如,当某一数样本据模型中的数据较大,那么可以设置该样本数据类型对应的样本编码模型中的冗余度较小,也即样本编码模型中的数据块数量以及校验块数量较大,以使得待存储数据扇出较高,以节约系统的存储成本;再例如,当某一数样本据模型中的数据较小,那么可以设置该样本数据类型对应的样本编码模型中的数据块数量以及校验块数量较小,以使得待存储数据扇出较小,可以降低小文件的写入延时,提高写入性能。
75.在得到编码模型集合之后,从编码模型集合中确定待存储数据对应的目标编码模型时,可以先确定待存储数据对应的目标数据类型,一种方式是,通过机器学习或者预设算法对待存储数据进行数据分析,得到待存储数据的目标数据类型,其中目标数据类型包括数据大小、数据结构、数据来源中的一种或者多种。
76.s502、获取针对待存储数据输入的存储指令,存储指令中携带有待存储数据对应的目标数据类型。
77.另一种方式是,用户也可以直接根据需要向对象存储系统输入存储指令,例如,当待存储数据较为重要时,可以向存储系统输入存储指令,该存储指令中携带有数据来源为重要的数据类型,以使得对象存储系统可以获取针对待存储数据输入的存储指令,并确定待存储数据对应的目标数据类型为数据来源为重要。
78.s503、从编码模型集合中确定目标数据类型对应的目标样本数据类型,将目标样本数据类型对应的目标样本编码模型作为待存储数据对应的目标编码模型。
79.由于编码模型集合中包含了各样本数据类型以及各样本编码模型的对应情况,因此可以在确定待存储数据的目标数据类型之后,可以先从编码模型集合中确定目标数据类型对应的目标样本数据类型,然后将目标样本数据类型对应的目标样本编码模型作为待存储数据对应的目标编码模型。
80.请参阅图6,图6为本技术另一实施例提供的数据存储方法的结构示意图。
81.如图6所示,在获取待存储数据之后,可以根据待存储数据的数据类型或者管理员的需要或者主动修确定对应的编码模型,例如,在图6中不同情况下,待存储数据可以对应三种编码模型,第一种编码模型(3az,n12m15l0)中可用区数量为3,编码方式为rs编码,数据块数量为12以及校验块数量为15;第二种编码模型(3az,n6m6l6)中可用区数量为3,编码方式为lrc编码,数据块数量为6以及校验块数量为12(包括6个全局校验块以及6个局部校验块);第三种编码模型(2az,n6m10l2)中可用区数量为2,编码方式为lrc编码,数据块数量为6以及校验块数量为10(包括10个全局校验块以及2个局部校验块),基于编码模型可以对
待存储数据进行存储。
82.s504、基于目标编码模型对待存储数据进行编码,得到待存储数据对应的可用区、数据块以及校验块。
83.由于目标编码模型至少包括了,可用区数量、编码方式、数据块数量以及校验块数量,因此可以基于目标编码模型对待存储数据进行编码,得到待存储数据对应的可用区、数据块以及校验块,以及待存储数据对应的可用区中每个可用区中的数据块以及校验块。
84.s505、获取待存储数据的可靠性参数,根据可参考性参数确定待存储数据对应的数据块和校验块成功写入至可用区的最小份数。
85.由于纠删码的原理是,将待存储数据均分成n个数据块,然后选择合适的校验矩阵通过矩阵运算的方式产生m个校验块,将n m个数据块分别写入到不同存储节点,这样可以容忍最多m个存储节点的数据损坏,也即通过幸存的至n个数据块能通过矩阵运算恢复出原始的待存储数据,因此根据需要设置待存储数据对应的数据块和校验块成功写入至可用区的最小份数,这样可以在满足最低数据可靠性的基础上,可以动态调整冗余度,提高系统的可用性。
86.具体的,可以获取待存储数据的可靠性参数,根据可参考性参数确定待存储数据对应的数据块和校验块成功写入至可用区的最小份数,例如,当某一待存储数据将待存储数据均分成12个数据块,然后选择合适的校验矩阵通过矩阵运算的方式产生15个校验块,在待存储数据的可用区数量为三个,那么当待存储数据的的可靠性参数为az级别的可靠性要求,那么可以要求对象存储系统需要支持az级别容灾,在一个az不可用的前提下保证可以正常访问对象存储系统的数据,理论上设定数据块和校验块写入成功的最少份数的阈值为21,那么在数据块和校验块写入成功的份数为21时,可以剩下的6份数据块全部写入失败,也可以保证在一个az不可用的前提下保证可以正常访问对象存储系统的数据。
87.请参阅图7,图7为本技术另一实施例提供的数据存储方法的结构示意图。
88.如图7所示,在获取待存储数据之后,确定待存储数据的目标编码模型为(3az,n12m15l0),也即可用分区为3个,编码方式为rs编码,数据块为12个,校验块为15个,在对待存储数据进行存储时,若确定待存储数据的的可靠性参数为az级别的可靠性要求,那么设置数据块和校验块写入成功的最少份数的阈值为21,那么即使az1中的d1、d2、d3、d4、p1以及p2均写入失败,那么依然可以保证在一个az不可用的前提下保证可以正常访问对象存储系统的数据。
89.s506、基于最小份数对待存储数据进行存储。
90.具体的,基于最小份数对待存储数据进行存储时,可以将待存储数据的数据块以及校验块分别写入至对应的可用区,以及监测待存储数据的数据块以及校验块成功写入至对应的可用区的目标份数,若监测到目标份数大于或者等于最小份数,则确定待存储数据的可靠性满足预设要求以及待存储数据存储成功,此时为了减少对象存储系统的存储压力,可以确定目标份数大于或者等于最小份数之后,停止对待存储数据中数据块以及校验块的写入,并删除待存储数据中未写入的数据块以及校验块。若监测到目标份数小于最小份数,则确定待存储数据的可靠性不满足预设要求以及待存储数据存储失败。
91.在本技术实施例中,首先获取待存储数据,从编码模型集合中确定待存储数据对应的目标编码模型;然后基于目标编码模型对待存储数据进行存储。由于可以在对待存储
数据存储之前,先根据待存储数据的数据特性或者用户需要确定对应的目标编码模型,然后再按照目标编码模型对待存储数据进行存储,可以丰富数据存储时的编码模式,提高数据存储时的写入效率。
92.请参与图8,图8为本技术另一实施例提供的一种数据存储装置的结构示意图。
93.如图8所示,数据存储装置800包括:
94.编码模型确定模块810,用于获取待存储数据,从编码模型集合中确定待存储数据对应的目标编码模型。
95.数据存储模块820,用于基于目标编码模型对待存储数据进行存储。
96.其中,数据存储装置800还包括:
97.第一样本确定模块,用于确定至少一种样本数据类型,其中,样本数据类型包括数据大小、数据结构、数据来源中的一种或者多种。
98.第二样本确定模块,用于确定至少一种样本编码模型,其中,样本编码模型至少包括可用区数量、编码方式、数据块数量以及校验块数量。
99.第三样本确定模块,用于将各样本数据类型以及各样本编码模型一一对应得到编码模型集合。
100.编码模型确定模块810,还用于对待存储数据进行数据分析,确定待存储数据对应的目标数据类型;从编码模型集合中确定目标数据类型对应的目标样本数据类型,将目标样本数据类型对应的目标样本编码模型作为待存储数据对应的目标编码模型。
101.编码模型确定模块810,还用于获取针对待存储数据输入的存储指令,存储指令中携带有待存储数据对应的目标数据类型;从编码模型集合中确定目标数据类型对应的目标样本数据类型,将目标样本数据类型对应的目标样本编码模型作为待存储数据对应的目标编码模型。
102.数据存储模块820,还用于基于目标编码模型对待存储数据进行编码,得到待存储数据对应的可用区、数据块以及校验块;获取待存储数据的可靠性参数,根据可参考性参数确定待存储数据对应的数据块和校验块成功写入至可用区的最小份数;基于最小份数对待存储数据进行存储。
103.其中,基于最小份数对待存储数据进行存储,包括:将待存储数据的数据块以及校验块分别写入至对应的可用区,以及监测待存储数据的数据块以及校验块成功写入至对应的可用区的目标份数;若监测到目标份数大于或者等于最小份数,则确定待存储数据的可靠性满足预设要求以及待存储数据存储成功;若监测到目标份数小于最小份数,则确定待存储数据的可靠性不满足预设要求以及待存储数据存储失败。
104.其中,若确定目标份数大于或者等于最小份数之后,还包括:停止对待存储数据中数据块以及校验块的写入,并删除待存储数据中未写入的数据块以及校验块。
105.在本技术实施例中,一种数据存储装置包括:编码模型确定模块,用于获取待存储数据,从编码模型集合中确定待存储数据对应的目标编码模型;数据存储模块,用于基于目标编码模型对待存储数据进行存储。由于可以在对待存储数据存储之前,先根据待存储数据的数据特性或者用户需要确定对应的目标编码模型,然后再按照目标编码模型对待存储数据进行存储,可以丰富数据存储时的编码模式,提高数据存储时的写入效率。
106.本技术实施例还提供了一种计算机存储介质,计算机存储介质可以存储有多条指
令,指令适于由处理器加载并执行如上述实施例中的任一项的方法的步骤。
107.请参见图9,图9为本技术实施例提供的一种电子设备的结构示意图。如图9所示,电子设备900可以包括:至少一个处理器901,至少一个网络接口904,用户接口903,存储器905,至少一个通信总线902。
108.其中,通信总线902用于实现这些组件之间的连接通信。
109.其中,用户接口903可以包括显示屏(display)、摄像头(camera),可选用户接口903还可以包括标准的有线接口、无线接口。
110.其中,网络接口904可选的可以包括标准的有线接口、无线接口(如wi

fi接口)。
111.其中,处理器901可以包括一个或者多个处理核心。处理器901利用各种接口和线路连接整个电子设备900内的各个部分,通过运行或执行存储在存储器905内的指令、程序、代码集或指令集,以及调用存储在存储器905内的数据,执行电子设备900的各种功能和处理数据。可选的,处理器901可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field

programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器901可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器901中,单独通过一块芯片进行实现。
112.其中,存储器905可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read

only memory,rom)。可选的,该存储器905包括非瞬时性计算机可读介质(non

transitory computer

readable storage medium)。存储器905可用于存储指令、程序、代码、代码集或指令集。存储器905可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器905可选的还可以是至少一个位于远离前述处理器901的存储装置。如图9所示,作为一种计算机存储介质的存储器905中可以包括操作系统、网络通信模块、用户接口模块以及数据存储程序。
113.在图9所示的电子设备900中,用户接口903主要用于为用户提供输入的接口,获取用户输入的数据;而处理器901可以用于调用存储器905中存储的数据存储程序,并具体执行以下操作:
114.获取待存储数据,从编码模型集合中确定待存储数据对应的目标编码模型;基于目标编码模型对待存储数据进行存储。
115.可选地,获取待存储数据,从编码模型集合中确定待存储数据对应的目标编码模型之前,还包括:确定至少一种样本数据类型,其中,样本数据类型包括数据大小、数据结构、数据来源中的一种或者多种;确定至少一种样本编码模型,其中,样本编码模型至少包括可用区数量、编码方式、数据块数量以及校验块数量;将各样本数据类型以及各样本编码模型一一对应得到编码模型集合。
116.可选地,从编码模型集合中确定待存储数据对应的目标编码模型,包括:对待存储
数据进行数据分析,确定待存储数据对应的目标数据类型;从编码模型集合中确定目标数据类型对应的目标样本数据类型,将目标样本数据类型对应的目标样本编码模型作为待存储数据对应的目标编码模型。
117.可选地,从编码模型集合中确定待存储数据对应的目标编码模型,包括:获取针对待存储数据输入的存储指令,存储指令中携带有待存储数据对应的目标数据类型;从编码模型集合中确定目标数据类型对应的目标样本数据类型,将目标样本数据类型对应的目标样本编码模型作为待存储数据对应的目标编码模型。
118.可选地,基于目标编码模型对待存储数据进行存储,包括:基于目标编码模型对待存储数据进行编码,得到待存储数据对应的可用区、数据块以及校验块;获取待存储数据的可靠性参数,根据可参考性参数确定待存储数据对应的数据块和校验块成功写入至可用区的最小份数;基于最小份数对待存储数据进行存储。
119.可选地,基于最小份数对待存储数据进行存储,包括:将待存储数据的数据块以及校验块分别写入至对应的可用区,以及监测待存储数据的数据块以及校验块成功写入至对应的可用区的目标份数;若监测到目标份数大于或者等于最小份数,则确定待存储数据的可靠性满足预设要求以及待存储数据存储成功;若监测到目标份数小于最小份数,则确定待存储数据的可靠性不满足预设要求以及待存储数据存储失败。
120.可选地,若确定目标份数大于或者等于最小份数之后,还包括:停止对待存储数据中数据块以及校验块的写入,并删除待存储数据中未写入的数据块以及校验块。
121.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
122.作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
123.另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
124.集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
125.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列
的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
126.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
127.以上为对本技术所提供的一种数据存储方法、装置、存储介质以及电子设备的描述,对于本领域的技术人员,依据本技术实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献