一种交易系统的数据库热点的监控方法及装置制造方法

文档序号:6626978阅读:168来源:国知局
一种交易系统的数据库热点的监控方法及装置制造方法
【专利摘要】本发明提供一种交易系统的数据库热点的监控方法及装置,所述方法包括:采集交易系统的数据库表的数据操作信息;采集交易系统对应的交易的运行信息;根据所述的数据操作信息确定所述数据库表的潜在热点表;根据所述的运行信息确定出所述交易的潜在热点交易;根据所述的潜在热点表以及所述的潜在热点交易确定出所述交易系统的数据库热点。解决了交易系统的数据库热点问题难以测试、难以提前发现的难点,保障了联机交易系统稳定运行。
【专利说明】一种交易系统的数据库热点的监控方法及装置

【技术领域】
[0001] 本发明关于大型计算机数据库【技术领域】,特别是关于交易系统的数据库的数据监 控技术,具体的讲是一种交易系统的数据库热点的监控方法及装置。

【背景技术】
[0002] 随着大型计算机技术的日益发展,在一个数据共享、多线程并行读取或更新的数 据库管理系统中,多个用户需要同时可靠、准确、完整地访问或者更新数据,锁机制是数据 库管理系统为了保证数据的并发处理和一致性的基本功能。对数据进行更新(Update)、插 入(Insert)、删除(Delete)等操作时,在数据库的表空间(Tablespace) \表(Table) \数据 页(Datapage)\记录(Record)等对象上会产生逻辑锁(Logic Lock)或物理锁(Physical Lock),简称锁。
[0003] 对某些多用户并发的交易系统的交易流程,如果集中对少数数据库对象进行更 新、插入、删除操作,则这些交易流程会在这些少数对象上等锁排队,严重的就会产生数据 库热点(Hotspot)。在高峰时期,如果排队的交易流程太多且无法及时处理时,会引起处理 超时(Timeout)、死锁(Deadlock)等问题,甚至产生大面积的数据堵塞。
[0004] 在多用户并发的大型交易系统中,可能存在上万个交易流程。交易流程的种类和 分支繁多,处理流程长,处理数据库对象多且关系复杂。在开发、测试流程中,很难对每个交 易流程都能得到充分的压力测试,即使存在热点问题也难以发现。在生产运行环境中,如果 交易流程未充分推广,或者还没达到高峰处理期,通常不会等锁或者等锁时间不长而未报 警,热点问题通常也不会暴露。同时,数据库系统中也缺少有效监控工具和方法,对热表、热 点交易进行监控和分析。因此,往往到了高峰期时,才会出现热点现象。这时发生超时堵塞 等问题,对业务连续性、可用性的影响是最大的,严重影响客户体验。
[0005] 因此,如何对交易系统的潜在的数据库热点进行主动监控,在问题未发生前进行 分析和结果输出,提前对热点的性能优化或者预警规避,提升大型并行交易系统的运行稳 定性是本领域亟待解决的技术难题。


【发明内容】

[0006] 为了克服现有技术存在的上述技术问题,本发明提供了一种交易系统的数据库热 点的监控方法及装置,通过收集交易系统的数据库表的数据操作信息、交易的运行信息,确 定出潜伏热点,再结合确定出的交易和表两种潜伏热点对象,精准地定位和发现数据库热 点以提前优化应用,解决了交易系统的数据库热点问题难以测试、难以提前发现的难点,保 障了联机交易系统稳定运行。
[0007] 本发明的目的之一是,提供一种交易系统的数据库热点的监控方法,包括:采集交 易系统的数据库表的数据操作信息;采集交易系统对应的交易的运行信息;根据所述的数 据操作信息确定所述数据库表的潜在热点表;根据所述的运行信息确定出所述交易的潜在 热点交易;根据所述的潜在热点表以及所述的潜在热点交易确定出所述交易系统的数据库 执占。 J、、、 ;、、\ °
[0008] 本发明的目的之一是,提供了一种交易系统的数据库热点的监控装置,所述的装 置具体包括操作信息采集模块,用于采集交易系统的数据库表的数据操作信息;运行信息 采集模块,用于采集交易系统对应的交易的运行信息;潜在热点表确定模块,用于根据所述 的数据操作信息确定所述数据库表的潜在热点表;潜在热点交易确定模块,用于根据所述 的运行信息确定出所述交易的潜在热点交易;数据库热点定位模块,用于根据所述的潜在 热点表以及所述的潜在热点交易确定出所述交易系统的数据库热点。
[0009] 本发明的有益效果在于,提供了一种交易系统的数据库热点的监控方法及装置, 通过收集交易系统的数据库表的数据操作信息、交易的运行信息,确定出潜伏热点,再结合 确定出的交易和表两种潜伏热点对象,精准地定位和发现数据库热点以提前优化应用,解 决了交易系统的数据库热点问题难以测试、难以提前发现的难点,保障了联机交易系统稳 定运行,可减少数据库运行的瓶颈,保障大数据量处理、多用户并发的联机交易系统在业务 高峰期运行的稳定性、连续性,提高了用户体验。
[0010] 为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例, 并配合所附图式,作详细说明如下。

