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

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

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

【背景技术】
[0002]在查找目标对象时,有的目标对象可能会存在多个属性,每个属性可能会存在多种不同的取值,用户可以根据属性取值查找目标对象。比如对于图书库中书籍的查找,每本书籍会有相应的书籍名称、出版社名称、撰写或者翻译的作者、出版日期、书籍分类等属性,用户根据书籍名称等属性中的一种或者多种进行书籍的查找。
[0003]现有的目标对象查找方法,一般是在存储有所有目标对象的属性的数据库中逐条搜索每个目标对象的属性,根据搜索条件得到需要查找的目标对象。但是现有的搜索方式,逐条搜索每个目标对象的多个属性的组合,使得搜索时间较长,查找效率较低。


【发明内容】

[0004]本发明实施例的目的在于提供一种基于属性值查找目标对象的方法和装置,以解决现有技术在存储有目标对象的属性的数据库中逐条查找每个目标对象属性搜索时间长的问题,从而提闻查找效率。
[0005]本发明实施例是这样实现的,一种基于属性值查找目标对象的方法,所述方法包括下述步骤:
[0006]接收目标对象的查找指令,所述查找指令包括目标对象的属性查找条件;
[0007]由所述目标对象预设的编号、目标对象的属性查找条件以及包括目标对象属性的元数据库生成编号跳表,所述编号跳表分别与各个属性查找条件相对应;
[0008]查找所述编号跳表中的相同的编号构成的编号集合;
[0009]根据预设的编号与目标对象的对应关系,由所述编号集合获取所述属性查找条件的目标对象。
[0010]本发明实施例的另一目的在于提供一种基于属性值查找目标对象的装置,所述装置包括:
[0011]接收单元,用于接收目标对象的查找指令,所述查找指令包括目标对象的属性查找条件;
[0012]生成单元,用于由所述目标对象预设的编号、目标对象的属性查找条件以及包括目标对象属性的元数据库生成编号跳表,所述编号跳表分别与各个属性查找条件相对应;
[0013]查找单元,用于查找所述编号跳表中的相同的编号构成的编号集合;
[0014]获取单元,用于根据预设的编号与目标对象的对应关系,由所述编号集合获取所述属性查找条件的目标对象。
[0015]在本发明实施例中,根据目标对象的属性查找条件、目标对象预设的编号及包括目标对象属性的元数据库生成编号跳表,用户输入的查找目标对象的查找条件可以通过各个编号跳表快速的进行运算操作,得到需要查找的目标对象的编号集合,根据编号与目标对象的对应关系,可以快速有效的查找到所需要查找的目标对象,由目标对象的元数据库生成的编号跳表,由编号跳表查找编号集合,可显著提高目标对象的查找效率。

【专利附图】

【附图说明】
[0016]图1是本发明第一实施例提供的基于属性值查找目标对象的实现流程图;
[0017]图2是本发明第一实施例提供的一种生成编号跳表的实现流程图;
[0018]图3是本发明第一实施例提供的包括三个属性的目标对象的示意图;
[0019]图4为本发明第一实施例提供的查找所述编号跳表中的相同的编号构成的编号集合的流程示意图;
[0020]图5为本发明第二实施例提供的基于属性值查找目标对象的装置的结构示意图;
[0021]图6为本发明实施例提供的设备相关的部分结构的框图。

【具体实施方式】
[0022]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0023]在本发明实施例中,目标对象的查找系统接收目标对象的查找指令,所述查找指令包括目标对象的属性查找条件;由所述目标对象预设的编号、目标对象的属性查找条件以及包括目标对象属性的元数据库生成编号跳表,所述编号跳表分别与各个属性查找条件相对应;查找所述编号跳表中的相同的编号构成的编号集合;根据预设的编号与目标对象的对应关系,由所述编号集合获取所述属性查找条件的目标对象。用户输入的查找目标对象的查找条件可以通过各个编号跳表快速的进行运算操作,得到需要查找的目标对象的编号集合,根据编号与目标对象的对应关系,可以快速有效的查找到所需要查找的目标对象,由目标对象的元数据库生成的编号跳表,由编号跳表查找编号集合,可显著提高目标对象的查找效率。
[0024]本发明实施例可以用于包括多个属性和属性有不同取值的目标对象的查找。如书籍数据库中对书籍的名称、出版社名称、出版日期、作者姓名等属性的查找,当然不限于在书籍的查找,对于其它类似的目标对象的查找,同样应用本发明所述基于属性值查找目标对象的方法。
[0025]实施例一:
[0026]图1示出了本发明第一实施例提供的基于属性值查找目标对象的实现流程,详述如下:
[0027]在步骤SlOl中,接收目标对象的查找指令,所述查找指令包括目标对象的属性查找条件。
[0028]所述目标对象,为查找系统所需要查找的目标,包括书籍等各类物品,每个物品会具有自身的属性信息,如图书具有出版日期、图书名称、图书的出版社、图书的出版日期、图书的作者或者译者、图书的版次等;商品具有商品名称、商品生产日期、商品保持期、商品生广厂家、商品质量等。
[0029]所述接收的目标对象的查找指令,可以为查找系统或者查找页面提供的查找框中输入的信息,用户可以根据输入框中输入一个或者多个属性查找条件,当然,作为本发明实施例的另一种可实施方式,所述输入的属性查找条件不局限于“与”关系查找,还可以包括“或”、“与或”、“异或”等多种条件组合关系,作为一种基础的逻辑组合关系,本发明实施例仅以逻辑“与”进行解释说明。
[0030]作为一个特例,用户输入的查找指令,当然也可以仅包括一个查找条件,由于在仅包括一个查找条件的情况下,不需要进行多个查找条件的合并运算,可以免于后续部分操作步骤。
[0031]在步骤S102中,由所述目标对象预设的编号、目标对象的属性查找条件以及包括目标对象属性的元数据库生成编号跳表,所述编号跳表分别与各个属性查找条件相对应。
[0032]所述目标对象预设的编号,可以按照自增的整数逐个进行编号,如第一个目标对象的编号为1,第二个目标对象的编号为2,逐渐累加的方式进行编号。此为较佳的实施方式,当然也可以采用其它要求或者顺序进行编号,本实施例仅以按照自增的整数编号进行说明。
[0033]所述目标对象的元数据库,包括目标对象的编号和目标对象的属性。所述目标对象的属性包括可作为查询条件的属性和可不作为查询条件的属性。在用户发起查询请求时,可将元数据中存放的可不作为查询条件的属性载入到数据缓存中,其目的在于在放目标对象的非查询条件包括的属性展现给用户。
[0034]元数据缓存可以采用Map〈ID,Item)的方式来存储,ID就是目标对象的编号,全局唯一,Item是物品的信息,数据的载入可以调用函数Map.put (ID, Item)来实现。
[0035]因此,可选的,在查询系统建立时,本发明实施例可包括将所述目标对象按照自增的整数顺序进行编号,将所述目标对象的属性中可作为查找条件的属性进行枚举编码,生成目标对象的元数据库。
[0036]图2为本发明第一实施例提供的一种生成编号跳表的实现流程图,详述如下:
[0037]在步骤S21中,读取属性查找条件中的目标对象的属性的取值。
[0038]在查找条件中一般包括目标对象的多个属性的取值,根据用户常用的逻辑“与”关系,接收用户的多个查询条件。
[0039]在步骤S22中,由所述元数据库中依次读取包含所述取值的目标对象,判断所述目标对象的属性的取值对应的编号跳表是否为空。
[0040]当所有目标对象读取完毕仍然没有读取到所述查找条件的取值,则表示当前元数据库中不存在查找条件的数据,返回空值。
[0041]当所述目标对象读取到包括所述查找条件的取值,则判断所述目标对象的属性的所述取值是否存在跳表。
[0042]在步骤S23中,如果所述目标对象的属性的取值对应的跳表为空,则新建对应属性取值的编号跳表,并将所述目标对象的编号插入到所述编号跳表。
[0043]在步骤S24中,如果所述目标对象的属性的取值对应的编号跳表不为空,则将所述目标对象的编号插入到所述编号跳表。
[0044]如图3所示,当前目标对象包括A、B、C三个属性,其中A、B属性分别对应两种取值,分别为a、b和ba、bb,假定搜索条件为A属性上取值为a和B属性上取值为b的符合条件的目标对象,搜索条件可记为<A,a>〈B,b>,那么,根据搜索条件,需要创建A属性取值为a的编号跳表和B属性取值为b的编号跳表,当查找到符合要求的编号时,判断当前是否存在对应的编号跳表,如果不存在,则创建对应的编号跳表,如果存在,则根据编号的大小顺序,将当前编号插入到编号跳表当中。
[0045]当然不局限于此,本领域一般技术人员还可以将满足要求的所有编号选出来后生成编号跳表,生成编号跳表的方式可多种。
[0046]在步骤S103中,查找所述编号跳表中的相同的编号构成的编号集合。
[0047]由步骤S102得到与查找条件相应的多个编号跳表后,需要根据查找的逻辑关系得到符合查找条件的编号集合。
[0048]图4示出了当所述目标对象的属性查找条件为N个时,查找所述编号跳表中的相同的编号构成的编号集合的流程示意图,详述如下:
[0049]S41、依次读取第一编号跳表中的一个编号FID,判断第2个至N个编号跳表中是否均存在所述编号FID,如果是则转到步骤S42,如果不是则转至步骤S43。
[0050]查找过程中,由于编号跳表中的目标对象的编号为顺序排列,当判断第2至N个编号跳表中的编号大于需要比较的编号时,即可停止所述比较,提高查找效率。
[0051]S42、记录所述编号,并判断第一编号跳表中的下一个编号是否为空,如果为空则转至步骤S44,如果不是则转至步骤S41。
[0052]S43、将第一编号跳表中的下一个编号与第2个至N个编号跳表中比FID大的第一个编号开始比较,如果第2个至N个编号跳表中是否均存在所述第一编号跳表中的下一个编号,如果存在,则转入步骤S42,如果不存在,则转入步骤S43。
[0053]由于编号跳表中的目标对象的编号为顺序排列,与步骤S42相应的,将比FID大的第一个编号开始比较,比较到编号大于需要比较的编号时,即可停止所述比较,提高查找效率。
[0054]S44、由所述记录的编号,生成编号集合。
[0055]上述得到编号集合仅为一种优选的实施方式,本领域一般技术人员明白还可包括多种查找方式,查找效率可能会有区别,由图4所述流程,可以由编号跳表快速的查找到多个编号跳表中具有的相同编号,有效提高查找效率。
[0056]为进一步提高查找效率,在步骤S41之前,还可包括:
[0057]判断所述目标对象的属性查找条件是否存在矛盾,如果所述目标对象的属性查找条件存在矛盾,则返回空集。
[0058]在步骤S104中,根据预设的编号与目标对象的对应关系,由所述编号集合获取所述属性查找条件的目标对象。
[0059]根据预设的编号与目标对象的对应关系,可以得到编号集合所对应的目标对象的信号,并由缓存中保存的目标对象的属性数据,展示给用户。
[0060]本发明实施例中,根据目标对象的属性查找条件、目标对象预设的编号及包括目标对象属性的元数据库生成编号跳表,用户输入的查找目标对象的查找条件可以通过各个编号跳表快速的进行运算操作,得到需要查找的目标对象的编号集合,根据编号与目标对象的对应关系,可以快速有效的查找到所需要查找的目标对象,由目标对象的元数据库生成的编号跳表,由编号跳表查找编号集合,可显著提高目标对象的查找效率。
[0061]实施例二:
[0062]图5为本发明第二实施例提供的基于属性值查找目标对象的装置的结构示意图,详述如下:
[0063]本发明实施例所述基于属性值查找目标对象的装置,包括接收单元501、生成单元502、查找单元503、获取单元504,其中:
[0064]接收单元501,用于接收目标对象的查找指令,所述查找指令包括目标对象的属性查找条件;
[0065]生成单元502,用于由所述目标对象预设的编号、目标对象的属性查找条件以及包括目标对象属性的元数据库生成编号跳表,所述编号跳表分别与各个属性查找条件相对应;
[0066]查找单兀503,用于查找所述编号跳表中的相同的编号构成的编号集合;
[0067]获取单元504,用于根据预设的编号与目标对象的对应关系,由所述编号集合获取所述属性查找条件的目标对象。
[0068]可选的,所述装置还包括:
[0069]编号编码单元505,用于将所述目标对象按照自增的整数顺序进行编号,将所述目标对象的属性中可作为查找条件的属性进行枚举编码,生成目标对象的元数据库。
[0070]所述生成单元502包括:
[0071]读取子单元5021,用于读取属性查找条件中的目标对象的属性的取值;
[0072]第一判断子单元5022,用于由所述元数据库中依次读取包含所述取值的目标对象,判断所述目标对象的属性的取值对应的编号跳表是否为空;
[0073]新建子单元5023,用于如果所述目标对象的属性的取值对应的跳表为空,则新建对应属性取值的编号跳表,并将所述目标对象的编号插入到所述编号跳表;
[0074]插入子单元5024,用于如果所述目标对象的属性的取值对应的编号跳表不为空,则将所述目标对象的编号插入到所述编号跳表。
[0075]当所述目标对象的属性查找条件为N个时,所述查找单元503包括:
[0076]第二判断子单元5031,用于依次读取第一编号跳表中的一个编号FID,判断第2个至N个编号跳表中是否均存在所述编号FID,如果是则转到第三判断子单元,如果不是则转至第四判断子单元;
[0077]第三判断子单元5032,用于记录所述编号,并判断第一编号跳表中的下一个编号是否为空,如果为空则转至生成子单元,如果不是则转至步骤第二判断子单元;
[0078]第四判断子单元5033,用于将第一编号跳表中的下一个编号与第2个至N个编号跳表中比FID大的第一个编号开始比较,如果第2个至N个编号跳表中是否均存在所述第一编号跳表中的下一个编号,如果存在,则转入第三判断子单元,如果不存在,则转入第四判断子单元;
[0079]生成子单元5034,用于由所述记录的编号,生成编号集合。
[0080]第五判断子单元5035,用于判断所述目标对象的属性查找条件是否存在矛盾,如果所述目标对象的属性查找条件存在矛盾,则返回空集。
[0081]本发明实施例所述装置与实施例一实施所述方法相对应,在此不作重复赘述。
[0082]实施例三:
[0083]图6示出的是与本发明实施例提供的设备相关的部分结构的框图。参考图6,设备可以为手机或者电脑,其包括:射频(Rad1 Frequency,RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(wireless fidelity, WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图6中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0084]下面结合图6对设备的各个构成部件进行具体的介绍:
[0085]RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(LowNoise Amplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communicat1n, GSM)、通用分组无线服务(GeneralPacket Rad1 Service, GPRS)、码分多址(Code Divis1n Multiple Access, CDMA)、宽带码分多址(Wideband Code Divis1n Multiple Access, WCDMA)、长期演进(Long TermEvolut1n, LTE))、电子邮件、短消息服务(Short Messaging Service, SMS)等。
[0086]存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行设备的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0087]输入单元630可用于接收输入的数字或字符信息,以及产生与设备600的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0088]显示单元640可用于显示由用户输入的信息或提供给用户的信息以及设备的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(Liquid CrystalDisplay, IXD)、有机发光二极管(Organic Light-Emitting D1de, 0LED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图6中,触控面板631与显示面板641是作为两个独立的部件来实现设备的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现设备的输入和输出功能。
[0089]设备600还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在设备移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0090]音频电路660、扬声器661,传声器662可提供用户与设备之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一设备,或者将音频数据输出至存储器620以便进一步处理。
[0091]WiFi属于短距离无线传输技术,设备通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块670,但是可以理解的是,其并不属于设备600的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0092]处理器680是设备的控制中心,利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据,从而对设备进行整体监控。可选的,处理器680可包括一个或多个处理单元;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
[0093]设备600还包括给各个部件供电的电源690 (比如电池),优选的,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0094]尽管未示出,设备600还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0095]在本发明实施例中,该终端所包括的处理器680还具有以下功能:执行基于属性值查找目标对象的方法,包括:
[0096]接收目标对象的查找指令,所述查找指令包括目标对象的属性查找条件;
[0097]由所述目标对象预设的编号、目标对象的属性查找条件以及包括目标对象属性的元数据库生成编号跳表,所述编号跳表分别与各个属性查找条件相对应;
[0098]查找所述编号跳表中的相同的编号构成的编号集合;
[0099]根据预设的编号与目标对象的对应关系,由所述编号集合获取所述属性查找条件的目标对象。
[0100]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于属性值查找目标对象的方法,其特征在于,所述方法包括: 接收目标对象的查找指令,所述查找指令包括目标对象的属性查找条件; 由所述目标对象预设的编号、目标对象的属性查找条件以及包括目标对象属性的元数据库生成编号跳表,所述编号跳表分别与各个属性查找条件相对应; 查找所述编号跳表中的相同的编号构成的编号集合; 根据预设的编号与目标对象的对应关系,由所述编号集合获取所述属性查找条件的目标对象。
2.根据权利要求1所述的方法,其特征在于,在所述接收目标对象的查找指令步骤之前,所述方法还包括: 将所述目标对象按照自增的整数顺序进行编号,将所述目标对象的属性中可作为查找条件的属性进行枚举编码,生成目标对象的元数据库。
3.根据权利要求1所述的方法,其特征在于,所述由所述目标对象预设的编号、目标对象的属性查找条件以及包括目标对象属性的元数据库生成编号跳表步骤包括: 读取属性查找条件中的目标对象的属性的取值; 由所述元数据库中依次读取包含所述取值的目标对象,判断所述目标对象的属性的取值对应的编号跳表是否为空; 如果所述目标对象的属性的取值对应的跳表为空,则新建对应属性取值的编号跳表,并将所述目标对象的编号插入到所述编号跳表; 如果所述目标对象的属性的取值对应的编号跳表不为空,则将所述目标对象的编号插入到所述编号跳表。
4.根据权利要求1所述的方法,其特征在于,当所述目标对象的属性查找条件为N个时,所述查找所述编号跳表中的相同的编号构成的编号集合步骤包括: 51、依次读取第一编号跳表中的一个编号FID,判断第2个至N个编号跳表中是否均存在所述编号FID,如果是则转到步骤S2,如果不是则转至步骤S3 ; 52、记录所述编号,并判断第一编号跳表中的下一个编号是否为空,如果为空则转至步骤S4,如果不是则转至步骤SI ; 53、将第一编号跳表中的下一个编号与第2个至N个编号跳表中比FID大的第一个编号开始比较,如果第2个至N个编号跳表中是否均存在所述第一编号跳表中的下一个编号,如果存在,则转入步骤S2,如果不存在,则转入步骤S3 ; 54、由所述记录的编号,生成编号集合。
5.根据权利要求4所述的方法,其特征在于,所述依次读取第一编号跳表中的一个编号FID,判断第2个至N个编号跳表中是否均存在所述编号FID步骤之前还包括: 判断所述目标对象的属性查找条件是否存在矛盾,如果所述目标对象的属性查找条件存在矛盾,则返回空集。
6.一种基于属性值查找目标对象的装置,其特征在于,所述装置包括: 接收单元,用于接收目标对象的查找指令,所述查找指令包括目标对象的属性查找条件; 生成单元,用于由所述目标对象预设的编号、目标对象的属性查找条件以及包括目标对象属性的元数据库生成编号跳表,所述编号跳表分别与各个属性查找条件相对应; 查找单元,用于查找所述编号跳表中的相同的编号构成的编号集合; 获取单元,用于根据预设的编号与目标对象的对应关系,由所述编号集合获取所述属性查找条件的目标对象。
7.根据权利要求6所述装置,其特征在于,所述装置还包括: 编号编码单元,用于将所述目标对象按照自增的整数顺序进行编号,将所述目标对象的属性中可作为查找条件的属性进行枚举编码,生成目标对象的元数据库。
8.根据权利要求6所述装置,其特征在于,所述生成单元包括: 读取子单元,用于读取属性查找条件中的目标对象的属性的取值; 第一判断子单元,用于由所述元数据库中依次读取包含所述取值的目标对象,判断所述目标对象的属性的取值对应的编号跳表是否为空; 新建子单元,用于如果所述目标对象的属性的取值对应的跳表为空,则新建对应属性取值的编号跳表,并将所述目标对象的编号插入到所述编号跳表; 插入子单元,用于如果所述目标对象的属性的取值对应的编号跳表不为空,则将所述目标对象的编号插入到所述编号跳表。
9.根据权利要求6所述装置,其特征在于,当所述目标对象的属性查找条件为N个时,所述查找单元包括: 第二判断子单元,用于依次读取第一编号跳表中的一个编号FID,判断第2个至N个编号跳表中是否均存在所述编号FID,如果是则转到第三判断子单元,如果不是则转至第四判断子单元; 第三判断子单元,用于记录所述编号,并判断第一编号跳表中的下一个编号是否为空,如果为空则转至生成子单元,如果不是则转至步骤第二判断子单元; 第四判断子单元,用于将第一编号跳表中的下一个编号与第2个至N个编号跳表中比FID大的第一个编号开始比较,如果第2个至N个编号跳表中是否均存在所述第一编号跳表中的下一个编号,如果存在,则转入第三判断子单元,如果不存在,则转入第四判断子单元; 生成子单元,用于由所述记录的编号,生成编号集合。
10.根据权利要求9所述装置,其特征在于,所述装置还包括: 第五判断子单元,用于判断所述目标对象的属性查找条件是否存在矛盾,如果所述目标对象的属性查找条件存在矛盾,则返回空集。
【文档编号】G06F17/30GK104346362SQ201310324016
【公开日】2015年2月11日 申请日期:2013年7月29日 优先权日:2013年7月29日
【发明者】张春玮 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1