一种日志数据管理方法及系统的制作方法

文档序号:9910625阅读:468来源:国知局
一种日志数据管理方法及系统的制作方法
【技术领域】
[0001 ]本发明涉及日志数据处理技术领域,特别是涉及一种日志数据管理方法及系统。
【背景技术】
[0002]众所周知,日志文件是用于记录系统操作事件的记录文件或文件集合,操作系统有操作系统日志文件,文件系统有文件系统日志文件,等等。不同的日志文件记载不同的信息。例如,事务日志文件是数据库结构中非常重要却又常被忽视的部分。它是用来记录数据库更新情况的文件,它可以记录针对数据库的任何操作,并将记录的结果保存到独立的文件中。对于每一次数据库更新的过程,事务日志文件都有非常全面的记录。根据这些记录可以恢复数据库更新前的状态。
[0003]在现有的日志数据管理方法中,当针对目标数据文件发起变更操作时,在将变更数据写入目标数据文件之前,会将这次变更操作的日志数据直接写入硬盘中的日志文件,以便需要时从日志文件中读出日志数据来恢复数据文件,进而保证数据文件的一致性。然而,当频繁发起变更操作时,需要频繁地访问硬盘来将相应的日志数据写入其中,而硬盘的读写速度低,这会影响日志数据的写入速度同时频繁地访问硬盘也会影响整个系统的性能,这是用户不想看到的。

【发明内容】

[0004]有鉴于此,本发明提供了一种日志数据管理方法及系统,以解决现有技术中当频繁发起变更操作时,频繁访问硬盘降低日志数据写入速度的问题。
[0005]为解决上述技术问题,本发明提供一种日志数据管理方法,该方法包括:
[0006]当检测到针对目标数据文件的变更操作时,将所述变更操作的日志数据缓存至预设的内存空间;
[0007]判断所述内存空间中缓存数据的数据量是否达到预设的转存阈值;
[0008]当判定所述数据量达到所述转存阈值时,将当前所述内存空间中的所述缓存数据写入硬盘。
[0009]上述方法中,优选地,在所述将所述变更操作的日志数据缓存至预设的内存空间时,还包括:
[00?0]启动定时器,并开始计时;
[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]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0037]本发明的核心是提供一种日志数据管理方法及系统,以解决现有技术中当频繁发起变更操作时,频繁访问硬盘降低日志数据写入速度的问题。
[0038]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。
[0039]参考图1,图1示出了本发明实施例提供的一种日志数据管理方法的流程图,该方法具体可以包括如下步骤:
[0040]步骤SlOO、当检测到针对目标数据文件的变更操作时,将变更操作的日志数据缓存至预设的内存空间。
[0041 ]本发明实施例方法的执行主体为日志数据管理系统,主要针对那些需要进行日志记录的应用系统,比如操作系统、文件系统等等。对于目标数据文件,泛指那些在应用系统中接受变更操作的对象;变更操作可以视情况为常见的删除、增加或者替换修改等等,变更操作的日志数据主要指对于该变更操作需要记录进日志文件中的数据。
[0042]相较现有技术中的直接将日志数据写入硬盘,本发明引入用于缓存日志数据的内存,在内存中有用于缓存日志数据的内存空间。在具体实施过程中,可以配置一个专门的内存,这个内存中的所有内存空间皆用于缓存日志数据;当然,也可以配置一个与其它数据缓存公用的内存。从提高资源利用率和节省成本的角度考虑,优选后者。
[0043]相较硬盘而言,内存具有较高的读写速度,即使频繁发起变更操作,也能保证较高的日志数据写入速度,同时也避免了频繁访问硬盘影响系统性能的情况。
[0044]进一步地,本发明中的内存空间优选地采用非易失性内存空间,其中,就目前而言,非易失性内存(Non to I at i I e RAM,NVRAM)常被人们用来存储路由器的启动配置文件。其在路由器断电时,其内容仍能保持,并且非易失内存速度远远大于硬盘。在具体实施过程中,当出现比如掉电、宕机等不可抗拒的情况时,由于非易失性内存仍能保留其中的数据,因此,当非易失性内存空间出现掉电情况并重启时,可以利用非易失性内存空间中的缓存数据恢复目标数据文件中相应的数据。
[0045]本发明中,非易失性内存掉电后,变更操作可能会被中断,随之可能会导致写入目标数据文件中的变更数据不完整,由于非易失性内存空间中的缓存数据其实就是变更操作的日志数据,具体的日志数据能够协助恢复目标数据文件中与上述变更操作相对应的数据,比如视情况可以是完全恢复到执行该变更操作之前的状态,或者是能够将完整的变更数据写入目标数据文件等。这样能够保证目标数据文件的数据一致性和可靠性。关于更多的恢复部分的内容可以参考现有实际,本发明在此不做过多阐述。
[0046]实际上,目前,非易失内存已经开始慢慢的走出实验室,即将可能走向工业级别的应用。将来非易失内存会比传统内存更加便宜,还会比传统内存容量大得多并且会按照访问内存方式出现在将来的计算机中。但是,目前的操作系统访问内存都是以DDRAM动态内存形式存在的,没有考虑到会有非易失性内存应该如何更好的去管理。本发明正好也弥补了这一缺陷。
[0047]另外,在将变更操作的日志数据缓存至非易失性内存空间之前,还需要
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1