并发访问控制方式的确定方法及装置制造方法及图纸

技术编号:38921442 阅读:13 留言:0更新日期:2023-09-25 09:32
本公开提供了一种并发访问控制方式的确定方法、装置、设备及存储介质,可以应用于图数据库技术领域和金融技术领域。该方法包括:基于上一周期得到的第一冲突率统计表,对图数据库中的每个数据项进行并发访问控制方式的转换,确定本周期内与每个数据项对应的并发访问控制方式;根据与每个数据项对应的并发访问控制方式,确定与每个数据项对应的读取策略和更新策略;针对本周期内的每个事务,基于与每个数据项对应的读取策略和更新策略,并发执行每个事务中的数据项,直至本周期达到预定周期时长;统计本周期内每个数据项在每个事务执行过程中的冲突次数,得到本周期的第二冲突率统计表,以使得将第二冲突率统计表用于下一周期。以使得将第二冲突率统计表用于下一周期。以使得将第二冲突率统计表用于下一周期。

【技术实现步骤摘要】
并发访问控制方式的确定方法及装置


[0001]本公开涉及图数据库
和金融
,尤其涉及一种并发访问控制方式的确定方法、装置、设备、介质和程序产品。

技术介绍

[0002]在针对图数据库的事务并发执行的情况下,会导致多种数据异常,产生数据不一致现象。事务调度是解决数据异常,保证数据一致性的关键,而并发访问控制方式又是事务调度的核心。相关技术中,大部分图数据库依然采用传统关系型数据库的并发访问控制方式,虽然能够保证数据的一致性,但是没有针对图数据库的特点做出优化,导致图数据库的事务吞吐量较低。
[0003]因此,如何在保证图数据库数据一致的情况下,尽可能提高图数据库的事务吞吐量是相关技术中需要解决的技术问题。

技术实现思路

