亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種形成結構樹的方法

文檔序號:7628839閱讀:135來源:國知局
專利名稱:一種形成結構樹的方法
技術領域
本發(fā)明涉及信息展示技術,尤其涉及一種在客戶端形成結構樹的方法。
背景技術
當前,客戶端的許多配置列表采用結構樹的表現方式,例如即時通信游戲QQGame中在客戶端所展現出來的結構樹,就以樹型結構列出了各種游戲以及各種游戲下的不同房間。通常情況下,要在客戶端展現結構樹,采用的方法是,將欲在客戶端表現的結構樹信息,即數據源,例如游戲的數量和名稱,不同的游戲房間等等,編寫成具有樹型拓撲結構的原始行列文件,然后利用私有算法將原始行列文件編碼成數據塊,服務器通過私有協議將數據塊傳輸給客戶端,客戶端在本地執(zhí)行解碼,然后根據解碼后的原始行列文件中的信息利用邏輯交互生成結構樹,從而實現在客戶端表現出結構樹。
這種形成結構樹的方法采用原始行列文件作為數據源,編寫原始行列文件比較復雜,也不直觀;另外,采用這種方法,還需要開發(fā)單獨的服務器進程,通過客戶端與服務器端的私有協議來傳輸數據,需要增加額外的工作量;此外,客戶端收到文件后需要進行復雜的邏輯交互來表現結構樹,當修改或增加數據源后,服務器端需要進行相應的修改等工作,客戶端同樣需要進行相應的修改,可擴展性不強。

發(fā)明內容
有鑒于此,本發(fā)明提供一種形成結構樹的方法,利用該方法可以簡單方便地在客戶端形成結構豐富、意義復雜、可擴展性強的信息結構樹,同時避免客戶端與服務器之間的私有協議的交互,節(jié)省開發(fā)工作量。
為了實現發(fā)明目的,本發(fā)明提供一種形成結構樹的方法,該方法包括
A、將包含結構樹信息的可擴展標記語言xml配置文件保存到服務器上;B、客戶端從服務器上下載xml配置文件;C、客戶端讀取xml配置文件中包含的結構樹信息的屬性,根據屬性逐層地形成結構樹。
所述步驟B包括客戶端利用超文本傳輸協議http定期從服務器上下載xml配置文件。
所述步驟A包括將所述配置文件壓縮保存到服務器上。
所述步驟C進一步包括客戶端在本地解壓縮。
所述步驟C包括C1、讀取最外層標簽下的當前條目,判斷當前條目的屬性是否屬于全局配置信息,如果是,將下一個條目作為當前條目,返回執(zhí)行本步驟;否則,生成結構樹的根節(jié)點,根節(jié)點名稱為當前條目的名稱屬性;C2、讀取生成根節(jié)點的條目下的當前子條目的配置屬性,根據配置屬性在結構樹上生成第一級節(jié)點,并判斷當前子條目下是否存在子條目的配置屬性,如果是,執(zhí)行步驟C3;否則,將生成根節(jié)點的條目下的下一子條目作為當前子條目,循環(huán)執(zhí)行本步驟直至生成根節(jié)點的條目下的所有子條目都根據配置屬性生成結構樹的第一級節(jié)點為止,退出本流程;C3、讀取當前子條目下的子條目的配置屬性,根據配置屬性在結構樹的對應位置上生成下一級節(jié)點,并判斷生成下一級節(jié)點的子條目下是否還存在子條目的配置屬性,如果是,將生成下一級節(jié)點的子條目下的子條目作為當前子條目,返回執(zhí)行本步驟;否則,循環(huán)執(zhí)行本步驟直至當前子條目下的所有子條目都根據配置信息完全生成結構樹的下一級節(jié)點,將生成根節(jié)點的條目下的下一個子條目作為當前子條目,返回執(zhí)行步驟C2。
以上所述服務器為即時通信服務器,所述客戶端為即時通信客戶端。
以上所述即時通信客戶端為即時通信實時直播客戶端。
從以上方案可以看出,本發(fā)明提供的一種形成樹的方法具有以下有益效果
1、方便的下載支持節(jié)省了開發(fā)工作量,xml配置文件可以通過最常用的http協議下載,不需要開發(fā)單獨的服務器進程,不用進行服務器端的開發(fā)以及對應的客戶端開發(fā),也避免了通過私有協議進行交互的麻煩,而且壓縮以后,配置文件的大小約在3~5K左右,下載流量小,速度快;2、不需要即時通信的客戶端進行邏輯交互來表現結構樹信息,而是完全由客戶端通過一一讀取xml配置文件中條目的屬性解析xml配置文件,從而形成結構豐富、意義復雜的信息結構樹,整個過程清晰、簡明;3、xml配置文件是一種公開的結構標志語言,尤其對樹結構標志來說非常簡單直觀,并且可以承載不同的結構信息在網絡上傳輸,另外xml配置文件還具有方便的可擴展性,通過簡單地修改xml配置文件的屬性就可以方便地解決節(jié)目頻繁更新或添加刪除節(jié)目等問題,并且由于客戶端與服務器的即時通信,這些修改還可以定期地在客戶端得到表現。


