首页> 中国专利> 存储系统远程接入桌面操作系统的远程接入方法

存储系统远程接入桌面操作系统的远程接入方法

摘要

本发明涉及一种存储系统远程接入桌面操作系统的远程接入方法。该方法是在桌面操作系统级别建立内存缓存和磁盘缓存用于在用户本地计算机虚拟一个远程存储系统;桌面操作系统的所有文件操作命令在用户本地计算机的虚拟化远程存储系统执行;虚拟化的远程存储系统经过优化处理后将优化过的文件操作序列同步到远程存储系统执行。本发明的优点在于能够根据用户使用桌面操作系统的数据访问模式自动判断完整的数据操作行为,减少50%以上的远程存储系统接入桌面操作系统的数据访问操作,请求以及减少40%以上的网络数据传输量。本发明对于用户的操作是完全透明的,对于第二次读写的文件或数据可达到本地存储系统读写速度。

著录项

  • 公开/公告号CN102355502A

    专利类型发明专利

  • 公开/公告日2012-02-15

    原文格式PDF

  • 申请/专利权人 罗立群;

    申请/专利号CN201110311224.0

  • 发明设计人 罗立群;王宁;

    申请日2011-10-13

  • 分类号H04L29/08;G06F17/30;

  • 代理机构南京知识律师事务所;

  • 代理人卢亚丽

  • 地址 210000 江苏省南京市汉口路22号

  • 入库时间 2023-12-18 04:21:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-08

    未缴年费专利权终止 IPC(主分类):H04L29/08 授权公告日:20150204 终止日期:20161013 申请日:20111013

    专利权的终止

  • 2015-02-04

    授权

    授权

  • 2012-03-28

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20111013

    实质审查的生效

  • 2012-02-15

    公开

    公开

说明书

技术领域

本发明属于计算机技术领域,具体涉及一种存储系统远程接入桌面操作系统的远程接 入方法。

背景技术

随着云计算存储服务的广泛应用,个人用户当需要透明的访问远程存储系统时,就需 要远程的存储系统无缝接入用户桌面操作系统。桌面操作系统是针对个人用户的操作系 统,用户在桌面操作系统中的文件读写及数据访问行为是不同于一般应用程序数据读取方 式。现有的存储系统接入技术主要针对的是应用程序的数据访问和高速局域网络环境。个 人桌面操作系统的用户数据访问基于广域网络环境,这种应用要求高效的数据传输和较高 的用户体验度以及用户数据访问的透明性。已有的存储系统接入技术不能满足个人桌面操 作系统的应用需要。

相关的研究和技术有二种。佛罗里达大学的研究者提出了一种分布式文件系统虚拟化 技术。这种技术通过为虚拟机建立一个用户层的通道可以实现快速的虚拟机实例化和运行 时执行以支持虚拟机在科学计算环境中数据高速读取(M.Zhao,J.Zhang.“Distributed File System Virtualization Techniques Supporting On-Demand Virtual Machine Environments for Grid Computing”, Cluster Computing,pp.2006.)。这种技术并不是为个人用户数据读取而特别设计,因为用户 的数据读取行为不同于科学计算中应用程序的数据读取行为。因此适合于大规模的科学计 算环境,并不适合于普通用户的桌面操作系统级别的文件处理和操作;缺乏用户透明度和 较低的用户使用体验度。

卡内基梅陇大学的并行数据实验室提出了一种新的技术-文件系统虚拟器具(File System Virtual Applicance FSVAs)以解决文件系统接入问题。这种技术是将一个文件系 统的实现打包在一个独立的虚拟机中,与运行不同用户应用程序的虚拟机分离出来。这种 方法可以避免文件系统接入到不同的操作系统和不同操作系统的版本(Michael Abd-El-Malek, Matthew Wachs,James Cipar,Karan Sanghi,Gregory R.Ganger,Garth A.Gibson,Michael K.Reiter.File System Virtual Appliances:Portable File System Implementations.Carnegie Mellon University Parallel Data Lab Technical Report CMU-PDL-10-105,April 2010.)。但是该方法实现过于复杂,需要修改桌面操 作系统内核才能使用该种技术。

发明内容

为了解决现有技术存在的问题,本发明提供了一种存储系统远程接入桌面操作系统的 远程接入方法,该方法通过对个人桌面操作系统中用户数据访问行为进行系统的追踪分 析,提取数据访问类别、时间、文件类别等维度做为特征,自动识别用户数据行为;可使 个人桌面操作系统对远程存储的数据访问更加高效,大大的减低了网络中数据传输频率, 提高了用户的使用体验度。

本发明的原理是:用户数据的访问模式是由用户操作行为决定,因为用户应用程序访 问文件系统是由操作系统提供的一系列本地操作系统API实现。用户的基本文件操作指令 (如新建、保存、复制等)将会由操作系统转换为一系列粒度更小的元子操作,这些原子 操作可被文件系统和存储系统识别。不同的桌面操作系统拥有不同的原子操作,为了更好 的追踪用户操作行为,将不同操作系统的元子操作概括为19种元子操作如表1所示。

表1.桌面操作系统元子操作请求统计表

所有的元子操作分为两大类别,即元数据相关操作和文件相关操作。元数据相关的 操作是指本地操作系统发送给文件系统的操作元数据的命令请求。文件相关操作是指操作 系统实际读写文件的操作。根据对用户数据操作行为追踪,86%的文件系统请求为元数据 相关操作,数据集相关的操作仅为14%。对于本地文件系统,频繁的元子操作请求并不会 影响到数据读取的速度,因为本地文件系统的数据访问延迟较底。对于远程的文件系统, 频繁的元子操作请求将加重网络传输负载,影响到用户数据访问的体验度和数据传输的效 率。因此高效的网络传输机制需要减少元子操作请求的频率。

为了降低桌面操作系统发送给远程文件系统的请求数据量并且提高文件访问性能,通 过在桌面操作系统级别建立内存缓存和磁盘缓存用于在用户本地计算机虚拟一个远程存储 系统。桌面操作系统的所有文件操作命令将会在用户本地计算机的虚拟化远程存储系统执 行,而非将文件操作命令通过网络发送到远程存储系统。虚拟化的远程存储系统经过优化 处理后将优化过的文件操作序列同步到远程存储系统执行。

本发明所采用的技术方案是:一种存储系统接入桌面操作系统的远程接入方法,是在 桌面操作系统级别建立内存缓存和磁盘缓存用于在用户本地计算机虚拟一个远程存储系 统;桌面操作系统的所有文件操作命令在用户本地计算机的虚拟化远程存储系统执行;所 述内存缓存是在桌面操作系统本地内存中划分一个缓存池,以树型结构缓存远程存储系统 的元数据,并应答来自于桌面操作系统的元数据相关操作;所述磁盘缓存是在桌面操作系 统本地磁盘中划分一个缓存池,缓存桌面操作系统请求过的数据集,应答来自于桌面操作 系统的文件相关操作;虚拟化的远程存储系统经过优化处理后将优化过的文件操作序列同 步到远程存储系统执行。

具体地,本发明所述存储系统远程接入桌面操作系统的远程接入方法,包括以下步 骤:

(1)注册桌面操作系统的文件系统代理:过滤和应答来自于桌面操作系统访问文件系 统的文件操作请求;

(2)建立内存缓存:在桌面操作系统中分配内存空间,建立树型存储结构用于存储文 件系统元数据;

(3)建立磁盘缓存:在桌面操作系统本地文件系统中建立隐藏目录,用于缓存文件数 据集;

(4)重定向桌面操作系统的文件系统操作请求:文件系统代理将来自桌面操作系统的 元数据相关操作请求转发到内存缓存处理,将文件相关操作请求转发到磁盘缓存处 理;

(5)内存缓存和磁盘缓存通过优化算法将优化过的文件操作序列同步到远程存储系统执 行。

(6)应答文件操作请求:内存缓存向桌面操作系统应答元数据操作请求,磁盘缓存向桌 面操作系统应答文件的数据集操作请求。

(7)缓存已请求过或更新过的数据:内存缓存添加或更新已请求过的元数据,磁盘缓存 添加或更新已请求过的文件数据集。

上述方法中步骤(2)包括以下步骤:

1)在内存中建立树型存储结构,根结点为远程存储系统根目录元数据,子结点和叶结 点为子目录或文件元数据;

2)接收由文件系统代理转发的元数据相关操作请求;

3)执行搜索操作,遍历树型存储结构,搜索请求的元数据;

①如果请求的元数据在树型存储结构中,执行元数据相关操作并通过文件系统代 理向桌面操作系统返回执行结果;

②如果请求的元数据不在树型存储结构中,执行步骤4)更新操作;

4)更新操作:更新操作包括以下步骤:

①根据优化算法将优化后的操作序列通过网络协议同步到远程存储系统执行;

②从远程存储系统获取同步后的元数据及执行结果;

