设备标识的获取方法及服务器、终端设备与流程

文档序号:14655464发布日期:2018-06-12 03:06阅读:349来源:国知局

本公开涉及计算机应用技术领域,尤其涉及一种设备标识的获取方法及服务器、终端设备。



背景技术:

随着科学技术的进步与发展,使用终端设备(例如智能手机)的用户越来越多,进而使得许多行业能够根据终端设备的设备标识进行用户信息的收集,以根据收集到的用户信息进行数据分析或者服务投放等等。

通常,终端设备是以其内部存储器中保存的设备MAC(Media Access Control,媒体访问控制)地址作为设备标识,但是,为了保护用户的隐私,该MAC地址常常无法以全局共享的方式获取到。

为了解决此问题,终端设备以应用程序所对应的公司标识(IDFV,Identifier For Vendor)、广告标识(IDFA,Identifier For Advertisement)、开源唯一设备识别符(OpenUDID,Open Unique Device Identifier)、开源广告标识(OpenIDFA,Open Identifier For Advertisement)中的一种或者几种标识特征联合作为设备标识。

然而,由于终端设备中的所有应用程序对应的上述标识特征并非完全一致,这就使得由其联合形成的设备标识的唯一性无法满足,进而导致根据该设备标识所进行的用户信息的收集不够准确。



技术实现要素:

基于此,本公开的一个目的在于提供一种设备标识的获取方法,用于解决现有技术所存在的终端设备中的所有应用程序无法获取到唯一的设备标识的问题。

此外,本公开的另一个目的在于提供一种适用于设备标识的获取方法的服务器和终端设备,用于解决现有技术所存在的终端设备中的所有应用程序无法获取到唯一的设备标识的问题。

为了解决上述技术问题,本公开所采用的技术方案为:

一种设备标识的获取方法,应用于服务器,包括:接收终端设备上报应用程序的标识特征,所述标识特征是所述终端设备在所述应用程序启动运行时收集到的,并且所述标识特征包括所述应用程序对应的公司标识、广告标识和根据设备指纹信息生成的临时设备标识中的至少一种或者几种;根据服务器为应用程序存储的标识符与设备标识之间的关联关系,判断所述关联关系中是否已存在与所述标识特征匹配的标识符;若为是,则由所述关联关系中根据与所述标识特征匹配的标识符得到关联的设备标识;否则,根据预设算法对所述标识特征进行计算生成设备标识;下发所述设备标识至所述终端设备。

一种设备标识的获取方法,应用于终端设备,包括:在应用程序启动运行时,收集所述应用程序的标识特征,所述标识特征包括所述应用程序对应的公司标识、广告标识和根据设备指纹信息生成的临时设备标识中的至少一种或者几种;向服务器上报所述标识特征,以通过所述服务器根据其为应用程序存储的标识符与设备标识之间的关联关系,判断所述关联关系中是否已存在与所述标识特征匹配的标识符得到设备标识;接收所述服务器为所述应用程序返回的所述设备标识。

一种服务器,包括:标识特征接收模块,用于接收终端设备上报的应用程序的标识特征,所述标识特征是所述终端设备在实施应用程序启动运行时收集到的,并且所述标识特征包括所述应用程序对应的公司标识、广告标识和根据设备指纹信息生成的临时设备标识中的至少一种或者几种;标识特征匹配模块,用于根据服务器为应用程序存储的标识符与设备标识之间的关联关系,判断所述关联关系中是否已存在与所述标识特征匹配的标识符;若为是,则通知设备标识关联模块;否则,通知设备标识生成模块;所述设备标识关联模块,用于由所述关联关系中根据与所述标识特征匹配的标识符得到关联的设备标识;所述设备标识生成模块,用于根据预设算法对所述标识特征进行计算生成设备标识;设备标识下发模块,用于下发所述设备标识至所述终端设备。

一种终端设备,包括:标识特征收集模块,用于在应用程序启动运行时,收集所述应用程序的标识特征,所述标识特征包括所述应用程序对应的公司标识、广告标识和根据设备指纹信息生成的临时设备标识中的至少一种或者几种;标识特征上报模块,用于向服务器上报所述标识特征,以通过所述服务器根据其为应用程序存储的标识符与设备标识之间的关联关系,判断所述关联关系中是否已存在与所述标识特征匹配的标识符得到设备标识;设备标识接收模块,用于接收所述服务器为所述应用程序返回的所述设备标识。

与现有技术相比,本公开具有以下有益效果:

通过服务器根据其为应用程序存储的标识符与设备标识之间的关联关系,判断该关联关系中是否已存在与标识特征匹配的标识符以获取设备标识,并向终端设备下发获取到的设备标识,其中,标识特征是终端设备在应用程序启动运行时收集到的,其包括应用程序对应的公司标识、广告标识和根据设备指纹信息生成的临时设备标识中的至少一种或者几种。

