CN107807828B - 浏览服务内核加载的控制方法及装置 - Google Patents
浏览服务内核加载的控制方法及装置 Download PDFInfo
- Publication number
- CN107807828B CN107807828B CN201610801737.2A CN201610801737A CN107807828B CN 107807828 B CN107807828 B CN 107807828B CN 201610801737 A CN201610801737 A CN 201610801737A CN 107807828 B CN107807828 B CN 107807828B
- Authority
- CN
- China
- Prior art keywords
- browsing service
- kernel
- sdk
- service kernel
- application program
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000002159 abnormal effect Effects 0.000 claims description 14
- 230000015556 catabolic process Effects 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 20
- 101000716310 Homo sapiens Protein sidekick-2 Proteins 0.000 description 9
- 102100021005 Protein sidekick-2 Human genes 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 101150053844 APP1 gene Proteins 0.000 description 6
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 6
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 6
- 101800000618 Protein kinase C delta type catalytic subunit Proteins 0.000 description 6
- 102100021004 Protein sidekick-1 Human genes 0.000 description 6
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 5
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种浏览服务内核加载的控制方法,应用程序通过浏览服务内核对应的软件开发包(SDK)而加载浏览服务内核,该方法包括:当应用程序加载浏览服务内核时,判断应用程序是否已连续加载浏览服务内核失败达到预定次数;当判定已达到预定次数时,使SDK接入到操作***的网络视图(WebView)内核;当判定未达到预定次数时,使SDK接入浏览服务内核;及当SDK接入浏览服务内核失败时,确定应用程序加载浏览服务内核失败,并使SDK接入到WebView内核。本申请还提出了一种相应的装置。此技术方案能够减少***崩溃。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及浏览服务内核加载的控制方法及装置。
背景技术
随着终端设备中安装使用的APP的功能越来越多、越来越复杂,应用程序(APP)的规模也越来越庞大,模块变得越来越多。为了更加灵活进行模块扩展和升级维护,APP大量使用了插件方式来加载新功能。插件的好处是降低了APP与新模块的耦合度,新模块可以独立地开发部署和升级,但随之而来的却是插件的稳定性会影响到APP正常的业务功能。比如,APP动态下载和动态加载的插件由于外部原因而损坏(比如:下载的插件的程序代码出现数据错误),其结果会导致APP加载插件的整个业务直接崩溃(Crash),严重影响***性能。
具体的,在浏览服务内核(是一种浏览服务插件)的加载方面,目前存在如下问题:
终端设备中的一些APP安装有浏览服务内核对应的SDK,比如:诸如X5内核的SDK,APP通过这种SDK能够接入浏览服务内核,进而能够使用这种浏览服务内核提供的浏览服务。APP响应于用户的操作要使用浏览服务时,比如浏览网页、打开某链接上的文件等,APP需要通过SDK来加载浏览服务内核,但是,如果浏览服务内核由于外部原因而损坏就会出现加载失败的情况,当一个或多个APP连续多次出现加载浏览服务内核(或者称为浏览服务插件)失败,就可能导致整个浏览服务内核的Crash,使整个浏览服务内核的业务不可用,会严重影响***性能及用户体验。
发明内容
本申请提供了一种浏览服务内核加载的控制方法,应用程序通过浏览服务内核对应的插件软件开发包(SDK)而加载浏览服务内核,该方法包括:当应用程序加载浏览服务内核时,判断应用程序是否已连续加载浏览服务内核失败达到预定次数;当判定已达到预定次数时,使SDK接入到操作***的网络视图(WebView)内核;当判定未达到预定次数时,使SDK接入浏览服务内核;及当SDK接入浏览服务内核失败时,确定应用程序加载浏览服务内核失败,使SDK接入到WebView内核。
本申请还提供了一种浏览服务内核加载的控制装置,应用程序通过浏览服务内核对应的SDK而加载浏览服务内核,该装置包括:异常判断模块,当应用程序加载浏览服务内核时,判断应用程序是否已连续加载浏览服务内核失败达到预定次数;及插件接入模块,当异常判断模块判定已达到预定次数时,使SDK接入到操作***的WebView内核;当异常判断模块判定未达到预定次数时,使SDK接入浏览服务内核;及当SDK接入浏览服务内核失败时,确定应用程序加载浏览服务内核失败,使SDK接入到WebView内核。
采用本申请所提供的上述方法和装置,可以对应用程序加载浏览服务内核的连续失败次数进行监视,当达到预定次数能够及时将SDK接入到WebView内核,以使操作***自带的WebView内核为应用程序提供服务,从而能够减少加载出现崩溃等情况的出现,改善了***性能。
附图说明
为了更清楚的说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中,
图1为本申请一实例中的方法流程示意图;
图2为本申请一实例中的数据交互示意图;
图3为本申请一实例中的数据交互示意图;
图4为本申请一实例中的装置组成结构图;
图5为本申请一实例中的计算设备组成结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实例是本申请一部分实例,而不是全部的实例。基于本申请中的实例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实例,都属于本申请保护的范围。
本申请实例提出了一种浏览服务内核加载的控制方法,该方法可应用于安装有APP和操作***的终端设备,具体的可应用于浏览服务内核或者浏览服务内核的SDK中。此操作***可以为诸如安卓等开放式操作***平台,此操作***包括WebView SDK和WebView内核。其中,WebView内核为操作***内置的能够展示网页的内核浏览器组件。上述的APP为诸如安卓等开放式操作***上的客户端程序,此APP需要加载浏览服务内核。在腾讯浏览服务(TBS)的场景下,浏览服务内核被称为TBS内核,是X5浏览器内核的封装。APP如要使用浏览服务内核,需要预先安装或在APP中集成浏览服务内核的SDK(在TBS场景下被称为TBSSDK),此SDK为浏览服务内核的包装层,当APP需要使用浏览服务来浏览网页时,会通过此SDK加载该浏览服务内核,进而使用此浏览服务内核提供的服务。
如图1所示,当应用程序加载上述浏览服务内核时,该方法包括如下步骤:
步骤101:判断应用程序是否已连续加载上述浏览服务内核失败达到预定次数;如果是,执行步骤102;否则执行步骤103。
步骤102:使SDK接入到操作***中的上述WebView内核,结束当前处理流程。
步骤103:使SDK接入上述浏览服务内核。
步骤104:判断SDK接入上述浏览服务内核是否成功,如果是,结束当前处理流程;否则执行步骤105。
步骤105:确定应用程序加载浏览服务内核失败,并返回步骤102。
在上述实例中,可以对应用程序加载浏览服务内核的连续失败次数进行监视,当达到预定次数能够及时将SDK接入到WebView内核,以使操作***自带的WebView内核为应用程序提供服务,进而能够避免上述浏览服务内核中程序代码因外界原因遭到破坏时仍被连续加载,从而能够减少加载出现崩溃使浏览服务插件(即浏览服务内核)的整个业务不可用等情况的出现,改善了***性能。
在一些实例中,当步骤101中判定已达到预定次数时,步骤102可进一步包括:清除上述浏览服务内核的程序代码,并触发上述浏览服务内核重新下载程序代码。比如:SDK可以清除TBS内核的程序代码,并触发TBS内核自动更新以重新下载程序代码。这样,可以及时启动浏览服务内核的恢复机制,更新浏览服务内核的程序代码,使浏览服务内核的业务尽快恢复正常。
在一些实例中,可预先为应用程序设置异常计数器并设置初始值(比如清零),并利用此异常计数器对上述SDK接入上述浏览服务内核连续失败的次数进行计数。这样,步骤101中的判断可包括:判断上述异常计数器的计数值是否达到预定阈值。比如:假定步骤101的判断中,预定次数为10次,异常计数器的初始值为0,则可将预定阈值设为10,当异常计数器的计数值达到预定阈值10时,则可判定SDK接入浏览服务内核已连续失败达到预定次数。
在一些实例中,上述利用异常计数器对上述SDK接入上述浏览服务内核连续失败的次数进行计数的处理,可具体包括:当判定未达到预定次数时,步骤103中在使上述SDK接入上述浏览服务内核之前,此异常计数器执行一次计数(如:计数值加一)。当上述SDK接入上述浏览服务内核成功时,将上述异常计数器置为初始值(比如清零)。
上述方法可以应用于应用程序中的上述SDK,也可以应用于上述浏览服务内核。
在一实例中,上述方法应用于上述SDK,即由此SDK作为此方法的执行主体。此时,此SDK可通过调用操作***中的WebView SDK而接入到WebView内核,可通过调用浏览服务内核而接入上述浏览服务内核。
在一实例中,上述方法应用于上述浏览服务内核,即由此浏览服务内核作为此方法的执行主体。此时,当应用程序加载此浏览服务内核时,此浏览服务内核在被SDK调用时,先判断此应用程序是否已连续加载此浏览服务内核失败达到预定次数。其中,此浏览服务内核可向此SDK发出指令而使此SDK调用WebView SDK以接入到WebView内核。
在一些实例中,上述方法应用于上述浏览服务内核,此浏览服务内核可以为每一应用程序设置一异常计数器;针对每一应用程序,可利用该应用程序对应的异常计数器对该应用程序的上述SDK接入上述浏览服务内核连续失败的次数进行计数。
图2为本申请一实例中的数据交互示意图。在此实例中,终端设备中包括APP 201和操作***202,APP 201中包括SDK(也称为TBS SDK)203。本申请提出的方法应用于SDK203中,SDK 203包括:控制模块208、下载模块204,操作***202包括WebView SDK 205和WebView内核207。该终端设备还包括浏览服务内核(TBS内核)206,其是一种动态下载和更新的插件。
控制模块208维护一个异常计数器,可设置该计数器初始值为0。
每当APP 201要使用TBS浏览服务时,会调用SDK 203以加载TBS内核206,此时,控制模块208执行如下处理流程:
步骤21:判断上述异常计数器的计数值是否达到预设阈值,如果是,则执行步骤22;否则执行步骤23。
步骤22:调用Web View SDK 205,以加载WebView内核207,进而SDK203可以使用WebView内核207,由WebView内核207为APP 201提供浏览服务,结束当前处理流程。
在一些实例中,步骤22中,控制模块208可进一步清除TBS内核206,并令下载模块204重新下载TBS内核206,进而生成最新的TBS内核206。
步骤23:将异常计数器的计数值加1,并调用TBS内核206,以将SDK 203接入到TBS内核206。
步骤24:判断SDK 203接入TBS内核206是否成功,如果是,将异常计数器复位,即恢复初始值或者说清零,结束当前处理流程,此时,由TBS内核206为APP 201提供浏览服务;否则,返回步骤22。
图3为本申请一实例中的数据交互示意图。在此实例中,终端设备中包括APP 1、APP 2、操作***31和浏览服务内核(TBS内核)32。本实例中是以终端设备中两个APP为例进行说明的,在一些实例中还可能包括多于两个的APP,具体处理原理及功能模块划分类似,就不再一一示例。
APP 1中包括SDK 1,APP 2中包括SDK 2。操作***31包括WebView SDK 311和WebView内核312。本申请提出的方法应用于TBS内核32中,其包括:控制模块321。
控制模块321分别为APP1和APP2维护异常计数器1和异常计数器2。
每当APP1要使用TBS浏览服务时,APP1会调用SDK 1,SDK1会调用TBS内核32以接入。此时,TBS内核32中的控制模块321执行如下处理流程:
步骤31:判断异常计数器1的计数值是否达到预设阈值,如果是,则执行步骤32;否则执行步骤33。
步骤32:向SDK1发出第一指令,使其调用Web View SDK 311,以将SDK 1接入到WebView内核312,进而由WebView内核312为APP 1提供浏览服务,结束当前处理流程。
在一些实例中,TBS内核32进一步包括下载模块322,步骤32中,控制模块321可进一步向清除TBS内核321的程序代码,并令下载模322重新下载TBS内核32的程序代码,以完成自动更新和恢复。
步骤33:将异常计数器1的计数值加1,并将SDK 311接入到TBS内核331。
步骤34:判断SDK 311接入TBS内核331是否成功,如果是,将异常计数器1复位,即恢复初始值或者说清零,结束当前处理流程,此时,由TBS内核331为APP 1提供浏览服务;否则,返回步骤32。
每当APP2要使用TBS浏览服务时,APP2会调用SDK 2以加载TBS内核32,SDK 2会调用TBS内核32,以将SDK 2接入TBS内核32。此时,TBS内核32中的控制模块321执行如下处理流程:
步骤31’:判断异常计数器2的计数值是否达到预设阈值,如果是,则执行步骤32’;否则执行步骤33’。
步骤32’:向SDK 2发出第二指令,使其调用Web View SDK 311,以将SDK 2接入到WebView内核312,进而由WebView内核312为APP2提供浏览服务,结束当前处理流程。
在一些实例中,步骤32’中,控制模块321可进一步清除TBS内核321的程序代码,并令下载模块322重新下载TBS内核32的程序代码,以完成自动更新和恢复。
步骤33’:将异常计数器2的计数值加1,并将SDK 2接入到TBS内核32。
步骤34’:判断SDK2接入TBS内核321是否成功,如果是,将异常计数器2复位,即恢复初始值或者说清零,结束当前处理流程,此时,由TBS内核32为APP2提供浏览服务;否则,返回步骤32’。
基于上述各实例提供的方法,本申请还提出了一种浏览服务内核加载的控制装置,如图4所示,该装置包括异常判断模块401和插件接入模块402。当应用程序加载浏览服务内核时,异常判断模块401,判断应用程序是否已连续加载此浏览服务内核失败达到预定次数。插件接入模块402,当异常判断模块401判定已达到预定次数时,使此应用程序中的SDK接入到操作***的WebView内核;当异常判断模块401判定未达到预定次数时,使此SDK接入浏览服务内核;当此SDK接入浏览服务内核失败时,确定应用程序加载此浏览服务内核失败,并使上述SDK接入到WebView内核。
在一些实例中,该装置可进一步包括:更新模块403,当异常判断模块401判定已达到预定次数时,清除浏览服务内核的程序代码,并重新下载浏览服务内核的程序代码。这样,就能在应用程序连续加载浏览服务内核失败后,及时更新此种浏览服务内核插件的代码,完成此插件的修复,进而能够避免因插件代码受损而造成的***崩溃。
在一些实例中,该装置可进一步包括:计数器404,对SDK接入浏览服务内核连续失败的次数进行计数。此时,异常判断模块401通过判断异常计数器404的计数值是否达到预定阈值来确定应用程序是否已连续加载浏览服务内核失败达到预定次数。
在一些实例中,该装置位于上述SDK中。此种情况下,SDK通过调用WebView SDK而接入到WebView内核,通过调用浏览服务内核而接入。如图2所示的实例,本申请提供的方法应用于APP中的SDK中,此种情况下,本申请提供的装置可位于SDK中,具体的,异常判断模块401、插件接入模块402和更新模块403可位于控制模块208中,计数器404可以是图2中的异常计数器。
在一些实例中,该装置位于浏览服务内核中。此种情况下,当应用程序加载浏览服务内核时,SDK调用浏览服务内核,该装置中的异常判断模块401再判断应用程序是否已连续加载此浏览服务内核失败达到预定次数。另外,插件接入模块402向此SDK发出指令而使此SDK调用WebViewSDK以接入到WebView内核。
在一些实例中,上述位于浏览服务内核的装置可以进一步包括:为至少一个应用程序设置的至少一个计数器。针对每一应用程序,该应用程序对应的异常计数器用于对该应用程序中的SDK接入浏览服务内核连续失败的次数进行计数。这样,异常判断模块401通过判断当前应用程序对应的异常计数器的计数值是否达到预定阈值来确定当前应用程序是否已连续加载浏览服务内核失败达到预定次数。如图3所示的实例,本申请提供的方法应用于TBS内核32中,此种情况下,本申请提供的装置可位于TBS内核32中,具体的,异常判断模块401、插件接入模块402和更新模块403可位于控制模块321中,计数器404可以是图3中的异常计数器1和2。
相应的,本申请提出了一种浏览服务SDK(如TBS SDK),其至少包括上述装置,本申请也提出了一种浏览服务内核(如TBS内核),其至少包括上述装置。具体实现原理前文均有描述,这里不再赘述。
上述各模块功能的具体实现原理在前文已有描述,这里不再赘述。
另外,在本申请各个实例中的装置、操作***和APP以及其中的各模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上装置或模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
在一实施例中,上述的装置、操作***(内置有浏览服务内核)和APP(内置有浏览服务内核的SDK)可运行在各种计算设备中,并加载在该计算设备的存储器中。
图5示出了上述操作***所在的计算设备的组成结构图。如图5所示,该计算设备包括一个或者多个处理器(CPU)502、通信模块504、存储器506、用户接口510,以及用于互联这些组件的通信总线508。
处理器502可通过通信模块504接收和发送数据以实现网络通信和/或本地通信。
用户接口510包括一个或多个输出设备512,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口510也包括一个或多个输入设备514,其包括诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。
存储器506可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器506存储处理器502可执行的指令集,至少包括:
操作***516,包括用于处理各种基本***服务和用于执行硬件相关任务的程序,以及能够实现上述各实例中与WebView内核相关的处理流程的程序(包括WebView SDK和WebView内核)。
应用518,包括上述内置有浏览服务内核的SDK的应用程序。在一些实例中,SDK包括能够实现上述各实例中处理流程的程序。在一些实例中,SDK可包括图4所示装置中的各模块401~404,各模块401~404可以存储有机器可执行指令。处理器502通过执行存储器506中各模块401~404中的机器可执行指令,进而能够实现上述各模块401~404的功能。
浏览服务内核520,包括用于处理各种浏览服务功能的程序。在一些实例中,其还包括能够实现上述各实例中处理流程的程序。在一些实例中,其可包括图4所示装置中的各模块401~404,各模块401~404可以存储有机器可执行指令。处理器502通过执行存储器506中各模块401~404中的机器可执行指令,进而能够实现上述各模块401~404的功能。
另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此,本申请还提供了一种非易失性存储介质,其中存储有数据处理程序,该数据处理程序用于执行本申请上述方法的任何一种实例。
以上所述仅为本申请的实例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (15)
1.一种浏览服务内核加载的控制方法,其特征在于,预先在应用程序中集成所述浏览服务内核对应的软件开发包SDK,该方法应用于所述SDK,包括:
每当所述应用程序要使用浏览服务时,所述SDK被所述应用程序调用,判断所述应用程序是否已连续加载所述浏览服务内核失败达到预定次数;
当判定已达到预定次数时,使所述SDK接入到操作***的网络视图WebView内核;
当判定未达到预定次数时,使所述SDK接入所述浏览服务内核;当所述SDK接入所述浏览服务内核失败时,确定所述应用程序加载所述浏览服务内核失败,使所述SDK接入到所述WebView内核。
2.根据权利要求1所述的方法,其中,当判定已达到预定次数时,进一步包括:
清除所述浏览服务内核的程序代码,触发所述浏览服务内核重新下载程序代码。
3.根据权利要求1所述的方法,进一步包括:预先为所述应用程序设置异常计数器,利用所述异常计数器对所述SDK接入所述浏览服务内核连续失败的次数进行计数;
其中,所述判断所述应用程序是否已连续加载所述浏览服务内核失败达到预定次数包括:判断所述异常计数器的计数值是否达到预定阈值。
4.根据权利要求3所述的方法,其中,所述利用所述异常计数器对所述SDK接入所述浏览服务内核连续失败的次数进行计数,包括:
当判定未达到预定次数时,在所述SDK接入所述浏览服务内核之前,所述异常计数器执行一次计数。
5.根据权利要求1至4中任一项所述的方法,其中,所述SDK为所述浏览服务内核的包装层。
6.根据权利要求3所述的方法,还包括:
设置所述异常计数器初始值为0。
7.根据权利要求3所述的方法,还包括:
当所述SDK接入所述浏览服务内核成功时,将所述异常计数器复位。
8.一种浏览服务内核加载的控制装置,其特征在于,预先在应用程序中集成所述浏览服务内核对应的软件开发包SDK,该装置位于所述SDK中,包括:
异常判断模块,每当所述应用程序要使用浏览服务时,所述SDK被所述应用程序调用,判断所述应用程序是否已连续加载所述浏览服务内核失败达到预定次数;及
插件接入模块,当所述异常判断模块判定已达到预定次数时,使所述SDK接入到操作***的网络视图WebView内核;当所述异常判断模块判定未达到预定次数时,使所述SDK接入所述浏览服务内核;及当所述SDK接入所述浏览服务内核失败时,确定所述应用程序加载所述浏览服务内核失败,使所述SDK接入到所述WebView内核。
9.根据权利要求8所述的装置,进一步包括:
更新模块,当所述异常判断模块判定已达到预定次数时,清除所述浏览服务内核的程序代码,触发所述浏览服务内核重新下载程序代码。
10.根据权利要求8所述的装置,进一步包括:
异常计数器,对所述SDK接入所述浏览服务内核连续失败的次数进行计数;
其中,所述异常判断模块通过判断所述异常计数器的计数值是否达到预定阈值来确定所述应用程序是否已连续加载所述浏览服务内核失败达到预定次数。
11.根据权利要求10所述的装置,其中,所述异常计数器用于,当判定未达到预定次数时,在接入所述浏览服务内核之前,执行一次计数。
12.根据权利要求10所述的装置,其中,所述异常计数器进一步用于,设置所述异常计数器初始值为0。
13.根据权利要求10所述的装置,其中,所述异常计数器进一步用于,当所述SDK接入所述浏览服务内核成功时,将所述异常计数器复位。
14.一种计算设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述指令可以使所述处理器执行如权利要求1至7中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,存储有计算机可读指令,可以使至少一个处理器执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610801737.2A CN107807828B (zh) | 2016-09-05 | 2016-09-05 | 浏览服务内核加载的控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610801737.2A CN107807828B (zh) | 2016-09-05 | 2016-09-05 | 浏览服务内核加载的控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107807828A CN107807828A (zh) | 2018-03-16 |
CN107807828B true CN107807828B (zh) | 2020-03-17 |
Family
ID=61575872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610801737.2A Active CN107807828B (zh) | 2016-09-05 | 2016-09-05 | 浏览服务内核加载的控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107807828B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324735A (zh) * | 2013-06-28 | 2013-09-25 | 贝壳网际(北京)安全技术有限公司 | 浏览器中异常页面的加载方法、装置和客户端 |
CN103595708A (zh) * | 2013-10-22 | 2014-02-19 | 北京奇虎科技有限公司 | 浏览器异常关闭的处理方法、***、浏览器和服务器 |
CN103645946A (zh) * | 2013-11-19 | 2014-03-19 | 北京奇虎科技有限公司 | 处理浏览器内核信息的方法及设备 |
CN104951326A (zh) * | 2014-03-31 | 2015-09-30 | 腾讯科技(深圳)有限公司 | 网页访问方法及装置 |
-
2016
- 2016-09-05 CN CN201610801737.2A patent/CN107807828B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324735A (zh) * | 2013-06-28 | 2013-09-25 | 贝壳网际(北京)安全技术有限公司 | 浏览器中异常页面的加载方法、装置和客户端 |
CN103595708A (zh) * | 2013-10-22 | 2014-02-19 | 北京奇虎科技有限公司 | 浏览器异常关闭的处理方法、***、浏览器和服务器 |
CN103645946A (zh) * | 2013-11-19 | 2014-03-19 | 北京奇虎科技有限公司 | 处理浏览器内核信息的方法及设备 |
CN104951326A (zh) * | 2014-03-31 | 2015-09-30 | 腾讯科技(深圳)有限公司 | 网页访问方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107807828A (zh) | 2018-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101814035B (zh) | 允许快速平台重启的方法和*** | |
KR102236522B1 (ko) | 정보를 처리하기 위한 방법 및 장치 | |
US7395455B2 (en) | System, method and program product for recovering from a failure | |
CN112486585B (zh) | 恢复fpga芯片中的逻辑的方法、***和fpga设备 | |
JP2010541105A (ja) | ファームウェアイメージの更新および管理 | |
CN110413432B (zh) | 一种信息处理方法、电子设备及存储介质 | |
US10509646B2 (en) | Software update rollbacks using file system volume snapshots | |
JP6198229B2 (ja) | 並列化可能で信頼できるインストールのためのインストールエンジン及びパッケージフォーマット | |
CN102955714A (zh) | 实现动态模拟远程接口的装置及方法 | |
CN106775793A (zh) | 一种安卓应用免安装启动的方法、装置及终端 | |
CN113434337B (zh) | 重试策略的控制方法、装置及电子设备 | |
CN114741233A (zh) | 快速启动方法 | |
CN111124728A (zh) | 业务自动恢复方法、***、可读存储介质及服务器 | |
US8516506B2 (en) | Method and system for restoring an application in a dynamically linked environment | |
CN113467981A (zh) | 异常处理的方法和装置 | |
CN116266150A (zh) | 一种业务恢复方法、数据处理单元及相关设备 | |
CN109408133B (zh) | 一种启动组件的方法和设备 | |
CN111417019B (zh) | 处理插件异常的方法、装置、计算机设备和存储介质 | |
CN107807828B (zh) | 浏览服务内核加载的控制方法及装置 | |
CN117130672A (zh) | 服务器启动流程控制方法、***、终端及存储介质 | |
CN109783261B (zh) | 终端应用的崩溃处理方法及装置、电子设备、存储介质 | |
CN107526615B (zh) | 一种业务运行过程中的单机程序升级方法及装置 | |
CN113342376B (zh) | 一种针对物联网设备的操作***进行升级的方法及装置 | |
CN115454515A (zh) | ***处理方法、装置、电子设备 | |
CN106933604A (zh) | 一种***升级方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |