一种铁路列车时刻网络查询方法与流程

文档序号:11590631阅读:324来源:国知局

本发明涉及一种列车时刻查询方法,尤其是涉及一种铁路列车时刻网络查询的方法。



背景技术:

当前,我国铁路列车时刻网络查询系统已经处于一个较高的水平。广大乘客可以通过各种方式(电脑、手机)获得实时的列车时刻信息,并获得订票甚至送票服务。然而,目前的各大网站的列车时刻查询方式单一,大多只包含站到站的时刻查询。个别网站实现了换乘查询,但仅限于二次换乘查询。以上功能并不能满足日益多样化的旅客出行需求。具体可以体现在以下几个方面:

(1)在有时间限制的情况下,旅客有最短旅行时间的需求。随着铁路网的进一步扩大,特别是大量高铁线路及各种车次的逐步开通,两个城市之间通过换乘实现的旅程不一定比直达列车所需的时间长。例如,郑州至上海的直达列车只有一个车次用时最短为4小时03分钟,其它车次均在4小时49分钟以上。而如果通过换乘,可以找到旅行时间在4小时48分钟以内(包含中间换乘时间)的组合25组。因此开发多次换乘方案的自动搜索,可以满足旅客对最短旅行时间的需求。

(2)在有行程安排的情况下,旅客有最晚到达时间的需求。由于误车或者购票原因,没有能够赶上两个城市之间直达的,并且能够在某一个固定时间之前达到目的城市列车。此时,如果能够提供经过两次或者多次换乘,保证旅客能够在某一固定时间之前到达目的城市列车时刻信息,就可以满足旅客对最晚到达时间的需求。

(3)坐席偏好的需求。在某些情况下,相对于旅行时间,旅客更关注旅程中所选择的坐席类别。例如,以旅游为目的的乘客,或者更关注舒适度的乘客可能更偏向于选择卧铺。甚至,如果全程没有卧铺,但是通过换乘,在指定的时间段内(例如晚间10时至凌晨6时之间)能够使用卧铺,也能在极大程度上满足旅客的舒适度需求。因此,将各个列车班次的余票种类及数量信息结合换乘信息,则可以为旅客提供更加人性化的出行选择。

(4)冗余站购票需求。例如某列车从站1至站10,途径站2、3、4、5、6、7、8、9。某位旅客欲从站5上车,但是站5没有车票。此时有可能可以买到从站1、2、3、4上车的车票。如果查询系统能够提供上述购票信息,旅客可以购买之前站点的车票,而从自己所在的站点上车。

(5)上车补票的需求。在某些情况下,两个城市之间的直达列车或者转乘列车已经没有余票。如果系统可以为旅客查询到目的城市之前的到达票,旅客就可以先购买一部分旅程的车票,然后上车补票。

因此,综合考虑广大旅客的上述需求,为了满足广大旅客多样化的出行需求,有必要对现有功能单一的列车时刻查询方式进行改进。



技术实现要素:

本发明针对现有技术不足,提出了一种铁路列车时刻网络查询方法。通过构建列车时刻信息数据库以及提出相关的查询算法,以满足广大旅客多样化的出行需求。

本发明所采用的技术方案:

一种铁路列车时刻网络查询方法,由管理程序和数据库组成列车综合查询系统,所述数据库包括列车时刻查询总表,列车时刻查询的基础信息包含在列车时刻查询总表内,列车时刻查询总表包括某站可达站表、可达某站站表和中转车站表;管理程序对列车时刻查询总表的信息进行导入、导出和维护,保持数据的及时更新;

管理程序通过接口存储过程向数据库提出检索要求,接口存储过程分别从某站可达表、可达某站表和中转车站表中获取并处理相应的信息,向管理程序返回查询结果,提供出发站和目的站信息,实现列车信息的提取;

对于列车坐席的余票信息,管理程序响应用户的查询请求,通过第三方提供的数据库接口进行查询并发布查询结果。

本发明的有益效果:

1、本发明铁路列车时刻网络查询方法,通过构建列车时刻信息数据库以及提出相关的查询算法,能满足日益多样化的旅客出行需求。列车时刻查询界面向广大的用户开发,可以实现多种组合查询方式,主要包括:

(1)经济优先查询,即为客户推荐出行列车组合,使客户花费的车票费用最低;

(2)时间优先,即为客户推荐出行列车组合,能够使客户花费的时间最短;或者使用户能够在指定时间之前,到达目的地;

(3)里程优先,即为客户推荐出行列车组合,使客户经过的里程最短;

(4)偏好优先,即为客户推荐出行列车组合,使客户能够使用指定的坐席类别;

(5)路径优先,为客户推荐出行列车组合,使客户能够经过指定的地点,并设定一定的逗留时间。

