一種程序開發過程中的配置文件控制方法及裝置的製作方法
2023-07-22 10:21:16 3
專利名稱:一種程序開發過程中的配置文件控制方法及裝置的製作方法
技術領域:
本發明涉及程序開發技術領域,特別涉及一種程序開發過程中的配置文件控制 方法及裝置。
背景技術:
配置文件在程序開發過程中佔據著相當重要的作用,應用程式可以向配置文件 中讀取配置信息,從而表現出不同的行為方式。但是在相當多的開發過程中,配置文件 都是要求事先配置好的,在程序啟動的過程中進行讀取。由上可以看出,現有的技術方案中,程序運行過程中行為模式沒有即時反映配 置文件信息。針對該缺陷,有必要提供一種動態加載配置文件的方法,使在程序運行過 程中配置文件的修改能在程序中即時反映出來。
發明內容
本發明的目的是提供一種程序開發過程中的配置文件控制方法及裝置,其能實 現對配置文件修改的即時反映。本發明提供一種程序開發過程中的配置文件控制方法,包括以下步驟1.1、建立一存放所述配置文件的文件夾;1.2、建立一線程類實例,在每一預定時間檢查掃描所述文件夾中的信息是否發 生變化,若是則轉下步驟;1.3、通知監聽所述配置文件變化的監聽類實例,對所述文件夾中改變的配置文 件信息重新加載。所述步驟1.2使用單例模式建立所述線程類實例,其啟動一個單獨的線程,在每 一預定時間對所述文件夾進行檢查掃描。所述線程類實例和監聽類實例使用觀察者模式,在所述線程類實例檢查掃描到 所述文件夾中的信息有改變時,對所述配置文件信息重新加載。所述步驟1.2和步驟1.3還包括以下步驟4.1、若所述文件夾的前修改時間快照為空,則認為程序剛啟動,對所述文件 夾去一個快照,通知監聽類實例監控已開始,跳過以下步驟,等待下一次線程運行;否 則,繼續執行步驟4.2;4.2、對當前的所述文件夾取修改時間快照,並比較前後兩個快照若修改時間 快照中的元素不在前修改時間快照中,則認為其為新添加的元素,通知監控類實例添加 新配置文件消息;若修改時間快照中的元素在前修改時間快照中,則繼續判斷該文件的 上次修改時間與前修改時間快照中的上次修改時間是否一樣,不一樣則表示該配置文件 已修改,通知監聽類實例修改配置文件信息;若前修改時間快照中的元素不在修改時間 快照中,則認為該配置文件已被刪除,通知監控類實例該配置文件已被刪除。4.3、將修改時間快照賦值給前修改時間快照。
另一方面,本發明還提供一種程序開發過程中的配置文件控制裝置,包括存儲模塊,用以通過一文件夾存放所述配置文件;掃描模塊,用以建立一線程類實例,使其在每一預定時間檢查掃描所述文件夾 中的信息是否發生變化;執行模塊,用以當所述文件夾中的信息發生變化時,通知監聽所述配置文件變 化的監聽類實例,對所述文件夾中改變的配置文件信息重新加載。所述掃描模塊使用單例模式建立所述線程類實例,其啟動一個單獨的線程,在 每一預定時間對所述文件夾進行檢查掃描。所述線程類實例和監聽類實例使用觀察者模式,在所述線程類實例檢查掃描到 所述文件夾中的信息有改變時,對所述配置文件信息重新加載。所述掃描模塊建立的線程類實例包括以下工作步驟8.1、若所述文件夾的前修改時間快照為空,則認為程序剛啟動,對所述文件 夾去一個快照,通知監聽類實例監控已開始,跳過以下步驟,等待下一次線程運行;否 則,繼續執行步驟8.2;8.2、對當前的所述文件夾取修改時間快照,並比較前後兩個快照若修改時間 快照中的元素不在前修改時間快照中,則認為其為新添加的元素,通知監控類實例添加 新配置文件消息;若修改時間快照中的元素在前修改時間快照中,則繼續判斷該文件的 上次修改時間與前修改時間快照中的上次修改時間是否一樣,不一樣則表示該配置文件 已修改,通知監聽類實例修改配置文件信息;若前修改時間快照中的元素不在修改時間 快照中,則認為該配置文件已被刪除,通知監控類實例該配置文件已被刪除。8.3、將修改時間快照賦值給前修改時間快照。採用本發明所述的一種程序開發過程中的配置文件控制方法及裝置,建立一個 專門存放配置文件的文件夾,使用單例模式建立一線程類實例,並實現線程方法,每隔 一段時間檢查一次該文件夾中的信息是否發生變化,要是發生變化通知需要監聽配置文 件變化的監聽類實例,對改變的配置信息重新加載。本發明能在程序運行過程中動態的 加載配置文件信息,使得程序行為隨著配置文件的修改即時生效。
圖1為本發明所述線程類實例、監聽類實例以及配置文件夾間的連接關係示意 圖;圖2為本發明所述控制方法的流程圖。
具體實施例方式下面結合附圖和實施例進一步說明本發明的技術方案。參見圖1和圖2,圖1顯示了線程類實例、監聽類實例以及配置文件夾間的連接 關係100,圖中包括了 4個監聽類實例和一個線程類實例以及配置文件夾的連接關係。圖 2顯示了一種程序開發過程中的配置文件控制方法200,包括以下步驟201、建立一存放所述配置文件的文件夾。
創建一個專門用於存放配置文件的文件夾。
202、建立一線程類實例,在每一預定時間檢查掃描所述文件夾中的信息是否發 生變化,若是則轉下步驟。所述步驟202使用Singleton (單例)模式建立所述線程類實例Directory Watcher,
其啟動一個單獨的線程,在每一預定時間對所述文件夾進行檢查掃描。這個線程類使用 Observer(觀察者)模式,可以接受多個監聽類實例,該線程類每隔一定時間運行一次, 來判斷該文件夾中是否發生改變。203、通知監聽所述配置文件變化的監聽類實例,對所述文件夾中改變的配置文 件信息重新加載。所述線程類實例Directory Watcher和監聽類實例Listener使用觀察者模式,在所述
線程類實例檢查掃描到所述文件夾中的信息有改變時,對所述配置文件信息重新加載。需 要動態加載配置文件的地方,聲明實現了監控接口,然後將該實例註冊到Directory Watcher 中,被DirectoryWatcher實例通知配置文件改變時,根據需要程序配置。作為一實施例,所述步驟202和步驟203具體進一步包括以下步驟Si、若所述文件夾的前修改時間快照(命名為prevSnap)為空,則認為程序剛啟 動,對所述文件夾去一個快照,通知監聽類實例監控已開始,跳過以下步驟,等待下一 次線程運行;否則,繼續執行步驟S2 ;S2、對當前的所述文件夾取修改時間快照(命名為current Snap),並比較前後兩 個快照若修改時間快照中的元素不在前修改時間快照中,則認為其為新添加的元素, 通知監控類實例添加新配置文件消息;若修改時間快照中的元素在前修改時間快照中, 則繼續判斷該文件的上次修改時間與前修改時間快照中的上次修改時間是否一樣,不一 樣則表示該配置文件已修改,通知監聽類實例修改配置文件信息;若前修改時間快照中 的元素不在修改時間快照中,則認為該配置文件已被刪除,通知監控類實例該配置文件 已被刪除。S3、將修改時間快照賦值給前修改時間快照。另一方面,本發明還提供一種程序開發過程中的配置文件控制裝置,包括存儲模塊,用以通過一文件夾存放所述配置文件。掃描模塊,用以建立一線程類實例,使其在每一預定時間檢查掃描所述文件夾 中的信息是否發生變化。所述掃描模塊使用單例模式建立所述線程類實例,其啟動一個 單獨的線程,在每一預定時間對所述文件夾進行檢查掃描。執行模塊,用以當所述文件夾中的信息發生變化時,通知監聽所述配置文件變 化的監聽類實例,對所述文件夾中改變的配置文件信息重新加載。作為一實施例,所述線程類實例和監聽類實例使用觀察者模式,在所述線程類 實例檢查掃描到所述文件夾中的信息有改變時,對所述配置文件信息重新加載。需要指出的是,本發明所述的一種程序開發過程中的配置文件控制裝置和一種 程序開發過程中的配置文件控制方法200,兩者在原理和實施例上是相同或類似的,故兩 者存在的重複部分不再贅述。本技術領域中的普通技術人員應當認識到,以上的實施例僅是用來說明本發 明,而並非用作為對本發明的限定,只要在本發明的實質精神範圍內,對以上實施例的 變化、變型都將落在本發明的權利要求書範圍內。
權利要求
1.一種程序開發過程中的配置文件控制方法,其特徵在於,包括以下步驟1.1、建立一存放所述配置文件的文件夾;1.2、建立一線程類實例,在每一預定時間檢查掃描所述文件夾中的信息是否發生變 化,若是則轉下步驟;1.3、通知監聽所述配置文件變化的監聽類實例,對所述文件夾中改變的配置文件信 息重新加載。
2.如權利要求1所述的方法,其特徵在於,所述步驟1.2使用單例模式建立所述線程 類實例,其啟動一個單獨的線程,在每一預定時間對所述文件夾進行檢查掃描。
3.如權利要求2所述的方法,其特徵在於,所述線程類實例和監聽類實例使用觀察者 模式,在所述線程類實例檢查掃描到所述文件夾中的信息有改變時,對所述配置文件信 息重新加載。
4.如權利要求1至3任一項所述的方法,其特徵在於,所述步驟1.2和步驟1.3還包 括以下步驟4.1、若所述文件夾的前修改時間快照為空,則認為程序剛啟動,對所述文件夾去一 個快照,通知監聽類實例監控已開始,跳過以下步驟,等待下一次線程運行;否則,繼 續執行步驟4.2 ;4.2、對當前的所述文件夾取修改時間快照,並比較前後兩個快照若修改時間快照 中的元素不在前修改時間快照中,則認為其為新添加的元素,通知監控類實例添加新配 置文件消息;若修改時間快照中的元素在前修改時間快照中,則繼續判斷該文件的上次 修改時間與前修改時間快照中的上次修改時間是否一樣,不一樣則表示該配置文件已修 改,通知監聽類實例修改配置文件信息;若前修改時間快照中的元素不在修改時間快照 中,則認為該配置文件已被刪除,通知監控類實例該配置文件已被刪除。4.3、將修改時間快照賦值給前修改時間快照。
5.—種程序開發過程中的配置文件控制裝置,其特徵在於,包括存儲模塊,用以通過一文件夾存放所述配置文件;掃描模塊,用以建立一線程類實例,使其在每一預定時間檢查掃描所述文件夾中的 信息是否發生變化;執行模塊,用以當所述文件夾中的信息發生變化時,通知監聽所述配置文件變化的 監聽類實例,對所述文件夾中改變的配置文件信息重新加載。
6.如權利要求5所述的裝置,其特徵在於,所述掃描模塊使用單例模式建立所述線程 類實例,其啟動一個單獨的線程,在每一預定時間對所述文件夾進行檢查掃描。
7.如權利要求6所述的裝置,其特徵在於,所述線程類實例和監聽類實例使用觀察者 模式,在所述線程類實例檢查掃描到所述文件夾中的信息有改變時,對所述配置文件信 息重新加載。
8.如權利要求5至7任一項所述的裝置,其特徵在於,所述掃描模塊建立的線程類實 例包括以下工作步驟8.1、若所述文件夾的前修改時間快照為空,則認為程序剛啟動,對所述文件夾去一 個快照,通知監聽類實例監控已開始,跳過以下步驟,等待下一次線程運行;否則,繼 續執行步驟8.2 ;[8.2、對當前的所述文件夾取修改時間快照,並比較前後兩個快照若修改時間快照 中的元素不在前修改時間快照中,則認為其為新添加的元素,通知監控類實例添加新配 置文件消息;若修改時間快照中的元素在前修改時間快照中,則繼續判斷該文件的上次 修改時間與前修改時間快照中的上次修改時間是否一樣,不一樣則表示該配置文件已修 改,通知監聽類實例修改配置文件信息;若前修改時間快照中的元素不在修改時間快照 中,則認為該配置文件已被刪除,通知監控類實例該配置文件已被刪除。[8.3、將修改時間快照賦值給前修改時間快照。
全文摘要
本發明揭示了一種程序開發過程中的配置文件控制方法及裝置,建立一個專門存放配置文件的文件夾,使用單例模式建立一線程類實例,並實現線程方法,每隔一段時間檢查一次該文件夾中的信息是否發生變化,要是發生變化通知需要監聽配置文件變化的監聽類實例,對改變的配置信息重新加載。本發明能在程序運行過程中動態的加載配置文件信息,使得程序行為隨著配置文件的修改即時生效。
文檔編號G06F9/44GK102012807SQ20101025804
公開日2011年4月13日 申請日期2010年8月19日 優先權日2010年8月19日
發明者謝永堤 申請人:上海酷吧信息技術有限公司