本申请公开了一种数据统计的方法及装置,涉及数据处理技术领域,为解决冗余日志干扰对用户操作的管理和监督的问题而发明专利技术。主要方法包括:获取数据流的报文格式;如果报文格式符合预置数据库协议格式,则根据预置数据库协议格式,解析数据流的命令字,以及数据流的登录用户名;如果命令字是登录命令,则判断预置用户名数据库中是否存在登录用户名;如果预置用户名数据库中不存在登录用户名,则根据预置算法,计算数据流的日志ID;根据日志ID,生成数据流的登录日志;如果命令字不是登录命令,则根据登录用户名对应的日志ID,生成数据流的操作日志;保存日志信息,日志信息包括操作日志和登录日志。本申请主要应用于生成数据库日志信息的过程中。
【技术实现步骤摘要】
一种数据统计的方法及装置
本申请涉及数据处理
,尤其涉及一种数据统计的方法及装置。
技术介绍
目前使用的数据库系统,其内部操作不透明,无法通过外部的安全工具来阻止内部用户的恶意操作、滥用资源和泄漏企业机密信息等行为。为了对使用数据库的用户进行监督,通常通过对数据库日志的统计和处理,判断用户的操作是否安全。现有的数据库中,在使用过程中用户真实登录只有一次且一直在线保活,但是用户使用可视化工具执行操作语句时会重新链接、执行和退出。每次重新链接、执行和退出都会产生数据库日志,也就是当用户访问数据库时,任何一条对数据库的操作都会产生登录、操作和退出三条数据库日志。在同一个用户对数据库进行操作的过程中,不断的重复生成用户的登录与退出的数据库日志,然而登录与退出的数据库日志与判断用户操作安全性无关,是冗余日志。冗余日志不是用户的真实操作,严重干扰对用户操作的管理和监督。
技术实现思路
本申请提供了一种数据统计的方法及装置,以解决冗余日志干扰对用户操作的管理和监督的问题。第一方面,本申请提供了一种数据统计的方法,该方法包括:获取数据流的报文格式;如果所述报文格式符合预置数据库协议格式,则根据所述预置数据库协议格式,解析所述数据流的命令字,以及所述数据流的发送方的登录用户名;如果所述命令字是登录命令,则判断预置用户名数据库中是否存在所述登录用户名;如果预置用户名数据库中不存在所述登录用户名,则根据预置算法,计算所述数据流的日志ID;根据所述日志ID,生成所述数据流的登录日志;如果所述命令字不是登录命令,则根据所述登录用户名对应的日志ID,生成所述数据流的操作日志;保存所述日志信息,所述日志信息包括操作日志和登录日志。第二方面,本申请还提供了一种数据统计的装置,所述装置包括:获取单元,用于获取数据流的报文格式;解析单元,用于如果所述报文格式符合预置数据库协议格式,则根据所述预置数据库协议格式,解析所述数据流的命令字,以及所述数据流的发送方的登录用户名;判断单元,用于如果所述命令字是登录命令,则判断预置用户名数据库中是否存在所述登录用户名;计算单元,用于如果预置用户名数据库中不存在所述登录用户名,则根据预置算法,计算所述数据流的日志ID;第一生成单元,用于根据所述日志ID,生成所述数据流的登录日志;第二生成单元,用于如果所述命令字不是登录命令,则根据所述登录用户名对应的日志ID,生成所述数据流的操作日志;保存单元,用于保存所述日志信息,所述日志信息包括操作日志和登录日志。第三方面,本申请还提供了一种计算机程序,包括:处理器及存储器;所述处理器可以执行所述存储器中所存储的程序或指令,从而实现以第一方面各种实现方式所述数据统计的方法。第四方面,本申请还提供了一种存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的数据统计的方法各实施例中的部分或全部步骤。由上述的技术方案可知,本申请提供的一种数据统计的方法及装置,通过获取数据流的报文格式,如果报文格式符合预置数据库协议格式,则根据预置数据库协议格式,解析数据流的命令字,以及数据流的发送方的登录用户名;如果命令字是登录命令,则判断预置用户名数据库中是否存在登录用户名;如果预置用户名数据库中不存在登录用户名,则根据预置算法,计算数据流的日志ID;再根据日志ID,生成数据流的操作日志;如果用户名数据库中存在登录用户名,则根据登录用户名对应的用户ID,生成数据流的登录日志;如果命令字不是登录命令,则根据用户登录名对应的日志ID,生成数据流的操作日志;保存日志信息,日志信息包括操作日志和登录日志。与现有技术相比,本申请能够通过命令字和登录用户名,判断是否保存该条数据流的日志信息,该日志信息中只保存操作信息和首次登录信息,减少同一个用户多次登录的登录信息,剔除冗余信息,减少冗余信息对用户操作的管理和监督的干扰。通过日志ID保存日志信息,每条数据流都有唯一的日志ID,以便后续对日志信息的查找、处理和展示。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请提供的一种数据统计的方法流程图;图2为本申请提供的另一种数据统计的方法流程图;图3为本申请提供的一种数据统计的装置组成框图;图4为本申请提供的另一种数据统计的装置组成框图。具体实施方式参见图1,为提供的一种数据统计的方法流程图,该方法包括如下步骤:步骤101,获取数据流的报文格式。数据流,是传输中所使用的信息的数字编码信号序列。在用户使用数据库的过程中,用户向服务器发送数据流,然后服务器根据数据流中的数据信息给用户反馈对应的数据库信息。由于传输数据流的过程中,通常将数据信息用特定的报文格式封装,然后通过报文格式中的端口解析数据流。获取数据流,根据数据流的特征,识别数据流的报文格式,报文格式包传输括数据流的端口、关键字和指令等特征标识。步骤102,如果报文格式符合预置数据库协议格式,则根据预置数据库协议格式,解析数据流的命令字,以及数据流的发送方的登录用户名。预置数据库协议格式,包括传输数据的固定端口、协议关键字和数据库指令等特征标识。判断报文格式是否符合预置数据库协议格式,也就是判断报文格式与预置数据库协议格式是否相同。在判断过程中,可以只比较特征标识中的一种,几种或者全部的特征标识。例如只比较报文格式中的端口与预置数据库协议中的固定端口是否相同,也可以只比较报文格式中的关键字与预置数据库协议格式中的协议关键字是否相同,也可以比较报文格式中的指令与预置数据库协议格式中的数据库指令是否相同,还可以同时报文格式中全部特征标识和预置数据库协议格式中的特征标识是否相同,在本专利技术实施例中对报文格式是否符合预置数据库协议格式的判断方法不做限定。如果报文格式符合预置数据库协议格式,则根据预置数据库协议格式,解析数据流的命令字,以及数据流的发送方的登录用户名。数据流是数据库的某一个用户发送的,通常发送方还需要接收服务器的反馈信息,所以在数据流中包括操作指令和发送方的信息,其中发送方的信息包括登录用户名、发送方的IP(InternetProtocol,网络互联协议)地址等发送方信息。解析数据流,获取数据流携带的命令字,命令字是用户对数据库的操作指令。步骤103,如果命令字是登录命令,则判断预置用户名数据库中是否存在登录用户名。用户的客户端与数据库的服务器不是一直保持连接状态,而是在用户使用数据库时,用户的客户端向数据库的服务器发送的所有命令,都需要先执行登录数据库的登录命令。所以为了避免由于重复的登录命令造成的数据冗余,先判断预置用户名数据库中是否存在登录用户名,然后根据判断结果决定是否生成该数据流的日志。预置用户名数据库中保存已经登录的登录用户名。步骤104,如果预置用户名数据库中不存在登录用户名,则根据预置算法,计算数据流的日志ID。日志ID(Identification,身份标识符),该条数据流的唯一的标识。同一个登录用户名在同一次保活状态中只有一个日志ID。只有在预置用户名数据库中不存在登录用户名时,才需要计算该登录用户名的本次保活状态的日志ID。日志ID是根据本文档来自技高网...

