劉中華



[摘 ? ?要]針對銀行業網點多、網點地域分布跨度大、用電設備數量和種類眾多問題,根據銀行日常管理和運維的要求,采用基于NB-IoT物聯網技術的控制終端,結合B/S架構模式設計一套控制和能耗管理系統,解決傳統銀行業用電管理手段落后、能耗數據采集滯后等問題。該系統由信息采集、遠程控制、能效分析等子系統組成,經開發測試上線驗證后,運行穩定,實現了對跨區域銀行網點能耗的實時管理,并具有良好的擴展性和推廣性,為綠色金融在金融機構自身的環境和社會表現上進行了有益的探索。
[關鍵詞]遠程控制;能耗管理;系統設計
[中圖分類號]TN929.5;TP391.44 [文獻標志碼]A [文章編號]2095–6487(2021)03–00–04
[Abstract]In view of the problems of many banking outlets, large geographical distribution span of outlets, large number and variety of electrical equipment, according to the requirements of daily management and operation and maintenance of the bank, a control and energy consumption management system is designed based on Nb IOT technology and B / S architecture mode, which solves the problems of backward power management means and energy consumption data acquisition in traditional banking industry. The system is composed of information collection, remote control, energy efficiency analysis and other subsystems. After development and testing, the system runs stably, realizes the real-time management of energy consumption of cross regional bank outlets, and has good scalability and popularization, which makes a beneficial exploration for green finance in the environment and social performance of financial institutions.
[Keywords]remote control; energy consumption management; system design
隨著銀行業數字化進程的發展,銀行業務和管理系統的數字化水平得到了迅猛發展,支持銀行業務發展的核心系統、支付系統、管理系統種類繁多且功能完善齊備。銀行在主要業務和管理方面已初步實現數字化,且正在努力向平臺化、智能化方向高速發展。隨著數字化進程的快速推進,對跨地域分布種類繁多的各類用電設備管理和能耗管理提出了新的要求。
當前傳統銀行主要的用電設備為分散到各營業網點的門頭招牌大屏、室內照明設備、空調、室內風盤風機、UPS不間斷電源等,對用電設備的管理要求對于有人值守網點,通過發布各類管理辦法,從制度上嚴格要求,或者通過定時巡檢來督促檢查落實;對于無人值守網點只能依托于時控器或者保持長期開機、關機狀態,無法做到隨時監控狀態、關閉啟動。能耗數據采集依靠人工上報,不僅時間上延后且極可能產生誤報漏報。銀行當前的管理方式嚴重制約了企業信息網絡自動化管理的水平,需要一套設計合理、高度自動化系統來實現精確管理。
本文根據某銀行的實際管理需求,使用軟件工程理論方法結合當前主流技術,對遠程控制及能耗管理需求進行了深入分析,并根據需求分析報告,完成了詳細的系統分析和開發設計。該系統采用安全可靠的應用架構設計,能夠及時、準確控制目標用電設備,按照預定的規則對用電設備進行控制,同時實現實時能耗數據采集。
1 系統功能需求分析
本文將遠程控制及能耗管理系統的用戶分為管理員和一般操作員,一般操作員具有轄內的用電設備控制操作權限、當前設備狀態查看和歷史能耗數據查詢功能。管理員除具有一般操作員權限外,還具有用戶管理、網點機構管理、用電設備管理、定時控制及告警規則管理權限。見圖1。
2 系統設計及實現
2.1 系統總體設計
系統控制及能耗管理系統使用了基于NB-IoT物聯網協議的控制終端,控制設備接入使用NB協議負責子網內設備間的組網及通信。后臺服務采用2臺應用服務器、2臺數據服務器保障系統安全穩定運行,各網點機構通過安裝控制設備用于負載設備的控制及能耗采集、環境溫濕度數據采集。整個系統設計簡單、安全、可實施性高。
在應用架構設計方面,采用的是B/S架構的應用模式,2臺應用服務器使用Apache的mod_proxy模塊實現負載均衡,負載分配規則根據掛起的請求數進行平衡,提高系統的整體可用。數據持久層采用2臺Mysql數據庫服務器,通過Master-Slave主從復制的方式同步數據,再通過MySQL-Proxy讀寫分離來提升系統的并發負載能力。消息及告警服務模塊通過ESB接入行內統一的郵件和短消息服務。后端服務與控制終端采用TCP同步短連接通訊,根據向遠程控制設備發送不同的報文實現遠程控制后端用電設備的開、關、狀態查詢、電力監測、溫濕度監測。總體設計見圖2。
2.2 系統應用架構
應用層級架構采用三層設計模式,展示層使用jsp+ajax技術,通過業務邏輯層獲得操作結果,負責用戶交互、數據錄入、控制操作、結果展示。業務邏輯層作為展示層和數據層的中間層級,基于J2EE架構設計遵循J2EE開發規范,為整個系統提供功能和服務,是整個系統的中樞控制中心。數據層采用mysql用于持久化保存系統產生的業務數據,并為業務邏輯層提供數據的變更、查詢、存儲功能服務。應用架構設計見圖3。
2.3 系統主要功能實現
本系統與NB-IoT控制終端通信方式采用TCP短連接半雙工通信方式,控制終端為服務器端,應用系統為客戶端。每個控制裝置配置有地址編碼,通信鏈路的建立與解除均由主站發出的信息幀來控制。每幀由幀起始符、從站地址域、控制碼、數據域長度、數據域、幀信息縱向校驗碼及幀結束符7個域組成,幀格式見表1。
每字節含8位二進制碼,傳輸時加上一個起始位(0)、一個偶校驗位和一個停止位(1),共11位。其傳輸序列如圖6。D0是字節的最低有效位,D7是字節的最高有效位。先傳低位,后傳高位。字節傳輸序列見圖4。
(1)用戶通過web頁面對控制設備后端用電設備進行關閉、打開或者查詢操作時,系統通過TCP短連接協議連接到控制終端,并發送按照協議格式組織的數據格式,讀取控制終端返回數據判斷操作是否成功,如操作失敗或者返回異常等非明確成功信息,系統再次組織發送查詢報文,獲取控制端口最新狀態,確保系統中記錄的控制端口狀態與實際情況完全一致。流程圖見圖5。
(2)依據定時規則進行控制時,檢索定時規則控制表中當前需要執行控制的記錄信息,根據定時規則定義的控制設備ID,查詢設備信息表獲取控制設備IP地址、端口號等信息,根據定時規則配置的操作類型,根據協議格式組織關閉或打開報文,以TCP短連接方式發送報文并接受解析控制終端操作結果。操作成功,修改控制設備當前狀態表用電設備狀態。為保證當前狀態表中用電設備的準確,在操作失敗或者返回異常后,組織狀態查詢報文,獲取用電設備最新狀態,如與控制規則不一致,則以郵件或短信告知管理人員。流程圖見圖6。
(3)關鍵代碼實例如下:
int i1=0x68;int i9=0x14;//控制碼
int i10= 0x02;int i11 =iDevPort;//要控制器端口編號
int i13=i1+i2+i3+i4+i5+i6+i7+i8+i9+i10+i11+i12;
if(i13>=256)i13 =i13-256;//校驗碼
int i14=0x16; //結束碼
s=new Socket(szSvrIp,iSvrPort);//連接到控制終端
s.setSoTimeout(iTimeOut);//設置超時時間
os=s.getOutputStream();
is=s.getInputStream();
//發送閉合控制器端口報文
os.write(i1);os.write(i2);os.write(i3);os.write(i4);os.write(i5);os.write(i6);os.write(i7);os.write(i8);os.write(i9);os.write(i10); os.write(i11);os.write(i12);os.write(i13);os.write(i14);
byte[]buf = new byte[512];
is.read(buf);//讀取返回數據
//解析返回報文
szReturnMsg=SplitGetAllReturnStr(buf,0x94);
if(errcode!=0)return null;
//其他省略
3 關鍵技術應用
3.1 mysql主從切換技術
通過使用MySQL+keepalived來解決在一臺數據庫發生了宕機或者意外中斷等故障,保證業務不會因為數據庫的故障而中斷,盡可能減少停機時間。兩臺MySQL主機設為主從關系,然后用keepalived實現虛擬IP,通過keepalived自帶的服務監控功能來實現MySQL故障時自動切換。如果作為Master的Mysql停止服務的話,Keppalived將通過執行keepalived_check_mysql.sh腳本,將mysqld的服務切換到從數據庫。
3.2 mysql主從模式
利用MySQL主從復制來解決MySQL的數據一致性問題,確保用作備份、只讀副本等功能的Slave的數據和Master的數據實時或者最終保持一致。從庫開啟一個I/O線程,向主庫請求Binlog日志。主庫開啟一個binlog dump線程,檢查自己的二進制日志,發送給從庫,從庫將接收到的數據保存到中繼日志(Relay log)中,執行Relay中的操作完成MySQL的主從復制,確保Slave的數據始終與Master保持一致。Mysql主從模式如圖7所示:
4 系統測試
本系統測試工作主要經過單元測試、集成測試、系統測試、驗收測試。開發工程師依據代碼及代碼注釋和詳細設計文檔,以白盒測試方法驗證功能模塊代碼。在單元測試通過后,以黑白盒測試方法相結合方式開展系統測試,驗證系統的接口及集成后的功能正確性。系統測試后,由測試人員對包括功能、性能以及系統運行的軟硬件環境進行測試。最后,在系統部署前由需求提出方組織開展驗收測試,確保系統準備就緒。運行結果如圖8~圖12所示。
5 結語
遠程控制及能耗管理系統通過對遠程的設備控制、設備狀態監控及能耗數據采集,有效解決用電設備的管理手段落后、能耗數據采集滯后等實際管理中的問題,不僅提高了工作效率,擴展了日常管理工作的深度和廣度,還減輕了相應人員的工作強度和壓力,填補了傳統金融機構在用電設備管理方面數字化空白。同時隨著系統成功的上線運行,客觀上還提升了對銀行運行安全至關重要的基礎環境設備設施的保障能力和運行環境的安全警戒能力。該系統的實施是以銀行基層、集中管理的問題、堵點為抓手,契合了銀行,乃至證券、保險等傳統金融業的管理特點,有效解決了目前行業中網點類型層級眾多,地域跨度大、人員配置不足且不平衡、基礎運行保障管理信息及能耗數據反映、收集整理不及時、不統一等情況,具有集約化、數字化管理的技術特征。
參考文獻
[1] 陳曉莉,王志鐸.基于ZigBee的道路智能照明控制系統設計[J].現代電子技術,2019(12):72-75.
[2] 宋洪儒,王宜懷,楊凡.基于窄帶物聯網的智能路燈控制系統設計與實現[J].現代電子技術,2019(2):172-176,182.
[3] 趙遠超,趙建平,徐娟,等.基于NB-IoT技術的倉儲環境遠程監控系統設計[J].自動化儀表,2019(3):55-58.
[4] 黃偉,彭曉宏,張明明,等.一種基于窄帶物聯網的智能水表設計[J].現代電子技術,2019(14):169-172,176.
[5] 王洪輝,卓天祥,魏超宇,等.地質災害監測NB-IoT數據傳輸系統研制[J].中國測試,2019(5):121-127.