【技术实现步骤摘要】
一种基于特性数据模型的数据配置方法
[0001]本专利技术涉及数据处理
,更具体地说涉及一种基于特性数据模型的数据配置方法,实现数据装载、数据检查和数据输出。
技术介绍
[0002]当前轨道交通行业,很多实时的监控调度系统在运行,其有很多数据需要事先完成相关配置,这些配置数据的完成一般是通过数据配置工具进行完成的。数据配置工具的处理过程如下(参见说明书附图1):根据提供的输入数据接口文件,利用语言提供的数据流API读取特定的接口文件,然后根据自己的开发习惯定义特定的数据结构,装载接口文件数据到内存数据结构中,并对数据正确性进行相关防御性检查,检查通过后根据自身数据规则处理数据得到中间数据,再定义输出文件对应的数据结构,调用相关文件输出流API生成文件。
[0003]现有的数据配置工具逻辑功能处理因人而异、后续维护人员开发成本高,工作任务性质重复繁琐,效率低,不能及时的完成数据处理工具的开发工作。
技术实现思路
[0004]为了克服上述现有技术中存在的缺陷和不足,本专利技术提供了一种基于特性数据模型的数据配置方法,本专利技术的专利技术目的在于解决现有的数据配置工具逻辑功能处理因人而异、后续维护人员开发成本高,工作任务性质重复繁琐,效率低,不能及时的完成数据处理工具的开发工作的问题。本专利技术针对当前数据配置工作存在的问题,提出了一种基于特性数据模型的数据配置方法,将指定格式输入文件输入到模型生成模块中,模型生成模块调用MetaFlySerializeClassGenerator可执行文件生 ...
【技术保护点】
【技术特征摘要】
1.一种基于特性数据模型的数据配置方法,其特征在于,该方法包括以下步骤:S1、将指定格式的输入文件输入到数据配置工具中;S2、数据配置工具中的模型生成模块接收到输入文件后,调用MetaFlySerializeClassGenerator可执行文件生成与输入文件对应的注入有特性attribute的模型文件;S3、数据配置工具中的数据检查模块接收到输入文件和模型生成模块生成的模型文件,通过注入在模型文件上的自定义检查特性实现数据装载模块前的数据检查;S4、数据配置工具中的数据装载模块接收经数据检查模块检查通过的输入文件和模型文件,调用FileLoader.Load接口实现数据装载,然后根据数据自身规则生成中间数据,在数据输出模块构造注入有Serialization相关特性的数据模型,调用FileSerializer.Serialize输出指定格式的输出文件。2.如权利要求1所述的一种基于特性数据模型的数据配置方法,其特征在于:模型生成模块获取到输入文件后,判断输入文件的文件类型,然后根据文件类型判断该输入文件的节点类型,根据节点类型判断结果,得到其节点数据结构,在其对应元素上注入对应特性信息,然后组装数据结构,输出生成对应CS模型文件。3.如权利要求1所述的一种基于特性数据模型的数据配置方法,其特征在于:数据检查模块对输入文件和模型文件的数据检查是在Load接口中完成的,通过利用反射装载对应输入文件,根据自身模型定义的继承自PropertyTaskAttribute任务特性的目标元素,对对应节点数据进行检查,并自定义检查逻辑,检查通过后Load装载数据生成Model实体数据。4.如权利要求1所述的一种基于特性数据模型的数据配置方法,其特征在于:所述数据装载模块,通过在模型文件根节点上注入MappingFile特性,反射获取注入在模型类Type类型上的特性信息,获取输入文件信息;执行FileLoader.Load<T>()方法,反射获取T泛型类型信息,将输入文件对应节点同名的节点数据装载纸模型类型数据节点上,完成对应输入文件的装载。5.如权利要求1所述的一种基于特性数据模型的数据配置方法,其特征在于:根据实际想要输出的文件类型以及文件信息,构造可配置化的输出模型。6.如权利要求5所述的一种基于特性数据模型的数据配置方法,其特征在于:具体处理过程为,通过注入在输出模型根节点上得SerializeFile特性,获取输出文件类型以及文件名称;根据文件类型,执行GetFileSerializerImp方法,利用工厂模式,获取对应类型文件的序列化器;根据多态性,执行各自的Serialize方法,完成对应文件的序列化输出。7.如权利要求1
‑
6任意一项所述的一种基于特性数据模型的数据配置方法,其特征在于:S1步骤中指定格式的输入文件包括ini格式输入文件、par格式输入文件、csv格式输入文件和xml格式输入文件。8.如权利要求7所述的一种基于特性数据模型的数据配置方法,其特征在于:在模型生成模块中,当输入文件为ini格式时,会构造出IniClassBuilder实例,然后执行其Load方法装载输入文件模型,ini文件具有根注释节点、章节点、setion节点、普通注释节点和键值对节点,其总结为两大类:叶子节点跟非叶子节点;在其对应元素上分别注
CommentAttribute、ChapterAttribute、SetionAttribute、ParameterElementAttribute,通过这些节点信息去标识一个ini文件,组装ini文件的数据结构,然后输出生成CS模型文件。9.如权利要求7所述的...
【专利技术属性】
技术研发人员:李能为,陈进,晏伟,辛春辉,万娇,黄鹏,唐武梅,向飞,
申请(专利权)人:卡斯柯信号成都有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。