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

引言

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

1需求分析

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

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

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

后臺(tái)管理人員可進(jìn)行用戶管理、下設(shè)單位關(guān)系的維護(hù)以及后臺(tái)價(jià)格庫(kù)的維護(hù)等后臺(tái)操作。

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

2系統(tǒng)設(shè)計(jì)

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

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

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

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

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

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

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

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

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

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

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

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

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

3.1.Net與Oracle的鏈接

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

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

添加命名空間:

usingSystem.Data.OracleClient;

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

OracleConnectionconn=

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

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

下面是新建一個(gè)對(duì)數(shù)據(jù)庫(kù)操作的實(shí)例:

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

OracleDataReaderoraRD=oraCmd.ExecuteReader();

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

try{

conn.Open();

if(odr.Read())

{…}

Conn.close();

catch

{…}

3.2多線程與委托的運(yùn)用

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

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

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

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

Run_Pro_Two.Start();

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

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

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

privatedelegatevoidInvokeDelegate_2(inti,intj,Exceptione);

//定義一個(gè)函數(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();

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

4結(jié)語(yǔ)

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

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

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