一種分布式的iptv多屏網(wǎng)關和iptv多屏互動方法
【專利摘要】本發(fā)明提出了一種分布式的互聯(lián)網(wǎng)協(xié)議電視IPTV多屏網(wǎng)關,其特征在于,至少包括:接入服務器,用于根據(jù)一致性哈希算法為機頂盒和終端分配注冊服務器,將與分配給機頂盒的注冊服務器合設的轉(zhuǎn)接服務器分配給機頂盒;至少一個注冊服務器,用于為機頂盒和終端進行注冊;至少一個轉(zhuǎn)接服務器,用于當終端發(fā)起多屏業(yè)務時,為終端和機頂盒轉(zhuǎn)發(fā)互動消息。本發(fā)明還提出了一種與多屏網(wǎng)關相對應的IPTV多屏互動方法。本發(fā)明提出的多屏網(wǎng)關和多屏互動方法采用接入負載均衡機制和注冊服務器的分布式機制,實現(xiàn)了屬于不同網(wǎng)絡平臺的終端和機頂盒之間的消息互動,并且保證了在用戶規(guī)模較大時,對機頂盒和終端的信息和在線狀態(tài)進行有效管理,和高效實現(xiàn)消息互動。
【專利說明】—種分布式的jPTV多屏網(wǎng)關和IPTV多屏互動方法
【技術領域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)協(xié)議電視(Internet Protocol Television,簡稱IPTV)的多屏互動業(yè)務【技術領域】,尤其涉及一種分布式的IPTV多屏網(wǎng)關和IPTV多屏互動方法。
【背景技術】
[0002]隨著各種多屏終端在IPTV系統(tǒng)中的應用,多屏互動業(yè)務逐漸成為一種受家庭用戶歡迎的新型業(yè)務,這就要求IPTV系統(tǒng)能為用戶提供在電視、電腦、手機、PAD等終端上無縫切換的業(yè)務服務,比如為家庭用戶可在電腦屏(PC)、手機屏(Mobile、PAD)、電視屏(STB)上互動的郵箱、視頻互動、互動游戲、甩屏、用手機或PAD遙控STB進行業(yè)務操作等,但是不同終端屬于不同的網(wǎng)絡平臺(比如寬帶網(wǎng)絡與移動網(wǎng)絡),所以在家庭網(wǎng)絡無法進行通訊時,終端間的消息通訊則需要通過多屏網(wǎng)關進行轉(zhuǎn)發(fā),以實現(xiàn)多屏互動業(yè)務,讓用戶可以隨時隨地通過手機、PC、TV平滑靈活地進行業(yè)務切換和業(yè)務共享。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是提出一種分布式的IPTV多屏網(wǎng)關和IPTV多屏互動方法,實現(xiàn)屬于不同網(wǎng)絡平臺的終端和機頂盒之間的消息互動。
[0004]為了達到上述目的,本發(fā)明提出了一種分布式的互聯(lián)網(wǎng)協(xié)議電視IPTV多屏網(wǎng)關,至少包括:
[0005]接入服務器,用于根據(jù)一致性哈希算法為機頂盒和終端分配注冊服務器,將與分配給機頂盒的注冊服務器合設的轉(zhuǎn)接服務器分配給機頂盒;
[0006]至少一個注冊服務器,用于為機頂盒和終端進行注冊;
[0007]至少一個轉(zhuǎn)接服務器,用于當終端發(fā)起多屏業(yè)務時,為終端和機頂盒轉(zhuǎn)發(fā)互動消
肩、O
[0008]優(yōu)選地,所述接入服務器,還用于當機頂盒/終端接收不到分配給機頂盒/終端的注冊服務器在進行?;钸^程中的返回消息時,重新為機頂盒/終端分配注冊服務器;
[0009]所述注冊服務器,還用于為機頂盒和終端進行?;?。
[0010]優(yōu)選地,所述接入服務器,具體用于:
[0011]根據(jù)哈希算法計算各注冊服務器的哈希值;
[0012]根據(jù)機頂盒/終端發(fā)送的所述機頂盒/終端標識符和哈希算法計算機頂盒/終端哈希值;
[0013]分別計算與所述各注冊服務器對應的哈希值與機頂盒/終端哈希值之間的差值,將與最小的差值所對應的注冊服務器分配給機頂盒/終端;用于將與所述分配給機頂盒的注冊服務器合設的轉(zhuǎn)接服務器分配給所述機頂盒。
[0014]優(yōu)選地,所述分配給所述終端的注冊服務器,用于接收來自所述終端的查詢與其綁定的機頂盒列表的消息,并向IPTV業(yè)務平臺發(fā)送所述查詢的消息;接收所述IPTV業(yè)務平臺的返回的機頂盒列表消息;根據(jù)所述機頂盒列表消息中機頂盒的標識符和一致性哈希算法,計算出分配給機頂盒的注冊服務器的IP地址,并向分配給所述機頂盒的注冊服務器查詢所述機頂盒的在線信息,將所述機頂盒的在線信息和所述IP地址添加到機頂盒列表中,并將所述機頂盒列表發(fā)送給所述終端。
[0015]優(yōu)選地,所述分配給機頂盒的轉(zhuǎn)接服務器,具體用于:
[0016]與所述終端之間建立傳輸控制協(xié)議TCP鏈接;
[0017]接收來自所述終端的套接字s0Cks5握手消息;
[0018]接收來自機頂盒的TCP連接,并將機頂盒和對應終端的TCP連接對應關系配對上,給所述終端返回socks5握手成功消息。
[0019]優(yōu)選地,所述分配給機頂盒的注冊服務器,具體用于:
[0020]接收來自所述機頂盒的采用用戶數(shù)據(jù)包協(xié)議UDP發(fā)送的注冊信息;
[0021]獲取所接收的注冊信息的出口 IP地址和端口,并將所述出口 IP地址和端口保存到機頂盒的信息中;
[0022]接收所述分配給機頂盒的轉(zhuǎn)接服務器發(fā)送的協(xié)助建鏈請求消息;
[0023]根據(jù)所述機頂盒的標識符在自身內(nèi)存中的信息中查找所述機頂盒的出口 IP地址和端口,并采用m)P向所述ip地址和端口發(fā)送建鏈請求信息;
[0024]所述分配給機頂盒的轉(zhuǎn)接服務器,用于與所述終端之間建立TCP鏈接;接收所述終端發(fā)送的S0Cks5握手消息;向所述分配給機頂盒的注冊服務器發(fā)送協(xié)助建鏈請求消息;接收所述機頂盒的TCP鏈接,并將該鏈接與所述終端的TCP鏈接對應上。
[0025]本發(fā)明還提出了一種IPTV多屏互動方法,預先將終端登陸賬號和機頂盒進行綁定,該方法包括:
[0026]接入服務器根據(jù)一致性哈希算法為機頂盒和終端分配注冊服務器,將與分配給機頂盒的注冊服務器合設的轉(zhuǎn)接服務器分配給機頂盒;
[0027]機頂盒/終端向所分配的注冊服務器進行注冊;
[0028]當終端發(fā)起多屏業(yè)務時,終端通過所分配給機頂盒的轉(zhuǎn)接服務器和機頂盒進行消
息互動。
[0029]優(yōu)選地,所述機頂盒/終端向所分配的注冊服務器進行注冊后還包括:
[0030]所述分配給機頂盒/終端的注冊服務器對所述機頂盒/終端進行?;?;
[0031 ] 當機頂盒/終端接收不到分配給機頂盒/終端的注冊服務器在進行?;钸^程中的返回消息時,所述接入服務器重新為機頂盒/終端分配注冊服務器。
[0032]優(yōu)選地,所述接入服務器根據(jù)一致性哈希算法為機頂盒和終端分配注冊服務器包括:
[0033]所述接入服務器根據(jù)哈希算法計算各注冊服務器的哈希值;
[0034]所述機頂盒/終端向所述接入服務器發(fā)送包含機頂盒/終端標識符的請求信息;
[0035]所述接入服務器根據(jù)所述機頂盒/終端標識符和哈希算法,計算機/終端頂盒哈希值;
[0036]所述接入服務器分別計算與所述各注冊服務器對應的哈希值與機頂盒/終端哈希值之間的差值,將與最小的差值所對應的注冊服務器分配給機頂盒/終端。
[0037]優(yōu)選地,所述終端發(fā)起多屏業(yè)務包括:
[0038]所述終端向分配給所述終端的注冊服務器發(fā)送查詢消息,查詢與所述終端綁定的機頂盒的信息;
[0039]分配給所述終端的注冊服務器接收到查詢消息后,向IPTV業(yè)務平臺發(fā)送所述查詢消息;
[0040]所述IPTV業(yè)務平臺將與所述終端綁定的機頂盒的相關信息返回給所述分配給終端的注冊服務器,所述分配給終端的注冊服務器根據(jù)返回的相關信息中機頂盒的標識符和一致性哈希算法,計算出分配給機頂盒的注冊服務器的IP地址,并向所述分配給機頂盒的注冊服務器查詢所述機頂盒的在線信息,所述分配給終端的注冊服務器將所述在線信息和所述IP地址添加到機頂盒列表中;
[0041]所述分配給終端的注冊服務器將所述機頂盒列表發(fā)送給所述終端;
[0042]所述用戶在所述機頂盒列表中選擇一個在線的機頂盒發(fā)起多屏業(yè)務。
[0043]優(yōu)選地,所述多屏業(yè)務為跨屏操作、內(nèi)容共享、跨屏遙控或共享推薦。
[0044]優(yōu)選地,所述終端通過所分配給機頂盒的轉(zhuǎn)接服務器和機頂盒進行消息互動包括:
[0045]所述終端與分配給機頂盒的轉(zhuǎn)接服務器之間建立傳輸控制協(xié)議TCP鏈接;
[0046]所述終端向所述分配給機頂盒的轉(zhuǎn)接服務器發(fā)送套接字s0Cks5握手消息;
[0047]所述分配給機頂盒的轉(zhuǎn)接服務器接收所述機頂盒主動建立的TCP鏈接,并找到對應的所述終端的TCP鏈接,建立一一對應的配對關系,向所述終端返回socks5握手成功消息;
[0048]所述終端通過兩個TCP鏈接和所述機頂盒進行消息互動。
[0049]優(yōu)選地,所述終端通過所分配給機頂盒的轉(zhuǎn)接服務器和機頂盒進行消息互動包括:
[0050]所述機頂盒向分配給所述機頂盒的注冊服務器注冊時采用用戶數(shù)據(jù)包協(xié)議UDP向所述分配給機頂盒的注冊服務器發(fā)送注冊信息;所述分配給機頂盒的注冊服務器獲取所接收的注冊信息的出口 IP地址和端口,并將所述出口 IP地址和端口保存到機頂盒的信息中;
[0051]所述終端與分配給機頂盒的轉(zhuǎn)接服務器之間建立TCP鏈接;
[0052]所述終端向所述分配給機頂盒的轉(zhuǎn)接服務器發(fā)送s0Cks5握手消息;
[0053]所述轉(zhuǎn)接服務器向分配給機頂盒的注冊服務器發(fā)送協(xié)助建鏈請求消息;
[0054]所述分配給機頂盒的注冊服務器根據(jù)所述機頂盒的標識符在自身內(nèi)存中的信息中獲取所述機頂盒的出口 IP地址和端口,并采用UDP向所述出口 IP地址和端口發(fā)送建鏈請求信息;
[0055]所述機頂盒收到所述請求信息后與所述分配給機頂盒的轉(zhuǎn)接服務器之間建立TCP鏈接;
[0056]所述分配給機頂盒的轉(zhuǎn)接服務器將所述機頂盒和所述終端的TCP鏈接形成配對關系,向所述終端發(fā)送socks5握手成功消息;
[0057]所述終端通過兩個TCP鏈和所述機頂盒進行消息互動。
[0058]本發(fā)明提出的多屏網(wǎng)關和多屏互動方法采用接入負載均衡機制和注冊服務器的分布式機制,實現(xiàn)了屬于不同網(wǎng)絡平臺的終端和機頂盒之間的消息互動,并且保證了在用戶規(guī)模較大時,對機頂盒和終端的信息和在線狀態(tài)進行有效管理,和高效實現(xiàn)消息互動。[0059]本發(fā)明還通過NAT穿越方法實現(xiàn)了機頂盒通過無線網(wǎng)關接入寬帶網(wǎng)絡時與終端之間的消息互動。
【專利附圖】
【附圖說明】
[0060]下面對本發(fā)明實施例中的附圖進行說明,實施例中的附圖是用于對本發(fā)明的進一步理解,與說明書一起用于解釋本發(fā)明,并不構成對本發(fā)明保護范圍的限制。
[0061]圖1為本發(fā)明提出的分布式的IPTV多屏網(wǎng)關的結構組成圖;
[0062]圖2為本發(fā)明提出的IPTV多屏互動方法的方法流程圖;
[0063]圖3為本發(fā)明實施例中接入服務器為機頂盒分配注冊服務器和轉(zhuǎn)接服務器,為終端分配注冊服務器的方法流程圖;
[0064]圖4為本發(fā)明實施例中終端查詢與其綁定機頂盒列表的流程示意圖;
[0065]圖5為本發(fā)明實施例中終端采用采用s0Cks5標準協(xié)議與機頂盒進行消息互動的方法流程示意圖;
[0066]圖6為本發(fā)明實施例中終端采用采用網(wǎng)絡地址轉(zhuǎn)換NAT穿越與機頂盒進行消息互動的方法流程示意圖。
【具體實施方式】
[0067]為了便于本領域技術人員的理解,下面結合附圖對本發(fā)明作進一步的描述,并不能用來限制本發(fā)明的保護范圍。
[0068]參見圖1,為了實現(xiàn)屬于不同網(wǎng)絡平臺的終端和機頂盒之間的互動,本發(fā)明提出了一種分布式的互聯(lián)網(wǎng)協(xié)議電視IPTV多屏網(wǎng)關,至少包括:
[0069]接入服務器,用于維持終端和機頂盒的接入負載均衡,并根據(jù)一致性哈希算法為機頂盒和分配注冊服務器,將與分配給機頂盒的注冊服務器合設的轉(zhuǎn)接服務器分配給機頂盒;
[0070]為了保證多屏網(wǎng)關的正常運行,接入服務器可采用雙機方式運行,也就是說,接入模塊包括主接入服務器和備接入服務器,主接入服務器與備接入服務器的功能完全一樣,正常情況下,主接入服務器完成接入服務器的所有功能,而備接入服務器處于空閑狀態(tài);當主接入服務器發(fā)生故障時,備接入服務器代替主接入服務器完成接入服務器的所有功能。
[0071]至少一個注冊服務器,用于為機頂盒和終端進行注冊;
[0072]至少一個轉(zhuǎn)接服務器,用于當終端發(fā)起多屏業(yè)務時,為終端和機頂盒轉(zhuǎn)發(fā)互動消
肩、O
[0073]本發(fā)明提出的上述IPTV多屏網(wǎng)關中,接入服務器還具有以下功能:根據(jù)哈希算法計算各注冊服務器的哈希值;根據(jù)來自機頂盒/終端的機頂盒/終端標識符和哈希算法,計算機頂盒/終端哈希值;分別計算與所述各注冊服務器對應的哈希值與機頂盒/終端哈希值之間的差值,將與最小的查找所對應的注冊服務器分配給機頂盒/終端。
[0074]本發(fā)明提出的上述IPTV多屏網(wǎng)關中,分配給終端的注冊服務器,用于接收終端發(fā)送的查詢綁定的機頂盒列表消息,并向IPTV業(yè)務平臺發(fā)送查詢消息;接收IPTV業(yè)務平臺的返回的機頂盒列表消息;根據(jù)返回的機頂盒列表消息中的機頂盒的標識符和一致性哈希算法,計算出分配給機頂盒的注冊服務器的IP地址,向分配給機頂盒的注冊服務器查詢機頂盒的在線信息;將在線信息和IP地址添加到機頂盒列表中,并將機頂盒列表發(fā)送給所述終端。
[0075]本發(fā)明提出的上述IPTV多屏網(wǎng)關中,分配給機頂盒的轉(zhuǎn)接服務器,用于與終端之間建立傳輸控制協(xié)議TCP鏈接;接收終端發(fā)送的套接字s0Cks5握手消息;并接收機頂盒主動建立的TCP鏈接,將機頂盒和終端的兩條TCP鏈接對應關系對應上后,向終端返回socks5握手成功消息。
[0076]本發(fā)明提出的上述IPTV多屏網(wǎng)關中,分配給機頂盒的注冊服務器還具有以下功能:用于接收機頂盒采用用戶數(shù)據(jù)包協(xié)議UDP發(fā)送的注冊信息;獲取所接收的注冊信息的出口 IP地址和端口,并將IP地址和端口保存到機頂盒的信息中;接收分配給機頂盒的轉(zhuǎn)接服務器發(fā)送的協(xié)助建鏈請求消息;根據(jù)機頂盒的標識符在自身內(nèi)存中的信息中獲取機頂盒的出口 IP地址和端口,并采用UDP向IP地址和端口發(fā)送建鏈請求信息;
[0077]分配給機頂盒的轉(zhuǎn)接服務器還具有以下功能:用于與終端之間建立TCP鏈接;接收終端發(fā)送的S0Cks5握手消息;向分配給機頂盒的注冊服務器發(fā)送協(xié)助建鏈請求消息;接收機頂盒主動建立的TCP鏈接,并建立機頂盒和終端之間TCP鏈接的對應關系。
[0078]參見圖2,本發(fā)明還提出了一種IPTV多屏互動方法,預先將終端賬號和機頂盒進行綁定,該方法包括:
[0079]步驟100、接入服務器根據(jù)一致性哈希算法為機頂盒和分配注冊服務器,將與分配給機頂盒的注冊服務器合設的轉(zhuǎn)接服務器分配給機頂盒;
[0080]步驟101、機頂盒/終端向所分配的注冊服務器進行注冊;
[0081]步驟102、當終端發(fā)起多屏業(yè)務時,終端通過所分配給機頂盒的轉(zhuǎn)接服務器和機頂盒進行消息互動。
[0082]步驟100中,當注冊服務器啟動時,注冊服務器會主動和接入服務器建立連接,并上報自身的信息,所上報的信息主要包括注冊服務器的IP地址和監(jiān)聽端口,接入服務器接收到上報的信息后,將注冊服務器的信息保存下來
[0083]步驟100中,轉(zhuǎn)接服務器與注冊服務器相對應,當接入服務器為機頂盒分配注冊服務器時,與注冊服務器合設的轉(zhuǎn)接服務器也同時分配給了機頂盒。
[0084]參見圖3,步驟100中,接入服務器為機頂盒和終端分配注冊服務器和轉(zhuǎn)接服務器的方法包括:
[0085]步驟200、接入服務器根據(jù)一致性哈希算法分別計算與各注冊服務器一一對應的哈希值;
[0086]步驟201、機頂盒/終端向接入服務器發(fā)送包含機頂盒/終端標識符的請求信息;
[0087]步驟202、接入服務器根據(jù)機頂盒/終端標識符和一致性哈希算法,計算機頂盒/終端哈希值;
[0088]步驟203、接入服務器分別計算與各注冊服務器對應的哈希值與機頂盒/終端哈希值之間的差值,將與最小的差值所對應的注冊服務器分配給機頂盒/終端。
[0089]步驟101中,機頂盒和終端在接入到接入服務器后,向所分配的注冊服務器進行注冊,機頂盒注冊時向注冊服務器上報自身的狀態(tài)信息,所上報的狀態(tài)信息包括機頂盒標識符、用戶業(yè)務賬號(即終端控制該機頂盒時用戶在終端中登陸的賬號)、用戶唯一身份令牌(即機頂盒登陸到IPTV業(yè)務平臺后,業(yè)務平臺給機頂盒分配的唯一身份標識符)和機頂盒注冊時間。注冊服務器收到注冊信息后,將上報的消息在自身內(nèi)存中緩存起來。
[0090]步驟101中,機頂盒和終端注冊成功后,會定時向注冊服務器發(fā)送心跳消息,注冊服務器根據(jù)心跳消息對機頂盒或終端進行?;?,注冊服務器在接收到心跳消息后,會更新內(nèi)存中維護的數(shù)據(jù)狀態(tài),也就是說,如果在預設時間內(nèi),注冊服務器沒有收到某個機頂盒或終端的心跳消息,則將該機頂盒或終端置為離線狀態(tài),即維護了機頂盒和終端是否在線的狀態(tài)。
[0091]步驟101中,注冊服務器接收到機頂盒和終端的心跳消息后,會向機頂盒發(fā)送返回消息。當機頂盒多次向所分配的服務器發(fā)送的心跳消息而接收不到返回消息時,機頂盒就認為其歸屬的注冊服務器發(fā)生異常,那么機頂盒重新向接入服務器發(fā)送接入請求信息請求接入,接入服務器接收到請求信息后重新為機頂盒分配正常的注冊服務器,而機頂盒后續(xù)的服務由重新分配的注冊服務器提供。
[0092]參見圖4,步驟102中,終端發(fā)起多屏業(yè)務的方法包括:
[0093]步驟300、終端向注冊服務器發(fā)送查詢消息,查詢與終端綁定的機頂盒的信息;
[0094]步驟301、注冊服務器接收到查詢消息后,向IPTV業(yè)務平臺發(fā)送查詢消息;
[0095]步驟302、IPTV業(yè)務平臺將與終端綁定的機頂盒的相關信息返回給分配給終端的注冊服務器,分配給終端的注冊服務器根據(jù)返回的相關信息中機頂盒的標識符和一致性哈希算法,計算出分配給機頂盒的注冊服務器的IP地址,向分配給機頂盒的注冊服務器查詢機頂盒的在線狀態(tài),將機頂盒的在線狀態(tài)和分配給機頂盒的注冊服務器的IP地址添加到機頂盒列表中;
[0096]本步驟中,機頂盒的相關信息主要是指機頂盒的標識符,分配給終端的注冊服務器采用一致性哈希算法根據(jù)機頂盒的標識符就能夠計算得到分配給機頂盒的注冊服務器,從而向分配給機頂盒的注冊服務器查詢該機頂盒是否在線,分配給機頂盒的注冊服務器將機頂盒的在線狀態(tài)和該注冊服務器的IP地址返回給分配給終端的注冊服務器,分配給終端的注冊服務器將返回信息添加到機頂盒列表中,例如,某一機頂盒不在線,那么該機頂盒在機頂盒列表中顯示為灰度。
[0097]步驟303、分配給終端的注冊服務器將機頂盒列表發(fā)送給終端;
[0098]步驟304、用戶在機頂盒列表中選擇一個在線的機頂盒發(fā)起多屏業(yè)務。
[0099]步驟102中,多屏業(yè)務為跨屏操作、內(nèi)容共享、跨屏遙控或共享推薦。其中,跨屏操作包括播放和訂購,也就是在終端上瀏覽、收藏、搜索節(jié)目和內(nèi)容信息后,通過甩屏功能在機頂盒上進行播放。比如回看、點播、搜索、甩屏、書簽和收藏的同步、錄制計劃的同步等。
[0100]內(nèi)容共享是指可在不同終端上展示其他終端共享的文字、圖片、視頻等。
[0101]共享推薦是指好友或系統(tǒng)推薦,消息推送。
[0102]參見圖5,步驟102中,終端可以采用s0Cks5標準協(xié)議與機頂盒進行消息互動。Socks5標準協(xié)議的交互過程包括:
[0103]步驟400、終端與分配給機頂盒的轉(zhuǎn)接服務器之間建立TCP鏈接;
[0104]步驟401、終端向轉(zhuǎn)接服務器發(fā)送s0Cks5握手消息;
[0105]步驟402、轉(zhuǎn)接服務器接收機頂盒主動建立的TCP鏈接,將機頂盒和終端的TCP鏈接的對應關系配對成功后,向終端返回socks5握手成功消息;
[0106]步驟403、終端通過兩個TCP鏈和機頂盒進行消息互動。[0107]參見圖6,步驟102中,當機頂盒通過無線網(wǎng)關接入到寬帶網(wǎng)絡中時,機頂盒的IP地址是無線網(wǎng)關分配的私網(wǎng)地址,那么,轉(zhuǎn)接服務器就無法直接和機頂盒建TCP鏈,終端頁就無法對機頂盒進行多屏業(yè)務。
[0108]該情況下,終端與機頂盒可采用NAT穿越方法進行消息互動,該方法包括:
[0109]步驟500、機頂盒向注冊服務器注冊時采用UDP向注冊服務器上報自身的狀態(tài)信息;注冊服務器獲取所接收的狀態(tài)信息的出口 IP地址和端口,并將IP地址和端口保存到機頂盒的信息中;
[0110]步驟501、終端與轉(zhuǎn)接服務器之間建立TCP鏈接;
[0111]步驟602、終端向轉(zhuǎn)接服務器發(fā)送s0cks5握手消息;
[0112]步驟503、轉(zhuǎn)接服務器向注冊服務器發(fā)送協(xié)助建鏈請求消息;
[0113]步驟504、注冊服務器根據(jù)機頂盒的標識符在自身內(nèi)存中的信息中獲取機頂盒的ip地址和端口,并采用m)P協(xié)議向該ip地址和端口發(fā)送建鏈請求信息;
[0114]步驟505、機頂盒收到該請求信息后與轉(zhuǎn)接服務器之間建立TCP鏈接;
[0115]步驟506、轉(zhuǎn)接服務器向終端發(fā)送s0Cks5握手成功消息;
[0116]步驟507、終端通過兩個TCP鏈和機頂盒進行消息互動。
[0117]本發(fā)明提出的多屏網(wǎng)關和多屏互動方法采用接入負載均衡機制和注冊服務器的分布式機制,實現(xiàn)了屬于不同網(wǎng)絡平臺的終端和機頂盒之間的消息互動,并且保證了在用戶規(guī)模較大時,對機頂盒和終端的信息和在線狀態(tài)進行有效管理,和高效實現(xiàn)消息互動。
[0118]本發(fā)明還通過NAT穿越方法實現(xiàn)了機頂盒通過無線網(wǎng)關接入寬帶網(wǎng)絡時與終端之間的消息互動。
[0119]需要說明的是,以上所述的實施例僅是為了便于本領域的技術人員理解而已,并不用于限制本發(fā)明的保護范圍,在不脫離本發(fā)明的發(fā)明構思的前提下,本領域技術人員對本發(fā)明所做出的任何顯而易見的替換和改進等均在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1.一種分布式的互聯(lián)網(wǎng)協(xié)議電視IPTV多屏網(wǎng)關,其特征在于,至少包括: 接入服務器,用于根據(jù)一致性哈希算法為機頂盒和終端分配注冊服務器,將與分配給機頂盒的注冊服務器合設的轉(zhuǎn)接服務器分配給機頂盒; 至少一個注冊服務器,用于為機頂盒和終端進行注冊; 至少一個轉(zhuǎn)接服務器,用于當終端發(fā)起多屏業(yè)務時,為終端和機頂盒轉(zhuǎn)發(fā)互動消息。
2.根據(jù)權利要求1所述的分布式的IPTV多屏網(wǎng)關,其特征在于, 所述接入服務器,還用于當機頂盒/終端接收不到分配給機頂盒/終端的注冊服務器在進行?;钸^程中的返回消息時,重新為機頂盒/終端分配注冊服務器; 所述注冊服務器,還用于為機頂盒和終端進行?;?。
3.根據(jù)權利要求1所述的分布式的IPTV多屏網(wǎng)關,其特征在于,所述接入服務器,具體用于: 根據(jù)哈希算法計算各注冊服務器的哈希值; 根據(jù)機頂盒/終端發(fā)送的所述機頂盒/終端標識符和哈希算法計算機頂盒/終端哈希值; 分別計算與所述各注冊服務器對應的哈希值與機頂盒/終端哈希值之間的差值,將與最小的差值所對應的注冊服務器分配給機頂盒/終端;用于將與所述分配給機頂盒的注冊服務器合設的轉(zhuǎn)接服務器分配給所述機頂盒。
4.根據(jù)權利要求1所述的分布式的IPTV多屏網(wǎng)關,其特征在于, 所述分配給所述終端的注冊服務器,用于接收來自所述終端的查詢與其綁定的機頂盒列表的消息,并向IPTV業(yè)務平臺發(fā)送所述查詢的消息;接收所述IPTV業(yè)務平臺的返回的機頂盒列表消息;根據(jù)所述機頂盒列表消息中機頂盒的標識符和一致性哈希算法,計算出分配給機頂盒的注冊服務器的IP地址,并向分配給所述機頂盒的注冊服務器查詢所述機頂盒的在線信息,將所述機頂盒的在線信息和所述IP地址添加到機頂盒列表中,并將所述機頂盒列表發(fā)送給所述終端。
5.根據(jù)權利要求1~4任意一項所述的分布式的IPTV多屏網(wǎng)關,其特征在于,所述分配給機頂盒的轉(zhuǎn)接服務器,具體用于: 與所述終端之間建立傳輸控制協(xié)議TCP鏈接; 接收來自所述終端的套接字socks5握手消息; 接收來自機頂盒的TCP連接,并將機頂盒和對應終端的TCP連接對應關系配對上,給所述終端返回socks5握手成功消息。
6.根據(jù)權利要求1~4任意一項所述的分布式的IPTV多屏網(wǎng)關,其特征在于,所述分配給機頂盒的注冊服務器,具體用于: 接收來自所述機頂盒的采用用戶數(shù)據(jù)包協(xié)議UDP發(fā)送的注冊信息; 獲取所接收的注冊信息的出口 IP地址和端口,并將所述出口 IP地址和端口保存到機頂盒的信息中; 接收所述分配給機頂盒的轉(zhuǎn)接服務器發(fā)送的協(xié)助建鏈請求消息; 根據(jù)所述機頂盒的標識符在自身內(nèi)存中的信息中查找所述機頂盒的出口 IP地址和端口,并采用m)P向所述ip地址和端口發(fā)送建鏈請求信息; 所述分配給機頂盒的轉(zhuǎn)接服務器,用于與所述終端之間建立TCP鏈接;接收所述終端發(fā)送的s0Cks5握手消息;向所述分配給機頂盒的注冊服務器發(fā)送協(xié)助建鏈請求消息;接收所述機頂盒的TCP鏈接,并將該鏈接與所述終端的TCP鏈接對應上。
7.—種IPTV多屏互動方法,其特征在于,預先將終端登陸賬號和機頂盒進行綁定,該方法包括: 接入服務器根據(jù)一致性哈希算法為機頂盒和終端分配注冊服務器,將與分配給機頂盒的注冊服務器合設的轉(zhuǎn)接服務器分配給機頂盒; 機頂盒/終端向所分配的注冊服務器進行注冊; 當終端發(fā)起多屏業(yè)務時,終端通過所分配給機頂盒的轉(zhuǎn)接服務器和機頂盒進行消息互動。
8.根據(jù)權利要求7所述的IPTV多屏互動方法,所述機頂盒/終端向所分配的注冊服務器進行注冊后還包括: 所述分配給機頂盒/終端的注冊服務器對所述機頂盒/終端進行保活; 當機頂盒/終端接收不到分配給機頂盒/終端的注冊服務器在進行保活過程中的返回消息時,所述接入服務器重新為機頂盒/終端分配注冊服務器。
9.根據(jù)權利要求7所述的IPTV多屏互動方法,所述接入服務器根據(jù)一致性哈希算法為機頂盒和終端分配注冊服務器包括: 所述接入服務器根據(jù)哈希算法計算各注冊服務器的哈希值; 所述機頂盒/終端向所述接入服務器發(fā)送`包含機頂盒/終端標識符的請求信息; 所述接入服務器根據(jù)所述機頂盒/終端標識符和哈希算法,計算機/終端頂盒哈希值; 所述接入服務器分別計算與所述各注冊服務器對應的哈希值與機頂盒/終端哈希值之間的差值,將與最小的差值所對應的注冊服務器分配給機頂盒/終端。
10.根據(jù)權利要求7所述的IPTV多屏互動方法,所述終端發(fā)起多屏業(yè)務包括: 所述終端向分配給所述終端的注冊服務器發(fā)送查詢消息,查詢與所述終端綁定的機頂盒的信息; 分配給所述終端的注冊服務器接收到查詢消息后,向IPTV業(yè)務平臺發(fā)送所述查詢消息; 所述IPTV業(yè)務平臺將與所述終端綁定的機頂盒的相關信息返回給所述分配給終端的注冊服務器,所述分配給終端的注冊服務器根據(jù)返回的相關信息中機頂盒的標識符和一致性哈希算法,計算出分配給機頂盒的注冊服務器的IP地址,并向所述分配給機頂盒的注冊服務器查詢所述機頂盒的在線信息,所述分配給終端的注冊服務器將所述在線信息和所述IP地址添加到機頂盒列表中; 所述分配給終端的注冊服務器將所述機頂盒列表發(fā)送給所述終端; 所述用戶在所述機頂盒列表中選擇一個在線的機頂盒發(fā)起多屏業(yè)務。
11.根據(jù)權利要求7~10任意一項所述的IPTV多屏互動方法,所述多屏業(yè)務為跨屏操作、內(nèi)容共享、跨屏遙控或共享推薦。
12.根據(jù)權利要求7~10任意一項所述的IPTV多屏互動方法,所述終端通過所分配給機頂盒的轉(zhuǎn)接服務器和機頂盒進行消息互動包括: 所述終端與分配給機頂盒的轉(zhuǎn)接服務器之間建立傳輸控制協(xié)議TCP鏈接;所述終端向所述分配給機頂盒的轉(zhuǎn)接服務器發(fā)送套接字socks5握手消息; 所述分配給機頂盒的轉(zhuǎn)接服務器接收所述機頂盒主動建立的TCP鏈接,并找到對應的所述終端的TCP鏈接,建立一一對應的配對關系,向所述終端返回S0Cks5握手成功消息;所述終端通過兩個TCP鏈接和所述機頂盒進行消息互動。
13.根據(jù)權利要求7~10任意一項所述的IPTV多屏互動方法,所述終端通過所分配給機頂盒的轉(zhuǎn)接服務器和機頂盒進行消息互動包括: 所述機頂盒向分配給所述機頂盒的注冊服務器注冊時采用用戶數(shù)據(jù)包協(xié)議UDP向所述分配給機頂盒的注冊服務器發(fā)送注冊信息;所述分配給機頂盒的注冊服務器獲取所接收的注冊信息的出口 IP地址和端口,并將所述出口 IP地址和端口保存到機頂盒的信息中;所述終端與分配給機頂盒的轉(zhuǎn)接服務器之間建立TCP鏈接; 所述終端向所述分配給機頂盒的轉(zhuǎn)接服務器發(fā)送socks5握手消息; 所述轉(zhuǎn)接服務器向分配給機頂盒的注冊服務器發(fā)送協(xié)助建鏈請求消息; 所述分配給機頂盒的注冊服務器根據(jù)所述機頂盒的標識符在自身內(nèi)存中的信息中獲取所述機頂盒的出口 IP地址和端口,并采用UDP向所述出口 IP地址和端口發(fā)送建鏈請求信息; 所述機頂盒收到所述請求信息后與所述分配給機頂盒的轉(zhuǎn)接服務器之間建立TCP鏈接; 所述分配給機頂盒的轉(zhuǎn)接服務器將所述機頂盒和所述終端的TCP鏈接形成配對關系,向所述終端發(fā)送socks5握手成功消息; 所述終端通過兩個TCP 鏈和所述機頂盒進行消息互動。
【文檔編號】H04N21/436GK103581740SQ201310514153
【公開日】2014年2月12日 申請日期:2013年10月25日 優(yōu)先權日:2013年10月25日
【發(fā)明者】季健 申請人:中興通訊股份有限公司