專利名稱:Flash P2P 避開安全沙箱的方法
技術領域:
本發(fā)明涉及網絡通信技術領域,更具體地,涉及ー種Flash P2P避開安全沙箱的方
法。
背景技術:
隨著Adobe公司的Flash技術的迅速發(fā)展,F(xiàn)lash可以通過載入多媒體內容與服務器端進行通信,甚至Flash與Flash之間也可以進行交互通信,即Flash P2P技術。但是為了安全起見,在未經授權的情況下,F(xiàn)lash默認狀態(tài)是不允許進行跨域通信的,這就是安全沙箱機制。因為安全沙箱機制的存在,當使用Flash P2P技術時,一旦Flash Player與RTMFP服務器建立連接,就會彈出ー個警告窗ロ,詢問用戶是否需要加入文件共享群組而進行P2P,用戶必須同意加入群組,后續(xù)才可進行P2P。專利申請?zhí)枮?01110042931. 4的名稱為“克服flex安全沙箱限制的視頻像素信息采集存儲的方法”的發(fā)明中披露了ー種克服flex安全沙箱限制視頻像素信息采集存儲的方法,該發(fā)明采用的技術方案是將截取后待保存的一組幀圖像像素點信息數(shù)據(jù)由flex視頻控件上傳至WEB服務器,由WEB服務器進行該ー組幀圖像像素點信息數(shù)據(jù)的處理并將處理后形成的圖像文件回傳至WEB終端。現(xiàn)有技術中,常見的解決Flash安全沙箱的幾種方法如下
一、通過配置跨域文件 System, security, al IowDomain (例如,配置成 〃www. baidu.com , baidu. com , mp3.baidu. com )。ニ、利用 JS 腳本繞過安全沙箱〈param name=〃al IowScr iptAccess"value= always />。三、使用Asp. Net繞過As3的跨域安全沙箱完成文件轉發(fā),以極低的效率解決問題,基本無實用價值。四、設置本地安全沙箱,在C:\windows\system32\Macromed\Flash\FlashPlayerTrust下面,添加ー個txt文件,例如songhuan. txt,然后在里面添加你的本機目錄。圖I示出了現(xiàn)有技術中的傳統(tǒng)RTMFP協(xié)議交互流程的示意圖。由于Flash P2P是基于Adobe RTMFP協(xié)議進行,在傳統(tǒng)RTMFP協(xié)議交互中,Peer節(jié)點與RTMFP服務器的通信過程如圖I所示首先Peer節(jié)點通過Handshake報文,與RTMFP服務器進行鑒權認證。通過鑒權認證后,Peer節(jié)點通過Connect報文與RTMFP服務器進行連接。然后,Peer節(jié)點通過JoinGroup報文加入RTMFP服務器中記錄的ー個群組。第四,Peer節(jié)點通過setPeerlnfo報文向RTMFP服務器注冊自身的內網IP地址,注冊內網地址的目的是用來進行后續(xù)的內網穿越。在完成上述步驟后,Peer節(jié)點通過Ping報文向RTMFP服務器發(fā)送請求。需要注意的是,兩個在同一群組內的Peer節(jié)點在進行數(shù)據(jù)分享之前,需要先借助RTMFP服務器進行內網穿越(NAT Relay),隨后才可進行相互間的P2P數(shù)據(jù)傳輸。
由此可見,安全沙箱機制雖然使得Flash的安全可靠性得到了提高,但是也影響了用戶體驗。
發(fā)明內容
本發(fā)明提供ー種Flash P2P避開安全沙箱的方法。所述方法包括如下步驟每個Peer節(jié)點預先向RTMFP服務器注冊;所述每個Peer節(jié)點向Gather服務器注冊所述已發(fā)布的信息流和自身的節(jié)點信息;每個Peer節(jié)點需要與另外的Peer節(jié)點進行數(shù)據(jù)傳輸時,所述姆個Peer節(jié)點需要預先在所述Gather服務器中查詢所述另外的Peer節(jié)點已發(fā)布的信息流和所述另外的Peer節(jié)點的相關信息;所述每個Peer節(jié)點經由所述RTMFP服務器與所述另外的Peer節(jié)點進行內網穿越,然后繼續(xù)進行所述姆個Peer節(jié)點和所述另外的Peer節(jié)點間的數(shù)據(jù)傳輸。
優(yōu)選的是,所述每個Peer節(jié)點預先向RTMFP服務器發(fā)布信息流包括如下步驟1)所述每個Peer節(jié)點通過Handshake報文,與所述RTMFP服務器進行鑒權認證;2)通過所述鑒權認證后,所述每個Peer節(jié)點通過Connect報文與所述RTMFP服務器進行連接;3)所述每個Peer節(jié)點通過setPeerlnfo報文向所述RTMFP服務器注冊自身的內網IP地址;4)所述每個Peer節(jié)點通過Ping報文向所述RTMFP服務器發(fā)送?;顖笪摹?yōu)選的是,所述每個Peer節(jié)點向Gather服務器注冊所述已發(fā)布的信息流和自身的節(jié)點信息包括如下步驟
1)所述姆個Peer節(jié)點通過QueryServer報文請求所述Gather服務器的IP地
址;
2)所述姆個Peer節(jié)點通過Register報文向所述Gather服務器注冊·;
3)所述姆個Peer節(jié)點通過QueryPeers報文,查詢在所述Gather服務器中存儲的處于同一群組內的其他Peer節(jié)點;
4)所述姆個Peer節(jié)點通過QueryExplore報文,查詢向自己發(fā)布所述信息流的其他Peer節(jié)點;
5)所述姆個Peer節(jié)點通過QueryStream報文,查詢自己向所述其他Peer節(jié)點發(fā)布的ィ目息流;
6)所述姆個Peer節(jié)點通過PublishStream報文,向所述Gather服務器注冊■自己的所述發(fā)布的流;
7)所述姆個Peer節(jié)點通過HeartBeat報文向所述Gather服務器維持?;顮顟B(tài)。優(yōu)選的是,所述姆個Peer節(jié)點通過所述Gather服務器的IP地址訪問所述Gather服務器。優(yōu)選的是,與所述姆個Peer節(jié)點當前播放的視頻信息相同的Peer節(jié)點被劃在所述同一群組內。與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于既能避開Adobe安全沙箱機制,不彈出警告窗ロ,又能正常進行P2P數(shù)據(jù)分享。
為了使本發(fā)明便于理解,現(xiàn)在結合附圖描述本發(fā)明的具體實施例。
圖I示出了現(xiàn)有技術中的傳統(tǒng)RTMFP協(xié)議交互流程的示意圖。圖2示出了本發(fā)明ー優(yōu)選實施例的協(xié)議交互流程的示意圖。
具體實施例方式下面結合附圖和優(yōu)選的實施方式對本發(fā)明作進ー步詳細描述。權利要求中構成要件和實施例中具體實例之間的對應關系可以如下例證。這里的描述意圖在于確認在實施例中描述了用來支持在權利要求中陳述的主題的具體實例,由于在實施例中描述了實例,不意味著該具體實例不表示構成要件。相反地,即使在此包含了具體實例作為對應一個構成要件的要素特征,也不意味著該具體實例不表示任何其它構成要件。此外,這里的描述不意味著對應于實施例中陳述的具體實例的所有主題都在權利要求中引用了。換句話說,這里的描述不否認這種實體,即對應實 施例包含的具體實例,但不包含在其任何一項權利要求中,即,能夠在以后的修正被分案并申請、或増加的可能發(fā)明的實體。應當注意的是,“系統(tǒng)”在此意味著由兩個或更多設備構成的處理。顯而易見地,用戶終端可以由個人計算機構成。此外,所述用戶終端還可以由例如蜂窩電話、任何其它PDA (個人數(shù)字助理)工具、AV (音頻視頻)裝置、諸如家用電氣(家庭用電氣化)設備的CE (消費電子設備)等構成?!熬W絡”意味著至少連接了兩個設備的機構,并且在其中,一條信息能夠從ー個設備發(fā)送到另ー個設備。經由網絡建立通信的設備可以是彼此分離的,也可以是構成ー個機器的內部模塊?!巴ㄐ拧笨杀硎緹o線通信和有線通信。然而,還可以是混合無線和有線通信的通信,更具體地,在某個區(qū)段采取無線通信而在另ー個區(qū)段采取有線通信的通信。同樣,它也可以是這樣的通信從ー個設備向另ー設備的通信是有線的,且相反方向的通信是無線的。本發(fā)明的一優(yōu)選實施例為設置每ー個Peer節(jié)點為主動發(fā)布信息流的源,因此,需要増加一個收集Peer節(jié)點信息的Gather服務器。圖2示出了本發(fā)明ー優(yōu)選實施例的協(xié)議交互流程的示意圖。首先,每ー個Peer節(jié)點需要先向RTMFP服務器發(fā)布信息流,隨后每ー個Peer節(jié)點向Gather服務器注冊■已發(fā)布的信息流和自身的節(jié)點信息。隨后,若ー個Peer節(jié)點想要與另外ー個Peer節(jié)點進行數(shù)據(jù)傳輸,則需要在上述Gather服務器中查詢對方節(jié)點已發(fā)布的信息流和其節(jié)點的相關信息,然后借助RTMFP服務器與對方節(jié)點進行NAT Relay,隨后繼續(xù)進行兩個節(jié)點間的數(shù)據(jù)傳輸。本發(fā)明的又一優(yōu)選實施例的通信步驟如下
首先,Peer節(jié)點通過Handshake報文,與RTMFP服務器進行鑒權認證。通過鑒權認證后,Peer節(jié)點通過Connect報文與RTMFP服務器進行連接。然后,Peer節(jié)點通過setPeerlnfo報文向RTMFP服務器注冊自身的內網IP地址,注冊內網地址的目的是用來進行后續(xù)的內網穿越。在完成上述步驟后,Peer節(jié)點通過Ping報文向RTMFP服務器維持?;顮顟B(tài)。S卩,每ー個Peer節(jié)點與所述RTMFP服務器進行交互吋,除了并不發(fā)送JoinGroup報文,其余過程與傳統(tǒng)的RTMFP協(xié)議交互一致。第二、姆ー個Peer節(jié)點通過Query Server報文請求Gather服務器的IP地址,后續(xù)通過IP地址訪問該Gather服務器。
第三、姆ー個Peer節(jié)點通過Register報文向Gather服務器注冊·。第四、姆ー個Peer節(jié)點通過Query Peers報文,查詢在Gather服務器中存儲的處于同一群組內的 其他Peer節(jié)點,當前播放同一視頻的Peer被劃歸在同一群組內。第五、姆ー個Peer節(jié)點通過Query Explore報文,查詢向自己發(fā)布流的其他Peer節(jié)點。第六、姆ー個Peer節(jié)點通過Query Stream報文,查詢自己向其他Peer節(jié)點發(fā)布的流。第七、姆ー個Peer節(jié)點通過Publish Stream報文,向Gather服務器注冊·自己發(fā)布的流。第八、姆ー個Peer節(jié)點通過Heart Beat報文向Gather服務器維持保活狀態(tài)。第九、每ー個Peer節(jié)點經由所述RTMFP服務器,與想要進行通信的對端Peer節(jié)點進行內網穿越NAT Relay,所述內網穿越NAT Relay成功后,兩個Peer節(jié)點即可進行數(shù)據(jù)分享傳輸。上述詳細描述通過實施例和/或示意圖闡明了系統(tǒng)和/或過程的各種實施例。就這些示意圖和/或包含一個或多個功能和/或操作而言,本領域技術人員將理解,這些示意圖或實施例中的每ー個功能和/或操作都可由各種各樣的硬件、軟件、固件、或實際上其任意組合來単獨地和/或共同地實現(xiàn)。應該理解,本文描述的方法可以結合硬件或軟件,或在適當時結合兩者的組合來實現(xiàn)。因此,本發(fā)明的方法,可以采用包含在諸如軟盤、CD-ROM、硬盤驅動器或任何其他機器可讀存儲介質等有形介質中的程序代碼(即,指令)的形式,其中,當程序代碼在可編程計算機上執(zhí)行的情況下,計算設備通常包括處理器、該處理器可讀的存儲介質(包括易失性存儲器和/或存儲元件)、至少一個輸入設備、以及至少ー個輸出設備。ー個或多個程序可以例如,通過使用API,可重用控件等來實現(xiàn)或利用結合本發(fā)明描述的過程。這樣的程序優(yōu)選地用高級過程語言或面向對象編程語言來實現(xiàn),以與計算機系統(tǒng)通信。然而,如果需要,該程序可以用匯編語言或機器語言來實現(xiàn)。在任何情形中,語言可以是編譯語言或解釋語言,且與硬件實現(xiàn)相結合。需要說明的是,本發(fā)明的ー種Flash P2P避開安全沙箱的方案的范疇包括但不限于上述各部分之間的任意組合。盡管具體地參考其優(yōu)選實施例來示出并描述了本發(fā)明,但本領域的技術人員可以理解,可以做出形式和細節(jié)上的各種改變而不脫離所附權利要求書中所述的本發(fā)明的范圍。以上結合本發(fā)明的具體實施例做了詳細描述,但并非是對本發(fā)明的限制。凡是依據(jù)本發(fā)明的技術實質對以上實施例所做的任何簡單修改,均仍屬于本發(fā)明技術方案的范圍。
權利要求
1.ー種Flash P2P避開安全沙箱的方法,其特征在于,所述方法包括如下步驟 a)每個Peer節(jié)點預先與RTMFP服務器建立連接,并在所述FTMFP服務器上注冊自身內網地址; b)所述每個Peer節(jié)點向Gather服務器注冊所述已發(fā)布的信息流和自身的節(jié)點信息; c)姆個Peer節(jié)點需要與另外的Peer節(jié)點進行數(shù)據(jù)傳輸時,所述姆個Peer節(jié)點需要預先在所述Gather服務器中查詢所述另外的Peer節(jié)點已發(fā)布的信息流和所述另外的Peer節(jié)點的相關信息; d)所述每個Peer節(jié)點經由所述RTMFP服務器與所述另外的Peer節(jié)點進行內網穿越,然后繼續(xù)進行所述每個Peer節(jié)點和所述另外的Peer節(jié)點間的數(shù)據(jù)傳輸。
2.一種如權利要求I所述的Flash P2P避開安全沙箱的方法,其特征在于,所述每個Peer節(jié)點預先向RTMFP服務器建立連接并注冊包括如下步驟 1)所述姆個Peer節(jié)點通過Handshake報文,與所述RTMFP服務器進行鑒權認證; 2)通過所述鑒權認證后,所述每個Peer節(jié)點通過Connect報文與所述RTMFP服務器進行連接; 3)所述姆個Peer節(jié)點通過setPeerlnfo報文向所述RTMFP服務器注冊 自身的內網IP地址; 4)所述每個Peer節(jié)點通過Ping報文向所述RTMFP服務器維持?;顮顟B(tài)。
3.—種如權利要求I所述的Flash P2P避開安全沙箱的方法,其特征在于,所述每個Peer節(jié)點向Gather服務器注冊所述已發(fā)布的信息流和自身的節(jié)點信息包括如下步驟1)所述姆個Peer節(jié)點通過QueryServer報文請求所述Gather服務器的IP地址; 2)所述姆個Peer節(jié)點通過Register報文向所述Gather服務器注塒; 3)所述姆個Peer節(jié)點通過QueryPeers報文,查詢在所述Gather服務器中存儲的處于同一群組內的其他Peer節(jié)點; 4)所述姆個Peer節(jié)點通過QueryExplore報文,查詢向自己發(fā)布所述信息流的其他Peer節(jié)點; 5)所述姆個Peer節(jié)點通過QueryStream報文,查詢自己向所述其他Peer節(jié)點發(fā)布的ィ目息流; 6)所述姆個Peer節(jié)點通過PublishStream報文,向所述Gather服務器注冊 自己的所述發(fā)布的流; 7)所述姆個Peer節(jié)點通過HeartBeat報文向所述Gather服務器維持?;顮顟B(tài)。
4.一種如權利要求3所述的Flash P2P避開安全沙箱的方法,其特征在于,所述每個Peer節(jié)點通過所述Gather服務器的IP地址訪問所述Gather服務器。
5.一種如權利要求3所述的Flash P2P避開安全沙箱的方法,其特征在于,與所述每個Peer節(jié)點當前播放的視頻信息相同的Peer節(jié)點被劃在所述同一群組內。
全文摘要
本發(fā)明提供一種Flash P2P避開安全沙箱的方法。所述方法包括每個Peer節(jié)點預先向RTMFP服務器發(fā)布信息流;所述每個Peer節(jié)點向Gather服務器注冊所述已發(fā)布的信息流和自身的節(jié)點信息;每個Peer節(jié)點需要與另外的Peer節(jié)點進行數(shù)據(jù)傳輸時,所述每個Peer節(jié)點需要預先在所述Gather服務器中查詢所述另外的Peer節(jié)點已發(fā)布的信息流和所述另外的Peer節(jié)點的相關信息;所述每個Peer節(jié)點經由所述RTMFP服務器與所述另外的Peer節(jié)點進行內網穿越,然后繼續(xù)進行所述每個Peer節(jié)點和所述另外的Peer節(jié)點間的數(shù)據(jù)傳輸。與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于既能避開Adobe安全沙箱機制,不彈出警告窗口,又能正常進行P2P數(shù)據(jù)分享。
文檔編號H04L29/06GK102821107SQ20121030317
公開日2012年12月12日 申請日期2012年8月24日 優(yōu)先權日2012年8月24日
發(fā)明者李茗, 邵長松, 石志杰, 趙瑞前, 張海, 李卓, 李婷, 王世友 申請人:樂視網信息技術(北京)股份有限公司