基于cim模型的樹形視圖定義及展示方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電力工程技術(shù)領(lǐng)域,特別是涉及電力信息化系統(tǒng)中一種基于(ΠΜ模型的樹形層次視圖定義和展示方法。
【背景技術(shù)】
[0002]IEC 61970/IEC 61968系列標(biāo)準(zhǔn)提出的(ΠΜ模型,是電力系統(tǒng)管理及其信息交換領(lǐng)域的重要標(biāo)準(zhǔn)。(ΠΜ模型定義了信息交換的語義,使各業(yè)務(wù)系統(tǒng)保持統(tǒng)一的語義理解,是進(jìn)行應(yīng)用集成、信息共享、提高生產(chǎn)效率、減少企業(yè)投資的有效方式,是電力行業(yè)的標(biāo)準(zhǔn)模型,也是電力行業(yè)的未來發(fā)展趨勢。越來越多的業(yè)務(wù)系統(tǒng)直接基于(ΠΜ模型來構(gòu)建,但(ΠΜ模型描述的是網(wǎng)狀的關(guān)聯(lián)結(jié)構(gòu),在實(shí)際業(yè)務(wù)使用過程中都是采用樹形層次結(jié)構(gòu)來展示CIM模型及模型數(shù)據(jù),傳統(tǒng)的實(shí)現(xiàn)方式是通過編寫固定代碼來完成,采用固定的樹形層次結(jié)構(gòu)來展示(ΠΜ模型及模型數(shù)據(jù),傳統(tǒng)方式在實(shí)施時(shí)有如下的問題:
[0003]1、隨著業(yè)務(wù)的發(fā)展需求,需要對(duì)(ΠΜ模型進(jìn)行擴(kuò)充,由于采用固定代碼方式,在擴(kuò)充(ΠΜ模型后樹形中不能展示擴(kuò)充的(ΠΜ模型及模型數(shù)據(jù),必須重新修改代碼來適應(yīng)。
[0004]2、由于業(yè)務(wù)術(shù)語與(ΠΜ模型中的描述不能完全一一對(duì)應(yīng),在界面展示時(shí)只能固化到代碼中,不能進(jìn)行靈活的修改。
[0005]3、在進(jìn)行表格等方式展示模型數(shù)據(jù)時(shí),需要對(duì)展示的屬性進(jìn)行排序以方便業(yè)務(wù)的使用,傳統(tǒng)方式?jīng)]有靈活的排序規(guī)則,只能采用名稱排序等方式,與實(shí)際業(yè)務(wù)需要不符。
[0006]4、多個(gè)樹形層次結(jié)構(gòu)雖然具有類似的展示方式,但仍需要編寫多套不同的展示代碼,進(jìn)行了重復(fù)的投資。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的是提供基于CIM模型的樹形視圖定義及展示方法,以實(shí)現(xiàn)樹形層次結(jié)構(gòu)靈活展示(ΠΜ模型及模型數(shù)據(jù)為目標(biāo),從(ΠΜ模型中選擇要展示的(ΠΜ模型,根據(jù)業(yè)務(wù)的需要配置層次結(jié)構(gòu)、要展示的屬性及順序。保證在業(yè)務(wù)展示需求變化或(ΠΜ模型修改后,不需修改固定的代碼,只需對(duì)視圖定義進(jìn)行相應(yīng)修改即可滿足業(yè)務(wù)的需要。
[0008]為了達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案為:基于(ΠΜ模型的樹形視圖定義及展示方法,其特征在于,所述的方法包括以下步驟:
[0009]步驟S10:根據(jù)基于的(ΠΜ模型構(gòu)建樹形模型;
[0010]步驟S20:根據(jù)所述樹形模型選擇要展示的屬性及其順序形成視圖定義;
[0011]步驟S30:根據(jù)所述視圖定義加載模型數(shù)據(jù)形成樹形層次結(jié)構(gòu)。
[0012]進(jìn)一步的,步驟S10的具體實(shí)現(xiàn)過程為:
[0013]步驟S101:根據(jù)基于的(ΠΜ模型,設(shè)定展示的根模式類,設(shè)定其展示名稱,根據(jù)業(yè)務(wù)的要求,選擇樹形的根節(jié)點(diǎn)對(duì)應(yīng)的CIM模型中的模式類,稱為根模式類,根據(jù)業(yè)務(wù)的要求,設(shè)置根模式類的展示名稱;
[0014]步驟S102:根據(jù)步驟步驟S101中設(shè)定的根模式類,選擇采用的關(guān)聯(lián)角色及下級(jí)模式類,設(shè)定模式類的展示名稱,在CIM模型中,根模式類下有多個(gè)關(guān)聯(lián)角色,分別關(guān)聯(lián)到不同的下級(jí)模式類,根據(jù)業(yè)務(wù)的要求,選擇關(guān)聯(lián)角色及對(duì)應(yīng)的下級(jí)模式類;
[0015]步驟S103:根據(jù)步驟步驟S102中設(shè)定的模式類,選擇采用的關(guān)聯(lián)角色及下級(jí)模式類,設(shè)定模式類的展示名稱;
[0016]步驟S104:重復(fù)步驟步驟S103,形成樹形模型。
[0017]進(jìn)一步的,步驟S20的具體實(shí)現(xiàn)過程為:
[0018]步驟S201:根據(jù)步驟S10形成的樹形模型,選擇要設(shè)置的模式類;
[0019]步驟S202:根據(jù)選擇的模式類,從其包含的屬性中選擇要展示的屬性;在(:頂模型中,模式類下有多個(gè)屬性,在實(shí)際業(yè)務(wù)使用中,并不需要全部的屬性,需要根據(jù)業(yè)務(wù)的要求選擇部分屬性進(jìn)行展示;
[0020]步驟S203:根據(jù)步驟S202中選擇的類屬性,設(shè)置屬性的展示名稱,在(ΠΜ模型中,屬性具有用于表示其信息的名稱,但此名稱與實(shí)際業(yè)務(wù)使用的名稱往往不同,需要對(duì)屬性設(shè)置符合業(yè)務(wù)需要的名稱;
[0021]步驟S204:根據(jù)步驟S202中選擇的類屬性,設(shè)置屬性的展示順序,在(ΠΜ模型中,模式類下的屬性沒有順序,而在實(shí)際業(yè)務(wù)使用中有嚴(yán)格的展示順序,需要對(duì)模式類下屬性的順序進(jìn)行設(shè)置;
[0022]步驟S205:重復(fù)步驟S201至步驟S204,直至對(duì)樹形模型中所有的模式類都進(jìn)行了設(shè)置,形成視圖定義。
[0023]進(jìn)一步的,步驟S30的具體實(shí)現(xiàn)過程為:
[0024]步驟S301:根據(jù)步驟S20形成的視圖定義,選擇根模式類及其屬性;從視圖定義中的根模式類開始,根據(jù)視圖定義的內(nèi)容進(jìn)行數(shù)據(jù)的加載;
[0025]步驟S302:根據(jù)選擇的模式類及其屬性,加載模式類數(shù)據(jù),從服務(wù)器加載模式類下的所有對(duì)象數(shù)據(jù),在加載數(shù)據(jù)時(shí)只加載視圖定義中模式類下配置的屬性,對(duì)于在(ΠΜ模型中存在而在視圖定義中未配置的屬性,不進(jìn)行加載;
[0026]步驟S303:根據(jù)步驟S302選擇的模式類屬性順序,對(duì)展示的屬性進(jìn)行排序,根據(jù)步驟S302中加載的模式類的對(duì)象數(shù)據(jù)及屬性取值,根據(jù)視圖定義中對(duì)模式類的屬性展示順序配置,按照屬性的展示順序展示對(duì)象的屬性取值,根據(jù)選擇的模式類的角色及其下級(jí)模式類,加載模式類數(shù)據(jù)下關(guān)聯(lián)的下級(jí)模式類數(shù)據(jù),根據(jù)屬性順序?qū)φ故镜膶傩赃M(jìn)行排序;
[0027]步驟S304:根據(jù)步驟S303加載的對(duì)象數(shù)據(jù),依照視圖定義中模式類下配置的關(guān)聯(lián)角色和下級(jí)模式類,加載對(duì)象的關(guān)聯(lián)對(duì)象;
[0028]步驟S305:重復(fù)步驟S304,形成樹形層次結(jié)構(gòu)數(shù)據(jù)展示。
[0029]與已有技術(shù)相比,本發(fā)明的有益效果體現(xiàn)在:
[0030]本發(fā)明針對(duì)CIM模型的特點(diǎn),構(gòu)建CIM模型的樹形層次結(jié)構(gòu),在模型擴(kuò)充后,只需要添加擴(kuò)充的模型到樹形層次結(jié)構(gòu)即可進(jìn)行展示,提高了應(yīng)用的可擴(kuò)展性。(ΠΜ模型類對(duì)象數(shù)據(jù)變化后,可以自動(dòng)化通過視圖定義及時(shí)的將對(duì)象變化反映在展示界面。對(duì)(ΠΜ模型類的屬性進(jìn)行篩選,只展示業(yè)務(wù)需要的屬性,提高了數(shù)據(jù)的加載效率,減少了數(shù)據(jù)占用的內(nèi)存。對(duì)(ΠΜ模型類的屬性進(jìn)行排序,按業(yè)務(wù)需要的順序進(jìn)行展示,建立業(yè)務(wù)術(shù)語與(ΠΜ模型的映射關(guān)系,可以將同一 (ΠΜ模型映射到不同的業(yè)務(wù)術(shù)語,使界面展示時(shí)采用良好的業(yè)務(wù)術(shù)語展示,提升了應(yīng)用的易用性。進(jìn)行數(shù)據(jù)展示的代碼不需變動(dòng),只需更新視圖定義即可完成業(yè)務(wù)需要,減少代碼頻繁更新的維護(hù)費(fèi)用,提高了應(yīng)用的穩(wěn)定性。
【附圖說明】
[0031]圖1為基于(ΠΜ模型的樹形視圖定義及展示方法流程圖;
[0032]圖2為樹形模型生成流程圖;
[0033]圖3為視圖定義生成流程圖;
[0034]圖4為數(shù)據(jù)加載展示流程圖;
[0035]圖5為視圖模型的示例圖;
[0036]圖6a為14種類屬性及配置屬性的示例圖;
[0037]圖6b為6種類屬性及配置屬性的示例圖;
[0038]圖7為加載的類對(duì)象展示示例圖。
【具體實(shí)施方式】
[0039]下面結(jié)合附圖對(duì)本發(fā)明的基于(ΠΜ模型的樹形視圖定義及展示方法的【具體實(shí)施方式】作詳細(xì)描述。
[0040]本發(fā)明的技術(shù),以實(shí)現(xiàn)樹形層次結(jié)構(gòu)靈活展示(ΠΜ模型及模型數(shù)據(jù)為目標(biāo),從(ΠΜ模型中選擇要展示的(ΠΜ模型,根據(jù)業(yè)務(wù)的需要配置層次結(jié)構(gòu)、要展示的屬性及順序。保證在業(yè)務(wù)展示需求變化或(ΠΜ模型修改后,不需修改固定的代碼,只需對(duì)視圖定義進(jìn)行相應(yīng)修改即可滿足業(yè)務(wù)的需要。
[0041]如圖1所示基于(ΠΜ模型的樹形視圖定義及展示方法流程圖,主要包括以下步驟:
[0042]S10,根據(jù)基于的(ΠΜ模型構(gòu)建樹形模型;在本實(shí)施例中,該步驟主要是基于(ΠΜ模型,選擇要進(jìn)行展示的模式類及其展示名稱,選擇模式類的下級(jí)模式類,構(gòu)建要展示的樹形層次結(jié)構(gòu),形成樹形模型;參見圖2所示,圖2為一個(gè)實(shí)施例的樹形模型生成流程圖,包括如下步驟:
[0043]S101,根據(jù)基于的(ΠΜ模型選擇根模式類;具體地,根據(jù)所基于的(ΠΜ模型和業(yè)務(wù)的需要,選擇樹形層次結(jié)構(gòu)的根模式類,即在數(shù)據(jù)展示時(shí)的樹形根節(jié)點(diǎn)對(duì)應(yīng)的模式類,例如選擇Company類作為根模式類;設(shè)定根模式類的展示名稱,在CIM模型中Company類的名稱為“公司”,而在實(shí)際應(yīng)用中一般稱為“供電局”,在此例中即設(shè)定根模式類的展示名稱為“供電局”以符合業(yè)務(wù)的需要。
[0044]S102,選擇根模式類下的關(guān)聯(lián)角色及下級(jí)模式類;具體地,在(ΠΜ模型中,一個(gè)模式類下有多個(gè)關(guān)聯(lián)角色,例如Company類下有角色ErpOrganisat1n.Asset表示供電局下的物理設(shè)備、角色Organisat1n.Children表示供電局下的子供電局、角色Organisat1n.ActivityRecords表示供電局相關(guān)的記錄等。選擇根模式類下業(yè)務(wù)所需的關(guān)聯(lián)角色,根據(jù)關(guān)聯(lián)角色可以確定下級(jí)模式類的基本類型,由于(ΠΜ模型采用面向?qū)ο蠓绞蕉x,關(guān)聯(lián)角色可以確定的是下級(jí)模式類的父類型,可以根據(jù)需要選擇所需的具體類型,例如ErpOrganisat1n.Asset角色對(duì)應(yīng)的下級(jí)模式類為Asset,是所有物理設(shè)備的父類,在實(shí)際中需要展示供電局下的變電站時(shí),可以選擇Asset的子孫類型Transfo