计算机应用   2016, Vol. 36 Issue (11): 3050-3054, 3066  DOI: 10.11772/j.issn.1001-9081.2016.11.3050
0

引用本文 

马俊峰, 王嫣. 智能手机中基于云实例的高效文件管理系统[J]. 计算机应用, 2016, 36(11): 3050-3054, 3066.DOI: 10.11772/j.issn.1001-9081.2016.11.3050.
MA Junfeng, WANG Yan. Efficient file management system based on cloud instances in smartphone[J]. Journal of Computer Applications, 2016, 36(11): 3050-3054, 3066. DOI: 10.11772/j.issn.1001-9081.2016.11.3050.

基金项目

河南省科技攻关计划项目(162102210326)

通信作者

马俊峰(1979-), 男, 汉, 河南新乡人, 实验师, 硕士, 主要研究方向:云计算、移动互联与通信mjf@xxmu.edu.cn

作者简介

王嫣(1977-), 女, 河南新乡人, 副教授, 硕士, 主要研究方向:计算机网络与通信、信息安全

文章历史

收稿日期:2016-03-08
修回日期:2016-06-26
智能手机中基于云实例的高效文件管理系统
马俊峰1, 王嫣2    
1. 新乡医学院 现代教育技术中心, 河南 新乡 453003 ;
2. 郑州工程技术学院 信息工程学院, 郑州 450044
摘要: 针对现有云存储技术应用到智能手机上导致其能量和带宽消耗较大这一不足,以Dropbox平台作为云服务提供商,设计了一种基于云实例的高效安全的文件管理系统(FM-CI)。FM-CI支持下载、压缩、加密和转换操作,同时支持在两个智能手机用户的云存储空间之间进行文件传输。此外,考虑到频繁开启云实例仍然可能增加用户的成本,还给出了用户空闲实例共享协议和基于共享实例的文件传输方案。仿真实验结果表明,FM-CI能在消耗较少时间和带宽的前提下,高效地完成文件操作,且性能要优于目前最新的云存储方案。
关键词: 云存储    智能手机    文件管理    云实例    能量    带宽    
Efficient file management system based on cloud instances in smartphone
MA Junfeng1, WANG Yan2     
1. Modern Educational Technology Center, Xinxiang Medical University, Xinxiang Henan 453003, China ;
2. College of Information Engineering, Zhengzhou Institute of Technology, Zhengzhou Henan 450044, China
Background: This work is partially supported by the Henan Provincial Key Technology Research and Development Program (162102210326).
MA Junfeng, born in 1979, M.S., experimentalist. His research interests include cloud computing, mobile internet and communication.
WANG Yan, born in 1977, M.S., associate professor. Her research interests include computer networking and communication, information security.
Abstract: To overcome the disadvantage of high consumption of energy and bandwidth when the existing cloud storage technology which is applied to the smartphone, based on the Dropbox platform as a cloud service provider, an efficient and safe File Management system based on Cloud Instances (FM-CI) was designed. FM-CI supported download, compress, encrypt, convert operations, and file transfer between two smartphone users' cloud storage spaces. In addition, due to frequent open cloud instances may still increase the cost of the user, a protocol for users to share their idle instances and a file transfer scheme for sharing instance was designed. Simulation results show that, FM-CI can efficiently complete the file operations with less time and bandwidth, and the performance of FM-CI is better than those of the latest cloud storage schemes.
Key words: cloud storage    smartphone    file management    cloud instance    energy    bandwidth    
0 引言

随着移动互联网技术的发展,智能手机已经成为当前最具革命性的设备之一。根据Nielsens 2014年3月发布的报告,美国消费者智能手机普及率约为70.4%[1]。如今智能手机已经无缝融入到人们的日常生活中,其角色远超移动电话范畴。本文主要研究近期兴起的一项技术,即智能手机的云存储服务应用。一般而言,每个用户在云中拥有一定的远程存储空间,通过互联网可从不同设备访问文件。这些云存储服务可保证同步性和文件的一致性[2]。随着智能手机的普及,用户不可避免地需要将云存储服务和他们的智能手机结合起来。然而,由于智能手机自身存在限制,用户和开发人员遇到一些困难。首先,与常见台式计算机和笔记本相比,智能手机的存储空间有限;其次,蜂窝网络的带宽有限。于是,主要移动网络运营商们往往对数据计划施加约束,这些约束从根本上限制了服务可扩展性的提升; 再次,能耗问题是智能手机用户的关键问题[3]。鉴于这些约束,大多数当前智能手机云存储服务均采用相同的设计原则,即:不在本地存储云中的文件拷贝,因为智能手机没有足够多的空间存放这些文件,而且下载这些文件会消耗大量带宽和电量。相反,默认情况下只在智能手机上存储元数据。虽然这种设计的效率较高,但是制约了应用性能的提升。对于智能手机用户来说,利用本地拷贝即可轻松完成的部分文件操作(比如压缩文件或将文件传输给其他用户)变得异常困难甚至无法实现[4]

为此,本文设计了一种基于云实例的文件管理系统(File Management system based on Cloud Instances, FM-CI),帮助智能手机用户提升云存储文件的性能。基本思路是通过建立云实例[5]来帮助用户完成部分文件操作。FM-CI不要求用户存储文件的本地拷贝,且具有如下特点:1)丰富了移动设备可实现的文件操作种类,包括下载、压缩、加密和转换操作;2)包括一种文件传输协议,支持两个智能手机用户从一个用户的云存储空间传输到另一用户的云存储空间中; 3)为上述所有操作提供安全的解决方案,以便对共享的云实例(即其他用户创建的实例)加以利用。

1 相关工作

云存储问题是目前的研究热点。文献[6]提出了一种基于指纹魔方算法的云存储数据保护机制。该机制通过用户的指纹特征值控制魔方旋转对文件进行加密,再利用门限分割技术将文件分割成小块存储到各个服务器中;需要恢复原文件时,先对各个服务器中的文件块进行完整性验证,找到不少于门限值数量的文件块就能完整恢复文件;该机制保护了云存储用户的隐私数据,同时提高了云存储系统的抗破坏能力和灵活性。文献[7]针对采用主从式结构的主流云存储系统可能出现的性能瓶颈和可扩展问题,提出了基于Kademlia的负载均衡云存储算法。文献[8]针对如何选择云存储系统中可以关闭的节点集合问题,设计了基于辅助节点的贪心算法,并针对异构云存储系统的能耗优化问题,提出了面向异构云存储系统的能耗优化贪心算法。然而总的来说,以上的算法都需要较大的存储空间,因此并不适用于智能手机,另外智能手机对于能耗的要求较高,这也进一步制约了这些算法在智能手机中的应用。

为了克服以上方案的不足,文献[9]提出了一种用于智能手机的云存储系统ThinkAir。该系统在当前运行时间系统之上部署了一种Android框架。它们还提供了一种动态运行时间系统,可确定某个应用组件该运行于移动设备上还是远程服务器上,有效降低了移动设备的计算量,节省了手机存储空间。除了卸除计算机量外,文献[10]提出的SmartDiet方案还试图将通信相关任务卸除给云端,以便节约智能手机的能量。文献[11]分析了当前系统架构及存储协议可能导致的性能瓶颈,针对基于云P2P网络的智能手机提出一种高效的反恶意软件工具CloudShield。然而总的来说,以上方案都较为片面,其中文献[9]主要关注如何降低移动设备的计算量,而文献[10-11]则关注如何降低移动设备的能量。针对以上不足,本文设计了FM-CI,在降低移动设备计算量的同时还减少了能耗,帮助智能手机用户提升了云存储文件的性能。

2 云存储服务

本文将Dropbox平台[12]看成是一种典型的服务提供商,下面结合用户应用对其架构和功能进行简要介绍。作为个人云存储市场的主流解决方案,Dropbox基于亚马逊简易存储服务(Amazon Simple Storage Service, S3)为桌面和移动用户提供跨平台服务。Dropbox采用分层架构:在底层,Amazon S3基础设施提供基本的数据存储和检索接口;中间层是Dropbox核心系统,与S3存储服务进行交互,为更高层应用提供服务;最顶层为正式的Dropbox应用及开发人员构建第三方应用时用到的一组API接口。

