基于多事件并发与验证的智能卡结算管理系统
2014-09-26左凌轩魏亚坤谢晓青
左凌轩,魏亚坤,谢晓青,吴 平
(温州大学 物理与电子信息工程学院,浙江 温州 325000)
随着信息化的发展,自动化、智能化技术应用得越来越广泛。电子货币、智能卡等不断地应用于各领域,消费、考勤、交通等随处可见智能卡的踪迹[1]。
目前在我国关于智能卡应用最为广泛的还是收费方面,国内收费终端市场的发展史是一个漫长的过程,先后经过了磁卡、光电卡、条码卡、接触式IC卡直至非接触式IC卡的过程。目前,随着科技的进步,客户要求的不断提高,非接触式IC卡实时收费终端正逐渐融入人们的日常生活[2]。
但是目前智能卡在中小型贸易中应用较少,比如企业在与养殖户结算工资时依旧采取用纸笔记录的方式,这给结算人员带来了很多的不便,同时也容易出现差错。我国是淡水珍珠的生产大国,其产量占世界产量的95%,其中浙江省诸暨市是我国淡水珍珠养殖、加工和销售的最大基地,总产量占全国总产量一半以上,被誉为“中国珍珠之乡”[3]。珍珠业的繁荣发展,为中国珍珠养殖、深加工提供了机遇。但是,那里主要还是以个体农户进行养殖,中小型企业收购加工,成品后再进行销售为主,各方面管理以及工资结算等不够科学和规范。尤其在工资结算时容易出很多问题,多算、漏算、错算等,养殖户与加工企业之间常常为工资结算分歧而发生矛盾。
据调查:在珍珠收购的过程中,养殖户的工资是根据上交的珍珠的合格品重量来计价的。质检人员对养殖户上交的珍珠进行初步筛选和成色的鉴定,按照成色分批分捡出符合企业要求的珍珠,贴上养殖户名字的标签,再由专门的人员进行称量,贴上合格品重量的标签。完成这个过程,一个贴的是养殖户名字,再一个是合格品重量的标签。月末再根据养殖户所上交的合格品的总和来计算养殖户工资。此种方式仅适合交易数量较小的情况;数量一大,比较复杂的统计工作很容易出错。这对交易双方都是极其不利的。水晶交易结算时的情况与珍珠基本类似。
为此,本系统的研究和开发主要利用智能卡技术,针对于这种计件工资结算方式,建立对应的计算机系统和收购公司管理系统。着力于解决以上所提到的结算问题。
1 系统需求
1.1 总体需求
1)能够实时的对数据库进行更新和对成员数据进行身份效验。
2)具有人性化的查询管理平台。通过登录网上查询管理系统,成员能够查询到个人的信息、修改卡的密码、挂失、收支明细、查询原始交易等交易记录。在成员卡遗失的情况下,公司在录入时可以立即效验到持卡人的卡号是否已经挂失。
3)完善的成员管理系统。本系统具备了完善的成员管理功能。包括公司的设置,加盟成员的审核管理,成员管理等。同时兼备了企业总账报表和各成员明细账报表的查询、分析、打印、导出。
4)操作员权限以及安全登录所有操作系统通过硬件设备授权的管理,操作员需刷卡登录系统,没有授权的不能登录系统、查询信息、更改数据,包括系统管理员、系统操作员以及其他人员。
1.2 功能需求
对系统功能的简要描述
1)管理员系统:
①收购信息发布;② (单个/多个)成员添加,成员基本信息查看、编辑(修改、删除)和导出,成员业绩(日、月、年)查询与导出;③公司账目查询和导出,成员薪资汇总查询和导出;④成员挂失处理(挂失和结挂)、成员重新绑定;⑤查看和处理成员和游客的反馈信息;⑥发布公司基本介绍、公司管理团队信息、公司最近优惠政策、珍珠收购价格和办事流程。
2)成员系统:
①成员信息查看和修改,成员业绩(日、月、年)明细查询与导出;②成员意见反馈上报,查看管理员回复信息;③成员卡申请挂失,成员申请销户;④公司基本情况、最近优惠政策、珍珠价格和办事流程查看。
3)技术支持系统:
①串口调试硬件;②数据库报表生成;③数据库故障修复。4)访客系统:
①查看公司基本介绍、公司管理团队信息;②查看公司最近优惠政策、珍珠收购价格和办事流程;③查看留言板,并且可以给管理员发送意见或留言
1.3 性能需求
1)系统界面设计友好、操作方便、灵活;
2)具有高可靠性和容错能力,不允许系统在工作时间停机,不允许系统丢失智能卡相关信息,不允许在运行期间出现故障和错误;
3)易于维护和扩充;
4)具有保密机制,各级使用者只能看到允许查看的系统信息。
2 系统设计
2.1 系统数据库设计
软件设计基于用户需求、软件分析以及数据库系统结构,采用标准的项目管理方案,设计了专业的ER数据库模型,如图1所示。
图1 数据库ER图Fig.1 Database ER diagrams
数据库的事件处理实行分布式并行处理,在可并行处理的串行化事件中采取数据库封锁技术,在事件写时先封锁数据项,以达到避免数据修改冲突或者读取到“脏数据”的目的。在下列事件中需要并行触发:1)修改用户信息;2)添加用户;3)交易添加;4)留言与新闻编辑;5)薪金更改[4]。
触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活执行。在系统中,使用了如下智能方式的触发器:1)添加用户时触发薪金初始化清零状态;2)添加交易时触发薪金变化;3)工资结算事触发薪金变化。
2.2 系统总体结构
本系统软件总体结构如图2所示,能够使用此软件的主要身份为管理员、注册成员、技术人员及访客。
图2 总体结构图Fig.2 Overall structure
2.3 系统功能设计
数据流图(Data Flow Diagram)简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法[5],以管理员为例的流图结构如图3~图5所示。
1)顶层数据流图
图3 顶层数据流图Fig.3 Top-level data flow diagram
2)管理员第二层数据流图
图4 管理员第二层数据流图Fig.4 Administrator second layer data flow diagram
3)管理员第三层数据流图
图5 管理员第三层数据流图Fig.5 Administrator third layer data flow diagram
2.4 系统多线程设计
程序中可独立运行的程序片断叫做 “线程”(Thread),利用多线程处理,用户可同时启动数项程序任务,而程序也可以即时对用户输入做出响应,多线程可以大大提高有繁重任务时的程序响应能力。在为用户以及本身性能考虑的情况下,系统在数据事件并发时采用了多线程接受方式。
1)主程序主线程
2)不同身份登录系统时采取大致为5个线程的身份认证(受控于主线程)
3)串口蓝牙、WIFI方式传输数据时接收和发送线程
4)数据MD5算法加密认证
2.5 系统加密认证设计
MD5即Message-Digest Algorithm 5(消息摘要算法第五版)的简称,是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一[6]。本系统正是采用了MD5加密。主要应用在WIFI或蓝牙传输数据库时以及登录密码认证时。
3 结束语
在管理员系统的实现中,数据传输需要实现与硬件小时延系统协调,为了解决此类的问题,采取了自动串口号搜索与对应通讯,在相对智能的系统条件下转而向用户展示较为友好的UI和操作。此外,在添加成员与添加交易中,我们部分采取了多进程通信,使用户感受不到由硬件产生的延迟体验。最后,在交易的过程中我们使用数据库事件触发机制,保证了数据传输的正确性。
[1]曾正喜,王砾瑟.中国智能卡在交通和购物方面的应用分析[J].物联网技术,2012,2(4):41-44,47.
ZENG Zheng-xi,WANG Li-se.Analysis of the application of smart cards in transportation and shopping[J].Internet of Things Technologies,2012,2(4):41-44,47.
[2]安刚奇.基于DSP的非接触IC卡控制系统的设计[J].电子元器件应用,2012,14(7):1-3,13.
AN Gang-qi.Design of non-contact IC card control system based on DSP[J].Electronic Component&Device Application,2012,14(7):1-3,13.
[3]张莉,李世敏.中国珍珠产业技术创新研究[J].海洋科学,2008,32(4):19-23.
ZHANG Li,LI Shi-min.Research on technical innovation of China’s pearl industry[J].Marine Sciences,2008,32 (4):19-23.
[4]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2010.
[5]文静,顾勋梅.简化数据流图的功能点分析方法研究[J].计算机工程与应用, 2011,47(36) 86-90.
WEN Jing,GU Xun-mei.Research on FPA methods for simplified data flow diagrams[J].Computer Engineering and Applications,2011,47(36):86-90.
[6]齐兴斌,赵丽,张连华.基于C/S构架动态口令身份认证系统的设计与实现[J].电力学报,2013,28(1):66-68.
QI Xing-bin,ZHAO Li,ZHANG Lian-hua.Dynamic password identity authentication system design and implementation based on the C/S framework[J].Journal of Electric Power,2013,28(1):66-68.