应用的兼容性处理方法及装置与流程

文档序号:12463166阅读:187来源:国知局
应用的兼容性处理方法及装置与流程

本发明涉及通信技术,尤其涉及一种应用的兼容性处理方法及装置。



背景技术:

随着终端用户的增长,产品上不断增加或尝试新的功能,开发上面临代码量变大的问题和动态发布功能的需求,于是出现了插件化应用,即把一些自己产品的功能或第三方功能作为插件发布,由应用作为容器来进行加载,形成新的应用。为了满足用户的需求,以及提供更加良好的用户体验,需要不断地对应用或者插件进行升级。

然而,由于应用与插件的升级会存在不同步的问题,因此,可能会出现应用与插件之间不兼容的问题,使得应用与插件之间的调用失败,从而导致了应用的可靠性的降低。



技术实现要素:

本发明的多个方面提供一种应用的兼容性处理方法及装置,用以提高应用的可靠性。

本发明的一方面,提供一种应用的兼容性处理方法,包括:

获取应用与插件之间的调用指令;

根据所述调用指令,获得所述应用的版本号和所述插件的版本号;

根据所述应用的版本号和所述插件的版本号,控制所述应用与插件执行所述调用指令。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述获取应用与插件之间的调用指令,包括:

获取所述应用调用所述插件的调用指令;或者

获取所述插件调用所述应用的调用指令。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述应用的版本号和所述插件的版本号,控制所述应用与插件执行所述调用指令,包括:

若所述应用的版本号和所述插件的版本号满足版本兼容规则,允许所述应用与插件执行所述调用指令;

若所述应用的版本号和所述插件的版本号不满足版本兼容规则,禁止所述应用与插件执行所述调用指令。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述若所述应用的版本号和所述插件的版本号不满足版本兼容规则,禁止所述应用与插件执行所述调用指令之前,同时或者之后,还包括:

删除所述应用,下载与未删除的插件的版本号所对应的应用;或者,

删除所述插件,下载与未删除的应用的版本号所对应的插件。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述版本兼容规则,包括:

所述应用的主版本号与所述插件的主版本号相同,且所述应用的次版本号大于或等于所述插件的次版本号。

本发明的另一方面,提供一种应用的兼容性处理装置,包括:

获取单元,用于获取应用与插件之间的调用指令;

分析单元,用于根据所述调用指令,获得所述应用的版本号和所述插件的版本号;

控制单元,用于根据所述应用的版本号和所述插件的版本号,控制所述应用与插件执行所述调用指令。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述获取单元,具体用于

获取所述应用调用所述插件的调用指令;或者

获取所述插件调用所述应用的调用指令。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述控制单元,具体用于

若所述应用的版本号和所述插件的版本号满足版本兼容规则,允许所述应用与插件执行所述调用指令;

若所述应用的版本号和所述插件的版本号不满足版本兼容规则,禁止所述应用与插件执行所述调用指令。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述控制单元,还用于

删除所述应用,下载与未删除的插件的版本号所对应的应用;或者,

删除所述插件,下载与未删除的应用的版本号所对应的插件。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述版本兼容规则,包括:

所述应用的主版本号与所述插件的主版本号相同,且所述应用的次版本号大于或等于所述插件的次版本号。

由上述技术方案可知,本发明实施例通过获取应用与插件之间的调用指令,进而根据所述调用指令,获得所述应用的版本号和所述插件的版本号,使得能够根据所述应用的版本号和所述插件的版本号,控制所述应用与插件执行所述调用指令,由于不再直接执行应用与插件之间的调用指令,而是根据所述应用的版本号和所述插件的版本号,对应用与插件之间的调用指令的执行进行控制,使得在出现应用与插件之间不兼容的问题时能够及时采取相应的措施进行相关的控制处理,从而提高了应用的可靠性。

另外,采用本发明所提供的技术方案,采用预先设置的版本兼容规则,对应用与插件之间的调用指令的执行进行控制,能够有效避免由于应用与插件之间的不兼容而导致的应用与插件之间的调用失败的技术问题,能够进一步提高应用的可靠性和效率。

另外,采用本发明所提供的技术方案,能够极大提升用户体验。

【附图说明】

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的应用的兼容性处理方法的流程示意图;

图2为本发明另一实施例提供的应用的兼容性处理装置的结构示意图。

【具体实施方式】

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。

需要说明的是,本发明实施例中所涉及的终端可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、个人电脑(Personal Computer,PC)、MP3播放器、MP4播放器、可穿戴设备(例如,智能眼镜、智能手表、智能手环等)等。

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

图1为本发明一实施例提供的应用的兼容性处理方法的流程示意图,如图1所示。

101、获取应用与插件之间的调用指令。

这里所讲的应用,可以为安卓(Android)应用,或者还可以为IOS应用,本实施例对此不进行特别限定。

所谓的插件(Plug-in,又称addin、add-in、addon或add-on),还可以称为外挂,是一种遵循一定规范的应用程序接口编写出来的程序即代码。随着插件功能的更新与调整,开发人员可以发布新版本的插件。加载插件的相关应用的用户可以对老版本的插件进行升级处理,以获得新版本的插件。这样,在用户所使用的应用中所加载的,可能是升级之前的老版本的插件,或者还可能是升级之后的新版本的插件。

102、根据所述调用指令,获得所述应用的版本号和所述插件的版本号。

所谓的某个软件对象的版本号例如,应用的版本号、插件的版本号等,是指软件对象的版本的标识号。每一个软件对象都有一个版本号,版本号能使用户了解所使用的软件对象是否为最新的版本以及它所提供的功能与设置。

通常,每个版本号可以分为主版本号与次版本号两个部分。正常情况下,应用的主版本号应该与其兼容的插件的主版本号相同,且所述应用的次版本号应该大于或等于所述插件的次版本号。

例如,1.0版本的应用与1.0版本的插件之间可以兼容,1.1版本的应用与1.0版本的插件之间可以兼容。

或者,再例如,1.0版本的应用与2.0版本的插件之间不可以兼容,1.0版本的应用与1.1版本的插件之间不可以兼容。

具体来说,可以根据所述调用指令中,所涉及的调用方软件对象与被调用方软件对象,分别获取调用方软件对象的版本号与被调用方软件对象的版本号。其中,根据调用方软件对象与被调用方软件对象,获取调用方软件对象的版本号与被调用方软件对象的版本号的具体方式,可以采用现有技术中的软件版本号的获取方式,详细描述可以参加现有技术中的相关内容,此处不再赘述。

103、根据所述应用的版本号和所述插件的版本号,控制所述应用与插件执行所述调用指令。

需要说明的是,101~103的执行主体的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为位于网格侧服务器中的处理引擎,或者还可以为位于网格侧的分布式系统,本实施例对此不进行特别限定。

可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行特别限定。

这样,通过获取应用与插件之间的调用指令,进而根据所述调用指令,获得所述应用的版本号和所述插件的版本号,使得能够根据所述应用的版本号和所述插件的版本号,控制所述应用与插件执行所述调用指令,由于不再直接执行应用与插件之间的调用指令,而是根据所述应用的版本号和所述插件的版本号,对应用与插件之间的调用指令的执行进行控制,使得在出现应用与插件之间不兼容的问题时能够及时采取相应的措施进行相关的控制处理,从而提高了应用的可靠性。

现有技术中,应用或者插件在接收到应用与插件之间的调用指令之间,直接执行该调用指令。如果应用与插件之间不兼容,则可能会使得应用与插件之间的调用失败。所谓的调用失败,是指应用无法正常运行。例如,闪退(crash),是应用在运行时遭遇的无法处理的异常或错误而退出的表现,是应用最为常见的调用失败。

可选地,在本实施例的一个可能的实现方式中,在101中,具体可以获取所述应用调用所述插件的调用指令,或者还可以获取所述插件调用所述应用的调用指令,本实施例对此不进行特别限定。

可选地,在本实施例的一个可能的实现方式中,在103中,所采用的所述版本兼容规则,可以包括但不限于如下规则:

所述应用的主版本号与所述插件的主版本号相同,且所述应用的次版本号大于或等于所述插件的次版本号。

可选地,在本实施例的一个可能的实现方式中,在103中,具体可以若所述应用的版本号和所述插件的版本号满足版本兼容规则,则可以允许所述应用与插件执行所述调用指令;若所述应用的版本号和所述插件的版本号不满足版本兼容规则,则可以禁止所述应用与插件执行所述调用指令。

在一个具体的实现过程中,若所述应用的版本号和所述插件的版本号不满足版本兼容规则,具体可以删除所述应用,下载与未删除的插件的版本号所对应的应用,或者还可以删除所述插件,下载与未删除的应用的版本号所对应的插件,本实施例对此不进行特别限定。

本实施例中,通过获取应用与插件之间的调用指令,进而根据所述调用指令,获得所述应用的版本号和所述插件的版本号,使得能够根据所述应用的版本号和所述插件的版本号,控制所述应用与插件执行所述调用指令,由于不再直接执行应用与插件之间的调用指令,而是根据所述应用的版本号和所述插件的版本号,对应用与插件之间的调用指令的执行进行控制,使得在出现应用与插件之间不兼容的问题时能够及时采取相应的措施进行相关的控制处理,从而提高了应用的可靠性。

另外,采用本发明所提供的技术方案,采用预先设置的版本兼容规则,对应用与插件之间的调用指令的执行进行控制,能够有效避免由于应用与插件之间的不兼容而导致的应用与插件之间的调用失败的技术问题,能够进一步提高应用的可靠性和效率。

另外,采用本发明所提供的技术方案,能够极大提升用户体验。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

图2为本发明另一实施例提供的应用的兼容性处理装置的结构示意图,如图2所示。本实施例的应用的兼容性处理装置可以包括获取单元21、分析单元22和控制单元23。其中,获取单元21,用于获取应用与插件之间的调用指令;分析单元22,用于根据所述调用指令,获得所述应用的版本号和所述插件的版本号;控制单元23,用于根据所述应用的版本号和所述插件的版本号,控制所述应用与插件执行所述调用指令。

需要说明的是,本实施例所提供的应用的兼容性处理装置的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为位于网格侧服务器中的处理引擎,或者还可以为位于网格侧的分布式系统,本实施例对此不进行特别限定。

可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行特别限定。

可选地,在本实施例的一个可能的实现方式中,所述获取单元21,具体可以用于获取所述应用调用所述插件的调用指令;或者获取所述插件调用所述应用的调用指令。

可选地,在本实施例的一个可能的实现方式中,所述控制单元23,具体可以用于若所述应用的版本号和所述插件的版本号满足版本兼容规则,允许所述应用与插件执行所述调用指令;若所述应用的版本号和所述插件的版本号不满足版本兼容规则,禁止所述应用与插件执行所述调用指令。

在一个具体的实现过程中,所述控制单元23,还可以进一步用于删除所述应用,下载与未删除的插件的版本号所对应的应用;或者,删除所述插件,下载与未删除的应用的版本号所对应的插件。

可选地,在本实施例的一个可能的实现方式中,所述控制单元23,所采用的所述版本兼容规则,可以包括但不限于如下规则:

所述应用的主版本号与所述插件的主版本号相同,且所述应用的次版本号大于或等于所述插件的次版本号。

需要说明的是,图1对应的实施例中方法,可以由本实施例提供的应用的兼容性处理装置实现。详细描述可以参见图1对应的实施例中的相关内容,此处不再赘述。

本实施例中,通过获取单元获取应用与插件之间的调用指令,进而由分析单元根据所述调用指令,获得所述应用的版本号和所述插件的版本号,使得控制单元能够根据所述应用的版本号和所述插件的版本号,控制所述应用与插件执行所述调用指令,由于不再直接执行应用与插件之间的调用指令,而是根据所述应用的版本号和所述插件的版本号,对应用与插件之间的调用指令的执行进行控制,使得在出现应用与插件之间不兼容的问题时能够及时采取相应的措施进行相关的控制处理,从而提高了应用的可靠性。

另外,采用本发明所提供的技术方案,采用预先设置的版本兼容规则,对应用与插件之间的调用指令的执行进行控制,能够有效避免由于应用与插件之间的不兼容而导致的应用与插件之间的调用失败的技术问题,能够进一步提高应用的可靠性和效率。

另外,采用本发明所提供的技术方案,能够极大提升用户体验。

本发明实施例提供的上述方法和装置可以以设置并运行于设备中的计算机程序体现。该设备可以包括一个或多个处理器,还包括存储器和一个或多个程序。其中该一个或多个程序存储于存储器中,被上述一个或多个处理器执行以实现本发明上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器执行的方法流程,可以包括:

获取应用与插件之间的调用指令;

根据所述调用指令,获得所述应用的版本号和所述插件的版本号;

根据所述应用的版本号和所述插件的版本号,控制所述应用与插件执行所述调用指令。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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