一种加载页面数据的方法、装置及系统与流程

文档序号:27549375发布日期:2021-11-24 22:02阅读:71来源:国知局
1.本发明涉及通信
技术领域
:,尤其涉及一种加载页面数据的方法、装置及系统。
背景技术
::2.随着智能设备和移动互联网的相互促进,针对用户设备开发的软件的数量越来越大,功能越来越多样化,应用场景也越来越丰富。3.软件在被用户设备下载并安装软件后,软件开发者还需要对软件进行漏洞修复、功能扩展等更新操作,因此软件常常需要进行版本更新。传统的软件更新方式中,在新版本的软件发布后,用户需要下载并安装新版本的软件,用时较长且操作繁琐,频繁进行软件更新会非常影响用户体验。为避免影响用户的使用体验,现有技术中提出了动态化更新软件的技术。现有技术中动态化更新软件的方式主要包括:基于插件化技术的方式和基于解释型语言实现的页面交互逻辑的方式;然而基于插件化技术的方式在针对单个页面更新时冗余数据太多,不适合即时页面访问;基于解释型语言实现的页面交互逻辑的方式,则会到导致软件的运行效率下降。因此如何减少或避免单个页面对应的数据包中的冗余数据,进而实现页面动态加载和显示是一个亟待解决的问题。技术实现要素:4.有鉴于此,本发明提供了一种加载页面数据的方法、装置及系统,用于减少或避免单个页面对应的数据包中的冗余数据,进而实现页面动态加载和显示。5.为了实现上述目的,本发明实施例提供技术方案如下:6.第一方面,本发明实施例提供一种加载页面数据的方法,应用于用户设备,所述方法包括:7.确定待显示的目标页面;8.向服务器发送用于请求所述目标页面对应的数据包的请求信息;所述请求信息包括:所述目标页面的标识和第一标识集合;所述第一标识集合为第二标识集合中所述用户设备已加载的页面的标识组成的集合;所述第二标识集合为所述目标页面所属的软件程序包中的所有页面的标识组成的集合;9.接收所述服务器发送的所述目标页面对应的数据包;10.作为本发明实施例一种可选的实施方式,在确定待显示的目标页面之后,所述方法还包括:11.查找本地缓存是否存储有所述目标页面对应的数据包;12.若是,则从本地缓存中读取所述目标页面对应的数据包;13.若否,则向所述服务器发送所述请求信息。14.作为本发明实施例一种可选的实施方式,所述请求信息还包括:所述用户设备的屏幕信息;15.所述用户设备的屏幕信息包括以下信息中的一项或多项:16.所述用户设备的屏幕尺寸、所述用户设备的屏幕分辨率以及所述用户设备的屏幕的单位面积内包含的像素点的数量。17.作为本发明实施例一种可选的实施方式,所述方法还包括:18.基于所述目标页面对应的数据包显示所述目标页面。19.作为本发明实施例一种可选的实施方式,在基于所述目标页面对应的数据包显示所述目标页面之前,所述方法还包括:20.验证所述目标页面对应的数据包是否合法;21.在所述目标页面对应的数据包合法的情况下,基于所述目标页面对应的数据包显示所述目标页面。22.作为本发明实施例一种可选的实施方式,所述确定待显示的目标页面,包括:23.接收用户输入的关键词;24.向所述服务器发送所述关键词;25.接收所述服务器发送的至少一个页面标识;26.显示所述至少一个页面标识;27.接收用户对所述至少一个页面标识中的目标页面标识的输入;28.确定所述目标页面标识对应的页面为所述目标页面。29.第二方面,本发明实施例提供一种加载页面数据的方法,应用于服务器,所述方法还包括:30.接收用户设备发送的用于请求目标页面对应的数据包的请求信息;所述请求信息包括:所述目标页面的标识和第一标识集合;所述第一标识集合为第二标识集合中所述用户设备已加载的页面的标识组成的集合;所述第二标识集合为所述目标页面所属的软件程序包中的所有页面的标识组成的集合;31.确定显示所述目标页面所需的数据;32.根据所述第一标识集合获取所述用户设备已加载的数据;33.根据显示所述目标页面所需的数据和所述用户设备已加载的数据,确定增量数据;34.根据所述增量数据生成所述目标页面对应的数据包;35.向所述用户设备发送所述目标页面对应的数据包。36.作为本发明实施例一种可选的实施方式,所述请求信息还包括:所述用户设备的屏幕信息;所述用户设备的屏幕信息包括以下信息中的一项或多项:所述用户设备的屏幕尺寸、所述用户设备的屏幕分辨率以及所述用户设备的屏幕的单位面积内包含的像素点的数量;37.所述根据所述增量数据生成所述目标页面对应的数据包,包括:38.从所述增量类和所述增量资源中提取所述屏幕信息对应的数据;39.将所述屏幕信息对应的数据封装为所述目标页面对应的数据包。40.作为本发明实施例一种可选的实施方式,所述确定显示所述目标页面所需的数据,包括:41.查找页面分析记录中是否包含所述目标页面的分析记录;42.若是,则根据所述页面分析记录确定所述确定显示所述目标页面所需的数据;43.若否,则解析所述目标页面确定显示所述目标页面所需的数据。44.作为本发明实施例一种可选的实施方式,所述解析所述目标页面确定显示所述目标页面所需的数据,包括:45.确定所述目标页面涉及的类、所述目标页面涉及的资源、所述目标页面依赖的类以及所述目标页面依赖的资源;46.将所述目标页面涉及的类、所述目标页面涉及的资源、所述目标页面依赖的类以及所述目标页面依赖的资源,确定为显示所述目标页面所需的数据。47.作为本发明实施例一种可选的实施方式,在解析所述目标页面确定显示所述目标页面所需的数据之后,所述方法还包括:48.将所述目标页面的解析记录保存至所述页面分析记录中。49.作为本发明实施例一种可选的实施方式,所述方法还包括:50.接收所述用户设备发送的关键词;51.基于所述关键词进行搜索,获取至少一个页面标识;52.向所述用户设备发送所述至少一个页面标识。53.第三方面,本发明实施例提供一种用户设备,包括:54.确定单元,用于确定待显示的目标页面;55.发送单元,用于向服务器发送用于请求所述目标页面对应的数据包的请求信息;所述请求信息包括:所述目标页面的标识和第一标识集合;所述第一标识集合为第二标识集合中所述用户设备已加载的页面的标识组成的集合;所述第二标识集合为所述目标页面所属的软件程序包中的所有页面的标识组成的集合;56.接收单元,用于接收所述服务器发送的所述目标页面对应的数据包;57.作为本发明实施例一种可选的实施方式,所述用户设备还包括:58.查找单元,用于确定本地缓存是否存储有所述目标页面对应的数据包;59.读取单元,用于在本地缓存存储有所述目标页面对应的数据包的情况下,从本地缓存中读取所述目标页面对应的数据包;60.所述发送单元具体用于,在本地缓存中没有存储所述目标页面对应的数据包的情况下,向所述服务器发送所述请求信息。61.作为本发明实施例一种可选的实施方式,所述请求信息还包括:所述用户设备的屏幕信息;62.所述用户设备的屏幕信息包括以下信息中的一项或多项:63.所述用户设备的屏幕尺寸、所述用户设备的屏幕分辨率以及所述用户设备的屏幕的单位面积内包含的像素点的数量。64.作为本发明实施例一种可选的实施方式,所述用户设备还包括:65.处理单元,用于基于所述目标页面对应的数据包显示所述目标页面。66.作为本发明实施例一种可选的实施方式,所述用户设备还包括:67.验证单元,用于验证所述目标页面对应的数据包是否合法;68.所述处理单元还用于,在所述目标页面对应的数据包合法的情况下,基于所述目标页面对应的数据包显示所述目标页面。69.作为本发明实施例一种可选的实施方式,所述确定单元包括:70.输入模块,用于接收用户输入的关键词;71.发送模块,用于向所述服务器发送所述关键词;72.接收模块,用于接收所述服务器发送的至少一个页面标识;73.显示模块,用于显示所述至少一个页面标识;74.所述输入模块还用于,接收用户对所述至少一个页面标识中的目标页面标识的输入;75.处理模块,用于确定所述目标页面标识对应的页面为所述目标页面。76.第四方面,本发明实施例提供一种服务器,包括:77.接收单元,用于接收用户设备发送的用于请求目标页面对应的数据包的请求信息;所述请求信息包括:所述目标页面的标识和第一标识集合;所述第一标识集合为第二标识集合中所述用户设备已加载的页面的标识组成的集合;所述第二标识集合为所述目标页面所属的软件程序包中的所有页面的标识组成的集合;78.第一确定单元,用于确定所述显示所述目标页面所需的数据;79.第二确定单元,用于根据所述第一标识集合获取所述用户设备已加载的数据;80.处理单元,用于根据显示所述目标页面所需的数据以及所述用户设备已加载的数据,确定增量数据;81.封装单元,用于根据所述增量数据生成所述目标页面对应的数据包;82.发送单元,用于向所述用户设备发送所述目标页面对应的数据包。83.作为本发明实施例一种可选的实施方式,所述请求信息还包括:所述用户设备的屏幕信息;所述用户设备的屏幕信息包括以下信息中的一项或多项:所述用户设备的屏幕尺寸、所述用户设备的屏幕分辨率以及所述用户设备的屏幕的单位面积内包含的像素点的数量;84.所述服务器还包括:85.提取单元,用于从所述增量数据中提取所述屏幕信息对应的数据;86.所述封装单元还用于,将所述屏幕信息对应的数据封装为所述目标页面对应的数据包。87.作为本发明实施例一种可选的实施方式,所述第一确定单元,包括:88.查找模块,用于查找页面分析记录中是否包含所述目标页面的分析记录;89.读取模块,用于在所述页面分析记录中包含所述目标页面的分析记录的情况下,根据所述页面分析记录确定所述显示所述目标页面所需的数据;90.解析模块,用于在所述页面分析记录中不包含所述目标页面的分析记录的情况下,解析所述目标页面确定显示所述目标页面所需的数据。91.作为本发明实施例一种可选的实施方式,所述解析模块具体用于,确定所述目标页面涉及的类、所述目标页面涉及的资源、所述目标页面依赖的类以及所述目标页面依赖的资源;将所述目标页面涉及的类、所述目标页面涉及的资源、所述目标页面依赖的类以及所述目标页面依赖的资源,确定为显示所述目标页面所需的数据。92.作为本发明实施例一种可选的实施方式,所述服务器还包括:93.记录单元,用于将所述目标页面的解析记录保存至所述页面分析记录中。94.作为本发明实施例一种可选的实施方式,所述接收单元还用于,接收所述用户设备发送的关键词;95.所述处理单元还用于,基于所述关键词进行搜索,获取至少一个页面标识;96.所述发送单元还用于,向所述用户设备发送所述至少一个页面标识。97.第五方面,本发明实施例提供一种加载页面数据的系统,包括:用户设备和服务器;98.所述用户设备包括上述第三方面或第三方面任一种可选的实施例方式所述的用户设备;99.所述服务器包括上述第四方面或第四方面任一种可选的实施例方式所述的服务器。100.第六方面,本发明实施例提供一种用户设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面任一种可选的实施例方式所述的加载页面数据的方法。101.第七方面,本发明实施例提供一种服务器,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第二方面或第二方面任一种可选的实施例方式所述的加载页面数据的方法。102.第八方面,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器实现上述第一方面或第一方面任一种可选的实施例方式或第二方面或第二方面任一种可选的实施例方式所述的加载页面数据的方法。103.本发明实施例提供的加载页面数据的方法中,当用户设备确定待显示的目标页面后,向服务器发送用于请求所述目标页面对应的数据包的请求信息;由于请求信息包括:所述目标页面的标识和第一标识集合;所述第一标识集合为第二标识集合中所述用户设备已加载的页面的标识组成的集合;所述第二标识集合为所述目标页面所属的软件程序包中的所有页面的标识组成的集合,因此服务器可以根据所述第一标识集合获取所述用户设备已加载的数据,进而根据显示所述目标页面所需的数据以及所述用户设备已已加载的数据,滤除显示所述目标页面所需的数据中用户设备已加载的资源和类,确定增量数据,并根据增量数据生成所述目标页面对应的数据包发送至用户设备。由于本发明实施例实施例可以滤除显示所述目标页面所需的数据中用户设备已加载的数据,因此本发明实施例可以减少目标页面对应的数据包中的冗余数据,进而实现目标页面的动态加载和显示。附图说明104.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。105.图1为本发明实施例提供的加载页面数据的系统的示意性结构图;106.图2为本发明实施例提供的加载页面数据的方法的交互流程图之一;107.图3为本发明实施例提供的加载页面数据的方法的交互流程图之二;108.图4为本发明实施例提供的加载页面数据的方法的的场景示意图;109.图5为本发明实施例提供的用户设备的示意性结构图之一;110.图6为本发明实施例提供的用户设备的示意性结构图之二;111.图7为本发明实施例提供的服务器的示意性结构图之一;112.图8为本发明实施例提供的服务器的示意性结构图之一;113.图9为本发明实施例提供的用户设备的硬件结构图;114.图10为本发明实施例提供的服务器的硬件结构图。具体实施方式115.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。116.本发明的说明书和权利要求书中的术语“第一”和“第二”等是用于区别同步的对象,而不是用于描述对象的特定顺序。例如,第一接口和第二接口等是用于区别不同的接口,而不是用于描述接口的特定顺序。117.在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。此外,在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。118.以下首先对实现本发明实施例提供的加载页面数据的方法的加载页面数据的系统进行说明。参照图1所示,本发明实施例提供的加载页面数据的系统包括:用户设备100和服务器200。119.用户设备100包括:一个用于加载页面的壳android应用程序包(androidapplicationpackage,apk),壳apk的核心在于具有动态页面管理引擎10,动态页面管理引擎10包括:显示单元101、下载解析单元102以及加载管理单元103。其中,显示单元101用于获取本地曾经使用过的或者预置的页面,或通过与服务器之间的接口获取搜索到的页面或者云端推荐的页面,并显示获取到的页面的标识,以供用户根据浏览需求选择想要浏览的页面。下载解析单元102,用于向服务器请求目标页面对应的数据包,以及在目标页面对应的数据包下载到本地后对目标页面对应的数据包进行解析,获取目标页面对应的数据包中的数据(包括显示目标页面所需类和资源)。加载管理单元103,用于将下载解析单元102获取的fragment的类加载到activity页面中并启动运行,从而实现目标页面的显示。需要说明的是,用户设备100可以加载的页面具有分组和页面标识的属性,同一分组的页面属于一个apk。用户设备100可以加载的页面的实体数据(数据包)包括两种,一种为独立分组数据,即用户设备100所加载的软件数据包是一个独立分组数据包,数据包包含有多个页面及相关依赖数据,另一种为部分数据,即用户设备100所加载的软件数据包仅包括一个页面对应的数据。120.服务器200主要包括:页面搜索单元201、上传管理单元202、依赖分析单元203、封包单元204以及数据库205。其中,页面搜索单元201,用于基于关键词对目标页面进行搜索,并返回给用户设备100一个可能的目标页面列表。上传管理单元202,用于在向服务器上传基于fragment实现页面的apk包时,解析apk包涉及的fragment类,并提示上传者编辑对应fragment的描述信息(包括:是否是独立页面、是否为分组的主入口等信息),以及在获取描述信息后将apk包以及相关信息存入数据库205中,供后续的页面搜索使用。依赖分析单元203,用于解析页面确定显示页面所需的数据(包括:页面所涉及的类、页面所涉及的类资源、页面所依赖的非安卓framework层带有的系统类,以及这些类中所依赖的资源);依赖分析单元203还用于在对页面解析后将页面解析结果存入数据库,以便后需直接从数据库205中读取页面的解析记录。封包单元204,用于根据用户设备100已经加载过的页面的数据,以及显示当前请求的页面所需的数据,获取一个当前请求的页面的最小的差分数据包,并将该差分数据包封装后发送给用户设备100。121.基于上述内容,本发明实施例提供了一种加载页面数据的方法,具体的,参照图2所示,本发明实施例提供的加载页面数据的方法包括如下步骤:122.s11、用户设备确定待显示的目标页面。123.即,用户设备确定用户想要浏览的软件页面。124.示例性的,目标页面可以为获取所述用户设备曾经使用过的页面,或者预置的页面,或通过与服务器之间的接口获取搜索到的页面或者云端推荐的页面中的页面。125.s12、用户设备向服务器发送用于请求所述目标页面对应的数据包的请求信息。126.对应的,服务器接收用户设备发送的用于请求所述目标页面对应的数据包的请求信息。127.其中,所述请求信息包括:所述目标页面的标识和第一标识集合;所述第一标识集合为第二标识集合中所述用户设备已加载的页面的标识组成的集合;所述第二标识集合为所述目标页面所属的软件程序包中的所有页面的标识组成的集合。128.由于只有与目标页面属于同一个apk的页面的数据才能够用于目标页面的显示,而其他apk中的页面对应的数据即使文件名称相同,也会因为编写语言、编写习惯等不同而无法用于目标页面的显示,因此上述步骤s12中仅获取目标页面所属的apk中已被用户设备加载的页面。129.示例性的,当目标页面所属的pak中包括:页面a、页面b、页面c、页面d四个页面,页面a为目标页面,页面a、页面b、页面c、页面d的标识分别为:标识a、标识b、标识c、标识d,用户设备已加载的页面包括页面b、页面c、页面e时,软件程序包中的所有页面的标识组成的集合为[标识a,标识b,标识c,标识d],因此第二标识集合为[标识a,标识b,标识c,标识d];第二标识集合中所述用户设备已加载的页面的标识组成的集合为[标识b,标识c],因此第一标识集合为[标识b,标识c]。[0130]可选的,本发明实施例中的页面的标识用于唯一标识一个页面,具体可以包括该页面的身份识别码(identitydocument,id)、版本标识、加载时间、哈希(hash)码中的一个或多个。[0131]需要说明的是,在本发明实施例中不但两个不同页面的标识不同,而且一个页面的不同版本的标识也不相同,即在一个页面更新后,其页面标识也会发生变化。[0132]s13、服务器确定显示所述目标页面所需的数据。[0133]可选的,显示所述目标页面所需的数据包括:所述目标页面涉及的类、所述目标页面涉及资源、页面所依赖的非安卓framework层带有的系统类以及这些类所涉及的资源。其中,所述目标页面涉及的资源包括目标页面的dex文件、xml文件、图像、字符等资源文件。[0134]示例性的,目标页面涉及的类包括类1和类2,目标页面涉及的资源包括资源1和资源2,类1依赖类3,类3依赖类4,资源1依赖资源3,则显示所述目标页面所需的数据包括:资源1、资源2、资源3、类1、类2、类3以及类4。[0135]s14、服务器根据所述第一标识集合获取所述用户设备已加载的数据。[0136]具体的,用户设备已加载的页面的数据即为用户设备在显示已加载的页面时所加载的数据。例如:第一标识集合包括页面b和页面c的标识,显示页面b所需的资源包括资源2、显示页面b所需的类包括类3、显示页面c所需的资源包括资源2和资源3、显示页面b所需的类包括类1,则用户设备已加载的页面的数据包括:资源2、资源3、类1以及类3。[0137]s15、服务器根据显示所述目标页面所需的数据和所述用户设备已加载的数据,确定增量数据。[0138]可选的,可以对显示所述目标页面所需的数据和所述用户设备已加载的数据进行差分计算,从而确定增量数据。[0139]承上示例所述,显示所述目标页面所需的数据包括:资源1、资源2、资源3、类1、类2、类3以及类4,用户设备已加载的数据包括:资源2、资源3、类1以及类3,则增量资源包括:资源1,增量类包括类2和类4。[0140]s16、服务器根据所述增量数据生成所述目标页面对应的数据包。[0141]本发明实施例中对上述步骤s16中的数据包的生成方式不作限定,本领域技术人员可以根据数据包传输需求和数据包的解析需求采用任意封装方式生成数据包。[0142]s17、服务器向所述用户设备发送所述目标页面对应的数据包。[0143]对应的,用户设备接收所述服务器发送的所述目标页面对应的数据包。[0144]本发明实施例提供的加载页面数据的方法中,当用户设备确定待显示的目标页面后,向服务器发送用于请求所述目标页面对应的数据包的请求信息;由于请求信息包括:所述目标页面的标识和第一标识集合;所述第一标识集合为第二标识集合中所述用户设备已加载的页面的标识组成的集合;所述第二标识集合为所述目标页面所属的软件程序包中的所有页面的标识组成的集合,因此服务器可以根据所述第一标识集合获取所述用户设备已加载的数据,进而根据显示所述目标页面所需的数据以及所述用户设备已已加载的数据,滤除显示所述目标页面所需的数据中用户设备已加载的资源和类,确定增量数据,并根据增量数据生成所述目标页面对应的数据包发送至用户设备。由于本发明实施例实施例可以滤除显示所述目标页面所需的数据中用户设备已加载的数据,因此本发明实施例可以减少目标页面对应的数据包中的冗余数据,进而实现目标页面的动态加载和显示。[0145]为了更好的对上述图2所示的方法进行说明,作为对上述实施方式的细化和扩展,本发明实施例还提供了另一种加载页面数据的方法,具体的参照图3所示,本发明实施例提供的加载页面数据的方法包括:[0146]s201、用户设备接收用户输入的关键词。[0147]具体的,关键词可以为用户先要浏览的页面名称、简介、功能描述、以及页面中的字符中的一个或多个。[0148]s202、用户设备向所述服务器发送所述关键词。[0149]对应的,服务器接收所述用户设备设备发送的关键词。[0150]s203、服务器基于所述关键词进行搜索,获取至少一个页面标识。[0151]具体的,服务器基于所述关键词进行搜索,获取一个或多个用户可能想要浏览的页面。[0152]s204、服务器向所述用户设备发送所述至少一个页面标识。[0153]对应的,用户设备接收所述所述服务器发送的至少一个页面标识。[0154]s205、用户设备显示所述至少一个页面标识。[0155]可选的,除了上述步骤s201-s204所描述的获取所述至少一个页面标识的方式,本发明实施例中用户设备显示所述至少一个页面标识还可以为:获取所述用户设备曾经使用过的页面的标识,或者预置的页面的标识,或者云端推荐的页面的标识。[0156]s206、用户设备接收用户对所述至少一个页面标识中的目标页面标识的输入。[0157]具体的,用户对目标页面标识的输入可以为用户对目标页面标识点击操作,或者是用户输入的语音指令,或者是用户输入的特定手势,此外在本发明的一些实施例中,所述特定手势可以为单击手势、滑动手势、压力识别手势、长按手势、面积变化手势、双按手势、双击手势中的任意一种。[0158]s207、用户设备确定所述目标页面标识对应的页面为所述目标页面。[0159]示例性的,上述步骤s201至s207的应用场景可以如图4所示,用户首先在搜索界面的搜索框41中输入关键“天气”,用户设备将关键词发送至服务器,并接收服务器发送的至少一个页面标识后,将至少一个页面标识以页面标识列表的方式显示在显示界面42上,最后接收用户对目标页面标识43的触控点击操作,确定目标页面标识43对应的页面为所述目标页面。[0160]s208、用户设备查找本地缓存是否存储有所述目标页面对应的数据包。[0161]具体的,可以先获取目标页面的标识,然后基于目标页面的标识在本地缓存中查找是否存储有所述目标页面对应的数据包。[0162]需要说明的是,本发明实施例中本地缓存中存储有所述目标页面对应的数据包是指,本地缓存中存储有目标页面对应最新版本的数据包,若本地缓存中存储的目标页面对应的数据包不是最新版本的数据包,则确认本地缓存没有所述目标页面对应的数据包。[0163]在上述步骤s208中,若本地缓存中存储有所述目标页面对应的数据包,则直接加载目标页面对应的数据包,并跳转至步骤s219,若本地缓存没有所述目标页面对应的数据包,则执行如下步骤s209。[0164]s209、用户设备向服务器发送用于请求所述目标页面对应的数据包的请求信息。[0165]对应的,服务器接收用户设备发送的用于请求目标页面对应的数据包的请求信息。[0166]其中,所述请求信息包括:所述目标页面的标识、第一标识集合以及用户设备的屏幕信息。[0167]所述第一标识集合为第二标识集合中所述用户设备已加载的页面的标识组成的集合;所述第二标识集合为所述目标页面所属的软件程序包中的所有页面的标识组成的集合。[0168]所述用户设备的屏幕信息包括以下信息中的一项或多项:所述用户设备的屏幕尺寸、所述用户设备的屏幕分辨率以及所述用户设备的屏幕的单位面积内包含的像素点的数量。[0169]可选的,用户设备的屏幕的单位面积内包含的像素点的数量可以为用户设备屏幕的每英寸像素点数量(dotsperinch,dpi)。[0170]s210、服务器查找页面分析记录中是否包含所述目标页面的分析记录。[0171]在上述步骤s210中,若页面分析记录中包含所述目标页面的分析记录执行如下步骤s211,而若页面分析记录中不包含所述目标页面的分析记录执行如下步骤s212。[0172]s211、服务器根据所述页面分析记录确定显示所述目标页面所需的数据。[0173]s212、服务器解析所述目标页面确定显示所述目标页面所需的数据。[0174]可选的,上述步骤s212(解析所述目标页面确定显示所述目标页面所需的数据)包括:[0175]确定所述目标页面涉及的类、所述目标页面涉及的资源、所述目标页面依赖的类以及所述目标页面依赖的资源;[0176]将所述目标页面涉及的资源和所述目标页面依赖的资源确定为显示所述目标页面所需的资源,将所述目标页面涉及的类和所述目标页面依赖的类确定显示所述目标页面所需的类。[0177]s213、服务器根据所述第一标识集合获取所述用户设备已加载的数据。[0178]s214、服务器根据显示所述目标页面所需的数据和所述用户设备已加载的数据,确定增量数据。[0179]s215、服务器从所述增量数据中提取所述屏幕信息对应的数据。[0180]即,服务器从所述增量数据中提取与所述用户设备的屏幕信息相适应的数据。[0181]s216、服务器将所述屏幕信息对应的数据封装为所述目标页面对应的数据包。[0182]为了适应不同分辨率和不同尺寸的用户设备的屏幕,目标页面对应的数据包中包括与多种屏幕分辨率和多种屏幕尺寸相适应的数据,然而用户设备的屏幕仅需要获取与自身分辨率和屏幕尺寸相适应的数据,其余数据为冗余数据,上述实施例在获取所述增量数据的基础上,进一步从所述增量数据中提取所述屏幕信息对应的数据,并仅将屏幕信息对应的数据封装为所述目标页面对应的数据包,因此上述实施例可以进一步减少目标页面对应的数据包中的冗余数据。[0183]s217、服务器向所述用户设备发送所述目标页面对应的数据包。[0184]对应的,用户设备接收所述服务器发送的所述目标页面对应的数据包。[0185]s218、用户设备验证所述目标页面对应的数据包是否合法。[0186]具体的,用户设备验证所述目标页面对应的数据包是否合法可以包括以下至少一项:[0187]对所述目标页面对应的数据包进行数据完整性校验;[0188]对所述目标页面对应的数据包进行正确性验证。[0189]其中,对所述目标页面对应的数据包进行数据完整性校验可以包括:通过消息摘要算法(message-digestalgorithm,md5)对所述目标页面对应的数据包进行数据完整性校验。对所述目标页面对应的数据包进行正确性验证可以包括:分析所述目标页面对应的数据包的包头文件确定所述目标页面对应的数据包的正确性。[0190]在上述步骤s218中,若所述目标页面对应的数据包合法,则执行如下步骤s219,若目标页面对应的数据包不合法,则返回步骤s209,重新向服务器发送请求信息,以重新获取所述目标页面对应的数据包。[0191]s219、用户设备基于所述目标页面对应的数据包显示所述目标页面。[0192]可选的,用户设备可以通过如下步骤a-步骤c实现基于所述目标页面对应的数据包显示所述目标页面:[0193]步骤a、解析所述目标页面对应的数据包,获取显示所述目标页面所需的数据。[0194]步骤b、根据显示所述目标页面所需的数据中的dex文件反射确定所述目标页面的fragment类。[0195]步骤c、基于显示所述目标页面所需的数据,在当前activity页面启动所述目标页面的fragment类对应的fragment页面。[0196]本实施例提供的加载页面数据的方法与图2所示加载页面数据的方法可以达到的技术效果类似,此处不再赘述。[0197]基于同一发明构思,作为对上述方法的实现,本发明实施例还提供了一种执行方法实施例中用户设备所执行步骤流程的用户设备以及执行方法实施例中服务器所执行步骤流程的服务器,该实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的用户设备和服务器能够对应实现前述方法实施例中的全部内容。[0198]图5为本发明实施例提供的用户设备的结构示意图,参照图5所示,本发明实施例提供的用户设备500包括:[0199]确定单元51,用于确定待显示的目标页面;[0200]发送单元52,用于向服务器发送用于请求所述目标页面对应的数据包的请求信息;所述请求信息包括:所述目标页面的标识和第一标识集合;所述第一标识集合为第二标识集合中所述用户设备已加载的页面的标识组成的集合;所述第二标识集合为所述目标页面所属的软件程序包中的所有页面的标识组成的集合;[0201]接收单元53,用于接收所述服务器发送的所述目标页面对应的数据包。[0202]作为本发明实施例一种可选的实施方式,参照图6所示,所述用户设备500还包括:[0203]查找单元54,用于确定本地缓存是否存储有所述目标页面对应的数据包;[0204]读取单元55,用于在本地缓存存储有所述目标页面对应的数据包的情况下,从本地缓存中读取所述目标页面对应的数据包;[0205]所述发送单元52具体用于,在本地缓存中没有存储所述目标页面对应的数据包的情况下,向所述服务器发送所述请求信息。[0206]作为本发明实施例一种可选的实施方式,[0207]所述请求信息还包括:所述用户设备的屏幕信息;[0208]所述用户设备的屏幕信息包括以下信息中的一项或多项:[0209]所述用户设备的屏幕尺寸、所述用户设备的屏幕分辨率以及所述用户设备的屏幕的单位面积内包含的像素点的数量。[0210]作为本发明实施例一种可选的实施方式,参照图6所示,所述用户设备500还包括:[0211]处理单元56,用于基于所述目标页面对应的数据包显示所述目标页面。[0212]作为本发明实施例一种可选的实施方式,参照图6所示,所述用户设备500还包括:[0213]验证单元57,用于验证所述目标页面对应的数据包是否合法;[0214]所述处理单元54具体用于,在所述目标页面对应的数据包合法的情况下,基于所述目标页面对应的数据包显示所述目标页面。[0215]作为本发明实施例一种可选的实施方式,参照图6所示,所述确定单元51包括:[0216]输入模块511,用于接收用户输入的关键词;[0217]发送模块512,用于向所述服务器发送所述关键词;[0218]接收模块513,用于接收所述服务器发送的至少一个页面标识;[0219]显示模块514,用于显示所述至少一个页面标识;[0220]所述输入模块511还用于,接收用户对所述至少一个页面标识中的目标页面标识的输入;[0221]处理模块515,用于确定所述目标页面标识对应的页面为所述目标页面。[0222]图7为本发明实施例提供的服务器的结构示意图,参照图7所示,本发明实施例提供的服务器700包括:[0223]接收单元71,用于接收用户设备发送的用于请求目标页面对应的数据包的请求信息;所述请求信息包括:所述目标页面的标识和第一标识集合;所述第一标识集合为第二标识集合中所述用户设备已加载的页面的标识组成的集合;所述第二标识集合为所述目标页面所属的软件程序包中的所有页面的标识组成的集合;[0224]第一确定单元72,用于确定所述显示所述目标页面所需的数据;[0225]第二确定单元73,用于根据所述第一标识集合获取所述用户设备已加载的数据;[0226]处理单元74,用于根据显示所述目标页面所需的数据以及所述用户设备已加载的数据,确定增量数据;[0227]封装单元75,用于根据所述增量数据生成所述目标页面对应的数据包;[0228]发送单元76,用于向所述用户设备发送所述目标页面对应的数据包。[0229]作为本发明实施例一种可选的实施方式,所述请求信息还包括:所述用户设备的屏幕信息;所述用户设备的屏幕信息包括以下信息中的一项或多项:所述用户设备的屏幕尺寸、所述用户设备的屏幕分辨率以及所述用户设备的屏幕的单位面积内包含的像素点的数量;[0230]参照图8所示,所述服务器700还包括:[0231]提取单元77,用于从所述增量数据中提取所述屏幕信息对应的数据;[0232]所述封装单元75还用于,将所述屏幕信息对应的数据封装为所述目标页面对应的数据包。[0233]作为本发明实施例一种可选的实施方式,参照图8所示,所述第一确定单元72,包括:[0234]查找模块721,用于查找页面分析记录中是否包含所述目标页面的分析记录;[0235]读取模块722,用于在所述页面分析记录中包含所述目标页面的分析记录的情况下,根据所述页面分析记录确定所述显示所述目标页面所需的数据;[0236]解析模块723,用于在所述页面分析记录中不包含所述目标页面的分析记录的情况下,解析所述目标页面确定显示所述目标页面所需的数据。[0237]作为本发明实施例一种可选的实施方式,所述解析模块723具体用于,确定所述目标页面涉及的类、所述目标页面涉及的资源、所述目标页面依赖的类以及所述目标页面依赖的资源;将所述目标页面涉及的资源和所述目标页面依赖的资源确定为显示所述目标页面所需的资源,将所述目标页面涉及的类和所述目标页面依赖的类确定显示所述目标页面所需的类。[0238]作为本发明实施例一种可选的实施方式,参照图8所示,所述服务器800还包括:[0239]记录单元78,用于将所述目标页面的解析记录保存至所述页面分析记录中。[0240]作为本发明实施例一种可选的实施方式,所述接收单元71还用于,接收所述用户设备发送的关键词;[0241]所述处理单元74还用于,基于所述关键词进行搜索,获取至少一个页面标识;[0242]所述发送单元76还用于,向所述用户设备发送所述至少一个页面标识。[0243]上述实施例提供的用户设备和服务器可以执行上述方法实施例提供的加载页面数据的方法,其实现原理与技术效果类似,此处不再赘述。[0244]基于同一发明构思,本发明实施例还提供了一种用户设备。图9为本发明实施例提供的用户设备的结构示意图,如图9所示,本实施例提供的用户设备包括:存储器91和处理器92,存储器91用于存储计算机程序;处理器92用于在调用计算机程序时执行上述加载页面数据的方法中用户设备所执行的步骤。[0245]示例性的,本发明实施例中的用户设备可以为手机、平板电脑(portableandroiddevice,pad)、智能手表、车载设备等。[0246]基于同一发明构思,本发明实施例还提供了一种服务器。图10为本发明实施例提供的服务器的结构示意图,如图10所示,本实施例提供的服务器包括:存储器101和处理器102,存储器101用于存储计算机程序;处理器102用于在调用计算机程序时执行上述加载页面数据的方法中服务器所执行的步骤。[0247]本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的加载页面数据的方法。[0248]本领域技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。[0249]处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。[0250]存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。[0251]计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。[0252]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1