欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

插件管理方法及插件管理器的制作方法

文檔序號:6430085閱讀:218來源:國知局
專利名稱:插件管理方法及插件管理器的制作方法
技術(shù)領域
本發(fā)明涉及計算機軟件開發(fā)領域,尤其涉及一種計算機的插件管理方法以及插件
管理器。
背景技術(shù)
隨著計算機軟件開發(fā)技術(shù)的發(fā)展,人們在開發(fā)計算機軟件時,通常在應用程序中預留一定數(shù)量的調(diào)用接口,以便應用程序運行期間通過這些調(diào)用接口調(diào)用所需的插件,以靈活地實現(xiàn)各種功能。程序開發(fā)人員在開發(fā)應用程序時通常設計相關(guān)的插件。為了管理應用程序所使用的插件,現(xiàn)有的應用程序開發(fā)時大多設置插件管理器, 每一應用程序通過自設的插件管理器對多個插件進行管理,主要是對插件進行調(diào)用。應用程序所使用的一部分插件,如該應用程序?qū)S玫牟寮瑫c應用程序一并開發(fā),且通常與應用程序一并存儲在指定的存儲區(qū)域內(nèi)。而可供多個應用程序調(diào)用的公用插件,則通常存儲在一個指定的公用區(qū)域內(nèi),每一應用程序需要通過插件管理器調(diào)用專用插件或公用插件。 不管是專用插件還是公用插件,每一插件開發(fā)時均被賦予唯一的標識號,且均被寫上特性描述,用于描述該插件所實現(xiàn)的功能。插件的調(diào)用是使用調(diào)用接口實現(xiàn)的,調(diào)用接口提供插件的存儲地址,由應用程序根據(jù)存儲地址跳轉(zhuǎn)并執(zhí)行插件存儲地址內(nèi)的指令來實現(xiàn)插件的調(diào)用。調(diào)用插件時,插件管理器根據(jù)插件的標識號或者特性描述搜尋所需要的插件?,F(xiàn)有應用程序所使用的插件必須是在該應用程序的插件管理器內(nèi)經(jīng)過注冊的插件,因此,若一公用插件能夠被多個應用程序調(diào)用,首先需要在多個應用程序中注冊,未經(jīng)插件管理器注冊的插件將無法被應用程序所調(diào)用。插件管理器內(nèi)設有輸入輸出模塊,用于接收應用程序發(fā)出的調(diào)用請求,還設有多個已經(jīng)注冊的插件的調(diào)用接口,在接收到調(diào)用請求后,根據(jù)調(diào)用請求信息查找相應的插件, 并通過輸入輸出模塊將查找到的插件的存儲地址返回應用程序,由應用程序跳轉(zhuǎn)執(zhí)行相關(guān)指令。但是,由于各個應用程序的插件管理器均獨立工作,每一應用程序的插件管理器只能搜尋且調(diào)用已在該插件管理器內(nèi)注冊的插件,其無法調(diào)用同一系統(tǒng)內(nèi)其他應用程序的插件管理器已經(jīng)存在并注冊的插件。例如,應用程序A的插件管理器Al能夠調(diào)用經(jīng)注冊的插件A2、A3,另一應用程序B的插件管理器Bl可調(diào)用經(jīng)注冊的插件B2、B3。當應用程序A 需要應用插件B2實現(xiàn)某項功能時,由于插件B2未在插件管理器Al注冊,因此插件管理器 Al無法調(diào)用插件B2。這樣,給插件的管理和使用帶來極大的不便,也容易導致插件的重復開發(fā),造成計算機系統(tǒng)文件過于龐大。在協(xié)同軟件開發(fā)過程中也常遇到類似問題,導致開發(fā)工作量大,效率低下。

