[发明专利]基于编码的字符串检索方法、装置及电子设备有效
申请号: | 202010078611.3 | 申请日: | 2020-02-03 |
公开(公告)号: | CN111309988B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 李育国;刘建辉;舒彦博 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903 |
代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 朱智勇 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 编码 字符串 检索 方法 装置 电子设备 | ||
本公开实施例中提供了一种基于编码的字符串检索方法、装置及电子设备,属于数据处理技术领域,该方法包括:对字符串的长度进行计算,以得到字符串长度值L;将所述字符串中所有字符值的总和进行基于N值的取模运算,得到所述字符串的编码值C;基于所述字符串长度值L和所述字符串的编码值C,构建所述字符串的索引值列表;基于所述索引值列表中的编码,对字符串执行检索操作。通过本公开的处理方案,提高了字符串的检索效率。
技术领域
本公开涉及数据处理技术领域,尤其涉及一种基于编码的字符串检索方法、装置及电子设备。
背景技术
在计算机领域,联机分析处理OLAP指的是对多维数据的分析查询。当今的数OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
一般来说,OLAP分为ROLAP和MOLAP。其中ROLAP指的是Relational OLAP,具体说来是在关系型数据库之上的多维建模。比如IBM Cognos Framework Manager的MDR建模。MOLAP,则直接基于多维数据库。比如TM1、Essbase、PowerCube。OLAP工具是一种数据分析软件。对于TM1,它是直接基于多维数据库的工具;而对于其他的ROLAP工具,则是基于关系型数据库的多维模型或视图,工具则是提供了一层封装,使得关系型数据库也可以支持多维查询。当然,本质上,ROLAP依然是关系型查询。
在诸如OLAP之类的大数据场景下,大量的字符比对算法都是及其耗时的工作,因为字符串是非固定长度的特性,现有对比算法都比较原始低效。并且无法利用现有硬件的并行指令等高级特性。
发明内容
有鉴于此,本公开实施例提供一种基于编码的字符串检索方法、装置及电子设备,以至少部分解决现有技术中存在的问题。
第一方面,本公开实施例提供了一种基于编码的字符串检索方法,包括:
对字符串的长度进行计算,以得到字符串长度值L;
将所述字符串中所有字符值的总和进行基于N值的取模运算,得到所述字符串的编码值C;
基于所述字符串长度值L和所述字符串的编码值C,构建所述字符串的索引值列表;
基于所述索引值列表中的编码,对字符串执行检索操作。
根据本公开实施例的一种具体实现方式,所述对字符串的长度进行计算,包括:
设置字符串长度计算函数;
基于所述字符串长度计算函数,计算所述字符串的长度。
根据本公开实施例的一种具体实现方式,所述基于所述字符串长度计算函数,计算所述字符串的长度,包括:
判断所述字符串中是否包含结束符;
若是,统计结束符之前字符串中字符的个数,以获得所述字符串的长度。
根据本公开实施例的一种具体实现方式,所述将所述字符串中所有字符值的总和进行基于N值的取模运算之前,所述方法还包括:
预先设置用于取模计算的N值。
根据本公开实施例的一种具体实现方式,所述将所述字符串中所有字符值的总和进行基于N值的取模运算之前,所述方法还包括:
预先计算所述字符串中所有字符值的总和。
根据本公开实施例的一种具体实现方式,所述基于所述字符串长度值L和所述字符串的编码值C,构建所述字符串的索引值列表,包括:
将所述字符长度值L相等的字符分在同一个大组;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010078611.3/2.html,转载请声明来源钻瓜专利网。