1.GlobalTaskBuffer采用单例模式,保存了系统中所有的任务信息,根据任务类型的不同,构建了不同的任务队列。
2.GlobalDownSysBuffer采用单例模式,保存了所有下游系统的信息,每个DownSys对应一个当前任务CurTask,CurTask由监控程序调度分配,初始状态为NULL。
2.1 GetDownSys方法会根据IP和Port搜索对应的DownSys对象,若未找到,创建一个新的DownSys对象并加入到GlobalDownSysBuffer中;
2.2 Heartbeat方法会累加DownSys对象的HeartBeatCount,若HeartBeatCount的值超过设定的阈值,则系统认为该DownSys已离线,执行ClearDieDownSys方法做清理工作(若该DownSys对应的任务正在执行,则认为该任务已执行错误,重新分配)。HeartBeat方法由Control的HeartBeatTimerProc定时调用。
3.BaseHandler处理与上下游系统之间的交互
3.1 UpSysHandler接收并解析上游系统发送的计划xml,发送文件回执;接收任务上报命令,构建和发送任务执行状态回执。
3.2 DownSysHandler将任务分配给下游系统,接收和解析下游系统发送的任务状态信息,更新任务状态,维护<DownSys,Task>映射等。
4.Control类借助其他类,处理与上下游之间的交互。