新四季網

一種程序啟停時模塊間運行依賴的消除方法

2023-05-29 20:57:16

一種程序啟停時模塊間運行依賴的消除方法
【專利摘要】本發明提供一種程序啟停時模塊間運行依賴的消除方法,包括以下步驟:提供模塊私有資源初始化接口和模塊私有線程啟動接口;提供模塊私有資源釋放接口和模塊私有線程停止接口;程序啟動時,先調用各模塊的私有資源初始化接口,然後調用各模塊的私有線程啟動接口;程序停止時,先調用各模塊的私有線程停止接口,然後調用各模塊的私有資源釋放接口。本發明提供一種程序啟停時模塊間運行依賴的消除方法,通過確立模塊的啟動和停止接口形式、程序的啟動和停止調用方式來解決運行依賴問題。
【專利說明】一種程序啟停時模塊間運行依賴的消除方法

【技術領域】
[0001]本發明涉及一種消除方法,具體涉及一種程序啟停時模塊間運行依賴的消除方法。

【背景技術】
[0002]對於模塊啟動和停止的接口封裝,傳統方法都提供一個啟動接口,一個停止接口。其中,啟動接口包括模塊的私有資源創建和線程啟動(如果存在),停止接口包括模塊的線程停止(如果存在)和私有資源釋放。
[0003]現有針對模塊啟動和停止的接口封裝模式,容易導致存在多個運行依賴模塊的程序無法正常啟動和停止。
[0004]假設存在運行依賴的兩個模塊moduleA和moduleB,如果moduleA先停止,將導致moduleB無法運行並會因為moduleB訪問moduleA的資源而崩潰;先停止moduleB,則會導致moduleA無法訪問moduleB資源而崩潰。對於程序的啟動流程,存在同樣問題。


【發明內容】

[0005]為了克服上述現有技術的不足,本發明提供一種程序啟停時模塊間運行依賴的消除方法,通過確立模塊的啟動和停止接口形式、程序的啟動和停止調用方式來解決運行依賴問題。
[0006]為了實現上述發明目的,本發明採取如下技術方案:
[0007]本發明提供一種程序啟停時模塊間運行依賴的消除方法,所述方法包括以下步驟:
[0008]步驟1:提供模塊私有資源初始化接口和模塊私有線程啟動接口 ;
[0009]步驟2:提供模塊私有資源釋放接口和模塊私有線程停止接口 ;
[0010]步驟3:程序啟動時,先調用各模塊的私有資源初始化接口,然後調用各模塊的私有線程啟動接口;
[0011]步驟4:程序停止時,先調用各模塊的私有線程停止接口,然後調用各模塊的私有資源釋放接口。
[0012]所述步驟I中,設moduleA表示模塊,如果模塊存在私有資源和私有線程,則接口需提供兩個,基本形式分別為:
[0013]moduleA_init_res O ,實現模塊moduleA的私有資源創建;
[0014]moduleA_start_thd ,實現模塊 moduleA 的私有線程啟動;
[0015]如果模塊不存在私有線程,則接口只需提供一個,基本形式為:
[0016]moduleA_init_res O ,實現模塊moduleA的私有資源創建。
[0017]所述步驟2中,設moduleA表示模塊,如果模塊存在私有資源和私有線程,則接口需提供兩個,基本形式分別為:
[0018]moduleA_destroy_res O ,實現模塊 moduleA 的私有資源釋放;
[0019]moduleA_stop_thd ,實現模塊moduleA的私有線程停止;
[0020]如果模塊不存在私有線程,則接口只需提供一個,基本形式為:
[0021]moduleA_destroy_res O ,實現模塊 moduleA 的私有資源釋放。
[0022]所述步驟3中,程序的啟動分為兩個階段:第一階段創建所有模塊需要的私有資源;第二階段啟動相關模塊的私有線程。
[0023]在第一階段中,設moduleA、moduleB、moduleC均表不模塊,如果各個模塊存在私有資源,則接口的基本形式分別為:
[0024]moduleA_init_res O ,實現模塊moduleA的私有資源創建;
[0025]moduleB_init_res O ,實現模塊moduleB的私有資源創建;
[0026]moduleC_init_res O ,實現模塊moduleC的私有資源創建;
[0027]在第二階段,設moduleA、moduleB、moduleC均表不模塊,如果各個模塊存在私有線程,則接口的基本形式分別為:
[0028]moduleA_start_thd ,實現模塊 moduleA 的私有線程啟動;
[0029]moduleB_start_thd ,實現模塊 moduleB 的私有線程啟動;
[0030]moduleC_start_thd ,實現模塊 moduleC 的私有線程啟動。
[0031]所述步驟4中,程序的停止分為兩個階段:第一階段停止相關模塊的私有線程;第二階段釋放所有模塊的私有資源。
[0032]在第一階段,設moduleA、moduleB、moduleC均表不模塊,如果各個模塊存在私有線程,則接口的基本形式分別為:
[0033]moduleA_stop_thd O ,實現模塊moduleA的私有線程停止;
[0034]moduleB_stop_thd O ,實現模塊moduleB的私有線程停止;
[0035]moduleC_stop_thd ,實現模塊moduleC的私有線程停止;
[0036]在第二階段,設moduleA、moduleB、moduleC均表不模塊,如果各個模塊存在私有資源,則接口的基本形式分別為:
[0037]moduleA_destroy_res O ,實現模塊 moduleA 的私有資源釋放;
[0038]moduleB_destroy_res O,實現模塊 moduleB 的私有資源釋放;
[0039]moduleC_destroy_res O,實現模塊 moduleC 的私有資源釋放。
[0040]與現有技術相比,本發明的有益效果在於:
[0041]本發明通過將模塊的私有線程和私有資源相區分,並要求分別提供私有線程的啟動和停止接口、私有資源的創建和釋放接口。在程序啟動時,要求確保先完成所有模塊的資源創建,然後完成所有模塊的線程啟動;在程序停止時,要求確保先完成所有模塊的線程退出,然後完成所有模塊的資源釋放。從而解決了模塊啟動和退出都將線程和私有資源綁定,導致存在運行依賴的多個模塊無法正常啟動和釋放的問題。本發明有效解決了一種分布式文件系統中,在程序啟動時,可消除模塊間相互依賴問題;在程序退出時,可避免模塊間運行依賴導致退出異常問題。

