服务端渲染方法、装置、服务端及存储介质
文献发布时间:2023-06-19 12:10:19
技术领域
本申请涉及计算机技术领域,尤其涉及一种服务端渲染方法、装置、服务端及存储介质。
背景技术
随着计算机技术的日益发展以及网页应用程序等的广泛应用,现有为提供更贴合用户需求的页面,需要对网页进行性能优化,并将进行性能优化后的页面进行渲染后,由浏览器展示给用户。
其中,页面渲染包括服务端渲染和客户端渲染。在客户端和服务端不分离时代,几乎所有网站都使用动态服务器页面(Active Server Pages,ASP)、Java、PHP做服务端渲染。随着网络的加快,客户端性能提高以及js本身的性能提高,客户端页从服务端分离出来。ajax技术的普及以及前端三大框架的崛起(Angular、React、Vue),使得客户端渲染逐渐成为主流。
但是客户端渲染存在消耗客户端性能,页面渲染耗时较多等问题。因此,如何在保持客户端和服务端分离前提下,解决客户端渲染的缺点,成为业界关注的热点课题。
发明内容
为解决现有技术中存在的问题,本申请提供一种服务端渲染方法、装置、服务端及存储介质。
第一方面,本申请实施例提供一种服务端渲染方法,所述方法应用于node服务器,所述方法包括如下步骤:
获取用户基于客户端的浏览器输入的统一资源定位符(uniform resourcelocator,URL);
将所述URL发送至后端服务器,以使所述后端服务器根据所述URL,将与所述URL对应的待处理数据返回至所述node服务器;
根据所述待处理数据,生成静态页面字符串;
将所述静态页面字符串返回至所述浏览器,以使所述浏览器对所述静态页面字符串渲染得到目标页面并显示。
在一种可能的实现方式中,所述方法还包括:
获取用户基于浏览器输入的交互请求;
将所述交互请求发送至所述后端服务器,以使所述后端服务器根据所述交互请求,将与所述交互请求对应的交互数据返回至所述node服务器;
将所述交互数据返回至所述浏览器,以使所述浏览器根据所述交互数据对所述目标页面进行调整,并显示调整后的目标页面。
在一种可能的实现方式中,所述根据所述待处理数据,生成静态页面字符串,包括:
调用Prerender.io中间件;
利用所述Prerender.io中间件,对所述待处理数据进行处理,获得所述静态页面字符串。
在一种可能的实现方式中,所述利用所述Prerender.io中间件,对所述待处理数据进行处理,获得所述静态页面字符串,包括:
获取所述待处理数据对应的字符串模板;
利用所述Prerender.io中间件,基于所述字符串模板和所述待处理数据,获得所述静态页面字符串。
第二方面,本申请实施例提供另一种服务端渲染方法,所述方法应用于客户端,所述方法包括如下步骤:
将用户基于浏览器输入的URL发送至node服务器,以使所述node服务器将所述URL发送至后端服务器,并根据所述后端服务器返回的与所述URL对应的待处理数据,生成静态页面字符串,将所述静态页面字符串返回至所述浏览器;
利用所述浏览器,对所述静态页面字符串渲染得到目标页面并显示。
在一种可能的实现方式中,所述方法还包括:
将用户基于所述浏览器输入的交互请求发送至所述node服务器,以使所述node服务器将所述交互请求发送至所述后端服务器,并将所述后端服务器返回的与所述交互请求对应的交互数据返回至所述浏览器;
利用所述浏览器,基于所述交互数据对所述目标页面进行调整,并显示调整后的目标页面。
在一种可能的实现方式中,所述利用所述浏览器,对所述静态页面字符串渲染得到目标页面并显示,包括:
调用所述浏览器中的chrome中间件;
利用所述chrome中间件,对所述静态页面字符串进行渲染,获得所述目标页面并显示。
第三方面,本申请实施例提供一种服务端渲染装置,所述装置应用于node服务器,所述装置包括:
获取模块,用于获取用户基于客户端的浏览器输入的URL;
第一发送模块,用于将所述URL发送至后端服务器,以使所述后端服务器根据所述URL,将与所述URL对应的待处理数据返回至所述node服务器;
生成模块,用于根据所述待处理数据,生成静态页面字符串;
返回模块,用于将所述静态页面字符串返回至所述浏览器,以使所述浏览器对所述静态页面字符串渲染得到目标页面并显示。
在一种可能的实现方式中,所述获取模块,还用于获取用户基于浏览器输入的交互请求;
所述第一发送模块,还用于将所述交互请求发送至所述后端服务器,以使所述后端服务器根据所述交互请求,将与所述交互请求对应的交互数据返回至所述node服务器;
所述返回模块,还用于将所述交互数据返回至所述浏览器,以使所述浏览器根据所述交互数据对所述目标页面进行调整,并显示调整后的目标页面。
在一种可能的实现方式中,所述生成模块,具体用于:
调用Prerender.io中间件;
利用所述Prerender.io中间件,对所述待处理数据进行处理,获得所述静态页面字符串。
在一种可能的实现方式中,所述生成模块,具体用于:
获取所述待处理数据对应的字符串模板;
利用所述Prerender.io中间件,基于所述字符串模板和所述待处理数据,获得所述静态页面字符串。
第四方面,本申请实施例提供另一种服务端渲染装置,所述装置应用于客户端,所述装置包括:
第二发送模块,用于将用户基于浏览器输入的URL发送至node服务器,以使所述node服务器将所述URL发送至后端服务器,并根据所述后端服务器返回的与所述URL对应的待处理数据,生成静态页面字符串,将所述静态页面字符串返回至所述浏览器;
渲染模块,用于利用所述浏览器,对所述静态页面字符串渲染得到目标页面并显示。
在一种可能的实现方式中,所述第二发送模块,还用于将用户基于所述浏览器输入的交互请求发送至所述node服务器,以使所述node服务器将所述交互请求发送至所述后端服务器,并将所述后端服务器返回的与所述交互请求对应的交互数据返回至所述浏览器;
所述渲染模块,还用于利用所述浏览器,基于所述交互数据对所述目标页面进行调整,并显示调整后的目标页面。
在一种可能的实现方式中,所述渲染模块,具体用于:
调用所述浏览器中的chrome中间件;
利用所述chrome中间件,对所述静态页面字符串进行渲染,获得所述目标页面并显示。
第五方面,本申请实施例提供一种服务端,包括:
node服务器;
后端服务器;
存储器;以及
计算机程序;
其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述node服务器执行,所述计算机程序包括用于执行如第一方面所述的方法的指令。
第六方面,本申请实施例提供一种客户端,包括:
处理器;
存储器;以及
计算机程序;
其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如第二方面所述的方法的指令。
第七方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得服务端执行第一方面所述的方法。
第八方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得客户端执行第二方面所述的方法。
第九方面,本申请实施例提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行第一方面所述的方法。
第十方面,本申请实施例提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行第二方面所述的方法。
本申请实施例提供的服务端渲染方法、装置、服务端及存储介质,该方法通过node服务器获取用户基于客户端的浏览器输入的URL,进而,将该URL发送至后端服务器,以使后端服务器根据上述URL,将与上述URL对应的待处理数据返回至node服务器,从而,node服务器根据该待处理数据,生成静态页面字符串,将该静态页面字符串返回至浏览器,以使浏览器根据上述静态页面字符串渲染得到目标页面并显示,实现了服务器端的页面渲染,客户端只需对上述静态页面字符串进行渲染就能获得相应页面,解决现有客户端渲染存在消耗客户端性能,页面渲染耗时较多等问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的服务端渲染系统架构示意图;
图2为本申请实施例提供的一种服务端渲染方法的流程示意图;
图3为本申请实施例提供的另一种服务端渲染方法的流程示意图;
图4为本申请实施例提供的再一种服务端渲染方法的流程示意图;
图5为本申请实施例提供的一种服务端渲染装置的结构示意图;
图6为本申请实施例提供的另一种服务端渲染装置的结构示意图;
图7A为本申请提供的一种服务端的基本硬件架构示意图;
图7B为本申请提供的一种客户端的基本硬件架构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”及“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中,页面渲染是从一个网页的URL开始,根据该URL所对应的各项资源,输出可视化页面的过程。
页面渲染包括服务端渲染和客户端渲染。在客户端和服务端不分离时代,几乎所有网站都使用ASP、Java、PHP做服务端渲染。随着网络的加快,客户端性能提高以及js本身的性能提高,客户端页从服务端分离出来。ajax技术的普及以及前端三大框架的崛起(Angular、React、Vue),使得客户端渲染逐渐成为主流。
然而,客户端渲染存在消耗客户端性能,页面渲染耗时较多等问题。因此,如何在保持客户端和服务端分离前提下,解决客户端渲染的缺点,成为业界关注的热点课题。
为了解决上述问题,本申请实施例提出一种服务端渲染方法,可以由服务端完成渲染过程,即服务端可以在特定的区域、符号里用数据填充,生成完整的页面文件字符串,将该页面文件字符串返回给客户端,客户端只需对该字符串进行渲染就能获得相应页面,解决现有客户端渲染存在消耗客户端性能,页面渲染耗时较多等问题。
可选地,本申请提供的一种服务端渲染方法,可以适用于图1所示的服务端渲染系统架构示意图,如图1所示,该系统可以包括node服务器101、后端服务器102和客户端103。
在具体实现过程中,用户可以在客户端103的浏览器输入URL,进而,客户端103可以将该URL发送至node服务器101。
node服务器101获取上述URL,将上述URL发送至后端服务器102。后端服务器102将与上述URL对应的待处理数据返回至node服务器101。node服务器101根据待处理数据,生成一页面文件字符串,并将该页面文件字符串返回至客户端103。客户端103利用浏览器对上述页面文件字符串进行渲染获得相应页面,解决现有客户端渲染存在消耗客户端性能,页面渲染耗时较多等问题。
应理解,上述系统仅为一种示例性系统,具体实施时,可以根据应用需求设置。
可以理解的是,本申请实施例示意的结构并不构成对服务端渲染系统架构的具体限定。在本申请另一些可行的实施方式中,上述架构可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,具体可根据实际应用场景确定,在此不做限制。图1所示的部件可以以硬件,软件,或软件与硬件的组合实现。
另外,本申请实施例描述的系统架构是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面以几个实施例为例对本申请的技术方案进行描述,对于相同或相似的概念或过程可能在某些实施例不再赘述。
下面以几个实施例为例对本申请的技术方案进行描述,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供了一种服务端渲染方法的流程示意图,本实施例的执行主体可以为图1所示实施例中的node服务器,如图2所示,该方法可以包括:
S201:获取用户基于客户端的浏览器输入的URL。
这里,用户可以在客户端的浏览器输入URL,该URL可以理解为后续客户端渲染得到的目标页面的网络地址,具体可以根据实际情况确定。
其中,node服务器获取上述URL的方式可以根据实际情况确定,例如客户端在获取上述URL后,可以将该URL发送至node服务器,node服务器获取到上述URL,或者,node服务器也可以对客户端进行监控,例如监控是否有用户基于客户端的浏览器输入的URL,如果有,从客户端获取该URL等,满足不同应用场景的应用需求。
S202:将上述URL发送至后端服务器,以使后端服务器根据上述URL,将与上述URL对应的待处理数据返回至node服务器。
示例性的,后端服务器可以预存URL与待处理数据的对应关系。在node服务器将上述URL发送至后端服务器后,后端服务器可以根据上述对应关系,确定与上述URL对应的待处理数据,并将该待处理数据返回至node服务器。
S203:根据上述待处理数据,生成静态页面字符串。
这里,node服务器在获取后端服务器返回的上述待处理数据后,可以调用Prerender.io中间件,利用该Prerender.io中间件,对上述待处理数据进行处理,获得上述静态页面字符串。
示例性的,node服务器可以获取上述待处理数据对应的字符串模板,然后利用上述Prerender.io中间件,基于上述字符串模板和待处理数据,获得上述静态页面字符串。
其中,node服务器可以预存待处理数据与字符串模板的对应关系。node服务器在获取后端服务器返回的上述待处理数据后,可以根据上述对应关系,获取上述待处理数据对应的字符串模板,进而,利用上述Prerender.io中间件,在上述字符串模板中的相应位置填充上述待处理数据,生成上述静态页面字符串。
S204:将上述静态页面字符串返回至浏览器,以使浏览器对该静态页面字符串渲染得到目标页面并显示。
node服务器在生成静态页面字符串之后,将上述静态页面字符串返回至浏览器,浏览器可以调用chrome中间件,利用该chrome中间件,对上述静态页面字符串进行渲染,获得目标页面并显示。
这里,node服务器在特定的区域、符号里用数据填充,生成静态页面字符串,将该静态页面字符串返回给客户端,客户端只需对该字符串进行渲染就能获得相应页面,解决现有客户端渲染存在消耗客户端性能,页面渲染耗时较多等问题。
另外,上述node服务器还可以获取用户基于上述浏览器输入的交互请求(例如翻页请求、评论请求等),将该交互请求发送至后端服务器,以使后端服务器根据上述交互请求,将与上述交互请求对应的交互数据返回至node服务器。node服务器将上述交互数据返回至浏览器,以使浏览器根据上述交互数据对上述目标页面进行调整,并显示调整后的目标页面。
这里,node服务器生成静态页面字符串发送至浏览器,如果node服务器获取到用户基于上述浏览器输入的交互请求,可以将该交互请求发送至后端服务器以获取与上述交互请求对应的交互数据,从而,将该交互数据返回至浏览器,这样,浏览器可以调用chrome中间件,利用该chrome中间件,基于上述静态页面字符串和交互数据,对上述目标页面进行调整,获得调整后的目标页面,处理过程简单,满足实际应用需要。
在本申请实施例中,node服务器在获取用户基于客户端的浏览器输入的URL之前,可以登录Prerender.io进行注册,并且获得个人token,配置Nginx中间件用于将页面请求转发至Prerender.io,检查nginx并重启,下载prerender服务安装在本地,安装npm依赖,启动Prerender.oi服务等,客户端可以预先安装Chrome,以保证上述服务端渲染正常进行。
本申请实施例通过node服务器获取用户基于客户端的浏览器输入的URL,进而,将该URL发送至后端服务器,以使后端服务器根据上述URL,将与上述URL对应的待处理数据返回至node服务器,从而,node服务器根据该待处理数据,生成静态页面字符串,将该静态页面字符串返回至浏览器,以使浏览器根据上述静态页面字符串渲染得到目标页面并显示,实现了服务器端的页面渲染,客户端只需对上述静态页面字符串进行渲染就能获得相应页面,解决现有客户端渲染存在消耗客户端性能,页面渲染耗时较多等问题。
而且,本申请实施例因为在后端有完整的静态页面,使得爬虫更容易爬取获得信息,更有利于搜索引擎优化(Search Engine Optimization,seo)。另外,本申请实施例后端生成静态化文件。即生成缓存片段,如果后续页面变化,可以基于上述静态化文件高效生成变化后的文件,适合应用。
以上实施例从node服务器侧详细描述了根据本申请实施例的服务端渲染的方法,下面将结合以下实施例从客户端侧详细描述根据本申请实施例提供的服务端渲染的方法。应理解,node服务器侧描述的某些概念、特性等与客户端侧的描述相应,为了简洁,适当省略重复的描述。
图3为本申请实施例提供的另一种服务端渲染方法的流程示意图,本实施例的执行主体可以为图1中的客户端,如图3所示,该方法可以包括如下步骤:
S301:将用户基于浏览器输入的URL发送至node服务器,以使node服务器将上述URL发送至后端服务器,并根据后端服务器返回的与上述URL对应的待处理数据,生成静态页面字符串,将该静态页面字符串返回至浏览器。
S302:利用浏览器,对上述静态页面字符串渲染得到目标页面并显示。
这里,客户端还可以将用户基于浏览器输入的交互请求发送至node服务器,以使node服务器将上述交互请求发送至后端服务器,并将后端服务器返回的与上述交互请求对应的交互数据返回至浏览器;利用浏览器,基于上述交互数据对上述目标页面进行调整,并显示调整后的目标页面。
其中,客户端在利用浏览器,对上述静态页面字符串渲染得到目标页面并显示时,可以调用浏览器中的chrome中间件,利用该chrome中间件,对上述静态页面字符串进行渲染,获得上述目标页面并显示。
本申请实施例通过客户端将用户基于浏览器输入的URL发送至node服务器,进而,node服务器将该URL发送至后端服务器,以使后端服务器根据上述URL,将与上述URL对应的待处理数据返回至node服务器,从而,node服务器根据该待处理数据,生成静态页面字符串,将该静态页面字符串返回至浏览器,客户端利用浏览器对上述静态页面字符串渲染得到目标页面并显示,实现了服务器端的页面渲染,客户端只需对上述静态页面字符串进行渲染就能获得相应页面,解决现有客户端渲染存在消耗客户端性能,页面渲染耗时较多等问题。
另外,本申请实施例还提供再一种服务端渲染方法,从客户端、node服务器和后端服务器交互进行说明,如图4所示,该方法可以包括:
S401:客户端将用户基于浏览器输入的URL发送至node服务器。
S402:node服务器将上述URL发送至后端服务器。
S403:后端服务器根据上述URL,将与上述URL对应的待处理数据返回至node服务器。
S404:node服务器根据上述待处理数据,生成静态页面字符串。
这里,node服务器可以调用Prerender.io中间件,利用该Prerender.io中间件,对上述待处理数据进行处理,获得上述静态页面字符串。
S405:node服务器将上述静态页面字符串返回至上述浏览器。
S406:客户端利用上述浏览器,对上述静态页面字符串渲染得到目标页面并显示。
这里,客户端可以调用上述浏览器中的chrome中间件,利用该chrome中间件,对上述静态页面字符串进行渲染,获得上述目标页面并显示。
另外,客户端还可以将用户基于上述浏览器输入的交互请求发送至node服务器,进而,node服务器将上述交互请求发送至后端服务器,并将后端服务器返回的与上述交互请求对应的交互数据返回至上述浏览器。客户端利用上述浏览器,基于上述交互数据对所述目标页面进行调整,并显示调整后的目标页面。
本申请实施例可以通过node服务器获取用户基于客户端的浏览器输入的URL,进而,将该URL发送至后端服务器,以使后端服务器根据上述URL,将与上述URL对应的待处理数据返回至node服务器,从而,node服务器根据该待处理数据,生成静态页面字符串,将该静态页面字符串返回至浏览器,以使浏览器根据上述静态页面字符串渲染得到目标页面并显示,实现了服务器端的页面渲染,客户端只需对上述静态页面字符串进行渲染就能获得相应页面,解决现有客户端渲染存在消耗客户端性能,页面渲染耗时较多等问题。
对应于上文实施例的服务端渲染方法,图5为本申请实施例提供的服务端渲染装置的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分。图5为本申请实施例提供的一种服务端渲染装置的结构示意图,该服务端渲染装置50包括:获取模块501、第一发送模块502、生成模块503以及返回模块504。这里的服务端渲染装置可以是上述node服务器本身,或者是实现上述node服务器的功能的芯片或者集成电路。这里需要说明的是,获取模块、第一发送模块、生成模块以及返回模块的划分只是一种逻辑功能的划分,物理上两者可以是集成的,也可以是独立的。
其中,获取模块501,用于获取用户基于客户端的浏览器输入的URL。
第一发送模块502,用于将所述URL发送至后端服务器,以使所述后端服务器根据所述URL,将与所述URL对应的待处理数据返回至所述node服务器。
生成模块503,用于根据所述待处理数据,生成静态页面字符串。
返回模块504,用于将所述静态页面字符串返回至所述浏览器,以使所述浏览器对所述静态页面字符串渲染得到目标页面并显示。
在一种可能的实现方式中,所述获取模块501,还用于获取用户基于浏览器输入的交互请求;
所述第一发送模块502,还用于将所述交互请求发送至所述后端服务器,以使所述后端服务器根据所述交互请求,将与所述交互请求对应的交互数据返回至所述node服务器;
所述返回模块504,还用于将所述交互数据返回至所述浏览器,以使所述浏览器根据所述交互数据对所述目标页面进行调整,并显示调整后的目标页面。
在一种可能的实现方式中,所述生成模块503,具体用于:
调用Prerender.io中间件;
利用所述Prerender.io中间件,对所述待处理数据进行处理,获得所述静态页面字符串。
在一种可能的实现方式中,所述生成模块503,具体用于:
获取所述待处理数据对应的字符串模板;
利用所述Prerender.io中间件,基于所述字符串模板和所述待处理数据,获得所述静态页面字符串。
本申请实施例提供的装置,可用于执行上述图2方法实施例的技术方案,其实现原理和技术效果类似,本申请实施例此处不再赘述。
图6为本申请实施例提供的另一种服务端渲染装置的结构示意图。该服务端渲染装置60包括:第二发送模块601以及渲染模块602。这里的服务端渲染装置可以是上述客户端本身,或者是实现上述客户端的功能的芯片或者集成电路。这里需要说明的是,第二发送模块以及渲染模块的划分只是一种逻辑功能的划分,物理上两者可以是集成的,也可以是独立的。
其中,第二发送模块601,用于将用户基于浏览器输入的URL发送至node服务器,以使所述node服务器将所述URL发送至后端服务器,并根据所述后端服务器返回的与所述URL对应的待处理数据,生成静态页面字符串,将所述静态页面字符串返回至所述浏览器。
渲染模块602,用于利用所述浏览器,对所述静态页面字符串渲染得到目标页面并显示。
在一种可能的设计中,所述第二发送模块601,还用于将用户基于所述浏览器输入的交互请求发送至所述node服务器,以使所述node服务器将所述交互请求发送至所述后端服务器,并将所述后端服务器返回的与所述交互请求对应的交互数据返回至所述浏览器;
所述渲染模块602,还用于利用所述浏览器,基于所述交互数据对所述目标页面进行调整,并显示调整后的目标页面。
在一种可能的实现方式中,所述渲染模块602,具体用于:
调用所述浏览器中的chrome中间件;
利用所述chrome中间件,对所述静态页面字符串进行渲染,获得所述目标页面并显示。
本申请实施例提供的装置,可用于执行上述图3方法实施例的技术方案,其实现原理和技术效果类似,本申请实施例此处不再赘述。
可选地,图7A和7B示意性地分别提供本申请所述服务端和客户端的一种可能的基本硬件架构。
参见图7A和7B,服务端和客户端包括至少一个处理器701以及通信接口703。进一步可选的,还可以包括存储器702和总线704。
其中,服务端和客户端中,处理器701的数量可以是一个或多个,图7A和7B仅示意了其中一个处理器701。可选地,处理器701,可以是中央处理器(central processingunit,CPU)、图形处理器(graphics processing unit,GPU)或者数字信号处理器(digitalsignal processor,DSP)。如果服务端和客户端具有多个处理器701,多个处理器701的类型可以不同,或者可以相同。可选地,服务端和客户端的多个处理器701还可以集成为多核处理器。
存储器702存储计算机指令和数据;存储器702可以存储实现本申请提供的上述服务端渲染方法所需的计算机指令和数据,例如,存储器702存储用于实现上述服务端渲染方法的步骤的指令。存储器702可以是以下存储介质的任一种或任一种组合:非易失性存储器(例如只读存储器(ROM)、固态硬盘(SSD)、硬盘(HDD)、光盘),易失性存储器。
通信接口703可以为所述至少一个处理器提供信息输入/输出。也可以包括以下器件的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。
可选的,通信接口703还可以用于服务端和客户端与其它计算设备或者客户端进行数据通信。
进一步可选的,图7A和7B用一条粗线表示总线704。总线704可以将处理器701与存储器702和通信接口703连接。这样,通过总线704,处理器701可以访问存储器702,还可以利用通信接口703与其它计算设备或者客户端进行数据交互。
在本申请中,服务端和客户端执行存储器702中的计算机指令,使得服务端和客户端实现本申请提供的上述服务端渲染方法,或者使得服务端和客户端部署上述的服务端渲染装置。
从逻辑功能划分来看,示例性的,如图7A所示,存储器702中可以包括获取模块501、第一发送模块502、生成模块503以及返回模块504。这里的包括仅仅涉及存储器中所存储的指令被执行时可以分别实现获取模块、第一发送模块、生成模块以及返回模块的功能,而不限定是物理上的结构。
一种可能设计,如图7B所示,存储器702中包括第二发送模块601以及渲染模块602,这里的包括仅仅涉及存储器中所存储的指令被执行时可以分别实现第二发送模块以及渲染模块的功能,而不限定是物理上的结构。
另外,上述的服务端渲染装置除了可以像上述图7A和7B通过软件实现外,也可以作为硬件模块,或者作为电路单元,通过硬件实现。
本申请提供一种计算机可读存储介质,所述计算机程序产品包括计算机指令,所述计算机指令指示计算设备执行本申请提供的上述服务端渲染方法。
本申请实施例提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行本申请提供的上述服务端渲染方法。
本申请提供一种芯片,包括至少一个处理器和通信接口,所述通信接口为所述至少一个处理器提供信息输入和/或输出。进一步,所述芯片还可以包含至少一个存储器,所述存储器用于存储计算机指令。所述至少一个处理器用于调用并运行该计算机指令,以执行本申请提供的上述服务端渲染方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
- 服务端渲染方法、装置、服务端及存储介质
- 互联网服务的服务端渲染热更新方法、系统及存储介质