CN116483277A - 一种基于eeprom的小型日志存储方法、智能终端及存储介质 - Google Patents
一种基于eeprom的小型日志存储方法、智能终端及存储介质 Download PDFInfo
- Publication number
- CN116483277A CN116483277A CN202310462621.0A CN202310462621A CN116483277A CN 116483277 A CN116483277 A CN 116483277A CN 202310462621 A CN202310462621 A CN 202310462621A CN 116483277 A CN116483277 A CN 116483277A
- Authority
- CN
- China
- Prior art keywords
- log
- eeprom
- state
- log data
- data
- 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 51
- 239000000872 buffer Substances 0.000 claims abstract description 22
- 238000004590 computer program Methods 0.000 claims description 22
- 102000052922 Large Neutral Amino Acid-Transporter 1 Human genes 0.000 description 3
- 108091006232 SLC7A5 Proteins 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种基于EEPROM的小型日志存储方法、智能终端及存储介质,属于日志记录领域,其方法包括:检查队列缓冲区中日志数据的数据长度;在所述数据长度达到预设的长度阈值时,进入读日志状态,读取所述日志数据;退出读日志状态,并进入写日志状态,通过封装于EEPROM驱动的日志存储流程将所述日志数据写入EEPROM。本申请通过将日志存储流程封装于EPPROM驱动中,即可在写日志状态时通过EEPROM驱动即可调用日志存储流程,完成将日志数据写入EEPROM的步骤,无需进行多层调用,有效提高了EEPROM存储的效率。
Description
技术领域
本申请涉及日志记录领域,尤其是涉及一种基于EEPROM的小型日志存储方法、智能终端及存储介质。
背景技术
EEPROM指带电可擦可编程只读存储器,可用于记录日志数据。现有的日志记录使用的是日志记录工具Easylog,在Easylog对EEPROM硬件进行存储操作时,需要经过多层软件接口调用。具体来说,Easylog工具会调用Easy Flash模块、Serial Flash UniversalDriver模块以及ST hal SPI驱动程序模块,才能完成对EEPROM的存储操作。其中EasyFlash模块和Serial Flash Universal Driver模块均为硬件加速模块,用于提高磁盘读写性能,ST hal SPI驱动程序模块为硬件驱动程序模块,被用于安装和运行与ST-link接口的设备,例如磁盘、USB端口和显卡等。
由此申请人认为,在使用Easylog进行EEPROM存储操作时,需要进行多层调用,这种多层调用会导致EEPROM存储的效率低。
发明内容
为了有效提高EEPROM存储的效率,本申请提供一种基于EEPROM的小型日志存储方法、智能终端及存储介质。
第一方面,本申请提供的一种基于EEPROM的小型日志存储方法采用如下的技术方案:
一种基于EEPROM的小型日志存储方法,包括:
检查队列缓冲区中日志数据的数据长度;
在所述数据长度达到预设的长度阈值时,进入读日志状态,读取所述日志数据;
退出读日志状态,并进入写日志状态,通过封装于EEPROM驱动的日志存储流程将所述日志数据写入EEPROM。
通过采用上述技术方案,通过将日志存储流程封装于EPPROM驱动中,即可在写日志状态时通过EEPROM驱动即可调用日志存储流程,完成将日志数据写入EEPROM的步骤,从而与现有的日志记录工具相比,无需进行多层调用,有效提高了EEPROM存储的效率;
除此之外,将队列缓冲区中积累的日志数据按照定量的策略即在数据长度达到预设的长度阈值时写入EEPROM中,可有效避免每次日志数据的写入操作的创建,更有利于提高EEPROM存储的效率。
可选的,所述日志存储流程,包括:
确定EEPROM中的当前目标页和所述当前目标页的当前操作页号;
基于所述当前操作页号,将所述日志数据写入EEPROM。
通过采用上述技术方案,日志存储流程用于将日志数据写入EPPROM,将日志数据写入EEPROM中基于日志存储流程实现。
可选的,EEPROM包括第一磁盘分配区域和第二磁盘分配区域;
所述基于所述当前操作页号,将所述日志数据写入EEPROM,包括:
将所述第一磁盘分配区域中与所述操作页号对应的状态字节内容的操作状态从已修改状态更改为写入状态;
将所述日志数据写入所述当前目标页,并将所述第一磁盘分配区域中与所述操作页号对应的状态字节内容的操作状态从所述写入状态更改为写满状态;
将所述第二磁盘分配区域中与所述操作页号对应的长度标志从未写入标志更改为写满标志;所述长度标志用于标识与所述操作页号对应的所述当前目标页的长度;
将所述第一磁盘分配区域中与所述操作页号对应的状态字节内容的操作状态由写满状态更改为可用状态;所述可用状态用于标识与所述操作页号对应的所述当前目标页的日志数据可用。
通过采用上述技术方案,操作页号用于确定日志数据写入的当前目标页,在将日志数据写入EEPROM时,第一磁盘分配区域用于确定与操作页号对应的状态字节内容的操作状态,第二磁盘分配区域用于确定当前目标页的长度,通过第一磁盘分配区域和第二磁盘分配区域即可实现日志数据的存储。
可选的,在所述通过封装于EEPROM驱动的日志存储流程将所述日志数据写入EEPROM之前,包括:
检查所述第一磁盘分配区域和所述第二磁盘分配区域是否满足预设的擦除条件;
若满足擦除条件,对所述第一磁盘分配区域和所述第二磁盘分配区域进行擦除操作。
通过采用上述技术方案,由于EEPROM只允许在擦除之后写入,故在将日志数据写入EEPROM之前,需检查第一磁盘分配区域与第二磁盘分配区域是否需进行擦除操作。
可选的,在所述退出读日志状态,并进入写日志状态,通过封装于EEPROM驱动的日志存储流程将所述日志数据写入EEPROM之前,还包括:
实时检测电源电压;
在所述电源电压小于预设的电压阈值时,终止所述写日志状态;
启动EEPROM的写保护机制。
通过采用上述技术方案,为了有效降低在电压较低时日志数据丢失的概率,故增加电压保护机制,即在电源电压小于电压阈值时,启动EEPROM的写保护机制。
可选的,所述启动EEPROM的写保护机制,包括:
对待写入的所述日志数据建立副本,得到副本日志数据并保存;
在所述电源电压不小于所述电压阈值时,判断所述待写入的日志数据是否丢失;
若丢失,启动所述写日志状态,并将所述副本日志数据写入EEPROM。
通过采用上述技术方案,在电源电压小于电压阈值时,对日志数据建立副本,有效降低了日志数据丢失的概率,并在日志数据丢失时,可基于副本日志数据写入EEPROM,从而有效对日志数据进行安全保护。
可选的,在所述退出读日志状态,并进入写日志状态,通过封装于EEPROM驱动的日志存储流程将所述日志数据写入EEPROM之后,包括:
判断所述队列缓冲区内的所述日志数据是否全部写入EEPROM;
若队列缓冲区内的所述日志数据全部写入EPPROM,则启动关机状态。
通过采用上述技术方案,在日志数据全部写入EEPROM时,即启动关机状态,从而有效降低EEPROM的磁盘故障的概率。
第二方面,本申请提供的一种智能终端采用如下的技术方案:
一种智能终端,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,所述处理器加载并执行计算机程序时,采用了上述的基于EEPROM的小型日志存储方法。
通过采用上述技术方案,通过将上述的基于EEPROM的小型日志存储方法生成计算机程序,并存储于存储器中,以被处理器加载并执行,从而,根据存储器及处理器制作智能终端,方便使用。
第三方面,本申请提供的一种计算机可读存储介质采用如下的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,采用了上述的基于EEPROM的小型日志存储方法。
通过采用上述技术方案,通过将上述的基于EEPROM的小型日志存储方法生成计算机程序,并存储于计算机可读存储介质中,以被处理器加载并执行,通过计算机可读存储介质,方便计算机程序的可读及存储。
综上所述,本申请具有以下至少一种有益技术效果:
1.通过将日志存储流程封装于EPPROM驱动中,即可在写日志状态时通过EEPROM驱动即可调用日志存储流程,完成将日志数据写入EEPROM的步骤,从而与现有的日志记录工具相比,无需进行多层调用,有效提高了EEPROM存储的效率;除此之外,将队列缓冲区中积累的日志数据按照定量的策略即在数据长度达到预设的长度阈值时写入EEPROM中,可有效避免每次日志数据的写入操作的创建,更有利于提高EEPROM存储的效率。
2.增加电压保护机制,即在电源电压小于电压阈值时,启动EEPROM的写保护机制,有效降低了在电压较低时日志数据丢失的概率。
3.在电源电压小于电压阈值时,对日志数据建立副本,有效降低了日志数据丢失的概率,并在日志数据丢失时,可基于副本日志数据写入EEPROM,从而有效对日志数据进行安全保护。
附图说明
图1是本申请实施例一种基于EEPROM的小型日志存储方法的其中一种实施方式的流程示意图。
图2是本申请实施例一种基于EEPROM的小型日志存储方法的其中一种实施方式的流程示意图。
图3是本申请实施例一种基于EEPROM的小型日志存储方法的其中一种实施方式的流程示意图。
图4是本申请实施例一种基于EEPROM的小型日志存储方法的其中一种实施方式的流程示意图。
图5是本申请实施例一种基于EEPROM的小型日志存储方法的其中一种实施方式的流程示意图。
图6是本申请实施例一种基于EEPROM的小型日志存储方法的其中一种实施方式的流程示意图。
图7是本申请实施例一种基于EEPROM的小型日志存储方法的其中一种实施方式的流程示意图。
具体实施方式
以下结合附图1至7对本申请作进一步详细说明。
本申请实施例公开一种基于EEPROM的小型日志存储方法。
参照图1,一种基于EEPROM的小型日志存储方法包括如下步骤:
S101、检查队列缓冲区中日志数据的数据长度。
队列缓冲区是一种数据库结构,用于将日志数据组织成若干队列,每个队列中的日志数据的数据长度一致,在分布式系统中,通常会使用消息队列来传输数据,即通过队列缓冲区传输日志数据,便于有效避免重复的数据传输,提高数据处理的效率。
日志数据的数据长度的单位为字节byte,即若日志数据占用的字节数为2字节,则数据长度为2字节。
S102、在数据长度达到预设的长度阈值时,进入读日志状态,读取日志数据。
长度阈值为预设。本实施例中,长度阈值为256字节,即在数据长度为256字节时,进入读日志状态,并读取日志数据。具体的,在读日志状态中,每隔10ms检查队列缓冲区中的日志数据是否有256字节数据,若有256字节数据,则取出256字节数据,然后退出读日志状态,进入写日志状态。
S103、退出读日志状态,并进入写日志状态,通过封装于EEPROM驱动的日志存储流程将日志数据写入EEPROM。
读日志状态用于标识当前执行读取日志数据的状态,同理,写日志状态用于标识当前执行将日志数据写入EPPROM的状态,需要说明的是,在读日志状态时不可进行写日志状态。
日志存储流程为将日志数据写入EEPROM的步骤,具体以代码的方式封装于EPPROM驱动中,EEPROM驱动是实现EEPROM读写操作的程序或软件,用于实现在计算机系统与EEPROM之间的数据传输。具体的,在写日志状态,日志数据通过封装于EEPROM驱动的日志存储流程即可被写入EEPROM,无需调用多个接口程序,从而有效提高EEPROM存储的效率。
本实施例的实施原理为:通过将日志存储流程封装于EPPROM驱动中,即可在写日志状态时通过EEPROM驱动即可调用日志存储流程,完成将日志数据写入EEPROM的步骤,从而与现有的日志记录工具相比,无需进行多层调用,有效提高了EEPROM存储的效率;
除此之外,将队列缓冲区中积累的日志数据按照定量的策略即在数据长度达到预设的长度阈值时写入EEPROM中,可有效避免每次日志数据的写入操作的创建,更有利于提高EEPROM存储的效率。
在本实施例的其中一种实施方式中,参照图2,日志存储流程,包括如下步骤:
S201、确定EEPROM中的当前目标页和当前目标页的当前操作页号。
操作页号是用于表示页号的标识符,又称CruPageID,通常情况下,CruPageID用于记录某个数据页的页号,用来表示数据库中当前正在使用的页的位置。具体的,确定EEPROM中的当前目标页的步骤如下:
1.从EEPROM的预设起始地址开始扫描EEPROM中每个页面的状态字节,查找空余页面;
在状态字节为0x00时,表示页面为空余页面。
2.如果找到空页面,则判断其紧邻的所有页面中是否有已写满数据的页面,如果有,则将该空页面略过,继续扫描下一个页面,否则该页即为当前目标页。
3.如果扫描完所有页面均未找到可用页面,则回到第一个页面继续扫描,直到扫描完整个EEPROM。
找到目标页后,就可以确定操作页号CurPageID,即当前目标页的操作页号。在写入数据时,将数据写到当前目标页对应的数据区内即可。
S202、基于当前操作页号,将日志数据写入EEPROM。
已知操作页号,即可将日志数据写入操作页号对应的EEPROM中的当前目标页。
本实施方式提供的基于EEPROM的小型日志存储方法,日志存储流程用于将日志数据写入EPPROM,将日志数据写入EEPROM中基于日志存储流程实现。
在本实施例的其中一种实施方式中,参照图3,EEPROM包括第一磁盘分配区域和第二磁盘分配区域;
基于当前操作页号,将日志数据写入EEPROM,包括如下步骤:
S301、将第一磁盘分配区域中与操作页号对应的状态字节内容的操作状态从已修改状态更改为写入状态。
第一磁盘分配区域指LAT1区域,第二磁盘分配区域指LAT0区域,具体的,LAT1区域用于管理数据页的物理地址、状态信息和其他元数据的数据结构。LAT0区域亦用于管理数据库中缓冲区中的数据页,与LAT1区域不同的是,LAT0区域用于管理每个数据页的长度。数据页的长度指数据页中日志数据的数据长度。
状态字节内容通过数字编码表示,例如状态字节内容为0xff,表示操作页号对应的目标页未使用,状态字节内容为0x3f,表示操作页号对应的目标页开始进行写数据。与之对应,则状态字节内容的操作状态为已修改状态时,表示状态字节内容为0xff,状态字节内容的操作状态为写入状态时,表示状态字节内容为0x3f。
将操作状态从已修改状态更改为写入状态,表示操作页号对应的当前目标页可写入数据。
S302、将日志数据写入当前目标页,并将第一磁盘分配区域中与操作页号对应的状态字节内容的操作状态从写入状态更改为写满状态。
在当前目标页可写入数据时,便将日志数据写入当前目标页,并将第一磁盘分配区域中与操作页号对应的状态字节内容的操作状态从写入状态更改为写满状态,写满状态对应的状态字节内容为0x0f,表示当前目标页写满日志数据。
S303、将第二磁盘分配区域中与操作页号对应的长度标志从未写入标志更改为写满标志;长度标志用于标识与操作页号对应的当前目标页的长度。
在当前目标页写满日志数据后,即将第二磁盘分配区域中与操作页号对应的长度标志从未写入标志更改为写满标志,写满标志对应的长度标志为0x00,未写入标志对应的长度标志为0xff。从未写入标志更改为写满标志表示当前目标页写满日志数据。
S304、将第一磁盘分配区域中与操作页号对应的状态字节内容的操作状态由写满状态更改为可用状态;可用状态用于标识与操作页号对应的当前目标页的日志数据可用。
可用状态对应的状态字节内容为0x03,表示当前目标页可被检索和读取,即用于标识与操作页号对应的当前目标页的日志数据可用。
本实施方式提供的基于EEPROM的小型日志存储方法,操作页号用于确定日志数据写入的当前目标页,在将日志数据写入EEPROM时,第一磁盘分配区域用于确定与操作页号对应的状态字节内容的操作状态,第二磁盘分配区域用于确定当前目标页的长度,通过第一磁盘分配区域和第二磁盘分配区域即可实现日志数据的存储。
在本实施例的其中一种实施方式中,参照图4,在通过封装于EEPROM驱动的日志存储流程将日志数据写入EEPROM之前,包括如下步骤:
S401、检查第一磁盘分配区域和第二磁盘分配区域是否满足预设的擦除条件。
本实施例中,擦除条件包括Block擦除条件和Sector擦除条件。Block擦除是指块擦除。Sector擦除指扇区擦除。擦除条件为擦除指令,为人为预设。例如将写满的操作页号0x2ff作为Block擦除的触发条件,则当操作页号0x2ff写满时,则执行Block擦除。
S402、若满足擦除条件,对第一磁盘分配区域和第二磁盘分配区域进行擦除操作。
若触发擦除条件,则基于擦除条件对对应的磁盘分配区域进行擦除操作。
本实施方式提供的基于EEPROM的小型日志存储方法,由于EEPROM只允许在擦除之后写入,故在将日志数据写入EEPROM之前,需检查第一磁盘分配区域与第二磁盘分配区域是否需进行擦除操作。
在本实施例的其中一种实施方式中,参照图5,在退出读日志状态,并进入写日志状态,通过封装于EEPROM驱动的日志存储流程将日志数据写入EEPROM之前,还包括如下步骤:
S501、实时检测电源电压。
电源电压根据预设的监测软件检测得到,监测软件除可检测电源电压外,还可检测功率等。
S502、在电源电压小于预设的电压阈值时,终止写日志状态。
在电源电压小于电压阈值时,表明此时电压状态异常,可能导致断电,影响日志数据写入EPPROM,此时则终止写日志状态,从而有效降低数据在电压状态异常时丢失的概率。
S503、启动EEPROM的写保护机制。
除以上终止写日志状态保护日志数据外,还启动EEPROM的写保护机制,用于在日志数据丢失时的异常情况进行预防,例如建立数据副本、将日志数据存储至另一缓冲区等。
本实施方式提供的基于EEPROM的小型日志存储方法,为了有效降低在电压较低时日志数据丢失的概率,故增加电压保护机制,即在电源电压小于电压阈值时,启动EEPROM的写保护机制。
在本实施例的其中一种实施方式中,参照图6,启动EEPROM的写保护机制,包括如下步骤:
S601、对待写入的日志数据建立副本,得到副本日志数据并保存。
在本实施例中,EPPROM的写保护机制为对还未写入的日志数据即待写入的日志数据建立副本,并保存。具体的,可将待写入的日志数据复制并保存至另一磁盘,即建立副本日志数据并保存。
S602、在电源电压不小于电压阈值时,判断待写入的日志数据是否丢失。
在电源电压不小于电压阈值时,表明电源电压恢复正常,此时通过获取在保存副本前日志数据所在的缓冲区是否存在日志数据以判断待写入的日志数据是否丢失。
S603、若丢失,启动写日志状态,并将副本日志数据写入EEPROM。
若待写入的日志数据丢失,则启动写日志状态,将已建立副本的日志数据写入EPPROM。
若待写入的日志数据未丢失,则删除另一磁盘内的日志数据副本,并将待写入的日志数据写入EPPROM。
本实施方式提供的基于EEPROM的小型日志存储方法,在电源电压小于电压阈值时,对日志数据建立副本,有效降低了日志数据丢失的概率,并在日志数据丢失时,可基于副本日志数据写入EEPROM,从而有效对日志数据进行安全保护。
在本实施例的其中一种实施方式中,参照图7,在退出读日志状态,并进入写日志状态,通过封装于EEPROM驱动的日志存储流程将日志数据写入EEPROM之后,包括如下步骤:
S701、判断队列缓冲区内的日志数据是否全部写入EEPROM。
通过判断队列缓冲区内是否还存在日志数据来判断队列缓冲区内的日志数据是否全部写入EEPROM。
S702、若队列缓冲区内的日志数据全部写入EPPROM,则启动关机状态。
若队列缓冲区内的日志数据全部写入EPPROM,则启动关机状态,关机状态指终止日志数据的读日志状态和写日志状态,进而便于降低EEPROM的磁盘故障的概率。
本实施方式提供的基于EEPROM的小型日志存储方法,在日志数据全部写入EEPROM时,即启动关机状态,从而有效降低EEPROM的磁盘故障的概率。
本申请实施例还公开一种智能终端,包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,其中,处理器执行计算机程序时,采用了上述实施例中的基于EEPROM的小型日志存储方法。
其中,智能终端可以采用台式电脑、笔记本电脑或者云端服务器等计算机设备,并且,智能终端包括但不限于处理器以及存储器,例如,智能终端还可以包括输入输出设备、网络接入设备以及总线等。
其中,处理器可以采用中央处理单元(CPU),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本申请对此不做限制。
其中,存储器可以为智能终端的内部存储单元,例如,智能终端的硬盘或者内存,也可以为智能终端的外部存储设备,例如,智能终端上配备的插接式硬盘、智能存储卡(SMC)、安全数字卡(SD)或者闪存卡(FC)等,并且,存储器还可以为智能终端的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及智能终端所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本申请对此不做限制。
其中,通过本智能终端,将上述实施例中的基于EEPROM的小型日志存储方法存储于智能终端的存储器中,并且,被加载并执行于智能终端的处理器上,方便使用。
本申请实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例中的基于EEPROM的小型日志存储方法。
其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM)、随机存取存储器(RAM)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
其中,通过本计算机可读存储介质,将上述实施例中的基于EEPROM的小型日志存储方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。
Claims (9)
1.一种基于EEPROM的小型日志存储方法,其特征在于,包括:
检查队列缓冲区中日志数据的数据长度;
在所述数据长度达到预设的长度阈值时,进入读日志状态,读取所述日志数据;
退出读日志状态,并进入写日志状态,通过封装于EEPROM驱动的日志存储流程将所述日志数据写入EEPROM。
2.根据权利要求1所述的一种基于EEPROM的小型日志存储方法,其特征在于,所述日志存储流程,包括:
确定EEPROM中的当前目标页和所述当前目标页的当前操作页号;
基于所述当前操作页号,将所述日志数据写入EEPROM。
3.根据权利要求2所述的一种基于EEPROM的小型日志存储方法,其特征在于,EEPROM包括第一磁盘分配区域和第二磁盘分配区域;
所述基于所述当前操作页号,将所述日志数据写入EEPROM,包括:
将所述第一磁盘分配区域中与所述操作页号对应的状态字节内容的操作状态从已修改状态更改为写入状态;
将所述日志数据写入所述当前目标页,并将所述第一磁盘分配区域中与所述操作页号对应的状态字节内容的操作状态从所述写入状态更改为写满状态;
将所述第二磁盘分配区域中与所述操作页号对应的长度标志从未写入标志更改为写满标志;所述长度标志用于标识与所述操作页号对应的所述当前目标页的长度;
将所述第一磁盘分配区域中与所述操作页号对应的状态字节内容的操作状态由写满状态更改为可用状态;所述可用状态用于标识与所述操作页号对应的所述当前目标页的日志数据可用。
4.根据权利要求3所述的一种基于EEPROM的小型日志存储方法,其特征在于,在所述通过封装于EEPROM驱动的日志存储流程将所述日志数据写入EEPROM之前,包括:
检查所述第一磁盘分配区域和所述第二磁盘分配区域是否满足预设的擦除条件;
若满足擦除条件,对所述第一磁盘分配区域和所述第二磁盘分配区域进行擦除操作。
5.根据权利要求1所述的一种基于EEPROM的小型日志存储方法,其特征在于,在所述退出读日志状态,并进入写日志状态,通过封装于EEPROM驱动的日志存储流程将所述日志数据写入EEPROM之前,还包括:
实时检测电源电压;
在所述电源电压小于预设的电压阈值时,终止所述写日志状态;
启动EEPROM的写保护机制。
6.根据权利要求5所述的一种基于EEPROM的小型日志存储方法,其特征在于,所述启动EEPROM的写保护机制,包括:
对待写入的所述日志数据建立副本,得到副本日志数据并保存;
在所述电源电压不小于所述电压阈值时,判断所述待写入的日志数据是否丢失;
若丢失,启动所述写日志状态,并将所述副本日志数据写入EEPROM。
7.根据权利要求1所述的一种基于EEPROM的小型日志存储方法,其特征在于,在所述退出读日志状态,并进入写日志状态,通过封装于EEPROM驱动的日志存储流程将所述日志数据写入EEPROM之后,包括:
判断所述队列缓冲区内的所述日志数据是否全部写入EEPROM;
若队列缓冲区内的所述日志数据全部写入EPPROM,则启动关机状态。
8.一种智能终端,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,其特征在于,所述处理器加载并执行计算机程序时,采用了权利要求1至7中任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310462621.0A CN116483277A (zh) | 2023-04-22 | 2023-04-22 | 一种基于eeprom的小型日志存储方法、智能终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310462621.0A CN116483277A (zh) | 2023-04-22 | 2023-04-22 | 一种基于eeprom的小型日志存储方法、智能终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116483277A true CN116483277A (zh) | 2023-07-25 |
Family
ID=87224781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310462621.0A Pending CN116483277A (zh) | 2023-04-22 | 2023-04-22 | 一种基于eeprom的小型日志存储方法、智能终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116483277A (zh) |
-
2023
- 2023-04-22 CN CN202310462621.0A patent/CN116483277A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634517B (zh) | 进行存取管理的方法、记忆装置、电子装置和其控制器 | |
US9483396B2 (en) | Control apparatus, storage device, and storage control method | |
US8112682B2 (en) | Method and device for bad-block testing | |
US20060064576A1 (en) | Boot systems and methods | |
KR20040038712A (ko) | 비휘발성 메모리 시스템에서 사용하기 위한 전원 관리 블럭 | |
JP5422652B2 (ja) | フラッシュメモリ記憶装置における動的メモリ割当てに起因する自己エビクションの回避 | |
CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
KR20080024187A (ko) | 비-제위치 실행 플래시 메모리에서 영속 파일을 액세스하기위한 장치, 시스템 및 방법 | |
CN108829342B (zh) | 一种日志存储方法、系统及存储装置 | |
WO2008093961A1 (en) | System and method for processing read request | |
US8352807B2 (en) | Semiconductor memory device, host device and semiconductor memory system | |
EP2395513A1 (en) | Memory device, memory management device, and memory management method | |
CN109496292A (zh) | 一种磁盘管理方法、磁盘管理装置及电子设备 | |
US20070043775A1 (en) | Apparatus, system, and program for determining consistency of a database | |
CN115407943A (zh) | 一种内存转储文件生成方法、装置、设备及可读存储介质 | |
CN109690465B (zh) | 一种存储设备管理方法及用户终端 | |
US20230238068A1 (en) | Data storage control method, electronic device, and storage medium | |
CN116483277A (zh) | 一种基于eeprom的小型日志存储方法、智能终端及存储介质 | |
US20120303879A1 (en) | Memory Device and Method for Programming Flash Memory Utilizing Spare Blocks | |
CN103389943A (zh) | 控制装置、存储装置及存储控制方法 | |
CN108984117B (zh) | 一种数据读写方法、介质及设备 | |
CN113470725A (zh) | 一种动态随机存储器的测试方法及装置 | |
CN110825714A (zh) | 文件存储控制方法及其装置、文件存储装置、电子装置 | |
CN112162937A (zh) | 存储芯片的数据回收方法、装置、计算机设备及存储介质 | |
CN112905112B (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 |