圖1是根據本發(fā)明在客戶端形成結構樹的處理流程圖;圖2是根據本發(fā)明客戶端解析配置文件的流程圖;圖3是根據本發(fā)明在客戶端表現出的結構樹的示意圖。
具體實施例方式
為了使本發(fā)明的特征和優(yōu)點更加清楚明白,下面參照附圖結合具體實施例對本發(fā)明作進一步詳細的說明。
參見圖1,以即時通信實時直播QQLive為例,詳細說明在QQLive客戶端形成結構樹的方法。QQLive類似QQGame,只是在QQLive中,用戶可以進入不同的房間看電視、看電影、聽音樂、聽廣播等。
圖1是根據本發(fā)明在客戶端形成結構樹的處理流程圖。
步驟101、將編寫好的可擴展標記語言(xml,Extensible MarkupLanguage)配置文件經過壓縮放到超文本傳輸協議(http,Hyper TextTransferring Protocol)下載服務器上,xml配置文件包括欲在QQLive客戶端進行展示的結構樹的配置信息。
假設xml配置文件名稱為config.xml,其中,該配置文件定義了欲在QQLive客戶端表現的結構樹的所有節(jié)點的所有屬性,例如節(jié)點的名稱、圖像以及節(jié)點處于整個結構樹中的位置等等,名稱為config.xml的xml配置文件配置完成以后,為了客戶端下載方便快捷和占用空間小,可以將config.xml配置文件進行標準格式的Zip壓縮,然后存儲到支持http協議的服務器上。這里不局限于Zip壓縮方式,甚至也可以不進行壓縮。
步驟102、QQLive客戶端從服務器上將經過壓縮的xml配置文件下載到本地客戶端,然后通過Zip標準解壓縮算法將壓縮文件解包成名稱為config.xml的配置文件。
這里,QQLive客戶端利用http協議定期地從服務器上下載壓縮的配置文件,所以服務器上的xml配置文件有任何改變,在QQLive客戶端都會及時地表現出來,也就是說,QQLive節(jié)目和/或房間里的任何改變,都可以通過直接修改xml配置文件實現,同時這些修改可以在客戶端及時地表現出來,并且xml配置文件的修改和擴展極其方便,可見,采用這樣的方式可以提高QQLive客戶端的可擴展性。另外,采用http協議下載配置文件還可以避免開發(fā)單獨的服務器進程以支持客戶端和服務器端的私有協議交互,減少了開發(fā)工作量。
步驟103、QQLive客戶端逐層地解析config.xml配置文件,并根據配置文件所定義的屬性分別生成結構樹的根節(jié)點和子節(jié)點。
由于xml配置文件定義了欲在客戶端表現的結構樹的所有條目的屬性,所以客戶端只需讀出每個條目的屬性,并根據條目的屬性逐層地生成結構樹的根節(jié)點和子節(jié)點即可。
解析xml配置文件的方法很多,可以使用解析工具,也可以不使用解析工具,這里,采用CMarkup解析類解析config.xml配置文件,具體解析過程參見圖2,如下
步驟201、查找QQLive標簽,讀取QQLive標簽下的當前條目;步驟202、判斷QQLive標簽下的當前條目的屬性是否存在,如果當前條目的屬性不存在,說明QQLive標簽下的所有條目都解析完畢,退出解析過程;如果當前條目的屬性存在,執(zhí)行步驟203;步驟203、讀取當前條目標簽(tag0),并判斷當前條目的標簽的名稱屬性(Name)是否為config,如果是,說明該條目為全局配置信息,可以忽略,將QQLive標簽下的下一個條目作為當前條目,返回執(zhí)行步驟202;如果標簽的名稱屬性不為config,說明該條目為節(jié)目信息,例如電視節(jié)目(TV)或廣播節(jié)目(Radio),則執(zhí)行步驟204;步驟204、生成一棵Windows的Sys32TreeView樹,樹的根節(jié)點名字為當前條目的名稱屬性,例如QQ直播;步驟205、QQ直播是Sys32TreeView結構樹的根節(jié)點,并且其標簽不為config,說明QQ直播這個根節(jié)點下面一定有子節(jié)點,則讀取QQ直播條目的子條目,例如MediaZone影視區(qū),根據MediaZone影視區(qū)子條目的屬性在結構樹上根節(jié)點QQ直播下生成MediaZone影視區(qū)子節(jié)點;步驟206、讀取MediaZone影視區(qū)子條目下的子條目信息,根據屬性形成MediaZone影視區(qū)子節(jié)點的下一級節(jié)點,循環(huán)本步驟直至MediaZone影視區(qū)子條目下的所有子條目信息都生成結構樹的節(jié)點為止;步驟207、判斷QQ直播下的所有條目是否都解析完畢并在結構樹的相應位置上生成節(jié)點,如果是,退出;否則,將QQ直播下的下一個子條目作為當前子條目,返回執(zhí)行步驟205。
經過以上步驟,就可以實現在QQLive的客戶端形成一棵結構樹,類似地,解析完所有的QQLive子條目后,退出解析流程,這樣就在QQLive客戶端形成若干棵結構樹。參見圖3,圖3是根據本發(fā)明在客戶端表現出的結構樹的示意圖。簡單地說,采用CMarkup解析類解析config.xml配置文件的過程就是QQLive客戶端利用CMarkup解析類逐層地一一讀取配置文件中各個條目的屬性等配置信息,并根據每個條目的配置信息在結構樹上的相應位置生成各個節(jié)點。采用這種配置文件并通過解析從而生成結構樹的方法不需要客戶端進行解碼以獲得原始行列文件的信息,也不需要客戶端根據信息進行邏輯交互來展現結構樹,只需一一讀取配置文件中各個條目的屬性并根據屬性在結構樹的相應位置上生成各個節(jié)點即可,節(jié)省了開發(fā)客戶端的工作量,尤其是在擴展結構樹時,采用本發(fā)明提供的方法更加快捷方便,而且可擴展性也強。
以上是以CMarkup解析類解析xml配置文件為例,對解析過程進行描述的,然而,解析xml配置文件并不局限于此,還可以采用其它方法或解析工具對xml配置文件進行解析。
從上述實施例可以看到,本發(fā)明所提供的形成結構樹的方法使用了具有方便的可擴展性的xml配置文件,經過壓縮后放到服務器上,客戶端利用http協議將壓縮文件下載到本地后進行解壓縮,并利用CMarkup解析類解析xml配置文件,根據xml配置文件中定義的結構樹的屬性將整個結構樹的信息展現出來。
以上,僅以在即時通信領域的QQLive客戶端形成結構樹為例,對本發(fā)明形成結構樹的方法進行了詳細的說明,但是本發(fā)明所提供的方法同樣適用于其它領域,在其它領域的實現方法與以上所述的方法基本一致,這里不在贅述。
以上所述,僅為本發(fā)明的具體實施例而已,并非用以限定本發(fā)明的保護范圍。
權利要求
1.一種形成結構樹的方法,其特征在于,該方法包括A、將包含結構樹信息的可擴展標記語言xml配置文件保存到服務器上;B、客戶端從服務器上下載xml配置文件;C、客戶端讀取xml配置文件中包含的結構樹信息的屬性,根據屬性逐層地形成結構樹。
2.根據權利要求1所述的方法,其特征在于,所述步驟B包括客戶端利用超文本傳輸協議http定期從服務器上下載xml配置文件。
3.根據權利要求1所述的方法,其特征在于,步驟A中所述保存為將所述配置文件壓縮保存到服務器上;在執(zhí)行所述步驟C之前,進一步包括客戶端在本地解壓縮所述配置文件。
4.根據權利要求1所述的方法,其特征在于,所述步驟C包括C1、讀取最外層標簽下的當前條目,判斷當前條目的屬性是否屬于全局配置信息,如果是,將下一個條目作為當前條目,返回執(zhí)行本步驟;否則,生成結構樹的根節(jié)點,根節(jié)點名稱為當前條目的名稱屬性;C2、讀取生成根節(jié)點的條目下的當前子條目的配置屬性,根據配置屬性在結構樹上生成第一級節(jié)點,并判斷當前子條目下是否存在子條目的配置屬性,如果是,執(zhí)行步驟C3;否則,將生成根節(jié)點的條目下的下一子條目作為當前子條目,循環(huán)執(zhí)行本步驟直至生成根節(jié)點的條目下的所有子條目都根據配置屬性生成結構樹的第一級節(jié)點為止,退出本流程;C3、讀取當前子條目下的子條目的配置屬性,根據配置屬性在結構樹的對應位置上生成下一級節(jié)點,并判斷生成下一級節(jié)點的子條目下是否還存在子條目的配置屬性,如果是,將生成下一級節(jié)點的子條目下的子條目作為當前子條目,返回執(zhí)行本步驟;否則,循環(huán)執(zhí)行本步驟直至當前子條目下的所有子條目都根據配置信息完全生成結構樹的下一級節(jié)點,將生成根節(jié)點的條目下的下一個子條目作為當前子條目,返回執(zhí)行步驟C2。
5.根據權利要求1所述的方法,其特征在于,所述服務器為即時通信服務器,所述客戶端為即時通信客戶端。
6.根據權利要求5所述的方法,其特征在于,所述即時通信客戶端為即時通信實時直播客戶端。
全文摘要
本發(fā)明公開一種形成結構樹的方法。該方法包括,將包含結構樹信息的xml配置文件保存到服務器上;客戶端從服務器上下載xml配置文件;客戶端讀取xml配置文件中包含的結構樹信息的屬性,根據屬性逐層地形成結構樹。采用本發(fā)明提供的方法,可以簡單直觀地在客戶端形成結構豐富、意義復雜的信息結構樹,避免客戶端與服務器之間的私有協議的交互,不需要開發(fā)單獨的服務器進程,也不需要客戶進行復雜的邏輯交互來表現結構樹信息,可擴展性強。
文檔編號H04L29/06GK1984133SQ200510130148
公開日2007年6月20日 申請日期2005年12月12日 優(yōu)先權日2005年12月12日
發(fā)明者劉建強 申請人:騰訊科技(深圳)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1