最后一笔储存日志搜寻方法与流程

文档序号:30801338发布日期:2022-07-19 22:06阅读:65来源:国知局
最后一笔储存日志搜寻方法与流程
最后一笔储存日志搜寻方法
【技术领域】
1.本发明是一种最后一笔储存日志搜寻方法。


背景技术:

2.目前,在现有技术中以中央处理器(cpu,central processing unit)在快闪内存(flash memory)中记录日志(log)时,依据scsi primary commands-5(spc-5)规范,每一笔日志均需对应一日志编码,在记录新的一笔日志时,系统会需要先追踪当下已经被记录的最后一笔日志所对应的日志编码,才能对新的一笔日志记录正确的日志编码,根据现有技术,系统会在相异于记录日志的快闪内存区块的另一非挥发性内存区块,另外以永久储存的方式储存具有最后一笔已经被记录的日志对应之日志编码的日志头(log header),以避免在同一个快闪内存区块循环记录多笔日志时,当所要记录的日志数量超过该快闪内存所能储存的日志数量时,在以覆盖该快闪内存区块已储存的数据的方式来储存记录下一笔日志时,若日志头与该些日志储存于同一个快闪内存区块,则日志头的数据就有机会在循环储存记录下一笔日志的过程中,造成日志头被误覆盖或损毁,而造成无法追踪最后一笔日志的日志编码的状况及其记录位置,这样一来,当新的下一笔日志要被记录时,也就因为无法找到新的下一笔日志被记录前,具有该快闪内存区块已储存的数据中最后一笔被记录的日志编码的日志头,而无法找到在新的下一笔日志被记录前该快闪内存区块已储存的数据中最后一笔被记录的日志所对应的日志编码,而无法累加计算新的下一笔日志的日志编码,导致无法承接最后一笔被记录的日志之日志编码,来继续累加计算下一笔日志记录时应该要对应的日志编码,进而无法使依序记录的日志具有连续行的日志编码,以方便日后计算机/服务器的维护人员简单的阅读及检索日志。


技术实现要素:

3.本发明所要解决的技术问题是提供一种最后一笔储存日志搜寻方法,其克服了现有技术中一定要另外使用一永久储存区块作为日志头,才能取得非挥发性内存区块中,最后一笔被记录的日志之日志编码的缺点。
4.为解决上述技术问题,本发明一种最后一笔储存日志搜寻方法,其由一计算机系统实施,该计算机系统包括一处理装置、一与该处理装置电耦接的一非挥发性内存,该非挥发性内存包括一用以储存日志的日志区块,该处理装置执行一韧体而依序产生多笔日志,并依序储存该些日志于该日志区块,该日志区块可同时储存的日志之数量最多为一上限数量,且每一日志均分别对应一日志编码,且该些日志编码的范围落在一编码上限值与一编码下限值之间,上述方法包含以下步骤:
5.a.在该计算机系统开机后,该计算机系统的处理装置执行该韧体以取得与该处理装置电耦接的该非挥发性内存中用以储存多笔日志的该日志区块之储存空间信息,其中,该储存空间信息包含该日志区块之储存空间的大小、该日志区块之地址及该日志区块可储存的日志的上限数量;
6.b.该处理装置扫描该日志区块,以取得日志区块所储存的所有日志对应的日志编码中对应一目前编码最大值及对应一目前编码最小值的日志编码,其中,该目前编码最大值代表该日志区块当下所储存的所有日志所分别对应的日志编码中之数值最大的日志编码,其中,该目前编码最小值代表该日志区块当下所储存的所有日志分别对应的日志编码中之数值最小的日志编码;
7.c.该处理装置判断该非挥发性内存目前的储存状态是否为满溢状态,如果是,则执行步骤d,如果否,则执行步骤e;
8.d.该日志区块中所储存的所有日志所分别对应的日志编码中,找出小于该上限数量,且最接近该上限数量的该日志编码所对应的日志,即为最后一笔被储存在该日志区块的日志;以及
9.e.由该日志区块中所储存的所有日志所分别对应的日志编码中,找出该目前编码最大值的日志编码,对应该目前编码最大值的日志编码所对应的日志,即为最后一笔被储存在该日志区块的日志。
10.优选地,在步骤c中,可通过计算该目前编码最大值与该目前编码最小值之差,并比较判断该目前编码最大值与该目前编码最小值之差是否大于或等于该上限数量值,如果大于或等于则代表目前该日志区块的储存状态为满溢状态。
11.优选地,在通过判断该日志区块所储存的所有日志中,是否同时包括对应该日志编码为该编码上限值及该编码下限值的两个日志,如果同时包括,则代表目前该日志区块的储存状态为满溢状态,如果未同时包括,则代表目前该日志区块的储存状态为正常状态。
12.与现有技术相比较,该计算机系统也可以在开机后,先执行步骤(a)~步骤(e)的流程以找出该最后一笔被储存的日志所对应的该日志编码后,即将该最后一笔被储存的日志所对应的该日志编码以韧体参数的方式暂时储存或是储存在一缓存器中,并于该处理装置每次产生一笔新的日志时,累加被暂存的该日志编码以作为所产生的新的日志之日志编码并更新暂存的日志编码,借此,以于每次开机后均重新地借由该最后一笔储存日志搜寻方法找出该日志区块所储存的最后一笔日志所对应的日志编码,以承接该最后一笔储存的日志之日志编码来对新的一笔日志所对应的日志编码进行连续的编码的动作,如此,可以在没有占用永久储存空间纪录header,也无须担心header的数据丢失的问题。
【附图说明】
13.图1为本发明最后一笔储存日志搜寻方法的步骤流程图。
14.图2为一图表,辅助说明在满溢状态下如何搜寻最后一笔日志。
15.图3为一图表,辅助说明在正常状态下如何搜寻最后一笔日志。。
【具体实施方式】
16.请参阅图1所示,本发明提供一最后一笔储存日志搜寻方法,其由一计算机系统(未示)实施,该计算机系统包括一处理装置(未示)、一与该处理装置电耦接的一非挥发性内存(未示),例如为flash内存、eeprom或rom等,该非挥发性内存中所储存的数据不会因为掉电而消失,也就是可以永久储存数据的内存,该非挥发性内存包括一用以储存日志的日志区块,该处理装置执行一韧体而依序产生多笔日志,并依序储存该些日志于该日志区块,
该日志区块可同时储存的日志之数量最多为一上限数量,以下以该上限数量为10为例,该上限数量依据各计算机系统所具有的该日志区块的储存空间的大小而不同,且每一日志均分别对应一日志编码,且该些日志编码的范围落在一编码上限值与一编码下限值之间,其中,该编码上限值定义该日志编码可能的最大数值,例如为65535,而该编码下限值,则定义该日志编码可能的最小数值,其中该编码下限值为0。
17.本发明的最后一笔储存日志搜寻方法包含该后一笔储存日志搜寻方法包含以下步骤:
18.步骤s1,在该计算机系统开机后,该计算机系统的处理装置执行该韧体以取得与该处理装置电耦接的该非挥发性内存中用以储存多笔日志的一日志区块之储存空间信息,其中,该储存空间信息例如为该日志区块之储存空间的大小、该日志区块之地址及该日志区块可储存的日志的上限数量(以10个为例)。
19.步骤s2,该处理装置扫描该日志区块,以取得日志区块所储存的所有日志对应的日志编码中对应一目前编码最大值及对应一目前编码最小值的日志编码,其中,该目前编码最大值代表该日志区块当下所储存的所有日志所分别对应的日志编码中之数值最大的日志编码,其中,该目前编码最小值代表该日志区块当下所储存的所有日志分别对应的日志编码中之数值最小的日志编码。
20.步骤s3,该处理装置判断该非挥发性内存目前的储存状态是否为满溢状态,如果是,则执行步骤s4,如果否,则执行步骤s5,在本实施例中,可通过计算该目前编码最大值与该目前编码最小值之差,并比较判断该目前编码最大值与该目前编码最小值之差是否大于等于该上限数量值(10),如果小于则代表目前该日志区块的储存状态为正常状态,如果大于或等于则代表目前该日志区块的储存状态为满溢状态,在另一实施例中,则通过判断该日志区块所储存的所有日志中,是否同时包括对应该日志编码为该编码上限值及该编码下限值的两个日志,如果同时包括,则代表目前该日志区块的储存状态为满溢状态,如果未同时包括,则代表目前该日志区块的储存状态为正常状态。
21.步骤s4,该日志区块中所储存的所有日志所分别对应的日志编码中,找出小于该上限数量(该日志区块所能储存的日志数量之最大值),且最接近该上限数量的该日志编码所对应的日志,即为最后一笔被储存在该日志区块的日志,请参考图2中,该日志区块中所储存的所有日志所分别对应的日志编码中的目前编码最大值(currentmax)=65535,目前编码最小值(current min)=0,则目前编码最大值与该目前编码最小值之差大于该上限数量值10,符合该日志区块的储存状态为满溢状态的判断,则该日志区块中所储存的所有日志所分别对应的日志编码中的编码值66530、66531
……
0、1中,小于该上限数量的所有日志所分别对应的日志编码的编码值为0、1,而其中1为最接近该上限数量值10的日志编码的编码值,则1所对应的日志编码log1即为最后一笔被储存在该日志区块中的日志。
22.步骤s5,由该日志区块中所储存的所有日志所分别对应的日志编码中,找出该目前编码最大值的日志编码,对应该目前编码最大值的日志编码所对应的日志,即为最后一笔被储存在该日志区块的日志。如图3所示,目前编码最大值(current max)=9,目前编码最小值(current min)=0,则差为9,小于上限数量值10,此时该日志区块的储存状态为正常状态,则最后一笔被存储在该日志区块中的日志为目前编码最大值9对应的日志编码log 9。
23.综上所述,当计算机系统开机后,该处理装置借由执行该韧体以取得该非挥发性内存的该日志区块之储存空间信息,并进一步的判断该日志区块当下所储存的所有日志所分别对应的日志编码中,之目前编码最大值及目前编码最小值,借以判断该日志区块的储存状态是否为满溢状态,当该日志区块的储存状态为满溢状态时,则接着找出小于该上限数量且最接近该上限数量的该日志编码所对应的日志,即为最后一笔被储存在该日志区块的日志。以将最后一笔被储存在日志区块的日志所对应的日志编码,以韧体参数的方式记录在缓存器中,而不用时时占用一永久储存空间来记录该最后一笔被储存的日志所对应的日志编码,且于该最后一笔被储存的日志所对应的日志编码被损毁或遗失或尚未被储存时,根据本案技术,皆可再次借由重复的执行步骤(s2)~步骤(s5)来时时监控储存于该日志区块中最后一笔被储存的日志所对应的日志编码,例如在该处理装置执行韧体而产生新的日志时,可以重新借由执行步骤步骤(s1)~步骤(s5)或步骤(s2)~步骤(s5),以累加计算当下所产生的日志,所应对应的日志编码,也就是说,执行最后一笔储存日志搜寻方法后取得最后一笔被储存在日志区块的日志所对应的日志编码后,当该最后一笔被储存的日志所对应的该日志编码不等于该编码上限值,则直接对该最后一笔被储存的日志所对应的该日志编码+1以作为该处理装置当下所产生的该日志之日志编码,当该最后一笔被储存的日志所对应的该日志编码等于该编码上限值,则该处理装置当下所产生的该日志之日志编码为0,也就是该编码下限值。
24.该计算机系统也可以在开机后,先执行步骤(s1)~步骤(s5)后,即将该最后一笔被储存的日志所对应的该日志编码以韧体参数的方式暂时储存或是储存在一缓存器中以作为一最新日志编码纪录,并于该处理装置每次产生一笔新的日志时,累加被暂存的该日志编码以作为所产生的新的日志之日志编码并更新暂存的日志编码,借此,以于每次开机后均重新地借由该最后一笔储存日志搜寻方法找出该日志区块所储存的最后一笔日志所对应的日志编码,以承接该最后一笔储存的日志之日志编码来对新的一笔日志所对应的日志编码进行连续的编码的动作,或是于该处理装置每次产生一笔新的日志后,先判断该最新日志编码纪录是否以该韧体参数存在或是存在于该缓存器中,若存在,则直接累加被暂存的该日志编码以作为所产生的新的日志之日志编码并更新暂存的日志编码;若不存在,则借由该最后一笔储存日志搜寻方法,实时的找出该日志区块所储存的最后一笔日志所对应的日志编码,以承接该最后一笔储存的日志之日志编码来对新的一笔日志所对应的日志编码进行连续的编码的动作,如此,可以在没有占用永久储存空间记录日志头,也无须担心日志头的数据丢失的问题,在另一实施例中,于该处理装置每次产生一笔新的日志时,该处理装置先判断该韧体参数或是该缓存器中是否以存在被暂存的该日志编码,该被暂存的该日志编码也就是指示出在新的日志被记录储存前,该最后一笔被储存的日志所对应的该日志编码,当该被暂存的该日志编码存在于该韧体参数或是该缓存器中,则累加被暂存的该日志编码以作为所产生的新的日志之日志编码,并将新的日志之日志编码储存更新为暂存的日志编码,当该被暂存的该日志编码不存在于该韧体参数或是该缓存器中,则执行步骤(a)~步骤(e)的流程以找出该最后一笔被储存的日志所对应的该日志编码后,即将该最后一笔被储存于该非挥发性内存的日志区块的日志所对应的该日志编码以韧体参数的方式暂时储存或是储存在该缓存器中,并于该处理装置后续每次产生一笔新的日志时,累加被暂存的该日志编码以作为所产生的新的日志之日志编码并更新暂存的日志编码;在另一实
施例中,该处理装置每次产生一笔新的日志时,均执行步骤(a)~步骤(e)的流程以找出该最后一笔被储存的日志所对应的该日志编码后,并根据该最后一笔被储存于该非挥发性内存的日志区块的日志所对应的该日志编码累加计算新的日志所对应的新的日志编码,并以该新的日志编码对应储存所产生的该新的日志于该非挥发性内存的日志区块。
25.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1