一种航班计划管理系统的制作方法

文档序号:18871886发布日期:2019-10-14 19:44阅读:456来源:国知局
一种航班计划管理系统的制作方法

本申请涉及数据处理领域,尤其涉及一种航班计划管理系统。



背景技术:

随着民航信息系统的不断发展,大型机系统逐渐向小型开放化系统转变,具体的,将大型机系统拆分为多个系统。拆分后的系统可以包括航班保护系统、主机系统、航班计划管理系统和库存控制系统等多个系统。其中,航班计划、航班库存、航班座位、联程计算和旅客保护等业务分别由拆分后的不同系统完成。

其中,航班计划管理系统负责航班计划业务,并且,航班计划管理系统中保存有航班计划数据,在实际中,航班计划数据可能会依据实际情况被用户(包括但不限于航空公司)调整。

在航班计划数据被调整后,需要对拆分后的系统进行航班计划生效,在航班计划生效后才向旅客销售机票。一般的,航班计划生效包括:航班计划数据变更、已订票旅客信息的变更、重新制定联程航班,以及重新制定机票销售策略等。



技术实现要素:

申请人在将原有一个系统的功能拆分到多个系统实现的研究过程中发现,航班计划数据被用户调整后,在对拆分后的多个系统进行航班计划数据变更时,需要保证拆分后的各系统中的航班计划数据间的一致性。

为了实现上述目的,本申请提供了以下技术方案:

一种航班计划管理系统,包括:消息追踪模块、消息超时模块和补偿模块,其中,所述补偿模块包括消息重发模块和/或航班同步模块;

所述消息追踪模块,用于记录所述航班计划管理模块发出的消息的信息,任意一条消息的信息包括该条消息的最大发送次数、发出时刻和该条消息的接收方对该条消息的响应参数;

消息超时模块,用于计算所述航班计划管理模块发出的任意一条消息的超时时刻,该条消息的超时时刻为该条消息的发出时刻持续预设时长得到的时刻;

消息重发模块,用于在所述航班计划管理模块发出的任意一条消息的响应参数的值为失败,或者,响应参数指示该条消息未被所述接收方响应、已到达该条消息的超时时刻且达到所述最大发送次数的情况下,依据接收到的重发指令,发送用于使得该条消息成功响应的消息;或者,在所述航班计划管理模块发出的任意一条消息的响应参数指示该条消息未被所述接收方响应、已到达该条消息的超时时刻且未达到所述最大发送次数的情况下,重新发送该条消息;

航班同步模块,用于在所述航班计划管理模块发出的任意一条消息的响应参数的值为失败,或者,响应参数指示该条消息未被所述接收方响应、已到达该条消息的超时时刻且达到最大发送次数的情况下,依据接收到的同步指令,同步所述航班计划管理系统与所述接收方中的数据。

可选的,所述消息超时模块,还用于在该条消息的响应参数指示该条消息未被所述接收方响应、到达该条消息的超时时刻且未达到所述最大发送次数的情况下,触发所述消息重发模块对该条消息重新发送;

所述消息重发模块,用于在所述航班计划管理模块发出的任意一条消息的响应参数指示该条消息未被所述接收方响应、已到达该条消息的超时时刻且未达到所述最大发送次数的情况下,重新发送该条消息,包括:

所述消息重发模块,响应于所述消息超时模块的触发,向所述接收方重新发送该条消息。

可选的,所述消息超时模块,还用于在该条消息的响应参数指示该条消息未被所述接收方响应、到达该条消息的超时时刻且达到所述最大发送次数,则触发报警;

所述消息重发模块,用于在响应参数指示该条消息未被所述接收方响应、已到达该条消息的超时时刻且达到最大发送次数的情况下,依据接收到的重发指令,发送用于使得该条消息成功响应的消息,包括:

所述消息重发模块,响应于所述消息超时模块触发的报警,在接收到由用户触发的重发指令的情况下,向所述接收方发送用于使得该条消息成功响应的消息。

可选的,所述消息追踪模块,还用于更新所记录的消息的信息中的响应参数;在所记录的任意一条消息的响应参数指示所述接收方已响应且响应失败的情况下,触发报警;

所述消息重发模块,用于在所述航班计划管理模块发出的任意一条消息的响应参数的值为失败的情况下,依据接收到的重发指令,发送用于使得该条消息成功响应的消息,包括:

所述消息重发模块,响应于所述消息追踪模块触发的报警,在接收到由用户触发的重发指令的情况下,向所述接收方发送用于使得该条消息成功响应的消息。

可选的,所述用于使得该条消息成功响应的消息包括:该条消息以及用户指定的导致所述接收方未对该条消息响应成功的消息。

可选的,所述消息重发模块,在接收到由用户触发的重发指令的情况下,向所述接收方发送该条消息以及用户指定的导致所述接收方未对该条消息响应成功的消息,包括:

所述消息重发模块,具体用于在接收到由用户触发的重发指令的情况下,按照用户设定的消息发送顺序,向所述接收方发送该条消息以及导致所述接收方未对该条消息响应成功的消息。

可选的,所述航班同步模块,用于依据接收到的同步指令,同步所述航班计划管理系统与所述接收方中的数据,包括:

所述航班同步模块,具体用于依据接收到用户触发的同步指令,从所述航班计划管理系统中,查询满足用户指定字段的名称以及内容的航班计划数据为参考数据,并向所述接收方发送第一报文;所述第一报文由所述接收方待删除的航班计划数据需满足的条件以及所述参考数据拼接得到的。

可选的,所述航班同步模块,用于依据接收到的同步指令,同步所述航班计划管理系统与所述接收方中的数据,包括:

所述航班同步模块,具体用于从所述航班计划管理系统中,查询满足用户指定字段的名称以及内容的航班计划数据为参考数据,并向所述接收方发送第二报文;所述第二报文由所述参考数据中的各航班计划数据拼接得到。

可选的,所述消息重发模块,还用于在重新发送消息后,向所述消息追踪模块发送第一信息,所述第一信息指示所述消息追踪模块更新重发的消息的信息中的发送时刻与发送次数。

可选的,所述消息重发模块,还用于在向所述消息追踪模块发送所述第一指示信息后,向所述消息超时模块发送第二指示信息,所述第二指示信息指示所述消息超时模块计算所述消息追踪模块更新后的消息的信息中发送时刻的超时时刻。

本申请提供的航班计划管理系统中,消息追踪模块记录航班计划管理模块发出的任意一条消息的信息,其中,任意一条消息的信息包括该条消息的最大发送次数、发送时刻和该条消息的接收方对该条消息的响应参数。消息超时模块针对所记录的任意一条消息的信息中的发送时刻,计算该条消息的发送时刻经过预设时长得到的时刻为该条消息的超时时刻。

任意一条消息的响应参数的值为失败,或者,响应参数指示该条消息未被接收方响应、已到达该条消息的超时时刻且达到最大发送次数的情况下,说明该条消息没有被接收方处理成功,导致这种情况的可能性包括两方面,一方面是该条消息之前的消息没有响应成功,所以,本申请中,消息重发模块依据重发指令,重发用于使得该条消息成功响应的消息,可以实现同步;另一方面因为两方数据不一致,因此,本申请中,航班同步模块同步航班计划管理系统与接收方中的数据,以实现同步;以及,响应参数指示该条消息未被接收方响应、已到达该条消息的超时时刻且未达到最大发送次数,消息重发模块重发该条消息,以使得接收方继续处理消息,有利于提高处理成功进而数据一致的可能性。

综上所述,有利于提高数据最终一致的可能性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为拆分后的各个系统的架构示意图;

图2为本申请实施例公开的一种航班计划管理系统的结构示意图。

具体实施方式

图1为拆分后的各个系统的架构示意图,包括:航班计划管理系统、航班保护系统、主机系统和库存控制系统等,其中,航班计划管理系统分别与航班保护系统、主机系统和库存控制系统连接。

在航班计划管理系统接收到对用户指定的航班计划数据进行航班计划生效的触发指令的情况下,即需要拆分后的系统依据用户指定的航班数据对已有的航班计划数据变更。具体的,航班计划管理系统向航班保护系统发送用户指定的航班计划数据,在航班控制系统依据用户指定的航班数据对已有的航班计划数据变更成功后,航班计划管理系统向主机系统发送用户指定的航班计划数据,在主机系统依据用户指定的航班数据对已有的航班计划数据变更成功后,航班计划管理系统依据用户指定的航班数据对已有的航班计划数据变更成功后,向库存控制系统发送用户指定的航班计划数据等一系列流程。

本申请实施例公开的航班计划管理系统,为对于具有上述功能的航班计划管理系统进行改进后的系统,例如,改进后的系统包括改进前的系统,即改进前的系统为改进后的系统中的一个模块,用于实现上述功能。改进后新增保证不同系统之间的数据一致性的功能。

