CN107526584A - 数据接入方法和装置 - Google Patents
数据接入方法和装置 Download PDFInfo
- Publication number
- CN107526584A CN107526584A CN201610909340.5A CN201610909340A CN107526584A CN 107526584 A CN107526584 A CN 107526584A CN 201610909340 A CN201610909340 A CN 201610909340A CN 107526584 A CN107526584 A CN 107526584A
- Authority
- CN
- China
- Prior art keywords
- sdk
- examples
- client
- adaptation
- function
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
Abstract
本发明公开了一种数据接入方法和装置。其中,该方法包括:检测是否有新增的第一SDK上线,其中,第一SDK与客户端中使用的当前SDK不同;在检测到有第一SDK上线的情况下,获取第一SDK的文件;对第一SDK的文件进行适配,得到适配后的第一SDK实例,其中,适配后的第一SDK实例被设置为允许通过统一接口调用;在客户端中通过统一接口来调用适配后的第一SDK实例,以执行第一SDK实例所对应的功能。本发明解决了由于新功能需要依赖客户端版本的更新导致的上线周期长的技术问题。
Description
技术领域
本发明涉及软件领域,具体而言,涉及一种数据接入方法和装置。
背景技术
市场上经常存在一个功能有多家提供商提供SDK的情况,如果要实现这个功能,可以从多个SDK中选择任意一个,现有技术中多数是通过升级客户端来修改客户端逻辑,实现新功能。虽然同一类SDK提供的功能类似,但在产品覆盖度上往往有较大差别,例如多个WIFI提供商都提供开放认证WIFI的接入能力,但每个提供商提供的WIFI覆盖的产品范围都有限。
现有技术中,SDK的功能接入需要依赖客户端版本的更新周期,必须等到客户端新版本发布升级之后,才能够实现新的功能,无法快速上线,旧版本也无法使用新SDK的功能,用户只有在升级了新的客户端版本后才能够使用新的功能,并且,SDK接入逻辑层次不清晰,维护成本和接入成本高,对单个SDK的调度无法灵活控制。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据接入方法和装置,以至少解决由于新功能需要依赖客户端版本的更新导致的上线周期长的技术问题。
根据本发明实施例的一个方面,提供了一种数据接入方法,包括:检测是否有新增的第一SDK上线,其中,所述第一SDK与客户端中使用的当前SDK不同;在检测到有所述第一SDK上线的情况下,获取所述第一SDK的文件;对所述第一SDK的文件进行适配,得到适配后的第一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是根据本发明实施例的数据接入方法的硬件环境的示意图;
图2是根据本发明实施例的一种可选的数据接入方法的流程图;
图3是根据本发明实施例的一种可选的数据接入的示意图;
图4是根据本发明实施例的一种可选的数据接入装置的示意图;
以及
图5是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种数据接入方法的实施例。
可选地,在本实施例中,上述数据接入方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的数据接入方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的数据接入方法也可以是由安装在其上的客户端来执行。
在一个可选的应用场景中,安装在终端上的客户端在检测到服务器中有新增的SDK上线的情况下,获取新增的SDK文件,对获取到的文件进行适配,得到适配后的SDK实例,适配后的SDK实例可以通过统一接口调用,客户端通过统一接口调用适配后的SDK实例即可执行新的功能,无需等到客户端升级,即可上线新功能。
图2是根据本发明实施例的一种可选的数据接入方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,检测是否有新增的第一SDK上线,其中,第一SDK与客户端中使用的当前SDK不同。
步骤S204,在检测到有第一SDK上线的情况下,获取第一SDK的文件。
步骤S206,对第一SDK的文件进行适配,得到适配后的第一SDK实例,其中,适配后的第一SDK实例被设置为允许通过统一接口调用。
步骤S208,在客户端中通过统一接口来调用适配后的第一SDK实例,以执行第一SDK实例所对应的功能。
通过上述步骤S202至步骤S208,通过在检测到有第一SDK上线的情况下,获取第一SDK的文件,然后对第一SDK的文件进行适配,得到适配后的第一SDK实例,在客户端中通过统一接口来调用适配后的第一SDK实例,以执行第一SDK实例所对应的功能,达到了在检测到有新的SDK上线的情况下,能够在客户端中通过统一接口调用第一SDK实例,以执行第一SDK实例所对应的功能的目的,从而实现了在客户端中通过统一接口调用适配后的SDK实现新的功能的技术效果,进而解决了由于新功能需要依赖客户端版本的更新导致的上线周期长的技术问题。
在步骤S202提供的技术方案中,软件开发工具包(Software Development Kit,简称为SDK)可以多家提供商提供的,实现同一个功能的SDK可以有一个或多个。第一SDK是新增的SDK,例如,是提供商新发布的SDK,本实施例中的客户端可以是已发布的客户端,已发布的客户端的版本为当前版本,已发布的客户端无法实现第一SDK的功能,检测是否有新增的第一SDK上线可以是客户端检测,也可以是其他装置检测,第一SDK与当前客户端中使用的SDK版本不同,第一SDK是新发布的SDK。
在步骤S204提供的技术方案中,在检测到有第一SDK上线的情况下,获取第一SDK的文件,第一SDK的文件可以是工具包文件,也可以包含其他属性的文件。获取第一SDK的文件可以是由客户端获取,也可以是由其他的装置获取。在获取到第一SDK的文件之后,可以将文件存储在预设的内存区域中,或者将文件存储在服务器的预定存储区域中。
在步骤S206提供的技术方案中,在获取第一SDK文件之后,对第一SDK的文件进行适配,得到适配后的第一SDK实例。对第一SDK的文件进行适配可以是将不同来源的SDK的接口和数据统一成系统标准的接口和数据格式,以实现对不同来源的SDK的差异性封装,得到适配后的第一SDK实例,适配后的第一SDK实例被设置为允许通过统一接口调用。
在步骤S208提供的技术方案中,在对第一SDK的文件进行适配之后,可以在客户端中通过统一接口来调用适配后的第一SDK实例,以执行第一SDK实例所对应的功能。例如,可以利用多态技术,使用统一的规则调度不同的SDK。
可选地,对第一SDK的文件进行适配,得到适配后的第一SDK实例可以是:将第一SDK的文件中的接口适配成统一接口,并将第一SDK的文件中的数据适配成与统一接口匹配的统一数据格式,以得到适配后的第一SDK实例。对第一SDK的文件进行适配包括对第一SDK文件中的接口和第一SDK的文件中的数据都进行适配,适配成统一的接口或与统一接口匹配的数据格式,经过适配之后的第一SDK文件可以作为适配后的第一SDK实例。通过对第一SDK文件中的接口和数据进行适配,可以通过统一接口调用多种SDK文件,以实现SDK文件的加载。
可选地,获取第一SDK的文件包括获取第一SDK的dex文件。其中,dex是安卓系统平台上可执行文件的类型,获取第一SDK的dex文件可以是获取第一SDK的可执行文件。
可选地,在客户端中通过统一接口来调用适配后的第一SDK实例,以执行第一SDK实例所对应的功能可以通过以下步骤:检测在执行第一SDK实例所对应的功能的过程中是否出现异常;在检测到出现异常时,查找与适配后的第一SDK实例相匹配的第二SDK实例,其中,第二SDK实例与适配后的第一SDK实例执行相同的功能;在查找到第二SDK实例的情况下,在客户端中调用第二SDK实例,以执行功能。
如果第一SDK实例和第二SDK实例能够实现的功能相同,如果在客户端调用第一SDK实例执行对应功能的过程中,第一SDK实例对应的功能出现异常,此时,可以查找到与第一SDK实例相匹配的第二SDK实例,可以通过调用第二SDK实例执行与第一SDK实例相同的功能,通过上述的异常处理机制,能够及时处理异常,降低维护成本,也提高了多种SDK接入的灵活性。
可选地,在查找与适配后的第一SDK实例相匹配的第二SDK实例之后,在查找不到第二SDK实例的情况下,终止执行功能。如果第一SDK实例对应的功能出现异常,但是查找不到第二SDK,例如,只有第一SDK能够执行该功能,则在第一SDK出现功能异常的情况下,终止执行功能,在终止执行功能之后,可以发送异常提示信息,以方便及时对异常进行处理。
可选地,在客户端中通过统一接口来调用适配后的第一SDK实例,以执行第一SDK实例所对应的功能可以通过以下步骤:获取功能执行指令,其中,功能执行指令用于指示在客户端中执行功能;在客户端中查找被配置为执行功能的目标SDK实例;在查找到多个目标SDK实例的情况下,从查找到的多个目标SDK实例中选择适配后的第一SDK实例,其中,在查找到的多个目标SDK实例中适配后的第一SDK实例的调用优先级最高;在客户端中通过统一接口来调用适配后的第一SDK实例,以执行第一SDK实例所对应的功能。
如果多个SDK实例都能够执行第一SDK实例所对应的功能,可以根据SDK实例被设置的优先级进行调用,从查找到的多个目标SDK实例中选择调用优先级别最高的第一SDK实例。根据优先级调用SDK实例能够提高SDK调度的灵活性。
可选地,在客户端中查找被配置为执行功能的目标SDK实例之后,方法还包括:在查找到一个目标SDK实例的情况下,在客户端中通过统一接口来调用适配后的第一SDK实例,以执行第一SDK实例所对应的功能,其中,查找到的一个目标SDK实例为适配后的第一SDK实例。
如果查找到的被配置为执行功能的目标SDK实例只有一个,则客户端可以通过统一接口来调用适配后的SDK实例,以执行对应的功能,由于目标SDK实例只有一个,此种情况下无需根据SDK实例被设置的优先级进行调用。
可选地,在检测是否有新增的第一SDK上线时或之前或之后,方法还包括:检测当前SDK中是否有下线的第二SDK;在检测到有下线的第二SDK的情况下,在客户端中删除第二SDK的信息和/或文件。
下线的SDK为第二SDK,在检测到当前SDK中有下线的第二SDK的情况下,从客户端中删除第二SDK的信息,或者删除第二SDK的文件,或者信息和文件都删除,在一些应用场景下,例如,与合作方终止合作,或者第二SDK出现错误等情况下,需要下线第二SDK,此时需要将第二SDK的信息和/或文件删除,删除第二SDK的信息和/或文件能够降低bug出现概率,提高SDK调用的灵活性,方便系统维护。
作为一种可选的实施例,如果有多家提供商提供SDK,有一些SDK能够实现相同的功能,但是不同SDK的接口或者协议导致SDK的产品覆盖范围有限,为了给用户提供最大的开放认证WIFI的接入能力,可以将两者的SDK都接入到产品中,这样,接入的产品就能同时兼顾不同的开放认证WIFI网络。同时,当在多个SDK都可用的场景,也可以根据SDK的优先级进行接入控制,在特定条件下,也需要能够动态下线或者上线某个SDK。
本发明还提供了一种优选实施例,图3是根据本发明实施例的一种可选的数据接入的示意图,如图3所示,数据接入由配置模块、调度模块、适配层和SDK接入层四个部分组成,除了上述四个部分,也可以包括其他部分。
配置模块通过HTTP或者其他网络协议利用主动拉取或者接收push推送的方法获取云端(服务器端)SDK配置,在本地生成维护配置文件,成对应SDK的动态上下线能力。在一些应用系统(例如,Android)平台,SDK的动态上线能力可以利用dex动态加载技术实现。当动态上线某个SDK时,若本地不存在该SDK对应的dex文件,则由配置模块动态下载。当动态下线某个SDK时,则只需要将该SDK的配置信息从配置文件中删除,并通知调度模块配置变更,必要时删除SDK对应的dex文件。
调度模块控制SDK的加载和运行时的SDK使用策略(由配置模块提供配置信息)。该模块管理若干个SDK适配层(也即SDK适配dex后的SDK实例)的实例,并监控各个实例的状态。当交互触发功能执行时,调度模块根据配置信息选择指定的SDK适配层实例执行功能,当适配层状态发生变化时,调度模块根据配置信息抉择选用其他SDK继续执行还是终止此次功能执行。当功能执行完毕(正常终止或者异常终止),调度模块向其他模块通知结果。
SDK适配层用来屏蔽不同来源SDK之间的差异,并提供统一的接口和数据模型供调度模块统一调度。SDK适配层可以包括SDK适配器,对调度模块,适配层提供一个抽象的父类或者接口,将SDK的主要功能和数据通过统一的接口暴露到调度层。利用多态技术,调度模块可以使用统一的规则调度不同的SDK。在适配层内部,实现对不同来源SDK的差异性封装,将不同SDK的接口和数据统一成系统标准的接口和数据格式,同时针对不同SDK的定制策略也可以在适配层完成。调度模块可以通过用户界面(User Interface,简称为UI)接收用户控制。
SDK适配层与SDK一起构成接入层,提供动态下发和加载的可能性。
该实施例提供了一套可以动态运营配置、降低SDK接入成本的数据接入方法,整个系统由配置模块、调度模块、适配层及SDK接入层(多个)四部分组成,配置模块负责与云端配置平台交互,控制SDK的加载,调度模块封装运行时多个SDK的调度逻辑,如根据场景选择任一个SDK执行命令,或者用多个SDK重复执行命令,SDK的执行顺序以及监测命令的执行结果等,适配层抽象各个SDK的公共流程,屏蔽细节差异,被调度模块直接调度,SDK接入层对应不同厂商或者团队提供的开发工具包,由于完成类似功能的SDK,在实现细节上有很大差异,无法直接调用,本发明实施例的方案可以实现SDK上下线不依赖客户端版本迭代周期,可以随时全量上下线,并且代码结构清晰,更易维护,降低bug出现概率,本发明实施例的应用平台不限于Android平台,Windows、iOS等平台同样适用,配置文件的下发不限于HTTP协议,也可用其他网络传输协议替代,配置文件的持久化方案不限于文件存储,也可以用数据库等其他持久化方案替代。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述数据接入方法的数据接入装置。图4是根据本发明实施例的一种可选的数据接入装置的示意图,如图4所示,该装置可以包括:
第一检测单元10,用于检测是否有新增的第一SDK上线,其中,所述第一SDK与客户端中使用的当前SDK不同;
获取单元20,用于在检测到有所述第一SDK上线的情况下,获取所述第一SDK的文件;
适配单元30,用于对所述第一SDK的文件进行适配,得到适配后的第一SDK实例,其中,所述适配后的第一SDK实例被设置为允许通过统一接口调用;
第一调用单元40,用于在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能。
需要说明的是,该实施例中的第一检测单元10可以用于执行本申请实施例1中的步骤S202,该实施例中的获取单元20可以用于执行本申请实施例1中的步骤S204,该实施例中的适配单元30可以用于执行本申请实施例1中的步骤S206,该实施例中的第一调用单元40可以用于执行本申请实施例1中的步骤S208。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,可以解决由于新功能需要依赖客户端版本的更新导致的上线周期长的技术问题,进而达到在客户端中通过统一接口调用适配后的SDK实现新的功能的技术效果。
可选地,适配单元30用于:将第一SDK的文件中的接口适配成统一接口,并将第一SDK的文件中的数据适配成与统一接口匹配的统一数据格式,以得到适配后的第一SDK实例。
可选地,第一调用单元40包括:检测模块,用于检测在执行第一SDK实例所对应的功能的过程中是否出现异常;第一查找模块,用于在检测到出现异常时,查找与适配后的第一SDK实例相匹配的第二SDK实例,其中,第二SDK实例与适配后的第一SDK实例执行相同的功能;第一调用模块,用于在查找到第二SDK实例的情况下,在客户端中调用第二SDK实例,以执行功能。
可选地,该装置还包括:终止单元,用于在查找与适配后的第一SDK实例相匹配的第二SDK实例之后,在查找不到第二SDK实例的情况下,终止执行功能。
可选地,第一调用单元40包括:获取模块,用于获取功能执行指令,其中,功能执行指令用于指示在客户端中执行功能;第二查找模块,用于在客户端中查找被配置为执行功能的目标SDK实例;选择模块,用于在查找到多个目标SDK实例的情况下,从查找到的多个目标SDK实例中选择适配后的第一SDK实例,其中,在查找到的多个目标SDK实例中适配后的第一SDK实例的调用优先级最高;第二调用模块,用于在客户端中通过统一接口来调用适配后的第一SDK实例,以执行第一SDK实例所对应的功能。
可选地,该装置还包括:第二调用单元,用于在客户端中查找被配置为执行功能的目标SDK实例之后,在查找到一个目标SDK实例的情况下,在客户端中通过统一接口来调用适配后的第一SDK实例,以执行第一SDK实例所对应的功能,其中,查找到的一个目标SDK实例为适配后的第一SDK实例。
可选地,该装置还包括:第二检测单元,用于在检测是否有新增的第一SDK上线时或之前或之后,检测当前SDK中是否有下线的第二SDK;删除单元,用于在检测到有下线的第二SDK的情况下,在客户端中删除第二SDK的信息和/或文件。
可选地,获取单元20用于获取第一SDK的dex文件。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
实施例3
根据本发明实施例,还提供了一种用于实施上述数据接入方法的服务器或终端。
图5是根据本发明实施例的一种终端的结构框图,如图5所示,该终端可以包括:一个或多个(图中仅示出一个)处理器201、存储器203、以及传输装置205(如上述实施例中的发送装置),如图5所示,该终端还可以包括输入输出设备207。
其中,存储器203可用于存储软件程序以及模块,如本发明实施例中的数据接入方法和装置对应的程序指令/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据接入方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器203用于存储应用程序。
处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:检测是否有新增的第一SDK上线,其中,所述第一SDK与客户端中使用的当前SDK不同;在检测到有所述第一SDK上线的情况下,获取所述第一SDK的文件;对所述第一SDK的文件进行适配,得到适配后的第一SDK实例,其中,所述适配后的第一SDK实例被设置为允许通过统一接口调用;在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能。
处理器201还用于执行下述步骤:将所述第一SDK的文件中的接口适配成所述统一接口,并将所述第一SDK的文件中的数据适配成与所述统一接口匹配的统一数据格式,以得到所述适配后的第一SDK实例。
处理器201还用于执行下述步骤:检测在执行所述第一SDK实例所对应的功能的过程中是否出现异常;在检测到出现所述异常时,查找与所述适配后的第一SDK实例相匹配的第二SDK实例,其中,所述第二SDK实例与所述适配后的第一SDK实例执行相同的所述功能;在查找到所述第二SDK实例的情况下,在所述客户端中调用所述第二SDK实例,以执行所述功能。
处理器201还用于执行下述步骤:在查找不到所述第二SDK实例的情况下,终止执行所述功能。
处理器201还用于执行下述步骤:获取功能执行指令,其中,所述功能执行指令用于指示在客户端中执行所述功能;在所述客户端中查找被配置为执行所述功能的目标SDK实例;在查找到多个所述目标SDK实例的情况下,从查找到的多个所述目标SDK实例中选择所述适配后的第一SDK实例,其中,在查找到的多个所述目标SDK实例中所述适配后的第一SDK实例的调用优先级最高;在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能。
处理器201还用于执行下述步骤:在查找到一个所述目标SDK实例的情况下,在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能,其中,查找到的一个所述目标SDK实例为所述适配后的第一SDK实例。
处理器201还用于执行下述步骤:检测所述当前SDK中是否有下线的第二SDK;在检测到有下线的所述第二SDK的情况下,在客户端中删除所述第二SDK的信息和/或文件。
处理器201还用于执行下述步骤:获取所述第一SDK的dex文件。
采用本发明实施例,提供了一种数据接入的方案。通过在检测到有第一SDK上线的情况下,获取第一SDK的文件,然后对第一SDK的文件进行适配,得到适配后的第一SDK实例,在客户端中通过统一接口来调用适配后的第一SDK实例,以执行第一SDK实例所对应的功能,达到了在检测到有新的SDK上线的情况下,能够在客户端中通过统一接口调用第一SDK实例,以执行第一SDK实例所对应的功能的目的,从而实现了在客户端中通过统一接口调用适配后的SDK实现新的功能的技术效果,进而解决了由于新功能需要依赖客户端版本的更新导致的上线周期长的技术问题。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图5所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图5其并不对上述电子装置的结构造成限定。例如,终端还可包括比图5中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图5所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行数据接入方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,检测是否有新增的第一SDK上线,其中,所述第一SDK与客户端中使用的当前SDK不同;
S2,在检测到有所述第一SDK上线的情况下,获取所述第一SDK的文件;
S3,对所述第一SDK的文件进行适配,得到适配后的第一SDK实例,其中,所述适配后的第一SDK实例被设置为允许通过统一接口调用;
S4,在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将所述第一SDK的文件中的接口适配成所述统一接口,并将所述第一SDK的文件中的数据适配成与所述统一接口匹配的统一数据格式,以得到所述适配后的第一SDK实例。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:检测在执行所述第一SDK实例所对应的功能的过程中是否出现异常;在检测到出现所述异常时,查找与所述适配后的第一SDK实例相匹配的第二SDK实例,其中,所述第二SDK实例与所述适配后的第一SDK实例执行相同的所述功能;在查找到所述第二SDK实例的情况下,在所述客户端中调用所述第二SDK实例,以执行所述功能。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在查找不到所述第二SDK实例的情况下,终止执行所述功能。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取功能执行指令,其中,所述功能执行指令用于指示在客户端中执行所述功能;在所述客户端中查找被配置为执行所述功能的目标SDK实例;在查找到多个所述目标SDK实例的情况下,从查找到的多个所述目标SDK实例中选择所述适配后的第一SDK实例,其中,在查找到的多个所述目标SDK实例中所述适配后的第一SDK实例的调用优先级最高;在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在查找到一个所述目标SDK实例的情况下,在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能,其中,查找到的一个所述目标SDK实例为所述适配后的第一SDK实例。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:检测所述当前SDK中是否有下线的第二SDK;在检测到有下线的所述第二SDK的情况下,在客户端中删除所述第二SDK的信息和/或文件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取所述第一SDK的dex文件。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种数据接入方法,其特征在于,包括:
检测是否有新增的第一SDK上线,其中,所述第一SDK与客户端中使用的当前SDK不同;
在检测到有所述第一SDK上线的情况下,获取所述第一SDK的文件;
对所述第一SDK的文件进行适配,得到适配后的第一SDK实例,其中,所述适配后的第一SDK实例被设置为允许通过统一接口调用;
在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能。
2.根据权利要求1所述的方法,其特征在于,对所述第一SDK的文件进行适配,得到适配后的第一SDK实例包括:
将所述第一SDK的文件中的接口适配成所述统一接口,并将所述第一SDK的文件中的数据适配成与所述统一接口匹配的统一数据格式,以得到所述适配后的第一SDK实例。
3.根据权利要求1所述的方法,其特征在于,在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能包括:
检测在执行所述第一SDK实例所对应的功能的过程中是否出现异常;
在检测到出现所述异常时,查找与所述适配后的第一SDK实例相匹配的第二SDK实例,其中,所述第二SDK实例与所述适配后的第一SDK实例执行相同的所述功能;
在查找到所述第二SDK实例的情况下,在所述客户端中调用所述第二SDK实例,以执行所述功能。
4.根据权利要求3所述的方法,其特征在于,在查找与所述适配后的第一SDK实例相匹配的第二SDK实例之后,所述方法还包括:
在查找不到所述第二SDK实例的情况下,终止执行所述功能。
5.根据权利要求1所述的方法,其特征在于,在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能包括:
获取功能执行指令,其中,所述功能执行指令用于指示在所述客户端中执行所述功能;
在所述客户端中查找被配置为执行所述功能的目标SDK实例;
在查找到多个所述目标SDK实例的情况下,从查找到的多个所述目标SDK实例中选择所述适配后的第一SDK实例,其中,在查找到的多个所述目标SDK实例中所述适配后的第一SDK实例的调用优先级最高;
在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能。
6.根据权利要求5所述的方法,其特征在于,在所述客户端中查找被配置为执行所述功能的目标SDK实例之后,所述方法还包括:
在查找到一个所述目标SDK实例的情况下,在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能,其中,查找到的一个所述目标SDK实例为所述适配后的第一SDK实例。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在检测是否有新增的第一SDK上线时或之前或之后,所述方法还包括:
检测所述当前SDK中是否有下线的第二SDK;
在检测到有下线的所述第二SDK的情况下,在所述客户端中删除所述第二SDK的信息和/或文件。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述获取所述第一SDK的文件包括:
获取所述第一SDK的dex文件。
9.一种数据接入装置,其特征在于,包括:
第一检测单元,用于检测是否有新增的第一SDK上线,其中,所述第一SDK与客户端中使用的当前SDK不同;
获取单元,用于在检测到有所述第一SDK上线的情况下,获取所述第一SDK的文件;
适配单元,用于对所述第一SDK的文件进行适配,得到适配后的第一SDK实例,其中,所述适配后的第一SDK实例被设置为允许通过统一接口调用;
第一调用单元,用于在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能。
10.根据权利要求9所述的装置,其特征在于,所述适配单元用于:
将所述第一SDK的文件中的接口适配成所述统一接口,并将所述第一SDK的文件中的数据适配成与所述统一接口匹配的统一数据格式,以得到所述适配后的第一SDK实例。
11.根据权利要求9所述的装置,其特征在于,所述第一调用单元包括:
检测模块,用于检测在执行所述第一SDK实例所对应的功能的过程中是否出现异常;
第一查找模块,用于在检测到出现所述异常时,查找与所述适配后的第一SDK实例相匹配的第二SDK实例,其中,所述第二SDK实例与所述适配后的第一SDK实例执行相同的所述功能;
第一调用模块,用于在查找到所述第二SDK实例的情况下,在所述客户端中调用所述第二SDK实例,以执行所述功能。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
终止单元,用于在查找与所述适配后的第一SDK实例相匹配的第二SDK实例之后,在查找不到所述第二SDK实例的情况下,终止执行所述功能。
13.根据权利要求9所述的装置,其特征在于,所述第一调用单元包括:
获取模块,用于获取功能执行指令,其中,所述功能执行指令用于指示在所述客户端中执行所述功能;
第二查找模块,用于在所述客户端中查找被配置为执行所述功能的目标SDK实例;
选择模块,用于在查找到多个所述目标SDK实例的情况下,从查找到的多个所述目标SDK实例中选择所述适配后的第一SDK实例,其中,在查找到的多个所述目标SDK实例中所述适配后的第一SDK实例的调用优先级最高;
第二调用模块,用于在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二调用单元,用于在所述客户端中查找被配置为执行所述功能的目标SDK实例之后,在查找到一个所述目标SDK实例的情况下,在所述客户端中通过所述统一接口来调用所述适配后的第一SDK实例,以执行所述第一SDK实例所对应的功能,其中,查找到的一个所述目标SDK实例为所述适配后的第一SDK实例。
15.根据权利要求9至14中任一项所述的装置,其特征在于,所述装置还包括:
第二检测单元,用于在检测是否有新增的第一SDK上线时或之前或之后,检测所述当前SDK中是否有下线的第二SDK;
删除单元,用于在检测到有下线的所述第二SDK的情况下,在所述客户端中删除所述第二SDK的信息和/或文件。
16.根据权利要求9至14中任一项所述的装置,其特征在于,所述获取单元用于获取所述第一SDK的dex文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610909340.5A CN107526584B (zh) | 2016-10-18 | 2016-10-18 | 数据接入方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610909340.5A CN107526584B (zh) | 2016-10-18 | 2016-10-18 | 数据接入方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107526584A true CN107526584A (zh) | 2017-12-29 |
CN107526584B CN107526584B (zh) | 2020-04-07 |
Family
ID=60748507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610909340.5A Active CN107526584B (zh) | 2016-10-18 | 2016-10-18 | 数据接入方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107526584B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110072149A (zh) * | 2018-01-24 | 2019-07-30 | 北京视联动力国际信息技术有限公司 | 一种视联网的数据处理方法和装置 |
CN110275701A (zh) * | 2019-06-19 | 2019-09-24 | 网易传媒科技(北京)有限公司 | 数据处理方法、装置、介质和计算设备 |
CN111258581A (zh) * | 2020-02-03 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 基于云服务的应用开发方法、装置、设备及计算机介质 |
CN114416202A (zh) * | 2022-01-17 | 2022-04-29 | 赞同科技股份有限公司 | 一种移动端sdk调用方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120266229A1 (en) * | 2011-04-12 | 2012-10-18 | Salesforce.Com, Inc. | Inter-application management of user credential data |
CN103559040A (zh) * | 2013-11-12 | 2014-02-05 | 厦门卓讯信息技术有限公司 | 一种基于sdk快速构建移动互联网应用模块的系统和方法 |
US20140075520A1 (en) * | 2012-09-07 | 2014-03-13 | Oracle International Corporation | System and method for providing whitelist functionality for use with a cloud computing environment |
CN104572114A (zh) * | 2015-01-23 | 2015-04-29 | 盟游(北京)科技有限公司 | 一种绑定装置、应用更新装置及方法以及应用 |
CN105786526A (zh) * | 2016-03-24 | 2016-07-20 | 江苏大学 | 一种基于Web的高效流程图绘制系统及方法 |
-
2016
- 2016-10-18 CN CN201610909340.5A patent/CN107526584B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120266229A1 (en) * | 2011-04-12 | 2012-10-18 | Salesforce.Com, Inc. | Inter-application management of user credential data |
US20140075520A1 (en) * | 2012-09-07 | 2014-03-13 | Oracle International Corporation | System and method for providing whitelist functionality for use with a cloud computing environment |
CN103559040A (zh) * | 2013-11-12 | 2014-02-05 | 厦门卓讯信息技术有限公司 | 一种基于sdk快速构建移动互联网应用模块的系统和方法 |
CN104572114A (zh) * | 2015-01-23 | 2015-04-29 | 盟游(北京)科技有限公司 | 一种绑定装置、应用更新装置及方法以及应用 |
CN105786526A (zh) * | 2016-03-24 | 2016-07-20 | 江苏大学 | 一种基于Web的高效流程图绘制系统及方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110072149A (zh) * | 2018-01-24 | 2019-07-30 | 北京视联动力国际信息技术有限公司 | 一种视联网的数据处理方法和装置 |
CN110072149B (zh) * | 2018-01-24 | 2021-12-21 | 视联动力信息技术股份有限公司 | 一种视联网的数据处理方法和装置 |
CN110275701A (zh) * | 2019-06-19 | 2019-09-24 | 网易传媒科技(北京)有限公司 | 数据处理方法、装置、介质和计算设备 |
CN110275701B (zh) * | 2019-06-19 | 2023-05-23 | 网易传媒科技(北京)有限公司 | 数据处理方法、装置、介质和计算设备 |
CN111258581A (zh) * | 2020-02-03 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 基于云服务的应用开发方法、装置、设备及计算机介质 |
CN111258581B (zh) * | 2020-02-03 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 基于云服务的应用开发方法、装置、设备及计算机介质 |
CN114416202A (zh) * | 2022-01-17 | 2022-04-29 | 赞同科技股份有限公司 | 一种移动端sdk调用方法及系统 |
CN114416202B (zh) * | 2022-01-17 | 2023-08-04 | 赞同科技股份有限公司 | 一种移动端sdk调用方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107526584B (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106302008A (zh) | 数据更新方法和装置 | |
CN107526584A (zh) | 数据接入方法和装置 | |
CN108845861B (zh) | 虚拟摄像头的实现方法及装置 | |
CN106484509A (zh) | 一种弹窗的输出方法、装置及终端 | |
CN113412469A (zh) | 设备配网方法、装置、电子设备及存储介质 | |
CN107786601B (zh) | 一种信息处理方法、终端及服务器 | |
CN106161100A (zh) | 一种物联网设备配置方法及物联网终端 | |
CN107491321A (zh) | 一种用于实现软件自动更新的处理方法及装置 | |
CN105930191B (zh) | 系统服务的重载方法及装置 | |
CN107450899B (zh) | 终端控制脚本的生成方法和装置 | |
CN106713004B (zh) | 一种路由器适配方法及系统 | |
CN109766163A (zh) | 同步显示方法及装置、存储介质和电子装置 | |
CN109032746A (zh) | 一种可穿戴设备的显示界面自定义方法、系统及电子设备 | |
CN109189400A (zh) | 程序发布方法及装置、存储介质、处理器 | |
CN104965778A (zh) | 游戏测试方法及装置 | |
CN105227606B (zh) | 应用程序适配方法和装置 | |
CN113168334A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN103051625B (zh) | 一种利用智能终端监控联网应用程序的方法及系统 | |
CN108390795B (zh) | 家电设备及其监控方法、智慧家居系统及可读存储介质 | |
CN105138107B (zh) | 移动终端下载方法、装置及移动终端 | |
CN104702701A (zh) | 一种数据分享方法及装置 | |
CN110113391A (zh) | 一种客户端上线方法、装置及一种客户端运行方法、装置 | |
CN109561134A (zh) | 电子装置、分布式集群服务分配方法及存储介质 | |
CN110336712B (zh) | 移动终端抓取空中包的方法、装置、存储介质与移动终端 | |
CN105635497A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221208 Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518100 Patentee after: Shenzhen Yayue Technology Co.,Ltd. Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |