首页> 中国专利> 用户身份识别方法、计算设备及计算机存储介质

用户身份识别方法、计算设备及计算机存储介质

摘要

本发明公开了一种用户身份识别方法、计算设备及计算机存储介质。该方法包括:计算用户终端与对应的授时服务器之间的时间差,根据时间差,生成用户终端的用户时间指纹,基于用户时间指纹,进行用户身份识别。本方案生成的用户时间指纹具有唯一性,从而能够准确地识别用户身份;并且,本方案不涉及用户隐私数据的获取,保障了用户隐私数据的安全性;再者,本方案中同一用户终端其对应的用户时间指纹相同,能够实现同一终端中的跨应用身份识别;此外,本方案无需获取系统高级别权限即可生成用户时间指纹,保障用户系统安全,并有利于用户体验的提升;而且,本方案无需用户注册,操作简单易行,适于大规模应用与实施。

著录项

  • 公开/公告号CN112417404A

    专利类型发明专利

  • 公开/公告日2021-02-26

    原文格式PDF

  • 申请/专利权人 掌阅科技股份有限公司;

    申请/专利号CN202011375285.9

  • 发明设计人 方茗;

    申请日2020-11-30

  • 分类号G06F21/31(20130101);G06F21/44(20130101);

  • 代理机构11276 北京市浩天知识产权代理事务所(普通合伙);

  • 代理人张颖瑛

  • 地址 100124 北京市朝阳区四惠大厦2029E

  • 入库时间 2023-06-19 10:02:03

说明书

技术领域

本发明涉及互联网技术领域,具体涉及一种用户身份识别方法、计算设备及计算机存储介质。

背景技术

目前,用户身份识别方式通常包含两种:其一为,基于用户账号的身份识别方式,即用户利用手机号码、身份证号码等进行账号注册,并在注册后应用平台为该用户分配该平台的用户账号,继而通过用户账号来识别用户身份;其二为,基于用户生物或设备特征的身份识别方式,如通过获取用户生物特征(如掌纹、生物指纹、面部特征)、设备IP地址、IDFA、IMEI、Cookie等信息来获得用户身份。

然而,发明人在实施过程中发现,现有技术中存在如下缺陷:采用用户账号的身份识别方式需用户提供手机号码、身份证号码等隐私信息,从而存在用户隐私信息泄露的安全隐患。并且,针对于尚未注册用户账号的新用户,采用该方式将无法对该类用户进行识别。此外,不同应用之间的用户账号无法互通,从而不利于用户的跨应用体验;而用户生物特征、设备IP地址、IDFA、IMEI等等需获得系统的高级别权限才可获取到,从而也不利于用户身份的识别。

发明内容

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的用户身份识别方法、计算设备及计算机存储介质。

根据本发明的一个方面,提供了一种用户身份识别方法,所述方法包括:

计算用户终端与对应的授时服务器之间的时间差;

根据所述时间差,生成所述用户终端的用户时间指纹;

基于所述用户时间指纹,进行用户身份识别。

根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如下操作:

计算用户终端与对应的授时服务器之间的时间差;

根据所述时间差,生成所述用户终端的用户时间指纹;

基于所述用户时间指纹,进行用户身份识别。

根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述用户身份识别方法对应的操作。

根据本发明提供的用户身份识别方法、计算设备及计算机存储介质,首先计算用户终端与对应的授时服务器之间的时间差,根据时间差,生成用户终端的用户时间指纹,最终基于用户时间指纹,进行用户身份识别。本方案生成的用户时间指纹具有唯一性,从而能够准确地识别用户身份;并且,本方案不涉及用户隐私数据的获取,保障了用户隐私数据的安全性;再者,本方案中同一用户终端其对应的用户时间指纹相同,能够实现同一终端中的跨应用身份识别;此外,本方案无需获取系统高级别权限即可生成用户时间指纹,保障用户系统安全,并有利于用户体验的提升;而且,本方案无需用户注册,操作简单易行,适于大规模应用与实施。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明实施例一提供的一种用户身份识别方法的流程示意图;

图2示出了根据本发明实施例二提供的一种用户身份识别方法的流程示意图;

图3示出了根据本发明实施例三提供的一种用户身份识别方法的流程示意图;

图4示出了根据本发明实施例五提供的一种用户身份识别方法的流程示意图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

实施例一

图1示出了根据本发明实施例一提供的一种用户身份识别方法的流程示意图。其中,本方法可以由用户终端执行,也可以由应用服务器执行。总之,本实施例对本方法的具体执行主体不作限定。

如图1所示,该方法包括:

步骤S110:计算用户终端与对应的授时服务器之间的时间差。

在实际的应用场景中,由于业务需求,用户终端会与一个授时服务器建立通信连接,通过该授时服务器来对终端本地时间进行时间校准,该授时服务器即为该用户终端对应的授时服务器。

然而由于授时精度的限制,用户终端与对应的授时服务器的时间无法达到绝对的一致,两者之间存在稳定的时间差,该时间差可以为毫秒级时间差。并且,由于授时算法、授时服务器响应机制、时间同步时机、用户终端与授时服务器间网络结构等因素影响,不同的用户终端与对应的授时服务器之间的时间差不同。由此,本实施例中利用用户终端与对应的授时服务器之间的时间差来进行用户身份的识别。

在计算用户终端与对应的授时服务器之间的时间差的过程中,具体可以由用户终端向其对应的授时服务器发送授时请求,并获取授时请求对应的授时请求响应参数。其中,授时请求响应参数包括以下参数中至少一种:用户终端发起授时请求的第一时间,授时响应消息中包含的授时服务器接收授时请求的第二时间,以及用户终端接收到授时响应消息的第三时间。继而根据授时请求响应参数,计算用户终端与授时服务器之间的时间差。

可选的,用户终端与对应的授时服务器之间的时间差具体可通过以下两种方式获得:

时间差计算方式一:用户终端向对应的授时服务器发送一个授时请求,则本步骤可根据该单个授时请求对应的授时请求响应参数,快速地计算出用户终端与授时服务器之间的时间差。

具体地,首先根据该单个授时请求对应的授时请求响应参数中的第一时间以及第三时间,计算单程网络耗时。单程网络耗时具体计算过程为:计算第三时间与第一时间的差值,将该差值的一半确定为单程网络耗时。即若第一时间为T

进一步地,根据第一时间、第二时间以及单程网络耗时,计算用户终端与对应的授时服务器之间的时间差。具体地,计算第一时间与单程网络耗时的第一总和;将第二时间与第一总和之间的差值,确定为用户终端与对应的授时服务器之间的时间差。其中,若第二时间为T

时间差计算方式二,用户终端可以依次向授时服务器发送多个授时请求,如每隔预设时长向授时服务器发送一个授时请求。则在本实施方式中,根据多个授时请求对应的授时请求响应参数,准确地计算出用户终端与对应的授时服务器之间的时间差。

可选的,由于首次向授时服务器发送授时请求时,需进行TCP/IP握手协议、建立路由链接、进行DNS识别等操作,从而使得请求-响应过程较长,故此,为避免该首次请求对后续终端与授时服务器之间时间差计算精度的影响,可从多个授时请求中剔除首个授时请求,并根据剔除后的授时请求对应的正式授时请求响应参数,计算出用户终端与对应的授时服务器之间的时间差。

具体地,首先针对于该多个授时请求中的任一正式授时请求,根据该正式授时请求对应的授时请求响应参数,计算该授时请求对应的用户终端与授时服务器之间的候选时间差。其中,每个授时请求对应的候选时间差的计算方式可参照上述方式一中根据单个正式授时请求对应的授时请求响应参数,计算用户终端与授时服务器之间的时间差的计算方式,本实施方式在此不做赘述。

进一步地根据多个候选时间差的平均值,计算终端与目标授时服务器之间的时间差。在一种可选的实施方式中,可直接将计算出的所有候选时间差的平均值,作为终端与目标授时服务器之间的时间差。在另一种可选的实施方式中,为了进一步提升计算出的时间差的准确度,可剔除计算出的候选时间差中的偏离点,将剔除偏离点后的候选时间差的平均值作为终端与目标授时服务器之间的时间差,其具体实施过程如S1-S3所示。

S1:计算当前候选时间差集合对应的平均值及偏离阈值。

在初始状态下,候选时间差集合中包含所有计算出的候选时间差。其中,当前候选时间差集合对应的偏离阈值负相关于本步骤S1的执行次数,即本步骤S1的执行次数越多,偏离阈值越小,从而便于候选时间差集合的收敛,进而进一步提升计算出的用户终端与授时服务器之间时间差的准确度。具体地,在计算当前候选时间差集合对应的偏离阈值过程中,可预先设置不同的S1执行次数与偏离阈值的映射关系,从而根据该映射关系确定每次当前候选时间差集合对应的偏离阈值;又或者,根据当前候选时间差集合对应的标准差与预设倍数计算当前候选时间差集合对应的偏离阈值,其中,预设倍数为固定值,由于后续步骤S2中剔除了偏离候选时间差,所以剔除后生成的新的候选时间差集合的标准差小于上一候选时间差集合的标准差,故此新的候选时间差集合的偏离阈值也小于上一候选时间差集合的偏离阈值。

S2:从当前候选时间差集合中剔除偏离候选时间差,从而生成新的候选时间差集合。其中,偏离候选时间差与当前候选时间差集合对应的平均值的差值的绝对值大于当前候选时间差集合对应的偏离阈值。

S3:判断当前剔除操作次数是否大于或等于预设次数;若否,则进一步执行步骤S1;若是,则将新的候选时间差集合对应的平均值作为用户终端与授时服务器之间的时间差。

步骤S120:根据时间差,生成用户终端的用户时间指纹。

具体地,为了保障每个用户终端对应的用户时间指纹的唯一性,优选将用户终端与授时服务器之间的毫秒级的时间差生成用户终端的用户时间指纹。

