基础数据:3000车次 5000车站
一些极限:单车次,100个车站,1000个座位
实用数据:100 * 1000 = 100,000 ,这样可以清晰地描述每个座位在每个车站区间的状态
每个座位使用 4个二进制位 400,000位 = 50,000 字节 所以用64K的SRAM进行扩展是够用了。
每个单元,只处理一个车次某一天的数据,所以只需要线性堆叠就可以实现扩展。
硬件方案:用STC价格较高的芯片 IAP15W4K16S4 PDIP40 约6块钱 4串口
扩展内存 62512 (64KB) 约 12块
晶振PCB之类的,算12块钱
成本30块钱 30(单价)*3000(车次)*60(预售天数) = 540 万
采用 3+1 多数表决冗余 也就是2160万元
说明:表决处理单元需要4串口,而计算单元可以使用价格更低的芯片,所以总体成本2000万绝对够了,还能有上百万的回扣呢。
工作原理:主控通过串口向席位分配内核发送数据,席位处理单元通过SRAM状态决定是否可预定,是否定票成功,通过串口返回给主控。
主控在三个处理器的结果中取多数结果返回上层。
主控与上层的连接方式:基于IP的串口服务器
时间可性行分析:
假设卖最后一张票 需要执行50000次的读和比较 约 20,0000个指令周期
这个特定的硬件可以跑35M ,现在我们假设跑在20MHz , 每秒可以执行 2000,0000 个指令
也就是对于特定天的特定车次 ,这个30元的节点可以实现10TPS,3000个节点,可以实现 30000TPS ,比现有的1000TPS 提高30倍的吞吐量。
可以看到这个方案实在是太简单又太可靠了。所以完全可以满足样求。又具有线性扩展能力。
阅读(1621) | 评论(0) | 转发(0) |