文件加载方法及装置的制作方法

文档序号:6372480阅读:133来源:国知局
专利名称:文件加载方法及装置的制作方法
技术领域
本发明属于多媒体应用领域,尤其涉及一种文件加载方法及装置。
背景技术
随着网络及科技的进步,电子终端变得越来越智能化和互联网化,手机、电视、平板等终端产品越来越多,在电子终端上的各种网络应用也越来越多,而目前众多的应用都为了给用户更加直观的体验而需要经常从网络获取一些文件显示给用户。虽然现在的电子终端越来越先进,应用越来越多,然而由于网络速度的限制,终端在网络获取大量文件并加载所耗费的时间过长,加载效率较低
发明内容
本发明实施例的目的在于提供一种文件加载的方法及装置,旨在解决现有的终端由于网络速度的限制,从网络获取大量文件耗费时间过长的问题。本发明实施例是这样实现的,一种文件加载方法,所述方法包括接收文件加载指令,所述文件加载指令携带待加载文件的文件信息;根据所述待加载文件的文件信息查询内存索引表,所述内存索引表中包含从磁盘缓存预加载到内存缓存中的文件的存储位置信息和访问次数;若在内存索引表中查找到所述文件信息对应的存储位置信息,则根据查找到的存储位置信息从所述内存缓存中加载文件,并更新所述内存索引表中文件的访问次数。本发明实施例的另一目的在于提供一种文件加载装置,所述终端包括指令接收单元,用于接收文件加载指令,所述文件加载指令携带待加载文件的文件信息;内存查找单元,用于根据所述待加载文件的文件信息查询内存索引表,所述内存索引表中包含从磁盘缓存预加载到内存缓存中的文件的存储位置信息和访问次数;内存文件加载单元,用于若在内存索引表中查找到所述文件信息对应的存储位置信息,则根据查找到的存储位置信息从所述内存缓存中加载文件,并更新所述内存索引表中文件的访问次数。在本发明实施例中,在终端通过二级缓存文件的模式来存储网络下载的文件,由于内存的访问延时远小于磁盘缓存,因而对于已存储在内存缓存或磁盘缓存中的文件都能立即加载后显示,而不需等待慢慢从网络加载,尤其是当文件存储在内存缓存中时基本可以快读加载显示文件,文件加载效率高、速度快,文件加载速度不用受网络速度的限制,用户体验良好。


