一种iSCSI系统中客户端的注销方法和设备转让专利

申请号 : CN200710151671.8

文献号 : CN101132418B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 景冬生

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明公开了一种iSCSI系统中客户端的注销方法,包括如下步骤:客户端对存储设备上文件的操作进行统计;所述客户端接收到注销请求时,根据所述统计判断是否存在对所述存储设备上文件的操作;所述操作不存在时,所述客户端从所述存储设备上注销。本发明还提供了一种iSCSCI系统中的客户端。通过使用本发明,在保证数据完整性不被破坏的情况下,安全及时的完成客户端与存储设备的注销操作,实现了正常数据读写和文件系统数据读写的区分,屏蔽了文件系统的数据读写给客户端在注销时造成的错误判断。

权利要求 :

1.一种互联网小型计算机系统接口iSCSI系统中客户端的注销方法,其特征在于,包括如下步骤:连接存储设备,获得所述存储设备上的资源在客户端自身文件系统中的挂载点;

客户端对存储设备上文件的操作进行统计;具体包括:检测到自身文件系统对文件的操作时,判断所述文件的路径是否为所述挂载点,是则继续,否则不进行任何操作并结束;对所述文件的路径进行判断,判断文件路径是否为文件系统对自身创建的文件或文件夹,如果是则不进行任何操作并结束,否则继续;

对所述文件的操作进行计数;

所述客户端接收到注销请求时,根据所述统计判断是否存在对所述存储设备上文件的操作;

所述操作不存在时,所述客户端从所述存储设备上注销。

2.如权利要求1所述iSCSI系统中客户端的注销方法,其特征在于,所述判断文件路径是否为文件系统对自身创建的文件或文件夹的步骤具体为:对于自身文件系统读写所涉及的自身创建的文件或文件夹预先进行统计;

检测到自身文件系统对文件的操作时,判断所述文件的路径是否涉及到所述预先进行统计的自身文件系统读写所涉及的自身创建的文件或文件夹。

3.如权利要求1所述iSCSI系统中客户端的注销方法,其特征在于,所述对文件的操作进行计数的步骤具体为:对文件进行操作时将计数器的计数递增,操作结束时将所述计数器的计数递减,所述操作至少包括文件的打开、关闭、创建、删除或拷贝中的一种或多种。

4.如权利要求3所述iSCSI系统中客户端的注销方法,其特征在于,所述客户端接收到注销请求时,根据所述统计判断是否存在对所述存储设备上文件的操作的步骤具体为:判断所述计数是否为零,为零时判断为对所述存储设备上文件的操作不存在,否则判断为存在对所述存储设备上文件的操作。

5.一种iSCSCI系统中的客户端,用于实现与存储设备间的注销操作,其特征在于,包括:统计单元,用于对本客户端在存储设备上进行的文件操作进行统计,作为注销时的判断依据;

判断单元,用于在客户端接收到注销请求时,根据所述统计单元的统计结果,判断能否进行注销操作;判断结果为可以注销时,通知处理单元进行从所述存储设备上的注销;

处理单元,用于接收到所述判断单元的通知时,从所述存储设备上注销;

所述统计单元进一步包括:

第一文件路径判断单元,用于判断本客户端在所述存储设备上操作的文件的路径是否为存储设备在自身客户端的挂载点,是则通知第二文件路径判断单元,否则不进行任何操作;

第二文件路径判断单元,用于判断本客户端在存储设备上操作的文件的路径是否为文件系统对自身创建的文件或文件夹,是则不进行任何操作,否则通知计数单元;

计数单元,用于对文件的操作进行计数,进行操作时将计数递增,操作结束时计数递减,计数为零时表示对所述存储设备上的文件无操作,否则表示对所述存储设备上的文件有操作正在进行。

6.如权利要求5所述iSCSCI系统中的客户端,其特征在于,所述客户端还包括:挂载点获取单元,用于获取所述存储设备在自身文件系统中的挂载点,并将所述挂载点信息提供给所述统计单元用于文件路径的判断。

7.如权利要求5所述iSCSCI系统中的客户端,其特征在于,所述客户端还包括:屏蔽路径设定单元,用于对于自身文件系统读写所涉及的自身创建的文件或文件夹进行预先设定,作为进行文件操作统计中所需要屏蔽的内容;在所述统计单元对文件的操作进行统计时,凡涉及到所述设定的需要屏蔽的文件夹的操作,都进行排除而不记入统计。

