CN111596863A - 一种数据读取方法、装置、设备及可读存储介质 - Google Patents
一种数据读取方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111596863A CN111596863A CN202010429909.4A CN202010429909A CN111596863A CN 111596863 A CN111596863 A CN 111596863A CN 202010429909 A CN202010429909 A CN 202010429909A CN 111596863 A CN111596863 A CN 111596863A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- reading
- index
- mark
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种数据读取方法,包括:从第一存储部件中获取标志索引,并按照标志索引确定多个目标结构体;利用目标结构体确定目标数据;按照标志索引读出各个目标数据,并保存至第二存储部件;该方法利用标志索引记录第二存储设备的数据情况,在读取目标数据时先获取标志索引,并根据标志索引确定目标结构体;利用目标结构体可以在第一存储部件中确定目标数据,在确定目标数据后按照标志索引将目标数据读出并将其保存至第二存储部件,完成数据的读取,保证不会发生数据移位,避免了数据加载错误的问题;此外,本发明还提供了一种数据读取装置、数据读取设备及计算机可读存储介质,也具有上述有益效果。
Description
技术领域
本发明涉及数据读写技术领域,特别涉及一种数据读取方法、数据读取装置、数据读取设备及计算机可读存储介质。
背景技术
电子设备在运行某些程序时,一般将数据暂时存入读写速度快的断电易失存储部件中,在程序运行完毕或需要关机时再将这部分数据连续存入不易失存储部件中。例如智能穿戴设备,其中的产品程序运行时先将数据暂时缓存到ram区域中,并根据需要对ram区域中的数据进行修改,在关机掉电前将ram区中的数据映射到不易失存储部件,例如flash对应的区域中。但是,设备运行过程中可能会出现不掉电重启的情况,在重启后会将flash对应区域中的数据加载到ram区。而当程序运行过程中对在ram中的数据进行了某种修改,则在重启后将flash数据映射到ram区时,就会产生数据的移位,导致数据加载错误的问题。
因此,如何解决相关技术在进行数据读取时会产生数据移位,导致数据加载错误的问题,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种数据读取方法、数据读取装置、数据读取设备及计算机可读存储介质,解决了相关技术在进行数据读取时会产生数据移位,导致数据加载错误的问题。
为解决上述技术问题,本发明提供了一种数据读取方法,包括:
从第一存储部件中获取标志索引,并按照所述标志索引确定多个目标结构体;
利用所述目标结构体确定目标数据;
按照所述标志索引读出各个所述目标数据,并保存至第二存储部件。
可选地,所述按照所述标志索引确定多个目标结构体,包括:
按照预设解析规则对所述标志索引进行解析,得到多个标志信息;
利用所述标志信息与各个结构体的结构体信息进行匹配,将通过匹配的所述结构体确定为所述目标结构体。
可选地,所述利用所述目标结构体确定目标数据,包括:
从所述目标结构体中获取地址信息和数据长度信息;
利用所述地址信息和数据长度信息在所述第一存储部件中确定所述目标数据。
可选地,所述按照所述标志索引读出各个所述目标数据,并保存至第二存储部件,包括:
利用所述标志索引确定各个所述目标数据对应的读取顺序;
按照所述读取顺序依次将各个所述目标数据从所述第一存储部件中读出,并按照所述读取顺序将所述目标数据存入所述第二存储部件。
可选地,在所述从第一存储部件中获取标志索引之前,还包括:
在所述第二存储设备中确定多个待存储数据;
生成各个所述待存储数据对应的结构体,并利用各个所述结构体构建所述标志索引;
将所述标志索引、所述结构体和所述待存储数据保存至所述第一存储部件。
可选地,还包括:
当检测到所述第二存储部件中发生数据修改事件时,根据所述数据修改事件更新所述标志索引。
可选地,在所述从第一存储部件中获取标志索引之前,还包括:
当检测到读取指令时,判断是否发生不掉电重启事件;
若未发生所述不掉电重启事件,则按照预设读取规则从所述第一存储部件中读取所述目标数据,并将所述目标数据保存至所述第二存储部件;
若发生所述不掉电重启事件,则执行所述从第一存储部件中获取标志索引的步骤。
本发明还提供了一种数据读取装置,包括:
结构体确定模块,用于从第一存储部件中获取标志索引,并按照所述标志索引确定多个目标结构体;
目标数据确定模块,用于利用所述目标结构体确定目标数据;
读取模块,用于按照所述标志索引读出各个所述目标数据,并保存至第二存储部件。
本发明还提供了一种数据读取设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的数据读取方法。
本发明还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的数据读取方法。
本发明提供的数据读取方法,从第一存储部件中获取标志索引,并按照标志索引确定多个目标结构体;利用目标结构体确定目标数据;按照标志索引读出各个目标数据,并保存至第二存储部件。
可见,该方法利用标志索引记录第二存储设备的数据情况,在需要从第一存储部件中读取目标数据时,先从中获取标志索引,并根据标志索引确定目标结构体。目标结构体与目标数据相对应,用于记录目标数据在第二存储部件中的位置信息。利用目标结构体可以在第一存储部件中确定目标数据,在确定目标数据后按照标志索引将目标数据读出并将其保存至第二存储部件,完成数据的读取。由于利用了标志索引记录第二存储设备的数据情况,因此在发生不掉电重启故障后进行数据读取时可以保证不会发生数据移位,避免了数据加载错误的问题,解决了相关技术在进行数据读取时会产生数据移位,导致数据加载错误的问题。
此外,本发明还提供了一种数据读取装置、数据读取设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据读取方法流程图;
图2为本发明实施例提供的一种具体的数据读取方法流程图;
图3为本发明实施例提供的一种标志索引生成方法流程图;
图4为本发明实施例提供的一种数据读取装置的结构示意图;
图5为本发明实施例提供的一种数据读取设备的结构示意图;
图6为本发明实施例提供的一种相关技术的数据存储方法示意图;
图7为本发明实施例提供的一种数据修改示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
电子设备在运行某些程序时,一般将数据暂时存入读写速度快的断电易失存储部件中,以便快速的读取或写入数据,在程序运行完毕或需要关机时将断电易失存储部件中的数据整块连续地存入不易失存储部件中,以便对数据进行保存。例如智能穿戴设备,其中的产品程序在运行时先将数据暂时缓存到ram(random access memory)区域中,并根据需要对ram区域中的数据进行修改,在关机掉电前将ram区中的数据映射到不易失存储部件,例如flash(Flash EEPROM Memory)对应的区域中。请参考图6,图6为本发明实施例提供的一种相关技术的数据存储方法示意图,在进行数据存储时,将ram中长度为n的数据连续的存入flash中。
然而,设备运行过程中可能会出现不掉电重启的情况,例如设备升级时,可以进行不断电升级重启。由于并没有进行断电,因此ram区域中的数据并不会被存储到flash中,但是设备重启时会将然区域中的数据清空,并在重启后重新从flash中读取数据。由于ram中的数据没有被存入flash,而当程序运行过程中对在ram中的数据进行了某种修改,例如插入新增数据、删除数据、数据顺序改变等,因此在重启后将flash数据全部映射到ram区时,就会产生数据的移位,即导入ram中的数据并不是设备不断电重启前ram中的数据,因此会导致数据加载错误的问题。请参考图7,图7为本发明实施例提供的一种数据修改示意图,本次修改将D_Ta(3)移动待B_Ta(1)之前,修改了数据的顺序,若此时出现不掉电重启的情况,则从图6中的flash中读取数据到ram中时,会出现数据移位的问题。
为了解决上述问题,本申请提供了一种数据读取方法以及对应的装置、设备和计算机可读存储介质。该方法在读取数据前先获取标志索引,而标志索引记录了ram的数据情况,利用标志索引确定目标结构体,并利用目标结构体获取目标数据。即使发生了不断电重启的情况,利用标志索引仍然可以准确地恢复ram中的数据,避免了数据的移位和数据加载错误的问题。
具体的,在一种可能的实施方式中,请参考图1,图1为本发明实施例提供的一种数据读取方法流程图。该方法包括:
S101:从第一存储部件中获取标志索引,并按照标志索引确定多个目标结构体。
本实施例并不限定用于执行本发明提供的数据读取方法中全部或部分步骤的设备或终端,例如可以为智能穿戴设备,或者可以为计算机或智能手机等。第一存储部件为非易失存储部件,其具体种类本实施例不做限定,例如可以为flash存储部件。第一存储部件中存储有标志索引,标志索引用于记录易失存储部件(例如ram)中的数据情况。第一存储部件中还包括多个结构体和各个结构体分别对应的数据,数据可以以数据块的形式存入第一存储部件中。
需要说明的是,第一存储部件中的存储的数据并不是易失存储部件中的整块数据,即在进行数据存储时,将易失存储设备中的数据按照实际需要或预设规则进行划分,得到多份数据,并将这多份数据分别独立地存储于第一存储部件中。
标志索引可以被称为索引index或标志index,用于记录易失存储部件中的数据情况,具体的,其中记录有易失存储部件中数据分别对应的目标结构体。在获取标志索引后,按照该标志索引确定多个目标结构体,目标结构体对应的数据即可组成易失存储部件中的数据。
S102:利用目标结构体确定目标数据。
在确定目标结构体后,利用目标结构体确定对应的目标数据。结构体用于记录数据的存储信息,例如存储位置信息、数据长度信息等,结构体还可以包括结构体信息,用于表示其对应数据的身份。在确定目标结构体后,利用目标结构体即可确定目标数据。需要说明的是,本实施例并不限定目标结构体的具体数量,在实际应用中,一个目标结构体一般对应于一段连续的目标数据,当两段数据不连续时,可以分为为其构建两个结构体;但是,在某些实施方式中,为了保证数据的连续性或因其他原因,一个目标结构体也可以对应于多段不连续的数据。
S103:按照标志索引读出各个目标数据,并保存至第二存储部件。
在确定各个目标数据后,可以按照标志索引将其读出,并将各个目标数据保存至第二存储部件。其中,第二存储部件为易失存储部件,由于第二存储部件中的数据在被存入第一存储部件时进行了拆分,因此为了保证在数据读出后不发生数据错位的情况,需要按照标志索引读出各个目标数据。标志索引中可以记录有各个目标数据的顺序,在读出时按照该顺序进行读出并保存,完成数据的读出过程。
应用本发明实施例提供的数据读取方法,利用标志索引记录第二存储设备的数据情况,在需要从第一存储部件中读取目标数据时,先从中获取标志索引,并根据标志索引确定目标结构体。目标结构体与目标数据相对应,用于记录目标数据在第二存储部件中的位置信息。利用目标结构体可以在第一存储部件中确定目标数据,在确定目标数据后按照标志索引将目标数据读出并将其保存至第二存储部件,完成数据的读取。由于利用了标志索引记录第二存储设备的数据情况,因此在发生不掉电重启故障后进行数据读取时可以保证不会发生数据移位,避免了数据加载错误的问题,解决了相关技术在进行数据读取时会产生数据移位,导致数据加载错误的问题。
基于上述实施例,在一种可能的实施方式中,可以在数据读取前根据设备的状态选择数据读取的方式。具体请参考图2,图2为本发明实施例提供的一种具体的数据读取方法流程图,包括:
S201:当检测到读取指令时,判断是否发生不掉电重启事件。
在本实施例中,通过检测读取指令判断是否进行数据读取操作,数据读取指令的具体形式本实施例不做限定。需要说明的是,本实施例并不限定执行数据读取操作的触发条件,除检测读取指令外,还可以根据实际需要选择其他事件或条件作为执行数据读取操作的触发条件,例如当检测到第二存储部件内不存在数据时,确定检测到执行数据读取操作的触发条件,执行判断是否发生不掉电重启事件的步骤。
在检测到读取指令后,判断是否发生了不掉电重启事件,不掉电重启事件的具体内容本实施例不做限定,例如可以为不掉电升级重启,或者为设备故障导致的不掉电重启,或者为程序运行故障导致的不掉电重启。本实施例也不限定不掉电重启事件的检测方法,其可以与不掉电重启事件的内容相对应,例如可以检测系统版本号,判断是否发生变化,若是,则说明出现了不掉电升级重启;或者可以检测故障日志,通过读取故障信息判断是否发生了可以导致不掉电重启的设备故障或程序运行故障。在确定发生不掉电重启事件后,可以进入S203步骤;在确定未发生不掉电重启事件后,可以进入S202步骤。
S202:按照预设读取规则从第一存储部件中读取目标数据,并将目标数据保存至第二存储部件。
若未发生不掉电重启事件,说明设备处于正常运行状态,本次数据读取操作为正常流程的数据读取。因此,为了提高数据读取速度,减少计算资源消耗,可以按照预设读取规则直接从第一存储部件中读取目标数据,并将目标数据保存至第二存储部件中,无需调用标志索引。预设读取规则即为设备和应用程序正常运行时的数据读取规则,本实施例对预设读取规则的具体内容不做限定,例如可以为初始化读取规则。
S203:从第一存储部件中获取标志索引。
若确定发生不掉电重启事件,为了保证不发生数据移位的问题,需要从第一存储部件中获取标志索引,以便根据标志索引从第一存储部件中获取目标数据并将其存入第二存储部件。
S204:按照预设解析规则对标志索引进行解析,得到多个标志信息。
预设解析规则与标志索引的生成规则相对应,其具体内容不做限定。本实施例中,标志索引中可以包括多个标志信息,用于表示对应的目标结构体。该标志信息可以为结构体中的结构体信息,例如可以为结构体编号或结构体名称;或者可以为与结构体中结构体信息一一对应的信息,例如可以构建标志信息与结构体信息之间的对应关系,利用该对对应关系可以确定各个标志信息对应的目标结构体。
S205:利用标志信息与各个结构体的结构体信息进行匹配,将通过匹配的结构体确定为目标结构体。
在得到标志信息后,利用标志信息与各个结构体的结构体信息进行匹配,具体匹配方法与标志信息的内容相关,在此不做限定。在匹配过后,将通过匹配的结构体确定为目标结构体,利用目标结构体即可对目标数据进行确定。
S206:从目标结构体中获取地址信息和数据长度信息。
为了减少目标结构体的大小,减少对存储空间的占用,在本实施例中的目标结构体还可以包括地址信息和数据长度信息两项信息,利用这两项信息即可对目标数据进行确定。地址信息用于记录目标数据的起始地址,数据长度信息用于记录目标数据的长度。
S207:利用地址信息和数据长度信息在第一存储部件中确定目标数据。
需要说明的是,地址信息为目标数据在第一存储部件中的起始地址,利用地址信息和数据长度信息,可以在第一存储部件中对目标数据进行定位,即确定目标数据,以便在后续读取目标数据。
S208:利用标志索引确定各个目标数据对应的读取顺序。
标志索引记录有目标数据的顺序,该顺序即为目标数据的读取顺序。本实施例并不限定读取顺序的确定方法,例如可以在标志索引中记录有该读取顺序。为了减少标志索引的大小,可以利用标志索引中的标志信息记录读取顺序,即将各个标志信息按照目标数据的读取顺序进行排列,利用各个标志信息的顺序即可确定读取顺序。
S209:按照读取顺序依次将各个目标数据从第一存储部件中读出,并按照读取顺序将目标数据存入第二存储部件。
在确定读取顺序后,按照读取顺序将目标数据从第一存储部件中读出,并按照该读取顺序将依次读出的目标数据存入第二存储部件中,完成数据的读取。
基于上述实施例,在一种可能的实施方式中,在从第一存储部件中读出数据之前,需要将数据存入第一存储部件中,并生成对应的标志索引。具体请参考图3,图3为本发明实施例提供的一种标志索引生成方法流程图,包括:
S301:在第二存储设备中确定多个待存储数据。
待存储数据即为在上述实施例中被读出的目标数据,此时,其仅存储在第二存储设备中。本实施例并不限定待存储数据的个数,具体的,可以将第二存储设备中的全部数据按照预设划分规则划分得到多个待存储数据,预设划分规则的具体内容本实施例不做限定,例如可以为按数据量大小划分;或者可以为按照数据类型划分。
S302:生成各个待存储数据对应的结构体,并利用各个结构体构建标志索引。
在得到待存储数据后,需要生成其对应的结构体,以便在数据读取时根据结构体获取目标数据。结构体中需要包括结构体信息,用于表示数据的身份,还包括有存储信息,用于表示数据的存储位置。结构体的具体形式本实施例不做限定。在构建结构体后,利用各个结构体构建标志索引,标志索引中包括有各个结构体对应的标志信息。
S303:将标志索引、结构体和待存储数据保存至第一存储部件。
在得到标志索引后,将标志索引、结构体和待存储数据保存至第一存储部件中,完成第二存储部件中待存储数据的存入过程。
S304:当检测到第二存储部件中发生数据修改事件时,根据数据修改事件更新标志索引。
在一种可能的实施方式中,在将标识索引、结构体和待存储数据存入第一存储部件后,第二存储部件中可能发生数据修改事件,即数据的增加、删除或顺序变换等。此时,为了保证在发生不掉电重启事件后仍能够保证数据不移位,可以根据数据修改事件更新标志索引,保证标志索引与第二存储部件中的数据情况一致。
下面对本发明实施例提供的数据读取装置进行介绍,下文描述的数据读取装置与上文描述的数据读取方法可相互对应参照。
请参考图4,图4为本发明实施例提供的一种数据读取装置的结构示意图,包括:
结构体确定模块410,用于从第一存储部件中获取标志索引,并按照标志索引确定多个目标结构体;
目标数据确定模块420,用于利用目标结构体确定目标数据;
读取模块430,用于按照标志索引读出各个目标数据,并保存至第二存储部件。
可选地,结构体确定模块410,包括:
标志信息获取单元,用于按照预设解析规则对标志索引进行解析,得到多个标志信息;
匹配单元,用于利用标志信息与各个结构体的结构体信息进行匹配,将通过匹配的结构体确定为目标结构体。
可选地,目标数据确定模块420,包括:
信息获取单元,用于从目标结构体中获取地址信息和数据长度信息;
目标数据确定单元,用于利用地址信息和数据长度信息在第一存储部件中确定目标数据。
可选地,读取模块430,包括:
读取顺序确定单元,用于利用标志索引确定各个目标数据对应的读取顺序;
读取单元,用于按照读取顺序依次将各个目标数据从第一存储部件中读出,并按照读取顺序将目标数据存入第二存储部件。
可选地,还包括:
待存储数据确定模块,用于在第二存储设备中确定多个待存储数据;
生成模块,用于生成各个待存储数据对应的结构体,并利用各个结构体构建标志索引;
存储模块,用于将标志索引、结构体和待存储数据保存至第一存储部件。
可选地,还包括:
更新模块,用于当检测到第二存储部件中发生数据修改事件时,根据数据修改事件更新标志索引。
可选地,还包括:
判断模块,用于当检测到读取指令时,判断是否发生不掉电重启事件;
预设读取模块,用于若未发生不掉电重启事件,则按照预设读取规则从第一存储部件中读取目标数据,并将目标数据保存至第二存储部件;
相应的,结构体确定模块410为发生不掉电重启事件,执行从第一存储部件中获取标志索引的步骤以及后续步骤的模块。
应用本发明实施例提供的数据读取装置,利用标志索引记录第二存储设备的数据情况,在需要从第一存储部件中读取目标数据时,先从中获取标志索引,并根据标志索引确定目标结构体。目标结构体与目标数据相对应,用于记录目标数据在第二存储部件中的位置信息。利用目标结构体可以在第一存储部件中确定目标数据,在确定目标数据后按照标志索引将目标数据读出并将其保存至第二存储部件,完成数据的读取。由于利用了标志索引记录第二存储设备的数据情况,因此在发生不掉电重启故障后进行数据读取时可以保证不会发生数据移位,避免了数据加载错误的问题,解决了相关技术在进行数据读取时会产生数据移位,导致数据加载错误的问题。
下面对本发明实施例提供的数据读取设备进行介绍,下文描述的数据读取设备与上文描述的数据读取方法可相互对应参照。
请参考图5,图5为本发明实施例提供的一种数据读取设备的结构示意图。其中数据读取设备500可以包括处理器501和存储器502,还可以进一步包括多媒体组件503、信息输入/信息输出(I/O)接口504以及通信组件505中的一种或多种。
其中,处理器501用于控制数据读取设备500的整体操作,以完成上述的数据读取方法中的全部或部分步骤;存储器502用于存储各种类型的数据以支持在数据读取设备500的操作,这些数据例如可以包括用于在该数据读取设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-Only Memory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。
多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于数据读取设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件505可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
数据读取设备500可以被一个或多个应用专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的数据读取方法。
下面对本发明实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的数据读取方法可相互对应参照。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的数据读取方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上对本发明所提供的数据读取方法、数据读取装置、数据读取设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据读取方法,其特征在于,包括:
从第一存储部件中获取标志索引,并按照所述标志索引确定多个目标结构体;
利用所述目标结构体确定目标数据;
按照所述标志索引读出各个所述目标数据,并保存至第二存储部件。
2.根据权利要求1所述的数据读取方法,其特征在于,所述按照所述标志索引确定多个目标结构体,包括:
按照预设解析规则对所述标志索引进行解析,得到多个标志信息;
利用所述标志信息与各个结构体的结构体信息进行匹配,将通过匹配的所述结构体确定为所述目标结构体。
3.根据权利要求1所述的数据读取方法,其特征在于,所述利用所述目标结构体确定目标数据,包括:
从所述目标结构体中获取地址信息和数据长度信息;
利用所述地址信息和数据长度信息在所述第一存储部件中确定所述目标数据。
4.根据权利要求1所述的数据读取方法,其特征在于,所述按照所述标志索引读出各个所述目标数据,并保存至第二存储部件,包括:
利用所述标志索引确定各个所述目标数据对应的读取顺序;
按照所述读取顺序依次将各个所述目标数据从所述第一存储部件中读出,并按照所述读取顺序将所述目标数据存入所述第二存储部件。
5.根据权利要求1所述的数据读取方法,其特征在于,在所述从第一存储部件中获取标志索引之前,还包括:
在所述第二存储设备中确定多个待存储数据;
生成各个所述待存储数据对应的结构体,并利用各个所述结构体构建所述标志索引;
将所述标志索引、所述结构体和所述待存储数据保存至所述第一存储部件。
6.根据权利要求5所述的数据读取方法,其特征在于,还包括:
当检测到所述第二存储部件中发生数据修改事件时,根据所述数据修改事件更新所述标志索引。
7.根据权利要求1所述的数据读取方法,其特征在于,在所述从第一存储部件中获取标志索引之前,还包括:
当检测到读取指令时,判断是否发生不掉电重启事件;
若未发生所述不掉电重启事件,则按照预设读取规则从所述第一存储部件中读取所述目标数据,并将所述目标数据保存至所述第二存储部件;
若发生所述不掉电重启事件,则执行所述从第一存储部件中获取标志索引的步骤。
8.一种数据读取装置,其特征在于,包括:
结构体确定模块,用于从第一存储部件中获取标志索引,并按照所述标志索引确定多个目标结构体;
目标数据确定模块,用于利用所述目标结构体确定目标数据;
读取模块,用于按照所述标志索引读出各个所述目标数据,并保存至第二存储部件。
9.一种数据读取设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的数据读取方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据读取方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429909.4A CN111596863B (zh) | 2020-05-20 | 2020-05-20 | 一种数据读取方法、装置、设备及可读存储介质 |
PCT/CN2020/127355 WO2021232699A1 (zh) | 2020-05-20 | 2020-11-07 | 一种数据读取方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429909.4A CN111596863B (zh) | 2020-05-20 | 2020-05-20 | 一种数据读取方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111596863A true CN111596863A (zh) | 2020-08-28 |
CN111596863B CN111596863B (zh) | 2023-04-07 |
Family
ID=72182902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010429909.4A Active CN111596863B (zh) | 2020-05-20 | 2020-05-20 | 一种数据读取方法、装置、设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111596863B (zh) |
WO (1) | WO2021232699A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112528091A (zh) * | 2020-12-18 | 2021-03-19 | 深圳市元征科技股份有限公司 | 一种诊断数据获取方法、装置、设备及可读存储介质 |
CN113222807A (zh) * | 2021-05-22 | 2021-08-06 | 上海阵量智能科技有限公司 | 数据存储器、数据存储、读取方法、芯片及计算机设备 |
CN113391990A (zh) * | 2021-06-30 | 2021-09-14 | 未鲲(上海)科技服务有限公司 | 系统日志的监控方法、装置、设备及存储介质 |
WO2021232699A1 (zh) * | 2020-05-20 | 2021-11-25 | 歌尔股份有限公司 | 一种数据读取方法、装置、设备及可读存储介质 |
CN114489494A (zh) * | 2022-01-13 | 2022-05-13 | 深圳欣锐科技股份有限公司 | 一种外部存储器存储配置参数的存储方法及相关设备 |
CN115442263A (zh) * | 2022-08-18 | 2022-12-06 | 上海数禾信息科技有限公司 | 被监控系统的数据监控方法、装置和计算机设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756913B (zh) * | 2022-04-22 | 2024-01-19 | 苏州浪潮智能科技有限公司 | 一种部件安装位置确定方法、装置、设备及介质 |
CN117234743B (zh) * | 2023-11-14 | 2024-02-20 | 苏州元脑智能科技有限公司 | 一种数据发送方法、装置、设备及存储介质 |
CN117785248A (zh) * | 2024-02-28 | 2024-03-29 | 上海励驰半导体有限公司 | 程序升级中关键变量的注册方法、装置、存储介质及芯片 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446138A (zh) * | 2011-09-19 | 2012-05-09 | 清华大学 | 一种单片机系统map数据标定方法 |
CN103176920A (zh) * | 2013-03-26 | 2013-06-26 | 杭州华三通信技术有限公司 | Nor flash掉电保护方法及装置 |
US20140122781A1 (en) * | 2012-10-30 | 2014-05-01 | Mangstor, Inc. | Hierarchical flash translation layer |
CN109189612A (zh) * | 2018-09-04 | 2019-01-11 | 广东小天才科技有限公司 | 一种Linux内核异常时的日志处理方法及电子设备 |
CN109445991A (zh) * | 2018-10-30 | 2019-03-08 | 歌尔科技有限公司 | 一种数据存储方法、系统、智能可穿戴设备及存储介质 |
CN110134323A (zh) * | 2018-02-02 | 2019-08-16 | 河南许继仪表有限公司 | 一种flash存储器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100340989C (zh) * | 2004-04-14 | 2007-10-03 | 华为技术有限公司 | 随机存储器的数据保存方法 |
US7464237B2 (en) * | 2005-10-27 | 2008-12-09 | International Business Machines Corporation | System and method for implementing a fast file synchronization in a data processing system |
CN105653208B (zh) * | 2015-12-31 | 2018-09-14 | 无锡华润矽科微电子有限公司 | 数据存储系统及基于该系统的数据读写方法 |
CN111596863B (zh) * | 2020-05-20 | 2023-04-07 | 歌尔科技有限公司 | 一种数据读取方法、装置、设备及可读存储介质 |
-
2020
- 2020-05-20 CN CN202010429909.4A patent/CN111596863B/zh active Active
- 2020-11-07 WO PCT/CN2020/127355 patent/WO2021232699A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446138A (zh) * | 2011-09-19 | 2012-05-09 | 清华大学 | 一种单片机系统map数据标定方法 |
US20140122781A1 (en) * | 2012-10-30 | 2014-05-01 | Mangstor, Inc. | Hierarchical flash translation layer |
CN103176920A (zh) * | 2013-03-26 | 2013-06-26 | 杭州华三通信技术有限公司 | Nor flash掉电保护方法及装置 |
CN110134323A (zh) * | 2018-02-02 | 2019-08-16 | 河南许继仪表有限公司 | 一种flash存储器 |
CN109189612A (zh) * | 2018-09-04 | 2019-01-11 | 广东小天才科技有限公司 | 一种Linux内核异常时的日志处理方法及电子设备 |
CN109445991A (zh) * | 2018-10-30 | 2019-03-08 | 歌尔科技有限公司 | 一种数据存储方法、系统、智能可穿戴设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
员春欣等编著: "《安全关键计算机系统》", 31 October 2003 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021232699A1 (zh) * | 2020-05-20 | 2021-11-25 | 歌尔股份有限公司 | 一种数据读取方法、装置、设备及可读存储介质 |
CN112528091A (zh) * | 2020-12-18 | 2021-03-19 | 深圳市元征科技股份有限公司 | 一种诊断数据获取方法、装置、设备及可读存储介质 |
CN113222807A (zh) * | 2021-05-22 | 2021-08-06 | 上海阵量智能科技有限公司 | 数据存储器、数据存储、读取方法、芯片及计算机设备 |
CN113222807B (zh) * | 2021-05-22 | 2023-12-19 | 上海阵量智能科技有限公司 | 数据存储器、数据存储、读取方法、芯片及计算机设备 |
CN113391990A (zh) * | 2021-06-30 | 2021-09-14 | 未鲲(上海)科技服务有限公司 | 系统日志的监控方法、装置、设备及存储介质 |
CN114489494A (zh) * | 2022-01-13 | 2022-05-13 | 深圳欣锐科技股份有限公司 | 一种外部存储器存储配置参数的存储方法及相关设备 |
CN115442263A (zh) * | 2022-08-18 | 2022-12-06 | 上海数禾信息科技有限公司 | 被监控系统的数据监控方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2021232699A1 (zh) | 2021-11-25 |
CN111596863B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111596863B (zh) | 一种数据读取方法、装置、设备及可读存储介质 | |
CN110502357B (zh) | 一种栈回溯方法、装置、介质和设备 | |
KR101555210B1 (ko) | 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치 | |
CN112379940B (zh) | 一种可执行文件处理方法、装置、电子设备及存储介质 | |
CN111813465B (zh) | 一种信息获取方法、装置、介质和设备 | |
CN111722878A (zh) | 芯片启动控制方法、芯片、显示面板及电子设备 | |
CN104216802A (zh) | 一种内存数据库恢复方法和设备 | |
CN107463485B (zh) | 基于方法栈的日志获取方法、装置和终端 | |
WO2016155387A1 (zh) | 基于移动终端的插件管理方法及装置 | |
CN103514004A (zh) | Windows系统下的系统环境管理方法及装置 | |
US8769498B2 (en) | Warning of register and storage area assignment errors | |
CN113031871A (zh) | 数据追加聚合方法、装置、电子设备及可读存储介质 | |
CN106502707B (zh) | 代码生成方法及装置 | |
CN112000630A (zh) | 一种日志存储方法、装置、设备及可读存储介质 | |
CN108009039B (zh) | 终端信息的记录方法、装置、存储介质及电子设备 | |
CN110889116A (zh) | 一种广告拦截方法、装置及电子设备 | |
CN115185745A (zh) | 数据处理方法、系统、电子设备及计算机可读存储介质 | |
KR100640243B1 (ko) | 이동통신 단말기의 응용프로그램 실행속도 향상장치 및방법 | |
CN111399926A (zh) | 下载启动程序的方法和装置 | |
CN114443442A (zh) | 日志存储方法及电子设备 | |
CN114420190A (zh) | Emmc损耗度检测方法、装置、电子设备及存储介质 | |
CN114356290A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
EP3936977A1 (en) | Application program management method and apparatus, and storage medium | |
US11194885B1 (en) | Incremental document object model updating | |
CN113760631A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |