CN101510167B - 一种插件运行的方法、装置及系统 - Google Patents

一种插件运行的方法、装置及系统 Download PDF

Info

Publication number
CN101510167B
CN101510167B CN200910129187.4A CN200910129187A CN101510167B CN 101510167 B CN101510167 B CN 101510167B CN 200910129187 A CN200910129187 A CN 200910129187A CN 101510167 B CN101510167 B CN 101510167B
Authority
CN
China
Prior art keywords
plug
unit
component operation
stable
stable rank
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200910129187.4A
Other languages
English (en)
Other versions
CN101510167A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN200910129187.4A priority Critical patent/CN101510167B/zh
Publication of CN101510167A publication Critical patent/CN101510167A/zh
Priority to HK10100725.0A priority patent/HK1133713A1/zh
Priority to US12/798,159 priority patent/US8145950B2/en
Priority to JP2012503427A priority patent/JP5523550B2/ja
Priority to EP10759151.3A priority patent/EP2414932B1/en
Priority to PCT/US2010/000986 priority patent/WO2010114611A1/en
Application granted granted Critical
Publication of CN101510167B publication Critical patent/CN101510167B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种插件运行的方法,用以解决现有技术中插件运行方式带来的系统运行不稳定的问题。该方法包括:获取待运行插件的稳定级别,根据保存的稳定级别与插件运行模式的对应关系,确定获取的稳定级别对应的插件运行模式,根据确定的插件运行模式运行所述待运行插件。本申请还公开了一种插件运行的客户端和一种插件运行的系统。

Description