说明书 :

技术领域

本发明涉及通信技术领域,尤其涉及一种iSCSI系统中客户端的注销方法和设备。

背景技术

现在便携式数据存储设备使用的非常频繁,如PDA(Personal DigitalAssistant,个人数字助理)、智能手机、便携式计算机等,它们中很多携带的是比较重要的数据,如果丢失将带来不可估量的损失和无法预计的后果SCSI(Small Computer System Interface,小型计算机系统接口)标准体系定义了应用主机和外部设备之间读写操作的过程,外部设备包括磁盘、磁带、光盘、打印机、扫描仪等。SCSI标准体系的参考模型是一个典型的客户端-服务器模型,在SCSI体系结构中,通常把客户端称为Initiator(发起端),Initiator发送服务请求,如应用主机;把服务器称为Target(目标端),Target接收、响应服务请求,如外部设备。Initiator和Target之间可以使用不同的物理连接方式来通讯。
iSCSI(Internet SCSI,互联网小型计算机系统接口)是一种基于TCP(Transmission Control Protocol,传输控制协议)/IP(Internet Procotol,因特网协议)的SCSI传输协议,即Initiator和Target利用因特网来传输SCSI命令和数据。目前,iSCSI协议主要用于应用主机和存储系统的数据传输,典型应用环境如下图1所示。其中,应用主机集成一个iSCSI Initiator模块,存储系统中集成一个iSCSI Target模块。客户端把SCSI命令和/或数据封装在iSCSI报文中,通过IP网络发送给存储系统,存储系统对每个iSCSI报文进行处理,取出其中的数据并写入到存储介质中。
现有技术中存在的问题在于,部分Initiator登录到Target后,做数据读写完后,通过Initiator上的logout功能(指Initiator或Target与对方断开链接或对话的过程)无法完成,报告有数据正在读写无法logout错误。而有些Initiator是直接logout出来而没有做数据保护,可能会导致数据破坏。通常只有重启Initiator端设备或重启Target端设备可以完成logout操作。
无法logout的原因包括:Initiator端文件系统把通过iSCSI挂载上来的Target端资源当作本地磁盘使用,Initiator端文件系统会不时访问Target端硬盘上的文件系统自有数据,导致Initiator发现一直有数据读写,为了防止数据不完整错误不允许用户logout。重启Target端会对别的用户造成影响,而且每次读写数据都要重启Initiator端来logout也将影响用户的其他工作。另外,不做数据完全性检测,直接logout的Initiator可能导致Target端数据的破坏。

发明内容

