系统定时从服务器上获取数据 在MICAPS主机上进行格式转换 在本地硬盘上按文件存放这些数据,形成一个按文件管理的本地数据库 在日常运行中,系统从本地数据库中获取数据 向服务器或其它系统发送产品数据 服务器或其它系统主动从本地数据库中调取产品数据 3.2 物理结构设计
bindatatrannationalxmliniLinuxdatatranloglocalxml
(图三)
其中bin存放windows下的可执行程序;datatran存放windows下的后处理程序;nationalxml存放CMACAST相关的数据描述文件;localxml存放本地数据的描述文件;ini存放系统配置文件;Linuxdatatran存放linux平台下后的处理程序;log存放数据服务器产生的日志文件。 3.3设计结构的改进
3.3.1 面向对象设计和实现,实现跨平台
2.0版本采用C与Fortran语言作为主要开发语言,这种面向过程
的语言在软件工程中被认为存在大量的问题,如不易于维护等。因此3.0版本采用C++作为主要开发语言,并且遵循C++的国际标准,这样不仅实现了面向对象的结构,并且做到了跨平台,从而达到一套代码,多平台执行的效果。
3.3.2 多线程,数据处理的吞吐量大
2.0版本采用的是单进程执行结构,要获取的文件和对应的后处理
程序都顺序执行,必然导致数据的处理速度慢,吞吐量小,并且在任务执行的任何一步出现问题,都会导致该进程退出或者停止,从而中断所有数据的处理,易于发生丢失数据的情况。3.0版本采用多线程结构,增加了吞吐量,即使其中的一个处理线程出现了故障,也不影响其它线程的工作,程序的稳定性提高。
3.3.3 数据管理更规范
2.0版本将程序的执行文件,配置文件,原始数据文件都存放在一
个目录,同时产生了大量的中间文件,给系统管理员在使用和维护时造成了混乱。3.0版本可以根据用户设置的目录来存放原始数据,原始数据的备份、产品、产品备份。并且将主程序,配置文件,后处理程序都分开存放,这样便于了数据管理员的管理和维护。
四 Micaps数据服务器本地化 4.1 修改已有数据类型的属性
在MICAPS数据服务器设计,开发、测试过程中,我们都参考和
使用实际的CMACAST环境,尽量做到反映CMACAST实际运行环境,但可能由于数据通信方面问题,CMACAST数据到各个地方的时间不一样,导致出现不同的延迟,因此有可能需要修改各个已有数据描述文件中的加载时间、加载失败后重试的间隔,最终认为加载失败的时长,具体修改请参考《Micaps数据服务器配套管理工具使用说明.doc》。
根据数据类型的描述文件,MICAPS数据服务器将下载后的原始
数据放在相应目录下,不推荐管理员修改原始数据存放的目录,但当由于某些原因必须修改时,管理员可以通过系统提供的配置工具来修改数据类型描述文件中的数据加载处的目录项,具体修改请参考《Micaps数据服务器配套管理工具使用说明.doc》。在修改数据类型
的相关属性后,需要重启MicapsDataSchedule.exe,才能将改动反映到主程序中。
4.2 修改后处理程序的配置参数
数据服务器从CMACAST下载到原始数据后,需要经过后处理才
能产生实际的产品,因此管理员可以通过修改后处理程序的配置参数来控制产品的数量,大小,具体操作请参见后续“已有数据转化程序的说明”章节。对后处理程序相关的配置参数进行的修改,不需要重启MicapsDataSchedule.exe,就可以反映在下一次数据的后处理中。 4.3 编写xml文件来获取新的数据类型
对于一类新的数据,需要写一个新的数据描述文件,以便能接入
到本系统中,尽管不要求管理员深刻理解xml文件的结构,以及手动书写一个描述新数据的xml文件,但对xml各个元素的理解有助于写出一个符合实际的数据类型描述文件。
下述为一个xml的模板,以及对xml各个元素的说明:
< machine >数据源服务器的名称
< manager >负责数据源服务器维护的人员
< directory >数据源的数据在服务器的那个目录下