• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種嵌入式系統組件加載方法技術方案

    技術編號:8489666 閱讀:239 留言:0更新日期:2013-03-28 08:37
    本發明專利技術實施例涉及一種嵌入式系統組件加載方法,所述方法包括:應用程序或組件在接收到需要調用其它組件的相應功能指令時,查找所述其它組件,所述其它組件具有唯一標識其身份的特征接口;查找到所述組件后,將所述組件加載到內存中,并獲取所述組件的實例以及調用所述組件的相應功能接口;在不需要所述的相應功能時,調用卸載組件接口,將所述其他組件卸載。本發明專利技術實施例在編譯時不鏈接組件,在應用程序啟動時不加載不必要的組件,節省了內存,避免了針對不同業務形態的嵌入式系統生成不同版本的應用程序。

    【技術實現步驟摘要】

    本專利技術涉及計算機應用程序發現和組件加載
    ,尤其涉及。
    技術介紹
    目前,組件技術被廣泛應用于嵌入式系統中。在嵌入式系統中,系統的業務形態較多,不同形態下中間件或應用程序的功能不同,需加載的組件也不同,現有技術通常是在編譯時必須鏈接組件,這樣對于相同的中間件或應用程序,需要為每個業務形態的系統鏈接不同的組件,生成不同版本,使用這種方法使得中間件或應用程序后續的軟件維護工作量大。此外,嵌入式系統包括內存在內的硬件資源非常有限,編譯鏈接組件庫后,在應用程序啟動時就加載所有組件,不必要地耗費了內存。
    技術實現思路
    針對上述問題,本專利技術實施例提出,所述方法包括應用程序或組件在接收到需要調用其它組件的相應功能指令時,查找所述其它組件,所述其它組件具有唯一標識其身份的特征接口 ;查找到所述組件后,將所述組件加載到內存中,并獲取所述組件的實例以及調用所述組件的相應功能接口 ;在不需要所述的相應功能時,調用卸載組件接口,將所述其他組件卸載。優選地,所述查找其他組件,具體為根據內存中的組件注冊表或者組件目錄查找所述其它組件,或者遍歷系統中各組件庫的特征接口來查找所述其它組件。優選地,應用程序或組件啟動時不加載所述其它組件。優選地,應用程序在編譯階段時不鏈接所述其它組件。優選地,所述其它組件具有唯一標識其身份的特征接口,具體為所述其它組件包含用于返回所述其它組件的名稱的固定名稱接口,或者帶有所述其它組件的名稱的固定接口名稱。本專利技術實施例在應用程序啟動時或者編譯時不加載不必要的組件,即只在應用程序或組件在接收到需要調用其它組件的相應功能指令時,才加載相應組件,節省了內存,避免了需要針對不同業務形態的嵌入式系統生成不同版本的應用程序。附圖說明下面將參照附圖對具體實施方案進行更詳細的說明,在附圖中圖1是本專利技術實施例的嵌入式瀏覽器動態查找和加載組件流程示意圖;圖2是本專利技術實施例嵌入式系統組件加載方法示意圖。具體實施例方式下面通過附圖和實施例,對本專利技術實施例的技術方案做進一步的詳細描述。本專利技術實施例提出一種基于動態查找的嵌入式系統組件加載方法,針對嵌入式系統的特點,只在具備組件功能的系統中以及在啟動組件功能時發現并加載組件,編譯時無需鏈接組件,從而無需為不同業務形態系統中是否需要該組件編譯生成不同版本。本專利技術實施例包含以下步驟步驟1,為各組件配置具有可唯一標識其身份的特征接口。步驟2,應用程序或其他組件在接收到需要調用其它組件相應功能指令時,查找內存中的組件目錄或者組件注冊表來查找組件,或者通過遍歷系統中各組件庫的特征接口來查找組件;所述的查找組件注冊表以及遍歷手段在順序上沒有先后限制。步驟3,如果存在該組件,則將組件加載到內存中,并獲取組件實例、調用組件相應的功能接口;步驟4,在退出相應功能模塊時,卸載組件,釋放內存。其中,唯一標識組件身份的特征接口可使用以下幾種方法組件中包含固定名稱接口,用于返回組件名稱;組件中包含帶有組件名稱的固定接口名。本專利技術實施例根據嵌入式系統的特點,只在具備組件功能的系統中以及在啟動組件功能時加載組件,避免了應用程序為不同業務形態的系統生成不同版本,減少了應用程序啟動時加載組件耗費的內存。下面通過一個優選實施例對本專利技術實施例的方法做進一步闡述圖1是本專利技術實施例的嵌入式瀏覽器動態查找和加載組件流程示意圖。以嵌入式瀏覽器作為具體的應用程序。當前網頁以其跨平臺、易部署等特點成為嵌入式系統中的主流門戶導航,嵌入式瀏覽器是解析網頁的核心,在不同業務系統中需求不同,需要加載不同組件的功能,比如對于雙模機頂盒需要使用DVB組件庫,但互聯網機頂盒不需要DVB組件庫。通過本專利技術實施例方法,所述嵌入式瀏覽器可以動態發現和加載本地功能組件,無須為不同業務系統編譯不同版本,并且只在啟動相應功能時才加載組件。本實例中組件創建實例的特征接口是以“Get+組件名+Object”命名,撤銷實例的特征接口是以“Delete+組件名+Object”命名。此外組件的功能接口都是C++類,因此瀏覽器與組件庫之間需要定義一個與組件接口一一對應的基類,以供加載組件后能得到組件C++實例對象并使用其方法。所述Get、Obje ct、Delete的中文含義分別是獲取、對象、刪除。此外,本實例的系統可以基于Iinux操作系統,組件編譯成動態庫(.so),瀏覽器使用Iinux系統函數dlopen、dlclose、dlsym來打開、關閉組件庫以及執行組件的接口,具體可以包括以下步驟瀏覽器定義一個基類,該基類中的方法與組件接口一一對應;組件繼承瀏覽器提供的基類,實現其派生類,并增加創建、撤銷類兩個接口,分別以“Get+組件名+ObjecCDelete+組件名+Object”命名,用于創建和撤銷組件實例,編譯成動態庫;在具備該組件功能的系統中,將組件庫的路徑加入配置文件;當頁面解析到需要調用組件的功能接口后,瀏覽器查找內存中的組件注冊表是否已注冊該組件,如果組件注冊表中已注冊該組件,則直接讀取該組件庫所在路徑,跳轉到步驟7 ;如果組件注冊表中尚未注冊該組件,則讀取配置文件中的庫目錄路徑,在該路徑下遍歷庫查找是否有創建該組件對象的接口,如果有該接口則將組件名稱和庫路徑添加到組件注冊表中,并跳轉到步驟7,如果沒有該接口則返回錯誤;如果有創建組件對象的接口,則調用創建組件對象接口,返回組件實例;然后調用組件實例中的方法,以實現相應功能;當離開頁面時,調用撤銷組件對象的接口,釋放組件實例。為更加清楚地展示本專利技術實施例的方法,圖2展示了本專利技術實施例嵌入式系統組件加載方法示意圖。從圖2可見所述方法包括步驟200,應用程序或組件在接收到需要調用其它組件的相應功能指令時,查找所述其它組件,所述其它組件具有唯一標識其身份的特征接口 ;步驟202,查找到所述組件后,將所述組件加載到內存中,并獲取所述組件的實例以及調用所述組件的相應功能接口 ;步驟204,在不需要所述的相應功能時,調用卸載組件接口,將所述其他組件卸載。優選地,所述查找其他組件,具體為根據內存中的組件注冊表或者組件目錄查找所述其它組件,或者遍歷系統中各組件庫的特征接口來查找所述其它組件。優選地,應用程序或組件啟動時不加載所述其它組件。優選地,應用程序在編譯階段時不鏈接所述其它組件。優選地,所述其它組件具有唯一標識其身份的特征接口,具體為所述其它組件包含用于返回所述其它組件的名稱的固定名稱接口,或者帶有所述其它組件的名稱的固定接口名稱。本專利技術實施例在編譯時不鏈接組件,在應用程序啟動時不加載不必要的組件,而只在應用程序或組件在接收到需要調用其它組件的相應功能指令時,才加載相應組件,節省了內存,避免了需要針對不同業務形態的嵌入式系統生成不同版本的應用程序。最后所應說明的是,以上實施例僅用以說明本專利技術的技術方案而非限制,盡管參照較佳實施例對本專利技術進行了詳細說明,本領域的普通技術人員應當理解,可以對本專利技術的技術方案進行修改或者等同替換,而不脫離本專利技術技術方案的精神和范圍。權利要求1.,其特征在于,所述方法包括應用程序或組件在接收到需要調用其它組件的相應功能指令時,查找所述其它組件, 所述其它組件具有唯一標識其身份的特征接口;查找到所述組件后,將所述組件加載到內存中,并獲取所述組件的實例以及調用所述組件的相應功能本文檔來自技高網...

    【技術保護點】
    一種嵌入式系統組件加載方法,其特征在于,所述方法包括:應用程序或組件在接收到需要調用其它組件的相應功能指令時,查找所述其它組件,所述其它組件具有唯一標識其身份的特征接口;查找到所述組件后,將所述組件加載到內存中,并獲取所述組件的實例以及調用所述組件的相應功能接口;在不需要所述的相應功能時,調用卸載組件接口,將所述其他組件卸載。

    【技術特征摘要】

    【專利技術屬性】
    技術研發人員:胡琳琳孫鵬鄧峰
    申請(專利權)人:中國科學院聲學研究所
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 国产av激情无码久久| 无码视频在线播放一二三区| 亚洲韩国精品无码一区二区三区| 亚洲精品无码久久不卡| 免费A级毛片av无码| 无翼乌工口肉肉无遮挡无码18| 亚洲av中文无码乱人伦在线咪咕| 亚洲av无码无线在线观看| 人妻AV中出无码内射| 老司机无码精品A| 午夜人性色福利无码视频在线观看| 精品无码专区亚洲| 久久精品无码专区免费东京热| 国产成人无码午夜视频在线观看| 无码精品人妻一区二区三区中| 国产精品JIZZ在线观看无码| 中文字幕无码不卡一区二区三区| 国产三级无码内射在线看| 亚洲精品无码久久久| 国产免费av片在线无码免费看| 中文字幕无码视频手机免费看| 亚洲av永久无码精品国产精品| 亚洲无码日韩精品第一页| 狼人无码精华AV午夜精品| 色综合无码AV网站| 国产精品无码2021在线观看| 无码国产精品一区二区免费| 无码中文字幕日韩专区| 久久无码专区国产精品s| 亚洲中文字幕无码永久在线| 久久激情亚洲精品无码?V| 无码A级毛片日韩精品| 激情射精爆插热吻无码视频| 亚洲熟妇无码av另类vr影视| 中文字幕无码日韩欧毛| 无码中文2020字幕二区| 少妇无码AV无码专区线| 日韩夜夜高潮夜夜爽无码| 亚洲AV蜜桃永久无码精品| 日韩人妻无码一区二区三区久久99| 日韩精品无码免费专区午夜不卡|