999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于GO語言的配網自動化短信系統設計與實現

2023-06-07 09:42:46李偉青葉匯鎵
計算機應用與軟件 2023年5期
關鍵詞:數據庫功能系統

李偉青 石 揚 葉匯鎵

(廣東電網有限責任公司梅州供電局 廣東 梅州 514021)

0 引 言

配網自動化設備點多面廣,告警信號量巨大[1],調度員漏監視告警信號情況時有發生,導致供電所運維人員無法及時掌握設備異常情況,繼而耽誤搶修復電時間。因此,配電自動化主站系統的短信功能應運而生。目前,電網企業使用的配網自動化系統基本帶有短信功能,但受系統底層架構設計限制,僅支持固定數量的供電所,如配網自動化系統OPEN3200僅支持32個供電所,D5200僅支持64個供電所。對于配調集約化的地級市供電公司[2],管理的供電所數量往往會超過64個,此時,配網自動化系統自帶的短信功能就難以滿足實際需求。為解決上述問題,本文設計開發了一套獨立于主站系統、可支持任意供電所數量的跨平臺短信系統。

1 系統硬件設計

本系統主要包括數據庫服務器、Linux工作站和GMS短信模塊等三部分。數據庫服務器和Linux工作站是配網自動化主站系統發布區(安全III區)設備,數據庫采用國產達夢數據庫(DM7),該數據庫以結構化方式存儲了配電設備跳閘和異常告警信息。工作站安裝了達夢數據庫客戶端,借助配網自動化主站系統局域網,即可遠程訪問數據庫服務器獲取告警信息。短信系統部署在Linux工作站上,定期讀取數據庫相關數據表中的告警記錄,將告警信息處理成短信內容后以串口或USB接口輸出至GSM短信模塊,再通過運營商公網發送至目標接收人手機。系統硬件整體如圖1所示。

圖1 系統硬件連接圖

2 軟件架構設計

系統軟件設計采用“主程序+接口”架構,可實現主程序與接口之間有效解耦。將主要功能需求劃分為Web控制管理接口、告警信息采集接口、GSM短信模塊接口,主程序只需負責調用各功能接口,將各接口的數據流有序銜接處理,就可實現接口之間各司其職、運行高效、擴展靈活的目標。系統軟件架構如圖2所示。

圖2 系統軟件架構圖

考慮到數據庫類型和數據表結構因不同應用場景存在差異,將告警信息采集接口做成插件模式,采集信息的具體邏輯由通用的shell腳本實現,主程序通過調用數據采集插件即可獲得指定時間段數據表中的所有告警信息。在獲取到告警信息后,主程序按照預定的規則進行匹配,保留真正需要發送短信的告警信息,從Web載入的excel表格信息找出告警信息接收人,并將告警內容和接收人手機號碼存入緩存隊列。再通過調用GSM短信模塊不斷從緩存隊列中消費數據,按特定協議封裝成GSM模塊識別的編碼信息發出。為提升短信的發送效率,將GSM模塊設計成短信發送集群管理模塊,每個模塊隨機從緩存隊列中取出告警內容,自動實現短信發送負載均衡。人機交互方面,本系統將告警信息預定的匹配規則和告警短信接收人信息與短信平臺程序解耦,管理員可通過Web控制臺上傳json文件和excel文件,對短信平臺的數據采集及線路管理人員信息配置進行管理。此外,短信平臺對每個關鍵環節開啟了日志模式,詳細記錄了告警信息內容、短信發送時間、接收人等信息,并可通過Web控制臺對上述流水日志進行查詢,便于功能調試和責任追溯。

3 核心功能軟件實現

3.1 編程開發語言選擇

傳統的基于C/C++為編程語言,使用面向對象的QT類GUI系統為基礎研發的客戶端軟件系統,在升級換代操作系統時,也面臨著重新適配開發的工作,軟件的使用和開發成本都比較高。如果將傳統的客戶端程序做成B/S(Brower/Server)架構,將軟件功能展示的邏輯交由操作系統發行版默認的瀏覽器來呈現,核心的功能由服務端來提供,整個軟件系統的開發將不會局限于某個特定的GUI庫[3-4]。這種開放模式的優點也是顯而易見的,一方面可充分利用Web豐富的生態環境實現前端展現功能,另一方面,可從QTC++的跨平臺GUI開發框架解放出來,選擇一個對開發和維護更加友好的后臺開發語言來實現核心功能。因此本文選擇了當前廣泛應用后臺程序開發的Golang語言。Golang語言是Google站在C/C++歷史的經驗基礎上發明的專供服務端開發的語言,相比于C++的復雜,Golang是大道至簡[5-6]。

