Esempio n. 1
0
        /// <summary>
        /// 执行数据提取
        /// </summary>
        private async Task DoDataExtract()
        {
            /*
             * APP数据提取流程:
             * 1.根据设备类型和提取方式获取该APP的所有插件
             * 2.通过数据泵服务获取SourceFileItems
             * 3.通过特征匹配和版本匹配确定要执行的插件版本
             * 4.执行插件
             * 5.获取解析结果
             *
             * */

            var items = PluginAdapter.MatchPluginByPump(SourcePump, ExtractItems);

            switch (WorkMode)
            {
            case EnumDataExtractWorkMode.HalfAsync:
                await DoHalfAsyncDataExtract(items);

                break;

            default:
                throw new NotImplementedException();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 执行数据提取
        /// </summary>
        private void ExtractData()
        {
            /*
             * APP数据提取流程:
             * 1.根据设备类型和提取方式获取该APP的所有插件
             * 2.通过数据泵服务获取SourceFileItems
             * 3.通过特征匹配和版本匹配确定要执行的插件版本
             * 4.执行插件
             * 5.获取解析结果
             *
             * */

            var items = _pluginAdapter.MatchPluginByPump(DataPump.Metadata, _extractItems);

            ExtractData(items);
        }