首页> 中国专利> 一种基于属性值查找目标对象的方法和装置

一种基于属性值查找目标对象的方法和装置

摘要

本发明适用于信息查找领域,提供了一种基于属性值查找目标对象的方法和装置,该方法包括:接收目标对象的查找指令,所述查找指令包括目标对象的属性查找条件;由所述目标对象预设的编号、目标对象的属性查找条件以及包括目标对象属性的元数据库生成编号跳表,所述编号跳表分别与各个属性查找条件相对应;查找所述编号跳表中的相同的编号构成的编号集合;根据预设的编号与目标对象的对应关系,由所述编号集合获取所述属性查找条件的目标对象。本发明实施例可以快速有效的查找到所需要查找的目标对象,由目标对象的元数据库生成的编号跳表,由编号跳表查找编号集合,可显著提高目标对象的查找效率。

著录项

  • 公开/公告号CN104346362A

    专利类型发明专利

  • 公开/公告日2015-02-11

    原文格式PDF

  • 申请/专利权人 腾讯科技(深圳)有限公司;

    申请/专利号CN201310324016.3

  • 发明设计人 张春玮;

    申请日2013-07-29

  • 分类号G06F17/30;

  • 代理机构深圳中一专利商标事务所;

  • 代理人刘朗星

  • 地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室

  • 入库时间 2023-12-17 04:14:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-26

    授权

    授权

  • 2016-07-20

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130729

    实质审查的生效

  • 2015-02-11

    公开

    公开

说明书

技术领域

本发明属于信息查找领域,尤其涉及一种基于属性值查找目标对象的方法 和装置。

背景技术

在查找目标对象时,有的目标对象可能会存在多个属性,每个属性可能会 存在多种不同的取值,用户可以根据属性取值查找目标对象。比如对于图书库 中书籍的查找,每本书籍会有相应的书籍名称、出版社名称、撰写或者翻译的 作者、出版日期、书籍分类等属性,用户根据书籍名称等属性中的一种或者多 种进行书籍的查找。

现有的目标对象查找方法,一般是在存储有所有目标对象的属性的数据库 中逐条搜索每个目标对象的属性,根据搜索条件得到需要查找的目标对象。但 是现有的搜索方式,逐条搜索每个目标对象的多个属性的组合,使得搜索时间 较长,查找效率较低。

发明内容

本发明实施例的目的在于提供一种基于属性值查找目标对象的方法和装 置,以解决现有技术在存储有目标对象的属性的数据库中逐条查找每个目标对 象属性搜索时间长的问题,从而提高查找效率。

本发明实施例是这样实现的,一种基于属性值查找目标对象的方法,所述 方法包括下述步骤:

接收目标对象的查找指令,所述查找指令包括目标对象的属性查找条件;

由所述目标对象预设的编号、目标对象的属性查找条件以及包括目标对象 属性的元数据库生成编号跳表,所述编号跳表分别与各个属性查找条件相对应;

查找所述编号跳表中的相同的编号构成的编号集合;

根据预设的编号与目标对象的对应关系,由所述编号集合获取所述属性查 找条件的目标对象。

本发明实施例的另一目的在于提供一种基于属性值查找目标对象的装置, 所述装置包括:

接收单元,用于接收目标对象的查找指令,所述查找指令包括目标对象的 属性查找条件;

生成单元,用于由所述目标对象预设的编号、目标对象的属性查找条件以 及包括目标对象属性的元数据库生成编号跳表,所述编号跳表分别与各个属性 查找条件相对应;

查找单元,用于查找所述编号跳表中的相同的编号构成的编号集合;

获取单元,用于根据预设的编号与目标对象的对应关系,由所述编号集合 获取所述属性查找条件的目标对象。

在本发明实施例中,根据目标对象的属性查找条件、目标对象预设的编号 及包括目标对象属性的元数据库生成编号跳表,用户输入的查找目标对象的查 找条件可以通过各个编号跳表快速的进行运算操作,得到需要查找的目标对象 的编号集合,根据编号与目标对象的对应关系,可以快速有效的查找到所需要 查找的目标对象,由目标对象的元数据库生成的编号跳表,由编号跳表查找编 号集合,可显著提高目标对象的查找效率。

附图说明

图1是本发明第一实施例提供的基于属性值查找目标对象的实现流程图;

图2是本发明第一实施例提供的一种生成编号跳表的实现流程图;

图3是本发明第一实施例提供的包括三个属性的目标对象的示意图;

图4为本发明第一实施例提供的查找所述编号跳表中的相同的编号构成的 编号集合的流程示意图;

图5为本发明第二实施例提供的基于属性值查找目标对象的装置的结构示 意图;

图6为本发明实施例提供的设备相关的部分结构的框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。