当然,本申请实施例公开的航班计划管理系统,也可以独立设置在图1中,而不包括图1中所述的航班计划管理系统,本申请实施例并不做限定。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图2为本申请提供的一种航班计划管理系统的结构示意图,包括:航班计划管理模块、消息追踪模块、消息超时模块、消息重发模块和航班同步模块。其中,航班计划管理模块分别与消息追踪模块和航班同步模块连接,消息追踪模块还分别与消息超时模块和消息重发模块连接,消息超时模块还与消息重发模块连接。

以下介绍本申请提供的航班计划管理系统中的各模块与目标系统间的交互过程。

航班计划管理模块,用于向目标系统发送信息。

其中,目标系统为上述待变更航班计划数据的系统中的任意一个系统,也可以称为接收方,例如,航班保护系统、主机系统和库存控制系统等系统中的任意一个系统。在本实例中,以航班保护系统为例,介绍本申请中的航班计划管理系统如何使得航班保护系统基于用户指定的航班计划数据对已有的航班计划数据变更成功的过程,即保证航班计划管理系统与航班保护系统间的航班计划数据达到一致的过程。

其中,航班计划管理模块向目标系统发送的消息内容为用户指定的航班计划数据。

消息追踪模块,用于记录航班计划管理模块向目标系统发送的任意一条消息的信息。

具体的,对发送的消息所记录的信息包括多个字段,分别为:消息标识、生效批次标识、消息发送方、消息目的方、消息内容、消息发送时刻、消息状态、航班相关信息等。

其中,消息标识为用于唯一标识该消息的标识,生产批次标识为该消息所属批次的唯一标识。消息内容为用户指定的航班计划数据。消息状态可以包括:已发送、已回复、失败和超时。其中,已发送表示已向目标系统发送该消息,但是目标系统没有反馈对该消息的响应情况的反馈信息。已回复表示已向目标系统发送该消息,并且目标系统已反馈对该消息的响应情况为变更成功的反馈信息。失败表示已向目标系统发送该消息,并且目标系统已反馈对该消息的响应情况为变更失败的反馈信息。超时表示已向目标系统发送该消息、在预设时长内目标系统未反馈对该消息的响应情况的反馈信息,以及已向目标系统发送该消息的次数达到了预设的最大发送次数。

具体的,对于每个字段的字段含义描述、字段类型、是否可为空和字段名称等属性描述如下表所示。

航班计划管理模块,还用于接收目标系统对所接收到的任意一条消息的响应情况的反馈信息。

具体的,如果目标系统依据该条消息中用户指定的航班计划数据对已有的航班计划数据变更成功,则反馈信息为表示对已有的航班计划数据变更成功的信息。如果,目标系统依据该条消息变更失败,则所接收的反馈信息为表示对已有的航班计划数据变更失败的信息。

针对目标系统对任意一条消息的反馈信息,航班计划管理模块,还用于调用消息追踪模块,使得消息追踪模块基于该消息的反馈信息,更新对该消息记录的信息中消息状态字段的内容。具体的,航班计划管理模块可以向消息追踪模块发送包括目标消息,该目标消息目标系统对该条消息的反馈信息,使得消息追踪模块基于目标系统对该条消息的反馈信息,更新对该消息记录的信息中消息状态字段的内容。

在反馈信息的内容表示目标系统对用户指定的航班计划数据变更失败的情况下,消息追踪模块,除了更新对该消息记录的信息中消息状态字段的内容外,还用于触发报警操作以提示运维人员进行干预。

消息超时模块,用于针对消息追踪模块记录的任意一条消息的信息,确定对该消息记录的信息中的发送时刻经过预设时长所得到的时刻,为了描述方便,将确定得到的时刻称为该消息的超时时刻。

消息超时模块,还用于在计算出该消息的超时时刻后,向超时队列发送对该消息记录的信息中的预设信息,其中,预设信息可以包括:该消息的消息标识、发送时刻以及超时时刻。

消息超时模块,还用于在超时队列中的任意一条预设信息的超时时刻到达的情况下,从消息追踪模块已记录的信息中获取该预设信息中的消息标识所指示的消息的信息,从超时队列中获取该消息标识所指示的预设信息,并将从超时队列中获取的任意一条预设信息与从消息追踪模块记录的信息中获取的信息进行比较,以确定下一步操作。

在本实施例中,为了描述方便,将超时队列中获取的该消息标识所指示的任意一条预设信息都称为待比较预设信息。针对任意一条待比较预设信息,如果该待比较预设信息与从消息追踪模块获取的信息中的发送时刻不同,则说明该待比较预设信息中的消息标识所指示的消息已经被重发,即超时队列中的该待比较预设信息已经是对该消息重发前的预设信息,即该待比较预设信息已经是无用的信息,因此,将该待比较预设信息从超时队列中删除。

如果该待比较预设信息与从消息追踪模块获取的信息中的发送时刻相同,则依据所获取的信息中的消息状态字段的内容,以及发送次数字段的内容,确定下一步操作。

具体的,如果所获取的信息中,消息状态为已发送且发送次数小于预设的最大发送次数,则触发消息重发模块,使得消息重发模块向目标系统重新发送该消息。如果所获取的信息中,消息状态为已发送且发送次数不小于该最大发送次数,触发报警操作以提示运维人员进行干预。如果所获取的信息中的消息状态为已回复,则表示目标系统已变更成功,则将该待比较预设信息从超时队列中删除。如果所获取的信息中的消息状态为失败,则表示目标系统变更失败,但是之前目标系统已向航班计划管理系统发送反馈信息时,航班计划管理系统在调用消息追踪模块更改对该消息记录的信息中消息状态字段的内容时,消息追踪模块已触发报警操作,因此,此时,消息超时模块,无需触发报警操作,只需将待比较预设信息从超时队列中删除即可。

综合上述,消息超时模块依据所获取的信息中的消息状态字段的内容,以及发送次数字段的内容,所确定下一步操作包括:删除待比较预设信息、触发消息重发模块重新发送该消息,或者触发报警操作这三种操作。

对于这三种操作,首先详细介绍触发消息重发模块重新发送该消息的过程。

具体的,消息重发模块,用于调用消息追踪模块,使得通过消息追踪模块查询待重发消息的信息,将信息中的消息内容向目标系统发送。

消息重发模块,还用于在发送待重发消息后,调用消息追踪模块,使得消息追踪模块对向目标系统发送的消息所记录的信息中的发送时刻与发送次数进行更新。具体的,消息重发模块可以向消息追踪模块发送第一信息,该第一信息用于指示消息追踪模块更新重发的消息的信息中的发送时刻与发送次数。

消息重发模块,还用于调用消息超时模块,使得消息超时模块针对向目标系统重发的消息所更新的记录中的发送时刻,计算经过预设时长得到的超时时刻。具体的,消息重发模块向消息超时模块发送第二信息,该第二信息指示消息超时模块针对消息追踪模块更新后的信息中的发送时刻计算超时时刻。

消息超时模块,还用于将已对更新后的记录计算出超时时刻后,将该记录中的消息标识、最近一次重发的发送时刻和最新计算出的超时时刻作为预设信息,并向超时队列中发送该预设信息。

对于这三种操作中的触发报警操作以提示运维人员进行干预这一操作,以及消息追踪模块触发的报警操作以提示运维人员进行干预,运维人员可以对触发报警的消息所记录的信息进行分析,分析后的下一步处理方式可以包括两种:

其中,第一种方式:触发消息重发模块对运维人员指定的消息进行重发。第一种方式出现的场景可以包括:在运维人员分析出目标系统对该条消息变更失败的原因是:之前某次发送的消息目标系统未接收到。

其中,第二种方式:触发航班同步模块,使得航班同步模块使目标系统对运维人员指定的待同步数据进行同步。第二种方式出现的场景可以包括:运维人员分析出目标系统对该条消息变更失败的原因是:航班计划管理系统与该目标系统中的目标数据不一致导致的。

具体的,第一种方式中,消息重发模块对运维人员指定的消息进行重发的过程可以包括:

消息重发模块依据运维人员输入的查询标识调用消息追踪模块,使得消息追踪模块从已记录的信息中查询该查询标识指示的信息,接收运维人员从查询得到的信息中所指定的信息的标识,并将运维人员指定标识所指示的信息中的消息内容向目标系统发送。其中,查询标识可以为消息标识,可以为批次标识,也可以为其他内容,具体的查询标识的内容由运维人员确定,本实施例不对查询标识的具体内容作限定。

需要说明的是,在本实施例中,除了支持运维人员从查询得到的信息中指定信息外,还支持运维人员对所指定的信息中的消息内容设定先后发送顺序。具体的,消息重发模块则按照该发送顺序对运维人员指定的信息中的消息内容进行发送。

第二种方式中,航班同步模块基于运维人员指定的待同步航班计划数据,使得目标系统依据该待同步航班计划数据对已有的航班计划数据进行变更。具体的,在本实施例中,航班同步模块可以采用两种方式,使得目标系统依据该待同步航班计划数据对已有的航班计划数据进行变更。

