一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据解析向上向下版本兼容方法、数据解析方法与流程

2022-10-26 19:39:26 来源:中国专利 TAG:


1.本发明涉及轨道交通领域,更为具体的,涉及一种数据解析向上向下版本兼容方法、数据解析方法。


背景技术:

2.查询函数是轨道交通列车自动监控系统(ats)的基础组成部分,每个模块都可能会用到的查询函数的数据,数据之间的联系也是地铁轨道交通线路的业务体现与表现方式,它的初始化可分为数据读取、数据解析与检查、数据关系绑定三个步骤。
3.由于每条线路的数据都会有些许差异,不同的线路因业务需求,数据上会有改动,对于这种递增的变化,需要不停的去修改代码,随着新线路的增加和老线路的需求变更,数据解析也需要兼容不同版本的数据,现有的方案是在查询函数接口类里,以集合类型的属性存储相应的数据,将所有的解析方法都放在了一个类中,新增一个表或者改变表里的某个数据列,需要对这个类作修改,违背了软件的开发思想:面向修改关闭,面向扩展开放。
4.现有技术存在如下技术问题:解析类库过多;类库内部结构复杂,一个数据初始化解析类,将近一万行,可读性差,对新人不友好,可扩展性较差,修改也更容易出错,增加软件开发成本;并且,可配置型和兼容性较差。


技术实现要素:

5.本发明的目的在于克服现有技术的不足,提供一种数据解析向上向下版本兼容方法、数据解析方法,减少了代码冗余,模块化,功能化,便于扩展更新,减少后续需求变动软件开发时间,降低了开发成本。
6.本发明的目的是通过以下方案实现的:
7.一种数据解析向上向下版本兼容方法,应用于轨道交通ats系统,当所述轨道交通ats系统的软件程序被处理器加载运行时,运行整体结构优化后的查询函数来完成轨道交通线路的业务数据之间的联系;所述轨道交通线路的业务数据之间的联系包括数据读取、数据解析与检查、数据关系绑定;所述整体结构优化后的查询函数具有如下技术特征:整个查询函数只有一套数据实体;不同类型的数据实体存储在对应的数据管理类中,所述数据管理类为表类型,且数据管理类中有各数据版本的解析方法。
8.进一步地,所述运行整体结构优化后的查询函数来完成轨道交通线路的业务数据之间的联系时,包括如下初始化步骤:
9.s1,首先初始化数据字典,动态反射加载继承某一类型的所有子类;
10.s2,根据配置版本号统一调用数据字典所有对象的解析方法,根据数据版本号选择数据管理类中相应的解析方法解析并存储到数据字典里;
11.s3,绑定各个数据表格之间的字段联系;
12.s4,开放查询接口,供外部调用,初始化完成。
13.进一步地,在所述数据读取时,数据从fs文件中获取;所述fs文件为轨道线路数据
中的excel表格通过工具生成的文件。
14.进一步地,所述数据读取包括读取电子地图数据表和其中工作表页里的link表,link表示轨道线路上任意两个相邻划分节点之间的一段线路。
15.进一步地,每个所述工作表页只有一个数据实体类对应;在整个整体结构优化后的查询函数只有一个link实体类,里面包含所有的link相关属性。
16.进一步地,所述数据管理类包括电子地图数据管理基类和ats数据管理基类,分别对应电子地图数据表和ats配置数据表;电子地图数据表里的link表对应电子地图link数据管理类,该类显示指定基类的泛型类型为电子地图link实体类,从而存储link实体对象。
17.进一步地,将各表的服务类接口作为fs数据服务接口,供外部调用。
18.进一步地,所述各数据版本的解析方法设有版本号。
19.一种数据解析方法,基于如上任一所述的数据解析向上向下版本兼容方法,根据配置的版本号,选择数据管理类中相应的解析方法解析数据。
20.进一步地,在解析数据的过程中,按照如下解析规则进行解析过程:获取不大于传入版本号的最大版本;解析类中的版本号能够是不连续的;每一个解析类中都有一个编号为0的基础版本;解析类中添加不同的数据约束方法,用于检查数据的有效性。
21.本发明的有益效果包括:
22.本发明解决数据解析可配置且兼容其他版本,提高软件开发效率降低开发成成本。具体而言,使用面向对象的思想优化了查询函数整体结构,将各个工作表独分离成一个类,分解解析类里的代码,简化系统结构。并且,解析方法可配置化,数据实体对象根据数据版本添加对应的解析方法。相比较现有技术,数据实体唯一化,代码结构清晰,减少代码冗余,模块化,功能化,便于扩展更新,减少后续需求变动软件开发时间。
附图说明
23.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
24.图1为查询函数初始化流程图;
25.图2为电子地图link类的示意图;
26.图3为数据管理类关系的示意图;
27.图4为查询函数接口和实现类的示意图;
28.图5为电子地图接口和实现类的示意图;
29.图6为fs文件excel数据的示意图。
具体实施方式
30.下面结合附图和实施例对发明进一步说明。本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
31.术语解释
32.fs:fs扩展名属于f#格式,本发明中指地铁线路中的表格数据通过工具生成的文件;
33.sheet:工作表;
34.link:抽象地将地铁线路上任意两个相邻划分节点之间的一段线路,即为一个link;
35.emapdatamanagementbase:电子地图数据管理基类;
36.atsdatamanagementbase:ats数据管理基类;
37.emaplinkdatamanagement:电子地图link数据管理类;
38.emaplinkdata:电子地图link实体类;
39.dictionary《type,iparsefsdata》:数据字典,用于存储键为数据管理基类类型,值类型为数据解析接口的键值对;
40.ifsdatasearchservice:fs数据服务接口;
41.parse:解析。
42.查询函数的初始化可分为数据读取、数据解析与检查、数据关系绑定三个步骤。它的数据来自于fs文件,这个fs是由图3中的excel表生成的,本实施例方案是以现实中的excel表格结构建立程序中的数据存储结构,以电子地图数据表和其中sheet页里的link表为例说明。
43.数据实体唯一化,每个工作表(sheet)页只有一个数据实体类对应,如图2,整个查询函数只有一个link实体类,里面包含所有的link相关属性。
44.所有的数据实体对象存储在一个管理类中,这个数据管理类为表类型,管理类中有各数据版本的解析方法,电子地图数据管理基类(emapdatamanagementbase)和ats数据管理基类(atsdatamanagementbase)分别对应图3里面的电子地图数据表和ats配置数据表,电子地图数据表里的link表对应电子地图link数据管理类(emaplinkdatamanagement),该类显示指定基类的泛型类型为电子地图link实体类(emaplinkdata),从而存储link实体对象。
45.初始化:如图1,首先初始化数据字典(dictionary《type,iparsefsdata》),动态反射加载继承了电子地图link数据管理类(emapdatamanagementbase)类的所有子类,统一调用字典所有对象的解析(parse)方法,根据数据版本号选择电子地图link数据管理类(emapdatamanagementbase)中相应的解析方法解析并存储到字典里,最后统一初始化各表之间的关系,查询函数初始化完成。
46.将各表的服务类接口作为fs数据服务接口(ifsdatasearchservice)接口的属性,暴露fs数据服务接口(ifsdatasearchservice)接口,供外部调用。
47.实施例1
48.如图1~图6所示,一种数据解析向上向下版本兼容方法,应用于轨道交通ats系统,其特征在于,当所述轨道交通ats系统的软件程序被处理器加载运行时,运行整体结构优化后的查询函数来完成轨道交通线路的业务数据之间的联系;所述轨道交通线路的业务数据之间的联系包括数据读取、数据解析与检查、数据关系绑定;所述整体结构优化后的查询函数具有如下技术特征:整个查询函数只有一套数据实体;不同类型的数据实体存储在对应的数据管理类中,所述数据管理类为表类型,且数据管理类中有各数据版本的解析方
法。
49.实施例2
50.在实施例1的基础上,所述运行整体结构优化后的查询函数来完成轨道交通线路的业务数据之间的联系时,包括如下初始化步骤:
51.s1,首先初始化数据字典,动态反射加载继承某一类型的所有子类;
52.s2,根据配置版本号统一调用数据字典所有对象的解析方法,根据数据版本号选择数据管理类中相应的解析方法解析并存储到数据字典里;
53.s3,绑定各个数据表格之间的字段联系;
54.s4,开放查询接口,供外部调用,初始化完成。
55.实施例3
56.在实施例1的基础上,在所述数据读取时,数据从fs文件中获取;所述fs文件为轨道线路数据中的excel表格通过工具生成的文件。
57.实施例4
58.在实施例1的基础上,所述数据读取包括读取电子地图数据表和其中工作表页里的link表,link表示轨道线路上任意两个相邻划分节点之间的一段线路。
59.实施例5
60.在实施例4的基础上,每个所述工作表页只有一个数据实体类对应;在整个整体结构优化后的查询函数只有一个link实体类,里面包含所有的link相关属性。
61.实施例6
62.在实施例4的基础上,所述数据管理类包括电子地图数据管理基类和ats数据管理基类,分别对应电子地图数据表和ats配置数据表;电子地图数据表里的link表对应电子地图link数据管理类,该类显示指定基类的泛型类型为电子地图link实体类,从而存储link实体对象。
63.实施例7
64.在实施例4的基础上,将各表的服务类接口作为fs数据服务接口,供外部调用。
65.实施例8
66.在实施例1的基础上,所述各数据版本的解析方法设有版本号。
67.实施例9
68.一种数据解析方法,基于如实施例1~实施例8任一所述的数据解析向上向下版本兼容方法,根据配置的版本号,选择数据管理类中相应的解析方法解析数据。
69.实施例10
70.在实施例9的基础上,在解析数据的过程中,按照如下解析规则进行解析过程:
71.获取不大于传入版本号的最大版本;
72.解析类中的版本号能够是不连续的;
73.每一个解析类中都有一个编号为0的基础版本;
74.解析类中添加不同的数据约束方法,用于检查数据的有效性。
75.描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
76.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
77.作为另一方面,本技术还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
78.本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
79.上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
80.除以上实例以外,本领域技术人员根据上述公开内容获得启示或利用相关领域的知识或技术进行改动获得其他实施例,各个实施例的特征可以互换或替换,本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献