一种页面加载方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种页面加载方法和装置。
背景技术
随着云计算技术和商业应用服务的高速发展,越来越多的企业开始采购SaaS(Software-as-a-Service,软件即服务)企业服务。用户在使用SaaS产品服务时需要基于业务模型定制WEB界面,即业务界面在SaaS服务运行期支持按照用户的需求进行定制和个性化。
针对用户对业务界面的个性化需求,目前主要采用两种解决方式:
1)通过界面动态渲染引擎解析不同的业务模型;
2)通过后台服务获取前端界面所需信息,拼接完成后返回给前端。
在实现本发明的过程中,发明人发现现有技术至少存在如下问题:
1)第一种方式需要后台返回相同的模型,然后前台通过浏览器解析业务模型并通过引擎拼接界面,耗时较长,导致界面渲染延迟;且容易出现界面卡顿、闪烁现象,影响用户体验;
2)第二种方式需要在后台生成界面再返回给前端,导致后台服务并发压力较大,同时增加网络压力、消耗应用服务器的资源,在高并发情况下难以保证服务的可用性。
发明内容
有鉴于此,本发明实施例提供一种页面加载方法和装置,至少能够解决现有技术中页面加载耗时长,服务压力大的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种页面加载方法,包括:
接收页面加载请求,根据所述页面加载请求中的特征信息,确定与所述页面加载请求相应的模板模型和资源文件;
获取所述模板模型中的元数据和所述资源文件中的资源信息,若所述元数据和所述资源信息最近一次更新的时间戳相同,则读取并返回所述资源文件的资源定位地址信息。
可选的,所述特征信息至少包括所述模板模型的标识;
所述根据所述页面加载请求中的特征信息,确定与所述页面加载请求相应的模板模型和资源文件,包括:根据所述页面加载请求中所述模板模型的标识,查找所述模板模型;根据所述模板模型的标识,从CDN节点中获取与所述标识相应的所述资源文件。
可选的,所述根据所述模板模型的标识,从CDN节点中获取与所述标识相应的资源文件,包括:若CDN节点的数量为多个,则确定每个CDN节点当前待处理的请求量,提取当前处理请求量最少的CDN节点。
可选的,所述根据所述模板模型的标识,从CDN节点中获取与所述标识相应的资源文件,还包括:若在所述CDN节点中查找不到所述资源文件,则根据所述模板模型的标识,从资源容器中获取与所述标识相应的所述资源文件。
可选的,在所述获取所述模板模型中的元数据和所述资源文件中的资源信息之后,还包括:
若所述元数据和所述资源信息最近一次更新的时间戳不同,则根据所述模板模型的标识,提取与所述模板模型相应的模板文件;
对所述模板文件和所述模板模型进行编译,生成编译资源,并通过所述编译资源对所述资源文件进行资源更新;以及
读取并返回资源更新后资源文件的资源定位地址信息。
为实现上述目的,根据本发明实施例的另一方面,提供了一种页面加载装置,包括:
请求处理模块,用于接收客户端传输的页面加载请求,根据所述页面加载请求中的特征信息,确定与所述页面加载请求相应的模板模型和资源文件;
版本比较模块,用于获取所述模板模型中的元数据和所述资源文件中的资源信息,若所述元数据和所述资源信息的版本相同,则读取所述资源文件的资源定位地址信息并反馈至所述客户端。
可选的,所述特征信息至少包括所述模板模型的标识;
所述请求处理模块,用于:根据所述页面加载请求中所述模板模型的标识,查找所述模板模型;根据所述模板模型的标识,从CDN节点中获取与所述标识相应的资源文件。
可选的,所述请求处理模块,用于:若CDN节点的数量为多个,则确定每个CDN节点当前待处理的请求量,提取当前处理请求量最少的CDN节点。
可选的,所述请求处理模块,还用于:若在所述CDN节点中查找不到所述资源文件,则根据所述模板模型的标识,从资源容器中获取与所述标识相应的所述资源文件。
可选的,所述版本比较模块,还用于:
若所述元数据和所述资源信息最近一次更新的时间戳不同,则根据所述模板模型的标识,提取与所述模板模型相应的模板文件;
对所述模板文件和所述模板模型进行编译,生成编译资源,并通过所述编译资源对所述资源文件进行资源更新;以及
读取并返回资源更新后资源文件的资源定位地址信息。
为实现上述目的,根据本发明实施例的再一方面,提供了一种页面加载的电子设备。
本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的页面加载的方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的页面加载的方法。
根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:在编译资源之前,对于未发生变化的模板模型,可以直接将已经发布的资源定位地址返回,从而去除资源编译时间,减少页面加载时间,同时降低服务器消耗,提高前端引擎执行效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种页面加载方法的主要流程示意图;
图2是根据本发明实施例的模板模型所记录信息的示意图;
图3是根据本发明实施例的一具体实施过程示意图;
图4是根据本发明实施例的一种可选的页面加载方法的流程示意图;
图5是根据本发明实施例的一种应用于PaaS服务的***示意图;
图6是根据本发明实施例的一种页面加载装置的主要模块示意图;
图7是本发明实施例可以应用于其中的示例性***架构图;
图8是适于用来实现本发明实施例的移动设备或服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本发明实施例主要应用于计算类应用环境,且不依赖于任何其他服务***,可以单独部署集成。
对于本发明所涉及的词语,作解释如下:
业务模型:从业务的角度为企业提供一个框架结构,以确保企业的应用***与企业经常改进的业务流程紧密匹配。
渲染引擎:通过网络获得所请求文档的内容,并在浏览器窗口上显示。
PaaS(Platform-as-a-Service,平台即服务):把应用服务的运行和开发环境作为一种服务提供的商业模式。
重定向(Redirect):通过各种方法将各种网络请求重新定个方向转到其它位置。
参见图1,示出的是本发明实施例提供的一种页面加载方法的主要流程图,包括如下步骤:
S101:接收页面加载请求,根据所述页面加载请求中的特征信息,确定与所述页面加载请求相应的模板模型和资源文件;
S102:获取所述模板模型中的元数据和所述资源文件中的资源信息,若所述元数据和所述资源信息最近一次更新的时间戳相同,则读取并返回所述资源文件的资源定位地址信息。
上述实施方式中,对于步骤S101,在需要定制WEB界面的情况下,领域SaaS服务客户端可以向SaaS服务的服务端发送页面加载请求。
SaaS服务的资源加载服务收到该请求后,会分析该请求中的特征信息,例如浏览器的类型、所属行业信息、所使用的语言、模板模型的标识等等;然后通过这些特征信息,调用模板查询服务确定模板模型;例如,请求中模板模型的标识为1、所使用的语言为中文,则确定中文版的模板模型1。
所设置模板模型的数量可以为多个,以提高页面显示多样性,例如:
1)不同浏览器对应不同的模板模型;例如,IE浏览器-模板1、谷歌浏览器-模板2、火狐浏览器-模板3;
对于浏览器类型的获取方式,可以选用getBroserInfo方法,例如:
2)不同行业对应不同的模板模型;例如,医学类-模板4、物理类-模板5、化学类-模板6;
3)不同语言对应不同的模板模型;例如,汉语-模板7、英语-模板8、日语-模板9。
模板模型主要记录用户对界面的设计信息,所包含内容具体参见图2所示,主要包括三个方面:
1)模板的基本信息,用于描述模板的概要信息;
2)模板的布局信息,包括布局类型、空间列表,用于描述界面的整体布局和控件的展现样式信息;
3)业务对象管理信息,用于记录前端资源和业务模型数据之间的关联关系,可以支持***运行期间的数据交互。
在设计业务界面的时候,通常需要对界面进行布局,例如:HTML里面用于布局的元素有DIV、SPAN、Table等。资源文件(能够从中读取出所需资源的文件)可以创建和存放各种各样的样式,即意味着每一个页面控件都有存放自己样式的地方。
需要说明的是,文件直接读取是在程序运行到需要资源时才从硬盘上搜索,而资源文件实际还是在硬盘上,但是已经把资源文件映射到虚拟内存中,相比直接读取硬盘文件具有加载速度快的优势,因此本发明主要选用资源文件进行资源获取,对于资源文件的获取方式具体参见后续图4描述,在此不再赘述。
对于步骤S102,模板模型会随着用户的需求进行调整,而资源文件是通过模板模型、与模板模型相应的模板文件编译生成的,当模板模型发生变更时,相应资源文件中的资源通常也会随之变化,具体地,更新时间戳或者版本发生变化。
现有技术中对于每次页面记载请求,都会对资源文件进行编译。对于模板模型未发生变化的情况,资源文件中资源的编译就具有重复性以及不必要性。基于这方面考虑,本发明选择在编译资源之前,判断模板模型是否发生变化,若无变化,则证明无需资源编译。
对于模板模型是否发生变化的判断,依赖于其最近一次更新的时间戳与相应资源文件中资源最近一次更新的时间戳是否相同(或者相近,但差值会很小),具体过程参见图3所示:
1)模板模型的元数据存储在元数据服务中,通过模板模型的标识可以在元数据服务中查询,相应时间戳可以依据其属性信息得到。
其中,元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(dataabout data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
2)资源文件可以存储在资源容器OSS(Object Storage Service,对象存储服务)、百度云等云端服务中,本发明主要以OSS为例进行说明,所需资源文件最近一次更新的时间戳可以通过文件版本(或时间戳)查询服务获得。
3)比较元数据和资源的最近一次更新的时间戳:
①如果两个时间戳相同,则表示模板模型自上次编译到目前未发生变化,相应资源文件中的控件、样式等资源也未发生变化,即无需重新编译资源。
针对这种情况,可以将页面加载请求直接重定向至该资源文件的URL(UniformResource Identifier,统一资源标识符)地址中,也可以视为将该URL地址反馈给客户端,以去除资源编译时间,减少页面渲染时长,提高页面加载效率。
②若两者时间戳不同,则表示模版模型被变更,但资源文件中的资源还未来得及重新编译,具体地:
步骤一:若元数据和资源信息最近一次更新的时间戳不同,则根据模板模型的标识,提取与模板模型相应的模板文件;
步骤二:对模板文件和模板模型进行编译,生成编译资源,并通过编译资源对资源文件进行资源更新;以及
步骤三:读取并返回资源更新后资源文件的资源定位地址信息。
通过模板编译模块对模板文件和模板模型进行前端资源编译,并将编译资源自动打包至资源文件中,实现资源文件中资源的更新替换;之后,返回更新后资源文件的URL地址给客户端。
这里的模板文件与模板模型可以是一对一的关系,两者类似于试卷和答案,缺一不可。其中,模板文件可以是带有系列个性化设置的文档,例如,满足Freemark协议的TMP模板文件;而资源文件可以包括TMP、JS、HTML文件。
需要说明的是,这里所编译的资源是针对前端资源的,通过在服务器编译前端资源和模板模型,并生成界面发送至前端,无需前端对页面的拼接等操作,无需前端浏览器对资源进行编译。
上述实施例所提供的方法,在编译资源之前,对于未发生变化的模板模型,可以直接将已经发布的资源定位地址返回,从而去除资源编译时间,减少页面加载时间,同时降低服务器消耗,提高前端引擎执行效率。
参见图4,示出了根据本发明实施例的一种可选的页面加载方法流程示意图,包括如下步骤:
S401:接收页面加载请求,根据所述页面加载请求中的特征信息,确定与所述页面加载请求相应的模板模型;其中,特征信息至少包括模板模型的标识;
S402:根据所述模板模型的标识,从CDN节点中获取与所述标识相应的资源文件;
S403:若在所述CDN节点中查找不到所述资源文件,则根据所述模板模型的标识,从资源容器中获取与所述标识相应的所述资源文件;
S404:获取所述模板模型中的元数据和所述资源文件中的资源信息,若所述元数据和所述资源信息最近一次更新的时间戳相同,则读取并返回所述资源文件的资源定位地址信息。
上述实施方式中,对于步骤S401和S404可分别参见图1所示步骤S101和S102的描述,在此不再赘述。
上述实施方式中,对于步骤S402,资源文件,是通过模板文件和模板模型的编译结果得到的,即客户端真正所请求的文件。
为提高资源文件的访问效率,本发明选择在网络之上构建CDN节点(ContentDelivery Network,内容分发网络)中,并将OSS中的资源文件分发到CDN节点中。
同样参见图3所示,编译后的资源文件输出至OSS中,并通过OSS中的文件发布服务将该文件分发至CDN节点中,因此资源文件和CDN节点之间可以具有映射关系:
1)多对一:即多个资源文件都存储至同一个CDN节点上;
2)一对多:设置多个能完成相同任务的CDN节点,同一个资源文件会同步分发至这些CDN节点中。当后续页面请求较多时,可以从多个同功能的CDN节点中选择一个进行服务,从而提高服务承载量、提升服务效率。
对于上述方式2),通常依靠部署在各地的边缘服务器,CDN节点通过中心平台的负载均衡、内容分发、调度等功能模块,使得用户可以就近获取所需资源文件,以及降低网络拥塞,提高用户访问响应速度和命中率。
除上述OSS分发文件至CDN节点的方式外,CDN节点也可以按照一定的间隔周期(例如1s)向OSS请求资源文件修改时间戳,并与现有资源文件进行比较,判断所存储的资源是否存在变化,如有变化就将新的文件替换掉旧的文件,实现资源更新。
另外,对于CDN节点可以根据区域、使用量等进行设置,以地区设置为例,有华北1、华北2、西北1、华东2、华南1等。
针对不同地区、不同的网络请求(页面加载请求)会有不同的CDN节点响应,而对于CDN节点的确定可以是通过客户端HTTP协议和负载均衡技术实现;负载均衡技术将网络的流量尽可能均匀地分配到几个能完成相同任务的服务器或CDN节点上进行处理,例如当前处理量最低的CDN节点,以避免部分CDN节点过载而另一部分空闲的不利状况,既可以提高整体网络流量,又可以提高网络的整体性能。
对于资源文件,仍主要是依据模板模型的标识进行识别获取的,例如模板模型1-资源文件1,资源文件1中存储于有模板模型1的样式、相应的控件等信息。
对于资源文件的读取方式可以是多种,例如:
1)System.Resources.ResourceReader读取资源文件信息;
2)通过本类的class类的getResource方法;
3)Test.class.getClassLoader().getResource,这里资源文件的位置是相对固定的。
通过上述方式,每当需要资源文件时,可以先从CDN节点中读取,以便提高文件读取速度。
对于步骤S403,CDN节点中的资源文件都是通过OSS传输的,因此可能存在一部分资源文件还未更新的情况,这种情况负载均衡会将该请求转向OSS的数据源,以从OSS中获取资源文件,具体地,通过模板模型的标识获取。
上述实施例所提供的方法,通过从CDN节点中获取资源文件,可以实现就近获取文件的效果,同时减少从OSS中获取文件的次数,具有降低网络拥塞,提高文件访问响应速度和命中率的功能;但若在CDN节点中查询不到资源文件,也可以在OSS中查询,保证了资源文件的获取。
这里结合图2,补充一下模板模型的生成:
模板模型可以通过一个单页应用(一个页面就可以完成所有的事情,不允许跳转打卡新的页面),采用一定的方式开发;例如,对历史业务模型进行增、删、改、查操作,然后通过itemkey,把业务模型的属性和界面UI元素进行绑定;例如文本输入框itemkey=’person’,输入框的数据是与业务模型的person对应的。
这里的开发方式可以是JS+html、php、jsp、vue等,本发明主要选用JS+html方式进行,相较于其他方式,JS+html方式可以不受页面框架的影响。
这里的业务模型属性可以包括业务数据结构,例如:person、name、old、money;UI元素可以包括:左对齐、右对齐、颜色、控件类型、是否必输、是否只读等。
在调用模板保存服务后即可构造出模板模型,本发明所提供的模板模型相较现有技术,支持对业务对象的信息管理。
另外,也可以实现对模板模型的更改,满足用户对WEB界面的个性化需求,具体地,
用户在客户端中对WEB界面进行更改操作,客户端响应于该更改操作,发送相应的更改请求至SaaS服务;
SaaS服务根据该更改请求中的更改信息对模板模型进行更改,并重新编译生成资源、更新资源文件;之后将更新后资源文件的URL地址反馈给客户端;
客户端接收新的URL地址,打开更改后的界面。整体过程实现模板设计界面的可视化,以及运行时的交互操作。
参见图5,示出了一种应用于PaaS服务的***500,具体包括:设计模块、模板模型、模板引擎、资源发布;其中:
1)设计模块501,用于完成对业务模板模型的更改操作,且将业务模板模型的属性和界面UI元素绑定;
2)模板模型502,调用模板保存服务,将设计模板所设计的模板进行保存,构造出模板模型,用于记录用户对界面的设计信息。
3)模板引擎503,用于针对客户端传输的页面加载请求,确定相应的模板模型和资源文件,并对比两者最近一次更新的时间戳是否相同;
若相同,则将资源文件URL地址反馈给客户端;
若不相同,则标识模板模型发生变更,但资源文件未更新,需对模板模型和模板文件进行编译,生成编译资源,并更新资源文件中的资源;以及将资源更新后的资源文件的URL地址发送给客户端。
4)资源发布504,将OSS中的资源文件分发到CDN节点中,便于后续先从CDN节点中提取资源文件,提高资源文件的获取效率,同时减少对OSS的访问次数,降低网络拥塞。
PaaS是位于IaaS和SaaS模型之间的一种云服务,它提供了应用程序的开发和运行环境。IaaS主要提供了虚拟计算、存储、数据库等基础设施服务,SaaS为用户提供了基于云的应用,PaaS则为开发人员提供了构建应用程序的环境。因此,本发明主要应用于PaaS装置中进行实现,以从SaaS中获取页面服务。
本发明通过提供一套可以解析业务模型、编译落地前端静态资源、动态发布前端资源、支持模板动态查询的装置,并且本装置可以作为PaaS服务可以独立于业务***单独部署集成。另外,本装置将界面生成周期进行分段,提供用户在线定制界面的模板设计器,并通过将模板模型的结构进行保存,同时支持动态编译、刷新、发布前端资源文件的能力,使得编译的效率有了一定的提高。
参见图6,示出了本发明实施例提供的一种页面加载装置600的主要模块示意图,包括:
请求处理模块601,用于接收页面加载请求,根据所述页面加载请求中的特征信息,确定与所述页面加载请求相应的模板模型和资源文件;
版本比较模块602,用于获取所述模板模型中的元数据和所述资源文件中的资源信息,若所述元数据和所述资源信息最近一次更新的时间戳相同,则读取并返回所述资源文件的资源定位地址信息。
本发明实施装置中,所述特征信息至少包括所述模板模型的标识;
所述请求处理模块601,用于:
根据所述页面加载请求中所述模板模型的标识,查找所述模板模型;
根据所述模板模型的标识,从CDN节点中获取与所述标识相应的资源文件。
本发明实施装置中,所述请求处理模块601,用于:
若CDN节点的数量为多个,则确定每个CDN节点当前待处理的请求量,提取当前处理请求量最少的CDN节点。
本发明实施装置中,所述请求处理模块601,还用于:
若在所述CDN节点中查找不到所述资源文件,则根据所述模板模型的标识,从资源容器中获取与所述标识相应的所述资源文件。
本发明实施装置中,所述版本比较模块602,还用于:
若所述元数据和所述资源信息最近一次更新的时间戳不同,则根据所述模板模型的标识,提取与所述模板模型相应的模板文件;
对所述模板文件和所述模板模型进行编译,生成编译资源,并通过所述编译资源对所述资源文件进行资源更新;以及
读取并返回资源更新后资源文件的资源定位地址信息。
另外,在本发明实施例中所述的页面加载装置的具体实施内容,在上面所述页面加载方法中已经详细说明了,故在此重复内容不再说明。
图7示出了可以应用本发明实施例的页面加载方法或页面加载装置的示例性***架构700。
如图7所示,***架构700可以包括终端设备701、702、703,网络704和服务器705(仅仅是示例)。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的页面加载方法一般由服务器705执行,相应地,页面加载装置一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机***800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机***800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有***800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括请求处理模块和版本比较模块块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,请求处理模块还可以被描述为“确定与页面加载请求相应的模板模型和资源文件”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
接收页面加载请求,根据所述页面加载请求中的特征信息,确定与所述页面加载请求相应的模板模型和资源文件;
获取所述模板模型中的元数据和所述资源文件中的资源信息,若所述元数据和所述资源信息最近一次更新的时间戳相同,则读取并返回所述资源文件的资源定位地址信息。
根据本发明实施例的技术方案,在编译资源文件之前,对于在上次编译前未发生变化的模板模型和资源文件,可以直接将已经发布的资源定位地址返回,从而降低服务器消耗,提高前端引擎执行效率,减少页面加载时间。另外,通过CDN节点对资源文件的分发,可以提高资源文件的获取效率;但若在CDN节点查询不到,可以在OSS中进行查询,保证了资源文件的获取。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。