www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導讀]摘要:在分析了用戶需求的基礎上,結(jié)合.Net和Oracle9i數(shù)據(jù)庫,開發(fā)了一種經(jīng)濟一體化的信息管理系統(tǒng)。該系統(tǒng)根據(jù)用戶權(quán)限自動顯示其權(quán)限內(nèi)的工作內(nèi)容,并伴有自動計算、查找、統(tǒng)計等功能。實際應用證明,該系統(tǒng)操作界面友好,用戶操作簡明快捷,系統(tǒng)運行穩(wěn)定可以實現(xiàn)信息的實時查詢和處理。

引言

近年來,隨著油田采油廠生產(chǎn)規(guī)模的擴大和經(jīng)濟技術(shù)一體化工作的不斷加深,數(shù)據(jù)的精細化管理要求越來越高。面對種類繁多的數(shù)據(jù)和報表,傳統(tǒng)的人工加半自動化的管理方法,已經(jīng)跟不上現(xiàn)代化信息管理的步伐。在這種油田信息化發(fā)展的大背景下,基于C/S架構(gòu),以.NET為開發(fā)平臺,同時動態(tài)鏈接Oracle9i數(shù)據(jù)庫的經(jīng)濟一體化信息管理系統(tǒng)應運而生。該系統(tǒng)可根據(jù)用戶的權(quán)限,自動顯示其權(quán)限內(nèi)的工作內(nèi)容,并伴有自動計算、查找、統(tǒng)計等功能。本文在分析了用戶需求的基礎上,給出了整個系統(tǒng)的設計與關(guān)鍵技術(shù)問題的解決方案。

1需求分析

由于油田下設單位眾多,在生產(chǎn)管理上,有的單位還未建立統(tǒng)一實物消耗統(tǒng)計管理系統(tǒng),數(shù)據(jù)采集方式多、來源廣、差異大,不能形成系統(tǒng)的歷史數(shù)據(jù)沉淀,沒有形成完善的統(tǒng)計管理工作責任體系,因此,目前亟需一套管理系統(tǒng)來達到如下需求。

錄入人員、審核人員和管理員登錄時,系統(tǒng)會根據(jù)其所屬單位及權(quán)限,自動顯示其權(quán)限內(nèi)需要錄入、審核或查詢的報表。

審核人員對錄入人員錄入的數(shù)據(jù)進行審核,以保證數(shù)據(jù)真實、可靠后,由后臺發(fā)布平臺自動計算生成管理報表供查詢?nèi)藛T進行查閱,查詢?nèi)藛T只能查看到自己權(quán)限下的管理報表。

后臺管理人員可進行用戶管理、下設單位關(guān)系的維護以及后臺價格庫的維護等后臺操作。

根據(jù)對庫存量和消耗量的統(tǒng)計,自動實現(xiàn)各級單位實物工作量的動態(tài)管理和便捷查詢,能夠及時了解各單位材料(燃料)的消耗、庫存及下一步需求等情況,為物料管理提供參考。

2系統(tǒng)設計

針對客戶需求和油田經(jīng)濟一體化管理系統(tǒng)的特點,本系統(tǒng)采用.NET多層架構(gòu)技術(shù),運用WinForm等開發(fā)工具,以Oracle9i數(shù)據(jù)庫為基礎來進行開發(fā)。

Microsoft.NET技術(shù)是最新的數(shù)據(jù)庫應用開發(fā)工具,可以高效地開發(fā)可靠、穩(wěn)定又安全的各類數(shù)據(jù)庫應用程序。系統(tǒng)的客戶端就是采用.NET開發(fā)平臺中的WindowsForm(簡稱

winform)來創(chuàng)建應用程序的用戶界面,并可以創(chuàng)建豐富的窗體和可視化空間,以達到界面美觀、友好的效果。開發(fā)工具運用MicrosoftVisualStudio2008,并使用.NET支持的C#開發(fā)語言進行軟件的開發(fā),確保系統(tǒng)數(shù)據(jù)的實時性、穩(wěn)定性、安全性。

油田的生產(chǎn)管理過程中有大量的數(shù)據(jù)需要同時、快速的進行存儲和讀取,后臺數(shù)據(jù)庫需要強大的Oracle9i數(shù)據(jù)庫進行鏈接。Oracle9i由兩個產(chǎn)品構(gòu)成:一個是Oracle9i數(shù)據(jù)庫,它集成了集群的功能;另一個是Oracle9i應用服務器,它集成了高速緩存融合的技術(shù)。這兩個產(chǎn)品合起來,就能給企業(yè)提供一種高可伸縮性、高可靠性和高性能的應用。

經(jīng)濟一體化管理系統(tǒng)由錄入系統(tǒng)、審核系統(tǒng)、查詢和后臺管理系統(tǒng)等分系統(tǒng)組成。圖1所示是本系統(tǒng)的組成圖。

經(jīng)濟一體化信息管理系統(tǒng)研究

圖1  經(jīng)濟一體化管理系統(tǒng)構(gòu)成

用戶登錄系統(tǒng)時,可以根據(jù)用戶注冊時所分配的權(quán)限分別進入錄入系統(tǒng)、審核系統(tǒng)、查詢系統(tǒng)和后臺管理系統(tǒng)。

在錄入系統(tǒng),錄入人員通過本系統(tǒng)可將數(shù)據(jù)錄入其權(quán)限內(nèi)的報表中。數(shù)據(jù)錄入、修改完畢后,單擊右下角的'保存”按鈕,即可完成報表的錄入或修改。已審核的報表,“保存”按鈕為灰色,數(shù)據(jù)無法更改。

在審核系統(tǒng),審核人員通過本系統(tǒng)審核其權(quán)限內(nèi)的報表,在確保數(shù)據(jù)的可靠、完整后,單擊右下角的“審核”按鈕,即可完成報表的審核。已審核的報表,“審核”按鈕為灰色,不可點擊。

通過查詢系統(tǒng),用戶可通過本系統(tǒng)查閱其權(quán)限內(nèi)的所有報表。可查詢的報表分為綜合管理報表和條件查詢報表。兩種報表都可以通過選擇月份進行跨月累計查詢以及Excel導出功能,同時綜合管理報表可以點擊右鍵進行線狀/柱狀/餅狀的圖形分析,條件查詢報表可通過點擊下屬單位進行多級追蹤查詢。

在后臺管理系統(tǒng),后臺管理人員可通過本系統(tǒng)對整個系統(tǒng)進行后臺維護。主要功能有數(shù)據(jù)發(fā)布、用戶管理、下設單位關(guān)系維護、后臺價格庫維護、單井/爐維護等。其中,數(shù)據(jù)發(fā)布就是對程序控制執(zhí)行存儲過程生成管理報表;用戶管理主要是增刪用戶或更改用戶具體的工作內(nèi)容和權(quán)限;下設單位關(guān)系維護是增刪下設單位,以適應油田的長期發(fā)展;后臺價格庫維護就是定時對生產(chǎn)投入的物料價格進行實時更新,以實現(xiàn)量價分離的管理目標;單井/爐維護是增刪井/爐以及對井/爐的屬性進行修改。

3關(guān)鍵問題及解決方案

3.1.Net與Oracle的鏈接

.Net與Oracle數(shù)據(jù)庫可以通過多種方法來實現(xiàn)鏈接,既可以通過使用ODBC或OLEDB標準接口對數(shù)據(jù)庫進行鏈接,也可以通過.Net框架提供的專用接口System.Data.OracleClient.dll組件(ADO.Net組件)進行鏈接。這款組件是微軟專門針對Oracle數(shù)據(jù)庫開發(fā)而設計的,具有速度快、性能好的特點,是值得推薦使用的方式。

建立鏈接需要首先添加Sytem.Data.OracleClien命名空間,將System.Data.OracleClient.dll加入到項目中,接下來就可以創(chuàng)建和數(shù)據(jù)庫的鏈接了。建立鏈接的主要代碼如下:

添加命名空間:

usingSystem.Data.OracleClient;

創(chuàng)建和數(shù)據(jù)庫的鏈接:

OracleConnectionconn=

NewOracleConnection("datasource=remotedb;UserId=scott;Password=scott;");

//其中remotedb為oracle客戶端tnsnames.ora配置文件中的網(wǎng)絡服務名

下面是新建一個對數(shù)據(jù)庫操作的實例:

OracleCommandoraCmd=newOracleCommand("select*fromuser",conn);

OracleDataReaderoraRD=oraCmd.ExecuteReader();

//DataReader提供一種從數(shù)據(jù)庫讀取行的只進流的方式打開數(shù)據(jù)庫鏈接:

try{

conn.Open();

if(odr.Read())

{…}

Conn.close();

catch

{…}

3.2多線程與委托的運用

后臺管理系統(tǒng)的發(fā)布功能需要程序按一定順序調(diào)用執(zhí)行后臺所有的存儲過程,在此過程中需要執(zhí)行數(shù)百個存儲過程,并且每個存儲過程涉及的數(shù)據(jù)量也非常大,因而可能會導致發(fā)布窗體經(jīng)常出現(xiàn)假死狀態(tài)。這是由于系統(tǒng)在進行大量運算時,為了避免主線程界面這種假死狀態(tài),需要使用另一個線程來控制。

多線程的應用可以使程序同時完成多個任務,可以讓占用大量處理時間的任務定期將處理時間讓給別的任務使用。因此,可以創(chuàng)建一個新的線程來執(zhí)行發(fā)布功能,從而防止主線程界面假死。

在.Net中,可用如下代碼來創(chuàng)建并啟動一個新的線程:

ThreadRun_Pro_Two=newThread(newThreadStart(Run));Run_Pro_Two.IsBackground=true;

Run_Pro_Two.Start();

但是,在很多時候,新的線程中需要與UI進行交互,而在.Net中不允許直接這樣做,因為Windows窗體基于本機Win32窗口,而Win32窗口從本質(zhì)上而言是單元線程。STA模型意味著可以在任何線程上創(chuàng)建窗口,但窗口一旦創(chuàng)建后就不能切換線程,并且對它的所有函數(shù)調(diào)用都必須在其創(chuàng)建線程上發(fā)生。STA模型要求,從控件的非創(chuàng)建線程調(diào)用控件上的任何方法都必須被封送到(在其上執(zhí)行)該控件的創(chuàng)建線程?;怌ontrol為此目的提供了若干方法(Invoke、BeginInvoke和Endlnvoke)。

Invoke生成同步方法調(diào)用時,如果從另一個線程調(diào)用控件方法,則必須使用控件的一個Invoke方法來將調(diào)用封送到適當?shù)木€程。Invoke調(diào)用方法分為兩步:第一步是定義與函數(shù)功能對應的委托;第二步是將參數(shù)以及函數(shù)名通過委托實例傳遞給Invoke。

調(diào)用方法如下:

privatedelegatevoidInvokeDelegate_2(inti,intj,Exceptione);

//定義一個函數(shù)的委托

privatevoidInvoke_Datagridview_2(inti,intj,Exceptione)//定義函數(shù)

}

在主線程中調(diào)用:

this.Invoke(newInvokeDelegate_2(Invoke_Datagridview_2),newobject[]{i_one,j_one,ex});

//i_one,j_one,ex為主線程中的變量

最后在主線程中,終止線程:

if(Run_Pro_Two.IsAlive)Run_Pro_Two.Abort();

通過應用多線程和委托方法可有效防止發(fā)布數(shù)據(jù)窗口假死的現(xiàn)象。

4結(jié)語

結(jié)合.Net和Oracle數(shù)據(jù)庫開發(fā)的信息管理系統(tǒng),操作界面友好,用戶操作簡明、快捷,系統(tǒng)運行穩(wěn)定,并能夠?qū)崿F(xiàn)信息的實時查詢和處理。目前,本文設計的系統(tǒng)已經(jīng)投入運行,并取得了較好的經(jīng)濟社會效果。

20211018_616c5dbce0856__經(jīng)濟一體化信息管理系統(tǒng)研究

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