[发明专利]一种业务编码的生成方法及装置在审
申请号: | 201711085680.1 | 申请日: | 2017-11-07 |
公开(公告)号: | CN107885822A | 公开(公告)日: | 2018-04-06 |
发明(设计)人: | 黄峰;梁煜麓;罗佳 | 申请(专利权)人: | 厦门安胜网络科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/12 |
代理公司: | 厦门市精诚新创知识产权代理有限公司35218 | 代理人: | 何家富 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 业务 编码 生成 方法 装置 | ||
技术领域
本发明涉及数据处理技术领域,尤其涉及一种业务编码的生成方法及装置。
背景技术
在应用系统中,业务技术器在很多地方都会用到,如一个简单的请加申请单,单据号即是用业务计数器生成的,这个单据号可以是一个递增的数字,包含字母与数字的字符串,根据不同的业务需要,还有可能对它进行长度的限制,还有可能包含了一些业务信息,如把如期添加进来,或者是把一些与业务相关的信息加到前缀中,通过单据号就能知道是什么类型的单据。业务单号只是其中一种使用方式,还有资产标签,食品标签等都会使用到业务计数的功能。业务计数器主要是根据业务需求生成一串唯一的不重复的字符串。
当前有很多生成不重复的字符串方式,主要有如下几种:
方式一:数据库自增长的序列或者字段;
这种方式简单,代码量少,性能也能接受,但数字ID(I Dentification,身份标识)无排序,需要有分页与排序检索的功能,压力都在数据库服务器上,需要较高的数据库搜索和处理能力。
方式二:UUID(Universally Unique Identifier,唯一识别码);
比较常见的一种方式,获取比较方便,无论哪种语言都有比较方便的API(Application Programming Interface,应用程序编程接口)获取,性能也可以,并且全球唯一,并且在数据迁移的过程中对数据整合没有任何影响。
方式三:snowflake算法生成ID;
snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。不依赖于任何数据库,使用方便,且性能优于方式一数据库自增长的序列或者字段。
上面提及到的技术有各自的优点,但是有也各自的不足,具体不足之处如下:
方式一:数据库自增长的序列或者字段;
1)数据库的兼容性问题。在不同的数据库中,实现方式不一样,在数据进行迁移的时候或者系统需要支持多个数据库的时候,需要做特殊的处理;
2)单点故障问题。在单个数据库,或者是读写分离的情况下,会存在单点故障的风险;
3)扩展性。当性能无法满足业务需求的时候,进行扩展比较困难;
4)数据迁移困难。当需要与其他系统合并,或者迁移到其他系统的时候,会带来很多问题;
5)性能问题。当表的数量很大的时候,需要分表或者分库的时候,则会很麻烦。
方式二:UUID;
1)排序问题。应为生成的字符串都是无序的,无法保证趋势递增;
2)查询性能问题。UUID往往是使用字符串存储,根据不同的数据,对此的排序性能会差很多,且查询效率会低;
3)存储问题。由于字符串较长,如果海量存储数据,则会浪费比较多的存储空间;
4)传输性能差。由于字符串比较长,在网络的传输过程中,也相对慢,消耗表多的流量;
5)可读性差。都是无需的字符串,根本人工根本无法阅读。
方式三:snowflake算法生成ID;
1)格式扩展性差。生成的字符串格式是固定的,无法按照业务的需求变更;
2)可读性差。本身是个long型格式,人工无法阅读;
3)存储问题。由于字符串较长,如果海量存储数据,则会浪费比较多的存储空间。
也就是说,现有生成业务编码的方式存在扩展性差、可读性差、传输性能差以及数据迁移困难等问题。
发明内容
本发明实施例提供了一种业务编码的生成方法及装置,用以解决现有生成业务编码的方式存在扩展性差、可读性差、传输性能差以及数据迁移困难的问题。
本发明实施例提供了一种业务编码的生成方法,所述方法包括:
第N个业务码生成服务接收业务码获取请求;
根据所述业务码获取请求,配置与所述业务码获取请求相对应的预取业务码步伐,其中,所述预取业务码步伐与第N个业务码生成服务相对应,N为大于零的正整数;
向服务器发送预取业务码步伐请求,所述预取业务码步伐请求中携带有预取业务码步伐,并在确定业务码队列中的序号小于预设阈值时,从所述服务器中读取与所述预取业务码步伐相对应的数据,并生成业务码,将生成的业务码存放到业务码队列中;
接收业务码读取请求,所述业务码读取请求中携带有预取业务码步伐;
根据所述业务码读取请求,从业务码队列中读取与所述预取业务码步伐对应的业务码,并返回。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门安胜网络科技有限公司,未经厦门安胜网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711085680.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多功能折叠手推车
- 下一篇:一种固液态化工材料运输推车