也就是说,通过标识特征与关联关系中标识符的匹配,使得终端设备中的所有应用程序能够通过其所对应的公司标识、广告标识和临时设备标识中的至少一种或者几种标识特征进行相互关联,进而使得相互关联的应用程序通过与标识特征匹配的标识符由关联关系中关联得到设备标识,以此实现终端设备中所有应用程序获取到唯一的设备标识。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。

图1是本公开所涉及的实施环境的示意图;

图2是根据一示例性实施例示出的一种终端设备的框图;

图3是根据一示例性实施例示出的一种服务器的框图;

图4是根据一示例性实施例示出的一种设备标识的获取方法的流程图;

图4a是图4对应实施例所涉及的通过标识特征关联不同应用程序的示意图;

图4b是图4对应实施例所涉及的关联关系的示意图;

图5是根据一示例性实施例示出的另一种设备标识的获取方法的流程图;

图6是图4对应实施例中根据预设算法对所述标识特征进行计算生成设备标识步骤在一个实施例的流程图;

图7是根据一示例性实施例示出的另一种设备标识的获取方法的流程图;

图8是根据一示例性实施例示出的一种设备标识的获取装置的框图;

图9是根据一示例性实施例示出的另一种设备标识的获取装置的框图;

图10是图8对应实施例中设备标识生成模块在一个实施例的框图;

图11是根据一示例性实施例示出的另一种设备标识的获取装置的框图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

如前所述,基于保护用户隐私的前提下,终端设备将以应用程序所对应的公司标识、广告标识、OpenUDID、OpenIDFA中的一种或者几种标识特征联合作为设备标识。

具体而言,公司标识是公司为其所开发的应用程序设置的标识符。在同一终端设备上,相同公司的所有应用程序对应的公司标识均相同,不同公司的应用程序所对应的公司标识各不相同。此外,在某个公司的所有应用程序被卸载之后,重新安装该某个公司的应用程序将会产生新的公司标识。

OpenUDID是通过第一个使用了OpenUDID软件开发工具包(SDK,Software Development Kit)的应用程序生成的。在同一终端设备上,相同公司的应用程序所对应的OpenUDID相同,不同公司的应用程序所对应的OpenUDID各不相同。此外,与公司标识类似,如果将使用了OpenUDID软件开发工具包的所有应用程序删除(例如全部卸载或者系统重置等等),则对使用了OpenUDID软件开发工具包的应用程序进行重新安装时,将会产生新的OpenUDID。

广告标识是为具有广告服务的应用程序设置的标识符。在同一终端设备上,所有具有广告服务的应用程序对应的广告标识均相同,然而并非所有应用程序都具有广告服务,即不具有广告服务的应用程序没有该广告标识。若强制应用程序具有广告服务,有可能影响设备标识的获取。

OpenIDFA是针对广告标识的缺点而专门设置的,然而其有效期只有一天。也就是说,在同一终端设备上,若应用程序不在同一天启动运行,则其对应的OpenIDFA将有所不同。

由上可知,由于终端设备中的所有应用程序对应的上述标识特征并非完全一致,这就使得由其联合形成的设备标识的唯一性无法满足,进而导致根据该设备标识所进行的用户信息的收集不够准确。

因此,为了使终端设备中的所有应用程序能够获取到唯一的设备标识,特提出了一种设备标识的获取方法。

图1为该种设备标识的获取方法所涉及的实施环境。该实施环境包括终端设备100和服务器200。

其中,终端设备100可以是智能手机、平板电脑、掌上电脑、笔记本电脑或者其它可供应用程序启动运行的电子设备。

通过终端设备100与服务器200之间的交互,终端设备100将收集到的应用程序的标识特征上报至服务器200,以通过服务器200根据其为应用程序存储的标识符与设备标识之间的关联关系,判断该关联关系中是否已存在与标识特征匹配的标识符以获取设备标识,并向终端设备100下发获取到的设备标识,进而使得终端设备100能够根据该设备标识进行用户信息的收集。

请参阅图2,图2是根据一示例性实施例示出的一种终端设备的框图。需要说明的是,该终端设备100只是一个适配于本公开的示例,不能认为是提供了对本公开的使用范围的任何限制。该终端设备100也不能解释为需要依赖于或者必须具有图2中示出的示例性的终端设备100中的一个或者多个部件。

如图2所示,终端设备100包括存储器101、存储控制器103、一个或多个(图中仅示出一个)处理器105、外设接口107、射频模块109、定位模块111、摄像模块113、音频模块115、触控屏幕117以及按键模块119。这些组件通过一条或多条通讯总线/信号线121相互通讯。

可以理解,图2所示的结构仅为示意,终端设备100还可包括比图2中所示更多或更少的组件,或者具有与图2所示不同的组件。图2中所示的各组件可以采用硬件、软件或者其组合来实现。

其中,存储器101可用于存储软件程序以及模块,如本公开示例性实施例中的设备标识的获取方法对应的程序指令及模块,处理器105通过运行存储在存储器101内的程序指令,从而执行各种功能以及数据处理,即实现上述设备标识的获取方法。

存储器101作为资源存储的载体,可以是随机存储介质、例如高速随机存储器、非易失性存储器,如一个或多个磁性存储装置、闪存、或者其它固态存储器。存储方式可以是短暂存储或者永久存储。

外设接口107可以包括至少一有线或无线网络接口、至少一串并联转换接口、至少一输入输出接口以及至少一USB接口等等,用于将外部各种输入/输出装置耦合至存储器101以及处理器105,以实现与外部各种输入/输出装置的通信。

射频模块109用于收发电磁波,实现电磁波与电信号的相互转换,从而通过通讯网络与其他设备进行通讯。通信网络包括蜂窝式电话网、无线局域网或者城域网,上述通信网络可以使用各种通信标准、协议及技术。

定位模块111用于获取终端设备100的当前所在的地理位置。定位模块111的实例包括但不限于全球卫星定位系统(GPS)、基于无线局域网或者移动通信网的定位技术。

摄像模块113隶属于摄像头,用于拍摄图片或者视频。拍摄的图片或者视频可以存储至存储器101内,还可以通过射频模块109发送至服务器。

音频模块115向用户提供音频接口,其可包括一个或多个麦克风接口、一个或多个扬声器接口以及一个或多个耳机接口。通过音频接口与其它设备进行音频数据的交互。音频数据可以存储至存储器101内,还可以通过射频模块109发送。

触控屏幕117在终端设备100与用户之间提供一个输入输出界面。具体地,用户可通过触控屏幕117进行输入操作,例如点击、触摸、滑动等手势操作,以使电子设备对该输入操作进行响应。终端设备100则将文字、图片或者视频任意一种形式或者组合所形成的输出内容通过触控屏幕117向用户显示输出。

按键模块119包括至少一个按键,用以提供用户向终端设备100进行输入的接口,用户可以通过按下不同的按键使终端设备100执行不同的功能。例如,声音调节按键可供用户实现对终端设备100播放的声音音量的调节。

图3是根据一示例性实施例示出的一种服务器的框图。该硬件结构只是一个适用本公开的示例,不能认为是对本公开的使用范围的任何限制,也不能解释为本公开需要依赖于该服务器200。

该服务器200可因配置或者性能的不同而产生较大的差异,如图3所示,服务器200包括:电源210、接口230、至少一存储介质250、以及至少一中央处理器(CPU,Central Processing Units)270。

其中,电源210用于为服务器200上的各硬件设备提供工作电压。

接口230包括至少一有线或无线网络接口231、至少一串并转换接口233、至少一输入输出接口235以及至少一USB接口237等,用于与外部设备通信。

存储介质250作为资源存储的载体,可以是随机存储介质、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253及数据255等,存储方式可以是短暂存储或者永久存储。其中,操作系统251用于管理与控制服务器200上的各硬件设备以及应用程序253,以实现中央处理器270对海量数据255的计算与处理,其可以是Windows ServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTM等。应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图3中未示出),每个模块都可以分别包含有对服务器200的一系列操作指令。数据255可以是存储于磁盘中的文档、图片等等。

中央处理器270可以包括一个或多个以上的处理器,并设置为通过总线与存储介质250通信,用于运算与处理存储介质250中的海量数据255。

如上面所详细描述的,适用本公开的服务器200将用于实现终端设备100中设备标识的获取,即通过中央处理器270读取存储介质250中存储的一系列操作指令的形式来进行设备标识的获取。

此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本公开,因此,实现本公开并不限于任何特定硬件电路、软件以及两者的组合。

请参阅图4,在一示例性实施例中,一种设备标识的获取方法适用于图1所示实施环境的服务器200,该种设备标识的获取方法可以由服务器200执行,可以包括以下步骤:

步骤310,接收终端设备上报的应用程序的标识特征。

本实施例中,标识特征包括应用程序对应的公司标识、广告标识和临时设备标识中的至少一种或者几种。

举例来说,具有广告服务的应用程序,终端设备为该应用程序上报的标识特征可以包括该应用程序对应的公司标识、广告标识和临时设备标识。

或者,没有广告服务的应用程序,终端设备为该应用程序上报的标识特征则可以包括该应用程序对应的公司标识和临时设备标识。

应当理解,终端设备为应用程序上报的标识特征所包含内容越多,越有利于该应用程序进行设备标识的获取,然而,根据不同的应用场景,例如为了降低服务器与终端设备之间的数据交互的应用场景,终端设备也可以选择性地上报,例如仅上报临时设备标识。

如前所述,公司标识是公司为其所开发的应用程序设置的标识符。在同一终端设备上,相同公司的所有应用程序对应的公司标识均相同,因此,公司标识可用于关联同一公司的应用程序。

例如,如图4a中“idfv关联”所示,终端设备中T公司的100个应用程序通过相同的公司标识(idfv)关联在一起。

广告标识是为具有广告服务的应用程序设置的标识符。在同一终端设备上,所有具有广告服务的应用程序对应的广告标识均相同,因此,广告标识可用于关联具有广告服务的应用程序。

例如,如图4a中“idfa关联”所示,终端设备中T公司的100个应用程序中有一个具有广告服务,A公司的50个应用程序中有1个具有广告服务,则T公司的该具有广告服务的应用程序与A公司的该具有广告服务的应用程序通过相同的广告标识(idfa)关联在一起。

临时设备标识是根据设备指纹信息生成的,该设备指纹信息是指终端设备中不经常变更的信息,但可用于区分不同的终端设备,其包括但不限于设备硬件信息和设备环境信息。在同一终端设备上,只要设备指纹信息不变更,所有应用程序对应的临时设备标识均相同,因此,临时设备标识可用于关联终端设备中的所有应用程序,尤其是用于关联没有广告服务的应用程序。

例如,如图4a中“TempID关联”所示,A公司的50个应用程序中有1个具有广告服务,49个没有广告服务,但50个应用程序均对应有临时设备标识(TempID),而B公司的20个应用程序中均无广告服务,但均对应有临时设备标识,则A公司的50个应用程序和B公司的20个应用程序通过相同的临时设备标识(TempID)关联在一起。

详细地说,临时设备标识的生成步骤包括:采集设备指纹信息,该设备指纹信息包括但不限于设备硬件信息、设备启动时间、营商信息、系统语言、是否越狱、是否开启邮箱、剩余磁盘空间等等;按照预设字段规则拼接设备指纹信息;根据加密算法(例如SHA1算法)对完成拼接的设备指纹信息进行计算,即可得到临时设备标识。临时设备标识的生成可以是在终端设备开机时进行的,也可以是在应用程序启动运行时进行的。

在生成临时设备标识之后,终端设备将该临时设备标识存储至本地存储空间中,以供后续使用时直接获取,有利于提高终端设备的处理效率。

由上可知,通过上述标识特征,即可实现终端设备中所有应用程序的相互关联,如图4a所示,有利于后续相互关联的不同应用程序获取到唯一的设备标识。

进一步地,上述标识特征是终端设备在应用程序启动运行时收集到的。

具体地,在应用程序启动运行时,终端设备通过调用预设系统接口进行该应用程序对应的公司标识的获取。

终端设备还会对该应用程序进行IDFA插件检测,若检测到IDFA插件,则表示该应用程序具有广告服务,相应地,即可获取到该应用程序对应的广告标识。需要说明的是,具有广告服务的应用程序均会进行IDFA插件的添加,以此实现在第三方应用平台上的发布。

临时设备标识则是终端设备由本地存储空间中获取得到的。

当然,在不同的应用场景中,例如,对标识特征的实时性要求较高的应用场景,临时设备标识还可以在应用程序每次启动运行时均重新生成,以此有效地保证了临时设备标识的实时性。

更进一步地,标识特征还可以包括OpenUDID、OpenIDFA、历史设备标识中的一种或者几种。其中,历史设备标识是终端设备在接收到服务器返回的设备标识之后,通过将设备标识进行本地存储形成的。

待终端设备收集完毕标识特征,即可向服务器上报收集到的标识特征。

步骤330,根据服务器为应用程序存储的标识符与设备标识之间的关联关系,判断关联关系中是否已存在与标识特征匹配的标识符。

其中,关联关系中至少包括标识符和设备标识,通过服务器中为应用程序存储的标识符与设备标识之间的关联关系,即使得服务器能够知悉应用程序对应的标识符所关联的设备标识。

具体地,标识符对应于标识特征,也包括应用程序对应的广告标识、公司标识和临时设备标识中的一种或者几种。当然,在其他实施例中,标识符还可以进一步地包括OpenUDID、OpenIDFA、历史设备标识中的一种或者几种。

进一步地,关联关系可以通过查找表的形式表示,还可以通过数组的形式表示。

以关联关系通过查找表的形式表示为例,如图4b所示,服务器中为应用程序存储的关联关系不止一个,不同应用程序所对应的关联关系可能不尽相同。其中,ID表示应用程序的应用标识,IDFA、IDFV、TempID分别表示标识符中的广告标识、公司标识、临时设备标识,MID表示设备标识。“/”则表示终端设备未上报广告标识,即对应应用程序没有广告服务。

可以理解,为了能够为应用程序下发设备标识,服务器至少需要通过关联关系了解该应用程序的标识特征是否与关联关系中的标识符匹配。

若是匹配,即进入步骤350,可直接根据与标识特征匹配的标识符由关联关系中得到关联的设备标识。

反之,若匹配不到,则进入步骤370。

具体地,由于标识特征或者标识符均包括应用程序对应的广告标识、公司标识和临时设备标识中的一种或者几种,相应地,所述匹配包括广告标识的匹配、公司标识的匹配和临时设备标识的匹配。

其中,广告标识的匹配是指标识符中的广告标识与标识特征中的广告标识一致,公司标识的匹配是指标识符中的公司标识与标识特征中的公司标识一致,临时设备标识的匹配是指标识符中的临时设备标识与标识特征中的临时设备标识一致。

通过标识特征与关联关系中标识符的匹配,有利于后续使得终端设备中的所有应用程序能够通过其所对应的公司标识、广告标识和临时设备标识中的至少一种或者几种标识特征进行相互关联,即相互关联的应用程序属于同一终端设备。

步骤350,由关联关系中根据与标识特征匹配的标识符得到关联的设备标识。

举例来说,如图4b所示,终端设备为应用标识为ID2的应用程序上报的标识特征包括广告标识A1、公司标识V2和临时设备标识Oid_1。服务器根据关联关系中的各标识符对该标识特征进行匹配,得到该标识特征中的广告标识A1与应用标识为ID1的应用程序所对应的广告标识A1一致,满足了广告标识的匹配。

当标识特征与关联关系中标识符匹配,则表示应用标识为ID2的应用程序与应用标识为ID1的应用程序相互关联,二者属于同一终端设备,即应用标识为ID2的应用程序与应用标识为ID1的应用程序具有相同的设备标识。由此,根据应用标识为ID1的应用程序所对应的广告标识A1关联得到设备标识MID_1,并以该设备标识MID_1作为应用标识为ID2的应用程序的设备标识。

步骤370,根据预设算法对标识特征进行计算生成设备标识。

当标识特征未匹配到关联关系中的标识符,即表示标识特征对应的应用程序未能够关联到关联关系中标识符所对应的应用程序,亦即无法由与标识特征匹配的标识符关联得到设备标识。

此时,服务器判定标识特征对应的应用程序属于新的终端设备,将为该标识特征对应的应用程序生成一个新的设备标识。

较优地,所述生成是根据预设算法对标识特征进行计算实现的。

例如,以加密算法作为预设算法,分别对标识特征中的广告标识、公司标识、临时设备标识进行加密计算,得到相应的加密结果,然后将所有的加密结果拼接形成设备标识。其中,拼接方式可以是相互累加,还可以是通过下划线进行拼接。

步骤390,下发设备标识至终端设备。

在得到生成的设备标识或者关联的设备标识之后,服务器即将该设备标识下发至终端设备,使得终端设备接收到该设备标识。

进一步地,终端设备在接收到服务器为应用程序返回的设备标识之后,即可根据应用程序的应用标识将该设备标识存储于本地存储空间中,形成对应于该应用程序的历史设备标识,以利于后续对该应用程序获取到的设备标识进行修正。

例如,当终端设备再次接收到服务器为该应用程序下发的设备标识时,将对该下发的设备标识与该应用程序对应的历史设备标识进行比较,若不一致,则以该下发的设备标识更新历史设备标识,以此保证终端设备中所有应用程序获取到的设备标识的唯一性,同时还保证了终端侧与服务端侧的设备标识的一致性。

通过如上所述的过程,实现了终端设备中所有应用程序获取到唯一的设备标识,进而使得终端设备能够根据该设备标识进行更加准确的用户信息收集。

举例来说,在一具体应用场景中,推送服务器需要为用户进行广告服务的推送,在此之前,推送服务器需要了解该用户的相关信息,例如,相关信息包括但不限于所在区域、年龄、性别、职业、兴趣爱好等等。

基于此,该用户所在的终端设备将进行用户信息的收集。应当理解,用户信息收集的越多,越有利于推送服务器进行广告服务的精准推送。具体地,终端设备通过多个应用程序的应用标识分别进行用户信息的收集,再根据设备标识将收集到的用户信息上报至推送服务器。

