首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 系统软件 / 操作系统 / 内核 / 通过云文件系统实现云存储接入的方法和装置

通过文件系统实现云存储接入的方法和装置

阅读:2发布:2020-08-14

专利汇可以提供通过文件系统实现云存储接入的方法和装置专利检索,专利查询,专利分析的服务。并且本 申请 提供了一种通过 云 文件系统实现云存储接入的方法,该方法包括:响应于应用对云文件系统中的文件的操作 请求 ,获取所述应用的 进程 名;判断所述操作请求针对的文件所在的路径的名称中是否包含所述应用的进程名;如果是,允许所述操作请求,对云存储 服务器 执行所述操作请求指示的操作;如果否,拒绝所述操作请求。通过本申请,可以利用一个云文件系统为各个应用提供云存储服务,各个应用无需再自己调用云存储客户端,应用开发商也无需再将实现调用功能的API接入到应用中,从而节约了应用开发商的开发难度和开发成本。本申请还提供了一种通过云文件系统实现云存储的装置。,下面是通过文件系统实现云存储接入的方法和装置专利的具体信息内容。

1.一种通过文件系统实现云存储接入的方法,其特征在于,包括:
响应于应用对云文件系统中的文件的操作请求,获取所述应用的进程名;
判断所述操作请求针对的文件所在的路径的名称中是否包含所述应用的进程名;
如果是,允许所述操作请求,对云存储服务器执行所述操作请求指示的操作;
如果否,拒绝所述操作请求。
2.根据权利要求1所述的方法,其特征在于,当所述操作请求为写入请求时,所述允许所述写入请求,对云存储服务器执行所述写入请求指示的写入操作包括:
将所述写入请求针对的文件保存在本地的存储空间中;
向所述应用返回写入响应,并将所述写入请求针对的文件从本地的存储空间传输给所述云存储服务器。
3.根据权利要求2所述的方法,其特征在于,还包括:
在将所述写入请求针对的文件从本地的存储空间传输给所述云存储服务器之后,将所述写入请求针对的文件从本地的存储空间中删除。
4.根据权利要求2所述的方法,其特征在于,还包括:
将所述写入操作针对的文件的信息存储在本地的数据库中。
5.根据权利要求4所述的方法,其特征在于,还包括:
响应于对云文件系统的启动操作,将所述云存储服务器中的文件信息同步到本地的数据库中。
6.根据权利要求4或5所述的方法,其特征在于,还包括:
响应于应用对所述云文件系统中的文件目录的读取请求,从所述本地的数据库读取文件信息,并将读取的文件信息返回给所述应用。
7.根据权利要求1所述的方法,其特征在于,还包括:
在对云存储服务器执行所述操作请求指示的操作之前,根据所述云文件系统所在的电子设备的唯一标识,从云存储代理平台获取预先分配给所述云文件系统所在的电子设备的云存储服务器的使用账号,其中,所述云存储代理平台预先存储有电子设备的唯一标识与云存储服务的使用账号之间的映射关系;
则所述对云存储服务器执行所述操作请求指示的操作为:
根据所述云存储服务器的使用账号对相应的云存储服务器执行所述操作请求指示的操作。
8.根据权利要求7所述的方法,其特征在于,所述云存储服务器的使用账号是经过所述云存储代理平台加密处理的。
9.根据权利要求1所述的方法,其特征在于,所述云文件系统是在用户空间实现的。
10.根据权利要求9所述的方法,其特征在于,在所述用户空间设置有libfuse接口,所述libfuse接口与内核空间的FUSE模通信;当内核空间中的VFS模块响应于应用的文件操作命令,并将所述文件操作命令传递给FUSE模块时,所述FUSE模块将所述文件操作命令传递给所述libfuse接口,所述libfuse接口将所述文件操作命令传递给所述云文件系统。
11.根据权利要求1所述的方法,其特征在于,所述云文件系统基于http协议实现传输。
12.一种通过云文件系统实现云存储接入的装置,其特征在于,包括:
进程名获取单元,用于响应于应用对云文件系统中的文件的操作请求,获取所述应用的进程名;
判断单元,用于判断所述操作请求针对的文件所在的路径的名称中是否包含所述应用的进程名;
操作执行单元,用于如果是,允许所述操作请求,对云存储服务器执行所述操作请求指示的操作;
操作拒绝单元,用于如果否,拒绝所述操作请求。
13.根据权利要求12所述的装置,其特征在于,当所述操作请求为写入请求时,所述操作执行单元包括:
第一存储子单元,用于将所述写入请求针对的文件保存在本地的存储空间中;
响应子单元,用于向所述应用返回写入响应,并将所述写入请求针对的文件从本地的存储空间传输给所述云存储服务器。
14.根据权利要求13所述的装置,其特征在于,所述操作执行单元还包括:
删除子单元,用于在所述响应子单元将所述写入请求针对的文件从本地的存储空间传输给所述云存储服务器之后,将所述写入请求针对的文件从本地的存储空间中删除。
15.根据权利要求13所述的装置,其特征在于,所述操作执行单元还包括:
第二存储子单元,用于将所述写入操作针对的文件的信息存储在本地的数据库中。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
数据同步单元,用于响应于对云文件系统的启动操作,将所述云存储服务器中的文件信息同步到本地的数据库中。
17.根据权利要求15或16所述的装置,其特征在于,所述装置还包括:
目录读取单元,用于响应于应用对所述云文件系统中的文件目录的读取请求,从所述本地的数据库读取文件信息,并将读取的文件信息返回给所述应用。
18.根据权利要求12所述的装置,其特征在于,所述装置还包括:
账号获取单元,用于在所述操作执行单元对云存储服务器执行所述操作请求指示的操作之前,根据所述云文件系统所在的电子设备的唯一标识,从云存储代理平台获取预先分配给所述云文件系统所在的电子设备的云存储服务器的使用账号,其中,所述云存储代理平台预先存储有电子设备的唯一标识与云存储服务的使用账号之间的映射关系;
则所述操作执行单元用于,根据所述云存储服务器的使用账号对相应的云存储服务器执行所述操作请求指示的操作。
19.根据权利要求18所述的装置,其特征在于,所述云存储服务器的使用账号是经过所述云存储代理平台加密处理的。
20.根据权利要求12所述的装置,其特征在于,所述云文件系统是在用户空间实现的。
21.根据权利要求20所述的装置,其特征在于,在所述用户空间设置有libfuse接口,所述libfuse接口与内核空间的FUSE模块通信;当内核空间中的VFS模块响应于应用的文件操作命令,并将所述文件操作命令传递给FUSE模块时,所述FUSE模块将所述文件操作命令传递给所述libfuse接口,所述libfuse接口将所述文件操作命令传递给所述云文件系统。
22.根据权利要求12所述的装置,其特征在于,所述云文件系统基于http协议实现传输。