为了对第三方应用进行管理,Dropbox为每个应用分配一个独一无二的应用密钥(app key)和应用密函(app secret)。当用户启动一个应用时,Dropbox服务器利用OAuthv1进行认证。当被用户启动时,第三方应用与Dropbox服务器进行通信,以获得一个一次性请求令牌和请求密函。然后,应用利用一次性请求令牌和请求密函形成一个改向链接,并将该链接提供给用户。当访问该链接时,用户将被提醒利用他的Dropbox账号登录,Dropbox服务器将验证他的改向链接及用户登录信息。成功登录之后,服务器将向应用返回一个访问令牌和访问密函,进而允许访问用户数据。

3 FM-CI

本章首先描述FM-CI框架和基于云辅助的文件操作; 然后,重点讨论了FM-CI如何在两个用户的云存储空间之间传输文件,其目标是在完成文件操作的同时,使网络带宽消耗最小。

3.1 FM-CI框架和基于云辅助的基本文件操作

在FM-CI中,每个移动设备关联一个云存储账号。与其他应用类似,鉴于存储空间和带宽消耗约束,FM-CI默认情况下不在本地保存云端的文件。但是,FM-CI在移动设备上维护一个影子文件系统,以存储云端文件的元数据。该本地文件系统基于服务提供商的API接口,且与云存储同步。

FM-CI支持两种类型的文件操作:第1种类型为服务提供商API接口可以普遍提供的基本文件操作,比如文件的创建、删除和重命名;第2种类型为需要云实例提供帮助的复杂文件操作。FM-CI可鉴别用户的操作请求属于哪种类别,进而相应作出处理。第1种类别通过调用常规的API函数即可处理。对于第2种类别,FM-CI将创建一个云实例,然后将文件操作请求转发给实例进行处理。具体而言,本文在FM-CI中设计了如下4种基于云辅助的文件操作:

下载  该操作允许用户直接将文件下载到他的云存储中。在FM-CI中,已知统一资源定位符(Uniform Resource Locator, URL)等目标文件位置后,云实例将获取文件,然后将其上传到用户的云存储中。因此,文件的下载和上传不会消耗移动设备的带宽。

压缩  该操作允许用户对存储于云中的当前文件或目录进行压缩。如果用户设备在本地存储了目标文件的拷贝,则该操作可轻松完成,生成的压缩文件可上传到云存储中。在FM-CI或针对移动设备的其他类似应用中,真正的文件内容是无法获得的。因此,文中设计了一种接口,支持用户根据本地影子文件系统和元数据选择目标文件,然后将压缩操作转发给云实例进行操作。云实例将从云存储中获得指定的文件,对其压缩,然后将压缩文件上传到云存储中。

加密  在FM-CI中,用户可选择目标文件及密码套件,包括加密算法和密钥。加密操作将发送给云实例。类似地,云实例将从用户的云存储中下载目标文件,对其加密,然后将密文发送回云存储空间。

转换  该操作专门针对图片和视频片断等多媒体文件。在FM-CI中,用户在浏览图片时可明确可接受的分辨率,这一请求将由云实例处理。初始图片将下载到实例中并根据用户指定的分辨率将图片转换为体积更小的文件。最后,将转换好的文件发送给用户。

FM-CI通过启动云实例来帮助用户完成这些文件操作。在执行文件操作期间,云实例将周期性地向智能手机发送心跳消息,以汇报进度和状态。智能手机在与云存储服务器和云实例交换控制信息时只消耗少量带宽。

3.2 用户间的文件传输

