一种热加载磁盘过滤驱动的方法与设备的制造方法_2

文档序号:9505942阅读:来源:国知局
函数入口被替换为写请求转发处理函数,写请求转发处理函记录sd drvier写请求处理函数的新地址,因此磁盘sdx根据入口地址向磁盘驱动sd drvier发出写请求“WRITE”被写请求转发处理函数截获并转发至磁盘过滤驱动our driver,从而在系统未被重新启动的情况下将磁盘过滤驱动加载完成,使得系统稳定运行,避免业务中断,同时因为采取替换写请求处理模块的方式使得待保护磁盘与对应的磁盘驱动之间的目录关系未被改变。
[0036]本领域技术人员应能理解上述将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块的方式仅为举例,其他现有的或今后可能出现的将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0037]第四装置14通过所述写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理。即被保护磁盘根据所记录的写请求处理模块的地址将写请求进行发送,该地址中现有的所述写请求转发处理模块接受并根据磁盘过滤驱动的地址将所述写请求转发至对应的磁盘过滤驱动进行处理,从而完成磁盘过滤驱动的热加载过程,即如图4中所示写请求“WRITE”被写请求转发处理函数截获并转发至磁盘过滤驱动our driver。所述转发过程因为占用写请求处理模块地址对写请求进行截获和转发,在不重启系统的情况下加载磁盘过滤驱动,因此对系统产生的影响很小,提升了系统运行的稳定性。
[0038]图2示出根据本申请另一个优选实例的一种用于热加载磁盘过滤驱动的设备中第四装置示意图。所述第四装置中包括第一单元141、第二单元142以及第三单元143。
[0039]其中,第一单元141接收关于所述磁盘的写请求;第二单元142通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动;第三单元143通过所述写请求转发处理模块将经所述磁盘过滤驱动处理后的所述写请求转发至所述写请求处理模块。
[0040]具体地,第一单元141接收关于所述磁盘的写请求,即通过所述写请求转发处理模块占用所述写请求处理模块的第一入口地址,使得所述写请求转发处理模块接受发往所述第一入口地址中的写请求,如图4所示,磁盘sdx所发出的写请求“WRITE”被写请求转发处理函数在写请求转发处理函数入口接受,其中,写请求转发处理函数入口即为所占用的原sd driver写请求处理函数的入口。接受关于所述磁盘的写请求便于进一步将写请求发送至磁盘过滤驱动进行处理。
[0041]接着,第二单元142通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动,即所述写请求转发处理模块将所接受的写请求根据磁盘过滤驱动的通信地址进行转发,如图4所示,写请求转发函数将写请求“WRITE”发送至磁盘过滤驱动ourdriver,从而使得磁盘过滤驱动获得写请求进而完成对磁盘数据的备份或保护等操作,因为写请求通过原sd driver写请求处理函数的入口后被转发,因此磁盘过滤驱动获得写请求进行工作前不需要进行专门的加载,改变挂载设备目录结构以及重启系统,从而使得系统运行稳定,降低运维人员的管理复杂度。
[0042]优选地,所述磁盘过滤驱动工作于内核态,因为被保护磁盘所对应的磁盘过滤驱动在热加载的过程中需要进行写请求处理函数的获取以及替换,因此工作于内核态有助于获取系统中更高的运行权利以及能力,使得热加载过程顺利进行。
[0043]接着,第三单元143将经过所述磁盘过滤驱动处理后的所述写请求发送至对应的磁盘驱动,即在所述被保护磁盘对应的磁盘过滤驱动将写请求进行处理后会将写请求发送至被保护磁盘对应的磁盘驱动,在磁盘驱动接受到所述写请求后,在第一入口地址中的写请求转发处理模块根据写请求处理模块的新地址将所述处理后的写请求发送至写请求处理模块,从而使得磁盘与其所对应的磁盘驱动之间完成写请求的发送。如图4所示,写请求“WRITE”通过磁盘过滤驱动our driver处理后被发送至sd driver, sd driver中的写请求转发处理函数将所述写请求转发至sd driver写请求处理函数,在这一过程中磁盘sdx中的写请求发送地址未变,所对应的驱动sd driver也可以收到写请求,因此系统不受磁盘过滤驱动加载的影响,运行稳定。
[0044]优选地,所述第二单元142在所述写请求中附加预定的标识信息,并通过所述写请求转发处理模块将所述写请求转发至对应的磁盘过滤驱动。其中,所述预定的标识信息是指标记在写请求中,用于快速识别写请求类别的信息。例如,设定写请求转发处理模块所接受的写请求中,无预定标识信息的是由被保护磁盘发送的写请求,有预定标识信息的是由所述磁盘过滤驱动发送的处理过后的写请求。则写请求转发处理模块在接受到写请求后对写请求进行检测是否有预定的标识信息,若无预定的标识信息,则该写请求源自被保护磁盘所发出,因此在所述写请求中的空白位中进行标记并发送至被保护磁盘所对应的磁盘过滤驱动进行处理。
[0045]其中,所述第三单元143去除经所述磁盘过滤驱动处理后的所述写请求中的所述标识信息,并通过所述写请求转发处理模块将去除所述标识信息后的所述写请求转发至所述写请求处理模块。接上文举例,被保护磁盘所对应的磁盘驱动中写请求转发处理模块在接受到写请求后对写请求进行检测是否有预定的标识信息,若有预定的标识信息则该写请求源自被保护磁盘所对应的磁盘过滤驱动处理后所发出,因此将所述写请求中预定标记进行去除,并发送至写请求处理模块进行处理。从而所述被保护磁盘对应的磁盘驱动接受的仍是原来磁盘所发出的写请求,使得系统运行保持原有状态,且通过所述预定标识信息的添加和删除使得写请求转发处理模块得以辨别写请求的来源以及需要发送的对象,使得热加载磁盘过滤驱动的过程效率提升。
[0046]更优选地,所述标识信息与所述磁盘相对应,即所述标识信息中可包括磁盘的辨识信息,当多个被保护磁盘共用一个磁盘过滤驱动,例如在物理磁盘被分为多个逻辑磁盘的情况下,磁盘过滤驱动根据写请求中的磁盘辨识信息快速辨识所述写请求所对应的磁盘并进行处理,从而提升磁盘过滤驱动的处理效率。
[0047]本领域技术人员应能理解上述写请求转发处理模块在磁盘驱动以及磁盘过滤驱动之间转发写请求的方式仅为举例,其他现有的或今后可能出现的写请求转发处理模块在磁盘驱动以及磁盘过滤驱动之间转发写请求的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
[0048]所述设备1还包括第五装置15 (未示出),所述第五装置15迀移所述写请求处理模块至第二入口地址是指在写请求处理模块的所述第一入口地址被替换为所述写请求转发处理模块后,被迀移至的第二入口地址。其中所述第二入口地址被写请求转发处理模块所记录,从而据此将磁盘过滤驱动处理后的写请求转发至写请求处理模块,进一步地,当磁盘过滤驱动卸载时,所述写请求处理模块将从第二入口地址重新迀回第一入口地址,恢复系统的正常写请求收发关系。
[0049]其中,所述第三单元143根据所述第二入口地址,通过所述写请求转发处理模块将经所述磁盘过滤驱动处理后的所述写请求转发至所述写请求处理模块。如图4所示,写请求转发处理函数接受来自our driver的写请求,通过辨识一定标识信息确定所述写请求需要转发至sd driver写请求处理函数,因此,根据所记录的sd driver写请求处理函数新地址将所述写请求进行发送。
[0050]优选地,在热加载所述磁盘过滤驱动前后所述磁盘与对应挂载目录保持一致。因为所述被保护磁盘写请求的发送地址为第一入口地址未变动,且被保护磁盘所对应的磁盘驱动所接受的写请求经过转发后亦未变动,因此,在热加载所述磁盘过滤驱动前后所述磁盘与对应挂载目录无需变动,从而使得磁盘过滤驱动在加载前后不需要重启系统,降低对被保护磁盘的干扰,降低运维人员对磁盘的运维的管理复杂度,降低人力成本。
[0051]图5示出根据本申请另一个方面的一种用于热加载磁盘过滤驱动的方法流程图。包括步骤S1、步骤S2、步骤S3以及步骤S4。
[0052]其中,在步骤S1中设备1确定待保护磁盘对应的磁盘驱动;在步骤S2中设备1获取所述磁盘驱动中写请求处理模块的第一入口地址;在步骤S3中设备1将所述第一入口地址中的所述写请求处理模块替换为写请求转发处理模块;在步骤S4中设备1通过所述写请求转发处理模块将所接收到的关于所述磁盘的写请求转发至对应的磁盘过滤驱动以进行处理。
[0053]具体地,在步骤S1中设备1确定待保护磁盘对应的磁盘驱动是指获取待保护磁盘特征信息并根据所述特征信息寻找待保护磁盘所对应的磁盘驱动,例如,在Linux系统中获取用户输入的带保护磁盘名称并根据所述磁盘名称找到所需保护磁盘所对应的磁盘驱动所在位置。其中,待保护磁盘的特征信息包括但不限于磁盘的名称、磁盘在系统中的文件路径等,因此,确定所述待保护磁盘对应的磁盘驱动的方法包括但不限于磁盘过滤驱动根据磁
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1