專利名稱:一種軟件菜單更新方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通訊技術(shù)領(lǐng)域,特別涉及一種軟件菜單更新方法和裝置。
背景技術(shù):
軟件產(chǎn)品的菜單是為了便于用戶使用,而將用戶能夠執(zhí)行的功能通過列表菜單的 方式顯示給用戶?,F(xiàn)有軟件產(chǎn)品的菜單一般都采用是完全依據(jù)本地xml文件中的描述進(jìn)行 創(chuàng)建的。現(xiàn)有的本地xml文件都是預(yù)制在安裝包內(nèi),并在安裝時寫入本地存儲介質(zhì)內(nèi)。因 此,在需要對軟件的菜單進(jìn)行更新時,需要從遠(yuǎn)端的服務(wù)器內(nèi)下載更新程序?,F(xiàn)有技術(shù)中,如果要對菜單的菜單項進(jìn)行增加、刪除、修改等變化時,只能通過軟 件版本升級的方式實現(xiàn)。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題一些軟件的功能更新極快,也要求菜單的更新頻率能盡量快。而如果采用現(xiàn)有技 術(shù)中的軟件版本升級的方式實現(xiàn),則頻繁進(jìn)行軟件版本升級會造成用戶的體驗感降低。而 如果不能及時更新軟件菜單,則會減低菜單更新的頻率,降低了系統(tǒng)的靈活性。特別是對于 即時通訊軟件(Instant Message,IM),例如QQ,經(jīng)常會推出新功能,而新功能推出后無法及 時通過菜單顯示會降低用戶的使用體驗感。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中軟件的菜單無法及時升級導(dǎo)致用戶體驗感差的問題,本發(fā)明 實施例提出了一種軟件菜單更新方法和裝置。所述技術(shù)方案如下本發(fā)明實施例提出了一種軟件菜單更新方法,包括查詢遠(yuǎn)端服務(wù)器,根據(jù)查詢結(jié)果判斷是否需要進(jìn)行菜單更新,如果是則下載菜單 更新配置文件,否則步驟結(jié)束;根據(jù)所述菜單更新配置文件中預(yù)置的菜單項及更新規(guī)則,更新軟件的菜單。作為上述技術(shù)方案的優(yōu)選,所述方法還包括當(dāng)用戶點擊菜單時,開始進(jìn)行軟件菜單更新。作為上述技術(shù)方案的優(yōu)選,所述查詢遠(yuǎn)端服務(wù)器,判斷是否需要進(jìn)行菜單更新具 體為讀取所述遠(yuǎn)端服務(wù)器內(nèi)與所述菜單更新配置文件對應(yīng)的服務(wù)器端時間戳;將所述服務(wù)器端時間戳與本體菜單對應(yīng)的本地時間戳進(jìn)行對比,當(dāng)所述本地時間 戳的時間比所述服務(wù)器端時間戳的時間早時,從所述遠(yuǎn)端服務(wù)器下載所述菜單更新配置文 件。作為上述技術(shù)方案的優(yōu)選,所述菜單更新配置文件中至少包括菜單項;與每一菜單項對應(yīng)的用于標(biāo)明操作類型的標(biāo)識符,所述操作類型至少包括增加菜 單項、減少菜單項、修改菜單項;
與每一菜單項對應(yīng)的用于標(biāo)明菜單項位置和順序的鍵值。作為上述技術(shù)方案的優(yōu)選,所述根據(jù)所述菜單更新配置文件更新軟件的菜單具體 為讀取默認(rèn)菜單;根據(jù)所述菜單更新配置文件,對所述默認(rèn)菜單進(jìn)行更新;對修改 后的默認(rèn)菜單根據(jù)鍵值進(jìn)行重新排序。作為上述技術(shù)方案的優(yōu)選,所述對所述默認(rèn)菜單進(jìn)行更新具體為對所述默認(rèn)菜單進(jìn)行增加和/或刪除和/或修改;所述增加的方法具體為根據(jù)所述菜單更新配置文件中的菜單項的鍵值,獲取所述菜單項所處的位置,然 后將所述菜單項添加到其父菜單內(nèi);所述刪除的方法具體為從所述默認(rèn)菜單中找出與所述菜單更新配置文件中的菜 單項的鍵值相同的菜單項,并將所述菜單項從其父菜單內(nèi)刪除;所述修改的方法具體為從默認(rèn)菜單中找出與所述菜單更新配置文件中的菜單項的鍵值相同的菜單項,并 根據(jù)所述更新配置文件中的菜單項對所述默認(rèn)菜單中的菜單項進(jìn)行修改。作為上述技術(shù)方案的優(yōu)選,所述根據(jù)所述菜單更新配置文件更新軟件的菜單具體 為根據(jù)接收到的菜單更新配置文件生成菜單;其中所述菜單更新配置文件中預(yù)存儲 有完整的菜單。作為上述技術(shù)方案的優(yōu)選,所述方法還包括根據(jù)預(yù)制于所述菜單更新配置文件中菜單項對應(yīng)的互聯(lián)網(wǎng)地址更新菜單。同時,本發(fā)明實施例還提出了一種軟件菜單更新裝置,包括一種軟件菜單更新裝置,其特征在于,包括狀態(tài)查詢模塊,查詢遠(yuǎn)端服務(wù)器,判斷是否需要進(jìn)行菜單更新;更新模塊,用于下載菜單更新配置文件,并根據(jù)所述菜單更新配置文件中預(yù)置的 菜單項及更新規(guī)則,更新軟件的菜單。作為上述技術(shù)方案的優(yōu)選,當(dāng)用戶點擊菜單時,所述裝置開始進(jìn)行軟件菜單更新。作為上述技術(shù)方案的優(yōu)選,狀態(tài)查詢模塊包括時間戳下載單元,用于當(dāng)用戶點擊菜單時,下載遠(yuǎn)端服務(wù)器的服務(wù)器端時間戳;其 中,所述服務(wù)器端時間戳與所述菜單更新配置文件對應(yīng);時間戳對比單元,用于提取所述服務(wù)器端,并將所述服務(wù)器端時間戳與本體菜單 對應(yīng)的本地時間戳進(jìn)行對比,當(dāng)所述本地時間戳的時間比所述服務(wù)器端時間戳的時間早 時,使所述更新模塊從所述遠(yuǎn)端服務(wù)器下載所述菜單更新配置文件。作為上述技術(shù)方案的優(yōu)選,所述菜單更新配置文件包括菜單項;與每一菜單項對應(yīng)的用于標(biāo)明操作類型的標(biāo)識符,所述操作類型至少包括增加菜 單項、減少菜單項、修改菜單項;與每一菜單項對應(yīng)的用于標(biāo)明菜單項位置和順序的鍵值。作為上述技術(shù)方案的優(yōu)選,所述更新模塊包括
5
下載單元,用于下載所述菜單更新配置文件;默認(rèn)菜單讀取單元,用于讀取默認(rèn)菜單;修改單元,用于根據(jù)所述菜單更新配置文件,對所述默認(rèn)菜單進(jìn)行更新;排序單元,對修改后的默認(rèn)菜單根據(jù)所述鍵值進(jìn)行重新排序。作為上述技術(shù)方案的優(yōu)選,所述修改單元的更新包括對所述默認(rèn)菜單進(jìn)行增加和 /或刪除和/或修改;所述增加的方法具體為根據(jù)所述菜單更新配置文件中的菜單項的鍵值,獲取所述菜單項所處的位置,然 后將所述菜單項添加到其父菜單內(nèi);所述刪除的方法具體為從所述默認(rèn)菜單中找出與所述菜單更新配置文件中的菜 單項的鍵值相同的菜單項,并將所述菜單項從其父菜單內(nèi)刪除;所述修改的方法具體為從默認(rèn)菜單中找出與所述菜單更新配置文件中的菜單項的鍵值相同的菜單項,并 根據(jù)所述菜單更新配置文件中的菜單項對所述默認(rèn)菜單中的菜單項進(jìn)行修改。作為上述技術(shù)方案的優(yōu)選,所述更新模塊包括下載單元,用于下載所述菜單更新配置文件;菜單生成單元,用于根據(jù)下載的所述菜單更新配置文件,生成菜單;其中所述菜單 更新配置文件中預(yù)存儲有完整的菜單。作為上述技術(shù)方案的優(yōu)選,還包括地址更新模塊,用于根據(jù)預(yù)制于所述菜單更新配置文件中菜單項對應(yīng)的互聯(lián)網(wǎng)地 址更新菜單。本發(fā)明實施例提供的技術(shù)方案的有益效果是本發(fā)明實施例中可以單獨進(jìn)行菜單 升級,而不再依賴于軟件版本升級。這樣既可以滿足軟件功能更新快,菜單的更新頻率高的 要求,又可以不需要頻繁進(jìn)行軟件版本升級。本發(fā)明實施例可以在不降低用戶體驗感的前 提下增加系統(tǒng)的靈活性。本發(fā)明實施例中通過在服務(wù)器端預(yù)制升級文件,并由客戶端進(jìn)行 查詢的方式,可以保證所有客戶端及時獲得升級信息。
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中使用的附圖作一 簡單地介紹,顯而易見地,下面所列附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù) 人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明第一實施例的流程示意圖;圖2為本發(fā)明第二實施例的流程示意圖;圖3為本發(fā)明第三實施例的結(jié)構(gòu)示意圖;圖4為本發(fā)明第四實施例的結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方 式作進(jìn)一步地詳細(xì)描述。
實施例1本發(fā)明第一實施例提出了一種軟件菜單更新方法,其流程如圖1所示,包括步驟101、查詢遠(yuǎn)端服務(wù)器,判斷是否需要進(jìn)行菜單更新,如果是則下載菜單更新 配置文件,否則步驟結(jié)束;步驟102、根據(jù)菜單更新配置文件中預(yù)置的菜單項及更新規(guī)則,更新軟件的菜單。
本發(fā)明實施例中,可以單獨進(jìn)行菜單升級,而不再依賴于軟件版本升級。這樣既可 以滿足軟件功能更新快,菜單的更新頻率高的要求,又可以不需要頻繁進(jìn)行軟件版本升級。 本發(fā)明實施例可以在不降低用戶體驗感的前提下增加系統(tǒng)的靈活性。本發(fā)明實施例中通過 在服務(wù)器端預(yù)制升級文件,并由客戶端進(jìn)行查詢的方式,可以保證所有客戶端及時獲得升 級信息。實施例2本發(fā)明第二實施例提出了一種軟件菜單更新方法,如圖2所示,包括步驟201、當(dāng)用戶點擊菜單時,開始進(jìn)行菜單升級;步驟202、讀取遠(yuǎn)端服務(wù)器內(nèi)與菜單更新配置文件對應(yīng)的服務(wù)器端時間戳;其中,服務(wù)器端時間戳是生成菜單更新配置文件時生成的,與菜單更新配置文件 相對應(yīng);客戶端在下載菜單更新配置文件時也下載時間戳,并保存在本地以備以后更新時 查詢;步驟203、將服務(wù)器端時間戳與本地菜單對應(yīng)的本地時間戳進(jìn)行對比,當(dāng)本地時間 戳的時間比服務(wù)器端時間戳的時間早時,表示有新的菜單需要更新;步驟204、讀取所需更新菜單版本,并判斷是否與本地軟件的版本相適配,如果是 則跳轉(zhuǎn)到步驟205 ;否則步驟結(jié)束;步驟205、從遠(yuǎn)端服務(wù)器下載菜單更新配置文件;當(dāng)然,還可以采用當(dāng)軟件登錄到 服務(wù)器時,由服務(wù)器向軟件推送菜單更新配置文件的方式;步驟206、根據(jù)菜單更新配置文件對菜單進(jìn)行更新;更新方法可以為生成默認(rèn)菜單;根據(jù)菜單更新配置文件,對默認(rèn)菜單進(jìn)行更新;對更新后的默認(rèn) 菜單根據(jù)鍵值進(jìn)行重新排序;其中,菜單更新配置文件中至少包括菜單項;與每一菜單項對應(yīng)的用于標(biāo)明操 作類型的標(biāo)識符,操作類型至少包括增加菜單項、減少菜單項、修改菜單項;與每一菜單項 對應(yīng)的用于標(biāo)明菜單項位置和順序的鍵值;默認(rèn)菜單可以是依據(jù)本地xml文件中的描述進(jìn)行創(chuàng)建的;這一步驟為現(xiàn)有技術(shù), 采用現(xiàn)有技術(shù)中菜單生成方式即可;更新方法還可以為根據(jù)接收到的菜單更新配置文件生成菜單;其中所述菜單更新配置文件中預(yù)存儲 有完整的菜單;步驟207、根據(jù)預(yù)制于菜單更新配置文件中菜單項對應(yīng)的URL更新菜單,并更新圖 片資源;這是由于菜單更改還可以包括菜單項對應(yīng)的互聯(lián)網(wǎng)上的URL更改,因此在對菜單 進(jìn)行更新后再進(jìn)行URL更新可以更為全面的更新菜單;且本發(fā)明實施例還會檢查該配置文 件中所描述的每個菜單項對應(yīng)的圖片資源是否已經(jīng)存在本地,如果在本地沒有查找到,則IM軟件還將根據(jù)配置文件中所描述的URL地址,到放置了圖片資源的服務(wù)器去下載所需的 圖片資源;步驟208、將更新后的菜單顯示給用戶。其中,增加的步驟201是當(dāng)用戶點擊菜單時進(jìn)行菜單更新操作,這樣可以更好的 提高用戶的體驗感。由于進(jìn)行后臺升級需要占用部分網(wǎng)絡(luò)和系統(tǒng)資源,而并非所有用戶都 經(jīng)常用到菜單內(nèi)的菜單項。因此本發(fā)明實施例在用戶點擊菜單時才進(jìn)行更新,可以防止頻 繁升級用戶不使用的功能,提高用戶的體驗感。同時,這種當(dāng)用戶點擊菜單時才進(jìn)行菜單更 新操作的方式,可以防止出現(xiàn)大量用戶在同一時間同時進(jìn)行更新操作,帶來的服務(wù)器端的 網(wǎng)絡(luò)和系統(tǒng)負(fù)載急劇增加的問題。其中,步驟202 203是對上述第一實施例中的步驟101的具體細(xì)化。這種采用 時間戳來區(qū)分菜單更新配置文件的方式,可以防止頻繁升級帶來的多個繁瑣的版本號,也 能防止由于人為失誤造成的版本號錯誤而引起的不必要損失。當(dāng)然,本發(fā)明實施例并不以 此為限,采用時間戳的方式僅為一種舉例說明,本發(fā)明實施例也可以采用版本號的方式判 斷是否需要進(jìn)行菜單更新。增加的步驟204是為了防止由于軟件的版本與服務(wù)器端菜單更新配置文件的版 本不符造成升級失敗,導(dǎo)致軟件不可用的問題。這樣可以使軟件的菜單升級具有更好的可靠性。其中,上述步驟205 206是對第一實施例中的步驟102的具體細(xì)化。這樣通過 簡單的方式即可實現(xiàn)同時發(fā)送菜單項及相應(yīng)菜單項的操作方式,降低菜單更新配置文件的 復(fù)雜度,以降低網(wǎng)絡(luò)傳輸量。采用這種方式可以配合前述的菜單更新配置文件格式,實現(xiàn)客 戶端通過簡單標(biāo)識獲知所要更新的菜單項以及所要進(jìn)行的更新操作,可以通過簡單的方式 對客戶端的菜單進(jìn)行更新和重新排序,以降低客戶端的系統(tǒng)開銷。同時,步驟205中公開了 由客戶端主動下載的方式和由服務(wù)器端進(jìn)行推送的方式,這兩種方式都可以很好的實現(xiàn)對 軟件菜單的更新。在上述步驟206中,根據(jù)菜單更新配置文件,對默認(rèn)菜單進(jìn)行更新的步驟具體包 括對默認(rèn)菜單進(jìn)行增加和/或刪除和/或修改;增加的方法具體為根據(jù)菜單更新配置文件中的菜單項的鍵值,獲取菜單項所處的位置,然后將菜單 項添加到其父菜單內(nèi);刪除的方法具體為從默認(rèn)菜單中找出與菜單更新配置文件中的菜單項的鍵值相 同的菜單項,并將菜單項從其父菜單內(nèi)刪除;修改的方法具體為從默認(rèn)菜單中找出與菜單更新配置文件中的菜單項的鍵值相同的菜單項,并根據(jù) 菜單更新配置文件中的菜單項對默認(rèn)菜單中的菜單項進(jìn)行修改。這樣可以實現(xiàn)客戶端通過簡單標(biāo)識獲知所要更新的菜單項以及所要進(jìn)行的更新 操作,可以通過簡單的方式對客戶端的菜單進(jìn)行更新和重新排序,以降低客戶端的系統(tǒng)開 銷。其中,在上述步驟206中,還包括了根據(jù)接收到的菜單更新配置文件生成菜單;其 中所述菜單更新配置文件中預(yù)存儲有完整的菜單。這種方式可以直接將完整的菜單發(fā)送到客戶端,以對菜單進(jìn)行更新。這種方式可以降低客戶端的系統(tǒng)負(fù)載,客戶端無需進(jìn)行操作即 可完成菜單升級。實施例3本發(fā)明第三實施例提出了一種即時通訊軟件的菜單更新裝置,其結(jié)構(gòu)如圖3所 示,包括狀態(tài)查詢模塊1,查詢遠(yuǎn)端服務(wù)器,判斷是否需要進(jìn)行菜單更新;更新模塊2,用于下載菜單更新配置文件,并根據(jù)所述菜單更新配置文件中預(yù)置的 菜單項及更新規(guī)則,更新軟件的菜單。本發(fā)明實施例中,可以單獨進(jìn)行菜單升級,而不再依賴于軟件版本升級。這樣既可 以滿足軟件功能更新快,菜單的更新頻率高的要求,又可以不需要頻繁進(jìn)行軟件版本升級。 本發(fā)明實施例可以在不降低用戶體驗感的前提下增加系統(tǒng)的靈活性。本發(fā)明實施例中通過 在服務(wù)器端預(yù)制升級文件,并由客戶端進(jìn)行查詢的方式,可以保證所有客戶端及時獲得升 級信息。實施例4本發(fā)明第四實施例提出了一種軟件菜單更新裝置,其結(jié)構(gòu)如圖4所示,包括狀態(tài)查詢模塊1和更新模塊2。狀態(tài)查詢模塊1,連接遠(yuǎn)端服務(wù)器,判斷是否需要進(jìn)行菜單更新。進(jìn)一步的,本發(fā)明實施例提出的軟件菜單更新裝置可以在當(dāng)用戶點擊菜單時,進(jìn) 行菜單更新操作。狀態(tài)查詢模塊1可以具體為時間戳下載單元11,用于當(dāng)用戶點擊菜單時,下載遠(yuǎn)端服務(wù)器的服務(wù)器端時間戳; 其中,服務(wù)器端時間戳與菜單更新配置文件對應(yīng);客戶端在下載菜單更新配置文件時也下 載時間戳,并保存在本地以備以后更新時查詢;時間戳對比單元12,用于提取服務(wù)器端,并將服務(wù)器端時間戳與本體菜單對應(yīng)的 本地時間戳進(jìn)行對比,當(dāng)本地時間戳的時間比服務(wù)器端時間戳的時間早時,使更新模塊從 遠(yuǎn)端服務(wù)器下載菜單更新配置文件。其中,菜單更新配置文件中至少包括菜單項;與每一菜單項對應(yīng)的用于標(biāo)明操作類型的標(biāo)識符,操作類型至少包括增加菜單 項、減少菜單項、修改菜單項;與每一菜單項對應(yīng)的用于標(biāo)明菜單項位置和順序的鍵值。這種方式的菜單更新配置文件,可以在一個文件中存儲菜單項,以及與該菜單項 對應(yīng)的操作類型,以及標(biāo)明菜單項位置和順序的鍵值。這樣通過簡單的方式即可實現(xiàn)對客 戶端的修改,降低菜單更新配置文件的復(fù)雜度,以降低網(wǎng)絡(luò)傳輸量。還包括更新模塊2,用于下載菜單更新配置文件,并根據(jù)菜單更新配置文件更新軟 件的菜單。更新模塊2可以具體為下載單元21,用于下載所述菜單更新配置文件;默認(rèn)菜單讀取單元22,用于讀取默認(rèn)菜單;其中,默認(rèn)菜單可以是依據(jù)本地xml文 件中的描述進(jìn)行創(chuàng)建的;
修改單元23,用于根據(jù)菜單更新配置文件,對默認(rèn)菜單進(jìn)行更新;排序單元24,對修改后的默認(rèn)菜單根據(jù)鍵值進(jìn)行重新排序;其中,修改單元的更新包括對所默認(rèn)菜單進(jìn)行增加和/或刪除和/或修改;增加的方法具體為根據(jù)菜單更新配置文件中的菜單項的鍵值,獲取菜單項所處的位置,然后將菜單 項添加到其父菜單內(nèi);刪除的方法具體為從默認(rèn)菜單中找出與菜單更新配置文件中的菜單項的鍵值相 同的菜單項,并將菜單項從其父菜單內(nèi)刪除;修改的方法具體為從默認(rèn)菜單中找出與菜單更新配置文件中的菜單項的鍵值相同的菜單項,并根據(jù) 菜單更新配置文件中的菜單項對默認(rèn)菜單中的菜單項進(jìn)行修改。更新模塊2還可以具體為下載單元,用于下載所述菜單更新配置文件;菜單生成單元,用于根據(jù)下載的所述菜單更新配置文件,生成菜單;其中所述菜單 更新配置文件中預(yù)存儲有完整的菜單。還包括地址更新模塊,用于根據(jù)預(yù)制于菜單更新配置文件中菜單項對應(yīng)的互聯(lián)網(wǎng)URL地 址更新菜單;圖片更新模塊,用于判斷更新后的每一菜單項的圖資源是否已經(jīng)存儲在本地,如 果沒有則下載圖片資源。這是由于菜單更改還可以包括菜單項對應(yīng)的互聯(lián)網(wǎng)上的URL更改,因此在對菜單 進(jìn)行更新后再進(jìn)行URL更新可以更為全面的更新菜單;且本發(fā)明實施例還會檢查該配置文 件中所描述的每個菜單項對應(yīng)的圖片資源是否已經(jīng)存在本地,如果在本地沒有查找到,則 IM軟件還將根據(jù)配置文件中所描述的URL地址,到放置了圖片資源的服務(wù)器去下載所需的 圖片資源。其中,上述每一實施例中的軟件,可以為即時通訊軟件;菜單,可以為即時通訊軟 件的菜單。以上實施例提供的技術(shù)方案中的全部或部分內(nèi)容可以通過軟件編程實現(xiàn),其軟件 程序存儲在可讀取的存儲介質(zhì)中,存儲介質(zhì)例如計算機(jī)中的硬盤、光盤或軟盤。通過上述的本發(fā)明實施例可以看出,本發(fā)明實施例的方法和裝置,能夠應(yīng)用于即 時通訊軟件(IM),例如申請人的QQ軟件。本發(fā)明實施例中,可以單獨進(jìn)行菜單升級,而不再 依賴于軟件版本升級。這樣既可以滿足軟件功能更新快,菜單的更新頻率高的要求,又可以 不需要頻繁進(jìn)行軟件版本升級。本發(fā)明實施例可以在不降低用戶體驗感的前提下增加系統(tǒng) 的靈活性。本發(fā)明實施例中通過在服務(wù)器端預(yù)制升級文件,并由客戶端進(jìn)行查詢的方式,可 以保證所有客戶端及時獲得升級信息。通過當(dāng)用戶點擊菜單時進(jìn)行菜單更新操作,這樣可以更好的提高用戶的體驗感。 由于進(jìn)行后臺升級需要占用部分網(wǎng)絡(luò)和系統(tǒng)資源,而并非所有用戶都經(jīng)常用到菜單內(nèi)的菜 單項。因此本發(fā)明實施例在用戶點擊菜單時才進(jìn)行更新,可以防止頻繁升級用戶不使用的 功能,提高用戶的體驗感。同時,這種當(dāng)用戶點擊菜單時才進(jìn)行菜單更新操作的方式,可以
10防止出現(xiàn)大量用戶在同一時間同時進(jìn)行更新操作,帶來的服務(wù)器端的網(wǎng)絡(luò)和系統(tǒng)負(fù)載急劇 增加的問題。由于類似于QQ的即時通訊軟件的聯(lián)機(jī)使用時間非常長,如果采用實時升級的 方式,有可能在剛一發(fā)布新的菜單更新配置文件時,海量用戶同時接收到升級信息,同時進(jìn) 行升級導(dǎo)致服務(wù)器端的系統(tǒng)負(fù)載和網(wǎng)絡(luò)負(fù)載不堪重負(fù)。采用這種方式還可以提高用戶使用 的體驗感,防止很少使用菜單的用戶頻繁進(jìn)行升級。當(dāng)然這只是一種優(yōu)選的實施方式,本發(fā) 明實施例并不一次為限。本發(fā)明實施例中還公開了通過時間戳更新的方法和裝置,可以防止頻繁升級帶來 的多個繁瑣的版本號,也能防止由于人為失誤造成的版本號錯誤而引起的不必要損失。當(dāng) 然,本發(fā)明實施例并不以此為限,采用時間戳的方式僅為一種舉例說明,本發(fā)明實施例也可 以采用版本號的方式判斷是否需要進(jìn)行菜單更新。為了防止由于軟件的版本與服務(wù)器端菜單更新配置文件的版本不符造成升級失 敗,導(dǎo)致軟件不可用的問題,本發(fā)明實施例還增加了版本匹配查詢的步驟,這樣可以使軟件 的菜單升級具有更好的可靠性。同時,本發(fā)明還公開了客戶端下載菜單更新配置文件和服務(wù)器推送兩種方式,這 兩種方式都可以很好的實現(xiàn)對軟件菜單的更新。本發(fā)明實施例的菜單更新配置文件可以包括菜單項和操作標(biāo)識,這樣通過簡單的 方式即可實現(xiàn)同時發(fā)送菜單項及相應(yīng)菜單項的操作方式,降低菜單更新配置文件的復(fù)雜 度,以降低網(wǎng)絡(luò)傳輸量。采用這種方式可以配合前述的菜單更新配置文件格式,實現(xiàn)客戶端 通過簡單標(biāo)識獲知所要更新的菜單項以及所要進(jìn)行的更新操作,可以通過簡單的方式對客 戶端的菜單進(jìn)行更新和重新排序,以降低客戶端的系統(tǒng)開銷??蛻舳送ㄟ^菜單項和標(biāo)識對 菜單進(jìn)行更新,這樣可以實現(xiàn)客戶端通過簡單標(biāo)識獲知所要更新的菜單項以及所要進(jìn)行的 更新操作,可以通過簡單的方式對客戶端的菜單進(jìn)行更新和重新排序,以降低客戶端的系 統(tǒng)開銷。本發(fā)明實施例的菜單更新配置文件還可以包括完整的菜單。這種方式可以直接將 完整的菜單發(fā)送到客戶端,以對菜單進(jìn)行更新。這種方式可以降低客戶端的系統(tǒng)負(fù)載,客戶 端無需進(jìn)行操作即可完成菜單升級。在對菜單項進(jìn)行更新后,還可以對每一菜單項對應(yīng)的互聯(lián)網(wǎng)URL地址和圖片進(jìn)行 更新。以上僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則 之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種軟件菜單更新方法,其特征在于,包括查詢遠(yuǎn)端服務(wù)器,根據(jù)查詢結(jié)果判斷是否需要進(jìn)行菜單更新,如果是則下載菜單更新 配置文件,否則步驟結(jié)束;根據(jù)所述菜單更新配置文件中預(yù)置的菜單項及更新規(guī)則,更新軟件的菜單。
2.根據(jù)權(quán)利要求1所述的軟件菜單更新方法,其特征在于,所述方法還包括 當(dāng)用戶點擊菜單時,開始進(jìn)行軟件菜單更新。
3.根據(jù)權(quán)利要求1所述的軟件菜單更新方法,其特征在于,所述查詢遠(yuǎn)端服務(wù)器,判斷 是否需要進(jìn)行菜單更新具體為讀取所述遠(yuǎn)端服務(wù)器內(nèi)與所述菜單更新配置文件對應(yīng)的服務(wù)器端時間戳; 將所述服務(wù)器端時間戳與本體菜單對應(yīng)的本地時間戳進(jìn)行對比,當(dāng)所述本地時間戳的 時間比所述服務(wù)器端時間戳的時間早時,從所述遠(yuǎn)端服務(wù)器下載所述菜單更新配置文件。
4.根據(jù)權(quán)利要求1或2或3所述的軟件菜單更新方法,其特征在于,所述菜單更新配置 文件中至少包括菜單項;與每一菜單項對應(yīng)的用于標(biāo)明操作類型的標(biāo)識符,所述操作類型至少包括增加菜單 項、減少菜單項、修改菜單項;與每一菜單項對應(yīng)的用于標(biāo)明菜單項位置和順序的鍵值。
5.根據(jù)權(quán)利要求4所述的軟件菜單更新方法,其特征在于,所述根據(jù)所述菜單更新配 置文件更新軟件的菜單具體為讀取默認(rèn)菜單;根據(jù)所述菜單更新配置文件,對所述默認(rèn)菜單進(jìn)行更新;對修改后的 默認(rèn)菜單根據(jù)鍵值進(jìn)行重新排序。
6.根據(jù)權(quán)利要求5所述的軟件菜單更新方法,其特征在于,所述對所述默認(rèn)菜單進(jìn)行 更新具體為對所述默認(rèn)菜單進(jìn)行增加和/或刪除和/或修改; 所述增加的方法具體為根據(jù)所述菜單更新配置文件中的菜單項的鍵值,獲取所述菜單項所處的位置,然后將 所述菜單項添加到其父菜單內(nèi);所述刪除的方法具體為從所述默認(rèn)菜單中找出與所述菜單更新配置文件中的菜單項 的鍵值相同的菜單項,并將所述菜單項從其父菜單內(nèi)刪除; 所述修改的方法具體為從默認(rèn)菜單中找出與所述菜單更新配置文件中的菜單項的鍵值相同的菜單項,并根據(jù) 所述更新配置文件中的菜單項對所述默認(rèn)菜單中的菜單項進(jìn)行修改。
7.根據(jù)權(quán)利要求1或2或3所述的軟件菜單更新方法,其特征在于,所述根據(jù)所述菜單 更新配置文件更新軟件的菜單具體為根據(jù)接收到的菜單更新配置文件生成菜單;其中所述菜單更新配置文件中預(yù)存儲有完 整的菜單。
8.根據(jù)權(quán)利要求1所述的軟件菜單更新方法,其特征在于,所述方法還包括 根據(jù)預(yù)制于所述菜單更新配置文件中菜單項對應(yīng)的互聯(lián)網(wǎng)地址更新菜單。
9.一種軟件菜單更新裝置,其特征在于,包括狀態(tài)查詢模塊,查詢遠(yuǎn)端服務(wù)器,判斷是否需要進(jìn)行菜單更新; 更新模塊,用于下載菜單更新配置文件,并根據(jù)所述菜單更新配置文件中預(yù)置的菜單 項及更新規(guī)則,更新軟件的菜單。
10.根據(jù)權(quán)利要求9所述的軟件菜單更新裝置,其特征在于,當(dāng)用戶點擊菜單時,所述 裝置開始進(jìn)行軟件菜單更新。
11.根據(jù)權(quán)利要求9所述的軟件菜單更新裝置,其特征在于,狀態(tài)查詢模塊包括 時間戳下載單元,用于當(dāng)用戶點擊菜單時,下載遠(yuǎn)端服務(wù)器的服務(wù)器端時間戳;其中,所述服務(wù)器端時間戳與所述菜單更新配置文件對應(yīng);時間戳對比單元,用于提取所述服務(wù)器端,并將所述服務(wù)器端時間戳與本體菜單對應(yīng) 的本地時間戳進(jìn)行對比,當(dāng)所述本地時間戳的時間比所述服務(wù)器端時間戳的時間早時,使 所述更新模塊從所述遠(yuǎn)端服務(wù)器下載所述菜單更新配置文件。
12.根據(jù)權(quán)利要求9或10或11所述的軟件菜單更新裝置,其特征在于,所述菜單更新 配置文件包括菜單項;與每一菜單項對應(yīng)的用于標(biāo)明操作類型的標(biāo)識符,所述操作類型至少包括增加菜單 項、減少菜單項、修改菜單項;與每一菜單項對應(yīng)的用于標(biāo)明菜單項位置和順序的鍵值。
13.根據(jù)權(quán)利要求12所述的軟件菜單更新裝置,其特征在于,所述更新模塊包括 下載單元,用于下載所述菜單更新配置文件;默認(rèn)菜單讀取單元,用于讀取默認(rèn)菜單;修改單元,用于根據(jù)所述菜單更新配置文件,對所述默認(rèn)菜單進(jìn)行更新; 排序單元,對修改后的默認(rèn)菜單根據(jù)所述鍵值進(jìn)行重新排序。
14.根據(jù)權(quán)利要求13所述的軟件菜單更新裝置,其特征在于,所述修改單元的更新包 括對所述默認(rèn)菜單進(jìn)行增加和/或刪除和/或修改;所述增加的方法具體為根據(jù)所述菜單更新配置文件中的菜單項的鍵值,獲取所述菜單項所處的位置,然后將 所述菜單項添加到其父菜單內(nèi);所述刪除的方法具體為從所述默認(rèn)菜單中找出與所述菜單更新配置文件中的菜單項 的鍵值相同的菜單項,并將所述菜單項從其父菜單內(nèi)刪除; 所述修改的方法具體為從默認(rèn)菜單中找出與所述菜單更新配置文件中的菜單項的鍵值相同的菜單項,并根據(jù) 所述菜單更新配置文件中的菜單項對所述默認(rèn)菜單中的菜單項進(jìn)行修改。
全文摘要
本發(fā)明提出了一種軟件菜單更新方法和裝置,屬于通訊技術(shù)領(lǐng)域。本發(fā)明實施例包括狀態(tài)查詢模塊和更新模塊;客戶端查詢遠(yuǎn)端服務(wù)器,判斷是否需要進(jìn)行菜單更新,如果是則下載菜單更新配置文件;并根據(jù)所述菜單更新配置文件內(nèi)的菜單項和更新規(guī)則,更新軟件的菜單。本發(fā)明實施例可以單獨進(jìn)行菜單升級,而不再依賴于軟件版本升級。這樣既可以滿足軟件功能更新快,菜單的更新頻率高的要求,又可以不需要頻繁進(jìn)行軟件版本升級。本發(fā)明實施例可以在不降低用戶體驗感的前提下增加系統(tǒng)的靈活性。
文檔編號G06F9/445GK102129378SQ20101010653
公開日2011年7月20日 申請日期2010年1月20日 優(yōu)先權(quán)日2010年1月20日
發(fā)明者劉紅杰, 史雪, 王春鵬 申請人:騰訊科技(深圳)有限公司