3.2 數據查詢接口

為實現主程序與數據采集解耦,數據查詢的邏輯由shell腳本實現,以文本流形式反饋給主程序。主程序中QueryForAlert()函數是查詢告警的總線程,可根據配置文件中查詢表信息,產生相應線程queryOneTableGenAlert()進行單張表查詢操作,兩個函數是逐級細化解耦多表查詢操作過程。用戶可通過配置cft.json中的tables結構體信息,實現查詢數據庫多張不同表的目的,具有非常靈活的擴展特性。tables配置信息中包括輪詢數據庫間隔時間、數據庫查詢腳本路徑、對告警內容匹配的“白名單”關鍵字和過濾的“黑名單”關鍵字等。

shell腳本是實現數據庫告警記錄查詢的載體,其主要功能包括實現遠程登錄、查詢指定數據表告警信息兩方面。腳本設計上充分考慮了擴展性,將通用的登錄和文本處理封裝成“exec_query.sh”,而查詢具體數據表的操作封裝成一個模板,如查詢事故跳閘告警信息的模板accident.sql.template,再將這兩部分整合成一個具有表名特征的接口查詢腳本,如事故信息表查詢腳本query_accident.sh。

3.3 緩存隊列數據存儲

由于腳本查詢數據庫的速率比GSM發送短信的速率快幾個數量級,兩者之間須要引入一種“降速器”才能解決速率失配的問題——短信緩存隊列。查詢程序調用系統底層命令執行函數exec.Command()運行shell腳本,將查詢結果以文本流形式管道標準輸出cmd.StdoutPipe(),并存入csv文件流讀(接收)對象csvreader中。程序逐行讀出csvreader內容,按圖3所示流程進行處理,將告警查詢結果轉變成包含告警內容主體、接收人號碼、線路名稱等信息的alert結構體,并不斷存入緩存隊列,為下一步的短信封裝(熟數據)與發送提供原材料。

3.4 緩存隊列數據消費

考慮到Msg(告警內容)和Receivers(接收人)之間存在一對多的映射關系,每條告警內容需根據接收人數量生成的多條短信逐一發送m.SendSMS()。程序中以不帶break的for死循環,不斷從ch隊列中讀取并封裝發送。

常見的GSM模塊僅支持發送中文短信字符數不超過70個[7-8],因此在發送前對短信內容長度進行判斷,將超出70個字符的內容分割成多條(SplitMsg),并在每條短信內容前標記次序,以便接收人分辨子短信的先后順序(如分割成兩條短信時,標記為1/2、2/2)。SendSMS()循環調用sendOneSMS()發送一個小于70個字符的短信,循環次數即為長短信切割成小短信的數量。

3.5 GMS模塊發送短信過程

短信系統硬件上采用串口通信,軟件上通過AT指令交互。為避免modem發送的中文內容是亂碼,系統對短信內容采用PDU協議的UCS2編碼。在短信發送過程中,向一個接收人發送一條不超過70字符短信封裝成發送短信的最小操作單元sendOneSMS(),其核心操作包括短信編碼封裝和編碼發送兩部分。具體發送流程如圖4所示。

圖4 短信發送過程流程

AT命令是用于控制TE(Terminal Equipment)和MT(Mobile Terminal)之間交互的協議,協議本身采用文本,每個命令均以AT打頭[9-10]。系統采用西門子TC35i系列芯片,涉及的AT指令主要包括以下五個:

AT+CSCA?

//查詢短信服務中心號碼

AT+CMGF=0

//設置短信格式為PDU模式

AT+CMGS=length

//發送短信文本長度

AT+IPR=115 200

//設置波特率為115 200

AT&W

//保存修改后的配置

4 系統測試與應用

為驗證設計開發軟件的有效性,將短信系統部署在工作站中,并加入Linux操作系統自啟動列表。短信系統啟動初始化成功后發送一條提示短信,第一次運行需在accident_last_time文件設置數據庫查詢起始時間,否則按默認時間2020-01-01 00:00:00。GSM模塊采用9針串口線接入工作站COM1,使用Linux系統命令dmesg| grep ttyS查看GSM模塊是否正確掛載在/dev/tt yS0文件中。在測試過程中,為了避免短信誤發至目標接收人,先對config.xls配置文件中的接收人手機號臨時修改成測試人員手機號。測試結果如下:圖5為短信系統Web控制管理界面,圖6為配網自動化主站告警信息,圖7為測試人員接收短信。

圖5 Web控制管理界面

圖6 配網自動化主站告警信息

圖7 測試人員接收短信

為提高短信發布功能的可靠性,短信系統設置了“看門狗”功能,每天下午5:10(可修改)定時向系統管理員發送一條“sms station is running”提示短信,以表示短信平臺運行正常;管理員如未收到短信,則說明短信系統自身故障,需現場檢查處理。

5 結 語

自主開發的短信系統成功部署應用,使得配網自動化主站系統具備向任意個供電所按配電線路運維歸屬精準發送告警短信的能力。高效精確的短信服務解決了運維單位獲取設備異常信息手段不足的痛點,為運維單位快速隔離故障和恢復送電贏得寶貴時間,有助于提升公司供電可靠性水平。鑒于短信系統具有良好的擴展性,下一步將豐富短信功能,擴充數據查詢腳本對配網主站系統自身告警信息的采集,以提升主站系統安全運行水平。

猜你喜歡
數據庫功能系統
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于非首都功能疏解的幾點思考
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 成年人午夜免费视频| 国产69精品久久久久孕妇大杂乱 | 久久精品一品道久久精品| 精品三级网站| 欧美日本激情| 亚洲aaa视频| 日韩成人在线一区二区| 国产综合在线观看视频| 国产一级裸网站| 精品第一国产综合精品Aⅴ| 国产人人乐人人爱| 色综合久久88色综合天天提莫 | 88av在线播放| 国产亚洲高清视频| 亚洲自拍另类| 国产熟睡乱子伦视频网站| 国产自在自线午夜精品视频| 青青草国产在线视频| 波多野结衣无码AV在线| 国产亚洲精品精品精品| 亚洲黄色视频在线观看一区| 欧美色综合网站| 女人18毛片久久| 99激情网| 狠狠色丁香婷婷| 色偷偷一区| 无码网站免费观看| 18禁黄无遮挡免费动漫网站| 韩日午夜在线资源一区二区| 欧美在线网| 国产精品大尺度尺度视频| 亚洲电影天堂在线国语对白| 成人韩免费网站| 99手机在线视频| 成人综合久久综合| 丁香亚洲综合五月天婷婷| 国产乱子伦无码精品小说| 亚洲美女久久| 国产成人调教在线视频| 国产亚洲精| 国产成人免费视频精品一区二区| 亚洲精品自在线拍| 国产精品成人AⅤ在线一二三四 | 2021国产精品自产拍在线观看 | 亚洲中文无码av永久伊人| 亚洲天堂2014| 国产农村1级毛片| 波多野结衣亚洲一区| 一级毛片在线播放| 久久精品免费看一| 亚洲h视频在线| 成色7777精品在线| 91久久偷偷做嫩草影院电| 国产美女免费| 亚洲国语自产一区第二页| 男人的天堂久久精品激情| 免费国产黄线在线观看| 国产日本视频91| 国产精品无码AⅤ在线观看播放| 91精品国产无线乱码在线| 久久国产亚洲偷自| 国产视频只有无码精品| 91久久精品日日躁夜夜躁欧美| 国产免费久久精品99re不卡| 成人一区在线| 国产精品白浆无码流出在线看| 欧美国产精品不卡在线观看 | 国产福利小视频在线播放观看| 国产成人调教在线视频| 人妻一区二区三区无码精品一区| 国产一区二区三区夜色| 久久网欧美| 亚洲动漫h| 国内丰满少妇猛烈精品播| 欧美笫一页| 亚洲一区免费看| 中文精品久久久久国产网址| 国产在线观看高清不卡| 欧美色综合网站| 国产经典在线观看一区| 97综合久久| 国产精品福利导航|