FDOAGENT日志分析

一、 SITA-PLN报文处理

fdoagent日志分析:

    对于PLN报的处理:在有起降机场的前提下,判断条件:日期+航班号+起飞机场+落地机场;假如没有的话,就是日期+航班号。如果有预计起飞时间,还要判断数据库中计划的预计起飞时间和报文的不能超过一定值,可配置。通过PLN报能取消计划,增加计划,修改计划! PLN不会删除计划,新增只限本场,修改只改机号和预计起飞时间。且有改变后没有提示!,

    可在db.ini中配置航空公司的pln本场的是否可以新建计划。


fdoagent进程收到fdptel发来的报文GRD3444

[N][FDOAGENT::HST][03-28 07:03:22]>>>Receive NetObj FDPTEL_AFTNMESSAGE FinID = 202103280713444GRD

将报文写入数据库表TEL_RCV 

[N][FDOAGENT::HST][03-28 07:03:22]>>>SQL:insert into TEL_RCV (ID, TELCSN, TELTYPE, SUBTYPE, GRADE,SNDADDR, RCVADDR, ERROR, TEXT, INDATE, ERRORREASON, ACTIVEID, ACID, ADEP, ADES, MESSAGE, SITAINFO) values ('202103280713444GRD', '3444', 'SITA','PLN', 'QU', 'CTUXXEU', 'TYNZPCA

', 0, 'ZCZC  GRD3444 280703 

识别报文为SITA类型PLN报( 系统通过报文第二行的第一个大写字母  “Q” ,识别SITA 格式 通过 报文中...PLN 28APR...中 关键字识别为 PLN

[N][FDOAGENT::HST][03-28 07:03:22]>>>[OnSITA2UpdatePlan]:: header.typestr=PLN!

使用正则表达式解析SITA报:UEA2216, etd = 1225, depad = ZBYN, arrad = ZSDY   (W/Z 29MAR EU2216 B620D CAT1 (8) TYN 0425 0620DOY)

[N][FDOAGENT::HST][03-28 07:03:22]>>>RegularExpesstionID = 30, Modify regnum = B620D : acid = UEA2216, executedate = 20210329, etd = 1225, depad = ZBYN, arrad = ZSDY

在数据库PLAN_ACTIVE表中匹配计划:条件包含航班号,起降机场和VALID = 1,时间条件(db.ini:VALID_FPL_ETD_RANGE=21600--6小时):etd=1225,前后6小时得到时间范围 '202103290625'<= ETD <='202103291825'

[N][FDOAGENT::HST][03-28 07:03:22]>>>PLN SQL:select * from PLAN_ACTIVE where ETD >= '202103290625' and ETD <= '202103291825' and DEPAD = 'ZBYN' and ARRAD = 'ZSDY' and CALLSIGN = 'UEA2216' and VALID = 1

select未找到计划PLAN_ACTIVE表中新增一条:insert,问题MID [20210329 1225UEA2216ZBYNZSDY]应该使用世界时,即 [20210329 0425UEA2216ZBYNZSDY]

[N][FDOAGENT::HST][03-28 07:03:22]>>>[UpdatePlan]: planmid=[202103291225UEA2216ZBYNZSDY], strSQL = [insert into PLAN_ACTIVE (ID, EXECUTEDATE, CALLSIGN, DEPAD, ETD, ARRAD, REGNUM, CPLSRC) values ('202103291225UEA2216ZBYNZSDY', '2021-03-29', 'UEA2216', 'ZBYN', '202103291225', 'ZSDY','B620D','PLN')]!

[N][FDOAGENT::HST][03-28 07:03:22]>>>SQL:insert into PLAN_ACTIVE (ID, EXECUTEDATE, CALLSIGN, DEPAD, ETD, ARRAD, REGNUM, CPLSRC) values ('202103291225UEA2216ZBYNZSDY', '2021-03-29', 'UEA2216', 'ZBYN', '202103291225', 'ZSDY','B620D','PLN')

同步到FDO

[N][FDOAGENT::HST][03-28 07:03:22]>>>SndFDOudp:$#NOTICE$#FAG$#PLAN_ACTIVE$#I$#202103291225UEA2216ZBYNZSDY$#


二、 FPL报文处理 fdp进程收到提前12小时以上发的  fpl报)预起时间和RPL中的一样, PLAN_ACTIVE只有一条记录。

FDO上来源是RPL的计划关联到FPL报,SDD上该计划来源是FPL(两者这里信息不一致,原因——>),说明FDP进程 创建(>12小时)新动态(SDD上显示来源是FPL的动态),通知FDOAGENT后,因为MID一样,fdoagent 查找 修改数据库中MID一样的来源是RPL的计划。

fdp进程日志,显示创建计划[202103301910CPA278LFPGVHHH],:

Info>: 20210330065429 [FPL]: Receive a FPL Tele For Plan:[CPA278]-[LFPG]-[VHHH]

: 20210330065429 [FPL] Create a Plan:[CPA278]  ——>SDD可见,但是写入数据库MID应该冲突,所以是update。

: 20210330065429 the ACKAFTNGROUP mid is [202103301910CPA278LFPGVHHH],finid is [202103300600002ATC]

fdoagent进程日志:

[N][FDOAGENT::HST][03-30 06:54:29]>>>[UpdatePlanState]::strmsg = ZCZC ATC0002 300654

FF ZBYNZZZZ ZBYNZBZC

300654 ZBYNZPZX

(FPL-CPA278-IS

-A333/J-SW/N

-LFPG1910

-K0800S1020 NIXAL B208 SQ W45 MI

-VHHH0205 ZBYN

-0)

NNNN, vecBody.size()=1.

[N][FDOAGENT::HST][03-30 06:54:29]>>>[UpdatePlanState]::strbody = (FPL-CPA278-IS  -A333/J-SW/N  -LFPG1910  -K0800S1020 NIXAL B208 SQ W45 MI  -VHHH0205 ZBYN  -0)

[N][FDOAGENT::HST][03-30 06:54:29]>>>[UpdatePlanState]::vecStr[0] = (FPL

查找计划转换为北京时1910+0800=次日03:10: 前后6小时 db.ini:VALID_FPL_ETD_RANGE=21600--6小时)得到时间范围 STD >= '202103302110' and STD <= '202103310910',select看看数据库中有没有对应记录

[N][FDOAGENT::HST][03-30 06:54:29]>>>[UpdatePlanState()] strSQLcmdSelect is :[ select * from PLAN_ACTIVE where STD >= '202103302110' and STD <= '202103310910' and DEPAD = 'LFPG' and ARRAD = 'VHHH' and CALLSIGN = 'CPA278' and VALID = 1].

找见一条 vecResult.size=[1],MID=[202103301910CPA278LFPGVHHH],来源是RPL。

[N][FDOAGENT::HST][03-30 06:54:29]>>>vecResult.size=[1], MID=[202103301910CPA278LFPGVHHH]

修改找到计划的状态 FISTATE < 1    ——> FISTATE = 1

[N][FDOAGENT::HST][03-30 06:54:29]>>>SQL:update PLAN_ACTIVE set FISTATE = 1, MODIFIER = 'FAG' where ID = '202103301910CPA278LFPGVHHH' and VALID = 1 and FISTATE < 1

同步UDP通知FDO

[N][FDOAGENT::HST][03-30 06:54:29]>>>SndFDOudp:$#NOTICE$#FAG$#PLAN_ACTIVE$#U$#202103301910CPA278LFPGVHHH$#

将报文写入数据库表TEL_SND

[N][FDOAGENT::HST][03-30 06:54:29]>>>SQL:insert into TEL_SND (ID, TELCSN, TELTYPE, SUBTYPE,GRADE, SNDADDR, RCVADDR, TEXT, INDATE, ACTIVEID, ACID, ADEP, ADES) values ('202103300600002ATC', '0002', 'AFTN', 'FPL', 'FF', 'ZBYNZPZX', 'ZBYNZZZZ ZBYNZBZC

', 'ZCZC ATC0002 300654

FF ZBYNZZZZ ZBYNZBZC

300654 ZBYNZPZX

(FPL-CPA278-IS

-A333/J-SW/N

-LFPG1910

-K0800S1020 NIXAL B208 SQ W45 MI

-VHHH0205 ZBYN

-0)

NNNN', sysdate, '202103301910CPA278LFPGVHHH', 'CPA278', 'LFPG', 'VHHH')

记录主机168.192.11.24用户ZD发送FPL报

[N][FDOAGENT::HST][03-30 06:54:27]>>>SndFDOudp:$#RESPOND$#FAG$#FDO$#MESS_CHECK$#168.192.11.24$#MNO=6&RESULT=OK$#

[N][FDOAGENT::HST][03-30 06:54:29]>>>UDP:$#REQUEST$#FDO$#FAG$#MESS_SEND$#168.192.11.24$#TELCSN=0000&SNDUSER=ZD&TEXT=ZCZC AAA0000 300654

按唯一索引MID, where ID = '202103301910CPA278LFPGVHHH' update 修改计划

[N][FDOAGENT::HST][03-30 06:54:29]>>>[Bupdate]: p->m_strMID=[202103301910CPA278LFPGVHHH], strsql=[STA = '202103310515', ATN = '202103310338', ATX = '202103310410', FDPSTATE = '1', CPLTYPE = 10, FLYRULE = 'I', ACFTNUM = '1', ACTYPE = 'A333', ACFTCLASS = '0', TURBO = 'J', WIRELESSEP = 'SW', SURVEILEP = 'N', ALTN1 = 'ZBYN', EET = '0205', TAS = 'K0800', RFL = 'S1020', ROUTE = 'NIXAL B208 SQ W45 MI', BPN = 'TODAM', BPX = '354733N1130849E', ISCOUPLED = '0', RVSM = '0', OTHERSTATUS = '1', PRL = 'S0000', CFL = 'S0000', XFL = 'S0000', DECODEROUTE = 'ATPOK TODAM P461 EKETA TYN EXORI ANPIG EGEBI SQ',]!

[N][FDOAGENT::HST][03-30 06:54:29]>>>[WritePlan2DB]: planmid=[202103301910CPA278LFPGVHHH], strSQL = [ update PLAN_ACTIVE set STA = '202103310515', ...... where ID = '202103291910CPA278LFPGVHHH' ]!

[N][FDOAGENT::HST][03-30 06:54:29]>>>SQL:update PLAN_ACTIVE set......


三、FPL报文处理fdp进程收到提前12小时以上发的  fpl报)预起时间和RPL的 不一样(差了1分钟 1910--> 1911

PLAN_ACTIVE有MID不同的2条记录(来源分别是RPL- 管制状态FUTR/FPL-管制状态NACT),SDD和FDO一样。

fdp进程日志,显示创建计划[202103301911CPA256EGLLVHHH]: 来源FPL

: 20210330065116 [FPL]: Receive a FPL Tele For Plan:[CPA256]-[EGLL]-[VHHH]

: 20210330065116 [FPL] Create a Plan:[CPA256]

: 20210330065116 the ACKAFTNGROUP mid is [202103301911CPA256EGLLVHHH],finid is [202103300600001ATC]

fdp进程收到: fdoagent提前12小时该航班的RPL计划发给fdp进程转为动态

: 20210330071004 主机编号为[14]的席位增加计划: [CPA256].——> 服务器的主机号从11开始,14是FDP2

: 20210330071004FDO&FDD Failure to Add a Plan:[CPA256],Same Plan Already Exist(这个是 优化fdoagent转动态时发两遍在FDP引起的提示)


fdoagent进程日志:

新建 insert 一条计划: 202103301911CPA256EGLLVHHH

[N][FDOAGENT::HST][03-30 06:51:16]>>>Deal with:MID=202103301911CPA256EGLLVHHH, ACID=CPA256, CPLDATE=20210330, DOF=210330, HandCommSec=, CommSec=!!

[N][FDOAGENT::HST][03-30 06:51:16]>>>[WritePlan2DB]: planmid=[202103301911CPA256EGLLVHHH], strSQL = [insert into PLAN_ACTIVE (ID, EXECUTEDATE, FDPSTATE, CPLSRC, CPLTYPE, CALLSIGN, SSR, FLYRULE, FLYCLASS, ACTYPE, ACFTNUM, ACFTCLASS, TURBO, REGNUM, SEL, WIRELESSEP, SURVEILEP, SUP, OTHER, OPDATA, GLOBALINFO, DEPAD, ETD, STD, ATD, BPN, ATN, EET, ARRAD, ALTN1, ALTN2, ETA, STA, ATA, ROUTE, RFL, TAS, BPX, ATX, GATE, ARWY, DRWY, SID, STAR, ISCOUPLED, VIP, RVSM, OTHERSTATUS, PRL, CFL, XFL, DECODEROUTE, AIDCSTATUS, CTRLSEC, ISFOREIGN, CURSEC, ACPSEC, NEXTSEC, PBN, MODIFIER) values ('202103301911CPA256EGLLVHHH', '2021-03-31', '1', 'FPL', 10, 'CPA256', '', 'I', 'S', 'A333', 1, 0, 'J', '', '', 'SW', 'N', '', '', '', '', 'EGLL', '202103310311', '202103310311', '', 'TODAM', '202103310339', '0205', 'VHHH', 'ZBYN', '', '202103310516', '202103310516', '', 'NIXAL B208 SQ W45 ML', 'S1020', 'K0800', 'UBDUN', '202103310413', '', '', '', '', '', 0, '', 0, 65, 'S0000', 'S0000', 'S0000', 'ATPOK TODAM P461 EKETA TYN EXORI ANPIG EGEBI SQ URBIL UBDUN NUNGA', '', '', '0', '', '', '', '', 'FAG')]!

 06:51:17]>>>SndFDOudp:$#NOTICE$#FAG$#PLAN_ACTIVE$#I$#202103301911CPA256EGLLVHHH$#

[N][FDOAGENT::HST][03-30 06:51:17]>>>[UpdatePlanState]::strbody = (FPL-CPA256-IS  -A333/J-SW/N  -EGLL1911  -K0800S1020 NIXAL B208 SQ W45 ML  -VHHH0205 ZBYN  -0)

[N][FDOAGENT::HST][03-30 06:51:17]>>>[UpdatePlanState]::vecStr[0] = (FPL

查找数据库中符合条件的计划 vecResult.size=[2],有两条包含 20210330 1910CPA256EGLLVHHH?但是时间更接近的是 [20210330 1911 CPA256EGLLVHHH]

[N][FDOAGENT::HST][03-30 06:51:17]>>>[UpdatePlanState()] strSQLcmd Select is :[select * from PLAN_ACTIVE where STD >= '202103302111' and STD <= '202103310911' and DEPAD = 'EGLL' and ARRAD = 'VHHH' and CALLSIGN = 'CPA256' and VALID = 1].

[N][FDOAGENT::HST][03-30 06:51:17]>>>vecResult. size=[2], MID=[20210330 1911CPA256EGLLVHHH]

fdoagent提前12小时该航班的RPL计划 [202103301910CPA256EGLLVHHH]发给fdp进程转为动态(管制状态:FUTR);此时在SDD计划列表有来源分别是RPL/FPL的2条动态。

[N][FDOAGENT::HST][03-30 07:10:04]>>>Deal with:MID= 202103301910CPA256EGLLVHHH, ACID=CPA256, CPLDATE=20210330, DOF=210330, HandCommSec=, CommSec=!!

[N][FDOAGENT::HST][03-30 07:10:04]>>>202103301910CPA256EGLLVHHH Add successful!!

[N][FDOAGENT::HST][03-30 07:10:04]>>>[Bupdate]: p->m_strMID=[202103301910CPA256EGLLVHHH], strsql=[FDPSTATE = '0', CPLTYPE = 10, FLYRULE = ' ', ACFTNUM = '0', ACFTCLASS = '3', EET = '1205', TAS = 'K0800', RFL = 'S0102', ISCOUPLED = '0', RVSM = '0', PRL = 'S0000', CFL = 'S0000', XFL = 'S0000',]!

[N][FDOAGENT::HST][03-30 07:10:04]>>>[WritePlan2DB]: planmid=[202103301910CPA256EGLLVHHH], strSQL = [update PLAN_ACTIVE set FDPSTATE = '0', CPLTYPE = 10, FLYRULE = ' ', ACFTNUM = '0', ACFTCLASS = '3', EET = '1205', TAS = 'K0800', RFL = 'S0102', ISCOUPLED = '0', RVSM = '0', PRL = 'S0000', CFL = 'S0000', XFL = 'S0000', MODIFIER = 'FAG' where ID = '202103301910CPA256EGLLVHHH' ]!

[N][FDOAGENT::HST][03-30 07:10:04]>>>SQL:update PLAN_ACTIVE set FDPSTATE = '0', CPLTYPE = 10, FLYRULE = ' ', ACFTNUM = '0', ACFTCLASS = '3', EET = '1205', TAS = 'K0800', RFL = 'S0102', ISCOUPLED = '0', RVSM = '0', PRL = 'S0000', CFL = 'S0000', XFL = 'S0000', MODIFIER = 'FAG' where ID = '202103301910CPA256EGLLVHHH' 

[N][FDOAGENT::HST][03-30 07:10:04]>>>SndFDOudp:$#NOTICE$#FAG$#PLAN_ACTIVE$#U$#202103301910CPA256EGLLVHHH$#



请使用浏览器的分享功能分享到微信等