日志存储方法、装置及电子设备制造方法及图纸

技术编号:32212315 阅读:10 留言:0更新日期:2022-02-09 17:18
本发明专利技术涉及日志技术领域,具体涉及日志存储方法、装置及电子设备,所述方法包括获取各个日志缓存空间的当前缓存状态以及目标日志;基于各个所述日志缓存空间的当前缓存状态确定目标缓存空间,并基于所述目标缓存空间对所述目标日志进行存储;当所述目标缓存空间满足下刷到存储器的条件时,调整所述目标缓存空间的当前缓存状态并将所述目标缓存空间内的日志下刷至所述存储器;基于其余所述日志缓存空间的当前缓存状态确定下一个目标缓存空间,并切换至所述下一个目标缓存空间以进行日志存储。该方法通过动态刷新使得缓存空间内的日志能够较快地下刷至存储器中,提高了日志的存储容量,减少了日志的丢失,提高了日志的存储可靠性。靠性。靠性。

【技术实现步骤摘要】
日志存储方法、装置及电子设备


[0001]本专利技术涉及日志
,具体涉及日志存储方法、装置及电子设备。

技术介绍

[0002]随着数据爆发式的发展,传统的机械硬盘(Hard Disk Drive,简称为HDD)已经不能满足存储系统对IO带宽的要求。基于此,固态硬盘(Solid State Drive,简称为SSD)的需求量大幅度上升,但SSD相对于HDD更精细一些,需要有大量的软件算法参与,所以不可避免的就要考虑软件的安全和调试模块设计,而记录软件的运行日志是一个业界应用的普遍方案。
[0003]现有的SSD的日志保存方案多是通过把日志缓存到双倍速率同步动态随机存储器,然后在SSD下电时保存到介质中。然而,这种存储方式中由于SSD的存储空间有限,在SSD的整个带电期间其所能够存储的日志有限,导致大量日志丢失。

技术实现思路

[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]本专利技术实施例提供的日志存储方法,利用各个日志缓存空间的当前缓存状态确定出目标缓存空间,保证缓存空间的有序使用,提高了日志存储效率及存储可靠性。
[0035]根据第二方面,本专利技术实施例还提供了一种日志存储装置,包括:
[0036]获取模块,用于获取各个日志缓存空间的当前缓存状态以及目标日志;
[0037]存储模块,用于基于各个所述日志缓存空间的当前缓存状态确定目标缓存空间,并基于所述目标缓存空间对所述目标日志进行存储;
[0038]下刷模块,用于当所述目标缓存空间满足下刷到存储器的条件时,调整所述目标缓存空间的当前缓存状态并将所述目标缓存空间内的日志下刷至所述存储器;
[0039]切换模块,用于基于其余所述日志缓存空间的当前缓存状态确定下一个目标缓存空间,并切换至所述下一个目标缓存空间进行日志存储。
[0040]本专利技术实施例提供的日志存储装置,在日志存储过程中基于各个日志缓存空间的当前缓存状态实现日志的动态存储以及缓存空间的动态刷新,使得缓存空间内的日志能够较快地下刷至存储器中,提高了日志的存储容量,减少了日志的丢失,提高了日志的存储可靠性。
[0041]根据第三方面,本专利技术实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的日志存储方法。
[0042]根据第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的日志存储方法。
附图说明
[0043]为了更清楚地说明本专利技术具体实施方式或现有技术中的技本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种日志存储方法,其特征在于,包括:获取各个日志缓存空间的当前缓存状态以及目标日志;基于各个所述日志缓存空间的当前缓存状态确定目标缓存空间,并基于所述目标缓存空间对所述目标日志进行存储;当所述目标缓存空间满足下刷到存储器的条件时,调整所述目标缓存空间的当前缓存状态并将所述目标缓存空间内的日志下刷至所述存储器;基于其余所述日志缓存空间的当前缓存状态确定下一个目标缓存空间,并切换至所述下一个目标缓存空间以进行日志存储。2.根据权利要求1所述的方法,其特征在于,所述基于所述目标缓存空间对所述目标日志进行存储,包括:获取当前申请互斥量;基于所述当前申请互斥量对所述目标日志进行存储。3.根据权利要求2所述的方法,其特征在于,所述基于所述当前申请互斥量对所述目标日志进行存储,包括:当所述当前申请互斥量满足预设条件时,基于所述目标日志的大小以及所述目标缓存空间的剩余空间,确定所述目标缓存空间是否能够容纳所述目标日志;当所述目标缓存空间能够容纳所述目标日志时,锁定所述当前申请互斥量并将所述目标日志存入所述目标缓存空间。4.根据权利要求3所述的方法,其特征在于,所述将所述目标日志存入所述目标缓存空间,包括:获取所述目标日志的属性信息;将所述目标日志以及所述属性信息添加至所述目标缓存空间中,并释放所述当前申请互斥量。5.根据权利要求3所述的方法,其特征在于,所述基于所述当前申请互斥量对所述目标日志进行存储,还包括:当所述目标缓存空间不能容纳所述目标日志时,调整所述目标缓存空间的当前缓存状态;基于其余所述日志缓存空间的当前缓存状态确定下一个目标缓存空间,并切换至所述下一个目标缓存空间进行日志存储。6.根据权利要求1所述的方法,其特征在于,所述基...

【专利技术属性】
技术研发人员:赵昌磊
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1