一种SDK自动升级方法、终端设备及主控服务器与流程

文档序号:14197239阅读:152来源:国知局
一种SDK自动升级方法、终端设备及主控服务器与流程

本发明涉及移动通信技术领域,特别是涉及一种sdk自动升级方法、终端设备及主控服务器。



背景技术:

目前,计费sdk(softwaredevelopmentkit,软件开发工具包,简称sdk)是运营商计费业务系统中非常重要的一部分。运营商通过发布sdk,并由开发者进行集成使用。由于sdk业务的特殊性,发布到终端市场后,可能存在恶意攻击、漏洞利用等风险,或由于功能性bug导致业务不正常,基于上述情况,计费sdk都需要进行周期性的版本迭代升级。

在现有技术中,运营商通过发布新版的sdk并交由开发者完成重新集成发布,最终发布新的apk程序。该种更新模式往往由于业务频繁变更而导致需要频繁更新sdk,时常会占用影响终端设备的网络资源,部分应用也很可能会由于网络资源被占用的情况导致无法及时更新,不仅使用户体验较差,甚至还会带来严重的后果。

可见,现有技术中存在着sdk的更新需要交给开发者集成发布,并且更新频繁的技术问题。



技术实现要素:

本申请提供一种sdk自动升级方法、终端设备及主控服务器,用以解决现有技术中存在着的sdk更新需要交给开发者集成发布,并且更新频繁的技术问题。

本申请第一方面提供了一种sdk自动升级方法,应用于一终端设备,包括:

在所述终端设备开启与第一应用对应的计费模式后,在所述第一应用运行之前,向主控服务器发送包括so文件的初始化指令,所述so文件包括与sdk文件对应的加密算法及密钥;

通过所述主控服务器检测所述so文件是否与模板文件匹配;

若否,则通过所述主控服务器向所述终端设备下发升级指令,所述终端设备在接收所述升级指令后下载更新所述so文件,以使更新后的so文件与所述模板文件匹配。

可选地,在所述so文件还包括应用id信息时,在所述通过所述主控服务器检测所述so文件是否与模板文件匹配之前,所述方法包括:

通过所述主控服务器将与所述应用id对应的检测文件确定为所述模板文件。

可选地,在所述检测所述终端设备是否开启与第一应用对应的计费模式之后,所述通过所述主控服务器检测所述so文件是否与模板文件匹配之前,所述方法还包括:

通过所述主控服务器检测是否接收到预设服务器发送的确认指令,所述确认指令为所述预设服务器在接收到由所述终端设备发出的与所述初始化指令对应的请求指令后,生成并发送的指令;

若否,则所述主控服务器确认所述终端设备的sdk文件被破解,并按照预定频率向所述终端设备发送互不相同的so文件,以使所述终端设备上的so文件不断更新。

可选地,所述所述终端设备在接收所述升级指令后下载更新所述so文件,包括:

所述终端设备在接收到所述升级指令后检测系统当前时间是否属于预设时间范围;

若是,则下载更新所述so文件。

可选地,所述下载更新所述so文件包括:

检测所述终端设备的缓存中是否存在与所述so文件不同的另一so文件;

若是,则基于所述另一so文件更新所述so文件;

在更新完成后删除缓存中的所述另一so文件。

第二方面,本申请实施例还提供了一种终端设备,包括:

发送器;

接收器;

处理器,用以在开启与第一应用对应的计费模式后,且在所述第一应用运行之前,控制所述发送器向主控服务器发送包括so文件的初始化指令,在通过所述接收器接收到所述主控服务器发出的升级指令后,控制所述接收器下载更新所述so文件,以使更新后的so文件与所述模板文件匹配,所述so文件包括与sdk文件对应的加密算法及密钥。

可选地,所述处理器,用以控制所述发送器向预设服务器发送与所述初始化指令对应的请求指令。

可选地,所述处理器,用以在接收到所述升级指令后检测系统当前时间是否属于预设时间范围,若是,则下载更新所述so文件。

可选地,所述处理器,用以检测所述终端设备的缓存中是否存在与所述so文件不同的另一so文件,若是,基于所述另一so文件更新所述so文件,且在更新完成后控制删除缓存中的所述另一so文件。

第三方面,本申请实施例还提供了一种主控服务器,包括:

接收装置;

发送装置;

处理装置,在通过所述接收装置接收到终端设备发送的so文件后检测

所述so文件是否与模板文件匹配,若否,则控制所述发送装置向所述终端设备下发升级指令。

可选地,所述处理装置,用以检测是否接收到预设服务器发送的确认指令,若否,则确认所述终端设备的sdk文件被破解,并按照预定频率控制所述发送装置向所述终端设备发送互不相同的so文件,以使所述终端设备上的so文件不断更新,其中,所述确认指令为所述预设服务器在接收到由所述终端设备发出的与所述初始化指令对应的请求指令后,生成并发送的指令;

