一种页面更新方法及装置与流程

文档序号:11250917阅读:531来源:国知局
一种页面更新方法及装置与流程

本发明涉及计算机领域中页面数据处理技术,尤其涉及一种页面更新方法及装置。



背景技术:

随着互联网信息技术的不断发展,越来越多的智能终端,如智能手机、笔记本电脑、平板电脑、智能手表等被开发出来,并广泛地应用在生活的方方面面;相应的,安装在这些智能终端上的应用(app,application)可以分为原生应用、web应用、以及混合应用。

其中,原生应用,是指专门针对某一类智能终端而开发的应用,例如,针对ios操作系统开发的应用或者针对android操作系统开发的应用,都可以称之为原生应用,且这类应用可以直接在对应的智能终端的操作系统上运行;web应用,简单来说是指一种基于浏览器而设计开发的应用,web应用可以利用智能终端上的浏览器,比如windows系统中的ie浏览器、iphone中的safari浏览器来运行,且这类应用是在各种不同的操作系统上运行的;而混合应用,顾名思义就是指原生应用与web应用的结合体,可见,混合应用兼具了原生应用和web应用的特点,通常是在应用中内嵌一个或多个网页视图(webview),通过webview来加载网页数据。

由于混合应用兼具了原生应用具备的良好用户交互体验的优势,以及web应用具备的跨平台开发的优势,因此,目前智能终端上的一些主流应用都在朝着混合应用的方向发展。而智能终端上的app在运行过程中,app客户端为用户所显示的页面常常会出现各种更新,比如客户端当前显示页面中的图标、图片或者页面中所显示的文字内容发生了更新等,且这种情况在混合应用和web应用中更为常见。

目前,为达到对app客户端所显示的页面进行更新的目的,往往需要app客户端向服务器请求更新后的页面的全量数据,并下载更新后的页面的全量数据到app客户端本地,进而根据下载的页面数据重新生成页面,并为用户加载更新后的页面。以混合应用为例,用户在使用混合应用时,混合应用中的web应用部分会时刻向服务器发送请求,以检测当前显示的页面是否发生更新,当检测到当前显示的页面发生更新时,app客户端将向服务器请求更新后的页面的全部数据,并将这些全部数据下载到app客户端本地,然后根据下载到本地的页面数据重新生成更新后的页面,并展示给用户。

很显然,上述现有的这种页面更新方法,通常在页面每次发生更新时,均需要下载更新后的页面的全量数据,这样会造成用户流量的浪费;此外,当用户当前所处的网络环境如2g网络较差时,往往需要较长的时间才能够将更新后的页面的全量数据下载到客户端本地,而在全量数据下载过程中,app客户端可能无法为用户展示更新后的页面,或者仅能为用户展示更新前的页面,从而导致用户体验较差。



技术实现要素:

有鉴于此,本发明实施例期望提供一种页面更新方法及装置,能够有效节省网络流量,提高页面响应速度,同时保证即时更新终端上页面的展示内容。

为达到上述目的,本发明实施例的技术方案是这样实现的:

本发明实施例提供一种页面更新方法,预先获取本地存储的全量页面数据;所述方法还包括:

app客户端向服务器发送更新数据的查询请求,所述查询请求中携带有标识信息,所述标识信息用于供服务器判断所述app客户端当前请求的页面数据是否发生更新,以及在判断出有更新时确定发生更新的页面数据;

所述app客户端根据所述发生更新的页面数据和本地存储的全量页面数据,生成更新后的显示页面。

上述方案中,所述页面数据的类型包括:文字类型的页面数据、图片类型的页面数据、样式类型的页面数据;

在所述获取本地存储的全量页面数据之后,所述方法还包括:根据页面数据的不同类型,将所述全量页面数据划分为至少两个子页面数据,每个子页面数据对应有唯一标识。

上述方案中,所述app客户端向服务器发送更新数据的查询请求,包括:

将各子页面数据的唯一标识携带于所述查询请求中,所述子页面数据的唯一标识用于供服务器与本地存储的对应类型的子页面数据的唯一标识进行比较,并将发生变化的唯一标识对应的页面数据确定为发生更新的页面数据。

上述方案中,所述app客户端向服务器发送更新数据的查询请求,包括:

将更新后各显示页面的位置信息携带于所述查询请求中,所述位置信息用于供服务器比较更新前后显示页面中同一位置区域内的页面数据是否相同,并将处于同一位置区域内发生变化的页面数据确定为发生更新的页面数据。

