一种数据检索方法、装置及电子设备与流程

文档序号:14677693发布日期:2018-06-12 21:43阅读:159来源:国知局
一种数据检索方法、装置及电子设备与流程

本发明涉及计算机技术领域,特别是涉及一种数据检索方法、装置及电子设备。



背景技术:

随着互联网及各种终端技术的高速发展,用户随时都可以通过各类终端,例如,手机、平板电脑、智能电视等,和服务器进行数据交互,从而获得各类信息及获得各类数据服务。

在服务器与终端进行交互的过程中,为了更好的为用户提供个性化的定制服务。服务器可以针对每一个终端生成一个唯一的设备指纹,并将每一个终端对应的设备指纹存储在服务器中。服务器和终端在进行交互时,可以确定出该终端对应的设备指纹,从而可以识别出该终端,并对其进行个性化服务。

目前,在现有技术中,服务器端通常采用MySQL或Redis等数据库,来存储设备指纹以及与设备指纹有关的其他信息。然而随着各类终端数量的爆发式增长,需要存储海量的设备指纹以及与设备指纹有关的其他信息,然而采用现有技术的存储方式,服务器端在进行设备指纹的检索时,需要遍历所存储的大量数据信息才能得到对应的设备指纹,检索效率低下,检索时间较长。



技术实现要素:

本发明实施例的目的在于提供一种数据检索方法、装置及电子设备,以提高检索效率,缩短检索时间。具体技术方案如下:

本发明实施例提供了一种数据检索方法,包括:

获取终端的终端类型,并获取所述终端的至少一个特征的特征类型,以及所述特征类型对应的特征值,所述特征用于区分或识别所述终端;

根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,检索出与所述特征值对应的主索引标识,所述特征索引文件中包含所述特征值与所述主索引标识的对应关系;

根据所述主索引标识,在主索引文件中检索出与所述主索引标识对应的设备指纹,并将所述设备指纹作为所述终端的设备指纹,所述主索引文件中包含所述主索引标识与所述设备指纹的对应关系。

可选的,在获取终端的终端类型,并获取所述终端的至少一个特征的特征类型,以及所述特征类型对应的特征值之前,所述方法还包括:

针对每一种终端类型,建立与该终端类型所具有的多种特征类型,分别对应的多个特征索引文件;

针对每一种终端类型,建立与该终端类型对应的主索引文件;

将不同终端类型对应的所述主索引文件和所述多个特征索引文件,分别保存于不同的存储位置。

可选的,所述存储位置包括分布式搜索平台ES集群。

可选的,所述根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,检索出与所述特征值对应的主索引标识,包括:

根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,检索出与所述特征值对应的主索引标识和数据生成时间;

所述根据所述主索引标识,在主索引文件中检索出与所述主索引标识对应的设备指纹,并将所述设备指纹作为所述终端的设备指纹,包括:

根据所述数据生成时间,从多个主索引文件中确定出,与所述数据生成时间对应的主索引文件;

根据所述主索引标识,在与所述数据生成时间对应的主索引文件中检索出与所述主索引标识对应的设备指纹,并将所述设备指纹作为所述终端的设备指纹。

可选的,所述方法还包括:

当根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,没有检索出与所述特征值对应的主索引标识时,

针对所述终端生成设备指纹,并生成与该设备指纹对应的主索引标识;

将生成的设备指纹,和生成的主索引标识保存在所述主索引文件中;

将所述生成的主索引标识作为所述特征值对应的主索引标识,并将所述特征值和该主索引标识保存在与所述终端类型和所述特征类型均对应的特征索引文件中。

可选的,所述根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,检索出与所述特征值对应的主索引标识,包括:

根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,确定出与所述特征值对应的文件分区,所述文件分区为所述特征索引文件中按不同特征值划分出的区域,每一个特征值对应一个文件分区;

在所述特征索引文件分区中,根据所述特征值,检索出与所述特征值对应的主索引标识。

可选的,所述方法还包括:

当分别根据所述终端的一个或多个特征类型,以及所述一个或多个特征类型分别对应的特征值,确定出多个不同的设备指纹时,通过相似度匹配算法确定出与所述终端最接近的设备指纹,作为所述终端的设备指纹。

本发明实施例还提供了一种数据检索装置,包括:

