CN114297544A - 一种远程浏览方法、装置、设备及存储介质 - Google Patents
一种远程浏览方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114297544A CN114297544A CN202111628808.0A CN202111628808A CN114297544A CN 114297544 A CN114297544 A CN 114297544A CN 202111628808 A CN202111628808 A CN 202111628808A CN 114297544 A CN114297544 A CN 114297544A
- Authority
- CN
- China
- Prior art keywords
- page
- instruction
- tree
- client
- font bitmap
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000009877 rendering Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 8
- 238000002360 preparation method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种远程浏览方法、装置、设备及存储介质。该方法包括:接收客户端发送的访问请求,并将访问请求发送至网页服务器;接收网页服务器基于访问地址返回的页面数据;基于设定规则及页面数据构建页面绘制树,并将页面绘制树中的页面绘制指令发送至客户端;其中,页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令,用于指示客户端基于页面对象查询指令从页面绘图操作库中查询页面对象的字形位图,基于绘制操作指令对字形位图的属性调整得到目标字形位图,基于绘制位置指令将目标字形位图放置在页面中的对应位置得到渲染后的页面图像。通过本发明实施例的技术方案,能够快速且准确的完成网络页面数据的传送。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种远程浏览方法、装置、设备及存储介质。
背景技术
随着信息技术的快速发展,用户通常将网页(Web)服务器作为日常生活和工作的平台,但用户使用Web服务器的同时将会使Web服务器在网络侧的暴露面大大提高,从而影响了用户端本地数据的安全性。
现有技术中通常使用远程浏览技术,使得客户端与Web服务器之间增加隔离层,即远程服务器,从而使Web服务器在网络侧的暴露面大大降低,也使得用户端本地数据面临的安全风险转移到了远程服务器。
然而,现有技术所用的远程浏览技术需要在带宽充裕的情况下才能顺利进行,对于带宽限制的情况,会出现传送卡顿的现象。因此,如何在保证用户端本地数据安全性的情况下,快速且准确的完成网络页面数据的传送,是目前亟待解决的问题。
发明内容
本发明实施例提供一种远程浏览方法、装置、设备及存储介质,可以实现在保证用户端本地数据安全性的情况下,快速且准确的完成网络页面数据的传送,完成客户端的远程浏览。
第一方面,本发明实施例提供了一种远程浏览方法,所述方法应用于远程服务器,所述方法包括:
接收客户端发送的访问请求,并将所述访问请求发送至网页服务器;其中,
所述访问请求中携带访问地址;
接收网页服务器基于所述访问地址返回的页面数据;
基于设定规则及所述页面数据构建页面绘制树,并将所述页面绘制树中的页面绘制指令发送至客户端;其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令,所述页面绘制指令用于指示客户端基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图,并基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图,以及基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
第二方面,本发明实施例还提供了一种远程浏览方法,所述方法应用于客户端,所述方法包括:
向远程服务器发送访问请求,并加载页面绘图操作库;
当接收到所述访问请求对应的页面绘制指令,调用所述页面绘图操作库,其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令;
基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图;
基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图;
基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
第三方面,本发明实施例还提供了一种远程浏览方法,所述方法包括:
客户端向远程服务器发送访问请求,并加载页面绘图操作库;
远程服务器接收客户端发送的访问请求,并将所述访问请求发送至网页服务器;其中,所述访问请求中携带访问地址;
网页服务器基于所述访问地址向远程服务器返回对应的页面数据;
远程服务器接收网页服务器基于所述访问地址返回的页面数据,基于设定规则及所述页面数据构建页面绘制树,并将所述页面绘制树中的页面绘制指令发送至客户端;其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令;
当客户端接收到所述访问请求对应的页面绘制指令,基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图;基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图;基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
第四方面,本发明实施例还提供了一种远程浏览装置,所述装置应用于远程服务器,所述装置包括:
访问请求模块,用于接收客户端发送的访问请求,并将所述访问请求发送至网页服务器;其中,所述访问请求中携带访问地址;
内容获取模块,用于接收网页服务器基于所述访问地址返回的页面数据;
指令生成模块,用于基于设定规则及所述页面数据构建页面绘制树,并将所述页面绘制树中的页面绘制指令发送至客户端;其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令,所述页面绘制指令用于指示客户端基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图,并基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图,以及基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。。
第五方面,本发明实施例还提供了一种远程浏览装置,所述装置应用于客户端,所述装置包括:
准备处理模块,用于向远程服务器发送访问请求,并加载页面绘图操作库;
指令接收模块,用于当接收到所述访问请求对应的页面绘制指令,调用所述页面绘图操作库,其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令;
第一绘制模块,用于基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图;
第二绘制模块,用于基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图;
第三绘制模块,用于基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
第六方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述所述的远程浏览方法。
第七方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的远程浏览方法。
本发明实施例的技术方案通过接收客户端发送的访问请求,并将该访问请求发送至网页服务器,再基于设定规则及网页服务器返回的页面数据构建包含页面绘制指令的页面绘制树,之后,将页面绘制指令发送至客户端,使得客户端基于页面绘制指令完成相应的操作,得到渲染后的页面图像,解决了现有技术无法在保证用户端本地数据安全性的情况下,快速且准确的完成网络页面数据传送的问题,实现了安全、快速且准确的网络页面数据远程浏览。
附图说明
图1a是本发明实施例提供的一种远程浏览方法的流程图;
图1b是本发明实施例提供的一种优选的远程浏览方法的流程图;
图2a是本发明实施例提供的一种远程浏览方法的流程图;
图2b是本发明实施例提供的一种优选的远程浏览方法的流程图;
图3是本发明实施例提供的一种远程浏览方法的流程图;
图4是本发明实施例提供的一种远程浏览装置的结构示意图;
图5是本发明实施例提供的一种远程浏览装置的结构示意图;
图6是本发明实施例提供的一种远程浏览系统的结构示意图;
图7是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
远程浏览技术的本质是一种隔离技术,通过在远程服务器上对客户端请求的Web内容进行渲染编码再回传给客户端浏览器。之后,客户端浏览器将接收到的渲染结果重新解码,实现web页面在客户端浏览器的重放。此外,远程浏览技术还需要支持远程服务器与客户端本地浏览器之间的双向通讯,例如,将Web内容或音视频信息传递到客户端本地,以及将客户端本地的键盘或鼠标操作传给远程服务器。
现有的远程浏览器隔离(Remote Browser Isolation,RBI)系统通常采用以下两种浏览技术:第一种为像素推送:像素推送是一种基于视频流的方法,可捕获远程服务器“窗口”的像素图像,并将图像序列传输到客户端浏览器或专有客户端。第二种为文档对象模型(Document Object Model,DOM)树重构:DOM树重构尝试在将内容转发到客户端浏览器之前清除网页中会带来危害的JS(JavaScript)代码。对网页的超文本标记语言(HyperTextMarkup Language,HTML)、层叠样式表(Cascading Style Sheet,CSS)以及JS等进行解析,生成浏览器内部的DOM树,以消除活动代码、已知的攻击和其他潜在的恶意内容。
然而,像素推送尽管被认为是相对安全的,但是这种方法存在一些固有的挑战:1、持续编码和向客户端传输远程网页视频流的成本非常高,将这种方法扩展到数百万用户是非常困难的,在逻辑上也很复杂;2、需要大量带宽,即使在高度优化的情况下,推送像素也是带宽密集型的;3、不可避免的延迟会导致用户体验很差,系统往往运行缓慢,并会产生大量用户投诉;4、高带宽要求加上连接不一致会降低在移动用户端的支持性;5、HiDPI显示可能以较低的分辨率渲染使得HiDPI设备上的远程服务器内容(尤其是字体)可能显得模糊或失焦。DOM树重构在解决像素推送的延迟、运营成本较高和用户体验较差的问题的同时,也引入了两个重要的新问题:1、安全性降低,由于HTML、CSS或web字体等是黑客用来攻破端点的攻击载体,虽然可以试图删除恶意内容或代码,但它们仍然是危险和恶意内容的固有载体,即使通过RBI系统,也不可能预先确定利用这些技术的所有手段。2、网站保真度降低,尝试删除恶意活动代码,重建HTML、CSS或其他方面可能会导致页面无法正常渲染或根本无法渲染。因此,为解决现有技术无法在保证用户端本地数据安全性的情况下,快速且准确的完成网络页面数据传送的问题,本发明实施例提出了一种远程浏览方法。
图1a为本发明实施例提供的一种远程浏览方法的流程图,该方法可以应用于远程服务器,本实施例可适用于对页面数据进行远程浏览的情况,该方法可以由远程浏览装置来执行,该装置可采用硬件和/或软件的方式实现,并一般可以集成在电子设备中。
如图1a所示,本发明实施例提供的一种远程浏览方法包括以下具体步骤:
S110:接收客户端发送的访问请求,并将所述访问请求发送至网页服务器;其中,所述访问请求中携带访问地址。
其中,网页服务器可以指根据客户端提交的访问请求,为客户端提供相应网页数据的高性能计算机;访问地址可以指客户端最终想要访问的网络地址;访问请求可以指客户端发送的用于对网页服务器中的数据进行访问的请求,在本发明实施例中,访问请求可以为超文本传输(HyperText Transfer Protocol,HTTP)请求,也可以为安全套接字层上的超文本传输(Hyper Text Transfer Protocol over Secure Socket Layer,HTTPS)请求等基于Web协议的访问请求。
S120:接收网页服务器基于所述访问地址返回的页面数据。
其中,页面数据可以指网页服务器基于访问请求中携带的访问地址,向远程服务端返回的与访问地址相对应的字节数据,例如,可以为HTML代码。
S130:基于设定规则及所述页面数据构建页面绘制树,并将所述页面绘制树中的页面绘制指令发送至客户端;其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令,所述页面绘制指令用于指示客户端基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图,并基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图,以及基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
其中,设定规则可以指根据页面数据生成页面绘制指令的规则,例如,根据页面数据在页面图像中的位置生成页面绘制指令,或者根据页面数据的属性生成页面绘制指令。页面绘制树可以指包含同一页面图像中各页面数据的页面绘制指令的集合。
在一个可选的实施方式中,所述基于设定规则及所述页面数据构建页面绘制树包括:基于文档对象模型将所述页面数据解析为文档节点树;其中,所述文档节点树中包含所述页面数据中的页面对象;基于层叠样式表对象模型将所述页面数据解析为层叠样式节点树;其中,所述层叠样式节点树中包含所述页面数据中各页面对象属性;依据文档节点树中与层叠样式节点树中的对应节点位置,构建包含所述页面对象及所述页面对象属性的页面绘制指令,并将各条页面绘制指令集合生成页面绘制树。其中,文档节点树可以指表示页面数据中各个节点的树状结构,可选的,文档节点树包括文本类型的节点、图片类型的节点以及超链接类型的节点。文档对象模型可以指将由字节数据组成的页面数据解析为文档节点树的标准编程接口,在DOM中通常以HTML文档的形式展现文档节点树。示例性的,可以通过利用DOM可以将网页服务器返回的字节数据解析为HTML文档,以此通过HTML文档可以对页面数据中的文本内容、图片内容以及超链接内容进行显示。页面对象可以指页面数据中具体的对象内容,例如,具体文字或者具体字母等。页面对象属性可以指页面对象的绘制属性,例如,文字的颜色、文字的字体、文字的大小或者文字的倾斜等。层叠样式节点树可以指通过利用层叠样式表对象模型(Cascading Style Sheets Object Model,CSSOM)将页面数据解析后得到的包含页面对象属性的节点树;值得注意的是,文档节点树中的节点与层叠样式节点树中的节点,节点位置是一一对应的,示例性的,若文档节点树中的父节点为页面对象“3”,则层叠样式节点树中与页面对象“3”位置对应的节点即表示页面对象“3”的相应属性。由此,通过DOM将页面数据构建为DOM树,通过CSSOM将页面数据构建为CSSOM树,再利用DOM树中与CSSOM树中对应节点的位置,生成包含页面对象及页面对象属性的页面绘制指令,为后续工作提供了便利。
在另一个可选的实施方式中,所述依据文档节点树中与层叠样式节点树中的对应节点位置,构建包含所述页面对象及所述页面对象属性的页面绘制指令包括:依据文档节点树中与层叠样式节点树中的对应节点位置,构建包含页面对象及所述页面对象属性的布局树;基于布局树中各页面对象的节点位置,通过排版引擎计算出所述页面对象在页面图像中的实际绘制位置,并根据所述实际绘制位置生成对应的绘制位置指令;基于预设规则将所述布局树中的布局对象进行分层,生成包含设定规则的布局对象的层树;通过渲染引擎在预设的字库中为所述层树中的页面对象匹配对应的字形位图,将匹配成功的字形位图的唯一编码作为所述页面对象的实际字形标识,并根据所述实际字形标识生成对应的页面对象查询指令;根据所述层树中的页面对象属性生成对应的绘制操作指令,并将所述页面对象对应的绘制位置指令、页面对象查询指令以及绘制操作指令合成页面绘制指令。其中,预设规则可以指按照页面对象的变化频率或者页面对象的是否为特殊元素,例如,视频元素或标有span标签等,将页面对象进行划分的规则。字形位图可以指页面对象在屏幕中实际显示的图片样式,示例性的,以数字3为例,在层树中表示为0x03,因此需要将页面对象的实际字形从字库中提取出来以供绘制操作。由此,通过生成指示页面对象在页面图像中实际绘制位置的绘制位置指令、获取页面图像实际字形标识的页面对象查询指令以及更改页面对象属性的绘制操作指令,可以使得用户端基于页面绘制指令完成对页面图像的绘制操作,实现对页面图像的渲染。
本发明实施例的技术方案通过接收客户端发送的访问请求,并将该访问请求发送至网页服务器,再基于设定规则及网页服务器返回的页面数据构建包含页面绘制指令的页面绘制树,之后,将页面绘制指令发送至客户端,使得客户端基于页面绘制指令完成相应的操作,得到渲染后的页面图像,解决了现有技术无法在保证用户端本地数据安全性的情况下,快速且准确的完成网络页面数据传送的问题,实现了安全、快速且准确的网络页面数据远程浏览。
如图1b所示为本发明实施例提供的一种优选的远程浏览方法的流程图。具体的,当加载出网页服务器基于访问地址返回的HTML格式的页面数据时,针对页面数据构建DOM树与CSSOM树;再根据DOM树中与CSSOM树中对应节点的位置构建布局树,其中,在布局树中每个节点就是一个布局对象,布局树上包含了网络页面上所有可见元素(即页面对象)的内容和位置信息,排版引擎会根据可见元素的位置信息计算可见元素在网络页面上的位置;此外,为了处理其他各种属性的可见元素,以及提高渲染速度,远程服务器还可以根据一定的规则构建层树,层树中包含一系列属性分类的布局对象;将分类后的布局对象传递给渲染引擎,即可将层树中的每个节点转换为屏幕上的实际位图,生成绘制树,其中,绘制树包含各个可见元素的绘制指令(即页面绘制指令);最后,将绘制树中各个可见元素的绘制指令提取出来发送至客户端,可以使用户端基于绘制指令完成页面绘制的操作,得到渲染后的页面图像,实现远程浏览技术。
图2a为本发明实施例提供的一种远程浏览方法的流程图,本实施例可适用于对页面数据进行远程浏览的情况,该方法应用于客户端,该方法可以由远程浏览装置来执行,该装置可采用硬件和/或软件的方式实现,并一般可以集成在电子设备中。
如图2a所示,本发明实施例提供的一种远程浏览方法包括以下具体步骤:
S210:向远程服务器发送访问请求,并加载页面绘图操作库。
其中,页面绘图操作库可以指用户端中用于根据访问请求对应的页面绘制指令执行页面绘制操作的数据库,示例性的,可以为Web绘图操作库。
在一个可选的实施方式中,在所述向远程服务器发送访问请求,并加载页面绘图操作库之后,还包括:从远程服务器中加载用于显示页面绘制指令的客户端框架代码,使得客户端基于客户端框架代码解析出访问请求对应的页面绘制指令。其中,客户端框架代码可以指用于对页面绘制指令进行解析并显示的代码。由此,通过客户端框架代码可以使用户端解析得到与访问请求对应的页面绘制指令,保证了远程浏览结果的准确性。
S220:当接收到所述访问请求对应的页面绘制指令,调用所述页面绘图操作库,其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令。
S230:基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图。
S240:基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图。
其中,目标字形位图可以指属性调整后得到的页面图像的字形位图。
S250:基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
本发明实施例未尽详细解释之处请参见前述实施例,在此不再赘述。
本发明实施例的技术方案,通过在页面绘图操作库中,基于页面绘制指令中的页面对象查询指令查询页面对象的字形位图,基于页面绘制指令中的绘制操作指令对页面对象的字形位图的属性进行调整得到目标字形位图,基于页面绘制指令中的绘制位置指令将目标字形位图放置在页面中的对应位置,得到渲染后的页面图像,解决了现有技术中无法在保证用户端本地数据安全性的情况下,快速且准确的完成网络页面数据传送的问题,实现了安全、快速且准确的网络页面数据远程浏览。
图2b是本发明实施例提供的一种优选的远程浏览方法的流程图。首先,客户端浏览器加载用于显示页面绘制指令的客户端框架代码;之后,与远程服务端建立网络连接,例如,websocket;进一步的,加载绘图操作库,以便后续使用;最后,等待接收绘制指令(即页面绘制指令),一但接收到绘制指令,对绘制指令进行解码,转换为绘图操作库可以识别的格式,例如:联合摄影图形(Joint Photographic Graphic,JPG)格式或者便携式网络图形(Portable Network Graphic,PNG)格式,再调用绘图操作库的应用程序编程接口(Application Program Interface,API),执行绘制指令,使得用户端的屏幕上重新渲染出页面图像。
图3为本发明实施例提供的一种远程浏览方法的流程图,本实施例可适用于对页面数据进行远程浏览的情况,该方法可以由远程浏览装置来执行,该装置可采用硬件和/或软件的方式实现,并一般可以集成在电子设备中。
如图3所示,本发明实施例提供的一种远程浏览方法包括以下具体步骤:
S310:客户端向远程服务器发送访问请求,并加载页面绘图操作库。
S320:远程服务器接收客户端发送的访问请求,并将所述访问请求发送至网页服务器;其中,所述访问请求中携带访问地址。
S330:网页服务器基于所述访问地址向远程服务器返回对应的页面数据。
S340:远程服务器接收网页服务器基于所述访问地址返回的页面数据,基于设定规则及所述页面数据构建页面绘制树,并将所述页面绘制树中的页面绘制指令发送至客户端;其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令。
S350:当客户端接收到所述访问请求对应的页面绘制指令,基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图;基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图;基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
本发明实施例未尽详细解释之处请参见前述实施例,在此不再赘述。
本发明实施例的技术方案,通过在客户端与网页服务器中间加入远程服务器,使得客户端可以直接向远程服务器发送访问请求,远程服务器接收客户端发送的访问请求,并将访问请求发送至网页服务器,之后,网页服务器基于访问地址向远程服务器返回对应的页面数据;进一步的,远程服务器接收网页服务器基于访问地址返回的页面数据后,基于设定规则及页面数据构建页面绘制树,并将页面绘制树中的页面绘制指令发送至客户端;当客户端接收到访问请求对应的页面绘制指令时,基于页面绘制指令中的页面对象查询指令从页面绘图操作库中查询页面对象的字形位图;基于页面绘制指令中的绘制操作指令对页面对象的字形位图的属性进行调整,得到目标字形位图;基于页面绘制指令中的绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像,解决了现有技术中无法在保证用户端本地数据安全性的情况下,快速且准确的完成网络页面数据传送的问题,实现了安全、快速且准确的网络页面数据远程浏览。
图4为本发明实施例提供的一种远程浏览装置的结构示意图,该装置可以应用于远程服务器,该装置可以执行上述各实施例中涉及到的远程浏览方法。该装置可采用软件和/或硬件的方式实现,如图4所示,所述远程浏览装置具体包括:访问请求模块410、内容获取模块420、指令生成模块430。
其中,访问请求模块410,用于接收客户端发送的访问请求,并将所述访问请求发送至网页服务器;其中,所述访问请求中携带访问地址;
内容获取模块420,用于接收网页服务器基于所述访问地址返回的页面数据;
指令生成模块430,用于基于设定规则及所述页面数据构建页面绘制树,并将所述页面绘制树中的页面绘制指令发送至客户端;其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令,所述页面绘制指令用于指示客户端基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图,并基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图,以及基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。。
本发明实施例的技术方案通过接收客户端发送的访问请求,并将该访问请求发送至网页服务器,再基于设定规则及网页服务器返回的页面数据构建包含页面绘制指令的页面绘制树,之后,将页面绘制指令发送至客户端,使得客户端基于页面绘制指令完成相应的操作,得到渲染后的页面图像,解决了现有技术无法在保证用户端本地数据安全性的情况下,快速且准确的完成网络页面数据传送的问题,实现了安全、快速且准确的网络页面数据远程浏览。
可选的,指令生成模块430具体可以包括第一解析单元、第二解析单元以及指令生成单元;
其中,第一解析单元,用于基于文档对象模型将所述页面数据解析为文档节点树;其中,所述文档节点树中包含所述页面数据中的页面对象;
第二解析单元,用于基于层叠样式表对象模型将所述页面数据解析为层叠样式节点树;其中,所述层叠样式节点树中包含所述页面数据中各页面对象属性;
指令生成单元,用于依据文档节点树中与层叠样式节点树中的对应节点位置,构建包含所述页面对象及所述页面对象属性的页面绘制指令,并将各条页面绘制指令集合生成页面绘制树。
可选的,指令生成单元,具体可以用于依据文档节点树中与层叠样式节点树中的对应节点位置,构建包含页面对象及所述页面对象属性的布局树;基于布局树中各页面对象的节点位置,通过排版引擎计算出所述页面对象在页面图像中的实际绘制位置,并根据所述实际绘制位置生成对应的绘制位置指令;基于预设规则将所述布局树中的布局对象进行分层,生成包含设定规则的布局对象的层树;通过渲染引擎在预设的字库中为所述层树中的页面对象匹配对应的字形位图,将匹配成功的字形位图的唯一编码作为所述页面对象的实际字形标识,并根据所述实际字形标识生成对应的页面对象查询指令;根据所述层树中的页面对象属性生成对应的绘制操作指令,并将所述页面对象对应的绘制位置指令、页面对象查询指令以及绘制操作指令合成页面绘制指令。
可选的,文档节点树包括:文本类型的节点、图片类型的节点以及超链接类型的节点。
本发明实施例所提供的远程浏览装置可执行本发明任意实施例所提供的应用于远程服务器的远程浏览方法,具备执行方法相应的功能模块和有益效果。
图5为本发明实施例提供的一种远程浏览装置的结构示意图,该装置可以应用于客户端,该装置可以执行上述各实施例中涉及到的远程浏览方法。该装置可采用软件和/或硬件的方式实现,如图5所示,所述远程浏览装置具体包括:准备处理模块510、指令接收模块520、第一绘制模块530、第二绘制模块540、第三绘制模块550。
其中,准备处理模块510,用于向远程服务器发送访问请求,并加载页面绘图操作库;
指令接收模块520,用于当接收到所述访问请求对应的页面绘制指令,调用所述页面绘图操作库,其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令;
第一绘制模块530,用于基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图;
第二绘制模块540,用于基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图;
第三绘制模块550,用于基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
本发明实施例的技术方案,通过在页面绘图操作库中,基于页面绘制指令中的页面对象查询指令查询页面对象的字形位图,基于页面绘制指令中的绘制操作指令对页面对象的字形位图的属性进行调整得到目标字形位图,基于页面绘制指令中的绘制位置指令将目标字形位图放置在页面中的对应位置,得到渲染后的页面图像,解决了现有技术中无法在保证用户端本地数据安全性的情况下,快速且准确的完成网络页面数据传送的问题,实现了安全、快速且准确的网络页面数据远程浏览。
本发明实施例所提供的远程浏览装置可执行本发明任意实施例所提供的应用于客户端的远程浏览方法,具备执行方法相应的功能模块和有益效果。
图6为本发明实施例提供的一种远程浏览系统的结构示意图,该系统可以包括:远程服务器,客户端及网页服务器;
所述远程服务器用于接收客户端发送的访问请求,并将所述访问请求发送网页服务器;接收网页服务器基于所述访问地址返回的页面数据;基于设定规则及所述页面数据构建页面绘制树,并将所述页面绘制树中的页面绘制指令发送至客户端;其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令,所述页面绘制指令用于指示客户端基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图,并基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图,以及基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像;
所述客户端用于向远程服务器发送访问请求,并加载页面绘图操作库;当接收到所述访问请求对应的页面绘制指令,调用所述页面绘图操作库,其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令;基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图;基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图;基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像;
所述网页服务器用于接收远程服务器发送的访问请求,并基于所述访问地址向所述远程服务器返回页面数据。
图7为本发明实施例提供的一种电子设备的结构示意图,如图7所示,该电子设备包括处理器710、存储器720、输入装置730和输出装置740;电子设备中处理器710的数量可以是一个或多个,图7中以一个处理器710为例;电子设备中的处理器710、存储器720、输入装置730和输出装置740可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器720作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的远程浏览方法对应的程序指令/模块(例如,远程浏览装置中的访问请求模块410、内容获取模块420、指令生成模块430)。处理器710通过运行存储在存储器720中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的远程浏览方法。
或者,
存储器720作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的远程浏览方法对应的程序指令/模块(例如,远程浏览装置中的准备处理模块510、指令接收模块520、第一绘制模块530、第二绘制模块540、第三绘制模块550)。处理器710通过运行存储在存储器720中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的远程浏览方法。
存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器720可进一步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置730可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种远程浏览方法,该方法应用于远程服务器,该方法包括:
接收客户端发送的访问请求,并将所述访问请求发送至网页服务器;其中,所述访问请求中携带访问地址;
接收网页服务器基于所述访问地址返回的页面数据;
基于设定规则及所述页面数据构建页面绘制树,并将所述页面绘制树中的页面绘制指令发送至客户端;其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令,所述页面绘制指令用于指示客户端基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图,并基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图,以及基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
或者,
所述计算机可执行指令在由计算机处理器执行时用于执行一种远程浏览方法,该方法应用于客户端,该方法包括:
向远程服务器发送访问请求,并加载页面绘图操作库;
当接收到所述访问请求对应的页面绘制指令,调用所述页面绘图操作库,其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令;
基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图;
基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图;
基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的远程浏览方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述远程浏览装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种远程浏览方法,其特征在于,所述方法应用于远程服务器,所述方法包括:
接收客户端发送的访问请求,并将所述访问请求发送至网页服务器;其中,所述访问请求中携带访问地址;
接收网页服务器基于所述访问地址返回的页面数据;
基于设定规则及所述页面数据构建页面绘制树,并将所述页面绘制树中的页面绘制指令发送至客户端;其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令,所述页面绘制指令用于指示客户端基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图,并基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图,以及基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
2.根据权利要求1所述的方法,其特征在于,所述基于设定规则及所述页面数据构建页面绘制树包括:
基于文档对象模型将所述页面数据解析为文档节点树;其中,所述文档节点树中包含所述页面数据中的页面对象;
基于层叠样式表对象模型将所述页面数据解析为层叠样式节点树;其中,所述层叠样式节点树中包含所述页面数据中各页面对象属性;
依据文档节点树中与层叠样式节点树中的对应节点位置,构建包含所述页面对象及所述页面对象属性的页面绘制指令,并将各条页面绘制指令集合生成页面绘制树。
3.根据权利要求2所述的方法,其特征在于,所述依据文档节点树中与层叠样式节点树中的对应节点位置,构建包含所述页面对象及所述页面对象属性的页面绘制指令包括:
依据文档节点树中与层叠样式节点树中的对应节点位置,构建包含页面对象及所述页面对象属性的布局树;
基于布局树中各页面对象的节点位置,通过排版引擎计算出所述页面对象在页面图像中的实际绘制位置,并根据所述实际绘制位置生成对应的绘制位置指令;
基于预设规则将所述布局树中的布局对象进行分层,生成包含设定规则的布局对象的层树;
通过渲染引擎在预设的字库中为所述层树中的页面对象匹配对应的字形位图,将匹配成功的字形位图的唯一编码作为所述页面对象的实际字形标识,并根据所述实际字形标识生成对应的页面对象查询指令;
根据所述层树中的页面对象属性生成对应的绘制操作指令,并将所述页面对象对应的绘制位置指令、页面对象查询指令以及绘制操作指令合成页面绘制指令。
4.根据权利要求2所述的方法,其特征在于,所述文档节点树包括:文本类型的节点、图片类型的节点以及超链接类型的节点。
5.一种远程浏览方法,其特征在于,所述方法应用于客户端,所述方法包括:
向远程服务器发送访问请求,并加载页面绘图操作库;
当接收到所述访问请求对应的页面绘制指令,调用所述页面绘图操作库,其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令;
基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图;
基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图;
基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
6.一种远程浏览方法,其特征在于,包括:
客户端向远程服务器发送访问请求,并加载页面绘图操作库;
远程服务器接收客户端发送的访问请求,并将所述访问请求发送至网页服务器;其中,所述访问请求中携带访问地址;
网页服务器基于所述访问地址向远程服务器返回对应的页面数据;
远程服务器接收网页服务器基于所述访问地址返回的页面数据,基于设定规则及所述页面数据构建页面绘制树,并将所述页面绘制树中的页面绘制指令发送至客户端;其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令;
当客户端接收到所述访问请求对应的页面绘制指令,基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图;基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图;基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
7.一种远程浏览装置,其特征在于,所述装置应用于远程服务器,所述装置包括:
访问请求模块,用于接收客户端发送的访问请求,并将所述访问请求发送至网页服务器;其中,所述访问请求中携带访问地址;
内容获取模块,用于接收网页服务器基于所述访问地址返回的页面数据;
指令生成模块,用于基于设定规则及所述页面数据构建页面绘制树,并将所述页面绘制树中的页面绘制指令发送至客户端;其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令,所述页面绘制指令用于指示客户端基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图,并基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图,以及基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。。
8.一种远程浏览装置,其特征在于,所述装置应用于客户端,所述装置包括:
准备处理模块,用于向远程服务器发送访问请求,并加载页面绘图操作库;
指令接收模块,用于当接收到所述访问请求对应的页面绘制指令,调用所述页面绘图操作库,其中,所述页面绘制指令包括绘制位置指令、页面对象查询指令以及绘制操作指令;
第一绘制模块,用于基于所述页面对象查询指令从所述页面绘图操作库中查询页面对象的字形位图;
第二绘制模块,用于基于所述绘制操作指令对所述页面对象的字形位图的属性进行调整,得到目标字形位图;
第三绘制模块,用于基于所述绘制位置指令将所述目标字形位图放置在页面中的对应位置,得到渲染后的页面图像。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的远程浏览方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的远程浏览方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111628808.0A CN114297544A (zh) | 2021-12-28 | 2021-12-28 | 一种远程浏览方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111628808.0A CN114297544A (zh) | 2021-12-28 | 2021-12-28 | 一种远程浏览方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114297544A true CN114297544A (zh) | 2022-04-08 |
Family
ID=80970707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111628808.0A Pending CN114297544A (zh) | 2021-12-28 | 2021-12-28 | 一种远程浏览方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297544A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115514637A (zh) * | 2022-09-22 | 2022-12-23 | 中国电信股份有限公司 | 远程网关调整方法及系统 |
CN116126320A (zh) * | 2022-12-21 | 2023-05-16 | 瑞庭网络技术(上海)有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-28 CN CN202111628808.0A patent/CN114297544A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115514637A (zh) * | 2022-09-22 | 2022-12-23 | 中国电信股份有限公司 | 远程网关调整方法及系统 |
CN115514637B (zh) * | 2022-09-22 | 2024-04-30 | 中国电信股份有限公司 | 远程网关调整方法及系统 |
CN116126320A (zh) * | 2022-12-21 | 2023-05-16 | 瑞庭网络技术(上海)有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN116126320B (zh) * | 2022-12-21 | 2024-02-23 | 瑞庭网络技术(上海)有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766359B (zh) | 一种将页面内容转换为图片的方法、装置以及计算设备 | |
CN106991154B (zh) | 网页渲染方法、装置、终端及服务器 | |
EP3518124A1 (en) | Webpage rendering method and related device | |
CN103365862B (zh) | 一种用于生成与页面对应的图片的方法与设备 | |
US20210149842A1 (en) | System and method for display of document comparisons on a remote device | |
US20070299830A1 (en) | Display of search results | |
TWI592807B (zh) | Method and device for web style address merge | |
JP2000090001A (ja) | 変換設定を使用した電子デ―タの変換方法およびシステム | |
CN114297544A (zh) | 一种远程浏览方法、装置、设备及存储介质 | |
US10389792B2 (en) | Output function dividing system | |
CN113382083B (zh) | 一种网页截图方法和装置 | |
JP2007233659A (ja) | ネットワークサービスにおける情報配信システム | |
US20170168997A1 (en) | System and computer-implemented method for incorporating an image into a page of content for transmission from a web-site | |
US20120236004A1 (en) | Information output apparatus and information output method and recording medium | |
CN106874271A (zh) | 一种将pc网页转换为移动终端网页的方法及系统 | |
CN102314499A (zh) | 一种用于处理网页内容的方法与设备 | |
KR101480214B1 (ko) | Dom 변이 이벤트 기반 웹 화면 스트리밍 방법 및 시스템 | |
US9122484B2 (en) | Method and apparatus for mashing up web applications | |
CN111915705A (zh) | 图片可视化编辑方法、装置、设备和介质 | |
JP2004220260A (ja) | ウェブページ閲覧システム及び画像配信サーバ | |
JP2005517255A (ja) | 端末の多様性をうまく処理するためのスタイルシートのアップロード | |
JP2008123234A (ja) | 翻訳サーバ装置、翻訳システム、翻訳方法、翻訳プログラム | |
CN116578795A (zh) | 网页页面的生成方法及装置、存储介质、电子设备 | |
CN103227827B (zh) | 请求资源的方法和装置 | |
CN102360380A (zh) | 提供网页的方法、系统、装置及终端 |
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 |