可能是你的流水码生成规则不适用于并发环境
有没有什么方法能处理这个问题,因为一天打六七十万个条码,要三四个小时,用户觉得有点慢,如果用多台电脑打可能会快点,但流水码就会重复了!
guid .
用guid可以满足你的要求。
全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。所以,用于生成GUID的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。
一种是流水码生成规则上想办法,比如加时间戳和随机数混合,一种是在数据库验证,生成保存的地方验证是否已经存在
我在存储过程有判断,有就加一在转16进制,在存储,没有就从1开始,但是多台电脑一起执行的话他就会重复!
不同的电脑打印可以通过规划不同的码段不就行了,比如a电脑码段 为 A00,b电脑码段为B00,这样不管怎么打都不会重复了
或者区分流水号的范围,比如a电脑为0~10000,b电脑为10001~20000,这样也不会重复了
不懂你们的业务,可否把要打印的东西分段,每个电脑自只负责自己的一段,至于怎么分段,看情况吧,如果情况复杂,你可能需要一台电脑专门做任务分配器