CN110866204B - 一种页面处理方法及装置 - Google Patents
一种页面处理方法及装置 Download PDFInfo
- Publication number
- CN110866204B CN110866204B CN201810910889.5A CN201810910889A CN110866204B CN 110866204 B CN110866204 B CN 110866204B CN 201810910889 A CN201810910889 A CN 201810910889A CN 110866204 B CN110866204 B CN 110866204B
- Authority
- CN
- China
- Prior art keywords
- dynamic data
- page
- server
- personalized
- static
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 230000003068 static effect Effects 0.000 claims abstract description 191
- 238000009877 rendering Methods 0.000 claims abstract description 124
- 238000012545 processing Methods 0.000 claims description 67
- 238000000034 method Methods 0.000 claims description 56
- 230000015556 catabolic process Effects 0.000 claims description 10
- 238000006731 degradation reaction Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 21
- 238000003860 storage Methods 0.000 description 12
- 238000005070 sampling Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
Images
Classifications
-
- 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
Abstract
本申请提供了一种页面处理方法及装置,包括:接收客户端发送的页面请求;从第一服务器获取页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;将所述渲染页面发送至所述客户端。本申请通过将多个动态数据标签添加在静态页面中,建立了静态页面与待加载的动态数据之间的联系,整个页面中的所有动态数据标签可以一次性进行提取,并建立根据动态数据标签获取对应的动态数据进行渲染的渲染任务,提高了渲染的效率,使得浏览页面时的体验更加顺畅。
Description
技术领域
本申请涉及信息技术领域,特别是涉及一种页面处理方法及装置。
背景技术
随着互联网技术的发展,客户端用于向用户展示信息的页面也越来越复杂,所展示的多媒体元素(如图片,音视频,动画等)越来越多,而随着算法技术的发展,原来千篇一律的页面也可以更加智能的展示各种动态内容。
在目前,用于展示的页面通常包括:静态数据和动态数据,客户端向用户展示页面的过程通常采用两种方案,方案一包括:客户端先从内容分发网络(CDN,Content DeliveryNetwork)服务器中获取静态页面,并通过异步请求,把静态页面中动态数据对应的区块通过类似阿贾克斯(Ajax,Asynchronous Javascript And XML)的技术进行异步加载,具体为,如果页面遇到待加载的动态数据区块,则在该区块先显示“加载中”的信息,由客户端浏览器异步发起Ajax请求或超文本传输协议请求(HTTP,HyperText Transfer Protocol),从相应的应用服务器中获取动态数据,并在浏览器端进行渲染后展示,如果涉及多个动态内容区块,会有多次异步请求。方案二包括:客户端发起页面请求,业务服务器根据页面请求,从第一服务器获取所述页面请求对应的静态页面,以及从个性化数据服务器中获取所请求页面所需的动态数据,在静态页面的动态数据区块中,以js脚本语言(javascript)的形式添加有具体动态数据对应的变量参数,通过串行的方式,从静态页面中依次提取相应的变量参数,获取与变量参数对应的动态数据替换原有的变量参数,具体为,通过动态数据替换完一个变量参数之后,再获取该变量参数的下一个变量参数对应的动态数据进行替换,直至全部替换完毕后,将得到的渲染页面发送至客户端进行展示。
但是,发明人在研究过程中发现:目前方案一中,若静态页面中涉及多个动态数据区块,则通过多次异步请求加载动态数据的过程会很缓慢,导致渲染效率较低,并且,目前方案二中,静态页面的动态区块中的变量参数过于分散,若实现并行提取变量参数进行获取对应动态数据的操作,需对应构建抽象语法树,实现过程复杂繁琐,因此方案二中通过串行的方式进行动态数据渲染同样会导致渲染效率较低的问题。
发明内容
鉴于上述问题,本申请实施例提供一种页面处理方法,本申请将多个动态数据标签添加在静态页面中,建立了静态页面与待加载的动态数据之间的联系,整个页面中的所有动态数据标签可以一次性进行提取,并建立根据动态数据标签获取对应的动态数据进行渲染的渲染任务,提高了渲染的效率,使得用户在客户端观看页面时的体验更加顺畅。
相应的,本申请实施例还提供了一种页面处理装置,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种页面处理方法,包括:
接收客户端发送的页面请求;
从第一服务器获取所述页面请求对应的静态页面;静态页面中设置有多个动态数据标签;
根据多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取动态数据标签对应的动态数据对静态页面进行渲染,得到渲染页面;
将渲染页面发送至客户端。
相应的,本申请实施例还公开了一种页面处理装置,包括:
请求获取模块,用于接收客户端发送的页面请求;
页面获取模块,用于从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;
渲染模块,用于根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;
返回模块,用于将所述渲染页面发送至所述客户端。
相应的,本申请实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行一种页面处理方法。
相应的,本申请实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行一种页面处理方法。
本申请实施例包括以下优点:
本申请实施例包括:包括:接收客户端发送的页面请求;从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;将所述渲染页面发送至所述客户端。本申请通过将多个动态数据标签添加在静态页面中,建立了静态页面与待加载的动态数据之间的联系,整个页面中的所有动态数据标签可以一次性进行提取,并建立根据动态数据标签获取对应的动态数据进行渲染的渲染任务,提高了渲染的效率,使得浏览页面时的体验更加顺畅。
附图说明
图1是本申请一实施例提供的一种页面处理方法的系统架构图;
图2是本申请一实施例提供的一种静态页面的示意图;
图3是本申请一实施例提供的一种页面处理方法的系统交互图;
图4是本申请一实施例提供的一种页面处理方法的步骤流程图;
图5是本申请一实施例提供的一种页面处理方法的具体步骤流程图;
图6是本申请一实施例提供的另一种页面处理方法的系统架构图;
图7是本申请一实施例提供的另一种页面处理方法的具体步骤流程图;
图8是本申请一实施例提供的一种页面请求的处理流程图;
图9是本申请一实施例提供的一种页面处理装置的结构图;
图10是本申请一实施例提供的一种页面处理装置的具体结构图;
图11是本申请另一实施例提供的一种装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,其示出了本申请实施例的一种系统架构,其至少可以包括:
业务服务器10、第一服务器20、第二服务器30和客户端40,其中第一服务器20存储有静态页面,静态页面中对应动态数据的区块设置有多个动态数据标签。
业务服务器10,是一种针对用户客户端40发送的页面请求,可以获取相关静态页面进行渲染,并将渲染后的页面发送至客户端40的服务器,静态页面相当于页面模板,可以为一个空的、没有内容的原始页面,例如,某用户在客户端的网购应用中点击进入某件商品的链接,该点击操作会触发客户端40向业务服务器10发送页面请求的操作,业务服务器10可以根据该请求,从第一服务器20获取与页面请求对应的静态页面,并通过提取静态页面中包括的动态数据标签,进一步从第二服务器30获取相应的动态数据进行渲染,渲染的具体操作是将该商品的相关价格、好评率等动态数据排版并添加在页面的相应位置处,以替换原有位置处的动态数据标签,并将渲染好的页面发送至用户客户端40进行展示。
第一服务器20是一种用于缓存静态页面的服务器,具有较大的存储空间,可以存储与业务服务器10的业务相关的静态页面,实现业务相关页面的缓存,此时,由于页面中并不包括具体的动态数据,而是以动态数据标签的形式在页面中进行预先“占位”,建立结构化的静态页面,使得整个页面可以作为结构化的静态页面进行缓存,且第一服务器20可以不考虑动态数据的时效性。在业务服务器10进行业务处理时,可以直接从第一服务器20中提取所需的静态页面,从而避免静态页面的存储占用业务服务器10的资源,提高了业务服务器10的处理效率,另外,当具有多台业务服务器10时,将多台业务服务器10所需的静态页面缓存在第一服务器20中,增加了各个业务服务器10之间的资源共享,同时使得对静态页面的维护和更新操作更加方便,提高了业务保障。
第二服务器30是一种存储动态数据的服务器,可以提供动态数据获取服务,主要针对客户端40请求的页面,提供该页面所需的动态数据,如,网购应用中,与商品价格相关的动态数据获取服务可以提供商品的价格相关的动态数据,与个性化推荐相关的动态数据获取服务可以提供针对于用户的个性化推荐数据。
在本申请实施例中,相较于在先技术中的客户端页面渲染,本申请对于页面的渲染发生在业务服务器10端,包括通过请求获取一个静态页面,在该静态页面中对应的区块添加相应的内容,并以对应文档对象模型(Document Object Model,DOM)对页面中内容的展示方式进行设置,使得渲染后的页面能够在浏览器或客户端中以正确的方式进行显示,例如:在网购应用的商品页面中,其渲染过程是:首先请求获取一个原始页面,将商品对应的文本信息和图片信息等动态数据替换该原始页面中对应的动态标签,并通过对应的DOM文件设置添加内容的展示格式,此时完成渲染,网购应用客户端在接收到渲染后的页面后对其进行展示,使得用户可以在客户端中以正确方式浏览到商品的文本信息和图片信息。
具体的,参照图2,其示出了本申请实施例的一种页面示意图,一个可供客户端40显示的页面中主要包括静态数据区块和动态数据区块,静态数据是基本保持稳定或极少进行更新的数据,比如一个商品页面中该商品的名称、规格等信息,在用户通过客户端40查看页面的时候,该页面所包括的所有静态数据通常已经被生成好了,具体为在生成该页面时,即将相关静态数据添加到页面模板的相关位置处,并存储在第一服务器20中,动态数据是随着时间的发展,常常变化的数据,比如商品的日销售额、年销售额,个性化推荐内容等。
在本申请实施例中,在向第一服务器20中缓存静态页面之前,可以将静态数据直接添加在对应的静态数据区块中,而针对动态数据则可以分别设置对应的动态数据标签,将动态数据标签添加在动态数据区块的位置处,使得整个缓存页面作为一个结构化的静态页面,动态数据标签可以包括多个参数信息,用于指示该动态数据标签对应的页面标识(ID,identification),获取动态数据的地址等。
具体的,参照图3,示出了一种系统架构的交互图,包括:
步骤S1,将包括多个动态数据标签的静态页面缓存在第一服务器中。
在本申请实施例中,对静态页面的来源不做限定,可以通过业务服务器生成相关的包括多个动态数据标签的静态页面,并将静态页面发布至第一服务器中进行缓存,也可以通过其他终端或服务器,生成静态页面并缓存在第一服务器中,在生成静态页面的过程中,对于静态页面中的动态数据区块,可以将其替换成一个动态数据标签做标记,这样可以保证整个页面作为一个静态文件发布。
步骤S2、客户端向业务服务器发送页面请求。
当用户在客户端需要访问某个页面时,客户端会向业务服务器发送针对该页面的页面请求,页面请求中包含了该页面的页面标识ID。
步骤S3、根据页面请求,业务服务器从第一服务器中提取与页面请求对应的静态页面。
在第一服务器中,存储的每个页面都相应设置有页面ID,通过页面请求中包括的页面ID,业务服务器可以在第一服务器中对应查找并获取到相关静态页面。
步骤S4,业务服务器根据静态页面中的多个动态数据标签,建立对应的多个并行的渲染任务。
具体的,任务并行(英语:Task parallelism),是平行任务处理模型的一种,在这个模型中,每一个线程执行一个分配到的任务,而这些线程则被分配到该并行计算体系的各个计算节点中去,并行任务可以实现同时处理多个被分配的任务,相较于串行处理任务的方式,并行任务可以达到更高处理效率。
对于在先技术,通过异步请求的方式获取动态数据,只能够根据页面的结构,由上至下的依次串行获取动态数据区块对应的动态数据,使得获取过程耗时较长,另外,在服务器侧串行的提取静态页面中的js变量获取对应的动态数据进行渲染,同样会由于串行处理方式的缺陷,导致渲染效率较低。在本申请实施例中,由于静态页面中的动态数据区块已通过动态数据标签进行了“占位”,则此时业务服务器可以解析并提取静态页面中的所有动态数据标签,建立针对每个动态数据标签获取相应动态数据进行渲染的并行任务,通过多线程并行处理技术更高效率的获取动态数据进行渲染。
步骤S5,业务服务器执行所述多个并行的渲染任务,以从第二服务器获取动态数据对所述静态页面进行渲染,得到渲染页面。
在该步骤中,当获取到所需的动态数据的之后,可以将动态数据导入动态数据标签对应的动态数据区块中,并删除动态数据标签,完成页面的渲染,另外,也可以在获取到所需的动态数据的同时,将动态数据导入动态数据标签对应的动态数据区块中,并删除动态数据标签。
例如,在网购应用的商品详情静态页面中添加了三个动态数据标签:动态数据标签1、动态数据标签2和动态数据标签3,分别对应商品的价格、商品的好评率和个性化推荐内容,此时通过扫描进程可以扫描并提取这三个动态数据标签,建立任务1:通过动态数据标签1从第二服务器获取该商品的价格信息,并将该商品的价格信息导入静态页面替换动态数据标签1。任务2:通过动态数据标签2从第二服务器获取该商品的好评率信息,并将该商品的好评率信息导入静态页面替换动态数据标签2。任务3:通过动态数据标签3从第二服务器获取针对访问用户ID所推荐的个性化推荐内容,并将该个性化推荐内容导入静态页面替换动态数据标签3。并且,这三个任务是并行进行处理的,相较于串行处理的方式,耗时更少。
步骤S6,业务服务器将渲染页面发送至客户端。
步骤S7,客户端展示渲染页面。客户端获取到完成渲染的渲染页面后,即可以展示给用户进行观看。
因此,本申请可以接收客户端发送的页面请求;从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;将所述渲染页面发送至所述客户端。本申请通过将多个动态数据标签添加在静态页面中,建立了静态页面与待加载的动态数据之间的联系,整个页面中的所有动态数据标签可以一次性进行提取,并建立根据动态数据标签获取对应的动态数据进行渲染的渲染任务,提高了渲染的效率,使得浏览页面时的体验更加顺畅。
参照图4,示出了本申请提供的一种页面处理方法的步骤流程图,具体可以包括如下步骤:
步骤401,接收客户端发送的页面请求。
当用户客户端需要访问某个页面时,可以向业务服务器发送页面请求,页面请求中包含了该页面的页面ID,用于在第一服务器中与缓存的静态页面的页面ID进行匹配,确定客户端所请求的页面。同时,在第一服务器中,存储的各个静态页面都设置有对应的页面ID,通过页面请求中包括的页面ID,业务服务器可以在第一服务器中对应查找并获取到相关静态页面。
需要说明的是,页面ID可以与用户ID进一步进行绑定,以便于后续针对该页面和访问该页面的用户,在页面中添加针对该用户ID的个性化动态数据内容,如,用户访问某个商品页面,通过将页面ID与用户ID进行绑定,在后续渲染时,通过动态数据服务,利用用户ID在用户画像库中查找该用户的用户画像数据,并根据用户画像数据生成与该用户匹配的推荐内容,通过将推荐内容添加在静态页面中,提高了用户所观看到的页面的内容丰富程度。
步骤402,从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签。
在本申请实施例中,静态页面可以由相关页面发布中心进行推送,页面发布中心可以将静态页面推送至任何一个第一服务器上以供其进行缓存。
在实际应用中,由于动态数据时效性要求较高,会经常随着时间和业务模式的变化而变化,因此缓存在第一服务器中的相关页面,其包括的动态数据的存放模式是目前研究的重要课题,若直接将带有动态数据的页面进行缓存,由于动态数据对时效性的要求,第一服务器需要不断访问动态数据服务更新缓存页面中的动态数据,这样大大增加了第一服务器的负载,若剔除动态数据,仅仅缓存页面的静态内容,在后续渲染时,又额外增加了对动态数据的查找和定位操作,导致渲染操作较为繁琐。
在本申请实施例中,第一服务器存储的静态页面中的动态数据区块已通过动态数据标签进行了“占位”,因此缓存的页面本质是静态的,更加方便对缓存数据后续的维护和更新,也可以利用在动态数据标签添加相应的功能参数,实现对第二服务器的后端优化,降低第二服务器的负载,在客户端请求某个页面时,业务服务器只需要从第一服务器获取所述页面请求对应的静态页面即可,使得后续渲染操作可以依据静态页面包括的动态数据标签实现对动态数据的查找和定位。
步骤403,根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面。
业务服务器可以根据动态数据标签扫描进程,扫描整个静态页面,并通过正则表达式的方式一次性提取所有的动态数据标签。
具体的在该步骤中,在渲染任务被执行时,第二服务器可以根据多个动态数据标签,提供与多个动态数据标签对应的动态数据,且各个根据动态数据标签对应的动态数据的渲染任务可以同时进行处理,也可以按照次序依次进行处理,也可以按照批次,一次处理若干个渲染任务,将所有渲染任务按照多个批次进行处理,如,网购应用中,第二服务器可以提供与商品价格相关的动态数据,也可以提供与个性化推荐相关的动态数据,在需要进行渲染操作时,业务服务器通过调用相应第二服务器的接口,便可以根据动态数据标签中包括的动态数据获取地址,实时获取到相应的动态数据,保证了动态数据的时效性。
在该步骤中,当获取到所需的动态数据的之后,可以将动态数据导入动态数据标签对应的动态数据区块中,并删除动态数据标签,完成页面的渲染,另外,也可以在获取到所需的动态数据的同时,将动态数据导入动态数据标签对应的动态数据区块中,并删除动态数据标签。
另外,对于在先技术中的异步请求动态数据的渲染方法,其渲染操作是发生在客户端,且仅仅对空的、无内容的页面模板进行缓存,当用户观看页面时,仅仅对页面中浏览器当前显示的区块进行异步请求添加动态数据的操作,而对页面中当前还未浏览到的区块不进行动态数据的添加,这样使得搜索引擎优化(SEO,Search Engine Optimization)无法进行,因为SEO需要抓取页面中的所有动态数据进行优化,而在先技术中客户端浏览页面中的动态数据是随着用户的不断下拉浏览操作依次串行完成的,因此SEO无法一次性获取到所需数据,对于本申请提供的一种页面处理方法,渲染操作是在业务服务器端进行的,业务服务器返回的渲染页面,已经包括了用户能在页面中看到的所有内容,这种渲染方式有利于进行搜索引擎优化。
步骤404,将所述渲染页面发送至所述客户端。
在该步骤中,客户端获取到完成渲染的渲染页面后,即可以展示给用户进行观看,也可以在客户端侧同时进行SEO。
综上所述,本申请实施例提供的一种页面处理方法,包括:接收客户端发送的页面请求;从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;将所述渲染页面发送至所述客户端。本申请通过将多个动态数据标签添加在静态页面中,建立了静态页面与待加载的动态数据之间的联系,整个页面中的所有动态数据标签可以一次性进行提取,并建立根据动态数据标签获取对应的动态数据进行渲染的渲染任务,提高了渲染的效率,使得浏览页面时的体验更加顺畅。
参照图5,示出了本申请提供的一种页面处理方法的具体步骤流程图,具体可以包括如下步骤:
步骤501,接收客户端发送的页面请求。
该步骤可以参照上述步骤401,此处不再赘述。
步骤502,从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签。
该步骤可以参照上述步骤402,此处不再赘述。
步骤503,根据所述多个动态数据标签,建立对应的多个并行的渲染任务。
在本申请实施例中,任务并行是平行任务处理模型的一种,在这个模型中,每一个线程执行一个分配到的任务,而这些线程则被分配到该并行计算体系的各个计算节点中去,并行任务可以实现同时处理多个被分配的任务,相较于串行处理任务的方式,并行任务可以达到更高处理效率。
针对于现有技术中串行渲染处理所带来的缺陷,本申请可以解析并提取静态页面中的所有动态数据标签,建立针对每个动态数据标签获取相应动态数据进行渲染的并行任务,通过多线程并行处理技术更高效率的获取动态数据进行渲染。
步骤504,根据所述多个并行的渲染任务,从所述第二服务器获取所述多个动态数据标签对应的动态数据。
可选的,所述动态数据包括:个性化动态数据和非个性化动态数据,所述第二服务器包括:个性化动态数据服务器和/或非个性化动态数据服务器,步骤504还可以包括子步骤:
子步骤5041,当所述动态数据标签对应的动态数据为所述个性化动态数据时,根据所述多个并行的渲染任务,从所述个性化动态数据服务器获取与所述动态数据标签对应的个性化动态数据。
在本申请实施例中,参照图6,其示出了本申请实施例的另一种系统架构图,其中,包括:业务服务器、第一服务器、客户端、个性化动态数据服务器、非个性化动态数据服务器,动态数据又包括:个性化动态数据和非个性化动态数据。
在本申请实施例中,根据动态数据标签包括的动态数据地址,即可确认动态数据标签所要获取的动态数据是个性化动态数据还是非个性化动态数据,如动态数据标签包括的动态数据地址指向个性化动态数据服务器,则可确认动态数据标签所要获取的动态数据是个性化动态数据,若动态数据标签包括的动态数据地址指向非个性化动态数据服务器,则可确认动态数据标签所要获取的动态数据是非个性化动态数据。
个性化动态数据可以是针对于每个用户的特征的数据,如个性化推荐数据,不同用户所看到的个性化推荐内容可能不同,由于个性化动态数据与用户的密切联系,使得个性化动态数据需要通过专门的个性化动态数据服务器进行获取,个性化动态数据子服务可以根据不同的用户,提供对应该用户的个性化动态数据,例如,用户访问某个商品页面时,可以在该页面的某个区块做个性化推荐,如,可以通过用户ID在用户画像库中提取该用户的用户画像数据,通过解析用户画像数据,发现该用户喜欢户外、健身,因此可以在这个区块显示与户外、健身相关的商品链接。
子步骤5042,当所述动态数据标签对应的动态数据为所述非个性化动态数据时,根据所述多个并行的渲染任务,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据。
进一步的,由于个性化动态数据依据不同的用户会产生内容上的差异,因此需要较高的时效性,若强行将个性化动态数据缓存在第一服务器的相关静态页面中,需要第一服务器不断的与个性化动态数据服务器进行通信,更新个性化动态数据的内容,导致第一服务器的负载较大,影响缓存服务的进行,本申请通过将个性化动态数据以静态的动态数据标签形式写入缓存的静态页面中,可以仅在需要页面渲染时,通过访问个性化动态数据服务器获取与动态数据标签对应的个性化动态数据,可以使得整个页面作为静态数据进行缓存,提高了缓存服务的可靠性。
具体的,在本申请实施例中,参照图6,非个性化动态数据可以不需要与用户差产生联系,即不同用户所看到的非个性化动态数据可能相同,非个性化动态数据是一种随着时间的发展,常常变化的数据,比如商品的日销售额、年销售额、价格等,这些数据虽然不断在更新变化,但根据业务模式需求,可以不针对用户的不同来改变这些数据的内容,因此,当需要进行页面渲染时,可以通过非个性化动态数据服务器获取与动态数据标签对应的非个性化动态数据。
需要说明的是,个性化动态数据服务器和/或非个性化动态数据服务器可以分别独立进行设置,也可以整合为一个服务器,例如,将个性化动态数据服务器和非个性化动态数据服务器整合为一个第二服务器,此时第二服务器可以通过提供个性化动态数据服务和非个性化动态数据服务,来实现获取动态数据的目的。
可选的,所述动态数据标签包括:准实时处理参数和时间周期参数,步骤5042还可以包括子步骤:
子步骤A1、若所述准实时处理参数被配置为第一状态,则根据所述多个并行的渲染任务,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据。
子步骤A2、若所述准实时处理参数被配置为第二状态,则每隔所述时间周期参数对应的时间周期,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据,并将所述非个性化动态数据缓存在所述第一服务器中。
在本申请实施例中,由于非个性化动态数据包括的数据种类较多,而对于这些数据种类,有些数据种类的时效性要求相对较低,有些数据种类的时效性要求相对较高,例如:商品的价格和好评率都属于非个性化动态数据,由于商品在不断地在被商家销售,同时被用户进行评价,使得好评率在以较快的频率进行更新,而商品的价格则基本不变,仅在商家进行调整或进行促销活动时才会变化,这种业务模式,使得商品价格的时效性需求低于商品好评率的时效性需求。
针对这种差异,本申请实施例可以通过准实时处理的方式,对时效性要求相对较低的非个性化动态数据进行缓存,以降低非个性化动态数据服务器的负载,优化后端服务,具体为在非个性化动态数据对应的动态数据标签中,添加准实时处理参数和时间周期参数。
例如,针对商品好评率,由于其时效性要求较高,可以通过配置商品好评率对应的准实时处理参数为第一状态,关闭配置准实时处理,而针对商品价格,由于其时效性要求较低,可以通过配置商品价格对应的准实时处理参数为第二状态,开启配置准实时处理,并设置时间周期为1天,则通过调用非个性化动态数据服务器获取商品价格数据,每隔1天从非个性化动态数据服务器获取一次商品价格数据,并将商品价格数据缓存在第一服务器中。这样大大优化了缓存服务和非个性化动态数据服务器的性能,提高了页面渲染的整体效率。
可选的子步骤A2还可以包括子步骤:
子步骤A21,每隔所述时间周期参数对应的时间周期,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据
子步骤A22,在所述第一服务器中,将所述非个性化动态数据替换对应静态页面中对应的动态数据标签。
在本申请实施例的一个具体示例中,提供一个带有动态数据标签的页面模板,其具体内容为:
其中,该模板的前两行内容表示设置在页面的顶端左部的两个静态内容,该静态内容可以为标题、公告等,每个ssr:data节点都代表了一个动态数据标签。
其中的id=“tjas4”、id=“tjew”为动态数据标签的全局唯一ID,可作为缓存页面中的标识和进行日志追踪时的查找ID。
pre-handle可以为准实时处理参数,准实时处理参数可以被配置为false和true两个状态,分别对应第一状态和第二状态,当pre-handle被设置为true,代表对实时性要求不高的非个性化动态数据的获取和缓存,此时允许准实时处理,一般pre-handle的默认值为false。可以根据实际需求选择不同的状态。
expire-seconds可以时间周期参数,表示对非个性化动态数据的数据缓存周期,单位为秒。可以根据实际需求选择不同的参数。
在上述实例中,可以针对id=“tjas4”的动态数据标签进行准实时处理,具体为每隔60秒,通过调用非个性化动态数据子服务获取与id=“tjas4”的动态数据标签对应的非个性化动态数据,并将所述非个性化动态数据缓存在所述第一服务器的相关静态页面中,以替代该静态页面中原有的动态数据标签或非个性化动态数据内容,针对id=“tjew”的动态数据标签,由于其准实时处理参数被配置为第一状态,因此不对该动态数据标签对应的非个性化动态数据进行缓存,而是仅在进行页面渲染时,再通过调用非个性化动态数据服务器获取与id=“tjew”的动态数据标签对应的非个性化动态数据。
步骤505,将所述动态数据替换所述静态页面中对应的动态数据标签,得到所述渲染页面。
在该步骤中,当获取到所需的动态数据的之后,可以将动态数据导入动态数据标签对应的动态数据区块中,并删除动态数据标签,完成页面的渲染,另外,也可以在获取到所需的动态数据的同时,将动态数据导入动态数据标签对应的动态数据区块中,并删除动态数据标签。
可选的,步骤505还可以包括子步骤:
子步骤5051,将所述个性化动态数据和所述非个性化动态数据分别替换所述静态页面中对应的动态数据标签,得到渲染页面。
在该步骤中,当获取到所需的个性化动态数据和非个性化动态数据之后,可以依次将个性化动态数据和非个性化动态数据分别导入对应的动态数据区块中,并删除相关的动态数据标签,完成页面的渲染,本申请实施例通过将动态数据划分为个性化动态数据和非个性化动态数据,并在时效性较低的非个性化动态数据对应的动态数据标签中添加相应的准实时处理参数和时间周期参数,实现对非个性化动态数据可控制、针对性的缓存,提供了更细粒度的渲染模式,使得根据动态数据具体内容的区分,分别进行渲染和实现后端第二服务器的优化。
可选的,当每隔所述时间周期参数对应的时间周期,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据,并在所述第一服务器中,将所述非个性化动态数据替换对应静态页面中对应的动态数据标签之后,步骤505还可以包括子步骤:
子步骤5052,将所述个性化动态数据替换所述静态页面中对应的动态数据标签,得到所述渲染页面。
在该步骤中,若非个性化动态数据已被缓存在第一服务中的静态页面中,则此时可以仅将个性化动态数据替换静态页面中对应的动态数据标签,得到所述渲染页面,而不用去再次访问非个性化动态数据服务器,降低了非个性化动态数据服务器的负载。
步骤506,将所述渲染页面发送至所述客户端。
该步骤可以参照上述步骤404此处不再赘述。
可选的,所述动态数据标签还包括:降级处理参数,步骤506还包括子步骤:
子步骤B1,若所述第二服务器的负载值大于或等于预设阈值,则将所述降级处理参数配置为开启状态,并将所述渲染页面包括的动态数据缓存在所述第一服务器。
在实际应用中,针对动态数据,尤其是个性化动态数据,每次针对客户端的页面请求,都需要从个性化动态数据服务器进行获取,如果请求量太大,这里往往成为性能瓶颈,传统的方案通过手动降级来关闭对个性化动态数据服务器的请求,反应周期长,并且当关闭对个性化动态数据服务器的请求时,会使得渲染页面缺失相关动态数据,进而造成用户无法在客户端看到页面相关动态数据区块的内容,业务不利影响较大。
在本申请实施例中,为了进一步对缓存服务进行优化,提升缓存服务的可靠性,可以借助静态化降级来对第一服务器的性能做优化,具体为在动态数据标签中设置降级处理参数,降级处理参数可以被配置为false和true两个状态,以分别对应关闭和开启两个状态,通过实时监控后端第二服务器的负载值,在动态数据服务的负载值大于或等于预设阈值,则第二服务器自动将降级处理参数配置为开启状态,并将每次渲染后产生的渲染页面包括的动态数据进行采样快照,并将采样快照结果缓存在第一服务器中,具体的缓存方式是将采样快照后的动态数据缓存在第一服务器中对应静态页面内,动态数据的缓存位置是该静态页面内对应动态数据标签所在的区块。
直至当第二服务器的负载值小于预设阈值时,业务服务器自动将降级处理参数配置为关闭状态,此时不再进行对渲染页面包括动态数据的采样快照缓存,按照正常流程进行下一个页面请求的获取。
具体的,采样快照是对渲染页面包括的动态数据的当前内容进行采样缓存的操作,所缓存的采样动态数据不考虑时效性要求,采样动态数据包括当前时刻的渲染页面中的动态数据内容。
需要说明的是,监控的第二服务器的负载值,可以为第二服务器当前每秒查询率(QPS,Query Per Second)或响应时间(RT,response time),这两个负载参数可以有效表明第二服务器的当前负载状态。
子步骤B2,当接收到客户端发送的针对所述同一个渲染页面的页面请求时,从所述第一服务器中提取与所述页面请求匹配的静态页面和对应所述静态页面的动态数据,通过所述动态数据将所述静态页面渲染后发送至所述客户端。
在本申请实施例中,当进行静态降级处理时,业务服务器断开与第二服务器的通信,将渲染好的渲染页面中的动态数据进行采样快照,并缓存在第一服务器中,使得当业务服务器接收到新的针对该渲染页面的页面请求时,从第一服务器中直接获取缓存的静态页面和对应缓存的动态数据,按照渲染流程渲染后提供给客户端进行展示,因此,在第二服务器由于负载较大无法正常工作时,该方案提供了一种保障措施。
综上所述,本申请实施例提供的一种页面处理方法,包括:接收客户端发送的页面请求;从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;将所述渲染页面发送至所述客户端。本申请通过将动态数据标签添加在静态页面的对应区块中,建立了静态页面与待加载的动态数据之间的联系,整个页面可以以静态页面的形式进行缓存,使得在渲染过程中,可以一次性提取所有的动态数据标签获取对应的动态数据,最终将动态数据统一合并替换掉静态页面中的动态数据标签,将渲染页面作为一个整体返回客户端,提高了渲染的效率,缩短了渲染所花费的时间,使得用户在客户端观看页面时的体验更加顺畅,并且在第二服务器的负载过大时,将渲染页面的动态数据采样缓存在第一服务器中,以使得在第二服务器由于负载较大无法正常工作时,从第一服务器获取相关动态数据进行渲染,提供了一种渲染操作的保障措施。
参照图7,示出了本申请提供的另一种页面处理方法的具体步骤流程图,具体可以包括如下步骤:
步骤601,接收客户端发送的页面请求。
该步骤可以参照上述步骤401,此处不再赘述。
步骤602,从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签。
动态数据标签还包括:数据获取地址。
步骤603,根据所述多个动态数据标签,建立对应的多个渲染任务,以通过所述数据获取地址,从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面。
在本申请实施例的一个具体示例中,提供另一个带有动态数据标签的页面模板,其具体内容为:
其中,scr=“rpc://service/method/version”和scr=https://domain/path/id可以为动态数据标签中相关动态数据的数据获取地址,数据获取地址支持内部远程过程调用(RPC,Remote Procedure Call)自定义服务地址和公共超文本传输协议(HTTP,HyperText Transfer Protocol)服务地址,即本申请实施例可以通过内部RPC进行获取内部数据,也可以通过HTTP协议获取互联网公开的数据,增加了数据获取的来源。
步骤604,将所述渲染页面发送至所述客户端。
该步骤可以参照上述步骤404,此处不再赘述。
综上所述,本申请实施例提供的一种页面处理方法,包括:接收客户端发送的页面请求;从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;将所述渲染页面发送至所述客户端。本申请通过将动态数据标签添加在静态页面的对应区块中,建立了静态页面与待加载的动态数据之间的联系,整个页面可以以静态页面的形式进行缓存,使得在渲染过程中,可以通过建立并行处理任务的方式,一次性提取所有的动态数据标签,获取对应的动态数据,最终将动态数据统一合并替换掉静态页面中的动态数据标签,将渲染页面作为一个整体返回客户端,提高了渲染的效率,缩短了渲染所花费的时间,使得用户在客户端观看页面时的体验更加顺畅。
参照图8,示出了一种页面请求处理流程图,其对应本申请实施例中当静态页面包括多个带有动态数据标签的区块时,进行页面渲染的处理流程图,其中,用户在客户端浏览器点击某一页面时,客户端会生成带有该页面ID的页面请求给业务服务器,业务服务器根据该页面ID,从第一服务器中获取对应的缓存页面,之后业务服务器对获取到的缓存页面进行解析,提取其中的动态数据标签,若未能提取到动态数据标签,则说明用户请求的是一个静态页面,此时可以直接将获取到的缓存页面发送至客户端进行展示,若参照图8,提取到两个动态数据标签,则构造并行任务,访问第二服务器同时获取这两个动态数据标签对应的动态数据,并进行渲染,渲染完成后,将渲染页面发送至客户端进行展示即可。
在本申请实施例中,由于静态页面中的动态数据区块已通过动态数据标签进行了“占位”,则此时业务服务器可以解析并提取静态页面中的所有动态数据标签,建立针对每个动态数据标签获取相应动态数据的并行任务,通过多线程并行处理技术更高效率的获取动态数据,大大提高了渲染操作的效率。
参照图9,示出了本申请一个具体示例中的一种页面处理装置的结构图,包括:
请求获取模块701,用于接收客户端发送的页面请求;
页面获取模块702,用于从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;
渲染模块703,用于根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;
返回模块704,用于将所述渲染页面发送至所述客户端。
综上所述,本申请实施例提供的一种页面处理装置,包括:接收客户端发送的页面请求;从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;将所述渲染页面发送至所述客户端,以供所述客户端进行展示。本申请通过将多个动态数据标签添加在静态页面中,建立了静态页面与待加载的动态数据之间的联系,整个页面中的所有动态数据标签可以一次性进行提取,并建立根据动态数据标签获取对应的动态数据进行渲染的渲染任务,提高了渲染的效率,使得浏览页面时的体验更加顺畅。
参照图10,示出了本申请一个具体示例中的一种页面处理装置的具体结构图,包括:
请求获取模块801,用于接收客户端发送的页面请求;
页面获取模块802,用于从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;
渲染模块803,用于根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;
可选的,渲染模块803,包括:
建立子模块8031,用于根据所述多个动态数据标签,建立对应的多个并行的渲染任务。
获取子模块8032,用于根据所述多个并行的渲染任务,从所述第二服务器获取所述多个动态数据标签对应的动态数据;
可选的,获取子模块8032,包括:
第一获取单元,用于当所述动态数据标签对应的动态数据为所述个性化动态数据时,根据所述多个并行的渲染任务,从所述个性化动态数据服务器获取与所述动态数据标签对应的个性化动态数据;
第二获取单元,用于当所述动态数据标签对应的动态数据为所述非个性化动态数据时,根据所述多个并行的渲染任务,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据。
可选的,第二获取单元,包括:
第一状态子单元,用于若所述准实时处理参数被配置为第一状态,则根据所述多个并行的渲染任务,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据;
第二状态子单元,用于若所述准实时处理参数被配置为第二状态,则每隔所述时间周期参数对应的时间周期,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据,并将所述非个性化动态数据缓存在所述第一服务器中。
可选的,第二状态子单元,包括:
第三获取子单元,用于每隔所述时间周期参数对应的时间周期,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据;
第二替换子单元,用于在所述第一服务器中,将所述非个性化动态数据替换对应静态页面中对应的动态数据标签。
替换子模块8033,用于将所述动态数据替换所述静态页面中对应的动态数据标签,得到所述渲染页面。
可选的,替换子模块8033,包括:
第一替换单元,用于将所述个性化动态数据和所述非个性化动态数据分别替换所述静态页面中对应的动态数据标签,得到渲染页面。
第三替换子单元,用于将所述个性化动态数据替换所述静态页面中对应的动态数据标签,得到所述渲染页面。
渲染子模块8034,用于根据所述多个动态数据标签,建立对应的多个渲染任务,以通过所述数据获取地址,从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面。
返回模块804,用于将所述渲染页面发送至所述客户端。
可选的,返回模块804,包括:
降级缓存子模块8041,用于若所述第二服务器的负载值大于或等于预设阈值,则将所述降级处理参数配置为开启状态,并将所述渲染页面包括的动态数据缓存在所述第一服务器;
降级处理子模块8042,用于当接收到客户端发送的针对所述同一个渲染页面的页面请求时,从所述第一服务器中提取与所述页面请求匹配的静态页面和对应所述静态页面的动态数据,通过所述动态数据将所述静态页面渲染后发送至所述客户端。
综上所述,本申请实施例提供的一种页面处理装置,包括:接收客户端发送的页面请求;从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;将所述渲染页面发送至所述客户端。本申请通过将动态数据标签添加在静态页面的对应区块中,建立了静态页面与待加载的动态数据之间的联系,整个页面可以以静态页面的形式进行缓存,使得在渲染过程中,可以一次性提取所有的动态数据标签获取对应的动态数据,最终将动态数据统一合并替换掉静态页面中的动态数据标签,将渲染页面作为一个整体返回客户端,提高了渲染的效率,缩短了渲染所花费的时间,使得用户在客户端观看页面时的体验更加顺畅,并且在第二服务器的负载过大时,将渲染页面的动态数据采样缓存在第一服务器中,以使得在第二服务器由于负载较大无法正常工作时,从第一服务器获取相关动态数据进行渲染,提供了一种渲染操作的保障措施。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图11是本申请实施例提供的一种装置的结构示意图。参见图11,服务器900可以用于实施上述实施例中提供的页面处理方法。该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储的或持久存储的。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。
服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,一个或一个以上键盘956,和/或和,一个或一个以上操作系统941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。其中,中央处理器922可以在服务器900上执行以下操作的指令:
接收客户端发送的页面请求;
从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;
根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;
将所述渲染页面发送至所述客户端。
本申请还提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行一种页面处理方法。
本申请提供一种装置,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行一种业务进度展示方法。
本申请还提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行一种业务进度展示方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种页面处理方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种页面处理方法,其特征在于,包括:
接收客户端发送的页面请求;
从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;
根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;
将所述渲染页面发送至所述客户端;
其中,所述第二服务器包括个性化动态数据服务器和非个性化动态数据服务器;所述根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应动态数据对所述静态页面进行渲染,得到渲染页面的步骤,包括:
根据所述多个动态数据标签,建立对应的多个并行的渲染任务;
当所述动态数据标签对应的动态数据为所述个性化动态数据时,根据所述多个并行的渲染任务,从个性化动态数据服务器获取与所述动态数据标签对应的个性化动态数据;
当所述动态数据标签对应的动态数据为非个性化动态数据、且所述动态数据标签包括准实时处理参数和时间周期参数时,若准实时处理参数被配置为第一状态,则根据所述多个并行的渲染任务,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据;若准实时处理参数被配置为第二状态,则每隔时间周期参数对应的时间周期,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据,并将所述非个性化动态数据缓存在所述第一服务器中;
将所述动态数据替换所述静态页面中对应的动态数据标签,得到所述渲染页面。
2.根据权利要求1所述的方法,其特征在于,所述将所述动态数据替换所述静态页面中对应的动态数据标签,得到所述渲染页面的步骤,包括:
将所述个性化动态数据和所述非个性化动态数据分别替换所述静态页面中对应的动态数据标签,得到渲染页面。
3.根据权利要求1所述的方法,其特征在于,若所述准实时处理参数被配置为第二状态,则每隔所述时间周期参数对应的时间周期,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据,并将所述非个性化动态数据缓存在所述第一服务器中的步骤,包括:
每隔所述时间周期参数对应的时间周期,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据;
在所述第一服务器中,将所述非个性化动态数据替换对应静态页面中对应的动态数据标签。
4.根据权利要求3所述的方法,其特征在于,所述将所述动态数据替换所述静态页面中对应的动态数据标签,得到所述渲染页面的步骤,包括:
将所述个性化动态数据替换所述静态页面中对应的动态数据标签,得到所述渲染页面。
5.根据权利要求1所述的方法,其特征在于,所述动态数据标签还包括:数据获取地址,所述根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面的步骤,还包括:
根据所述多个动态数据标签,建立对应的多个渲染任务,以通过所述数据获取地址,从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面。
6.根据权利要求1所述的方法,其特征在于,所述动态数据标签还包括:降级处理参数,所述将所述渲染页面发送至所述客户端的步骤,包括:
若所述第二服务器的负载值大于或等于预设阈值,则将所述降级处理参数配置为开启状态,并将所述渲染页面包括的动态数据缓存在所述第一服务器;
当接收到客户端发送的针对同一个渲染页面的页面请求时,从所述第一服务器中提取与所述页面请求匹配的静态页面和对应所述静态页面的动态数据,通过所述动态数据将所述静态页面渲染后发送至所述客户端。
7.一种页面处理装置,其特征在于,包括:
请求获取模块,用于接收客户端发送的页面请求;
页面获取模块,用于从第一服务器获取所述页面请求对应的静态页面;所述静态页面中设置有多个动态数据标签;
渲染模块,用于根据所述多个动态数据标签,建立对应的多个渲染任务,以从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面;
返回模块,用于将所述渲染页面发送至所述客户端;
其中,所述渲染模块,包括:建立子模块,用于根据所述多个动态数据标签,建立对应的多个并行的渲染任务;获取子模块,用于根据所述多个并行的渲染任务,从所述第二服务器获取所述多个动态数据标签对应的动态数据;替换子模块,用于将所述动态数据替换所述静态页面中对应的动态数据标签,得到所述渲染页面;
其中,所述第二服务器包括个性化动态数据服务器和非个性化动态数据服务器;所述获取子模块,包括:第一获取单元,用于当所述动态数据标签对应的动态数据为个性化动态数据时,根据所述多个并行的渲染任务,从个性化动态数据服务器获取与所述动态数据标签对应的个性化动态数据;第二获取单元,用于当所述动态数据标签对应的动态数据为非个性化动态数据时,根据所述多个并行的渲染任务,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据;
当所述动态数据标签对应的动态数据为所述非个性化动态数据时,所述动态数据标签包括:准实时处理参数和时间周期参数,所述第二获取单元,包括:第一状态子单元,用于若所述准实时处理参数被配置为第一状态,则根据所述多个并行的渲染任务,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据;第二状态子单元,用于若所述准实时处理参数被配置为第二状态,则每隔所述时间周期参数对应的时间周期,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据,并将所述非个性化动态数据缓存在所述第一服务器中。
8.根据权利要求7所述的装置,其特征在于,所述替换子模块,包括:
第一替换单元,用于将所述个性化动态数据和所述非个性化动态数据分别替换所述静态页面中对应的动态数据标签,得到渲染页面。
9.根据权利要求7所述的装置,其特征在于,所述第二状态子单元,包括:
第三获取子单元,用于每隔所述时间周期参数对应的时间周期,从非个性化动态数据服务器获取与所述动态数据标签对应的非个性化动态数据;
第二替换子单元,用于在所述第一服务器中,将所述非个性化动态数据替换对应静态页面中对应的动态数据标签。
10.根据权利要求9所述的装置,其特征在于,所述替换子模块,包括:
第三替换单元,用于将所述个性化动态数据替换所述静态页面中对应的动态数据标签,得到所述渲染页面。
11.根据权利要求7所述的装置,其特征在于,所述动态数据标签还包括:数据获取地址,所述渲染模块,还包括:
渲染子模块,用于根据所述多个动态数据标签,建立对应的多个渲染任务,以通过所述数据获取地址,从第二服务器获取所述动态数据标签对应的动态数据对所述静态页面进行渲染,得到渲染页面。
12.根据权利要求7所述的装置,其特征在于,所述动态数据标签还包括:降级处理参数,所述返回模块,包括:
降级缓存子模块,用于若所述第二服务器的负载值大于或等于预设阈值,则将所述降级处理参数配置为开启状态,并将所述渲染页面包括的动态数据缓存在所述第一服务器;
降级处理子模块,用于当接收到客户端发送的针对同一个渲染页面的页面请求时,从所述第一服务器中提取与所述页面请求匹配的静态页面和对应所述静态页面的动态数据,通过所述动态数据将所述静态页面渲染后发送至所述客户端。
13.一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行所述指令时,使得所述装置执行如权利要求1至6的方法。
14.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行所述指令时,执行如权利要求1至6的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810910889.5A CN110866204B (zh) | 2018-08-10 | 2018-08-10 | 一种页面处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810910889.5A CN110866204B (zh) | 2018-08-10 | 2018-08-10 | 一种页面处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110866204A CN110866204A (zh) | 2020-03-06 |
CN110866204B true CN110866204B (zh) | 2023-04-11 |
Family
ID=69650819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810910889.5A Active CN110866204B (zh) | 2018-08-10 | 2018-08-10 | 一种页面处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110866204B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112003788B (zh) * | 2020-07-23 | 2021-12-14 | 北京达佳互联信息技术有限公司 | 数据请求发送方法、装置、设备及介质 |
CN112182449A (zh) * | 2020-09-07 | 2021-01-05 | 北京达佳互联信息技术有限公司 | 页面加载方法、装置、电子设备及存储介质 |
CN112115693B (zh) * | 2020-09-25 | 2023-08-22 | 平安国际智慧城市科技股份有限公司 | 带动态渲染图表的Word文档的导出方法、装置及计算机设备 |
CN112115397A (zh) * | 2020-09-25 | 2020-12-22 | 企查查科技有限公司 | 动态页面渲染方法及渲染系统 |
CN112966200A (zh) * | 2021-03-04 | 2021-06-15 | 北京百度网讯科技有限公司 | 一种服务降级方法和渲染服务器 |
CN112905944B (zh) * | 2021-04-06 | 2023-06-20 | 成都新希望金融信息有限公司 | 页面在线动态生成方法、装置、电子设备和可读存储介质 |
CN113343143A (zh) * | 2021-05-24 | 2021-09-03 | 上海万物新生环保科技集团有限公司 | 一种流式加载网页模板的方法及设备 |
CN113392353A (zh) * | 2021-06-18 | 2021-09-14 | 网易(杭州)网络有限公司 | 网站页面的加载方法、装置、电子设备及存储介质 |
CN114781347B (zh) * | 2022-06-21 | 2022-09-20 | 飞狐信息技术(天津)有限公司 | 一种文件处理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714982A (zh) * | 2013-12-17 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 一种网页的加载方法和系统 |
WO2016026384A1 (zh) * | 2014-08-20 | 2016-02-25 | 阿里巴巴集团控股有限公司 | 一种客户端页面显示方法、装置及系统 |
CN106156101A (zh) * | 2015-04-02 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种动态改变页面的方法及装置 |
CN106339414A (zh) * | 2016-08-12 | 2017-01-18 | 合网络技术(北京)有限公司 | 网页渲染方法及装置 |
CN107197000A (zh) * | 2017-05-04 | 2017-09-22 | 微梦创科网络科技(中国)有限公司 | 静态动态混合缓存方法、装置及系统 |
CN108334562A (zh) * | 2018-01-09 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种页面显示方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040168122A1 (en) * | 2003-02-21 | 2004-08-26 | Kobipalayam Murugaiyan Senthil Nathan | System, method and computer readable medium for transferring and rendering a web page |
-
2018
- 2018-08-10 CN CN201810910889.5A patent/CN110866204B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714982A (zh) * | 2013-12-17 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 一种网页的加载方法和系统 |
WO2016026384A1 (zh) * | 2014-08-20 | 2016-02-25 | 阿里巴巴集团控股有限公司 | 一种客户端页面显示方法、装置及系统 |
CN106156101A (zh) * | 2015-04-02 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种动态改变页面的方法及装置 |
CN106339414A (zh) * | 2016-08-12 | 2017-01-18 | 合网络技术(北京)有限公司 | 网页渲染方法及装置 |
CN107197000A (zh) * | 2017-05-04 | 2017-09-22 | 微梦创科网络科技(中国)有限公司 | 静态动态混合缓存方法、装置及系统 |
CN108334562A (zh) * | 2018-01-09 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种页面显示方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110866204A (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110866204B (zh) | 一种页面处理方法及装置 | |
RU2679729C2 (ru) | Способ и устройство для процесса демонстрации сетевых данных | |
US8688534B2 (en) | System and method for gathering ecommerce data | |
CN110096660B (zh) | 用于加载页面图片的方法、装置和电子设备 | |
CN112115396B (zh) | 网页页面渲染方法、装置、设备及存储介质 | |
CN110245069B (zh) | 页面版本的测试方法和装置、页面的展示方法和装置 | |
US20230394042A1 (en) | Asynchronous Predictive Caching Of Content Listed In Search Results | |
CN110929183A (zh) | 一种数据处理方法、装置和机器可读介质 | |
US11074646B1 (en) | Dynamically selecting an image for display | |
CN108932640B (zh) | 用于处理订单的方法和装置 | |
US20220407907A1 (en) | Web application component migration to a cloud computing system | |
US20160350299A1 (en) | Image as database | |
US20150100868A1 (en) | System and method for simulating dynamic content by automatically updating a static image with applicability to a virtual business card | |
CN113742551A (zh) | 一种基于scrapy和puppeteer的动态数据抓取方法 | |
CN108804445B (zh) | 热力图生成方法和装置 | |
CN108038169B (zh) | 一种页面显示方法及装置 | |
EP3642727B1 (en) | Resource pre-fetch using age threshold | |
CN113032702A (zh) | 一种页面加载方法和装置 | |
CN111273964A (zh) | 一种数据加载方法及装置 | |
US20160253419A1 (en) | System and method for information pushing and redirecting | |
CN115760296A (zh) | 页面数据处理与浏览方法、终端设备及存储介质 | |
US9734529B1 (en) | Method, system, and computer readable medium for selection of catalog items for inclusion on a network page | |
CN114117298A (zh) | 一种基于电商的商品信息查询方法及系统 | |
US11526926B2 (en) | Service data processing method and device | |
US20160127496A1 (en) | Method and system of content caching and transmission |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240301 Address after: 51 Belarusian Road, Singapore Patentee after: Alibaba Singapore Holdings Ltd. Country or region after: Singapore Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: ALIBABA GROUP HOLDING Ltd. Country or region before: Cayman Islands |