数据存储方法和装置及数据检索方法及装置制造方法及图纸

技术编号:39182677 阅读:9 留言:0更新日期:2023-10-27 08:30
本说明书实施例提供了一种数据存储方法及数据检索方法。该数据存储方法包括:得到待存储数据的至少一个语义标签;针对每一个语义标签,通过字典树(Trie Tree)中一条路径上依次连接的各个非叶子节点顺序表征该语义标签中包括的各个字符;将待存储数据存储为字典树中所述路径上的叶子节点;对于字典树中的非叶子节点,设置对应该非叶子节点的比特槽位中各个比特的比特值,以通过该比特值指示:在该非叶子节点对应的第一字符之后、与该第一字符相邻的第二字符。本说明书实施例能够减少对存储资源的占用并提高数据检索效率。资源的占用并提高数据检索效率。资源的占用并提高数据检索效率。

【技术实现步骤摘要】
数据存储方法和装置及数据检索方法及装置


[0001]本说明书一个或多个实施例涉及计算机技术,尤其涉及数据存储方法和装置及数据检索方法和装置。

技术介绍

[0002]在信息化社会,充分有效地管理和利用各类信息资源,是进行决策管理的前提条件。因此,应运而生了数据库技术。数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中能够减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。
[0003]目前已经出现了很多数据库技术,其中,关系型数据库技术比如包括Oracle,MySQL,非关系型数据库技术比如包括Redis。但是,目前的数据库技术会占用过多的存储资源,相应地,数据检索效率也会降低,因此需要一种能够更为有效地节约存储资源的数据存储方法及效率更高的数据检索方法。

技术实现思路

[0004]本说明书一个或多个实施例描述了数据存储方法和装置及数据检索方法和装置,能够减少对存储资源的占用,提高检索效率。
[0005]根据第一方面,提供了数据存储方法,其中,包括:
[0006]得到待存储数据的至少一个语义标签;
[0007]针对每一个语义标签,通过字典树(Trie Tree)中一条路径上依次连接的各个非叶子节点顺序表征该语义标签中包括的各个字符;将待存储数据存储为字典树中所述路径上的叶子节点;
[0008]对于字典树中的非叶子节点,设置对应该非叶子节点的比特槽位中各个比特的比特值,以通过该比特值指示:在该非叶子节点对应的第一字符之后、与该第一字符相邻的第二字符。
[0009]在第一方面的一个实施例中,不同的语义标签从不同的语义维度对所述待存储数据进行标识。
[0010]在第一方面的一个实施例中,所述字符集中包括如下中的至少一项:英文字母、数字、标点符号、非英文语言字符。
[0011]在第一方面的一个实施例中,所述通过字典树中一条路径上依次连接的各个非叶子节点顺序表征该语义标签中包括的各个字符,包括:
[0012]按照从该语义标签包括的第一个字符开始直至最后一个字符的顺序,针对该语义标签包括的每一个字符均执行:
[0013]在所述字典树中,在当前字符之后且与该当前字符相邻的字符仅有一种时,那么,在所述字典树的所述路径上不设置单独表征该当前字符的非叶子节点;
[0014]在所述字典树中,在当前字符之后且与该当前字符相邻的字符有至少两种时,那么,在所述字典树的所述路径上设置单独表征该当前字符的非叶子节点。
[0015]在第一方面的一个实施例中,所述比特槽位中包括第一数量的比特位;其中所述第一数量等于:字符集中包括的字符的种类数量;
[0016]在所述比特槽位中,不同的比特位分别对应字符集中的不同字符。
[0017]在第一方面的一个实施例中,所述设置对应该非叶子节点的比特槽位中各个比特的比特值,包括:
[0018]对于第一非叶子节点,将对应该第一非叶子节点的比特槽位中的第一比特位设置为1;
[0019]将对应该第一非叶子节点的比特槽位中剩余的各第二比特位设置为0;
[0020]其中,所述第一非叶子节点包括:所述字典树中除去最后一级非叶子节点之外的其他各级非叶子节点;
[0021]其中,设置为1的第一比特位的个数等于:在所述字典树中,在该第一非叶子节点对应的第一字符之后、与该第一字符相邻的第二字符的种类的数量。
[0022]其中,每一个第一比特位对应一个所述第二字符。
[0023]根据第二方面,提供了一种数据存储方法进行数据检索的方法,其中,包括:
[0024]得到待检索数据的第一语义标签;
[0025]按顺序从该第一语义标签中依次拆分出各待查询字符;
[0026]按照从排在最前的待查询字符直至排在最后的待查询字符的顺序,逐一在所述字典树中查找各待查询字符对应的第二非叶子节点;
[0027]根据各待查询字符以及每一个第二非叶子节点的比特槽位中各个比特的比特值,得到检索路径;
[0028]将所述检索路径上的叶子节点作为检索到的数据。
[0029]在第二方面的一个实施例中,所述根据各待查询字符以及每一个第二非叶子节点的比特槽位中各个比特的比特值得到检索路径,包括:
[0030]针对每一个待查询字符,查找到对应当前待查询字符的当前第二非叶子节点;
[0031]根据当前待查询字符之后的下一个待查询字符,在当前第二非叶子节点的比特槽位中确定出对应该下一个待查询字符的值为1的第三比特位;
[0032]将从当前第二非叶子节点至第三比特位所连接到的下一级第二非叶子节点形成的路径,作为所述检索路径的一部分。
[0033]根据第三方面,提供了数据存储装置,其中包括:
[0034]待存储语义标签获取模块,配置为得到待存储数据的至少一个语义标签;
[0035]路径生成模块,配置为针对每一个语义标签,通过字典树(Trie Tree)中一条路径上依次连接的各个非叶子节点顺序表征该语义标签中包括的各个字符;将待存储数据存储为字典树中所述路径上的叶子节点;
[0036]比特槽位设置模块,配置为对于字典树中的非叶子节点,设置对应该非叶子节点的比特槽位中各个比特的比特值,以通过该比特值指示:在该非叶子节点对应的第一字符之后、与该第一字符相邻的第二字符。
[0037]在第三方面的一个实施例中,所述路径生成模块被配置为执行:
[0038]按照从该语义标签包括的第一个字符开始直至最后一个字符的顺序,针对该语义标签包括的每一个字符均执行:
[0039]在所述字典树中,在当前字符之后且与该当前字符相邻的字符仅有一种时,那么,在所述字典树的所述路径上不设置单独表征该当前字符的非叶子节点;
[0040]在所述字典树中,在当前字符之后且与该当前字符相邻的字符有至少两种时,那么,在所述字典树的所述路径上设置单独表征该当前字符的非叶子节点。
[0041]在第三方面的一个实施例中,所述比特槽位中包括第一数量的比特位;其中所述第一数量等于:字符集中包括的字符的种类数量;
[0042]在所述比特槽位中,不同的比特位分别对应字符集中的不同字符。
[0043]在第三方面的一个实施例中,所述比特槽位设置模块被配置为执行:
[0044]对于第一非叶子节点,将对应该第一非叶子节点的比特槽位中的第一比特位设置为1;
[0045]将对应该第一非叶子节点的比特槽位中剩余的各第二比特位设置为0;
[0046]其中,所述第一非叶子节点包括:所述字典树中除去最后一级非叶子节点之外的其他各级非叶子节点;
[0047]其中,设置为1的第一比特位的个数等于:在所述字典树中,在该第一非叶子节点对应的第一字符之后、与该第一字符相邻的第二字符的种类的数量。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.数据存储方法,其中,包括:得到待存储数据的至少一个语义标签;针对每一个语义标签,通过字典树(Trie Tree)中一条路径上依次连接的各个非叶子节点顺序表征该语义标签中包括的各个字符;将待存储数据存储为字典树中所述路径上的叶子节点;对于字典树中的非叶子节点,设置对应该非叶子节点的比特槽位中各个比特的比特值,以通过该比特值指示:在该非叶子节点对应的第一字符之后、与该第一字符相邻的第二字符。2.根据权利要求1所述的方法,其中,不同的语义标签从不同的语义维度对所述待存储数据进行标识。3.根据权利要求1所述的方法,其中,所述字符集中包括如下中的至少一项:英文字母、数字、标点符号、非英文语言字符。4.根据权利要求1所述的方法,其中,所述通过字典树中一条路径上依次连接的各个非叶子节点顺序表征该语义标签中包括的各个字符,包括:按照从该语义标签包括的第一个字符开始直至最后一个字符的顺序,针对该语义标签包括的每一个字符均执行:在所述字典树中,在当前字符之后且与该当前字符相邻的字符仅有一种时,那么,在所述字典树的所述路径上不设置单独表征该当前字符的非叶子节点;在所述字典树中,在当前字符之后且与该当前字符相邻的字符有至少两种时,那么,在所述字典树的所述路径上设置单独表征该当前字符的非叶子节点。5.根据权利要求1所述的方法,其中,所述比特槽位中包括第一数量的比特位;其中所述第一数量等于:字符集中包括的字符的种类数量;在所述比特槽位中,不同的比特位分别对应字符集中的不同字符。6.根据权利要求5所述的方法,其中,所述设置对应该非叶子节点的比特槽位中各个比特的比特值,包括:对于第一非叶子节点,将对应该第一非叶子节点的比特槽位中的第一比特位设置为1;将对应该第一非叶子节点的比特槽位中剩余的各第二比特位设置为0;其中,所述第一非叶子节点包括:所述字典树中除去最后一级非叶子节点之外的其他各级非叶子节点;其中,设置为1的第一比特位的个数等于:在所述字典树中,在该第一非叶子节点对应的第一字符之后、与该第一字符相邻的第二字符的种类的数量;其中,每一个第一比特位对应一个所述第二字符。7.基于权利要求1至6中任一所述的数据存储方法进行数据检索的方法,其中,包括:得到待检索数据的第一语义标签;按顺序从该第一语义标签中依次拆分出各待查询字符;按照从排在最前的待查询字符直至排在最后的待查询字符的顺序,逐一在所述字典树中查找各待查询字符对应的第二非叶子节点;根据各待查询字符以及每一个第二非叶子节点的比特槽位中各个比特的比特值,得到检索路径;
将所述检索路径上的叶子节点作为检索到的数据。8.根据权利要求7所述的方法,其中,所述根据各待查询字符以及每一个第二非叶子节点的比特槽位中各个比特的比特值得到检索路径,包括:针对每一个待查询字符,查找到对应当前待查询字符的当前第二非叶子节点;根据当前待查询字符之后的下一个待查询字符,在当前第二非叶子节点的比特槽位中确定出对应该下一个待查询字符的值为1的第三比特位;将从当前第二非叶子节点至第三比特位所连接到的下一级第二非叶子节点形成的路径...

【专利技术属性】
技术研发人员:范伟光王硕熊宏王同舟
申请(专利权)人:西门子瑞士有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1