[發明專利]數據處理方法、裝置、電子設備及計算機存儲介質在審
| 申請號: | 202111617693.5 | 申請日: | 2021-12-27 |
| 公開(公告)號: | CN114296962A | 公開(公告)日: | 2022-04-08 |
| 發明(設計)人: | 賈建容;郭忍東 | 申請(專利權)人: | 阿里巴巴新加坡控股有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F16/16;G06F16/17;G06F16/176 |
| 代理公司: | 北京合智同創知識產權代理有限公司 11545 | 代理人: | 李杰;趙海嬌 |
| 地址: | 新加坡珊頓道*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據處理 方法 裝置 電子設備 計算機 存儲 介質 | ||
本申請實施例提供了一種數據處理方法、裝置、電子設備及計算機存儲介質。數據處理方法,包括:通過加載有文件管理庫的主進程,向操作系統發送請求打開目標文件的第一打開請求,并獲取所述操作系統返回的、打開的所述目標文件的文件描述符,所述主進程對應多個子進程;若通過所述主進程接收到對應的子進程發送的、請求打開所述目標文件的第二打開請求,則將所述主進程對應的文件描述符發送至所述子進程,以使所述主進程和所述子進程共享同一所述文件描述符。該方法可以減少資源占用。
技術領域
本申請實施例涉及計算機技術領域,尤其涉及一種數據處理方法、裝置、電子設備及計算機存儲介質。
背景技術
隨著技術的發展,服務器等設備的計算性能和CPU核數也越來越多,通常多達16個及以上的核心。運行在服務器上的服務如基于nodejs(nodejs是一種基于C++語言的JS 運行環境,也就是JS語言解釋器)的文件管理服務,為了更好地利用CPU的多核計算能力,通常會使用多進程方式提供服務。例如,文件管理服務創建一個主線程和多個與主線程連接的子線程,多個子線程使用CPU的不同核的算力對外提供服務,這樣就可以充分利用多核的計算能力。
但是這種文件管理服務存在的問題在于:在對外提供服務的過程中,可能多個子進程需要處理同一目標文件(如日志文件),例如,子進程A接收到向日志文件中寫入數據的指令,需要打開日志文件,同時,子進程B接收到讀取日志文件中內容的指令,也需要打開日志文件,在現有的Linux或Unix操作系統中,每個子進程會獨立地請求打開一次該日志文件,由于在Linux或Unix操作系統中使用文件描述符(file descriptor) 來訪問文件,在讀寫現存文件或者新建文件時操作系統都會為文件分配對應的文件描述符,且操作系統是為每個進程單獨維護一套文件描述符,因此假設有10個子進程均請求打開某一日志文件,則該日志文件需要打開10次,操作系統就需要分配10個文件描述符,這導致文件描述資源的浪費。
發明內容
有鑒于此,本申請實施例提供一種數據處理方案,以至少部分解決系統資源浪費的問題。
根據本申請實施例的第一方面,提供了一種數據處理方法,包括:通過加載有文件管理庫的主進程,向操作系統發送請求打開目標文件的第一打開請求,并獲取所述操作系統返回的、打開的所述目標文件的文件描述符;若通過所述主進程接收到對應的子進程發送的、請求打開所述目標文件的第二打開請求,則將所述主進程對應的文件描述符發送至所述子進程,以使所述主進程和所述子進程共享同一所述文件描述符。
根據本申請實施例的第二方面,提供了一種數據處理裝置,包括:第一打開模塊,用于通過加載有文件管理庫的主進程,向操作系統發送請求打開目標文件的第一打開請求,并獲取所述操作系統返回的、打開的所述目標文件的文件描述符;反饋模塊,用于若通過所述主進程接收到對應的子進程發送的、請求打開所述目標文件的第二打開請求,則將所述主進程對應的文件描述符發送至所述子進程,以使所述主進程和所述子進程共享同一所述文件描述符。
根據本申請實施例的第三方面,提供了一種電子設備,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;所述存儲器用于存放至少一可執行指令,所述可執行指令使所述處理器執行如第一方面所述的數據處理方法對應的操作。
根據本申請實施例的第四方面,提供了一種計算機存儲介質,其上存儲有計算機程序,該程序被處理器執行時實現如第一方面所述的數據處理方法。
根據本申請實施例提供的數據處理方案,通過在主進程中加載文件管理庫,能夠為主進程打開目標文件,以獲得目標文件對應的文件描述符,后續在接收到子進程發送請求打開目標文件的第二打開請求時,將主進程已經打開的目標文件的文件描述符發送給子進程,從而避免了多個子進程打開同一目標文件需要分配多個文件描述符造成文件描述符的資源被浪費的問題。
附圖說明
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴新加坡控股有限公司,未經阿里巴巴新加坡控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111617693.5/2.html,轉載請聲明來源鉆瓜專利網。





