一种渲染网页的方法、服务器和系统技术方案

技术编号:8271301 阅读:203 留言:0更新日期:2013-01-31 03:29
本发明专利技术公开了一种渲染网页的方法、服务器和系统,所述方法包括:创建多个虚拟机,虚拟机中加载渲染引擎,在虚拟机中启动多个渲染进程;通过渲染进程从保存业务下发的渲染任务的任务队列中获取渲染任务,根据渲染任务调用虚拟机中加载的渲染引擎进行网页渲染,将渲染结果存入结果队列。本发明专利技术适于计算机网络领域,能够解决对网页渲染处理速度慢,影响业务整体处理速度的问题。

【技术实现步骤摘要】
本专利技术涉及计算机网络领域,具体涉及一种渲染网页的方法、服务器和系统
技术介绍
现有技术中,渲染网页主要包括创建矢量图及位形,调整网页色彩,制作按钮、导航条及动画,利用滤镜处理图像等处理。其中涉及多种处理,处理量较大。可是,对于一些业务,会有对大量网页进而渲染操作的需要;例如,网络爬虫业务中就需要对大量网页进行渲染操作。其中,网络爬虫(又被称为网页蜘蛛,网络机器人)是一种按照一定的规则自动的抓取万维网信息的程序或者脚本。在现有技术中,越来越多的网页页面采用了异步请求数据的方式,对于这类网页,通过直接下载无法获取网页的全部内容,会遗漏一些关键链接及 信息,因此需要对网页进行渲染,从渲染结果中获得更加全面的网页信息。此外,在网页监控业务中,同样为了获得网页的全面信息,也需要对大量的网页进行渲染。对大量网页的渲染处理要求设备具有极高的处理能力,现有设备通常无法满足这种处理能力的要求,造成处理速度较慢,使得渲染网页处理成为整个业务完成的瓶颈,进而影响整个业务的处理速度。
技术实现思路
鉴于上述问题,本专利技术提供一种渲染网页的方法、服务器和系统,以解决对网页渲染处理速度慢,影响业务整体处理速度的问题。依据本专利技术的一个方面,提供了一种渲染网页的方法,所述方法包括创建多个虚拟机,虚拟机中加载渲染引擎,在虚拟机中启动多个渲染进程;通过渲染进程从保存业务下发的渲染任务的任务队列中获取渲染任务,根据渲染任务调用虚拟机中加载的渲染引擎进行网页渲染,将渲染结果存入结果队列。其中,所述虚拟机中加载渲染引擎具体包括在虚拟机中加载多种渲染引擎;所述根据渲染任务调用虚拟机中加载的渲染引擎进行网页渲染具体包括当业务指定渲染引擎时,通过渲染进程解析出渲染任务中包含的渲染引擎信息,所述渲染引擎信息中记载用于执行所述渲染任务的渲染引擎;通过渲染进程调用渲染弓I擎信息中记载的渲染引擎进行网页渲染。其中,所述虚拟机中加载渲染引擎具体包括在虚拟机中加载多种渲染引擎,所述多种渲染引擎中至少包括高效渲染引擎;所述高效渲染引擎为统计中渲染网页的效率高于平均效率的渲染引擎;所述根据渲染任务调用虚拟机中加载的渲染引擎进行网页渲染具体包括当业务没有指定渲染引擎时,通过渲染进程调用高效渲染引擎进行网页渲染。其中,所述加载的多种渲染引擎中至少包括通用渲染引擎,所述通用渲染引擎为统计中支持度超过门限值的渲染引擎;所述根据渲染任务调用虚拟机中加载的渲染引擎进行网页渲染后,所述方法还包括渲染进程在根据渲染任务调用渲染引擎进行网页渲染失败后,调用通用渲染引擎进行网页渲染。其中,所述任务队列中保存多种业务下发的渲染任务;所述渲染进程将渲染结果存入结果队列具体包括渲染进程将渲染任务的渲染结果存入下发所述渲染任务的业务对应的结果队列, 以供所述业务在后续操作中从该对应的结果队列中获取渲染结果。其中,所述业务包括网络爬虫业务和/或网站监控业务,所述渲染进程将渲染结果存入结果队列具体包括渲染进程获取渲染后的网页的文档对象模型DOM结构数据,将所述DOM结构数据存入结果队列,以供业务在后续操作中使用所述DOM结构数据。依据本专利技术的另一个方面,提供了一种渲染网页的服务器,所述服务器包括多个加载有渲染引擎的虚拟机模块;虚拟机模块中包括多个渲染进程单元;渲染进程单元,用于通过渲染进程从保存业务下发的渲染任务的任务队列中获取渲染任务,根据渲染任务调用虚拟机中加载的渲染引擎进行网页渲染,将渲染结果保存到结果队列。其中,所述虚拟机模块中加载的渲染引擎为多种;所述渲染进程单元具体用于当业务指定渲染引擎时,通过渲染进程解析出渲染任务中包含的渲染引擎信息,所述渲染引擎信息中记载用于执行所述渲染任务的渲染引擎;并调用渲染引擎信息中记载的渲染引擎进行网页渲染。其中,所述虚拟机模块中加载的渲染引擎为多种;所述多种渲染引擎中至少包括高效渲染引擎;所述高效渲染引擎为统计中渲染网页的效率高于平均效率的渲染引擎;所述渲染进程单元具体用于当业务没有指定渲染引擎时,通过渲染进程调用高效渲染引擎进行网页渲染。其中,所述虚拟机模块中加载的多种渲染引擎中至少包括通用渲染引擎,所述通用渲染引擎为统计中支持度超过门限值的渲染引擎;所述渲染进程单元还用于通过渲染进程在根据渲染任务调用渲染引擎进行网页渲染失败后,调用通用渲染引擎进行网页渲染。其中,所述任务队列中保存多种业务下发的渲染任务;所述渲染进程单元具体用于通过渲染进程将渲染任务的渲染结果存入下发所述渲染任务的业务对应的结果队列,以供所述业务在后续操作中从该对应的结果队列中获取渲染结果。其中,所述业务包括网络爬虫业务和/或网站监控业务,所述渲染进程单元具体用于通过渲染进程获取渲染后的网页的文档对象模型DOM结构数据,将所述DOM结构数据存入结果队列,以供业务在后续操作中使用所述DOM结构数据。依据本专利技术的另一个方面,提供了一种渲染网页的系统,所述系统包括如前所述的服务器,任务队列存储服务器,用于接收业务下发的渲染任务,将渲染任务存入任务队列中;结果队列存储服务器,用于保存存放渲染结果的结果队列。根据本专利技术提供的渲染网页的技术方案,其中,创建多个虚拟机,虚拟机中加载渲染引擎,在虚拟机中启动多个渲染进程;通过渲染进程从保存业务下发的渲染任务的任务·队列中获取渲染任务,根据渲染任务调用虚拟机中加载的渲染引擎进行网页渲染,将渲染结果存入结果队列。通过创建多个虚拟机可以对渲染网页进行并行处理,提高了渲染网页的处理速度。通过调用渲染引擎进行渲染,能够满足更多渲染属性,使得渲染结果中包含的信息更加全面,为业务完成提供更好的基础。由此可见,该技术方案解决了对大量网页进行渲染处理速度慢的问题,取得了提高对大量网页进行渲染的处理速度,为业务完成提供更好基础的有益效果。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图I示出了根据本专利技术一个实施例的渲染网页的方法的流程图;图2示出了根据本专利技术一个实施例中应用渲染网页的方法的系统框架示意图;图3示出了根据本专利技术一个实施例的渲染网页的方法中渲染进程进行处理的流程图;图4示出了根据本专利技术一个实施例的渲染网页的服务器的结构图;以及图5示出了根据本专利技术一个实施例的渲染网页的系统的结构图。具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。参见图1,示出了根据本专利技术一个实施例的渲染网页的方法的流程图。所述方法包括如下步骤。步骤S100,创建多个虚拟机,虚拟机中加载渲染引擎,在虚拟机中启动多个渲染进程。步骤SlOO的一种具体实现方式可以为在一个物理机器上创建多个虚拟机,在每个虚拟机中加载本文档来自技高网...

【技术保护点】
一种渲染网页的方法,所述方法包括:创建多个虚拟机,虚拟机中加载渲染引擎,在虚拟机中启动多个渲染进程;通过渲染进程从保存业务下发的渲染任务的任务队列中获取渲染任务,根据渲染任务调用虚拟机中加载的渲染引擎进行网页渲染,将渲染结果存入结果队列。

【技术特征摘要】
1.一种渲染网页的方法,所述方法包括 创建多个虚拟机,虚拟机中加载渲染弓I擎,在虚拟机中启动多个渲染进程; 通过渲染进程从保存业务下发的渲染任务的任务队列中获取渲染任务,根据渲染任务调用虚拟机中加载的渲染引擎进行网页渲染,将渲染结果存入结果队列。2.根据权利要求I所述的方法,其中, 所述虚拟机中加载渲染引擎具体包括 在虚拟机中加载多种渲染引擎; 所述根据渲染任务调用虚拟机中加载的渲染引擎进行网页渲染具体包括 当业务指定渲染引擎时,通过渲染进程解析出渲染任务中包含的渲染引擎信息,所述渲染引擎信息中记载用于执行所述渲染任务的渲染引擎; 通过渲染进程调用渲染弓I擎信息中记载的渲染引擎进行网页渲染。3.根据权利要求I所述的方法,其中, 所述虚拟机中加载渲染引擎具体包括 在虚拟机中加载多种渲染引擎,所述多种渲染引擎中至少包括高效渲染引擎; 所述高效渲染引擎为统计中渲染网页的效率高于平均效率的渲染引擎; 所述根据渲染任务调用虚拟机中加载的渲染引擎进行网页渲染具体包括 当业务没有指定渲染引擎时,通过渲染进程调用高效渲染弓I擎进行网页渲染。4.根据权利要求2或3所述的方法,其中, 所述加载的多种渲染引擎中至少包括通用渲染引擎, 所述通用渲染引擎为统计中支持度超过门限值的渲染引擎; 所述根据渲染任务调用虚拟机中加载的渲染引擎进行网页渲染后,所述方法还包括渲染进程在根据渲染任务调用渲染引擎进行网页渲染失败后,调用通用渲染引擎进行网页渲染。5.根据权利要求1、2或3所述的方法,其中, 所述任务队列中保存多种业务下发的渲染任务; 所述渲染进程将渲染结果存入结果队列具体包括 渲染进程将渲染任务的渲染结果存入下发所述渲染任务的业务对应的结果队列,以供所述业务在后续操作中从该对应的结果队列中获取渲染结果。6.根据权利要求I所述的方法,其中, 所述业务包括网络爬虫业务和/或网站监控业务, 所述渲染进程将渲染结果存入结果队列具体包括 渲染进程获取渲染后的网页的文档对象模型DOM结构数据,将所述DOM结构数据存入结果队列,以供业务在后续操作中使用所述DOM结构数据。7.—种渲染网...

【专利技术属性】
技术研发人员:徐锐波路轶
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1