[发明专利]一种产品编码生成方法和装置在审
申请号: | 202110474116.9 | 申请日: | 2021-04-29 |
公开(公告)号: | CN113138988A | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 徐文铖 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/958;G06F40/126;G06Q30/06 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 郝红玉;冯培培 |
地址: | 100176 北京市北京经济技术*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 产品 编码 生成 方法 装置 | ||
本发明公开了一种产品编码生成方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收企业传输的生成产品编码的请求,获取所述请求中的企业编码,确定与所述企业编码对应的当前已使用的产品编码;从与所述企业编码对应的本地缓存段中,获取记录的最大产品编码;在当前产品编码小于所述最大产品编码的情况下,将所述当前产品编码累加第一预设数值,作为新生成的产品编码并返回。该实施方式在本地缓存段存在且未用尽时,基于本地缓存段生成新产品编码,且本地缓存段位于内存中,利用内存读取速度快的特性,能够避免每次跨网读取数据操作,提高系统处理性能。
技术领域
本发明涉及计算机技术领域,尤其涉及一种产品编码生成方法和装置。
背景技术
互联网电子商务系统包含产品的创建、发布和购买,且每个产品均需设置一个唯一编码。然而在现有互联网微服务背景下,一个产品编码的创建服务,可能会被其他多个服务在同一时刻同时调用,给产品编码服务器带来压力,给准确、高效的创建产品编码带来了挑战。
目前主要使用UUID(Universally Unique Identifier,通用唯一识别码)、关系数据库创建产品编码,但这些方式存在如下问题:
1、UUID的本质是一串杂乱的字符串,不符合产品编码要求;
2、关系数据库生成的编码唯一且有序,但获取效率低,尤其是高并发场景,可能无法提供正常服务;
3、从数据库中获取当前最大编码,然后+1方式,虽可以满足常用需求,但在并发场景下可能会计算错乱,如果为了保证准确性对数据库加锁,则会降低获取效率。
发明内容
有鉴于此,本发明实施例提供一种产品编码生成方法和装置,至少能够解决目前生成产品编码方式不能保证所有场景通用的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种产品编码生成方法,包括:
接收企业传输的生成产品编码的请求,获取所述请求中的企业编码,确定与所述企业编码对应的当前已使用的产品编码;
从与所述企业编码对应的本地缓存段中,获取记录的最大产品编码;其中,缓存段用于存储产品编码;
在当前产品编码小于所述最大产品编码的情况下,将所述当前产品编码累加第一预设数值,作为新生成的产品编码并返回。
可选的,还包括:当不存在与所述企业编码对应的本地缓存段、或所述当前产品编码等于所述最大产品编码时,查询与所述企业编码对应的完整缓存段;
以所述最大产品编码+第二预设数值为起点、所述最大产品编码+预设步长为终点,从所述完整缓存段中拉取下一缓存段;
基于所述下一缓存段更新所述本地缓存段,以及将所述最大产品编码+第二预设数值作为新生成的产品编码并返回。
可选的,产品编码由企业编码和数值组成,缓存数据库中存储有各企业的完整缓存段;
所述查询与所述企业编码对应的完整缓存段,还包括:
若所述缓存数据库中不存在与所述企业编码对应的完整缓存段,则以第三预设数值为起点,结合所述企业编码,为所述企业创建产品编码,进而基于创建的产品编码生成一个完整缓存段。
可选的,所述将所述当前产品编码累加第一预设数值,作为新生成的产品编码并返回,还包括:
获取所述新生成的产品编码中的数值,判断所述数值是否大于所述企业预设的最大数值;其中,最大数值为企业允许创建的最大产品数量;
若判断结果为是,则返回请求数量超限信息,否则返回所述新生成的产品编码。
可选的,所述第一预设数值等于相邻产品编码的差值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司,未经北京沃东天骏信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110474116.9/2.html,转载请声明来源钻瓜专利网。