[发明专利]指令处理装置和指令处理方法无效
| 申请号: | 201110177239.2 | 申请日: | 2011-06-28 |
| 公开(公告)号: | CN102393842A | 公开(公告)日: | 2012-03-28 |
| 发明(设计)人: | 杨历;叶琳 | 申请(专利权)人: | 用友软件股份有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
| 地址: | 100094 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 指令 处理 装置 方法 | ||
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种指令处理装置和一种指令处理方法。
背景技术
ERP以及其他大型企业软件往往由数百人合作而成。尽管通过代码走查和多层测试,但从统计的观点看,软件中仍然存在一些设计不良之处。其中有一类问题,就是将不良的数据库指令交给关系数据库执行,例如SQL语句。这些命令一旦交给关系数据库执行,会带来巨大的IO或内存开销,进而有可能造成整个ERP系统运行效率缓慢,甚至崩溃。
目前的解决方案有,使用代码静态扫描程序找到设计不良的SQL语句。此方法虽然有一定效果,但存在两个显而易见的问题:1、无法分析运行时动态产生的SQL命令;2、难于估计实际的执行成本(IO/内存),因为数据库表内的数据、索引信息都是动态变化的。
还有一种方法,就是设定SQL执行超时的时间。当SQL执行超过预先设定的阀值后,切断SQL语句的执行。这个方法可以在一定程度上缓解SQL语句的“单点问题”扩散至整体,但是SQL执行超时不一定是当前SQL语句功能点的设计问题,可能和关系数据库同时执行的其他SQL命令有关,不能准确的限定问题。
因此,需要一种新的用于判定数据库查询指令是否存在设计不良的方式,能够准确判断出哪个指令存在不良问题,并能够阻止其发送到数据库执行,防止对数据库相关的整个系统造成影响。
发明内容
本发明所要解决的技术问题在于,提供一种新的用于判定数据库查询指令是否存在设计不良的方式,能够准确判断出哪个指令存在不良问题,并能够阻止其发送到数据库执行,防止对数据库相关的整个系统造成影响。
有鉴于此,本发明提供一种指令处理装置,包括:信息获取模块,获取数据库的元数据信息;指令执行估算模块,根据元数据信息,估算待发送给数据库的指令在被执行时的资源消耗;指令处理模块,判断资源消耗是否超过预设阈值,并在判断结果为否时,允许指令发送至数据库,在判断结果为是时,禁止指令发送至数据库。通过该技术方案,能够在指令发送到数据库执行前,通过判断其是否占用了太多资源,确认是否允许其执行,防止了不良指令占用太多资源而对基于数据库的整个系统造成影响。
在上述技术方案中,优选地,资源消耗包括:执行指令所需要的数据量;执行指令将要输出的结果数据量;执行指令所需要占用的内存。
在上述技术方案中,优选地,指令处理模块还在判断结果为是时,通过日志记录指令。通过该技术方案,有利于快速找到可能有缺陷的指令,并对其进行改进。
在上述技术方案中,优选地,信息获取模块按预定时间或周期,获取元数据信息。
在上述技术方案中,优选地,元数据信息包括:表描述、字段描述、索引描述以及每个表的数据量、字段数据分布情况统计。
本发明还提供一种指令处理方法,包括:步骤202,获取数据库的元数据信息;步骤204,根据元数据信息,估算待发送给数据库的指令在被执行时的资源消耗;步骤206,判断资源消耗是否超过预设阈值,并在判断结果为否时,允许指令发送至数据库,在判断结果为是时,禁止指令发送至数据库。通过该技术方案,能够在指令发送到数据库执行前,通过判断其是否占用了太多资源,确认是否允许其执行,防止了不良指令占用太多资源而对基于数据库的整个系统造成影响。
在上述技术方案中,优选地,资源消耗包括:执行指令所需要的数据量;执行指令将要输出的结果数据量;执行指令所需要占用的内存。
在上述技术方案中,优选地,在步骤206中,在判断结果为是时,还包括:通过日志记录指令。通过该技术方案,有利于快速找到可能有缺陷的指令,并对其进行改进。
在上述技术方案中,优选地,在步骤202中,按预定时间或周期,获取元数据信息。
在上述技术方案中,优选地,元数据信息包括:表描述、字段描述、索引描述以及每个表的数据量、字段数据分布情况统计。
通过以上技术方案,可以实现一种指令处理装置和一种指令处理方法,能够准确判断出哪个指令存在不良问题,并能够阻止其发送到数据库执行,防止对数据库相关的整个系统造成影响。
附图说明
图1是根据本发明的一个实施例的指令处理装置的框图;
图2是根据本发明的一个实施例的指令处理方法的流程图;
图3是根据本发明的一个实施例的指令处理装置的工作示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友软件股份有限公司,未经用友软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110177239.2/2.html,转载请声明来源钻瓜专利网。





