System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及車輛,尤其涉及一種信息讀取方法、裝置、設備和存儲介質。
技術介紹
1、隨著智能汽車的娛樂功能越來越豐富,用戶對車載系統讀取外設中存儲的文件信息的需求越來越旺盛,例如:越來越多的用戶會在u盤中存儲媒體、圖片等文件,在駕駛過程中,使車載系統讀取u盤中的媒體、圖片等文件進行播放、瀏覽。目前,大部分智能汽車的車載系統的底層采用android系統。讀取外設中存儲的文件信息包括:在android系統檢測到u盤插入之后,android系統中的media?scanner模塊先全量掃描u盤中的所有文件并且在掃描過程中將各個文件的文件信息存儲到預設的隊列中,在全量掃描完成之后,再針對隊列中存儲的各個文件信息逐個進行解析并且將解析之后的文件信息存儲到車載系統中。
2、但是,在車載場景下,用戶會經常拔插u盤等外設,而每次拔插外設之后,android系統都要重新讀取外設中存儲的文件信息,這導致android系統讀取外設存儲的文件信息時,效率較低。進一步地,在外設中的文件未發生更新的情況下,無論之前是否已經對外設中的文件進行過全量掃描,android系統在每次監聽到外設拔插之后依舊會觸發全量掃描功能,進而產生額外的系統開銷,影響信息讀取效率。在進行全量掃描時,如果外設中存在較多的媒體、圖片等文件,則全量掃描的時間比較長,導致掃描效率較低而且會影響用戶的體驗效果。此外,全量掃描是所有文件類型的文件都需要掃描,即便是用戶不需要的文件類型也需要掃描,這就會進一步地降低掃描效率。
技術實現思路
2、針對上述技術問題,本申請技術方案是通過如下實施例來解決的:
3、本申請實施例提供了一種信息讀取方法,包括:在監聽到外設對應的插入事件之后,從所述外設中讀取所述外設對應的文件屬性信息并且從本地獲取所述外設對應的歷史屬性信息;根據所述文件屬性信息和所述歷史屬性信息,生成掃描控制指令;在所述掃描控制指令的類型為開始掃描類型時,利用預設的生產者線程,掃描所述外設中存儲的文件并且將所述文件對應的文件信息添加到預設的生產者隊列中;利用預設的消費者線程,解析所述生產者隊列中的文件信息并且將解析后的所述文件信息存儲到預設的本地存儲空間;其中,所述生產者線程和所述消費者線程并行工作。
4、其中,所述根據所述文件屬性信息和所述歷史屬性信息,生成掃描控制指令,包括:如果所述文件屬性信息和所述歷史屬性信息不同,則生成開始掃描類型的掃描控制指令;如果所述文件屬性信息和所述歷史屬性信息相同,則查詢所述本地存儲空間中是否存在所述外設對應的文件信息;如果在所述本地存儲空間中存在所述外設對應的文件信息,則生成禁止掃描類型的掃描控制指令;如果在所述本地存儲空間中不存在所述外設對應的文件信息,則生成開始掃描類型的掃描控制指令。
5、其中,所述開始掃描類型的掃描控制指令包括:目標掃描控制指令和全量掃描控制指令;所述利用預設的生產者線程,掃描所述外設中存儲的文件,包括:如果所述掃描控制指令為開始掃描類型的目標類掃描控制指令,則利用所述生產者線程,掃描所述外設中存儲的符合預設條件的文件;如果所述掃描控制指令為開始掃描類型的全量類掃描控制指令,則利用所述生產者線程,掃描所述外設中存儲的所有文件。
6、其中,所述消費者線程包括:解析類消費者線程和存儲類消費者線程;所述利用預設的消費者線程,解析所述生產者隊列中的文件信息并且將解析后的所述文件信息存儲到預設的本地存儲空間,包括:利用所述解析類消費者線程,解析所述生產者隊列中的文件信息并且將解析出的所述文件信息添加到預設的消費者隊列中;利用所述存儲類消費者線程,生成所述消費者隊列中的所述文件信息對應的標簽值,并且,按照所述文件信息對應的標簽值將所述文件信息存儲到所述本地存儲空間中;其中,所述解析類消費者線程和所述存儲類消費者線程并行工作。
7、其中,所述消費者線程包括:解析類消費者線程和存儲類消費者線程;所述利用預設的消費者線程,解析所述生產者隊列中的文件信息并且將解析后的所述文件信息存儲到預設的本地存儲空間,包括:利用所述解析類消費者線程,解析所述生產者隊列中的文件信息的預設字段并且將解析出的字段信息添加到預設的消費者隊列中;利用所述存儲類消費者線程,生成所述消費者隊列中的字段信息對應的標簽值,并且,按照所述字段信息對應的標簽值將所述字段信息存儲到所述本地存儲空間中;其中,所述解析類消費者線程和所述存儲類消費者線程并行工作。
8、其中,所述利用預設的消費者線程,解析所述生產者隊列中的文件信息,包括:利用所述消費者線程調用預設的第三方處理框架;通過所述第三方處理框架解析所述生產者隊列中的文件信息。
9、其中,所述方法還包括:如果所述文件屬性信息和所述歷史屬性信息不同,則根據所述文件屬性信息更新所述歷史屬性信息。
10、本申請實施例還提供了一種信息讀取裝置,包括:讀取和獲取模塊,用于在監聽到外設對應的插入事件之后,從所述外設中讀取所述外設對應的文件屬性信息并且從本地獲取所述外設對應的歷史屬性信息;生成模塊,用于根據所述文件屬性信息和所述歷史屬性信息,生成掃描控制指令;掃描和添加模塊,用于在所述掃描控制指令的類型為開始掃描類型時,利用預設的生產者線程,掃描所述外設中存儲的文件并且將所述文件對應的文件信息添加到預設的生產者隊列中;解析和存儲模塊,用于利用預設的消費者線程,解析所述生產者隊列中的文件信息并且將解析后的所述文件信息存儲到預設的本地存儲空間;其中,所述生產者線程和所述消費者線程并行工作。
11、本申請實施例還提供了一種信息讀取設備,包括:至少一個通信接口;與所述至少一個通信接口相連接的至少一個總線;與所述至少一個總線相連接的至少一個處理器;與所述至少一個總線相連接的至少一個存儲器,其中,所述處理器被配置為:執行所述存儲器中存儲的信息讀取程序,以實現上述任一項所述的信息讀取方法。
12、本申請實施例還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機可執行指令,所述計算機可執行指令被執行,以實現上述任一項所述的信息讀取方法。
13、本申請實施例提供的上述技術方案與現有技術相比具有如下優點:本申請實施例提供的方法可以在監聽到外設對應的插入事件之后,從所述外設中讀取所述外設對應的文件屬性信息并且從本地獲取所述外設對應的歷史屬性信息;根據所述文件屬性信息和所述歷史屬性信息,生成掃描控制指令;在所述掃描控制指令的類型為開始掃描類型時,利用預設的生產者線程,掃描所述外設中存儲的文件并且將所述文件對應的文件信息添加到預設的生產者隊列中;利用預設的消費者線程,解析所述生產者隊列中的文件信息并且將解析后的所述文件信息存儲到預設的本地存儲空間;其中,所述生產者線程和所述消費者線程并行工作。本申請實本文檔來自技高網...
【技術保護點】
1.一種信息讀取方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述根據所述文件屬性信息和所述歷史屬性信息,生成掃描控制指令,包括:
3.根據權利要求1所述的方法,其特征在于,
4.根據權利要求1所述的方法,其特征在于,
5.根據權利要求1所述的方法,其特征在于,
6.根據權利要求1所述的方法,其特征在于,所述利用預設的消費者線程,解析所述生產者隊列中的文件信息,包括:
7.根據權利要求1所述的方法,其特征在于,所述方法還包括:
8.一種信息讀取裝置,其特征在于,包括:
9.一種信息讀取設備,其特征在于,包括:至少一個通信接口;與所述至少一個通信接口相連接的至少一個總線;與所述至少一個總線相連接的至少一個處理器;與所述至少一個總線相連接的至少一個存儲器,其中,所述處理器被配置為:執行所述存儲器中存儲的信息讀取程序,以實現權利要求1-7中任一項所述的信息讀取方法。
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有計算機可執行指令,所述
...【技術特征摘要】
1.一種信息讀取方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述根據所述文件屬性信息和所述歷史屬性信息,生成掃描控制指令,包括:
3.根據權利要求1所述的方法,其特征在于,
4.根據權利要求1所述的方法,其特征在于,
5.根據權利要求1所述的方法,其特征在于,
6.根據權利要求1所述的方法,其特征在于,所述利用預設的消費者線程,解析所述生產者隊列中的文件信息,包括:
7.根據權利要求1所述的方法,其特征在于,所述方法還包括:
<...【專利技術屬性】
技術研發人員:鄭維,張克喜,孫洪福,
申請(專利權)人:成都賽力斯科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。