处理插件安装过程的方法以及装置与流程

文档序号:11133672阅读:771来源:国知局
处理插件安装过程的方法以及装置与制造工艺

本发明涉及计算机技术领域,尤其涉及一种处理插件安装过程的方法以及装置。



背景技术:

目前,有许多应用程序为了完善自身的功能或者升级相应的功能,提供插件接口供安装一些扩展插件,以增强自身的功能。相关技术中,处理宿主应用程序当中插件安装过程的实现流程通常是:对于插件安装过程中的各个状态,通过逻辑判断,由程序顺序地来处理每个安装过程,并借助于标记量来实现插件安装过程的管理。

但是,目前存在的问题是:由于每个插件有多个状态,插件安装的过程又比较复杂,因此,这种通过逻辑判断顺序地处理插件的安装过程,就会变得非常的复杂,例如,需要定义多个标记量,并通过管理很多分支才能实现功能,这样会造成代码不便于理解和后期的维护,并降低了插件安装流程的管理效率。



技术实现要素:

本发明的目的旨在至少在一定程度上解决上述的技术问题之一。

为此,本发明的第一个目的在于处理插件安装过程的方法。该方法能够实现插件安装的功能,并能够对插件安装过程进行高效的管理,并提高了处理插件安装过程的稳定性以及可维护性。

本发明的第二个目的在于提出一种处理插件安装过程的装置。

为达上述目的,本发明第一方面实施例的处理插件安装过程的方法,包括:根据事件的性质对目标插件的安装过程进行分解以得到多个事件状态,其中,所述多个事件状态之间相互独立;当接收到针对所述目标插件的安装指令时,生成所述目标插件的控制模块,通过所述控制模块控制所述多个事件状态之间的切换以对所述目标插件进行安装。

本发明实施例的处理插件安装过程的方法,可根据事件的性质对目标插件的安装过程进行分解以得到多个事件状态,其中,多个事件状态之间相互独立,当接收到针对目标插件的安装指令时,生成目标插件的控制模块,通过控制模块控制多个事件状态之间的切换以对目标插件进行安装。即通过将插件的安装过程分解成多个独立的事件状态,并通过该插件的控制模块控制多个事件状态之间的切换,以实现插件安装的功能,并能够对插件安装过程进行高效的管理,提高了处理插件安装过程的稳定性以及可维护性。

为达上述目的,本发明第二方面实施例的处理插件安装过程的装置,包括:分解模块,用于根据事件的性质对目标插件的安装过程进行分解以得到多个事件状态,其中,所述多个事件状态之间相互独立;生成模块,用于在接收到针对所述目标插件的安装指令时,生成所述目标插件的控制模块;处理模块,用于通过所述控制模块控制所述多个事件状态之间的切换以对所述目标插件进行安装。

本发明实施例的处理插件安装过程的装置,可通过分解模块根据事件的性质对目标插件的安装过程进行分解以得到多个事件状态,其中,多个事件状态之间相互独立,生成模块在接收到针对目标插件的安装指令时,生成目标插件的控制模块,处理模块通过控制模块控制多个事件状态之间的切换以对目标插件进行安装。即通过将插件的安装过程分解成多个独立的事件状态,并通过该插件的控制模块控制多个事件状态之间的切换,以实现插件安装的功能,并能够对插件安装过程进行高效的管理,提高了处理插件安装过程的稳定性以及可维护性。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本发明一个实施例的处理插件安装过程的方法的流程图;

图2是根据本发明一个实施例的插件的安装状态机的实现流程示例图;

图3是根据本发明一个实施例的处理插件安装过程的装置的结构示意图;

图4是根据本发明另一个实施例的处理插件安装过程的装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的处理插件安装过程的方法以及装置。

图1是根据本发明一个实施例的处理插件安装过程的方法的流程图。需要说明的是,本发明实施例的处理插件安装过程的方法可应用于处理插件安装过程的装置中,该装置可被配置于终端上。其中,该终端可以是移动终端、PC机等,该移动终端可以是手机、平板电脑、个人数字助理等具有各种操作系统的硬件设备。

如图1所示,该处理插件安装过程的方法可以包括:

S110,根据事件的性质对目标插件的安装过程进行分解以得到多个事件状态,其中,多个事件状态之间相互独立。

可以理解,由于插件的安装过程可通常有多个状态,例如,初始化、下载、暂停、安装和异常等状态,所以,本发明通过定义一套状态机来管理整个插件的安装过程,借鉴状态机涉及模式的思想,将插件的安装过程分解成多个独立的状态,每个状态负载处理独立的职能。

还可以理解,何时将目标插件的安装过程分解成多个事件状态,可以根据具体实际应用和需求来决定,例如,可在接收到针对目标插件的安装指令之前,对目标插件的安装过程进行状态分解,或者,在接收到针对目标插件的安装指令时,对目标插件的安装过程进行状态分解。

具体地,可对目标插件的安装过程进行事件分析,以分析出目标插件的安装过程可含有哪些事件,并确定这些事件所对应的性质,然后,根据事件的性质将目标插件的安装过程分解成多个事件状态,为了便于管理和维护,该多个事件状态之间相互独立,且每个事件状态均独立负责处理各自的职能。

由于插件的安装过程可通常有多个状态,例如,初始化、下载、暂停、安装和异常等状态,因此,可根据事件性质将目标插件的安装过程分解为初始、下载、暂停、安装、异常等五个独立的状态。即作为一种示例,该多个事件状态可包括初始态、下载态、暂停态、安装态和异常态等。其中,初始态可用于指示目标插件开始安装之前的初始化处理过程;下载态可用于指示从服务器中下载目标插件对应的安装文件;暂停态可用于指示暂停目标插件对应的安装文件的下载过程;安装态可用于指示执行目标插件的安装,并将目标插件安装至目标程序中;异常态可用于指示在处理目标插件的安装过程中出现错误时,根据错误的类别对错误进行相应的处理。

S120,当接收到针对目标插件的安装指令时,生成目标插件的控制模块,通过控制模块控制多个事件状态之间的切换以对目标插件进行安装。

具体地,在将目标插件的安装过程分解为多个事件状态之后,可检测是否接收到针对该目标插件的安装指令,例如,假设本发明实施例的处理插件安装过程的方法应用于浏览器中,假设该浏览器为用户提供目标插件的安装接口,当用户想安装该目标插件时,可通过该安装接口提交安装指令。当检测接收到用户针对该目标插件的安装指令时,可生成该目标插件对应的控制模块,并通过该控制模块控制个事件状态之间的切换以对目标插件进行安装。

具体而言,在本发明的一个实施例中,上述通过该控制模块控制个事件状态之间的切换以对目标插件进行安装的具体实现过程可如下:可通过控制模块检测目标插件是否已执行完当前事件状态中的操作;如果目标插件已执行完当前事件状态中的操作,则通过控制模块控制目标插件的安装过程从当前事件状态切换至下一个事件状态,同时向下一个事件状态发送通知信息,以使下一个事件状态根据通知信息进行相应的操作。

可以理解,控制模块可用于确定每个目标插件安装过程中的各个事件状态之间如何跳转、何时跳转,即该控制模块的职能是用于控制目标插件安装状态的切换时机,例如,当目标插件执行完初始态中的操作之后,控制模块可将安装过程从初始态切换到下载态,同时发送一条指令(如开启下载)给该下载态,以告知该下载态可以开始下载,此时下载态即可开启下载。

为了提升用户体验,扩展实现功能,进一步地,在本发明的一个实施例中,当目标插件为多个时,该处理插件安装过程的方法还可包括:在接收到针对多个目标插件的安装指令时,分别为多个目标插件生成对应的控制模块;分别通过多个目标插件对应的控制模块控制对应的目标插件的安装过程。

可以理解,在同一时间,可能会存在多个目标插件同时需要安装,此时可将每个目标插件的安装过程分别分解为多个事件状态,并在接收到针对每个目标插件的安装指令时,分别给每个目标插件分配一个独立的控制模块,由该控制模块控制各自对应的目标插件的安装过程。由此,通过分别为多个目标插件分别对应的控制模块,并通过该控制模块控制每个目标插件的安装过程,从而能够处理多个插件的安装过程,并对所有插件的安装进行系统的管理和维护。

为了能够进一步提高本发明的可用性以及可行性,可选地,在本发明的一个实施例中,该处理插件安装过程的方法还可包括:当接收到针对目标插件的安装过程的外部指令时,通过控制模块根据外部指令对安装过程进行响应和处理。其中,该外部指令可以是暂停指令、取消指令等。

也就是说,在通过控制模块对目标插件安装过程进行控制的过程中,也可以接收针对该目标插件的外部指令,例如,用户暂停或取消安装过程,这些指令通过相应的功能接口发送到控制模块,控制模块根据该外部指令做出响应和处理。

综上,本发明实施例的处理插件安装过程的方法,通过定义一套状态机来管理整个插件的安装过程,借鉴状态机设计模式的思想,根据事件的性质将插件的安装过程分解成多个独立的事件状态,每个事件状态负责处理相应的职能,整个状态机的管理通过定义一个全局的管理者(即上述的控制模块)来实现,其中,如图2所示,为插件的安装状态机的实现流程示例图,将每个插件的安装过程分解为初始、下载、安装、暂停以及异常等5个独立的事件状态,每个事件状态均具有各自的职能,并通过控制模块控制该插件的多个事件状态之间的切换,以实现对该插件的安装过程的管理和控制。此外,由于每个插件对应一个控制模块和多个事件状态,因此,能够同时处理多个插件的安装过程,并对所有插件的安装进行系统的管理和维护。

本发明实施例的处理插件安装过程的方法,可根据事件的性质对目标插件的安装过程进行分解以得到多个事件状态,其中,多个事件状态之间相互独立,当接收到针对目标插件的安装指令时,生成目标插件的控制模块,通过控制模块控制多个事件状态之间的切换以对目标插件进行安装。即通过将插件的安装过程分解成多个独立的事件状态,并通过该插件的控制模块控制多个事件状态之间的切换,以实现插件安装的功能,并能够对插件安装过程进行高效的管理,提高了处理插件安装过程的稳定性以及可维护性。

与上述几种实施例提供的处理插件安装过程的方法相对应,本发明的一种实施例还提供一种处理插件安装过程的装置,由于本发明实施例提供的处理插件安装过程的装置与上述几种实施例提供的处理插件安装过程的方法相对应,因此在前述处理插件安装过程的方法的实施方式也适用于本实施例提供的处理插件安装过程的装置,在本实施例中不再详细描述。图3是根据本发明一个实施例的处理插件安装过程的装置的结构示意图。需要说明的是,本发明实施例的处理插件安装过程的装置可以通过软件、硬件或者两者的结合实现。

如图3所示,该处理插件安装过程的装置可以包括:分解模块100、生成模块200和处理模块300。

具体地,分解模块100可用于根据事件的性质对目标插件的安装过程进行分解以得到多个事件状态,其中,多个事件状态之间相互独立。

作为一种示例,多个事件状态包括初始态、下载态、暂停态、安装态和异常态等。其中,初始态用于指示目标插件开始安装之前的初始化处理过程;下载态用于指示从服务器中下载目标插件对应的安装文件;暂停态用于指示暂停目标插件对应的安装文件的下载过程;安装态用于指示执行目标插件的安装,并将目标插件安装至目标程序中;异常态用于指示在处理目标插件的安装过程中出现错误时,根据错误的类别对错误进行相应的处理。

生成模块200可用于在接收到针对目标插件的安装指令时,生成目标插件的控制模块。

处理模块300可用于通过控制模块控制多个事件状态之间的切换以对目标插件进行安装。

具体而言,在本发明的一个实施例中,如图4所示,该处理模块300可包括:检测单元310和处理单元320。其中,检测单元310可用于通过控制模块检测目标插件是否已执行完当前事件状态中的操作。处理单元320可用于在目标插件已执行完当前事件状态中的操作时,通过控制模块控制目标插件的安装过程从当前事件状态切换至下一个事件状态,同时向下一个事件状态发送通知信息,以使下一个事件状态根据通知信息进行相应的操作。

为了提升用户体验,扩展实现功能,进一步地,在本发明的一个实施例中,当目标插件为多个时,生成模块200还可用于在接收到针对多个目标插件的安装指令时,分别为多个目标插件生成对应的控制模块,其中,处理模块300还用于分别通过多个目标插件对应的控制模块控制对应的目标插件的安装过程。

为了能够进一步提高本发明的可用性以及可行性,可选地,在本发明的一个实施例中,该处理模块300还可用于在接收到针对目标插件的安装过程的外部指令时,通过控制模块根据外部指令对安装过程进行响应和处理。其中,该外部指令可以是暂停指令、取消指令等。

本发明实施例的处理插件安装过程的装置,可通过分解模块根据事件的性质对目标插件的安装过程进行分解以得到多个事件状态,其中,多个事件状态之间相互独立,生成模块在接收到针对目标插件的安装指令时,生成目标插件的控制模块,处理模块通过控制模块控制多个事件状态之间的切换以对目标插件进行安装。即通过将插件的安装过程分解成多个独立的事件状态,并通过该插件的控制模块控制多个事件状态之间的切换,以实现插件安装的功能,并能够对插件安装过程进行高效的管理,提高了处理插件安装过程的稳定性以及可维护性。

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1