一种终端设备动态标识的生成方法及设备与流程

    专利查询2024-03-29  97



    1.本发明实施例涉及移动开发技术领域,尤其涉及一种终端设备动态标识的生成方法及设备。


    背景技术:

    2.当前智能终端的应用通常会在所安装的终端设备上生成一个终端设备的唯一标识,此标识可以用来统计真实用户的应用安装量。
    3.目前,一种方式是直接使用智能终端提供的唯一标识,如android手机中的国际移动设备识别码(international mobile equipment identity,imei)、mac地址和设备序列号等,或使用这些标识结合其他硬件信息组合成一个新的唯一标识。现有技术在生成移动终端设备的唯一标识时都需要使用imei、mac地址和设备序列号这些系统敏感信息作为因子,随着隐私政策越来越严苛,终端厂商不允许获取这些信息后,这类生成唯一标识的方法都将失效。
    4.还有一种方式是,自行生成终端设备唯一标识,如随机生成一个通用唯一识别码(universally unique identifier,uuid)或uuid与其他硬件信息的组合。出于提升厂商整体产品质量的考虑,通常同一厂商的多款应用间需要共享uuid来将多款应用的数据关联到一个设备上;例如将一款应用为某终端设备生成的uuid存储在该设备的外置存储空间中,当该厂商另一款应用被安装时,会从外置存储空间的指定位置中读取该标识,而不是重新为该终端生成一个新的标识。但随着权限最小化要求的提出,应用在上架应用商店时要求只能申请与其功能相关的最小权限集合。故当应用本身的核心功能不需要访问智能终端的外置存储空间时,是不允许随意访问外置存储空间的,这便导致传统的自行生成设备唯一标识的方法在同一厂商的多款产品间无法实现同步。


    技术实现要素:

    5.针对现有技术存在的问题,本发明实施例提供一种终端设备动态标识的生成方法及设备,可以在不收集终端设备敏感信息的前提下,解决设备唯一标识和在产品间共享标识的问题。
    6.第一方面,本发明实施例提供一种终端设备动态标识的生成方法,包括:
    7.分别获取目标终端设备上n个应用程序的最近修改时间,其中n为正整数;
    8.基于所述n个应用程序的标识及所述n个应用程序的最近修改时间,生成所述目标终端设备的动态标识。
    9.进一步,所述分别获取目标终端设备上n个应用程序的最近修改时间,具体包括:
    10.基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序;其中,所述若干终端设备包括所述目标终端设备;所述离散贡献度是指应用程序在不同终端设备上的最近修改时间的离散程度;
    11.分别获取所述n个应用程序在所述目标终端设备上的最近修改时间。
    12.进一步,所述基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序,具体包括:
    13.基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取一对一离散贡献度从高至低的前n个应用程序;
    14.其中所述一对一离散贡献度是指第一离散数据占全部最近修改时间数量的比例,所述第一离散数据是指应用程序的一个最近修改时间对应一个终端设备的数量。
    15.进一步,所述基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序,具体包括:
    16.基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取一对n离散贡献度从高至低的前n个应用程序;
    17.其中所述一对n离散贡献度是指第二离散数据占全部最近修改时间数量的比例,所述第二离散数据是指应用程序的一个最近修改时间对应n个及以内终端设备的数量,n为大于1的正整数。
    18.进一步,所述基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取一对一占比离散贡献度从高至低的前n个应用程序,进一步包括:
    19.基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取第一贡献值从高至低的前n个应用程序;
    20.所述第一贡献值是指对应用程序的一对一离散贡献度及最近修改时间异常数据占比进行加权求和所得的值。
    21.进一步,所述基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取一对n离散贡献度从高至低的前n个应用程序,进一步包括:
    22.基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取第二贡献值从高至低的前n个应用程序;
    23.所述第二贡献值是指对应用程序的一对n离散贡献度及最近修改时间异常数据占比进行加权求和所得的值。
    24.进一步,所述基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序,具体包括:
    25.基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取第三贡献值从高至低的前n个应用程序;
    26.所述第三贡献值是指对应用程序的一对一离散贡献度及一对n离散贡献度进行加权求和所得的值。
    27.其中所述一对一离散贡献度是指第一离散数据占全部最近修改时间数量的比例,所述第一离散数据是指应用程序的一个最近修改时间对应一个终端设备的数量;所述一对n离散贡献度是指第二离散数据占全部最近修改时间数量的比例,所述第二离散数据是指应用程序的一个最近修改时间对应n个及以内终端设备的数量,n为大于1的正整数。
    28.进一步,所述基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序,进一步包括:
    29.基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取第四贡献值从高至低的前n个应用程序;
    30.所述第四贡献值是指对应用程序的一对一离散贡献度、一对n离散贡献度及最近修改时间异常数据占比进行加权求和所得的值。
    31.第二方面,本发明实施例提供一种电子设备,包括:
    32.至少一个处理器;以及
    33.与所述处理器通信连接的至少一个存储器,其中:
    34.所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行本发明实施例第一方面所述终端设备动态标识的生成方法及其任一可选实施例所述的方法。
    35.第三方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令执行本发明实施例第一方面所述终端设备动态标识的生成方法及其任一可选实施例的方法。
    36.本发明实施例提供的终端设备动态标识的生成方法,可以在不收集终端设备敏感信息的前提下,根据目标终端设备上的一个或多个应用程序的标识及其最近修改时间,生成所述目标终端设备的唯一动态标识,碰撞率极低,解决了设备唯一标识和在产品间共享标识的问题。
    附图说明
    37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
    38.图1为本发明实施例一种终端设备动态标识的生成方法流程示意图;
    39.图2为本发明实施例一种终端设备动态标识的生成装置示意图;
    40.图3为本发明实施例电子设备的框架示意图。
    具体实施方式
    41.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
    42.本发明实施例中的“第一”、“第二”等描述,是用于区分不同的数据、消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
    43.图1为本发明实施例一种终端设备动态标识的生成方法流程示意图。如图1所示的终端设备动态标识的生成方法,包括:
    44.100,分别获取目标终端设备上n个应用程序的最近修改时间,其中n为正整数;
    45.针对一个目标终端设备,本发明实施例通过采集终端中一个或多个特定系统应用或热门三方应用的最近修改时间来生成该移动设备的动态标识。优选的,特定系统应用或热门三方应用的选择标准是,具有较大的覆盖量和适中的更新频率,按此标准选取离散度高且碰撞率低的应用作为生成动态标识的因子,这样生成的动态标识碰撞率极低,可以满
    足终端设备共享标识的需求。
    46.101,基于所述n个应用程序的标识及所述n个应用程序的最近修改时间,生成所述目标终端设备的动态标识。
    47.基于大数据分析,不同用户更新相同应用的时间是离散的,即同一个应用程序在不同终端上的最近修改时间是离散的,为以最近修改时间作为因子生成的动态标识的唯一性提供了基础。
    48.本发明实施例中,可以将应用程序的标识(也称应用程序标识或应用标识)和最近修改时间组合来生成唯一动态标识。例如,n个应用程序标识分别记作a1、a2、......、an,对应的最近修改时间分别记作t1、t2、......、tn。在一个可选的实施例中,可以将应用程序标识及其对应的最近修改时间依次拼接为a1t1a2t2......antn,可以直接使用该拼接值作为终端设备的动态标识;也可以使用哈希算法将该应用程序标识和最近修改时间处理成长度一致的格式。需要说明的是,应用程序标识和最近修改时间作为生成终端设备动态标识的因子,其拼接顺序不限于本实施例中说明的这一种方式,在因子不变的情况下可以是任意方式,拼接时可以采用任意分隔符或不使用分隔符;生成动态标识的具体算法包括但不仅限于md5、sha1和sha256等算法。
    49.以android系统的智能终端为例,选取的应用程序可以是终端上的系统应用、预置应用或用户量较大的三方应用,使用android系统提供的应用程序接口api来获取指定应用程序的最近修改时间。以应用商店这个应用程序为例,通过packagemanager的getpackageinfo方法获取应用商店的应用信息,读取packageinfo中的lastupdatetime字段即为该应用的最后修改时间。由于包名在同一android系统的智能终端上是唯一存在的,故选取应用的包名作为应用标识。进一步的,例如当n为3时,选取3个应用程序,如应用商店、文件管理器和视频播放器,通过上述方法依次获取应用商店的最后修改时间为1599490600000,获取文件管理器的最后修改时间为1599372540000,获取视频播放器的最后修改时间为1600212240000,该时间戳代表从1970年1月1日(utc/gmt的午夜)开始所经过的毫秒数,即1599490600000表示2020/9/7 22:56:40。获取应用商店的应用标识为com.android.market,获取文件管理器的应用标识为com.android.fileexplorer,获取视频播放器的应用标识为com.android.video,则最终生成的动态标识为com.android.market:1599490600000,com.android.fileexplorer:1599372540000,com.android.video:1600212240000;或者计算它们的哈希值,如通过md5算法计算的哈希值为9291c14562491e9f5b0550def404ffaf。
    50.本发明实施例提供的终端设备动态标识的生成方法,可以在不收集终端设备敏感信息的前提下,根据目标终端设备上的一个或多个应用程序的标识及其最近修改时间,生成所述目标终端设备的唯一动态标识,即在不采集移动终端用户隐私信息的前提下完成对终端设备的动态标识,且具有极低的碰撞率,解决了设备唯一标识和在产品间共享标识的问题。
    51.本发明实施例对于如何选取终端设备上的n个应用程序提供了多种方法,具体如下所述。
    52.基于上述实施例,步骤100,所述分别获取目标终端设备上n个应用程序的最近修改时间,具体包括:
    53.100.1,基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序;其中,所述若干终端设备包括所述目标终端设备;所述离散贡献度是指应用程序在不同终端设备上的最近修改时间的离散程度;
    54.100.2,分别获取所述n个应用程序在所述目标终端设备上的最近修改时间。
    55.当前可运行于终端设备的应用程序极多,如前所述,本发明实施例选择的应用程序的标准是,具有较大的覆盖量和适中的更新频率的特定系统应用或热门三方应用。首先在大量应用程序中选择若干备选应用程序,然后采集备选应用程序在若干终端设备上的最近修改时间。
    56.本发明实施例采集应用程序在不同终端设备上的最近修改时间的目的是通过获取高覆盖度应用程序的高离散程度的最近修改时间来确保生成动态标识的低碰撞率。一般而言,一个应用程序可以在多个终端设备上安装,即便应用开发者在一个固定时间发布了应用的更新,但由于每个终端用户的使用习惯不同,同一应用在各自终端上的更新时机一般不同,这决定了特定高覆盖度应用程序的最近修改时间作为因子得出的动态标识是具有高离散程度的。由于终端用户的使用习惯是无法预知的,故无法通过理论推导得到最优的因子组合,必须要通过实际的验证配合评估模型来确定最优的因子组合。
    57.本发明实施例根据覆盖度高离散程度高的标准,选取离散贡献度从高至低的前n个应用程序。
    58.在一个可选的实施例中,可以将备选应用标识发布到智能终端中进行验证,将采集到的动态标识通过日志回收等方式回传到后端服务器进行分析,此时的动态标识即应用标识与最近修改时间的组合。其中,需要同时为每个终端设备生成一个uuid,以此来区分回传的动态标识是否是同一个终端设备重复发出的。采集到的应用标识和最近修改时间对应的终端设备的示例如表1。
    59.表1
    60.应用标识:最近修改时间(16进制)对应的uuid数量com.miui.newhome:1752c42b67810com.miui.newhome:174ea7f7a289com.miui.newhome:17577389bc02com.miui.newhome:174ea8087b07com.miui.newhome:174ea7f72581com.miui.newhome:1746292a9c86
    61.请参考表1,应用程序为com.miui.newhome,最近修改时间1752c42b678对应10个uuid,说明在该时间有10个终端设备运行了该应用程序,对该应用程序进行了更新;最近修改时间174ea7f7258对应1个uuid,说明在该时间有1个终端设备运行了该应用程序,对该应用程序进行了更新。
    62.表1只列举了一个应用程序,而对于多个备选应用程序,可以采集到每个应用程序在每个终端设备上的修改时间,统计出每个最近修改时间对应的uuid数量即终端设备数量。根据每个应用程序的最近修改时间在目标终端设备上的离散程度,获取离散贡献度从高至低的前n个应用程序标识a1、a2、......、an,获取所述n个应用程序在所述目标终端设备上的最近修改时间t1、t2、......、tn,根据应用程序标识及其对应的最近修改时间进行组合
    拼接或使用哈希算法即可生成目标终端设备的唯一动态标识。
    63.本发明实施例所述离散贡献度是指应用程序在不同终端设备上的最近修改时间的离散程度,具体的,离散贡献度可分为一对一离散贡献度及一对n离散贡献度。
    64.所述一对一离散贡献度是指第一离散数据占全部最近修改时间数量的比例,所述第一离散数据是指应用程序的一个最近修改时间对应一个终端设备的数量;一对一离散贡献度越高说明离散程度越高,对于动态标识减少碰撞率的贡献度越高。
    65.所述一对n离散贡献度是指第二离散数据占全部最近修改时间数量的比例,所述第二离散数据是指应用程序的一个最近修改时间对应n个及以内终端设备的数量,n为大于1的正整数;一对n离散贡献度越高说明离散程度越高,通过n个应用分摊碰撞率的情况下对于动态标识减少碰撞率的贡献度越高。
    66.下面以android系统的智能终端、某应用程序xxxx举例说明,采集到的部分最近修改时间对应的uuid如表2所示。
    67.表2
    68.(某应用)最近修改时间(16进制)对应的uuid数量(空值、获取失败)14381xxxx:17425b7c2906... xxxx:17588b527d83... xxxx:1758967b6c82... xxxx:175706581f01... 69.请参考表2,假设应用程序xxxx的最近修改时间对应的uuid去重后,总计收集到对应266677个不同的uuid;其中一个最近修改时间对应一个uuid(如175706581f0)的数量为215467;一个最近修改时间对应3个及以内uuid,即一个最近修改时间对应1个uuid、一个最近修改时间对应2个uuid与一个最近修改时间对应3个uuid(如17588b527d8、1758967b6c8和175706581f0)的数量为251190,异常数据(如获取失败)的数量为14381。计算出一个最近修改时间对应一个uuid的占比为215467/266677=80.80%,即一对一离散贡献度为80.80%;一个最近修改时间对应3个及以内uuid的占比为251190/266677=94.19%,即一对n离散贡献度为94.19%;异常数据占比为14381/266677=5.39%。
    70.需要说明的是,最近修改时间异常数据是指终端内系统应用或预装应用从来没有更新过时获取到的默认值,如最近修改时间为1230768000000(2009/1/1 8:0:0),这类数据不具备离散性。当最近修改时间异常数据占比越低时,对于动态标识减少碰撞率的贡献度越高。
    71.基于上述分析,本发明实施例可分别根据如下可选指标获取离散贡献度从高至低的前n个应用程序:
    72.(1)根据一对一离散贡献度;
    73.(2)根据一对一离散贡献度和异常数据占比;
    74.(3)根据一对n离散贡献度;
    75.(4)根据一对n离散贡献度和异常数据占比;
    76.(5)根据一对一离散贡献度和一对n离散贡献度;
    77.(6)根据一对一离散贡献度、一对n离散贡献度以及异常数据占比。
    78.下面将对上述获取离散贡献度从高至低的前n个应用程序的方式进行分别描述。需要说明的是,基于本发明实施例所表达的思想,单独提出一对二离散贡献度、一对三离散贡献度、一对四离散贡献度等等,并分别根据各种离散贡献度进行组合,或进一步结合异常数据占比等,获取目标终端设备上满足离散程度要求的一个或多个应用程序,作为生成动态标识的因子,全部落入本发明实施例的保护范围。
    79.基于上述任一可选实施例,步骤100.1,所述基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序,具体包括:
    80.基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取一对一离散贡献度从高至低的前n个应用程序;
    81.本实施例根据一对一离散贡献度选取从高至低的前n个应用程序,如表2的示例中,计算应用程序的一个最近修改时间对应1个uuid的数量相对于总uuid数量的占比。统计备选应用程序的一对一离散贡献度,然后按照一对一离散贡献度从高至低排序,获取前n个(一个或多个)应用程序作为生成动态标识的因子;确定了n个应用程序后,获取所述n个应用程序在所述目标终端设备上的最近修改时间t1、t2、......、tn,根据所述n个应用程序标识a1、a2、......、an,及其对应的最近修改时间进行组合拼接或使用哈希算法即可生成目标终端设备的唯一动态标识。
    82.基于上述任一可选实施例,所述基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取一对一占比离散贡献度从高至低的前n个应用程序,进一步包括:
    83.基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取第一贡献值从高至低的前n个应用程序;
    84.所述第一贡献值是指对应用程序的一对一离散贡献度及最近修改时间异常数据占比进行加权求和所得的值。
    85.本实施例根据一对一离散贡献度和异常数据占比选取从高至低的前n个应用程序,如表2的示例中,计算应用程序的一个最近修改时间对应1个uuid的数量相对于总uuid数量的占比。统计备选应用程序的一对一离散贡献度及最近修改时间异常数据占比,然后一对一离散贡献度及异常数据占比加权求和,从而计算贡献值。
    86.例如按下式计算第一贡献值:
    87.d=a*100*w1ꢀ‑ꢀ
    c*100*w3;
    ꢀꢀꢀꢀꢀꢀꢀꢀ
    (1)
    88.其中,d为贡献值,a为一对一离散贡献度,c为异常数据占比;w1为一对一离散贡献度权重,取值范围[0,1];w3为异常数据占比权重,取值范围[0,1]。
    [0089]
    根据式(1)计算贡献值后,获取贡献值从高至低的前n个应用程序作为生成动态标识的因子;确定了n个应用程序后,获取所述n个应用程序在所述目标终端设备上的最近修改时间t1、t2、......、tn,根据所述n个应用程序标识a1、a2、......、an,及其对应的最近修改时间进行组合拼接或使用哈希算法即可生成目标终端设备的唯一动态标识。
    [0090]
    基于上述任一可选实施例,步骤100.1,所述基于若干备选应用程序在若干终端设
    备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序,具体包括:
    [0091]
    基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取一对n离散贡献度从高至低的前n个应用程序;
    [0092]
    本实施例根据一对n离散贡献度选取从高至低的前n个应用程序,如表2的示例中,计算应用程序的一个最近修改时间对应n个及以内(例如3个及以内)uuid的数量相对于总uuid数量的占比。统计备选应用程序的一对n离散贡献度,然后按照一对n离散贡献度从高至低排序,获取前n个(一个或多个)应用程序作为生成动态标识的因子;确定了n个应用程序后,获取所述n个应用程序在所述目标终端设备上的最近修改时间t1、t2、......、tn,根据所述n个应用程序标识a1、a2、......、an,及其对应的最近修改时间进行组合拼接或使用哈希算法即可生成目标终端设备的唯一动态标识。
    [0093]
    基于上述任一可选实施例,所述基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取一对n离散贡献度从高至低的前n个应用程序,进一步包括:
    [0094]
    基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取第二贡献值从高至低的前n个应用程序;
    [0095]
    所述第二贡献值是指对应用程序的一对n离散贡献度及最近修改时间异常数据占比进行加权求和所得的值。
    [0096]
    本实施例根据一对n离散贡献度和异常数据占比选取从高至低的前n个应用程序,如表2的示例中,计算应用程序的一个最近修改时间对应n个及以内uuid的数量相对于总uuid数量的占比。统计备选应用程序的一对n离散贡献度及最近修改时间异常数据占比,然后一对n离散贡献度及异常数据占比加权求和,从而计算贡献值。
    [0097]
    例如按下式计算第二贡献值:
    [0098]
    d=b*100*w
    2-c*100*w3;
    ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
    (2)
    [0099]
    其中,d为贡献值,b为一对n离散贡献度,c为异常数据占比;w2为一对n离散贡献度权重,取值范围[0,1];w3为异常数据占比权重,取值范围[0,1]。
    [0100]
    根据式(2)计算贡献值后,获取贡献值从高至低的前n个应用程序作为生成动态标识的因子;确定了n个应用程序后,获取所述n个应用程序在所述目标终端设备上的最近修改时间t1、t2、......、tn,根据所述n个应用程序标识a1、a2、......、an,及其对应的最近修改时间进行组合拼接或使用哈希算法即可生成目标终端设备的唯一动态标识。
    [0101]
    基于上述任一可选实施例,步骤100.1,所述基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序,具体包括:
    [0102]
    基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取第三贡献值从高至低的前n个应用程序;
    [0103]
    所述第三贡献值是指对应用程序的一对一离散贡献度及一对n离散贡献度进行加权求和所得的值。
    [0104]
    本实施例根据一对一离散贡献度和一对n离散贡献度选取从高至低的前n个应用程序,如表2的示例中,分别计算应用程序的一个最近修改时间对应一个uuid的数量相对于总uuid数量的占比,以及应用程序的一个最近修改时间对应n个及以内uuid的数量相对于总uuid数量的占比。统计备选应用程序的一对一离散贡献度及一对n离散贡献度,然后一对一离散贡献度及一对n离散贡献度加权求和,从而计算贡献值。
    [0105]
    例如按下式计算第三贡献值:
    [0106]
    d=a*100*w1+b*100*w2;
    ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
    (3)
    [0107]
    其中,d为贡献值,a为一对一离散贡献度,b为一对n离散贡献度;w1为一对一离散贡献度权重,取值范围[0,1];w2为一对n离散贡献度权重,取值范围[0,1]。
    [0108]
    根据式(3)计算贡献值后,获取贡献值从高至低的前n个应用程序作为生成动态标识的因子;确定了n个应用程序后,获取所述n个应用程序在所述目标终端设备上的最近修改时间t1、t2、......、tn,根据所述n个应用程序标识a1、a2、......、an,及其对应的最近修改时间进行组合拼接或使用哈希算法即可生成目标终端设备的唯一动态标识。
    [0109]
    基于上述任一可选实施例,所述基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序,进一步包括:
    [0110]
    基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取第四贡献值从高至低的前n个应用程序;
    [0111]
    所述第四贡献值是指对应用程序的一对一离散贡献度、一对n离散贡献度及最近修改时间的异常数据占比进行加权求和所得的值。
    [0112]
    本实施例根据一对一离散贡献度、一对n离散贡献度及异常数据占比选取从高至低的前n个应用程序,如表2的示例中,分别计算应用程序的一个最近修改时间对应一个uuid的数量相对于总uuid数量的占比,以及应用程序的一个最近修改时间对应n个及以内uuid的数量相对于总uuid数量的占比。统计备选应用程序的一对一离散贡献度、一对n离散贡献度及异常数据占比,然后一对一离散贡献度、一对n离散贡献度及异常数据占比加权求和,从而计算贡献值。
    [0113]
    例如按下式计算第四贡献值:
    [0114]
    d=a*100*w1+b*100*w
    2-c*100*w3;
    ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
    (4)
    [0115]
    其中,d为贡献值,a为一对一离散贡献度,b为一对n离散贡献度,c为异常数据占比;w1为一对一离散贡献度权重,取值范围[0,1];w2为一对n离散贡献度权重,取值范围[0,1];w3为异常数据占比权重,取值范围[0,1]。
    [0116]
    根据式(4)计算贡献值后,获取贡献值从高至低的前n个应用程序作为生成动态标识的因子;确定了n个应用程序后,获取所述n个应用程序在所述目标终端设备上的最近修改时间t1、t2、......、tn,根据所述n个应用程序标识a1、a2、......、an,及其对应的最近修改时间进行组合拼接或使用哈希算法即可生成目标终端设备的唯一动态标识。
    [0117]
    举例说明,以android系统的智能终端为例,按照前述表2的格式获取应用程序的最近修改时间及对应的uuid数量,当n为3时,选取权重w1为0.6,选取w2为0.3,选取w3为0.1,此处各权重的选取仅为示例,可根据需求调整各权重值,本发明实施例对具体取值不作限定。
    [0118]
    贡献值排名前3位的应用程序,按照式(4)计算贡献值如下,并根据贡献度评分降序排列如表3所示:
    [0119]
    80.80%*100*0.6+94.19%*100*0.3-5.39%*100*0.1=76.198;
    [0120]
    78.66%*100*0.6+94.57%*100*0.3-3.86%*100*0.1=75.181;
    [0121]
    78.77%*100*0.6+93.73%*100*0.3-5.02%*100*0.1=74.879;
    [0122]
    表3
    [0123][0124]
    此处,一对n离散贡献度为应用程序的一个最近修改时间对应3个及以内uuid的数量相对于总uuid数量的占比。
    [0125]
    选取上述三个应用程序作为生产动态标识的因子,再根据com.miui.virtualsim、om.xiaomi.pass和com.miui.compass在目标终端设备上的最近修改时间,进行组合拼接或使用哈希算法即可生成目标终端设备的唯一动态标识。
    [0126]
    本例中,将第一个应用的一对一离散贡献度记作a1,一对n离散贡献度记作b1;第二个应用的一对一离散贡献度记作a2,一对n离散贡献度记作b2;第三个应用的一对一离散贡献度记作a3,一对n离散贡献度记作b3,则通过这三个因子组成的唯一标识,通过上述三个应用程序作为因子生产的唯一动态标识,其碰撞率最高为1

    max(a1,a2,a3)=1-max(80.80%,78.66%,78.77%)=19.2%,最低为0.00%,所述碰撞率三个因子在一个最近修改时间对应一个uuid时覆盖了所有uuid的几率。当一个最近修改时间对应3个及以内uuid的占比越高时,通过3个因子组成唯一标识时,因子间分摊碰撞率的概率越高,碰撞率的期望值约为(1-b1)*(1-b2)*(1-b3)=0.02%,故从理论上推导该唯一标识的碰撞率在[0.00%,0.02%]范围内。
    [0127]
    综上所述,本发明实施例提供的终端设备动态标识的生成方法,可以在不收集终端设备敏感信息、不获取用户隐私信息的前提下,根据目标终端设备上的一个或多个应用程序的标识及其最近修改时间,生成所述目标终端设备的唯一动态标识,且具有极低的碰撞率,解决了设备唯一标识和在产品间共享标识的问题,实现了同一终端上多产品间共享标识的目的,同时保护了用户的隐私,且便于实现,具有良好的有益效果。
    [0128]
    图2为本发明实施例一种终端设备动态标识的生成装置示意图,如图2所示,本发明实施例还提供一种终端设备动态标识的生成装置,包括数据获取模块200和标识生成模块201;
    [0129]
    所述数据获取模块200,用于分别获取目标终端设备上n个应用程序的最近修改时间,其中n为正整数;
    [0130]
    所述标识生成模块201,用于基于所述n个应用程序的标识及所述n个应用程序的最近修改时间,生成所述目标终端设备的动态标识。
    [0131]
    本发明实施例所述终端设备动态标识的生成装置,用于执行图1所示的终端设备动态标识的生成方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
    [0132]
    图3为本发明实施例电子设备框架示意图。请参考图3,本发明实施例提供一种电子设备,包括:处理器(processor)310、通信接口(communications interface)320、存储器(memory)330和总线340,其中,处理器310,通信接口320,存储器330通过总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行如下方法,包括:分别获取
    目标终端设备上n个应用程序的最近修改时间,其中n为正整数;基于所述n个应用程序的标识及所述n个应用程序的最近修改时间,生成所述目标终端设备的动态标识。
    [0133]
    本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:分别获取目标终端设备上n个应用程序的最近修改时间,其中n为正整数;基于所述n个应用程序的标识及所述n个应用程序的最近修改时间,生成所述目标终端设备的动态标识。
    [0134]
    本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:分别获取目标终端设备上n个应用程序的最近修改时间,其中n为正整数;基于所述n个应用程序的标识及所述n个应用程序的最近修改时间,生成所述目标终端设备的动态标识。
    [0135]
    本领域普通技术人员可以理解:实现上述设备实施例或方法实施例仅仅是示意性的,其中所述处理器和所述存储器可以是物理上分离的部件也可以不是物理上分离的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
    [0136]
    通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如u盘、移动硬盘、rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
    [0137]
    最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

    技术特征:
    1.一种终端设备动态标识的生成方法,其特征在于,包括:分别获取目标终端设备上n个应用程序的最近修改时间,其中n为正整数;基于所述n个应用程序的标识及所述n个应用程序的最近修改时间,生成所述目标终端设备的动态标识。2.根据权利要求1所述的方法,其特征在于,所述分别获取目标终端设备上n个应用程序的最近修改时间,具体包括:基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序;其中,所述若干终端设备包括所述目标终端设备;所述离散贡献度是指应用程序在不同终端设备上的最近修改时间的离散程度;分别获取所述n个应用程序在所述目标终端设备上的最近修改时间。3.根据权利要求2所述的方法,其特征在于,所述基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序,具体包括:基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取一对一离散贡献度从高至低的前n个应用程序;其中所述一对一离散贡献度是指第一离散数据占全部最近修改时间数量的比例,所述第一离散数据是指应用程序的一个最近修改时间对应一个终端设备的数量。4.根据权利要求2所述的方法,其特征在于,所述基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序,具体包括:基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取一对n离散贡献度从高至低的前n个应用程序;其中所述一对n离散贡献度是指第二离散数据占全部最近修改时间数量的比例,所述第二离散数据是指应用程序的一个最近修改时间对应n个及以内终端设备的数量,n为大于1的正整数。5.根据权利要求3所述的方法,其特征在于,所述基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取一对一占比离散贡献度从高至低的前n个应用程序,进一步包括:基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取第一贡献值从高至低的前n个应用程序;所述第一贡献值是指对应用程序的一对一离散贡献度及最近修改时间异常数据占比进行加权求和所得的值。6.根据权利要求4所述的方法,其特征在于,所述基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取一对n离散贡献度从高至低的前n个应用程序,进一步包括:基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取第二贡献值从高至低的前n个应用程序;所述第二贡献值是指对应用程序的一对n离散贡献度及最近修改时间异常数据占比进行加权求和所得的值。7.根据权利要求2所述的方法,其特征在于,所述基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序,具体包括:
    基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取第三贡献值从高至低的前n个应用程序;所述第三贡献值是指对应用程序的一对一离散贡献度及一对n离散贡献度进行加权求和所得的值;其中所述一对一离散贡献度是指第一离散数据占全部最近修改时间数量的比例,所述第一离散数据是指应用程序的一个最近修改时间对应一个终端设备的数量;所述一对n离散贡献度是指第二离散数据占全部最近修改时间数量的比例,所述第二离散数据是指应用程序的一个最近修改时间对应n个及以内终端设备的数量,n为大于1的正整数。8.根据权利要求5所述的方法,其特征在于,所述基于若干备选应用程序在若干终端设备上的最近修改时间,获取离散贡献度从高至低的前n个应用程序,进一步包括:基于若干备选应用程序在若干终端设备上的最近修改时间并去重后,获取第四贡献值从高至低的前n个应用程序;所述第四贡献值是指对应用程序的一对一离散贡献度、一对n离散贡献度及最近修改时间异常数据占比进行加权求和所得的值。9.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的方法。

    技术总结
    本发明实施例提供一种终端设备动态标识的生成方法及设备。所述方法包括:分别获取目标终端设备上N个应用程序的最近修改时间,其中N为正整数;基于所述N个应用程序的标识及所述N个应用程序的最近修改时间,生成所述目标终端设备的动态标识。本发明实施例可以在不收集终端设备敏感信息的前提下,根据目标终端设备上的一个或多个应用程序的标识及其最近修改时间,生成所述目标终端设备的唯一动态标识,碰撞率极低,解决了设备唯一标识和在产品间共享标识的问题,实现了同一终端上多产品间共享标识的目的,保护了用户的隐私。保护了用户的隐私。保护了用户的隐私。


    技术研发人员:潘宣辰 关杰文 何淼 董超
    受保护的技术使用者:武汉安天信息技术有限责任公司
    技术研发日:2020.11.23
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-21659.html

    最新回复(0)