CN105260132A - 一种热加载磁盘过滤驱动的方法与设备 - Google Patents

一种热加载磁盘过滤驱动的方法与设备 Download PDF

Info

Publication number
CN105260132A
CN105260132A CN201510599907.9A CN201510599907A CN105260132A CN 105260132 A CN105260132 A CN 105260132A CN 201510599907 A CN201510599907 A CN 201510599907A CN 105260132 A CN105260132 A CN 105260132A
Authority
CN
China
Prior art keywords
write request
disk
processing module
disk filter
drive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510599907.9A
Other languages
English (en)
Other versions
CN105260132B (zh
Inventor
朱光穆
盛杰
任养超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Long Ying Century (beijing) Technology Co Ltd
Original Assignee
Long Ying Century (beijing) Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Long Ying Century (beijing) Technology Co Ltd filed Critical Long Ying Century (beijing) Technology Co Ltd
Priority to CN201510599907.9A priority Critical patent/CN105260132B/zh
Publication of CN105260132A publication Critical patent/CN105260132A/zh
Application granted granted Critical
Publication of CN105260132B publication Critical patent/CN105260132B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本申请的目的是提供一种用于热加载磁盘过滤驱动的方法与设备。具体地,确定待保护磁盘对应的磁盘驱动;获取所述磁盘驱动中写请求处理模块的第一入口地址;将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块;通过所述写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理。与现有技术相比,本申请确定待保护磁盘与对应磁盘驱动之间的写请求处理模块的地址,替换所述地址中的写请求处理模块为写请求转发模块,通过写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理,达到磁盘驱动热加载的目的,从而保持被保护磁盘运行稳定,降低人力运维成本。

Description

一种热加载磁盘过滤驱动的方法与设备
技术领域
本申请涉及计算机领域,尤其涉及一种用于热加载磁盘过滤驱动的技术。
背景技术
随着大数据时代的来临,云计算、数据挖掘、互联网应用等技术随着迅速发展,数据存储磁盘运行的稳定和安全愈显重要。因此,现有技术通过在被保护磁盘添加磁盘过滤驱动将截获的数据发送至备份管理系统,从而实现对磁盘的数据保护。
然而,现有技术在添加磁盘过滤驱动时往往需要将原本的挂载设备替换为磁盘过滤驱动设备,从而使得在安装和卸载磁盘过滤驱动时需要重启系统,使得系统运行中断,运行稳定性降低,且因为挂载设备的变动被保护磁盘与挂载目录之间的对应关系也需要修改,增加了运维人员的管理复杂度,增加人力成本。
发明内容
本申请的一个目的是提供一种热加载磁盘过滤驱动的方法与设备。
为实现上述目的,根据本申请的一个方面,提供了一种热加载磁盘过滤驱动的方法,该方法包括:
确定待保护磁盘对应的磁盘驱动;
获取所述磁盘驱动中写请求处理模块的第一入口地址;
将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块;
通过所述写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理。
根据本申请的另一个方面,提供了一种热加载磁盘过滤驱动的设备,该设备包括:
第一装置,用于确定待保护磁盘对应的磁盘驱动;
第二装置,用于获取所述磁盘驱动中写请求处理模块的第一入口地址;
第三装置,用于将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块;
第四装置,用于通过所述写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理。
与现有技术相比,本申请通过确定待保护磁盘与对应磁盘驱动之间的写请求处理模块的地址,并替换所述地址中的写请求处理模块为写请求转发模块,进而通过写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理,使得磁盘过滤驱动在被保护磁盘与磁盘对应的磁盘驱动之间动态插入,达到磁盘驱动热加载的目的。解决了在使用磁盘过滤驱动时安装卸载磁盘过滤驱动以及磁盘驱动需要重启系统,且会改变被保护磁盘与挂载目录之间对应关系的问题,从而保持被保护磁盘运行稳定,且简化运维人员的管理复杂度降低人力成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种用于热加载磁盘过滤驱动的设备示意图;
图2示出根据本申请另一个优选实例的一种用于热加载磁盘过滤驱动的设备中第四装置示意图。
图3示出根据本申请另一个优选实例的热加载磁盘过滤驱动之前磁盘驱动示意图;
图4示出根据本申请另一个优选实例的热加载磁盘过滤驱动示意图;
图5示出根据本申请另一个方面的一种用于热加载磁盘过滤驱动的方法流程图;
图6示出根据本申请一个优选实例的一种热加载磁盘过滤驱动的方法中步骤S4流程图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
图1示出根据本申请一个方面的一种用于热加载磁盘过滤驱动的设备示意图。所述设备1包括第一装置11、第二装置12、第三装置13以及第四装置14。
其中,第一装置11确定待保护磁盘对应的磁盘驱动;第二装置12获取所述磁盘驱动中写请求处理模块的第一入口地址;第三装置13将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块;第四装置14通过所述写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理。
具体地,所述设备1中第一装置11确定待保护磁盘对应的磁盘驱动是指获取待保护磁盘特征信息并根据所述特征信息寻找待保护磁盘所对应的磁盘驱动,例如,在Linux系统中获取用户输入的带保护磁盘名称并根据所述磁盘名称找到所需保护磁盘所对应的磁盘驱动所在位置。其中,待保护磁盘的特征信息包括但不限于磁盘的名称、磁盘在系统中的文件路径等,因此,确定所述待保护磁盘对应的磁盘驱动的方法包括但不限于磁盘过滤驱动根据磁盘名称查找或根据文件路径等。所述与磁盘对应的磁盘驱动与物理磁盘一一对应,当所述磁盘为逻辑磁盘时,多个分区磁盘对应同一个磁盘驱动。确定待保护磁盘对应的磁盘驱动方便在磁盘以及磁盘驱动之间进行磁盘过滤驱动的热加载。
优选地,所述磁盘包括块设备。即所述待保护磁盘包括拥有自己的地址,能独立于其它块而进行读写的块设备,其中,块设备需要进行缓存读写的外部存储器均包含于此,例如,U盘、SD卡、Flash、RAMDisk、loopback设备等,所述块设备均有对应的磁盘驱动。且在所有以块设备形式表现的设备都是适用的,无论本地还是网络,有对应硬件的还是虚拟的,例如,在云计算机中网络存储的驱动所模拟的本地磁盘。
本领域技术人员应能理解上述确定待保护磁盘对应磁盘驱动的方式仅为举例,其他现有的或今后可能出现的确定待保护磁盘对应磁盘驱动的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
接着,第二装置12获取所述磁盘驱动中写请求处理模块的第一入口地址,其中,所述写请求处理模块是指接受磁盘向磁盘驱动所发起写请求的模块,例如写请求处理函数但不限于此,所有能完成接受磁盘写请求并发送至磁盘对应的磁盘驱动的功能模块均包含于此。所述第一入口地址是指写请求处理模块在所述磁盘驱动的初始位置地址,在未进行磁盘过滤驱动加载之前所述被保护磁盘所发出的写请求均发往所述第一入口地址。如图3所示,/dex/sdx即为在/dex/入口下建立访问节点的磁盘sdx,sddrvier即为磁盘sdx所对应的磁盘驱动,磁盘sdx向磁盘驱动sddrvier发出写请求“WRITE”,根据已知的磁盘驱动sddrvier写请求处理函数入口地址该写请求被发往sddrvier写请求处理函数并进一步被发往sddrvier。获取所述写请求处理模块第一入口地址的方法包括但不限于通过磁盘驱动所在目录进行查找或在待保护磁盘所在文件中对所保存的地址信息进行查询。
本领域技术人员应能理解上述获取写请求处理模块第一入口地址的方式仅为举例,其他现有的或今后可能出现的获取写请求处理模块第一入口地址的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
第三装置13将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块是指根据所获取的第一入口地址,将地址中的写请求处理模块进行替换,替换为写请求转发处理模块后,由磁盘所发出的写请求即会被发送至写请求转发处理模块。其中,所述写请求转发处理模块是指代替写请求处理模块接受由磁盘发出的写请求,并将写请求转发至待保护磁盘所对应的磁盘过滤驱动中,同时接受待保护磁盘所对应的磁盘过滤驱动中所发出的处理完的写请求,并将写请求转发给待保护磁盘所对应的磁盘驱动中的功能模块,例如图4中所示的写请求转发处理函数。接图3中的举例,图4中sddrvier写请求处理函数入口被替换为写请求转发处理函数,写请求转发处理函记录sddrvier写请求处理函数的新地址,因此磁盘sdx根据入口地址向磁盘驱动sddrvier发出写请求“WRITE”被写请求转发处理函数截获并转发至磁盘过滤驱动ourdriver,从而在系统未被重新启动的情况下将磁盘过滤驱动加载完成,使得系统稳定运行,避免业务中断,同时因为采取替换写请求处理模块的方式使得待保护磁盘与对应的磁盘驱动之间的目录关系未被改变。
本领域技术人员应能理解上述将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块的方式仅为举例,其他现有的或今后可能出现的将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
第四装置14通过所述写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理。即被保护磁盘根据所记录的写请求处理模块的地址将写请求进行发送,该地址中现有的所述写请求转发处理模块接受并根据磁盘过滤驱动的地址将所述写请求转发至对应的磁盘过滤驱动进行处理,从而完成磁盘过滤驱动的热加载过程,即如图4中所示写请求“WRITE”被写请求转发处理函数截获并转发至磁盘过滤驱动ourdriver。所述转发过程因为占用写请求处理模块地址对写请求进行截获和转发,在不重启系统的情况下加载磁盘过滤驱动,因此对系统产生的影响很小,提升了系统运行的稳定性。
图2示出根据本申请另一个优选实例的一种用于热加载磁盘过滤驱动的设备中第四装置示意图。所述第四装置中包括第一单元141、第二单元142以及第三单元143。
其中,第一单元141接收关于所述磁盘的写请求;第二单元142通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动;第三单元143通过所述写请求转发处理模块将经所述磁盘过滤驱动处理后的所述写请求转发至所述写请求处理模块。
具体地,第一单元141接收关于所述磁盘的写请求,即通过所述写请求转发处理模块占用所述写请求处理模块的第一入口地址,使得所述写请求转发处理模块接受发往所述第一入口地址中的写请求,如图4所示,磁盘sdx所发出的写请求“WRITE”被写请求转发处理函数在写请求转发处理函数入口接受,其中,写请求转发处理函数入口即为所占用的原sddriver写请求处理函数的入口。接受关于所述磁盘的写请求便于进一步将写请求发送至磁盘过滤驱动进行处理。
接着,第二单元142通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动,即所述写请求转发处理模块将所接受的写请求根据磁盘过滤驱动的通信地址进行转发,如图4所示,写请求转发函数将写请求“WRITE”发送至磁盘过滤驱动ourdriver,从而使得磁盘过滤驱动获得写请求进而完成对磁盘数据的备份或保护等操作,因为写请求通过原sddriver写请求处理函数的入口后被转发,因此磁盘过滤驱动获得写请求进行工作前不需要进行专门的加载,改变挂载设备目录结构以及重启系统,从而使得系统运行稳定,降低运维人员的管理复杂度。
优选地,所述磁盘过滤驱动工作于内核态,因为被保护磁盘所对应的磁盘过滤驱动在热加载的过程中需要进行写请求处理函数的获取以及替换,因此工作于内核态有助于获取系统中更高的运行权利以及能力,使得热加载过程顺利进行。
接着,第三单元143将经过所述磁盘过滤驱动处理后的所述写请求发送至对应的磁盘驱动,即在所述被保护磁盘对应的磁盘过滤驱动将写请求进行处理后会将写请求发送至被保护磁盘对应的磁盘驱动,在磁盘驱动接受到所述写请求后,在第一入口地址中的写请求转发处理模块根据写请求处理模块的新地址将所述处理后的写请求发送至写请求处理模块,从而使得磁盘与其所对应的磁盘驱动之间完成写请求的发送。如图4所示,写请求“WRITE”通过磁盘过滤驱动ourdriver处理后被发送至sddriver,sddriver中的写请求转发处理函数将所述写请求转发至sddriver写请求处理函数,在这一过程中磁盘sdx中的写请求发送地址未变,所对应的驱动sddriver也可以收到写请求,因此系统不受磁盘过滤驱动加载的影响,运行稳定。
优选地,所述第二单元142在所述写请求中附加预定的标识信息,并通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动。其中,所述预定的标识信息是指标记在写请求中,用于快速识别写请求类别的信息。例如,设定写请求转发处理模块所接受的写请求中,无预定标识信息的是由被保护磁盘发送的写请求,有预定标识信息的是由所述磁盘过滤驱动发送的处理过后的写请求。则写请求转发处理模块在接受到写请求后对写请求进行检测是否有预定的标识信息,若无预定的标识信息,则该写请求源自被保护磁盘所发出,因此在所述写请求中的空白位中进行标记并发送至被保护磁盘所对应的磁盘过滤驱动进行处理。
其中,所述第三单元143去除经所述磁盘过滤驱动处理后的所述写请求中的所述标识信息,并通过所述写请求转发处理模块将去除所述标识信息后的所述写请求转发至所述写请求处理模块。接上文举例,被保护磁盘所对应的磁盘驱动中写请求转发处理模块在接受到写请求后对写请求进行检测是否有预定的标识信息,若有预定的标识信息则该写请求源自被保护磁盘所对应的磁盘过滤驱动处理后所发出,因此将所述写请求中预定标记进行去除,并发送至写请求处理模块进行处理。从而所述被保护磁盘对应的磁盘驱动接受的仍是原来磁盘所发出的写请求,使得系统运行保持原有状态,且通过所述预定标识信息的添加和删除使得写请求转发处理模块得以辨别写请求的来源以及需要发送的对象,使得热加载磁盘过滤驱动的过程效率提升。
更优选地,所述标识信息与所述磁盘相对应,即所述标识信息中可包括磁盘的辨识信息,当多个被保护磁盘共用一个磁盘过滤驱动,例如在物理磁盘被分为多个逻辑磁盘的情况下,磁盘过滤驱动根据写请求中的磁盘辨识信息快速辨识所述写请求所对应的磁盘并进行处理,从而提升磁盘过滤驱动的处理效率。
本领域技术人员应能理解上述写请求转发处理模块在磁盘驱动以及磁盘过滤驱动之间转发写请求的方式仅为举例,其他现有的或今后可能出现的写请求转发处理模块在磁盘驱动以及磁盘过滤驱动之间转发写请求的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
所述设备1还包括第五装置15(未示出),所述第五装置15迁移所述写请求处理模块至第二入口地址是指在写请求处理模块的所述第一入口地址被替换为所述写请求转发处理模块后,被迁移至的第二入口地址。其中所述第二入口地址被写请求转发处理模块所记录,从而据此将磁盘过滤驱动处理后的写请求转发至写请求处理模块,进一步地,当磁盘过滤驱动卸载时,所述写请求处理模块将从第二入口地址重新迁回第一入口地址,恢复系统的正常写请求收发关系。
其中,所述第三单元143根据所述第二入口地址,通过所述写请求转发处理模块将经所述磁盘过滤驱动处理后的所述写请求转发至所述写请求处理模块。如图4所示,写请求转发处理函数接受来自ourdriver的写请求,通过辨识一定标识信息确定所述写请求需要转发至sddriver写请求处理函数,因此,根据所记录的sddriver写请求处理函数新地址将所述写请求进行发送。
优选地,在热加载所述磁盘过滤驱动前后所述磁盘与对应挂载目录保持一致。因为所述被保护磁盘写请求的发送地址为第一入口地址未变动,且被保护磁盘所对应的磁盘驱动所接受的写请求经过转发后亦未变动,因此,在热加载所述磁盘过滤驱动前后所述磁盘与对应挂载目录无需变动,从而使得磁盘过滤驱动在加载前后不需要重启系统,降低对被保护磁盘的干扰,降低运维人员对磁盘的运维的管理复杂度,降低人力成本。
图5示出根据本申请另一个方面的一种用于热加载磁盘过滤驱动的方法流程图。包括步骤S1、步骤S2、步骤S3以及步骤S4。
其中,在步骤S1中设备1确定待保护磁盘对应的磁盘驱动;在步骤S2中设备1获取所述磁盘驱动中写请求处理模块的第一入口地址;在步骤S3中设备1将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块;在步骤S4中设备1通过所述写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理。
具体地,在步骤S1中设备1确定待保护磁盘对应的磁盘驱动是指获取待保护磁盘特征信息并根据所述特征信息寻找待保护磁盘所对应的磁盘驱动,例如,在Linux系统中获取用户输入的带保护磁盘名称并根据所述磁盘名称找到所需保护磁盘所对应的磁盘驱动所在位置。其中,待保护磁盘的特征信息包括但不限于磁盘的名称、磁盘在系统中的文件路径等,因此,确定所述待保护磁盘对应的磁盘驱动的方法包括但不限于磁盘过滤驱动根据磁盘名称查找或根据文件路径等。所述与磁盘对应的磁盘驱动与物理磁盘一一对应,当所述磁盘为逻辑磁盘时,多个分区磁盘对应同一个磁盘驱动。确定待保护磁盘对应的磁盘驱动方便在磁盘以及磁盘驱动之间进行磁盘过滤驱动的热加载。
优选地,所述磁盘包括块设备。即所述待保护磁盘包括拥有自己的地址,能独立于其它块而进行读写的块设备等,其中,块设备需要进行缓存读写的外部存储器均包含于此,例如,U盘、SD卡、Flash、RAMDisk、loopback设备等,所述块设备均有对应的磁盘驱动。
本领域技术人员应能理解上述确定待保护磁盘对应磁盘驱动的方式仅为举例,其他现有的或今后可能出现的确定待保护磁盘对应磁盘驱动的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
接着,在步骤S2中设备1获取所述磁盘驱动中写请求处理模块的第一入口地址,其中,所述写请求处理模块是指接受磁盘向磁盘驱动所发起写请求的模块,例如写请求处理函数但不限于此,所有能完成接受磁盘写请求并发送至磁盘对应的磁盘驱动的功能模块均包含于此。所述第一入口地址是指写请求处理模块在所述磁盘驱动的初始位置地址,在未进行磁盘过滤驱动加载之前所述被保护磁盘所发出的写请求均发往所述第一入口地址。如图3所示,/dex/sdx即为在/dex/入口下建立访问节点的磁盘sdx,sddrvier即为磁盘sdx所对应的磁盘驱动,磁盘sdx向磁盘驱动sddrvier发出写请求“WRITE”,根据已知的磁盘驱动sddrvier写请求处理函数入口地址该写请求被发往sddrvier写请求处理函数并进一步被发往sddrvier。获取所述写请求处理模块第一入口地址的方法包括但不限于通过磁盘驱动所在目录进行查找或在待保护磁盘所在文件中对所保存的地址信息进行查询。
本领域技术人员应能理解上述获取写请求处理模块第一入口地址的方式仅为举例,其他现有的或今后可能出现的获取写请求处理模块第一入口地址的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在步骤S3中设备1将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块是指根据所获取的第一入口地址,将地址中的写请求处理模块进行替换,替换为写请求转发处理模块后,由磁盘所发出的写请求即会被发送至写请求转发处理模块。其中,所述写请求转发处理模块是指代替写请求处理模块接受由磁盘发出的写请求,并将写请求转发至待保护磁盘所对应的磁盘过滤驱动中,同时接受待保护磁盘所对应的磁盘过滤驱动中所发出的处理完的写请求,并将写请求转发给待保护磁盘所对应的磁盘驱动中的功能模块,例如图4中所示的写请求转发处理函数。接图3中的举例,图4中sddrvier写请求处理函数入口被替换为写请求转发处理函数,写请求转发处理函记录sddrvier写请求处理函数的新地址,因此磁盘sdx根据入口地址向磁盘驱动sddrvier发出写请求“WRITE”被写请求转发处理函数截获并转发至磁盘过滤驱动ourdriver,从而在系统未被重新启动的情况下将磁盘过滤驱动加载完成,使得系统稳定运行,避免业务中断,同时因为采取替换写请求处理模块的方式使得待保护磁盘与对应的磁盘驱动之间的目录关系未被改变。
本领域技术人员应能理解上述将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块的方式仅为举例,其他现有的或今后可能出现的将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在步骤S4中设备1通过所述写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理。即被保护磁盘根据所记录的写请求处理模块的地址将写请求进行发送,该地址中现有的所述写请求转发处理模块接受并根据磁盘过滤驱动的地址将所述写请求转发至对应的磁盘过滤驱动进行处理,从而完成磁盘过滤驱动的热加载过程,即如图4中所示写请求“WRITE”被写请求转发处理函数截获并转发至磁盘过滤驱动ourdriver。所述转发过程因为占用写请求处理模块地址对写请求进行截获和转发,在不重启系统的情况下加载磁盘过滤驱动,因此对系统产生的影响很小,提升了系统运行的稳定性。
图6示出根据本申请一个优选实例的一种热加载磁盘过滤驱动的方法中步骤S4流程图。包括步骤S41、步骤S42以及步骤S43。
其中,在步骤S41中设备1接收关于所述磁盘的写请求;在步骤S42中设备1通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动;在步骤S43中设备1通过所述写请求转发处理模块将经所述磁盘过滤驱动处理后的所述写请求转发至所述写请求处理模块。
具体地,在步骤S41中设备1接收关于所述磁盘的写请求,即通过所述写请求转发处理模块占用所述写请求处理模块的第一入口地址,使得所述写请求转发处理模块接受发往所述第一入口地址中的写请求,如图4所示,磁盘sdx所发出的写请求“WRITE”被写请求转发处理函数在写请求转发处理函数入口接受,其中,写请求转发处理函数入口即为所占用的原sddriver写请求处理函数的入口。接受关于所述磁盘的写请求便于进一步将写请求发送至磁盘过滤驱动进行处理。
接着,在步骤S42中设备1通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动,即所述写请求转发处理模块将所接受的写请求根据磁盘过滤驱动的通信地址进行转发,如图4所示,写请求转发函数将写请求“WRITE”发送至磁盘过滤驱动ourdriver,从而使得磁盘过滤驱动获得写请求进而完成对磁盘数据的备份或保护等操作,因为写请求通过原sddriver写请求处理函数的入口后被转发,因此磁盘过滤驱动获得写请求进行工作前不需要进行专门的加载,改变挂载设备目录结构以及重启系统,从而使得系统运行稳定,降低运维人员的管理复杂度。
优选地,所述磁盘过滤驱动工作于内核态,因为被保护磁盘所对应的磁盘过滤驱动在热加载的过程中需要进行写请求处理函数的获取以及替换,因此工作于内核态有助于获取系统中更高的运行权利以及能力,使得热加载过程顺利进行。
接着,在步骤S43中设备1将经过所述磁盘过滤驱动处理后的所述写请求发送至对应的磁盘驱动,即在所述被保护磁盘对应的磁盘过滤驱动将写请求进行处理后会将写请求发送至被保护磁盘对应的磁盘驱动,在磁盘驱动接受到所述写请求后,在第一入口地址中的写请求转发处理模块根据写请求处理模块的新地址将所述处理后的写请求发送至写请求处理模块,从而使得磁盘与其所对应的磁盘驱动之间完成写请求的发送。如图4所示,写请求“WRITE”通过磁盘过滤驱动ourdriver处理后被发送至sddriver,sddriver中的写请求转发处理函数将所述写请求转发至sddriver写请求处理函数,在这一过程中磁盘sdx中的写请求发送地址未变,所对应的驱动sddriver也可以收到写请求,因此系统不受磁盘过滤驱动加载的影响,运行稳定。
优选地,在步骤S42中设备1在所述写请求中附加预定的标识信息,并通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动。其中,所述预定的标识信息是指标记在写请求中,用于快速识别写请求类别的信息。例如,设定写请求转发处理模块所接受的写请求中,无预定标识信息的是由被保护磁盘发送的写请求,有预定标识信息的是由所述磁盘过滤驱动发送的处理过后的写请求。则写请求转发处理模块在接受到写请求后对写请求进行检测是否有预定的标识信息,若无预定的标识信息,则该写请求源自被保护磁盘所发出,因此在所述写请求中的空白位中进行标记并发送至被保护磁盘所对应的磁盘过滤驱动进行处理。
其中,在步骤S43中设备1去除经所述磁盘过滤驱动处理后的所述写请求中的所述标识信息,并通过所述写请求转发处理模块将去除所述标识信息后的所述写请求转发至所述写请求处理模块。接上文举例,被保护磁盘所对应的磁盘驱动中写请求转发处理模块在接受到写请求后对写请求进行检测是否有预定的标识信息,若有预定的标识信息则该写请求源自被保护磁盘所对应的磁盘过滤驱动处理后所发出,因此将所述写请求中预定标记进行去除,并发送至写请求处理模块进行处理。从而所述被保护磁盘对应的磁盘驱动接受的仍是原来磁盘所发出的写请求,使得系统运行保持原有状态,且通过所述预定标识信息的添加和删除使得写请求转发处理模块得以辨别写请求的来源以及需要发送的对象,使得热加载磁盘过滤驱动的过程效率提升。
更优选地,所述标识信息与所述磁盘相对应,即所述标识信息中可包括磁盘的辨识信息,当多个被保护磁盘共用一个磁盘过滤驱动,例如在物理磁盘被分为多个逻辑磁盘的情况下,磁盘过滤驱动根据写请求中的磁盘辨识信息快速辨识所述写请求所对应的磁盘并进行处理,从而提升磁盘过滤驱动的处理效率。
本领域技术人员应能理解上述写请求转发处理模块在磁盘驱动以及磁盘过滤驱动之间转发写请求的方式仅为举例,其他现有的或今后可能出现的写请求转发处理模块在磁盘驱动以及磁盘过滤驱动之间转发写请求的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
所述方法还包括步骤S5(未示出),在步骤S5中设备1迁移所述写请求处理模块至第二入口地址是指在写请求处理模块的所述第一入口地址被替换为所述写请求转发处理模块后,被迁移至的第二入口地址。其中所述第二入口地址被写请求转发处理模块所记录,从而据此将磁盘过滤驱动处理后的写请求转发至写请求处理模块,进一步地,当磁盘过滤驱动卸载时,所述写请求处理模块将从第二入口地址重新迁回第一入口地址,恢复系统的正常写请求收发关系。
其中,在步骤S43中设备1根据所述第二入口地址,通过所述写请求转发处理模块将经所述磁盘过滤驱动处理后的所述写请求转发至所述写请求处理模块。如图4所示,写请求转发处理函数接受来自ourdriver的写请求,通过辨识一定标识信息确定所述写请求需要转发至sddriver写请求处理函数,因此,根据所记录的sddriver写请求处理函数新地址将所述写请求进行发送。
优选地,在热加载所述磁盘过滤驱动前后所述磁盘与对应挂载目录保持一致。因为所述被保护磁盘写请求的发送地址为第一入口地址未变动,且被保护磁盘所对应的磁盘驱动所接受的写请求经过转发后亦未变动,因此,在热加载所述磁盘过滤驱动前后所述磁盘与对应挂载目录无需变动,从而使得磁盘过滤驱动在加载前后不需要重启系统,降低对被保护磁盘的干扰,降低运维人员对磁盘的运维的管理复杂度,降低人力成本。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (16)

1.一种用于热加载磁盘过滤驱动的方法,其中,该方法包括:
确定待保护磁盘对应的磁盘驱动;
获取所述磁盘驱动中写请求处理模块的第一入口地址;
将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块;
通过所述写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理。
2.根据权利要求1所述的方法,其中,所述步骤通过所述写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理包括:
接收关于所述磁盘的写请求;
通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动;
将经过所述磁盘过滤驱动处理后的所述写请求发送至对应的磁盘驱动。
3.根据权利要求2所述的方法,其中,所述步骤通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动包括:
在所述写请求中附加预定的标识信息,并通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动;
其中,所述步骤将经过所述磁盘过滤驱动处理后的所述写请求发送至对应的磁盘驱动包括:
去除经所述磁盘过滤驱动处理后的所述写请求中的所述标识信息,并通过所述写请求转发处理模块将去除所述标识信息后的所述写请求转发至所述写请求处理模块。
4.根据权利要求2或3所述的方法,其中,该方法还包括:
迁移所述写请求处理模块至第二入口地址;
其中,所述步骤将经过所述磁盘过滤驱动处理后的所述写请求发送至对应的磁盘驱动包括:
根据所述第二入口地址,通过所述写请求转发处理模块将经所述磁盘过滤驱动处理后的所述写请求转发至所述写请求处理模块。
5.根据权利要求2至4中任一项所述的方法,其中,所述标识信息与所述磁盘相对应。
6.根据权利要求1至5中任一项所述的方法,其中,所述磁盘过滤驱动工作于内核态。
7.根据权利要求1至6中任一项所述的方法,其中,所述磁盘包括块设备。
8.根据权利要求7所述的方法,其中,在热加载所述磁盘过滤驱动前后所述磁盘与对应挂载目录保持一致。
9.一种用于热加载磁盘过滤驱动的设备,其中,该设备包括:
第一装置,用于确定待保护磁盘对应的磁盘驱动;
第二装置,用于获取所述磁盘驱动中写请求处理模块的第一入口地址;
第三装置,用于将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块;
第四装置,用于通过所述写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理。
10.根据权利要求9所述的设备,其中,所述第四装置包括:
第一单元,用于接收关于所述磁盘的写请求;
第二单元,用于通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动;
第三单元,用于将经过所述磁盘过滤驱动处理后的所述写请求发送至对应的磁盘驱动。
11.根据权利要求10所述的设备,其中,所述第二单元用于:
在所述写请求中附加预定的标识信息,并通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动;
其中,所述第三单元用于:
去除经所述磁盘过滤驱动处理后的所述写请求中的所述标识信息,并通过所述写请求转发处理模块将去除所述标识信息后的所述写请求转发至所述写请求处理模块。
12.根据权利要求10或11所述的设备,其中,该设备还包括:
第五装置,用于迁移所述写请求处理模块至第二入口地址;
其中,所述第三单元用于:
根据所述第二入口地址,通过所述写请求转发处理模块将经所述磁盘过滤驱动处理后的所述写请求转发至所述写请求处理模块。
13.根据权利要求10至12中任一项所述的设备,其中,所述标识信息与所述磁盘相对应。
14.根据权利要求9至13中任一项所述的设备,其中,所述磁盘过滤驱动工作于内核态。
15.根据权利要求9至14中任一项所述的设备,其中,所述磁盘包括块设备。
16.根据权利要求15所述的设备,其中,在热加载所述磁盘过滤驱动前后所述磁盘与对应挂载目录保持一致。
CN201510599907.9A 2015-09-18 2015-09-18 一种热加载磁盘过滤驱动的方法与设备 Active CN105260132B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510599907.9A CN105260132B (zh) 2015-09-18 2015-09-18 一种热加载磁盘过滤驱动的方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510599907.9A CN105260132B (zh) 2015-09-18 2015-09-18 一种热加载磁盘过滤驱动的方法与设备

Publications (2)

Publication Number Publication Date
CN105260132A true CN105260132A (zh) 2016-01-20
CN105260132B CN105260132B (zh) 2018-10-02

Family

ID=55099839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510599907.9A Active CN105260132B (zh) 2015-09-18 2015-09-18 一种热加载磁盘过滤驱动的方法与设备

Country Status (1)

Country Link
CN (1) CN105260132B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110955885A (zh) * 2019-11-28 2020-04-03 亚信科技(成都)有限公司 一种数据写入方法及装置
CN111367707A (zh) * 2020-05-27 2020-07-03 成都易我科技开发有限责任公司 坏磁盘的访问管理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289624A (zh) * 2011-05-16 2011-12-21 福建升腾资讯有限公司 一种基于写过滤技术的磁盘保护系统
CN102930223A (zh) * 2012-09-21 2013-02-13 北京深思洛克软件技术股份有限公司 一种磁盘数据保护方法和系统
CN103077354A (zh) * 2013-02-19 2013-05-01 成都索贝数码科技股份有限公司 一种控制Windows文件系统访问权限的方法
US20140195848A1 (en) * 2013-01-08 2014-07-10 Symantec, Inc. Methods and systems for instant restore of system volume
US20140337578A1 (en) * 2011-03-01 2014-11-13 Lsi Corporation Redundant array of inexpensive disks (raid) system configured to reduce rebuild time and to prevent data sprawl

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140337578A1 (en) * 2011-03-01 2014-11-13 Lsi Corporation Redundant array of inexpensive disks (raid) system configured to reduce rebuild time and to prevent data sprawl
CN102289624A (zh) * 2011-05-16 2011-12-21 福建升腾资讯有限公司 一种基于写过滤技术的磁盘保护系统
CN102930223A (zh) * 2012-09-21 2013-02-13 北京深思洛克软件技术股份有限公司 一种磁盘数据保护方法和系统
US20140195848A1 (en) * 2013-01-08 2014-07-10 Symantec, Inc. Methods and systems for instant restore of system volume
CN103077354A (zh) * 2013-02-19 2013-05-01 成都索贝数码科技股份有限公司 一种控制Windows文件系统访问权限的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110955885A (zh) * 2019-11-28 2020-04-03 亚信科技(成都)有限公司 一种数据写入方法及装置
CN111367707A (zh) * 2020-05-27 2020-07-03 成都易我科技开发有限责任公司 坏磁盘的访问管理方法及系统
CN111367707B (zh) * 2020-05-27 2020-09-11 成都易我科技开发有限责任公司 坏磁盘的访问管理方法及系统

Also Published As

Publication number Publication date
CN105260132B (zh) 2018-10-02

Similar Documents

Publication Publication Date Title
US9767035B2 (en) Pass-through tape access in a disk storage environment
CN107391269B (zh) 一种用于通过持久化队列处理消息的方法与设备
US8195619B2 (en) Extent reference count update system and method
US11762994B2 (en) System and method of inspecting archive slices for malware
US20100312749A1 (en) Scalable lookup service for distributed database
US8954398B1 (en) Systems and methods for managing deduplication reference data
CN103595790A (zh) 设备远程访问的方法、瘦客户端和虚拟机
CN105204969A (zh) 异常日志处理方法以及异常日志处理装置
CN103198122A (zh) 重启内存数据库的方法和装置
US9116853B1 (en) Tape backup and restore in a disk storage environment
CN109726039B (zh) 用于管理虚拟机的方法和设备
US10042570B2 (en) Tape backup and restore in a disk storage environment with intelligent data placement
CN110019063B (zh) 计算节点数据容灾回放的方法、终端设备及存储介质
CN102959548A (zh) 数据存储方法、查找方法及装置
CN105260132A (zh) 一种热加载磁盘过滤驱动的方法与设备
CN105144073A (zh) 可移除存储设备身份和配置信息
CN106339183A (zh) 数据检索的方法及服务器
CN105447043A (zh) 数据库及其数据访问方法
CN111367750B (zh) 一种异常处理方法、装置及其设备
CN103176843A (zh) MapReduce分布式系统的文件迁移方法及设备
CN111371818B (zh) 一种数据请求的验证方法、装置及设备
CN110019013B (zh) 镜像存储方法、装置和计算机可读存储介质
CN104539746A (zh) 一种访问数据的方法、nas机头和san
US20160026390A1 (en) Method of deleting information, computer program product and computer system
CN103116553A (zh) 数据使用控制方法、装置及存储设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant