CN103731483B - 一种基于云计算的虚拟文件系统 - Google Patents

一种基于云计算的虚拟文件系统 Download PDF

Info

Publication number
CN103731483B
CN103731483B CN201310725544.XA CN201310725544A CN103731483B CN 103731483 B CN103731483 B CN 103731483B CN 201310725544 A CN201310725544 A CN 201310725544A CN 103731483 B CN103731483 B CN 103731483B
Authority
CN
China
Prior art keywords
file
virtual
client
party
service end
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310725544.XA
Other languages
English (en)
Other versions
CN103731483A (zh
Inventor
侯金涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201310725544.XA priority Critical patent/CN103731483B/zh
Publication of CN103731483A publication Critical patent/CN103731483A/zh
Application granted granted Critical
Publication of CN103731483B publication Critical patent/CN103731483B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于云计算的虚拟文件系统,包括由文件虚拟器、文件处理中心、文件系统接口、文件传送器、用户接口、数据库、缩略图管理模块、文件格式转换模块、垃圾清理器组成的服务端及由收发模块、终端拟真虚拟文件系统、文件交互模块组成的客户端。本发明的服务端通过与一个或以上的客户端进行交互实现为基于Web的系统和应用提供对云端服务器文件进行异步操作、异步读写的功能,为HTML5的应用实现支持文件系统提供了有效的解决方案,并为第三方应用开放API;支持文件格式转换的辅助技术,为对HTML5不兼容的文件进行浏览或编辑时提供了替代方案;其采用云端的文件存储方案,让使用者在网络连接下实现不限地域、不限终端、不限平台地管理、浏览、编辑文件。

Description

一种基于云计算的虚拟文件系统
技术领域
本发明涉及一种基于云计算的虚拟文件系统,应用于基于Web的系统及应用。
背景技术
随着互联网的飞速发展 ,如今已进入后Web2.0时代,人机交互、人网交互已经成为常态,一些基于HTML5的Web App(基于Web的系统和应用) 接踵而至。相对Native App(一种基于智能手机本地操作系统如IOS、Android、Windows Phone并使用原生程式编写运行的第三方应用程序)而言,具有无需安装、开发成本低、跨平台和跨终端、迭代更新容易等优势使其有很大的可能性成为未来的天下。然而,由于出于安全问题的考虑,尤其运行于浏览器上HTML5技术对文件系统的操作是十分有限的,对文件格式的要求也相当严格,由此,在功能上的缺陷导致了对开发工具类和办公类Web App带来诸多不便。
又随着各式各样诸如台式电脑、手提电脑、平板电脑、智能手机、智能电视、智能手表、智能眼镜等智能化数码产品的出现,为了方便,我们在不同的场合下需使用不同的数码产品。然而各终端机上尤其不同品牌的终端机上的文件同步却显得相当麻烦,若需要在不同的终端上对同一文件进行浏览、编辑,通常情况下则使用USB、WIFI、蓝牙连接进行终端之间的文件交换,这是相当不便的。目前也有不少基于云计算的文件存储系统(或应用),但遗憾的是不能进行编辑、只能进行简单的浏览,这是无法满足办公需求的。
因此,针对现有技术的不足,研发一种基于云计算的文件系统,不仅实现了文件在云端存放,还可对直接远程的文件进行管理、对文件进行读写,以及读写过程中可实现文件数据类型转换,支持多种文件格式转换,以适应浏览器显示。为第三方应用提供API支持,扩大了应用范围,让使用者在网络连接的情况下实现不限地域、不限终端、不限平台地管理、浏览、编辑文件。
发明内容
为解决上述技术问题,本发明采用如下技术方案:一种基于云计算的虚拟文件系统,包括服务端,及与所述服务端进行交互的一个或以上的客户端;所述服务端包括:通信接口,用于与客户端进行连接通信、建立会话机制和指令派发;文件虚拟器,用于对物理文件进行抽象化并建立虚拟路径,为文件的调用重新定义了操作接口;文件处理中心,用于结合相关模块处理来自所述文件虚拟器的文件操作请求;文件系统接口,用于与物理文件系统对接并对物理文件进行控制操作和存取操作;文件传送器,用于为第三系统或应用通过URL的方式加载文件内容;用户接口,用于与第三方的用户中心进行对接,为虚拟文件信息提供区分用户的用户编号;数据库,用于保存文件的物理信息、虚拟信息以及分享性信息。
进一步地,为了方便用户快速地预览文件的缩略图,所述服务端还包括缩略图管理模块。
进一步地,为了让文件内容在HTML5的环境下展示或播放,所述服务端还包括文件格式转换模块。
进一步地,由于为了适应HMTL5环境下的文件展示或播放中生成临时物理文件得以清理,所述服务端还包括垃圾清理器。
进一步地,所述客户端包括收发模块、终端拟真虚拟文件系统和文件交互模块,所述终端拟真虚拟文件系统,用于在客户端中通过文件数据对象以及通过所述收发模块与服务端进行数据交换,模拟一个虚拟文件系统,并提供一致性的文件管理和读写的接口, 为第三方应用程序开放客户端API(应用程序接口)。
进一步地,所述客户端API提供的功能包括:新建文件、删除文件、复制文件、修改文件虚拟路径、新建文件夹、删除文件夹、修改文件夹虚拟路径、获取文件夹属性、修改文件夹属性、回收站机制、文件遍历、下载文件、读取文件内容、写入文件内容和上传文件。
进一步地,所述缩略图管理模块用于对文件进行检测并创建缩略图物理文件,并将图片文件的物理信息返回给所述文件处理中心。
进一步地,所述文件格式转换模块用于使用自身功能或第三方应用对文件内容转换可以在HTML5环境下进行展示或播放的格式,根据部分格式转换的具体情况会生成一些用于HTML5环境下展示或播放的临时物理文件。
进一步地,所述垃圾清理器用于通过检查临时物理文件的创建时间和用途进行判断,然后对超过有效期的文件进行删除。
进一步地,所述收发模块用于与服务器进行通讯和指令派发;所述文件交互模块用于通过建立图形界面中的文件控件实现访问终端文件。
进一步地,该系统中的文件包括虚拟文件与实际文件。
进一步地,所述虚拟文件,用于根据不同的用户为终端用户虚拟了唯一的文件访问路径,让用户通过此虚拟路径获取文件信息及相关的实际文件存放地址,同时也确保此虚拟路径在同一用户下是唯一的;当终端通过此虚拟路径进行文件访问时,在数据库中检索出此虚拟路径的数据便可读取该文件的相关信息;其实施方法可建立文件对象并保存于服务端数据库中,当客户端运行时可对文件对象进行加载并保存到内存中。
进一步地,文件对象由一个包含用户编号(UID)、名称(Name)、虚拟路径(Path)、文件属性(Properties)、实际文件的实际路径(Source)、缩略图文件的实际路径(Thumbnail)组成。
进一步地,虚拟路径是由所述文件虚拟器模拟出来的一种路径,在同一UID下,只允许一个虚拟路径存在,包括文件名称以及所经历的文件夹,以“/”作为根文件夹的虚拟路径;如:/文件夹1/文件夹2/图片.jpg。
进一步地,所述实际文件即计算机通用文件,包括终端文件以及服务端的文件,通过与所述文件系统接口交接的文件系统进行管理。
进一步地,应用于基于Web的系统及应用,通过开放客户端API(应用程序接口),让第三方应用在HTML5的运行环境下实现对文件进行操作。
进一步地,所述新建文件,实现为第三方应用在HTML5环境下通过调用客户端接口进行新建文件并保存到服务端的操作;其实施步骤包括以下过程:(1)第三方发起新建文件的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件是否存在;(5)生成一个新的文件;(6)生成虚拟文件对象并保存到数据库;(7)向客户端返回操作结果;(8)处理操作结果并应用新文件对象;(9)向第三方返回操作结果。
进一步地,所述删除文件,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件实施删除操作;其实施步骤包括以下过程:(1)第三方发起删除文件的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件是否存在;(5)删除文件及其缩略图文件;(6)删除数据库中相应文件的记录;(7)向客户端返回操作结果;(8)处理操作结果并删除文件对象;(9)向第三方返回操作结果。
进一步地,所述复制文件,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件实施复制操作;其实施步骤包括以下过程:(1)第三方发起复制文件的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件是否存在;(5)复制文件及其缩略图文件;(6)生成虚拟文件对象并保存到数据库;(7)向客户端返回操作结果;(8)处理操作结果并应用新文件对象;(9)向第三方返回操作结果。
进一步地,所述修改文件虚拟路径,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件实施修改虚拟路径操作;其实施步骤包括以下过程:(1)第三方发起修改文件虚拟路径的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件是否存在;(5)修改数据库中相应文件的记录;(6)向客户端返回操作结果;(7)处理操作结果并应用文件对象;(8)向第三方返回操作结果。
进一步地,所述新建文件夹,实现为第三方应用在HTML5环境下通过调用客户端接口进行新建文件夹保存到服务端的操作;其实施步骤包括以下过程:(1)第三方发起新建文件夹的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件夹是否存在;(5)生成虚拟文件夹对象并保存到数据库;(6)向客户端返回操作结果;(7)处理操作结果并应用文件夹对象;(8)向第三方返回操作结果。
进一步地,所述删除文件夹,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件夹实施删除操作;其实施步骤包括以下过程:(1)第三方发起删除文件夹的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件、文件夹是否存在;(5)删除数据库中对应文件夹的记录;(6)向客户端返回操作结果;(7)处理操作结果并应用文件对象;(8)向第三方返回操作结果。
进一步地,所述修改文件夹虚拟路径,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件夹实施修改虚拟路径操作;其实施步骤包括以下过程:(1)第三方发起修改文件夹虚拟路径的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件夹是否存在;(5)修改数据库中相应文件、文件夹的记录;(6)向客户端返回操作结果;(7)处理操作结果并应用文件、文件夹对象;(8)向第三方返回操作结果。
进一步地,所述获取文件夹属性,实现为第三方应用在HTML5环境下通过调用客户端接口获取服务端中的文件夹属性的操作;其实施步骤包括以下过程:(1)第三方发起获取文件夹属性的指令;(2)在客户端尝试读取文件属性;(3)提交指令到服务端;(4)进行用户识别并获取用户编号;(5)读取数据库中对应文件夹记录;(6)向客户端返回查询结果;(7)处理查询结果并应用文件对象;(8)向第三方返回操作结果。
进一步地,所述修改文件夹属性,实现为第三方应用在HTML5环境下通过调用客户端接口修改服务端中的文件夹属性的操作;其实施步骤包括以下过程:(1)第三方发起修改文件夹属性的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)修改数据库中相应文件夹的记录;(5)向客户端返回查询结果;(6)处理查询结果并应用文件对象;(7)向第三方返回操作结果。
进一步地,所述回收站机制,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件夹实施回收站机制操作;其实施步骤包括以下过程:(1)第三方发起回收或还原文件夹的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)修改数据库中对应文件夹记录;(5)向客户端返回操作结果;(6)处理操作结果并应用文件、文件夹对象;(7)向第三方返回操作结果。
进一步地,所述文件遍历,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件夹进行遍历并获取其子文件夹和文件信息的操作;其实施步骤包括以下过程:(1)第三方发起文件遍历的指令;(2)在客户端尝试进行文件遍历;(3)提交指令到服务端;(4)行用户识别并获取用户编号;(5)读取数据库中对应文件夹记录; (6)向客户端返回查询结果;(7)处理查询结果并应用文件夹对象;(8)向第三方返回操作结果。
进一步地,所述文件下载,实现为第三方应用在HTML5环境下通过文件URL下载服务端中的文件到终端的操作;其实施步骤包括以下过程:(1)第三方通过文件URL进行文件加载;(2)服务端分析URL并提取文件路径;(3)读取文件的二进制内容;(4)向第三方返回文件内容。
进一步地,所述读取文件内容,实现为第三方应用在HTML5环境下通过调用客户端接口实施读取服务端中的文件内容并根据要求转换格式的操作;其实施步骤包括以下过程:(1)第三方发起读取文件内容的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)读取数据库中对应文件记录;(5)读取文件内容;(6)转换文件内容格式;(7)向客户端返回操作结果;(8)向第三方返回文件内容。
进一步地,所述写入文件内容,实现为第三方应用在HTML5环境下通过调用客户端接口实施向服务端中的文件写入内容,或根据要求将文件内容进行格式转换后再向服务端中的文件写入转换格式后的内容的操作;其实施步骤包括以下过程:(1)第三方发起写入文件内容的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)读取数据库中对应文件记录;(5)转换文件内容格式;(6)写入文件内容;(7)创建缩略图文件;(8)修改数据库中相应文件的记录;(9)向客户端返回操作结果;(10)处理写入结果并应用文件对象;(11)向第三方返回操作结果。
进一步地,所述上传文件,实现用户通过图形交互界面上传终端文件到服务端中的操作;其实施步骤包括以下过程:(1)用户点击文件控件发起文件上传指令;(2)读取终端文件二进制内容;(3)提交指令及文件内容到服务端;(4)进行用户识别并获取用户编号;(5)生成一个新的文件并写入文件内容;(6)创建缩略图文件;(7)生成虚拟文件对象并保存到数据库;(8)向客户端返回上传结果;(9)处理上传结果并应用新文件对象。
进一步地,第三方应用通过调用所述客户端API提供的功能进行对文件实施操作时,采用异步的方法进行处理,在处理完毕后,将处理结果以事件触发的方式返回到第三方应用中。
进一步地,在所述读取文件内容与所述写入文件内容的实施过程中,提供文件内容的格式转换,主要用于弥补HTML5环境下对文件内容展示的兼容性问题,对HTML5不兼容的文件内容进行格式转换,并使转换格式后的内容得以在HTML5下展示或播放,为第三方应用实施文件内容展现提供了一种有效、快捷的解决方案。
部分所述格式转换的过程,会生成一些适用于HTML5环境下展示或播放的临时文件,第三方应用可通过这些文件的URL对文件进行加载。
进一步地,所述服务端为了及时清理进行文件格式转换时在服务端生成的一些临时文件,可自动执行清除垃圾文件的操作,以释放存储空间。
清除服务端垃圾文件的施步骤包括以下过程:(1)每隔一段时间自动运行;(2)遍历临时文件夹并记录超期文件路径;(3)根据遍历所得的文件路径进行删除文件。
进一步地,所述客户端通过进行客户端初始化,实现为第三方应用在HTML5环境下得以通过API对本系统进行调用。
进一步地,客户端初始化的施步骤包括以下过程:(1)用户登录并建立会话;(2)加载客户端代码并运行;(3)设置API及文件交互控件;(4)向服务端发起加载文件的请求;(5)进行用户识别并获取用户编号;(6)读取数据库中相应的文件记录;(7)向客户端返回查询结果;(8)处理查询结果并应用文件对象。
本发明公开了一种基于云计算的虚拟文件系统,包括终端拟真文件管理器、终端拟真文件读写器、文件交互模块、收发模块、通信接口、文件虚拟器、文件传送器、文件管理器、文件内容读写器、文件格式转换模块、缩略图管理模块、垃圾清理器、数据库以及实际文件系统。本发明的一种基于云计算的虚拟文件系统,为基于Web的系统和应用提供对云端服务器文件进行异步操作、异步读取、异步写入的功能,为HTML5应用实现支持文件系统的提供了有效的解决方案,并为第三方应用提供具有跨平台、跨终端、一致性的API,在扩大了应用范围的同时也达到一次开发,到处可用的效果。同时采用文件格式和数据格式转换的辅助技术,为对HTML5不兼容的文件格式进行浏览或编辑时提供了替代方案。本发明采用云端的文件存储方案,让使用者在网络连接的情况下实现不限地域、不限终端、不限平台地管理、浏览、编辑文件。
附图说明
为了易于说明,本实用新型由下述的较佳实施例及附图作以详细描述。
图1为本发明一种基于云计算的虚拟文件系统的系统结构示意图。
图2为本发明一种基于云计算的虚拟文件系统的实施新建文件的流程示意图。
图3为本发明一种基于云计算的虚拟文件系统的实施新建文件的系统结构关系示意图。
图4为本发明一种基于云计算的虚拟文件系统的实施删除文件的流程示意图。
图5为本发明一种基于云计算的虚拟文件系统的实施删除文件的系统结构关系示意图。
图6为本发明一种基于云计算的虚拟文件系统的实施复制文件的流程示意图。
图7为本发明一种基于云计算的虚拟文件系统的实施复制文件的系统结构关系示意图。
图8为本发明一种基于云计算的虚拟文件系统的实施修改文件虚拟路径的流程示意图。
图9为本发明一种基于云计算的虚拟文件系统的实施新建文件夹的流程示意图。
图10为本发明一种基于云计算的虚拟文件系统的实施删除文件夹的流程示意图。
图11为本发明一种基于云计算的虚拟文件系统的实施修改文件夹虚拟路径的流程示意图。
图12为本发明一种基于云计算的虚拟文件系统的实施获取文件(夹)属性的流程示意图。
图13为本发明一种基于云计算的虚拟文件系统的实施修改文件(夹)属性的流程示意图。
图14为本发明一种基于云计算的虚拟文件系统的实施回收站机制的流程示意图。
图15为本发明一种基于云计算的虚拟文件系统的实施远程遍历的流程示意图。
图16为本发明一种基于云计算的虚拟文件系统的实施获取、修改、删除、添加文件的虚拟信息的系统结构关系示意图。
图17为本发明一种基于云计算的虚拟文件系统的实施加载文件的流程示意图。
图18为本发明一种基于云计算的虚拟文件系统的实施下载文件二进制内容的系统结构关系示意图。
图19为本发明一种基于云计算的虚拟文件系统的实施读取文件内容的流程示意图。
图20为本发明一种基于云计算的虚拟文件系统的实施读取文件内容的系统结构关系示意图。
图21为本发明一种基于云计算的虚拟文件系统的实施写入文件内容的流程示意图。
图22为本发明一种基于云计算的虚拟文件系统的实施写入文件内容的系统结构关系示意图。
图23为本发明一种基于云计算的虚拟文件系统的实施上传文件的流程示意图。
图24为本发明一种基于云计算的虚拟文件系统的实施上传文件的系统结构关系示意图。
图25为本发明一种基于云计算的虚拟文件系统的实施清除服务端垃圾文件的流程示意图。
图26为本发明一种基于云计算的虚拟文件系统的实施清除服务端垃圾文件的系统结构关系示意图。
图27为本发明一种基于云计算的虚拟文件系统的实施客户端初始化的流程示意图。
图28为本发明一种基于云计算的虚拟文件系统的实施客户端初始化时进行数据加载的系统结构关系示意图。
具体实施方式
本实施例中,本实施例中,参照图1所示,一种基于云计算的虚拟文件系统包括服务端以及与所述服务端进行交互的一个或以上的客户端。
所述服务端包括:文件系统接口、文件处理中心、文件虚拟器、文件传送器、用户接口、通信接口、文件格式转换模块、缩略图管理模块、垃圾清理器、数据库以及实际文件系统。
所述文件系统接口,用于调用读写位于不同物理介质上的不同文件系统,与各种服务器上的各种文件系统进行对接,物理系统文件系统对接并对物理文件进行存储、新建、删除等操作。
所述文件处理中心,用于根据来自所述文件虚拟器的文件操作指令通过所述文件系统接口对物理文件进行控制操作和存取操作(包括文件的建立、撤销、打开、关闭,对文件的读、写、修改、复制、转储等)。
所述文件虚拟器,用于对物理文件特性进行抽象的基础上,形成一个与物理文件系统实现无关的虚拟层,并在此层次上定义与用户的一致性接口,并对文件数据进行提取并保存到所述数据库中。其功能实施方法为通过用户编号、虚拟路径、物理文件路径(文件存放位置)、物理文件属性、相应缩略图的物理文件路径等信息组合生成虚拟文件、文件夹对象,并将文件、文件夹对象信息保存到数据库中。不仅有效地减少了对文件直接操作,提高效率,也为文件创建了引索,提高文件遍历速度。同时,以用户编号和虚拟路径作为文件或文件夹的识别,一致性地重新定义文件的控制操作和存取操作的方法接口(包括文件的建立、撤销、打开、关闭、共享,对文件的读、写、修改、复制、转储等)。当接收到文件操作的指令后,首先通过虚拟路径和用户编号从数据库中检索出相应的物理文件路径,然后将文件指令及物理文件路径提交到所述文件处理中心进行实际处理。
所述文件传送器,用于为第三系统或应用通过URL的方式加载文件内容。
所述用户接口,用于与第三方用户中心进行对接使本系统下的虚拟文件具有用户区分功能。其功能实施方法为通过API开放接口与第三方用户中心进行对接,然后通过调用第三方用户中心的方法进行用户登录、用户识别等操作,然后从第三方用户中心中获取相应的唯一用户编号并返回给所述虚拟文件器作为用户识别。若所述用户接口未与第三方用户中心进行对接,则表示所有虚拟文件都为同一用户所有。
所述通信接口,用于与客户端进行连接通信、建立会话机制和指令派发。其功能实施方法为通过Nginx或Apache等HTTP/HTTPS/WebSocket代理服务器实现与客户端进行HTTP、HTTPS、WebSocket协议的通信。在通信时建立SESSION会话机制,向客户端派发SESSION ID(唯一的会话编),用于进行客户端或用户识别。当接收到请求时,根据指令将请求传递到不同的模块中处理。
所述文件格式转换模块,用于对文件内容格式或编码进行转换,尤适用于在HTML5环境下展示或播放不兼容的文件格式。其功能实施方法为通过模块自带功能或调用第三方工具或软件实现。
所述缩略图管理模块,用于对文件内容进行分析并提取或生成缩略图的文件内容。其功能实施方法为接收到来自所述文件处理中心的文件内容后,对文件进行判断,若文件为图像文件,对图像尺寸进行压缩,压缩所得的内容为缩略图的二进制内容。若文件不为图像文件,则尝试从问题内容中提取缩略图的二进制内容。若无法生成或提取缩略图的二进制内容,则表示改文件不存在缩略图。最后将缩略图的二进制内容返回到所述文件处理中心。
所述垃圾清理器,用于自发性地通过所述文件系统接口对过期的临时物理文件进行清除。其功能实施方法为通过文件系统接口对临时文件目录下的物理文件进行遍历并读取其创建时间,根据存放目录的不同来确定其有效时间,然后将当前时间与创建时间之间的时间差是否大于等于有效时间作为是否删除的依据。所述垃圾清理器在本发明的系统运行后,每隔一段时间(如:30分钟)就自动执行一次清理工作,若检测出超过有效时间的临时物理文件,则通过所述文件系统接口删除该文件。
所述数据库,用于保存文件的物理信息、虚拟信息以及分享性信息。
所述客户端包括:收发模块、终端拟真虚拟文件系统、文件交互模块。
所述收发模块,用于与服务端建立通信并进行操作指令和文件数据传送。其功能实施方法为当接收到其他模块的通信请求时,所述收发模块将请求命令和用户会话信息一起通过Ajax技术或WebSocket向服务端发送相关请求,并将接收到的反馈信息其通信请求模块。当接收到来自服务端的反馈信息时,根据指令将请求传递到不同的模块中处理。信息传递格式为JSON或XML。
所述终端拟真虚拟文件系统,用于在客户端中通过文件数据对象以及通过所述收发模块与服务端进行数据交换,模拟一个虚拟文件系统,并提供一致性的文件管理和读写的接口。当所述终端拟真虚拟文件系统在运行时,在Javascript作用域中创建一个全局对象,并在该对象中设置一系列的公共方法(包括文件的建立、撤销、打开、关闭、共享,对文件的读、写、修改、复制、转储等)。通过所述收发模块向服务端发起读取文件数据(文件路径、文件属性、文件缩略图等)的请求,然后将读取的数据以数据对象的方式保存,每一个数据对象代表一个文件。通过接口,所述终端拟真虚拟文件系统在接收到指令后,首先对文件相应的数据对象进行相关操作(如:查询、修改、删除、添加等),然后将指令通过所述收发模块发送到服务端处理。当收到服务端返回的信息时,对信息进行判断。
所述文件交互模块,用于通过建立图形界面中的文件控件实现访问终端文件。
该系统中的文件包括虚拟文件与实际文件。
所述虚拟文件,用于根据不同的用户为终端用户虚拟了唯一的文件访问路径,让用户通过此虚拟路径获取文件信息及相关的实际文件存放地址,同时也确保此虚拟路径在同一用户下是唯一的;当终端通过此虚拟路径进行文件访问时,在数据库中检索出此虚拟路径的数据便可读取该文件的相关信息;其实施方法可建立文件对象并保存于服务端数据库中,当客户端运行时可对文件对象进行加载并保存到内存中。
文件对象由一个包含用户编号(UID)、名称(Name)、虚拟路径(Path)、文件属性(Properties)、实际文件的实际路径(Source)、缩略图文件的实际路径(Thumbnail)组成。
虚拟路径是由所述文件虚拟器模拟出来的一种路径,在同一UID下,只允许一个虚拟路径存在,包括文件名称以及所经历的文件夹,以“/”作为根文件夹的虚拟路径;如:/文件夹1/文件夹2/图片.jpg。
所述实际文件即计算机通用文件,包括终端文件以及服务端的文件,通过与所述文件系统接口交接的文件系统进行管理。
应用于基于Web的系统及应用,通过开放客户端API(应用程序接口),让第三方应用在HTML5的运行环境下实现对文件进行操作。
所述客户端API提供的功能包括:新建文件、删除文件、复制文件、修改文件虚拟路径、新建文件夹、删除文件夹、修改文件夹虚拟路径、获取文件(夹)属性、修改文件(夹)属性、回收站机制、文件遍历、下载文件、读取文件内容、写入文件内容和上传文件。
参照图2和图3所示,展示了一种基于云计算的虚拟文件系统实施新建文件的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起新建文件的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入新建文件的指令和必要参数(文件的虚拟路径),如图3中①箭头所示。
步骤二:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将新建文件的指令的请求提交到所述收发模块进行与服务端通信,如图3中②箭头所示。
2、所述收发模块在接收到通信请求后,将新建文件的指令、必要参数(文件的虚拟路径)、和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图3中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将提交到所述文件传送器进行处理,如图3中④箭头所示。
步骤三:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图3中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图3中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤七向客户端返回用户未登录的错误信息。
步骤四:判断相关文件是否存在,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表进行检索,其检索范围必须匹配以下2个条件:
1、数据记录中代表虚拟路径的字段与要新建文件的虚拟路径相同;
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据检索后,如图3中⑦箭头所示,此时可能得出2种结果:
1、若检索出相关文件记录,表示要创建的文件已经存在,然后跳到步骤七向客户端返回文件已经存在的错误信息。
2、若没有检索出相关文件记录,表示要创建的文件不存在,然后进入下一步骤。
步骤五:生成一个新的文件,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将新建文件的命令提交到所述文件处理中心进行处理,如图3中⑧箭头所示。
2、所述文件处理中心向所述文件接口发起新建文件的请求,如图3中⑨箭头所示。
3、所述文件接口调用与其交接的文件系统生成一个新的文件并获取该文件的实际存放路径,如图3中⑩箭头所示。
4、所述文件接口将该文件的实际存放路径返回给所述文件处理中心,如图3中⑪箭头所示。
5、所述文件处理中心将文件的实际存放路径返回给所述文件虚拟器,如图3中⑫箭头所示。
步骤六:生成虚拟文件对象并保存到数据库,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器结合文件的虚拟路径、实际路径、文件相关属性等信息生成一个虚拟文件对象。
2、所述文件虚拟器与数据库建立连接并将虚拟文件对象添加到存储文件对象的数据表中,如图3中⑬箭头所示。
3、所述文件虚拟器将根据系统设置将虚拟文件对象转换成JSON或XML数据。
步骤七:向客户端返回操作结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将操作结果返回给所述通讯接口,如图3中⑭箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的操作结果信息,如图3中⑮箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图3中⑯箭头所示。
步骤八:处理操作结果并应用新文件对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
1、操作失败,所述终端拟真文件系统向客户端所在的运行空间抛出新建文件失败的错误信息。
2、操作成功,所述终端拟真文件系统将返回的文件信息的JSON或XML数据转换成Javascript对象,然后添加到使用内存保存的文件对象数组中。
步骤九:向第三方返回操作结果,所述终端拟真文件系统触发新建文件的事件,并且将操作结果以事件参数传递的方式返回到所述第三方应用,如图3中⑰箭头所示。
结束。
参照图4和图5所示,展示了一种基于云计算的虚拟文件系统实施删除文件的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起删除文件的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入删除文件的指令和必要参数(文件的虚拟路径),如图5中①箭头所示。
步骤二:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将删除文件的指令的请求提交到所述收发模块进行与服务端通信,如图5中②箭头所示。
2、所述收发模块在接收到通信请求后,将删除文件的指令、必要参数(文件的虚拟路径)、和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图5中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将提交到所述文件传送器进行处理,如图5中④箭头所示。
步骤三:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图5中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图5中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤七向客户端返回用户未登录的错误信息。
步骤四:判断相关文件是否存在,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表进行检索,其检索范围必须匹配以下2个条件:
1、数据记录中代表虚拟路径的字段与要删除文件的虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据检索后,如图5中⑦箭头所示,此时可能得出2种结果:
1、若没有检索出相关文件记录,表示要删除的文件不存在,然后跳到步骤七向客户端返回文件不存在的错误信息。
2、若检索出相关文件记录,表示要创建的文件存在,读取其文件记录并将其数据转换成虚拟文件对象。
步骤五:删除文件及其缩略图文件,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将删除文件的命令、文件实际存放路径(文件对象中代表文件实际存放路径的属性值)、缩略图文件实际存放路径(文件对象中代表缩略图文件实际存放路径的属性值)提交到所述文件处理中心进行处理,如图5中⑧箭头所示。
2、所述文件处理中心向所述文件接口发起删除文件的请求,并且同时提交文件实际存放路径和缩略图文件实际存放路径,如图5中⑨箭头所示。
3、所述文件接口调用与其交接的文件系统根据文件实际存放路径将该文件删除,如图5中⑩箭头所示。
4、若缩略图文件实际存放路径的值不为空,所述文件接口调用与其交接的文件系统根据缩略图文件实际存放路径将该缩略图文件删除,如图5中⑪箭头所示。
5、所述文件处理中心将文件删除结果返回给所述文件虚拟器,如图5中⑬箭头所示。
步骤六:删除数据库中相应文件的记录,所述文件虚拟器再次与数据库建立连接并从存储文件对象的数据表中删除对应的文件记录,被删除的记录必须匹配以下2个条件:
1、数据记录中代表虚拟路径的字段与要删除文件的虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据删除后,如图5中⑭箭头所示,进入下一步骤向客户端返回文件删除成功的信息。
步骤七:向客户端返回操作结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将操作结果返回给所述通讯接口,如图5中⑮箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的操作结果信息,如图5中⑯箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图5中⑰箭头所示。
步骤八:处理操作结果并删除文件对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
1、操作失败,所述终端拟真文件系统向客户端所在的运行空间抛出删除文件失败的错误信息。
2、操作成功,所述终端拟真文件系统将从使用内存保存的文件对象数组中删除相关文件对象。
步骤九:向第三方返回操作结果,所述终端拟真文件系统触发删除文件的事件,并且将操作结果以事件参数传递的方式返回到所述第三方应用,如图5中⑱箭头所示。
结束。
参照图6和图7所示,展示了一种基于云计算的虚拟文件系统实施复制文件的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起复制文件的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入复制文件的指令和必要参数(文件的原始虚拟路径、目标虚拟路径),如图7中①箭头所示。
步骤二:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将复制文件的指令的请求提交到所述收发模块进行与服务端通信,如图7中②箭头所示。
2、所述收发模块在接收到通信请求后,将复制文件的指令、必要参数(文件的原始虚拟路径、目标虚拟路径)、和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图7中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将提交到所述文件传送器进行处理,如图7中④箭头所示。
步骤三:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图7中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图7中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤七向客户端返回用户未登录的错误信息。
步骤四:判断相关文件是否存在,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表进行检索,其检索范围必须匹配以下2个条件:
1、数据记录中代表虚拟路径的字段与文件的原始虚拟路径或目标虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据检索后,如图7中⑦箭头所示,此时可能得出3种结果:
1、若没有检索出原始文件记录,表示要复制的文件不存在,跳到步骤七向客户端返回文件不存在的错误信息。
2、若检索出相关原始文件记录并且没有检索出目标文件记录,读取原始文件记录并将其数据转换成文件对象,进入下一步骤。
3、若检索出相关原始文件记录并且同时检索出目标文件记录,采用删除远程文件过程中的步骤五、步骤六的方法将已经存在目标文件进行删除后。然后读取原始文件记录并将其数据转换成文件对象,进入下一步骤。
步骤五:复制文件及其缩略图文件,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将复制文件的命令、文件实际存放路径(文件对象中代表文件实际存放路径的属性值)、缩略图文件实际存放路径(文件对象中代表缩略图文件实际存放路径的属性值)提交到所述文件处理中心进行处理,如图7中⑧箭头所示。
2、所述文件处理中心向所述文件接口发起复制文件的请求,并且同时提交文件实际存放路径和缩略图文件实际存放路径,如图7中⑨箭头所示。
3、所述文件接口调用与其交接的文件系统根据文件实际存放路径复制一个新的文件并获取其实际存放路径,如图7中⑩箭头所示。
4、若缩略图文件实际存放路径的值不为空,所述文件接口调用与其交接的文件系统根据缩略图文件实际存放路径复制一个新的缩略图文件并获取其实际存放路径,如图7中⑪箭头所示。
5、所述文件处理中心将文件复制结果以及文件、缩略图文件的实际存放路径返回给所述文件虚拟器,如图7中⑬箭头所示。
步骤六:生成虚拟文件对象并保存到数据库,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器结合文件的新的虚拟路径、复制所得文件的实际路径、复制所得缩略文件的实际路径、文件相关属性等信息生成一个虚拟文件对象。
2、所述文件虚拟器与数据库建立连接并将虚拟文件对象添加到存储文件对象的数据表中,如图7中⑭箭头所示。
3、所述文件虚拟器将根据系统设置将虚拟文件对象转换成JSON或XML数据。
步骤七:向客户端返回操作结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将操作结果返回给所述通讯接口,如图7中⑮箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的操作结果信息,如图7中⑯箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图7中⑰箭头所示。
步骤八:处理操作结果并应用新文件对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
1、操作失败,所述终端拟真文件系统向客户端所在的运行空间抛出文件遍历失败的错误信息。
2、操作成功,所述终端拟真文件系统将返回的文件信息的JSON或XML数据转换成Javascript对象,然后添加到使用内存保存的文件对象数组中。
步骤九:向第三方返回操作结果,所述终端拟真文件系统触发复制文件的事件,并且将操作结果以事件参数传递的方式返回到所述第三方应用,如图7中⑱箭头所示。
结束。
参照图8和图16所示,展示了一种基于云计算的虚拟文件系统实施修改文件虚拟路径的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起修改文件虚拟路径的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入修改文件虚拟路径的指令和必要参数(文件的虚拟路径、新的虚拟路径),如图16中①箭头所示。
步骤二:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将修改文件虚拟路径的指令的请求提交到所述收发模块进行与服务端通信,如图16中②箭头所示。
2、所述收发模块在接收到通信请求后,将修改文件虚拟路径的指令、必要参数(文件的虚拟路径、新的虚拟路径)、和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图16中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将提交到所述文件传送器进行处理,如图16中④箭头所示。
步骤三:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图16中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图16中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤六向客户端返回用户未登录的错误信息。
步骤四:判断相关文件是否存在,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表进行检索,其检索范围必须匹配以下2个条件:
1、数据记录中代表虚拟路径的字段与文件的虚拟路径或新的虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据检索后,如图16中⑦箭头所示,此时可能得出3种结果:
1、若在文件的虚拟路径下没有检索出文件记录,表示要修改路径的文件不存在,跳到步骤六向客户端返回文件不存在的错误信息。
2、若在文件的虚拟路径下检索出文件记录并且在新的虚拟路径下也检索文件记录,表示新虚拟路径下已存在文件,跳到步骤六向客户端返回新虚拟路径下已存在文件的错误信息。
3、若在文件的虚拟路径下检索出文件记录并且在新的虚拟路径下没有检索文件记录,读取在文件的虚拟路径下检索出的文件记录并将其数据转换成虚拟文件对象,进入下一步骤。
步骤五:修改数据库中相应文件的记录,所述文件虚拟器再次与数据库建立连接并从存储文件对象的数据表中将对应的文件记录中代表虚拟路径的字段的字符串前段部分中的“文件夹的虚拟路径”替换成“新的虚拟路径”,被修改的记录必须匹配以下2个条件:
1、数据记录中代表虚拟路径字段的字符串与文件的虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据修改后,如图16中⑧箭头所示,进入下一步骤向客户端返回修改文件路径成功的信息。
步骤六:向客户端返回操作结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将操作结果返回给所述通讯接口,如图16中⑨箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的操作结果信息,如图16中⑩箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图16中⑪箭头所示。
步骤七:处理操作结果并应用文件对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
1、操作失败,所述终端拟真文件系统向客户端所在的运行空间抛出修改文件路径失败的错误信息。
2、操作成功,所述终端拟真文件系统将从使用内存保存的文件对象数组中修改相关文件对象的虚拟路径。
步骤八:向第三方返回操作结果,所述终端拟真文件系统触发修改文件虚拟路径的事件,并且将操作结果以事件参数传递的方式返回到所述第三方应用,如图16中⑫箭头所示。
结束。
参照图9和图16所示,展示了一种基于云计算的虚拟文件系统实施新建文件夹的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起新建文件夹的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入新建文件夹的指令和必要参数(文件夹的虚拟路径),如图16中①箭头所示。
步骤二:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将新建文件夹的指令的请求提交到所述收发模块进行与服务端通信,如图16中②箭头所示。
2、所述收发模块在接收到通信请求后,将新建文件夹的指令、必要参数(文件夹的虚拟路径)、和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图16中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将提交到所述文件传送器进行处理,如图16中④箭头所示。
步骤三:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图16中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图16中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤六向客户端返回用户未登录的错误信息。
步骤四:判断相关文件夹是否存在,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表进行检索,其检索范围必须匹配以下2个条件:
1、数据记录中代表虚拟路径的字段与要新建文件夹的虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据检索后,如图16中⑦箭头所示,此时可能得出2种结果:
1、若检索出相关文件夹记录,表示要创建的文件已经存在,然后跳到步骤七向客户端返回文件夹已经存在的错误信息。
2、若没有检索出相关文件记录,表示要创建的文件不存在,然后进入下一步骤。
步骤五:生成虚拟文件夹对象并保存到数据库,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器结合文件的虚拟路径等信息生成一个虚拟文件夹对象。
2、所述文件虚拟器与数据库建立连接并将虚拟文件对象添加到存储文件对象的数据表中,如图16中⑧箭头所示。
3、所述文件虚拟器将根据系统设置将虚拟文件对象转换成JSON或XML数据。
步骤六:向客户端返回操作结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将操作结果返回给所述通讯接口,如图16中⑨箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的操作结果信息,如图16中⑩箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图16中⑪箭头所示。
步骤八:处理操作结果并应用文件夹对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
1、操作失败,所述终端拟真文件系统向客户端所在的运行空间抛出新建文件夹失败的错误信息。
2、操作成功,所述终端拟真文件系统将返回的文件夹信息的JSON或XML数据转换成Javascript对象,然后添加到使用内存保存的文件对象数组中。
步骤八:向第三方返回操作结果,所述终端拟真文件系统触发新建文件夹的事件,并且将操作结果以事件参数传递的方式返回到所述第三方应用,如图16中⑫箭头所示。
结束。
参照图10和图16所示,展示了一种基于云计算的虚拟文件系统实施删除文件夹的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起删除文件夹的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入删除文件夹的指令和必要参数(要删除文件夹的虚拟路径),如图16中①箭头所示。
步骤二:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将删除文件夹的请求提交到所述收发模块进行与服务端通信,如图16中②箭头所示。
2、所述收发模块在接收到通信请求后,将删除文件夹的指令、必要参数(要删除文件夹的虚拟路径)和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图16中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将删除文件夹的指令、必要参数(要删除文件夹的虚拟路径)、会话编号提交到所述文件虚拟器进行处理,如图16中④箭头所示。
步骤三:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图16中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图16中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤六向客户端返回用户未登录的错误信息。
步骤四:判断相关文件、文件夹是否存在,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表进行检索,其检索范围必须匹配以下2个条件:
1、数据记录中代表虚拟路径的字段的前段部分或全部与要删除文件夹的虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据检索后,如图16中⑦箭头所示,此时可能得出3种结果:
1、若没有检索出相关文件夹记录,表示要删除的文件夹不存在,然后跳到步骤六向客户端返回该文件夹不存在的错误信息。
2、若检索出相关文件夹记录并且同时检索出其子文件(夹)记录,表示要删除的文件夹不为空,然后跳到步骤六向客户端返回该文件夹不为空的错误信息。
3、若没有检索出相关文件夹记录,表示要创建的文件夹不存在,然后进入下一步骤。
步骤五:删除数据库中对应文件夹的记录,所述文件虚拟器再次与数据库建立连接并从存储文件对象的数据表中删除对应的文件夹记录,被删除的记录必须匹配以下2个条件:
1、数据记录中代表虚拟路径的字段与要删除文件夹的虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据删除后,如图16中⑧箭头所示,进入下一步骤向客户端返回文件夹删除成功的信息。
步骤六:向客户端返回操作结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将操作结果返回给所述通讯接口,如图16中⑨箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的操作结果信息,如图16中⑩箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图16中⑪箭头所示。
步骤七:处理操作结果并应用文件对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
1、操作失败,所述终端拟真文件系统向客户端所在的运行空间抛出删除文件夹失败的错误信息。
2、操作成功,所述终端拟真文件系统将从使用内存保存的文件对象数组中通过循环的方式逐一对比然后找到其代表虚拟路径的属性值与要删除文件夹的虚拟路径相同的文件夹对象进行删除。
步骤八:向第三方返回操作结果,所述终端拟真文件系统触发删除文件夹的事件,并且将操作结果以事件参数传递的方式返回到所述第三方应用,如图16中⑫箭头所示。
结束。
上述删除文件夹的方法仅限于删除空的文件夹,如需删除不为空的文件夹,可先遍历出该文件夹下的文件和文件夹,然后将该文件夹下的文件和文件夹逐一进行删除,最后再删除该文件夹即可。
参照图11和图16所示,展示了一种基于云计算的虚拟文件系统实施修改文件夹虚拟路径的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起修改文件夹虚拟路径的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入修改文件夹虚拟路径的指令和必要参数(要修改路径的文件夹的虚拟路径、新的虚拟路径),如图16中①箭头所示。
步骤二:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将修改文件夹虚拟路径的请求提交到所述收发模块进行与服务端通信,如图16中②箭头所示。
2、所述收发模块在接收到通信请求后,将修改文件夹虚拟路径的指令、必要参数(要修改路径的文件夹的虚拟路径、新的虚拟路径)和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图16中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将修改文件夹虚拟路径的指令、必要参数(要修改路径的文件夹的虚拟路径、新的虚拟路径)、会话编号提交到所述文件虚拟器进行处理,如图16中④箭头所示。
步骤三:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图16中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图16中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤六向客户端返回用户未登录的错误信息。
步骤四:判断相关文件夹是否存在,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表进行检索,其检索范围必须匹配以下2个条件:
1、数据记录中代表虚拟路径的字段与要修改路径的文件夹的虚拟路径或新的虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据检索后,如图16中⑦箭头所示,此时可能得出3种结果:
1、若没有检索出要修改路径的文件夹记录,则表示要修改路径的文件夹不存在,跳到步骤六向客户端返回该文件夹不存在的错误信息。
2、若检索出要修改路径的文件夹记录并且同时检索出新的虚拟路径下存在文件夹记录,跳到步骤六向客户端返回新的虚拟路径下存在文件夹错误信息。
3、若检索出要修改路径的文件夹记录并且没有检索出新的虚拟路径下存在文件夹记录,进入下一步骤。
步骤五:修改数据库中相应文件、文件夹的记录,所述文件虚拟器再次与数据库建立连接并从存储文件对象的数据表中将对应的文件、文件夹记录中代表虚拟路径的字段的字符串前段部分中的“要修改路径的文件夹的虚拟路径”替换成“新的虚拟路径”,被修改的记录必须匹配以下2个条件:
1、数据记录中代表虚拟路径字段的字符串的前段部分或全部与要修改文件夹的虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据修改后,如图16中⑧箭头所示,进入下一步骤向客户端返回修改文件夹虚拟路径成功的信息。
步骤六:向客户端返回操作结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将操作结果返回给所述通讯接口,如图16中⑨箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的操作结果信息,如图16中⑩箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图16中⑪箭头所示。
步骤七:处理操作结果并应用文件、文件夹对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
1、操作失败,所述终端拟真文件系统向客户端所在的运行空间抛出修改文件夹虚拟路径失败的错误信息。
2、操作成功,所述终端拟真文件系统将从使用内存保存的文件对象数组中通过循环的方式逐一对比然后找到其代表虚拟路径的属性值字符串的前段部分或全部与要修改文件夹的虚拟路径相同的文件、文件夹对象进行虚拟路径的修改,修改的内容为将前段部分中的“要修改路径的文件夹的虚拟路径”替换成“新的虚拟路径”。
步骤八:向第三方返回操作结果,所述终端拟真文件系统触发修改文件夹虚拟路径的事件,并且将操作结果以事件参数传递的方式返回到所述第三方应用,如图16中⑫箭头所示。
结束。
参照图12、图16所示,展示了一种基于云计算的虚拟文件系统实施获取文件(夹)属性的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起获取文件(夹)属性的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入获取文件(夹)属性的指令和必要参数(文件(夹)的虚拟路径),如图16中①箭头所示。
步骤二:在客户端尝试读取文件属性,所述终端拟真虚拟文件系统根据要读取属性文件的虚拟路径作为匹配项从使用内存保存的文件对象数组中进行检索,此时将出现两种情况:
1、若检索出相对文件对象,则直接返回该文件对象中的属性信息,跳到步骤八。
2、若没有检索出相对文件对象,则提交到服务端进行读取,进入下一步骤。
步骤三:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将获取文件(夹)属性的指令的请求提交到所述收发模块进行与服务端通信,如图16中②箭头所示。
2、所述收发模块在接收到通信请求后,将获取文件(夹)属性的指令、必要参数(文件(夹)的虚拟路径)、和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图16中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将提交到所述文件传送器进行处理,如图16中④箭头所示。
步骤四:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图16中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图16中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤六向客户端返回用户未登录的错误信息。
步骤五:读取数据库中对应文件(夹)记录,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表进行检索,其检索范围必须匹配以下2个条件:
1、数据记录中代表虚拟路径的字段与文件(夹)的虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据检索后,如图16中⑦箭头所示,此时可能得出2种结果:
1、若没有检索出文件(夹)记录,表示要读取属性的文件(夹)不存在,直跳到步骤六向客户端返回文件不存在的错误信息。
2、若检索出相关文件(夹)记录,表示要读取属性的文件(夹)存在,读取其文件记录并将其数据转换成虚拟文件(夹)对象。然后所述文件虚拟器将虚拟文件(夹)对象并根据系统设置转换成JSON或XML数据。
步骤六:向客户端返回查询结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将查询结果返回给所述通讯接口,如图16中⑨箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的查询结果信息,如图16中⑩箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图16中⑪箭头所示。
步骤七:处理查询结果并应用文件对象,所述终端拟真文件系统对来自所述收发模块返回的查询结果信息进行分析,此时,将出现两种结果:
1、查询失败,所述终端拟真文件系统向客户端所在的运行空间抛出获取文件(夹)属性失败的错误信息。
2、查询成功,所述终端拟真文件系统将返回的文件信息的JSON或XML数据转换成Javascript对象,并添加到使用内存保存的文件对象数组中。
步骤八:向第三方返回操作结果,所述终端拟真文件系统触发获取文件(夹)属性的事件,并且将操作结果以事件参数传递的方式返回到所述第三方应用,如图16中⑫箭头所示。
结束。
参照图13、图16所示,展示了一种基于云计算的虚拟文件系统实施修改文件(夹)属性的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起修改文件(夹)属性的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入修改文件(夹)属性的指令和必要参数(文件(夹)的虚拟路径、文件(夹)属性),如图16中①箭头所示。
步骤二:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将修改文件(夹)属性的指令的请求提交到所述收发模块进行与服务端通信,如图16中②箭头所示。
2、所述收发模块在接收到通信请求后,将修改文件(夹)属性的指令、必要参数(文件(夹)的虚拟路径、文件(夹)属性)、和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图16中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将提交到所述文件传送器进行处理,如图16中④箭头所示。
步骤三:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图16中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图16中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤五向客户端返回用户未登录的错误信息。
步骤四:修改数据库中相应文件(夹)的记录,所述文件虚拟器再次与数据库建立连接并从存储文件对象的数据表中将对应的文件(夹)记录中代表相关属性的字段修改为新的属性值,被修改的记录必须匹配以下2个条件:
1、数据记录中代表虚拟路径的字段与文件(夹)的虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据修改后,如图16中⑧箭头所示,此时可能得出2种结果:
1、若没有检索出文件(夹)记录,表示要修改属性的文件不存在,返回文件不存在的错误信息。
2、若检索出相关文件(夹)记录并且成功修改记录,进入下一步想客户端返回修改文件属性成功的信息。
步骤五:向客户端返回查询结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将查询结果返回给所述通讯接口,如图16中⑨箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的查询结果信息,如图16中⑩箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图16中⑪箭头所示。
步骤六:处理查询结果并应用文件对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
1、操作失败,所述终端拟真文件系统向客户端所在的运行空间抛出修改文件(夹)属性失败的错误信息。
2、操作成功,所述终端拟真文件系统将从使用内存保存的文件对象数组中修改相关文件对象的属性值。
步骤七:向第三方返回操作结果,所述终端拟真文件系统触发修改文件(夹)属性的事件,并且将操作结果以事件参数传递的方式返回到所述第三方应用,如图16中⑫箭头所示。
结束。
参照图14、图16所示,展示了一种基于云计算的虚拟文件系统实施回收站机制的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起回收(或还原)文件(夹)的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入回收(或还原)文件(夹)的指令和必要参数(要回收(或还原)文件(夹)的虚拟路径),如图16中①箭头所示。
步骤二:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将回收(或还原)文件(夹)的请求提交到所述收发模块进行与服务端通信,如图16中②箭头所示。
2、所述收发模块在接收到通信请求后,将回收(或还原)文件(夹)的指令、必要参数(要回收(或还原)文件(夹)的虚拟路径)和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图16中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将回收(或还原)文件(夹)的指令、必要参数(要回收(或还原)文件(夹)的虚拟路径)、会话编号提交到所述文件虚拟器进行处理,如图16中④箭头所示。
步骤三:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图16中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图16中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤五向客户端返回用户未登录的错误信息。
步骤四:修改数据库中对应文件(夹)记录,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表中将对应的文件(夹)记录中代表收回状态的字段进行以下4种情况的修改:
1、若当前命令为回收文件,将数据记录中代表回收状态的字段修改为已回收,被修改的记录必须匹配以下3个条件:
(1)数据记录中代表回收状态的字段为未回收;
(2)数据记录中代表虚拟路径字段与要回收文件的虚拟路径相同;
(3)数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
2、若当前命令为回收文件夹,将数据记录中代表回收状态的字段修改为已回收,被修改的记录必须匹配以下3个条件:
(1)数据记录中代表回收状态的字段为未回收;
(2)数据记录中代表虚拟路径字段的字符串的前段部分或全部与要修改文件夹的虚拟路径相同;
(3)数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
3、若当前命令为还原文件,将数据记录中代表回收状态的字段修改为未回收,被修改的记录必须匹配以下3个条件:
(1)数据记录中代表回收状态的字段为已回收;
(2)数据记录中代表虚拟路径字段与要回收文件的虚拟路径相同;
(3)数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
4、若当前命令为回收文件夹,将数据记录中代表回收状态的字段修改为未回收,被修改的记录必须匹配以下3个条件:
(1)数据记录中代表回收状态的字段为已回收;
(2)数据记录中代表虚拟路径字段的字符串的前段部分或全部与要修改文件夹的虚拟路径相同;
(3)数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据修改后,如图16中⑧箭头所示,进入下一步并返回回收(或还原)文件(夹)成功的信息。
步骤五:向客户端返回操作结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将操作结果返回给所述通讯接口,如图16中⑨箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的操作结果信息,如图16中⑩箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图16中⑪箭头所示。
步骤六:处理操作结果并应用文件、文件夹对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
一、操作失败,所述终端拟真文件系统向客户端所在的运行空间抛出回收(或还原)文件(夹)失败的错误信息。
二、操作成功,所述终端拟真文件系统将从使用内存保存的文件对象数组中通过循环的方式逐一对比然后找到相应的对象并对其回收状态进行以下4种情况的修改:
1、若当前命令为回收文件,将对象中代表回收状态的属性值修改为已回收,被修改的对象必须匹配以下2个条件:
(1)对象中代表回收状态的属性值为未回收。
(2)对象中代表虚拟路径的属性值与要回收文件的虚拟路径相同。
2、若当前命令为回收文件夹,将对象中代表回收状态的属性值修改为已回收,被修改的对象必须匹配以下2个条件:
(1)对象中代表回收状态的属性值为未回收。
(2)对象中代表虚拟路径的属性值字符串的前段部分或全部与要修改文件夹的虚拟路径相同。
3、若当前命令为还原文件,将对象中代表回收状态的属性值修改为未回收,被修改的对象必须匹配以下2个条件:
(1)对象中代表回收状态的属性值为已回收。
(2)对象中代表虚拟路径的属性值与要回收文件的虚拟路径相同。
4、若当前命令为回收文件夹,将对象中代表回收状态的属性值修改为未回收,被修改的对象必须匹配以下2个条件:
(1)对象中代表回收状态的属性值为已回收。
(2)对象中代表虚拟路径的属性值字符串的前段部分或全部与要修改文件夹的虚拟路径相同。
步骤七:向第三方返回操作结果,所述终端拟真文件系统触发回收(或还原)文件(夹)的事件,并且将操作结果以事件参数传递的方式返回到所述第三方应用,如图16中⑫箭头所示。
结束。
参照图15、图16所示,展示了一种基于云计算的虚拟文件系统实施文件遍历的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起文件遍历的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入文件遍历的指令和非必要参数(要进行文件遍历的虚拟目录路径(若参数为空,则以根目录代替)、是否刷新数据),如图16中①箭头所示。
步骤二:在客户端尝试进行文件遍历,根据第三方输入的非必要参数(是否刷新数据),此时将出现2这种情况:
1、若非必要参数(是否刷新数据)的值为是,则忽略次步骤并进入下一步骤。
2、若非必要参数(是否刷新数据)的值为空或否,所述终端拟真虚拟文件系统从使用内存保存的文件遍历记录数组中尝试找到与要进行文件遍历的虚拟目录路径相同的项目,此时将出现两种情况:
(1)若没有找到相同的项目,表示该目录下的文件在当前会话下没有被遍历过,则提交到服务端加载其文件数据,进入下一步骤。
(2)若找到相同的项目,表示该目录下的文件在当前会话下已被遍历过并且文件数据已保存到内存中,则直接向第三方应用返回文件信息,跳到步骤八。
步骤三:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将文件遍历的指令的请求提交到所述收发模块进行与服务端通信,如图16中②箭头所示。
2、所述收发模块在接收到通信请求后,将文件遍历的指令、非必要参数(要进行文件遍历的虚拟目录路径)和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图16中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将提交到所述文件传送器进行处理,如图16中④箭头所示。
步骤四:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图16中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图16中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤六向客户端返回用户未登录的错误信息。
步骤五:读取数据库中对应文件(夹)记录,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表进行检索,其检索范围必须匹配以下2个条件:
1、数据记录中代表虚拟位置的字段与要进行文件遍历的虚拟目录路径相同;
2、数据记录中代表用户编号的字段与由步骤四所获取的用户编号相同。
进行数据检索并读取后,如图16中⑦箭头所示。然后所述文件虚拟器将读取的文件信息整理为所述虚拟文件对象并根据系统设置转换成JSON或XML数据。
步骤六:向客户端返回查询结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将查询结果返回给所述通讯接口,如图16中⑨箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的查询结果信息,如图16中⑩箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图16中⑪箭头所示。
步骤七:处理查询结果并应用文件(夹)对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
1、查询失败,所述终端拟真文件系统向客户端所在的运行空间抛出文件遍历失败的错误信息。
2、查询成功,所述终端拟真文件系统将返回的文件(夹)信息的JSON或XML数据转换成Javascript对象,然后添加到使用内存保存的文件对象数组中。
步骤八:向第三方返回操作结果,所述终端拟真文件系统触发文件遍历的事件,并且将操作结果以事件参数传递的方式返回到所述第三方应用,如图16中⑫箭头所示。
结束。
在上述运行应用实施流程后,假如所述第三方应用需要对所得的文件信息进行展示文件缩略图、在HTML5环境下加载文件、下载文件等操作,可将文件对象中代表文件(或缩略图文件)位置URL的属性值作为访问地址,然后通过HTTP、HTTPS协议进行文件加载。
参照图17、图18所示,展示了一种基于云计算的虚拟文件系统实施下载文件的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方通过文件URL进行文件加载,所述第三方应用在读取文件对象的信息后,从文件对象中代表文件(或缩略图文件)位置URL的属性值作为访问地址,通过HTTP、HTTPS协议进行文件加载,如图18中①箭头所示。
步骤二:服务端分析URL并提取文件路径,此步骤又分成以下2个小步骤进行:
1、所述通信接口在接收访问请求时,对URL进行分析,此时可能出现2种结果:
(1)判断出URL格式有误或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出URL格式有误或访问来源非法,将URL中的加密字符串提交到所述文件传送器进行处理,如图18中②箭头所示。
2、所述文件传送器对加密字符串进行解密,此时可能出现2种结果:
(1)解密后的格式不符合规定,跳到步骤四向第三方应用返回错误信息。
(2)解密后的格式符合规定,从中提取要加载文件(或缩略图文件)实际存放路径。
步骤三:读取文件的二进制内容,此步骤又分成以下几个小步骤进行:
1、所述文件传送器将读取文件的二进制内容的请求和文件实际存放路径(由步骤十提取所得)提交到所述文件接口,如图18中③箭头所示。
2、所述文件接口调用与其交接的文件系统根据文件实际存放路径读取该文件的二进制内容,如图18中④箭头所示。
3、所述文件接口将读取到的文件二进制内容返回给所述文件传送器,如图18中⑤箭头所示。
步骤四:向第三方返回文件内容,此步骤又分成以下2个小步骤进行:
1、所述文件传送器将文件二进制内容返回给所述通信接口,如图18中⑥箭头所示。
2、所述通讯接口以访问响应的方式向第三方返回来自所述文件传送器的文件二进制内容,如图18中⑦箭头所示。
在上述下载文件的实施流程中,所述文件URL可从文件对象信息中所得。可通过文件遍历的方法的获取文件信息。
参照图19、图20所示,展示了一种基于云计算的虚拟文件系统实施读取文件内容的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起读取文件内容的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入读取文件内容的指令、必要参数(要读取内容的文件虚拟路径)和非必要参数(要转换的格式),如图20中①箭头所示。
步骤二:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将读取文件内容的指令的请求提交到所述收发模块进行与服务端通信,如图20中②箭头所示。
2、所述收发模块在接收到通信请求后,将读取文件内容的指令、必要参数(要读取内容的文件虚拟路径)、非必要参数(要转换的格式)和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图20中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将提交到所述文件传送器进行处理,如图20中④箭头所示。
步骤三:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图20中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图20中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤七向客户端返回用户未登录的错误信息。
步骤四:读取数据库中对应文件记录,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表进行检索,其检索范围必须匹配以下2个条件:
1、数据记录中代表虚拟位置的字段与要读取内容的文件虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据检索后,如图20中⑦箭头所示,此时可能得出2种结果:
1、若没有检索出相关文件记录,表示要读取内容的文件不存在,然后跳到步骤七向客户端返回该文件不存在的错误信息。
2、若检索出相关文件记录,读取其文件记录并将其数据转换成文件对象。然后所述文件虚拟器将读取文件内容的命令、文件实际存放路径(文件对象中代表文件实际存放路径的属性值)和要转换的格式提交到所述文件处理中心进行处理,如图20中⑧箭头所示。
步骤五:读取文件内容,此步骤又分成以下几个小步骤进行:
1、所述文件处理中心向所述文件接口发起读取文件内容的请求,并且同时提交要读取内容的文件实际存放路径,如图20中⑨箭头所示。
2、所述文件接口调用与其交接的文件系统根据文件实际存放路径读取该文件的内容,如图20中⑩箭头所示。
3、所述文件接口将读取到的文件内容返回给所述文件处理中心,如图20中⑪箭头所示。
步骤六:转换文件内容格式,此时将出现2种情况:
1、若要转换的格式的值为空或格式不支持,所述文件处理中心直接将文件内容返回给所述虚拟器,如图20中⑯箭头所示。
2、若要转换的格式的值不为空并且格式支持,则按以下步骤进行处理:
(1)所述文件处理中心将文件内容以及要转换的格式提交到文件格式转换模块,如图20中⑫箭头所示。
(2)所述文件格式转换模块自身或按照设置调用服务端的第三方应用对文件内容进行格式转换。
(3)所述文件格式转换模块将转换格式后的文件内容返回给所述文件处理中心,如图20中⑮箭头所示。
(4)所述文件处理中心最后将转换格式后的文件内容返回给所述虚拟器,如图20中⑯箭头所示。
假如在上述文件格式转换的过程中,需要生成一些临时辅助文件,则通过以下方式生成:
(1)所述文件格式转换模块根据原文件内容进行转换获得转换格式后的文件内容,然后为要生成的临时辅助文件设定一个实际存放路径。
(2)所述文件格式转换模块将生成文件的请求、转换格式后的文件内容和文件实际存放路径提交到所述文件接口,如图20中⑬箭头所示。
(3)所述文件接口调用与其交接的文件系统根据文件实际存放路径创建一个新的文件,然后将转换格式后的文件内容写入该文件中,如图20中⑭箭头所示。
步骤七:向客户端返回操作结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将读取结果返回给所述通讯接口,如图20中⑰箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的读取结果信息,如图20中⑱箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图20中⑲箭头所示。
步骤八:处理读取结果,所述终端拟真文件系统对来自所述收发模块返回的读取结果信息进行分析,此时,将出现两种结果:
1、读取失败,所述终端拟真文件系统向客户端所在的运行空间抛出读取文件内容失败的错误信息。
2、读取成功,直接进入下一步骤。
步骤九:向第三方返回文件内容,所述终端拟真文件系统触发读取文件内容的事件,并且将文件内容以事件参数传递的方式返回到所述第三方应用,如图20中⑳箭头所示。
结束。
在上述读取文件内容的实施流程中,假如在格式转换中生成一些用于辅助显示的临时文件,可根据URL通过HTTP、HTTPS协议进行加载。如:在HTML5环境,以HTML格式显示DOC文档的内容, 在HTML代码中将以<IMG>的标签代表DOC文档中的图片,该<IMG>中的SCR属性为加载图片的临时文件的URL。
参照图21、图22所示,展示了一种基于云计算的虚拟文件系统实施写入文件内容的过程,其具体实施方式是由以下步骤进行:
步骤一:第三方发起写入文件内容的指令,所述第三方应用通过调用与所述客户端的同一Javascript作用域中的全局对象中的函数接口进行操作,输入写入文件内容的指令、必要参数(文件的虚拟路径、文件内容)和非必要参数(写入方式、指针位置、要转换的格式),如图22中①箭头所示。
步骤二:提交指令到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将写入文件内容的指令的请求提交到所述收发模块进行与服务端通信,如图22中②箭头所示。
2、所述收发模块在接收到通信请求后,将写入文件内容的指令、必要参数(文件的虚拟路径、文件内容)、非必要参数(写入方式、指针位置、要转换的格式)和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图22中③箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将提交到所述文件传送器进行处理,如图22中④箭头所示。
步骤三:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图22中⑤箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图22中⑥箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤九向客户端返回用户未登录的错误信息。
步骤四:读取数据库中对应文件记录,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表进行检索,其检索范围必须匹配以下2个条件:
1、数据记录中代表虚拟位置的字段与要写入内容的文件虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据检索后,如图22中⑦箭头所示,此时可能得出2种结果:
1、若没有检索出相关文件记录,表示要写入内容的文件不存在,然后跳到步骤七向客户端返回该文件不存在的错误信息。
2、若检索出相关文件记录,读取其文件记录并将其数据转换成文件对象。然后所述文件虚拟器将写入文件内容的命令、文件虚拟对象和写入方式、指针位置、要转换的格式提交到所述文件处理中心进行处理,如图22中⑧箭头所示。
步骤五:转换文件内容格式,此步骤又分成以下几个小步骤进行:
1、所述文件处理中心将文件内容以及要转换的格式提交到文件格式转换模块。
2、所述文件格式转换模块自身或按照设置调用服务端的第三方应用对文件内容进行格式转换。
3、所述文件格式转换模块将转换格式后的文件内容返回给所述文件处理中心。
上述内容转换过程如图22中⑨箭头所示。
步骤六:写入文件内容,此步骤又分成以下几个小步骤进行:
1、所述文件处理中心向所述文件接口发起写入文件内容的请求,并且同时提交文件内容、文件实际存放路径(虚拟文件对象中代表文件实际存放路径的属性值)、写入方式、指针位置,如图22中⑩箭头所示。
2、所述文件接口调用与其交接的文件系统根据文件实际存放路径、写入方式和写入的指针位置向该文件写入内容。在写入完毕后,读取该文件的相关属性,若不是替换原文件内容方式进行文件写入,读取该文件的文件内容。上述操作过程如图22中⑪箭头所示。
3、所述文件接口将写入结果、文件属性和文件内容返回给所述文件处理中心,如图22中⑫箭头所示。
步骤七:创建缩略图文件,所述文件处理中心将由所述文件接口返回的文件内容以及文件虚拟对象提交到缩略图管理模块进行分析,如图22中⑬箭头所示。在对文件内容进行分析后,将出现4种情况:
1、新的文件内容不可以生成缩略图并且原虚拟文件对象中也不存在缩略图文件,所述缩略图管理模块直接向所述文件处理中心返回空的缩略图的实际路径,如图22中⑰箭头所示。
2、新的文件内容不可以生成缩略图并且原虚拟文件对象中已经存在缩略图文件,则按以下步骤进行处理:
(1)所述缩略图管理模块向所述文件接口发起删除文件的请求,并且同时提交原缩略图文件的实际存放路径(虚拟文件对象中代表缩略图文件实际存放路径的属性值),如图22中⑭箭头所示。
(2)所述文件接口调用与其交接的文件系统根据缩略图文件实际存放路径对文件进行删除,如图22中⑮箭头所示。
(3)所述文件接口将删除结果返回给所述缩略图管理模块,如图22中⑯箭头所示。
(4)所述缩略图管理模块向所述文件处理中心返回空的缩略图的实际路径,如图22中⑰箭头所示。
3、新的文件内容可以生成缩略图并且原虚拟文件对象中不存在缩略图文件,则按以下步骤进行处理:
(1)所述缩略图管理模块根据新的文件内容生成缩略图文件内容。
(2)所述缩略图管理模块向所述文件接口发起创建文件的请求,并且同时提交缩略图文件内容,如图22中⑭箭头所示。
(3)所述文件接口调用与其交接的文件系统新建文件,然后将略图文件内容写入该文件中,如图22中⑮箭头所示。
(4)所述文件接口将缩略图的实际路径返回给所述缩略图管理模块,如图22中⑯箭头所示。
(5)所述缩略图管理模块向所述文件处理中心返回新建的缩略图的实际路径,如图22中⑰箭头所示。
4、新的文件内容可以生成缩略图并且原虚拟文件对象中已存在缩略图文件,则按以下步骤进行处理:
(1)所述缩略图管理模块根据新的文件内容生成缩略图文件内容。
(2)所述缩略图管理模块向所述文件接口发起写入文件内容的请求,并且同时提交缩略图文件内容、提交原缩略图文件的实际存放路径(虚拟文件对象中代表缩略图文件实际存放路径的属性值),如图22中⑭箭头所示。
(3)所述文件接口调用与其交接的文件系统根据原缩略图文件的实际存放路径以替换的方式将略图文件内容写入到该文件中,如图22中⑮箭头所示。
(4)所述文件接口将写入结果返回给所述缩略图管理模块,如图22中⑯箭头所示。
(5)所述缩略图管理模块向所述文件处理中心返回原缩略图的实际路径,如图22中⑰箭头所示。
在缩略图创建完毕后,所述文件处理中心向所述文件虚拟器返回文件写入结果、文件属性、文件缩略图实际存放路径,如图22中⑱箭头所示。
步骤八:修改数据库中相应文件的记录,所述文件虚拟器再次与数据库建立连接并从存储文件对象的数据表中将对应的文件记录中代表文件属性的字段的字符替换成“新的文件属性”、代表文件缩略图实际存放路径的字段的字符替换成“新的缩略图实际存放路径”,被修改的记录必须匹配以下2个条件:
1、数据记录中代表虚拟路径字段的字符串与文件的虚拟路径相同。
2、数据记录中代表用户编号的字段与由步骤三所获取的用户编号相同。
进行数据修改后,如图22中⑲箭头所示,进入下一步骤向客户端返回修改文件路径成功的信息。
步骤九:向客户端返回操作结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将操作结果返回给所述通讯接口,如图22中⑳箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的读取结果信息,如图22中箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图22中箭头所示。
步骤十:处理写入结果并应用文件对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
1、写入失败,所述终端拟真文件系统向客户端所在的运行空间抛出修改文件路径失败的错误信息。
2、写入成功,所述终端拟真文件系统将返回的文件信息的JSON或XML数据转换成Javascript对象,从使用内存保存的文件对象数组中相应的文件对象以新的文件对象替换。
步骤十一:向第三方返回操作结果,所述终端拟真文件系统触发向文件写入内容的事件,并且将操作结果以事件参数传递的方式返回到所述第三方应用,如图22中箭头所示。
结束。
参照图23、图24所示,展示了一种基于云计算的虚拟文件系统实施上传文件到服务端的过程,其具体实施方式是由以下步骤进行:
步骤一:用户点击文件控件发起文件上传指令,此步骤又分成以下2个小步骤进行:
1、用户通过鼠标点击由所述文件交互模块生成的文件控件,打开文件对话框。
2、用户从文件对话框中选取要上传的文件进行上传。
步骤二:所述文件交互模块通过HTML5的File API读取所选文件的二进制内容,如图24中①箭头所示。然后将文件内容和上传文件指令和文件存放的虚拟位置提交到所述终端拟真虚拟文件系统,如图24中②箭头所示。
步骤三:提交指令及文件内容到服务端,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将上传文件的指令的请求提交到所述收发模块进行与服务端通信,如图24中③箭头所示。
2、所述收发模块在接收到通信请求后,将上传文件的指令、文件内容、文件存放的虚拟位置和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图24中④箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将提交到所述文件传送器进行处理,如图24中⑤箭头所示。
步骤四:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图24中⑥箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图24中⑦箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤八向客户端返回用户未登录的错误信息。
步骤五:生成一个新的文件并写入文件内容,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将新建文件的命令以及文件内容提交到所述文件处理中心进行处理,如图24中⑧箭头所示。
2、所述文件处理中心向所述文件接口发起新建文件和向文件写入内容的请求,如图24中⑨箭头所示。
3、所述文件接口调用与其交接的文件系统生成一个新的文件并将文件内容写入到该文件中,然后获取新建文件的实际存放路径,如图24中⑩箭头所示。
4、所述文件接口将该文件的实际存放路径返回给所述文件处理中心,如图24中⑪箭头所示。
步骤六:创建缩略图文件,所述文件处理中心将由所述文件接口返回的文件内容以及文件虚拟对象提交到缩略图管理模块进行分析,如图24中⑫箭头所示。在对文件内容进行分析后,将出现2种情况:
1、新的文件内容不可以生成缩略图,所述缩略图管理模块直接向所述文件处理中心返回空的缩略图的实际路径,如图24中⑯箭头所示。
2、新的文件内容可以生成缩略图,则按以下步骤进行处理:
(1)所述缩略图管理模块根据新的文件内容生成缩略图文件内容。
(2)所述缩略图管理模块向所述文件接口发起创建文件的请求,并且同时提交缩略图文件内容,如图24中⑬箭头所示。
(3)所述文件接口调用与其交接的文件系统新建文件,然后将略图文件内容写入该文件中,如图24中⑭箭头所示。
(4)所述文件接口将缩略图的实际路径返回给所述缩略图管理模块,如图24中⑮箭头所示。
(5)所述缩略图管理模块向所述文件处理中心返回新建的缩略图的实际路径,如图24中⑯箭头所示。
在缩略图创建完毕后,所述文件处理中心向所述文件虚拟器返回文件创建结果、文件实际存放路径、文件属性、文件缩略图实际存放路径,如图24中⑰箭头所示。
步骤七:生成虚拟文件对象并保存到数据库,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器结合文件的虚拟路径、实际路径、缩略图文件的实际路径、文件相关属性等信息生成一个虚拟文件对象。
2、所述文件虚拟器与数据库建立连接并将虚拟文件对象添加到存储文件对象的数据表中,如图24中⑱箭头所示。
3、所述文件虚拟器将根据系统设置将虚拟文件对象转换成JSON或XML数据。
步骤八:向客户端返回上传结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将上传结果返回给所述通讯接口,如图24中⑲箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的上传结果信息,如图24中⑳箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图24中箭头所示。
步骤九:处理上传结果并应用新文件对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
1、上传失败,所述终端拟真文件系统向客户端所在的运行空间抛出上传文件失败的错误信息。
2、上传成功,所述终端拟真文件系统将返回的文件信息的JSON或XML数据转换成Javascript对象,然后添加到使用内存保存的文件对象数组中。
结束。
第三方应用通过调用所述客户端API提供的功能进行对文件实施操作时,采用异步的方法进行处理,在处理完毕后,将处理结果以事件触发的方式返回到第三方应用中。
在所述读取文件内容与所述写入文件内容的实施过程中,提供文件内容的格式转换,主要用于弥补HTML5环境下对文件内容展示的兼容性问题,对HTML5不兼容的文件内容进行格式转换,并使转换格式后的内容得以在HTML5下展示或播放,为第三方应用实施文件内容展现提供了一种有效、快捷的解决方案;
部分所述格式转换的过程,会生成一些适用于HTML5环境下展示或播放的临时文件,第三方应用可通过这些文件的URL对文件进行加载。
所述服务端为了及时清理进行文件格式转换时在服务端生成的一些临时文件,可自动执行清除垃圾文件的操作,以释放存储空间。
参照图25、图26所示,展示了一种基于云计算的虚拟文件系统实施清除服务端垃圾文件的过程,其具体实施方式是由以下步骤进行:
步骤一:所述垃圾清理器在系统运行后就根据设置,每隔一段时间(如:10分钟)自动执行清除服务端垃圾文件的操作。
步骤二:遍历临时文件夹并记录超期文件路径,此步骤又分成以下几个小步骤进行:
1、所述垃圾清理器向所述文件系统接口发起临时文件夹遍历的请求,如图26中①箭头所示。
2、所述文件系统接口调用与其交接的文件系统进行文件遍历的操作,如图26中②箭头所示。
3、所述文件系统向所述垃圾清理器返回遍历所得的文件信息,如图26中③箭头所示。
4、所述垃圾清理器逐一对遍历所得的文件进行检测,根据当前时间与文件创建时间相减所得的时间是否大于等于有效时长为依据,记录超出有效期文件的实际存放路径。
此时将出现两种情况:
1、若遍历出超期文件,进入步骤三。
2、若没有遍历出超期文件,提前结束清除垃圾文件的操作。
步骤三:
1、所述垃圾清理器向所述文件系统接口发起临时文件删除的请求,并且同时提交要删除文件的实际存放路径,如图26中④箭头所示。
2、所述文件接口调用与其交接的文件系统根据文件实际存放路径对文件进行逐一删除,如图26中⑤箭头所示。
结束。
所述客户端通过进行客户端初始化,实现为第三方应用在HTML5环境下得以通过API对本系统进行调用。
参照图27、图28所示,展示了一种基于云计算的虚拟文件系统实施客户端初始化的过程,其具体实施方式是由以下步骤进行:
步骤一:用户登录并建立会话,此步骤的处理过程不受本系统所限制,其实施方式由所述第三用户中心提供的登陆方式进行,在登录后以会话编号作为用户登录的身份识别码。
步骤二:加载客户端的Javascript和CSS代码并运行,可通过以下两种方法实现:
1、在需运行客户端的应用的HTML页面中,添加<script>和<link>标签,让浏览器进行加载。
2、通过Ajax的方式加载代码文本,并使用evel函数运行javascript代码,通过创建<style>元素,应用CSS样式。
在以上过程中,所述客户端代码存储模块会根据请求来源和信息进行分析,返回不同版本的客户端代码,如适用于PC的客户端或适用于智能手机的客户端。若加载请求中没有指定要加载的版本,则通过HTTP_USER_AGENT对浏览器进行判断,自动分配最合适的版本。
若客户端运行在基于HTML5的Native应用中(如智能手机中通过安装的本地应用),则直接运行安装在本地应用的代码。
步骤三:设置API及文件交互控件,此步骤又分成以下2个小步骤进行:
1、通过所述终端拟真虚拟文件系统在Javascript作用域中创建一个全局对象,并在该对象中设置一系列的公共方法。
2、通过所述文件交互模块创建图形交互界面的相关HTML元素及控件,并对其设置事件(Events)进行用户输入的监控。
步骤四:向服务端发起加载文件的请求,此步骤又分成以下几个小步骤进行:
1、所述终端拟真虚拟文件系统将读取文件内容的指令的请求提交到所述收发模块进行与服务端通信,如图28中①箭头所示。
2、所述收发模块在接收到通信请求后,将加载文件信息的请求和当前会话编号等数据进行组合和加密后通过WebSocket或Ajax的方式提交到服务端,如图28中②箭头所示。
3、所述通信接口将接收到的数据进行分析,此时可能出现2种结果:
(1)判断出数据或访问来源非法,立即以响应的方式返回限制访问的错误信息并结束当前操作。
(2)判断出数据以及访问来源合法,将提交到所述文件传送器进行处理,如图28中③箭头所示。
步骤五:进行用户识别并获取用户编号,此步骤又分成以下2个小步骤进行:
1、所述文件虚拟器将接收到会话编号提交到用户接口进行用户检验,如图28中④箭头所示。
2、根据系统设置以及会话情况,所述用户接口将得到以下3种种处理结果:
(1)所述用户接口未和所述第三方用户中心建立连接,则表示所有文件都属于同一个用户,其用户编号为0,然后进入下一步骤。
(2)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中存在用户登录,获取用户编号,如图28中⑤箭头所示,然后进入下一步骤。
(3)所述用户接口已和所述第三方用户中心建立连接,所述用户接口将会话编号传递给所述第三方用户中心进行用户检查后所得,当前会话中没有用户登录,跳到步骤七向客户端返回用户未登录的错误信息。
步骤六:读取数据库中相应的文件记录,所述文件虚拟器与数据库建立连接并对存储文件对象的数据表进行检索,其检索范围必须匹配以下2个条件:
1、数据记录中代表虚拟位置的字段与根目录路径相同;
2、数据记录中代表用户编号的字段与由步骤五所获取的用户编号相同。
进行数据检索并读取后,如图28中⑥箭头所示。然后所述文件虚拟器将读取的文件信息整理为所述虚拟文件对象并根据系统设置转换成JSON或XML数据。
步骤七:向客户端返回查询结果,此步骤又分成以下几个小步骤进行:
1、所述文件虚拟器将查询结果返回给所述通讯接口,如图28中⑦箭头所示。
2、所述通讯接口以访问响应的方式向客户端返回来自所述文件虚拟器的查询结果信息,如图28中⑧箭头所示。
3、所述收发模块在接收到服务端返回的信息后,将返回的数据提交给所述终端拟真文件系统,如图28中⑨箭头所示。
步骤八:处理查询结果并应用文件对象,所述终端拟真文件系统对来自所述收发模块返回的操作结果信息进行分析,此时,将出现两种结果:
1、查询失败,所述终端拟真文件系统向客户端所在的运行空间抛出文件遍历失败的错误信息。
2、查询成功,所述终端拟真文件系统将返回的文件信息的JSON或XML数据转换成Javascript对象,然后添加到使用内存保存的文件对象数组中。
结束。
本发明公开了一种基于云计算的虚拟文件系统,包括终端拟真文件管理器、终端拟真文件读写器、文件交互模块、收发模块、通信接口、文件虚拟器、文件传送器、文件管理器、文件内容读写器、文件格式转换模块、缩略图管理模块、垃圾清理器、数据库以及实际文件系统。本发明的一种基于云计算的虚拟文件系统,为基于Web的系统和应用提供对云端服务器文件进行异步操作、异步读取、异步写入的功能,为HTML5应用实现支持文件系统的提供了有效的解决方案,并为第三方应用提供具有跨平台、跨终端、一致性的API,在扩大了应用范围的同时也达到一次开发,到处可用的效果。同时支持文件格式和数据格式转换的辅助技术,为对HTML5不兼容的文件格式进行浏览或编辑时提供了替代方案。本发明采用云端的文件存储方案,让使用者在网络连接的情况下实现不限地域、不限终端、不限平台地管理、浏览、编辑文件。
上述实施例,只是本发明的一个实例,并不是用来限制本发明的实施与权利范围,凡与本发明权利要求所述内容相同或等同的技术方案,均应包括在本发明保护范围内。

