基于openGauss数据库提升TPC-B性能的方法和系统技术方案

技术编号:39248627 阅读:6 留言:0更新日期:2023-10-30 12:00
本发明专利技术涉及数据库技术领域,提供一种基于openGauss数据库提升TPC

【技术实现步骤摘要】
基于openGauss数据库提升TPC

B性能的方法和系统


[0001]本专利技术涉及数据库
,尤其涉及一种基于openGauss数据库提升TPC

B性能的方法和系统。

技术介绍

[0002]TPC

B模型是一种被广泛应用于评估数据库系统事务处理性能的基准测试模型。如OpenGauss数据库中提供的性能测试工具pgbench,可以通过配置测试脚本和参数来模拟TPC

B测试场景评估数据库在该模型风格负载下的性能。
[0003]在一些对数据安全性要求比较高的环境中,要适配硬件加密卡来实现对敏感数据的保护,如数据库的传输加密功能。目前,使用pgbench工具通过网络对数据库进行性能测试,在模拟大量客户端多线程并发连接执行测试用例时,由于各连接与服务端进行密钥协商生成各自的密钥句柄会消耗大量的硬件资源导致数据库传输加密性能劣化严重,使硬件加密的优势无法体现。
[0004]因此,如何提高一种降低客户端与服务端密钥协商的时间以提升TPC

B的性能的方法,成为亟待解决的技术问题。

技术实现思路

[0005]有鉴于此,为了克服现有技术的不足,本专利技术旨在提供一种基于openGauss数据库提升TPC

B性能的方法和系统。
[0006]根据本专利技术的第一方面,提供一种基于openGauss数据库提升TPC

B性能的方法,包括:
[0007]为并发执行的客户端加载同一份硬件加密驱动资源,在加载所述硬件加密驱动资源的过程中创建用于控制全局密钥句柄一致性的互斥锁;
[0008]在并发执行的客户端并发连接数据库服务进行密钥协商时,获取创建的互斥锁,判断全局密钥句柄是否已经生成,根据判断结果引用全局密钥句柄;
[0009]在并发执行的客户端退出与数据库服务的连接时,获取创建的互斥锁,根据全局密钥句柄引用计数销毁全局密钥句柄和互斥锁。
[0010]优选的,本专利技术基于openGauss数据库提升TPC

B性能的方法中,在并发执行的客户端并发连接数据库服务进行密钥协商时,获取创建的互斥锁,判断全局密钥句柄是否已经生成,根据判断结果引用全局密钥句柄,包括:将并发执行的客户端并发连接数据库服务进行密钥协商时首次生成的密钥句柄作为全局密钥句柄,所述全局密钥句柄由某个客户端连接数据库服务成功后生成。
[0011]优选的,本专利技术基于openGauss数据库提升TPC

B性能的方法中,在并发执行的客户端并发连接数据库服务进行密钥协商时,获取创建的互斥锁,判断全局密钥句柄是否已经生成,根据判断结果引用全局密钥句柄,包括:
[0012]获取创建的互斥锁,判断全局密钥句柄是否已经生成,当全局密钥句柄已经生成,
将全局密钥句柄的引用计数加1处理,释放获取的互斥锁;
[0013]当全局密钥句柄未生成,调用SDF_GenerateKeyWithEPK_ECC函数生成全局密钥句柄,对全局密钥句柄的引用计数加1处理,释放获取的互斥锁。
[0014]优选的,本专利技术基于openGauss数据库提升TPC

B性能的方法中,在并发执行的客户端退出与数据库服务的连接时,获取创建的互斥锁,根据全局密钥句柄引用计数销毁全局密钥句柄和互斥锁,包括:获取创建互斥锁,判断当前全局密钥句柄引用计数是否为1,若当前全局密钥句柄引用计数为1,销毁当前全局密钥句柄;若当前全局密钥句柄引用计数不为1,对所述全局密钥句柄引用计数减1处理,释放获取的互斥锁。
[0015]优选的,本专利技术基于openGauss数据库提升TPC

B性能的方法中,在并发执行的客户端退出与数据库服务的连接时,获取创建的互斥锁,根据全局密钥句柄引用计数销毁全局密钥句柄和互斥锁,包括:在释放获取的互斥锁后,判断当前全局密钥句柄引用计数是否为0,若当前全局密钥句柄引用计数为0,销毁获取的互斥锁。
[0016]根据本专利技术的第二方面,提供一种基于openGauss数据库提升TPC

B性能的系统,所述系统包括共享服务端,用于为并发执行的客户端加载同一份硬件加密驱动资源,在加载所述硬件加密驱动资源的过程中创建用于控制全局密钥句柄一致性的互斥锁;在并发执行的客户端并发连接数据库服务进行密钥协商时,获取创建的互斥锁,判断全局密钥句柄是否已经生成,根据判断结果引用全局密钥句柄;在并发执行的客户端退出与数据库服务的连接时,获取创建的互斥锁,根据全局密钥句柄引用计数销毁全局密钥句柄和互斥锁。
[0017]优选的,本专利技术基于openGauss数据库提升TPC

B性能的系统中,共享服务端包括:
[0018]硬件加密驱动资源加载模块,用于为并发执行的客户端加载同一份硬件加密驱动资源,在加载所述硬件加密驱动资源的过程中创建用于控制全局密钥句柄一致性的互斥锁;
[0019]全局密钥句柄生成和引用模块,用于在并发执行的客户端并发连接数据库服务进行密钥协商时,获取创建的互斥锁,判断全局密钥句柄是否已经生成,根据判断结果引用全局密钥句柄;
[0020]全局密钥句柄销毁模块,用于在并发执行的客户端退出与数据库服务的连接时,获取创建的互斥锁,根据全局密钥句柄引用计数销毁全局密钥句柄和互斥锁。
[0021]优选的,本专利技术基于openGauss数据库提升TPC

B性能的系统的共享服务端中,全局密钥句柄生成和引用模块具体用于:将并发执行的客户端并发连接数据库服务进行密钥协商时首次生成的密钥句柄作为全局密钥句柄,所述全局密钥句柄由某个客户端连接数据库服务成功后生成;获取创建的互斥锁,判断全局密钥句柄是否已经生成,当全局密钥句柄已经生成,将全局密钥句柄的引用计数加1处理,释放获取的互斥锁;当全局密钥句柄未生成,调用SDF_GenerateKeyWithEPK_ECC函数生成全局密钥句柄,对全局密钥句柄的引用计数加1处理,释放获取的互斥锁。
[0022]优选的,本专利技术基于openGauss数据库提升TPC

B性能的系统的共享服务端中,全局密钥句柄销毁模块具体用于:获取创建互斥锁,判断当前全局密钥句柄引用计数是否为1,若当前全局密钥句柄引用计数为1,销毁当前全局密钥句柄;若当前全局密钥句柄引用计数不为1,对所述全局密钥句柄引用计数减1处理,释放获取的互斥锁;在释放获取的互斥锁后,判断当前全局密钥句柄引用计数是否为0,若当前全局密钥句柄引用计数为0,销毁获取
的互斥锁。
[0023]根据本专利技术的第三方面,提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本专利技术第一方面所述的方法。
[0024]本专利技术基于openGauss数据库提升TPC

B性能的方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于openGauss数据库提升TPC

B性能的方法,其特征在于,所述方法包括:并发执行的客户端加载同一份硬件加密驱动资源,在加载所述硬件加密驱动资源的过程中创建用于控制全局密钥句柄一致性的互斥锁;在并发执行的客户端并发连接数据库服务进行密钥协商时,获取创建的互斥锁,判断全局密钥句柄是否已经生成,根据判断结果引用全局密钥句柄;在并发执行的客户端退出与数据库服务的连接时,获取创建的互斥锁,根据全局密钥句柄引用计数销毁全局密钥句柄和互斥锁。2.根据权利要求1所述的基于openGauss数据库提升TPC

B性能的方法,其特征在于,在并发执行的客户端并发连接数据库服务进行密钥协商时,获取创建的互斥锁,判断全局密钥句柄是否已经生成,根据判断结果引用全局密钥句柄,包括:将并发执行的客户端并发连接数据库服务进行密钥协商时首次生成的密钥句柄作为全局密钥句柄,所述全局密钥句柄由某个客户端连接数据库服务成功后生成。3.根据权利要求1所述的基于openGauss数据库提升TPC

B性能的方法,其特征在于,在并发执行的客户端并发连接数据库服务进行密钥协商时,获取创建的互斥锁,判断全局密钥句柄是否已经生成,根据判断结果引用全局密钥句柄,包括:获取创建的互斥锁,判断全局密钥句柄是否已经生成,当全局密钥句柄已经生成,将全局密钥句柄的引用计数加1处理,释放获取的互斥锁;当全局密钥句柄未生成,调用SDF_GenerateKeyWithEPK_ECC函数生成全局密钥句柄,对全局密钥句柄的引用计数加1处理,释放获取的互斥锁。4.根据权利要求1所述的基于openGauss数据库提升TPC

B性能的方法,其特征在于,在并发执行的客户端退出与数据库服务的连接时,获取创建的互斥锁,根据全局密钥句柄引用计数销毁全局密钥句柄和互斥锁,包括:获取创建互斥锁,判断当前全局密钥句柄引用计数是否为1,若当前全局密钥句柄引用计数为1,销毁当前全局密钥句柄;若当前全局密钥句柄引用计数不为1,对所述全局密钥句柄引用计数减1处理,释放获取的互斥锁。5.根据权利要求4所述的基于openGauss数据库提升TPC

B性能的方法,其特征在于,在并发执行的客户端退出与数据库服务的连接时,获取创建的互斥锁,根据全局密钥句柄引用计数销毁全局密钥句柄和互斥锁,包括:在释放获取的互斥锁后,判断当前全局密钥句柄引用计数是否为0,若当前全局密钥句柄引用计数为0,销毁获取的互斥锁。6.一种基于openGauss数据库提升TPC

B...

【专利技术属性】
技术研发人员:陈坤坤宁江
申请(专利权)人:广州海量数据库技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1