日志管理模块升级方案
1. 背景
由于现阶段的日志管理,记录的数据比较简单,不够具体,不能适应系统日益庞大的需求。需要对此功能进行升级。
希望增加的功能有:
l 方便地区分操作类型
l 尽可能详细的记录用户的操作
2. 现状
2.1 日志类型
操作类型和查询类型。
2.2 数据存储
数据库。所有类型全放在同一张表中。
2.3 记录方式
登录相应页面,执行相应动作时,简单记录想要的值,写入数据库相应字段。
3. 升级方案
4.1 日志类型
分成三种类型:登录、查询、修改参数和用户管理。
4.2 数据存储
还是采用数据库的存储方式。数据表的结构做了一些调整:
日志表(D_Logs) |
||||||
序号 |
列名 |
数据类型 |
允许空 |
默认值 |
主键 |
说明 |
1 |
LogID |
int |
|
|
√ |
标识(自增) |
2 |
UserCode |
varchar(50) |
|
|
|
用户代码 |
3 |
UserName |
varchar(100) |
|
|
|
用户名 |
4 |
LoginIP |
varchar(20) |
|
|
|
登录IP |
5 |
Type |
int |
|
|
|
操作类型 |
6 |
Operation |
varchar(1000) |
√ |
|
|
操作内容 |
7 |
CreateDate |
datetime |
|
getdate() |
|
操作时间 |
8 |
Remark |
varchar(500) |
√ |
|
|
备注 |
由于4种类型的操作都记录在同一张表中,加上这4种类型所需要记录的内容各不相同。所以有以上表结构的调整。共同的信息都记录在除Operation字段外的其它字段中。而Operation字段则是用来记录这4种类型具体的操作内容。
为了方便存储和读取,我们采用Json字符串的形式记录具体的操作内容。
Json字符串的形式为:
{“para1”:”value1”, “para2”:”value2”, “para3”:”value3”, “para...n”:”value…n”}
其中:para为参数,value为值。
由此,如果用户进行了一个查询的操作,我们可以记录为:
{“查询类型”:“值”, “查询名称”:“值”, “公司”:“值”,……….}
又如,进行用户管理时:
{“姓名”:“新值”, “状态”:“新值”, “旧角色”:“角色1,角色2”, “新角色”:“角色1,角色2”,……….}
这样,我们就可以记录任意我们想记录的信息了(只要存储字段设得足够大)。
4. 实现方式
4.1 所要做的调整
l 数据库表
l 日志管理底层代码
l 程序中的存取
4.2 程序实现
数据表的调整由于只是修改一下数据结构而已,在此就略过了。主要讲第2,3个调整。
底层代码。主要是一些对日志表所进行的增、删、查、改操作及相应的调用接口。但需要注意的一点是:日志主要是记录事实,所以就不需要修改的操作,加上对Json字符串的修改也需要编写额外的代码。查询方面,我们一般会针对时间,操作类型,用户等进行查询,很少会对具体的操作内容进行查询的。因为对Json字符串进行查询是比较复杂和费时的一项操作来的,所以只需要对除“操作内容”外的其它字段进行查询即可。
存取。存,我们需要按照Json字符串的格式拼接字符串,然后调用底层的插入数据接口,将数据存入数据表中的Operation字段即可。取,我们可以将Json字符串的键值以表格的形式显示出来即可。
相关推荐
该系统应用于一个大型企业的日志管理,包括日志记录、日志类型管理和日志与类型的关联关系管理。 场景: 该企业拥有多个业务系统,每天会产生大量的日志数据。由于日志数据量庞大,人工处理和管理这些数据非常困难...
这表明数据库设计需要与业务流程紧密集成,满足各种业务操作的需求。 最后,数据库设计文档应详细记录每个表的字段说明、数据类型、约束条件、索引设计、触发器、存储过程等数据库对象的创建细节。这些内容都是...
根据提供的信息,我们可以推断出这是一本关于数据库设计的教程书籍,并且是其第二版。由于具体的页面内容并未给出,我们将基于标题、描述及标签中的信息,对可能涉及的关键知识点进行归纳总结。 ### 数据库设计的...
在个人日志管理系统中,数据库设计可能包括了以下几个核心知识点: 1. **需求分析**:首先,设计者需要理解日志管理的需求,例如用户可能需要记录什么类型的信息,如日期、事件描述、心情、地点等。这决定了数据库...
数据库设计与开发规范是软件开发过程中的重要环节,特别是在大型企业如阿里巴巴这样的环境中,严谨的数据库设计规范能够确保系统的高效、稳定和可扩展性。以下是对"数据库设计开发规范-阿里.pdf.zip"文件内容的详细...
"mssql数据库日志收缩工具"可能是针对SQL Server设计的一款第三方工具,旨在简化日志收缩的操作,提高工作效率。这样的工具通常会提供图形化界面,使用户能够更直观地监控和管理日志文件大小,避免复杂的SQL命令输入...
数据库设计文档 目录 1. 数据库物理设计原则 5 1.1. 数据库环境配置原则 5 1.1.1. 操作系统环境 5 1.1.2. 内存要求 5 1.1.3. 交换区设计 5 1.1.4. 其他 6 1.2. 数据库设计原则 6 1.2.1. 数据库SID 6 1.2.2. 数据库...
4. SQL语言:SQL(Structured Query Language)是用于操作数据库的标准语言,包括数据查询、数据更新、数据插入和数据删除等操作。掌握SQL语句的编写是数据库应用开发的基础。 5. 视图和索引:视图是虚拟表,基于一...
数据库设计与开发规范是软件开发过程中的重要环节,特别是在大型企业如阿里巴巴这样的环境中,严谨的数据库规范能够确保数据的一致性、稳定性和高效性。本规范主要针对MySQL,但也适用于Oracle等其他数据库系统。 1...
SQL数据库日志清理工具是针对SQL Server数据库管理系统中日志文件过大或日志管理不当而设计的专业工具。在SQL Server中,日志文件(通常命名为*.ldf)用于记录所有事务的更改,包括数据的插入、更新和删除,以及...
数据库设计规范_编码规范.docx 数据库设计规范是指在软件开发过程中关于数据库设计时的命名标准和具体工作时的编程规范,以便于沟通和维护。本标准适用于全体开发人员,作用于软件工程开发的数据库设计、维护阶段。...
这款工具专门针对金蝶K3数据库设计,能够有效地缩小日志文件的大小,释放存储空间,同时保持系统的稳定运行。其主要功能包括: 1. 日志清理:该工具可以删除已完成的事务日志,只保留必要的部分,以减小日志文件的...
在数据库设计中,IO接口如FileInputStream和FileOutputStream用于读写数据库相关的配置文件或日志文件。此外,BufferedReader和PrintWriter类可以用于读写文本文件,如SQL脚本,这些脚本可能包含创建数据库表结构或...
综上所述,这份规范涵盖了数据库设计的各个方面,从目标设定到具体操作,强调了命名规范、设计原则和更新流程,旨在创建一个高效、稳定和易于维护的数据库环境。通过遵循这些标准,团队成员可以协同工作,确保数据库...
### Java数据库设计技巧 在Java应用开发中,数据库设计的重要性不言而喻。良好的数据库设计不仅可以提高系统的性能,还能简化应用程序的复杂度,确保数据的一致性和完整性。要提高数据库的运行效率,必须从数据库...
6. **性能考虑**:将日志写入数据库可能会对系统性能产生影响,因此需要合理配置日志级别,避免频繁的数据库操作。此外,可以使用异步方式写入日志,减少阻塞。 7. **日志审计与安全**:将日志存储在数据库中有利于...
在SQL Server数据库管理中,日志文件是存储事务日志的重要组成部分,它记录了所有数据库的更改操作,对于数据安全性和可恢复性至关重要。然而,随着时间的推移,日志文件可能会变得非常大,占用大量磁盘空间,这可能...
在数据库设计方面,选择了SQL Server作为后台数据库开发工具,因为SQL Server具有完善的功能、简单的操作界面以及良好的安全性,能够有效防止非法入侵。系统设计中采用了E-R(实体-关系)图来分析数据关系,包括线路...
数据库设计规范是软件开发中至关重要的一环,它确保了项目的可读性、可维护性和团队间的有效沟通。本文档详细阐述了数据库编码和设计的规范,适用于所有参与软件项目开发的数据库设计师和开发者。 首先,规范的目的...
本文将详细介绍如何在SQL Server环境中重建数据库日志文件,通过一系列精心设计的步骤,帮助恢复数据库的正常运作。 #### 步骤详解: **A. 创建临时数据库** 首先,在SQL Server Enterprise Manager中创建一个临时...