数据缓存方法及电子装置与流程

文档序号:11829510阅读:183来源:国知局
数据缓存方法及电子装置与流程

本发明是有关于一种数据处理方法及装置,且特别是有关于一种数据缓存方法及电子装置。



背景技术:

随着云端硬盘的发展,使用者越来越习惯将文件存储在云端硬盘中。可是,通过网络存取数据,不可避免的无法与存取本机数据的速度相比。为了解决这个问题,市面上现行的云端硬盘方案,大多会提供本机缓存(Cache)的机制。此机制会将云端硬盘中的数据预先下载到本机硬盘,以提供更好的存取速度。

举例来说,美国Dropbox公司所推出的Dropbox服务会将云端硬盘的数据全部下载到本机存储空间,此设计在本机存储空间有限时,将会占据所有可用空间。另一方面,美国谷歌公司所推出的Google Drive服务则预设会将云端硬盘的数据全部下载到本机存储空间,并让使用者可选择不同步部分数据。然而,此设计将会产生两个问题:(1)大部分使用者可能不知道有这个设定;(2)选择不进行同步的数据,将无法在装置上直接存取。

再者,美国微软公司所推出的OneDrive服务会替所有云端硬盘中的数据下载一份元数据(metadata)到本机存储空间,而不会将整份数据完整下载。此元数据已足以提供使用者进行浏览,且只有在确定使用者需要特定数据内容时,才会下载数据内容。然而,虽然存储元数据所需的空间较真实数据小,但依然会占据存储空间,当数据数量太大时,仍会占据装置的可用空间。此外,此设计在下载一数据内容后,并无清除的机制;因此,随着装置使用时间的增长,会不断占据存储空间。当硬件厂商为了节省成本,不断的缩小装置上的存储空间时,这样的存储机制,将不再可行。



技术实现要素:

本发明提供一种数据缓存方法及电子装置,通过适时地清除电子装置上缓存的数据及元数据,可节省电子装置缓存数据所占据的存储空间。

本发明提出一种数据缓存方法,适于由电子装置缓存自远程装置下载的数据。此方法拦截对于远程装置的存取指令,据以自远程装置下载存取指令所要求存取的数据或所要求存取的目录下的所有数据及子目录的元数据。接着,将所下载的数据或元数据缓存于电子装置的存储单元,并记录缓存所述数据的使用时间。在预设条件下,检查所缓存的所有数据的使用时间,据以删除使用时间距目前时间最远的至少一个数据,并检查所删除的各个数据所在的目录下是否未包含任何有缓存数据的数据,据以将此目录下所有数据及子目录的元数据删除。

本发明另提出一种电子装置,其包括指令拦截模块、数据下载模块及数据删除模块。指令拦截模块拦截对于远程装置的存取指令。数据下载模块通过通信单元自远程装置下载存取指令所要求存取的数据或所要求存取的目录下的所有数据及子目录的元数据,将所下载的数据或元数据缓存于存储单元,并记录缓存所述数据的使用时间。数据删除模块在一预设条件下,检查所缓存的所有数据的使用时间,据以将使用时间距目前时间最远的至少一个数据删除,以及检查所删除的各个数据所在的目录下是否未包含任何有缓存数据的数据,据以将此目录下所有数据及子目录的元数据删除。

本发明的数据缓存方法及电子装置,通过拦截电子装置使用者对于远程装置的存取指令,据以存取本地端缓存的数据或从远程装置下载所需的数据。而针对使用者所存取的目录,电子装置则会从远程下载所存取目录下所有数据及子目录的元数据,并定时清理太久没有使用的数据及其所属的目录。藉此,可节省电子装置缓存数据所占据的存储空间。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

图1是本发明一实施例所示出的电子装置的方块图;

图2是本发明一实施例所示出的电子装置的数据缓存方法的流程图;

图3是本发明一实施例所示出的电子装置的数据缓存方法的流程图;

图4是本发明一实施例所示出的电子装置的数据缓存方法的流程图。

附图标记说明:

10:电子装置;

12:通信单元;

14:存储单元;

142:指令拦截模块;

144:数据下载模块;

146:数据删除模块;

16:处理单元;

S202~S208、S302~S314、S402~S414:步骤。

具体实施方式

本发明的电子装置除了针对使用者使用过的数据缓存数据,还会针对使用者使用过的目录缓存其下所有数据及子目录的元数据。此外,电子装置还会记录使用者的数据存取历史,而针对太久没有使用的数据或目录,定时清除本地端的缓存数据。藉此,可有效利用有限的存储空间缓存数据,在空间需求与数据存取效率之间取得平衡。

图1是本发明一实施例所示出的电子装置的方块图。请参照图1,本实施例的电子装置10例如是手机、智能手机、个人数字助理、平板计算机等可携式电子装置,或是笔记本计算机或台式计算机,在此不设限。电子装置10包括通信单元12、存储单元14及处理单元16,其功能分述如下:

通信单元12例如是支持电机和电子工程师协会(Institute of Electrical and Electronics Engineers,简称IEEE)等无线通信标准的无线网卡或是支持有线网络连结的网卡,其可通过无线或有线方式与外部的远程装置(未示出)进行网络联机。上述的远程装置例如是位于远程的服务器或计算机,或是另一支手机、智能手机、个人数字助理或平板计算机。

存储装置14可以是任何形态的固定式或可移动式随机存取存储器(random access memory,简称RAM)、只读存储器(read-only memory,简称ROM)、闪存(flash memory)、硬盘(hard disk drive,简称HDD)、固态硬盘(solid state drive,简称SSD)或类似组件或上述组件的组合。在本范 例实施例中,存储装置14用以缓存通信单元12自远程装置下载的数据,并存储指令拦截模块142、数据下载模块144及数据删除模块146的软件程序。本范例实施例中所述的存储装置14并未限制是单一存储组件,上述的各软件模块也可以分开存储在不同的两个或两个以上的相同或不同型态的存储组件中。

处理单元16耦接至通信单元12与存储单元14。处理单元16可以是具有单核或多核的中央处理单元(Central Processing Unit,简称CPU),或是其它可程序化的一般用途或特殊用途的微处理器(Microprocessor)、数字信号处理器(Digital Signal Processor,简称DSP)、可编程控制器、特殊应用集成电路(Application Specific Integrated Circuit,简称ASIC)或其它类似组件或上述组件的组合。在本范例实施例中,处理单元16用以存取并执行上述存储装置14中所记录的模块,藉以实现本发明的电子装置10的数据缓存方法。本实施例的处理单元16并未限制是单一处理组件,也可以是由两个或两个以上的处理组件共同执行。

图2是本发明一实施例所示出的电子装置的数据缓存方法的流程图。请同时参照图1与图2,本实施例的方法适用于上述的电子装置10,以下即搭配图1中电子装置10的各项组件,说明本实施例方法的详细流程。

首先,由指令拦截模块142拦截电子装置10的使用者对于远程装置(未示出)的存取指令,而由数据下载模块144据以自远程装置下载存取指令所要求存取的数据,或下载存取指令所要求存取的目录下的所有数据及子目录的元数据(步骤S202)。上述的元数据例如包括用以描述数据、目录等数据属性(property)的信息,可作为电子装置10指示存储位置、显示历史数据、寻找资源及记录数据的依据。其中,当使用者使用电子装置10上网浏览其存放在远程装置上的数据或目录时,数据下载模块144即可通过下载所欲存取数据的元数据,从而提供远程装置上的数据或目录的相关信息给使用者,帮助使用者了解其所浏览的数据或目录的相关信息。

接着,数据下载模块144会将所下载的数据或元数据缓存于电子装置10的存储单元14,并在存储单元14中记录其缓存所下载数据的使用时间(步骤S204)。此使用时间可作为使用者使用各个数据的历史数据,而可用以作为后续电子装置10清理数据的依据。

需说明的是,在本实施例中,电子装置10会将使用者曾经浏览过的数据或所浏览目录的元数据缓存在存储单元14中,以便日后使用者再次浏览相同数据时,能够直接存取缓存数据,从而加快存取速度。通过上述缓存机制,当指令拦截模块142拦截到存取指令时,数据下载模块144即会先检查存储单元14中是否已有缓存存取指令所欲存取的数据,以决定是要直接从存储单元14读取所需数据或是另外从远程装置下载所需数据。同时,数据下载模块14会在存储单元14中记录其数据的使用时间。此使用时间可作为使用者使用各个数据的历史数据,而可用以作为后续电子装置10清理数据的依据。

举例来说,图3是本发明一实施例所示出的电子装置的数据缓存方法的流程图。请同时参照图1与图3,本实施例的方法适用于上述的电子装置10。其中,指令拦截模块142拦截对于远程装置的存取指令(步骤S302)。若所拦截到的存取指令是要存取远程装置的数据,则在指令拦截模块142拦截到存取指令时,数据下载模块144会先判断存储单元14中是否已有缓存存取指令所要求存取的数据(步骤S304)。其中,若数据下载模块144发现存储单元14中已有缓存此数据,则会直接读取存储单元14以取得此数据,并更新此数据的使用时间(步骤S306);反之,若数据下载模块144发现存储单元14中并未缓存此数据,则会转而利用通信单元12通过网络自远程装置下载此数据(步骤S308),并将所下载的数据缓存于存储单元14(步骤S310)。最后,数据下载模块144即可提供存取指令所要求存取的数据(步骤S312),例如开启数据或显示目录。通过本实施例的数据缓存方法,电子装置10即可有效利用存储单元14的空间,提升数据的存取效率。

另一方面,图4是本发明一实施例所示出的电子装置的数据缓存方法的流程图。请同时参照图1与图4,本实施例的方法适用于上述的电子装置10。其中,指令拦截模块142拦截对于远程装置的存取指令(步骤S302)。若所拦截到的存取指令是要存取数据的目录,则在指令拦截模块142拦截到存取指令(步骤S402)时,数据下载模块144会先判断存储单元14中是否已有缓存存取指令所要求存取的目录下的所有数据及子目录的元数据(步骤S404)。其中,若数据下载模块144发现存储单元14中已有缓存此元数据,数据下载模块144则会直接读取存储单元14以取得此元数据(步骤S406);反之,若数据下载模块144发现存储单元14中并未缓存此元数据,则会转而 利用通信单元12通过网络自远程装置下载此元数据(步骤S408),并将所下载的元数据缓存于存储单元14(步骤S410)。最后,数据下载模块144即可提供存取指令所要求存取的元数据(步骤S412),例如显示数据或目录的相关信息。通过本实施例的数据缓存方法,电子装置10即可有效利用存储单元14的空间,提升数据的存取效率。

回到图2的流程,在数据下载模块144将所下载的数据或元数据缓存于电子装置10的存储单元14后,数据删除模块146将在预设条件下,检查存储单元14所缓存的所有数据的使用时间,据以将使用时间距目前时间最远的至少一个数据删除(步骤S206)。详言之,在一实施例中,数据删除模块146会定时启动清除流程,例如在经过一预设时间(例如一周、一个月或其它时间)后,即自动清除存储单元14中使用者长时间未使用的数据的缓存数据。而在另一实施例中,数据删除模块146则会在存储单元14中缓存数据所占空间超出一预设空间时,启动上述的清除流程。上述的预设条件仅为举例说明,本领域技术人员可视实际需要,设定不同的条件来启动上述的清除流程,在此不设限。此外,在上述步骤中,数据删除模块146只会将数据删除,但会留下该数据的元数据,藉此提供使用者在离线(即,未连结网络)状况下仍可浏览数据相关信息。

在删除数据之后,数据删除模块146还会进一步检查所删除的各个数据所在的目录下是否未包含任何有缓存数据的数据,据以将此目录下所有数据及子目录的元数据删除(步骤S208)。详言之,当使用者长时间未使用某个数据时,即代表其要存取该数据所在目录的机会也会较低,因此数据删除模块146在每删除一个数据的缓存数据之后,还会检查这个数据所在目录中是否还有其它有缓存数据的数据。若此目录未包含任何有缓存数据的数据,即可判断使用者将来存取这个目录的机会较低,而将此目录下所有数据及子目录的元数据删除,以节省存储单元14的存储空间。

需说明的是,对于采用树状结构的目录结构,每删除一个数据的缓存数据,除了可能会造成其所属目录未包含任何有缓存数据的数据,也有可能会造成此目录的上层目录也未包含任何有缓存数据的数据。据此,数据删除模块146在上述删除目录下所有数据及子目录的元数据的步骤之后,还会再递归检查此目录的上层目录下是否未包含任何有缓存数据的数据,并据以将此 上层目录下所有数据及子目录的元数据删除。数据删除模块146会持续往上层目录逐层目录进行检查,直到发现上层目录有包含有缓存数据的数据为止。

通过上述的数据缓存方法,本发明实施例的电子装置即能够根据使用者存取数据或目录的历史记录,适时地将缓存的数据或目录的元数据删除,而可有效地利用存储空间,提升数据的存取效率。

综上所述,本发明的电子装置及其数据缓存方法是采用因应请求(on demand)的方式下载存放在云端硬盘的数据,使得仅具有小容量存储空间的电子装置在使用云端硬盘上大量数据的同时,也能够保有数据的存取效率。此外,本发明根据数据的使用记录,定时清除缓存的数据或元数据,而可有效利用电子装置的存储空间,在空间需求与数据存取效率之间取得平衡

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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