一种高效获取磁盘读写IO数据信息的系统及其方法与流程

文档序号:22400709发布日期:2020-09-29 18:13阅读:377来源:国知局
一种高效获取磁盘读写IO数据信息的系统及其方法与流程

本发明属于计算机数据保护领域,涉及一种高效获取磁盘读写io数据信息的系统及其方法。



背景技术:

随着经济的发展、社会的进步以及信息时代的到来,计算机数据保护技术正在不断受到日益增长的使用需求带来的新挑战,尤其在大数据、数据云背景下,计算机数据保护的跨地域性、准确性和稳定性以及实时性、精细度问题都日益突出,使得传统的工作模式和信息处理方式越来越不能适应现代社会、军事的发展要求,新技术的发展迫在眉睫。

传统的计算机数据保护技术有:

1、整体拷贝重要计算机数据磁盘。从本质上讲,这种保护方式是最原始和简单的数据保护方式。但是,这样的方式在时间和空间上,都会造成大量的资源浪费,因为全盘的拷贝方式效率极低,不仅速度慢,还会保存大量垃圾数据,造成资源浪费。

2、将需要保护的数据设置为不可写(不可删除)状态。对于软盘这种具有写保护的存储设备来说不是什么问题,但是对于现在广泛应用的硬盘设备来说,要做到这一点几乎是不可能的。实际上,无论将文件设置为“只读”、“隐藏”还是修改注册表,或者使用数据保护软件,都不能确保文件不会被删除。将一个文件删除时其实只是在目录记录区将要删除的文件的第一个字符进行修改,这样系统就认为这个文件不存在了,也就是说,我们将一个文件删除时,其实就是在对这个文件进行写入操作。所以,不能将需要保护的数据完全的设置为不可写状态,这就是此类数据保护方法的致命缺点。



技术实现要素:

为了解决高效保护计算机数据的问题,本发明采用了“内核层+应用层”的实现方式,“内核层”是指磁盘过滤驱动设备,“应用层”是指应用软件。

本发明旨在提供一种高效并且稳定的获取磁盘读写io数据信息的方法,在不过多占用电脑内存的情况下,解决了计算机数据保护时的数据获取问题。

一种高效获取电脑磁盘读写io数据信息的系统,包括:磁盘过滤驱动设备和获取数据的应用软件;

磁盘过滤驱动设备,所述磁盘过滤驱动设备安装于被保护计算机的磁盘驱动之上,在此需要说明的是,一个磁盘过滤驱动设备只能对应一个被保护计算机的磁盘;

获取数据的应用软件,所述应用软件通过与所述磁盘过滤驱动设备进行交互,通过remap映射到应用软件中,所映射的地址中包含数据信息和具体数据,即在应用软件中就可以获取到具体的磁盘的每一次io操作的数据信息。

在本发明的一个优选实施例中,一个磁盘过滤驱动设备监听一个磁盘的读写io数据信息,当系统对磁盘的读写操作完成时,磁盘过滤驱动设备在第一时间对数据信息进行获取。所述磁盘过滤驱动设备中建立数据缓冲池,所述应用软件与磁盘过滤驱动设备通过系统api函数进行通信,并且将所述数据缓冲池的数据信息映射至应用软件中,使得应用软件能够获取所述磁盘过滤驱动设备保存的数据信息,从而进行数据信息的获取。

在本发明的另一个优选实施例中,所述磁盘过滤驱动设备中建立n个(n>1)数据缓冲池,这n个数据缓冲池交替使用。这样能够有效提高应用软件获取数据时的工作效率,并且对瞬间到来的数据波进行平滑处理,有利于降低cpu的瞬间占用率,提高系统的稳定性。

在获取所述的数据信息时,当磁盘瞬间的读写io数据信息量过大时,缓冲池处于满状态时,触发回补机制,在所述的磁盘过滤驱动中创建数据链表,记录磁盘io信息,保证获取到数据信息的完整性。

通过以上技术方案,本发明的技术效果在于:

本发明的目的是提供一种高效获取磁盘数据读写io信息的方法,实现了在不影响原计算机正常工作的情况下,高效率的磁盘读写io数据信息获取。所谓高效是由于该方法能够及时传输获取到的数据信息,并且能够获取系统读写磁盘的最小的操作粒度。在实施的过程中,能够平滑短时间内的数据尖峰,降低系统忙碌状态下的cpu占用率,提高操作的稳定性,避免对系统中其他进程操作造成影响的积极效果。且在已使用的数据缓冲池数量大于数据缓冲池阈值时,回补机制触发,保证了获取的数据信息的完整性。

附图说明

图1是缓存机制示意图;

图2是回补机制示意图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

实施例1,当io数据量在数据缓冲池的容纳范围内,没有触发回补机制时:

参照图1所示,一种高效获取电脑磁盘读写io数据信息的缓存方法,包括以下步骤:

(1)创建一个磁盘过滤驱动设备,挂载在系统磁盘驱动设备上。

(2)在所述的磁盘过滤驱动设备中,创建n个环形缓冲池作为环形队列,数据缓冲池的大小可根据具体设备数据量拟定,若数据量大,则数据缓冲池稍大,若数据量小,则数据缓冲池稍小。数据缓冲池的单位为兆字节量级。

(3)在所述的磁盘过滤驱动设备中,将n个数据缓冲池的地址通过remap映射到应用软件中。

