CN104063269B - 一种实现离线应用的方法及装置 - Google Patents
一种实现离线应用的方法及装置 Download PDFInfo
- Publication number
- CN104063269B CN104063269B CN201310090189.3A CN201310090189A CN104063269B CN 104063269 B CN104063269 B CN 104063269B CN 201310090189 A CN201310090189 A CN 201310090189A CN 104063269 B CN104063269 B CN 104063269B
- Authority
- CN
- China
- Prior art keywords
- application program
- data
- html5 application
- ajax
- html5
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明适用于计算机技术领域,提供了一种实现离线应用的方法及装置,所述方法包括:当浏览器为离线状态时,根据HTML5应用程序访问请求,发送Ajax请求至Ajax缓存,获取Ajax缓存根据所述Ajax请求返回的运行所述HTML5应用程序所需的数据,根据所述运行所述HTML5应用程序所需的数据,运行所述HTML5应用程序。本发明通过将HTML5离线应用与Ajax缓存结合使用,使得离线应用的缓存空间无限大,可以缓存更多的应用数据,从而提供更流畅的离线服务。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种实现离线应用的方法及装置。
背景技术
随着移动终端的日益普及,及HTML5技术的不断发展,通过移动终端浏览网络变得更加方便,因此,移动终端的使用频率也在不断增加,但当前的移动网络本身还是不能随时满足用户需要,尤其是在移动的场景中,在移动终端遇到网络较弱或网络终端的情况后,网络将无法为用户提供完整的服务,或者无法使用,从而导致用户体验被切断,不流畅。
现有技术方案对上述网络较弱或网络中断的情况处理方案是预先缓存需要访问的应用程序的数据,当网络较弱或网络中断时,调用缓存的数据,维持应用程序的正常使用,然而,现有技术的处理方案中的缓存容量有限,无法缓存更多的应用数据,从而无法提供持续的离线服务。
发明内容
本发明实施例的目的在于提供一种实现离线应用的方法及装置,旨在解决现有技术网络较弱或网络中断时的缓存容量有限,无法缓存更多的应用数据,从而无法提供持续的离线服务问题。
为了实现上述目的,本发明实施例提供如下技术方案:
本发明实施例提供了一种实现离线应用的方法,所述方法包括:
当浏览器为离线状态时,根据HTML5应用程序访问请求,发送Ajax请求至Ajax缓存;
获取Ajax缓存根据所述Ajax请求返回的运行所述HTML5应用程序所需的数据;
根据所述运行所述HTML5应用程序所需的数据,运行所述HTML5应用程序。
本发明实施例还提供了一种实现离线应用的装置,所述装置包括:
发送单元,用于当浏览器为离线状态时,根据HTML5应用程序访问请求,发送Ajax请求至Ajax缓存;
获取单元,用于获取Ajax缓存根据所述Ajax请求返回的运行所述HTML5应用程序所需的数据;
运行单元,用于根据所述运行所述HTML5应用程序所需的数据,运行所述HTML5应用程序。
本发明实施例与现有技术相比,有益效果在于:当浏览器为离线状态时,根据HTML5应用程序访问请求,发送Ajax请求至Ajax缓存,获取Ajax缓存根据所述Ajax请求返回的运行所述HTML5应用程序所需的数据,根据所述运行所述HTML5应用程序所需的数据,运行所述HTML5应用程序。通过将HTML5离线应用与Ajax缓存结合使用,使得离线应用的缓存空间无限大,可以缓存更多的应用数据,从而提供更流畅的离线服务。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的实现离线应用的方法的实现的流程图;
图2是本发明实施例一提供的实现离线应用的过程的示意图;
图3是本发明实施例一提供的Ajax缓存更新的方法的实现流程图;
图4是本发明实施例二提供的实现离线应用的装置的结构图;
图5是本发明实施例二提供的实现离线应用的装置中更新单元的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本实施例中,当浏览器为离线状态时,根据HTML5应用程序访问请求,发送Ajax请求至Ajax缓存,获取Ajax缓存根据返回的运行所述HTML5应用程序所需的数据,根据所述运行所述HTML5应用程序所需的数据,运行所述HTML5应用程序。
以下结合具体实施例对本发明的实现进行详细描述:
实施例一
图1是本发明实施例一提供的实现离线应用的方法的实现的流程图,详述如下:
在S101中,当浏览器为离线状态时,根据HTML5应用程序访问请求,发送Ajax请求至Ajax缓存;
在S102中,获取Ajax缓存根据所述Ajax请求返回的运行所述HTML5应用程序所需的数据;
本实施例中,本地Ajax缓存存储的所述HTML5应用程序对应的数据的可以采用如下方式:当浏览器为在线状态时,通过js程序从WEB服务器预读运行所述HTML5应用程序所需的数据,并通过Ajax缓存存储所述数据,即,根据用户当前使用的HTML5应用程序,由js程序判断运行所述HTML5应用程序需要使用的数据,根据判断结果,js程序从WEB服务器预读所述HTML5应用程序所需的数据,并通过Ajax缓存存储所述数据,当然,js程序也可以根据用户设置缓存应用程序的数据。
本实施例中,本地Ajax缓存根据所述Ajax请求,向浏览器返回运行所述HTML5应用程序所需的数据,由于Ajax缓存是放在磁盘上,因此可以有更多的缓存空间。
在S103中,根据所述运行所述HTML5应用程序所需的数据,运行所述HTML5应用程序。
为了便于理解,以下以一个具体的实现示例对本实施例中实现离线应用的方法进行说明,但不以本实现示例的情况为限:假设当前用户在线阅读小说,浏览器获取阅读内容的流程,请参阅图2,其流程为:1->2->3->4->5->6->7->8,即,浏览器接收用户的阅读请求,通过js事件,判断需要预读的内容为前N章的内容,则发送Ajax请求至Ajax缓存,Ajax缓存存储通过http请求,获取前N章的内容,并在Ajax缓存存储所述获取的前N章的内容,并通过响应消息展示给用户阅读;此时,若网络较弱或网络中断,则仍然可以从Ajax缓存获取阅读数据,其获取数据的流程为:1->2->3->6->7->8。
本实施例中,当浏览器为离线状态时,根据HTML5应用程序访问请求,发送Ajax请求至Ajax缓存,获取Ajax缓存根据所述Ajax请求返回的运行所述HTML5应用程序所需的数据,根据所述运行所述HTML5应用程序所需的数据,运行所述HTML5应用程序。通过将HTML5离线应用与Ajax缓存结合使用,使得离线应用的缓存空间无限大,可以缓存更多的应用数据,从而提供更流畅的离线服务。
作为本发明的一个实施例,为了使Ajax缓存的数据可以向用户提供及时准确的信息,可以对缓存的数据进行校验,对校验通过的数据进行及时更新,校验过程如下:
当浏览器为在线状态时,对Ajax缓存存储的所述HTML5应用程序的数据与WEB服务器存储的所述HTML5应用程序的数据进行MD5校验;
当所述Ajax缓存存储的所述HTML5应用程序的数据的MD5值与WEB服务器存储的所述HTML5应用程序的数据相同时,说明Ajax缓存存储的所述HTML5应用程序的数据为最新的数据,此时,不需要更新Ajax缓存存储的所述HTML5应用程序的数据,则结束;
当所述Ajax缓存存储的所述HTML5应用程序的数据的MD5值与WEB服务器存储的所述HTML5应用程序的数据不同时,说明Ajax缓存存储的所述HTML5应用程序的数据为不是最新更新的数据,则更新Ajax缓存存储的所述HTML5应用程序的数据。
本实施例中,通过MD5校验,可以及时了解Ajax缓存存储的所述HTML5应用程序的数据是否是最新更新的数据,避免缓存错误的应用程序数据。
作为本发明的一个实施例,当浏览器为在线状态时,当对同一个应用程序进行访问时,对于Ajax缓存,仍然是在本地浏览器中获取之前缓存的数据,而此时浏览器的数据可能已经发生了更新,而本地存储的内容并未发生更新,为了及时对本地服务器中的数据进行更新,可以采用如下方式更新Ajax缓存中的数据,请参阅图3示出了本发明实施例一提供的Ajax缓存更新的方法的实现流程图,详述如下:
在S301中,接收对所述HTML5应用程序对应的数据的更新请求。
本实施例中,所述更新请求可以为对所述HTML5应用程序刷新的请求。
在S302中,根据所述更新请求,修改所述HTML5应用程序对应的URL地址;
本实施例中,强制修改应用程序对应的URL地址后,此时,无法从Ajax缓存获取所述修改后URL地址对应的数据,值得说明的是,所述修改并不修改URL地址的访问路径,因此,其获取的数据仍然是所述HTML5应用程序对应的数据。
优选的,S302具体可以采用如下方式实现:根据所述刷新请求,在所述HTML5应用程序对应的URL地址的参数中增加随机数,通过在URL地址的参数中增加随机数,可以方便的对URL地址实现修改,简单,方便。
在S303中,发送修改后的URL地址至WEB服务器,以使所述WEB服务器根据所述修改后的URL地址返回所述HTML5应用程序对应的数据;
在S304中,根据WEB服务器返回的所述HTML5应用程序对应的数据,更新Ajax缓存存储的所述HTML5应用程序对应的数据;
根据更新的Ajax缓存存储的所述HTML5应用程序对应的数据,运行所述HTML5应用程序。
本实施例中,当浏览器为在线状态时,如果接收到用户的刷新请求,通过修改所述HTML5应用程序对应的URL地址,可以及时对Ajax缓存的数据进行更新,避免服务器的数据已经更新,而Ajax缓存存储的数据的还未进行更新。
实施例二
图4示出了本发明实施例二提供的实现离线应用的装置的结构图,为了便于说明,仅示出了与本发明实施例相关的部分,该装置可以是内置于移动终端中的软件单元、硬件单元或者软硬结合单元。
所述装置包括:
发送单元41,用于当浏览器为离线状态时,根据HTML5应用程序访问请求,发送Ajax请求至Ajax缓存;
获取单元42,用于获取Ajax缓存根据所述Ajax请求返回的运行所述HTML5应用程序所需的数据;
运行单元43,用于根据所述运行所述HTML5应用程序所需的数据,运行所述HTML5应用程序。
可选的,述装置还包括:
预读单元44,用于当浏览器为在线状态时,通过js程序从WEB服务器预读运行所述HTML5应用程序所需的数据,并通过Ajax缓存存储所述数据。
可选的,所述装置还包括:
校验单元46,用于当浏览器为在线状态时,对Ajax缓存存储的所述HTML5应用程序的数据与WEB服务器存储的所述HTML5应用程序的数据进行MD5校验;
更新单元47,用于当所述Ajax缓存存储的所述HTML5应用程序的数据的MD5值与WEB服务器存储的所述HTML5应用程序的数据不同时,则更新Ajax缓存存储的所述HTML5应用程序的数据;
结束单元48,用于当所述Ajax缓存存储的所述HTML5应用程序的数据的MD5值与WEB服务器存储的所述HTML5应用程序的数据相同时,则结束。
请参阅图5为本发明实施例二提供的实现离线应用的装置中更新单元的结构图,所述更新单元包括:更新请求接收模块51、URL地址修改模块52、发送模块53及更新执行模块54,
更新请求接收模块51,用于接收对所述HTML5应用程序对应的数据的更新请求;
URL地址修改模块52,用于根据所述更新请求,修改所述HTML5应用程序对应的URL地址;
发送模块53,用于发送修改后的URL地址至WEB服务器,以使所述WEB服务器根据所述修改后的URL地址返回所述HTML5应用程序对应的数据;
更新执行模块54,用于根据WEB服务器返回的所述HTML5应用程序对应的数据,更新Ajax缓存存储的所述HTML5应用程序对应的数据。
可选的,所述URL地址修改模块52,具体用于根据所述刷新请求,在所述HTML5应用程序对应的URL地址的参数中增加随机数。
本发明实施例提供的实现离线应用的装置可以使用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
值得注意的是,上述实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种实现离线应用的方法,其特征在于,所述方法包括:
当浏览器为离线状态时,根据HTML5应用程序访问请求,发送Ajax请求至Ajax缓存;
获取Ajax缓存根据所述Ajax请求返回的运行所述HTML5应用程序所需的数据;
根据所述运行所述HTML5应用程序所需的数据,运行所述HTML5应用程序。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当浏览器为在线状态时,通过js程序从WEB服务器预读运行所述HTML5应用程序所需的数据,并通过Ajax缓存存储所述数据。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当浏览器为在线状态时,对Ajax缓存存储的所述HTML5应用程序的数据与WEB服务器存储的所述HTML5应用程序的数据进行MD5校验;
当所述Ajax缓存存储的所述HTML5应用程序的数据的MD5值与WEB服务器存储的所述HTML5应用程序的数据不同时,则更新Ajax缓存存储的所述HTML5应用程序的数据;
当所述Ajax缓存存储的所述HTML5应用程序的数据的MD5值与WEB服务器存储的所述HTML5应用程序的数据相同时,则结束。
4.如权利要求3所述的方法,其特征在于,所述更新Ajax缓存存储的所述HTML5应用程序的数据包括:
接收对所述HTML5应用程序对应的数据的更新请求;
根据所述更新请求,修改所述HTML5应用程序对应的URL地址;
发送修改后的URL地址至WEB服务器,以使所述WEB服务器根据所述修改后的URL地址返回所述HTML5应用程序对应的数据;
根据WEB服务器返回的所述HTML5应用程序对应的数据,更新Ajax缓存存储的所述HTML5应用程序对应的数据。
5.如权利要求4所述的方法,其特征在于,所述根据所述更新请求,修改所述HTML5应用程序对应的URL地址具体为:
根据所述更新请求,在所述HTML5应用程序对应的URL地址的参数中增加随机数。
6.一种实现离线应用的装置,其特征在于,所述装置包括:
发送单元,用于当浏览器为离线状态时,根据HTML5应用程序访问请求,发送Ajax请求至Ajax缓存;
获取单元,用于获取Ajax缓存根据所述Ajax请求返回的运行所述HTML5应用程序所需的数据;
运行单元,用于根据所述运行所述HTML5应用程序所需的数据,运行所述HTML5应用程序。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
预读单元,用于当浏览器为在线状态时,通过js程序从WEB服务器预读运行所述HTML5应用程序所需的数据,并通过Ajax缓存存储所述数据。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
校验单元,用于当浏览器为在线状态时,对Ajax缓存存储的所述HTML5应用程序的数据与WEB服务器存储的所述HTML5应用程序的数据进行MD5校验;
更新单元,用于当所述Ajax缓存存储的所述HTML5应用程序的数据的MD5值与WEB服务器存储的所述HTML5应用程序的数据不同时,则更新Ajax缓存存储的所述HTML5应用程序的数据;
结束单元,用于当所述Ajax缓存存储的所述HTML5应用程序的数据的MD5值与WEB服务器存储的所述HTML5应用程序的数据相同时,则结束。
9.如权利要求8所述的装置,其特征在于,所述更新单元包括:
更新请求接收模块,用于接收对所述HTML5应用程序对应的数据的更新请求;
URL地址修改模块,用于根据所述更新请求,修改所述HTML5应用程序对应的URL地址;
发送模块,用于发送修改后的URL地址至WEB服务器,以使所述WEB服务器根据所述修改后的URL地址返回所述HTML5应用程序对应的数据;
更新执行模块,用于根据WEB服务器返回的所述HTML5应用程序对应的数据,更新Ajax缓存存储的所述HTML5应用程序对应的数据。
10.如权利要求9所述的装置,其特征在于,所述URL地址修改模块,具体用于根据所述更新请求,在所述HTML5应用程序对应的URL地址的参数中增加随机数。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310090189.3A CN104063269B (zh) | 2013-03-20 | 2013-03-20 | 一种实现离线应用的方法及装置 |
PCT/CN2013/088459 WO2014146458A1 (en) | 2013-03-20 | 2013-12-03 | Method for implementing off-line application and apparatus therefor |
US14/288,625 US20140289609A1 (en) | 2013-03-20 | 2014-05-28 | Method For Implementing Off-Line Application and Apparatus Therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310090189.3A CN104063269B (zh) | 2013-03-20 | 2013-03-20 | 一种实现离线应用的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063269A CN104063269A (zh) | 2014-09-24 |
CN104063269B true CN104063269B (zh) | 2019-01-08 |
Family
ID=51550993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310090189.3A Active CN104063269B (zh) | 2013-03-20 | 2013-03-20 | 一种实现离线应用的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104063269B (zh) |
WO (1) | WO2014146458A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808282A (zh) * | 2014-12-31 | 2016-07-27 | 北京神州泰岳软件股份有限公司 | 一种更新应用程序网页内容的方法和装置 |
CN104866340A (zh) * | 2015-04-29 | 2015-08-26 | 小米科技有限责任公司 | 终端设备软件更新方法及装置 |
CN110362322B (zh) * | 2018-04-11 | 2023-08-01 | 宏碁股份有限公司 | 电子装置与其离线更新程序的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298599A (zh) * | 2010-06-28 | 2011-12-28 | 宏碁股份有限公司 | 离线浏览网页方法及其系统 |
CN102497422A (zh) * | 2011-12-12 | 2012-06-13 | 沈文策 | 网络直播方法和网络直播系统 |
CN102708763A (zh) * | 2012-05-09 | 2012-10-03 | 黄海波 | 轻互动式广告实现方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087603A1 (en) * | 2009-10-13 | 2011-04-14 | Google Inc. | Cloud based media player and offline media access |
US20130060885A1 (en) * | 2011-09-02 | 2013-03-07 | Nokia Corporation | Method and apparatus for enabling offline web application execution |
-
2013
- 2013-03-20 CN CN201310090189.3A patent/CN104063269B/zh active Active
- 2013-12-03 WO PCT/CN2013/088459 patent/WO2014146458A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298599A (zh) * | 2010-06-28 | 2011-12-28 | 宏碁股份有限公司 | 离线浏览网页方法及其系统 |
CN102497422A (zh) * | 2011-12-12 | 2012-06-13 | 沈文策 | 网络直播方法和网络直播系统 |
CN102708763A (zh) * | 2012-05-09 | 2012-10-03 | 黄海波 | 轻互动式广告实现方法 |
Non-Patent Citations (2)
Title |
---|
"Building an almighty data retrieval system for all HTML5 webapps";Ohad Kravchick;《http://myok12.wordpress.com/2011/08/19/Building-an-almighty-data-retrieval-system-for-all-HTML5-webapps》;20110819;全文 |
"TUTORIAL_ How AJAX, jQuery and HTML5 Work Together";kaidez;《http://www.kaidez.comajax-jquery-html5-work-together》;20110106;"Start Using HTML5 With AJAX and jQuery" |
Also Published As
Publication number | Publication date |
---|---|
CN104063269A (zh) | 2014-09-24 |
WO2014146458A1 (en) | 2014-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180191625A1 (en) | Active application response delay time | |
US8825790B2 (en) | Caching of fragmented streaming media | |
JP6073366B2 (ja) | アプリケーション駆動のcdnのプリキャッシング | |
CN106161569B (zh) | 网络内容的推荐、缓存替换方法和设备 | |
WO2016026384A1 (zh) | 一种客户端页面显示方法、装置及系统 | |
CN107463613A (zh) | 页面加载方法及装置 | |
CN104796439B (zh) | 网页推送方法、客户端、服务器及系统 | |
CN103888934B (zh) | 一种移动终端缓存管理装置及管理方法 | |
JP2015509229A5 (zh) | ||
CN103152367A (zh) | 一种缓存的动态维护更新方法及系统 | |
CN109992406B (zh) | 图片请求方法、响应图片请求的方法及客户端 | |
US8516041B1 (en) | Pre-fetching asynchronously requested content | |
CN102456035A (zh) | 一种网页资源缓存控制方法、装置及系统 | |
US11641389B2 (en) | Proactive conditioned prefetching and origin flooding mitigation for content delivery | |
CN104063269B (zh) | 一种实现离线应用的方法及装置 | |
CN110933140A (zh) | Cdn存储分配方法、系统及电子设备 | |
CN104602034B (zh) | 一种移动网页的播放方法和系统 | |
CN108170745A (zh) | 一种访问web端缓存数据的方法及终端 | |
CN105279034A (zh) | 一致性缓存控制系统和方法 | |
CN104219272B (zh) | 缓存更新方法、终端和系统 | |
TW202013983A (zh) | 多媒體教材的處理方法、裝置及多媒體播放設備 | |
US20180324273A1 (en) | Data Access Method and Device | |
CN110209964A (zh) | 一种页面显示方法、装置及设备 | |
CN111859225A (zh) | 程序文件的访问方法、装置、计算设备和介质 | |
CN109741088A (zh) | 一种广告命中率预估方法、预估装置及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |