设备信息处理方法及装置与流程

文档序号:15624949发布日期:2018-10-09 22:45阅读:149来源:国知局

本申请涉及计算机技术领域,特别涉及设备信息处理方法及装置。



背景技术:

随着互联网技术的发展,用户会使用终端设备中各种应用程序(app)客户端去访问互联网中各种app页面。用户每次使用某个app客户端访问页面时,网络侧会记录该用户该次业务中的相关数据并与该用户的用户标识或设备标识相关联,以便于基于用户标识或设备标识对该app的用户数据和/或业务数据进行分析,比如分析在一段时间内使用过该app的用户数量,每个用户的使用次数、使用时长,每种业务的使用情况等等。

对于强登录态的app来讲,如即时通讯(im)工具、微博、微信等,用户使用用户标识登录之后才能使用业务功能,网络侧可基于此用户标识来进行数据分析。然而,对于弱登录态的app来讲,如视频app、新闻app这种无需用户使用用户标识登录即可访问页面内容的app,网络侧需要基于设备标识来进行数据分析。

目前,在对弱登录态的app进行数据分析时,通常采用终端设备的硬件信息作为设备标识,如gsm国际移动设备身份码(imei,internationalmobileequipmentidentity),带sim卡的设备的国际移动用户识别码(imsi,internationalmobilesubscriberidentificationnumber)以及带wifi设备的网卡地址(mac,mediumaccesscontrol)等。但是,这些硬件信息在终端设备的使用过程中很容易发生改变(比如通过刷机软件修改),也有很多山寨机会有相同的硬件信息。这样,就使得网络侧获得的设备标识不能唯一标识一个终端设备,更不能唯一标识一个用户,使得数据分析结果不够准确。



技术实现要素:

本申请实例提出了一种设备信息处理方法,包括:当应用客户端启动时,判断本地是否已存有设备标识;当判定本地未存有所述设备标识时,向数据分析服务器发送设备标识请求,以使所述数据分析服务器获取所述应用客户端当前用户的设备标识;从所述数据分析服务器接收所述设备标识并将所述设备标识保存在本地;当判定本地存有所述设备标识时,读取本地保存的所述设备标识,并向所述数据分析服务器发送携带所述设备标识的验证请求,以使所述数据分析服务器对所述设备标识进行验证处理;接收来自所述数据分析服务器的验证结果;根据所述验证结果判断是否需要更新本地保存的所述设备标识;当判定需要更新所述设备标识时,用所述验证结果中携带的新的设备标识替换本地保存的所述设备标识;当向所述数据分析服务器提供业务数据时,读取本地保存的所述设备标识,并将所述设备标识与所述业务数据一起发送至所述数据分析服务器,以使所述数据分析服务器在进行业务数据分析时,以所述设备标识来标识当前用户。

本申请实例提出了一种设备信息处理方法,包括:响应于来自应用客户端的设备标识请求,获取设备标识并返回给所述应用客户端;响应于来自所述应用客户端的携带所述设备标识的验证请求,对所述设备标识进行验证;当所述设备标识验证失败时,获取新的设备标识,并将所述新的设备标识携带在验证结果中返回给所述应用客户端,以使所述应用客户端将本地保存的设备标识替换为所述新的设备标识;接收来自所述应用客户端的业务数据及其关联的设备标识;记录所述业务数据及其关联的所述设备标识;在对所记录的业务数据进行数据分析以确定各用户对于所述应用客户端的使用情况时,以所述设备标识来标识用户。

本申请实例提出了一种设备信息处理装置,包括:判断模块,当应用客户端启动时,判断本地是否已存有设备标识;请求模块,当判定本地未存有所述设备标识时,向数据分析服务器发送设备标识请求,以使所述数据分析服务器获取所述应用客户端当前用户的设备标识;从所述数据分析服务器接收所述设备标识并将所述设备标识保存在本地;验证模块,当判定本地存有所述设备标识时,读取本地保存的所述设备标识,并向所述数据分析服务器发送携带所述设备标识的验证请求,以使所述数据分析服务器对所述设备标识进行验证处理;接收来自所述数据分析服务器的验证结果;根据所述验证结果判断是否需要更新本地保存的所述设备标识;当判定需要更新所述设备标识时,用所述验证结果中携带的新的设备标识替换本地保存的所述设备标识;及数据提供模块,当向所述数据分析服务器提供业务数据时,读取本地保存的所述设备标识,并将所述设备标识与所述业务数据一起发送至所述数据分析服务器,以使所述数据分析服务器在进行业务数据分析时,以所述设备标识来标识当前用户。

