CN105893070A - 应用的sdk的升级方法及系统 - Google Patents

应用的sdk的升级方法及系统 Download PDF

Info

Publication number
CN105893070A
CN105893070A CN201510829698.2A CN201510829698A CN105893070A CN 105893070 A CN105893070 A CN 105893070A CN 201510829698 A CN201510829698 A CN 201510829698A CN 105893070 A CN105893070 A CN 105893070A
Authority
CN
China
Prior art keywords
sdk
business
module
application
terminal
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
CN201510829698.2A
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.)
LeTV Cloud Computing Co Ltd
Original Assignee
LeTV Cloud Computing 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 LeTV Cloud Computing Co Ltd filed Critical LeTV Cloud Computing Co Ltd
Priority to CN201510829698.2A priority Critical patent/CN105893070A/zh
Priority to PCT/CN2016/083037 priority patent/WO2017088388A1/zh
Publication of CN105893070A publication Critical patent/CN105893070A/zh
Priority to US15/248,796 priority patent/US20170147323A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Abstract

本发明提供一种应用的SDK的升级方法及系统,其中,升级方法包括:将SDK的业务模块和业务配置文件配置在云端服务器上;在所述云端服务器上对所述业务模块和业务配置文件进行更新;所述云端服务器接收应用发出的交互请求,解析出所述应用的系统类型和使用的SDK的版本;所述云端服务器根据所述应用的系统类型和使用的SDK的版本,将所述业务配置文件和/或所述业务模块发送至包含所述SDK的终端,对所述应用的SDK进行升级。通过本发明提供的方法及系统,可以实现应用中的SDK的自动升级,非常方便快捷。

Description