说明书全文

通过文件系统实现云存储接入的方法和装置

技术领域

[0001] 本申请涉及云存储领域,特别是涉及通过云文件系统实现云存储接入的方法和装置。

背景技术

[0002] 在智能电视设备或机顶盒设备中,通常会遇到存储空间不足的问题。如何为智能电视设备或机顶盒设备扩展海量的存储空间成为目前亟待解决的一个技术问题。
[0003] 近年来云存储技术飞速发展,并且为扩展海量的存储空间提供了有效的解决方案。而随着云存储技术的飞速发展,各种提供云存储服务的云存储客户端(例如,云盘)也层出不穷,并且也已经广泛地运用到了智能手机和智能电视设备中。通过云存储客户端可以将图片、视频等文件上传到云端的云存储服务器,也可以访问已经上传到云存储服务器中的图片、视频等文件。
[0004] 但是,在实现本申请的过程中,本申请的发明人发现现有技术中至少存在如下问题:对于安装在智能电视设备或机顶盒设备上的各个应用(例如,实现监控功能的应用)来说,该应用必须自己实现云存储功能。这不仅增加了应用开发商的开发难度,也增加了开发成本。

发明内容

[0005] 为了解决上述技术问题,本申请实施例提供了通过云文件系统实现云存储接入的方法和装置,以通过一个云文件系统集中为各个应用提供云存储服务,应用开发商无需再自己实现云存储功能,从而节约了应用开发商的开发难度和开发成本。
[0006] 本申请实施例公开了如下技术方案:
[0007] 一种通过云文件系统实现云存储接入的方法,包括:
[0008] 响应于应用对云文件系统中的文件的操作请求,获取所述应用的进程名;
[0009] 判断所述操作请求针对的文件所在的路径的名称中是否包含所述应用的进程名;
[0010] 如果是,允许所述操作请求,对云存储服务器执行所述操作请求指示的操作;
[0011] 如果否,拒绝所述操作请求。
[0012] 优选的,当所述操作请求为写入请求时,所述允许所述写入请求,对云存储服务器执行所述写入请求指示的写入操作包括:
[0013] 将所述写入请求针对的文件保存在本地的存储空间中;
[0014] 向所述应用返回写入响应,并将所述写入请求针对的文件从本地的存储空间传输给所述云存储服务器。
[0015] 优选的,还包括:
[0016] 在将所述写入请求针对的文件从本地的存储空间传输给所述云存储服务器之后,将所述写入请求针对的文件从本地的存储空间中删除。
[0017] 优选的,还包括:
[0018] 将所述写入操作针对的文件的信息存储在本地的数据库中。
[0019] 优选的,还包括:
[0020] 响应于对云文件系统的启动操作,将所述云存储服务器中的文件信息同步到本地的数据库中。
[0021] 优选的,还包括:
[0022] 响应于应用对所述文件系统中的文件目录的读取请求,从所述本地的数据库读取文件信息,并将读取的文件信息返回给所述应用。
[0023] 优选的,还包括:
[0024] 在对云存储服务器执行所述操作请求指示的操作之前,根据所述云文件系统所在的电子设备的唯一标识,从云存储代理平台获取预先分配给所述云文件系统所在的电子设备的云存储服务器的使用账号,其中,所述云存储代理平台预先存储有电子设备的唯一标识与云存储服务的使用账号之间的映射关系;
[0025] 则所述对云存储服务器执行所述操作请求指示的操作为:
[0026] 根据所述云存储服务器的使用账号对相应的云存储服务器执行所述操作请求指示的操作。
[0027] 优选的,所述云存储服务器的使用账号是经过所述云存储代理平台加密处理的。
[0028] 优选的,所述云文件系统是在用户空间实现的。
[0029] 优选的,在所述用户空间设置有libfuse接口,所述libfuse接口与内核空间的FUSE模通信;当内核空间中的VFS模块响应于应用的文件操作命令,并将所述文件操作命令传递给FUSE模块时,所述FUSE模块将所述文件操作命令传递给所述libfuse接口,所述libfuse接口将所述文件操作命令传递给所述云文件系统。
[0030] 优选的,所述云文件系统基于http协议实现传输。
[0031] 一种通过云文件系统实现云存储接入的装置,包括:
[0032] 进程名获取单元,用于响应于应用对云文件系统中的文件的操作请求,获取所述应用的进程名;
[0033] 判断单元,用于判断所述操作请求针对的文件所在的路径的名称中是否包含所述应用的进程名;
[0034] 操作执行单元,用于如果是,允许所述操作请求,对云存储服务器执行所述操作请求指示的操作;
[0035] 操作拒绝单元,用于如果否,拒绝所述操作请求。
[0036] 优选的,当所述操作请求为写入请求时,所述操作执行单元包括:
[0037] 第一存储子单元,用于将所述写入请求针对的文件保存在本地的存储空间中;
[0038] 响应子单元,用于向所述应用返回写入响应,并将所述写入请求针对的文件从本地的存储空间传输给所述云存储服务器。
[0039] 优选的,所述操作执行单元还包括:
[0040] 删除子单元,用于在所述响应子单元将所述写入请求针对的文件从本地的存储空间传输给所述云存储服务器之后,将所述写入请求针对的文件从本地的存储空间中删除。
[0041] 优选的,所述操作执行单元还包括:
[0042] 第二存储子单元,用于将所述写入操作针对的文件的信息存储在本地的数据库中。
[0043] 优选的,所述装置还包括:
[0044] 数据同步单元,用于响应于对云文件系统的启动操作,将所述云存储服务器中的文件信息同步到本地的数据库中。
[0045] 优选的,所述装置还包括:
[0046] 目录读取单元,用于响应于应用对所述文件系统中的文件目录的读取请求,从所述本地的数据库读取文件信息,并将读取的文件信息返回给所述应用。
[0047] 优选的,所述装置还包括:
[0048] 账号获取单元,用于在所述操作执行单元对云存储服务器执行所述操作请求指示的操作之前,根据所述云文件系统所在的电子设备的唯一标识,从云存储代理平台获取预先分配给所述云文件系统所在的电子设备的云存储服务器的使用账号,其中,所述云存储代理平台预先存储有电子设备的唯一标识与云存储服务的使用账号之间的映射关系;
[0049] 则所述操作执行单元用于,根据所述云存储服务器的使用账号对相应的云存储服务器执行所述操作请求指示的操作。
[0050] 优选的,所述云存储服务器的使用账号是经过所述云存储代理平台加密处理的。
[0051] 优选的,所述云文件系统是在用户空间实现的。
[0052] 优选的,在所述用户空间设置有libfuse接口,所述libfuse接口与内核空间的FUSE模块通信;当内核空间中的VFS模块响应于应用的文件操作命令,并将所述文件操作命令传递给FUSE模块时,所述FUSE模块将所述文件操作命令传递给所述libfuse接口,所述libfuse接口将所述文件操作命令传递给所述云文件系统。
[0053] 优选的,所述云文件系统基于http协议实现传输。
[0054] 由上述实施例可以看出,与现有技术相比,本申请的优点在于:
[0055] 由一个云文件系统集中为所有应用提供系统级的云存储服务,并且,对于每一个应用来说,其只能对该云文件系统中属于自己的文件进行操作,而不能对属于其它应用的文件进行操作。各个应用的开发商无需再各自去实现云存储服务,从而节约了应用开发商的开发难度和开发成本。附图说明
[0056] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0057] 图1示意性地示出了本申请的实施方式可以在其中实施的一个示例性应用场景;
[0058] 图2示意性地示出了根据本申请的一个实施方式的通过云文件系统实现云存储接入的方法的流程图
[0059] 图3示意性地示出了本申请的实施方式可以在其中实施的另一个示例性应用场景;
[0060] 图4示意性地示出了根据本申请的一个实施方式的在用户空间实现云文件系统的工作原理图;
[0061] 图5示意性地示出了根据本申请的一个实施方式的通过云文件系统实现云存储接入的装置的结构框图
[0062] 图6示意性地示出了根据本申请的另一个实施方式的操作执行单元的结构框图;
[0063] 图7示意性地示出了根据本申请的另一个实施方式的操作执行单元的结构框图;
[0064] 图8示意性地示出了根据本申请的另一个实施方式的通过云文件系统实现云存储的装置的结构框图。

