System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据库,尤其涉及一种数据处理方法、装置、设备及存储介质。
技术介绍
1、对于数据库系统,高并发和高可用是衡量数据库整体性能的重要因素,而dql(data query language,数据查询语言)与ddl(data definition language,数据定义语言)的并发一直是一个难题,因为ddl可能修改表结构、删除索引、更新字典信息等。如果没有并发控制,在dql查询的过程中表结构已经发生改变或者使用的索引已经被删除,继续执行查询将会有不可预期的后果。
2、目前主流数据库都使用字典锁机制来限制dql和ddl不能并发执行,在dql执行查询之前会对涉及到的表字典上is锁,而执行ddl之前会对字典上x锁,这两种锁模式是互相冲突的。如果在dql执行期间有并发的ddl请求,会因无法对字典上x锁而阻塞等待。同理,在ddl执行期间如果有并发的dql请求,也会因无法上is锁而阻塞等待。但mysql等数据库提供了在线ddl的功能,ddl操作在初始化阶段和最后提交事务时对字典上x锁,中间过程不会上锁,因此在一定程度上实现了dql和ddl的并发,但如果dql操作执行时间较长,仍然会导致ddl因无法上锁而阻塞等待的问题,无法完全实现dql和ddl的并发执行。
技术实现思路
1、本专利技术提供了一种数据处理方法、装置、设备及存储介质,解决了ddl和dql因字典锁冲突而无法并发执行的问题,在数据库中,针对同一数据实现多种操作的并发执行。
2、第一方面,本公开实施例提
3、在接收到数据查询请求时,以设定类型锁对目标数据表的目标数据信息进行封锁与释放,并根据数据查询请求执行相应的查询操作,其中,所述设定类型锁至少包括字典锁和物理页锁;
4、在接收到针对所述目标数据表的表修改请求时,以设定类型锁对所述目标数据信息中的表字典进行封锁,并执行相应的修改操作;
5、完成相应的查询操作和/或修改操作后,释放所对应目标数据信息的相应设定类型锁。
6、第二方面,本公开实施例提供了一种数据处理装置,包括:
7、数据查询模块,用于在接收到数据查询请求时,以设定类型锁对目标数据表的目标数据信息进行封锁与释放,并根据数据查询请求执行相应的查询操作,其中,所述设定类型锁至少包括字典锁和物理页锁;
8、表修改模块,用于在接收到针对所述目标数据表的表修改请求时,以设定类型锁对所述目标数据信息中的表字典进行封锁,并执行相应的修改操作;
9、锁释放模块,用于完成相应的查询操作和/或修改操作后,释放所对应目标数据信息的相应设定类型锁。
10、第三方面,本公开实施例提供了一种电子设备,包括:
11、至少一个处理器;以及
12、与至少一个处理器通信连接的存储器;其中,
13、存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行上述第一方面实施例提供的数据处理方法。
14、第四方面,本公开实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现上述第一方面实施例提供的数据处理方法。
15、本专利技术实施例的一种数据处理方法、装置、设备及存储介质,在接收到数据查询请求时,以设定类型锁对目标数据表的目标数据信息进行封锁与释放,并根据数据查询请求执行相应的查询操作,其中,所述设定类型锁至少包括字典锁和物理页锁;在接收到针对所述目标数据表的表修改请求时,以设定类型锁对所述目标数据信息中的表字典进行封锁,并执行相应的修改操作;完成相应的查询操作和/或修改操作后,释放所对应目标数据信息的相应设定类型锁。上述技术方案,解决了ddl和dql因字典锁冲突而无法并发执行的问题,在数据库中,针对同一数据实现多种操作的并发执行。
16、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述在接收到数据查询请求时,以设定类型锁对目标数据表的目标数据信息进行封锁与释放,并根据数据查询请求执行相应的查询操作,包括:
3.根据权利要求2所述的方法,其特征在于,所述以设定类型锁对所述目标数据信息进行封锁,并对所述目标数据信息进行索引检查与版本检查,根据检查结果释放所述目标数据信息中表字典所对应的设定类型锁,包括:
4.根据权利要求1所述的方法,其特征在于,所述在接收到针对所述目标数据表的表修改请求时,以设定类型锁对所述目标数据信息中的表字典进行封锁,并执行相应的修改操作,包括:
5.根据权利要求1所述的方法,其特征在于,所述完成相应的查询操作和/或修改操作后,释放所对应目标数据信息的相应设定类型锁,包括:
6.根据权利要求4所述的方法,其特征在于,在完成相应的修改操作后,释放所对应目标数据信息的相应设定类型锁之后,还包括:
7.根据权利要求1所述的方法,其特征在于,还包括:
8.一种数据处理装置,其特征在
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的一种数据处理方法。
...【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述在接收到数据查询请求时,以设定类型锁对目标数据表的目标数据信息进行封锁与释放,并根据数据查询请求执行相应的查询操作,包括:
3.根据权利要求2所述的方法,其特征在于,所述以设定类型锁对所述目标数据信息进行封锁,并对所述目标数据信息进行索引检查与版本检查,根据检查结果释放所述目标数据信息中表字典所对应的设定类型锁,包括:
4.根据权利要求1所述的方法,其特征在于,所述在接收到针对所述目标数据表的表修改请求时,以设定类型锁对所述目标数据信息中的表字典进行封锁,并执行相应的修改操作,包括:
【专利技术属性】
技术研发人员:冯岳松,郭琰,韩朱忠,
申请(专利权)人:上海达梦数据库有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。