張江斌 ,張春莉
(1.天津市寶坻區(qū)突發(fā)公共事件預(yù)警信息發(fā)布中心 天津301899;2.天津市突發(fā)公共事件預(yù)警信息發(fā)布中心 天津 300074)
天津市突發(fā)公共事件預(yù)警信息發(fā)布系統(tǒng)(以下簡稱天突系統(tǒng))業(yè)務(wù)化運(yùn)行于2016年,寶坻區(qū)突發(fā)公共事件預(yù)警信息發(fā)布平臺(tái)(以下簡稱寶突平臺(tái))業(yè)務(wù)化運(yùn)行于2017年。盡管在天突系統(tǒng)業(yè)務(wù)化運(yùn)行初期已集成了查詢統(tǒng)計(jì)模塊,但早期集成的查詢統(tǒng)計(jì)功能過于簡單,只能初步檢索預(yù)警信息數(shù)量,各接入單位發(fā)布的重要通知信息、街鎮(zhèn)轉(zhuǎn)發(fā)的預(yù)警信息無法進(jìn)行統(tǒng)計(jì),在做預(yù)警信息評(píng)估及防災(zāi)減災(zāi)數(shù)據(jù)分析等方面無法滿足日常業(yè)務(wù)需求。針對(duì)業(yè)務(wù)需要,只能由人工手動(dòng)進(jìn)行分類統(tǒng)計(jì),耗時(shí)費(fèi)力,稍不注意也會(huì)出現(xiàn)計(jì)數(shù)錯(cuò)誤,此類方式也不符合當(dāng)前信息化工作要求。通過查閱文獻(xiàn)資料,部分省份有基于國家突發(fā)事件預(yù)警信息發(fā)布平臺(tái)(以下簡稱國突平臺(tái))預(yù)警信息統(tǒng)計(jì)工具簡介[1],給本工具的設(shè)計(jì)研發(fā)帶來了思路和啟迪。因天突系統(tǒng)為天津地區(qū)自建系統(tǒng),與外省整體預(yù)警業(yè)務(wù)工作不盡相同,故基于國突平臺(tái)設(shè)計(jì)的統(tǒng)計(jì)工具在天津地區(qū)不具備完全通用性。為彌補(bǔ)天突系統(tǒng)在查詢統(tǒng)計(jì)功能方面的不足,以寶突平臺(tái)發(fā)布的信息為基礎(chǔ),對(duì)天突系統(tǒng)數(shù)據(jù)庫內(nèi)數(shù)據(jù)進(jìn)行分析,建立統(tǒng)計(jì)查詢數(shù)據(jù)庫表,將天突系統(tǒng)相關(guān)數(shù)據(jù)表進(jìn)行數(shù)據(jù)同步并分類入庫,并基于業(yè)務(wù)需要,設(shè)計(jì)查詢統(tǒng)計(jì)算法,提供較為方便快捷、準(zhǔn)確可視化的查詢統(tǒng)計(jì)功能,以此提升數(shù)據(jù)統(tǒng)計(jì)能力,為業(yè)務(wù)中所需報(bào)表提供數(shù)據(jù)基礎(chǔ)。
天突系統(tǒng)數(shù)據(jù)繁多,針對(duì)不同業(yè)務(wù)內(nèi)容建立了眾多數(shù)據(jù)表,由于建設(shè)較早,故數(shù)據(jù)字典文檔并未隨之更新。針對(duì)本項(xiàng)目,首先需熟悉天突系統(tǒng)數(shù)據(jù)庫,掌握各類表結(jié)構(gòu)及表中各字段含義,挖掘出對(duì)查詢統(tǒng)計(jì)工作有效的表及字段,為下一步搭建查詢統(tǒng)計(jì)數(shù)據(jù)庫、建立數(shù)據(jù)表奠定基礎(chǔ)。
由于對(duì)數(shù)據(jù)庫進(jìn)行頻繁讀寫操作會(huì)對(duì)服務(wù)器性能造成影響[2],為了在查詢統(tǒng)計(jì)時(shí)不給天突系統(tǒng)數(shù)據(jù)庫帶來負(fù)擔(dān),并保證天突系統(tǒng)安全穩(wěn)定運(yùn)行,根據(jù)查詢統(tǒng)計(jì)業(yè)務(wù)需要,建立獨(dú)立的查詢統(tǒng)計(jì)數(shù)據(jù)庫,在需要進(jìn)行統(tǒng)計(jì)時(shí)連接天突系統(tǒng)數(shù)據(jù)庫并一次同步所需庫表字段數(shù)據(jù),同步完成后即可斷開與天突系統(tǒng)數(shù)據(jù)庫鏈接,通過查詢統(tǒng)計(jì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)查詢統(tǒng)計(jì)。
查詢統(tǒng)計(jì)數(shù)據(jù)庫搭建完成后,基于業(yè)務(wù)需要,需進(jìn)行算法設(shè)計(jì)及結(jié)果展示。如按天氣過程統(tǒng)計(jì)預(yù)警信息及重要通知、按發(fā)布單位統(tǒng)計(jì)重要通知數(shù)量等,進(jìn)而為各類預(yù)警服務(wù)產(chǎn)品提供數(shù)據(jù)支撐。
基于業(yè)務(wù)需要,通過認(rèn)真梳理發(fā)現(xiàn),在制作各類月報(bào)表、天氣過程報(bào)表中主要需按如下方式進(jìn)行分類統(tǒng)計(jì):在相應(yīng)時(shí)間段,統(tǒng)計(jì)各接入單位短信群組受眾用戶數(shù)量;按預(yù)警事件類型、預(yù)警信息級(jí)別統(tǒng)計(jì)信息發(fā)布條數(shù);按街鎮(zhèn)統(tǒng)計(jì)轉(zhuǎn)發(fā)預(yù)警信息及重要通知發(fā)布條數(shù);按委辦單位統(tǒng)計(jì)預(yù)警信息發(fā)布數(shù)量;按委辦單位統(tǒng)計(jì)重要通知發(fā)布數(shù)量;按事件過程(如天氣過程)統(tǒng)計(jì)預(yù)警及重要通知信息發(fā)布數(shù)量等。
通過對(duì)天突平臺(tái)數(shù)據(jù)庫表及存儲(chǔ)字段結(jié)構(gòu)分析,支撐查詢需求的庫表主要為:①PUB_USER_RELATION_TAB 受眾用戶及關(guān)聯(lián)群組關(guān)系表;②AEAP_ALERT_ALERTINFO 預(yù)警信息發(fā)布表;③AEAP_ALERT_NOTICATION 重要通知信息發(fā)布表;④AEAP_BASE_EVENTTYPE 預(yù)警事件類型基礎(chǔ)表;⑤SYS_ORG組織機(jī)構(gòu)代碼表。其中前3個(gè)數(shù)據(jù)表可依信息發(fā)布數(shù)據(jù)實(shí)時(shí)更新,而后2個(gè)數(shù)據(jù)表完成一次同步后,如無事件類型增刪、無預(yù)警信息發(fā)布單位增減,則無需更新。
在本地建立SQL查詢統(tǒng)計(jì)數(shù)據(jù)庫,并按需分別建立數(shù)據(jù)表,通過自主研發(fā)的C/S模式數(shù)據(jù)同步程序,將上述數(shù)據(jù)庫表中查詢必須字段直接從天突系統(tǒng)數(shù)據(jù)庫寫入本地查詢統(tǒng)計(jì)數(shù)據(jù)庫表中,供后續(xù)查詢統(tǒng)計(jì)數(shù)據(jù)使用。
2.3.1 統(tǒng)計(jì)短信群組受眾用戶數(shù)量
基礎(chǔ)語句:
SELECT ‘氣 象 局’,COUNT(USERID),COUNT(DISTINCT USERID)
FROM PUB_USER_RELATION_TAB
WHERE SYNC_STATUS=‘2’
AND GROUPID LIKE ‘ZC_120115000000_416%’
本語句以統(tǒng)計(jì)寶坻區(qū)氣象局短信群組受眾用戶數(shù)量為例,介紹各接入單位短信群組受眾用戶人數(shù)統(tǒng)計(jì)功能。COUNT(USERID)代表統(tǒng)計(jì)該單位短信群組總?cè)藬?shù);COUNT(DISTINCT USERID)代表統(tǒng)計(jì)該單位短信群組實(shí)際人數(shù),為去重后的結(jié)果,即某個(gè)人在不同群組則只統(tǒng)計(jì)一次;SYNC_STATUS代表同步狀態(tài),2代表成功;GROUPID代表組名編號(hào),120115代表寶坻區(qū),416代表氣象局;統(tǒng)計(jì)寶坻區(qū)其他接入的委辦單位只需遍歷其單位編碼即可,如應(yīng)急局450、生態(tài)環(huán)境局467等,統(tǒng)計(jì)接入的街鎮(zhèn)單位只需遍歷其街鎮(zhèn)編碼即可,如海濱街道120115001、寶平街道120115002等。各接入單位名稱及編碼存儲(chǔ)于SYS_ORG表中,在遍歷時(shí)可按需調(diào)用。
2.3.2 統(tǒng)計(jì)預(yù)警信息發(fā)布數(shù)量
①按發(fā)布時(shí)間范圍統(tǒng)計(jì)預(yù)警信息發(fā)布總數(shù)量。
基礎(chǔ)語句:
SELECT COUNT(INFOID) FROM AEAP_ALERT_ALERTINFO
WHERE PUBLICCODE=‘120115000000’
AND CONVERT(DATETIME,ONSET, 23) >=‘2022-06-01’
AND CONVERT(DATETIME,ONSET, 23) < ‘2022-07-01’
AND HEADLINE NOT LIKE ‘%解除%’
AND HEADLINE NOT LIKE ‘%更新%’
AND DESCRIPTION NOT LIKE ‘%測試%’
本語句以統(tǒng)計(jì)2022年6月寶坻區(qū)首發(fā)預(yù)警信息總條數(shù)為例,介紹預(yù)警信息發(fā)布總數(shù)量統(tǒng)計(jì)功能。PUBLICCODE字段代表發(fā)布區(qū)域,120115代表寶坻區(qū);ONSET字段代表預(yù)警生效時(shí)間,該字段存儲(chǔ)類型為DATETIME,為了方便傳參使用,在查詢時(shí)先將其轉(zhuǎn)為“年-月-日”的時(shí)間格式,可按月或按天給定時(shí)間范圍;通過劃定時(shí)間范圍,即可按事件發(fā)生時(shí)間范圍,統(tǒng)計(jì)該事件過程中發(fā)布的預(yù)警信息數(shù)量;HEADLINE字段代表預(yù)警信息標(biāo)題;DESCRIPTION字段代表預(yù)警信息內(nèi)容;通過對(duì)HEADLINE字段及DESCRIPTION字段組合控制可分別得到首發(fā)預(yù)警、更新預(yù)警、解除預(yù)警、測試預(yù)警等不同信息類型相應(yīng)的條數(shù)。
為了按照預(yù)警級(jí)別統(tǒng)計(jì)信息發(fā)布總條數(shù),在上述語句最后增加SEVERITY字段限定,如統(tǒng)計(jì)首發(fā)藍(lán)色預(yù)警信息總條數(shù),則在上述語句最后加入AND SEVERITY=‘Blue’即可。
②按時(shí)間范圍、預(yù)警事件類型、預(yù)警事件級(jí)別,統(tǒng)計(jì)預(yù)警信息發(fā)布總條數(shù)。
基礎(chǔ)語句:
SELECT NAME,SEVERITY,COUNT(EVENTTYPE)
FROM AEAP_ALERT_ALERTINFO t,AEAP_BASE_EVENTTYPE x
WHERE t. EVENTTYPE=x.CODE
AND PUBLICCODE=‘120115000000’
AND CONVERT(DATETIME,onset,23)>=‘ 2022-06-01’
AND CONVERT(DATETIME,onset, 23)<‘2022-07-01’
AND DESCRIPTION NOT LIKE ‘%測試%’
GROUP BY NAME,SEVERITY
本語句以按預(yù)警事件類型、級(jí)別統(tǒng)計(jì)2022年6月寶坻區(qū)預(yù)警信息發(fā)布總數(shù)為例,介紹預(yù)警信息發(fā)布數(shù)據(jù)分類統(tǒng)計(jì)功能。NAME 代表預(yù)警事件類型的名稱;t 表記錄預(yù)警信息,其中包含預(yù)警事件類型編碼;x表記錄預(yù)警事件類型及對(duì)應(yīng)編碼,通過預(yù)警類型編碼,即 x 表中的 code 字段,將t表與x表進(jìn)行連接查詢,并按照事件類型的名稱和事件級(jí)別進(jìn)行分組,得到不同預(yù)警類型、不同預(yù)警級(jí)別預(yù)警信息總條數(shù)。
為了更加清晰地了解單獨(dú)某一種預(yù)警級(jí)別的信息條數(shù),我們?nèi)钥墒褂肧EVERITY字段限定。若再配合HEADLINE字段對(duì)“發(fā)布、更新、解除”等信息類型所作限定,可分別得到在某個(gè)時(shí)間范圍內(nèi)某預(yù)警級(jí)別、某信息類型的各事件類型信息發(fā)布數(shù)量。如統(tǒng)計(jì)信息類型為更新,預(yù)警級(jí)別為黃色的預(yù)警事件信息條數(shù),則在上述GROUP BY語句前加入AND SERVERITY =‘Yellow’ AND HEADLINE LIKE ‘%更新%’即可。
2.3.3 統(tǒng)計(jì)重要通知信息發(fā)布數(shù)量
①統(tǒng)計(jì)街鎮(zhèn)以重要通知形式轉(zhuǎn)發(fā)預(yù)警信息數(shù)量。基礎(chǔ)語句:
SELECT ‘寶平街道’,COUNT(NOTICEID)
FROM AEAP_ALERT_NOTICATION
WHERE CONVERT(DATETIME,SENDTIME,23)>=‘2022-06-01’
AND CONVERT(DATETIME,SENDTIME, 23)<‘2022-07-01’
AND SENDERUNIT = ‘寶平街道’
AND CONTENT LIKE ‘%寶坻%色預(yù)警%’
AND (CONTENT NOT LIKE ‘%測 試%’ OR TITLE NOT LIKE ‘%測試%’)
本語句以寶坻區(qū)寶平街道為例,統(tǒng)計(jì)該街道2022年6月以重要通知形式轉(zhuǎn)發(fā)委辦單位發(fā)布的預(yù)警信息數(shù)量。CONTENT 字段代表信息內(nèi)容,TITLE 字段代表信息標(biāo)題,結(jié)合業(yè)務(wù)格式要求,綜合數(shù)據(jù)庫表中歷史數(shù)據(jù)分析,我們限定內(nèi)容中包含“寶坻*色預(yù)警”字樣即視為轉(zhuǎn)發(fā)的預(yù)警信息。如在標(biāo)題、內(nèi)容中包含“測試”字樣則視為測試信息,在統(tǒng)計(jì)時(shí)需去除。
SENDERUNIT字段代表發(fā)布單位名稱,通過對(duì)SENDERUNIT字段賦值遍歷,我們可以逐個(gè)得到寶坻區(qū)24個(gè)街鎮(zhèn)轉(zhuǎn)發(fā)的預(yù)警信息數(shù)量。
②統(tǒng)計(jì)各接入單位發(fā)布的重要通知數(shù)量。
基礎(chǔ)語句:
SELECT ‘氣象局’,COUNT(NOTICEID)
FROM AEAP_ALERT_NOTICATION
WHERE CONVERT(DATETIME,SENDTIME,23)>=‘2022-06-01’
AND CONVERT(DATETIME,SENDTIME,23)<‘2022-07-01’
AND SENDERUNIT=‘氣象局’
AND (CONTENT NOT LIKE ‘%測 試%’ OR TITLE NOT LIKE ‘%測試%’)
本語句以寶坻區(qū)氣象局為例,統(tǒng)計(jì)該單位2022年6月發(fā)布重要通知的總條數(shù)。SENDERUNIT字段代表發(fā)布單位名稱,通過對(duì) SENDERUNIT 字段遍歷委辦單位名稱,我們可以逐個(gè)得到寶坻區(qū)接入的15家委辦單位重要通知發(fā)布數(shù)量。同時(shí),我們?cè)谏鲜稣Z句的最后加入AND CONTENT NOT LIKE ‘%寶坻%色預(yù)警%’,并對(duì)SENDERUNIT字段遍歷街鎮(zhèn)名稱,同樣可逐個(gè)得到寶坻區(qū)24個(gè)街鎮(zhèn)自主發(fā)布的重要通知數(shù)量。街鎮(zhèn)自主發(fā)布的重要通知信息主要是指除預(yù)警信息轉(zhuǎn)發(fā)外的街鎮(zhèn)發(fā)布的重要提示、科普宣傳等通知類信息。
基于查詢統(tǒng)計(jì)數(shù)據(jù)庫,通過數(shù)據(jù)查詢統(tǒng)計(jì)算法,研發(fā)B/S模式的查詢統(tǒng)計(jì)工具并展示統(tǒng)計(jì)結(jié)果。根據(jù)時(shí)間范圍統(tǒng)計(jì)街鎮(zhèn)發(fā)布的信息條數(shù)結(jié)果如圖1所示;根據(jù)時(shí)間范圍按預(yù)警事件類型、預(yù)警級(jí)別、信息類型統(tǒng)計(jì)查詢預(yù)警信息發(fā)布條數(shù)結(jié)果如圖2所示。
圖1 重要通知統(tǒng)計(jì)查詢結(jié)果展示Fig.1 Display of important notice statistics query results
圖2 預(yù)警信息統(tǒng)計(jì)查詢結(jié)果展示Fig.2 Display of alert information statistics query results
①通過查詢統(tǒng)計(jì)工具的設(shè)計(jì)與實(shí)現(xiàn),在查詢統(tǒng)計(jì)時(shí),減輕了天突系統(tǒng)平臺(tái)及數(shù)據(jù)庫負(fù)載,彌補(bǔ)了天突系統(tǒng)隨業(yè)務(wù)發(fā)展查詢統(tǒng)計(jì)功能的不足。在天津預(yù)警信息發(fā)布系統(tǒng)業(yè)務(wù)應(yīng)用中率先實(shí)現(xiàn)了重要通知的自動(dòng)化統(tǒng)計(jì),預(yù)警信息數(shù)量、短信群組受眾用戶人數(shù)的自動(dòng)化統(tǒng)計(jì)更加切合業(yè)務(wù)需求。
②通過自動(dòng)化統(tǒng)計(jì)減輕了業(yè)務(wù)人員工作負(fù)擔(dān),為有效應(yīng)對(duì)各類突發(fā)事件、提升各級(jí)政府應(yīng)急管理水平提供了技術(shù)支撐[3],也為后續(xù)天津預(yù)警信息發(fā)布系統(tǒng)建設(shè)、優(yōu)化預(yù)警信息發(fā)布業(yè)務(wù)、考量接入單位對(duì)預(yù)警信息發(fā)布系統(tǒng)應(yīng)用情況提供了更加直觀的數(shù)據(jù)化基礎(chǔ)。