【技术实现步骤摘要】
用于数据库的多线程数据处理方法、装置和电子设备
[0001]本专利技术实施例涉及计算机
,尤其涉及一种用于数据库的多线程数据处理方法、装置和电子设备。
技术介绍
[0002]数据库可以理解为按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
[0003]在数据库技术中,目前主要有两种方法来使用大量的内存。一种是在传统的数据库中,增大缓冲池,将一个事务所涉及的数据都放在缓冲池中,组织成相应的数据结构来进行查询和更新处理,也就是常说的共享内存技术,这种方法优化的主要目标是最小化磁盘访问;另一种就是内存数据库(MMDB:Main Memory Database,也叫主存数据库)技术,相当于重新设计一种数据库管理系统,对查询处理、并发控制与恢复的算法和数据结构进行重新设计,以更有效地使用CPU周期和内存,这种技术近乎把整个数据库放进内存中,因而会产生一些根本性的变化。例如,Redis(Remote Dictionary Server,远程字典服务)就是一 ...
【技术保护点】
【技术特征摘要】
1.一种用于数据库的多线程数据处理方法,其特征在于,所述数据库包括至少一个主线程、两个或两个以上读线程以及一个写线程,且所述数据库中存储数据的数据结构满足读
‑
拷贝修改RCU同步机制,所述方法包括:通过所述主线程接收来自客户端的多个数据库访问请求,所述数据库访问请求中包括数据库网络协议,将多个所述数据库访问请求分别发送至一个读线程;针对任一所述数据库访问请求,通过目标读线程解析所述数据库访问请求中的所述数据库网络协议,以确定所述数据库访问请求的类型,所述目标读线程为接收到所述数据库访问请求的读线程;在多个所述数据库访问请求的类型包括读请求和写请求,且所述读请求和写请求针对所述数据库中同一存储数据的情况下,针对类型为写请求的数据库访问请求,通过其对应的目标读线程,将所述数据库访问请求发送至所述写线程;通过所述写线程按照RCU同步机制对所述存储数据执行写操作;针对类型为读请求的所述数据库访问请求,通过其对应的目标读线程按照RCU同步机制对所述存储数据执行读操作。2.根据权利要求1所述的方法,其特征在于,所述针对类型为读请求的所述数据库访问请求,通过其对应的目标读线程按照RCU同步机制对所述存储数据执行读操作,包括:在调用所述数据库的读锁后,查询所述数据库的哈希表;确定所述数据库的哈希表中与所述数据库访问请求对应的目标键值对,所述目标键值对中的值信息为待读取的存储数据;按照RCU同步机制读取所述目标键值对中的值信息;调用所述数据库的解锁;将读取到的存储数据发送至所述客户端。3.根据权利要求1所述的方法,其特征在于,所述通过所述写线程按照RCU同步机制对所述存储数据执行写操作,包括:通过所述写线程从其对应的消息队列中获取所述读线程发送的所述数据库访问请求;其中,所述消息队列中的数据库访问请求是所述读线程调用队列接口写入的;基于所述数据库访问请求,按照RCU同步机制对所述存储数据进行复制,以生成所述存储数据的副本数据;在生成所述存储数据的副本数据后,利用与所述数据库访问请求对应的目标数据更新所述存储数据。4.根据权利要求3所述的方法,其特征在于,所述数据访问请求包括目标数据对应的关键字key;所述利用与所述数据库访问请求对应的目标数据更新所述存储数据,包括:创建第一哈希条目,所述第一哈希条目用于存储所述目标数据,所述目标数据作为第一哈希条目的值value;从预设哈希表查找第二哈希条目,所述第二哈希条目对应的关键字key与所述数据库访问请求中的关键字key相同;调用...
【专利技术属性】
技术研发人员:张春雷,隋小东,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。