在本发明实施例中,目标对象的查找系统接收目标对象的查找指令,所述 查找指令包括目标对象的属性查找条件;由所述目标对象预设的编号、目标对 象的属性查找条件以及包括目标对象属性的元数据库生成编号跳表,所述编号 跳表分别与各个属性查找条件相对应;查找所述编号跳表中的相同的编号构成 的编号集合;根据预设的编号与目标对象的对应关系,由所述编号集合获取所 述属性查找条件的目标对象。用户输入的查找目标对象的查找条件可以通过各 个编号跳表快速的进行运算操作,得到需要查找的目标对象的编号集合,根据 编号与目标对象的对应关系,可以快速有效的查找到所需要查找的目标对象, 由目标对象的元数据库生成的编号跳表,由编号跳表查找编号集合,可显著提 高目标对象的查找效率。

本发明实施例可以用于包括多个属性和属性有不同取值的目标对象的查 找。如书籍数据库中对书籍的名称、出版社名称、出版日期、作者姓名等属性 的查找,当然不限于在书籍的查找,对于其它类似的目标对象的查找,同样应 用本发明所述基于属性值查找目标对象的方法。

实施例一:

图1示出了本发明第一实施例提供的基于属性值查找目标对象的实现流 程,详述如下:

在步骤S101中,接收目标对象的查找指令,所述查找指令包括目标对象的 属性查找条件。

所述目标对象,为查找系统所需要查找的目标,包括书籍等各类物品,每 个物品会具有自身的属性信息,如图书具有出版日期、图书名称、图书的出版 社、图书的出版日期、图书的作者或者译者、图书的版次等;商品具有商品名 称、商品生产日期、商品保持期、商品生产厂家、商品质量等。

所述接收的目标对象的查找指令,可以为查找系统或者查找页面提供的查 找框中输入的信息,用户可以根据输入框中输入一个或者多个属性查找条件, 当然,作为本发明实施例的另一种可实施方式,所述输入的属性查找条件不局 限于“与”关系查找,还可以包括“或”、“与或”、“异或”等多种条件组 合关系,作为一种基础的逻辑组合关系,本发明实施例仅以逻辑“与”进行解 释说明。

作为一个特例,用户输入的查找指令,当然也可以仅包括一个查找条件, 由于在仅包括一个查找条件的情况下,不需要进行多个查找条件的合并运算, 可以免于后续部分操作步骤。

在步骤S102中,由所述目标对象预设的编号、目标对象的属性查找条件以 及包括目标对象属性的元数据库生成编号跳表,所述编号跳表分别与各个属性 查找条件相对应。

所述目标对象预设的编号,可以按照自增的整数逐个进行编号,如第一个 目标对象的编号为1,第二个目标对象的编号为2,逐渐累加的方式进行编号。 此为较佳的实施方式,当然也可以采用其它要求或者顺序进行编号,本实施例 仅以按照自增的整数编号进行说明。

所述目标对象的元数据库,包括目标对象的编号和目标对象的属性。所述 目标对象的属性包括可作为查询条件的属性和可不作为查询条件的属性。在用 户发起查询请求时,可将元数据中存放的可不作为查询条件的属性载入到数据 缓存中,其目的在于在放目标对象的非查询条件包括的属性展现给用户。

元数据缓存可以采用Map<ID,Item>的方式来存储,ID就是目标对象的编 号,全局唯一,Item是物品的信息,数据的载入可以调用函数Map.put(ID,Item) 来实现。

因此,可选的,在查询系统建立时,本发明实施例可包括将所述目标对象 按照自增的整数顺序进行编号,将所述目标对象的属性中可作为查找条件的属 性进行枚举编码,生成目标对象的元数据库。

图2为本发明第一实施例提供的一种生成编号跳表的实现流程图,详述如 下:

在步骤S21中,读取属性查找条件中的目标对象的属性的取值。

在查找条件中一般包括目标对象的多个属性的取值,根据用户常用的逻辑 “与”关系,接收用户的多个查询条件。

在步骤S22中,由所述元数据库中依次读取包含所述取值的目标对象,判 断所述目标对象的属性的取值对应的编号跳表是否为空。

当所有目标对象读取完毕仍然没有读取到所述查找条件的取值,则表示当 前元数据库中不存在查找条件的数据,返回空值。

当所述目标对象读取到包括所述查找条件的取值,则判断所述目标对象的 属性的所述取值是否存在跳表。

在步骤S23中,如果所述目标对象的属性的取值对应的跳表为空,则新建 对应属性取值的编号跳表,并将所述目标对象的编号插入到所述编号跳表。

在步骤S24中,如果所述目标对象的属性的取值对应的编号跳表不为空, 则将所述目标对象的编号插入到所述编号跳表。

如图3所示,当前目标对象包括A、B、C三个属性,其中A、B属性分别 对应两种取值,分别为a、b和ba、bb,假定搜索条件为A属性上取值为a和 B属性上取值为b的符合条件的目标对象,搜索条件可记为<A,a><B,b>,那 么,根据搜索条件,需要创建A属性取值为a的编号跳表和B属性取值为b的 编号跳表,当查找到符合要求的编号时,判断当前是否存在对应的编号跳表, 如果不存在,则创建对应的编号跳表,如果存在,则根据编号的大小顺序,将 当前编号插入到编号跳表当中。

当然不局限于此,本领域一般技术人员还可以将满足要求的所有编号选出 来后生成编号跳表,生成编号跳表的方式可多种。

在步骤S103中,查找所述编号跳表中的相同的编号构成的编号集合。

由步骤S102得到与查找条件相应的多个编号跳表后,需要根据查找的逻辑 关系得到符合查找条件的编号集合。

图4示出了当所述目标对象的属性查找条件为N个时,查找所述编号跳表 中的相同的编号构成的编号集合的流程示意图,详述如下:

S41、依次读取第一编号跳表中的一个编号FID,判断第2个至N个编号 跳表中是否均存在所述编号FID,如果是则转到步骤S42,如果不是则转至步 骤S43。

查找过程中,由于编号跳表中的目标对象的编号为顺序排列,当判断第2 至N个编号跳表中的编号大于需要比较的编号时,即可停止所述比较,提高查 找效率。

S42、记录所述编号,并判断第一编号跳表中的下一个编号是否为空,如 果为空则转至步骤S44,如果不是则转至步骤S41。

S43、将第一编号跳表中的下一个编号与第2个至N个编号跳表中比FID 大的第一个编号开始比较,如果第2个至N个编号跳表中是否均存在所述第一 编号跳表中的下一个编号,如果存在,则转入步骤S42,如果不存在,则转入 步骤S43。

由于编号跳表中的目标对象的编号为顺序排列,与步骤S42相应的,将比 FID大的第一个编号开始比较,比较到编号大于需要比较的编号时,即可停止 所述比较,提高查找效率。

S44、由所述记录的编号,生成编号集合。

上述得到编号集合仅为一种优选的实施方式,本领域一般技术人员明白还 可包括多种查找方式,查找效率可能会有区别,由图4所述流程,可以由编号 跳表快速的查找到多个编号跳表中具有的相同编号,有效提高查找效率。

为进一步提高查找效率,在步骤S41之前,还可包括:

判断所述目标对象的属性查找条件是否存在矛盾,如果所述目标对象的属 性查找条件存在矛盾,则返回空集。

在步骤S104中,根据预设的编号与目标对象的对应关系,由所述编号集合 获取所述属性查找条件的目标对象。

根据预设的编号与目标对象的对应关系,可以得到编号集合所对应的目标 对象的信号,并由缓存中保存的目标对象的属性数据,展示给用户。

本发明实施例中,根据目标对象的属性查找条件、目标对象预设的编号及 包括目标对象属性的元数据库生成编号跳表,用户输入的查找目标对象的查找 条件可以通过各个编号跳表快速的进行运算操作,得到需要查找的目标对象的 编号集合,根据编号与目标对象的对应关系,可以快速有效的查找到所需要查 找的目标对象,由目标对象的元数据库生成的编号跳表,由编号跳表查找编号 集合,可显著提高目标对象的查找效率。

实施例二:

图5为本发明第二实施例提供的基于属性值查找目标对象的装置的结构示 意图,详述如下:

本发明实施例所述基于属性值查找目标对象的装置,包括接收单元501、 生成单元502、查找单元503、获取单元504,其中:

接收单元501,用于接收目标对象的查找指令,所述查找指令包括目标对 象的属性查找条件;

生成单元502,用于由所述目标对象预设的编号、目标对象的属性查找条 件以及包括目标对象属性的元数据库生成编号跳表,所述编号跳表分别与各个 属性查找条件相对应;

查找单元503,用于查找所述编号跳表中的相同的编号构成的编号集合;

获取单元504,用于根据预设的编号与目标对象的对应关系,由所述编号 集合获取所述属性查找条件的目标对象。

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

编号编码单元505,用于将所述目标对象按照自增的整数顺序进行编号, 将所述目标对象的属性中可作为查找条件的属性进行枚举编码,生成目标对象 的元数据库。

所述生成单元502包括:

读取子单元5021,用于读取属性查找条件中的目标对象的属性的取值;

第一判断子单元5022,用于由所述元数据库中依次读取包含所述取值的目 标对象,判断所述目标对象的属性的取值对应的编号跳表是否为空;

新建子单元5023,用于如果所述目标对象的属性的取值对应的跳表为空, 则新建对应属性取值的编号跳表,并将所述目标对象的编号插入到所述编号跳 表;

插入子单元5024,用于如果所述目标对象的属性的取值对应的编号跳表不 为空,则将所述目标对象的编号插入到所述编号跳表。

当所述目标对象的属性查找条件为N个时,所述查找单元503包括:

第二判断子单元5031,用于依次读取第一编号跳表中的一个编号FID,判 断第2个至N个编号跳表中是否均存在所述编号FID,如果是则转到第三判断 子单元,如果不是则转至第四判断子单元;

第三判断子单元5032,用于记录所述编号,并判断第一编号跳表中的下一 个编号是否为空,如果为空则转至生成子单元,如果不是则转至步骤第二判断 子单元;

第四判断子单元5033,用于将第一编号跳表中的下一个编号与第2个至N 个编号跳表中比FID大的第一个编号开始比较,如果第2个至N个编号跳表中 是否均存在所述第一编号跳表中的下一个编号,如果存在,则转入第三判断子 单元,如果不存在,则转入第四判断子单元;

生成子单元5034,用于由所述记录的编号,生成编号集合。

第五判断子单元5035,用于判断所述目标对象的属性查找条件是否存在矛 盾,如果所述目标对象的属性查找条件存在矛盾,则返回空集。

本发明实施例所述装置与实施例一实施所述方法相对应,在此不作重复赘 述。

实施例三:

图6示出的是与本发明实施例提供的设备相关的部分结构的框图。参考图 6,设备可以为手机或者电脑,其包括:射频(Radio Frequency,RF)电路610、 存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线 保真(wireless fidelity,WiFi)模块670、处理器680、以及电源690等部件。 本领域技术人员可以理解,图6中示出的设备结构并不构成对设备的限定,可 以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图6对设备的各个构成部件进行具体的介绍:

RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地, 将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送 给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合 器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路 110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一 通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile  communication,GSM)、通用分组无线服务(General Packet Radio Service, GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址 (Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term  Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。

存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存 储器620的软件程序以及模块,从而执行设备的各种功能应用以及数据处理。 存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操 作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等) 等;存储数据区可存储根据设备的使用所创建的数据(比如音频数据、电话本 等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失 性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器 件。

输入单元630可用于接收输入的数字或字符信息,以及产生与设备600的 用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控 面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在 其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在 触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相 应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个 部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号, 将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将 它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加 以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实 现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备 632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音 量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元640可用于显示由用户输入的信息或提供给用户的信息以及设备 的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示 器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode, OLED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板 641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680 以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641 上提供相应的视觉输出。虽然在图6中,触控面板631与显示面板641是作为 两个独立的部件来实现设备的输入和输入功能,但是在某些实施例中,可以将 触控面板631与显示面板641集成而实现设备的输入和输出功能。

设备600还可包括至少一种传感器650,比如光传感器、运动传感器以及 其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环 境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可 在设备移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种, 加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测 出重力的大小及方向,可用于识别设备姿态的应用(比如横竖屏切换、相关游 戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于设备 还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器, 在此不再赘述。

音频电路660、扬声器661,传声器662可提供用户与设备之间的音频接口。 音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由 扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转 换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理 器680处理后,经RF电路610以发送给比如另一设备,或者将音频数据输出 至存储器620以便进一步处理。

WiFi属于短距离无线传输技术,设备通过WiFi模块670可以帮助用户收 发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网 访问。虽然图6示出了WiFi模块670,但是可以理解的是,其并不属于设备600 的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器680是设备的控制中心,利用各种接口和线路连接整个设备的各个 部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存 储在存储器620内的数据,执行手机的各种功能和处理数据,从而对设备进行 整体监控。可选的,处理器680可包括一个或多个处理单元;优选的,处理器 680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系 统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的 是,上述调制解调处理器也可以不集成到处理器680中。

设备600还包括给各个部件供电的电源690(比如电池),优选的,电源可 以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理 充电、放电、以及功耗管理等功能。

尽管未示出,设备600还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本发明实施例中,该终端所包括的处理器680还具有以下功能:执行基 于属性值查找目标对象的方法,包括:

接收目标对象的查找指令,所述查找指令包括目标对象的属性查找条件;

由所述目标对象预设的编号、目标对象的属性查找条件以及包括目标对象 属性的元数据库生成编号跳表,所述编号跳表分别与各个属性查找条件相对应;

查找所述编号跳表中的相同的编号构成的编号集合;

根据预设的编号与目标对象的对应关系,由所述编号集合获取所述属性查 找条件的目标对象。

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号