Project

General

Profile

Feature #3457

唯一消息编号生成长度改造

Added by shiyu cheng 3 months ago. Updated about 2 months ago.

Status:
New
Priority:
Normal
Assignee:
shiyu cheng
Target version:
-
Start date:
07/25/2024
Due date:
% Done:

0%

Estimated time:
Defect version:

History

#1

Updated by yan hong about 2 months ago

目标版本:jar-gateWayIot-V1.0.6
由于65号文标准限制msgid取值范围0-4294967295(32bit),需调整原获取id算法。

将32bit结构分成30+1+1:
数据位从高到低:30bit(毫秒级时间戳(41bit)从低到高截取30bit) + 1bit(机器ID) + 1bit(序列号)
单机每毫秒理论上可以生成2个ID

由于毫秒级时间戳占了30bit(取值范围0-1073741823),理论1073741823毫秒(12.4天)生成id不重复。

#2

Updated by yan hong about 2 months ago

yan hong wrote:

目标版本:jar-gateWayIot-V1.0.6
由于65号文标准限制msgid取值范围0-4294967295(32bit),需调整原获取id算法。

将32bit结构分成30+1+1:
数据位从高到低:30bit(毫秒级时间戳(41bit)从低到高截取30bit) + 1bit(机器ID) + 1bit(序列号)
单机每毫秒理论上可以生成2个ID

由于毫秒级时间戳占了30bit(取值范围0-1073741823),理论1073741823毫秒(12.4天)生成id不重复。

目标版本调整为jar-gateWayIot-V1.0.7

Also available in: Atom PDF