法律状态公告日
法律状态信息
法律状态
2020-08-21
授权
授权
2018-02-06
实质审查的生效 IPC(主分类):G06F17/30 申请日:20170829
实质审查的生效
2018-01-12
公开
公开
技术领域
本发明涉及一种航班时刻数据的合并与冲突处理的方法,属于民航数据处理方法技术领域。
背景技术
航班时刻数据是航班执行的计划表,航班时刻数据往往来自于多个渠道,不同渠道的航班时刻数据彼此之间会有一些数据交叉、包含及冲突的问题,因此直接获取的多渠道的航班时刻数据无法直接使用,因此有必要设计一种航班时刻数据的合并方法,能够对不同渠道的航班时刻数据进行合并,并且可以用于解决数据交叉、包含及冲突的问题。
发明内容
本发明正是针对现有技术存在的不足,提供一种航班时刻数据的合并与冲突处理的方法,能够对不同渠道的航班时刻数据进行合并,并且可以解决数据交叉、包含及冲突的问题。
为解决上述问题,本发明所采取的技术方案如下:
一种航班时刻数据的合并与冲突处理的方法,包括以下步骤:
S1:根据航段获取包含多个航班、多个渠道的航班时刻数据,根据航班对获取的航班时刻数据进行分组,随后将一个航班内的多个航班时刻数据生成为多个子序列,每个子序列中包含班期、开始日期和结束日期的数据内容;
S2:获取一个航班对应的多个子序列中的最小开始日期和最大结束日期,计算最小开始日期和最大结束日期的差值X;然后生成一个二维数组,其中第一维度的长度即为差值X,且第一维度中依次存放从最小开始日期至最大结束日期的全部日期,且第一维度作为索引;第二维度的长度为2且分别存放“是否有班期”和“周”;
S3:将S1生成的多个子序列,按实际有的班期数据,一个子序列一个子序列地往S2生成的二维数组中填充,直至一个航班对应的多个子序列全部填充完成;
S4:根据周一至周日的原则,扫描S3中填充完成的二维数组,等量的递归匹配下一个7天的数据,当发现不同的班期后,根据已扫描数据生成一个新子序列,新子序列包含开始索引、结束索引和班期的数据内容;随后按照上述原则继续扫描二维数组中的后续数据,当发现不同的班期后,再生成另一个新子序列;重复上述过程直至二维数组全部扫描结束;将扫描获得的多个新子序列合并即为不冲突的航班时刻数据。
作为上述技术方案的改进,S1中,将一个航班内的多个航班时刻数据生成为多个子序列后,根据每个子序列的开始日期和结束日期进行时间段关系判断,将多个生成的子序列分为两类:需要合并处理的子序列和不需要合并处理的子序列;
S2中,获取需要合并处理的子序列中的最小开始日期和最大结束日期,生成二维数组;
S3中,将需要合并处理的子序列一一填充至二维数组中;
S4中,将扫描获得的多个新子序列、以及不需要合并处理的子序列一同合并,即获得不冲突的航班时刻数据。
作为上述技术方案的改进,S1中时间段关系包括相交、相等、包含、相邻和其它;
任一子序列的开始日期和结束日期与其它子序列的开始日期和结束日期具有相交、相等、包含或相邻的时间段关系,则该子序列为需要合并处理的子序列;
任一子序列的开始日期和结束日期与其它子序列的开始日期和结束日期均为其它的时间段关系,则该子序列为不需要合并处理的子序列。
本发明与现有技术相比较,本发明的实施效果如下:
本发明所述的一种航班时刻数据的合并与冲突处理的方法,能够对不同渠道的航班时刻数据进行合并,生成新的不冲突的航班时刻数据,并且可以解决数据交叉、包含及冲突的问题,解决了不同有效期、不同班期的航班时刻的问题。
具体实施方式
下面将结合具体的实施例来说明本发明的内容。
本实施例所提供的一种航班时刻数据的合并与冲突处理的方法,以来自于CZ6412航班的模拟时刻数据为例,包括以下步骤:
一、数据分组
根据航班唯一性进行分组,原始的航班时刻数据如下表1所示。
表1:CZ6412航班模拟时刻数据
如上述表1所示,表1中序号1和序号2的数据之间存在班期不同、数据交叉的问题,这样的数据没法直接使用,因此需要进行数据正确、有效的合并,以生成新的不冲突的航班时刻数据。
二、数据时间关系检测
先按照开始日期进行升序排序,再以航班时刻开始日期、结束日期,计算时间段关系(相等、相交、包含、相邻),以每个时间段最小时间为开始日期,最大时间为结束日期,获取该时间范围内航班时刻数据;每个有时间关联的集合称为一个RANGE。
上述表1中序号1和序号2的数据中的时间关系是相交,计算出最小的开始时间为2017-07-04,最大的结束时间为2017-07-16,加上序号1和序号2的数据,构造出一个RANGE,我们称为RANGE1,另外序号3的时刻数据不存在冲突问题,所以不需要处理。
三、数据合并
根据RANGE的最小开始日期和最大结束日期,计算有效天数,生成为二维数组,第一维长度为n,第二维长度为4;第二维度存放:是否有班期、周。
以RANGE1为例,开始时间与截止时间相隔天数为12天,则定义长度为13的二维数组,具体如下表2所示。
表2:RANGE1初始化构建的数组
将表1中序号1的航班时刻数据填充至表2中,得到下表3所示数据表格。
表3:RANGE1,序号1数据填充后
将表1中序号2的航班时刻数据填充至表3中,得到下表4所示数据表格。
表4:RANGE1,序号1和序号2数据填充后
四、数据分裂、产生新的航班时刻
根据周一至周日的原则,等量地递归匹配下一个7天的数据,当发现不同的班期后,数据即弹出返回开始索引、结束索引、班期生产新的航班时刻,随后继续扫描直至结束;获得如下表5和表6所示数据表格。
表5:分裂出来的第一段数据
表6:分裂出来的第二段数据
根据分裂后的数组信息,构造出两条新的航班时刻数据,加上不需要合并的数据,最终的航班时刻如下表7所示。
表7:已合并后有序的航班时刻数据
以上内容是结合具体的实施例对本发明所作的详细说明,不能认定本发明具体实施仅限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明保护的范围。
机译: 一种数据处理方法,一种执行这种数据处理方法的设备,一种通过执行这种数据处理方法产生的数据载体,一种与这种数据处理方法一起使用的解码器以及一种包括这种解码器的设备
机译: 在合并与数据服务有关的信息期间解决冲突的系统和方法
机译: 在合并与数据服务有关的信息期间解决冲突的系统和方法