CN107463657B - 文件操作方法及终端 - Google Patents
文件操作方法及终端 Download PDFInfo
- Publication number
- CN107463657B CN107463657B CN201710636495.0A CN201710636495A CN107463657B CN 107463657 B CN107463657 B CN 107463657B CN 201710636495 A CN201710636495 A CN 201710636495A CN 107463657 B CN107463657 B CN 107463657B
- Authority
- CN
- China
- Prior art keywords
- file
- terminal
- server
- identification
- web application
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开一种文件操作方法及终端,其中,文件操作方法包括:在终端的浏览器中加载所述终端缓存的网络应用程序的运行文件,并在所述浏览器中运行所述网络应用程序;获取针对所述网络应用程序的文件操作指令,所述文件操作指令携带目标文件标识;确定所述终端的当前网络状态;若所述终端的当前网络状态为离线状态,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作,采用本发明实施例,可以提高文件操作的便利性。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种文件操作方法及终端。
背景技术
随着互联网技术的发展,各种网络应用程序应运而生,比如即时通讯应用、购物应用以及点餐应用等等。通常需要使用某个网络应用时,都必须在终端安装该网络应用程序,后续才能使用。这种方式使得终端需要安装特别多的网络应用程序,不便于管理。为了解决上述问题,网页版的网络应用程序应运而生,当用户需要使用网络应用程序时,不需要安装该网络应用程序,只需要在浏览器中加载运行该网络应用程序即可。但是目前对于网络版的网络应用程序的文件操作方式不够方便。
发明内容
本发明实施例提供一种文件操作方法及终端,可以实现在离线状态下,对浏览器中运行的网络应用程序进行文件操作,提高文件操作的便利性。
第一方面,本发明实施例提供一种文件操作方法,包括:
在终端的浏览器中加载所述终端缓存的网络应用程序的运行文件,并在所述浏览器中运行所述网络应用程序;
获取针对所述网络应用程序的文件操作指令,所述文件操作指令携带目标文件标识;
确定所述终端的当前网络状态;
若所述终端的当前网络状态为离线状态,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
在一种可能的实现方式中,所述文件操作方法还包括:
若所述终端的当前网络状态为在线状态,向服务器发送文件操作请求,所述文件操作请求携带所述目标文件标识以及执行文件标识,所述执行文件标识所标识的执行文件被运行时用于执行所述文件操作指令所指示的目标操作;
接收所述服务器发送的操作结果信息,所述操作结果信息用于指示在所述服务器的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件的执行结果;
若所述操作结果信息指示执行失败,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
在一种可能的实现方式中,所述在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作之后,还包括:
当检测到所述终端的网络状态为在线状态时,将执行所述目标操作之后的所述目标文件同步至所述服务器中。
在一种可能的实现方式中,所述将执行所述目标操作之后的所述目标文件同步至所述服务器中,包括:
获取上传文件标识,所述上传文件标识包括所述目标文件标识,所述上传文件标识为第一时间戳在第二时间戳之后的文件标识,或者,所述上传文件标识为所述服务器中不存在的文件标识,所述第一时间戳为在所述终端的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间,所述第二时间戳为在所述服务器的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间;
将所述上传文件标识所标识的文件上传至所述服务器。
在一种可能的实现方式中,所述获取上传文件标识,包括:
生成同步数据包,所述同步数据包包括至少一个文件标识和所述文件标识对应的第一时间戳,所述文件标识包括所述目标文件标识;
将所述同步数据包发送至所述服务器,以使所述服务器根据所述至少一个文件标识和所述文件标识对应的所述第一时间戳确定上传文件标识;
接收反馈信息,所述反馈信息包括所述上传文件标识。
在一种可能的实现方式中,所述将执行所述目标操作之后的所述目标文件同步至所述服务器中,包括:
若所述终端的网速大于预设阈值,则以第一预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
若所述终端的网速小于所述预设阈值,则以第二预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
所述第一预设周期大于所述第二预设周期。
在一种可能的实现方式中,所述目标操作包括以下操作中的至少一种:文件下载操作、文件上传操作、文件删除操作、文件重命名操作以及文件移动操作。
第二方面,本发明实施例提供一种终端,包括:
运行模块,用于在终端的浏览器中加载所述终端缓存的网络应用程序的运行文件,并在所述浏览器中运行所述网络应用程序;
获取模块,用于获取针对所述网络应用程序的文件操作指令,所述文件操作指令携带目标文件标识;
确定模块,用于确定所述终端的当前网络状态;
操作模块,用于若所述终端的当前网络状态为离线状态,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
在一种可能的设计中,所述终端还包括:
发送模块,用于若所述终端的当前网络状态为在线状态,向服务器发送文件操作请求,所述文件操作请求携带所述目标文件标识以及执行文件标识,所述执行文件标识所标识的执行文件被运行时用于执行所述文件操作指令所指示的目标操作;
接收模块,用于接收所述服务器发送的操作结果信息,所述操作结果信息用于指示在所述服务器的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件的执行结果;
所述操作模块还用于若所述操作结果信息指示执行失败,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
在一种可能的设计中,所述终端还包括:
同步模块,用于当检测到所述终端的网络状态为在线状态时,将执行所述目标操作之后的所述目标文件同步至所述服务器中。
在一种可能的设计中,所述同步模块包括:
获取单元,用于获取上传文件标识,所述上传文件标识包括所述目标文件标识,所述上传文件标识为第一时间戳在第二时间戳之后的文件标识,或者,所述上传文件标识为所述服务器中不存在的文件标识,所述第一时间戳为在所述终端的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间,所述第二时间戳为在所述服务器的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间;
上传单元,用于将所述上传文件标识所标识的文件上传至所述服务器。
在一种可能的设计中,所述获取单元具体用于:
生成同步数据包,所述同步数据包包括至少一个文件标识和所述文件标识对应的第一时间戳,所述文件标识包括所述目标文件标识;
将所述同步数据包发送至所述服务器,以使所述服务器根据所述至少一个文件标识和所述文件标识对应的所述第一时间戳确定上传文件标识;
接收反馈信息,所述反馈信息包括所述上传文件标识。
在一种可能的设计中,所述同步模块具体用于:
若所述终端的网速大于预设阈值,则以第一预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
若所述终端的网速小于所述预设阈值,则以第二预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
所述第一预设周期大于所述第二预设周期。
在一种可能的设计中,所述目标操作包括以下操作中的至少一种:文件下载操作、文件上传操作、文件删除操作、文件重命名操作以及文件移动操作。
第三方面,本发明实施例提供一种终端,包括:
用户接口,用于与用户进行交互;
存储介质,存储有程序指令,所述程序指令适于由所述处理器加载;
处理器,用于加载所述程序指令并执行以下操作:
在终端的浏览器中加载所述终端缓存的网络应用程序的运行文件,并在所述浏览器中运行所述网络应用程序;
通过所述用户接口获取针对所述网络应用程序的文件操作指令,所述文件操作指令携带目标文件标识;
确定所述终端的当前网络状态;
若所述终端的当前网络状态为离线状态,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
在一种可能的设计中,所述终端还包括:
通信接口,用于与外部设备进行通信;
所述处理器加载所述程序指令还执行以下操作:
若所述终端的当前网络状态为在线状态,通过所述通信接口向服务器发送文件操作请求,所述文件操作请求携带所述目标文件标识以及执行文件标识,所述执行文件标识所标识的执行文件被运行时用于执行所述文件操作指令所指示的目标操作;
通过所述通信接口接收所述服务器发送的操作结果信息,所述操作结果信息用于指示在所述服务器的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件的执行结果;
若所述操作结果信息指示执行失败,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
在一种可能的设计中,所述处理器加载所述程序指令还执行以下操作:
当检测到所述终端的网络状态为在线状态时,将执行所述目标操作之后的所述目标文件同步至所述服务器中。
在一种可能的设计中,所述终端还包括:
通信接口,用于与外部设备进行通信;
所述处理器加载所述程序指令还执行以下操作以将执行所述目标操作之后的所述目标文件同步至所述服务器中:
获取上传文件标识,所述上传文件标识包括所述目标文件标识,所述上传文件标识为第一时间戳在第二时间戳之后的文件标识,或者,所述上传文件标识为所述服务器中不存在的文件标识,所述第一时间戳为在所述终端的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间,所述第二时间戳为在所述服务器的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间;
通过所述通信接口将所述上传文件标识所标识的文件上传至所述服务器。
在一种可能的设计中,所述处理器加载所述程序指令还执行以下操作以获取上传文件标识:
生成同步数据包,所述同步数据包包括至少一个文件标识和所述文件标识对应的第一时间戳,所述文件标识包括所述目标文件标识;
通过所述通信接口将所述同步数据包发送至所述服务器,以使所述服务器根据所述至少一个文件标识和所述文件标识对应的所述第一时间戳确定上传文件标识;
通过所述通信接口接收反馈信息,所述反馈信息包括所述上传文件标识。在一种可能的设计中,所述终端还包括:
通信接口,用于与外部设备进行通信;
所述处理器加载所述程序指令还执行以下操作以将执行所述目标操作之后的所述目标文件同步至所述服务器中:
若所述终端的网速大于预设阈值,则通过所述通信接口以第一预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
若所述终端的网速小于所述预设阈值,则通过所述通信接口以第二预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
所述第一预设周期大于所述第二预设周期。
在一种可能的设计中,所述目标操作包括以下操作中的至少一种:文件下载操作、文件上传操作、文件删除操作、文件重命名操作以及文件移动操作。
第四方面,本发明实施例提供一种存储介质,所述存储介质中存储有多条程序指令,所述程序指令适于由处理器加载并执行如第一方面所述的文件操作方法。
实施本发明实施例,在终端的浏览器中运行网络应用程序,当用户需要对该网络应用程序进行文件操作时,可以对该终端的网络状态进行判断,并且在该终端的网络状态为离线状态时,仍然可以实现对目标文件的目标操作,提高文件操作的便利性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构图;
图2为本发明实施例提供的一种文件操作方法的流程图;
图3为本发明实施例提供的另一种文件操作方法的交互图;
图4为本发明实施例提供的一种文件下载的流程图;
图5为本发明实施例提供的一种文件上传的流程图;
图6为本发明实施例提供的一种终端的结构示意图;
图7为本发明实施例提供的一种同步模块的结构示意图;
图8为本发明实施例提供的另一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的终端包括但不限于个人电脑(Personal Computer,PC)、笔记本电脑、智能手机、平板电脑、车载终端以及各种便携式穿戴设备等。
本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
本发明实施例的本地存储系统位于终端的网络应用程序对应的存储路径下,本发明实施例的云存储系统位于服务器中网络应用程序对应的存储路径下。
可选的,终端的网络应用程序对应的存储路径可以是在浏览器的存储目录下。
请参照图1,为本发明实施例提供的一种网络系统架构图,如图所示,该系统架构包括终端和服务器,该终端安装浏览器,在该浏览器中运行网络应用程序。
其中,在终端的本地存储了网络应用程序正常运行的运行文件,当在终端的浏览器中加载该运行文件时,就可以实现网络应用程序运行在浏览器中。
如图1所示,以基于第五代超文本标记语言(Hyper Text Mark-up Language,HTML)的HTML5网络应用程序作为举例说明,当然本发明实施例的网络应用程序还可以是其他可以运行在浏览器中的网络应用程序。其中,HTML5网络应用程序可以运行在支持HTML5的浏览器中。
如图1所示,HTML5网络应用程序通过调用相应的API能够方便快捷地实现与远程服务器上云存储系统或者与终端的本地存储系统的数据上传、下载、管理等操作功能。具体可选的,当HTML5网络应用程序需要与服务器的该HTML5网络应用程序的云存储系统进行交互时,则调用相应的API,通过远程云存储模块与云存储系统进行交互操作,当HTML5网络应用程序需要与该HTML5网络应用程序的本地存储系统进行交互时,则调用相应的API,通过本地存储模块与本地存储系统进行交互。
HTML5网络应用程序的FileSystem API是满足对本地存储系统进行操作的API。即是通过FileSystem API,在浏览器中就可以实现阅读,浏览,编辑和操作该HTML5网络应用程序的本地文件系统。其中,操作包括但不限于:申请文件存储空间、读取文件、移动文件、删除文件以及创建文件等等。
本发明实施例中,当针对网络应用程序进行文件操作时,需要首先确定终端的网络状态,若终端的网络状态为离线状态,则在终端的网络应用程序对应的存储路径下(即该网络应用程序的本地存储系统),对目标文件标识所标识的目标文件执行文件操作指令所指示的目标操作,后续当检测到终端的网络状态为在线状态时,再将执行目标操作之后的目标文件同步至服务器中。这样无论终端的网络状态为离线状态或者在线状态均可以实现对该网络应用程序的文件的操作。
下面将结合附图1-附图8,对本发明实施例提供的文件操作方法及终端进行详细介绍。
请参照图1,为本发明实施例提供的一种文件操作方法的流程图;该方法可包括以下步骤:
S10,在终端的浏览器中加载所述终端缓存的网络应用程序的运行文件,并在所述浏览器中运行所述网络应用程序;
本发明实施例中,在浏览器中运行的网络应用程序可以是HTML5网络应用程序。在终端的本地缓存该网络应用程序的运行文件,可选的,该运行文件可以是该终端历史处于网络在线状态时,浏览器从服务器下载并存储在本地的运行文件,比如HTML,CSS,JavaScript,图片,或者其他类型的运行文件。可选的,该运行文件可以是存储在终端的浏览器的文件夹中某一个存储路径下。
当需要在终端的浏览器中运行该网络应用程序时,不需要安装该网络应用程序的客户端,仅仅需要在终端的浏览器中加载该终端历史缓存的该网络应用程序的运行文件,即可在终端的浏览器中运行该网络应用程序。
S11,获取针对所述网络应用程序的文件操作指令,所述文件操作指令携带目标文件标识;
本发明实施例中,用户在使用该网络应用程序时,可以针对该网络应用程序进行文件操作,比如,文件上传操作、文件下载操作、文件重命名操作、文件删除操作以及文件移动操作等等。终端获取针对网络应用程序的文件操作指令,该文件操作指令中携带需要进行操作的目标文件的目标文件标识。
S12,确定所述终端的当前网络状态;
S13,若所述终端的当前网络状态为离线状态,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
本发明实施例中,终端在获取到针对网络应用程序的文件操作指令时,需要进一步确定该终端的当前网络状态。可选的,终端的当前网络状态包括离线状态或者在线状态。离线状态即是该终端无法连接服务器,则该终端无法实现与服务器的数据交互。在线状态即是该终端可以连接到服务器,则该终端可以实现与服务器之间的数据交互,用户也即可以实现在服务器的云存储系统中对该网络应用程序的文件操作。可选的,在服务器的该网络应用程序的云存储系统中,每个用户可以均对应一个文件夹,用户需要通过身份认证才能实现对云存储系统中该用户对应的文件夹中的文件的操作。
当确定终端的当前网络状态为离线状态,则可以在终端中该网络应用程序对应的存储路径下(即是该网络应用程序的本地存储系统),对目标文件标识所标识的目标文件执行文件操作指令所指示的目标操作。可选的,在终端中该网络应用程序对应的存储路径可以是浏览器的文件夹下的某一个存储路径。
终端对目标操作的结果进行监听,若目标操作成功,会提示给用户文件已经成功操作,比如输出用于指示目标操作整个的提示信息,当后续检测到终端的网络状态为在线状态时,再将进行目标操作的目标文件同步至服务器中。若目标操作不成功,比如由于存储空间不足等原因导致文件缓存失败,终端会提示给用户目标操作失败,比如输出用于指示目标操作失败的提示信息。
可选的,文件操作指令所指示的目标操作为文件上传操作,当终端接收到文件上传的文件操作指令时,调用文件上传API进行文件上传(比如HTML5网络应用程序通过<input type=file>标签获取上传文件,网页中的提交按钮关联文件上传API,当用户点击网页中的提交按钮就能实现文件上传功能)。在本发明实施例中,在文件上传之前,会首先判断终端的网络状态,当终端处于离线状态,调用本地缓存模块对文件进行本地缓存,缓存在该网络应用程序对应的存储路径下,并对文件存储成功与否进行监听并返回结果。待终端处于在线状态时,再与服务器进行数据同步。
可选的,文件操作指令所指示的目标操作为文件下载操作,当终端接收到文件下载的文件操作指令时,调用文件下载API进行文件下载(比如HTML5网络应用程序需要下载远程服务器的文件时,可以使用下载API,方便地达到文件下载的目的)。下载文件只需要获取待下载的目标文件的路径,将目标文件的路径作为参数传递至API,并执行下载API即可下载目标文件。在本发明实施例中,在文件下载之前,会首先判断终端的网络状态,当终端处于离线状态,调用本地下载模块进行下载,具体可选的,解析目标文件的路径,在终端的该网络应用程序对应的存储路径下,根据需要下载的目标文件的文件路径查找该目标文件。若目标文件存在则下载该目标文件,若目标文件如不存在,则返回目标文件不存在的提示信息。
可选的,文件操作指令所指示的目标操作可以为文件管理操作,管理操作包括但不限于文件移动操作、文件删除操作、文件重命名操作以及创建文件操作等等。当终端接收到文件管理的文件操作指令时,通过调用对应的API从而实现对应的目标操作。例如,若目标操作是文件删除操作,则调用删除操作对应的API,若目标操作为重命名操作,则调用重命名操作对应的API。终端在执行目标操作之前,会首先判断终端的网络状态,当终端处于离线状态,则调用本地对应的操作模块进行操作,具体可选的,终端会在终端的该网络应用程序对应的存储路径下查找需要进行操作的目标文件,如果文件存在,则执行相应的目标操作,并返回操作结果,比如输出操作成功的提示信息,或者操作失败的提示信息。如果目标文件不存在,则返回文件不存在的提示信息。
需要说明的是,上述目标操作的种类仅为举例,还可以包括其他文件操作,本发明实施例对此不作限定。
实施本发明实施例,在终端的浏览器中运行网络应用程序,当用户需要对该网络应用程序进行文件操作时,可以对该终端的网络状态进行判断,并且在该终端的网络状态为离线状态时,仍然可以实现对目标文件的目标操作,提高文件操作的便利性。
请参照图2,为本发明实施提供的另一种文件操作方法的流程图;该方法可包括以下步骤:
S20,在终端的浏览器中加载所述终端缓存的网络应用程序的运行文件,并在所述浏览器中运行所述网络应用程序;
S21,获取针对所述网络应用程序的文件操作指令,所述文件操作指令携带目标文件标识;
S22,确定所述终端的当前网络状态;
S23,若所述终端的当前网络状态为离线状态,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
本发明实施例步骤S20~S23请参照图1的实施例步骤S10~S13,在此不再赘述。
S24,当检测到所述终端的网络状态为在线状态时,将执行所述目标操作之后的所述目标文件同步至所述服务器中。
本发明实施例中,在终端的该网络应用程序对应的存储路径下对目标文件进行目标操作后,需要将该进行目标操作后的目标文件同步至服务器中。具体可选的,文件同步方式可以采用给文件添加用于表示最新操作时间的时间戳的方式进行同步,该时间戳用来识别时间增量,服务器的文件和终端本地缓存的文件均设置时间戳。通过对比服务器所设置的时间戳和终端本地所设置的时间戳,来判断文件是否需要同步。同步的方向是在后的时间戳覆盖在前的时间戳。比如当终端所设置的时间戳较新于服务器所设置的时间戳,会自动将本地缓存的文件上传至服务器并覆盖服务器的文件。当服务器所设置的时间戳较新于终端所设置的时间戳,则会自动将服务器的文件下载缓存更新至终端,并覆盖终端的文件。需要说明的是,通常的同步方向是从终端同步至服务器,主要是为了减少占用终端的存储空间。一些必须的运行文件在服务器存在更新时,则需要同步至终端,或者是用户使用频率较高的文件,在服务器进行操作后,需要同步至终端,以方便终端后续离线使用。
可选的,将执行目标操作后的目标文件同步至服务器的方式可以是:终端获取上传文件标识,该上传文件标识包括上述目标文件标识,上传文件标识为第一时间戳在第二时间戳之后的文件标识,或者,所述上传文件标识为服务器中不存在的文件标识,所述第一时间戳为在所述终端的该网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间,所述第二时间戳为在所述服务器的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间。终端将所述上传文件标识所标识的文件上传至所述服务器。
其中,终端获取上传文件标识的方式可以是服务器将该服务器的所述网络应用程序对应的存储路径下所有文件标识以及该文件标识对应的第二时间戳发送至终端,终端比较第一时间戳和第二时间戳,从而确定上传文件标识。或者,终端获取上传文件标识的方式也可以是终端将至少一个文件标识和该文件标识对应的第一时间戳上传至服务器,由服务器确定上传文件标识,最后由服务器将上传文件标识发送至终端。
具体可选的,由服务器确定上传文件标识,并由终端上传目标文件的步骤具体包括以下四个步骤:
步骤一,终端生成同步数据包,该同步数据包包括文件标识以及所述文件标识对应的第一时间戳,所述第一时间戳为在所述终端的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间,所述文件标识包括所述目标文件标识;
步骤二、终端将所述同步数据包发送至所述服务器,以使所述服务器比较所述第一时间戳与第二时间戳,所述第二时间戳为在所述服务器的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间;
步骤三、终端接收反馈信息,所述反馈信息包括上传文件标识,所述上传文件标识为比较结果为所述第一时间戳在所述第二时间戳之后的文件标识,或者,所述上传文件标识为所述服务器中不存在的文件标识,所述上传文件标识包含所述目标文件标识;
步骤四、终端将所述上传文件标识所标识的文件上传至所述服务器。
具体可选的,当终端处于在线状态时,触发同步模块工作,首先同步模块会收集终端存储的网络应用程序的多个文件标识以及该多个文件标识所对应的第一时间戳。将文件标识和第一时间戳存入一个二维数组中,生成一个同步数据包,比如一个文件标识和一个第一时间戳占用二维数组的一元素,二维数组中包括多个文件标识和多个第一时间戳。其中,文件标识可以是文件名。
终端将同步数据包发送到服务器,服务器在接收到同步数据包后,提取同步数据包中的文件标识和第一时间戳,同时服务器对云存储系统中该网络应用程序对应的存储路径中的文件标识和第二时间戳进行匹配。
当同步数据中所包含的文件标识与云存储系统中的文件标识有差异,则需要进行相应的操作。比如云存储系统中的文件标识在同步数据包中找不到相同的文件标识,则表明用户在本地存储系统中已经将文件删除,服务器将删除云存储系统中的对应文件。如果同步数据包中的文件标识在云存储系统中找不到,或者同步数据包中文件标识对应的第一时间戳在云存储系统中文件标识对应的第二时间戳之后,则服务器将向终端返回反馈信息,该反馈信息携带该文件标识。终端在接收到反馈信息后将本地存储系统中对应的文件上传到服务器的云存储系统,服务器将新上传的文件覆盖该文件标识对应的文件,从而达到同步更新的目的。
可选的,同步模块还会判断终端当前连接的互联网类型,对连接稳定的网络并且网速大于预设阈值,例如有线、WIFI等,则以第一预设周期同步操作后的目标文件,第一预设周期较大,即同步频率较小;对连接不稳定的网络并且网速小于预设阈值,例如移动互联网,则以第二预设周期同步操作后的目标文件,第二预设周期较小,即同步频率较大。对于非常慢的网络,如3G,GPRS,则采用后台同步的方式进行同步。
S25,若所述终端的当前网络状态为在线状态,向服务器发送文件操作请求,所述文件操作请求携带所述目标文件标识以及执行文件标识,所述执行文件标识所标识的执行文件被运行时用于执行所述文件操作指令所指示的目标操作;
S26,服务器运行执行文件,并对目标文件进行操作;
S27,服务器向终端返回操作结果信息,所述操作结果信息用于指示在所述服务器的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件的执行结果;
本发明实施例中,当需要对终端的网络应用程序进行文件操作时,若检测到该终端的当前网络状态为在线状态,则可以向服务器发送文件操作请求,该文件操作请求携带预进行操作的目标文件标识以及执行文件标识,执行文件可以是与目标操作对应的JSP文件。服务器运行执行文件,从而实现对云存储系统中该目标文件的操作。
在云存储系统中对目标文件进行操作,与操作本地存储系统中的文件一样,可选实现文件删除操作、文件移动操作、文件重命名操作、文件上传操作以及文件下载操作等等。可选的,服务器的云存储系统提供身份验证、数据隔离、访问控制等安全功能,保证服务器上云存储系统中多用户的隔离访问。用户访问服务器的云存储系统中的文件时,需要先进行身份验证,然后能够像访问本地存储系统一样访问服务器的云存储系统中的数据,进行各种文件操作。
可选的,目标操作包括文件上传操作,终端调用远程上载模块,以表单的形式将上传文件以二进制数据流发送到服务器,表单action属性指定执行服务器上的upload.jsp文件。服务器执行upload.jsp文件,通过upload.jsp文件获得终端发送的输入流,然后从该输入流中读取上传的目标文件,把目标文件保存到指定的位置,完成文件的上传。
进一步可选的,对文件的上传成功与否进行判断,并将操作结果信息返回至终端。终端接收并判断服务器返回的操作结果信息,当接收到上传成功的操作结果信息后,终端会显示文件已经上传成功的提示信息,当终端接收到上传失败的操作结果信息,则调用本地缓存模块,将目标文件保存在终端的本地存储系统中,并返回存储结果。
可选的,目标操作包括文件下载操作,终端调用远程下载模块,向服务器发送下载请求,请求中包含用户需要下载的目标文件的目标标识和需要执行的download.js文件标识。服务器执行download.jsp文件,通过目标文件的路径查找到对应的目标文件,将目标文件以二进制形式输入到输出流中,并向终端发送该输出流,从而执行下载目标文件的动作。文件下载的处理方式是以附件(attachment)方式下载,因此终端会弹出文件保存对话框,等待用户确认,用户确认后,服务器开始向终端发送该输出流。download.jsp文件对文件下载成功与否进行判断,并将操作结果信息返回至终端。终端接收并判断服务器返回的操作结果信息,当文件下载成功,则提示用户文件已经下载成功,若文件下载失败,则调用本地下载模块进行本地查找,并输出结果提示用户。
可选的,目标操作包括文件管理操作,文件管理操作包括文件删除操作、文件移动操作以及文件重命名操作等等。当终端处于在线状态时,终端发送请求到服务器,请求中包含指定执行的JSP文件标识以及需要进行操作的目标文件标识等参数。服务器接收到请求并提取参数,执行对应的jsp文件。服务器上配置了对应的jsp文件,包括文件上传upload.jsp,文件下载download.jsp,文件删除dell.jsp,文件移动move.jsp,文件重命名rename.jsp等JSP文件。服务器将操作结果信息返回至终端。终端接收并判断服务器返回的操作结果信息,当文件操作成功,则提示用户文件已经操作成功,若文件操作失败,则调用本地管理操作模块进行本地查找,并对目标文件进行操作,最后输出结果提示用户。
进一步可选的,系统支持同一个用户使用多个终端同时访问服务器的云存储系统。系统通过加锁、版本控制、冲突消解策略等机制,透明地保证各个终端能够看到一致性的数据。
S28,若所述操作结果信息指示执行失败,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
本发明实施例中,若服务器对目标文件的操作结果信息为执行失败,则可以在终端的该网络应用程序对应的存储路径下(即网络应用程序的本地存储系统),对目标文件标识所标识的目标文件执行目标操作。
S29,当检测到所述终端的网络状态为在线状态时,将执行所述目标操作之后的所述目标文件同步至所述服务器中。
本发明实施例步骤S29请参照步骤S24,在此不再赘述。
实施本发明实施例,在终端的浏览器中运行网络应用程序,当用户需要对该网络应用程序进行文件操作时,可以对该终端的网络状态进行判断,在该终端的网络状态为离线状态时,可以实现对目标文件的目标操作,进一步,在该终端的网络状态为在线状态并且服务器操作失败后,仍然可以通过离线方式实现对目标文件的操作,增强文件操作的可靠性。
请参照图4,为本发明实施例提供的一种文件下载的流程示意图,本发明实施例以目标操作为文件下载作为举例说明:
在终端的浏览器中运行网络应用程序,当用户需要下载文件时,选取文件,并提交。
终端对网络进行判断,若终端的网络状态为在线状态,则通过远程下载模块从服务器中下载文件。服务器调用文件下载JSP文件,进行文件下载,并监听下载结果,服务将操作结果信息反馈至终端,若操作失败,则终端通过本地下载模块进行离线查找,并返回结果信息。
若终端的网络状态为离线状态,则终端通过本地下载模块进行离线查找,并返回结果信息。
请参照图5,为本发明实施例提供的一种文件上传的流程示意图,本发明实施例以目标操作为文件上传作为举例说明:
在终端的浏览器中运行网络应用程序,当用户需要上传文件时,获取待上传的文件,并提交。
终端对网络进行判断,若终端的网络状态为在线状态,通过远程上传模块上传该文件,服务器调用并执行文件上传JSP文件,实现文件上传,并监听结果。服务器将操作结果信息返回至终端,若执行失败,则通过终端的本地缓存模块缓存该文件,并返回结果信息。
若终端的网络状态为离线状态,则通过本地缓存模块缓存该文件,并返回结果信息。
请参照图6,为本发明实施例提供的一种终端的结构示意图,如图所示,本发明实施例的终端包括:
运行模块10,用于在终端的浏览器中加载所述终端缓存的网络应用程序的运行文件,并在所述浏览器中运行所述网络应用程序;
本发明实施例中,在浏览器中运行的网络应用程序可以是HTML5网络应用程序。在终端的本地缓存该网络应用程序的运行文件,可选的,该运行文件可以是该终端历史处于网络在线状态时,浏览器从服务器下载并存储在本地的运行文件,比如HTML,CSS,JavaScript,图片,或者其他类型的运行文件。可选的,该运行文件可以是存储在终端的浏览器的文件夹中某一个存储路径下。
当需要在终端的浏览器中运行该网络应用程序时,不需要安装该网络应用程序的客户端,仅仅需要在终端的浏览器中加载该终端历史缓存的该网络应用程序的运行文件,即可在终端的浏览器中运行该网络应用程序。
获取模块11,用于获取针对所述网络应用程序的文件操作指令,所述文件操作指令携带目标文件标识;
本发明实施例中,用户在使用该网络应用程序时,可以针对该网络应用程序进行文件操作,比如,文件上传操作、文件下载操作、文件重命名操作、文件删除操作以及文件移动操作等等。终端获取针对网络应用程序的文件操作指令,该文件操作指令中携带需要进行操作的目标文件的目标文件标识。
确定模块12,用于确定所述终端的当前网络状态;
操作模块13,用于若所述终端的当前网络状态为离线状态,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
本发明实施例中,终端在获取到针对网络应用程序的文件操作指令时,需要进一步确定该终端的当前网络状态。可选的,终端的当前网络状态包括离线状态或者在线状态。离线状态即是该终端无法连接服务器,则该终端无法实现与服务器的数据交互。在线状态即是该终端可以连接到服务器,则该终端可以实现与服务器之间的数据交互,用户也即可以实现在服务器的云存储系统中对该网络应用程序的文件操作。可选的,在服务器的该网络应用程序的云存储系统中,每个用户可以均对应一个文件夹,用户需要通过身份认证才能实现对云存储系统中该用户对应的文件夹中的文件的操作。
当确定终端的当前网络状态为离线状态,则可以在终端中该网络应用程序对应的存储路径下(即是该网络应用程序的本地存储系统),对目标文件标识所标识的目标文件执行文件操作指令所指示的目标操作。可选的,在终端中该网络应用程序对应的存储路径可以是浏览器的文件夹下的某一个存储路径。
终端对目标操作的结果进行监听,若目标操作成功,会提示给用户文件已经成功操作,比如输出用于指示目标操作整个的提示信息,当后续检测到终端的网络状态为在线状态时,再将进行目标操作的目标文件同步至服务器中。若目标操作不成功,比如由于存储空间不足等原因导致文件缓存失败,终端会提示给用户目标操作失败,比如输出用于指示目标操作失败的提示信息。
可选的,文件操作指令所指示的目标操作为文件上传操作,当终端接收到文件上传的文件操作指令时,调用文件上传API进行文件上传(比如HTML5网络应用程序通过<input type=file>标签获取上传文件,网页中的提交按钮关联文件上传API,当用户点击网页中的提交按钮就能实现文件上传功能)。在本发明实施例中,在文件上传之前,会首先判断终端的网络状态,当终端处于离线状态,调用本地缓存模块对文件进行本地缓存,缓存在该网络应用程序对应的存储路径下,并对文件存储成功与否进行监听并返回结果。待终端处于在线状态时,再与服务器进行数据同步。
可选的,文件操作指令所指示的目标操作为文件下载操作,当终端接收到文件下载的文件操作指令时,调用文件下载API进行文件下载(比如HTML5网络应用程序需要下载远程服务器的文件时,可以使用下载API,方便地达到文件下载的目的)。下载文件只需要获取待下载的目标文件的路径,将目标文件的路径作为参数传递至API,并执行下载API即可下载目标文件。在本发明实施例中,在文件下载之前,会首先判断终端的网络状态,当终端处于离线状态,调用本地下载模块进行下载,具体可选的,解析目标文件的路径,在终端的该网络应用程序对应的存储路径下,根据需要下载的目标文件的文件路径查找该目标文件。若目标文件存在则下载该目标文件,若目标文件如不存在,则返回目标文件不存在的提示信息。
可选的,文件操作指令所指示的目标操作可以为文件管理操作,管理操作包括但不限于文件移动操作、文件删除操作、文件重命名操作以及创建文件操作等等。当终端接收到文件管理的文件操作指令时,通过调用对应的API从而实现对应的目标操作。例如,若目标操作是文件删除操作,则调用删除操作对应的API,若目标操作为重命名操作,则调用重命名操作对应的API。终端在执行目标操作之前,会首先判断终端的网络状态,当终端处于离线状态,则调用本地对应的操作模块进行操作,具体可选的,终端会在终端的该网络应用程序对应的存储路径下查找需要进行操作的目标文件,如果文件存在,则执行相应的目标操作,并返回操作结果,比如输出操作成功的提示信息,或者操作失败的提示信息。如果目标文件不存在,则返回文件不存在的提示信息。
需要说明的是,上述目标操作的种类仅为举例,还可以包括其他文件操作,本发明实施例对此不作限定。
进一步可选的,本发明实施例的终端还可以包括:
发送模块14,用于若所述终端的当前网络状态为在线状态,向服务器发送文件操作请求,所述文件操作请求携带所述目标文件标识以及执行文件标识,所述执行文件标识所标识的执行文件被运行时用于执行所述文件操作指令所指示的目标操作;
接收模块15,用于接收所述服务器发送的操作结果信息,所述操作结果信息用于指示在所述服务器的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件的执行结果;
可选的,所示操作模块13还用于若所述操作结果信息指示执行失败,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
本发明实施例中,当需要对终端的网络应用程序进行文件操作时,若检测到该终端的当前网络状态为在线状态,则可以向服务器发送文件操作请求,该文件操作请求携带预进行操作的目标文件标识以及执行文件标识,执行文件可以是与目标操作对应的JSP文件。服务器运行执行文件,从而实现对云存储系统中该目标文件的操作。
在云存储系统中对目标文件进行操作,与操作本地存储系统中的文件一样,可选实现文件删除操作、文件移动操作、文件重命名操作、文件上传操作以及文件下载操作等等。可选的,服务器的云存储系统提供身份验证、数据隔离、访问控制等安全功能,保证服务器上云存储系统中多用户的隔离访问。用户访问服务器的云存储系统中的文件时,需要先进行身份验证,然后能够像访问本地存储系统一样访问服务器的云存储系统中的数据,进行各种文件操作。
可选的,目标操作包括文件上传操作,终端调用远程上载模块,以表单的形式将上传文件以二进制数据流发送到服务器,表单action属性指定执行服务器上的upload.jsp文件。服务器执行upload.jsp文件,通过upload.jsp文件获得终端发送的输入流,然后从该输入流中读取上传的目标文件,把目标文件保存到指定的位置,完成文件的上传。
进一步可选的,对文件的上传成功与否进行判断,并将操作结果信息返回至终端。终端接收并判断服务器返回的操作结果信息,当接收到上传成功的操作结果信息后,终端会显示文件已经上传成功的提示信息,当终端接收到上传失败的操作结果信息,则调用本地缓存模块,将目标文件保存在终端的本地存储系统中,并返回存储结果。
可选的,目标操作包括文件下载操作,终端调用远程下载模块,向服务器发送下载请求,请求中包含用户需要下载的目标文件的目标标识和需要执行的download.js文件标识。服务器执行download.jsp文件,通过目标文件的路径查找到对应的目标文件,将目标文件以二进制形式输入到输出流中,并向终端发送该输出流,从而执行下载目标文件的动作。文件下载的处理方式是以附件(attachment)方式下载,因此终端会弹出文件保存对话框,等待用户确认,用户确认后,服务器开始向终端发送该输出流。download.jsp文件对文件下载成功与否进行判断,并将操作结果信息返回至终端。终端接收并判断服务器返回的操作结果信息,当文件下载成功,则提示用户文件已经下载成功,若文件下载失败,则调用本地下载模块进行本地查找,并输出结果提示用户。
可选的,目标操作包括文件管理操作,文件管理操作包括文件删除操作、文件移动操作以及文件重命名操作等等。当终端处于在线状态时,终端发送请求到服务器,请求中包含指定执行的JSP文件标识以及需要进行操作的目标文件标识等参数。服务器接收到请求并提取参数,执行对应的jsp文件。服务器上配置了对应的jsp文件,包括文件上传upload.jsp,文件下载download.jsp,文件删除dell.jsp,文件移动move.jsp,文件重命名rename.jsp等JSP文件。服务器将操作结果信息返回至终端。终端接收并判断服务器返回的操作结果信息,当文件操作成功,则提示用户文件已经操作成功,若文件操作失败,则调用本地管理操作模块进行本地查找,并对目标文件进行操作,最后输出结果提示用户。
进一步可选的,系统支持同一个用户使用多个终端同时访问服务器的云存储系统。系统通过加锁、版本控制、冲突消解策略等机制,透明地保证各个终端能够看到一致性的数据。
进一步可选的,本发明实施例的终端还可以包括同步模块16;
同步模块16,用于当检测到所述终端的网络状态为在线状态时,将执行所述目标操作之后的所述目标文件同步至所述服务器中。
本发明实施例中,在终端的该网络应用程序对应的存储路径下对目标文件进行目标操作后,需要将该进行目标操作后的目标文件同步至服务器中。具体可选的,文件同步方式可以采用给文件添加用于表示最新操作时间的时间戳的方式进行同步,该时间戳用来识别时间增量,服务器的文件和终端本地缓存的文件均设置时间戳。通过对比服务器所设置的时间戳和终端本地所设置的时间戳,来判断文件是否需要同步。同步的方向是在后的时间戳覆盖在前的时间戳。比如当终端所设置的时间戳较新于服务器所设置的时间戳,会自动将本地缓存的文件上传至服务器并覆盖服务器的文件。当服务器所设置的时间戳较新于终端所设置的时间戳,则会自动将服务器的文件下载缓存更新至终端,并覆盖终端的文件。需要说明的是,通常的同步方向是从终端同步至服务器,主要是为了减少占用终端的存储空间。一些必须的运行文件在服务器存在更新时,则需要同步至终端,或者是用户使用频率较高的文件,在服务器进行操作后,需要同步至终端,以方便终端后续离线使用。
可选的,如图7所示,本发明实施例的同步模块16可以包括:
获取单元160,用于获取上传文件标识,所述上传文件标识包括所述目标文件标识,所述上传文件标识为第一时间戳在第二时间戳之后的文件标识,或者,所述上传文件标识为所述服务器中不存在的文件标识,所述第一时间戳为在所述终端的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间,所述第二时间戳为在所述服务器的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间;
上传单元161,用于将所述上传文件标识所标识的文件上传至所述服务器。
可选的,所述获取单元160具体用于:
生成同步数据包,所述同步数据包包括至少一个文件标识和所述文件标识对应的第一时间戳,所述文件标识包括所述目标文件标识;
将所述同步数据包发送至所述服务器,以使所述服务器根据所述至少一个文件标识和所述文件标识对应的所述第一时间戳确定上传文件标识;
接收反馈信息,所述反馈信息包括所述上传文件标识。
可选的,所述同步模块16具体用于:
若所述终端的网速大于预设阈值,则以第一预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
若所述终端的网速小于所述预设阈值,则以第二预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
所述第一预设周期大于所述第二预设周期。
可选的,所述目标操作包括以下操作中的至少一种:文件下载操作、文件上传操作、文件删除操作、文件重命名操作以及文件移动操作。
实施本发明实施例,在终端的浏览器中运行网络应用程序,当用户需要对该网络应用程序进行文件操作时,可以对该终端的网络状态进行判断,并且在该终端的网络状态为离线状态时,仍然可以实现对目标文件的目标操作,提高文件操作的便利性。
请参照图8,为本发明实施例提供了另一种终端的结构示意图。如图8所示,所述终端1000可以包括:至少一个处理器1001,例如CPU,至少一个通信接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户可以通过调用用户接口1003实现与终端的通信,可选用户接口1003可以包括标准的有线接口、无线接口。通信接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及程序指令。
在图8所示的终端1000中,处理器1001可以用于加载存储器1005中存储的程序指令,并具体执行以下操作:
在终端的浏览器中加载所述终端缓存的网络应用程序的运行文件,并在所述浏览器中运行所述网络应用程序;
通过所述用户接口获取针对所述网络应用程序的文件操作指令,所述文件操作指令携带目标文件标识;
确定所述终端的当前网络状态;
若所述终端的当前网络状态为离线状态,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
可选的,所述终端还包括:
通信接口,用于与外部设备进行通信;
所述处理器加载所述程序指令还执行以下操作:
若所述终端的当前网络状态为在线状态,通过所述通信接口向服务器发送文件操作请求,所述文件操作请求携带所述目标文件标识以及执行文件标识,所述执行文件标识所标识的执行文件被运行时用于执行所述文件操作指令所指示的目标操作;
通过所述通信接口接收所述服务器发送的操作结果信息,所述操作结果信息用于指示在所述服务器的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件的执行结果;
若所述操作结果信息指示执行失败,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
可选的,所述处理器加载所述程序指令还执行以下操作:
当检测到所述终端的网络状态为在线状态时,将执行所述目标操作之后的所述目标文件同步至所述服务器中。
可选的,所述处理器加载所述程序指令还执行以下操作以将执行所述目标操作之后的所述目标文件同步至所述服务器中:
获取上传文件标识,所述上传文件标识包括所述目标文件标识,所述上传文件标识为第一时间戳在第二时间戳之后的文件标识,或者,所述上传文件标识为所述服务器中不存在的文件标识,所述第一时间戳为在所述终端的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间,所述第二时间戳为在所述服务器的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间;
通过所述通信接口将所述上传文件标识所标识的文件上传至所述服务器。
所述处理器加载所述程序指令还执行以下操作以获取上传文件标识:
生成同步数据包,所述同步数据包包括至少一个文件标识和所述文件标识对应的第一时间戳,所述文件标识包括所述目标文件标识;
通过所述通信接口将所述同步数据包发送至所述服务器,以使所述服务器根据所述至少一个文件标识和所述文件标识对应的所述第一时间戳确定上传文件标识;
通过所述通信接口接收反馈信息,所述反馈信息包括所述上传文件标识。
可选的,所述处理器加载所述程序指令还执行以下操作以将执行所述目标操作之后的所述目标文件同步至所述服务器中:
若所述终端的网速大于预设阈值,则通过所述通信接口以第一预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
若所述终端的网速小于所述预设阈值,则通过所述通信接口以第二预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
所述第一预设周期大于所述第二预设周期。
可选的,所述目标操作包括以下操作中的至少一种:文件下载操作、文件上传操作、文件删除操作、文件重命名操作以及文件移动操作。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (13)
1.一种文件操作方法,其特征在于,包括:
在终端的浏览器中加载所述终端缓存的网络应用程序的运行文件,并在所述浏览器中运行所述网络应用程序;
获取针对所述网络应用程序的文件操作指令,所述文件操作指令携带目标文件标识;
确定所述终端的当前网络状态;
若所述终端的当前网络状态为离线状态,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作;
若所述终端的当前网络状态为在线状态,向服务器发送文件操作请求,所述文件操作请求携带所述目标文件标识以及执行文件标识,所述执行文件标识所标识的执行文件被运行时用于执行所述文件操作指令所指示的目标操作;
接收所述服务器发送的操作结果信息,所述操作结果信息用于指示在所述服务器的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件的执行结果;
若所述操作结果信息指示执行失败,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
2.如权利要求1所述的方法,其特征在于,所述在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作之后,还包括:
当检测到所述终端的网络状态为在线状态时,将执行所述目标操作之后的所述目标文件同步至所述服务器中。
3.如权利要求2所述的方法,其特征在于,所述将执行所述目标操作之后的所述目标文件同步至所述服务器中,包括:
获取上传文件标识,所述上传文件标识包括所述目标文件标识,所述上传文件标识为第一时间戳在第二时间戳之后的文件标识,或者,所述上传文件标识为所述服务器中不存在的文件标识,所述第一时间戳为在所述终端的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间,所述第二时间戳为在所述服务器的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间;
将所述上传文件标识所标识的文件上传至所述服务器。
4.如权利要求3所述的方法,其特征在于,所述获取上传文件标识,包括:
生成同步数据包,所述同步数据包包括至少一个文件标识和所述文件标识对应的所述第一时间戳,所述文件标识包括所述目标文件标识;
将所述同步数据包发送至所述服务器,以使所述服务器根据所述至少一个文件标识和所述文件标识对应的所述第一时间戳确定上传文件标识;
接收反馈信息,所述反馈信息包括所述上传文件标识。
5.如权利要求2所述的方法,其特征在于,所述将执行所述目标操作之后的所述目标文件同步至所述服务器中,包括:
若所述终端的网速大于预设阈值,则以第一预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
若所述终端的网速小于所述预设阈值,则以第二预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
所述第一预设周期大于所述第二预设周期。
6.如权利要求1所述的方法,其特征在于,所述目标操作包括以下操作中的至少一种:文件下载操作、文件上传操作、文件删除操作、文件重命名操作以及文件移动操作。
7.一种终端,其特征在于,所述终端包括:
用户接口,用于与用户进行交互;
存储介质,存储有程序指令,所述程序指令适于由处理器加载;
处理器,用于加载所述程序指令并执行以下操作:
在终端的浏览器中加载所述终端缓存的网络应用程序的运行文件,并在所述浏览器中运行所述网络应用程序;
通过所述用户接口获取针对所述网络应用程序的文件操作指令,所述文件操作指令携带目标文件标识;
确定所述终端的当前网络状态;
若所述终端的当前网络状态为离线状态,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作;
通信接口,用于与外部设备进行通信;
所述处理器加载所述程序指令还执行以下操作:
若所述终端的当前网络状态为在线状态,通过所述通信接口向服务器发送文件操作请求,所述文件操作请求携带所述目标文件标识以及执行文件标识,所述执行文件标识所标识的执行文件被运行时用于执行所述文件操作指令所指示的目标操作;
通过所述通信接口接收所述服务器发送的操作结果信息,所述操作结果信息用于指示在所述服务器的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件的执行结果;
若所述操作结果信息指示执行失败,在所述终端的所述网络应用程序对应的存储路径下,对所述目标文件标识所标识的目标文件执行所述文件操作指令所指示的目标操作。
8.如权利要求7所述的终端,所述处理器加载所述程序指令还执行以下操作:
当检测到所述终端的网络状态为在线状态时,将执行所述目标操作之后的所述目标文件同步至所述服务器中。
9.如权利要求8所述的终端,其特征在于,还包括:
通信接口,用于与外部设备进行通信;
所述处理器加载所述程序指令还执行以下操作以将执行所述目标操作之后的所述目标文件同步至所述服务器中:
获取上传文件标识,所述上传文件标识包括所述目标文件标识,所述上传文件标识为第一时间戳在第二时间戳之后的文件标识,或者,所述上传文件标识为所述服务器中不存在的文件标识,所述第一时间戳为在所述终端的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间,所述第二时间戳为在所述服务器的所述网络应用程序对应的存储路径下对所述文件标识所标识的文件进行操作的最新操作时间;
通过所述通信接口将所述上传文件标识所标识的文件上传至所述服务器。
10.如权利要求9所述的终端,其特征在于,所述处理器加载所述程序指令还执行以下操作以获取上传文件标识:
生成同步数据包,所述同步数据包包括至少一个文件标识和所述文件标识对应的第一时间戳,所述文件标识包括所述目标文件标识;
通过所述通信接口将所述同步数据包发送至所述服务器,以使所述服务器根据所述至少一个文件标识和所述文件标识对应的所述第一时间戳确定上传文件标识;
通过所述通信接口接收反馈信息,所述反馈信息包括所述上传文件标识。
11.如权利要求8所述的终端,其特征在于,还包括:
通信接口,用于与外部设备进行通信;
所述处理器加载所述程序指令还执行以下操作以将执行所述目标操作之后的所述目标文件同步至所述服务器中:
若所述终端的网速大于预设阈值,则通过所述通信接口以第一预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
若所述终端的网速小于所述预设阈值,则通过所述通信接口以第二预设周期将执行所述目标操作之后的所述目标文件同步至所述服务器中;
所述第一预设周期大于所述第二预设周期。
12.如权利要求7所述的终端,其特征在于,所述目标操作包括以下操作中的至少一种:文件下载操作、文件上传操作、文件删除操作、文件重命名操作以及文件移动操作。
13.一种存储介质,其特征在于,所述存储介质中存储有多条程序指令,所述程序指令适于由处理器加载并执行如权利要求1-6中任一项所述的文件操作方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710636495.0A CN107463657B (zh) | 2017-07-28 | 2017-07-28 | 文件操作方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710636495.0A CN107463657B (zh) | 2017-07-28 | 2017-07-28 | 文件操作方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107463657A CN107463657A (zh) | 2017-12-12 |
CN107463657B true CN107463657B (zh) | 2018-08-17 |
Family
ID=60547859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710636495.0A Active CN107463657B (zh) | 2017-07-28 | 2017-07-28 | 文件操作方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107463657B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325013B (zh) * | 2018-07-11 | 2022-07-08 | 中国银联股份有限公司 | 一种分布式系统的数据管理方法及装置 |
CN112711571A (zh) * | 2019-10-25 | 2021-04-27 | 京东方科技集团股份有限公司 | 文件同步方法及装置 |
CN111723062A (zh) * | 2020-06-28 | 2020-09-29 | 天津联想协同科技有限公司 | 一种文件同步方法、装置及存储介质 |
CN112188476B (zh) * | 2020-09-09 | 2023-04-28 | 芯象半导体科技(北京)有限公司 | 通信方法、通信装置、移动终端和存储介质 |
CN115037659B (zh) * | 2021-02-24 | 2023-07-25 | 博泰车联网科技(上海)股份有限公司 | 一种控制汽车的方法及装置 |
CN117454856B (zh) * | 2023-12-22 | 2024-04-16 | 达州爱迦飞诗特科技有限公司 | 基于线上点对点模式的医疗诊断数据编辑方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003058372A2 (en) * | 2002-01-07 | 2003-07-17 | Flash Networks Ltd. | A system and a method for accelerating communication between client and an email server |
CN101388911A (zh) * | 2008-11-07 | 2009-03-18 | 用友软件股份有限公司 | 网络应用程序离线数据采集方法 |
CN103108035A (zh) * | 2013-01-17 | 2013-05-15 | 深圳市中兴移动通信有限公司 | 一种基于webos的应用本地化方法及装置 |
CN103177003A (zh) * | 2011-12-21 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 浏览器指令处理方法及浏览器 |
CN106933623A (zh) * | 2017-02-22 | 2017-07-07 | 广州大学 | 免安装应用的运行方法、装置及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2005200362A1 (en) * | 2005-01-28 | 2006-08-17 | Opdicom Pty Ltd | Virtual file system |
US20060242204A1 (en) * | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Sync manager conflict resolution |
CN100558086C (zh) * | 2007-06-01 | 2009-11-04 | 腾讯科技(深圳)有限公司 | 一种离线文件的发送、接收、传输方法及系统 |
CN102355426B (zh) * | 2011-06-30 | 2015-01-14 | 北京神州泰岳软件股份有限公司 | 实现离线文件传输的方法和系统 |
-
2017
- 2017-07-28 CN CN201710636495.0A patent/CN107463657B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003058372A2 (en) * | 2002-01-07 | 2003-07-17 | Flash Networks Ltd. | A system and a method for accelerating communication between client and an email server |
CN101388911A (zh) * | 2008-11-07 | 2009-03-18 | 用友软件股份有限公司 | 网络应用程序离线数据采集方法 |
CN103177003A (zh) * | 2011-12-21 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 浏览器指令处理方法及浏览器 |
CN103108035A (zh) * | 2013-01-17 | 2013-05-15 | 深圳市中兴移动通信有限公司 | 一种基于webos的应用本地化方法及装置 |
CN106933623A (zh) * | 2017-02-22 | 2017-07-07 | 广州大学 | 免安装应用的运行方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107463657A (zh) | 2017-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107463657B (zh) | 文件操作方法及终端 | |
US11070648B2 (en) | Offline client replay and sync | |
CN105045887B (zh) | 混合模式跨域数据交互的系统及其方法 | |
KR102294326B1 (ko) | 연결 해제의 기간을 위한 애플리케이션 데이터의 프리페치 | |
CN109446457A (zh) | 页面数据的更新方法、终端设备及介质 | |
US20060294396A1 (en) | Multiplatform synchronized data access from mobile devices of dynamically aggregated content | |
CN108132814A (zh) | 应用程序的页面加载方法、装置、计算机设备和存储介质 | |
CN106302445B (zh) | 用于处理请求的方法和装置 | |
CN105446750B (zh) | WebApp启动运行、生成镜像文件的方法和装置 | |
CN105095280A (zh) | 一种浏览器缓存方法和装置 | |
CN103699635B (zh) | 信息处理方法和装置 | |
US8676880B2 (en) | Server apparatus, communication apparatus, and method for generating navigation information | |
CN110096660A (zh) | 用于加载页面图片的方法、装置和电子设备 | |
CN101459571B (zh) | 一种网站镜像的方法、系统及装置 | |
CN102323937A (zh) | 一种提供搜索结果的方法与设备 | |
CN103116645A (zh) | 移动设备浏览网页的方法及装置 | |
CN110365724A (zh) | 任务处理方法、装置及电子设备 | |
CN104834534A (zh) | 扩展应用程序功能的方法、装置及系统 | |
CN104615597B (zh) | 浏览器中清除缓存文件的方法、装置和系统 | |
WO2013170801A1 (zh) | 设备管理方法及装置 | |
CN105282238B (zh) | 一种资源管理方法 | |
US9998559B2 (en) | Preemptive caching of data | |
US10846356B2 (en) | Scalable whittled proxy execution for low-latency web over cellular networks | |
CN110245307A (zh) | 页面缓存管理方法及系统、终端设备及存储介质 | |
CN114745146B (zh) | 跳转拦截方法、装置、可读存储介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |