一种映射关系建立、数据查询方法、装置及设备转让专利

申请号 : CN201810251457.8

文献号 : CN110555020B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李翔陆燕宁朱盛家

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请提供一种映射关系建立、数据查询方法、装置及设备,该方法包括:确定数据属性对应的数据集合,所述数据集合包括至少一个数据;建立所述数据属性与所述数据集合的标识的第一映射关系;确定所述数据集合对应的前缀地址;所述前缀地址与所述数据属性生成数据的页面地址,所述数据是所述数据集合中具有所述数据属性的数据;建立所述数据集合的标识与所述前缀地址的第二映射关系。通过本申请的技术方案,可以节省存储空间,减轻索引建立负担,减轻索引查询负担,加快查询速度,减少查询使用时间,提高查询效率。

权利要求 :

1.一种映射关系建立方法,其特征在于,所述方法包括:确定数据属性对应的数据集合,所述数据集合包括至少一个数据;

建立所述数据属性与所述数据集合的标识的第一映射关系;

确定所述数据集合对应的前缀地址;其中,所述前缀地址与所述数据属性生成数据的页面地址,所述数据是所述数据集合中具有所述数据属性的数据;

建立所述数据集合的标识与所述前缀地址的第二映射关系。

2.根据权利要求1所述的方法,其特征在于,所述确定数据属性对应的数据集合,包括:若数据集合中包括具有所述数据属性的数据,将所述数据集合确定为所述数据属性对应的数据集合。

3.根据权利要求1所述的方法,其特征在于,所述确定所述数据集合对应的前缀地址之前,还包括:为所述数据集合生成前缀地址,并记录所述数据集合的标识与所述前缀地址的对应关系;

所述确定所述数据集合对应的前缀地址,包括:通过所述数据集合的标识查询所述对应关系,得到与所述数据集合对应的前缀地址。

4.根据权利要求3所述的方法,其特征在于,所述为所述数据集合生成前缀地址,包括:

为所述数据集合分配唯一识别码,利用所述唯一识别码生成前缀地址;

或者,确定所述数据集合的时间戳,并利用所述时间戳生成前缀地址;

或者,利用所述数据集合的唯一识别码和时间戳生成前缀地址。

5.根据权利要求1所述的方法,其特征在于,所述确定数据属性对应的数据集合之前,所述方法还包括:利用数据集合中的数据的数据属性与所述数据集合对应的前缀地址,生成所述数据的页面地址,并将所述数据存储到所述页面地址对应的存储位置。

6.根据权利要求5所述的方法,其特征在于,所述利用数据集合中的数据的数据属性与所述数据集合对应的前缀地址,生成所述数据的页面地址,包括:根据所述数据集合中的数据的数据属性确定后缀地址;

根据所述后缀地址以及所述前缀地址生成所述数据的页面地址。

7.根据权利要求5所述的方法,其特征在于,所述建立所述数据集合的标识与所述前缀地址的第二映射关系之后,所述方法还包括:当所述数据集合对应的前缀地址发生变化时,则将所述第二映射关系更新为所述数据集合的标识与变化后的前缀地址的映射关系;

利用所述数据集合中的数据的数据属性与变化后的前缀地址,生成所述数据的新页面地址,并将所述数据存储到所述新页面地址对应的存储位置。

8.根据权利要求1所述的方法,其特征在于,所述建立所述数据集合的标识与所述前缀地址的第二映射关系之后,所述方法还包括:通过待查询的数据属性查询第一映射关系,得到对应的数据集合的标识;

通过所述数据集合的标识查询第二映射关系,得到对应的前缀地址;

根据所述数据属性与所述前缀地址生成页面地址;

根据所述页面地址获取所述数据集合中具有所述数据属性的数据。

9.根据权利要求8所述的方法,其特征在于,所述根据所述数据属性与所述前缀地址生成页面地址,包括:根据所述数据属性确定后缀地址;

根据所述后缀地址以及所述前缀地址生成页面地址。

10.根据权利要求8所述的方法,其特征在于,所述根据所述页面地址获取所述数据集合中具有所述数据属性的数据,包括:从所述页面地址对应的存储位置获取具有所述数据属性的数据。

11.根据权利要求1‑10任一项所述的方法,其特征在于,所述数据集合中的数据包括图像数据,所述数据属性包括图像尺寸;或者,所述数据集合中的数据包括视频数据,所述数据属性包括视频大小。

12.一种数据查询方法,其特征在于,所述方法包括:通过待查询的数据属性查询第一映射关系,得到对应的数据集合的标识;其中,所述第一映射关系用于记录数据属性与数据集合的标识的对应关系;

通过所述数据集合的标识查询第二映射关系,得到对应的前缀地址;其中,所述第二映射关系用于记录数据集合的标识与前缀地址的对应关系;

根据所述数据属性与所述前缀地址生成页面地址;

根据所述页面地址获取所述数据集合中具有所述数据属性的数据。

13.根据权利要求12所述的方法,其特征在于,所述根据所述数据属性与所述前缀地址生成页面地址,包括:根据所述数据属性确定后缀地址;

根据所述后缀地址以及所述前缀地址生成页面地址。

14.根据权利要求12所述的方法,其特征在于,所述根据所述页面地址获取所述数据集合中具有所述数据属性的数据,包括:从所述页面地址对应的存储位置获取具有所述数据属性的数据。

15.根据权利要求12‑14任一项所述的方法,其特征在于,所述数据集合中的数据包括图像数据,所述数据属性包括图像尺寸;或者,所述数据集合中的数据包括视频数据,所述数据属性包括视频大小。

16.一种映射关系建立装置,其特征在于,所述装置包括:确定模块,用于确定数据属性对应的数据集合,其中,所述数据集合包括至少一个数据;

建立模块,用于建立所述数据属性与所述数据集合的标识的第一映射关系;

所述确定模块,还用于确定所述数据集合对应的前缀地址;其中,所述前缀地址与所述数据属性生成数据的页面地址,所述数据是所述数据集合中具有所述数据属性的数据;

所述建立模块,还用于建立所述数据集合的标识与所述前缀地址的第二映射关系。

17.根据权利要求16所述的装置,其特征在于,还包括:处理模块,用于利用数据集合中的数据的数据属性与所述数据集合对应的前缀地址,生成所述数据的页面地址,并将所述数据存储到所述页面地址对应的存储位置。

18.一种数据查询装置,其特征在于,所述装置包括:查询模块,用于通过待查询的数据属性查询第一映射关系,得到对应的数据集合的标识;其中,所述第一映射关系用于记录数据属性与数据集合的标识的对应关系;通过所述数据集合的标识查询第二映射关系,得到对应的前缀地址;其中,所述第二映射关系用于记录数据集合的标识与前缀地址的对应关系;

生成模块,用于根据所述数据属性与所述前缀地址生成页面地址;

获取模块,用于根据所述页面地址获取所述数据集合中具有所述数据属性的数据。

19.一种服务器,其特征在于,所述服务器包括:处理器,用于确定数据属性对应的数据集合,所述数据集合包括至少一个数据;建立所述数据属性与所述数据集合的标识的第一映射关系;确定所述数据集合对应的前缀地址;

其中,所述前缀地址与所述数据属性生成数据的页面地址,所述数据是所述数据集合中具有所述数据属性的数据;建立所述数据集合的标识与所述前缀地址的第二映射关系。

20.一种服务器,其特征在于,所述服务器包括:处理器,用于通过待查询的数据属性查询第一映射关系,得到对应的数据集合的标识;

其中,所述第一映射关系用于记录数据属性与数据集合的标识的对应关系;通过所述数据集合的标识查询第二映射关系,得到对应的前缀地址;其中,所述第二映射关系用于记录数据集合的标识与前缀地址的对应关系;根据所述数据属性与所述前缀地址生成页面地址;

根据所述页面地址获取所述数据集合中具有所述数据属性的数据。

说明书 :

一种映射关系建立、数据查询方法、装置及设备

技术领域

[0001] 本申请涉及互联网技术领域,尤其是涉及一种映射关系建立、数据查询方法、装置及设备。

背景技术

[0002] 数据集合通常可以包括大量图像数据,在为图像数据建立索引时,会记录数据集合的标识与每个图像数据的URL(Uniform Resource Locator,统一资源定位符)地址的映射关系。例如,数据集合1可以包括图像数据1‑图像数据20,则需要在数据库中记录数据集合1的标识与图像数据1的URL地址的映射关系,以此类推,记录数据集合1的标识与图像数据20的URL地址的映射关系。
[0003] 显然,针对数据集合,需要在数据库中记录大量映射关系,占用大量存储空间,增加了索引建立的负担。而且,在通过数据集合1的标识查询数据库时,需要查询到大量URL地址,增加了索引查询的负担,降低了查询速度。

发明内容

[0004] 本申请提供一种映射关系建立方法,所述方法包括:
[0005] 确定数据属性对应的数据集合,所述数据集合包括至少一个数据;
[0006] 建立所述数据属性与所述数据集合的标识的第一映射关系;
[0007] 确定所述数据集合对应的前缀地址;其中,所述前缀地址与所述数据属性生成数据的页面地址,所述数据是所述数据集合中具有所述数据属性的数据;
[0008] 建立所述数据集合的标识与所述前缀地址的第二映射关系。
[0009] 本申请提供一种数据查询方法,所述方法包括:
[0010] 通过待查询的数据属性查询第一映射关系,得到对应的数据集合的标识;其中,所述第一映射关系用于记录数据属性与数据集合的标识的对应关系;
[0011] 通过所述数据集合的标识查询第二映射关系,得到对应的前缀地址;其中,所述第二映射关系用于记录数据集合的标识与前缀地址的对应关系;
[0012] 根据所述数据属性与所述前缀地址生成页面地址;
[0013] 根据所述页面地址获取所述数据集合中具有所述数据属性的数据。
[0014] 本申请提供一种映射关系建立方法,所述方法包括:
[0015] 确定图像尺寸对应的数据集合,所述数据集合包括至少一个图像数据;
[0016] 建立所述图像尺寸与所述数据集合的标识的第一映射关系;
[0017] 确定所述数据集合对应的前缀地址;所述前缀地址与所述图像尺寸生成图像数据的页面地址,所述图像数据是所述数据集合中具有所述图像尺寸的数据;
[0018] 建立所述数据集合的标识与所述前缀地址的第二映射关系。
[0019] 本申请提供一种数据查询方法,所述方法包括:
[0020] 通过待查询的图像尺寸查询第一映射关系,得到对应的数据集合的标识;其中,所述第一映射关系用于记录图像尺寸与数据集合的标识的对应关系;
[0021] 通过所述数据集合的标识查询第二映射关系,得到对应的前缀地址;其中,所述第二映射关系用于记录数据集合的标识与前缀地址的对应关系;
[0022] 根据所述图像尺寸与所述前缀地址生成页面地址;
[0023] 根据所述页面地址获取所述数据集合中具有所述图像尺寸的图像数据。
[0024] 本申请提供一种映射关系建立装置,所述装置包括:确定模块,用于确定数据属性对应的数据集合,所述数据集合包括至少一个数据;建立模块,用于建立所述数据属性与所述数据集合的标识的第一映射关系;所述确定模块,还用于确定所述数据集合对应的前缀地址;所述前缀地址与所述数据属性生成数据的页面地址,所述数据是所述数据集合中具有所述数据属性的数据;所述建立模块,还用于建立所述数据集合的标识与所述前缀地址的第二映射关系。
[0025] 本申请提供一种数据查询装置,所述装置包括:
[0026] 查询模块,用于通过待查询的数据属性查询第一映射关系,得到对应的数据集合的标识;其中,所述第一映射关系用于记录数据属性与数据集合的标识的对应关系;通过所述数据集合的标识查询第二映射关系,得到对应的前缀地址;其中,所述第二映射关系用于记录数据集合的标识与前缀地址的对应关系;生成模块,用于根据所述数据属性与所述前缀地址生成页面地址;获取模块,用于根据所述页面地址获取所述数据集合中具有所述数据属性的数据。
[0027] 本申请提供一种服务器,所述服务器包括:处理器,用于确定数据属性对应的数据集合,所述数据集合包括至少一个数据;建立所述数据属性与所述数据集合的标识的第一映射关系;确定所述数据集合对应的前缀地址;所述前缀地址与所述数据属性生成数据的页面地址,所述数据是所述数据集合中具有所述数据属性的数据;建立所述数据集合的标识与所述前缀地址的第二映射关系。
[0028] 本申请提供一种服务器,所述服务器包括:处理器,用于通过待查询的数据属性查询第一映射关系,得到对应的数据集合的标识;所述第一映射关系用于记录数据属性与数据集合的标识的对应关系;通过所述数据集合的标识查询第二映射关系,得到对应的前缀地址;其中,所述第二映射关系用于记录数据集合的标识与前缀地址的对应关系;根据所述数据属性与所述前缀地址生成页面地址;根据所述页面地址获取所述数据集合中具有所述数据属性的数据。
[0029] 基于上述技术方案,本申请实施例中,可以确定数据集合对应的前缀地址,并建立数据集合的标识与前缀地址的映射关系,这样,针对数据集合只建立一个映射关系(即数据集合的标识与前缀地址的映射关系),不需要记录大量映射关系,映射关系的数量与数据集合中的数据数量无关,从而节省存储空间,减轻索引建立的负担。而且,在通过数据集合的标识查询数据库时,只查询到一个前缀地址,不会查询到大量页面地址,从而减轻索引查询的负担,加快查询速度,减少查询使用时间,提高查询效率。进一步的,还可以根据前缀地址得到数据集合中数据的页面地址,从而根据该页面地址查询到该数据。

