一种磁盘操作的保护方法及磁盘控制器的制作方法

文档序号:6462683阅读:131来源:国知局
专利名称:一种磁盘操作的保护方法及磁盘控制器的制作方法
技术领域
本发明涉及电子技术领域,尤其涉及一种磁盘操作保护技术。
背景技术
在电子设备中经常需要将数据保存于磁盘中,例如,需要将视频监视设 备获得的视频信号录制存储于磁盘中,或者,记录一些股市数据、天气预 报、新闻播放等日志信息,等等。这些需要保存的数据需要真实记录以反映 记录的实际情形,也就是说这些保存记录的数据不允许被修改,为此,需要 对保存记录的数据提供相应的保护机制。
在上述数据存储过程中,为了满足数据所有者对所生产的数据进行实时 保护,目前主要可以采用以下两种实现方案。
一种实现方案是利用上层应用软件或者操作系统对存储记录于磁盘中 的数据进行操作保存,例如,使用Unix操作系统、Windows操作系统的文件 权限管理机制,通过权限不同实现对文件的操作控制。
另一种实现方案则是在数据产生后,在存储设备上通过对逻辑单元 (LUN)设置权限的方式来对整个LUN进行保护,以限制数据生产和使用者 对磁盘保存的数据的访问。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题
上述第一种实现方案中,由于数据生产者和使用者与数据所有者共用同 一管理系统,相应的安全机制很容易被绕开,导致保护失效;例如,可以通 过非法获得超级用户权限、利用操作系统漏洞或修改系统时间等方法避开相 应的安全机制。上述第二种实现方案中,只能在数据产生后实现相应的保存,却无法在 数据生产过程中实施保护。

发明内容
本发明的实施例提供了 一种磁盘操作的保护方法及磁盘控制器,以便于 对磁盘中记录的数据实现有效的操作保护。
一种磁盘操作的保护方法,包括
接收磁盘操作请求,磁盘控制器获取待操作的当前磁盘区域对应的操作 控制参数,根据所述操作控制参数判断是否允许操作当前磁盘区域;
当根据所述操作控制参数确定允许对所述当前磁盘区域进行操作时,则 执行所述磁盘操作。
一种磁盘控制器,包括
参数获取单元,用于在接收磁盘操作请求后,获取待操作的当前磁盘区 域对应的操作控制参数,所述操作控制参数用于表示是否允许操作当前磁盘 区域;
磁盘操作控制处理单元,用于根据所述参数获取单元获取的操作控制参 数判断是否允许操作当前磁盘区域,并在确定允许对所述当前磁盘区域进行 操作时,执行所述磁盘操作。
由上述本发明的实施例提供的技术方案可以看出,其可以针对磁盘中存 储的数据进行相应的操作保护,以有效防范非法意图的修改等非法磁盘操 作,并可以在数据产生过程中实施相应的磁盘保护,克服现有技术中提供的 磁盘保护机制存在的缺陷。


图1为本发明实施例的实现原理示意图;图2为本发明实施例提供的操作控制参数的设置原理示意图3为本发明实施例提供的操作控制时间参数的统计方式示意图;
图4为本发明实施例才是供的刷新表记录方式示意图5为本发明实施例提供的处理过程示意图一;
图6为本发明实施例提供的处理过程示意图二;
图7为本发明实施例提供的磁盘控制器的结构示意图。
具体实施例方式
本发明实施例提供的磁盘操作的保护方案,是在磁盘控制器层次上实现 针对磁盘的读写等操作的控制,具体可以在接收磁盘操作请求后,由磁盘控 制器获取待操作的当前磁盘区域对应的操作控制参数,该操作控制参数用于 表示是否允许操作当前磁盘区域,当根据获取的操作控制参数确定允许对所 述当前磁盘区域进行操作时,则执行所述磁盘操作。
可见上述处理方式不再基于应用软件和操作系统实现相应的磁盘搡作保 护(如读写保护等),进而实现了数据生产者、使用者和数据所有者权限分
离,使得数据所有者对生产出来的数据能够进行实时保护。
参照图1所示,相应的应用软件为数据生产者,其产生的数据可以通过操 作系统写于磁盘阵列,数据使用者也可以通过操作系统读取磁盘阵列中的相 应数据。磁盘阵列通过相应的磁盘控制器提供对外接口,磁盘控制器有独立 的CPU系统,RAM和总线接口,并用于控制针对磁盘的读写操作,即所有 针对磁盘的操作只能通过磁盘控制器实现,磁盘控制器将磁盘和操作系统及 应用软件等隔离。本发明实施例便可以通过在磁盘控制器运行相应的控制程 序以实现针对磁盘操作的控制,如写保护等。
在磁盘阵列中,通常是以扇区作为最小的记录单位,且操作系统层对磁 盘的最小寻址单位通常也是扇区。因此,在上述处理过程中,相应的磁盘区域可以为磁盘中的一个或多个扇区对应的存储区域,或者,也可以为以其他 方式划分确定的^兹盘中的相应区域,例如,若《兹盘的最小寻址单位不再为扇 区时,则可以相应的新的最小寻址单位作为相应的磁盘区域(即最小的操作 控制区域)进行操作控制。
本发明实施例中,相应的操作控制参数可以包括操作控制时间参数或 操作控制事件参数中的至少一项,例如,相应的操作控制时间参数可以为具 体的可以为允许写操作的时间段或不允许写操作的时间段等参数中的至少一 项,操作控制事件参数则可以为允许写操作的事件参数或不允许写操作的触 发事件等参数中的至少一项,等等。
进一步地,可以在预定的时间段内设置允许符合操作间隔要求的写操作 执行,例如,以操作的磁盘区域为扇区为例,则可以为磁盘的扇区设置时间 索引,该时间索引可以用于记录最后一次磁盘操作与当前时间之间的间隔时 长,也可以用于记录最后一次磁盘操作时间,或者,也可以记录其他可以体 现出最后一次磁盘操作时间的信息,以便于基于磁盘操作之间的间隔时长实 现对磁盘扇区的保护。
相应的时间索引可以采用非线型的记录方式来扩大记录时间范围,或 者,也可以采用其他实现方式进行时间索引的统计记录。
为便于对本发明实施例的理解,下面将结合附图对本发明实施例的具体 实施过程进4亍详细i兌明。
在该具体说明过程中,以写操作作为磁盘操作、以扇区作为当前需要操 作的磁盘区域,并以采用操作控制时间参数作为相应的操作控制参数为例, 参照图2所示,相应的可以设置两个参数作为操作控制时间参数
(1 )写操作允许间隔时间T1,即写操作时间窗,作为允许磁盘操作间隔 时间,若针对某扇区的本次写操作时间与上次写操作时间之间的差值未超过 该写操作允许间隔时间,则确认符合写操作允许间隔时间要求,否则,认为本次写操作不符合写操作允许间隔时间要求;
该写操作允许间隔时间T1作为一个时间窗可以针对整个磁盘设置(即针 对一个磁盘设置写操作允许间隔时间作为磁盘的写操作时间窗),也可以针 对磁盘中的一个或多个扇区进行设置,或者,也可以针对整个存储系统设 置;
该参数T1的设置是考虑到某些应用对于磁盘中的一个扇区的写操作不是 一次性写满,而是由多个写操作组成,各个写操作之间的间隔时长不超过 T1,则认为相应的写操作为合法;即每次针对一个扇区的成功写操作后的T1 时间段内允许用户继续写入,且T1的取值单位可以是分钟、小时、日或月 等,相应的T1具体可以根据不同应用设置不同的值;
(2)数据保护有效时间T2,作为相应磁盘的数据保护期,若针对某扇区 的本次写操作时间与上次写操作时间之间的差值未超过该数据保护有效时 间,则确认符合该数据保护有效时间要求,即不允许执行本次写操作,否 则,认为本次写操作不符合该数据保护有效时间,即允许执行本次写操作;
该数据保护有效时间T2可以基于整个存储系统设置,也可以基于每个磁 盘设置,或者也可以针对》兹盘中的一个或多个扇区进行设置。
该数据保护有效时间T2在应用过程中为可选设置,该T2的设置可以满足 数据所有者的要求,使得相应的数据可以在保留一定期限(即T2时间)后才 允许解除写保护,该数据保护有效时间T2的取值通常可以大于1天,其取值单 位可以为日或月等。
其中,若设置数据保护有效时间T2,则具体可以设置为T2大于T1。
在具体实现过程中,可以为每个扇区建立一个时间标签,用于记录下每
个扇区最后一次写操作的时间(作为上述上一次写操作时间),则基于上述 操作控制时间参数,相应的磁盘操作保护方式包括从每个扇区最后一次写 操作开始计时,在该扇区对应的写操作时间窗(即写操作允许间隔时间)内,则允许继续进行写操作,并完成写操作后更新该扇区的时间标签;在超
过该扇区对应的写操作时间窗后,则该扇区将被写保护,即不允许对该扇区
进行写操作;之后,在从每个扇区最后一次写操作开始经过了数据保护有效
时间后,即相应的写保护期结束,则继续允许针对该扇区进行相应的写操 作。
本发明实施例在应用过程中,具体可以针对每个扇区采用一个字节记录 相应的时间索引,根据该时间索引值可以计算出该扇区最后一次写操作时 间,具体地,该时间索引可以记录当前时间与上一次写操作时间之间的间隔 时长,或者,也可以直接记录相应的最后一次写操作时间(作为上一次写操 作时间),例如,可以通过该最后一次写操作时间与当前时间的比较,并根
据所述图2确定是否允许针对该扇区的本次写操:作。
为了避免浪费存储空间,本发明实施例采用精确度逐渐降低的非线性时 间统计方式进行时间索引值的记录,以便于利用 一 个字节记录较长的存储时 间,即可以记录较长的当前时间与上一次写操作时间之间的间隔时长,或 者,记录最后一次写操作时间。或者,本发明实施例中也可以采用较多的存 储空间精确记录相应的时间索引值。
其中,相应的非线性时间统计方式具体可以包括若所述当前时间与上 一次磁盘操作时间之间的间隔时长小于60分钟,则采用分钟作为计时单位进 行间隔时长或最后 一 次磁盘操作时间的统计;若所述当前时间与上 一次磁盘 操作时间之间的间隔时长大于60分钟小于24小时,则采用小时作为计时单位 进行间隔时长或最后一次磁盘操作时间的统计;若所述当前时间与上一次磁 盘操作时间之间的间隔时长大于24小时小于1个月,则采用天作为计时单位进 行间隔时长或最后一次》兹盘操作时间的统计;若所述当前时间与上一次磁盘 操作时间之间的间隔时长大于1个月,则采用月作为计时单位进行间隔时长或 最后一次磁盘操作时间的统计;参照图3所示,fli殳某扇区最后 一 次写#:作的时间为YY-MM2-DD HH:MM1, YY表示年,MM2表示月,DD表示日期,HH表示小时,MM1表示 分钟,则相应的非线性时间统计方式具体可以采用以下方式进行时间索引值 的记录,即相应的时间索引的记录规则具体可以为
如果当前时间和最后一次写操作时间差小于60分钟,则相应的时间索引 可以采用最后一次写操作时间的分钟值MM1表示,值为MM1,或者,也可以
以分钟为单位统计相应的当前时间和最后一次写#:作时间差,此时,MM1为
以分钟为单位的实际间隔时长;
如果当前时间和最后 一次写操作时间差大于60分钟且'J、于24小时,则相 应的时间索引可以采用最后一次写操作时间的小时值HH表示,值为HH + 60,或者,也可以以小时为单位统计相应的当前时间和最后一次写操作时间 差,此时,相应的HH表示以小时为单位的实际的间隔时长;
如果当前时间和最后一次写操作时间差大于24小时且小于1月,则相应的 时间索引可以采用最后一次写操作时间的日期值DD表示,值为DD + 83,其 中,83 = 60 + 24- 1 (因为日期从1开始计算),或者,也可以以天为单位统 计相应的当前时间和最后一次写操作时间差,此时,相应的DD为以天为单位 的实际间隔时长;
如果当前时间和最后一次写操作时间差大于1月,则相应的时间索引可以 采用当前时间月份MM2和最后一次写操作时间的月MM2之间的差表示,值为 差值+ 114,其中,114 = 60 + 24 + 31 - 1,或者,也可以直接记录最后一次 写操作的MM2值(MM2最大值为12)。若采用前一种时间索引记录方式,則 具体可以表示最多255-114=141个月的间隔时间,即可以记录大于11年的当 前时间与上一次磁盘操作时间之间的间隔时长,增加了存储空间的利用效 率。
基于上述时间索引的记录规则,若相应的时间索引值具体记录的为当前扇区的上 一 次磁盘操作时间(即在当前时间之前的最后 一 次磁盘操作时
间),例如,假设当前时间为2007-4-16 11: 46 ,则不同的时间索引值对应 的当前扇区对应的最后 一次写才喿作时间可以为
若某一扇区的时间索引值记录为30,则表示该扇区使用分钟表示,其对 应的最后一次写操作时间的分钟值为30,则该扇区的最后一次写操作时间为 2007-4-16 11: 30,该记录的时间索引值可以精确到分钟;
若某一扇区的时间索引值记录为62,表示该扇区使用小时表示,其对应 的最后 一 次写操作时间的小时值为2 ,则该扇区的最后 一 次写操作时间为 2007-4-16 2: 00,该记录的时间索引值可以精确到小时;
若某一扇区的时间索引值记录为85,表示该扇区使用天表示,其对应的 最后 一次写操作时间的日期值为2 ,则该扇区的最后 一次写操作时间为2007-4-2 0: 00,该记录的时间索引值可以精确到天;
若某一扇区的时间索引值记录为116,表示该扇区使用月表示,其对应的 最后一次写操作时间的月和当前月份的差为2,则该扇区的最后一次写操作时 间为2007-2-0 0: 00,该记录的时间索引值可以精确到月。
在采用上述记录规则记录相应的时间索引时,当时间索引无法以小的单 位表示时,则需要使用更大一些的单位表示,例如,在分钟计时超过60分钟 时,则需要修改为用小时计数,为此,具体可以在磁盘控制器上启动定时 器,对时间索引做周期性的刷新,进一步地,参照图4所示,相应的时间索引 值的更新过程具体可以采用以下处理方式实现
(1 )磁盘控制器采用分钟刷新机制,即每分钟定时刷新扇区对应的时间 索引值,在超过60分钟后针对该扇区改为采用小时刷新机制
具体地,每分钟查询处于分钟刷新表中的各个扇区对应的时间索引,该 时间索引用于记录最后一次写操作时间,若当前时间的分钟数值与该时间索 引值一致,则改为采用小时刷新机制更新相应的时间索引,并将相应的时间索引对应扇区的编号记录到小时刷新表中;例如,若最后一次写操作时间为
2007-4-11 16: 27,则在每分钟更新的处理过程中,需要将分钟刷新表中所 有时间索引为27的扇区修改为其对应的时间索引为76 (即60+16),并更新 到小时刷新表中;
(2) 磁盘控制器采用小时刷新机制,即每小时定时刷新扇区对应的时间 索引值,在超过24小时后针对该扇区改为采用曰刷新机制
具体地,每小时查询处于小时刷新表中的各个扇区对应的时间索引,该 时间索引用于记录最后一次写操作时间,若当前时间的小时数值加上60后的 值与扇区对应的时间索引 一致,则改为采用日刷新机制更新相应的时间索 引,并将相应的时间索引对应的扇区的编号记录到日刷新表中,例如,若最 后一次写操作时间为2007-4-11 16: 00,则在每小时更新中,需要将所有时 间索引为76的扇区修改为其对应的时间索引为94 (即83 +11 ),并更新到是 刷新表中;
(3) 磁盘控制器采用日刷新机制,即每天定时刷新扇区对应的时间索引 值,在超过1个月后针对该扇区改为采用月刷新机制
具体地,每天查询处于天刷新表中的各个扇区对应的时间索引,该时间 索引用于记录最后一次写操作时间,若当前时间的日期值加上83后的值与扇 区对应的时间索引一致,则将相应扇区对应的时间索引修改为月表示(即采 用月刷新机制对相应的时间索引进行更新),其值为115,表示一个月;
需要说明的是,由于每个月包含的天数不同,因此,需要在每个月的最 后一天,将本月没有而上个月有的日期也执行相应的更新处理,以使得不足 31天的月份的刷新处理也可以正常进行;例如,在4月30日的每日定时刷新 中,将时间索引为113的扇区修改其时间索引为115,也将时间索引为114的 扇区修改其时间索引为115;
(4) 磁盘控制器采用月刷新机制,即每月定时刷新扇区对应的时间索引值,增加扇区对应的时间索引值
具体地,每月查询所有扇区对应的时间索引,该时间索引用于记录当前 时间与最后 一 次写操作时间之间的间隔时长,若相应的时间索引是采用月计 数方式记录,则时间索引对应的计数值加1,并重新写回该扇区对应的时间索 引值中,以实现针对扇区的时间索引的更新。
在上述处理过程中,在相应的分钟刷新表、小时刷新表和日刷新表中保 存着要刷新扇区的扇区号和对应的时间索引值,使用扇区号可以直接定位到 相应的扇区以进行读写操作;通过各个刷新表的设置,可以有效减少定时刷
新时需要读取的扇区的数量,进而可以减少定时刷新过程所占用的CPU的资源。
需要说明的是,若使用月计数的扇区占全部扇区的比例较小,则还可以 建立相应的月刷新表,以节省刷新时间。
在掉电后,本发明实施例采用的恢复各个刷新表的方式可以为查询所 有扇区对应的时间索引,如果用分钟表示则记录在分钟刷新表中,如果用小 时表示则记录在小时刷新表中,如果用日期表示则记录在日刷新表中。
基于上述时间索引的记录规则,当操作系统对某一扇区执行写操作时, 则先读取该扇区的时间索引,并根据相应的时间索引判断该扇区是否在不允 许写的时间范围内,若在不允许写的时间范围内则禁止执行本次写操作,以 实现针对磁盘中的文件的保护。
下面将结合具体的处理流程图对本发明实施例提供的针对磁盘的写操作 的保存处理过程进行说明。
实施处理过程一
如图5所示,针对磁盘执行写操作的处理过程可以包括
步骤1,磁盘控制器接收到针对磁盘中的某个扇区的写操作;
步骤2,读取该扇区的时间索引,以便于根据该时间索引确定上一次磁盘操作(该过程中指的是写操作)时间,进而确定本次写操作的合法性;
步骤3,根据所述时间索引判断是否允许本次写搡作的执行,若允许,则
执行步骤4,否则,执行步骤6;
具体可以采用的判断方式可以包括根据时间索引确定上一次磁盘操作
时间与当前时间之间的差值是否超过预先设置的允许磁盘操作间隔时间,若
未超过,则确认允许本次写操作,否则,确认不允许本次操作;
步骤4,执行相应的写操作,即向磁盘中相应扇区写入数据,修改该扇区
对应的时间索引,即以当前时间的分钟数作为修改后的扇区的时间索引,并
执行步骤5;
步骤5,将该执行了写操作的扇区对应的扇区号(即扇区的编号)写入到 分钟刷新表中,相应的本次写操作过程结束。
步骤6,拒绝本次写操作,且本次写操作过程结束。 实施处理过程二
如图6所示,相应的根据时间索引判断当前扇区是否允许写操作的处理过 程具体可以包括
步骤1,当需要执行针对磁盘的写操作时,判断当前时间与系统保存的最 后一次写操作时间差是否大于预定的值(如5分钟或其他预定时间等),若 是,则认为系统时间被非法修改,并执行步骤5,否则,执行步骤2;
步骤2,根据当前待执行写操作的扇区对应的时间索引值确定当前时间与 上一次磁盘操作时间之间的差值(即间隔时长),并判断相应的间隔时长是 否大于预先设置的允许磁盘操作间隔时间T1,若是,则执行步骤3,否则,执 行步骤4;
在该步骤中,若时间索引值记录的是当前时间与上一次磁盘操作时间之 间的差值,则可以直接确定相应的间隔时长;若时间索引值记录的是上一次 磁盘操作时间,则需要根据时间索引值记录的上 一 次磁盘操作时间及当前时间确定相应的间隔时长,例如,时间索引值为62,则上一次磁盘操作时间为
2: 00,若当前时间为6: 00,则相应的间隔时长记录为4小时;
步骤3,判断所述间隔时长是否大于数据保护有效时间T2,若是,则执行 步骤4,否则,执行步骤6;
步骤4,允许执行本次写操作,并针对磁盘中的相应扇区执行本次写操 作,在相应扇区写入相应的信息。
步骤5,上报告警信息,并执行步骤6;
步骤6,不允许执行本次写操作。
可见,在上述图6所示的处理过程中,磁盘控制器为防止系统时间被非法
修改,进而非法更改石兹盘中保存的相应文件,增加了相应的步骤1的操:作,该
操作具体可以为存储系统将每次读写操作的时间都更新在一个非易失的内 存中,以保存针对存储系统的磁盘的一个最后修改时间;之后,当存储系统 判断当前时间和保存的最后修改时间之间的差值大于预定的时间值(如5分钟 等),则认为存储系统的时间遭到非法修改,此时,可以上报相应的告警信 息并拒绝相应的磁盘操作。
本发明实施例还提供了一种磁盘控制器,其具体实现结构如图7所示,主 要可以包括以下处理单元
(1 )参数获取单元701 ,用于在执行磁盘操作前,获取待操作的当前磁 盘区域对应的操作控制参数,所述操作控制参数用于表示是否允许操作当前 磁盘区域,如是否允许对当前待操作的扇区进行写操作等;
可选地,相应的操作控制参数包括操作控制时间参数或操作控制事件 参数中的至少一项;
(2)磁盘操作控制处理单元702,用于在根据所述参数获取单元701获 取的操作控制参数确定允许对所述当前磁盘区域进行操作时,执行所述磁盘 操作;其中,根据采用的操作控制参数的不同,该磁盘操作控制处理单元702具 体可以但不限于采用以下任一处理方式进行磁盘操作控制 处理方式一
若所述的操作控制时间参数包括允许磁盘操作间隔时间,则所述磁盘操
作控制处理单元具体包括判断当前时间与上一次》兹盘操作时间之间的间隔
时长是否符合所述允许磁盘操作间隔时间要求,若符合,则允许本次磁盘操 作,否则,禁止本次磁盘操作;
处理方式二
若所述的操作控制时间参数包括允许磁盘操作间隔时间和数据保护有效 时间,则所述磁盘操作控制处理单元具体包括判断当前时间与上一次磁盘 操作时间之间的间隔时长是否符合所述允许磁盘操作间隔时间要求,若符 合,则允许本次磁盘操作,否则,判断当前时间与上一次磁盘操作时间之间 的间隔时长是否符合所述数据保护有效时间要求,若符合,则禁止本次磁盘 操作,否则,允许本次磁盘操作。
可选地,该磁盘控制器还可以包括时间信息记录单元703,用于通过时间 索引值记录所述当前时间与上一次磁盘操作时间之间的间隔时长或上一次磁
方式记录所述当前时间与上一次磁盘操作时间之间的间隔时长;其中,该时 间信息记录单元具体可以采用以下任一记录方式进行时间信息的记录 记录方式一
若所述当前时间与上 一次磁盘4喿作时间之间的间隔时长小于60分钟,则 采用分钟作为计时单位进行间隔时长或上一次磁盘操作时间的统计;若所述 当前时间与上一次磁盘操作时间之间的间隔时长大于60分钟小于24小时,则 采用小时作为计时单位进行间隔时长或上一次磁盘操作时间的统计;若所述 当前时间与上一次磁盘操作时间之间的间隔时长大于24小时小于1个月,则采用天作为计时单位进行间隔时长或上一次磁盘操作时间的统计;若所述当前 时间与上一次磁盘搡作时间之间的间隔时长大于1个月,则采用月作为计时单 位进4亍间隔时长或上一次》兹盘才喿作时间的统计; 记录方式二
若所述当前时间与上 一 次磁盘操作时间之间的间隔时长小于60分钟,则 以分钟为单位记录所述间隔时长或上一次磁盘操作时间的分钟值,取值范围 为0 - 60;若所述当前时间与上一次磁盘操作时间之间的间隔时长大于60分钟 小于24小时,则采用HH + 60记录所述间隔时长或上一次磁盘操作时间,其 中,HH表示实际间隔时长或上一次磁盘操作时间的小时值,单位为小时,取 值范围为0 - 24;若所述当前时间与上一次磁盘操作时间之间的间隔时长大于 24小时小于1个月,则采用DD + 83记录所述间隔时长或上一次磁盘操作时 间,其中,DD表示实际间隔时长或上一次磁盘操作时间中的日期值,单位为 天,取值范围为O-31;若所述当前时间与上一次磁盘操作时间之间的间隔时 长大于1个月,则采用1\^1/1 + 114记录所述间隔时长或上一次磁盘操作时间, 其中,MM表示实际间隔时长或上一次磁盘操作时间的月份值,单位为月,取 值范围为0-141。
基于上述时间信息记录方式,在该磁盘控制器中还可以包括刷新表记录 单元704,用于采用分钟刷新表、小时刷新表、日刷新表或月刷新表中的至少 一种表,分别记录采用对应的分钟、小时、日或月作为时间索引统计单位的 扇区,并记录扇区对应的时间索引值。
可选地,在该磁盘控制器中还可以包括非法修改时间识别单元705,用于 识别当前系统时间与存储系统的最后一次磁盘操作时间之间的间隔是否大于 预定的时间值,若大于,则拒绝针对存储系统的磁盘操作,否则,通知所述 参数获取单元执行相应的操作。
综上所述,本发明实施例采用了一种简单的、未基于应用和操作系统的磁盘写保护方式,从而可以针对磁盘中存储数据的有效保护,例如,可以满 足塞班斯法案对于文件在一定时间内不允许被改写的要求,等等。本发明实 施例提供的实现方案具有易于实现、物理上安全可靠及能够有效防范非法意 图的修改、控制方式灵活等优点。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不 局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可 轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明 的保护范围应该以权利要求的保护范围为准。
权利要求
1. 一种磁盘操作的保护方法,其特征在于,包括接收磁盘操作请求,磁盘控制器获取待操作的当前磁盘区域对应的操作控制参数,根据所述操作控制参数判断是否允许操作当前磁盘区域;当根据所述操作控制参数确定允许对所述当前磁盘区域进行操作时,则执行所述磁盘操作。
2、 根据权利要求1所述的方法,其特征在于,所述的操作控制参数包 括操作控制时间参数或操作控制事件参数中的至少 一项。
3、 根据权利要求2所述的方法,其特征在于,所述的操作控制时间参数包括允许磁盘操作间隔时间,且判断是否允许 操作当前磁盘区域的过程具体包括判断当前时间与上一次磁盘操作时间之 间的间隔时长是否符合所述允许磁盘操作间隔时间要求,若符合,则允许本 次磁盘操作,否则,禁止本次磁盘操作;或者,所述的操作控制时间参数包括允许磁盘操作间隔时间和数据保护有效时 间,且判断是否允许操作当前磁盘区域的过程具体包括判断当前时间与上 一次磁盘操作时间之间的间隔时长是否符合所述允许磁盘操作间隔时间要 求,若符合,则允许本次磁盘操作,否则,判断当前时间与上一次磁盘操作 时间之间的间隔时长是否符合所述数据保护有效时间要求,若符合,则禁止 本次磁盘操作,否则,允许本次磁盘操作。
4、 根据权利要求3所述的方法,其特征在于,该方法还包括通过时间索引值记录所述当前时间与上一次磁盘操作时间之间的间隔时 长,且所述的时间索引值为采用精确度逐渐降低的非线性时间统计方式记录 所述当前时间与上 一 次石兹盘操作时间之间的间隔时长。
5、 根据权利要求4所述的方法,其特征在于,所述的非线性时间统计方式具体包括若所述当前时间与上 一 次磁盘操作时间之间的间隔时长小于60分钟,则 采用分钟作为计时单位进行间隔时长或上一次磁盘操作时间的统计;若所述 当前时间与上一次磁盘操作时间之间的间隔时长大于60分钟小于24小时,则 采用小时作为计时单位进行间隔时长或上一次磁盘操作时间的统计;若所述 当前时间与上一次磁盘操作时间之间的间隔时长大于24小时小于1个月,则采 用天作为计时单位进行间隔时长或上一次磁盘操作时间的统计;若所述当前 时间与上一次磁盘操作时间之间的间隔时长大于1个月,则采用月作为计时单 位进行间隔时长或上一次i兹盘才乘作时间的统计;或者,若所述当前时间与上 一次磁盘操作时间之间的间隔时长小于60分钟,则 以分钟为单位记录所述间隔时长或上一次磁盘操作时间的分钟值,取值范围 为0 - 60;若所述当前时间与上一次磁盘操作时间之间的间隔时长大于60分钟 小于24小时,则采用HH + 60记录所述间隔时长或上一次磁盘操作时间,其 中,HH表示实际间隔时长或上一次磁盘操作时间的小时值,单位为小时,取 值范围为0-24;若所述当前时间与上一次磁盘操作时间之间的间隔时长大于 24小时小于1个月,则采用00 + 83记录所述间隔时长或上一次磁盘操作时 间,其中,DD表示实际间隔时长或上一次磁盘操作时间中的日期值,单位为 天,取值范围为0-31;若所述当前时间与上一次磁盘操作时间之间的间隔时 长大于1个月,则采用1^1!/1 + 114记录所述间隔时长或上一次磁盘操作时间, 其中,MM表示实际间隔时长或上一次磁盘操作时间的月份值,单位为月,取 值范围为O- 141。
6、 根据权利要求5所述的方法,其特征在于,该方法还包括 采用分钟刷新表、小时刷新表、日刷新表或月刷新表中的至少一种表,分别记录采用对应的分钟、小时、日或月作为时间索引统计单位的扇区信 息,并记录扇区对应的时间索引值。
7、 根据权利要求1至6任一项所述的方法,其特征在于,在获取所述磁盘操作控制参数之前,该方法还包括判断当前系统时间与存储系统的最后 一次磁盘操作时间之间的间隔是否 大于预定的时间值,若判断为是,则拒绝针对存储系统的磁盘操作,若判断 为否则执行获取所述磁盘操作控制参数的步骤。
8、 一种磁盘控制器,其特征在于,包括参数获取单元,用于在接收磁盘操作请求后,获取待操作的当前磁盘区 域对应的操作控制参数,所述操作控制参数用于表示是否允许操作当前磁盘 区域;磁盘操作控制处理单元,用于根据所述参数获取单元获取的操作控制参 数判断是否允许操作当前磁盘区域,并在确定允许对所述当前磁盘区域进行 操作时,执行所述磁盘操作。
9、 根据权利要求8所述的磁盘控制器,其特征在于,所述的操作控制参 数包括操作控制时间参数或操作控制事件参数中的至少一项。
10、 根据权利要求9所述的磁盘控制器,其特征在于, 若所述的操作控制时间参数包括允许磁盘操作间隔时间,则所述磁盘操作控制处理单元具体包括判断当前时间与上一次磁盘操作时间之间的间隔 时长是否符合所述允许磁盘操作间隔时间要求,若符合,则允许本次磁盘操 作,否则,禁止本次磁盘操作; 或者,若所述的操作控制时间参数包括允许磁盘操作间隔时间和数据保护有效 时间,则所述磁盘操作控制处理单元具体包括判断当前时间与上一次磁盘 操作时间之间的间隔时长是否符合所述允许磁盘操作间隔时间要求,若符合,则允许本次磁盘操作,否则,判断当前时间与上一次磁盘操作时间之间 的间隔时长是否符合所述数据保护有效时间要求,若符合,则禁止本次磁盘 4乘作,否则,允许本次磁盘操作。
11、 根据权利要求10所述的磁盘控制器,其特征在于,该磁盘控制器还 包括时间信息记录单元,用于通过时间索引值记录所述当前时间与上一次磁 盘操作时间之间的间隔时长或上一次磁盘操作时间,且所述的时间索引值为 采用精确度逐渐降低的非线性时间统计方式记录所述当前时间与上一次磁盘 操作时间之间的间隔时长或上一次磁盘操作时间。
12、 根据权利要求11所述的磁盘控制器,其特征在于,所述的间隔时长记录单元具体包括若所述当前时间与上一次磁盘操作时间之间的间隔时长小于60分钟,则 采用分钟作为计时单位进行间隔时长或上一次磁盘操作时间的统计;若所述 当前时间与上一次石兹盘操作时间之间的间隔时长大于60分钟小于24小时,则 采用小时作为计时单位进行间隔时长或上一次磁盘操作时间的统计;若所述 当前时间与上一次磁盘操作时间之间的间隔时长大于24小时小于1个月,则采 用天作为计时单位进行间隔时长或上一次磁盘操作时间的统计;若所述当前 时间与上一次磁盘操作时间之间的间隔时长大于1个月,则采用月作为计时单 位进行间隔时长或上一次>磁盘#:作时间的统计;或者,若所述当前时间与上 一次-磁盘#:作时间之间的间隔时长小于60分钟,则 以分钟为单位记录所述间隔时长或上一次磁盘操作时间的分钟值,取值范围为0-60;若所述当前时间与上一次磁盘操作时间之间的间隔时长大于60分钟 小于24小时,则采用HH + 60记录所述间隔时长或上一次磁盘操作时间,其 中,HH表示实际间隔时长或上一次磁盘操作时间的小时值,单位为小时,取 值范围为0 - 24;若所述当前时间与上一次磁盘操作时间之间的间隔时长大于24小时小于1个月,则采用00 +83记录所述间隔时长或上一次磁盘操作时 间,其中,DD表示实际间隔时长或上一次磁盘操作时间中的日期值,单位为 天,取值范围为0 - 31;若所述当前时间与上一次磁盘操作时间之间的间隔时 长大于1个月,则釆用MM + 114记录所述间隔时长或上一次磁盘操作时间, 其中,MM表示实际间隔时长或上一次磁盘操作时间的月份值,单位为月,取 值范围为O- 141。
13、 根据权利要求12所述的磁盘控制器,其特征在于,该磁盘控制器还 包括刷新表记录单元,用于采用分钟刷新表、小时刷新表、日刷新表或月刷 新表中的至少一种表,分别记录采用对应的分钟、小时、日或月作为时间索 引统计单位的扇区信息,并记录扇区对应的时间索引值。
14、 根据权利要求8至13任一项所述的磁盘控制器,其特征在于,该磁盘 控制器还包括非法修改时间识别单元,用于识别当前系统时间与存储系统的 最后一次磁盘操作时间之间的间隔是否大于预定的时间值,若大于,则拒绝 针对存储系统的磁盘操作,否则,通知所述参数获取单元。
全文摘要
一种磁盘操作的保护方法及磁盘控制器,其主要包括接收磁盘操作请求,磁盘控制器获取待操作的当前磁盘区域对应的操作控制参数,根据所述操作控制参数判断是否允许操作当前磁盘区域;当根据所述操作控制参数确定允许对所述当前磁盘区域进行操作时,则执行所述磁盘操作。本发明实施例的实现可以针对磁盘中存储的数据进行相应的操作保护,以有效防范非法意图的修改等非法磁盘操作,并可以在数据产生过程中实施相应的磁盘保护,克服现有技术中提供的磁盘保护机制存在的缺陷。
文档编号G06F12/14GK101286142SQ20081009814
公开日2008年10月15日 申请日期2008年5月19日 优先权日2008年5月19日
发明者徐明军, 帅 肖 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1