云端文件处理方法和装置与流程

文档序号:11156732阅读:889来源:国知局
云端文件处理方法和装置与制造工艺

本申请涉及数据处理技术领域,特别涉及一种云端文件处理方法和装置。



背景技术:

云端存储是一种利用集群应用、网格技术或分布式文件系统等功能,将网络中大量不同类型的存储设备通过应用程序集合在一起,实现共同对外提供数据存储和业务访问功能的新兴技术,具有广泛的应用前景。

现有技术中,云端系统一般包括客户端、管理大量存储设备的云端服务器以及连接客户端和云端服务器的网络。当前,用户通过客户端从云端服务器获取所需数据,包括如下步骤:

S1、客户端通过网络读取位于云端服务器内的目标文件;

S2、客户端将从云端服务器读取到的目标文件的相关数据,实时缓存至本地,以供用户查阅。

该现有技术中,客户端缓存目标文件的相关数据来供用户查阅,而这些数据是客户端通过网络从云端服务器读取而来,若网络传输发生时延等影响传输稳定性的问题时,客户端从云端服务器读取数据的效率则会降低,导致客户端无法及时提供目标文件的相关数据供用户查阅。



技术实现要素:

本申请实施例的目的是提供一种云端文件的处理方法和装置,使得客户端能够及时提供目标文件的相关数据给用户查阅。

为解决上述技术问题,本申请实施例提供一种云端文件的处理方法,其包括:

在客户端从云端服务器读取被划分为若干数据包的目标文件时,获取所述 客户端所读取到的数据包在所述目标文件的位置以作为读取位置,获取所述目标文件中不在所述读取位置的数据包的状态以作为周边状态,所述周边状态包括已读取状态和未读取状态;

在所述读取位置和周边状态符合预设条件时,控制所述客户端发送数据预取请求至所述云端服务器,所述数据预取请求用于请求从所述云端服务器读取所述目标文件内预设数量的、周边状态为未读取状态的数据包。

为解决上述技术问题,本申请实施例提供一种云端文件的处理装置,其包括:

获取模块,用于在客户端从云端服务器读取被划分为若干数据包的目标文件时,获取所述客户端所读取到的数据包在所述目标文件的位置以作为读取位置,获取所述目标文件中不在所述读取位置的数据包的状态以作为周边状态,所述周边状态包括已读取状态和未读取状态;

发送模块,用于在所述读取位置和周边状态符合预设条件时,控制所述客户端发送数据预取请求至所述云端服务器,所述数据预取请求用于请求从所述云端服务器读取所述目标文件内预设数量的、周边状态为未读取状态的数据包。

由以上本申请实施例提供的技术方案可见,本申请实施例所提供的云端文件处理方法和装置,在客户端对云端服务器内目标文件的读取操作符合预设条件时,预先从云端服务器取得预设数量的数据包,即使客户端与云端服务器之间网络传输发生时延,客户端也可以调用预取到的数据包来展示给客户,使得客户端能够及时提供目标文件的相关数据给用户查阅。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例中云端系统的架构示意图。

图2为本申请实施例中云端文件处理方法的流程图。

图3为本申请另一实施例中云端文件处理方法的流程图。

图4为本申请另一实施例中云端文件处理方法的流程图。

图5为本申请实施例中云端文件处理装置的模块图。

具体实施方式

现有技术中的云端文件处理方法和装置,可能存在因网络时延等原因导致的客户端无法及时提供相关数据给用户查阅的问题。本申请实施例提供一种云端文件处理方法和装置,以解决前述问题。

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

图1示出了本文中可以适用的示例性的云端系统的架构示意图。

如图1所示,该系统包括一个或多个云端服务器12、一个或多个客户端13,及用以连接上述云端服务器12和上述客户端13的网络11。上述云端服务器12可以是单个服务器或多个服务器组成的服务器集群。上述客户端13可以是个人计算机、笔记本电脑、无线电话、个人数字助理(PDA)、智能手表、或其他计算机装置和通信装置。

这些服务器和客户端在架构上都包含一些基本组件,如总线、处理装置、存储装置、一个或多个输入/输出装置、和通信接口等。总线可以包括一个或多个导线,用来实现服务器和客户端各组件之间的通信。处理装置可以包括各类型的用来执行指令、处理进程或线程的处理器或微处理器。存储装置可以包括用以存储动态信息的动态存储器,如随机访问存储器(RAM),或用以存储静态信息的静态存储器,如只读存储器(ROM),以及包括磁或光学记录介质与 相应驱动的大容量存储器。输入装置可以是键盘、鼠标、手写笔、触摸屏、声音识别装置、或生物测定装置等。输出装置可以是用以输出信息的显示器、打印机、或扬声器等。通信接口用来使服务器或客户端与其他系统或装置进行通信。通信接口之间可通过有线连接方式、无线连接方式、或光连接方式连接到上述网络中,以使上述客户端、服务器实现相互通信。每个网络11都可以包括局域网(LAN)、广域网(WAN)、内部网、互联网、移动电话网络、虚拟专用网(VPN)、蜂窝式或其它移动通信网络、蓝牙、NFC或其任何组合。服务器和客户端上均包含用来管理系统资源、控制其他程序运行的操作系统软件,以及用来实现特定功能的应用软件或程序指令。

图2为本申请实施例中云端文件处理方法的流程图。该云端文件处理方法的执行主体可以是云端服务器12,也可以是客户端13或者客户端13上的一个应用程序。

本申请实施例中,该云端文件处理方法包括如下步骤:

S20、在客户端从云端服务器读取被划分为若干数据包的目标文件时,获取所述客户端所读取到的数据包在所述目标文件的位置以作为读取位置,获取所述目标文件中不在所述读取位置的数据包的状态以作为周边状态,所述周边状态包括已读取状态和未读取状态。

云端服务器12内存储了大量供用户查询或使用的文件,目标文件用于特指其中被客户端读取的某个文件。例如,客户端13需要读取的是位于云端服务器12内的一个视频文件,目标文件即为该视频文件。

云端服务器12内文件均被分为若干数据包。本申请实施例中,无论云端服务器12内的文件为何种文件类型,均可以基于数据容量对其进行划分。例如,可以将文件划分为容量相同的数据包,此时所得数据包在文件中的位置也是确定的。

以目标文件是一个100MB的视频文件为例,可以将目标文件分为100个容量均为1MB的数据包。每个数据包在该视频文件中的位置也确定,比如视 频文件中第一个1MB的数据包就在视频文件的首位,其他数据包的位置也依次类推。

客户端13从云端服务器12读取目标文件的过程中,会根据网络11的网络带宽来读取该目标文件的数据包。

客户端13每次从云端服务器12读取目标文件的数量作为读取数量,例如,读取数量可以是每次两个数据包,即客户端13每次可以从云端服务器12读取两个数据包。当然,该读取数量与网络带宽等多个因素相关,其可以根据用户需求来调整。

在客户端13从云端服务器12读取数据包时,获取所读取到的数据包在目标文件中的位置,并将该位置作为读取位置。

若客户端13从云端服务器12所读取到的数据包的数量不止一个,可以将这些数据包组成一个整体,根据需要选择其中一个数据包的位置作为读取位置。

读取位置体现了客户端13对于目标文件的读取进度,例如客户端13是第一次读取该目标文件,则此时的读取位置一般位于目标文件的首位。

在确定读取位置后,获取目标文件中不在读取位置的数据包的状态,并将该状态作为周边状态。

目标文件中不在读取位置的数据包的周边状态可以是已读取状态,也可以是未读取状态。其中,已读取状态即表明客户端13已经从云端服务器12读取过该数据包,反之,未读取状态即表明客户端13还未从云端服务器12读取过该数据包。

周边状态体现了客户端13对于目标文件的读取历史,例如不在读取位置上的数据包的周边状态均未读取状态,则表明该目标文件是首次被读取。

S40、在读取位置和周边状态符合预设条件时,控制客户端13发送数据预取请求至云端服务器12,数据预取请求用于请求从云端服务器读取目标文件内预设数量的、周边状态为未读取状态的数据包。

本申请实施例中,预设条件包括:读取位置是目标文件的首位;所有数据包的周边状态是未读取状态。

在客户端13对于目标文件的读取位置和相关数据包的周边状态均符合该预设条件,表明客户端13是首次读取该目标文件,并且是从该目标文件开头读取,可以认为客户端13对于目标文件的读取为顺序读取。

