[发明专利]写缓存的数据同步方法及装置有效

专利信息
申请号: 201410758327.5 申请日: 2014-12-10
公开(公告)号: CN104536845B 公开(公告)日: 2018-02-23
发明(设计)人: 黄凯明;刘文涛 申请(专利权)人: 深圳市锐明技术股份有限公司
主分类号: G06F11/14 分类号: G06F11/14;G06F17/30
代理公司: 深圳中一专利商标事务所44237 代理人: 张全文
地址: 518000 广东省深圳市南*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 缓存 数据 同步 方法 装置
【说明书】:

技术领域

发明属于电子信息技术领域,尤其涉及写缓存的数据同步方法及装置。

背景技术

为了提高读写文件的速度,操作系统(如Linux或者Windows等)采用缓存机制。当应用程序调用read或write等系统调用读写文件时,操作系统并不立即与存储设备进行交互。当应用程序调用read系统调用读写文件时,首先查看需要读取的数据是否已在读缓存中,若是,则直接从读缓存中读取数据;若否,则从存储设备中读取数据。当从存储设备中读取数据时,首先将数据写入至写缓存。其中,存储设备可能为如硬盘或SD卡(Secure Digital Memory Card,安全数码卡)等。

当满足预设条件时,操作系统将写缓存中的数据同步到存储设备。fsync系统调用用于把一个文件在写缓存中已修改的数据同步到存储设备。在使用过程中发现,当存储设备损坏时,fsync系统调用阻塞时长最长可达数分钟。跟踪定位发现,执行fsync系统调用,在操作系统的通用SCSI(Small Computer System Interface,小型计算机系统接口)驱动层表现为顺序执行N个SCSI写命令,其中,N为正整数,且N的数值随着待同步的写缓存数据量增长。当存储设备(如SD卡)损坏时,每个SCSI写命令的耗时接近6秒,fsync系统调用一直阻塞到SCSI命令队列中的全部命令执行完毕。经测试,往损坏的SD卡中写入一定数据量,再执行fsync系统调用,耗时如下:(1)往损坏的SD卡中写入1MB数据,再执行fsync系统调用,耗时51.8秒;(2)往损坏的SD卡中写入2MB数据,再执行fsync系统调用,耗时99.2秒;(3)往损坏的SD卡中写入5MB数据,再执行fsync系统调用,耗时184.8秒;(4)往损坏的SD卡中写入8MB数据,再执行fsync系统调用,耗时340.4秒。

在实时性很强且对数据丢失零容忍的应用场景中,通常设置了主存储设备和从存储设备的两套互为备用的存储设备,同时也设置了自动检测系统死机并重启系统的机制。当主存储设备损坏时,正确的措施应当是切换到从存储设备。但是,应用程序长时间阻塞(如调用fsync系统调用强制同步写缓存数据至损坏的SD卡)会导致系统死机的误判,并因此错误重启系统,从而造成实时数据丢失。

发明内容

鉴于此,本发明实施例提供了一种写缓存的数据同步方法及装置,以解决现有技术中将写缓存中的数据同步至存储设备时,由于存储设备损坏造成的同步操作长时间阻塞的问题;以及,现有技术中将写缓存中的数据同步至存储设备时,若采用主从存储设备而当前使用的存储设备损坏,则导致产生系统死机的误判,并因此错误地重启系统,造成实时数据丢失的问题。

一方面,本发明实施例提供了一种写缓存的数据同步方法,包括:

当小型计算机系统接口SCSI命令队列中有待执行的SCSI命令时,获取SCSI执行状态值;

当获取的所述SCSI执行状态值为第一预设值时,丢弃所述SCSI命令队列中的所有待执行的SCSI命令。

第二方面,本发明实施例提供了一种写缓存的数据同步装置,包括:

SCSI执行状态值获取单元,用于当小型计算机系统接口SCSI命令队列中有待执行的SCSI命令时,获取SCSI执行状态值;

丢弃单元,用于当获取的所述SCSI执行状态值为第一预设值时,丢弃所述SCSI命令队列中的所有待执行的SCSI命令。

本发明实施例与现有技术相比存在的有益效果是:本发明实施例通过当SCSI命令队列中有待执行的SCSI命令时,获取SCSI执行状态值,并当获取的SCSI执行状态值为第一预设值时,丢弃SCSI命令队列中的所有待执行的SCSI命令,由此在将写缓存中的数据同步至存储设备时,若存储设备损坏,则根据SCSI执行状态值及时丢弃SCSI命令队列中待执行的SCSI命令,从而避免造成阻塞;此外,在将写缓存中的数据同步至存储设备时,若采用主从存储设备而当前使用的存储设备损坏,则根据SCSI执行状态值及时将当前使用的存储设备切换至备用存储设备,从而避免产生系统死机的误判,并避免造成实时数据的丢失。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的写缓存的数据同步方法的实现流程图;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市锐明技术股份有限公司,未经深圳市锐明技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410758327.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top