2、本发明铁路列车时刻网络查询方法,在数据库中编写存储过程,实现列车信息的提取。为了加速数据查询的速度,本系统从“总表”中提取产生各个站点的“某站可达站表”(即从某车站出发可以达到的其它车站及班次信息)、“可达某站站表”(即所有可以到达某车站的其它车站及班次信息)和“中转车站表”(为了降低数据检索量,提高检索速度,对中转车站提出一定的限制,即经过该车站的列车班次达到一定的数量)。设计科学合理,使用便捷、精度高、信息可靠。

3、本发明铁路列车时刻网络查询方法,可实现冗余站购票需求,即在旅客不能购买到出发站的某车次车票的情况下,为旅客提供该车次在出发站之前各车站的余票信息;可实现上车补票的需求,即为旅客查询到目的城市之前的到达票,旅客就可以先购买一部分旅程的车票,然后上车补票。

附图说明

图1是本发明列车综合查询系统组成原理图;

图2是本发明“提取存储过程”程序流程框图;

图3是本发明“查询存储过程”程序流程框图;

图4(a)是本发明时间计算函数addtime程序流程框图;

图4(b)是本发明时间计算函数caltime程序流程图;

图5是本发明管理程序结构框图。

具体实施方式

下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。

实施例1

参见图1,本发明的铁路列车时刻网络查询方法,由管理程序和数据库组成列车综合查询系统,所述数据库包括列车时刻查询总表,列车时刻查询的基础信息包含在列车时刻查询总表内,列车时刻查询总表包括某站可达站表、可达某站站表和中转车站表;管理程序对列车时刻查询总表的信息进行导入、导出和维护,保持数据的及时更新;

管理程序通过接口存储过程向数据库提出检索要求,接口存储过程分别从某站可达表、可达某站表和中转车站表中获取并处理相应的信息,向管理程序返回查询结果,提供出发站和目的站信息,实现列车信息的提取;

对于列车坐席的余票信息,管理程序响应用户的查询请求,通过第三方提供的数据库接口进行查询并发布查询结果。

实施例2

参见图1,列车综合查询系统由管理程序和数据库(图1虚线框内)两个部分组成。列车时刻查询的基础信息存在“列车时刻查询总表”中。

本实施例的铁路列车时刻网络查询方法,与实施例1的不同之处在于:其中数据表的各个字段分别为:

(1)id:列车运行班次;

(2)type:列车班次类别;

(3)station:列车经过的所有车站;

(4)no:本班次列车的站编号(1代表始发站,后续各站依次累加);

(5)at:本班次列车达到该站的时间;

(6)dt:本班次列车离开该站的时间;

(7)inday:若本班次列车在该车站的达到时间和离开时间之间出现跨越午夜的情况,后续该字段加1;

(8)distance:本班次列车到达该站时离始发站的里程数。

在数据库中编写存储过程,实现列车信息的提取。为了加速数据查询的速度,本系统从“总表”中提取产生各个站点的“某站可达站表”(即从某车站出发可以达到的其它车站及班次信息)、“可达某站站表”(即所有可以到达某车站的其它车站及班次信息)和“中转车站表”(为了降低数据检索量,提高检索速度,对中转车站提出一定的限制,即经过该车站的列车班次达到一定的数量)。“某站可达站表”和“可达某站站表”的提取费时较长。在实际应用中,根据实际情况适时进行调用。

“某站可达站表”的各个字段分别为:

(1)idu:出发站列车运行班次;

(2)stau:出发站名称;

(3)dttu:列车离开出发站的时间;

(4)du:列车离开出发站是的天数计数;

(5)disu:列车在出发站离该列车始发站的距离;

(6)stam1:本班次列车的换乘站名称;

(7)attm:本列车到达换乘站的时间;

(8)dm1:本列车在换乘站的天数计数;

(9)dism1:列车在换乘站离该列车始发站的距离。

“可达某站站表”的各个字段分别为:

(1)idd:换乘列车运行班次;

(2)stam2:换乘站名称;

(3)dttm:列车离开换乘站的时间;

(4)dm2:列车离开换乘站是的天数计数;

(5)dism2:列车在换乘站离换乘列车始发站的距离;

(6)stad:目的站名称;

(7)attd:换乘列车到达目的站的时间;

(8)dd:本列车到达目的站的天数计数;

(9)disd:列车在目的站离该列车始发站的距离。

在管理程序和数据库之间编写接口存储过程。管理界面向数据库提出检索要求,并提供出发站和目的站信息。存储过程分别从“某站可达表”、“可达某站表”和“中转车站表”中获取并处理相应的信息,向管理界面返回查询结果。在数据库中编写函数,用于计算查询结果中的若干计算问题(例如中转方案耗费时间、中转方案所需里程等)。由于数据库中没有包含列车坐席的余票信息,管理程序通过第三方提供的数据库接口进行查询。本系统通过管理程序响应用户的查询请求,并发布查询结果。

实施例3

参见图1、图2,本实施例的铁路列车时刻网络查询方法,与实施例2的不同之处在于:采用由若干存储过程、函数和数据表组成的换乘查询算法计算查询结果,其中站表(包括某站可达表、可达某站表和中转车站表)由提取存储过程生成;查询存储过程基于站表信息,并结合相关函数提供转乘数据。

图2给出了“提取存储过程”的流程框图,其中设“总表”为w。首先创建“中转车站表”,然后从表w中查询得到满足要求的站点信息插入“中转车站表”。其中,为中转车站设置条件的目的是为了降低最终检索数据的数量以及提高检索的速度。该条件为:经过该车站的车次数量必须大于一个设定的数值。“中转车站表”的生成相对比较简单,“某站可达站表”和“可达某站站表”的生成比较复杂。首先采用游标,从表w中提取所有车站的名称数据集。然后依次读取游标数据集中的记录,依次得到车站名称。如果游标数据集中的记录没有读取完毕,则为车站创建相应的“某站可达站表”和“可达某站站表”。接下来创建临时表a,用于存放该站点经过的所有列车的数据信息。联合查询临时表a和“总表”w,将有效的数据分别插入“某站可达站表”和“可达某站站表”。其中所谓有效,即所查询的数据中包含的站点,必须属于“中转车站表”。

实施例4

参见图1、图2、图3,本实施例的铁路列车时刻网络查询方法,与实施例3的不同之处在于:存储过程包括查询存储过程,查询存储过程基于站表信息,并结合相关函数提供转乘数据。图3给出了“查询存储过程”的流程框图。

首先,管理程序传递“出发站”和“目的站”给“查询存储过程”。“查询存储过程”根据“出发站”和“目的站”分别读取“出发站可达站表”和“可达目的站站表”。然后,创建临时表a,用于存储“出发站可达站表”和“可达目的站站表”中相等的站点数据。接下来,根据“中转车站表”中的数据,去除一部分不满足要求的数据。分别创建临时表b和临时表c,用于存储“出发站可达站表”和“可达目的站站表”中站点同时又在临时表a中的所有数据。最后联合查询临时表b和临时表c,按照管理程序发来的查询方式,分别返回按照时间倒序、里程倒序、到达时间正序的数据集。

实施例5

参见图1、图2、图3、图4,本实施例的铁路列车时刻网络查询方法,与实施例4的不同之处在于:在查询存储过程中,涉及到旅行时间的计算。本发明采用函数addtime和函数caltime实现旅行时间计算:在数据库表中,所有的时间(包括:at、dt、dttu、attm、dttm、attd)都采用字符串的形式(“hh:mm”)表示。天数计数(包括:inday、du、dm1、dm2、dd)采用整形数表示。本系统设计了如图4所示的函数addtime和函数caltime实现整个旅行的时间计算。函数caltime的输入参数为两个时间字符串(先后两个时间点)和一个整型变量(两个时间点之间是否跨越午夜),返回值为一个时间字符串(所用时间和分钟)。函数addtime的输入参数为四个时间字符串(dttu、attm、dttm、attd)和两个整型变量(du、dm1、dm2、dd)。在函数addtime中先后调用函数caltime计算三个时间差,然后将三个时间差进行相加,得到最终的时长。其中tm的减法和加法分别采用60进制的计算方法。

实施例6

参见图1~图5,图5所示为管理程序结构框图(虚线框内)。本实施例的铁路列车时刻网络查询方法,与前述各实施例的不同之处在于:管理程序从功能上分为两个部分:(1)数据库管理与维护;(2)列车时刻查询界面。数据库管理与维护功能向管理员开放,包括数据库导入、导出、维护、备份、测试、设置等操作。主要目的是为了保持数据内容的及时更新。列车时刻查询界面向广大的用户开发,可以实现多种组合查询方式,主要包括:

(1)经济优先查询,即为客户推荐出行列车组合,使客户花费的车票费用最低;

(2)时间优先,即为客户推荐出行列车组合,能够使客户花费的时间最短;或者使用户能够在指定时间之前,到达目的地;

(3)里程优先,即为客户推荐出行列车组合,使客户经过的里程最短;

(4)偏好优先,即为客户推荐出行列车组合,使客户能够使用指定的坐席类别;

(5)路径优先,为客户推荐出行列车组合,使客户能够经过指定的地点,并设定一定的逗留时间。

用户的查询请求首先传递给搜索引擎。搜索引擎将请求信息发送给数据库中的“查询存储过程”,并获得相应的数据。根据得到的查询数据,搜索引擎驱动第三方接口,读取12306数据库中的余票信息。综合数据库给出的数据和第三方接口获得的余票信息,给用户返回人性化的查询结果。主要的信息包括:

(1)按照具体的查询请求给出的中转换乘方案;

(2)在出发站没有余票的情况下,提供冗余站购票建议方案(背景技术最后第(4)点说明);

(3)在目的站没有余票的情况下,提供上车补票建议方案(背景技术第(5)点说明)。

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