发明内容
针对上述问题,本发明主要目的是提供一种能根据日志等级灵活选择日志信息输出方式的日志系统;
本发明另一目的是提供一种由用户自由定义日志信息类别及等级的日志系统使用方法。
为了实现上述的主要目的,本发明提供的日志系统包括日志存储单元、日志服务器单元、日志客户端单元、日志接口单元,其中日志存储单元、日志服务器单元设置在服务器上,日志客户端单元、日志接口单元设置在业务过程单元中,日志存储单元与多个业务过程终端进行信息交换,用于存储多个业务过程终端各自的日志规则信息,日志服务器单元与日志存储单元进行信息交换,用于接收业务过程终端的日志规则信息,并将日志规则信息传送至日志客户端单元,日志客户端单元通过日志接口单元与业务过程单元进行信息交换,用于接收业务过程单元发送的日志类别及等级信息,并根据日志类别及等级信息以及日志规则信息确定日志信息的输出方式。
由上述方案可见,日志系统的日志客户端单元接收到业务过程单元发送的日志类别及等级信息后,将根据日志的类别及等级信息,并结合日志规则信息确定日志信息的输出方式。由于日志的类别及等级信息是由业务过程终端定义的,即用户可自由定义日志信息的类别及等级,因此,也就可以灵活地选择日志信息的输出方式。
一个优选的方案是,日志接口单元包括校验与加密模块,用于对接收到的日志信息计算校验码及加密处理。这样,日志客户端单元接收到的日志信息均经过加密处理,能有效防止日志信息被篡改,提高日志系统的安全性。
为实现上述的另一目的,本发明提供的上述日志系统使用方法包括每一业务过程终端定义该业务过程终端的每一业务过程单元的日志类别及等级信息;
建立日志存储单元与多个业务过程终端的连接关系,在日志存储单元中注册每一业务过程终端,赋予每一业务过程终端以唯一的ID号,并写入每一业务过程终端的日志规则信息;
业务过程单元通过日志接口单元向日志客户端单元发送含有业务过程终端ID号的信息以及包含日志类别、等级的日志信息;
日志客户端单元根据所述信息中的业务过程终端I D号,通过日志服务器单元向日志存储单元获取对应业务过程终端的日志规则信息,并根据日志类别、等级信息以及对应业务过程终端的日志规则信息确定日志信息的输出方式,日志客户端单元根据上述确定的输出方式将日志信息输出。
由此可见,日志系统并没有预先划分日志信息类别及等级,而是接收由用户系统,即业务过程终端定义日志类别及等级,并在接收日志类别及等级信息后,日志系统根据日志类别及等级信息确定日志信息的输出方式。这样,用户可通过自由定义的日志类别、等级信息区分不同类型的日志信息,并且利用灵活的输出方式可方便地查看不同类型日志信息。
具体实施方式
参见图1,本发明的日志系统包括日志接口单元12、32、日志客户端单元13、33、日志服务器单元21、日志存储单元22、日志管理单元23。其中,日志接口单元12与日志客户端单元13设置在业务过程终端1中,日志接口单元32与日志客户端单元33设置在业务过程终端3中,日志服务器单元21、日志存储单元22以及日志管理单元23设置在服务器2中。
由图1可见,服务器2与两个业务过程终端1、3连接,实际应用时,服务器2还可以与更多业务过程终端连接。本实施例中,业务过程终端1、3为计算机,实际应用时,业务过程终端还可以是网络服务器或磁带机等存储介质。
业务过程终端1中运行有多个不同的业务过程单元11,这些业务过程单元11在运行过程中产生日志信息,并将日志信息发送至日志系统。本实施例中,业务过程单元11通过日志接口单元12向日志客户端单元13发送信息。
相同的,业务过程终端3的业务过程单元31也通过日志接口32向日志客户端单元33发送信息。
连接到日志存储单元22的每一业务过程终端1、3均需要在日志存储单元22中注册,业务过程终端1、3经注册后,被赋以唯一的ID号,如业务过程终端1的ID号为001,业务过程终端3的ID号为002等。
本实施例中,每一业务过程终端1、3均有自己的日志规则,这些日志规则信息存储在日志存储单元22中。这样,所有业务过程终端1、3的日志规则由服务器2统一管理。日志服务器单元21可向日志存储单元22查询不同业务过程终端1、3的日志规则信息,并将日志规则信息传送至日志客户端单元13、33中。
业务过程终端1中设置的日志接口单元12是日志系统与业务过程单元11的信息交换入口,业务过程单元11在运行过程中产生的信息,包括日志启动命令、数据命令以及日志接收命令等,均通过日志接口单元12传送到日志客户端单元13中。
日志接口单元12设有校验与加密模块,用于对接收到的日志信息计算校验码,并对日志信息进行加密处理,防止日志信息被篡改,提高日志信息存储的可靠性。当然,由于日志接口单元12对日志信息进行加密处理,日志客户端单元13或日志服务器单元21输出日志信息时,需要对日志信息进行对应的解密处理。
日志客户端单元13与日志接口12通讯,两者应用Windows操作系统的消息机制进行信息交换,接收日志接口12发送的信息。同时,日志客户端单元13还可以通过Socket通讯机制与服务器2的日志服务器单元21进行通讯,并通过日志服务器单元21获取不同业务过程终端1、3的日志规则。并且,日志客户端单元13根据业务过程单元11发送的日志类别、等级信息以及日志规则信息,确定日志信息的输出方式。
本实施例中,日志输出方式有多种,可以输出至本地文件、本地数据库或服务器文件、服务器数据库及不存储等。若日志信息输出至本地文件或本地数据库,则日志客户端单元13将日志信息解密后输出至业务过程终端1,若日志信息输出至服务器文件或服务器数据库,日志客户端单元13将日志信息传送至日志服务器单元21。
日志服务器单元21与日志存储单元22连接并进行信息交换,并能向日志存储单元22获取不同业务过程终端1、3的日志规则信息,并将日志规则信息传送给日志客户端单元13、33。并且,日志服务器单元21将输出至服务器文件或服务器数据库的日志信息解密后传送至日志存储单元22。
日志管理单元23与日志存储单元22连接并进行信息交换,对存储在日志存储单元22中的日志信息以及各个业务过程终端1、3的日志规则信息进行管理,包括查看日志信息、对日志信息进行备份、删除等处理。当然,本实施例中,日志管理单元23与日志存储单元22设置在同一服务器2中,实际应用时,日志管理单元23也可以设置在另一服务器或计算机上,只要日志管理单元23与日志存储单元22连接并对日志信息、日志规则信息进行管理即可。
业务过程终端3的日志接口单元32以及日志客户端单元33的功能与业务过程终端1的日志接口单元12、日志客户端单元13功能一致,在此不再赘述。
下面结合图2说明本发明的日志系统如何工作。日志系统工作前,业务过程终端1、3定义每一业务过程单元11、31的日志类别、等级信息。然后将多个业务过程终端1、3连接到日志系统中,即建立业务过程终端1、3与日志存储单元22的连接关系,并在日志存储单元22中注册每一业务过程终端1、3,赋予每一业务过程终端1、3唯一的ID号。接着,定义每一业务过程终端1、3的日志规则,将日志规则信息存储到日志存储单元22中。业务过程终端1、3的日志规则包括该业务过程终端对应不同类别、等级的日志信息时有不同的输出方式,日志信息的输出方式可以由用户灵活定义。
下面以业务过程终端1的业务过程单元11发送日志信息为例,说明日志系统的工作流程。
业务过程单元11开始运行后,执行步骤S1,通过日志接口单元12向日志客户端单元13发送信息,此时业务过程单元11向日志系统的是发送启动命令,该启动命令包括有业务过程单元11所在的业务过程终端1ID号的信息。
日志接口单元12接收业务过程单元11发送的信息后,执行步骤S2,判断该信息是否为日志信息,若为日志信息,则执行步骤S3,对日志信息计算校验码,并对日志信息进行加密处理,然后将日志信息传送到日志客户端单元13;若不是日志信息,则将接收到的信息传送到日志客户端单元13。
由于业务过程单元11开始运行后发送的信息为启动命令,并不是日志信息,因此日志接口单元12将接收到的启动命令信息直接传送到日志客户端单元13。
日志客户端单元13接收到启动命令信息后,执行步骤S4,进行信息类型的判断。由于该信息为启动命令,则日志客户端单元13执行步骤S5,创建与业务过程单元11的连接实例。然后,执行步骤S7,将启动命令信息发送到日志服务器单元21。
日志服务器单元21接收到启动命令信息后,执行步骤S9,进行信息类型的判断,由于该信息为启动命令,则执行步骤S10,创建与业务过程单元11的连接实例,并执行步骤S11,根据启动命令信息中的业务过程终端ID号向日志存储单元22获取对应的日志规则信息,并将日志规则信息发送至日志客户端单元13。
最后,日志系统执行步骤S14,判断启动过程是否成功,若成功则结束启动过程,若不成功,则执行步骤S15,释放日志服务器单元21与日志客户端单元13建立的连接实例。
启动过程成功后,业务过程单元11通过日志接口单元12向日志客户端单元13发送数据命令,也就是执行步骤S1。业务过程单元11发送的数据命令中包括有日志信息,日志信息包括日志类别、等级信息。日志类别、等级信息由业务过程终端1定义,业务过程终端1根据不同业务过程单元11的性质定义不同业务过程单元11产生的日志类别、等级,并在发送日志信息时将日志类别、等级信息一并发出。优选地,日志类别、日志等级信息均使用1个字节表示。
日志接口单元12接收到数据命令后,执行步骤S2,判断为日志信息后执行步骤S3,对日志信息计算校验码,并进行加密处理,将加密后的日志信息发送到日志客户端单元13。
日志客户端单元13接收到日志信息后,执行步骤S4,判断为数据命令后,执行步骤S6,根据日志类别、等级信息,并结合业务过程终端的日志规则信息,确定日志信息的输出方式,即确定日志信息以何种方式输出,如输出至本地文件、本地数据库、服务器文件、服务器数据库中,或不存储等。
然后,日志客户端单元13执行步骤S8,判断日志信息是否输出到服务器文件或服务器数据库,若发送至服务器,则执行步骤S7,将日志信息发送至日志服务器单元21;若不是发送至服务器,则执行步骤S17,将日志信息解密后输出至业务过程终端1。这样,即完成本地日志信息的输出。
日志服务器单元21接收到日志客户端单元13发送的日志信息后,执行步骤S9,判断信息类型,并在判断该信息为数据命令后,执行步骤S13,将输出至服务器文件或服务器数据库的日志信息解密后输出至日志存储单元22。完成上述步骤后,日志系统即完成网络日志信息的输出。
完成日志信息的输出后,业务过程单元11通过日志接口单元12向日志客户端单元13发送结束命令,日志客户端单元13判断接收到结束命令后,执行步骤S7,将结束命令的信息发送到日志服务器单元21,日志服务器单元21判断接收到结束命令后,执行步骤S12,日志服务器单元21结束与业务过程单元11的连接,并释放连接实例。然后,日志客户端单元13执行步骤S16,结束与业务过程单元11的连接,释放连接实例。
由上述方案可见,日志系统能让业务过程终端1自由定义业务过程单元11的类别以及等级,并且日志客户端单元13能根据日志的类别以及等级确定日志信息的输出方式,这样,日志系统可由用户自由定义日志信息的类别以及等级,并灵活选择不同类别、等级的日志信息的输出方式,方便用户查看日志信息。
并且,业务过程单元11通过发送启动命令以及结束命令来启动和结束日志系统工作。另外,日志系统的日志接口单元12还对日志信息计算校验码以及进行加密处理,防止日志信息被篡改,提高日志系统的安全性。
当然,上述实施例仅是本发明优选的实施方式,实际应用时,本发明还有更多的改变,例如增加或减少部分日志信息的输出方式,在业务过程单元发送的日志信息中包含日志输出方式的信息,或者使用多个字节表示日志类别、等级的信息,这些改变并不影响本发明的实施。
最后,需要强调的是,本发明不限于上述实施方式,诸如不同业务过程终端对应的日志规则的改变、日志接口单元对日志信息加密方法的改变、业务过程单元与日志系统之间的通讯方式的改变等微小变化也应该包括在本发明的保护范围内。