專利名稱:一種支持快速模型拼接的電網(wǎng)模型文件、生成方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電力系統(tǒng)技術(shù)領(lǐng)域,特別涉及一種支持快速模型拼接的電網(wǎng)模型文件、生成方法及系統(tǒng)。
背景技術(shù):
國際電工委員會制定的IEC61970系列標(biāo)準,對電力系統(tǒng)公共信息模型CIM及應(yīng)用程序接口進行了規(guī)范。目前CIM已經(jīng)成為描述電力系統(tǒng)的通用模型,在電力系統(tǒng)不同控制區(qū)域之間交換模型信息起到了關(guān)鍵性作用。
我國電力系統(tǒng)的“分級管理、分層控制”特性(如國調(diào)、網(wǎng)調(diào)、省調(diào)、地調(diào)、縣調(diào))使得對于涵蓋多控制區(qū)域電網(wǎng)的模型構(gòu)建通常采用CIM模型拼接的方法來實現(xiàn),在模型拼接和增量入庫過程中相應(yīng)控制區(qū)域“模型變化的增量計算”是其關(guān)鍵一環(huán),也是最耗時的一個步驟,目前,“模型變化的增量計算基于匹配方法,匹配的雙方通常一個是待拼接對象區(qū)域的新模型;另一個是前次模型拼接的全模型結(jié)果;匹配方法通常采用在緩沖區(qū)中按照層次關(guān)系的頂部向底部進行對象各個屬性的逐一比較,形成《增設(shè)備列表》和《減設(shè)備列表》以便模型對象更新入庫。該方法盡管進行了一些優(yōu)化(如只比較必要字段等),但整體上來說, 目前的模型比對方法還存在效率還不夠高。
另一方面,對于CIM模型文件中僅對象名稱的變化,該比對方法通常會認為存在一老對象被刪除和一新對象需新增,在EMS增量入庫時會將“對象屬性修改的操作”變?yōu)?“數(shù)據(jù)庫中對象的增刪操作”,一方面會影響增量入庫效率、另一方面,也會影響EMS模型的相對穩(wěn)定性,因為對象的增刪會使得原有的數(shù)據(jù)與對象之間的關(guān)系會隨著模型的拼接入庫不斷變化,影響圖形及數(shù)據(jù)通訊原有的對應(yīng)關(guān)系,需要重建,同時還會引起數(shù)據(jù)中斷。
針對現(xiàn)有技術(shù)中的不足,提出一種支持快速模型拼接的電網(wǎng)模型文件、生成方法及系統(tǒng),是電力系統(tǒng)技術(shù)領(lǐng)域目前急待解決的問題之一。發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提出了一種支持快速模型拼接的電網(wǎng)模型文件、生成方法及系統(tǒng),通過對電網(wǎng)模型文件進行解析,并在緩沖區(qū)中形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫,接著對緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)以及拓撲連接關(guān)系結(jié)構(gòu)中的對象擴展的消息摘要屬性,然后對消息摘要進行處理,最終根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式,生成電網(wǎng)模型文件。
為解決上述技術(shù)問題,本發(fā)明實施例的目的是通過以下技術(shù)方案實現(xiàn)的
一種支持快速模型拼接的電網(wǎng)模型文件,電網(wǎng)模型文件中的對象包括擴展的消息摘要屬性,所述包括擴展的消息摘要屬性的電網(wǎng)CIM模型文件支持比較所述對象的所述消息摘要屬性快速發(fā)現(xiàn)電網(wǎng)CIM模型的真實的增量變化。
優(yōu)選的,上述電網(wǎng)模型文件中的對象包括但不限于容器對象、設(shè)備對象和連接點對象。
優(yōu)選的,上述容器對象包括公司對象、子控制區(qū)對象、廠站對象和電壓等級對象。
優(yōu)選的,上述設(shè)備對象類型包括發(fā)電機、母線、變壓器、線路、開關(guān)、刀閘、地刀、負荷、電容器和電抗器。
優(yōu)選的,上述電網(wǎng)模型文件中的對象為電力系統(tǒng)資源對象和連接關(guān)系對象。
優(yōu)選的,上述擴展的消息摘要屬性包括本對象所有屬性消息摘要、本對象除對象名稱外的所有屬性消息摘要和本對象所有直接下層對象消息摘要;
本對象所有屬性消息摘要是指采用消息摘要算法對所述對象的所有屬性進行計算生成的一個定長碼;
本對象除對象名稱外的所有屬性消息摘要是指采用消息摘要算法對所述對象除對象名稱外的所有屬性進行計算生成的一個定長碼;
本對象所有直接下層對象消息摘要是指采用消息摘要算法對所述對象的所有直接下層對象的所述本對象所有屬性消息摘要和所述本對象所有直接下層對象消息摘要進行計算生成的一個定長碼。
優(yōu)選的,上述消息摘要算法是指MD5算法或SHA-I算法。
優(yōu)選的,上述MD5算法使用1 位的密匙。
優(yōu)選的,上述屬性包括所屬容器屬性。
一種支持快速模型拼接的電網(wǎng)模型文件的生成方法,包括
步驟一、對電網(wǎng)模型文件進行解析,并在緩沖區(qū)中形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;
步驟二、對緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)以及拓撲連接關(guān)系結(jié)構(gòu)中的對象擴展的消息摘要屬性;
步驟三、對消息摘要進行處理;
步驟四、根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式,生成電網(wǎng)模型文件。
優(yōu)選的,上述步驟一中,是通過解析電網(wǎng)模型文件,并按照電網(wǎng)模型的層次結(jié)構(gòu)和拓撲連接關(guān)系結(jié)構(gòu)在緩沖區(qū)中儲存。
優(yōu)選的,上述步驟二中,進一步包括儲存經(jīng)所述文件解析模塊解析的CIM模型文件的層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫和包括擴展的消息摘要屬性的層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫。
優(yōu)選的,上述步驟三中,進一步包括采用深度優(yōu)先遍歷算法對所述層次關(guān)系結(jié)構(gòu)中的所述對象,自底向上計算所述對象的消息摘要字段;以及采用廣度優(yōu)先遍歷算法對所述拓撲連接點結(jié)構(gòu)中的所述對象計算消息摘要字段。
優(yōu)選的,上述步驟三中,進一步包括利用電網(wǎng)模型文件的生成方法計算電網(wǎng)模型對象的消息摘要字段,并利用所述電網(wǎng)模型文件對比快速發(fā)現(xiàn)增量變化的方法對電網(wǎng)模型文件進行處理并對比發(fā)現(xiàn)增量變化。
一種支持快速模型拼接的電網(wǎng)模型文件生成系統(tǒng),包括
文件解析單元,用于對電網(wǎng)模型文件進行解析,并在緩沖區(qū)中形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;
數(shù)據(jù)庫單元,用于對緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)以及拓撲連接關(guān)系結(jié)構(gòu)中的對象擴展的消息摘要屬性;
處理單元,用于對消息摘要進行處理;
生成單元,用于根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式,生成電網(wǎng)模型文件。
一種支持快速模型拼接的電網(wǎng)模型文件對比快速發(fā)現(xiàn)增量變化的方法,包括
(1)解析第一電網(wǎng)CIM模型文件,將其導(dǎo)入第一緩沖區(qū),將第一緩沖區(qū)中的模型重新組織形成層次次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;
(2)解析第二電網(wǎng)CIM模型文件,將其導(dǎo)入第二緩沖區(qū),將第二緩沖區(qū)中的模型重新組織形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;
(3)對第一緩沖區(qū)和第二緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)庫中的容器對象和設(shè)備對象以及拓撲連接關(guān)系結(jié)構(gòu)庫中的連接點對象擴展消息摘要字段,并采用上述披露的模型消息字段計算方法進行計算;
(4)根據(jù)緩沖區(qū)中的層次結(jié)構(gòu)(如圖1所示)自頂向下逐層比較第一第二緩沖區(qū)中的對象名稱和消息摘要字段所組成的四元組(消息摘要1,對象名稱,消息摘要2,消息摘要3);
(5) i = 1 ;i表示層次結(jié)構(gòu)庫中當(dāng)前比較的層次;
layer_num = max(第一緩沖區(qū)層次結(jié)構(gòu)的深度,第二緩沖區(qū)層次結(jié)構(gòu)的深度);
(6)分別將第一和第二緩沖區(qū)層次結(jié)構(gòu)庫中第i層次的所有對象的四元組(消息摘要1,對象名稱,消息摘要2,消息摘要3)數(shù)組按照消息摘要1進行排序,并將這兩個四元組數(shù)組進行比較,根據(jù)出現(xiàn)的比較結(jié)果情況判斷對象名稱是否有變化、對象屬性是否發(fā)生變化、對象的子對象是否發(fā)生變化;并相應(yīng)設(shè)定“子對象是否需要進一步比對”標(biāo)志,并相應(yīng)填寫將該對象填入《對象更新登記表》、《對象新增登記表》或《對象刪除登記表》。
(7)i = i+1 ;
(8)判定 i > layer_num ?如是,轉(zhuǎn)(10);如否,轉(zhuǎn)(9);
(9)分別將第一和第二緩沖區(qū)層次結(jié)構(gòu)庫中第i層次的其“對象的子對象是否需要比對標(biāo)志”設(shè)定為“是”的所有對象的所有直接子對象的四元組(消息摘要1,對象名稱, 消息摘要2,消息摘要3)數(shù)組按照消息摘要1進行排序,并將這兩個四元組數(shù)組進行比較, 轉(zhuǎn)⑵;
(10)結(jié)束。
綜上所述,本發(fā)明提供了一種支持快速模型拼接的電網(wǎng)模型文件、生成方法及系統(tǒng),通過對電網(wǎng)模型文件進行解析,并在緩沖區(qū)中形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫,接著對緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)以及拓撲連接關(guān)系結(jié)構(gòu)中的對象擴展的消息摘要屬性,然后對消息摘要進行處理,最終根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式, 生成電網(wǎng)模型文件。
圖1為本發(fā)明實施例緩沖區(qū)中層次關(guān)系結(jié)構(gòu)庫層次關(guān)系結(jié)構(gòu)圖2為本發(fā)明實施例的一種支持快速模型拼接的電網(wǎng)模型生成方法流程圖3為本發(fā)明一具體實施例的流程圖4為本發(fā)明實施例模型文件中對象3個擴展消息摘要屬性的計算過程示意圖5為本發(fā)明實施例《增刪容器信息表》結(jié)構(gòu)圖6為本發(fā)明實施例《增刪設(shè)備信息表》結(jié)構(gòu)圖7為本發(fā)明實施例《增刪連接點信息表》結(jié)構(gòu)圖8為本發(fā)明實施例的一種支持快速模型拼接的電網(wǎng)模型生成系統(tǒng)示意圖9為本發(fā)明一種支持快速模型拼接的電網(wǎng)模型文件對比快速發(fā)現(xiàn)增量變化的流程圖10為模型對象四元組(消息摘要1,對象名稱,消息摘要2,消息摘要3)比對結(jié)果類別。
具體實施方式
本發(fā)明實施例提供的一種支持快速模型拼接的電網(wǎng)模型文件、生成方法及系統(tǒng), 通過對電網(wǎng)模型文件進行解析,并在緩沖區(qū)中形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫,接著對緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)以及拓撲連接關(guān)系結(jié)構(gòu)中的對象擴展的消息摘要屬性,然后對消息摘要進行處理,最終根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式, 生成電網(wǎng)模型文件。
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,下面參照附圖并舉實施例,對本發(fā)明進一步詳細說明。
在本發(fā)明中,CIM電網(wǎng)模型文件中的對象(包括但不限于容器對象、設(shè)備對象和連接點對象)進行擴充消息摘要屬性,分別為本對象所有屬性消息摘要(以下簡稱為消息摘要1)、本對象除對象名稱外的所有屬性消息摘要(以下簡稱為消息摘要2)和本對象所有直接下層對象消息摘要(以下簡稱為消息摘要3)。
本方案中的消息摘要是指通過一種不可逆的映射函數(shù)(如HASH函數(shù)),對不定長的數(shù)據(jù)塊進行計算,生成一個定長碼,該碼可用來檢驗消息的完整性。目前廣泛使用的HASH 算法有MD5、SHA-UHMAC等。由于消息摘要的這個特性使得底層對象的任何變化均會傳遞到祖先節(jié)點對象的消息摘要3字段中,也正是鑒于這個特性,在進行模型拼接過程CIM模型增量比較時,可以分層只比對消息摘要3字段不同的分支,從而大大減少比較次數(shù),提高比對效率。
如圖1所示公司、子控制區(qū)域、廠站、電壓等級和設(shè)備(發(fā)電機、負荷、開關(guān)、刀閘、 地刀、容抗器、母線)之間為層次型關(guān)系,廠站、變壓器、變壓器繞組之間也為層次型關(guān)系, 具有容器類特征。
進一步的,擴展的消息摘要屬性包括本對象所有屬性消息摘要、本對象除對象名稱外的所有屬性消息摘要和本對象所有直接下層對象消息摘要。
具體而言,本對象所有屬性消息摘要是指采用消息摘要算法對所述對象的所有屬性進行計算生成的一個定長碼;本對象除對象名稱外的所有屬性消息摘要是指采用消息摘要算法對所述對象除對象名稱外的所有屬性進行計算生成的一個定長碼;本對象所有直接下層對象消息摘要是指采用消息摘要算法對所述對象的所有直接下層對象的所述本對象所有屬性消息摘要和所述本對象所有直接下層對象消息摘要進行計算生成的一個定長碼。
在本方案中,緩沖區(qū)中描述帶擴展的消息摘要屬性的CIM XML電網(wǎng)模型信息的方法,首先將CIM XML電網(wǎng)模型文件解析到緩沖區(qū)中,并在緩沖區(qū)中形成如圖1所示的層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;
在圖1中公司、子控制區(qū)域、廠站、電壓等級和設(shè)備(發(fā)電機、負荷、開關(guān)、刀閘、地刀、容抗器、母線)之間為層次型關(guān)系,廠站、變壓器、變壓器繞組之間也為層次型關(guān)系,具有容器類特征。
層次關(guān)系結(jié)構(gòu)庫形成方法如下
(a)將CIM XML中電力系統(tǒng)對象按照各自的類型在緩沖區(qū)中創(chuàng)建,并在緩沖區(qū)中記錄各對象對應(yīng)的rdf id ;
(b)根據(jù)CIM XML模型文件中電力系統(tǒng)對象所屬容器的屬性Member0f_的rdfid 以及該rdf id所對應(yīng)的電力系統(tǒng)對象在緩沖區(qū)中建立對象與其容器之間的層次關(guān)系結(jié)構(gòu), 可用二維數(shù)組關(guān)系或?qū)哟涡椭羔橁P(guān)系描述。
在緩沖區(qū)中利用設(shè)備對象的rdf id與設(shè)備端口(terminal)的rdf id之間的影射關(guān)系以及設(shè)備端口(Terminal)與拓撲連接點(CormectivityNode)之間的關(guān)聯(lián)關(guān)系來描述電網(wǎng)的拓撲連接關(guān)系。
拓撲連接關(guān)系結(jié)構(gòu)庫形成方法如下通過遍歷設(shè)備端口的Terminal. ConnectivityNode屬性值中的rdfid,建立設(shè)備端口 CTerminal)與拓撲連接點 (connectivityNode)之間的關(guān)聯(lián)關(guān)系,并將這種拓撲連接關(guān)系寫入到拓撲連接關(guān)系結(jié)構(gòu)庫中的拓撲連接關(guān)系表中。
本發(fā)明實施例提供一種支持快速模型拼接的電網(wǎng)模型文件的生成方法,如圖2所示,具體步驟包括
步驟一、對電網(wǎng)模型文件進行解析,并在緩沖區(qū)中形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;
具體而言,在本發(fā)明實施例中,將解析電網(wǎng)CIM模型文件,并按照CIM模型的層次結(jié)構(gòu)和拓撲連接關(guān)系結(jié)構(gòu)在緩沖區(qū)中儲存。
步驟二、對緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)以及拓撲連接關(guān)系結(jié)構(gòu)中的對象擴展的消息摘要屬性;
具體而言,在本發(fā)明實施例中,進一步包括儲存經(jīng)所述文件解析模塊解析的CIM 模型文件的層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫和包括擴展的消息摘要屬性的層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫。
步驟三、對消息摘要進行處理;
具體而言,在本發(fā)明實施例中,包括采用深度優(yōu)先遍歷算法對所述層次關(guān)系結(jié)構(gòu)中的所述對象,自底向上計算所述對象的消息摘要字段;以及采用廣度優(yōu)先遍歷算法對所述拓撲連接點結(jié)構(gòu)中的所述對象計算消息摘要字段。
進一步的,在本方案中,還包括利用所述電網(wǎng)CIM模型文件的生成方法計算CIM模型對象的消息摘要字段,并利用所述CIM模型文件對比快速發(fā)現(xiàn)增量變化的方法對CIM模型文件進行處理并對比發(fā)現(xiàn)增量變化。
步驟四、根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式,生成電網(wǎng)模型文件。
具體而言,在本發(fā)明實施例中,是根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式,生成支持快速模型拼接的CIM電網(wǎng)模型文件。
進一步的,在本方案中,產(chǎn)生包括擴展的消息摘要屬性的模型文件的層次結(jié)構(gòu)關(guān)系庫和連接點關(guān)系庫,并按照CIM XML語法規(guī)則生成支持快速模型拼接的CIM模型文件。
此外,本發(fā)明一具體實施例的流程圖如圖3所示,提出了一種將給定電網(wǎng)的CIM XML模型文件生成描述支持快速模型拼接的CIM模型文件的方法。
(1)解析電網(wǎng)CIM XML模型文件,將其導(dǎo)入緩沖區(qū);
(2)將緩沖區(qū)中的模型重新組織形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;
(3)對緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)庫中的容器對象和設(shè)備對象以及拓撲連接關(guān)系結(jié)構(gòu)庫中的連接點對象擴展消息摘要字段(消息摘要1、消息摘要2和消息摘要3),消息摘要字段的初始值設(shè)為NULL ;
(4)采用深度優(yōu)先遍歷算法,自底向上計算容器對象和設(shè)備對象的消息摘要字段, 具體步驟為
(a)訪問層次結(jié)構(gòu)庫的根對象root ;
(b)對象指針賦值obj = root ;
(c)判斷對象obj是否為層次關(guān)系庫的葉子節(jié)點?如是,轉(zhuǎn)(d);如否轉(zhuǎn)(g);
(d)計算對象obj的消息摘要字段,計算方法見圖4為模型文件中對象3個擴展消息摘要屬性的計算過程示意(e)判斷層級結(jié)構(gòu)庫中是否所有對象(容器對象和設(shè)備對象)節(jié)點均已遍歷,
如是,轉(zhuǎn)⑴;如否轉(zhuǎn)(f);
(f)返回obj對象的父親節(jié)點
(g)判斷對象obj的所有直接子對象的消息摘要字段都已計算;如是,轉(zhuǎn)⑷;如否轉(zhuǎn)(h);
(h)選擇其中的一個沒有計算消息摘要字段的直接子對象,賦值給Obj,轉(zhuǎn)(C);
(i)選拓撲連接關(guān)系結(jié)構(gòu)庫中選擇一個連接點對象,計算連接點對象的消息摘要字段;
(j)判斷拓撲連接關(guān)系結(jié)構(gòu)庫中是否所有連接點對象均已遍歷;如是,轉(zhuǎn)(k);如否轉(zhuǎn)⑴;
(k)結(jié)束本步驟。
(5)按照CIM XML語法規(guī)則,對緩沖區(qū)中所有模型對象的擴展消息摘要作為擴展屬性輸出,生成CIM模型的XML文件。
圖5是本發(fā)明實施例《增刪容器信息表》結(jié)構(gòu)圖6是本發(fā)明實施例《增刪設(shè)備信息表》結(jié)構(gòu)圖7是本發(fā)明實施例《增刪連接點信息表》結(jié)構(gòu)一種支持快速模型拼接的電網(wǎng)模型文件的生成系統(tǒng),如圖8所示,包括文件解析單元11、數(shù)據(jù)庫單元22、處理單元33及生成單元44。
文件解析單元11,用于對電網(wǎng)模型文件進行解析,并在緩沖區(qū)中形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;
具體而言,在本發(fā)明實施例中,將解析電網(wǎng)CIM模型文件,并按照CIM模型的層次結(jié)構(gòu)和拓撲連接關(guān)系結(jié)構(gòu)在緩沖區(qū)中儲存。
數(shù)據(jù)庫單元22,用于對緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)以及拓撲連接關(guān)系結(jié)構(gòu)中的對象擴展的消息摘要屬性;
具體而言,在本發(fā)明實施例中,進一步包括儲存經(jīng)所述文件解析模塊解析的CIM 模型文件的層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫和包括擴展的消息摘要屬性的層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫。
處理單元33,用于對消息摘要進行處理;
具體而言,在本發(fā)明實施例中,包括采用深度優(yōu)先遍歷算法對所述層次關(guān)系結(jié)構(gòu)中的所述對象,自底向上計算所述對象的消息摘要字段;以及采用廣度優(yōu)先遍歷算法對所述拓撲連接點結(jié)構(gòu)中的所述對象計算消息摘要字段。
進一步的,在本方案中,還包括利用所述電網(wǎng)CIM模型文件的生成方法計算CIM模型對象的消息摘要字段,并利用所述CIM模型文件對比快速發(fā)現(xiàn)增量變化的方法對CIM模型文件進行處理并對比發(fā)現(xiàn)增量變化。
生成單元44,用于根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式,生成電網(wǎng)模型文件。
具體而言,在本發(fā)明實施例中,是根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式,生成支持快速模型拼接的CIM電網(wǎng)模型文件。
進一步的,在本方案中,產(chǎn)生包括擴展的消息摘要屬性的模型文件的層次結(jié)構(gòu)關(guān)系庫和連接點關(guān)系庫,并按照CIM XML語法規(guī)則生成支持快速模型拼接的CIM模型文件。
此外,本發(fā)明還提出了一種支持快速模型拼接的電網(wǎng)模型文件對比快速發(fā)現(xiàn)增量變化的方法,流程圖見圖9所示。
(1)解析第一電網(wǎng)CIM模型文件,將其導(dǎo)入第一緩沖區(qū),將第一緩沖區(qū)中的模型重新組織形成層次次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;
(2)解析第二電網(wǎng)CIM模型文件,將其導(dǎo)入第二緩沖區(qū),將第二緩沖區(qū)中的模型重新組織形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;
(3)對第一緩沖區(qū)和第二緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)庫中的容器對象和設(shè)備對象以及拓撲連接關(guān)系結(jié)構(gòu)庫中的連接點對象擴展消息摘要字段,并采用上述披露的模型消息字段計算方法進行計算;
(4)根據(jù)緩沖區(qū)中的層次結(jié)構(gòu)(如圖1所示)自頂向下逐層比較第一第二緩沖區(qū)中的對象名稱和消息摘要字段所組成的四元組(消息摘要1,對象名稱,消息摘要2,消息摘要3);
(5) i = 1 ;i表示層次結(jié)構(gòu)庫中當(dāng)前比較的層次;
layer_num = max(第一緩沖區(qū)層次結(jié)構(gòu)的深度,第二緩沖區(qū)層次結(jié)構(gòu)的深度);
(6)分別將第一和第二緩沖區(qū)層次結(jié)構(gòu)庫中第i層次的所有對象的四元組(消息摘要1,對象名稱,消息摘要2,消息摘要3)數(shù)組按照消息摘要1進行排序,并將這兩個四元組數(shù)組進行比較,根據(jù)出現(xiàn)的比較結(jié)果情況判斷對象名稱是否有變化、對象屬性是否發(fā)生變化、對象的子對象是否發(fā)生變化;并相應(yīng)設(shè)定“子對象是否需要進一步比對”標(biāo)志,并相應(yīng)填寫將該對象填入《對象更新登記表》、《對象新增登記表》或《對象刪除登記表》。
(7)i = i+1 ;
(8)判定 i > layer_num ?如是,轉(zhuǎn)(10);如否,轉(zhuǎn)(9);
(9)分別將第一和第二緩沖區(qū)層次結(jié)構(gòu)庫中第i層次的其“對象的子對象是否需要比對標(biāo)志”設(shè)定為“是”的所有對象的所有直接子對象的四元組(消息摘要1,對象名稱, 消息摘要2,消息摘要3)數(shù)組按照消息摘要1進行排序,并將這兩個四元組數(shù)組進行比較, 轉(zhuǎn)⑵;
(10)結(jié)束。
由于本對象所有屬性消息摘要(即消息字段1)是對所述對象的所有屬性進行計算生成的一個定長碼;所述本對象除對象名稱外的所有屬性消息摘要(即消息字段幻是對所述對象除對象名稱外的所有屬性進行計算生成的一個定長碼;因此,不存在消息字段2 發(fā)生變化而消息字段1不變的情況,同時也不存在對象名稱變化而消息字段1不變的情況。 在模型對象比對時,通過比對四元組(消息摘要1,對象名稱,消息摘要2,消息摘要3)的結(jié)果只有7種情況,具體如圖10所示。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中, 該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。
綜上所述,本文提供了一種支持快速模型拼接的電網(wǎng)模型文件、生成方法及系統(tǒng), 通過對電網(wǎng)模型文件進行解析,并在緩沖區(qū)中形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫,接著對緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)以及拓撲連接關(guān)系結(jié)構(gòu)中的對象擴展的消息摘要屬性,然后對消息摘要進行處理,最終根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式, 生成電網(wǎng)模型文件。
以上對本發(fā)明所提供的一種支持快速模型拼接的電網(wǎng)模型文件、生成方法及系統(tǒng)進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方案;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種支持快速模型拼接的電網(wǎng)模型文件,其特征在于,所述電網(wǎng)模型文件中的對象包括擴展的消息摘要屬性,所述包括擴展的消息摘要屬性的電網(wǎng)CIM模型文件支持比較所述對象的所述消息摘要屬性快速發(fā)現(xiàn)電網(wǎng)CIM模型的真實的增量變化。
2.如權(quán)利要求1所述的電網(wǎng)模型文件,其特征在于,所述電網(wǎng)模型文件中的對象包括但不限于容器對象、設(shè)備對象和連接點對象。
3.如權(quán)利要求2所述的電網(wǎng)模型文件,其特征在于,所述容器對象包括公司對象、子控制區(qū)對象、廠站對象和電壓等級對象。
4.如權(quán)利要求2所述的電網(wǎng)模型文件,其特征在于,所述設(shè)備對象類型包括發(fā)電機、母線、變壓器、線路、開關(guān)、刀閘、地刀、負荷、電容器和電抗器。
5.如權(quán)利要求1所述的電網(wǎng)模型文件,其特征在于,所述電網(wǎng)模型文件中的對象為電力系統(tǒng)資源對象和連接關(guān)系對象。
6.如權(quán)利要求1到5中任意一項所述的電網(wǎng)模型文件,其特征在于,所述擴展的消息摘要屬性包括本對象所有屬性消息摘要、本對象除對象名稱外的所有屬性消息摘要和本對象所有直接下層對象消息摘要;所述本對象所有屬性消息摘要是指采用消息摘要算法對所述對象的所有屬性進行計算生成的一個定長碼;所述本對象除對象名稱外的所有屬性消息摘要是指采用消息摘要算法對所述對象除對象名稱外的所有屬性進行計算生成的一個定長碼;所述本對象所有直接下層對象消息摘要是指采用消息摘要算法對所述對象的所有直接下層對象的所述本對象所有屬性消息摘要和所述本對象所有直接下層對象消息摘要進行計算生成的一個定長碼。
7.如權(quán)利要求6所述的電網(wǎng)模型文件,其特征在于,所述消息摘要算法是指MD5算法或 SHA-I算法。
8.如權(quán)利要求7所述的電網(wǎng)模型文件,其特征在于,所述MD5算法使用1 位的密匙。
9.如權(quán)利要求1到8所述的電網(wǎng)模型文件,其特征在于,所述屬性包括所屬容器屬性。
10.一種支持快速模型拼接的電網(wǎng)模型文件的生成方法,其特征在于,所述方法包括步驟一、對電網(wǎng)模型文件進行解析,并在緩沖區(qū)中形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;步驟二、對緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)以及拓撲連接關(guān)系結(jié)構(gòu)中的對象擴展的消息摘要屬性;步驟三、對消息摘要進行處理;步驟四、根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式,生成電網(wǎng)模型文件。
11.根據(jù)權(quán)利要求10所述的生成方法,其特征在于,所述步驟一中,是通過解析電網(wǎng)模型文件,并按照電網(wǎng)模型的層次結(jié)構(gòu)和拓撲連接關(guān)系結(jié)構(gòu)在緩沖區(qū)中儲存。
12.根據(jù)權(quán)利要求10所述的生成方法,其特征在于,所述步驟二中,進一步包括儲存經(jīng)所述文件解析模塊解析的CIM模型文件的層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫和包括擴展的消息摘要屬性的層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫。
13.根據(jù)權(quán)利要求10所述的生成方法,其特征在于,所述步驟三中,進一步包括采用深度優(yōu)先遍歷算法對所述層次關(guān)系結(jié)構(gòu)中的所述對象,自底向上計算所述對象的消息摘要字段;以及采用廣度優(yōu)先遍歷算法對所述拓撲連接點結(jié)構(gòu)中的所述對象計算消息摘要字段。
14.根據(jù)權(quán)利要求10所述的生成方法,其特征在于,所述步驟三中,進一步包括利用電網(wǎng)模型文件的生成方法計算電網(wǎng)模型對象的消息摘要字段,并利用所述電網(wǎng)模型文件對比快速發(fā)現(xiàn)增量變化的方法對電網(wǎng)模型文件進行處理并對比發(fā)現(xiàn)增量變化。
15.一種支持快速模型拼接的電網(wǎng)模型文件生成系統(tǒng),其特征在于,所述系統(tǒng)包括文件解析單元,用于對電網(wǎng)模型文件進行解析,并在緩沖區(qū)中形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;數(shù)據(jù)庫單元,用于對緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)以及拓撲連接關(guān)系結(jié)構(gòu)中的對象擴展的消息摘要屬性;處理單元,用于對消息摘要進行處理;生成單元,用于根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式,生成電網(wǎng)模型文件。
16.一種支持快速模型拼接的電網(wǎng)模型文件對比快速發(fā)現(xiàn)增量變化的方法,包括如下步驟(1)解析第一電網(wǎng)CIM模型文件,將其導(dǎo)入第一緩沖區(qū),將第一緩沖區(qū)中的模型重新組織形成層次次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;(2)解析第二電網(wǎng)CIM模型文件,將其導(dǎo)入第二緩沖區(qū),將第二緩沖區(qū)中的模型重新組織形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫;(3)對第一緩沖區(qū)和第二緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)庫中的容器對象和設(shè)備對象以及拓撲連接關(guān)系結(jié)構(gòu)庫中的連接點對象擴展消息摘要字段,并采用上述披露的模型消息字段計算方法進行計算;(4)根據(jù)緩沖區(qū)中的層次結(jié)構(gòu)(如圖1所示)自頂向下逐層比較第一第二緩沖區(qū)中的對象名稱和消息摘要字段所組成的四元組(消息摘要1,對象名稱,消息摘要2,消息摘要 3);(5)i= 1 ;i表示層次結(jié)構(gòu)庫中當(dāng)前比較的層次;layer_num = max(第一緩沖區(qū)層次結(jié)構(gòu)的深度,第二緩沖區(qū)層次結(jié)構(gòu)的深度);_(6)分別將第一和第二緩沖區(qū)層次結(jié)構(gòu)庫中第i層次的所有對象的四元組(消息摘要 1,對象名稱,消息摘要2,消息摘要3)數(shù)組按照消息摘要1進行排序,并將這兩個四元組數(shù)組進行比較,根據(jù)出現(xiàn)的比較結(jié)果情況判斷對象名稱是否有變化、對象屬性是否發(fā)生變化、 對象的子對象是否發(fā)生變化;并相應(yīng)設(shè)定“子對象是否需要進一步比對”標(biāo)志,并相應(yīng)填寫將該對象填入《對象更新登記表》、《對象新增登記表》或《對象刪除登記表》;(7)i= i+1 ;(8)判定i > layer_num ?如是,轉(zhuǎn)(10);如否,轉(zhuǎn)(9);(9)分別將第一和第二緩沖區(qū)層次結(jié)構(gòu)庫中第i層次的其“對象的子對象是否需要比對標(biāo)志”設(shè)定為“是”的所有對象的所有直接子對象的四元組(消息摘要1,對象名稱,消息摘要2,消息摘要3)數(shù)組按照消息摘要1進行排序,并將這兩個四元組數(shù)組進行比較,轉(zhuǎn) (7);(10)結(jié)束。
全文摘要
本發(fā)明提供了一種支持快速模型拼接的電網(wǎng)模型文件、生成方法及系統(tǒng),通過對電網(wǎng)模型文件進行解析,并在緩沖區(qū)中形成層次關(guān)系結(jié)構(gòu)庫和拓撲連接關(guān)系結(jié)構(gòu)庫,接著對緩沖區(qū)中的層次關(guān)系結(jié)構(gòu)以及拓撲連接關(guān)系結(jié)構(gòu)中的對象擴展的消息摘要屬性,然后對消息摘要進行處理,最終根據(jù)緩沖區(qū)中包括擴展消息摘要屬性的層次組織形式,生成電網(wǎng)模型文件,鑒于底層對象的變化均會傳遞到祖先節(jié)點對象的消息摘要中,因此,在進行模型拼接過程的CIM模型增量比較時,可以分層只比對消息摘要不同的分支,從而減少比較次數(shù),加快模型拼接入庫的效率。
文檔編號G06F17/50GK102521451SQ20111041527
公開日2012年6月27日 申請日期2011年12月13日 優(yōu)先權(quán)日2011年12月13日
發(fā)明者勵剛, 孫成, 張亮, 王亮, 葛敏輝, 陳小潮 申請人:華東電網(wǎng)有限公司