【技术保护点】
一种数据统计的方法,其特征在于,所述方法包括:获取数据流的报文格式;如果所述报文格式符合预置数据库协议格式,则根据所述预置数据库协议格式,解析所述数据流的命令字,以及所述数据流的发送方的登录用户名;如果所述命令字是登录命令,则判断预置用户名数据库中是否存在所述登录用户名;如果预置用户名数据库中不存在所述登录用户名,则根据预置算法,计算所述数据流的日志ID;根据所述日志ID,生成所述数据流的登录日志;如果所述命令字不是登录命令,则根据所述登录用户名对应的日志ID,生成所述数据流的操作日志;保存所述日志信息,所述日志信息包括操作日志和登录日志。
【技术特征摘要】
1.一种数据统计的方法,其特征在于,所述方法包括:获取数据流的报文格式;如果所述报文格式符合预置数据库协议格式,则根据所述预置数据库协议格式,解析所述数据流的命令字,以及所述数据流的发送方的登录用户名;如果所述命令字是登录命令,则判断预置用户名数据库中是否存在所述登录用户名;如果预置用户名数据库中不存在所述登录用户名,则根据预置算法,计算所述数据流的日志ID;根据所述日志ID,生成所述数据流的登录日志;如果所述命令字不是登录命令,则根据所述登录用户名对应的日志ID,生成所述数据流的操作日志;保存所述日志信息,所述日志信息包括操作日志和登录日志。2.如权利要求1所述的方法,其特征在于,所述根据所述日志ID,生成所述数据流的登录日志,包括:获取所述数据流的所述登录用户名和所述日志ID;获取所述数据流的指令参数,所述指令参数包括操作语句和所述数据流的发送时间;将所述登录用户名、所述日志ID和所述指令参数,确定为所述数据流的所述登录日志。3.如权利要求2所述的方法,其特征在于,所述根据所述日志ID,生成所述数据流的登录日志之后,所述方法还包括:将所述登录用户名添加到所述预置用户名数据库中。4.如权利要求1所述的方法,其特征在于,所述根据所述登录用户名对应的日志ID,生成所述数据流的操作日志,包括:查找所述登录用户名对应的日志ID;获取所述数据流的指令参数,所述指令参数包括操作语句和所述数据流的发送时间;将所述登录用户名、所述登录用户名对应的日志ID和所述指令参数,确定为所述数据流的所述操作日志。5.如权利要求1所述的方法,其特征在于,所述保存所述日志信息,包括:根据所述日志信息的日志类型,分类保存所述日志信息。6.一种数据统计的装置,其特征在于,所述装置包括:获取单元,用于获取数据流的报文格式;解析单元,用于如果所述...
【专利技术属性】
技术研发人员:张欢,
申请(专利权)人:北京安博通科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。