[发明专利]一种唯一哈希序号生成方法和系统在审
申请号: | 202210920745.4 | 申请日: | 2022-08-02 |
公开(公告)号: | CN115203211A | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 王毅鹏;韩增;郑斌;曾柯杰;赵亚萍 | 申请(专利权)人: | 上海金融期货信息技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 施浩 |
地址: | 200122 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 唯一 序号 生成 方法 系统 | ||
本发明公开了唯一哈希序号生成方法和系统,解决哈希值范围区间大的问题,提高以字符串为索引的对象在存储时的空间利用率和数据查询效率。其技术方案为:对字符串处理,生成从0自增的哈希序号,哈希序号作为索引代替原先需要字符串作为索引的存储数据结构;使用cblock_map数据缓存结构,cblock_map对哈希项存储时以哈希项哈希值为索引,包含字符串和哈希序号等信息。在方法的运行过程中cblock_map内存结构稳定,所有可能使用的空间在构造方法中已预先准备,不存在当空间占满后重新创建对象并拷贝数据的场景。使用cblock_map提供高效且稳定的读写能力,对哈希值的索引存储位置支持O(1)效率的查找,即便遇到哈希冲突的情况,也可以通过链表遍历的方式将查询时间控制在常量范围。
技术领域
本发明涉及一种序号生成技术,具体涉及一种唯一哈希序号生成方法和系统。
背景技术
在后台系统开发设计中,需要对字符串进行散列,或者在处理结构化数据时,需要以字符串作为索引来进行存储,以上场景都需要用到哈希函数对字符串进行散列,得到字符串的哈希值,哈希值格式为数字,以此作为索引号进行数据存储。
哈希函数(英语:Hash)又称作散列算法,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来,创建一个叫做“散列值”的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。
但目前常用的哈希函数应用于此场景中,存在处理较慢、哈希值冲突、哈希值范围区间大的问题。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决上述问题,提供了一种唯一哈希序号生成方法和系统,有效解决哈希值范围区间大的问题,提高以字符串为索引的对象在存储时的空间利用率和数据查询效率。
本发明的技术方案为:本发明揭示了一种唯一哈希序号生成方法,方法包括新建唯一哈希序号的流程,新建流程包括:
首先,获取传入待取哈希序号的字符串,使用哈希函数按字符处理映射为哈希值;
以哈希值为索引,检查cblock_map类型的code_table中,索引对应位置是否存在有效值,若不存在,则创建哈希项,把哈希序号赋值给新建的哈希项,并自增1,同时创建以该哈希项为头指针的哈希链表,将哈希链表保存在code_table对应的索引位置后,返回哈希序号;若索引对应位置在code_table中存在有效值,则将该有效值作为哈希链表的首节点,遍历哈希链表的子项,比较每个哈希项中缓存的字符串与传入的字符串是否相等,若存在相等字符串,则返回该哈希项的哈希序号;若不存在相等的字符串,则在链表尾节点创建新的哈希项,更新哈希项的哈希序号和字符串值,哈希序号自增1,并返回新哈希项的哈希序号。
根据本发明的唯一哈希序号生成方法的一实施例,方法还包括获取哈希序号的流程,获取流程包括:
首先,获取传入待取哈希序号的字符串,使用哈希函数按字符处理映射哈希值;
以哈希值为索引检查cblock_map类型的code_table中,检查索引对应位置是否存在有效值,若不存在有效值,则返回查询失败;若索引对应位置在code_table中存在有效值,则将该有效值作为哈希链表的首节点,遍历哈希链表的子项,比较每个哈希项中缓存的字符串与传入字符串是否相等,若存在相等字符串,则返回该哈希项的哈希序号;若不存在相等的字符串,则返回查询失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海金融期货信息技术有限公司,未经上海金融期货信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210920745.4/2.html,转载请声明来源钻瓜专利网。