一种多用户共享设备IO卡热插入方法及装置与流程

文档序号:11323157阅读:242来源:国知局
一种多用户共享设备IO卡热插入方法及装置与流程

本申请涉及多用户共享设备管理领域,特别涉及一种多用户设备io卡热插入方法。



背景技术:

随着信息技术的发展,电子设备越来越多的普及到日常生活中,提供帮助。对于电子设备的使用,有多种方式,有时会对设备中加载的用户共享数据,且要插入储存数据的io卡。此时用户对于物理存在的io卡会进行从设备中的拔出和插入操作,在对io卡进行上述操作时,要在设备中对io卡进行相应的挂载或注销操作,不利于设备的便捷操作。出现可以对io卡热拔插的操作,用户无需先在设备上对io卡进行相应的操作,即可直接拔插io卡,大大方便了用户的操作。

此时插入io卡会造成设备的更新和数据流的重定向,如果此时有io操作时,会出现io卡的数据流丢失情况,其他用户状态信息丢失以及读写的数据丢失的问题,设备访问异常。

因此,如何解决io卡热插入时造成数据丢失,是本领域技术人员需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种多用户共享设备io卡热插入方法,该方法在io卡热插入时解决数据流丢失的问题;本申请还提供一种多用户共享设备io卡热插入装置。

为解决上述技术问题,本申请提供一种多用户共享设备io卡热插入方法,包括:

当检测到第一共享式io卡热插入时,暂停所有用户在所有共享式io卡上的数据流;

记录所有用户当前使用的所有所述共享式io卡的信息,将所述信息保存在映射列表中,并设置所有所述共享式io卡为独占状态;

执行所述第一共享式io卡加载操作;

所述第一共享式io卡加载操作完成后,设置所有所述共享式io卡为共享状态并更新所述映射列表。

可选的,所述执行所述第一共享式io卡加载操作,包括:

读取io卡列表;

将所述第一共享式io卡的id写入所述io卡列表,状态设置为正在插入;

加载所述第一共享式io卡的驱动,完成后将所述第一共享式io卡的状态设置为可用。

可选的,所述第一共享式io卡加载操作完成之前,还包括:

当用户发送io请求时,根据所述映射列表和所述io卡列表选出冗余io卡;

根据负载均衡算法,将所述io请求发送至所述冗余io卡以处理相应的io操作。

可选的,所述当用户发送io请求时,根据所述映射列表和所述io卡列表选出冗余io卡,包括:

当用户发送所述io请求,读取所述映射列表获得所述用户对应的io卡的id;

根据所述id匹配所述io卡列表中的所述共享式io卡,判断所述共享式io卡的状态是否可用;

若是,则将所述共享式io卡作为所述冗余io卡。

可选的,所述共享式io卡包括fc卡、sas卡、iscsi卡。

本申请还提供一种多用户共享设备io卡热插入装置,包括:

暂停模块,当检测到第一共享式io卡热插入时,暂停所有用户在所有共享式io卡上的数据流;

信息记录模块,记录所有用户当前使用的所有所述共享式io卡的信息,将所述信息保存在映射列表中,并设置所有所述共享式io卡为独占状态;

第一执行模块,执行所述第一共享式io卡加载操作;

更新模块,所述第一共享式io卡加载操作完成后,设置所有所述共享式io卡为共享状态并更新所述映射列表。

可选的,所述第一执行模块,包括:

读取信息单元,读取io卡列表;

写入信息单元,将所述第一共享式io卡的id写入所述io卡列表,状态设置为正在插入;

加载驱动单元,加载所述第一共享式io卡的驱动,完成后将所述第一共享式io卡的状态设置为可用。

可选的,还包括:

冗余查找模块,当用户发送io请求时,根据所述映射列表和所述io卡列表选出冗余io卡;

请求处理模块,根据负载均衡算法,将所述io请求发送至所述冗余io卡以处理相应的io操作。

可选的,所述冗余查找模块,包括:

id读取单元,当用户发送所述io请求,读取所述映射列表获得所述用户对应的io卡的id;

匹配判断单元,根据所述id匹配所述io卡列表中的所述共享式io卡,判断所述共享式io卡的状态是否可用;

第一执行单元,若所述共享式io卡的状态可用,则将所述共享式io卡作为所述冗余io卡。

本申请所提供的多用户共享设备io卡热插入的方法,包括:当检测到第一共享式io卡热插入时,暂停所有用户在所有共享式io卡上的数据流;记录所有用户当前使用的所有所述共享式io卡的信息,将所述信息保存在映射列表中,并设置所有所述共享式io卡为独占状态;执行所述第一共享式io卡加载操作;所述第一共享式io卡加载操作完成后,设置所有所述共享式io卡为共享状态并更新所述映射列表。

该方法,通过暂停数据流,并记录每个用户的状态。并将所有的共享式io卡在热插入状态时设置成独占,在热插入完成后再根据用户状态回复io卡的共享状态,避免了在io卡热插入操作时的数据流丢失问题,以防设备访问的异常。当在热插入过程中有io请求发出,用映射列表和io卡列表找出相关的冗余io卡,可以很好的解决在io卡热插入过程中的数据传输问题。本申请还提供一种多用户共享设备io卡热插入装置,具有上述有益效果在此不做赘述。

附图说明

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

图1为本申请实施例所提供的io卡热插入方法的流程图;

图2为本申请实施例所提供的io卡加载操作的流程图;

图3为本申请实施例所提供的io请求操作的流程图;

图4为本申请实施例所提供的冗余io卡查找操作的流程图;

图5为本申请实施例所提供的多用户共享设备io卡热插入装置的结构图;

图6为本申请实施例所提供的第一执行模块的结构图;

图7为本申请实施例所提供的另一多用户共享设备io卡热插入装置的结构图;

图8为本申请实施例所提供的冗余查找模块的结构图。

具体实施方式

本申请的核心是提供一种多用户共享设备io卡热插入的方法及装置,当io卡热插入时暂停所有数据流,并记录此时的用户使用io卡的记录。避免了再io卡热插入过程中造成的数据丢失问题。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的io卡热插入方法的流程图。

本实施例,可以包括如下步骤:

s100,当检测到第一共享式io卡热插入时,暂停所有用户在所有共享式io卡上的数据流;

s200,记录所有用户当前使用的所有所述共享式io卡的信息,将所述信息保存在映射列表中,并设置所有所述共享式io卡为独占状态;

s300,执行所述第一共享式io卡加载操作;

s400,所述第一共享式io卡加载操作完成后,设置所有所述共享式io卡为共享状态并更新所述映射列表。

其中,在检测到第一共享式io卡插入时,暂停所有用户在io卡上的数据操作,因为在插入第一共享式io卡后会有设备表的更新操作,此时数据流也会重定向,因此此时暂停数据流,并记录用户相关的io卡的信息以供后续操作,可以有效的避免数据丢失的问题。此时记录共享式io卡的和用户的信息到映射列表,并将使用的共享式io卡设置为独占,防止此时其他用户继续使用此共享式io卡。本实施例并不对共享式io卡进行限定,例如共享式io卡包括fc卡、sas卡、iscsi卡。

此时进行io卡的加载操作,加载操作具体请参考图2。

图2为本申请实施例所提供的io卡加载操作的流程图。

基于上述步骤,本加载操作可以包括以下步骤:

s310,读取io卡列表;

s320,将所述第一共享式io卡的id写入所述io卡列表,状态设置为正在插入;

s330,加载所述第一共享式io卡的驱动,完成后将所述第一共享式io卡的状态设置为可用。

此加载操作中,通过读取io卡列表,将新插入的io卡写入io卡列表中,并设置状态为正在插入,防止在加载中的用户使用此io卡。等待加载第一共享式的驱动,当驱动加载完成,将io卡列表中的第一共享式io卡的状态改写为可用,就表示加载操作完成。

其加载操作是进行io卡热插入操作的重要步骤,实现了io卡的自动挂载,无需人工操作。也是因为此步骤中更新了设备表,也可以是更新了其他io卡列表,只要是加入新io卡都会再设备中注册新插入的io卡,在此不做限定。此更新表的操作造成热插入过程中的io请求的数据丢失问题。

因此通过步骤s100的暂停操作,停止了在io卡加载操作中的数据流操作,杜绝了数据异常的问题。同时通过步骤s200吉林路暂停操作时的用户使用io卡的状态,将此状态信息保存在共享文件中。其中,共享文件一般可以是数据表,数据库等文件,在本申请实施例中用映射列表和io卡列表表示。

当数据保存在共享文件后,同样配合暂停操作,对共享文件中的相应的io卡也就是所有用户使用的io卡设置状态为独占,此时其他用户就无法使用被设置为独占的io卡,防止数据传输异常。

当上述加载操作完成后,更新映射列表并将上述的设置为独占的io卡信息设置为共享,完成io卡热插入过程。

本实施例通过,暂停数据流,记录用户操作的io卡信息等操作,使io卡热插入时停止数据传输,记录状态以供热插入完成后的数据操作。避免了数据的丢失,访问异常等问题。

当在io卡热插入过程中有io请求,此时共享文件中的所使用的io卡的状态都为独占,需要处理io请求有如下解决方法。

请参考图3,图3为本申请实施例所提供的io请求操作的流程图。

基于上述实施例,在第一共享式io卡加载操作完成之前,还可以包括:

s510,当用户发送io请求时,根据所述映射列表和所述io卡列表选出冗余io卡;

s520,根据负载均衡算法,将所述io请求发送至所述冗余io卡以处理相应的io操作。

通过查询映射列表和io卡列表,找出冗余io卡,此时冗余io卡是没有被用户所独占的io卡,发送io请求至此冗余io卡,并执行相应的操作。

其中,需要通过负载均衡算法,讲io请求发送出去。一般有多种负载均衡算法,在本实施例中不做限定,只要可以达到均衡负载的效果的算法都可以运用到本实施例中。通过负载均衡算法,将io请求发送至冗余io卡中,并执行相应的io操作。

请参考图4,图4为本申请实施例所提供的冗余io卡查找操作的流程图。

基于上述实施例,本实施例可以包括:

s511,当用户发送所述io请求,读取所述映射列表获得所述用户对应的io卡的id;

s512,根据所述id匹配所述io卡列表中的所述共享式io卡,判断所述共享式io卡的状态是否可用;

s513,若是,则将所述共享式io卡作为所述冗余io卡。

其中,所述id是指再此设备中可以唯一标识此io卡的号码,此号码一般用id作为名称,在本实施例中也用id来表示此唯一标识。

本申请实施例提供了多用户共享设备io卡热插入的方法,可以通过上述方法能够避免在io卡热插入时的数据丢失,访问异常等问题。

下面对本申请实施例提供的多用户共享设备io卡热插入的装置进行介绍,下文描述的多用户共享设备io卡热插入装置与上文描述的多用户共享设备io卡热插入的方法可相互对应参照。

请参考图5,图5为本申请实施例所提供的多用户共享设备io卡热插入装置的结构图。

该装置可用于io卡热插入,可以包括:

暂停模块100,当检测到第一共享式io卡热插入时,暂停所有用户在所有共享式io卡上的数据流;

信息记录模块200,记录所有用户当前使用的所有所述共享式io卡的信息,将所述信息保存在映射列表中,并设置所有所述共享式io卡为独占状态;

第一执行模块300,执行所述第一共享式io卡加载操作;

更新模块400,所述第一共享式io卡加载操作完成后,设置所有所述共享式io卡为共享状态并更新所述映射列表。

请参考图6,图6为本申请实施例所提供的第一执行模块的结构图。

基于上述实施例,该第一执行模块,可以包括:

读取信息单元310,读取io卡列表;

写入信息单元320,将所述第一共享式io卡的id写入所述io卡列表,状态设置为正在插入;

加载驱动单元330,加载所述第一共享式io卡的驱动,完成后将所述第一共享式io卡的状态设置为可用。

请参考图7,图7为本申请实施例所提供的另一多用户共享设备io卡热插入装置的结构图。

基于上述实施例,该装置还可以包括:

冗余查找模块510,当用户发送io请求时,根据所述映射列表和所述io卡列表选出冗余io卡;

请求处理模块520,根据负载均衡算法,将所述io请求发送至所述冗余io卡以处理相应的io操作。

请参考图8,图8为本申请实施例所提供的冗余查找模块的结构图。

基于上述实施例,该冗余查找模块,可以包括:

id读取单元511,当用户发送所述io请求,读取所述映射列表获得所述用户对应的io卡的id;

匹配判断单元512,根据所述id匹配所述io卡列表中的所述共享式io卡,判断所述共享式io卡的状态是否可用;

第一执行单元513,若所述共享式io卡的状态可用,则将所述共享式io卡作为所述冗余io卡。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种多用户共享设备io卡热插入的方法以及装置进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

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