由于该多个应用程序所获取到的设备标识是唯一的,使得推送服务器接收到通过设备标识上报的用户信息之后,知悉该用户信息均是由同一终端设备上报的,即属于同一用户,进而通过对用户信息的统计分析准确地了解到用户的相关信息,以此实现精准地广告服务的推送。

请参阅图5,在一示例性实施例中,如上所述的方法还可以包括以下步骤:

步骤410,根据应用程序的应用标识判断服务器中是否存在应用程序对应的关联关系。

由于服务器中接收到终端设备为应用程序上报的标识特征,还获取到了设备标识,这可能使得服务器中的关联关系发生变化,例如,关联关系中的标识符因上报的标识特征变化,或者,关联关系中的设备标识因获取到的设备标识变化。

因此,服务器需要判断是否需要为该应用程序存储新的关联关系,以利于后续其他应用程序能够通过该新的关联关系中的标识符与该应用程序进行相互关联。

应当理解,若服务器中已经存在应用程序所对应的关联关系,则没有必要再为该应用程序重新存储新的关联关系,以此有利于提高服务器中存储空间的利用率。

基于此,本实施例中,所述判断将通过应用程序的应用标识来实现,即根据应用程序的应用标识判断服务器中是否存在应用程序对应的关联关系。

若判断到服务器中已存在应用程序对应的关联关系,则进入步骤430。

反之,若判断到服务器中不存在应用程序对应的关联关系,则进入步骤450。

步骤430,根据标识特征和设备标识对应用程序对应的关联关系进行修复处理。

其中,修复处理包括更新处理、删除处理。

以更新处理为例,终端设备为应用标识为ID6的应用程序上报的标识特征包括广告标识A5、公司标识V5和临时设备标识Oid_3。服务器根据关联关系中的各标识符对该标识特征进行匹配,得到该标识特征中的临时设备标识Oid_3与应用标识为ID5的应用程序所对应的临时设备标识Oid_3一致,满足了临时设备标识的匹配。

当标识特征与关联关系中标识符匹配,即根据应用标识为ID5的应用程序所对应的临时设备标识Oid_3关联得到设备标识MID_3,并以该设备标识MID_3作为应用标识为ID6的应用程序的设备标识。

此时,由于服务器中已存在应用标识为ID6的应用程序所对应的关联关系(参阅图4b中的“修复前”),则根据获取到的设备标识MID_3和上报的临时设备标识Oid_3对该应用程序对应的关联关系进行更新处理,即以设备标识MID_3更新该关联关系中的设备标识MID_4,以临时设备标识Oid_3更新该关联关系中的临时设备标识Oid_6,更新处理后的该应用程序对应的关联关系请参阅图4b中的“修复后”。

也就是说,该应用程序与应用标识为ID5的应用程序本来是属于同一终端设备的,但是由于之前终端设备为该应用程序上报的标识特征(A5\\V5\\Oid_6)未能与任一关联关系中的标识符匹配,而导致服务器误认为该应用程序属于新的终端设备,而为该应用程序生成了新的设备标识MID_4。

而在该应用程序再次启动运行时,由于临时设备标识的重新计算,使得终端设备再次为该应用程序上报的标识特征(A5\\V5\\Oid_3)中,通过临时设备标识Oid_3实现标识特征与关联关系中标识符的匹配,使得该应用程序能够与应用标识为ID5的应用程序相互关联,以此实现与应用标识ID5的应用程序获取到相同的设备标识MID_3。

由上可知,通过更新处理完成了服务器对该应用程序对应的关联关系的修复,以此保证了同一终端设备中的所有应用程序能够获取到唯一的设备标识。

值得一提的是,修复处理不仅可以通过临时设备标识完成,还可以通过广告标识或者公司标识实现。例如,某应用程序通过版本升级,由不具有广告服务升级为具有广告服务,相应地,终端设备为该应用程序上报的标识特征中将新增广告标识,使得该应用程序能够通过新增的广告标识实现与其他应用程序的相互关联,进而实现服务器对该应用程序对应的关联关系的修复。

进一步地,若更新处理后的关联关系中的标识符和设备标识与服务器中其他关联关系中的标识符和设备标识完全一致,即使该些关联关系所对应的应用程序不同,服务器也将对重复的关联关系进行删除处理,例如,根据存储时的时间戳信息进行删除处理,以此降低服务器中存储空间的占用率,同时进一步地提高了服务器中存储空间的利用率。

进一步地,如图5所示,在一示例性实施例中,如上所述的方法还可以包括以下步骤:

