CN115102895A - 页面渲染方法、装置、设备和存储介质 - Google Patents
页面渲染方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115102895A CN115102895A CN202210833681.4A CN202210833681A CN115102895A CN 115102895 A CN115102895 A CN 115102895A CN 202210833681 A CN202210833681 A CN 202210833681A CN 115102895 A CN115102895 A CN 115102895A
- Authority
- CN
- China
- Prior art keywords
- request
- server
- sending
- rendering
- result
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 116
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000002159 abnormal effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 7
- 230000001960 triggered effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种页面渲染方法、装置、设备和存储介质,所述方法包括:接收客户端通过长连接发送的指标请求,所述指标请求包括请求参数和请求内容,所述请求参数包括请求标识;在根据所述请求内容中的路由规则向服务端发送应用程序接口调用请求后,获取所述服务端返回的请求结果;将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得所述渲染调度路由根据所述请求标识对所述请求结果对应的组件进行渲染。本公开的技术方案可以优化页面的渲染过程。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种页面渲染方法、装置、电子设备和非暂态计算机可读存储介质。
背景技术
在一些可视化大屏或者电脑屏幕中,例如指挥调度中心、促销活动可视化大屏、数字孪生、领导驾驶舱等应用场景中的屏幕中,需要在有限的屏幕中展示更多的指标数据。这类指标数据的展示以投屏或者大屏展示为主,展示页面数据内容丰富、指标丰富,需要针对指标数据进行刷新,页面数据内容的展示组件类型丰富。例如,这些展示组建可以为折线图、柱状图、和弦图和表格。此外,这些页面数据内容存在部分交互内容,并且以时间段和地域等全局变量作为页面刷新筛选条件较多。
在相关技术中,可以针对单个指标数据独立请求服务端应用程序接口,多个指标数据同时同步等待服务端返回会占用页面进程,如果服务端返回较慢会导致页面会出现假死、卡顿现象以及动画卡住。此外,批量指标请求发送到服务端,会导致服务端瞬间压力较大,这都将导致页面渲染性能不够高。
发明内容
本公开提供一种页面渲染方法、装置、电子设备和非暂态计算机可读存储介质,用以解决现有技术中页面卡顿和服务端压力较大的问题,优化页面渲染性能。
本公开提供一种页面渲染方法,包括:接收客户端通过长连接发送的指标请求,所述指标请求包括请求参数和请求内容,所述请求参数包括请求标识;在根据所述请求内容中的路由规则向服务端发送应用程序接口调用请求后,获取所述服务端返回的请求结果;将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得所述渲染调度路由根据所述请求标识对所述请求结果对应的组件进行渲染。
根据本公开提供的页面渲染方法,在获取所述服务端返回的请求结果之前,所述方法还包括:基于所述请求内容中的路由规则,确定向所述服务端发送应用程序接口调用请求对应采用的目标连接方式;基于所述目标连接方式向所述服务端发送应用程序接口调用请求。
根据本公开提供的页面渲染方法,所述基于所述目标连接方式向所述服务端发送应用程序接口调用请求,包括:若所述目标连接方式为短连接,则将所述请求内容对应的指标请求的请求参数保存到外部存储中;根据所述请求参数中规定的触发方式向所述服务端发送所述应用程序接口调用请求。
根据本公开提供的页面渲染方法,所述将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,包括:将所述请求结果及其对应的请求标识通过长连接发送到所述客户端的渲染调度路由。
根据本公开提供的页面渲染方法,所述将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由之后,所述方法还包括:根据监控消息事件触发所述请求结果的消息到达后,判断所述请求结果是否异常,并在请求结果异常时触发所述客户端提示或者告警。
根据本公开提供的页面渲染方法,所述根据所述请求参数中规定的触发方式向所述服务端发送所述应用程序接口调用请求,包括:从所述外部存储中获取所述请求参数,所述外部存储包括Redis或mysql;根据定时触发方式或者事件触发方式向所述服务端发送所述应用程序接口调用请求。
根据本公开提供的页面渲染方法,所述将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由之后,所述方法还包括:若所述目标连接方式为长连接,在所述客户端发送的指标请求发生变更时,接收变更后的指标请求;在向服务端发送所述变更后的指标请求后,获取所述服务端返回的请求结果;将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得所述渲染调度路由根据所述请求标识对所述请求结果对应的组件进行渲染。
根据本公开提供的一种页面渲染装置,所述装置包括:接收单元,用于接收客户端通过长连接发送的指标请求,所述指标请求包括请求参数和请求内容,所述请求参数包括请求标识;获取单元,用于在根据所述请求内容中的路由规则向服务端发送应用程序接口调用请求后,获取所述服务端返回的请求结果;第一发送单元,用于将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得所述渲染调度路由根据所述请求标识对所述请求结果对应的组件进行渲染。
根据本公开提供的页面渲染装置,所述装置还包括:判断单元,用于基于所述请求内容中的路由规则,确定向所述服务端发送应用程序接口调用请求对应采用的目标连接方式;第二发送单元,用于基于所述目标连接方式向所述服务端发送应用程序接口调用请求。
根据本公开提供的页面渲染装置,所述第二发送单元还用于:若所述目标连接方式为短连接,则将所述请求内容对应的指标请求的请求参数保存到外部存储中;根据所述请求参数中规定的触发方式向所述服务端发送所述应用程序接口调用请求。
根据本公开提供的页面渲染装置,所述第一发送单元还用于:将所述请求结果及其对应的请求标识通过长连接发送到所述客户端的渲染调度路由。
根据本公开提供的页面渲染装置,所述装置还包括判断单元,用于:根据监控消息事件触发所述请求结果的消息到达后,判断所述请求结果是否异常,并在请求结果异常时触发所述客户端提示或者告警。
根据本公开提供的页面渲染装置,所述第二发送单元还用于:从所述外部存储中获取所述请求参数,所述外部存储包括Redis或mysql;根据定时触发方式或者事件触发方式向所述服务端发送所述应用程序接口调用请求。
根据本公开提供的页面渲染装置,所述装置还用于:若所述目标连接方式为长连接,在所述客户端发送的指标请求发生变更时,接收变更后的指标请求;在向服务端发送所述变更后的指标请求后,获取所述服务端返回的请求结果;将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得所述渲染调度路由根据所述请求标识对所述请求结果对应的组件进行渲染。
本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述页面渲染方法的步骤。
本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述页面渲染方法的步骤。
本公开提供的页面渲染方法、装置、电子设备和非暂态计算机可读存储介质,通过根据客户端发送的指标请求向服务端发送应用程序调用请求,并将服务端返回的请求结果发送到渲染调度路由,可以使得渲染调度路由根据请求标识对请求结果对应的组件进行渲染,相比较现有技术,可以仅在出现新的请求结果数据时进行渲染,无需等待服务端的同步反馈,从而避免了卡顿现象的出现。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中的请求指标数据的流程示意图;
图2是本公开提供的页面渲染方法的流程示意图;
图3是本公开提供的请求指标数据的流程示意图;
图4是本公开提供的页面渲染装置的结构示意图;
图5是本公开提供的电子设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合本公开中的附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
在本公开一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开一个或多个实施例。在本公开一个或多个实施例和所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本公开一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以下针对本公开实施例中的技术术语的名词进行解释:
Web(网络)代理服务器:分为正向代理服务器和反向代理服务器,本公开实施例中的网络代理服务器是反向代理服务器,其为客户端服务,用于进行服务端目标动态调度。网络代理服务器支持HTTP(Hyper Text Transfer Protocol,超文本传输协议)、IMAP(Internet Mail Access Protocol,交互式邮件存取协议)/POP3(Post Office Protocol-Version 3,邮局协议版本3)等TCP/IP(Transmission Control Protocol/InternetProtocol,传输控制协议/网际协议)的七层或者四层协议,在实际业务中可以起到很好的负载均衡和全局管控的目的。
短连接和长连接:在HTTP/1.0版本中默认使用短连接。在短连接中,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML(HyperText Markup Language,超文本标记语言)或其他类型的Web页中包含有其他的Web资源,如JavaScript文件、图像文件或者CSS文件等,每遇到这样一个Web资源,浏览器就会重新建立一个HTTP会话。从HTTP/1.1版本起,协议默认使用长连接,用以保持连接特性。在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次访问这个服务器时,会继续使用这一条已经建立的连接。Keep-Alive(保持状态)不会永久保持连接,它有一个保持时间,可以在Apache等不同的服务器软件中设定这个时间。实现长连接需要客户端和服务端都支持长连接。HTTP协议的长连接和短连接,实质上是TCP协议的长连接和短连接。
路由:对请求内容进行解析,可以匹配到对应的路由规则,以根据该路由规则进行路由调度,即进行路由转发。
相关技术中,客户端针对不同的指标数据分别向服务端独立发送指标请求,服务端同步将请求结果返回到客户端,从而可能导致客户端页面卡顿和服务端压力较大的问题。如图1所示,在一种定时任务发起请求的应用场景中,假设客户端页面A有300个指标,编号分别为A1、A2、A3、…、A300。在发送指标请求时,可以针对指标1组织请求参数,并向服务端发送针对标记为101的指标1的指标请求,服务端根据指标1的请求参数执行步骤103:指标1计算,并将计算得到的请求结果同步给到发起指标1对应的指标请求的客户端,以执行步骤102:渲染指标1。
针对2至指标n等其它指标的指标请求过程类似,其中,n为自然数且n≥3。具体为:针对指标2组织请求参数,并向服务端发送针对标记为104的指标2的指标请求,服务端根据指标2的请求参数执行步骤106:指标2计算,并将计算得到的请求结果同步给到发起指标2对应的指标请求的客户端,以执行步骤105:渲染指标2。针对指标n组织请求参数,并向服务端发送针对标记为107的指标n的指标请求,服务端根据指标n的请求参数执行步骤109:指标n计算,并将计算得到的请求结果同步给到发起指标n对应的指标请求的客户端,以执行步骤108:渲染指标n。
客户端根据返回的请求结果中的相应数据进行页面渲染。通过客户端页面A定时任务,可以定期刷新页面的300个指标。
采用定时任务方式刷新页面的指标时,可能出现请求结果更新不即时的情况。在服务端返回的请求结果发生变更时,若还没有到定时执行的时间点,会导致页面更新不及时,影响应急展示和大屏展示的及时性。
此外,若客户端请求的指标请求中的服务端应用程序接口没有发生变化,客户端轮询操作会浪费客户端的流量资源和服务端的检索任务。
为解决该问题,本公开实施例提供了一种页面渲染方案。该页面渲染方案可以兼容目前客户端和服务端已有的交互逻辑,通过低成本的方式,解决渲染卡顿、更新不实时、资源浪费、服务端压力瞬间过大的问题。本发明可以实现低沉本和高性能渲染的技术效果,同时可以在更新过程中实现更新及时和资源节省的技术效果。
下面结合附图对本公开示例实施方式进行详细说明。
如图2所示的是本公开实施例的页面渲染方法的流程图。本公开实施例提供的方法可以由任意具备计算机处理能力的电子设备执行,例如终端设备和/或服务器。如图2所示,该页面渲染方法包括:
步骤202,接收客户端通过长连接发送的指标请求,指标请求包括请求参数和请求内容,请求参数包括请求标识。
具体地,请求参数还可以包括请求地址和请求内容类型。请求标识用于识别指标请求对应的客户端页面的渲染组件,不同渲染组件具有不同的请求标识。
步骤204,在根据请求内容中的路由规则向服务端发送应用程序接口调用请求后,获取服务端返回的请求结果。
具体地,向服务端发送应用程序接口调用请求可以使用长连接也可以使用短连接,但是获取服务器返回的请求结果必须使用长连接。
步骤206,将请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得渲染调度路由根据请求标识对请求结果对应的组件进行渲染。
具体地,渲染调度路由可以设置在客户端内部,也可以设置在客户端外部。
在步骤204之前,基于所述请求内容中的路由规则,确定向所述服务端发送应用程序接口调用请求对应采用的目标连接方式,并基于所述目标连接方式向所述服务端发送应用程序接口调用请求。其中,所述目标连接方式可以是指长连接或者短连接。
在本公开实施例的技术方案中,可以使用HTTP和Web代理服务器执行以上步骤202至步骤206,将客户端的指标请求转发到服务端,并将服务端的请求结果向客户端送达,从而通过低成本实现了在原有服务端不变的情况下,Web代理服务器配合客户端进行指标数据异步获取的功能,并结合渲染调度路由器减少了页面卡顿、及时性不够以及资源消耗大的问题。
具体地,Web代理服务器在接收到指标请求后,解析请求内容得到配置的路由规则,并通过路由规则发送对服务端的应用程序接口的调用请求,调用请求步骤是同步进行的。在发送调用请求后,Web代理服务器等待服务端反馈的请求结果。Web代理服务器在接受到服务端发送的请求结果后,通过长连接通道向客户端进行异步消息推送。
在本公开实施例中,渲染调度路由可设置在客户端中,客户端得到服务端的消息反馈后,先经由渲染调度路由进行处理。渲染调度路由通过onMessage事件触发消息到达。进一步地,渲染调度路由解析收到的消息体,并首先判断反馈内容是否异常。如果是异常则触发客户端提示或者告警;如果是正常消息,则通过反馈的label_id确定具体渲染的组件,并根据请求标识进行路由决策。在页面上的众多饼状图、地图和表格等组件中,通过请求标识可以确定哪一个组件是待渲染的目标组件,并把渲染用到的数据给到该目标组件。
在本公开实施例中,通过渲染调度路由对本地组件进行渲染逻辑调用,如果有新的请求结果数据就进行渲染,没有新的请求结果数据就保持现状,无需像现有技术中的技术方案一样等待服务端的同步反馈,也就避免了卡顿现象的出现。
在本公开实施例中,客户端需要和服务端先建立一个长连接。具体地,可以新建长连接如下:
websocket=new WebSocket("ws://www.xxx.com:8083/connectWebSocket/route")。
在现有技术中的指标请求中,可以通过websocket.send(message)发送指标请求。在本公开实施例中,发送指标请求时可以与现有技术相同,通过websocket.send(message)及message消息发送指标请求。与现有技术不同的是,在本公开实施例中的页面渲染部分,可以采用渲染路由调度器进行调度,在监控消息onMessage触发事件时,根据请求结果进行页面渲染。
具体地,message消息的结构体可以是json格式的半结构化的数据,该结构体里面包含当前指标或者展示组件分配的唯一ID即请求标识。该请求标识主要用于在进行异步效果反馈的时候,使得渲染调度路由找到请求标识对应的组件。其中,该唯一ID可以为组件拖拽等生成的时候随机分配的一个UUID(Universally Unique Identifier,通用唯一识别码)等不重复的ID。
在一种实施例中,message消息可以如下列代码所示:
其中,label_id为给渲染组件分配的页面中唯一的ID。
在本公开实施例的技术方案中,可以在客户端、Web代理服务器和服务端之间均采用长连接的方式,但该方式灵活性和扩展性较差。
为在保持较小改动的情况下实现较大的灵活性,如图3所示,在本公开实施例中,可以在Web代理服务器和服务端之间采用长连接和短连接两种的方式进行连接。具体地,可以通过服务端重放装置实现Web代理服务器320和服务端330之间的不同连接方式的兼容。这样,结合客户端渲染调度路由完成组件渲染的处理方式,可以实现较为灵活的客户端页面310的页面渲染。
如图3所示,客户端和HTTP和Web代理服务器320通过长连接通道360连接。
具体的,服务端可以通过HTTP和反向Web代理服务器对指标请求进行接收。其中,反向Web代理服务器可以为Nginx、Tengine或者OpenResty中的任一个。Nginx是开源、高性能、高可靠的HTTP和反向Web代理服务器。Tengine完全兼容Nginx,其在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。OpenResty是基于Nginx的核心Web应用程序服务器。
如图3所示,HTTP和Web代理服务器320中的长连接池321用于处理长连接通道的数据。短连接请求重放装置322用于处理短连接数据。
具体地,在接收到请求参数和请求内容后,反向Web代理服务器先根据请求内容进行路由规则的判断。如果对应的服务端请求API(Application Programming Interface,应用程序接口)内容为短连接,则进行短连接请求参数的保存。短连接请求参数可以保存在外部存储350中,其中,外部存储可以为Redis或者mysql。
Redis(Remote Dictionary Server,远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value(键值对)数据库,并提供多种语言的应用程序接口。mysql是一种关系型数据库管理系统。
在本公开实施例中,若对应的服务端请求是长连接,则无需对请求参数进行保存,即不需要做重放刷新,因为长连接本身负责就可以进行内容更新。
具体地,若目标连接方式为短连接,则将请求内容对应的指标请求的请求参数保存到外部存储中l。在进行指标请求的发送时,可以从外部存储中获取请求参数,并根据请求参数中规定的触发方式向服务端发送应用程序接口调用请求。其中,请求参数中规定的触发方式可以为定时触发方式或者事件触发方式。
在步骤206中,可以将请求结果及其对应的请求标识通过长连接发送到客户端的渲染调度路由。
在步骤206之后,根据监控消息事件触发请求结果的消息到达后,判断请求结果是否异常,并在请求结果异常时触发客户端提示或者告警。
在客户端对指标请求进行参数更新时,可以根据所述目标连接方式对请求结果进行更新。
具体地,若所述目标连接方式为短连接,可以通过Web代理服务器中短连接请求重放装置,对之前保留的参数按照定时触发或者事件触发的方式重新请求服务端的API,并将请求结果反馈到之前的长连接通道。
若所述目标连接方式为长连接,可以通过Web代理服务器对接的服务端的长连接进行反馈,如果API进行了变更,那么可以直接通过Web代理服务器进行直接反馈,不需要进行定时触发。具体地,在客户端发送的指标请求发生变更时,接收变更后的指标请求,并向服务端发送变更后的指标请求。在向服务端发送变更后的指标请求后,获取服务端返回的请求结果,并将请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得渲染调度路由根据请求标识对请求结果对应的组件进行渲染。
本公开实施例的技术方案中,无需客户端定时触发并发送指标请求,可以节约资源并避免网络资源浪费和客户端请求的浪费。在所述目标连接方式为长连接的情况下可以做到实时更新,从而及时地对客户端进行反馈,避免延迟;同时,服务端无需主动获取指标请求,而是可以被动地通过数据变化通知的方式获取指标请求,避免了服务端短时间内涌入多个流量请求对服务端产生压力影响。
本公开提供的页面渲染方法,通过根据客户端发送的指标请求向服务端发送应用程序调用请求,并将服务端返回的请求结果发送到渲染调度路由,可以使得渲染调度路由根据请求标识对请求结果对应的组件进行渲染,相比较现有技术,可以仅在出现新的请求结果数据时进行渲染,无需等待服务端的同步反馈,从而避免了卡顿现象的出现。
下面对本公开提供的页面渲染装置进行描述,下文描述的页面渲染装置与上文描述的页面渲染方法可相互对应参照。
如图4所示,本公开实施例的页面渲染装置包括:
接收单元402,用于接收客户端通过长连接发送的指标请求,指标请求包括请求参数和请求内容,请求参数包括请求标识;
获取单元404,用于在根据请求内容中的路由规则确定向所述服务端发送应用程序接口调用请求对应采用的目标连接方式,基于所述目标连接方式向服务端发送应用程序接口调用请求后,获取服务端返回的请求结果;
第一发送单元406,用于将请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得渲染调度路由根据请求标识对请求结果对应的组件进行渲染。
在本公开实施例中,装置还可以包括:判断单元,用于根据请求内容中的路由规则判断目标连接方式为长连接或短连接;第二发送单元,用于根据判断结果向服务端发送应用程序接口调用请求。
在本公开实施例中,第二发送单元还可以用于:若目标连接方式为短连接,则将对应的指标请求的请求参数保存到外部存储中;根据请求参数中规定的触发方式向服务端发送应用程序接口调用请求。
在本公开实施例中,第一发送单元还可以用于:将请求结果及其对应的请求标识通过长连接发送到客户端的渲染调度路由。
在本公开实施例中,装置还包括判断单元,可以用于:根据监控消息事件触发请求结果的消息到达后,判断请求结果是否异常,并在请求结果异常时触发客户端提示或者告警。
在本公开实施例中,第二发送单元还可以用于:从外部存储中获取请求参数,外部存储包括Redis或mysql;根据定时触发方式或者事件触发方式向服务端发送应用程序接口调用请求。
在本公开实施例中,装置还用于:若目标连接方式为长连接,在客户端发送的指标请求发生变更时,接收变更后的指标请求;在向服务端发送变更后的指标请求后,获取服务端返回的请求结果;将请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得渲染调度路由根据请求标识对请求结果对应的组件进行渲染。
由于本公开的示例实施例的页面渲染装置的各个功能模块与上述页面渲染方法的示例实施例的步骤对应,因此对于本公开装置实施例中未披露的细节,请参照本公开上述的页面渲染方法的实施例。
本公开提供的页面渲染装置,通过根据客户端发送的指标请求向服务端发送应用程序调用请求,并将服务端返回的请求结果发送到渲染调度路由,可以使得渲染调度路由根据请求标识对请求结果对应的组件进行渲染,相比较现有技术,可以仅在出现新的请求结果数据时进行渲染,无需等待服务端的同步反馈,从而避免了卡顿现象的出现。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行页面渲染方法,该方法包括:接收客户端通过长连接发送的指标请求,所述指标请求包括请求参数和请求内容,所述请求参数包括请求标识;在根据所述请求内容中的路由规则向服务端发送应用程序接口调用请求后,获取所述服务端返回的请求结果;将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得所述渲染调度路由根据所述请求标识对所述请求结果对应的组件进行渲染。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的页面渲染方法,该方法包括:接收客户端通过长连接发送的指标请求,所述指标请求包括请求参数和请求内容,所述请求参数包括请求标识;在根据所述请求内容中的路由规则向服务端发送应用程序接口调用请求后,获取所述服务端返回的请求结果;将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得所述渲染调度路由根据所述请求标识对所述请求结果对应的组件进行渲染。
又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的页面渲染方法,该方法包括:接收客户端通过长连接发送的指标请求,所述指标请求包括请求参数和请求内容,所述请求参数包括请求标识;在根据所述请求内容中的路由规则向服务端发送应用程序接口调用请求后,获取所述服务端返回的请求结果;将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得所述渲染调度路由根据所述请求标识对所述请求结果对应的组件进行渲染。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
Claims (10)
1.一种页面渲染方法,其特征在于,所述方法包括:
接收客户端通过长连接发送的指标请求,所述指标请求包括请求参数和请求内容,所述请求参数包括请求标识;
在根据所述请求内容中的路由规则向服务端发送应用程序接口调用请求后,获取所述服务端返回的请求结果;
将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得所述渲染调度路由根据所述请求标识对所述请求结果对应的组件进行渲染。
2.根据权利要求1所述的方法,其特征在于,在获取所述服务端返回的请求结果之前,所述方法还包括:
基于所述请求内容中的路由规则,确定向所述服务端发送应用程序接口调用请求对应采用的目标连接方式;
基于所述目标连接方式向所述服务端发送应用程序接口调用请求。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标连接方式向所述服务端发送应用程序接口调用请求,包括:
若所述目标连接方式为短连接,则将所述请求内容对应的指标请求的请求参数保存到外部存储中;
根据所述请求参数中规定的触发方式向所述服务端发送所述应用程序接口调用请求。
4.根据权利要求1所述的方法,其特征在于,所述将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,包括:
将所述请求结果及其对应的请求标识通过长连接发送到所述客户端的渲染调度路由。
5.根据权利要求1所述的方法,其特征在于,所述将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由之后,所述方法还包括:根据监控消息事件触发所述请求结果的消息到达后,判断所述请求结果是否异常,并在请求结果异常时触发所述客户端提示或者告警。
6.根据权利要求3所述的方法,其特征在于,所述根据所述请求参数中规定的触发方式向所述服务端发送所述应用程序接口调用请求,包括:
从所述外部存储中获取所述请求参数,所述外部存储包括Redis或mysql;
根据定时触发方式或者事件触发方式向所述服务端发送所述应用程序接口调用请求。
7.根据权利要求2所述的方法,其特征在于,所述将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由之后,所述方法,还包括:
若所述目标连接方式为长连接,在所述客户端发送的指标请求发生变更时,接收变更后的指标请求;
在向服务端发送所述变更后的指标请求后,获取所述服务端返回的请求结果;
将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得所述渲染调度路由根据所述请求标识对所述请求结果对应的组件进行渲染。
8.一种页面渲染装置,其特征在于,所述装置包括:
接收单元,用于接收客户端通过长连接发送的指标请求,所述指标请求包括请求参数和请求内容,所述请求参数包括请求标识;
获取单元,用于在根据所述请求内容中的路由规则向服务端发送应用程序接口调用请求后,获取所述服务端返回的请求结果;
第一发送单元,用于将所述请求结果及其对应的请求标识通过长连接发送到渲染调度路由,以使得所述渲染调度路由根据所述请求标识对所述请求结果对应的组件进行渲染。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210833681.4A CN115102895B (zh) | 2022-07-14 | 2022-07-14 | 页面渲染方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210833681.4A CN115102895B (zh) | 2022-07-14 | 2022-07-14 | 页面渲染方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115102895A true CN115102895A (zh) | 2022-09-23 |
CN115102895B CN115102895B (zh) | 2024-08-16 |
Family
ID=83298463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210833681.4A Active CN115102895B (zh) | 2022-07-14 | 2022-07-14 | 页面渲染方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115102895B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426985A (zh) * | 2013-09-06 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 显示网页的方法、装置及系统 |
CN104778211A (zh) * | 2015-03-18 | 2015-07-15 | 微梦创科网络科技(中国)有限公司 | 一种局部刷新页面模块的方法、客户端、服务器及系统 |
CN106293794A (zh) * | 2015-06-05 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 加载页面的方法、装置和系统 |
CN108337528A (zh) * | 2018-01-17 | 2018-07-27 | 浙江大华技术股份有限公司 | 一种预览视频的方法及设备 |
CN108628652A (zh) * | 2018-03-13 | 2018-10-09 | 广东欧珀移动通信有限公司 | 用户界面渲染方法、装置及终端 |
CN110020278A (zh) * | 2017-09-08 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 页面数据的展示、提供方法、客户端及服务器 |
CN111708600A (zh) * | 2020-08-20 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 页面显示方法、装置、设备及计算机可读存储介质 |
CN112099771A (zh) * | 2020-11-18 | 2020-12-18 | 浙江口碑网络技术有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
CN113221039A (zh) * | 2021-04-23 | 2021-08-06 | 深圳市金蝶天燕云计算股份有限公司 | 页面展示方法、装置、计算机设备和存储介质 |
CN114268828A (zh) * | 2021-12-24 | 2022-04-01 | 中国建设银行股份有限公司 | 大屏页面的处理方法、装置、设备及存储介质 |
CN114513512A (zh) * | 2022-02-08 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 界面渲染的方法及装置 |
-
2022
- 2022-07-14 CN CN202210833681.4A patent/CN115102895B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426985A (zh) * | 2013-09-06 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 显示网页的方法、装置及系统 |
CN104778211A (zh) * | 2015-03-18 | 2015-07-15 | 微梦创科网络科技(中国)有限公司 | 一种局部刷新页面模块的方法、客户端、服务器及系统 |
CN106293794A (zh) * | 2015-06-05 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 加载页面的方法、装置和系统 |
CN110020278A (zh) * | 2017-09-08 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 页面数据的展示、提供方法、客户端及服务器 |
CN108337528A (zh) * | 2018-01-17 | 2018-07-27 | 浙江大华技术股份有限公司 | 一种预览视频的方法及设备 |
CN108628652A (zh) * | 2018-03-13 | 2018-10-09 | 广东欧珀移动通信有限公司 | 用户界面渲染方法、装置及终端 |
CN111708600A (zh) * | 2020-08-20 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 页面显示方法、装置、设备及计算机可读存储介质 |
CN112099771A (zh) * | 2020-11-18 | 2020-12-18 | 浙江口碑网络技术有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
CN113221039A (zh) * | 2021-04-23 | 2021-08-06 | 深圳市金蝶天燕云计算股份有限公司 | 页面展示方法、装置、计算机设备和存储介质 |
CN114268828A (zh) * | 2021-12-24 | 2022-04-01 | 中国建设银行股份有限公司 | 大屏页面的处理方法、装置、设备及存储介质 |
CN114513512A (zh) * | 2022-02-08 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 界面渲染的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115102895B (zh) | 2024-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11438291B2 (en) | Message history display system and method | |
US8819560B2 (en) | Dispatching events to multiple browser windows/tabs using a single connection | |
CN109547511B (zh) | 一种web消息实时推送方法、服务器、客户端及系统 | |
EP3002927B1 (en) | Page redirection method, routing device, terminal device and system | |
US20050198365A1 (en) | System and method for stateful web-based computing | |
CN103516785A (zh) | 网页代理系统及其通信方法 | |
CN102937981A (zh) | 网页呈现系统和方法 | |
CN112087499A (zh) | 一种物联网云管理方法及系统 | |
CN112838980B (zh) | 一种消息处理方法、系统、装置、电子设备及存储介质 | |
KR20180057619A (ko) | 휴대 단말에 푸시 통지를 행하기 위한 통지 방법 및 통지 서버 | |
CN115102895B (zh) | 页面渲染方法、装置、设备和存储介质 | |
CN104348713A (zh) | B/S架构下网络平台基于comet的即时通讯方法 | |
CN111756844A (zh) | 一种多语言消息代理方法及装置 | |
US9467413B2 (en) | Method and system for replying to website update event | |
JP2017212013A (ja) | ウェブサーバ | |
CN111327511B (zh) | 即时通讯方法、系统、终端设备与存储介质 | |
CN113766010B (zh) | 数据流处理方法和装置 | |
CN108471375B (zh) | 一种消息处理方法、装置及终端 | |
CN110287428A (zh) | 一种url数据挖掘方法及系统 | |
CN103227827A (zh) | 请求资源的方法和装置 | |
CN117082124B (zh) | 数据传送方法、装置、设备、介质及产品 | |
CN117459574A (zh) | 基于stomp协议的站内信息推送方法及系统 | |
CN115988055A (zh) | 通信方法、装置、设备以及存储介质 | |
CN117492811A (zh) | 版本信息处理方法、装置、电子设备和储存介质 | |
CN117097801A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |