一种设备识别方法及装置、设备、存储介质与流程

文档序号:33711226发布日期:2023-03-31 23:56阅读:49来源:国知局
一种设备识别方法及装置、设备、存储介质与流程

1.本技术涉及信息交互技术领域,特别涉及一种设备识别方法及装置、计算设备和计算机可读存储介质。


背景技术:

2.随着现代生活的快速发展,设备识别码成为了串联整个用户日常行为操作生命周期的重要元素,为了后续更好的进行用户行为分析和完善应用在设备上使用的策略,例如特定用户的推荐,以及用户风控、用户安全等操作,都需要通过设备识别码识别到设备,从而识别到设备对应的用户行为。
3.目前,获取设备识别码的方式都必须要基于与第三方服务器建立http请求交互,获取过程需要网络支持且耗时,导致用户在使用设备应用时不得不等待网络交互后才能进行下一步功能操作,效率较低,导致用户体验和转化收到较大影响,因此亟需一种能够快速获取设备识别码并能够准确识别设备的方法。


技术实现要素:

4.有鉴于此,本技术实施例提供了一种设备识别方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
5.根据本技术实施例的第一方面,提供了一种设备识别码生成方法,应用于客户端,该方法包括:
6.获取设备标识;
7.根据所述设备标识生成设备识别码,并在本地进行缓存;
8.当应用执行业务操作时,向服务器发送包括所述设备识别码和设备标识的业务请求。
9.根据本技术实施例的第二方面,提供了一种设备识别方法,应用于服务器,该方法包括:
10.接收业务请求,所述业务请求包括设备识别码和设备标识;
11.判断所述设备识别码是否存在;
12.若存在,确定所述设备为旧设备,向客户端返回业务响应数据;
13.若不存在,判断所述设备标识是否存在;
14.若存在,确定所述设备为旧设备,将所述设备识别码与所述设备标识关联存储,向客户端返回业务响应数据;
15.若不存在,确定所述设备为新设备,根据所述设备识别码、所述设备标识生成关联信息并存储,向客户端返回业务响应数据。
16.根据本技术实施例的第三方面,提供了一种设备识别码生成装置,包括:
17.获取模块:用于获取设备标识;
18.生成模块:用于根据所述获取模块获取的设备标识生成设备识别码,并在本地进
行缓存;
19.发送模块:用于在执行业务操作时向服务器发送包括所述设备识别码和设备标识的业务请求。
20.根据本技术实施例的第四方面,提供了一种设备识别装置,包括:
21.接收模块:用于接收业务请求,所述业务请求包括设备识别码和设备标识;
22.第一判断模块:用于判断所述设备识别码是否存在;
23.发送模块:用于所述第一判断模块判断所述设备识别码存在时,向客户端返回业务响应数据;
24.第二判断模块:用于所述第一判断模块判断所述设备识别不码存在时,判断所述设备标识是否存在;
25.第一处理模块:用于所述第二判断模块判断所述设备标识存在时,确定所述设备为旧设备,将所述设备识别码与所述设备标识关联存储,向客户端返回业务响应数据;
26.第二处理模块:用于所述第二判断模块判断所述设备标识不存在时,确定所述设备为新设备,根据所述设备识别码、所述设备标识生成关联信息并存储,向客户端返回业务响应数据。
27.根据本技术实施例的第五方面,提供了一种设备识别系统,包括上述所述设备识别码生成装置和所述设备识别装置。
28.根据本技术实施例的第六方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以上所述方法的步骤。
29.根据本技术实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现以上所述方法的步骤。
30.本技术实施例中,根据获取的设备标识生成设备识别码,并保存在本地,在应用执行业务操作时,向服务器发送包括所述设备识别码的业务请求。服务器接收到业务请求后,根据设备识别码和设备标识对设备进行识别。与现有技术相比,本技术实施例的方案不仅可以在一个或者某几个设备标识发生变化的时候,能够高效生成设备识别码,保障了设备应用使用的稳定性;还解决了用户使用应用时强行依赖服务从而无法获取到设备识别码造成的问题;同时,服务器可以在一个或者某几个设备标识发生变化的时候也能够准确对设备进行识别,提高了后期用户行为分析的准确性和完整性。
附图说明
31.图1是本技术实施例提供的计算设备的结构框图;
32.图2是本技术实施例提供的一种设备识别码生成方法的流程示意图;
33.图3是本技术实施例提供的一种设备识别方法的流程示意图;
34.图4是本技术实施例提供的设备识别码生成装置的结构示意图;
35.图5是本技术实施例提供的设备识别装置的结构示意图。
具体实施方式
36.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以
很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
37.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
38.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“响应于确定”。
39.在本技术中,提供了一种设备识别方法及系统、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
40.图1示出了根据本技术一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
41.计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
42.在本技术的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
43.计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
44.其中,处理器120可以执行图2所示的设备识别码生成方法及图3所示的设备识别方法中的步骤。
45.用户在使用设备过程中,通常都会接收到一些服务推送的信息。对于设备应用厂商来说,为了更好的进行用户行为分析和完善应用在设备上的使用,例如特定用户的推荐,以及用户风控、用户安全等操作,都需要通过设备参数与用户数据进行结合分析,从而识别到设备对应的用户行为。其中,设备参数包括设备识别码,现有技术中设备识别码都是通过第三方服务器生成的,那么设备识别码的获取都须基于与第三方服务器的交互请求,例如
公开号为cn113032019a的申请文件。
46.但是,上述现有技术在网络服务不可用的情况下存在无法及时获取设备识别码,从而无法获取数据的问题,例如,在游戏场景中,用户在打开游戏后需要快速进入游戏体验,用户登录页面以及其他个性化渲染页面等均需通过设备识别码才可用,而设备识别码需连接网络才能获取,在网络服务波动或不可用的情况下就会造成不好的用户体验。另外,用户在单机游戏时大多数会在无网络的情况下进行,这意味着无法获取设备标识,即在设备上所产生的行为数据与设备标识无法关联,等待有网络时将行为数据再上传至服务器时,服务器无法识别收到的数据所属的设备,因此使得用户行为不可控。
47.因此,在本技术实施例中,为了解决上述问题,提出了一种设备识别码生成方法。图2示出了根据本技术一实施例的设备识别码生成方法的流程示意图,应用于客户端,具体适用于在客户端上运行的应用,该方法包括步骤202至步骤206。
48.步骤202:获取设备标识;
49.在一种可行的实施方式中,应用安装或首次启动时,获取设备标识;
50.具体的,设备标识包括但不限于:imei(国际移动设备识别码)、guid(全局唯一标识符)、oaid(广告标识符)、uuid(通用唯一识别码)、idfa(identifier for advertising);
51.进一步的,所述设备标识中imei、guid、oaid、uuid为安卓设备所具有的标识,所述设备标识中idfa、uuid为ios设备所具有的标识。
52.在一种可行的实施方式中,获取设备标识具体包括:
53.确定当前设备的设备系统类型;
54.当确定设备系统类型为android时,顺序获取imei、guid、oaid、uuid中的一个或多个;
55.当设备系统类型为ios时,获取idfa、uuid中的一个。
56.由于随着移动端设备对隐私行为的保护,在android或ios侧的imei和idfa越来越难获取,并且在后续系统更新迭代的情况下可能无法获取到imei和idfa,因此本实施例中,通过顺序获取的方式获取设备标识中的一个标识即可生成设备对应的设备识别码,提高了生成效率,同时也能够兼容具有隐私限制的设备标识的获取情况。
57.在一种可行的实施方式中,所述客户端包括sdk中间件;
58.具体的,获取设备标识具体包括:客户端通过函数调用sdk中间件,通过sdk中间件获取设备标识。
59.在上述具体实施方式中,获取设备标识的方法是本领域技术人员熟知的方式,本实施例对此不做特别限定。
60.步骤204:根据设备标识生成设备识别码;
61.在一种可行的实施方式中,根据设备标识生成设备识别码具体包括:
62.根据设备标识通过预设算法计算得到预设长度的字符串,将字符串作为设备识别码。
63.具体的,预设算法包括md5信息摘要算法,预设算法还包括补位算法;
64.具体的,预设长度为4字节32位;
65.例如,设备标识imei为:867286030445826;
66.生成的设备识别码为:9f89c84a559f573636a47ff8daed0d33。
67.在一种可行的实施方式中,根据设备标识生成设备识别码具体包括:客户端通过sdk中间件生成设备识别码。
68.本实施例中,生成设备识别码之后还包括:将获取的设备标识和设备识别码存储在本地,以便于后续获取使用;
69.具体的,当设备系统为android时,可选择内部方式或外部方式进行存储;当设备系统为ios时,可选择沙盒和/或钥匙串方式进行存储。
70.在上述具体实施方式中,根据设备标识生成设备识别码的方法以及设备识别码存储的存储方式,也可以是其他的本领域技术人员熟知的方式,本实施例对此不做特别限定。
71.步骤206:当应用执行业务操作时,向服务器发送包括设备识别码和设备标识的业务请求。
72.在一种可行的实施方式中,向服务器发送包括设备识别码和设备标识的业务请求之前还包括:
73.判断设备识别码是否存在于客户端本地缓存;
74.若存在则直接获取;
75.若不存在则根据设备标识生成设备识别码。
76.由于设备识别码会在应用安装或首次启动时生成,在用户使用应用的操作过程中会存在误删除、恶意强制删除等情形,因此本实施例在应用向服务器发送业务请求之前增加了再次判断设备识别码是否存在的方案,以便于后续用户体验,用户安全,用户风控等工作的正常进行。
77.在一种可行的实施方式中,向服务器发送包括设备识别码和设备标识的业务请求具体包括:通过sdk中间件向服务器发送包括设备识别码和设备标识的业务请求。
78.在本实施例中,通过sdk中间件向服务器发送业务请求之前还包括获取能够获取到的所有设备标识;
79.具体的,向服务器发送的业务请求中还包括获取到的所有设备标识;
80.在另一种可行的实施方式中,向服务器发送业务请求之前还包括获取设备基础信息;其中,设备基础信息包括但不限于:系统版本、设备型号、设备厂商、设备当前网络状态、设备内存状态;
81.具体的,向服务器发送的业务请求中还包括获取到的设备基础信息。
82.在本实施例中,应用执行业务操作具体包括应用需要与服务器进行交互发起的所有请求。
83.具体的,业务操作包括:登录、支付等。
84.进一步的,向服务器发送的业务请求中还包括业务操作对应的用户行为数据。
85.在一种可行的实施方式中,所述方法还包括:在识别到网络访问从不可用变成可用情况时,向服务器发送包括设备识别码的用户行为数据,以使服务器能够及时获取用户行为数据,对用户行为进行准确分析。
86.在本技术的上述实施例中,首先,通过获取多维的设备标识,根据获取的设备标识通过自定义算法生成了具有唯一性的设备识别码,从而可以在一个或者某几个设备标识发生变化的时候,能够高效生成设备识别码、并通过设备识别码进行后续操作,保障了设备应用使用的稳定性;其次,在后续行为中都是用本地生成的设备识别码,不会因为设备识别的
网络或者服务问题导致不可用,解决了用户使用应用时强行依赖第三方服务从而无法获取到设备识别码造成的问题,能够正常实现对用户进行个性化推荐的功能。同时,通过在应用侧的本地存储和与服务器周期交互策略,对用户行为数据进行上报,可以在网络和服务可用的第一时间向服务器发送,保证了上报数据的准确性;此外,现有技术中的设备识别码是由第三方服务器生成后是不变的,当用户恶意通过一台设备为多个用户账号代充值时,业务服务器通过设备识别码是无法识别的,本方案中的设备识别码由客户端在设备侧生成,通过请求将设备识别码发送至业务服务器,能够对使用设备的用户进行风控,避免了风险降低了应用厂商的损失。
87.相应的,与本实施例设备识别码生成方法对应的,本实施例还提供了一种设备识别方法,如图3所示为本技术一实施例的设备识别方法的流程示意图,具体应用于服务器,所述服务器可与客户端进行交互,其中,该方法包括步骤302至步骤312。
88.步骤302:接收业务请求,所述业务请求包括设备识别码和设备标识;
89.在一种可行的实施方式中,服务器接收客户端发送的业务请求;
90.具体的,业务请求包括但不限于登录、支付;
91.具体的,业务请求中包括的设备识别码为发起请求的客户端生成的,属于客户端所属设备的唯一标识。
92.步骤304:判断设备识别码是否存在,若是则执行步骤306,若否则执行步骤308;
93.在一种可行的实施方式中,判断设备识别码是否存在具体包括:根据图数据库或图算法关联算法判断设备识别码是否存在;
94.具体的,服务器获取业务请求中的设备识别码,判断在服务器图数据库中是否存在与该设备识别码相同的数据,若存在相同数据则认为设备识别码存在,若不存在相同数据则认为设备识别码不存在。
95.步骤306:确定设备为旧设备,向客户端返回业务响应数据;
96.具体的,所述设备为客户端所属设备;所述客户端用于向服务器发起请求;
97.进一步地,客户端在所属设备上向服务器发起非首次请求时,该设备为旧设备。
98.步骤308:判断所述设备标识是否存在,若是则执行步骤310,若否则执行步骤312;
99.在一种可行的实施方式中,判断设备标识是否存在具体包括:根据图数据库和/或图算法关联算法判断设备标识是否存在;
100.具体的,服务器获取业务请求中的设备标识,判断在服务器图数据库中是否存在与该设备标识相同的数据,若存在相同数据则认为设备标识存在,若不存在相同数据则认为设备标识不存在。
101.步骤310:确定所述设备为旧设备,将所述设备识别码与所述设备标识关联存储,向客户端返回业务响应数据;
102.在一种可行的实施方式中,将所述设备识别码与所述设备标识关联存储具体包括:通过图算法关联算法将所述设备识别码与所述设备标识关联存储在图数据库中。
103.步骤312:确定所述设备为新设备,根据所述设备识别码、所述设备标识生成关联信息并存储,向客户端返回业务响应数据。
104.在一种可行的实施方式中,根据所述设备识别码、所述设备标识生成关联信息具体包括:通过图算法关联算法根据所述设备识别码、所述设备标识生成关联信息;
105.具体的,将所述设备识别码、所述设备标识和生成的关联信息通过图数据库存储。
106.在另一种可行的实施方式中,业务请求中还包括:设备基础信息;
107.具体的,当根据设备标识确定当前设备为新设备时,根据设备识别码、设备标识生成关联信息并存储具体包括:
108.根据设备基础信息确定当前设备是否为新设备;
109.若是则根据所述设备识别码、所述设备标识和所述设备基础信息生成关联信息并存储;
110.若否则将所述设备识别码、所述设备标识与所述设备基础信息关联存储。
111.在另一种可行的实施方式中,业务请求中还包括:用户行为数据;
112.具体的,该方法还包括:服务器将用户行为数据与设备识别码、设备标识关联保存。
113.进一步地,当服务器接收到用户行为分析请求时,根据关联保存的用户行为数据与设备识别码、设备标识分析得到用户行为结果。
114.在本技术的上述实施例中,首先,服务器通过应用生成并发送的设备识别码对设备进行识别,由于设备识别码是应用通过自定义算法根据多维设备标识生成的,因此具有设备唯一性,可以在一个或者某几个设备标识发生变化的时候也能够准确对设备进行识别。其次,当设备识别码未能识别时,服务器通过设备标识进行多维度识别,提高了识别的准确性,从而也保证了用户数据的完整性,也提高了后期用户行为分析的准确性和完整性。
115.与上述设备识别码生成方法实施例相对应,本技术还提供了一种设备识别码生成装置,图4示出了本技术一个实施例的一种设备识别码生成装置的结构示意图。如图4所示,该装置400包括:
116.获取模块:用于获取设备标识;
117.生成模块:用于根据所述获取模块获取的设备标识生成设备识别码,并在本地进行缓存;
118.发送模块:用于在执行业务操作时向服务器发送包括所述设备识别码和设备标识的业务请求。
119.上述为本实施例的一种设备识别码生成装置的示意性方案。需要说明的是,该设备识别码生成装置的技术方案与上述的设备识别码生成方法的技术方案属于同一构思,设备识别码生成装置的技术方案未详细描述的细节内容,均可以参见上述设备识别码生成方法的技术方案的描述。
120.与上述设备识别方法实施例相对应,本技术还提供了一种设备识别装置实施例,图5示出了本技术一个实施例的一种设备识别装置的结构示意图。如图5所示,该装置500包括:
121.接收模块:用于接收业务请求,所述业务请求包括设备识别码和设备标识;
122.第一判断模块:用于判断所述设备识别码是否存在;
123.发送模块:用于所述第一判断模块判断所述设备识别码存在时,向客户端返回业务响应数据;
124.第二判断模块:用于所述第一判断模块判断所述设备识别不码存在时,判断所述设备标识是否存在;
125.第一处理模块:用于所述第二判断模块判断所述设备标识存在时,确定所述设备为旧设备,将所述设备识别码与所述设备标识关联存储,向客户端返回业务响应数据;
126.第二处理模块:用于所述第二判断模块判断所述设备标识不存在时,确定所述设备为新设备,根据所述设备识别码、所述设备标识生成关联信息并存储,向客户端返回业务响应数据。
127.上述为本实施例的一种设备识别装置的示意性方案。需要说明的是,该设备识别装置的技术方案与上述的设备识别方法的技术方案属于同一构思,设备识别装置的技术方案未详细描述的细节内容,均可以参见上述设备识别方法的技术方案的描述。
128.本技术一实施例中还提供一种设备识别系统,包括上述所述设备识别码生成装置和所述设备识别装置。
129.本技术一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以上所述方法的步骤。
130.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述所述方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述所述方法的技术方案的描述。
131.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述方法的步骤。
132.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的所述方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述所述方法的技术方案的描述。
133.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
134.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
135.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
136.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部
分,可以参见其它实施例的相关描述。
137.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1