[发明专利]一种数据库系统及数据库访问方法有效
申请号: | 201711271123.9 | 申请日: | 2017-12-05 |
公开(公告)号: | CN110019468B | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 郭志建;朱建峰;智雅楠 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F9/46 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 系统 访问 方法 | ||
1.一种数据库系统,其特征在于,包括:结构化查询语言SQL引擎、自适应模块和事务管理模块;其中,所述自适应模块包括切换单元和并发控制选择单元;所述事务管理模块包括第一并发控制单元;
所述SQL引擎,用于接收第一事务,所述第一事务包括相对应的第一数据;
所述切换单元,用于确定第一数据段的热度;所述第一数据段为在执行第一事务时第一数据所落入的数据库数据段,所述第一数据段的热度为第一数据段历史上单位时间内取消的事务数占所有操作的事务数的比例;
所述并发控制选择单元,当第一数据段的热度大于第一阈值时,选择第一并发控制单元;所述第一并发控制单元,用于确定是否存在第二事务,当不存在第二事务时,执行所述第一事务;其中,所述第一事务所读取数据为所述第二事务所写入数据,所述第二事务写入所述数据的时间晚于所述第一事务读取所述数据的时间。
2.根据权利要求1所述的系统,其特征在于,所述第一并发控制单元,还用于:
当存在所述第二事务,且不存在第三事务时,执行所述第一事务,其中,所述第一事务所读取数据为所述第三事务所写入数据,所述第三事务写入所述数据的时间早于所述第一事务读取所述数据的时间。
3.根据权利要求1所述的系统,其特征在于,所述第一并发控制单元,还用于:
当存在所述第二事务和第三事务时,取消所述第一事务,其中,所述第一事务所读取数据为所述第三事务所写入数据,所述第三事务写入所述数据的时间早于所述第一事务读取所述数据的时间。
4.根据权利要求1所述的系统,其特征在于,所述事务管理模块还包括第二并发控制单元;
所述并发控制选择单元还用于,当所述第一数据段的热度大于第二阈值时,选择第二并发控制单元;所述第二并发控制单元,采用乐观并发控制方法执行第一事务;其中,所述第二阈值小于或等于所述第一阈值。
5.根据权利要求1所述的系统,其特征在于,所述第一事务还包括与第一事务对应的第二数据,第二数据段为在执行第一事务时第二数据所落入的数据库数据段,所述第一数据段与所述第二数据段不同;
所述切换单元,具体用于:确定所述第二数据段的热度。
6.根据权利要求1所述的系统,其特征在于,所述第一事务还包括与所述第一事务对应的第三数据,第三数据段为在执行第一事务时第三数据所落入的数据库数据段;
所述切换单元,具体用于:确定所述第一数据段和所述第三数据段整体的热度。
7.根据权利要求1-6任一项所述的系统,其特征在于,切换单元,还用于:
更新所述第一数据段的热度。
8.根据权利要求1所述的系统,其特征在于,所述系统还包括自定义数据集模块:所述自定义数据集模块,用于确定所述第一数据是否落入预设的第一数据集。
9.根据权利要求8所述的系统,其特征在于,所述自定义数据集模块,还用于:
当所述第一数据未落入所述预设的第一数据集,且所述第一数据段的热度大于所述第一阈值时,确定所述第一数据是否落入预设的第二数据集。
10.一种数据库系统,其特征在于,包括:SQL引擎、自定义数据集模块和事务管理模块;其中,所述事务管理模块包括第一并发控制单元;
SQL引擎,用于接收第一事务,所述第一事务包括第一数据;
所述自定义数据集模块,用于确定所述第一数据是否落入预设的第一数据集;
当所述第一数据落入所述预设的第一数据集时,所述第一并发控制单元,用于确定是否存在第二事务,当不存在第二事务时,执行所述第一事务;其中,所述第一事务所读取数据为所述第二事务所写入数据,所述第二事务写入所述数据的时间晚于所述第一事务读取所述数据的时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711271123.9/1.html,转载请声明来源钻瓜专利网。