- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中国移动电子充值批发打印系统客户端设计
阿辽沙叶,孙文生
北京邮电大学电信工程学院,北京( 100876)
E-mail: aliaoshaye@ swsmail@163.com
摘 要:本文首先简要介绍了进行中国移动电子充值批发打印系统客户端设计的背景,明确了这 次系统客户端设计的设计任务、设计内容和设计目的。随后简要介绍了进行系统客户端设计的开 发环境,讨论了本次设计需要实现的功能,给出了在 C++Builder环境下利用SQL Server数据库
具体实现的方法,并简要进行了总结。
关键词:电子充值、 C++Builder、SQL Server
引言
随着中国通信行业的迅猛发展、通信需求的不断提高,用户在移动通信上进行的开销呈现一 个持续强劲增长的态势。在这种形势下,通信付费与充值环节的地位变得愈发重要。充值卡充值 作为其中一种充值手段,由于存在占用库存、需要运输等问题,逐渐暴露出其带来的各种不便。 相比之下,若采用电子充值券充值这种充值手段,就可避免库存、运输等问题的介入,而是以电 子加密数据的形式由服务端传送至客户端并存入数据库,便于管理,并可随时进行打印输出。基 于这种构想,电子充值批发打印系统的开发便成为了这次设计的主题。若采用这种电子充值批发 打印系统的客户端来执行打印输出任务, 则需要每一个客户端在一日内有能力打印数以百万计的
电子充值券,这便要求客户端的电子充值批发打印系统能够便捷高效地执行任务。此次设计选用 C++Builder6.0编写代码。考虑到ACCESS数据库在处理大量数据时会发生速度下降的情况,在此 次设计中决定使用SQL Server数据库[1]。在数据加解密方面则考虑使用 3DES与MD5方法。
功能设计
在这项设计中,主要是要完成中国移动电子充值券的批发打印功能。以此为目标,则需要构 建电子充值券的导入、管理与导出功能。
2.1导入功能
电子充值券的导入是通过对数据文件的读写操作来实现的。当数据文件传输到本地目录以 后,通过对数据文件的数据导入操作来进行文件的读取与改写,保证对每条数据文件进行唯一一 次的导入操作。每条数据文件包含数据头和数据体,每一项之间用逗号(半角)相间隔。具体分
为:
数据头:
版本
三位
因版本为1.0,所以固定为010
数量
十二位
考虑到可能一次发送大量数据,所以定为十二位
面值
三位
面值的种类很固定,考虑到最高三位,便定为三位
起始号
十八位
其中十七位存入数据库,最后一位以空格填充
终止号十八位
问样是十七位存入数据库,最后一位以空格填充
截止日期十位
格式是“年-月-日”
标志位 三位
数据体:
未读时标志位为 000,已读时标志位为 111
序列号十八位
与起始号终止号相问,十七位存入数据库,最后一位是空格
密文 二十四位 进行加密的是电子充值券的密码。密码加密前本来为十八位,用空格 填充到了二十四位进行 3DES加密。在客户端进行 3DES解密后得到十八位数据加六位空格,再
将十八位数据输入数据库
在数据导入操作中,首先要选择数据文件,并对其数据头进行检测。若是可识别的数据头, 并且可以进行导入操作的话,便允许系统接受用户发来的数据导入请求。在数据导入过程中,将 标志位设为已读,之后循环执行电子充值券序列号以及充值密码的导入。充值密码的导入分为两 个部分,一是对于二十四位密文的 3DES解密操作,二是将解密后的充值密码取十八位导入数据
库。
2.2管理功能
电子充值券的管理主要涉及 C++Builder对SQL Server数据库的操作。因为具体的管理行为包 括了对于电子充值券数据本身的管理、 对于电子充值券操作行为 (其中包括数据打印、 数据重印、
数据导入、数据恢复等)的管理、对于库存总表与库存分表的管理、对于用户(即数据操作者) 的管理、以及对于数据导出相关设置的管理。在 SQL Server数据库中用一张数据表来对应一种管
理分类[2],最终构建了七张数据表,分别是:
Account对应用户的用户名、用户密码、用户权限和是否禁用
Data 对应电子充值券的充值卡号、充值密码、充值面值、充值有效期、充值截至日期、
充值地区、导入日期、导出日期、数据状态、导出次数、导出设备编号
hData 对应电子充值券的操作编号、操作行为、操作数量、充值面值、电子充值券起
始卡号、电子充值券终止卡号、操作日期、操作用户
Kucun 对应电子充值券总库存中按面值的分类以及各类数据的总库存数量
Note 对应经销商设置中的商户名、热线电话、导出流水号以及终端号
pKucun 对应电子充值券分库存中按导出设备编号的分类以及各类数据的面值和分库
存数量
PrintPos对应数据各项导出具体位置的编号、横向偏移量、纵向偏移量、备忘和是否有效
对于电子充值券数据的
文档评论(0)