文件管理装置及其控制方法技术领域
本发明涉及支持在线存储服务的文件管理装置及其控制方
法。
背景技术
以前,为了保存各种文件,使用了内置于用户的终端装置
(以下称为“用户终端”)的存储装置、与用户终端连接的外部
存储装置等本地存储器。
近年来,伴随着通信技术的发达,提供了一种能够将文件
保存到设置在因特网上的在线存储器中的在线服务(Web服务)。
在这样的服务中,用户终端与在线存储器之间进行文件的上传、
下载。
另外,为了提高在线存储器的便利性,提出了一种尽管实
际正在利用在线存储器也可以提供不会感觉到其存在的使用体
验的文件管理装置(日本特开2010-287104号公报)。
该日本特开2010-287104号公报所记载的文件管理装置具
备用于将保存到本装置的文件自动地上传到在线存储器的应用
程序。另外,向用户显示虚拟文件,该虚拟文件用于使用户将
位于在线存储器中的文件视为在本装置中。
该日本特开2010-287104号公报所记载的文件管理装置具
有对在线存储器与本地存储器同样地进行处理的结构,但其结
构存在以下的问题。
例如,虽然用户识别为对文件管理装置进行了文件的复制
操作,但实际上该文件被上传(传送)到在线存储器。在该情况
下,有时即使上传没有完成,用户也误解为向文件管理装置的
保存处理完成了,进行操作而删除作为复制源的文件。
这是因为向在线存储器的上传有时会因为服务的限制、通
信线路的状况等而失败。在如该情况这样删除了作为复制源的
文件时,在向在线存储器的上传失败的情况下,文件就会消失。
本发明的目的之一是提供一种文件管理装置,其能够解决
在对在线存储器与本地存储器同样地进行处理时的问题。
发明内容
本发明的文件管理装置是能够与在线存储器(在线存储器
300)进行通信的文件管理装置(例如NAS 200),其具备:接收部
(接收部211),其接收文件的保存请求;上传部(上传部214),其
响应于上述文件的保存请求,将该文件上传到上述在线存储器;
控制部(控制部216),其进行控制使得在向上述在线存储器的上
传完成之前,持续地显示正在进行向上述文件管理装置的文件
保存处理的意思。
根据这样的文件管理装置,在向在线存储器的上传完成之
前,用户识别为正在进行向文件管理装置的文件保存处理,因
此能够避免在上传完成之前删除了作为复制源的文件的问题。
因此,能够减少对在线存储器在与本地存储器同样地进行处理
时的问题。
本发明的文件管理装置的其他特征为,还具备高速缓存管
理部(高速缓存管理部213),该高速缓存管理部进行控制使得与
对应该向上述在线存储器上传的文件进行的高速缓存处理同步
地,进行该文件向上述在线存储器的上传。
根据这样的文件管理装置,通过与高速缓存处理同步地进
行上传,能够尽早地进行上传,因此能够防止等待时间的延长。
本发明的文件管理装置的其他特征为,上述接收部从用户
终端(例如NAS 200)经由网络(例如LAN 10)接收文件的保存请
求。
这样的文件管理装置与用户终端分离且支持网络,相当于
NAS。由此,与上述特征并用,能够减少在对在线存储器与NAS
的本地存储器同样地进行处理时的问题。
在此,本发明的文件管理装置的其他特征为,上述控制部
进行控制使得在从上述在线存储器通知上传完成的意思之前,
不将向上述文件管理装置的文件保存处理完成的意思通知给上
述用户终端。
根据这样的文件管理装置,能够在向在线存储器的上传完
成的意思之前,持续地在用户终端上显示向文件管理装置的文
件保存处理正在进行中的意思。
本发明的文件管理装置的其他特征为,当从上述在线存储
器通知了上传失败的意思时,上述控制部将向上述文件管理装
置的文件保存处理失败的意思通知给上述用户终端。
根据这样的文件管理装置,能够使用户将向在线存储器的
上传失败识别为向文件管理装置的文件保存失败。
本发明的文件管理装置的其他特征为,还具备文件管理部
(文件管理部212),该文件管理部通过如下目录结构来进行文件
管理:将与上述在线存储器内的目录对应的虚拟本地目录配置
为上述文件管理装置内的目录的下级目录。
根据这样的文件管理装置,通过变更目录结构能够对在线
存储器与本地存储器同样地进行处理,因此,与专利文件1的结
构相比,能够成为低成本的结构。
本发明的文件管理装置的其他特征为,响应于上述接收部
接收到对上述虚拟本地目录的文件保存请求,上述上传部将该
文件上传到上述在线存储器。
根据这样的文件管理装置,能够自动地将向虚拟本地目录
保存的文件上传到在线存储器。
根据本发明,能够提供一种文件管理装置,其能够解决在
对在线存储器与本地存储器同样地进行处理时的问题。
一种文件管理装置的控制方法,该文件管理装置能够与在
线存储器进行通信,该控制方法包括以下步骤:接收文件的保
存请求;响应于上述文件的保存请求,来将该文件上传到上述
在线存储器;以及进行控制使得在向上述在线存储器的上传完
成之前,持续地显示正在进行向上述文件管理装置的文件保存
处理的意思。
附图说明
图1是本实施方式的一个方面的通信系统的整体结构图。
图2是本实施方式的一个方面的NAS的硬件结构图。
图3是本实施方式的一个方面的NAS的功能框图。
图4是表示文件管理部管理的目录结构的具体例子的图。
图5是在本实施方式的一个方面的通信系统中上传成功的
情况下的动作时序图。
图6是在本实施方式的一个方面的通信系统中上传失败的
情况下的动作时序图。
图7是本实施方式的另一个方面的通信系统的整体结构图。
图8是在本实施方式的另一个方面的通信系统中上传成功
的情况下的动作时序图。
图9是在本实施方式的另一个方面的通信系统中上传失败
的情况下的动作时序图。
符号的说明
1:通信系统;10:LAN;20:因特网;100:PC;200:
NAS;210:CPU;211:接收部;212:文件管理部;213:高
速缓存管理部;214:上传部;215:下载部;216:控制部;220:
存储器;230:HDD;240:LAN I/F;300:在线存储器。
具体实施方式
参照附图说明本发明的实施方式。在本实施方式中,设为
文件管理装置是NAS(Network Attached Storage:网络附加存储
器)。在对本实施方式的各方面的以下说明中,对具有同样结构
的部分附加相同或类似的符号。
(系统结构)
说明本实施方式的通信系统的整体结构。图1是本实施方式
的一个方面的通信系统1的整体结构图。
如图1所示,本实施方式的一个方面的通信系统1具有PC
100、NAS 200、在线存储器300。在本实施方式中,PC 100相
当于用户终端。在此假设PC 100例如是个人计算机,但用户终
端并不限于这样的PC 100,也可以是便携式电话终端、支持网
络的电视机等。
PC 100和NAS 200与家庭内网络等LAN(局域网)10连接,经
由LAN 10相互进行通信。LAN 10经由路由器(未图示)等与因特
网20连接。在线存储器300与因特网20连接。
PC 100是由用户操作的信息处理装置,具备用于进行网络
通信的网络通信功能、用户I/F(显示器、键盘、鼠标等)。PC 100
经由LAN 10对NAS 200进行文件的保存、文件的读取。
NAS 200是用于对文件进行保存和管理的文件服务器,在
该NAS 200中,形成有用于进行文件管理的文件系统。另外,
该NAS 200具备用于进行网络通信的网络通信功能。也可以是,
多个用户终端共享该NAS 200。
在线存储器300提供能够进行文件保存的Web服务,由一个
或多个文件服务器构成。例如,通过由PC 100的用户登录到该
Web服务,在线存储器300提供能够让该用户使用的存储区域。
在本实施方式中,设为PC 100的用户已经登录了在线存储器300
提供的服务。
(NAS的结构)
接着,说明NAS 200的硬件结构。图2是NAS 200的硬件结
构图。
如图2所示,NAS 200具备CPU(中央处理单元)210、存储器
220、一个或多个HDD(硬盘驱动器)230、LAN I/F 240。CPU 210、
存储器220、HDD 230、以及LAN I/F 240经由总线相互连接。
CPU 210执行在存储器220中存储的控制程序。在后面说明
该CPU 210的具体动作。
存储器220包括快闪存储器等非易失性存储器。另外,该存
储器220除了包括非易失性存储器以外,也可以包括RAM(随机
访问存储器)等易失性存储器。该存储器220将由CPU 210执行
的控制程序存储在快闪存储器等非易失性存储器中。另外,该
存储器220将从非易失性存储器读取的控制程序暂时存储在
RAM等中。该存储器220也被作为CPU 210的工作区域而使用。
在本实施方式中,存储器220包括用于对应该向在线存储器
300上传的文件、从在线存储器300下载的文件进行高速缓存的
高速缓存区域。
HDD 230存储各种文件。HDD 230可以构成为磁盘阵列,
也可以构成为RAID(Redundant Arrays of Inexpensive Disks:独
立冗余磁盘阵列)。
LAN I/F 240构成为与LAN 10连接,经由LAN 10进行通信。
LAN I/F 240可以通过有线方式与LAN 10连接,也可以通过无
线方式与LAN 10连接。
接着,说明NAS 200的功能结构。图3是表示本实施方式的
一个方面的NAS 200的功能框图。
如图3所示,CPU 210通过执行存储器220所存储的控制程
序,来实现接收部211、文件管理部212、高速缓存管理部213、
上传部214、下载部215、以及控制部216的各功能部分。
接收部211经由LAN 10和LAN I/F 240,接收从PC 100输入
的文件保存请求和文件读取请求。
文件管理部212相当于文件系统。该文件管理部212提供具
备层级结构的文件系统。在该文件系统中,包含多个文件夹(目
录),在一部分文件夹(目录)中包含有在NAS 200中存储的文件
的实体。另一部分文件夹(目录)显示为在线存储器300内的文件
夹(目录)虚拟地存在于本地(NAS 200侧)。在后面说明该目录结
构的具体例子。
高速缓存管理部213进行处理,使得将应该上传到在线存储
器300的文件、从在线存储器300下载的文件存储在设置于存储
器220的高速缓存区域中。
具体地说,该高速缓存管理部213当开始将应该上传的文件
(保存对象文件)存储(高速缓存)到存储器220的高速缓存区域中
时,即时地(同步地)将该保存对象文件上传到在线存储器300。
换言之,该高速缓存管理部213指示上传部214使其与对保存对
象文件进行的高速缓存并行地进行该保存对象文件向在线存储
器300的上传。
例如,高速缓存管理部213尽可能在应该上传的文件整体的
高速缓存完成之前,开始该保存对象文件的上传。例如,该高
速缓存管理部213在能够获取保存对象文件的文件容量的情况
下,指示上传部214使其能够与高速缓存一起进行上传,并在应
该上传的文件整体的高速缓存完成之前,开始该保存对象文件
的上传。另外,高速缓存管理部213在无法获取保存对象文件的
文件容量的情况等、不能与高速缓存一起进行上传的情况下,
指示上传部214使其在保存对象文件整体的高速缓存完成后,开
始该保存对象文件的上传。在这样在保存对象文件整体的高速
缓存完成后进行该文件的上传的情况下,高速缓存管理部213
也可以指示上传部214使其在保存对象文件整体的高速缓存完
成后,在尽早的时刻开始该保存对象文件的上传。
上传部214响应于由接收部211接收的文件保存请求,将保
存对象文件上传到在线存储器300。具体地说,该上传部214响
应于(in response to)由接收部211接收到对由文件管理部212管
理的虚拟本地目录的文件保存请求的情况,将保存对象文件上
传到在线存储器300。如上所述,上传部214从高速缓存管理部
213接收上传的指示,与高速缓存处理并行地进行上传
(synchronous upload:同步上传)。
下载部215响应于由接收部211接收的文件读取请求,从在
线存储器300下载读取对象文件。具体地说,该下载部215响应
于由接收部211接收到对由文件管理部212管理的虚拟本地目录
的文件读取请求的情况,从在线存储器300下载读取对象文件。
控制部216进行处理,使得在向在线存储器300的上传完成
之前,持续地在PC 100上显示正在进行向NAS 200的文件保存
处理的意思。具体地说,在该实施方式中,在PC 100中,显示
NAS 200指示的信息。该信息例如被作为网页来提供,在PC 100
侧通过浏览器显示。
在本实施方式中,控制部216进行控制,使得在从在线存储
器300接收到上传完成的意思的通知之前,不将向NAS 200的文
件保存处理完成的意思通知给PC 100。另外,当从在线存储器
300接收了上传失败的意思的通知时,控制部216将向NAS 200
的文件保存处理失败的意思通知给PC 100。
进而,该控制部216进行处理,使得在从在线存储器300的
下载完成之前持续显示正在进行文件读取处理的意思。作为一
个例子,在NAS 200向PC 100提供网页的情况下,在从在线存
储器300接收到下载完成的意思的通知之前,持续显示正在读取
文件的意思。
接着,说明文件管理部212管理的目录结构的具体例子。图
4是表示文件管理部212管理的目录结构的具体例子的图。
在本实施方式的目录结构的一个例子中,如图4所示,形成
作为根目录的目录A~C。在根目录C下,形成子目录C1和C2作
为下级目录,形成子目录C21和C22作为子目录C2的下级目录。
子目录C21中包含的各文件(内容C21-1~C21-3)的实体存储
在NAS 200内。与此相对,包含在子目录C22(的子目录C221)
中的各文件(内容C221-1~C221-3)的实体存储在在线存储器300
中。当从PC 100侧请求了子目录C21内的文件的列表时,NAS
200的文件管理部212向PC 100侧提供子目录C21中包含的各文
件(内容C21-1~C21-3)的列表。
另外,当从PC 100侧请求了子目录C22内的文件的列表时,
文件管理部212向PC 100侧提供子目录C22中包含的各文件(内
容C221-1~C221-3)的列表。
这样,子目录C22以下的目录是以文件存在于NAS 200中的
方式进行处理的,但该文件的实体存在于在线存储器300中,构
成为虚拟的本地目录。因此,当接收了针对该虚拟本地目录(在
上述例子中是子目录C22)的文件存储请求时,NAS 200将该作
为存储请求的对象的文件向在线存储器300的对应的目录上传。
另外,当接收了针对该虚拟的本地目录(在上述的例子中是所谓
的子目录C22)内的文件的读取请求时,NAS 200从在线存储器
300的对应的目录下载作为该读取请求的对象的文件,并向请求
方提供。
另外,例如能够以可构筑文件系统的软件之一的
FUSE(Filesystem in Userspace:用户空间文件系统)等来构成这
样的虚拟本地目录(virtual local directory)。
(系统动作)
接着,说明本实施方式的通信系统1的动作。图5是在本实
施方式的通信系统1中上传成功的情况下的动作时序图。
如图5所示,在步骤S11中,PC 100向NAS 200发送向NAS
200管理的目录中的虚拟本地目录的文件保存请求。NAS 200接
收该文件保存请求。
在步骤S12中,NAS 200向PC 100发送对文件保存请求的肯
定应答(Acknowledge)。PC 100接收该肯定应答。
在步骤S13中,PC 100针对NAS 200,开始与文件保存请求
对应的保存对象文件的传送。
在步骤S14中,PC 100响应于开始保存对象文件的传送的
情况,开始显示正在将该文件保存到NAS 200的虚拟本地目录
中的意思。例如,以网页形式提供表示该意思的信息,并显示
在PC 100的浏览器上。
在步骤S15中,NAS 200进行从PC 100传送来的保存对象文
件的同步上传。即,NAS 200与保存对象文件的高速缓存处理
并行地进行向在线存储器300的上传。在线存储器300接收保存
对象文件,判断该保存对象文件是否满足服务上的限制。在此,
该限制例如根据文件的种类、文件的大小是否满足预先设定的
条件来进行判断。在此的说明中,设为该保存对象文件满足服
务上的限制。
在步骤S16中,在线存储器300向NAS 200发送表示保存对
象文件的保存完成的意思的结束代码。NAS 200接收该结束代
码。另外,表示保存对象文件的保存完成的意思的结束代码的
通知意味着向在线存储器300的上传完成(上传成功)的通知。
在步骤S17中,NAS 200进行对从在线存储器300接收到的
结束代码的读取替换。即,NAS 200将来自在线存储器300的表
示上传完成的意思的通知变换为向NAS 200的虚拟本地目录的
文件保存处理完成的意思的通知。
在步骤S18中,NAS 200向PC 100发送表示向NAS 200的虚
拟本地目录的文件保存处理完成的意思的通知(保存完成应
答)。PC 100接收该保存完成应答。
这样,在从在线存储器300通知上传完成的意思之前,NAS
200不将向NAS 200的文件保存处理完成的意思通知给PC 100。
在步骤S19中,PC 100响应于接收到来自NAS 200的保存完
成应答的情况,结束表示正在将保存对象文件保存到NAS 200
的虚拟本地目录的意思的显示。另外,PC 100进行控制使得在
将保存对象文件保存到NAS 200的过程中,禁止在PC 100中对
该保存对象文件进行操作。
接着,说明在本实施方式的通信系统1中上传失败的情况。
图6是在本实施方式的通信系统1中上传失败的情况下的动作时
序图。
图6所示的步骤S21~步骤S24的各处理与上述步骤S11~步
骤S14的各处理相同,因此省略重复的说明。
在步骤S25中,NAS 200进行对从PC 100传送来的保存对象
文件的同步上传。即,NAS 200与保存对象文件的高速缓存处
理并行地进行向在线存储器300的上传。在线存储器300接收保
存对象文件,判断该保存对象文件是否满足服务上的限制。在
此,设为该保存对象文件不满足服务上的限制。
在步骤S26中,在线存储器300向NAS 200发送表示保存对
象文件的保存没有完成的意思的结束代码。NAS 200接收该结
束代码。另外,表示保存对象文件的保存没有完成的意思的结
束代码的通知意味着向在线存储器300的上传失败的通知。
在步骤S27中,NAS 200进行从在线存储器300接收到的结
束代码的读取替换。即,NAS 200将来自在线存储器300的上传
失败的意思的通知变换为表示向NAS 200的虚拟本地目录的文
件保存处理失败的意思的通知。
在步骤S28中,NAS 200向PC 100发送表示向NAS 200的虚
拟本地目录的文件保存处理失败的意思的通知(save failure
response:保存失败应答)。PC 100接收该保存失败应答。
这样,当从在线存储器300通知了上传失败的意思时,NAS
20向NAS 200的文件保存处理失败的意思通知给PC 100。
在步骤S29中,当接收了来自NAS 200的保存失败应答时,
PC 100显示出向NAS 200的虚拟本地目录保存保存对象文件失
败的意思。
另外,在图6所示的动作中,NAS 200在接收到表示向在线
存储器300的文件保存失败的意思的结束代码的情况下,也可以
重试上传。通过该重试,能够提高上传成功的可能性。
另外,在图5所示的动作中,NAS 200在接收到表示向在线
存储器300的文件保存成功的意思的结束代码的情况下,也可以
进行用于确认是否正确进行了上传的检查(verify)。例如,对位
于在线存储器300的文件与位于NAS 200的文件进行比较,确认
是否一致。通过这样的检查,能够提高上传的可靠性。另外,
也可以通过比较各文件的哈希值来进行检查。
(实施方式的作用)
如以上说明的那样,根据本实施方式,NAS 200进行控制,
使得在向在线存储器300的上传完成之前,在PC 100侧持续显示
正在进行向NAS 200的文件保存处理的意思。由此,在向在线
存储器300的上传完成之前,用户识别为正在进行向NAS 200的
文件保存处理,因此不会在上传完成之前删除作为复制源的文
件。
另外,在本实施方式中,NAS 200通过与高速缓存处理同
步地进行上传(同步上传),来缩短上传所需要的时间,防止等
待时间的延长。
在本实施方式中,在从在线存储器300通知了上传完成之
前,NAS 200不将向NAS 200的文件保存处理完成的意思通知给
PC 100。由此,在向在线存储器300的上传完成之前,能够在
PC 100中持续显示正在进行向NAS 200的文件保存处理的意
思。即,当向NAS 200发送了文件保存请求时,PC 100以“正
在进行文件保存处理……”那样的方式显示正在进行文件保存
处理的意思。另外,当从NAS 200接收了文件保存处理完成的
通知时,PC 100取消该正在进行文件保存处理的意思的显示。
或者,PC 100显示由NAS 200提供的网页。PC 100按照每
个规定定时反复更新地显示该网页。由此,在NAS 200进行用
于持续显示正在进行文件保存处理的控制的期间,会显示出正
在进行文件保存处理的意思。
在本实施方式中,当从在线存储器300通知了上传失败时,
NAS 200将向NAS 200的文件保存处理失败的意思通知给PC
100。由此,使用户将向在线存储器300的上传失败识别为向NAS
200的文件保存失败。
在本实施方式中,NAS 200通过如下目录结构来进行文件
管理:将表示在线存储器300内的目录的虚拟本地目录配置为作
为NAS 200的文件系统的目录的下级目录。
在本实施方式中,NAS 200响应于接收到对虚拟本地目录
的文件保存请求的情况,将该文件上传到在线存储器300。由此,
不通过明显的人工操作,就能够将保存到虚拟本地目录的文件
上传到在线存储器300。
在本实施方式中,NAS 200进行控制使得在从在线存储器
300的下载完成之前,在PC 100侧持续显示正在进行从NAS 200
的文件读取处理的意思。由此,在从在线存储器300的下载完成
之前,能够使用户识别为正在从NAS 200读取文件。
(其他实施方式)
如上所述,通过实施方式记载了本发明,但不应该将本说
明的一部分的论述和附图理解为限定本发明。根据该说明,本
领域的技术人员能够明确各种替代实施方式、实施例和应用技
术。
例如,上述实施方式将NAS 200作为本发明的文件管理装
置,但作为该实施方式的另一个方面,也可以将PC 100作为本
发明的文件管理装置。图7是本实施方式的另一个方面的通信系
统1的整体结构图。
如图7所示,本变形例的通信系统1不包含NAS 200。在该
方面中,PC 100相当于文件管理装置。该方面的PC 100具有与
图2所示的硬件结构和图3所示的功能结构相同的结构。
接着,说明该方面的通信系统1的动作。图8是在本实施方
式的另一个方面的通信系统1中上传成功的情况下的动作时序
图。
如图8所示,在步骤S31中,PC 100的用户进行向PC 100所
管理的目录中的虚拟目录的文件保存操作(文件保存请求),PC
100开始进行向虚拟本地目录的文件保存处理。
在步骤S32中,PC 100开始显示正在将保存对象文件保存
到PC 100的虚拟本地目录中。
在步骤S33中,PC 100进行保存对象文件的同步上传。即,
PC 100与保存对象文件的高速缓存处理并行地进行向在线存储
器300的上传。在线存储器300接收保存对象文件,判断该保存
对象文件是否满足服务上的限制。在此,设为该保存对象文件
满足服务上的限制。
在步骤S34中,在线存储器300向PC 100发送表示保存对象
文件的保存完成的意思的结束代码。PC 100接收该结束代码。
另外,表示保存对象文件的保存完成的意思的结束代码具有与
向在线存储器300的上传完成(上传成功)的通知相同的含义。
在步骤S35中,PC 100进行对从在线存储器300接收到的结
束代码的读取替换。即,PC 100将表示从在线存储器300的上传
完成的意思的通知解释为向PC 100的虚拟本地目录的文件保存
处理完成。
在步骤S36中,PC 100结束表示正在将保存对象文件保存
到PC 100的虚拟本地目录中的意思的显示。
图9是在本变形例涉及的通信系统1中上传失败的情况下的
动作时序图。
图9所示的步骤S41和S42的各处理与上述的步骤S31和S32
的各处理相同,因此省略此处的重复说明。
在步骤S43中,PC 100进行保存对象文件的同步上传。即,
PC 100与保存对象文件的高速缓存处理并行地进行向在线存储
器300的上传。在线存储器300接收保存对象文件,判断该保存
对象文件是否满足服务上的限制。在此,设为该保存对象文件
不满足服务上的限制。
在步骤S44中,在线存储器300向PC 100发送表示保存对象
文件的保存没有完成的意思的结束代码。PC 100接收该结束代
码。另外,表示保存对象文件的保存没有完成的意思的结束代
码具有与向在线存储器300的上传失败的通知相同的含义。
在步骤45中,PC 100进行对从在线存储器300接收到的结束
代码的读取替换。即,PC 100将表示从在线存储器300的上传失
败的意思的通知解释为向PC 100的虚拟本地目录的文件保存处
理失败。
在步骤S46中,PC 100显示向PC 100的虚拟本地目录保存保
存对象文件失败。
但本发明并不只限于上述实施方式中说明的内容。