获取模块,用于获取终端的终端类型,并获取所述终端的至少一个特征的特征类型,以及所述特征类型对应的特征值,所述特征用于区分或识别所述终端;

第一检索模块,用于根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,检索出与所述特征值对应的主索引标识,所述特征索引文件中包含所述特征值与所述主索引标识的对应关系;

第二检索模块,用于根据所述主索引标识,在主索引文件中检索出与所述主索引标识对应的设备指纹,并将所述设备指纹作为所述终端的设备指纹,所述主索引文件中包含所述主索引标识与所述设备指纹的对应关系。

可选的,所述装置还包括创建模块,所述创建模块用于:

针对每一种终端类型,建立与该终端类型所具有的多种特征类型,分别对应的多个特征索引文件;针对每一种终端类型,建立与该终端类型对应的主索引文件;将不同终端类型对应的所述主索引文件和所述多个特征索引文件,分别保存于不同的存储位置。

可选的,所述创建模块中的存储位置包括分布式搜索平台ES集群。

可选的,所述第一检索模块,具体用于:

根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,检索出与所述特征值对应的主索引标识和数据生成时间;

所述第二检索模块,具体用于:

根据所述数据生成时间,从多个主索引文件中确定出,与所述数据生成时间对应的主索引文件;根据所述主索引标识,在与所述数据生成时间对应的主索引文件中检索出与所述主索引标识对应的设备指纹,并将所述设备指纹作为所述终端的设备指纹。

可选的,所述装置还包括:

生成模块,用于当根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,没有检索出与所述特征值对应的主索引标识时,针对所述终端生成设备指纹,并生成与该设备指纹对应的主索引标识;

第一更新模块,用于将生成的设备指纹,和生成的主索引标识保存在所述主索引文件中;

第二更新模块,用于将所述生成的主索引标识作为所述特征值对应的主索引标识,并将所述特征值和该主索引标识保存在与所述终端类型和所述特征类型均对应的特征索引文件中。

可选的,所述第一检索模块,具体用于:

根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,确定出与所述特征值对应的文件分区,所述文件分区为所述特征索引文件中按不同特征值划分出的区域,每一个特征值对应一个文件分区;在所述特征索引文件分区中,根据所述特征值,检索出与所述特征值对应的主索引标识。

可选的,所述装置还包括:

选择模块,用于当分别根据所述终端的一个或多个特征类型,以及所述一个或多个特征类型分别对应的特征值,确定出多个不同的设备指纹时,通过相似度匹配算法确定出与所述终端最接近的设备指纹,作为所述终端的设备指纹。

本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一所述的数据检索方法。

在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的数据检索方法。

在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据检索方法。

本发明实施例提供的一种数据检索方法、装置及电子设备,可以在获取终端的终端类型,该终端的特征类型,以及该特征类型对应的特征值后,首先可以根据终端类型和特征类型,快速确定出对应的特征索引文件,然后通过特征值,可以在特征检索文件中快速确定出特征值对应的主索引标识,再通过主索引标识在主索引文件中确定出主索引标识对应的设备指纹。通过分层的检索,不需要遍历所存储的大量数据信息,就可以快速的检索出该终端对应的设备指纹,从而可以提高检索效率,缩短检索时间,使得终端与服务器端的交互更加高效,更好的为用户提供个性化的定制服务。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的数据检索方法的一种流程图;

图2为本发明实施例提供的ES集群结构示意图;

图3为本发明实施例提供的数据检索方法的另一种流程图;

图4为本发明实施例提供的数据检索装置的结构图;

图5为本发明实施例提供的电子设备的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

参见图1,图1为本发明实施例提供的数据检索方法的一种流程图,包括:

步骤101,获取终端的终端类型,并获取终端的至少一个特征的特征类型,以及特征类型对应的特征值,该特征用于区分或识别终端。

本发明实施例可以应用于用于为终端提供服务,或与终端进行数据交互的服务端,服务端可以为各类电子设备,例如,服务器、服务器集群、以及分布式服务平台或系统等。

其中,终端可以分为多种终端类型,例如,终端可以包括手机、个人电脑、平板电脑和智能电视等能够与服务端进行交互的各种类型的设备。在终端与服务端进行交互时,服务端可以根据终端所发送的信息的来源,例如通过手机上的客户端发送的信息,或电脑上的客户端发送的信息,来确定出终端的类型,或者还可以根据信息中的用于标识终端类型的字段,确定出终端的类型。

同一种类型的终端中的每一个终端,都可以具有一些能够用于区分或识别出该终端的特征,特征可以有很多类型,每一个特征类型,都有该特征类型对应的具体的特征值,例如,IOS系统中的IDFV(Identifier For Vendor,设备标识符)为一个特征类型,具体的IDFV值为该特征类型对应的特征值;IDFA(Identifier For Identifier,广告标示符)为一个特征类型,具体的IDFA值为该特征类型对应的特征值;终端的IP(Internet Protocol,网络之间互连的协议)地址也可以作为一个特征类型。具体的IP地址的值,为该特征类型对应的特征值;设备型号也可以作为一个特征类型,具体表示设备型号的字符串,为该特征类型对应的特征值。

在实际应用中,任何能够用于区分或识别该终端的各类参数信息,都可以作为该终端的特征,也都可以应用于本发明实施例中。并且,在实际中,有时无法通过一个特征唯一的识别出该终端,可以通过多个特征,唯一的确定出该终端。

终端在与服务端进行交互的过程中,服务端可以根据终端所发送的各类数据信息,以及各类信息中的特定字段,来采集并获取终端的部分特征的特征类型和每一种特征类型所对应的特征值。具体的方法,属于现有技术,在此不再赘述。

步骤102,根据特征值,在与终端类型和特征类型均对应的特征索引文件中,检索出与特征值对应的主索引标识,特征索引文件中包含特征值与主索引标识的对应关系。

每一种终端类型,可以包括多种特征类型,例如,终端类型为IOS系统的手机,则该终端的特征类型可以有IDFV,IP地址,手机型号等等。针对该类型终端所具有的每一种服务端可以采集或可以获得到的特征类型,可以建立对应的特征索引文件。即该终端类型的每一种特征类型均对应一个特征索引文件。该特征索引文件中,含有该特征类型的特征值与主索引标识之间的唯一的对应关系。例如,IOS系统的手机这一终端类型,可以有针对IDFV这一特征类型的特征索引文件。该特征索引文件中具体的每一个IDFV值,都对应一个唯一的主索引标识。

主索引标识为设备指纹,以及设备指纹有关信息的唯一标识,设备指纹可以唯一的对应一台具体的终端,而主索引标识可以唯一的对应一个设备指纹,以及与该设备指纹有关的其他信息,例如,设备指纹后端唯一ID,设备全量信息,创建时间等等。

服务端获取了终端的终端类型,以及该终端的至少一个特征的特征类型和特征类型对应的特征值之后,就可以首先根据终端类型和特征类型,确定出与该终端类型和特征类型均对应的特征索引文件,从而不需要遍历全部的数据,仅在该特征索引文件通过特征值进行检索,就可以很快确定出该特征值对应的主索引标识。

步骤103,根据主索引标识,在主索引文件中检索出与主索引标识对应的设备指纹,并将设备指纹作为终端的设备指纹,主索引文件中包含主索引标识与设备指纹的对应关系。

主索引文件中保存有设备指纹,以及与该设备指纹有关的其他信息,并且在主索引文件中每一个设备指纹对应一个唯一的主索引标识。

每一种终端类型,可以对应有各自的主索引文件,不同终端类型的主索引文件可以相互独立,从而可以提高检索效率。并且可以针对同一种终端类型再进行细分,例如,按不同的手机品牌将手机这一终端类型,再次进行细分,从而可以建立针对每一种品牌的手机的主索引文件,进一步提高检索效率。

服务端确定出主索引标识后,就可以在与终端的终端类型对应的主索引文件中,根据主索引标识,快速的确定出主索引标识对应的设备指纹,同时可以获取与该设备指纹有关的其他信息,从而服务端可以确定出该终端的设备指纹,进而可以唯一的识别出该终端。

服务器识别出该终端后,可以为其提供对应的个性化定制服务,或者当该终端为异常终端,例如,该终端曾对服务端发起过数据攻击等行为,则可以限制该终端对服务端的访问。

在本发明实施例中,可以在终端于服务端进行交互时,获取终端的终端类型,该终端的特征类型,以及该特征类型对应的特征值,然后可以根据终端类型和特征类型,快速确定出对应的特征索引文件,并通过特征值,可以在特征检索文件中快速确定出特征值对应的主索引标识,再通过主索引标识在主索引文件中确定出主索引标识对应的设备指纹。通过分层的检索,不需要遍历所存储的大量数据信息,就可以快速的检索出该终端对应的设备指纹,从而可以提高检索效率,缩短检索时间,使得终端与服务器端的交互更加高效,更好的为用户提供个性化的定制服务。

结合上述实施例,在本发明实施例提供的数据检索方法中,在步骤101,获取终端的终端类型,并获取终端的至少一个特征的特征类型,以及特征类型对应的特征值之前,该方法还包括:

步骤100a,针对每一种终端类型,建立与该终端类型所具有的多种特征类型,分别对应的多个特征索引文件。

为了进一步的提高检索效率,服务端可以针对每一种终端类型建立特征索引文件,并且在该文件的名称中,体现出终端类型和特征类型,例如特征索引文件的命名规范可以为:前缀-终端类型-特征类型,如:auto-手机ios-IDFV。在每一个特征类型对应的检索文件中,保存有该特征类型的各个特征值与主索引标识之间的对应关系。

每一种终端类型,可以具有多种特征类型,所以,针对每一种终端类型,可以有多个特征检索文件,分别对应不同的特征类型。当服务端获取了终端的多个特征类型和多个特征类型分别的对应的特征值时,可以分别在多个特征检索文件中分别进行检索。

步骤100b,针对每一种终端类型,建立与该终端类型对应的主索引文件。

主索引文件中保存有主索引标识与设备指纹的对应关系,并且,还可以保存有与设备指纹有关的各种其他信息。每一个终端类型,可以对应一个主索引文件,主索引文件的名称中可以体现出终端类型,例如,前缀-终端类型,如auto-手机ios。

在实际应用中,为了在检索过程中可以进一步减小检索范围,该主索引文件也可以被划分为多个主索引文件,例如,可以按所保存的设备指纹的生成日期,将主索引文件按月份或年份划分为多个主索引文件。

步骤100c,将不同终端类型对应的主索引文件和多个特征索引文件,分别保存于不同的存储位置。

针对每一种终端类型,建立起各自的主索引文件和多个特征索引文件后,可以将不同终端类型的主索引文件和多个特征索引文件,分别保存在不同的存储位置,当在进行检索时,只要确定终端类型,就可以之间从该终端类型对应的存储区域获取或访问该终端类型的特征索引文件和主索引文件,从而可以减小检索范围,提高检索效率。

在本发明实施例一种可选的实时方式中,存储位置可以包括ES(Elastic Search,分布式搜索平台)集群。

ES集群是一个分布式多用户能力的全文搜索引擎,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

针对不同的终端类型,可以将每一种终端类型对应的特征索引文件和主索引文件分别存储于不同的ES集群中。并且可以使用SSD(solid-state disk,固态硬盘)进行特征索引文件和主索引文件的存储,可以提高访问特征索引文件和主索引文件时的运行速度,进而提高检索效率。同时,针对每一种终端类型的全部特征索引文件和主索引文件,进行2n+1个数据备份,防止单点故障。在ES集群中,还可以针对每一种终端类型的全部特征索引文件和主索引文件,进行定期的数据迁移,将数据迁移至冷备节点,保证数据安全。

在本发明实施例的一种实现方式中,服务端可以直接访问不同终端类型对应的ES集群,从而进行检索。在本发明实施例的另一种实现方式中,参见图2,服务端可以通过一个代理集群对不同终端类型对应的ES集群进行访问。图2中,服务端201可以向代理集群202发送请求或指令,该请求或指令中含有终端类型、特征类型和特征类型对应的特征值。

代理集群202根据所接收到的请求或指令,对与终端类型对应的ES集群进行访问。例如,当终端类型为IOS系统的手机时,访问IOS集群203;当终端类型为安卓系统的手机时,访问安卓集群204;当终端类型为PC时,访问PC集群205,其中,IOS集群203,安卓集群204,PC集群205均为保存有不同终端类型对应的特征索引文件和主索引文件的ES集群。

当代理集群202从对应的ES集群中获得了设备指纹之后,将该设备指纹返回至服务端201。

通过代理集群对ES集群进行访问,使得ES集群可以更加稳定的运行,可以避免同时产生大量的访问请求而对ES集群造成的数据拥堵或系统崩溃,从而可以提高检索的稳定性。

结合上述实施例,在本发明实施例提供的数据检索方法中,步骤102,根据特征值,在与终端类型和特征类型均对应的特征索引文件中,检索出与特征值对应的主索引标识,包括:

根据特征值,在与终端类型和特征类型均对应的特征索引文件中,检索出与特征值对应的主索引标识和数据生成时间。

在实际应用中,特征索引文件中所保存的每一个主索引标识,还可以保存有该主索引标识对应的数据生成时间。数据生成时间是指该主索引标识生成的时间或日期,例如,可以为该主索引标识生成时的年份和月份。

当根据特征值,对与终端类型和特征类型均对应的特征索引文件进行检索时。可以同时得到特征值对应的主索引标识,以及该主索引标识对应的数据生成时间。

相应的,步骤103,根据主索引标识,在主索引文件中检索出与主索引标识对应的设备指纹,并将设备指纹作为终端的设备指纹,包括:

步骤103a,根据数据生成时间,从多个主索引文件中确定出,与数据生成时间对应的主索引文件。

为了能够进一步缩小检索的范围,针对每一种终端类型,可以按所保存的主索引标识的生成时间建立多个主索引文件,并且,在主索引文件的名称中,体现出主索引标识的生成时间,例如,主索引文件的名称可以为:auto-手机ios-201705,则可以标识该主索引文件中所保存的主索引标识均为2017年5月内所生成的。这样可以每一个月建立一个主索引文件。

服务端根据特征值在特征检索文件中确定出该特征值对应的主索引标识和数据生成时间,然后,可以首先通过该数据生成时间确定与该数据生成时间对应的主索引文件,例如,终端类型为IOS系统的手机,且通过特征值检索出的结果为:主索引标识A,数据生成时间为201705。则可以首先根据201705,确定出下一步所要进行检索的主索引文件为:auto-手机ios-201705。

步骤103b,根据主索引标识,在与数据生成时间对应的主索引文件中检索出与主索引标识对应的设备指纹,并将设备指纹作为终端的设备指纹。

当确定出与数据生成时间对应的主索引文件后,再对该主索引文件进行检索,确定出主索引标识所对应的设备指纹,并可以将该设备指纹作为终端的设备指纹,从而唯一的确定出该终端。

在本发明实施例中,在特征检索文件中可以确定特征值对应的主索引标识和数据生成时间,并通过数据生成时间确定出对应的主索引文件,从而可以进一步缩小了检索范围,提高检索速度。

参见图3,结合上述的各实施例,在实际应用中,本发明实施例提供的检索方法还包括:

步骤104,当根据特征值,在与终端类型和特征类型均对应的特征索引文件中,没有检索出与特征值对应的主索引标识时,针对终端生成设备指纹,并生成与该设备指纹对应的主索引标识。

服务端根据特征值,在与终端类型和特征类型均对应的特征索引文件中进行检索,如果没有检索出与该特征值对应的主索引标识,则表示该终端为一台之前没有与服务端发生过交互的新终端。所以,可以对该终端生成一个能够唯一识别出该终端的设备指纹,以便在将来与该终端交互时,能够对该终端的进行定制化的服务。服务端在针对该终端生成设备指纹时,可以同时生成一个与该设备指纹对应的唯一的主索引标识,以便将来能够快速对该设备指纹进行检索。

步骤105,将生成的设备指纹,和生成的主索引标识保存在主索引文件中。

服务端生成设备指纹和设备指纹对应的主索引标识后,可以将该设备指纹和主索引标识保存在与终端类型对应的主索引文件中,当主索引文件按数据生成时间划分为多个主索引文件时,则将该设备指纹和主索引标识保存在于当前时间对应的主索引文件中。

步骤106,将生成的主索引标识作为特征值对应的主索引标识,并将特征值和该主索引标识保存在与终端类型和特征类型均对应的特征索引文件中。

完成主索引文件的更新后,还需要对特征索引文件进行更新,即将所生成的主索引标识和特征值保存在特征索引文件中,当主索引文件按数据生成时间划分为多个主索引文件时,还需要在特征索引文件中保存该主索引标识的生成时间或日期。所更新的特征索引文件是与该终端类型和特征值对应的特征类型均对应的特征索引文件。容易理解的是,当获取了终端的多个特征类型,和各个特征类型对应的特征值时,则需要对每一个特征类型对应的特征索引文件都按上述步骤进行更新。

在本发明实施例中,根据所获取的特征值进行检索时,如果没有与该特征值对应的主索引标识,则判定具有该特征值的终端为首次与服务端进行交互,从而可以为该终端生成一个唯一的设备指纹,以及设备指纹对应的主索引标识,从而可以保证所以与服务端发生过交互的终端,都可以具有唯一对应该终端的设备指纹,从而保证对各个终端都能够提供对应的个性化服务,可以提高用户体验。

结合上述的各个实施例,步骤102,根据特征值,在与终端类型和特征类型均对应的特征索引文件中,检索出与特征值对应的主索引标识,可以包括:

步骤102a,根据特征值,在与终端类型和特征类型均对应的特征索引文件中,确定出与特征值对应的文件分区,文件分区为特征索引文件中按不同特征值划分出的区域,每一个特征值对应一个文件分区。

在实际应用中,终端的个别特征类型所对应的特征值,可能不能唯一的区分出该终端,即多个终端可以具有同样的特征值。对于这一类特征类型所对应的特征索引文件,为了能提高特征检索文件的检索效率,可以对该特征检索文件按特征值进行文件分区,每一个特征值对应一个文件分区。例如,某一个特征类型,其对应的特征值只有A,B,C,D这4个特征值,则可以对该特征类型对应的特征检索文件进行文件分区,并共分为4个文件分区,每一个文件分区对应其中一个特征值。具体的,对特征检索文件进行文件分区,可以将特征检索文件划分为多个shard分区,并将特征值作为shard值。

从而,当根据特征值,在对与终端类型和特征类型均对应的特征索引文件进行检索时,可以先根据特征值确定出该特征值对应的文件分区。

步骤102b,在特征索引文件分区中,根据特征值,检索出与特征值对应的主索引标识。

当根据特征值确定出与该特征值对应的文件分区后,可以在该文件分区内根据特征值检索出与特征值对应的主索引标识。该文件分区内的特征值均一致,所以该特征值可能会对应有多个不同的主索引标识。

虽然通过该特征值不能唯一的确定出主索引标识,但可以通过该特征值确定出一定数量的主索引标识,作为一个主索引标识集合,再利用其他特征类型所对应的特征值进行检索,当其他特征值也同样确定出一定数量的主索引标识后,可以作为另一个主索引标识集合。对多个主索引标识集合求交集,则最终可以唯一的确定出一个主索引标识,该主索引标识对应的设备指纹,则可以作为待确定的终端的设备指纹。

通过上述方法,在特征值不能唯一确定出主索引标识的情况下,通过多个特征值形成多个主索引标识集合,并在求交集后可以得到唯一的主索引标识,从而可以提高对主检索标识进行检索的准确性。

结合上述的各个实施例,在本发明实施例提供的数据检索方法中,该方法还包括:

步骤107,当分别根据终端的一个或多个特征类型,以及一个或多个特征类型分别对应的特征值,确定出多个不同的设备指纹时,通过相似度匹配算法确定出与终端最接近的设备指纹,作为终端的设备指纹。

本发明实施例在实际应用中,当根据一个或多个特征类型,以及一个或多个特征类型分别对应的特征值,分别在于特征类型对应的特征检索文件中进行检索,即使进过上述通过多个主索引标识集合求交集的步骤,依然有可能会得到多个不同的主索引标识,从而得到多个不同的主索引标识分别对应的设备指纹。则此时,可以通过相似度匹配算法,确定出与终端相似度最高的设备指纹。相似度匹配算法可以根据待确定的终端的各类信息,与设备指纹锁包含的信息,以及与设备指纹有关的其他信息进行相似度比较。从而确定出与该终端所具有的信息最为接近的设备指纹,从而确定出该终端所对应的设备指纹。

具体的,相似度匹配算法可以采用现有技术中,任意一种能够满足本发明实施例功能的算法。相似度匹配算法的具体过程,属于现有技术,在此不再赘述。

在本发明实施例中,当检索出多个不同的设备指纹时,可以通过相似度匹配算法对每一个设备指纹与终端进行相似度匹配,从而确定出与终端最为接近的设备指纹,可以提高所确定出的设备指纹的准确度,保证每一个终端都可以检索出对应的设备指纹。

参见图4,图4为本发明实施例提供的数据检索装置的结构图,包括:

获取模块401,用于获取终端的终端类型,并获取所述终端的至少一个特征的特征类型,以及所述特征类型对应的特征值,所述特征用于区分或识别所述终端;

第一检索模块402,用于根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,检索出与所述特征值对应的主索引标识,所述特征索引文件中包含所述特征值与所述主索引标识的对应关系;

第二检索模块403,用于根据所述主索引标识,在主索引文件中检索出与所述主索引标识对应的设备指纹,并将所述设备指纹作为所述终端的设备指纹,所述主索引文件中包含所述主索引标识与所述设备指纹的对应关系。

在本发明实施例中,可以在终端于服务端进行交互时,获取终端的终端类型,该终端的特征类型,以及该特征类型对应的特征值,然后可以根据终端类型和特征类型,快速确定出对应的特征索引文件,并通过特征值,可以在特征检索文件中快速确定出特征值对应的主索引标识,再通过主索引标识在主索引文件中确定出主索引标识对应的设备指纹。通过分层的检索,不需要遍历所存储的大量数据信息,就可以快速的检索出该终端对应的设备指纹,从而可以提高检索效率,缩短检索时间,使得终端与服务器端的交互更加高效,更好的为用户提供个性化的定制服务。

可选的,在本发明实施例提供的数据检索装置中,所述装置还包括创建模块,所述创建模块用于:

针对每一种终端类型,建立与该终端类型所具有的多种特征类型,分别对应的多个特征索引文件;针对每一种终端类型,建立与该终端类型对应的主索引文件;将不同终端类型对应的所述主索引文件和所述多个特征索引文件,分别保存于不同的存储位置。

可选的,在本发明实施例提供的数据检索装置中,所述创建模块中的存储位置包括分布式搜索平台ES集群。

可选的,在本发明实施例提供的数据检索装置中,所述第一检索模块402,具体用于:

根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,检索出与所述特征值对应的主索引标识和数据生成时间;

所述第二检索模块403,具体用于:

根据所述数据生成时间,从多个主索引文件中确定出,与所述数据生成时间对应的主索引文件;根据所述主索引标识,在与所述数据生成时间对应的主索引文件中检索出与所述主索引标识对应的设备指纹,并将所述设备指纹作为所述终端的设备指纹。

可选的,在本发明实施例提供的数据检索装置中,所述装置还包括:

生成模块,用于当根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,没有检索出与所述特征值对应的主索引标识时,针对所述终端生成设备指纹,并生成与该设备指纹对应的主索引标识;

第一更新模块,用于将生成的设备指纹,和生成的主索引标识保存在所述主索引文件中;

第二更新模块,用于将所述生成的主索引标识作为所述特征值对应的主索引标识,并将所述特征值和该主索引标识保存在与所述终端类型和所述特征类型均对应的特征索引文件中。

可选的,在本发明实施例提供的数据检索装置中,所述第一检索模块402,具体用于:

根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,确定出与所述特征值对应的文件分区,所述文件分区为所述特征索引文件中按不同特征值划分出的区域,每一个特征值对应一个文件分区;在所述特征索引文件分区中,根据所述特征值,检索出与所述特征值对应的主索引标识。

可选的,在本发明实施例提供的数据检索装置中,所述装置还包括:

选择模块,用于当分别根据所述终端的一个或多个特征类型,以及所述一个或多个特征类型分别对应的特征值,确定出多个不同的设备指纹时,通过相似度匹配算法确定出与所述终端最接近的设备指纹,作为所述终端的设备指纹。

对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,

存储器503,用于存放计算机程序。

处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:

获取终端的终端类型,并获取所述终端的至少一个特征的特征类型,以及所述特征类型对应的特征值,所述特征用于区分或识别所述终端;

根据所述特征值,在与所述终端类型和所述特征类型均对应的特征索引文件中,检索出与所述特征值对应的主索引标识,所述特征索引文件中包含所述特征值与所述主索引标识的对应关系;

根据所述主索引标识,在主索引文件中检索出与所述主索引标识对应的设备指纹,并将所述设备指纹作为所述终端的设备指纹,所述主索引文件中包含所述主索引标识与所述设备指纹的对应关系。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Pomponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Ne twork Processor,简称NP)等。还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Applica tion Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据检索方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据检索方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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