在一种可选的实施方式中,为了提升身份识别精度,当监测到预设事件时,将该用户时间指纹的状态更改为无效状态。其中,预设事件为能够引起用户终端对应的时间差发生改变的事件。例如,预设事件包括以下事件中的至少一种:用户终端进行时间同步的授时服务器发生切换,距离用户终端中预设任务启动时间的时间差值小于或等于预设阈值,用户终端的网络状态发生变化,以及用户终端位置变化超出预设范围等等。

举例来说,在实际的实施过程中,为提升用户终端的时间同步精度,部署有多个授时服务器,用户终端每隔相应周期,或者临近用户终端中预设任务(如秒杀任务,限时活动任务等)启动时间时,用户终端根据各个授时服务器的响应时间,响应数据的有效性等等,选取一个当前授时质量最优的授时服务器作为该用户终端对应的授时服务器,继而该用户终端根据该对应的授时服务器进行时间同步。由于每次选取的当前授时质量最优的授时服务器可能存在不同,所以,用户终端对应的授时服务器也会发生切换,继而使得用户终端对应的时间差发生变化。由此,本实施例可在监测到用户终端对应的授时服务器发生切换时,将先前产生的用户时间指纹置于无效状态;另外,由于用户终端中预设任务启动时间的时间差值小于或等于预设阈值时,用户终端会重新进行对应的授时服务器的选取,因此本实施例也可在监测到当前距离用户终端中预设任务启动时间的时间差值小于或等于预设阈值时,将先前产生的用户时间指纹置于无效状态;此外,用户终端的网络状态发生变化,以及用户终端位置变化超出预设范围也会影响用户终端对应的时间差,由此,本实施例也可在用户终端的网络状态发生变化和/或用户终端位置变化超出预设范围时,将先前产生的用户时间指纹置于无效状态。

在另一种可选的实施方式中,为了提升身份识别精度,在生成与用户终端对应的用户时间指纹之后,可为该用户时间指纹分配对应的有效期限,在当前时间超出该有效期限时,将该用户时间指纹的状态更改为无效状态。其中,该有效期限根据下次用户终端与授时服务器进行时间同步的时间确定。

步骤S130:基于用户时间指纹,对用户身份进行识别。

由此可见,本实施例利用用户终端与对应的授时服务器之间的时间差来生成用户时间指纹,由于不同的用户终端与对应的授时服务器之间的时间差不同,由此用户时间指纹具有唯一性,从而根据该用户时间指纹能够准确地识别用户身份;并且,本实施例不涉及用户隐私数据的获取,从而保障了用户隐私数据的安全性;再者,本实施例中同一用户终端其对应的用户时间指纹相同,从而能够实现同一终端中的跨应用身份识别;此外,本实施例无需获取系统高级别权限即可生成用户时间指纹,保障用户系统安全,并有利于用户体验的提升;而且,本实施例无需用户注册,操作简单易行,适于大规模应用与实施。

实施例二

图2示出了根据本发明实施例二提供的一种用户身份识别方法的流程示意图。其中,本实施例所提供的用户身份识别方法是针对于实施例一中用户身份识别方法的进一步优化。

如图2所示,该方法包括:

步骤S210:计算用户终端与对应的授时服务器之间的时间差,根据时间差,生成与用户终端对应的用户时间指纹。

其中,本步骤的具体实施过程可参照实施例一中相应部分的描述,本实施例在此不做赘述。

步骤S220:根据用户终端的预设类型设备信息,生成与用户终端对应的用户设备指纹。

其中,预设类型设备信息包括以下信息中的至少一种:系统版本信息、屏幕分辨率信息、CPU信息,GPU信息、以及声卡指纹信息。其中,用户终端的预设类型设备信息不同,其对应的用户设备指纹不同。其中,本实施例对预设类型设备信息的提取方式不作限定,例如可通过canvas绘制提取GPU信息,通过音频播放提取声卡指纹信息等等。

步骤S230:根据用户终端对应的网络出口IP信息,生成与用户终端对应的用户网络指纹。

其中,用户终端在向服务器发送信息时,会携带相应的网络出口IP信息,不同用户终端其对应的网络出口IP信息会存在不同,从而可根据用户终端对应的网络出口IP信息,生成与用户终端对应的用户网络指纹。

此外,本实施例对步骤S210,步骤S220及步骤S230的具体执行顺序不做限定。

步骤S240:基于用户设备指纹和/或用户网络指纹,以及用户时间指纹,对用户身份进行识别。

具体地,当两个用户终端的用户设备指纹和/或用户网络指纹,以及用户时间指纹相同时,则确定该两个用户终端为同一用户。

由此可见,本实施例在用户时间指纹的基础上,进一步地结合用户设备指纹和/或用户网络指纹来综合地对用户身份进行识别,从而能够进一步地提升用户身份的识别精度。

实施例三

图3示出了根据本发明实施例三提供的一种用户身份识别方法的流程示意图。其中,本实施例所提供的用户身份识别方法是针对于实施例一中用户身份识别方法的进一步优化。

如图3所示,该方法包括:

步骤S310:当监测到第一预设触发操作时,生成第一预设触发操作对应的第一用户终端的用户时间指纹。

步骤S320:将第一用户终端的用户时间指纹存储至预设指纹库中。

步骤S330:当监测到第二预设触发操作时,生成第二预设触发操作对应的第二用户终端的用户时间指纹。

步骤S340:将第二用户终端对应的用户时间指纹与预设指纹库中第一用户终端的用户时间指纹进行比对,若比对一致,则确定第二用户终端与该第一用户终端为同一用户。

在一种可选的实施方式中,步骤S310-步骤S340可应用于利用老用户来获取新用户的场景中。其中,在现有的利用老用户来获取新用户的场景中,新用户在点击老用户分享的应用链接之后,若未通过该链接进行应用的下载或注册等操作,而是通过应用商城下载该应用,现有技术中将无法建立该新用户与老用户之间的联系,从而不利于应用平台对推广效果进行评估,继而影响后续推广方案的制定。而采用本实施例,无需用户通过链接进行应用下载或注册,便可建立新用户与老用户之间的联系。

具体地,在步骤S310中,第一预设触发操作具体为针对分享链接的点击操作等等,当监测到某终端中发生了针对分享链接的点击操作时,则生成该终端(此处为第一用户终端)的用户时间指纹,并执行步骤S320将第一用户终端的用户时间指纹存储至预设指纹库中;进一步执行步骤S330,在该步骤中第二预设触发操作具体为对预设APP的下载等操作,从而在监测到某终端中发生了对预设APP的下载操作时,生成该终端(此处为第二用户终端)的用户时间指纹;进一步执行步骤S340,将新生成的第二用户终端的用户时间指纹与预设指纹库中的用户时间指纹进行比对,若第二用户终端的用户时间指纹与某第一户终端的用户时间指纹比对一致,则确定该第二用户终端与该第一用户终端为同一用户。可选的,在监测到第一预设触发操作之后,可获取第一用户终端的上游用户,该上游用户为老用户,并在确定第二用户终端与该第一用户终端为同一用户之后,向该第一用户的上游用户分配对应的电子资源,其中,该电子资源可以为优惠券等返利资源。

举例来说,用户A在某用户终端中点击了上游用户B分享的APP1的推广链接,即执行了第一预设触发操作,此时生成该点击操作对应的用户终端C1(第一用户终端)的用户时间指纹,并将C1的用户时间指纹进行存储,其中,此处的用户终端C1仅仅是系统为便于数据存储及后续指纹比对而随机分配的标识;进一步,用户A并未通过该链接进行APP1的下载及注册,而是通过应用商城下载该APP1,即执行了第二预设触发操作,此时生成该下载操作对应的用户终端C2(即第二用户终端)的用户时间指纹其中,用户终端C2也是系统随机分配的标识;进一步地,将用户终端C2的用户时间指纹与指纹库中的用户时间指纹进行一一对比,用户终端C2与用户终端C1的用户时间指纹相同,其同属于同一用户。并且,在确定用户终端C2与用户终端C1同属同一用户后,表明上游用户的推广任务完成,继而为该上游用户分配优惠券等返利资源。

在另一种可选的实施方式中,步骤S310-步骤S340可应用于跨应用的信息推广场景中。在该场景中,第一预设触发操作可以为第一应用的使用操作,第二预设触发操作可以为第二应用的打开等操作。可选的,在确定第二用户终端与该第一用户终端为同一用户之后,可获取记录的第一用户终端的历史数据;进一步根据历史数据生成推广信息,并在第二用户终端中展示推广信息。

举例来说,在某用户终端中打开APP1后,即执行了第一预设触发操作,此时生成运行着APP1的用户终端C1(第一用户终端)的用户时间指纹,并将C1的用户时间指纹进行存储,其中,此处的用户终端C1仅仅是系统为便于数据存储及后续指纹比对而随机分配的标识;进一步在关闭APP1打开APP2后,即执行了第二预设触发操作,此时生成运行着APP2的用户终端C2(即第二用户终端)的用户时间指纹其中,用户终端C2也是系统随机分配的标识;进一步地,将用户终端C2的用户时间指纹与指纹库中的用户时间指纹进行一一对比,用户终端C2与用户终端C1的用户时间指纹相同,其同属于同一用户。从而,可以根据用户在使用APP1时的历史数据(即记录的第一用户终端的历史数据)生成推广信息,并在使用APP2时进行展示(即在第二用户终端中展示推广信息)。如,通过用户在APP1时的历史数据,分析出该用户欲搜索X商品,从而可以在APP2使用过程中展示该X商品的推广信息。

由此可见,本实施例能够在利用老用户来获取新用户的场景中,在用户未通过分享链接进行下载或注册等操作时,仍能建立新老用户之间的连接,从而便于对推广效果的评估;并且能够实现跨应用的信息推广,有利于提升用户体验。

