【技术实现步骤摘要】
一种数据并发访问控制方法及装置、电子设备、存储介质
[0001]本申请涉及数据访问
,特别涉及一种数据并发访问控制方法及装置、电子设备、存储介质。
技术介绍
[0002]当前常用的用于商业计算场景的服务器,通常会采用多核CPU或者是使用多颗CPU,所以其都具备有多个CPU核。在这种情况下,对于数据元素的并发访问控制相对复杂。
[0003]当前主要是在特定的内存区中设置内存变量锁,然后在对数据元素进行并发访问操作时,通过对内存变量锁进行读锁状态、加锁以及解锁之类的锁操作,实现多进程和/或多线程对数据元素的并发访问控制,从而可以避免出现并发访问冲突等问题。
[0004]但是在现有的方式中,加锁操作必须强制刷新CPU缓存到内存区中,相应的,读锁状态操作必须强制从内存中读取,所以会降低CPU缓存带来的性能提升效果,从而影响服务器的性能。并且,对所有的数据操作都需要进行相应的锁操作,因此会占用大量的CPU的计算资源和总线资源,从而影响服务器的整体处理能力。
技术实现思路
[0005]基于上述现有技 ...
【技术保护点】
【技术特征摘要】
1.一种数据并发访问控制方法,其特征在于,包括:接收任意一个会话当前对目标数据元素的当前操作请求;其中,所述目标数据元素预先与其所属的数据分区对应的CPU核绑定,以通过绑定的所述CPU核的固定进程对所述目标数据元素的操作请求进行处理;基于所述当前操作请求的类型以及所述目标数据元素的操作队列中各个操作请求,控制对所述当前操作请求进行事务级并发访问。2.根据权利要求1所述的方法,其特征在于,所述基于所述当前操作请求的类型以及所述目标数据元素的操作队列中各个操作请求,控制对所述当前操作请求进行事务级并发访问,包括:若所述当前操作请求为目标操作请求,则根据所述当前操作请求的类型以及所述目标数据元素的操作队列中各个操作请求的类型,对所述当前操作请求进行处理;其中,所述目标操作请求包括只读请求、只写请求、事务中的只读请求、事务中的写请求以及事务中的为写而读请求;若所述当前操作请求为事务提交请求,则根据当前待提交事务的各个操作请求的句柄,从所述目标数据元素的操作队列中,查找出所述当前待提交事务的各个操作请求;对所述当前待提交事务的各个操作请求进行提交,并将所述当前待提交事务的各个操作请求从所述目标数据元素的操作队列中删除。3.根据权利要求2所述的方法,其特征在于,所述当前操作请求为所述只读操作,所述根据所述当前操作请求的类型以及所述目标数据元素的操作队列中各个操作请求的类型,对所述当前操作请求进行处理,包括:若所述目标数据元素的操作队列为空,则执行所述当前操作请求,并返回操作结果;若所述目标数据元素的操作队列不为空,则在所述目标数据元素的操作队列中添加所述当前操作请求;检测所述目标数据元素的操作队列中在所述当前操作请求前是否存在写操作请求,和/或为写而读操作请求;若检测出所述目标数据元素的操作队列中在所述当前操作请求前不存在写操作请求,和/或为写而读操作请求,则执行所述当前操作请求,返回操作结果,并将所述当前操作请求从所述目标数据元素的操作队列中删除;若检测出所述目标数据元素的操作队列中在所述当前操作请求前存在写操作请求,和/或为写而读操作请求,则搁置所述当前操作请求,以接收下一个操作请求,直至所述目标数据元素的操作队列中在所述当前操作请求前不再存在写操作请求,和/或为写而读操作请求时,执行所述当前操作请求,返回操作结果,并将所述当前操作请求从所述目标数据元素的操作队列中删除。4.根据权利要求2所述的方法,其特征在于,所述当前操作请求为所述只写请求,所述根据所述当前操作请求的类型以及所述目标数据元素的操作队列中各个操作请求的类型,对所述当前操作请求进行处理,包括:若所述目标数据元素的操作队列为空,则执行所述当前操作请求,并返回操作结果;若所述目标数据元素的操作队列不为空,则在所述目标数据元素的操作队列中添加所述当前操作请求;
搁置所述当前操作请求,以接收下一个操作请求,直至所述目标数据元素的操作队列的第一个操作请求为所述当前操作请求时,执行所述当前操作请求,返回操作结果,并将所述当前操作请求从所述目标数据元素的操作队列中删除。5.根据权利要求2所述的方法,其特征在于,所述当前操作请求为所述事务中的只读请求,所述根据所述当前操作请求的类型以及所述目标数据元素的操作队列中各个操作请求的类型,对所述当前操作请求进行处理,包括:若所述目标数据元素的操作队列为空或仅包括所述当前操作请求所属的会话的操作请求,则执行所述当前操作请求,并返回操作结果;在所述目标数据元素的操作队列中添加状态为已读的所述当前操作请求,并开始接收下一个操作请求;若所述目标数据元素的操作队列不为空,且包括不属于所述当前操作请求所属的会话的操作请求,则在所述目标数据元素的操作队列...
【专利技术属性】
技术研发人员:张义芳,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。