二、存储格式转换
目前的邮储系统大多采用SCO Unix或Linux系统作为操作平台,相应的报表都是基于FILE STREAM格式,各邮储机构的前端操作人员都是通过业务软件的报表预览组件对各类报表进行查看及打印;建立邮储报表电子存储及分析系统的使用对象是后台管理人员,必须基于图文信息较强的Windows平台。因此,首要解决的问题是如何跨平台对电子报表进行存取并对其格式进行相应的转换。
通过仔细分析比较,笔者发现Windows平台下有一款内置的Web Browser组件,使用它可以很方便地对Unix平台下的FILE STREAM格式的文件进行直接提取等各类操作,此组件可进行灵活的扩展开发完成用户所需的各项功能,这也是微软Windows系统的Iexplor浏览器的核心I/O库组件,可以方便地实现跨平台的可视化数据分析.跨平台的转换思想主体是:使用Winsock方法通过Visual C++ 2005内置的ftp函数将Unix平台下的对应报表文件提取到本地指定的目录下,再使用Web Browser组件进行相应的存取操作。
1. 邮储统版软件前置报表文件格式
根据目前邮储统版软件的特点,各网点的机构节点信息存储在APP_PATH/print/目录下,各机构节点对应的报表文件存储在APP_PATH/print/机构号(如:340701001)目录下。根据各网点每日必须打印的报表,取出报表数据做出如下的格式分析:
以我局储蓄中心机构为例,机构代码为340701001.
交易日志登记簿文件名为:
tran_ej_3407010013408213011201.dat(为刚下载的纯数据文件)
tran_ej_3407010013408213011201.text.old(为打印预览后的报表文件格式)
通打储蓄分户账余额报告表文件名为:
rpt_acc_bal_0013407010011201.dat(为刚下载的纯数据文件)
rpt_acc_bal_0013407010011201.text.old(为打印预览后的报表文件格式)
经过分析比较发现前端软件生成的报表文件名称可按统一的规律格式抽象化提取,目前可分为如下两类:
文件名前缀+机构代码+四位日期+文件名后缀
文件名前缀+机构代码+柜员号+01+四位日期+文件名后缀
文件名前缀可抽象为各报表文件的名称头信息,如交易日志登记簿文件名前缀为tran_ej_,通打储蓄分户账余额报告表文件名前缀为rpt_acc_bal_001, 开销户登记簿文件名前缀为op_cls_001等等;机构代码为各网点的机构节点代码;四位日期格式为[月日]格式,如12月1日为1201;文件名后缀为.dat或.text.old.对于.dat格式的文件是刚下载的纯数据格式,而.text.old则为邮储前端软件从.dat格式转换而成的可从打印机输出的报表文件格式.
基于以上的分析,建立报表名称信息表,数据库表设计如图1所示。
图1 报表名称信息表
|