实施例四

根据本发明实施例四提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的方法。

可执行指令具体可以用于使得处理器执行以下操作:

计算用户终端与对应的授时服务器之间的时间差;

根据所述时间差,生成所述用户终端的用户时间指纹;

基于所述用户时间指纹,进行用户身份识别。

在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:

用户终端向对应的授时服务器发送授时请求,并获取所述授时请求对应的授时请求响应参数;

根据所述授时请求响应参数,计算用户终端与对应的授时服务器之间的时间差;

其中,所述授时请求响应参数包括以下参数中至少一种:用户终端发起授时请求的第一时间,授时响应消息中包含的授时服务器接收授时请求的第二时间,以及用户终端接收到授时响应消息的第三时间。

在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:

根据所述第一时间以及所述第三时间,计算单程网络耗时;

根据所述第一时间、所述第二时间以及所述单程网络耗时,计算用户终端与对应的授时服务器之间的时间差;和/或,根据所述第二时间、所述第三时间以及所述单程网络耗时,计算用户终端与对应的授时服务器之间的时间差。

在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:

所述授时请求为多个;

针对于任一授时请求,根据该授时请求对应的授时请求响应参数,计算该授时请求对应的用户终端与授时服务器之间的候选时间差;

根据多个候选时间差的平均值,计算用户终端与对应的授时服务器之间的时间差。

在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:

S1:计算当前候选时间差集合对应的平均值及偏离阈值;其中,所述候选时间差集合在初始状态下包含所有计算出的候选时间差;

S2:从当前候选时间差集合中剔除偏离候选时间差,从而生成新的候选时间差集合;其中,偏离候选时间差与当前候选时间差集合对应的平均值的差值的绝对值大于当前候选时间差集合对应的偏离阈值;

S3:判断当前剔除操作次数是否大于或等于预设次数;若否,则进一步执行步骤S1;若是,则将所述新的候选时间差集合对应的平均值作为用户终端与对应的授时服务器之间的时间差。

在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:

在所述生成所述用户终端的用户时间指纹之后,当监测到预设事件时,将所述用户时间指纹的状态更改为无效状态。

在一种可选的实施方式中,所述预设事件包括以下事件中的至少一种:

用户终端对应的授时服务器发生切换,与用户终端中预设任务启动时间的时间差值小于或等于预设阈值,用户终端的网络状态发生变化,以及用户终端位置变化超出预设范围。

在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:

在所述生成所述用户终端的用户时间指纹之后,为该用户时间指纹分配对应的有效期限,以及在当前时间超出该有效期限时,将所述用户时间指纹的状态更改为无效状态;

其中,所述有效期限根据用户终端下次进行时间同步的时间确定。

在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:

根据用户终端的预设类型设备信息,生成所述用户终端的用户设备指纹;

基于所述用户时间指纹以及所述用户设备指纹,进行用户身份。

在一种可选的实施方式中,所述预设类型设备信息包括以下信息中的至少一种:

系统版本信息、屏幕分辨率信息、CPU信息,GPU信息、以及声卡指纹信息。

在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:

根据所述用户终端对应的网络出口IP信息,生成所述用户终端的用户网络指纹;

基于所述用户时间指纹以及所述用户网络指纹,进行用户身份识别。

在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:

当监测到第一预设触发操作时,生成所述第一预设触发操作对应的第一用户终端的用户时间指纹;

将所述第一用户终端的用户时间指纹存储至预设指纹库中;

当监测到第二预设触发操作时,生成所述第二预设触发操作对应的第二用户终端的用户时间指纹;

将第二用户终端对应的用户时间指纹与预设指纹库中第一用户终端的用户时间指纹进行比对,若比对一致,则确定第二用户终端与该第一用户终端为同一用户。

在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:

在所述监测到第一预设触发操作之后,获取所述第一用户终端的上游用户;

在所述确定第二用户终端与该第一用户终端为同一用户之后,向该第一用户的上游用户分配对应的电子资源。

在一种可选的实施方式中,所述可执行指令使所述处理器执行如下操作:

在所述确定第二用户终端与该第一用户终端为同一用户之后,获取记录的第一用户终端的历史数据;

根据所述历史数据生成推广信息,并在所述第二用户终端中展示所述推广信息。

由此可见,本实施例利用用户终端与对应的授时服务器之间的时间差来生成用户时间指纹,由于不同的用户终端与对应的授时服务器之间的时间差不同,由此用户时间指纹具有唯一性,从而根据该用户时间指纹能够准确地识别用户身份;并且,本实施例不涉及用户隐私数据的获取,从而保障了用户隐私数据的安全性;再者,本实施例中同一用户终端其对应的用户时间指纹相同,从而能够实现同一终端中的跨应用身份识别;此外,本实施例无需获取系统高级别权限即可生成用户时间指纹,保障用户系统安全,并有利于用户体验的提升;而且,本实施例无需用户注册,操作简单易行,适于大规模应用与实施。

实施例五

图4示出了根据本发明实施例五提供的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。

如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。

其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于上述任一方法实施例中的相关步骤。

具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。

处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。

存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

程序410具体可以用于使得处理器402执行以下操作:

计算用户终端与对应的授时服务器之间的时间差;

根据所述时间差,生成所述用户终端的用户时间指纹;

基于所述用户时间指纹,进行用户身份识别。

在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:

用户终端向对应的授时服务器发送授时请求,并获取所述授时请求对应的授时请求响应参数;

根据所述授时请求响应参数,计算用户终端与对应的授时服务器之间的时间差;

其中,所述授时请求响应参数包括以下参数中至少一种:用户终端发起授时请求的第一时间,授时响应消息中包含的授时服务器接收授时请求的第二时间,以及用户终端接收到授时响应消息的第三时间。

在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:

根据所述第一时间以及所述第三时间,计算单程网络耗时;

根据所述第一时间、所述第二时间以及所述单程网络耗时,计算用户终端与对应的授时服务器之间的时间差;和/或,根据所述第二时间、所述第三时间以及所述单程网络耗时,计算用户终端与对应的授时服务器之间的时间差。

在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:

所述授时请求为多个;

针对于任一授时请求,根据该授时请求对应的授时请求响应参数,计算该授时请求对应的用户终端与授时服务器之间的候选时间差;

根据多个候选时间差的平均值,计算用户终端与对应的授时服务器之间的时间差。

在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:

S1:计算当前候选时间差集合对应的平均值及偏离阈值;其中,所述候选时间差集合在初始状态下包含所有计算出的候选时间差;

S2:从当前候选时间差集合中剔除偏离候选时间差,从而生成新的候选时间差集合;其中,偏离候选时间差与当前候选时间差集合对应的平均值的差值的绝对值大于当前候选时间差集合对应的偏离阈值;

S3:判断当前剔除操作次数是否大于或等于预设次数;若否,则进一步执行步骤S1;若是,则将所述新的候选时间差集合对应的平均值作为用户终端与对应的授时服务器之间的时间差。

在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:

在所述生成所述用户终端的用户时间指纹之后,当监测到预设事件时,将所述用户时间指纹的状态更改为无效状态。

在一种可选的实施方式中,所述预设事件包括以下事件中的至少一种:

用户终端对应的授时服务器发生切换,与用户终端中预设任务启动时间的时间差值小于或等于预设阈值,用户终端的网络状态发生变化,以及用户终端位置变化超出预设范围。

在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:

在所述生成所述用户终端的用户时间指纹之后,为该用户时间指纹分配对应的有效期限,以及在当前时间超出该有效期限时,将所述用户时间指纹的状态更改为无效状态;

其中,所述有效期限根据用户终端下次进行时间同步的时间确定。

在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:

根据用户终端的预设类型设备信息,生成所述用户终端的用户设备指纹;

基于所述用户时间指纹以及所述用户设备指纹,进行用户身份。

在一种可选的实施方式中,所述预设类型设备信息包括以下信息中的至少一种:

系统版本信息、屏幕分辨率信息、CPU信息,GPU信息、以及声卡指纹信息。

在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:

根据所述用户终端对应的网络出口IP信息,生成所述用户终端的用户网络指纹;

基于所述用户时间指纹以及所述用户网络指纹,进行用户身份识别。

在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:

当监测到第一预设触发操作时,生成所述第一预设触发操作对应的第一用户终端的用户时间指纹;

将所述第一用户终端的用户时间指纹存储至预设指纹库中;

当监测到第二预设触发操作时,生成所述第二预设触发操作对应的第二用户终端的用户时间指纹;

将第二用户终端对应的用户时间指纹与预设指纹库中第一用户终端的用户时间指纹进行比对,若比对一致,则确定第二用户终端与该第一用户终端为同一用户。

在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:

在所述监测到第一预设触发操作之后,获取所述第一用户终端的上游用户;

在所述确定第二用户终端与该第一用户终端为同一用户之后,向该第一用户的上游用户分配对应的电子资源。

在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:

在所述确定第二用户终端与该第一用户终端为同一用户之后,获取记录的第一用户终端的历史数据;

根据所述历史数据生成推广信息,并在所述第二用户终端中展示所述推广信息。

由此可见,本实施例利用用户终端与对应的授时服务器之间的时间差来生成用户时间指纹,由于不同的用户终端与对应的授时服务器之间的时间差不同,由此用户时间指纹具有唯一性,从而根据该用户时间指纹能够准确地识别用户身份;并且,本实施例不涉及用户隐私数据的获取,从而保障了用户隐私数据的安全性;再者,本实施例中同一用户终端其对应的用户时间指纹相同,从而能够实现同一终端中的跨应用身份识别;此外,本实施例无需获取系统高级别权限即可生成用户时间指纹,保障用户系统安全,并有利于用户体验的提升;而且,本实施例无需用户注册,操作简单易行,适于大规模应用与实施。