一种插件运行的方法、装置及系统
技术领域
本申请涉及计算机领域,尤其涉及一种插件运行的方法、装置及系统。
背景技术
随着网络技术的发展,一些网络工具已经被越来越广泛的使用了,例如:即时通讯工具已逐渐成为用户生活中不可或缺的网络工具。同时,随着这些网络工作的普遍使用,用户也对它们产生了更多的需求。在这种背景下,往往这些网络工具的开发商独自开发的软件已经不能满足用户的需求了,即这些网络工具的核心业务程序提供的服务已经不能满足客户的需求了。因此,通过制定规范,允许符合规范的程序模块,即插件,接入对应的网络工具的软件中,从而,插件和核心业务程序共同为用户提供更多的服务。这已经成为了一种不可阻挡的潮流。
目前,插件的运行模式有以下几种方法:
1、插件和核心业务程序运行于同一个进程中,这样,插件的支持体系简单,插件和核心业务程序交互效率高,但是因为在一个进程内,一旦插件出现问题,会直接导致核心业务程序出现异常或者崩溃,并且由于核心业务程序内的模块众多,较难具体定位是哪个模块或者插件出现了问题;
2、插件在核心业务程序运行进程之外运行,并且每个插件一个进程,这样,能够防止因插件导致核心业务程序被影响,但是当插件数量较多时候,将大量占用客户端的系统资源,降低用户体验;
3、插件在核心业务程序运行进程之外运行,并且全部插件运行于一个特定进程中,这样,能够节省客户端的系统资源,但是当某个插件出现异常,有可能导致所有的插件不可用或者异常,同时也不利于具体定位是哪个插件出现了问题。
由此可见,现有的插件运行方式对插件稳定性要求比较高,或者占用的客户端资源比较多。但是,随着插件开发者的增多,其技术水平良莠不齐,插件的稳定性也很难保证,通常都不如核心业务程序,插件会经常崩溃或者出现故障,这样,采用上述方法1或3,会因为个别插件运行不稳定,从而导致核心业务程序或者所有插件运行不正常。同时客户端的资源都是有限的,采用上述方法2会过多的占用客户端的资源,从而也会导致客户端的运行速度缓慢,甚至会导致客户端系统崩溃。
发明内容
有鉴于此,本申请实施例提供一种插件运行的方法,用以解决现有技术中插件运行方式带来的系统运行不稳定的问题。
本申请实施例提供的一种插件运行的方法,包括:
获取待运行插件的稳定级别;
根据保存的稳定级别与插件运行模式的对应关系,确定获取的稳定级别对应的插件运行模式;
根据确定的插件运行模式运行所述待运行插件。
本申请实施例提供的一种插件运行的客户端,包括:
第一获取单元,用于获取待运行插件的稳定级别;
存储单元,用于保存稳定级别与运行模式的对应关系;
第一确定单元,用于根据存储单元保存的稳定级别与运行模式的对应关系,确定获取的稳定级别对应的插件运行模式;
运行单元,用于根据确定的插件运行模式运行所述待运行插件。
本申请实施例提供的一种插件运行的系统,包括:
客户端,用于从服务器保存的插件的稳定级别中,获取待运行插件的稳定级别,根据保存的稳定级别与运行模式的对应关系,确定获取的稳定级别对应的插件运行模式,根据确定的插件运行模式运行所述待运行插件;
服务器,用于保存插件的稳定级别。
本申请实施例中,获取待运行插件的稳定级别,根据保存的稳定级别与运行模式的对应关系,确定获取的稳定级别对应的插件运行模式,根据确定的插件运行模式运行所述待运行插件,这样,根据插件的不同的稳定级别,选择不同的插件运行模式,从而可以提高系统运行的稳定性,也可以有效控制插件对资源的占用。
附图说明
图1为本申请实施例插件运行的流程图;
图2为本申请实施例插件运行的具体方法流程图;
图3为本申请实施例获取插件运行的异常信息流程图;
图4为本申请实施例调整插件稳定级别的流程图;
图5为本申请实施例运行插件的客户端的结构图;
图6为本申请实施例运行插件的系统的架构图。
具体实施方式
本申请实施例中,当在客户端上运行的网络工具的核心业务程序提供的业务不能满足用户的需求时,需要运行该网络工具的插件来满足用户的需求,其插件运行的过程,参见图1,具体包括:
步骤101:获取待运行插件的稳定级别。
这里,可以从服务器保存的插件的稳定级别中,获取待运行插件的稳定级别。也可以从本地保存的插件的稳定级别中,获取待运行插件的稳定级别。插件的稳定级别可以根据设定时间内插件的运行状态进行划分,例如,稳定级别划分为三个级别,分别为稳定,普通,不稳定。这里,设定一个上限阈值,一个下限阈值,当设定时间内,该插件运行出现异常的次数大于等于上限阈值时,则该插件的稳定级别为不稳定;当设定时间内,该插件运行出现异常的次数小于等于下限阈值时,则该插件的稳定级别为稳定,当设定时间内,该插件运行出现异常的次数处于下限阈值与上限阈值之间时,则该插件的稳定级别为普通。当然,稳定级别也可以只划分为两个级别,稳定与普通,那么只需设定一个阈值,当设定时间内,该插件运行出现异常的次数大于该阈值时,则该插件的稳定级别为普通,否则为稳定。也可以将稳定级别划分为四个级别,稳定,比较稳定,普通和不稳定,那么就需要设定三个阈值,第一阈值,第二阈值,第三阈值,其大小异常递减,那么,当设定时间内,该插件运行出现异常的次数大于等于第一阈值时,则该插件的稳定级别为不稳定;当设定时间内,该插件运行出现异常的次数大于等于第二阈值,且小于第一阈值时,则该插件的稳定级别为普通;当设定时间内,该插件运行出现异常的次数大于等于第三阈值,且小于第二阈值时,则该插件的稳定级别为比较稳定;当设定时间内,该插件运行出现异常的次数小于第三阈值时,则该插件的稳定级别为稳定。
这里,服务器或本地客户端可以建立插件与稳定级别的对应的关系,当确定了待运行插件的插件信息后,例如标识信息,就可以获得该待运行插件的稳定级别。
步骤102:根据保存的稳定级别与运行模式的对应关系,确定获取的稳定级别对应的插件运行模式。
这里,可以预先设置稳定级别与运行模式的对应关系,并在客户端的存储单元中进行保存。其中,插件运行模式包括:针对插件的不同稳定级别,启动不同的加载器进程运行所述待运行插件,稳定级别与插件运行模式的对应关系包括:
稳定级别为稳定时,插件运行模式为放入共享的加载器进程中运行插件;稳定级别为普通时,插件运行模式为启动独立的加载器进程运行插件。其中,加载器进程为可执行的程序,可以由客户端上运行的网络工具的的核心服务程序创建,也可以由客户端中的其他程序创建,包括共享的加载器进程和独立的加载器进程。共享的加载器进程可以运行多个插件,独立的加载器进程只运行一个插件。这样,多个稳定级别为稳定的插件运行在一个共享的加载器进程中,可以减少对客户端资源的占用;稳定级别为普通的插件在独立的加载器进程中运行,可以减少该插件对核心业务程序,以及稳定级别为稳定的插件的影响,提高系统的稳定性。
这里,当稳定级别包括稳定,普通与不稳定时,稳定级别与插件运行模式的对应关系还包括:
稳定级别为不稳定时,插件运行模式为放弃运行插件,或者通知用户选择是否运行该插件。当用户选择运行时,启动独立的加载器运行该插件;当用户选择不运行时,放弃运行插件。
当稳定级别包括稳定,比较稳定、普通与不稳定时,稳定级别与插件运行模式的对应关系还包括:
稳定级别为比较稳定时,插件运行模式为放入共享的加载器进程中运行插件,这里,共享的加载器可以是与稳定级别为稳定对应的共享的加载器,也可以是另外一个共享的加载器。
这样,步骤101中获取的待运行插件的稳定级别不同,其运行模式就不同。
步骤103:根据步骤102确定的插件运行模式运行待运行插件。
本实施例中,插件的运行过程中,可能会出现异常,因此,本实施例插件运行的方法还包括:当插件运行异常时,客户端获取插件运行的异常信息,保存该异常信息,或者将该异常信息发送给服务器进行保存,其中,所述异常信息包括:异常原因,以及运行的插件的插件信息。异常原因又具体包括:加载器进程崩溃,插件执行线程僵死,或插件长时间占用过高的内存或者处理器。插件信息又具体包括:插件的标识信息,名称,版本等等。
这样,客户端或者服务器就可以根据插件运行的异常信息确定插件的稳定级别,并可以定期进行调整,也就是根据保存的异常信息,确定插件在设定时间内出现的异常次数,并根据所述异常次数调整所述插件的稳定级别。其具体的调整过程包括:当设定时间触发后,也就是设定时间到达后,获取所述设定时间内使用次数超过阈值的插件的插件信息,根据保存的异常信息,确定获取的插件信息在设定时间内出现的异常次数,根据所述异常次数自动调整所述插件的稳定级别。当然,为了下一次定期调整,需将异常次数以及使用次数进行复位。这里,还可以人工进行调整,客服人员统计一定时间内插件的运行状态,当设定时间内,插件运行异常的次数超过设定值时,修改该插件的稳定级别。
在客户端运行网络工具的插件运行过程可以由该网络工具的核心业务程序来管理,也可以由客户端中其他的程序来管理。其中,本实施例中,核心业务程序不仅提供该网络工具的核心业务,也包括管理插件的程序。加载器进程是客户端中的独立的可执行程序,核心业务程序也可以是一个加载进程。
下面结合说明书附图对本申请实施例作进一步详细描述,参见图2,插件运行的具体过程如下:
步骤201:核心业务程序获取待运行插件的稳定级别。
这里,当核心业务程序向服务器请求获取待运行插件的稳定级别时,服务器根据该请求,获取该待运行插件的插件信息,例如标识信息,在保存的插件与插件的稳定级别的对应关系中,查询该标识信息的对应的待运行插件的稳定级别,将查询到的稳定级别返回给核心业务程序,并将记录的待运行插件的使用次数递加。其中,稳定级别包括稳定,普通和不稳定。
当核心业务程序从本地客户端获取待运行插件的稳定级别时,客户端在保存的插件的稳定级别中,查询该待运行插件的稳定级别,将查询到的稳定级别返回给核心业务程序,并将记录的待运行插件的使用次数递加。同样,稳定级别包括稳定,普通和不稳定。
步骤202:核心业务程序判断待运行插件的稳定级别是为稳定,普通,或不稳定,当稳定级别为稳定时,执行步骤203;当稳定级别为普通时,执行步骤206;当稳定级别为不稳定时,执行步骤207。
步骤203:核心业务程序判断共享的加载器进程是否存在,当存在时,执行步骤205,当不存在时,执行步骤204。
步骤204:核心业务程序创建一个共享的加载器进程。
步骤205:共享的加载器进程运行待运行的插件。
步骤206:核心业务程序为稳定级别为普通的待运行插件建立一个独立的加载进程,该加载进程运行待运行的插件。
步骤207:插件运行过程结束。
上述实施例中,当不存在共享的加载器进程时,步骤204创建了一个共享的加载器进程,这里,也可以直接把核心业务程序作为共享的加载器,在核心业务程序进程中运行稳定级别为稳定的插件。
本申请实施例中,当插件运行出现异常时,客户端还可以获取该插件的异常信息,并保存这些异常信息,或者发送给服务器。插件都是在加载器进程中运行的,因此,插件运行出现异常,也就是加载器进程出现异常时,客户端获取到加载器进程的异常信息,并保存这些异常信息,或者发送给服务器,参见图3,其体过程如下:
步骤301:获取加载器进程的异常信息,异常信息包括:加载器进程的异常原因,以及在该加载器进程中运行的插件的插件信息。
这里,当加载器进程为独立的加载器进程时,则异常信息包括:异常原因,以及在该独立的加载器进程中运行的插件的插件信息,当加载器进程为共享的加载器进程时,则异常信息包括:异常原因,以及在该共享的加载器进程中运行的所有插件的插件信息。异常信息还可以包括:加载器进程的异常上下文。这里,异常上下文包括:加载器进程的内存影像,函数堆栈上下文,加载器进程加载的插件等技术信息。通过对这些信息的分析可以知道上下文对应的时刻,加载器进程内所运行的插件,当前正在执行的指令等等。
客户端可以通过检测获得加载器进程的异常原因。异常原因有可能是加载器进程崩溃了,插件执行线程僵死了,或者插件长时间占用过高的内存或者处理器。这里,加载器进程可以自检发现异常原因,也可以由客户端的其他检查程序对加载器进程进行检测,发现异常原因。
客户端还可以通过周期性的心跳报告的形式,得到加载器进程的异常信息,即加载器进程周期性向核心业务程序发送一个消息,就是所谓的心跳,当客户端核心业务程序在设定时间内没有收到加载器进程的心跳报告,则表明加载器进程出现异常。
步骤302:将获取到的异常信息,发送给服务器。
这里,客户端可以直接将获得的异常信息发送给服务器,也可以对设定时间内的异常信息进行处理,例如:统计设定时间内每个插件出现的异常次数,然后再发送给服务器。
本步骤当然也可是只是保存获取到的异常信息,并不发送给服务器,直接对对设定时间内的异常信息进行处理。
客户端或者服务器收集到异常信息后,可以根据收集到的异常信息,定期对插件的稳定级别进行调整,参见图4,定期调整任一插件的稳定级别的过程如下:
步骤401:到达设定的时间后,获取在该设定时间内插件的使用次数。
在设定的时间内,当客户端每访问一次服务器,获取待运行插件的稳定等级时,服务器就会递加一次该待运行插件的使用次数,这样,服务器会保存了每一个插件在设定时间内的使用次数。或者,
当客户端每次从本地获取待运行插件的稳定等级时,就会递加一次该待运行插件的使用次数,这样,客户端会保存了每一个插件在设定时间内的使用次数。
这里,本实施例中需调整的插件在设定的一个月内运行了120次。
步骤402:将获取的使用次数与设定的阈值相比较,当获取的使用次数大于等于设定的阈值时,执行步骤403,否则,流程结束,该插件使用率不高,不需要调整稳定级别。
步骤403:根据保存的异常信息,获取该插件出现的异常次数。
客户端或服务器每次获取的异常信息中包括了插件信息,因此,可以查询该插件的插件信息在设定的时间内的异常信息中出现的异常次数,例如:一个月内出现了30次。
步骤404:根据获取的该插件的使用次数以及异常次数,调整该插件的稳定级别。
这里,稳定级别划分为三个级别,分别为稳定,普通,不稳定。设定一个上限阈值,一个下限阈值,例如上限阈值为20%,下限阈值为5%,当异常次数除以使用次数得到的值大于等于上限阈值时,则该插件的稳定级别为不稳定;当异常次数除以使用次数得到的值小于等于下限阈值时,则该插件的稳定级别为稳定,当异常次数除以使用次数得到的值处于下限阈值与上限阈值之间时,则该插件的稳定级别为普通。例如该插件初始的稳定级别为普通,而在本次调整周期内,即设定的一个月内,使用次数是120次,异常次数为30次,那么,30/120=25%,25%>20%,则将该插件的稳定级别调整为不稳定。
当然,稳定级别也可以只划分为两个级别,稳定与普通,那么只需设定一个阈值,当异常次数除以使用次数得到的值大于该阈值时,则该插件的稳定级别为普通,否则为稳定。也可以将稳定级别划分为四个级别,稳定,比较稳定,普通和不稳定,那么就需要设定三个阈值,第一阈值,第二阈值,第三阈值,其大小异常递减,那么,当异常次数除以使用次数得到的值大于等于第一阈值时,则该插件的稳定级别为不稳定;当异常次数除以使用次数得到的值大于等于第二阈值,且小于第一阈值时,则该插件的稳定级别为普通;当异常次数除以使用次数得到的值大于等于第三阈值,且小于第二阈值时,则该插件的稳定级别为比较稳定;当异常次数除以使用次数得到的值小于第三阈值时,则该插件的稳定级别为稳定。
步骤405:将使用次数与异常次数复位,即将记录的使用次数与异常次数清零,重新开始下一个调整周期内的计数。
在本申请实施例中,插件的稳定级别可以划分为多种,那么客户端在运行插件的过程中,可以使用多个共享的加载器进程,例如,稳定级别分为:稳定、比较稳定、普通、不稳定,那么,可以将所有稳定级别为稳定的插件放入一个共享的加载器进程中运行,将所有稳定级别为比较稳定的插件放入另一个共享的加载器进程中运行。则,客户端上保存的稳定级别与插件运行模式的对应关系包括:
当获取的稳定级别为稳定时,插件运行模式为放入第一共享的加载器进程中运行插件;当获取的稳定级别为比较稳定时,插件运行模式为放入第二共享的加载器进程中运行插件;当获取的稳定级别为普通时,插件运行模式为启动独立的加载器进程运行插件;当获取的稳定级别为不稳定时,插件运行模式为放弃运行插件。
根据本申请实施例上述方法可以构建一种插件运行的客户端,参见图5,包括:第一获取单元510、存储单元520、第一确定单元530以及运行单元540。其中,
第一获取单元510,用于获取待运行插件的稳定级别。
存储单元520,用于保存稳定级别与运行模式的对应关系。
第一确定单元530,用于根据存储单元520保存的稳定级别与运行模式的对应关系,确定获取的稳定级别对应的插件运行模式。
运行单元540,用于根据确定的插件运行模式运行所述待运行插件。
上述各个单元既可以是客户端中独立的程序,也可以由核心业务程序来执行第一获取单元510、存储单元520和第一确定单元530的功能,加载器进程来执行运行单元540的功能。
进一步,客户端还包括第二获取单元,用于获取插件运行的异常信息,其中,所述异常信息包括:异常原因,以及所述插件的插件信息。则,
存储单元520,还用于存储所述异常信息。
这样,当设定时间触发后,客户端根据存储单元保存的异常信息,确定插件在设定时间内出现的异常次数,并根据所述异常次数调整所述插件的稳定级别。具体可以为获取所述设定时间内使用次数超过阈值的插件的插件信息,根据保存的异常信息,确定获取的插件信息在设定时间内出现的异常次数,根据所述异常次数调整所述插件的稳定级别,并将所述异常次数以及使用次数进行复位。
当然,客户端还可以包括发送单元,用于发送第二获取单元获取的异常信息。
本申请实施例中,可以从服务器保存的插件的稳定级别中,获取待运行插件的稳定级别,因此,可以构建一种插件运行的系统,包括参见图6,包括客户端100和服务器200。
客户端100,用于从服务器200保存的插件的稳定级别中,获取待运行插件的稳定级别,根据保存的稳定级别与运行模式的对应关系,确定获取的稳定级别对应的插件运行模式,根据确定的插件运行模式运行所述待运行插件。
服务器200,用于保存插件的稳定级别。
因此,客户端100包括:第一获取单元110、存储单元120、第一确定单元130以及运行单元140。其中,
第一获取单元110,用于获取待运行插件的稳定级别。
存储单元120,用于保存稳定级别与运行模式的对应关系。
第一确定单元130,用于根据存储单元120保存的稳定级别与运行模式的对应关系,确定获取的稳定级别对应的插件运行模式。
运行单元140,用于根据确定的插件运行模式运行所述待运行插件。
还包括第二获取单元150,用于获取插件运行的异常信息;则,存储单元120,还用于存储所述异常信息。
当客户端100运行插件出现异常时,客户端100还包括发送单元160,用于获取该插件的异常信息,将异常信息发送给服务器200,其中,异常信息包括:异常原因,以及所述插件的插件信息。
进一步,服务器200包括存储单元210,不仅用于保存插件的稳定级别,还用于接收并保存异常信息。
服务200还包括调整单元220,用于当设定时间触发后,根据存储单元210保存的异常信息,确定插件在设定时间内出现异常的数量,根据所述数量调整所述插件的稳定级别。
为了描述的方便,以上所述客户端和服务器的各部分以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件或硬件中实现。
综上所述,本申请实施例中,获取待运行插件的稳定级别,根据保存的稳定级别与运行模式的对应关系,确定获取的稳定级别对应的插件运行模式,根据确定的插件运行模式运行所述待运行插件,这样,将不同稳定级别的插件放入不同的加载器进程中运行,可以避免由于插件的不稳定造成核心业务程序出现故障的状况,提高了网络工具的稳定性。将稳定性较高的、且属于同一稳定级别的插件放入一个共享的加载器中运行,可以节省客户端的系统资源,提高了客户端系统的稳定性。并且通过收集插件的异常信息,动态调整插件的稳定级别,可以将不稳定的插件淘汰,提高了用户的体验。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (9)