Claims (10)

1.一种基于云计算的虚拟文件系统,其特征在于:包括服务端,及与所述服务端进行交互的一个或以上的客户端;
所述服务端包括:
通信接口,用于与客户端进行连接通信、建立会话机制和指令派发;
文件虚拟器,用于对物理文件进行抽象化并建立虚拟路径,为文件的调用重新定义了操作接口;
文件处理中心,用于结合相关模块处理来自所述文件虚拟器的文件操作请求;
文件系统接口,用于与物理文件系统对接并对物理文件进行控制操作和存取操作;
文件传送器,用于为第三系统或应用通过URL的方式加载文件内容;
用户接口,用于与第三方的用户中心进行对接,为虚拟文件信息提供区分用户的用户编号;
数据库,用于保存文件的物理信息、虚拟信息以及分享性信息;
为了方便用户快速地预览文件的缩略图,所述服务端还包括缩略图管理模块;
为了让文件内容在HTML5的环境下展示或播放,所述服务端还包括文件格式转换模块;
由于为了适应HMTL5环境下的文件展示或播放中生成临时物理文件得以清理,所述服务端还包括垃圾清理器;
所述客户端包括收发模块、终端拟真虚拟文件系统和文件交互模块,所述终端拟真虚拟文件系统,用于在客户端中通过文件数据对象以及通过所述收发模块与服务端进行数据交换,模拟一个虚拟文件系统,并提供一致性的文件管理和读写的接口, 为第三方应用程序开放客户端API即应用程序接口;
所述客户端API提供的功能包括:新建文件、删除文件、复制文件、修改文件虚拟路径、新建文件夹、删除文件夹、修改文件夹虚拟路径、获取文件夹属性、修改文件夹属性、回收站机制、文件遍历、下载文件、读取文件内容、写入文件内容和上传文件。
2.根据权利要求1所述的一种基于云计算的虚拟文件系统,其特征在于:所述缩略图管理模块用于对文件进行检测并创建缩略图物理文件,并将图片文件的物理信息返回给所述文件处理中心;
所述文件格式转换模块用于使用自身功能或第三方应用对文件内容转换可以在HTML5环境下进行展示或播放的格式,根据部分格式转换的具体情况会生成一些用于HTML5环境下展示或播放的临时物理文件;
所述垃圾清理器用于通过检查临时物理文件的创建时间和用途进行判断,然后对超过有效期的文件进行删除。
3.根据权利要求1所述的一种基于云计算的虚拟文件系统,其特征在于:所述收发模块用于与服务器进行通讯和指令派发;所述文件交互模块用于通过建立图形界面中的文件控件实现访问终端文件。
4.根据权利要求1所述的一种基于云计算的虚拟文件系统,其特征在于:该系统中的文件包括虚拟文件与实际文件;
所述虚拟文件,用于根据不同的用户为终端用户虚拟了唯一的文件访问路径,让用户通过此虚拟路径获取文件信息及相关的实际文件存放地址,同时也确保此虚拟路径在同一用户下是唯一的;当终端通过此虚拟路径进行文件访问时,在数据库中检索出此虚拟路径的数据便可读取该文件的相关信息;其实施方法可建立文件对象并保存于服务端数据库中,当客户端运行时可对文件对象进行加载并保存到内存中;
文件对象由一个包含用户编号即UID、名称即Name、虚拟路径即Path、文件属性即Properties、实际文件的实际路径即Source、缩略图文件的实际路径即Thumbnail组成;
虚拟路径是由所述文件虚拟器模拟出来的一种路径,在同一UID下,只允许一个虚拟路径存在,包括文件名称以及所经历的文件夹,以“/”作为根文件夹的虚拟路径:/文件夹1/文件夹2/图片.jpg;
所述实际文件即计算机通用文件,包括终端文件以及服务端的文件,通过与所述文件系统接口交接的文件系统进行管理。
5.根据权利要求1所述的一种基于云计算的虚拟文件系统,其特征在于:应用于基于Web的系统及应用,通过开放客户端API即应用程序接口,让第三方应用在HTML5的运行环境下实现对文件进行操作。
6.根据权利要求1所述的一种基于云计算的虚拟文件系统,其特征在于:所述新建文件,实现为第三方应用在HTML5环境下通过调用客户端接口进行新建文件并保存到服务端的操作;其实施步骤包括以下过程:(1)第三方发起新建文件的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件是否存在;(5)生成一个新的文件;(6)生成虚拟文件对象并保存到数据库;(7)向客户端返回操作结果;(8)处理操作结果并应用新文件对象;(9)向第三方返回操作结果;
所述删除文件,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件实施删除操作;其实施步骤包括以下过程:(1)第三方发起删除文件的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件是否存在;(5)删除文件及其缩略图文件;(6)删除数据库中相应文件的记录;(7)向客户端返回操作结果;(8)处理操作结果并删除文件对象;(9)向第三方返回操作结果;
所述复制文件,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件实施复制操作;其实施步骤包括以下过程:(1)第三方发起复制文件的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件是否存在;(5)复制文件及其缩略图文件;(6)生成虚拟文件对象并保存到数据库;(7)向客户端返回操作结果;(8)处理操作结果并应用新文件对象;(9)向第三方返回操作结果;
所述修改文件虚拟路径,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件实施修改虚拟路径操作;其实施步骤包括以下过程:(1)第三方发起修改文件虚拟路径的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件是否存在;(5)修改数据库中相应文件的记录;(6)向客户端返回操作结果;(7)处理操作结果并应用文件对象;(8)向第三方返回操作结果;
所述新建文件夹,实现为第三方应用在HTML5环境下通过调用客户端接口进行新建文件夹保存到服务端的操作;其实施步骤包括以下过程:(1)第三方发起新建文件夹的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件夹是否存在;(5)生成虚拟文件夹对象并保存到数据库;(6)向客户端返回操作结果;(7)处理操作结果并应用文件夹对象;(8)向第三方返回操作结果;
所述删除文件夹,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件夹实施删除操作;其实施步骤包括以下过程:(1)第三方发起删除文件夹的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件、文件夹是否存在;(5)删除数据库中对应文件夹的记录;(6)向客户端返回操作结果;(7)处理操作结果并应用文件对象;(8)向第三方返回操作结果;
所述修改文件夹虚拟路径,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件夹实施修改虚拟路径操作;其实施步骤包括以下过程:(1)第三方发起修改文件夹虚拟路径的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)判断相关文件夹是否存在;(5)修改数据库中相应文件、文件夹的记录;(6)向客户端返回操作结果;(7)处理操作结果并应用文件、文件夹对象;(8)向第三方返回操作结果;
所述获取文件夹属性,实现为第三方应用在HTML5环境下通过调用客户端接口获取服务端中的文件夹属性的操作;其实施步骤包括以下过程:(1)第三方发起获取文件夹属性的指令;(2)在客户端尝试读取文件属性;(3)提交指令到服务端;(4)进行用户识别并获取用户编号;(5)读取数据库中对应文件夹记录;(6)向客户端返回查询结果;(7)处理查询结果并应用文件对象;(8)向第三方返回操作结果;
所述修改文件夹属性,实现为第三方应用在HTML5环境下通过调用客户端接口修改服务端中的文件夹属性的操作;其实施步骤包括以下过程:(1)第三方发起修改文件夹属性的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)修改数据库中相应文件夹的记录;(5)向客户端返回查询结果;(6)处理查询结果并应用文件对象;(7)向第三方返回操作结果;
所述回收站机制,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件夹实施回收站机制操作;其实施步骤包括以下过程:(1)第三方发起回收或还原文件夹的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)修改数据库中对应文件夹记录;(5)向客户端返回操作结果;(6)处理操作结果并应用文件、文件夹对象;(7)向第三方返回操作结果;
所述文件遍历,实现为第三方应用在HTML5环境下通过调用客户端接口对服务端中的文件夹进行遍历并获取其子文件夹和文件信息的操作;其实施步骤包括以下过程:(1)第三方发起文件遍历的指令;(2)在客户端尝试进行文件遍历;(3)提交指令到服务端;(4)行用户识别并获取用户编号;(5)读取数据库中对应文件夹记录; (6)向客户端返回查询结果;(7)处理查询结果并应用文件夹对象;(8)向第三方返回操作结果;
所述文件下载,实现为第三方应用在HTML5环境下通过文件URL下载服务端中的文件到终端的操作;其实施步骤包括以下过程:(1)第三方通过文件URL进行文件加载;(2)服务端分析URL并提取文件路径;(3)读取文件的二进制内容;(4)向第三方返回文件内容;
所述读取文件内容,实现为第三方应用在HTML5环境下通过调用客户端接口实施读取服务端中的文件内容并根据要求转换格式的操作;其实施步骤包括以下过程:(1)第三方发起读取文件内容的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)读取数据库中对应文件记录;(5)读取文件内容;(6)转换文件内容格式;(7)向客户端返回操作结果;(8)向第三方返回文件内容;
所述写入文件内容,实现为第三方应用在HTML5环境下通过调用客户端接口实施向服务端中的文件写入内容,或根据要求将文件内容进行格式转换后再向服务端中的文件写入转换格式后的内容的操作;其实施步骤包括以下过程:(1)第三方发起写入文件内容的指令;(2)提交指令到服务端;(3)进行用户识别并获取用户编号;(4)读取数据库中对应文件记录;(5)转换文件内容格式;(6)写入文件内容;(7)创建缩略图文件;(8)修改数据库中相应文件的记录;(9)向客户端返回操作结果;(10)处理写入结果并应用文件对象;(11)向第三方返回操作结果;
所述上传文件,实现用户通过图形交互界面上传终端文件到服务端中的操作;其实施步骤包括以下过程:(1)用户点击文件控件发起文件上传指令;(2)读取终端文件二进制内容;(3)提交指令及文件内容到服务端;(4)进行用户识别并获取用户编号;(5)生成一个新的文件并写入文件内容;(6)创建缩略图文件;(7)生成虚拟文件对象并保存到数据库;(8)向客户端返回上传结果;(9)处理上传结果并应用新文件对象。
7.根据权利要求6所述的一种基于云计算的虚拟文件系统,其特征在于:第三方应用通过调用所述客户端API提供的功能进行对文件实施操作时,采用异步的方法进行处理,在处理完毕后,将处理结果以事件触发的方式返回到第三方应用中。
8.根据权利要求6所述的一种基于云计算的虚拟文件系统,其特征在于:在所述读取文件内容与所述写入文件内容的实施过程中,提供文件内容的格式转换,主要用于弥补HTML5环境下对文件内容展示的兼容性问题,对HTML5不兼容的文件内容进行格式转换,并使转换格式后的内容得以在HTML5下展示或播放,为第三方应用实施文件内容展现提供了一种有效、快捷的解决方案;
部分所述格式转换的过程,会生成一些适用于HTML5环境下展示或播放的临时文件,第三方应用可通过这些文件的URL对文件进行加载。
9.根据权利要求1所述的一种基于云计算的虚拟文件系统,其特征在于:所述服务端为了及时清理进行文件格式转换时在服务端生成的一些临时文件,可自动执行清除垃圾文件的操作,以释放存储空间;
清除服务端垃圾文件的实施步骤包括以下过程:(1)每隔一段时间自动运行;(2)遍历临时文件夹并记录超期文件路径;(3)根据遍历所得的文件路径进行删除文件。
10.根据权利要求1所述的一种基于云计算的虚拟文件系统,其特征在于:所述客户端通过进行客户端初始化,实现为第三方应用在HTML5环境下得以通过API对本系统进行调用;
客户端初始化的施步骤包括以下过程:(1)用户登录并建立会话;(2)加载客户端代码并运行;(3)设置API及文件交互控件;(4)向服务端发起加载文件的请求;(5)进行用户识别并获取用户编号;(6)读取数据库中相应的文件记录;(7)向客户端返回查询结果;(8)处理查询结果并应用文件对象。
CN201310725544.XA 2013-12-25 2013-12-25 一种基于云计算的虚拟文件系统 Expired - Fee Related CN103731483B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310725544.XA CN103731483B (zh) 2013-12-25 2013-12-25 一种基于云计算的虚拟文件系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310725544.XA CN103731483B (zh) 2013-12-25 2013-12-25 一种基于云计算的虚拟文件系统

