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

圖1 重要通知統(tǒng)計查詢結(jié)果展示Fig.1 Display of important notice statistics query results

圖2 預警信息統(tǒng)計查詢結(jié)果展示Fig.2 Display of alert information statistics query results
①通過查詢統(tǒng)計工具的設計與實現(xiàn),在查詢統(tǒng)計時,減輕了天突系統(tǒng)平臺及數(shù)據(jù)庫負載,彌補了天突系統(tǒng)隨業(yè)務發(fā)展查詢統(tǒng)計功能的不足。在天津預警信息發(fā)布系統(tǒng)業(yè)務應用中率先實現(xiàn)了重要通知的自動化統(tǒng)計,預警信息數(shù)量、短信群組受眾用戶人數(shù)的自動化統(tǒng)計更加切合業(yè)務需求。
②通過自動化統(tǒng)計減輕了業(yè)務人員工作負擔,為有效應對各類突發(fā)事件、提升各級政府應急管理水平提供了技術支撐[3],也為后續(xù)天津預警信息發(fā)布系統(tǒng)建設、優(yōu)化預警信息發(fā)布業(yè)務、考量接入單位對預警信息發(fā)布系統(tǒng)應用情況提供了更加直觀的數(shù)據(jù)化基礎。