大多数云存储服务允许用户与其他用户共享文件,但是不支持不同用户空间之间复制文件。然而,用户之间的文件共享无法代替文件传输(制作一份拷贝)。在文件共享时,一位用户对共享文件的操作会对其他用户产生影响。例如,如果用户删除共享文件,则所有其他用户也将失去这些文件。图 1表示了不同用户空间之间的文件传输问题。假设携带智能手机且支持数据计划订阅的两名用户相遇,这两名用户均在云端设有存储空间。一位用户(发送方)想将自己云存储空间中的文件传输到另一位用户(接收方)的云存储空间内。本文希望提出一种高效的解决方案,既可为这一特性提供支持,又将消耗的网络带宽降到最低。在传统的解决方案中,发送方可将目标文件下载到自己的智能手机上,然后通过互联网或蓝牙、近场通信(Near Field Communication, NFC)等近距离通信手段将文件传输到接收方的手机上。在接收到文件时,接收方的手机可上传文件或与云存储进行文件同步。然而,这一方法从带宽消耗角度来看效率较低,尤其是当文件较大时更是如此,比如说大量图片和视频片断,因为发送方必须要下载所有文件而接收方必须要上传所有文件。

图 1 两位用户间的文件传输

在FM-CI中,采用如下的设计原则来解决上述问题,即:利用云实例来帮助用户在各自云存储空间之间传输文件。一般来说,云实例启动后扮演中继节点的角色。它从发送方的云存储空间获取目标文件,然后将其发送到接收方的云存储空间。通过这种方式,发送方和接收方的智能手机可以不用保存目标文件的本地拷贝,只当智能手机和云实例/云存储服务器间传输控制信息时消耗一定带宽。然而,在实践中使用云实例这种设计思想存在一定困难,因为发送方和接收方之间没有建立信任。云实例可由发送方或接收方创建。无论是谁创建,对于没有拥有云实例的那一方来说这种方案的安全性都较低,因为云实例需要获得发送方和接收方的云存储安全证书才能完成文件传输。

为了解决上述问题,本文为FM-CI提出一种解决方案,要求发送方和接收方均有云实例。具体来说,通过部署算法1来完成文件传输。假设用户UA试图将文件F(F也可表示一组文件)发送给用户UB。假设Fsrc表示FUA云存储空间中的位置,Fdst表示UB将在其云存储空间存储该文件的目的位置。算法1给出了文件传输的主要步骤。首先,UA启动一个云实例(IA),将可以访问它的云存储空间的安全证书上传给实例。UA的请求也包括源文件位置Fsrc和中间文件位置URIF(统一资源标识符),以表明在实例中存储F的位置。云实例将利用安全证书来把目标文件F下载到本地磁盘。此时,IA需要允许F被用户UB访问。它首先向UA发送中间文件位置URIF。然后,IA可设置F可被公共访问,或者创建一个来宾账户, 接着设置F的权限以便只有来宾账户可访问它。在后者情况下,作为来宾账户登录所需要的安全信息,比如登录密码或身份文件,也需要返回给UA。然后,UA方的步骤便已经完成。此时,UA需要向UB传达访问F所需要的信息。因为这一通信步骤涉及敏感信息,所以FM-CI采用NFC协议以便使URIF和可选登录信息安全地从UA智能手机传输到UB智能手机。对于接收方来说,UB也开启一个云实例IB,该实例根据URIFIA处获取F。最后,IBF上传到Fdst。此时,发送方和接收方均开启一个云实例作为各自的代理。F的数据传输发生于云实例和云存储服务器间,不会消耗用户智能手机的带宽。同时,访问云存储空间所需的安全证书只发送到同一拥有方创建的实例。因此,FM-CI中两名用户云存储空间之间的文件传输既高效又安全。

算法1  从UAUB的文件传输。

1)UA开启一个云实例IA

2)UAIA(蜂窝网络):UA访问其云存储空间的安全证书,源文件位置Fsrc,中间文件位置URIF

3)IAUA的云存储空间中下载F,并将其存储在URIF

4)UAUB(NFC):URIF(IA上的文件位置);

5)UB开启一个云实例IB

6)UBIB(蜂窝网络):UB访问其云存储空间的安全证书,URIF,目的文件位置Fdst

7)IB将F从IA(URIF)拷贝到其本地空间;