本申请实例提出了一种设备信息处理装置,包括:请求处理模块,响应于来自应用客户端的设备标识请求,获取设备标识并返回给所述应用客户端;验证模块,响应于来自所述应用客户端的携带所述设备标识的验证请求,对所述设备标识进行验证;当所述设备标识验证失败时,获取新的设备标识,并将所述新的设备标识携带在验证结果中返回给所述应用客户端,以使所述应用客户端将本地保存的设备标识替换为所述新的设备标识;数据记录模块,接收来自所述应用客户端的业务数据及其关联的设备标识;记录所述业务数据及其关联的所述设备标识;分析模块,在对所述数据记录模块记录的业务数据进行数据分析以确定各用户对于所述应用客户端的使用情况时,以所述设备标识来标识用户。

采用本申请提供的上述方案,能够提高网络侧数据分析的准确性。

附图说明

为了更清楚的说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中,

图1为本申请实例涉及的系统构架图;

图2为本申请实例的方法流程图;

图3为本申请实例的方法流程图;

图4a和4b为本申请实例中设备标识请求和验证请求的处理流程图;

图5为本申请实例中的软件构架图;

图6为本申请实例中数据分析服务器的软件构架图;

图7为本申请实例中的装置组成结构示意图;

图8为本申请实例中的装置组成结构示意图;及

图9为本申请实例中的计算设备组成结构示意图。

具体实施方式

为了描述上的简洁和直观,下文通过描述若干代表性的实施例来对本发明的方案进行阐述。但本文并未示出所有实施方式。实施例中大量的细节仅用于帮助理解本发明的方案,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。说明书和权利要求书中的“包括”是指某种程度上至少包括,应当解释为除了包括之后提到的特征外,其它特征也可以存在。

本申请提出了一种设备信息处理方法,该方法可应用于图1所示的系统构架中。如图1所示,该系统构架包括:应用(app)客户端101、应用服务器102和用于业务数据分析的数据分析服务器103,这些实体可以通过互联网105进行通信。应用客户端101通过访问应用服务器102能够使用应用服务器102提供的各种应用功能,数据分析服务器103可从应用客户端101收集到用户在使用各种应用功能时所产生的各种业务数据,对所收集到的业务数据进行数据分析,进而能够确定各个用户对于应用客户端101的使用情况,比如:指定时间段内使用某app的用户数量、活跃用户数量、用户行为特征等。其中,应用客户端101在上报业务数据给数据分析服务器103时会同时上报自身所在终端设备的设备信息,数据分析服务器103在分析用户的使用情况时,可以用设备信息来标识用户。这里,应用客户端101/应用服务器102可以为各种app的客户端/服务器,如视频客户端/服务器、新闻客户端/服务器等这种弱登录态的app客户端/服务器,终端设备可以为各种便携式电子设备,比如:手机、平板电脑、掌上电脑、超极本、可穿戴设备等。这里,设备信息包括能唯一标识终端设备的设备标识。应用客户端101在本地未保存设备标识时可向数据分析服务器103请求设备标识,由数据分析服务器103为其生成设备标识并返回给应用客户端101,同时,应用客户端101在上报业务数据给数据分析服务器103时可同时上报本地保存的设备标识,数据分析服务器103亦可对来自应用客户端101的设备标识进行在线的验证和/或离线的异常分析,具体处理详见以下实例。

本申请实例提供了一种设备信息处理方法,其可应用于终端设备中的应用客户端101,具体的可以实现于内置于应用客户端101中的软件开发包(sdk),当应用客户端101加载了此种sdk,即可通过此sdk执行此方法。图1中仅示出了一个应用客户端101,在实际的应用场景中,应用客户端101可以有多个,甚至是海量,每一应用客户端都可实现此方法。如图2所示,此方法流程200包括如下步骤:

步骤201:当应用客户端101启动时,判断本地是否已存有设备标识。

步骤202:当判定本地未存有设备标识时,向数据分析服务器103发送设备标识请求,以使服务器103获取此应用客户端当前用户的设备标识。该设备标识可以全局唯一标识此终端设备,也可全局唯一标识当前用户。

步骤203:从数据分析服务器103接收设备标识并将此设备标识保存在本地,之后执行步骤207。

步骤204:当判定本地存有设备标识时,读取本地保存的设备标识,并向数据分析服务器103发送携带所述设备标识的验证请求,以使数据分析服务器103对所述设备标识进行验证处理。

在一些实例中,当应用客户端101启动时,如果发现本地存有设备标识,则可通过心跳报文发送此验证请求,将此设备标识发送到数据分析服务器103以供其验证,当验证通过后,则可在当前业务过程中,将业务数据和此设备标识一起上报到数据分析服务器103,以供其进行分析和统计。

步骤205:接收来自所述服务器的验证结果,根据所述验证结果判断是否需要更新本地保存的所述设备标识。

这里,当验证结果表示验证通过,则不需要更新本地保存的设备标识,当验证结果表示验证未通过,则需要更新本地保存的设备标识。

步骤206:当判定需要更新所述设备标识时,用所述验证结果中携带的新的设备标识替换本地保存的所述设备标识。

步骤207:当向数据分析服务器103提供业务数据时,读取本地保存的设备标识,并将此设备标识与业务数据一起发送至数据分析服务器103,以使数据分析103在进行业务数据分析时以此设备标识来标识用户。

在一些实例中,根据数据分析服务器103的分析和统计需求,可以预先在应用客户端101配置好需要上报的业务数据种类,业务数据和设备标识可以通过统计消息而发送到数据分析服务器103。其中,业务数据可以描述用户使用应用客户端101提供的应用功能的情况,比如:用户浏览某个新闻文章的行为,包括:时间、发表的评论等,或者用户浏览某个推广内容的行为,包括:时间、是否点击落地页等。

在上述实例中,设备标识是由数据分析服务器生成的并由数据分析服务器进行验证,此设备标识是全局的,可唯一标识使用终端设备的用户,因此,用户侧无法模拟出(或者说伪造)此设备标识,进而能够有效识别到用户侧的作弊刷机行为,提升业务数据分析的准确度,进而能尽量避免有作弊刷机行为而给应用服务提供商带来的经济损失,因此,本申请提供的方案也具有较高的市场价值。

在一些实例中,步骤201中可判断应用客户端101的私有目录或本地的公共目录中是否存有设备标识,步骤203中可将设备标识分别保存在此私有目录和公共目录中。这里,在一个终端设备中,每个应用客户端会有一个私有目录,各个应用客户端也可有一个公共目录,每个应用客户端中可以预先设置或者获取到私有目录地址和公共目录地址,因此,可以对私有目录和公共目录进行存取设备标识的操作。另外,本申请中的这种设备标识可以为一文件,该文件可带有特定的标识或名称,这样,应用客户端101通过在私有目录或公有目录中查找这种带有特定标识或名称的文件,可以确定是否存有此设备标识。

在一些实例中,在应用客户端101与数据分析服务器103进行交互时,除了将设备标识上报给数据分析服务器103,还可进一步上报自身所在终端设备的硬件信息和/或用户信息。这里,硬件信息可包括:各种硬件标识、cpu参数、屏幕参数、机型等,用户信息可包括各种应用上注册的用户标识,如qq号、微信号、业务私有id等。其中,硬件标识可以包括:国际移动设备识别码(imei,internationalmobileequipmentidentity)、移动设备识别码(meid,mobileequipmentidentifier)、带sim卡设备的国际移动用户识别码(imsi,internationalmobilesubscriberidentificationnumber)、mac地址、苹果设备的广告商标识(ifa/idfa,apple'sidentifierforadvertisers,用户可自己设置idfa的值)、苹果设备的供应商标识(ifv,apple'sidentifierforvendors,用户删除应用重新安装后,ifv将会变化)等等。具体处理如下:

在步骤207中,当应用客户端101向数据分析服务器103提供业务数据时,进一步执行如下处理:读取本地保存的应用客户端101所在终端设备的硬件信息和/或用户信息;将此硬件信息和/或用户信息与上述设备标识一起发送至数据分析服务器103,以使数据分析服务器103将此硬件信息和/或用户标识与此设备标识关联保存。步骤202中,当应用客户端101向数据分析服务器103发送设备标识请求时,进一步执行如下处理:读取本地保存的上述硬件信息和/或用户标识;将此硬件信息和/或用户标识携带在此设备标识请求中,以使数据分析服务器103确定此硬件信息和/或用户标识关联的设备标识并将其返回给应用客户端101。

在此实例中,由于应用客户端101在与数据分析服务器103交互时,将本地终端设备的硬件信息和/或本地用户的用户标识上报给数据分析服务器103,使得数据分析服务器103能够将已生成的设备标识与硬件信息和/或用户标识关联保存。一旦应用客户端101所在的终端设备丢失了设备标识(如因重新装机、重装/更新应用客户端101而丢失),数据分析服务器103可根据其上报的硬件信息和/或用户标识从已有记录中找回设备标识并发送给应用客户端101。

本申请实例提供了一种设备信息处理方法,其可应用于数据分析服务器103。如图3所示,此方法流程300包括如下步骤:

步骤301:响应于来自应用客户101的设备标识请求,获取设备标识并返回给应用客户端101。

步骤302:响应于来自应用客户端101的携带设备标识的验证请求,对此设备标识进行验证。

步骤303:当此设备标识验证失败(即确定此设备标识不合法)时,获取新的设备标识,并将此新的设备标识携带在验证结果中返回给应用客户端101,以使应用客户端101将本地保存的设备标识替换为此新的设备标识。

步骤304:接收来自应用客户端101的业务数据及其关联的设备标识,记录此业务数据及其关联的所述设备标识。

步骤305:在对所记录的业务数据进行数据分析以确定各用户对于所述应用客户端的使用情况时,以此设备标识来标识用户。

在一些实例中,在步骤301中,当接收到来自应用客户端101的设备标识请求时,进一步对此设备标识请求进行鉴权,当鉴权通过时,再执行所述获取设备标识的处理。这里,为防止非法客户端向数据分析服务器101请求设备标识,可首先对接收到的设备标识请求进行鉴权。在协议上,可采用客户端-服务器双向认证的方式进行鉴权,在会话(session)级别生成客户端和服务端的随机数,根据协商的key计算hash值对比一致后再鉴权通过,继续对设备标识请求的处理。这样,数据消息加密传输,能够保证设备标识分配的安全性。

在一些实例中,步骤304中,当接收来自应用客户端101的业务数据及其关联的设备标识时,可进一步接收与此设备标识关联的硬件信息和/或用户信息,当记录此业务数据关联的设备标识时,可进一步记录与此设备标识关联的此硬件信息和/或用户信息。这样,在步骤301中,当接收到设备标识请求时,所述获取设备标识的处理可包括:从此设备标识请求中提取硬件信息和/或用户信息;判断是否已记录了此硬件信息和/或用户信息关联的设备标识,如果是,则读取已记录的所述关联的设备标识;否则按预定算法生成设备标识。进一步的,在生成设备标识时,还可生成用户在当前业务中的私有标识,此业务中的私有标识也可随设备标识与业务数据一起上报到数据分析服务器,以便数据分析服务器做更细致的分析和统计。

在一些实例中,步骤303中,当设备标识验证失败时,可进一步将此设备标识记录在异常标识数据库;步骤302中,所述对所述设备标识进行验证可包括:判断是否能从异常标识数据库查找到此设备标识,如果是,则确定此设备标识验证失败(即为不合法的设备标识);否则按预定算法对此设备标识进行校验计算,并根据计算结果确定所述设备标识是否验证成功。在此实例中,可以将验证失败的设备标识记录在异常标识数据库,在收到验证请求时,可首先查找异常标识数据库,如果能从异常标识数据库中找到验证请求携带的设备标识,则可直接认定其不合法,验证失败,如果找不到再根据预定的校验算法进行校验计算以确定设备标识是否符合预定的规则,这样,能够提高验证效率,并且异常标识数据库中的记录也可用来做其它的数据分析。

在一些实例中,数据分析服务器103在于应用客户端101交互时,可收集应用客户端101所在终端设备的硬件信息和/或用户信息,还可对响应于设备标识请求而获取的设备标识、响应于验证请求而确定的验证成功及验证失败的设备标识分别进行记录,以便于数据分析服务器103做综合的数据分析。具体的处理如下:

1)在步骤304中,当接收来自应用客户端101的业务数据及其关联的设备标识时,可进一步接收与此设备标识关联的硬件信息和/或用户信息;当记录业务数据时,可进一步将业务数据以及与其关联的设备标识和硬件信息和/或用户信息记录在业务数据库。

2)步骤302中,当接收到验证请求时,进一步从验证请求中提取硬件信息和/或用户信息。

3)步骤303中,当设备标识验证失败时,进一步将此设备标识和所提取的硬件信息和/或用户信息记录在异常标识数据库,将所获取的新的设备标识(从合法标识数据库找回的或者根据算法新生成的)和所提取的硬件信息和/或用户信息记录在合法标识数据库。

4)步骤302中,当设备标识验证成功时,进一步将此设备标识和所提取的硬件信息和/或用户信息记录在在线标识数据库。

5)步骤301中,当接收到设备标识请求时,进一步从所述设备标识请求中提取硬件信息和/或用户信息,并将所获取的设备标识(从合法标识数据库找回的或者根据算法生成的)以及所提取的所述硬件信息和/或用户信息记录在合法标识数据库。

6)进一步的,对从业务数据库、合法标识数据库和在线标识数据库读取到的各业务数据及其关联的设备标识、硬件信息和/或用户信息进行数据分析,确定在线标识数据库中用户行为存在异常的设备标识,将用户行为存在异常的设备标识及其关联的硬件信息和/或用户信息记录在异常标识数据库。

在上述实例中,对各种情况的设备标识(合法的、异常的、在线验证成功的)分别作了记录,结合硬件信息和/或用户标识,可以对在线验证成功的设备标识做进一步的离线分析,发现用户的异常行为,能够进一步过滤掉不合法的设备标识,进一步减少作弊刷机行为给数据分析服务器103带来的干扰,进一步提高数据分析的准确性。

在一些实例中,可进一步对设备标识请求鉴权以及设备标识验证中的异常情况进行分析和统计。具体的,在步骤301中,当设备标识请求鉴权未通过时,进一步将此设备标识请求记录在质量数据库;在步骤303中,当确定设备标识不合法时,将携带此设备标识的验证请求记录在上述质量数据库;进一步的,对此质量数据库中的所述设备标识请求和所述验证请求进行数据统计,获得针对应用客户端101的运营统计结果(比如在预定时间段出现了多少非法设备标识请求、出现了多少不合法的设备标识,进而能够确定用户侧发生的作弊刷机行为次数)。在质量数据库中,可以记录每个设备标识请求对应的硬件信息和/或用户信息、每个验证请求对应的设备标识及硬件信息和/或用户信息,这样就能获取到各种异常情况对应的硬件信息和/或用户信息,进而能够分析出非法请求的用户特征、作弊刷机行为的用户特征等等,以便网络侧能及时对这些用户进行监控。

上述的数据分析服务器可以包括接入层、业务逻辑层、数据层等,还可包括用于离线分析的数据逻辑层。以下图4a和4b给出了在线的设备标识请求和设备标识验证流程实例。

如图4a所示,设备标识(id)请求流程包括以下处理步骤:

步骤401:用户的终端设备中一app客户端启动,该app客户端中本申请提出的sdk(简称appsdk)执行后续处理步骤。

步骤402:判断本地是否存有设备id,如果是,则执行步骤410;否则执行步骤403。

步骤403:向数据分析服务器中的接入层发送设备id请求。

步骤404:该接入层对接收到的设备id请求进行鉴权处理。

步骤405:该接入层判断该设备id请求是否鉴权通过。

步骤406:如果鉴权通过,则将该设备id请求转发到数据分析服务器中的业务逻辑层;否则向appsdk返回拒绝该请求的响应。

步骤407:该业务逻辑层根据接收到的设备id请求,获取到设备id。这里,具体的获取设备id的方法,前文已有描述,可能从数据层保存的设备id中找回该设备id请求对应终端设备的设备id,也可能是首次为该设备id请求对应终端设备生成设备id,此时则更新数据层的全量id数据库(即前述的合法标识数据库),以将所生成的设备id加入此全量id数据库。

步骤408:该业务逻辑层将所获取的设备id返回给该appsdk。

步骤409:该appsdk将所收到的该设备id保存在本地。

步骤410:触发图4b的设备id验证流程。

如图4b所示,设备id校验流程包括以下处理步骤:

步骤411:该appsdk通过心跳报文上报本地已存的设备id到数据分析服务器,该心跳报文携带该设备id,经由接入层到达业务逻辑层。此心跳报文可被视为一种上述的设备标识验证请求。

步骤412:该业务逻辑层对接收到的设备id进行验证处理,具体的验证方法如前文所述,可能查询数据层中的合法id数据库和异常id数据库进行初步的判断,如果无法判断该设备id是否异常,则按预定的算法进行校验计算。当验证未通过时,可获得新的设备id(可能是从合法id数据库找回的也可能根据预定算法生成的)。

步骤413:根据验证结果,更新在线id数据库、质量数据库和异常id数据库。如前文所述,可将验证通过的设备id存入在线id数据库,将验证未通过的不合法设备id存入异常id数据库,将验证未通过的设备id验证请求记录在质量数据库。

步骤414:返回验证结果到该appsdk。如果验证结果表示验证失败(未通过),则验证结果可携带上述获得的新的设备id。

步骤415:该appsdk根据接收到的验证结果判定是否需要更新设备id,如果验证结果表示验证通过,则确定不需要更新设备id,结束当前流程;否则执行步骤416

步骤416:根据验证结果更新本地保存的设备id,将本地保存的设备id替换为验证结果中携带的新的设备id。

图5示出了本申请实例中的软件构架图。如图5所示,终端设备包括多种app应用客户端(如app1和app2),每一app应用客户端中可加载本申请提出的sdk,用于实现上述的设备id请求和验证流程。各app应用客户端中的sdk均可与数据分析服务器进行交互,以请求获得设备id并请求验证设备id。不同app应用客户端中的sdk可获得数据分析服务器生成的可唯一标识此终端设备中用户的设备id,并将该设备id保存在各自的私有目录下,还可将该设备id保存在本地的公有目录下,这样,就实现了一个设备id的多份存储。当一个app客户端由于更新或卸载丢失了私有目录下的设备id,则可从公有目录找回此设备id。如果因终端设备重装系统或者用户换手机等原因丢失了本地的设备id,也可从数据分析服务器的记录中找回该设备id。因此,能够保证各app应用客户端在上报业务数据时及时准确的将设备id带到数据分析服务器,保证数据分析服务器的数据分析的有效性和准确性。

在图5示出的数据分析服务器中,包含接入层、业务逻辑层、数据层和数据逻辑层。其中,接入层用于实现终端设备和数据分析服务器之间的数据交互,将对来自app客户端的请求、消息和数据接入到数据分析服务器,并能对来自app客户端的请求进行鉴权,过滤掉非法的请求,保证通信安全。业务逻辑层可处理来自app客户端的设备id请求和验证请求,在处理过程中可以访问数据层提供的数据并根据处理结果对数据层进行更新处理。数据层记录了有关设备id的各种信息,包括:合法的、异常的、在线验证成功的设备id,各个设备id请求和验证请求的处理结果及过程数据。数据逻辑层可对数据层中提供的数据进行离线分析,进而发现用户行为异常的设备id,对出现异常的各种请求和设备id进行分析统计得到运营统计报告,还可基于合法的设备id对业务数据进行分析和统计,以便确定各app应用客户端的用户使用情况。

图6示出了基于图5所示构架的数据分析服务器一实例的软件构架图,其中未示出接入层。如图6所示,业务逻辑层包括id生成和id校验两个模块,数据层包括全量id数据库(即前述的合法id数据库)、异常id数据库、在线id数据库和质量数据库。数据逻辑层包括运营统计和离线分析两个模块。

其中,id生成模块可针对设备id请求按预定算法生成设备id,并将所生成的设备id加入全量id数据库。id校验模块可对设备id验证请求进行验证处理,在进行验证时,可在异常id数据库中查找该设备id是否已被确定为异常设备id,也可在全量id数据库查验(check)该设备id是否已存在全量id数据库,可根据预定算法对设备id进行校验计算,根据计算结果可以确定该设备id是否异常,如果异常则验证失败,可将其存入异常id数据库,如果验证成功,则将该设备id存入在线id数据库。同时,id校验模块可将验证失败的验证请求记录在质量数据库。进一步的,接入层也可将鉴权失败的设备id请求记录在质量数据库。

进一步的,id生成模块和id校验模块在向全量id数据库、异常id数据库和在线id数据库中存入设备id时,还可同时存入该设备id关联的硬件信息和/或用户标识等等相关参数,这样,离线分析模块和运营统计模块可以根据这些信息进行数据分析和统计。离线分析模块可从全量id数据库和在线id数据库读取设备id及其关联的各种参数,还提取外部数据(可以为前述的业务数据库中的数据)进而能判断出在线id数据库中是否有异常的设备id,当发现一异常设备id时,可将该异常设备id存入异常id数据库。运营统计模块从质量数据库读取各种出现异常的请求的相关信息,进行运营统计,输出运营报告(如运营日报)。离线分析模块还可基于合法的设备id对业务数据进行分析和统计,确定用户对于app客户端的使用情况。

在本技术领域,如何在终端设备上唯一标识一个用户是进行用户分析和产品数据监控的最为关键的一环,也是进行后续所有数据分析工作的根本。在当下终端设备中,安卓机存在大量物理标识号相同的山寨机,所有出厂的机器imei相同,还有很多双卡双待机器在每次读取用户信息的时候可能都读取不同的卡槽信息,更为严重的是用户通过刷机软件对手机进行刷机,所有的用户信息都将变更,以及现在一些作弊渠道商通过程序代码作弊刷机以骗取应用开发商巨额的推广费。而在ios系统中,存在很大量的越狱用户,所用的物理设备id经常变来变去,ios官方提供的设备id,比如mac,udid也会也从某个系统开始不能获取应用,而现在的idfv与idfa也在很多情况下回发生变化。这样,对网络侧的产品用户分析以及推广造成了很多影响。而采用本申请提供的技术,由数据分析服务器负责对设备标识进行统一维护,此设备标识可全局唯一标识一个终端设备或者一个用户,并且该设备标识不会随用户侧的行为而发生改变,能够更为精准的标识终端设备或者用户,进而为产品(应用客户端)的用户数据分析提供了准确的基础,使得网络侧的用户行为分析和产品数据监控更为准确,显著降低应用服务提供商的产品推广费用(比如,其有效地监控了拉新渠道中的作弊刷机渠道,为应用开发商节省了巨大的推广费用),不仅能够改善系统性能,还具有较高的市场价值。

基于上述方法实例,本申请还提出了相应的设备信息处理装置。

本申请实例提出了一种设备信息处理装置,其位于终端设备中的应用客户端101,如图7所示,该装置700包括如下模块:

判断模块701,当应用客户端启动时,判断本地是否已存有设备标识。

请求模块702,当判定本地未存有设备标识时,向数据分析服务器103发送设备标识请求,以使数据分析服务器103获取此应用客户端当前用户的设备标识;从数据分析服务器103接收此设备标识并将此设备标识保存在本地。

验证模块703,当判定本地存有设备标识时,读取本地保存的设备标识,并向数据分析服务器103发送携带此设备标识的验证请求,以使数据分析服务器103对此设备标识进行验证处理;接收来自数据分析服务器103的验证结果;根据此验证结果判断是否需要更新本地保存的此设备标识;当判定需要更新此设备标识时,用此验证结果中携带的新的设备标识替换本地保存的设备标识。

数据提供模块704,当向数据分析服务器103提供业务数据时,读取本地保存的设备标识,并将此设备标识与此业务数据一起发送至数据分析服务器103,以使数据分析服务器103在进行业务数据分析以确定用户对于此应用客户端的使用情况时,以此设备标识来标识用户。

在一些实例中,数据提供模块704,当向数据分析服务器103提供业务数据时,进一步读取本地保存的上述终端设备的硬件信息和/或用户信息;将所述硬件信息和/或所述用户信息与所述设备标识一起发送至数据分析服务器103,以使数据分析服务器103将所述硬件信息和/或所述用户标识与所述设备标识关联保存。请求模块702,当向数据分析服务器103发送设备标识请求时,进一步读取本地保存的所述终端设备的硬件信息和/或用户标识;将所述硬件信息和/或所述用户标识携带在所述设备标识请求中,以使数据分析服务器103确定所述硬件信息和/或所述用户标识关联的所述设备标识并将其返回给应用客户端101。

本申请实例提出了一种设备信息处理装置,其位于数据分析服务器103,如图8所示,该装置800包括如下模块:

请求处理模块801,响应于来自应用客户端101的设备标识请求,获取设备标识并返回给应用客户端101。

验证模块802,响应于来自应用客户端101的携带所述设备标识的验证请求,对所述设备标识进行验证;当所述设备标识验证失败时,获取新的设备标识,并将所述新的设备标识携带在验证结果中返回给应用客户端101,以使应用客户端101将本地保存的设备标识替换为所述新的设备标识。

数据记录模块803,接收来自应用客户端101的业务数据及其关联的设备标识;记录所述业务数据及其关联的所述设备标识。

分析模块804,在对数据记录模块803记录的业务数据进行数据分析以确定各用户对于应用客户端101的使用情况时,以所述设备标识来标识用户。

在一些实例中,装置800可进一步包括:鉴权模块805,当接收到来自应用客户端101的设备标识请求时,对该设备标识请求进行鉴权;当鉴权通过时,将此设备标识请求发送至请求处理模块801。

在一些实例中,数据记录模块803,当接收来自应用客户端101的所述业务数据及其关联的所述设备标识时,进一步记录接收与所述设备标识关联的硬件信息和/或用户信息;当记录所述业务数据关联的所述设备标识时,进一步记录与所述设备标识关联的所述硬件信息和/或用户信息。其中,请求处理模块801,从所述设备标识请求中提取硬件信息和/或用户信息;判断所述数据记录模块是否已记录了所述硬件信息和/或用户信息关联的设备标识,如果是,则读取已记录的所述关联的设备标识;否则按预定算法生成所述设备标识。

在一些实例中,验证模块802,当所述设备标识验证失败时,进一步将所述设备标识记录在数据记录模块803中的异常标识数据库。其中,验证模块802判断是否能从所述异常标识数据库查找到所述设备标识,如果是,则确定所述设备标识验证失败;否则按预定算法对所述设备标识进行校验计算,并根据计算结果确定所述设备标识是否验证成功。

在一些实例中,数据记录模块803,当接收来自应用客户端101的所述业务数据及其关联的所述设备标识时,进一步接收与所述设备标识关联的硬件信息和/或用户信息;当记录所述业务数据时,进一步将所述业务数据以及与其关联的所述设备标识和所述硬件信息和/或用户信息记录在业务数据库。验证模块802,当接收到所述验证请求时,进一步从所述验证请求中提取硬件信息和/或用户信息;当所述设备标识验证失败时,进一步将所述设备标识和所提取的所述硬件信息和/或用户信息记录在数据记录模块803中的异常标识数据库,将所获取的所述新的设备标识和所提取的所述硬件信息和/或用户信息记录在数据记录模块803中的合法标识数据库;当所述设备标识验证成功时,进一步将所述合法的设备标识和所提取的所述硬件信息和/或用户信息记录在数据记录模块803中的在线标识数据库。请求处理模块801,当接收到所述设备标识请求时,进一步从所述设备标识请求中提取硬件信息和/或用户信息,并将所获取的所述设备标识以及所提取的所述硬件信息和/或用户信息记录在所述合法标识数据库。分析模块804,进一步对从所述业务数据库、所述合法标识数据库和所述在线标识数据库读取到的各业务数据及其关联的设备标识、硬件信息和/或用户信息进行数据分析,确定所述在线标识数据库中用户行为存在异常的设备标识,将所述用户行为存在异常的设备标识及其关联的硬件信息和/或用户信息记录在所述异常标识数据库。

在一些实例中,鉴权模块805,当所述设备标识请求鉴权失败时,进一步将所述设备标识请求记录在数据记录模块803中的质量数据库。验证模块802,当所述设备标识验证失败时,进一步将所述验证请求记录在所述质量数据库。该装置800进一步包括:运营统计模块806,对所述质量数据库中的所述设备标识请求和所述验证请求进行数据统计,获得针对所述应用客户端的运营统计结果。

上述实例中,鉴权模块805可位于接入层,请求处理模块801和验证模块802可位于业务逻辑层,数据记录模块803可位于数据层,分析模块804和运营统计模块806可位于数据逻辑层,业务数据库可位于数据记录模块803也可属于外部数据。请求处理模块801可包括上述的id生成模块,验证模块802可包括上述的id校验模块,亦可进一步包括上述的id生成模块。

上述各模块功能的实现原理前文已有详述,这里不再赘述。

在一些实例中,上述设备信息处理装置700和800可运行在各种计算设备中,并加载在该计算设备的存储器中。

图9示出了媒体信息处理装置所在的计算设备的组成结构图。如图9所示,该计算设备包括一个或者多个处理器(cpu)902、通信模块904、存储器906、用户接口910,以及用于互联这些组件的通信总线908。

处理器902可通过通信模块504接收和发送数据以实现网络通信和/或本地通信。

用户接口910包括一个或多个输出设备912,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口910也包括一个或多个输入设备914,其包括诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。

存储器906可以是高速随机存取存储器,诸如dram、sram、ddrram、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。

存储器906存储处理器902可执行的指令集,包括:

操作系统916,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;

应用918,包括各种应用程序,其能够实现上述各实例中的处理流程,比如可以包括图7所示的装置700和/或图8所示的装置800。在一些实例中,装置700可包括图7所示的各模块701~704中的部分或全部模块,各模块701~704可以存储有机器可执行指令。处理器902通过执行存储器906中各模块701~704中的机器可执行指令,进而能够实现上述各模块701~704的功能。在一些实例中,装置800可包括图8所示的各模块801~806中的部分或全部模块,各模块801~806可以存储有机器可执行指令。处理器902通过执行存储器906中各模块801~806中的机器可执行指令,进而能够实现上述各模块801~806的功能。

需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。

各实施例中的硬件模块可以以硬件方式或硬件平台加软件的方式实现。上述软件包括机器可读指令,存储在非易失性存储介质中。因此,各实施例也可以体现为软件产品。

各例中,硬件可以由专门的硬件或执行机器可读指令的硬件实现。例如,硬件可以为专门设计的永久性电路或逻辑器件(如专用处理器,如fpga或asic)用于完成特定的操作。硬件也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。

另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请,本申请还提供了一种非易失性存储介质,其中存储有数据处理程序,这种数据处理程序可用于执行本申请上述方法实例中的任何一种实例。

图7和8中的模块对应的机器可读指令可以使计算机上操作的操作系统等来完成这里描述的部分或者全部操作。非易失性计算机可读存储介质可以是插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器。安装在扩展板或者扩展单元上的cpu等可以根据指令执行部分和全部实际操作。

非易失性计算机可读存储介质包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。

综上所述,权利要求的范围不应局限于以上描述的例子中的实施方式,而应当将说明书作为一个整体并给予最宽泛的解释。

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