[發(fā)明專利]一種業(yè)務(wù)進程同步的方法及裝置有效
| 申請?zhí)枺?/td> | 202011192025.8 | 申請日: | 2020-10-30 |
| 公開(公告)號: | CN112162845B | 公開(公告)日: | 2023-10-13 |
| 發(fā)明(設(shè)計)人: | 楊泳;石建春;畢永東;顧德仲 | 申請(專利權(quán))人: | 北京北信源軟件股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50 |
| 代理公司: | 北京路浩知識產(chǎn)權(quán)代理有限公司 11002 | 代理人: | 張睿 |
| 地址: | 100081 北京市海淀區(qū)中關(guān)村*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 業(yè)務(wù) 進程 同步 方法 裝置 | ||
本發(fā)明實施例提供一種業(yè)務(wù)進程同步的方法以及裝置。其中,該方法包括:檢測當(dāng)前業(yè)務(wù)進程使用互斥量的時間是否超過預(yù)設(shè)的業(yè)務(wù)進程等待互斥量的時間閾值,若是,則按照預(yù)設(shè)的互斥量命名規(guī)則生成新互斥量的名稱;根據(jù)所述新互斥量的名稱調(diào)用新互斥量訪問目標(biāo)資源;其中,所述新互斥量與所述目標(biāo)資源相對應(yīng),用于協(xié)調(diào)業(yè)務(wù)進程互斥訪問所述目標(biāo)資源。采用本發(fā)明實施例公開的業(yè)務(wù)進程同步的方法,能夠有效避免系統(tǒng)中多進程同步運行時由于一個進程獲得互斥量信號后未及時釋放而導(dǎo)致整個系統(tǒng)其它進程卡死或卡頓等情況,使得各個進程順暢運行,提高了系統(tǒng)的運行效率。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,具體涉及一種業(yè)務(wù)進程同步的方法和裝置。另外,還涉及一種電子設(shè)備及非暫態(tài)計算機可讀存儲介質(zhì)。
背景技術(shù)
近年來,隨著信息技術(shù)和互聯(lián)網(wǎng)的迅猛發(fā)展,計算機中軟件系統(tǒng)的應(yīng)用越來越普遍。應(yīng)用過程中,軟件系統(tǒng)內(nèi)各個進程在實現(xiàn)同步運行時,有較多的同步操作,比如存在多個進程同步訪問共用數(shù)據(jù)資源的情況。因此引入了互斥量(又稱“互斥鎖”)的概念,分別針對系統(tǒng)數(shù)據(jù)資源設(shè)置相應(yīng)的互斥量標(biāo)記,來保證系統(tǒng)數(shù)據(jù)資源操作的完整性。這個標(biāo)記能夠保證在任一時刻,只能有一個進程訪問該系統(tǒng)數(shù)據(jù)資源。
然而,目前在多線程同步運行的環(huán)境中,通過互斥量實現(xiàn)多進程訪問共用數(shù)據(jù)資源時存在一定隱患。當(dāng)一個或多個線程等待系統(tǒng)資源,而資源又被線程本身或者其他線程占用時,比如若某個進程獲得互斥量后未釋放(發(fā)生崩潰或者退出),由于資源的占用是互斥的,會導(dǎo)致其他進程再訪問該資源時候,因為互斥量沒有信號而無限等待或超時等待,進而導(dǎo)致整個軟件系統(tǒng)出現(xiàn)卡頓或者不響應(yīng)等異常情況。因此,在多進程同步運行時,如何保障各個進程有效運行避免系統(tǒng)出現(xiàn)卡頓成為目前業(yè)界亟待解決的需要課題。
發(fā)明內(nèi)容
為此,本發(fā)明實施例提供一種業(yè)務(wù)進程同步的方法及裝置,以解決現(xiàn)有技術(shù)中存在的多進程同步運行時由于一個進程獲得互斥量信號后未及時釋放而導(dǎo)致整個系統(tǒng)其它進程卡死或卡頓等情況,進而使得系統(tǒng)運行效率較差的問題。
第一方面,本發(fā)明實施例提供一種業(yè)務(wù)進程同步的方法,包括:
檢測當(dāng)前業(yè)務(wù)進程使用互斥量的時間是否超過預(yù)設(shè)的業(yè)務(wù)進程等待互斥量的時間閾值,若是,則按照預(yù)設(shè)的互斥量命名規(guī)則生成新互斥量的名稱;
根據(jù)所述新互斥量的名稱調(diào)用新互斥量訪問目標(biāo)資源;其中,所述新互斥量與所述目標(biāo)資源相對應(yīng),用于協(xié)調(diào)業(yè)務(wù)進程互斥訪問所述目標(biāo)資源。
進一步的,所述的業(yè)務(wù)進程同步的方法,還包括:
觸發(fā)預(yù)設(shè)的主業(yè)務(wù)進程開啟,基于所述主業(yè)務(wù)進程創(chuàng)建共享內(nèi)存,并將同步用的互斥量的名稱及對應(yīng)的異常索引標(biāo)識寫入共享內(nèi)存;
其中,所述主業(yè)務(wù)進程是用于創(chuàng)建互斥量并實現(xiàn)在各個業(yè)務(wù)進程內(nèi)部監(jiān)控所述互斥量調(diào)用時間信息的程序;
基于所述主業(yè)務(wù)進程從所述共享內(nèi)存中讀取所述互斥量的名稱和所述異常索引標(biāo)識,并根據(jù)所述互斥量的名稱和所述異常索引標(biāo)識生成原始互斥量的名稱。
進一步的,所述檢測當(dāng)前業(yè)務(wù)進程使用互斥量的時間是否超過預(yù)設(shè)的業(yè)務(wù)進程等待互斥量的時間閾值,若是,則按照預(yù)設(shè)的互斥量命名規(guī)則生成新互斥量的名稱,包括:
利用所述主業(yè)務(wù)進程輪詢調(diào)用預(yù)設(shè)的等待指數(shù)對象函數(shù)來檢測當(dāng)前業(yè)務(wù)進程使用當(dāng)前互斥量的時間是否超過所述時間閾值,若是,則增加所述當(dāng)前互斥量對應(yīng)的異常索引標(biāo)識的數(shù)值,獲得目標(biāo)異常索引標(biāo)識;
基于所述主業(yè)務(wù)進程,將所述當(dāng)前互斥量的名稱和所述目標(biāo)異常索引標(biāo)識拼接得到新互斥量的名稱。
進一步的,所述根據(jù)所述新互斥量的名稱調(diào)用新互斥量訪問目標(biāo)資源,具體包括:
觸發(fā)新業(yè)務(wù)進程開啟,通過所述新業(yè)務(wù)進程讀取所述共享內(nèi)存中當(dāng)前所用互斥量對應(yīng)的實際異常索引標(biāo)識,并基于所述實際異常索引標(biāo)識生成新互斥量的名稱;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京北信源軟件股份有限公司,未經(jīng)北京北信源軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011192025.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種在有線智能網(wǎng)中實現(xiàn)直播業(yè)務(wù)的方法
- 業(yè)務(wù)路由方法、業(yè)務(wù)路由器、客戶端設(shè)備及業(yè)務(wù)網(wǎng)絡(luò)系統(tǒng)
- 一種移動業(yè)務(wù)消息路由的方法、系統(tǒng)和設(shè)備
- 業(yè)務(wù)處理方法、設(shè)備和系統(tǒng)
- 業(yè)務(wù)編排方法及裝置、業(yè)務(wù)發(fā)放方法及裝置
- 業(yè)務(wù)限流方法及業(yè)務(wù)限流裝置
- 一種信息推薦方法、裝置及存儲介質(zhì)
- 一種基于業(yè)務(wù)事件的頁面展示方法、裝置和電子設(shè)備
- 業(yè)務(wù)編排方法及裝置、業(yè)務(wù)發(fā)放方法及裝置
- 一種安全業(yè)務(wù)的定義、開發(fā)和執(zhí)行方法及系統(tǒng)





