[发明专利]一种数据存储方法及装置有效
申请号: | 201910910901.7 | 申请日: | 2019-09-25 |
公开(公告)号: | CN110618899B | 公开(公告)日: | 2022-02-22 |
发明(设计)人: | 陈晖;史国芳;李冬;洪小敏 | 申请(专利权)人: | 浙江中控技术股份有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 林哲生 |
地址: | 310053 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 存储 方法 装置 | ||
本发明提供了一种数据存储方法及装置,在N个硬盘中都部署一个目标数据库镜像,每个硬盘对应一个存储线程,通过引用计数表示当前正在对目标数据库执行数据存储操作的存储线程的数量,使目标数据库最多只能同时被N‑1个存储线程并行执行数据存储操作,进而使目标数据库在任一时刻至少有一个完好目标数据库镜像未被执行数据存储操作,提高了目标数据库的安全性。
技术领域
本发明涉及数据库技术领域,更具体的,涉及一种数据存储方法及装置。
背景技术
数据库的完整性是保证系统正常运行的关键,数据库损坏会造成十分严重的后果。引发数据库损坏的主要原因有数据库写入时断电或硬盘本身产生坏道。
目前保障数据库安全的方法有,通过加装UPS(Uninterruptible Power System/Uninterruptible Power Supply,不间断电源)来延缓断电时间;通过引入RAID(RedundantArrays of Independent Drives,磁盘阵列)来防止硬盘坏道引起的数据库损坏;当数据库损坏时,通过数据库修复工具对数据库进行修复。
但是,加装UPS成本较高,且UPS本身仍有损坏的概率;RAID只能防止硬盘坏道,不能防止数据库写入时非原子操作引起的索引损坏等情况;数据库修复工具有一定概率修复失败,且修复时间很长,不能立即恢复到可使用的状态。
可见,目前保障数据库安全的方法不能完全防止数据库损坏,且故障恢复慢,不能满足数据库安全性需求。
发明内容
有鉴于此,本发明提供了一种数据存储方法及装置,提高数据库安全性。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种数据存储方法,包括:
获取目标存储线程的待存储数据,所述目标存储线程为N个存储线程中的任意一个存储线程,N为大于1的整数,每个存储线程分别对应一个硬盘;
判断目标数据库的引用计数是否小于N-1,所述目标数据库的引用计数表示当前正在对所述目标数据库执行数据存储操作的存储线程的数量;
若所述目标数据库的引用计数小于N-1,则将所述目标数据库的引用计数加1,并控制所述目标存储线程将所述待存储数据存储到相应硬盘的目标数据库镜像中,其中,所述目标数据库在每个硬盘上都存在一个目标数据库镜像;
若所述目标数据库的引用计数不小于N-1,则所述目标存储线程不执行对所述目标数据库的数据存储操作。
可选的,所述方法还包括:
当数据源产生目标数据时,将所述目标数据插入数据缓存队列中,并为所述目标数据设置N位存储标志,存储标志的每一位分别对应一个硬盘,所述目标数据的存储标志表示所述目标数据是否已经被存储到N个硬盘中。
可选的,所述获取目标存储线程的待存储数据,包括:
根据所述数据缓存队列中每个数据的存储标志,从所述数据缓存队列中获取所述目标存储线程的待存储数据。
可选的,在所述控制所述目标存储线程将所述待存储数据存储到相应硬盘的目标数据库镜像中之后,所述方法还包括:
将所述待存储数据的存储标志中与所述目标存储线程相对应的存储标志位的值设置为1,其中,1表示所述待存储数据已经存储在相应的硬盘中。
可选的,所述方法还包括:
当所述待存储数据的存储标志中所有存储标志位的值都为1时,将所述待存储数据从所述数据缓存队列中移除。
可选的,当所述目标数据库数量为1个以上时,每个所述目标数据库分别对应一个所述数据缓存队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江中控技术股份有限公司,未经浙江中控技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910910901.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置