Publications (2)

Publication Number Publication Date
CN103731483A CN103731483A (zh) 2014-04-16
CN103731483B true CN103731483B (zh) 2017-05-03

Family

ID=50455405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310725544.XA Expired - Fee Related CN103731483B (zh) 2013-12-25 2013-12-25 一种基于云计算的虚拟文件系统

Country Status (1)

Country Link
CN (1) CN103731483B (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104717196B (zh) * 2013-12-12 2018-12-21 扬州微络智能科技有限公司 定义文件网络属性的方法和装置
KR102526739B1 (ko) * 2014-07-03 2023-04-26 에이블 월드 인터내셔널 리미티드 작업 공간 투영 방법 및 상기 작업 공간 투영 방법을 응용한 시스템
TWI625633B (zh) * 2014-07-03 2018-06-01 阿貝爾環球國際有限公司 網路上媒合需求的方法以及應用該方法的工作空間的交易平台
US9626157B2 (en) 2014-07-03 2017-04-18 Able World International Limited Method of projecting a workspace and system using the same
CN104239574B (zh) * 2014-09-30 2019-03-26 珠海市君天电子科技有限公司 垃圾文件查找方法及系统
CN104484338B (zh) * 2014-11-20 2018-05-29 北京安奇智联科技有限公司 文件列表管理设备和方法
CN104598222A (zh) * 2014-12-29 2015-05-06 苏州优势讯通互联网科技有限公司 一种跨平台私有云文件缩略图实现方法
CN104484484B (zh) * 2015-01-08 2018-05-01 北京奇虎科技有限公司 清理缓存文件的方法及装置
CN106325830A (zh) * 2015-06-17 2017-01-11 派斡信息技术(上海)有限公司 投影工作空间的方法以及应用该方法的系统
CN105868304A (zh) * 2016-03-24 2016-08-17 金蝶软件(中国)有限公司 文件处理方法、装置及系统
US10506017B2 (en) 2016-05-20 2019-12-10 Adobe Inc. Manipulation of PDF file content through HTTP requests
CN106534380A (zh) * 2016-12-30 2017-03-22 郑州云海信息技术有限公司 一种虚拟化平台文件管理方法及系统
CN106990720B (zh) * 2017-05-19 2020-06-23 关守平 基于实时云计算模型的虚拟控制实验平台及控制方法
CN107391663A (zh) * 2017-07-19 2017-11-24 郑州云海信息技术有限公司 一种文件md5值自动批量校验装置和方法
CN110069454A (zh) * 2017-09-11 2019-07-30 中兴通讯股份有限公司 一种网络文件管理方法、终端及计算机可读存储介质
CN109033185B (zh) * 2018-06-27 2020-10-30 山东省科学院自动化研究所 一种太赫兹光谱数据自动录入光谱数据库方法及系统
CN109242714A (zh) * 2018-08-23 2019-01-18 郑州云海信息技术有限公司 一种基于人工智能的农产品种植供需平衡系统
CN108986893A (zh) * 2018-08-23 2018-12-11 郑州云海信息技术有限公司 一种基于人工智能的社区养老生活系统
CN109120700A (zh) * 2018-08-23 2019-01-01 郑州云海信息技术有限公司 一种基于云计算的居民区私有车位共享租赁系统
CN109243601A (zh) * 2018-08-23 2019-01-18 郑州云海信息技术有限公司 一种基于云计算的在线诊疗系统
CN109274718A (zh) * 2018-08-23 2019-01-25 郑州云海信息技术有限公司 一种基于云计算的共享单车数据处理系统
CN109271264A (zh) * 2018-08-30 2019-01-25 郑州云海信息技术有限公司 一种通信连接建立方法及装置
CN110310361B (zh) * 2019-04-08 2022-11-11 武汉大良造建筑科技开发有限公司 建筑模型实时传输方法、存储介质、设备及系统
CN112308755A (zh) * 2020-10-30 2021-02-02 平安普惠企业管理有限公司 基于Hybrid混合型App页面水印的图片检测方法、系统及装置
CN112468454B (zh) * 2020-11-11 2023-06-06 许继集团有限公司 一种远程文件管理系统及其远程文件管理方法
CN113569277B (zh) * 2021-06-25 2024-01-26 北京鼎普科技股份有限公司 安全文件数据检查的方法、装置和电子设备
CN113392068A (zh) * 2021-06-28 2021-09-14 上海商汤科技开发有限公司 数据处理方法、装置和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9344401B2 (en) * 2009-02-04 2016-05-17 Citrix Systems, Inc. Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment
CN102469065B (zh) * 2010-11-02 2015-03-25 腾讯科技(深圳)有限公司 一种与html5浏览器互通数据的方法及系统
CN101969475A (zh) * 2010-11-15 2011-02-09 张军 基于云计算的商业数据可控分发与融合应用系统

Also Published As

Publication number Publication date
CN103731483A (zh) 2014-04-16

Similar Documents

Publication Publication Date Title
CN103731483B (zh) 一种基于云计算的虚拟文件系统
CN105144153B (zh) 用于内容组织的方法和系统
CN103714123B (zh) 企业云存储分块对象重复数据删除和重组版本控制方法
JP5656563B2 (ja) 文書管理システム、文書管理システムの制御方法、プログラム
CN104077341B (zh) 即时通讯中生成关键词自动回复映射关系的方法和装置
CN103201997B (zh) 一种基于Web的文档服务方法和系统
CN100553328C (zh) 智能化存取数据的流媒体点播系统
CN103020025B (zh) 用于文档内容的自动动画化的技术
US20020065846A1 (en) Spreadsheet Web server system and spreadsheet Web system
CN107122355A (zh) 数据迁移系统和方法
US20100058118A1 (en) Storage medium recording information reacquisition procedure generation program and information reacquisition procedure generation apparatus
CN102436441A (zh) 同步在线文档编辑
AU6732100A (en) Database system
TW200907734A (en) Method and system for implementing cached parameterized cells
CN110069454A (zh) 一种网络文件管理方法、终端及计算机可读存储介质
CN102810115B (zh) 一种多层分布式文档管理体系的实现方法
CN106484821A (zh) 一种云计算架构下的混合云存储方法
CN103559194B (zh) 一种搜索方法、服务器、系统
CN105787091A (zh) 支持多终端的内容发布系统及方法
CN106649467A (zh) 一种蓝光光盘库归档管理方法及系统
CN115857886A (zh) 基层政务应用的低代码开发平台
CN104750815B (zh) 一种基于HBase的Lob数据的存储方法及装置
CN114168117A (zh) 一种基于设计器的信创低代码开发工具和存储设备
CN106487856A (zh) 一种网络文件存储的方法和系统
CN103501341A (zh) 一种Web服务的创建方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170503

Termination date: 20211225