專利名稱:字節(jié)碼運行平臺的可定制方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)網(wǎng)絡(luò)領(lǐng)域,尤其涉及字節(jié)碼運行平臺的可定制方法和裝置。
背景技術(shù):
字節(jié)碼(bytecode)不同于通常情況下經(jīng)過編譯器編譯后輸出的目標(biāo)代碼, 它是一種經(jīng)過編譯但仍然不可以讓目標(biāo)機(jī)器直接執(zhí)行的中間代碼。"中間代碼" 意味著在一個平臺生成的字節(jié)碼可能在與生成該字節(jié)碼的平臺不同的平臺上 運行,例如,對于嵌入式環(huán)境,為了節(jié)省嵌入式客戶端執(zhí)行解析、編譯的時間 和所需的內(nèi)存空間, 一種做法是將解析、編譯從處理字節(jié)碼的過程中抽離出來, 即,服務(wù)器預(yù)先對源代碼進(jìn)行解析和編譯(稱為"預(yù)編譯,,),客戶端(例如, 虛擬機(jī)或內(nèi)置虛擬機(jī)的瀏覽器)直接運行服務(wù)器生成的字節(jié)碼即可。由于生成 字節(jié)碼的平臺可能與運行字節(jié)碼的平臺并不相同,這種不同帶來與字節(jié)碼生成
和運行為同 一平臺不曾遇到的問題。
例如,客戶端的瀏覽器在版本升級后,可以運行此前不能支持的字節(jié)碼, 但此時服務(wù)器端的頁面并不能修改,這就導(dǎo)致直接運行字節(jié)碼時的錯誤。又如, 服務(wù)器端的頁面制作者在制作頁面時,由于規(guī)范不明確或頁面寫法不規(guī)范,在 頁面不能修改的情況下,客戶端在運行字節(jié)碼時要么忽略一些錯誤,要么只得 支持這種不規(guī)范的做法。再如,服務(wù)器端使用的是其他瀏覽器私有定義的對象 的頁面,當(dāng)前客戶端的瀏覽器在訪問頁面時,由于頁面也不能修改,導(dǎo)致不能 正常訪問。
這就是說,在現(xiàn)有技術(shù)中,服務(wù)器端并不是針對單個的客戶端,其本身存 在許多不確定的因素。如果要保證客戶端正常運行服務(wù)器端的宇節(jié)碼,客戶端 或其軟件(如虛擬機(jī)或瀏覽器)必須針對服務(wù)器端的變化作出相應(yīng)的變化,而 這種作出這種變化有時非常麻煩,例如,對客戶端的瀏覽器——進(jìn)行配置,耗 時又費力,違背了字節(jié)碼生成平臺和運行平臺分離的初衷。 發(fā)明內(nèi)容本發(fā)明實施例提供字節(jié)碼運行平臺的可定制方法和裝置,解決現(xiàn)有技術(shù)服 務(wù)器端有所變化時,客戶端需要一一進(jìn)行配置時耗時又費力的問題。
本發(fā)明實施例提供的字節(jié)碼運行平臺的可定制方法,包括生成功能集合,
所述功能集合包含的功能模塊滿足不同項目的不同需求;根據(jù)項目的需求,從 所述功能集合中選擇適合所述項目的一個或多個功能模塊;運行所述被選擇的 功能模塊。
本發(fā)明實施例提供的字節(jié)碼運行平臺的可定制方法,包括生成控制變量, 所述控制變量對功能集合包含的若干功能模塊進(jìn)行控制;創(chuàng)建全局對象并在所 述全局對象下生成與所述若干功能模塊一一對應(yīng)的屬性;從所述功能集合中選 擇適合項目的一個或多個功能模塊并運行所述被選擇的一個或多個功能模塊。
本發(fā)明實施例提供的字節(jié)碼運行平臺的可定制裝置,包括生成模塊,用 于生成功能集合,所述功能集合包含的功能模塊滿足不同項目的不同需求;選 擇模塊,用于根據(jù)項目的需求,從所述功能集合中選擇適合所述項目的一個或 多個功能模塊;運行模塊,用于運行所述被選擇的功能模塊。
本發(fā)明實施例提供的字節(jié)碼運行平臺的可定制裝置,包括變量生成模塊, 用于生成控制變量,所述控制變量對功能集合包含的若干功能模塊進(jìn)行控制; 屬性生成模塊,用于創(chuàng)建全局對象并在所述全局對象下生成與所述若干功能模 塊一一對應(yīng)的屬性;選擇模塊,用于從所述功能集合中選擇適合項目的一個或 多個功能模塊并運行所述被選擇的一個或多個功能模塊。
在本發(fā)明實施例中,通過生成滿足不同項目的不同需求的功能集合,在項 目有所需求時,從所述功能集合中選擇適合所述項目的一個或多個功能模塊并 運行所述被選擇的功能模塊。與現(xiàn)有技術(shù)相比,本發(fā)明實施例能夠從功能集合 中選擇出適合項目的功能模塊,因此,當(dāng)項目需求有所變動時,客戶端仍然能 夠支持。這種定制客戶端功能模塊的方法免除了對客戶端繁瑣的配置過程,能 夠方便地實現(xiàn)同一項目在訪問服務(wù)器端不同頁面時對不同功能集合的選擇,提 高了用戶在客戶端的操作效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述 中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付 出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖l是本發(fā)明實施例一提供的一種字節(jié)碼運行平臺的可定制方法基本流程
圖2是本發(fā)明實施例二提供的 一種字節(jié)碼運行平臺的可定制方法基本流程
圖3是本發(fā)明實施例三提供的一種字節(jié)碼運行平臺的可定制裝置基本邏輯 結(jié)構(gòu)示意圖4是本發(fā)明實施例四提供的 一種字節(jié)碼運行平臺的可定制裝置基本邏輯 結(jié)構(gòu)示意圖。
具體實施例方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清 楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是 全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造 性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實 施例提供跨平臺的字節(jié)序處理方法和相應(yīng)的跨平臺的字節(jié)序處理裝置。以下分 別進(jìn)行詳細(xì)il明。
請參閱圖1,本發(fā)明實施例一提供的一種字節(jié)碼運行平臺的可定制方法基 本流程,包括
步驟S101,生成功能集會,所述功能集合包含的功能模塊滿足不同項目的 不同需求。
在本發(fā)明實施例中,功能模塊作為功能集合包含的基本元素,應(yīng)該盡可能 滿足不同項目的不同需求。例如,某些項目需要當(dāng)前瀏覽器支持對異常的捕捉 或報錯,則功能集合應(yīng)該包含此功能;又如,某些項目需要當(dāng)前瀏覽器對私有 定義的內(nèi)置對象的支持,則功能集合也應(yīng)該包含此功能。
為了實現(xiàn)對功能集合的可定制,在本發(fā)明提供的實施例中,可以對生成的 功能集合進(jìn)行預(yù)處理。例如,可以采用宏定義命令對所述功能模塊進(jìn)行控制,該宏定義命令與所述功能模塊一一對應(yīng)。
舉例而言,若功能模塊是對異常捕捉語句"try... catch"的支持,則可以 采用例如OPTION—TRY—CATCH的宏命令進(jìn)行控制,即,在該功能模塊中,若 定義了宏OPTION_TRY_CATCH,則支持語句"try ... catch",否則,不支持語 句 "try ... catch"。
例如,#if defined ( OPTION—TRY_CATCH)
{...... } /*實現(xiàn)語句"try ... catch"的邏輯*/
endif
又如,若功能模塊是對某一內(nèi)置對象myObject的支持,則可以采用例如 OPTION—MYJ3BJECT的宏命令進(jìn)行控制,即,在該功能模塊中,若定義了宏 OPTION—MY—OBJECT,則支持內(nèi)置對象myObject,否則,不支持內(nèi)置對象 myObject。
例如,射f defined ( OPTION—MY—OBJECT) {……}嚴(yán)實現(xiàn)myObject對象的邏輯" endif
在本發(fā)明實施例中,上述技術(shù)方案的基本原則是,創(chuàng)建的宏定義命令與所 述功能模塊應(yīng)該一一對應(yīng),功能集合對應(yīng)于宏定義命令的集合。
步驟S102,根據(jù)項目的需求,從所述功能集合中選擇適合所述項目的一個 或多個功能模塊。
與現(xiàn)有技術(shù)不同,在本發(fā)明實施例中,當(dāng)項目需要某些功能時,并不是去 臨時配置客戶端的瀏覽器,而是從直接功能集合中選擇適合所述項目的一個或 多個功能模塊,這在功能實現(xiàn)的效率上有所提高。
在本發(fā)明實施例中,在生成功能集合之后,還可以進(jìn)一步建立所述功能集 合的索引模塊,例如,在具體軟件實現(xiàn)時,索引模塊可以是一個頭文件。此處, 索引模塊包含前述宏定義命令的集合。如此,從所述功能集合中選擇適合所述 項目的一個或多個功能模塊包括
步驟l、根據(jù)所述索引模塊,引用所述功能集合;
步驟2、從所述索引模塊選擇與所述項目的一個或多個功能模塊對應(yīng)的宏定義命令。
實際上,如前所述,由于宏定義命令與所述功能模塊一一對應(yīng),從所述索 引模塊選擇與所述項目的一個或多個功能模塊對應(yīng)的宏定義命令也就是從所 述功能集合中選擇適合所述項目的一個或多個功能模塊。
例如,若索引模塊為頭文件"conf.h",則引用該索引模塊的某種計算機(jī) 語言(例如,C語言)的實現(xiàn)為 弁include "conf.h,'
再從所述頭文件"conf.h"選擇性定義項目所需要的宏定義命令。例如, 某一項目需要支持"try ... catch"語句,但不需要支持myObject內(nèi)置對象,則 頭文件"conf.h"內(nèi)容可以為
#defme OPTIONA—TRY_CATCH
與此同時,直接刪除弁defme OPTION_MY—OBJECT或采用計算機(jī)語言的 語法功能消除宏定義。
步驟S103,運行所述被選擇的功能模塊。
請參閱圖2,本發(fā)明實施例二提供的一種字節(jié)碼運行平臺的可定制方法基 本流程,包括
步驟S201,生成控制變量,所述控制變量對功能集合包含的若干功能模塊 進(jìn)行控制。
與本發(fā)明實施例一不同,在本實施例中,是將功能集合包含的功能模塊的 實現(xiàn)都包含在代碼中,因此,可以生成一些控制變量,采用控制變量對功能集 合包含的若干功能模塊進(jìn)行控制。具體實施時,可以是一個控制變量對應(yīng)一個 功能模塊,也可以采用 一個控制變量對應(yīng)若干個功能模塊的方式進(jìn)行控制。
舉例而言,若某個功能模塊是實現(xiàn)對語句"try... catch"的支持,則可以 用控制變量g^confLtry—catch對該功能模塊進(jìn)行控制;又如,若某個功能模塊是 實現(xiàn)對內(nèi)置對象myObject的支持,則可以用控制變量g^conflmy—object對該功 能模塊進(jìn)行控制。
當(dāng)然,為了保持通用性,控制變量可以是全局控制變量。
步驟S202,創(chuàng)建全局對象并在所述全局對象下生成與所述若干功能模塊一
8一對應(yīng)的屬性。
在本發(fā)明實施例中,可以在生成一些控制所述若干功能模塊控制變量之 后,創(chuàng)建一個全局對象。為了操控方便,該全局對象可以是客戶端私有定義的 全局內(nèi)置對象。然后,在該全局對象下生成與所述若干功能模塊一一對應(yīng)的屬 性。屬性可以為"開""關(guān)"屬性,例如,可以是布爾變量的邏輯0和邏輯1的 二值屬性等等。
舉例而言,可以創(chuàng)建一個全局對象Conf,在該對象下生成與所述若干功能 模塊——對應(yīng)的屬性。例如,生成屬性Conf.tryCatch、 Conf. myObject等等, 這些屬性都具有"開""關(guān)"功能,即,當(dāng)屬性為某個邏輯值時,實現(xiàn)某個功 能模塊,或者,當(dāng)屬性為某個邏輯值的相反邏輯值時,不實現(xiàn)某個功能模塊。
在本發(fā)明實施例中,所述屬性是與所述控制變量關(guān)聯(lián)的,即,當(dāng)屬性為一 個邏輯值時,可以使與其關(guān)聯(lián)的控制變量變?yōu)橥贿壿嬛怠?br>
步驟S203,從所述功能集合中選擇適合項目的一個或多個功能模塊并運行 所述被選擇的一個或多個功能模塊。
本步驟的實現(xiàn)可以先將所述屬性賦值為"開"或"關(guān)"中的一種,例如, 賦值為邏輯0或邏輯1。
由于控制變量與所述屬性關(guān)聯(lián),因此,在將所述屬性賦值為"開"或"關(guān)" 中的一種之后,可以相應(yīng)地將與所述屬性關(guān)聯(lián)的控制變量的值修改為"開"或 "關(guān)"中的一種,例如,賦值為邏輯0或邏輯1。
如前所述,由于這些屬性都具有"開""關(guān)"功能,即,當(dāng)屬性為某個邏 輯值時,實現(xiàn)某個功能模塊,或者,當(dāng)屬性為某個邏輯值的相反邏輯值時,不 實現(xiàn)某個功能模塊,因此,根據(jù)所述控制變量的邏輯值,選擇適合項目的一個 或多個功能模塊并運行所述被選擇的一個或多個功能模塊。
舉例而言,假設(shè)采用屬性Conf . tryCatch對控制變量g^onfjr^catch進(jìn)行 控制,則若服務(wù)器頁面的JavaScript語句為
Conf. tryCatch = 1/*屬性賦邏輯值1 */
可以將控制變量g^onf—try—catch修改為l,實現(xiàn)對語句"try... catch"的支 持相關(guān)的計算機(jī)代碼即為If ( g_conf_try_catch = = 1 )
{……} /*實現(xiàn)語句"try. catch" *的邏輯/
假設(shè)采用屬性Conf . myObject對控制變fg_conf_my—object進(jìn)行控制,則 若服務(wù)器頁面的JavaScript語句為
Conf. myObject = 1/*屬性賦邏輯值1 */
可以將控制變fg_conf—my—object修改為1,在myObject語句相關(guān)的計算機(jī) 代碼即為
If ( g_conf_my—object = = 1 )
{......} 嚴(yán)實現(xiàn)myObject語句的邏輯"
上述實施例的優(yōu)點是,項目使用的客戶端瀏覽器編譯后,雖然不能再更改, 但不同的頁面仍然可以控制當(dāng)前頁面的功能支持集合。
舉例而言,例如,實際的頁面存在兩套,舊的一套,try...catch...語句使 用有問題,如果支持"try...catch..."語句會導(dǎo)致頁面邏輯有誤。新的一套, 正確使用"try...catch..."語句,這樣可以引入兩個過渡頁面old2new.html和 new2old.html。
從舊的轉(zhuǎn)到新的,頁面跳轉(zhuǎn)的過程為
old.html => old2new.html => new.html
old2new.html的內(nèi)容為
<html〉
<head>
</head>
<body>
<script>
Conf.tryCatch = 1;
window.location.href="new.html";
</script>
</body>
</html>從新的轉(zhuǎn)到舊的,頁面跳轉(zhuǎn)的過程為
new.html => new2old.html =〉 old.html
new2old.html的內(nèi)容為
<html〉
<head>
</head〉
<body>
<script>
Conf.tryCatch = 0;
window.location.href="old.htmr';
</script>
</body>
</html>
這樣實現(xiàn)了同 一個項目在訪問不同頁面時,對不同功能集合的選擇。
請參閱圖3,本發(fā)明實施例三提供的一種字節(jié)碼運行平臺的可定制裝置。 為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分。該裝置中的模塊可以是 軟件模塊、硬件模塊或軟硬件相結(jié)合的模塊,包括
生成模塊301,用于生成功能集合,所述功能集合包含的功能模塊滿足不 同項目的不同需求。
在本發(fā)明實施例中,功能模塊作為功能集合包含的基本元素,應(yīng)該盡可能 滿足不同項目的不同需求。例如,某些項目需要當(dāng)前瀏覽器支持對異常的捕捉 或報錯,則生成模塊301生成的功能集合應(yīng)該包含此功能;又如,某些項目需 要當(dāng)前瀏覽器對私有定義的內(nèi)置對象的支持,則功能集合也應(yīng)該包含此功能。
舉例而言,若功能模塊是對異常捕捉語句"try... catch"的支持,則可以 采用例如OPTION—TRYJ3ATCH的宏命令進(jìn)行控制,即,在該功能模塊種,若 定義了宏OPTION—TRY—CATCH,則支持語句"try ... catch",否則,不支持語 句 "try ... catch,,。
例如,#if defined ( OPTION—TRY—CATCH ){...... } /*實現(xiàn)語句"try... catch"的邏輯*/
endif
又如,若功能模塊是對某一內(nèi)置對象myObject的支持,則可以采用例如 OPTION—MYJ3BJECT的宏命令進(jìn)行控制,即,在該功能模塊種,若定義了宏 OPTION—MY—OBJECT,則支持內(nèi)置對象myObject,否則,不支持內(nèi)置對象 myObject。
例如,#if defined ( OPTION_MY—OBJECT) {……}嚴(yán)實現(xiàn)myObject對象的邏輯" endif
在本發(fā)明實施例中,上述技術(shù)方案的基本原則是,創(chuàng)建的宏定義命令與所 述功能模塊應(yīng)該一一對應(yīng),功能集合對應(yīng)于宏定義命令的集合。
選擇模塊302,用于根據(jù)項目的需求,從所述生成模塊301生成的功能集合 中選擇適合所述項目的一個或多個功能模塊。
在本發(fā)明實施例中,在所述生成模塊301生成功能集合之后,還可以進(jìn)一 步建立所述功能集合的索引;f莫塊,例如,在具體軟件實現(xiàn)時,索引模塊可以是 一個頭文件。此處,索引模塊包含前述宏定義命令的集合。如此,選擇模塊302 從所述功能集合中選擇適合所述項目的一個或多個功能模塊包括
步驟l、根據(jù)所述索引模塊,引用所述功能集合;
步驟2、從所迷索引模塊選擇與所述項目的一個或多個功能模塊對應(yīng)的宏 定義命令。
實際上,如前所述,由于宏定義命令與所述功能模塊一一對應(yīng),從所述索 引模塊選擇與所述項目的一個或多個功能模塊對應(yīng)的宏定義命令也就是從所 述功能集合中選擇適合所述項目的一個或多個功能模塊。
例如,若索引模塊為頭文件"conf.h",則引用該索引模塊的某種計算機(jī) 語言(例如,C語言)的實現(xiàn)為
弁include "conf.h,,
再從所述頭文件"conf.h"選擇性定義項目所需要的宏定義命令。例如, 某一項目需要支持"try ... catch"語句,但不需要支持myObject內(nèi)置對象,則頭文件"conf.h"內(nèi)容可以為:
#defme OPT薩A—TRY一CATCH
與此同時,直接刪除弁define OPTION_MY—OBJECT或采用計算機(jī)語言的 語法功能消除宏定義。
運行模塊303,用于運行所述被選擇的功能模塊。
為了實現(xiàn)對功能集合的可定制,在本發(fā)明提供的實施例中,所述裝置進(jìn)一 步包括預(yù)處理模塊304,用于對所述生成模塊301生成的功能集合進(jìn)行預(yù)處理。 例如,可以采用宏定義命令對所述功能模塊進(jìn)行控制,該宏定義命令與所述功 能模塊一一對應(yīng)。
請參閱圖4,本發(fā)明實施例四提供的一種字節(jié)碼運行平臺的可定制裝置。 為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分。該裝置中的模塊可以是 軟件模塊、硬件模塊或軟硬件相結(jié)合的模塊,包括
變量生成模塊401,用于生成控制變量,所述控制變量對功能集合404包含 的若干功能模塊進(jìn)行控制。
在本實施例中,是將功能集合包含的功能模塊的實現(xiàn)都包含在代碼中,因 此,可以通過變量生成模塊401生成一些控制變量,采用控制變量對功能集合 包含的若干功能模塊進(jìn)行控制。具體實施時,可以是一個控制變量對應(yīng)一個功 能模塊,也可以采用一個控制變量對應(yīng)若干個功能模塊的方式進(jìn)行控制。
舉例而言,若某個功能模塊是實現(xiàn)對語句"try... catch"的支持,則可以 用控制變量g^onfLtryjatch對該功能模塊進(jìn)行控制;又如,若某個功能模塊是 實現(xiàn)對內(nèi)置對象myObject的支持,則可以用控制變量g^onf—myjbject對該功 能模塊進(jìn)行控制。
當(dāng)然,為了保持通用性,控制變量可以是全局控制變量。
屬性生成^t塊402,用于創(chuàng)建全局對象并在所述全局對象下生成與所述若 干功能模塊一一對應(yīng)的屬性。
在本發(fā)明實施例中,可以在變量生成模塊401生成一些控制所述若干功能 模塊控制變量之后,通過屬性生成模塊402創(chuàng)建一個全局對象。為了操控方便, 該全局對象可以是客戶端私有定義的全局內(nèi)置對象。然后,在該全局對象下生
13成與所述若干功能模塊一一對應(yīng)的屬性。屬性可以為"開,,"關(guān)"屬性,例如, 可以是布爾變量的邏輯0和邏輯1的二值屬性等等。
舉例而言,可以通過屬性生成模塊402創(chuàng)建一個全局對象Conf,在該對象 下生成與所述若干功能模塊——對應(yīng)的屬性。例如,生成屬性Conf.tryCatch、 Conf . myObject等等,這些屬性都具有"開""關(guān)"功能,即,當(dāng)屬性為某個 邏輯值時,實現(xiàn)某個功能模塊,或者,當(dāng)屬性為某個邏輯值的相反邏輯值時, 不實現(xiàn)某個功能模塊。
選擇模塊403,用于從所述功能集合中選擇適合項目的一個或多個功能模 塊并運行所述被選擇的一個或多個功能模塊。
選擇模塊403實現(xiàn)過程包括
可以先將所述屬性賦值為"開"或"關(guān)"中的一種,例如,賦值為邏輯0 或邏輯l;
相應(yīng)地將與所述屬性關(guān)聯(lián)的控制變量的值修改為"開"或"關(guān)"中的一種, 例如,賦值為邏輯0或邏輯1;
根據(jù)所述控制變量的邏輯值,選擇適合項目的一個或多個功能模塊并運行 所述被選擇的一個或多個功能模塊。
舉例而言,假設(shè)采用屬性Conf . tryCatch對控制變量g^onfJryjatch進(jìn)行 控制,則若服務(wù)器頁面的JavaScript語句為
Conf. tryCatch = 1/*屬性賦邏輯值1 */
可以將控制變量Lconf—try—catch修改為l,實現(xiàn)對語句"try... catch"的支 持相關(guān)的計算機(jī)代碼即為
If ( g_conf—try_catch = = 1 )
{ ...} /*實現(xiàn)語句"try... catch" *的邏輯/
假設(shè)采用屬性Conf . myObject對控制變量^conf—my—object進(jìn)行控制,則 若服務(wù)器頁面的JavaScript語句為
Conf. myObject = 1/*屬性賦邏輯值1 */
可以將控制變量g^onf—my—object修改為1,在myObject語句相關(guān)的計算積』 代碼即為:If ( g_conf—my—object = = 1 )
{...... } /*實現(xiàn)myObject語句的邏輯*/
所述裝置進(jìn)一步包括
關(guān)聯(lián)模塊405,用于對所述變量生成模塊401生成的控制變量與所述屬性生 成模塊402生成的屬性進(jìn)行關(guān)聯(lián),即,當(dāng)屬性為一個邏輯值時,可以使與其關(guān) 聯(lián)的控制變量變?yōu)橥贿壿嬛怠?br>
驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機(jī)可讀 存儲介質(zhì)中,存儲介質(zhì)可以包括只讀存儲器(ROM, Read Only Memory )、 隨才幾存取存儲器(RAM, Random Access Memory )、》茲盤或光盤等。
了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,
本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均 會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1、一種字節(jié)碼運行平臺的可定制方法,其特征在于,包括生成功能集合,所述功能集合包含的功能模塊滿足不同項目的不同需求;根據(jù)項目的需求,從所述功能集合中選擇適合所述項目的一個或多個功能模塊;運行所述被選擇的功能模塊。
2、 如權(quán)利要求l所述字節(jié)碼運行平臺的可定制方法,其特征在于,還包括 對所述生成的功能集合進(jìn)行預(yù)處理。
3、 如權(quán)利要求2所述字節(jié)碼運行平臺的可定制方法,其特征在于,所述對 所述生成的功能集合進(jìn)行預(yù)處理包括采用宏定義命令對所述功能模塊進(jìn)行控 制,所述宏定義命令與所述功能模塊一一對應(yīng)。
4、 如權(quán)利要求3所述字節(jié)碼運行平臺的可定制方法,其特征在于,所述生 成功能集合之后還包括建立所述功能集合的索引模塊,所述索引模塊包含所述 宏定義命令。
5、 如權(quán)利要求4所述字節(jié)碼運行平臺的可定制方法,其特征在于,從所述 功能集合中選擇適合所述項目的 一個或多個功能模塊包括根據(jù)所述索引模塊,引用所述功能集合;從所述索引模塊選擇與所述項目的一個或多個功能模塊對應(yīng)的宏定義命令。
6、 一種字節(jié)碼運行平臺的可定制方法,其特征在于,包括 生成控制變量,所述控制變量對功能集合包含的若干功能模塊進(jìn)行控制; 創(chuàng)建全局對象并在所述全局對象下生成與所述若干功能模塊一一對應(yīng)的屬性;從所述功能集合中選擇適合項目的一個或多個功能模塊并運行所述被選 擇的一個或多個功能模塊。
7、 如權(quán)利要求6所述字節(jié)碼運行平臺的可定制方法,其特征在于,所述屬 性為"開""關(guān)"屬性。
8、 如權(quán)利要求7所述字節(jié)碼運行平臺的可定制方法,其特征在于,所述"開" "關(guān)"屬性為布爾變量的邏輯0和邏輯1的二值屬性。
9、 如權(quán)利要求8所述字節(jié)碼運行平臺的可定制方法,其特征在于,所述屬性與所述控制變量關(guān)聯(lián)。
10、 如權(quán)利要求9所述字節(jié)碼運行平臺的可定制方法,其特征在于,所述 從所述功能集合中選擇適合項目的一個或多個功能模塊并運行所述被選擇的一個或多個功能模塊包括將所述屬性賦值為邏輯0或邏輯1;相應(yīng)地將與所述屬性關(guān)聯(lián)的控制變量的值修改為邏輯0或邏輯1; 根據(jù)所述控制變量的邏輯值,選擇適合項目的一個或多個功能模塊并運行 所述被選擇的一個或多個功能模塊。
11、 一種字節(jié)碼運行平臺的可定制裝置,其特征在于,包括 生成模塊,用于生成功能集合,所述功能集合包含的功能模塊滿足不同項目的不同需求;選擇模塊,用于根據(jù)項目的需求,從所述功能集合中選擇適合所述項目的 一個或多個功能模塊;運行模塊,用于運行所述被選擇的功能模塊。
12、 如權(quán)利要求ll所述字節(jié)碼運行平臺的可定制裝置,其特征在于,所述 裝置還包括預(yù)處理^f莫塊,用于對所述生成^f莫塊生成的功能集合進(jìn)行預(yù)處理。
13、 一種字節(jié)碼運行平臺的可定制裝置,其特征在于,包括 變量生成模塊,用于生成控制變量,所述控制變量對功能集合包含的若干功能模塊進(jìn)行控制;屬性生成模塊,用于創(chuàng)建全局對象并在所述全局對象下生成與所述若干功 能模塊一一對應(yīng)的屬性;選擇模塊,用于從所述功能集合中選擇適合項目的一個或多個功能模塊并運行所述被選擇的一個或多個功能模塊。
14、 如權(quán)利要求13所述字節(jié)碼運行平臺的可定制裝置,其特征在于,所述 裝置還包括關(guān)聯(lián)模塊,用于對所述變量生成模塊生成的控制變量與所述屬性生成模塊 生成的屬性進(jìn)行關(guān)聯(lián)。
全文摘要
本發(fā)明公開了一種字節(jié)碼運行平臺的可定制方法,以解決服務(wù)器端有所變化時,客戶端需要一一進(jìn)行配置時耗時費力的問題。該方法包括生成功能集合,所述功能集合包含的功能模塊滿足不同項目的不同需求;根據(jù)項目的需求,從所述功能集合中選擇適合所述項目的一個或多個功能模塊;運行所述被選擇的功能模塊。本發(fā)明實施例還提供相應(yīng)的字節(jié)碼運行平臺的可定制裝置。本發(fā)明技術(shù)方案由于能夠從功能集合中選擇出適合項目的功能模塊,因此,當(dāng)項目需求有所變動時,客戶端仍然能夠支持。這種定制客戶端功能模塊的方法免除了對客戶端繁瑣的配置過程,能夠方便地實現(xiàn)同一項目在訪問服務(wù)器端不同頁面時對不同功能集合的選擇,提高了用戶在客戶端的操作效率。
文檔編號G06F9/44GK101650654SQ20091017294
公開日2010年2月17日 申請日期2009年9月11日 優(yōu)先權(quán)日2009年9月11日
發(fā)明者徐佳宏, 朱呂亮, 程伯欽 申請人:深圳市茁壯網(wǎng)絡(luò)股份有限公司