上述方案中,在所述生成更新后的显示页面之后,所述方法还包括:加载所述更新后的显示页面,并展示给用户。

本发明实施例还提供一种页面更新装置,所述装置包括:获取模块、发送模块、生成模块;其中,

所述获取模块,用于预先获取本地存储的全量页面数据;

所述发送模块,用于向服务器发送更新数据的查询请求,所述查询请求中携带有标识信息,所述标识信息用于供服务器判断app客户端当前请求的页面数据是否发生更新,以及在判断出有更新时确定发生更新的页面数据;

所述生成模块,用于根据所述发生更新的页面数据和本地存储的全量页面数据,生成更新后的显示页面。

上述方案中,所述页面数据的类型包括:文字类型的页面数据、图片类型的页面数据、样式类型的页面数据;

所述装置还包括:划分模块,用于在所述获取模块获取本地存储的全量页面数据之后,根据页面数据的不同类型,将所述全量页面数据划分为至少两个子页面数据,每个子页面数据对应有唯一标识。

上述方案中,所述发送模块,具体用于:将各子页面数据的唯一标识携带于所述查询请求中,所述子页面数据的唯一标识用于供服务器与本地存储的对应类型的子页面数据的唯一标识进行比较,并将发生变化的唯一标识对应的页面数据确定为发生更新的页面数据。

上述方案中,所述发送模块,还具体用于:将更新后各显示页面的位置信息携带于所述查询请求中,所述位置信息用于供服务器比较更新前后显示页面中同一位置区域内的页面数据是否相同,并将处于同一位置区域内发生变化的页面数据确定为发生更新的页面数据。

上述方案中,所述装置还包括:展示模块,用于在所述生成模块生成更新后的显示页面之后,加载所述更新后的显示页面,并展示给用户。

本发明实施例所提供的页面更新方法及装置,预先获取本地存储的全量页面数据;app客户端向服务器发送更新数据的查询请求,所述查询请求中携带有标识信息,所述标识信息用于供服务器判断所述app客户端当前请求的页面数据是否发生更新,以及在判断出有更新时确定发生更新的页面数据;所述app客户端根据所述发生更新的页面数据和本地存储的全量页面数据,生成更新后的显示页面。如此,在对app客户端的显示页面进行更新时,无需类似于现有技术下载更新后的页面的全量数据,而只需下载本次更新的页面数据,这样,不仅可以节约网络流量和下载资源,还能够提高页面响应速度,同时保证终端上页面展示内容更新的即时性,从而提升用户的使用体验。

附图说明

图1为本发明实施例一提供的页面更新方法的实现流程示意图;

图2为本发明实施例二提供的页面更新方法的具体实现流程示意图;

图3为本发明实施例二提供的一种更新前的显示页面的示意图;

图4为本发明实施例二提供的一种更新后的显示页面的示意图;

图5为本发明实施例二提供的另一种更新后的显示页面的示意图;

图6为本发明实施例三提供的页面更新装置的组成结构示意图。

具体实施方式

为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。

在本发明实施例中,所述智能终端可以包括但不限于智能手机、平板、掌上电脑等电子设备。

实施例一

如图1所示,本发明实施例中页面更新方法的实现流程,包括以下步骤:

步骤101:预先获取本地存储的全量页面数据;

这里,可将页面数据划分为几种不同类型的数据,例如:文字类型的页面数据、图片类型的页面数据、样式类型的页面数据等,这样,app客户端就可以根据页面数据中的样式类型数据,确定显示页面的样式布局,并根据页面数据中的文字类型数据以及图片类型数据,确定显示页面中具体显示的内容,从而根据获取到的页面数据渲染生成全量显示页面。

在执行本步骤之后,所述方法还包括:根据页面数据的不同类型,将所述全量页面数据划分为至少两个子页面数据,每个子页面数据对应有唯一标识。

需要说明的是,这里采用唯一标识可以便于对全量页面数据中划分的各个子页面数据进行区分,即可以为全量页面数据中的各个子页面数据设置唯一标识;所述唯一标识,既可以是子页面数据对应的压缩包的包名,也可以是通过加密算法如md5对子页面数据进行加密而得到的一段字符串等,因此,只要能够唯一表示该子页面数据的变量,均可以作为该子页面数据的唯一标识。

步骤102:app客户端向服务器发送更新数据的查询请求,所述查询请求中携带有标识信息,所述标识信息用于供服务器判断所述app客户端当前请求的页面数据是否发生更新,以及在判断出有更新时确定发生更新的页面数据;

这里,所述查询请求中携带有已经下载到app客户端本地的不同类型的子页面数据的唯一标识、以及不同类型的子页面数据在显示页面中所处的位置标识等标识信息。

这里,本步骤具体包括:将各子页面数据的唯一标识携带于所述查询请求中,所述子页面数据的唯一标识用于供服务器与本地存储的对应类型的子页面数据的唯一标识进行比较,并将发生变化的唯一标识对应的页面数据确定为发生更新的页面数据;或者,

将更新后各显示页面的位置信息携带于所述查询请求中,所述位置信息用于供服务器比较更新前后显示页面中同一位置区域内的页面数据是否相同,并将处于同一位置区域内发生变化的页面数据确定为发生更新的页面数据。

步骤103:所述app客户端根据所述发生更新的页面数据和本地存储的全量页面数据,生成更新后的显示页面。

这里,在执行本步骤之后,所述方法还包括:加载所述更新后的显示页面,并展示给用户。

这里,所述app客户端可采用各种已有的或新的渲染技术,根据所述发生更新的页面数据和本地存储的全量页面数据,生成更新后的显示页面,这里不做限定。

采用本发明实施例提供的页面更新方法,在对页面进行更新时,只需下载本次更新的页面数据,相比于现有的页面更新方法中需要下载更新后的页面的全量数据,本发明实施例很明显的为用户节约了网络流量以及下载资源,提高了页面响应速度,大大提升了用户的使用体验。

实施例二

下面对本发明实施例页面更新方法的具体实现过程做进一步地详细说明。

图2给出了本发明实施例页面更新方法的具体实现流程示意图,如图2所示,包括以下步骤:

步骤201:在app客户端首次启动时,该app客户端会向服务器发送下载数据的请求,并从服务器下载全量页面数据;

通常来说,所述页面数据主要包括:主文档页面(page)、以及与该显示页面的显示相关的数据,例如,层叠样式列表(css,cascadingstylesheet)数据、图片数据、文字数据等,且这些不同的数据在app生成显示页面时可以起到不同的功能。因此,可将页面数据划分成几种不同类型的数据,如文字类型的页面数据、图片类型的页面数据、以及样式类型的页面数据等。这样,app客户端就可以根据下载到的页面数据中的样式类型数据,确定显示页面的样式布局,并根据页面数据中的文字类型数据以及图片类型数据,确定显示页面中具体显示的内容,从而根据下载的页面数据渲染生成全量显示页面。

举例来说,app客户端在根据页面数据中的css样式文件完成显示页面的布局后,可以进一步地通过webview来加载页面数据中的文字类型数据以及图片类型数据,从而达到生成显示页面的目的。

这里,在从服务器下载全量页面数据后,根据页面数据的不同类型,将所述全量页面数据划分为至少两个子页面数据。

需要说明的是,为了便于对全量页面数据中的各个子页面数据进行区分,可以为全量页面数据中的各个子页面数据设置唯一标识;该唯一标识既可以是子页面数据对应的压缩包的包名,也可以是通过加密算法如md5对子页面数据进行加密而得到的一段字符串等,因此,只要能够唯一表示该子页面数据的变量,均可以作为该子页面数据的唯一标识。另外,app客户端在从服务器下载全量页面数据时,会对应下载全量页面数据中包含的各个子页面数据的唯一标识,并将全量页面数据和各个子页面数据的唯一标识都保存至app客户端本地。

步骤202:再次启动app时,app客户端向服务器发送更新数据的查询请求;

这里,所述查询请求中可以携带有已经下载到app客户端本地的不同类型的子页面数据的唯一标识、以及不同类型的子页面数据在显示页面中所处的位置标识等标识信息。

步骤203:根据所述查询请求中携带的标识信息,确定发生更新的页面数据;

步骤204:根据所述发生更新的页面数据以及事先下载到本地的全量页面数据,生成更新后的显示页面;

具体来说,app客户端可以在向服务器发送更新数据的查询请求时,在查询请求中携带有已经下载到app客户端本地的不同类型的子页面数据的唯一标识,这样,服务器在接收到app客户端发送的更新数据的查询请求后,可以将所述查询请求中携带的子页面数据的唯一标识与本地存储的对应类型的子页面数据的唯一标识进行比较,以判断该app客户端当前请求的页面数据是否发生更新,当服务器中保存的子页面数据的唯一标识中存在至少一个查询请求中不包含的唯一标识时,则确定所述app客户端当前请求的页面数据发生了更新,进而服务器将发生更新的页面数据发送至该app客户端。

