/** * 保存第一步结果信息 * */ #ifndef SAVESTEPONERESULTENGINE_H #define SAVESTEPONERESULTENGINE_H #include "AppCommon.h" #include "MyYaml.h" #include "myutils.h" #include "EngineBase.h" #include "EngineFactory.h" #include "json/json.h" class SaveStepOneResultEngine : public ai_matrix::EngineBase { public: SaveStepOneResultEngine(); ~SaveStepOneResultEngine(); APP_ERROR Init() override; APP_ERROR DeInit() override; APP_ERROR Process() override; private: void InitParam(); void DealTrainSpaceInfo(std::shared_ptr pProcessData, Json::Value &jvStep1Space); void DealCenterSpace(std::vector &vecParationInfo, std::shared_ptr pProcessData); void MakeParationInfo(PartionInfo ¶tionInfo, std::shared_ptr pProcessData, Json::Value &jvStep1Space); void SplitTrainByNumPro(std::shared_ptr &pPartionInfo, std::shared_ptr &pProcessData); std::string strPort0_; std::string strPort1_; std::string strResultPath_; int iSplitSpan_; int iSplitSpanPX_; ai_matrix::DataSourceConfig dataSourceConfig_; uint32_t iPushSpaceFrameId_; uint64_t i64TimeStampFirst_; std::vector vecParationInfo_; bool bPushIsEnd_; int iDirection_; //方向 PartionInfo parationInfoLast_; bool bDealCenterFlag_; std::map mapInvokeModelCnt_; //调用模型个数,即第一步该数据源调用了几个模型。 std::map mapNumCenterInfo_; std::map mapProCenterInfo_; bool bHaveHeadFlag_; CalculateInfo headInfo_; }; ENGINE_REGIST(SaveStepOneResultEngine) #endif