專利名稱:基于電網gis平臺的應用的功能擴展方法及裝置的制作方法
技術領域:
本申請涉及電カ系統(tǒng)技術領域,特別是涉及ー種基于電網GIS平臺應用的功能擴展方法及相應的裝置。
背景技術:
一般的應用服務系統(tǒng)通常具有開放的體系結構和個性化定制功能,以滿足不同使用主體多祥化的需求。同吋,采用開放式體系結構有利于促進應用服務提供方進行模塊化設計與開發(fā),從而提高開發(fā)效率。盡管如此,由于電カ設備應用的特殊性,這種技術研發(fā)思想并未普及到電カ系統(tǒng)技術領域。現有的基于電網GIS平臺的各種應用即存在這樣的問題。所謂基于電網GIS平臺的應用是采用GIS技術實現電網資源的結構化和圖像化展現的各種具體服務。這些各種具體應用服務雖然建立在統(tǒng)ー的電網GIS平臺基礎上,但每種應用之間存在排斥性,不能兼容其他應用。一旦在客戶終端上安裝了該類應用,除實現該應用 事先預定的功能外,不能在原有應用基礎上增加新的功能。由此導致電カ系統(tǒng)領域基于電網GIS平臺的應用種類必須“全盤式”獨立開發(fā),該方式増加了企業(yè)成本,降低了基于電網GIS平臺應用開發(fā)的整體效率。
發(fā)明內容
為解決上述技術問題,本申請實施例提供ー種基于電網GIS平臺的應用的功能擴展方法及相應的裝置,以降低企業(yè)成本、提高基于電網GIS平臺應用開發(fā)的整體效率。本申請實施例提供的基于電網GIS平臺的應用的功能擴展方法包括將插件接ロ嵌入基于電網GIS平臺的應用,所述插件接ロ包含通用接ロ函數;基于電網GIS平臺的應用啟動時加載插件,所述插件加載過程中通過插件接ロ的接ロ函數與基于電網GIS平臺的應用進行信息交互;在接收到功能擴展指令后,觸發(fā)所述插件調用電網GIS平臺公共運行函數庫的相應函數實現插件功能。優(yōu)選地,所述插件接ロ使用頭文件或IDL文件描述。優(yōu)選地,通過COM方式封裝電網GIS平臺公共運行函數庫,形成COM封裝包,則所述插件調用電網GIS平臺公共運行函數庫的COM封裝包實現插件功能。優(yōu)選地,所述方法還包括注冊插件的功能類型,則基于電網GIS平臺的應用啟動時,根據基于電網GIS平臺的應用的類型加載相應功能類型的插件。進ー步優(yōu)選地,所述插件的功能類型使用UUID描述。本申請實施例還提供了 ー種基于電網GIS平臺的應用的功能擴展裝置。該裝置包括嵌入単元、加載單元和觸發(fā)單元,其中所述嵌入単元,用于將插件接ロ嵌入基于電網GIS平臺的應用,所述插件接ロ包含通用接ロ函數;所述加載単元,用于在基于電網GIS平臺的應用啟動時加載插件,所述插件加載過程中通過插件接ロ的接ロ函數與基于電網GIS平臺的應用進行信息交互;所述觸發(fā)単元,用于在接收到功能擴展指令后觸發(fā)所述插件調用電網GIS平臺公共運行函數庫的相應函數實現插件功能。優(yōu)選地,所述裝置還包括封裝単元,用于通過COM方式封裝電網GIS平臺公共運行函數庫以形成COM封裝包,則觸發(fā)單元在接收到功能擴展指令后觸發(fā)所述插件調用電網GIS平臺公共運行函數庫的COM封裝包實現插件功能。優(yōu)選地,所述裝置還包括注冊單元,用于注冊插件的功能類型,則在基于電網GIS平臺的應用啟動時根據基于電網GIS平臺的應用的類型加載相應功能類型的插件。
本申請實施例將包含通用接ロ函數的插件接ロ嵌入到基于電網GIS平臺的應用之中,在該應用啟動時加載插件,通過加載的插件調用電網GIS平臺公共運行函數庫的相應函數實現插件功能。與現有技術相比,本申請實施例僅需要將待擴展的功能融入插件,通過插件接ロ內的通用接ロ函數將插件與基于GIS平臺的應用綁定,然后借助插件與電網GIS平臺公共運行函數庫之間的調用與被調用關系,即可實現基于電網GIS平臺的應用的功能擴展,由此使得基于電網GIS平臺的應用具有擴容性,避免了針對各種不同的應用需求進行“全盤”式的重開發(fā),從而降低了企業(yè)成本,提高了基于電網GIS平臺的應用開發(fā)的整體效率。
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的ー些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖I為本申請基于電網GIS平臺的應用的功能擴展方法實施例流程圖;圖2為圖I所述實施例的應用場景實現示意圖;圖3為本申請基于電網GIS平臺的應用的功能擴展裝置實施例結構框圖。
具體實施例方式為了使本技術領域的人員更好地理解本申請中的技術方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請保護的范圍。為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面先對本申請實施例涉及的ー些基本概念進行介紹,然后結合附圖和具體實施方式
對本申請作進ー步詳細的說明。GIS(Geographic Information System,地理信息系統(tǒng))是在地理學、地圖學、測量學和計算機科學等學科基礎上發(fā)展起來的、建立在數據庫管理系統(tǒng)(DBMS)分析管理基礎上以地理空間數據為操作對象的ー門學科,具有獨立的學科體系。從功能上,GIS具有空間數據的獲取、存儲、顯示、編輯、處理、分析、輸出和應用等功能;從服務的角度,GIS能為居民生產生活提供地理信息服務的系統(tǒng);從系統(tǒng)學的角度,GIS具有一定結構和功能,是ー個完整的系統(tǒng)。電網GIS是將GIS技術應用于電カ系統(tǒng)領域,以面向服務的架構為各類業(yè)務應用提供電網圖形和分析服務的企業(yè)級電網平臺,它通過采集終端收集電網系統(tǒng)的各種電力設備的屬性數據,這些屬性數據包括電カ設備的圖形式樣、標準名稱、設備大小、空間位置、設備類型、連接關系等數據。然后利用這些數據構建與真實電網系統(tǒng)具有對應關系的拓撲結構,實現電網資源的結構化管理和圖形化展現,由此可通過對電網拓撲結構和設備圖形展現的分析和研究即可實現電網系統(tǒng)的監(jiān)控和問題排查,進而提高電力系統(tǒng)服務管理水平?;陔娋WGIS平臺的應用是在電網GIS平臺上,利用電網GIS平臺的公共資源(比如,電網GIS平臺公共運行函數庫)開發(fā)的各種具體應用和服務。這些應用基于商業(yè)需求,可實現電力系統(tǒng)的某一方面或幾個方面的功能。如前所述,現有技術中的基于電網GIS平臺的各種應用具有獨立性和閉鎖性,不能橫向開放和后向兼容。為此,本發(fā)明的實施例提供了ー種基于電網GIS平臺的應用的功能擴展方法。參見圖1,該圖示出了本申請實施例的方法流程圖。該實施例包括步驟SlOl :將插件接ロ嵌入基于電網GIS平臺的應用,所述插件接ロ包含通用接 ロ函數;基于電網GIS平臺的應用具有獨立的功能,但可通過在該應用的原代碼基礎上嵌入插件接ロ程序實現插件接ロ的導入,插件接ロ導入到基于電網GIS平臺的應用中并不影響該應用原有功能,僅是為應用程序打開了ー個熔接其他功能模塊的“窗ロ”,進而方便實現基于電網GIS平臺應用的功能擴展。插件接ロ可以適用頭文件描述,也可以使用IDL文件描述。這里的“頭文件”作為ー種包含通用接ロ函數、數據接ロ聲明的載體文件,主要用于保存程序的聲明。一般在ー個應用開發(fā)體系中,功能的真正邏輯實現是以硬件層為基礎,在驅動程序、功能層程序以及用戶的應用程序中完成的。因此,頭文件的主要作用在于調用庫功能,對各個被調用函數給出ー個描述,其本身不包含程序的邏輯實現代碼,它只起描述性作用,告訴應用程序通過相應途徑尋找相應功能函數的真正邏輯實現代碼。用戶程序只需要按照頭文件中的接ロ聲明來調用庫功能,編譯器會從庫中提取相應的代碼。IDL(interfaCedefinition language,接ロ定義語言)用于編輯定義接ロ文件,說明操作(過程或函數)、操作的參數以及數據類型的語言等內容。步驟S102 :基于電網GIS平臺的應用啟動時加載插件,所述插件加載過程中通過插件接ロ的通用接ロ函數與基于電網GIS平臺的應用進行信息交互;用戶為實現基于電網GIS平臺的應用的功能擴展,在啟動時需要加載插件,以便通過運行插件實現該目的。插件作為實際完成功能的實體,其內部具有獨立性,ー個插件實現何種功能以及如何實現均由插件自身決定。但是插件功能實現必須與基于電網GIS平臺的應用進行結合,在該結合過程(即實現插件加載)中,插件需要通過插件接ロ的通用接ロ函數與基于電網GIS平臺的應用進行信息交互,交互的結果是實現了插件與基于電網GIS平臺的應用之間的“綁定”。值得注意的是這里實現插件與基于電網GIS平臺的應用間綁定的通用接ロ函數與后續(xù)步驟中的電網GIS平臺公共運行函數庫中的函數的區(qū)別,前者是系統(tǒng)函數,由基于電網GIS平臺的應用運行的系統(tǒng)提供,該系統(tǒng)函數的運行結果是將插件程序順利地“熔接”到基于電網GIS平臺的應用中;后者是電網GIS平臺公共運行函數庫提供的函數,該函數是GIS技術應用于電カ系統(tǒng)領域過程中編寫的各種實現GIS平臺應用的共有函數。步驟S103 :在接收到功能擴展指令后,觸發(fā)所述插件調用電網GIS平臺公共運行函數庫的函數實現插件功能。基于電網GIS平臺的應用中“溶入” 了插件后,可以按照預設條件進行插件運行進而實現插件功能達到功能擴展的目的,這里的預設條件可以是接收到功能擴展指令,該指令可以是由用戶控制的、通過指令窗ロ進行輸入,也可以加載完插件后產生相應觸發(fā),生成并傳遞的功能擴展指令;預設條件還可以是預設時間周期,只要時間到來后即生成并傳遞功能擴展指令,比如,基于電網GIS平臺的應用在每天的相同時間時生成功能擴展指令。在接收到功能擴展指令后,觸發(fā)插件調用電網GIS平臺公共運行函數庫的函數實現插件功能。調用何種函數由插件需要實現的功能決定。插件調用函數的過程即是插件的運行過程,通過插件的運行實現了基于電網GIS平臺的應用的功能擴展。 本實施例將包含通用接ロ函數的插件接ロ嵌入到基于電網GIS平臺的應用之中,在該應用啟動時加載插件,通過加載的插件調用電網GIS平臺公共運行函數庫的相應函數實現插件功能。與現有技術相比,本實施例僅需要將待擴展的功能融入插件,通過插件接ロ內的通用接ロ函數將插件與基于GIS平臺的應用綁定,然后借助插件與電網GIS平臺公共運行函數庫之間的調用與被調用關系,即可實現基于電網GIS平臺的應用的功能擴展,由此使得基于電網GIS平臺的應用具有擴容性,避免了針對各種不同的應用需求進行“全盤”式的重開發(fā),從而降低了企業(yè)成本,提高了基于電網GIS平臺的應用開發(fā)的整體效率。此夕卜,上述插件體系設計能夠把功能擴展從基于電網GIS平臺的應用框架中剝離出來,一方面降低了基于電網GIS平臺的應用框架的復雜度,使應用程序的開發(fā)更加容易;另一方面,由于功能擴展與應用框架以ー種松散的方式耦合,兩者可以在保持接ロ不變的情況下,可依據自身的情況獨立開發(fā)和發(fā)布。參見圖2,該圖示出了上述實施例的應用場景的實現示意圖。該圖包含四個部分基于電網GIS平臺的應用(應用框架)、插件接ロ部件、插件以及電網GIS平臺公共運行函數庫。應用框架負責應用程序的整體運作,它清楚程序整個運行過程,但并不知道每個過程具體如何實現,每個過程的實現通過封裝的函數實現。插件接ロ是聯系插件與應用框架的紐帶,通過插件接ロ連接具有各種功能的插件,將插件“熔接”到應用框架之中。插件是實現具體的實體功能,插件通過調用電網GIS平臺公共運行函數庫中的函數實現插件預定義的功能。電網GIS平臺公共函數庫屬于電網GIS平臺的一部分,它包含眾多函數,應用框架和插件均可調用函數庫中的函數實現電網的圖形化展現等功能。上述實施例中插件可以直接調用電網GIS平臺公共運行函數庫的各種函數,但是,由于GIS平臺公共運行函數庫內的函數眾多,分別獨立地調用將降低插件運行的效率,因此,本申請實施例優(yōu)選通過COM方式封裝電網GIS平臺公共運行函數庫內的函數,形成COM封裝包。COM是Component Object Model的縮寫,表示組件對象模型。COM方式封裝是指遵循了 COM規(guī)范的封裝,通過該封裝可以省略實現細節(jié),而僅僅關系這些融合在一起的函數實現的整體功能。通過對電網GIS平臺公共運行函數庫內的函數進行封裝形成COM封裝包后,插件在調用相應函數實現相應功能時便不需要以單個的函數為單位,而僅需要以COM封裝包為單位進行調用,從而加快的插件運行,進而提高基于電網GIS平臺的應用的功能擴展的效率。
前面已經提及插件是實現一定功能的實體,它可獨立于基于電網GIS平臺的應用獨立開發(fā),因此,為了滿足各種現實需要,插件的種類和數量繁多,基于電網GIS平臺的應用在加載插件時,通常不需要加載事先編寫好的所有插件,而僅需加載相對于用戶使用的應用框架有意義的插件,從而節(jié)約功能擴展的效率。本申請實施例考慮到這種現實,優(yōu)選對插件的功能類型進行注冊,這樣,基于電網GIS平臺的應用啟動時,便可根據基于電網GIS平臺的應用的類型加載相應功能類型的插件。這里對插件功能類型進行注冊,可通過在注冊表中注冊分類條目實現,ー個插件可以在多個應用類型的條目下注冊,這種情況下,啟動任何一種基于GIS平臺的應用類型,均會加載該插件,該類插件通常為公用插件,一個插件也可根據需要僅注冊在ー個應用類型的條目下,該情況下,在啟動基于GIS平臺的應用類型時僅會加載該插件,該類插件通常為專用插件,比如電網應用插件、管網應用插件、通信網應用插件等。在注冊過程中,插件的功能類型可使用UUID描述,UUID是通用唯一識別碼(Universally Unique Identifier)的簡寫,該識別碼可以保證在不同的應用系統(tǒng)中均能較好地識別插件的功能類型,避免加載錯誤。以上是對本申請方法實施例的描述,與方法實施例相對應,本申請實施例還提供了ー種基于電網GIS平臺的應用的功能擴展裝置。參見圖3,該圖示出了基于電網GIS平臺 的應用的功能擴展裝置的結構框圖。該裝置實施例300包括嵌入単元301、加載單元302和觸發(fā)單元303,其中所述嵌入単元301,用于將插件接ロ嵌入基于電網GIS平臺的應用,所述插件接ロ包含通用接ロ函數;所述加載單元302,用于在基于電網GIS平臺的應用啟動時加載插件,所述插件加載過程中通過插件接ロ的接ロ函數與基于電網GIS平臺的應用進行信息交互;所述觸發(fā)単元303,用于在接收到功能擴展指令后觸發(fā)所述插件調用電網GIS平臺公共運行函數庫的相應函數實現插件功能。上述裝置實施例的工作過程是嵌入単元301將插件接ロ嵌入基于電網GIS平臺的應用,然后加載單元302在基于電網GIS平臺的應用啟動時加載插件,在該插件加載過程中通過插件接ロ的接ロ函數與基于電網GIS平臺的應用進行信息交互;觸發(fā)單元303在接收到功能擴展指令后觸發(fā)所述插件調用電網GIS平臺公共運行函數庫的相應函數實現插件功能。本裝置實施例將包含通用接ロ函數的插件接ロ嵌入到基于電網GIS平臺的應用之中,在該應用啟動時加載插件,通過加載的插件調用電網GIS平臺公共運行函數庫的相應函數實現插件功能。與現有技術相比,本裝置實施例僅需要將待擴展的功能融入插件,通過插件接ロ內的通用接ロ函數將插件與基于GIS平臺的應用綁定,然后借助插件與電網GIS平臺公共運行函數庫之間的調用與被調用關系,即可實現基于電網GIS平臺的應用的功能擴展,由此使得基于電網GIS平臺的應用具有擴容性,避免了針對各種不同的應用需求進行“全盤”式的重開發(fā),從而降低了企業(yè)成本,提高了基于電網GIS平臺的應用開發(fā)的整體效率。上述裝置實施例中還包括封裝単元304,用于通過COM方式封裝電網GIS平臺公共運行函數庫以形成COM封裝包。實現COM封裝后,觸發(fā)單元在接收到功能擴展指令后,即可觸發(fā)插件調用電網GIS平臺公共運行函數庫的COM封裝包,而不再是ー個個獨立的函數實現插件功能,從而減少了調用次數,有利于加快插件運行,進而提高了基于電網GIS平臺的應用的功能擴展效率。上述裝置實施例中還可以包括注冊單元305,用于注冊插件的功能類型,則在基于電網GIS平臺的應用啟動時根據基于電網GIS平臺的應用的類型加載相應功能類型的插件。通過注冊插件的功能類型,使得基于電網GIS平臺的應用加載插件時,可根據自身的功能類型,加載相應的插件而不需要調用所有預先 編寫好的插件,從而“有的放矢”,提高了基于電網GIS平臺的應用的功能擴展效率。為了描述的方便,描述以上裝置時以功能分為各種単元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現。通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現?;谶@樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在存儲介質中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的単元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理単元,即可以位于ー個地方,或者也可以分布到多個網絡単元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。本申請可用于眾多通用或專用的計算系統(tǒng)環(huán)境或配置中。例如個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設備的分布式計算環(huán)境等等。本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設備在內的本地和遠程計算機存儲介質中。以上所述僅是本申請的具體實施方式
,應當指出,對于本技術領域的普通技術人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本申請的保護范圍。
權利要求
1.ー種基于電網GIS平臺的應用的功能擴展方法,其特征在于,該方法包括 將插件接ロ嵌入基于電網GIS平臺的應用,所述插件接ロ包含通用接ロ函數; 基于電網GIS平臺的應用啟動時加載插件,所述插件加載過程中通過插件接ロ的通用接ロ函數與基于電網GIS平臺的應用進行信息交互; 在接收到功能擴展指令后,觸發(fā)所述插件調用電網GIS平臺公共運行函數庫的函數實現插件功能。
2.根據權利要求I所述的方法,其特征在于,所述插件接ロ使用頭文件或IDL文件描述。
3.根據權利要求I或2所述的方法,其特征在于,通過COM方式封裝電網GIS平臺公共運行函數庫,形成COM封裝包,則所述插件調用電網GIS平臺公共運行函數庫的COM封裝包實現插件功能。
4.根據權利要求I或2所述的方法,其特征在于,所述方法還包括注冊插件的功能類型,則基于電網GIS平臺的應用啟動時,根據基于電網GIS平臺的應用的類型加載相應功能類型的插件。
5.根據權利要求4所述的方法,其特征在于,所述插件的功能類型使用UUID描述。
6.ー種基于電網GIS平臺的應用的功能擴展裝置,其特征在于,該裝置包括嵌入単元、加載單元和觸發(fā)單元,其中 所述嵌入単元,用于將插件接ロ嵌入基于電網GIS平臺的應用,所述插件接ロ包含通用接ロ函數; 所述加載単元,用于在基于電網GIS平臺的應用啟動時加載插件,所述插件加載過程中通過插件接ロ的接ロ函數與基于電網GIS平臺的應用進行信息交互; 所述觸發(fā)単元,用于在接收到功能擴展指令后觸發(fā)所述插件調用電網GIS平臺公共運行函數庫的相應函數實現插件功能。
7.根據權利要求6所述的裝置,其特征在于,所述裝置還包括封裝単元,用于通過COM方式封裝電網GIS平臺公共運行函數庫以形成COM封裝包,則觸發(fā)單元在接收到功能擴展指令后觸發(fā)所述插件調用電網GIS平臺公共運行函數庫的COM封裝包實現插件功能。
8.根據權利要求6所述的裝置,其特征在于,所述裝置還包括注冊單元,用于注冊插件的功能類型,則在基于電網GIS平臺的應用啟動時根據基于電網GIS平臺的應用的類型加載相應功能類型的插件。
全文摘要
本申請實施例公開了一種基于電網GIS平臺的應用的功能擴展方法。該方法包括將插件接口嵌入基于電網GIS平臺的應用,所述插件接口包含通用接口函數;基于電網GIS平臺的應用啟動時加載插件,所述插件加載過程中通過插件接口的通用接口函數與基于電網GIS平臺的應用進行信息交互;在接收到功能擴展指令后,觸發(fā)所述插件調用電網GIS平臺公共運行函數庫的函數實現插件功能。本申請實施例還公開了一種基于電網GIS平臺的應用的功能擴展裝置。本申請實施例避免了針對各種不同的應用需求進行“全盤”式的重開發(fā),降低了企業(yè)成本。
文檔編號G06F9/46GK102646056SQ20121005231
公開日2012年8月22日 申請日期2012年3月1日 優(yōu)先權日2012年3月1日
發(fā)明者徐重酉, 李紅祥, 李鵬, 王志佳, 裴傳遜, 陳德煒 申請人:寧波電業(yè)局