CN111722857A - 软件开发工具包的更新方法、装置、电子设备及存储介质 - Google Patents

软件开发工具包的更新方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111722857A
CN111722857A CN201910213733.6A CN201910213733A CN111722857A CN 111722857 A CN111722857 A CN 111722857A CN 201910213733 A CN201910213733 A CN 201910213733A CN 111722857 A CN111722857 A CN 111722857A
Authority
CN
China
Prior art keywords
updated
plug
functional
sdk
version
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.)
Pending
Application number
CN201910213733.6A
Other languages
English (en)
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.)
Beijing Berlin Interactive Technology Co ltd
Original Assignee
Beijing Berlin Interactive Technology Co 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 Beijing Berlin Interactive Technology Co ltd filed Critical Beijing Berlin Interactive Technology Co ltd
Priority to CN201910213733.6A priority Critical patent/CN111722857A/zh
Publication of CN111722857A publication Critical patent/CN111722857A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种软件开发工具包的更新方法、装置、电子设备及存储介质。根据升级控制参数确定SDK中的待更新功能插件,升级控制参数包括SDK中的各个功能插件的Pluginid;将待更新功能插件的更新版本发送至终端设备,以使终端设备根据更新版本对待更新功能插件进行更新。在本申请实施例中,可以基于SDK中的各个功能插件的Pluginid确定出待更新功能插件,并且可以将待更新功能插件的更新版本发送至终端设备,这样终端设备在接收到该更新版本后,可以只对待更新功能插件进行更新,不再依赖于宿主应用程序的更新机制,不仅简化了更新过程,降低了更新时间,还进一步的提高了用户的体验感。

Description