8)IB将F上传到UB的云存储空间(Fdst)。

4 基于共享云实例的解决方案

上面描述的解决方案通过开启云实例作为辅助手段,使智能手机用户可以对云端的文件进行管理。然而,在实践中,下面两种问题可能会影响上述解决方案的部署。首先,创建一个云实例会导致较大开销,比如本文第5章实验中这一开销可达15~30 s;其次,开启云实例的成本较高。虽然云服务较为便宜,但是频繁开启云实例仍然可能增加用户的成本。

本章给出了FM-CI的改进版本,通过允许用户相互之间共享云实例来解决上述开销和成本问题。可以这样处理的原因在于:大多数云服务提供商按照一定的时间尺度为实例服务收取费用[5]。当执行云操作而开启云实例时,用户在操作结束时可以不用结束实例。该实例可一直保存到将要额外收取成本费用时为止。例如,假设服务提供商以小时为单位为实例服务收费,当用户开启一个实例并在前5 min内结束其文件操作时,该实例可在其余55 min内保存活跃状态,且无需额外支付费用。在该空闲时间内,该实例可为其他用户或同一用户的其他文件操作提供服务。在用户间共享实例的这种设计做法虽然提升了性能,但也带来了安全问题。首先,用户将其云存储空间的安全证书上传给其他用户的云实例时,存在一定风险。实例所有者可以监控并获取安全证书,进而获得用户云存储空间的访问权。其次,当向公众开放时,被共享的云实例可能被恶意用户用来发起攻击。

为此,本文提出一种基于受信任服务器的实例共享方案。该服务器既维护了一个包含可被共享的可用云实例的列表,又可对发出实例请求及共享实例的用户进行协调。FM-CI利用如下两条基本策略来解决安全问题:首先,实例的共享方式是开启后台服务并接收其他用户的请求,而不是允许其他用户登录并随意运行程序;其次,当使用一个共享实例时,用户并不上传自己未经保密的云存储账户的安全证书,而是以加密格式上传。如此一来,实例的所有者无法访问租赁用户的云存储空间,且所有用户对共享实例的权限只限于指定的文件操作。

具体来说,本文设计中有3种类型的实体:受信任服务器S;希望对共享实例执行文件操作的用户UA;由另一个用户UB所有的可用云实例I。受信任服务器拥有一个二进制程序P,该程序在共享实例上运行后即可向其他用户提供FM-CI服务。一旦用户(UB)决定共享其实例(I),则该实例将与服务器通信,并转发I的基本信息,比如操作系统、硬件配置和剩余共享时间。服务器需要给出可执行二进制程序P作为响应,可执行程序中嵌入了密钥kP。假设kP受到程序模糊技术的保护,且IB无法从P处获得kP(见图 2)。

图 2 服务程序P的架构

此外,服务器将周期性地更改kP,并重新编译二进制程序。在接收到P时,I将把P作为一种服务加以运行,并准备好接收其他用户的请求。另一方面,服务器把IB添加到可被共享的可用实例列表中。最后,每个被共享实例I可设置一个调度任务以便在额外收费出现前自动关闭实例。在关闭期间,I将通知服务器S谁将因此把I从可共享实例列表中删除。

IS:愿意共享;

SI:嵌入了密钥kP的程序P

I执行P

SI添加到可用实例列表中。

单用户操作当用户(UA)请求使用一个共享实例来对其云端中的文件进行操作时,它需要首先联系受信任服务器S。S将为请求用户生成一个随机种子RA,对kPRA运行散列函数H以生成另一密钥kA,且kA=H(kPRA)。然后,服务器从列表中选择一个共享实例,以便为UA提供服务,这一过程可以是兼顾UA意见的交互过程。假设选择了I,则服务器将{RA, kA}和I的IP地址发送给用户UA。此后,UA将利用密钥kA对其云存储空间的安全证书进行加密,并将密文和RA上传给共享实例I。在运行P时以RA作为输入参数,对kPRA运行相同的散列函数,以便对安全证书解密。可以有多个用户共享相同的实例,服务器S将分配不同的随机数R和密钥k

