欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多進程共享同一服務(wù)進程的方法

文檔序號:7690713閱讀:132來源:國知局
專利名稱:一種多進程共享同一服務(wù)進程的方法
技術(shù)領(lǐng)域
本發(fā)明涉及無線網(wǎng)絡(luò)管理技術(shù),尤其涉及一種多進程共享同 一服務(wù)進程的 方法。
背景技術(shù)
本地維護終端(LMT, Local Maintenance Terminal)是無線網(wǎng)絡(luò)管理中的 重要組成部分,以使用方便、部署靈活、功能強大等特點在無線網(wǎng)絡(luò)中發(fā)揮著 巨大作用。
從本質(zhì)上講,LMT最重要的功能是與基站進行通信。通信內(nèi)容包括LMT 將新的軟件版本或配置數(shù)據(jù)傳遞到基站、基站將收集的重要數(shù)據(jù)傳遞給LMT 等。通常,上述通信過程會涉及到大量數(shù)據(jù)的傳遞。現(xiàn)有數(shù)據(jù)傳遞的實現(xiàn)方式 一般通過使用文件傳輸協(xié)議(FTP, File Transfer Protocol)服務(wù)進程完成。使用 FTP服務(wù)進程一般包括如下兩種方式
一種方式是將FTP服務(wù)進程作為獨立的應(yīng)用程序進程。這種方式的缺點是 需要用戶手動啟動FTP服務(wù)進程,而且,只有在LMT搜索到系統(tǒng)中已啟動的 FTP服務(wù)進程后,才可以使用所述FTP服務(wù)進程。
另 一種方式是將FTP服務(wù)進程集成到應(yīng)用程序進程如LMT程序中。這種 方式便于程序的部署,而且,F(xiàn)TP服務(wù)進程可以隨應(yīng)用程序進程自動地啟動和 關(guān)閉。然而,在這種方式下啟動FTP服務(wù)進程時, 一般需要遍歷系統(tǒng)中的所有 進程,以查看是否已有該FTP服務(wù)進程,查找成功后才能直接使用。而當用戶 啟動多個LMT程序,常常會因端口占用而致使一些LMT程序啟動FTP服務(wù)進 程失敗。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種多進程共享同一服務(wù)進程的方 法,能夠使服務(wù)進程自動啟動和停止,并能夠解決啟動多個服務(wù)進程時端口使 用沖突問題,且啟動服務(wù)進程時無需遍歷系統(tǒng)確定是否已經(jīng)存在該服務(wù)進程, 方法簡單且易于實施。
為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的
本發(fā)明提供了 一種多進程共享同 一服務(wù)進程的方法,該方法包括
應(yīng)用程序進程確定啟動服務(wù)進程時,檢查多進程共享內(nèi)存區(qū)中服務(wù)進程狀
態(tài)是否為啟動,若是,則直接使用所述服務(wù)進程;若否,則啟動所述服務(wù)進程,
將所述服務(wù)進程的狀態(tài)標識為啟動。
其中,所述確定啟動服務(wù)進程之前,該方法進一步包括 所述應(yīng)用程序進程啟動時,確定是否存在多進程共享內(nèi)存區(qū),不存在時創(chuàng)
建多進程共享內(nèi)存區(qū),添加服務(wù)進程狀態(tài)項,并將所述服務(wù)進程的狀態(tài)標識為停止。
啟動服務(wù)進程后,該方法進一步包括
創(chuàng)建共享同 一服務(wù)進程的應(yīng)用程序進程的監(jiān)測線程,監(jiān)測到共享同 一服務(wù) 進程的所有應(yīng)用程序進程執(zhí)行完畢時,終止所述監(jiān)測線程,停止所述服務(wù)進程。 啟動服務(wù)進程后,該方法進一步包括
創(chuàng)建服務(wù)進程的監(jiān)測線程,監(jiān)測到所述服務(wù)進程運行異常時停止所述服務(wù) 進程,將所述服務(wù)進程的狀態(tài)標識為停止;重新啟動所述服務(wù)進程,將所述服 務(wù)進程的狀態(tài)標識為啟動。
該方法還包括
為所述共享同 一服務(wù)進程的應(yīng)用程序進程的監(jiān)測線程及所述服務(wù)進程的監(jiān) 測線程設(shè)置監(jiān)測周期,監(jiān)測線程在每一監(jiān)測周期到來時被觸發(fā)。 所述監(jiān)測周期為800ms、 1000ms或1200ms。
本發(fā)明所提供的多進程共享同 一服務(wù)進程的方法,服務(wù)進程可以隨應(yīng)用程序的啟動而啟動,不需遍歷系統(tǒng)中是否已經(jīng)存在該服務(wù)進程,且避免了用戶的
手動啟動;而且,服務(wù)進程啟動后,通過創(chuàng)建監(jiān)測線程來監(jiān)測是否存在使用服 務(wù)進程的應(yīng)用程序進程、或服務(wù)進程是否運行異常等,根據(jù)監(jiān)測結(jié)果而自動停 止服務(wù)進程的運行、重啟動服務(wù)進程等,方法簡便,易于實現(xiàn)。
同時,本發(fā)明所提供的多進程共享同 一進程的方法使用了多進程共享內(nèi)存 區(qū)來指示服務(wù)進程的狀態(tài),很好地解決了自動啟動多個服務(wù)進程時端口使用沖 突問題。


