应用异常信息的处理方法及装置转让专利

申请号 : CN201610213492.1

文献号 : CN105912466B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 贾军高飞赵林

申请人 : 百度在线网络技术(北京)有限公司

摘要 :

本发明提供一种应用异常信息的处理方法及装置。本发明实施例通过获取包含至少两个版本的插件的应用的应用异常信息,所述应用异常信息中包含所述应用发生异常时应用的运行状态信息和所述应用发生异常时的第一版本插件的运行状态信息,进而根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件,使得能够根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理,从而实现了包含至少两个版本的插件的应用的异常分析。

权利要求 :

1.一种应用异常信息的处理方法,其特征在于,包括:

获取应用的应用异常信息,所述应用包含至少两个版本的插件,所述应用发生异常时的插件为第一版本插件;所述应用异常信息中包含所述应用发生异常时应用的运行状态信息和所述第一版本插件的运行状态信息;

根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件;

根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理;其中,所述应用的运行状态信息包括所述应用的版本信息;或者所述应用的版本信息和所述应用的启用状态;

所述第一版本插件的运行状态信息包括所述第一版本插件的版本信息;或者所述第一版本插件的版本信息和所述第一版本插件的启用状态。

2.根据权利要求1所述的方法,其特征在于,所述至少两个版本的插件中除了所述第一版本插件之外的插件为第二版本插件;所述根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件之前,还包括:依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容;

根据所述映射内容,获得所述应用的映射文件、所述第一版本插件的映射文件和所述第二版本插件的映射文件。

3.根据权利要求2所述的方法,其特征在于,所述依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容,包括:利用ProGuard工具,依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容。

4.根据权利要求1所述的方法,其特征在于,所述根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理,包括:对所述应用的映射文件和所述第一版本插件的映射文件,进行合并处理,以获得合并文件;

根据所述合并文件,利用跟踪retrace工具,对所述应用进行异常分析处理。

5.一种应用异常信息的处理装置,其特征在于,包括:

获取单元,用于获取应用的应用异常信息,所述应用包含至少两个版本的插件,所述应用发生异常时的插件为第一版本插件;所述应用异常信息中包含所述应用发生异常时应用的运行状态信息和所述第一版本插件的运行状态信息;

查询单元,用于根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件;

分析单元,用于根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理;其中,所述应用的运行状态信息包括所述应用的版本信息;或者所述应用的版本信息和所述应用的启用状态;

所述第一版本插件的运行状态信息包括所述第一版本插件的版本信息;或者所述第一版本插件的版本信息和所述第一版本插件的启用状态。

6.根据权利要求5所述的装置,其特征在于,所述至少两个版本的插件中除了所述第一版本插件之外的插件为第二版本插件;所述装置还包括混淆单元,用于依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容;以及根据所述映射内容,获得所述应用的映射文件、所述第一版本插件的映射文件和所述第二版本插件的映射文件。

7.根据权利要求6所述的装置,其特征在于,所述混淆单元,具体用于利用ProGuard工具,依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容。

8.根据权利要求5所述的装置,其特征在于,所述分析单元,具体用于对所述应用的映射文件和所述第一版本插件的映射文件,进行合并处理,以获得合并文件;以及根据所述合并文件,利用跟踪retrace工具,对所述应用进行异常分析处理。

说明书 :

应用异常信息的处理方法及装置

【技术领域】

[0001] 本发明涉及通信技术,尤其涉及一种应用异常信息的处理方法及装置。【背景技术】
[0002] 随着终端用户的增长,产品上不断增加或尝试新的功能,开发上面临代码量变大的问题和动态发布功能的需求,于是出现了插件化应用,即把一些自己产品的功能或第三方功能作为插件发布,由应用作为容器来进行加载,形成新的应用。为了保护代码不被反编译,通常可以对代码进行混淆处理,以获得混淆之后的代码,来进行应用或插件的发布。
[0003] 然而,由于需要支持动态发布插件和动态升级插件,线上海量应用可能是应用即容器和插件的多个版本组合,因此,当包含多个版本的插件的应用发生异常时,亟需提供一种应用异常信息的处理方法,以进行这种应用的异常分析处理。【发明内容】
[0004] 本发明的多个方面提供一种应用异常信息的处理方法及装置,用以当包含多个版本的插件的应用发生异常时进行这种应用的异常分析处理。
[0005] 本发明的一方面,提供一种应用异常信息的处理方法,包括:
[0006] 获取应用的应用异常信息,所述应用包含至少两个版本的插件,所述应用发生异常时的插件为第一版本插件,所述至少两个版本的插件中除了所述第一版本插件之外的插件为第二版本插件;所述应用异常信息中包含所述应用发生异常时应用的运行状态信息和所述第一版本插件的运行状态信息;
[0007] 根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件;
[0008] 根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理。
[0009] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件之前,还包括:
[0010] 依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容;
[0011] 根据所述映射内容,获得所述应用的映射文件、所述第一版本插件的映射文件和所述第二版本插件的映射文件。
[0012] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容,包括:
[0013] 利用ProGuard工具,依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容。
[0014] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理,包括:
[0015] 对所述应用的映射文件和所述第一版本插件的映射文件,进行合并处理,以获得合并文件;
[0016] 根据所述合并文件,利用跟踪retrace工具,对所述应用进行异常分析处理。
[0017] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,[0018] 所述应用的运行状态信息包括所述应用的版本信息;或者所述应用的版本信息和所述应用的启用状态;
[0019] 所述第一版本插件的运行状态信息包括所述第一版本插件的版本信息;或者所述第一版本插件的版本信息和所述第一版本插件的启用状态。
[0020] 本发明的另一方面,提供一种应用异常信息的处理装置,包括:
[0021] 获取单元,用于获取应用的应用异常信息,所述应用包含至少两个版本的插件,所述应用发生异常时的插件为第一版本插件,所述至少两个版本的插件中除了所述第一版本插件之外的插件为第二版本插件;所述应用异常信息中包含所述应用发生异常时应用的运行状态信息和所述第一版本插件的运行状态信息;
[0022] 查询单元,用于根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件;
[0023] 分析单元,用于根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理。
[0024] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括混淆单元,用于
[0025] 依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容;以及
[0026] 根据所述映射内容,获得所述应用的映射文件、所述第一版本插件的映射文件和所述第二版本插件的映射文件。
[0027] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述混淆单元,具体用于
[0028] 利用ProGuard工具,依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容。
[0029] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述分析单元,具体用于
[0030] 对所述应用的映射文件和所述第一版本插件的映射文件,进行合并处理,以获得合并文件;以及
[0031] 根据所述合并文件,利用跟踪retrace工具,对所述应用进行异常分析处理。
[0032] 如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,[0033] 所述应用的运行状态信息包括所述应用的版本信息;或者所述应用的版本信息和所述应用的启用状态;
[0034] 所述第一版本插件的运行状态信息包括所述第一版本插件的版本信息;或者所述第一版本插件的版本信息和所述第一版本插件的启用状态。
[0035] 由上述技术方案可知,本发明实施例通过获取包含至少两个版本的插件的应用的应用异常信息,所述应用异常信息中包含所述应用发生异常时应用的运行状态信息和所述应用发生异常时的第一版本插件的运行状态信息,进而根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件,使得能够根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理,从而实现了包含至少两个版本的插件的应用的异常分析。
[0036] 另外,采用本发明所提供的技术方案,通过对应用的代码和全部版本的插件的代码进行一次整体的混淆处理,获得一份既包含应用的映射内容,又包含全部版本的插件的映射内容的映射文件,因此,不会出现不同的代码被混淆成同一内容的情况,能够有效保证混淆处理的可靠性。
[0037] 另外,采用本发明所提供的技术方案,能够自动根据所述应用的映射文件和所述应用发生异常时的第一版本插件的映射文件,对所述应用进行异常分析处理,无需人工参与,能够有效提高异常分析处理的效率和可靠性。【附图说明】
[0038] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0039] 图1为本发明一实施例提供的应用异常信息的处理方法的流程示意图;
[0040] 图2为本发明另一实施例提供的应用异常信息的处理装置的结构示意图;
[0041] 图3为本发明另一实施例提供的应用异常信息的处理装置的结构示意图。【具体实施方式】
[0042] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
[0043] 需要说明的是,本发明实施例中所涉及的终端可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、个人电脑(Personal Computer,PC)、MP3播放器、MP4播放器、可穿戴设备(例如,智能眼镜、智能手表、智能手环等)等。
[0044] 另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0045] 图1为本发明一实施例提供的应用异常信息的处理方法的流程示意图,如图1所示。
[0046] 101、获取应用的应用异常信息,所述应用包含至少两个版本的插件,所述应用发生异常时的插件为第一版本插件,所述至少两个版本的插件中除了所述第一版本插件之外的插件为第二版本插件;所述应用异常信息中包含所述应用发生异常时应用的运行状态信息和所述第一版本插件的运行状态信息。
[0047] 这里所讲的应用,可以为安卓(Android)应用,或者还可以为IOS应用,本本实施例对此不进行特别限定。
[0048] 所谓的插件(Plug-in,又称addin、add-in、addon或add-on),还可以称为外挂,是一种遵循一定规范的应用程序接口编写出来的程序即代码。随着插件功能的更新与调整,开发人员可以发布新版本的插件。加载插件的相关应用的用户可以对老版本的插件进行升级处理,以获得新版本的插件。这样,在用户所使用的应用中所加载的,可能是升级之前的老版本的插件,或者还可能是升级之后的新版本的插件。
[0049] 所谓的应用发生异常,是指应用无法正常运行。闪退(crash),是应用在运行时遭遇的无法处理的异常或错误而退出的表现,是应用最为常见的异常。
[0050] 102、根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件。
[0051] 103、根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理。
[0052] 需要说明的是,101~103的执行主体的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为位于网格侧服务器中的处理引擎,或者还可以为位于网格侧的分布式系统,本实施例对此不进行特别限定。
[0053] 可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行特别限定。
[0054] 这样,通过获取包含至少两个版本的插件的应用的应用异常信息,所述应用异常信息中包含所述应用发生异常时应用的运行状态信息和所述应用发生异常时的第一版本插件的运行状态信息,进而根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件,使得能够根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理,从而实现了包含至少两个版本的插件的应用的异常分析。
[0055] 本发明中,所述应用发生异常时应用的运行状态信息,是指用于指示应用发生异常时,该应用的运行情况。具体来说,所述应用的运行状态信息可以为所述应用的版本信息,或者还可以为所述应用的版本信息和所述应用的启用状态,本实施例对此不进行特别限定。
[0056] 本发明中,所述第一版本插件的运行状态信息,是指用于指示应用发生异常时,该第一版本插件的运行情况。具体来说,所述第一版本插件的运行状态信息可以为所述第一版本插件的版本信息,或者还可以为所述第一版本插件的版本信息和所述第一版本插件的启用状态,本实施例对此不进行特别限定。
[0057] 可选地,在本实施例的一个可能的实现方式中,在102之前,还可以进一步依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容,进而,则可以根据所述映射内容,获得所述应用的映射文件、所述第一版本插件的映射文件和所述第二版本插件的映射文件。
[0058] 这样,通过对应用的代码和全部版本的插件的代码进行一次整体的混淆处理,获得一份既包含应用的映射内容,又包含全部版本的插件的映射内容的映射文件,因此,不会出现不同的代码被混淆成同一内容的情况,能够有效保证混淆处理的可靠性。
[0059] 具体来说,具体可以利用ProGuard工具,依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容。通过利用ProGuard工具,对作为容器的应用的代码和全部版本的插件的代码进行一次整体的混淆处理,获得一份既包含应用的映射内容,又包含全部版本的插件的映射内容的映射文件,因此,不会出现不同的代码被混淆成同一内容的情况,能够有效保证混淆处理的可靠性。
[0060] 本发明中,经过上述混淆处理之后的应用和插件,可以单独进行发布。
[0061] 可选地,在本实施例的一个可能的实现方式中,在103中,具体可以对所述应用的映射文件和所述第一版本插件的映射文件,进行合并处理,以获得合并文件,进而,则可以根据所述合并文件,利用跟踪(retrace)工具,对所述应用进行异常分析处理,能够有效提高异常分析处理的效率。
[0062] 本实施例中,通过获取包含至少两个版本的插件的应用的应用异常信息,所述应用异常信息中包含所述应用发生异常时应用的运行状态信息和所述应用发生异常时的第一版本插件的运行状态信息,进而根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件,使得能够根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理,从而实现了包含至少两个版本的插件的应用的异常分析。
[0063] 另外,采用本发明所提供的技术方案,通过对应用的代码和全部版本的插件的代码进行一次整体的混淆处理,获得一份既包含应用的映射内容,又包含全部版本的插件的映射内容的映射文件,因此,不会出现不同的代码被混淆成同一内容的情况,能够有效保证混淆处理的可靠性。
[0064] 另外,采用本发明所提供的技术方案,能够自动根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理,无需人工参与,能够有效提高异常分析处理的效率和可靠性。
[0065] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0066] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0067] 图2为本发明另一实施例提供的应用异常信息的处理装置的结构示意图,如图2所示。本实施例的应用异常信息的处理装置可以包括获取单元21、查询单元22和分析单元23。其中,获取单元21,用于获取应用的应用异常信息,所述应用包含至少两个版本的插件,所述应用发生异常时的插件为第一版本插件,所述至少两个版本的插件中除了所述第一版本插件之外的插件为第二版本插件;所述应用异常信息中包含所述应用发生异常时应用的运行状态信息和所述第一版本插件的运行状态信息;查询单元22,用于根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件;分析单元23,用于根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理。
[0068] 需要说明的是,本实施例所提供的应用异常信息的处理装置的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为位于网格侧服务器中的处理引擎,或者还可以为位于网格侧的分布式系统,本实施例对此不进行特别限定。
[0069] 可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行特别限定。
[0070] 本发明中,所述应用发生异常时应用的运行状态信息,是指用于指示应用发生异常时,该应用的运行情况。具体来说,所述应用的运行状态信息可以为所述应用的版本信息,或者还可以为所述应用的版本信息和所述应用的启用状态,本实施例对此不进行特别限定。
[0071] 本发明中,所述第一版本插件的运行状态信息,是指用于指示应用发生异常时,该第一版本插件的运行情况。具体来说,所述第一版本插件的运行状态信息可以为所述第一版本插件的版本信息,或者还可以为所述第一版本插件的版本信息和所述第一版本插件的启用状态,本实施例对此不进行特别限定。
[0072] 可选地,在本实施例的一个可能的实现方式中,如图3所示,本实施例所提供的应用异常信息的处理装置还可以进一步包括混淆单元31,可以用于依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容;以及根据所述映射内容,获得所述应用的映射文件、所述第一版本插件的映射文件和所述第二版本插件的映射文件。
[0073] 具体来说,所述混淆单元31,具体可以用于利用ProGuard工具,依次对所述应用的代码、所述第一版本插件的代码和所述第二版本插件的代码,进行混淆处理,以获得映射内容。
[0074] 可选地,在本实施例的一个可能的实现方式中,所述分析单元23,具体可以用于对所述应用的映射文件和所述第一版本插件的映射文件,进行合并处理,以获得合并文件;以及根据所述合并文件,利用跟踪retrace工具,对所述应用进行异常分析处理。
[0075] 需要说明的是,图1对应的实施例中方法,可以由本实施例提供的应用异常信息的处理装置实现。详细描述可以参见图1对应的实施例中的相关内容,此处不再赘述。
[0076] 本实施例中,通过获取单元获取包含至少两个版本的插件的应用的应用异常信息,所述应用异常信息中包含所述应用发生异常时应用的运行状态信息和所述应用发生异常时的第一版本插件的运行状态信息,进而由查询单元根据所述应用的运行状态信息和所述第一版本插件的运行状态信息,获得所述应用的映射文件和所述第一版本插件的映射文件,使得分析单元能够根据所述应用的映射文件和所述第一版本插件的映射文件,对所述应用进行异常分析处理,从而实现了包含至少两个版本的插件的应用的异常分析。
[0077] 另外,采用本发明所提供的技术方案,通过对应用的代码和全部版本的插件的代码进行一次整体的混淆处理,获得一份既包含应用的映射内容,又包含全部版本的插件的映射内容的映射文件,因此,不会出现不同的代码被混淆成同一内容的情况,能够有效保证混淆处理的可靠性。
[0078] 另外,采用本发明所提供的技术方案,能够自动根据所述应用的映射文件和所述应用发生异常时的第一版本插件的映射文件,对所述应用进行异常分析处理,无需人工参与,能够有效提高异常分析处理的效率和可靠性。
[0079] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0080] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0081] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0082] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0083] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0084] 最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。