银行数据库行锁的处理方法及装置与流程

文档序号:33296656发布日期:2023-02-28 21:43阅读:121来源:国知局
银行数据库行锁的处理方法及装置与流程

1.本发明涉及人工智能技术领域,尤其涉及银行数据库行锁的处理方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.在大型金融机构的信息化建设与管理中,随着业务快速增长,各种金融业务系统频繁遭遇业务数据库的锁等待事件,其直接后果是造成金融机构业务失效或业务缓慢。目前绝大多数金融机构对于锁等待这类发生在业务源端的应用类问题,缺少高效的智能化应急处理机制,这使得应对锁等待时间的紧迫性和必要性尤为突出。
4.如下对行锁等待的典型场景进行举例说明:如事务a要update表当中的某些行记录,事务a会在这些行记录之上放置行级排他锁,这个锁允许其他事务对这些行记录进行非一致读,但不允许任何其他事务对这些行进行dml修改操作,直到事务a结束释放该独占锁。此时如果有事务试图去修改这些被锁定的行,这些事务就会被迫等待事务a结束,才能执行自己的操作。
5.目前常见的处理方案有两种:一是对于必须在业务时段执行的dml语句,在表上增加索引或建立合适的数据分区以解决锁定时间过长的问题;二是对于长事务造成的锁等待时间较长,在业务逻辑允许的情况下,在程序产生锁的语句后增加commit操作,以释放锁。
6.但上述两种方式,均是在行锁等待问题根源被找到的情况下,进行事后处理的方案。但是现在困扰金融机构的是:如何实现对行锁等待事件的预警,避免因行锁等待事件造成事务处理延误而导致的业务受损风险,以及如何在损失发生前,规避风险或者减少风险损失。而目前并不存在一种可对行锁等待事件进行预警的方案。


技术实现要素:

7.本发明实施例提供一种银行数据库行锁的处理方法,用以实现对行锁等待事件的预警,减少因行锁等待事件造成的损失,提升金融机构处理行锁等待事件的效率,该方法包括:
8.检测银行数据库的行锁性能参数;所述行锁性能参数用于描述数据库参数中与行锁相关的性能参数;将每一行锁性能参数,与预设置的行锁性能预警关联关系进行匹配,得到与每一行锁性能参数对应的性能参数预警阈值;所述行锁性能预警关联关系用于表征不同行锁性能参数和不同性能参数预警阈值之间的关联关系;
9.针对每一行锁性能参数,在该行锁性能参数超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件,并将该锁性能参数确定为目标行锁性能参数;
10.根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务,并将所述多个银行事务加入到等待事件堆栈中;根据预设置的银行事务与事务处理方式的对应关
系,依次处理所述等待事件堆栈中的每一银行事务;
11.在所述等待事件堆栈中的银行事务处理结束后,发出行锁等待事件处理完毕的通知信息。
12.本发明实施例还提供一种银行数据库行锁的处理装置,用以实现对行锁等待事件的预警,减少因行锁等待事件造成的损失,提升金融机构处理行锁等待事件的效率,该装置包括:
13.行锁性能参数检测模块,用于检测银行数据库的行锁性能参数;所述行锁性能参数用于描述数据库参数中与行锁相关的性能参数;将每一行锁性能参数,与预设置的行锁性能预警关联关系进行匹配,得到与每一行锁性能参数对应的性能参数预警阈值;所述行锁性能预警关联关系用于表征不同行锁性能参数和不同性能参数预警阈值之间的关联关系;
14.行锁等待事件确定模块,用于针对每一行锁性能参数,在该行锁性能参数超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件,并将该锁性能参数确定为目标行锁性能参数;
15.银行事务检测处理模块,用于根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务,并将所述多个银行事务加入到等待事件堆栈中;根据预设置的银行事务与事务处理方式的对应关系,依次处理所述等待事件堆栈中的每一银行事务;
16.通知信息发送模块,用于在所述等待事件堆栈中的银行事务处理结束后,发出行锁等待事件处理完毕的通知信息。
17.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述银行数据库行锁的处理方法。
18.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述银行数据库行锁的处理方法。
19.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述银行数据库行锁的处理方法。
20.本发明实施例中,检测银行数据库的行锁性能参数;所述行锁性能参数用于描述数据库参数中与行锁相关的性能参数;将每一行锁性能参数,与预设置的行锁性能预警关联关系进行匹配,得到与每一行锁性能参数对应的性能参数预警阈值;所述行锁性能预警关联关系用于表征不同行锁性能参数和不同性能参数预警阈值之间的关联关系;针对每一行锁性能参数,在该行锁性能参数超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件,并将该锁性能参数确定为目标行锁性能参数;根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务,并将所述多个银行事务加入到等待事件堆栈中;根据预设置的银行事务与事务处理方式的对应关系,依次处理所述等待事件堆栈中的每一银行事务;在所述等待事件堆栈中的银行事务处理结束后,发出行锁等待事件处理完毕的通知信息,从而可根据检测银行数据库的锁性能参数,确定银行数据库中是否出现行锁等待事件,并以等待事件堆栈对出现的行锁等待事件进行针对性处理,即可在出现行锁等待事件的初始阶段,实现对行锁的自动处理,可有效消除产生严重锁等待事件的各种潜在因素,能更早发现行锁等待事件带来的业务受损风险,从而做到在损失发
生前,规避风险或者减少风险损失,解决了现有技术下仅能对行锁等待事件进行事后处理而造成事务处理延误的问题,可实现对行锁等待事件的预警,减少了因行锁等待事件造成的损失,也提升了金融机构处理行锁等待事件的效率。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
22.图1为本发明实施例中一种银行数据库行锁的处理方法的流程示意图;
23.图2为本发明实施例中一种银行数据库行锁的处理方法的具体示例图;
24.图3为本发明实施例中一种银行数据库行锁的处理方法的具体示例图;
25.图4为本发明实施例中一种银行数据库行锁的处理装置的结构示意图;
26.图5为本发明实施例中一种银行数据库行锁的处理装置的具体示例图;
27.图6为本发明实施例中一种银行数据库行锁的处理装置的具体示例图;
28.图7为本发明实施例中用于银行数据库行锁的处理的计算机设备示意图。
具体实施方式
29.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
30.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
31.在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本技术的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
32.本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
33.本发明实施例涉及下列名词,如下进行解释:
34.行锁:数据库中的锁是保证数据被有序访问的一项必不可少的机制,行锁只对用户正在访问的行进行锁定,是一种排他锁,防止其他事务修改此行,但是不会阻止读取此行的操作。
35.行锁等待事件:是行锁这一机制在系统运行过程中附带产生的一种负面表现。本
申请中主要涉及严重超时的锁等待事件。
36.在大型金融机构的信息化建设与管理中,随着业务快速增长,各种金融业务系统频繁遭遇业务数据库的锁等待事件,其直接后果是造成金融机构业务失效或业务缓慢。目前绝大多数金融机构对于锁等待这类发生在业务源端的应用类问题,缺少高效的智能化应急处理机制,这使得应对锁等待时间的紧迫性和必要性尤为突出。
37.如下对行锁等待的典型场景进行举例说明:如事务a要update表当中的某些行记录,事务a会在这些行记录之上放置行级排他锁,这个锁允许其他事务对这些行记录进行非一致读,但不允许任何其他事务对这些行进行dml修改操作,直到事务a结束释放该独占锁。此时如果有事务试图去修改这些被锁定的行,这些事务就会被迫等待事务a结束,才能执行自己的操作。
38.目前常见的处理方案有两种:一是对于必须在业务时段执行的dml语句,在表上增加索引或建立合适的数据分区以解决锁定时间过长的问题;二是对于长事务造成的锁等待时间较长,在业务逻辑允许的情况下,在程序产生锁的语句后增加commit操作,以释放锁。
39.但上述两种方式,均是在行锁等待问题根源被找到的情况下,进行事后处理的方案。但是现在困扰金融机构的是:如何实现对行锁等待事件的预警,避免因行锁等待事件造成事务处理延误而导致的业务受损风险,以及如何在损失发生前,规避风险或者减少风险损失。而目前并不存在一种可对行锁等待事件进行预警的方案。
40.申请人经过研究发现:一部分锁等待事件与软件的代码和数据结构的质量密切相关,但是在金融系统中相当一部分锁等待事件与业务程序的质量无关,且事先几乎不可预测。比如因几个程序交互访问数据产生的锁等待事件。
41.因此,对于行锁等待这类纯应用层面的问题,金融机构需要一个长期监控、持续分析优化的治理机制,也需要有一个对于行锁等待事件的应急处理机制。因此,本发明实施例提供了一种应对行锁等待事件的应急处置机制,以保障业务健康和最小化故障时间为核心目标,包括事前早期预警、事中智能化自动诊断、事后故障智能化自动恢复。
42.进一步地,本发明实施例提供了一种银行数据库行锁的处理方法,用以实现对行锁等待事件的预警,减少因行锁等待事件造成的损失,提升金融机构处理行锁等待事件的效率,参见图1,该方法可以包括:
43.步骤101:检测银行数据库的行锁性能参数;上述行锁性能参数用于描述数据库参数中与行锁相关的性能参数;将每一行锁性能参数,与预设置的行锁性能预警关联关系进行匹配,得到与每一行锁性能参数对应的性能参数预警阈值;上述行锁性能预警关联关系用于表征不同行锁性能参数和不同性能参数预警阈值之间的关联关系;
44.步骤102:针对每一行锁性能参数,在该行锁性能参数超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件,并将该锁性能参数确定为目标行锁性能参数;
45.步骤103:根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务,并将上述多个银行事务加入到等待事件堆栈中;根据预设置的银行事务与事务处理方式的对应关系,依次处理上述等待事件堆栈中的每一银行事务;
46.步骤104:在上述等待事件堆栈中的银行事务处理结束后,发出行锁等待事件处理完毕的通知信息。
47.本发明实施例中,检测银行数据库的行锁性能参数;上述行锁性能参数用于描述数据库参数中与行锁相关的性能参数;将每一行锁性能参数,与预设置的行锁性能预警关联关系进行匹配,得到与每一行锁性能参数对应的性能参数预警阈值;上述行锁性能预警关联关系用于表征不同行锁性能参数和不同性能参数预警阈值之间的关联关系;针对每一行锁性能参数,在该行锁性能参数超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件,并将该锁性能参数确定为目标行锁性能参数;根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务,并将上述多个银行事务加入到等待事件堆栈中;根据预设置的银行事务与事务处理方式的对应关系,依次处理上述等待事件堆栈中的每一银行事务;在上述等待事件堆栈中的银行事务处理结束后,发出行锁等待事件处理完毕的通知信息,从而可根据检测银行数据库的锁性能参数,确定银行数据库中是否出现行锁等待事件,并以等待事件堆栈对出现的行锁等待事件进行针对性处理,即可在出现行锁等待事件的初始阶段,实现对行锁的自动处理,可有效消除产生严重锁等待事件的各种潜在因素,能更早发现行锁等待事件带来的业务受损风险,从而做到在损失发生前,规避风险或者减少风险损失,解决了现有技术下仅能对行锁等待事件进行事后处理而造成事务处理延误的问题,可实现对行锁等待事件的预警,减少了因行锁等待事件造成的损失,也提升了金融机构处理行锁等待事件的效率。
48.具体实施时,首先检测银行数据库的行锁性能参数;上述行锁性能参数用于描述数据库参数中与行锁相关的性能参数;将每一行锁性能参数,与预设置的行锁性能预警关联关系进行匹配,得到与每一行锁性能参数对应的性能参数预警阈值;上述行锁性能预警关联关系用于表征不同行锁性能参数和不同性能参数预警阈值之间的关联关系。
49.实施例中,针对于金融业务系统中行锁等待事件一般开始只是一些性能指标上的异常,而本发明实施例可在早期注意到这些异常征兆并发出预警,使得工作人员可尽快对行锁等待事件进行处理,如可让科技部门早于业务部门发现问题,在业务受到影响前进行介入。
50.在一个实施例中,上述行锁性能参数包括:与行锁等待相关的数据库性能计数器的数值;上述数据库性能计数器包括:application类型的等待事务的计数器;
51.在该行锁性能参数超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件,包括:
52.在上述数值超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件。
53.举一本发明可在事前监控征兆实现预警的实例:
54.在数据库层面,行锁等待事件产生的征兆通常是比较明显的。可以通过监控与锁等待相关的数据库性能计数器,例如,在oracle数据库中可以检测application类型等待的计数器,一旦发现计数器出现异常增长时,发出预警。建立数据库性能参数的预警阈值表,根据不同业务系统的业务要求确定预警值。
55.相比于现有技术下当前金融机构往往借助工具预警锁等待事件,依靠专业团队详细分析根源,这往往会引起因行锁等待事件造成事务处理延误而导致的业务受损风险。而对于金融机构期望尽快回复业务、最小化故障处理时间的诉求来说,现有技术是存在改进空间的。
56.为了解决上述问题,本发明在具体实施时,在检测银行数据库的行锁性能参数;上述行锁性能参数用于描述数据库参数中与行锁相关的性能参数;将每一行锁性能参数,与预设置的行锁性能预警关联关系进行匹配,得到与每一行锁性能参数对应的性能参数预警阈值后,针对每一行锁性能参数,在该行锁性能参数超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件,并将该锁性能参数确定为目标行锁性能参数。
57.在一个实施例中,如图2所示,还包括:
58.步骤201:在确定该银行数据库中出现事务请求的行锁等待事件时,发出银行数据库中出现行锁等待事件的告警信息。
59.在上述实施例中,通过在确定该银行数据库中出现事务请求的行锁等待事件时,发出银行数据库中出现行锁等待事件的告警信息,可协助工作人员尽快知悉出现了行锁等待事件的发生。
60.在一个实施例中,上述预设置的行锁性能预警关联关系,可为:预警阈值表。
61.而本发明实施例可在这一预警阈值表的基础上,进行行锁等待事件智能化自动处置,有助于能够尽早的发现或消除产生严重锁等待事件的各种潜在因素,在不可避免的锁等待事件发生时,能够尽快进行高效处置。
62.具体实施时,在针对每一行锁性能参数,在该行锁性能参数超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件,并将该锁性能参数确定为目标行锁性能参数后,根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务,并将上述多个银行事务加入到等待事件堆栈中;根据预设置的银行事务与事务处理方式的对应关系,依次处理上述等待事件堆栈中的每一银行事务。
63.实施例中,可实现行锁等待事件对应故障的智能化自动恢复,可在业务逻辑允许的情况下,对一部分经常发生且危害性已明确的行锁等待事件实现自动处置或自动重置。
64.在一个实施例中,根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务,如图3所示,包括:
65.步骤301:根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务中的当前阻塞事务;
66.步骤302:基于递归算法,根据上述当前阻塞事务,逐级递归确定因上述当前阻塞事务而等待处理的事务。
67.在上述实施例中,可通过检测等待计数器找到被迫等待的事务进程,分析该事务相关的业务影响参数(是否可以中断,是否可以重启等),加入等待事件堆栈。再用算法递归查看是谁在阻塞它,阻塞它的事务本身是否有被其他事务阻塞,这样一级一级递归找到所有阻塞事件分别加入堆栈,这样找到此行锁等待事件的头锁。
68.在一个实施例中,还包括:
69.以桑基图,对上述当前阻塞事务、和因上述当前阻塞事务而等待处理的事务进行展示。
70.在一个实施例中,根据预设置的银行事务与事务处理方式的对应关系,依次处理上述等待事件堆栈中的每一银行事务,包括:
71.依据上述多个银行事务放入等待事件堆栈的顺序,根据预设置的银行事务与事务
处理方式的对应关系,依次处理上述等待事件堆栈中的每一银行事务。
72.举一本发明可在事中借助算法实现快速自动溯源的实例:
73.收到行锁等待预警后,先通过检测等待计数器找到被迫等待的事务进程,分析该事务相关的业务影响参数(是否可以中断,是否可以重启等),加入等待事件堆栈。再用算法递归查看是谁在阻塞它,阻塞它的事务本身是否有被其他事务阻塞,这样一级一级递归找到所有阻塞事件分别加入堆栈,这样找到此行锁等待事件的头锁。同时通过桑基图对每次的行锁等待事件来龙去脉进行可视化全景呈现。
74.从等待事件堆栈中取出第一个行锁事务,通过等待事件处置方案库,根据业务影响参数获取相应的自动处置方案,在业务逻辑允许的情况下完成自动处置。循环从堆栈中取出下一个行锁事件判断是否已解锁,如没有解锁继续通过等待事件处置方案库获取自动处置方案进行处理,直到堆栈中所有阻塞事件都被处置。
75.在上述实施例中,上述具体对事务处理的方式,可预设置于方案库中,并可需要根据日常的处理情况不断进行补充,以及通过人工或机器学习的方式进行更新。
76.具体实施时,在根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务,并将上述多个银行事务加入到等待事件堆栈中;根据预设置的银行事务与事务处理方式的对应关系,依次处理上述等待事件堆栈中的每一银行事务后,在上述等待事件堆栈中的银行事务处理结束后,发出行锁等待事件处理完毕的通知信息。
77.在上述实施例中,可在出现行锁等待事件的初始阶段,实现对行锁的自动处理,可有效消除产生严重锁等待事件的各种潜在因素,能更早发现行锁等待事件带来的业务受损风险,从而做到在损失发生前,规避风险或者减少风险损失。
78.本发明实施例中,检测银行数据库的行锁性能参数;上述行锁性能参数用于描述数据库参数中与行锁相关的性能参数;将每一行锁性能参数,与预设置的行锁性能预警关联关系进行匹配,得到与每一行锁性能参数对应的性能参数预警阈值;上述行锁性能预警关联关系用于表征不同行锁性能参数和不同性能参数预警阈值之间的关联关系;针对每一行锁性能参数,在该行锁性能参数超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件,并将该锁性能参数确定为目标行锁性能参数;根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务,并将上述多个银行事务加入到等待事件堆栈中;根据预设置的银行事务与事务处理方式的对应关系,依次处理上述等待事件堆栈中的每一银行事务;在上述等待事件堆栈中的银行事务处理结束后,发出行锁等待事件处理完毕的通知信息,从而可根据检测银行数据库的锁性能参数,确定银行数据库中是否出现行锁等待事件,并以等待事件堆栈对出现的行锁等待事件进行针对性处理,即可在出现行锁等待事件的初始阶段,实现对行锁的自动处理,可有效消除产生严重锁等待事件的各种潜在因素,能更早发现行锁等待事件带来的业务受损风险,从而做到在损失发生前,规避风险或者减少风险损失,解决了现有技术下仅能对行锁等待事件进行事后处理而造成事务处理延误的问题,可实现对行锁等待事件的预警,减少了因行锁等待事件造成的损失,也提升了金融机构处理行锁等待事件的效率。
79.如上述,本发明实施例可通过预警阈值表、等待事件堆栈以及等待事件处置方案库进行行锁等待事件智能化自动处置,可在事中通过异常捕获就能更早的发现锁等待事件带来的业务受损风险,从而做到在损失发生前,规避风险或者减少风险损失,能够尽早的发
现或消除产生严重锁等待事件的各种潜在因素,在不可避免的锁等待事件发生时,能够尽快进行高效处置。
80.本发明实施例中还提供了一种银行数据库行锁的处理装置,如下面的实施例所表述的。由于该装置解决问题的原理与银行数据库行锁的处理方法相似,因此该装置的实施可以参见银行数据库行锁的处理方法的实施,重复之处不再赘述。
81.本发明实施例还提供一种银行数据库行锁的处理装置,用以实现对行锁等待事件的预警,减少因行锁等待事件造成的损失,提升金融机构处理行锁等待事件的效率,如图4所示,该装置包括:
82.行锁性能参数检测模块401,用于检测银行数据库的行锁性能参数;上述行锁性能参数用于描述数据库参数中与行锁相关的性能参数;将每一行锁性能参数,与预设置的行锁性能预警关联关系进行匹配,得到与每一行锁性能参数对应的性能参数预警阈值;上述行锁性能预警关联关系用于表征不同行锁性能参数和不同性能参数预警阈值之间的关联关系;
83.行锁等待事件确定模块402,用于针对每一行锁性能参数,在该行锁性能参数超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件,并将该锁性能参数确定为目标行锁性能参数;
84.银行事务检测处理模块403,用于根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务,并将上述多个银行事务加入到等待事件堆栈中;根据预设置的银行事务与事务处理方式的对应关系,依次处理上述等待事件堆栈中的每一银行事务;
85.通知信息发送模块404,用于在上述等待事件堆栈中的银行事务处理结束后,发出行锁等待事件处理完毕的通知信息。
86.在一个实施例中,上述行锁性能参数包括:与行锁等待相关的数据库性能计数器的数值;上述数据库性能计数器包括:application类型的等待事务的计数器;
87.行锁等待事件确定模块,具体用于:
88.在上述数值超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件。
89.在一个实施例中,银行事务检测处理模块,用于:
90.根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务中的当前阻塞事务;
91.基于递归算法,根据上述当前阻塞事务,逐级递归确定因上述当前阻塞事务而等待处理的事务。
92.在一个实施例中,如图5所示还包括:
93.事务展示模块501,用于:
94.以桑基图,对上述当前阻塞事务、和因上述当前阻塞事务而等待处理的事务进行展示。
95.在一个实施例中,银行事务检测处理模块,具体用于:
96.依据上述多个银行事务放入等待事件堆栈的顺序,根据预设置的银行事务与事务处理方式的对应关系,依次处理上述等待事件堆栈中的每一银行事务。
97.在一个实施例中,如图6所示,还包括:
98.告警模块601,用于:
99.在确定该银行数据库中出现事务请求的行锁等待事件时,发出银行数据库中出现行锁等待事件的告警信息。
100.下面给出一个具体实施例,来说明本发明的装置的具体应用,该实施例中,可以包括如下模块:
101.1).事前监控模块(即上述的行锁性能参数检测模块和行锁等待事件确定模块)。
102.在数据层面,通过监控与锁等待相关的指标发现异常,根据不同指标建立阈值,超出阈值发出预警。
103.2).事中分析模块(即上述的银行事务检测处理模块)。
104.收到事前监控模块发出的预警指标后定位等待事务,并进行溯源分析,找到相关的所有等待事件建立等待事件堆栈。
105.3).自动处置模块(即上述的银行事务检测处理模块)。
106.通过历史数据分析建立等待事件处置方案库,在事中分析模块的等待事件堆栈中取出头锁事件,按照业务影响智能匹配处置方案自动进行解锁处理。
107.如下本具体实施例的处理过程进行举例说明:
108.第一步、事前监控征兆实现预警。在数据库层面,行锁等待事件产生的征兆通常是比较明显的。可以通过监控与锁等待相关的数据库性能计数器,例如,在oracle数据库中可以检测application类型等待的计数器,一旦发现计数器出现异常增长时,发出预警。建立数据库性能参数的预警阈值表,根据不同业务系统的业务要求确定预警值。
109.第二步、事中借助算法实现快速自动溯源。收到行锁等待预警后,先通过检测等待计数器找到被迫等待的事务进程,分析该事务相关的业务影响参数(是否可以中断,是否可以重启等),加入等待事件堆栈。再用算法递归查看是谁在阻塞它,阻塞它的事务本身是否有被其他事务阻塞,这样一级一级递归找到所有阻塞事件分别加入堆栈,这样找到此行锁等待事件的头锁。同时通过桑基图对每次的行锁等待事件来龙去脉进行可视化全景呈现。
110.第三步、从等待事件堆栈中取出第一个行锁事务,通过等待事件处置方案库,根据业务影响参数获取相应的自动处置方案,在业务逻辑允许的情况下完成自动处置。循环从堆栈中取出下一个行锁事件判断是否已解锁,如没有解锁继续通过等待事件处置方案库获取自动处置方案进行处理,直到堆栈中所有阻塞事件都被处置。
111.第四步、行锁等待的自动处置本身在技术上不存在实现难度,关键是要能清晰界定该事件的影响和危害。因此等待事件处置方案库需要根据日常的处理情况不断进行补充,可以通过人工或及机器学习的方式更新。
112.综上,本发明实施例通过预警阈值表、等待事件堆栈以及等待事件处置方案库进行行锁等待事件智能化自动处置,能够尽早的发现或消除产生严重锁等待事件的各种潜在因素,在不可避免的锁等待事件发生时,能够尽快进行高效处置。
113.当然,可以理解的是,上述详细模块还可以有其他变化例,相关变化例均应落入本发明的保护范围。
114.本发明实施例提供一种用于实现上述银行数据库行锁的处理方法中的全部或部分内容的计算机设备的实施例所述计算机设备具体包含有如下内容:
115.处理器(processor)、存储器(memory)、通信接口(communications interface)和
总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现相关设备之间的信息传输;该计算机设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该计算机设备可以参照实施例用于实现银行数据库行锁的处理方法的实施例及用于实现银行数据库行锁的处理装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
116.图7为本技术实施例的计算机设备1000的系统构成的示意框图。如图7所示,该计算机设备1000可以包括中央处理器1001和存储器1002;存储器1002耦合到中央处理器1001。值得注意的是,该图7是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
117.一实施例中,银行数据库行锁的处理功能可以被集成到中央处理器1001中。其中,中央处理器1001可以被配置为进行如下控制:
118.检测银行数据库的行锁性能参数;所述行锁性能参数用于描述数据库参数中与行锁相关的性能参数;将每一行锁性能参数,与预设置的行锁性能预警关联关系进行匹配,得到与每一行锁性能参数对应的性能参数预警阈值;所述行锁性能预警关联关系用于表征不同行锁性能参数和不同性能参数预警阈值之间的关联关系;
119.针对每一行锁性能参数,在该行锁性能参数超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件,并将该锁性能参数确定为目标行锁性能参数;
120.根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务,并将所述多个银行事务加入到等待事件堆栈中;根据预设置的银行事务与事务处理方式的对应关系,依次处理所述等待事件堆栈中的每一银行事务;
121.在所述等待事件堆栈中的银行事务处理结束后,发出行锁等待事件处理完毕的通知信息。
122.在另一个实施方式中,银行数据库行锁的处理装置可以与中央处理器1001分开配置,例如可以将银行数据库行锁的处理装置配置为与中央处理器1001连接的芯片,通过中央处理器的控制来实现银行数据库行锁的处理功能。
123.如图7所示,该计算机设备1000还可以包括:通信模块1003、输入单元1004、音频处理器1005、显示器1006、电源1007。值得注意的是,计算机设备1000也并不是必须要包括图7中所示的所有部件;此外,计算机设备1000还可以包括图7中没有示出的部件,可以参考现有技术。
124.如图7所示,中央处理器1001有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器1001接收输入并控制计算机设备1000的各个部件的操作。
125.其中,存储器1002,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器1001可执行该存储器1002存储的该程序,以实现信息存储或处理等。
126.输入单元1004向中央处理器1001提供输入。该输入单元1004例如为按键或触摸输入装置。电源1007用于向计算机设备1000提供电力。显示器1006用于进行图像和文字等显
示对象的显示。该显示器例如可为lcd显示器,但并不限于此。
127.该存储器1002可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器1002还可以是某种其它类型的装置。存储器1002包括缓冲存储器1021(有时被称为缓冲器)。存储器1002可以包括应用/功能存储部1022,该应用/功能存储部1022用于存储应用程序和功能程序或用于通过中央处理器1001执行计算机设备1000的操作的流程。
128.存储器1002还可以包括数据存储部1023,该数据存储部1023用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由计算机设备使用的数据。存储器1002的驱动程序存储部1024可以包括计算机设备的用于通信功能和/或用于执行计算机设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
129.通信模块1003即为经由天线1008发送和接收信号的发送机/接收机1003。通信模块(发送机/接收机)1003耦合到中央处理器1001,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
130.基于不同的通信技术,在同一计算机设备中,可以设置有多个通信模块1003,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)1003还经由音频处理器1005耦合到扬声器1009和麦克风1010,以经由扬声器1009提供音频输出,并接收来自麦克风1010的音频输入,从而实现通常的电信功能。音频处理器1005可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器1005还耦合到中央处理器1001,从而使得可以通过麦克风1010能够在本机上录音,且使得可以通过扬声器1009来播放本机上存储的声音。
131.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述银行数据库行锁的处理方法。
132.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述银行数据库行锁的处理方法。
133.本发明实施例中,检测银行数据库的行锁性能参数;所述行锁性能参数用于描述数据库参数中与行锁相关的性能参数;将每一行锁性能参数,与预设置的行锁性能预警关联关系进行匹配,得到与每一行锁性能参数对应的性能参数预警阈值;所述行锁性能预警关联关系用于表征不同行锁性能参数和不同性能参数预警阈值之间的关联关系;针对每一行锁性能参数,在该行锁性能参数超过匹配的性能参数预警阈值时,确定该银行数据库中出现事务请求的行锁等待事件,并将该锁性能参数确定为目标行锁性能参数;根据该目标行锁性能参数,检测该行锁等待事件涉及的多个银行事务,并将所述多个银行事务加入到等待事件堆栈中;根据预设置的银行事务与事务处理方式的对应关系,依次处理所述等待事件堆栈中的每一银行事务;在所述等待事件堆栈中的银行事务处理结束后,发出行锁等待事件处理完毕的通知信息,从而可根据检测银行数据库的锁性能参数,确定银行数据库中是否出现行锁等待事件,并以等待事件堆栈对出现的行锁等待事件进行针对性处理,即可在出现行锁等待事件的初始阶段,实现对行锁的自动处理,可有效消除产生严重锁等待事件的各种潜在因素,能更早发现行锁等待事件带来的业务受损风险,从而做到在损失发生前,规避风险或者减少风险损失,解决了现有技术下仅能对行锁等待事件进行事后处理
而造成事务处理延误的问题,可实现对行锁等待事件的预警,减少了因行锁等待事件造成的损失,也提升了金融机构处理行锁等待事件的效率。
134.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
135.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
136.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
137.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
138.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1