一種圖形化頁面程序差異比較方法與系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種圖形化頁面程序差異比較方法與系統(tǒng),所述方法包括:通過匯總頁面中輸出點為0和所有輸出連接點均未連接的符號,對該類符號按照廣度優(yōu)先的遍歷順序,依次回溯前驅(qū)符號,形成該符號的調(diào)用鏈,并匯總得到頁面的多個調(diào)用鏈。采用連接關(guān)系相似度匹配方法,得到兩個頁面各個調(diào)用鏈的最優(yōu)匹配。對各個匹配調(diào)用鏈內(nèi)的符號按照調(diào)用層數(shù)、符號名、連接關(guān)系進行匹配,并進行對齊處理,插入若干空節(jié)點,形成個數(shù)相等的調(diào)用鏈,依次比較調(diào)用鏈內(nèi)的符號輸入、輸出、參數(shù)等數(shù)據(jù)和屬性。所述系統(tǒng)包括層次數(shù)據(jù)管理加載模塊、頁面差異分析模塊、圖形化頁面展示模塊、調(diào)用鏈差異展示模塊、符號差異展示模塊。
【專利說明】
一種圖形化頁面程序差異比較方法與系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明公開了一種圖形化頁面程序差異比較方法與系統(tǒng),具體涉及圖形化頁面程 序的比較方法,屬于圖形化、可視化編程研發(fā)領(lǐng)域。
【背景技術(shù)】
[0002] 圖形化編程由于直觀、易于理解和調(diào)試維護方便,已經(jīng)在電力系統(tǒng)、工業(yè)控制等領(lǐng) 域進行了廣泛應(yīng)用,隨著應(yīng)用的深入,也面臨了一些新的難題。其中已經(jīng)歸檔的圖形化頁面 程序,由于用戶或工程新的需求,需進行升級修改,用戶迫切希望能夠直觀比較和展示前后 修改頁面的差異,而不是僅靠文檔的說明。直接基于文件存儲內(nèi)容進行比較,從信息隱藏的 角度考慮,可能是加密的二進制文件,無法看出實質(zhì)差異;即使是基于文本明文格式存儲, 由于符號位置調(diào)整,導(dǎo)致存儲順序變化,也無法直觀復(fù)原差異內(nèi)容,特別是無法分析出數(shù)據(jù) 流連接關(guān)系差異。而直接基于形成的代碼產(chǎn)物進行比較,又會出現(xiàn)由于中間變量自動命名 和連接線繪制順序的差異,導(dǎo)致代碼不同,即使兩個頁面的連接線變量命名一致,根據(jù)C代 碼的文本差異去定位所修改的圖形化局部內(nèi)容,也非常困難。故需要一種直觀的、分層的比 較方法,能夠從宏觀到微觀的角度,并結(jié)合原圖形頁面,展示差異內(nèi)容,以解決兩個頁面如 何比較、如何定位差異符號等技術(shù)難題,尚未有文獻涉及圖形化頁面程序的差異比較方法, 本案由此產(chǎn)生。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的是分析出圖形化頁面程序的差異,并直觀地展示展示和定位差異。 為了達成上述目的,本發(fā)明提供一種圖形化頁面程序差異比較方法,其特征在于將頁面劃 分為若干調(diào)用鏈,計算兩個頁面各個調(diào)用鏈相似度,形成最優(yōu)匹配鏈,并比較匹配鏈內(nèi)各個 符號的屬性、變量和連接關(guān)系差異。具體包括如下步驟:
[0004] 步驟1:形成頁面的調(diào)用鏈:讀取待比較的兩個圖形化頁面程序,根據(jù)連接線信息, 形成符號的拓?fù)溥B接網(wǎng)絡(luò),提取頁面內(nèi)輸出點為〇和輸出點均未連接的符號,作為調(diào)用鏈的 終結(jié)符號。對各個終結(jié)符號采用廣度優(yōu)先的遍歷方法,通過符號輸入點的連接線回溯到前 驅(qū)符號,匯總所遍歷到的符號,形成頁面的調(diào)用鏈;
[0005] 步驟2:匹配頁面的調(diào)用鏈:采用連接關(guān)系相似匹配方法,依次計算頁面1的各個調(diào) 用鏈和頁面2的調(diào)用鏈的匹配得分,匹配度分值最高的調(diào)用鏈作為最優(yōu)匹配比較鏈,已經(jīng)匹 配的調(diào)用鏈則從候選對象中刪除,對未匹配的調(diào)用鏈則置新增、刪除標(biāo)記;
[0006] 步驟3:對齊匹配的調(diào)用鏈:對于兩個匹配調(diào)用鏈,依次遍歷調(diào)用鏈內(nèi)的各個符號, 綜合符號所屬的層數(shù)和類型信息,比較符號類型名,名字不同的插入空節(jié)點,形成個數(shù)相等 的調(diào)用鏈;
[0007] 步驟4:比較調(diào)用鏈內(nèi)的符號:對調(diào)用鏈內(nèi)非空節(jié)點,比較符號的屬性(包括一維、 二維等若干層屬性)和變量的信息(包括輸入變量、輸出變量、參數(shù)信息、輸入輸出連接等信 息);記錄各個調(diào)用鏈的名稱、匯總調(diào)用鏈中的符號的差異內(nèi)容;通過設(shè)置比較標(biāo)記,1個符 號同時隸屬于多條調(diào)用鏈時,只比較1次;
[0008] 步驟5:展示差異比較信息:按照調(diào)用鏈分層展示差異內(nèi)容,在可視化頁面展示2個 匹配調(diào)用鏈的相關(guān)符號,點擊相關(guān)符號,展示差異內(nèi)容。
[0009] 進一步地,步驟1所述的廣度優(yōu)先遍歷方法,即通過符號的各個輸入點相連接的連 接線,獲取連接線的起始端符號,對于第〇層前驅(qū)置符號層數(shù)為〇,第N層前驅(qū)符號層數(shù)為N。 對于同層符號,則按照輸入點在圖形上的從上到下的順序遍歷掃描。
[0010] 進一步地,步驟2所述的連接關(guān)系相似匹配方法,包括如下內(nèi)容:對于調(diào)用鏈上的 連接線,記錄連接線的起始符號層數(shù)(StartLayer)、起始符號名(StartOb jName)、起始符號 輸出連接點名(StartNodeName)、連接線的終止符號層數(shù)(EndLayer)、連接線終止符號名 (£11(101^如1116)、終止符號的輸入連接點名(£11(^ 〇(16如1116)等內(nèi)容,按照包含層數(shù) 《StartLayer、Start0bjName,StartNodeName,EndLayer、EndObjName,EndNodeName》的6元 組連接線信息,進行匹配,得到匹配的連接數(shù)M;按照不包括層數(shù)《StartOb jName, StartNodeName,End0b jName,EndNodeName》的4元組連接線信息,進行匹配,得到匹配的連 接線N,則兩個調(diào)用鏈的匹配度得分為M+N。
[0011] 進一步地,步驟4所述的符號屬性比較包括:比較屬性名、屬性值、值列表等內(nèi)容。 所述的符號變量比較包括變量名、變量類型、設(shè)置值、最小值、最大值等內(nèi)容。所述的輸入輸 出連接信息比較包括輸入變量所連接的源輸出符號名和變量名、輸出變量所連接的終端符 號名和變量名。
[0012] 進一步地,步驟5所述的差異內(nèi)容采用分層組織和展示:按照頁面-調(diào)用鏈-符號的 差異內(nèi)容層次化樹形展示,點擊調(diào)用鏈,展示調(diào)用鏈內(nèi)新增、刪除、相同、不同符號的標(biāo)記。 點擊符號,展示符號間的屬性、變量、連接關(guān)系的差異內(nèi)容。
[0013] 進一步地,通過重復(fù)步驟1至步驟5,支持通過讀取頁面索引文件加載兩個工程的 頁面,支持批量導(dǎo)入兩個目錄下的頁面文件,按照文件名進行匹配,比較同名的圖形化頁面 程序文件的差異或指定的非同名文件的差異。
[0014] 一種圖形化頁面程序差異比較系統(tǒng),包括:層次數(shù)據(jù)管理加載模塊、頁面差異分析 模塊、圖形化頁面展示模塊、調(diào)用鏈差異展示模塊、符號差異展示模塊。其中:
[0015] 所述的層次數(shù)據(jù)管理加載模塊,用于批量導(dǎo)入頁面,通過讀取工程管理索引文件, 可加載管理兩個工程或兩個目錄的圖形化頁面數(shù)據(jù),并調(diào)用頁面差異分析模塊,逐個比較 同名文件。
[0016] 所述的頁面差異分析模塊,用于分析圖形化頁面程序的差異,形成頁面調(diào)用鏈,匹 配處理調(diào)用鏈,比較調(diào)用鏈符號的差異,形成差異內(nèi)容。
[0017] 所述的圖形化頁面展示模塊,用于繪制展示圖形化頁面,并用不同的顏色展示調(diào) 用鏈、調(diào)用鏈中新增符號和同名有差異的符號。
[0018] 所述的調(diào)用鏈差異展示模塊,用于概要顯示調(diào)用鏈的差異信息,以表格或者樹形 結(jié)構(gòu)展示兩個頁面匹配調(diào)用鏈的差異內(nèi)容。
[0019] 所述的符號差異展示模塊,用于詳細(xì)展示兩個同名符號的差異,以表格或者樹形 結(jié)構(gòu)展示符號屬性值差異、變量的差異、連接關(guān)系的差異等內(nèi)容。
[0020] 進一步地,所述的圖形化頁面程序差異比較系統(tǒng),當(dāng)點擊某個調(diào)用鏈時,圖形化頁 面展示模塊可灰化或隱藏其它調(diào)用鏈的符號和連接線,只顯示當(dāng)前調(diào)用鏈的符號、或只顯 示當(dāng)前調(diào)用鏈上有差異的符號。
[0021]采用上述方案后,本發(fā)明具有如下有益效果:本方案能夠從宏觀到微觀的角度,基 于調(diào)用鏈,對兩個待比較的頁面進行分階段、分層的比較和展示差異內(nèi)容,可快速直觀地定 位差異內(nèi)容,并給出詳細(xì)的差異信息,方便用戶及時準(zhǔn)確地判斷出差異。本方法已經(jīng)在電力 系統(tǒng)繼電保護裝置和工業(yè)控制裝置的圖形化編程開發(fā)中進行了大量應(yīng)用,解決了圖形化頁 面程序無法直觀細(xì)致對比的難題,提高了圖形化工程應(yīng)用的可靠性。
【附圖說明】
[0022]圖1是本發(fā)明中圖形化頁面程序差異比較原理圖。
[0023] 圖2是本發(fā)明中圖形化頁面修改前后示意圖。
[0024] 圖3是本發(fā)明中圖形化頁面調(diào)用鏈?zhǔn)疽鈭D。
[0025]圖4是本發(fā)明中調(diào)用鏈對齊后差異展不圖。
[0026] 圖5是本發(fā)明中符號差異信息展示意圖。
[0027] 圖6是本發(fā)明中圖形化頁面程序差異比較系統(tǒng)組成示意圖。
【具體實施方式】
[0028] 以下將結(jié)合附圖,對本發(fā)明的技術(shù)方案進行詳細(xì)說明。以圖1至圖5為例,圖形化頁 面程序差異比較方法實現(xiàn)步驟如下:
[0029] 1)步驟1:導(dǎo)入并讀取圖形化頁面數(shù)據(jù),分析頁面符號和連接線的連接信息,形成 符號的拓?fù)溥B接網(wǎng)絡(luò),提取頁面內(nèi)輸出點為〇和輸出點均未連接的符號,作為調(diào)用鏈的終結(jié) 符號。依次對各個終結(jié)符號采用廣度優(yōu)先的遍歷方法,由符號輸入點相連接的連接線回溯 到前驅(qū)符號,匯總所遍歷到的符號,形成頁面調(diào)用鏈。廣度優(yōu)先遍歷方法是通過符號的各個 輸入點相連接的連接線,獲取連接線的起始端符號,對于第〇層前驅(qū)置符號層數(shù)為〇,第N層 前驅(qū)符號層數(shù)為N。對于同層符號,則按照輸入點在圖形上的從上到下的順序遍歷掃描。以 圖2的圖形化頁面為例,存在0utl、0ut2符號是匯流終結(jié)符號,通過廣度優(yōu)先的遍歷,可形成 如圖3所示的調(diào)用鏈。
[0030] 2)步驟2:對調(diào)用鏈進行匹配,采用連接關(guān)系相似匹配方法,依次計算頁面1的各個 調(diào)用鏈和頁面2的調(diào)用鏈的匹配得分,匹配度分值最高的調(diào)用鏈作為最優(yōu)匹配比較鏈,已經(jīng) 匹配的調(diào)用鏈從候選對象中刪除,對未匹配的調(diào)用鏈則置新增、刪除標(biāo)記。連接關(guān)系相似匹 配方法,包括如下內(nèi)容:對于調(diào)用鏈上的連接線,記錄連接線的起始符號層數(shù) (StartLayer)、起始符號名(StartObjName)、起始符號輸出連接點名(StartNodeName)、連 接線的終止符號層數(shù)(StartNodeName)、連接線終止符號名(EndOb jName)、終止符號的輸入 連接點名(EndNodeName)等內(nèi)容,按照包含層數(shù)《StartLayer、StartObjName, StartNodeName,EndLayer、EndOb jName,EndNodeName》的 6元組連接線信息,進行匹配,得到 匹配的連接數(shù)M,按照不包括層數(shù)《StartObjName,StartNodeName,End 0b jName, EndNodeName》的4元組連接線信息,進行匹配,得到匹配的連接線N,則兩個調(diào)用鏈的匹配度 得分為M+N。
[0031] 例如圖3中:頁面1調(diào)用鏈1的連接關(guān)系如下:《l,X0R2,bl,0,0utl,al》、《2,AND2, bl,l,X0R2,al》、《2,0R2,bl,l,X0R2,a2》、《3,UNPACK,bl,2,AND2,al》、《3,UNPACK,b2,2, AND2,al2》、《3,UNPACK,b3,2,0R2,al》、《3,UNPACK,b4,2,0R2,a4》、《4,CONST,bl,3,UNPACK, al》、《XOR2,bl,Outl,al》、《AND2,bl,XOR2,al》、《OR2,bl,XOR2,a2》、《UNPACK,bl,AND2,al》、 《UNPACK,b2,AND2,al2》、《UNPACK,b3,OR2,al》、《UNPACK,b4,OR2,a4》、《CONST,bl,UNPACK, al》。頁面2調(diào)用鏈1的連接關(guān)系如下:《l,X0R2,bl,0,0utl,al》、《2,AND2,bl,l,X0R2,al》、 《2,0R2,bl,l,X0R2,a2》、《3,UNPACK,bl,2,AND2,al2》、《3,UNPACK,b3,2,0R2,al》、《3, UNPACK,b4,2,0R2,a4K((4,CONST,bl,3,UNPACK,alK((X0R2,bl,0utl,alK((AND2,bl,X0R2, a1》、《0R2,b1,X0R2,a2》、《UNPACK,b1,AND2,a12》、《UNPACK,b3,0R2,a1》、《UNPACK,b4,0R2, a4》、《C0NST,bl,UNPACK,al》。則可計算頁面1調(diào)用鏈1和頁面2調(diào)用鏈1共有6+6= 12條連接 關(guān)系匹配,匹配度為12。同理可計算得到頁面1調(diào)用鏈2和頁面2調(diào)用鏈2的匹配度為5(6元組 連接匹配度為〇,4元組連接匹配度為5)。下表給出了頁面1和頁面2的調(diào)用鏈的匹配值: [0032]表1:基于連接關(guān)系的調(diào)用鏈匹配度
[0034] 則可得到最優(yōu)匹配調(diào)用鏈為〈頁面1調(diào)用鏈1,頁面2調(diào)用鏈1>和〈頁面1調(diào)用鏈2,頁 面2調(diào)用鏈2>。
[0035] 3)步驟3:調(diào)用鏈的對齊處理。按照廣度遍歷后的調(diào)用鏈內(nèi)符號的順序依次對齊兩 個調(diào)用鏈的符號。比較符號類型名,名字不同的插入空節(jié)點,名字相同的則繼續(xù)處理下一個 節(jié)點符號,形成個數(shù)相等的調(diào)用鏈。如圖4所示,頁面2的調(diào)用鏈2刪除了NOT符號,則需插入1 個空節(jié)點。
[0036] 4)步驟4:調(diào)用鏈內(nèi)符號的細(xì)化比較。對調(diào)用鏈內(nèi)非空節(jié)點,比較符號的屬性(包括 一維、二維等若干層屬性)和變量的信息(包括輸入變量、輸出變量、參數(shù)信息、輸入輸出連 接信息);記錄各個調(diào)用鏈的名稱、匯總調(diào)用鏈中的符號的差異內(nèi)容。其中符號屬性比較包 括:比較屬性名、屬性值、值列表等內(nèi)容。所符號變量比較包括變量名、變量類型、設(shè)置值、最 小值、最大值等內(nèi)容。輸入輸出連接信息比較包括輸入變量所連接的源輸出符號名和變量 名、輸出變量所連接的終端符號名和變量名。通過設(shè)置比較標(biāo)記,1個符號同時隸屬于多條 調(diào)用鏈時,只比較1次。
[0037] 5)步驟5:展示差異比較信息:采用分層組織和展示:按照頁面-調(diào)用鏈-符號的差 異內(nèi)容層次化樹形展示,點擊調(diào)用鏈,展示調(diào)用鏈內(nèi)新增、刪除、相同、不同符號的標(biāo)記。點 擊符號,展示符號間的屬性、變量的差異內(nèi)容。圖4是調(diào)用鏈差異展示內(nèi)容示意圖,圖5是符 號差異詳細(xì)信息展示內(nèi)容示意圖。
[0038] 通過重復(fù)步驟1至步驟5,可通過讀取頁面索引文件加載兩個工程的頁面,可批量 導(dǎo)入兩個目錄下的頁面文件,按照文件名進行匹配,比較同名的圖形化頁面程序文件的差 異或手工選擇指定的非同名文件的差異。
[0039]圖6為一種圖形化頁面程序差異比較系統(tǒng)模塊組成示意圖,包括:層次數(shù)據(jù)管理加 載模塊、頁面差異分析模塊、圖形化頁面展示模塊、調(diào)用鏈差異展示模塊、符號差異展示模 塊。
[0040]其中所述的層次數(shù)據(jù)管理加載模塊,用于導(dǎo)入若干頁面。通過讀取工程管理索引 文件,可加載顯示兩個工程的頁面節(jié)點。通過讀取掃面兩個目錄,可加載顯示兩個目錄的頁 面節(jié)點。該模塊調(diào)用頁面差異分析模塊,逐個比較同名文件或指定的兩個文件。優(yōu)選地,層 次數(shù)據(jù)管理模塊是2個樹形結(jié)構(gòu),層次展示工程下若干層次索引數(shù)據(jù)結(jié)構(gòu)和文件節(jié)點。對相 同層次、名字目錄的圖形化頁面文件進行對齊處理,并支持新增、刪除的頁面樹形節(jié)點繪制 不同的顏色。
[0041] 所述的頁面差異分析模塊,用于分析圖形化頁面程序的差異,形成待比較頁面調(diào) 用鏈,并根據(jù)采用連接關(guān)系相似匹配方法,形成最優(yōu)匹配調(diào)用鏈,對齊調(diào)用鏈,比較調(diào)用鏈 內(nèi)符號的差異,形成差異內(nèi)容。優(yōu)選地,可基于內(nèi)存數(shù)據(jù)結(jié)構(gòu)和XML可擴展文本記錄差異信 息,記錄信息包括調(diào)用鏈名字、調(diào)用鏈內(nèi)新增、刪除、不同的節(jié)點標(biāo)記和符號ID、有差異的符 號屬性、變量、連接關(guān)系信息。
[0042] 所述的圖形化頁面展示模塊,用于繪制展示圖形化頁面。優(yōu)選地,可用不同的顏色 展示調(diào)用鏈、調(diào)用鏈中新增符號和同名有差異的符號。當(dāng)點擊某個調(diào)用鏈時,調(diào)用鏈差異展 示模塊發(fā)送消息給圖形化展示模塊,圖形化頁面可僅繪制展示當(dāng)前調(diào)用鏈的符號和連接 線,灰化或隱藏其它調(diào)用鏈的符號和連接線,還可只顯示當(dāng)前調(diào)用鏈上有差異的符號。 [0043]所述的調(diào)用鏈差異展示模塊,用于概要顯示調(diào)用鏈的差異信息。優(yōu)選地,以表格或 樹形結(jié)構(gòu)展示兩個頁面匹配調(diào)用鏈的差異內(nèi)容。
[0044] 所述的符號差異展示模塊,用于詳細(xì)展示兩個同名符號的差異。優(yōu)選地,以表格或 者樹形結(jié)構(gòu)的方式展示符號屬性值差異、變量的差異、連接關(guān)系的差異等內(nèi)容。
[0045] 以上實施例僅為說明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護范圍,凡是 按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動,均落入本發(fā)明保護范圍 之內(nèi)。
【主權(quán)項】
1. 一種圖形化頁面程序差異比較方法,其特征在于,方法步驟包括: 將頁面劃分為若干調(diào)用鏈; 計算不同頁面中各個調(diào)用鏈的相似度,匹配不同頁面的調(diào)用鏈,形成最優(yōu)匹配鏈; 比較所述最優(yōu)匹配鏈內(nèi)各個符號的屬性、變量和連接關(guān)系差異。2. 如權(quán)利要求1所述的一種圖形化頁面程序差異比較方法,其特征在于:所述將頁面劃 分為若干調(diào)用鏈具體為,讀取待比較的圖形化頁面程序,根據(jù)連接線信息,形成符號的拓?fù)?連接網(wǎng)絡(luò),提取頁面程序內(nèi)輸出點為〇和輸出點均未連接的符號,作為調(diào)用鏈的終結(jié)符號; 對各個終結(jié)符號采用廣度優(yōu)先的遍歷方法,通過終結(jié)符號輸入點的連接線回溯到前驅(qū) 符號,匯總所遍歷到的終結(jié)符號,形成頁面調(diào)用鏈。3. 如權(quán)利要求1所述的一種圖形化頁面程序差異比較方法,其特征在于:所述匹配不同 頁面的調(diào)用鏈具體為,采用連接關(guān)系相似匹配方法,依次計算兩個不同頁面中各自調(diào)用鏈 的匹配得分,匹配度分值最高的調(diào)用鏈作為最優(yōu)匹配鏈;已經(jīng)匹配的調(diào)用鏈從候選對象中 刪除,未匹配的調(diào)用鏈則置新增、刪除標(biāo)記。4. 如權(quán)利要求3所述的一種圖形化頁面程序差異比較方法,其特征在于:所述匹配不同 頁面的調(diào)用鏈還包括對齊匹配的調(diào)用鏈,具體為,對于兩個匹配調(diào)用鏈,依次遍歷調(diào)用鏈內(nèi) 的各個符號,綜合符號所屬的層數(shù)和類型信息,比較符號類型名,類型名不同的插入空節(jié) 點,形成個數(shù)相等的調(diào)用鏈。5. 如權(quán)利要求1所述的一種圖形化頁面程序差異比較方法,其特征在于:所述比較最優(yōu) 匹配鏈內(nèi)各個符號的屬性、變量和連接關(guān)系差異具體包括,對調(diào)用鏈內(nèi)非空節(jié)點,比較符號 的屬性和變量的信息;記錄各個調(diào)用鏈的名稱、匯總調(diào)用鏈中的符號的差異內(nèi)容。6. 如權(quán)利要求5所述的一種圖形化頁面程序差異比較方法,其特征在于:所述符號的屬 性包括多維度下的若干層屬性;所述變量的信息包括輸入變量、輸出變量、參數(shù)、輸入輸出 連接信息。7. 如權(quán)利要求6所述的一種圖形化頁面程序差異比較方法,其特征在于:所述比較最優(yōu) 匹配鏈內(nèi)各個符號的屬性、變量和連接關(guān)系差異還包括,通過設(shè)置比較標(biāo)記,在1個符號同 時隸屬于多條調(diào)用鏈時,只比較1次。8. 如權(quán)利要求1所述的一種圖形化頁面程序差異比較方法,其特征在于:所述比較方法 還包括步驟展示差異比較信息,按照調(diào)用鏈分層展示差異內(nèi)容,在可視化頁面展示2個匹配 調(diào)用鏈的相關(guān)符號或者,展示差異內(nèi)容。9. 如權(quán)利要求2所述的一種圖形化頁面程序差異比較方法,其特征在于:所述的廣度優(yōu) 先遍歷方法具體為,通過符號的各個輸入點相連接的連接線,獲取連接線的起始端符號,對 于第〇層前驅(qū)置符號層數(shù)為〇,第N層前驅(qū)符號層數(shù)為N;對于同層符號,按照輸入點在圖形上 的從上到下的順序遍歷掃描。10. 如權(quán)利要求3所述的一種圖形化頁面程序差異比較方法,其特征在于:所述的依次 計算兩個不同頁面中各自調(diào)用鏈的匹配得分,包括如下內(nèi)容:對于調(diào)用鏈上的連接線,記錄 連接線的起始符號層數(shù)、起始符號名、起始符號輸出連接點名、連接線的終止符號層數(shù)、連 接線終止符號名、終止符號的輸入連接點名; 按照包含層數(shù)的起始符號層數(shù)、起始符號名,起始符號輸出連接點名,連接線的終止符 號層數(shù)、連接線終止符號名,終止符號的輸入連接點名6元組連接線信息,進行匹配,得到匹 配的連接數(shù)Μ; 按照不包括層數(shù)的起始符號名,起始符號輸出連接點名,連接線終止符號名,終止符號 的輸入連接點名4元組連接線信息,進行匹配,得到匹配的連接線Ν,則兩個調(diào)用鏈的匹配度 得分為Μ+Ν。11. 如權(quán)利要求1所述的一種圖形化頁面程序差異比較方法,其特征在于:所述比較最 優(yōu)匹配鏈內(nèi)各個符號的屬性包括:比較屬性名、屬性值、值列表; 所述符號的變量比較包括變量名、變量類型、設(shè)置值、最小值、最大值; 所述的連接關(guān)系差異比較包括輸入變量所連接的源輸出符號名和變量名、輸出變量所 連接的終端符號名和變量名。12. 如權(quán)利要求8所述的一種圖形化頁面程序差異比較方法,其特征在于:所述的差異 內(nèi)容采用分層組織和展示:按照頁面-調(diào)用鏈-符號的差異內(nèi)容層次化樹形展示,其中,所述 調(diào)用鏈展示包括調(diào)用鏈內(nèi)新增、刪除、相同、不同符號的標(biāo)記;所述符號展示保留符號間的 屬性、變量、連接關(guān)系的差異內(nèi)容。13. 如權(quán)利要求1所述的一種圖形化頁面程序差異比較方法,其特征在于:所述方法還 包括,通過讀取頁面索引文件加載兩個工程的頁面,批量導(dǎo)入兩個目錄下的頁面文件,按照 文件名進行匹配,比較同名的圖形化頁面程序文件的差異或指定的非同名文件的差異。14. 一種圖形化頁面程序差異比較系統(tǒng),其特征在于,所述系統(tǒng)包括:層次數(shù)據(jù)管理加 載模塊、頁面差異分析模塊、圖形化頁面展示模塊、調(diào)用鏈差異展示模塊、符號差異展示模 塊,其中: 所述的層次數(shù)據(jù)管理加載模塊,用于批量導(dǎo)入頁面,通過讀取工程管理索引文件,可加 載管理兩個工程或兩個目錄的圖形化頁面數(shù)據(jù),并調(diào)用頁面差異分析模塊,逐個比較同名 文件或指定的兩個文件; 所述的頁面差異分析模塊,用于分析圖形化頁面程序的差異,形成頁面調(diào)用鏈,匹配處 理調(diào)用鏈,比較調(diào)用鏈符號的差異,形成差異內(nèi)容; 所述的圖形化頁面展示模塊,用于繪制展示圖形化頁面,并用不同的顏色展示調(diào)用鏈、 調(diào)用鏈中新增符號和展示同名有差異的符號; 所述的調(diào)用鏈差異展示模塊,用于概要顯示調(diào)用鏈的差異信息,以表格或者樹形結(jié)構(gòu) 展示兩個頁面匹配調(diào)用鏈的差異內(nèi)容; 所述的符號差異展示模塊,用于詳細(xì)展示兩個同名符號的差異,以表格或者樹形結(jié)構(gòu) 展示符號屬性值差異、變量的差異、連接關(guān)系的差異。15. 根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,當(dāng)選取某個調(diào)用鏈展示時,圖形化頁面 展示模塊灰化或隱藏其它調(diào)用鏈的符號和連接線,只顯示當(dāng)前調(diào)用鏈的符號和連接信息、 或只顯示當(dāng)前調(diào)用鏈上有差異的符號。
【文檔編號】G06F9/44GK105930174SQ201610341086
【公開日】2016年9月7日
【申請日】2016年5月22日
【發(fā)明人】陳宏君, 劉克金, 張磊, 周磊, 徐睿, 譚良良, 文繼鋒, 馮亞東, 王永平, 鄒強
【申請人】南京南瑞繼保電氣有限公司, 南京南瑞繼保工程技術(shù)有限公司