从整个数据流的处理过程看,在关机的过程中,需要处理以下几个步骤,首先是网络传输过程中的数据需要处理,将已接收到网络缓存中的数据,向后级的数据处理和索引处理模块进行传递,该发回网络的数据发回到网络,此时就可以对网络模块进行关闭。
数据处理模块中的缓存数据需要建立索引和形成PAGE,形成PAGE后就可以进行写盘操作。形成索引后,也需要进行写盘操作。缓存的数据只保存相对热点数据,进行写盘操作,可以丢弃部分缓存数据。缓存数据的主要作用是为了读操作使用的,写操作的数据缓存都是尽量按系统最大处理能力进行处理后写盘操作,对应LOG的数据处理比较简单,就是将所有的数据都写入盘中。索引页的处理需要从树的高层往下层逐级进行处理,处理的过程是触发一级处理,然后等待处理结果,处理完成后,设置本机处理完成标记,系统定时检查处理结果的标记,发现完成标记后,再触发下一级处理,处理过程是同样的方式。在进行数据写盘的过程中,都需要建立CHECKPOINT的处理,关机的过程也是一样。
为了性能和容量的问题,可以对数据进行压缩,比如对HOTKEY的数据进行压缩处理,处理后的数据进行写盘,可以减少写入的时间,开机过程中读的时间也会减少,此处需要进行一个平衡,数据量的多少,压缩和弹开数据花费的时间,IO的时间,一般都是设计成可以进行配置的方式。需要在系统运行过程中来进行调优处理。
数据都处理完成后,需要对各个模块进行内存回收,释放,模块卸载处理,写操作LOG,完成后程序退出。