下面以页面数据为图片类型数据为例,来详细说明下确定发生更新的页面数据的过程。

比如,app客户端在向服务器发送的更新数据的查询请求中携带有图片类型数据的唯一标识为1、2、3、4、5,而服务器中保存的页面数据中图片类型数据的唯一标识为1、2、3,则服务器将更新数据的查询请求中携带的唯一标识与服务器中保存的图片类型数据的唯一标识进行比较,可以判断出该app客户端当前请求的页面数据发生了更新,也就是说,唯一标识为4、5的页面数据为增加的页面数据,或者称之为增量页面数据,即为发生更新的页面数据,此时,将与唯一标识4、5对应的页面数据发送至该app客户端。这里,与唯一标识4、5对应的页面数据既可以显示在原有页面数据,即与唯一标识1、2、3对应的页面数据的上、下方,也可以显示在与唯一标识1、2、3对应的页面数据的左、右侧,本发明在此不做具体限定,只需使得更新后的与唯一标识1、2、3、4、5对应的页面数据在终端的显示页面上完整、工整的显示。

又如,图3给出了一种更新前的显示页面的示意图,如图3所示,图中app的显示页面中包括a~g共7张图片,这里,可将a~g作为区分图片的唯一标识。在app首次启动时,该app对应的客户端已经从服务器中下载了有关图片a~g的数据,后续在使用该app时,可根据预先下载的图片a~g的数据生成显示页面中的图片a~g。假设在某次页面更新过程中,将图片a更新为图片1,这里,图片a与图片1所占的区域大小相同,且图片b~g仍保持不变,则更新后当用户再次启动该app时,该app客户端首先会向服务器发送更新数据的查询请求,以查询该app的显示页面是否发生了更新,在服务器确定出app发生了更新,且确定发生更新的页面数据为图片1后,该app仅需要从服务器下载用于生成图片1的页面数据即可,后续可以根据新下载的图片1的数据,以及预先下载到本地的图片b~g的数据,渲染生成如图4所示的更新后的显示页面。

这里,可采用各种已有的或新的渲染技术,根据新下载的图片1的数据,以及预先下载到本地的图片b~g的数据,生成更新后的显示页面,这里不做限定。

另外,需要特别指出的是,对于图片a与图片1所占的区域大小不同的情况,在将图片a更新为图片1之后,还需要终端系统自动对更新后的图片1、b~g的位置重新进行页面布局的调整,使得终端的显示页面得到完美、工整的显示。这里,可以采用各种已有的或新的调整方法对更新后的图片1、b~g的位置进行页面布局的调整,这里不做限定。

需要说明的是,还是以页面数据为图片类型数据为例,除了可以通过对更新数据的查询请求中携带的唯一标识与服务器中保存的对应类型页面数据的唯一标识进行比较,以确定发生更新的页面数据之外,还可以根据图片在显示页面中所处的位置区域,来确定发生更新的页面数据。其中,所述图片在显示页面中所处的位置区域,是指在app生成的显示页面中,每一张完整的图片在该显示页面中所占的位置区域。

具体来说,当服务器中保存的页面数据发生更新后,服务器可以根据更新后的页面数据,确定更新后的显示页面中各图片所占的位置区域,而app同样可以根据本地保存的更新前的页面数据来确定更新前的显示页面中各图片所占的位置区域,进而app客户端在向服务器发送更新数据的查询请求时,可以在该查询请求中携带更新前的显示页面中各图片所占的位置区域的信息,通过比较更新前后显示页面中同一位置区域内的图片数据是否相同,以确定此次发生更新的页面数据。

同样,app显示页面的样式也可以按照上述方式进行更新,例如,某个app在更新前的显示页面如图3所示,该显示页面中包括a~g共7张图片,以及“首页”、“订单”、“收藏”、“我的”这4个应用图标。假如在临近圣诞节的时候,负责该app的研发人员为该app设计了圣诞风格的显示页面样式,并将更新包上传至app客户端的后台服务器,则当用户在更新后再次启动该app时,app客户端会向服务器发送更新数据的查询请求,以从服务器下载本次需要更新的圣诞风格的显示页面样式,并将更新后下载的增量页面数据以及本地预先保存的显示页面样式数据,渲染生成更新后的显示页面,如图5所示,图5中“首页”、“订单”、“收藏”、“我的”这4个应用图标即更新成了圣诞风格的图标。