(4)在所述的磁盘过滤驱动设备中,获取系统数据信息,并且将数据信息和具体数据存储到分配好的数据缓冲池1中。

(5)当所述的数据缓冲池1中存满后,通知应用软件取走该池中的数据,取走数据后该池处于空闲状态,供下次存放数据信息。地址中包含数据信息和具体数据,通过地址获取的数据和io信息减少了一次数据的拷贝,大大减少了cpu的使用,在不占用电脑内存的情况下,从而调高了数据信息捕获效率。

(6)使用所述的应用软件访问映射后的内存地址,对所述数据缓冲池1中的数据进行读取。先获取数据头信息,再获取数据具体内容。

(7)所述应用软件拷贝完存储在数据缓冲池1中的数据后,向所述的磁盘过滤驱动设备发送数据拷贝完成信息,所述磁盘过滤驱动设备清空所述数据缓冲池1中的数据,数据缓冲池1为空闲状态,等待下一次数据的填充。

通过数据缓冲池以及应用软件交互的设计,实现内核数据与系统上层的数据交互,从而获取到系统写磁盘的最小操作粒度的读写io信息获取从某一时刻点开始后的写磁盘操作内容,达到数据保护的目的。

实施例2,当io数据量过大,即io数据量不在数据缓冲池的容纳范围内,触发回补机制时:

参照图2所示,一种高效获取电脑磁盘读写io数据信息的回补机制,已使用的数据缓冲池数量大于数据缓冲池阈值时,为了防止因数据缓冲池溢出而造成数据信息丢失,需要通过回补机制进行快速处理。包括以下几个具体的实施步骤:

(1)创建一个磁盘过滤驱动设备,挂载在系统磁盘驱动设备上。

(2)在所述的磁盘过滤驱动设备中,创建n个环形缓冲池作为环形队列,数据缓冲池的大小可根据具体设备数据量拟定,若数据量大,则数据缓冲池稍大,若数据量小,则数据缓冲池稍小。数据缓冲池的单位为兆字节量级。

(3)设置触发回补方法的阈值m,假设数据缓冲池有n个,阈值设为m,其中m、n∈n+,且n≥m;当所述磁盘过滤驱动设备上的上设置的内存磁中存满的数据缓冲池数量≥m时,回补机制触发。

(4)在所述的磁盘过滤驱动设备中,创建一个数据链表。

(5)在所述的磁盘过滤驱动设备中,将n个数据缓冲池的地址通过remap映射到应用软件中。

(6)在所述的磁盘过滤驱动设备中,获取系统数据信息,并且将数据信息和具体数据存储到分配好的数据缓冲池1中。

(7)当所述的数据缓冲池1中存满后,通知应用软件取走该池中的数据,取走数据后该池处于空闲状态,供下次存放数据信息。地址中包含数据信息和具体数据,通过地址获取的数据和io信息减少了一次数据的拷贝,大大减少了cpu的使用,在不占用电脑内存的情况下,从而调高了数据信息捕获效率。

(8)当io操作信息存入所述数据缓冲池时,当已使用的数据缓冲池数量大于数据缓冲池阈值时,在所述的数据链表中存储磁盘扇区号和长度快速记录下当前的磁盘io信息。

(9)使用所述的应用软件访问映射后的内存地址,对所述数据缓冲池1中的数据进行读取。先获取数据头信息,再获取数据具体内容。

(10)所述应用软件拷贝完存储在数据缓冲池1中的数据后,向所述的磁盘过滤驱动设备发送数据拷贝完成信息,所述磁盘过滤驱动设备清空所述数据缓冲池1中的数据,数据缓冲池1为空闲状态,等待下一次数据的填充。

(11)在所述的磁盘过滤驱动设备中,当处于工作空闲状态时,根据所述的数据链表中存储的数据信息,将数据信息从物理磁盘上读取,并交给所述的磁盘过滤设备,进行二次处理,处理完成的数据,所述应用软件得到映射后的内存地址,所说所述书库换冲刺1中的数据进行读取,保证数据信息捕获的完整性。

综上所述,本发明能实现最小粒度上的磁盘读写io数据获取功能,所述磁盘过滤驱动设备捕获磁盘数据信息的方法,巧妙的在磁盘块设备上的原有架构上,通过数据包+数据缓存池+回补机制,实现了完整的捕获磁盘读写io数据信息功能。即不影响原磁盘块设备的读写性能,又可以高效捕获并处理数据信息,还能够平滑数据尖峰,降低系统cpu占用率,高效稳定,具有广泛的应用前景。

对比传统的传统的计算机数据保护技术,本发明在时间和空间上节省了资源,并且不会造成大量资源浪费,在基本不影响计算机本身性能的前提下,对磁盘的io信息进行备份,并且设置有回补机制,回补机制的设置,是在瞬间的io数据量过大时,创建数据链表,在回补机制触发时,在数据链表中存储磁盘的扇区号和长度快速记录下当前磁盘的io信息,在所述的磁盘过滤确定设备处于空闲工作状态时,读取所述数据链表的信息,再将数据信息从物理磁盘中读取,并交给所述的磁盘过滤设备,进行二次处理,处理完成的数据,所述应用软件得到映射后的内存地址,所说所述书库换冲刺1中的数据进行读取,进而达到数据备份的目的。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1