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

一种数据读写方法、装置、设备及存储介质与流程

2022-06-22 16:05:33 来源:中国专利 TAG:


1.本技术涉及数据存储技术,尤其涉及一种数据读写方法、装置、设备及存储介质。


背景技术:

2.目前单片机系统中,当程序模块读写flash中的数据时,需程序员预先获得该数据在flash中的起始标志位、结束标志位、数据长度、头码、检验方式等校验信息,在程序中固化这些信息,单片机的微控制单元(microcontroller unit,mcu)才能根据这些信息有效执行读写flash的操作。
3.由于存储flash数据时设置的校验信息预先固化在flash中,导致flash利用率偏低。


技术实现要素:

4.为解决上述技术问题,本技术提供一种数据读写方法、装置、设备及存储介质。
5.本技术的技术方案是这样实现的:
6.第一方面,提供了一种数据读取方法,该方法包括:
7.预先创建注册表;
8.确定待读取第一数据的第一注册字;其中,所述第一注册字用于标识所述第一数据;
9.基于所述第一注册字查询所述注册表,确定第二注册字;其中,所述第二注册字包括存储所述第一数据的至少一个flash存储区对应的至少一个第一地址信息;
10.从所述第二注册字中获取所述至少一个第一地址信息;
11.基于所述至少一个第一地址信息,从所述至少一个flash存储区中读取所述第一数据。
12.上述方案中,所述基于所述至少一个第一地址信息,从所述至少一个flash存储区中读取所述第一数据,包括:根据预设读取策略,确定所述至少一个第一地址信息的读取顺序;基于所述至少一个第一地址信息及读取顺序,从所述至少一个flash存储区中读取至少一个分段数据;利用所述至少一个分段数据组成所述第一数据。
13.上述方案中,所述方法还包括:基于所述第一注册字查询所述注册表,从所述注册表中未查询到所述第一注册字时,确定读取失败。
14.上述方案中,所述第一注册字包括数据属性信息;所述第二注册字还包括flash存储区属性信息。
15.上述方案中,所述数据属性信息包括以下至少一种:数据类型、数据大小;所述flash存储区属性信息包括以下至少一种:存储区大小、存储区擦写次数。
16.上述方案中,所述预先创建注册表,包括:按照统一的存储规则,创建所述注册表;将所述注册表存储到所述flash存储区的预设存储区中。
17.第二方面,提供了一种数据写入方法,该方法包括:
18.预先创建注册表;
19.获取待写入的第二数据,并确定所述第二数据的第一注册字;其中,所述第一注册字用于标识所述第二数据;
20.基于所述第一注册字查询所述注册表,确定第二注册字;其中,所述第二注册字包括存储所述第二数据的flash存储区的第二地址信息;
21.从所述第二注册字中获取所述第二地址信息;
22.基于所述第二地址信息,将所述第二数据写入所述flash存储区。
23.上述方案中,所述第一注册字包括数据属性信息;所述第二注册字还包括flash存储区属性信息。
24.上述方案中,所述基于所述第一注册字查询所述注册表,确定第二注册字,包括:基于所述第二数据的数据属性信息,查询所述注册表,确定数据属性信息匹配的flash存储区;基于所述第二数据的数据属性信息和flash存储区属性信息,判断所述flash存储区是否能够存储所述第二数据;如果能够存储,确定存储所述第二数据的第二地址信息。
25.上述方案中,所述方法还包括:若不能够存储,在所述注册表所指示的flash存储区之外确定至少一个第一新flash存储区;获取所述至少一个第一新flash存储区属性信息和获取所述至少一个第一新flash存储区地址信息,生成新的第二注册字;利用所述新的第二注册字和所述第二数据的第一注册字,更新所述注册表。
26.上述方案中,所述获取待写入的第二数据,并确定所述第二数据的第一注册字之后,所述方法还包括:若在所述注册表中未查询到所述第一注册字,则将所述第二数据存储到所述注册表所指示的flash存储区之外的至少一个第二新flash存储区;获取所述至少一个第二新flash存储区属性信息和获取所述至少一个第二新flash存储区的地址信息,生成新的第二注册字;利用所述新的第二注册字和所述第二数据的第一注册字,更新所述注册表。
27.上述方案中,所述数据属性信息包括以下至少一种:数据类型、数据大小;所述flash存储区属性信息包括以下至少一种:存储区大小、存储区擦写次数。
28.上述方案中,所述预先创建注册表,包括:按照统一的存储规则,创建所述注册表;将所述注册表存储到所述flash存储区的预设存储区中。
29.第三方面,提供了一种数据读取装置,该装置包括:
30.第一创建单元,用于预先创建注册表;
31.第一确定单元,用于确定待读取第一数据的第一注册字;其中,所述第一注册字用于标识所述第一数据;
32.所述第一确定单元,还用于基于所述第一注册字查询所述注册表,确定第二注册字;其中,所述第二注册字包括存储所述第一数据的至少一个flash存储区对应的至少一个第一地址信息;
33.第一获取单元,用于从所述第二注册字中获取所述至少一个第一地址信息;
34.读取单元,用于基于所述至少一个第一地址信息,从所述至少一个flash存储区中读取所述第一数据。
35.第四方面,提供了一种数据写入装置,其特征在于,所述装置包括:
36.第二创建单元,用于预先创建注册表;
37.第二确定单元,用于获取待写入的第二数据,并确定所述第二数据的第一注册字;其中,所述第一注册字用于标识所述第二数据;
38.所述第二确定单元,还用于基于所述第一注册字查询所述注册表,确定第二注册字;其中,所述第二注册字包括存储所述第二数据的flash存储区的第二地址信息;
39.第二获取单元,用于从所述第二注册字中获取所述第二地址信息;
40.写入单元,用于基于所述第二数据的地址信息,将所述第二数据写入所述flash存储区。
41.第五方面,提供了一种数据读取设备,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器配置为运行所述计算机程序时,执行前述方法的步骤。
42.第六方面,提供了一种数据写入设备,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器配置为运行所述计算机程序时,执行前述方法的步骤。
43.第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现前述方法的步骤。
44.本技术公开数据读写方法,该方法包括::预先创建注册表;确定待读取或写入数据的第一注册字;第一注册字用于标识数据;基于第一注册字查询注册表,确定存储待读取或写入数据的第二注册字;第二注册字包括存储数据的至少一个flash存储区地址信息;基于至少一个地址信息,从至少一个flash存储区读取或写入数据。如此,通过建立注册表提供一种规范化读写规则,只要基于读写规则,即可准确对数据进行读写,保证数据读写有序性和便捷性;另外,存储flash数据时无需预先在flash固化地址信息,可随时根据读写数据量匹配空闲的flash存储区,提高flash利用率。
附图说明
45.图1为本技术实施例中数据读取方法的第一流程示意图;
46.图2为本技术实施例中数据读取方法的第二流程示意图;
47.图3为本技术实施例中数据写入方法的第一流程示意图;
48.图4为本技术实施例中数据写入方法的第二流程示意图;
49.图5为本技术实施例中数据读取装置的结构示意图;
50.图6为本技术实施例中数据写入装置的结构示意图;
51.图7为本技术实施例中数据读取设备的结构示意图;
52.图8为本技术实施例中数据写入设备的结构示意图。
具体实施方式
53.为了能够更加详尽地了解本技术实施例的特点与技术内容,下面结合附图对本技术实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本技术实施例。
54.本技术实施例提供了一种数据读取方法,图1为本技术实施例中数据读取方法的第一流程示意图,如图1所示,该数据读取方法具体可以包括:
55.步骤101:预先创建注册表;
56.需要说明的是,注册表为记录数据相关信息的表格。通过读取注册表,可查找每一个数据对应的相关信息。
57.在一些实施例中,该步骤具体包括:按照统一的存储规则,创建所述注册表;将所述注册表存储到所述flash存储区的预设存储区中。
58.需要说明的是,将存储数据时通常需要存储的相关信息作为存储数据的一种存储规则。确定好存储规则后,根据确定的数据相关信息创建注册表。
59.这里,注册表为数据属性信息与存储数据的flash存储区属性信息和地址信息组成的对应关系表格。
60.需要说明的是,预设存储区为在flash存储区中存储注册表的存储区。这里,预设存储区可以是flash存储区中某一固定区域。
61.步骤102:确定待读取第一数据的第一注册字;其中,所述第一注册字用于标识所述第一数据;
62.需要说明的是,第一注册字包括第一数据的数据属性信息。数据属性信息至少包括数据类型、数据大小。
63.需要说明的是,根据待读取的第一数据,确定第一数据的数据类型及数据大小。这样,在读取注册表时,可根据第一数据的数据类型及数据大小查询到第一数据对应的其他相关数据信息。
64.步骤103:基于所述第一注册字查询所述注册表,确定第二注册字;其中,所述第二注册字包括存储所述第一数据的至少一个flash存储区对应的至少一个第一地址信息;
65.需要说明的是,第二注册字包括第一数据的至少一个第一地址信息。
66.这里,flash存储区存储的个数与第一数据的数据量有关,数据量过大时,可能需要多个flash存储区存储,即也就对应多个第一地址信息。
67.需要说明的是,根据第一数据的数据属性信息(即第一注册字)读取注册表时,若在注册表中查询到与第一数据的数据属性信息相匹配的属性信息,则基于第一数据的数据属性信息在注册表中查询到对应的至少一个flash存储区,获取至少一个flash存储区对应的至少一个第一地址信息(即第二注册字)。若在注册表中查询不到与第一数据的数据属性信息相匹配的属性信息,也就查询不到存储第一数据的第一地址信息,即第一数据读取失败。
68.上述提及的匹配可以理解为一致。
69.步骤104:从所述第二注册字中获取所述至少一个第一地址信息;
70.步骤105:基于所述至少一个第一地址信息,从所述至少一个flash存储区中读取所述第一数据。
71.上述实施例中,该步骤具体包括:根据预设读取策略,确定所述至少一个第一地址信息的读取顺序;基于所述至少一个第一地址信息及读取顺序,从所述至少一个flash存储区中读取至少一个分段数据;利用所述至少一个分段数据组成所述第一数据。
72.需要说明的是,预设读取策略可以是按照时间先后顺序进行读取,也可以根据程序员对数据的需求进行读取。
73.这里,通过时间先后顺序确定至少一个第一地址信息的读取顺序,或者,程序员需要某几个时间点产生的数据,先确定某几个时间点对应的至少一个第一地址信息,再根据
使用需求确定至少一个第一地址信息的读取顺序,待读取至少一个第一地址信息的顺序确定后,从对应的至少一个flash存储区中读取对应的数据。
74.这里,步骤101至步骤105的执行主体可以为数据读取装置的处理器。
75.本技术公开一种数据读取方法,具体包括:预先创建注册表;确定待读取第一数据的第一注册字;其中,所述第一注册字用于标识所述第一数据;基于所述第一注册字查询所述注册表,确定第二注册字;其中,所述第二注册字包括存储所述第一数据的至少一个flash存储区对应的至少一个第一地址信息;从所述第二注册字中获取所述至少一个第一地址信息;基于所述至少一个第一地址信息,从所述至少一个flash存储区中读取所述第一数据。如此,通过建立注册表提供一种规范化读取规则,只要基于读取规则,即可准确对数据进行读取,保证数据读取有序性和便捷性。
76.基于上述实施例,本技术以flash读取数据为例,提供了一种数据读取方法,图2为本技术实施例中数据读取方法的第二流程示意图,如图2所示,该数据读取方法具体可以包括:
77.步骤201:开始;
78.执行202步骤之前,注册表已创建完成,且存储了多个数据的相关信息。
79.这里,数据的相关信息包括数据属性信息、存储数据的flash存储区属性信息和地址信息。注册表为数据属性信息(即第一注册字)与存储数据的flash存储区属性信息和地址信息(即第二注册字)组成的对应关系表格。
80.这里,注册表是由第一注册字和第二注册字组成的表格。
81.这里,在flash中划分出某个固定区域作为flash的注册表。
82.步骤202:读取注册表信息;
83.这里,注册表信息即为数据属性信息与存储数据的flash存储区属性信息和地址信息。
84.具体是根据待读取数据属性信息,读取flash的注册表信息。
85.步骤203:flash里面是否存在所需数据;若是,执行步骤204;若否,执行步骤205;
86.即根据待读取数据属性信息依次查询flash的注册表,判断flash的注册表中是否存在与待读取数据属性信息相匹配的属性信息。其中,匹配可以理解为一致。
87.若flash的注册表中存在与待读取数据属性信息相匹配的属性信息,执行步骤204。
88.若flash的注册表中不存在与待读取数据属性信息相匹配的属性信息,执行步骤205。
89.步骤204:读取数据;
90.根据查询到的数据属性信息,从flash的注册表中确定对应的存储数据的至少一个flash存储区对应的至少一个第一地址信息,基于至少一个第一地址信息从至少一个flash存储区中读取数据。
91.步骤205:结束。
92.上述在flash的注册表读取数据的方法,读取数据时必须符合注册表中注册字内容,否则是无法读取数据的,为flash的数据安全性提供了一定的保证。
93.如此,通过建立注册表提供一种规范化读取规则,只要基于读取规则,即可准确对
数据进行读取,保证数据读取有序性和便捷性。
94.本技术实施例提供了一种数据写入方法,图3为本技术实施例中数据写入方法的第一流程示意图,如图3所示,该数据写入方法具体可以包括:
95.步骤301:预先创建注册表;
96.需要说明的是,注册表为记录数据相关信息的表格。通过读取注册表,可查找每一个数据对应的相关信息。
97.在一些实施例中,该步骤具体包括:按照统一的存储规则,创建所述注册表;将所述注册表存储到所述flash存储区的预设存储区中。
98.需要说明的是,将存储数据时通常需要存储的相关信息作为存储数据的一种存储规则。确定好存储规则后,根据确定的数据相关信息创建注册表。
99.这里,注册表为数据属性信息与存储数据的flash存储区存储空间属性信息和地址信息组成的对应关系表格。
100.需要说明的是,预设存储区为在flash存储区中存储注册表的存储区。这里,预设存储区可以是flash存储区中某一固定区域。
101.步骤302:获取待写入的第二数据,并确定所述第二数据的第一注册字;其中,所述第一注册字用于标识所述第二数据;
102.需要说明的是,第一注册字包括第二数据的数据属性信息。数据属性信息至少包括数据类型、数据大小。
103.需要说明的是,获取待写入的第二数据,确定第二数据的数据类型及数据大小。这样,在读取注册表时,可根据第二数据的数据类型及数据大小查询到第二数据对应的其他相关数据信息。
104.步骤303:基于所述第一注册字查询所述注册表,确定第二注册字;其中,所述第二注册字包括存储所述第二数据的flash存储区的第二地址信息;
105.需要说明的是,第二注册字包括第二数据的第二地址信息。
106.需要说明的是,根据第二数据的数据属性信息(即第一注册字)读取注册表时,若在注册表中查询到与第二数据的数据属性信息相匹配的属性信息,则基于第二数据的数据属性信息在注册表查询到存储第二数据的flash存储区的第二地址信息(即第二注册字)。后续根据第二地址信息将第二数据进行存储。
107.在一些实施例中,该步骤具体包括:基于所述第二数据的数据属性信息,查询所述注册表,确定数据属性信息匹配的flash存储区;基于所述第二数据的数据属性信息和flash存储区属性信息,判断所述flash存储区是否能够存储所述第二数据;如果能够存储,确定存储所述第二数据的第二地址信息。
108.需要说明的是,flash存储区属性信息包括存储区大小、存储区擦写次数。其中,擦写次数可以理解为更新存储区数据的次数,擦写次数达到一定次数阈值时,会影响存储区的存储性能。
109.需要说明的是,即使存储第二数据的flash存储区的第二地址信息确定,但具体存储第二数据时还需要考虑到第二地址信息对应的flash存储区大小。即根据flash存储区大小和存储的第二数据的数据大小,判断存储区是否能够存储第二数据。
110.具体地,根据第二数据的数据类型从注册表中查询到相匹配的数据类型,并基于
第二数据的数据类型从注册表中确定flash存储区;分别获取flash存储区大小和第二数据的数据大小,若flash存储区大小大于或者等于第二数据的数据大小,说明能够存储,进一步获取flash存储区的第二地址信息,后续可基于第二地址信息将第二数据存储。
111.在一些实施例中,所述方法还包括:若不能够存储,在所述注册表所指示的flash存储区之外确定至少一个第一新flash存储区;获取所述至少一个第一新flash存储区属性信息和获取所述至少一个第一新flash存储区地址信息,生成新的第二注册字;利用所述新的第二注册字和所述第二数据的第一注册字,更新所述注册表。
112.也就是说,若注册表所指示的flash存储区大小小于第二数据的数据大小,说明不能存储,需要为第二数据寻找能够存储的至少一个第一新flash存储区,并依次存储其中。后续为了方便读取,扩展注册表,将第二数据的数据属性信息(即第一注册字)及至少一个第一新flash存储区属性信息和地址信息(及第二注册字)注册在注册表中,对注册表进行更新。这样,在读取第二数据时,从更新后的注册表中获取存储第二数据的所有flash存储区的地址信息,根据地址信息即可读取第二数据。
113.在一些实施例中,所述获取待写入的第二数据,并确定所述第二数据的第一注册字之后,所述方法还包括:若在所述注册表中未查询到所述第一注册字,则将所述第二数据存储到所述注册表所指示的flash存储区之外的至少一个第二新flash存储区;获取所述至少一个第二新flash存储区属性信息和获取所述至少一个第二新flash存储区的地址信息,生成新的第二注册字;利用所述新的第二注册字和所述第二数据的第一注册字,更新所述注册表。
114.也就是说,根据第二数据的数据属性信息(即第一注册字)读取注册表时,若在注册表中未查询到与第二数据的数据属性信息相匹配的属性信息,即注册表中不存在第二数据的第一注册字,存储第二数据时需存储到注册表之外的至少一个第二新flash存储区。同样,后续为了方便读取,需扩展注册表,将第二数据的数据属性信息(即第一注册字)及至少一个第二新flash存储区属性信息和地址信息(及第二注册字)注册在注册表中,对注册表进行更新。
115.步骤304:从所述第二注册字中获取所述第二地址信息;
116.步骤305:基于所述第二地址信息,将所述第二数据写入所述flash存储区的。
117.本技术公开一种数据写入方法,具体包括:预先创建注册表;获取待写入的第二数据,并确定所述第二数据的第一注册字;其中,所述第一注册字用于标识所述第二数据;基于所述第一注册字查询所述注册表,确定第二注册字;其中,所述第二注册字包括存储所述第二数据的flash存储区的第二地址信息;从所述第二注册字中获取所述第二地址信息;基于所述第二地址信息,将所述第二数据写入所述flash存储区。如此,通过建立注册表提供一种规范化写入规则,只要基于写入规则,即可准确对数据进行写入,保证数据写入有序性和便捷性;另外,存储flash数据时无需预先在flash固化地址信息,可随时根据读写数据量匹配空闲的flash存储区,提高flash利用率。
118.基于上述实施例,本技术以flash写入数据为例,提供了一种数据写入方法,图4为本技术实施例中数据读取方法的第四流程示意图,如图4所示,该数据写入方法具体可以包括:
119.步骤401:开始;
120.执行402步骤之前,注册表已创建完成,且存储了多个数据的相关信息。
121.这里,数据的相关信息包括数据属性信息、存储数据的flash存储区属性信息和地址信息。注册表为数据属性信息(即第一注册字)与存储数据的flash存储区属性信息和地址信息(即第二注册字)组成的对应关系表格。
122.这里,在flash中的划分出某个固定区域作为flash的注册表。
123.步骤402:读取注册表信息;
124.这里,注册表信息即为数据属性信息与存储数据的flash存储区属性信息和地址信息。
125.具体是根据待写入数据属性信息,读取flash的注册表信息。
126.步骤403:flash里是否已分配存储空间;若是,执行步骤404;若否,执行步骤405;
127.这里,根据待写入数据属性信息依次查询flash的注册表,判断flash的注册表中是否存在与待写入数据属性信息相匹配的属性信息。
128.若flash的注册表中存在与待写入数据属性信息相匹配的属性信息,再结合注册表中对应的flash存储区属性信息,判断flash存储区是否能够存储待写入数据,若能够存储,执行步骤404。
129.若flash的注册表中不存在与待写入数据属性信息相匹配的属性信息,或者,flash存储区不能存储待写入数据,执行步骤405。
130.步骤404:写入数据;
131.步骤405:是否新建或修改存储空间;若是,执行步骤406;若否,执行步骤407;
132.步骤406:更新注册表;
133.这里,若flash的注册表中不存在与待写入数据属性信息相匹配的属性信息,存储待写入数据时需存储到注册表之外的至少一个第二新flash存储区,再将待写入数据的数据属性信息(即第一注册字)及至少一个第二新flash存储区属性信息和地址信息(及第二注册字)注册在注册表中,对注册表进行更新。
134.若存储空间不能存储待写入数据,需要为待写入数据寻找能够存储的至少一个第一新flash存储区,再将待写入数据的数据属性信息(即第一注册字)及至少一个第一新flash存储区属性信息和地址信息(及第二注册字)注册在注册表中,对注册表进行更新。
135.这里,注册表是由第一注册字和第二注册字组成的表格。
136.步骤407:结束。
137.上述将数据写入flash中注册表的方法,写入数据时必须符合注册表中注册字内容,否则是无法随意修改或者写入数据的,为flash的数据安全性提供了一定的保证。
138.如此,通过建立注册表提供一种规范化写入规则,只要基于写入规则,即可准确对数据进行写入,保证数据写入有序性和便捷性;另外,存储flash数据时无需预先在flash固化地址信息,可随时根据读写数据量匹配空闲的flash存储区,提高flash利用率。
139.本技术实施例中提供了一种数据读取装置,图5为本技术实施例中数据读取装置的结构示意图,如图5所示,该数据读取装置包括:
140.第一创建单元501,用于预先创建注册表;
141.第一确定单元502,用于确定待读取第一数据的第一注册字;其中,所述第一注册字用于标识所述第一数据;
142.所述第一确定单元502,还用于基于所述第一注册字查询所述注册表,确定第二注册字;其中,所述第二注册字包括存储所述第一数据的至少一个flash存储区对应的至少一个第一地址信息;
143.第一获取单元503,用于从所述第二注册字中获取所述至少一个第一地址信息;
144.读取单元504,用于基于所述至少一个第一地址信息,从所述至少一个flash存储区中读取所述第一数据。
145.在一些实施例中,所述装置包括:所述第一确定单元502,具体包括根据预设读取策略,确定所述至少一个第一地址信息的读取顺序;基于所述至少一个第一地址信息及读取顺序,从所述至少一个flash存储区中读取至少一个分段数据;利用所述至少一个分段数据组成所述第一数据。
146.在一些实施例中,基于所述第一注册字查询所述注册表,从所述注册表中未查询到所述第一注册字时,确定读取失败。
147.在一些实施例中,所述第一注册字包括数据属性信息;所述第二注册字还包括所述flash存储区属性信息。
148.在一些实施例中,所述数据属性信息包括以下至少一种:数据类型、数据大小;所述flash存储区属性信息包括以下至少一种:存储区大小、存储区擦写次数。
149.在一些实施例中,所述装置包括:所述第一创建单元501,具体用于按照统一的存储规则,创建所述注册表;将所述注册表存储到所述flash存储区的预设存储区中。
150.本技术公开一种数据读取方法,该方法包括:预先创建注册表;确定待读取第一数据的第一注册字;其中,所述第一注册字用于标识所述第一数据;基于所述第一注册字查询所述注册表,确定第二注册字;其中,所述第二注册字包括存储所述第一数据的至少一个flash存储区对应的至少一个第一地址信息;从所述第二注册字中获取所述至少一个第一地址信息;基于所述至少一个第一地址信息,从所述至少一个flash存储区中读取所述第一数据。如此,通过建立注册表提供一种规范化读取规则,只要基于读取规则,即可准确对数据进行读取,保证数据读取有序性和便捷性。
151.本技术实施例中提供了一种数据写入装置,图6为本技术实施例中数据写入装置的结构示意图,如图6所示,该数据写入装置包括:
152.第二创建单元601,用于预先创建注册表;
153.第二确定单元602,用于获取待写入的第二数据,并确定所述第二数据的第一注册字;其中,所述第一注册字用于标识所述第二数据;
154.所述第二确定单元602,还用于基于所述第一注册字查询所述注册表,确定第二注册字;其中,所述第二注册字包括存储所述第二数据的flash存储区的第二地址信息;
155.第二获取单元603,用于从所述第二注册字中获取所述第二地址信息;
156.写入单元604,用于基于所述第二数据的地址信息,将所述第二数据写入所述flash存储区的。
157.在一些实施例中,所述第一注册字包括数据属性信息;所述第二注册字还包括flash存储区属性信息。
158.在一些实施例中,所述装置包括:所述第二确定单元602,具体用于基于所述第二数据的数据属性信息,查询所述注册表,确定数据属性信息匹配的flash存储区;基于所述
第二数据的数据属性信息和flash存储区属性信息,判断所述flash存储区是否能够存储所述第二数据;如果能够存储,确定存储所述第二数据的第二地址信息。
159.在一些实施例中,若不能够存储,在所述注册表所指示的flash存储区之外确定至少一个第一新flash存储区;获取所述至少一个第一新flash存储区属性信息和获取所述至少一个第一新flash存储区地址信息,生成新的第二注册字;利用所述新的第二注册字和所述第二数据的第一注册字,更新所述注册表。
160.在一些实施例中,获取待写入的第二数据,并确定所述第二数据的第一注册字之后,若在所述注册表中未查询到所述第一注册字,则将所述第二数据存储到所述注册表所指示的flash存储区之外的至少一个第二新flash存储区;获取所述至少一个第二新flash存储区属性信息和获取所述至少一个第二新flash存储区的地址信息,生成新的第二注册字;利用所述新的第二注册字和所述第二数据的第一注册字,更新所述注册表。
161.在一些实施例中,所述数据属性信息包括以下至少一种:数据类型、数据大小;所述flash存储区属性信息包括以下至少一种:存储区大小、存储区擦写次数。
162.在一些实施例中,所述预先创建注册表,包括:按照统一的存储规则,创建所述注册表;将所述注册表存储到所述flash存储区的预设存储区中。
163.本技术公开一种数据写入方法,具体包括:预先创建注册表;获取待写入的第二数据,并确定所述第二数据的第一注册字;其中,所述第一注册字用于标识所述第二数据;基于所述第一注册字查询所述注册表,确定第二注册字;其中,所述第二注册字包括存储所述第二数据的flash存储区的第二地址信息;从所述第二注册字中获取所述第二地址信息;基于所述第二地址信息,将所述第二数据写入所述flash存储区。如此,通过建立注册表提供一种规范化写入规则,只要基于写入规则,即可准确对数据进行写入,保证数据写入有序性和便捷性;另外,存储flash数据时无需预先在flash固化地址信息,可随时根据读写数据量匹配空闲的flash存储区,提高flash利用率。
164.本技术实施例提供了一种数据读取设备,图7为本技术实施例中数据读取设备的结构示意图,如图7所示,该设备包括:处理器701和配置为存储能够在处理器上运行的计算机程序的存储器702;
165.其中,处理器701配置为运行计算机程序时,执行前述实施例中的拍摄控制方法的步骤。
166.当然,实际应用时,如图7所示,该数据读取设备中的各个组件通过总线系统703耦合在一起。可理解,总线系统703用于实现这些组件之间的连接通信。总线系统703除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统703。
167.本技术实施例提供了一种数据写入设备,图8为本技术实施例中数据写入设备的结构示意图,如图8所示,该设备包括:处理器801和配置为存储能够在处理器上运行的计算机程序的存储器802;
168.其中,处理器801配置为运行计算机程序时,执行前述实施例中的拍摄控制方法的步骤。
169.当然,实际应用时,如图8所示,该数据写入设备中的各个组件通过总线系统803耦合在一起。可理解,总线系统803用于实现这些组件之间的连接通信。总线系统803除包括数
据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统803。
170.在实际应用中,上述处理器可以为特定用途集成电路(asic,application specific integrated circuit)、数字信号处理装置(dspd,digital signal processing device)、可编程逻辑装置(pld,programmable logic device)、现场可编程门阵列(field-programmable gate array,fpga)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本技术实施例不作具体限定。
171.上述存储器可以是易失性存储器(volatile memory),例如随机存取存储器(ram,random-access memory);或者非易失性存储器(non-volatile memory),例如只读存储器(rom,read-only memory),快闪存储器(flash memory),硬盘(hdd,hard disk drive)或固态硬盘(ssd,solid-state drive);或者上述种类的存储器的组合,并向处理器提供指令和数据。
172.本技术实施例还提供了一种计算机可读存储介质,用于存储计算机程序。
173.可选的,该计算机可读存储介质可应用于本技术实施例中的任意一种方法,并且该计算机程序使得计算机执行本技术实施例的各个方法中由处理器实现的相应流程,为了简洁,在此不再赘述。
174.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
175.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
176.另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
177.本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
178.本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
179.本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以
任意组合,得到新的方法实施例或设备实施例。
180.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

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

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

相关文献