网络盘本地挂载处理方法、装置及系统与流程

文档序号:12377124阅读:269来源:国知局
网络盘本地挂载处理方法、装置及系统与流程

本发明涉及通信领域,具体而言,涉及一种网络盘本地挂载处理方法、装置及系统。



背景技术:

随着云计算及互联网应用的快速发展,云桌面,网络盘等等应用越来越多,目前网络盘的使用主要有几下几种方式:

一:基于云存储方式的网络盘,常见于各互联网公司的产品,该产品提供一定的网络空间,用户通过专有的客户端进行连接,此类网络盘通常基于文件方式存储,在这种情况下存在以下弊端:对文件的读写修改等操作需要同步下载或者上传整个文件,因此对于大文件往往需要很长的时间进行下载上传操作,另外,客户端和服务端之间的同步也往往需要用户手工同步;

二:基于以太网小型计算机系统接口(Internet Small Computer System Interface,简称为ISCSI)协议的网络盘,该网络盘通过专有协议可以直接在客户端上基于磁盘扇区进行读写操作,但是,在相关技术中,传输实时性要求高、数据流量大,这类网络盘通常只适用于局域网,在互联网环境中基本处于不可用状态;

针对相关技术中,网络盘的用户操作复杂和体验差的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明提供了一种网络盘本地挂载处理方法、装置及系统,以至少解决相关技术中网络盘的用户操作复杂和体验差的问题。

根据本发明的一个方面,提供了一种网络盘处理方法,包括:

终端获取服务器分配的网络盘的信息,根据所述网络盘的信息创建虚拟磁盘;

所述终端截取所述终端对所述虚拟磁盘的操作;

所述终端在未使用的本地磁盘上分配缓存空间,所述终端对虚拟磁盘的所述操作重定向为对所述缓存空间的操作。

进一步地,所述终端获取服务器分配的网络盘的信息之前包括:

所述终端向所述服务器发送查询信息,所述查询信息用于查询所述终端在所述服务 器上是否有分配所述网络盘;

在所述服务器上有分配所述网络盘的情况下,所述服务器向所述终端发送所述网络盘的信息。

进一步地,根据所述操作对缓存空间进行处理包括:

根据所述操作对应的缓存映射关系表对缓存空间进行处理,其中,所述终端保存所述缓存映射关系表,所述缓存映射关系表包括:读缓存映射关系表和写缓存映射关系表。

进一步地,在所述操作为读操作的情况下,所述根据所述操作对缓存空间进行处理包括:

查询所述读缓存关系映射表是否有所述读操作对应的数据,在所述缓存空间有所述读操作对应的数据的情况下,从所述缓存空间中读取所述数据。

进一步地,在所述缓存空间没有所述读操作对应的数据的情况下,从所述网络盘读取所述数据,将所述数据写入所述缓存空间及更新所述读缓存关系映射表。

进一步地,在所述操作为写操作的情况下,所述根据所述操作对缓存空间进行处理包括:

将所述写操作对应的数据写入所述缓存空间,并更新所述读缓存映射关系表和所述写缓存映射关系表。

进一步地,所述将所述写操作对应的数据写入所述缓存空间之后包括:

所述终端扫描所述写缓存映射关系表,将所述写操作对应的数据上传到所述网络盘。

进一步地,在通过所述缓存空间向所述网络盘上传所述数据中断的情况下,重新发起上传请求继续上传所述数据。

根据本发明的另一个方面,还提供了一种网络盘本地挂载处理装置,位于终端中,包括:

创建模块,用于获取服务器分配的网络盘的信息,根据所述网络盘的信息创建虚拟磁盘;

截取模块,用于截取所述终端对所述虚拟磁盘的操作;

处理模块,用于在未使用的本地磁盘上分配缓存空间,所述终端对虚拟磁盘的所述操作重定向为对所述缓存空间的操作。

根据本发明的另一个方面,还提供了一种网络盘本地挂载处理系统,包括:终端和服务器;

所述终端获取所述服务器分配的网络盘的信息,根据所述网络盘的信息创建虚拟磁 盘;

所述终端截取所述终端对所述虚拟磁盘的操作;

所述终端在未使用的本地磁盘上分配缓存空间,所述终端对虚拟磁盘的所述操作重定向为对所述缓存空间的操作。

通过本发明,终端获取服务器分配的网络盘的信息,根据该网络盘的信息创建虚拟磁盘,该终端截取该终端对该虚拟磁盘的操作,该终端在未使用的本地磁盘上分配缓存空间,该终端对虚拟磁盘的该操作重定向为对该缓存空间的操作,解决了网络盘的用户操作复杂和体验差的问题,优化了用户的操作方式,减小了网络流量。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种网络盘本地挂载处理方法的流程图;

图2是根据本发明实施例的一种网络盘本地挂载处理装置的结构框图;

图3是根据本发明优选实施的网络盘系统组网示意图;

图4是根据本发明优选实施的客户端内部结构流程示意图;

图5是根据本发明优选实施的客户端各模块之间的关系示意图;

图6是根据本发明优选实施的磁盘驱动启动初始化流程示意图;

图7是根据本发明优选实施的读请求处理流程示意图;

图8是根据本发明优选实施的写请求处理流程示意图;

图9是根据本发明优选实施的上传写缓存处理流程示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种网络盘本地挂载处理方法,图1是根据本发明实施例的一种网络盘本地挂载处理方法的流程图,如图1所示,该流程包括如下步骤:

步骤S102,终端获取服务器分配的网络盘的信息,根据该网络盘的信息创建虚拟 磁盘;

步骤S104,该终端截取该终端对该虚拟磁盘的操作;

步骤S106,该终端在未使用的本地磁盘上分配缓存空间,该终端对虚拟磁盘的该操作重定向为对该缓存空间的操作。

通过上述步骤,终端获取服务器分配的网络盘的信息,根据该网络盘的信息创建虚拟磁盘,终端应用截取该终端对该虚拟磁盘的操作,将对该虚拟磁盘的读写操作重定向为对本地缓存空间进行读写操作,从而将网络盘对应的虚拟磁盘的操作需要的数据暂时存储在未使用的本地磁盘上,在对网络盘的操作中,可以去缓存空间中对该操作对应的数据进行处理,解决了网络盘的用户操作复杂和体验差的问题,优化了用户的操作方式,减小了网络流量。

在本实施例中,该终端向该服务器发送查询信息,该查询信息用于查询该终端在该服务器上是否有分配该网络盘;在该服务器上有分配该网络盘的情况下,该服务器向该终端发送该网络盘的信息。

在本实施例中,可以根据该操作对应的缓存映射关系表对缓存空间进行处理,其中,该终端保存该缓存映射关系表,该缓存映射关系表包括读缓存映射关系表、写缓存映射关系表等等。

在本实施例中,在该操作为读操作的情况下,查询读缓存关系映射表是否有该读操作对应的数据,在该缓存空间有该读操作对应的数据的情况下,从该缓存空间中读取该数据;

在该缓存空间没有该读操作对应的数据的情况下,从该网络盘读取该数据,并将该数据写入该缓存空间及更新读操作缓存关系映射表。

在本实施例中,在该操作为写操作的情况下,将该写操作对应的数据写入该缓存空间,并更新读缓存映射关系表和写缓存映射关系表。

另外,终端应用同时扫描该写缓存映射关系表,将该写操作对应的数据上传到该网络盘。

其中,在通过该缓存空间向该网络盘上传该数据中断的情况下,重新发起上传请求继续上传该数据。

在上述实施例中,该操作包括以下至少之一:读操作,写操作。

在本实施例中还提供了一种网络盘本地挂载处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图2是根据本发明实施例的一种网络盘本地挂载处理装置的结构框图,位于终端中,如图2所示,该装置包括

创建模块22,用于获取服务器分配的网络盘的信息,根据该网络盘的信息创建虚拟磁盘;

截取模块24,用于截取该终端对该虚拟磁盘的操作;

处理模块26,用于在未使用的本地磁盘上分配缓存空间,该终端对虚拟磁盘的该操作重定向为对该缓存空间的操作。

通过上述装置,终端获取服务器分配的网络盘的信息,根据该网络盘的信息创建虚拟磁盘,终端应用截取该终端对该虚拟磁盘的操作,将对该虚拟磁盘的读写操作重定向为对本地缓存空间进行读写操作,从而将网络盘对应的虚拟磁盘的操作需要的数据暂时存储在未使用的本地磁盘上,在对网络盘的操作中,可以去缓存空间中对该操作对应的数据进行处理,解决了网络盘的用户操作复杂和体验差的问题,优化了用户的操作方式,减小了网络流量。

在本发明的另外一个实施例中,还提供了一种网络盘本地挂载处理系统,包括:终端和服务器;

该终端获取该服务器分配的网络盘的信息,根据该网络盘的信息创建虚拟磁盘;

该终端截取该终端对该虚拟磁盘的操作;

该终端在未使用的本地磁盘上分配缓存空间,该终端对虚拟磁盘的该操作重定向为对该缓存空间的操作。

下面结合优选实施例和实施方式对本发明进行详细说明。

本发明的优选实施例提出一种新的网络盘使用方式,通过在客户端建立磁盘扇区读写缓存,使用磁盘过滤驱动重定向网络盘数据处理请求,从而减少了网络消息交互,同时,在客户端不需要分配文件进行缓存,磁盘过滤驱动会自动寻找未使用的本地磁盘扇区进行缓存,因此优化了用户操作方式,减少了消息流量,大大扩展了网络盘的使用场景。

本优选实施例是一种针对网络盘使用的创新;用户在计算机通过虚拟磁盘的方式挂载网络盘,对该盘的操作和本地磁盘的操作完全一致,用户感觉不出和本地使用的区别,在操作系统内部截获对该盘的操作请求,转换成对网络盘的操作,同时为了在低带宽网络中流畅使用,本专利发明了一种缓存机制通过读缓存和写缓存来减少对网络实时性的依赖。

为了实现上述方案,本优选实施例提出了一种网络盘本地缓存的方法和系统,包括:

服务端提供接口可以让客户端创建网络盘、读写网络盘、删除网络盘的操作。

客户端在启动时向服务查询是否为该用户分配网络盘,如果已经分配,则返回相应的网络盘信息,比如网络盘的UUID,网络盘大小等等信息,如果该用户为首次登陆,则在服务端为该用户创建对应网络镜像等待用户的后续操作。

客户端获取到网络盘信息后,通过内部驱动创建虚拟磁盘,在操作系统中会就体现出新增了一个硬盘,可以对该盘进行创建分区,删除分区、读写等等和本地磁盘相同的操作。

客户端驱动截获操作系统对该磁盘的操作,比如读写、查询、创建卷等等,并把操作重定向到服务器的磁盘镜像中。

客户端和服务端之间的通讯可以采用传输控制协议(Transmission Control Protocol,简称为TCP)保证数据正确性,也可以采用其他的通讯协议,并且可以通过传输加密等等操作保证数据的安全。

在客户端连接网盘的时候会在本地磁盘上分配缓存空间,缓存空间并不会影响本地的数据,而且,直接在磁盘上分配,在用户角度完全察觉不到本地磁盘空间的变化。

缓存空间包括读缓存和写缓存,同时为了保证数据的一致性,写操作需要准实时同步到服务端。

客户端同时还保存相应的缓存关系映射表,包括读缓存映射关系表,写缓存映射关系表;

客户端驱动在截获读操作时,首先判断是否在读缓存映射系表中,如果已经存在,直接从本地磁盘缓存中读取返回,如果不存在,则从网络盘中读取,读取后写入本地磁盘,并更新读缓存映射关系表;

客户端驱动在截获写操作时,直接将数据写入本地磁盘,同时更新写缓存映射关系表和读缓存映射关系表;

同时客户端驱动通过单独的线程扫描写缓存映射关系表,根据该表将本地磁盘数据不停的上传到网络盘中。

本地使用的磁盘空间是获取操作系统中未分配使用的磁盘空间,该空间最极端的情况为和网络盘大小一致,通常只会使用到很小的一部分空间。

如果没有本次写缓存数据上传时用户就选择关机或者异常断电之后,本地磁盘仍然会保存相关的数据变化信息,用户在重新开机后仍然可以继续上传上次修改的部分。

同时,在客户端上传下载过程中可以对上传下载的数据进行压缩处理,减少网络流量,在低带宽情况下增加上传下载的速度。

本优选实施例的网络盘的本地缓存方法和系统可以减少服务端和客户端之间的数据传输,同时不需要在客户端开辟专门的缓存空间,减少用户的交互,通过使用本发明的系统和方法,更好的增加了用户的体验,提升了用户的满意度。

图3是根据本发明优选实施的网络盘系统组网示意图,如图3所示,服务端和客户端处于网络的两端,二者之间通过网络相连,只要二者之间能够通过互联网连接,就可以使用本系统,同时,也可以发现网络盘在服务端就是一个镜像文件,而挂载到客户端之后则表现为操作系统中的一个磁盘,使用方法和本地盘完全一致。

