[发明专利]数据地址的确定方法、装置、存储介质和电子装置有效
申请号: | 201810252398.6 | 申请日: | 2018-03-26 |
公开(公告)号: | CN110309368B | 公开(公告)日: | 2023-09-22 |
发明(设计)人: | 徐华叶;李文征;徐恒阳;陈俊浩 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 赵囡囡;董文倩 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 地址 确定 方法 装置 存储 介质 电子 | ||
本发明公开了一种数据地址的确定方法、装置、存储介质和电子装置。其中,该方法包括:在目标数据结构中获取目标父节点下的多个目标子节点,其中,多个目标子节点按照目标顺序存储在连续内存中;获取待确定的第一地址相对于从目标数据结构中已获取到的第二地址的目标偏移量,其中,第一地址为第一目标子节点在连续内存中的地址,第二地址为第二目标子节点在连续内存中的地址,多个目标子节点包括第一目标子节点和第二目标子节点;将第二地址偏移目标偏移量,得到第一目标子节点在连续内存中的第一地址。本发明解决了相关技术数据存储浪费存储空间的技术问题。
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据地址的确定方法、装置、存储介质和电子装置。
背景技术
目前,字典树的实现方法可以通过数组来实现,比如,使用指针数组来实现,也即,在每一个节点上都开辟字符表大小(字符表中包括所有可能的字符)的指针数组。
在通常情况下,字典树都很稀疏,假设每个节点最多有N个孩子节点,每个孩子节点使用一个指针表示,在64位计算机上,一个指针占用8个字节,则需要8*N个字节的内存来存储孩子节点的位置,而在大部分情况下,这些指针中包括空指针,都是浪费内存。
为了减少内存的浪费,一种常见的实现字典树的方法是使用双数组法,利用有限状态机(DFA)的思想,借助基数组(base)和核对数组(check),实现了字典树,其中。base数组的每个元素用于表示一个字典树(Trie)的节点,即用于一个状态,check数组表示某个状态的前驱状态。但是该算法思想不易理解,并且实现复杂,不便于项目维护。
针对上述的数据存储浪费存储空间的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据地址的确定方法、装置、存储介质和电子装置,以至少解决相关技术数据存储浪费存储空间的技术问题。
根据本发明实施例的一个方面,提供了一种数据地址的确定方法。该方法包括:在目标数据结构中获取目标父节点下的多个目标子节点,其中,多个目标子节点按照目标顺序存储在连续内存中;获取待确定的第一地址相对于从目标数据结构中已获取到的第二地址的目标偏移量,其中,第一地址为第一目标子节点在连续内存中的地址,第二地址为第二目标子节点在连续内存中的地址,多个目标子节点包括第一目标子节点和第二目标子节点;将第二地址偏移目标偏移量,得到第一目标子节点在连续内存中的第一地址
根据本发明实施例的另一方面,还提供了一种数据地址的确定装置。该装置包括:第一获取单元,用于在目标数据结构中获取目标父节点下的多个目标子节点,其中,多个目标子节点按照目标顺序存储在连续内存中;第二获取单元,用于获取待确定的第一地址相对于从目标数据结构中已获取到的第二地址的目标偏移量,其中,第一地址为第一目标子节点在连续内存中的地址,第二地址为第二目标子节点在连续内存中的地址,多个目标子节点包括第一目标子节点和第二目标子节点;偏移单元,用于将第二地址偏移目标偏移量,得到第一目标子节点在连续内存中的第一地址。
根据本发明实施例的另一方面,还提供了一种存储介质。该存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行本发明实施例的数据地址的确定方法。
根据本发明实施例的另一方面,还提供了一种电子装置。该电子装置包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行本发明实施例的数据地址的确定方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810252398.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置