数据库的处理方法、装置、存储介质及电子装置制造方法及图纸

技术编号:22101609 阅读:63 留言:0更新日期:2019-09-14 03:14
本发明专利技术提供了一种数据库的处理方法、装置、存储介质及电子装置,该方法包括:接收用于请求对数据库中的预定数据进行处理的处理请求;确定用于对所述预定数据进行处理的预定中央处理器CPU,其中,所述数据库中包括两个以上数据分片,不同的数据分片中包括的数据不同,且不同的数据分片对应的用于对数据分片中的数据进行处理的处理CPU不同;指示所述预定CPU按照所述处理请求对所述预定数据进行处理。通过本发明专利技术,解决了相关技术中存在的在数据库的多线程并发控制中随着CPU数目的增多,访问冲突越来越严重,从而造成大量的CPU资源浪费,增加事务处理的时延,进而降低业务处理能力的问题。

Processing method, device, storage medium and electronic device of database

【技术实现步骤摘要】
数据库的处理方法、装置、存储介质及电子装置
本专利技术涉及通信领域,具体而言,涉及一种数据库的处理方法、装置、存储介质及电子装置。
技术介绍
现代的数据库中,都可以并行地处理事务,例如通用OLTP(On-LineTransactionProcessing,联机事务处理过程,也称为面向交易的处理过程)数据库包括如下标准特征:基于磁盘存储的一系列数据结构(如堆文件、B树等)、基于锁的并发控制以支持多条语句并发执行、基于日志的恢复机制、高效的缓存管理机制。所有现代数据库都广泛地支持多线程机制,包括一系列事务并发控制协议和代码中广泛存在的共享数据结构(如缓存池、索引页等)的互斥控制。传统多线程的动机是允许一个事务在等待磁盘返回数据时执行另外一个事务或者防止长事务阻塞短事务的执行。因此随着业务应用的飞速发展传统OLTP数据库的这种多线程并发控制方案的缺点逐渐凸显:1、对于用户数据的访问需要通过锁机制进行控制,尤其是满足事务的完全ACID(原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability))特性时,读写都需要加锁,当业务请求并发度增大时,锁资源、控制逻辑复杂度、死锁检测等机制都需要消耗大量的CPU资源,对性能造成很大影响。2、数据库内部存在大量的共享数据结构如:锁管理器、索引页、日志管理器、缓存池等等,在多线程并发访问时必须通过Latch或者Mutex进行访问控制,这在并发数较高尤其是服务器CPU总数很多的情况下将会消耗更多的CPU资源同时增加事务处理的时延。针对相关技术中存在的在数据库的多线程并发控制中随着CPU数目的增多,访问冲突越来越严重,从而造成大量的CPU资源浪费,增加事务处理的时延,进而降低业务处理能力的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种数据库的处理方法、装置、存储介质及电子装置,以至少解决相关技术中存在的在数据库的多线程并发控制中随着CPU数目的增多,访问冲突越来越严重,从而造成大量的CPU资源浪费,增加事务处理的时延,进而降低业务处理能力的问题。根据本专利技术的一个实施例,提供了一种数据库的处理方法,包括:接收用于请求对数据库中的预定数据进行处理的处理请求;确定用于对所述预定数据进行处理的预定中央处理器CPU,其中,所述数据库中包括两个以上数据分片,不同的数据分片中包括的数据不同,且不同的数据分片对应的用于对数据分片中的数据进行处理的处理CPU不同;指示所述预定CPU按照所述处理请求对所述预定数据进行处理。可选地,在确定用于对所述预定数据进行处理的预定CPU之前,所述方法还包括:获取数据分片与处理CPU的对应关系;确定用于对所述预定数据进行处理的预定CPU包括:确定所述预定数据所属的数据分片;根据所述对应关系确定与所述预定数据所属的数据分片对应的所述预定CPU。可选地,获取数据分片与处理CPU的对应关系包括第一获取方式或第二获取方式,其中,所述第一获取方式包括:对所述数据库中的数据进行分片,其中,分片后的各数据分片之间无依赖关系;为各数据分片分别分配一个对应的处理CPU;建立数据分片与分配的处理CPU之间的对应关系;所述第二获取方式包括:接收来自管理CPU的所述对应关系。可选地,在建立数据分片与分配的处理CPU之间的对应关系之后,还包括:在预定条件下执行以下操作至少之一,并基于执行后的操作重新建立数据分片与分配的处理CPU之间的对应关系:对所述数据库中的数据进行重新分片,并重新对分片后的各数据分片配置对应的处理CPU;为所述数据库中的数据分片重新分配对应的处理CPU;其中,重新分配的处理CPU中包括原有的处理CPU和/或新增加的处理CPU,所述预定条件包括以下至少之一:根据收集的各处理CPU的负载信息以及各数据分片中数据的处理信息确定存在处理CPU负载不均衡,接收到重新分配指令。可选地,对所述数据库中的数据进行重新分片后的数据分片总数小于重新分片之前的数据分片总数;或者,对所述数据库中的数据进行重新分片后的数据分片总数等于重新分片之前的数据分片总数;或者,对所述数据库中的数据进行重新分片后的数据分片总数大于重新分片之前的数据分片总数。可选地,当获取数据分片与处理CPU的对应关系包括所述第一获取方式时,接收用于请求对数据库中的预定数据进行处理的处理请求包括:接收来自应用APP的所述处理请求。可选地,指示所述预定CPU按照所述处理请求对所述预定数据进行处理包括:将所述处理请求放置于所述预定CPU对应的请求队列中,以指示所述预定CPU从所述请求队列中获取所述处理请求,并按照所述处理请求对所述预定数据进行处理。可选地,在接收用于请求对数据库中的预定数据进行处理的处理请求之后,所述方法还包括:在确定所述数据库中不存在所述预定数据,或者不存在对所述预定数据进行处理的处理CPU时,返回错误响应。根据本专利技术的另一个实施例,提供了一种数据库的处理装置,包括:接收模块,用于接收用于请求对数据库中的预定数据进行处理的处理请求;确定模块,用于确定用于对所述预定数据进行处理的预定中央处理器CPU;指示模块,用于指示所述预定CPU按照所述处理请求对所述预定数据进行处理。可选地,所述装置还包括:获取模块,用于在确定用于对所述预定数据进行处理的预定CPU之前,获取数据分片与处理CPU的对应关系;所述确定模块包括:第一确定单元,用于确定所述预定数据所属的数据分片;第二确定单元,用于根据所述对应关系确定与所述预定数据所属的数据分片对应的所述预定CPU。根据本专利技术的另一个实施例,提供了一种数据库的处理系统,包括:处理器,两个以上处理CPU,数据库,其中,所述处理器用于执行以下处理:接收用于请求对所述数据库中的预定数据进行处理的处理请求;从所述两个以上处理CPU中确定用于对所述预定数据进行处理的预定中央处理器CPU;指示所述预定CPU按照所述处理请求对所述预定数据进行处理;所述两个以上处理CPU用于根据来自所述处理器的请求对所述数据库中的数据进行处理。可选地,所述两个以上处理CPU被分为两个以上处理服务器组,其中,每个处理服务器组具备组内的处理CPU扩缩容以及在组内的处理CPU间进行业务调度的能力,且不同的处理服务器组之间具备业务调度的能力。根据本专利技术的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。根据本专利技术的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。通过本专利技术,由于数据库中包括多个数据分片,不同数据分片分别对应不同的处理CPU,由与其相对应的处理CPU处理该数据分片中的数据。避免了传统的多线程并发控制中,由于多核系统中的多个CPU共同访问数据库中的数据而带来当CPU数目的增多时,共同访问数据库中的数据的逻辑结构成倍上升,并由此增加了更多的操作成本。可以解决相关技术中存在的在数据库的多线程并发控制中随着CPU数目的增多,访问冲突越来越严重,从而造成大量的CPU资源浪费,增加事务处理的时延,进而降低业务处理能力的问题,进而达本文档来自技高网
...

