一種實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法
【專利摘要】本發(fā)明是一種實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法。涉及技術(shù)數(shù)據(jù)的識別領(lǐng)域。其特征是版本信息記錄文件的存儲結(jié)構(gòu)為:它包括密鑰和版本列表;而版本列表包括文件名、文件版本號和保留字。本發(fā)明避免相同版本文件重復(fù)下載、使文件更新再下載、節(jié)省網(wǎng)絡(luò)資源、提高web加載的效率、并確保對文件的安全訪問、具有一定的普適性。
【專利說明】一種實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是一種實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法。涉及技術(shù)數(shù)據(jù)的識別領(lǐng)域。
【背景技術(shù)】
[0002]版本管理方法主要應(yīng)用于實時監(jiān)控系統(tǒng)中的web應(yīng)用中,實時監(jiān)控系統(tǒng)也叫做實時數(shù)據(jù)采集與監(jiān)控系統(tǒng),主要用于石油、電力及工廠自動化等行業(yè)。實時監(jiān)控系統(tǒng)中的web應(yīng)用主要是指建立web服務(wù)器,發(fā)布web文件,通過客戶端IE瀏覽器訪問web服務(wù)。要發(fā)布的web文件包含了配置文件、畫面、及各種表格、聲音和圖片等資源文件。
[0003]實時監(jiān)控系統(tǒng)中的web應(yīng)用借助IE瀏覽器來運行,是典型的B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)。這種應(yīng)用的好處是:
[0004](I)這種架構(gòu)采用Internet上標準的通信協(xié)議作為客戶機同服務(wù)器通信的協(xié)議;這樣可以使位于Internet任意位置的人都能夠訪問服務(wù)器;對于服務(wù)器來說,通過相應(yīng)的web服務(wù)和數(shù)據(jù)庫服務(wù)可以對數(shù)據(jù)進行處理;對外采用標準的通信協(xié)議,以便共享數(shù)據(jù);
[0005](2)在服務(wù)器上對數(shù)據(jù)進行處理,就處理的結(jié)果生成網(wǎng)頁,以方便客戶端直接下載;
[0006](3)在客戶機上對數(shù)據(jù)的處理被進一步簡化,將瀏覽器作為客戶端的應(yīng)用程序,以實現(xiàn)對數(shù)據(jù)的顯示;不再需要為客戶端單獨編寫和安裝其他類型的應(yīng)用程序;這樣,在客戶端只需要安裝一套內(nèi)置瀏覽器的操作系統(tǒng),如Windows XP或Windows 2000直接安裝一套瀏覽器,就可以實現(xiàn)服務(wù)器上數(shù)據(jù)的訪問;而瀏覽器是現(xiàn)在計算機的標準設(shè)備。
[0007]實時監(jiān)控系統(tǒng)中的web應(yīng)用普遍采用web服務(wù)與數(shù)據(jù)服務(wù)分離的做法,web服務(wù)只發(fā)布程序運行必備的資源文件,IE瀏覽器從web服務(wù)器上下載這些文件,而獲取數(shù)據(jù)則要訪問數(shù)據(jù)服務(wù)器。
[0008]實時監(jiān)控系統(tǒng)web應(yīng)用架構(gòu)如圖1所示。實時監(jiān)控系統(tǒng)在具體工程制作中,首先必須根據(jù)現(xiàn)場應(yīng)用建立工程,即創(chuàng)建畫面文件、配置工程屬性、設(shè)置數(shù)據(jù)源等,工程中包含的畫面、圖片、聲音等文件往往數(shù)量巨大,畫面的復(fù)雜度也特別高,如果單獨開發(fā)web應(yīng)用工程,不但耗時,而且效率低下。為了減少web開發(fā)的工作量,并且使web畫面與客戶端工程畫面運行一致,在web發(fā)布中,直接采用已創(chuàng)建好的客戶端工程文件進行web發(fā)布,只做些許的web發(fā)布配置工作??梢栽趹?yīng)用中與客戶端工程同時部署,并與客戶端運行高度一致。
[0009]由于實時監(jiān)控系統(tǒng)中的web文件數(shù)目龐大,且隨客戶端工程文件的改變經(jīng)常重新發(fā)布,web訪問中經(jīng)常會出現(xiàn)各版本文件同時存在,頻繁更新導(dǎo)致版本混亂,為了避免重復(fù)下載同一版本文件,老版本文件訪問新工程服務(wù)的問題,版本管理顯得尤為重要。并且,力口載畫面有小于等于0.2秒的要求,緩存畫面及各種資源,并進行有效地下載控制,對于不需要下載的文件,直接應(yīng)用緩存中的文件,可以大大縮短畫面加載時間,滿足性能指標。
[0010]由于通過web訪問就可以獲取web文件,而web文件與客戶端工程文件相同,這樣很容易導(dǎo)致消耗很大工作量制作的工程文件被別人輕松獲取。為了保護工程制作人員的勞動成果,必須采取某種策略對web文件進行加密,保證web文件的安全性。
[0011]目前一般國內(nèi)現(xiàn)有的web訪問比較簡單,基本過程(見圖1)如下:
[0012]1、開啟IE瀏覽器輸入網(wǎng)址鏈接web服務(wù)器;
[0013]2、打開某畫面;
[0014]3、下載某畫面文件和其相關(guān)資源文件;
[0015]4、訪問數(shù)據(jù)服務(wù)器。
[0016]以上部分介紹了一般實時監(jiān)控系統(tǒng)web應(yīng)用的方法和過程,從中可以看出,加載web文件不會判斷是否已存在該文件,或者存在該文件,是否與要下載文件版本一致。頻繁的訪問文件,會導(dǎo)致頻繁的文件下載,占據(jù)網(wǎng)絡(luò)資源,影響性能。并且沒有有效保證web文件的安全。
【發(fā)明內(nèi)容】
[0017]本發(fā)明的目的是發(fā)明一種避免相同版本文件重復(fù)下載、使文件更新再下載、節(jié)省網(wǎng)絡(luò)資源、提高web加載的效率、并確保對文件的安全訪問、具有一定的普適性的實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法。
[0018]本發(fā)明所涉及的版本管理機制正是針對web訪問中避免相同文件重復(fù)下載的方法,針對以上這些問題在大量試驗和應(yīng)用過程中所提出的理想的解決方案。
[0019]具體方法是通過一種版本管理機制,控制同一版本web文件重復(fù)下載,只有在初次訪問或者版本不同時,才下載web文件。并且,通過一種安全管理的策略對web文件進行安全控制。該方法節(jié)省了網(wǎng)絡(luò)資源,提高了畫面加載效率,增加了 web文件的安全性。具體操作流程如下:
[0020]1、根據(jù)控制訪問的要求,每個要發(fā)布的文件都增加版本記錄信息;
[0021]2、記錄密鑰、版本信息,生成版本信息記錄文件;
[0022]3、開啟IE瀏覽器輸入網(wǎng)址鏈接web服務(wù)器;
[0023]4、web訪問首先下載版本信息記錄文件,密鑰和版本記錄讀入變量;
[0024]5、比較新下載密鑰與原來緩存密鑰,判定是否全部下載;
[0025]6、打開某畫面;
[0026]7、讀取版本記錄,根據(jù)設(shè)定的判定機制確定是否下載;
[0027]8、下載某畫面文件和其相關(guān)資源文件;
[0028]8、讀取密鑰對加密文件進行解密加載;
[0029]9、訪問數(shù)據(jù)服務(wù)。
[0030]圖3給出了以上操作流程的簡單描述,具體的發(fā)布和下載流程如圖5和圖6所示。
[0031]web訪問流程如圖3所示,其流程是:在web服務(wù)器中建立虛擬目錄,web發(fā)布,生成文件版本記錄文件,web文件發(fā)布成功,后打開IE瀏覽器,到客戶IE瀏覽器進行web訪問,根據(jù)訪問下載對應(yīng)文件,畫面瀏覽。
[0032]本發(fā)明解決技術(shù)問題采取的技術(shù)方案是:在每次做web發(fā)布時,都創(chuàng)建版本記錄文件,記錄需要發(fā)布的文件的版本信息。版本信息包括文件名稱、版本號等??蛻舳藶g覽器需要訪問web服務(wù)時,首先下載版本記錄文件,并讀取記錄信息,然后再下載其他文件,下載前需比較已存在文件版本與需要下載的該文件版本以及采用的密鑰是否一致,如果一致則不予下載。而且,版本管理文件也增加了密鑰的存儲,以方便獲取密鑰對文件進行解密加載。
[0033]版本記錄信息文件的存儲結(jié)構(gòu)如圖2所示。它包括密鑰和版本列表;而版本列表包括文件名、文件版本號和保留字。
[0034]Web應(yīng)用包括web服務(wù)器搭建、web發(fā)布、訪問web服務(wù)和數(shù)據(jù)服務(wù)四個部分,web發(fā)布文件管理的方法,是web發(fā)布和訪問web服務(wù)兩個方面有效結(jié)合的方法,這兩部分結(jié)合在一起,體現(xiàn)了本發(fā)明的內(nèi)容。
[0035]所述web發(fā)布,采用了增量發(fā)布的方法,也就是只發(fā)布變化更新和未曾發(fā)布的文件,并且對于某些文件采取了聯(lián)動發(fā)布的機制,所謂聯(lián)動發(fā)布,比如畫面包含的各種資源隨畫面一同發(fā)布。
[0036]針對實時監(jiān)控系統(tǒng)中web應(yīng)用的特殊性,出于對工作做成果的保護,有些重要的文件不能被隨意訪問,這時就需要對該文件進行加密處理。所以,版本記錄文件中記錄了密鑰,用來對加密的文件進行解密。密鑰之所以存儲在版本記錄文件里,一是這種機制可以靈活改變密鑰,增加安全性;二是,版本記錄文件每次都首先下載,使密鑰在解密文件之前就被程序獲取,便于解密訪問。在做發(fā)布之前的發(fā)布配置時,設(shè)置密鑰。發(fā)布時,應(yīng)用該密鑰對發(fā)布文件的內(nèi)容進行加密,同時將密鑰存入文件版本管理文件。
[0037]增量發(fā)布要求在做web發(fā)布時進行增量檢查,這里通過讀入已存在的文件的版本信息,與要發(fā)布的文件的版本進行比較,如果版本相同,則不發(fā)布,不改變該文件版本記錄信息;如果有不同,則重新發(fā)布,同時改變該文件版本記錄信息。增量發(fā)布的好處是只發(fā)布那些變化了的文件,更新那些變化了的文件的版本記錄,并不對所有文件進行發(fā)布,提高了web發(fā)布的效率,減少了 web發(fā)布的時間。如果是初次發(fā)布,并不進行版本比較,直接發(fā)布并創(chuàng)建版本存儲版本信息到版本記錄文件即可。這里要注意的是,一旦密鑰改變,所有的文件將會重新發(fā)布,這樣做是為了保持所有web文件密鑰相同,并與版本管理文件中記錄的密鑰一致。如果密鑰有變化,更新web端文件,也可以保證客戶端獲取到包含新密鑰的文件,保持和web服務(wù)器上文件密鑰的一致性。
[0038]web發(fā)布流程如圖5所示。流程是:
[0039]選擇要發(fā)布文件;
[0040]點擊發(fā)布按鈕;
[0041]密鑰是否改變?若改變,則更新版本記錄文件信息;
[0042]若未改變,則判斷文件是否已存在?若不存在,則更新版本記錄文件信息;若已存在,則檢測版本號;判斷版本號是否相同?若相同,則結(jié)束;若不相同,則更新版本記錄文件信息;除文件頭以外文件內(nèi)容加密;發(fā)布;結(jié)束。
[0043]聯(lián)動發(fā)布,是在發(fā)布一種文件時,對與其應(yīng)用到的資源及其它文件同時發(fā)布,并不單獨發(fā)布其所需要的其它文件。這樣既降低了文件發(fā)布的復(fù)雜度,又可以保證所有需要發(fā)布的文件都成功發(fā)布。
[0044]聯(lián)動下載流程如圖4所示。其步驟是:下載文件;是否下載相關(guān)資源判斷?如是,則返回下載文件,下載該相關(guān)資源;如否,則結(jié)束。
[0045]所述訪問web服務(wù),首先要檢測緩存中是否存在版本記錄文件,如果不存在,程序變量存儲密鑰為空,然后下載文件版本管理文件,讀密鑰到變量,比較兩個密鑰值,如果不同,所有web文件全部重新下載。如果相同,則比較文件的版本號,在每次發(fā)布文件時,如果版本號不同,則重下載,都相同,則不用下載。應(yīng)用版本比較判斷文件是否要下載,不管緩存中版本比web服務(wù)器文件版本低,還是高,都能夠有效地保證web客戶端與web服務(wù)端文件的版本的一致性。密鑰的檢查,是為了防止新密鑰打不開版本沒有變化的文件。所以密鑰一旦改變,所有文件也要重新下載,以保證文件加密密鑰和版本管理文件中密鑰的一致性。
[0046]至于下載哪些文件,都是根據(jù)用戶需要才下載,比如用戶打開某畫面,則只下載此畫面及其應(yīng)用到的資源和其它文件。
[0047]文件下載判定流程圖如圖6所示:
[0048]檢測緩存中是否存在版本管理文件;
[0049]判斷文件是否已存在?若是,則密鑰存儲到程序變量;下載文件版本管理文件;若否,則下載文件版本管理文件;
[0050]比較密鑰是否相同?若否,則下載;結(jié)束;若是,則準備下載文件;判斷文件是否已存在?若否,則下載;結(jié)束;若是,則比較文件版本號;判斷版本號是否一致?若是,則結(jié)束;若否,則下載;結(jié)束。
[0051]對文件的緩存管理,之所以對web訪問畫面加載速度快,首先得益于它的緩存機制,但是隨著時間的延長,新舊文件的更替,緩存有可能會影響web服務(wù)的正常訪問。考慮到web緩存清理不能影響畫面運行,并且需要用戶知曉,在每次web訪問退出時,都彈出對話框通知使用者是否要清理緩存,如果選擇清理,程序會清理掉緩存,否則,緩存保留。
[0052]本發(fā)明避免了相同版本文件重復(fù)下載,使文件更新再下載,節(jié)省網(wǎng)絡(luò)資源,提高web加載的效率,并確保對文件的安全訪問,具有一定的普適性。
【專利附圖】
【附圖說明】
[0053]圖1實時監(jiān)控系統(tǒng)中web應(yīng)用架構(gòu)示意圖
[0054]圖2版本記錄文件存儲結(jié)構(gòu)
[0055]圖3web訪問流程圖
[0056]圖4聯(lián)動下載流程圖
[0057]圖5web發(fā)布流程圖
[0058]圖6文件下載判定流程圖
【具體實施方式】
[0059]實施例.為了更好的理解本發(fā)明,下面結(jié)合實施例進一步闡明本發(fā)明的內(nèi)容,但本發(fā)明的內(nèi)容不僅僅局限于下面的實施例。
[0060]在國家科技支撐項目中,中油龍慧公司自主研發(fā)的組態(tài)軟件Epipeview產(chǎn)品的web發(fā)布功能采用本發(fā)明來保證web訪問的高效性以及web文件的安全性。具體實施中,配置一臺web服務(wù)器,一臺數(shù)據(jù)服務(wù)器和若干web客戶端。首先在web服務(wù)器上對已經(jīng)開發(fā)好的客戶端工程進行web配置,包含虛擬目錄、畫面尺寸、web根目錄以及密鑰等的設(shè)置。然后進行web發(fā)布,可以更改密鑰,再次發(fā)布,會看到所有web文件都重新發(fā)布。對于web文件應(yīng)用Epipeview軟件不能打開,因為web文件進行了加密操作。[0061]通過IE瀏覽器訪問web服務(wù),如果是第一次訪問,開啟畫面的速度較慢,因為要下載web文件。關(guān)閉瀏覽器,重新打開,會明顯感覺畫面加載速度的提高,此時,不會重新下載web文件,直接緩存中加載web文件。Web文件加載完畢,會連通數(shù)據(jù)服務(wù)器,進行實時數(shù)據(jù)的訪問。
[0062]模擬試驗中,除初次加載,加載畫面效率都比較高,小于等于0.2秒,滿足了對性能的要求;web文件加密效果較好,通過其它工具不能訪問web文件或會看到亂碼,基本上滿足了 web文件對安全性的要求。
【權(quán)利要求】
1.一種實時監(jiān)控系統(tǒng)中Web發(fā)布文件版本的管理方法,在每次做web發(fā)布時,都創(chuàng)建版本記錄文件,記錄需要發(fā)布的文件的版本信息;版本信息包括文件名稱、版本號;客戶端瀏覽器需要訪問web服務(wù)時,首先下載版本記錄文件,并讀取記錄信息,然后再下載其他文件,下載前需比較已存在文件版本與需要下載的該文件版本以及采用的密鑰是否一致,如果一致則不予下載;而且,版本管理文件也增加了密鑰的存儲,以方便獲取密鑰對文件進行解密加載; 其流程如下: 1)根據(jù)控制訪問的要求,每個要發(fā)布的文件都增加版本記錄信息; 2)記錄密鑰、版本信息,生成版本信息記錄文件; 3)開啟IE瀏覽器輸入網(wǎng)址鏈接web服務(wù)器; 4)web訪問首先下載版本信息記錄文件,密鑰和版本記錄讀入變量; 5)比較新下載密鑰與原來緩存密鑰,判定是否全部下載; 6)打開某畫面; 7)讀取版本記錄,根據(jù)設(shè)定的判定機制確定是否下載; 8)下載某畫面文件和其相關(guān)資源文件; 9)讀取密鑰對加密 文件進行解密加載; 10)訪問數(shù)據(jù)服務(wù); 其特征是版本信息記錄文件的存儲結(jié)構(gòu)為:它包括密鑰和版本列表;而版本列表包括文件名、文件版本號和保留字。
2.根據(jù)權(quán)利要求1所述的一種實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法,其特征是所述web訪問流程是:在web服務(wù)器中建立虛擬目錄,web發(fā)布,生成文件版本記錄文件,web文件發(fā)布成功,后打開IE瀏覽器,到客戶IE瀏覽器進行web訪問,根據(jù)訪問下載對應(yīng)文件,畫面瀏覽。
3.根據(jù)權(quán)利要求1所述的一種實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法,其特征是所述Web應(yīng)用包括web服務(wù)器搭建、web發(fā)布、訪問web服務(wù)和數(shù)據(jù)服務(wù)四個部分,web發(fā)布文件管理的方法,是web發(fā)布和訪問web服務(wù)兩個方面有效結(jié)合的方法。
4.根據(jù)權(quán)利要求1所述的一種實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法,其特征是所述下載采用聯(lián)動下載,其流程是:下載文件;是否下載相關(guān)資源判斷?如是,則返回下載文件,下載該相關(guān)資源;如否,則結(jié)束。
5.根據(jù)權(quán)利要求1所述的一種實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法,其特征是所述文件下載判定流程為: 檢測緩存中是否存在版本管理文件; 判斷文件是否已存在?若是,則密鑰存儲到程序變量;下載文件版本管理文件;若否,則下載文件版本管理文件; 比較密鑰是否相同?若否,則下載;結(jié)束;若是,則準備下載文件;判斷文件是否已存在?若否,則下載;結(jié)束;若是,則比較文件版本號;判斷版本號是否一致?若是,則結(jié)束;若否,則下載;結(jié)束。
6.根據(jù)權(quán)利要求1所述的一種實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法,其特征是所述對文件的存儲采用緩存管理,在每次web訪問退出時,都彈出對話框通知使用者是否要清理緩存,如果選擇清理,程序會清理掉緩存,否則,緩存保留。
7.根據(jù)權(quán)利要求3所述的一種實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法,其特征是所述web發(fā)布,采用了增量發(fā)布的方法,也就是只發(fā)布變化更新和未曾發(fā)布的文件,并且對于某些文件采取了聯(lián)動發(fā)布的機制。
8.根據(jù)權(quán)利要求3所述的一種實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法,其特征是所述訪問web服務(wù),首先要檢測緩存中是否存在版本記錄文件,如果不存在,程序變量存儲密鑰為空,然后下載文件版本管理文件,讀密鑰到變量,比較兩個密鑰值,如果不同,所有web文件全部重新下載;如果相同,則比較文件的版本號,在每次發(fā)布文件時,如果版本號不同,則重下載,都相同,則不用下載;應(yīng)用版本比較判斷文件是否要下載,不管緩存中版本比web服務(wù)器文件版本低,還是高,都能夠有效地保證web客戶端與web服務(wù)端文件的版本的一致性;密鑰的檢查,密鑰一旦改變,所有文件也要重新下載;根據(jù)用戶需要下載文件。
9.根據(jù)權(quán)利要求7所述的一種實時監(jiān)控系統(tǒng)中web發(fā)布文件版本的管理方法,其特征是所述web發(fā)布流程是: 選擇要發(fā)布文件; 點擊發(fā)布按鈕; 密鑰是否改變?若改變,則更新版本記錄文件信息; 若未改變,則判斷文件是否已存在?若不存在,則更新版本記錄文件信息;若已存在,則檢測版本號;判斷版本號是否相同?若相同,則結(jié)束;若不相同,則更新版本記錄文件信息;除文件頭以外文件內(nèi)容加密;發(fā)布;結(jié)束。
【文檔編號】H04L29/06GK103812894SQ201210449328
【公開日】2014年5月21日 申請日期:2012年11月12日 優(yōu)先權(quán)日:2012年11月12日
【發(fā)明者】宋伯濤, 譚祿鈞, 李國棟 申請人:中國石油天然氣集團公司, 中國石油天然氣管道局, 廊坊開發(fā)區(qū)中油龍慧自動化工程有限公司