一种日志记录系统及日志记录操作方法与流程

文档序号:14685694发布日期:2018-06-14 20:40阅读:288来源:国知局

本发明涉及信息维护技术,尤其涉及一种日志记录系统及日志记录操作方法。



背景技术:

软件定义网络(SoftwareDefinedNetwork,SDN)是一种网络创新架构,其核心技术OpenFlow(一种网络交换模型)通过将网络设备控制面与转发面分离开来,实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。

现有软件定义网络采用集中式管理的方法,日志记录数据只保存一份在软件定义网络的数据库中,一旦数据库遭到破坏,日志记录可能永久性丢失,数据安全性低;另外,目前采用的数据库主要为甲骨文(Oracle)数据库或结构化查询语言(StructuredQueryLanguage,SQL)服务数据库,这两种数据库会占用很大的数据空间,并且对硬件要求也高,增加了软件定义网络的数据量和维护难度。



技术实现要素:

有鉴于此,本发明实施例期望提供一种日志记录系统及日志记录操作方法,至少能解决日志记录安全性低等问题。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种日志记录系统,包括:

分布式缓存单元,用于缓存日志记录,根据日志记录操作指令对日志记录进行操作,并将日志记录同步到分布式环境中的其它分布式缓存节点;

日志记录写入单元,用于向所述分布式缓存单元中写入日志记录;

日志记录查询单元,用于查询所述分布式缓存单元中的日志记录。

上述方案中,所述系统还包括:日志记录删除单元,用于接收日志删除指令,并删除所述分布式缓存单元中对应所述删除指令的日志信息。

上述方案中,所述分布式缓存单元包括:

信息接收模块,用于接收日志记录操作指令,并根据所述日志记录操作指令对日志记录进行操作;

分布式存储模块,用于保存日志记录;

信息发送模块,用于将日志记录同步到分布式环境中的分布式节点。

上述方案中,所述日志记录写入单元包括:

接口模块,用于接收日志记录信息的操作指令,并将所述操作指令发送给所述分布式缓存单元;

写入模块,用于将日志记录写入所述分布式缓存单元。

本发明实施例还提供了一种日志记录写入方法,包括:

接收并保存日志记录发送端发来的日志记录;

将保存的日志记录同步到分布式环境下的其它分布式缓存节点。

上述方案中,所述接收并保存日志记录发送端发来的日志记录包括:接收日志记录发送端发来的日志记录,根据当前时间生成所述日志记录的日志标识,并将所述日志标识保存至所述日志记录,将所述日志记录放入日志队列;再由日志记录写入单元的写入模块按所述日志标识对应的时间的先后顺序,从所述日志队列中读取所述日志记录,并将所述日志记录保存至分布式存储模块。

上述方案中,所述将保存的日志记录同步到分布式环境下的其它分布式缓存节点包括:根据分布式配置要求将所述日志记录保存至日志文件中,并通过分布式缓存单元的信息发送模块将所述日志记录同步到分布式环境下的其它分布式缓存节点。

上述方案中,所述将所述日志记录放入日志队列之后还包括:将所述日志标识发送给所述日志记录发送方。

上述方案中,所述分布式配置要求包括全同步类型或分布式类型;当为全同步类型时,分布式存储模块向分布式环境中所有节点同步数据;当为分布式类型时,分布式存储模块配置同步节点的数量,在日志记录同步时,从分布式环境中随机选取设定数量的节点作为同步节点。

本发明实施例又提供了一种日志记录查询方法,包括:

接收日志记录查询端发来的日志记录查看指令,并根据所述日志记录查看指令发送日志记录查看请求;

根据所述日志记录查看请求查看是否存在所述日志记录查看请求对应的日志记录,若存在,则将所述日志记录查看请求对应的日志记录发送给所述日志记录查询端;否则,返回空信息给所述日志记录查询端。

上述方案中,所述将所述日志记录查看请求对应的日志记录发送给所述日志记录查询端包括:通过所述信息发送模块将所述日志记录查看请求对应的日志记录发送给所述日志记录查询单元,所述日志记录查询单元将所述日志记录查看请求对应的日志记录发送给所述日志记录查询端。

上述方案中,所述返回空信息给所述日志记录查询端包括:通过信息发送模块向所述日志记录查询单元发送空信息,所述日志记录查询单元将所述空信息发送给所述日志记录查询端。

本发明实施例所提供的日志记录系统及日志记录操作方法,将日志记录通过分布式缓存单元实现分布式的保存,使得日志记录保存到分布式环境下的节点中,大大提高了日志记录的安全性;同时提高了日志记录的存储容量,还能提高日志记录的写入速度和查询速度。

附图说明

图1为本发明实施例1日志记录系统的组成结构示意图;

图2为本发明实施例2日志记录写入方法的实现流程示意图;

图3为本发明实施例3日志记录查询方法的实现流程示意图;

图4为本发明实施例4日志记录系统在软件定义网络中的结构图;

图5为本发明实施例4向分布式缓存单元写入日志记录的方法的流程图;

图6为本发明实施例4向分布式缓存单元写入日志记录的方法的信息传递结构图;

图7为本发明实施例4向分布式缓存单元查询日志记录的方法的信息传递结构图。

具体实施方式

以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。

实施例1

为了解决日志记录安全性低的问题,本实施例提供了一种日志记录系统,如图1所示,所述系统包括:

分布式缓存单元101,用于缓存日志记录,根据日志记录操作指令对日志记录进行操作,并将日志记录同步到分布式环境中的其它分布式缓存节点;

这里,所述分布式缓存节点可以有多个,每个分布式缓存节点均包括分布式缓存单元;所述同步是将全部日志记录同步存储到本地的分布式缓存单元和其它各个分布式缓存节点的分布式缓存单元中。

分布式缓存单元101可以是一个开源的数据网格平台,开源的数据网格平台公开了一个简单的数据结构来存储对象。在分布式环境下,分布式缓存单元101可以将软件定义网络的集群缓存起来并公开大容量的内存。通过为每个分布式缓存节点分配固定数量的副本,提供了分布式缓存的功能,并且提升了软件定义网络的可伸缩性。其中,所述软件定义网络的集群相当于将多个软件定义网络连接起来共同处理数据。

日志记录写入单元102,用于向所述分布式缓存单元101中写入日志记录;

日志记录写入单元102被软件定义网络中其它功能模块调用,并将其它功能模块发来的日志记录保存到分布式缓存单元101中;这里,所述其它功能模块可以是安全监控模块和事件查询模块等等。

日志记录查询单元103,用于查询所述分布式缓存单元101中的日志记录,获取所需的日志记录。

日志记录查询单元103按照一定的筛选条件从分布式缓存单元101中获取所需的日志记录。

这里,所述筛选条件是预先设定的并携带在日志记录查询指令中;具体筛选条件可根据名称、类型、发生的事件等等预先设定。

本实施例系统能够实现对日志记录的分布式保存,使得日志记录保存在多个分布式缓存节点上,提高日志记录的安全性。

本实施例中,分布式缓存单元101自身具有数据清除功能,当保存的日志记录的容量超过设定容量时,分布式缓存单元101会自动对时间最早的多余的日志记录数据进行清除。

为了对日志记录数据的进一步控制,本实施例的日志记录系统还可以包括日志记录删除单元104,用于接收日志删除指令,并删除所述分布式缓存单元101中对应所述删除指令的日志记录。

需要说明的是,日志记录删除单元104可以根据预先设定的删除规则对符合删除条件(如时间、类型、数据大小等属性)的日志记录进行主动删除,避免由于无用数据量多导致的日志记录数据处理速度慢,对系统硬件要求高等不足。