③更新树型存储结构中的元数据,通过文件系统代理向桌面操作系统返回执行结 果。

上述方法中步骤(3)包括以下步骤:

1)在桌面操作系统的本地文件系统中建立隐藏目录;

2)接收由文件系统代理转发的文件相关操作请求;

3)执行搜索操作,遍历隐藏目录,搜索请求的文件;

①如果请求的文件在隐藏目录中,执行文件相关操作并通过文件系统代理向桌面 操作系统返回执行结果;

②如果请求的文件不在树型存储结构中,执行步骤4)更新操作;

4)更新操作:更新操作包括以下步骤:

①根据优化算法将优化后的操作序列通过网络协议同步到远程存储系统执行;

②从远程存储系统获取同步后的文件及执行结果;

③更新隐藏目录中的文件,通过文件系统代理向桌面操作系统返回执行结果。

上述方法中所述优化算法是指自动判断来自于内存缓存和磁盘缓存完整的桌面操作系 统文件访问操作序列;其步骤为:

1)将元数据相关操作及文件相关操作映射到一个三维的欧几里德空间;

2)计算各操作之间的距离并聚类。

本发明中所述内存缓存用于缓存远程存储系统的元数据,元数据在内存缓存中采用树 型结构。远程存储系统的元数据占用的空间非常小并且桌面操作系统发送的元数据相关操 作的请求的频率远远高于数据集相关的操作,将远程存储系统的元数据缓存在本地电脑 内存中,而将第一次读写过的文件数据缓存在磁盘缓存中。缓存策略为只缓存曾经被读取 过的元数据和文件。元数据在内存缓存中采用树型结构。

针对内存缓存,定义了二种不同的内存缓存操作:

1.搜索操作:如图1所示,当桌面操作系统发送元数据相关操作之后,内存缓存首先执 行搜索操作。提取桌面操作系统请求的元数据通过遍历元数据树。如果请求的元数据在内 存中的元数据树中,则返回一个内存的地址。如果内存中的元数据树中没有请求的元数 据,内存缓存将请求转发远程存储系统以获取元数据。当远程存储系统返回元数据到内存 缓存后,同时执行更新操作,在内存的元数据树中建立新的叶结点给新的元数据。

2.更新操作:当内存缓存中元数据发生更改后,执行更新操作。更新内存中元数据的状 态,执行优化算法,将优化后的元数据相关操作序列同步的到远程存储系统执行并获取执 行结果。

在广域网传输环境中,网络无法承担桌面操作系统与远程存储系统之间繁重的操作事 务,这将会造成数据在网络中传输较长的时延。更不可能将传输文件缓存在内存中,困为 内存缓存空间有限,文件的大小很难控制。为了降低网络传输负载,在本发明中采用了磁 盘缓存,磁盘缓存是在用户本地计算机磁盘空间中划分的一个缓存池,缓存池的大小根 据总的磁盘容量及最大传输文件决定。

磁盘缓存支持桌面操作系统的两种读写方式即随机访问和顺序访问。一般的网络传输 协议不支持类POSIX级别的文件操作命令,而且桌面操作系统发送的文件操作命令过于频 繁。在本发明中,为了让远程的存储系统支持桌面操作系统类POSIX级别的文件操作,磁 盘缓存处理所有来自于桌面操作系统的文件操作,并且在本地磁盘缓存中执行文件操作命 令。一个完整的桌面操作系统访问操作序列完成之后,磁盘缓存再将本地磁盘更新后的文 件同步到远程存储系统中。

所有的元子操作都将映射到一个三维的元子操作欧几里得空间R3中,如图2所示。桌 面操作系统发送的元子操作Xi和Xj是由时间的递增而出现在的元子操作欧几里得空间R3的两 个向量。本发明中i、j为整数(0-∞)。判断完整的桌面操作系统访问操作序列需要对空 间R3中所有向量进行动态聚类处理。

本发明通过下述方法判断完整的桌面操作系统访问操作序列,如图3所示:为所有的 元子操作Xi定义了由三个参数组成的三元组,操作文件Oi,操作类型Ci以及操作执行时间 ti,即Xi=(Oi,Ci,ti)。

元子操作距离的计算

定义两个元子操作X和Y之间的距离为d(X,Y),

d(X,Y)=||X-Y||Σi=1n(xi-yi)2

(1)

在元子操作三元组中,操作文件Oi和操作类型Ci为枚举型数据,在本发明中定义减法操 作如下:

操作文件Oi定义如下:

