CN110334297A - 终端页面的加载方法、终端、服务器及存储介质 - Google Patents
终端页面的加载方法、终端、服务器及存储介质 Download PDFInfo
- Publication number
- CN110334297A CN110334297A CN201810191577.3A CN201810191577A CN110334297A CN 110334297 A CN110334297 A CN 110334297A CN 201810191577 A CN201810191577 A CN 201810191577A CN 110334297 A CN110334297 A CN 110334297A
- Authority
- CN
- China
- Prior art keywords
- module
- page
- terminal
- loaded
- target pages
- 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.)
- Granted
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 80
- 230000004044 response Effects 0.000 claims abstract description 60
- 239000000872 buffer Substances 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000013507 mapping Methods 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 239000000428 dust Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 125000002061 L-isoleucyl group Chemical group [H]N([H])[C@]([H])(C(=O)[*])[C@](C([H])([H])[H])([H])C(C([H])([H])[H])([H])[H] 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种终端页面的加载方法、终端、服务器及存储介质,其中方法包括:向服务器发送用于请求目标页面的第一页面加载请求,并接收服务器响应第一页面加载请求返回的关于目标页面的模块信息文件;根据模块信息文件生成目标页面的页面模块信息,并将页面模块信息与终端缓存的本地模块信息进行比较,确定出目标页面的待加载模块标识;根据目标页面的标识和待加载模块标识生成第二页面加载请求,并向服务器发送第二页面加载请求;接收服务器响应第二页面加载请求返回的响应信息,根据响应信息包括的待加载模块和终端缓存的本地模块加载并显示目标页面。通过本发明实施例可以有效提高终端页面的加载效率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种终端页面的加载方法、终端、服务器及存储介质。
背景技术
随着互联网(World Wide Web,Web)技术的发展,终端的Web应用越来越广泛,同时这些Web应用的功能也越来越强大、复杂,从而导致支持这些Web应用功能实现的代码量也越来越大,一个普通的Web应用需要加载的资源文件通常达到200KB左右。但作为终端应用,终端可能面临的网络环境是比较复杂的,不同的网络环境下网络资源下载的速度相差很大。在2G环境、信号比较弱的无线保真(Wireless-fidelity,Wifi)、3G或者4G环境,网络资源下载的速度一般都不理想,可能只在30KBs左右,这种网络情况下,终端访问Web应用页面时,光加载200KB的资源文件就需要7秒左右,这无疑会严重影响用户的体验。故而如何提高Web应用的页面加载性能是目前亟需解决的问题。
发明内容
本发明实施例提供了一种终端页面的加载方法、终端、服务器及存储介质,可以有效提高终端页面的加载效率。
本发明实施例一方面提供了一种终端页面的加载方法,包括:
向服务器发送用于请求目标页面的第一页面加载请求,并接收所述服务器响应所述第一页面加载请求返回的关于所述目标页面的模块信息文件;
根据所述模块信息文件生成所述目标页面的页面模块信息,并将所述页面模块信息与终端缓存的本地模块信息进行比较,确定出所述目标页面的待加载模块标识;
根据所述目标页面的标识和所述待加载模块标识生成第二页面加载请求,并向所述服务器发送所述第二页面加载请求;
接收所述服务器响应所述第二页面加载请求返回的响应信息,根据所述响应信息包括的待加载模块和终端缓存的本地模块加载并显示所述目标页面。
本发明实施例一方面提供了另一种终端页面的加载方法,包括:
接收终端发送的用于请求目标页面的第一页面加载请求;
响应所述第一页面加载请求向所述终端返回关于所述目标页面的模块信息文件,所述模块信息文件用于指示所述终端确定待加载模块标识;
接收第二页面加载请求,所述第二页面加载请求是所述终端根据所述目标页面的标识和所述待加载模块标识生成并发送的;
响应所述第二页面加载请求,向所述终端返回响应信息,所述响应信息包括所述待加载模块标识所指示的待加载模块。
本发明实施例一方面提供了一种终端页面的加载装置,包括:
发送单元,用于向服务器发送用于请求目标页面的第一页面加载请求;
接收单元,用于接收所述服务器响应所述第一页面加载请求返回的关于所述目标页面的模块信息文件;
执行单元,用于根据所述模块信息文件生成所述目标页面的页面模块信息,并将所述页面模块信息与终端缓存的本地模块信息进行比较,确定出所述目标页面的待加载模块标识;
请求生成单元,用于根据所述目标页面的标识和所述待加载模块标识生成第二页面加载请求;
所述发送单元,还用于向所述服务器发送所述第二页面加载请求;
所述接收单元,还用于接收所述服务器响应所述第二页面加载请求返回的响应信息;
加载显示单元,用于根据所述响应信息包括的待加载模块和终端缓存的本地模块加载并显示所述目标页面。
本发明实施例一方面提供了另一种终端页面的加载装置,包括:
接收单元,用于接收终端发送的用于请求目标页面的第一页面加载请求;
发送单元,用于响应所述第一页面加载请求向所述终端返回关于所述目标页面的模块信息文件,所述模块信息文件用于指示所述终端确定待加载模块标识;
所述接收单元,还用于接收第二页面加载请求,所述第二页面加载请求是所述终端根据所述目标页面的标识和所述待加载模块标识生成并发送的;
所述发送单元,还用于响应所述第二页面加载请求,向所述终端返回响应信息,所述响应信息包括所述待加载模块标识所指示的待加载模块。
本发明实施例第一方面提供了一种终端,包括:处理器、网络接口和存储器,所述存储器存储有可执行程序代码,所述网络接口受所述处理器的控制用于收发消息,所述处理器用于调用所述可执行程序代码,执行上述终端页面的加载方法中所描述的终端的实现方式。
本发明实施例一方面提供了一种服务器,包括:处理器、网络接口和存储器,所述存储器存储有可执行程序代码,所述网络接口受所述处理器的控制用于收发消息,所述处理器用于调用所述可执行程序代码,执行上述终端页面的加载方法中所描述的服务器的实现方式。
本发明实施例一方面提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述终端页面的加载方法。
本发明实施例一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述终端页面的加载方法。
通过本发明实施例可以根据服务器返回的模块信息文件生成目标页面的页面模块信息,然后根据页面模块信息以及终端缓存的本地模块信息确定出目标页面的待加载模块标识,进而根据待加载模块标识从服务器获取待加载模块,并根据待加载模块和终端缓存的本地模块加载并显示目标页面,从而只需网络加载待加载模块,有效提高终端页面的加载效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种终端页面的加载系统的架构示意图;
图1b是本发明实施例提供的一种终端页面的加载方法的流程示意图;
图2是本发明实施例提供的一种终端页面的加载方法的流程示意图;
图3a是本发明实施例提供的一种页面与页面模块的依赖关系的示意图;
图3b是本发明实施例提供的一种页面与页面模块的依赖关系的示意图;
图3c是本发明实施例提供的一种页面与页面模块的依赖关系的示意图;
图3d是本发明实施例提供的一种页面与页面模块的依赖关系的示意图;
图4是本发明实施例提供的一种终端页面的加载装置的结构示意图;
图5是本发明实施例提供的一种终端页面的加载装置的结构示意图;
图6是本发明实施例提供的一种终端的结构示意图;
图7是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中所描述的终端具体可以包括智能手机、平板电脑、笔记本、台式机、移动互联网设备(Mobile Internet Device,MID)、智能可穿戴设备、车载终端等。
请参阅图1a和图1b,图1a为本发明实施例提供的一种终端页面的加载系统的架构示意图,本发明实施例提供的终端页面的加载系统包括终端1001、服务器1002和本地构建工具1003,终端1001、服务器1002和本地构建工具1003通过网络(例如互联网)连接。其中,本地构建工具1003用于建立关于目标页面的模块依赖关系文件和模块版本号文件,并将建立的模块依赖关系文件和模块版本号文件发送给服务器1002。服务器1002用于向终端1001提供关于目标页面的模块依赖关系文件、模块版本号文件和模块资源。终端1001用于接收用户输入的操作指令,并根据用户输入的操作指令确定出目标页面;然后从服务器1002和终端1001本地缓存中获取目标页面所依赖的模块,并加载目标页面所依赖的模块,从而实现目标页面,也即是终端页面的加载。
具体地,请参阅图1b,图1b为本发明实施例提供的一种终端页面的加载方法的流程示意图,包括以下步骤,101、本地构建工具1003建立关于目标页面的模块依赖关系文件和模块版本号文件,并将关于目标页面的模块依赖关系文件和模块版本号文件部署到服务器1002端。102、当服务器1002接收到终端1001发送的用于请求目标页面的加载请求时,服务器1002响应加载请求将目标页面的模块依赖关系文件和版本号文件发送给终端1001,终端1001根据目标页面的模块依赖关系文件和版本号文件,获取目标页面所依赖的模块的标识和版本号。103、终端1001根据目标页面所依赖的模块的标识分别检测目标页面所依赖的模块分别在终端1001是否有缓存。104、终端1001根据目标页面所依赖的模块的版本号检测终端1001本地缓存的目标页面所依赖的模块是否有更新。105、终端1001确定出终端1001本地无缓存或者终端1001有缓存但版本号有更新的目标页面所依赖的模块。106、终端1001确定出终端1001本地有缓存且版本号无更新的目标页面所依赖的模块。107、对于终端1001本地无缓存的目标页面所依赖的模块,终端1001从服务器1002获取最新的版本资源并缓存;对于终端1001本地有缓存但版本号有更新的目标页面所依赖的模块,终端1001从服务器1002获取最新的版本资源并对该模块进行更新。108、终端1001加载目标页面所依赖的模块,从而加载并显示目标页面。采用上述方式,对于终端本地有缓存且版本号无更新的目标页面所依赖的模块,无需从服务器获取版本资源,只需网络加载本地无缓存或者终端有缓存但版本号有更新的目标页面所依赖的模块,从而避免重复获取模块文件,有效提高终端页面的加载效率。
请参阅图2,图2为本发明实施例提供的一种终端页面的加载方法的流程示意图。本实施例中所描述的终端页面的加载方法,包括:
201、终端向服务器发送用于请求目标页面的第一页面加载请求。
相应的,所述服务器接收所述第一页面加载请求。
本发明实施例中,第一页面加载请求包括目标页面的标识,目标页面的标识可以是目标页面的接口路径(例如入口模块的路径值或者网页链接)。当终端接收到关于目标页面的访问请求时,生成目标页面的第一页面加载请求,并将第一页面加载请求发送给服务器。
202、所述服务器响应所述第一页面加载请求向所述终端返回关于所述目标页面的模块信息文件。
相应的,所述终端接收所述关于所述目标页面的模块信息文件。
本发明实施例中,服务器接收到终端发送的第一页面加载请求之后,首先获取第一页面加载请求包括的目标页面的标识,然后根据目标页面的标识从服务器端获取关于目标页面的模块信息文件。其中,该模块信息文件包括关于目标页面的模块依赖关系文件和模块版本号文件。服务器可以将目标页面的模块依赖关系文件和模块版本号文件内嵌在静态页面中,并将该静态页面返回给终端。服务器也可以以其他方式将目标页面的模块依赖关系文件和模块版本号文件返回给终端,本发明实施例不作限定。目标页面的模块依赖关系文件和模块版本号文件是页面构建工具在生成目标页面时生成的,页面构建工具在生成目标页面的模块依赖关系文件和模块版本号文件之后,将目标页面的模块依赖关系文件和模块版本号文件部署到服务器上。需要说明的是,页面构建工具可以是目标页面所属应用的应用开发工具,也可以是专门用于配置页面模块依赖关系文件和模块版本号文件的开发工具。目标页面的模块依赖关系文件和模块版本号文件可以是单独的文件,目标页面的模块依赖关系也可以包括在存储有目标页面所属应用的所有页面的模块依赖关系的文件中,目标页面所需模块的模块版本号可以包括在存储有目标页面所属应用的所有模块的模块版本号的文件中。
203、所述终端根据所述模块信息文件生成所述目标页面的页面模块信息。
本发明实施例中,终端根据目标页面的标识在目标页面的模块依赖关系文件和模块版本号文件中进行递归查询,得到目标页面的页面模块信息。目标页面的页面模块信息包括目标页面所需模块的页面模块标识,或者还包括目标页面所需模块的页面模块版本号。具体地,终端根据目标页面的标识在模块依赖关系文件中进行递归查询,获取到目标页面所需模块的页面模块标识;进一步地,终端根据目标页面所需模块的页面模块标识在目标页面的模块版本号文件中递归查询,获取到目标页面所需模块的页面模块标识所指示的页面模块的版本号。需要说明的是,目标页面的加载依赖一个或多个页面模块。
本发明实施例中,从目标页面的模块依赖关系文件中可以得到目标页面所需模块的页面模块标识,也即是得到目标页面所依赖的所有模块的页面模块标识。模块依赖关系文件可以是映射表的形式,也可以是代码的形式,还可以是其他的形式,本发明实施例不作限定。模块标识可以是模块的路径值。在应用开发时,页面构建工具会为应用的每个页面生成一个模块依赖关系的配置,即生成每个页面的模块依赖关系文件,表示每个页面加载时需要使用到的的模块,下面以模块依赖关系文件为代码的形式进行举例说明,如下代码示例:
dust.config({relation:{"/res/weixin/wxremit/js/mod/login.js":["/res/g/js/lib/zepto.js","/res/g/js/mobile/weixin/tools.js","/res/g/js/mobile/weixin/login.js","/res/g/js/mob ile/weixin/weixin.js","/res/weixin/wxremit/js/mod/config.js"],"/res/g/js/mod/speed.js":[],"/res/g/js/mod/log.js":[],"/res/weixin/wxremit/js/remittance.js":["/res/weixin/wxre mit/js/mod/ajax.js","/res/g/js/mobile/global/touch.js","/res/g/js/mod/form.js","/res/g/js/mobile/weixin/box_skin.js"]}})。
从上述代码可以看出,页面:"/res/weixin/wxremit/js/mod/login.js"所依赖的模块包括:模块:"/res/g/js/lib/zepto.js",模块:"/res/g/js/mobile/weixin/tools.js",模块:"/res/g/js/mobile/weixin/login.js",模块:"/res/g/js/mobile/weixin/weixin.js",模块:"/res/weixin/wxremit/js/mod/config.js"。
本发明实施例中,从目标页面的模块版本号文件中可以得到目标页面所需模块的页面模块版本号。模块版本号是对模块的内容数据加密后,截取的预设位数的目标字符串。具体地,首先对模块的当前内容数据进行压缩,然后采用消息摘要算法(Message DigestAlgorithm 5,MD5)对模块压缩后的内容数据进行加密,得到一字符串,最后采用截取算法从该字符串中计算出预设位数(例如10位)的目标字符串,并将该预设位数的目标字符串作为模块的模块版本号。采用上述方式,一方面可以确保只要模块的内容数据没有变化,则模块的模块版本号就不会改变,反之一旦模块的内容数据发生变化,则模块的模块版本号一定会改变;另一方面固定模块版本号的位数,可以节省存储空间,也可以提高模块版本号的对比效率。需要说明的是,模块的模块版本号可以是本地构建工具生成并发送给服务器的,也可以是服务器生成的,本发明实施例不作限定。
其中,模块版本号文件可以包括模块标识和模块版本号的映射关系,模块版本号文件可以是映射表的形式,也可以是代码的形式。下面以模块版本号文件为代码的形式进行举例说明,如下代码示例:
dust.config({onlineVersion:{"/res/g/js/lib/zepto.js":2734861976,"/res/g/js/mobil e/global/flipiscroll.js":1210436869,"/res/g/js/mobile/global/iscroll-lite.js":8164426042,"/res/g/js/mobile/global/jsencrypt.js":1225414850,"/res/g/js/mobile/global/touch.js":11294694608,"/res/g/js/mobile/weixin/box.js":5590605662,"/res/g/js/mobile/weixin/box_skin.js":4753484566}})。
从上述代码可以看出,模块:"/res/g/js/lib/zepto.js"对应的模块版本号为:2734861976,模块"/res/g/js/mobile/global/flipiscroll.js"对应的模块版本号为:1210436869,模块"/res/g/js/mobile/global/iscroll-lite.js"对应的模块版本号为:8164426042。
在一些可行的实施方式中,目标页面的页面模块信息也可以是服务器根据目标页面的模块信息文件生成的。具体地,服务器在接收到终端发送的用于请求目标页面的第一页面加载请求后,首先获取目标页面的模块依赖关系文件和模块版本号文件;然后根据目标页面的标识在目标页面的模块依赖关系文件和模块版本号文件中进行递归查询,得到目标页面的页面模块信息;最后,服务器将目标页面的页面模块信息返回给终端,相应地,终端接收服务器发送的目标页面的页面模块信息。
204、所述终端将所述页面模块信息与终端缓存的本地模块信息进行比较,确定出所述目标页面的待加载模块标识。
在一些可行的实施方式中,页面模块信息包括目标页面所需模块的页面模块标识,本地模块信息包括终端缓存的本地模块的本地模块标识。具体地,终端根据页面模块标识中的第一目标标识在本地模块标识中进行标识比较查询;如果标识比较查询的结果为本地模块标识中不存在与第一目标标识相同的第二目标标识,则说明第一目标标识所指示的页面模块终端本地还未缓存过,终端则将第一目标标识确定为待加载模块标识。其中,第一目标标识为页面模块标识中的任意一个,第二目标标识为本地模块标识中的任意一个,第一目标标识所指示的模块即为待加载模块。
在一些可行的实施方式中,页面模块信息包括目标页面所需模块的页面模块标识和页面模块版本号,本地模块信息包括终端缓存的本地模块的本地模块标识和本地模块版本号。具体地,终端首先根据页面模块标识中的第一目标标识在本地模块标识中进行标识比较查询;如果标识比较查询结果为本地模块标识中存在与页面模块标识中的第一目标标识相同的第二目标标识,终端则进一步检测第一目标标识对应的页面模块版本号与第二目标标识对应的本地模块版本号是否相同;如果第一目标标识对应的页面模块版本号与第二目标标识对应的本地模块版本号不相同,则说明终端本地缓存的第二目标标识所指示的本地模块的内容数据需要更新,终端则将第一目标标识确定为待加载模块标识。
其中,如果第一目标标识对应的页面模块版本号与第二目标标识对应的本地模块版本号相同,终端则进一步检测终端本地缓存的第二目标标识所指示的本地模块的内容数据是否满足加载条件,例如检测终端本地缓存的第二目标标识所指示的本地模块的内容数据是否完整,如果该本地模块的数据不完整,则确定不满足加载条件,如果该本地模块的数据完整,则确定满足加载条件。如果第二目标标识所指示的本地模块的内容数据不满足加载条件,则说明第二目标标识所指示的本地模块的内容数据缓存无效,终端则将第一目标标识确定为待加载模块标识;如果第二目标标识所指示的本地模块的内容数据满足加载条件,终端则确定第二目标标识所指示的本地模块的内容数据缓存有效,且不需要重新加载。
在一些可行的实施方式中,页面模块信息包括目标页面所需模块的页面模块标识和页面模块版本号的第一映射关系信息,本地模块信息包括终端缓存的本地模块标识和本地模块版本号的第二映射关系信息。其中,第一映射关系和第二映射关系可以是映射表的形式。具体地,终端根据模块的模块标识对第一映射关系信息和第二映射关系信息进行比较查询,得到待加载模块标识。需要说明的是,确定待加载模块标识的具体过程可参考上述描述,在此不再赘述。
205、所述终端根据所述目标页面的标识和所述待加载模块标识生成第二页面加载请求。
本发明实施例中,第二页面加载请求用于请求待加载模块。第二页面加载请求可以包括资源请求链接,资源请求链接是根据目标页面的标识和待加载模块标识以及预设规则生成的。其中,资源请求链接可以包括两部分内容,一部分内容是目标页面的接口路径,例如可以是目标页面的网页链接,如下示例:https://mqq-imgcache.gtimg.cn/c/=;另一部分内容是终端根据待加载模块标识生成的资源需求参数。假设确定出的待加载模块标识为a.js,b.js,c.js,d.js,则将两部分内容合并起来,就构成了用于请求待加载模块的资源请求链接:https://mqq-imgcache.gtimg.cn/c/=a.js,b.js,c.js,d.js。需要说明的是,资源请求链接还可以由其他参数构成,资源请求链接也可以是其他形式,本发明实施例不作限定。
206、所述终端向所述服务器发送所述第二页面加载请求。
相应地,所述服务器接收所述第二页面加载请求。
207、所述服务器响应所述第二页面加载请求,向所述终端返回响应信息,所述响应信息包括所述待加载模块标识所指示的待加载模块。
相应地,所述终端接收所述响应信息。
本发明实施例中,服务器接收到第二页面加载请求之后,首先获取第二页面加载请求中包括的资源请求链接;然后根据资源请求链接包括的资源需求参数,或者说根据资源请求链接包括的待加载模块标识在服务器端分别找到各个待加载模块的模块文件,该模块文件包括待加载模块的内容数据和模块版本号等信息;最后将获取到的待加载模块的模块文件携带在响应信息中发送给终端。需要说明的是,服务器可以将各个待加载模块的模块文件独立携带在响应信息中发送给终端;也可以将待加载模块的模块文件进行合并压缩后携带在响应信息中发送给终端。
208、所述终端根据所述响应信息包括的待加载模块和终端缓存的本地模块加载并显示所述目标页面。
本发明实施例中,终端接收到服务器响应第二页面加载请求返回的响应信息之后,首先获取响应信息中包括的待加载模块的内容数据,并获取目标页面的页面模块信息中除待加载模块标识以外的其他模块标识,以及从终端本地缓存中获取该其他模块标识所指示的模块的内容数据;然后加载待加载模块的内容数据和该其他模块标识所指示的模块的内容数据,也即是加载目标页面的页面模块信息中所有模块标识所指示的模块的内容数据,从而实现目标页面的加载并显示该目标页面。
在一些可行的实施方式中,终端接收到服务器响应第二页面加载请求返回的响应信息之后,首先提取响应信息中包括的待加载模块的内容数据和模块版本号;然后根据待加载模块的模块标识将待加载模块的内容数据和模块版本号缓存到终端的本地存储空间中。具体地,若终端本地未缓存过待加载模块,则终端新建模块文件,并将待加载模块的内容数据和模块版本号缓存到新建的模块文件中。若终端本地缓存有与待加载模块具有相同模块标识的本地模块,但该本地模块的版本号与待加载模块的版本号不相同,终端则将待加载模块的内容数据对应覆盖该本地模块的内容数据,并将该本地模块的版本号更新为待加载模块的版本号。若终端本地缓存有与待加载模块具有相同模块标识的本地模块,且该本地模块的版本号与待加载模块的版本号相同,但该本地模块的内容数据不符合加载条件,终端则将待加载模块的内容数据对应覆盖该本地模块的内容数据。需要说明的是,上述步骤也可以在终端加载并显示目标页面后执行。采用上述方式,可以实现页面模块缓存的精准管理,可以有效提高页面模块缓存的利用率,提升Web应用的页面加载性能。
需要说明的是,如果终端根据目标页面的页面模块信息以及终端缓存的本地模块信息,检测到目标页面所需的模块都缓存在终端的本地存储空间中,且目标页面所需模块的内容数据均不需要更新、均符合加载条件,终端则不生成第二页面加载请求,直接从终端本地缓存中获取目标页面所需模块的内容数据,并加载显示目标页面。
为便于理解本发明实施例中的技术方案,下面通过举例子的方式进行说明,请一并参见图3a、图3b、图3c和图3d。图3a、图3b、图3c和图3d为应用页面与页面模块的依赖关系的示意图,如图3a、图3b、图3c或图3d所示,应用A(APP-A)由页面Page A、Page B、Page C、Page X组成,应用B(APP-B)由页面Page A、Page X组成。每个页面需要加载若干个页面模块,其中,有些页面模块是某一页面特有的,例如图3a中的Page模块;有些页面模块是当前APP所有页面通用的,例如图3a中的APP模块;还有些页面模块是Web应用通用的,例如图3a中的底层模块。页面Page A加载时所依赖的页面模块包括图3a中虚线框内的页面模块,页面Page C加载时所依赖的页面模块包括图3b中虚线框内的页面模块。可以看出,页面PageA与页面Page C所依赖的模块中均包括模块A-Mod X和Mod Y,如图3a或图3b中的黑色区域所示。
假设APP-A包括的所有页面均未加载过,当终端第一次访问APP-A的Page A页面时,终端需要从服务器获取并缓存图3a中虚线框内所示的所有页面模块。当终端第一次访问APP-A的Page C页面时,由于页面Page C所依赖的模块中,模块A-Mod X和Mod Y已经缓存在本地,终端则只需要从服务器获取并缓存图3c中虚线框内所示的所有页面模块。采用上述方式,终端加载页面时只需从服务器获取终端本地未缓存的页面模块,可以避免重复获取页面模块,有效减少网络加载冗余,提高页面的加载效率。
进一步地,当图3d中虚线框内所示的所有页面模块需要更新时,本发明方案中,终端只需从服务器获取图3d中虚线框内所示的需要更新的页面模块对应的内容数据和版本号,来对图3d中虚线框内所示的需要更新的页面模块进行更新。结合图3a和图3b可知,图3d中虚线框内所示的需要更新的页面模块既包括页面Page A和Page C所依赖的页面模块,还包括其他模块。而现有方式,终端需要从服务器获取Page A、Page C以及其他页面所依赖的所有页面模块的内容数据和版本号,来对3d中虚线框内所示的需要更新的页面模块进行更新。故而本发明方案中,终端更新页面模块时只需从服务器获取需要更新的页面模块,可以避免获取不需要更新的页面模块的现象,有效减少网络加载冗余,从而节省页面模块更新时所需的网络流量和时间,提高页面的加载效率。
本发明实施例中,页面模块可以是js模块,模块化是一种将应用页面分离成独立功能部分的方法,可以将应用页面分割成多个独立的页面模块,每个页面模块具有不同的功能,且每个页面模块可以独自缓存。采用js模块,可以对各个页面模块进行独立处理,例如更新、修改等操作。终端采用localstorage的方式对页面模块进行缓存,localstorage是一种用来存储终端临时信息的对象,且只能存储字符串类型的对象。localStorage生命周期永久,除非用户手动或者开发人员使用相关的接口清除localStorage信息,否则localStorage信息将永远存在。利用localstorage来做页面模块的缓存,可以灵活控制页面模块缓存更新的时间。
本发明实施例中,首先,终端向服务器发送用于请求目标页面的第一页面加载请求,服务器响应第一页面加载请求向终端返回目标页面的页面模块信息,然后,终端将页面模块信息与终端缓存的本地模块信息进行比较,确定出目标页面的待加载模块标识,根据目标页面的标识和待加载模块标识确定第二页面加载请求,其次,终端向服务器发送第二页面加载请求,服务器响应第二页面加载请求向终端返回响应信息,最后,终端根据响应信息包括的待加载模块和终端缓存的本地模块加载并显示目标页面,从而只需网络加载待加载模块,有效提高终端页面的加载效率。
请参阅图4,图4为本发明实施例提供的一种终端页面的加载装置的结构示意图。本实施例中所描述的终端页面的加载装置,对应于前文所述的终端,所述终端页面的加载装置包括:
发送单元401,用于向服务器发送用于请求目标页面的第一页面加载请求;
接收单元402,用于接收所述服务器响应所述第一页面加载请求返回的关于所述目标页面的模块信息文件;
执行单元403,用于根据所述模块信息文件生成所述目标页面的页面模块信息,并将所述页面模块信息与终端缓存的本地模块信息进行比较,确定出所述目标页面的待加载模块标识;
请求生成单元404,用于根据所述目标页面的标识和所述待加载模块标识生成第二页面加载请求;
所述发送单元401,还用于向所述服务器发送所述第二页面加载请求;
所述接收单元402,还用于接收所述服务器响应所述第二页面加载请求返回的响应信息;
加载显示单元405,用于根据所述响应信息包括的待加载模块和终端缓存的本地模块加载并显示所述目标页面。
在一些可行的实施方式中,所述模块信息文件包括关于所述目标页面的模块依赖关系文件和模块版本号文件,所述执行单元403,具体用于:
根据所述模块依赖关系文件和所述模块版本号文件生成所述目标页面的页面模块信息。
在一些可行的实施方式中,关于所述目标页面的模块依赖关系文件和模块版本号文件是页面构建工具在生成所述目标页面时生成的,所述执行单元403根据所述模块依赖关系文件和所述模块版本号文件生成所述目标页面的页面模块信息的具体方式为:
根据所述目标页面的标识在所述模块依赖关系文件和所述模块版本号文件中进行递归查询,得到所述目标页面的页面模块信息。
在一些可行的实施方式中,所述页面模块信息包括所述目标页面所需模块的页面模块标识,所述本地模块信息包括终端缓存的本地模块的本地模块标识,所述执行单元403,具体用于:
根据所述页面模块标识中的第一目标标识在所述本地模块标识中进行标识比较查询;
如果标识比较查询的结果为所述本地模块标识中不存在与所述第一目标标识相同的第二目标标识,则将所述第一目标标识确定为待加载模块标识。
在一些可行的实施方式中,所述页面模块信息包括所述目标页面所需模块的页面模块标识和页面模块版本号,所述本地模块信息包括终端缓存的本地模块的本地模块标识和本地模块版本号,所述执行单元403,具体用于:
根据所述页面模块标识中的第一目标标识在所述本地模块标识中进行标识比较查询;
如果标识比较查询结果为所述本地模块标识中存在与所述页面模块标识中的第一目标标识相同的第二目标标识,则检测所述第一目标标识对应的页面模块版本号与所述第二目标标识对应的本地模块版本号是否相同;
如果不相同,则将所述第一目标标识确定为待加载模块标识。
在一些可行的实施方式中,所述页面模块信息包括所述目标页面所需模块的页面模块标识和页面模块版本号,所述本地模块信息包括终端缓存的本地模块的本地模块标识和本地模块版本号,所述执行单元403,具体用于:
根据所述页面模块标识中的第一目标标识在所述本地模块标识中进行标识比较查询;
如果标识比较查询结果为所述本地模块标识中存在与所述页面模块标识中的第一目标标识相同的第二目标标识,则检测所述第一目标标识对应的页面模块版本号与所述第二目标标识对应的本地模块版本号是否相同;
如果相同,则检测所述第二目标标识所指示的本地模块的内容数据是否满足加载条件;
如果不满足加载条件,则将所述第一目标标识确定为待加载模块标识。
在一些可行的实施方式中,所述页面模块信息包括所述目标页面所需模块的页面模块标识和页面模块版本号的第一映射关系信息,所述本地模块信息包括终端缓存的本地模块标识和本地模块版本号的第二映射关系信息,所述执行单元403,具体用于:
根据所述第一映射关系信息和所述第二映射关系信息进行比较,得到待加载模块标识。
在一些可行的实施方式中,所述终端页面的加载装置还包括:
提取单元406,用于提取所述响应信息中包括的待加载模块的内容数据和模块版本号;
缓存单元407,用于根据所述待加载模块的模块标识缓存所述待加载模块的内容数据和模块版本号。
在一些可行的实施方式中,模块版本号是对模块的内容数据加密后,截取的预设位数的目标字符串。
可以理解的是,本发明实施例的终端页面的加载装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本发明实施例中,发送单元401向服务器发送用于请求目标页面的第一页面加载请求,接收单元402接收服务器响应第一页面加载请求返回的关于目标页面的模块信息文件,执行单元403根据模块信息文件生成目标页面的页面模块信息,并将页面模块信息与终端缓存的本地模块信息进行比较,确定出目标页面的待加载模块标识,请求生成单元404根据目标页面的标识和待加载模块标识确定第二页面加载请求,并触发发送单元401向服务器发送第二页面加载请求,接收单元402接收服务器响应第二页面加载请求返回的响应信息,加载显示单元405根据响应信息包括的待加载模块和终端缓存的本地模块加载并显示目标页面,从而只需网络加载待加载模块,有效提高终端页面的加载效率。
请参阅图5,图5为本发明实施例提供的另一种终端页面的加载装置的结构示意图。本实施例中所描述的终端页面的加载装置,对应于前文所述的服务器,所述终端页面的加载装置包括:
接收单元501,用于接收终端发送的用于请求目标页面的第一页面加载请求;
发送单元502,用于响应所述第一页面加载请求向所述终端返回关于所述目标页面的模块信息文件,所述模块信息文件用于指示所述终端确定待加载模块标识;
所述接收单元501,还用于接收第二页面加载请求,所述第二页面加载请求是所述终端根据所述目标页面的标识和所述待加载模块标识生成并发送的;
所述发送单元502,还用于响应所述第二页面加载请求,向所述终端返回响应信息,所述响应信息包括所述待加载模块标识所指示的待加载模块。
在一些可行的实施方式中,所述模块信息文件包括关于所述目标页面的模块依赖关系文件和模块版本号文件。
在一些可行的实施方式中,所述目标页面的模块依赖关系文件和模块版本号文件是页面构建工具在生成所述目标页面时生成的。
在一些可行的实施方式中,所述终端页面的加载装置还包括:
获取单元503,用于根据所述待加载模块标识从服务器缓存中获取所述待加载模块标识所指示的待加载模块的内容数据和模块版本号;
其中,所述发送单元502,具体用于将所述待加载模块的内容数据和模块版本号携带在响应信息中返回给所述终端。
可以理解的是,本发明实施例的终端页面的加载装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本发明实施例中,接收单元501接收终端发送的用于请求目标页面的第一页面加载请求,发送单元502响应第一页面加载请求向终端返回关于目标页面的模块信息文件,模块信息文件用于指示终端确定待加载模块标识,接收单元501接收第二页面加载请求,第二页面加载请求是终端根据目标页面的标识和待加载模块标识生成并发送的,发送单元502响应第二页面加载请求,向终端返回响应信息,响应信息包括待加载模块标识所指示的待加载模块,从而只需网络加载待加载模块,有效提高终端页面的加载效率。
请参阅图6,图6为本发明实施例提供的一种终端的结构示意图。本实施例中所描述的终端,包括:处理器601、用户接口602、网络接口603及存储器604。其中,处理器601、用户接口602、网络接口603及存储器604可通过总线或其他方式连接,本发明实施例以通过总线连接为例。
其中,处理器601(或称CPU(Central Processing Unit,中央处理器))是终端的计算核心以及控制核心,其可以解析终端内的各类指令以及处理终端的各类数据,例如:CPU可以用于解析用户向终端所发送的开关机指令,并控制终端进行开关机操作;再如:CPU可以在终端内部结构之间传输各类交互数据,等等。用户接口602是实现用户与终端进行交互和信息交换的媒介,其具体体现可以包括用于输出的显示屏(Display)以及用于输入的键盘(Keyboard)等等,需要说明的是,此处的键盘既可以为实体键盘,也可以为触屏虚拟键盘,还可以为实体与触屏虚拟相结合的键盘。网络接口603可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等),受处理器601的控制用于收发数据。存储器604(Memory)是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器604既可以包括终端的内置存储器,当然也可以包括终端所支持的扩展存储器。存储器604提供存储空间,该存储空间存储了终端的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等,本发明对此并不作限定。
在本发明实施例中,处理器601通过运行存储器604中的可执行程序代码,执行如下操作:
通过网络接口603向服务器发送用于请求目标页面的第一页面加载请求,并接收所述服务器响应所述第一页面加载请求返回的关于所述目标页面的模块信息文件;
根据所述模块信息文件生成所述目标页面的页面模块信息,并将所述页面模块信息与终端缓存的本地模块信息进行比较,确定出所述目标页面的待加载模块标识;
根据所述目标页面的标识和所述待加载模块标识生成第二页面加载请求,并通过网络接口603向所述服务器发送所述第二页面加载请求;
通过网络接口603接收所述服务器响应所述第二页面加载请求返回的响应信息,根据所述响应信息包括的待加载模块和终端缓存的本地模块加载并显示所述目标页面。
在一些可行的实施方式中,所述模块信息文件包括关于所述目标页面的模块依赖关系文件和模块版本号文件,所述处理器601,具体用于:
根据所述模块依赖关系文件和所述模块版本号文件生成所述目标页面的页面模块信息。
在一些可行的实施方式中,关于所述目标页面的模块依赖关系文件和模块版本号文件是页面构建工具在生成所述目标页面时生成的,所述处理器601根据所述模块依赖关系文件和所述模块版本号文件生成所述目标页面的页面模块信息的具体方式为:
根据所述目标页面的标识在所述模块依赖关系文件和所述模块版本号文件中进行递归查询,得到所述目标页面的页面模块信息。
在一些可行的实施方式中,所述页面模块信息包括所述目标页面所需模块的页面模块标识,所述本地模块信息包括终端缓存的本地模块的本地模块标识,所述处理器601,具体用于:
根据所述页面模块标识中的第一目标标识在所述本地模块标识中进行标识比较查询;
如果标识比较查询的结果为所述本地模块标识中不存在与所述第一目标标识相同的第二目标标识,则将所述第一目标标识确定为待加载模块标识。
在一些可行的实施方式中,所述页面模块信息包括所述目标页面所需模块的页面模块标识和页面模块版本号,所述本地模块信息包括终端缓存的本地模块的本地模块标识和本地模块版本号,所述处理器601,具体用于:
根据所述页面模块标识中的第一目标标识在所述本地模块标识中进行标识比较查询;
如果标识比较查询结果为所述本地模块标识中存在与所述页面模块标识中的第一目标标识相同的第二目标标识,则检测所述第一目标标识对应的页面模块版本号与所述第二目标标识对应的本地模块版本号是否相同;
如果不相同,则将所述第一目标标识确定为待加载模块标识。
在一些可行的实施方式中,所述页面模块信息包括所述目标页面所需模块的页面模块标识和页面模块版本号,所述本地模块信息包括终端缓存的本地模块的本地模块标识和本地模块版本号,所述处理器601,具体用于:
根据所述页面模块标识中的第一目标标识在所述本地模块标识中进行标识比较查询;
如果标识比较查询结果为所述本地模块标识中存在与所述页面模块标识中的第一目标标识相同的第二目标标识,则检测所述第一目标标识对应的页面模块版本号与所述第二目标标识对应的本地模块版本号是否相同;
如果相同,则检测所述第二目标标识所指示的本地模块的内容数据是否满足加载条件;
如果不满足加载条件,则将所述第一目标标识确定为待加载模块标识。
在一些可行的实施方式中,所述页面模块信息包括所述目标页面所需模块的页面模块标识和页面模块版本号的第一映射关系信息,所述本地模块信息包括终端缓存的本地模块标识和本地模块版本号的第二映射关系信息,所述处理器601,具体用于:
根据所述第一映射关系信息和所述第二映射关系信息进行比较,得到待加载模块标识。
在一些可行的实施方式中,所述处理器601,还用于:
提取所述响应信息中包括的待加载模块的内容数据和模块版本号;
根据所述待加载模块的模块标识缓存所述待加载模块的内容数据和模块版本号。
在一些可行的实施方式中,模块版本号是对模块的内容数据加密后,截取的预设位数的目标字符串。
具体实现中,本发明实施例中所描述的处理器601、用户接口602、网络接口603及存储器604可执行本发明实施例提供的一种终端页面的加载方法中所描述的终端的实现方式,也可执行本发明实施例图3提供的一种终端页面的加载装置中所描述的实现方式,在此不再赘述。
本发明实施例中,处理器601首先通过网络接口603向服务器发送用于请求目标页面的第一页面加载请求,并接收服务器响应第一页面加载请求返回的关于目标页面的模块信息文件,然后根据模块信息文件生成目标页面的页面模块信息,并将页面模块信息与终端缓存的本地模块信息进行比较,确定出目标页面的待加载模块标识,根据目标页面的标识和待加载模块标识确定第二页面加载请求,并通过网络接口603向服务器发送第二页面加载请求,最后接收服务器响应第二页面加载请求返回的响应信息,根据响应信息包括的待加载模块和终端缓存的本地模块加载并显示目标页面,从而只需网络加载待加载模块,有效提高终端页面的加载效率。
请参阅图7,图7为本发明实施例提供的一种服务器的结构示意图。本实施例中所描述的服务器,包括:处理器701、网络接口702及存储器703。其中,处理器701、网络接口702及存储器703可通过总线或其他方式连接,本发明实施例以通过总线连接为例。
其中,处理器701(或称中央处理器(Central Processing Unit,CPU))是服务器的计算核心以及控制核心。网络接口702可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等),受处理器701的控制用于收发数据。存储器703(Memory)是服务器的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器703可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器701的存储装置。存储器703提供存储空间,该存储空间存储了服务器的操作系统和可执行程序代码,可包括但不限于:Windows系统(一种操作系统)、Linux(一种操作系统)系统等等,本发明对此并不作限定。
在本发明实施例中,处理器701通过运行存储器703中的可执行程序代码,执行如下操作:
通过网络接口702接收终端发送的用于请求目标页面的第一页面加载请求;
响应所述第一页面加载请求通过网络接口702向所述终端返回关于所述目标页面的页面模块信息,所述页面模块信息用于指示所述终端确定待加载模块标识;
通过网络接口702接收第二页面加载请求,所述第二页面加载请求是所述终端根据所述目标页面的标识和所述待加载模块标识生成并发送的;
响应所述第二页面加载请求,通过网络接口702向所述终端返回响应信息,所述响应信息包括所述待加载模块标识所指示的待加载模块。
在一些可行的实施方式中,所述模块信息文件包括关于所述目标页面的模块依赖关系文件和模块版本号文件。
在一些可行的实施方式中,所述目标页面的模块依赖关系文件和模块版本号文件是页面构建工具在生成所述目标页面时生成的。
在一些可行的实施方式中,所述处理器701,具体用于:
根据所述待加载模块标识从服务器缓存中获取所述待加载模块标识所指示的待加载模块的内容数据和模块版本号;
将所述待加载模块的内容数据和模块版本号携带在响应信息中通过网络接口702返回给所述终端。
具体实现中,本发明实施例中所描述的处理器701、网络接口702及存储器703可执行本发明实施例提供的一种终端页面的加载方法中所描述的服务器的实现方式,也可执行本发明实施例图4提供的一种终端页面的加载装置中所描述的实现方式,在此不再赘述。
本发明实施例中,处理器701通过网络接口702接收终端发送的用于请求目标页面的第一页面加载请求,并响应所述第一页面加载请求向终端返回关于目标页面的模块信息文件,模块信息文件用于指示终端确定待加载模块标识,接收第二页面加载请求,第二页面加载请求是终端根据目标页面的标识和待加载模块标识生成并发送的,响应第二页面加载请求,向终端返回响应信息,响应信息包括待加载模块标识所指示的待加载模块,从而只需网络加载待加载模块,有效提高终端页面的加载效率。
本发明实施例还提供了一种存储介质,存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如本发明实施例所述的由终端执行的终端页面的加载方法,或者使得计算机执行如本发明实施例所述的由服务器执行的终端页面的加载方法。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的一种终端页面的加载方法、终端、服务器及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种终端页面的加载方法,其特征在于,所述方法包括:
向服务器发送用于请求目标页面的第一页面加载请求,并接收所述服务器响应所述第一页面加载请求返回的关于所述目标页面的模块信息文件;
根据所述模块信息文件生成所述目标页面的页面模块信息,并将所述页面模块信息与终端缓存的本地模块信息进行比较,确定出所述目标页面的待加载模块标识;
根据所述目标页面的标识和所述待加载模块标识生成第二页面加载请求,并向所述服务器发送所述第二页面加载请求;
接收所述服务器响应所述第二页面加载请求返回的响应信息,根据所述响应信息包括的待加载模块和终端缓存的本地模块加载并显示所述目标页面。
2.根据权利要求1所述的方法,其特征在于,所述模块信息文件包括关于所述目标页面的模块依赖关系文件和模块版本号文件;
所述根据所述模块信息文件生成所述目标页面的页面模块信息,包括:
根据所述模块依赖关系文件和所述模块版本号文件生成所述目标页面的页面模块信息。
3.根据权利要求2所述的方法,其特征在于,关于所述目标页面的模块依赖关系文件和模块版本号文件是页面构建工具在生成所述目标页面时生成的;
所述根据所述模块依赖关系文件和所述模块版本号文件生成所述目标页面的页面模块信息,包括:
根据所述目标页面的标识在所述模块依赖关系文件和所述模块版本号文件中进行递归查询,得到所述目标页面的页面模块信息。
4.根据权利要求1所述的方法,其特征在于,所述页面模块信息包括所述目标页面所需模块的页面模块标识,所述本地模块信息包括终端缓存的本地模块的本地模块标识;
所述将所述页面模块信息与终端缓存的本地模块信息进行比较,确定出所述目标页面的待加载模块标识,包括:
根据所述页面模块标识中的第一目标标识在所述本地模块标识中进行标识比较查询;
如果标识比较查询的结果为所述本地模块标识中不存在与所述第一目标标识相同的第二目标标识,则将所述第一目标标识确定为待加载模块标识。
5.根据权利要求1所述的方法,其特征在于,所述页面模块信息包括所述目标页面所需模块的页面模块标识和页面模块版本号,所述本地模块信息包括终端缓存的本地模块的本地模块标识和本地模块版本号;
所述将所述页面模块信息与终端缓存的本地模块信息进行比较,确定出所述目标页面的待加载模块标识,包括:
根据所述页面模块标识中的第一目标标识在所述本地模块标识中进行标识比较查询;
如果标识比较查询结果为所述本地模块标识中存在与所述页面模块标识中的第一目标标识相同的第二目标标识,则检测所述第一目标标识对应的页面模块版本号与所述第二目标标识对应的本地模块版本号是否相同;
如果不相同,则将所述第一目标标识确定为待加载模块标识。
6.根据权利要求1所述的方法,其特征在于,所述页面模块信息包括所述目标页面所需模块的页面模块标识和页面模块版本号,所述本地模块信息包括终端缓存的本地模块的本地模块标识和本地模块版本号;
所述将所述页面模块信息与终端缓存的本地模块信息进行比较,确定出所述目标页面的待加载模块标识,包括:
根据所述页面模块标识中的第一目标标识在所述本地模块标识中进行标识比较查询;
如果标识比较查询结果为所述本地模块标识中存在与所述页面模块标识中的第一目标标识相同的第二目标标识,则检测所述第一目标标识对应的页面模块版本号与所述第二目标标识对应的本地模块版本号是否相同;
如果相同,则检测所述第二目标标识所指示的本地模块的内容数据是否满足加载条件;
如果不满足加载条件,则将所述第一目标标识确定为待加载模块标识。
7.根据权利要求1所述的方法,其特征在于,所述页面模块信息包括所述目标页面所需模块的页面模块标识和页面模块版本号的第一映射关系信息,所述本地模块信息包括终端缓存的本地模块标识和本地模块版本号的第二映射关系信息;
所述将所述页面模块信息与终端缓存的本地模块信息进行比较,确定出所述目标页面的待加载模块标识,包括:
根据所述第一映射关系信息和所述第二映射关系信息进行比较,得到待加载模块标识。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述接收所述服务器响应所述第二页面加载请求返回的响应信息之后,所述方法还包括:
提取所述响应信息中包括的待加载模块的内容数据和模块版本号;
根据所述待加载模块的模块标识缓存所述待加载模块的内容数据和模块版本号。
9.根据权利要求8所述的方法,其特征在于,模块版本号是对模块的内容数据加密后,截取的预设位数的目标字符串。
10.一种终端页面的加载方法,其特征在于,所述方法包括:
接收终端发送的用于请求目标页面的第一页面加载请求;
响应所述第一页面加载请求向所述终端返回关于所述目标页面的模块信息文件,所述模块信息文件用于指示所述终端确定待加载模块标识;
接收第二页面加载请求,所述第二页面加载请求是所述终端根据所述目标页面的标识和所述待加载模块标识生成并发送的;
响应所述第二页面加载请求,向所述终端返回响应信息,所述响应信息包括所述待加载模块标识所指示的待加载模块。
11.根据权利要求10所述的方法,其特征在于,所述模块信息文件包括关于所述目标页面的模块依赖关系文件和模块版本号文件。
12.根据权利要求11所述的方法,其特征在于,所述向所述终端返回响应信息,包括:
根据所述待加载模块标识从服务器缓存中获取所述待加载模块标识所指示的待加载模块的内容数据和模块版本号;
将所述待加载模块的内容数据和模块版本号携带在响应信息中返回给所述终端。
13.一种终端,其特征在于,包括:处理器、网络接口和存储器,所述存储器存储有可执行程序代码,所述网络接口受所述处理器的控制用于收发消息,所述处理器用于调用所述可执行程序代码,执行如权利要求1至9中任一项所述的终端页面的加载方法。
14.一种服务器,其特征在于,包括:处理器、网络接口和存储器,所述存储器存储有可执行程序代码,所述网络接口受所述处理器的控制用于收发消息,所述处理器用于调用所述可执行程序代码,执行如权利要求10至12中任一项所述的终端页面的加载方法。
15.一种存储介质,其特征在于,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1至9中任一项所述的终端页面的加载方法或者如权利要求10至12中任一项所述的终端页面的加载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810191577.3A CN110334297B (zh) | 2018-03-08 | 2018-03-08 | 终端页面的加载方法、终端、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810191577.3A CN110334297B (zh) | 2018-03-08 | 2018-03-08 | 终端页面的加载方法、终端、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334297A true CN110334297A (zh) | 2019-10-15 |
CN110334297B CN110334297B (zh) | 2024-03-01 |
Family
ID=68138811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810191577.3A Active CN110334297B (zh) | 2018-03-08 | 2018-03-08 | 终端页面的加载方法、终端、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334297B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110889061A (zh) * | 2019-11-12 | 2020-03-17 | 望海康信(北京)科技股份公司 | 一种网页页面加载方法和装置 |
CN110990733A (zh) * | 2019-10-31 | 2020-04-10 | 合肥美的电冰箱有限公司 | 页面加载方法、装置、电子设备及介质 |
CN111221862A (zh) * | 2019-12-31 | 2020-06-02 | 五八有限公司 | 一种请求处理方法及装置 |
CN111538889A (zh) * | 2020-03-30 | 2020-08-14 | 中国平安人寿保险股份有限公司 | 接口请求方法、装置、设备及计算机可读存储介质 |
CN111694550A (zh) * | 2020-04-28 | 2020-09-22 | 北京奇艺世纪科技有限公司 | 一种页面显示控制方法、装置及系统 |
CN112069386A (zh) * | 2020-09-07 | 2020-12-11 | 北京奇艺世纪科技有限公司 | 一种请求处理方法、装置、系统、终端及服务器 |
CN112434237A (zh) * | 2020-11-25 | 2021-03-02 | 平安普惠企业管理有限公司 | 页面加载方法、装置、电子设备及存储介质 |
CN112784195A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 一种页面数据发布方法和系统 |
CN113094141A (zh) * | 2021-04-23 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 一种页面展示方法、装置、电子设备和存储介质 |
CN114115652A (zh) * | 2020-08-10 | 2022-03-01 | 腾讯科技(武汉)有限公司 | 信息显示方法、装置、设备及存储介质 |
CN114217878A (zh) * | 2021-12-23 | 2022-03-22 | 中国建设银行股份有限公司 | 一种对象加载方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516973A (zh) * | 2014-12-26 | 2015-04-15 | 北京奇虎科技有限公司 | 访问页面的方法和装置 |
CN105022750A (zh) * | 2014-04-28 | 2015-11-04 | 腾讯科技(北京)有限公司 | 资源文件加载方法和装置 |
CN106682176A (zh) * | 2016-12-29 | 2017-05-17 | 北京五八信息技术有限公司 | 页面的加载方法、装置和设备 |
CN107508895A (zh) * | 2017-08-30 | 2017-12-22 | 武汉斗鱼网络科技有限公司 | 页面加载方法、装置及存储介质 |
-
2018
- 2018-03-08 CN CN201810191577.3A patent/CN110334297B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105022750A (zh) * | 2014-04-28 | 2015-11-04 | 腾讯科技(北京)有限公司 | 资源文件加载方法和装置 |
CN104516973A (zh) * | 2014-12-26 | 2015-04-15 | 北京奇虎科技有限公司 | 访问页面的方法和装置 |
CN106682176A (zh) * | 2016-12-29 | 2017-05-17 | 北京五八信息技术有限公司 | 页面的加载方法、装置和设备 |
CN107508895A (zh) * | 2017-08-30 | 2017-12-22 | 武汉斗鱼网络科技有限公司 | 页面加载方法、装置及存储介质 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990733A (zh) * | 2019-10-31 | 2020-04-10 | 合肥美的电冰箱有限公司 | 页面加载方法、装置、电子设备及介质 |
CN112784195A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 一种页面数据发布方法和系统 |
CN110889061A (zh) * | 2019-11-12 | 2020-03-17 | 望海康信(北京)科技股份公司 | 一种网页页面加载方法和装置 |
CN111221862A (zh) * | 2019-12-31 | 2020-06-02 | 五八有限公司 | 一种请求处理方法及装置 |
CN111221862B (zh) * | 2019-12-31 | 2023-08-11 | 五八有限公司 | 一种请求处理方法及装置 |
CN111538889A (zh) * | 2020-03-30 | 2020-08-14 | 中国平安人寿保险股份有限公司 | 接口请求方法、装置、设备及计算机可读存储介质 |
CN111694550A (zh) * | 2020-04-28 | 2020-09-22 | 北京奇艺世纪科技有限公司 | 一种页面显示控制方法、装置及系统 |
CN111694550B (zh) * | 2020-04-28 | 2024-06-21 | 北京奇艺世纪科技有限公司 | 一种页面显示控制方法、装置及系统 |
CN114115652A (zh) * | 2020-08-10 | 2022-03-01 | 腾讯科技(武汉)有限公司 | 信息显示方法、装置、设备及存储介质 |
CN112069386B (zh) * | 2020-09-07 | 2023-09-05 | 北京奇艺世纪科技有限公司 | 一种请求处理方法、装置、系统、终端及服务器 |
CN112069386A (zh) * | 2020-09-07 | 2020-12-11 | 北京奇艺世纪科技有限公司 | 一种请求处理方法、装置、系统、终端及服务器 |
CN112434237A (zh) * | 2020-11-25 | 2021-03-02 | 平安普惠企业管理有限公司 | 页面加载方法、装置、电子设备及存储介质 |
CN113094141A (zh) * | 2021-04-23 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 一种页面展示方法、装置、电子设备和存储介质 |
CN114217878A (zh) * | 2021-12-23 | 2022-03-22 | 中国建设银行股份有限公司 | 一种对象加载方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110334297B (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334297A (zh) | 终端页面的加载方法、终端、服务器及存储介质 | |
US12124422B2 (en) | Distributed storage of metadata for large binary data | |
CN106970790B (zh) | 一种应用程序创建的方法、相关设备及系统 | |
CN110149423B (zh) | 域名处理方法、装置、可读存储介质及电子设备 | |
US20200057674A1 (en) | Stateless instance backed mobile devices | |
US11036754B2 (en) | Database table conversion | |
US20210286894A1 (en) | Dynamic shared data object masking | |
JP2017084334A (ja) | 仮想マシンイメージファイルを抽出する方法および装置 | |
CN108205623B (zh) | 用于共享目录的方法和装置 | |
US10735270B1 (en) | Computer-based systems configured for network modelling and monitoring using programming object bindings and methods of use thereof | |
KR101198437B1 (ko) | 컨텍스트 트리거형 배포 방법, 장치 및 컴퓨터 판독 가능한 저장매체 | |
CN106506715A (zh) | 域名解析方法及装置 | |
CN112887440B (zh) | 一种ip地址管理方法和装置 | |
WO2023060046A1 (en) | Errors monitoring in public and private blockchain by a data intake system | |
EP4086747A1 (en) | Systems, methods, and apparatus for computational storage functions | |
US11693909B2 (en) | Data sharing tool for facilitating real-time access to current or updated datasets | |
CN113821254A (zh) | 接口数据处理方法、装置、存储介质及设备 | |
CN117056123A (zh) | 数据恢复方法、装置、介质及电子设备 | |
KR100609667B1 (ko) | 그래픽 사용자 인터페이스 갱신 시스템 | |
CN114116096B (zh) | 一种信息处理方法、装置、设备及存储介质 | |
CN107357853B (zh) | 一种redis控制台的操作方法、装置及计算机系统 | |
CN111880996B (zh) | 一种裸机数据采集方法、装置、设备及可读存储介质 | |
CN115186214A (zh) | 页面配置方法、装置、计算机设备及计算机可读存储介质 | |
CN112052234B (zh) | 业务数据的处理方法和装置、存储介质、电子装置 | |
CN110427216A (zh) | 构建物应用的管理方法、装置、计算设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TG01 | Patent term adjustment | ||
TG01 | Patent term adjustment |