可选地,所述处理装置,用以在所述so文件还包括应用id信息时,将与所述应用id对应的检测文件确定为所述模板文件。

第四方面,提供一种计算机装置,所述装置包括处理设备,所述处理设备用于执行存储器中存储的计算机程序时实现如第一方面提供的任一项所述方法的步骤。

第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面提供的任一项所述方法的步骤。

本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

本申请实施例中的技术方案可以通过在终端设备开启与第一应用对应的计费模式后,且在所述第一应用运行之前向主控服务器发送与sdk文件对应的加密算法及密钥的so文件的初始化指令,再通过主控服务器检测所述so文件是否与模板文件匹配,如果不匹配则通过所述主控服务器向所述终端设备下发升级指令,使得所述终端设备直接下载更新so文件。可见,本申请实施例中的技术方案可以不需要将计费sdk交给开发者进行集成发布,且更新时间可以由用户自行掌握,因此具有降低sdk应用成本和应用效率,提升用户体验的技术效果。

本申请实施例至少还具有如下技术效果或优点:

进一步地,在本申请的实施例中,还可以通过终端设备向主控服务器发送所述第一应用的标识来确定需要更新的计费sdk,由此可以具有提高sdk的更新准确率的技术效果。

进一步地,本申请实施例中的技术方案通过主控服务是否接收到预设服务器发出的确认指令而判断出终端设备上的sdk是否被破解,如果被破解则会通过主控服务器不断向所述终端设备发送不同的so文件,以让终端设备上的so文件持续处于被破解状态,直到用户不再使用破解工具为止。因此,本申请实施例中的技术方案还具有提升系统安全性和稳定性的技术效果。

进一步地,本申请实施例中的技术方案可以通过在预设时间段内集中更新sdk的核心文件,避免频繁更新影响用户的app使用体验。因此本申请实施例中的技术方案还具有进一步提升用户体验的技术效果。

进一步地,本申请实施例中的技术方案可以先将最新版本的so文件下载存储在所述终端设备的缓存中,当系统时间属于所述预设时间范围后,就可以直接从缓存中调用so文件进行更新,而无需下载。由此可以起到节省更新时间提高更新效率的技术效果。

附图说明

图1为本发明实施例提供的一种sdk自动升级方法的流程图;

图2为本发明实施例提供的一种终端设备的结构图;

图3为本发明实施例提供的一种主控服务器的结构图。

具体实施方式

本申请提供一种sdk自动升级方法、终端设备及主控服务器,用以解决现有技术中存在着的sdk更新需要交给开发者集成发布,并且更新频繁的技术问题。

本申请实施例中的技术方案为解决上述技术问题,总体思路如下:

本申请实施例中的技术方案可以通过在终端设备开启与第一应用对应的计费模式后,且在所述第一应用运行之前向主控服务器发送与sdk文件对应的加密算法及密钥的so文件的初始化指令,再通过主控服务器检测所述so文件是否与模板文件匹配,如果不匹配则通过所述主控服务器向所述终端设备下发升级指令,使得所述终端设备直接下载更新so文件。可见,本申请实施例中的技术方案可以不需要将计费sdk交给开发者进行集成发布,且更新时间可以由用户自行掌握,因此具有降低sdk应用成本和应用效率,提升用户体验的技术效果。

下面通过附图以及具体实施例对本申请技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。

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

实施例一

请参考图1,本申请实施例一提供一种sdk自动升级方法,应用于一终端设备,包括:

步骤101:在所述终端设备开启与第一应用对应的计费模式之后,在所述第一应用运行之前,向主控服务器发送包括so文件的初始化指令,所述so文件包括与sdk文件对应的加密算法及密钥。

sdk文件中的核心文件为加密算法及密钥,sdk文件可以基于该加密算法和密钥完成应用支付。需要指出的是,在本申请实施例中,所述sdk文件所指的是计费用sdk,是针对应用中的买卖进行收费的由一系列收费代码组成的工具。而所述so文件可以是指包括所述sdk文件中的核心文件,包括但不仅仅包括加密算法及密钥。

在本步骤中,并不局限于通过所述终端设备自行检测是否开启某一应用的计费模式,可以是通过另一电子设备采用远端控制检测的方式,又或是通过所述终端设备或远端控制设备在获得开启所述第一应用的指令的检测方式,本申请实施例中的技术方案并不作任何限定。

步骤102:通过所述主控服务器检测所述so文件是否与模板文件匹配。

所述模板文件可以为存储于所述主控服务器中的文件,也可以为存储于云端服务器或其他电子设备中的文件,用户可以根据需要而自行设置。

步骤103:若否,则通过所述主控服务器向所述终端设备下发升级指令,所述终端设备在接收所述升级指令后下载更新所述so文件,以使更新后的so文件与所述模板文件匹配。

在本步骤的执行过程中,所述终端设备可以从所述主控服务器上下载所述so文件,也可以从其他预设的电子设备端或存储空间中下载所述so文件。

由此可见,本申请实施例中的技术方案可以通过在终端设备开启与第一应用对应的计费模式后,且在所述第一应用运行之前向主控服务器发送与sdk文件对应的加密算法及密钥的so文件的初始化指令,再通过主控服务器检测所述so文件是否与模板文件匹配,如果不匹配则通过所述主控服务器向所述终端设备下发升级指令,使得所述终端设备直接下载更新so文件。可见,本申请实施例中的技术方案可以不需要将计费sdk交给开发者进行集成发布,且更新时间可以由用户自行掌握,因此具有降低sdk应用成本和应用效率,提升用户体验的技术效果。

可选地,在所述so文件还包括应用id信息时,在所述通过所述主控服务器检测所述so文件是否与模板文件匹配之前,所述方法包括:

通过所述主控服务器将与所述应用id对应的检测文件确定为所述模板文件。

也就是说,在本申请的实施例中,还可以通过终端设备向主控服务器发送所述第一应用的标识来确定需要更新的计费sdk,由此可以具有提高sdk的更新准确率的技术效果。

可选地,在所述检测所述终端设备是否开启与第一应用对应的计费模式之后,所述通过所述主控服务器检测所述so文件是否与模板文件匹配之前,所述方法还包括:

通过所述主控服务器检测是否接收到预设服务器发送的确认指令,所述确认指令为所述预设服务器在接收到由所述终端设备发出的与所述初始化指令对应的请求指令后,生成并发送的指令;

若否,则所述主控服务器确认所述终端设备的sdk文件被破解,并按照预定频率向所述终端设备发送互不相同的so文件,以使所述终端设备上的so文件不断更新。

也就是说,本申请实施例中的技术方案可以通过检测终端设备在开启某一app后进行sdk升级更新之前,是否向一预定的服务器发送了信号,如果是被破解后的sdk则不会向该预定的服务器发送所述信号,由此可以确认该终端设备上的sdk是否被破解。所述预设服务器可以为与所述主控服务器不同的另一服务器,当然也可以为所述主控服务器,在实际操作过程中可以根据需要而自行设置。

进一步地,当所述主控服务器确认该终端设备上的sdk被破解后,则会不断向所述终端设备发送不同的so文件,以使所述终端设备不断处于破解新的so文件的状态下,影响该终端设备的app正常使用,由此可以使得该终端设备的用户不再设置工具对sdk进行破解。

可见,本申请实施例中的技术方案通过主控服务是否接收到预设服务器发出的确认指令而判断出终端设备上的sdk是否被破解,如果被破解则会通过主控服务器不断向所述终端设备发送不同的so文件,以让终端设备上的so文件持续处于被破解状态,直到用户不再使用破解工具为止。因此,本申请实施例中的技术方案还具有提升系统安全性和稳定性的技术效果。

可选地,所述所述终端设备在接收所述升级指令后下载更新所述so文件,包括:

所述终端设备在接收到所述升级指令后检测系统当前时间是否属于预设时间范围;

若是,则下载更新所述so文件。

也就是说,本申请实施例中的技术方案可以通过在预设时间段内集中更新sdk的核心文件,避免频繁更新影响用户的app使用体验。因此本申请实施例中的技术方案还具有进一步提升用户体验的技术效果。

可选地,所述下载更新所述so文件包括:

检测所述终端设备的缓存中是否存在与所述so文件不同的另一so文件;

若是,则基于所述另一so文件更新所述so文件;

在更新完成后删除缓存中的所述另一so文件。

也就是说,本申请实施例中的技术方案可以先将最新版本的so文件下载存储在所述终端设备的缓存中,当系统时间属于所述预设时间范围后,就可以直接从缓存中调用so文件进行更新,而无需下载。由此可以起到节省更新时间提高更新效率的技术效果。

实施例二

请参考图2,本申请实施例二提供一种终端设备,包括:

发送器201;

接收器202;

处理器203,用以在开启与第一应用对应的计费模式后,且在控制所述发送器在所述第一应用运行之前,向主控服务器发送包括so文件的初始化指令,在通过所述接收器接收到所述主控服务器发出的升级指令后,控制所述接收器下载更新所述so文件,以使更新后的so文件与所述模板文件匹配,所述so文件包括与sdk文件对应的加密算法及密钥。