具体实施方式

[0065] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例进行详细描述。
[0066] 方法实施例
[0067] 首先参考图1,图1示意性地示出了本申请的实施方式可以在其中实施的一个示例性应用场景。其中,以智能电视设备为例,在智能电视设备上布置一个云文件系统10,在云文件系统10的根目录下创建一个/Cloud文件夹11,智能电视设备上的任意一个客户端应用可以像操作本地文件一样操作/Cloud文件夹11中的文件。/Cloud文件夹11是一个虚拟文件夹,并且映射到云存储服务器20的某一个文件夹21上,因此,任意一个客户端应用对云文件系统10上的/Cloud文件夹11的操作实际上是对云存储服务器20上的某一个文件夹21的操作。
[0068] 具体的,客户端应用30向云文件系统10发送对/Cloud文件夹11中的某一个文件的写入请求,云文件系统10对客户端应用30的写入权限进行控制,如果允许该写入请求,云文件系统10对云存储服务器20执行该写入请求所指示的写入操作。即,云文件系统10向云存储服务器20发送上传文件请求,云存储服务器20向云文件系统10返回上传文件响应(在上传文件响应中指示文件上传成功或上传失败)。如果拒绝该写入请求,云文件系统10向客户端应用30返回拒绝写入的响应。本领域技术人员可以理解,图1所示的示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的应用范围不受到该框架任何方面的限制。例如,客户端应用30除了可以向云文件系统10发送对/Cloud文件夹11中的某一个文件的写入请求之外,还可以向云文件系统10发送对/Cloud文件夹11中的某一个文件的读取请求。作为响应,云文件系统10向云存储服务器20发送文件读取请求,云存储服务器20向云文件系统10返回相应的文件。
[0069] 需要说明的是,在本申请中,“云文件系统”是一种可以向应用提供云存储接入服务的文件系统。
[0070] 结合上述应用场景,请参阅图2,示意性地示出了根据本申请的一个实施方式的通过云文件系统实现云存储的方法的流程图,例如,该方法可以由云文件系统10执行,该方法例如包括以下步骤:
[0071] 步骤201:响应于应用对云文件系统中的文件的操作请求,获取所述应用的进程名。
[0072] 步骤202:判断所述操作请求针对的文件所在的路径的名称中是否包含所述应用的进程名,如果是,进入步骤203,否则,进入步骤204。
[0073] 步骤203:允许所述操作请求,对云存储服务器执行所述操作请求指示的操作,结束流程。
[0074] 步骤204:拒绝所述操作请求,结束流程。
[0075] 在Linux文件系统中,文件的权限管理是基于用户的,即,一个文件只能属于一个用户,其它用户不能随意操作该文件。但是,在智能电视设备或机顶盒设备中,应用的概念变得更重要。当云文件系统10响应某一个应用对某一个文件的操作请求时,需要先判断该应用是否有对该文件进行操作的权限。
[0076] 在本申请中规定,一个应用只能访问以自己的进程名命名的文件夹下的内容。基于此,云文件系统10可以判断该操作请求针对的文件所在的路径的名称中是否包含所述应用的进程名,如果是,即可确定该应用有对该文件进行操作的权限,作为响应,云文件系统10允许该操作请求,对云存储服务器执行该操作请求指示的操作;如果否,即可确定该应用没有对该文件进行操作的权限,作为响应,云文件系统10拒绝该操作请求。
[0077] 其中,当一个应用向云文件系统10发送操作请求时,该应用的进程号作为该操作请求中的一个参数传递给了云文件系统10,云文件系统10通过该应用的进程号可以进一步得到该应用的进程名。
[0078] 考虑到本申请中的云文件系统10是一个依赖于网络的文件系统,其对于操作请求的响应速度会比本地文件系统的响应速度要低。
[0079] 在本申请的一个优选实施方式中,为了尽可能地提高云文件系统10对写入请求的响应速度,当云文件系统10允许写入请求,对云存储服务器20执行该写入请求指示的写入操作时,云文件系统10可以先将写入请求针对文件保存在本地的存储空间中,然后立刻向应用返回写入响应,以便用户可以继续进行下面的操作,随后云文件系统10再将该写入请求针对的文件从本地的存储空间传输给云存储服务器20。当然,云文件系统10也可以在向应用返回写入响应的同时,将该写入请求针对的文件从本地的存储空间传输给云存储服务器20。
[0080] 进一步的,在将写入请求针对的文件从本地的存储空间传输给云存储服务器之后,还将写入请求针对的文件本地的存储空间中删除,以便释放本地的存储空间。
[0081] 在本申请的一个优选实施方式中,为了尽可能地提高云文件系统10对读取请求的响应速度,云文件系统10将写入操作针对的文件的文件信息存储在本地的数据库中。其中,文件信息可以包括但不限于:文件的类型、文件的大小以及文件的存储路径等。文件信息是作为元数据存储在数据库中。当云文件系统10响应于应用对文件目录的读取请求时,文件系统10从本地的数据库中读取文件信息,并将读取的文件信息返回给该应用。
[0082] 可以理解的,由于云文件系统10是从本地的数据库中读取文件信息的,而不需要通过网络访问云端的云存储服务器20,因此,可以快速地进行响应。
[0083] 为了保证云存储服务器20中的文件信息与本地的数据库中的文件信息一致,在本申请的另一个优选实施方式中,当启动云文件系统10时,响应于该启动操作,云文件系统10启动同步服务,即,将云存储服务器20中的文件信息同步到本地的数据库中。
[0084] 当然,云文件系统10可以先比较本地的数据库中的文件信息是否与云存储服务器中的文件信息一致,如果不一致,再启动同步服务,如果一致,不启动同步服务。
[0085] 在同步完成之前,先使用同步之前的数据库,在同步完成之后,再使用同步后的数据库。
[0086] 另外,需要说明的是,在本申请中,可以利用现有的云存储服务器提供云存储服务。
[0087] 但是,云存储服务器的提供商都有自己的账号体系,需要各个应用的开发者在网站上注册并开通云存储功能,进而为应用获得一个云存储服务器的使用账号。考虑到各个应用的开发者还需要执行注册和开通等繁琐的操作过程才能享用到云存储服务,因此,在本申请中,为了避免各个应用的开发者执行上述繁琐的操作过程,可以在云端搭建一个云存储代理平台(Cloudstorage Agent Platform,CAP),由智能电视设备或机顶盒设备的生产商从云存储服务器的提供商处为每一台设备获得一个云存储服务器的使用账号,同时,在CAP上存储了每一台设备的唯一标识与云存储服务器的使用账号之间的映射关系。
[0088] 首先参考图3,图3示意性地示出了本申请的实施方式可以在其中实施的另一个示例性应用场景。客户端应用30向云文件系统10发送对/Cloud文件夹11中的文件的写入请求,云文件系统10对客户端应用30的写入权限进行控制,如果允许该写入请求,云文件系统10将向CAP40发送获取账号请求,在该获取账号请求中包含有云文件系统10所在电子设备的唯一标识,如,设备标识Device ID和产品型号Product Name,CAP40根据预先存储的映射关系查找到云存储服务器20的使用账号,并向云文件系统10返回获取账号响应,在该获取账号响应中包含有云存储服务器20的使用账号。云文件系统10根据云存储服务器20的使用账号对云存储服务器20执行该写入请求指示的写入操作。即,云文件系统10向云存储服务器20发送上传文件请求,云存储服务器20向云文件系统10返回指示文件上传成功或上传失败的上传文件响应。如果拒绝该写入请求,云文件系统10向客户端应用30返回指示拒绝写入的写入响应。本领域技术人员可以理解,图3所示的示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的应用范围不受到该框架任何方面的限制。例如,客户端应用30除了可以向云文件系统10发送对/Cloud文件夹11中的文件的写入请求之外,还可以向云文件系统10发送对/Cloud文件夹11中的文件的读取请求。作为响应,云文件系统10向云存储服务器20发送文件读取请求,云存储服务器20向云文件系统10返回相应的文件。
[0089] 另外,需要说明的是,为了保证云存储服务器20的使用账号在传输时的安全性,CAP可以先利用加密算法对云存储服务器20的使用账号进行加密处理,然后再将经过加密处理后的云存储服务器20的使用账号通过信令消息发送给云文件系统10。
[0090] 可以理解的,在整个过程中,各个应用对云存储服务器20的账号是一无所知的,这也保障了云存储服务器20的账号的安全性。
[0091] 在现有技术中,如ext4这些常见的文件系统都是在操作系统的内核中实现的,即,文件系统作为内核的一个模块。但是,这种实现方式对于系统开发人员的要求很高,需要非常熟悉操作系统的内核,从而增加了开发难度。为了降低开发难度,在本申请的一个优选实施方式中,云文件系统10是在用户空间实现的,从而应用只需要使用通用的Linux文件操作接口,就可以访问云文件系统。
[0092] 如图4所示,用户空间的libfuse接口与内核空间的FUSE(Filesystem in Userspace)模块通过/dev/fuse设备实现通信,从而达到由用户空间的libfuse接口接管所有用户操作的目的。其中,当客户端应用通过某个命令发起对/Cloud文件夹11中的文件的操作时,该命令从用户空间传递到内核空间的VFS(Virtual File Systeml,虚拟文件系统)模块,VFS模块将该命令进一步传递给FUSE模块,FUSE模块再将该命令从内核空间传递回用户空间的libfuse接口,libfuse接口将该命令传递给./yunfs/Cloud处理进程(即,用于实现各种文件操作的处理进程,也是申请中的云文件系统),./yunfs/Cloud处理进程根据该命令执行相应的操作。执行完毕后,./yunfs/Cloud将执行结果返回给libfuse接口,libfuse接口将执行结果从用户空间传递给内核空间的FUSE模块,FUSE模块再将执行结果传递给VFS模块,VFS模块将执行结果传递给客户端应用。
[0093] 为了使本申请的云文件系统10可以跨局域网,在本申请的一个优选实施方式中,云文件系统10基于http协议实现传输。
[0094] 需要说明的是,本申请中的云文件系统可以布置在智能电视、机顶盒、PC机、平板电脑或手机等终端设备中。其中,优选布置在智能电视和机顶盒中。
[0095] 另外,在本申请中,当云文件系统响应应用的操作请求时,是针对云存储服务器执行该操作请求指示的操作,即,是向应用提供了云存储接入的服务。此外,云文件系统是在用户空间而不是在linux内核中实现的,并且,在传输层上,云文件系统是基于http协议实现传输的,而不是基于自由的协议实现传输的。
[0096] 由上述实施例可以看出,与现有技术相比,本申请的优点在于:
[0097] 由一个云文件系统集中为所有的应用提供系统级的云存储接入服务,并且,对于每一个应用来说,其只能对该云文件系统中属于自己的文件进行操作,而不能对属于其它应用的文件进行操作。各个应用的开发商无需再各自去实现云存储服务,从而节约了应用开发商的开发难度和开发成本。
[0098] 装置实施例
[0099] 与上述一种通过云文件系统实现云存储接入的方法相对应,本申请实施例还提供了一种通过云文件系统实现云存储的装置。请参阅图5,示意性地示出了根据本申请的一个实施方式的通过云文件系统实现云存储接入的装置的结构框图,该装置包括:进程名获取单元501、判断单元502、操作执行单元503和操作拒绝单元504。下面结合该装置的工作原理进一步介绍其内部结构以及连接关系。
[0100] 进程名获取单元501,用于响应于应用对云文件系统中的文件的操作请求,获取所述应用的进程名;
[0101] 判断单元502,用于判断所述操作请求针对的文件所在的路径的名称中是否包含所述应用的进程名;
[0102] 操作执行单元503,用于如果是,允许所述操作请求,对云存储服务器执行所述操作请求指示的操作;
[0103] 操作拒绝单元504,用于如果否,拒绝所述操作请求。
[0104] 在本申请的一个优选实施方式中,如图6所示,当所述操作请求为写入请求时,操作执行单元503包括:
[0105] 第一存储子单元5031,用于将所述写入请求针对的文件保存在本地的存储空间中;
[0106] 响应子单元5032,用于向所述应用返回写入响应,并将所述写入请求针对的文件从本地的存储空间传输给所述云存储服务器。
[0107] 在本申请的另一个优选实施方式中,如图7所示,操作执行单元503还包括:
[0108] 删除子单元5033,用于在响应子单元5032将所述写入请求针对的文件从本地的存储空间传输给所述云存储服务器之后,将所述写入请求针对的文件从本地的存储空间中删除。
[0109] 在本申请的另一个优选实施方式中,操作执行单元503还包括:
[0110] 第二存储子单元,用于将所述写入操作针对的文件的文件信息存储在本地的数据库中。
[0111] 在本申请的另一个优选实施方式中,所述装置还包括:
[0112] 数据同步单元,用于响应于对云文件系统的启动操作,将所述云存储服务器中的文件信息同步到本地的数据库中。
[0113] 在本申请的一个优选实施方式中,所述装置还包括:
[0114] 目录读取单元,用于响应于应用对所述文件系统中的文件目录的读取请求,从所述本地的数据库读取文件信息,并将读取的文件信息返回给所述应用。
[0115] 在本申请的一个优选实施方式中,如图8所示,所述装置还包括:
[0116] 账号获取单元505,用于在操作执行单元503对云存储服务器执行所述操作请求指示的操作之前,根据所述云文件系统所在的电子设备的唯一标识,从云存储代理平台获取预先分配给所述云文件系统所在的电子设备的云存储服务器的使用账号,其中,所述云存储代理平台预先存储有电子设备的唯一标识与云存储服务的使用账号之间的映射关系;
[0117] 则操作执行单元503用于,根据所述云存储服务器的使用账号对相应的云存储服务器执行所述操作请求指示的操作。
[0118] 在本申请的另一个优选实施方式中,所述云存储服务器的使用账号是经过所述云存储代理平台加密处理的。
[0119] 在本申请的另一个优选实施方式中,所述云文件系统是在用户空间实现的。
[0120] 在申请的另一个优选实施方式中,可以通过如下方式在用户空间实现云文件系统:在所述用户空间设置有libfuse接口,所述libfuse接口与内核空间的FUSE模块通信;当内核空间中的VFS模块响应于应用的文件操作命令,并将所述文件操作命令传递给FUSE模块时,所述FUSE模块将所述文件操作命令传递给所述libfuse接口,所述libfuse接口将所述文件操作命令传递给所述云文件系统。
[0121] 在本申请的另一个优选实施方式中,所述云文件系统基于http协议实现传输。
[0122] 由上述实施例可以看出,与现有技术相比,本申请的优点在于:
[0123] 由一个云文件系统集中为所有应用提供系统级的云存储服务,并且,对于每一个应用来说,其只能对该云文件系统中属于自己的文件进行操作,而不能对属于其它应用的文件进行操作。各个应用的开发商无需再各自去实现云存储服务,从而节约了应用开发商的开发难度和开发成本。
[0124] 需要说明的是,本申请的云文件系统不仅适用于智能电视设备或机顶盒设备中,同样还适用于使用Linux内核的其它电子设备,包括移动设备和PC机等。
[0125] 所述领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0126] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述到的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
[0127] 所述作为分离部件说明的单元可以是或者也可以是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0128] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,可以采用软件功能单元的形式实现。
[0129] 需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0130] 以上对本申请所提供的一种实现云存储接入的方法和装置进行了详细介绍,本文中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