一種客戶端頁面間通信的方法及裝置制造方法
【專利摘要】本申請公開了一種客戶端頁面間通信的方法及裝置。其中所述方法包括:檢測頁面是否有與其它頁面進(jìn)行數(shù)據(jù)傳輸?shù)男枨?;如果有,則獲取所述數(shù)據(jù);調(diào)取所述頁面所保存的當(dāng)前頁面組中其它頁面的通信標(biāo)識;其中所述頁面組是預(yù)先建立的至少兩個頁面的組合;所述通信標(biāo)識是建立所述頁面組時為頁面組中的每一頁面分配的,所述頁面組中的每一頁面保存有所述頁面組中其它頁面的通信標(biāo)識;依據(jù)所述通信標(biāo)識,在所述頁面與所述其它頁面間建立通信連接,并利用該通信連接將所述需傳輸?shù)臄?shù)據(jù)發(fā)送給其它頁面。通過上述方式,實(shí)現(xiàn)了客戶端頁面間的直接通信,從而實(shí)現(xiàn)了頁面間數(shù)據(jù)的直接傳輸。
【專利說明】一種客戶端頁面間通信的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本申請涉及通信領(lǐng)域,尤其是涉及一種客戶端頁面間通信的方法及裝置。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中,客戶端的多個頁面之間不能直接進(jìn)行通信。由于不能直接進(jìn)行通信,導(dǎo)致了多個頁面間的數(shù)據(jù)無法在頁面間直接傳輸。
[0003]比如在進(jìn)行數(shù)據(jù)更新時,只能通過以下三種方式進(jìn)行:
[0004]第一種是利用HTML5的localstorage即瀏覽器從服務(wù)器端獲取更新數(shù)據(jù),然后瀏覽器將獲取的更新數(shù)據(jù)傳送至自身的各頁面進(jìn)行更新。目前很多瀏覽器并不支持localstorage,而且不同的瀏覽器不能進(jìn)行通信?;诓煌瑸g覽器獲取更新數(shù)據(jù)的周期不同,導(dǎo)致各瀏覽器間的頁面更新不同步。
[0005]第二種方式是JS輪詢的方式。在這一方式中,客戶端從服務(wù)器獲取更新數(shù)據(jù),各頁面通過依次詢問客戶端的方式獲取更新頁面。在保證即時性即保證頁面更新速度的情況下,如果頁面數(shù)量比較多,輪詢的時間就必須短。這樣一個頁面在輪詢過程中從客戶端下載更新數(shù)據(jù)的時間也就相應(yīng)減少了,會造成在此時間內(nèi),無法將更新數(shù)據(jù)完整下載下來,影響顯示效果。
[0006]第三種方式是每個頁面同服務(wù)器建立長鏈接的方式。此種方式雖然能夠保證實(shí)時性,但是,由于頁面數(shù)量眾多,因此,會造成耗費(fèi)過多的帶寬資源。
[0007]可見,目前需要一種客戶端頁面間直接通信的方法。
【發(fā)明內(nèi)容】
[0008]本申請的目的是提供一種客戶端頁面間直接通信的方法。
[0009]基于此,本申請?zhí)峁┑募夹g(shù)方案如下:
[0010]本申請?zhí)峁┝艘环N客戶端頁面間通信的方法,所述方法包括:
[0011]檢測頁面是否有與其它頁面進(jìn)行數(shù)據(jù)傳輸?shù)男枨螅?br>
[0012]如果有,則獲取所述數(shù)據(jù);
[0013]調(diào)取所述頁面所保存的當(dāng)前頁面組中其它頁面的通信標(biāo)識;其中所述頁面組是預(yù)先建立的至少兩個頁面的組合;所述通信標(biāo)識是建立所述頁面組時為頁面組中的每一頁面分配的,所述頁面組中的每一頁面保存有所述頁面組中其它頁面的通信標(biāo)識;
[0014]依據(jù)所述通信標(biāo)識,在所述頁面與所述其它頁面間建立通信連接,并利用該通信連接將所述需傳輸?shù)臄?shù)據(jù)發(fā)送給其它頁面。
[0015]優(yōu)選的,當(dāng)所述頁面屬于多個頁面組時;所述方法還包括:
[0016]根據(jù)所述數(shù)據(jù)的屬性信息,確定所述頁面的當(dāng)前頁面組。
[0017]優(yōu)選的,所述調(diào)取所述頁面所保存的所述當(dāng)前頁面組中其它頁面的通信標(biāo)識包括:
[0018]調(diào)取所述頁面的FLASH處保存的FLASH組中其它FLASH的標(biāo)識;所述FLASH組由所述當(dāng)前頁面組中的頁面對應(yīng)的FLASH構(gòu)成,每一頁面的FLASH處保存有所述FLASH組中其它FLASH的標(biāo)識;
[0019]所述依據(jù)所述通信標(biāo)識,在所述頁面與所述其它頁面間建立通信連接,并利用該通信連接將所述需傳輸?shù)臄?shù)據(jù)發(fā)送給其它頁面包括:
[0020]調(diào)用所述頁面中的FLASH根據(jù)保存的所述FLASH組中其它FLASH的標(biāo)識發(fā)送攜帶所述數(shù)據(jù)的信息接收請求至所述其它FLASH ;
[0021]調(diào)用所述其它FLASH接收所述信息接收請求并獲取所述數(shù)據(jù)。
[0022]優(yōu)選的,所述頁面組通過如下步驟創(chuàng)建:
[0023]獲取當(dāng)前頁面的屬性信息;
[0024]根據(jù)所述屬性信息判斷所述當(dāng)前頁面是否需要加入頁面組;
[0025]若需要,則調(diào)用所述當(dāng)前頁面的FLASH發(fā)起建立主連接FLASH的操作;
[0026]若FLASH組中已存在所述主連接FLASH,則調(diào)用所述當(dāng)前頁面的FLASH加入所述FLASH組,建立當(dāng)前非主連接FLASH,同時生成并記錄當(dāng)前非主連接標(biāo)識;
[0027]調(diào)用所述當(dāng)前非主連接FLASH,將所述當(dāng)前非主連接標(biāo)識發(fā)送至所述主連接FLASH ;
[0028]調(diào)用所述主連接FLASH保存并發(fā)送FLASH組標(biāo)識至所述FLASH組中的每一非主連接FLASH ;其中所述FLASH組標(biāo)識包括所述主連接標(biāo)識和每一非主連接標(biāo)識;
[0029]調(diào)用所述每一非主連接FLASH保存所述FLASH組標(biāo)識。
[0030]優(yōu)選的,若FLASH組中不存在主連接FLASH,則所述方法還包括:
[0031]確定所述當(dāng)前頁面的FLASH為主連接FLASH,同時生成并記錄主連接標(biāo)識;
[0032]當(dāng)所述FLASH組中存在至少一個非主連接FLASH時,調(diào)用所述FLASH組中的每一非主連接FLASH發(fā)送非主連接標(biāo)識至所述主連接FLASH ;
[0033]調(diào)用所述主連接FLASH發(fā)送FLASH組標(biāo)識至所述每一非主連接FLASH ;所述FLASH組標(biāo)識包括所述主連接標(biāo)識和每一非主連接標(biāo)識;
[0034]調(diào)用所述每一非主連接FLASH保存所述FLASH組標(biāo)識。
[0035]優(yōu)選的,所述生成當(dāng)前非主連接標(biāo)識包括:
[0036]隨機(jī)或按照一定的次序生成所述當(dāng)前非主連接標(biāo)識。
[0037]優(yōu)選的,所述方法還包括:
[0038]調(diào)用所述FLASH組中的任一非主連接FLASH發(fā)起重新建立主連接FLASH的操作,若所述主連接FLASH失效,則確定重新發(fā)起建立主連接FLASH操作的非主連接FLASH為新的主連接FLASH,同時生成并記錄新主連接標(biāo)識;
[0039]調(diào)用所述新的主連接FLASH根據(jù)所述新主連接標(biāo)識更新所述自身保存的FLASH組標(biāo)識并發(fā)送更新后的FLASH組標(biāo)識至所述FLASH組中的每一非主連接FLASH ;
[0040]調(diào)用所述每一非主連接FLASH根據(jù)接收的更新后的FLASH組標(biāo)識更新自身保存的所述FLASH組標(biāo)識。
[0041]優(yōu)選的,所述數(shù)據(jù)為用以指示對頁面執(zhí)行操作的操作數(shù)據(jù),所述方法還包括:
[0042]根據(jù)所述操作數(shù)據(jù)在所述其它頁面執(zhí)行所述操作。
[0043]優(yōu)選的,所述數(shù)據(jù)為更新數(shù)據(jù);所述方法還包括:
[0044]根據(jù)所述更新數(shù)據(jù)更新所述其它頁面。[0045]優(yōu)選的,所述需要傳輸數(shù)據(jù)的頁面中的FLASH利用sendmessage函數(shù)發(fā)送攜帶所述數(shù)據(jù)的信息接收請求至所述其它FLASH ;
[0046]所述其它FLASH利用接收recivemessage函數(shù)接受所述信息接收請求并獲取所述數(shù)據(jù)。
[0047]優(yōu)選的,所述頁面組中的頁面為同源頁面。
[0048]本申請還提供了一種用于實(shí)現(xiàn)客戶端頁面間通信的裝置,所述裝置包括:
[0049]檢測單元,用于檢測頁面是否有與其它頁面進(jìn)行數(shù)據(jù)傳輸?shù)男枨螅?br>
[0050]獲取單元,用于在頁面有與其它頁面進(jìn)行數(shù)據(jù)傳輸?shù)男枨髸r,獲取所述數(shù)據(jù);
[0051]標(biāo)識調(diào)用單元,用于調(diào)取所述頁面所保存的當(dāng)前頁面組中其它頁面的通信標(biāo)識;其中所述頁面組是預(yù)先建立的至少兩個頁面的組合;所述通信標(biāo)識是建立所述頁面組時為頁面組中的每一頁面分配的,所述頁面組中的每一頁面保存有所述頁面組中其它頁面的通信標(biāo)識;
[0052]通信單元,用于依據(jù)所述通信標(biāo)識,在所述頁面與所述其它頁面間建立通信連接,并利用該通信連接將所述需傳輸?shù)臄?shù)據(jù)發(fā)送給其它頁面。
[0053]優(yōu)選的,所述裝置還包括:
[0054]頁面組確定單元,用于當(dāng)所述頁面屬于多個頁面組時,根據(jù)所述數(shù)據(jù)的屬性信息,確定所述頁面的當(dāng)前頁面組。
[0055]優(yōu)選的,所述標(biāo)識調(diào)用單元,具體用于調(diào)取所述頁面的FLASH處保存的FLASH組中其它FLASH的標(biāo)識;所述FLASH組由所述當(dāng)前頁面組中的頁面對應(yīng)的FLASH構(gòu)成,每一頁面的FLASH處保存有所述FLASH組中其它FLASH的標(biāo)識;
[0056]所述通信單元包括數(shù)據(jù)發(fā)送單元和數(shù)據(jù)接收單元;
[0057]所述數(shù)據(jù)發(fā)送單元,用于調(diào)用所述頁面中的FLASH根據(jù)保存的所述FLASH組中其它FLASH的標(biāo)識發(fā)送攜帶所述數(shù)據(jù)的信息接收請求至所述其它FLASH ;
[0058]所述數(shù)據(jù)接收單元,用于調(diào)用所述其它FLASH接收所述信息接收請求并獲取所述數(shù)據(jù)。
[0059]優(yōu)選的,所述裝置還包括創(chuàng)建單元,用于創(chuàng)建所述頁面組;所述創(chuàng)建單元包括:
[0060]屬性信息獲取單元,用于獲取當(dāng)前頁面的屬性信息;
[0061]判斷單元,用于根據(jù)所述屬性信息判斷所述當(dāng)前頁面是否需要加入頁面組;
[0062]第一主連接發(fā)起單元,用于在當(dāng)前頁面需要加入所述頁面組時,調(diào)用所述當(dāng)前頁面的FLASH發(fā)起建立主連接FLASH的操作;
[0063]非主連接單元,用于在所述主連接FLASH已存在時,調(diào)用所述當(dāng)前頁面的FLASH加入所述FLASH組,建立當(dāng)前非主連接FLASH,同時生成并記錄當(dāng)前非主連接標(biāo)識;
[0064]第一標(biāo)識發(fā)送單元,用于調(diào)用所述當(dāng)前非主連接FLASH,將所述當(dāng)前非主連接標(biāo)識發(fā)送至所述主連接FLASH ;
[0065]第二標(biāo)識發(fā)送單元,用于調(diào)用所述主連接FLASH保存并發(fā)送FLASH組標(biāo)識至所述FLASH組中的每一非主連接FLASH ;其中所述FLASH組標(biāo)識包括所述主連接標(biāo)識和每一非主連接標(biāo)識;
[0066]第一保存單元,用于調(diào)用所述每一非主連接FLASH保存所述FLASH組標(biāo)識。
[0067]優(yōu)選的,所述創(chuàng)建單元還包括:[0068]第一確定單元,用于在FLASH組中不存在主連接FLASH時,確定所述當(dāng)前頁面的FLASH為主連接FLASH,同時生成并記錄主連接標(biāo)識;
[0069]第三標(biāo)識發(fā)送單元,用于當(dāng)所述FLASH組存在至少一個非主連接FLASH時,調(diào)用所述FLASH組中的每一非主連接FLASH發(fā)送非主連接標(biāo)識至所述主連接FLASH ;
[0070]第四標(biāo)識發(fā)送單元,用于調(diào)用所述主連接FLASH發(fā)送FLASH組標(biāo)識至所述每一非主連接FLASH ;其中所述FLASH組標(biāo)識包括所述主連接標(biāo)識和所述每一非主連接FLASH的非主連接標(biāo)識;
[0071]第二保存單元,用于調(diào)用所述每一非主連接FLASH保存所述FLASH組標(biāo)識。
[0072]優(yōu)選的,所述非主連接單元,具體用于隨機(jī)或按照一定的次序生成所述非主連接標(biāo)識。
[0073]優(yōu)選的,所述裝置還包括:
[0074]第二主連接發(fā)起單元,用于調(diào)用所述FLASH組中的任一非主連接FLASH發(fā)起重新建立主連接FLASH的操作;
[0075]第二確定單元,用于在所述主連接FLASH失效時,確定所述發(fā)起重新建立主連接操作的非主連接FLASH為新的主連接FLASH,同時生成并記錄新主連接標(biāo)識;
[0076]第一標(biāo)識更新單元,用于調(diào)用所述新的主連接FLASH根據(jù)所述新主連接標(biāo)識更新自身保存的所述FLASH組標(biāo)識;
[0077]第五標(biāo)識發(fā)送單元,用于調(diào)用所述新的主連接FLASH發(fā)送更新后的FLASH組標(biāo)識至所述FLASH組中的每一非主連接FLASH ;
[0078]第二標(biāo)識更新單元,用于調(diào)用所述每一非主連接FLASH根據(jù)接收的更新后的FLASH組標(biāo)識更新自身保存的所述FLASH組標(biāo)識。
[0079]優(yōu)選的,所述數(shù)據(jù)為用以指示對頁面執(zhí)行操作的操作數(shù)據(jù),所述裝置還包括:
[0080]操作單元,用于根據(jù)所述操作數(shù)據(jù)在所述其它頁面執(zhí)行所述操作。
[0081]優(yōu)選的,所述數(shù)據(jù)為更新數(shù)據(jù);所述裝置還包括:
[0082]頁面更新單元,用于根據(jù)所述更新數(shù)據(jù)更新所述其它頁面。
[0083]優(yōu)選的,所述數(shù)據(jù)發(fā)送單元,還用于調(diào)用需要傳輸數(shù)據(jù)的頁面中的FLASH利用sendmessage函數(shù)根據(jù)保存的所述FLASH組中其它FLASH的標(biāo)識發(fā)送攜帶所述數(shù)據(jù)的recivemessage請求至所述其它FLASH ;
[0084]所述接收單元,還用于調(diào)用所述其它FLASH利用recivemessage函數(shù)接收所述recivemessage請求并獲取所述數(shù)據(jù)。
[0085]優(yōu)選的,所述頁面組中的頁面為同源頁面。
[0086]與現(xiàn)有技術(shù)相比,本申請具有如下有益效果:
[0087]本申請通過預(yù)先創(chuàng)建頁面組,為每一頁面分配通信標(biāo)識,并在每一頁面中保存頁面組中其它頁面的通信標(biāo)識,使得客戶端在檢測到有頁面需要傳輸數(shù)據(jù)時,能夠利用該頁面保存的其它頁面的通信標(biāo)識建立該頁面與其它頁面間的通信連接,并利用該連接將數(shù)據(jù)傳輸至其它頁面,從而實(shí)現(xiàn)了頁面間數(shù)據(jù)的直接傳輸。
[0088]進(jìn)一步的,當(dāng)基于頁面間的通信進(jìn)行頁面間的同步更新時,由于頁面間可以直接傳輸數(shù)據(jù)進(jìn)行同步更新,相比頁面全部基于瀏覽器1calstorage進(jìn)行更新的方式,避免了頁面間更新需要跨瀏覽器的問題;相比頁面輪詢的方式,,無需全部頁面進(jìn)行輪詢,因此可設(shè)置較長的輪詢間隔,所以在保證即時性的前提下,同時保證了頁面的整體性能;相比頁面與服務(wù)器長鏈接的方式,因?yàn)闊o需全部頁面與服務(wù)器長鏈接,所以節(jié)省了服務(wù)器的資源。
【專利附圖】
【附圖說明】
[0089]為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0090]圖1為本申請實(shí)施例1的方法流程圖;
[0091]圖2為本申請實(shí)施例2的方法流程圖;
[0092]圖3-圖6為本申請實(shí)施例5建立主連接FLASH和非主連接FLASH示意圖;
[0093]圖7為本申請方法實(shí)施例6流程圖;
[0094]圖8為本申請方法實(shí)施例7流程圖;
[0095]圖9為本申請方法實(shí)施例9結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0096]下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其它實(shí)施例,都屬于本申請保護(hù)的范圍。
[0097]需要說明的是,本申請中方法的執(zhí)行主體可以是客戶端。
[0098]本申請實(shí)施例1提供了一種客戶端頁面間通信的方法,參見圖1,所述方法具體包括如下步驟:
[0099]S11、檢測頁面是否有與其它頁面進(jìn)行數(shù)據(jù)傳輸?shù)男枨蟆?br>
[0100]基于頁面間通信的具體應(yīng)用不同,頁面間需要傳輸?shù)臄?shù)據(jù)有所不同。比如要進(jìn)行頁面更新時,要傳輸?shù)氖歉马撁嫔系母聰?shù)據(jù);要進(jìn)行頁面同步操作時,要傳輸?shù)氖怯靡灾甘拘虏僮鞯牟僮鲾?shù)據(jù)。下文將根據(jù)具體的應(yīng)用對此做詳細(xì)描述。
[0101]S12、檢測頁面是否有與其它頁面進(jìn)行數(shù)據(jù)傳輸?shù)男枨蟆?br>
[0102]S13、調(diào)取所述頁面所保存的當(dāng)前頁面組中其它頁面的通信標(biāo)識。
[0103]本申請中的頁面組是預(yù)先建立的至少兩個頁面的組合;所述通信標(biāo)識是建立所述頁面組時為頁面組中的每一頁面分配的,所述頁面組中的每一頁面保存有所述頁面組中其它頁面的通信標(biāo)識。該通信標(biāo)識指用以唯一確定每一頁面的標(biāo)識,基于該標(biāo)識,可以建立頁面間的通信連接。
[0104]在本申請中,頁面組可以根據(jù)需要進(jìn)行創(chuàng)建。比如可設(shè)置基于同一網(wǎng)址打開的多個頁面為一頁面組,以進(jìn)行頁面的同步更新。也可以設(shè)置對應(yīng)同一用戶頁面如用戶的QQ空間頁面和該用戶的微博頁面為同一頁面組,以將QQ空間頁面的簽名等信息同步到微博頁面。在本申請中不對頁面組的具體設(shè)置做限制。
[0105]因?yàn)轫撁娼M可以基于不同的需要建立,因此同一頁面可能屬于多個頁面組,為此,在檢測到有數(shù)據(jù)傳輸時,還需要根據(jù)該數(shù)據(jù)的屬性信息確定頁面的當(dāng)前頁面組。檢測到的數(shù)據(jù)就在當(dāng)前頁面組的頁面間進(jìn)行傳輸。
[0106]本申請中數(shù)據(jù)的屬性信息主要是該數(shù)據(jù)的傳輸屬性信息,比如當(dāng)該數(shù)據(jù)是用以在QQ空間和微博中展示的簽名信息時,當(dāng)前頁面組即為QQ空間和微博頁面組成的頁面組。當(dāng)該數(shù)據(jù)需要在同源頁面間傳輸時,當(dāng)前頁面組即為同源頁面組成的頁面組。
[0107]S14、依據(jù)所述通信標(biāo)識,在所述頁面與所述其它頁面間建立通信連接,并利用該通信連接將所述需傳輸?shù)臄?shù)據(jù)發(fā)送給其它頁面。
[0108]本申請中,客戶端利用頁面的通信標(biāo)識建立通信連接的方式有多種。在本申請具體實(shí)施例中,頁面利用頁面間的FLASH建立頁面間的通信連接,具體為:
[0109]調(diào)取需要傳輸數(shù)據(jù)的頁面的FLASH處保存的FLASH組中其它FLASH的標(biāo)識。其中,F(xiàn)LASH組由當(dāng)前頁面組中的頁面對應(yīng)的FLASH構(gòu)成,每一頁面的FLASH處保存有所述FLASH組中其它FLASH的標(biāo)識。
[0110]調(diào)用所述頁面中的FLASH,根據(jù)保存的所述FLASH組中其它FLASH的標(biāo)識發(fā)送攜帶所述數(shù)據(jù)的信息接收請求至所述其它FLASH。
[0111]調(diào)用所述其它FLASH接收所述信息接收請求并獲取所述數(shù)據(jù)。
[0112]當(dāng)然,本申請中,客戶端也可利用頁面中的其它具有數(shù)據(jù)傳輸功能的單元利用通信標(biāo)識在頁面間傳輸數(shù)據(jù),本申請不對此做具體限制。
[0113]本申請中,頁面組的創(chuàng)建有多種方法,本申請實(shí)施例2即為其中一種,參見圖2,該方法包括:
[0114]S21、獲取當(dāng)前頁面的屬性信息。
[0115]在本申請中,當(dāng)前頁面可以指客戶端檢測到的每一正在打開的頁面。當(dāng)有頁面被打開時,獲取該頁面的屬性信息,該屬性信息是指用以表征該頁面是否有與其它頁面進(jìn)行通信的需求,以及與哪些頁面進(jìn)行和何種通信需求的信息。比如頁面是否設(shè)置了與其它頁面進(jìn)行同步更新,是否設(shè)置了與其它頁面進(jìn)行同步操作,同步更新的數(shù)據(jù)類型、同步操作的操作類型等信息??梢岳斫獾?,基于同一頁面的不同屬性,同一頁面有可能被加入到多個頁面組中。
[0116]S22、根據(jù)所述屬性信息判斷當(dāng)前頁面是否需要加入頁面組。
[0117]比如當(dāng)屬性信息表示當(dāng)前頁面A需要與另一頁面B進(jìn)行簽名信息的同步更新時,則判斷將當(dāng)前頁面A加入對應(yīng)頁面組。
[0118]需要說明的是,同源頁面間的同步更新是當(dāng)前網(wǎng)絡(luò)的默認(rèn)需求,即對每一頁面來講都有與同源頁面同步更新的需求,因此,每一頁面實(shí)際上都需要加入與同源頁面同步更新的頁面組。
[0119]S23、調(diào)用當(dāng)前頁面的FLASH發(fā)起建立主連接FLASH的操作。
[0120]同一客戶端可能會設(shè)置多個頁面組,本申請中,可對頁面組對應(yīng)的FLASH組設(shè)置名稱以進(jìn)行區(qū)分。其具體名稱可以任意設(shè)置。比如設(shè)置為“Cl0ud”、“rain”等。同一頁面可能會加入不同頁面組,因此,同一頁面可能會有不同的FLASH被調(diào)用,為進(jìn)行區(qū)分,可以對同一頁面的各FLASH按照FLASH組名稱進(jìn)行設(shè)置。比如,主連接FLASH的名稱可設(shè)置為“FLASH組名稱HOST”。這樣通過名稱就可以知道該主連接FLASH所在的FLASH群組。
[0121]具體的,當(dāng)有頁面啟動時,客戶端調(diào)用create接口發(fā)起試圖創(chuàng)建主連接FLASH的操作。當(dāng)FLASH組名稱為“cloud”時,主連接名稱為“cloud_H0ST”[0122]S24、若FLASH組中已存在所述主連接FLASH,則調(diào)用所述當(dāng)前頁面的FLASH加入所述FLASH組,建立當(dāng)前非主連接FLASH,同時生成并記錄當(dāng)前非主連接標(biāo)識。
[0123]在本申請中,主連接FLASH只有一個,但非主連接FLASH可以有多個,為對非主連接FLASH進(jìn)行區(qū)分,生成的非主連接標(biāo)識必須是唯一的。
[0124]為確保唯一性,創(chuàng)建非主連接FLASH時,可以按照如下過程進(jìn)行:
[0125]調(diào)用join接口,創(chuàng)建名為“FLASH組名稱_非主連接標(biāo)識A”的非主連接FLASH。若A已經(jīng)存在,則試圖創(chuàng)建“FLASH組名稱_非主連接標(biāo)識B”的非主連接FLASH,直到創(chuàng)建的標(biāo)識在FLASH組中不存在為止。
[0126]具體的,可以隨機(jī)生成非主連接標(biāo)識,也可以按照次序生成非主連接標(biāo)識。
[0127]S25、調(diào)用所述當(dāng)前非主連接FLASH,將所述當(dāng)前非主連接標(biāo)識發(fā)送至所述主連接FLASH。
[0128]S26、調(diào)用所述主連接FLASH保存并發(fā)送FLASH組標(biāo)識至所述FLASH組中的每一非主連接FLASH ;其中所述FLASH組標(biāo)識包括所述主連接標(biāo)識和每一非主連接標(biāo)識。
[0129]S27、調(diào)用所述每一非主連接FLASH保存所述FLASH組標(biāo)識。
[0130]具體的,當(dāng)FLASH組中只包括主連接FLASH和當(dāng)前非主連接FLASH時,所述的FLASH組標(biāo)識包括主連接標(biāo)識和當(dāng)前非主連接標(biāo)識,每一非主連接指當(dāng)前非主連接FLASH。
[0131]當(dāng)FLASH組中包括主連接FLASH、當(dāng)前非主連接FLASH和其它非主連接FLASH時,F(xiàn)LASH組標(biāo)識包括主連接標(biāo)識、當(dāng)前非主連接標(biāo)識和其它非主連接FLASH的非主連接標(biāo)識,每一非主連接指當(dāng)前非主連接FLASH和其它非主連接FLASH。
[0132]在本申請實(shí)施例3中,當(dāng)FLASH組中尚不存在主連接FLASH時,則確定調(diào)用的該FLASH為主連接FLASH,同時生成并記錄主連接標(biāo)識。
[0133]當(dāng)所述FLASH組中存在至少一個非主連接FLASH時,調(diào)用所述FLASH組中的每一非主連接FLASH發(fā)送非主連接標(biāo)識至所述主連接FLASH。
[0134]調(diào)用所述主連接FLASH發(fā)送FLASH組標(biāo)識至所述每一非主連接FLASH ;所述FLASH組標(biāo)識包括所述主連接標(biāo)識和每一非主連接標(biāo)識。
[0135]調(diào)用所述每一非主連接FLASH保存所述FLASH組標(biāo)識。
[0136]通過上述實(shí)施例2或?qū)嵤├?所述的過程建立了 FLASH通信的機(jī)制,在每一 FLASH處保存了 FLASH組中任一 FLASH的標(biāo)識,為后續(xù)通信提供了條件。其中在上述過程中,主連接FLASH充當(dāng)了服務(wù)器的角色,用于建立各非主連接FLASH間的通信。
[0137]主連接FLASH有時會失效,比如當(dāng)主連接FLASH對應(yīng)的頁面被關(guān)閉時,主連接FLASH同時消失。當(dāng)后續(xù)有新的非主連接FLASH建立時,會出現(xiàn)無法加入FLASH組的情況。為此,在本申請的實(shí)施例4中,所述方法還包括:
[0138]調(diào)用所述FLASH組中的任一非主連接FLASH發(fā)起重新建立主連接FLASH的操作,若所述主連接FLASH失效,則確定重新發(fā)起建立主連接FLASH操作的非主連接FLASH為新的主連接FLASH,同時生成并記錄新主連接標(biāo)識。這一操作可以是實(shí)時的,也可以是周期性進(jìn)行的。生成的新主連接標(biāo)識可以與原主連接標(biāo)識相同。
[0139]調(diào)用所述新的主連接FLASH根據(jù)所述新主連接標(biāo)識更新所述自身保存的FLASH組標(biāo)識并發(fā)送更新后的FLASH組標(biāo)識至所述FLASH組中的每一非主連接FLASH。
[0140]新的主連接FLASH生成后,客戶端會調(diào)用新的主連接FLASH重新計(jì)算群組成員,刪除自身為非主連接FLASH時的標(biāo)識并根據(jù)生成的新主連接標(biāo)識更新自身保存的FLASH組標(biāo)識,然后發(fā)送更新后的FLASH組標(biāo)識至當(dāng)前FLASH群組的所有非主連接FLASH。
[0141]調(diào)用所述每一非主連接FLASH根據(jù)接收的更新后的FLASH組標(biāo)識更新自身保存的所述FLASH組標(biāo)識。
[0142]本申請實(shí)施例5提供了上述方法的一種具體應(yīng)用場景:
[0143]有A,B, C,D,4個頁面,需要進(jìn)行同步更新,因此,可基于A,B, C,D,4個頁面建立頁面組,此處可設(shè)置該頁面組對應(yīng)的FLASH組的名稱為”cloud”。其中各FLASH的文件內(nèi)容相同。
[0144]首先打開頁面A,調(diào)用對應(yīng)的FLASH,該FLASH首先會試圖調(diào)用create接口建立名為”cloud_H0ST”的本地連接。因?yàn)镕LASH組還沒有主連接,因此建立成功并記錄主連接標(biāo)識為HOST,該FLASH為主連接FLASH,充當(dāng)服務(wù)器的作用。
[0145]接著打開頁面B,調(diào)用對應(yīng)的FLASH,該FLASH首先會試圖調(diào)用create接口建立名為”cloud_H0ST”的本地連接。因?yàn)镕LASH組已有主連接,因此建立失敗。此時調(diào)用join接口,建立非主連接FLASH,加入該群組。調(diào)用join接口,F(xiàn)LASH會試圖去創(chuàng)建名為”cloud_l ”的本地連接。因?yàn)镕LASH組中沒有此名稱,因此建立成功,并記錄下成功的id為I。參見圖3,接著客戶端調(diào)用該非主連接FLASH,攜帶自身id即I向主連接FLASH發(fā)送加入群組請求,主FLASH收到該請求,保存其攜帶的id即1,并生成FLASH組標(biāo)識(HOST,I)。然后主FLASH發(fā)送攜帶FLASH組標(biāo)識(H0ST,I)的更新請求給頁面B對應(yīng)的非主連接FLASH,收到主FLASH的更新請求,該非主連接FLASH記錄下FLASH組標(biāo)識(H0ST,I)。
[0146]接著打開頁面C,調(diào)用對應(yīng)的FLASH,該FLASH首先會試圖調(diào)用create接口建立名為” cloud_H0ST”的本地連接。因?yàn)镕LASH組已有主連接,因此建立失敗。此時調(diào)用join接口,建立非主連接FLASH,加入該群組。此時該FLASH會試圖去創(chuàng)建名為” cloud_l ”的本地連接。FLASH組中已有此名稱,因此建立失敗。此時繼續(xù)試圖去建立名為“cloud_2”的本地連接并記錄下成功的id為2。參見圖4,接著客戶端調(diào)用該非主連接FLASH攜帶自身id即2向主連接FLASH發(fā)送加入群組請求,主FLASH收到該請求,保存其攜帶的id即2,并生成FLASH組標(biāo)識(H0ST,I,2)。然后主FLASH發(fā)送攜帶FLASH組標(biāo)識(H0ST,I,2)的更新請求給頁面B、頁面C對應(yīng)的非主連接FLASH。收到主FLA SH的更新請求,頁面B對應(yīng)的非主連接FLASH更新自身保存的FLASH組標(biāo)識為(H0ST,I,2),頁面C對應(yīng)的非主連接FLASH保存該 FLASH 組標(biāo)識(H0ST,1,2)。
[0147]接著打開頁面D,調(diào)用對應(yīng)的FLASH,該FLASH首先會試圖調(diào)用create接口建立名為” cloud_H0ST”的本地連接。因?yàn)镕LASH組已有主連接,因此建立失敗。此時調(diào)用join接口,建立非主連接FLASH,加入該群組。此時FLASH會試圖去創(chuàng)建名為” cloud_l ”的本地連接。FLASH組中已有此名稱,因此建立失敗。此時繼續(xù)試圖去建立名為“cloud_2”的本地連接并記錄下成功的id為2。FLASH組中已有此名稱,因此建立失敗。此時繼續(xù)試圖去建立名為“cloud_3”的本地連接,創(chuàng)建成功并記錄下成功的id為3。參見圖5,接著客戶端調(diào)用該非主連接FLASH攜帶自身id即3向主連接FLASH發(fā)送加入群組請求,主FLASH收到該請求,保存其攜帶的id即3,并生成FLASH組標(biāo)識(H0ST,I,2,3)。然后主FLASH發(fā)送攜帶FLASH組標(biāo)識(HOST,1,2,3)的更新請求給頁面B、C、D對應(yīng)的非主連接FLASH,收到主FLASH的更新請求,頁面B、C對應(yīng)的非主連接FLASH更新自身保存的FLASH組標(biāo)識為(H0ST,1,2,3),頁面D對應(yīng)的非主連接FLASH保存該FLASH組標(biāo)識(HOST,1,2,3)。
[0148]可以理解的,當(dāng)有新的頁面被打開時,客戶端會調(diào)用其對應(yīng)的FLASH依次執(zhí)行建立主連接FLASH、非主連接FLASH,發(fā)送自身標(biāo)識至主連接FLASH,并接收FLASH組標(biāo)識的操作。
[0149]另外,頁面B、C、D對應(yīng)的FLASH成功建立非主連接FLASH后,利用主連接唯一的特性,每隔一個時間段便會執(zhí)行成為主連接FLASH的操作。當(dāng)頁面A未關(guān)閉時,主連接FLASH仍有效,因此操作會失敗。
[0150]參見圖6,某一時刻,關(guān)閉頁面A,主連接FLASH消失,此時,正好頁面B的FLASH執(zhí)行了發(fā)起建立主連接FLASH的操作,因此該操作成功,頁面B對應(yīng)的非主連接FLASH會成為新的主連接,同時生成新的主連接標(biāo)識,此處可以同源主連接標(biāo)識相同為HOST。然后調(diào)用新的主連接FLASH重新計(jì)算群組成員,將原主連接標(biāo)識從FLASH組標(biāo)識中刪除,并將自身標(biāo)識I更改為原主連接標(biāo)識HOST以更新自身保存的FLASH組標(biāo)識為(HOST,2,3),然后發(fā)送攜帶該更新后的FLASH組標(biāo)識的更新請求至頁面C、D對應(yīng)的非主連接FLASH。頁面C、D對應(yīng)的非主連接FLASH收到請求后將自身保存的FLASH組標(biāo)識更新為(HOST,2,3)。
[0151]通過上述過程,F(xiàn)LASH組內(nèi)的每個FLASH都保存了 FLASH組內(nèi)所有FLASH的標(biāo)識,基于各自保存的標(biāo)識,各FLASH之間能夠建立通信。
[0152]上述客戶端頁面間直接通信的方法具有多種應(yīng)用,以下以該方法應(yīng)用在頁面間的同步更新和頁面間的同步操作為例進(jìn)行描述。
[0153]本申請實(shí)施例6為基于頁面間直接通信實(shí)現(xiàn)頁面間同步操作的過程。參見圖7,該過程具體包括:
[0154]S31、檢測頁面組中是否有頁面執(zhí)行了新的操作。
[0155]在本申請中,該新的操作是指對頁面進(jìn)行內(nèi)容更新外的所有操作,比如頁面切換操作。
[0156]S32、若有,獲取用以指示對頁面執(zhí)行新操作的操作數(shù)據(jù)。
[0157]S33、調(diào)用該執(zhí)行了新操作的頁面中的FLASH根據(jù)保存的所述FLASH組中其它FLASH的標(biāo)識發(fā)送攜帶所述操作數(shù)據(jù)的信息接收請求至所述其它FLASH。
[0158]S34、調(diào)用所述其它FLASH根據(jù)所述信息接收請求接收所述操作數(shù)據(jù)。
[0159]步驟S33和步驟S34中,可以通過頁面的JS對FLASH進(jìn)行調(diào)用。
[0160]S35、根據(jù)所述操作數(shù)據(jù)在其它FLASH對應(yīng)的頁面執(zhí)行所述操作。
[0161]在該應(yīng)用中,F(xiàn)LASH發(fā)送信息接收請求至其它FLASH和其它FLASH根據(jù)信息接收請求接收操作數(shù)據(jù)具有多種方式。在具體實(shí)施例中,可利用FLASH中的sendmessage發(fā)送信息函數(shù)和recivemessage接收信息函數(shù)進(jìn)行信息的發(fā)送和接收。
[0162]接下來以頁面切換操作為例,對上述方式進(jìn)行介紹。
[0163]客戶端建立包含頁面A、B、C的頁面組。某一時刻頁面組中的頁面A從第一頁切換到第二頁??蛻舳藱z測到這一新的操作后獲取用以指示對頁面執(zhí)行從第一頁切換到第二頁的操作數(shù)據(jù)比如“1,2”。然后客戶端調(diào)用A頁面中的FLASH根據(jù)保存的頁面B、C對應(yīng)的FLA SH的標(biāo)識建立至頁面B、C的通信過程,利用sendmessage函數(shù)發(fā)送攜帶所述操作數(shù)據(jù)的recivemessage請求至頁面B、C的FLASH??蛻舳苏{(diào)用頁面B、C的FLASH利用recivemessage函數(shù)接收所述recivemessage請求,并獲取其攜帶的操作數(shù)據(jù)“ I, 2”??蛻舳死盟霾僮鲾?shù)據(jù)對頁面B、C執(zhí)行由第一頁切換到第二頁的操作。
[0164]本申請實(shí)施例7為基于頁面間直接通信實(shí)現(xiàn)頁面間同步更新的過程。參見圖8,該過程具體包括:
[0165]S41、檢測頁面組中是否有頁面進(jìn)行了更新。
[0166]S42、若有,獲取更新頁面中的更新數(shù)據(jù)。
[0167]S43、調(diào)用更新頁面中的FLASH根據(jù)保存的所述FLASH組中其它FLASH的標(biāo)識發(fā)送攜帶所述更新數(shù)據(jù)的信息接收請求至所述其它FLASH。
[0168]S 44、調(diào)用所述其它FLASH根據(jù)所述信息接收請求接收所述更新數(shù)據(jù)。
[0169]S45、根據(jù)所述更新數(shù)據(jù)更新所述其它FLASH對應(yīng)的頁面。
[0170]從上述實(shí)施例可以看出,頁面組中需要有頁面先進(jìn)行更新才能通過該更新頁面將更新數(shù)據(jù)傳輸給其它頁面。在本申請中,該先進(jìn)行更新的頁面可以通過如下方式獲取更新數(shù)據(jù):
[0171]第一種是基于瀏覽器的localstorage方案。設(shè)置一個瀏覽器從服務(wù)器獲取更新數(shù)據(jù),然后將該更新數(shù)據(jù)發(fā)送至該瀏覽器內(nèi)的至少一個頁面,使該至少一個頁面進(jìn)行更新。在該方式中,因?yàn)橹簧婕暗揭粋€瀏覽器,其它瀏覽器內(nèi)的頁面可以基于上述頁面間的直接通信進(jìn)行更新,因此,該方法解決了現(xiàn)有技術(shù)中基于瀏覽器的localstorage方案進(jìn)行頁面更新不能跨瀏覽器的問題。
[0172]第二種是基于頁面輪詢的方式。在該方式中客戶端從服務(wù)器獲取更新數(shù)據(jù),設(shè)置一個頁面周期性的詢問客戶端,從客戶端獲取該更新數(shù)據(jù)進(jìn)行更新。在該方式中,因?yàn)橹簧婕耙粋€頁面,所以在保證即時性的同時,保證了頁面的性能。當(dāng)然在該方式中,也可以設(shè)置適量頁面輪詢客戶端,只要設(shè)置的頁面數(shù)量能夠保證頁面性能即可。
[0173]第三種是基于服務(wù)器長鏈接的方式。設(shè)置一個頁面與服務(wù)器長鏈接,從服務(wù)器獲取更新數(shù)據(jù)進(jìn)行更新。在該方式中,因?yàn)橹挥幸粋€頁面與服務(wù)器長鏈接,因此降低了對服務(wù)器帶寬的需求,即降低了服務(wù)器成本。當(dāng)然,在該方式中,也可以在服務(wù)器帶寬范圍內(nèi)設(shè)置適量頁面與服務(wù)器長鏈接。
[0174]需要說明的是,在該實(shí)施例中,F(xiàn)LASH組中的FLASH可以具有相同的文件內(nèi)容,如基于同一網(wǎng)址打開的多個同源頁面的FLASH。當(dāng)然,各FLASH也可以具有不同的內(nèi)容,如對應(yīng)同一用戶的QQ空間頁面和微博頁面的FLASH。
[0175]在本申請中基于不同的更新需求,需要傳輸?shù)母聰?shù)據(jù)類型也不同。比如,當(dāng)同源頁面間進(jìn)行同步更新時,因?yàn)樾枰獙γ恳桓逻M(jìn)行同步,因此,更新數(shù)據(jù)是指頁面中的任何更新數(shù)據(jù)。而當(dāng)僅需要對特定的更新進(jìn)行同步時,更新數(shù)據(jù)有可能是特定的某一類型數(shù)據(jù),比如之前提到的對應(yīng)同一用戶的QQ空間頁面和微博頁面,其檢測的就是頁面中的簽名數(shù)據(jù),而非所有數(shù)據(jù)。在本申請中。為滿足不同的更新需要,可以對更新數(shù)據(jù)的具體類型進(jìn)行設(shè)置。
[0176]實(shí)施例8提供了一種在同源頁面間通信以進(jìn)行同步更新的具體應(yīng)用場景:
[0177]基于用戶對同一論壇網(wǎng)址的三次點(diǎn)擊,打開了三個相同頁面A、B、C。這三個頁面加入到同一頁面組中。三個頁面對應(yīng)的FLASH構(gòu)成FLASH組,每個FLASH具有相同的文件內(nèi)容,而且FLASH中都存儲有FLASH組中其它FLASH的標(biāo)識。
[0178]有其它用戶在該論壇上發(fā)表了 “今天要下雨”的信息。[0179]服務(wù)器獲取到該信息,A頁面通過一定的方式,如之前提到的三種方式獲取到該信息后在自身頁面進(jìn)行了更新。此時A頁面上顯示有“今天要下雨”的信息。
[0180]客戶端檢測到A頁面進(jìn)行了更新,于是從A頁面上獲取“今天要下雨”的更新信息。
[0181]客戶端調(diào)用A頁面的FLASH,根據(jù)自身保存的B頁面FLASH的標(biāo)識發(fā)送攜帶“今天要下雨”的信息接受請求至B頁面的FLASH ;同時客戶端調(diào)用A頁面的FLASH,根據(jù)自身保存的C頁面FLASH的標(biāo)識發(fā)送攜帶“今天要下雨”的信息接受請求至C頁面的FLASH.[0182]客戶端調(diào)用B、C頁面的FLASH接收上述信息接受請求并獲取到其攜帶的“今天要下雨”的信息。
[0183]客戶端將“今天要下雨”的信息顯示在頁面B、C上。
[0184]至此,頁面A、B、C進(jìn)行了同步更新。
[0185]實(shí)施例8提供了一種在非同源頁面間通信以進(jìn)行同步更新的具體應(yīng)用場景:
[0186]用戶打開了自己的QQ空間頁面和騰訊微博頁面,并設(shè)置了將QQ空間頁面的簽名信息同步到騰訊微博頁面。
[0187]客戶端將QQ空間頁面和騰訊微博頁面加入到同一頁面組中,其中QQ空間頁面的FLASH中保存有騰訊微博頁面FLASH的標(biāo)識,騰訊微博頁面FLASH保存有QQ空間頁面FLASH的標(biāo)識。
[0188]當(dāng)用戶修改簽名信息為“今天要下雨”時,QQ空間頁面通過之前所述的三種方式獲取到該信息并顯示在自身頁面上。
[0189]客戶端檢測到QQ空間頁面的簽名信息進(jìn)行了更新,于是獲取該信的簽名信息。
[0190]客戶端調(diào)用QQ空間頁面的FLASH根據(jù)保存的騰訊微博頁面FLASH的標(biāo)識發(fā)送攜帶該“今天要下雨”更新數(shù)據(jù)的信息接收請求至騰訊微博頁面FLASH。
[0191]客戶端調(diào)用騰訊微博頁面FLASH接收該信息接收請求并獲取其攜帶的“今天要下雨”的更新數(shù)據(jù)。
[0192]客戶端將“今天要下雨”顯示在騰訊微博頁面上。
[0193]至此,QQ空間頁面和騰訊微博頁面進(jìn)行了同步更新。
[0194]用戶接下來在QQ空間頁面上添加“現(xiàn)在還沒有下雨”的留言。
[0195]客戶端檢測到QQ空間頁面上進(jìn)行了更新,但更新信息并非是簽名信息,因此不獲取該信息。
[0196]需要說明的是,同頁面間同步操作一樣,在上述實(shí)施例中,頁面的FLA SH同樣可以利用sendmessage函數(shù)和recivemessage函數(shù)進(jìn)行更新數(shù)據(jù)的發(fā)送和接收。
[0197]本申請實(shí)施例9提供了一種用于實(shí)現(xiàn)客戶端頁面間通信的裝置,參見圖9,該裝置包括:
[0198]檢測單元11,用于檢測頁面是否有與其它頁面進(jìn)行數(shù)據(jù)傳輸?shù)男枨蟆?br>
[0199]基于頁面間通信的具體應(yīng)用不同,頁面間需要傳輸?shù)臄?shù)據(jù)有所不同。比如要進(jìn)行頁面更新時,要傳輸?shù)氖歉马撁嫔系母聰?shù)據(jù);要進(jìn)行頁面同步操作時,要傳輸?shù)氖怯靡灾甘拘虏僮鞯牟僮鲾?shù)據(jù)。下文將根據(jù)具體的應(yīng)用對此做詳細(xì)描述。
[0200]獲取單元12,用于在頁面有數(shù)據(jù)需要傳輸時,獲取該數(shù)據(jù)。
[0201]標(biāo)識調(diào)用單元13,用于調(diào)取所述頁面所保存的當(dāng)前頁面組中其它頁面的通信標(biāo)識。[0202]本申請中的頁面組是預(yù)先建立的至少兩個頁面的組合;所述通信標(biāo)識是建立所述頁面組時為頁面組中的每一頁面分配的,所述頁面組中的每一頁面保存有所述頁面組中其它頁面的通信標(biāo)識。該通信標(biāo)識指用以唯一確定每一頁面的標(biāo)識,基于該標(biāo)識,可以建立頁面間的通信連接。
[0203]在本申請中,頁面組可以根據(jù)需要進(jìn)行創(chuàng)建。比如可設(shè)置基于同一網(wǎng)址打開的多個頁面為一頁面組,以進(jìn)行頁面的同步更新。也可以設(shè)置對應(yīng)同一用戶頁面如用戶的QQ空間頁面和該用戶的微博頁面為同一頁面組,以將QQ空間頁面的簽名等信息同步到微博頁面。在本申請中不對頁面組的具體設(shè)置做限制。
[0204]因?yàn)轫撁娼M可以基于不同的需要建立,因此同一頁面可能屬于多個頁面組。為此,所述裝置還包括頁面組確定單元,用于當(dāng)所述頁面屬于多個頁面組時,根據(jù)所述數(shù)據(jù)的屬性信息,確定所述頁面的當(dāng)前頁面組,所述數(shù)據(jù)就在當(dāng)前頁面組的頁面間進(jìn)行傳輸。
[0205]本申請中數(shù)據(jù)的屬性信息主要是該數(shù)據(jù)的傳輸屬性信息,比如當(dāng)該數(shù)據(jù)是用以在QQ空間和微博中展示的簽名信息時,當(dāng)前頁面組即為QQ空間和微博頁面組成的頁面組。當(dāng)該數(shù)據(jù)需要在同源頁面間傳輸時,當(dāng)前頁面組即為同源頁面組成的頁面組。
[0206]通信單元14,用于依據(jù)所述通信標(biāo)識,在所述頁面與所述其它頁面間建立通信連接,并利用該通信連接將所述需傳輸?shù)臄?shù)據(jù)發(fā)送給其它頁面。
[0207]本申請中,客戶端利用頁面的通信標(biāo)識建立通信連接的方式有多種。在本申請具體實(shí)施例中,頁面利用頁面間的FLA S H建立頁面間的通信連接,所述裝置具體為:
[0208]檢測單元,用于檢測頁面是否有與其它頁面進(jìn)行數(shù)據(jù)傳輸?shù)男枨蟆?br>
[0209]獲取單元,用于在頁面有數(shù)據(jù)需要傳輸時,獲取該數(shù)據(jù)。
[0210]標(biāo)識調(diào)用單元,用于調(diào)取需要傳輸數(shù)據(jù)的頁面的FLASH處保存的FLASH組中其它FLASH的標(biāo)識。其中,F(xiàn)LASH組由當(dāng)前頁面組中的頁面對應(yīng)的FLASH構(gòu)成,每一頁面的FLASH處保存有所述FLASH組中其它FLASH的標(biāo)識。
[0211 ] 通信單元包括數(shù)據(jù)發(fā)送單元和數(shù)據(jù)接收單元。
[0212]數(shù)據(jù)發(fā)送單元,用于調(diào)用所述頁面中的FLASH根據(jù)保存的所述FLASH組中其它FLASH的標(biāo)識發(fā)送攜帶所述數(shù)據(jù)的信息接收請求至所述其它FLASH。
[0213]數(shù)據(jù)接收單元,用于調(diào)用所述其它FLASH接收所述信息接收請求并獲取所述數(shù)據(jù)。
[0214]當(dāng)然,本申請中,該裝置也可利用頁面中的其它具有數(shù)據(jù)傳輸功能的單元利用通信標(biāo)識在頁面間傳輸數(shù)據(jù),本申請不對此做具體限制。
[0215]頁面組是預(yù)先創(chuàng)建的,因此,本申請還包括創(chuàng)建單元,用于創(chuàng)建頁面組。
[0216]在本申請中,頁面組可以根據(jù)需要進(jìn)行創(chuàng)建。比如可設(shè)置基于同一網(wǎng)址打開的多個頁面為一頁面組,以進(jìn)行頁面的同步更新。也可以設(shè)置對應(yīng)同一用戶頁面如用戶的QQ空間頁面和該用戶的微博頁面為同一頁面組,以將QQ空間頁面的簽名等信息同步到微博頁面。在本申請中不對頁面組的具體設(shè)置做限制。
[0217]對應(yīng)不同的創(chuàng)建方法,具體的創(chuàng)建單元包括:
[0218]屬性信息獲取單元,用于獲取當(dāng)前頁面的屬性信息。
[0219]在本申請中,當(dāng)前頁面可以指客戶端檢測到的每一正在打開的頁面。當(dāng)有頁面被打開時,屬性信息獲取單元獲取該頁面的屬性信息。該屬性信息是指用以表征該頁面是否有與其它頁面進(jìn)行通信的需求,以及與哪些頁面進(jìn)行和何種通信需求的信息。比如頁面是否設(shè)置了與其它頁面進(jìn)行同步更新,是否設(shè)置了與其它頁面進(jìn)行同步操作,同步更新的數(shù)據(jù)類型、同步操作的操作類型等信息??梢岳斫獾?,基于同一頁面的不同屬性,同一頁面有可能被加入到多個頁面組中。
[0220]判斷單元,用于根據(jù)所述屬性信息判斷所述當(dāng)前頁面是否需要加入頁面組。
[0221]比如當(dāng)屬性信息表示當(dāng)前頁面A需要與另一頁面B進(jìn)行簽名信息的同步更新時,則判斷將當(dāng)前頁面A加入對應(yīng)頁面組。
[0222]需要說明的是,同源頁面間的同步更新是當(dāng)前網(wǎng)絡(luò)的默認(rèn)需求,即對每一頁面來講都有與同源頁面同步更新的需求,因此,每一頁面實(shí)際上都需要加入與同源頁面同步更新的頁面組。
[0223]第一主連接發(fā)起單元,用于在當(dāng)前頁面需要加入所述頁面組時,調(diào)用所述當(dāng)前頁面的FLASH發(fā)起建立主連接FLASH的操作。
[0224]同一客戶端可能會設(shè)置多個頁面組,本申請中,可對頁面組對應(yīng)的FLASH組設(shè)置名稱以進(jìn)行區(qū)分。其具體名稱可以任意設(shè)置。比如設(shè)置為“Cl0ud”、“rain”等。同一頁面可能會加入不同頁面組,因此,同一頁面可能會有不同的FLASH被調(diào)用,為進(jìn)行區(qū)分,可以對同一頁面的各FLASH按照FLASH組名稱進(jìn)行設(shè)置。比如,主連接FLASH的名稱可設(shè)置為“FLASH組名稱_H0ST”。這樣通過名稱就可以知道該主連接FLASH所在的FLASH群組。
[0225]具體的,當(dāng)有頁面啟動時,主連接發(fā)起單元調(diào)用create接口發(fā)起試圖創(chuàng)建主連接FLASH的操作。當(dāng)FLASH組名稱為“cloud”時,主連接名稱為“cloud_H0ST”
[0226]非主連接單元,用于在所述主連接FLASH已存在時,調(diào)用所述當(dāng)前頁面的FLASH加入所述FLASH組,建立當(dāng)前非主連接FLASH,同時生成并記錄當(dāng)前非主連接標(biāo)識。
[0227]在本申請中,主連接FLASH只有一個,但非主連接FLASH可以有多個,為對非主連接FLASH進(jìn)行區(qū)分,非主連接單元生成的非主連接標(biāo)識必須是唯一的。
[0228]為確保唯一性,創(chuàng)建非主連接FLASH時,非主連接單元可以調(diào)用join接口,創(chuàng)建名為“FLASH組名稱_非主連接標(biāo)識A”的非主連接FLASH。若A已經(jīng)存在,則試圖創(chuàng)建“FLASH組名稱_非主連接標(biāo)識B”的非主連接FLASH,直到創(chuàng)建的標(biāo)識在FLASH組中不存在為止。
[0229]具體的,非主連接單元可以隨機(jī)生成非主連接標(biāo)識,也可以按照次序生成非主連接標(biāo)識。
[0230]第一標(biāo)識發(fā)送單元,用于調(diào)用所述當(dāng)前非主連接FLASH,將所述當(dāng)前非主連接標(biāo)識發(fā)送至所述主連接FLASH。
[0231]第二標(biāo)識發(fā)送單元,用于調(diào)用所述主連接FLASH保存并發(fā)送FLASH組標(biāo)識至所述FLASH組中的每一非主連接FLASH ;其中所述FLASH組標(biāo)識包括所述主連接標(biāo)識和每一非主連接標(biāo)識。
[0232]第一保存單元,用于調(diào)用所述每一非主連接FLASH保存所述FLASH組標(biāo)識。
[0233]具體的,當(dāng)FLASH組中只包括主連接FLASH和當(dāng)前非主連接FLASH時,所述的FLASH組標(biāo)識包括主連接標(biāo)識和當(dāng)前非主連接標(biāo)識,每一非主連接指當(dāng)前非主連接FLASH。
[0234]當(dāng)FLASH組中包括主連接FLASH、當(dāng)前非主連接FLASH和其它非主連接FLASH時,F(xiàn)LASH組標(biāo)識包括主連接標(biāo)識、當(dāng)前非主連接標(biāo)識和其它非主連接FLASH的非主連接標(biāo)識,每一非主連接指當(dāng)前非主連接FLASH和其它非主連接FLASH。[0235]在本申請另一實(shí)施例中,所述創(chuàng)建單元還包括:
[0236]第一確定單元,用于在FLASH組中不存在主連接FLASH時,確定所述當(dāng)前頁面的FLASH為主連接FLASH,同時生成并記錄主連接標(biāo)識。
[0237]第三標(biāo)識發(fā)送單元,用于當(dāng)所述FLASH組中存在至少一個非主連接FLASH時,調(diào)用所述FLASH組中的每一非主連接FLASH發(fā)送非主連接標(biāo)識至所述主連接FLASH。
[0238]第四標(biāo)識發(fā)送單元,用于調(diào)用所述主連接FLASH發(fā)送FLASH組標(biāo)識至所述每一非主連接FLASH ;其中所述FLASH組標(biāo)識包括所述主連接標(biāo)識和所述每一非主連接FLASH的非主連接標(biāo)識。
[0239]第二保存單元,用于調(diào)用所述每一非主連接FLASH保存所述FLASH組標(biāo)識。
[0240]主連接FLASH有時會失效,比如當(dāng)主連接FLASH對應(yīng)的頁面被關(guān)閉時,主連接FLASH同時消失。當(dāng)后續(xù)有新的非主連接FLASH建立時,會出現(xiàn)無法加入FLASH組的情況。為此,在本申請的實(shí)施例中,所述裝置還包括:
[0241]第二主連接發(fā)起單元,用于調(diào)用所述FLASH組中的任一非主連接FLASH發(fā)起重新建立主連接FLASH的操作。這一操作可以是實(shí)時的,也可以是周期性進(jìn)行的。
[0242]第二確定單元,用于在所述主連接FLASH失效時,確定所述發(fā)起重新建立主連接操作的非主連接FLASH為新的主連接FLASH,同時生成并記錄新主連接標(biāo)識。生成的新主連接標(biāo)識可以與原主連接標(biāo)識相同。
[0243]第一標(biāo)識更新單元,用于調(diào)用所述新的主連接FLASH根據(jù)所述新主連接標(biāo)識更新自身保存的所述FLASH組標(biāo)識。新的主連接FLASH生成后,第一標(biāo)識更新單元會調(diào)用新的主連接FLASH重新計(jì)算群組成員,刪除自身為非主連接FLASH時的標(biāo)識并根據(jù)生成的新主連接標(biāo)識更新自身保存的FLASH組標(biāo)識,
[0244]第五標(biāo)識發(fā)送單元,用于調(diào)用所述新的主連接FLASH發(fā)送更新后的FLASH組標(biāo)識至所述FLASH組中的每一非主連接FLASH。
[0245]第二標(biāo)識更新單元,用于調(diào)用所述每一非主連接FLASH根據(jù)接收的更新后的FLASH組標(biāo)識更新自身保存的所述FLASH組標(biāo)識。
[0246]客戶端頁面間的直接通信具有多種應(yīng)用,以下以其應(yīng)用在頁面間的同步更新和頁面間的同步操作為例進(jìn)行描述。
[0247]當(dāng)基于頁面間直接通信實(shí)現(xiàn)頁面間同步操作時,本申請的裝置包括如下單元:
[0248]檢測單元,具體用于檢測頁面組中是否有頁面執(zhí)行了新的操作。
[0249]在本申請中,該新的操作是指對頁面進(jìn)行內(nèi)容更新外的所有操作,比如頁面切換操作。
[0250]獲取單元,用于在有頁面執(zhí)行了更新操作時,獲取用以指示對頁面執(zhí)行新操作的操作數(shù)據(jù)。
[0251]數(shù)據(jù)發(fā)送單元,用于調(diào)用該執(zhí)行了新操作的頁面中的FLASH根據(jù)保存的所述FLASH組中其它FLASH的標(biāo)識發(fā)送攜帶所述操作數(shù)據(jù)的信息接收請求至所述其它FLASH。
[0252]接收單元,用于調(diào)用所述其它FLASH根據(jù)所述信息接收請求接收所述操作數(shù)據(jù)。
[0253]操作單元,用于根據(jù)所述操作數(shù)據(jù)在對應(yīng)的頁面執(zhí)行所述操作。
[0254]在該應(yīng)用中,F(xiàn)LASH發(fā)送信息接收請求至其它FLASH和其它FLASH根據(jù)信息接收請求接收操作數(shù)據(jù)具有多種方式。在具體實(shí)施例中,數(shù)據(jù)發(fā)送單元和接收單元可利用FLASH中的sendmessage發(fā)送信息函數(shù)和recivemessage接收信息函數(shù)進(jìn)行信息的發(fā)送和接收:
[0255]數(shù)據(jù)發(fā)送單元,用于調(diào)用該執(zhí)行了新操作的頁面中的FLASH利用sendmessage函數(shù)發(fā)送攜帶所述操作數(shù)據(jù)的recivemessage請求至其它FLASH。
[0256]接收單元,用于調(diào)用其它FLASH利用recivemessage函數(shù)接收所述recivemessage請求,并獲取其攜帶的操作數(shù)據(jù)。
[0257]當(dāng)基于頁面間直接通信實(shí)現(xiàn)頁面間同步更新時,本申請的裝置包括如下單元:
[0258]檢測單元,具體用于檢測頁面組中是否有頁面進(jìn)行了更新。
[0259]獲取單元,用于在有頁面進(jìn)行了更新時,獲取更新頁面中的更新數(shù)據(jù)。
[0260]數(shù)據(jù)發(fā)送單元,用于調(diào)用更新頁面中的FLASH根據(jù)保存的所述FLASH組中其它FLASH的標(biāo)識發(fā)送攜帶所述更新數(shù)據(jù)的信息接收請求至所述其它FLASH。
[0261]接收單元,用于調(diào)用所述其它FLASH根據(jù)所述信息接收請求接收所述更新數(shù)據(jù)。
[0262]頁面更新單元,用于根據(jù)所述更新數(shù)據(jù)更新所述其它FLASH對應(yīng)的頁面。
[0263]從上述實(shí)施例可以看出,頁面組中需要有頁面先獲取更新數(shù)據(jù)進(jìn)行更新才能通過該更新頁面將更新數(shù)據(jù)傳輸給其它頁面。該更新可以基于多種方式進(jìn)行。對應(yīng)的,在本申請中,所述裝置還包括:
[0264]瀏覽器單元,用于設(shè)置一個瀏覽器從服務(wù)器獲取更新數(shù)據(jù),然后將該更新數(shù)據(jù)發(fā)送至該瀏覽器內(nèi)的至少一個頁面,使該至少一個頁面進(jìn)行更新。因?yàn)橹簧婕暗揭粋€瀏覽器,其它瀏覽器內(nèi)的頁面可以基于上述頁面間的直接通信進(jìn)行更新,因此,解決了現(xiàn)有技術(shù)中基于瀏覽器的localstorage方案進(jìn)行頁面更新不能跨瀏覽器的問題。
[0265]輪詢單元,用于設(shè)置一個頁面周期性的詢問客戶端,從客戶端獲取更新數(shù)據(jù)進(jìn)行更新。在該方式中,因?yàn)橹簧婕耙粋€頁面,所以在保證即時性的同時,保證了頁面的性能。當(dāng)然,第二更新子單元,也可以設(shè)置適量頁面輪詢客戶端,只要設(shè)置的頁面數(shù)量能夠保證頁面性能即可。
[0266]長鏈接單元,用于設(shè)置一個頁面與服務(wù)器長鏈接,從服務(wù)器獲取更新數(shù)據(jù)進(jìn)行更新。因?yàn)橹挥幸粋€頁面與服務(wù)器長鏈接,因此降低了對服務(wù)器帶寬的需求,即降低了服務(wù)器成本。當(dāng)然,第三更新子單元也可以在服務(wù)器帶寬范圍內(nèi)設(shè)置適量頁面與服務(wù)器長鏈接。
[0267]需要說明的是,在該實(shí)施例中,頁面組中的頁面可以為同源頁面,也可以為非同源頁面。
[0268]在本申請中基于不同的更新需求,需要傳輸?shù)母聰?shù)據(jù)類型也不同。比如,當(dāng)同源頁面間進(jìn)行同步更新時,因?yàn)樾枰獙γ恳桓逻M(jìn)行同步,因此,更新數(shù)據(jù)是指頁面中的任何更新數(shù)據(jù)。而當(dāng)僅需要對特定的更新進(jìn)行同步時,更新數(shù)據(jù)有可能是特定的某一類型數(shù)據(jù),比如之前提到的對應(yīng)同一用戶的QQ空間頁面和微博頁面,其檢測的就是頁面中的簽名數(shù)據(jù),而非所有數(shù)據(jù)。在本申請中。為滿足不同的更新需要,可以對更新數(shù)據(jù)的具體類型進(jìn)行設(shè)置。
[0269]另外,同頁面間同步操作一樣,在上述實(shí)施例中,頁面的FLASH同樣可以利用sendmessage函數(shù)和recivemessage函數(shù)進(jìn)行更新數(shù)據(jù)的發(fā)送和接收。
[0270]值得注意的是,本申請的方法與本申請的裝置相對應(yīng),因此對裝置部分不再詳述,相關(guān)部分參見方法實(shí)施例即可。
[0271]以上對本申請所提供的一種客戶端頁面間通信的方法及裝置進(jìn)行了介紹,本文中應(yīng)用了具體個例對本申請的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。
[0272]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本申請的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個的計(jì)算裝置上,或者分布在多個計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲在存儲裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實(shí)現(xiàn)。這樣,本申請不限制于任何特定的硬件和軟件結(jié)合。
【權(quán)利要求】
1.一種客戶端頁面間通信的方法,其特征在于,所述方法包括: 檢測頁面是否有與其它頁面進(jìn)行數(shù)據(jù)傳輸?shù)男枨螅? 如果有,則獲取所述數(shù)據(jù); 調(diào)取所述頁面所保存的當(dāng)前頁面組中其它頁面的通信標(biāo)識;其中所述頁面組包括預(yù)先建立的至少兩個頁面;所述通信標(biāo)識是建立所述頁面組時為頁面組中的每一頁面分配的,所述頁面組中的每一頁面保存有所述頁面組中其它頁面的通信標(biāo)識; 依據(jù)所述通信標(biāo)識,在所述頁面與所述其它頁面間建立通信連接,并利用該通信連接將所述需傳輸?shù)臄?shù)據(jù)發(fā)送給其它頁面。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述頁面屬于多個頁面組時;所述方法還包括: 根據(jù)所述數(shù)據(jù)的屬性信息,確定所述頁面的當(dāng)前頁面組。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述調(diào)取所述頁面所保存的所述當(dāng)前頁面組中其它頁面的通信標(biāo)識包括: 調(diào)取所述頁面的FLASH處保存的FLASH組中其它FLASH的標(biāo)識;所述FLASH組由所述當(dāng)前頁面組中的頁面對應(yīng)的FLASH構(gòu)成,每一頁面的FLASH處保存有所述FLASH組中其它FLASH的標(biāo)識; 所述依據(jù)所述通信標(biāo)識,在所述頁面與所述其它頁面間建立通信連接,并利用該通信連接將所述需傳輸?shù)臄?shù)據(jù)發(fā)送給其它頁面包括: 調(diào)用所述頁面中的FLASH根據(jù)保存的所述FLASH組中其它FLASH的標(biāo)識發(fā)送攜帶所述數(shù)據(jù)的信息接收請求至所述其·它FLASH ; 調(diào)用所述其它FLASH接收所述信息接收請求并獲取所述數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述頁面組通過如下步驟創(chuàng)建: 獲取當(dāng)前頁面的屬性信息; 根據(jù)所述屬性信息判斷所述當(dāng)前頁面是否需要加入頁面組; 若需要,則調(diào)用所述當(dāng)前頁面的FLASH發(fā)起建立主連接FLASH的操作; 若FLASH組中已存在所述主連接FLASH,則調(diào)用所述當(dāng)前頁面的FLASH加入所述FLASH組,建立當(dāng)前非主連接FLASH,同時生成并記錄當(dāng)前非主連接標(biāo)識; 調(diào)用所述當(dāng)前非主連接FLASH,將所述當(dāng)前非主連接標(biāo)識發(fā)送至所述主連接FLASH ; 調(diào)用所述主連接FLASH保存并發(fā)送FLASH組標(biāo)識至所述FLASH組中的每一非主連接FLASH ;其中所述FLASH組標(biāo)識包括所述主連接標(biāo)識和每一非主連接標(biāo)識; 調(diào)用所述每一非主連接FLASH保存所述FLASH組標(biāo)識。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,若FLASH組中不存在主連接FLASH,則所述方法還包括: 確定所述當(dāng)前頁面的FLASH為主連接FLASH,同時生成并記錄主連接標(biāo)識; 當(dāng)所述FLASH組中存在至少一個非主連接FLASH時,調(diào)用所述FLASH組中的每一非主連接FLASH發(fā)送非主連接標(biāo)識至所述主連接FLASH ; 調(diào)用所述主連接FLASH發(fā)送FLASH組標(biāo)識至所述每一非主連接FLASH ;所述FLASH組標(biāo)識包括所述主連接標(biāo)識和每一非主連接標(biāo)識; 調(diào)用所述每一非主連接FLASH保存所述FLASH組標(biāo)識。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述生成當(dāng)前非主連接標(biāo)識包括:隨機(jī)或按照一定的次序生成所述當(dāng)前非主連接標(biāo)識。
7.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述方法還包括: 調(diào)用所述FLASH組中的任一非主連接FLASH發(fā)起重新建立主連接FLASH的操作,若所述主連接FLASH失效,則確定重新發(fā)起建立主連接FLASH操作的非主連接FLASH為新的主連接FLASH,同時生成并記錄新主連接標(biāo)識; 調(diào)用所述新的主連接FLASH根據(jù)所述新主連接標(biāo)識更新所述自身保存的FLASH組標(biāo)識并發(fā)送更新后的FLASH組標(biāo)識至所述FLASH組中的每一非主連接FLASH ; 調(diào)用所述每一非 主連接FLASH根據(jù)接收的更新后的FLASH組標(biāo)識更新自身保存的所述FLASH組標(biāo)識。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)為用以指示對頁面執(zhí)行操作的操作數(shù)據(jù),所述方法還包括: 根據(jù)所述操作數(shù)據(jù)在所述其它頁面執(zhí)行所述操作。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)為更新數(shù)據(jù);所述方法還包括: 根據(jù)所述更新數(shù)據(jù)更新所述其它頁面。
10.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述需要傳輸數(shù)據(jù)的頁面中的FLASH利用sendmessage函數(shù)發(fā)送攜帶所述數(shù)據(jù)的信息接收請求至所述其它FLASH ; 所述其它FLASH利用接收recivemessage函數(shù)接受所述信息接收請求并獲取所述數(shù)據(jù)。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述頁面組中的頁面為同源頁面。
12.一種用于實(shí)現(xiàn)客戶端頁面間通信的裝置,其特征在于,所述裝置包括: 檢測單元,用于檢測頁面是否有與其它頁面進(jìn)行數(shù)據(jù)傳輸?shù)男枨螅? 獲取單元,用于在頁面有與其它頁面進(jìn)行數(shù)據(jù)傳輸?shù)男枨髸r,獲取所述數(shù)據(jù);標(biāo)識調(diào)用單元,用于調(diào)取所述頁面所保存的當(dāng)前頁面組中其它頁面的通信標(biāo)識;其中所述頁面組包括預(yù)先建立的至少兩個頁面;所述通信標(biāo)識是建立所述頁面組時為頁面組中的每一頁面分配的,所述頁面組中的每一頁面保存有所述頁面組中其它頁面的通信標(biāo)識;通信單元,用于依據(jù)所述通信標(biāo)識,在所述頁面與所述其它頁面間建立通信連接,并利用該通信連接將所述需傳輸?shù)臄?shù)據(jù)發(fā)送給其它頁面。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括: 頁面組確定單元,用于當(dāng)所述頁面屬于多個頁面組時,根據(jù)所述數(shù)據(jù)的屬性信息,確定所述頁面的當(dāng)前頁面組。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述標(biāo)識調(diào)用單元,具體用于調(diào)取所述頁面的FLASH處保存的FLASH組中其它FLASH的標(biāo)識;所述FLASH組由所述當(dāng)前頁面組中的頁面對應(yīng)的FLASH構(gòu)成,每一頁面的FLASH處保存有所述FLASH組中其它FLASH的標(biāo)識; 所述通信單元包括數(shù)據(jù)發(fā)送單元和數(shù)據(jù)接收單元; 所述數(shù)據(jù)發(fā)送單元,用于調(diào)用所述頁面中的FLASH根據(jù)保存的所述FLASH組中其它FLASH的標(biāo)識發(fā)送攜帶所述數(shù)據(jù)的信息接收請求至所述其它FLASH ; 所述數(shù)據(jù)接收單元,用于調(diào)用所述其它FLASH接收所述信息接收請求并獲取所述數(shù)據(jù)。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述裝置還包括創(chuàng)建單元,用于創(chuàng)建所述頁面組;所述創(chuàng)建單元包括: 屬性信息獲取單元,用于獲取當(dāng)前頁面的屬性信息; 判斷單元,用于根據(jù)所述屬性信息判斷所述當(dāng)前頁面是否需要加入頁面組; 第一主連接發(fā)起單元,用于在當(dāng)前頁面需要加入所述頁面組時,調(diào)用所述當(dāng)前頁面的FLASH發(fā)起建立主連接FLASH的操作; 非主連接單元,用于在所述主連接FLASH已存在時,調(diào)用所述當(dāng)前頁面的FLASH加入所述FLASH組,建立當(dāng)前非主連接FLASH,同時生成并記錄當(dāng)前非主連接標(biāo)識; 第一標(biāo)識發(fā)送單元,用于調(diào)用所述當(dāng)前非主連接FLASH,將所述當(dāng)前非主連接標(biāo)識發(fā)送至所述主連接FLASH ; 第二標(biāo)識發(fā)送單元,用于調(diào)用所述主連接FLASH保存并發(fā)送FLASH組標(biāo)識至所述FLASH組中的每一非主連接FLASH ;其中所述FLASH組標(biāo)識包括所述主連接標(biāo)識和每一非主連接標(biāo)識; 第一保存單元,用于調(diào)用所述每一非主連接FLASH保存所述FLASH組標(biāo)識。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述創(chuàng)建單元還包括; 第一確定單元,用于在FLASH組中不存在主連接FLASH時,確定所述當(dāng)前頁面的FLASH為主連接FLASH,同時生成并記錄主連接標(biāo)識; 第三標(biāo)識發(fā)送單元,用于 當(dāng)所述FLASH組中存在至少一個非主連接FLA SH時,調(diào)用所述FLASH組中的每一非主連接FLASH發(fā)送非主連接標(biāo)識至所述主連接FLASH ; 第四標(biāo)識發(fā)送單元,用于調(diào)用所述主連接FLASH發(fā)送FLASH組標(biāo)識至所述每一非主連接FLASH ;其中所述FLASH組標(biāo)識包括所述主連接標(biāo)識和所述每一非主連接FLASH的非主連接標(biāo)識; 第二保存單元,用于調(diào)用所述每一非主連接FLASH保存所述FLASH組標(biāo)識。
17.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述非主連接單元,具體用于隨機(jī)或按照一定的次序生成所述非主連接標(biāo)識。
18.根據(jù)權(quán)利要求15或16所述的裝置,其特征在于,所述裝置還包括: 第二主連接發(fā)起單元,用于調(diào)用所述FLASH組中的任一非主連接FLASH發(fā)起重新建立主連接FLASH的操作; 第二確定單元,用于在所述主連接FLASH失效時,確定所述發(fā)起重新建立主連接操作的非主連接FLASH為新的主連接FLASH,同時生成并記錄新主連接標(biāo)識; 第一標(biāo)識更新單元,用于調(diào)用所述新的主連接FLASH根據(jù)所述新主連接標(biāo)識更新自身保存的所述FLASH組標(biāo)識; 第五標(biāo)識發(fā)送單元,用于調(diào)用所述新的主連接FLASH發(fā)送更新后的FLASH組標(biāo)識至所述FLASH組中的每一非主連接FLASH ; 第二標(biāo)識更新單元,用于調(diào)用所述每一非主連接FLASH根據(jù)接收的更新后的FLASH組標(biāo)識更新自身保存的所述FLASH組標(biāo)識。
19.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述數(shù)據(jù)為用以指示對頁面執(zhí)行操作的操作數(shù)據(jù),所述裝置還包括: 操作單元,用于根據(jù)所述操作數(shù)據(jù)在所述其它頁面執(zhí)行所述操作。
20.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述數(shù)據(jù)為更新數(shù)據(jù);所述裝置還包括: 頁面更新單元,用于根據(jù)所述更新數(shù)據(jù)更新所述其它頁面。
21.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述數(shù)據(jù)發(fā)送單元,還用于調(diào)用需要傳輸數(shù)據(jù)的頁面中的FLASH利用sendmessage函數(shù)根據(jù)保存的所述FLASH組中其它FLASH的標(biāo)識發(fā)送攜帶所述數(shù)據(jù)的recivemessage請求至所述其它FLASH ; 所述接收單元,還用于調(diào)用所述其它FLASH利用recivemessage函數(shù)接收所述recivemessage請求并獲取所述數(shù)據(jù)。
22.根據(jù)權(quán)利要求12所·述的裝置,其特征在于,所述頁面組中的頁面為同源頁面。
【文檔編號】H04L29/08GK103546513SQ201210244355
【公開日】2014年1月29日 申請日期:2012年7月13日 優(yōu)先權(quán)日:2012年7月13日
【發(fā)明者】沈劍平, 邱華 申請人:阿里巴巴集團(tuán)控股有限公司