【技术实现步骤摘要】
一种数据库事务的处理方法及装置
[0001]本申请涉及数据库领域,尤其涉及一种数据库事务的处理方法及装置。
技术介绍
[0002]数据库事务的处理可以通过处理器实现。随着计算机体系结构和处理器制造工艺的发展,处理器的处理能力快速增长,主要表现在处理器的处理器核和硬件线程的数量增长。显然,处理器处理数据库事务的能力也越来越强。
[0003]然而,目前数据库管理系统处理数据库事务时,常出现性能瓶颈。虽然处理器提供了较强的处理能力,却难以充分利用。因此,目前处理器的利用率较低是一个亟待解决的问题。
技术实现思路
[0004]本申请提供一种数据库事务的处理方法及装置,用于提升处理器的利用率。
[0005]第一方面,本申请提供一种数据库事务的处理方法,该方法可以由本申请提供的数据库事务的处理装置执行,该数据库事务的处理装置可以为本申请提供的电子设备,该方法包括:
[0006]获取待处理的数据库事务;对所述待处理的数据库事务进行编译,得到所述待处理的数据库事务的编译结果,所述编译结果包括可执行的代 ...
【技术保护点】
【技术特征摘要】
1.一种数据库事务的处理方法,其特征在于,包括:获取待处理的数据库事务;对所述待处理的数据库事务进行编译,得到所述待处理的数据库事务的编译结果,所述编译结果包括可执行的代码或中间代码,所述中间代码用于编译为所述可执行的代码;执行所述待处理的数据库事务的编译结果。2.如权利要求1所述的方法,其特征在于,所述对待处理的数据库事务进行编译,包括:对多个待处理的数据库事务并行编译,所述多个待处理的数据库事务被编译为可执行的代码,或者被编译为中间代码,或者所述多个待处理的数据库事务中的部分数据库事务被编译为可执行的代码、部分数据库事务被编译为中间代码。3.如权利要求2所述的方法,其特征在于,所述多个待处理的数据库事务中包括第一数据库事务和第二数据库事务,所述第一数据库事务和所述第二数据库事务编译所需访问的数据访问信息相同,所述方法还包括:将所述第一数据库事务和所述第二数据库事务编译所需访问的数据访问信息复制为两份,得到第一数据访问信息和第二数据访问信息;所述对多个待处理的数据库事务并行编译,包括:根据所述第一数据访问信息对所述第一数据库事务进行编译,且并行根据所述第二数据访问信息对所述第二数据库事务进行编译。4.如权利要求1
‑
3任一项所述的方法,其特征在于,所述对待处理的数据库事务进行编译,包括:基于第一计算资源,对所述待处理的数据库事务进行编译;所述执行所述待处理的数据库事务的编译结果,包括:基于第二计算资源,执行所述待处理的数据库事务的编译结果;其中,所述第一计算资源和所述第二计算资源分别包括至少一个处理器核,所述第一计算资源和所述第二计算资源包括的处理器核属于同一处理器。5.如权利要求4所述的方法,其特征在于,所述方法还包括:对编译的操作进行统计,得到事务编译统计信息;根据所述事务编译统计信息,调整所述第一计算资源和/或所述第二计算资源中包括的处理器核数量;或者对执行的操作进行统计,得到事务执行统计信息;根据所述事务执行统计信息,调整所述第一计算资源和/或所述第二计算资源中包括的处理器核数量;或者对所述编译的操作进行统计,得到事务编译统计信息,对所述执行的操作进行统计,得到事务执行统计信息;根据所述事务编译统计信息和所述事务执行统计信息,调整所述第一计算资源和/或所述第二计算资源中包括的处理器核数量。6.如权利要求5所述的方法,其特征在于,所述事务编译统计信息包括所述编译的操作的编译频率,所述事务执行统计信息包括所述执行的操作发生冲突的频率;所述根据所述事务编译统计信息,调整所述第一计算资源和/或所述第二计算资源中包括的处理器核数量,包括:若所述事务编译统计信息中所述编译的操作的编译频率大于第一阈值,则减少所述第一计算资源中的处理器核数量,和\或增加所述第二计算资源中的处理器核数量;所述根据所述事务执行统计信息,调整所述第一计算资源和/或所述第二计算资源中
包括的处理器核数量,包括:若所述事务执行统计信息中所述执行的操作发生冲突的频率大于第二阈值,则减少所述第一计算资源中的处理器核数量,和\或减少所述第二计算资源中的处理器核数量;所述根据所述事务编译统计信息和所述事务执行统计信息,调整所述第一计算资源和/或所述第二计算资源中包括的处理器核数量,包括:若所述事务编译统计信息中所述编译的操作的编译频率大于所述第一阈值,且所述事务执行统计信息中所述执行的操作发生冲突的频率小于所述第二阈值,则减少所述第一计算资源中的处理器核数量,和\或增加所述第二计算资源中的处理器核数量。7.如权利要求1
‑
6任一项所述的方法,其特征在于,所述对所述待处理的数据库事务进行编译,得到所述待处理的数据库事务的编译结果之后,所述方法还包括:将所述待处理的数据库事务的编译结果存入缓存队列;所述执行所述待处理的数据库事务的编译结果,包括:从所述缓存队列中获取待处理的数据库事务的编译结果,执行获取到的所述待处理的数据库事务的编译结果。8.如权利要求7所述的方法,其特征在于,所述方法还包括:对所述缓存队列中数据库事务的编译结果的数量和/或等待时间进行统计,得到排队统计信息;根据所述排队统计信息,调整所述第一计算资源和/或所述第二计算资源中包括的处理器核数量。9.如权利要求8所述的方法,其特征在于,所述根据所述排队统计信息,调整所述第一计算资源和/或所述第二计算资源中包括的处理器核数量,包括:若所述缓存队列中数据库事务的编译结果的数量大于第三阈值,和\或所述缓存队列中数据库事务的等待时间大于第四阈值,则减少所述第一计算资源中包括的处理器核数量,和\或增加所述第二计算资源中包括的处理器核数量。10.如权利要求1至9任一项所述的方法,其特征在于,所述对待处理的数据库事务进行编译,包括:根据所述待处理事务包括的结构化查询语言SQL语句,获取与所述待处理的数据库事务匹配的编译模板;根据所述编译模板,对所述待处理的数据库事务进行编译。11.如权利要求10所述的方法,其特征在于,所述根据所述待处理事务包括的结构化查询语言SQL语句,获取与所述待处理的数据库事务匹配的编译模板,包括:若所述待处理的数据库事务包括的所有SQL语句的类型,与第一事务型模板对应的所有SQL语句的类型相同,则将所述第一事务型模板确定为与所述待处理的数据库事务匹配的编译模板;否则,若所述待处理的数据库事务包括的第一SQL语句的类型,与第一SQL语句模板对应的SQL语句类型相同,则将所述第一SQL语句模板确定为与所述待处理的数据库事务匹配的编译模板;其中,所述第一SQL语句为所述待处理的数据库事务包括的所有SQL语句中的任意一个。12.如权利要求10或11所述的方法,其特征在于,所述根据所述编译模板,对所述待处
理的数据库事务进行编译,包括:获取所述编译模板对应的可执行的代码,所述编译模板对应的可执行的代码中包括待替换的变量;获取所述待处理的数据库事务中包含的与所述变量匹配的参数,并用所述...
【专利技术属性】
技术研发人员:陈世敏,吴佳成,马文龙,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。