步骤450,在判断到服务器中不存在应用程序对应的关联关系时,进一步判断标识特征与其匹配的标识符是否完全一致。

如前所述,服务器将对重复的关联关系进行删除处理,该重复的关联关系指的是至少两个关联关系中的标识符和设备标识完全一致。

基于此,服务器在为应用程序存储新的关联关系之前,还将进一步地判断标识特征与其匹配的标识符是否完全一致,以此避免出现重复的关联关系,反而降低了服务器的处理效率。

若判断到标识特征与其匹配的标识符不完全一致,即至少有一个不一致,例如,广告标识不一致、和/或公司标识不一致、和/或临时设备标识不一致,则进入步骤470,为该应用程序存储新的关联关系,以此形成该应用程序对应的关联关系。

反之,若判断到标识特征与其匹配的标识符完全一致,则服务器不为该应用程序存储新的关联关系。

步骤470,根据应用程序的应用标识建立标识特征与设备标识之间的关联关系,并存储关联关系。

在判断到标识特征与其匹配的标识符不完全一致,则需要为应用程序存储新的关联关系,以利于后续其他应用程序能够通过该新的关联关系与该应用程序相互关联,而获取到相同的设备标识。

具体地,以终端设备为该应用程序上报的标识特征作为该应用程序对应的标识符,并根据该标识符以及此前获取到的设备标识,建立该标识符与设备标识之间的关联关系,并将其存储于服务器中,由此形成了服务器为该应用程序存储的新的关联关系。

通过如上所述的过程,保证了终端设备中的所有应用程序能够通过其所对应的公司标识、广告标识和临时设备标识中的至少一种或者几种标识特征进行相互关联,从而有利于提高服务器中设备标识的关联效率。

举例来说,如图4b所示,终端设备为应用标识为ID7的应用程序上报的标识特征包括广告标识A6、公司标识V6和临时设备标识Oid_4。由于该标识特征未能够与服务器中任一关联关系中的标识符匹配,因此,服务器为该应用程序计算生成设备标识Oid_5,相应地,服务器还为该应用程序建立标识符与设备标识之间的关联关系,以通过存储该关联关系形成该应用程序对应的关联关系。

假设后续有一应用标识为ID9的应用程序,终端设备为该应用程序上报的标识特征至少包括公司标识V6,则服务器即可根据关联关系中的各标识符对该标识特征进行匹配,得到该标识特征中的公司标识V6与应用标识为ID7的应用程序所对应的公司标识V6一致,满足了公司标识的匹配,进而根据应用标识为ID7的应用程序所对应的公司标识V6关联得到设备标识MID_5,并以该设备标识MID_5作为应用标识为ID9的应用程序的设备标识。

请参阅图6,在一示例性实施例中,步骤470可以包括以下步骤:

步骤471,确定标识特征上报时对应的时间戳信息。

步骤473,以随机数、时间戳信息和标识特征作为预设算法的输入参数,计算得到设备标识。

本实施例中,预设算法为加密算法,随机生成的随机数、反映标识特征上报时间的时间戳信息以及标识特征作为该加密算法的输入参数,计算输出设备标识。

其中,标识特征包括但不限于应用程序对应的广告标识、公司标识、临时设备标识、历史设备标识等等。

在一示例性实施例中,标识特征还包括存储于终端设备的对应于应用程序的历史设备标识。

在得到生成的设备标识或者关联的设备标识之后,服务器即可将该设备标识下发至终端设备。应当理解,若终端设备中为应用程序存储的历史设备标识与该设备标识一致,则服务器没有必要重复为该应用程序下发,从而能够减少与终端设备之间的交互,有利于提高服务器的处理效率。

基于此,步骤390之前,如上所述的方法还可以包括以下步骤:

比较设备标识与历史设备标识是否一致。

若二者不一致,则进入步骤390,向终端设备下发设备标识。反之,若二者一致,则服务器不下发设备标识至终端设备。

进一步地,服务器通过返回消息的形式与终端设备进行交互。

具体地,若设备标识与历史设备标识不一致,则返回消息中携带设备标识,并将返回消息下发至终端设备。若设备标识与历史设备标识一致,则返回消息中携带比较结果,并将返回消息下发至终端设备。通过返回消息的设置,使得终端设备能够及时地得到服务器的响应,避免终端设备不必要的等待,从而有利于提高终端设备的处理效率。

请参阅图7,在一示例性实施例中,一种设备标识的获取方法适用于图1所示实施环境的终端设备100,该种设备标识的获取方法可以由终端设备100执行,可以包括以下步骤:

步骤510,在应用程序启动运行时,收集应用程序的标识特征。

标识特征包括应用程序对应的公司标识、广告标识和根据设备指纹信息生成的临时设备标识中的至少一种或者几种。