f:O →O

O:{o1,o2,...,oi}

f(o1)≠f(o2)

(2)

操作类型Ci定义如下:

f:C→C

C:{c1,c2,...,ci}

f(c1)≠f(c2)

(3)

操作文件Oi和操作类型Ci减法运算如下:

||f(o1)-f(o2)||→{1,0}

(4)计算公式(1)中Oi和Ci减法运算的定义

||f(c1)-f(c2)||→{1,0}

(5)

判断完整的桌面操作系统访问行为是基于以下的原则:

一个新到的元子操作X很有可能属于一个与它最近的操作行为。定义Bi为一个操作行为, 它是若干元子操作集合,X是其最近的一个元子操作。

设y0为Bi操作行为中最接近X的一个元子操作。如果y0与其最近的邻居y1之间的距离与y0与X 之间的距离相似,则元子操作被认为属于操作行为Bi

没有被吸收到已有的操作行为聚类的元子操作将形成一个新的操作行为聚类。为了检 查一个新的操作行为聚类,本发明定义如下算法:

1.计算出已有操作行为聚类中元子操作间最大距离dm;

2.构建最到元子操作的最小生成树,它们的距离要大于已有操作行为聚类的dm值;

3.重复第一步。

通过执行以上算法,磁盘缓存可以着随时间的递增判断出完整的操作行为。完整的操 作行为是同步远程存储系统数据的最小粒度。

本发明的优点在于能够根据用户使用桌面操作系统的数据访问模式自动判断完整的数 据操作行为,减少50%以上的远程存储系统接入桌面操作系统的数据访问操作,请求以及 减少40%以上的网络数据传输量。本发明对于用户的操作是完全透明的,对于第二次读写 的文件或数据可达到本地存储系统读写速度。

附图说明

图1是内存缓存原理图。

图2是元子操作映射到欧几里得空间。

图3是用户操作行为判断。

图4是本发明一具体实施方式示意图。

具体实施方式

图4为本发明在Windows桌面操作系统中的具体实施方式。文件系统代理用于过滤和应答 来自于Windows访问远程存储系统的文件操作请求。在本发理的具体实施例中,使用了开 源的文件系统代理工具dokan.net开发包。通过dokan.net开发包用于在Windows系统 中建立一个虚拟磁盘,用于接收和应答所有桌面操作系统对该虚拟磁盘文件的数据访问操 作。文件系统代理将元数据相关操作请求转发给内存缓存处理,将文件相关操作请求转发 给磁盘缓存处理。内存缓存是在Windows中分配的一个10M到60M的内存空间,在该空 间中建立与目录结构相似的树型结构,用于存储远程存储系统的元数据。磁盘缓存是在 Windows的系统盘中建立一个1G到4G的隐藏目录,用于缓存数据集。如果内存缓存和 磁盘缓存中没有请求的元数据或数据集,内存缓存和磁盘缓存将通过传输协议代理将文件 系统操作转化为网络传输请求获取相关的数据。在本操作实例中使用了FTP(文件传输协 议)实际与远程存储系统的网络传输。

具体实施方式如下:

1.从桌面操作系统接收一组元子操作S={O1,O2,O3,Oi},Oi为文件系统元子操作,其中 元子操作集合包括元数据相关操作子集及文件相关操作子集;

2.将元数据相关操作子集重定向到内存缓存,文件相关操作子集重定向到磁盘缓存

3.内存缓存对元数据相关操作子集分别执行搜索操作,更新操作;

4.磁盘缓存对文件相关操作子集分别执行搜索操作,更新操作;

5.内存缓存和磁盘缓存将更新操作结果返回桌面操作系统。

更新操作的具体实施方式如下:

Procedure Update(Oj)

//设Oj为桌面操作系统发送的元子操作

(1)    R={r1,r2,r3,ri}          //设R为存储元子操作执行后的结果集

(2)  S={O1,O2,O3,Oi}    //设S为已有的一个用户操作行为,其中包括若干元子操作

(3)  if Oj属于S            //如果元子操作Oj属于已有的用户操作行为,则将该元子操作

添加到S  中

(4)        S->add(Oj)

(5)        return

(6)  else            //如果元子操作Oj不属于已有的用户操作行为

(7)        R=SyncyniseOperations(S)    //将同步到远程存储系统并执行

(8)        new S                                //清空用户已有行为

(9)        Snew->add(Oj)                //将Oj添加到新的用户行为S

(10)    return R                            //返回远程存储系统执行结果。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号