UAS:请求一个共享实例;

SUAIRAkA

UA利用UA对安全证书SCA进行加密{SCA}kA

UAIR和{SCA}kA

用户间的文件传输  在FM-CI中,两个用户可请求一个共享实例以便在他们的云存储空间之间传输文件。根据第3章的设计原则,发送方将初始化一个进程,向服务器请求一个共享实例。与单用户操作相比,文件传输要求发送方(UA)和接收方(UB)把自己的云存储账户的安全证书发送给共享实例。此外,发送方需要通知接收方S所分配的实例。算法2给出了用户间文件传输的主要步骤。假设服务器拥有一对公共/隐私密钥kS+/kS-,且UAUB已知公共密钥。

算法2  基于共享实例的文件传输。

1)UAS:请求一个共享实例;

2)SUA:I, RA, kA及{UA, I}kS

3)UA利用kA对安全证书加密,{SCA}kA

4)UAI:RA, {SCA}kA, Fsrc及URIF

5)IFsrc下载F,将其存储在URIF

6)UAUB:I, URIF和{UA, I}kS

7)UBS:UAI

8)SUB:RBkB

9)UB利用kB对安全证书加密,{SCA}kB

10)UBI:RB, {SCB}kB, URIFFdst

11)IF从URIF上传到Fdst

发送方UA向服务器S发送一个共享实例请求。在响应中,除了与单用户操作相同的信息外,服务器还会额外发送回一个证书{UA, I}kS,该证书是请求用户ID和分配实例I的签名。UA将会把加密后的安全证书、源文件位置(Fsrc)和中间文件位置(URIF)上传给I。然后,UA将会把共享实例I和目标文件的位置(URIF)通知给接收方UB。该消息还附有来自S的证书,以便接收方可验证共享实例I是否合法。接着,接收方UB向服务器发送一个含有UAI的请求,确认有一个共享实例IUA提供服务之后,服务器将向UB返回RBkB,以便UB可按照与UA相同的方式对其安全证书加密。最后,UB向共享实例I上传加密后的安全证书、中间文件位置(URIF)及目标文件位置(Fdst)。

5 性能评估

本章给出了FM-CI在实验中的性能评估结果。将FM-CI部署在支持Dropbox存储服务的安卓平台上,并在Google Nexus智能手机上对其进行了测试。对基于云辅助的操作,文中使用Amazon Web Service(AWS)[5]提供的服务,所有实验在Micro实例上进行。考虑的主要性能指标包括时间开销和带宽消耗。对每种实验配置,本文进行5次独立实验,然后取均值并在本章中给出。

5.1 基本的文件操作

下面首先给出正式Dropbox API接口实现的基本文件操作的带宽消耗情况。在该测试中,利用包含1000个测试文件(每个22 B)的“test”文件夹来创建一个新的Dropbox账户。测试的操作包括:1)登录Dropbox;2)创建/删除一个文件夹(在根目录下);3)创建/删除/重命名一个文件(在“test”文件夹下);4)进入/离开一个文件夹(“test”文件夹)。

对每种文件操作,Dropbox服务器要求附上安全证书,且通信过程基于安全套接层(Secure Socket Layer, SSL)。如图 3所示,登录过程消耗的带宽最多,原因一方面是由于进行验证,另一方面是由于Dropbox API接口不断地获取元数据以便与本地影子文件系统同步或对本地影子文件系统进行更新。创建和删除一个空文件夹需要分别消耗7.3 KB和3.9 KB,在所有测试操作中的成本最低。创建和删除一个文本文件的情况与前一情况类似。当测试“test”文件夹时,将会导致更多的带宽消耗(15.5 KB和11.2 KB)。原因是由于该文件夹包括1000个其他文件,一旦文件夹发生变化,Dropbox API接口将重新获取里面列表上的文件。最后,当用户进入文件夹然后离开时,带宽成本(9.7 KB)略低于创建/删除文件情况。

图 3 基本文件操作的带宽消耗
5.2 云辅助的高级文件操作

