[发明专利]一种基于位图的布尔表达式存储、匹配方法和系统有效
申请号: | 201610811459.9 | 申请日: | 2016-09-08 |
公开(公告)号: | CN106469218B | 公开(公告)日: | 2019-11-19 |
发明(设计)人: | 刘燕兵;卢毓海;张春燕;张萍;谭建龙 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 11200 北京君尚知识产权代理有限公司 | 代理人: | 司立彬<国际申请>=<国际公布>=<进入 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于位图的布尔表达式存储、匹配方法和系统。本发明存储阶段:针对多个布尔表达式的各个子项,对其相应的布尔表达式序号和所在位置进行存储,并按照子项值的大小升序排序,同时记录每个布尔表达式子项数目;对子项值建立索引。匹配阶段:开辟数组位向量bitmap存储每个布尔表达式的匹配情况,将每个能匹配的布尔表达式所对应的位置置为1,判断bitmap中1的个数是否与其子项数目一致,若一致,则输出对应序号,并将bitmap[k]置为‑1以防止重复匹配该布尔表达式,否则继续匹配下一文本项。本系统包括系统预处理部件、存储子项部件、构建索引部件、访问信息部件和返回信息部件。本发明大大提高了查询效率。 | ||
搜索关键词: | 一种 基于 位图 布尔 表达式 存储 匹配 方法 系统 | ||
【主权项】:
1.一种布尔表达式的匹配方法,其步骤为:/n1)为每一待存储的布尔表达式设置一序号并存储每一布尔表达式的子项信息;其中,子项信息包括子项值,子项所对应的布尔表达式的序号及该子项在该序号布尔表达式中的位置;/n2)按照子项值大小对子项信息进行排序存储到一子项信息表item_message[]中,并构建子项顺序表item_count[]和子项值表item_id[],记录每个布尔表达式的子项数目;其中,子项顺序表item_count[]存储子项tk对应的布尔表达式序号及子项tk在该序号布尔表达式中的位置在子项信息表item_message[]中的下标范围,子项值表item_id[]存储已经升序排列的子项值;/n3)根据子项值建立子项值表item_id[]的索引index;/n4)依据索引index确定所要查询的文本值m在子项值表item_id[]的位置,判断子项值表item_id[]是否存在该文本值m,若存在,则根据该文本值m对应的子项顺序表item_count[]确定子项信息表item_message[]的下标范围;然后存储子项信息表item_message[]中该下标范围的子项信息;否则,继续查询下一文本值;/n5)建立一数组位向量bitmap;根据步骤4)存储的子项信息将bitmap中相应序号的一位置置为1,若某一序号在bitmap中置1的个数与该序号所包含的子项个数一致,则返回该序号。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610811459.9/,转载请声明来源钻瓜专利网。