全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210324407.4 (22)申请日 2022.03.29 (71)申请人 东风汽车集团股份有限公司 地址 430056 湖北省武汉市武汉经济技 术 开发区东 风大道特1号 (72)发明人 徐昊 程恺 张洋 刘继 陈雪松  (74)专利代理 机构 湖北武汉 永嘉专利代理有限 公司 42102 专利代理师 王丹 (51)Int.Cl. G06F 9/50(2006.01) G06F 9/445(2018.01) G06F 11/14(2006.01) (54)发明名称 一种基于Socket的多进程日志读写方法和 系统 (57)摘要 本发明提供了一种基于Socket的多进程日 志读写方法和系统, 脱离业务逻辑, 通过socket 连接和传输的形式读写日志信息, 通过配置方式 日志系统控制资源占用, 通过配置日志等级和黑 名单过滤日志内容灵活设置日志的输出级别, 实 现了多进程读写日志的功能。 本发 明的日志系统 本身不涉及文件读写, 用户可以单独 设计日志信 息存储方式, 通过批量保存减少系统IO占用, 单 独设计日志文件的上卷操作以节省系统空间。 本 发明在系统开发中高效的保存多个进程的日志 输出, 通过缓冲区大小配置合理的分配日志占用 内存资源。 本发 明通过修改配置重启即可切换正 常模式和调试模式, 无需重新编译系统, 降低了 对系统IO的占用。 权利要求书1页 说明书3页 附图2页 CN 114741189 A 2022.07.12 CN 114741189 A 1.一种基于Socket的多 进程日志读写方法, 其特 征在于: 包括以下步骤: S0: 搭建一种基于Socket的多进程日志读写系统, 包括日志管理模块、 日志写入接口和 日志读取接口; 日志管理模块是系统后台进程, 包括scoket客户端、 配置模块和环形缓冲 区; 日志写入接口连接日志管理模块; 日志读取接口连接日志管理模块; S1: 启动系统, 优先启动日志管理模块并常驻后台运行; S2: 其他应用程序需要记录日志信息时, 初始化并调用日志写入接口对日志信息加上 头信息后, 通过日志管理模块完成日志的写入; S3: 日志管理模块 通过监听日志读取接口将日志发送给日志读取应用程序。 2.根据权利 要求1所述的一种基于Socket的多进程日志读写方法, 其特征在于: 所述的 步骤S1中, 具体步骤为: S11: 读取包括缓冲 区的大小、 日志等级和进程黑名单的配置; 缓冲 区大小用于限定日 志占用内存的总额, 日志等级和黑名单用于限制日志的写入; S12: 日志管理模块创建一个socket本地服务端和一个环形缓冲区, 等待客户端的接 入。 3.根据权利 要求1所述的一种基于Socket的多进程日志读写方法, 其特征在于: 所述的 步骤S2中, 具体步骤为: S21: 初始化日志写入接口, 初始化过程中的socket客户端与日志管理模块的socket服 务端进行连接; S22: 初始化成功后调用日志写入接口; S23: 日志写入接口对日志信息加上包括时间、 进程、 进程标签、 日志等级的头信息后发 送给日志管理模块; S24: 日志管理模块将日志信息存 入到环形缓冲区, 完成一次日志的写入。 4.根据权利 要求1所述的一种基于Socket的多进程日志读写方法, 其特征在于: 所述的 步骤S3中, 具体步骤为: S31: 启动日志读取应用程序, 初始化日志读取接口, 在初始化过程中日志读取接口连 接日志管理模块的socket; S32: 日志管理模块监听到日志读取接口连接后, 将日志缓冲区的所有日志发送给日志 读取应用程序; S33: 日志读取应用程序实现自己的业 务逻辑, 对日志进行 过滤、 显示或备份。 5.一种用于权利要求1至4中任意一项所述的基于Socket的多进程日志读写方法的系 统, 其特征在于: 包括日志管理模块、 日志写入接口和日志读取接口; 日志管理模块是系统后台进程, 包括scoket客户端、 配置模块和环形缓冲区; 日志写入 接口连接日志管理模块, 用于对日志信息进行加头及发送; 日志读取接口连接日志管理模 块, 用于接收日志信息 。 6.一种计算机存储介质, 其特征在于: 其内存储有可被计算机处理器执行的计算机程 序, 该计算机程序执行如权利要求 1至权利要求4中任意一项 所述的一种基于Socket的多进 程日志读写方法。权 利 要 求 书 1/1 页 2 CN 114741189 A 2一种基于Socket的多进程日志读写方 法和系统 技术领域 [0001]本发明属于软件开发技术领域, 具体涉及一种基于S ocket的多进程日志读写方法 和系统。 背景技术 [0002]常规的软件开发中, 通常通过写文件的方式来保存系统的运行日志。 用写文件的 方式存储日志存在以下几个缺 点: [0003]1)如果已单条写入的方式, 会非常占用系统IO, 日志输出较多尤为严重; 而多条写 入的方式会造成进程 等待, A进程写入日志时, B进程无法打开日志文件。 [0004]2)软件的调试阶段和发布后正常运行模式下对日志输出的需求不同, 调试模式需 要更详细的输出, 而正常模式需要尽可能的精简。 常规的做法是通过宏定义来解决, 定义 DEBUG宏以后开启一些调试模式下需要的日志输出, 但需要对系统重新编译。 [0005]3)日志文件会存在独占, 多个进程无法同时写一个文件, 而且日志信息的时间顺 序也无法 保证。 发明内容 [0006]本发明要解决的技术问题是: 提供一种基于Socket的多进程日志读写方法和系 统, 用于实现多 进程读写日志的功能。 [0007]本发明为解决上述技术问题所采取的技术方案为: 一种基于S ocket的多进程日志 读写方法, 包括以下步骤: [0008]S0: 搭建一种基于Socket的多进程日志读写系统, 包括日志 管理模块、 日志写入接 口和日志读取接口; 日志管理模块是系统后台进程, 包括scoket 客户端、 配置模块和环形缓 冲区; 日志写入接口连接日志管理模块; 日志读取接口连接日志管理模块; [0009]S1: 启动系统, 优先启动日志管理模块并常驻后台运行; [0010]S2: 其他应用程序 需要记录日志信息时, 初始化并调用日志写入接口对日志信息 加上头信息后, 通过日志管理模块完成日志的写入; [0011]S3: 日志管理模块 通过监听日志读取接口将日志发送给日志读取应用程序。 [0012]按上述方案, 所述的步骤S1中, 具体步骤为: [0013]S11: 读取包括缓冲区的大小、 日志等级和进程黑名单的配置; 缓冲区大小用于限 定日志占用内存的总额, 日志等级和黑名单用于限制日志的写入; [0014]S12: 日志 管理模块创建一个socket本地服务端和一个环 形缓冲区, 等待客户端的 接入。 [0015]按上述方案, 所述的步骤S2中, 具体步骤为: [0016]S21: 初始化日志写入接口, 初始化过程中的socket客户端与日志管理模块的 socket服 务端进行连接; [0017]S22: 初始化成功后调用日志写入接口;说 明 书 1/3 页 3 CN 114741189 A 3

.PDF文档 专利 一种基于Socket的多进程日志读写方法和系统

文档预览
中文文档 7 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共7页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于Socket的多进程日志读写方法和系统 第 1 页 专利 一种基于Socket的多进程日志读写方法和系统 第 2 页 专利 一种基于Socket的多进程日志读写方法和系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-17 23:59:31上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。