数据预取请求用于请求从云端服务器12读取目标文件内预设数量的、周边状态为未读取状态的数据包,在读取位置和周边状态均符合预设条件时,客户端13发送该数据预取请求至云端服务器。

其中,预设数量可以是一个确定的静态值,也可以是一个根据数据包读取状态进行调整的动态值。

本申请实施例中,在读取位置和周边状态均符合预设条件时,获取客户端13每次从云端服务器12读取数据包的读取数量,可以将该读取数量的两倍作为预设数量。

当然,预设数量还可以选择以读取数量的三倍或其他倍数,在此不做赘述。

本申请实施例中,预设条件还可以包括:所述读取位置不是所述目标文件的首位;位于所述读取位置之前所有的数据包的周边状态是已读取状态。

在客户端13对于目标文件的读取位置和相关数据包的周边状态均符合该预设条件,表明客户端13并非首次读取该目标文件。由于客户端13对于目标文件的读取是会沿数据包的顺序依次读取,且仅会读取周边状态为未读取状态的数据包,则位于读取位置之后的数据包的周边状态均是未读取状态,而位于所述读取位置之前所有的数据包的周边状态是已读取状态,表明该读取位置即是在客户端对目标文件之前一次读取操作所结束的位置。可以认为客户端13对于目标文件的读取是接续读取。

在读取位置和周边状态均符合本申请实施例中的预设条件时,客户端13发送该数据预取请求至云端服务器,该数据预取请求同样用于请求从云端服务器12读取目标文件内预设数量的、周边状态为未读取状态的数据包。

其中,可以将之前一个数据预取请求中预取数据包的数量的两倍作为预设数量。

本申请实施例中,预设条件还可以包括:读取位置不是目标文件的首位;位于读取位置之前的部分数量的数据包的周边状态是已读取状态。

本申请实施例中,目标文件是多流类型文件,例如是包含音频数据流和视频数据流的电影文件。该类型目标文件的划分一般是将音频数据流分为若干音频数据包,视频数据流分为若干视频数据包,将一种数据包直接置于另一种数据包之后即可。而读取该类型文件的过程中,一般是先读取若干音频数据包,再读取若干视频数据包,然后,再返回读取若干音频数据包。如此交错读取,使得客户端内可以同时提供音频数据包和视频数据包给用户查阅。

在读取位置和周边状态符合该预设条件时,则表明客户端13在读取多流类型文件,且是已读取一种类型数据包后,首次读取另一种类型的数据包。可以认为客户端13对于目标文件的读取是多流顺序读取。

其中,可以将位于读取位置之前的周边状态是已读取状态的数据包的数量作为预设数量。

本申请实施例所提供的云端文件处理方法和装置,通过定义不同的预设条件,从而界定出客户端13对于目标文件的三种读取方式:顺序读取、接续读取以及多流顺序读取。在这些读取模式下,预先从云端服务器取得预设数量的数据包,即使客户端与云端服务器之间网络传输发生时延,客户端也可以调用预取到的数据包来展示给客户,使得客户端能够及时提供目标文件的相关数据给用户查阅。而除了上述三种读取模式下,并不对云端服务器发送数据预取请求,降低资源浪费。

由于前述三种读取模式下,用户对于目标文件的读取意愿强烈,此时向云端服务器10预取部分数据包,在客户端后续真正发起数据读取请求时,只需将预取的数据包提供给用户查阅即可。并且,根据不同的读取模式,设定了不同的预设数量,实现根据用户对于目标文件的读取意愿强烈程度来调整预取数 据包的数量,提高了用户体验。

结合图3所示,本申请的其他实施例所提供的云端文件处理方法,与前述实施例相比,区别在于:该方法还包括位于步骤S20之前的如下步骤:

S10、建立数据包信息库,数据包信息库包括目标文件内数据包的状态信息以及所述数据包被以预设顺序排序后的位置信息。

云端服务器12内的文件被划分为若干数据包后,每个数据包的状态信息和位置信息均与该目标文件关联起来,共同存至数据包信息库内。

后续执行步骤S20的过程中,可以通过查询该目标文件的数据包信息库快速获得所需数据包的位置和状态。

