專利名稱:一種處理多類引擎Widget的方法及裝置的制作方法
技術(shù)領域:
本發(fā)明涉及一種處理多類引擎Widget的方法及裝置,屬于互聯(lián)網(wǎng)平臺組件技術(shù) 領域。
背景技術(shù):
目前Mobile Widget (移動小部件)發(fā)展迅猛,逐漸成為第三代通信下的一種重要 的手機應用模式。而手機操作系統(tǒng)類型包括很多種,例如以Windowsmobilejymbiarupalm 等為代表的智能機操作系統(tǒng),以及一般的非智能機操作系統(tǒng),各類操作系統(tǒng)對Widget業(yè)務 的解析方式以及支持度等不盡相同。各家SP已經(jīng)針對各類手機版本分別開發(fā)Widget業(yè)務, 并且對Widget業(yè)務進行標注,后續(xù)根據(jù)標注維護Widget業(yè)務的發(fā)布和下載;或者通過根據(jù) 各類引擎之間轉(zhuǎn)換的規(guī)則,對各類引擎的Widget業(yè)務進行轉(zhuǎn)換,以實現(xiàn)對Widget業(yè)務的開 發(fā)和維護。在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題由于手機版本繁多、低端非智能手機性能有限以及各類手機Widget業(yè)務的標準 也不盡相同(例如JIL標準和Bondi標準),導致針對某一個Widget業(yè)務,開發(fā)者往往需要 針對不同的手機平臺分別開發(fā)不同的版本,工作量大、效率較低,同時Widget業(yè)務也非常 不易開發(fā)和維護。
發(fā)明內(nèi)容
本發(fā)明的實施例提供了一種處理多類引擎Widget的方法及裝置,能夠提高對 Widget業(yè)務的開發(fā)和維護的效率,同時更能夠獲知在其他平臺不能運行的原因,便于業(yè)務 開發(fā)者對Widget業(yè)務進行開發(fā)和維護。一種處理多類引擎Widget的方法,包括根據(jù)加載的分揀規(guī)則對當前的Widget業(yè)務進行分揀并獲得分揀結(jié)果,所述分揀 結(jié)果包括被分揀的Widget業(yè)務能夠運行的平臺、不能運行的平臺以及原因。一種處理多類引擎Widget的裝置,包括分揀單元,用于根據(jù)加載的分揀規(guī)則對當前的Widget業(yè)務進行分揀并獲得分揀 結(jié)果,所述分揀結(jié)果包括被分揀的Widget業(yè)務能夠運行的平臺、不能運行的平臺以及原 因。由上述本發(fā)明的實施例提供的技術(shù)方案可以看出,通過對當前的Widget業(yè)務進 行分揀,獲得當前的Widget業(yè)務是否能在待檢測平臺上運行,以及不能運行的原因,便于 業(yè)務開發(fā)者對Widget業(yè)務進行開發(fā)和維護,同時也提高了對Widget業(yè)務的開發(fā)和維護的效率。
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本 領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他 的附圖。圖1為本發(fā)明的實施例提供的分揀Widget業(yè)務的流程示意圖;圖2為本發(fā)明的實施例提供的針對各類平臺分別開發(fā)Widget業(yè)務的流程示意 圖;圖3為本發(fā)明的實施例提供的針對各類平臺開發(fā)統(tǒng)一版本W(wǎng)idget業(yè)務的流程示 意圖;圖4為本發(fā)明的實施例提供的發(fā)布Widget業(yè)務的流程示意圖;圖5為本發(fā)明的實施例提供的一種處理多類引擎Widget的裝置的結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。本發(fā)明的實施例提供了一種處理多類引擎Widget的方法,具體可以包括根據(jù)加 載的分揀規(guī)則對當前的Widget業(yè)務進行分揀并獲得分揀結(jié)果,所述分揀結(jié)果包括被分揀 的Widget業(yè)務能夠運行的平臺、不能運行的平臺以及原因。針對已有的平臺,Widget業(yè)務的開發(fā)和維護可以包括文件預處理和設定分揀規(guī) 則。相應的文件預處理可以包括對Widget業(yè)務的文件進行內(nèi)嵌腳本提取、注釋屏蔽、 字符串屏蔽等操作,文件預處理能夠提高分揀結(jié)果的正確性和分揀效率。相應的分揀規(guī)則可以包括基本規(guī)則過濾和高級規(guī)則過濾。相應的基本規(guī)則過濾 是指能夠使用正則表達式進行描述的規(guī)則,其中正則表達式是指一個用來描述或者匹配一 系列符合某個句法規(guī)則的字符串的單個字符串,可以以該字符串作為關鍵字,將所有包含 該字符串的語法規(guī)則檢索出來,以實現(xiàn)對規(guī)則進行過濾。例如某平臺引擎不支持parent, enulator對象,則這條規(guī)則就可以通過正則表達式進行描述。基本規(guī)則過濾可以通過正 則表達式來完成,每命中一條規(guī)則,則所有不支持該規(guī)則對應屬性或特性的平臺引擎即可 從當前Widget業(yè)務的引擎集合中排除。相應的高級規(guī)則過濾是指不能夠使用正則表達式 進行描述的規(guī)則,這類規(guī)則需要通過語法語義的分析進行過濾。首先對當前Widget業(yè)務 進行語法分析,生成當前Widget業(yè)務對應的語法樹,然后對規(guī)則庫中記錄的某個分揀規(guī)則 進行語法分析,生成對應的規(guī)則語法樹,如果該規(guī)則語法樹是當前Widget業(yè)務對應的語法 樹的子樹則表明命中該分揀規(guī)則,所有不支持該規(guī)則對應屬性或特性的平臺引擎便從當前 Widget業(yè)務的引擎集中排除。相應的規(guī)則庫可以是以XML文件格式儲存,也可以通過數(shù)據(jù) 庫等其它存儲方式進行存儲和維護。圖1是一個完整的分揀Widget業(yè)務的流程示意圖,包括了組件初始化(加載分 揀規(guī)則)、加載待分揀業(yè)務、文件名/類型過濾、文件預處理、基本規(guī)則過濾以及高級規(guī)則過 濾。當加載了分揀規(guī)則和待分揀業(yè)務后開始分揀,首先經(jīng)過文件名/類型過濾和文件預處理,然后對待分揀Widget業(yè)務進行基本規(guī)則過濾和高級規(guī)則過濾,若當前的Widget業(yè)務 符合分揀規(guī)則的要求,則所述當前的Widget業(yè)務能在待檢測平臺上運行,否則所述當前的 Widget業(yè)務不能在待檢測平臺上運行。在一個Windows mobile操作系統(tǒng)的手機中,能夠支 持的Widget業(yè)務有很多,但并不是用戶全都需要,所以可以通過上述方法進行分揀。例如, 在分揀過程中,采用某種高級語言編程的規(guī)則不能夠在Windowsmobile操作系統(tǒng)系統(tǒng)中運 行,則含有該規(guī)則關鍵字的所有規(guī)則都會被過濾掉;又如,對不能用正則表達式表達的規(guī)則 可以通過語法分析建立語法樹,在將規(guī)則庫中記錄的規(guī)則語法樹進行比較,若該規(guī)則語法 樹是該語法樹的子樹,則會被過濾掉,以達到過濾規(guī)則的目的。本發(fā)明的實施例通過對當前的Widget業(yè)務進行分揀,獲得當前的Widget業(yè)務是 否能在待檢測平臺上運行,以及不能運行的原因,便于業(yè)務開發(fā)者對Widget業(yè)務進行開發(fā) 和維護,同時也提高了對Widget業(yè)務的開發(fā)和維護的效率。在 IDE(Integrated Development Environment,集成開發(fā)環(huán)境)端,SP 可以通過 本發(fā)明的實施例方便地獲知當前Widget業(yè)務能夠在哪些手機平臺上運行,對于不能運行 的平臺,能夠準確獲知原因,便于快速的定位修改,無需每個版本從頭開發(fā),極大地提高開 發(fā)效率。如圖2所示,對于各類平臺的規(guī)則之間存在沖突的情況,SP可以首先開發(fā)某平臺業(yè) 務,然后根據(jù)本發(fā)明實施例的分揀結(jié)果(即該業(yè)務在其他所有待測平臺上能否運行以及不 能運行的原因)快速修改業(yè)務以產(chǎn)生各類平臺都能夠支持的Widget業(yè)務,例如,對于能夠 在symb系統(tǒng)上運行而不能在palm系統(tǒng)上運行的Widget業(yè)務,可以針對編寫palm系統(tǒng)的 語言特點,將Widget業(yè)務中的在symb系統(tǒng)與palm系統(tǒng)上相同的語言保留,將不同的symb 語言替換為palm語言,以實現(xiàn)Widget業(yè)務在兩種系統(tǒng)上的互通;如圖3所示,對于各類平 臺的規(guī)則之間不存在沖突的情況,SP可以根據(jù)本發(fā)明實施例的分揀結(jié)果快速開發(fā)出能夠運 行于所有平臺的Widget業(yè)務。在服務器端,通過本發(fā)明的實施例也可以自動對上傳的Widget業(yè)務進行分揀,這 就省略了開發(fā)后標注的環(huán)節(jié),也提高了對Widget業(yè)務分類的準確性,從而優(yōu)化了 Widget 業(yè)務的維護和下載環(huán)節(jié)。發(fā)布Widget業(yè)務的過程可以參考圖4,首先將Widget業(yè)務發(fā)布 到服務器上,然后對Widget業(yè)務進行分揀,并將分檢結(jié)果返回,根據(jù)分揀結(jié)果發(fā)布和維護 Widget 業(yè)務。本領域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以 通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì) 中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁 碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。本發(fā)明的實施例還提供了一種處理多類引擎Widget的裝置,可以作為一個組件 設置在各種手機中,也可以作為一個模塊集成在SP開發(fā)系統(tǒng)中,用于對各種引擎的Widget 業(yè)務進行分揀并獲知當前Widget業(yè)務能夠在哪些手機平臺上運行,以及不能運行的原因。 該裝置如圖5所示,具體可以包括分揀單元51,用于從分揀規(guī)則文件庫52中加載分揀規(guī)則,并對當前的Widget業(yè)務 進行分揀并獲得分揀結(jié)果,所述分揀結(jié)果包括被分揀的Widget業(yè)務能夠運行的平臺、不能 運行的平臺以及原因。
進一步地,在分揀單元51中,相應的分揀規(guī)則包括文件預處理,所述文件預處理 包括內(nèi)嵌腳本提取、注釋屏蔽或字符串屏蔽。以及,在分揀單元51中,相應的分揀規(guī)則還包 括基本規(guī)則過濾和高級規(guī)則過濾,基本規(guī)則過濾包括將所有待檢測平臺Widget引擎中不 支持的、且使用正則表達式能夠描述的屬性用正則表達式描述,通過正則表達式對Widget 業(yè)務進行過濾查找,若命中某正則表達式,則表明Widget業(yè)務中使用了該基本規(guī)則對應的 屬性,該Widget業(yè)務在所有不支持該屬性的平臺上都不能運行;高級規(guī)則過濾包括將所 有待檢測平臺Widget引擎中不支持的、且使用正則表達式無法描述的特性用語法樹進行 描述,同時對Widget業(yè)務進行語法分析并生成對應的語法樹,若某高級規(guī)則對應的語法樹 是Widget業(yè)務語法樹的子樹,則表明當前的Widget業(yè)務中使用了該高級規(guī)則對應的特 性,該Widget業(yè)務在所有不支持該特性的平臺上都不能運行。另外,在分揀單元51中,所 述對當前的Widget業(yè)務進行分揀具體包括若Widget業(yè)務命中某些分揀規(guī)則,則所述當前 的Widget業(yè)務在所有不支持所述分揀規(guī)則對應的屬性或特性的平臺上都不能運行,同時 Widget業(yè)務能在在除此之外的其他平臺上運行。本實施例通過分揀單元根據(jù)加載的分揀規(guī)則對當前的Widget業(yè)務進行分揀并獲 得分揀結(jié)果,獲得當前的Widget業(yè)務是否能在待檢測平臺上運行,以及不能運行的原因, 便于業(yè)務開發(fā)者對Widget業(yè)務進行開發(fā)和維護,同時也提高了對Widget業(yè)務的開發(fā)和維 護的效率。上述裝置中包含的各單元的處理功能的具體實施例在之前的方法實施例中已經(jīng) 描述,在此不再重復描述。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術(shù)領域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權(quán)利要求的保護范圍 為準。
權(quán)利要求
1.一種處理多類引擎Widget的方法,其特征在于,包括根據(jù)加載的分揀規(guī)則對當前的Widget業(yè)務進行分揀并獲得分揀結(jié)果,所述分揀結(jié)果 包括被分揀的Widget業(yè)務能夠運行的平臺、不能運行的平臺以及原因。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述分揀規(guī)則包括文件預處理,所述文件 預處理包括內(nèi)嵌腳本提取、注釋屏蔽以及字符串屏蔽。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述分揀規(guī)則還包括基本規(guī)則過濾,所述 基本規(guī)則過濾包括將所有待檢測平臺Widget引擎中不支持的且使用正則表達式能夠描述 的屬性用正則表達式描述,通過正則表達式對Widget業(yè)務進行過濾查找,若命中某正則表 達式,則表明Widget業(yè)務中使用了該基本規(guī)則對應的屬性,該Widget業(yè)務在所有不支持該 屬性的平臺上都不能運行。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述分揀規(guī)則還包括高級規(guī)則過濾,所述 高級規(guī)則過濾包括將所有待檢測平臺Widget引擎中不支持的、且使用正則表達式無法描 述的特性用語法樹進行描述,同時對Widget業(yè)務進行語法分析并生成對應的語法樹,若某 高級規(guī)則對應的語法樹是Widget業(yè)務語法樹的子樹,則表明當前的Widget業(yè)務中使用了 該高級規(guī)則對應的特性,該Widget業(yè)務在所有不支持該特性的平臺上都不能運行。
5.根據(jù)權(quán)利要求1至4任意一項所述的方法,其特征在于,所述對當前的Widget業(yè)務 進行分揀具體包括若當前的Widget業(yè)務命中某條分揀規(guī)則,則所述當前的Widget業(yè)務在所有不支持所 述分揀規(guī)則對應的屬性或特性的平臺上不能運行,同時Widget業(yè)務能在在除此之外的其 他平臺上運行。
6.一種處理多類引擎Widget的裝置,其特征在于,包括分揀單元,用于根據(jù)加載的分揀規(guī)則對當前的Widget業(yè)務進行分揀并獲得分揀結(jié)果, 所述分揀結(jié)果包括被分揀的Widget業(yè)務能夠運行的平臺、不能運行的平臺以及原因。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,在分揀單元中,所述分揀規(guī)則包括文件預 處理,所述文件預處理包括內(nèi)嵌腳本提取、注釋屏蔽以及字符串屏蔽。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,在分揀單元中,所述分揀規(guī)則還包括基本 規(guī)則過濾,所述基本規(guī)則過濾包括將所有待檢測平臺Widget引擎中不支持的、且使用正則 表達式能夠描述的屬性用正則表達式描述,通過正則表達式對Widget業(yè)務進行過濾查找, 若命中某正則表達式,則表明Widget業(yè)務中使用了該基本規(guī)則對應的屬性,該Widget業(yè)務 在所有不支持該屬性的平臺上都不能運行。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,在分揀單元中,所述分揀規(guī)則還包括高級 規(guī)則過濾,所述高級規(guī)則過濾包括將所有待檢測平臺Widget引擎中不支持的、且使用正則 表達式無法描述的特性用語法樹進行描述,同時對Widget業(yè)務進行語法分析并生成對應 的語法樹,若某高級規(guī)則對應的語法樹是Widget業(yè)務語法樹的子樹,則表明當前的Widget 業(yè)務中使用了該高級規(guī)則對應的特性,該Widget業(yè)務在所有不支持該特性的平臺上都不 能運行。
10.根據(jù)權(quán)利要求6至9任意一項所述的裝置,其特征在于,在分揀單元中,所述對當前 的Widget業(yè)務進行分揀具體包括若當前的Widget業(yè)務命中某些分揀規(guī)則,則所述當前的Widget業(yè)務在所有不支持所述分揀規(guī)則對應的屬性或特性的平臺上都不能運行,同時Widget業(yè)務能在在除此之外的 其他平臺上運行。
全文摘要
一種處理多類引擎Widget的方法及裝置,包括根據(jù)加載的分揀規(guī)則對當前的小部件Widget業(yè)務進行分揀并獲得分揀結(jié)果,所述分揀結(jié)果包括被分揀的Widget業(yè)務能夠運行的平臺、不能運行的平臺以及原因。本發(fā)明通過對當前的Widget業(yè)務進行分揀,便于業(yè)務開發(fā)者對Widget業(yè)務進行開發(fā)和維護。
文檔編號G06F9/44GK102141912SQ201010198219
公開日2011年8月3日 申請日期2010年6月4日 優(yōu)先權(quán)日2010年6月4日
發(fā)明者劉治鋒, 李雪峰 申請人:華為技術(shù)有限公司