【技术实现步骤摘要】
单号生成方法及电子设备
本申请涉及服务单号
,具体涉及一种单号生成方法及电子设备。
技术介绍
很多服务需要全局唯一单号进行相关的记录,例如,单个服务多微服务容器的部署相关记录需要有全局唯一单号,高并发场景下的单号需要能正确生成并保证全局唯一。然而,现有技术中,生成单号所使用的机器号都是事先分配好的,也就是总共要部署多少台机器都是事先固定好的,由于在分布式微服务环境中,机器可以动态扩容和缩容,这种事先分配机器号的方式,容易造成机器号重复,进而导致单号重复。
技术实现思路
本申请的目的在于,提供一种单号生成方法及电子设备,其可以解决上述技术问题,避免单号重复。为解决上述技术问题,本申请提供一种单号生成方法,包括:服务端在启动服务时,向Zookeeper服务集群申请所述服务的机器号;响应于所述申请,所述Zookeeper服务集群生成机器号并创建对应的临时节点,将所述机器号发送给所述服务端;所述服务端根据所述机器号生成单号。其中,所述单号包括固定数字段、当前时间戳数字 ...
【技术保护点】
1.一种单号生成方法,其特征在于,包括:/n服务端在启动服务时,向Zookeeper服务集群申请所述服务的机器号;/n响应于所述申请,所述Zookeeper服务集群生成机器号并创建对应的临时节点,将所述机器号发送给所述服务端;/n所述服务端根据所述机器号生成单号。/n
【技术特征摘要】
1.一种单号生成方法,其特征在于,包括:
服务端在启动服务时,向Zookeeper服务集群申请所述服务的机器号;
响应于所述申请,所述Zookeeper服务集群生成机器号并创建对应的临时节点,将所述机器号发送给所述服务端;
所述服务端根据所述机器号生成单号。
2.根据权利要求1所述的单号生成方法,其特征在于,所述单号包括固定数字段、当前时间戳数字段、机器号数字段与自增序列号数字段。
3.根据权利要求2所述的单号生成方法,其特征在于,所述单号采用64位二进制数字表示,其中,第1位为所述固定数字段且固定为0,第2位至第42位为所述当前时间戳数字段,第43位至52位为所述机器号数字段,第53位至64位为所述自增序列号数字段。
4.根据权利要求1所述的单号生成方法,其特征在于,所述Zookeeper服务集群生成机器号并创建对应的临时节点,包括:
所述Zookeeper服务集群生成机器号并判断所述机器号是否存在;
若不存在,则创建对应的临时节点。
5.根据权利要求4所述的单号生成方法,其特征在于,所述Zookeeper服务集群生成机器号并创建对应的临时节点,还包括:
若存在,则判断机器号是否已全部分配完毕;
若未分配完毕,则返回创建失败的结果,并在所述服务端再次申请机器时,执行所述Zookeeper服务集...
【专利技术属性】
技术研发人员:马磊,
申请(专利权)人:上海擎感智能科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。