附图说明

[0030] 为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
[0031] 图1是本申请一种实施方式中的页面地址的拼接示意图;
[0032] 图2是本申请一种实施方式中的映射关系建立方法的流程图;
[0033] 图3是本申请一种实施方式中的数据查询方法的流程图;
[0034] 图4是本申请一种实施方式中的映射关系建立装置的结构图;
[0035] 图5是本申请一种实施方式中的数据查询装置的结构图。

具体实施方式

[0036] 在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
[0037] 应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0038] 本申请实施例中提出一种映射关系建立方法和数据查询方法,通过所述映射关系建立方法,可以建立数据属性与数据集合的标识的第一映射关系,并建立该数据集合的标识与前缀地址的第二映射关系。通过所述数据查询方法,可以从第一映射关系中查询到数据属性对应的数据集合的标识,并从第二映射关系中查询到该数据集合的标识对应的前缀地址,然后,利用该数据属性和该前缀地址生成页面地址,根据该页面地址获取数据集合中具有数据属性的数据。
[0039] 其中,在为数据集合建立第二映射关系时,可以只建立一个映射关系,如数据集合的标识与前缀地址的映射关系,而不是建立数据集合的标识与每个数据的页面地址的对应关系,从而可以节省存储空间,并减轻索引建立的负担。
[0040] 进一步的,在通过数据集合的标识查询第二映射关系时,只查询到一个前缀地址,不会查询到大量的页面地址,从而减轻索引查询的负担,加快查询速度,减少查询使用时间,提高查询效率。而且,还可以根据前缀地址和数据属性得到数据集合中数据的页面地址,从而根据该页面地址查询到该数据。
[0041] 在一个例子中,针对本地存储的数据集合,可以为该数据集合生成前缀地址,并记录该数据集合的标识与该前缀地址的对应关系。进一步的,为该数据集合生成前缀地址,可以包括但不限于:为数据集合分配唯一识别码(如UUID,Universally  Unique Identifier),并利用该唯一识别码生成前缀地址;或者,确定数据集合的时间戳(即该数据集合存储到本地的时间戳),并利用该时间戳生成前缀地址;或者,利用数据集合的唯一识别码和时间戳生成前缀地址。
[0042] 当然,上述三种实现方式只是一个示例,对此不做限制,只要能够为不同的数据集合生成不同的前缀地址即可,后续以第三种方式为例进行说明。
[0043] 例如,可以将数据集合的唯一识别码和时间戳作为加密因子,然后,可以使用base64编码方法(即用于传输8比特字节码的编码方式,可以是基于64个可打印字符来表示二进制数据的方法)或者MD5(Message Digest Algorithm 5,消息摘要算法第五版)加密算法对加密因子进行处理,即得到前缀地址。当然,上述base64编码方法或者MD5加密算法只是一个示例,对此不做限制。
[0044] 例如,针对本地存储的5个数据集合,参见表1所示,为数据集合的标识与前缀地址的对应关系,当然,表1只是示例,对此对应关系的内容不做限制。实际应用中,数据集合的数量远大于5个,后续以表1的前3个数据集合为例。
[0045] 表1
[0046]
[0047]
[0048] 在一个例子中,针对本地存储的数据集合,还可以利用该数据集合中的数据的数据属性与该数据集合对应的前缀地址,生成该数据的页面地址,并将该数据存储到该页面地址对应的存储位置。其中,利用该数据集合中的数据的数据属性与该数据集合对应的前缀地址,生成该数据的页面地址,可以包括但不限于:根据该数据集合中的数据的数据属性确定后缀地址;然后,根据该后缀地址以及该数据集合对应的前缀地址生成该数据的页面地址(即URL地址)。
[0049] 其中,针对同一个数据集合的不同数据,数据属性可以不同,针对不同数据集合的不同数据,数据属性可以相同或者不同。例如,数据属性可以包括但不限于:数据的唯一标识、数据尺寸、数据大小、数据类型、数据摘要、数据创建时间等,对此数据属性不做限制,可以根据经验任意选择。例如,当数据集合中的数据包括图像数据时,则该数据属性可以包括图像尺寸;或者,当数据集合中的数据包括视频数据时,则该数据属性可以包括视频大小。为了方便描述,后续以数据集合中的数据是图像数据,且数据属性是图像尺寸为例。例如,在广告引擎系统中,广告主在创建广告创意时,会在一个广告创意中维护多个不同尺寸的创意图像,这样,该广告创意就是一个数据集合,而该广告创意中的每个创意图像就是图像数据,且该创意图像的尺寸就是数据属性。
[0050] 假设数据集合101包括数据A和数据B,数据A的数据属性是200*300,数据B的数据属性是300*500,数据集合127包括数据C和数据D,数据C的数据属性是200*300,数据D的数据属性是500*400,数据集合233包括数据E和数据F,数据E的数据属性是200*300,数据F的数据属性是300*400。当然,上述只是一个示例,实际应用中,数据集合可以包括大量数据,对此不做限制。
[0051] 基于此,参见图1所示,为页面地址的拼接示意图,可以根据数据A的数据属性200*300确定后缀地址,如后缀地址可以为200*300,然后,可以将该后缀地址200*300与数据集合101的前缀地址http://imgcdn.aaa.com/123.jpg拼接成数据A的页面地址http://imgcdn.aaa.com/123_200*300.jpg。同理,数据B的页面地址可以为http://
imgcdn.aaa.com/123_300*500.jpg;数据C的的页面地址可以为http://imgcdn.aaa.com/
255_200*300.jpg;以此类推,其它页面地址不再赘述。
[0052] 然后,可以将数据A存储到页面地址http://imgcdn.aaa.com/123_200*300.jpg对应的存储位置1,在收到针对页面地址http://imgcdn.aaa.com/123_200*300.jpg的请求时,就可以从存储位置1获取到数据A。同理,可以将数据B存储到页面地址http://imgcdn.aaa.com/123_300*500.jpg对应的存储位置2,以此类推。
[0053] 其中,通过记录页面地址http://imgcdn.aaa.com/123_200*300.jpg与存储位置1的对应关系,这样,在收到针对页面地址http://imgcdn.aaa.com/123_200*300.jpg的请求时,可以查询到存储位置1,从存储位置1获取数据A。同理,记录页面地址http://imgcdn.aaa.com/123_300*500.jpg与存储位置2的对应关系,以此类推。
[0054] 在一个例子中,上述映射关系建立方法和上述数据查询方法可以应用于服务器,如具有数据存储功能和数据查询功能的服务器,对此服务器的类型不做限制。实现映射关系建立方法的服务器与实现数据查询方法的服务器,可以是同一个服务器,也可以是不同的服务器,后续以同一个服务器为例进行说明。
[0055] 参见图2所示,为上述映射关系建立方法的流程图,该方法可以包括:
[0056] 步骤201,确定数据属性对应的数据集合,该数据集合包括至少一个数据。
[0057] 步骤202,建立该数据属性与数据集合的标识的第一映射关系。
[0058] 步骤203,确定该数据集合对应的前缀地址;其中,该前缀地址与该数据属性生成数据的页面地址,该数据是该数据集合中具有该数据属性的数据。
[0059] 步骤204,建立该数据集合的标识与该前缀地址的第二映射关系。
[0060] 在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
[0061] 在一个例子中,针对步骤201,确定数据属性对应的数据集合,可以包括:若数据集合中包括具有该数据属性的数据,则可以将该数据集合确定为该数据属性对应的数据集合。具体的,针对每个数据集合,可以判断该数据集合中是否存在具有该数据属性的数据,如果是,则将该数据集合确定为该数据属性对应的数据集合,如果否,则该数据集合不是该数据属性对应的数据集合。
[0062] 例如,参见上述实施例,由于数据集合101的数据A的数据属性是200*300,数据集合127的数据C的数据属性是200*300,数据集合233的数据E的数据属性是200*300,因此,数据属性200*300对应的数据集合为数据集合101、数据集合127和数据集合233。同理,数据属性300*500对应数据集合101,数据属性500*400对应数据集合127,数据属性300*400对应数据集合233。
[0063] 在一个例子中,针对步骤202,可以建立每个数据属性与该数据属性对应的数据集合的标识的第一映射关系,其中,该第一映射关系可以为倒排索引。
[0064] 例如,参见表2所示,为第一映射关系的一个示例,当然,表2只是一个示例,对此第一映射关系的内容不做限制,后续以表2为例进行说明。
[0065] 表2
[0066]数据属性 数据集合的标识
200*300 数据集合101、数据集合127、数据集合233
300*500 数据集合101
500*400 数据集合127
300*400 数据集合233
[0067] 在一个例子中,针对步骤203,确定数据集合对应的前缀地址,可以包括:通过该数据集合的标识查询数据集合的标识与前缀地址的对应关系(参见表1所示),得到与该数据集合对应的前缀地址。其中,该前缀地址与该数据属性生成数据的页面地址,该数据是该数据集合中具有该数据属性的数据。
[0068] 参见表1所示,数据集合101对应前缀地址http://imgcdn.aaa.com/123.jpg,由于数据集合101中的数据A具有数据属性200*300,因此,数据属性200*300与前缀地址http://imgcdn.aaa.com/123.jpg组成数据A的页面地址,以此类推。
[0069] 在一个例子中,针对步骤204,在得到数据集合的前缀地址后,可以建立该数据集合的标识与该前缀地址的第二映射关系,该第二映射关系为正排索引。
[0070] 例如,参见表3所示,为第二映射关系的一个示例,当然,表3只是一个示例,对此第二映射关系的内容不做限制,后续以表3为例进行说明。
[0071] 表3
[0072]数据集合的标识 前缀地址
数据集合101 http://imgcdn.aaa.com/123.jpg
数据集合127 http://imgcdn.aaa.com/255.jpg
数据集合233 http://imgcdn.aaa.com/369.jpg
[0073] 经过上述处理,就可以在数据库中建立数据属性与数据集合的标识的第一映射关系,并建立数据集合的标识与前缀地址的第二映射关系,至此,完成映射关系的建立过程。基于所述第一映射关系和第二映射关系,还可以进行数据查询流程,参见图3所示,为数据查询方法的流程图,该方法可以包括:
[0074] 步骤301,通过待查询的数据属性查询第一映射关系,得到对应的数据集合的标识;其中,第一映射关系用于记录数据属性与数据集合的标识的对应关系。
[0075] 步骤302,通过该数据集合的标识查询第二映射关系,得到对应的前缀地址;其中,该第二映射关系用于记录数据集合的标识与前缀地址的对应关系。
[0076] 步骤303,根据该数据属性与该前缀地址生成页面地址(即URL地址)。
[0077] 步骤304,根据该页面地址获取该数据集合中具有该数据属性的数据。
[0078] 针对步骤301和步骤302,假设待查询的数据属性是300*500,则通过数据属性300*500查询表2的第一映射关系,得到数据集合101;然后,通过数据集合101查询表3的第二映射关系,得到前缀地址http://imgcdn.aaa.com/123.jpg。
[0079] 在一个例子中,针对步骤303,根据该数据属性与该前缀地址生成页面地址,可以包括但不限于:根据该数据属性确定后缀地址;然后,可以根据该后缀地址以及该前缀地址生成页面地址(即URL地址)。例如,由于数据属性是300*500,因此,可以根据数据属性300*500确定后缀地址,如后缀地址可以为300*500。然后,还可以将该后缀地址300*500与该前缀地址http://imgcdn.aaa.com/123.jpg拼接成如下的页面地址http://imgcdn.aaa.com/
123_300*500.jpg。
[0080] 在一个例子中,针对步骤304,根据该页面地址获取该数据集合中具有该数据属性的数据,可以包括:从该页面地址对应的存储位置获取该数据集合中具有该数据属性的数据。例如,从页面地址http://imgcdn.aaa.com/123_300*500.jpg对应的存储位置获取到数据B,即数据集合101中具有数据属性300*500的数据。
[0081] 经过上述处理,基于第一映射关系和第二映射关系,就可以获取到待查询的数据属性300*500对应的数据,至此,可以完成数据查询过程。
[0082] 基于上述技术方案,本申请实施例中,可以确定数据集合对应的前缀地址,并建立数据集合的标识与前缀地址的映射关系,这样,针对数据集合只建立一个映射关系(即数据集合的标识与前缀地址的映射关系),不需要记录大量映射关系,映射关系的数量与数据集合中的数据数量无关,从而节省存储空间,减轻索引建立的负担。而且,在通过数据集合的标识查询数据库时,只查询到一个前缀地址,不会查询到大量页面地址,从而减轻索引查询的负担,加快查询速度,减少查询使用时间,提高查询效率。进一步的,还可以根据前缀地址得到数据集合中数据的页面地址,从而根据该页面地址查询到该数据。
[0083] 在上述实施例中,在建立数据集合的标识与前缀地址的第二映射关系(参见步骤204)之后,当该数据集合对应的前缀地址发生变化时,则还可以将所述第二映射关系更新为该数据集合的标识与变化后的前缀地址的映射关系。然后,还可以利用该数据集合中的数据的数据属性与变化后的前缀地址,生成该数据的新页面地址,并可以将该数据存储到所述新页面地址对应的存储位置。
[0084] 其中,当数据集合101中的数据发生变化时,则可以划分为如下情况:情况一、删除数据B;情况二、增加数据R;情况三、将数据B修改为数据R。
[0085] 针对情况一,可以从表2所示的第一映射关系中删除数据属性300*500与数据集合101的对应关系。此外,数据集合101的前缀地址不发生变化,第二映射关系保持不变,从数据B的页面地址对应的存储位置删除数据B即可。
[0086] 针对情况二,可以在表2所示的第一映射关系中增加数据R的数据属性与数据集合101的对应关系。此外,数据集合101的前缀地址不发生变化,第二映射关系保持不变。此外,利用数据R的数据属性与数据集合101的前缀地址确定数据R的页面地址,并将数据R存储到该页面地址对应的存储位置。
[0087] 针对情况三,可以从第一映射关系中删除数据属性300*500与数据集合101的对应关系,并在第一映射关系中增加数据R的数据属性与数据集合101的对应关系。此外,数据集合101的前缀地址发生变化,第二映射关系也发生变化,即第二映射关系为数据集合101与变化后的前缀地址的映射关系,如表4所示。
[0088] 表4
[0089]数据集合的标识 前缀地址
数据集合101 http://imgcdn.aaa.com/100.jpg
数据集合127 http://imgcdn.aaa.com/255.jpg
数据集合233 http://imgcdn.aaa.com/369.jpg
[0090] 然后,先从数据A的页面地址对应的存储位置删除数据A,并从数据B的页面地址对应的存储位置删除数据B。进一步的,利用数据A的数据属性与变化后的前缀地址http://imgcdn.aaa.com/100.jpg生成数据A的新页面地址,将数据A存储到新页面地址对应的存储位置;利用数据R的数据属性与变化后的前缀地址生成数据R的新页面地址,将数据R存储到新页面地址对应的存储位置。
[0091] 基于与上述方法同样的构思,本申请实施例中还提出一种映射关系建立方法,该方法可以包括:确定图像尺寸对应的数据集合,其中,该数据集合包括至少一个图像数据;建立该图像尺寸与该数据集合的标识的第一映射关系。然后,确定该数据集合对应的前缀地址,其中,该前缀地址与该图像尺寸生成该图像数据的页面地址,且该图像数据是该数据集合中具有该图像尺寸的数据。然后,建立该数据集合的标识与该前缀地址的第二映射关系。其中,上述映射关系建立方法与图2所示的映射关系建立方法类似,在此不再重复赘述。
[0092] 基于与上述方法同样的构思,本申请实施例还提出一种数据查询方法,该方法可以包括:通过待查询的图像尺寸查询第一映射关系,得到对应的数据集合的标识;其中,所述第一映射关系用于记录图像尺寸与数据集合的标识的对应关系。然后,通过查询到的数据集合的标识查询第二映射关系,得到对应的前缀地址;其中,所述第二映射关系用于记录数据集合的标识与前缀地址的对应关系。然后,根据待查询的图像尺寸与查询到的前缀地址生成页面地址,并根据该页面地址获取该数据集合中具有该图像尺寸的图像数据。其中,上述数据查询方法与图3所示的数据查询方法类似,在此不再重复赘述。
[0093] 基于与上述方法同样的申请构思,本申请实施例还提供一种映射关系建立装置,参见图4所示,为所述映射关系建立装置的结构图,所述映射关系建立装置可以包括:确定模块401,用于确定数据属性对应的数据集合,其中,所述数据集合包括至少一个数据;建立模块402,用于建立所述数据属性与所述数据集合的标识的第一映射关系;所述确定模块401,还用于确定所述数据集合对应的前缀地址;其中,所述前缀地址与所述数据属性生成数据的页面地址,所述数据是所述数据集合中具有所述数据属性的数据;所述建立模块
402,还用于建立所述数据集合的标识与所述前缀地址的第二映射关系。
[0094] 在一个例子中,所述映射关系建立装置还包括(在图中未视出):处理模块,用于利用数据集合中的数据的数据属性与所述数据集合对应的前缀地址,生成所述数据的页面地址,并将所述数据存储到所述页面地址对应的存储位置。
[0095] 基于与上述方法同样的申请构思,本申请实施例还提供一种服务器,所述服务器可以包括:处理器,用于确定数据属性对应的数据集合,所述数据集合包括至少一个数据;建立所述数据属性与所述数据集合的标识的第一映射关系;确定所述数据集合对应的前缀地址;其中,所述前缀地址与所述数据属性生成数据的页面地址,所述数据是所述数据集合中具有所述数据属性的数据;建立所述数据集合的标识与所述前缀地址的第二映射关系。
[0096] 基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:确定数据属性对应的数据集合,所述数据集合包括至少一个数据;建立所述数据属性与所述数据集合的标识的第一映射关系;确定所述数据集合对应的前缀地址;其中,所述前缀地址与所述数据属性生成数据的页面地址,所述数据是所述数据集合中具有所述数据属性的数据;建立所述数据集合的标识与所述前缀地址的第二映射关系。
[0097] 基于与上述方法同样的申请构思,本申请实施例还提供一种数据查询装置,参见图5所示,为所述数据查询装置的结构图,所述数据查询装置包括:查询模块501,用于通过待查询的数据属性查询第一映射关系,得到对应的数据集合的标识;其中,所述第一映射关系用于记录数据属性与数据集合的标识的对应关系;通过所述数据集合的标识查询第二映射关系,得到对应的前缀地址;其中,所述第二映射关系用于记录数据集合的标识与前缀地址的对应关系;生成模块502,用于根据所述数据属性与所述前缀地址生成页面地址;获取模块503,用于根据所述页面地址获取所述数据集合中具有所述数据属性的数据。
[0098] 基于与上述方法同样的申请构思,本申请实施例还提供一种服务器,所述服务器可以包括:处理器,用于通过待查询的数据属性查询第一映射关系,得到对应的数据集合的标识;其中,所述第一映射关系用于记录数据属性与数据集合的标识的对应关系;通过所述数据集合的标识查询第二映射关系,得到对应的前缀地址;其中,所述第二映射关系用于记录数据集合的标识与前缀地址的对应关系;根据所述数据属性与所述前缀地址生成页面地址;根据所述页面地址获取所述数据集合中具有所述数据属性的数据。
[0099] 基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:通过待查询的数据属性查询第一映射关系,得到对应的数据集合的标识;其中,所述第一映射关系用于记录数据属性与数据集合的标识的对应关系;通过所述数据集合的标识查询第二映射关系,得到对应的前缀地址;其中,所述第二映射关系用于记录数据集合的标识与前缀地址的对应关系;根据所述数据属性与所述前缀地址生成页面地址;根据所述页面地址获取所述数据集合中具有所述数据属性的数据。
[0100] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0101] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0102] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0103] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0104] 而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
[0105] 这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0106] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。