【技术实现步骤摘要】
全局序列生成方法、装置、电子设备及计算机存储介质
[0001]本专利技术实施例涉及数据处理
,具体涉及一种全局序列生成方法、装置、电子设备及计算机存储介质。
技术介绍
[0002]随着数据技术的发展,数据的应用也越来越广泛。为了提供更丰富、更广泛的数据服务,很多数据系统中都存在多个数据库协同进行工作。在一些应用场景中,数据系统中的多个数据库可能会被部署在相同或者不同的数据库实例上,而多个数据库实例也有可能处于相同或者不同的可用区中,但在很多情况下,都需要在多个数据库之间确保某个标识值的全局唯一性,即在保证高可用的前提下,实现多单元环境的全局序列,其中,所述全局序列指的是在限定的全局范围内,由数据库系统自动生成、保证唯一性的一种正整数集合,所述数据库实例指的是一种用于运行数据库程序,能够操作数据,由机器节点、进程和内存等组件组成的逻辑实体。
[0003]在传统的单机数据库系统中,全局序列或者不被支持,只能在单表内部实现自增列;或者虽然提供全局序列功能,但却被限制只能在单个数据库中使用,无法真正满足全局序列在多单元环境下的全局唯一性和高可用性需求。在新型的分布式数据库系统中,对于全局序列的支持,或者像单机数据库系统一样,被限制只能在单个数据库中使用,不支持多单元环境;或者只能由分布式数据库系统本身基于Paxos/Raft等分布式一致性协议来提供多单元环境的部署,虽然该方案能够确保高可用性,但却由于分布式一致性协议本身带来的性能损耗和跨可用区之间的网络延迟等因素损失了数据性能,增加请求响应的时间,增加网络通信 ...
【技术保护点】
【技术特征摘要】
1.一种全局序列生成方法,其特征在于,包括:获取全局序列源数据;确定数据操作单元数量,并根据所述数据操作单元数量将所述全局序列源数据拆分为全局序列源数据段,建立所述数据操作单元与所述全局序列源数据段之间的映射关系;根据所述数据操作单元与所述全局序列源数据段之间的映射关系,生成与所述数据操作单元对应的全局序列。2.根据权利要求1所述的方法,其特征在于,所述确定数据操作单元数量,并根据所述数据操作单元数量将所述全局序列源数据拆分为全局序列源数据段,建立所述数据操作单元与所述全局序列源数据段之间的映射关系,包括:确定数据操作单元数量,并为所述数据操作单元设置索引值;获取数据拆分步长;根据所述数据操作单元的数量、索引值及所述数据拆分步长,顺次将所述全局序列源数据拆分为与所述数据操作单元对应的多个子全局序列源数据段,得到所述数据操作单元与所述全局序列源数据段之间的映射关系,其中,与所述数据操作单元对应的多个子全局序列源数据段的组合为与所述数据操作单元对应的全局序列源数据段。3.根据权利要求2所述的方法,其特征在于,所述根据所述数据操作单元与所述全局序列源数据段之间的映射关系,生成与所述数据操作单元对应的全局序列,包括:根据所述数据操作单元与所述全局序列源数据段之间的映射关系,获取与所述数据操作单元对应的全局序列源数据段;将所述全局序列源数据段拆分为两个或多个全局序列源数据组;根据所述全局序列源数据组生成与所述数据操作单元对应的全局序列。4.根据权利要求3所述的方法,其特征在于,所述根据所述数据操作单元与所述全局序列源数据段之间的映射关系,获取与所述数据操作单元对应的全局序列源数据段,包括:根据所述数据操作单元的索引值确定与所述数据操作单元对应的多个子全局序列源数据段;将与所述数据操作单元对应的多个子全局序列源数据段组合起来,得到与所述数据操作单元对应的全局序列源数据段。5.根据权利要求3所述的方法,其特征在于,所述根据所述全局序列源数据组生成与所述数据操作单元对应的全局序列,被实施为:响应于接收到全局序列生成请求,确定与所述数据操作单元对应的全局序列源数据缓存的工作状态;当与所述数据操作单元对应的全局序列源数据缓存处于有效工作状态时,从所述全局序列源数据缓存中读取预设数量的全局序列源数据生成与所述数据操作单元对应的全局序列;当与所述数据操作单元对应的全局序列源数据缓存处于无效工作状态时,根据所述全局序列源数据组创建与所述数据操作单元对应的全局序列源数据缓存,并从所述全局序列源数据缓存中读取预设数量的全局序列源数据生成与所述数据操作单元对应的全局序列。6.根据权利要求5所述的方法,其特征在于,所述根据所述全局序列源数据组创建与所述数据操作单元对应的全局序列源数据缓存,被实施为:
确定全局序列源数据缓存容量;根据所述全局序列源数据缓存容量从所述全局序列源数据组中选择与所述全局序列源数据缓存容量相应的全局序列源数据创建与所述数据操作单元对应的全局序列源数据缓存。7.根据权利要求6所述的方法,其特征在于,所述根据所述全局序列源数据缓存容量从所述全局序列源数据组中选择与所述全局序列源数据缓存容量相应的全局序列源数据创建与所述数据操作单元对应的全局序列源数据缓存,被实施为:从所述全局序列源数据组中选择其中一个全局序列源数据组作为目标全局序列源数据组;确定所述目标全局序列源数据组的工作状态;当所述目标全局序列源数据组处于有效工作状态时,根据所述全局序列源数据缓存容量从所述全局序列源数据组中选择与所述全局序列源数据缓存容量相应的全局序列源数据创建与所述数据操作单元对应的全局序列源数据缓存;当所述目标全局序列源数据组处于无效工作状态时,从所述全局序列源数据组中选择另外一个全局序列源数据组作为所述目标全局序列源数据组,直至所述目标全局序列源数据组处于有效工作状态。8.根据权利要求6所述的方法,其特征在于,所述根据所述全局序列源数据缓存容量从所述全局序列源数据组中选择与所述全局序列源数据缓存容量相应的全局序列源数据创建与所述数据操作单元对应的全局序列源数据缓存之后,还包括:根据所述全局序列源数据缓存容量、全局序列源数据组的数量和已选择数据所在全局序列源数据组的标识信息,对于每一全局序列源数据组的可选择数据进行标记。9.一种全局序列生成装置,其特征在于,包括:获取模块,被...
【专利技术属性】
技术研发人员:陈诗然,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。