CN103019846B - For process multiplexing method and the multinuclear browser of multinuclear browser - Google Patents

For process multiplexing method and the multinuclear browser of multinuclear browser Download PDF

Info

Publication number
CN103019846B
CN103019846B CN201210530802.4A CN201210530802A CN103019846B CN 103019846 B CN103019846 B CN 103019846B CN 201210530802 A CN201210530802 A CN 201210530802A CN 103019846 B CN103019846 B CN 103019846B
Authority
CN
China
Prior art keywords
authority
browser
webpage
thread
kernel
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.)
Active
Application number
CN201210530802.4A
Other languages
Chinese (zh)
Other versions
CN103019846A (en
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 CN201210530802.4A priority Critical patent/CN103019846B/en
Publication of CN103019846A publication Critical patent/CN103019846A/en
Application granted granted Critical
Publication of CN103019846B publication Critical patent/CN103019846B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

The invention discloses a kind of process multiplexing method for multinuclear browser and multinuclear browser. The present invention relates to field of computer technology, the multinuclear browser that the method that the process that relates in particular to is multiplexing and process are multiplexing. The problem to be solved in the present invention is, plays up process according to the right assignment of the process of playing up having existed, and can directly use in Chrome model simultaneously. Described multinuclear browser comprises: default maximum process digital-to-analogue piece; Kernel determination module; Judgement process digital-to-analogue piece; Lookup process module; Verification process authority module; Open Web page module; Newly-built process module.

Description

For process multiplexing method and the multinuclear browser of multinuclear browser
Technical field
The present invention relates to field of computer technology, relate in particular to a kind of multiple in the process for multinuclear browserWith method and multinuclear browser.
Background technology
Modern browser can not discharge and safety after long-time use well in order to solve browser resourceProperty problem, great majority have all used multi-process model. But user's computer hardware resource is limited,In order to allow browser can have the body that surfs the web preferably to test under the configuration of different user computer hardware,So need the quantity of the process that limiting browser opens, prevent thrashing in similar operations systemPhenomenon occur. This has just produced the multiplexing model of browser process.
The Chrome(full name of for example Google: GoogleChrome is developed by Google aWeb browsing instrument) browser, Window on the World browser etc. be all to have used multi-process model. Exist simultaneouslyMixed model for user in the time that browser is browsed the Web page, distributes (playing up) process of specifically working orThread.
In realizing, the Chrome of Google browser uses multi-process model. This model produces clear at browserWhen the device support of looking at expansion decompress(ion), installation, use the independently progress of work; Need wash with watercolours at browser browsing pageWhile dying, according to the page need security permission used independently play up process carry out content of pages parsing andPlay up; In the time expanding and expand required plug-in component operation, for the expansion and the plug-in unit that need different rights useIndependently expansion or plug-in unit process; Browser is also for the internal pages of browser prompts information has been distributed differenceProcess.
Because primary of Google's Chrome browser supports that Webkit(WebKit is apple MacOSXThe title of system engine framework version, is mainly used in Safari, Dashboard, Mail and some otherMacOSX program kernel), so browse and do not support Webkit to need in other words IE (Trident) user(IE:InternetExplorer, internet survey meter; Trident, is called again MSHTML, is InternetThe title of the typesetting engine of Explorer) when the page rendering of interior nuclear properties, user just can not use GoogleChrome browser is browsed. Now the multiplexing model of the process of Google is also no longer applicable. Exist on the other handSecure Model Design (being mainly sandbox design) in the Chrome of Google self is pacified with the system that IE kernel needsMay there is conflict in full powers limits, may cause directly using the multiplexing model of process of Chrome can not be fineGround, or even can not normally represent the Web page.
But for the multiplexing scheme also not solving at present of the process under many kernel browsers.
Summary of the invention
Technical problem to be solved by this invention is, provides a kind of multiple in the process for multinuclear browserBy the scheme of method and multinuclear browser.
For solving the problems of the technologies described above, an aspect of of the present present invention, provides a kind of entering for multinuclear browserJourney multiplexing method, comprising: the maximum process number of preset browsing device side; Initiate webpage in browser sideBrowse request, determines that in described multiple browser kernels an adaptation plays up first of this requested webpage and browseDevice kernel; Judge that current existing process number has reached described maximum process number; Find described existing processThe process that middle use the first browser kernel is played up; Whether the authority of the process finding described in examiningThe authority required with opening described webpage is consistent; Page thread in the consistent described process of rights of usingOpen described webpage; If judged when current existing process number does not reach the maximum process of described browser side and counts,The process of newly-built use first browser kernel, opens described webpage.
According to embodiments of the invention, described in described multiple browser kernels determine an adaptation play up thisThe first browser kernel of requested webpage can also comprise: based on the network address URL of requested webpage, and inquiryMapping table between network address and the browser renders kernel of browser side; From described multiple browser kernelsIn determine that the browser kernel suitable with the network address of requested webpage carries out playing up of described webpage.
According to embodiments of the invention, the maximum process of the browser of described preset browsing device side is counted step and also canTo comprise, set browser side according to the hardware resource situation of the local computing device that moves described browserThe maximum process number of browser;
According to embodiments of the invention, described hardware resource situation can also comprise: cpu performance or aobviousCard performance or internal memory performance or any aforementioned both or three's combination or by any aforementioned both orThe combination property index that three obtains with pre-defined rule.
According to embodiments of the invention, described in examine the process finding authority whether with open described netThe required consistent step of authority of page can also comprise: enumerate respectively in each described existing process, use first clearThe process that the device kernel of looking at is played up, when the authority of the described process of being enumerated is with to open described webpage requiredAuthority when consistent, use the page thread in described process to open described webpage.
According to embodiments of the invention, described in examine the process finding authority whether with open described netThe required consistent step of authority of page can also comprise, to following arbitrary authority or any wherein some authoritiesCombination is examined: running background authority; Access bookmarks authority; Access chrome: //favicon authority;Access context menu authority; Access cookie authority; Access chrome.experimental.* interface authority;Access geolocation interface authority; Access history records authority; Access chrome.idle module providesInterface authority; The interface authority that access chrome.management module provides; Access HTML5Notifications interface is supported authority; Access tag page authority; Unlimited Web storage capacity authority.
According to embodiments of the invention, the page thread in the consistent described process of described rights of using is beatenOpening described webpage step can also comprise: if described the first browser kernel be Chrome browser inCore, enters the browse request of webpage in the each thread in the thread pool of the consistent process of described rights of usingRow is queued up, wait for that one by one the thread that transfers idle condition to by busy state in described thread pool opens described inWebpage.
According to embodiments of the invention, the page thread in the consistent described process of described rights of using is beatenOpening described webpage step can also comprise: if described the first browser kernel be Chrome browser inCore, the each thread in the thread pool of the consistent process of described rights of using is all in the time of busy state,Notice browser host process is searched other existing browser process, determine another browser kernel type andThe existing process that authority is consistent with opening the required browser kernel type of described new web page and authority, opensDescribed webpage.
According to embodiments of the invention, the page thread in the consistent described process of described rights of using is beatenOpening described webpage step can also comprise: if described the first browser kernel is IE kernel, and described processIn each thread all in busy state, newly-built thread in described process, opens described webpage, andAfter opening described webpage, described new thread destroys again described this newly-built thread in the time being closed.
According to embodiments of the invention, described in examine the process finding authority whether with open described netThe required consistent step of authority of page can further include: examine the browser process being searchedIn each thread all in busy state; Other that find described in the host process stoning in fact of notice browserIn the consistent and described process of whether required with the opening described webpage authority of the authority of process, have in idle shapeThe thread of state, so that at consistent other of the authority of the browser process authority required with opening described webpageIn browser process, open described webpage.
According to a further aspect in the invention, a kind of multinuclear browser, comprising: default maximum process digital-to-analogue piece:For the maximum process number of preset browsing device side; Kernel determination module: for initiating net in browser sideThe browse request of page, in described multiple browser kernels, a definite adaptation is played up first of this requested webpageBrowser kernel; Judgement process digital-to-analogue piece: for judging that current existing process number has reached described maximum and enteredNumber of passes; Lookup process module: use the first browser kernel to carry out for finding described existing processThe process of playing up; Verification process authority module: for the authority of the process that finds described in examining whether withOpen the required authority of described webpage consistent; Open Web page module: for rights of using consistent described inPage thread in process is opened described webpage; Newly-built process module: if for judge current have intoNumber of passes does not reach the maximum process of described browser side while counting, and newly-built one uses entering of the first browser kernelJourney, opens described webpage.
According to embodiments of the invention, described kernel determination module can also be used for: based on requested netThe network address URL of page, the mapping table of inquiry between network address and the browser renders kernel of browser side; From instituteIn multiple browser kernels of stating, determine that the browser kernel suitable with the network address of requested webpage carries outPlaying up of described webpage.
According to embodiments of the invention, described default maximum process digital-to-analogue piece can also be used for, according to operationThe hardware resource situation of the local computing device of described browser is set the maximum process of browser of browser sideNumber;
According to embodiments of the invention, described hardware resource situation can comprise: cpu performance or video cardPerformance or internal memory performance or any aforementioned both or three's combination or by any aforementioned both or threeThe combination property index that person obtains with pre-defined rule.
According to embodiments of the invention, described verification process authority module can also be used for, and enumerates respectively eachThe process that uses the first browser kernel to play up in described existing process, when the described process of being enumeratedThe authority authority required with opening described webpage when consistent, use the page thread in described process to openDescribed webpage.
According to embodiments of the invention, described verification process authority module can also be used for, to arbitrary belowThe combination of authority or any wherein some authorities is examined: running background authority; Access bookmarks authority;Access chrome: //favicon authority; Access context menu authority; Access cookie authority; AccessChrome.experimental.* interface authority; Access geolocation interface authority; Access history record powerLimit; The interface authority that access chrome.idle module provides; Access chrome.management module is carriedThe interface authority of confession; Access HTML5notifications interface is supported authority; Access tag page authority;Unlimited Web storage capacity authority.
According to embodiments of the invention, described in open Web page module and can also be used for, if described first clearThe device kernel of looking at is the kernel of Chrome browser, in the thread pool of the consistent process of described rights of usingEach thread in the browse request of webpage is ranked, wait for one by one in described thread pool by busy shapeState transfers the thread of idle condition to and opens described webpage.
According to embodiments of the invention, described in open Web page module and can also be used for, if described first clearThe device kernel of looking at is the kernel of Chrome browser, in the thread pool of the consistent process of described rights of usingEach thread all in the time of busy state, notify browser host process to search other existing browser process,Determine another browser kernel type and authority and open the required browser kernel type of described new web page andThe existing process that authority is consistent, opens described webpage.
According to embodiments of the invention, described in open Web page module and can also be used for, if described first clearThe device kernel of looking at is IE kernel, and each thread in described process is all in busy state, in described processNewly-built thread, opens described webpage, and in the time being closed, sails again after described new thread is opened described webpageRuin described this newly-built thread.
According to embodiments of the invention, described verification process authority module can also be used for: examine and looked intoEach thread in the browser process finding is all in busy state; The host process stoning of notice browserWhether required with the opening described webpage authority of the authority of other processes that find described in reality consistent and described inIn process, have the thread in idle condition, so as the authority of browser process with open described webpage instituteIn consistent other browser process of authority that need, open described webpage.
According to the embodiment of the present invention, play up this request by a definite adaptation in the kernel of multinuclear browserThe browser kernel of webpage; Judge that current existing process number has reached described maximum process number; Just can be trueSurely carry out the multiplexing of process, and to find in described existing process be described definite adaptive browserThe process of kernel, whether the authority of the process finding described in examining required authority with opening described webpageUnanimously; Page thread in the consistent described process of rights of using is opened described webpage. So just canEnsure the security in multiplexing of the process of multinuclear browser, make it in multiplexing process for the webpage being openedIn all examined its webpage authority and process authority while opening, and realized for many kernels clearThe process of looking in device situation multiplexing.
Brief description of the drawings
In order to be illustrated more clearly in the technical scheme of the embodiment of the present invention, institute in describing embodiment belowNeed the accompanying drawing using to be briefly described, apparently, the accompanying drawing in the following describes is only thisSome bright embodiment, for those of ordinary skill in the art, do not pay creative work beforePut, can also obtain according to these accompanying drawings other accompanying drawing.
Fig. 1 shows according to the multiplexing side of a kind of process for multinuclear browser described in the embodiment of the present inventionMethod flow chart;
Fig. 2 shows according to a kind of multinuclear browser structure block diagram described in the embodiment of the present invention;
Fig. 3 shows according to the multiplexing method of implementation process in a kind of multinuclear browser of the embodiment of the present inventionIn process and thread structure figure;
What Fig. 4 showed that the thread of process 310 in Fig. 3 forms plays up thread pool 310C structure chart;
Fig. 5 shows according to the multiplexing side of a kind of process for multinuclear browser described in the embodiment of the present inventionAn embodiment flow chart of method.
Detailed description of the invention
Exemplary embodiment of the present disclosure is described below with reference to accompanying drawings in more detail. Although show in accompanying drawingExemplary embodiment of the present disclosure, but should be appreciated that and can realize the disclosure and not with various formsThe embodiment that should be set forth here limits. On the contrary, providing these embodiment is for can be more thoroughlyUnderstand the disclosure, and can be by the those skilled in the art that conveys to complete the scope of the present disclosure.
As shown in Figure 1, for multiple according to a kind of process for multinuclear browser described in the embodiment of the present inventionWith method flow diagram, comprise the following steps:
Step 101: the maximum process number of preset browsing device side;
For example example 1, the maximum process number of surveying according to user's selection preset browsing device is 10;
Preferably, step 101 can also comprise hard according to the local computing device of the described browser of operationPart resource situation is set the maximum process number of browser of browser side; Preferably, hardware described in step 101Resource situation comprises: cpu performance or video card capabilities or internal memory performance or any aforementioned both or threePerson's combination or the combination property index being obtained with pre-defined rule by any aforementioned both or three.
For example example 2, the computing power situation that detects running browser is CPU:IntelCorei7,Dominant frequency 2.8GHz video card capabilities: NVIDIAGeForceGTX680MSLI core frequency 720MHzInternal memory: 4GB, according to the performance of this computer, determines that the maximum process number of browser is 10.
Step 102: initiate the browse request to webpage in browser side, in described multiple browser kernelsDetermine that an adaptation plays up the first browser kernel of this requested webpage;
For example continuous previous example 1, when user is in a page of playing up with IE kernel, clicks an addressLink hao.360.cn, this method determines that IE kernel is the first browser kernel of adaptive this web-page requests.
Preferably, step 102 can also comprise, based on the network address URL of requested webpage, inquires about clearThe mapping table of looking between network address and the browser renders kernel of device side; True from described multiple browser kernelsThe suitable browser kernel of network address fixed and requested webpage carries out playing up of described webpage.
For example continuous previous example 2, browser side collected a large number of users for particular web site to specific clearThe dependence situation information of looking at device kernel, with the mapping table of its formation network address and browser renders kernel, in table" www.gmail.com " shines upon mutually with " chrome browser kernel ", when user clicks a network addressWhen www.gmail.com, this method determines that chrome browser kernel is first of adaptive this web-page requestsBrowser kernel.
Step 103: judge that current existing process number has reached described maximum process number; Preferably, step103 also comprise, if judged when current existing process number does not reach the maximum process of described browser side and counts, newBuild a process that uses the first browser kernel, open described webpage.
For example continuous previous example 2: the maximum process number of browser is 10, if the existing process of current browser is10, carry out step 104 and later step thereof; For example example 3: if the existing process of current browserBe 6, be less than the maximum process number 10 of browser, for network address www.gmail.com, newly-built useThe process of playing up of chrome browser kernel, opens www.gmail.com.
Step 104: find the process that uses the first browser kernel to play up in described existing process;
For example continuous previous example 2: the maximum process number of browser is 10, and current browser has 10 processes,It is that the first browser kernel carries out wash with watercolours that this method finds wherein 7 processes use chrome browser kernelsDye.
Step 105: whether the authority of the process finding described in examining required authority with opening described webpageUnanimously;
Preferably, step 105 can also comprise: enumerate respectively in each described existing process, use first clearThe process that the device kernel of looking at is played up, when the authority of the described process of being enumerated is with to open described webpage requiredAuthority when consistent, use the page thread in described process to open described webpage.
Preferably, step 105 can also comprise: to following arbitrary authority or any wherein some authoritiesCombination is examined: running background authority; Access bookmarks authority; Access chrome: //favicon authority;Access context menu authority; Access cookie authority; Access chrome.experimental.* interface authority;Access geolocation interface authority; Access history records authority; Access chrome.idle module providesInterface authority; The interface authority that access chrome.management module provides; Access HTML5Notifications interface is supported authority; Access tag page authority; Unlimited Web storage capacity authority.
For example continuous previous example 2: opening described www.gmail.com needs running background authority, access cookieAuthority, enumerates one by one to found 7 processes that use chrome browser kernel to enter, whereinProcess A, process B have running background authority, access cookie authority.
Preferably, step 105 can also comprise: examine each in the browser process being searchedThread is all in busy state; Other processes that find described in the host process stoning in fact of notice browserIn the consistent and described process of whether required with the opening described webpage authority of authority, there is the line in idle conditionJourney, so that at other consistent browsers of the authority of the browser process authority required with opening described webpageIn process, open described webpage.
For example front and continued example 2: if all threads of process B are in busy state, notify the master of browserWhether the authority of other processes that find described in process stoning is real required authority one with opening described webpageCause and described process in have the thread in idle condition, for example process A.
Step 106: the page thread in the consistent described process of rights of using is opened described webpage.
For example continuous previous example 2, opens described webpage with the page thread in process A.
Preferably, step 106 can also comprise, browses if described the first browser kernel is ChromeThe kernel of device, browsing webpage in the each thread in the thread pool of the consistent process of described rights of usingRequest is ranked, and waits for that one by one the thread that transfers idle condition to by busy state in described thread pool is beatenOpen described webpage.
For example continuous previous example 2, if there are 3 page threads in process A, will be to described www.gmail.comBrowse request and browse request after it queue up, treat one in 3 page threads in process AThe individual idle condition that enters, responds the browsing page request in described queue with this idle thread.
Preferably, step 106 can also comprise: browse if described the first browser kernel is ChromeThe kernel of device, the each thread in the thread pool of the consistent process of described rights of using is all in busy stateTime, notify browser host process to search other existing browser process, determine another browser kernelType and authority with open the required browser kernel type of described new web page and authority consistent have intoJourney, opens described webpage.
For example continuous previous example 2, if there are 3 page threads in process A, and just all locates busy state,Notify browser host process to search other existing browser process, determine another browser kernel typeAnd the authority existing process (example consistent with opening the required browser kernel type of described new web page and authorityAs, process B), open described www.gmail.com webpage.
Preferably, step 106 can also comprise: if described the first browser kernel is IE kernel, and instituteState each thread in process all in busy state, newly-built thread in described process, opens described netPage, and after described new thread is opened described webpage, in the time being closed, destroy again described this newly-built thread.
For example continuous previous example 1, described in determining and opening as the first browser with IE browser kernelHao.360.cn/ webpage, this method finds process C and uses i.e. the first browser kernel of IE browser kernelPlay up, the each thread in process C is all in busy state, newly-built page in process CThread, opens hao.360.cn/ webpage, after described hao.360.cn webpage is closed, destroys described newly-builtThread.
As shown in Figure 2, for according to a kind of multinuclear browser 200 structured flowcharts described in the embodiment of the present invention,Comprise with lower module:
Default maximum process digital-to-analogue piece 201: for the maximum process number of preset browsing device side; Preferably, pre-If maximum process digital-to-analogue piece 201 can also be used for, the local computing device of the described browser of foundation operationHardware resource situation is set the maximum process number of browser of browser side; Preferably, described hardware resource shapeCondition comprises: cpu performance or video card capabilities or internal memory performance or any aforementioned both or three's groupThe combination property index that closes or obtained with pre-defined rule by any aforementioned both or three.
Kernel determination module 202: for initiating the browse request to webpage in browser side, described multipleIn browser kernel, a definite adaptation is played up the first browser kernel of this requested webpage; Preferably, kernelDetermination module 202 can also be used for, and based on the network address URL of requested webpage, inquiry is in browser sideMapping table between network address and browser renders kernel; From described multiple browser kernels, determine and askedThe suitable browser kernel of network address of the webpage of asking carries out playing up of described webpage.
Judgement process digital-to-analogue piece 203: for judging that current existing process number has reached described maximum process number;
Lookup process module 204: use the first browser kernel to carry out for finding described existing processThe process of playing up;
Verification process authority module 205: for the authority of the process that finds described in examining whether with open instituteState the required authority of webpage consistent;
Preferably, verification process authority module 205 can also be used for: enumerate respectively each described existing processThe process that middle use the first browser kernel is played up, when the authority of the described process of being enumerated with openWhen the required authority of described webpage is consistent, use the page thread in described process to open described webpage.
Preferably, verification process authority module 205 can also be used for: to following arbitrary authority or any itsIn the combination of some authorities examine: running background authority; Access bookmarks authority; AccessChrome: //favicon authority; Access context menu authority; Access cookie authority; AccessChrome.experimental.* interface authority; Access geolocation interface authority; Access history record powerLimit; The interface authority that access chrome.idle module provides; Access chrome.management module is carriedThe interface authority of confession; Access HTML5notifications interface is supported authority; Access tag page authority;Unlimited Web storage capacity authority.
Preferably, verification process authority module 205 can also be used for: examine browsing of being searchedEach thread in device process is all in busy state; Described in the host process stoning in fact of notice browser, findThe consistent and described process of whether required with the opening described webpage authority of the authority of other processes in have inThe thread of idle condition, so that consistent in the authority of the browser process authority required with opening described webpageOther browser process in open described webpage.
Open Web page module 206: the page thread for the consistent described process of rights of using is opened instituteState webpage.
Preferably, opening Web page module 206 can also be used for: if described the first browser kernel isThe kernel of Chrome browser, in the each thread in the thread pool of the consistent process of described rights of usingBrowse request to webpage is ranked, and waits for one by one transferring the free time to by busy state in described thread poolThe thread of state is opened described webpage.
Preferably, opening Web page module 206 can also be used for: if described the first browser kernel isThe kernel of Chrome browser, the each thread in the thread pool of the consistent process of described rights of using allIn the time of busy state, notify browser host process to search other existing browser process, determine anotherIndividual browser kernel type and authority with open the required browser kernel type of described new web page and authority mutuallyThe existing process causing, opens described webpage.
Preferably, opening Web page module 206 can also be used for: if described the first browser kernel is IEKernel, and each thread in described process is all in busy state, and newly-built thread in described process, beatsOpen described webpage, and described in destroying, this is newly-built again in the time being closed after described new thread is opened described webpageThread.
Preferably, this browser can also comprise newly-built process module: if for judge current have intoNumber of passes does not reach the maximum process of described browser side while counting, and newly-built one uses entering of the first browser kernelJourney, opens described webpage.
As Fig. 3, for according in the multiplexing method of implementation process in a kind of multinuclear browser of the embodiment of the present inventionProcess and thread structure figure. As shown in the figure, host process 300 comprises process 310, process 320, process330; Process 310 comprises thread 311, thread 312, thread 313; Process 320 comprise thread 321,Thread 322, thread 323.
As Fig. 4, play up thread pool 310C structure chart for what thread as process in Fig. 3 310 formed. AsShown in figure, play up thread pool 310C and comprise thread 311, thread 312, thread 313, and follow-up answeringNewly-built thread 314 during by following proposal 3.
According to this method, the maximum process number of preset browsing device side is 3; Initiate webpage in browser sideThe browse request of www.gmail.com is determined in chrome browser in described multiple browser kernelsCore is the first browser kernel that adaptation is played up this requested webpage www.gmail.com; Judge current existingProcess number 3 has reached described maximum process number 3; The process 310 in described existing process that finds is usedThe process that chrome browser kernel is played up; The authority of the process 310 finding described in examining with beatOpen the required authority of described webpage consistent; Page thread in the consistent described process 310 of rights of usingThe concrete steps of opening described webpage are as follows:
Open described webpage with the page thread in process 310. Can select following proposal:
Scheme 1: if the kernel that described the first browser kernel is Chrome browser, in the described right to useLimit in the each thread in the thread pool of consistent process the browse request of webpage is ranked, one by one etc.Treat that the thread that transfers idle condition to by busy state in described thread pool opens described webpage.
For example in process 310, there are 3 page threads 311 ~ 313, clear by described www.gmail.comLook at request and the queuing of browse request at it after, if now thread 311 enters idle condition, with thisIdle thread 311 responds the browsing page request in described queue.
Scheme 2: the each thread in the thread pool of the consistent process of described rights of using is all in busy shapeWhen state, notify browser host process to search other existing browser process, determine in another browserCore type and authority with open the required browser kernel type of described new web page and authority consistent have intoJourney, opens described webpage.
For example in process 310, there are 3 page threads 311 ~ 313, and just all locate busy state, notify clearThe device host process 300 of looking at is searched other existing browser process, determines another browser kernel type and power(for example, limit the existing process consistent with opening the required browser kernel type of described new web page and authorityProcess 320), open described www.gmail.com webpage.
Another kind of situation is, if described the first browser kernel is Trident (IE) kernel, described in findingThere is the process that in process, process 310 is used Trident (IE) kernel to play up; Can select to adopt such scheme2 open webpage, but can not adopt such scheme 1 to open webpage, and can select to adopt following proposal 3 to openWebpage:
Scheme 3: if described the first browser kernel is IE kernel, and each thread in described process is all locatedIn busy state, newly-built thread in described process, opens described webpage, and beats in described new threadAfter opening described webpage, in the time being closed, destroy again described this newly-built thread.
Each thread 311 ~ 313 of for example process 310 is in busy state, newly-built line in process 310Journey 314, opens described www.gmail.com webpage, and after described www.gmail.com is closed,Destroy described newly-built thread 314.
Another kind of situation is, no matter described the first browser kernel why type, described in examine and findWhether required with the opening described webpage consistent step of authority of authority of process, further comprise: examineTo the each thread in the browser process being searched all in busy state; The master of notice browser entersWhether required with opening described webpage the authority of other processes that journey finds described in going to examine authority be consistentAnd in described process, have the thread in idle condition, so as the authority of browser process with open described inIn consistent other browser process of the required authority of webpage, open described webpage.
For example, verification process 310, process 320 are all the first browser kernel, 310 authority with openThe requested permissions of webpage www.gmail.com is consistent, and each thread of further examining process 310 is all locatedIn busy state; Notice browser host process 300 is gone the authority of verification process 320 and opens webpageWhether www.gmail.com requested permissions available free thread whether in consistent and process 320, if so,Use process 320 is opened described www.gmail.com webpage.
As Fig. 5: for according to a kind of process multiplexing method for multinuclear browser as described in the embodiment of the present inventionAn embodiment flow chart, comprise the following steps:
Step 501: judge that according to the switcher data of subscriber's local and back-end data user browses described netThe kernel type of page; Switcher is according to by analyzing after a large amount of user feedback, record for someSpecific website or webpage, due to the html code of the page or rely on special plug-in unit (or control) and need to makeCould normal show or the data of normal work with Trident kernel, for example the payment when net purchase of certain websiteThe page can successfully must adopt Trident kernel browser. If must use Trident kernel, carrying outAfter step 502, execution step 523 ~ step 530; If must use Webkit kernel, in execution stepAfter 502, execution step 503 ~ step 510;
Step 502: judge the maximum process number of suitable browser according to user's hardware system;
Step 503: according to abovementioned steps, if judgement must be used Webkit kernel, start to perform step 503 ~Step 510. Judge whether current existing browser process number has reached the maximum process number of described browser; AsThe described existing process number of fruit has reached described maximum process number, execution step 504; If not, execution step510;
Step 504: enumerate the process of playing up that uses Webkit kernel; What is called is enumerated, searches one by one,When the process of playing up that finds to use Webkit kernel, carry out subsequent step 505;
Step 505: the process of playing up that judges whether to have enumerated all use Webkit kernels; If enumeratedThe process of playing up of complete all use Webkit kernels, performs step 510; If not, perform step 506;
Step 506: the authority of examining this process; Examine the use Webkit kernel that finds play up intoThe authority of journey;
Step 507: whether the authority of examining this process required permission match with opening described new web page; IfDo not mate, go to step 504 processes of playing up of enumerating another and use Webkit kernel; If coupling,Execution step 508;
Step 508: whether the Thread Count of examining this process has reached maximum allowed line number of passes; If; ?Go to step 504 processes of playing up of enumerating another and use Webkit kernel; If not, execution step 509;
Step 509: the process that notice finds, initiate new page browsing process; By process abovementioned stepsThe 508 satisfactory processes that find are opened the page;
Step 510: newly-built one uses the process of playing up of Webkit kernel and initiates browsing page process.According to abovementioned steps, perform step in both cases 510, one, in step 503, judge current browsingDevice process number not yet reaches the maximum process of browser while counting, execution step 510; Two, in step 505,The process of playing up that judges all uses Webkit kernels is enumerated complete, but while not finding available process, carries outStep 510.
Step 523 ~ step 530: in step 501, if according to the switcher data of subscriber's local andBack-end data judges that the kernel type that user browses described webpage is Trident (IE) kernel, in execution stepAfter 502, execution step 523 ~ step 530. Step 523 ~ step 530 and abovementioned steps 503 ~ step 510Corresponding, difference is that the process to adopting Trident (IE) kernel is carried out corresponding steps.
The algorithm providing at this and demonstration are solid with any certain computer, virtual system or miscellaneous equipmentHave relevant. Various general-purpose systems also can with based on using together with this teaching. According to description above,It is apparent constructing the desired structure of this type systematic. In addition, the present invention is not also for any specificProgramming language. It should be understood that and can utilize various programming languages to realize content of the present invention described here,And the description of above language-specific being done is in order to disclose preferred forms of the present invention.
In the description that provided herein, a large amount of details are described. But, can understand, thisBright embodiment can put into practice in the situation that there is no these details. In some instances, not detailedKnown method, structure and technology are carefully shown, so that not fuzzy understanding of this description.
Similarly, should be appreciated that for simplify the disclosure and help to understand in each inventive aspect one orMultiple, in the above in the description of exemplary embodiment of the present invention, each feature of the present invention sometimes byBe grouped into together single embodiment, figure or in its description. But, should be by the disclosureMethod is construed to the following intention of reflection: the present invention for required protection requires than in each claimThe more feature of feature of clearly recording. Or rather, as below claims reflectedLike that, inventive aspect is to be less than all features of disclosed single embodiment above. Therefore, follow toolClaims of body embodiment are incorporated to this detailed description of the invention thus clearly, and wherein each right is wantedAsk itself all as independent embodiment of the present invention.
Those skilled in the art are appreciated that and can carry out certainly the module in the equipment in embodimentChange adaptively and they are arranged in one or more equipment different from this embodiment. CanModule in embodiment or unit or assembly are combined into a module or unit or assembly, and in addition canTo put them into multiple submodules or subelement or sub-component. Except such feature and/or process orAt least some in unit are, outside mutually repelling, can adopt any combination (to comprise companion to this descriptionWith claim, summary and accompanying drawing) in disclosed all features and so disclosed any method orAll processes or the unit of person's equipment combine. Unless clearly statement in addition, this description (comprises companionWith claim, summary and accompanying drawing) in disclosed each feature can be by providing identical, being equal to or phaseAlternative features like object replaces.
In addition, although those skilled in the art will appreciate that embodiment more described herein comprise otherIncluded some feature instead of further feature in embodiment, but the combination of the feature of different embodimentMean within scope of the present invention and form different embodiment. For example, right belowIn claim, the one of any of embodiment required for protection can be used with combination arbitrarily.
All parts embodiment of the present invention can realize with hardware, or with at one or more processorThe software module of upper operation realizes, or realizes with their combination. Those skilled in the art should manageSeparate, can use in practice microprocessor or digital signal processor (DSP) to realize according to thisThe some or all functions of the some or all parts in Fig. 2 equipment of inventive embodiments. The present inventionCan also be embodied as part or all equipment or the device for carrying out method as described hereinProgram (for example, computer program and computer program). Like this realize program of the present invention canTo be stored on computer-readable medium, or can there is the form of one or more signal. Like thisSignal can download and obtain from internet website, or provide on carrier signal, or with anyOther forms provide.
It should be noted above-described embodiment the present invention will be described instead of limit the invention,And those skilled in the art can design and replace in fact in the case of not departing from the scope of claimsExecute example. In the claims, any reference symbol between bracket should be configured to right to wantThe restriction of asking. Word " comprises " not to be got rid of existence and is not listed as element or step in the claims. Be positioned atWord " one " before element or " one " do not get rid of and have multiple such elements. The present invention canBy means of including the hardware of some different elements and realizing by means of the computer of suitably programming. ?Enumerated in the unit claim of some devices, several in these devices can be by sameHardware branch carrys out imbody. The use of word first, second and C grade does not represent any order.Can be title by these word explanations.

Claims (18)

1. for a process multiplexing method for multinuclear browser, comprising:
The maximum process number of preset browsing device side;
Initiate the browse request to webpage in browser side, in described multiple browser kernels, determine that one is suitableJoin the first browser kernel of playing up this requested webpage;
Judge that current existing process number has reached described maximum process number;
Find the process that uses the first browser kernel to play up in described existing process;
Whether required with opening described webpage the authority of the process finding described in examining authority be consistent, itsFurther comprise: examine each thread in the browser process being searched all in busy state;In other processes that find described in the host process stoning in fact of notice browser, whether there is authority and open instituteState the consistent process of the required authority of webpage, and in described process, have the thread in idle condition, so thatIn other browser process consistent in the authority of the browser process authority required with opening described webpage, beatOpen described webpage;
Page thread in the consistent described process of rights of using is opened described webpage;
If judge when current existing process number does not reach the maximum process of described browser side and counts newly-built oneUse the process of the first browser kernel, open described webpage.
2. method as claimed in claim 1, is characterized in that, described in described multiple browser kernelsDetermine that an adaptation plays up the first browser kernel of this requested webpage and comprise:
Based on the network address URL of requested webpage, inquiry is in the network address and browser renders of browser sideMapping table between core;
From described multiple browser kernels, determine the browser suitable with the network address of requested webpageKernel carries out playing up of described webpage.
3. method as claimed in claim 1, is characterized in that, the browser of described preset browsing device sideLarge process is counted step, sets clear according to the hardware resource situation of the local computing device that moves described browserLook at the maximum process number of browser of device side.
4. method as claimed in claim 3, is characterized in that, described hardware resource situation comprises: CPUPerformance or video card capabilities or internal memory performance or any aforementioned both or three's combination or by anyThe combination property index that aforementioned both or three obtain with pre-defined rule.
5. method as claimed in claim 1, is characterized in that, described in examine the authority of the process findingThe authority consistent step required with opening described webpage, comprising: enumerate respectively each described existing processThe process that middle use the first browser kernel is played up, when the authority of the described process of being enumerated with openWhen the required authority of described webpage is consistent, use the page thread in described process to open described webpage.
6. method as claimed in claim 1, is characterized in that, described in examine the authority of the process findingThe authority consistent step required with opening described webpage, comprises following arbitrary authority or wherein anyThe combination of some authorities is examined:
Running background authority;
Access bookmarks authority;
Access chrome: //favicon authority;
Access context menu authority;
Access cookie authority;
Access chrome.experimental.* interface authority;
Access geolocation interface authority;
Access history records authority;
The interface authority that access chrome.idle module provides;
The interface authority that access chrome.management module provides;
Access HTML5notifications interface is supported authority;
Access tag page authority;
Unlimited Web storage capacity authority.
7. method as claimed in claim 1, is characterized in that, described rights of using consistent described in enterPage thread in journey is opened described webpage step, comprising:
If described the first browser kernel is the kernel of Chrome browser, in described rights of using phase oneIn each thread in the thread pool of the process causing, the browse request of webpage is ranked, described in waiting for one by oneThe thread that transfers idle condition to by busy state in thread pool is opened described webpage.
8. method as claimed in claim 1, is characterized in that, described rights of using consistent described in enterPage thread in journey is opened described webpage step, comprising:
If described the first browser kernel is the kernel of Chrome browser, in described rights of using phase oneEach thread in the thread pool of the process causing all, in the time of busy state, notifies browser host process to searchOther existing browser process, determine another browser kernel type and authority and open described webpage instituteNeed the consistent existing process of browser kernel type and authority, open described webpage.
9. method as claimed in claim 1, is characterized in that, described rights of using consistent described in enterPage thread in journey is opened described webpage step, comprising:
If described the first browser kernel is IE kernel, and each thread in described process is all in busyState, newly-built thread in described process, opens described webpage, and described in described new thread opensAfter webpage, in the time being closed, destroy again described this newly-built thread.
10. a multinuclear browser, comprising:
Default maximum process digital-to-analogue piece, for the maximum process number of preset browsing device side;
Kernel determination module, for initiating the browse request to webpage in browser side, described multiple clearLook at and determine that an adaptation plays up the first browser kernel of this requested webpage in device kernel;
Judgement process digital-to-analogue piece, for judging that current existing process number has reached described maximum process number;
Lookup process module, is used the first browser kernel to carry out wash with watercolours for finding described existing processThe process of dying;
Verification process authority module, for the authority of the process that finds described in examining whether with open described inThe required authority of webpage is consistent; Described verification process authority module is further used for: examine and be searchedA browser process in each thread all in busy state; The real institute of host process stoning of notice browserState and in other processes that find, whether there is authority authority consistent enter required with opening described webpageJourney, and have the thread in idle condition in described process, so as the authority of browser process with openIn consistent other browser process of the required authority of described webpage, open described webpage;
Open Web page module, described in opening for the page thread of the consistent described process of rights of usingWebpage;
Newly-built process module, if for judging that current existing process number does not reach described browser side maximumWhen process is counted, the process of newly-built use first browser kernel, opens described webpage.
11. browsers as claimed in claim 10, is characterized in that, described kernel determination module is used for:
Based on the network address URL of requested webpage, inquiry is in the network address and browser renders of browser sideMapping table between core;
From described multiple browser kernels, determine the browser suitable with the network address of requested webpageKernel carries out playing up of described webpage.
12. browsers as claimed in claim 10, is characterized in that described default maximum process digital-to-analogue pieceBe used for, the hardware resource situation setting browser side of the local computing device of the described browser of foundation operationThe maximum process number of browser.
13. browsers as claimed in claim 12, is characterized in that, described hardware resource situation comprises:Cpu performance or video card capabilities or internal memory performance or any aforementioned both or three's combination or byThe combination property index that any aforementioned both or three obtain with pre-defined rule.
14. browsers as claimed in claim 10, is characterized in that, described verification process authority module is usedIn, enumerate respectively the process that uses the first browser kernel to play up in each described existing process, work as quiltWhen the authority of the described process of the enumerating authority required with opening described webpage is consistent, use in described processPage thread open described webpage.
15. browsers as claimed in claim 10, is characterized in that, described verification process authority module is usedIn, the combination of following arbitrary authority or any wherein some authorities is examined:
Running background authority;
Access bookmarks authority;
Access chrome: //favicon authority;
Access context menu authority;
Access cookie authority;
Access chrome.experimental.* interface authority;
Access geolocation interface authority;
Access history records authority;
The interface authority that access chrome.idle module provides;
The interface authority that access chrome.management module provides;
Access HTML5notifications interface is supported authority;
Access tag page authority;
Unlimited Web storage capacity authority.
16. browsers as claimed in claim 10, is characterized in that, described in open Web page module for,
If described the first browser kernel is the kernel of Chrome browser, in described rights of using phase oneIn each thread in the thread pool of the process causing, the browse request of webpage is ranked, described in waiting for one by oneThe thread that transfers idle condition to by busy state in thread pool is opened described webpage.
17. browsers as claimed in claim 10, is characterized in that, described in open Web page module for,
If described the first browser kernel is the kernel of Chrome browser, in described rights of using phase oneEach thread in the thread pool of the process causing all, in the time of busy state, notifies browser host process to searchOther existing browser process, determine another browser kernel type and authority and open described webpage instituteNeed the consistent existing process of browser kernel type and authority, open described webpage.
18. browsers as claimed in claim 10, is characterized in that, described in open Web page module for,
If described the first browser kernel is IE kernel, and each thread in described process is all in busyState, newly-built thread in described process, opens described webpage, and described in described new thread opensAfter webpage, in the time being closed, destroy again described this newly-built thread.
CN201210530802.4A 2012-12-10 2012-12-10 For process multiplexing method and the multinuclear browser of multinuclear browser Active CN103019846B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210530802.4A CN103019846B (en) 2012-12-10 2012-12-10 For process multiplexing method and the multinuclear browser of multinuclear browser

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210530802.4A CN103019846B (en) 2012-12-10 2012-12-10 For process multiplexing method and the multinuclear browser of multinuclear browser

Publications (2)

Publication Number Publication Date
CN103019846A CN103019846A (en) 2013-04-03
CN103019846B true CN103019846B (en) 2016-05-04

Family

ID=47968477

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210530802.4A Active CN103019846B (en) 2012-12-10 2012-12-10 For process multiplexing method and the multinuclear browser of multinuclear browser

Country Status (1)

Country Link
CN (1) CN103019846B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870600B (en) * 2014-04-02 2017-07-28 中国银行股份有限公司 A kind of tables of data backup method and device based on Oracle databases
CN103970599B (en) * 2014-05-29 2017-11-14 中国银行股份有限公司 A kind of data processing method and device based on multi-course concurrency
CN110442400B (en) * 2019-08-15 2023-04-18 网易(杭州)网络有限公司 Browser control method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385594A (en) * 2010-08-31 2012-03-21 腾讯科技(深圳)有限公司 Method and device for controlling inner cores of multi-core browser
CN102467565A (en) * 2010-11-19 2012-05-23 奇智软件(北京)有限公司 Browser kernel switching method
CN102662837A (en) * 2012-03-29 2012-09-12 奇智软件(北京)有限公司 Testing method and system of browser

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385594A (en) * 2010-08-31 2012-03-21 腾讯科技(深圳)有限公司 Method and device for controlling inner cores of multi-core browser
CN102467565A (en) * 2010-11-19 2012-05-23 奇智软件(北京)有限公司 Browser kernel switching method
CN102662837A (en) * 2012-03-29 2012-09-12 奇智软件(北京)有限公司 Testing method and system of browser

Also Published As

Publication number Publication date
CN103019846A (en) 2013-04-03

Similar Documents

Publication Publication Date Title
US10642904B2 (en) Infrastructure enabling intelligent execution and crawling of a web application
US9317392B2 (en) Methods and automated systems for testing, optimization, and analysis that preserve continuity in identities and status of users who access remote information from different contexts
US20130080611A1 (en) Managing Network Content
US8230046B2 (en) Setting cookies in conjunction with phased delivery of structured documents
CN110688554B (en) Indexing data for native applications
US9547721B2 (en) Native application search results
US20120054440A1 (en) Systems and methods for providing a hierarchy of cache layers of different types for intext advertising
US8359317B2 (en) Method and device for indexing resource content in computer networks
CN103036871B (en) Support device and method of application plug-in of browser
CN102981903B (en) A kind of method that in multi-core browser, process is multiplexing and multi-core browser thereof
CN107408065B (en) Monitoring application loading
WO2009045741A1 (en) System and method for history clustering
US20090089311A1 (en) System and method for inclusion of history in a search results page
US9826017B1 (en) Securely serving results of dynamic user-provided code over the web
EP3745292A1 (en) Hidden link detection method and apparatus for website
CN103019846B (en) For process multiplexing method and the multinuclear browser of multinuclear browser
US11307911B2 (en) File upload modifications for client side applications
US20090089267A1 (en) System and method for editing history in a search results page
CN107851114B (en) Method, system, and medium for automatic information retrieval
ElAraby et al. Elastic web crawler service-oriented architecture over cloud computing
WO2017172373A1 (en) Search navigation element
JP5753302B1 (en) Program, method and system for warning access to web page
KR101681851B1 (en) A web browser operation method and system
US20140082483A1 (en) Method and system for restoring closed webpages
US20190370350A1 (en) Dynamic Configurability of Web Pages

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: 20220727

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