方式一:航班同步模块从航班计划管理系统中,查询满足用户指定字段的名称以及内容的航班计划数据为参考数据,并将目标系统待删除的航班计划数据需满足的条件,以及参考数据拼接为第一报文,并向目标系统发送该第一报文。

例如,用户指定字段的名称包括:航空公司、航班号、航班后缀和航班日期,其中,航空公司的内容为a,航班号的内容为1~20,航班后缀的内容为aa,航班日期的范围为10月1日~10月31日。则航班同步模块从航班计划管理模块中,查询航空公司的内容为a,航班号的内容为1~20,航班后缀的内容为aa,航班日期的范围为10月1日~10月31日的航班计划数据,为了描述方便,将从航班计划管理模块中查询出的航班计划数据称为参考数据。

目标系统待删除的航班计划数据需满足的条件包括:航空公司的内容为a,航班号的内容为1~20,航班后缀的内容为aa,航班日期的范围为10月1日~10月31日。

目标系统在接收到第一报文后,将已有的航班计划数据中满足航空公司的内容为a,航班号的内容为1~20,航班后缀的内容为aa,航班日期的范围为10月1日~10月31日的数据删除,并新建参考数据。

方式二、航班同步模块从航班计划管理系统中,查询满足用户指定字段的名称以及内容的航班计划数据为参考数据,并将参考数据进行拼接得到第二报文,并向目标系统发送该第二报文。

在本方式中,航班同步模块从航班计划管理系统中,查询满足用户指定字段的名称以及内容的航班据计划数据的过程,与方式一中对应的过程相同,这里不再赘述。

航班同步模块在得到参考数据后,将参考数据中的每个航班数据进行拼接,得到第二报文。在目标系统接收到第二报文后,对已有的航班计划数据中的第一目标航班计划数据进行更新,和/或,对第二目标航班数据进行新建。其中,第一目标航班计划数据为目标系统已有的航班计划数据中,用户指定字段的名称以及内容与参考数据中用户指定字段的名称以及内容相同的航班计划数据。第二目标航班计划数据为存在于参考数据但不存在于目标系统的航班数据。

需要说明的是,在本方式中,目标系统在接收到第二报文后,是否对第一目标航班计划数据进行更新,以及是否对第二目标航班计划数据进行新建由目标系统确定。

还以方式一中的例子为例,假设航班同步模块从航班计划管理系统中查询得到的参考数据包括3条航班计划数据,如下所示:

1、航空公司的内容为a,航班号的内容为1,航班后缀的内容为aa,航班日期的范围为10月1日,以及其他字段的内容。

2、航空公司的内容为a,航班号的内容为1,航班后缀的内容为aa,航班日期的范围为10月5日,以及其他字段的内容。

3、航空公司的内容为a,航班号的内容为1,航班后缀的内容为aa,航班的日期范围为10月10日,以及其他字段的内容。

如果目标系统已有的航班计划数据中,航空公司的内容为a,航班号的内容为1,航班后缀的内容为aa,航班日期为10月10日的航班计划数据中,除航空公司、航班号、航班后缀和航班日期外的其他字段的内容与3中的其他字段的内容不同,则目标系统可以将该航班计划数据中其他字段的内容更新为3中其他字段的内容。

如果目标系统已有的航班计划数据中,不存在2对应的航班计划数据,则目标系统可以新建2对应的航班计划数据。

本实施例具有以下有益效果:

在本实施例中,消息追踪模块记录航班计划管理模块发出的任意一条消息的信息,其中,任意一条消息的信息包括该条消息的发送时刻和该条消息的接收方对该条消息的响应参数。消息超时模块针对所记录的任意一条消息的信息中的发送时刻,计算该条消息的发送时刻经过预设时长得到的时刻为该条消息的超时时刻。

任意一条消息的响应参数的值为失败,或者,响应参数指示该条消息未被接收方响应、已到达该条消息的超时时刻且达到最大发送次数的情况下,说明该条消息没有被接收方处理成功,导致这种情况的可能性包括两方面,一方面是该条消息之前的消息没有响应成功,所以,本实施例中,消息重发模块依据重发指令,重发用于使得该条消息成功响应的消息,可以实现同步;另一方面因为两方数据不一致,因此,本实施例中,航班同步模块同步航班计划管理系统与接收方中的数据,以实现同步;以及,响应参数指示该条消息未被接收方响应、已到达该条消息的超时时刻且未达到最大发送次数,消息重发模块重发该条消息,以使得接收方继续处理消息,有利于提高处理成功进而数据一致的可能性。

综上所述,有利于提高数据最终一致的可能性。

本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1