步骤530,向服务器上报标识特征,以通过服务器根据其为应用程序存储的标识符与设备标识之间的关联关系,判断关联关系中是否已存在与标识特征匹配的标识符得到设备标识。

步骤550,接收服务器为应用程序返回的设备标识。

在一示例性实施例中,标识特征还包括存储于终端设备的对应于应用程序的历史设备标识。相应地,如上所述的方法还可以包括以下步骤:

当历史设备标识与返回的设备标识不一致时,以返回的设备标识更新历史设备标识。

下述为本公开装置实施例,可以用于执行本公开所涉及的设备标识的获取方法。对于本公开装置实施例中未披露的细节,请参照本公开所涉及的设备标识的获取方法的方法实施例。

请参阅图8,在一示例性实施例中,一种服务器700包括但不限于:标识特征接收模块710、标识特征匹配模块730、设备标识关联模块750、设备标识生成模块770和设备标识下发模块790。

其中,标识特征接收模块710用于接收终端设备上报的应用程序的标识特征。

标识特征是终端设备在应用程序启动运行时收集到的,并且标识特征包括应用程序对应的公司标识、广告标识和根据设备指纹信息生成的临时设备标识中的至少一种或者几种。

标识特征匹配模块730用于根据服务器为应用程序存储的标识符与设备标识之间的关联关系,判断关联关系中是否已存在与标识特征匹配的标识符。

若为是,则通知设备标识关联模块750。否则,通知设备标识生成模块770。

设备标识关联模块750用于由关联关系中根据与标识特征匹配的标识符得到关联的设备标识。

设备标识生成模块770用于根据预设算法对标识特征进行计算生成设备标识。

设备标识下发模块790用于下发设备标识至终端设备。

请参阅图9,在一示例性实施例中,如上所述的服务器700还包括但不限于:第一判断模块810和关联关系处理模块830。

其中,第一判断模块810用于根据应用程序的应用标识判断服务器中是否存在应用程序对应的关联关系。

若为是,则通知关联关系处理模块830。

关联关系处理模块830用于根据标识特征和设备标识对应用程序对应的关联关系进行修复处理。

进一步地,如图9所示,在一示例性实施例中,如上所述的服务器700还包括但不限于:第二判断模块850和关联关系存储模块870。

其中,第二判断模块850用于在判断到服务器中不存在应用程序对应的关联关系时,进一步判断标识特征与其匹配的标识符是否完全一致。

若为否,则通知关联关系存储模块870。

关联关系存储模块870用于根据应用程序的应用标识建立标识特征与设备标识之间的关联关系,并存储关联关系。

请参阅图10,在一示例性实施例中,设备标识生成模块770包括但不限于:确定单元771和计算单元773。

其中,确定单元771用于确定标识特征上报时对应的时间戳信息。

计算单元773用于以随机数、时间戳信息和标识特征作为预设算法的输入参数,计算得到设备标识。

在一示例性实施例中,标识特征还包括存储于终端设备的对应于应用程序的历史设备标识。相应地,如上所述的服务器700还包括但不限于:比较模块。

其中,比较模块用于比较设备标识与历史设备标识是否一致。若为否,则通知设备标识下发模块。

请参阅图11,在一示例性实施例中,一种终端设备900包括但不限于:标识特征收集模块910、标识特征上报模块930和设备标识接收模块950。

其中,标识特征收集模块910用于在应用程序启动运行时,收集应用程序的标识特征。

标识特征包括应用程序对应的公司标识、广告标识和根据设备指纹信息生成的临时设备标识中的至少一种或者几种。

标识特征上报模块930用于向服务器上报标识特征,以通过服务器根据其为应用程序存储的标识符与设备标识之间的关联关系,判断关联关系中是否已存在与标识特征匹配的标识符得到设备标识。

设备标识接收模块950用于接收服务器为应用程序返回的设备标识。

在一示例性实施例中,标识特征还包括存储于终端设备的对应于应用程序的历史设备标识。相应地,如上所述的终端设备900还包括但不限于:设备标识更新模块。

其中,设备标识更新模块用于当历史设备标识与返回的设备标识不一致时,以返回的设备标识更新历史设备标识。

需要说明的是,上述实施例所提供的设备标识的获取装置在进行设备标识的获取时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即设备标识的获取装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。

另外,上述实施例所提供的设备标识的获取装置与设备标识的获取方法的方法实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。

上述内容,仅为本公开的较佳示例性实施例,并非用于限制本公开的实施方案,本领域普通技术人员根据本公开的主要构思和精神,可以十分方便地进行相应的变通或修改,故本公开的保护范围应以权利要求书所要求的保护范围为准。

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