專利名稱:動(dòng)態(tài)配置插件啟動(dòng)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別是涉及一種動(dòng)態(tài)配置插件啟動(dòng)的方法。
背景技術(shù):
隨著計(jì)算機(jī)制造行業(yè)的飛速發(fā)展,個(gè)人計(jì)算機(jī)的處理能力越來(lái)越強(qiáng)大,PC機(jī)操作系統(tǒng)已全面進(jìn)入圖形化界面時(shí)代,甚至便攜式設(shè)備中也普遍采用了圖形化界面的操作系統(tǒng)。在眾多主流的圖形化操作系統(tǒng)中,如Windows系列、Mac OS系列、或部分Linux/BSD/ Solaris的圖形0S,無(wú)論其是否開(kāi)放源代碼,均提供一個(gè)開(kāi)放性的桌面圖形用戶界面為用戶的應(yīng)用提供支持,這類操作系統(tǒng)通常稱為桌面操作系統(tǒng),是目前應(yīng)用最為廣泛的一類操作系統(tǒng)。在桌面操作系統(tǒng)中,時(shí)常要面向復(fù)雜多變的各類應(yīng)用進(jìn)行處理,因而存在著眾多的桌面應(yīng)用程序,這些應(yīng)用程序通常并非是由操作系統(tǒng)直接提供,而是在操作系統(tǒng)中提供開(kāi)放性的應(yīng)用程序接口,為各個(gè)應(yīng)用程序開(kāi)發(fā)人員提供一個(gè)“黑箱”,讓開(kāi)發(fā)人員通過(guò)一系列標(biāo)準(zhǔn)的系統(tǒng)調(diào)用來(lái)使用操作系統(tǒng)的功能。這種方式雖然方便了應(yīng)用程序的開(kāi)發(fā),使得操作系統(tǒng)可以得到更多軟件廠商的支持,但卻不可避免地造成了用戶桌面應(yīng)用系統(tǒng)的堆積, 并且應(yīng)用程序之間的標(biāo)準(zhǔn)混亂和相互調(diào)用困難等問(wèn)題也日益嚴(yán)重,用戶為了完成一系列的應(yīng)用往往需要在多個(gè)應(yīng)用系統(tǒng)間不停地進(jìn)行切換。于是,整合桌面平臺(tái)的解決方案被提出,用來(lái)將用戶桌面上的多種應(yīng)用程序進(jìn)行整合,使得用戶可以在一個(gè)平臺(tái)下將同一系列應(yīng)用所需的系統(tǒng)進(jìn)行集成,從而直接調(diào)用各種第三方應(yīng)用程序而不用頻繁進(jìn)行切換和登錄。但是,由于目前行業(yè)中的軟件大都關(guān)聯(lián)性較差,不同公司開(kāi)發(fā)研制的很多產(chǎn)品,并沒(méi)有給用戶提供一個(gè)方式進(jìn)行相互調(diào)用,用戶很難在同一個(gè)產(chǎn)品上定制或者使用各個(gè)公司研發(fā)的組件。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問(wèn)題針對(duì)現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明為了解決目前軟件產(chǎn)品相互調(diào)用困難的問(wèn)題,提供了一種集成眾多應(yīng)用插件于一體的全新平臺(tái),使得用戶在同一平臺(tái)上管理眾多應(yīng)用成為可能。( 二 )技術(shù)方案為解決上述技術(shù)問(wèn)題,本發(fā)明具體采用如下技術(shù)方案進(jìn)行一種動(dòng)態(tài)配置插件啟動(dòng)的方法,該方法包括步驟Si,金融本初始化,讀取配置文件中的插件信息,通過(guò)反序列化所述插件信息來(lái)創(chuàng)建插件對(duì)象,在本地內(nèi)存中保存所述插件對(duì)象的列表;S2,進(jìn)行界面加載,通過(guò)讀取的所述插件信息,啟動(dòng)名稱、路徑、和/或圖標(biāo)元素生成界面樹(shù),并生成界面樹(shù)的點(diǎn)擊啟動(dòng)狀態(tài),所述點(diǎn)擊啟動(dòng)狀態(tài)與所述插件對(duì)象的列表相關(guān)聯(lián);S3,點(diǎn)擊任一界面樹(shù)或所述界面樹(shù)的節(jié)點(diǎn)時(shí),根據(jù)所述點(diǎn)擊啟動(dòng)狀態(tài)的目錄配置項(xiàng)中的屬性判斷是否為葉子節(jié)點(diǎn);如果是,則執(zhí)行步驟S4進(jìn)行插件的啟動(dòng);否則,將當(dāng)前點(diǎn)擊的節(jié)點(diǎn)作為根節(jié)點(diǎn)進(jìn)行展開(kāi)直到得到葉子節(jié)點(diǎn);S4,展開(kāi)至最深層,得到具體的葉子節(jié)點(diǎn),每一葉子節(jié)點(diǎn)代表相應(yīng)的插件,通過(guò)所述點(diǎn)擊啟動(dòng)狀態(tài)獲取葉子節(jié)點(diǎn)所代表插件的插件對(duì)象,通過(guò)指定的配置文件進(jìn)行資源加載。優(yōu)選地,步驟S4中所述資源加載具體采用步驟為S201,監(jiān)聽(tīng)并接收對(duì)特定應(yīng)用程序插件的啟動(dòng)命令;S202,通過(guò)讀取從配置文件反序列化出來(lái)的對(duì)象實(shí)例獲取應(yīng)用程序的啟動(dòng)信息;S203,判斷是否需要以支持參數(shù)的形式啟動(dòng),如果是執(zhí)行步驟S204;否則執(zhí)行步驟 S205 ;S204,以帶參形式調(diào)用默認(rèn)的進(jìn)程啟動(dòng)方式;S205,以無(wú)參形式調(diào)用默認(rèn)的進(jìn)程啟動(dòng)方式。優(yōu)選地,步驟S204或步驟S205中,所述進(jìn)程啟動(dòng)方式具體為S301,插件開(kāi)始啟動(dòng);S302,通過(guò)插件名稱尋找插件;S303,通過(guò)插件名稱尋找相應(yīng)的任務(wù);S304,通過(guò)條件判斷啟動(dòng)任務(wù)的情況,根據(jù)任務(wù)啟動(dòng)條件創(chuàng)建任務(wù)進(jìn)行啟動(dòng)。優(yōu)選地,步驟S304中,所述創(chuàng)建任務(wù)進(jìn)行啟動(dòng)具體包括步驟S401,創(chuàng)建任務(wù);S402,創(chuàng)建任務(wù)項(xiàng)通知列表;S403,創(chuàng)建窗口堆棧項(xiàng)列表;S404,創(chuàng)建任務(wù)列表;S405,返回任務(wù)列表及窗口堆棧項(xiàng)列表的句柄供應(yīng)用程序調(diào)用;S405,在用戶界面顯示任務(wù)及對(duì)應(yīng)的窗口。(三)有益效果本發(fā)明通過(guò)對(duì)金融本的插件進(jìn)行動(dòng)態(tài)配置,同時(shí)提供參數(shù)啟動(dòng)插件或應(yīng)用,極具適用性和擴(kuò)展性,使得用戶可以在金融本這個(gè)平臺(tái)上啟動(dòng)或配置任意自定義插件和任意已知第三方插件。
圖1為本發(fā)明中動(dòng)態(tài)配置插件的啟動(dòng)方法流程圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明主要通過(guò)對(duì)配置文件的反序列化,生成實(shí)體對(duì)象,然后利用對(duì)象保存的應(yīng)用程序信息來(lái)實(shí)現(xiàn)應(yīng)用程序的啟動(dòng)功能,同時(shí),還支持通過(guò)接口的繼承以及多態(tài)來(lái)實(shí)現(xiàn)自定義的應(yīng)用程序啟動(dòng)的特殊需求(如靜默啟動(dòng),從靜默啟動(dòng)切換至非靜默啟動(dòng),從非靜默啟動(dòng)切換至靜默啟動(dòng),最小化至托盤,以及從托盤呼出等等)。通過(guò)這種方式,本發(fā)明提供了一種可動(dòng)態(tài)配置插件的方法,支持在桌面整合平臺(tái)中對(duì)任意第三方插件進(jìn)行配置和啟動(dòng),極大地方便了用戶在一個(gè)統(tǒng)一的平臺(tái)下進(jìn)行應(yīng)用程序的集成和調(diào)用,使得用戶可以安全高效地進(jìn)行一系列的相關(guān)應(yīng)用處理,而無(wú)需頻繁地在各個(gè)不同的應(yīng)用系統(tǒng)中進(jìn)行登錄、驗(yàn)證和切換。具體地,在本發(fā)明的實(shí)施例中,主要針對(duì)金融本平臺(tái)這一桌面整合平臺(tái)進(jìn)行優(yōu)化, 金融本是一種金融業(yè)務(wù)便攜設(shè)備,由硬件和軟件兩個(gè)部分組成,硬件是一個(gè)基于X86架構(gòu)的掌上電腦,軟件是基于WES7的安全軟件平臺(tái),用戶通過(guò)使用軟件平臺(tái)為其提供的專用功能和服務(wù),可以實(shí)現(xiàn)各種金融交易。整個(gè)金融本系統(tǒng)包括啟動(dòng)模塊,用于接收啟動(dòng)信號(hào)并啟動(dòng)操作系統(tǒng);檢測(cè)模塊,用于在操作系統(tǒng)啟動(dòng)之后判斷是否需要啟動(dòng)安全控制平臺(tái),安全控制平臺(tái)是金融業(yè)務(wù)的工作平臺(tái);業(yè)務(wù)模塊,用于當(dāng)檢測(cè)模塊檢測(cè)到需要啟動(dòng)安全控制平臺(tái)時(shí),啟動(dòng)金融業(yè)務(wù)界面,以及金融業(yè)務(wù)的處理;通訊模塊,用于與金融業(yè)務(wù)服務(wù)器通訊; 輸入輸出模塊,用于輸入信息、操作命令及顯示輸出結(jié)果;解析模塊,用于解析通訊模塊接收的來(lái)自金融業(yè)務(wù)服務(wù)器的信息;調(diào)用模塊,用于根據(jù)解析模塊解析的結(jié)果調(diào)用業(yè)務(wù)模塊。 金融本平臺(tái)作為一種整合桌面平臺(tái),是集成在桌面的綜合應(yīng)用程序,其提供了強(qiáng)大的插件管理功能,能夠滿足用戶通過(guò)金融本應(yīng)用程序啟動(dòng)任意第三方插件,方便了用戶在金融本這個(gè)平臺(tái)上調(diào)用相關(guān)聯(lián)的任意應(yīng)用,并且可以通過(guò)參數(shù)準(zhǔn)確定位第三方應(yīng)用程序的啟動(dòng)時(shí)的界面(只要該第三方應(yīng)用程序支持此功能),充分體現(xiàn)了以用戶為本,以需求為導(dǎo)向的設(shè)計(jì)理念。通過(guò)金融本平臺(tái),使各個(gè)插件集成在一起,豐富了用戶體驗(yàn),并且定位準(zhǔn)確,同時(shí)支持多啟動(dòng)插件。此技術(shù)可以直接支持任何第三方插件的啟動(dòng),只需要簡(jiǎn)單的配置或者通過(guò)金融本平臺(tái)進(jìn)行軟件的在線安裝即可。金融本支持配置加載任意的自主研發(fā)插件及第三方插件,其功能的實(shí)現(xiàn)有賴于插件靈活的可配置性。用戶可以在配置文件中通過(guò)簡(jiǎn)單的管理插件的相關(guān)信息(例如應(yīng)用程序名稱,應(yīng)用程序路徑,應(yīng)用程序圖標(biāo),以及應(yīng)用程序的啟動(dòng)參數(shù)等等)來(lái)實(shí)現(xiàn)通過(guò)金融本直接調(diào)用任何已知或未知第三方應(yīng)用程序的功能。在任意支持帶參數(shù)啟動(dòng)的應(yīng)用程序中,通過(guò)傳參來(lái)調(diào)用該應(yīng)用程序默認(rèn)的啟動(dòng)方式,可以精準(zhǔn)的實(shí)現(xiàn)應(yīng)用程序的啟動(dòng)定位(包括界面上的定位,界面上的數(shù)據(jù)定位、圖表定位等)。為了獲得更友好的用戶體驗(yàn),金融本還支持啟動(dòng)應(yīng)用程序的總在最前功能,此功能的實(shí)現(xiàn)依賴于通過(guò)當(dāng)前窗口句柄來(lái)獲得窗口位置的堆棧信息。參見(jiàn)圖1,金融本中動(dòng)態(tài)配置插件并啟動(dòng)的方法具體為Si,在金融本初始化時(shí),讀取配置文件中的插件信息,通過(guò)反序列化所述插件信息來(lái)創(chuàng)建插件對(duì)象,在本地內(nèi)存中保存所述插件對(duì)象的列表;S2,在界面加載的時(shí)候,通過(guò)讀取的所述插件信息,啟動(dòng)名稱、路徑、圖標(biāo)等元素生成界面樹(shù),并生成界面樹(shù)的點(diǎn)擊啟動(dòng)狀態(tài),所述點(diǎn)擊啟動(dòng)狀態(tài)與所述插件對(duì)象的列表相關(guān)聯(lián);
S3,點(diǎn)擊任一界面樹(shù)或所述界面樹(shù)的節(jié)點(diǎn)時(shí),根據(jù)所述點(diǎn)擊啟動(dòng)狀態(tài)的目錄配置項(xiàng)中的屬性判斷是否為葉子節(jié)點(diǎn);如果是,則執(zhí)行步驟S4進(jìn)行插件的啟動(dòng);否則,將當(dāng)前點(diǎn)擊的節(jié)點(diǎn)作為根節(jié)點(diǎn)進(jìn)行展開(kāi)直到得到葉子節(jié)點(diǎn);S4,展開(kāi)至最深層,得到具體的葉子節(jié)點(diǎn),每一葉子節(jié)點(diǎn)代表相應(yīng)的插件,通過(guò)所述點(diǎn)擊啟動(dòng)狀態(tài)獲取葉子節(jié)點(diǎn)所代表插件的插件對(duì)象,通過(guò)指定的配置文件進(jìn)行資源加載。具體地,資源加載時(shí)還可實(shí)現(xiàn)自定義的應(yīng)用程序啟動(dòng)的特殊需求(如靜默啟動(dòng), 從靜默啟動(dòng)切換至非靜默啟動(dòng),從非靜默啟動(dòng)切換至靜默啟動(dòng),最小化至托盤,以及從托盤呼出等等),其具體方式為S201,監(jiān)聽(tīng)并接收對(duì)特定應(yīng)用程序插件的啟動(dòng)命令;S202,通過(guò)讀取從配置文件反序列化出來(lái)的對(duì)象實(shí)例獲取應(yīng)用程序的啟動(dòng)信息;S203,判斷是否需要以支持參數(shù)的形式啟動(dòng),如果是執(zhí)行步驟S204;否則執(zhí)行步驟 S205 ;S204,以帶參形式調(diào)用默認(rèn)的進(jìn)程啟動(dòng)方式;S205,以無(wú)參形式調(diào)用默認(rèn)的進(jìn)程啟動(dòng)方式。插件啟動(dòng)時(shí),還可同時(shí)創(chuàng)建或恢復(fù)與插件對(duì)應(yīng)任務(wù),使得用戶可直接進(jìn)入任務(wù)的處理,而不必重復(fù)進(jìn)行系統(tǒng)切換和個(gè)人身份驗(yàn)證,具體的任務(wù)啟動(dòng)方式為S301,插件開(kāi)始啟動(dòng);S302,通過(guò)插件名稱尋找插件;S303,通過(guò)插件名稱尋找相應(yīng)的任務(wù);S304,通過(guò)條件判斷啟動(dòng)任務(wù)的情況(如支持多個(gè)任務(wù)啟動(dòng),以及是否需要傳入?yún)?shù)等),根據(jù)任務(wù)啟動(dòng)條件創(chuàng)建任務(wù)啟動(dòng)。此外,任務(wù)具體啟動(dòng)時(shí)可支持多個(gè)任務(wù)同時(shí)處理,并可支持任務(wù)窗口的啟動(dòng)定位 (包括界面上的定位,界面上的數(shù)據(jù)定位、圖表定位等),具體采用如下步驟進(jìn)行S401,創(chuàng)建任務(wù);S402,創(chuàng)建任務(wù)項(xiàng)通知列表;S403,創(chuàng)建窗口堆棧項(xiàng)列表;S404,創(chuàng)建任務(wù)列表;S405,返回任務(wù)列表及窗口堆棧項(xiàng)列表的句柄供應(yīng)用程序調(diào)用;S405,在用戶界面顯示任務(wù)及對(duì)應(yīng)的窗口。通過(guò)上述實(shí)施方式,本發(fā)明對(duì)金融本的插件進(jìn)行動(dòng)態(tài)配置,同時(shí)提供參數(shù)啟動(dòng)插件或應(yīng)用,極具適用性和擴(kuò)展性,使得用戶可以在金融本這個(gè)平臺(tái)上啟動(dòng)或配置任意自定義插件和任意已知第三方插件。以上實(shí)施方式僅用于說(shuō)明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的發(fā)明保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.一種動(dòng)態(tài)配置插件啟動(dòng)的方法,其特征在于,所述方法包括步驟Sl,金融本初始化,讀取配置文件中的插件信息,通過(guò)反序列化所述插件信息來(lái)創(chuàng)建插件對(duì)象,在本地內(nèi)存中保存所述插件對(duì)象的列表;S2,進(jìn)行界面加載,通過(guò)讀取的所述插件信息,啟動(dòng)名稱、路徑、和/或圖標(biāo)元素生成界面樹(shù),并生成界面樹(shù)的點(diǎn)擊啟動(dòng)狀態(tài),所述點(diǎn)擊啟動(dòng)狀態(tài)與所述插件對(duì)象的列表相關(guān)聯(lián);S3,點(diǎn)擊任一界面樹(shù)或所述界面樹(shù)的節(jié)點(diǎn)時(shí),根據(jù)所述點(diǎn)擊啟動(dòng)狀態(tài)的目錄配置項(xiàng)中的屬性判斷是否為葉子節(jié)點(diǎn);如果是,則執(zhí)行步驟S4進(jìn)行插件的啟動(dòng);否則,將當(dāng)前點(diǎn)擊的節(jié)點(diǎn)作為根節(jié)點(diǎn)進(jìn)行展開(kāi)直到得到葉子節(jié)點(diǎn);S4,展開(kāi)至最深層,得到具體的葉子節(jié)點(diǎn),每一葉子節(jié)點(diǎn)代表相應(yīng)的插件,通過(guò)所述點(diǎn)擊啟動(dòng)狀態(tài)獲取葉子節(jié)點(diǎn)所代表插件的插件對(duì)象,通過(guò)指定的配置文件進(jìn)行資源加載。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟S4中所述資源加載具體采用步驟為S201,監(jiān)聽(tīng)并接收對(duì)特定應(yīng)用程序插件的啟動(dòng)命令;S202,通過(guò)讀取從配置文件反序列化出來(lái)的對(duì)象實(shí)例獲取應(yīng)用程序的啟動(dòng)信息; S203,判斷是否需要以支持參數(shù)的形式啟動(dòng),如果是執(zhí)行步驟S204;否則執(zhí)行步驟 S205 ;5204,以帶參形式調(diào)用默認(rèn)的進(jìn)程啟動(dòng)方式;5205,以無(wú)參形式調(diào)用默認(rèn)的進(jìn)程啟動(dòng)方式。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟S204或步驟S205中,所述進(jìn)程啟動(dòng)方式具體為S301,插件開(kāi)始啟動(dòng);S302,通過(guò)插件名稱尋找插件;S303,通過(guò)插件名稱尋找相應(yīng)的任務(wù);S304,通過(guò)條件判斷啟動(dòng)任務(wù)的情況,根據(jù)任務(wù)啟動(dòng)條件創(chuàng)建任務(wù)進(jìn)行啟動(dòng)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,步驟S304中,所述創(chuàng)建任務(wù)進(jìn)行啟動(dòng)具體包括步驟S401,創(chuàng)建任務(wù); S402,創(chuàng)建任務(wù)項(xiàng)通知列表; S403,創(chuàng)建窗口堆棧項(xiàng)列表; S404,創(chuàng)建任務(wù)列表;S405,返回任務(wù)列表及窗口堆棧項(xiàng)列表的句柄供應(yīng)用程序調(diào)用; S405,在用戶界面顯示任務(wù)及對(duì)應(yīng)的窗口。
全文摘要
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,提供了一種動(dòng)態(tài)配置插件啟動(dòng)的方法,通過(guò)對(duì)配置文件的反序列化,生成實(shí)體對(duì)象,然后利用對(duì)象保存的應(yīng)用程序信息來(lái)實(shí)現(xiàn)應(yīng)用程序的啟動(dòng)功能,采用這種方式對(duì)金融本的插件進(jìn)行動(dòng)態(tài)配置,同時(shí)提供參數(shù)啟動(dòng)插件或應(yīng)用,極具適用性和擴(kuò)展性,使得用戶可以在金融本這個(gè)平臺(tái)上啟動(dòng)或配置任意自定義插件和任意已知第三方插件。
文檔編號(hào)G06F9/445GK102262541SQ20111023083
公開(kāi)日2011年11月30日 申請(qǐng)日期2011年8月12日 優(yōu)先權(quán)日2011年8月12日
發(fā)明者萬(wàn)雪松, 于曉軍, 趙辰清 申請(qǐng)人:北京思創(chuàng)銀聯(lián)科技股份有限公司