摘要: |
在轨道交通清分系统中,如何对清分过程中的海量交易数据进行有效处理是一个难题,其关键的问题是I/O负载问题.为此,本文提出了内存优化的处理方式,其技术思路是通过内存暂存原始交易数据和清分结果数据,并在内存中保存所有数据的统计信息,从而减少系统的I/O负载,加快处理速度.为了实现内存优化处理,本文设计并实现了一种内存桶模型.该模型为每一家参与清分的运营公司在内存中开辟一个内存桶,把每一笔原始交易数据的清分结果数据先存放到对应公司的内存桶中,在达到指定数量之后一次性写入数据表.模型中采用多个子进程实现各个功能模块,使用UNIX/Linux操作系统进程间通信的共享内存和信号量机制协调各个子进程对内存桶的访问,使用Oracle Pro*C/C++在程序中实现嵌入式SQL,完成对数据库的操作.采用内存优化以后,由于部分清分结果数据在内存中,而另一部分数据已写入数据库.一旦系统崩溃,将会发生数据不一致的现象,因此需要采用一定的恢复策略对系统进行恢复,否则内存优化处理方式无法实际应用.由于目前清分系统中使用的灾难恢复策略尚不能很好地满足需求,本文提出了一种快速恢复策略,实现了数据的快速自动恢复.使用快速恢复策略能有效地减少恢复的工作量,从而缩短了系统恢复所需要的时间. |