TWI813120B - 用於串流資料存取之系統、方法及電腦可讀媒體 - Google Patents
用於串流資料存取之系統、方法及電腦可讀媒體 Download PDFInfo
- Publication number
- TWI813120B TWI813120B TW110149534A TW110149534A TWI813120B TW I813120 B TWI813120 B TW I813120B TW 110149534 A TW110149534 A TW 110149534A TW 110149534 A TW110149534 A TW 110149534A TW I813120 B TWI813120 B TW I813120B
- Authority
- TW
- Taiwan
- Prior art keywords
- streaming data
- cluster group
- kubernetes cluster
- load balancer
- request
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000004044 response Effects 0.000 claims abstract description 18
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000008676 import Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本發明係關於一種用於串流資料存取之系統、方法及電腦可讀媒體。該方法包含傳輸對於串流資料之一TCP請求,獲得含有一識別金鑰之一TCP回應,將對於該串流資料之一UDP請求傳輸至可藉由該識別金鑰定址之一空間,及獲得該串流資料。本發明可確保在實施混合協定時之成功資料存取。
Description
本發明係關於一網際網路上之資料存取且更特定言之,係關於網際網路上之串流資料存取。
在網際網路上之即時資料存取(諸如實況串流資料存取)中,需要將延時保持儘可能低。在低於500毫秒之即時延時的情況下,網頁即時通信(WebRTC)係市場上之最快協定之一者。WebRTC基本上係使用雙向且即時的通信建置。不同於使用傳輸控制協定(TCP)建置之HTTP實況串流(HLS),WebRTC主要係基於使用者資料包協定(UDP)。
根據本發明之一項實施例之一方法係一種藉由一個或複數個電腦執行之用於串流資料存取之方法,且包含:傳輸對於串流資料之一TCP請求,獲得含有一識別金鑰之一TCP回應,將對於該串流資料之一UDP請求傳輸至可藉由該識別金鑰定址之一空間,及獲得該串流資料。
根據本發明之一項實施例之一系統係一種用於串流資料存取之系統,該系統包含一個或複數個處理器且該一個或複數個電腦處理器執行一機器可讀指令以執行:傳輸對於串流資料之一TCP請求,獲得含有一識別金鑰之一TCP回應,將對於該串流資料之一UDP請求傳輸至可藉由該識別金鑰定址之一空間,及獲得該串流資料。
根據本發明之一項實施例之一電腦可讀媒體係一種包含用於串流資料存取之一程式之非暫時性電腦可讀媒體,且該程式引起一個或複數個電腦執行:傳輸對於串流資料之一TCP請求,獲得含有一識別金鑰之一TCP回應,將對於該串流資料之一UDP請求傳輸至可藉由該識別金鑰定址之一空間,及獲得該串流資料。
根據本發明之一項實施例之一方法係一種藉由一個或複數個電腦執行之用於串流資料存取之方法,且包含:獲得對於串流資料之一TCP請求,答覆含有一識別金鑰之一TCP回應,在可藉由該識別金鑰定址之一空間處獲得對於該串流資料之一UDP請求,及傳輸該串流資料。
TCP及UDP係用於經由網際網路發送資料位元或封包之傳送層中之協定。兩個協定使用IP協定,此意味著藉由TCP或UDP發送之一封包將被發送至一IP位址。
TCP係具備內建錯誤恢復及重傳之一連接導向協定。然而,對封包重新排序且確保封包之完整傳送之全部來回通信引入延時。
UDP藉由免除錯誤檢查而傳送一更快資訊串流。將封包直接發送至接收者而無需對其等進行適當地排序或重傳。發送者保持傳輸封包而非等待一成功傳輸之確認,因此,可以一更低延時執行通信。可期望在即時資料存取(諸如實況串流資料存取)中利用UDP。
在一些實施例中,可利用混合協定之一部署,其中首先使用TCP以建置一用戶端與一伺服器之間之連接,且隨後使用UDP以進行資料傳輸。
圖1展示一例示性序列圖表,其繪示使用混合協定進行資料存取之一操作。使用者終端機10 (或用戶端)係一使用者(其可係一觀看者或一直播主)之一裝置。負載平衡器50經組態以將來自一使用者終端機之一請求分佈或引導至一目的地(其可係一伺服器或網際網路上之一伺服器中之一空間)。群聚組(pod) 60係一叢集(其可係(例如)一Kubernetes叢集)中之一伺服器(諸如一拉取邊緣伺服器)之一空間或一虛擬機。起端伺服器70係經組態以儲存待存取資料之一伺服器。
在步驟S100中,使用者終端機10將對於串流資料之一TCP請求傳輸至負載平衡器50。
在步驟S102中,負載平衡器50將TCP請求分佈或引導至群聚組60。
在步驟S104中,群聚組60自其中儲存串流資料之起端伺服器70請求串流資料。
在步驟S106中,起端伺服器70將串流資料匯入至群聚組60。
在步驟S108中,群聚組60將一TCP回應傳輸至使用者終端機10。TCP回應可包含與串流資料相關之一工作階段描述協定(SDP)。
在步驟S110中,使用者終端機10將對於串流資料之一UDP請求傳輸至負載平衡器50。
在步驟S112中,負載平衡器50將UDP請求分佈或引導至群聚組60。
在步驟S114中,群聚組60將自起端伺服器70匯入之串流資料傳輸至使用者終端機10。
應注意,在圖1之部署中僅存在一個群聚組(群聚組60),因此,在步驟112中,負載平衡器50可將UDP請求傳輸至其中匯入串流資料之正確目的地(其係群聚組60)。然而,當在部署中存在一個以上群聚組且利用一混合協定(諸如TCP + UDP)策略時,將存在UDP請求由一負載平衡器發送至錯誤目的地之一風險。
圖2展示另一例示性序列圖表,其繪示使用混合協定進行資料存取之一操作。在圖2之部署中,存在兩個群聚組(群聚組62及群聚組64)。
在步驟S200中,使用者終端機10將對於串流資料之一TCP請求傳輸至負載平衡器50。
在步驟S202中,負載平衡器50將TCP請求分佈或引導至群聚組62。分佈可藉由針對負載平衡器50預定以判定將一請求指派至哪個群聚組之一準則完成。
在步驟S204中,群聚組62自其中儲存串流資料之起端伺服器70請求串流資料。
在步驟S206中,起端伺服器70將串流資料匯入至群聚組62。
在步驟S208中,群聚組62將一TCP回應傳輸至使用者終端機10。TCP回應可包含與串流資料相關之一工作階段描述協定(SDP)。
在步驟S210中,使用者終端機10將對於串流資料之一UDP請求傳輸至負載平衡器50。
在步驟S212中,負載平衡器50應將UDP請求引導至其中匯入經請求串流資料之群聚組62。然而,由於負載平衡器50無法將先前TCP請求及當前UDP請求正確地匹配或同步,故可能無法成功地建置一工作階段黏性(session affinity)。因此,存在將UDP請求發送至其中不存在經請求串流資料之錯誤群聚組之一風險,如圖2中繪示。因此,無法成功地完成資料存取。隨著在部署中實施更多群聚組,失敗率可增加。當併入混合協定時,將一UDP請求發送至錯誤目的地之此問題可發生在各種叢集系統(諸如一Kubernetes叢集系統)中。在一些實施例中,負載平衡器50、群聚組62、群聚組64及起端伺服器70實施於一Kubernetes叢集系統中。
習知地,一使用者終端機亦無法直接存取一叢集內之一群聚組,此係因為使用者不知道關於群聚組之一位置或位址之資訊。習知地,歸因於諸如安全問題之擔心,不存在公開已知或其中一群聚組駐留之一叢集外部之一實體已知之該群聚組之位址資訊。
圖3展示根據本發明之一些實施例之一例示性序列圖表,其繪示使用混合協定進行資料存取之一操作。
在步驟S300中,使用者終端機10將對於串流資料之一TCP請求傳輸至負載平衡器50。
在步驟S302中,負載平衡器50將TCP請求分佈或引導至群聚組62。分佈可藉由針對負載平衡器50預定以判定將一請求指派至哪個群聚組之一準則完成。群聚組62獲得TCP請求。
在步驟S304中,群聚組62自其中儲存串流資料之起端伺服器70請求串流資料。
在步驟S306中,起端伺服器70將串流資料匯入至群聚組62。
在步驟S308中,群聚組62將一TCP回應傳輸或答覆至使用者終端機10。使用者終端機10獲得TCP回應。TCP回應含有群聚組62的或針對群聚組62產生之一識別金鑰。識別金鑰經組態以使其中群聚組62駐留之叢集外部之一實體存取群聚組62。群聚組62可藉由識別金鑰定址。識別金鑰可包含或對應於群聚組62之IP資訊、節點資訊、群聚組資訊或埠資訊。識別金鑰可包含於一SDP中。
在步驟S310中,使用者終端機10藉由識別金鑰將對於串流資料之一UDP請求直接傳輸至群聚組62。
在步驟S312中,群聚組62將串流資料傳輸至使用者終端機10。因此,使用者終端機10成功地獲得串流資料。
在此實施例中,針對一叢集內之一群聚組產生一識別金鑰。在一TCP回應中將識別金鑰傳輸至叢集外部之一使用者終端機。隨後,使用者終端機利用識別金鑰以繞過一負載平衡器且將一UDP請求直接發送至正確群聚組以存取串流資料。圖3中展示之例示性實施例可有效地解決在一混合協定部署中將一UDP請求發送至一錯誤目的地之問題。在一些實施例中,可藉由在一互動式連接能力建置(ICE)資訊(諸如一WebRTC ICE)中包含一對應IP資訊、節點資訊、群聚組資訊或埠資訊而產生識別金鑰。ICE資訊可包含於一TCP回應中。
習知地,若經存取資料非串流資料或實況視訊資料,則若一TCP請求及一後續UDP被發送至不同目的地,其不會引起一錯誤。因此,若經存取資料非串流資料或實況視訊資料,則即使實施混合協定,亦可能不需要產生一空間(諸如一Kubernetes叢集中之一群聚組)之一識別金鑰。
在一些實施例中,可在一使用者終端機與一負載平衡器之間實施一額外伺服器(諸如一CDN伺服器或一捕獲(catch)伺服器)。在一些實施例中,可在一使用者終端機與一群聚組之間實施一額外伺服器(諸如一CDN伺服器或一捕獲伺服器)。
在一些實施例中,可將一使用者終端機視為包括一個或複數個處理器之一系統,其中該一個或複數個處理器執行一機器可讀指令以執行諸如上文描述之資料存取程序之程序。
在一些實施例中,一群聚組、一起端伺服器及/或一負載平衡器屬於提供一串流服務之一系統。在一些實施例中,一群聚組實施於一串流伺服器上。在一些實施例中,一起端伺服器用作一串流伺服器。在一些實施例中,串流服務可藉由在一使用者終端機(諸如一智慧型電話或一平板電腦)上操作之一應用程式存取。
參考圖3,在一些實施例中,在步驟S306中,可不將串流資料自起端伺服器70匯入至群聚組62。代替性地,起端伺服器70可首先在步驟S306中將後設資料傳送至群聚組62且隨後在於群聚組62處接收一UDP請求之後(例如,在步驟S310之後)將串流資料匯入至群聚組62。
圖4展示根據本發明之一些實施例之一通信系統之一示意性組態。
通信系統1可經由一內容提供具有互動之一實況串流服務。此處,術語「內容」係指可在一電腦裝置上播放之一數位內容。換言之,通信系統1使一使用者能夠線上參與與其他使用者之即時互動。通信系統1包含複數個使用者終端機10、一後端伺服器30及一串流伺服器40。使用者終端機10、後端伺服器30及串流伺服器40經由一網路90 (其可係(例如)網際網路)連接。後端伺服器30可係用於同步使用者終端機及/或串流伺服器40之間之互動之一伺服器。在一些實施例中,後端伺服器30可被稱為一應用程式(APP)提供者之伺服器。串流伺服器40係用於處置或提供串流資料或視訊資料之一伺服器。在一些實施例中,後端伺服器30及串流伺服器40可係獨立伺服器。在一些實施例中,後端伺服器30及串流伺服器40可整合成一個伺服器。在一些實施例中,使用者終端機10係用於實況串流之用戶端裝置。在一些實施例中,使用者終端機10可被稱為觀看者、直播主、主持人、播客主、觀眾、聽眾或類似者。使用者終端機10、後端伺服器30及串流伺服器40之各者係一資訊處理裝置之一實例。在一些實施例中,串流可係實況串流或視訊重播。在一些實施例中,串流可係音訊串流及/或視訊串流。在一些實施例中,串流可包含諸如線上購物、脫口秀、選秀節目、娛樂活動、體育賽事、音樂錄影帶、電影、喜劇、音樂會或類似者之內容。
除明確描述之內容之外,本發明中描述之處理及程序亦可由軟體、硬體或此等之任何組合實現。例如,在本說明書中描述之處理及程序可藉由在一媒體(諸如一積體電路、一揮發性記憶體、一非揮發性記憶體、一非暫時性電腦可讀媒體及一磁碟)中實施對應於處理及程序之一邏輯而實現。此外,在本說明書中描述之處理及程序可實施為對應於處理及程序之一電腦程式,且可藉由各種種類之電腦執行。
此外,上文之實施例中描述之系統或方法可整合至儲存於一電腦可讀非暫時性媒體(諸如一固態記憶體裝置、一光碟儲存裝置或一磁碟儲存裝置)中之程式中。替代地,程式可經由網際網路自一伺服器下載且藉由處理器執行。
雖然上文描述本發明之技術內容及特徵,但具有本發明之技術領域之常識者仍可作出許多變化及修改而不違背本發明之教示及揭示內容。因此,本發明之範疇不限於已經揭示之實施例,但包含不違背本發明之另一變化及修改,且係由專利申請案範疇涵蓋之範疇。
1: 通信系統
10: 使用者終端機
30: 後端伺服器
40: 串流伺服器
50: 負載平衡器
60: 群聚組
62: 群聚組
64: 群聚組
70: 起端伺服器
90: 網路
S100: 步驟
S102: 步驟
S104: 步驟
S106: 步驟
S108: 步驟
S110: 步驟
S112: 步驟
S114: 步驟
S200: 步驟
S202: 步驟
S204: 步驟
S206: 步驟
S208: 步驟
S210: 步驟
S212: 步驟
S300: 步驟
S302: 步驟
S304: 步驟
S306: 步驟
S308: 步驟
S310: 步驟
S312: 步驟
圖1展示一例示性序列圖表,其繪示使用混合協定進行資料存取之一操作。
圖2展示一例示性序列圖表,其繪示使用混合協定進行資料存取之一操作。
圖3展示根據本發明之一些實施例之一例示性序列圖表,其繪示使用混合協定進行資料存取之一操作。
圖4展示根據本發明之一些實施例之一通信系統之一示意性組態。
10: 使用者終端機
50: 負載平衡器
62: 群聚組
64: 群聚組
70: 起端伺服器
S300: 步驟
S302: 步驟
S304: 步驟
S306: 步驟
S308: 步驟
S310: 步驟
S312: 步驟
Claims (7)
- 一種用於串流資料存取之方法,其包括:將對於串流資料之一TCP請求傳輸至一負載平衡器;獲得含有一識別金鑰之一TCP回應;繞過該負載平衡器將對於該串流資料之一UDP請求直接傳輸至可藉由該識別金鑰定址之一Kubernetes群聚組(pod);及獲得該串流資料,其中該Kubernetes群聚組及至少另一Kubernetes群聚組經連接在該負載平衡器及一起端伺服器之間,其中在該UDP請求經傳輸至該Kubernetes群聚組之前該串流資料自該起端伺服器經匯入至該Kubernetes群聚組。
- 如請求項1之方法,其中該TCP請求藉由該負載平衡器經引導至該Kubernetes群聚組。
- 如請求項1之方法,其中該識別金鑰經組態以由包含該Kubernetes群聚組的一Kubernetes叢集外部(outside)之一使用者終端機利用以存取該Kubernetes群聚組。
- 如請求項1之方法,其中該識別金鑰包含IP資訊、節點資訊、群聚組資訊或埠資訊。
- 一種用於串流資料存取之系統,其包括一個或複數個處理器,其中該一個或複數個處理器執行一機器可讀指令以執行:將對於串流資料之一TCP請求傳輸至一負載平衡器;獲得含有一識別金鑰之一TCP回應;繞過該負載平衡器將對於該串流資料之一UDP請求直接傳輸至可藉由該識別金鑰定址之一Kubernetes群聚組;及獲得該串流資料,其中該Kubernetes群聚組及至少另一Kubernetes群聚組經連接在該負載平衡器及一起端伺服器之間,其中在該UDP請求經傳輸至該Kubernetes群聚組之前該串流資料自該起端伺服器經匯入至該Kubernetes群聚組。
- 一種非暫時性電腦可讀媒體,其包含用於串流資料存取之一程式,其中該程式引起一個或複數個電腦執行:將對於串流資料之一TCP請求傳輸至一負載平衡器;獲得含有一識別金鑰之一TCP回應;繞過該負載平衡器將對於該串流資料之一UDP請求直接傳輸至可藉由該識別金鑰定址之一Kubernetes群聚組;及獲得該串流資料,其中該Kubernetes群聚組及至少另一Kubernetes群聚組經連接在該負載平衡器及一起端伺服器之間,其中在該UDP請求經傳輸至該Kubernetes群聚組之前該串流資料自該起端伺服器經匯入至該Kubernetes群聚組。
- 一種藉由一Kubernetes群聚組執行之串流資料存取之方法,其包括:自一負載平衡器獲得對於串流資料之一TCP請求;自一起端伺服器獲得該串流資料;產生對於該Kubernetes群聚組之一識別金鑰將含有該識別金鑰之一TCP回應傳輸至一使用者終端機;繞過該負載平衡器自該使用者終端機直接獲得對於該串流資料之一UDP請求;及將該串流資料傳輸至該使用者終端機,其中該Kubernetes群聚組及至少另一Kubernetes群聚組經連接在該負載平衡器及一起端伺服器之間,其中在該UDP請求經傳輸至該Kubernetes群聚組之前該串流資料自該起端伺服器經匯入至該Kubernetes群聚組。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110149534A TWI813120B (zh) | 2021-12-30 | 2021-12-30 | 用於串流資料存取之系統、方法及電腦可讀媒體 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110149534A TWI813120B (zh) | 2021-12-30 | 2021-12-30 | 用於串流資料存取之系統、方法及電腦可讀媒體 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202327370A TW202327370A (zh) | 2023-07-01 |
TWI813120B true TWI813120B (zh) | 2023-08-21 |
Family
ID=88147779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110149534A TWI813120B (zh) | 2021-12-30 | 2021-12-30 | 用於串流資料存取之系統、方法及電腦可讀媒體 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI813120B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190238897A1 (en) * | 2016-10-13 | 2019-08-01 | Huawei Technologies Co., Ltd. | Live video transmission method and system, and apparatus |
US20200028899A1 (en) * | 2017-03-31 | 2020-01-23 | Huawei Technologies Co., Ltd. | Load Balancing System, Method, and Apparatus |
-
2021
- 2021-12-30 TW TW110149534A patent/TWI813120B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190238897A1 (en) * | 2016-10-13 | 2019-08-01 | Huawei Technologies Co., Ltd. | Live video transmission method and system, and apparatus |
US20200028899A1 (en) * | 2017-03-31 | 2020-01-23 | Huawei Technologies Co., Ltd. | Load Balancing System, Method, and Apparatus |
Also Published As
Publication number | Publication date |
---|---|
TW202327370A (zh) | 2023-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7447775B1 (en) | Methods and apparatus for supporting transmission of streaming data | |
JP5746688B2 (ja) | ユニキャストクライアント要求をマルチキャストクライアント要求に変換するためのシステムおよび方法 | |
US10171534B2 (en) | Placeshifting of adaptive media streams | |
US9300733B2 (en) | System and/or method for client-driven server load distribution | |
US8046432B2 (en) | Network caching for multiple contemporaneous requests | |
RU2647654C2 (ru) | Система и способ доставки аудиовизуального контента в клиентское устройство | |
WO2003038633A1 (en) | System, method, and data structure for multimedia communications | |
WO2011032431A1 (zh) | Http的媒体传输方法及装置 | |
CN105828046B (zh) | 一种数据流的传输方法和装置 | |
CN113287283A (zh) | 用于视听直播内容递送的方法和系统 | |
WO2018034172A1 (ja) | 情報処理装置、クライアント装置、及び、データ処理方法 | |
US8443057B1 (en) | System, method, and/or apparatus for establishing peer-to-peer communication | |
TWI813120B (zh) | 用於串流資料存取之系統、方法及電腦可讀媒體 | |
CN115665500A (zh) | 调度处理方法、装置、设备及存储介质 | |
JP7466881B2 (ja) | ストリーミングデータアクセスのためのシステム、方法、及びコンピュータ可読媒体 | |
Hammershøj et al. | The Next-Generation Television Broadcasting Test Platform in Copenhagen | |
KR20110000593A (ko) | 멀티캐스트 스트림을 이용하여 주문형 스트리밍 콘텐츠의 제공을 촉진하기 위한 방법 및 장치 | |
US11985115B2 (en) | Secure media streaming communication via user datagram protocol | |
US20240163321A1 (en) | Systems and methods for multicasting live content | |
US20230231895A1 (en) | System and method for accessing streaming data | |
US20230247110A1 (en) | Method for controlling access to content implemented by a cache server | |
US11234032B2 (en) | Method of managing the right of access to a digital content |