手持POS机消费系统
一、总论
本文面向消费系统对商品信息,人员信息和操作信息进行数据管理,数据采集和数据统计查询。采用MySQL数据库,建立C/S结构单机版多点软件系统,各个点相互独立,不互相关联和依赖,实现数据格式通用,数据独享。
其中商品信息主要包括商品的基本数据维护,商品进货管理,商品销售管理,商品库存管理和商品查询统计;人员信息主要包括人员基本数据维护,增加人员,删除人员和非接触卡数据的管理;操作信息主要包括商品信息操作,POS机操作的记录信息。客户卡的管理、充值和消费,对“便携式检验证机”(PICA)的软件设计进行了说明。
按需求标准定制消费系统的方案,解决商品信息管理,消费数据采集,保证数据安全,结合硬件的可扩充性,设计人性化的软件。
二、系统组成
消费系统由硬件部分和软件部分组成。
硬件部分由计算机后台计算机,卡片读写器,手持POS机,卡片组成。
软件部分由卡片管理子系统、帐户充值子系统、库存管理子系统、查询统计子系统和手持POS机子系统共五部分组成。
2.1 卡片管理子系统
卡片管理子系统用来管理人员信息,管理卡片的唯一性,并使卡号与人员信息的一一对应,防止卡片异地使用。为充值,销售,统计打好基础。
2.1.1 初始化
新卡在第一次使用时,必须用读写器将卡初始化,写入系统信息的使用地点编号和名称,并始终不改写。这样避免和防止卡片的异地充值和消费使用。
2.1.2 发卡
发卡时,必须用读写器发卡,写入持卡人信息的持卡人编号和卡物理编号,持卡人姓名。这样保证卡的唯一性,同时也为充值和消费建立了关联索引。持卡人编号优先从退卡的卡号中获得。发卡后,将卡片状态改为已发卡状态。如果一张卡片为已发卡状态,将不允许再重新发卡,必须先退卡才可以重新发卡。这样为了避免连续重复发卡或卡仍在使用而覆盖的情况。
2.1.3 退卡
退卡时,必须用读写器读写卡,不修改卡中的系统信息。清空卡中的充值和消费信息,将卡片状态改为已发卡状态,这样可以重复使用卡片,退卡时将持卡人卡号保存到数据库中,再次发卡时,优先使用退卡的卡号,保证卡片的高度重复使用,易于管理和维护。
2.2 帐户充值子系统
帐户充值子系统用来向指定客户在后台预充值。预充值是指先在后台充值,手持POS机从后台下载信息,获得充值金额,手持POS机在消费时给客户真正充值。
2.2.1 后台预充值
管理人员根据客户需求,将客户要充值的帐户和金额,录入后台系统。后台系统在收到确认后,将充值金额预先充入指定帐户。充值时检测卡的持卡人编号、卡物理编号、持卡人姓名、充值最小金额和充值上限等信息。
2.2.2 手持POS机充值
手持POS机在销售前,需要和后台同步,其中同步包括充值信息。手持
POS机获得充值信息后,即获得了各个客户的单次充值金额。
2.2.3 卡片充值
手持POS机在销售前,需要和后台同步,其中同步包括充值信息。手持
POS机获得充值信息后,在接下来的消费过程中,在读卡时,根据卡中的持卡人卡号、卡物理号和持卡人姓名,将充值信息写入卡中的充值信息。
2.3 库存管理子系统
库存管理子系统用来管理商品基本数据,消费记录数据,与人员关联的充值数据。支持EXCEL导入的商品基本信息;根据不同操作员角色,支持更改商品单价,并生成日志。
2.3.1 基本商品数据导入
若系统第一次使用或使用中,基本商品信息若有变动(比如增加商品或减少商品),可通过EXCEL表导入数据。不如常用的基本商品数据,直接用EXCEL导入,避免了手动录入。
2.3.2 基本商品数据修改
系统使用中,如遇商品价格有变动,根据操作员不同,支持手动修改价格,并生成日志。支持删除商品。
2.3.3 商品库存信息下发
手持POS机使用前,从库存管理系统下发当前商品库存量,商品单价等信息,为陪送作好准备。
2.3.4 商品库存信息上传
手持POS机使用后,将销售记录上传给库存管理系统,系统根据记录,重新统计商品新的库存和销售情况。
2.4查询统计子系统
查询统计子系统用来查询商品库存基本数据,查询消费记录数据,查询人员关联的充值数据。支持EXCEL导入的商品基本信息;根据不同操作员角色,支持更改商品单价,并生成日志。
2.4.1 单项信息查询
MYSQL数据库将建立多种类型的表,比如商品信息表,人员表,消费记录表,库存表等等。根据想查询的需要,支持部分常用项的查询。
2.4.2 多项信息查询
有时需要查询多个信息,支持多个表关联才能查询。支持多项查询。
2.4.3 单项信息统计
系统运行一段时间后,要求对商品库存和销售趋势的分析,支持统计单个商品的信息。比如单个商品共销售多少,还有多少库存,平均每天的销量,这些都为库存提供了帮助。
2.4.4 时间段统计
系统运行一段时间后,要求对商品库存和销售趋势的分析,支持按时间段统计,比如当日共销售多少种商品,单次共销售多少种商品。
2.5 手持POS机子系统
手持POS机子系统用来从库存管理子系统获得商品信息和客户充值信息,通过识别卡物理介质,实现客户真正消费的过程,同时写入卡中充值和消费金额,在卡中扣款,生成消费记录,再上传给库存管理子系统,实现数据同步。
手持POS机有签到和签退两种状态。签到状态下,可以消费,机器不可以拿到异地使用,若要拿到异地使用,必须先签退。签退状态下,不可以消费,可以拿到异地使用。POS先进通讯界面,被动接收后台的指令并作出响应。
2.5.1 POS机特点
手持POS机采用摩托罗拉32位处理器,采用可擦除10万次的2M容量FLASH物理介质芯片存储数据,该FLASH物理介质芯片稳定性强,断电10年不丢数据;显示屏为128*64点阵式黑白屏,支持显示4行8列中文;采用1200毫安时锂电池,充电2-3小时,采用高速读卡模块,耗电低,连续读卡可持续10小时,连续待机可持续3天;采用串口有线通信;提供21个按键,其中两个侧按键,方便左右手习惯;适应温差大和光线不足,支持宽温和背光。
2.5.2 销售前签到
手持POS机消费使用前,必须到库存管理子系统签到,签到的目的有三方面:一方面是判断手持POS机是否是本地设备,写入设备的使用地点编号和名称,防止异地消费;一方面是将库存管理子系统、卡片管理子系统和帐户充值子系统中商品的信息和客户的充值信息同步到手持POS机内;另一方面是校正手持POS机时间,与系统实现时间同步,数据同步一般需几分钟。
2.5.3 销售合法性检查
手持POS机消费时,首先读取客户卡中的系统消息,判断是否是本系统
中使用的卡;其次读取卡中地点编号和地点名称,与手持POS机比较,判断是否是本地点使用的卡片,这样避免异地签到的POS机到本地消费,也避免了异地卡到本地消费;然后读取卡中持卡人卡号和物理卡号,在手持POS机里查找,看该卡是否在POS机里存在。合法性检查后,判断充值日期时间,将该客户的充值信息写入卡中。
2.5.4 销售过程
销售合法性检查后,进入销售过程。操作员根据客户要购买的商品,可以采用输入商品编号,或输入商品分类编号,逐步选择商品编号,再输入数量;对单个热销商品优先处理;可连续输入多个商品,可修改或取消已输入的数量,直至确认结束,显示本次销售商品总数量和总金额;提示写卡,确认写卡后,在卡中消费信息中钱包扣款,同时在卡中写入消费记录,再在手持POS机保存消费记录。
其中的消费信息中的消费日期和当天消费次数,能有效控制每个客户当天内的销售次数限制。同时根据手持POS机内的记录,可以实现当天内销售某种商品数量的限制。
2.5.5 销售后签退
手持POS机消费使用后,必须到库存管理子系统签退,签退的目的有三方面:一方面是判断手持POS机是否是本地设备,若不是本地设备,则退出,提示非本站设备,防止异地消费;一方面是将手持POS机中的销售记录同步到库存管理子系统、卡片管理子系统和帐户充值子系统中,利于数据查询和统计;一方面是清空设备的地点编号和地点名称,只有签退的设备才可以拿到异地去使用。
三、安全策略
3.1 数据库安全
数据库的操作,涉及到人员,商品,充值和库存等信息,是一切安全的重中之重,所以数据库的安全尤为重要。这里主要从数据表的关联、数据表修改、数据库备份和数据库还原几方面考虑。
3.1.1 数据表的关联
新卡在第一次使用时,必须用读写器将卡初始化,写入系统信息的使用地点编号和名称,并始终不改写。这样避免和防止卡片的异地充值和消费使用。
3.1.2 数据表的修改
数据的修改或删除对操作员增加权限,只有一定的权限才可以修改或删除
3.1.3 数据库的备份
数据库的备份可以采用定时自动备份和手动备份想结合的方式。采用增量备份或全备份的方式。定时自动备份是指通过参数设置,到达时间时,自动备份数据库内容到指定地点;手动备份只随时选定的备份。增量备份指只备份那些有变化的数据;全备份指备份整个数据库。数据备份时备份到不同目录的两个地方。
3.1.4 数据库的还原
数据库的还原指将备份的数据库文件恢复覆盖到原数据库。若从一处备份还原失败,再从另一处还原。
3.2 卡片安全
卡片采用逻辑加密卡,卡本身带有12位的密码安全机制。在卡片初始化时,再用3DES加密算法对卡片加密,实现一卡一密,这样,对卡片的安全保护,就是双层保护。
3.3 POS机安全
POS机的操作,涉及到销售和扣款等信息,关系到库存的变化和统计,因此数据也很重要。这里主要从POS机数据安全和POS机读写安全两方面考虑。
3.3.1 POS机数据安全
一方面POS机存储数据是将信息写入到可反复擦写10万次的DROM的物理芯片中,该芯片稳定性高,断电10年不丢数据;另一方面程序在保存销售记录时,会划分FLASH的两个不同区域保存相同的数据,避免一个地方数据损坏时造成的数据紊乱和丢失,程序检测DROM容量,提示及时上传。
3.3.2 POS机读写安全
POS机在读写卡时,充分考虑机器与卡的交互,作到反复轮寻,多次补写的过程。反复轮寻指的是在读卡操作过程中,寻卡失败后,反复寻卡,避免由于读卡过快而造成的读卡不完全的操作;多次补写指的是在写卡操作过程中,若写卡失败,反复写卡,避免由于写卡过快而造成的写卡不完全的操作。
四、系统报价
| 序号 |
设备名称 |
设备型号 |
单位 |
单价(元) |
| 1 |
手持POS机 |
MC2008-I |
台 |
|
| 2 |
射频读写器 |
MC9500 |
台 |
|
| 3 |
非接触射频卡 |
M1 |
张 |
|
| 4 |
系统软件(PC) |
MC |
套 |
|
| 5 |
系统软件(POS) |
MC |
套 |
|
| 6 |
合计 |
|
|