首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么让多台单机系统生成编号互相不重复

2012-10-17 
如何让多台单机系统生成编号互相不重复有一个现场入场登记系统,主要应用于展会活动入场登记,可单机运行也

如何让多台单机系统生成编号互相不重复
有一个现场入场登记系统,主要应用于展会活动入场登记,可单机运行也可联网运行,且同时有多台机器正常运行,要求每个入场登记的人都自动生成一个唯一"编号"。

联网模式时生成"编号"简单,直接读取数据库即可,

但在单机状态下,如何让多台单机系统都能生成唯一的"编号",互相不重复?

最好避免在每台单机上设置前缀编号之类的工作,"编号"规则:字母和数字组合,位数最好能控制在12位内



[解决办法]
取硬盘或硬件ID+编号即可。如何取硬盘ID上网搜一下。
[解决办法]
用GUID生成?
[解决办法]
计算机名+精确到毫秒的时间
[解决办法]
每台单机上设置前缀编号,就是最实用的,为什么不可以用?
[解决办法]
给每台单机分配代号。
代号+时间
[解决办法]

探讨

每台单机上设置前缀编号,就是最实用的,为什么不可以用?

[解决办法]
设个计算机名称不就行了

[解决办法]
每个机器分配一个编号,存储在配置文件中,生成编号时读取这个配置文件,生成的编号前缀中使用机器编号。
[解决办法]
"最好避免在每台单机上设置前缀编号之类的工作"
-- 不能理解。。。是否有特殊的需求?
[解决办法]
不想设置前缀编号,
如果能联网运行,统一从数据库取号
否则,需要长号,才能放下细到毫秒的时间及足够的随机数,也能避免重复
[解决办法]
绝对的不重复,简单方法只有GUID,看你的问题,别的方法你也做不出来。想简单,就人家说的,编号+时间。懒是解决不了问题的,不管哪种方法,先做出来一种遇到问题求解才是真正在做。
[解决办法]
guid的缺点是太长(32位数字+字母),而且没规律。。。。

年月日时分秒毫秒+4位随机数
=2+2+2 +2+2+2 +3 +4=19位数字

=2+1+1 +1+1+1 +2 +3=12位数字+字母
[解决办法]
? 今天我这个IT岗被找谈话,意中应该是被劝退了, 真不是滋味!! [推荐] [扩充话题 程序人生] 11 y002150 
09-25 15:30 102yuwenge
09-28 11:42管理
? delphi CS转BS,是学PHP/ASP/JSP或者直接用intraweb求高手给建议 [Delphi 数据库相关] 50 c505807698 
09-19 18:32 12case5166 
09-28 10:38管理
? 如何让多台单机系统生成编号互相不重复 [Delphi 数据库相关] 30 keneathchen 
09-10 11:04 15sz_haitao
09-28 10:38管理

——怎么变成今天10:38我回复的?csdn也有12306的风范了
[解决办法]
自增 ID,简便,不重复。
[解决办法]
CPU序列号唯一的,不过好像有点长
硬盘序列号也可以
[解决办法]
要么取主板的序列号,要么取GUID,要么给每个用户的名称制定规则,比如前2位为不同的字母,然后生产的单号就取用户名的前2个字符,然后再生产序号进行产生单号
[解决办法]
网卡MAC地址(六字节)或IP地址(四字节)作为前缀
[解决办法]
把本机IP格式化成字串后+ID

热点排行