本申请实施例中,每个目标文件可以设置一个单独的数据包信息库。优选的,数据包信息库可以通过基数树的方式来实现,将数据包置于基数树的树杈之上,实现较快的获得所需查询的数据包的位置和状态。

并且,数据包信息库监控这些数据包的状态信息,随着云端文件处理方法的进程,对于状态有改变的数据包,数据包信息库则将其状态信息也作调整。例如一个数据包被读取后,则将其状态信息由为读取状态调整为已读取状态。

结合图4所示,本申请的其他实施例所提供的云端文件处理方法,与前述实施例相比,区别在于:该方法还包括位于步骤S40之后的如下步骤:

S50、控制客户端13从云端服务器12读取所预取到的数据包并将预取到的数据包缓存在本地。

本申请实施例中,客户端13从云端服务器12读取数据包和预取数据包分别位于不同的下载进程,二者并不干涉。

优选的,客户端13将预取到的数据包按照被访问时刻进行排序。例如,可以将本地的数据包形成一个数据包队列,将被访问时刻较早的数据包放置于数据包队列的末端,将被访问时刻较近的数据包放置于数据包队列的前端。

当然,还可以在数据包被访问时刻早于预设时刻时,将该数据包从本地清除,以节约本地存储空间。

图5为本申请实施例中云端文件处理装置的模块图。由于该装置是基于以上处理方法,故该装置的具体细节可参照以上建立方法,本文不再予以赘述。

本申请实施例中,云端文件处理装置包括:

获取模块20,用于在客户端从云端服务器读取被划分为若干数据包的目标文件时,获取所述客户端所读取到的数据包在所述目标文件的位置以作为读取位置,获取所述目标文件中不在所述读取位置的数据包的状态以作为周边状态,所述周边状态包括已读取状态和未读取状态;

发送模块40,用于在所述读取位置和周边状态符合预设条件时,控制所述客户端发送数据预取请求至所述云端服务器,所述数据预取请求用于请求从所述云端服务器读取所述目标文件内预设数量的、周边状态为未读取状态的数据包。

本申请实施例中,所述目标文件分为容量相同的若干数据包。

本申请实施例中,所述装置还包括建库模块,具体用于:

建立数据包信息库,数据包信息库包括所述目标文件内数据包的状态信息以及所述数据包被以预设顺序排序后的位置信息;

所述获取模块20,具体用于:

根据所述数据包信息库中位置信息得到所述客户端所读取到的数据包在所述目标文件的位置;

根据所述数据包信息库中状态信息得到所述目标文件中不在所述读取位置的数据包的状态。

本申请实施例中,所述预设条件包括:

所述读取位置是所述目标文件的首位;

所有数据包的周边状态是未读取状态。

本申请实施例中,获取客户端每次从所述云端服务器读取所述目标文件内数据包的数量以作为读取数量,将所述读取数量的两倍作为所述预设数量。

本申请实施例中,所述预设条件包括:

所述读取位置不是所述目标文件的首位;

位于所述读取位置之前所有的数据包的周边状态是已读取状态。

本申请实施例中,将之前一个数据预取请求中预取数据包的数量的两倍作为预设数量。

本申请实施例中,所述预设条件包括:

所述读取位置不是所述目标文件的首位;

位于所述读取位置之前的部分数量的数据包的周边状态是已读取状态。

本申请实施例中,将位于读取位置之前的周边状态是已读取状态的数据包的数量作为预设数量。

本申请实施例中,所述方法还包括数据缓存模块,用于:

控制客户端从云端服务器读取所述预取到的数据包;

将所述预取到的数据包缓存在本地。

本申请实施例中,所述数据缓存模块,具体用于:

将所述预取到的数据包按照被访问时刻进行排序

本申请实施例所提供的云端文件处理装置,通过在客户端对云端服务器内目标文件的读取操作符合预设条件时,预先从云端服务器取得预设数量的数据包,即使客户端与云端服务器之间网络传输发生时延,客户端也可以调用预取到的数据包来展示给客户,使得客户端能够及时提供目标文件的相关数据给用户查阅。

本发明是参照根据本发明实施例的方法和设备(系统)来描述的。应理解可由计算机程序指令结合信息感应设备实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令配合信息感应设备产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、 方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1