具体的,所述分布式缓存单元101包括:信息接收模块,用于接收日志记录操作指令,并根据所述日志记录操作指令对日志记录进行操作;分布式存储模块,用于保存日志记录;信息发送模块,用于将日志记录同步到分布式环境中的其它分布式节点。

所述日志记录写入单元102包括:接口模块,用于接收日志记录的操作指令,并将所述操作指令发送给所述分布式缓存单元101;写入模块,用于将日志记录写入所述分布式缓存单元101。

实施例2

本实施例是在实施例1的基础上提出的一种日志记录写入方法,如图2所示,该方法包括以下步骤:

步骤S201:接收并保存日志记录发送端发来的日志记录;

具体的,本步骤可先由日志记录写入单元的接口模块接收日志记录发送端发来的日志记录,根据当前时间生成所述日志记录的日志标识,并将所述日志标识保存至所述日志记录,将所述日志记录放入日志队列;

再由日志记录写入单元的写入模块按所述日志标识对应的时间的先后顺序,从所述日志队列中读取所述日志记录,并将所述日志记录保存至分布式存储模块;

这里,日志记录发送端可以是软件定义网络中应用层中的各个模块;日志记录的内容包括软件定义网络的操作数据、安全事件数据和/或系统事件数据等;日志队列用于对日志记录写入分布式缓存单元的写入顺序按日志标识对应的时间进行排序。为了让日志记录发送方了解日志记录在分布式缓存单元中的记录参数,可以将所述日志标识发送给所述日志记录发送方。

步骤S202:将保存的日志记录同步到分布式环境下的其它分布式缓存节点;

本步骤可由所述分布式存储模块根据分布式配置要求将所述日志记录保存至日志文件中,并通过分布式缓存单元的信息发送模块将所述日志记录同步到分布式环境下的其它分布式缓存节点。

这里,分布式存储模块包括配置文件,配置文件可以配置为日志记录全同步类型或分布式类型;当为全同步类型时,分布式存储模块向分布式环境中所有节点同步数据,所述分布式缓存节点均属于分布式环境下的节点;当为分布式类型时还需要配置同步节点的数量,在日志记录同步时,从分布式环境中随机选取设定数量的节点作为同步节点,其中具体如何配置可根据当前软件定义网络所在的网络环境配置,也可以根据日志记录的保存要求配置。

实施例3

本实施例是在实施例1的基础上提出的一种日志记录查询方法,如图3所示,该方法包括以下步骤:

步骤S301:接收日志记录查询端发来的日志记录查看指令,并根据所述日志记录查看指令发送日志记录查看请求;

这里,所述接收日志记录查看指令和发送日志记录查看请求可由日志记录查询单元完成;所述发送日志记录查看请求是向分布式缓存单元的信息接收模块发送;

步骤S302:根据所述日志记录查看请求查看是否存在所述日志记录查看请求对应的日志记录,若存在,则将所述日志记录查看请求对应的日志记录发送给所述日志记录查询端;否则,返回空信息给所述日志记录查询端。

其中,所述空信息是指无法按照日志记录查看请求找到对应的日志记录时,返回给日志记录查询端的信息。

这里,所述查看是否存在日志记录查看请求对应的日志记录可由所述信息接收模块在分布式存储模块中查看;

具体的,所述将所述日志记录查看请求对应的日志记录发送给所述日志记录查询端包括:通过所述信息发送模块将所述日志记录查看请求对应的日志记录发送给所述日志记录查询单元,所述日志记录查询单元将所述日志记录查看请求对应的日志记录发送给所述日志记录查询端;

所述返回空信息给所述日志记录查询端包括:通过信息发送模块向所述日志记录查询单元发送空信息,所述日志记录查询单元将所述空信息发送给所述日志记录查询端。

另外,为了实现对日志记录的主动删除,本实施例方法还可以包括通过日志记录删除单元删除日志记录的步骤。

具体的,分布式缓存单元101自身具有数据清除功能,当保存的日志记录的容量超过了设定容量时,分布式缓存单元101会自动对时间最早的多于的日志记录数据进行清除。为了对日志记录数据的进一步控制,还可以通过日志记录删除单元104根据预先设定的删除规则对符合删除条件(如时间、类型、数据大小等属性)的日志记录进行主动删除,避免了由于无用数据量多大导致的日志记录数据处理速度慢,对系统硬件要求高等不足。

实施例4

以下通过一个实际场景对本发明进行详细说明。

本发明实施例的日志记录系统在软件定义网络中的结构如图4所示,本发明实施例的软件定义网络分为三层架构:

支撑层:处于软件定义网络的最底层,包括服务加载框架和实施例1所述分布式缓存单元等支撑模块,这部分是整个系统各个子系统加载的基础,服务层和应用层都依赖支撑层。

服务层:处于软件定义网络的中间层,用于给应用层提供服务,需要依赖支撑层,包括实施例1中所述的日志记录写入单元、日志记录查询单元和其他服务单元。

应用层:主要是软件定义网络中的业务应用模块,应用层同时依赖服务层和支撑层。

基于上述结构,本实施例向分布式缓存单元写入日志记录的方法的流程图如图5所示,包括以下步骤:

步骤S4011:软件定义网络中应用层的各业务应用模块将操作、安全事件或系统事件封装成日志记录,调用日志记录写入单元的接口模块传入日志记录;

步骤S4012:接口模块根据当前时间戳生成日志标识,将日志标识设置到传入的日志记录中,再将日志记录放入日志队列;

步骤S4013:接口模块向应用层的业务应用模块返回日志标识;

步骤S4014:日志记录写入单元的写入模块循环判断日志队列中是否有数据,如果有,则取出最先入队列的日志记录;

步骤S4015:信息接收模块将日志对象放入分布式存储模块;

步骤S4016:分布式存储模块根据分布式配置要求,将日志记录同步到分布式环境中的其它分布式缓存节点;

这里,所述分布式配置要求是在分布式存储模块的配置文件中配置,所述分布式配置要求包括全同步类型或分布式类型;当为全同步类型时,分布式存储模块向分布式环境中所有节点同步数据;当为分布式类型时还需要配置同步节点的数量,在日志记录同步时,从分布式环境中随机选取设定数量的节点作为同步节点。配置的具体内容可以根据工程环境中实际情况来做选择。

步骤S4017:分布式缓存单元根据分布式配置要求,将日志记录写到日志记录文件中;

这里,日志记录信息不仅放在缓存中,同时也放在日志记录文件中;当系统掉电或其他原因关闭重启时,分布式缓存单元还能从文件中获取到日志记录,使日志记录不会因为系统重启而丢失。对应的信息传递结构如图6所示。

本实施例通过分布式缓存单元查询日志记录的方法包括以下步骤:

步骤4021:软件定义网络中的超文本传送协议(Hypertexttransferprotocol,HTTP)请求分发处理器向所述分布式缓存单元的信息接收模块分发日志记录查看指令;

这里,所述HTTP请求分发处理器相当于上述实施例中的日志记录查询端;

步骤4022:所述信息接收模块根据所述日志记录查看请求在所述分布式存储模块中查看是否存在所述日志记录查看请求对应的日志记录,若存在,则通过信息发送模块将所述日志记录查看请求对应的日志记录发送给所述日志记录查询单元,所述日志记录查询单元将所述日志记录查看请求对应的日志记录发送给所述日志记录查询端;否则,通过信息发送模块向所述日志记录查询单元发送空信息,所述日志记录查询单元将所述空信息发送给所述日志记录查询端。对应的信息传递结构如图7所示。

其中,如果所述日志记录查看请求配置的是复制模式,那么每个分布式节点上都有日志记录),那么就可以从分布式缓存单元或分布式环境中的其他分布式缓存节点的分布式缓存单元中获取日志记录。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1