發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種便于插件被不同插件管理器調(diào)用的插件管理方法。
本發(fā)明的另一目的是提供一種提高協(xié)同軟件開發(fā)效率的插件管理方法。本發(fā)明的再一目的上提供一種有利于插件開發(fā)的插件管理器。為了實現(xiàn)上述的主要目的,本發(fā)明提供的插件管理方法包括在每一應用程序中建立插件管理器,在插件管理器內(nèi)建立插件存儲池,給存儲在插件存儲池內(nèi)的每一插件賦予唯一的標識號,并封裝每一插件,為每一插件一一對應地提供調(diào)用接口,將所有插件存儲池內(nèi)的所有插件封裝成插件集,向每一插件管理器提供插件集的調(diào)用接口對象,應用程序需要調(diào)用某一插件時,向應用程序?qū)牟寮芾砥靼l(fā)出調(diào)用請求,插件管理器通過調(diào)用接口對象調(diào)用插件集,插件集根據(jù)所需調(diào)用的插件的標識號查找所需調(diào)用的插件并返回所需調(diào)用的插件的存儲地址。由上述方案可見,所有應用程序能夠調(diào)用的插件被封裝成插件集,任一插件管理器均能調(diào)用在系統(tǒng)內(nèi)的任一插件,插件的使用不受是否已經(jīng)在該插件管理器注冊的限制, 只要該插件在系統(tǒng)內(nèi)存在即可以被調(diào)用。這樣,方便了插件的使用,且在協(xié)同軟件開發(fā)時, 能大大提高協(xié)同軟件的開發(fā)效率,避免類似功能的插件重復開發(fā)。一個優(yōu)選的方案是,插件管理器查找到所需調(diào)用的插件后返回存儲地址前,判斷所需調(diào)用的插件是否在插件管理器中已經(jīng)注冊,若沒有注冊,則對所需調(diào)用的插件進行注冊操作。由此可見,在應用程序調(diào)用插件時,插件管理器能夠?qū)ξ醋缘牟寮M行注冊操作,并在注冊操作后返回插件的存儲地址。這樣,即使應用程序調(diào)用的插件事先未在該應用程序的插件管理器內(nèi)注冊,插件管理器仍能立即對插件進行注冊并調(diào)用,實現(xiàn)插件的靈活管理。為實現(xiàn)上述的再一目的,本發(fā)明提供的插件管理器包括輸入輸出模塊;并設有插件存儲池,插件存儲池內(nèi)存儲有至少一個插件,每一插件具有唯一的標識號,且插件存儲池內(nèi)設有多個插件一一對應的調(diào)用接口 ;還設有與輸入輸出模塊進行通信的插件集調(diào)用接口對象,插件集由多個插件存儲池內(nèi)的多個插件封裝而成,插件管理器可通過插件集的調(diào)用接口對象調(diào)用插件集,并由插件集查找并調(diào)用所需調(diào)用的插件。由上述方案可見,通過將所有插件封裝成插件集,且每一應用程序的插件管理器均可通過調(diào)用接口對象能調(diào)用任一插件,在協(xié)同軟件開發(fā)時能夠避免插件的重復開發(fā),提升軟件開發(fā)的效率。一個優(yōu)選的方案是,插件管理器還包括與插件存儲池及調(diào)用接口對象進行通信的插件注冊模塊,用于對插件管理器需要調(diào)用且未經(jīng)注冊的插件進行注冊操作。由此可見,通過插件注冊模塊對插件進行注冊,有利于插件管理器對插件進行管理,同時也可以通過注冊操作驗證插件的合法性,避免應用程序調(diào)用不合法的插件而影響應用程序的工作。


