CN113806322A - 一种多类型日志记录系统 - Google Patents
一种多类型日志记录系统 Download PDFInfo
- Publication number
- CN113806322A CN113806322A CN202111165427.3A CN202111165427A CN113806322A CN 113806322 A CN113806322 A CN 113806322A CN 202111165427 A CN202111165427 A CN 202111165427A CN 113806322 A CN113806322 A CN 113806322A
- Authority
- CN
- China
- Prior art keywords
- log
- write
- writing
- database
- logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000002159 abnormal effect Effects 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 22
- 230000010354 integration Effects 0.000 claims description 18
- 230000003993 interaction Effects 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 claims description 9
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 210000001503 joint Anatomy 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种多类型日志记录系统,所述系统包括:逻辑判断模块、逻辑切换模块,所述逻辑判断模块判断引擎实例写数据日志的方式,判断写日志类型参数、写日志方式参数和集成项目写日志配置参数;当日志数据库发生异常时,引擎实例通过逻辑切换模块自动切换写日志数据库方式逻辑,保证数据库不受影响。本发明解决了现有写日志方式不稳定的问题。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种多类型日志记录系统。
背景技术
一个日门诊量上万规模的医院,内部外部业务系统会达到上百个,日系统间交互消息量能达到几千万。为了解决业务系统点对点间交互的情况,上线信息集成平台,业务系统作为端点只与集成平台对接,集成平台完成与其他业务系统对接过程,实现业务系统间交互的解耦和交互可配置,实现业务系统间交互过程的跟踪监控和报警
引擎实例在执行集成项目时,会产生大量的日志信息,日志信息决定着存储空间的大小,另一方面,引擎实例在写数据库时,如果数据库无空间使用或由于网络原因数据库访问不成功等异常因素,会导致引擎实例写数据库失败或大量等待连接导致引擎实例整体处理变慢,影响所有业务系统间的交互而影响业务。
因此需要多种策略优先保障引擎实例运行的稳定性,其次可以有策略的配置写日志方式降低存储空间。
发明内容
为此,本发明提供一种多类型日志记录系统,以解决现有写日志方式不稳定的问题。
为了实现上述目的,本发明提供如下技术方案:
本发明公开了一种多类型日志记录系统,所述系统包括:逻辑判断模块、逻辑切换模块,所述逻辑判断模块判断引擎实例写数据日志的方式,判断写日志类型参数、写日志方式参数和集成项目写日志配置参数;当日志数据库发生异常时,引擎实例通过逻辑切换模块自动切换写日志数据库方式逻辑,保证数据库不受影响。
进一步地,所述逻辑判断模块判断写日志类型参数包括:LOGDB和NOWRITE,LOGDB写数据库,NOWRITE不写日志,引擎实例处理完集成项目后,丢弃日志信息。
进一步地,所述逻辑判断模块判断写日志方式参数过程中,当写日志类型参数=LOGDB时,包括同步写入和异步写入,在同步写入过程中,由引擎实例直接写日志数据库;在异步写入过程中,包括两种情况,一种情况为先写消息队列MQ,由写日志线程写数据库,另一种情况为,引擎实例处理完消息后不写消息队列MQ,继续处理其它消息,由另外一个独立的线程将内存中的日志信息写入MQ,再由写日志线程写日志数据库。
进一步地,所述逻辑判断模块判断集成项目写日志配置参数过程中,当写日志类型参数=LOGDB时,可以配置某个集成项目是否写日志级别;或者可以配置某个集成项目的某个组件是否写日志级别。
进一步地,所述逻辑切换模块在日志数据发生异常时,引擎实例进行自动切换写日志数据库方式逻辑,引擎实例中具体数据库状态查看线程定时检查数据库的可使用状态,并将检查结果写入内存,引擎实例在处理完成集成项目后,日志信息暂时写在内存队列中。
进一步地,所述逻辑切换模块在同步写数据库的情况下,如果引擎实例读取内存中的数据库检查状态为不可用,引擎实例可以直接丢弃日志信息继续处理其他集成项目。
进一步地,所述逻辑切换模块在异步写数据库情况下,如果引擎实例写日志线程读取内存中的数据库检查状态为不可用,引擎实例写日志线可以直接丢弃该日志信息处理其他日志信息。
进一步地,所述系统将将不重要的、大量的查询消息所触发的集成项目,与业务交互类无关的消息所触发的集成项目,以及与运行稳定的消息所触发的集成项目中一些非关键组件设置成不写日志模式。
本发明具有如下优点:
本发明公开了一种多类型日志记录系统,在多写日志策略的方式下,引擎实例在实际的运行中可以根据数据库的可用状态自动切换写日志的方式,不影响业务系统间的交互过程;对于不重要的消息交互集成项目日志可以采用不记录日志选项,能有效降低日志的存储空间。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明实施例提供的一种多类型日志记录系统架构图;
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例公开了一种多类型日志记录系统,所述系统包括:逻辑判断模块、逻辑切换模块,所述逻辑判断模块判断引擎实例写数据日志的方式,判断写日志类型参数、写日志方式参数和集成项目写日志配置参数;当日志数据库发生异常时,引擎实例通过逻辑切换模块自动切换写日志数据库方式逻辑,保证数据库不受影响。
逻辑判断模块判断写日志类型参数包括:LOGDB和NOWRITE,LOGDB写数据库,NOWRITE不写日志,引擎实例处理完集成项目后,丢弃日志信息。
逻辑判断模块判断写日志方式参数过程中,当写日志类型参数=LOGDB时,包括同步写入和异步写入,在同步写入过程中,由引擎实例直接写日志数据库;在异步写入过程中,包括两种情况,一种情况为先写消息队列MQ,由写日志线程写数据库,另一种情况为,引擎实例处理完消息后不写消息队列MQ,继续处理其它消息,由另外一个独立的线程将内存中的日志信息写入MQ,再由写日志线程写日志数据库。
逻辑判断模块判断集成项目写日志配置参数过程中,当写日志类型参数=LOGDB时,可以配置某个集成项目是否写日志级别;或者可以配置某个集成项目的某个组件是否写日志级别。
逻辑切换模块在日志数据发生异常时,引擎实例进行自动切换写日志数据库方式逻辑,引擎实例中具体数据库状态查看线程定时检查数据库的可使用状态,并将检查结果写入内存,引擎实例在处理完成集成项目后,日志信息暂时写在内存队列中。
逻辑切换模块在同步写数据库的情况下,如果引擎实例读取内存中的数据库检查状态为不可用,引擎实例可以直接丢弃日志信息继续处理其他集成项目。
逻辑切换模块在异步写数据库情况下,如果引擎实例写日志线程读取内存中的数据库检查状态为不可用,引擎实例写日志线可以直接丢弃该日志信息处理其他日志信息。系统可以将不重要的、大量的查询消息所触发的集成项目设置成不写日志模式;将与业务交互类无关的消息所触发的集成项目设置成不写日志模式;将运行稳定的消息所触发的集成项目中一些非关键组件设置成不写日志模式,实现了存储空间的节约。
本实施例公开了一种多类型日志记录系统,在多写日志策略的方式下,引擎实例在实际的运行中可以根据数据库的可用状态自动切换写日志的方式,不影响业务系统间的交互过程;对于不重要的消息交互集成项目日志可以采用不记录日志选项,能有效降低日志的存储空间。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (8)
1.一种多类型日志记录系统,其特征在于,所述系统包括:逻辑判断模块、逻辑切换模块,所述逻辑判断模块判断引擎实例写数据日志的方式,判断写日志类型参数、写日志方式参数和集成项目写日志配置参数;当日志数据库发生异常时,引擎实例通过逻辑切换模块自动切换写日志数据库方式逻辑,保证数据库不受影响。
2.如权利要求1所述的一种多类型日志记录系统,其特征在于,所述逻辑判断模块判断写日志类型参数包括:LOGDB和NOWRITE,LOGDB写数据库,NOWRITE不写日志,引擎实例处理完集成项目后,丢弃日志信息。
3.如权利要求1所述的一种多类型日志记录系统,其特征在于,所述逻辑判断模块判断写日志方式参数过程中,当写日志类型参数=LOGDB时,包括同步写入和异步写入,在同步写入过程中,由引擎实例直接写日志数据库;在异步写入过程中,包括两种情况,一种情况为先写消息队列MQ,由写日志线程写数据库,另一种情况为,引擎实例处理完消息后不写消息队列MQ,继续处理其它消息,由另外一个独立的线程将内存中的日志信息写入MQ,再由写日志线程写日志数据库。
4.如权利要求1所述的一种多类型日志记录系统,其特征在于,所述逻辑判断模块判断集成项目写日志配置参数过程中,当写日志类型参数=LOGDB时,可以配置某个集成项目是否写日志级别;或者可以配置某个集成项目的某个组件是否写日志级别。
5.如权利要求1所述的一种多类型日志记录系统,其特征在于,所述逻辑切换模块在日志数据发生异常时,引擎实例进行自动切换写日志数据库方式逻辑,引擎实例中具体数据库状态查看线程定时检查数据库的可使用状态,并将检查结果写入内存,引擎实例在处理完成集成项目后,日志信息暂时写在内存队列中。
6.如权利要求5所述的一种多类型日志记录系统,其特征在于,所述逻辑切换模块在同步写数据库的情况下,如果引擎实例读取内存中的数据库检查状态为不可用,引擎实例可以直接丢弃日志信息继续处理其他集成项目。
7.如权利要求5所述的一种多类型日志记录系统,其特征在于,所述逻辑切换模块在异步写数据库情况下,如果引擎实例写日志线程读取内存中的数据库检查状态为不可用,引擎实例写日志线可以直接丢弃该日志信息处理其他日志信息。
8.如权利要求1所述的一种多类型日志记录系统,其特征在于,所述系统将不重要的、大量的查询消息所触发的集成项目,与业务交互类无关的消息所触发的集成项目,以及与运行稳定的消息所触发的集成项目中一些非关键组件设置成不写日志模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111165427.3A CN113806322B (zh) | 2021-09-30 | 2021-09-30 | 一种多类型日志记录系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111165427.3A CN113806322B (zh) | 2021-09-30 | 2021-09-30 | 一种多类型日志记录系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113806322A true CN113806322A (zh) | 2021-12-17 |
CN113806322B CN113806322B (zh) | 2024-06-25 |
Family
ID=78939069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111165427.3A Active CN113806322B (zh) | 2021-09-30 | 2021-09-30 | 一种多类型日志记录系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806322B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928872A (zh) * | 2005-09-09 | 2007-03-14 | 国际商业机器公司 | 动态切换将事务数据写入盘中的模式的设备和方法 |
US20100030824A1 (en) * | 2008-07-31 | 2010-02-04 | Sybase, Inc. | Statement logging in databases |
CN106789153A (zh) * | 2016-11-09 | 2017-05-31 | 苏州数言信息技术有限公司 | 物联网系统终端设备的多渠道自适应日志记录、输出方法及系统 |
CN111143310A (zh) * | 2018-11-06 | 2020-05-12 | 海通证券股份有限公司 | 日志记录方法及装置、可读存储介质 |
CN112035410A (zh) * | 2020-08-18 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 日志存储方法、装置、节点设备及存储介质 |
-
2021
- 2021-09-30 CN CN202111165427.3A patent/CN113806322B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928872A (zh) * | 2005-09-09 | 2007-03-14 | 国际商业机器公司 | 动态切换将事务数据写入盘中的模式的设备和方法 |
US20100030824A1 (en) * | 2008-07-31 | 2010-02-04 | Sybase, Inc. | Statement logging in databases |
CN106789153A (zh) * | 2016-11-09 | 2017-05-31 | 苏州数言信息技术有限公司 | 物联网系统终端设备的多渠道自适应日志记录、输出方法及系统 |
CN111143310A (zh) * | 2018-11-06 | 2020-05-12 | 海通证券股份有限公司 | 日志记录方法及装置、可读存储介质 |
CN112035410A (zh) * | 2020-08-18 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 日志存储方法、装置、节点设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
YE_YANG: "Log4j2中的同步日志与异步日志", pages 1, Retrieved from the Internet <URL:https://www.cnblogs.com/yeyang/p/7944906.html> * |
Also Published As
Publication number | Publication date |
---|---|
CN113806322B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100430945C (zh) | 动态切换将事务数据写入盘中的模式的设备和方法 | |
JP4431977B2 (ja) | メモリモジュールの自己テストおよび修復するためのシステムおよび方法 | |
US20060089975A1 (en) | Online system recovery system, method and program | |
US20030126518A1 (en) | Virtual storage status coalescing | |
CN110941502B (zh) | 消息处理方法、装置、存储介质及设备 | |
CN110569149B (zh) | 基于故障探测触发Oracle容灾自动应急切换的方法 | |
CN103226598A (zh) | 访问数据库的方法和装置以及数据库管理系统 | |
US7577865B2 (en) | System and method for failure recovery in a shared storage system | |
CN112181723A (zh) | 一种金融灾备方法、装置、存储介质及电子设备 | |
WO2020233001A1 (zh) | 双控构架分布式存储系统、数据读取方法、装置和存储介质 | |
CN113806322A (zh) | 一种多类型日志记录系统 | |
US7409519B2 (en) | Synchronizing logical systems | |
WO2005031577A1 (en) | Logical partitioning in redundantstorage systems | |
CN115934742A (zh) | 一种故障处理方法、装置、设备及存储介质 | |
CN113342769A (zh) | 一种统一日志记录工具、方法、存储介质及设备 | |
US20070294477A1 (en) | Raid management apparatus, raid management method, and computer product | |
US6832292B2 (en) | Multiple access storage system | |
US7568121B2 (en) | Recovery from failure in data storage systems | |
CN1532701B (zh) | 存储器不稳定仍维持系统稳定度的系统及存储器控制方法 | |
Yan et al. | An improved two-phase commit protocol adapted to the distributed real-time transactions | |
CN117076953B (zh) | 异步服务异常处理方法、电子设备及计算机可读存储介质 | |
JP2000089994A (ja) | データベース管理方法およびその装置 | |
JPS60258659A (ja) | 部分的フアイル閉塞制御方式 | |
KR100413422B1 (ko) | 멀티포트 제어기에서의 멀티포트 제어 방법 | |
KR100431467B1 (ko) | 프로세서간 이중화 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |