[发明专利]数据标识生成方法、装置、设备、介质及程序产品在审
申请号: | 202210174877.7 | 申请日: | 2022-02-24 |
公开(公告)号: | CN114462979A | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 程路超 | 申请(专利权)人: | 北京京东振世信息技术有限公司 |
主分类号: | G06Q10/10 | 分类号: | G06Q10/10;G06F7/58 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 宋兴;臧建明 |
地址: | 100086 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 标识 生成 方法 装置 设备 介质 程序 产品 | ||
本发明提供一种数据标识生成方法、装置、设备、介质及程序产品,在该方法中,针对分布式系统产生的待标识的业务数据,根据上一标识的业务数据的虚拟编号生成该待标识的业务数据的虚拟编号,进而基于虚拟编号和时间戳生成该待标识的业务数据的数据标识,实现了分布式数据的全局唯一标识;采用虚拟编号生成数据标识,不依赖硬件环境,应用范围广;且该虚拟编号是由上一虚拟编号生成,无需存储大量的虚拟编号以及设置额外的数据库进行虚拟编号的维护,维护成本低。
技术领域
本发明涉及计算机领域,尤其涉及一种数据标识生成方法、装置、设备、介质及程序产品。
背景技术
在分布式系统中,通常很多业务场景中,如下单业务,需要对数据生产唯一标识(Identity,ID),以确保数据的唯一性,为数据提供定位、区分的有效标识。
在现有技术中,常用的数据标识生产的算法包括雪花算法(Snow Flake)和分布式ID生成器(Unique Identity Generator,uid-generator)。雪花算法的数据标识是基于部署的硬件环境生成的,即依赖于硬件的机器编号,在混合部署下,如采用同一台设备部署的分布式应用的场景,由于机器编码相同,因此雪花算法并不适用;uid-generator生成的数据标识需要额外进行数据库维护,增加了维护成本。
针对上述现象,在混合部署下,如何降低数据标识的维护成本,是亟需解决的问题。
发明内容
本发明实施例提供一种数据标识生成方法、装置、设备、介质及程序产品,提供一种不依赖数据库的、适用于各种场景的数据标识生成方法,降低了数据标识的维护成本。
第一方面,本发明实施例提供一种数据标识生成方法,所述方法包括:
确定待标识的业务数据;获取上一标识的业务数据的虚拟编号,并根据上一标识的业务数据的虚拟编号,生成所述待标识的业务数据的虚拟编号;基于所述待标识的业务数据对应的时间戳以及所述待标识的业务数据对应的虚拟编号,生成所述待标识的业务数据的数据标识,以通过所述数据标识唯一标识所述待标识的业务数据。
在一种具体实施方式中,根据上一标识的业务数据的虚拟编号,生成所述待标识的业务数据的虚拟编号,包括:
将所述上一标识的业务数据的虚拟编号增加单位步长,以得到所述待标识的业务数据的虚拟编号。
在一种具体实施方式中,在确定待标识的业务数据之后,所述方法还包括:
获取预设分布式锁;判断所述预设分布式锁是否取锁成功;若是,则获取上一标识的业务数据的虚拟编号;在生成所述待标识的业务数据的虚拟编号之后,删除所述预设分布式锁。
在一种具体实施方式中,若所述预设分布式锁取锁失败,则重复执行如下步骤,直至自旋次数达到预设次数或取锁成功:
等待随机时长后,将所述自旋次数加1;重新获取所述预设分布式锁并判断所述预设分布式锁是否取锁成功。
在一种具体实施方式中,当所述自旋次数达到预设次数时,根据上一标识的业务数据的虚拟编号,生成所述待标识的业务数据的虚拟编号,包括:
将所述上一标识的业务数据的虚拟编号增加随机步长,以得到所述待标识的业务数据的虚拟编号。
在一种具体实施方式中,在生成所述待标识的业务数据的虚拟编号之后,删除所述预设分布式锁,包括:
根据所述待标识的业务数据的虚拟编号进行编号签约,以锁定所述待标识的业务数据的虚拟编号;签约成功后,删除所述预设分布式锁;按照预设周期,对所述待标识的业务数据的虚拟编号进行续约;若连续设定次数续约失败,则对所述待标识的业务数据的虚拟编号进行解约,以释放所述待标识的业务数据的虚拟编号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东振世信息技术有限公司,未经北京京东振世信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210174877.7/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置