【專利附圖】

【附圖說明】
[0042]圖1是本發明實施例中程序啟停時模塊間運行依賴的消除方法流程圖;
[0043]圖2是本發明實施例中程序啟動過程中接口調用示意圖;
[0044]圖3是本發明實施例中程序停止過程中接口調用示意圖。

【具體實施方式】
[0045]下面結合附圖對本發明作進一步詳細說明。
[0046]如圖1,本發明提供一種程序啟停時模塊間運行依賴的消除方法,所述方法包括以下步驟:
[0047]步驟1:提供模塊私有資源初始化接口和模塊私有線程啟動接口 ;
[0048]步驟2:提供模塊私有資源釋放接口和模塊私有線程停止接口 ;
[0049]步驟3:程序啟動時,先調用各模塊的私有資源初始化接口,然後調用各模塊的私有線程啟動接口;
[0050]步驟4:程序停止時,先調用各模塊的私有線程停止接口,然後調用各模塊的私有資源釋放接口。
[0051]所述步驟I中,設moduleA表示模塊,如果模塊存在私有資源和私有線程,則接口需提供兩個,基本形式分別為:
[0052]moduleA_init_res O ,實現模塊moduleA的私有資源創建;
[0053]moduleA_start_thd ,實現模塊 moduleA 的私有線程啟動;
[0054]如果模塊不存在私有線程,則接口只需提供一個,基本形式為:
[0055]moduleA_init_res O ,實現模塊moduleA的私有資源創建。
[0056]所述步驟2中,設moduleA表示模塊,如果模塊存在私有資源和私有線程,則接口需提供兩個,基本形式分別為:
[0057]moduleA_destroy_res O ,實現模塊 moduleA 的私有資源釋放;
[0058]moduleA_stop_thd O ,實現模塊moduleA的私有線程停止;
[0059]如果模塊不存在私有線程,則接口只需提供一個,基本形式為:
[0060]moduleA_destroy_res O ,實現模塊 moduleA 的私有資源釋放。
[0061]如圖2,所述步驟3中,程序的啟動分為兩個階段:第一階段創建所有模塊需要的私有資源;第二階段啟動相關模塊的私有線程。
[0062]在第一階段中,設moduleA、moduleB、moduleC均表不模塊,如果各個模塊存在私有資源,則接口的基本形式分別為:
[0063]moduleA_init_res O ,實現模塊moduleA的私有資源創建;
[0064]moduleB_init_res O ,實現模塊moduleB的私有資源創建;
[0065]moduleC_init_res O ,實現模塊moduleC的私有資源創建;
[0066]在第二階段,設moduleA、moduleB、moduleC均表不模塊,如果各個模塊存在私有線程,則接口的基本形式分別為:
[0067]moduleA_start_thd ,實現模塊 moduleA 的私有線程啟動;
[0068]moduleB_start_thd ,實現模塊 moduleB 的私有線程啟動;
[0069]moduleC_start_thd ,實現模塊 moduleC 的私有線程啟動。
[0070]如圖3,所述步驟4中,程序的停止分為兩個階段:第一階段停止相關模塊的私有線程;第二階段釋放所有模塊的私有資源。
[0071]在第一階段,設moduleA、moduleB、moduleC均表不模塊,如果各個模塊存在私有線程,則接口的基本形式分別為:
[0072]moduleA—stop—thd O,實現模塊moduleA的私有線程停止;
[0073]moduleB—stop—thd O,實現模塊moduleB的私有線程停止;
[0074]moduleC—stop—thd O,實現模塊moduleC的私有線程停止;
[0075]在第二階段,設moduleA、moduleB、moduleC均表不模塊,如果各個模塊存在私有資源,則接口的基本形式分別為:
[0076]moduleA—destroy—res O,實現模塊 moduleA 的私有資源釋放;
[0077]moduleB—destroy—res O,實現模塊 moduleB 的私有資源釋放;
[0078]moduleC—destroy—res O,實現模塊 moduleC 的私有資源釋放。
[0079]最後應當說明的是:以上實施例僅用以說明本發明的技術方案而非對其限制,所屬領域的普通技術人員參照上述實施例依然可以對本發明的【具體實施方式】進行修改或者等同替換,這些未脫離本發明精神和範圍的任何修改或者等同替換,均在申請待批的本發明的權利要求保護範圍之內。
【權利要求】
1.一種程序啟停時模塊間運行依賴的消除方法,其特徵在於:所述方法包括以下步驟: 步驟1:提供模塊私有資源初始化接口和模塊私有線程啟動接口 ; 步驟2:提供模塊私有資源釋放接口和模塊私有線程停止接口 ; 步驟3:程序啟動時,先調用各模塊的私有資源初始化接口,然後調用各模塊的私有線程啟動接口; 步驟4:程序停止時,先調用各模塊的私有線程停止接口,然後調用各模塊的私有資源釋放接口。
2.根據權利要求1所述的程序啟停時模塊間運行依賴的消除方法,其特徵在於:所述步驟1中,設moduleA表示模塊,如果模塊存在私有資源和私有線程,則接口需提供兩個,基本形式分別為: moduleA_init_res ,實現模塊moduleA的私有資源創建; moduleA_start_thd,實現模塊moduleA的私有線程啟動; 如果模塊不存在私有線程,則接口只需提供一個,基本形式為: moduleA_init_res ,實現模塊moduleA的私有資源創建。
3.根據權利要求1所述的程序啟停時模塊間運行依賴的消除方法,其特徵在於:所述步驟2中,設moduleA表示模塊,如果模塊存在私有資源和私有線程,則接口需提供兩個,基本形式分別為: moduleA_destroy_res ,實現模塊moduleA的私有資源釋放; moduleA_stop_thd ,實現模塊moduleA的私有線程停止; 如果模塊不存在私有線程,則接口只需提供一個,基本形式為: moduleA_destroy_res ,實現模塊moduleA的私有資源釋放。
4.根據權利要求1所述的程序啟停時模塊間運行依賴的消除方法,其特徵在於:所述步驟3中,程序的啟動分為兩個階段:第一階段創建所有模塊需要的私有資源;第二階段啟動相關1?塊的私有線程。
5.根據權利要求4所述的程序啟停時模塊間運行依賴的消除方法,其特徵在於:在第一階段中,設moduleA、moduleB、moduleC均表不模塊,如果各個模塊存在私有資源,則接口的基本形式分別為: moduleA_init_res ,實現模塊moduleA的私有資源創建; moduleB_init_res ,實現模塊moduleB的私有資源創建; moduleC_init_res ,實現模塊moduleC的私有資源創建; 在第二階段,設moduleA、moduleB、moduleC均表不模塊,如果各個模塊存在私有線程,則接口的基本形式分別為: moduleA_start_thd ,實現模塊moduleA的私有線程啟動; moduleB_start_thd ,實現模塊moduleB的私有線程啟動; moduleC_start_thd ,實現模塊moduleC的私有線程啟動。
6.根據權利要求1所述的程序啟停時模塊間運行依賴的消除方法,其特徵在於:所述步驟4中,程序的停止分為兩個階段:第一階段停止相關模塊的私有線程;第二階段釋放所有豐吳塊的私有資源。
7.根據權利要求6所述的程序啟停時模塊間運行依賴的消除方法,其特徵在於--在第一階段,設moduleA、moduleB、moduleC均表示模塊,如果各個模塊存在私有線程,則接口的基本形式分別為: moduleA—stop—thd,實現模塊moduleA的私有線程停止; moduleB—stop—thd,實現模塊moduleB的私有線程停止; moduleC—stop—thd,實現模塊moduleC的私有線程停止; 在第二階段,設moduleA、moduleB、moduleC均表不模塊,如果各個模塊存在私有資源,則接口的基本形式分別為: moduleA—destroy—res ,實現模塊moduleA的私有資源釋放; moduleB—destroy—res ,實現模塊moduleB的私有資源釋放; moduleC—destroy—res ,實現模塊moduleC的私有資源釋放。
【文檔編號】G06F9/44GK104267955SQ201410508681
【公開日】2015年1月7日 申請日期:2014年9月28日 優先權日:2014年9月28日
【發明者】季旻, 付根希, 郭照斌, 姜國梁, 康撼宇 申請人:曙光信息產業股份有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