图4是根据本发明优选实施的客户端内部结构流程示意图,如图4所示,操作系统将用户的操作通过IRP(I/O request package)消息发送到内核层,本发明实现了一个磁盘过滤驱动,这样当有针对磁盘的操作时,首先会被本发明的磁盘过滤驱动处理,本驱动会判断是否针对网络盘进行的操作,如果不是,则透传给下层驱动,如果是读操作且本地没有缓存数据则会通过网络驱动来与服务端建立请求,获取对应扇区的数据信息。

图5是根据本发明优选实施的客户端各模块之间的关系示意图,如图5所示,对于读操作,磁盘过滤系统会处理读缓存映射关系表和本地缓存信息,另外,对于不在本地缓存的数据,则会通过网络驱动向服务端查询,返回后会更新到本地缓存中,并更新读缓存映射关系表;对于写操作,则会在更新本地缓存的同时同步更新读缓存映射关系表和写缓存映射关系表。对于网络上传操作,则根据写缓存映射关系表同步更新到服务端去。

图6是根据本发明优选实施的磁盘驱动启动初始化流程示意图,包括:

步骤601,机器开机,在操作系统启动的同时加载本专利的磁盘过滤驱动;

步骤602,磁盘过滤驱动启动后,首先会像服务端查询本机器是否有网络盘需要挂载,如果有,则根据返回的磁盘信息在本机创建虚拟磁盘,同时将虚拟磁盘映射到对应的网络盘,如果没有则进行下一步处理;

步骤603,磁盘过滤驱动需要检查本机的缓存空间中是否存在上次的待传数据,这个可以通过是否存在写缓存关系映射表来完成,如果存在,则需要进行数据上传操作流程;

步骤604,检查本地磁盘空间,预留部分本地缓存使用空间,同时如果本地挂载网络盘和上次机器启动挂载网络盘不一致,必须保证之前的写缓存数据全部上传成功后才能进行覆盖等操作;

图7是根据本发明优选实施的读请求处理流程示意图,包括:

步骤701:在应用层下发磁盘读请求到内核的时候,首先会被本发明的磁盘过滤驱 动截获,这时首先判断是否是针对本驱动创建的虚拟磁盘,也就是网络盘来进行读操作;

步骤702:如果不是读网络盘,则透传给下层驱动;

步骤703:如果为网络盘,首先从读缓存关系映射表中判断本地是否已有数据,如果存在则从本地读取返回;

步骤704:如果读取的扇区数据本地没有保存,则通过网络驱动发送请求消息到服务器端,服务端返回数据后保存至本地缓存并更新读缓存映射关系表。

图8是根据本发明优选实施的写请求处理流程示意图,包括:

步骤801:在应用层下发磁盘写请求到内核的时候,首先会被本发明的磁盘过滤驱动截获,这时首先判断是否是针对本驱动创建的虚拟磁盘,也就是网络盘来进行写操作;

步骤802:如果不是写网络盘,则透传给下层驱动;

步骤803:如果为网络盘,首先从写入本地缓存,然后修改写缓存关系映射表,触发上传缓存事件;

图9是根据本发明优选实施的上传写缓存处理流程示意图,包括:

步骤901:在系统将磁盘过滤驱动加载后,磁盘过滤驱动则会创建线程扫描本地缓存中写缓存映射关系表;

步骤902:如果写缓存映射关系表中没有数据,则等待事件触发;

步骤903:如果写缓存映射关系表中存在数据,则从写缓存映射关系表的起始开始遍历,通过映射关系从本地缓存中获取数据,然后通过网络驱动的接口发送给服务端;

步骤904:如果服务端返回成功则继续扫描,开始上传下一块数据,返回失败则重新上传;

本发明在软件上是使用的磁盘过滤驱动和TDI驱动来实现的,也可以通过WINDOWS内部的其他层次驱动比如NDIS驱动或者其他方案来实现;

需要说明的是,这里客户端和服务端之间的接口实现的技术方案比较多,比如通过TCP协议、UDP协议、HTTP协议等等,另外,为了保证数据的安全同时可以针对消息进行加密操作,为了进一步节省网络数据流量也可以采用压缩算法进行压缩等等,这些都属于本专利要求的包含范围。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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