【技术保护点】
1.一种数据库的处理方法,其特征在于,包括:接收用于请求对数据库中的预定数据进行处理的处理请求;确定用于对所述预定数据进行处理的预定中央处理器CPU,其中,所述数据库中包括两个以上数据分片,不同的数据分片中包括的数据不同,且不同的数据分片对应的用于对数据分片中的数据进行处理的处理CPU不同;指示所述预定CPU按照所述处理请求对所述预定数据进行处理。

【技术特征摘要】
1.一种数据库的处理方法,其特征在于,包括:接收用于请求对数据库中的预定数据进行处理的处理请求;确定用于对所述预定数据进行处理的预定中央处理器CPU,其中,所述数据库中包括两个以上数据分片,不同的数据分片中包括的数据不同,且不同的数据分片对应的用于对数据分片中的数据进行处理的处理CPU不同;指示所述预定CPU按照所述处理请求对所述预定数据进行处理。2.根据权利要求1所述的方法,其特征在于,在确定用于对所述预定数据进行处理的预定CPU之前,所述方法还包括:获取数据分片与处理CPU的对应关系;确定用于对所述预定数据进行处理的预定CPU包括:确定所述预定数据所属的数据分片;根据所述对应关系确定与所述预定数据所属的数据分片对应的所述预定CPU。3.根据权利要求2所述的方法,其特征在于,获取数据分片与处理CPU的对应关系包括第一获取方式或第二获取方式,其中,所述第一获取方式包括:对所述数据库中的数据进行分片,其中,分片后的各数据分片之间无依赖关系;为各数据分片分别分配一个对应的处理CPU;建立数据分片与分配的处理CPU之间的对应关系;所述第二获取方式包括:接收来自管理CPU的所述对应关系。4.根据权利要求3所述的方法,其特征在于,在建立数据分片与分配的处理CPU之间的对应关系之后,还包括:在预定条件下执行以下操作至少之一,并基于执行后的操作重新建立数据分片与分配的处理CPU之间的对应关系:对所述数据库中的数据进行重新分片,并重新对分片后的各数据分片配置对应的处理CPU;为所述数据库中的数据分片重新分配对应的处理CPU;其中,重新分配的处理CPU中包括原有的处理CPU和/或新增加的处理CPU,所述预定条件包括以下至少之一:根据收集的各处理CPU的负载信息以及各数据分片中数据的处理信息确定存在处理CPU负载不均衡,接收到重分配指令。5.根据权利要求4所述的方法,其特征在于,包括:对所述数据库中的数据进行重新分片后的数据分片总数小于重新分片之前的数据分片总数;或者,对所述数据库中的数据进行重新分片后的数据分片总数等于重新分片之前的数据分片总数;或者,对所述数据库中的数据进行重新分片后的数据分片总数大于重新分片之前的数据分片总数。6.根据权利要求3所述的方法,其特征在于,当获取数据分片与处理CPU的对应关系包括所述第一获取方式时,接收用于请求对数据库中的预定数据进行处理的处理请求...

【专利技术属性】
技术研发人员:张玲东胡荣亮孔鹏
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1