圖1是本發(fā)明插件管理方法實施例中建立插件集的流程圖。圖2是本發(fā)明插件管理方法實施例中插件使用的流程圖。圖3是本發(fā)明插件管理方法實施例中插件注冊的流程圖。圖4是本發(fā)明插件管理器實施例的結(jié)構(gòu)框圖。
以下結(jié)合附圖及實施例對本發(fā)明作進一步說明。
具體實施例方式本發(fā)明的插件管理方法適用于計算機軟件開發(fā)及使用場合,尤其適用于面向?qū)ο蟮某绦蛟O計。應用本發(fā)明的插件管理方法進行軟件開發(fā)時,開發(fā)人員應該在應用程序中預留多個端口,以便應用程序運行時能夠靈活地調(diào)用各種插件以實現(xiàn)相應功能,如實現(xiàn)圖片解碼功能等。參見圖1,開發(fā)應用程序時,首先需要在應用程序中設置插件管理器,即執(zhí)行步驟 Si。需要說明的是,系統(tǒng)中的每一應用程序均設有自己的插件管理器,且每一應用程序的插件管理器均獨立工作,不受其他應用程序的插件管理器影響,也不接收其他應用程序所發(fā)送的信息,每一插件管理器只能接收設置該插件管理器的應用程序的信息,也只能向該應用程序返回信息。在插件管理器內(nèi)設置插件存儲池,如圖4所示,插件存儲池10內(nèi)存儲有多個插件 11、12···Ν,每一插件均能實現(xiàn)特定的功能,如顯示圖片、音頻解碼等。每一插件開發(fā)后均被封裝在一個應用程序的插件管理器內(nèi),因此,系統(tǒng)內(nèi)的插件數(shù)量是固定的,系統(tǒng)開發(fā)完畢后,不接受新增的插件,只接受插件的升級文件,即插件只能被更新,不能增加插件的數(shù)量。 并且,每一插件均設有調(diào)用接口,用于被應用程序所調(diào)用。當然,每一插件均設有自己的特性描述,用于描述該插件所能夠?qū)崿F(xiàn)的功能,以便于應用程序識別并進行調(diào)用。在步驟S2中,需要給每一插件賦予唯一的標識號,用于標識每一插件。此處所說的唯一的標識號,是指開發(fā)人員開發(fā)的系統(tǒng)內(nèi),每一插件的標識號都是唯一的,而不僅僅是在應用程序中是唯一的。因此,不同的應用程序也可以根據(jù)插件的標識號唯一地識別每一插件。當然,插件的標識號應該在應用程序及相應插件開發(fā)時即賦予每一插件,開發(fā)應用程序過程中,可預先設置所需調(diào)用的插件,這樣,應用程序運行時可直接調(diào)用特定標識號的插件,從而提高插件的調(diào)用效率。當所有應用程序開發(fā)完畢后,系統(tǒng)內(nèi)的所有插件也相應地開發(fā)完畢,此時,執(zhí)行步驟S3,將所有插件管理器內(nèi)的所有插件封裝成插件集,插件集可以是通過數(shù)據(jù)結(jié)構(gòu)體定義的方式將所有插件組織起來,并設置插件集的調(diào)用接口,定義為調(diào)用接口對象。最后,執(zhí)行步驟S4,向每一應用程序的插件管理器提供插件集的調(diào)用接口對象, 每一插件管理器需要調(diào)用插件時均面向調(diào)用接口對象,通過調(diào)用接口對象來調(diào)用具體的插件。如圖4所示,在插件管理器內(nèi),調(diào)用接口對象30能面向每一插件的調(diào)用接口 21、 22…Μ,即插件管理器能夠通過調(diào)用接口對象30調(diào)用任一存在于系統(tǒng)內(nèi)的插件。插件管理器內(nèi)設有輸入輸出模塊31,能夠接收應用程序發(fā)出的調(diào)用請求信息,并且將調(diào)用請求信息傳送至調(diào)用接口對象30,由調(diào)用接口對象30執(zhí)行相應的插件調(diào)用工作。 并且,在調(diào)用接口對象30向應用程序返回信息時,將返回的信息通過輸入輸出模塊31傳送至應用程序。并且,插件管理器內(nèi)還設有可與插件存儲池10、調(diào)用接口對象30進行通信的插件注冊模塊35,用于對插件進行注冊操作,插件的注冊操作將在后續(xù)詳細描述。參見圖2,應用程序運行過程中,需要調(diào)用某一插件時,首先執(zhí)行步驟S11,向插件管理器發(fā)出調(diào)用請求,若應用程序已知所需調(diào)用插件的標識號,則可直接將所需調(diào)用插件的標識號一并發(fā)送至插件管理器,若應用程序未知所需調(diào)用插件的標識號,則發(fā)出所需調(diào)用插件所實現(xiàn)功能的描述。插件管理器接收到調(diào)用請求后,執(zhí)行步驟S12,調(diào)用插件集,此時插件管理器并不直接調(diào)用具體的插件,因此,插件管理器是直接面對調(diào)用接口對象30。調(diào)用接口對象30 接收到調(diào)用請求信息后,根據(jù)調(diào)用請求信息的內(nèi)容查找所需調(diào)用的具體插件,即執(zhí)行步驟 S13。若應用程序發(fā)出的調(diào)用請求信息中已經(jīng)包含被調(diào)用插件的標識號,調(diào)用接口對象 30直接根據(jù)標識號查找出具體的插件,若應用程序發(fā)出的調(diào)用請求信息中未包含所需插件的標識號,則調(diào)用接口對象30根據(jù)每一插件的特性描述查找出合適插件的標識號,再根據(jù)標識號查找出相應的插件。然后,插件管理器判斷所查找到的插件是否已經(jīng)在該插件管理器內(nèi)注冊,即執(zhí)行步驟S14,若已經(jīng)注冊,則執(zhí)行步驟S15,調(diào)用接口對象30通過輸入輸出模塊31向應用程序返回所需調(diào)用插件的存儲地址,應用程序根據(jù)該存儲地址直接跳轉(zhuǎn)至該地址并執(zhí)行相應的指令,從而實現(xiàn)插件的調(diào)用。當然,若所需調(diào)用的插件是在應用程序開發(fā)的時候預先設置在插件存儲池10內(nèi),則該插件已經(jīng)在插件管理器內(nèi)注冊,即插件已經(jīng)在插件存儲池10分配存儲空間,且由對應的調(diào)用接口供調(diào)用接口對象30調(diào)用。若所需調(diào)用的插件未在插件管理器內(nèi)注冊,插件管理器執(zhí)行步驟S16,對未經(jīng)注冊的插件進行注冊操作,并在注冊操作后執(zhí)行步驟S15,將插件的存儲地址返回應用程序。由于插件集是由系統(tǒng)內(nèi)所有插件封裝而成,只要所需調(diào)用的插件存在于系統(tǒng)內(nèi), 任一插件管理器均可實現(xiàn)對該插件的調(diào)用。并且,插件管理器調(diào)用未經(jīng)注冊的插件時,可直接對插件進行注冊操作,并在注冊操作后將所需調(diào)用插件的存儲地址返回。參見圖3,需要注冊插件時,首先執(zhí)行步驟S21,判斷所需注冊的插件是否存在于插件存儲池內(nèi),若已經(jīng)存在于插件存儲池內(nèi),則結(jié)束插件注冊操作,若沒有存在于插件存儲池內(nèi),則執(zhí)行步驟S22,進一步判斷所需注冊的插件是否為合法插件。此處所說的合法插件是指插件為系統(tǒng)開發(fā)方所開發(fā),且具有特定功能的插件,若插件并非由系統(tǒng)開發(fā)方所開發(fā), 則認為該插件為非法插件,不允許該插件注冊,以此確保應用程序所調(diào)用的插件均為合法的插件,保證應用程序運行的安全性。若插件管理器判斷需要注冊的插件不是合法插件,則結(jié)束注冊操作,S卩非法插件不能通過注冊,確保應用程序不會調(diào)用不合法的插件。若插件管理器判斷需要注冊的插件為合法插件,則執(zhí)行步驟S23,在插件存儲池內(nèi)給新注冊的插件分配空間,也就是給新注冊的插件在存儲池內(nèi)設置調(diào)用接口,由調(diào)用接口對象進行調(diào)用。當然,由于插件會不斷更新,更新后的插件繼續(xù)沿用原來的標識號以及特性描述, 調(diào)用接口對象30仍可通過標識號查找到更新后的插件。至于更新后的插件是否需要重新注冊,由系統(tǒng)開發(fā)的實際情況確定。由于調(diào)用接口對象能夠面向系統(tǒng)內(nèi)的所有插件,但并非所有插件均存儲在一個插件存儲池內(nèi),因此會出現(xiàn)插件存儲池內(nèi)有某一插件的調(diào)用接口,但并沒有該插件的實體程序的情況,調(diào)用接口對象通過提供插件的存儲地址給應用程序,由應用程序跳轉(zhuǎn)至該插件的存儲地址并執(zhí)行相關(guān)的指令。
可見,通過插件集對系統(tǒng)內(nèi)所有插件進行統(tǒng)一的管理,能讓任一應用程序調(diào)用系統(tǒng)內(nèi)的任一合法插件,避免系統(tǒng)內(nèi)的插件不能被應用程序調(diào)用的問題,在協(xié)同軟件開發(fā)過程中,能實現(xiàn)插件的共享,避免插件重復開發(fā),提高協(xié)同軟件的開發(fā)效率。當然,上述實施例僅是本發(fā)明較佳的實施方式,實際應用時,還可以有更多的改變,例如,在非開放性系統(tǒng)中,由于用戶不能安裝新的插件,可以免除插件注冊的步驟,即插件管理器只要發(fā)現(xiàn)系統(tǒng)內(nèi)有相應的插件,即可自行調(diào)用該插件,不管該插件是否經(jīng)過注冊, 這樣的改變也能實現(xiàn)本發(fā)明的目的。最后需要強調(diào)的是,本發(fā)明不限于上述實施方式,如插件集封裝形式的改變、插件注冊的具體步驟的改變等變化也應該包括在本發(fā)明權(quán)利要求的保護范圍內(nèi)。
權(quán)利要求
1.插件管理方法,包括在每一應用程序中建立插件管理器;其特征在于在所述插件管理器內(nèi)建立插件存儲池,給存儲在所述插件存儲池內(nèi)的每一插件賦予唯一的標識號,并封裝每一所述插件,為每一所述插件一一對應地提供調(diào)用接口 ;將所有所述插件存儲池內(nèi)的所有插件封裝成插件集,向每一所述插件管理器提供所述插件集的調(diào)用接口對象;所述應用程序需要調(diào)用某一插件時,向所述應用程序?qū)牟寮芾砥靼l(fā)出調(diào)用請求,所述插件管理器通過所述調(diào)用接口對象調(diào)用所述插件集,所述插件集根據(jù)所需調(diào)用的插件的標識號查找所需調(diào)用的插件并返回所需調(diào)用的插件的存儲地址。
2.根據(jù)權(quán)利要求1所述的插件管理方法,其特征在于所述插件管理器查找到所需調(diào)用的插件后返回存儲地址前,判斷所需調(diào)用的插件是否在所述插件管理器中已經(jīng)注冊,若沒有注冊,則對所需調(diào)用的插件進行注冊操作。
3.根據(jù)權(quán)利要求2所述的插件管理方法,其特征在于所述注冊操作包括所述插件管理器判斷所需調(diào)用的插件是否已經(jīng)存在于所述插件管理器對應的插件存儲池內(nèi),若沒有,則在判斷所需調(diào)用的插件為合法插件后,在所述插件存儲池內(nèi)給所需調(diào)用的插件分配存儲空間。
4.插件管理器,包括輸入輸出模塊;其特征在于插件存儲池,所述插件存儲池內(nèi)存儲有至少一個插件,每一所述插件具有唯一的標識號,且所述插件存儲池內(nèi)設有所述插件一一對應的調(diào)用接口 ;插件集的調(diào)用接口對象,與所述輸入輸出模塊進行通信,且所述插件集由多個所述插件存儲池內(nèi)的多個所述插件封裝而成,所述插件管理器可通過所述插件集的調(diào)用接口對象調(diào)用所述插件集,并由所述插件集查找并調(diào)用所需調(diào)用的插件。
5.根據(jù)權(quán)利要求4所述的插件管理器,其特征在于還包括插件注冊模塊,與所述插件存儲池及所述調(diào)用接口對象進行通信,且所述插件注冊模塊用于對所述插件管理器需要調(diào)用且未經(jīng)注冊的插件進行注冊操作。
全文摘要
本發(fā)明提供一種插件管理方法及插件管理器,該方法包括在應用程序中建立插件管理器,在插件管理器內(nèi)建立插件存儲池,給存儲在插件存儲池內(nèi)的每一插件賦予唯一的標識號,并封裝每一插件,為每一插件提供調(diào)用接口,將所有插件存儲池內(nèi)的所有插件封裝成插件集,向每一插件管理器提供插件集的調(diào)用接口對象,應用程序需要調(diào)用某一插件時,向應用程序?qū)牟寮芾砥靼l(fā)出調(diào)用請求,插件管理器通過調(diào)用接口對象調(diào)用插件集,插件集根據(jù)所需調(diào)用插件的標識號查找插件并返回所需調(diào)用插件的存儲地址。該插件管理器包括輸入輸出模塊,并設有插件存儲池、與輸入輸出模塊進行通信的插件集調(diào)用接口對象。本發(fā)明能實現(xiàn)插件的靈活調(diào)用,提高協(xié)同軟件開發(fā)的效率。
文檔編號G06F9/44GK102253840SQ20111022249
公開日2011年11月23日 申請日期2011年8月4日 優(yōu)先權(quán)日2011年8月4日
發(fā)明者劉惠深 申請人:深圳芯智匯科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乐安县| 万山特区| 永靖县| 宕昌县| 绵阳市| 汉阴县| 海南省| 静海县| 海门市| 九江县| 辽中县| 牙克石市| 格尔木市| 固阳县| 延安市| 保康县| 滕州市| 团风县| 志丹县| 聂拉木县| 奉贤区| 宜宾市| 长海县| 麦盖提县| 开阳县| 香港| 南召县| 正蓝旗| 本溪市| 三原县| 德江县| 鹿泉市| 长阳| 柳州市| 丰原市| 勐海县| 浮山县| 芜湖市| 卫辉市| 襄城县| 溧阳市|