CN105068866A - 一种浏览器输入控件的进程控制方法和装置 - Google Patents

一种浏览器输入控件的进程控制方法和装置 Download PDF

Info

Publication number
CN105068866A
CN105068866A CN201510494329.2A CN201510494329A CN105068866A CN 105068866 A CN105068866 A CN 105068866A CN 201510494329 A CN201510494329 A CN 201510494329A CN 105068866 A CN105068866 A CN 105068866A
Authority
CN
China
Prior art keywords
subprocess
input method
browser
host process
independent
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.)
Granted
Application number
CN201510494329.2A
Other languages
English (en)
Other versions
CN105068866B (zh
Inventor
孙鹏
党壮
任寰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510494329.2A priority Critical patent/CN105068866B/zh
Publication of CN105068866A publication Critical patent/CN105068866A/zh
Application granted granted Critical
Publication of CN105068866B publication Critical patent/CN105068866B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种浏览器输入控件的进程控制方法和装置,以及,一种浏览器系统。其中方法包括:启动浏览器主进程;所述浏览器主进程创建浏览器输入控件的第一独立子进程;注入第一输入法程序到所述第一独立子进程;所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;注入第二输入法程序到所述第二独立子进程。本申请能够在浏览器中运行的输入法插件进程崩溃卡死时,不影响浏览器主进程,用户能够继续的浏览网页,给用户良好的上网体验。并且,及时给用户建议更换质量稳定的输入法。

Description

一种浏览器输入控件的进程控制方法和装置
本发明专利申请是申请日为2012年5月4日、申请号为201210138057.9、名称为“一种浏览器输入控件的进程控制方法和装置”的中国发明专利申请的分案申请。
技术领域
本申请涉及网页内容交互的技术领域,特别是涉及一种浏览器输入控件的进程控制方法,一种浏览器输入控件的进程控制装置,以及,一种浏览器系统。
背景技术
当今,输入法是计算机使用中的一项重要功能,在浏览器的地址栏和搜索栏等需要输入关键词的信息输入栏,输入法更加频繁的使用。
在浏览器中应用输入法的时候,会出现输入法进程突然卡死或崩溃。这个时候,浏览器也会停止了运行或者崩溃,需要关闭整个浏览器进程后重启。
出现上述情况主要是由于现有技术中,输入法是以插件形式,注入浏览器,在浏览器的上加载必要的文件,对输入指令执行相应的操作。但是在具体应用中,因为传统程序中浏览器中程序的结构较为松散,程序运行时的必要文件会出现很大的情况。在输入法运行时会发生非核心文件加载失败的情况,需要重启解决。
所以在传统程序中,输入法作是系统的一个重要插件,但是如果有任何一款输入法没有经过严格的兼容性和稳定性测试,软件质量没有有效的保证,非常容易就导致浏览器在使用的过程中出现崩溃,卡死,严重的影响了用户的上网体验。
因此,本领域技术人员迫切需要解决的问题是:提供一种浏览器输入控件的进程控制方法和装置,用以在浏览器中运行的输入法插件进程崩溃卡死时,不影响浏览器主进程,用户能够继续的浏览网页,给用户良好的上网体验。并且,及时给用户建议更换质量稳定的输入法。
发明内容
本申请所要解决的技术问题是提供一种浏览器输入控件的进程控制方法,用以在浏览器中运行的输入法插件进程崩溃卡死时,不影响浏览器主进程,用户能够继续的浏览网页,给用户良好的上网体验。并且,及时给用户建议更换质量稳定的输入法。
相应的,本申请还提供了一种浏览器输入控件的进程控制装置,用以保障上述方法在实际中的应用。
为了解决上述问题,本申请公开了一种浏览器输入控件的进程控制方法,具体可以包括:
启动浏览器主进程;
所述浏览器主进程创建浏览器输入控件的第一独立子进程;
注入第一输入法程序到所述第一独立子进程;
所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
注入第二输入法程序到所述第二独立子进程。
优选的是,所述第一独立子进程控制第一输入法程序;所述浏览器主进程创建浏览器输入控件的第一独立子进程的步骤可以包括:
浏览器主进程加载输入控件;
在输入控件中调用子进程创建函数,创建第一独立子进程。
优选的是,所述的方法,还可以包括:
所述浏览器主进程创建监控子进程。
优选的是,所述浏览器主进程和子进程、子进程和子进程之间搭建信息交互通道;所述第二独立子进程控制第二输入法程序;所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程的步骤可以包括:
所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程;
所述浏览器主进程关闭所述第一独立子进程;
在输入控件中调用子进程创建函数,创建第二独立子进程。
优选的是,所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程的步骤可以包括:
所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;
所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。
优选的是,所述第一输入法程序可以包括浏览器主进程记录的用户首选的输入法;所述第二输入法程序可以包括浏览器默认的输入法或用户预置的输入法。
优选的是,所述注入第一输入法程序到所述第一独立子进程的步骤可以包括:
浏览器主进程在所述输入控件中调用输入法切换接口;
在所述第一子进程注入所述用户首选的输入法。
优选的是,所述注入第二输入法程序到所述第二独立子进程的步骤可以包括:
浏览器主进程在所述输入控件中调用输入法切换接口;
在所述第二子进程注入所述浏览器默认的输入法或用户预置的输入法。
优选的是,所述的方法,还可以包括:
统计所述输入法子进程出现异常的频率,生成提示信息。
优选的是,所述提示信息可以包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。
本申请同时提供了一种浏览器输入控件的进程控制装置,具体可以包括:
主进程启动模块、用于启动浏览器主进程;
第一独立子进程创建模块、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;
第一输入法程序注入模块、用于注入第一输入法程序到所述第一独立子进程;
第二独立子进程创建模块、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
第二输入法程序注入模块、用于注入第二输入法程序到所述第二独立子进程。
优选的是,所述第一独立子进程控制第一输入法程序;所述第一独立子进程创建模块可以包括:
输入控件加载子模块、用于浏览器主进程加载输入控件;
创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第一独立子进程。
优选的是,所述的装置,还可以包括:
监控子进程创建模块、用于所述浏览器主进程创建监控子进程。
优选的是,所述浏览器主进程和子进程、子进程和子进程之间搭建信息交互通道;所述第二独立子进程控制第二输入法程序;所述第二独立子进程创建模块可以包括:
异常消息发送子模块、用于所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程;
第一独立子进程关闭子模块、用于所述浏览器主进程关闭所述第一独立子进程;
创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第二独立子进程。
优选的是,所述异常消息发送子模块可以包括:
反馈信息获取单元、用于所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;
异常消息传递单元、用于所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。
优选的是,所述第一输入法程序可以包括浏览器主进程记录的用户首选的输入法;所述第二输入法程序可以包括浏览器默认的输入法或用户预置的输入法。
优选的是,所述第一输入法程序注入模块可以包括:
切换接口调用子模块、用于浏览器主进程在所述输入控件中调用输入法切换接口;
首选输入法注入子模块、用于在所述第一子进程注入所述用户首选的输入法。
优选的是,所述第二输入法程序注入模块可以包括:
切换接口调用子模块、用于浏览器主进程在所述输入控件中调用输入法切换接口;
替换输入法注入子模块、用于在所述第二子进程注入所述浏览器默认的输入法或用户预置的输入法。
优选的是,所述的装置,还可以包括:
提示信息生成模块、用于统计所述输入法子进程出现异常的频率,生成提示信息。
优选的是,所述提示信息可以包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。
本申请还同时提供了一种浏览器系统,具体可以包括:
主进程启动模块、用于启动浏览器主进程;
第一独立子进程创建模块、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;
第一输入法程序注入模块、用于注入第一输入法程序到所述第一独立子进程;
第二独立子进程创建模块、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
第二输入法程序注入模块、用于注入第二输入法程序到所述第二独立子进程。
与现有技术相比,本申请具有以下优点:
本申请通过浏览器主进程在加载地址栏是,创建一个独立的输入法子进程。所述浏览器主进程通过创建另一个监控子进程对输入法子进程进行监控;在输入法子进程卡死或崩溃的情况下,监控子进程将消息发送给浏览器主进程,浏览器主进程通过交互通道关闭输入法子进程,不影响浏览器主进程继续运行。
并且,当输入法子进程卡死或崩溃时,浏览器主进程通过弹出提示信息,提示输入法子进程异常和提供是否更换输入法子进程的选项。还可以通过分析输入法子进程的异常率,推荐最优的输入法子进程。
附图说明
图1是本申请一种浏览器输入控件的进程控制方法实施例1的流程图;
图2是本申请一种浏览器输入控件的进程控制方法实施例2的流程图;
图3是本申请一种浏览器输入控件的进程控制装置实施例1的结构框图;
图4是本申请一种浏览器输入控件的进程控制装置实施例2的结构框图;
图5是本申请一种浏览器系统实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,通过浏览器主进程在加载地址栏是,创建一个独立的输入法子进程。所述浏览器主进程通过创建另一个监控子进程对输入法子进程进行监控;在输入法子进程卡死或崩溃的情况下,监控子进程将消息发送给浏览器主进程,浏览器主进程通过交互通道关闭输入法子进程,不影响浏览器主进程继续运行。并且,当输入法子进程卡死或崩溃时,浏览器主进程通过弹出提示信息,提示输入法子进程异常和提供是否更换输入法子进程的选项。还可以通过分析输入法子进程的异常率,推荐最优的输入法子进程。
参照图1,示出了一种浏览器输入控件的进程控制方法实施例1的流程图,具体可以包括以下步骤:
步骤101、启动浏览器主进程;
在本申请的一种优选实施例中,所述浏览器主进程用于触发页面展示框架窗口加载页面,所述页面中包括输入控件。
在具体实现中,触发浏览器主进程后浏览器主进程可以创建多个子进程。当加载浏览器页面中的各个输入控件,包括加载浏览器的地址栏和搜索栏等。
步骤102、所述浏览器主进程创建浏览器输入控件的第一独立子进程;
在本申请的一种优选实施例中,所述第一独立子进程控制第一输入法程序;所述步骤102具体可以包括以下子步骤:
子步骤S11、浏览器主进程加载输入控件;
子步骤S12、在输入控件中调用子进程创建函数,创建第一独立子进程。
在具体实现中,浏览器主进程在触发之后,是逐条创建子进程的。当加载到功能控件的时候,可以创建对应的子进程,所以在加载输入控件的时候,浏览器主进程开始创建输入控件中的第一独立子进程。
步骤103、注入第一输入法程序到所述第一独立子进程;
步骤104、所述浏览器主进程创建监控子进程;
在具体实现中,主进程和子进程,子进程和子进程之间需要相互发送消息,反馈信息,可以通过多种现有方式实现跨进程通信。本申请主要采用搭建进程间的交互通道来实现进程之间的交互。
这里的交互通道可以采用管道的方式搭建,管道可以用于两个不同进程之间的通信。将一个主进程创建一个管道,并调用fork函数创建一个子进程后,主进程关闭读管道端,子进程关闭写管道端,这样提供了两个进程之间数据流动的一种方式。
步骤105、所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
在本申请的一种优选实施例中,所述第二独立子进程控制第二输入法程序;所述步骤105具体可以包括以下子步骤:
子步骤S21、所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程;
在本申请的一种优选实施例中,所述子步骤S21具体可以包括以下单元:
所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;
所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。
子步骤S22、所述浏览器主进程关闭所述第一独立子进程;
子步骤S23、在输入控件中调用子进程创建函数,创建第二独立子进程。
步骤106、注入第二输入法程序到所述第二独立子进程。
在本申请的一种优选实施例中,所述第一输入法程序包括浏览器主进程记录的用户首选的输入法;所述第二输入法程序包括浏览器默认的输入法或用户预置的输入法。
参照图2,示出了一种浏览器输入控件的进程控制方法实施例2的流程图,具体可以包括以下步骤:
步骤201、启动浏览器主进程;
步骤202、所述浏览器主进程创建浏览器输入控件的第一独立子进程;
步骤203、注入第一输入法程序到所述第一独立子进程;
在本申请的一种优选实施例中,所述步骤203具体可以包括以下子步骤:
子步骤S31、浏览器主进程在所述输入控件中调用输入法切换接口;
子步骤S32、在所述第一子进程注入所述用户首选的输入法。
步骤204、所述浏览器主进程创建监控子进程;
在具体实现中,浏览器主进程可以创建多个子进程,其中可以创建一个监控子进程对其他的子进程进行监控。为了有效监控各个子进程的运行情况,可以首先创建监控子进程。
在具体实现中,可以通过跨进程通信来实现主进程对子进程建的控制,可以通过对输入法初始化,对进程间接口进行搭建交互通道,用于浏览器主进程和输入法子进程之间发送消息。
在浏览器主进程和监控子进程之间也可以设置交互通道,监控子进程可以通过交互通道反馈消息给浏览器主进程。
步骤205、所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
步骤206、注入第二输入法程序到所述第二独立子进程;
在本申请的一种优选实施例中,所述步骤203具体可以包括以下子步骤:
子步骤S41、浏览器主进程在所述输入控件中调用输入法切换接口;
子步骤S42、在所述第二子进程注入所述浏览器默认的输入法或用户预置的输入法。
步骤207、统计所述输入法子进程出现异常的频率,生成提示信息。
在本申请的一种优选实施例中,所述提示信息包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。
在具体实现中,浏览器页面可以弹出一个信息提示框,在提示框中告诉用户当前的输入法出现了异常情况,已经关闭。同时,在信息提示框中可以附有一个选项框,提供用户是否选择自动替换另一个输入法。另一个输入法可以是默认的替换输入法,也可以是用户预设的用于替换的输入法。
信息提示框中还可以告知用户当前输入法不稳定,容易出现卡死和崩溃的情况,建议用户更换首选输入法。判断输入法的稳定性可以统计所述输入法出现异常的频率,当所述频率超过一个预设阈值时,可以判定此输入法不稳定。
在具体实现中,可以通过统计一个时间段的输入法子进程异常次数,可以用输入法子进程异常次数除以时间段中输入法子进程运行总次数得到输入法子进程异常率。
如:统计时间段设定为1周,总共在浏览器地址栏运行输入法子进程20次,其中有4次输入法子进程出现异常,因此4/20=20%,则该输入法子进程异常率为20%。与预设的输入法子进程异常阈值3%进行比较,由于该输入法子进程异常率超过了预设的输入法子进程异常阈值,所以此输入法不稳定。
为了方便本领域技术人员更好地理解本申请,以下通过一个完整示例更进一步说明本申请:
1、启动浏览器主进程,浏览器页面开始逐条加载功能栏。
2、浏览器首先加载监控功能组件,创建监控子进程;
3、当浏览器加载某输入控件的时候,浏览器主进程创建一个独立子进程“A”;并搭建浏览器主进程和输入法子进程之间的交互通道,以及搭建浏览器主进程和监控子进程之间、“A”和监控子进程之间的交互通道。
4、浏览器主进程将用户首选输入法注入“A”。
5、监控子进程发现输入法子进程“A”在运行中卡死,监控子进程通过交互通道将输入法子进程“A”卡死出现异常的消息发送给浏览器住进程;浏览器主进程在获取输入法子进程“A”卡死的信息后,通过交互通道发送关闭输入法子进程“A”的消息。
6、浏览器主进程创建一个独立子进程“B”;并搭建浏览器主进程和“B”之间的交互通道,以及搭建浏览器主进程和监控子进程之间、“B”和监控子进程之间的交互通道。
7、,浏览器主进程在桌面调用输入法子进程切换接口,调用浏览器默认输入法注入“B”。
8、浏览器主进程统计一周内,用户首选输入法的异常情况,得到用户首选输入法的异常率为40%,与预设的异常率阈值3%对比后,发现超出了预设阈值,浏览器页面弹出提示信息框,提示用户首选输入法不稳定,容易出现崩溃和卡死的现象,建议更换输入法。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
参照图3,示出了一种浏览器输入控件的进程控制装置实施例1的结构框图,具体可以包括:
主进程启动模块301、用于启动浏览器主进程;
第一独立子进程创建模块302、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;
在本申请的一种优选实施例中,所述第一独立子进程控制第一输入法程序;所述第一独立子进程创建模块302具体可以包括以下子模块:
输入控件加载子模块、用于浏览器主进程加载输入控件;
创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第一独立子进程。
第一输入法程序注入模块303、用于注入第一输入法程序到所述第一独立子进程;
在本申请的一种优选实施例中,所述第一输入法程序注入模块303具体可以包括以下子模块:
切换接口调用子模块、用于浏览器主进程在所述输入控件中调用输入法切换接口;
首选输入法注入子模块、用于在所述第一子进程注入所述用户首选的输入法。
第二独立子进程创建模块304、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
在本申请的一种优选实施例中,所述第二独立子进程控制第二输入法程序;所述第二独立子进程创建模块304具体可以包括以下子模块:
异常消息发送子模块、用于所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程;
在本申请的一种优选实施例中,所述异常消息发送子模块具体可以包括以下单元:
反馈信息获取单元、用于所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;
异常消息传递单元、用于所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。
第一独立子进程关闭子模块、用于所述浏览器主进程关闭所述第一独立子进程;
创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第二独立子进程。
第二输入法程序注入模块305、用于注入第二输入法程序到所述第二独立子进程。
在本申请的一种优选实施例中,所述第二输入法程序注入模块具体可以包括以下子步骤:
切换接口调用子模块、用于浏览器主进程在所述输入控件中调用输入法切换接口;
替换输入法注入子模块、用于在所述第二子进程注入所述浏览器默认的输入法或用户预置的输入法。
参照图4,示出了一种浏览器输入控件的进程控制装置实施例2的结构框图,具体可以包括:
主进程启动模块401、用于启动浏览器主进程;
第一独立子进程创建模块402、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;
第一输入法程序注入模块403、用于注入第一输入法程序到所述第一独立子进程;
监控子进程创建模块404、用于所述浏览器主进程创建监控子进程;
第二独立子进程创建模块405、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
第二输入法程序注入模块406、用于注入第二输入法程序到所述第二独立子进程;
提示信息生成模块407、用于统计所述输入法子进程出现异常的频率,生成提示信息。
在本申请的一种优选实施例中,所述提示信息包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。
参照图5,示出了一种浏览器系统实施例的结构框图,具体可以包括:
主进程启动模块501、用于启动浏览器主进程;
第一独立子进程创建模块502、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;
第一输入法程序注入模块503、用于注入第一输入法程序到所述第一独立子进程;
第二独立子进程创建模块504、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
第二输入法程序注入模块505、用于注入第二输入法程序到所述第二独立子进程。
由于所述装置实施例基本相应于前述方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此就不赘述了。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种浏览器输入控件的进程控制方法,一种浏览器输入控件的进程控制装置,以及,一种浏览器系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
本申请实施例公开了A1、一种浏览器输入控件的进程控制方法,包括:
启动浏览器主进程;
所述浏览器主进程创建浏览器输入控件的第一独立子进程;
注入第一输入法程序到所述第一独立子进程;
所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
注入第二输入法程序到所述第二独立子进程。
A2、如A1所述的方法,所述第一独立子进程控制第一输入法程序;所述浏览器主进程创建浏览器输入控件的第一独立子进程的步骤包括:
浏览器主进程加载输入控件;
在输入控件中调用子进程创建函数,创建第一独立子进程。
A3、如A2所述的方法,还包括:
所述浏览器主进程创建监控子进程。
A4、如A3所述的方法,所述浏览器主进程和子进程、子进程和子进程之间搭建信息交互通道;所述第二独立子进程控制第二输入法程序;所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程的步骤包括:
所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程;
所述浏览器主进程关闭所述第一独立子进程;
在输入控件中调用子进程创建函数,创建第二独立子进程。
A5、如A4所述的方法,所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程的步骤包括:
所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;
所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。
A6、如A5所述的方法,所述第一输入法程序包括浏览器主进程记录的用户首选的输入法;所述第二输入法程序包括浏览器默认的输入法或用户预置的输入法。
A7、如A6所述的方法,所述注入第一输入法程序到所述第一独立子进程的步骤包括:
浏览器主进程在所述输入控件中调用输入法切换接口;
在所述第一子进程注入所述用户首选的输入法。
A8、如A7所述的方法,所述注入第二输入法程序到所述第二独立子进程的步骤包括:
浏览器主进程在所述输入控件中调用输入法切换接口;
在所述第二子进程注入所述浏览器默认的输入法或用户预置的输入法。
A9、如A8所述的方法,还包括:
统计所述输入法子进程出现异常的频率,生成提示信息。
A10、如A9所述的方法,所述提示信息包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。
本申请实施例还公开了B11、一种浏览器输入控件的进程控制装置,包括:
主进程启动模块、用于启动浏览器主进程;
第一独立子进程创建模块、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;
第一输入法程序注入模块、用于注入第一输入法程序到所述第一独立子进程;
第二独立子进程创建模块、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
第二输入法程序注入模块、用于注入第二输入法程序到所述第二独立子进程。
B12、如B11所述的装置,所述第一独立子进程控制第一输入法程序;所述第一独立子进程创建模块包括:
输入控件加载子模块、用于浏览器主进程加载输入控件;
创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第一独立子进程。
B13、如B12所述的装置,还包括:
监控子进程创建模块、用于所述浏览器主进程创建监控子进程。
B14、如B13所述的装置,所述浏览器主进程和子进程、子进程和子进程之间搭建信息交互通道;所述第二独立子进程控制第二输入法程序;所述第二独立子进程创建模块包括:
异常消息发送子模块、用于所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程;
第一独立子进程关闭子模块、用于所述浏览器主进程关闭所述第一独立子进程;
创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第二独立子进程。
B15、如B14所述的装置,所述异常消息发送子模块包括:
反馈信息获取单元、用于所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;
异常消息传递单元、用于所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。
B16、如B15所述的装置,所述第一输入法程序包括浏览器主进程记录的用户首选的输入法;所述第二输入法程序包括浏览器默认的输入法或用户预置的输入法。
B17、如B16所述的装置,所述第一输入法程序注入模块包括:
切换接口调用子模块、用于浏览器主进程在所述输入控件中调用输入法切换接口;
首选输入法注入子模块、用于在所述第一子进程注入所述用户首选的输入法。
B18、如B17所述的装置,所述第二输入法程序注入模块包括:
切换接口调用子模块、用于浏览器主进程在所述输入控件中调用输入法切换接口;
替换输入法注入子模块、用于在所述第二子进程注入所述浏览器默认的输入法或用户预置的输入法。
B19、如B18所述的装置,还包括:
提示信息生成模块、用于统计所述输入法子进程出现异常的频率,生成提示信息。
B20、如B19所述的装置,所述提示信息包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。
本申请实施例还公开了C21、一种浏览器系统,包括:
主进程启动模块、用于启动浏览器主进程;
第一独立子进程创建模块、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;
第一输入法程序注入模块、用于注入第一输入法程序到所述第一独立子进程;
第二独立子进程创建模块、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
第二输入法程序注入模块、用于注入第二输入法程序到所述第二独立子进程。
C22、如C21所述的系统,所述第一独立子进程控制第一输入法程序;所述第一独立子进程创建模块包括:
输入控件加载子模块、用于浏览器主进程加载输入控件;
创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第一独立子进程。
C23、如C22所述的系统,还包括:
监控子进程创建模块、用于所述浏览器主进程创建监控子进程。
C24、如C23所述的系统,所述浏览器主进程和子进程、子进程和子进程之间搭建信息交互通道;所述第二独立子进程控制第二输入法程序;所述第二独立子进程创建模块包括:
异常消息发送子模块、用于所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程;
第一独立子进程关闭子模块、用于所述浏览器主进程关闭所述第一独立子进程;
创建函数调用子模块、用于在输入控件中调用子进程创建函数,创建第二独立子进程。
C25、如C24所述的系统,所述异常消息发送子模块包括:
反馈信息获取单元、用于所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;
异常消息传递单元、用于所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。
C26、如C25所述的系统,所述第一输入法程序包括浏览器主进程记录的用户首选的输入法;所述第二输入法程序包括浏览器默认的输入法或用户预置的输入法。
C27、如C26所述的系统,所述第一输入法程序注入模块包括:
切换接口调用子模块、用于浏览器主进程在所述输入控件中调用输入法切换接口;
首选输入法注入子模块、用于在所述第一子进程注入所述用户首选的输入法。
C28、如C27所述的系统,所述第二输入法程序注入模块包括:
切换接口调用子模块、用于浏览器主进程在所述输入控件中调用输入法切换接口;
替换输入法注入子模块、用于在所述第二子进程注入所述浏览器默认的输入法或用户预置的输入法。
C29、如C28所述的系统,还包括:
提示信息生成模块、用于统计所述输入法子进程出现异常的频率,生成提示信息。
B30、如C29所述的系统,所述提示信息包括当前输入法子进程异常的提示信息;以及,是否更换首选输入法的选项。

Claims (10)

1.一种浏览器输入控件的进程控制方法,其特征在于,包括:
启动浏览器主进程;
所述浏览器主进程创建浏览器输入控件的第一独立子进程;
注入第一输入法程序到所述第一独立子进程;
所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
注入第二输入法程序到所述第二独立子进程。
2.如权利要求1所述的方法,其特征在于,所述第一独立子进程控制第一输入法程序;所述浏览器主进程创建浏览器输入控件的第一独立子进程的步骤包括:
浏览器主进程加载输入控件;
在输入控件中调用子进程创建函数,创建第一独立子进程。
3.如权利要求2所述的方法,其特征在于,还包括:
所述浏览器主进程创建监控子进程。
4.如权利要求3所述的方法,其特征在于,所述浏览器主进程和子进程、子进程和子进程之间搭建信息交互通道;所述第二独立子进程控制第二输入法程序;所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程的步骤包括:
所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程;
所述浏览器主进程关闭所述第一独立子进程;
在输入控件中调用子进程创建函数,创建第二独立子进程。
5.如权利要求4所述的方法,其特征在于,所述监控子进程通过所述信息交互通道将第一输入法程序异常的消息发送给所述浏览器主进程的步骤包括:
所述监控子进程监控所述第一子进程的运行,获取第一输入法程序异常的反馈信息;
所述监控子进程将所述反馈信息编写成异常消息,通过所述交互通道发送给所述浏览器主进程。
6.如权利要求5所述的方法,其特征在于,所述第一输入法程序包括浏览器主进程记录的用户首选的输入法;所述第二输入法程序包括浏览器默认的输入法或用户预置的输入法。
7.如权利要求6所述的方法,其特征在于,所述注入第一输入法程序到所述第一独立子进程的步骤包括:
浏览器主进程在所述输入控件中调用输入法切换接口;
在所述第一子进程注入所述用户首选的输入法。
8.如权利要求7所述的方法,其特征在于,所述注入第二输入法程序到所述第二独立子进程的步骤包括:
浏览器主进程在所述输入控件中调用输入法切换接口;
在所述第二子进程注入所述浏览器默认的输入法或用户预置的输入法。
9.一种浏览器输入控件的进程控制装置,其特征在于,包括:
主进程启动模块、用于启动浏览器主进程;
第一独立子进程创建模块、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;
第一输入法程序注入模块、用于注入第一输入法程序到所述第一独立子进程;
第二独立子进程创建模块、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
第二输入法程序注入模块、用于注入第二输入法程序到所述第二独立子进程。
10.一种浏览器系统,其特征在于,包括:
主进程启动模块、用于启动浏览器主进程;
第一独立子进程创建模块、用于所述浏览器主进程创建浏览器输入控件的第一独立子进程;
第一输入法程序注入模块、用于注入第一输入法程序到所述第一独立子进程;
第二独立子进程创建模块、用于所述浏览器主进程获知第一输入法程序异常,关闭所述第一独立子进程,并创建浏览器输入控件的第二独立子进程;
第二输入法程序注入模块、用于注入第二输入法程序到所述第二独立子进程。
CN201510494329.2A 2012-05-04 2012-05-04 一种浏览器输入控件的进程控制方法和装置 Expired - Fee Related CN105068866B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510494329.2A CN105068866B (zh) 2012-05-04 2012-05-04 一种浏览器输入控件的进程控制方法和装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210138057.9A CN102681891B (zh) 2012-05-04 2012-05-04 一种浏览器输入控件的进程控制方法和装置
CN201510494329.2A CN105068866B (zh) 2012-05-04 2012-05-04 一种浏览器输入控件的进程控制方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201210138057.9A Division CN102681891B (zh) 2012-05-04 2012-05-04 一种浏览器输入控件的进程控制方法和装置

Publications (2)

Publication Number Publication Date
CN105068866A true CN105068866A (zh) 2015-11-18
CN105068866B CN105068866B (zh) 2019-06-04

Family

ID=46813860

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201210138057.9A Active CN102681891B (zh) 2012-05-04 2012-05-04 一种浏览器输入控件的进程控制方法和装置
CN201510494329.2A Expired - Fee Related CN105068866B (zh) 2012-05-04 2012-05-04 一种浏览器输入控件的进程控制方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201210138057.9A Active CN102681891B (zh) 2012-05-04 2012-05-04 一种浏览器输入控件的进程控制方法和装置

Country Status (1)

Country Link
CN (2) CN102681891B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713453A (zh) * 2016-12-22 2017-05-24 腾讯科技(深圳)有限公司 一种应用信息监控方法和装置
CN108415762A (zh) * 2017-02-10 2018-08-17 凯欧斯科技(香港)有限公司 移动装置之应用管理方法及移动装置
WO2020078297A1 (zh) * 2018-10-16 2020-04-23 华为技术有限公司 一种冻屏处理方法及终端
CN113032080A (zh) * 2021-03-31 2021-06-25 广州虎牙科技有限公司 页面实现方法、应用程序、电子设备及存储介质
CN114490265A (zh) * 2022-01-29 2022-05-13 北京博睿宏远数据科技股份有限公司 一种数据采集方法、装置、设备及存储介质

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681891B (zh) * 2012-05-04 2015-09-09 北京奇虎科技有限公司 一种浏览器输入控件的进程控制方法和装置
CN103034495A (zh) * 2012-12-12 2013-04-10 北京奇虎科技有限公司 对网页中插件进行隔离的浏览器及网页插件的隔离方法
CN102982169B (zh) * 2012-12-12 2017-05-24 北京奇虎科技有限公司 用于隔离网页插件的浏览器和方法
CN103077092B (zh) * 2012-12-25 2015-09-30 北京奇虎科技有限公司 浏览器控件恢复方法及系统
CN103647768A (zh) * 2013-12-06 2014-03-19 北京奇虎科技有限公司 游戏客户端及其实现方法
CN104268019B (zh) * 2014-09-23 2018-04-27 广州猎豹网络科技有限公司 一种软件运行方法、装置及终端
CN104317605B (zh) * 2014-11-18 2017-11-24 东方网力科技股份有限公司 一种组件运行方法及装置
CN106470360B (zh) 2015-08-20 2019-12-10 腾讯科技(深圳)有限公司 一种视频播放器调用方法及装置
CN105446774B (zh) * 2015-11-19 2018-11-13 广东欧珀移动通信有限公司 一种插件处理方法及用户终端
CN106909574A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 加速实现浏览器渲染的方法及浏览器
CN105975325A (zh) * 2016-04-22 2016-09-28 浙江工业大学 一种自动跳出阻塞式代码段的控制方法
CN110071880B (zh) * 2018-01-24 2021-06-18 北京金山云网络技术有限公司 报文转发方法、转发装置、服务器及存储介质
CN108322602B (zh) * 2018-01-29 2020-07-21 山东中邮通信科技有限公司 一种处理应用无响应的方法、终端和计算机可读存储介质
CN109344035A (zh) * 2018-09-30 2019-02-15 北京奇虎科技有限公司 一种应用程序的运行控制方法、装置、设备及存储介质
CN109257235B (zh) * 2018-11-12 2022-03-22 深信服科技股份有限公司 网络异常恢复方法、装置、设备及计算机可读存储介质
CN109933465B (zh) * 2019-03-12 2021-12-10 北京同城必应科技有限公司 异常处理方法、装置、服务器和存储介质
CN113220134A (zh) * 2020-01-21 2021-08-06 北京搜狗科技发展有限公司 一种输入方法、装置和用于输入的装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115430A1 (en) * 2008-10-23 2010-05-06 Skirpa Alexander R Universal content referencing, packaging, distribution system, and a tool for customizing web content
CN102156663A (zh) * 2011-03-22 2011-08-17 北京书生国际信息技术有限公司 一种实现插件的方法和装置
CN102314510A (zh) * 2011-09-15 2012-01-11 奇智软件(北京)有限公司 一种浏览器控件执行方法及系统
CN102314374A (zh) * 2010-06-30 2012-01-11 百度在线网络技术(北京)有限公司 一种防止目标进程崩溃的输入方法和设备
CN102375758A (zh) * 2010-08-20 2012-03-14 联芯科技有限公司 移动通信设备浏览器防假死方法和装置
CN102681891B (zh) * 2012-05-04 2015-09-09 北京奇虎科技有限公司 一种浏览器输入控件的进程控制方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115430A1 (en) * 2008-10-23 2010-05-06 Skirpa Alexander R Universal content referencing, packaging, distribution system, and a tool for customizing web content
CN102314374A (zh) * 2010-06-30 2012-01-11 百度在线网络技术(北京)有限公司 一种防止目标进程崩溃的输入方法和设备
CN102375758A (zh) * 2010-08-20 2012-03-14 联芯科技有限公司 移动通信设备浏览器防假死方法和装置
CN102156663A (zh) * 2011-03-22 2011-08-17 北京书生国际信息技术有限公司 一种实现插件的方法和装置
CN102314510A (zh) * 2011-09-15 2012-01-11 奇智软件(北京)有限公司 一种浏览器控件执行方法及系统
CN102681891B (zh) * 2012-05-04 2015-09-09 北京奇虎科技有限公司 一种浏览器输入控件的进程控制方法和装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713453A (zh) * 2016-12-22 2017-05-24 腾讯科技(深圳)有限公司 一种应用信息监控方法和装置
CN106713453B (zh) * 2016-12-22 2019-12-13 腾讯科技(深圳)有限公司 一种应用信息监控方法和装置
CN108415762A (zh) * 2017-02-10 2018-08-17 凯欧斯科技(香港)有限公司 移动装置之应用管理方法及移动装置
WO2020078297A1 (zh) * 2018-10-16 2020-04-23 华为技术有限公司 一种冻屏处理方法及终端
US11467894B2 (en) 2018-10-16 2022-10-11 Huawei Technologies Co., Ltd. Screen freezing processing method and terminal
CN113032080A (zh) * 2021-03-31 2021-06-25 广州虎牙科技有限公司 页面实现方法、应用程序、电子设备及存储介质
CN114490265A (zh) * 2022-01-29 2022-05-13 北京博睿宏远数据科技股份有限公司 一种数据采集方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN102681891A (zh) 2012-09-19
CN102681891B (zh) 2015-09-09
CN105068866B (zh) 2019-06-04

Similar Documents

Publication Publication Date Title
CN102681891B (zh) 一种浏览器输入控件的进程控制方法和装置
TW202016693A (zh) 人機交互處理系統及其方法、儲存媒體、電子設備
CN105320572B (zh) 浏览器异常处理方法、装置及系统
US9684646B2 (en) Reference representation and transformation in collaborative documents
US20140317638A1 (en) Application Communication
CN101763219A (zh) 可触摸式液晶屏操作网页浏览器的用户界面方法及设备
CN108924029A (zh) 一种客服数据发送的方法及装置
CN103226430A (zh) 一种图标显示的方法及装置
CN107729231B (zh) 一种基于操作系统的故障注入方法及装置
CN104572032A (zh) 一种报表创建方法和电子设备
CN104092763B (zh) 一种应用程序安装包推送方法及装置
CN106648612A (zh) 弹窗配置方法及装置
CN111190589A (zh) 一种可视化的编程方法及终端设备
CN103092603A (zh) 播放器配置方法和系统以及相应的播放器
CN111045707B (zh) 小程序的更新方法、装置、计算机设备和存储介质
CN102819424A (zh) 表格查询中动态构造查询窗体的方法及装置
CN109656453A (zh) 规则编辑方法、装置和设备
CN108304113A (zh) 一种界面交互配置方法及终端
CN106874782B (zh) 一种移动终端的无痕使用方法和移动终端
CN105573579A (zh) 一种搜索栏的操作方法及终端
Dumas et al. Strengths and weaknesses of software architectures for the rapid creation of tangible and multimodal interfaces
US8782090B2 (en) Aiding report construction based on inference of implicit application level relationships
CN204087191U (zh) 一种烧录器
CN104360866A (zh) 一种代码生成方法及代码生成器
CN105446788A (zh) 一种信息处理方法及电子设备

Legal Events

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

Effective date of registration: 20220803

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.

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

Granted publication date: 20190604