CN112329393A - 一种短码id的生成方法、设备、存储介质 - Google Patents

一种短码id的生成方法、设备、存储介质 Download PDF

Info

Publication number
CN112329393A
CN112329393A CN202011223137.5A CN202011223137A CN112329393A CN 112329393 A CN112329393 A CN 112329393A CN 202011223137 A CN202011223137 A CN 202011223137A CN 112329393 A CN112329393 A CN 112329393A
Authority
CN
China
Prior art keywords
character
short code
original
mapping table
calculation result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011223137.5A
Other languages
English (en)
Inventor
王妙玉
吴宁泉
王伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Ketyoo Intelligent Technology Co Ltd
Original Assignee
Guangdong Ketyoo Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Ketyoo Intelligent Technology Co Ltd filed Critical Guangdong Ketyoo Intelligent Technology Co Ltd
Priority to CN202011223137.5A priority Critical patent/CN112329393A/zh
Publication of CN112329393A publication Critical patent/CN112329393A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种短码ID的生成方法、设备、存储介质,包括以下步骤:步骤S1、接收到转换短码ID生成请求,向服务器发起获取已经生成的原始ID的请求;步骤S2、预设短码ID的生成格式,将获取的原始ID按照短码ID的生成格式拆分为若干字符组;步骤S3、依次将所述字符组根据预设算法及字符映射表转换为若干字符,组合所述字符以构成原始ID的短码ID。本发明在保证ID唯一性的同时解决了原始ID的体积相对庞大、结构复杂、可读性较差的问题,降低了存储或数据传输过程中需要消耗的数据存储内存,提高数据查询检索性能。

Description

一种短码ID的生成方法、设备、存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种短码ID的生成方法、设备、存储介质。
背景技术
在互联网系统中,需要对系统中的用户、机器、设备及操作进行区分识别,为了识别这些不同系统中的不同用户、机器、设备、操作,需要建立每个用户或机器、设备的身份序列号,这个序列号就是我们常说的ID。在一个系统中我们需要每个用户或机器、设备的ID是唯一的。一般唯一ID是由用户或机器、设备ID、时间戳、多位随机数组成。
这种方式生成的唯一ID字符长度过长,用户或机器、设备的ID通常为32位,时间戳精确至秒级为14位,加上一般为4位的随机数,该唯一ID一共有50位,体积相对庞大、结构复杂,可读性较差。在存储或传输数据的过程中需要消耗较多的数据存储内存,降低数据查询性能。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种短码ID的生成方法,获取原始ID并根据预设字符映射表进行压缩,生成短码ID,在保证ID的唯一性同时节省存储空间、提升数据检索性能。
本发明的目的之二在于提供一种电子设备,执行一种短码ID的生成方法,获取原始ID并根据预设字符映射表进行压缩,生成短码ID,在保证ID的唯一性同时节省存储空间、提升数据检索性能。
本发明的目的之三在于提供一种存储介质,执行上述一种短码ID的生成方法,获取原始ID并根据预设字符映射表进行压缩,生成短码ID,在保证ID的唯一性同时节省存储空间、提升数据检索性能。
本发明的目的之一采用如下技术方案实现:
一种短码ID的生成方法,包括以下步骤:
步骤S1、接收到转换短码ID生成请求,向服务器发起获取已经生成的原始ID的请求;
步骤S2、预设短码ID的生成格式,将获取的原始ID按照短码ID的生成格式拆分为若干字符组;
步骤S3、依次将所述字符组根据预设算法及字符映射表转换为若干字符,组合所述字符以构成原始ID的短码ID。
进一步地,所述根据预设算法及字符映射表将已划分的原始ID转换为若干字符的具体步骤包括:
步骤S31、将所述字符组依次排列,对每组字符组运用哈希算法得到第一计算结果;
步骤S32、将所述第一计算结果与所述字符映射表的长度求模,得到第二计算结果;
步骤S33、将所述第二计算结果作为字符映射表索引位置,根据字符映射表索引得到所述第二计算结果对应的字符。
进一步地,所有字符组运用哈希算法得到的第一计算结果均为相同位数的整数,所述第二计算结果为小于所述字符映射表长度的整数。
进一步地,所述步骤S31、将所述字符组依次排列,对每组字符组运用哈希算法得到第一计算结果还包括以下计算步骤;
步骤S311、对每组字符运用哈希算法得到哈希值,对所述哈希值求取绝对值,得到第一计算结果。
进一步地,所述字符映射表包括按顺序依次排列的26个小写英文字母、26个大写英文字母与数字0~9,所述字符映射表的长度为62。
进一步地,所述原始ID为按顺序依次排列的32位的用户ID、14位的时间戳、4位的随机整数。
进一步地,所述步骤S2为将所述原始ID按照每5位字符划分为1个字符组。
进一步地,所述短码ID为由10个字符组成。
本发明的目的之二采用如下技术方案实现:
一种设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的一种短码ID的生成方法。
本发明的目的之三采用如下技术方案实现:
一种存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如上所述的一种短码ID的生成方法。
相比现有技术,本发明的有益效果在于:
本发明提供了一种短码ID的生成方法、设备、存储介质,对字符数较多的原始ID按照短码ID的生成格式进行拆分,并根据预设算法及字符映射表转换为对应的字符,组合所述字符以构成原始ID对应的短码ID。在保证ID唯一性的同时解决了原始ID的体积相对庞大、结构复杂、可读性较差的问题,降低了存储或数据传输过程中需要消耗的数据存储内存,提高数据查询检索性能。
附图说明
图1为本发明所提供实施例一的流程示意图;
图2为本发明所提供实施例一的计算过程示意图;
图3为本发明所提供实施例二的结构示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
实施例一
本发明提供了一种短码ID的生成方法,可对现有的用户、机器、设备及操作的原始ID进行压缩、计算,以生成具有唯一性的短码ID,解决原始ID体积相对庞大、结构复杂,可读性较差的问题,节省存储空间并提升数据检索的性能。
具体的,如图1所示,本申请所提供的一种短码ID的生成方法包括以下步骤:
步骤S1、接收到转换短码ID生成请求,向服务器发起获取已经生成的原始ID的请求;
在用户进行操作后,对于每一个用户或者机器、设备均生成一个对应的原始ID。原始ID一般为按顺序依次排列的32位的用户、机器或设备ID、14位的时间戳、4位的随机整数,共50位。时间戳精确至秒级,使得生成的原始ID带有精确的时间信息,具有一定的时间先后顺序。而随机数可以能够增加原始ID的随机性,避免在原始ID过于相似,防止短码ID的重复。而为了缩小存储的空间,提高数据查询性能,因此在接收到转换短码ID的生成请求后,则向服务器发起获取已经生成的原始ID的请求。
步骤S2、预设短码ID的生成格式,将原始ID按照短码ID的生成格式拆分为若干字符组。每个新生成的短码ID均有相同的生成格式,因此需要先将原始ID按照短码ID的生成格式进行划分。在本申请中,原始ID一共有50位字符,顺序拆分原始ID以匹配短码ID的生成格式。具体为按照顺序依次将每5个字符拆分为1组,一共拆分为10组字符组,便于后续根据预设算法及字符映射表进行转换即可。字符组的数量可以根据原始ID的字符数改变,可按照实际需求进行设置。
步骤S3、依次将所述字符组根据预设算法及字符映射表转换为若干字符,组合所述字符以构成原始ID的短码ID。在本申请中,所述字符映射表是预先设置并保存在计算机或服务器中,包括按顺序依次排列的26个小写英文字母、26个大写英文字母与数字0~9,所述字符映射表的长度为62。每个字符组通过计算得到其在字符映射表中的索引位置,根据索引位置在字符映射表中取所对应的字符。
具体的,所述根据预设算法及字符映射表将已划分的原始ID转换为若干字符的具体步骤包括:
步骤S31、将所述字符组依次排列,对每组字符组运用哈希算法得到第一计算结果;所有字符组按照原始ID的顺序进行排列,对每组字符组运用整数哈希算法将原始ID中包含的字母均转换为数字,得到一个多位的整数。
所述步骤S31、将所述字符组依次排列,对每组字符组运用哈希算法得到第一计算结果还包括以下计算步骤;
步骤S311、对每组字符运用哈希算法得到哈希值,对所述哈希值求取绝对值,得到第一计算结果。由于后续的计算需要求出该字符组在字符映射表中所对应的位置,而哈希值可能有存在负数的可能,因此需要对哈希值求取绝对值以保证第一计算结果为正整数。所有字符组运用哈希算法得到的第一计算结果均为相同位数的整数。在本实施例中,由于将原始ID分为5组字符组,每组为10个字符,因此所述第一计算结果为10位正整数。
步骤S32、将所述第一计算结果与所述字符映射表的长度求模,得到第二计算结果;在本申请中,字符映射表的长度为62,对每个多位正整数的第一计算结果与字符映射表的长度62求模,从而得到小于所述字符映射表长度62的第二计算结果。
步骤S33、将所述第二计算结果作为字符映射表索引位置,根据字符映射表索引得到所述第二计算结果对应的字符。将第二计算结果作为字符映射表的索引位置,按照原始ID的顺序依次索引字符映射表中索引位置的字符,以得到每个字符组所对应的字符。将取出的字符按照原始ID的顺序拼接成一字符串,即得到短码ID。在本实施例中,原始ID为50个字符,而在经过一系列计算后,所述短码ID只需10个字符即可替代原始ID的50个字符,相较于原始ID压缩了5倍,在保证ID唯一性的同时节省存储空间。
下面结合实施例对本申请进一步解释说明:
如图2所示,原始ID为a97972e394aa4514acd86677553021fb160436879229012013,每5个划分为一组,分别为a9797、2e394、aa451、4acd8、66775、53021、fb160、43687、92290、12013,在对每个字符组通过整数哈希算法进行计算,得到哈希值。再对哈希值求取其绝对值,得到第一计算结果。对第一计算结果与字符映射表的长度求模,得到第二计算结果。根据第二计算结果对字符映射表索引对应位置的字符,如第二计算结果为0、51,则分别对应字符映射表中的a、Z。依次拼接将每组字符组索引得到对应的字符,得到最终的短码ID:aZu12qw3c1。
本申请提供了一种短码ID的生成方法,对字符数较多的原始ID按照短码ID的生成格式进行拆分,并根据预设算法及字符映射表转换为对应的字符,组合所述字符以构成原始ID对应的短码ID。在保证ID唯一性的同时解决了原始ID的体积相对庞大、结构复杂、可读性较差的问题,降低了存储或数据传输过程中需要消耗的数据存储内存,提高数据查询检索性能。
另外,本发明还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述一种短码ID的生成方法的步骤。
其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可议介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等,如实施例二。
实施例二
如图3所示,一种电子设备,包括存储器、处理器以及存储在存储器中的程序,所述程序被配置成由处理器执行,处理器执行所述程序时实现上述的一种短码ID的生成方法的步骤。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。

Claims (10)

1.一种短码ID的生成方法,其特征在于,包括以下步骤:
步骤S1、接收到转换短码ID生成请求,向服务器发起获取已经生成的原始ID的请求;
步骤S2、预设短码ID的生成格式,将获取的原始ID按照短码ID的生成格式拆分为若干字符组;
步骤S3、依次将所述字符组根据预设算法及字符映射表转换为若干字符,组合所述字符以构成原始ID的短码ID。
2.如权利要求1所述的一种短码ID的生成方法,其特征在于,所述根据预设算法及字符映射表将已划分的原始ID转换为若干字符的具体步骤包括:
步骤S31、将所述字符组依次排列,对每组字符组运用哈希算法得到第一计算结果;
步骤S32、将所述第一计算结果与所述字符映射表的长度求模,得到第二计算结果;
步骤S33、将所述第二计算结果作为字符映射表索引位置,根据字符映射表索引得到所述第二计算结果对应的字符。
3.如权利要求2所述的一种短码ID的生成方法,其特征在于,所有字符组运用哈希算法得到的第一计算结果均为相同位数的整数,所述第二计算结果为小于所述字符映射表长度的整数。
4.如权利要求3所述的一种短码ID的生成方法,其特征在于,所述步骤S31、将所述字符组依次排列,对每组字符组运用哈希算法得到第一计算结果还包括以下计算步骤;
步骤S311、对每组字符运用哈希算法得到哈希值,对所述哈希值求取绝对值,得到第一计算结果。
5.如权利要求4所述的一种短码ID的生成方法,其特征在于,所述字符映射表包括按顺序依次排列的26个小写英文字母、26个大写英文字母与数字0~9,所述字符映射表的长度为62。
6.如权利要求5所述的一种短码ID的生成方法,其特征在于,所述原始ID为按顺序依次排列的32位的用户ID、14位的时间戳、4位的随机整数。
7.如权利要求6所述的一种短码ID的生成方法,其特征在于,所述步骤S2为将将所述原始ID按照每5位字符划分为1个字符组。
8.如权利要求3所述的一种短码ID的生成方法,其特征在于,所述短码ID为由10个字符组成。
9.一种设备,其特征在于,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1~8任意一项所述的一种短码ID的生成方法。
10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被执行时实现权利要求1~8任意一项所述的一种短码ID的生成方法。
CN202011223137.5A 2020-11-05 2020-11-05 一种短码id的生成方法、设备、存储介质 Pending CN112329393A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011223137.5A CN112329393A (zh) 2020-11-05 2020-11-05 一种短码id的生成方法、设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011223137.5A CN112329393A (zh) 2020-11-05 2020-11-05 一种短码id的生成方法、设备、存储介质

Publications (1)

Publication Number Publication Date
CN112329393A true CN112329393A (zh) 2021-02-05

Family

ID=74317047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011223137.5A Pending CN112329393A (zh) 2020-11-05 2020-11-05 一种短码id的生成方法、设备、存储介质

Country Status (1)

Country Link
CN (1) CN112329393A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076509A (zh) * 2023-10-18 2023-11-17 卓望数码技术(深圳)有限公司 数据查重方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3694813A (en) * 1970-10-30 1972-09-26 Ibm Method of achieving data compaction utilizing variable-length dependent coding techniques
WO2011078535A2 (ko) * 2009-12-22 2011-06-30 Lee Soon Goo 개인 정보를 순서 정보와 내용 정보로 분리하여 암호화하고 합성하는 방법, 장치, 서버 및 기록 매체
CN104462994A (zh) * 2014-11-25 2015-03-25 厦门市美亚柏科信息股份有限公司 一种数据加密及解密操作方法
CN105868194A (zh) * 2015-01-19 2016-08-17 阿里巴巴集团控股有限公司 文本数据压缩、解压方法及装置
CN106559085A (zh) * 2016-11-30 2017-04-05 郑州云海信息技术有限公司 一种范式哈夫曼解码方法及其装置
CN106777258A (zh) * 2016-12-28 2017-05-31 银江股份有限公司 一种医疗大数据存储中Hbase行键的编码及压缩方法
CN110489466A (zh) * 2019-07-03 2019-11-22 平安证券股份有限公司 邀请码的生成方法、装置、终端设备及存储介质
CN110768785A (zh) * 2019-10-22 2020-02-07 宜人恒业科技发展(北京)有限公司 一种编、解码方法、相关装置及计算机设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3694813A (en) * 1970-10-30 1972-09-26 Ibm Method of achieving data compaction utilizing variable-length dependent coding techniques
WO2011078535A2 (ko) * 2009-12-22 2011-06-30 Lee Soon Goo 개인 정보를 순서 정보와 내용 정보로 분리하여 암호화하고 합성하는 방법, 장치, 서버 및 기록 매체
CN104462994A (zh) * 2014-11-25 2015-03-25 厦门市美亚柏科信息股份有限公司 一种数据加密及解密操作方法
CN105868194A (zh) * 2015-01-19 2016-08-17 阿里巴巴集团控股有限公司 文本数据压缩、解压方法及装置
CN106559085A (zh) * 2016-11-30 2017-04-05 郑州云海信息技术有限公司 一种范式哈夫曼解码方法及其装置
CN106777258A (zh) * 2016-12-28 2017-05-31 银江股份有限公司 一种医疗大数据存储中Hbase行键的编码及压缩方法
CN110489466A (zh) * 2019-07-03 2019-11-22 平安证券股份有限公司 邀请码的生成方法、装置、终端设备及存储介质
CN110768785A (zh) * 2019-10-22 2020-02-07 宜人恒业科技发展(北京)有限公司 一种编、解码方法、相关装置及计算机设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076509A (zh) * 2023-10-18 2023-11-17 卓望数码技术(深圳)有限公司 数据查重方法、装置、设备及存储介质
CN117076509B (zh) * 2023-10-18 2024-04-09 卓望数码技术(深圳)有限公司 数据查重方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US9104676B2 (en) Hash algorithm-based data storage method and system
CN106407201B (zh) 一种数据处理方法、装置及计算机可读存储介质
CN111008230B (zh) 数据存储方法、装置、计算机设备及存储介质
CN107704202B (zh) 一种数据快速读写的方法和装置
CN108733317B (zh) 数据存储方法和装置
CN106777258B (zh) 一种医疗大数据存储中Hbase行键的编码及压缩方法
CN111563109A (zh) 基数统计方法、装置、系统、设备和计算机可读存储介质
CN110995273A (zh) 电力数据库的数据压缩方法、装置、设备及介质
CN112329393A (zh) 一种短码id的生成方法、设备、存储介质
CN108334481A (zh) 文档处理方法以及装置
CN114579570A (zh) 数据处理方法及装置
CN111126002A (zh) 一种数据全局唯一性标识id的生成方法及系统
CN110069489B (zh) 一种信息处理方法、装置、设备及计算机可读存储介质
CN110266834B (zh) 基于互联网协议地址的地区查找方法及装置
WO2015116762A1 (en) Optimized data condenser and method
CN106776657B (zh) 一种域名检索方法及设备
CN113849550A (zh) 数据处理方法及装置
CN113986828A (zh) 存储海量文件的方法、装置、电子设备及存储介质
CN110287147B (zh) 一种字符串排序方法及装置
CN112579566B (zh) 分布式id的生成方法及装置
CN112162951A (zh) 一种信息检索方法、服务器及存储介质
JP2005004560A (ja) インバーテッドファイル作成方法
CN112487032A (zh) 数据查询的方法、装置、存储介质及电子设备
WO2010007597A1 (en) Apparatus and method for searching information
CN111884659A (zh) 一种fst数据的压缩方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 511434 No.1 and No.2, Shihua Road, Hualong Town, Panyu District, Guangzhou City, Guangdong Province

Applicant after: Guangdong haomadame smart home Co.,Ltd.

Address before: No.1, No.2 highway, No.2, Panyu, Guangzhou

Applicant before: GUANGDONG KELAINI INTELLIGENT TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information