首页> 中国专利> 一种航班时刻数据的合并与冲突处理的方法

一种航班时刻数据的合并与冲突处理的方法

摘要

本发明公开了一种航班时刻数据的合并与冲突处理的方法,包括以下步骤:获取航班时刻数据,根据航班分组,随后将一个航班内的多个航班时刻数据生成为多个子序列,每个子序列中包含班期、开始日期和结束日期的数据内容;获取一个航班对应的多个子序列中的最小开始日期和最大结束日期,然后生成一个二维数组,第一维度中依次存放从最小开始日期至最大结束日期的全部日期,第二维度的存放“是否有班期”和“周”;将多个子序列一一往二维数组中填充;根据周一至周日的原则,扫描二维数组生成新子序列,将扫描获得的多个新子序列合并即为不冲突的航班时刻数据。本发明能对不同渠道的航班时刻数据进行合并,可解决数据交叉、包含及冲突的问题。

著录项

  • 公开/公告号CN107577745A

    专利类型发明专利

  • 公开/公告日2018-01-12

    原文格式PDF

  • 申请/专利权人 飞友科技有限公司;

    申请/专利号CN201710757934.3

  • 发明设计人 朱阿明;余中鸣;江洋;

    申请日2017-08-29

  • 分类号G06F17/30(20060101);G06Q10/06(20120101);G06Q50/30(20120101);

  • 代理机构

  • 代理人

  • 地址 230001 安徽省合肥市庐阳区宿州路4号欣都大厦3009室

  • 入库时间 2023-06-19 04:16:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 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:已合并后有序的航班时刻数据

以上内容是结合具体的实施例对本发明所作的详细说明,不能认定本发明具体实施仅限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明保护的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号