新四季網

基於多進程的全局設置方法及系統的製作方法

2023-05-30 19:24:31

專利名稱:基於多進程的全局設置方法及系統的製作方法
基於多進程的全局設置方法及系統
技術領域:
本發明涉及計算機技術,尤其涉及一種基於多進程的全局設置方法及系統。背景技術:
全局設置是指在具有多進程的軟體中,對軟體的基本屬性進行設置。在具有多處理進程的軟體中,通常包括主進程和子進程,其中主進程是軟體實體,實現軟體的大部分功能,子進程通常為一些輔助類的程序,輔助主進程進行一些單獨的功能。然而,傳統的全局設置方法往往通過某一個進程(例如主進程)來進行全局設置,多個進程之間的設置並不能實現同步。例如,影像軟體的主進程為影像主程序,通過影像設置功能進行全局設置(如設置窗口顯示方式、圖片播放比例、滑鼠滾輪設置等),其子進程為影像查看器。傳統的這種影像軟體,僅能通過影像主程序的影像設置功能來進行全局設置,而影像查看器本身並沒有設置功能。也有一些影像查看器有部分設置功能,但其設置並不能與主進程之間實現同

少ο

發明內容基於此,有必要提供一種能夠實現進程之間同步設置的基於多進程的全局設置方法。一種基於多進程的全局設置方法,包括以下步驟第一進程讀取配置文件,將配置文件中的設置信息加入內存;通過第一進程的用戶界面進行全局設置;根據所述全局設置更改內存中的數據;將更改的內存數據寫入配置文件中;第二進程根據更新後的配置文件共享第一進程的全局設置。優選的,所述第一進程為主進程,所述第二進程為子進程;所述將更改的內存數據寫入配置文件中的步驟為當主進程全局設置的對象為子進程的設置對象時,主進程將更改的內存數據寫入主進程的配置文件及子進程的配置文件中。優選的,所述第二進程根據更新後的配置文件共享第一進程的全局設置的步驟為主進程通知子進程,子進程讀取所述子進程的配置文件,將所述子進程的配置文件中的設置信息加入內存,根據內存中的數據刷新子進程的用戶界面。優選的,所述第一進程為子進程,所述第二進程為主進程;所述將更改後的內存數據寫入配置文件中的步驟為將更改後的內存數據寫入子進程的配置文件中。優選的,所述第二進程根據更新後的配置文件共享第一進程的全局設置的步驟為
子進程通知主進程,主進程讀取所述子進程的配置文件,將所述子進程的配置文件中的設置信息加入內存,根據內存中的數據刷新主進程的用戶界面。此外,還有必要提供一種能夠實現進程之間同步設置的基於多進程的全局設置系統。一種基於多進程的全局設置系統,包括相互通信的第一進程和第二進程,所述第一進程包括第一信息獲取模塊,讀取配置文件,將配置文件中的設置信息加入內存;第一設置模塊,通過第一進程的用戶界面進行全局設置;第一更新模塊,根據所述全局設置更改內存中的數據,將更改的內存數據寫入配置文件中;所述第二進程根據更新後的配置文件共享第一進程的全局設置。優選的,所述第一進程為主進程,所述第二進程為子進程;所述第一更新模塊用於當主進程全局設置的對象為子進程的設置對象時,將更改的內存數據寫入主進程的配置文件及子進程的配置文件中。優選的,所述第一進程還包括通信模塊,當主進程全局設置的對象為子進程的設置對象時通知子進程;所述第二進程包括第二信息獲取模塊,讀取所述子進程的配置文件,將所述子進程的配置文件中的設置信息加入內存;第二設置模塊,根據內存中的數據刷新子進程的用戶界面。優選的,所述第一進程為子進程,所述第二進程為主進程;所述第一更新模塊用於將更新後的內存數據寫入子進程的配置文件中。優選的,所述第一進程還包括通信模塊,在所述第一更新模塊將更新後的內存數據寫入子進程的配置文件後通知主進程;所述第二進程包括第二信息獲取模塊,讀取所述子進程的配置文件,將所述子進程的配置文件中的設置信息加入內存;第二設置模塊,根據內存中的數據刷新主進程的用戶界面。上述基於多進程的全局設置方法及系統,第一進程的全局設置實時更新在配置文件中,通過更新後的配置文件,第二進程對第一進程的全局設置實現共享,從而能在多個進程之間實現同步設置。