1.一种插件运行的方法,其特征在于,包括:
从服务器保存的插件的稳定级别中,获取待运行插件的稳定级别;或,从本地保存的插件的稳定级别中,获取待运行插件的稳定级别;
根据保存的稳定级别与插件运行模式的对应关系,确定获取的稳定级别对应的插件运行模式;
根据确定的插件运行模式运行所述待运行插件;
当插件运行异常时,获取并保存所述插件运行的异常信息;
根据保存的异常信息,确定插件在设定时间内出现的异常次数;
根据所述异常次数调整所述插件的稳定级别。
2.如权利要求1所述的方法,其特征在于,所述插件运行模式包括:针对插件的不同稳定级别,启动不同的加载器进程运行所述待运行插件。
3.如权利要求1或2所述的方法,其特征在于,所述插件运行模式包括:
当获取的稳定级别为稳定时,插件运行模式为放入共享的加载器进程中运行插件;
当获取的稳定级别为普通时,插件运行模式为启动独立的加载器进程运行插件。
4.如权利要求1所述的方法,其特征在于,所述异常信息包括:异常原因,以及所述插件的插件信息。
5.如权利要求1所述的方法,其特征在于,当从服务器保存的插件的稳定级别中,获取待运行插件的稳定级别时,该方法还包括:
将所述异常信息发送给服务器进行保存。
6.一种运行插件的客户端,其特征在于,包括:
第一获取单元,用于从服务器保存的插件的稳定级别中,获取待运行插件的稳定级别;或,从本地保存的插件的稳定级别中,获取待运行插件的稳定级别;
存储单元,用于保存稳定级别与运行模式的对应关系;以及存储异常信息;
第一确定单元,用于根据存储单元保存的稳定级别与运行模式的对应关系,确定获取的稳定级别对应的插件运行模式;
运行单元,用于根据确定的插件运行模式运行所述待运行插件;
第二获取单元,用于获取插件运行的异常信息;
第二确定单元,用于根据存储单元保存的异常信息,确定插件在设定时间内出现的异常次数;
调整单元,用于根据所述异常次数调整所述插件的稳定级别。
7.如权利要求6所述的客户端,其特征在于,所述客户端还包括:
发送单元,用于向服务器发送所述异常信息。
8.一种插件运行的系统,其特征在于,包括:
客户端,用于从服务器保存的插件的稳定级别中,获取待运行插件的稳定级别,根据保存的稳定级别与运行模式的对应关系,确定获取的稳定级别对应的插件运行模式,根据确定的插件运行模式运行所述待运行插件;以及当插件运行异常时,获取并保存所述插件运行的异常信息;
服务器,用于接收并保存异常信息,根据保存的异常信息,确定插件出现的异常次数,根据所述异常次数调整并保存所述插件的稳定级别。
9.如权利要求8所述的系统,其特征在于,所述客户端,还用于将所述异常信息发送给服务器。
CN200910129187.4A 2009-03-31 2009-03-31 一种插件运行的方法、装置及系统 Active CN101510167B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN200910129187.4A CN101510167B (zh) 2009-03-31 2009-03-31 一种插件运行的方法、装置及系统
HK10100725.0A HK1133713A1 (zh) 2009-03-31 2010-01-22 種插件運行的方法、裝置及系統
US12/798,159 US8145950B2 (en) 2009-03-31 2010-03-29 Execution of a plugin according to plugin stability level
JP2012503427A JP5523550B2 (ja) 2009-03-31 2010-03-31 プラグイン安定性レベルに応じたプラグインの実行
EP10759151.3A EP2414932B1 (en) 2009-03-31 2010-03-31 Execution of a plugin according to plugin stability level
PCT/US2010/000986 WO2010114611A1 (en) 2009-03-31 2010-03-31 Execution of a plugin according to plugin stability level

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910129187.4A CN101510167B (zh) 2009-03-31 2009-03-31 一种插件运行的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN101510167A CN101510167A (zh) 2009-08-19
CN101510167B true CN101510167B (zh) 2016-04-20

