(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202210838290.1
(22)申请日 2022.07.18
(65)同一申请的已公布的文献号
申请公布号 CN 114996244 A
(43)申请公布日 2022.09.02
(73)专利权人 北京博华信 智科技股份有限公司
地址 100029 北京市朝阳区樱花园东 街5号
新化信大厦3层
(72)发明人 高晖 赵大力 李星 张栋梁
王牮
(74)专利代理 机构 北京志霖恒远知识产权代理
有限公司 1 1435
专利代理师 郭栋梁
(51)Int.Cl.
G06F 16/21(2019.01)G06F 16/23(2019.01)
G06F 9/448(2018.01)
G06F 9/46(2006.01)
(56)对比文件
CN 112463311 A,2021.0 3.09
CN 111597015 A,2020.08.28
CN 1740978 A,20 06.03.01
US 201832 9739 A1,2018.1 1.15
审查员 刘芳
(54)发明名称
实时数据库系统的控制方法、 装置、 设备及
存储介质
(57)摘要
本申请公开了一种实时数据库系统的控制
方法、 装置、 设备及存储介质, 该方法包括: 采用
两阶段锁定策略锁定数据并将待执行事务的处
理流程分为读取阶段、 等待阶段和写入阶段; 当
待执行事务处于读取阶段时, 在数据库中的副本
中对待执行事务进行数据的更改; 当待执行事务
处于等待阶段时, 根据预设的处理规则确定是否
将更改提交至数据库; 当待执行事务处于写入阶
段时, 采用优 先级继承 方式根据更改更新数据库
的待执行事务。 该方案能够消除相关事务的影
响, 并采用优 先级继承 方式更新数据库的待执行
事务, 能够避免重新启动即将 完成并处于等待或
写入阶段的事务, 减少了资源浪费和活锁的可能
性, 且适用范围广灵活性高。
权利要求书2页 说明书17页 附图5页
CN 114996244 B
2022.10.28
CN 114996244 B
1.一种实时数据库系统的控制方法, 其特 征在于, 该 方法包括:
采用两阶段锁定策略锁定数据并将待执行事务的处理流程分为读取阶段、 等待阶段和
写入阶段; 所述两阶段包括对待执 行事务中数据项的加锁阶段和解锁阶段;
当所述待执行事务处于所述读取阶段时, 在数据库中所需数据的副本中对待执行事务
进行数据的更改;
当所述待执行事务处于所述等待阶段时, 根据预设的处理规则确定是否将所述更 改提
交至数据库;
当所述待执行事务处于所述写入阶段时, 采用优先级继承方式根据所述更 改更新所述
数据库的待执 行事务;
其中, 根据预设的处 理规则确定是否将所述更改提交至数据库, 包括:
获取计数器的数值并判断所述计数器是否为零, 所述计数器为所述待执行事务在执行
之前需要结束的事务对应的计数器;
若所述计数器为 零, 将所述待执 行事务解除等待状态;
在待执行事务执行之后结束的事务集中, 检查是否从与之关联的每个事务的每个 需要
在所述事务之前 结束的事务 集中退出;
当退出时, 将所述待执行事务释放所有的读锁, 生成时间戳, 以确定将所述更改提交至
数据库, 所述时间戳用于作为写入阶段最终序列化 顺序的轮次。
2.根据权利要求1所述的方法, 其特征在于, 在数据库中的副本中对待执行事务进行数
据的更改, 包括:
向事务管理系统发送数据锁定请求, 所述数据锁定请求中携带有待执行事务的事务信
息;
事务管理系统采用预设的算法规则, 确定是否执行与 所述待执行事务对应的数据锁定
请求; 所述算法规则包括数据 锁定请求访问数据库时与其他事务存在的操作冲突和与所述
操作冲突对应的解决规则;
当确定执行所述数据锁定请求 时, 在数据库的副本 中对所述待执行事务进行数据的更
改。
3.根据权利要求1所述的方法, 其特征在于, 在判断所述计数器是否为零之后, 所述方
法还包括:
若所述计数器不为零时, 确定存在至少一个事务在进行操作, 将所述待执行事务置为
等待状态;
将所述待执行事务等待当前事务执行操作, 直至在所述待执行事务执行之前所有事务
结束操作;
将所述计数器置为零, 将所述待执行事务解除等待状态, 检查在待执行事务执行之后
结束的事务集中, 是否从与之关联的每个事务的每个必须在所述事务之前结束的事务集中
退出, 并将所述待执行事务释放所有的读锁, 生成时间戳, 以确定将所述更改提交至数据
库。
4.根据权利要求3所述的方法, 其特征在于, 采用优先级继承方式根据 所述更改更新所
述数据库的待执 行事务, 包括:
获取所述待执 行事务的时间戳和优先级;权 利 要 求 书 1/2 页
2
CN 114996244 B
2基于所述 时间戳、 优先级和所述待执行事务的更改, 向所述数据库执行写入操作, 以更
新所述数据库的事务。
5.根据权利要求4所述的方法, 其特征在于, 基于所述时间戳、 优先级和所述待执行事
务的更改, 向数据库执 行写入操作, 包括:
若当前存在历史事务正在执行写入操作且所述历史事务的优先级低于所述待执行事
务的优先级时, 将所述历史事务继承所述待执行事务的优先级, 并在所述历史事务执行写
入操作结束后, 向数据库执 行所述待执 行事务的写入操作;
若当前存在历史事务的优先级与 所述待执行事务的优先级相同时, 获取所述历史事务
的时间戳, 按照所述历史事务的时间戳和所述待执行事务的时间戳的先后顺序, 向数据库
执行所述待执 行事务的写入操作。
6.根据权利要求2所述的方法, 其特征在于, 所述待执行事务的事务信 息包括以下至少
一项: 待执行事务的优先级、 待 执行事务标识、 待 执行事务类型、 待 执行事务的执行时间、 在
待执行事务执 行之前结束的事务 集、 在待执 行事务执 行之后结束的事务 集。
7.一种实时数据库系统的控制装置, 其特 征在于, 所述装置包括:
划分模块, 用于采用两阶段锁定策略锁定数据并将待执行事务的处理流程分为读取阶
段、 等待阶段和写入阶段; 所述两阶段包括对待执 行事务中数据项的加锁阶段和解锁阶段;
读取处理模块, 用于当所述待执行事务处于所述读取阶段时, 在数据库中所需数据的
副本中对待执 行事务进行 数据的更改;
等待处理模块, 用于当所述待执行事务处于所述等待阶段时, 根据预设的处理规则确
定是否将所述更改提交至数据库;
写入处理模块, 用于当所述待执行事务处于所述写入阶段时, 采用优先级继承方式根
据所述更改更新所述数据库的待执 行事务;
所述等待处理模块, 具体用于: 获取计数器的数值并判断所述计数器是否为零, 所述计
数器为所述待执 行事务在执 行之前需要结束的事务对应的计数器;
若所述计数器为 零, 将所述待执 行事务解除等待状态;
在待执行事务执行之后结束的事务集中, 检查是否从与之关联的每个事务的每个 需要
在所述事务之前 结束的事务 集中退出;
当退出时, 将所述待执行事务释放所有的读锁, 生成时间戳, 以确定将所述更改提交至
数据库, 所述时间戳用于作为写入阶段最终序列化 顺序的轮次。
8.一种计算机设备, 包括存储器、 处理器以及存储在所述存储器中并可在所述处理器
上运行的计算机程序, 其特征在于, 所述处理器执行所述计算机程序时实现如权利要求 1‑6
任一项所述的实时数据库系统的控制方法。
9.一种计算机可读存储介质, 其上存储有计算机程序, 所述计算机程序用于实现如权
利要求1‑6任一项所述的实时数据库系统的控制方法。权 利 要 求 书 2/2 页
3
CN 114996244 B
3
专利 实时数据库系统的控制方法、装置、设备及存储介质
文档预览
中文文档
25 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共25页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:43:14上传分享