[發(fā)明專利]一種文件包讀取方法及裝置在審
| 申請?zhí)枺?/td> | 201910600526.6 | 申請日: | 2019-07-04 |
| 公開(公告)號: | CN110333911A | 公開(公告)日: | 2019-10-15 |
| 發(fā)明(設(shè)計)人: | 廖聲洋 | 申請(專利權(quán))人: | 北京邁格威科技有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京鉦霖知識產(chǎn)權(quán)代理有限公司 11722 | 代理人: | 李志新;李英艷 |
| 地址: | 100190 北京市海*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 線程 文件包 讀取 內(nèi)核 并行啟動 內(nèi)核信息 綁定 加載 讀取文件 對應(yīng)軟件 獲取文件 平臺內(nèi)核 文件讀取 現(xiàn)有文件 組成模塊 子文件 分配 開發(fā) | ||
本發(fā)明涉及文件讀取技術(shù)領(lǐng)域,提供一種文件包讀取方法及裝置,解決了現(xiàn)有文件包讀取速度慢的問題。其中,文件包讀取方法包括:獲取文件包,文件包包括多個子文件,多個子文件分別對應(yīng)軟件開發(fā)包SDK的各個組成模塊;獲取內(nèi)核信息,內(nèi)核信息包括內(nèi)核數(shù)量;根據(jù)內(nèi)核數(shù)量,得到線程數(shù)量,線程數(shù)量為大于1的整數(shù),且線程數(shù)量不高于內(nèi)核數(shù)量;根據(jù)線程數(shù)量,分配多個子文件至多個線程;綁定多個線程至分別對應(yīng)的多個內(nèi)核;并行啟動并運行多個線程,以分別加載對應(yīng)的多個子文件。并行啟動并運行分配多個子文件的多個線程,提高文件包加載速度。將多個線程綁定至多個內(nèi)核,多個內(nèi)核可同時讀取文件包的子文件,提高文件包讀取速度,并可充分利用平臺內(nèi)核。
技術(shù)領(lǐng)域
本發(fā)明一般地涉及文件讀取技術(shù)領(lǐng)域,特別是涉及一種文件包讀取方法及裝置。
背景技術(shù)
隨著計算機、手機等的廣泛應(yīng)用,在目前的工作生活中,文件包的讀取越來越多,例如在下載視頻及文件包等過程中需要文件包的讀取,其中,文件包可理解為文件夾,文件包內(nèi)可存儲多個子文件。目前計算機讀取文件包的過程為:在程序內(nèi)生成一個線程,計算機將該線程隨機分配給執(zhí)行程序的計算機CPU一個內(nèi)核,啟動并運行單個線程,將需要讀取的文件包內(nèi)的文件串行加載至內(nèi)核,完成文件包讀取。其中,線程為計算機程序的一次執(zhí)行過程,加載為啟動程序時文件包的所有文件載入內(nèi)核的過程,串行加載即為按順序加載。
然而,將文件包以串行方式加載至線程,由于按照順序加載文件包的文件,文件包加載速度慢。且計算機為線程隨機分配內(nèi)核,若線程加載所占內(nèi)存大的文件包時,計算機將CPU小核分配給該線程,那么此時文件包讀取速度相比于將該線程分配給大核的文件包讀取速度慢,而大核卻未被有效利用。因此,現(xiàn)有文件包讀取方法,存在文件包讀取速度慢的問題。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明提供一種文件包讀取方法及裝置。
第一方面,本發(fā)明實施例提供一種文件包讀取方法,該方法包括:獲取文件包,文件包包括多個子文件,多個子文件分別對應(yīng)軟件開發(fā)工具包SDK的各個組成模塊;獲取內(nèi)核信息,內(nèi)核信息包括內(nèi)核數(shù)量;根據(jù)內(nèi)核數(shù)量,得到線程數(shù)量,線程數(shù)量為大于1的整數(shù),且線程數(shù)量不高于內(nèi)核數(shù)量;根據(jù)線程數(shù)量,分配多個子文件至多個線程;綁定多個線程至分別對應(yīng)的多個內(nèi)核;并行啟動并運行多個線程,以分別加載對應(yīng)的多個子文件。在一例中,該方法還包括:根據(jù)文件包,獲取文件包的文件信息,文件信息包括文件包的子文件數(shù)量;根據(jù)內(nèi)核數(shù)量,得到線程數(shù)量,包括:根據(jù)子文件數(shù)量和內(nèi)核數(shù)量,得到線程數(shù)量。
在一例中,根據(jù)子文件數(shù)量和內(nèi)核數(shù)量,得到線程數(shù)量,包括:若子文件數(shù)量大于或等于內(nèi)核數(shù)量,線程數(shù)量為內(nèi)核數(shù)量;若子文件數(shù)量小于內(nèi)核數(shù)量,線程數(shù)量為子文件數(shù)量。
在一例中,文件信息還包括子文件的子文件大小;根據(jù)線程數(shù)量,分配多個子文件至多個線程,包括:根據(jù)子文件大小對子文件排序,隨機分配或按照子文件大小的排序順序分配子文件至所述線程。
在一例中,內(nèi)核包括大核、小核;綁定線程至內(nèi)核,包括:按照分配至每個線程的全部子文件大小,綁定線程至大核和/或小核。
在一例中,根據(jù)文件包,獲取文件包的文件信息,包括:通過配置文件獲取文件包的文件信息,其中,配置文件記載文件包的子文件的名稱、數(shù)量以及大小。
在一例中,獲取內(nèi)核信息,包括:通過獲取平臺信息得到內(nèi)核信息。
第二方面,本發(fā)明實施例提供一種文件包讀取裝置,該裝置包括:獲取單元,用于獲取文件包及內(nèi)核信息,文件包包括多個子文件,多個子文件分別對應(yīng)軟件開發(fā)包SDK的各個組成模塊,內(nèi)核信息包括內(nèi)核數(shù)量;線程數(shù)量確定單元,用于根據(jù)內(nèi)核數(shù)量,得到線程數(shù)量,線程數(shù)量為大于1的整數(shù),且線程數(shù)量不高于內(nèi)核數(shù)量;線程分配單元,用于根據(jù)線程數(shù)量,分配多個子文件至多個線程;綁核單元,用于綁定多個線程至分別對應(yīng)的多個內(nèi)核;線程啟動單元,用于并行啟動并運行多個線程,以分別加載對應(yīng)的多個子文件。
該專利技術(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/201910600526.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 在多線程處理器中用于高速線程間中斷的方法和設(shè)備
- 一種多線程系統(tǒng)中實現(xiàn)實時監(jiān)控各線程狀態(tài)的方法
- 移動終端系統(tǒng)線程池實現(xiàn)方法及裝置
- 一種基于策略模式的信號發(fā)生器多線程管理方法
- 多線程并發(fā)處理方法和多線程并發(fā)處理系統(tǒng)
- 分布式系統(tǒng)的線程管理方法和裝置
- 線程執(zhí)行方法、裝置、終端及存儲介質(zhì)
- 線程監(jiān)控方法、裝置、電子設(shè)備及計算機可讀存儲介質(zhì)
- 一種多核系統(tǒng)中多線程調(diào)度方法、裝置及設(shè)備
- 線程間通信方法、裝置、電子設(shè)備及存儲介質(zhì)