Family

ID=41002570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910129187.4A Active CN101510167B (zh) 2009-03-31 2009-03-31 一种插件运行的方法、装置及系统

Country Status (6)

Country Link
US (1) US8145950B2 (zh)
EP (1) EP2414932B1 (zh)
JP (1) JP5523550B2 (zh)
CN (1) CN101510167B (zh)
HK (1) HK1133713A1 (zh)
WO (1) WO2010114611A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5333141B2 (ja) * 2009-10-09 2013-11-06 ソニー株式会社 情報処理装置および方法、並びにプログラム
CN102375758A (zh) * 2010-08-20 2012-03-14 联芯科技有限公司 移动通信设备浏览器防假死方法和装置
US8407461B2 (en) 2010-12-17 2013-03-26 Oracle International Corporation Plug-in system for software applications
CN102156663B (zh) * 2011-03-22 2013-07-31 北京书生国际信息技术有限公司 一种实现插件的方法和装置
EP2546746A1 (en) * 2011-07-14 2013-01-16 Alcatel-Lucent Polska Sp. z.o.o. Fault detection system and method of processing request in the fault detection system
CN102255776B (zh) * 2011-07-22 2016-06-15 百度在线网络技术(北京)有限公司 在线应用的状态监测方法及装置
CN102413115B (zh) * 2011-08-12 2015-05-13 乐视网信息技术(北京)股份有限公司 一种客户端插件系统
CN102831021A (zh) * 2012-07-27 2012-12-19 腾讯科技(深圳)有限公司 插件拦截或清理的方法及装置
US8856740B2 (en) * 2012-07-31 2014-10-07 Hewlett-Packard Development Company, L.P. Implementing multiple versions of a plug-in concurrently
CN104008004B (zh) * 2013-02-27 2017-11-03 联想(北京)有限公司 一种进程保护方法和电子设备
CN103761114B (zh) * 2013-10-18 2017-10-17 北京奇虎科技有限公司 一种浏览器侧加载扩展和/或插件的方法及装置
CN103677898B (zh) * 2013-11-08 2017-11-03 北京奇虎科技有限公司 服务器侧审核加载的扩展和/或插件的方法及服务器
CN105320853B (zh) * 2014-07-09 2021-03-02 腾讯科技(深圳)有限公司 一种信息监控方法、装置及终端
CN105991687B (zh) * 2015-02-03 2019-09-17 阿里巴巴集团控股有限公司 一种服务管理方法和装置
CN105159623B (zh) * 2015-10-28 2018-09-18 浪潮(北京)电子信息产业有限公司 一种存储管理系统的数据处理方法及装置
CN106919500A (zh) * 2015-12-24 2017-07-04 北京奇虎科技有限公司 一种定位浏览器发生异常的根源的方法和设备
US10452468B2 (en) 2016-12-30 2019-10-22 Western Digital Technologies, Inc. Method and system for managing non-volatile memory
CN107608881A (zh) * 2017-08-29 2018-01-19 北京潘达互娱科技有限公司 一种软件开发包的运行控制方法及装置
US10908926B2 (en) * 2017-09-09 2021-02-02 Box, Inc. Plug-in management wrappers
CN110851193A (zh) * 2018-08-01 2020-02-28 深圳市理邦精密仪器股份有限公司 监护设备软件平台插件加载方法、插件运行系统及监护仪

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236513A (zh) * 2007-01-30 2008-08-06 阿里巴巴公司 一种分布式任务系统和分布式任务管理方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845505B1 (en) * 1997-02-03 2005-01-18 Oracle International Corporation Web request broker controlling multiple processes
US6850257B1 (en) * 2000-04-06 2005-02-01 Microsoft Corporation Responsive user interface to manage a non-responsive application
US7181603B2 (en) * 2002-03-12 2007-02-20 Intel Corporation Method of secure function loading
GB0212308D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Trusted user interface for a secure mobile wireless device
US20050149342A1 (en) * 2003-12-24 2005-07-07 International Business Machines Corporation Method and apparatus for creating and customizing plug-in business collaboration protocols
US7398433B2 (en) * 2004-03-31 2008-07-08 Microsoft Corporation System and method of preventing a web browser plug-in module from generating a failure
GB2415065B (en) * 2004-06-09 2009-01-21 Symbian Software Ltd A computing device having a multiple process architecture for running plug-in code modules
US7321988B2 (en) * 2004-06-30 2008-01-22 Microsoft Corporation Identifying a code library from the subset of base pointers that caused a failure generating instruction to be executed
US7681181B2 (en) * 2004-09-30 2010-03-16 Microsoft Corporation Method, system, and apparatus for providing custom product support for a software program based upon states of program execution instability
US20060136916A1 (en) * 2004-12-17 2006-06-22 Rowland John R Method and apparatus for transaction performance and availability management based on program component monitor plugins and transaction performance monitors
JP4546382B2 (ja) * 2005-10-26 2010-09-15 株式会社日立製作所 機器検疫方法、および、機器検疫システム
EP1793322A1 (fr) * 2005-11-30 2007-06-06 Nagracard S.A. Module de sécurité évolutif
US8352917B2 (en) * 2006-06-26 2013-01-08 Adobe Systems Incorporated Web-beacon plug-ins and their certification
US8104048B2 (en) * 2006-08-04 2012-01-24 Apple Inc. Browsing or searching user interfaces and other aspects
US20080134140A1 (en) * 2006-10-16 2008-06-05 Pharsight Corporation Integrated drug development software platform
US20090288098A1 (en) * 2008-05-13 2009-11-19 Google Inc. Separate Plug-In Processes In Browsers and Applications Thereof
US8745361B2 (en) * 2008-12-02 2014-06-03 Microsoft Corporation Sandboxed execution of plug-ins

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236513A (zh) * 2007-01-30 2008-08-06 阿里巴巴公司 一种分布式任务系统和分布式任务管理方法

