劉中華
[摘 ? ?要]針對銀行業(yè)網(wǎng)點(diǎn)多、網(wǎng)點(diǎn)地域分布跨度大、用電設(shè)備數(shù)量和種類眾多問題,根據(jù)銀行日常管理和運(yùn)維的要求,采用基于NB-IoT物聯(lián)網(wǎng)技術(shù)的控制終端,結(jié)合B/S架構(gòu)模式設(shè)計(jì)一套控制和能耗管理系統(tǒng),解決傳統(tǒng)銀行業(yè)用電管理手段落后、能耗數(shù)據(jù)采集滯后等問題。該系統(tǒng)由信息采集、遠(yuǎn)程控制、能效分析等子系統(tǒng)組成,經(jīng)開發(fā)測試上線驗(yàn)證后,運(yùn)行穩(wěn)定,實(shí)現(xiàn)了對跨區(qū)域銀行網(wǎng)點(diǎn)能耗的實(shí)時(shí)管理,并具有良好的擴(kuò)展性和推廣性,為綠色金融在金融機(jī)構(gòu)自身的環(huán)境和社會表現(xiàn)上進(jìn)行了有益的探索。
[關(guān)鍵詞]遠(yuǎn)程控制;能耗管理;系統(tǒng)設(shè)計(jì)
[中圖分類號]TN929.5;TP391.44 [文獻(xiàn)標(biāo)志碼]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
隨著銀行業(yè)數(shù)字化進(jìn)程的發(fā)展,銀行業(yè)務(wù)和管理系統(tǒng)的數(shù)字化水平得到了迅猛發(fā)展,支持銀行業(yè)務(wù)發(fā)展的核心系統(tǒng)、支付系統(tǒng)、管理系統(tǒng)種類繁多且功能完善齊備。銀行在主要業(yè)務(wù)和管理方面已初步實(shí)現(xiàn)數(shù)字化,且正在努力向平臺化、智能化方向高速發(fā)展。隨著數(shù)字化進(jìn)程的快速推進(jìn),對跨地域分布種類繁多的各類用電設(shè)備管理和能耗管理提出了新的要求。
當(dāng)前傳統(tǒng)銀行主要的用電設(shè)備為分散到各營業(yè)網(wǎng)點(diǎn)的門頭招牌大屏、室內(nèi)照明設(shè)備、空調(diào)、室內(nèi)風(fēng)盤風(fēng)機(jī)、UPS不間斷電源等,對用電設(shè)備的管理要求對于有人值守網(wǎng)點(diǎn),通過發(fā)布各類管理辦法,從制度上嚴(yán)格要求,或者通過定時(shí)巡檢來督促檢查落實(shí);對于無人值守網(wǎng)點(diǎn)只能依托于時(shí)控器或者保持長期開機(jī)、關(guān)機(jī)狀態(tài),無法做到隨時(shí)監(jiān)控狀態(tài)、關(guān)閉啟動。能耗數(shù)據(jù)采集依靠人工上報(bào),不僅時(shí)間上延后且極可能產(chǎn)生誤報(bào)漏報(bào)。銀行當(dāng)前的管理方式嚴(yán)重制約了企業(yè)信息網(wǎng)絡(luò)自動化管理的水平,需要一套設(shè)計(jì)合理、高度自動化系統(tǒng)來實(shí)現(xiàn)精確管理。
本文根據(jù)某銀行的實(shí)際管理需求,使用軟件工程理論方法結(jié)合當(dāng)前主流技術(shù),對遠(yuǎn)程控制及能耗管理需求進(jìn)行了深入分析,并根據(jù)需求分析報(bào)告,完成了詳細(xì)的系統(tǒng)分析和開發(fā)設(shè)計(jì)。該系統(tǒng)采用安全可靠的應(yīng)用架構(gòu)設(shè)計(jì),能夠及時(shí)、準(zhǔn)確控制目標(biāo)用電設(shè)備,按照預(yù)定的規(guī)則對用電設(shè)備進(jìn)行控制,同時(shí)實(shí)現(xiàn)實(shí)時(shí)能耗數(shù)據(jù)采集。
1 系統(tǒng)功能需求分析
本文將遠(yuǎn)程控制及能耗管理系統(tǒng)的用戶分為管理員和一般操作員,一般操作員具有轄內(nèi)的用電設(shè)備控制操作權(quán)限、當(dāng)前設(shè)備狀態(tài)查看和歷史能耗數(shù)據(jù)查詢功能。管理員除具有一般操作員權(quán)限外,還具有用戶管理、網(wǎng)點(diǎn)機(jī)構(gòu)管理、用電設(shè)備管理、定時(shí)控制及告警規(guī)則管理權(quán)限。見圖1。
2 系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)
2.1 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)控制及能耗管理系統(tǒng)使用了基于NB-IoT物聯(lián)網(wǎng)協(xié)議的控制終端,控制設(shè)備接入使用NB協(xié)議負(fù)責(zé)子網(wǎng)內(nèi)設(shè)備間的組網(wǎng)及通信。后臺服務(wù)采用2臺應(yīng)用服務(wù)器、2臺數(shù)據(jù)服務(wù)器保障系統(tǒng)安全穩(wěn)定運(yùn)行,各網(wǎng)點(diǎn)機(jī)構(gòu)通過安裝控制設(shè)備用于負(fù)載設(shè)備的控制及能耗采集、環(huán)境溫濕度數(shù)據(jù)采集。整個系統(tǒng)設(shè)計(jì)簡單、安全、可實(shí)施性高。
在應(yīng)用架構(gòu)設(shè)計(jì)方面,采用的是B/S架構(gòu)的應(yīng)用模式,2臺應(yīng)用服務(wù)器使用Apache的mod_proxy模塊實(shí)現(xiàn)負(fù)載均衡,負(fù)載分配規(guī)則根據(jù)掛起的請求數(shù)進(jìn)行平衡,提高系統(tǒng)的整體可用。數(shù)據(jù)持久層采用2臺Mysql數(shù)據(jù)庫服務(wù)器,通過Master-Slave主從復(fù)制的方式同步數(shù)據(jù),再通過MySQL-Proxy讀寫分離來提升系統(tǒng)的并發(fā)負(fù)載能力。消息及告警服務(wù)模塊通過ESB接入行內(nèi)統(tǒng)一的郵件和短消息服務(wù)。后端服務(wù)與控制終端采用TCP同步短連接通訊,根據(jù)向遠(yuǎn)程控制設(shè)備發(fā)送不同的報(bào)文實(shí)現(xiàn)遠(yuǎn)程控制后端用電設(shè)備的開、關(guān)、狀態(tài)查詢、電力監(jiān)測、溫濕度監(jiān)測??傮w設(shè)計(jì)見圖2。
2.2 系統(tǒng)應(yīng)用架構(gòu)
應(yīng)用層級架構(gòu)采用三層設(shè)計(jì)模式,展示層使用jsp+ajax技術(shù),通過業(yè)務(wù)邏輯層獲得操作結(jié)果,負(fù)責(zé)用戶交互、數(shù)據(jù)錄入、控制操作、結(jié)果展示。業(yè)務(wù)邏輯層作為展示層和數(shù)據(jù)層的中間層級,基于J2EE架構(gòu)設(shè)計(jì)遵循J2EE開發(fā)規(guī)范,為整個系統(tǒng)提供功能和服務(wù),是整個系統(tǒng)的中樞控制中心。數(shù)據(jù)層采用mysql用于持久化保存系統(tǒng)產(chǎn)生的業(yè)務(wù)數(shù)據(jù),并為業(yè)務(wù)邏輯層提供數(shù)據(jù)的變更、查詢、存儲功能服務(wù)。應(yīng)用架構(gòu)設(shè)計(jì)見圖3。
2.3 系統(tǒng)主要功能實(shí)現(xiàn)
本系統(tǒng)與NB-IoT控制終端通信方式采用TCP短連接半雙工通信方式,控制終端為服務(wù)器端,應(yīng)用系統(tǒng)為客戶端。每個控制裝置配置有地址編碼,通信鏈路的建立與解除均由主站發(fā)出的信息幀來控制。每幀由幀起始符、從站地址域、控制碼、數(shù)據(jù)域長度、數(shù)據(jù)域、幀信息縱向校驗(yàn)碼及幀結(jié)束符7個域組成,幀格式見表1。
每字節(jié)含8位二進(jìn)制碼,傳輸時(shí)加上一個起始位(0)、一個偶校驗(yàn)位和一個停止位(1),共11位。其傳輸序列如圖6。D0是字節(jié)的最低有效位,D7是字節(jié)的最高有效位。先傳低位,后傳高位。字節(jié)傳輸序列見圖4。
(1)用戶通過web頁面對控制設(shè)備后端用電設(shè)備進(jìn)行關(guān)閉、打開或者查詢操作時(shí),系統(tǒng)通過TCP短連接協(xié)議連接到控制終端,并發(fā)送按照協(xié)議格式組織的數(shù)據(jù)格式,讀取控制終端返回?cái)?shù)據(jù)判斷操作是否成功,如操作失敗或者返回異常等非明確成功信息,系統(tǒng)再次組織發(fā)送查詢報(bào)文,獲取控制端口最新狀態(tài),確保系統(tǒng)中記錄的控制端口狀態(tài)與實(shí)際情況完全一致。流程圖見圖5。
(2)依據(jù)定時(shí)規(guī)則進(jìn)行控制時(shí),檢索定時(shí)規(guī)則控制表中當(dāng)前需要執(zhí)行控制的記錄信息,根據(jù)定時(shí)規(guī)則定義的控制設(shè)備ID,查詢設(shè)備信息表獲取控制設(shè)備IP地址、端口號等信息,根據(jù)定時(shí)規(guī)則配置的操作類型,根據(jù)協(xié)議格式組織關(guān)閉或打開報(bào)文,以TCP短連接方式發(fā)送報(bào)文并接受解析控制終端操作結(jié)果。操作成功,修改控制設(shè)備當(dāng)前狀態(tài)表用電設(shè)備狀態(tài)。為保證當(dāng)前狀態(tài)表中用電設(shè)備的準(zhǔn)確,在操作失敗或者返回異常后,組織狀態(tài)查詢報(bào)文,獲取用電設(shè)備最新狀態(tài),如與控制規(guī)則不一致,則以郵件或短信告知管理人員。流程圖見圖6。
(3)關(guān)鍵代碼實(shí)例如下:
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;//校驗(yàn)碼
int i14=0x16; //結(jié)束碼
s=new Socket(szSvrIp,iSvrPort);//連接到控制終端
s.setSoTimeout(iTimeOut);//設(shè)置超時(shí)時(shí)間
os=s.getOutputStream();
is=s.getInputStream();
//發(fā)送閉合控制器端口報(bào)文
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);//讀取返回?cái)?shù)據(jù)
//解析返回報(bào)文
szReturnMsg=SplitGetAllReturnStr(buf,0x94);
if(errcode!=0)return null;
//其他省略
3 關(guān)鍵技術(shù)應(yīng)用
3.1 mysql主從切換技術(shù)
通過使用MySQL+keepalived來解決在一臺數(shù)據(jù)庫發(fā)生了宕機(jī)或者意外中斷等故障,保證業(yè)務(wù)不會因?yàn)閿?shù)據(jù)庫的故障而中斷,盡可能減少停機(jī)時(shí)間。兩臺MySQL主機(jī)設(shè)為主從關(guān)系,然后用keepalived實(shí)現(xiàn)虛擬IP,通過keepalived自帶的服務(wù)監(jiān)控功能來實(shí)現(xiàn)MySQL故障時(shí)自動切換。如果作為Master的Mysql停止服務(wù)的話,Keppalived將通過執(zhí)行keepalived_check_mysql.sh腳本,將mysqld的服務(wù)切換到從數(shù)據(jù)庫。
3.2 mysql主從模式
利用MySQL主從復(fù)制來解決MySQL的數(shù)據(jù)一致性問題,確保用作備份、只讀副本等功能的Slave的數(shù)據(jù)和Master的數(shù)據(jù)實(shí)時(shí)或者最終保持一致。從庫開啟一個I/O線程,向主庫請求Binlog日志。主庫開啟一個binlog dump線程,檢查自己的二進(jìn)制日志,發(fā)送給從庫,從庫將接收到的數(shù)據(jù)保存到中繼日志(Relay log)中,執(zhí)行Relay中的操作完成MySQL的主從復(fù)制,確保Slave的數(shù)據(jù)始終與Master保持一致。Mysql主從模式如圖7所示:
4 系統(tǒng)測試
本系統(tǒng)測試工作主要經(jīng)過單元測試、集成測試、系統(tǒng)測試、驗(yàn)收測試。開發(fā)工程師依據(jù)代碼及代碼注釋和詳細(xì)設(shè)計(jì)文檔,以白盒測試方法驗(yàn)證功能模塊代碼。在單元測試通過后,以黑白盒測試方法相結(jié)合方式開展系統(tǒng)測試,驗(yàn)證系統(tǒng)的接口及集成后的功能正確性。系統(tǒng)測試后,由測試人員對包括功能、性能以及系統(tǒng)運(yùn)行的軟硬件環(huán)境進(jìn)行測試。最后,在系統(tǒng)部署前由需求提出方組織開展驗(yàn)收測試,確保系統(tǒng)準(zhǔn)備就緒。運(yùn)行結(jié)果如圖8~圖12所示。
5 結(jié)語
遠(yuǎn)程控制及能耗管理系統(tǒng)通過對遠(yuǎn)程的設(shè)備控制、設(shè)備狀態(tài)監(jiān)控及能耗數(shù)據(jù)采集,有效解決用電設(shè)備的管理手段落后、能耗數(shù)據(jù)采集滯后等實(shí)際管理中的問題,不僅提高了工作效率,擴(kuò)展了日常管理工作的深度和廣度,還減輕了相應(yīng)人員的工作強(qiáng)度和壓力,填補(bǔ)了傳統(tǒng)金融機(jī)構(gòu)在用電設(shè)備管理方面數(shù)字化空白。同時(shí)隨著系統(tǒng)成功的上線運(yùn)行,客觀上還提升了對銀行運(yùn)行安全至關(guān)重要的基礎(chǔ)環(huán)境設(shè)備設(shè)施的保障能力和運(yùn)行環(huán)境的安全警戒能力。該系統(tǒng)的實(shí)施是以銀行基層、集中管理的問題、堵點(diǎn)為抓手,契合了銀行,乃至證券、保險(xiǎn)等傳統(tǒng)金融業(yè)的管理特點(diǎn),有效解決了目前行業(yè)中網(wǎng)點(diǎn)類型層級眾多,地域跨度大、人員配置不足且不平衡、基礎(chǔ)運(yùn)行保障管理信息及能耗數(shù)據(jù)反映、收集整理不及時(shí)、不統(tǒng)一等情況,具有集約化、數(shù)字化管理的技術(shù)特征。
參考文獻(xiàn)
[1] 陳曉莉,王志鐸.基于ZigBee的道路智能照明控制系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2019(12):72-75.
[2] 宋洪儒,王宜懷,楊凡.基于窄帶物聯(lián)網(wǎng)的智能路燈控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2019(2):172-176,182.
[3] 趙遠(yuǎn)超,趙建平,徐娟,等.基于NB-IoT技術(shù)的倉儲環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].自動化儀表,2019(3):55-58.
[4] 黃偉,彭曉宏,張明明,等.一種基于窄帶物聯(lián)網(wǎng)的智能水表設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2019(14):169-172,176.
[5] 王洪輝,卓天祥,魏超宇,等.地質(zhì)災(zāi)害監(jiān)測NB-IoT數(shù)據(jù)傳輸系統(tǒng)研制[J].中國測試,2019(5):121-127.