下面评估FM-CI中基于云辅助的文件操作,尤其是文件下载和压缩。首先给出开启一个云实例的开销,然后给出如果有云实例可用时文件操作的性能。用于评估的工作负载包括4组文件:1幅图片(16 MB)、5幅图片(83 MB)、2个视频片断(63 MB和127 MB)。

开启一个云实例的开销选择一天中的不同时间进行了5组测试, 每组测试包括5次AWSMicro实例开启操作, 当用户可以登录实例时操作结束。开启云实例的开销见图 4。总体来说,该操作非常耗时,因为所有的测试场景下实例开启时间均超过15 s。在发送完请求后,用户必须要等待较长时间,直到云实例将要准备好为止。在本节其余部分,性能开销不包括实例开启的初始阶段。

图 4 云实例开启导致的开销

下载操作的开销  在该测试中,本文设置云实例下载工作负载中的文件,并将其上传到Dropbox存储空间中。目标文件寄存于某一服务器中。从表 1可以看出,上传/下载开销与文件尺寸基本成正比。上传的速度要快于下载,因为使用的实例(AWS EC2)和Dropbox服务(AWS S3)属于同一云服务提供商。总体来说,传输率为12.9 Mb/s,远高于通过蜂窝网络将文件下载到智能手机再将其上传到Dropbox云存储空间上。

表 1 下载操作的时间开销

压缩操作的开销  测试了Dropbox文件的压缩操作。具体来说,文中使用gzip对下载到云实例上的文件进行压缩,然后将压缩后的文件上传到Dropbox云存储空间上。表 2给出了该操作的时间开销情况。上传过程正常来说开销最大,其次是下载和压缩过程。FM-CI中该操作的速度较快。例如,压缩1幅图像和5幅图像总共耗时10.4 s和38.7 s。这两种情况下压缩文件的体积分别为7.7 MB和40.0 MB。

表 2 压缩操作的时间开销

高级文件操作的带宽消耗  高级文件操作的带宽消耗比较类似,因为只需要传输控制信息。鉴于篇幅所限,只在表 3中给出了压缩操作的性能。包括从智能手机传输到云实例的控制信息在内的上行链路成本非常小。下行链路带宽随着文件尺寸的不同而不同,主要被汇报操作状态的周期性心跳消息所消耗。

表 3 压缩操作的带宽消耗
5.3 用户间的文件传输

在该操作中,实例从发送方的存储空间中下载目标文件,然后上传给接收方的存储空间。当使用共享实例时,与受信任服务器进行通信的额外成本与总体性能相比可忽略不计。表 4给出了利用共享实例进行文件传输时导致的时间和带宽开销(发送方和接收方)。在本文部署中,服务器处寄存的二进制程序为4.9 MB。

表 4 文件传输操作的性能(共享实例)
5.4 不同方案的对比

最后,为了进一步体现本文系统的优越性,将本文设计的FM-CI和目前最新的SmartDiet方案[10]和CloudShield方案[11]在时间开销和能耗方案进行了对比,实验结果分别如图 5表 5所示。图 5给出了上传/下载5幅图片时三种方案的时间开销对比结果,可以看到,无论是上传还是下载操作,FM-CI的时间开销总是小于SmartDiet和CloudShield。这主要是因为FM-CI允许用户互相之间共享云实例,从而避免了系统频繁开启云实例所需要消耗的那一部分时间,因此取得了更好的结果。

图 5 不同方案的时间开销对比
表 5 不同方案的能耗对比

表 5给出了传输不同负载时三种方案的能耗对比结果。可以看到,随着传输负载的增加,三种方案的能耗都在迅速上升。但总的来说FM-CI的能耗要低于SmartDiet和CloudShield。这主要是因为SmartDiet和CloudShield都是将目标文件下载到自己的智能手机上,然后通过近距离通信手段将文件传输到接收方的手机上,当文件较大时,能耗也将激增。而FM-CI利用云实例来帮助用户在各自云存储空间之间传输文件,它从发送方的云存储空间获取目标文件,然后将其发送到接收方的云存储空间。通过这种方式,发送方和接收方的智能手机可以不用保存目标文件的本地拷贝,因此极大地降低了系统能耗。

