CN103064750B - A kind of interruption restoration methods of browser control part and system - Google Patents
A kind of interruption restoration methods of browser control part and system Download PDFInfo
- Publication number
- CN103064750B CN103064750B CN201210572070.5A CN201210572070A CN103064750B CN 103064750 B CN103064750 B CN 103064750B CN 201210572070 A CN201210572070 A CN 201210572070A CN 103064750 B CN103064750 B CN 103064750B
- Authority
- CN
- China
- Prior art keywords
- moving object
- thread
- detached process
- page
- create
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0796—Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种浏览器控件的中断恢复方法及系统,涉及网络通信领域。所述方法包括:截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,代理对象在页面进程中运行;在独立于浏览器页面进程的独立进程中,创建实际要创建的活动对象,活动对象在独立进程中运行;代理对象通过与独立进程和/或其活动对象通信判断活动对象是否中断,如果是,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。所述方法及系统,能够及时发现活动对象的中断,并在发现活动对象中断后重新创建活动对象,从而缩短了活动对象中断后的恢复时间,提高了用户的使用效率。
The invention discloses a browser control interrupt recovery method and system, and relates to the field of network communication. The method includes: intercepting the process of creating an active object by the page process of the browser, creating a proxy object to replace the actual active object to be created, and the proxy object runs in the page process; in an independent process independent of the browser page process, creating the actual The active object to be created, the active object runs in an independent process; the proxy object judges whether the active object is interrupted by communicating with the independent process and/or its active object, if so, the proxy object sends activation information to the independent process, and restarts in the independent process Create an activity object. The method and system can detect the interruption of the active object in time, and recreate the active object after the interruption of the active object is found, thereby shortening the recovery time after the interruption of the active object and improving the use efficiency of the user.
Description
技术领域technical field
本发明涉及网络通信技术领域,特别涉及一种浏览器控件的中断恢复方法及系统。The invention relates to the technical field of network communication, in particular to a browser control interruption recovery method and system.
背景技术Background technique
ActiveX控件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。ActiveX控件技术是国际上通用的基于Windows平台的软件技术,除了在线杀毒控件之外,许多软件均采用此种方式开发,例如Flash动画播放控件、MicrosoftMediaPlayer控件、CNNIC通用网址控件、网络实名控件等。ActiveX controls, also known as OLE controls or OCX controls, are some software components or objects that can be inserted into WEB pages or other applications. ActiveX control technology is an internationally common software technology based on Windows platform. In addition to the online antivirus control, many software are developed in this way, such as Flash animation playback control, MicrosoftMediaPlayer control, CNNIC general URL control, network real name control, etc.
ActiveX控件需要嵌入到网页中,控件和页面会在同一个进程下运行。因此,当ActiveX控件出现崩溃后,会导致整个网页退出,正在书写的邮件博客等工作会丢失,影响了页面操作的稳定性。同时,现有的崩溃恢复机制是强制重新启动一个页面进程,这种恢复机制往往需要花费较多的时间,影响用户的使用效率。ActiveX controls need to be embedded in web pages, and the controls and pages will run under the same process. Therefore, when the ActiveX control crashes, it will cause the entire web page to exit, and the work such as the email blog that is being written will be lost, which affects the stability of the page operation. At the same time, the existing crash recovery mechanism is to forcibly restart a page process. This recovery mechanism often takes a lot of time and affects the user's use efficiency.
发明内容Contents of the invention
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种浏览器控件的中断恢复方法及系统。In view of the above problems, the present invention is proposed to provide a browser control interruption recovery method and system that overcome the above problems or at least partially solve the above problems.
依据本发明的一个方面,提供了一种浏览器控件的中断恢复方法,其包括步骤:According to one aspect of the present invention, a kind of interrupt recovery method of browser control is provided, and it comprises steps:
截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行;Intercepting the process of creating an active object by the browser's page process, creating a proxy object to replace the actual active object to be created, and the proxy object runs in the page process;
在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行;In an independent process independent of the browser page process, create the active object to be actually created, and the active object runs in the independent process;
代理对象通过与独立进程和/或其活动对象通信判断活动对象是否中断,如果是,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。The proxy object judges whether the active object is interrupted by communicating with the independent process and/or its active object, and if so, the proxy object sends activation information to the independent process, and recreates the active object in the independent process.
可选地,所述代理对象通过与独立进程和/或其活动对象通信判断活动对象是否中断,如果是,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象的步骤,具体包括:Optionally, the proxy object judges whether the active object is interrupted by communicating with the independent process and/or its active object, if so, the proxy object sends activation information to the independent process, and the step of recreating the active object in the independent process specifically includes :
代理对象通过与独立进程和/或其活动对象通信判断活动对象是否卡死和/或独立进程是否崩溃;The proxy object judges whether the active object is stuck and/or whether the independent process crashes by communicating with the independent process and/or its active object;
如果活动对象卡死,则代理对象停止与所述活动对象的通信并向独立进程发送激活信息,在独立进程中重新创建活动对象,If the active object is stuck, the proxy object stops communicating with the active object and sends activation information to the independent process, and recreates the active object in the independent process,
如果独立进程崩溃,则创建新的独立进程,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。If the independent process crashes, a new independent process is created, the proxy object sends activation information to the independent process, and the active object is recreated in the independent process.
可选地,所述代理对象通过与独立进程和/或其活动对象通信判断活动对象是否卡死和/或独立进程是否崩溃的步骤,具体包括:Optionally, the proxy object communicates with the independent process and/or its active object to determine whether the active object is stuck and/or whether the independent process crashes, specifically including:
代理对象定期询问独立进程和/或其活动对象的运行状态信息,并根据所述运行状态信息判断活动对象是否卡死和/或独立进程是否崩溃。The proxy object periodically inquires about the running state information of the independent process and/or its active object, and judges whether the active object is stuck and/or whether the independent process crashes according to the running state information.
可选地,所述代理对象定期询问独立进程和/或其活动对象的运行状态信息,并根据所述运行状态信息判断活动对象是否卡死和/或独立进程是否崩溃的步骤中,Optionally, the proxy object periodically inquires about the running state information of the independent process and/or its active object, and in the step of judging whether the active object is stuck and/or whether the independent process crashes according to the running state information,
如果根据所述运行状态信息发现以下至少一项:活动对象所在线程的消息循环不活动,活动对象的窗口挂起,活动对象线程的一直忙,则判定活动对象卡死;If at least one of the following is found according to the running status information: the message loop of the thread where the active object is located is inactive, the window of the active object hangs, and the thread of the active object is busy all the time, then it is determined that the active object is stuck;
如果根据所述运行状态信息发现以下至少一项:独立进程中的主窗口不存在,活动对象中的窗口不存在,则判定独立进程崩溃。If at least one of the following is found according to the running state information: the main window in the independent process does not exist, and the window in the active object does not exist, then it is determined that the independent process crashes.
可选地,所述方法还包括步骤:Optionally, the method also includes the steps of:
代理对象定期询问活动对象的运行信息,并保存所述运行信息;The proxy object periodically inquires about the running information of the active object, and saves the running information;
所述代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象,进一步为:The proxy object sends activation information to the independent process, and recreates the active object in the independent process, further as follows:
代理对象向独立进程发送所述激活信息和所述运行信息;The proxy object sends the activation information and the running information to the independent process;
根据所述激活信息,在独立进程中重新创建活动对象;recreating active objects in a separate process based on said activation information;
根据所述运行信息,获取原活动对象的中断位置,令新创建的活动对象在所述中断位置处继续运行。According to the running information, the interrupted position of the original active object is obtained, and the newly created active object continues to run at the interrupted position.
可选地,所述代理对象通过与独立进程和/或其活动对象通信判断活动对象是否中断,如果是,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象,进一步包括:Optionally, the proxy object judges whether the active object is interrupted by communicating with the independent process and/or its active object, if yes, the proxy object sends activation information to the independent process, and recreates the active object in the independent process, further comprising:
所述代理对象通过与独立进程通信判断活动对象是否中断,如果是,提示用户活动对象中断;The proxy object judges whether the active object is interrupted by communicating with the independent process, and if so, prompts the user that the active object is interrupted;
接收用户的重激活指令;Receive the user's reactivation instruction;
代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。The proxy object sends activation information to the independent process, where the active object is recreated.
可选地,所述在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行,之后还包括步骤:Optionally, creating the actual active object to be created in an independent process independent of the browser page process, the active object runs in an independent process, and then further includes steps:
代理对象通过与独立进程通信,调用活动对象,和/或,The proxy object communicates with the independent process, calling the active object, and/or,
代理对象通过与独立进程通信,被活动对象调用。The proxy object is invoked by the active object by communicating with the independent process.
可选地,页面进程为每个页面创建一个页面线程,截获页面线程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面线程中运行;Optionally, the page process creates a page thread for each page, intercepts the process of creating an active object by the page thread, creates a proxy object to replace the actual active object to be created, and the proxy object runs in the page thread;
独立进程为每个页面创建一个独立于页面线程的对象线程,在所述对象线程中创建所述实际要创建的活动对象,所述活动对象在对象线程中运行;The independent process creates an object thread independent of the page thread for each page, and creates the active object actually to be created in the object thread, and the active object runs in the object thread;
代理对象通过与对象线程通信判断活动对象是否中断,如果是,代理对象向对象线程发送激活信息,在对象线程中重新创建活动对象。The proxy object judges whether the active object is interrupted by communicating with the object thread, and if so, the proxy object sends activation information to the object thread, and recreates the active object in the object thread.
可选地,所述方法还包括:Optionally, the method also includes:
当活动对象出现问题时,对运行所述活动对象的对象线程执行挂起、降低权限或终止操作。When there is a problem with the active object, the object thread running the active object is suspended, the authority is lowered or terminated.
可选地,所述方法还包括:Optionally, the method also includes:
独立进程创建活动对象时,代理对象将页面进程或页面线程的通信句柄和代理对象标识作为通信标识,传送给独立进程或对象线程;When an independent process creates an active object, the proxy object transmits the communication handle and proxy object ID of the page process or page thread to the independent process or object thread as the communication ID;
独立进程创建活动对象后,活动对象将独立进程或对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。After the independent process creates the active object, the active object transmits the communication handle of the independent process or object thread and the active object identifier as the communication identifier to the proxy object.
可选地,所述独立进程为每个页面创建一个独立于页面线程的对象线程,包括:Optionally, the independent process creates an object thread independent of the page thread for each page, including:
独立进程创建主线程,主线程为每个页面创建一个独立于页面线程的对象线程,所述主线程用于维护全局配置。The independent process creates a main thread, and the main thread creates an object thread independent of the page thread for each page, and the main thread is used to maintain the global configuration.
可选地,所述活动对象包括ActiveX对象。Optionally, the active object includes an ActiveX object.
根据本发明的另一方面,提供了一种浏览器控件的中断恢复系统,其包括:According to another aspect of the present invention, a browser control interruption recovery system is provided, which includes:
页面进程模块,适于截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行;The page process module is suitable for intercepting the process of creating an active object by the page process of the browser, creating a proxy object to replace the actual active object to be created, and the proxy object runs in the page process;
独立进程模块,适于在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行;The independent process module is adapted to create the active object actually to be created in an independent process independent of the browser page process, and the active object runs in the independent process;
恢复模块,适于令代理对象通过与独立进程和/或其活动对象通信判断活动对象是否中断,如果是,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。The recovery module is adapted to enable the proxy object to determine whether the active object is interrupted by communicating with the independent process and/or its active object. If so, the proxy object sends activation information to the independent process, and recreates the active object in the independent process.
可选地,所述恢复模块包括:Optionally, the recovery module includes:
判断子模块,适于令代理对象通过与独立进程和/或其活动对象通信判断活动对象是否卡死和/或独立进程是否崩溃;The judging submodule is adapted to make the proxy object judge whether the active object is stuck and/or whether the independent process crashes by communicating with the independent process and/or its active object;
卡死子模块,适于在活动对象卡死时,令代理对象停止与所述活动对象的通信并向独立进程发送激活信息,在独立进程中重新创建活动对象;The stuck sub-module is adapted to make the proxy object stop communicating with the active object and send activation information to the independent process when the active object is stuck, and recreate the active object in the independent process;
崩溃子模块,适于在独立进程崩溃时,创建新的独立进程,令代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。The crash submodule is suitable for creating a new independent process when the independent process crashes, so that the proxy object sends activation information to the independent process, and recreates the active object in the independent process.
可选地,所述判断子模块,适于令代理对象定期询问独立进程和/或其活动对象的运行状态信息,并根据所述运行状态信息判断活动对象是否卡死和/或独立进程是否崩溃。Optionally, the judging submodule is adapted to make the proxy object periodically inquire about the running state information of the independent process and/or its active object, and judge whether the active object is stuck and/or whether the independent process crashes according to the running state information .
可选地,所述判断子模块中,Optionally, in the judgment submodule,
如果根据所述运行状态信息发现以下至少一项:活动对象所在线程的消息循环不活动,活动对象的窗口挂起,活动对象线程的一直忙,则判定活动对象卡死;If at least one of the following is found according to the running status information: the message loop of the thread where the active object is located is inactive, the window of the active object hangs, and the thread of the active object is busy all the time, then it is determined that the active object is stuck;
如果根据所述运行状态信息发现以下至少一项:独立进程中的主窗口不存在,活动对象中的窗口不存在,则判定独立进程崩溃。If at least one of the following is found according to the running state information: the main window in the independent process does not exist, and the window in the active object does not exist, then it is determined that the independent process crashes.
可选地,所述恢复模块还适于令代理对象定期询问活动对象的运行信息,并保存所述运行信息;以及,Optionally, the recovery module is further adapted to make the proxy object periodically inquire about the running information of the active object, and save the running information; and,
还适于在活动对象中断时,令代理对象向独立进程发送所述激活信息和所述运行信息,根据所述激活信息在独立进程中重新创建活动对象,并且,根据所述运行信息,获取原活动对象的中断位置,令新创建的活动对象在所述中断位置处继续运行。It is also suitable for causing the proxy object to send the activation information and the running information to the independent process when the active object is interrupted, recreate the active object in the independent process according to the activation information, and obtain the original The interrupted location of the active object, causing the newly created active object to continue running at the interrupted location.
可选地,所述系统还包括:Optionally, the system also includes:
交互模块,适于在活动对象中断的情况下,提示用户活动对象中断,以及接收用户的重激活指令,并将所述重激活指令发送给所述恢复模块。The interaction module is adapted to prompt the user that the active object is interrupted when the active object is interrupted, receive a reactivation instruction from the user, and send the reactivation instruction to the restoration module.
可选地,所述系统还包括:Optionally, the system also includes:
调用模块,适于令代理对象通过与独立进程通信,调用活动对象,和/或,代理对象通过与独立进程通信,被活动对象调用。The calling module is adapted to make the proxy object call the active object by communicating with the independent process, and/or the proxy object is called by the active object by communicating with the independent process.
可选地,所述页面进程模块,还适于令页面进程为每个页面创建一个页面线程,截获页面线程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面线程中运行;Optionally, the page process module is also adapted to make the page process create a page thread for each page, intercept the process of creating an active object by the page thread, and create a proxy object to replace the actual active object to be created. run in the page thread;
所述独立进程模块,还适于令独立进程为每个页面创建一个独立于页面线程的对象线程,在所述对象线程中创建所述实际要创建的活动对象,所述活动对象在对象线程中运行;The independent process module is also suitable for making the independent process create an object thread independent of the page thread for each page, and create the active object actually to be created in the object thread, and the active object is in the object thread run;
所述恢复模块,还适于令代理对象通过与对象线程通信判断活动对象是否中断,如果是,代理对象向对象线程发送激活信息,在对象线程中重新创建活动对象。The restoration module is further adapted to make the proxy object judge whether the active object is interrupted by communicating with the object thread, and if so, the proxy object sends activation information to the object thread, and recreates the active object in the object thread.
可选地,所述系统还包括:Optionally, the system also includes:
错误处理模块,适于当活动对象出现问题时,对运行所述活动对象的对象线程执行挂起、降低权限或终止操作。The error handling module is adapted to perform operations of suspending, reducing authority or terminating the object thread running the active object when a problem occurs with the active object.
可选地,所述系统还包括:Optionally, the system also includes:
代理对象通信标识传送模块,适于令独立进程模块创建活动对象时,代理对象将页面进程或页面线程的通信句柄和代理对象标识作为通信标识,传送给独立进程或对象线程;The proxy object communication identification transfer module is suitable for making the independent process module create an active object, and the proxy object transmits the communication handle and the proxy object identification of the page process or page thread to the independent process or object thread as the communication identification;
活动对象通信标识传送模块,适于令独立进程模块创建活动对象后,活动对象将独立进程或对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。The active object communication identifier transmission module is suitable for making the independent process module create the active object, and the active object uses the communication handle of the independent process or object thread and the active object identifier as the communication identifier, and transmits it to the proxy object.
可选地,所述页面进程模块,还适于令独立进程创建主线程,主线程为每个页面创建一个对象线程,所述主线程用于维护全局配置。Optionally, the page process module is further adapted to make the independent process create a main thread, the main thread creates an object thread for each page, and the main thread is used to maintain the global configuration.
本发明所述浏览器控件的中断恢复方法及系统,在页面进程中创建代理对象,在独立进程中创建活动对象,借助代理对象与独立进程和/或其活动对象之间的通信,及时发现活动对象的中断,并在发现活动对象中断后重新创建活动对象,从而缩短了活动对象中断后的恢复时间,提高了用户的使用效率。另外,通过保存活动对象的运行信息,可以令重新创建的活动对象在原活动对象的中断位置处开始运行,进一步提高了用户的使用效率。The browser control interrupt recovery method and system of the present invention create a proxy object in the page process, create an active object in an independent process, and discover activities in time by means of communication between the proxy object and the independent process and/or its active object The object is interrupted, and the active object is recreated after the active object is found to be interrupted, thereby shortening the recovery time after the active object is interrupted and improving the user's use efficiency. In addition, by saving the running information of the active object, the recreated active object can start to run at the interrupted position of the original active object, which further improves the user's use efficiency.
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。The above description is only an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention, it can be implemented according to the contents of the description, and in order to make the above and other purposes, features and advantages of the present invention more obvious and understandable , the specific embodiments of the present invention are enumerated below.
附图说明Description of drawings
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiment. The drawings are only for the purpose of illustrating a preferred embodiment and are not to be considered as limiting the invention. Also throughout the drawings, the same reference numerals are used to designate the same components. In the attached picture:
图1示出了根据本发明一个实施例的所述浏览器控件的中断恢复方法流程图;Fig. 1 shows the flow chart of the interrupt recovery method of the browser control according to one embodiment of the present invention;
图2示出了根据本发明一个实施例的所述浏览器控件的中断恢复方法应用于多页面时的流程图;Fig. 2 shows a flow chart when the interruption recovery method of the browser control is applied to multiple pages according to an embodiment of the present invention;
图3示出了根据本发明一个实施例的浏览器控件的中断恢复系统的模块结构示意图;FIG. 3 shows a schematic diagram of a module structure of an interruption recovery system of a browser control according to an embodiment of the present invention;
图4示出了根据本发明一个实施例的恢复模块的内部模块结构示意图;FIG. 4 shows a schematic diagram of an internal module structure of a recovery module according to an embodiment of the present invention;
图5示出了根据本发明另一个实施例的浏览器控件的中断恢复系统的模块结构示意图;Fig. 5 shows a schematic diagram of a module structure of an interruption recovery system of a browser control according to another embodiment of the present invention;
图6示出了根据本发明再一个实施例的浏览器控件的中断恢复系统的模块结构示意图。Fig. 6 shows a schematic diagram of a module structure of an interruption recovery system of a browser control according to yet another embodiment of the present invention.
具体实施方式detailed description
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided for more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
图1示出了根据本发明一个实施例的所述浏览器控件的中断恢复方法流程图,如图1所示,所述方法包括步骤:Fig. 1 shows a flow chart of an interruption recovery method of the browser control according to an embodiment of the present invention. As shown in Fig. 1, the method includes steps:
S100:截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行。S100: Intercepting the process of creating an active object by the page process of the browser, creating a proxy object to replace the actual active object to be created, and the proxy object runs in the page process.
其中,所述的活动对象就是真实的浏览器控件,例如真实的ActiveX对象,即ActiveX控件;所述的代理对象可以是模拟的浏览器控件,例如模拟的ActiveX控件,所述代理对象在页面进程中运行。Wherein, the active object is a real browser control, such as a real ActiveX object, i.e. an ActiveX control; the proxy object can be a simulated browser control, such as a simulated ActiveX control, and the proxy object can run in.
具体举例说明本发明如下:Concrete example illustrates the present invention as follows:
在网页中有ActiveX控件的情况下,在浏览器创建ActiveX控件时,会根据控件CLSID或者ProgID查询注册表,其中可以通过CLSIDFromProgID获取CLSID,由此查看系统是否已安装相应控件,若安装则会继续创建过程。浏览器通过调用CoGetClassObject得到相应控件的IUnknown指针,然后通过标准接口进行相互操作。CoGetClassObject执行过程为,通过CLSID去注册表查询ActiveX路径,获得ActiveX路径后,调用LoadLibrary加载ActiveX控件,调用其导出函数DllGetClassObject获得类厂指针(IClassFactory),然后调用IClassFactory的CreateInstance方法得到ActiveX控件对应的IUnknown指针。If there is an ActiveX control in the web page, when the browser creates the ActiveX control, it will query the registry according to the CLSID or ProgID of the control, and the CLSID can be obtained through CLSIDFromProgID, so as to check whether the corresponding control has been installed in the system, and if it is installed, it will continue Creation process. The browser obtains the IUnknown pointer of the corresponding control by calling CoGetClassObject, and then performs mutual operations through standard interfaces. The execution process of CoGetClassObject is to query the ActiveX path in the registry through the CLSID. After obtaining the ActiveX path, call LoadLibrary to load the ActiveX control, call its exported function DllGetClassObject to obtain the class factory pointer (IClassFactory), and then call the CreateInstance method of IClassFactory to obtain the IUnknown corresponding to the ActiveX control. pointer.
在加载ActiveX控件时,拦截CoGetClassObject,创建一个ActiveX控件代理对象,该ActiveX控件代理对象包括一系列接口,例如IUnknown指针将会调用的很多标准接口,例如IOleObject、IViewObject等。然后在调用IClassFactory的CreateInstance时,将所创建的ActiveX控件代理对象返回给ActiveX控件的IUnknown指针。When loading the ActiveX control, intercept CoGetClassObject to create an ActiveX control proxy object, the ActiveX control proxy object includes a series of interfaces, such as many standard interfaces that the IUnknown pointer will call, such as IOleObject, IViewObject, etc. Then, when calling CreateInstance of IClassFactory, the created ActiveX control proxy object is returned to the IUnknown pointer of the ActiveX control.
S200:在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行。S200: Create the actual active object to be created in an independent process independent of the browser page process, and the active object runs in the independent process.
仍具体举例说明本发明如下:在页面激活所述ActiveX控件时,提取出该控件的属性、URL、大小等相关信息,然后创建一个独立进程。具体来说,创建一个文件(document),在其中插入一个对象,该独立进程调用CoGetClassObject,拦截该CoGetClassObject,再创建另一个ActiveX控件活动对象,该ActiveX控件活动对象包括一系列接口,例如IUnknown指针将会调用的很多标准接口,例如IOleObject、IViewObject等。然后在调用IClassFactory的CreateInstance时,将所创建的该另一个ActiveX控件活动对象返回给独立进程的ActiveX控件的IUnknown指针。The present invention is still specifically illustrated as follows: when the ActiveX control is activated on the page, related information such as the attribute, URL, and size of the control is extracted, and then an independent process is created. Specifically, create a document (document), insert an object in it, the independent process calls CoGetClassObject, intercepts the CoGetClassObject, and then creates another ActiveX control active object, which includes a series of interfaces, such as the IUnknown pointer will Many standard interfaces that will be called, such as IOleObject, IViewObject, etc. Then, when CreateInstance of IClassFactory is called, the created active object of another ActiveX control is returned to the IUnknown pointer of the ActiveX control of the independent process.
S300:代理对象通过与独立进程和/或其活动对象通信判断活动对象是否中断,如果是,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象,结束流程;否则,直接结束流程。S300: The proxy object judges whether the active object is interrupted by communicating with the independent process and/or its active object. If so, the proxy object sends activation information to the independent process, recreates the active object in the independent process, and ends the process; otherwise, directly ends the process .
具体举例说明本发明如下:在所创建的两个ActiveX控件对象中分别创建一个与该控件对象关联的窗口以用来进行通信。具体来说两个控件对象可以针对大小、焦点、刷新、脚本以及其他信息进行交互。根据本发明的方法可以拦截以上两个进程中的所有请求,通过预先创建的两个ActiveX控件对象来实现这两个进程之间的信息交互。由此ActiveX控件的具体计算过程在独立进程中进行,因而不会影响原网页的进程。A specific example is given to illustrate the present invention as follows: in the two created ActiveX control objects, respectively create a window associated with the control object for communication. Specifically, two control objects can interact for size, focus, refresh, scripting, and other information. According to the method of the present invention, all requests in the above two processes can be intercepted, and information interaction between the two processes can be realized through two pre-created ActiveX control objects. Therefore, the specific calculation process of the ActiveX control is carried out in an independent process, so the process of the original web page will not be affected.
所述步骤S300进一步包括:The step S300 further includes:
S310:代理对象通过与独立进程和/或其活动对象通信判断活动对象是否卡死和/或独立进程是否崩溃。具体地,代理对象定期询问独立进程和/或其活动对象的运行状态信息,并根据所述运行状态信息判断活动对象是否卡死和/或独立进程是否崩溃。如果根据所述运行状态信息发现以下至少一项:活动对象所在线程的消息循环不活动,活动对象的窗口挂起,活动对象线程的一直忙,则判定活动对象卡死;如果根据所述运行状态信息发现以下至少一项:独立进程中的主窗口不存在,活动对象中的窗口不存在,则判定独立进程崩溃。S310: The proxy object judges whether the active object is stuck and/or whether the independent process crashes by communicating with the independent process and/or its active object. Specifically, the proxy object periodically queries the running state information of the independent process and/or its active object, and judges whether the active object is stuck and/or whether the independent process crashes according to the running state information. If find at least one of the following according to the running state information: the message loop of the thread where the active object is located is inactive, the window of the active object hangs, and the thread of the active object is always busy, then it is determined that the active object is stuck; if according to the operating state If the information finds at least one of the following: the main window in the independent process does not exist, and the window in the active object does not exist, then it is determined that the independent process crashes.
代理对象定期询问独立进程和/或其活动对象的运行状态信息,具体来说可以用很多方式实现这一监控动作,举例来说,可以在开启的独立进程中为每一个活动对象绑定一个消息窗口;令页面进程的代理对象定期地查询该消息窗口,以监控该活动对象是否正常运行。S320:如果活动对象卡死,则代理对象停止与所述活动对象的通信并向独立进程发送激活信息,在独立进程中重新创建活动对象。The proxy object periodically queries the running status information of the independent process and/or its active objects. Specifically, this monitoring action can be implemented in many ways. For example, a message can be bound to each active object in the opened independent process window; make the proxy object of the page process query the message window regularly to monitor whether the active object is running normally. S320: If the active object is stuck, the proxy object stops communication with the active object and sends activation information to the independent process, and recreates the active object in the independent process.
S330:如果独立进程崩溃,则创建新的独立进程,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。S330: If the independent process crashes, create a new independent process, the proxy object sends activation information to the independent process, and recreates the active object in the independent process.
通过上述方法步骤的执行,能够及时识别活动对象的中断,并在活动对象中断后对其及时重新激活,缩短响应时间。Through the execution of the steps of the above method, the interruption of the active object can be identified in time, and the active object can be reactivated in time after the interruption, so as to shorten the response time.
另外,所述步骤S200之后还可以包括步骤:In addition, steps may also be included after the step S200:
P1:代理对象定期询问活动对象的运行信息,并保存所述运行信息。P1: The proxy object periodically inquires about the running information of the active object, and saves the running information.
相应地,所述步骤S300中,所述代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象,进一步为:Correspondingly, in the step S300, the proxy object sends activation information to the independent process, and recreates the active object in the independent process, further:
代理对象向独立进程发送所述激活信息和所述运行信息;The proxy object sends the activation information and the running information to the independent process;
根据所述激活信息,在独立进程中重新创建活动对象;recreating active objects in a separate process based on said activation information;
根据所述运行信息,获取原活动对象的中断位置,令新创建的活动对象在所述中断位置处继续运行。According to the running information, the interrupted position of the original active object is obtained, and the newly created active object continues to run at the interrupted position.
其中,所述激活信息主要是:活动对象的属性、URL、位置、大小等信息;所述运行信息是活动对象的运行进度信息。通过采用所述步骤P1,以及对所述步骤S300进行相应的改变,可以保证活动对象能够在中断位置处开始重新运行,相比现有技术中完全的重新启动,显然进一步提高了响应效率。Wherein, the activation information mainly includes information such as attributes, URL, location, and size of the active object; the running information is the running progress information of the active object. By adopting the step P1 and making corresponding changes to the step S300, it can be ensured that the active object can restart at the interrupted position, which obviously further improves the response efficiency compared with the complete restart in the prior art.
所述步骤S300中还可以由用户选择是否重新激活已经中断的活动对象以提高与用户的交互性能,具体地,其可以进一步包括:In the step S300, the user may also choose whether to reactivate the interrupted active object to improve the interaction performance with the user. Specifically, it may further include:
所述代理对象通过与独立进程通信判断活动对象是否中断,如果是,提示用户活动对象中断;The proxy object judges whether the active object is interrupted by communicating with the independent process, and if so, prompts the user that the active object is interrupted;
接收用户的重激活指令;Receive the user's reactivation instruction;
代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。The proxy object sends activation information to the independent process, where the active object is recreated.
所述步骤S300之后还可以包括步骤:After the step S300, the steps may also be included:
S400:代理对象通过与独立进程通信,调用活动对象,和/或,代理对象通过与独立进程通信,被活动对象调用。S400: The proxy object calls the active object by communicating with the independent process, and/or the proxy object is called by the active object by communicating with the independent process.
通常一个浏览器往往可以打开很多个页面来浏览不同的网页,参见图2,所述方法还可以应用于多页面的情况,此时可以多线程方式对应多个页面运行多个活动对象,具体地,所述方法步骤如下:Usually a browser can often open many pages to browse different webpages, referring to Figure 2, the method can also be applied to the situation of multiple pages, at this time, multiple active objects can be run corresponding to multiple pages in a multi-threaded manner, specifically , the method steps are as follows:
S100’:页面进程为每个页面创建一个页面线程,截获页面线程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面线程中运行.S100': The page process creates a page thread for each page, intercepts the process of creating an active object by the page thread, and creates a proxy object to replace the actual active object to be created, and the proxy object runs in the page thread.
S200’:独立进程为每个页面创建一个独立于页面线程的对象线程,在所述对象线程中创建所述实际要创建的活动对象,所述活动对象在对象线程中运行。该步骤中,独立进程创建主线程,主线程为每个页面创建一个独立于页面线程的对象线程,所述主线程用于维护全局配置。S200': The independent process creates an object thread independent of the page thread for each page, and creates the active object actually to be created in the object thread, and the active object runs in the object thread. In this step, the independent process creates a main thread, and the main thread creates an object thread independent of the page thread for each page, and the main thread is used to maintain the global configuration.
并且,该步骤中,独立进程创建活动对象时,代理对象将页面进程或页面线程的通信句柄和代理对象标识作为通信标识,传送给独立进程或对象线程;独立进程创建活动对象后,活动对象将独立进程或对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。And, in this step, when the independent process creates the active object, the proxy object transmits the communication handle and the proxy object identification of the page process or the page thread to the independent process or the object thread as the communication identification; after the independent process creates the active object, the active object will The communication handle and the active object ID of the independent process or object thread are used as the communication ID and transmitted to the proxy object.
S300’:代理对象通过与对象线程通信判断活动对象是否中断,如果是,代理对象向对象线程发送激活信息,在对象线程中重新创建活动对象。S300': the proxy object judges whether the active object is interrupted by communicating with the object thread, if so, the proxy object sends activation information to the object thread, and recreates the active object in the object thread.
所述活动对象包括ActiveX对象,以ActiveX对象为例,则ActiveX对象在对象线程中运行,当ActiveX对象出现问题时,例如ActiveX对象陷入死循环时,可以对运行所述ActiveX对象的对象线程执行挂起操作,使得所述对象线程暂时不能运行;或者对运行所述ActiveX对象的对象线程执行降低权限操作;或者对运行所述ActiveX对象的对象线程执行终止操作,终止所述的对象线程。Described active object comprises ActiveX object, take ActiveX object as example, then ActiveX object runs in object thread, when ActiveX object appears problem, when for example ActiveX object falls into infinite loop, can carry out hanging to the object thread of running described ActiveX object Start an operation, so that the object thread cannot run temporarily; or perform a lower-privilege operation on the object thread running the ActiveX object; or perform a termination operation on the object thread running the ActiveX object to terminate the object thread.
在本申请所述的方法中,例如,针对IE浏览器中ActiveX控件的执行过程中,可以创建模拟的ActiveX类厂,取代真实的ActiveX类厂,在页面进程或页面线程模拟标准方式,创建代理对象,例如,参考如下的模型:In the method described in this application, for example, in the execution process of the ActiveX control in the IE browser, a simulated ActiveX class factory can be created to replace the real ActiveX class factory, and a proxy can be created in the page process or page thread simulation standard mode Objects, for example, refer to the following models:
可以创建ActiveX代理类,用于完成真实ActiveX类的所有接口,并转发对ActiveX对象的初始化、传送数据、传送状态和执行回调等操作,例如,参考如下的模型:An ActiveX proxy class can be created to complete all interfaces of the real ActiveX class, and forward operations such as initialization, data transfer, status transfer, and callback execution of ActiveX objects. For example, refer to the following model:
ActiveX控件需要放在ActiveX容器中在浏览器的页面进程或页面线程中运行,因此代理对象要放入到真实容器中在页面进程或页面线程中运行,所述的真实容器就是真实的ActiveX容器,所以可以创建模拟容器即模拟的ActiveX容器,在独立进程或对象线程中实现页面环境,将ActiveX对象放入到真实容器中在独立进程或对象线程中运行,例如,参考如下的模型:The ActiveX control needs to be placed in the ActiveX container to run in the page process or page thread of the browser, so the proxy object should be put into a real container to run in the page process or page thread. The real container is the real ActiveX container. Therefore, you can create a simulated container, that is, a simulated ActiveX container, implement the page environment in an independent process or object thread, and put the ActiveX object into the real container to run in an independent process or object thread. For example, refer to the following model:
图3示出了根据本发明一个实施例的浏览器控件的中断恢复系统的模块结构示意图,如图3所示,所述系统包括:Fig. 3 shows a schematic diagram of a module structure of an interrupt recovery system for browser controls according to an embodiment of the present invention. As shown in Fig. 3, the system includes:
页面进程模块100,适于截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行。The page process module 100 is adapted to intercept the process of creating an active object by the browser's page process, and create a proxy object to replace the actual active object to be created, and the proxy object runs in the page process.
独立进程模块200,适于在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行。The independent process module 200 is adapted to create the active object to be actually created in an independent process independent of the browser page process, and the active object runs in the independent process.
恢复模块300,适于令代理对象通过与独立进程和/或其活动对象通信判断活动对象是否中断,如果是,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。The recovery module 300 is adapted to make the proxy object judge whether the active object is interrupted by communicating with the independent process and/or its active object, and if so, the proxy object sends activation information to the independent process, and recreates the active object in the independent process.
其中,图4示出了根据本发明一个实施例的恢复模块的内部模块结构示意图,如图4所示,所述恢复模块300包括:Wherein, FIG. 4 shows a schematic diagram of an internal module structure of a recovery module according to an embodiment of the present invention. As shown in FIG. 4 , the recovery module 300 includes:
判断子模块310,适于令代理对象通过与独立进程和/或其活动对象通信判断活动对象是否卡死和/或独立进程是否崩溃。The judging sub-module 310 is adapted to enable the proxy object to judge whether the active object is stuck and/or whether the independent process crashes by communicating with the independent process and/or its active object.
其中,所述判断子模块310,适于令代理对象定期询问独立进程和/或其活动对象的运行状态信息,并根据所述运行状态信息判断活动对象是否卡死和/或独立进程是否崩溃。具体地,如果根据所述运行状态信息发现以下至少一项:活动对象所在线程的消息循环不活动,活动对象的窗口挂起,活动对象线程的一直忙,则判定活动对象卡死;如果根据所述运行状态信息发现以下至少一项:独立进程中的主窗口不存在,活动对象中的窗口不存在,则判定独立进程崩溃。Wherein, the judging sub-module 310 is adapted to make the proxy object periodically query the running state information of the independent process and/or its active object, and judge whether the active object is stuck and/or whether the independent process crashes according to the running state information. Specifically, if at least one of the following is found according to the running state information: the message loop of the thread where the active object is located is inactive, the window of the active object hangs, and the thread of the active object is always busy, then it is determined that the active object is stuck; If at least one of the following is found in the above running status information: the main window in the independent process does not exist, and the window in the active object does not exist, then it is determined that the independent process crashes.
卡死子模块320,适于在活动对象卡死时,令代理对象停止与所述活动对象的通信并向独立进程发送激活信息,在独立进程中重新创建活动对象;The stuck sub-module 320 is adapted to make the proxy object stop communicating with the active object and send activation information to the independent process when the active object is stuck, and recreate the active object in the independent process;
崩溃子模块330,适于在独立进程崩溃时,创建新的独立进程,令代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。The crash sub-module 330 is adapted to create a new independent process when the independent process crashes, make the proxy object send activation information to the independent process, and recreate the active object in the independent process.
另外,所述恢复模块300还适于令代理对象定期询问活动对象的运行信息,并保存所述运行信息;以及,In addition, the recovery module 300 is also adapted to make the proxy object periodically inquire about the running information of the active object, and save the running information; and,
还适于在活动对象中断时,令代理对象向独立进程发送所述激活信息和所述运行信息,根据所述激活信息在独立进程中重新创建活动对象,并且,根据所述运行信息,获取原活动对象的中断位置,令新创建的活动对象在所述中断位置处继续运行。It is also suitable for causing the proxy object to send the activation information and the running information to the independent process when the active object is interrupted, recreate the active object in the independent process according to the activation information, and obtain the original The interrupted location of the active object, causing the newly created active object to continue running at the interrupted location.
图5示出了根据本发明另一个实施例的浏览器控件的中断恢复系统的模块结构示意图,如图5所示,本实施例所述系统与上一实施例所述系统基本相同,其不同之处在于,该系统还包括:Fig. 5 shows a block diagram of a browser control interrupt recovery system according to another embodiment of the present invention. As shown in Fig. 5, the system described in this embodiment is basically the same as the system described in the previous embodiment. The best part is that the system also includes:
交互模块400,适于在活动对象中断的情况下,提示用户活动对象中断,以及接收用户的重激活指令,并将所述重激活指令发送给所述恢复模块。The interaction module 400 is adapted to prompt the user that the active object is interrupted when the active object is interrupted, receive a reactivation instruction from the user, and send the reactivation instruction to the recovery module.
调用模块500,适于令代理对象通过与独立进程通信,调用活动对象,和/或,代理对象通过与独立进程通信,被活动对象调用。The calling module 500 is adapted to make the proxy object call the active object by communicating with the independent process, and/or the proxy object is called by the active object by communicating with the independent process.
图6示出了根据本发明再一个实施例的浏览器控件的中断恢复系统的模块结构示意图,如图6所示,本实施例所述系统与上一实施例所述系统基本相同,其不同之处仅在于:Fig. 6 shows a block diagram of a browser control interrupt recovery system according to another embodiment of the present invention. As shown in Fig. 6, the system described in this embodiment is basically the same as the system described in the previous embodiment. The only difference is that:
所述页面进程模块100,还适于令页面进程为每个页面创建一个页面线程,截获页面线程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面线程中运行。所述页面进程模块100,还适于令独立进程创建主线程,主线程为每个页面创建一个对象线程,所述主线程用于维护全局配置。The page process module 100 is also adapted to make the page process create a page thread for each page, intercept the process of creating an active object by the page thread, create a proxy object to replace the active object to be created actually, and the proxy object is in the page thread run. The page process module 100 is further adapted to make the independent process create a main thread, the main thread creates an object thread for each page, and the main thread is used to maintain the global configuration.
所述独立进程模块200,还适于令独立进程为每个页面创建一个独立于页面线程的对象线程,在所述对象线程中创建所述实际要创建的活动对象,所述活动对象在对象线程中运行。The independent process module 200 is also suitable for making the independent process create an object thread independent of the page thread for each page, create the active object to be actually created in the object thread, and create the active object in the object thread run in.
所述恢复模块300,还适于令代理对象通过与对象线程通信判断活动对象是否中断,如果是,代理对象向对象线程发送激活信息,在对象线程中重新创建活动对象。The restoration module 300 is further adapted to let the proxy object judge whether the active object is interrupted by communicating with the object thread, and if yes, the proxy object sends activation information to the object thread, and recreates the active object in the object thread.
并且,所述系统还包括:And, the system also includes:
错误处理模块600,适于当活动对象出现问题时,对运行所述活动对象的对象线程执行挂起、降低权限或终止操作。The error handling module 600 is adapted to perform operations of suspending, reducing authority or terminating the object thread running the active object when a problem occurs with the active object.
代理对象通信标识传送模块700,适于令独立进程模块创建活动对象时,代理对象将页面进程或页面线程的通信句柄和代理对象标识作为通信标识,传送给独立进程或对象线程。The proxy object communication ID transmission module 700 is adapted to make the independent process module create an active object, the proxy object uses the communication handle of the page process or page thread and the proxy object ID as the communication ID, and transmits it to the independent process or object thread.
活动对象通信标识传送模块800,适于令独立进程模块创建活动对象后,活动对象将独立进程或对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。The active object communication ID transmission module 800 is adapted to make the independent process module create the active object, and the active object transmits the communication handle of the independent process or object thread and the active object ID as the communication ID to the proxy object.
本发明实施例所述浏览器控件的中断恢复方法及系统,在页面进程中创建代理对象,在独立进程中创建活动对象,借助代理对象与独立进程和/或其活动对象之间的通信,及时发现活动对象的中断,并在发现活动对象中断后重新创建活动对象,从而缩短了活动对象中断后的恢复时间,提高了用户的使用效率。另外,通过保存活动对象的运行信息,可以令重新创建的活动对象在原活动对象的中断位置处开始运行,进一步提高了用户的使用效率。The interrupt recovery method and system of the browser control described in the embodiment of the present invention creates a proxy object in the page process, creates an active object in an independent process, and uses the communication between the proxy object and the independent process and/or its active object in time. Discover the interruption of the active object, and recreate the active object after discovering the interruption of the active object, thereby shortening the recovery time after the interruption of the active object, and improving the use efficiency of the user. In addition, by saving the running information of the active object, the recreated active object can start to run at the interrupted position of the original active object, which further improves the user's use efficiency.
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。The algorithms and displays presented herein are not inherently related to any particular computer, virtual system, or other device. Various generic systems can also be used with the teachings based on this. The structure required to construct such a system is apparent from the above description. Furthermore, the present invention is not specific to any particular programming language. It should be understood that various programming languages can be used to implement the content of the present invention described herein, and the above description of specific languages is for disclosing the best mode of the present invention.
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure the understanding of this description.
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, in order to streamline this disclosure and to facilitate an understanding of one or more of the various inventive aspects, various features of the invention are sometimes grouped together in a single embodiment, figure, or its description. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention.
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。Those skilled in the art can understand that the modules in the device in the embodiment can be adaptively changed and arranged in one or more devices different from the embodiment. Modules or units or components in the embodiments may be combined into one module or unit or component, and furthermore may be divided into a plurality of sub-modules or sub-units or sub-assemblies. All features disclosed in this specification (including accompanying claims, abstract and drawings), as well as any method or method so disclosed, may be used in any combination, except that at least some of such features and/or processes or units are mutually exclusive. All processes or units of equipment are combined. Each feature disclosed in this specification (including accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。Furthermore, those skilled in the art will understand that although some embodiments described herein include some features included in other embodiments but not others, combinations of features from different embodiments are meant to be within the scope of the invention. and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的浏览器控件的中断恢复系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。The various component embodiments of the present invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art should understand that a microprocessor or a digital signal processor (DSP) can be used in practice to implement some or all functions of some or all components in the browser control interrupt recovery system according to the embodiment of the present invention . The present invention can also be implemented as an apparatus or an apparatus program (for example, a computer program and a computer program product) for performing a part or all of the methods described herein. Such a program for realizing the present invention may be stored on a computer-readable medium, or may be in the form of one or more signals. Such a signal may be downloaded from an Internet site, or provided on a carrier signal, or provided in any other form.
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means can be embodied by one and the same item of hardware. The use of the words first, second, and third, etc. does not indicate any order. These words can be interpreted as names.
本文公开了A1、一种浏览器控件的中断恢复方法,其包括步骤:截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行;在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行;代理对象通过与独立进程和/或其活动对象通信判断活动对象是否中断,如果是,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。A2、如A1所述的方法,其特征在于,所述代理对象通过与独立进程和/或其活动对象通信判断活动对象是否中断,如果是,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象的步骤,具体包括:代理对象通过与独立进程和/或其活动对象通信判断活动对象是否卡死和/或独立进程是否崩溃;如果活动对象卡死,则代理对象停止与所述活动对象的通信并向独立进程发送激活信息,在独立进程中重新创建活动对象,如果独立进程崩溃,则创建新的独立进程,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。A3、如A2所述的方法,其特征在于,所述代理对象通过与独立进程和/或其活动对象通信判断活动对象是否卡死和/或独立进程是否崩溃的步骤,具体包括:代理对象定期询问独立进程和/或其活动对象的运行状态信息,并根据所述运行状态信息判断活动对象是否卡死和/或独立进程是否崩溃。A4、如A3所述的方法,其特征在于,所述代理对象定期询问独立进程和/或其活动对象的运行状态信息,并根据所述运行状态信息判断活动对象是否卡死和/或独立进程是否崩溃的步骤中,如果根据所述运行状态信息发现以下至少一项:活动对象所在线程的消息循环不活动,活动对象的窗口挂起,活动对象线程的一直忙,则判定活动对象卡死;如果根据所述运行状态信息发现以下至少一项:独立进程中的主窗口不存在,活动对象中的窗口不存在,则判定独立进程崩溃。A5、如A1所述的方法,其特征在于,所述方法还包括步骤:代理对象定期询问活动对象的运行信息,并保存所述运行信息;所述代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象,进一步为:代理对象向独立进程发送所述激活信息和所述运行信息;根据所述激活信息,在独立进程中重新创建活动对象;根据所述运行信息,获取原活动对象的中断位置,令新创建的活动对象在所述中断位置处继续运行。A6、如A1所述的方法,其特征在于,所述代理对象通过与独立进程和/或其活动对象通信判断活动对象是否中断,如果是,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象,进一步包括:所述代理对象通过与独立进程通信判断活动对象是否中断,如果是,提示用户活动对象中断;接收用户的重激活指令;代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。A7、如A1所述的方法,其特征在于,所述在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行,之后还包括步骤:代理对象通过与独立进程通信,调用活动对象,和/或,代理对象通过与独立进程通信,被活动对象调用。A8、如A1所述的方法,其特征在于,页面进程为每个页面创建一个页面线程,截获页面线程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面线程中运行;独立进程为每个页面创建一个独立于页面线程的对象线程,在所述对象线程中创建所述实际要创建的活动对象,所述活动对象在对象线程中运行;代理对象通过与对象线程通信判断活动对象是否中断,如果是,代理对象向对象线程发送激活信息,在对象线程中重新创建活动对象。A9、根据A8所述的方法,其特征在于,还包括:当活动对象出现问题时,对运行所述活动对象的对象线程执行挂起、降低权限或终止操作。A10、根据A8所述的方法,其特征在于,还包括:独立进程创建活动对象时,代理对象将页面进程或页面线程的通信句柄和代理对象标识作为通信标识,传送给独立进程或对象线程;独立进程创建活动对象后,活动对象将独立进程或对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。A11、根据A8所述的方法,其特征在于,所述独立进程为每个页面创建一个独立于页面线程的对象线程,包括:独立进程创建主线程,主线程为每个页面创建一个独立于页面线程的对象线程,所述主线程用于维护全局配置。A12、如A1所述的方法,其特征在于,所述活动对象包括ActiveX对象。This paper discloses A1, a browser control interrupt recovery method, which includes the steps of: intercepting the process of creating an active object in the page process of the browser, creating a proxy object to replace the actual active object to be created, and the proxy object is in the page process Run; create the actual active object to be created in an independent process independent of the browser page process, and the active object runs in the independent process; the proxy object judges the active object by communicating with the independent process and/or its active object Is it interrupted? If so, the proxy object sends activation information to the independent process, and the active object is recreated in the independent process. A2, the method as described in A1, it is characterized in that, described agent object judges whether active object is interrupted by communicating with independent process and/or its active object, if so, agent object sends activation information to independent process, in independent process The step of recreating the active object specifically includes: the proxy object judges whether the active object is stuck and/or whether the independent process crashes by communicating with the independent process and/or its active object; if the active object is stuck, the proxy object stops communicating with the Active object communication and send activation information to independent process, live object is recreated in independent process, if independent process crashes, new independent process is created, proxy object sends activation information to independent process, active object is recreated in independent process . A3. The method as described in A2, wherein the proxy object communicates with the independent process and/or its active object to determine whether the active object is stuck and/or whether the independent process crashes, specifically comprising: the proxy object periodically Query the running state information of the independent process and/or its active object, and judge whether the active object is stuck and/or whether the independent process crashes according to the running state information. A4. The method as described in A3, wherein the proxy object periodically inquires about the running state information of the independent process and/or its active object, and judges whether the active object is stuck and/or the independent process according to the running state information In the step of crashing, if at least one of the following is found according to the running state information: the message loop of the thread where the active object is located is inactive, the window of the active object hangs, and the thread of the active object is always busy, then it is determined that the active object is stuck; If at least one of the following is found according to the running state information: the main window in the independent process does not exist, and the window in the active object does not exist, then it is determined that the independent process crashes. A5, the method as described in A1, it is characterized in that, described method also comprises the step: agent object periodically inquires about the operating information of active object, and saves described operating information; Described agent object sends activation information to independent process, in independent process The activity object is recreated in the process, further comprising: the proxy object sends the activation information and the operation information to the independent process; according to the activation information, recreates the activity object in the independent process; according to the operation information, obtains the original activity The interrupted location of the object, causing the newly created active object to continue running at the interrupted location. A6, the method as described in A1, it is characterized in that, described agent object judges whether active object is interrupted by communicating with independent process and/or its active object, if so, agent object sends activation information to independent process, in independent process Recreating the active object further includes: the proxy object judges whether the active object is interrupted by communicating with the independent process, and if so, prompts the user that the active object is interrupted; receives a reactivation instruction from the user; the proxy object sends activation information to the independent process, Active objects are recreated in-process. A7, the method as described in A1, it is characterized in that, described in the independent process that is independent of browser page process, create described active object that will actually create, described active object runs in independent process, also includes afterwards Steps: The proxy object calls the active object by communicating with the independent process, and/or the proxy object is called by the active object by communicating with the independent process. A8, the method as described in A1, it is characterized in that, page process creates a page thread for each page, intercepts the process that page thread creates active object, creates proxy object to replace the active object that actually will create, and described proxy object is in the page run in the thread; the independent process creates an object thread independent of the page thread for each page, and creates the active object actually to be created in the object thread, and the active object runs in the object thread; the proxy object passes through and The object thread communication judges whether the active object is interrupted, if so, the proxy object sends activation information to the object thread, and recreates the active object in the object thread. A9. The method according to A8, further comprising: when a problem occurs with the active object, suspending, lowering authority or terminating the object thread running the active object. A10, according to the method described in A8, it is characterized in that it also includes: when the independent process creates the active object, the proxy object transmits the communication handle and the proxy object identification of the page process or the page thread to the independent process or the object thread as the communication identification; After the independent process creates the active object, the active object transmits the communication handle of the independent process or object thread and the active object identifier as the communication identifier to the proxy object. A11. The method according to A8, wherein the independent process creates an object thread independent of the page thread for each page, including: the independent process creates a main thread, and the main thread creates an object thread independent of the page thread for each page. The object thread of the thread, the main thread is used to maintain the global configuration. A12. The method according to A1, wherein the active object includes an ActiveX object.
本文公开了B13、一种浏览器控件的中断恢复系统,其包括:页面进程模块,适于截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行;独立进程模块,适于在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行;恢复模块,适于令代理对象通过与独立进程和/或其活动对象通信判断活动对象是否中断,如果是,代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。B14、如B13所述的系统,其特征在于,所述恢复模块包括:判断子模块,适于令代理对象通过与独立进程和/或其活动对象通信判断活动对象是否卡死和/或独立进程是否崩溃;卡死子模块,适于在活动对象卡死时,令代理对象停止与所述活动对象的通信并向独立进程发送激活信息,在独立进程中重新创建活动对象;崩溃子模块,适于在独立进程崩溃时,创建新的独立进程,令代理对象向独立进程发送激活信息,在独立进程中重新创建活动对象。B15、如B14所述的系统,其特征在于,所述判断子模块,适于令代理对象定期询问独立进程和/或其活动对象的运行状态信息,并根据所述运行状态信息判断活动对象是否卡死和/或独立进程是否崩溃。B16、如B15所述的系统,其特征在于,所述判断子模块中,如果根据所述运行状态信息发现以下至少一项:活动对象所在线程的消息循环不活动,活动对象的窗口挂起,活动对象线程的一直忙,则判定活动对象卡死;如果根据所述运行状态信息发现以下至少一项:独立进程中的主窗口不存在,活动对象中的窗口不存在,则判定独立进程崩溃。B17、如B13所述的系统,其特征在于,所述恢复模块还适于令代理对象定期询问活动对象的运行信息,并保存所述运行信息;以及,还适于在活动对象中断时,令代理对象向独立进程发送所述激活信息和所述运行信息,根据所述激活信息在独立进程中重新创建活动对象,并且,根据所述运行信息,获取原活动对象的中断位置,令新创建的活动对象在所述中断位置处继续运行。B18、如B13所述的系统,其特征在于,所述系统还包括:交互模块,适于在活动对象中断的情况下,提示用户活动对象中断,以及接收用户的重激活指令,并将所述重激活指令发送给所述恢复模块。B19、如B13所述的系统,其特征在于,所述系统还包括:调用模块,适于令代理对象通过与独立进程通信,调用活动对象,和/或,代理对象通过与独立进程通信,被活动对象调用。B20、如B13所述的系统,其特征在于,所述页面进程模块,还适于令页面进程为每个页面创建一个页面线程,截获页面线程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面线程中运行;所述独立进程模块,还适于令独立进程为每个页面创建一个独立于页面线程的对象线程,在所述对象线程中创建所述实际要创建的活动对象,所述活动对象在对象线程中运行;所述恢复模块,还适于令代理对象通过与对象线程通信判断活动对象是否中断,如果是,代理对象向对象线程发送激活信息,在对象线程中重新创建活动对象。B21、如B20所述的系统,其特征在于,所述系统还包括:错误处理模块,适于当活动对象出现问题时,对运行所述活动对象的对象线程执行挂起、降低权限或终止操作。B22、如B20所述的系统,其特征在于,所述系统还包括:代理对象通信标识传送模块,适于令独立进程模块创建活动对象时,代理对象将页面进程或页面线程的通信句柄和代理对象标识作为通信标识,传送给独立进程或对象线程;活动对象通信标识传送模块,适于令独立进程模块创建活动对象后,活动对象将独立进程或对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。B23、如B20所述的系统,其特征在于,所述页面进程模块,还适于令独立进程创建主线程,主线程为每个页面创建一个对象线程,所述主线程用于维护全局配置。This paper discloses B13, a browser control interrupt recovery system, which includes: a page process module, which is suitable for intercepting the process of creating an active object by the browser's page process, creating a proxy object to replace the actual active object to be created, and the proxy The object runs in the page process; the independent process module is adapted to create the actual active object to be created in an independent process independent of the browser page process, and the active object runs in an independent process; the recovery module is adapted to Let the proxy object judge whether the active object is interrupted by communicating with the independent process and/or its active object, if so, the proxy object sends activation information to the independent process, and recreates the active object in the independent process. B14, the system as described in B13, it is characterized in that, described recovery module comprises: judging sub-module, is suitable for making proxy object judge whether active object is stuck and/or independent process by communicating with independent process and/or its active object Whether to crash or not; the stuck submodule is suitable for making the proxy object stop communicating with the active object and sending activation information to the independent process when the active object is stuck, and recreating the active object in the independent process; the crash submodule is suitable for When the independent process crashes, create a new independent process, make the proxy object send activation information to the independent process, and recreate the active object in the independent process. B15. The system as described in B14, wherein the judging submodule is adapted to make the proxy object periodically inquire about the running state information of the independent process and/or its active object, and judge whether the active object is Whether the stuck and/or standalone process crashed. B16, the system as described in B15, it is characterized in that, in described judging submodule, if find following at least one item according to described running state information: the message loop of active object place thread is inactive, the window of active object hangs, If the active object thread is busy all the time, then it is determined that the active object is stuck; if at least one of the following is found according to the running state information: the main window in the independent process does not exist, and the window in the active object does not exist, then it is determined that the independent process crashes. B17. The system as described in B13, wherein the recovery module is further adapted to make the proxy object periodically inquire about the running information of the active object, and save the running information; and, when the active object is interrupted, make the The proxy object sends the activation information and the running information to the independent process, recreates the active object in the independent process according to the activation information, and obtains the interruption position of the original active object according to the operating information, so that the newly created The active object continues to run where it left off. B18. The system as described in B13, characterized in that the system also includes: an interactive module, adapted to prompt the user that the active object is interrupted when the active object is interrupted, and receive a reactivation instruction from the user, and send the A reactivation instruction is sent to the restoration module. B19, the system as described in B13, is characterized in that, described system also comprises: calling module, is suitable for making proxy object communicate with independent process, call active object, and/or, proxy object communicates with independent process, is called Active object call. B20, the system as described in B13, it is characterized in that, described page process module is also suitable for making page process create a page thread for each page, intercepts the process that page thread creates active object, creates proxy object replacement to actually want to create The active object of the proxy object runs in the page thread; the independent process module is also suitable for making the independent process create an object thread independent of the page thread for each page, and create the actual object thread in the object thread The active object to be created, the active object runs in the object thread; the recovery module is also suitable for making the proxy object judge whether the active object is interrupted by communicating with the object thread, if so, the proxy object sends activation information to the object thread, Recreates the live object in the object thread. B21, the system as described in B20, is characterized in that, described system also comprises: error handling module, is suitable for when active object goes wrong, carries out suspending, lowering authority or termination operation to the object thread of running described active object . B22, the system as described in B20, it is characterized in that, described system also comprises: Proxy object communication identification transmission module, when being suitable for making independent process module create active object, proxy object will be the communication handle of page process or page thread and agent The object identification is sent to the independent process or object thread as the communication identification; the active object communication identification transmission module is suitable for making the independent process module create the active object, and the active object uses the communication handle and the active object identification of the independent process or object thread as the communication identification , passed to the proxy object. B23, the system as described in B20, is characterized in that, described page process module is also suitable for making independent process create main thread, and main thread creates an object thread for each page, and described main thread is used for maintaining global configuration.
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210572070.5A CN103064750B (en) | 2012-12-25 | 2012-12-25 | A kind of interruption restoration methods of browser control part and system |
CN201610182600.3A CN105843697B (en) | 2012-12-25 | 2012-12-25 | A kind of the interruption restoration methods and system of browser control part |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210572070.5A CN103064750B (en) | 2012-12-25 | 2012-12-25 | A kind of interruption restoration methods of browser control part and system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610182600.3A Division CN105843697B (en) | 2012-12-25 | 2012-12-25 | A kind of the interruption restoration methods and system of browser control part |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103064750A CN103064750A (en) | 2013-04-24 |
CN103064750B true CN103064750B (en) | 2016-04-27 |
Family
ID=48107383
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610182600.3A Expired - Fee Related CN105843697B (en) | 2012-12-25 | 2012-12-25 | A kind of the interruption restoration methods and system of browser control part |
CN201210572070.5A Active CN103064750B (en) | 2012-12-25 | 2012-12-25 | A kind of interruption restoration methods of browser control part and system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610182600.3A Expired - Fee Related CN105843697B (en) | 2012-12-25 | 2012-12-25 | A kind of the interruption restoration methods and system of browser control part |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN105843697B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843697A (en) * | 2012-12-25 | 2016-08-10 | 北京奇虎科技有限公司 | Interruption recovery method and system of browser control |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014101455A1 (en) * | 2012-12-25 | 2014-07-03 | 北京奇虎科技有限公司 | Method, system, and browser for executing active object of browser |
CN104461829B (en) * | 2014-12-15 | 2016-08-24 | 北京奇虎科技有限公司 | Calculating equipment optimization method and apparatus based on window application |
CN108958980B (en) * | 2018-07-23 | 2021-07-09 | Oppo(重庆)智能科技有限公司 | Method, electronic device and computer-readable storage medium for preventing abnormal activity life cycle |
CN110879757B (en) * | 2018-09-05 | 2024-02-27 | 广州弘度信息科技有限公司 | Restarting method and device for abnormal operation of client and computer equipment |
CN110781080B (en) * | 2019-10-11 | 2023-06-30 | 北京小米移动软件有限公司 | Program debugging method and device and storage medium |
CN113986447B (en) * | 2021-12-24 | 2022-03-29 | 畅捷通信息技术股份有限公司 | Interaction method and device of local application service and browser and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192174A (en) * | 2006-11-30 | 2008-06-04 | 英业达股份有限公司 | Recovery processing method and system after disk array device capacity expansion interruption |
CN102314510A (en) * | 2011-09-15 | 2012-01-11 | 奇智软件(北京)有限公司 | Method and system for executing browser control |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426657B2 (en) * | 2004-07-09 | 2008-09-16 | International Business Machines Corporation | System and method for predictive processor failure recovery |
CN101996106B (en) * | 2010-12-17 | 2012-12-05 | 南京中兴力维软件有限公司 | Method for monitoring software running state |
CN102156663B (en) * | 2011-03-22 | 2013-07-31 | 北京书生国际信息技术有限公司 | Implementation method and device of plugin |
CN105843697B (en) * | 2012-12-25 | 2019-05-24 | 北京奇虎科技有限公司 | A kind of the interruption restoration methods and system of browser control part |
-
2012
- 2012-12-25 CN CN201610182600.3A patent/CN105843697B/en not_active Expired - Fee Related
- 2012-12-25 CN CN201210572070.5A patent/CN103064750B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192174A (en) * | 2006-11-30 | 2008-06-04 | 英业达股份有限公司 | Recovery processing method and system after disk array device capacity expansion interruption |
CN102314510A (en) * | 2011-09-15 | 2012-01-11 | 奇智软件(北京)有限公司 | Method and system for executing browser control |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843697A (en) * | 2012-12-25 | 2016-08-10 | 北京奇虎科技有限公司 | Interruption recovery method and system of browser control |
CN105843697B (en) * | 2012-12-25 | 2019-05-24 | 北京奇虎科技有限公司 | A kind of the interruption restoration methods and system of browser control part |
Also Published As
Publication number | Publication date |
---|---|
CN105843697A (en) | 2016-08-10 |
CN105843697B (en) | 2019-05-24 |
CN103064750A (en) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103064750B (en) | A kind of interruption restoration methods of browser control part and system | |
CN103645957B (en) | A kind of resources of virtual machine management-control method and device | |
US8468524B2 (en) | Inter-virtual machine time profiling of I/O transactions | |
CN103631664B (en) | Communication means between a kind of process and device | |
CN106293781B (en) | The method and apparatus of online upgrading machine virtual machine | |
CN102999387B (en) | Process running gear and method | |
CN1722092A (en) | VEX-virtual extension framework | |
CN102314510A (en) | Method and system for executing browser control | |
WO2012163221A1 (en) | Display processing method, apparatus and computer system | |
JP2005011342A5 (en) | ||
CN102722559A (en) | Method, device and system for controlling processes of abnormal pages | |
CN109766196A (en) | A task scheduling method, device and equipment | |
CN103064680B (en) | The player method of plug-in unit and device in browser | |
CN103077092B (en) | Browser control part restoration methods and system | |
CN111274019A (en) | A data processing method, apparatus and computer readable storage medium | |
JP2016110183A (en) | Information processing system and control method thereof | |
CN102279766A (en) | Method and system for concurrently simulating processors and scheduler | |
CN116820908A (en) | Locust-based performance testing methods, devices, equipment and media | |
CN105630672A (en) | Automatic application monitoring method and device | |
CN111310638A (en) | A data processing method, apparatus and computer readable storage medium | |
CN103077047B (en) | A kind of plug-in playback method and device | |
CN103077016B (en) | A kind of moving object creation method, device and browser | |
CN103077194B (en) | The creation method of browser moving object, device and browser | |
CN111026945A (en) | Multi-platform crawler scheduling method and device and storage medium | |
CN105550050A (en) | Hardware communication method and apparatus |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220725 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. |