具体来讲,处理器203具体可以是通用的中央处理器(cpu),可以是特定应用集成电路(英文:applicationspecificintegratedcircuit,简称:asic),可以是一个或多个用于控制程序执行的集成电路。

进一步的,所述终端设备还可以包括存储器,存储器的数量可以是一个或多个。存储器可以包括只读存储器(英文:readonlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)和磁盘存储器。

可选地,所述处理器203,用以控制所述发送器向预设服务器发送与所述初始化指令对应的请求指令。

可选地,所述处理器203,用以在接收到所述升级指令后检测系统当前时间是否属于预设时间范围,若是,则下载更新所述so文件。

可选地,所述处理器203,用以检测所述终端设备的缓存中是否存在与所述so文件不同的另一so文件,若是,基于所述另一so文件更新所述so文件,且在更新完成后控制删除缓存中的所述另一so文件。

前述图1实施例中的sdk自动升级方法中的各种变化方式和具体实例同样适用于本实施例的终端设备,通过前述对sdk自动升级方法的详细描述,本领域技术人员可以清楚的知道本实施例中终端设备的实施方法,所以为了说明书的简洁,在此不再详述。

实施例三

请参考图3,本申请实施例三提供一种主控服务器,包括:

接收装置301;

发送装置302;

处理装置303,在通过所述接收装置接收到终端设备发送的so文件后检测所述so文件是否与模板文件匹配,若否,则控制所述发送装置向所述终端设备下发升级指令。

可选地,所述处理装置,用以检测是否接收到预设服务器发送的确认指令,若否,则确认所述终端设备的sdk文件被破解,并按照预定频率控制所述发送装置向所述终端设备发送互不相同的so文件,以使所述终端设备上的so文件不断更新,其中,所述确认指令为所述预设服务器在接收到由所述终端设备发出的与所述初始化指令对应的请求指令后,生成并发送的指令;

可选地,所述处理装置,用以在所述so文件还包括应用id信息时,将与所述应用id对应的检测文件确定为所述模板文件。

前述图1实施例中的交互式网络电视传输流处理方法中的各种变化方式和具体实例同样适用于本实施例的主控服务器,通过前述对sdk自动升级方法的详细描述,本领域技术人员可以清楚的知道本实施例中主控服务器的实施方法,所以为了说明书的简洁,在此不再详述。

本申请一实施例还提供一种计算机装置,所述装置包括处理设备,所述处理设备用于执行存储器中存储的计算机程序时实现本申请实施例提供的sdk自动升级方法的步骤。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的sdk自动升级方法的步骤。

由此可见,本申请实施例中的技术方案可以通过在终端设备开启与第一应用对应的计费模式后,且在所述第一应用运行之前向主控服务器发送与sdk文件对应的加密算法及密钥的so文件的初始化指令,再通过主控服务器检测所述so文件是否与模板文件匹配,如果不匹配则通过所述主控服务器向所述终端设备下发升级指令,使得所述终端设备直接下载更新so文件。可见,本申请实施例中的技术方案可以不需要将计费sdk交给开发者进行集成发布,且更新时间可以由用户自行掌握,因此具有降低sdk应用成本和应用效率,提升用户体验的技术效果。

本申请实施例至少还具有如下技术效果或优点:

进一步地,在本申请的实施例中,还可以通过终端设备向主控服务器发送所述第一应用的标识来确定需要更新的计费sdk,由此可以具有提高sdk的更新准确率的技术效果。

进一步地,本申请实施例中的技术方案通过主控服务是否接收到预设服务器发出的确认指令而判断出终端设备上的sdk是否被破解,如果被破解则会通过主控服务器不断向所述终端设备发送不同的so文件,以让终端设备上的so文件持续处于被破解状态,直到用户不再使用破解工具为止。因此,本申请实施例中的技术方案还具有提升系统安全性和稳定性的技术效果。

进一步地,本申请实施例中的技术方案可以通过在预设时间段内集中更新sdk的核心文件,避免频繁更新影响用户的app使用体验。因此本申请实施例中的技术方案还具有进一步提升用户体验的技术效果。

进一步地,本申请实施例中的技术方案可以先将最新版本的so文件下载存储在所述终端设备的缓存中,当系统时间属于所述预设时间范围后,就可以直接从缓存中调用so文件进行更新,而无需下载。由此可以起到节省更新时间提高更新效率的技术效果。

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

在本发明实施例中的各功能单元可以集成在一个处理单元中,或者各个单元也可以均是独立的物理模块。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如可以是个人计算机、手机终端、服务器,或网络设备等,或处理器执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(universalserialbusflashdrive)、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。进一步地,本申请技术方案中的各个方法步骤可以颠倒,变换先后顺序而依然落入本申请所涵盖的发明范围中。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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