CN101436962B - 日志管理方法及系统 - Google Patents
日志管理方法及系统 Download PDFInfo
- Publication number
- CN101436962B CN101436962B CN2008101827764A CN200810182776A CN101436962B CN 101436962 B CN101436962 B CN 101436962B CN 2008101827764 A CN2008101827764 A CN 2008101827764A CN 200810182776 A CN200810182776 A CN 200810182776A CN 101436962 B CN101436962 B CN 101436962B
- Authority
- CN
- China
- Prior art keywords
- log
- record
- business
- field
- list
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及应用系统日志管理技术领域,提供了一种日志管理方法和系统,所述方法包括如下步骤:S1:初始化系统业务功能列表和业务功能方法列表;S2:将业务操作中的具体操作信息与系统日志表和历史数据日志表直接相关联;S4:根据业务操作自动记录日志信息。本发明从整体考虑整个应用系统的日志信息与业务操作挂接,用户在运行时可以根据当前的需要,选择某业务操作是否需要记录日志,并且在业务操作界面能即时将相关的日志信息调出来,不需要再跑到专门的日志查询界面,大大简化了用户的操作。
Description
技术领域
本发明涉及应用系统日志管理技术领域,特别涉及一种系统日志与业务操作的无缝挂接日志管理方法及系统。
背景技术
要保护和提高计算机用户的网络安全,由各种操作系统、应用程序、设备和安全产品的日志数据能够帮助用户提前发现和避开灾难,并且找到安全事件的根本原因。目前,基本上每个应用系统都有自己的日志信息,日志数据对于实现网络安全的价值有多大取决于两个因素:第一,用户的系统和设备必须进行合适的设置以便记录你需要的数据。第二,用户必须有合适的工具、培训和可用的资源来分析收集到的数据。
在能够分析日志数据之前,显然要收集数据。更重要的是,记录数据的程序或者设备要设置为收集需要的数据。一旦收集完日志数据,需要解决的问题就是如何有效地利用这些数据。
对用户来讲操作日志最通用的做法是把日志信息与业务操作隔离,在实现上常采用如下方式:
1)构造系统日志表
系统日志表一般包含如下字段:
字段名称 | 描述 |
ID | 日志表记录的主键 |
操作者 | 执行操作的人,一般存储执行操作的用户对应的主键 |
操作时间 | 执行操作的时间 |
IP地址 | 执行操作的客户端对应的IP地址 |
功能名称 | 被操作的模块或子系统,如“销售订单” |
操作实例 | 被操作的具体数据,如“001”,表示001号销售订单 |
操作类型 | 对操作对象的具体行为,如“新增”或“审核”等 |
执行结果 | 操作的结果,如“成功”或“失败” |
另外,不同的系统根据框架的不同,可以增加一些框架相应的属性或者一些冗余字段,但是核心的字段就如上表所列。
2)业务功能在执行操作时,通过代码记录日志
在用户执行某项操作时,如新增销售订单,对应系统中会有一个方法来进行数据的处理,如插入销售订单数据表。在插入完成后,会调用一个公共的日志记录方法,将操作情况记录到步骤1)中的系统日志表。
根据框架的不同,在使用上会存在差异,有些系统是框架自动去记录日志,但是操作方式与原理是一样的。
3)查询日志信息
在应用系统的“系统管理”子系统下面挂一个日志查询的模块,用户可以在查询界面输入查询条件,如功能、操作时间范围、操作者等;确定后,系统就从步骤1)的系统日志表将符合条件的日志记录显示出来。
以上方式对用户来讲特别不友好,需要从现有业务操作界面切换到日志查询界面,而且还要根据组合条件才能匹配到目标业务数据。如在修改销售订单001时,想查看其对应的日志信息,则需要切换到“系统管理”子系统下的日志查询界面,并输入“功能名称=销售订单,操作实例=001”才能查到。而有些系统甚至没有专门的“操作实例”字段,这样查询出来的结果要再一次定位,增加了系统处理流程。
对普通的只注重操作结果的业务来讲,以上方式基本上能满足应用要求;但是对注重操作过程的业务来讲,上述操作方式无法使用户了解到业务数据曾经发生过什么样的变化。
有些应用系统为日志管理的单个功能点增加历史数据查询的功能,即增加一个专门的数据表用来维护历史数据的变更,或者增加一个日志联查的功能,能在当前界面查询到操作日志。但上述功能的增加不是基于一个日志查询系统整体的考虑,而且以后想为其它功能再增加历史数据查询或者日志联查功能,或者取消当前的日志联查,就需要增加数据表并修改代码了,增加了系统日志管理的复杂性。
发明内容
本发明目的是要解决日志信息与业务操作挂接的问题,将系统日志与业务关联起来,并且将日志分类,使用户不必从统一的日志信息表中查询符合条件的记录,并且能够决定在哪些重要数据上记录其历史变动的详细信息。
为解决上述技术问题,本发明提供了一种日志管理方法,包括如下步骤:
S1:初始化系统业务功能列表和业务功能方法列表;
S2:创建系统日志表和历史数据日志表;
S3:将业务操作中的具体操作信息与系统日志表和历史数据日志表直接相关联;
S4:根据业务操作自动记录日志信息。
其中,系统业务功能列表中至少包括如下字段:业务功能ID、功能编码、功能名称,还可以包括功能描述、层次、上级功能节点、是否可用字段。
业务功能方法列表至少包括如下字段:业务功能方法ID、功能ID、功能方法名、方法类型、日志记录方式;其中功能ID对应系统业务功能列表中的ID。
优选的,在步骤S1之后,还包括设置日志记录方式的步骤;所述日志记录方式有三种:记录操作、记录历史数据、不记录;默认为记录操作。
另一方面,本发明提供一种日志管理系统,由客户端和服务器端组成,
所述服务器端包括:列表初始化单元,用于初始化系统业务功能列表和业务功能方法列表;日志表创建单元,用于创建系统日志表和历史数据日志表;数据关联单元,将业务操作中的具体操作信息与系统日志表和历史数据日志表直接相关联;日志记录单元,用于根据业务操作自动记录日志信息。
其中,所述客户端包括:业务操作单元,用于客户端的业务操作;
所述业务操作单元包括:日志记录方式设置单元,用于根据业务功能方法列表提供的方式设置日志记录方式。
与现有技术相比,本发明从整体考虑整个应用系统的日志信息与业务操作挂接,用户在运行时可以根据当前的需要,选择某业务操作是否需要记录日志,以及是否需要记录历史数据的变动过程;并且,用户在业务操作界面能即时将相关的日志信息调出来,不需要再跑到专门的日志查询界面,大大简化了用户的操作。
附图说明
图1是本发明实施例的系统日志与业务操作挂接的总体流程示意图;
图2是本发明实施例的应用系统根据用户业务操作记录日志信息的过程示意图;
图3表示本发明所述日志管理系统实施例的逻辑结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明日志管理方法中系统日志与业务操作挂接的总体流程示意图,其中上半部分表述用户操作,下半部分描述应用系统针对用户操作对日志的处理过程。如图1所示,首先需要在应用系统处理层面初始化系统业务功能列表和业务功能方法列表,以便提供界面供用户在具体功能的具体方式上设置日志记录方式,也便于后期将用户的业务操作与系统日志衔接。然后将用户针对每个功能方法设置的日志记录方式存储至业务功能方法列表的日志记录方式字段,创建系统日志表以及历史数据日志表,用于记录业务处理的操作日志信息以及业务数据的变动过程;当用户对应用系统进行业务操作时,应用系统根据日志记录方式将操作日志或数据变动信息存至系统日志表和/或历史数据日志表,藉此,用户就可以通过在客户端在业务处理界面调用日志查询模块来查询系统日志或者历史数据信息,了解系统数据发生了哪些变化。
下面对图1的流程作进一步细化描述:
1)初始化系统业务功能列表
系统业务功能列表,用来记录应用系统提供的所有业务功能。系统业务功能列表包含如下字段:
字段名称 | 描述 |
ID | 主键 |
功能编码 | 业务功能的编码,具有唯一性 |
功能名称 | 业务功能的名称 |
功能描述 | 对业务功能的详细描述 |
层次 | 在业务功能清单中所处的层次 |
上级功能节点 | 当前业务功能的父节点 |
是否可用 | 对业务功能的控制能否被用户使用 |
在上述字段中,前三个字段(ID、功能编码、功能名称)是必须具备的,根据系统的不同,可以选择性的添加其他的辅助性字段,如上述示例列表中的“功能描述”、“层次”等字段,还可以设置关联字段,与系统中具体的界面操作类关联,以便在点击菜单时,打开对应的操作界面。在此仅以上表所列的核心的基本字段为例进行说明。
其中,ID是系统业务功能列表的主键,是用来唯一表示一条数据的字段,其值不能重复,每个ID唯一定位一条记录,比如,在上述业务功能列表中,对于功能名称字段为“销售订单”的记录,有唯一对应的ID和功能编码,其中ID用于应用系统内部数据管理时对该业务功能的内部唯一性标识,功能编码则是面向用户和系统管理员的对于该业务功能的外部唯一性标识。
在本发明的一个实施例中采用自动编号主键,就是新建一个ID字段,自动增长,非常方便也满足主键的原则,优点是:数据库自动编号,速度快,而且是增量增长,聚集型主键按顺序存放,对于检索非常有利;数字型的主键占用空间小,易排序,在程序中传递也方便;通过非系统增加记录(比如手动录入,或是用其他工具直接在表里插入新记录,或老系统数据导入)时,也非常方便,不用担心主键重复问题。当然,也可以采用其它如Max加一、自制加一、GUID等方式设计主键,这些都属于本领域技术人员所熟知的技术,在此不再赘述。
功能编码字段表示应用系统提供的每一业务功能的唯一编码,用于标识应用系统所提供的业务功能。如前所述,在该系统业务功能列表中,每一功能编码都唯一对应相应的功能名称和功能描述,功能名称和功能描述字段是为了用户和系统管理人员管理、查询理解上的方便而设置的,功能名称是对于业务功能的命名,如“销售订单”、“采购出库单”、“采购单”、“物料需求计划”、“人力资源类型管理”等;功能描述是对业务功能的作用或者所能实现目的的详细表述。层次字段表示当业务前功能在业务功能清单中所处的层次,如0表示根节点,即应用系统,1表示子模块,2表示子模块下的功能...等。上级功能节点字段表示当前业务功能的父节点。是否可用字段表示对于当前业务功能的控制能否被用户使用,默认为“是”。
2)初始化业务功能方法列表
针对前述系统业务功能列表中的业务功能,初始化每项业务功能所对应的方法,如系统业务功能列表中功能名称为“销售订单”,方法列表中就相应针对销售订单的操作(如新增、修改、审核等)作一系列限定和描述。业务功能方法列表所包含的字段如下:
字段名称 | 描述 |
ID | 主键 |
功能ID | 对应系统业务功能列表中的ID |
功能方法名 | 方法的名称,如:add |
方法类型 | 方法所属的类型,有两种:状态变更类、数据变更类 |
功能方法描述 | 方法的描述,如:新增 |
功能方法路径 | 方法对应类的路径,如:com.mywork.SaleOrder |
日志记录方式 | 该方法记录日志的方式 |
在上述字段中,前四个字段(ID、功能ID、功能方法名和方法类型)和“日志记录方式字段”是必须具备的,根据系统的不同,还可以选择性的添加其他的辅助性字段,如上述示例列表中的“功能方法描述”、“功能方法路径”字段。
其中,ID是业务功能方法列表的主键,唯一定位一条功能方法的记录。功能ID对应系统业务功能列表中的主键ID,从而建立起系统业务功能列表与业务功能方法列表之间的联系;还是以系统业务功能列表中功能名称为“销售订单”为例,其对应于功能方法列表中的功能方法名可以有add、delete、modify三种,所对应的功能方法描述分别为新增、删除、修改。功能方法路径是当前方法所对应类的路径。
方法类型分为以下两类:
a)状态变更类
状态变更类主要有两种情况,一种是数据不发生变动,仅仅是状态改变,此时不需要记录它的数据变动,只记录操作即可,如审核;一种是数据被删除,此时只在系统日志表中记录删除操作即可,如删除销售订单。有一个例外就是新增操作,由于在系统可以记录历史数变动过程,所以对新增操作同样不需要记录历史数据,也就是说如果该数据未发生改变,则当前值就是新增时的值,因此,业务数据的新增操作也属于状态变更类,只需记录操作即可。
b)数据变更类
即数据发生变动且未被删除,此时除了记录操作外,还需要记录历史数据的变动,如修改、变更销售订单。
日志记录方式表示当前方法记录日志的方式,可以为以下三种方式之一:记录操作、记录历史数据、不记录。其中,记录操作仅仅记录应用系统的操作结果,即用户只能知道某某日期,某个用户针对某个功能作了什么操作,如“xx日期,系统管理员新增用户”,在存储的时候是将相应的内容拆开存储在后述“系统日志表”的相应字段中。记录历史数据,除记录操作外,还记录数据的变化过程,其存储方式见后述“历史数据日志表”。不记录,表示不记录操作,也不记录历史数据。
3)针对每个功能方法,设置日志记录方式
系统提供日志记录方式设置界面,显示内容如前述“业务功能方法列表”的记录,用户可以选中具体的某个业务功能的某个方法名,设置日志的记录方式,提供的选项为“记录操作”、“记录历史数据”和“不记录”;默认为“记录操作”。
4)存储功能方法列表日志记录方式字段
根据用户在日志设置界面的操作结果,将用户设置的日志记录方式存储在“业务功能方法列表”的“日志记录方式”字段,以便后期用户进行业务操作过程中根据应用系统用户的需求进行相应的日志记录工作。
5)创建系统日志表及历史数据日志表
系统日志表用于记录用户对应用系统的操作结果,传统日志表如背景技术中“构造系统日志表”所示,本发明优选实施方式之一所使用的系统日志表与传统日志表有一些差别:
删除“操作对象”以及“业务类型”字段;
具体如下:
字段名称 | 描述 |
ID | 主键 |
操作者 | 执行操作的人,一般存储执行操作的用户对应的主键 |
操作时间 | 执行操作的时间 |
IP地址 | 执行操作的客户端对应的IP地址 |
功能ID | 传统日志表使用的是功能名称,这里为了匹配业务操作与日志信息,改成功能ID。对应“业务功能表”中的“ID”字段。 |
方法ID | 传统日志表使用的是操作类型,这里为了匹配业务操作于日志信息,改成方法ID,对应“业务功能方法表”的“ID”字段。 |
执行结果 | 操作的结果,如:“成功”或“失败” |
记录ID | 操作对象的ID,如:001号销售订单的ID |
记录分录ID | 操作对象分录的ID,如:001号销售订单的第1条明细的ID。没有分录的此字段为空。 |
同样,系统日志表中的ID是系统日志表的主键,唯一定位一条系统日志的记录。操作者、操作时间、IP地址、执行结果字段设置都和传统的日志表一样,在此不再多加描述。
功能ID以及方法ID用来定位一个用户的具体业务操作,即在某个功能上作的什么操作,分别对应“业务功能表”、“业务功能方法表”的ID。
记录ID表示操作对象即被操作的具体数据的ID,如“001号销售订单的ID”。记录分录ID表示操作对象即被操作的具体数据的分录的ID,如“001号销售订单的第1条明细的ID”;记录分录ID是一个必须的字段,如果该业务数据没有分录的时候,该记录分录ID的字段内容是空。
历史数据日志表所包含的字段如下表所示:
字段名称 | 描述 |
ID | 主键 |
操作者 | 执行操作的人,一般存储执行操作的用户对应的主键 |
操作时间 | 执行操作的时间 |
IP地址 | 执行操作的客户端对应的IP地址 |
功能ID | 对应“业务功能表”中的“ID”字段。 |
字段名 | 当前单据中值有变动的字段的名称,如“amount”,表示金额字段有变动。 |
方法ID | 对应“业务功能方法表”的“ID”字段。 |
记录ID | 操作对象的ID,如销售订单001的ID |
记录分录ID | 操作对象分录的ID,如销售订单001的第1条明细。没有分录的此字段为空 |
原值 | 变动之前的数据值 |
修改值 | 本次修改的数据值 |
同样,历史数据日志表中的ID是历史数据日志表的主键,唯一定位一条历史数据日志的记录。操作者、操作时间、IP地址、功能ID、方法ID、记录ID、记录分录ID分别与相应系统日志表中的对应字段所记录的内容相同。历史数据日志表的重点在于变动的字段名以及用于记录新旧值的“原值”、“修改值”字段,通过该字段名以及原值、修改值字段可以便方便地查看当前业务数据发生过哪些变动。
对于应用系统来说,一个功能名称(被操作的功能点)可能具有多条记录,而每一条记录也可能具有多个分录,因此,在本发明中,系统日志表和历史数据日志表的记录细化到每个功能点,每条记录的最小分支单位。
下面以销售订单为例,详细说明每个表、每个字段的取值。
字段名 | 字段值 |
ID | 10000001(假设所有ID都为8位,这里仅仅为举例,实际业务系统生成的ID比这个要复杂,位数也会更多) |
功能编码 | SALEORDER |
功能名称 | 销售订单 |
功能描述 | 销售订单 |
层次 | 1 |
上级功能节点 | 00000001(表示系统根节点) |
是否可用 | True |
字段名称 | 描述 |
ID | F0000001 |
功能ID | 10000001 |
功能方法名 | Modify |
方法类型 | 1(0表示“状态变更类”,1表示“数据变更类”) |
功能方法描述 | 修改 |
功能方法路径 | com.mywork.SaleOrder |
日志记录方式 | 1(0表示“记录操作”,1表示“记录历史数据”,2表示“不记录”) |
字段名称 | 描述 |
ID | S0000001 |
编号 | SA000001 |
业务日期 | 2008-11-1 |
。。。 | 省略其他无关的字段 |
字段名称 | 描述 |
ID | SI000001 |
父ID | S0000001 |
序号 | 1 |
物料ID | M0000001 |
计量单位ID | U0000001 |
金额 | 2,000,000.00 |
。。。 | 省略其他无关的字段 |
字段名 | 字段值 |
ID | L0000001 |
操作者 | U0000001(用户:admin的ID值) |
操作时间 | 2008-11-1 |
IP地址 | 192.168.1.1 |
功能ID | 10000001 |
方法ID | F0000001 |
执行结果 | 0(0表示成功,1表示失败) |
记录ID | S0000001 |
记录分录ID | SI000001 |
字段名 | 字段值 |
ID | H0000001 |
操作者 | U0000001 |
操作时间 | 2008-11-1 |
IP地址 | 192.168.1.1 |
功能ID | 10000001 |
字段名 | Amount(代表字段“金额”) |
方法ID | F0000001 |
记录ID | S0000001 |
记录分录ID | SI000001 |
原值 | 2,000,000.00 |
修改值 | 2,100,000.00 |
6)将业务操作中的具体操作信息与系统日志表和历史数据日志表直接相关联
将用户在业务操作过程中所可能涉及的每一个业务功能、业务功能方法以及记录ID、记录分录ID等业务操作信息都与相应的系统日志表和历史数据日志表的相应字段关联起来,这些业务操作信息也是与相应的系统日志表和历史数据日志表相关的字段所对应的操作信息。以便用户在执行业务操作过程中,不必另行调用日志查询界面,在业务操作界面即能直接根据业务操作对象(业务功能、业务功能方法以及记录ID、记录分录ID、字段名所具体涉及的内容等)与日志相关字段的关联性,查询与该业务操作对象相关的日志信息。
为了避免混淆,对于上述列表和日志表的主键ID也可以分别表述为业务功能ID(指业务功能列表中的主键ID)、业务功能方法ID(指业务功能方法列表中的主键ID)、系统日志ID(指系统日志表中的主键ID)、历史数据日志ID(指历史数据日志表中的主键ID)。
比如,对于销售订单管理界面的001号销售订单,如果用户进入销售订单管理界面,对001号销售订单进行修改销售订单操作,那么应用系统弹出修改销售订单录入界面,用户将必要的数据(如业务日期、分录的物料、计量单位、金额等)录入完成后,选择确定,然后通过应用系统向服务器端发出执行提交的申请。在上述操作过程中,所涉及的业务数据依次为:业务功能---“销售订单”对应的业务功能ID、业务功能方法---“修改”对应的业务功能方法ID、记录ID---“001号销售订单”对应的销售订单ID,记录分录ID---“001号销售订单分录”对应的分录ID,以及其具体涉及的内容(销售订单编号、业务日期、分录的物料、计量单位、金额等)。那么在应用系统处理层面,就需要预先将如上描述的“业务功能”与系统日志表和历史数据日志表的“功能ID”字段相关联;将“业务功能方法”与系统日志表和历史数据日志表的“方法ID”字段相关联;将“记录ID”与系统日志表和历史数据日志表的“记录ID”字段相关联;将“记录分录ID”与系统日志表和历史数据日志表的“记录分录ID”字段相关联”;对历史数据日志表来说,需要查询具体字段的变动记录,还需要将“字段名”与历史数据日志表的“字段名”对应,譬如“金额”字段。以此能找到具体的日志信息。
7)业务操作自动记录日志信息
在应用系统端完成系统业务功能功能列表、系统业务功能方法列表的初始化和系统日志表、历史数据日志表的创建后,当用户在应用系统中进行业务操作时,应用系统就会根据用户的业务操作过程和内容,按照系统日志表和历史数据日志表的格式要求记录下应用系统使用的相关信息以及历史数据信息。
应用系统根据用户的业务操作记录系统日志或者历史数据日志的过程如图2所示。用户在客户端执行业务操作后提交服务端处理,服务端接收到客户的执行请求后,除了进行相应的应用系统业务数据处理外,还需要进行系统日志的处理。基于本发明的描述重点在于对系统日志的记录处理,因此图2仅示出了应用系统根据用户的业务操作记录日志信息的过程。
以前述对销售订单的管理为例,用户在客户端进入销售订单管理界面,对001号销售订单进行操作,选择修改销售订单,应用系统弹出修改销售订单录入界面,用户将必要的数据(如业务日期、分录的物料、计量单位、金额等)录入完成后,选择确定,然后通过应用系统向服务器端发出执行提交的申请。在用户选择录入的过程中,用户执行操作所涉及的功能名称、功能方法名、被操作记录的ID(001号销售订单)、记录分录ID、原值以及修改值等信息就相应被确定下来。
服务器端从客户端传递的信息中获取相关参数:功能ID(销售订单对应的功能名称ID)、功能方法ID(修改对应的功能方法ID)、销售订单对象(即修改之后的销售订单,包括销售订单ID、订单编号、业务日期)、销售订单分录对象(即修改之后的销售订单分录,包括分录ID、分录物料信息、分录金额信息等)、销售订单净变动对象(即哪些字段发生值变化,由客户端生成,一般可由系统框架处理,包含字段名、原值、变动值、类型,其中类型为:主表字段、明细表字段,对多明细的单据,通过再增加类型值来区分)等,然后根据相关参数中功能ID、功能方法ID从业务功能方法列表中得到“日志记录方式”,根据日志记录方式判断应用系统下一步要进行的关于日志记录方面的操作。
如果“日志记录方式”是不记录,则不对系统日志表和历史数据日志表作任何改变。
如果“日志记录方式”是记录历史数据,则从功能方法列表中取到“方法类型”,如前所述,分为两类,如果属于“数据变更类”,则将操作者、操作时间IP地址、功能ID、方法ID、执行结果、记录ID、记录分录ID等系统日志表需要记录的信息插入系统日志表的相应记录字段,然后,再将操作者、操作时间、IP地址、功能ID、方法ID、记录ID、记录分录ID(根据字段类型,如果为“主表字段”则此字段为空)、字段名、原值、修改值等历史数据日志表要记录的信息插入历史数据日志表的相应记录字段。如果属于“状态变更类”,则仅需要对系统日志表进行修正,将操作者、操作时间IP地址、功能ID、方法ID、执行结果、记录ID、记录分录ID等系统日志表需要记录的字段信息插入系统日志表中。
如果“日志记录方式”是记录操作,则仅需要对系统日志表进行修正,将操作者、操作时间IP地址、功能ID、方法ID、执行结果、记录ID、记录分录ID等系统日志表需要记录的字段信息插入系统日志表中。
经过以上记录日志的过程,应用系统就完成了针对用户一个业务操作的日志记录,用户可以在客户端的业务操作界面通过选择的操作对象(如:001号销售订单)、借助功能ID以及功能方法ID与日志表之间的对应关系直接查询相应的系统日志信息或者历史数据日志信息。
8)从系统日志表及历史数据日志表中查找当前ID对应日志或历史记录
根据用户在业务操作界面选择的操作数据,如001号销售订单,应用系统取出功能ID、功能方法ID(一般在代码中,每个功能点定义一个功能ID及多个方法ID的常量,具体调用时引用这些常量即可),这里为“销售订单”和“新增”,按照当前操作记录ID(001号销售订单对应的ID)、记录分录ID(第1条明细)从步骤5)的系统日志表中查找该条记录对应的系统日志信息。
如果用户选择查看历史数据,则根据功能ID、功能方法ID、记录ID、记录分录ID、字段名与历史数据日志表匹配,取到相应数据,并将相同日期的多条记录合并成一条,形如:
日期 | 字段名1 | 字段名2 | … | 字段名n |
2008-11-111:00:00 | 原值:100修改值:200 | 原值:10修改值:15 | ||
2008-11-112:00:00 | 原值:40修改值:30 |
对应于前述对系统日志进行管理的方法,本发明还提供一种相应于前述日志管理方法的日志管理系统,其逻辑结构如图3所示,该日志管理系统由客户端1和服务器端2组成,其中客户端1包括用于客户端的业务操作的业务操作单元11;服务器端2包括列表初始化单元21、日志表创建单元22、数据关联单元23、日志记录单元24和业务操作单元25。其中,列表初始化单元21用于初始化系统业务功能列表和业务功能方法列表;日志表创建单元22用于创建系统日志表和历史数据日志表;数据关联单元23用于将业务操作中的具体操作信息与系统日志表和历史数据日志表直接相关联;日志记录单元24用于根据业务操作自动记录日志信息。
业务操作单元11又包括日志记录方式设置单元111,用于根据业务功能方法列表提供的方式设置日志记录方式。
基于与前述日志管理方法的对应性,在此不再对本发明的日志管理系统各逻辑组成之间的关系及工作流程作详细说明,本领域技术人员从前述对日志管理方法的实施例表述中,不用付出创造性的劳动即可得出实现上述日志管理系统的更为详细的技术方案。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种日志管理方法,其特征在于该方法包括如下步骤:
S1:初始化系统业务功能列表和业务功能方法列表;其中,所述系统业务功能列表中至少包括如下字段:业务功能ID、功能编码、功能名称,还包括功能描述、层次、上级功能节点、是否可用字段;
S2:创建系统日志表和历史数据日志表;
S3:将业务操作中的具体操作信息与系统日志表和历史数据日志表直接相关联;
S4:根据业务操作自动记录日志信息。
2.根据权利要求1所述的日志管理方法,其特征在于,
所述业务功能方法列表至少包括如下字段:业务功能方法ID、功能ID、功能方法名、方法类型、日志记录方式;
其中所述功能ID对应系统业务功能列表中的业务功能ID。
3.根据权利要求2所述的日志管理方法,其特征在于,
所述方法类型分为以下两类:
状态变更类,包括数据不发生变动、仅仅是状态改变,数据被删除的情形,以及新增操作,状态变更类仅需更新系统日志表;
数据变更类,数据发生变动且未被删除,该类操作类型需要更新系统日志表和历史数据日志表。
4.根据权利要求2所述的日志管理方法,其特征在于在步骤S1之后,还包括设置日志记录方式的步骤;
所述日志记录方式有三种:记录操作、记录历史数据、不记录;默认为记录操作。
5.根据权利要求1所述的日志管理方法,其特征在于在步骤S4之后,还
包括在业务操作界面直接进行日志信息查询的步骤。
6.根据权利要求1所述的日志管理方法,其特征在于,
所述系统日志表至少包括如下字段:系统日志ID、操作者、操作时间、IP地址、功能ID、方法ID、执行结果、记录ID、记录分录ID字段。
7.根据权利要求6所述的日志管理方法,其特征在于,
所述历史数据日志表至少包括如下字段:历史数据日志ID、操作者、操作时间、IP地址、功能ID、字段名、记录ID、记录分录ID、方法ID、原值、修改值。
8.根据权利要求7所述的日志管理方法,其特征在于,
在所述步骤S3中,将业务操作过程中所可能涉及的每一个操作信息都与相应的系统日志表和历史数据日志表的相应字段关联,所述操作信息与相应的系统日志表和历史数据日志表相关的字段对应。
9.一种日志管理系统,由客户端和服务器端组成,其特征在于:所述服务器端包括:
列表初始化单元,用于初始化系统业务功能列表和业务功能方法列表;
日志表创建单元,用于创建系统日志表和历史数据日志表;
数据关联单元,用于将业务操作中的具体操作信息与系统日志表和历史数据日志表直接相关联;
日志记录单元,用于根据业务操作自动记录日志信息;
其中,所述客户端包括:
业务操作单元,用于客户端的业务操作;
所述业务操作单元包括:
日志记录方式设置单元,用于根据业务功能方法列表提供的方式设置日志记录方式。
10.根据权利要求9所述的日志管理系统,其特征在于,所述日志记录方式有三种:记录操作、记录历史数据、不记录;默认为记录操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101827764A CN101436962B (zh) | 2008-12-04 | 2008-12-04 | 日志管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101827764A CN101436962B (zh) | 2008-12-04 | 2008-12-04 | 日志管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101436962A CN101436962A (zh) | 2009-05-20 |
CN101436962B true CN101436962B (zh) | 2011-06-29 |
Family
ID=40711194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101827764A Active CN101436962B (zh) | 2008-12-04 | 2008-12-04 | 日志管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101436962B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707534B (zh) * | 2009-10-28 | 2013-03-27 | 北京天碁科技有限公司 | 一种对物理层日志进行分析的方法和装置 |
CN103729706B (zh) * | 2012-10-15 | 2017-10-31 | 金蝶软件(中国)有限公司 | 单据字段日志记录配置方法和装置 |
CN103810529A (zh) * | 2012-11-15 | 2014-05-21 | 金蝶软件(中国)有限公司 | 跨单据流程日志的生成、查询方法及装置 |
CN103856530B (zh) * | 2012-12-05 | 2018-03-23 | 腾讯科技(深圳)有限公司 | 操作日志的管理方法、服务器、终端及系统 |
CN103902537B (zh) * | 2012-12-25 | 2017-02-08 | 重庆新媒农信科技有限公司 | 多业务的日志数据存储处理和查询系统及其方法 |
CN103605740B (zh) * | 2013-11-19 | 2016-10-05 | 北京国双科技有限公司 | 数据导入处理方法和装置 |
CN104391865A (zh) * | 2014-10-24 | 2015-03-04 | 浪潮软件股份有限公司 | 一种基于触发器原理实现操作日志记录的方法 |
CN104361032B (zh) * | 2014-10-27 | 2018-05-22 | 深圳市远行科技股份有限公司 | 一种操作日志管理的方法 |
CN105515855B (zh) * | 2015-12-04 | 2018-10-30 | 浪潮(北京)电子信息产业有限公司 | 一种云存储系统中直接纠删的日志回放优化方法及装置 |
CN106899447B (zh) * | 2016-06-28 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 一种链路确定的方法及装置 |
CN107256220A (zh) * | 2017-04-25 | 2017-10-17 | 北京微影时代科技有限公司 | 数据日志生成方法、装置及电子设备 |
CN107025166B (zh) * | 2017-04-27 | 2020-12-22 | 上海联影医疗科技股份有限公司 | 一种日志收集方法及系统 |
WO2019189227A1 (ja) * | 2018-03-27 | 2019-10-03 | 日本電信電話株式会社 | 適応型インタフェース提供装置、適応型インタフェース提供方法、及びプログラム |
CN109271355B (zh) * | 2018-08-27 | 2020-09-08 | 杭州迪普科技股份有限公司 | 一种清理日志文件缓存的方法及装置 |
WO2020113434A1 (zh) * | 2018-12-04 | 2020-06-11 | 比特大陆科技有限公司 | 处理时间记录的方法和装置 |
CN110134654A (zh) * | 2019-05-22 | 2019-08-16 | 山东浪潮通软信息科技有限公司 | 一种可配置内容的单据日志形成方法 |
CN111752925B (zh) * | 2020-06-29 | 2024-05-14 | 浪潮通用软件有限公司 | 一种可视化数据管理方法 |
CN111966685B (zh) * | 2020-08-17 | 2024-02-20 | 江苏百达智慧网络科技有限公司 | 业务模块扩展实现方法和系统 |
CN114817318A (zh) * | 2021-01-28 | 2022-07-29 | 长鑫存储技术有限公司 | 规范管理系统的数据监控方法、装置、计算机设备及介质 |
CN113010398A (zh) * | 2021-03-18 | 2021-06-22 | 建信金融科技有限责任公司 | 一种业务日志模型、业务执行方法、装置、电子设备和介质 |
CN112989823B (zh) * | 2021-04-27 | 2021-08-13 | 北京优特捷信息技术有限公司 | 一种日志处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1810179A2 (en) * | 2004-09-24 | 2007-07-25 | Data Quality Solutions LLC | Business process management system and method |
CN101136783A (zh) * | 2007-10-15 | 2008-03-05 | 中兴通讯股份有限公司 | 一种网管系统配置数据的备份、恢复方法及装置 |
CN101155057A (zh) * | 2006-09-29 | 2008-04-02 | 中兴通讯股份有限公司 | 一种宽带接入网设备中用户上网日志的记录方法 |
CN101174238A (zh) * | 2007-11-27 | 2008-05-07 | 深圳国人通信有限公司 | 一种基于模式匹配的日志信息动态记录方法 |
-
2008
- 2008-12-04 CN CN2008101827764A patent/CN101436962B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1810179A2 (en) * | 2004-09-24 | 2007-07-25 | Data Quality Solutions LLC | Business process management system and method |
CN101155057A (zh) * | 2006-09-29 | 2008-04-02 | 中兴通讯股份有限公司 | 一种宽带接入网设备中用户上网日志的记录方法 |
CN101136783A (zh) * | 2007-10-15 | 2008-03-05 | 中兴通讯股份有限公司 | 一种网管系统配置数据的备份、恢复方法及装置 |
CN101174238A (zh) * | 2007-11-27 | 2008-05-07 | 深圳国人通信有限公司 | 一种基于模式匹配的日志信息动态记录方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101436962A (zh) | 2009-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101436962B (zh) | 日志管理方法及系统 | |
JP4594306B2 (ja) | 自己記述型ビジネスオブジェクト | |
US20110010728A1 (en) | Method and System for Service Provisioning | |
JP4580518B2 (ja) | データベース設計システム | |
US20130018805A1 (en) | Method and system for linking information regarding intellectual property, items of trade, and technical, legal or interpretive analysis | |
JP2004199646A (ja) | コンタクトスキーマ | |
US7702609B2 (en) | Adapting to inexact user input | |
EA012691B1 (ru) | Автоматизированная издательская система, которая обеспечивает возможность совместного редактирования и отчетности с использованием архитектуры виртуального документа | |
US20050288956A1 (en) | Systems and methods for integrating business process documentation with work environments | |
WO2005041032A1 (ja) | 統合業務ソフトウエアの導入運用支援システム | |
JP2006528801A (ja) | サービス指向ビジネスフレームワークのサービス管理 | |
CN116097241A (zh) | 使用语义角色的数据准备 | |
US10963842B1 (en) | Communication platform for email management | |
CN101013426B (zh) | 信息管理装置以及信息管理方法 | |
US11550792B2 (en) | Systems and methods for joining datasets | |
JP5530173B2 (ja) | 組織構造管理ディレクトリを備えたディレクトリシステム及びそのプログラム | |
JP5245143B2 (ja) | 文書管理システム及びその方法 | |
US20060149731A1 (en) | System and method for deriving affinity relationships between objects | |
US8812550B2 (en) | Systems, methods and apparatus for assessing compliance and federating databases | |
CN116414854A (zh) | 数据资产查询方法、装置、计算机设备和存储介质 | |
JP2008250861A (ja) | コード変換システム、コード変換方法、コード対応関係情報生成方法、およびコンピュータプログラム | |
EP1526466B1 (en) | Composite record identifier generator | |
US20200201829A1 (en) | Systems and methods for compiling a database | |
Chen et al. | A practical guide to managing reference data with IBM InfoSphere master data management reference data management hub | |
WO2019008394A1 (en) | CAPTURE AND EXTRACTION OF DIGITAL INFORMATION |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |