CN115114113A - 日志记录方法、装置、设备及存储介质 - Google Patents
日志记录方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115114113A CN115114113A CN202210828978.1A CN202210828978A CN115114113A CN 115114113 A CN115114113 A CN 115114113A CN 202210828978 A CN202210828978 A CN 202210828978A CN 115114113 A CN115114113 A CN 115114113A
- Authority
- CN
- China
- Prior art keywords
- data
- field
- log
- operation type
- value corresponding
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机技术领域,具体公开了一种日志记录方法、装置、设备及存储介质。该日志记录方法包括:接收业务层发送的结构化查询语言语句,在持久层中拦截结构化查询语言语句;对结构化查询语言语句进行解析,获得解析数据;根据解析数据获取数据操作类型;根据数据操作类型获取操作数据并将操作数据组装成数据对象;根据数据对象生成日志数据,记录日志数据并将日志数据存储到数据库中。通过上述方式,本发明能够替代手动补充操作日志,减少代码冗余,提高开发效率,降低运维成本,同时避免日志记录遗漏问题。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种日志记录方法、装置、设备及存储介质。
背景技术
日志一般以文件的形式保存在磁盘或者云上,对于一些系统,还需要把重要表的增、删、改的操作通过日志记录到数据库中,供后续查询重要数据的修改历史使用。但是,目前操作类日志记录的方式在每次修改数据操作时,都需手动补充操作日志,该方式容易带来以下问题,第一,代码相似度高,造成代码冗余;第二,日志操作穿插在业务操作中,对于业务逻辑的理解和维护成本高;第三,日志记录容易遗漏,造成操作历史缺失。
发明内容
本发明提供一种日志记录方法、装置、设备及存储介质,能够替代手动补充操作日志,减少代码冗余,提高开发效率,降低运维成本,同时避免日志记录遗漏问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种日志记录方法,包括:
接收业务层发送的结构化查询语言语句,在持久层中拦截所述结构化查询语言语句;
对所述结构化查询语言语句进行解析,获得解析数据;
根据所述解析数据获取数据操作类型;
根据所述数据操作类型获取操作数据并将所述操作数据组装成数据对象;
根据所述数据对象生成日志数据,记录所述日志数据并将所述日志数据存储到数据库中。
根据本发明的一个实施例,所述解析数据至少包括所述数据操作类型,所述数据操作类型包括增操作、删操作以及改操作;
当所述数据操作类型为增操作时,所述解析数据还包括字段以及与所述字段对应的值;
当所述数据操作类型为删操作时,所述解析数据还包括表名以及查询条件;
当所述数据操作类型为改操作时,所述解析数据还包括字段、与所述字段对应的值、表名以及查询条件。
根据本发明的一个实施例,所述根据所述数据操作类型获取操作数据并将所述操作数据组装成数据对象包括:
判断所述数据操作类型是否为增操作;
若是,则从所述解析数据中获取第一字段以及与所述第一字段对应的值,将所述第一字段以及与所述第一字段对应的值组装成第一数据对象。
根据本发明的一个实施例,所述判断所述数据操作类型是否为增操作之后,还包括:
若否,则判断所述数据操作类型是否为删操作;
若是,则从所述解析数据中获取第一表名以及第一查询条件,根据所述第一表名确定第一目标查询表,根据所述第一查询条件在所述第一目标查询表查询对应的第二字段以及所述第二字段对应的值,将所述第二字段以及与所述第二字段对应的值组装成第二数据对象。
根据本发明的一个实施例,所述判断所述数据操作类型是否为删操作之后,还包括:
若否,则判断所述数据操作类型是否为改操作;
若是,则从所述解析数据中获取第三字段、与所述第三字段对应的值、第二表名以及第二查询条件;
将所述第三字段以及与所述第三字段对应的值组装成第三数据对象;
根据所述第二表名确定第二目标查询表,根据所述第二查询条件在所述第二目标查询表查询对应的第四字段以及所述第四字段对应的值,将所述第四字段以及与所述第四字段对应的值组装成第四数据对象。
根据本发明的一个实施例,所述根据所述数据对象生成日志数据,记录所述日志数据并将所述日志数据存储到数据库中包括:
当所述数据操作类型为增操作时,根据所述第一数据对象生成所述第一字段与值对应的字符串,作为第一日志数据,记录所述第一日志数据并将所述第一日志数据存储到数据库中;
当所述数据操作类型为删操作时,根据所述第二数据对象生成所述第二字段与值对应的字符串,作为第二日志数据,记录所述第二日志数据并将所述第二日志数据存储到数据库中;
当所述数据操作类型为改操作时,将所述第三数据对象和所述第四数据对象进行比对,根据比对结果生成第三日志数据,记录所述第三日志数据并将所述第三日志数据存储到数据库中。
根据本发明的一个实施例,所述根据所述解析数据获取数据操作类型之后,还包括:
判断所述数据操作类型是否为增操作、删操作或改操作;
若是,则对所述解析数据进行封装处理,将封装处理结果存储到所述数据库中。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种日志记录装置,包括:
拦截模块,用于接收业务层发送的结构化查询语言语句,在持久层中拦截所述结构化查询语言语句;
解析模块,用于对所述结构化查询语言语句进行解析,获得解析数据;
获取模块,用于根据所述解析数据获取数据操作类型;
组装模块,用于根据所述数据操作类型获取操作数据并将所述操作数据组装成数据对象;
记录模块,用于根据所述数据对象生成日志数据,记录所述日志数据并将所述日志数据存储到数据库中。
为解决上述技术问题,本发明采用的再一个技术方案是:提供一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的日志记录方法。
为解决上述技术问题,本发明采用的再一个技术方案是:提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述日志记录方法。
本发明的有益效果是:通过在持久层中拦截结构化查询语言语句,对结构化查询语言语句进行解析,根据解析后的数据操作类型进行组装操作,根据组装形成的数据对象生成日志数据并记录日志数据,能够替代手动补充操作日志,减少代码冗余,提高开发效率,降低运维成本,同时避免日志记录遗漏问题。
附图说明
图1是本发明一实施例的日志记录方法的流程示意图;
图2是本发明一实施例的日志记录架构示意图;
图3是本发明另一实施例的日志记录方法的流程示意图;
图4是本发明实施例的日志记录装置的结构示意图;
图5是本发明实施例的计算机设备的结构示意图;
图6是本发明实施例的计算机存储介质的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
图1是本发明一实施例的日志记录方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括步骤:
步骤S101:接收业务层发送的结构化查询语言语句,在持久层中拦截结构化查询语言语句。
在步骤S101中,请参见图2,图2是本发明一实施例的日志记录架构示意图。该日志记录架构20包括业务层21和持久层22,其中,业务层21用于向持久层22发送结构化查询语言语句,持久层22用于接收结构化查询语言语句,获得结构化查询语言语句的查询结果并根据查询结果进行日志记录。在该实施例中,持久层22包括日志记录模块221、拦截模块222以及数据库223,其中,拦截模块222利用Mybatis拦截插件拦截业务层21发送的结构化查询语言语句,日志记录模块221包括解析单元2211、组装单元2212以及记录单元2213,解析单元2211用于对结构化查询语言语句进行解析,组装单元2212用于根据解析结果进行数据组装,记录单元2213用于根据数据组装结果进行日志记录,数据库223用于支持数据查询以及存储日志记录结果。在本实施例中,数据库223为用户预设置,预存储有可供结构化查询语言语句查询的相关查询表以及用于日志记录的预设分类表。
在一种可实现的实施方式中,可对查询表中的每个字段做对应的中文注解,后续查询相关字段时,能够获得携带有中文注解的字段,利用携带有中文注解的字段生成日志数据,便于运维人员对业务逻辑的理解,节约时间成本并降低对运维人员的专业要求,从而降低维护成本。
预设分类表与日志记录一一对应设置,即一条日志记录对应一个预设分类表,一个预设分类表包括用于存储旧数据的第一分类表和用于存储新数据的第二分类表。
本实施例接收业务层发送的结构化查询语言语句,在持久层22中拦截结构化查询语言语句,日志记录模块221集成于持久层22中,在日志记录模块221通过拦截的结构化查询语言语句进行操作日志记录,能够将日志记录独立于业务层21以外,从而保持业务逻辑的纯净度,减少代码冗余,并且可以提高开发效率。
步骤S102:对结构化查询语言语句进行解析,获得解析数据。
在步骤S102中,使用目前现有的SQL解析工具,如GSP(General SQL Parser,通用sql解析器),或者阿里开源项目Druid。本实施例的解析数据至少包括数据操作类型,数据操作类型包括增操作、删操作以及改操作。进一步地,当数据操作类型为增操作时,解析数据还包括字段以及与字段对应的值;当数据操作类型为删操作时,解析数据还包括表名以及查询条件;当数据操作类型为改操作时,解析数据还包括字段、与字段对应的值、表名以及查询条件。
步骤S103:根据解析数据获取数据操作类型。
在步骤S103中,解析数据至少包括数据操作类型,数据操作类型包括增操作、删操作以及改操作。在一种可实现的实施例中,根据解析数据获取数据操作类型之后,还包括:判断数据操作类型是否为增操作、删操作或改操作;若是,则对解析数据进行封装处理,将封装处理结果存储到数据库中。具体地,当数据操作类型为增操作时,将解析数据中的数据操作类型、字段以及与字段对应的值进行封装处理,将封装处理结果存储到数据库中;当数据操作类型为删操作时,将解析数据中的数据操作类型、表名以及查询条件进行封装处理,将封装处理结果存储到数据库中;当数据操作类型为改操作时,解析数据中的数据操作类型、字段、与字段对应的值、表名以及查询条件进行封装处理,将封装处理结果存储到数据库中。该实施例中,解析数据中的表名与数据库中的查询表一一对应设置,通过表名可以定位到数据库中的查询表进行相关数据查询。
步骤S104:根据数据操作类型获取操作数据并将操作数据组装成数据对象。
在步骤S104中,将操作数据组装成数据对象后,对数据对象进行分类记录,记录到预设分类表对应的子表中。当数据操作类型为增操作时,不存在旧数据,只存在新数据,因此,从解析数据中获取字段以及与字段对应的值,组装成“column=value”的数据对象,“column”与“字段”对应,“value”与“值”对应。将数据对象取名为newData,将newData同步更新到预设分类表中的第二分类表。
当数据操作类型为删操作时,不存在新数据,只存在旧数据,因此,从解析数据中获取表名以及查询条件,根据表名从数据库中确定查询表,根据查询条件在查询表查询对应的字段以及字段对应的值,将字段以及与字段对应的值组装成“column=value”的数据对象,“column”与“字段”对应,“value”与“值”对应。将数据对象取名为oldData,将oldData同步更新到预设分类表中的第一分类表。
当数据操作类型为改操作时,既存在新数据,也存在旧数据,因此,从解析数据中获取字段、与字段对应的值、表名以及查询条件,将字段以及与字段对应的值组装成“column=value”的数据对象,“column”与“字段”对应,“value”与“值”对应,将数据对象取名为newData,将newData同步更新到预设分类表中的第二分类表;根据表名从数据库中确定查询表,根据查询条件在查询表中查询对应的字段以及字段对应的值,将字段以及与字段对应的值组装成“column=value”的数据对象,“column”与“字段”对应,“value”与“值”对应,将数据对象取名为oldData,将oldData同步更新到预设分类表中的第一分类表。
步骤S105:根据数据对象生成日志数据,记录日志数据并将日志数据存储到数据库中。
在步骤S105中,根据更新后的预设分类表,获取同一个预设分类表中的oldData和newData,若oldData为空,说明数据操作类型为增操作,利用newData中的数据对象生成“column=value”的字符串,作为日志数据,记录日志数据并将日志数据存储到数据库中。例如,column为姓名,value为李明,则日志数据为“姓名是李明”,即增操作新增的内容。
若newData为空,说明数据操作类型为删操作,利用oldData中的数据对象生成“column=value”的字符串,作为日志数据,记录日志数据并将日志数据存储到数据库中。例如,column为姓名,value为李明,则日志数据为“姓名是李明”,即删操作删除的内容。
若newData和oldData都不为空,说明数据操作类型为改操作,对比newData和oldData中的column,提取相同column对应的old值和new值,生成日志数据为“column由old=>new”的字符串,例如,oldData中的数据对象为column=old value,newData中的数据对象为column=new value,column为姓名,old value为李明,new value为小明,则日志数据为“姓名由李明改为小明”,记录日志数据并将日志数据存储到数据库中。
本发明一实施例的日志记录方法通过在持久层中拦截结构化查询语言语句,对结构化查询语言语句进行解析,根据解析后的数据操作类型进行组装操作,根据组装形成的数据对象生成日志数据并记录日志数据,能够替代手动补充操作日志,减少代码冗余,提高开发效率,降低运维成本,同时避免日志记录遗漏问题。
图3是本发明另一实施例的日志记录方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图3所示的流程顺序为限。如图3所示,该方法包括步骤:
步骤S301:接收业务层发送的结构化查询语言语句,在持久层中拦截结构化查询语言语句。
在本实施例中,图3中的步骤S301和图1中的步骤S101类似,为简约起见,在此不再赘述。
步骤S302:对结构化查询语言语句进行解析,获得解析数据。
在本实施例中,图3中的步骤S302和图1中的步骤S102类似,为简约起见,在此不再赘述。
步骤S303:根据解析数据获取数据操作类型。
在本实施例中,图3中的步骤S303和图1中的步骤S103类似,为简约起见,在此不再赘述。
步骤S304:判断数据操作类型是否为增操作。
步骤S305:若是,则从解析数据中获取第一字段以及与第一字段对应的值,将第一字段以及与第一字段对应的值组装成第一数据对象。
在步骤S305中,增操作的解析数据包括数据操作类型、第一字段以及与第一字段对应的值,其中,第一字段以及与第一字段对应的值为增操作新增的内容。第一数据对象的格式为“column=value”,“column”与“第一字段”对应,“value”与“与第一字段对应的值”对应。
步骤S306:若否,则判断数据操作类型是否为删操作。
在步骤S306中,若数据操作类型不是增操作,则判断数据操作类型是否为删操作。
步骤S307:若是,则从解析数据中获取第一表名以及第一查询条件,根据第一表名确定第一目标查询表,根据第一查询条件在第一目标查询表查询对应的第二字段以及第二字段对应的值,将第二字段以及与第二字段对应的值组装成第二数据对象。
在步骤S307中,若数据操作类型为删操作,删操作的解析数据包括数据操作类型、第一表名以及第一查询条件,可以通过第一表名以及第一查询条件查询删操作所操作的内容。具体地,根据第一表名从数据库中确定第一目标查询表,根据第一查询条件在第一目标查询表查询对应的第二字段以及第二字段对应的值,利用第二字段以及第二字段对应的值组装成“column=value”的第二数据对象,其中,“column”与“第二字段”对应,“value”与“与第二字段对应的值”对应。
步骤S308:若否,则判断数据操作类型是否为改操作。
在步骤S308中,若数据操作类型不是删操作,则判断数据操作类型是否为改操作。
步骤S309:若是,则从解析数据中获取第三字段、与第三字段对应的值、第二表名以及第二查询条件;将第三字段以及与第三字段对应的值组装成第三数据对象;根据第二表名确定第二目标查询表,根据第二查询条件在第二目标查询表查询对应的第四字段以及第四字段对应的值,将第四字段以及与第四字段对应的值组装成第四数据对象。
在步骤S309中,若数据操作类型为改操作,解析数据包括数据操作类型、第三字段、与第三字段对应的值、第二表名以及第二查询条件,第三字段以及与第三字段对应的值为改操作之后的内容,通过第二表名以及第二查询条件查询改操作之前的内容。具体地,将第三字段以及与第三字段对应的值组装成“column=value”的第三数据对象,其中,“column”与“第三字段”对应,“value”与“与第三字段对应的值”对应。根据第二表名从数据库中确定第二目标查询表,根据第二查询条件在第二目标查询表查询对应的第四字段以及第四字段对应的值,利用第四字段以及第四字段对应的值组装成“column=value”的第四数据对象,其中,“column”与“第四字段”对应,“value”与“与第四字段对应的值”对应。
本发明第二实施例的日志记录方法,通过判断数据操作类型,对对应的数据操作类型进行组装操作,根据组装形成的数据对象生成日志数据并记录日志数据,能够替代手动补充操作日志,减少代码冗余,提高开发效率,降低运维成本,同时避免日志记录遗漏问题。
图4是本发明实施例的日志记录装置的结构示意图。如图4所示,该装置40包括拦截模块41、解析模块42、获取模块43、组装模块44以及记录模块45。
拦截模块41用于接收业务层发送的结构化查询语言语句,在持久层中拦截结构化查询语言语句;
解析模块42用于对结构化查询语言语句进行解析,获得解析数据;
获取模块43用于根据解析数据获取数据操作类型;
组装模块44用于根据数据操作类型获取操作数据并将操作数据组装成数据对象;
记录模块45用于根据数据对象生成日志数据,记录日志数据并将日志数据存储到数据库中。
请参阅图5,图5为本发明实施例的计算机设备的结构示意图。如图5所示,该计算机设备50包括处理器51及和处理器51耦接的存储器52。
存储器52存储有用于实现上述任一实施例所述的日志记录方法的程序指令。
处理器51用于执行存储器52存储的程序指令以记录日志。
其中,处理器51还可以称为CPU(Central Processing Unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
参阅图6,图6为本发明实施例的计算机存储介质的结构示意图。本发明实施例的计算机存储介质存储有能够实现上述所有方法的程序文件61,其中,该程序文件61可以以软件产品的形式存储在上述计算机存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的计算机存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种日志记录方法,其特征在于,包括:
接收业务层发送的结构化查询语言语句,在持久层中拦截所述结构化查询语言语句;
对所述结构化查询语言语句进行解析,获得解析数据;
根据所述解析数据获取数据操作类型;
根据所述数据操作类型获取操作数据并将所述操作数据组装成数据对象;
根据所述数据对象生成日志数据,记录所述日志数据并将所述日志数据存储到数据库中。
2.根据权利要求1所述的日志记录方法,其特征在于,所述解析数据至少包括所述数据操作类型,所述数据操作类型包括增操作、删操作以及改操作;
当所述数据操作类型为增操作时,所述解析数据还包括字段以及与所述字段对应的值;
当所述数据操作类型为删操作时,所述解析数据还包括表名以及查询条件;
当所述数据操作类型为改操作时,所述解析数据还包括字段、与所述字段对应的值、表名以及查询条件。
3.根据权利要求2所述的日志记录方法,其特征在于,所述根据所述数据操作类型获取操作数据并将所述操作数据组装成数据对象包括:
判断所述数据操作类型是否为增操作;
若是,则从所述解析数据中获取第一字段以及与所述第一字段对应的值,将所述第一字段以及与所述第一字段对应的值组装成第一数据对象。
4.根据权利要求3所述的日志记录方法,其特征在于,所述判断所述数据操作类型是否为增操作之后,还包括:
若否,则判断所述数据操作类型是否为删操作;
若是,则从所述解析数据中获取第一表名以及第一查询条件,根据所述第一表名确定第一目标查询表,根据所述第一查询条件在所述第一目标查询表查询对应的第二字段以及所述第二字段对应的值,将所述第二字段以及与所述第二字段对应的值组装成第二数据对象。
5.根据权利要求4所述的日志记录方法,其特征在于,所述判断所述数据操作类型是否为删操作之后,还包括:
若否,则判断所述数据操作类型是否为改操作;
若是,则从所述解析数据中获取第三字段、与所述第三字段对应的值、第二表名以及第二查询条件;
将所述第三字段以及与所述第三字段对应的值组装成第三数据对象;
根据所述第二表名确定第二目标查询表,根据所述第二查询条件在所述第二目标查询表查询对应的第四字段以及所述第四字段对应的值,将所述第四字段以及与所述第四字段对应的值组装成第四数据对象。
6.根据权利要求5所述的日志记录方法,其特征在于,所述根据所述数据对象生成日志数据,记录所述日志数据并将所述日志数据存储到数据库中包括:
当所述数据操作类型为增操作时,根据所述第一数据对象生成所述第一字段与值对应的字符串,作为第一日志数据,记录所述第一日志数据并将所述第一日志数据存储到数据库中;
当所述数据操作类型为删操作时,根据所述第二数据对象生成所述第二字段与值对应的字符串,作为第二日志数据,记录所述第二日志数据并将所述第二日志数据存储到数据库中;
当所述数据操作类型为改操作时,将所述第三数据对象和所述第四数据对象进行比对,根据比对结果生成第三日志数据,记录所述第三日志数据并将所述第三日志数据存储到数据库中。
7.根据权利要求1所述的日志记录方法,其特征在于,所述根据所述解析数据获取数据操作类型之后,还包括:
判断所述数据操作类型是否为增操作、删操作或改操作;
若是,则对所述解析数据进行封装处理,将封装处理结果存储到所述数据库中。
8.一种日志记录装置,其特征在于,包括:
拦截模块,用于接收业务层发送的结构化查询语言语句,在持久层中拦截所述结构化查询语言语句;
解析模块,用于对所述结构化查询语言语句进行解析,获得解析数据;
获取模块,用于根据所述解析数据获取数据操作类型;
组装模块,用于根据所述数据操作类型获取操作数据并将所述操作数据组装成数据对象;
记录模块,用于根据所述数据对象生成日志数据,记录所述日志数据并将所述日志数据存储到数据库中。
9.一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的日志记录方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的日志记录方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210828978.1A CN115114113A (zh) | 2022-07-15 | 2022-07-15 | 日志记录方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210828978.1A CN115114113A (zh) | 2022-07-15 | 2022-07-15 | 日志记录方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115114113A true CN115114113A (zh) | 2022-09-27 |
Family
ID=83332059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210828978.1A Pending CN115114113A (zh) | 2022-07-15 | 2022-07-15 | 日志记录方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115114113A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117407369A (zh) * | 2023-12-14 | 2024-01-16 | 宁德时代新能源科技股份有限公司 | 操作日志记录方法、装置及电子设备 |
-
2022
- 2022-07-15 CN CN202210828978.1A patent/CN115114113A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117407369A (zh) * | 2023-12-14 | 2024-01-16 | 宁德时代新能源科技股份有限公司 | 操作日志记录方法、装置及电子设备 |
CN117407369B (zh) * | 2023-12-14 | 2024-05-28 | 宁德时代新能源科技股份有限公司 | 操作日志记录方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210081416A1 (en) | Data storage apparatus, translation apparatus, and database access method | |
US11120018B2 (en) | Spark query method and system supporting trusted computing | |
CN107506451B (zh) | 用于数据交互的异常信息监控方法及装置 | |
CN109471851B (zh) | 数据处理方法、装置、服务器和存储介质 | |
US11030242B1 (en) | Indexing and querying semi-structured documents using a key-value store | |
CN110213207B (zh) | 一种基于日志分析的网络安全防御方法及设备 | |
CN113051268A (zh) | 数据查询方法、数据查询装置、电子设备及存储介质 | |
US20140214902A1 (en) | Resolving in-memory foreign keys in transmitted data packets from single-parent hierarchies | |
CN112231407B (zh) | PostgreSQL数据库的DDL同步方法、装置、设备和介质 | |
WO2022247442A1 (zh) | 符号解析方法、装置、设备及存储介质 | |
CN112685433A (zh) | 元数据更新方法、装置、电子设备及计算机可读存储介质 | |
CN110688096B (zh) | 包含插件的应用程序的构建方法、装置、介质及电子设备 | |
CN109815240A (zh) | 用于管理索引的方法、装置、设备和存储介质 | |
CN115114113A (zh) | 日志记录方法、装置、设备及存储介质 | |
CN111241189A (zh) | 一种同步数据的方法和装置 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN113609128B (zh) | 生成数据库实体类的方法、装置、终端设备及存储介质 | |
CN113111239B (zh) | 一种通用数据库操作方法、装置及其存储介质 | |
CN113722296A (zh) | 一种农业信息处理方法、装置、电子设备及存储介质 | |
CN112818070A (zh) | 基于全域数据字典的数据查询方法、装置及电子设备 | |
EP4216076B1 (en) | Method and apparatus of processing an observation information, electronic device and storage medium | |
WO2023164294A1 (en) | Query splitter for an inverted index datastore | |
CN115525671A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN115344614A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN114281842A (zh) | 一种数据库分表查询的方法及设备 |
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 |