圖1為第一實施例所提供的的基於多進程的全局設置方法的流程圖;圖2為第二實施例所提供的基於多進程的全局設置方法的流程圖;圖3為第三實施例所提供的基於多進程的全局設置方法的流程圖;圖4為第四實施例所提供的基於多進程的全局設置系統的結構示意圖;圖5為第五實施例所提供的基於多進程的全局設置系統的結構示意圖6為QQ影像的全局設置的示意圖。
具體實施方式在第一實施例中,如圖1所示,一種基於多進程的全局設置方法包括步驟S102,第一進程讀取配置文件,將配置文件中的設置信息加入內存。在Windows系統中,INI文件為系統配置文件。配置文件是持久化的數據,存儲在磁碟中。第一進程進行全局設置前需進行數據初始化,即從磁碟中讀取配置文件,將配置文件中的設置信息在第一進程的內存空間中複製一個映像。步驟S104,通過第一進程的用戶界面進行全局設置。第一進程啟動全局設置,第一進程的用戶界面從第一進程的內存中間中查詢各種需展示的信息,將查詢到的信息初始化保存在用戶界面數據集中。步驟S106,根據全局設置更改內存中的數據。當通過第一進程的用戶界面進行全局設置後,改變了設置內容,用戶界面數據集發生變化,則根據全局設置更改內存中的數據。步驟S108,將更改的內存數據寫入配置文件中。如果內存中的數據有變化,則寫入到配置文件中,能保證磁碟中的配置文件的實時更新,防止軟體程序因為非法操作關閉而導致之前的設置信息丟失。步驟S110,第二進程根據更新後的配置文件共享第一進程的全局設置。由於第一進程的全局設置實時更新在配置文件中,通過更新後的配置文件,第二進程對第一進程的全局設置實現共享,從而能在多個進程之間實現同步設置。在第二實施例中,如圖2所示,該方法流程示出了主進程設置,子進程響應的全局設置方法,具體包括以下步驟步驟S202,主進程讀取配置文件,將配置文件中的設置信息加入內存。通常,主進程為軟體的主程序,是軟體的主要實體,實現軟體大部分的功能。子進程為一些輔助類的程序,實現一些輔助的功能,被主程序調用。主進程可以查看所有子進程的配置文件,而子進程只能查看自身的配置文件,不能查看主進程和其他子進程的配置文件。該實施例中,步驟S202的具體過程是主進程讀取主進程的配置文件,將配置文件中的設置信息加入主進程的內存空間。步驟S204,通過主進程的用戶界面進行全局設置。步驟S206,根據主進程的全局設置更改內存中的數據。用戶改變了主進程的全局設置內容後,主進程的用戶界面數據集發生變化,根據全局設置的內容更改主進程的內存空間中的數據。步驟S208,判斷主進程全局設置的對象是否為子進程的設置對象,若是,則進入步驟S210,否則進入步驟S218。步驟S210,主進程將更改的內存數據寫入主進程的配置文件及子進程的配置文件中。由於主進程全局設置的對象也是子進程的設置對象,主進程具有子進程的配置文件的查看權限,因此可將主進程的內存空間中更改的數據寫入主進程配置文件,並寫入子進程的配置文件,主進程和子進程的配置文件都進行刷新。步驟S212,主進程通知子進程。該實施例中,主進程利用消息傳遞的方式通知子進程其設置內容發生變化。也可以通過管道、剪貼板、共享內存、文件映射等方式實現進程之間的通信。步驟S214,子進程讀取子進程的配置文件,將子進程的配置文件中的設置信息加入內存。子進程在收到主進程的通知後,讀取磁碟中的子進程的配置文件,獲取該配置文件中的設置信息,加入到子進程的內存空間中。步驟S216,根據內存中的數據刷新子進程的用戶界面。子進程獲取其內存空間中的數據,根據內存空間中的數據刷新用戶界面。由於子進程的配置文件是根據主進程的全局設置實時更新的配置文件,子進程根據該配置文件進行自身設置的更新,子進程刷新用戶界面後即可執行設置功能,實現了主進程與子進程之間的同步設置。步驟S218,主進程將更改的內存數據寫入主進程的配置文件中。當主進程全局設置的對象不是子進程的設置對象時,則更新自身的配置文件即可,主進程直接執行設置功能。下面以一個具體的實例說明第二實施例的具體過程,如圖6所示,該實例中,主進程為QQ影像主程序,其子進程為QQ影像查看器,在QQ影像主程序中通過選項對QQ影像進行設置,例如,將滑鼠滾輪設置為圖片縮放,即,滑鼠滾輪滑動,則圖片進行縮放。由於該設置也是針對QQ影像查看器的設置,因此影像查看器中也相應的會在右鍵滑鼠的設置中將單圖查看設置為滑鼠滾輪為縮放。在第三實施例中,如圖3所示,該方法流程示出了子進程設置,主進程刷新的全局設置方法,具體包括以下步驟步驟S302,子進程讀取配置文件,將配置文件中的設置信息加入內存。子進程只具有查看自身配置文件的權限,因此子進程讀取自身的配置文件,獲取該配置文件中的設置信息,加入子進程的內存空間。步驟S304,通過子進程的用戶界面進行全局設置。步驟S306,根據子進程的全局設置更改內存數據。用戶啟動子進程的設置功能後,子進程的用戶界面從子進程的內存空間中查詢各種需要展示的信息,並將這些信息初始化保存在用戶界面數據集,當子進程的全局設置內容發生變化,則用戶界面數據集發生變化,根據設置的內容更改子進程的內存空間中的數據。步驟S308,將更改後的內存數據寫入子進程的配置文件中。子進程的內存空間中的數據更新,則實時將更新的數據寫入子進程的配置文件中,能有效防止軟體程序由於非法操作關閉導致之前的設置信息丟失。步驟S310,子進程通知主進程。該實施例中,子進程利用消息傳遞的方式通知主進程其設置內容發生變化。也可以通過管道、剪貼板、共享內存、文件映射等方式實現進程之間的通信。步驟S312,主進程讀取子進程的配置文件,將子進程的配置文件中的設置信息加入內存。由於主進程具有所有配置文件的查看權限,因此可以讀取子進程的配置文件,獲取子進程的配置文件中的設置信息,加入主進程的內存空間中。步驟S314,根據內存中的數據刷新主進程的用戶界面。主進程的用戶界面在主進程的內存空間查詢需要展示的信息,根據內存空間中的數據刷新用戶界面。因此,當子進程進行全局設置時,主進程根據子進程的設置刷新用戶界面,實現了主進程與子進程之間同步設置。下面以一個具體的實例說明第三實施例的具體過程,如圖6所示,該實例中,主進程為QQ影像主程序,其子進程為QQ影像查看器,在QQ影像查看器中能通過點擊滑鼠右鍵彈出選項對QQ影像查看器進行設置,例如在影像查看器的右鍵滑鼠的設置中將單圖查看設置為滑鼠滾輪為縮放,由於QQ影像主程序能查看子進程QQ影像查看器的配置文件,因此能獲取QQ影像查看器的配置,並刷新QQ影像的用戶界面。如圖6所示,QQ影像設置選項會相應的將滑鼠滾輪設置為圖片縮放。在第四實施例中,如圖4所示,一種基於多進程的全局設置系統,該系統包括相互通信的第一進程10和第二進程20,其中,第一進程10包括第一信息獲取模塊110用於讀取配置文件,將配置文件中的配置信息加入內存。第一進程10進行全局設置前需進行數據初始化,即從磁碟中讀取配置文件,將配置文件中的設置信息在第一進程10的內存空間中複製一個映像。第一設置模塊120用於通過第一進程10的用戶界面進行全局設置。第一更新模塊130用於根據全局設置更改內存中的數據,將更改的數據寫入配置文件中。當通過第一進程10的用戶界面進行全局設置後,改變了設置內容,用戶界面數據集發生變化,則根據全局設置更改內存中的數據,並將更改的內存數據寫入到配置文件中。第二進程20根據更新後的配置文件共享第一進程10的全局設置。由於第一進程10的全局設置實時更新在配置文件中,通過更新後的配置文件,第二進程20對第一進程10的全局設置實現共享,從而在多個進程之間實現同步設置。在一個實施例中,第一進程為主進程,所述第二進程為子進程。第一更新模塊130用於當主進程全局設置的對象為子進程的設置對象時,將更改的內存數據寫入主進程的配置文件及子進程的配置文件中。如圖5所示,該實施例中,第一進程10還包括通信模塊140,用於當主進程全局設置的對象為子進程的設置對象時通知子進程。第二進程20包括第二信息獲取模塊210,用於讀取子進程的配置文件,將子進程的配置文件中的設置信息加入內存。第二設置模塊220,用於根據內存中的數據刷新子進程的用戶界面。在另一個實施例中,第一進程為子進程,所述第二進程為主進程。第一更新模塊130用於將更新後的內存數據寫入子進程的配置文件中。如圖5所示,該實施例中,第一進程10包括通信模塊140,用於在第一更新模塊130將更新後的內存數據寫入子進程的配置文件後通知主進程。第二進程20包括第二信息獲取模塊210用於讀取所述子進程的配置文件,將子進程的配置文件中的設置信息加入內存;第二設置模塊220用於根據內存中的數據刷新主進程的用戶界面。以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但並不能因此而理解為對本發明專利範圍的限制。應當指出的是,對於本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬於本發明的保護範圍。因此,本發明專利的保護範圍應以所附權利要求為準。
權利要求
1.一種基於多進程的全局設置方法,包括以下步驟第一進程讀取配置文件,將配置文件中的設置信息加入內存;通過第一進程的用戶界面進行全局設置;根據所述全局設置更改內存中的數據;將更改的內存數據寫入配置文件中;第二進程根據更新後的配置文件共享第一進程的全局設置。
2.根據權利要求1所述的基於多進程的全局設置方法,其特徵在於,所述第一進程為主進程,所述第二進程為子進程;所述將更改的內存數據寫入配置文件中的步驟為當主進程全局設置的對象為子進程的設置對象時,主進程將更改的內存數據寫入主進程的配置文件及子進程的配置文件中。
3.根據權利要求2所述的基於多進程的全局設置方法,其特徵在於,所述第二進程根據更新後的配置文件共享第一進程的全局設置的步驟為主進程通知子進程,子進程讀取所述子進程的配置文件,將所述子進程的配置文件中的設置信息加入內存,根據內存中的數據刷新子進程的用戶界面。
4.根據權利要求1所述的基於多進程的全局設置方法,其特徵在於,所述第一進程為子進程,所述第二進程為主進程;所述將更改後的內存數據寫入配置文件中的步驟為將更改後的內存數據寫入子進程的配置文件中。
5.根據權利要求4所述的基於多進程的全局設置方法,其特徵在於,所述第二進程根據更新後的配置文件共享第一進程的全局設置的步驟為子進程通知主進程,主進程讀取所述子進程的配置文件,將所述子進程的配置文件中的設置信息加入內存,根據內存中的數據刷新主進程的用戶界面。
6.一種基於多進程的全局設置系統,其特徵在於,包括相互通信的第一進程和第二進程,所述第一進程包括第一信息獲取模塊,讀取配置文件,將配置文件中的設置信息加入內存;第一設置模塊,通過第一進程的用戶界面進行全局設置;第一更新模塊,根據所述全局設置更改內存中的數據,將更改的內存數據寫入配置文件中;所述第二進程根據更新後的配置文件共享第一進程的全局設置。
7.根據權利要求6所述的基於多進程的全局設置系統,其特徵在於,所述第一進程為主進程,所述第二進程為子進程;所述第一更新模塊用於當主進程全局設置的對象為子進程的設置對象時,將更改的內存數據寫入主進程的配置文件及子進程的配置文件中。
8.根據權利要求7所述的基於多進程的全局設置系統,其特徵在於,所述第一進程還包括通信模塊,當主進程全局設置的對象為子進程的設置對象時通知子進程;所述第二進程包括第二信息獲取模塊,讀取所述子進程的配置文件,將所述子進程的配置文件中的設置信息加入內存;第二設置模塊,根據內存中的數據刷新子進程的用戶界面。
9.根據權利要求6所述的基於多進程的全局設置系統,其特徵在於,所述第一進程為子進程,所述第二進程為主進程;所述第一更新模塊用於將更新後的內存數據寫入子進程的配置文件中。
10.根據權利要求9所述的基於多進程的全局設置系統,其特徵在於,所述第一進程還包括通信模塊,在所述第一更新模塊將更新後的內存數據寫入子進程的配置文件後通知主進程;所述第二進程包括第二信息獲取模塊,讀取所述子進程的配置文件,將所述子進程的配置文件中的設置信息加入內存;第二設置模塊,根據內存中的數據刷新主進程的用戶界面。
全文摘要
一種基於多進程的全局設置方法,包括以下步驟第一進程讀取配置文件,將配置文件中的設置信息加入內存;通過第一進程的用戶界面進行全局設置;根據所述全局設置更改內存中的數據;將更改的內存數據寫入配置文件中;第二進程根據更新後的配置文件共享第一進程的全局設置。採用上述方法,能實現多進程之間同步設置。此外,還提供一種基於多進程的全局設置系統。
文檔編號G06F9/46GK102567081SQ20101057770
公開日2012年7月11日 申請日期2010年12月7日 優先權日2010年12月7日
發明者楊洋, 陳棟, 黃飛躍 申請人:騰訊科技(深圳)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