CN105721402B - 一种解析sita报文的方法和装置 - Google Patents
一种解析sita报文的方法和装置 Download PDFInfo
- Publication number
- CN105721402B CN105721402B CN201410736251.6A CN201410736251A CN105721402B CN 105721402 B CN105721402 B CN 105721402B CN 201410736251 A CN201410736251 A CN 201410736251A CN 105721402 B CN105721402 B CN 105721402B
- Authority
- CN
- China
- Prior art keywords
- instance
- matching
- resolver
- content
- list
- 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
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000014509 gene expression Effects 0.000 claims description 67
- 102100027867 FH2 domain-containing protein 1 Human genes 0.000 description 10
- 101001060553 Homo sapiens FH2 domain-containing protein 1 Proteins 0.000 description 10
- 102100031235 Chromodomain-helicase-DNA-binding protein 1 Human genes 0.000 description 5
- 102100031265 Chromodomain-helicase-DNA-binding protein 2 Human genes 0.000 description 5
- 101000777047 Homo sapiens Chromodomain-helicase-DNA-binding protein 1 Proteins 0.000 description 5
- 101000777079 Homo sapiens Chromodomain-helicase-DNA-binding protein 2 Proteins 0.000 description 5
- 101000880945 Homo sapiens Down syndrome cell adhesion molecule Proteins 0.000 description 5
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000009415 formwork Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种解析国际航空电信协会(SITA)报文的方法和装置,包括:接收到SITA报文,根据接收到的SITA报文的类型查找对应的模板;根据查找到的模板对接收到的SITA报文进行解析。通过本发明的方案,根据预先配置的SITA报文的模板对SITA报文进行解析,当SITA报文的格式不标准或有新增的报文类型时,只需要新增SITA报文的模板就能够进行解析,而不需要重写解析程序,从而提高了兼容性。
Description
技术领域
本发明涉及通信领域,尤指一种解析国际航空电信协会(SITA,SocieteInternational De Telecommun-ications)报文的方法和装置。
背景技术
SITA报文(如旅客中转报(PTM,Passenger Transfer Message)报文、飞行动态报(MVT,Aircraft Movement Message)报文、装载报(LDM,Load Message)报文和集装器/集装板配载电报(CPM,Container/Pallet Distribution Message)报文等)解析应用于民航领域信息交互,航空公司和机场之间使用SITA报文进行通信。SITA报文是按一定格式组织的文本,为了能够更好的阅读、分析报文内容需要对报文进行解析。
SITA报文是已完整接收的报文,解析这种固定格式报文的常用方法是通过关键字和位置信息查找报文内容。例如,PTM报文为“CA1601/02SHE 1Q2B40K IDOWU/AYOMIDE”时,解析方法如下:
1.通过“/”查找航班号CA1601。
2.通过“/”和后面的空格查找航班日期02。
3.通过航班日期后的空格和下一个空格查找到目的站点SHE。
4.后面的内容也按照以上的方式进行解析。
通过关键字(如“/”、空格等)和位置解析PTM报文,解析的逻辑复杂,兼容性较差,特别是当SITA报文的格式不标准或有新增的报文类型时,需要重写解析程序。
发明内容
为了解决上述问题,本发明提出了一种解析SITA报文的方法和装置,能够提高兼容性。
为了达到上述目的,本发明提出了一种解析国际航空电信协会SITA报文的方法,包括:预先配置SITA报文的模板;还包括:
接收到SITA报文,根据接收到的SITA报文的类型查找对应的模板;
根据查找到的模板对接收到的SITA报文进行解析。
优选地,所述模板包括一个或一个以上解析器,每个解析器至少包括第一正则表达式;
所述根据查找到的模板对接收到的SITA报文进行解析包括:
对于每个解析器,判断出所述解析器的类型为属性,获取所述解析器中的第一正则表达式;
将获得的第一正则表达式与所述SITA报文进行匹配,如果匹配成功,则获取匹配得到的第一匹配内容;
或者,对于每个解析器,判断出所述解析器的类型为列表,获取所述解析器中的第一正则表达式;
将获得的第一正则表达式与所述SITA报文进行匹配,如果匹配成功,则获取匹配得到的第一匹配内容;继续将所述SITA报文与所述获得的第一正则表达式进行匹配直到匹配不成功。
优选地,所述根据查找到的模板对接收到的SITA报文进行解析还包括:
将所述SITA报文的初始位置或上一次匹配成功后的结束位置,到所述第一匹配内容的初始位置之间的内容标记为无法识别的内容;
或者,将所述第一匹配内容的结束位置之后的内容标记为无法识别的内容。
优选地,所述解析器还包括一个或一个以上属性,所述模板还包括第一实体或所述解析器还包括第二实体,所述根据查找到的模板对接收到的SITA报文进行解析还包括:
对于所述解析器中的每个属性,在所述第一匹配内容中获取所述属性对应的第二匹配内容,将获得的第二匹配内容保存到第一实体或第二实体的所述属性中。
优选地,所述解析器还包括一个或一个以上第一实体列表和/或第一分组列表,所述第一实体列表或第一分组列表包括第二正则表达式;
所述根据查找到的模板对接收到的SITA报文进行解析还包括:
对于每个第一实体列表或第一分组列表,在所述第一匹配内容中获取所述第一实体列表或所述第一分组列表对应的第三匹配内容;
获取所述第一实体列表或所述第一分组列表中的第二正则表达式,将获得的第二正则表达式进行匹配与所述第三匹配内容,如果匹配成功,则获取匹配得到的第四匹配内容;
继续将所述获得的第二正则表达式所述第三匹配内容与进行匹配直到匹配不成功。
优选地,当所述第一实体列表或所述第一分组列表包括一个或一个以上属性时,所述第一实体列表还包括第三实体,所述模板还包括第一实体或所述解析器还包括第二实体;
根据查找到的模板对接收到的SITA报文进行解析还包括:
对于所述第一实体列表或所述第一分组列表中的每个属性,在所述第四匹配内容中获取所述属性对应的第五匹配内容,将获得的第五匹配内容保存到所述第三实体或所述第二实体对应的属性中;匹配结束后,将所述第三实体或所述第二实体保存到所述第一实体中。
优选地,所述根据查找到的模板对接收到的SITA报文进行解析还包括:
将所述SITA报文的初始位置或上一次匹配成功后的结束位置,到所述第四匹配内容的初始位置之间的内容标记为无法识别的内容;
或者,将所述第四匹配内容的结束位置之后的内容标记为无法识别的内容。
本发明还提出了一种解析国际航空电信协会SITA报文的装置,至少包括:
存储模块,用于保存预先配置的SITA报文的模板;
查找模块,用于接收到SITA报文,根据接收到的SITA报文的类型查找对应的模板;
解析模块,用于根据查找到的模板对接收到的SITA报文进行解析。
优选地,所述模板包括一个或一个以上解析器,每个解析器至少包括第一正则表达式;
所述解析模块具体用于:
对于每个解析器,判断出所述解析器的类型为属性,获取所述解析器中的第一正则表达式;
将获得的第一正则表达式与所述SITA报文进行匹配,如果匹配成功,则获取匹配得到的第一匹配内容;
或者,对于每个解析器,判断出所述解析器的类型为列表,获取所述解析器中的第一正则表达式;
将获得的第一正则表达式与所述SITA报文进行匹配,如果匹配成功,则获取匹配得到的第一匹配内容;继续将所述SITA报文与所述获得的第一正则表达式进行匹配直到匹配不成功。
优选地,所述解析器还包括一个或一个以上属性,所述模板还包括第一实体或所述解析器还包括第二实体,所述解析模块还用于:
对于所述解析器中的每个属性,在所述第一匹配内容中获取所述属性对应的第二匹配内容,将获得的第二匹配内容保存到第一实体或第二实体的所述属性中。
优选地,所述解析器还包括一个或一个以上第一实体列表和/或第一分组列表,所述第一实体列表或第一分组列表包括第二正则表达式;
所述解析模块还用于:
对于每个第一实体列表或第一分组列表,在所述第一匹配内容中获取所述第一实体列表或所述第一分组列表对应的第三匹配内容;
获取所述第一实体列表或所述第一分组列表中的第二正则表达式,将获得的第二正则表达式与所述第三匹配内容进行匹配,如果匹配成功,则获取匹配得到的第四匹配内容;
继续将所述获得的第二正则表达式与所述第三匹配内容进行匹配直到匹配不成功。
优选地,所述第一实体列表或所述第一分组列表包括一个或一个以上属性,所述第一实体列表还包括第三实体,所述模板还包括第一实体或所述解析器还包括第二实体;
所述解析模块还用于:
对于所述第一实体列表或所述第一分组列表中的每个属性,在所述第四匹配内容中获取所述属性对应的第五匹配内容,将获得的第五匹配内容保存到所述第三实体或所述第二实体对应的属性中;匹配结束后,将所述第三实体或所述第二实体保存到所述第一实体中。
与现有技术相比,本发明包括:接收到SITA报文,根据接收到的SITA报文的类型查找对应的模板;根据查找到的模板对接收到的SITA报文进行解析。通过本发明的方案,根据预先配置的SITA报文的模板对SITA报文进行解析,当SITA报文的格式不标准或有新增的报文类型时,只需要新增SITA报文的模板就能够进行解析,而不需要重写解析程序,从而提高了兼容性。
附图说明
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
图1为本发明解析SITA报文的方法的流程图;
图2为本发明解析SITA报文的方法的具体实施例的流程图;
图3为本发明解析SITA报文的装置的结构组成示意图。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。
参见图1,本发明提出了一种解析SITA报文的方法,预先配置SITA报文的模板,配置的模板中包含有SITA报文的类型。
其中,模板包括一个或一个以上解析器,每个解析器包括第一正则表达式和下列的一个或多个:
第一实体、一个或一个以上属性、一个或一个以上第一实体列表和一个或一个以上第一分组列表。
当解析器的类型为列表时,解析器还可以包括第二实体。
第一实体列表或第一分组列表可以包括第二正则表达式和下列的一个或多个:
一个或一个以上属性、一个或一个以上第二实体列表和一个或一个以上第二分组列表。
第一实体列表还包括第三实体。
也就是说,实体列表和分组列表之间可以相互嵌套,具体视报文的格式确定。
其中,模板可以采用XML格式,具体可以根据模版的规范《parser.xsd》进行配置。
该方法包括:
步骤100、接收到SITA报文,根据接收到的SITA报文的类型查找对应的模板。
本步骤中,SITA报文的类型一般位于报头中。
步骤101、根据查找到的模板对接收到的SITA报文进行解析。
本步骤中,根据查找到的模板对接收到的SITA报文进行解析包括:
对于每个解析器,判断出解析器的类型为属性,获取解析器中的第一正则表达式,将SITA报文与获得的第一正则表达式进行匹配,如果匹配成功,则获取匹配得到的第一匹配内容。
其中,根据查找到的模板对接收到的SITA报文进行解析还包括:
将SITA报文的初始位置或上一次匹配成功后的结束位置,到第一匹配内容的初始位置之间的内容标记为无法识别的内容;或者,将所述第一匹配内容的结束位置之后的内容标记为无法识别的内容。
或者,对于每个解析器,判断出解析器的类型为列表,获取解析器中的第一正则表达式,将获得的第一正则表达式与SITA报文进行匹配,如果匹配成功,则获取匹配得到的第一匹配内容;继续将SITA报文与获得的第一正则表达式进行匹配直到匹配不成功。
其中,当解析器包括一个或一个以上属性时,根据查找到的模板对接收到的SITA报文进行解析还包括:
对于解析器中的每个属性,在第一匹配内容中获取属性对应的第二匹配内容,将获得的第二匹配内容保存到第一实体或第二实体对应的属性中。
其中,当解析器包括一个或一个以上第一实体列表或第一分组列表,第一实体列表或第一分组列表包括第二正则表达式时,根据查找到的模板对接收到的SITA报文进行解析还包括:
对于每个第一实体列表或第一分组列表,在第一匹配内容中获取第一实体列表或第一分组列表对应的第三匹配内容;获取第一实体列表或第一分组列表中的第二正则表达式,将获得的第二正则表达式与第三匹配内容进行匹配,如果匹配成功,则获取匹配得到的第四匹配内容;继续将获得的第二正则表达式与第三匹配内容进行匹配直到匹配不成功。
当第一实体列表或第一分组列表包括一个或一个以上属性时,根据查找到的模板对接收到的SITA报文进行解析还包括:
对于第一实体列表或第一分组列表中的每个属性,在第四匹配内容中获取属性对应的第五匹配内容,将获得的第五匹配内容保存到第三实体或第二实体对应的属性中;匹配结束后,将第三实体或第二实体保存到第一实体中。
根据查找到的模板对接收到的SITA报文进行解析还包括:
将SITA报文的初始位置或上一次匹配成功后的结束位置,到第四匹配内容标记为无法识别的内容;或者,将第四匹配内容的结束位置之后的内容标记为无法识别的内容。
当第一实体列表或第一分组列表还包括第二实体列表或第二分组列表时,可以采用相同的方法进行解析。
下面通过具体实施例详细说明本发明的方法。
以下为需要进行解析的PTM报文。
KE5820/12NOV GMPPEK PART1
AF935/18CCS 4Y 8B LI/WANG/BINTO.CHD2.INF1
AF936/18CCD 3Y 3B ZHANG/SAN.CHD1.INF1
ENDPTM
参见图2,解析PTM报文的方法包括:
步骤200、预先配置PTM报文的模板。
本步骤中,配置的PTM报文的模板如下:
模板1:
由此可知,模板1中包含有:第一实体(entiey)和三个解析器(part),每一个解析器以</part>结束。
第一个解析器包含有:第一正则表达式(regx)和六个属性(item),类型为属性(attribute);第二个解析器包含有第一正则表达式(regx2)、第二实体(entity2)和八个属性(item),类型为列表(list);第三个解析器包含有第一正则表达式(regx)和一个属性(item);其中,每一个属性以</item>结束。
模板2:
由此可知,模板2中包含有:第一实体(entiey)和一个解析器(part),解析器以</part>结束。
解析器包含有:第一正则表达式(regx)、七个属性(item)和一个第一实体列表(list),类型为属性(attribute);其中,每一个属性以</item>结束,第一实体列表以</list>结束。
第一实体列表中包含有:第三实体(entity)、第二正则表达式(regx5)和八个属性。
步骤201、根据预先设置的PTM报文的模板对PTM报文进行解析。
本步骤中,对于模板1,具体解析过程如下:
对于第一个解析器,判断出解析器的类型为属性,获取第一正则表达式regx1,将PTM报文与regx1进行匹配,匹配成功,得到第一匹配内容为KE5820/12NOV GMPPEK PART1,然后在第一匹配内容中获取每一个属性对应的第二匹配内容,分别为航班号(flightNum):KE5820,航班日期(日)(day):12,航班日期(月)(month):NOV,起飞机场(airport):GMP,中转机场(changeAirport):PEK,报文部分(part):PART1将获得的各个属性保存到第一实体(entity1)中。
对于第二个解析器,判断出解析器的类型为列表,获取第一正则表达式regx2,将PTM报文与regx2进行匹配,匹配成功,得到第一匹配内容为AF935/18CCS 4Y 8B LI/WANG/BINTO.CHD2.INF1,在第一匹配内容中获取每一个属性对应的第二匹配内容,分别为转航班号(connFlightNumber):AF935,中转日期(connDate):18,目的机场(arrivalAirport):CCS,座位数量(seatNumber):4,行李数量(luggageNum):8,乘客姓名(passengerName):LI/WANG/BINTO,儿童数量(childNumber):2,婴儿数量(infantsNumber):1;将获得的各个属性保存到第二实体(entity2)中;
再次将PTM报文与regx2进行匹配,匹配成功,得到第一匹配内容为AF936/18CCD3Y 3B ZHANG/SAN.CHD1.INF1,在第一匹配内容中获取每一个属性对应的第二匹配内容,分别为中转航班号(connFlightNumber):AF936,中转日期(connDate):18,目的机场(arrivalAirport):CCD,座位数量(seatNumber):3,行李数量(luggageNum):3,乘客姓名(passengerName):ZHANG/SAN,儿童数量(childNumber):1,婴儿数量(infantsNumber):1;第三次未匹配到内容;将获得的各个属性保存到第二实体(entity2)中。
再次将PTM报文与regx2进行匹配,匹配不成功,将第二实体(entity2)保存到第一实体(entity1)中。
对于第三个解析器,判断出解析器的类型为属性,获取第一正则表达式regx3,将PTM报文与regx3进行匹配,匹配成功,得到第一匹配内容ENDPTM,即提取到结束标记,PTM报文解析结束。
对于模板2,具体解析过程如下:
对于解析器,判断出解析器的类型为属性,获取第一正则表达式regx4,将PTM报文与regx4进行匹配,匹配成功,得到第一匹配内容:
KE5820/12NOV GMPPEK PART1
AF935/18CCS 4Y 8B LI/WANG/BINTO.CHD2.INF1
AF936/18CCD 3Y 3B ZHANG/SAN.CHD1.INF1
然后在第一匹配内容中获取每一个属性对应的第二匹配内容,分别为航班号(flightNum):KE5820,航班日期(日)(day):12,航班日期(月)(month):NOV,起飞机场(airport):GMP,中转机场(changeAirport):PEK,报文部分(part):PART1,结束标记:ENDPTM。
对于第一实体列表,在第一匹配内容中获取第一实体列表对应的第三匹配内容:
AF935/18CCS 4Y 8B LI/WANG/BINTO.CHD2.INF1
AF936/18CCD 3Y 3B ZHANG/SAN.CHD1.INF1
获取第一实体列表中的第二正则表达式(regx5),将第三匹配内容与第二正则表达式进行匹配,匹配成功,得到第四匹配内容AF935/18CCS 4Y 8B LI/WANG/BINTO.CHD2.INF1,然后在第四匹配内容中获取第一实体列表中的每一个属性对应的第五匹配内容,分别为中转航班号(connFlightNumber):AF935,中转日期(connDate):18,目的机场(arrivalAirport):CCS,座位数量(seatNumber):4,行李数量(luggageNum):8,乘客姓名(passengerName):LI/WANG/BINTO,儿童数量(childNumber):2,婴儿数量(infantsNumber):1
继续将第三匹配内容与第二正则表达式进行匹配,匹配成功,得到第四匹配内容AF936/18CCD 3Y 3B ZHANG/SAN.CHD1.INF1,然后在第四匹配内容中获取第一实体列表中的每一个属性对应的第五匹配内容,分别为中转航班号(connFlightNumber):AF936,中转日期(connDate):18,目的机场(arrivalAirport):CCD,座位数量(seatNumber):3,行李数量(luggageNum):3,乘客姓名(passengerName):ZHANG/SAN,儿童数量(childNumber):1,婴儿数量(infantsNumber):1;
继续将第三匹配内容与第二正则表达式进行匹配,匹配不成功。
由上述具体实施例可知,对于同一SITA报文,可以采用各种不同的模板结构进行报文解析,展示了模板的灵活性。
参见图3,本发明还提出了一种解析SITA报文的装置,至少包括:
存储模块,用于保存预先配置的SITA报文的模板;
查找模块,用于接收到SITA报文,根据接收到的SITA报文的类型查找对应的模板;
解析模块,用于根据查找到的模板对接收到的SITA报文进行解析。
本发明的装置中,模板包括一个或一个以上解析器,每个解析器至少包括第一正则表达式;
解析模块具体用于:
对于每个解析器,判断出解析器的类型为属性,获取解析器中的第一正则表达式;
将获得的第一正则表达式与SITA报文进行匹配,如果匹配成功,则获取匹配得到的第一匹配内容;
或者,对于每个解析器,判断出解析器的类型为列表,获取解析器中的第一正则表达式;
将获得的第一正则表达式与SITA报文进行匹配,如果匹配成功,则获取匹配得到的第一匹配内容;继续将SITA报文与获得的第一正则表达式进行匹配直到匹配不成功。
本发明的装置中,解析器还包括一个或一个以上属性,模板还包括第一实体或解析器还包括第二实体,解析模块还用于:
对于解析器中的每个属性,在第一匹配内容中获取属性对应的第二匹配内容,将获得的第二匹配内容保存到第一实体或第二实体的属性中。
本发明的装置中,解析器还包括一个或一个以上第一实体列表和/或第一分组列表,第一实体列表或第一分组列表包括第二正则表达式;
解析模块还用于:
对于每个第一实体列表或第一分组列表,在第一匹配内容中获取第一实体列表或第一分组列表对应的第三匹配内容;
获取第一实体列表或第一分组列表中的第二正则表达式,将获得的第二正则表达式与第三匹配内容进行匹配,如果匹配成功,则获取匹配得到的第四匹配内容;
继续将获得的第二正则表达式与第三匹配内容进行匹配直到匹配不成功。
本发明的装置中,第一实体列表或第一分组列表包括一个或一个以上属性,第一实体列表还包括第三实体,模板还包括第一实体或解析器还包括第二实体;
解析模块还用于:
对于第一实体列表或第一分组列表中的每个属性,在第四匹配内容中获取属性对应的第五匹配内容,将获得的第五匹配内容保存到第三实体或第二实体对应的属性中;匹配结束后,将第三实体或第二实体保存到第一实体中。
需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。
Claims (12)
1.一种解析国际航空电信协会SITA报文的方法,其特征在于,包括:预先配置SITA报文的模板,所述模板包括一个或一个以上解析器,每个解析器至少包括第一正则表达式;所述解析器还包括一个或一个以上属性,所述模板还包括第一实体或所述解析器还包括第二实体;
方法还包括:
接收到SITA报文,根据接收到的SITA报文的类型查找对应的模板;
根据查找到的模板对接收到的SITA报文进行解析。
2.根据权利要求1所述的方法,其特征在于,
所述根据查找到的模板对接收到的SITA报文进行解析包括:
对于每个解析器,判断出所述解析器的类型为属性,获取所述解析器中的第一正则表达式;
将获得的第一正则表达式与所述SITA报文进行匹配,如果匹配成功,则获取匹配得到的第一匹配内容;
或者,对于每个解析器,判断出所述解析器的类型为列表,获取所述解析器中的第一正则表达式;
将获得的第一正则表达式与所述SITA报文进行匹配,如果匹配成功,则获取匹配得到的第一匹配内容;继续将所述SITA报文与所述获得的第一正则表达式进行匹配直到匹配不成功。
3.根据权利要求2所述的方法,其特征在于,所述根据查找到的模板对接收到的SITA报文进行解析还包括:
将所述SITA报文的初始位置或上一次匹配成功后的结束位置,到所述第一匹配内容的初始位置之间的内容标记为无法识别的内容;
或者,将所述第一匹配内容的结束位置之后的内容标记为无法识别的内容。
4.根据权利要求2所述的方法,其特征在于,所述根据查找到的模板对接收到的SITA报文进行解析还包括:
对于所述解析器中的每个属性,在所述第一匹配内容中获取所述属性对应的第二匹配内容,将获得的第二匹配内容保存到第一实体或第二实体的所述属性中。
5.根据权利要求2所述的方法,其特征在于,所述解析器还包括一个或一个以上第一实体列表和/或第一分组列表,所述第一实体列表或第一分组列表包括第二正则表达式;
所述根据查找到的模板对接收到的SITA报文进行解析还包括:
对于每个第一实体列表或第一分组列表,在所述第一匹配内容中获取所述第一实体列表或所述第一分组列表对应的第三匹配内容;
获取所述第一实体列表或所述第一分组列表中的第二正则表达式,将获得的第二正则表达式进行匹配与所述第三匹配内容,如果匹配成功,则获取匹配得到的第四匹配内容;
继续将所述获得的第二正则表达式所述第三匹配内容与进行匹配直到匹配不成功。
6.根据权利要求5所述的方法,其特征在于,当所述第一实体列表或所述第一分组列表包括一个或一个以上属性时,所述第一实体列表还包括第三实体,所述模板还包括第一实体或所述解析器还包括第二实体;
根据查找到的模板对接收到的SITA报文进行解析还包括:
对于所述第一实体列表或所述第一分组列表中的每个属性,在所述第四匹配内容中获取所述属性对应的第五匹配内容,将获得的第五匹配内容保存到所述第三实体或所述第二实体对应的属性中;匹配结束后,将所述第三实体或所述第二实体保存到所述第一实体中。
7.根据权利要求5所述的方法,其特征在于,所述根据查找到的模板对接收到的SITA报文进行解析还包括:
将所述SITA报文的初始位置或上一次匹配成功后的结束位置,到所述第四匹配内容的初始位置之间的内容标记为无法识别的内容;
或者,将所述第四匹配内容的结束位置之后的内容标记为无法识别的内容。
8.一种解析国际航空电信协会SITA报文的装置,其特征在于,至少包括:
存储模块,用于保存预先配置的SITA报文的模板,所述模板包括一个或一个以上解析器,每个解析器至少包括第一正则表达式,所述解析器还包括一个或一个以上属性,所述模板还包括第一实体或所述解析器还包括第二实体;
查找模块,用于接收到SITA报文,根据接收到的SITA报文的类型查找对应的模板;
解析模块,用于根据查找到的模板对接收到的SITA报文进行解析。
9.根据权利要求8所述的装置,其特征在于,所述解析模块具体用于:
对于每个解析器,判断出所述解析器的类型为属性,获取所述解析器中的第一正则表达式;
将获得的第一正则表达式与所述SITA报文进行匹配,如果匹配成功,则获取匹配得到的第一匹配内容;
或者,对于每个解析器,判断出所述解析器的类型为列表,获取所述解析器中的第一正则表达式;
将获得的第一正则表达式与所述SITA报文进行匹配,如果匹配成功,则获取匹配得到的第一匹配内容;继续将所述SITA报文与所述获得的第一正则表达式进行匹配直到匹配不成功。
10.根据权利要求9所述的装置,其特征在于,所述解析模块还用于:
对于所述解析器中的每个属性,在所述第一匹配内容中获取所述属性对应的第二匹配内容,将获得的第二匹配内容保存到第一实体或第二实体的所述属性中。
11.根据权利要求9所述的装置,其特征在于,所述解析器还包括一个或一个以上第一实体列表和/或第一分组列表,所述第一实体列表或第一分组列表包括第二正则表达式;
所述解析模块还用于:
对于每个第一实体列表或第一分组列表,在所述第一匹配内容中获取所述第一实体列表或所述第一分组列表对应的第三匹配内容;
获取所述第一实体列表或所述第一分组列表中的第二正则表达式,将获得的第二正则表达式与所述第三匹配内容进行匹配,如果匹配成功,则获取匹配得到的第四匹配内容;
继续将所述获得的第二正则表达式与所述第三匹配内容进行匹配直到匹配不成功。
12.根据权利要求11所述的装置,其特征在于,所述第一实体列表或所述第一分组列表包括一个或一个以上属性,所述第一实体列表还包括第三实体,所述模板还包括第一实体或所述解析器还包括第二实体;
所述解析模块还用于:
对于所述第一实体列表或所述第一分组列表中的每个属性,在所述第四匹配内容中获取所述属性对应的第五匹配内容,将获得的第五匹配内容保存到所述第三实体或所述第二实体对应的属性中;匹配结束后,将所述第三实体或所述第二实体保存到所述第一实体中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410736251.6A CN105721402B (zh) | 2014-12-04 | 2014-12-04 | 一种解析sita报文的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410736251.6A CN105721402B (zh) | 2014-12-04 | 2014-12-04 | 一种解析sita报文的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105721402A CN105721402A (zh) | 2016-06-29 |
CN105721402B true CN105721402B (zh) | 2019-02-05 |
Family
ID=56143832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410736251.6A Active CN105721402B (zh) | 2014-12-04 | 2014-12-04 | 一种解析sita报文的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105721402B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241686B (zh) * | 2016-12-26 | 2021-11-16 | 北京航管科技有限公司 | 一种数据集成方法和系统 |
CN108040040A (zh) * | 2017-11-30 | 2018-05-15 | 北京锐安科技有限公司 | 一种应用协议报文的自动化解析方法和装置 |
CN110012002B (zh) * | 2019-03-29 | 2021-08-13 | 深圳智链物联科技有限公司 | 报文解析方法、装置及服务器、计算机可读存储介质 |
CN113905106B (zh) * | 2021-09-30 | 2024-04-30 | 上海浦东发展银行股份有限公司 | 一种报文解析方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030047471A (ko) * | 2001-12-10 | 2003-06-18 | (주)애니 유저넷 | 인터넷 전화의 방화벽 통과방법 및 터널링 게이트웨이 |
CN101188561A (zh) * | 2007-12-20 | 2008-05-28 | 北京大学 | 基于自定义模板的通用业务数据通讯方法与系统 |
CN101547156A (zh) * | 2009-05-04 | 2009-09-30 | 华为技术有限公司 | 报文解析方法和装置 |
CN102143148A (zh) * | 2010-11-29 | 2011-08-03 | 华为技术有限公司 | 用于通用协议解析的参数获取和通用协议解析方法及装置 |
CN102594833A (zh) * | 2012-03-09 | 2012-07-18 | 北京神州数码思特奇信息技术股份有限公司 | 一种通信协议适配方法和系统 |
CN102932285A (zh) * | 2012-10-26 | 2013-02-13 | 华为技术有限公司 | 报文封装方法、解析方法及装置 |
CN103685221A (zh) * | 2013-09-05 | 2014-03-26 | 北京科能腾达信息技术股份有限公司 | 网络入侵检测方法 |
-
2014
- 2014-12-04 CN CN201410736251.6A patent/CN105721402B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030047471A (ko) * | 2001-12-10 | 2003-06-18 | (주)애니 유저넷 | 인터넷 전화의 방화벽 통과방법 및 터널링 게이트웨이 |
CN101188561A (zh) * | 2007-12-20 | 2008-05-28 | 北京大学 | 基于自定义模板的通用业务数据通讯方法与系统 |
CN101547156A (zh) * | 2009-05-04 | 2009-09-30 | 华为技术有限公司 | 报文解析方法和装置 |
CN102143148A (zh) * | 2010-11-29 | 2011-08-03 | 华为技术有限公司 | 用于通用协议解析的参数获取和通用协议解析方法及装置 |
CN102594833A (zh) * | 2012-03-09 | 2012-07-18 | 北京神州数码思特奇信息技术股份有限公司 | 一种通信协议适配方法和系统 |
CN102932285A (zh) * | 2012-10-26 | 2013-02-13 | 华为技术有限公司 | 报文封装方法、解析方法及装置 |
CN103685221A (zh) * | 2013-09-05 | 2014-03-26 | 北京科能腾达信息技术股份有限公司 | 网络入侵检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105721402A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105721402B (zh) | 一种解析sita报文的方法和装置 | |
CN104268015B (zh) | 嵌入式设备高可用性定时器的实现方法及定时器 | |
CN107147657A (zh) | 适用于多机可靠通信的通信协议、编解码方法及通讯设备 | |
EP2665000A3 (en) | Processing queries in a computer network using business intelligence tools | |
CN107103067A (zh) | 一种基于搜索引擎的数据同步方法及系统 | |
CN104268137A (zh) | 一种药品名称数据匹配方法和装置 | |
CN102937998A (zh) | 一种应用于标识识别的元数据映射方法 | |
CN100489862C (zh) | 标记性语言文档的解析方法、解析模块和用户终端 | |
CN106339498A (zh) | 数据同步方法、装置和系统 | |
CN105630817A (zh) | 一种电子发票内容解析的方法及系统 | |
CN102799592A (zh) | 富文本文档的解析方法和系统 | |
CN103491089A (zh) | 一种基于http的数据还原中的转码方法及系统 | |
CN102929852A (zh) | 一种在富文本编辑器内实现简繁体字互转的方法及系统 | |
CN104753891B (zh) | 一种xml报文解析方法及装置 | |
CN105389606A (zh) | 一种基于开放标准的数据生成、解析方法及其装置和系统 | |
CN105160371B (zh) | 一种基于nfc技术的esl系统 | |
CN101841514A (zh) | 邮件处理方法及设备 | |
RU2014146752A (ru) | Способ синтаксического анализа сервиса, гибко адаптированный к тегу ims системы | |
CN103020294A (zh) | 一种基于Web Services的旅游信息集成系统 | |
CN107330658A (zh) | 一种基于互联网的物流收取系统 | |
CN104881386B (zh) | 一种解决blvds总线直流平衡问题的装置 | |
CN109739502A (zh) | 一种基于mvc框架模式业务提供平台系统 | |
CN106548218A (zh) | 基于识读二维码的方式对物品特征进行比对的方法与系统 | |
CN102646128A (zh) | 一种基于xml的情感词词性标注的方法 | |
CN103294697B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240125 Address after: No. 301 Weigou (East Campus), Chaoyang District, Beijing, 100015 Patentee after: Civil Aviation Air Traffic Control Technology and Equipment Development Co.,Ltd. Country or region after: China Address before: 100192 802, block B, science and technology wealth center, 8 Xueqing Road, Haidian District, Beijing Patentee before: AERO-INFO TECHNOLOGIES Co.,Ltd. Country or region before: China |
|
TR01 | Transfer of patent right |