CN103034535B - 用于ie浏览器的进程复用方法和ie浏览器 - Google Patents

用于ie浏览器的进程复用方法和ie浏览器 Download PDF

Info

Publication number
CN103034535B
CN103034535B CN201210530791.XA CN201210530791A CN103034535B CN 103034535 B CN103034535 B CN 103034535B CN 201210530791 A CN201210530791 A CN 201210530791A CN 103034535 B CN103034535 B CN 103034535B
Authority
CN
China
Prior art keywords
authority
browser
page
thread
webpage
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.)
Expired - Fee Related
Application number
CN201210530791.XA
Other languages
English (en)
Other versions
CN103034535A (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201210530791.XA priority Critical patent/CN103034535B/zh
Publication of CN103034535A publication Critical patent/CN103034535A/zh
Application granted granted Critical
Publication of CN103034535B publication Critical patent/CN103034535B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种用于IE浏览器的进程复用方法和IE浏览器。所述方法和浏览器要解决的技术问题是,对浏览器进程的安全权限进行管理;依据已经存在的渲染进程的权限分配渲染进程;防止跨域攻击,防止页面使用JavaScript随意访问浏览器提供的外部接口等问题。所述IE浏览器包括预设最大进程数模块;发起请求模块;判断进程数模块;查找IE进程模块;核实进程权限模块;打开网页模块;新建进程模块。

Description

用于IE浏览器的进程复用方法和IE浏览器
技术领域
本发明涉及计算机技术领域,尤其涉及一种用于IE浏览器的进程复用方法和IE浏览器。
背景技术
目前的浏览器可以实现多进程的混合模型。浏览器中的进程模型可以进行适时的变换和适配。
微软公司IE8Loosely-Coupled IE(缩写为LCIE,全称为:Loosely-CoupledInternet Explorer,松耦合互联网探测器):在最新一代浏览器IE8(InternetExplorer8,互联网探测器第8代)中,微软公司添加了被称为“Loosely-CoupledIE(LCIE)”的架构;通过Loosely-Coupled IE(LCIE)架构,IE8将主要的浏览进程与渲染进程相隔离;主要的进程处理浏览器、用户界面和框架(窗口),用于存储选项卡。在IE8中,多个选项卡是运行在相同的进程中的,不过不同安全级别的选项卡是相互分开的。
一种浏览器的进程模型是混合进程模式。此模式下,浏览器框架根据打开页面的数量智能创建进程。打开多个页面后的资源占用较少,能较好地解决网页资源泄漏的问题,在网页崩溃时也有上佳表现。此种模式下的进程管理,每n个页面使用一个进程,既节省了资源占用,又不会影响到其它进程的页面,而当某个进程中的页面全部关闭的时候,该进程退出,此时进程占用的资源将得到彻底的释放。
一种浏览器的进程模型是多进程模式:每个网页都在单独的进程中运行。打开多个页面后的资源占用较多,但能彻底解决网页资源泄漏的问题,在网页出问题的时候互不干扰。建议机器配置较高的用户使用,以便更好地发挥机器性能。
在上述浏览器中使用了浏览多个页面在同一加载IE(Trident)内核(Trident,又称为MSHTML,是Internet Explorer软件的排版引擎的名称)的进程中为不同的页面浏览分配了不同的线程。在新开页面时,搜索是否有渲染进程仍然有闲置的渲染线程,如果有则使用该进程的闲置渲染进程进行页面解析和渲染。然而,上述的浏览器进程模型中在进程复用时,对于被切换到要进行进程复用的进程还没有给出安全权限上的管理方案。
发明内容
本发明所要解决的技术问题在于提供一种方法或浏览器,其能够解决IE浏览器要进行进程复用的进程中的安全权限管理问题;
为解决上述技术问题,本发明的一方面提供一种用于IE浏览器的进程复用方法,预设IE浏览器侧的浏览器最大进程数;在IE浏览器侧发起对新网页的浏览请求;判断当前已有浏览器进程数已达到所述浏览器最大进程数;查找到所述已有浏览器进程中使用IE浏览器内核进行渲染的进程;核实所述查找到的进程的权限是否与打开所述新网页所需的权限匹配;使用权限相匹配的所述进程中的页面线程打开所述网页;如果判断当前已有浏览器进程数未达到所述浏览器最大进程数时,新建一个使用IE浏览器内核进行渲染的进程,打开所述请求的网页。
根据本发明的实施例,本方法所述预设IE浏览器侧的浏览器最大进程数步骤还可以包括:依据运行所述IE浏览器的本地计算设备的硬件资源状况设定IE浏览器侧的浏览器最大进程数;所述硬件资源状况包括,CPU性能、或显卡性能、或内存性能、或任何前述两者或三者的组合、或由任何前述两者或三者以预定规则得到的综合性能指数。
根据本发明的实施例,本方法所述使用权限相匹配的所述进程中的页面线程打开所述网页步骤,还可以包括:选择在所述进程中的空闲的页面线程打开所述网页;若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数小于所述进程最大容许线程数,则在所述进程中新建页面线程打开所述网页;若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数达到所述进程最大容许线程数,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页。
根据本发明的实施例,本方法所述使用权限相匹配的所述进程中的页面线程打开所述网页步骤,还可以包括:若所述进程中不存在空闲的页面线程,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页。
根据本发明的实施例,本方法所述核实所述查找到的进程的权限是否与打开所述新网页所需的权限匹配步骤,还可以包括对以下任一或任何其中若干权限的组合进行核实:后台运行权限;访问书签权限;访问收藏夹权限;访问上下文菜单权限;访问cookie权限;访问geolocation接口权限;访问历史记录权限;访问标签页权限;无限Web存储能力权限。
根据本发明的实施例,本方法所述所述核实所述查找到的进程的权限是否与打开所述新网页所需的权限匹配步骤,还可以包括枚举所述查找到的进程的权限,并逐一与打开所述网页所需的权限相比较。
本发明的一方面提供一种IE浏览器,包括:预设最大进程数模块,用于预设IE浏览器侧的浏览器最大进程数;发起请求模块,用于在IE浏览器侧发起对新网页的浏览请求;判断进程数模块,用于判断当前已有浏览器进程数已达到所述浏览器最大进程数;查找IE进程模块,用于查找到所述已有浏览器进程中使用IE浏览器内核进行渲染的进程;核实进程权限模块,用于核实所述查找到的进程的权限是否与打开所述新网页所需的权限匹配;打开网页模块,用于使用权限相匹配的所述进程中的页面线程打开所述网页;新建进程模块,用于如果判断当前已有浏览器进程数未达到所述浏览器最大进程数时,新建一个使用IE浏览器内核进行渲染的进程,打开所述请求的网页。
根据本发明的实施例,本浏览器所述预设最大进程数模块,还可以用于,依据运行所述IE浏览器的本地计算设备的硬件资源状况设定IE浏览器侧的浏览器最大进程数;所述硬件资源状况包括,CPU性能、或显卡性能、或内存性能、或任何前述两者或三者的组合、或由任何前述两者或三者以预定规则得到的综合性能指数。
根据本发明的实施例,本浏览器所述打开网页模块,还可以用于:选择在所述进程中的空闲的页面线程打开所述网页;若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数小于所述进程最大容许线程数,则在所述进程中新建页面线程打开所述网页;若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数达到所述进程最大容许线程数,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页。
根据本发明的实施例,本浏览器所述打开网页模块,还可以用于:若所述进程中不存在空闲的页面线程,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页。
根据本发明的实施例,本浏览器所述核实进程权限模块,还可以用于,对以下任一或任何其中若干权限的组合进行核实:后台运行权限;访问书签权限;访问收藏夹权限;访问上下文菜单权限;访问cookie权限;访问geolocation接口权限;访问历史记录权限;访问标签页权限;无限Web存储能力权限。
根据本发明的实施例,本浏览器所述核实进程权限模块,还可以用于,枚举所述查找到的进程的权限,并逐一与打开所述网页所需的权限相比较。
本发明的方案中能够解决IE浏览器要进行进程复用的进程中的安全权限管理问题,能够保证在IE浏览器中进行进程复用时将被打开的网页所需要的权限和进程的权限进行匹配后,使用权限相匹配的进程中的页面线程打开所述网页,这样保证复用进程中的权限安全性,实现依据已经存在的渲染进程的权限分配渲染进程来打开网页。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例所述的一种用于IE浏览器的进程复用方法流程图;
图2示出了根据本发明一个实施例所述一种IE内核浏览器系统框图的系统框图;
图3示出了根据本发明实施例的一种用于IE浏览器的进程复用方法中的进程及线程结构图;
图4示出了图3中进程310的线程构成的IE渲染线程池310C结构图;
图5示出了根据本发明实施例所述的一种用于IE浏览器的进程复用方法的一个实施例流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,为根据本发明实施例所述的一种用于IE浏览器的进程复用方法流程图,包括以下步骤:
步骤101,预设IE浏览器侧的浏览器最大进程数;
例如,依据用户的选择预设IE浏览器测的最大进程数为10个;
优选的,所述预设IE浏览器侧的浏览器最大进程数步骤包括:依据运行所述IE浏览器的本地计算设备的硬件资源状况设定IE浏览器侧的浏览器最大进程数;所述硬件资源状况包括,CPU性能、或显卡性能、或内存性能、或任何前述两者或三者的组合、或由任何前述两者或三者以预定规则得到的综合性能指数。
例如,侦测到运行浏览器的计算机性能状况为CPU:Intel Core i7,主频2.8GHz显卡性能:NVIDIA GeForce GTX 680M SLI核心频率720MHz内存:4GB,依据此计算机的性能,确定浏览器最大进程数为10个。
步骤102,在IE浏览器侧发起对新网页的浏览请求。
例如,当用户在一个用IE浏览器打开的页面中,点击一个地址链接http://hao.360.cn/,本方法向所述IE浏览器发起针对该地址的网页的浏览请求。
步骤103,判断当前已有浏览器进程数已达到所述浏览器最大进程数;优选的,还包括:如果判断当前已有浏览器进程数未达到所述浏览器最大进程数时,新建一个使用IE浏览器内核进行渲染的进程,打开所述请求的网页。
例如:浏览器最大进程数为10,如果当前浏览器已有进程为10,则进行步骤104及104以后的步骤;如果当前浏览器的已有进程为6,小于浏览器最大进程数10,则新建一个使用IE浏览器内核进行渲染的进程,打开http://hao.360.cn/。
步骤104,查找到所述已有浏览器进程中使用IE浏览器内核进行渲染的进程;
例如:浏览器最大进程数为10,当前浏览器已有10个进程,本方法查找到其中7个进程使用IE浏览器内核进行渲染。
步骤105,核实所述查找到的进程的权限是否与打开所述新网页所需的权限匹配;优选的,包括枚举所述查找到的进程的权限,并逐一与打开所述网页所需的权限相比较。优选的,包括对以下任一或任何其中若干权限的组合进行核实:后台运行权限;访问书签权限;访问收藏夹权限;访问上下文菜单权限;访问cookie权限;访问geolocation接口权限;访问历史记录权限;访问标签页权限;无限Web存储能力权限。
例如:打开所述http://hao.360.cn/需要后台运行权限、访问历史记录权限,对已找到的7个使用IE浏览器内核进的进程进行逐一枚举,其中A进程、B进程都有后台运行权限、访问历史记录权限。
步骤106,使用权限相匹配的所述进程中的页面线程打开所述网页。
优选的,包括:选择在所述进程中的空闲的页面线程打开所述网页;若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数小于所述进程最大容许线程数,则在所述进程中新建页面线程打开所述网页;若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数达到所述进程最大容许线程数,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页。
例如:依据上例,使用7个使用IE浏览器内核进的进程中A进程打开所述网页。
若所述A进程已有5个页面线程,其中1个页面线程处于空闲状态,则用所述页面线程打开所述http://hao.360.cn/网页。
若所述A进程已有5个页面线程,都不处于空闲状态,则比较已有页面线程数和A进程允许的最大线程数,A进程允许的最大线程数为7个,已有页面线程数5小于允许的最大进程数7,则新建一个页面线程打开所述http://hao.360.cn/网页。
若所述A进程已有7个页面线程,都不处于空闲状态,则比较已有页面线程数和A进程允许的最大线程数,A进程允许的最大线程数为7个,已有页面线程数7已达到允许的最大进程数7,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程(例如,进程B)打开所述http://hao.360.cn/网页。
另一种优选方案是:若所述进程中不存在空闲的页面线程,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页。
例如:若所述A进程已有5个页面线程,都不处于空闲状态,则不比较已有页面线程数5和A进程允许的最大线程数7,直接则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程(例如,进程B)打开所述http://hao.360.cn/网页。
如图2所示,为根据本发明实施例所述的一种进程复用的IE内核浏览器系统框图,包括以下模块:
预设最大进程数模块201:用于预设IE浏览器侧的浏览器最大进程数;优选的,预设最大进程数模块201用于依据运行所述IE浏览器的本地计算设备的硬件资源状况设定IE浏览器侧的浏览器最大进程数;所述硬件资源状况包括,CPU性能、或显卡性能、或内存性能、或任何前述两者或三者的组合、或由任何前述两者或三者以预定规则得到的综合性能指数。
发起请求模块202:用于在IE浏览器侧发起对新网页的浏览请求;
判断进程数模块203:用于判断当前已有浏览器进程数已达到所述浏览器最大进程数;
查找IE进程模块204:用于查找到所述已有浏览器进程中使用IE浏览器内核进行渲染的进程;
核实进程权限模块205:用于核实所述查找到的进程的权限是否与打开所述新网页所需的权限匹配;优选的,核实进程权限模块205包括用于枚举所述查找到的进程的权限,并逐一与打开所述网页所需的权限相比较。优选的,核实进程权限模块205包括用于对以下任一或任何其中若干权限的组合进行核实:后台运行权限;访问书签权限;访问收藏夹权限;访问上下文菜单权限;访问cookie权限;访问geolocation接口权限;访问历史记录权限;访问标签页权限;无限Web存储能力权限。
打开网页模块206:用于使用权限相匹配的所述进程中的页面线程打开所述网页。
优选的,打开网页模块206用于:选择在所述进程中的空闲的页面线程打开所述网页;若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数小于所述进程最大容许线程数,则在所述进程中新建页面线程打开所述网页;若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数达到所述进程最大容许线程数,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页。
优选的,打开网页模块206还可用于:若所述进程中不存在空闲的页面线程,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页。
优选的,所述浏览器还包括:
新建进程模块207:用于如果判断当前已有浏览器进程数未达到所述浏览器最大进程数时,新建一个使用IE浏览器内核进行渲染的进程,打开所述请求的网页。
如图3,为根据本发明实施例的一种用于IE浏览器的进程复用方法中的进程及线程结构图。如图所示,主进程300包括进程310、进程320、进程330、进程340、直至进程n350,共n个进程;进程310包括线程311、线程312、线程313;进程320包括线程321、线程322、线程323。
如图4,为如图3中进程310的线程构成的IE渲染线程池310C结构图。如图所示IE渲染线程池310C包括线程311、线程312、线程313,以及后续在应用本发明方法中新建的线程314、线程315。
依据本发明方法,预设IE浏览器侧的浏览器最大进程数为n;在IE浏览器侧发起对新网页http://hao.360.cn/的浏览请求;判断当前已有浏览器进程数n已达到所述浏览器最大进程数n;查找到所述已有浏览器进程中使用IE浏览器内核进行渲染的进程为进程310、进程320;核实所述查找到的进程的310权限与打开所述新网页http://hao.360.cn/所需的权限匹配;使用权限相匹配的所述进程310中的页面线程打开所述网页的具体步骤如下:
选择在所述进程中的空闲的页面线程打开所述网页,枚举IE渲染线程池中的线程,循环渲染任务队列,选一个空闲的满足安全权限的渲染线程。
例如,如果进程310中的线程311处于空闲状态,则用线程311打开所述网页。
若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数小于所述进程最大容许线程数,则在所述进程中新建页面线程打开所述网页;
例如:如果进程310中的3个线程都不处于空闲状态,且页面线程数3小于进程310最大容许线程数5,则在进程310中新建页面线程314打开所述网页。
若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数达到所述进程最大容许线程数,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页;
例如:如果进程310中的3个线程311、线程312、线程313都不处于空闲状态,并且已经新建了两个线程即线程314、线程315也都不处于空闲状态,此时页面线程数5等于进程310最大容许线程数5,则通知主进程300查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页;
另一种优选方案是:若所述进程中不存在空闲的页面线程,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页。
例如:如果进程310中的3个线程都不处于空闲状态,不判断进程310已有线程数与进程310最大容许线程数的大小,直接通知主进程300查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页。
如图5:为根据本发明实施例所述的一种用于IE浏览器的进程复用方法的一个实施例流程图,包括以下步骤:
步骤501:浏览器启动建立主进程和页面进程(渲染进程);此步骤为一般情况下浏览器工作的状态,也是以下步骤复用页面进程之前的状态和基础;
步骤502:预设IE浏览器侧的浏览器最大进程数;一般,依据运行浏览器的计算机的硬件情况预设所述最大进程数;
步骤503:判断当前已有浏览器进程数是否已达到所述浏览器最大进程数;如果所述已有进程数已达到所述最大进程数,执行步骤504;若否,执行步骤510;
步骤504:枚举使用Trident(IE)内核的渲染进程;所谓枚举,即逐个查找,当找到一个使用Trident内核的渲染进程,执行后续步骤505;
步骤505:判断是否枚举完所有使用Trident内核的渲染进程;如果枚举完所有使用Trident内核的渲染进程,则执行步骤510;若否,则执行步骤506;
步骤506:核实该进程的权限;即核实找到的使用Trident内核的渲染进程的权限;
步骤507:核实该进程的权限是否与打开所述新网页所需的权限匹配;若不匹配,则转步骤504枚举另一个使用Trident内核的渲染进程;若匹配,则执行步骤508;
步骤508:核实该进程的线程数是否已经达到最大容许线程数;若是;则转步骤504枚举另一个使用Trident内核的渲染进程;若否,执行步骤509;
步骤509:通知找到的进程,发起新的页面浏览过程;即用经过前述步骤508查找到的符合要求的进程打开页面;
步骤510:新建一个使用Trident内核的渲染进程并发起浏览网页过程。依据前述步骤,在两种情况下执行步骤510,一,在判断当前浏览器进程数尚未达到浏览器最大进程数时,执行步骤510;二,在所有使用Trident内核的渲染进程枚举完毕,但未找到可用进程时,执行步骤510。
本发明的实施例的方案中能够解决IE浏览器要进行进程复用的进程中的安全权限管理问题,能够保证在IE浏览器中进行进程复用时将被打开的网页所需要的权限和进程的权限进行匹配后,使用权限相匹配的进程中的页面线程打开所述网页,这样保证复用进程中的权限安全性,实现依据已经存在的渲染进程的权限分配渲染进程来打开网页。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的图2设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (8)

1.一种用于IE浏览器的进程复用方法,包括:
预设IE浏览器侧的浏览器最大进程数;
在IE浏览器侧发起对新网页的浏览请求;
判断当前已有浏览器进程数已达到所述浏览器最大进程数;
查找到所述已有浏览器进程中使用IE浏览器内核进行渲染的进程;
核实所述查找到的进程的权限是否与打开所述新网页所需的权限匹配;
使用权限相匹配的所述进程中的页面线程打开所述网页,包括:选择在所述进程中的空闲的页面线程打开所述网页;若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数小于所述进程最大容许线程数,则在所述进程中新建页面线程打开所述网页;若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数达到所述进程最大容许线程数,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页;
如果判断当前已有浏览器进程数未达到所述浏览器最大进程数时,新建一个使用IE浏览器内核进行渲染的进程,打开所述请求的网页;
使用权限相匹配的所述进程中的页面线程打开所述网页,进一步包括:枚举IE渲染线程池中的线程,循环渲染任务队列,选一个空闲的满足安全权限的渲染线程。
2.如权利要求1所述方法,其特征在于,所述预设IE浏览器侧的浏览器最大进程数步骤包括:依据运行所述IE浏览器的本地计算设备的硬件资源状况设定IE浏览器侧的浏览器最大进程数;
所述硬件资源状况包括,CPU性能、或显卡性能、或内存性能、或任何前述两者或三者的组合、或由任何前述两者或三者以预定规则得到的综合性能指数。
3.如权利要求1所述方法,其特征在于,所述核实所述查找到的进程的权限是否与打开所述新网页所需的权限匹配步骤,包括对以下任一或任何其中若干权限的组合进行核实:
后台运行权限;
访问书签权限;
访问收藏夹权限;
访问上下文菜单权限;
访问cookie权限;
访问geolocation接口权限;
访问历史记录权限;
访问标签页权限;
无限Web存储能力权限。
4.如权利要求1所述方法,其特征在于,所述核实所述查找到的进程的权限是否与打开所述新网页所需的权限匹配步骤,包括枚举所述查找到的进程的权限,并逐一与打开所述网页所需的权限相比较。
5.一种用于IE浏览器的进程复用装置,包括:
预设最大进程数模块,用于预设IE浏览器侧的浏览器最大进程数;
发起请求模块,用于在IE浏览器侧发起对新网页的浏览请求;
判断进程数模块,用于判断当前已有浏览器进程数已达到所述浏览器最大进程数;
查找IE进程模块,用于查找到所述已有浏览器进程中使用IE浏览器内核进行渲染的进程;
核实进程权限模块,用于核实所述查找到的进程的权限是否与打开所述新网页所需的权限匹配;
打开网页模块,用于使用权限相匹配的所述进程中的页面线程打开所述网页,具体用于:选择在所述进程中的空闲的页面线程打开所述网页;若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数小于所述进程最大容许线程数,则在所述进程中新建页面线程打开所述网页;若所述进程中不存在空闲的页面线程,且所述进程中的页面线程数达到所述进程最大容许线程数,则通知主进程查找其他已有进程,确定另一个权限上与打开所述网页所需权限相匹配的已有进程打开所述网页;
新建进程模块,用于如果判断当前已有浏览器进程数未达到所述浏览器最大进程数时,新建一个使用IE浏览器内核进行渲染的进程,打开所述请求的网页;
使用权限相匹配的所述进程中的页面线程打开所述网页,进一步包括:枚举IE渲染线程池中的线程,循环渲染任务队列,选一个空闲的满足安全权限的渲染线程。
6.如权利要求5所述装置,其特征在于,所述预设最大进程数模块用于,依据运行所述IE浏览器的本地计算设备的硬件资源状况设定IE浏览器侧的浏览器最大进程数;
所述硬件资源状况包括,CPU性能、或显卡性能、或内存性能、或任何前述两者或三者的组合、或由任何前述两者或三者以预定规则得到的综合性能指数。
7.如权利要求5所述装置,其特征在于,所述核实进程权限模块用于,
对以下任一或任何其中若干权限的组合进行核实:
后台运行权限;
访问书签权限;
访问收藏夹权限;
访问上下文菜单权限;
访问cookie权限;
访问geolocation接口权限;
访问历史记录权限;
访问标签页权限;
无限Web存储能力权限。
8.如权利要求5所述装置,其特征在于,所述核实进程权限模块用于,
枚举所述查找到的进程的权限,并逐一与打开所述网页所需的权限相比较。
CN201210530791.XA 2012-12-10 2012-12-10 用于ie浏览器的进程复用方法和ie浏览器 Expired - Fee Related CN103034535B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210530791.XA CN103034535B (zh) 2012-12-10 2012-12-10 用于ie浏览器的进程复用方法和ie浏览器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210530791.XA CN103034535B (zh) 2012-12-10 2012-12-10 用于ie浏览器的进程复用方法和ie浏览器

Publications (2)

Publication Number Publication Date
CN103034535A CN103034535A (zh) 2013-04-10
CN103034535B true CN103034535B (zh) 2016-09-28

Family

ID=48021458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210530791.XA Expired - Fee Related CN103034535B (zh) 2012-12-10 2012-12-10 用于ie浏览器的进程复用方法和ie浏览器

Country Status (1)

Country Link
CN (1) CN103034535B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092524A (zh) * 2017-05-11 2017-08-25 北京奇虎科技有限公司 进程启动的方法、装置以及终端设备
CN108427883B (zh) * 2018-03-16 2021-09-24 北京奇虎科技有限公司 网页挖矿脚本的检测方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385594B (zh) * 2010-08-31 2015-09-30 腾讯科技(深圳)有限公司 多核浏览器的内核控制方法和装置
CN102467565B (zh) * 2010-11-19 2016-05-11 北京奇虎科技有限公司 一种浏览器内核切换的方法
CN102663318B (zh) * 2012-03-22 2015-04-08 百度在线网络技术(北京)有限公司 一种浏览器进程权限的控制方法
CN102662837B (zh) * 2012-03-29 2015-04-29 北京奇虎科技有限公司 一种浏览器的测试方法和系统
CN103034532B (zh) * 2012-12-10 2016-09-28 北京奇虎科技有限公司 一种ie浏览器中实现进程复用的方法及浏览器

Also Published As

Publication number Publication date
CN103034535A (zh) 2013-04-10

Similar Documents

Publication Publication Date Title
EP3234798B1 (en) System on a chip comprising multiple compute sub-systems
CN103970520B (zh) MapReduce架构中的资源管理方法、装置和架构系统
US10410003B2 (en) Multiple containers assigned to an application
US7685376B2 (en) Method to support heterogeneous memories
EP3234797B1 (en) System on a chip comprising reconfigurable resources for multiple compute sub-systems
CN106528210B (zh) 一种应用程序的运行方法及装置
US10586076B2 (en) System and method for controlling access to OS resources
CN106980492A (zh) 用于确定处理器核上的工作布置的系统、方法和设备
CN109213697A (zh) 智能存储器数据存储或加载方法和装置
CN107622211A (zh) 一种大数据集群权限访问控制方法及装置
US20220229900A1 (en) Security system and method
US11775632B2 (en) Credential manager integration
CN103034532B (zh) 一种ie浏览器中实现进程复用的方法及浏览器
CN102981903B (zh) 一种多核浏览器中进程复用的方法及其多核浏览器
US8560782B2 (en) Method and apparatus for determining access permissions in a partitioned data processing system
CN103034535B (zh) 用于ie浏览器的进程复用方法和ie浏览器
US20160239445A1 (en) System on a chip comprising an i/o steering engine
US20150160973A1 (en) Domain based resource isolation in multi-core systems
CN109558241A (zh) 一种获取自旋锁的方法及装置
US9038075B2 (en) Batch execution of system calls in an operating system
US20200272582A1 (en) Data cache segregation for spectre mitigation
CN105243134B (zh) 一种处理被劫持浏览器的方法及设备
CN118200054B (zh) 一种安全检测方法、装置、存储介质及电子设备
CN107944297B (zh) 一种访问文件的控制方法及装置
CN104539614B (zh) 一种网站检测并发数控制的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220728

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160928

CF01 Termination of patent right due to non-payment of annual fee