CN108255829B - 数据查找方法及装置 - Google Patents
数据查找方法及装置 Download PDFInfo
- Publication number
- CN108255829B CN108255829B CN201611234893.1A CN201611234893A CN108255829B CN 108255829 B CN108255829 B CN 108255829B CN 201611234893 A CN201611234893 A CN 201611234893A CN 108255829 B CN108255829 B CN 108255829B
- Authority
- CN
- China
- Prior art keywords
- data
- dimension
- data table
- table set
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据查找方法。该数据查找方法包括:根据数据表包含的数据维度,分别建立每个数据维度对应的数据表集合;接收用户输入的数据查询请求,所述数据查询请求中包括一个或多个待查询的数据维度;根据所述待查询的数据维度以及所述每个数据维度对应的数据表集合确定与所述带查询的数据维度对应的目标数据表集合;从所述目标数据表集合中选择目标数据表;以及将所述目标数据表反馈给所述用户。本申请还公开了一种实现上述方法的数据查找装置。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据查找方法及装置。
背景技术
互联网是一种公用信息载体,这种大众传媒比以往任何一种通讯媒体都要快捷。互联网在现实生活中的应用越来越广泛,人们可以在互联网上聊天、玩游戏、查阅资料,同时还可以在互联网上进行广告宣传和购物。互联网给现实生活带来很大的方便,每天有数以亿计的人使用互联网,互联网的广泛使用也促使了一些新兴行业的诞生,例如网络营销等互联网商业模式。数据是互联网商业模式中重要的一环,每一个和商业模式相关的行为都在产生数据,这些数据经过数据的收集、处理、分析、决策,然后持续不断地推动和影响着整个行业的前进和发展。
发明内容
本申请提出了一种数据查找方法,包括:
根据数据表包含的数据维度,分别建立每个数据维度对应的数据表集合,其中,一个数据维度对应的数据表集合为全部数据表中包含所述数据维度的数据表的集合;
接收用户输入的数据查询请求,所述数据查询请求中包括一个或多个待查询的数据维度;
根据所述待查询的数据维度以及所述每个数据维度对应的数据表集合确定与所述待查询的数据维度对应的目标数据表集合;
从所述目标数据表集合中选择目标数据表;以及
将所述目标数据表反馈给所述用户。
本申请还提出了一种数据查找装置,包括:
数据表集合建立单元,用于根据各个数据表所包含的数据维度,分别建立每个数据维度对应的数据表集合,其中,一个数据维度对应的数据表集合为全部的数据表中包含所述数据维度的所有数据表的集合;
接收单元,用于接收用户输入的数据查询请求,所述数据查询请求中包括一个或多个待查询的数据维度;
目标数据表集合查找单元,用于根据数据查询请求中的待查询的数据维度以及每个数据维度对应的数据表集合,确定与待查询的数据维度相对应的目标数据表集合;
目标数据表查找单元,用于从目标数据表集合中选择目标数据表;以及
反馈单元,用于将目标数据表反馈给用户。
采用本申请提供的数据查找方法及装置,能够智能查找准确确定目标数据表,节省人力物力资源,提高数据查找效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是不同数据表关于查询维度的集合关系示意图;
图2是本申请实例提供的数据处理方法的流程图;
图3是本申请实例提供的建立每个数据维度对应的数据表集合的方法的流程图;
图4是本申请实例提供的将多个待查询的数据维度对应的数据表集合求交集的方法流程图;
图5是本申请实例提供的从目标数据表集合中选择目标数据表的方法流程图;
图6是本申请实例提供的数据处理装置的结构示意图;以及
图7是本申请实例提供的数据处理装置的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如前所述,随着互联网的发展和普及,数据分析在网络营销中的作用越来越显著。以互联网商业模式中的广告数据为例来说,比较通用的广告数据指标包括广告的曝光、点击、收入等。这些数据会被分割在不同的维度下,广告数据的维度主要包括广告的位置、广告类型、广告主、时间、城市、性别等。这些数据指标和数据分析维度通常会根据业务逻辑、产品形态等的需要划分成多个数据表。如腾讯视频、新闻客户端、腾讯网、快报应用等网络媒体资源所涵盖的数据表有:全业务广告曝光数据表、全业务广告曝光点击数据表、全业务广告点击数据表、全量频道数据表、全量投放数据表、视频播放数据表、视频直播广告曝光数据表、视频离线广告曝光数据表、腾讯网CPM广告曝光数据表、新闻客户端广告曝光点击数据表、快报曝光点击数据表、效果消耗数据表等等。其中,每张数据表会包含一些共有的数据维度,同时每张数据表也会有一些自身特有的数据维度。例如,假设目前存在三张数据表(T_A、T_B、T_C、),它们总共包含十个查询维度(D1、D2、D3…D10),数据表之间的关系如图1所示。这三张数据表共有的数据维度是D5和D7,同时数据表T_A包含自身特有的数据维度D1和D4;数据表T_B包含自身特有的数据维度D8和D9;数据表T_C还包含自身特有的数据维度D2和D6。数据表之间属于集合之间的关系,而数据表与查询维度之间属于包含与被包含的关系。如何从这种分散但又有些交集的混杂数据表中获取目标可用的数据成为一个急需解决的问题。
目前,查找目标数据通常采取的方式是人为限定数据表的方法,即首先确定所需的数据表,然后在当前选取的数据表中继续选择需要的数据维度,最终获取目标数据。这就要求数据表的确定者拥有较高的专业素质,因为一旦选择的数据表不正确或不够精准,就会直接影响后续的维度选择,从而浪费了人力资源。同时人为限定数据表的方法效率较低。
为此,本申请的实施例提供了一种数据查找方法,可以建立每个数据维度与对应数据表集合之间的映射关系,用户只需要关注所需要的查询维度,根据查询维度智能查找到目标数据表,进而在目标数据表中查找目标数据,从而实现目标数据的智能查找,节省了人力资源成本,提高了效率。
本申请实施例所提出的数据查找方法可以由存储有数据表的计算机设备完成,例如,可以由用户侧的客户端设备完成。这里所指的客户端设备可以简称为客户端,是指安装有相应应用程序的移动终端、个人计算机、平板电脑等智能设备。上述客户端可以通过其上的显示设备向用户显示相应的用户界面,向用户反馈用户所需的信息等等。上述客户端还可以通过其上的输入设备接收用户的指令或用户输入的信息。本申请实施例所提出的数据查找方法还可以由存储了数据表的服务器来完成。上述服务器可以通过与客户端设备的通信接收用户的数据查询请求并通过客户端设备向用户反馈用户所需的信息等等。本申请的各个实例并不限制执行数据查询方法的执行主体。
图2显示了本申请实施例所述的数据查找方法的流程图。如图2所示,本申请所述的数据查找方法主要可以包括以下步骤:
步骤201:根据各个数据表所包含的数据维度,分别建立每个数据维度对应的数据表集合。在本步骤中,一个数据维度对应的数据表集合为全部的数据表中包含所述数据维度的所有数据表的集合。
在这里,数据维度是指与数据相关的一切实体和虚拟资源属性的概括,例如对于广告数据来说,数据维度可以是广告位名称、广告位类型、城市、性别、内容渠道、广告主等。这些数据维度可能位于不同的数据表中。例如,现在存在3个数据表A、B、C,数据表A中包括数据维度1、数据维度2,数据表B中包括数据维度2、数据维度3,数据表C中包括数据维度1、数据维度3。那么,根据每个数据表所包含的数据维度可以得出,包含数据维度1的数据表的集合为:数据表A、数据表C;包含数据维度2的数据表的集合为:数据表A、数据表B;包含数据维度3的数据表的集合为:数据表B、数据表C。也即,根据上述各个数据表所包含的数据维度可以得到数据维度1对应的数据表集合为{数据表A、数据表C};数据维度2对应的数据表的集合为{数据表A、数据表B};数据维度3对应的数据表的集合为{数据表B、数据表C}。
在本申请的一个实例中,为了建立每个数据维度对应的数据表集合,特别是在数据表数量较多,而且每个数据表包含的数据维度也较多地情况下,可以通过创建数据表与数据维度的反向索引的方式确定每个数据维度对应的数据表集合。
在本申请的实例中,上述数据表与数据维度的反向索引是指数据维度到包含该数据维度的数据表的映射。在分别对每个数据维度创建了数据表与数据维度的反向索引之后,即可根据创建的数据表与数据维度的反向索引得到每个数据维度对应的数据表集合了。
具体地,图3显示了通过构建数据表与数据维度的反向索引来建立每个数据维度对应的数据表集合的方法的流程。如图3所示,该方法主要可以包括以下步骤:
步骤301:根据每个数据表包含的数据维度,建立数据表与数据维度之间的映射关系。
在给定一个数据表的情况下,可以确定该数据表所包含的数据维度。因此,根据每个数据表包含的数据维度,可以建立数据表与数据维度之间的映射关系。具体的,数据表与数据维度之间的映射关系可以通过表格的形式列举出来,在这里将这个表格称为数据表与数据维度的映射关系表。例如,可以将所有数据表所包含的数据维度列出来,作为该映射关系表的各列;而将各个数据表列出来,作为该映射关系表的各行;而映射关系表每行每列的值,可以代表该行所对应数据表是否包含该列所对应的数据维度。例如,可以用Y表示包含,用N表示不包含。这样,根据这样一张数据表与数据维度的映射关系表的各行即可明确某个数据表是包含哪些数据维度;而根据这样一张数据表与数据维度的映射关系表的各列即可明确有哪些数据表包含某个数据维度。当然,本领域的技术人员可以理解,还可以通过其他形式建立上述数据表与数据维度的映射关系表。例如,可以将所有数据表所包含的数据维度列出来,作为该映射关系表的各行;而将各个数据表列出来,作为该映射关系表的各列。
假设现在有5张数据表,分别为表1、表2、表3、表4和表5。其中,表1中包括数据维度A和数据维度B;表2中包括数据维度A、数据维度B、数据维度C和数据维度E;表3中包括数据维度A、数据维度C、数据维度D和数据维度E;表4中包括数据维度B、数据维度C和数据维度E;表5中包括数据维度C和数据维度D。则针对上述5个数据表可以建立数据表和数据维度的映射关系表,如下表1所示。其中,数据表和数据维度的映射关系表中的每一行代表一个数据表,每一列代表一个数据维度。上述数据表和数据维度的映射关系表中的每个数据项分别代表对应数据表是否包含对应数据维度。例如,Y表示包含,N表示不包含。具体而言,例如,表1中的第二行、第三列的数据项是Y,则说明数据表2中包含数据维度C。
数据维度A | 数据维度B | 数据维度C | 数据维度D | 数据维度E | |
表1 | Y | Y | N | N | N |
表2 | Y | Y | Y | N | Y |
表3 | Y | N | Y | Y | Y |
表4 | N | Y | Y | N | Y |
表5 | N | N | Y | Y | N |
表1
根据上述数据表和数据维度的映射关系表,可以建立数据表与数据维度的正向索引。该数据表与数据维度的正向索引表征了数据表与其包含的数据维度之间的映射关系。除此之外,根据上述数据表和数据维度的映射关系表,还可以建立数据表与数据维度的反向索引。该数据表与数据维度的反向索引表征了数据维度与包含该数据维度的数据表之间的映射关系。具体地,数据表与数据维度的正向索引可如下表2所示:
表1 | 数据维度A |
表1 | 数据维度B |
表2 | 数据维度A |
表2 | 数据维度B |
表2 | 数据维度C |
表2 | 数据维度E |
表3 | 数据维度A |
表3 | 数据维度C |
表3 | 数据维度D |
表3 | 数据维度E |
表4 | 数据维度B |
表4 | 数据维度C |
表4 | 数据维度E |
表5 | 数据维度C |
表5 | 数据维度D |
表5 | 数据维度E |
表2
步骤302:根据上述数据表与数据维度的映射关系建立数据表与数据维度的反向索引。
如前所述,根据上述如表1所示的数据表与数据维度的映射关系,还可以得到数据维度与包含该数据维度的数据表之间的映射关系,也即得到数据表与数据维度的反向索引。例如,根据表1所示的数据表与数据维度的映射关系中的每一列即可得到数据表与数据维度的反向索引。
具体地,根据上述表1所示的数据表与数据维度的映射关系,可以建立如下表3所示的数据表与数据维度的反向索引。
数据维度A | 表1 |
数据维度A | 表2 |
数据维度A | 表3 |
数据维度B | 表1 |
数据维度B | 表2 |
数据维度B | 表4 |
数据维度C | 表2 |
数据维度C | 表3 |
数据维度C | 表4 |
数据维度C | 表5 |
数据维度D | 表3 |
数据维度D | 表5 |
数据维度E | 表2 |
数据维度E | 表3 |
数据维度E | 表4 |
表3
从上述表3可以看出,包含数据维度A的数据表有表1、表2和表3;包含数据维度B的数据表有表1、表2和表4;包含数据维度C的数据表有表2、表3、表4和表5;包含数据维度D的数据表有表3和表5;包含数据维度E的数据表有表2、表3和表4。
步骤303:根据上述数据表和数据维度的反向索引建立数据维度对应的数据表集合。
在本步骤中,根据上述数据表和数据维度的反向索引可以直接建立数据维度对应的数据表集合。例如,根据上述表3可以直接得到数据维度A对应的数据表集合为{表1,表2,表3};数据维度B对应的数据表集合为{表1,表2,表4};数据维度C对应的数据表集合为{表2,表3,表4,表5};数据维度D对应的数据表集合为{表3,表5};以及数据维度E对应的数据表{表2,表3,表4}。
在建立了数据维度对应的数据表集合后,即可根据用户输入的数据查询请求中携带的数据维度直接确定待查询的目标数据表了。下面返回至图2接着描述图2所示的数据查找方法。
步骤202:接收用户输入的包括一个或多个待查询的数据维度的数据查询请求。
如前所述,在本申请的一些实例中,进行数据查询的设备可以是存储有数据表的服务器。在这种情况下,客户端设备可以为用户提供数据查询界面。当用户在数据查询界面输入了待查询的数据维度后,客户端设备将向服务器发送数据查询请求,且在该数据查询请求中携带用户输入的一个或多个待查询的数据维度。
在本申请的一些实例中,进行数据查询的设备也可以是存储有数据表的客户端设备。在这种情况下,客户端设备可以为用户提供数据查询界面,并通过数据查询界面接收用户的数据查询请求,且该数据查询请求中包括用户在数据查询界面输入的待查询的数据维度。
通常情况下,用户输入的待查询的数据维度是用户比较关心的或者需要分析的数据维度。以广告数据为例来说,当用户比较比较关心广告主A的广告的点击率数据时,用户需要输入的待查询的数据维度可以包括广告主以及点击率两个数据维度。
步骤203:根据数据查询请求中的待查询的数据维度以及每个数据维度对应的数据表集合,确定与待查询的数据维度相对应的目标数据表集合。
具体地,在本申请的一些实例中,当数据查询请求仅包括一个待查询的数据维度时,可以直接将该待查询的数据维度对应的数据表集合作为目标数据表集合。
在本申请的另一些实例中,当所述数据查询请求中包括多个待查询的数据维度时,可以将该多个待查询的数据维度对应的数据表集合求交集,并将求交集运算得到的数据表集合作为目标数据表集合。
例如,根据上述表3可以得到数据维度A对应的数据表集合为{表1,表2,表3};数据维度B对应的数据表集合为{表1,表2,表4};数据维度C对应的数据表集合为{表2,表3,表4,表5};数据维度D对应的数据表集合为{表3,表5};以及数据维度E对应的数据表{表2,表3,表4}。如果数据查询请求中携带的待查询的数据维度为数据维度C和数据维度D,则在本步骤中,可以将数据维度C对应的数据表集合{表2,表3,表4,表5}和数据维度D对应的数据表集合{表3,表5}求交集,得到交集运算的结果{表3,表5}作为目标数据表集合。
具体而言,在本申请的一些实例中,上述将该多个待查询的数据维度对应的数据表集合求交集还可以通过如下图4所示的方法实现。
步骤401:根据每个数据维度对应的数据表集合,分别建立每个数据维度的反向索引数组。
其中,一个数据维度的反向索引数组中的各个元素分别代表各个数据表是否包含该数据维度,例如,“1”代表包含;“0”代表不包含。而且每个数据维度的反向索引数组的维数与数据表的个数相同。
例如,根据上述表3所示的数据表与数据维度之间的反向索引,可以得到与数据维度A的反向索引数组VA为(1,1,1,0,0)。该反向索引数组中的每一个元素的值,代表与该元素相对应的数据表是否包含该数据维度,从与数据维度A对应的反向索引数组可以看出,包含数据维度A的数据表有:表1、表2及表3。同理,根据上述表3所示的数据表与数据维度的反向索引,还可以得到与数据维度B的反向索引数组VB为(1,1,0,1,0);数据维度C的反向索引数组VC为(0,1,1,1,1);数据维度D的反向索引数组VD为(0,0,1,0,1)以及数据维度E的反向索引数组VE为(0,1,1,1,0)。
步骤402:根据数据查询请求中的待查询的数据维度,确定各个待查询的数据维度的反向索引数组。
例如,在上例中,数据维度A的反向索引数组VA为(1,1,1,0,0);数据维度B的反向索引数组VB为(1,1,0,1,0);数据维度C的反向索引数组VC为(0,1,1,1,1);数据维度D的反向索引数组VD为(0,0,1,0,1)以及数据维度E的反向索引数组VE为(0,1,1,1,0)。那么,当待查询的数据维度为数据维度C、数据维度D和数据维度E时,则在本步骤中,可以先确定待查询的数据维度的反向索引数组为VC、VD和VE。
步骤403:计算各个待查询的数据维度的反向索引数组的对应元素的乘积,得到目标数据表集合对应的数组。
例如,接续上例,在本步骤中将计算VC、VD和VE中对应元素的乘积,得到的数组为(0,0,1,0,0),该数组即为目标数据表集合对应的数组。
步骤404:根据目标数据表集合对应的数组确定目标数据表集合。
例如,接续上例,在上述步骤中,得到目标数据表集合对应的数组为(0,0,1,0,0)则,在本步骤中,根据其中值为1的元素确定目标数据表集合包含的数据表为表3。
为方便理解上述查找目标数据表集合的过程,以下再针对某一场景举例说明:用户第一次选择数据维度A时,根据数据维度A的反向索引数组(1,1,1,0,0)可知当前可用的数据表范围为数据表1、数据表2和数据表3。当用户第二次选择数据维度B时,数据维度B的反向索引数组为(1,1,0,1,0),将数据维度A的反向索引数组(1,1,1,0,0)与数据维度B的反向索引数组(1,1,0,1,0)的对应元素进行乘积操作,得到数组(1,1,0,0,0),可知此时当前可用的数据表范围为表1和表2。第三次选择数据维度E时,则将数组(1,1,0,0,0)与数据维度E的反向索引数组(0,1,1,1,0)的对应元素进行乘积操作,得到数组(0,1,0,0,0)可知此时当前可用的数据范围为表2,即最终收敛为数据表2。采用“实时选择-立即反馈”的所见即所得模式,用户每选择一个需要的目标维度,则计算一次当前可用的数据表集合。将选择的几个待查询的数据维度对应的反向索引数组的对应元素进行乘积操作,计算所得的结果数组中1的位置集合即表示当前可用的数据表集合。经过多次选择之后,算法将精确地收敛为某一个目标数据表。并且,用户选择数据维度的同时也将用户不需要的维度剔除出有效数据表集合。这样一来,随着选择维度的不断增多,确定数据表的收敛过程则越快。
步骤204:从目标数据表集合中选择目标数据表。
在获得目标数据表集合之后,还需要进一步从中选择最终反馈给用户的目标数据表。
具体而言,如果目标数据表集合只包含一个数据表,则该数据表即为目标数据表。如果目标数据表包含多个数据表,则可以通过多种方法从目标数据表集合中选择一个目标数据表。例如,可以随机选择一个数据表作为目标数据表。
或者,作为替代方案,还可以根据各个数据表数据集的大小选择目标数据表。因此,在这种情况下,还要预先预估所有数据表的数据集的大小并存储。在本申请的一些实例中,约定数据表的数据行数为数据集的大小。下表4示出了各个数据表数据集的大小。
表1 | 10000行 |
表2 | 20000行 |
表3 | 15000行 |
表4 | 25000行 |
表5 | 40000行 |
表4
从表4可以看出,在数据表1-5中,表1的数据集最小,表5的数据集最大。在预估了所有数据表的数据集的大小的情况下,可以通过如下的方法从目标数据表集合中选择目标数据表。图5显示了这种从目标数据表集合中选择目标数据表的方法。如图5所示,该方法包括如下步骤:
步骤501:确定目标数据表集合中每个数据表数据集的大小。
在本步骤中,可以根据预先预估的每个数据表数据集的大小确定目标数据表集合中每个数据表数据集的大小。
步骤502:从目标数据表集合中选择数据集最小的数据表作为目标数据表。
在本申请的实例中,之所以选择数据集最小的数据表作为目标数据表是因为这样选择能够使得查找的成本最小,也即可以通过最少的查找量就能查找到所需要的目标数据。显而易见,在10000行的数据表中查找目标数据要比在40000行的数据表中查找目标数据更为省时、省力,因此,成本也更低。
步骤205:将目标数据表反馈给用户。
在本申请的一些实例中,进行数据查询的设备可以是存储有数据表的服务器。在这种情况下,服务器将通过客户端设备将目标数据表反馈给用户。接下来,用户即可以在目标数据表中查找并分析自身想要的目标数据了。
在本申请的一些实例中,进行数据查询的设备也可以是存储有数据表的客户端设备。在这种情况下,客户端设备可以直接通过数据查询界面将目标数据表反馈给用户。
通过上述数据查找方法可以看出,通过建立数据维度对应的数据表集合,可以快速并且准确地定位到包含用户所关心数据维度的数据表,避免了不必要的重复工作,提高了数据查找的准确度和速度,并且也可以减少设备的操作以及设备之间的通信量,进一步节省了硬件资源。
对应上述数据查找方法,本申请实施例还提供一种数据查找装置,如图6所示,所述装置包括:
数据表集合建立单元61,用于根据各个数据表所包含的数据维度,分别建立每个数据维度对应的数据表集合,其中,一个数据维度对应的数据表集合为全部的数据表中包含所述数据维度的所有数据表的集合;
接收单元62,用于接收用户输入的数据查询请求,所述数据查询请求中包括一个或多个待查询的数据维度;
目标数据表集合查找单元63,用于根据数据查询请求中的待查询的数据维度以及每个数据维度对应的数据表集合,确定与待查询的数据维度相对应的目标数据表集合;
目标数据表查找单元64,用于从目标数据表集合中选择目标数据表;以及
反馈单元65,用于将目标数据表反馈给用户。
采用本申请实施例提供的数据查找装置,建立每个数据维度与对应数据表集合的映射关系,用户只需要关注所需要的查询维度,根据查询维度智能查找数据表,进而在数据表中查找目标数据,能够实现目标数据的智能查找,从而节省了人力资源成本,提高了效率。
在本申请的一些实施中,上述数据表集合建立单元61包括:
映射关系建立模块,用于根据每个数据表包含的数据维度,建立数据表与数据维度之间的映射关系;
反向索引建立模块,用于根据上述数据表与数据维度的映射关系建立数据表与数据维度的反向索引;以及
数据表集合建立模块,用于根据上述数据表和数据维度的反向索引建立数据维度对应的数据表集合。
在本申请的一些实施中,上述目标数据表集合查找单元63包括:
反向索引数组建立模块,用于根据每个数据维度对应的数据表集合,分别建立每个数据维度的反向索引数组;
反向索引数组查找模块,用于根据数据查询请求中的待查询的数据维度,确定各个待查询的数据维度的反向索引数组;
交集模块,用于计算各个待查询的数据维度的反向索引数组的对应元素的乘积,得到目标数据表集合对应的数组;
目标数据表集合获取模块,用于根据目标数据表集合对应的数组确定目标数据表集合。
在本申请的一些实例中,上述数据查找装置还包括:
数据集大小预估单元,用于预估所有数据表的数据集的大小并存储,其中,所述数据集的大小为数据表的行数。
在本申请的一些实例中,上述目标数据表查找单元64包括:
数据集确定模块,用于确定目标数据表集合中每个数据表数据集的大小;
目标数据表选择模块,用于从目标数据表集合中选择数据集最小的数据表作为目标数据表。
上述数据查找装置的各个单元以及模块的具体实现方法可以参考上述图2~5所述的数据查找方法,在此就不再赘述了。
对应上述数据查找方法和装置,本申请实施例还提供一种实现上述数据查找方法的计算设备。该计算设备的硬件结构如图7所示,可以包括:存储器701、处理器703、总线702、端口704。
处理器703和存储器701通过总线702互联。处理器703可通过端口704接收和发送数据以实现网络通信和/或本地通信。
上述各模块61~65可以是存储器701中存储的机器可执行指令模块。处理器703通过执行存储器701中各模块61~65中包含的机器可执行指令,进而能够实现上述各模块61~65的功能。
另外,在本申请各个实例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述各实施例的功能模块可以位于一个终端,或者也可以分布到多个终端上。
另外,本申请的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此,本申请还提供了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本申请上述方法的任何一种实施例。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序由指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种数据查找方法,包括:
根据各个数据表包含的数据维度,分别建立每个数据维度对应的数据表集合,其中,每张数据表包含共有的数据维度以及自身特有的数据维度,一个数据维度对应的数据表集合为全部数据表中包含该数据维度的数据表的集合;
接收用户每次选择的待查询的数据维度,执行如下处理:
根据本次选择的待查询的数据维度、之前选择的待查询的数据维度以及每个数据维度对应的数据表集合,确定与所有待查询的数据维度对应的目标数据表集合;
当所述目标数据表集合中包含多个数据表时,从所述目标数据表集合中选择数据集最小的数据表作为目标数据表,将所述目标数据表反馈给所述用户。
2.根据权利要求1所述的数据查找方法,其中,所述根据各个数据表包含的数据维度,分别建立每个数据维度对应的数据表集合包括:
根据每个数据表包含的数据维度,建立数据表与数据维度之间的映射关系;
根据所述映射关系,建立数据表与数据维度的反向索引;以及
根据所述反向索引,建立每个数据维度对应的数据表集合。
3.根据权利要求1所述的数据查找方法,其中,所述根据本次选择的待查询的数据维度、之前选择的待查询的数据维度以及每个数据维度对应的数据表集合,确定与所有待查询的数据维度对应的目标数据表集合包括:
将各个待查询的数据维度对应的数据表集合求交集,作为所述目标数据表集合。
4.根据权利要求3所述的数据查找方法,其中,所述将各个待查询的数据维度对应的数据表集合求交集包括:
根据每个数据维度对应的数据表集合,分别建立每个数据维度的反向索引数组;
确定各个待查询的数据维度的反向索引数组;
计算各个待查询的数据维度的反向索引数组的对应元素的乘积,得到所述目标数据表集合对应的数组;以及
根据所述目标数据表集合对应的数组,确定所述目标数据表集合。
5.根据权利要求1-4中任一项所述的数据查找方法,所述方法进一步包括:
预估所有数据表的数据集的大小并存储,其中,数据集的大小为数据表的行数。
6.根据权利要求1-4中任一项所述的数据查找方法,其中,所述数据维度包括与数据相关的实体和虚拟资源的属性。
7.一种数据查找装置,包括:
数据表集合建立单元,用于根据各个数据表包含的数据维度,分别建立每个数据维度对应的数据表集合,其中,每张数据表包含共有的数据维度以及自身特有的数据维度,一个数据维度对应的数据表集合为全部数据表中包含该数据维度的数据表的集合;
接收单元,用于接收用户每次选择的待查询的数据维度;
目标数据表集合查找单元,用于对于用户每次选择的待查询的数据维度,根据本次选择的待查询的数据维度、之前选择的待查询的数据维度以及每个数据维度对应的数据表集合,确定与所有待查询的数据维度对应的目标数据表集合;
目标数据表查找单元,用于当所述目标数据表集合中包含多个数据表时,从所述目标数据表集合中选择数据集最小的数据表作为目标数据表;以及
反馈单元,用于对于用户每次选择的待查询的数据维度,将所述目标数据表反馈给所述用户。
8.根据权利要求7所述的数据查找装置,其中,所述数据表集合建立单元包括:
映射关系建立模块,用于根据每个数据表包含的数据维度,建立数据表与数据维度之间的映射关系;
反向索引建立模块,用于根据所述映射关系,建立数据表与数据维度的反向索引;以及
数据表集合建立模块,用于根据所述反向索引,建立每个数据维度对应的数据表集合。
9.根据权利要求7所述的数据查找装置,其中,所述目标数据表集合查找单元包括:
反向索引数组建立模块,用于根据每个数据维度对应的数据表集合,分别建立每个数据维度的反向索引数组;
反向索引数组查找模块,用于确定各个待查询的数据维度的反向索引数组;
交集模块,用于计算各个待查询的数据维度的反向索引数组的对应元素的乘积,得到所述目标数据表集合对应的数组;以及
目标数据表集合获取模块,用于根据所述目标数据表集合对应的数组,确定所述目标数据表集合。
10.根据权利要求7-9中任一项所述的数据查找装置,其中,所述装置进一步包括:
数据集大小预估单元,用于预估所有数据表的数据集的大小并存储,其中,数据集的大小为数据表的行数。
11.一种计算设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1至6中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,存储有计算机可读指令,所述计算机可读指令被至少一个处理器执行时,实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611234893.1A CN108255829B (zh) | 2016-12-28 | 2016-12-28 | 数据查找方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611234893.1A CN108255829B (zh) | 2016-12-28 | 2016-12-28 | 数据查找方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255829A CN108255829A (zh) | 2018-07-06 |
CN108255829B true CN108255829B (zh) | 2021-10-19 |
Family
ID=62719910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611234893.1A Active CN108255829B (zh) | 2016-12-28 | 2016-12-28 | 数据查找方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255829B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008211B (zh) * | 2019-02-21 | 2021-07-06 | 北京奇艺世纪科技有限公司 | 数据查询方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887417A (zh) * | 2009-05-13 | 2010-11-17 | 上海即略网络信息科技有限公司 | 一种搜索方法 |
CN101963999A (zh) * | 2010-11-03 | 2011-02-02 | 北京亮点时间科技有限公司 | 音乐分类搜索引擎***及音乐分类搜索方法 |
CN102024047A (zh) * | 2010-12-14 | 2011-04-20 | 青岛普加智能信息有限公司 | 数据检索方法及装置 |
CN103020281A (zh) * | 2012-12-27 | 2013-04-03 | 中国科学院计算机网络信息中心 | 一种基于空间数据数值索引的数据存储与检索方法 |
CN103577590A (zh) * | 2013-11-12 | 2014-02-12 | 北京润乾信息***技术有限公司 | 一种数据查询方法和*** |
CN104361113A (zh) * | 2014-12-01 | 2015-02-18 | 中国人民大学 | 一种内存-闪存混合存储模式下的olap查询优化方法 |
CN104462434A (zh) * | 2014-12-15 | 2015-03-25 | 北京国双科技有限公司 | 数据查询方法及装置 |
CN104750681A (zh) * | 2013-12-25 | 2015-07-01 | ***通信集团辽宁有限公司 | 一种海量数据的处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224534A (zh) * | 2014-05-29 | 2016-01-06 | 腾讯科技(深圳)有限公司 | 一种请求响应的方法及装置 |
CN104408169B (zh) * | 2014-12-09 | 2018-02-02 | 北京国双科技有限公司 | 基于多维表达式语言的维度查询方法及装置 |
US11829373B2 (en) * | 2015-02-20 | 2023-11-28 | Google Llc | Methods, systems, and media for presenting search results |
-
2016
- 2016-12-28 CN CN201611234893.1A patent/CN108255829B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887417A (zh) * | 2009-05-13 | 2010-11-17 | 上海即略网络信息科技有限公司 | 一种搜索方法 |
CN101963999A (zh) * | 2010-11-03 | 2011-02-02 | 北京亮点时间科技有限公司 | 音乐分类搜索引擎***及音乐分类搜索方法 |
CN102024047A (zh) * | 2010-12-14 | 2011-04-20 | 青岛普加智能信息有限公司 | 数据检索方法及装置 |
CN103020281A (zh) * | 2012-12-27 | 2013-04-03 | 中国科学院计算机网络信息中心 | 一种基于空间数据数值索引的数据存储与检索方法 |
CN103577590A (zh) * | 2013-11-12 | 2014-02-12 | 北京润乾信息***技术有限公司 | 一种数据查询方法和*** |
CN104750681A (zh) * | 2013-12-25 | 2015-07-01 | ***通信集团辽宁有限公司 | 一种海量数据的处理方法及装置 |
CN104361113A (zh) * | 2014-12-01 | 2015-02-18 | 中国人民大学 | 一种内存-闪存混合存储模式下的olap查询优化方法 |
CN104462434A (zh) * | 2014-12-15 | 2015-03-25 | 北京国双科技有限公司 | 数据查询方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108255829A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105427129B (zh) | 一种信息的投放方法及*** | |
CN108536650B (zh) | 生成梯度提升树模型的方法和装置 | |
US10469275B1 (en) | Clustering of discussion group participants | |
CN108537578A (zh) | 基于大数据的广告推送方法及装置 | |
US9959265B1 (en) | Populating values in a spreadsheet using semantic cues | |
CN109344314B (zh) | 一种数据处理方法、装置及服务器 | |
WO2017092444A1 (zh) | 基于Hadoop的日志数据挖掘方法及*** | |
CN111158828A (zh) | 应用程序app的用户界面确定方法及装置、存储介质 | |
US9922340B1 (en) | Evaluating attribution models based on simulated activity streams | |
CN105022807A (zh) | 信息推荐方法及装置 | |
CN108965360B (zh) | 一种推荐数据处理方法及服务器、计算机存储介质 | |
CN112258214A (zh) | 视频投放方法、装置及服务器 | |
CN108255829B (zh) | 数据查找方法及装置 | |
CN110928917A (zh) | 一种目标用户的确定方法、装置、计算设备及介质 | |
JP2019503522A (ja) | 最適化されたデジタル・コンポーネント分析システム | |
CN103853347B (zh) | 基于移动终端重力感应横屏显示的信息发布方法 | |
CN112862544A (zh) | 对象信息的获取方法、装置以及存储介质 | |
CN116861107A (zh) | 业务内容展示方法、装置、设备、介质和产品 | |
CN111553749A (zh) | 一种活动推送策略配置方法及装置 | |
CN111124209A (zh) | 一种界面的显示调整方法及装置 | |
CN107688582B (zh) | 资源推荐模型的获取方法及装置 | |
US9031861B1 (en) | Measuring content item effectiveness | |
CN112532406B (zh) | 对照实验的数据处理方法、装置、计算机设备及存储介质 | |
CN114358842A (zh) | 一种广告投放的调控方法、装置、***、设备和介质 | |
CN112905892A (zh) | 应用于用户画像挖掘的大数据处理方法及大数据服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |