国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SqlDependency對(duì)象的路燈測控系統(tǒng)設(shè)計(jì)*

2015-04-15 07:29:45蔡俊濤賴順橋肖熠琳廣州市光機(jī)電技術(shù)研究院廣東廣州50663中山大學(xué)數(shù)學(xué)與計(jì)算科學(xué)學(xué)院廣東廣州50275
機(jī)電工程技術(shù) 2015年8期
關(guān)鍵詞:功能模塊測控路燈

蔡俊濤,賴順橋,肖熠琳(.廣州市光機(jī)電技術(shù)研究院,廣東廣州 50663;2.中山大學(xué)數(shù)學(xué)與計(jì)算科學(xué)學(xué)院,廣東廣州 50275)

基于SqlDependency對(duì)象的路燈測控系統(tǒng)設(shè)計(jì)*

蔡俊濤1,2,賴順橋1,肖熠琳1
(1.廣州市光機(jī)電技術(shù)研究院,廣東廣州510663;2.中山大學(xué)數(shù)學(xué)與計(jì)算科學(xué)學(xué)院,廣東廣州510275)

摘要:以路燈測控系統(tǒng)為例,針對(duì)系統(tǒng)對(duì)用戶操作過程和各類測試數(shù)據(jù)需要隨時(shí)記錄的應(yīng)用特點(diǎn),采用基于SqlDependency對(duì)象,以數(shù)據(jù)的變化驅(qū)動(dòng)功能模塊的架構(gòu)模式,大大提高了接口可讀性,降低了功能模塊之間的耦合性,有利于開發(fā)過程中團(tuán)隊(duì)的協(xié)同作業(yè),以及后期的改進(jìn)升級(jí)。

關(guān)鍵詞:SqlDependency;路燈測控系統(tǒng);低耦合;數(shù)據(jù)驅(qū)動(dòng)

*國家863計(jì)劃項(xiàng)目(編號(hào):2013AA03A106);廣州市重大科技專項(xiàng)(編號(hào):2013Y2-00142)

0 引言

SqlDependency對(duì)象表示應(yīng)用程序和SQL Serv?er實(shí)例間的查詢通知依賴關(guān)系。應(yīng)用程序可以創(chuàng)建一個(gè)SqlDependency對(duì)象并進(jìn)行注冊(cè)以通過On?ChangeEventHandler事件處理程序接收通知[1],其主要作用是監(jiān)測數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生變化。利用SqlDependency對(duì)象的監(jiān)測功能,以數(shù)據(jù)庫作為數(shù)據(jù)驅(qū)動(dòng)的接口,可以構(gòu)建出模塊耦合性低、功能擴(kuò)展性好、接口可讀性高的應(yīng)用系統(tǒng)。本文以路燈測控系統(tǒng)為例,簡要地闡述了基于SqlDepen?dency對(duì)象的測控系統(tǒng)的開發(fā)模式。

1 系統(tǒng)需求特點(diǎn)

目前,大部分LED路燈缺少必要的智能控制,或者雖然有定時(shí)控制但是卻不能自動(dòng)檢測路燈的工作狀況,也不能方便地對(duì)路燈進(jìn)行遠(yuǎn)程測控[2]。對(duì)城市管理而言,亟需一套可統(tǒng)一管理的智能化路燈測控系統(tǒng)。筆者承擔(dān)了一項(xiàng)類似的開發(fā)任務(wù),其需求具有以下顯著特點(diǎn):

(1)系統(tǒng)管理的對(duì)象地域性廣,采用分布式架構(gòu),涉及多個(gè)服務(wù)器和各種客戶端應(yīng)用;

(2)系統(tǒng)除了需要保存各種檢測數(shù)據(jù)、狀態(tài)數(shù)據(jù)外,每一次的操作都需要在數(shù)據(jù)庫中留下歷史記錄;

(3)系統(tǒng)要求功能擴(kuò)展性好,而且有可能在系統(tǒng)完成初期還需要根據(jù)實(shí)際使用情況修改功能模塊。

可以看出,系統(tǒng)相對(duì)一般的應(yīng)用系統(tǒng)架構(gòu)較龐大,對(duì)數(shù)據(jù)庫操作頻繁,對(duì)功能模塊的耦合性十分敏感。因此,本系統(tǒng)以SQL Server數(shù)據(jù)庫為交互點(diǎn),利用SqlDependency對(duì)象的監(jiān)測功能進(jìn)行整合開發(fā)。

2 系統(tǒng)總體架構(gòu)

系統(tǒng)架構(gòu)如圖1所示,主要包含三個(gè)部分:現(xiàn)場路段、中心、客戶端。

(1)現(xiàn)場路段:指路燈安裝現(xiàn)場,包括了燈、測控器以及基站。測控器安裝在燈上,實(shí)現(xiàn)對(duì)燈的開關(guān)、調(diào)光、檢測等功能,并通過Zigbee或電力線載波等通信方式,與基站連接?;緞t通過公共的無線數(shù)據(jù)通道(4G、GPRS等)與“中心”的網(wǎng)絡(luò)進(jìn)行通信。

圖1 系統(tǒng)架構(gòu)

(2)中心:以數(shù)據(jù)庫為核心,實(shí)現(xiàn)系統(tǒng)的各種應(yīng)用。通過接口服務(wù),實(shí)現(xiàn)客戶與終端之間的指令和數(shù)據(jù)交互;通過呈現(xiàn)服務(wù)(主要為Web服務(wù)),實(shí)現(xiàn)客戶端的界面交互和結(jié)果呈現(xiàn);通過分析服務(wù),實(shí)現(xiàn)對(duì)檢測數(shù)據(jù)的深度分析;通過管理服務(wù),實(shí)現(xiàn)用戶、路燈、路段等各方面信息的管理,以及對(duì)歷史日志的查詢。

(3)客戶端:通過中心提供的Web服務(wù),實(shí)現(xiàn)對(duì)系統(tǒng)的應(yīng)用操作。

3 SqlDependency對(duì)象在系統(tǒng)中的應(yīng)用

系統(tǒng)以數(shù)據(jù)庫為核心,利用SqlDependency對(duì)象,可以實(shí)現(xiàn)客戶端與現(xiàn)場終端之間的交互以及各個(gè)服務(wù)之間數(shù)據(jù)的同步(如圖2)。包括在接口服務(wù)中實(shí)現(xiàn)指令的發(fā)送;在分析服務(wù)中實(shí)現(xiàn)數(shù)據(jù)自動(dòng)累計(jì);在呈現(xiàn)服務(wù)中實(shí)現(xiàn)緩存更新、故障主動(dòng)預(yù)警;在管理服務(wù)中實(shí)現(xiàn)設(shè)置同步。

圖2 運(yùn)用SqlDependency對(duì)象

下面以客戶端發(fā)送指令為例,使用SqlDepen?dency對(duì)象,將數(shù)據(jù)表變成交互的接口。首先,在數(shù)據(jù)庫中制定一個(gè)用于操作記錄的數(shù)據(jù)表[Control_In?fo](如圖3),此表既是用戶操作的歷史記錄表,也是觸發(fā)中心服務(wù)程序發(fā)送指令的接口表,然后在接口程序中建立一個(gè)SqlDe?pendency對(duì)象,監(jiān)測[Con?trol_Info]表的數(shù)據(jù)變化??蛻舳诵枰l(fā)送指令時(shí),直接在[Control_Info]表中登記一條記錄,SqlDepen?dency對(duì)象就會(huì)自動(dòng)觸發(fā)指令發(fā)送程序,對(duì)記錄進(jìn)行解析并按接口協(xié)議完成指令發(fā)送。

圖4為SqlDependency對(duì)象在指令發(fā)送方面的程序流程。

實(shí)現(xiàn)SqlDependency對(duì)象應(yīng)用的主要代碼如下:

圖3 [Control_Info]表

4 應(yīng)用SqlDependency對(duì)象注意點(diǎn)

(1)需要SQL Server 2005以上版本的數(shù)據(jù)庫支持;

(2)必須開啟數(shù)據(jù)庫的ServiceBroker服務(wù),可以使用以下語句開啟:ALTER DATABASE <數(shù)據(jù)庫名稱> SET ENABLE_BROKER;

(3)觸發(fā)發(fā)生后,監(jiān)測即失效,如果要循環(huán)監(jiān)測,需要重新設(shè)置SqlDependency對(duì)象,如上面實(shí)例中在dependency_OnChange函數(shù)里調(diào)用setde?pendency函數(shù)進(jìn)行重新設(shè)置。

5 結(jié)語

本文所描述的路燈測控系統(tǒng),以數(shù)據(jù)庫為核心,以數(shù)據(jù)表為交互接口,通過對(duì)SqlDependency對(duì)象的充分應(yīng)用,以數(shù)據(jù)的變化驅(qū)動(dòng)功能模塊,大大提高了接口可讀性,降低了功能模塊之間的耦合性,有利于開發(fā)過程中團(tuán)隊(duì)的協(xié)同作業(yè),以及后期系統(tǒng)的改進(jìn)、升級(jí)和功能模塊的添加。對(duì)于需要對(duì)操作過程和各類數(shù)據(jù)隨時(shí)記錄的系統(tǒng),特別適合這種應(yīng)用模式。

圖4 指令發(fā)送流程圖

參考文獻(xiàn):

[1]MSDN.SqlDependency類[EB/OL],https://msdn.mi?crosoft.com/zh-cn/library/system.data.sqlclient.sqldepen?dency.aspx.

[2]陳曉艷,高偉,秦歡,等.基于GPRS與ZigBee的LED路燈智能監(jiān)控系統(tǒng)設(shè)計(jì)[J].電子測量技術(shù),2013,36(10):62-65.

(編輯:向飛)

Design of Street Lamp Monitoring and Controlling System Based on SqlDependency Object

CAI Jun-tao1,2,LAI Shun-qiao1,XIAO Yi-lin1
(1.Guangzhou Research Institute of O-M-E Technology,Guangzhou510063,China;2.Sun Yat-sen University School of Mathematics & Computational Science,Guangzhou510275,China)

Abstract:Taking street lamp monitoring and controlling system as an example,for the characteristics of the application that require record the user's operation process and all kinds of test data at any time,use an architectural model,based on SqlDependency object and with the change of the data to drive function module,that greatly improve the interface readability and reduce the coupling between modules.It is conducive to the development of team collaboration,and easy to upgrade later.

Key words:SqlDependency;street lamp monitoring and controlling system;low coupling;data driven

作者簡介:第一蔡俊濤,男,1978年生,廣東潮州人,大學(xué)本科,工程師。研究領(lǐng)域:測控技術(shù)、軟件工程。已發(fā)表論文5篇。

收稿日期:2015-07-10

DOI:10.3969/j.issn.1009-9492.2015.08.021

中圖分類號(hào):TP274

文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-9492 (2015 ) 08-0074-03

猜你喜歡
功能模塊測控路燈
《測控電路》實(shí)踐教學(xué)改革探討
電子測試(2018年22期)2018-12-19 05:12:58
路燈
為什么高速公路上不用路燈照明
基于現(xiàn)代測控技術(shù)及其應(yīng)用分析
基于ASP.NET標(biāo)準(zhǔn)的采購管理系統(tǒng)研究
向著新航程進(jìn)發(fā)——遠(yuǎn)望7號(hào)測控船首航記錄
太空探索(2016年12期)2016-07-18 11:13:43
輸電線路附著物測算系統(tǒng)測算功能模塊的研究
M市石油裝備公服平臺(tái)網(wǎng)站主要功能模塊設(shè)計(jì)與實(shí)現(xiàn)
功能模塊的設(shè)計(jì)與應(yīng)用研究
基于USB2.0協(xié)議的通用測控通信接口設(shè)計(jì)
荣昌县| 灵丘县| 岚皋县| 青阳县| 柳江县| 交城县| 大兴区| 台山市| 武强县| 云安县| 化德县| 伊春市| 武平县| 辰溪县| 疏勒县| 云安县| 隆尧县| 交城县| 柏乡县| 山丹县| 察隅县| 嵩明县| 筠连县| 荔浦县| 临颍县| 稷山县| 酒泉市| 富宁县| 阜阳市| 县级市| 阿城市| 开平市| 莎车县| 巴彦县| 济源市| 特克斯县| 都昌县| 平邑县| 如东县| 凌源市| 福海县|