【技术实现步骤摘要】
一种异步日志的处理系统和方法
[0001]本专利技术涉及数据处理
,尤其涉及一种异步日志的处理系统和方法。
技术介绍
[0002]在金融领域的交易执行过程中,异步日志是将交易处理与日志记录分离,通常是另起一个进程记录日志,日志内容真实写入磁盘与原交易并行,不占用交易时间。
[0003]目前在进行异步日志处理时所采用的缓冲区大小固定,交易量较小时导致缓冲区资源浪费,交易量太大时不能及时扩充,导致写入缓冲区阻塞,或者日志丢失。缓冲区到日志处理进程这一步,采用将缓冲区内的日志内容通过消息发送到处理进程,日志内容较多时,发送这一步会有较多耗时。并且日志服务与用户服务是耦合的,因此当用户服务崩溃时,日志服务也会随之崩溃,故存在缓冲区内日志未全部打印到磁盘,而出现日志丢失的情况。
技术实现思路
[0004]本专利技术提供了一种异步日志的处理系统和方法,以实现对异步日志的高效并发处理。
[0005]根据本专利技术的第一方面,提供了一种异步日志的处理系统,包括:共享内存模块,与所述共享内存模块连接的用户
【技术保护点】
【技术特征摘要】
1.一种异步日志的处理系统,其特征在于,包括:共享内存模块,与所述共享内存模块连接的用户模块和打印模块,所述用户模块中的各用户单元,用于在所述共享内存模块中查询空闲的目标用户块,并将产生的异步日志存储到所述目标用户块中的指定日志块中;所述用户模块,用于在确定所述指定日志块的状态为待写入时,获取所述指定日志块在所述共享内存模块中的坐标,并将所述坐标发送给所述打印模块;所述打印模块,用于通过打印进程根据所述坐标在所述共享内存模块查询所述指定日志块,并将所述指定日志块中的所述异步日志写入到磁盘中。2.根据权利要求1所述的系统,其特征在于,所述共享内存模块中包括共享内存管理控制块、打印进程控制块和多个用户块;其中,所述用户块中包括用户控制块和多个日志块,并且所述日志块中包含日志控制块和日志存储区。3.根据权利要求2所述的系统,其特征在于,所述共享内存管理控制块,用于存储共享内存标识、用户块数、消息队列标识、单个用户块中的日志块数、打印进程数和单个日志块容量;所述打印进程控制块,用于存储所述打印模块中各打印进程的打印进程号;所述用户控制块,用于存储用户进程号、用户进程名、日志级别和用户进程状态;所述日志控制块,用于存储日志块状态、已用空间、日志级别和日志文件名。4.根据权利要求3所述的系统,其特征在于,所述用户模块,还用于将所述目标用户块的用户控制块中的用户进程号更新为当前用户进程号;从所述目标用户块中根据各日志控制块中的日志块状态进行筛选,将日志块状态为未用的日志块作为所述指定日志块,并将所述指定日志块的日志块状态更新为已用。5.根据权利要求4所述的系统,其特征在于,所述用户模块,还用于当确定所述指定日志块的剩余容量小于待写入的异步日志时,则将所述指定日志块的状态更新为待写入。6.根据权利要求5所述的系统,其特征在于,所述系统还包括与所述用户模块和所述打印模块连接的通知模块,所述用户模块,用于获取所述指定日志块在所述共享内存模块中的所述坐标,并将所述坐标添加到所述消息队列标识所对应的消息队列中;所述通知模块,用于基于所述消息队列向所述打印进程模块发送通知消息;所述打印模块,用于当接收到所述...
【专利技术属性】
技术研发人员:郭伟,沈忱,邓仁伟,
申请(专利权)人:上海浦东发展银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。