CN102033940B - 车流最短径路查询器 - Google Patents
车流最短径路查询器 Download PDFInfo
- Publication number
- CN102033940B CN102033940B CN201010598059.7A CN201010598059A CN102033940B CN 102033940 B CN102033940 B CN 102033940B CN 201010598059 A CN201010598059 A CN 201010598059A CN 102033940 B CN102033940 B CN 102033940B
- Authority
- CN
- China
- Prior art keywords
- shortest path
- rule
- information
- station
- pathway
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000037361 pathway Effects 0.000 claims description 120
- 230000008878 coupling Effects 0.000 claims description 15
- 238000010168 coupling process Methods 0.000 claims description 15
- 238000005859 coupling reaction Methods 0.000 claims description 15
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 210000000481 breast Anatomy 0.000 claims description 4
- 244000188472 Ilex paraguariensis Species 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 230000013011 mating Effects 0.000 claims description 3
- 241000614201 Adenocaulon bicolor Species 0.000 abstract 4
- 230000000875 corresponding effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种车流最短径路查询器;车流最短径路查询器含有基本信息加载器、规则加载器、规则匹配器、节点生成器、径路查找器、径路输出器和日志管理器;基本信息加载器形成的数据结构被规则匹配器、节点生成器和径路查找器使用;节点生成器使用基本信息结构和规则结构得到可以构建Dijkstra矩阵的基本站点形成的矩阵节点集合;规则匹配器为用户提出的查询请求进行规则匹配;径路查找器用来查询请求计算非受限最短径路、全局受限最短径路和最终受限最短径路;径路输出器根据从径路查找器得到的信息进行处理,得到包含所有途径站的最终受限最短径路输出信息;本发明提供了一种具有灵活性、简洁性、扩展性的车流最短径路查询器。
Description
(一)、技术领域:本发明涉及一种径路查询器,特别是涉及一种车流最短径路查询器。
(二)、背景技术:车流径路关系到制票、收入检查、精密统计、清算及成本核算等铁路运输生产的诸多方面,但这一问题一直未能得到很好地解决,使之成为铁道部原有算法中的难点问题。主要原因在于,一是全国铁路拥有众多的营业站和营业线;二是铁道部和各铁路局根据铁路运输的实际需要制定了一系列车流径路特定经由的规定,这些规定以文件或电报的形式下发,这两方面原因使车流径路难于用计算机直接处理。传统的方法是,由车流径路专家,根据最短径路表及特定经由文件电报,编制(多数情况是手工编制)交接站间、局界口间、分局界口间的换算里程表及经由索引表等一系列中间径路表,再结合里程表、运价表等查询获得从任意两站间的里程、径路、运价等信息。这种传统处理方式不但维护极其困难,而且正确性、一致性难以保证。
(三)、发明内容:
本发明要解决的技术问题是:克服现有技术的缺陷,提供一种具有灵活性、简洁性、扩展性的车流最短径路查询器。
本发明的技术方案:
一种车流最短径路查询器,含有基本信息加载器、规则加载器、规则匹配器、节点生成器、径路查找器、径路输出器和日志管理器;该车流最短径路查询器的入口是基本信息加载器,基本信息加载器完成下面两方面的工作:
方面a.基本信息加载器将省表、局表、分局表、站表、线表、里程表、口子站表、小口子站表以及属性表的信息加载到内存的结构中,形成基本信息的信息结构,然后,完成特定径路规则目标码的加载的工作;
方面b.基本信息加载器还将在编译器中构建的特定径路规则信息存储到特定径路规则信息结构中;
基本信息加载器的上述两方面的工作完成后形成的数据结构被规则匹配器、节点生成器和径路查找器使用;节点生成器使用基本信息结构和规则结构得到可以构建Dijkstra矩阵的基本站点形成的矩阵节点集合;规则匹配器为用户提出的查询请求进行规则匹配,得到适用于查询请求的特定径路规则集合;径路查找器用来查询请求计算非受限最短径路、全局受限最短径路和最终受限最短径路,径路查找器将生成的全局受限最短径路和最终受限最短径路以及匹配和选取的规则信息交给径路输出器进行径路输出结果的构建;径路输出器根据从径路查找器得到的信息进行处理,将全局受限最短径路构建为理论最短径路,将最终受限最短径路根据处理器的处理模式进行加工,得到包含所有途径站的最终受限最短径路输出信息,同时根据查询器模式构建最终受限最短径路途经的口子站和小口子站的信息、匹配和选取规则的信息、违流信息;日志管理器在基本信息加载器、规则加载器、规则匹配器、节点生成器、径路查找器和径路输出器的各个工作阶段中记录日志和相关错误信息。
基本站点含有:歧义站点,在特定径路规则中出现的限制通过、允许通过和改通过的单独站点或路段的起止站点,各条铁路线的起始站点和终止站点。
基本信息加载器读取相应省表、局表、分局表、站表、线表、里程表、口子站表、小口子站表以及属性表的信息,如果读不到,则为空值;基本信息加载器使用日志管理器说明加载情况,如果存在某些基本信息无法加载,则调用日志管理器记录错误信息,并强行退出系统;基本信息加载器加载完成后形成的基本信息结构被规则加载器使用,用来设置站点的“限制通过”、“改通过”、“允许通过”标志;基本信息加载器加载完成后形成的基本信息结构被节点生成器使用,用来从基本信息中找到构建矩阵节点的基本站点;基本信息加载器加载完成后形成的基本信息结构被径路查找器使用,用来获取基本信息中的相关信息。
省表含有:省编码、省名;局表含有:局编码、局名称、局简码;分局表含有:分局编码、分局名称、分局所属局的局编码;站表含有:站编码、站名称、站所属分局的分局编码、站所属的局的局编码、站所在省的省编码、站所在城市编码、车务段编码、电报码、办理别;线表含有:线编码、线名称;里程表含有:站编码、线编码、站在该线上的下行里程、站在该线上的上行里程、同一线上上下里程都相同的站点之间的标志;口子站表含有:口子站编码、站编码、口子名称、交接局编码;小口子站表含有:小口子站编码、站编码、小口子名称;属性表含有:属性值的名称、属性值的编码。
规则加载器的输入为编译器生成的特定规则目标码文件,规则加载器的输出为规则的内存结构;规则加载器扫描特定规则目标码文件,将目标码文件中的规则加载到规则结构体中,规则加载器使用日志管理器说明规则加载情况,如果存在规则信息无法加载,调用日志管理器记录错误信息,并强行退出系统;规则加载器加载完成后,规则匹配器会使用规则加载器提供的规则,对用户提出的查询请求进行规则匹配,选出用户查询请求适用的规则;节点生成器在构建矩阵节点的时候,根据规则加载器设置的站点标志信息挑选出基本站点。
站点标志信息含有“限制通过”标志、“改通过”标志和“允许通过”标志;所述特定规则目标码文件中各个字段之间使用“tab键”隔开,特定规则目标码文件的格式为:规则号发自经由最短经由到达属性限制通过允许通过改通过行号。
规则匹配器的输入为规则内存结构和用户查询请求,规则匹配器的输出为适用于用户查询的非全局规则;规则匹配器接收到用户的查询请求,根据非全局规则中指定的发站集合、到站集合、经由站、最短经由站、属性集合这些信息和查询请求的发站、到站、属性这些信息进行规则匹配,得到用户查询所适用的局部规则;发到站集合、经由站、属性均匹配然而只有“最短经由”约束项不符合查询请求的非全局规则是在求得最终特定径路以后再次进行匹配的规则,所以规则匹配器在匹配规则的时候将这样的规则的序号记录下来,以备下一轮匹配时使用;日志管理器记录在匹配过程中出现的所有错误信息。
节点生成器的输入为站表内存结构和里程表内存结构,节点生成器的输出为基本节点及其邻接关系的结构、站表中每个站点与其上一个基本站点和下一个基本站点的邻接信息;节点生成器挑选出所有构成Dijkstra矩阵节点的基本站点;基本信息加载器载加基本信息的同时在站表中标记出歧点站、铁路线的起始站点和终止站点;规则加载器载加载过程中将所有出现在规则中“改通过”、“限制通过”和“允许通过”的单独站点或路段的起止站点在站表中作标记;节点生成器根据站表中的标志构建基本站点的集合,然后根据里程表的信息构建基本站点之间的邻接关系以及非基本站点与其上一个基本站点和下一个基本站点的邻接信息;其中,基本站点的集合以及基本站点之间的邻接关系存储在基本站点的结构中,非基本站点与其上一个和下一个基本站点的邻接信息记录在站表中;站表中基本站点的上一个基本站点和下一个基本站点为其自身;日志管理器记录在节点生成中出现的错误信息;径路查找器使用节点生成器生成的基本站点集合及其邻接关系体现铁路网的连接状况,在不施加任何规则、只施加全局规则和将规则匹配器匹配出来的要施加的规则也施加到基本站点之间的邻接关系上这三种情况下,分别计算非受限最短径路、全局受限最短径路和最终受限最短径路。
径路查找器的输入为:基本信息、基本站点集合、查询请求、查询模式和经由规则结构,径路查找器的输出为:非受限最短径路、全局受限最短径路、最终受限最短径路以及匹配和施加的规则等信息;径路查找器根据节点生成器生成的基本节点及其邻接信息、线表、站表、里程表、计算理论最短径路将各个基本节点至其他各个基本节点之间的理论最短径路信息存储在非受限最短径路矩阵中;径路查找器结合规则加载器得到全局限制规则,并计算全局受限的情况下的基本节点之间的最短径路信息,将其存储在全局受限最短径路矩阵中;针对特定的查询请求,从非受限最短径路矩阵求得请求中发站至到站之间的非受限最短径路,从全局受限矩阵中求得发站至到站的全局受限最短径路,然后,结合查询模式参数,进行规则匹配和规则的选取,将需要施加的局部限制规则施加到基本站点之间的邻接关系上,计算在所有限制条件下查询请求的发站至到站的最终最短径路;全局受限最短径路信息和最终受限最短径路信息以及规则的匹配和选取信息会被径路输出器使用;径路输出器将全局受限最短径路经过的基本节点信息和最终受限最短径路的途经的所有站点信息添加到输出结果中,并且根据查询模式分别处理“往返”、违流、规则信息整理这些事项。径路查找器运行过程中,如果遇到错误,使用日志管理器记录中间的错误信息。
径路输出器的输入为:查询模式、查询请求以及查询请求的全局受限最短径路和最终受限最短径路、匹配和施加的规则信息、输出内容标志、查询结果文件指针,径路输出器的输出为:最短径路查找结果结构体、查找结果文件;
首先,径路输出器根据径路查找器的计算结果构建输出结果,根据径路查找器求得的全局受限最短径路构建理论最短径路的信息,根据径路查找器求得的最终受限最短径路构建特定径路,其中,理论最短径路只需要列出途径基本站点和里程信息,特定径路则需要途径所有站点信息和里程信息,另外径路输出器根据查询模式的不同分别处理“往返”、匹配和施加的规则、违流判断这些事项;
其次,径路输出器依照输出内容标志和查询结果文件指针参数,将构建的查询结果的内容输出到指定位置,如果查询结果文件指针为空,则将结果输出到标准输出设备,否则,按照一定的格式输出到查找结果文件中;全局受限最短径路只列出途径的基本站名称、基本站编码、基本站所在线路名称、线路编码、上下行以及里程信息;而最终受限最短径路要列出途径的所有站名称、站编码、站所在线名称、线路编码、上下行以及相应的里程信息,然后输出最终受限最短径路途经的口子站、小口子站、违流情况、查询请求匹配到的规则及规则选取情况输出到的指定文件。
各项内容的输出格式如下:
最短径路:发站名称(发站编码)-到站名称(到站编码)
途径基本站名称(途径基本站编码)所在线名称(线编码)上下行里程
总里程=总里程数目
空行
#####################################
空行
特定最短径路::发站名称(发站编码)-到站名称(到站编码)
途径站名称(途径站编码)所在线名称(线编码)上下行里程
总里程=总里程数目
特定经由途径口子站;
站编码线编码口子站名称(口子站编码)局编码分局编码省编码里程上下行方向
特定经由途径小口子:
站编码线编码小口子名称(小口子编码)局编码分局编码省编码里程上下行方向
违流情况:违流/不违流
查询请求匹配到的规则
规则编号行号
查询请求选取的规则
规则编号行号
如果在文件生成中间出现任何错误都调用日志管理器记录错误日志并且系统强行退出。
为了更好地理解本发明的内容,现对部分术语进行解释:
全局报文规则:规则文件中对于任何查询请求都起作用的规则;
类全局报文规则:规则文件中之包含属性约束项的规则;
局部规则:规则文件中除了上述两种规则以外的所有规则,这些规则只对特定的查询请求有作用;
Dijkstra算法:求平面内任意点到平面内其它点的最短路径的算法;
Dijkstra矩阵:是指根据铁路网内的基本信息,构建的从网内基本站点到其它基本站点的最短径路信息的矩阵;
标识码:是对运输中的基本单位(包括:站、线、局、分局)进行的新标识的描述;例如:描述一个站{(001020,001020)},描述一个线段{(001001,001045),(001010,003020)};具体的描述含义参见编译器的总体设计部分;总而言之,运输系统是以线为基本单位,站点是具有相同起始点和终止点的线,局、分局等为面的含义,这些面都可以由若干条线段进行描述;
标识码编码对:标识码是由一个或多个编码对组成的,例如:上述标识码中的(001020,001020),(001001,001045),和(001010,003020)分别都是编码对。
标识码编码对的起止编码:标识码的编码对是由一对编码数构成,也就是编码对的起止编码,例如:上述编码对中,001020是(001020,001020)的起止编码,001001和001045是(001001,001045)的起止编码,001010和003020是(001010,003020)的起止编码;
歧点站:歧义点站,指在铁路运输网络中,具有两条或者两条以上线路的站;也就是多于两条线路的交点站;
支线:主干线(例如:陇海、京广)分支出来的小的铁路线路;
上行里程,下行里程:以京广线为例,如果以北京到广州为计算线路,那该线路上的石家庄站的上行里程为北京到石家庄的公里数,而下行里程为广州到石家庄的公里数;
对某一线路,其上下里程数并不一定相同:以京广线为例,北京的上行里程数为0公里,下行里程为2980公里;而广州的上行里程为3000公里,下行里程为0公里。这主要是由于铁路运输中同一线路中有上行线和下行线,两条铁路线并不一定是完全平行的(例如,在某些路段,上行线会通过高架桥走直线,而下行线则会通过山洞走弯线);
编组站:可以在货运中对运输的列车有能力进行解编组和编组的运输站;编组不是所有的车站都能够进行,每个铁路局也就有6个左右的编组站;
最短径路:从始发站到终点站按照当前铁路运输径路网络的最短径路;
特定径路:根据铁道部规定的运输径路限制条例,从始发站到终点站所能够走的在受限条件下的最短径路;
理论最短径路:特定经路或者最短径路(如果没有径路限制就按照最短径路);
实际径路:列车在实际情况下从始发站到终点站所走的径路;
基本站点:是用来构成Dijkstra矩阵的站。这些站包括歧点站、规则中出现的允许通过、限制通过和改通过中的独立站点和路段的端站点、各条线的起始点和终止站点;
非受限最短径路:没有任何限制条件下,始发站到终点站之间的最短径路;
全局受限最短径路:施加了全局限制规则的情况下,始发站到终点站之间的最短径路;
最终受限最短径路:施加了全局限制规则和查询请求匹配到的规则的情况下,始发站到终点站之间的最短径路。
本发明的有益效果:
1、本发明将特定径路规则定义构成一种规则定义语言(该语言可以被计算机识别),通过语言的编译器将规则形成规则目标码。最短径路查询器需要使用规则目标码,在用户提出查找目标(起始站、到达站)的时候匹配规则目标码,得到相关的规则,并将规则施加,得到受限的最短径路。本发明比起原先使用的系统灵活性、简洁性、扩展性都得到了大幅度的提升,业务用户只需要根据铁道部下发的特定径路报文定义规则,然后调用查询器就可以得到任意两站之间的受限最短径路。
(四)、附图说明:
图1为车流最短径路查询器的结构示意图;
图2为车流最短径路查询器的内部信息流向示意图。
(五)、具体实施方式:
参见图1~图2,图中,车流最短径路查询器含有基本信息加载器、规则加载器、规则匹配器、节点生成器、径路查找器、径路输出器和日志管理器;该车流最短径路查询器的入口是基本信息加载器,基本信息加载器完成下面两方面的工作:
方面a.基本信息加载器将省表、局表、分局表、站表、线表、里程表、口子站表、小口子站表以及属性表的信息加载到内存的结构中,形成基本信息的信息结构,然后,完成特定径路规则目标码的加载的工作;
方面b.基本信息加载器还将在编译器中构建的特定径路规则信息存储到特定径路规则信息结构中;
基本信息加载器的上述两方面的工作完成后形成的数据结构被规则匹配器、节点生成器和径路查找器使用;节点生成器使用基本信息结构和规则结构得到可以构建Dijkstra矩阵的基本站点形成的矩阵节点集合;规则匹配器为用户提出的查询请求进行规则匹配,得到适用于查询请求的特定径路规则集合;径路查找器用来查询请求计算非受限最短径路、全局受限最短径路和最终受限最短径路,径路查找器将生成的全局受限最短径路和最终受限最短径路以及匹配和选取的规则信息交给径路输出器进行径路输出结果的构建;径路输出器根据从径路查找器得到的信息进行处理,将全局受限最短径路构建为理论最短径路,将最终受限最短径路根据处理器的处理模式进行加工,得到包含所有途径站的最终受限最短径路输出信息,同时根据查询器模式构建最终受限最短径路途经的口子站和小口子站的信息、匹配和选取规则的信息、违流信息;日志管理器在基本信息加载器、规则加载器、规则匹配器、节点生成器、径路查找器和径路输出器的各个工作阶段中记录日志和相关错误信息。
基本站点含有:歧义站点,在特定径路规则中出现的限制通过、允许通过和改通过的单独站点或路段的起止站点,各条铁路线的起始站点和终止站点。
基本信息加载器读取相应省表、局表、分局表、站表、线表、里程表、口子站表、小口子站表以及属性表的信息,如果读不到,则为空值;基本信息加载器使用日志管理器说明加载情况,如果存在某些基本信息无法加载,则调用日志管理器记录错误信息,并强行退出系统;基本信息加载器加载完成后形成的基本信息结构被规则加载器使用,用来设置站点的“限制通过”、“改通过”、“允许通过”标志;基本信息加载器加载完成后形成的基本信息结构被节点生成器使用,用来从基本信息中找到构建矩阵节点的基本站点;基本信息加载器加载完成后形成的基本信息结构被径路查找器使用,用来获取基本信息中的相关信息。
省表含有:省编码、省名;局表含有:局编码、局名称、局简码;分局表含有:分局编码、分局名称、分局所属局的局编码;站表含有:站编码、站名称、站所属分局的分局编码、站所属的局的局编码、站所在省的省编码、站所在城市编码、车务段编码、电报码、办理别;线表含有:线编码、线名称;里程表含有:站编码、线编码、站在该线上的下行里程、站在该线上的上行里程、同一线上上下里程都相同的站点之间的标志;口子站表含有:口子站编码、站编码、口子名称、交接局编码;小口子站表含有:小口子站编码、站编码、小口子名称;属性表含有:属性值的名称、属性值的编码。
规则加载器的输入为编译器生成的特定规则目标码文件,规则加载器的输出为规则的内存结构;规则加载器扫描特定规则目标码文件,将目标码文件中的规则加载到规则结构体中,规则加载器使用日志管理器说明规则加载情况,如果存在规则信息无法加载,调用日志管理器记录错误信息,并强行退出系统;规则加载器加载完成后,规则匹配器会使用规则加载器提供的规则,对用户提出的查询请求进行规则匹配,选出用户查询请求适用的规则;节点生成器在构建矩阵节点的时候,根据规则加载器设置的站点标志信息挑选出基本站点。
站点标志信息含有“限制通过”标志、“改通过”标志和“允许通过”标志;所述特定规则目标码文件中各个字段之间使用“tab键”隔开,特定规则目标码文件的格式为:规则号发自经由最短经由到达属性限制通过允许通过改通过行号。
规则匹配器的输入为规则内存结构和用户查询请求,规则匹配器的输出为适用于用户查询的非全局规则;规则匹配器接收到用户的查询请求,根据非全局规则中指定的发站集合、到站集合、经由站、最短经由站、属性集合这些信息和查询请求的发站、到站、属性这些信息进行规则匹配,得到用户查询所适用的局部规则;发到站集合、经由站、属性均匹配然而只有“最短经由”约束项不符合查询请求的非全局规则是在求得最终特定径路以后再次进行匹配的规则,所以规则匹配器在匹配规则的时候将这样的规则的序号记录下来,以备下一轮匹配时使用;日志管理器记录在匹配过程中出现的所有错误信息。
节点生成器的输入为站表内存结构和里程表内存结构,节点生成器的输出为基本节点及其邻接关系的结构、站表中每个站点与其上一个基本站点和下一个基本站点的邻接信息;节点生成器挑选出所有构成Dijkstra矩阵节点的基本站点;基本信息加载器载加基本信息的同时在站表中标记出歧点站、铁路线的起始站点和终止站点;规则加载器载加载过程中将所有出现在规则中“改通过”、“限制通过”和“允许通过”的单独站点或路段的起止站点在站表中作标记;节点生成器根据站表中的标志构建基本站点的集合,然后根据里程表的信息构建基本站点之间的邻接关系以及非基本站点与其上一个基本站点和下一个基本站点的邻接信息;其中,基本站点的集合以及基本站点之间的邻接关系存储在基本站点的结构中,非基本站点与其上一个和下一个基本站点的邻接信息记录在站表中;站表中基本站点的上一个基本站点和下一个基本站点为其自身;日志管理器记录在节点生成中出现的错误信息;径路查找器使用节点生成器生成的基本站点集合及其邻接关系体现铁路网的连接状况,在不施加任何规则、只施加全局规则和将规则匹配器匹配出来的要施加的规则也施加到基本站点之间的邻接关系上这三种情况下,分别计算非受限最短径路、全局受限最短径路和最终受限最短径路。
径路查找器的输入为:基本信息、基本站点集合、查询请求、查询模式和经由规则结构,径路查找器的输出为:非受限最短径路、全局受限最短径路、最终受限最短径路以及匹配和施加的规则等信息;径路查找器根据节点生成器生成的基本节点及其邻接信息、线表、站表、里程表、计算理论最短径路将各个基本节点至其他各个基本节点之间的理论最短径路信息存储在非受限最短径路矩阵中;径路查找器结合规则加载器得到全局限制规则,并计算全局受限的情况下的基本节点之间的最短径路信息,将其存储在全局受限最短径路矩阵中;针对特定的查询请求,从非受限最短径路矩阵求得请求中发站至到站之间的非受限最短径路,从全局受限矩阵中求得发站至到站的全局受限最短径路,然后,结合查询模式参数,进行规则匹配和规则的选取,将需要施加的局部限制规则施加到基本站点之间的邻接关系上,计算在所有限制条件下查询请求的发站至到站的最终最短径路;全局受限最短径路信息和最终受限最短径路信息以及规则的匹配和选取信息会被径路输出器使用;径路输出器将全局受限最短径路经过的基本节点信息和最终受限最短径路的途经的所有站点信息添加到输出结果中,并且根据查询模式分别处理“往返”、违流、规则信息整理这些事项。径路查找器运行过程中,如果遇到错误,使用日志管理器记录中间的错误信息。
径路输出器的输入为:查询模式、查询请求以及查询请求的全局受限最短径路和最终受限最短径路、匹配和施加的规则信息、输出内容标志、查询结果文件指针,径路输出器的输出为:最短径路查找结果结构体、查找结果文件;
首先,径路输出器根据径路查找器的计算结果构建输出结果,根据径路查找器求得的全局受限最短径路构建理论最短径路的信息,根据径路查找器求得的最终受限最短径路构建特定径路,其中,理论最短径路只需要列出途径基本站点和里程信息,特定径路则需要途径所有站点信息和里程信息,另外径路输出器根据查询模式的不同分别处理“往返”、匹配和施加的规则、违流判断这些事项;
其次,径路输出器依照输出内容标志和查询结果文件指针参数,将构建的查询结果的内容输出到指定位置,如果查询结果文件指针为空,则将结果输出到标准输出设备,否则,按照一定的格式输出到查找结果文件中;全局受限最短径路只列出途径的基本站名称、基本站编码、基本站所在线路名称、线路编码、上下行以及里程信息;而最终受限最短径路要列出途径的所有站名称、站编码、站所在线名称、线路编码、上下行以及相应的里程信息,然后输出最终受限最短径路途经的口子站、小口子站、违流情况、查询请求匹配到的规则及规则选取情况输出到的指定文件。
各项内容的输出格式如下:
最短径路:发站名称(发站编码)-到站名称(到站编码)
途径基本站名称(途径基本站编码)所在线名称(线编码)上下行里程
总里程=总里程数目
空行
#####################################
空行
特定最短径路::发站名称(发站编码)-到站名称(到站编码)
途径站名称(途径站编码)所在线名称(线编码)上下行里程
总里程=总里程数目
特定经由途径口子站;
站编码线编码口子站名称(口子站编码)局编码分局编码省编码里程上下行方向
特定经由途径小口子:
站编码线编码小口子名称(小口子编码)局编码分局编码省编码里程上下行方向
违流情况:违流/不违流
查询请求匹配到的规则
规则编号行号
查询请求选取的规则
规则编号行号
如果在文件生成中间出现任何错误都调用日志管理器记录错误日志并且系统强行退出。
Claims (9)
1.一种车流最短径路查询器,其特征是:含有基本信息加载器、规则加载器、规则匹配器、节点生成器、径路查找器、径路输出器和日志管理器;该车流最短径路查询器的入口是基本信息加载器,基本信息加载器完成下面两方面的工作:
方面a.基本信息加载器将省表、局表、分局表、站表、线表、里程表、口子站表、小口子站表以及属性表的信息加载到内存的结构中,形成基本信息的信息结构,然后,完成特定径路规则目标码的加载的工作;
方面b.基本信息加载器还将在编译器中构建的特定径路规则信息存储到特定径路规则信息结构中;
基本信息加载器的上述两方面的工作完成后形成的数据结构被规则匹配器、节点生成器和径路查找器使用;节点生成器使用基本信息结构和规则结构得到可以构建Dijkstra矩阵的基本站点形成的矩阵节点集合;规则匹配器为用户提出的查询请求进行规则匹配,得到适用于查询请求的特定径路规则集合;径路查找器用来查询请求计算非受限最短径路、全局受限最短径路和最终受限最短径路,径路查找器将生成的全局受限最短径路和最终受限最短径路以及匹配和选取的规则信息交给径路输出器进行径路输出结果的构建;径路输出器根据从径路查找器得到的信息进行处理,将全局受限最短径路构建为理论最短径路,将最终受限最短径路根据处理器的处理模式进行加工,得到包含所有途径站的最终受限最短径路输出信息,同时根据查询器模式构建最终受限最短径路途经的口子站和小口子站的信息、匹配和选取规则的信息、违流信息;日志管理器在基本信息加载器、规则加载器、规则匹配器、节点生成器、径路查找器和径路输出器的各个工作阶段中记录日志和相关错误信息;
省表含有:省编码、省名;局表含有:局编码、局名称、局简码;分局表含有:分局编码、分局名称、分局所属局的局编码;站表含有:站编码、站名称、站所属分局的分局编码、站所属的局的局编码、站所在省的省编码、站所在城市编码、车务段编码、电报码、办理别;线表含有:线编码、线名称;里程表含有:站编码、线编码、站在该线上的下行里程、站在该线上的上行里程、同一线上上下里程都相同的站点之间的标志;口子站表含有:口子站编码、站编码、口子名称、交接局编码;小口子站表含有:小口子站编码、站编码、小口子名称;属性表含有:属性值的名称、属性值的编码;
非受限最短径路:没有任何限制条件下,始发站到终点站之间的最短径路;
全局受限最短径路:施加了全局限制规则的情况下,始发站到终点站之间的最短径路;
最终受限最短径路:施加了全局限制规则和查询请求匹配到的规则的情况下,始发站到终点站之间的最短径路;
理论最短径路:特定经路或者最短径路,如果没有径路限制就按照最短径路。
2.根据权利要求1所述的车流最短径路查询器,其特征是:所述基本站点含有:歧义站点,在特定径路规则中出现的限制通过、允许通过和改通过的单独站点或路段的起止站点,各条铁路线的起始站点和终止站点。
3.根据权利要求1或2所述的车流最短径路查询器,其特征是:所述基本信息加载器读取相应省表、局表、分局表、站表、线表、里程表、口子站表、小口子站表以及属性表的信息,如果读不到,则为空值;基本信息加载器使用日志管理器说明加载情况,如果存在某些基本信息无法加载,则调用日志管理器记录错误信息,并强行退出系统;基本信息加载器加载完成后形成的基本信息结构被规则加载器使用,用来设置站点的“限制通过”、“改通过”、“允许通过”标志;基本信息加载器加载完成后形成的基本信息结构被节点生成器使用,用来从基本信息中找到构建矩阵节点的基本站点;基本信息加载器加载完成后形成的基本信息结构被径路查找器使用,用来获取基本信息中的相关信息。
4.根据权利要求1或2所述的车流最短径路查询器,其特征是:所述规则加载器的输入为编译器生成的特定规则目标码文件,规则加载器的输出为规则的内存结构;规则加载器扫描特定规则目标码文件,将目标码文件中的规则加载到规则结构体中,规则加载器使用日志管理器说明规则加载情况,如果存在规则信息无法加载,调用日志管理器记录错误信息,并强行退出系统;规则加载器加载完成后,规则匹配器会使用规则加载器提供的规则,对用户提出的查询请求进行规则匹配,选出用户查询请求适用的规则;节点生成器在构建矩阵节点的时候,根据规则加载器设置的站点标志信息挑选出基本站点。
5.根据权利要求4所述的车流最短径路查询器,其特征是:所述站点标志信息含有“限制通过”标志、“改通过”标志和“允许通过”标志;所述特定规则目标码文件中各个字段之间使用“tab键”隔开,特定规则目标码文件的格式为:规则号 发自 经由 最短经由 到达 属性 限制通过 允许通过改通过 行号。
6.根据权利要求1或2所述的车流最短径路查询器,其特征是:所述规则匹配器的输入为规则内存结构和用户查询请求,规则匹配器的输出为适用于用户查询的非全局规则;规则匹配器接收到用户的查询请求,根据非全局规则中指定的发站集合、到站集合、经由站、最短经由站、属性集合这些信息和查询请求的发站、到站、属性这些信息进行规则匹配,得到用户查询所适用的局部规则;发到站集合、经由站、属性均匹配然而只有“最短经由”约束项不符合查询请求的非全局规则是在求得最终特定径路以后再次进行匹配的规则,所以规则匹配器在匹配规则的时候将这样的规则的序号记录下来,以备下一轮匹配时使用;日志管理器记录在匹配过程中出现的所有错误信息。
7.根据权利要求1或2所述的车流最短径路查询器,其特征是:所述节点生成器的输入为站表内存结构和里程表内存结构,节点生成器的输出为基本节点及其邻接关系的结构、站表中每个站点与其上一个基本站点和下一个基本站点的邻接信息;节点生成器挑选出所有构成Dijkstra矩阵节点的基本站点;基本信息加载器载加基本信息的同时在站表中标记出歧点站、铁路线的起始站点和终止站点;规则加载器载加载过程中将所有出现在规则中“改通过”、“限制通过”和“允许通过”的单独站点或路段的起止站点在站表中作标记;节点生成器根据站表中的标志构建基本站点的集合,然后根据里程表的信息构建基本站点之间的邻接关系以及非基本站点与其上一个基本站点和下一个基本站点的邻接信息;其中,基本站点的集合以及基本站点之间的邻接关系存储在基本站点的结构中,非基本站点与其上一个和下一个基本站点的邻接信息记录在站表中;站表中基本站点的上一个基本站点和下一个基本站点为其自身;日志管理器记录在节点生成中出现的错误信息;径路查找器使用节点生成器生成的基本站点集合及其邻接关系体现铁路网的连接状况,在不施加任何规则、只施加全局规则和将规则匹配器匹配出来的要施加的规则也施加到基本站点之间的邻接关系上这三种情况下,分别计算非受限最短径路、全局受限最短径路和最终受限最短径路。
8.根据权利要求1或2所述的车流最短径路查询器,其特征是:所述径路查找器的输入为:基本信息、基本站点集合、查询请求、查询模式和经由规则结构,径路查找器的输出为:非受限最短径路、全局受限最短径路、最终受限最短径路以及匹配和施加的规则;径路查找器根据节点生成器生成的基本节点及其邻接信息、线表、站表、里程表、计算理论最短径路将各个基本节点至其他各个基本节点之间的理论最短径路信息存储在非受限最短径路矩阵中;径路查找器结合规则加载器得到全局限制规则,并计算全局受限的情况下的基本节点之间的最短径路信息,将其存储在全局受限最短径路矩阵中;针对特定的查询请求,从非受限最短径路矩阵求得请求中发站至到站之间的非受限最短径路,从全局受限矩阵中求得发站至到站的全局受限最短径路,然后,结合查询模式参数,进行规则匹配和规则的选取,将需要施加的局部限制规则施加到基本站点之间的邻接关系上,计算在所有限制条件下查询请求的发站至到站的最终最短径路;全局受限最短径路信息和最终受限最短径路信息以及规则的匹配和选取信息会被径路输出器使用;径路输出器将全局受限最短径路经过的基本节点信息和最终受限最短径路的途经的所有站点信息添加到输出结果中,并且根据查询模式分别处理“往返”、违流、规则信息整理这些事项;径路查找器运行过程中,如果遇到错误,使用日志管理器记录中间的错误信息。
9.根据权利要求1或2所述的车流最短径路查询器,其特征是:所述径路输出器的输入为:查询模式、查询请求以及查询请求的全局受限最短径路和最终受限最短径路、匹配和施加的规则信息、输出内容标志、查询结果文件指针,径路输出器的输出为:最短径路查找结果结构体、查找结果文件;
首先,径路输出器根据径路查找器的计算结果构建输出结果,根据径路查找器求得的全局受限最短径路构建理论最短径路的信息,根据径路查找器求得的最终受限最短径路构建特定径路,其中,理论最短径路只需要列出途径基本站点和里程信息,特定径路则需要途径所有站点信息和里程信息,另外径路输出器根据查询模式的不同分别处理“往返”、匹配和施加的规则、违流判断这些事项;
其次,径路输出器依照输出内容标志和查询结果文件指针参数,将构建的查询结果的内容输出到指定位置,如果查询结果文件指针为空,则将结果输出到标准输出设备,否则,按照一定的格式输出到查找结果文件中;全局受限最短径路只列出途径的基本站名称、基本站编码、基本站所在线路名称、线路编码、上下行以及里程信息;而最终受限最短径路要列出途径的所有站名称、站编码、站所在线名称、线路编码、上下行以及相应的里程信息,然后输出最终受限最短径路途经的口子站、小口子站、违流情况、查询请求匹配到的规则及规则选取情况输出到的指定文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010598059.7A CN102033940B (zh) | 2010-12-21 | 2010-12-21 | 车流最短径路查询器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010598059.7A CN102033940B (zh) | 2010-12-21 | 2010-12-21 | 车流最短径路查询器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102033940A CN102033940A (zh) | 2011-04-27 |
CN102033940B true CN102033940B (zh) | 2012-08-08 |
Family
ID=43886833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010598059.7A Active CN102033940B (zh) | 2010-12-21 | 2010-12-21 | 车流最短径路查询器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102033940B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175676B (zh) * | 2019-04-28 | 2021-04-20 | 中国科学院软件研究所 | 一种面向内存受限环境的高性能规则匹配方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1480867A (zh) * | 2002-10-16 | 2004-03-10 | 黄珏华 | 一种电子地图的制作方法和显示方法 |
US20060074857A1 (en) * | 2002-03-28 | 2006-04-06 | Thure Etzold | Method and apparatus for querying relational databases |
CN1801143A (zh) * | 2004-12-31 | 2006-07-12 | 张箭 | 电子地图使用方法 |
-
2010
- 2010-12-21 CN CN201010598059.7A patent/CN102033940B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060074857A1 (en) * | 2002-03-28 | 2006-04-06 | Thure Etzold | Method and apparatus for querying relational databases |
CN1480867A (zh) * | 2002-10-16 | 2004-03-10 | 黄珏华 | 一种电子地图的制作方法和显示方法 |
CN1801143A (zh) * | 2004-12-31 | 2006-07-12 | 张箭 | 电子地图使用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102033940A (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101572606B (zh) | 一种社会化网络中认证请求消息发送方法及装置 | |
CN105678485A (zh) | 智能客货运输的系统及方法 | |
CN102874279A (zh) | 一种列车进路办理方法 | |
CN112208586B (zh) | 联锁表生成方法、装置及可读存储介质 | |
CN101763612A (zh) | 一种轨道交通系统运费清分方法 | |
CN106672022B (zh) | 一种轨道交通联锁表生成方法及系统 | |
CN108090746A (zh) | 一种基于不同企业间数据共享的供应链协同管理方法 | |
Mostafa et al. | Solving the heterogeneous capacitated vehicle routing problem using K-means clustering and valid inequalities | |
CN106697002B (zh) | 一种互联互通线路运行图的分布式编制方法 | |
CN102033940B (zh) | 车流最短径路查询器 | |
CN116579699A (zh) | 一种基于车货协同的智慧物流配送系统 | |
WO2022062206A1 (zh) | 轨道交通的行车组织方案设计系统 | |
CN110737665B (zh) | 一种数据处理方法及装置 | |
CN114559989B (zh) | 一种列车定位方法、装置、终端设备以及存储介质 | |
Wei et al. | A last-mile delivery system for underground logistics with “self-pickup+” and “home-entry+” modes | |
CN106131134A (zh) | 一种消息内容合并去重方法及系统 | |
CN113177096B (zh) | 基于正序推算和逆序检查的电子地图数据生成方法及系统 | |
CN115187169A (zh) | 基于协同路径规划的物流配送系统及方法 | |
CN113743863A (zh) | 一种基于智能合约的车货匹配方法 | |
CN106940844A (zh) | 一种物流调度系统及方法 | |
CN105634938B (zh) | 一种用于软件定义网络的数据双路径备份传输方法 | |
CN111582663A (zh) | Nqi质量服务的方法、平台、用户终端及可读存储介质 | |
CN1269031C (zh) | 一种在城市轨道交通中的换乘票务清分方法 | |
CN109215341A (zh) | 一种包含下车信息的公交出行数据生成方法 | |
CN111950648A (zh) | 一种快递包裹标签三段码校验方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: 450052, room 1356, No. 101, East sailing Road, Zhengzhou economic and Technological Development Zone, Henan, Zhengzhou Patentee after: Zhengzhou Fenghua Tiexin Polytron Technologies Inc Address before: 450052, room 1356, No. 101, East sailing Road, Zhengzhou economic and Technological Development Zone, Henan, Zhengzhou Patentee before: Zhengzhou Fenghua Electronic Co., Ltd. |