一种交易处理中的数据库操作超时处理方法和装置制造方法

文档序号:6488916阅读:151来源:国知局
一种交易处理中的数据库操作超时处理方法和装置制造方法
【专利摘要】本发明公开一种交易处理中的数据库操作超时处理方法和装置。方法包括:对一笔交易处理的数据库操作进行计时,当该笔交易处理的数据库操作时间超出预置时间时,在指定的时间内,会进行中断处理,并根据预先设定的策略,选择进入下一笔交易处理的数据库操作或选择进入故障交易处理或选择退出与该超出预置时间的数据库操作对应的应用。
【专利说明】一种交易处理中的数据库操作超时处理方法和装置
【技术领域】
[0001]本发明涉及金融电信IT系统的交易处理机制,并且尤其涉及交易处理中的数据库操作超时处理方法和装置。
【背景技术】
[0002]对任何一个金融电信IT系统来说,交易的连续、稳定、高效是衡量其性能的重要指标。现代金融电信的核心系统都需要借助大型数据库来实现交易处理。大型数据库往往比较稳定,交易在绝大部分情况下是可以被正常处理。尽管如此,当数据库操作超时,如果不及时处理会导致交易大量堆积,进而影响到后续的交易处理。
[0003][0003]现有技术中的金融电信IT系统不具备处理上述这类异常的能力,一旦发生了这类故障,在交易量巨大的情况下,往往会产生雪崩效应。常见的处理方法是使系统暂停对外服务,等故障处理完毕后再开启服务。然而,在这种情况下,超时交易持续积累,到达一定量时会导致系统崩溃,而且暂停对外服务会大幅降低用户的体验。

【发明内容】

[0004]根据本发明的一个目的,公开一种交易处理中的数据库操作超时处理方法,该方法包括:
对一笔交易处理的数据库操作进行计时,
当该笔交易处理的数据库操作时间超出预置时间时,中断该操作,生成错误报告,以及执行预先设定的策略。
[0005]优选地,所述预先设定的策略是在指定的时间内,选择进入下一笔交易处理的数据库操作。
[0006]优选地,所述预先设定的策略是选择进行故障交易处理。
[0007]优选地,所述预先设定的策略是退出与该超出预置时间的数据库操作对应的应用。
[0008]优选地,通过在一笔交易处理的数据库操作的前后设置超时监测模块来进行计时。
[0009]根据本发明的另一个目的,公开一种交易处理中的数据库操作超时处理装置,该装置包括计时模块和超时控制模块,
所述计时模块用于对一笔交易处理的数据库操作进行计时,
所述超时控制模块被配置成:
当该笔交易处理的数据库操作时间超出预置时间时,中断该操作,生成错误报告,执行预先设定的策略。
[0010]优选地,所述执行预先设定的策略是在指定的时间内,选择进入下一笔交易处理的数据库操作。
[0011]优选地,所述执行预先设定的策略是生成错误报告,选择进行故障交易处理。[0012]优选地,所述执行预先设定的策略是选择退出与该超出预置时间的数据库操作对应的应用。
[0013]优选地,所述计时模块包括超时监测模块,其中,
所述超时监测模块被设置在所述一笔交易处理的数据库操作的前后来进行计时。
[0014]根据本发明的另一个目的,公开一种金融电信IT系统,包括应用服务器和数据库服务器,所述数据库服务器包括上述的数据库操作超时处理装置。
[0015]本发明的一个优势在于,通过在交易处理的过程中嵌入超时监测机制,在第一时间捕捉并处理数据库的超时异常,避免交易的大量堆积,同时能够尽快地进行这类异常的处理。
[0016]本发明的另一个优势在于,根据本发明的一个或多个特点,提高了系统的内部性能,增强了系统的健壮性,提高了系统的高可用能力。在不影响正常交易的前提下,避免发生超时交易的大量堆积、避免中断对外服务,从而更好的保障交易的持续、稳定与高效。
【专利附图】