在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

本发明公开了:A1.一种用户身份识别方法,所述方法包括:

计算用户终端与对应的授时服务器之间的时间差;

根据所述时间差,生成所述用户终端的用户时间指纹;

基于所述用户时间指纹,进行用户身份识别。

A2.根据A1所述的方法,其中,所述计算用户终端与对应的授时服务器之间的时间差进一步包括:

用户终端向对应的授时服务器发送授时请求,并获取所述授时请求对应的授时请求响应参数;

根据所述授时请求响应参数,计算用户终端与对应的授时服务器之间的时间差;

其中,所述授时请求响应参数包括以下参数中至少一种:用户终端发起授时请求的第一时间,授时响应消息中包含的授时服务器接收授时请求的第二时间,以及用户终端接收到授时响应消息的第三时间。

A3.根据A2所述的方法,所述根据所述授时请求响应参数,计算用户终端与对应的授时服务器之间的时间差进一步包括:

根据所述第一时间以及所述第三时间,计算单程网络耗时;

根据所述第一时间、所述第二时间以及所述单程网络耗时,计算用户终端与对应的授时服务器之间的时间差;和/或,根据所述第二时间、所述第三时间以及所述单程网络耗时,计算用户终端与对应的授时服务器之间的时间差。

A4.根据A2或A3所述的方法,其中,所述授时请求为多个;

则所述根据所述授时请求响应参数,计算用户终端与对应的授时服务器之间的时间差进一步包括:

针对于任一授时请求,根据该授时请求对应的授时请求响应参数,计算该授时请求对应的用户终端与授时服务器之间的候选时间差;

根据多个候选时间差的平均值,计算用户终端与对应的授时服务器之间的时间差。

A5.根据A4所述的方法,其中,所述根据多个候选时间差的平均值,计算用户终端与授时服务器之间的时间差进一步包括:

S1:计算当前候选时间差集合对应的平均值及偏离阈值;其中,所述候选时间差集合在初始状态下包含所有计算出的候选时间差;

S2:从当前候选时间差集合中剔除偏离候选时间差,从而生成新的候选时间差集合;其中,偏离候选时间差与当前候选时间差集合对应的平均值的差值的绝对值大于当前候选时间差集合对应的偏离阈值;

S3:判断当前剔除操作次数是否大于或等于预设次数;若否,则进一步执行步骤S1;若是,则将所述新的候选时间差集合对应的平均值作为用户终端与对应的授时服务器之间的时间差。

A6.根据A1-A5中任一项所述的方法,其中,在所述生成所述用户终端的用户时间指纹之后,所述方法还包括:

当监测到预设事件时,将所述用户时间指纹的状态更改为无效状态。

A7.根据A6所述的方法,其中,所述预设事件包括以下事件中的至少一种:

用户终端对应的授时服务器发生切换,与用户终端中预设任务启动时间的时间差值小于或等于预设阈值,用户终端的网络状态发生变化,以及用户终端位置变化超出预设范围。

A8.根据A1-A5中任一项所述的方法,其中,在所述生成所述用户终端的用户时间指纹之后,所述方法还包括:为该用户时间指纹分配对应的有效期限,以及在当前时间超出该有效期限时,将所述用户时间指纹的状态更改为无效状态;

其中,所述有效期限根据用户终端下次进行时间同步的时间确定。

A9.根据A1-A8中任一项所述的方法,其中,所述方法还包括:根据用户终端的预设类型设备信息,生成所述用户终端的用户设备指纹;

则所述基于所述用户时间指纹,进行用户身份识别进一步包括:基于所述用户时间指纹以及所述用户设备指纹,进行用户身份。

A10.根据A9所述的方法,其中,所述预设类型设备信息包括以下信息中的至少一种:

系统版本信息、屏幕分辨率信息、CPU信息,GPU信息、以及声卡指纹信息。

A11.根据A1-A10中任一项所述的方法,其中,所述方法还包括:根据所述用户终端对应的网络出口IP信息,生成所述用户终端的用户网络指纹;

则所述基于所述用户时间指纹,对用户身份进行识别进一步包括:基于所述用户时间指纹以及所述用户网络指纹,进行用户身份识别。

A12.根据A1-A11中任一项所述的方法,其中,所述生成所述用户终端的用户时间指纹,基于所述用户时间指纹,进行用户身份识别进一步包括:

当监测到第一预设触发操作时,生成所述第一预设触发操作对应的第一用户终端的用户时间指纹;

将所述第一用户终端的用户时间指纹存储至预设指纹库中;

当监测到第二预设触发操作时,生成所述第二预设触发操作对应的第二用户终端的用户时间指纹;

将第二用户终端对应的用户时间指纹与预设指纹库中第一用户终端的用户时间指纹进行比对,若比对一致,则确定第二用户终端与该第一用户终端为同一用户。

A13.根据A12所述的方法,其中,在所述监测到第一预设触发操作之后,所述方法还包括:获取所述第一用户终端的上游用户;

则在所述确定第二用户终端与该第一用户终端为同一用户之后,所述方法还包括:向该第一用户的上游用户分配对应的电子资源。

A14.根据A12所述的方法,其中,在所述确定第二用户终端与该第一用户终端为同一用户之后,所述方法还包括:

获取记录的第一用户终端的历史数据;

根据所述历史数据生成推广信息,并在所述第二用户终端中展示所述推广信息。

本发明还公开了:B15.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如下操作:

计算用户终端与对应的授时服务器之间的时间差;

根据所述时间差,生成所述用户终端的用户时间指纹;

基于所述用户时间指纹,进行用户身份识别。

B16.根据B15所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:

用户终端向对应的授时服务器发送授时请求,并获取所述授时请求对应的授时请求响应参数;

根据所述授时请求响应参数,计算用户终端与对应的授时服务器之间的时间差;

其中,所述授时请求响应参数包括以下参数中至少一种:用户终端发起授时请求的第一时间,授时响应消息中包含的授时服务器接收授时请求的第二时间,以及用户终端接收到授时响应消息的第三时间。

B17.根据B16所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:

根据所述第一时间以及所述第三时间,计算单程网络耗时;

根据所述第一时间、所述第二时间以及所述单程网络耗时,计算用户终端与对应的授时服务器之间的时间差;和/或,根据所述第二时间、所述第三时间以及所述单程网络耗时,计算用户终端与对应的授时服务器之间的时间差。

B18.根据B16或B17所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:

所述授时请求为多个;

针对于任一授时请求,根据该授时请求对应的授时请求响应参数,计算该授时请求对应的用户终端与授时服务器之间的候选时间差;

根据多个候选时间差的平均值,计算用户终端与对应的授时服务器之间的时间差。

B19.根据B18所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:

S1:计算当前候选时间差集合对应的平均值及偏离阈值;其中,所述候选时间差集合在初始状态下包含所有计算出的候选时间差;

S2:从当前候选时间差集合中剔除偏离候选时间差,从而生成新的候选时间差集合;其中,偏离候选时间差与当前候选时间差集合对应的平均值的差值的绝对值大于当前候选时间差集合对应的偏离阈值;

S3:判断当前剔除操作次数是否大于或等于预设次数;若否,则进一步执行步骤S1;若是,则将所述新的候选时间差集合对应的平均值作为用户终端与对应的授时服务器之间的时间差。

B20.根据B15-B19中任一项所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:

在所述生成所述用户终端的用户时间指纹之后,当监测到预设事件时,将所述用户时间指纹的状态更改为无效状态。

B21.根据B20所述的计算设备,其中,所述预设事件包括以下事件中的至少一种:

用户终端对应的授时服务器发生切换,与用户终端中预设任务启动时间的时间差值小于或等于预设阈值,用户终端的网络状态发生变化,以及用户终端位置变化超出预设范围。

B22.根据B15-B19中任一项所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:

在所述生成所述用户终端的用户时间指纹之后,为该用户时间指纹分配对应的有效期限,以及在当前时间超出该有效期限时,将所述用户时间指纹的状态更改为无效状态;

其中,所述有效期限根据用户终端下次进行时间同步的时间确定。

B23.根据B15-B22中任一项所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:

根据用户终端的预设类型设备信息,生成所述用户终端的用户设备指纹;

基于所述用户时间指纹以及所述用户设备指纹,进行用户身份。

B24.根据B23所述的计算设备,其中,所述预设类型设备信息包括以下信息中的至少一种:

系统版本信息、屏幕分辨率信息、CPU信息,GPU信息、以及声卡指纹信息。

B25.根据B15-B24中任一项所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:

根据所述用户终端对应的网络出口IP信息,生成所述用户终端的用户网络指纹;

基于所述用户时间指纹以及所述用户网络指纹,进行用户身份识别。

B26.根据B15-B25中任一项所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:

当监测到第一预设触发操作时,生成所述第一预设触发操作对应的第一用户终端的用户时间指纹;

将所述第一用户终端的用户时间指纹存储至预设指纹库中;

当监测到第二预设触发操作时,生成所述第二预设触发操作对应的第二用户终端的用户时间指纹;

将第二用户终端对应的用户时间指纹与预设指纹库中第一用户终端的用户时间指纹进行比对,若比对一致,则确定第二用户终端与该第一用户终端为同一用户。

B27.根据B26所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:

在所述监测到第一预设触发操作之后,获取所述第一用户终端的上游用户;

在所述确定第二用户终端与该第一用户终端为同一用户之后,向该第一用户的上游用户分配对应的电子资源。

B28.根据B26所述的计算设备,其中,所述可执行指令使所述处理器执行如下操作:

在所述确定第二用户终端与该第一用户终端为同一用户之后,获取记录的第一用户终端的历史数据;

根据所述历史数据生成推广信息,并在所述第二用户终端中展示所述推广信息。

本发明还公开了:C29.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-A14中任一项所述的用户身份识别方法对应的操作。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号