写点什么

食堂就餐卡系统设计文档

用户头像
15359861984
关注
发布于: 2020 年 06 月 09 日



1.  设计概述

食堂就餐卡系统是一个用于食堂就餐卡消费及管理的一个系统。

1.1功能概述

系统功能主要包括:

  • l  就餐卡注册

  • l  就餐卡充值

  • l  就餐卡消费

  • l  就餐卡注销

  • l  就餐卡余额查询

  • l  就餐卡消费充值统计分析

使用者主要包括:

  • l  消费者

  • l  就餐卡管理员

  • l  服务员

功能用例图如下:





 1.2非功能概述

  • l  支持用户量< 10000

  • l  高可用 99.99%,单次故障5min内完成切换

  • l  性能

  • 单次平均查询时间<100ms

  • 95%查询时间 < 200ms

  • Qps > 500

  • l  可扩展

  • 模块化设计,易于后期功能持续迭代

  • l  可伸缩

  • 在遇到性能或容量瓶颈时,可进行快速横向伸缩

  • l  安全

  • 认证鉴权,私有协议

  • WEB防注入,防渗

  • 数据安全性保障

 

2 系统部署图与整体设计





WEB SERVER提供给管理员注册,查询统计等功能。APP SERVER提供和刷卡机交互的私有TCP服务功能。DB采用mysql提供数据持久化,双主数据同步部署。

上线部署预计使用2台物理机设备,考虑到资源使用量不大,web server,app server,DB部署在同一设备上。两台设备做高可用部署,切换依靠切换域名的DNS,TTL设置60s。考虑到故障发现及Local DNS缓存,故障预计可在5分钟内完成切换。

 

系统模块图如下:





系统主要包含以下四个模块:

  • l  用户管理,提供用户新增(注册),删除(注销),查询,修改等功能

  • l  费用管理,提供用户费用的管理,涉及到充值,消费,查询等功能。

  • l  终端管理,提供终端设备的信息管理,接入管理等

  • l  统计分析,提供各种维度的统计查询分析功能,依赖用户管理及费用管理模块

  • l  消费模块,提供刷卡机消费功能,需要和刷卡机对接。依赖费用管理和用户管理模块及终端管理模块

以下以消费模块作为模块设计的详细分析,其他模块不做赘述。

3 系统模块/组件设计

3.1 消费模块设计

      



消费模块整体可分为三个子模块:

  • l  认证鉴权子模块:针对终端过来的链接,先调用加解密子模块进行信息加解密。然后进行认证,是否是已注册的终端过来的链接。同时进行鉴权,是否有权限进行该用户的消费行为。

  • l  信息加解密子模块:考虑到传输信息的敏感度,需要对所有消息进行基于TCP层面的加解密。

  • l  费用计算子模块:针对消费信息,调用费用管理子模块进行真正的消费操作。

 

针对消费场景的序列图如下:





针对消费场景,终端请求进来后,先对信息进行解密,然后进行认证,认证需要取得链接的终端信息,以及当前已管理的终端进行匹配认证,通过后,再进行鉴权。

       鉴权主要是取得当前的终端及当前消费的用户进行权限比对,看此终端是否有消费此用户的权限。

       认证,鉴权都通过后,才会进行真正的消费,需要调用费用管理模块,对当前的用户进行费用的扣除,同时记录日志信息等。

       所有的都操作完后,会将返回信息进行加密后传输给终端。



用户头像

15359861984

关注

还未添加个人签名 2018.03.21 加入

还未添加个人简介

评论

发布
暂无评论
食堂就餐卡系统设计文档