数学之美--防伪系统(1)

     说明:本文只是探讨一种思路,不代表其是“应用系统”的正确设计思路

     一年前,sist的防伪中心购入了一套数码防伪系统:提供电话、互联网和Sms查询防伪码功能。具体运行框架我就不画图解释了。这套系统使用半年后由于收到业务瓶颈:客户要求加入物流分析功能。

     防伪中心联系过软件系统提供商,但是对方报价太贵,于是找到了我们,问我们能否按照他们的要求重新打造一套防伪系统。

     虽然没有做过防伪系统,但我也比较熟悉他们部门的业务,所以就尝试分析了一下如何先做这个防伪系统:

  1. 电话查询,语音卡的问题可以解决;
  2. 短信查询,需要找SP服务商,也好解决;
  3. 网络查询,更容易了;
  4. 用户管理,这是很普通的软件行为了;
  5. 防伪码生成,这个简单,随机16,18,20位的数字生成,然后存入数据库,以后检索就OK了。

     我最初这么考虑这些问题,但是后来使用了他们的现有系统后发觉原来的思路不对:

  1. 他们生成的防伪码并没有存入数据库,防伪码是生成文本文件拿去印刷的;
  2. 系统没有任何地方存储这个防伪码的文本文件;
  3. 防伪码的文本文件丢失后可以重新生成,重新生成的文本文件同原文件一致;
  4. 为“益力”桶装水提供的防伪码就多达几百万条,现在已经有30多个厂商和无数个产品了,如果防伪码按照单条计算应该已经过亿了,上亿条数据如何检索?

     简单的说就是这么几个问题:

  • 防伪码不是使用随机数生成的;
  • 防伪码没有使用数据入库这种存储方式,所以查询的时候也不是select * xxxxx;
  • 按照规则重新生成防伪码和原来生成的防伪码一致;

      我当时为难了,很久时间都没有思考出如何解决防伪码生成问题,甚至我去google和baidu都没有一个答案,虽然有一些启示。

      鹅亲爱的朋友,如果你现在有“美国时间”,也无妨来帮俺想想这个问题,或许能从你哪里得到更好的答案呢。

你可能感兴趣的:(数据库,互联网,Google,存储,sms,电话)