TW201403335A - 用戶端頁面間通訊的方法及裝置 - Google Patents
用戶端頁面間通訊的方法及裝置 Download PDFInfo
- Publication number
- TW201403335A TW201403335A TW101142226A TW101142226A TW201403335A TW 201403335 A TW201403335 A TW 201403335A TW 101142226 A TW101142226 A TW 101142226A TW 101142226 A TW101142226 A TW 101142226A TW 201403335 A TW201403335 A TW 201403335A
- Authority
- TW
- Taiwan
- Prior art keywords
- flash
- page
- primary connection
- group
- identifier
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/134—Hyperlinking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本發明公開了一種用戶端頁面間通訊的方法及裝置。其中所述方法包括:檢測頁面是否有與其他頁面進行資料傳輸的需求;如果有,則獲取所述資料;調取所述頁面所儲存的當前頁面組中其他頁面的通訊標識;其中所述頁面組是預先建立的至少兩個頁面的組合;所述通訊標識是建立所述頁面組時為頁面組中的每一頁面分配的,所述頁面組中的每一頁面儲存有所述頁面組中其他頁面的通訊標識;依據所述通訊標識,在所述頁面與所述其他頁面間建立通訊連接,並利用該通訊連接將所述需傳輸的資料發送給其他頁面。透過上述方式,實現了用戶端頁面間的直接通訊,從而實現了頁面間資料的直接傳輸。
Description
本發明涉及通訊領域,尤其是涉及一種用戶端頁面間通訊的方法及裝置。
現有技術中,用戶端的多個頁面之間不能直接進行通訊。由於不能直接進行通訊,導致了多個頁面間的資料無法在頁面間直接傳輸。
比如在進行資料更新時,只能透過以下三種方式進行:
第一種是利用HTML5的localstorage即瀏覽器從伺服器端獲取更新資料,然後瀏覽器將獲取的更新資料傳送至自身的各頁面進行更新。目前很多瀏覽器並不支持localstorage,而且不同的瀏覽器不能進行通訊。基於不同瀏覽器獲取更新資料的週期不同,導致各瀏覽器間的頁面更新不同步。
第二種方式是JS輪詢的方式。在這一方式中,用戶端從伺服器獲取更新資料,各頁面透過依次詢問用戶端的方式獲取更新頁面。在保證即時性即保證頁面更新速度的情況下,如果頁面數量比較多,輪詢的時間就必須短。這樣一個頁面在輪詢過程中從用戶端下載更新資料的時間也就相對減少了,會造成在此時間內,無法將更新資料完整下載下來,影響顯示效果。
第三種方式是每個頁面同伺服器建立長鏈結的方式。此種方式雖然能夠保證即時性,但是,由於頁面數量眾多,因此,會造成耗費過多的頻寬資源。
可見,目前需要一種用戶端頁面間直接通訊的方法。
本發明的目的是提供一種用戶端頁面間直接通訊的方法。
基於此,本發明提供的技術方案如下:本發明提供了一種用戶端頁面間通訊的方法,所述方法包括:檢測頁面是否有與其他頁面進行資料傳輸的需求;如果有,則獲取所述資料;調取所述頁面所儲存的當前頁面組中其他頁面的通訊標識;其中所述頁面組是預先建立的至少兩個頁面的組合;所述通訊標識是建立所述頁面組時為頁面組中的每一頁面分配的,所述頁面組中的每一頁面儲存有所述頁面組中其他頁面的通訊標識;依據所述通訊標識,在所述頁面與所述其他頁面間建立通訊連接,並利用該通訊連接將所述需傳輸的資料發送給其他頁面。
較佳的,當所述頁面屬於多個頁面組時;所述方法還包括:根據所述資料的屬性資訊,確定所述頁面的當前頁面
組。
較佳的,所述調取所述頁面所儲存的所述當前頁面組中其他頁面的通訊標識包括:調取所述頁面的FLASH處儲存的FLASH組中其他FLASH的標識;所述FLASH組由所述當前頁面組中的頁面對應的FLASH構成,每一頁面的FLASH處儲存有所述FLASH組中其他FLASH的標識;所述依據所述通訊標識,在所述頁面與所述其他頁面間建立通訊連接,並利用該通訊連接將所述需傳輸的資料發送給其他頁面包括:調用所述頁面中的FLASH根據儲存的所述FLASH組中其他FLASH的標識發送攜帶所述資料的資訊接收請求至所述其他FLASH;調用所述其他FLASH接收所述資訊接收請求並獲取所述資料。
較佳的,所述頁面組透過如下步驟建立:獲取當前頁面的屬性資訊;根據所述屬性資訊判斷所述當前頁面是否需要加入頁面組;若需要,則調用所述當前頁面的FLASH發起建立主連接FLASH的操作;若FLASH組中已存在所述主連接FLASH,則調用所述當前頁面的FLASH加入所述FLASH組,建立當前非主連接FLASH,同時產生並記錄當前非主連接標識;
調用所述當前非主連接FLASH,將所述當前非主連接標識發送至所述主連接FLASH;調用所述主連接FLASH儲存並發送FLASH組標識至所述FLASH組中的每一非主連接FLASH;其中所述FLASH組標識包括所述主連接標識和每一非主連接標識;調用所述每一非主連接FLASH儲存所述FLASH組標識。
較佳的,若FLASH組中不存在主連接FLASH,則所述方法還包括:確定所述當前頁面的FLASH為主連接FLASH,同時產生並記錄主連接標識;當所述FLASH組中存在至少一個非主連接FLASH時,調用所述FLASH組中的每一非主連接FLASH發送非主連接標識至所述主連接FLASH;調用所述主連接FLASH發送FLASH組標識至所述每一非主連接FLASH;所述FLASH組標識包括所述主連接標識和每一非主連接標識;調用所述每一非主連接FLASH儲存所述FLASH組標識。
較佳的,所述產生當前非主連接標識包括:隨機或按照一定的次序產生所述當前非主連接標識。
較佳的,所述方法還包括:調用所述FLASH組中的任一非主連接FLASH發起重新建立主連接FLASH的操作,若所述主連接FLASH失
效,則確定重新發起建立主連接FLASH操作的非主連接FLASH為新的主連接FLASH,同時產生並記錄新主連接標識;調用所述新的主連接FLASH根據所述新主連接標識更新所述自身儲存的FLASH組標識並發送更新後的FLASH組標識至所述FLASH組中的每一非主連接FLASH;調用所述每一非主連接FLASH根據接收的更新後的FLASH組標識更新自身儲存的所述FLASH組標識。
較佳的,所述資料為用以指示對頁面執行操作的操作資料,所述方法還包括:根據所述操作資料在所述其他頁面執行所述操作。
較佳的,所述資料為更新資料;所述方法還包括:根據所述更新資料更新所述其他頁面。
較佳的,所述需要傳輸資料的頁面中的FLASH利用sendmessage函數發送攜帶所述資料的資訊接收請求至所述其他FLASH;所述其他FLASH利用接收recivemessage函數接受所述資訊接收請求並獲取所述資料。
較佳的,所述頁面組中的頁面為同源頁面。
本發明還提供了一種用於實現用戶端頁面間通訊的裝置,所述裝置包括:檢測單元,用於檢測頁面是否有與其他頁面進行資料傳輸的需求;
獲取單元,用於在頁面有與其他頁面進行資料傳輸的需求時,獲取所述資料;標識調用單元,用於調取所述頁面所儲存的當前頁面組中其他頁面的通訊標識;其中所述頁面組是預先建立的至少兩個頁面的組合;所述通訊標識是建立所述頁面組時為頁面組中的每一頁面分配的,所述頁面組中的每一頁面儲存有所述頁面組中其他頁面的通訊標識;通訊單元,用於依據所述通訊標識,在所述頁面與所述其他頁面間建立通訊連接,並利用該通訊連接將所述需傳輸的資料發送給其他頁面。
較佳的,所述裝置還包括:頁面組確定單元,用於當所述頁面屬於多個頁面組時,根據所述資料的屬性資訊,確定所述頁面的當前頁面組。
較佳的,所述標識調用單元,更用於調取所述頁面的FLASH處儲存的FLASH組中其他FLASH的標識;所述FLASH組由所述當前頁面組中的頁面對應的FLASH構成,每一頁面的FLASH處儲存有所述FLASH組中其他FLASH的標識;所述通訊單元包括資料發送單元和資料接收單元;所述資料發送單元,用於調用所述頁面中的FLASH根據儲存的所述FLASH組中其他FLASH的標識發送攜帶所述資料的資訊接收請求至所述其他FLASH;所述資料接收單元,用於調用所述其他FLASH接收
所述資訊接收請求並獲取所述資料。
較佳的,所述裝置還包括建立單元,用於建立所述頁面組;所述建立單元包括:屬性資訊獲取單元,用於獲取當前頁面的屬性資訊;判斷單元,用於根據所述屬性資訊判斷所述當前頁面是否需要加入頁面組;第一主連接發起單元,用於在當前頁面需要加入所述頁面組時,調用所述當前頁面的FLASH發起建立主連接FLASH的操作;非主連接單元,用於在所述主連接FLASH已存在時,調用所述當前頁面的FLASH加入所述FLASH組,建立當前非主連接FLASH,同時產生並記錄當前非主連接標識;第一標識發送單元,用於調用所述當前非主連接FLASH,將所述當前非主連接標識發送至所述主連接FLASH;第二標識發送單元,用於調用所述主連接FLASH儲存並發送FLASH組標識至所述FLASH組中的每一非主連接FLASH;其中所述FLASH組標識包括所述主連接標識和每一非主連接標識;第一儲存單元,用於調用所述每一非主連接FLASH儲存所述FLASH組標識。
較佳的,所述建立單元還包括:第一確定單元,用於在FLASH組中不存在主連接
FLASH時,確定所述當前頁面的FLASH為主連接FLASH,同時產生並記錄主連接標識;第三標識發送單元,用於當所述FLASH組中存在至少一個非主連接FLASH時,調用所述FLASH組中的每一非主連接FLASH發送非主連接標識至所述主連接FLASH;第四標識發送單元,用於調用所述主連接FLASH發送FLASH組標識至所述每一非主連接FLASH;其中所述FLASH組標識包括所述主連接標識和所述每一非主連接FLASH的非主連接標識;第二儲存單元,用於調用所述每一非主連接FLASH儲存所述FLASH組標識。
較佳的,所述非主連接單元,具體用於隨機或按照一定的次序產生所述非主連接標識。
較佳的,所述裝置還包括:第二主連接發起單元,用於調用所述FLASH組中的任一非主連接FLASH發起重新建立主連接FLASH的操作;第二確定單元,用於在所述主連接FLASH失效時,確定所述發起重新建立主連接操作的非主連接FLASH為新的主連接FLASH,同時產生並記錄新主連接標識;第一標識更新單元,用於調用所述新的主連接FLASH根據所述新主連接標識更新自身儲存的所述FLASH組標識;
第五標識發送單元,用於調用所述新的主連接FLASH發送更新後的FLASH組標識至所述FLASH組中的每一非主連接FLASH;第二標識更新單元,用於調用所述每一非主連接FLASH根據接收的更新後的FLASH組標識更新自身儲存的所述FLASH組標識。
較佳的,所述資料為用以指示對頁面執行操作的操作資料,所述裝置還包括:操作單元,用於根據所述操作資料在所述其他頁面執行所述操作。
較佳的,所述資料為更新資料;所述裝置還包括:頁面更新單元,用於根據所述更新資料更新所述其他頁面。
較佳的,所述資料發送單元,還用於調用需要傳輸資料的頁面中的FLASH利用sendmessage函數根據儲存的所述FLASH組中其他FLASH的標識發送攜帶所述資料的recivemessage請求至所述其他FLASH;所述接收單元,還用於調用所述其他FLASH利用recivemessage函數接收所述recivemessage請求並獲取所述資料。
較佳的,所述頁面組中的頁面為同源頁面。
與現有技術相比,本發明具有如下有益效果:本發明透過預先建立頁面組,為每一頁面分配通訊標識,並在每一頁面中儲存頁面組中其他頁面的通訊標識,
使得用戶端在檢測到有頁面需要傳輸資料時,能夠利用該頁面儲存的其他頁面的通訊標識建立該頁面與其他頁面間的通訊連接,並利用該連接將資料傳輸至其他頁面,從而實現了頁面間資料的直接傳輸。
進一步的,當基於頁面間的通訊進行頁面間的同步更新時,由於頁面間可以直接傳輸資料進行同步更新,相比頁面全部基於瀏覽器localstorage進行更新的方式,避免了頁面間更新需要跨瀏覽器的問題;相比頁面輪詢的方式,無需全部頁面進行輪詢,因此可設置較長的輪詢間隔,所以在保證即時性的前提下,同時保證了頁面的整體性能;相比頁面與伺服器長鏈結的方式,因為無需全部頁面與伺服器長鏈結,所以節省了伺服器的資源。
下面將結合本發明實施例中的圖式,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬於本發明保護的範圍。
需要說明的是,本發明中方法的執行主體可以是用戶端。
本發明實施例1提供了一種用戶端頁面間通訊的方法,參見圖1,所述方法具體包括如下步驟:S11、檢測頁面是否有與其他頁面進行資料傳輸的需
求。
基於頁面間通訊的具體應用不同,頁面間需要傳輸的資料有所不同。比如要進行頁面更新時,要傳輸的是更新頁面上的更新資料;要進行頁面同步操作時,要傳輸的是用以指示新操作的操作資料。下文將根據具體的應用對此做詳細描述。
S12、檢測頁面是否有與其他頁面進行資料傳輸的需求。
S13、調取所述頁面所儲存的當前頁面組中其他頁面的通訊標識。
本發明中的頁面組是預先建立的至少兩個頁面的組合;所述通訊標識是建立所述頁面組時為頁面組中的每一頁面分配的,所述頁面組中的每一頁面儲存有所述頁面組中其他頁面的通訊標識。該通訊標識指用以唯一確定每一頁面的標識,基於該標識,可以建立頁面間的通訊連接。
在本發明中,頁面組可以根據需要進行建立。比如可設置基於同一網址打開的多個頁面為一頁面組,以進行頁面的同步更新。也可以設置對應同一用戶頁面如用戶的QQ空間頁面和該用戶的微博頁面為同一頁面組,以將QQ空間頁面的簽名等資訊同步到微博頁面。在本發明中不對頁面組的具體設置做限制。
因為頁面組可以基於不同的需要建立,因此同一頁面可能屬於多個頁面組,為此,在檢測到有資料傳輸時,還需要根據該資料的屬性資訊確定頁面的當前頁面組。檢測
到的資料就在當前頁面組的頁面間進行傳輸。
本發明中資料的屬性資訊主要是該資料的傳輸屬性資訊,比如當該資料是用以在QQ空間和微博中展示的簽名資訊時,當前頁面組即為QQ空間和微博頁面組成的頁面組。當該資料需要在同源頁面間傳輸時,當前頁面組即為同源頁面組成的頁面組。
S14、依據所述通訊標識,在所述頁面與所述其他頁面間建立通訊連接,並利用該通訊連接將所述需傳輸的資料發送給其他頁面。
本發明中,用戶端利用頁面的通訊標識建立通訊連接的方式有多種。在本發明具體實施例中,頁面利用頁面間的FLASH建立頁面間的通訊連接,具體為:
調取需要傳輸資料的頁面的FLASH處儲存的FLASH組中其他FLASH的標識。其中,FLASH組由當前頁面組中的頁面對應的FLASH構成,每一頁面的FLASH處儲存有所述FLASH組中其他FLASH的標識。
調用所述頁面中的FLASH,根據儲存的所述FLASH組中其他FLASH的標識發送攜帶所述資料的資訊接收請求至所述其他FLASH。
調用所述其他FLASH接收所述資訊接收請求並獲取所述資料。
當然,本發明中,用戶端也可利用頁面中的其他具有資料傳輸功能的單元利用通訊標識在頁面間傳輸資料,本發明不對此做具體限制。
本發明中,頁面組的建立有多種方法,本發明實施例2即為其中一種,參見圖2,該方法包括:S21、獲取當前頁面的屬性資訊。
在本發明中,當前頁面可以指用戶端檢測到的每一正在打開的頁面。當有頁面被打開時,獲取該頁面的屬性資訊,該屬性資訊是指用以表徵該頁面是否有與其他頁面進行通訊的需求,以及與哪些頁面進行和何種通訊需求的信息。比如頁面是否設置了與其他頁面進行同步更新,是否設置了與其他頁面進行同步操作,同步更新的資料類型、同步操作的操作類型等資訊。可以理解的,基於同一頁面的不同屬性,同一頁面有可能被加入到多個頁面組中。
S22、根據所述屬性資訊判斷當前頁面是否需要加入頁面組。
比如當屬性資訊表示當前頁面A需要與另一頁面B進行簽名資訊的同步更新時,則判斷將當前頁面A加入對應頁面組。
需要說明的是,同源頁面間的同步更新是當前網路的預設需求,即對每一頁面來講都有與同源頁面同步更新的需求,因此,每一頁面實際上都需要加入與同源頁面同步更新的頁面組。
S23、調用當前頁面的FLASH發起建立主連接FLASH的操作。
同一用戶端可能會設置多個頁面組,本發明中,可對頁面組對應的FLASH組設置名稱以進行區分。其具體名
稱可以任意設置。比如設置為“cloud”、“rain”等。同一頁面可能會加入不同頁面組,因此,同一頁面可能會有不同的FLASH被調用,為進行區分,可以對同一頁面的各FLASH按照FLASH組名稱進行設置。比如,主連接FLASH的名稱可設置為“FLASH組名稱_HOST”。這樣透過名稱就可以知道該主連接FLASH所在的FLASH群組。
具體的,當有頁面啟動時,用戶端調用create介面發起試圖建立主連接FLASH的操作。當FLASH組名稱為“cloud”時,主連接名稱為“cloud_HOST”
S24、若FLASH組中已存在所述主連接FLASH,則調用所述當前頁面的FLASH加入所述FLASH組,建立當前非主連接FLASH,同時產生並記錄當前非主連接標識。
在本發明中,主連接FLASH只有一個,但非主連接FLASH可以有多個,為對非主連接FLASH進行區分,產生的非主連接標識必須是唯一的。
為確保唯一性,建立非主連接FLASH時,可以按照如下過程進行:調用join介面,建立名為“FLASH組名稱_非主連接標識A”的非主連接FLASH。若A已經存在,則試圖建立“FLASH組名稱_非主連接標識B”的非主連接FLASH,直到建立的標識在FLASH組中不存在為止。
具體的,可以隨機產生非主連接標識,也可以按照次序產生非主連接標識。
S25、調用所述當前非主連接FLASH,將所述當前非主連接標識發送至所述主連接FLASH。
S26、調用所述主連接FLASH儲存並發送FLASH組標識至所述FLASH組中的每一非主連接FLASH;其中所述FLASH組標識包括所述主連接標識和每一非主連接標識。
S27、調用所述每一非主連接FLASH儲存所述FLASH組標識。
具體的,當FLASH組中只包括主連接FLASH和當前非主連接FLASH時,所述的FLASH組標識包括主連接標識和當前非主連接標識,每一非主連接指當前非主連接FLASH。
當FLASH組中包括主連接FLASH、當前非主連接FLASH和其他非主連接FLASH時,FLASH組標識包括主連接標識、當前非主連接標識和其他非主連接FLASH的非主連接標識,每一非主連接指當前非主連接FLASH和其他非主連接FLASH。
在本發明實施例3中,當FLASH組中尚不存在主連接FLASH時,則確定調用的該FLASH為主連接FLASH,同時產生並記錄主連接標識。
當所述FLASH組中存在至少一個非主連接FLASH時,調用所述FLASH組中的每一非主連接FLASH發送非主連接標識至所述主連接FLASH。
調用所述主連接FLASH發送FLASH組標識至所述每
一非主連接FLASH;所述FLASH組標識包括所述主連接標識和每一非主連接標識。
調用所述每一非主連接FLASH儲存所述FLASH組標識。
透過上述實施例2或實施例3所述的過程建立了FLASH通訊的機制,在每一FLASH處儲存了FLASH組中任一FLASH的標識,為後續通訊提供了條件。其中在上述過程中,主連接FLASH充當了伺服器的角色,用於建立各非主連接FLASH間的通訊。
主連接FLASH有時會失效,比如當主連接FLASH對應的頁面被關閉時,主連接FLASH同時消失。當後續有新的非主連接FLASH建立時,會出現無法加入FLASH組的情況。為此,在本發明的實施例4中,所述方法還包括:
調用所述FLASH組中的任一非主連接FLASH發起重新建立主連接FLASH的操作,若所述主連接FLASH失效,則確定重新發起建立主連接FLASH操作的非主連接FLASH為新的主連接FLASH,同時產生並記錄新主連接標識。這一操作可以是即時的,也可以是週期性進行的。產生的新主連接標識可以與原主連接標識相同。
調用所述新的主連接FLASH根據所述新主連接標識更新所述自身儲存的FLASH組標識並發送更新後的FLASH組標識至所述FLASH組中的每一非主連接FLASH。
新的主連接FLASH產生後,用戶端會調用新的主連接FLASH重新計算群組成員,刪除自身為非主連接FLASH時的標識並根據產生的新主連接標識更新自身儲存的FLASH組標識,然後發送更新後的FLASH組標識至當前FLASH群組的所有非主連接FLASH。
調用所述每一非主連接FLASH根據接收的更新後的FLASH組標識更新自身儲存的所述FLASH組標識。
本發明實施例5提供了上述方法的一種具體應用場景:
有A,B,C,D,4個頁面,需要進行同步更新,因此,可基於A,B,C,D,4個頁面建立頁面組,此處可設置該頁面組對應的FLASH組的名稱為“cloud”。其中各FLASH的檔內容相同。
首先打開頁面A,調用對應的FLASH,該FLASH首先會試圖調用create介面建立名為“cloud_HOST”的本地連接。因為FLASH組還沒有主連接,因此建立成功並記錄主連接標識為HOST,該FLASH為主連接FLASH,充當伺服器的作用。
接著打開頁面B,調用對應的FLASH,該FLASH首先會試圖調用create介面建立名為“cloud_HOST”的本地連接。因為FLASH組已有主連接,因此建立失敗。此時調用join介面,建立非主連接FLASH,加入該群組。調用join介面,FLASH會試圖去建立名為“cloud_1”的本地連接。因為FLASH組中沒有此名稱,因此建立成功,並記
錄下成功的id為1。參見圖3,接著用戶端調用該非主連接FLASH,攜帶自身id即1向主連接FLASH發送加入群組請求,主FLASH收到該請求,儲存其攜帶的id即1,並產生FLASH組標識(HOST,1)。然後主FLASH發送攜帶FLASH組標識(HOST,1)的更新請求給頁面B對應的非主連接FLASH,收到主FLASH的更新請求,該非主連接FLASH記錄下FLASH組標識(HOST,1)。
接著打開頁面C,調用對應的FLASH,該FLASH首先會試圖調用create介面建立名為“cloud_HOST”的本地連接。因為FLASH組已有主連接,因此建立失敗。此時調用join介面,建立非主連接FLASH,加入該群組。此時該FLASH會試圖去建立名為“cloud_1”的本地連接。FLASH組中已有此名稱,因此建立失敗。此時繼續試圖去建立名為“cloud_2”的本地連接並記錄下成功的id為2。參見圖4,接著用戶端調用該非主連接FLASH攜帶自身id即2向主連接FLASH發送加入群組請求,主FLASH收到該請求,儲存其攜帶的id即2,並產生FLASH組標識(HOST,1,2)。然後主FLASH發送攜帶FLASH組標識(HOST,1,2)的更新請求給頁面B、頁面C對應的非主連接FLASH。收到主FLASH的更新請求,頁面B對應的非主連接FLASH更新自身儲存的FLASH組標識為(HOST,1,2),頁面C對應的非主連接FLASH儲存該FLASH組標識(HOST,1,2)。
接著打開頁面D,調用對應的FLASH,該FLASH首
先會試圖調用create介面建立名為“cloud_HOST”的本地連接。因為FLASH組已有主連接,因此建立失敗。此時調用join介面,建立非主連接FLASH,加入該群組。此時FLASH會試圖去建立名為“cloud_1”的本地連接。FLASH組中已有此名稱,因此建立失敗。此時繼續試圖去建立名為“cloud_2”的本地連接並記錄下成功的id為2。FLASH組中已有此名稱,因此建立失敗。此時繼續試圖去建立名為“cloud_3”的本地連接,建立成功並記錄下成功的id為3。參見圖5,接著用戶端調用該非主連接FLASH攜帶自身id即3向主連接FLASH發送加入群組請求,主FLASH收到該請求,儲存其攜帶的id即3,並產生FLASH組標識(HOST,1,2,3)。然後主FLASH發送攜帶FLASH組標識(HOST,1,2,3)的更新請求給頁面B、C、D對應的非主連接FLASH,收到主FLASH的更新請求,頁面B、C對應的非主連接FLASH更新自身儲存的FLASH組標識為(HOST,1,2,3),頁面D對應的非主連接FLASH儲存該FLASH組標識(HOST,1,2,3)。
可以理解的,當有新的頁面被打開時,用戶端會調用其對應的FLASH依次執行建立主連接FLASH、非主連接FLASH,發送自身標識至主連接FLASH,並接收FLASH組標識的操作。
另外,頁面B、C、D對應的FLASH成功建立非主連接FLASH後,利用主連接唯一的特性,每隔一個時間段便會執行成為主連接FLASH的操作。當頁面A未關閉
時,主連接FLASH仍有效,因此操作會失敗。
參見圖6,某一時刻,關閉頁面A,主連接FLASH消失,此時,正好頁面B的FLASH執行了發起建立主連接FLASH的操作,因此該操作成功,頁面B對應的非主連接FLASH會成為新的主連接,同時產生新的主連接標識,此處可以同源主連接標識相同為HOST。然後調用新的主連接FLASH重新計算群組成員,將原主連接標識從FLASH組標識中刪除,並將自身標識1更改為原主連接標識HOST以更新自身儲存的FLASH組標識為(HOST,2,3),然後發送攜帶該更新後的FLASH組標識的更新請求至頁面C、D對應的非主連接FLASH。頁面C、D對應的非主連接FLASH收到請求後將自身儲存的FLASH組標識更新為(HOST,2,3)。
透過上述過程,FLASH組內的每個FLASH都儲存了FLASH組內所有FLASH的標識,基於各自儲存的標識,各FLASH之間能夠建立通訊。
上述用戶端頁面間直接通訊的方法具有多種應用,以下以該方法應用在頁面間的同步更新和頁面間的同步操作為例進行描述。
本發明實施例6為基於頁面間直接通訊實現頁面間同步操作的過程。參見圖7,該過程具體包括:S31、檢測頁面組中是否有頁面執行了新的操作。
在本發明中,該新的操作是指對頁面進行內容更新外的所有操作,比如頁面切換操作。
S32、若有,獲取用以指示對頁面執行新操作的操作資料。
S33、調用該執行了新操作的頁面中的FLASH根據儲存的所述FLASH組中其他FLASH的標識發送攜帶所述操作資料的資訊接收請求至所述其他FLASH。
S34、調用所述其他FLASH根據所述資訊接收請求接收所述操作資料。
步驟S33和步驟S34中,可以透過頁面的JS對FLASH進行調用。
S35、根據所述操作資料在其他FLASH對應的頁面執行所述操作。
在該應用中,FLASH發送資訊接收請求至其他FLASH和其他FLASH根據資訊接收請求接收操作資料具有多種方式。在具體實施例中,可利用FLASH中的sendmessage發送資訊函數和recivemessage接收資訊函數進行資訊的發送和接收。
接下來以頁面切換操作為例,對上述方式進行介紹。
用戶端建立包含頁面A、B、C的頁面組。某一時刻頁面組中的頁面A從第一頁切換到第二頁。用戶端檢測到這一新的操作後獲取用以指示對頁面執行從第一頁切換到第二頁的操作資料比如“1,2”。然後用戶端調用A頁面中的FLASH根據儲存的頁面B、C對應的FLASH的標識建立至頁面B、C的通訊過程,利用sendmessage函數發送攜帶所述操作資料的recivemessage請求至頁面B、C的
FLASH。用戶端調用頁面B、C的FLASH利用recivemessage函數接收所述recivemessage請求,並獲取其攜帶的操作資料“1,2”。用戶端利用所述操作資料對頁面B、C執行由第一頁切換到第二頁的操作。
本發明實施例7為基於頁面間直接通訊實現頁面間同步更新的過程。參見圖8,該過程具體包括:S41、檢測頁面組中是否有頁面進行了更新。
S42、若有,獲取更新頁面中的更新資料。
S43、調用更新頁面中的FLASH根據儲存的所述FLASH組中其他FLASH的標識發送攜帶所述更新資料的資訊接收請求至所述其他FLASH。
S44、調用所述其他FLASH根據所述資訊接收請求接收所述更新資料。
S45、根據所述更新資料更新所述其他FLASH對應的頁面。
從上述實施例可以看出,頁面組中需要有頁面先進行更新才能透過該更新頁面將更新資料傳輸給其他頁面。在本發明中,該先進行更新的頁面可以透過如下方式獲取更新資料:第一種是基於瀏覽器的localstorage方案。設置一個瀏覽器從伺服器獲取更新資料,然後將該更新資料發送至該瀏覽器內的至少一個頁面,使該至少一個頁面進行更新。在該方式中,因為只涉及到一個瀏覽器,其他瀏覽器內的頁面可以基於上述頁面間的直接通訊進行更新,因
此,該方法解決了現有技術中基於瀏覽器的localstorage方案進行頁面更新不能跨瀏覽器的問題。
第二種是基於頁面輪詢的方式。在該方式中用戶端從伺服器獲取更新資料,設置一個頁面週期性的詢問用戶端,從用戶端獲取該更新資料進行更新。在該方式中,因為只涉及一個頁面,所以在保證即時性的同時,保證了頁面的性能。當然在該方式中,也可以設置適量頁面輪詢用戶端,只要設置的頁面數量能夠保證頁面性能即可。
第三種是基於伺服器長鏈結的方式。設置一個頁面與伺服器長鏈結,從伺服器獲取更新資料進行更新。在該方式中,因為只有一個頁面與伺服器長鏈結,因此降低了對伺服器頻寬的需求,即降低了伺服器成本。當然,在該方式中,也可以在伺服器頻寬範圍內設置適量頁面與伺服器長鏈結。
需要說明的是,在該實施例中,FLASH組中的FLASH可以具有相同的檔內容,如基於同一網址打開的多個同源頁面的FLASH。當然,各FLASH也可以具有不同的內容,如對應同一用戶的QQ空間頁面和微博頁面的FLASH。
在本發明中基於不同的更新需求,需要傳輸的更新資料類型也不同。比如,當同源頁面間進行同步更新時,因為需要對每一更新進行同步,因此,更新資料是指頁面中的任何更新資料。而當僅需要對特定的更新進行同步時,更新資料有可能是特定的某一類型資料,比如之前提到的
對應同一用戶的QQ空間頁面和微博頁面,其檢測的就是頁面中的簽名資料,而非所有資料。在本發明中。為滿足不同的更新需要,可以對更新資料的具體類型進行設置。
實施例8提供了一種在同源頁面間通訊以進行同步更新的具體應用場景:基於用戶對同一論壇網址的三次點擊,打開了三個相同頁面A、B、C。這三個頁面加入到同一頁面組中。三個頁面對應的FLASH構成FLASH組,每個FLASH具有相同的檔內容,而且FLASH中都存儲有FLASH組中其他FLASH的標識。
有其他用戶在該論壇上發表了“今天要下雨”的資訊。
伺服器獲取到該資訊,A頁面透過一定的方式,如之前提到的三種方式獲取到該資訊後在自身頁面進行了更新。此時A頁面上顯示有“今天要下雨”的資訊。
用戶端檢測到A頁面進行了更新,於是從A頁面上獲取“今天要下雨”的更新資訊。
用戶端調用A頁面的FLASH,根據自身儲存的B頁面FLASH的標識發送攜帶“今天要下雨”的資訊接受請求至B頁面的FLASH;同時用戶端調用A頁面的FLASH,根據自身儲存的C頁面FLASH的標識發送攜帶“今天要下雨”的資訊接受請求至C頁面的FLASH。
用戶端調用B、C頁面的FLASH接收上述資訊接受請求並獲取到其攜帶的“今天要下雨”的資訊。
用戶端將“今天要下雨”的資訊顯示在頁面B、C上。
至此,頁面A、B、C進行了同步更新。
實施例8提供了一種在非同源頁面間通訊以進行同步更新的具體應用場景:用戶打開了自己的QQ空間頁面和騰訊微博頁面,並設置了將QQ空間頁面的簽名資訊同步到騰訊微博頁面。
用戶端將QQ空間頁面和騰訊微博頁面加入到同一頁面組中,其中QQ空間頁面的FLASH中儲存有騰訊微博頁面FLASH的標識,騰訊微博頁面FLASH儲存有QQ空間頁面FLASH的標識。
當用戶修改簽名資訊為“今天要下雨”時,QQ空間頁面透過之前所述的三種方式獲取到該資訊並顯示在自身頁面上。
用戶端檢測到QQ空間頁面的簽名資訊進行了更新,於是獲取該信的簽名資訊。
用戶端調用QQ空間頁面的FLASH根據儲存的騰訊微博頁面FLASH的標識發送攜帶該“今天要下雨”更新資料的資訊接收請求至騰訊微博頁面FLASH。
用戶端調用騰訊微博頁面FLASH接收該資訊接收請求並獲取其攜帶的“今天要下雨”的更新資料。
用戶端將“今天要下雨”顯示在騰訊微博頁面上。
至此,QQ空間頁面和騰訊微博頁面進行了同步更新。
用戶接下來在QQ空間頁面上添加“現在還沒有下雨”的留言。
用戶端檢測到QQ空間頁面上進行了更新,但更新資訊並非是簽名資訊,因此不獲取該資訊。
需要說明的是,同頁面間同步操作一樣,在上述實施例中,頁面的FLASH同樣可以利用sendmessage函數和recivemessage函數進行更新資料的發送和接收。
本發明實施例9提供了一種用於實現用戶端頁面間通訊的裝置,參見圖9,該裝置包括:
檢測單元11,用於檢測頁面是否有與其他頁面進行資料傳輸的需求。
基於頁面間通訊的具體應用不同,頁面間需要傳輸的資料有所不同。比如要進行頁面更新時,要傳輸的是更新頁面上的更新資料;要進行頁面同步操作時,要傳輸的是用以指示新操作的操作資料。下文將根據具體的應用對此做詳細描述。
獲取單元12,用於在頁面有資料需要傳輸時,獲取該資料。
標識調用單元13,用於調取所述頁面所儲存的當前頁面組中其他頁面的通訊標識。
本發明中的頁面組是預先建立的至少兩個頁面的組合;所述通訊標識是建立所述頁面組時為頁面組中的每一頁面分配的,所述頁面組中的每一頁面儲存有所述頁面組中其他頁面的通訊標識。該通訊標識指用以唯一確定每一
頁面的標識,基於該標識,可以建立頁面間的通訊連接。
在本發明中,頁面組可以根據需要進行建立。比如可設置基於同一網址打開的多個頁面為一頁面組,以進行頁面的同步更新。也可以設置對應同一用戶頁面如用戶的QQ空間頁面和該用戶的微博頁面為同一頁面組,以將QQ空間頁面的簽名等資訊同步到微博頁面。在本發明中不對頁面組的具體設置做限制。
因為頁面組可以基於不同的需要建立,因此同一頁面可能屬於多個頁面組。為此,所述裝置還包括頁面組確定單元,用於當所述頁面屬於多個頁面組時,根據所述資料的屬性資訊,確定所述頁面的當前頁面組,所述資料就在當前頁面組的頁面間進行傳輸。
本發明中資料的屬性資訊主要是該資料的傳輸屬性資訊,比如當該資料是用以在QQ空間和微博中展示的簽名資訊時,當前頁面組即為QQ空間和微博頁面組成的頁面組。當該資料需要在同源頁面間傳輸時,當前頁面組即為同源頁面組成的頁面組。
通訊單元14,用於依據所述通訊標識,在所述頁面與所述其他頁面間建立通訊連接,並利用該通訊連接將所述需傳輸的資料發送給其他頁面。
本發明中,用戶端利用頁面的通訊標識建立通訊連接的方式有多種。在本發明具體實施例中,頁面利用頁面間的FLASH建立頁面間的通訊連接,所述裝置具體為:
檢測單元,用於檢測頁面是否有與其他頁面進行資料
傳輸的需求。
獲取單元,用於在頁面有資料需要傳輸時,獲取該資料。
標識調用單元,用於調取需要傳輸資料的頁面的FLASH處儲存的FLASH組中其他FLASH的標識。其中,FLASH組由當前頁面組中的頁面對應的FLASH構成,每一頁面的FLASH處儲存有所述FLASH組中其他FLASH的標識。
通訊單元包括資料發送單元和資料接收單元。
資料發送單元,用於調用所述頁面中的FLASH根據儲存的所述FLASH組中其他FLASH的標識發送攜帶所述資料的資訊接收請求至所述其他FLASH。
資料接收單元,用於調用所述其他FLASH接收所述資訊接收請求並獲取所述資料。
當然,本發明中,該裝置也可利用頁面中的其他具有資料傳輸功能的單元利用通訊標識在頁面間傳輸資料,本發明不對此做具體限制。
頁面組是預先建立的,因此,本發明還包括建立單元,用於建立頁面組。
在本發明中,頁面組可以根據需要進行建立。比如可設置基於同一網址打開的多個頁面為一頁面組,以進行頁面的同步更新。也可以設置對應同一用戶頁面如用戶的QQ空間頁面和該用戶的微博頁面為同一頁面組,以將QQ空間頁面的簽名等資訊同步到微博頁面。在本發明中不對
頁面組的具體設置做限制。
對應不同的建立方法,具體的建立單元包括:屬性資訊獲取單元,用於獲取當前頁面的屬性資訊。
在本發明中,當前頁面可以指用戶端檢測到的每一正在打開的頁面。當有頁面被打開時,屬性資訊獲取單元獲取該頁面的屬性資訊。該屬性資訊是指用以表徵該頁面是否有與其他頁面進行通訊的需求,以及與哪些頁面進行和何種通訊需求的信息。比如頁面是否設置了與其他頁面進行同步更新,是否設置了與其他頁面進行同步操作,同步更新的資料類型、同步操作的操作類型等資訊。可以理解的,基於同一頁面的不同屬性,同一頁面有可能被加入到多個頁面組中。
判斷單元,用於根據所述屬性資訊判斷所述當前頁面是否需要加入頁面組。
比如當屬性資訊表示當前頁面A需要與另一頁面B進行簽名資訊的同步更新時,則判斷將當前頁面A加入對應頁面組。
需要說明的是,同源頁面間的同步更新是當前網路的預設需求,即對每一頁面來講都有與同源頁面同步更新的需求,因此,每一頁面實際上都需要加入與同源頁面同步更新的頁面組。
第一主連接發起單元,用於在當前頁面需要加入所述頁面組時,調用所述當前頁面的FLASH發起建立主連接FLASH的操作。
同一用戶端可能會設置多個頁面組,本發明中,可對頁面組對應的FLASH組設置名稱以進行區分。其具體名稱可以任意設置。比如設置為“cloud”、“rain”等。同一頁面可能會加入不同頁面組,因此,同一頁面可能會有不同的FLASH被調用,為進行區分,可以對同一頁面的各FLASH按照FLASH組名稱進行設置。比如,主連接FLASH的名稱可設置為“FLASH組名稱_HOST”。這樣透過名稱就可以知道該主連接FLASH所在的FLASH群組。
具體的,當有頁面啟動時,主連接發起單元調用create介面發起試圖建立主連接FLASH的操作。當FLASH組名稱為“cloud”時,主連接名稱為“cloud_HOST”。
非主連接單元,用於在所述主連接FLASH已存在時,調用所述當前頁面的FLASH加入所述FLASH組,建立當前非主連接FLASH,同時產生並記錄當前非主連接標識。
在本發明中,主連接FLASH只有一個,但非主連接FLASH可以有多個,為對非主連接FLASH進行區分,非主連接單元產生的非主連接標識必須是唯一的。
為確保唯一性,建立非主連接FLASH時,非主連接單元可以調用join介面,建立名為“FLASH組名稱_非主連接標識A”的非主連接FLASH。若A已經存在,則試圖建立“FLASH組名稱_非主連接標識B”的非主連接
FLASH,直到建立的標識在FLASH組中不存在為止。
具體的,非主連接單元可以隨機產生非主連接標識,也可以按照次序產生非主連接標識。
第一標識發送單元,用於調用所述當前非主連接FLASH,將所述當前非主連接標識發送至所述主連接FLASH。
第二標識發送單元,用於調用所述主連接FLASH儲存並發送FLASH組標識至所述FLASH組中的每一非主連接FLASH;其中所述FLASH組標識包括所述主連接標識和每一非主連接標識。
第一儲存單元,用於調用所述每一非主連接FLASH儲存所述FLASH組標識。
具體的,當FLASH組中只包括主連接FLASH和當前非主連接FLASH時,所述的FLASH組標識包括主連接標識和當前非主連接標識,每一非主連接指當前非主連接FLASH。
當FLASH組中包括主連接FLASH、當前非主連接FLASH和其他非主連接FLASH時,FLASH組標識包括主連接標識、當前非主連接標識和其他非主連接FLASH的非主連接標識,每一非主連接指當前非主連接FLASH和其他非主連接FLASH。
在本發明另一實施例中,所述建立單元還包括:第一確定單元,用於在FLASH組中不存在主連接FLASH時,確定所述當前頁面的FLASH為主連接
FLASH,同時產生並記錄主連接標識。
第三標識發送單元,用於當所述FLASH組中存在至少一個非主連接FLASH時,調用所述FLASH組中的每一非主連接FLASH發送非主連接標識至所述主連接FLASH。
第四標識發送單元,用於調用所述主連接FLASH發送FLASH組標識至所述每一非主連接FLASH;其中所述FLASH組標識包括所述主連接標識和所述每一非主連接FLASH的非主連接標識。
第二儲存單元,用於調用所述每一非主連接FLASH儲存所述FLASH組標識。
主連接FLASH有時會失效,比如當主連接FLASH對應的頁面被關閉時,主連接FLASH同時消失。當後續有新的非主連接FLASH建立時,會出現無法加入FLASH組的情況。為此,在本發明的實施例中,所述裝置還包括:第二主連接發起單元,用於調用所述FLASH組中的任一非主連接FLASH發起重新建立主連接FLASH的操作。這一操作可以是即時的,也可以是週期性進行的。
第二確定單元,用於在所述主連接FLASH失效時,確定所述發起重新建立主連接操作的非主連接FLASH為新的主連接FLASH,同時產生並記錄新主連接標識。產生的新主連接標識可以與原主連接標識相同。
第一標識更新單元,用於調用所述新的主連接FLASH根據所述新主連接標識更新自身儲存的所述FLASH組標
識。新的主連接FLASH產生後,第一標識更新單元會調用新的主連接FLASH重新計算群組成員,刪除自身為非主連接FLASH時的標識並根據產生的新主連接標識更新自身儲存的FLASH組標識,第五標識發送單元,用於調用所述新的主連接FLASH發送更新後的FLASH組標識至所述FLASH組中的每一非主連接FLASH。
第二標識更新單元,用於調用所述每一非主連接FLASH根據接收的更新後的FLASH組標識更新自身儲存的所述FLASH組標識。
用戶端頁面間的直接通訊具有多種應用,以下以其應用在頁面間的同步更新和頁面間的同步操作為例進行描述。
當基於頁面間直接通訊實現頁面間同步操作時,本發明的裝置包括如下單元:檢測單元,具體用於檢測頁面組中是否有頁面執行了新的操作。
在本發明中,該新的操作是指對頁面進行內容更新外的所有操作,比如頁面切換操作。
獲取單元,用於在有頁面執行了更新操作時,獲取用以指示對頁面執行新操作的操作資料。
資料發送單元,用於調用該執行了新操作的頁面中的FLASH根據儲存的所述FLASH組中其他FLASH的標識發送攜帶所述操作資料的資訊接收請求至所述其他FLASH。
接收單元,用於調用所述其他FLASH根據所述資訊接收請求接收所述操作資料。
操作單元,用於根據所述操作資料在對應的頁面執行所述操作。
在該應用中,FLASH發送資訊接收請求至其他FLASH和其他FLASH根據資訊接收請求接收操作資料具有多種方式。在具體實施例中,資料發送單元和接收單元可利用FLASH中的sendmessage發送資訊函數和recivemessage接收資訊函數進行資訊的發送和接收:資料發送單元,用於調用該執行了新操作的頁面中的FLASH利用sendmessage函數發送攜帶所述操作資料的recivemessage請求至其他FLASH。
接收單元,用於調用其他FLASH利用recivemessage函數接收所述recivemessage請求,並獲取其攜帶的操作資料。
當基於頁面間直接通訊實現頁面間同步更新時,本發明的裝置包括如下單元:檢測單元,具體用於檢測頁面組中是否有頁面進行了更新。
獲取單元,用於在有頁面進行了更新時,獲取更新頁面中的更新資料。
資料發送單元,用於調用更新頁面中的FLASH根據儲存的所述FLASH組中其他FLASH的標識發送攜帶所述更新資料的資訊接收請求至所述其他FLASH。
接收單元,用於調用所述其他FLASH根據所述資訊接收請求接收所述更新資料。
頁面更新單元,用於根據所述更新資料更新所述其他FLASH對應的頁面。
從上述實施例可以看出,頁面組中需要有頁面先獲取更新資料進行更新才能透過該更新頁面將更新資料傳輸給其他頁面。該更新可以基於多種方式進行。對應的,在本發明中,所述裝置還包括:
瀏覽器單元,用於設置一個瀏覽器從伺服器獲取更新資料,然後將該更新資料發送至該瀏覽器內的至少一個頁面,使該至少一個頁面進行更新。因為只涉及到一個瀏覽器,其他瀏覽器內的頁面可以基於上述頁面間的直接通訊進行更新,因此,解決了現有技術中基於瀏覽器的localstorage方案進行頁面更新不能跨瀏覽器的問題。
輪詢單元,用於設置一個頁面週期性的詢問用戶端,從用戶端獲取更新資料進行更新。在該方式中,因為只涉及一個頁面,所以在保證即時性的同時,保證了頁面的性能。當然,第二更新子單元,也可以設置適量頁面輪詢用戶端,只要設置的頁面數量能夠保證頁面性能即可。
長鏈結單元,用於設置一個頁面與伺服器長鏈結,從伺服器獲取更新資料進行更新。因為只有一個頁面與伺服器長鏈結,因此降低了對伺服器頻寬的需求,即降低了伺服器成本。當然,第三更新子單元也可以在伺服器頻寬範圍內設置適量頁面與伺服器長鏈結。
需要說明的是,在該實施例中,頁面組中的頁面可以為同源頁面,也可以為非同源頁面。
在本發明中基於不同的更新需求,需要傳輸的更新資料類型也不同。比如,當同源頁面間進行同步更新時,因為需要對每一更新進行同步,因此,更新資料是指頁面中的任何更新資料。而當僅需要對特定的更新進行同步時,更新資料有可能是特定的某一類型資料,比如之前提到的對應同一用戶的QQ空間頁面和微博頁面,其檢測的就是頁面中的簽名資料,而非所有資料。在本發明中。為滿足不同的更新需要,可以對更新資料的具體類型進行設置。
另外,同頁面間同步操作一樣,在上述實施例中,頁面的FLASH同樣可以利用sendmessage函數和recivemessage函數進行更新資料的發送和接收。
值得注意的是,本發明的方法與本發明的裝置相對應,因此對裝置部分不再詳述,相關部分參見方法實施例即可。
以上對本發明所提供的一種用戶端頁面間通訊的方法及裝置進行了介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在實施方式及應用範圍上均會有改變之處。綜上所述,本說明書內容不應理解為對本發明的限制。
顯然,本領域的技術人員應該明白,上述的本發明的
各模組或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分佈在多個計算裝置所組成的網路上,可選地,它們可以用計算裝置可執行的程式碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別製作成各個積體電路模組,或者將它們中的多個模組或步驟製作成單個積體電路模組來實現。這樣,本發明不限制於任何特定的硬體和軟體結合。
11‧‧‧檢測單元
12‧‧‧獲取單元
13‧‧‧標識調用單元
14‧‧‧通訊單元
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的圖式作簡單地介紹,顯而易見地,下面描述中的圖式僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性工作的前提下,還可以根據這些圖式獲得其他的圖式。
圖1為本發明實施例1的方法流程圖;圖2為本發明實施例2的方法流程圖;圖3-圖6為本發明實施例5建立主連接FLASH和非主連接FLASH示意圖;圖7為本發明方法實施例6流程圖;圖8為本發明方法實施例7流程圖;圖9為本發明方法實施例9結構圖。
Claims (14)
- 一種用戶端頁面間通訊的方法,其特徵在於,該方法包括:檢測頁面是否有與其他頁面進行資料傳輸的需求;如果有,則獲取該資料;調取該頁面所儲存的當前頁面組中其他頁面的通訊標識;其中該頁面組包括預先建立的至少兩個頁面;該通訊標識是建立該頁面組時為頁面組中的每一頁面分配的,該頁面組中的每一頁面儲存有該頁面組中其他頁面的通訊標識;依據該通訊標識,在該頁面與該其他頁面間建立通訊連接,並利用該通訊連接將該需傳輸的資料發送給其他頁面。
- 根據申請專利範圍第1項所述的方法,其中,當該頁面屬於多個頁面組時;該方法還包括:根據該資料的屬性資訊,確定該頁面的當前頁面組。
- 根據申請專利範圍第2項所述的方法,其中,該調取該頁面所儲存的該當前頁面組中其他頁面的通訊標識包括:調取該頁面的FLASH處儲存的FLASH組中其他FLASH的標識;該FLASH組由該當前頁面組中的頁面對應的FLASH構成,每一頁面的FLASH處儲存有該FLASH組中其他FLASH的標識;該依據該通訊標識,在該頁面與該其他頁面間建立通 訊連接,並利用該通訊連接將該需傳輸的資料發送給其他頁面包括:調用該頁面中的FLASH根據儲存的該FLASH組中其他FLASH的標識發送攜帶該資料的資訊接收請求至該其他FLASH;調用該其他FLASH接收該資訊接收請求並獲取該資料。
- 根據申請專利範圍第3項所述的方法,其中,該頁面組透過如下步驟建立:獲取當前頁面的屬性資訊;根據該屬性資訊判斷該當前頁面是否需要加入頁面組;若需要,則調用該當前頁面的FLASH發起建立主連接FLASH的操作;若FLASH組中已存在該主連接FLASH,則調用該當前頁面的FLASH加入該FLASH組,建立當前非主連接FLASH,同時產生並記錄當前非主連接標識;調用該當前非主連接FLASH,將該當前非主連接標識發送至該主連接FLASH;調用該主連接FLASH儲存並發送FLASH組標識至該FLASH組中的每一非主連接FLASH;其中該FLASH組標識包括該主連接標識和每一非主連接標識;調用該每一非主連接FLASH儲存該FLASH組標識。
- 根據申請專利範圍第4項所述的方法,其中,若 FLASH組中不存在主連接FLASH,則該方法還包括:確定該當前頁面的FLASH為主連接FLASH,同時產生並記錄主連接標識;當該FLASH組中存在至少一個非主連接FLASH時,調用該FLASH組中的每一非主連接FLASH發送非主連接標識至該主連接FLASH;調用該主連接FLASH發送FLASH組標識至該每一非主連接FLASH;該FLASH組標識包括該主連接標識和每一非主連接標識;調用該每一非主連接FLASH儲存該FLASH組標識。
- 根據申請專利範圍第4或5項所述的方法,其中,該方法還包括:調用該FLASH組中的任一非主連接FLASH發起重新建立主連接FLASH的操作,若該主連接FLASH失效,則確定重新發起建立主連接FLASH操作的非主連接FLASH為新的主連接FLASH,同時產生並記錄新主連接標識;調用該新的主連接FLASH根據該新主連接標識更新該自身儲存的FLASH組標識並發送更新後的FLASH組標識至該FLASH組中的每一非主連接FLASH;調用該每一非主連接FLASH根據接收的更新後的FLASH組標識更新自身儲存的該FLASH組標識。
- 根據申請專利範圍第3項所述的方法,其中,該需要傳輸資料的頁面中的FLASH利用sendmessage函數發送攜帶該資料的資訊接收請求至該其他FLASH; 該其他FLASH利用接收recivemessage函數接受該資訊接收請求並獲取該資料。
- 根據申請專利範圍第1項所述的方法,其中,該頁面組中的頁面為同源頁面。
- 一種用於實現用戶端頁面間通訊的裝置,其特徵在於,該裝置包括:檢測單元,用於檢測頁面是否有與其他頁面進行資料傳輸的需求;獲取單元,用於在頁面有與其他頁面進行資料傳輸的需求時,獲取該資料;標識調用單元,用於調取該頁面所儲存的當前頁面組中其他頁面的通訊標識;其中該頁面組包括預先建立的至少兩個頁面;該通訊標識是建立該頁面組時為頁面組中的每一頁面分配的,該頁面組中的每一頁面儲存有該頁面組中其他頁面的通訊標識;通訊單元,用於依據該通訊標識,在該頁面與該其他頁面間建立通訊連接,並利用該通訊連接將該需傳輸的資料發送給其他頁面。
- 根據申請專利範圍第9項所述的裝置,其中,該裝置還包括:頁面組確定單元,用於當該頁面屬於多個頁面組時,根據該資料的屬性資訊,確定該頁面的當前頁面組。
- 根據申請專利範圍第10項所述的裝置,其中,該標識調用單元,更用於調取該頁面的FLASH處儲存的 FLASH組中其他FLASH的標識;該FLASH組由該當前頁面組中的頁面對應的FLASH構成,每一頁面的FLASH處儲存有該FLASH組中其他FLASH的標識;該通訊單元包括資料發送單元和資料接收單元;該資料發送單元,用於調用該頁面中的FLASH根據儲存的該FLASH組中其他FLASH的標識發送攜帶該資料的資訊接收請求至該其他FLASH;該資料接收單元,用於調用該其他FLASH接收該資訊接收請求並獲取該資料。
- 根據申請專利範圍第11項所述的裝置,其中,該裝置還包括建立單元,用於建立該頁面組;該建立單元包括:屬性資訊獲取單元,用於獲取當前頁面的屬性資訊;判斷單元,用於根據該屬性資訊判斷該當前頁面是否需要加入頁面組;第一主連接發起單元,用於在當前頁面需要加入該頁面組時,調用該當前頁面的FLASH發起建立主連接FLASH的操作;非主連接單元,用於在該主連接FLASH已存在時,調用該當前頁面的FLASH加入該FLASH組,建立當前非主連接FLASH,同時產生並記錄當前非主連接標識;第一標識發送單元,用於調用該當前非主連接FLASH,將該當前非主連接標識發送至該主連接FLASH;第二標識發送單元,用於調用該主連接FLASH儲存 並發送FLASH組標識至該FLASH組中的每一非主連接FLASH;其中該FLASH組標識包括該主連接標識和每一非主連接標識;第一儲存單元,用於調用該每一非主連接FLASH儲存該FLASH組標識。
- 根據申請專利範圍第12項所述的裝置,其中,該建立單元還包括:第一確定單元,用於在FLASH組中不存在主連接FLASH時,確定該當前頁面的FLASH為主連接FLASH,同時產生並記錄主連接標識;第三標識發送單元,用於當該FLASH組中存在至少一個非主連接FLASH時,調用該FLASH組中的每一非主連接FLASH發送非主連接標識至該主連接FLASH;第四標識發送單元,用於調用該主連接FLASH發送FLASH組標識至該每一非主連接FLASH;其中該FLASH組標識包括該主連接標識和該每一非主連接FLASH的非主連接標識;第二儲存單元,用於調用該每一非主連接FLASH儲存該FLASH組標識。
- 根據申請專利範圍第12或13項所述的裝置,其中,該裝置還包括:第二主連接發起單元,用於調用該FLASH組中的任一非主連接FLASH發起重新建立主連接FLASH的操作;第二確定單元,用於在該主連接FLASH失效時,確 定該發起重新建立主連接操作的非主連接FLASH為新的主連接FLASH,同時產生並記錄新主連接標識;第一標識更新單元,用於調用該新的主連接FLASH根據該新主連接標識更新自身儲存的該FLASH組標識;第五標識發送單元,用於調用該新的主連接FLASH發送更新後的FLASH組標識至該FLASH組中的每一非主連接FLASH;第二標識更新單元,用於調用該每一非主連接FLASH根據接收的更新後的FLASH組標識更新自身儲存的該FLASH組標識。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210244355.6A CN103546513B (zh) | 2012-07-13 | 2012-07-13 | 一种客户端页面间通信的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201403335A true TW201403335A (zh) | 2014-01-16 |
Family
ID=49915077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101142226A TW201403335A (zh) | 2012-07-13 | 2012-11-13 | 用戶端頁面間通訊的方法及裝置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9323727B2 (zh) |
JP (1) | JP5945367B2 (zh) |
KR (1) | KR101670699B1 (zh) |
CN (1) | CN103546513B (zh) |
TW (1) | TW201403335A (zh) |
WO (1) | WO2014011962A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078785B (zh) * | 2019-11-27 | 2023-12-01 | 贝壳技术有限公司 | 一种数据可视化展示的方法、装置、电子设备及存储介质 |
CN112995252B (zh) * | 2019-12-13 | 2023-08-08 | 阿里巴巴集团控股有限公司 | 页端与客户端间的数据传输方法、装置、设备及存储介质 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748100A (en) * | 1995-10-06 | 1998-05-05 | Motorola, Inc. | Reliable wireless message distribution system |
JP2000020357A (ja) | 1998-07-03 | 2000-01-21 | Nec Software Shikoku Ltd | Wwwブラウザのコンポーネント間連携方法 |
US6853867B1 (en) * | 1998-12-30 | 2005-02-08 | Schneider Automation Inc. | Interface to a programmable logic controller |
JP2000267964A (ja) | 1999-03-18 | 2000-09-29 | Nec Eng Ltd | ドキュメントの動的表示方法、システムおよび記録媒体 |
US6446111B1 (en) * | 1999-06-18 | 2002-09-03 | Epicrealm Operating Inc. | Method and apparatus for client-server communication using a limited capability client over a low-speed communications link |
JP2002182971A (ja) | 2000-12-19 | 2002-06-28 | Nippon Yunishisu Kk | Webブラウザでマルチウインドウに表示されているHTMLドキュメント間の情報連携システム |
GB2383853A (en) * | 2001-01-26 | 2003-07-09 | Xmg Ltd | A method system and apparatus for networking devices over an asynchronous network such as the internet |
US20040205547A1 (en) * | 2003-04-12 | 2004-10-14 | Feldt Kenneth Charles | Annotation process for message enabled digital content |
WO2005010730A2 (en) * | 2003-07-24 | 2005-02-03 | Idea Place Corporation | Mobile memory device with integrated applications and online services |
JP2005056163A (ja) * | 2003-08-05 | 2005-03-03 | Internatl Business Mach Corp <Ibm> | コラボレーション・システムのためのサーバ装置、コラボレーション・システムのためのクライアント装置、コンピュータ装置をコラボレーション・システムのためのサーバ装置として機能させるためのプログラム、およびコンピュータ装置をコラボレーション・システムのためのクライアント装置として機能させるためのプログラム並びにコラボレーション・システム |
US8528003B2 (en) * | 2003-10-27 | 2013-09-03 | Yahoo! Inc. | Communication among browser windows |
GB0407977D0 (en) | 2004-04-08 | 2004-05-12 | Ibm | Communication between browser windows |
JP2008536373A (ja) * | 2005-03-24 | 2008-09-04 | ノキア コーポレイション | 受信デバイスへの次期送信セッションに関する通知 |
US20070260520A1 (en) * | 2006-01-18 | 2007-11-08 | Teracent Corporation | System, method and computer program product for selecting internet-based advertising |
US8145719B2 (en) * | 2006-03-03 | 2012-03-27 | Gogroups | Method and system for messaging and communication based on groups |
US8009603B2 (en) * | 2006-09-06 | 2011-08-30 | Futurewei Technologies, Inc. | Transmitting page and broadcast control channel through the same time frequency resources across the sectors in a wireless communications system |
US20080295018A1 (en) * | 2007-05-24 | 2008-11-27 | Nokia Corporation | Apparatus, method and computer program product providing an adaptive forward button for a browser application |
US8302013B2 (en) * | 2007-08-16 | 2012-10-30 | Yahoo! Inc. | Personalized page modules |
US20090049380A1 (en) * | 2007-08-16 | 2009-02-19 | Joshua Allen Rehling | Page Modules and States |
US8600413B2 (en) * | 2007-10-30 | 2013-12-03 | Qualcomm Incorporated | Control arrangement and method for communicating paging messages in a wireless communication system |
US8065617B2 (en) * | 2008-08-28 | 2011-11-22 | Microsoft Corporation | Discovering alternative user experiences for websites |
US8972496B2 (en) * | 2008-12-10 | 2015-03-03 | Amazon Technologies, Inc. | Content sharing |
JP5872753B2 (ja) * | 2009-05-01 | 2016-03-01 | ソニー株式会社 | サーバ装置、電子機器、電子書籍提供システム、サーバ装置の電子書籍提供方法、電子機器の電子書籍表示方法及びプログラム |
JP4929330B2 (ja) | 2009-09-17 | 2012-05-09 | ヤフー株式会社 | 入力支援プログラム、端末及びWebシステム |
US9058489B2 (en) | 2010-01-25 | 2015-06-16 | Samsung Electronics Co., Ltd. | Marking documents with executable text for processing by computing systems |
JP5682996B2 (ja) | 2010-02-04 | 2015-03-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | クライアントプログラム、端末、サーバ装置、サーバプログラム、システムおよび方法 |
CN101867622A (zh) | 2010-07-02 | 2010-10-20 | 苏州阔地网络科技有限公司 | 一种网页上实现的p2p视频通讯的方法 |
US9153000B2 (en) * | 2010-12-13 | 2015-10-06 | Microsoft Technology Licensing, Llc | Presenting content items shared within social networks |
EP2469389B1 (en) * | 2010-12-24 | 2018-10-10 | Lg Electronics Inc. | Mobile terminal and method for changing page thereof |
-
2012
- 2012-07-13 CN CN201210244355.6A patent/CN103546513B/zh active Active
- 2012-11-13 TW TW101142226A patent/TW201403335A/zh unknown
-
2013
- 2013-07-11 US US13/939,870 patent/US9323727B2/en active Active
- 2013-07-12 WO PCT/US2013/050212 patent/WO2014011962A1/en active Application Filing
- 2013-07-12 KR KR1020157000089A patent/KR101670699B1/ko active IP Right Grant
- 2013-07-12 JP JP2015521831A patent/JP5945367B2/ja active Active
-
2016
- 2016-03-17 US US15/073,209 patent/US10108588B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160196242A1 (en) | 2016-07-07 |
KR101670699B1 (ko) | 2016-10-31 |
US10108588B2 (en) | 2018-10-23 |
KR20150022972A (ko) | 2015-03-04 |
CN103546513A (zh) | 2014-01-29 |
JP5945367B2 (ja) | 2016-07-05 |
JP2015526802A (ja) | 2015-09-10 |
US9323727B2 (en) | 2016-04-26 |
US20140019838A1 (en) | 2014-01-16 |
CN103546513B (zh) | 2016-12-21 |
WO2014011962A1 (en) | 2014-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102819461B (zh) | 桌面同步方法、装置、设备及系统 | |
US10250646B2 (en) | Method and device for establishing channel | |
WO2014029276A1 (zh) | 通讯方法及装置 | |
US9736245B2 (en) | Methods for synchronizing web sessions and devices thereof | |
WO2019184658A1 (zh) | 配置文件的切换方法、装置与移动终端 | |
CN104184756A (zh) | 一种数据同步方法、装置及系统 | |
WO2016045214A1 (zh) | 一种决策方法、装置、终端及计算机存储介质 | |
US11843642B1 (en) | Serverless signaling in peer-to-peer session initialization | |
CN102724209A (zh) | 一种基于sip的文件传输方法、终端和应用服务器 | |
JP2013225941A (ja) | サービス制御装置、サービス制御システム及び方法 | |
CN110875914B (zh) | 一种基于共享会话链路传输消息的方法及装置 | |
CN107835445B (zh) | 基于mqtt协议的电视控制方法、移动终端及电视 | |
US9143536B2 (en) | Determining a location address for shared data | |
TW201403335A (zh) | 用戶端頁面間通訊的方法及裝置 | |
CN107147651B (zh) | 一种灰度发布系统及其发布方法 | |
CN106612307B (zh) | 一种永远在线业务的实现方法及装置 | |
CN110324377B (zh) | 一种推送交互方法、装置、电子设备及介质 | |
CN110620672B (zh) | 多人会话数据处理方法、装置、计算机设备和存储介质 | |
WO2023011057A1 (zh) | 一种通信方法及装置 | |
WO2023284231A1 (zh) | 报文处理方法和报文处理系统 | |
US20160302055A1 (en) | Information processing system | |
CN115297105A (zh) | 文件传输方法、装置、计算机设备及存储介质 | |
JP2012530304A (ja) | ユーザ端末のプレゼンス情報を制御するための方法およびデバイス | |
CN106549854A (zh) | 一种通信记录同步方法、系统及用户终端 | |
CN109120578A (zh) | 一种实现链路连接处理的方法及装置 |