圖1為本發(fā)明多進程共享同一服務(wù)進程的方法流程示意圖。
具體實施例方式
本發(fā)明的基本思想是確定啟動服務(wù)進程時,根據(jù)多進程共享內(nèi)存區(qū)中服 務(wù)進程狀態(tài),確定服務(wù)進程是否啟動,如果是,則直接使用服務(wù)進程;否則, 啟動服務(wù)進程。
以下,通過具體實施例結(jié)合附圖詳細說明本發(fā)明多進程共享同 一服務(wù)進程 方法的實現(xiàn)。
圖1為本發(fā)明多進程共享同一服務(wù)進程的方法流程示意圖,如圖l所示, 該方法包4舌
步驟101:啟動應(yīng)用程序進程時,確定是否存在多進程共享內(nèi)存區(qū),如果 不存在,則執(zhí)行步驟104;如果存在,執(zhí)行步驟102。
本步驟中創(chuàng)建的所述多進程共享內(nèi)存區(qū)用于記錄服務(wù)進程狀態(tài),可以通過 設(shè)置一個服務(wù)進程狀態(tài)項完成,所述服務(wù)進程狀態(tài)項可以設(shè)置為啟動和停止兩 種狀態(tài),分別標識服務(wù)進程的狀態(tài)為啟動、停止。所述啟動和停止兩種狀態(tài)的 狀態(tài)值可以設(shè)置為有實際意義的數(shù)值,比如將啟動狀態(tài)的狀態(tài)值設(shè)置為服務(wù)進 程的進程號,它是個非零值,將停止狀態(tài)的狀態(tài)值設(shè)定為零值。這樣做就可以 直接獲得服務(wù)進程的進程號,從而使用服務(wù)進程,而不用去系統(tǒng)中搜索服務(wù)進程。
其中,具體如何啟動所述應(yīng)用程序進程、以及如何創(chuàng)建共享內(nèi)存區(qū)屬于公 知技術(shù),這里不再贅述。
步驟102:檢查多進程共享內(nèi)存區(qū)中服務(wù)進程狀態(tài)是否為啟動,如果是, 執(zhí)行步驟103;如果否,執(zhí)行步驟105。
其中,應(yīng)用程序進程創(chuàng)建所述多進程共享內(nèi)存區(qū)的同時,也會提供訪問所 述多進程共享內(nèi)存區(qū)的接口,所以,在檢查所述多進程共享內(nèi)存區(qū)時,可以使 用所述接口進行檢查。
步驟103:直接使用服務(wù)進程,當前處理流程結(jié)束。
步驟104:應(yīng)用程序進程創(chuàng)建多進程共享內(nèi)存區(qū),添加服務(wù)進程狀態(tài)項, 將所述服務(wù)進程的狀態(tài)標識為停止,執(zhí)行步驟105。
步驟105:啟動Ji良務(wù)進程,并將多進程共享內(nèi)存區(qū)中的服務(wù)進程狀態(tài)標識 為啟動,之后,分別執(zhí)行步驟106和步驟109。
步驟106:創(chuàng)建共享該服務(wù)進程的應(yīng)用程序進程監(jiān)測線程,執(zhí)行步驟107。
其中,所述應(yīng)用程序進程的監(jiān)測線程用于監(jiān)測是否存在共享該服務(wù)進程的 應(yīng)用程序進程。具體如何創(chuàng)建監(jiān)測線程,根據(jù)本發(fā)明所述方法所應(yīng)用的平臺不 同而改變,例如,如果是windows平臺,可以使用CreateThread函數(shù)來創(chuàng)建。 在各種平臺下如何創(chuàng)建監(jiān)測線程屬于公知技術(shù),這里不再贅述。
其中,所述應(yīng)用程序進程的監(jiān)測線程一般由服務(wù)進程創(chuàng)建。
步驟107:監(jiān)測是否存在共享該服務(wù)進程的應(yīng)用程序進程,如果是,繼續(xù) 進行所述監(jiān)測;否則,執(zhí)行步驟108。
其中,步驟107中,判斷是否存在共享服務(wù)進程的應(yīng)用程序進程的方法可 以為設(shè)置一個使用者列表,所述使用者列表可以由所述應(yīng)用程序進程的監(jiān)測 線程進行維護,當應(yīng)用程序進程使用服務(wù)進程時,會向服務(wù)進程發(fā)送消息,所 述應(yīng)用程序進程的監(jiān)測線程從消息中得到應(yīng)用程序進程對應(yīng)的進程號,將所述 進程號存儲于使用者列表中;當應(yīng)用程序進程的監(jiān)測線程每隔周期時間進行監(jiān) 測時,向使用者列表中的每一個應(yīng)用程序進程發(fā)消息,以判斷這些進程是否已經(jīng)退出,如果退出,則從使用者列表中把相應(yīng)的進程號刪除,如果最后使用者 列表為空,則表明當前無應(yīng)用程序進程在使用服務(wù)進程,這時,即可停止服務(wù) 進程。其中,應(yīng)用程序進程與服務(wù)進程之間如何通過所述消息進行通信屬于公 知技術(shù),這里不再贅述。
步驟108:終止監(jiān)測線程,并停止服務(wù)進程,當前處理流程結(jié)束。 其中,對于步驟107和步驟108,應(yīng)用程序進程的監(jiān)測線程在監(jiān)測是否存 在應(yīng)用程序進程時,也可以不時刻監(jiān)測,而是進行周期性監(jiān)測,即每隔一定 的時間,監(jiān)測是否存在使用服務(wù)進程的應(yīng)用程序進程,如果存在,監(jiān)測線程休 眠一定的時間,等待下一監(jiān)測周期到來時再次觸發(fā),進^"所述監(jiān)測;如果不存 在,則終止監(jiān)測線程,并停止服務(wù)進程,當前處理流程結(jié)束。進行周期性監(jiān)測 時,監(jiān)測周期的時間長度可以根據(jù)實際情況自主設(shè)定。但是,如果周期時間設(shè) 置過長,則可能所有使用該服務(wù)進程的應(yīng)用程序進程退出后,服務(wù)進程還要運 行一段時間才能夠停止,這樣,會浪費系統(tǒng)資源,實時性較低;如果周期時間 設(shè)置過短,會浪費CPU時間,但實時性較高。鑒于應(yīng)用程序進程被用戶啟動和 關(guān)閉的頻率較低,而且本發(fā)明所提供的方法對實時性要求并不太高,所以,所 述周期時間可以i殳置的相對專交長,例如,可以i殳定為800ms、 1000ms或1200ms 等。
步驟109:創(chuàng)建服務(wù)進程的監(jiān)測線程,執(zhí)行步驟IIO。
所述服務(wù)進程的監(jiān)測線程用于監(jiān)測所述服務(wù)進程是否運行異常。該監(jiān)測線 程一般由應(yīng)用程序進程創(chuàng)建,具體實現(xiàn)時,可以在每個應(yīng)用程序進程啟動時, 均創(chuàng)建該應(yīng)用程序進程所使用的服務(wù)進程的監(jiān)測線程,也可以僅由啟動服務(wù)進 程的應(yīng)用程序進程創(chuàng)建一個監(jiān)測線程,本發(fā)明不作限制。
步驟110:監(jiān)測服務(wù)進程運行是否異常,如果是,執(zhí)行步驟lll;否則,繼 續(xù)進行服務(wù)進程運行是否異常的監(jiān)測。
其中,本步驟中對服務(wù)進程運行異常的監(jiān)測,也可以進行周期性監(jiān)測,方 法與步驟104中所述周期性監(jiān)測應(yīng)用程序進程的方法相似,這里不再贅述。
步驟111:停止服務(wù)進程,將多進程共享內(nèi)存區(qū)中服務(wù)進程狀態(tài)標識為停止,并返回執(zhí)行步驟105。
其中,對于圖1所示的多進程共享同一服務(wù)進程的方法,如果并非由應(yīng)用 程序進程啟動服務(wù)進程,而是由用戶啟動服務(wù)進程時,步驟101應(yīng)修改為判 斷是否存在應(yīng)用程序進程,如果存在,執(zhí)行步驟102,否則,退出服務(wù)進程的 啟動過程。
或者,在執(zhí)行步驟110和步驟111的監(jiān)測過程中,也可以由用戶在存在服 務(wù)進程異常,直接確定重啟動服務(wù)進程;或者,希望中止服務(wù)進程時,直接確 定停止服務(wù)進程。并且,在用戶確定停止服務(wù)進程時,也可以判斷是否有其他 應(yīng)用程序進程在使用服務(wù)進程,如果有,向用戶進行提示,以確認是否停止服 務(wù)進程。
圖l所示的方法中,所述服務(wù)進程可以為FTP服務(wù)進程。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權(quán)利要求
1. 一種多進程共享同一服務(wù)進程的方法,其特征在于,該方法包括應(yīng)用程序進程確定啟動服務(wù)進程時,檢查多進程共享內(nèi)存區(qū)中服務(wù)進程狀態(tài)是否為啟動,若是,則直接使用所述服務(wù)進程;若否,則啟動所述服務(wù)進程,將所述服務(wù)進程的狀態(tài)標識為啟動。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定啟動服務(wù)進程之前, 該方法進一步包括所述應(yīng)用程序進程啟動時,確定是否存在多進程共享內(nèi)存區(qū),不存在時創(chuàng) 建多進程共享內(nèi)存區(qū),添加服務(wù)進程狀態(tài)項,并將所述服務(wù)進程的狀態(tài)標識為 停止。
3、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,啟動服務(wù)進程后,該方 法進一步包括創(chuàng)建共享同 一服務(wù)進程的應(yīng)用程序進程的監(jiān)測線程,監(jiān)測到共享同 一服務(wù) 進程的所有應(yīng)用程序進程執(zhí)行完畢時,終止所述監(jiān)測線程,停止所述服務(wù)進程。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,啟動服務(wù)進程后,該方法進 一步包括創(chuàng)建服務(wù)進程的監(jiān)測線程,監(jiān)測到所述服務(wù)進程運行異常時停止所述服務(wù) 進程,將所述服務(wù)進程的狀態(tài)標識為停止;重新啟動所述服務(wù)進程,將所述服 務(wù)進程的狀態(tài)標識為啟動。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,該方法還包括為所述共享同 一服務(wù)進程的應(yīng)用程序進程的監(jiān)測線程及所述服務(wù)進程的監(jiān) 測線程設(shè)置監(jiān)測周期,監(jiān)測線程在每一監(jiān)測周期到來時被觸發(fā)。
6、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述監(jiān)測周期為800ms、 1000ms或1200ms。
全文摘要
本發(fā)明公開了一種多進程共享同一服務(wù)進程的方法,該方法包括應(yīng)用程序進程確定啟動服務(wù)進程時,檢查多進程共享內(nèi)存區(qū)中服務(wù)進程狀態(tài)是否為啟動,若是則直接使用所述服務(wù)進程;若否則啟動所述服務(wù)進程,將所述服務(wù)進程的狀態(tài)標識為啟動。本發(fā)明所提供的多進程共享同一服務(wù)進程的方法,能夠使服務(wù)進程自動啟動和停止,并能夠解決啟動多個服務(wù)進程時端口使用沖突問題,且啟動服務(wù)進程時無需遍歷系統(tǒng)確定是否已經(jīng)存在該服務(wù)進程,方法簡單且易于實施。
文檔編號H04L29/08GK101299677SQ20081008929
公開日2008年11月5日 申請日期2008年4月30日 優(yōu)先權(quán)日2008年4月30日
發(fā)明者岳亞力, 瓊 李 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
伊川县| 景洪市| 安徽省| 驻马店市| 津市市| 宁蒗| 彰武县| 凤山市| 阳曲县| 五莲县| 房产| 台东市| 饶河县| 九江市| 乌拉特中旗| 山东省| 都兰县| 东乡| 衡阳县| 本溪| 沅江市| 嘉祥县| 封开县| 宝鸡市| 阜新市| 台北县| 绍兴市| 连山| 青龙| 饶平县| 嘉鱼县| 金昌市| 平利县| 昌图县| 伊宁县| 武陟县| 富平县| 固镇县| 德清县| 奉化市| 施甸县|