- 靶期业务及框架基本处理流程
整体来看,靶期业务业务处理流程可分为三个环节:
前处理(Job前处理)->主处理(主要业务)->后处理(Job后处理)。
其中,前处理可能是取得靶期日付或者一些执行主处理前的准备工作,后处理主要是靶期执行结果履历更新等。
注:实际中的靶期业务处理可能只包含以上的部分环节
框架的具体执行处理流程如下图所示:
Fig.1 靶期业务执行流程图
描述:
整个流程由JobExecutor组件启动,然后调用JobManager组件的work方法,JobManager类是整个业务处理的核心类,靶期业务的前处理、主处理、后处理都在其work方法中完成。图中所示为主处理的执行过程,前处理和后处理均由JobManager类绑定的StandardSupportProcessor类实例调用具体的SupportLogic实现类(由用户开发)完成。主处理过程首先调用WorkQueueFactory的getWorkQueue方法生成一个指定长度的队列(Queue),然后调用一个Collector从DB或文件中取得原始数据,在取得数据过程中,Collector实现类会调用一个CollectedDataHandler接口的实现类实例(具体来说就是Chunker类)将原始数据按照一定大小(ChunkSize)对原始数据进行分组(Chunk),然后把这些分组的Chunk放到之前生成的队列里。最后,值得一提的是,这里为了表述更加方便清晰,并没有严格遵照程序实际的执行流程。实际上,在JobManager类调用WorkQueueFactory的实现类(StandardWorkQueueFactory)实例生成Chunk队列的时候,会同时提交生成指定个数(multiplicity)的队列处理线程(QueueProcessor),这些处理线程将从队列里逐个取出(