一种移动终端中的html5应用程序离线运行的方法及设备的制作方法

文档序号:6423972阅读:145来源:国知局
专利名称:一种移动终端中的html5应用程序离线运行的方法及设备的制作方法
技术领域
本发明涉及移动终端应用领域,尤其涉及一种移动终端中的HTML5应用程序离线运行的方法及设备。
背景技术
HTML5是目前正在讨论的新一代HTML标准,它代表了现在Web领域的最新发展方向。在HTML5标准中,加入了新的多样的内容描述标签,直接支持表单验证、视频音频标签、网页元素的拖拽、离线存储和工作线程等功能。其中一个新特性就是对离线应用开发的支持。当开发者编写HTML5的离线应用程序时,通常使用以下几个方面的功能
I、离线资源缓存需要一种方式来指明应用程序离线工作时所需的资源文件。这样,浏览器才能在在线状态时,把这些文件缓存到本地。此后,当用户离线访问应用程序时,这些资源文件会自动加载,从而让用户正常使用。HTML5中,通过cache manifest文件指明需要缓存的资源,并支持自动和手动两种缓存更新方式。2、在线状态检测开发者需要知道浏览器是否在线,这样才能够针对在线或离线的状态,做出对应的处理。在HTML5中,提供了两种检测当前网络是否在线的方式。3、本地数据存储离线时,需要能够把数据存储到本地,以便在线时同步到服务器上。为了满足不同的存储需求,HTML5提供了 DOM Storage和Web SQL Database两种存储机制。前者提供了易用的key/value对存储方式,而后者提供了基本的关系数据库存储功能。由于HTML5离线应用的功能强大,开发者将其的应用扩展至移动设备领域,尤其是扩展至移动终端的应用领域中。由于HTML5的应用程序需要下载较多的数据至移动终端的本地存储器中供离线的时候调用,因此往往会占用较多移动终端的网络资源完成上述数据的下载处理。但是由于现有的移动终端在在接入互联网时会受到多种因素的影响,例如流量限制、带宽上限控制,以及无线信号衰减导致网络连接断开等,使得所述移动终端下载上述数据的过程受到诸多限制,下载过程中容易出错,用户等待的周期也较长。

发明内容
本发明的目的在于提供一种移动终端中的HTML5应用程序离线运行的方法和设备,可以判断移动终端的缓存区中是否存有HTML5应用程序正常运行所需的文件,以减小重复下载的次数,将无线网络带来的不利影响最小化。为达到上述目的,一方面,本发明提供了一种移动终端中的HTML5应用程序离线运行的方法,该方法包括
在移动终端上启动HTML5应用程序,并判断该移动终端的缓存区中是否存有该HTML5应用程序正常运行所需的文件;
若所述缓存区中存有所述文件,则所述HTML5应用程序调用该文件并正常运行;
若所述缓存区中未存有所述文件,则从服务器下载所述文件至所述缓存区中,所述HTML5应用程序从所述缓存区中调用该文件并正常运行。另一方面,本发明提供了一种支持HTML5应用程序离线运行的客户端,该客户端包括
程序运行模块,用于在移动终端上启动和运行HTML5应用程序,并触发判断模块判断所述移动终端的缓存区中是否存有该HTML5应用程序正常运行所需的文件;
所述判断模块,用于判断所述移动终端的缓存区中是否存有所述HTML5应用程序正常运行所需的文件,若所述缓存区中存有所述文件,则触发所述程序运行模块控制所述HTML5应用程序调用该文件并正常运行,若所述缓存区中未存有所述文件,则从服务器下载所述文件至所述缓存区中,并触发所述程序运行模块控制所述HTML5应用程序从所述缓存区中调用该文件并正常运行。本发明提供的移动终端中的HTML5应用程序离线运行的方法和设备,通过在启动 HTML5应用程序后判断移动终端的缓存区中是否存有该HTML5应用程序正常运行所需的文件,若是则无需重新下载所述文件,因此减少了重复下载所述文件的次数,为移动终端节省了流量耗损,并使HTML5程序的离线应用启动更为快速,用户的等待时间降低,提高所述HTML5程序的运行效率。


通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显
图I是根据本发明的移动终端中的HTML5应用程序离线运行的方法的一种具体实施方式
的流程 图2是根据本发明的服务器的一种具体实施方式
的结构示意 图3是根据本发明的客户端的一种具体实施方式
的结构示意 图4是图2示出的服务器以及图3示出的客户端结合使用的结构示意图。附图中相同或相似的附图标记代表相同或相似的部件。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施例作详细描述。首先请参考图1,图I是根据本发明的移动终端中的HTML5应用程序离线运行的方法的一种具体实施方式
的流程图,该方法包括
步骤S101,在移动终端上启动HTML5应用程序;
步骤S102,判断所述移动终端的缓存区中是否存有该HTML5应用程序正常运行所需的文件;若判断结果为否,则执行步骤S103,若判断结果为是,则执行步骤S104 ;
步骤S103,所述HTML5应用程序从服务器下载所述文件至所述缓存区中,然后所述HTML5应用程序从所述缓存区中调用该文件并正常运行;
步骤S104,所述HTML5应用程序调用该文件并正常运行。具体地,所述HTML5应用程序正常运行所需的文件包括该HTML5应用程序运行所需的脚本程序和多媒体数据。在本实施例中,所述脚本程序是JavaScript脚本程序;所述多媒体数据包括图片文件、音频文件、视频文件或其组合。通常地,JavaScript脚本加入一个HTML5文档的方式有两种,其一,所述JavaScript脚本程序直接包含在HTML文档内,当该HTML文档运行时,调用相应的解释器对其进行解释并运行;其二,可以在所述HTML文档中插入已经存在的JavaScript脚本的源程序(例如已存在的js格式文件)。对于功能较为丰富JavaScript脚本程序,该JavaScript脚本程序在正常运行时需要调用一些多媒体数据,例如bmp格式或jpg格式的图片文件、wav格式或mid格式的音频文件,以及一些较常见格式的视频文件。可选地,所述脚本程序和多媒体数据已被编译为二进制文件的形式,这样设计的目的是使所述脚本程序的运行更为迅速和有效。所述HTML5应用程序正常运行所需的文件携带区别标识(对于已经被编译为二进制文件的形式的所述脚本程序和多媒体数据,具体而言是所述二进制文件携带所述区别标识),每一所述文件携带的所述区别标识唯一。因此在步骤S102中,所述区别标识作为每一所述文件独占的识别ID,能唯一地标识所述文件,即使在所述缓存区中不同目录之下的同名文件,只要其携带所述区别标识,也可以根据该区别标识进行区分判断,即可以根据该区 别标识唯一地确定所述缓存区内是否存有所述文件;当判断结果为是,执行步骤S104,所述缓存区中已具有所述HTML5应用程序正常运行所需的文件,因此所述HTML5应用程序可以直接正常运行;当判断结果为否,表明所述缓存区中至少缺失部分所述HTML5应用程序正常运行所需的文件,因此从服务器下载所述文件至所述缓存区中(优选地,只下载缺失的那一部分所述文件,而不是全部重新下载),然后所述HTML5应用程序可以从所述缓存区中调用这些文件并正常运行。进一步地,由于所述缓存区中的文件携带唯一的所述区别标识,因此不同文件的所述区别标识也是不同的,通过对比所述缓存区中存有的所有文件的所述区别标识,可以很轻易地对所述缓存区中存储的文件进行单一性校验,从而删去所述区别标识相同的文件,即已存在某一文件,所述缓存区中又重复存储该文件,则删去该重复存储的文件。下面给出一个上述具体实施方式
的一个实施例,以更好地说明图I示出的方法流程,例如,移动终端上启动HTML5应用程序,该程序正常运行需要名为“mapOOl. bmp”的bmp格式图片文件,其携带的区别标识为“A001”,还需要名为“soundOOl. wav”的wav格式音频文件,其携带的区别标识为“B001”,当所述HTML5应用程序启动后,首先分别在移动终端的缓存区内查找区别标识为“A001”和“B001”的文件。会出现以下几种情况第一类,所述缓存区中可以查找到上述两个区别标识为“A001”和“B001”的文件,因此所述HTML5应用程序可以直接调用该两个文件并正常运行;第二类,在所述缓存区中无法查找到区别标识为“A001”(或“B001”)的文件,则向服务器发送请求获取所述区别标识为“A001”(或“B001”)的文件,从服务器获得该文件存入所述缓存区后,所述HTML5应用程序调用该文件正常运行;第三类,在所述缓存区中无法查到区别标识为“A001”和“B001”的文件,则从服务器下载上述两个文件,然后所述HTML5应用程序调用该两个文件并正常运行。由于同一文件可能出现命名不相同的情况,或存储在所述缓存区中不同的目录下,因此当查找整个所述缓存区时,使用文件携带的区别标识进行单一性校验所得的结果才最为准确。例如已知名为“mapOOl. bmp”的bmp格式图片文件,其携带的区别标识为“A001”,在所述缓存区中查找得到另一携带的区别标识也为“A001”的图片文件,其名为“map.bmp”,因此即使缓存区中命名不同的相同文件,也可以根据所述区别标识进行单一性校验。需要说明的是,所述文件携带的区别标识通常由提供该文件的服务器附加至该文件中,移动终端的缓存区中存储的文件都携带所述区别标识,而移动终端并不对其缓存区中存储的文件的区别标识进行任何修改,以保持与服务器中所述文件的区别标识的一致。请参考图2,图2是根据本发明的服务器10的一种具体实施方式
的结构示意图,该服务器10包括
标识模块11,用于在HTML5应用程序在移动终端上正常运行所需的文件上附加区别标
识;
发送模块13,用于将所述携带区别标识的文件发送给移动终端,以供所述HTML5调用 后正常运行,所述移动终端根据该区别标识判断该移动终端的缓存区中是否存有所述文件。具体地,所述HTML5应用程序正常运行所需的文件包括该HTML5应用程序运行所需的脚本程序和多媒体数据。在本实施例中,所述脚本程序是JavaScript脚本程序;所述多媒体数据包括图片文件、音频文件、视频文件或其组合。通常地,JavaScript脚本加入一个HTML5文档的方式有两种,其一,所述JavaScript脚本程序直接包含在HTML文档内,当该HTML文档运行时,调用相应的解释器对其进行解释并运行;其二,可以在所述HTML文档中插入已经存在的JavaScript脚本的源程序(例如已存在的js格式文件)。对于功能较为丰富JavaScript脚本程序,该JavaScript脚本程序在正常运行时需要调用一些多媒体数据,例如bmp格式或jpg格式的图片文件、wav格式或mid格式的音频文件,以及一些较常见格式的视频文件。 可选地,该服务器10还包括文件编译模块12,用于在发送模块13发送所述携带区别标识的文件前,先将所述携带区别标识的文件编译为二进制文件的形式。这样设计的目的是使所述脚本程序的运行更为迅速和有效。请参考图3,图3是根据本发明的客户端20的一种具体实施方式
的结构示意图,该客户端20包括
程序运行模块21,用于在移动终端上启动和运行HTML5应用程序,并触发判断模块判断所述移动终端的缓存区中是否存有该HTML5应用程序正常运行所需的文件;
判断模块22,用于判断所述移动终端的缓存区中是否存有所述HTML5应用程序正常运行所需的文件,若所述缓存区中存有所述文件,则触发所述程序运行模块控制所述HTML5应用程序调用该文件并正常运行,若所述缓存区中未存有所述文件,则从服务器下载所述文件至所述缓存区中,并触发所述程序运行模块控制所述HTML5应用程序从所述缓存区中调用该文件并正常运行。本具体实施方式
中所述HTML5应用程序的说明可以参考图I或图2示出的具体实施方式
中相关部分的说明,在此不再赘述。判断模块22判断所述缓存区中是否存有所述文件的方法是根据所述文件携带的区别标识判断所述移动终端的缓存区中是否存有所述文件。为了更直观和清楚地说明服务器10与客户端20的结合使用,请参考图4,图4是图2示出的服务器以及图3示出的客户端结合使用的结构示意图,客户端20的程序运行模块21启动HTML5应用程序时,首先触发判断模块22查找缓存区30中是否存有该HTML5正常运行所需的文件,若判断结果为是,则程序运行模块21访问缓存区30并调用所述文件;若判断结果为否,则判断模块22从服务器10下载所述文件至缓存区中。服务器10与移动终端的缓存区30之间通过无线网络(例如3G、GSM或无线局域网)通信。此外,客户端20的校验模块23还会访问缓存区30,以根据所述区别标识对缓存区30中存储的所述文件进行单一性校验,若存在重复的所述文件,则删去该重复的所述文件。由于通常移动终端的缓存区30的空间有限,因此上述单一性校验的过程可以使该缓存区30内可以存储更多的文件。客户端20通常集成在所述移动终端上,或安装在所述移动终端上,所述缓存区30通常是所述移动终端上的存储介质,例如Flash存储芯片。本发明提供的移动终端中的HTML5应用程序离线运行的方法和设备,通过在启动HTML5应用程序后判断移动终端的缓存区中是否存有该HTML5应用程序正常运行所需的文件,若是则无需重新下载所述文件,因此减少了重复下载所述文件的次数,为移动终端节省了流量耗损,并使HTML5程序的离线应用启动更为快速,用户的等待时间降低,提高所述HTML5程序的运行效率;根据区别标识判断所述文件是否存在缓存区中,能够提高判断的 准确率,根据该区别标识进行单一性校验,可以提高缓存区的空间利用率,更有效地利用移动终端上有限的存储资源。本发明提供的移动终端中的HTML5应用程序离线运行的方法可以使用可编程逻辑器件结合来实现,也可以实施为计算机程序软件,例如根据本发明的实施例可以是一种计算机程序产品,运行该程序产品使计算机执行用于所示范的方法。所述计算机程序产品包括计算机可读存储介质,该介质上包含计算机程序逻辑或代码部分,用于实现提供的移动终端中的HTML5应用程序离线运行的方法。所述计算机可读存储介质可以是被安装在计算机中的内置介质或者可从计算机主体拆卸的可移动介质(例如热拔插技术存储设备)。所述内置介质包括但不限于可重写的非易失性存储器,例如RAM、R0M、快闪存储器和硬盘。所述可移动介质包括但不限于光存储媒体(例如CD-ROM和DVD)、磁光存储媒体(例如MO)、磁存储媒体(例如盒带或移动硬盘)、具有内置的可重写的非易失性存储器的媒体(例如存储卡)和具有内置ROM的媒体(例如ROM盒)。以上所揭露的仅为本发明的一些较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1.一种移动终端中的HTML5应用程序离线运行的方法,其特征在于,该方法包括 在移动终端上启动HTML5应用程序,并判断该移动终端的缓存区中是否存有该HTML5应用程序正常运行所需的文件; 若所述缓存区中存有所述文件,则所述HTML5应用程序调用该文件并正常运行; 若所述缓存区中未存有所述文件,则从服务器下载所述文件至所述缓存区中,所述HTML5应用程序从所述缓存区中调用该文件并正常运行。
2.根据权利要求I所述的方法,其特征在于,所述HTML5应用程序正常运行所需的文件包括 该HTML5应用程序运行所需的脚本程序和多媒体数据。
3.根据权利要求2所述的方法,其特征在于 所述脚本程序是Javascript脚本程序; 所述多媒体数据包括图片文件、音频文件、视频文件或其组合。
4.根据权利要求2所述的方法,其特征在于 所述脚本程序和多媒体数据已被编译为二进制文件的形式。
5.根据权利要求I所述的方法,其特征在于 所述文件携带区别标识,每一所述文件携带的所述区别标识唯一; 根据该区别标识判断所述移动终端的缓存区中是否存有所述文件。
6.根据权利要求5所述的方法,其特征在于,该方法还包括 根据所述区别标识对所述移动终端的缓存区中存储的所述文件进行单一性校验,若存在重复的所述文件,则删去该重复的所述文件。
7.一种支持HTML5应用程序离线运行的客户端,其特征在于,该客户端包括 程序运行模块,用于在移动终端上启动和运行HTML5应用程序,并触发判断模块判断所述移动终端的缓存区中是否存有该HTML5应用程序正常运行所需的文件; 所述判断模块,用于判断所述移动终端的缓存区中是否存有所述HTML5应用程序正常运行所需的文件,若所述缓存区中存有所述文件,则触发所述程序运行模块控制所述HTML5应用程序调用该文件并正常运行,若所述缓存区中未存有所述文件,则从服务器下载所述文件至所述缓存区中,并触发所述程序运行模块控制所述HTML5应用程序从所述缓存区中调用该文件并正常运行。
8.根据权利要求7所述的客户端,其特征在于,所述HTML5应用程序正常运行所需的文件包括 该HTML5应用程序运行所需的脚本程序和多媒体数据。
9.根据权利要求8所述的客户端,其特征在于 所述脚本程序是Javascript脚本程序; 所述多媒体数据包括图片文件、音频文件、视频文件或其组合。
10.根据权利要求7所述的客户端,其特征在于 所述判断模块根据所述文件携带的区别标识判断所述移动终端的缓存区中是否存有所述文件。
11.根据权利要求10所述的客户端,其特征在于,该客户端还包括 校验模块,用于根据所述区别标识对所述移动终端的缓存区中存储的所述文件进行单一性校验,若存在重复的所述文件,则删去该重复的所述文件。
12.一种服务器,其特征在于,该服务器包括 标识模块,用于在HTML5应用程序在移动终端上正常运行所需的文件上附加区别标识; 发送模块,用于将所述携带区别标识的文件发送给移动终端,以供所述HTML5调用后正常运行,所述移动终端根据该区别标识判断该移动终端的缓存区中是否存有所述文件。
13.根据权利要求12所述的服务器,其特征在于,该服务器还包括 文件编译模块,用于在所述发送模块发送所述携带区别标识的文件前,先将所述携带区别标识的文件编译为二进制文件的形式。
全文摘要
本发明提供了一种移动终端中的HTML5应用程序离线运行的方法,该方法包括在移动终端上启动HTML5应用程序,并判断该移动终端的缓存区中是否存有该HTML5应用程序正常运行所需的文件;若所述缓存区中存有所述文件,则所述HTML5应用程序调用该文件并正常运行;若所述缓存区中未存有所述文件,则从服务器下载所述文件至所述缓存区中,所述HTML5应用程序从所述缓存区中调用该文件并正常运行。相应地,本发明还提供了一种服务器和一种客户端。实施本发明提供的方法及设备,可以减少重复下载所述文件的次数,为移动终端节省流量耗损,并使HTML5程序的离线应用启动更为快速,用户的等待时间降低,提高所述HTML5程序的运行效率。
文档编号G06F17/30GK102779128SQ201110121270
公开日2012年11月14日 申请日期2011年5月10日 优先权日2011年5月10日
发明者赵霏, 黄何 申请人:北京磊友信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1