彩票系统是怎么做的?
以我开发的彩票系统为例,简单介绍一下流程。 首先要确定用户账号的个数。因为每个用户的彩票数据都是独立保存的,所以这个数字取决于最终的用户数量。 以1亿用户为例(实际中不可能有这么多),一个用户账号保存一组彩票数据,那么就需要1亿个文本行。而每生成一张新彩票,都需要保存这组数据的哈希值,从而判断该张彩票是否已经购买过。由于一台服务器最多可以打开32个文件描述符,所以如果使用单台机器进行开发,那么需要8台以上的机器才能完成所有功能的实现。 如果采用负载均衡的方案,比如lvs+keepalived,并且把数据库和文件系统也挂载到各个节点,那么一台物理机即可达到以上要求。 确定了用户账号的数量之后,下一步就是添加管理员账号了。管理员账号是系统唯一不需要验证身份证号就能登陆的账号,一般用于创建新的用户账号。
以1亿用户为例,需要新建500万个管理账号才能覆盖全部的用户。如果用户集中在某几个省份,也可以根据省级行政区域划分来新建用户账户。 管理员能做的事情很多,除了新增、修改、删除用户之外,甚至可以完全控制某个用户的所有信息,包括身份证号等私密性极强的信息。在添加管理员账号时一定要加以注意。 我使用的是linux系统,因此我的管理员账号直接拥有root权限。windows下可能需要借助第三方软件给管理员账号赋予管理员组的所有权限后才能操作。 以上只是介绍了如何构建彩票销售系统的数据库,至于代码部分就恕不献丑了。