本发明提供一种iSCSI系统中客户端的注销方法和设备,在保证数据完整性不被破坏的情况下,安全及时的完成客户端与存储设备的注销操作。
为达到上述目的,本发明提供一种iSCSI系统中客户端的注销方法,包括以下步骤:
连接存储设备,获得所述存储设备上的资源在客户端自身文件系统中的挂载点;
客户端对存储设备上文件的操作进行统计;具体包括:检测到自身文件系统对文件的操作时,判断所述文件的路径是否为所述挂载点,是则继续,否则不进行任何操作并结束;
对所述文件的路径进行判断,判断文件路径是否为文件系统对自身创建的文件或文件夹,如果是则不进行任何操作并结束,否则继续;
对所述文件的操作进行计数;
所述客户端接收到注销请求时,根据所述统计判断是否存在对所述存储设备上文件的操作;
所述操作不存在时,所述客户端从所述存储设备上注销。
其中,所述判断文件路径是否为文件系统对自身创建的文件或文件夹的步骤具体为:
对于自身文件系统读写所涉及的自身创建的文件或文件夹预先进行统计;
检测到自身文件系统对文件的操作时,判断所述文件的路径是否涉及到所述预先进行统计的自身文件系统读写所涉及的自身创建的文件或文件夹。
其中,所述对文件的操作进行计数的步骤具体为:
对文件进行操作时将计数器的计数递增,操作结束时将所述计数器的计数递减,所述操作至少包括文件的打开、关闭、创建、删除或拷贝中的一种或多种。
所述客户端接收到注销请求时,根据所述统计判断是否存在对所述存储设备上文件的操作的步骤具体为:
判断所述计数是否为零,为零时判断为对所述存储设备上文件的操作不存在,否则判断为存在对所述存储设备上文件的操作。
本发明还提供一种iSCSCI系统中的客户端,用于实现与存储设备间的注销操作,其特征在于,包括:
统计单元,用于对本客户端在存储设备上进行的文件操作进行统计,作为注销时的判断依据;
判断单元,用于在客户端接收到注销请求时,根据所述统计单元的统计结果,判断能否进行注销操作;判断结果为可以注销时,通知处理单元进行从所述存储设备上的注销;
处理单元,用于接收到所述判断单元的通知时,从所述存储设备上注销;
所述统计单元进一步包括:
第一文件路径判断单元,用于判断本客户端在所述存储设备上操作的文件的路径是否为存储设备在自身客户端的挂载点,是则通知第二文件路径判断单元,否则不进行任何操作;
第二文件路径判断单元,用于判断本客户端在存储设备上操作的文件的路径是否为文件系统对自身创建的文件或文件夹,是则不进行任何操作,否则通知计数单元;
计数单元,用于对文件的操作进行计数,进行操作时将计数递增,操作结束时计数递减,计数为零时表示对所述存储设备上的文件无操作,否则表示对所述存储设备上的文件有操作正在进行。
其中,所述客户端还包括:挂载点获取单元,用于获取所述存储设备在自身文件系统中的挂载点,并将所述挂载点信息提供给所述统计单元用于文件路径的判断。
其中,所述客户端还包括:屏蔽路径设定单元,用于对于自身文件系统读写所涉及的自身创建的文件或文件夹进行预先设定,作为进行文件操作统计中所需要屏蔽的内容;在所述统计单元对文件的操作进行统计时,凡涉及到所述设定的需要屏蔽的文件夹的操作,都进行排除而不记入统计。
与现有技术相比,本发明具有以下优点:
在保证数据完整性不被破坏的情况下,安全及时的完成客户端与存储设备的注销操作,实现了正常数据读写和文件系统数据读写的区分,屏蔽了文件系统的数据读写给客户端在注销时造成的错误判断。

附图说明

图1是现有技术中iSCSI协议应用组网环境的示意图;
图2是本发明中iSCSCI系统中客户端的注销方法流程图;
图3是本发明中iSCSCI系统中客户端的注销方法的另一流程图;
图4是本发明中iSCSCI系统中客户端的结构示意图。

具体实施方式

