嵌入式系统的日志存储方法、系统及日志读取方法和系统的制作方法

文档序号:6516146阅读:293来源:国知局
嵌入式系统的日志存储方法、系统及日志读取方法和系统的制作方法
【专利摘要】本发明公开了一种嵌入式系统的日志存储方法、系统及日志读取方法和系统,所述日志存储方法包括:获取嵌入式系统的日志数据;将所述日志数据写入随机存储器中;将写入所述随机存储器中的日志数据复制到外存储器中。本发明的嵌入式系统的日志存储方法、系统及日志读取方法和系统,先将日志数据保存在随机存储器中,再从随机存储器中将日志数据复制到外存储器。在嵌入式软件系统上,既能保证所有任务的正常运行,又能以较低的内存利用率将日志数据快速的保存,且发生掉电时从随机存储器复制到外存储器的日志数据也不会丢失。既可快速从随机存储器中快速读取日志数据,又可及时从外存储器中读取随机存储器丢失的日志数据。
【专利说明】嵌入式系统的日志存储方法、系统及日志读取方法和系统
【技术领域】
[0001]本发明涉及嵌入式系统领域,特别是涉及一种嵌入式系统的日志存储方法、系统及日志读取方法和系统。
【背景技术】
[0002]在嵌入式系统的日志保存方面,需要对文件快速无顺序的保存,并按照用户需求将日志数据读出。随着技术的不断进步,将操作文件按照指定位置保存的需求越来越高,而且按照需求读出不同需要的数据,既要保证时间高效性,也要保证数据的简易性。在嵌入式系统中,主要通过将日志文件直接存储在与CPU连接的RAM (random access memory,随机存储器)中。
[0003]但是将日志文件直接存储在RAM中,在系统掉电后容易丢失日志文件。

【发明内容】

[0004]基于此,有必要针对上述仿真技术中存在硬件资源消耗大、操作繁复的问题,提供一种嵌入式系统的日志存储方法、系统及日志读取方法和系统。
[0005]一种嵌入式系统的日志存储方法,包括以下步骤:
[0006]获取嵌入式系统的日志数据;
[0007]将所述日志数据写入随机存储器中;
[0008]将写入所述随机存储器中的日志数据复制到外存储器中。
[0009]一种嵌入式系统的日志存储系统,包括:
[0010]获取单元,用于获取嵌入式系统的日志数据;
[0011]写入单元,用于将所述日志数据写入随机存储器中;
[0012]转存单元,用于将写入所述随机存储器中的日志数据复制到外存储器中。
[0013]上述嵌入式系统的日志存储方法和系统,先将日志数据保存在随机存储器中,再从随机存储器中将日志数据复制到外存储器。在嵌入式软件系统上,既能保证所有任务的正常运行,又能以较低的内存利用率将日志数据快速的保存,且发生掉电时从随机存储器复制到外存储器的日志数据也不会丢失。
[0014]一种嵌入式系统的日志读取方法,包括以下步骤:
[0015]检测日志读取指令,并根据所述读取指令从随机存储器读取日志数据;
[0016]若所述随机存储器中不存在所述日志数据时,从外存储器中读取所述日志数据,其中,所述外存储器中的所述日志数据从所述随机存储器复制而来。
[0017]—种嵌入式系统的日志读取系统,包括:
[0018]第一读取单元,用于检测日志读取指令,并根据所述读取指令从随机存储器读取日志数据;
[0019]第二读取单元,用于在所述随机存储器中不存在所述日志数据时,从外存储器中读取所述日志数据,其中,所述外存储器中的所述日志数据从所述随机存储器复制而来。[0020]上述嵌入式系统的日志读取方法和系统,可根据日志读取指令快速从随机存储器中快速读取日志数据,且在随机存储器由于掉电等原因丢失需要读取的日志数据时,可及时从外存储器中读取所述日志数据。
[0021]一种嵌入式系统的日志读取方法,包括以下步骤:
[0022]获取嵌入式系统的日志数据;
[0023]将所述日志数据写入随机存储器中;
[0024]将写入所述随机存储器中的日志数据复制到外存储器中;
[0025]检测日志读取指令,并根据所述读取指令从所述随机存储器读取所述日志数据;
[0026]若所述随机存储器中不存在所述日志数据时,从外存储器中读取所述日志数据。
[0027]—种嵌入式系统的日志读取系统,包括:
[0028]获取单元,用于获取嵌入式系统的日志数据;
[0029]写入单元,用于将所述日志数据写入随机存储器中;
[0030]转存单元,用于将写入所述随机存储器中的日志数据复制到外存储器中;
[0031]第一读取单元,用于检测日志读取指令,并根据所述读取指令从所述随机存储器读取所述日志数据;
[0032]第二读取单元,用于在所述随机存储器中不存在所述日志数据时,从外存储器中读取所述日志数据。
[0033]上述嵌入式系统的日志读取方法和系统,在嵌入式软件系统上,既能保证所有任务的正常运行,又能以较低的内存利用率将日志数据快速的保存,且发生掉电时从随机存储器复制到外存储器的日志数据也不会丢失。同时既可快速从随机存储器中快速读取日志数据,又可及时从外存储器中读取随机存储器丢失的日志数据。
【专利附图】

【附图说明】
[0034]图1是本发明嵌入式系统的日志存储方法第一实施方式的流程示意图;
[0035]图2是本发明嵌入式系统的日志存储方法第二实施方式的流程示意图;
[0036]图3是本发明嵌入式系统的日志存储系统第一实施方式的结构示意图;
[0037]图4是本发明嵌入式系统的日志读取方法第一实施方式的流程示意图;
[0038]图5是本发明嵌入式系统的日志读取系统第一实施方式的结构示意图;
[0039]图6是本发明嵌入式系统的另一日志读取方法第一实施方式的流程示意图;
[0040]图7是本发明嵌入式系统的另一日志读取系统第一实施方式的结构示意图。
【具体实施方式】
[0041]请参阅图1,图1是本发明嵌入式系统的日志存储方法第一实施方式的流程示意图。
[0042]本实施方式的所述嵌入式系统的日志存储方法包括以下步骤:
[0043]步骤101,获取嵌入式系统的日志数据。
[0044]步骤102,将所述日志数据写入随机存储器中。
[0045]步骤103,将写入所述随机存储器中的日志数据复制到外存储器中。
[0046]本实施方式所述的嵌入式系统的日志存储方法,先将日志数据保存在随机存储器中,再从随机存储器中将日志数据复制到外存储器。在嵌入式软件系统上,既能保证所有任务的正常运行,又能以较低的内存利用率将日志数据快速的保存,且发生掉电时从随机存储器复制到外存储器的日志数据也不会丢失。
[0047]其中,对于步骤101,优选地从与随机存储器连接的CPU种获取所述日志数据。所述日志数据的数目可以为多条。
[0048]对于步骤102,可通过调用预设的用于写入数据的接口函数将日志数据写入所述随机存储器中。
[0049]在一个实施例中,所述将所述日志数据写入随机存储器中的步骤包括以下步骤:
[0050]步骤1021,查找所述随机存储器中是否存在与所述日志数据对应的日志文件,若存在,将所述日志数据写入所述日志文件中,并记录所述日志数据的身份标识(即ID内容)、写入位置、写入时间和优先级等相关信息。
[0051 ] 步骤1022,若不存在,在所述随机存储器中创建与所述日志数据对应的日志文件,将所述日志数据写入所述日志文件中,并记录所述日志数据的身份标识(即ID内容)、写入位置、写入时间和优先级等相关信息。
[0052]本实施例将日志数据写入随机存储器的指定日志文件中,并记录所述日志数据的身份标识(即ID内容)、写入位置、写入时间和优先级等相关信息,方便进行日志数据的读取。
[0053]其中,对于步骤1021,所述日志文件优选地包括数据头和多条数据内容。所述数据头用于记录当前文件位置和写入日志数据的总数量,所述数据头后面位置就是具体数据内容,每一条数据内容的格式和字数可相同。每条数据内容可包括写入数据位置、写入数据时间、写入数据内容的优先级或写入数据日志ID (日志数据的身份标识)等相关信息。
[0054]优选地,相互对应的日志文件和日志数据具有共同特征。可通过查找共同特征来判断所述随机存储器中是否存在与所述日志数据对应的日志文件。也可预先设置不同的日志数据与随机存储器中日志文件的对应关系,根据所述对应关系查找所述随机存储器中是否存在与所诉日志数据对应的日志文件。
[0055]对于步骤1022,如果所述随机存储没有与所述日志数据对应的日志文件存时,创建与所述日志数据对应的日志文件,并初始化所述日志文件的数据头的内容,将数据头写入RAM中去,数据头的内容包括当前文件位置(CurPos)、已经写入的日志数据的总数量(Totalffrite)和文件可保存的总数量(TotalCount)。
[0056]在其他实施方式中,也可以将日志数据随机、无序的存储在所述随机存储器中。
[0057]对于步骤103,可直接将所述随机存储器中的日志数据复制到所述外存储器中,还可通过复制所述日志文件将所述随机存储器中的日志数据复制到所述外存储器。
[0058]优选地,所述外存储器为Flash存储器。
[0059]进一步地,可预先根据嵌入式系统的运行状况,设定复制所述日志数据的时段或时间间隔。
[0060]在一个实施例中,所述将写入所述随机存储器中的日志数据复制到外存储器中的步骤包括以下步骤:
[0061]步骤1031,设置轮询时间和互斥信号。
[0062]步骤1032,根据设置的轮询时间和互斥信号将所述日志数据复制到外存储器中。[0063]步骤1033,释放所述互斥信号。
[0064]其中,对于步骤1031,设置轮询时间,用来调控每隔预设时间段将文件从随机存储器中写入外存储器中去,根据嵌入式系统的实际运行情况,可将所述时间段设置为30分钟。
[0065]在设置轮询时间时,必须设置一个合理的时间段,所述时间段若太长,一旦系统断电,将丢失所以还没有来得复制到外存储器中的日志文件,那么日志文件就不会得到好的保存。如果时间太短,由于写入外存储器的时间过长,导致大量占用CPU,使CPU使用率过低,无法更快的完成其他业务,同时多次刷新外存储器,更容易引起CPU效率过低,外存储器寿命短等问题,损失严重。
[0066]对于步骤1032,可新建立一个任务用来做复制,即不影响日志文件拷贝RAM任务,也不影响其他业务正常运行。
[0067]在本实施例中,如果文件过多,可多次重复设置互斥信号、复制日志数据和释放互斥信号的步骤,若通过复制日志文件将日志数据复制到外存储器中时,每复制一个日志文件就要重新建立互斥信号量,这样不会使其他任务一直在等待中。
[0068]请参阅图2,图2是本发明嵌入式系统的日志存储方法第二实施方式的流程示意图。
[0069]本实施方式的所述嵌入式系统的日志存储方法与第一实施方式的区别在于:所述将所述日志数据写入随机存储器中的步骤包括以下步骤:
[0070]步骤201,比较所述日志数据的写入位置与所述随机存储器的日志文件的最大写入位置,若所述日志数据的写入位置大于所述最大写入位置,则返回错误报告。
[0071 ] 步骤202,若所述日志数据的写入位置不大于所述最大写入位置,则比较所述日志数据的写入位置与所述日志文件的文件头中记录的当前文件位置,若所述日志数据的写入位置不大于所述当前文件位置,则将所述日志数据覆盖所述日志文件中与所述日志数据的写入位置相同的位置上的数据。
[0072]步骤203,若所述日志数据的写入位置大于所述当前文件位置,则在所述日志文件中,将所述日志数据的写入位置与所述当前文件位置之间写入用于标识该位置无数据内容的零值,并将所述日志数据写入所述日志文件中与所述日志数据的写入位置相同的位置。
[0073]步骤204,更新所述日志文件的数据头中记录的当前文件位置和已写入的日志数据的数量。
[0074]本实施方式所述的嵌入式系统的日志存储方法,通过将日志数据写入对应的日志文件的指定位置,在方便进行下一次的日志写入的同时方便日志数据的读取。
[0075]请参阅图3,图3是本发明嵌入式系统的日志存储系统第一实施方式的结构示意图。
[0076]本实施方式的所述嵌入式系统的日志存储系统包括获取单元100、写入单元200和转存单元300,其中:
[0077]获取单元100,用于获取嵌入式系统的日志数据。
[0078]写入单元200,用于将所述日志数据写入随机存储器中。
[0079]转存单元300,用于将写入所述随机存储器中的日志数据复制到外存储器中。
[0080]本实施方式所述的嵌入式系统的日志存储系统,先将日志数据保存在随机存储器中,再从随机存储器中将日志数据复制到外存储器。在嵌入式软件系统上,既能保证所有任务的正常运行,又能以较低的内存利用率将日志数据快速的保存,且发生掉电时从随机存储器复制到外存储器的日志数据也不会丢失。
[0081 ] 其中,对于获取单元,优选地从与随机存储器连接的CPU种获取所述日志数据。所述日志数据的数目可以为多条。
[0082]对于写入单元200,可通过调用预设的用于写入数据的接口函数将日志数据写入所述随机存储器中。
[0083]在一个实施例中,写入单元200可用于:
[0084]查找所述随机存储器中是否存在与所述日志数据对应的日志文件,若存在,将所述日志数据写入所述日志文件中,并记录所述日志数据的身份标识(即ID内容)、写入位置、写入时间和优先级等相关信息。
[0085]若不存在,在所述随机存储器中创建与所述日志数据对应的日志文件,将所述日志数据写入所述日志文件中,并记录所述日志数据的身份标识(即ID内容)、写入位置、写入时间和优先级等相关信息。
[0086]本实施例将日志数据写入随机存储器的指定日志文件中,并记录所述日志数据的身份标识(即ID内容)、写入位置、写入时间和优先级等相关信息,方便进行日志数据的读取。
[0087]其中,对于写入单元200,所述日志文件优选地包括数据头和多条数据内容。所述数据头用于记录当前文件位置和写入日志数据的总数量,所述数据头后面位置就是具体数据内容,每一条数据内容的格式和字数可相同。每条数据内容可包括写入数据位置、写入数据时间、写入数据内容的优先级或写入数据日志ID (日志数据的身份标识)等相关信息。
[0088]优选地,相互对应的日志文件和日志数据具有共同特征。可通过查找共同特征来判断所述随机存储器中是否存在与所述日志数据对应的日志文件。也可预先设置不同的日志数据与随机存储器中日志文件的对应关系,根据所述对应关系查找所述随机存储器中是否存在与所诉日志数据对应的日志文件。
[0089]进一步地,如果所述随机存储没有与所述日志数据对应的日志文件存时,创建与所述日志数据对应的日志文件,并初始化所述日志文件的数据头的内容,将数据头写入RAM中去,数据头的内容包括当前文件位置(CurPos)、已经写入的日志数据的总数量(Totalffrite)和文件可保存的总数量(TotalCount)。
[0090]在其他实施方式中,写入单元200也可以将日志数据随机、无序的存储在所述随机存储器中。
[0091]对于转存单元300,可直接将所述随机存储器中的日志数据复制到所述外存储器中,还可通过复制所述日志文件将所述随机存储器中的日志数据复制到所述外存储器。
[0092]优选地,所述外存储器为Flash存储器。
[0093]进一步地,可预先根据嵌入式系统的运行状况,设定复制所述日志数据的时段或时间间隔。
[0094]在一个实施例中,转存单元300可用于设置轮询时间和互斥信号,根据设置的轮询时间和互斥信号将所述日志数据复制到外存储器中,释放所述互斥信号。
[0095]其中,设置轮询时间,用来调控每隔预设时间段将文件从随机存储器中写入外存储器中去,根据嵌入式系统的实际运行情况,可将所述时间段设置为30分钟。
[0096]优选地,在设置轮询时间时,必须设置一个合理的时间段,所述时间段若太长,一旦系统断电,将丢失所以还没有来得复制到外存储器中的日志文件,那么日志文件就不会得到好的保存。如果时间太短,由于写入外存储器的时间过长,导致大量占用CPU,使CPU使用率过低,无法更快的完成其他业务,同时多次刷新外存储器,更容易引起CPU效率过低,外存储器寿命短等问题,损失严重。
[0097]进一步地,可新建立一个任务用来做复制,即不影响日志文件拷贝RAM任务,也不影响其他业务正常运行。
[0098]在本实施例中,如果文件过多,可多次重复设置互斥信号、复制日志数据和释放互斥信号的步骤,若通过复制日志文件将日志数据复制到外存储器中时,每复制一个日志文件就要重新建立互斥信号量,这样不会使其他任务一直在等待中。
[0099]以下所述是本发明嵌入式系统的日志存储系统第二实施方式。
[0100]本实施方式的所述嵌入式系统的日志存储系统与第一实施方式的区别在于:写入单元200还可进一步用于:
[0101]比较所述日志数据的写入位置与所述随机存储器的日志文件的最大写入位置,若所述日志数据的写入位置大于所述最大写入位置,则返回错误报告。
[0102]若所述日志数据的写入位置不大于所述最大写入位置,则比较所述日志数据的写入位置与所述日志文件的文件头中记录的当前文件位置,若所述日志数据的写入位置不大于所述当前文件位置,则将所述日志数据覆盖所述日志文件中与所述日志数据的写入位置相同的位置上的数据。
[0103]若所述日志数据的写入位置大于所述当前文件位置,则在所述日志文件中,将所述日志数据的写入位置与所述当前文件位置之间写入用于标识该位置无数据内容的零值,并将所述日志数据写入所述日志文件中与所述日志数据的写入位置相同的位置。
[0104]更新所述日志文件的数据头中记录的当前文件位置和已写入的日志数据的数量。
[0105]本实施方式所述的嵌入式系统的日志存储系统,通过将日志数据写入对应的日志文件的指定位置,在方便进行下一次的日志写入的同时方便日志数据的读取。
[0106]请参阅图4,图4是本发明嵌入式系统的日志读取方法第一实施方式的流程示意图。
[0107]本实施方式的所述嵌入式系统的日志读取方法包括以下步骤:
[0108]步骤401,检测日志读取指令,并根据所述读取指令从随机存储器读取日志数据。
[0109]步骤402,若所述随机存储器中不存在所述日志数据时,从外存储器中读取所述日志数据,其中,所述外存储器中的所述日志数据从所述随机存储器复制而来。
[0110]上述嵌入式系统的日志读取方法,可根据日志读取指令快速从随机存储器中快速读取日志数据,且在随机存储器由于掉电等原因丢失需要读取的日志数据时,可进一步从外存储器中读取所述日志数据。
[0111]其中,对于步骤401和步骤402,在读取日志数据时,优先从随机存储器中读取,可提高读取日志数据的速率。所述日志读取指令可设定读取条件(该条件指按时间顺序、ID内容等读取日志数据)。若所述日志读取指令中没有设定读取条件,可直接将无顺序的日志数据或日志文件读取出来。[0112]在一个实施例中,从所述随机存储器或所述外存储器读取日志数据的步骤还可包括以下步骤:
[0113]如果按照时间顺序读取,根据日志文件中的时间记录,将无顺序的日志按照时间排序,将按照时间顺序的日志文件导出日志。
[0114]如果根据日志数据的ID读取,读取与需要查找的某一类型ID的相关日志文件,读取之后,建立一块内存,将该日志文件一条一条按照该类型ID将需要的数据写入内存中即可。
[0115]在本实施例中,根据日志文件的数据头的内容记录,可以快速的查找文件的当前记录内容,为查找数据内容提供便利,节省了时间。读取日志文件时,根据不同需求可以读出不同数据信息,可以更好的排查问题。
[0116]请参阅图5,图5是本发明嵌入式系统的日志读取系统第一实施方式的结构示意图。
[0117]本实施方式的所述嵌入式系统的日志读取系统包括第一读取单元400和第二读取单元500,其中:
[0118]第一读取单元400,用于检测日志读取指令,并根据所述读取指令从随机存储器读取日志数据。
[0119]第二读取单元500,用于在所述随机存储器中不存在所述日志数据时,从外存储器中读取所述日志数据,其中,所述外存储器中的所述日志数据从所述随机存储器复制而来。
[0120]上述嵌入式系统的日志读取系统,可根据日志读取指令快速从随机存储器中快速读取日志数据,且在随机存储器由于掉电等原因丢失需要读取的日志数据时,可进一步从外存储器中读取所述日志数据。
[0121]其中,对于第一读取单元400和第二读取单元500,在读取日志数据时,优先从随机存储器中读取,可提高读取日志数据的速率。所述日志读取指令可设定读取条件(该条件指按时间顺序、ID内容等读取日志数据)。若所述日志读取指令中没有设定读取条件,可直接将无顺序的日志数据或日志文件读取出来。
[0122]在一个实施例中,第一读取单元400或第二存储单元500还可用于:
[0123]在按照时间顺序读取日志数据时,根据日志文件中的时间记录,将无顺序的日志按照时间排序,将按照时间顺序的日志文件导出日志。
[0124]在根据日志数据的ID读取日志数据时,读取与需要查找的某一类型ID的相关日志文件,读取之后,建立一块内存,将该日志文件一条一条按照该类型ID将需要的数据写入内存中即可。
[0125]在本实施例中,根据日志文件的数据头的内容记录,可以快速的查找文件的当前记录内容,为查找数据内容提供便利,节省了时间。读取日志文件时,根据不同需求可以读出不同数据信息,可以更好的排查问题。
[0126]请参阅图6,图6是本发明另一嵌入式系统的日志读取方法第一实施方式的流程示意图。
[0127]本实施方式所述的嵌入式系统的日志读取方法,包括以下步骤:
[0128]步骤601,获取嵌入式系统的日志数据。
[0129]步骤602,将所述日志数据写入随机存储器中。[0130]步骤603,将写入所述随机存储器中的日志数据复制到外存储器中。
[0131 ] 步骤604,检测日志读取指令,并根据所述读取指令从所述随机存储器读取所述日志数据。
[0132]步骤605,若所述随机存储器中不存在所述日志数据时,从外存储器中读取所述日志数据。
[0133]本实施方式所述的嵌入式系统的日志读取方法,在嵌入式软件系统上,既能保证所有任务的正常运行,又能以较低的内存利用率将日志数据快速的保存,且发生掉电时从随机存储器复制到外存储器的日志数据也不会丢失。同时既可快速从随机存储器中快速读取日志数据,又可及时从外存储器中读取随机存储器丢失的日志数据。
[0134]其中,步骤601、步骤601和步骤603分别与图1所述嵌入式系统的日志存储方法中的步骤101、步骤102和步骤103等同。步骤604和步骤605分别与图4所述的步骤401和步骤402等同。
[0135]请参阅图7,图7是本发明另一嵌入式系统的日志读取系统第一实施方式的结构示意图。
[0136]本实施方式所述的嵌入式系统的日志读取系统包括获取单元100、写入单元200、转存单元300、第一读取单元400和第二读取单元500,其中:
[0137]获取单元100,用于获取嵌入式系统的日志数据。
[0138]写入单元200,用于将所述日志数据写入随机存储器中。
[0139]转存单元300,用于将写入所述随机存储器中的日志数据复制到外存储器中。
[0140]第一读取单元400,用于检测日志读取指令,并根据所述读取指令从所述随机存储器读取所述日志数据。
[0141]第二读取单元500,用于在所述随机存储器中不存在所述日志数据时,从外存储器中读取所述日志数据。
[0142]本实施方式所述的嵌入式系统的日志读取系统,在嵌入式软件系统上,既能保证所有任务的正常运行,又能以较低的内存利用率将日志数据快速的保存,且发生掉电时从随机存储器复制到外存储器的日志数据也不会丢失。同时既可快速从随机存储器中快速读取日志数据,又可及时从外存储器中读取随机存储器丢失的日志数据。
[0143]其中,获取单元100、写入单元200、转存单元300、第一读取单元400和第二读取单元500分别等同于图3和图5所述的对应单元。
[0144]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种嵌入式系统的日志存储方法,其特征在于,包括以下步骤: 获取嵌入式系统的日志数据; 将所述日志数据写入随机存储器中; 将写入所述随机存储器中的日志数据复制到外存储器中。
2.根据权利要求1所述的嵌入式系统的日志存储方法,其特征在于,所述将所述日志数据写入随机存储器中的步骤包括以下步骤: 比较所述日志数据的写入位置与所述随机存储器的日志文件的最大写入位置,若所述日志数据的写入位置大于所述最大写入位置,则返回错误报告; 若所述日志数据的写入位置不大于所述最大写入位置,则比较所述日志数据的写入位置与所述日志文件的文件头中记录的当前文件位置,若所述日志数据的写入位置不大于所述当前文件位置,则将所述日志数据覆盖所述日志文件中与所述日志数据的写入位置相同的位置上的数据; 若所述日志数据的写入位置大于所述当前文件位置,则在所述日志文件中,将所述日志数据的写入位置与所述当前文件位置之间写入用于标识该位置无数据内容的零值,并将所述日志数据写入所述日志文件中与所述日志数据的写入位置相同的位置; 更新所述日志文件的数据头中记录的当前文件位置和已写入的日志数据的数量。
3.根据权利要求1或2所述的嵌入式系统的日志存储方法,其特征在于,所述将写入所述随机存储器中的日志数据复制到外存储器中的步骤包括以下步骤: 设置轮询时间和互斥信号; 根据设置的轮询时间和互斥信号将所述日志数据复制到外存储器中; 释放所述互斥信号。
4.一种嵌入式系统的日志存储系统,其特征在于,包括: 获取单元,用于获取嵌入式系统的日志数据; 写入单元,用于将所述日志数据写入随机存储器中; 转存单元,用于将写入所述随机存储器中的日志数据复制到外存储器中。
5.根据权利要求4所述的嵌入式系统的日志存储系统,其特征在于,所述写入单元还用于: 比较所述日志数据的写入位置与所述随机存储器的日志文件的最大写入位置,若所述日志数据的写入位置大于所述最大写入位置,则返回错误报告; 若所述日志数据的写入位置不大于所述最大写入位置,则比较所述日志数据的写入位置与所述日志文件的文件头中记录的当前文件位置,若所述日志数据的写入位置不大于所述当前文件位置,则将所述日志数据覆盖所述日志文件中与所述日志数据的写入位置相同的位置上的数据; 若所述日志数据的写入位置大于所述当前文件位置,则在所述日志文件中,将所述日志数据的写入位置与所述当前文件位置之间写入用于标识该位置无数据内容的零值,并将所述日志数据写入所述日志文件中与所述日志数据的写入位置相同的位置; 更新所述日志文件的数据头中记录的当前文件位置和已写入的日志数据的数量。
6.根据权利要求4或5所述的嵌入式系统的日志存储系统,其特征在于,所述转存单元还用于设置轮询时间和互斥信号,根据设置的轮询时间和互斥信号将所述日志数据复制到外存储器中,释放所述互斥信号。
7.一种嵌入式系统的日志读取方法,其特征在于,包括以下步骤: 检测日志读取指令,并根据所述读取指令从随机存储器读取日志数据; 若所述随机存储器中不存在所述日志数据时,从外存储器中读取所述日志数据,其中,所述外存储器中的所述日志数据从所述随机存储器复制而来。
8.一种嵌入式系统的日志读取系统,其特征在于,包括: 第一读取单元,用于检测日志读取指令,并根据所述读取指令从随机存储器读取日志数据; 第二读取单元,用于在所述随机存储器中不存在所述日志数据时,从外存储器中读取所述日志数据,其中,所述外存储器中的所述日志数据从所述随机存储器复制而来。
9.一种嵌入式系统的日志读取方法,其特征在于,包括以下步骤: 获取嵌入式系统的日志数据; 将所述日志数据写入随机存储器中; 将写入所述随机存储器中的日志数据复制到外存储器中; 检测日志读取指令,并根据所述读取指令从所述随机存储器读取所述日志数据; 若所述随机存储器中不存在所述日志数据时,从外存储器中读取所述日志数据。
10.一种嵌入式系统的日志读取系统,其特征在于,包括: 获取单元,用于获取嵌入式系统的日志数据; 写入单元,用于将所述日志数据写入随机存储器中; 转存单元,用于将写入所述随机存储器中的日志数据复制到外存储器中; 第一读取单元,用于检测日志读取指令,并根据所述读取指令从所述随机存储器读取所述日志数据; 第二读取单元,用于在所述随机存储器中不存在所述日志数据时,从外存储器中读取所述日志数据。
【文档编号】G06F11/34GK103544097SQ201310496989
【公开日】2014年1月29日 申请日期:2013年10月21日 优先权日:2013年10月21日
【发明者】宋美威, 吴鹏 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1