【专利附图】

【附图说明】
[0011] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0012] 图1为本发明实施例提供的一种交易系统的数据库热点的监控方法的流程图;
[0013] 图2为图1中的步骤S103的具体流程图;
[0014] 图3为图2中的步骤S201的具体流程图;
[0015] 图4为图2中的步骤S203的实施方式一的具体流程图;
[0016] 图5为图2中的步骤S203的实施方式二的具体流程图;
[0017] 图6为图5中的步骤S502的具体流程图;
[0018] 图7为图1中的步骤S104的具体流程图;
[0019] 图8为图7中的步骤S703的具体流程图;
[0020] 图9为本发明实施例提供的一种交易系统的数据库热点的监控装置的结构框图;
[0021] 图10为本发明实施例提供的一种交易系统的数据库热点的监控装置中潜在热点 表确定模块300的结构框图;
[0022] 图11为本发明实施例提供的一种交易系统的数据库热点的监控装置中数据库表 操作信息确定单元301的结构框图;
[0023] 图12为本发明实施例提供的一种交易系统的数据库热点的监控装置中潜在热点 表确定单兀303的实施方式一的结构框图;
[0024] 图13为本发明实施例提供的一种交易系统的数据库热点的监控装置中潜在热点 表确定单元303的实施方式二的结构框图;
[0025] 图14为本发明实施例提供的一种交易系统的数据库热点的监控装置中过滤单元 3035的结构框图;
[0026] 图15为本发明实施例提供的一种交易系统的数据库热点的监控装置中潜在热点 交易确定模块400的结构框图;
[0027] 图16为本发明实施例提供的一种交易系统的数据库热点的监控装置中潜在热点 交易确定单元403的结构框图。

【具体实施方式】
[0028] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0029] 本发明针对现有技术的情况,对潜在的数据库热点进行主动监控管理,在问题未 发生前进行分析和结果输出,提前对热点的性能优化或者预警规避,提升大型并行交易系 统的运行稳定性。
[0030] 本发明提出一种交易系统的数据库热点的监控方法,根据数据库热点的特点创造 了一种数据模型,通过按周期收集数据,对数据进行统计、计算、过滤,结合交易和表两种热 点对象,精准地定位和发现潜伏热点,以提前优化应用。解决了数据库热点问题难以测试、 人工难以梳理、难以提前发现、无分析工具的难点,保障联机交易系统稳定运行。
[0031] 图1为本发明提出的一种交易系统的数据库热点的监控方法的具体流程图,由图 1可知,所述的方法包括:
[0032] S101 :采集交易系统的数据库表的数据操作信息;
[0033] 在具体的实施例中,可将交易系统对应数据库的相关表的数据操作信息按一定周 期进行采集。
[0034] S102 :采集交易系统对应的交易的运行信息。
[0035] 在具体的实施例中,可将交易系统对应的交易的运行信息按一定周期进行采集。
[0036] S103 :根据所述的数据操作信息确定所述数据库表的潜在热点表。
[0037] S104 :根据所述的运行信息确定出所述交易的潜在热点交易;
[0038] S105:根据所述的潜在热点表以及所述的潜在热点交易确定出所述交易系统的数 据库热点。
[0039] 也即,本发明提供了一种大机数据库系统热点监控和分析方法,通过过滤得出潜 在热点表及潜在热点交易,并对两者进行结合分析,确定出所述交易系统的数据库热点,在 出现问题前对热点进行提前预警、监控、优化的目的。
[0040] 图2为步骤S103的具体流程图,由图2可知,该步骤具体包括:
[0041] S201 :根据所述的数据操作信息确定数据库表操作信息。图3步骤S201的具体流 程图,由图3可知,该步骤具体包括:
[0042] S301 :根据所述的数据操作信息生成数据库表操作信息报表;
[0043] 在具体的实施方式中,将对应数据库的数据操作信息按一定周期进行采集,生成 一定格式的数据库表操作信息报表。
[0044] S302:从所述的数据库表操作信息报表中抽取数据库表操作信息,所述的数据库 表操作信息包括数据库名、表名、记录数、表空间、记录长度、锁级别、变更SQL (Structured Query Language,结构化查询语言)数、数据页变化数、采样日期、采样时间段。
[0045] 在具体的实施方式中,将数据库表操作信息报表按一定周期使用数据抽取工具, 将需要的数据库表操作信息从报表中提取出来,并进行一定的加工、格式转换、计算等,作 为后续的输入数据,如表1所示,其至少包含如下字段:
[0046] 表 1
[0047]