这里需要强调的是,上述是以在app的显示页面发生更新后,再次启动该app为例,对本发明实施例提供的页面更新方法进行的介绍,但可以理解的是,本发明实施例提供的页面更新方法除了可以在app启动时进行,还可以在已经启动的app进行页面刷新时实现,例如,app在使用过程中,假设该app对应的后台服务器对该app的显示页面进行了更新,则用户可以通过刷新该页面,以使得app在进行页面刷新时,通过本发明实施例提供的上述页面更新方法从服务器下载发生更新的页面数据,进而可以根据发生更新的页面数据以及本地保存的页面数据,渲染生成更新后的显示页面,并在页面刷新后显示该更新后的显示页面,这里不再详细说明。

步骤205:app客户端刷新、加载更新后的显示页面,并将所述更新后的显示页面展示给用户。

采用本发明实施例提供的页面更新方法,在对页面进行更新时,只需下载本次更新的页面数据,相比于现有的页面更新方法中需要下载更新后的全量页面数据,本发明实施例很明显的为用户节约了网络流量以及下载资源,提高了页面响应速度,大大提升了用户的使用体验。

实施例三

为实现上述方法,本发明实施例还提供了一种页面更新装置,如图6所示,该装置包括获取模块601、发送模块602、生成模块603;其中,

所述获取模块601,用于预先获取本地存储的全量页面数据;

所述发送模块602,用于向服务器发送更新数据的查询请求,所述查询请求中携带有标识信息,所述标识信息用于供服务器判断app客户端当前请求的页面数据是否发生更新,以及在判断出有更新时确定发生更新的页面数据;

所述生成模块603,用于根据所述发生更新的页面数据和本地存储的全量页面数据,生成更新后的显示页面。

这里,所述页面数据的类型包括:文字类型的页面数据、图片类型的页面数据、样式类型的页面数据,这样,就可以根据页面数据中的样式类型数据,确定显示页面的样式布局,并根据页面数据中的文字类型数据以及图片类型数据,确定显示页面中具体显示的内容,从而根据获取到的页面数据渲染生成全量显示页面。

所述装置还包括:划分模块604,用于在所述获取模块601获取本地存储的全量页面数据之后,根据页面数据的不同类型,将所述全量页面数据划分为至少两个子页面数据,每个子页面数据对应有唯一标识。

所述唯一标识,既可以是子页面数据对应的压缩包的包名,也可以是通过加密算法如md5对子页面数据进行加密而得到的一段字符串等,因此,只要能够唯一表示该子页面数据的变量,均可以作为该子页面数据的唯一标识。

这里,所述发送模块602,具体用于:将各子页面数据的唯一标识携带于所述查询请求中,所述子页面数据的唯一标识用于供服务器与本地存储的对应类型的子页面数据的唯一标识进行比较,并将发生变化的唯一标识对应的页面数据确定为发生更新的页面数据。

所述发送模块602,还具体用于:将更新后各显示页面的位置信息携带于所述查询请求中,所述位置信息用于供服务器比较更新前后显示页面中同一位置区域内的页面数据是否相同,并将处于同一位置区域内发生变化的页面数据确定为发生更新的页面数据。

这里,所述装置还包括:展示模块605,用于在所述生成模块603生成更新后的显示页面之后,加载所述更新后的显示页面,并展示给用户。

在实际应用中,所述获取模块601、发送模块602、生成模块603、划分模块604、展示模块605均可由位于智能终端上的中央处理器(cpu,centralprocessingunit)、微处理器(mpu,microprocessorunit)、数字信号处理器(dsp,digitalsignalprocessor)、或现场可编程门阵列(fpga,fieldprogrammablegatearray)等实现。

本发明实施例预先获取本地存储的全量页面数据;app客户端向服务器发送更新数据的查询请求,所述查询请求中携带有标识信息,所述标识信息用于供服务器判断所述app客户端当前请求的页面数据是否发生更新,以及在判断出有更新时确定发生更新的页面数据;所述app客户端根据所述发生更新的页面数据和本地存储的全量页面数据,生成更新后的显示页面。如此,在对app客户端的显示页面进行更新时,无需类似于现有技术下载更新后的页面的全量数据,而只需下载本次更新的页面数据,这样,不仅可以节约网络流量和下载资源,还能够提高页面响应速度,同时保证终端上页面展示内容更新的即时性,从而提升用户的使用体验。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

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

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

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

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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