利索能及
我要发布
收藏
专利号: 201310575219X
申请人: 北京国双科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-11-19
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种日志文件的读写方法,其特征在于,包括:读取步骤:将读取到日志文件中的日志数据保存入对应的内存集合;

检测步骤:检测所述内存集合的行数是否大于预设阈值;

插入步骤:在所述内存集合的所述行数大于所述预设阈值的情况下,将所述内存集合中的所述日志数据插入数据库中的第一临时表;

返回步骤:返回执行所述读取步骤直至将所述日志数据全部保存入所述第一临时表中;

更新步骤:使用所述第一临时表中的数据更新所述数据库的正式表,其中,在主线程中读取所述日志文件,在子线程中将所述日志数据写入数据库,所述主线程和所述子线程同时进行;

其中,在所述内存集合的行数大于所述预设阈值的情况下,开启一个新的子线程,并将任务线程的标示符加一;

在执行所述插入步骤之后,所述方法还包括:检测所述日志数据是否成功插入所述第一临时表,其中,如果插入失败,则回滚事务,抛出异常结束程序;如果插入成功,所述子线程释放占用的资源,所述任务线程的标示符自减一。

2.根据权利要求1所述的读写方法,其特征在于,所述读取步骤包括:从所述日志文件中逐行读取第一日志数据;

对所述第一日志数据进行过滤处理得到第二日志数据;

将所述第二日志数据反序列化得到对象元素;

将所述对象元素保存入所述内存集合。

3.根据权利要求1所述的读写方法,其特征在于,在所述检测步骤之后,所述方法还包括:在所述内存集合的所述行数不大于所述预设阈值的情况下,检测是否将所述日志文件中的所述日志数据读取完;

在将所述日志文件中的所述日志数据读取完的情况下,执行所述插入步骤;

在没有将所述日志文件中的所述日志数据读取完的情况下,执行所述返回步骤。

4.根据权利要求1至3中任意一项所述的读写方法,其特征在于,所述更新步骤包括:对所述第一临时表中的数据进行去重处理得到第二临时表;

使用所述第二临时表中的数据更新所述正式表。

5.根据权利要求4所述的读写方法,其特征在于,在所述更新步骤之后,所述方法还包括:删除所述第一临时表和所述第二临时表中的数据。

6.一种日志文件的读写装置,其特征在于,包括:读取模块,用于将读取到日志文件中的日志数据保存入对应的内存集合;

检测模块,用于检测所述内存集合的行数是否大于预设阈值;

插入模块,用于在所述内存集合的所述行数大于所述预设阈值的情况下,将所述内存集合中的所述日志数据插入数据库中的第一临时表;

返回执行模块,用于返回执行所述读取步骤直至将所述日志数据全部保存入所述第一临时表中;

更新模块,用于使用所述第一临时表中的数据更新所述数据库的正式表,其中,在主线程中读取所述日志文件,在子线程中将所述日志数据写入数据库,所述主线程和所述子线程同时进行;

其中,在所述内存集合的行数大于所述预设阈值的情况下,开启一个新的子线程,并将任务线程的标示符加一;

以及在所述插入模块执行所述插入步骤后,检测所述日志数据是否成功插入所述第一临时表,其中,如果插入失败,则回滚事务,抛出异常结束程序;如果插入成功,所述子线程释放占用的资源,所述任务线程的标示符自减一。

7.根据权利要求6所述的读写装置,其特征在于,所述读取模块包括:读取子模块,用于从所述日志文件中逐行读取第一日志数据;

过滤模块,用于对所述第一日志数据进行过滤处理得到第二日志数据;

反序列化模块,用于将所述第二日志数据反序列化得到对象元素;

保存模块,用于将所述对象元素保存入所述内存集合。

8.根据权利要求6所述的读写装置,其特征在于,所述装置还包括:检测子模块,用于在所述内存集合的所述行数不大于所述预设阈值的情况下,检测是否将所述日志文件中的所述日志数据读取完;

第一执行模块,用于在将所述日志文件中的所述日志数据读取完的情况下,执行所述插入模块;

第二执行模块,用于在没有将所述日志文件中的所述日志数据读取完的情况下,执行所述返回执行模块。

9.根据权利要求6至8中任意一项所述的读写装置,其特征在于,所述更新步骤包括:去重模块,用于对所述第一临时表中的数据进行去重处理得到第二临时表;

更新子模块,用于使用所述第二临时表中的数据更新所述正式表。

10.根据权利要求9所述的读写装置,其特征在于,所述装置还包括:删除模块,用于删除所述第一临时表和所述第二临时表中的数据。