CN110020367A - 一种页面渲染方法及装置 - Google Patents

一种页面渲染方法及装置 Download PDF

Info

Publication number
CN110020367A
CN110020367A CN201711349614.0A CN201711349614A CN110020367A CN 110020367 A CN110020367 A CN 110020367A CN 201711349614 A CN201711349614 A CN 201711349614A CN 110020367 A CN110020367 A CN 110020367A
Authority
CN
China
Prior art keywords
page
server
load
rendering
client
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
Application number
CN201711349614.0A
Other languages
English (en)
Other versions
CN110020367B (zh
Inventor
彭伟春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201711349614.0A priority Critical patent/CN110020367B/zh
Publication of CN110020367A publication Critical patent/CN110020367A/zh
Application granted granted Critical
Publication of CN110020367B publication Critical patent/CN110020367B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种页面渲染方法及装置,包括执行服务器接收负载均衡服务器分发的页面请求;确定所述执行服务器的负载状态;如果负载状态符合预设条件,则将页面请求对应的原始页面发送至页面请求对应的客户端,以供客户端对原始页面进行渲染,通过对单一执行服务器的负载状态进行监控,当监控到某一执行服务器的负载状态符合需要降级渲染的预设条件时,则由执行服务器将原始页面发送至对应的客户端,以供客户端对原始页面进行渲染和展示,本申请可以实现对单一服务器进行差异化降级渲染的目的,且整个过程完全自动化,摆脱了人工操作的限制,大幅提高了降级渲染操作的执行速度,优化了服务器的运行性能,提升了页面渲染和展示的效率。

Description

一种页面渲染方法及装置
技术领域
本申请涉及信息技术领域,特别是涉及一种页面渲染方法及装置。
背景技术
随着网络信息技术的蓬勃发展,客户端可以在同构渲染框架的基础下,分别通过客户端或服务器来独立进行对页面的渲染操作,例如,在服务器流量负载小于预设值时,在服务器进行页面渲染操作,之后发送渲染完毕的页面供客户端进行展示,而在服务器流量负载大于预设值时,执行降级渲染操作,即直接由客户端进行页面渲染操作,以减轻服务器的负担。
在目前,通常将多个服务器集成为一个服务器集群,并通过人工监测的方式,监测各个服务器集群的负载流量状态,同时针对每个服务器集群关联一个配置推送开关,如:diamond开关或者switch开关,配置推送开关可以推送两种配置参数:flag和false,参数flag表示在服务器端进行页面渲染操作,参数false表示在客户端进行页面渲染操作,当监测到一个服务器集群的负载流量状态大于或等于预设值时,通过手动设置该服务器集群对应的配置推送开关,将参数flag修改为参数false,以使得服务器集群中所有服务器的页面渲染操作由对应的客户端来完成。
但是,目前方案中是基于服务器集群来进行负载流量监控的,即监控的内容为服务器集群中所有服务器的负载流量之和,无法针对单一服务器进行差异化降级渲染,并且监控操作和设置配置推送开关的操作都需要人工进行,不能达到自动化,使得页面渲染和展示的效率降低。
发明内容
鉴于上述问题,本申请实施例提供一种页面渲染方法,以通过根据执行服务器的负载状态,在负载状态符合预设条件下,通过将原始页面发送至对应的客户端,以供客户端对原始页面进行渲染,解决现有技术中无法针对单一服务器进行差异化降级渲染,并且监控操作和设置配置推送开关的操作都需要人工进行,不能达到自动化,使得页面渲染和展示的效率降低的问题。
相应的,本申请实施例还提供了一种页面渲染装置,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种页面渲染方法,包括:
执行服务器接收负载均衡服务器分发的页面请求;
确定所述执行服务器的负载状态;
如果所述负载状态符合预设条件,则将所述页面请求对应的原始页面发送至所述页面请求对应的客户端,以供所述客户端对所述原始页面进行渲染。
相应的,本申请实施例还公开了一种页面渲染装置,包括:
接收模块,用于执行服务器接收负载均衡服务器分发的页面请求;
负载确定模块,用于确定所述执行服务器的负载状态;
降级渲染模块,用于如果所述负载状态符合预设条件,则将所述页面请求对应的原始页面发送至所述页面请求对应的客户端,以供所述客户端对所述原始页面进行渲染。
相应的,本申请实施例还公开了一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行一种页面渲染方法。
相应的,本申请实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行一种页面渲染方法。
本申请实施例包括以下优点:
本申请实施例包括:执行服务器接收负载均衡服务器分发的页面请求;确定所述执行服务器的负载状态;如果负载状态符合预设条件,则将页面请求对应的原始页面发送至页面请求对应的客户端,以供客户端对原始页面进行渲染,通过对单一执行服务器的负载状态进行监控,当监控到某一执行服务器的负载状态符合需要降级渲染的预设条件时,则由执行服务器将原始页面发送至对应的客户端,以供客户端对原始页面进行渲染和展示,本申请可以实现对单一服务器进行差异化降级渲染的目的,且整个过程完全自动化,摆脱了人工操作的限制,大幅提高了降级渲染操作的执行速度,优化了服务器的运行性能,提升了页面渲染和展示的效率。
附图说明
图1是本申请一实施例提供的一种页面渲染系统的推荐处理示意图;
图2是本申请一实施例提供的一种页面渲染方法的步骤流程图;
图3是本申请一实施例提供的一种页面渲染方法的具体步骤流程图;
图4是本申请一实施例提供的一种确定页面渲染方法的具体步骤流程图;
图5是本申请一实施例提供的一种页面渲染装置的结构图;
图6是本申请一实施例提供的一种页面渲染装置的具体结构图;
图7是本申请另一实施例提供的一种装置的硬件结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请在实施例中,对于浏览器页面或应用客户端页面的渲染是指通过请求获取一个空的、没有内容的原始页面,对该原始页面添加相应的内容,并以对应文档对象模型(Document Object Model,DOM)对页面中内容的展示方式进行设置,使得渲染后的页面能够在浏览器或客户端中以正确的方式进行显示,例如:在网购应用的商品页面中,其渲染过程是:首先请求获取一个原始页面,将商品对应的文本信息和图片信息添加进入该原始页面,并通过对应的DOM文件设置添加内容的展示格式,此时完成渲染,网购应用客户端在接收到渲染后的页面后对其进行展示,使得用户可以在客户端中以正确方式浏览到商品的文本信息和图片信息。
在实际应用中,对页面的渲染过程较为复杂,当渲染进程较多时会增加执行渲染操作的设备的负载,使得设备处理其他业务的性能下降,因此,在目前,为了避免因渲染进程较多而影响设备的正常运转,现提供了一种同构渲染框架,使得一个页面既可以在执行服务器端进行渲染,也可以在客户端进行渲染,将执行服务器端渲染更改为客户端渲染称为降级渲染。
具体的,同构渲染框架是基于React组件实现的,React组件起源于Facebook公司的内部项目,并于2013年5月开源公布,React组件既可以在服务器端运行,也可以在客户端运行,因此,本申请通过React组件作为同构渲染框架来实现在双端进行页面渲染,具体实现为React组件提供的接口,对React组件的初次渲染对象进行设置,当客户端请求一个包含React组件的页面的时候,则会根据设置的对象进行对页面的渲染操作,当对象设置为服务器时,则通过服务器端对原始页面进行渲染,当对象设置为客户端时,则通过客户端对原始页面进行渲染,渲染好的页面会由客户端进行正确展示。申请实施例不对同构渲染框架的具体类型加以限制。
进一步的,参照图1,示出了本申请实施例中的一种页面渲染系统的推荐处理示意图。
在具体实现中,客户端可以为安装有网购应用的移动终端、计算机等,并可以通过发送页面请求来获取对应的页面进行渲染或展示。
页面渲染系统包括:负载均衡服务器、多个执行服务器。
负载均衡服务器包括:页面请求分发模块,用于将客户端的页面请求分发给一执行服务器。
执行服务器包括:接收模块,用于执行服务器接收负载均衡服务器分发的页面请求;负载确定模块,用于确定所述执行服务器的负载状态;降级渲染模块,用于如果负载状态符合预设条件,则将页面请求对应的原始页面发送至页面请求对应的客户端,以供客户端对原始页面进行渲染。
在具体实现中,客户端可以为安装有网购应用的移动终端、计算机等,并可以通过发送页面请求来获取对应的页面进行渲染或展示。
执行服务器可以为网购应用对应的服务器,可以进行原始页面的获取与渲染,并且可以针对网购应用的一些功能进行数据处理,根据负载均衡策略,可以将若干个执行服务器组成一个服务器集群,使得可以针对服务器集群,进行负载均衡优化。
负载均衡服务器是进行负载分配的服务器,负载均衡服务器监控的对象是服务器集群的总体流量状态,通过负载均衡服务器,将页面请求均衡分配到对应的执行服务器中,从而保证整个系统的响应速度。
本申请可以由用户通过客户端生成针对一个页面的页面请求,客户端在生成页面请求后,执行步骤S1:客户端向负载均衡服务器发送页面请求。例如,用户在网购应用中点击一个商品的链接,想要浏览这个商品的详细信息,则通过点击商品的链接生成针对商品的详细信息页面请求,客户端向负载均衡服务器发送该页面请求,请求获取该页面。
负载均衡服务器接收到页面请求后,执行步骤S2:负载均衡服务器按照对整个集群的负载均衡策略向对应的执行服务器发送页面请求。在图1中,假设执行服务器2符合负载均衡策略对应的条件,则负载均衡服务器将页面请求发送至执行服务器2,由执行服务器2处理该页面请求。
执行服务器接收到页面请求后,执行步骤S3:当执行服务器的负载状态符合预设条件时,将页面请求对应的原始页面发送至页面请求对应的客户端,以供客户端对原始页面进行渲染。
本申请中,执行服务器通过对自身负载状态的判断,在确定负载状态符合预设条件时,将原始页面发送至客户端,通过客户端渲染并展示,若负载状态不符合预设条件,则由执行服务器进行页面渲染,将渲染后的页面发送给客户端直接展示,其中预设条件的设定依据执行服务器的负载状态,如预设条件可以为一个使用状态参数的阈值,例如,可以将预设条件设定为执行服务器的CPU或者内存消耗达到70%比例,则若执行服务器当前的CPU或者内存消耗比例大于70%,则降级进行客户端渲染。
本申请可以通过对单一执行服务器的负载状态进行监控,当监控到某一执行服务器的负载状态符合需要降级渲染的预设条件时,则由执行服务器将原始页面发送至对应的客户端,以供客户端对原始页面进行渲染和展示,本申请可以实现对单一服务器进行差异化降级渲染的目的,且整个过程完全自动化,摆脱了人工操作的限制,大幅提高了降级渲染操作的执行速度,优化了服务器的运行性能,提升了页面渲染和展示的效率。
参照图2,示出了本申请提供的一种页面渲染方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,执行服务器接收负载均衡服务器分发的页面请求。
在本申请实施例中,负载均衡服务器在接收到客户端发送的页面请求后,首先会针对各个服务器集群,根据服务器集群中各个执行服务器的状态将页面请求具体分配到某个执行服务器中,负载均衡策略是一种调度策略,是基于整个服务器集群的流量状态确定的,其目的是达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免发生过载。
因此,当执行服务器接收到负载均衡服务器分发的页面请求后,则确定了执行服务器,并由该执行服务器来进行针对页面请求的后续流程。
需要说明的是,页面请求通常可以为针对一个超文本标记语言(HTML,HyperTextMarkup Language)文档的统一资源定位符(URL,Uniform Resource Locator),执行服务器通过该URL页面请求可以向内网服务器发起请求,请求获取原始页面等数据。
步骤102,确定所述执行服务器的负载状态。
当执行服务器接收到页面请求后,执行服务器调用相应接口,获取所述执行服务器的负载状态。
在本申请中,负载状态是一种标识执行服务器当前运行性能的参数,可以通过负载状态,确定执行服务器处理数据的能力,以进一步确定其是否能够满足执行页面渲染所需要的条件。
例如,负载状态可以为执行服务器的当前内存使用率、当前CPU利用率、当前网络数据吞吐量中的任意一种。
步骤103,如果所述负载状态符合预设条件,则将所述页面请求对应的原始页面发送至所述页面请求对应的客户端,以供所述客户端对所述原始页面进行渲染。
在实际应用中,在采用了同构渲染框架的方案中,其页面展示性能在不同的网络状况下提升了2至5倍,但是同构渲染框架是有代价的,由于将页面渲染前置到执行服务器端,因此在一定程度上加重了执行服务器端的负担,当出现异常大数量的页面请求冲击时,执行服务器可能不堪重负。
因此,在本申请实施例中,可以基于所述执行服务器的负载状态,在负载状态符合预设条件下,将原始页面发送至客户端,通过客户端渲染并展示,以达到降级渲染的目的,减轻执行服务器的负担。若负载状态不符合预设条件,则由执行服务器进行页面渲染,将渲染后的页面发送给客户端直接展示,其中预设条件的设定依据执行服务器的负载状态,如预设条件可以为一个使用状态参数的阈值,例如,可以将预设条件设定为执行服务器的CPU或者内存消耗达到70%比例,则若执行服务器当前的CPU或者内存消耗比例大于70%,则降级进行客户端渲染。在客户端执行页面渲染的条件下,执行服务器端只需要执行获取原始页面的操作,大大降低了执行服务器的负载。
需要说明的是,执行服务器会定期检测负载状态是否符合预设条件,通过设置一个变量,程序会定期检测,比如,每隔五秒。
综上所述,本申请实施例提供的一种页面渲染方法,包括执行服务器接收负载均衡服务器分发的页面请求;确定所述执行服务器的负载状态;如果负载状态符合预设条件,则将页面请求对应的原始页面发送至页面请求对应的客户端,以供客户端对原始页面进行渲染,通过对单一执行服务器的负载状态进行监控,当监控到某一执行服务器的负载状态符合需要降级渲染的预设条件时,则由执行服务器将原始页面发送至对应的客户端,以供客户端对原始页面进行渲染和展示,本申请可以实现对单一服务器进行差异化降级渲染的目的,且整个过程完全自动化,摆脱了人工操作的限制,大幅提高了降级渲染操作的执行速度,优化了服务器的运行性能,提升了页面渲染和展示的效率。
参照图3,示出了本申请提供的一种页面渲染方法的具体步骤流程图,具体可以包括如下步骤:
步骤201,客户端向负载均衡服务器发送页面请求。
举例说明,当用户在网购应用中点击一个商品的链接,想要浏览这个商品的详细信息,则通过点击商品的链接生成针对商品的详细信息页面请求,客户端向负载均衡服务器发送该页面请求,请求获取该页面。
步骤202,负载均衡服务器按照对整个集群的负载均衡策略向对应的执行服务器发送页面请求。
在本申请实施例中,负载均衡服务器在接收到客户端发送的页面请求后,首先会针对各个服务器集群,根据服务器集群中各个执行服务器的状态将页面请求具体分配到某个执行服务器中,负载均衡策略是一种调度策略,是基于整个服务器集群的流量状态确定的,其目的是达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免发生过载。
步骤203,执行服务器接收负载均衡服务器分发的页面请求。
页面请求通常可以为针对一个超文本标记语言(HTML,HyperText MarkupLanguage)文档的统一资源定位符(URL,Uniform Resource Locator),执行服务器通过该URL页面请求可以向内网服务器发起请求,请求获取原始页面等数据。
步骤204,执行服务器获取所述执行服务器的至少一个使用状态参数。
可选的,使用状态参数包括:所述执行服务器的内存使用率、CPU利用率、网络数据吞吐量中的任意一种。
在本申请实施例中,负载状态是一种标识执行服务器当前运行性能的参数,可以通过负载状态,确定执行服务器处理数据的能力,以进一步确定其是否能够满足执行页面渲染所需要的条件。执行服务器可以通过调用相应的接口,从而获取执行服务器的当前内存使用率、CPU利用率、网络数据吞吐量等参数信息。
步骤205,执行服务器根据所述使用状态参数与预设阈值的比较结果,设定所述执行服务器的负载状态。
在本申请实施例中,预设阈值的设定依据执行服务器选用的负载状态参数的类型,预设阈值可以为一个使用状态参数的阈值。
例如,可以将预设条件设定为执行服务器的CPU或者内存消耗达到70%比例,若执行服务器当前的CPU或者内存消耗比例大于70%,则基于同构渲染框架,可以将负载状态设定为需要降级进行客户端渲染。在客户端执行页面渲染的条件下,执行服务器端只需要执行获取原始页面的操作,大大降低了执行服务器的负载。
若执行服务器当前的CPU或者内存消耗比例不大于70%,则基于同构渲染框架,可以将负载状态设定为不需要降级进行客户端渲染。使得可以通过执行服务器端以较快的速度完成页面渲染操作,并将渲染后的页面发送至客户端进行展示,此时并不会影响执行服务器处理其他业务的性能。
需要说明的是,相较于客户端渲染,执行服务器端进行渲染操作具有渲染时间快、页面响应速度快的优点,其原因是执行服务器是在内网进行原始页面的请求,数据响应速度快。而客户端是在不同网络环境进行数据请求,且外网请求开销大,导致时间较长,另外,执行服务器是先请求原始页面数据然后渲染“可视”部分,而客户端是等待js代码下载、加载完成再请求原始页面数据。即:执行服务器渲染不用等待js代码下载完成再请求数据,并会返回一个已经有内容的页面,因此,在没有大流量数据冲击,且执行服务器的使用状态参数小于或等于预设阈值时,采用执行服务器端进行渲染会达到更高的渲染效率。
可选的,步骤205还可以包括子步骤2051,子步骤2052。
子步骤2051,当所述使用状态参数大于所述预设阈值,则执行服务器将负载状态标识设置为需要降级标识。
在本申请实施例中,基于同构渲染框架,可以通过调用同构渲染框架的响应接口,对负载状态标识进行设定,当使用状态参数大于预设阈值,则执行服务器将负载状态标识设置为需要降级标识,例如,在应用React组件时,将负载状态标识设置设定为ture参数,表示需要进行降级渲染,此时由客户端完成渲染操作。
子步骤2052,当所述使用状态参数小于或等于所述预设阈值,则执行服务器将负载状态标识设置为不需要降级标识。
在本申请实施例中,基于同构渲染框架,可以通过调用同构渲染框架的响应接口,对负载状态标识进行设定,当使用状态参数小于或等于预设阈值,则执行服务器将负载状态标识设置为不需要降级标识,例如,在应用React组件时,将负载状态标识设置设定为false参数,表示不需要进行降级渲染,此时由执行服务器端完成渲染操作。
步骤206,如果所述负载状态符合预设条件,则执行服务器将所述页面请求对应的原始页面发送至所述页面请求对应的客户端,以供所述客户端对所述原始页面进行渲染。
可选的,负载状态符合预设条件包括:所述负载状态标识为需要降级标识。
该步骤的具体描述可以参照上述步骤103,此处不再赘述。
步骤207,客户端对所述原始页面进行渲染,并对渲染后的页面进行展示。
在本申请实施例中,客户端对原始页面进行渲染的方案可以包括以下几个步骤:
第一步,向执行服务器请求获取一个原始页面。
第二步,执行服务器通过向内网请求获得一个原始页面并转发给客户端。
第三步,客户端根据收到的原始页面,下载对应的js/css文件并加载,由js文件向后端服务器请求内容数据。
第四步,通过js/css文件和内容数据对原始页面进行渲染,得到展示页面。
步骤208,如果所述负载状态不符合预设条件,则执行服务器对所述页面请求对应的原始页面进行渲染,并将渲染后的页面发送给所述客户端。
在本申请实施例中,执行服务器端对原始页面进行渲染的方案可以包括以下几个步骤:
第一步,执行服务器通过向内网请求获得一个原始页面。
第二步,执行服务器对原始页面进行初始渲染,此时原始页面中已含有对应的内容数据。第二步完成后,即可将渲染后的页面发送至客户端。
步骤209,客户端接收执行服务器发送的渲染后的页面,并对渲染后的页面进行展示。
需要说明的是,对同一个页面,执行服务器渲染“可视的”一部分。为确保组件有完善的生命周期及事件处理,客户端需要再次渲染。即:服务端渲染,实际上也是需要客户端进行再次地、但占用负载很小的二次渲染,二次渲染完成后,客户端即可展示渲染好的页面。
综上所述,本申请实施例提供的一种页面渲染方法,包括执行服务器接收负载均衡服务器分发的页面请求;确定所述执行服务器的负载状态;如果负载状态符合预设条件,则将页面请求对应的原始页面发送至页面请求对应的客户端,以供客户端对原始页面进行渲染,通过对单一执行服务器的负载状态进行监控,当监控到某一执行服务器的负载状态符合需要降级渲染的预设条件时,则由执行服务器将原始页面发送至对应的客户端,以供客户端对原始页面进行渲染和展示,本申请可以实现对单一服务器进行差异化降级渲染的目的,且整个过程完全自动化,摆脱了人工操作的限制,大幅提高了降级渲染操作的执行速度,优化了服务器的运行性能,提升了页面渲染和展示的效率。
进一步的,当客户端接收到执行服务器发送的页面时(无论该页面是否已被渲染),此时,客户端需执行进一步的判断过程,判断接收到的页面是否已被渲染,参照图4,示出了本申请的客户端侧的一种确定页面渲染方法的具体步骤流程图,
步骤301,判断页面是否已被执行服务器渲染。
在本申请实施例中,判断页面是否已被执行服务器渲染的逻辑为:客户端根据同构渲染框架自带的逻辑,若客户端接收到的页面有对应内容(即不为空的原始页面),且页面包含校验和(checksum)标识,则可以确定页面以被执行服务器渲染。
步骤302,若页面未被执行服务器渲染,则执行步骤303。
步骤303,客户端对所述页面进行渲染,并对渲染后的页面进行展示。
该步骤具体可以参照上述步骤207的描述,此处不再赘述。
步骤304,若页面已被执行服务器渲染,则判断页面在所述执行服务器中的第一校验和与所述页面在客户端中的第二校验和是否一致。
在本申请实施例中,若页面已被执行服务器渲染,此时需要进一步判断该页面是否被部分渲染,或该页面是否完全未被渲染,或该页面是否被全部渲染。页面在执行服务器中的第一校验和与页面在客户端中的第二校验和一致时,则该页面被全部渲染,此时只需直接展示该页面。
需要说明的是,同构渲染框架对应的react组件会去计算客户端接收到的页面的源代码的checksum,checksum的值在执行服务器端和客户端都一致时表明该页面已被全部渲染。
步骤305,若所述第一校验和与所述第二校验和一致,则展示所述页面。
步骤306,若所述第一校验和与所述第二校验和不一致,则执行步骤303。
在本申请实施例中,若第一校验和与第二校验和不一致,此时页面可能完全未被渲染,或该页面未被全部渲染,在这种情况下,都需要客户端重新对该页面进行渲染操作,具体的渲染流程可以参照上述步骤207,此处不再赘述。
通过图4提供的客户端侧确定页面渲染的方法,可以使得客户端与执行服务器对于页面渲染的信息被统一起来,避免客户端对一个已渲染的页面进行重复渲染。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图5,示出了本申请一个具体示例中的一种页面渲染装置的结构图,具体可以包括如下模块:
接收模块401,用于执行服务器接收负载均衡服务器分发的页面请求。
负载确定模块402,用于确定所述执行服务器的负载状态。
降级渲染模块403,用于如果所述负载状态符合预设条件,则将所述页面请求对应的原始页面发送至所述页面请求对应的客户端,以供所述客户端对所述原始页面进行渲染。
综上所述,本申请实施例提供的一种页面渲染装置,包括执行服务器接收负载均衡服务器分发的页面请求;确定所述执行服务器的负载状态;如果负载状态符合预设条件,则将页面请求对应的原始页面发送至页面请求对应的客户端,以供客户端对原始页面进行渲染,通过对单一执行服务器的负载状态进行监控,当监控到某一执行服务器的负载状态符合需要降级渲染的预设条件时,则由执行服务器将原始页面发送至对应的客户端,以供客户端对原始页面进行渲染和展示,本申请可以实现对单一服务器进行差异化降级渲染的目的,且整个过程完全自动化,摆脱了人工操作的限制,大幅提高了降级渲染操作的执行速度,优化了服务器的运行性能,提升了页面渲染和展示的效率。
参照图6,示出了本申请一个具体示例中的一种页面渲染装置的具体结构图,具体可以包括如下模块:
接收模块501,用于执行服务器接收负载均衡服务器分发的页面请求。
可选的,接收模块501还可以包括:
负载均衡子模块,用于接收负载均衡服务器按照对整个集群的负载均衡策略分发的页面请求。
负载确定模块502,用于确定所述执行服务器的负载状态。
可选的,负载确定模块502还可以包括:
获取子模块,用于获取所述执行服务器的至少一个使用状态参数。
渲染模式设定子模块,用于根据所述使用状态参数与预设阈值的比较结果,设定所述执行服务器的负载状态。
可选的,渲染模式设定子模块还可以包括:
第一设定单元,用于当所述使用状态参数大于所述预设阈值,则将负载状态标识设置为需要降级标识。
第二设定单元,用于当所述使用状态参数小于或等于所述预设阈值,则将负载状态标识设置为不需要降级标识。
降级渲染模块503,用于如果所述负载状态符合预设条件,则将所述页面请求对应的原始页面发送至所述页面请求对应的客户端,以供所述客户端对所述原始页面进行渲染。
服务器渲染模块504,用于如果所述负载状态不符合预设条件,则对所述页面请求对应的原始页面进行渲染,并将渲染后的页面发送给所述客户端。
综上所述,本申请实施例提供的一种页面渲染装置,包括执行服务器接收负载均衡服务器分发的页面请求;确定所述执行服务器的负载状态;如果负载状态符合预设条件,则将页面请求对应的原始页面发送至页面请求对应的客户端,以供客户端对原始页面进行渲染,通过对单一执行服务器的负载状态进行监控,当监控到某一执行服务器的负载状态符合需要降级渲染的预设条件时,则由执行服务器将原始页面发送至对应的客户端,以供客户端对原始页面进行渲染和展示,本申请可以实现对单一服务器进行差异化降级渲染的目的,且整个过程完全自动化,摆脱了人工操作的限制,大幅提高了降级渲染操作的执行速度,优化了服务器的运行性能,提升了页面渲染和展示的效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图7是本申请实施例提供的一种服务器的结构示意图。参见图7,服务器600可以用于实施上述实施例中提供的页面渲染方法。该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储的或持久存储的。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。
服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,一个或一个以上键盘656,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。其中,中央处理器622可以在服务器600上执行以下操作的指令:
执行服务器接收负载均衡服务器分发的页面请求;
确定所述执行服务器的负载状态;
如果所述负载状态符合预设条件,则将所述页面请求对应的原始页面发送至所述页面请求对应的客户端,以供所述客户端对所述原始页面进行渲染。
可选地,该一个或多个模块可以具有如下功能:
获取所述执行服务器的至少一个使用状态参数;
根据所述使用状态参数与预设阈值的比较结果,设定所述执行服务器的负载状态。
可选的,当所述使用状态参数大于所述预设阈值,则将负载状态标识设置为需要降级标识;
当所述使用状态参数小于或等于所述预设阈值,则将负载状态标识设置为不需要降级标识。
可选的,所述负载状态符合预设条件包括:所述负载状态标识为需要降级标识。
可选的,所述使用状态参数包括:所述执行服务器的内存使用率、CPU利用率、网络数据吞吐量中的任意一种。
可选的,如果所述负载状态不符合预设条件,则对所述页面请求对应的原始页面进行渲染,并将渲染后的页面发送给所述客户端。
可选的,接收负载均衡服务器按照对整个集群的负载均衡策略分发的页面请求。
本申请提供一种装置,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行一种页面渲染方法。
本申请还提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行一种页面渲染方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种页面渲染方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (17)

1.一种页面渲染方法,其特征在于,包括:
执行服务器接收负载均衡服务器分发的页面请求;
确定所述执行服务器的负载状态;
如果所述负载状态符合预设条件,则将所述页面请求对应的原始页面发送至所述页面请求对应的客户端,以供所述客户端对所述原始页面进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述确定所述执行服务器本身的负载状态的步骤,包括:
获取所述执行服务器的至少一个使用状态参数;
根据所述使用状态参数与预设阈值的比较结果,设定所述执行服务器的负载状态。
3.根据权利要求2所述的方法,其特征在于,所述根据所述使用状态参数与预设阈值的比较结果,设定所述执行服务器的负载状态的步骤,包括:
当所述使用状态参数大于所述预设阈值,则将负载状态标识设置为需要降级标识;
当所述使用状态参数小于或等于所述预设阈值,则将负载状态标识设置为不需要降级标识。
4.根据权利要求3所述的方法,其特征在于,所述负载状态符合预设条件包括:所述负载状态标识为需要降级标识。
5.根据权利要求2所述的方法,其特征在于,所述使用状态参数包括:所述执行服务器的内存使用率、CPU利用率、网络数据吞吐量中的任意一种。
6.根据权利要求1所述的方法,其特征在于,还包括:
如果所述负载状态不符合预设条件,则对所述页面请求对应的原始页面进行渲染,并将渲染后的页面发送给所述客户端。
7.根据权利要求1所述的方法,其特征在于,所述接收负载均衡服务器分发的页面请求的步骤,包括:
接收负载均衡服务器按照对整个集群的负载均衡策略分发的页面请求。
8.一种页面渲染装置,其特征在于,包括:
接收模块,用于执行服务器接收负载均衡服务器分发的页面请求;
负载确定模块,用于确定所述执行服务器的负载状态;
降级渲染模块,用于如果所述负载状态符合预设条件,则将所述页面请求对应的原始页面发送至所述页面请求对应的客户端,以供所述客户端对所述原始页面进行渲染。
9.根据权利要求8所述的装置,其特征在于,所述负载确定模块,包括:
获取子模块,用于获取所述执行服务器的至少一个使用状态参数;
渲染模式设定子模块,用于根据所述使用状态参数与预设阈值的比较结果,设定所述执行服务器的负载状态。
10.根据权利要求9所述的装置,其特征在于,所述渲染模式设定子模块,包括:
第一设定单元,用于当所述使用状态参数大于所述预设阈值,则将负载状态标识设置为需要降级标识;
第二设定单元,用于当所述使用状态参数小于或等于所述预设阈值,则将负载状态标识设置为不需要降级标识。
11.根据权利要求10所述的装置,其特征在于,所述负载状态符合预设条件包括:所述负载状态标识为需要降级标识。
12.根据权利要求9所述的装置,其特征在于,所述使用状态参数包括:所述执行服务器的内存使用率、CPU利用率、网络数据吞吐量中的任意一种。
13.根据权利要求8所述的装置,其特征在于,还包括:
服务器渲染模块,用于如果所述负载状态不符合预设条件,则对所述页面请求对应的原始页面进行渲染,并将渲染后的页面发送给所述客户端。
14.根据权利要求8所述的装置,其特征在于,所述接收模块,包括:
负载均衡子模块,用于接收负载均衡服务器按照对整个集群的负载均衡策略分发的页面请求。
15.一种页面渲染系统,其特征在于,包括:
负载均衡服务器、多个执行服务器;
所述负载均衡服务器包括:
页面请求分发模块,用于将客户端的页面请求分发给一执行服务器;
所述执行服务器包括:
接收模块,用于执行服务器接收负载均衡服务器分发的页面请求;
负载确定模块,用于确定所述执行服务器的负载状态;
降级渲染模块,用于如果所述负载状态符合预设条件,则将所述页面请求对应的原始页面发送至所述页面请求对应的客户端,以供所述客户端对所述原始页面进行渲染。
16.一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行所述指令时,使得所述装置执行如权利要求1-7一个或多个的方法。
17.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行所述指令时,执行如权利要求1-7一个或多个的方法。
CN201711349614.0A 2017-12-15 2017-12-15 一种页面渲染方法及装置 Active CN110020367B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711349614.0A CN110020367B (zh) 2017-12-15 2017-12-15 一种页面渲染方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711349614.0A CN110020367B (zh) 2017-12-15 2017-12-15 一种页面渲染方法及装置

Publications (2)

Publication Number Publication Date
CN110020367A true CN110020367A (zh) 2019-07-16
CN110020367B CN110020367B (zh) 2022-07-12

Family

ID=67186980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711349614.0A Active CN110020367B (zh) 2017-12-15 2017-12-15 一种页面渲染方法及装置

Country Status (1)

Country Link
CN (1) CN110020367B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111402353A (zh) * 2020-03-11 2020-07-10 浙江大学 一种基于自适应虚拟化绘制流水线的云-端绘制计算框架
CN111880789A (zh) * 2020-06-12 2020-11-03 北京三快在线科技有限公司 页面渲染方法、装置、服务端和计算机可读存储介质
CN112486489A (zh) * 2020-12-11 2021-03-12 上海悦易网络信息技术有限公司 一种拍卖组件的渲染方法及设备
CN112836152A (zh) * 2019-11-22 2021-05-25 上海哔哩哔哩科技有限公司 页面渲染方法、系统、计算机设备及计算机可读存储介质
CN112966200A (zh) * 2021-03-04 2021-06-15 北京百度网讯科技有限公司 一种服务降级方法和渲染服务器
CN113010827A (zh) * 2021-03-16 2021-06-22 北京百度网讯科技有限公司 页面渲染方法、装置、电子设备以及存储介质
CN113326422A (zh) * 2020-02-28 2021-08-31 北京沃东天骏信息技术有限公司 一种信息获取方法、装置、设备及介质
CN113436056A (zh) * 2021-07-21 2021-09-24 挂号网(杭州)科技有限公司 渲染方法、装置、电子设备及存储介质
WO2022228521A1 (zh) * 2021-04-30 2022-11-03 华为云计算技术有限公司 渲染方法及其装置、计算机设备、存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6557076B1 (en) * 1999-07-22 2003-04-29 International Business Machines Corporation Method and apparatus for aggressively rendering data in a data processing system
US20120084350A1 (en) * 2010-10-05 2012-04-05 Liang Xie Adaptive distributed medical image viewing and manipulating systems
CN104572305A (zh) * 2015-01-26 2015-04-29 赞奇科技发展有限公司 均衡负载的集群渲染任务调度方法
CN105373431A (zh) * 2015-10-29 2016-03-02 武汉联影医疗科技有限公司 一种计算机系统资源的管理方法及计算机资源管理系统
CN105446810A (zh) * 2015-12-24 2016-03-30 赞奇科技发展有限公司 基于成本代价的多农场云渲染任务分发系统与方法
CN105976420A (zh) * 2015-08-28 2016-09-28 深圳市彬讯科技有限公司 一种在线渲染方法及系统
CN107408042A (zh) * 2014-09-26 2017-11-28 甲骨文国际公司 用于移动应用的高效和直观的数据绑定

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6557076B1 (en) * 1999-07-22 2003-04-29 International Business Machines Corporation Method and apparatus for aggressively rendering data in a data processing system
US20120084350A1 (en) * 2010-10-05 2012-04-05 Liang Xie Adaptive distributed medical image viewing and manipulating systems
CN107408042A (zh) * 2014-09-26 2017-11-28 甲骨文国际公司 用于移动应用的高效和直观的数据绑定
CN104572305A (zh) * 2015-01-26 2015-04-29 赞奇科技发展有限公司 均衡负载的集群渲染任务调度方法
CN105976420A (zh) * 2015-08-28 2016-09-28 深圳市彬讯科技有限公司 一种在线渲染方法及系统
CN105373431A (zh) * 2015-10-29 2016-03-02 武汉联影医疗科技有限公司 一种计算机系统资源的管理方法及计算机资源管理系统
CN105446810A (zh) * 2015-12-24 2016-03-30 赞奇科技发展有限公司 基于成本代价的多农场云渲染任务分发系统与方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112836152B (zh) * 2019-11-22 2023-03-10 上海哔哩哔哩科技有限公司 页面渲染方法、系统、计算机设备及计算机可读存储介质
CN112836152A (zh) * 2019-11-22 2021-05-25 上海哔哩哔哩科技有限公司 页面渲染方法、系统、计算机设备及计算机可读存储介质
CN113326422A (zh) * 2020-02-28 2021-08-31 北京沃东天骏信息技术有限公司 一种信息获取方法、装置、设备及介质
CN111402353A (zh) * 2020-03-11 2020-07-10 浙江大学 一种基于自适应虚拟化绘制流水线的云-端绘制计算框架
CN111402353B (zh) * 2020-03-11 2020-12-25 浙江大学 一种基于自适应虚拟化绘制流水线的云-端绘制计算方法
WO2021179780A1 (zh) * 2020-03-11 2021-09-16 浙江大学 一种基于自适应虚拟化绘制流水线的云-端绘制计算方法
US11989797B2 (en) 2020-03-11 2024-05-21 Zhejiang University Cloud-client rendering method based on adaptive virtualized rendering pipeline
CN111880789A (zh) * 2020-06-12 2020-11-03 北京三快在线科技有限公司 页面渲染方法、装置、服务端和计算机可读存储介质
CN112486489A (zh) * 2020-12-11 2021-03-12 上海悦易网络信息技术有限公司 一种拍卖组件的渲染方法及设备
CN112486489B (zh) * 2020-12-11 2024-06-07 上海万物新生环保科技集团有限公司 一种拍卖组件的渲染方法及设备
CN112966200A (zh) * 2021-03-04 2021-06-15 北京百度网讯科技有限公司 一种服务降级方法和渲染服务器
CN113010827A (zh) * 2021-03-16 2021-06-22 北京百度网讯科技有限公司 页面渲染方法、装置、电子设备以及存储介质
CN113010827B (zh) * 2021-03-16 2024-03-22 北京百度网讯科技有限公司 页面渲染方法、装置、电子设备以及存储介质
WO2022228521A1 (zh) * 2021-04-30 2022-11-03 华为云计算技术有限公司 渲染方法及其装置、计算机设备、存储介质
CN113436056B (zh) * 2021-07-21 2023-02-17 挂号网(杭州)科技有限公司 渲染方法、装置、电子设备及存储介质
CN113436056A (zh) * 2021-07-21 2021-09-24 挂号网(杭州)科技有限公司 渲染方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110020367B (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
CN110020367A (zh) 一种页面渲染方法及装置
CN108304250A (zh) 用于确定运行机器学习任务的节点的方法和装置
CN108376112A (zh) 压力测试方法、装置及可读介质
US10735281B1 (en) Application focused provisioning system
CN106888135A (zh) 一种任务状态的查询方法和装置
US10263858B2 (en) Environment simulator for user percentile
CN111061956A (zh) 用于生成信息的方法和装置
CN109961328B (zh) 确定订单冷静期的方法和装置
US11170059B2 (en) Personalized content selection for time-constrained sessions
CN110147327B (zh) 一种基于多粒度的web自动化测试管理方法
CN104462283A (zh) 在移动终端中进行网页元素请求的方法、装置和客户端
CN110866040A (zh) 用户画像生成方法、装置和系统
CN110650209A (zh) 实现负载均衡的方法和装置
CN107517188A (zh) 一种基于安卓系统的数据处理方法和装置
WO2017206893A1 (zh) 界面刷新同步方法、装置、终端及存储介质
EP3723343B1 (en) Resource processing method and system, storage medium and electronic device
CN117236805B (zh) 电力设备控制方法、装置、电子设备和计算机可读介质
CN116388112B (zh) 异常供应端断电方法、装置、电子设备和计算机可读介质
CN110311933A (zh) 一种均衡业务流量的方法、装置、设备及存储介质
CN117170969A (zh) 服务器集群的运维方法、分区均衡恢复装置、设备和介质
CN111814044A (zh) 一种推荐方法、装置、终端设备及存储介质
CN115187364A (zh) 银行分布式场景下保证金风险监控的方法及装置
CN107508705A (zh) 一种http元素的资源树构建方法及计算设备
CN106598987A (zh) 信息推荐方法及装置
CN108737133A (zh) 用于cdn静态网络修复的方法及装置

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40010951

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant