MIS-POS系统系统详细设计.doc

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MIS-POS系统系统详细设计.doc

MIS-POS系统V4.0系统详细设计 服务端系统设计 操作系统选型 操作系统:RedHat AS4.0 数据库:Oracle XE(4G数据库、1CPU、2G内存) 系统模块划分 系统模块划分及相互关系如下图所示: 系统主要包括接入管理进程(umsCliSrvX--X为编号,根据不同接口而定,4.0系统标准接口为0)、业务处理进程(umsMainSrv)、输出处理进程(umsExtSrvX—X为编号,代表不同的外部转接系统,银联接口为0)以及加密进程(umsPinSrv)。 输入管理进程负责接收来自收银终端的各类请求,是系统的业务发起端。来自收银端的交易分为两类,一类是业务类交易,输入管理进程负责解析报文,并将其转换为系统内部接口,将其转至业务处理进程进行具体的处理,并等待应答(同步通讯);另一类是管理类交易,由输入管理进程直接处理(如自动查错交易等)。 业务处理进程负责接受来自输入管理进程的任务,并根据不同的业务进行处理,包括具体的业务逻辑处理以及数据库操作等;当业务逻辑需要将交易发往银联或其它第三方外部机构进行处理时,该进程将通过内部接口将任务转至输出处理进程,并等待输出处理进程的应答(同步通讯)。 输出处理进程负责将内部通讯接口转换为外部标准接口,并按照外部系统的标准与协议规范将交易发往外部系统,完成相应的业务功能。 加密进程负责操作具体的加密设备,为上层应用逻辑提供必须的加密指令集,与外部通过消息队列或其它形式通讯(视加密机的类型而定)。 模块详细设计 输入管理进程设计 输入管理进程的处理流程如下图所示: 对于业务类交易,本进程仅负责接口转换及转发,无具体业务逻辑;对于管理类交易,由本进程直接处理,主要包括以下管理类交易: 自动查错交易: 前台系统提供自我诊断功能,其中一部分是检测服务端系统的状态及与外部系统的网络状态等,自动查错交易即用来诊断以上问题,具体业务流程如下图所示: Step1:检测umsCliSrv。如建立连接,直接返回A0即可。 Step2:检测umsMainSrv。向该进程发测试交易,返回测试结果。 Step3:检测umsPinSrv及密钥设置情况。调用加密库,利用指定的WorkKey及密钥索引做加密运算, … … 业务处理进程设计 输出处理进程设计 模块间交互控制 输出处理进程与外部系统一般采用TCP通讯,超时时间50秒。 业务处理进程与输出处理进程之间采用本地Socket方式通讯,超时时间53秒。 输入管理进程与业务处理进程之间采用本地Socket方式通讯,超时时间56秒。 前台系统与输入管理进程之间采用TCP通讯,超时时间60秒。 任何进程产生超时都将向上一级系统(进程)返回内部返回码E00 只有前台系统与业务处理进程能够发起冲正。业务处理进程在遇到接收应答超时、收到内部返回码E00时,将直接发起冲正,并返回内部返回码E00;当前台系统遇到接收应答超时或交易成功但后续操作失败(如打印签购单失败)时,将发起冲正交易,前台系统收到E00不需再发起冲正。 接口定义 前台接口定义 收银端接口报文由【报文长度+报文头+报文体+MAC】的结构构成。 【报文长度】为两个字节的网络字节序整数,具体定义如下: #define u_int16 unsigned short u_int16 iPackLen; 【报文头】采用结构体定义的定长格式,报文头为每个交易所必须的公共部分,具体定义如下: typedef struct tagTUMS_CLIENT_PKGHEAD { char saVersion[2 + 1]; //主版本号1byte+副版本号1byte,如10 char saTransCode[4 + 1];//交易代码(功能号) char saCrypt[2 + 1]; //加密方式1byte,0-不加密,1-DES,2-3DES,其它保留 char saOperNo[20 + 1];//收银员编号 char saMchtCode[20 + 1];//商户编号(系统内部编号,可以与银联的商户代码一致,也可自行分配,通过商户编号与收银台号对应一个机台,并在服务器端根据不同的应用映射真实的商户代码与终端号,如银联应用、储值卡应用等) char saCounterNo[10 + 1]; //收银台号(前台统一设置收银台号,由后台自动映射终端编号) char saSerial[20 + 1];//标识该笔交易的序列号,应答报文应原样返回,格式” YYYYMMDDHHMISS”,序列号+商户编号+终端号唯一标识一笔交易,后台应做校验,目前暂定14位,后补‘\0’ char saRecNum[4 + 1];//记录条数(报文体中含有多条信息时适用,一般报文填‘0001’) char saNex

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档