应用的SDK的升级方法及系统
技术领域
本发明实施例涉及智能终端的应用程序的升级方法,尤其涉及一种应用的SDK的升级方法及系统。
背景技术
目前,智能设备的操作系统主要是IOS和Android,由于互联网应用的飞速发展,基于上述两种系统的客户端的SDK(Software Developing Kit,软件开发工具包)也需要频繁的更新,以满足用户的需求、提供更加良好的用户体验。
无论是基于IOS还是Android的智能终端,现在要实现对开发的SDK的升级都是非常困难的,需要通过提供新的开发包并嵌入APP后,再由用户通过智能终端下载新的APP等操作来完成的,非常不方便。而目前市场上,95%的应用都会遇到这种SDK升级的问题。因此,业内急需提出一种能够实现自动对应用的SDK进行升级的解决方案,以使SDK的升级变得方便快捷。
发明内容
本发明实施例提供一种应用的SDK的升级方法及系统,用以解决现有技术中智能终端中的SDK升级困难的问题,以实现对智能终端中的SDK的远程自动升级。
本发明实施例提供一种应用的SDK的升级方法,包括:
将SDK的业务模块和业务配置文件配置在云端服务器上;
在所述云端服务器上对所述业务模块和业务配置文件进行更新;
所述云端服务器接收应用发出的交互请求,解析出所述应用的系统类型和使用的SDK的版本;
所述云端服务器根据所述应用的系统类型和使用的SDK的版本,将所述业务配置文件和/或所述业务模块发送至包含所述SDK的终端,对所述应用的SDK进行升级。
本发明实施例提供一种应用的SDK的升级系统,配置在云端服务器上,其特征在于,所述系统包括:
配置模块,适于配置SDK的业务模块和业务配置文件;
更新模块,用于对所述业务模块和业务配置文件进行更新;
解析模块,用于接收应用发出的交互请求,解析出所述应用的系统类型和使用的SDK的版本;和
升级模块,用于根据所述应用的系统类型和使用的SDK的版本,将所述业务配置文件/或所述业务配置文件发送至包含所述SDK的终端,对所述应用的SDK进行升级。
本发明实施例提供的应用的SDK的方法及系统,根据业务需求,将智能终端中的SDK的大部分业务模块移植到云端服务器,通过对存储在云端服务器的业务模块的更新,在终端上的应用启动时,控制终端中的SDK进行自动升级,从而实现了对终端中的SDK的升级更新,简化了SDK的升级过程,解决了业内SDK升级困难的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中应用的SDK的升级方法的实施例流程图;
图2为本发明中SDK的业务模块的移植方法的实施例流程图;
图3为本发明中IOS终端中升级应用的SDK的方法的实施例流程图;
图4为本发明中Android终端中升级应用的SDK的方法的实施例流程图;
图5为本发明中应用的SDK的升级系统的框架结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明针对行业内应用中的SDK不能自动升级而导致的版本升级困难的问题,通过将SDK的业务模块移植到云端服务器和在云端服务器对终端中安装的SDK进行升级控制,实现了终端中的SDK的自动升级,简化了SDK的升级过程。
由于智能终端的系统一般都对外提供有标准的程序接口,因而,可以根据终端的操作系统提供的标准程序接口和操作系统支持的编程语言,把SDK的业务模块通过相应的编程语言实现,并放置到云端服务器,并提供终端访问的标准业务接口API。终端通过业务模块提供的标准接口的API就可以访问业务内容,实现SDK的业务模块的移植。由此,将业务移植到云端服务器上后,终端只需要存储依赖系统调用才能实现的功能模块的信息,如设备信息(型号等)、解码器(如软解码)等,而对具体业务内容则通过API的方式对接,就可以通过对业务模块的更新,实现对SDK的升级,满足SDK的频繁升级需求。根据业务需求,在对SDK进行升级时,只需在云端服务器对业务模块的内容进行修改,并更新相应的业务配置文件(即编译后的业务模块的实现文件,如javascript文件),就可以根据终端应用的配置请求,在有更新需求时控制终端下载新的业务模块,实现SDK的自动更新升级。本发明的SDK的升级方法,通过将业务模块移植到云端服务器实现,业务模块的升级更新,是根据终端的请求和业务需求进行实时文件下载和更新的,因而不需要同时更新APP,解放了SDK的升级对APP的依赖,也不需要用户专门去下载新的SDK和APP,升级过程非常简单、快捷。
其中,本发明的终端的系统可以是目前通用的移动终端系统,如IOS、Android等,编程语言可以是IOS和Android等系统都支持的javascript。由于IOS和Android终端与javascript有公共的API接口,通过对接终端系统与javascript的标准接口,可以实现对业务模块的良好移植。下面以终端是IOS终端或Android终端、业务模块移植的编程语言是javascript为例,结合实施例附图对本发明作进一步详细的说明。
图1示意性地显示了根据本发明的一种实施方式的应用的SDK的升级方法。如图1所示,该方法包括:
步骤S101:将终端的SDK的业务模块和业务配置文件配置到云端服务器中。
根据终端的操作系统的接口标准,定义标准化的数据结构。定义好标准的结构后,在云端服务器用javascript编程实现SDK的业务模块,并将生成的相应的业务配置文件(即生成的javascript文件)存储在云端服务器。同时,提供访问业务模块的数据接口API给终端,并根据定义好的结构把与终端交互的数据标准化。由此,终端的SDK就能通过javascript文件提供的API访问业务模块,向业务模块输入请求参数和接收业务模块处理后返回的标准数据结果,根据业务需求对返回的标准数据结果进行相应的处理,而不需要关心业务模块的具体内容是什么。通过业务移植和API访问的方式,当业务发生修改时,只需要相应修改业务模块的内容,不需要修改整个SDK的内容,从而实现对应用中的SDK的单独升级。
其中,移植到云端服务器的业务模块,可以根据业务需求和终端特点进行定制和实现,如对IOS终端,业务模块可以广告、统计、UI排版、服务端请求、数据标准化、适配等80%以上的功能模块,这些业务模块由与IOS系统适配的javascript语言实现。而对于Android终端,Android系统本身支持插件化,移植到云端服务器的业务模块可以是与终端的SDK的所有模块相对应的插件化管理业务模块,即将Android终端的SDK的各模块以插件的方式移植到云端服务器,在升级时通过实时加载匹配版本的插件,就可以实现对相应业务模块的自动升级。
图2示意性地显示了本发明一种实施方式的将SDK的业务模块移植到云端服务器的方法。以终端为IOS终端、SDK为播放SDK、业务模块的内容为IOS终端通过请求一个服务器媒质接口以获取视频数据的服务端请求为例,如图2所示,该方法包括:
步骤S201:通过javascript定义标准化的数据结构和接口API。
根据IOS的接口标准,定义标准化的数据结构。通过IOS提供的公共API对服务端请求的业务模块在云端服务器进行javascript编程,并根据标准化的数据结构对业务模块输出的数据进行标准化处理,以通过IOS和javascript的对接接口API返回标准化的业务处理结果数据。将编程实现相应业务功能所生成的对应javascript文件放置在云端服务器。
步骤S202:IOS终端通过javascript提供的API接口向SDK的业务模块发送请求。
在IOS终端上配置相应的SDK,其中IOS终端上配置的SDK包括系统级实现模块和业务模块对应的javascript文件,系统级实现模块是指必须依赖系统功能才能实现的模块,如设备信息、软解码等。IOS终端在进行请求一个服务器的媒质接口的处理请求时,通过javascript提供的相应API调用对应的业务模块。
步骤S203:SDK的相应业务模块接收IOS终端的请求,计算参数,生成url返回给IOS终端。
服务端请求的业务模块(即javascript文件)接收到IOS终端的请求后,根据IOS终端发送的请求中的信息计算参数,将请求消息(包括SDK版本、终端类型、业务ID等)拼接成服务器需要的参数(如用户名、业务线等),生成请求获取视频数据的url的地址,并把该url通过相应的API返回给IOS终端。
步骤S204:IOS终端根据返回的url向服务器请求视频数据,并将获得的数据发送至javascript业务模块。
IOS系统有一个公共的网络请求模块。终端接收到javascript业务模块返回的url后,IOS系统就通过网络请求模块向服务器请求该url所指向地址的视频数据。IOS终端获得服务器返回的数据后,不做任何处理,直接通过API调用发送到对应的javascript实现的业务模块(即本实施例中的服务端请求的业务模块)。
步骤S205:javascript业务模块根据定义的标准化数据结构将视频数据标准化,并返回标准化后的视频数据给IOS终端。
该业务模块接收到IOS终端发送的视频数据后,根据定义好的数据结构,对视频数据进行标准化处理,并通过对接的API接口返回标准化处理后的数据给IOS终端。IOS终端接收到标准化的数据后,就可以做后续的处理,如输出显示等。
通过步骤S201到S205的方法,IOS终端不需要关心任何业务处理的内容,只需要对业务模块返回的标准化的数据进行处理即可。当服务器的数据结构或者业务逻辑发生变化时,只需要修改服务端请求的业务模块的逻辑和内容,并更新IOS终端的SDK的javascript文件,而不需要对IOS终端的SDK的内容进行相应修改,非常便捷。需要注意的是,在本实施例中,是由IOS终端向服务器发送视频数据请求,获得数据后再返回给javascript业务模块进行标准化处理,而不是由javascript业务模块拼接好url后直接向服务器请求数据。由于两者向服务器请求数据的结果是一样的,而由IOS终端请求,性能相对较好,可以节约数据返回的时间,如IOS终端向服务器请求数据,3ms左右就可以取得数据,但由javascript请求则需要10ms。
步骤S102:在云端服务器中更新业务模块。
根据业务需求(如服务器数据结构发生变化、或者需要增设一个模块等),相应修改javascript文件的内容(即通过编程的修改)对业务模块进行更新,并把修改后的业务模块和生成的相应的业务配置文件(如javascript文件)更新到云端服务器上。
步骤S103:根据云端服务器中业务模块的更新,对终端的SDK进行更新。
在打开终端上的应用时,终端的应用第一时间首先会与云端服务器进行交互,向云端服务器进行SDK的最新配置请求。云端服务器根据终端的配置请求和业务需求,控制终端的SDK进行升级。其中,配置请求中包括应用的系统类型(如IOS或是Android)和使用的SDK的当前版本等。云端服务器根据应用的系统类型和使用的SDK的版本,发送升级指令给包含该SDK的终端,以对该应用中的SDK进行升级。而终端根据云端服务器的控制,在需要升级时,获取最新的业务模块和/或业务配置文件(javascript文件),对之前安装的SDK进行更新。由此,即可根据云端服务器的控制和更新,实现在不升级应用的同时,对终端上的SDK进行自动单独升级。
其中,根据终端的操作系统特点不同,终端与云端服务器进行交互,对终端上的SDK进行自动升级的具体实现方法不同。下面以终端分别为IOS系统和Android系统为例,结合附图进行进一步说明。
图3示意性地显示了本发明一种实施方式的IOS终端的SDK的升级方法。如图3所示,该方法包括:
步骤S301:启动应用时,IOS终端向云端服务器发送配置请求。
当打开IOS终端上的应用时,IOS终端首先向云端服务器发送获取最新配置的请求信息,配置请求包括当前终端的系统类型,及其上安装的SDK的版本信息和业务信息。
步骤S302:云端服务器根据配置请求和业务配置文件的信息,向IOS终端发送升级指令。
云端服务器接收到请求后,根据配置请求中包括的系统类型、SDK的版本信息和业务信息,与云端服务器上存储的业务模块的文件版本和业务更新信息进行比较。当比较结果为不一致时(如有新功能或业务调整时),云端服务器向IOS终端的SDK的最外层(即该SDK的APP应用)发送强制升级的指令。其中,升级指令包括业务模块对应的javascript文件的版本和下载地址等信息。
步骤S303:IOS终端的SDK的最外层接收云端服务器发送的指令,获取指定的升级文件,并覆盖之前安装在终端中的javascript文件。
IOS终端的SDK的最外层(即使用了SDK的应用)接收到云端服务器发送的强制升级指令后,根据指定的地址和版本,从云端服务器获取相应的javascript文件,并用下载的新的javascript文件覆盖之前安装的javascript文件,以完成自动升级。
通过以上方法,就可以完成IOS终端中的SDK的强制升级,升级由云端服务器控制,只需在云端服务器根据业务需求更新业务配置文件,不需要对SDK整个进行修改,也不需要同时升级APP,过程简单、方便、快捷。
图4示意性地显示了本发明一种实施方式的Android终端中升级SDK的方法。如图4所示,该方法包括:
步骤S401:云端服务器通过控制后台接收信息配置设定。
根据Android系统分模块化的特点,可以通过对业务模块进行插件化管理,实现由云端服务器控制Android终端进行SDK的定向升级。具体为,云端服务器提供一个进行配置设定的控制后台,管理员可以根据业务需求更新业务模块的内容和对Android终端的SDK进行升级配置设定,如包括指定需要更新的版本、指定需要回滚的版本、指定需要升级的区域等。当进行配置设定后,云端服务器根据Android终端的请求信息,就可以根据配置信息控制Android终端进行与配置相应的定向升级。
步骤S402:Android终端发送配置请求给云端服务器。
当在Android终端上打开应用时,Android终端首先向云端服务器发送获取配套的版本文件的配置请求,配置请求中包括终端的相应信息,如系统类型、设备型号、所在区域、当前应用的SDK版本、业务模块等。
步骤S403:云端服务器接收Android终端的配置请求,根据配置请求的信息,发送相应的升级指令给Android终端。
云端服务器接收到配置请求后,根据配置请求中的终端信息和设定好的配置信息,判断是否需要对终端的SDK进行升级,并将相应的升级指令发送给Android终端。其中,升级指令中包括已设定的配置信息,如需要更新的版本、业务模块或需要回滚的版本和业务模块或指定地域需要更新的版本和业务模块等。
步骤S404:Android终端接收升级指令,加载相应的插件,对SDK进行更新。
Android终端接收到升级指令后,根据升级指令中的配置信息,从云端服务器下载相应的模块的插件加载到应用中(即下载需要升级的模块对应的插件化业务管理模块及其相应的配置文件),以实现根据云端服务器的配置,对终端上的SDK进行相应的更新。
通过以上方法,就可以完成Android系统的终端中的SDK的配置升级。升级由云端服务器的配置信息控制,通过插件化进行实时加载更新,过程简单、方便、快捷,还可以实现定向升级,非常实用。
由此,通过本发明的方法,当服务器的数据结构或业务需求发生变化时,只需在业务模块通过javascript进行逻辑修改,并把修改后的javascript文件上传到云端即可。而终端不需要做任何处理,只需在每次请求时,根据云端服务器的升级指令,把最新的javascript文件下载下来,它通过API调用的业务内容就是最新的版本。通过将业务移植到云端服务器,对终端SDK的升级,就变成了对业务模块的升级,设备终端只需要关心对返回的标准数据的后续处理就好了,升级更新变得非常便捷。通过本发明的方法,根据业务需求,可以实现将IOS终端中的SDK的80%以上的业务功能通过javascript实现,并移植到云端服务器,从而完成对IOS系统的SDK的80%以上的功能的远程自动升级。由于Android系统本身是分模块的,支持插件化升级,通过本发明的方法,根据业务需求,可以实现将Android系统的SDK的各个业务模块移植到云端服务器,根据后台设置对Android系统的SDK进行插件化定向升级。
图5示意性地显示了本发明的一种实施方式的应用的SDK的升级系统的框架结构。如图5所示,该系统配置在云端服务器1上,包括有配置模块12、更新模块13、解析模块14、和升级模块15。其中,配置模块12用于将SDK的业务模块11和业务配置文件配置到云端服务器1上。更新模块13用于根据业务需求,对业务模块11和业务配置文件进行更新。解析模块14用于接收应用发出的交互请求,根据终端应用的配置请求,解析出应用的系统类型和使用的SDK的版本。升级模块15用于根据应用的系统类型和使用的SDK的版本,将业务配置文件/或所述业务配置文件发送至包含SDK的终端2,以对应用的SDK进行升级。其中,配置模块12包括数据标准化单元121、程序实现单元122和存储单元123。数据标准化单元121用于根据应用对应的操作系统的接口标准,定义标准化的数据结构。程序实现单元122用于用应用对应的操作系统支持的语言,按照定义好的标准化的数据结构,实现SDK的业务模块,生成业务配置文件。存储单元123用于将业务模块和业务配置文件存储在云端服务器。云端服务器1上的业务模块11是根据终端的操作系统的接口标准,通过终端的操作系统支持的编程语言实现的。本发明实施例的终端2的操作系统如可以是智能终端的IOS系统或Android系统等,编程语言可以是IOS系统和Android系统都支持并提供有接口API的javascript。通过javascript对SDK的业务进行实现,以将业务模块移植到云端服务器1上。具体地实现中,对于IOS终端,业务模块11是利用javascript语言实现的与IOS系统适配的业务模块,包括广告、统计、UI排版、适配、服务端请求和数据标准化等,对应的业务配置文件即为javascript编程实现后生成的javascript文件。对于Android终端,业务模块11是利用javascript语言实现的与Android系统的应用的各个模块对应的插件化业务管理模块,业务配置文件即为插件对应的文件。其中,业务模块11与终端系统的适配,是根据终端系统的接口标准,通过javascript定义标准化的数据结构,并通过标准化的数据结构对业务处理的数据进行标准化后,通过提供标准化数据接口API返回给终端。
如图5所示,终端2上包括有SDK21和访问请求模块22。具体应用中,在启动终端2上使用了SDK21的应用时,终端2通过访问请求模块22获取SDK21的版本信息和业务信息,生成包含终端系统类型和SDK版本信息的配置请求,发送给云端服务器1,以实现对应用中的SDK的升级。云端服务器1中的解析模块14根据接收到的配置请求,解析出终端系统类型和SDK版本信息。升级模块15根据SDK版本信息和云端服务器存储的业务配置文件的信息,进行判断,在需要升级时(如版本不一致或业务发生调整时),根据终端系统类型输出升级指令给终端,以对SDK进行更新。
其中,升级模块15中包括IOS升级单元151和Android升级单元152。IOS升级单元151配置为当解析出的应用的系统类型为IOS时,云端服务器将javascript文件发送至包含SDK的IOS终端,对应用的SDK进行升级。Android升级单元152配置为当解析出的应用的系统类型为Android时,云端服务器将插件化业务管理模块和配置文件发送至包含SDK的Android终端,以对应用的SDK进行升级。
针对IOS终端,云端服务器通过IOS升级单元151向终端的应用发送升级指令,由终端应用根据升级指令获取javascript文件进行SDK的升级。升级指令中包括需要更新的业务配置文件(即javascript文件)的版本及下载地址。具体为,当用户在IOS终端上打开SDK的相关应用时,IOS终端2上的相关应用向云端服务器1发送包含系统类型和当前使用的SDK的版本信息的配置处理请求。解析模块对配置请求进行解析,当系统类型为IOS时,IOS升级单元根据从IOS终端2获取的SDK的当前版本信息,与云端服务器1上存储的业务模块进行比较,在版本信息不一致时,发送升级指令至IOS终端上使用该SDK的相应应用。IOS终端上的应用根据接收到的升级指令,从云端服务器下载最新版本的业务模块的javascript文件至IOS终端。IOS终端用接收到的javascript文件覆盖之前安装的javascript文件,以完成SDK的升级。由于终端2中的SDK21通过提供的API就可以实现对业务模块11的访问,并能获得标准化后的数据。由此,终端就可以直接对标准化的数据进行相应操作,而无需关心具体的业务处理过程。当服务器发生数据结构或业务需求变化时,不需要对终端的SDK进行修改,只需修改业务模块的相应逻辑或内容,并把修改后的业务模块11的javascript文件更新到云端服务器1中。由于,业务模块11提供了标准化的对接接口,终端的应用通过云端服务器1的升级控制指令,下载最新的javascript文件覆盖当前版本的javascript文件,通过更新业务模块的javascript文件,就可以实现终端中SDK的自动升级(即更新文件后终端1访问的API的内容就是最新的)。
而针对Android终端,由于Android系统本身支持模块化,可以通过将SDK的各个业务模块插件化,以通过插件对SDK进行升级。优选地,云端服务器1上还可包括用于设定升级配置信息的控制台,可以根据业务需求,对需要升级的模块进行定向设置,如指定升级的模块、指定升级或回滚的版本、指定地域升级等。具体为,当用户在Android终端上打开SDK的相关应用时,终端2上的相关应用通过访问请求模块22向云端服务器1发送最新配置的文件升级处理请求。解析模块14对配置请求进行解析,解析出系统类型和SDK版本的信息。当系统类型为Android时,Android升级单元152根据SDK版本信息和设置的配置信息,向终端应用发送升级指令。升级指令包括配置信息,终端应用根据升级指令中的配置信息,从云服务器1下载符合相应配置信息的插件化的业务模块和相应的配置文件。Android终端2用接收到的插件进行业务加载,以实现根据配置信息对相应模块的定向升级。
由于,系统通过javascript编程将业务实现全部放在了云端服务器1的业务模块11中,而终端2上的SDK21仅需通过API调用相应的业务功能,获得标准数据进行后续处理,无需关心业务过程。因而,当服务器的业务发生变更时,只需要相应修改业务模块的逻辑,在云端服务器更新业务模块的javascript文件,终端2在开启相关应用时根据云端服务器的升级控制指令,下载更新javascript文件,就可以实现SDK的升级,非常快捷方便。
本发明的方法和系统,提供了一种全新的升级终端的SDK的实现方案。通过终端的操作系统和javascript的标准接口,实现将业务移植到云端服务器。通过javascript返回的标准数据接口,通过API的方式实现设备终端的业务调用,基于云端服务器的控制,完成终端上的SDK的远程自动升级,使SDK的升级变得简单快捷,有效的解决了业内的难题。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种应用的SDK的升级方法,其特征在于,包括:
将SDK的业务模块和业务配置文件配置在云端服务器上;
在所述云端服务器上对所述业务模块和业务配置文件进行更新;
所述云端服务器接收应用发出的交互请求,解析出所述应用的系统类型和使用的SDK的版本;
所述云端服务器根据所述应用的系统类型和使用的SDK的版本,将所述业务配置文件和/或所述业务模块发送至包含所述SDK的终端,对所述应用的SDK进行升级。
2.根据权利要求1所述的方法,其特征在于,所述将SDK的业务模块和业务配置文件配置在云端服务器上包括:
根据所述应用对应的操作系统的接口标准,定义标准化的数据结构;
用所述应用对应的操作系统支持的语言,按照所述标准化的数据结构,配置所述应用的业务模块,生成业务配置文件;
将所述业务模块和业务配置文件存储在云端服务器。
3.根据权利要求2所述的方法,其特征在于,所述业务模块提供有标准化数据访问接口API,所述应用的SDK通过所述API与所述业务模块进行交互。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述业务模块包括:与Android系统的SDK对应的插件化业务管理模块和/或利用javascript语言编写的与IOS系统的SDK对应的业务模块;
所述业务配置文件包括:与所述插件化业务管理模块相应的配置文件和/或与IOS系统的SDK对应的javascript文件;
当所述应用的系统类型为IOS时,所述云端服务器将所述javascript文件发送至包含所述SDK的IOS终端,对所述应用的SDK进行升级;
当所述应用的系统类型为Android时,所述云端服务器将所述插件化业务管理模块和所述配置文件发送至包含所述SDK的Android终端,对所述应用的SDK进行升级。
5.根据权利要求4所述的方法,其特征在于,所述IOS系统的SDK对应的业务模块包括广告、统计、UI排版、适配、服务端请求和数据标准化中的至少一者;所述插件化业务管理模块包括与Android系统的SDK的各功能模块对应的插件。
6.一种应用的SDK的升级系统,配置在云端服务器上,其特征在于,所述系统包括:
配置模块,用于SDK的业务模块和业务配置文件;
更新模块,用于对所述业务模块和业务配置文件进行更新;
解析模块,用于接收应用发出的交互请求,解析出所述应用的系统类型和使用的SDK的版本;和
升级模块,用于根据所述应用的系统类型和使用的SDK的版本,将所述业务配置文件/或所述业务配置文件发送至包含所述SDK的终端,对所述应用的SDK进行升级。
7.根据权利要求6所述的系统,其特征在于,所述配置模块包括:
数据标准化单元,用于根据所述应用对应的操作系统的接口标准,定义标准化的数据结构;
程序实现单元,用于用所述应用对应的操作系统支持的语言,按照所述标准化的数据结构,配置所述应用的业务模块,生成业务配置文件;和
存储单元,用于将所述业务模块和业务配置文件存储在云端服务器。
8.根据权利要求7所述的系统,其特征在于,所述业务模块提供有标准化数据访问接口API,所述应用的SDK通过所述API与所述业务模块进行交互。
9.根据权利要求6-8中任一项所述的系统,其特征在于,所述业务模块包括:与Android系统的SDK对应的插件化业务管理模块和/或利用javascript语言编写的与IOS系统的SDK对应的业务模块;
所述业务配置文件包括:与所述插件化业务管理模块相应的配置文件和/或与IOS系统的SDK对应的javascript文件;
所述升级模块包括:
IOS升级单元,用于当所述应用的系统类型为IOS时,所述云端服务器将所述javascript文件发送至包含所述SDK的IOS终端,对所述应用的SDK进行升级;和
Android升级单元,用于当所述应用的系统类型为Android时,所述云端服务器将所述插件化业务管理模块和所述配置文件发送至包含所述SDK的Android终端,对所述应用的SDK进行升级。
10.根据权利要求9所述的系统,其特征在于,所述IOS系统的SDK对应的业务模块包括广告、统计、UI排版、适配、服务端请求和数据标准化中的至少一者;所述插件化业务管理模块包括与Android系统的SDK的各功能模块对应的插件。
CN201510829698.2A 2015-11-25 2015-11-25 应用的sdk的升级方法及系统 Pending CN105893070A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510829698.2A CN105893070A (zh) 2015-11-25 2015-11-25 应用的sdk的升级方法及系统
PCT/CN2016/083037 WO2017088388A1 (zh) 2015-11-25 2016-05-23 应用的sdk的升级方法及系统
US15/248,796 US20170147323A1 (en) 2015-11-25 2016-08-26 Method and electronic device for upgrading software development kit of an application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510829698.2A CN105893070A (zh) 2015-11-25 2015-11-25 应用的sdk的升级方法及系统

Publications (1)

Publication Number Publication Date
CN105893070A true CN105893070A (zh) 2016-08-24

Family

ID=57002835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510829698.2A Pending CN105893070A (zh) 2015-11-25 2015-11-25 应用的sdk的升级方法及系统

Country Status (2)

Country Link
CN (1) CN105893070A (zh)
WO (1) WO2017088388A1 (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341420A (zh) * 2016-10-21 2017-01-18 广东亿迅科技有限公司 基于即搜即用模式的快速开发应用程序的方法和系统
CN106528219A (zh) * 2016-10-26 2017-03-22 北京奇虎科技有限公司 应用程序中寄生工具包的升级方法及装置
CN106648769A (zh) * 2016-12-09 2017-05-10 武汉斗鱼网络科技有限公司 一种升级应用的方法、服务器和用户设备
CN106779810A (zh) * 2016-11-25 2017-05-31 北京金山安全软件有限公司 广告展现方法、装置和终端设备
CN106953746A (zh) * 2017-02-28 2017-07-14 努比亚技术有限公司 集群节点升级系统及方法
CN107172491A (zh) * 2017-06-28 2017-09-15 未来电视有限公司 一种下载应用的过程中植入广告的方法
CN107193609A (zh) * 2017-05-27 2017-09-22 北京奇虎科技有限公司 应用中功能模块调用方法及装置、电子设备
CN107528895A (zh) * 2017-08-17 2017-12-29 四川长虹电器股份有限公司 一种基于Android系统的插件接入第三方服务器的系统及方法
CN107704260A (zh) * 2017-10-31 2018-02-16 广东小天才科技有限公司 一种更新应用软件的软件开发工具包的方法及系统
CN107920074A (zh) * 2017-11-17 2018-04-17 成都天翼空间科技有限公司 一种sdk自动升级方法、终端设备及主控服务器
CN107948134A (zh) * 2017-10-30 2018-04-20 广州易行信息技术有限公司 数据交互方法和装置
CN108241500A (zh) * 2018-01-15 2018-07-03 腾讯科技(深圳)有限公司 一种硬件组件的修复方法、装置、系统和存储介质
CN108512683A (zh) * 2017-02-28 2018-09-07 高德信息技术有限公司 一种sdk升级方法、装置及服务器、移动设备
CN108881393A (zh) * 2018-05-22 2018-11-23 北京达佳互联信息技术有限公司 一种数据下发方法、装置、计算机及存储介质
CN109002320A (zh) * 2018-08-20 2018-12-14 苏州思必驰信息科技有限公司 用于软件开发包的更新方法、系统、电子设备及存储介质
CN109218054A (zh) * 2017-07-03 2019-01-15 腾讯科技(深圳)有限公司 终端动态配置、相应服务器实现方法、装置和存储介质
CN109800008A (zh) * 2018-12-29 2019-05-24 深圳云天励飞技术有限公司 配置更新方法及相关产品
CN110221840A (zh) * 2019-06-05 2019-09-10 百度在线网络技术(北京)有限公司 应用程序的功能实现方法及装置、设备及存储介质
CN110362319A (zh) * 2018-03-26 2019-10-22 珠海市魅族科技有限公司 应用管理方法及装置、计算机装置和计算机可读存储介质
CN111124446A (zh) * 2018-11-01 2020-05-08 千寻位置网络有限公司 一种用于自动更新下位机的sdk制作方法
CN111371614A (zh) * 2020-03-04 2020-07-03 深信服科技股份有限公司 一种网络访问方法、装置和系统
CN111459829A (zh) * 2020-04-03 2020-07-28 成都安易迅科技有限公司 一种解决测试人员工作中使用工具的配置方法
CN111970542A (zh) * 2020-08-21 2020-11-20 广州欢网科技有限责任公司 智能电视不升级自有广告app兼容支持SDK监测的系统和方法
WO2021129853A1 (zh) * 2019-12-27 2021-07-01 华为技术有限公司 移动服务升级方法、装置和终端
CN114205496A (zh) * 2021-11-29 2022-03-18 信利光电股份有限公司 一种摄像模组信息烧录方法及摄像模组

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874226B (zh) * 2018-08-29 2023-05-02 山东华软金盾软件股份有限公司 一种android系统功能升级的方法
CN109814943B (zh) * 2018-12-21 2022-04-22 北京城市网邻信息技术有限公司 服务构建方法、加载方法及装置、电子设备、存储介质
CN112966457A (zh) * 2021-02-26 2021-06-15 严伟豪 一种图形化云开发平台
CN113904932A (zh) * 2021-09-29 2022-01-07 厦门亿联网络技术股份有限公司 一种模块化的服务器升级方法、装置、电子设备及介质
CN114363990B (zh) * 2021-12-28 2024-01-12 上海黑眸智能科技有限责任公司 可兼容多个app的设备端配网方法、系统、设备端及app端
CN114338379B (zh) * 2021-12-28 2023-11-03 上海黑眸智能科技有限责任公司 Sdk客户端配网方法、系统、sdk客户端以及app客户端

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100242092A1 (en) * 2009-03-20 2010-09-23 James Harris Systems and methods for selecting an authentication virtual server from a plurality of virtual servers
CN101930366A (zh) * 2010-08-27 2010-12-29 武汉天喻信息产业股份有限公司 一种基于浏览器的手机中间件
CN102298521A (zh) * 2011-08-31 2011-12-28 因为科技无锡有限公司 基于跨平台浏览技术的移动互联网应用系统
US20120079048A1 (en) * 2010-02-10 2012-03-29 Beijing Borqs Software Technology Co., Ltd. Providing remote application access using entitlements
CN103338121A (zh) * 2013-06-13 2013-10-02 北京奇虎科技有限公司 一种系统管理服务器、方法及其系统
CN103353844A (zh) * 2013-06-25 2013-10-16 亿赞普(北京)科技有限公司 一种软件开发工具包升级方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189244B2 (en) * 2009-08-18 2015-11-17 Adobe Systems Incorporated Methods and systems for managing data service specifications
CN102546788B (zh) * 2011-12-29 2014-11-12 北京新媒传信科技有限公司 一种云平台管理方法和云平台
CN102830992B (zh) * 2012-07-31 2015-11-25 北京奇虎科技有限公司 插件加载方法及系统
CN103944951A (zh) * 2013-01-23 2014-07-23 深圳市微讯移通信息技术有限公司 应用于手机的智能升级软件开发工具包

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100242092A1 (en) * 2009-03-20 2010-09-23 James Harris Systems and methods for selecting an authentication virtual server from a plurality of virtual servers
US20120079048A1 (en) * 2010-02-10 2012-03-29 Beijing Borqs Software Technology Co., Ltd. Providing remote application access using entitlements
CN101930366A (zh) * 2010-08-27 2010-12-29 武汉天喻信息产业股份有限公司 一种基于浏览器的手机中间件
CN102298521A (zh) * 2011-08-31 2011-12-28 因为科技无锡有限公司 基于跨平台浏览技术的移动互联网应用系统
CN103338121A (zh) * 2013-06-13 2013-10-02 北京奇虎科技有限公司 一种系统管理服务器、方法及其系统
CN103353844A (zh) * 2013-06-25 2013-10-16 亿赞普(北京)科技有限公司 一种软件开发工具包升级方法和系统

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341420A (zh) * 2016-10-21 2017-01-18 广东亿迅科技有限公司 基于即搜即用模式的快速开发应用程序的方法和系统
CN106528219A (zh) * 2016-10-26 2017-03-22 北京奇虎科技有限公司 应用程序中寄生工具包的升级方法及装置
CN106779810A (zh) * 2016-11-25 2017-05-31 北京金山安全软件有限公司 广告展现方法、装置和终端设备
WO2018103217A1 (zh) * 2016-12-09 2018-06-14 武汉斗鱼网络科技有限公司 一种升级应用的方法、服务器和用户设备
CN106648769A (zh) * 2016-12-09 2017-05-10 武汉斗鱼网络科技有限公司 一种升级应用的方法、服务器和用户设备
CN106953746A (zh) * 2017-02-28 2017-07-14 努比亚技术有限公司 集群节点升级系统及方法
CN108512683A (zh) * 2017-02-28 2018-09-07 高德信息技术有限公司 一种sdk升级方法、装置及服务器、移动设备
CN107193609A (zh) * 2017-05-27 2017-09-22 北京奇虎科技有限公司 应用中功能模块调用方法及装置、电子设备
CN107193609B (zh) * 2017-05-27 2021-05-07 北京奇虎科技有限公司 应用中功能模块调用方法及装置、电子设备
CN107172491A (zh) * 2017-06-28 2017-09-15 未来电视有限公司 一种下载应用的过程中植入广告的方法
CN109218054A (zh) * 2017-07-03 2019-01-15 腾讯科技(深圳)有限公司 终端动态配置、相应服务器实现方法、装置和存储介质
CN107528895B (zh) * 2017-08-17 2020-10-23 四川长虹电器股份有限公司 一种基于Android系统的插件接入第三方服务器的系统及方法
CN107528895A (zh) * 2017-08-17 2017-12-29 四川长虹电器股份有限公司 一种基于Android系统的插件接入第三方服务器的系统及方法
CN107948134A (zh) * 2017-10-30 2018-04-20 广州易行信息技术有限公司 数据交互方法和装置
CN107948134B (zh) * 2017-10-30 2020-07-28 广州易行信息技术有限公司 数据交互方法和装置
CN107704260A (zh) * 2017-10-31 2018-02-16 广东小天才科技有限公司 一种更新应用软件的软件开发工具包的方法及系统
CN107920074A (zh) * 2017-11-17 2018-04-17 成都天翼空间科技有限公司 一种sdk自动升级方法、终端设备及主控服务器
CN108241500A (zh) * 2018-01-15 2018-07-03 腾讯科技(深圳)有限公司 一种硬件组件的修复方法、装置、系统和存储介质
CN108241500B (zh) * 2018-01-15 2022-02-01 腾讯科技(深圳)有限公司 一种硬件组件的修复方法、装置、系统和存储介质
CN110362319A (zh) * 2018-03-26 2019-10-22 珠海市魅族科技有限公司 应用管理方法及装置、计算机装置和计算机可读存储介质
CN108881393A (zh) * 2018-05-22 2018-11-23 北京达佳互联信息技术有限公司 一种数据下发方法、装置、计算机及存储介质
CN108881393B (zh) * 2018-05-22 2021-03-23 北京达佳互联信息技术有限公司 一种数据下发方法、装置、计算机及存储介质
CN109002320A (zh) * 2018-08-20 2018-12-14 苏州思必驰信息科技有限公司 用于软件开发包的更新方法、系统、电子设备及存储介质
CN109002320B (zh) * 2018-08-20 2021-07-06 思必驰科技股份有限公司 用于软件开发包的更新方法、系统、电子设备及存储介质
CN111124446A (zh) * 2018-11-01 2020-05-08 千寻位置网络有限公司 一种用于自动更新下位机的sdk制作方法
CN109800008A (zh) * 2018-12-29 2019-05-24 深圳云天励飞技术有限公司 配置更新方法及相关产品
CN109800008B (zh) * 2018-12-29 2023-02-03 深圳云天励飞技术有限公司 配置更新方法及相关产品
CN110221840A (zh) * 2019-06-05 2019-09-10 百度在线网络技术(北京)有限公司 应用程序的功能实现方法及装置、设备及存储介质
WO2021129853A1 (zh) * 2019-12-27 2021-07-01 华为技术有限公司 移动服务升级方法、装置和终端
CN111371614A (zh) * 2020-03-04 2020-07-03 深信服科技股份有限公司 一种网络访问方法、装置和系统
CN111371614B (zh) * 2020-03-04 2024-04-09 深信服科技股份有限公司 一种网络访问方法、装置和系统
CN111459829A (zh) * 2020-04-03 2020-07-28 成都安易迅科技有限公司 一种解决测试人员工作中使用工具的配置方法
CN111970542A (zh) * 2020-08-21 2020-11-20 广州欢网科技有限责任公司 智能电视不升级自有广告app兼容支持SDK监测的系统和方法
CN114205496A (zh) * 2021-11-29 2022-03-18 信利光电股份有限公司 一种摄像模组信息烧录方法及摄像模组

Also Published As

Publication number Publication date
WO2017088388A1 (zh) 2017-06-01

Similar Documents

Publication Publication Date Title
CN105893070A (zh) 应用的sdk的升级方法及系统
CN108011935A (zh) 一种nb-iot设备的程序升级方法、服务器及nb-iot设备
CN106897086A (zh) 用于升级机器人操作系统的方法、装置及系统
CN106686200B (zh) 移动应用程序更新方法、移动终端及更新系统
CN107479933A (zh) 一种移动终端应用程序升级方法、存储设备及移动终端
CN103353845A (zh) 脚本加载、推送方法及装置
CN108513145B (zh) 一种连麦直播的控制方法及装置
CN106933598A (zh) 实现模板文件的自动化管理的方法及系统
CN107239309B (zh) 补丁生成方法及装置、更新方法、电子设备、存储介质
CN110262820A (zh) 基于mqtt协议实现ota升级的方法、装置、系统与存储介质
CN105100144A (zh) 更新应用的方法及装置
CN106020882A (zh) 一种应用升级方法、智能终端及升级系统
CN103634393A (zh) Ivr及其实现方法
CN109885332A (zh) 画质芯片软件升级方法、装置、显示设备及存储介质
CN109656612B (zh) 基于云服务的嵌入式设备启动及在线无感升级系统及方法
CN104699499A (zh) 一种异构终端软件升级方法
CN105354043A (zh) 终端的升级方法及装置
CN108255735A (zh) 关联环境测试方法、电子装置及计算机可读存储介质
CN104123160A (zh) 一种导航设备的要素级更新方法
CN110109684A (zh) 区块链节点管理代理服务安装方法、电子装置及存储介质
CN116450353A (zh) 处理器核匹配方法、装置、电子设备及存储介质
CN109189433A (zh) 用于物联网设备mcu的升级方法
CN109683992A (zh) 用于管理对象的方法和装置
CN106033364B (zh) 一种Web应用程序的升级方法及系统
WO2023020071A1 (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160824

WD01 Invention patent application deemed withdrawn after publication