【权利要求】
1. 一种交易系统的数据库热点的监控方法,其特征是,所述的方法包括: 采集交易系统的数据库表的数据操作信息; 采集交易系统对应的交易的运行信息; 根据所述的数据操作信息确定所述数据库表的潜在热点表; 根据所述的运行信息确定出所述交易的潜在热点交易; 根据所述的潜在热点表以及所述的潜在热点交易确定出所述交易系统的数据库热点。
2. 根据权利要求1所述的方法,其特征是,根据所述的数据操作信息确定所述数据库 表的潜在热点表包括: 根据所述的数据操作信息确定数据库表操作信息; 从所述的数据操作信息中获取采样时间段内的更新结构化查询语言SQL数量; 根据所述的数据库表操作信息以及更新SQL数量确定所述数据库表的潜在热点表。
3. 根据权利要求2所述的方法,其特征是,根据所述的数据操作信息确定数据库表操 作信息包括: 根据所述的数据操作信息生成数据库表操作信息报表; 从所述的数据库表操作信息报表中抽取数据库表操作信息,所述的数据库表操作信息 包括数据库名、表名、记录数、表空间、记录长度、锁级别、变更SQL数、数据页变化数、采样 日期、采样时间段。
4. 根据权利要求2所述的方法,其特征是,根据所述的数据库表操作信息以及更新SQL 数量确定所述数据库表的潜在热点表包括: 根据所述的数据库表操作信息确定所述的数据库表操作信息的更新密度; 获取预设的更新SQL数量阈值; 获取预设的更新密度阀值; 根据更新SQL数量阈值、更新密度阀值、更新SQL数量、更新密度从所述的数据库表中 确定出潜在热点表。
5. 根据权利要求2所述的方法,其特征是,根据所述的数据库表操作信息以及更新SQL 数量确定所述数据库表的潜在热点表包括: 根据所述的数据库表操作信息确定所述的数据库表操作信息的更新密度; 根据所述的更新密度对交易系统的数据库表进行过滤,得到过滤后的数据库表; 获取预设的更新SQL数量阈值; 获取预设的更新密度阀值; 根据更新SQL数量阈值、更新密度阀值、更新SQL数量、更新密度从所述过滤后的数据 库表中确定出潜在热点表。
6. 根据权利要求5所述的方法,其特征是,根据所述的更新密度对交易系统的数据库 表进行过滤包括: 定义更新比例值为update/change_sql,其中change_sql为数据库表记录的插入、删 除、修改的SQL总数统计值,update为数据库表记录的修改的SQL总数统计值; 获取预设的更新比例值; 根据所述的更新密度确定数据库表的更新比例值; 判断所述的数据库表的更新比例值是否小于预设的更新比例值; 当判断为是时,将所述的数据库表过滤掉。
7. 根据权利要求4或5所述的方法,其特征是,当所述数据库表为页锁类型时,确定所 述的数据库表操作信息的更新密度通过如下公式进行: Change_density = MAX(change_sql/change_page) 其中,Change_density为数据库对应的表的更新密度,change_sql为数据库对应的表 记录的插入、删除、修改的SQL总数统计值,change_page为数据库对应的表发生过插入、删 除、修改的剔除重复的数据页总数统计值。
8. 根据权利要求4或5所述的方法,其特征是,当所述数据库表为行锁类型时,确定所 述的数据库表操作信息的更新密度通过如下公式进行: Change_density = MAX(change_sql/change_page/rowperpage) 其中,Change_density为数据库对应的表的更新密度,change_sql为数据库对应的表 记录的插入、删除、修改的SQL总数统计值,change_page为数据库对应的表发生过插入、删 除、修改的剔除重复的数据页总数统计值,rowperpage为每个数据页中的记录数。
9. 根据权利要求1或6所述的方法,其特征是,根据所述的运行信息确定出所述交易的 潜在热点交易包括: 根据所述的运行信息生成交易运行信息报表; 从所述的交易运行信息报表中抽取交易运行信息,所述的交易运行信息包括数据库 名、表名、响应时间、数据库运行时间、交易发生次数、采样日期、采样时间段; 根据所述的交易运行信息确定出所述交易的潜在热点交易。
10. 根据权利要求9所述的方法,其特征是,根据所述的交易运行信息确定出所述交易 的潜在热点交易包括: 根据所述的交易运行信息确定所述交易的并发波动率值; 根据所述的交易运行信息确定所述交易的响应时间/并发度相关系数; 根据所述的交易运行信息确定所述交易的辅助指标,所述的辅助指标包括交易调用修 改update SQL次数、平均交易并发数、最大并发数、平均SQL运行时间,最大SQL运行时间; 获取预设的并发波动率阈值、响应时间/并发度相关系数阈值; 根据并发波动率阈值、响应时间/并发度相关系数阈值、并发波动率值、响应时间/并 发度相关系数以及辅助指标确定出所述交易的潜在热点交易。
11. 根据权利要求10所述的方法,其特征是,确定所述交易的并发波动率值通过如下 公式进行: Fluctuate = STDDEV(taskcnt)/SQRT(AVG(taskcnt)) 其中,Fluctuate为表征数据库对应的交易的并发波动性的并发波动值,taskcnt表示 每个连续采样点的交易调用次数,STDDEV为样本标准偏差,SQRT为平方根。
12. 根据权利要求10所述的方法,其特征是,确定所述交易的响应时间/并发度相关系 数通过如下公式进行:
其中,cov为响应时间/并发度相关系数,taskcnt为每个连续采样点的交易调用次数, sqltime为数据库对应的交易执行SQL的时间,STDDEV为样本标准偏差,E为期望值。
13. -种交易系统的数据库热点的监控装置,其特征是,所述的装置包括: 操作信息采集模块,用于采集交易系统的数据库表的数据操作信息; 运行信息采集模块,用于采集交易系统对应的交易的运行信息; 潜在热点表确定模块,用于根据所述的数据操作信息确定所述数据库表的潜在热点 表; 潜在热点交易确定模块,用于根据所述的运行信息确定出所述交易的潜在热点交易; 数据库热点定位模块,用于根据所述的潜在热点表以及所述的潜在热点交易确定出所 述交易系统的数据库热点。
14. 根据权利要求13所述的装置,其特征是,所述的潜在热点表确定模块包括: 数据库表操作信息确定单元,用于根据所述的数据操作信息确定数据库表操作信息; 更新SQL数量获取单元,用于从所述的数据操作信息中获取采样时间段内的更新结构 化查询语言SQL数量; 潜在热点表确定单元,用于根据所述的数据库表操作信息以及更新SQL数量确定所述 数据库表的潜在热点表。
15. 根据权利要求14所述的装置,其特征是,所述的数据库表操作信息确定单元包括: 信息报表生成单元,用于根据所述的数据操作信息生成数据库表操作信息报表; 操作信息抽取单元,用于从所述的数据库表操作信息报表中抽取数据库表操作信息, 所述的数据库表操作信息包括数据库名、表名、记录数、表空间、记录长度、锁级别、变更SQL 数、数据页变化数、采样日期、采样时间段。
16. 根据权利要求14所述的装置,其特征是,所述的潜在热点表确定单元包括: 更新密度确定单元,用于根据所述的数据库表操作信息确定所述的数据库表操作信息 的更新密度; 数量阈值获取单元,用于获取预设的更新SQL数量阈值; 密度阀值获取单元,用于获取预设的更新密度阀值; 热点表确定单元,用于根据更新SQL数量阈值、更新密度阀值、更新SQL数量、更新密度 从所述的数据库表中确定出潜在热点表。
17. 根据权利要求16所述的装置,其特征是,所述的潜在热点表确定单元还包括: 过滤单元,用于根据所述的更新密度对交易系统的数据库表进行过滤,得到过滤后的 数据库表。
18. 根据权利要求17所述的装置,其特征是,所述的过滤单元包括: 比例值定义单元,用于将更新比例值定义为update/change_sql,其中,change_sql为 数据库表记录的插入、删除、修改的SQL总数统计值,update为数据库表记录的修改的SQL 总数统计值; 预设比例值获取单元,用于获取预设的更新比例值; 更新比例值确定单元,用于根据所述的更新密度确定数据库表的更新比例值; 判断单元,用于判断所述的数据库表的更新比例值是否小于预设的更新比例值; 数据库表过滤单元,用于当所述的判断单元判断为是时,将所述的数据库表过滤掉。
19. 根据权利要求16所述的装置,其特征是,当所述数据库表为页锁类型时,所述的更 新密度确定单元通过如下公式进行: Change_density = MAX(change_sql/change_page) 其中,Change_density为数据库对应的表的更新密度,change_sql为数据库对应的表 记录的插入、删除、修改的SQL总数统计值,change_page为数据库对应的表发生过插入、删 除、修改的剔除重复的数据页总数统计值。
20. 根据权利要求16所述的装置,其特征是,当所述数据库表为行锁类型时,所述的更 新密度确定单元通过如下公式进行: Change_density = MAX(change_sql/change_page/rowperpage) 其中,Change_density为数据库对应的表的更新密度,change_sql为数据库对应的表 记录的插入、删除、修改的SQL总数统计值,change_page为数据库对应的表发生过插入、删 除、修改的剔除重复的数据页总数统计值,rowperpage为每个数据页中的记录数。
21. 根据权利要求13或18所述的装置,其特征是,所述的潜在热点交易确定模块包 括: 信息报表生成单元,用于根据所述的运行信息生成交易运行信息报表; 运行信息抽取单元,用于从所述的交易运行信息报表中抽取交易运行信息,所述的交 易运行信息包括数据库名、表名、响应时间、数据库运行时间、交易发生次数、采样日期、采 样时间段; 潜在热点交易确定单元,用于根据所述的交易运行信息确定出所述交易的潜在热点交 易。
22. 根据权利要求21所述的装置,其特征是,所述的潜在热点交易确定单元包括: 并发波动率值确定单元,用于根据所述的交易运行信息确定所述交易的并发波动率 值; 相关系数确定单元,用于根据所述的交易运行信息确定所述交易的响应时间/并发度 相关系数; 辅助指标确定单元,用于根据所述的交易运行信息确定所述交易的辅助指标,所述的 辅助指标包括交易调用update SQL次数、平均交易并发数、最大并发数、平均SQL运行时 间,最大SQL运行时间; 阈值获取单元,用于获取预设的并发波动率阈值、响应时间/并发度相关系数阈值; 热点交易确定单元,用于根据并发波动率阈值、响应时间/并发度相关系数阈值、并发 波动率值、响应时间/并发度相关系数以及辅助指标确定出所述交易的潜在热点交易。
23. 根据权利要求22所述的装置,其特征是,所述的并发波动率值确定单元通过如下 公式进行: Fluctuate = STDDEV(taskcnt)/SQRT(AVG(taskcnt)) 其中,Fluctuate为表征数据库对应的交易的并发波动性的并发波动值,taskcnt表示 每个连续采样点的交易调用次数,STDDEV为样本标准偏差,SQRT为平方根。
24. 根据权利要求22所述的装置,其特征是,所述的相关系数确定单元通过如下公式 进行:
其中,cov为响应时间/并发度相关系数,taskcnt为每个连续采样点的交易调用次数, sqltime为数据库对应的交易执行SQL的时间,STDDEV为样本标准偏差,E为期望值。
【文档编号】G06F11/30GK104217004SQ201410469651
【公开日】2014年12月17日 申请日期:2014年9月15日 优先权日:2014年9月15日
【发明者】邓俊峰, 陈雅峰 申请人:中国工商银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1