【附图说明】
[0017]在参照附图阅读了本发明的【具体实施方式】以后,本领域技术人员将会更清楚地了解本发明的各个方面。本领域技术人员应当理解的是,这些附图仅仅用于配合【具体实施方式】说明本发明的技术方案,而并非意在对本发明的保护范围构成限制。
[0018]图1是传统交易处理流程的示意图。
[0019]图2是根据本发明的一个特定实施例的交易处理中的数据库操作超时处理方法示意图。
[0020]图3是根据本发明实施例的交易处理中的数据库操作超时处理装置结构示意图。
[0021]图4是根据本发明实施例的交易处理中的数据库操作超时处理方法步骤示意图。
【具体实施方式】
[0022]下面参照附图,对本发明的【具体实施方式】作进一步的详细描述。在下面的描述中,为了解释的目的,陈述许多具体细节以便提供对实施例的一个或多个方面的透彻理解。然而,对于本领域技术人员可以显而易见的是,可以这些具体细节的较少程度来实践各实施例的一个或多个方面。因此下面的描述不被视为局限性的,而是通过所附权利要求来限定保护范围。另外,尽管可以仅关于若干实施方式中的一个公开了实施例的特定特征或方面,但可针对任何给定的或特定的应用所期望和有利的那样,这种特征或方面可与其他实施方式的一种或多个其他特征或方面相组合。
[0023]现参考图1,图1是传统交易处理流程的示意图。如图所示,在数据库环境初始化后,进入服务处理等待。在接收到交易服务请求后开始进行交易处理,处理每笔交易时,需要进行数据库操作(本文省略了与交易处理相关的业务逻辑的部分,因其与本发明的主题并不紧密相关),一笔交易的数据库操作完成后(这里略去其他非数据库操作的描述)结束本次服务,再次进入服务处理等待,直到接收到下一笔交易,重复上述过程。然而,在服务过程中,一旦对于其中一笔交易的数据库操作发生超时,整个服务就会“挂”在数据库操作这个“点”上,进入服务挂起状态,导致无法处理下一笔交易,继而造成后续的交易持续堆积,甚至使整个系统瘫痪。[0024]图2是根据本发明的一个特定实施例的交易处理中的数据库操作超时处理方法示意图。如图所示,在该实施例中对数据库操作进行计时,在数据库操作操作前打开计时,在操作完成后关闭计时。当进入下一次据库操作时,重复上述过程。在对数据库计时过程中,判断当前数据库操作的时间流逝,当超出预置时间时,服务进入中断操作,生成错误报告,根据配置的策略,可选择跳出当前交易,继续处理下一笔交易,或可选择进行故障交易处理,还可以选择退出与该超出预置时间的数据库操作对应的应用。如图所示,在该特定示例中,首先,中断该超出预置时间的数据库操作,然后,生成错误报告,最后,根据预定处理策略进行后续处理。本发明的一个优势在于,当数据库操作超时,可以选择继续处理下一笔交易,对外服务仍然可用,不会停止或者等待。
[0025]图3是根据本发明实施例的交易处理中的数据库操作超时处理装置结构示意图。如图所示,该装置包括计时模块和超时控制模块。计时模块用于对一笔交易处理的数据库操作进行计时。超时控制模块被配置成,当该笔交易处理的数据库操作时间超出预置时间时,在指定的时间内,可选择进入下一笔交易处理的数据库操作或可选择进行故障交易处理,还可以选择退出与该超出预置时间的数据库操作对应的应用。在一个或多个示例中,上述预置时间和指定时间可以作为超时控制参数,在数据库初始化时从配置文件被读取,或者超时控制参数也可以被直接配置在超时控制模块中。在一个或多个示例中,计时模块可以是进程级的定时器,或者计时模块也可以是数据库产品级的超时机制,或者是两者的统一。在一个或多个示例中,计时模块可以包括超时监测模块,超时监测模块被设置在所述一笔交易处理的数据库操作的前后来进行计时。例如,超时检测模块可以被嵌入到交易处理模块中的具体数据库操作之前,作为时间计算的起点,以及被嵌入到交易处理模块中的具体数据库操作之后,作为时间计算的终点,在此范围外,超时检测模块将不起作用,不会影响该交易的其他非数据库操作处理逻辑。
[0026]在另一实施例中,所述超时控制模块还被配置成,当该一笔交易处理的数据库操作时间超出预置时间时,还进行故障交易处理。在故障交易处理被触发后,可以进入预先设定的故障交易处理流程,预先设定的处理流程可以是启用备库、切换系统、进程重启、故障排查等。在一个例子中,故障交易处理包括启用备份数据库,将所有应用切换到备份数据库上,此后交易将在备份数据库上得以处理。根据本发明的数据库操作超时处理装置可以被设置在包括应用服务器和数据库服务器的任何金融电信IT系统的数据库服务器中。
[0027]图4是根据本发明实施例的交易处理中的数据库操作超时处理方法步骤示意图。如图所示,方法包括两个步骤。
[0028]在第一个步骤中,对一笔交易处理的数据库操作进行计时,
在第二个步骤中,当该笔交易处理的数据库操作时间超出预置时间时,中断该操作,生成错误报告,执行预先设定的策略。
[0029]可选地,在第二个步骤中,所述执行预先设定的策略是在指定的时间内,选择进入下一笔交易处理的数据库操作。
[0030]可选地,在第二个步骤中,所述执行预先设定的策略是生成错误报告,选择进行故障交易处理。
[0031]可选地,在第二个步骤中,所述执行预先设定的策略是选择退出与该超出预置时间的数据库操作对应的应用。[0032]通过以上实施方式的描述,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的【具体实施方式】作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
【权利要求】
1.一种交易处理中的数据库操作超时处理方法,其特征在于,该方法包括: 对一笔交易处理的数据库操作进行计时, 当该笔交易处理的数据库操作时间超出预置时间时,中断该操作,生成错误报告,以及执行预先设定的策略。
2.如权利要求1所述的方法,其特征在于,所述预先设定的策略是在指定的时间内,选择进入下一笔交易处理的数据库操作。
3.如权利要求1所述的方法,其特征在于, 所述预先设定的策略是选择进行故障交易处理。
4.如权利要求1所述的方法,其特征在于, 所述预先设定的策略是退出与该超出预置时间的数据库操作对应的应用。
5.如权利要求1所述的方法,其特征在于, 通过在一笔交易处理的数据库操作的前后设置超时监测模块来进行计时。
6.一种交易处理中的数据库操作超时处理装置,其特征在于, 该装置包括计时模块和超时控制模块, 所述计时模块用于对一笔交易处理的数据库操作进行计时, 所述超时控制模块被配置成: 当该笔交易处理的数据库操作时间超出预置时间时,中断该操作,生成错误报告,执行预先设定的策略。
7.如权利要求6所述的装置,其特征在于, 所述执行预先设定的策略是在指定的时间内,选择进入下一笔交易处理的数据库操作。
8.如权利要求6所述的装置,其特征在于, 所述执行预先设定的策略是生成错误报告,选择进行故障交易处理。
9.如权利要求6所述的装置,其特征在于,所述执行预先设定的策略是选择退出与该超出预置时间的数据库操作对应的应用。
10.如权利要求6所述的装置,其特征在于, 所述计时模块包括超时监测模块,其中, 所述超时监测模块被设置在所述一笔交易处理的数据库操作的前后来进行计时。
11.一种金融电信IT系统,包括应用服务器和数据库服务器,其特征在于,所述数据库服务器包括如权利要求6-10所述的数据库操作超时处理装置。
【文档编号】G06F11/07GK103678020SQ201210346018
【公开日】2014年3月26日 申请日期:2012年9月18日 优先权日:2012年9月18日
【发明者】茅毓铭, 杨燕明 申请人:中国银联股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1