软件开发工具包的更新方法、装置、电子设备及存储介质
技术领域
本申请涉及数据处理技术领域,具体而言,本申请涉及一种软件开发工具包的更新方法、装置、电子设备及存储介质。
背景技术
随着网络的快速发展,各种移动终端设备得到了广泛地应用,在移动终端上可以通过各种应用程序直接地向用户展示各种信息,目前通过应用程序向用户展示各种信息较为常用的方法,是将软件开发工具包(Software DevelopmentKit,SDK)作为一个整体嵌入到应用程序中。
为了满足用户的需求,SDK是需要不断更新的,进而使功能更加的完善。但是,由于SDK作为一个整体嵌入到应用程序中,嵌入后是作为应用程序的一部分,因此,当SDK更新时需要依赖于宿主应用程序的客户端的更新机制。显然,这种更新方式不仅造成更新过程比较繁琐,增加了更新时间,还会降低了用户的体验感。
发明内容
本申请提供了一种软件开发工具包的更新方法、装置、电子设备及存储介质,该技术方案如下:
第一方面,本申请实施例提供了一种软件开发工具包的更新方法,该方法包括:
根据升级控制参数确定SDK(Software Development Kit,软件开发工具包)中的待更新功能插件,升级控制参数包括SDK中的各个功能插件的Pluginid(插件标识);
将待更新功能插件的更新版本发送至终端设备,以使终端设备根据更新版本对待更新功能插件进行更新。
第一方面可选的实施例中,根据升级控制参数确定SDK中的待更新功能插件之前,还包括:
获取终端设备中SDK的各个功能插件的当前版本号;
根据升级控制参数确定SDK中的待更新功能插件,还包括:
根据SDK的各个功能插件的当前版本号,确定SDK中的待更新功能插件。
第一方面可选的实施例中,根据升级控制参数确定SDK中的待更新功能插件之前,还包括:
获取终端设备中SDK的渠道标识;
根据升级控制参数确定SDK中的待更新功能插件,还包括:
根据SDK中的各个功能插件的Pluginid,以及SDK的渠道标识,确定SDK中的待更新功能插件。
第一方面可选的实施例中,SDK包括至少二个功能插件,至少二个功能插件是基于业务逻辑的功能划分得到的,至少二个功能插件包括待更新功能插件。
第二方面,本申请实施例还提供了一种软件开发工具包的更新方法,该方法包括:
接收服务器发送的待更新功能插件的更新版本,待更新功能插件是服务器基于升级控制参数确定的,升级控制参数包括SDK中的各个功能插件的Pluginid;
根据更新版本对待更新功能插件进行更新。
第二方面可选的实施例中,更新版本中包括待更新功能插件的Pluginid,根据更新版本对待更新功能插件进行更新,包括:
基于Pluginid与代理功能插件的映射关系,确定Pluginid对应的代理功能插件,代理功能插件为终端设备内置的具有生命周期的功能插件中的部分功能插件;
基于确定的代理功能插件,以及更新版本对对待更新功能插件进行更新。
第二方面可选的实施例中,根据更新版本对待更新功能插件进行更新之前,还包括:
加载预先设置的升级控制功能插件,升级控制功能插件用于控制终端设备在接收到更新版本后,自动根据更新版本对待更新功能插件进行更新;
根据更新版本对待更新功能插件进行更新,包括:
基于升级控制功能插件、以及更新版本对待更新功能插件进行更新。
第二方面可选的实施例中,若在根据更新版本对待更新功能插件进行更新时存在异常,该方法还包括:
停止根据更新版本对待更新功能插件进行更新,并加载待更新功能插件的原有版本。
第二方面可选的实施例中,该加载待更新功能插件的原有版本之后,还包括:
向服务器发送待更新功能插件更新异常的提醒消息。
第三方面,提供了一种软件开发工具包,该软件开发工具包中包括自更新模块,自更新模块具体用于:
接收服务器发送的待更新功能插件的更新版本,待更新功能插件是服务器基于升级控制参数确定的,升级控制参数包括SDK中的各个功能插件的Pluginid;以及接收到服务器发送的待更新功能插件的更新版本后,根据更新版本对待更新功能插件进行更新。
第三方面可选的实施例中,更新版本中包括待更新功能插件的Pluginid,自更新模块在根据更新版本对待更新功能插件进行更新时,具体用于:
基于Pluginid与代理功能插件的映射关系,确定Pluginid对应的代理功能插件,代理功能插件为终端设备内置的具有生命周期的功能插件中的部分功能插件;以及基于确定的代理功能插件和更新版本对对待更新功能插件进行更新。
第三方面可选的实施例中,自更新模块还用于:
在根据更新版本对待更新功能插件进行更新之前,加载预先设置的升级控制功能插件,升级控制功能插件用于控制终端设备在接收到更新版本后,自动根据更新版本对待更新功能插件进行更新;
自更新模块具体用于:基于升级控制功能插件、以及更新版本对待更新功能插件进行更新。
第三方面可选的实施例中,自更新模块还用于:
在根据更新版本对待更新功能插件进行更新存在异常时,停止根据更新版本对待更新功能插件进行更新,并加载待更新功能插件的原有版本。
第三方面可选的实施例中,自更新模块还用于:
在加载待更新功能插件的原有版本之后,向服务器发送待更新功能插件更新异常的提醒消息。
第四方面,本申请实施例还提供了一种软件开发工具包的更新装置,其特征在于,该装置包括:
待更新功能插件确定模块,用于根据升级控制参数确定SDK中的待更新功能插件,升级控制参数包括SDK中的各个功能插件的Pluginid;
更新版本发送模块,用于将待更新功能插件的更新版本发送至终端设备,以使终端设备根据更新版本对待更新功能插件进行更新。
第四方面可选的实施例中,该装置还包括信息获取模块,信息获取模块具体用于:
在根据升级控制参数确定SDK中的待更新功能插件之前,获取终端设备中SDK的各个功能插件的当前版本号;
待更新功能插件确定模块在根据升级控制参数确定SDK中的待更新功能插件时,还用于:
根据SDK的各个功能插件的当前版本号,确定SDK中的待更新功能插件。
第四方面可选的实施例中,信息获取模块还用于:
在根据升级控制参数确定SDK中的待更新功能插件之前,获取终端设备中SDK的渠道标识;
待更新功能插件确定模块在根据升级控制参数确定SDK中的待更新功能插件时,还用于:
根据SDK中的各个功能插件的Pluginid,以及SDK的渠道标识,确定SDK中的待更新功能插件。
第四方面可选的实施例中,SDK包括至少二个功能插件,至少二个功能插件是基于业务逻辑的功能划分得到的,至少二个功能插件包括待更新功能插件。
第五方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器和存储器;
其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于:执行第一方面和第二方面所描述的软件开发工具包的更新方法。
第六方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现第一方面和第二方面所描述的软件开发工具包的更新方法。
本申请提供的技术方案带来的有益效果是:
在本申请实施例中,可以基于SDK中的各个功能插件的Pluginid确定出待更新功能插件,并且可以将待更新功能插件的更新版本发送至终端设备,这样终端设备在接收到该更新版本后,可以只对待更新功能插件进行更新,不再依赖于宿主应用程序的更新机制,不仅简化了更新过程,降低了更新时间,还进一步的提高了用户的体验感。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种软件开发工具包的更新方法的流程示意图;
图2为本申请实施例提供的另一种软件开发工具包的更新方法的流程示意图;
图3为本申请实施例提供的一种软件开发工具包的更新装置的结构示意图;
图4为本申请实施例提供的一种***架构的示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或功能模块,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、功能模块和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的名词进行介绍和解释:
SDK(Software Development Kit,软件开发工具包),指的是为特定的软件包、软件框架、硬件平台、操作***等建立应用软件的开发工具的集合。
随着网络的快速发展,各种移动终端设备得到了广泛地应用,通常可以将软件开发工具包作为一个整体嵌入到应用程序中,以达到在移动终端上通过各种应用程序直接地向用户展示各种信息的目的。然后为使软件开发工具包的功能可更好的满足用户的需求,SDK是需要不断更新的,但是,由于SDK是作为一个整体嵌入到应用程序中,嵌入后是作为应用程序的一部分,当SDK更新时,需要依赖于宿主应用程序的客户端的更新机制。显然,这种更新方式不仅造成更新过程比较繁琐,增加了更新时间,还会降低了用户的体验感。
本申请提供的软件开发工具包的更新方法、电子设备及存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种软件开发工具包的更新方法,如图1所示,该方法包括:
步骤S110,根据升级控制参数确定SDK中的待更新功能插件,升级控制参数包括SDK中的各个功能插件的Pluginid。
其中,升级控制参数指的是用于确定SDK中需要更新的功能插件的参数,也就是说,基于升级控制参数可以确定出SDK中的哪个或哪些功能插件是需要更新的。
在本申请实施例中,SDK可以被内嵌于任意一个个应用程序中,并且该SDK不局限于哪一种应用软件的开发工具的集合,如在本申请实施例中,该SDK可以是小游戏的开发工具的集合。
在本申请可选的实施例中,SDK包括至少二个功能插件,至少二个功能插件是基于业务逻辑的功能划分得到的,至少二个功能插件包括待更新功能插件。
在实际应用中,由于SDK中所包含的业务逻辑对应不同的功能,也就是说,可以基于业务逻辑的功能对SDK的进行粒度化,即可以基于业务逻辑的功能将SDK划分为不同的功能插件。
在一示例中,假设SDK中所包含的业务逻辑的功能分别对应于执行支付功能,登录功能和注册功能,此时则可以将该SDK包划分为支付功能插件、登录注册功能插件和注册功能插件。
其中,Pluginid用于唯一标识一个功能插件,也就是说,基于Pluginid即可以确定是哪一个功能插件。在实际应用中,服务器中可以预先保存有每一个终端设备中的每一个SDK的信息,如可以预先保存有SDK中的各个功能插件的Pluginid,以及各个功能插件的当前版本信息。进一步的,在确定SDK中是否存在待更新功能插件时,可以基于Pluginid确定具体是SDK中的哪一个功能插件,并基于预存信息确定每一个功能插件的当前版本信息,此时若确定某一个功能插件存在比查询到的当前版本信息更高的版本,则该功能插件即为SDK中的待更新功能插件。
步骤S120,将待更新功能插件的更新版本发送至终端设备,以使终端设备根据更新版本对待更新功能插件进行更新。
也就是说,在确定SDK中的待更新功能插件后,可以将待更新功能插件的更新版本发送至终端设备,终端设备在接收到该更新版本后,可以基于该更新版本对待更新功能插件进行更新,并且在终端设备根据该更新版本对待更新功能插件更新成功后,将该待更新功能插件的预存信息中的版本信息修改为当前更新的版本。
其中,什么时候将待更新功能插件的更新版本发送至终端设备本申请实施例不做限定,如可以是在接收到终端设备周发送的更新指令后,将更新版本发送至终端设备,也可以是在确定存在待更新功能插件的更新版本后,直接将更新版本发送至终端设备。
在本申请实施例中,可以基于SDK中的各个功能插件的Pluginid确定出待更新功能插件,并且可以将待更新功能插件的更新版本发送至终端设备,这样终端设备在接收到该更新版本后,可以只对待更新功能插件进行更新,不再依赖于宿主应用程序的更新机制,不仅简化了更新过程,降低了更新时间,还进一步的提高了用户的体验感。
在本申请可选的实施例中,根据升级控制参数确定SDK中的待更新功能插件之前,还包括:
获取终端设备中SDK的各个功能插件的当前版本号。
在本申请实施例中,若在根据升级控制参数确定SDK中的待更新功能插件之前,获取了终端设备中SDK的各个功能插件的当前版本号,则在根据升级控制参数确定SDK中的待更新功能插件时,还可以包括:
根据SDK的各个功能插件的当前版本号,确定SDK中的待更新功能插件。
在实际应用中,在根据升级控制参数确定SDK中的待更新功能插件之前,还可以向终端设备获取SDK的各个功能插件的当前版本号,此时可以基于Pluginid确定具体是SDK中的哪一个功能插件后,根据获取到的SDK中的各个功能插件的当前版本号确实SDK中是否存在待更新功能成插件,若基于获取到的当前版本号确定SDK中某一个功能插件存在比当前版本号更高的版本,则该功能插件即为SDK中的待更新功能插件。也就是说,当终端设备可以向服务器发送SDK中的各个功能插件的当前版本号时,可以不预先保存SDK中的各个功能插件当前版本信息,也不需要基于SDK中的各个功能插件的Pluginid来查询预先保存的信息来获取的SDK中的各个功能插件当前版本信息,可以有效地减少了服务器的数据处理连量。
在本申请可选的实施例中,根据升级控制参数确定SDK中的待更新功能插件之前,还包括:
获取终端设备中SDK的渠道标识。
在本申请可选的实施例中,若在根据升级控制参数确定SDK中的待更新功能插件之前,获取了终端设备中SDK的渠道标识,则在根据升级控制参数确定SDK中的待更新功能插件时,还可以包括:
根据SDK中的各个功能插件的Pluginid,以及SDK的渠道标识,确定SDK中的待更新功能插件。
其中,SDK的渠道标识用于标识该SDK是具体内嵌在哪一个应用程序中,如当SDK内嵌应用程序A中时,此时SDK的渠道标识则用于标识应用程序A。
也就是说,在实际应用中,在基于SDK中的各个功能插件的Pluginid确定SDK中的待更新功能插件时,还可以向终端设备获取SDK的渠道标识,基于获取到的渠道标识可以获知该SDK具体是内嵌在哪一个应用程序中,此时可以在确定的应用程序中,基于Pluginid确定每一个功能插件,并基于预存信息确定该应用程序的SDK中的每一个功能插件的当前版本信息,此时若确定该应用程序的SDK中的某一个功能插件存在比当前版本号更高的版本,则该功能插件即为SDK中的待更新功能插件。
相应的,在确定SDK中存在待更新功能插件后,将待更新功能插件的更新版本发送至终端设备。
基于此,本申请实施例还提供了一种软件开发工具包的更新方法,如图2所示,该方法包括:
步骤S210,接收服务器发送的待更新功能插件的更新版本,待更新功能插件是服务器基于升级控制参数确定的,升级控制参数包括SDK中的各个功能插件的Pluginid。
其中,关于Pluginid和升级控制参数的说明,以及服务器根据Pluginid确定待更新功能插件的具体实现方式可以参见上述实施例中的说明,本申请实施例在此就不再赘述。而终端设备接收服务器发送的待更新功能插件的更新版本的方式本申请实施例不做限定,如可以是终端设备周期性地向服务器发送的更新指令,在服务器确定存在待更新功能插件的更新版本,将更新版本发送至终端设备,也可以是服务器在确定存在待更新功能插件的更新版本后,直接将更新版本发送至终端设备。
步骤S220,根据更新版本对待更新功能插件进行更新。
也就是说,服务器在基于SDK中的各个功能插件的Pluginid,确定出SDK中的待更新功能插件后,可以将待更新功能插件的更新版本发送至终端设备,终端设备在接收到更新版本后,可以根据接收到的更新版本对待更新功能插件进行更新。
其中,在根据更新版本对待更新功能插件进行更新时,具体的更新方式本申请实施例不做限定,如可以直接将待更新功能插件当前的版本直接替换为更新版本,也可以将当前版本中的具体信息与更新版本中的信息进行比对,只对发生改变的信息进行替换。
在本申请实施例中,终端设备在将SDK中的各个功能插件的Pluginid发送至服务器后,可以接收到待更新功能插件的更新版本,基于该更新版本可以只对待更新功能插件进行更新,不再需要依赖于宿主应用程序的更新机制,不仅简化了更新过程,降低了更新时间,还进一步的提高了用户的体验感。
在本申请可选的实施例中,接收服务器发送的待更新功能插件的更新版本之前,还包括:
向服务器发送SDK的各个功能插件的当前版本号,以使服务器根据SDK的各个功能插件的当前版本号,确定SDK中的待更新功能插件。
也就是说,为了减少服务器的数据处理量,在接收到服务器发送的待更新功能插件的更新版本之前,可以向服务器发送SDK的各个功能插件的当前版本号,此时服务器可以基于获取到的SDK的各个功能插件的当前版本号,直接判断是否存在待更新的功能插件,其中,根据SDK的各个功能插件的当前版本号,确定待更新功能插件的实现方式可以参见上述实施例中的说明,本申请实施例在此就不再赘述。
在本申请可选的实施例中,接收服务器发送的待更新功能插件的更新版本之前,还包括:
向服务器发送SDK的渠道标识,以使服务器根据SDK的渠道标识,以及SDK中的各个功能插件的Pluginid,确定SDK中的待更新功能插件。
同理,在实际应用中为了减少服务器的数据处理量,在接收到服务器发送的待更新功能插件的更新版本之前,还可以向服务器发送SDK的渠道标识,此时服务器可以基于获取到的SDK的渠道标识,以及SDK中的各个功能插件的Pluginid,确定SDK中的待更新功能插件,其中,根据SDK中的各个功能插件的Pluginid,以及SDK的渠道标识,确定SDK中的待更新功能插件的实现方式可以参见上述实施例中的说明,本申请实施例在此就不再赘述。
在本申请可选的实施例中,更新版本中包括待更新功能插件的Pluginid,根据更新版本对待更新功能插件进行更新,包括:
基于Pluginid与代理功能插件的映射关系,确定Pluginid对应的代理功能插件,代理功能插件为终端设备内置的具有生命周期的功能插件中的部分功能插件;
基于确定的代理功能插件,以及更新版本对对待更新功能插件进行更新。
在实际应用中,由于用于更新待更新功能插件的更新版本是不具有生命周期的功能插件,因此,在本申请实施例中可以采用静态代理的方式对待更新功能插件进行更新,如可以预设Pluginid与代理功能插件的映射关系,在接收到更新版本后,确定更新版本中所包括的Pluginid所对应的代理功能插件,然后可以基于确定的代理功能插件,以及更新版本对待更新功能插件进行更新。
其中,确定的代理功能插件可以执行待更新功能插件所对应的功能,且该代理功能插件为终端设备中内置的具有生命周期的功能插件中的功能插件组件。
在本申请实施例中,由于可以采用终端设备中内置的具有生命周期的功能插件中的部分功能插件,以及更新版本对待更新功能插件进行更新,相比于现有技术中所采用的hook(钩子)方案,可以有效避免了因宿主应用程序使用一套hook方案,更新版本使用一套hook方案,导致整个功能缺失的问题。
在本申请可选的实施例中,根据更新版本对待更新功能插件进行更新之前,还包括:
加载预先设置的升级控制功能插件,升级控制功能插件用于控制终端设备在接收到更新版本后,自动根据更新版本对待更新功能插件进行更新;
根据更新版本对待更新功能插件进行更新,包括:
基于升级控制功能插件、以及更新版本对待更新功能插件进行更新。
在实际应用中,可以加载预先设置的升级控制功能插件(该升级控制功能插件可以默认加载到终端设备的***中),这样在接收到服务器发送的更新版本后,可以自动基于更新版本对待更新功能插件进行更新,不再需要被动加载。
在本申请可选的实施例中,若在根据更新版本对待更新功能插件进行更新时存在异常,方法还包括:
停止根据更新版本对待更新功能插件进行更新,并加载待更新功能插件的原有版本。
在实际应用中,可能会由于终端设备版本的不同,导致在根据更新版本对待更新功能插件进行更新时,可能会出现加载异常的情况,如出现无法运行的情况,此时可以停止根据更新版本对待更新功能插件进行更新,并且可以加载待更新功能插件的原有版本,以保证待更新功能插件对应的功能可以正常使用。
其中,具体加载待更新功能插件的哪一个原有版本,本公开实施例不做限定。一种可行的实施方式可以为,依据待更新功能插件的原有版本的版本级别确定具体加载哪一个版本,如终端设备中当前存储有待更新功能插件的1.0版本和2.0版本,此时可以加载待更新功能插件的2.0版本,若加载2.0版本时也出现异常,则可以加载待更新功能插件的1.0版本。
在本申请可选的实施例中,加载待更新功能插件的原有版本之后,还包括:
向服务器发送待更新功能插件更新异常的提醒消息。
在实际应用中,在加载待更新功能插件的原有版本之后,还可以向服务器发送待更新功能插件更新异常的提醒消息,以告知服务器待更新功能插件更新失败。当然,为了可以更好的分析更新失败的原因,还也可以向服务器发送更新失败的原因,其中,更新失败的原因可以承载在提醒消息中,也可以单独向服务器发送。
基于此,本申请实施例提供了一种软件开发工具包,该软件开发工具包中包括自更新模块,其中:
自更新模块,用于接收服务器发送的待更新功能插件的更新版本,待更新功能插件是服务器基于升级控制参数确定的,升级控制参数包括SDK中的各个功能插件的Pluginid;以及在接收到服务器发送的待更新功能插件的更新版本后,根据更新版本对待更新功能插件进行更新。
本申请可选的实施例中,更新版本中包括待更新功能插件的Pluginid,自更新模块在根据更新版本对待更新功能插件进行更新时,具体用于:
基于Pluginid与代理功能插件的映射关系,确定Pluginid对应的代理功能插件,代理功能插件为终端设备内置的具有生命周期的功能插件中的部分功能插件;以及基于确定的代理功能插件和更新版本对对待更新功能插件进行更新。
本申请可选的实施例中,自更新模块还用于:
在根据更新版本对待更新功能插件进行更新之前,加载预先设置的升级控制功能插件,升级控制功能插件用于控制终端设备在接收到更新版本后,自动根据更新版本对待更新功能插件进行更新;
自更新模块具体用于:基于升级控制功能插件、以及更新版本对待更新功能插件进行更新。
本申请可选的实施例中,自更新模块还用于:
在根据更新版本对待更新功能插件进行更新存在异常时,停止根据更新版本对待更新功能插件进行更新,并加载待更新功能插件的原有版本。
本申请可选的实施例中,自更新模块还用于:
在加载待更新功能插件的原有版本之后,向服务器发送待更新功能插件更新异常的提醒消息。
本申请实施例还提供了一种软件开发工具包的更新装置,如图3所示,该软件开发工具包中包括待更新功能插件确定模块310和更新版本发送模块320,其中:
待更新功能插件确定模块310,用于根据升级控制参数确定SDK中的待更新功能插件,升级控制参数包括SDK中的各个功能插件的Pluginid;
更新版本发送模块320,用于将待更新功能插件的更新版本发送至终端设备,以使终端设备根据更新版本对待更新功能插件进行更新。
本申请可选的实施例中,该装置还包括信息获取模块,信息获取模块具体用于:
在根据升级控制参数确定SDK中的待更新功能插件之前,获取终端设备中SDK的各个功能插件的当前版本号;
待更新功能插件确定模块在根据升级控制参数确定SDK中的待更新功能插件时,还用于:
根据SDK的各个功能插件的当前版本号,确定SDK中的待更新功能插件。
本申请可选的实施例中,信息获取模块还用于:
在根据升级控制参数确定SDK中的待更新功能插件之前,获取终端设备中SDK的渠道标识;
待更新功能插件确定模块在根据升级控制参数确定SDK中的待更新功能插件时,还用于:
根据SDK中的各个功能插件的Pluginid,以及SDK的渠道标识,确定SDK中的待更新功能插件。
本申请可选的实施例中,SDK包括至少二个功能插件,至少二个功能插件是基于业务逻辑的功能划分得到的,至少二个功能插件包括待更新功能插件。
如图4所示,本申请实施例还提供了一种更新软件开发工具包的***架构图,该***架构图中包括服务器410和SDK420,其中,SDK420可以被内嵌于任何一个应用程序中,且SDK420中包括自更新模块4201和至少一个功能插件4202,自更新模块4201可以根据服务器410发送的更新版本对功能插件4202进行更新。
在实际应用中,服务器在确定SDK中的功能插件需要更新后,将待更新功能插件的更新版本发送至SDK,当SDK中的自更新模块接收到服务器所发送的更新版本后,根据接收到更新版本的对待更新功能插件进行更新。
本申请的实施例中还提供了一种电子设备,该电子设备包括:一个或多个处理器和存储器;其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于:执行软件开发工具包的更新方法。
本申请的实施例中还提供了一种计算机可读存储介质,计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现软件开发工具包的更新方法。
在一个可选实施例中提供了一种电子设备,如图5所示,图5所示的电子设备5000包括:处理器5001和存储器5003。其中,处理器5001和存储器5003相连,如通过总线5002相连。可选地,电子设备5000还可以包括收发器5004。需要说明的是,实际应用中收发器5004不限于一个,该电子设备5000的结构并不构成对本申请实施例的限定。
处理器5001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(FieldProgrammable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器5001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线5002可包括一通路,在上述功能模块之间传送信息。总线5002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线5002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器5003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器5003用于存储执行本申请方案的应用程序代码,并由处理器5001来控制执行。处理器5001用于执行存储器5003中存储的应用程序代码,以实现前述任一方法实施例所示的内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

1.一种软件开发工具包的更新方法,其特征在于,所述方法包括:
根据升级控制参数确定软件开发工具包SDK中的待更新功能插件,所述升级控制参数包括所述SDK中的各个功能插件的插件标识Pluginid;
将所述待更新功能插件的更新版本发送至所述终端设备,以使所述终端设备根据所述更新版本对所述待更新功能插件进行更新。
2.根据权利要求1所述的方法,其特征在于,所述根据升级控制参数确定SDK中的待更新功能插件之前,还包括:
获取所述终端设备中所述SDK的各个功能插件的当前版本号;
所述根据升级控制参数确定SDK中的待更新功能插件,还包括:
根据所述SDK的各个功能插件的当前版本号,确定所述SDK中的待更新功能插件。
3.根据权利要求1所述的方法,其特征在于,所述根据升级控制参数确定SDK中的待更新功能插件之前,还包括:
获取所述终端设备中所述SDK的渠道标识;
所述根据升级控制参数确定SDK中的待更新功能插件,还包括:
根据所述SDK中的各个功能插件的Pluginid,以及所述SDK的渠道标识,确定所述SDK中的待更新功能插件。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述SDK包括至少二个功能插件,所述至少二个功能插件是基于业务逻辑的功能划分得到的,所述至少二个功能插件包括所述待更新功能插件。
5.一种软件开发工具包的更新方法,其特征在于,所述方法包括:
接收服务器发送的待更新功能插件的更新版本,所述待更新功能插件是所述服务器基于升级控制参数确定的,所述升级控制参数包括SDK中的各个功能插件的Pluginid;
根据所述更新版本对所述待更新功能插件进行更新。
6.根据权利要求5所述的方法,其特征在于,所述更新版本中包括待更新功能插件的Pluginid,所述根据所述更新版本对所述待更新功能插件进行更新,包括:
基于所述Pluginid与代理功能插件的映射关系,确定所述Pluginid对应的代理功能插件,所述代理功能插件为所述终端设备内置的具有生命周期的功能插件中的部分功能插件;
基于所述确定的代理功能插件,以及所述更新版本对对所述待更新功能插件进行更新。
7.根据权利要求5或6所述的方法,其特征在于,所述根据所述更新版本对所述待更新功能插件进行更新之前,还包括:
加载预先设置的升级控制功能插件,所述升级控制功能插件用于控制终端设备在接收到所述更新版本后,自动根据所述更新版本对所述待更新功能插件进行更新;
所述根据所述更新版本对所述待更新功能插件进行更新,包括:
基于所述升级控制功能插件、以及所述更新版本对所述待更新功能插件进行更新。
8.根据权利要求5或6所述的方法,其特征在于,若在根据所述更新版本对所述待更新功能插件进行更新时存在异常,所述方法还包括:
停止根据所述更新版本对所述待更新功能插件进行更新,并加载所述待更新功能插件的原有版本。
9.根据权利要求8所述的方法,所述加载所述待更新功能插件的原有版本之后,还包括:
向所述服务器发送所述待更新功能插件更新异常的提醒消息。
10.一种软件开发工具包的更新装置,其特征在于,所述装置包括:
待更新功能插件确定模块,用于根据升级控制参数确定SDK中的待更新功能插件,所述升级控制参数包括所述SDK中的各个功能插件的Pluginid;
更新版本发送模块,用于将所述待更新功能插件的更新版本发送至所述终端设备,以使所述终端设备根据所述更新版本对所述待更新功能插件进行更新。
11.一种软件开发工具包,其特征在于,所述软件开发工具包中包括自更新模块,所述自更新模块具体用于:
接收服务器发送的待更新功能插件的更新版本,所述待更新功能插件是所述服务器基于升级控制参数确定的,所述升级控制参数包括SDK中的各个功能插件的Pluginid;以及在接收到所述服务器发送的待更新功能插件的更新版本后,根据所述更新版本对所述待更新功能插件进行更新。
12.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行根据权利要求1~9任一项所述的软件开发工具包的更新方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1~9任一所述的软件开发工具包的更新方法。
CN201910213733.6A 2019-03-20 2019-03-20 软件开发工具包的更新方法、装置、电子设备及存储介质 Pending CN111722857A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910213733.6A CN111722857A (zh) 2019-03-20 2019-03-20 软件开发工具包的更新方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910213733.6A CN111722857A (zh) 2019-03-20 2019-03-20 软件开发工具包的更新方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN111722857A true CN111722857A (zh) 2020-09-29

Family

ID=72563354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910213733.6A Pending CN111722857A (zh) 2019-03-20 2019-03-20 软件开发工具包的更新方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111722857A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112698858A (zh) * 2021-01-13 2021-04-23 郑州阿帕斯数云信息科技有限公司 一种插件更新方法、装置和***
CN112882732A (zh) * 2021-01-22 2021-06-01 支付宝(杭州)信息技术有限公司 一种软件开发工具包sdk中功能代码的更新方法和装置
CN113961226A (zh) * 2021-10-20 2022-01-21 北京字节跳动网络技术有限公司 一种软件开发工具包修复方法、终端、服务器及设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105867963A (zh) * 2015-12-14 2016-08-17 乐视云计算有限公司 应用程序更新方法及装置
CN106020843A (zh) * 2016-05-31 2016-10-12 乐视控股(北京)有限公司 一种***功能的更新方法、***、终端设备及服务器
CN106095486A (zh) * 2016-05-31 2016-11-09 乐视控股(北京)有限公司 应用程序的在线更新方法、***、终端设备及服务器
CN106445601A (zh) * 2016-09-29 2017-02-22 乐视控股(北京)有限公司 一种插件升级的方法及装置
CN106686420A (zh) * 2016-12-09 2017-05-17 广州华多网络科技有限公司 直播应用程序的管理方法及装置
US20170147323A1 (en) * 2015-11-25 2017-05-25 Le Holding (Beijing) Co., Ltd. Method and electronic device for upgrading software development kit of an application
CN108111330A (zh) * 2017-11-06 2018-06-01 北京趣拿软件科技有限公司 更新数据包的获取、应用程序组件的更新方法及装置
CN108170485A (zh) * 2016-12-05 2018-06-15 腾讯科技(深圳)有限公司 一种插件加载方法、装置及移动终端
CN108881393A (zh) * 2018-05-22 2018-11-23 北京达佳互联信息技术有限公司 一种数据下发方法、装置、计算机及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170147323A1 (en) * 2015-11-25 2017-05-25 Le Holding (Beijing) Co., Ltd. Method and electronic device for upgrading software development kit of an application
CN105867963A (zh) * 2015-12-14 2016-08-17 乐视云计算有限公司 应用程序更新方法及装置
CN106020843A (zh) * 2016-05-31 2016-10-12 乐视控股(北京)有限公司 一种***功能的更新方法、***、终端设备及服务器
CN106095486A (zh) * 2016-05-31 2016-11-09 乐视控股(北京)有限公司 应用程序的在线更新方法、***、终端设备及服务器
CN106445601A (zh) * 2016-09-29 2017-02-22 乐视控股(北京)有限公司 一种插件升级的方法及装置
CN108170485A (zh) * 2016-12-05 2018-06-15 腾讯科技(深圳)有限公司 一种插件加载方法、装置及移动终端
CN106686420A (zh) * 2016-12-09 2017-05-17 广州华多网络科技有限公司 直播应用程序的管理方法及装置
CN108111330A (zh) * 2017-11-06 2018-06-01 北京趣拿软件科技有限公司 更新数据包的获取、应用程序组件的更新方法及装置
CN108881393A (zh) * 2018-05-22 2018-11-23 北京达佳互联信息技术有限公司 一种数据下发方法、装置、计算机及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112698858A (zh) * 2021-01-13 2021-04-23 郑州阿帕斯数云信息科技有限公司 一种插件更新方法、装置和***
CN112698858B (zh) * 2021-01-13 2023-02-07 郑州阿帕斯数云信息科技有限公司 一种插件更新方法、装置和***
CN112882732A (zh) * 2021-01-22 2021-06-01 支付宝(杭州)信息技术有限公司 一种软件开发工具包sdk中功能代码的更新方法和装置
CN113961226A (zh) * 2021-10-20 2022-01-21 北京字节跳动网络技术有限公司 一种软件开发工具包修复方法、终端、服务器及设备
CN113961226B (zh) * 2021-10-20 2023-11-07 抖音视界有限公司 一种软件开发工具包修复方法、终端、服务器及设备

Similar Documents

Publication Publication Date Title
CN109814524B (zh) 一种车辆诊断方法、装置及***
CN111722857A (zh) 软件开发工具包的更新方法、装置、电子设备及存储介质
EP2608585B1 (en) Method, device and system for triggering terminal operation
CN106648685B (zh) 智能终端***应用的处理方法、装置及智能终端
CN107682426B (zh) 接口代理方法及应用服务器
CN107844306B (zh) 应用程序的修复方法、装置、存储介质及终端
CN113168332B (zh) 数据处理方法、装置以及移动终端
CN108563472B (zh) 基于多开应用的服务插件加载方法及装置
CN110908702A (zh) 一种版本切换方法、版本切换装置、计算机设备及存储介质
CN103885802A (zh) 驱动程序的安装方法、装置和客户端
US20170085673A1 (en) Attribute Operating Method and Apparatus
CN106603125B (zh) 一种与蓝牙设备进行数据交互的方法及装置
CN115658042A (zh) 混合应用组件式开发方法、***、设备及存储介质
CN104765624A (zh) 虚拟机应用程序的更新处理方法和装置
CN107967192B (zh) 一种智能终端的***崩溃处理方法和装置
CN107831887B (zh) 一种应用启动方法及装置
CN106293814B (zh) 升级方法及装置
CN109739868B (zh) 一种数据处理方法及其相关设备
CN108170493B (zh) 一种***模块的加载方法、***及装置
CN113515299A (zh) 软件开发工具包sdk热升级方法、装置、设备及存储介质
CN114449030A (zh) 一种互联网服务***、方法、电子设备及存储介质
CN114546842A (zh) 接口测试方法、装置和存储介质及电子设备
CN110365839B (zh) 关机方法、装置、介质及电子设备
CN112328288A (zh) 一种服务器组件的更新方法、***、设备及存储介质
CN111078571A (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