6 结语

本文设计了面向智能手机的云存储系统FM-CI,它通过利用云实例来帮助智能手机用户对云端的文件进行管理。FM-CI丰富了文件操作种类,且不需要本地的文件拷贝; 此外,FM-CI支持用户间传输文件, FM-CI中的所有文件操作可安全运行于共享实例上。下一步工作的重点是研究面向智能手机的云数据隐私保护问题,进一步提高移面向移动设备的云服务安全性。

参考文献
[1] LIU S, JIANG Y, STRIEGEL A. Face-to-face proximity estimationusing bluetooth on smartphones[J]. IEEE Transactions on Mobile Computing, 2014, 13 (4) : 811-823. doi: 10.1109/TMC.2013.44
[2] CHU C K, CHOW S S M, TZENG W G, et al. Key-aggregate cryptosystem for scalable data sharing in cloud storage[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25 (2) : 468-477. doi: 10.1109/TPDS.2013.112
[3] FU Y, JIANG H, XIAO N, et al. Application-aware local-global source deduplication for cloud backup services of personal storage[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25 (5) : 1155-1165. doi: 10.1109/TPDS.2013.167
[4] YANG K, JIA X. Expressive, efficient, and revocable data access control for multi-authority cloud storage[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25 (7) : 1735-1744. doi: 10.1109/TPDS.2013.253
[5] NARULA S, JAIN A. Cloud computing security:Amazon Web service[C]//Proceedings of the 20155th International Conference on Advanced Computing & Communication Technologies. Piscataway, NJ:IEEE, 2015:501-505. http://ieeexplore.ieee.org/document/7079135/
[6] 吴昊, 范九伦, 刘建华, 等. 基于指纹魔方算法的云存储数据保护机制[J]. 电信科学, 2014, 30 (11) : 110-114. ( WU H, FAN J L, LIU J H, et al. Cloud storage data protection mechanism based on a fingerprint cube algorithm[J]. Telecommunications Science, 2014, 30 (11) : 110-114. )
[7] 郑凯, 朱林, 陈优广. 基于Kademlia的负载平衡云存储算法[J]. 计算机应用, 2015, 35 (3) : 643-647. ( ZHENG K, ZHU L, CHEN Y G. Load balancing cloud storage algorithm based on Kademlia[J]. Journal of Computer Applications, 2015, 35 (3) : 643-647. )
[8] 林伟伟, 贺品嘉, 刘波. 云存储系统的能耗优化节点管理方法[J]. 华南理工大学学报(自然科学版), 2014, 42 (1) : 104-110. ( LIN W W, HE P J, LIU B. Management method of energy consumption optimization nodes in cloud storage system[J]. Journal of South China University of Technology (Natural Science Edition), 2014, 42 (1) : 104-110. )
[9] KOSTA S, AUCINAS A, HUI P, et al. ThinkAir:dynamic resource allocation and parallel execution in the cloud for mobile code offloading[C]//Proceedings of the 31st Annual IEEE International Conference on Computer Communications. Piscataway, NJ:IEEE, 2012:945-953.
[10] SAARINEN A, SIEKKINEN M, XIAO Y, et al. SmartDiet:offloading popular apps to save energy[J]. ACM SIGCOMM Computer Communication Review, 2012, 42 (4) : 297-298. doi: 10.1145/2377677
[11] BARBERA M V, KOSTA S, STEFA J, et al. CloudShield:efficient anti-malware smartphone patching with a P2P network on the cloud[C]//Proceedings of the 2012 IEEE 12th International Conference on Peer-to-Peer Computing. Piscataway, NJ:IEEE, 2012:50-56.
[12] DRAGO I, MELLIA M, MUNAFO M M, et al. Inside dropbox:understanding personal cloud storage services[C]//Proceedings of the 2012 ACM Conference on Internet Measurement Conference. New York:ACM, 2012:481-494.