图I是本发明第一实施例提供的文件加载方法的流程图;图2是本发明第二实施例提供的文件加载方法的流程图3是本发明第三实施例提供的文件加载方法的流程图;图4是本发明第四实施例提供的文件加载装置的结构示意图;图5是本发明第五实施例提供的文件加载装置的结构示意图;图6是本发明第六实施例提供的文件加载装置的结构示意图;。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例提供一种文件加载方法,通过将从网络下载的文件进行二级缓存, 以便于用户浏览文件时,可以从缓存中尽快加载文件。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。实施例一如图I所示为本发明第一实施例提供的文件加载方法流程图,为了便于说明,仅不出了与本发明实施例相关的部分。在步骤SlOl中,预先创建存储文件的磁盘缓存,并建立磁盘索引表。在本发明实施例中,预先在磁盘中创建一个文件夹(例如此处建立一个名为tcl_img_cache的文件夹)作为存储文件的磁盘缓存,并且使用一个文件或者终端内置的小型数据库建立磁盘索引表用来记录这些文件的索引,其中该磁盘索引表包括文件特征码(如文件ID等),文件的URL (url),文件的存储位置信息(如文件的读取路径(path)等),文件的访问次数(num),最近访问文件的时间(date)等。在磁盘索引表中,由于是对网络文件进行缓存,因此可使用文件的URL (url)作为文件索引的关键(key)值。在本发明实施例中,文件的类型包括但不限于网页文件、图片文件等。在本发明实施例中,创建磁盘缓存可以在应用程序安装时完成,初始创建后该磁盘缓存文件夹为空,后续从网络下载一次文件,便将下载的文件存储至磁盘缓存中。在步骤S102中,在应用程序启动时创建内存缓存,将磁盘缓存中的文件预加载至所述内存缓存,并建立内存索引表。在本发明实施例中,终端启动需要浏览网络文件的应用程序时,在内存中开辟出一块空间作为存储文件的内存缓存,此块内存缓存区域和程序运行的内存区域不共享,由应用程序控制该内存缓存的回收利用及释放。其中,所建立的内存区域的大小由开发者根据应用程序预先灵活设置。在本发明实施例中,内存缓存创建好后,将若干磁盘缓存中的文件预加载至内存缓存中,预加载的文件数量可以根据内存缓存的大小所确定(如内存缓存大小为5M,则预加载3M文件至内存缓存中),并根据预加载的文件在内存缓存建立内存索引表,所述内存索引表包括文件特征码(如文件ID等),文件的URUurl ),文件的存储位置信息(如文件的读取路径(path)等),文件的访问次数(num),最近访问文件的时间(date)等。在本实施例中,将磁盘缓存中的文件预加载至内存缓存中的方法可以如下根据公式1^1/((^-4+1)计算出磁盘缓存中所有文件的访问因子,将访问因子最大的N个文件预加载至内存缓存。其中,n为文件的访问次数,Cl1为当前日期,d2为最近访问文件的时间,N为大于零的整数。在本发明实施例中,由上述公式来获取预加载至内存缓存的文件,其计算时间较短,不需耗费太多的资源和时间,效率高且效果好。在步骤S103中,接收文件加载指令,该文件加载指令携带待加载文件的文件信
肩、O在本发明实施例中,文件加载指令携带的待加载文件的文件信息包括但不限于文件URL或文件特征码等。文件加载指令可以在应用程序启动过程中发送。需要说明的是,待加载的文件信息可以来自于网络侧下发,也可以在本地生成。在步骤S104中,根据待加载文件的文件信息查询内存索引表,判断内存索引表中是否存在待加载文件的文件信息对应的存储位置信息,是则执行步骤S105,否则结束流程。
在本发明实施例中,由于内存缓存中只存储了部分磁盘缓存的文件,因而在查找时存在两种情况,即查找到对应的存储位置信息和未查找到对应的存储位置信息。在步骤S105中,根据查找到的存储位置信息,从内存缓存中加载文件。在本发明实施例中,根据查找到的存储位置信息,从内存缓存中加载文件。当从内存缓存中加载文件加载指令指定的文件后,还可以更新内存索引表中该文件的文件访问次数信息及最近访问文件的时间信息(如文件的访问次数加一,更新最近访问文件的时间)。在本发明实施例中,在终端通过二级缓存文件的模式来存储网络下载的文件,由于内存的访问延时远小于磁盘缓存,因而对于已存储在内存缓存中的文件基本可以快速加载显示文件,文件加载效率高、速度快,且文件加载速度不用受网络速度的限制,用户体验良好。实施例二 如图2所示为本发明第二实施例提供的文件加载方法流程图,为了便于说明,仅不出了与本发明实施例相关的部分。在步骤S201中,预先创建存储文件的磁盘缓存,并建立磁盘索引表。在步骤S202中,在应用程序启动时创建内存缓存,将磁盘缓存中的文件预加载至内存缓存,并建立内存索引表。在步骤S203中,接收文件加载指令,该文件加载指令携带待加载文件的文件信息。在步骤S204中,根据待加载文件的文件信息查询内存索引表,判断内存索引表中是否存在待加载文件的文件信息对应的存储位置信息,是则执行步骤S205,否则执行步骤S206。在本发明实施例中,当内存索引表中不存在待加载文件的文件信息时,跳转至步骤S206,查询磁盘索引表。与实施例一中内存索引表中不存在待加载文件的文件信息时结束操作流程不同。在步骤S205中,根据查找到的存储位置信息,从内存缓存中加载文件。在本发明实施例中,步骤S201-S205与步骤S101-S105的执行过程类似,请参考实施例一中的描述。在步骤S206中,根据待加载文件的文件信息查询磁盘索引表,判断磁盘索引表中是否存在待加载文件的文件信息对应的存储位置信息,是则执行步骤S207,否则执行步骤S208。在本实施例中,由于磁盘缓存中存储了上次下载的文件,因而在根据文件信息查找时存在两种情况,即查找到文件信息对应的存储位置信息和未查找到对应的存储位置信息(需要从网络下载)。在步骤S207中,根据查找到的存储位置信息,从磁盘缓存中加载文件。在本发明实施例中,查找到存储位置信息后从磁盘缓存中加载文件。在本实施例中,在从磁盘缓存加载文件加载指令指定的文件后,还可以将该文件存储至内存缓存,并在磁盘索弓丨表中更新该文件的访问次数及最近访问文件的时间信息(如文件的访问次数加一,更新最近访问文件的时间),并进一步在内存索引表中添加该文件相应的信息,如该文件的特征码,该文件的存储位置信息,该文件的访问次数,该文件的最近访问时间等。在本实施例中的,为了能及时的清理磁盘空间,当达到预设的第二时间或磁盘缓存达到预设的大小时,根据公式1^1/(4-4+1)计算出所述磁盘缓存中的文件的访问因子,删除访问因子最小的X个文件,其中,n为文件的访问次数,Cl1为当前日期,d2为最近访问文 件的时间,X为大于零的整数,预设的第二时间及预设的磁盘缓存大小由开发者预先设置。在步骤S208中,从网络下载文件加载指令中文件信息对应的文件,并将下载的文件存储至磁盘缓存中,更新磁盘索引表。在本发明实施例中,将从网络下载的文件存储至内存缓存及磁盘缓存中后,在磁盘索引表中添加该文件相应的信息。在本发明实施例中,在终端通过二级缓存文件的模式来显示网络文件,对于已存储在内存缓存或磁盘缓存中的文件都能立即加载后显示,而不需等待慢慢从网络加载。此夕卜,通过在内存缓存中不存在待加载的文件时从磁盘缓存或网络获取,进一步提高了文件加载效率。实施例三如图3所示为本发明第三实施例提供的文件加载方法流程图,为了便于说明,仅不出了与本发明实施例相关的部分。在步骤S301中,预先创建存储文件的磁盘缓存,并建立磁盘索引表。在步骤S302中,在应用程序启动时创建内存缓存,将磁盘缓存中的文件预加载至内存缓存,并建立内存索引表。在步骤S303中,接收文件加载指令,该文件加载指令携带待加载文件的文件信
肩、O在步骤S304中,根据待加载文件的文件信息查询内存索引表,判断内存索引表中是否存在待加载文件的文件信息对应的存储位置信息,是则执行步骤S305,否则执行步骤S306。在步骤S305中,根据查找到的存储位置信息,从内存缓存中加载文件。在本发明实施例中,步骤S301-S305与步骤S101-S105及步骤S201-S205的执行过程类似,其中步骤S304与步骤S204的跳转有所不同,请参考实施例一及实施例二中的描述。在本发明实施例中,为了及时清理内存缓存,节省空间,所述文件加载方法还包括在步骤S306中,当满足预设的条件时,清理内存缓存。具体为,当达到预设的第一时间或内存缓存达到预设的大小时,根据公式n*l/(Cl1-Cl2+1)计算出所述内存缓存中的文件的访问因子,删除访问因子最小的M个文件,其中,n为文件的访问次数,Cl1为当前日期,d2为最近访问文件的时间,M为大于零的整数,预设的第一时间及预设的内存缓存大小由开发者预先设置。当终端应用程序关闭,则释放内存缓存。
在本发明实施例中,由公式来决定内存缓存的清理释放,其计算时间较短,不需耗费太多的资源和时间,效率高且效果好。需要说明的是,在从内存中加载文件后,当满足预设的条件时清理内存缓存的步骤也可以在实施例一、二中,而不限于实施例三中。实施例四图4为本发明第四实施例提供的文件加载装置的结构示意图,为了便于说明,仅不出了与本发明实施例相关的部份。磁盘缓存创建单元41,用于预先创建存储文件的磁盘缓存,并建立磁盘索引表,磁盘索引表包含磁盘缓存中的文件的存储位置信息和访问次数。在本发明实施例中,磁盘索引表包括文件特征码(如文件ID等),文件的URL(url),文件的存储位置信息(如文件的读取路径(path)等),文件的访问次数(num),最近访问文件的时间(date )等。 内存缓存创建单元42,用于在终端应用程序启动时创建内存缓存,将磁盘缓存中的文件预加载至内存缓存,并建立内存索引表。在本发明实施例中,所述内存缓存创建单元42包括缓存创建模块421,用于在终端应用程序启动时创建内存缓存。预加载模块422,用于根据公式计算出磁盘缓存中所有文件的访问因子,将访问因子最大的N个文件预加载至内存缓存。其中,n为文件的访问次数,Cl1为当前日期,d2为最近访问文件的时间,N为大于零的整数。索引表建立模块423,用于建立内存索引表,内存索引表包括文件特征码(如文件ID等),文件的URL (url),文件的存储位置信息(如文件的读取路径(path)等),访问文件的次数(num),最近访问文件的时间(date)等。指令接收单元43,用于接收文件加载指令,该文件加载指令携带待加载文件的文件信息。内存查找单元44,用于根据待加载文件的文件信息查询内存索引表,内存索引表中包含从磁盘缓存预加载到内存缓存中的文件的存储位置信息和访问次数;文件加载单元45,用于若在内存索引表中查找到所述文件信息对应的存储位置信息,则根据查找到的存储位置信息从内存缓存中加载文件,并更新内存索引表中文件的访问次数。本实施例四提供的文件加载装置可以使用在前述对应的实施例一中,详情参见上述方法实施例的描述。在本发明实施例中,在终端通过二级缓存文件的模式来存储网络下载的文件,由于内存的访问延时远小于磁盘缓存,因而对于已存储在内存缓存或磁盘缓存中的文件都能立即加载后显示,而不需等待慢慢从网络加载,尤其是当文件存储在内存缓存中时基本可以快读加载显示文件,文件加载效率高、速度快,文件加载速度不用受网络速度的限制,用户体验良好。
实施例五图5为本发明第五实施例提供的文件加载装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部份。与实施例四中的图4相比,实施例五提供的图5中,文件加载装置中的文件加载单元45还可用于在磁盘索引表中查找到文件信息对应的存储位置信息时,根据查找到的文件存储位置信息从磁盘缓存中加载文件,并更新磁盘索引表中文件的访问次数。此外,文件加载装置还包括了ー个单元,即磁盘查找单元51。其中磁盘查找单元51,用于若未在内存索引表中查找到文件信息对应的存储位置信息,则根据文件信息查询磁盘索引表,磁盘索引表包含磁盘缓存中缓存的文件的存储位置信息和访问次数。文件加载单元45还用于在磁盘索引表中查找到文件信息对应的存储位置信息时,根据查找到的文件存储位置信息从磁盘缓存中加载文件,并更新磁盘索引表中文件的访问次数。本实施例五提供的文件加载装置可以使用在前述对应的实施例ニ中,详情參见上述方法实施例的描述。在本发明实施例中,在終端通过ニ级缓存文件的模式来显示网络文件,对于已存储在内存缓存或磁盘缓存中的文件都能立即加载后显示,而不需等待慢慢从网络加载。此外,通过在内存缓存中不存在待加载的文件时从磁盘缓存或网络获取,进ー步提高了文件加载效率。实施例六图6为本发明第六实施例提供的文件加载装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部份。实施例六提供的图6与实施例四中提供的图4及实施例五提供的图5中的磁盘缓存创建单元41、内存缓存创建单元42、指令接收单元43、内存查找单元44及文件加载单元45相同,此外,图6的文件加载装置还多包括了两个单元,即内存缓存释放单元61及内存缓存清理单元62。其中内存缓存释放单元61,用于当终端应用程序关闭时,释放所述内存缓存。内存缓存清理单元62,用于当达到预设的第一时间或内存缓存达到预设的大小时,根据公式计算出内存缓存中的文件的访问因子,删除访问因子最小的M个文件,其中,η为文件的访问次数,Cl1为当前日期,d2为最近访问文件的时间,M为大于零的整数。在本发明实施例中,在终端通过ニ级缓存文件的模式来存储网络下载的文件,由于内存的访问延时远小于磁盘缓存,因而对于已存储在内存缓存或磁盘缓存中的文件都能立即加载后显示,而不需等待慢慢从网络加载,尤其是当文件存储在内存缓存中时基本可以快读加载显示文件,文件加载效率高、速度快,且文件加载速度不用受网络速度的限制,用户体验良好。本实施例六提供的文件加载装置可以使用在前述对应的实施例ニ、三中,详情參见上述方法实施例的描述。本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于ー计算机可读取存储介质中,所述的存储介质,如R0M/RAM、磁盘、光盘等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精、神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内 。
权利要求
1.一种文件加载方法,其特征在于,所述方法包括 接收文件加载指令,所述文件加载指令携带待加载文件的文件信息; 根据所述待加载文件的文件信息查询内存索引表,所述内存索引表中包含从磁盘缓存预加载到内存缓存中的文件的存储位置信息和访问次数; 若在内存索引表中查找到所述文件信息对应的存储位置信息,则根据查找到的存储位置信息从所述内存缓存中加载文件,并更新所述内存索引表中文件的访问次数。
2.如权利要求I所述的方法,其特征在于,在所述接收文件加载指令的步骤之前,所述方法还包括 预先创建存储文件的磁盘缓存,并建立磁盘索引表,所述磁盘索引表包含所述磁盘缓存中的文件的存储位置信息和访问次数; 在终端应用程序启动时创建内存缓存,将所述磁盘缓存中的文件预加载至所述内存缓存,并建立内存索引表。
3.如权利要求2所述的方法,其特征在于,所述将磁盘缓存中的文件预加载至所述内存缓存包括 根据公式MlAd1-C^l)计算出所述磁盘缓存中的文件的访问因子; 将访问因子最大的N个文件预加载至所述内存缓存,其中,n为文件的访问次数,Cl1为当前日期,d2为最近访问文件的时间,N为大于零的整数。
4.如权利要求I至3任一权利要求所述的方法,其特征在于,所述方法还包括 若未在内存索引表中查找到所述文件信息对应的存储位置信息,则根据所述文件信息查询磁盘索引表,所述磁盘索引表包含磁盘缓存中缓存的文件的存储位置信息和访问次数; 若在磁盘索引表中查找到所述文件信息对应的存储位置信息,则根据查找到的文件存储位置信息从所述磁盘缓存中加载文件,并更新所述磁盘索引表中文件的访问次数。
5.如权利要求I所述的方法,其特征在于,在所述根据查找到的文件存储位置信息从所述内存缓存中加载文件之后,还包括 当终端应用程序关闭时,释放所述内存缓存;或 当达到预设的第一时间或内存缓存达到预设的大小时,根据公式MlAd1-C^l)计算出所述内存缓存中的文件的访问因子,删除访问因子最小的M个文件,其中,n为文件的访问次数,Cl1为当前日期,d2为最近访问文件的时间,M为大于零的整数。
6.一种文件加载装置,其特征在于,所述装置包括 指令接收单元,用于接收文件加载指令,所述文件加载指令携带待加载文件的文件信息; 内存查找单元,用于根据所述待加载文件的文件信息查询内存索引表,所述内存索引表中包含从磁盘缓存预加载到内存缓存中的文件的存储位置信息和访问次数; 文件加载单元,用于若在内存索引表中查找到所述文件信息对应的存储位置信息,则根据查找到的存储位置信息从所述内存缓存中加载文件,并更新所述内存索引表中文件的访问次数。
7.如权利要求6所述的装置,其特征在于,所述装置还包括 磁盘缓存创建单元,用于预先创建存储文件的磁盘缓存,并建立磁盘索引表,所述磁盘索引表包含所述磁盘缓存中的文件的存储位置信息和访问次数; 内存缓存创建单元,用于在终端应用程序启动时创建内存缓存,将所述磁盘缓存中的文件预加载至所述内存缓存,并建立内存索引表。
8.如权利要求7所述的装置,其特征在于,所述内存缓存创建单元包括 缓存创建模块,用于在终端应用程序启动时创建内存缓存; 预加载模块,用于根据公式计算出所述磁盘缓存中的文件的访问因子,将访问因子最大的N个文件预加载至所述内存缓存,其中,n为文件的访问次数,Cl1为当前日期,d2为最近访问文件的时间,N为大于零的整数; 索引表建立模块,用于建立内存索引表。
9.如权利要求6至8任一权利要求所述的装置,其特征在于,所述装置还包括 磁盘查找单元,用于若未在内存索引表中查找到所述文件信息对应的存储位置信息,则根据所述文件信息查询磁盘索引表,所述磁盘索引表包含磁盘缓存中缓存的文件的存储位置信息和访问次数; 所述文件加载单元还用于在磁盘索引表中查找到所述文件信息对应的存储位置信息时,根据查找到的文件存储位置信息从所述磁盘缓存中加载文件,并更新所述磁盘索引表中文件的访问次数。
10.如权利要求6所述的装置,其特征在于,所述装置还包括 内存缓存释放单元,用于当终端应用程序关闭时,释放所述内存缓存; 内存缓存清理单元,用于当达到预设的第一时间或内存缓存达到预设的大小时,根据公式计算出所述内存缓存中的文件的访问因子,删除访问因子最小的M个文件,其中,n为文件的访问次数,Cl1为当前日期,d2为最近访问文件的时间,M为大于零的整数。
全文摘要
本发明适用于多媒体应用领域,提供了一种文件加载方法及装置,所述方法包括接收文件加载指令,所述文件加载指令携带待加载文件的文件信息;根据所述待加载文件的文件信息查询内存索引表,所述内存索引表中包含从磁盘缓存预加载到内存缓存中的文件的存储位置信息和访问次数;若在内存索引表中查找到所述文件信息对应的存储位置信息,则根据查找到的存储位置信息从所述内存缓存中加载文件,并更新所述内存索引表中文件的访问次数。在终端通过二级缓存文件的模式来存储网络下载的文件,由于内存的访问延时远小于磁盘缓存,因而对于已存储在内存缓存中的文件可以快速加载显示文件,文件加载效率高、速度快。
文档编号G06F9/445GK102750174SQ20121022377
公开日2012年10月24日 申请日期2012年6月29日 优先权日2012年6月29日
发明者程徐超 申请人:Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1