配置文件的动态处理方法与流程
本发明涉及计算机数据处理,具体涉及一种配置文件的动态处理方法、装置、计算机设备、存储介质及轨道交通上位机控制系统。
背景技术:
1、在复杂的工业控制及人机交互系统中,上位机软件的运行高度依赖xml等格式的配置文件。现有技术中,配置文件的生成通常采用固定模板填充数据的方式。然而,随着设备功能模块的多样化及软件版本的快速迭代,这种静态生成方式暴露出显著缺陷:一方面,通用模板往往包含大量针对特定版本或功能的冗余节点,导致低配或旧版设备在加载配置时解析负载过高,甚至因识别无效节点而引发运行异常;另一方面,当软件版本升级或业务变更时,缺乏基于结构化数据的差异比对机制,通常需要人工重新全量编写或修改配置文件,不仅效率低下,且极易因手动操作引入格式错误或参数丢失,难以满足规模化部署与高频迭代的需求。因此,亟需一种能够根据设备能力动态适配配置结构并支持高效增量更新的配置文件处理方案。
技术实现思路
1、针对现有技术存在的配置文件生成适配性差及版本升级维护成本高的问题,本申请通过配置文件的动态处理方法、装置、计算机设备、存储介质及轨道交通上位机控制系统,实现基于语法树的配置轻量化生成与增量更新。
2、为实现上述目的,本发明采用如下技术方案:
3、一种配置文件的动态处理方法,包括:获取xml模板,并基于所述xml模板构建模板语法树;获取目标设备的能力特征,并基于所述能力特征对所述模板语法树进行节点裁剪,得到目标语法树;在初始配置场景下,基于所述目标语法树和获取的配置数据,生成所述目标设备的初始xml配置文件;在配置更新场景下,基于所述目标语法树对目标设备原有xml配置文件与更新配置数据进行语法树差异比对,提取变更节点,并将所述变更节点增量合入至所述目标设备原有xml配置文件中,得到更新xml配置文件。
4、作为优选,所述基于所述能力特征对所述模板语法树进行节点裁剪,得到目标语法树,包括:识别所述模板语法树中的逻辑控制节点;基于所述能力特征评估所述逻辑控制节点的执行条件;剔除不满足所述执行条件的所述逻辑控制节点及其关联子树,得到所述目标语法树。
5、作为优选,所述逻辑控制节点包括条件判断节点和循环节点;所述基于所述能力特征评估所述逻辑控制节点的执行条件,包括:针对所述条件判断节点,提取所述能力特征中的目标参数值,将所述目标参数值与所述条件判断节点的各分支条件表达式进行匹配,将满足所述分支条件表达式的分支确定为目标分支;针对所述循环节点,获取所述能力特征中与所述循环节点关联的列表数据,将所述列表数据的数据长度确定为循环次数;所述剔除不满足所述执行条件的所述逻辑控制节点及其关联子树,包括:保留所述目标分支对应的子树,并剔除所述条件判断节点中非目标分支对应的子树;当所述循环次数为零时,剔除所述循环节点及其包含的所有循环体子树。
6、作为优选,所述基于所述目标语法树对目标设备原有xml配置文件与更新配置数据进行语法树差异比对,提取变更节点,并将所述变更节点增量合入至所述目标设备原有xml配置文件中,包括:将所述目标设备原有xml配置文件解析为源语法树,并基于所述更新配置数据和所述目标语法树生成更新语法树;对比所述源语法树与所述更新语法树的节点路径和属性值,识别新增节点、删除节点和修改节点;基于节点间的依赖关系确定所述新增节点、所述删除节点和所述修改节点的合入顺序;按照所述合入顺序,在所述源语法树中执行节点写入、移除和属性更新操作。
7、作为优选,在所述按照所述合入顺序,在所述源语法树中执行节点写入、移除和属性更新操作之后,所述方法还包括:对执行操作后的所述源语法树进行结构优化,所述结构优化包括:遍历执行操作后的所述源语法树,针对每个节点检查其起始标签与闭合标签是否匹配,若缺失闭合标签则基于预设语法规则自动补全;识别不存在子节点且不存在属性值的空节点,将所述空节点从所述源语法树中移除;基于节点在所述源语法树中的层级深度,为每个节点分配对应的缩进空格数,以规范节点缩进格式;对结构优化后的所述源语法树进行格式校验,所述格式校验包括校验序列化后的文件是否满足预设语法规范以及所述目标设备的配置加载规范,若校验通过,则将所述源语法树序列化为所述更新xml配置文件。
8、作为优选,所述配置数据来源于结构化表格文件;所述目标设备为轨道交通上位机,所述能力特征包括上位机版本号、支持的功能模块类型以及通信协议类型中的至少一种。
9、此外,本发明还提供了一种配置文件的动态处理装置,适用于如上述方案所述的配置文件的动态处理方法,包括:模板解析模块,用于获取xml模板,并基于所述xml模板构建模板语法树;语法树裁剪模块,用于获取目标设备的能力特征,并基于所述能力特征对所述模板语法树进行节点裁剪,得到目标语法树;xml生成模块,用于在初始配置场景下,基于所述目标语法树和获取的配置数据,生成所述目标设备的初始xml配置文件;增量合入模块,用于在配置更新场景下,基于所述目标语法树对目标设备原有xml配置文件与更新配置数据进行语法树差异比对,提取变更节点,并将所述变更节点增量合入至所述目标设备原有xml配置文件中,得到更新xml配置文件。
10、此外,本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上述方案所述的配置文件的动态处理方法。
11、此外,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述方案所述的配置文件的动态处理方法。
12、此外,本发明还提供了一种轨道交通上位机控制系统,包括上位机本体以及如上述方案所述的配置文件的动态处理装置,所述配置文件的动态处理装置配置为生成或更新所述上位机本体运行所需的xml配置文件。
13、有益效果:
14、本发明通过将xml模板解析为语法树并结合目标设备的能力特征进行节点裁剪,能够在配置文件生成阶段即从底层数据结构上剔除与当前设备不匹配的逻辑分支及冗余子树,从而生成轻量化的目标语法树。相较于传统的固定模板填充方式,该机制使得生成的配置文件仅包含设备实际运行所需的有效节点,从根本上降低了上位机解析配置时的计算负载与内存占用,同时避免了因无效节点引发的解析错误,提升了多版本设备的适配性与运行稳定性。
15、进一步地,本发明在配置更新场景下,基于语法树结构对原有配置与更新数据进行差异比对,并依据节点依赖关系确定合入顺序执行增量更新。该机制改变了传统全量重写或人工手动修改的模式,确保了在软件版本升级或业务变更时,仅需精准合并变更节点即可保留原有有效配置,既避免了全量重构带来的数据丢失风险与人工误差,又大幅缩短了配置文件的维护周期,满足了复杂系统高频迭代与规模化部署的需求。
1.一种配置文件的动态处理方法,其特征在于,包括:
2.根据权利要求1所述的配置文件的动态处理方法,其特征在于,所述基于所述能力特征对所述模板语法树进行节点裁剪,得到目标语法树,包括:
3.根据权利要求2所述的配置文件的动态处理方法,其特征在于,所述逻辑控制节点包括条件判断节点和循环节点;
4.根据权利要求1所述的配置文件的动态处理方法,其特征在于,所述基于所述目标语法树对目标设备原有xml配置文件与更新配置数据进行语法树差异比对,提取变更节点,并将所述变更节点增量合入至所述目标设备原有xml配置文件中,包括:
5.根据权利要求4所述的配置文件的动态处理方法,其特征在于,在所述按照所述合入顺序,在所述源语法树中执行节点写入、移除和属性更新操作之后,所述方法还包括:
6.根据权利要求1所述的配置文件的动态处理方法,其特征在于,所述配置数据来源于结构化表格文件;
7.一种配置文件的动态处理装置,适用于如权利要求1-6中任一项所述的配置文件的动态处理方法,其特征在于,包括:
8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的配置文件的动态处理方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的配置文件的动态处理方法。
10.一种轨道交通上位机控制系统,其特征在于,包括上位机本体以及如权利要求7所述的配置文件的动态处理装置,所述配置文件的动态处理装置配置为生成或更新所述上位机本体运行所需的xml配置文件。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com