Also Published As

Publication number Publication date
US20100251034A1 (en) 2010-09-30
CN101510167A (zh) 2009-08-19
WO2010114611A1 (en) 2010-10-07
EP2414932A1 (en) 2012-02-08
HK1133713A1 (zh) 2010-04-01
US8145950B2 (en) 2012-03-27
JP2012522306A (ja) 2012-09-20
EP2414932A4 (en) 2017-01-25
JP5523550B2 (ja) 2014-06-18
EP2414932B1 (en) 2021-10-13

Similar Documents

Publication Publication Date Title
CN101510167B (zh) 一种插件运行的方法、装置及系统
CN110096336B (zh) 数据监控方法、装置、设备和介质
CN111818159B (zh) 数据处理节点的管理方法、装置、设备及存储介质
CN107908465B (zh) 大数据平台的任务调度方法
CN111263409B (zh) 提供网络功能服务的元数据信息的方法、系统以及相关设备
CN110933178B (zh) 调整集群系统内的节点配置的方法及服务器
CN111625419B (zh) 一种日志采集方法、系统、设备及计算机可读存储介质
CN111352806A (zh) 日志数据监控方法及装置
CN108632106A (zh) 监控服务设备的系统
CN113746821A (zh) 智能设备控制方法、装置、存储介质及电子设备
CN115904669A (zh) 任务调度方法、系统、电子设备及计算机可读存储介质
CN106843890B (zh) 基于智能决策的传感器网络、节点及其运行方法
CN108958980A (zh) 防止Activity生命周期异常的方法、电子装置及计算机可读存储介质
CN106919488B (zh) 应用程序的响应状态的确定方法及装置
CN107800780B (zh) 数据服务方法、装置、存储介质和计算机设备
CN108173683B (zh) 云应用的弹性控制方法、装置和云服务器
CN115314361A (zh) 一种服务器集群管理方法及其相关组件
CN115629860A (zh) 软件参数调优方法、容器管理平台、存储介质及系统
CN114817134A (zh) 一种快照任务监控方法、装置、设备及介质
CN115883639A (zh) 一种web实时消息推送方法及装置、设备、存储介质
CN108809763B (zh) 一种网络性能参数采集方法、终端装置及存储介质
CN108965378B (zh) 一种io模式识别方法、系统、设备及计算机存储介质
CN103152386B (zh) 业务数据分发服务器及其业务数据分发方法
CN111158899A (zh) 一种数据的采集方法、采集器、任务管理中心以及系统
CN105045629A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1133713

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1133713

Country of ref document: HK