[发明专利]分布式数据库系统、数据库访问方法及装置有效
申请号: | 201510863721.X | 申请日: | 2015-11-30 |
公开(公告)号: | CN106815251B | 公开(公告)日: | 2019-09-03 |
发明(设计)人: | 罗劢;刘权章 | 申请(专利权)人: | 成都华为技术有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/182 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 罗振安 |
地址: | 610041 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 数据库 系统 访问 方法 装置 | ||
本发明公开了一种分布式数据库系统、数据库访问方法及装置,属于网络存储领域。所述方法包括:数据库集群节点通过线程向数据库主节点发送访问请求,数据库主节点将访问请求存储至分发队列,并向数据库集群节点发送接收响应使数据库集群节点挂起该线程,数据库主节点从分发队列依次获取访问请求,根据访问请求从共享文件系统中读数据或写数据,向数据库集群节点发送返回响应。本发明通过数据库主节点能接收并发的访问请求,并通过分发队列逐个执行访问请求,而不会出现卡死的现象,使Sqlite数据库也能支持共享文件系统的并发机制,扩大了Sqlite数据库的使用范围。
技术领域
本发明实施例涉及网络存储领域,特别涉及一种分布式数据库系统、数据库访问方法及装置。
背景技术
Sqlite数据库是一种轻量级数据库。Sqlite数据库具有无需安装即可动态使用的特点。Sqlite数据库常应用于移动操作系统,比如安卓(Android)系统和IOS系统。Sqlite数据库在单机性质的移动操作系统上具有非常优秀的性能。
目前,现有技术也存在将Sqlite数据库应用于分布式数据库的场景。分布式数据库采用了共享文件系统,该共享文件系统包括分散设置的多个数据存储节点,多个数据存储节点之间通过网络相连,每个数据存储节点上设置有一个Sqlite数据库。
在实现本发明实施例的过程中,发明人发现现有技术至少存在以下问题:在实际使用中发现,Sqlite数据库对共享文件系统的支持较差。在并发访问共享文件系统的场景中,很容易出现卡死的现象。并发访问时指存在多个业务节点同时请求访问共享文件系统。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种基于共享文件系统的分布式数据库系统、访问方法及装置。所述技术方案如下:
第一方面,提供了一种分布式数据库系统。该分布式数据库系统包括:n个数据库集群节点、数据库主节点和共享文件系统,n≥3。数据库集群节点,用于通过线程向数据库主节点发送访问请求;数据库主节点,用于接收数据库集群节点发送的访问请求;将访问请求存储至分发队列,并向数据库集群节点发送接收响应;数据库集群节点,还用于根据接收响应挂起线程;数据库主节点,还用于从分发队列依次获取访问请求;根据访问请求从共享文件系统中读数据或写数据;向数据库集群节点发送访问请求的返回响应;数据库集群节点,用于接收返回响应;根据返回响应唤醒线程。
本发明实施例提供的分布式数据库系统,当多个数据库集群节点并发访问数据库主节点时,数据库主节点同时接收多个访问请求并存储至分发队列,再从分发队列中逐个获取访问请求并执行,使得在使用Sqlite数据库的共享文件系统中,数据库主节点能接收和处理并发的多个访问请求,而不会出现卡死的现象,使Sqlite数据库也能实现共享文件系统的并发机制,扩大了Sqlite数据库的使用范围。
在第一方面的第一种可能的实施方式中,在数据库主节点根据访问请求从共享文件系统中写数据的方面:数据库主节点,用于解析访问请求;当访问请求的类型为写请求且写任务线程为空闲时,提交与访问请求对应的写任务至写任务线程,写任务线程用于根据写任务向共享文件系统写入数据。在本实施方式中,通过使用数据库主节点对访问请求进行解析并获得访问请求的类型,对于写请求,提交到写任务线程,能将读任务和写任务分开执行,互不影响,保证了数据的一致性。
在第一方面的第二种可能的实施方式中,在数据库主节点根据访问请求从共享文件系统中读数据的方面:数据库主节点,用于解析访问请求;当访问请求的类型为读请求时,提交与访问请求对应的读任务至读任务线程,读任务线程用于为读任务分配独立的数据库句柄;根据数据库句柄和读任务从共享文件系统读数据。在本实施方式中,通过使用数据库主节点对访问请求进行解析获得访问请求的类型,对于读请求,提交到读任务线程,能将读任务和写任务分开执行,互不影响,保证了数据的一致性。通过为读任务分配独立的数据库句柄,使读任务之间互相独立,达到了可以并发读取数据的效果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都华为技术有限公司,未经成都华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510863721.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种发送数据的方法、数据服务器以及服务器
- 下一篇:一种搜索方法和设备