本发明一种iSCSCI系统中客户端的注销方法如图2所示,包括以下步骤:
步骤s201、客户端连接存储设备,获得存储设备在自身系统中的挂载点。
步骤s202、客户端对存储设备上文件的操作进行统计。
该统计需要对正常数据读写和文件系统数据读写进行区分,以屏蔽文件系统数据读写在注销时引起的错误判断。
该进行区分的方法具体为:对于自身文件系统读写所涉及的文件或文件夹进行预先设定,作为进行文件操作统计中所需要屏蔽的内容。在对文件的操作进行统计时,凡是涉及到该设定的需要屏蔽的文件或文件夹的操作,都进行排除而不记入统计。
步骤s203、接收到注销请求时,客户端根据统计,判断是否存在对存储设备上文件的操作。
步骤s204、操作不存在时,客户端从存储设备上注销。
以下结合具体的应用场景对本发明的实施方式进行说明。其中客户端为Initiator表示,存储设备以Target表示。
本发明中,一种iSCSCI系统中客户端的注销方法如图3所示,包括以下步骤:
步骤s301、Initiator启动后通过文件系统获得Target资源在操作系统中的挂载点。
该挂载点的含义是指:当Target资源在Initiator的操作系统中作为一个新的硬盘或新的节点设备显示时,该硬盘或节点设备的路径即Target资源在Initiator操作系统中的挂载点
步骤s302、Initiator获得文件系统对文件操作的实时信息(包括打开、关闭、创建、删除和拷贝等动作)。通过对操作系统使用文件过滤驱动监视文件的处理、或修改文件系统的内核代码均可以实现该目的。
步骤s303、Initiator对源文件和目标文件的路径进行判断,判断文件路径是否为Initiator资源挂载点,如果文件路径不是Initiator资源挂载点下的,不进行任何操作,如果文件路径是Initiator挂载点下的,继续以下步骤。
步骤s304、Initiator对源文件和目标文件的路径进行判断,判断文件路径是否为文件系统对自身创建的文件或文件夹,如果是则不进行任何操作,否则继续以下步骤。
这里的文件需要排除Initiator文件系统在资源挂载点上对自身创建的文件的操作动作,其通常是导致Initiator无法logout的主要原因。以NTFS(NewTechnology File System,新技术文件系统)系统为例,其会在资源挂载点上创建System volume information(系统卷标信息)、Recycle(回收站)、MSOCache(本地安装源)等文件夹,Initiator文件系统即使在用户没有对Target资源进行任何操作时,也会对这些文件夹进行读写,可能会造成Initiator无法logout。因此,对于这些文件夹或文件的路径需要预先进行设定,以在对操作计数统计时进行排除。
步骤s305、对操作进行计数。
该计数的原则的一种实施方式可以为:对文件进行操作时将计数递增,操作结束时计数递减。例如,在每次打开文件或创建文件时将计数加1,每次关闭文件时将计数减1。每次拷贝文件时,拷贝动作开始将计数加1,拷贝文件结束将计数减1。每次删除文件时,删除开始将计数加1,删除结束将计数减1。对于其他文件操作,采用类似的计数方法。
步骤s306、当用户通过Initiator手动logout时,Initiator对上述的文件操作计数进行判断,计数如果大于0时进行步骤s307,否则进行步骤s308。
步骤s307,计数大于0时,说明有文件正在被操作,不允许logout并结束,以防止logout导致的数据不完整。
步骤s308、计数等于0时,Initiator调用系统函数强制将所有cache的改变写入Target端存储设备,并向Target发送logout命令。
步骤s309、Target发送logout响应,完成logout操作。
通过本发明提供的iSCSCI系统中客户端的注销方法,在保证数据完整性不被破坏的情况下,安全及时的完成客户端与存储设备的注销操作,实现了正常数据读写和文件系统数据读写的区分,屏蔽了文件系统的数据读写给客户端在注销时造成的错误判断。
本发明还提供了一种iSCSCI系统中的客户端,用于实现与存储设备间的正常注销操作,其结构如图4所示,包括:
统计单元10,用于对本客户端在存储设备上进行的文件操作进行统计,作为客户端注销时的判断依据。具体的,该统计单元10进一步包括:第一文件路径判断单元11,用于判断本客户端在存储设备上操作的文件的路径是否为存储设备在自身客户端的挂载点,是则通知第二文件路径判断单元12,否则不进行任何操作;第二文件路径判断单元12,用于判断本客户端在存储设备上操作的文件的路径是否为自身文件系统创建的文件或文件夹,是则不进行任何操作,否则通知计数单元13;计数单元13,用于对文件的操作进行计数,进行操作时将计数递增,操作结束时计数递减,计数为0时表示无操作,否则表示有操作在进行。
判断单元20,与统计单元10和处理单元30连接,用于在客户端接收到注销请求时,根据统计单元10的统计结果,判断能否进行客户端的注销操作;判断结果为可以注销时,通知处理单元30进行客户端从存储设备上的注销。
处理单元30,与判断单元20连接,用于接收到判断单元20的通知时,将本客户端从存储设备上注销。
还包括:挂载点获取单元40,用于获取存储设备在自身客户端文件系统中的挂载点,并将该挂载点信息提供给统计单元10用于文件路径的判断。
屏蔽路径设定单元50,用于对于自身文件系统读写所涉及的文件或文件夹进行预先设定,作为进行文件操作统计中所需要屏蔽的内容。在统计单元10对文件的操作进行统计时,凡是涉及到对该屏蔽路径设定单元50设定的需要屏蔽的文件或文件夹的操作,都进行排除而不记入统计。
通过本发明提供的iSCSCI系统中客户端的客户端装置,在保证数据完整性不被破坏的情况下,安全及时的完成客户端与存储设备的注销操作,实现了正常数据读写和文件系统数据读写的区分,屏蔽了文件系统的数据读写给客户端在注销时造成的错误判断。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台iSCSCI系统中的设备执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。