一种电力业务系统SQL访问日志压缩方法技术方案

技术编号:12959069 阅读:47 留言:0更新日期:2016-03-03 02:20
本发明专利技术提供一种电力业务系统SQL访问日志压缩方法,所述方法包括:(1)对存储一段连续缓冲区的SQL语句进行分解,分解为词性和内容的单词结构体链表;(2)将所述单词链表中的用户输入部分进行替换,创建SQL模式语句;(3)将新的SQL模式语句加入到SQL模式库中,构建SQL模式匹配引擎。本发明专利技术有效的对电力业务系统SQL访问日志进行压缩,便于从中提取有用的信息,提高资源的利用率,而不损失原数据的内在信息。

【技术实现步骤摘要】

本专利技术涉及一种日志压缩方法,具体涉及一种电力业务系统SQL访问日志压缩方法
技术介绍
随着智能电网信息化技术和SG-ERP的互动化应用开展,电力业务数据大集中的趋势越来越明显,数据库系统也变得尤为重要,如大数据、云计算等先进技术都是在数据库的基础上实现的。数据库系统作为数据信息的汇聚点和重点保护对象,保证数据库的安全是信息化建设平稳发展的前提。为了能够及时监控和有效地监督信息外网用户对信息内网的各种访问行为,通过对日志的收集、预处理、分析和挖掘,可以发现内外网用户的异常行为,并及时提醒审计人员对各种违规行为进行审计、追踪和预警。数据库审计系统可对业界主流的数据库系统进行详细的审计、监控、保护,其功能非常切合电网信息系统中数据库安全的各种安全需求,可推广应用到电网企业发电、变电、输电、配电、通信和农电等各个业务领域的基于物联网的智能电网信息安全建设工作中去。数据库审计过程中涉及的相关技术研究,对智能电网信息安全建设方面有很好的推动作用。目前,公司信息内外网边界的信息交互中,穿透信息内外网边界的数据库访问行为是重要的分析和审计对象,数据库保存着电力业务系统的重要信息,例如:用户用电信息、营销业务数据等机密、敏感数据。因此,数据库对于黑客和不法人员有着很强的吸引力。数据库建立后会被频繁的使用,频繁的进行插入、修改、删除等操作行为,并且数据库的使用不受时间和地点的限制。因此,数据库的安全性异常重要。由于电力业务系统数据库SQL语句操作日志的数据量十分庞大,存储分析存在很大难度。为了更好的对数据库行为继续审计,对电力业务系统SQL访问语句进行压缩十分必要。
技术实现思路
为了克服上述现有技术的不足,本专利技术提供一种电力业务系统SQL访问日志压缩方法,本专利技术有效的对电力业务系统SQL访问日志进行压缩,便于从中提取有用的信息,提高资源的利用率,而不损失原数据的内在信息。为了实现上述专利技术目的,本专利技术采取如下技术方案:一种电力业务系统SQL访问日志压缩方法,所述方法包括如下步骤:(1)对存储一段连续缓冲区的SQL语句进行分解,分解为词性和内容的单词结构体链表;(2)将所述单词链表中的用户输入部分进行替换,创建SQL模式语句;(3)将新的SQL模式语句加入到SQL模式库中,构建SQL模式匹配引擎。优选的,所述步骤(1)中,包括如下步骤:步骤1-1、遍历SQL语句包含的每一个字符,以空白符作为每个word的开始和结束,解析出所述SQL语句所包含的各个word,通过类型匹配的方式识别各个word的类型;步骤1-2、根据解析的结果,将所述SQL语句的每个word分别存储到单词结构体的相关域中;步骤1-3、将所述SQL语句对应的所有单词结构体按照顺序链接成一个单词结构体链表。优选的,所述步骤(2)中,包括如下步骤:步骤2-1、扫描所述单词结构体链表,分离出用户输入部分和SQL主干语句;步骤2-2、将所述用户输入部分提取出来用通配符进行替代,将多条结构相似的SQL语句抽象为一条SQL语句,形成SQL模式语句。优选的,所述步骤(3)中,包括如下步骤:步骤3-1、通过迭代计算SQL语句的单词结构体链表中所有的类型TYPE得到HASH值,计算公式:Hash = Hash〈〈8+Type,Hash初始化为0,Type为语句词法解析后的word类型;步骤3-2、根据同一业务SQL语句模式具有模式性的特点,SQL模式库按照不同的业务应用ID,以数组的形式存储;步骤3-3、通过Hash值查找SQL模式库中Hash数组的对应项,检查是否有完全相同的词法链,若有则执行步骤3-4,否则执行步骤3-5 ;步骤3-4、SQL模式已经存在,仅保存SQL模式序号到SQL日志表中;步骤3-5、SQL模式不存在,将新的模式更新到SQL模式库,再保存SQL模式序号到SQL日志表中;优选的,所述步骤(3)中还包括:在SQL模式匹配的过程中,记录SQL模式语句的生成时间,并增加对模式匹配的计数,每匹配一次则加一。优选的,所述步骤(3)后还包括:扫描SQL模式库,对生存时长超过四十八小时,且匹配次数小于十次的SQL模式语句进行删除。与现有技术相比,本专利技术的有益效果在于:本专利技术根据SQL语句进行词法解析后,分呙出用户输入和SQL主干语句,将用户输入部分提取出来用某个特定的通配符进行替代,可以将多条结构相似的SQL语句抽象为一条SQL语句;本专利技术通过SQL模式匹配的方式,不断学习将新的SQL模式加入到SQL模式库中,对于匹配成功的SQL语句仅将得到模式库的序号写入SQL日志数据库表中,达到SQL访问日志压缩的目的;本专利技术通过HASH值的计算进行检索,加快SQL模式匹配速度,提高了检索的效率。对SQL模式库进行维护,定时将无效的SQL模式语句进行删除,保持SQL模式库的有效性。【附图说明】图1是本专利技术提供的一种电力业务系统SQL访问日志压缩方法流程图图2是本专利技术提供的单词结构体链表结构示意图图3是本专利技术提供的SQL模式库的结构示意图【具体实施方式】下面结合附图对本专利技术作进一步详细说明。本专利技术实施例就是提供一种电力业务系统SQL访问日志压缩方法,主要用于解决力业务系统数据库SQL语句操作日志的数据量十分庞大,存储分析困难的问题,通过本方法可以有效的对电力业务系统SQL访问日志进行压缩,便于从中提取有用的信息,提高资源的利用率,而不损失原数据的内在信息。电力业务系统SQL访问日志压缩方法包括:根据SQL语句进行词法解析后,分呙出用户输入和SQL主干语句,将用户输入部分提取出来用某个特定的通配符进行替代,这样就可以将多条结构相似的SQL语句抽象为一条SQL语句;通过SQL模式匹配的方式,不断学习将新的SQL模式加入到SQL模式库中,构建SQL模式匹配引擎,对于没有匹配成功的SQL语句则将SQL语句的模式增加到SQL模式库中,并将模式的序号写入SQL日志数据库表中,对于匹配成功的SQL语句仅将得到模式库的序号写入SQL日志数据库表中即可,达到SQL访问日志压缩的目的JtSQL模式库进行维护,定时将无效的SQL模式语句进行删除,保持SQL模式库的有效性。所述方法的词法解析SQL日志包括:遍历SQL语句包含的每一个字符,以空白符作为每个word的开始和结束,解析出SQL语句所包含的各个word,同时识别各个word的类型。目前,规定的word类型分为如下:关键字、标识符、数字、数字通配符、字符串通配符、运算操作符、逻辑操作符、分隔符、函数、操作对象、其它。将这些word存储进单词结构体中,多个单词结构体链接成一个链表。同时根据解析的结当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种电力业务系统SQL访问日志压缩方法,其特征在于,所述方法包括如下步骤:(1)对存储一段连续缓冲区的SQL语句进行分解,分解为词性和内容的单词结构体链表;(2)将所述单词链表中的用户输入部分进行替换,创建SQL模式语句;(3)将新的SQL模式语句加入到SQL模式库中,构建SQL模式匹配引擎。

【技术特征摘要】

【专利技术属性】
技术研发人员:李伟伟张涛马媛媛周诚邵志鹏时坚楚杰汪晨费稼轩何高峰黄秀丽陈璐管小娟
申请(专利权)人:国网智能电网研究院江苏省电力公司国家电网公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1