[0004]鉴于上述问题,本公开提供了一种并发访问控制方式的确定方法、装置、设备、介质和程序产品。
[0005]根据本公开的第一个方面,提供了一种并发访问控制方式的确定方法,包括:
[0006]基于上一周期得到的第一冲突率统计表,对图数据库中的每个数据项进行并发访问控制方式的转换,确定本周期内与上述每个数据项对应的并发访问控制方式;
[0007]根据与上述每个数据项对应的并发访问控制方式,确定与上述每个数据项对应的读取策略和更新策略;
[0008]针对本周期内的每个事务,基于与上述每个数据项对应的读取策略和更新策略,并发执行上述每个事务中的数据项,直至上述本周期达到预定周期时长;
[0009]统计本周期内上述每个数据项在上述每个事务执行过程中的冲突次数,得到本周期的第二冲突率统计表,以使得将上述第二冲突率统计表用于下一周期对上述每个数据项的并发访问控制方式进行重新调整。
[0010]根据本公开的实施例,上述基于上一周期得到的第一冲突率统计表,对图数据库中的每个数据项进行并发访问控制方式的转换,确定本周期内与上述每个数据项对应的并发访问控制方式,包括:
[0011]针对上述图数据库中的每个数据项,基于上述数据项的冲突率和目标阈值,确定与上述每个数据项对应的转换策略;
[0012]确定上述每个数据项的转换节点;
[0013]在上述转换节点按照上述转换策略,对上述图数据库中的每个数据项进行并发访问控制方式的转换,确定本周期内与上述每个数据项对应的并发访问控制方式。
[0014]根据本公开的实施例,上述确定上述每个数据项的转换节点,包括:
[0015]在上述转换策略表征对上述数据项由乐观并发访问控制方式转换为悲观并发访
问控制方式的情况下,检测上述每个事务的写集中上述数据项的存在情况;
[0016]在上述数据项存在于至少一个上述事务各自的写集中的情况下,将上述至少一个事务各自的写集中的上述数据项释放时刻确定为上述转换节点;
[0017]在上述数据项不存在于上述每个事务的写集中的情况下,将当前时刻确定为上述转换节点。
[0018]根据本公开的实施例,上述并发访问控制方式的确定方法还包括:
[0019]在上述转换策略表征对上述数据项由悲观并发访问控制方式转换为乐观并发访问控制方式的情况下,检测上述数据项的加写锁情况;
[0020]在上述数据项未被加写锁的情况下,将当前时刻确定为上述转换节点;
[0021]在上述数据项被加写锁的情况下,将对上述数据项加写锁的上述至少一个事务的写锁集中的上述数据项释放写锁时刻确定为上述转换节点。
[0022]根据本公开的实施例,上述针对本周期内的每个事务,基于与上述每个数据项对应的读取策略和更新策略,并发执行上述每个事务中的数据项,直至上述本周期达到预定周期时长,包括:
[0023]针对上述每个事务的每次执行操作,按照与上述事务中的每个数据项对应的上述读取策略和上述更新策略处理上述数据项,得到与上述事务对应的目标集合;
[0024]在验证结果表征验证通过的情况下,将与上述目标集合中的写集中的每个数据项对应的数据存入数据库中,其中,上述验证结果是通过对上述目标集合中的写集进行验证操作得到的;
[0025]在上述目标集合中写锁集中的每个数据项均释放锁的情况下,将与上述目标集合中的写锁集中的上述每个数据项对应的数据存入上述数据库中;
[0026]在将与上述目标集合中的写集和写锁集中的上述每个数据项对应的数据存入上述数据库之后,清除上述目标集合并释放上述事务持有的写锁。
[0027]根据本公开的实施例,上述针对上述每个事务的每次执行操作,按照与上述事务中的每个数据项对应的上述读取策略和上述更新策略处理上述数据项,得到与上述事务对应的目标集合,包括:
[0028]针对上述事务中的每个数据项,确定上述数据项的类型;
[0029]在确定上述数据项的类型表征上述图数据库中的顶点的情况下,将上述数据项作为目标数据项;
[0030]在上述目标数据项的并发访问控制方式表征乐观并发访问控制方式的情况下,按照与上述目标数据项对应的上述读取策略,对上述目标数据项进行读取操作,将上述目标数据项加入到上述事务的读集中;
[0031]在与上述目标数据项对应的数据需要更新的情况下,按照与上述目标数据项对应的上述更新策略,对与读取后的目标数据项对应的数据进行更新操作,并将目标数据项加入到上述事务的写集中;
[0032]在上述目标数据项的并发访问控制方式表征悲观并发控制访问方式的情况下,按照与上述目标数据项对应的上述读取策略,对上述目标数据项进行读取操作,将加读锁后的上述目标数据项加入上述事务的读锁集中;
[0033]在与上述目标数据项对应的数据需要更新的情况下,对与读取后的目标数据项对
应的数据进行更新操作,并将加写锁后的上述目标数据项加入上述事务的写锁集中;
[0034]基于上述写集、上述读集、上述读锁集和上述写锁集,生成上述目标集合。
[0035]根据本公开的实施例,上述针对上述每个事务的每次执行操作,按照与上述事务中的每个数据项对应的上述读取策略和上述更新策略处理上述数据项,得到与上述事务对应的目标集合,还包括:
[0036]在确定上述数据项的类型表征上述图数据库中的边的情况下,将上述数据项、与上述数据项对应的第一数据项和第二数据项均作为上述目标数据项,按照与上述目标数据项对应的上述读取策略和上述更新策略处理上述目标数据项,其中,上述第一数据项表征上述数据项的边起始顶点,上述第二数据项表征上述数据项的终止顶点。
[0037]根据本公开的实施例,上述统计本周期内上述每个数据项在上述每个事务执行过程中的冲突次数,得到本周期的第二冲突率统计表,以使得将上述第二冲突率统计表用于下一周期对上述每个数据项的并发访问控制方式进行重新调整,包括:
[0038]针对本周期内的上述每个数据项,在上述数据项采用悲观并发访问控制公式且对上述数据项进行加锁操作出现等待现象的情况下,将上述数据项的冲突次数增加1;
[0039]在上述数据项采用乐观并发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种并发访问控制方式的确定方法,包括:基于上一周期得到的第一冲突率统计表,对图数据库中的每个数据项进行并发访问控制方式的转换,确定本周期内与所述每个数据项对应的并发访问控制方式;根据与所述每个数据项对应的并发访问控制方式,确定与所述每个数据项对应的读取策略和更新策略;针对本周期内的每个事务,基于与所述每个数据项对应的读取策略和更新策略,并发执行所述每个事务中的数据项,直至所述本周期达到预定周期时长;统计本周期内所述每个数据项在所述每个事务执行过程中的冲突次数,得到本周期的第二冲突率统计表,以使得将所述第二冲突率统计表用于下一周期对所述每个数据项的并发访问控制方式进行重新调整。2.根据权利要求1所述的方法,其中,所述基于上一周期得到的第一冲突率统计表,对图数据库中的每个数据项进行并发访问控制方式的转换,确定本周期内与所述每个数据项对应的并发访问控制方式,包括:针对所述图数据库中的每个数据项,基于所述数据项的冲突率和目标阈值,确定与所述每个数据项对应的转换策略;确定所述每个数据项的转换节点;在所述转换节点按照所述转换策略,对所述图数据库中的每个数据项进行并发访问控制方式的转换,确定本周期内与所述每个数据项对应的并发访问控制方式。3.根据权利要求2所述的方法,其中,所述确定所述每个数据项的转换节点,包括:在所述转换策略表征对所述数据项由乐观并发访问控制方式转换为悲观并发访问控制方式的情况下,检测所述每个事务的写集中所述数据项的存在情况;在所述数据项存在于至少一个所述事务各自的写集中的情况下,将所述至少一个事务各自的写集中的所述数据项释放时刻确定为所述转换节点;在所述数据项不存在于所述每个事务的写集中的情况下,将当前时刻确定为所述转换节点。4.根据权利要求3所述的方法,还包括:在所述转换策略表征对所述数据项由悲观并发访问控制方式转换为乐观并发访问控制方式的情况下,检测所述数据项的加写锁情况;在所述数据项未被加写锁的情况下,将当前时刻确定为所述转换节点;在所述数据项被加写锁的情况下,将对所述数据项加写锁的所述至少一个事务的写锁集中的所述数据项释放写锁时刻确定为所述转换节点。5.根据权利要求1所述的方法,其中,所述针对本周期内的每个事务,基于与所述每个数据项对应的读取策略和更新策略,并发执行所述每个事务中的数据项,直至所述本周期达到预定周期时长,包括:针对所述每个事务的每次执行操作,按照与所述事务中的每个数据项对应的所述读取策略和所述更新策略处理所述数据项,得到与所述事务对应的目标集合;在验证结果表征验证通过的情况下,将与所述目标集合中的写集中的每个数据项对应的数据存入数据库中,其中,所述验证结果是通过对所述目标集合中的写集进行验证操作得到的;
在所述目标集合中写锁集中的每个数据项均释放锁的情况下,将与所述目标集合中的写锁集中的所述每个数据项对应的数据存入所述数据库中;在将与所述目标集合中的写集和写锁集中的所述每个数据项对应的数据存入所述数据库之后,清除所述目标集合并释放所述事务持有的写锁。6.根据权利要求5所述的方法,其中,所述针对所述每个事务的每次执行操作,按照与所述事务中的每个数据项对应的所述读取策略和所述更新策略处理所述数据项,得到与所述事务对应的目标集合,包括:针对所述事务中的每个数据项,确定所述数据项的类型;在确定所述数据项的类型表征所述图数据库中的顶点的情况下,将所述数据项作为目标数据项;在所述目标...

【专利技术属性】
技术研发人员:王童童任政赵叶红沈震宇
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1