Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7828483B2 - ストリームデータ処理方法及びシステム - Google Patents
[go: Go Back, main page]

JP7828483B2 - ストリームデータ処理方法及びシステム - Google Patents

ストリームデータ処理方法及びシステム

Info

Publication number
JP7828483B2
JP7828483B2 JP2024570830A JP2024570830A JP7828483B2 JP 7828483 B2 JP7828483 B2 JP 7828483B2 JP 2024570830 A JP2024570830 A JP 2024570830A JP 2024570830 A JP2024570830 A JP 2024570830A JP 7828483 B2 JP7828483 B2 JP 7828483B2
Authority
JP
Japan
Prior art keywords
data
buffer
stream
thread
code stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2024570830A
Other languages
English (en)
Other versions
JP2025518249A (ja
Inventor
俊 江 陳
英 哲 塗
勝 文 張
勇 陳
建 盧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Publication of JP2025518249A publication Critical patent/JP2025518249A/ja
Application granted granted Critical
Publication of JP7828483B2 publication Critical patent/JP7828483B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明の実施例はストリームデータ処理分野に関し、具体的に、ストリームデータ処理方法及びシステムに関する。
現在、第5世代移動通信技術(5G)は徐々に商用時代に入りつつあり、世界のオーディオ・ビデオ業界に大きな影響及び変化をもたらし、ビデオ会議、ビデオIOT、ビデオプラットフォームなどの製品及び業務にサービスを提供するストリームシステムも情報伝搬の重要な仕組みとなっている。5Gによる速度に対する量的変化は、業界全体の質的な変化を促し、ストリームシステムの発展を加速させることに寄与する。
一般的に、業界内のストリームシステムは、ライブ配信、録画、再生などを主な機能として、その受信及び転送性能は、ストリームシステムの良否を評価する重要な指標となっている。現在、業界の受信及び転送速度は2Gbpsに達することができるが、さらなる向上は困難であり、同時実行(High Concurrency)且つ大流量(High Traffic)の場合、その処理能力は極めて大きく制限される。例えば、パケットを受信する速度が十分ではない場合、システムレベルの損失を引き起こし、例えば、パケットを転送して処理する速度が十分ではない場合、アプリケーションレベルの損失を引き起こし、ストリームシステムの受信及び転送性能は、その発展を制限する重要なボルトネックになっている。
本発明の実施例は、従来技術において、大流量の場合、ストリームデータの受信及び処理転送によるリンクデータのパケットロスという問題を少なくとも解決するストリームデータ処理方法及びシステムを提供する。
本発明の1つの実施例によれば、ストリームデータの処理方法を提供し、コードストリームデータ及びメッセージシグナリングを異なるファイルディスクリプタに従って同一のスレッドタスクチャネルに統合し、且つシステムバッファにキャッシュすることと、パケット受信スレッドは前記システムバッファから前記コードストリームデータを取得し、且つストリーム内部のバッファに記憶することと、異なるタイプの業務スレッドは前記ストリーム内部のバッファから前記コードストリームデータを読み取ることとを含む。
本発明の別の実施例によれば、ストリームデータの処理システムを提供し、コードストリームデータ及びメッセージシグナリングを異なるファイルディスクリプタに従って同一のスレッドタスクチャネルに統合し、且つシステムバッファにキャッシュするように設置されるデータ処理モジュールと、前記システムバッファから前記コードストリームデータを取得し、ストリーム内部のバッファに記憶するように設置されるデータ取得モジュールと、業務スレッドの異なるタイプに基づいて、前記ストリーム内部のバッファから前記コードストリームデータを読み取るように設置されるデータ読み取りモジュールとを含む。
本発明のまた別の1つの実施例によれば、動作時に上記のいずれか1項の方法実施例におけるステップを実行するように設置されるコンピュータプログラムが記憶されるコンピュータ読み取り可能な記憶媒体をさらに提供する。
本発明のまた別の1つの実施例によれば、コンピュータプログラムが記憶されるメモリと、前記コンピュータプログラムを動作して上記のいずれか1項の方法実施例におけるステップを実行するように設置されるプロセッサとを含む電子装置をさらに提供する。
本発明の実施例のストリームデータ処理方法の携帯端末のハードウェア構造ブロック図である。 本発明の実施例によるストリームデータ処理方法の動作ネットワークスケルトン図である。 本発明の実施例によるストリームデータ処理方法のフローチャートである。 本発明の実施例による業務スレッドがコードストリームデータを読み取るフローチャートである。 本発明の実施例によるストリームデータ処理方法のフローチャートである。 本発明の実施例によるストリームデータ処理システムの構造ブロック図である。 本発明の実施例によるデータ処理モジュールの構造ブロック図である。 本発明の実施例によるデータ読み取りモジュールの構造ブロック図である。 本発明の実施例によるストリームデータ処理システムの構造ブロック図である。 本発明のシーン実施例によるストリームデータ処理のフローチャートである。 本発明のシーン実施例によるスレッド管理機構の模式図である。 本発明のシーン実施例によるパケット受信スレッドが縦横方向によるパケット取得技術を採用する原理の模式図である。 本発明のシーン実施例による業務スレッドが生産者と消費者を融合する技術原理の模式図である。
以下、図面を参照し且つ実施例を結び付けて本発明の実施例を詳しく説明する。
なお、本発明の明細書、特許請求の範囲及び上記の図面における用語である「第1」、「第2」などは類似の対象を区別するために用いられ、特定の順序又は前後順を記述するために用いられる必要がない。
本願の実施例による方法実施例は、携帯端末、コンピュータ端末又は類似の演算装置において実行されることができる。携帯端末上で動作される場合を例として、図1は、本発明の実施例のストリームデータ処理方法の携帯端末のハードウェア構造ブロック図である。図1に示すように、携帯端末は1つ又は複数の(図1では1つのみを示す)プロセッサ102(プロセッサ102は、マイクロプロセッサMCU又はプログラマブル論理デバイスFPGAなどの処理装置を含んでもよいが、それらに限らない)と、データを記憶するためのメモリ104とを含み、ここで、上記携帯端末は、通信機能に用いられる伝送機器106と、入出力機器108とをさらに含んでもよい。当業者であれば理解できるように、図1に示す構造は単に模式的なものに過ぎず、上記携帯端末の構造を限定するものではない。例えば、携帯端末は、図1に示すものよりも多く又は少ないコンポーネントをさらに含んでもよく、又は図1に示すものと異なる配置を有してもよい。
メモリ104は、コンピュータプログラム、例えば、アプリケーションソフトウェアのソフトウェアプログラム及びモジュール、本発明の実施例におけるストリームデータ処理方法に対応するコンピュータプログラムを記憶するために用いられることができ、プロセッサ102は、メモリ104内に記憶されるコンピュータプログラムを動作することにより、様々な機能アプリ及びデータ処理を実行し、即ち上記の方法を実現する。メモリ104は、高速ランダムメモリを含んでもよく、不揮発性メモリ、例えば、1つ又は複数の磁気記憶装置、フラッシュメモリ、又は他の不揮発性固体メモリをさらに含んでもよい。いくつかの実施例では、メモリ104は、プロセッサ102に対して遠隔に設置されるメモリをさらに含んでもよく、これらのリモートメモリはネットワークを介して携帯端末に接続されてもよい。上記ネットワークの実施例は、インターネット、イントラネット、ローカルネットワーク、移動通信網及びその組み合わせを含むが、それらに限らない。
伝送機器106は、1つのネットワークを介してデータを受信又は送信するために用いられる。上記のネットワークの具体的な実施例は、携帯端末の通信サプライヤによって提供される無線ネットワークを含んでもよい。1つの実施例では、伝送機器106は1つのネットワークアダプタ(Network Interface Controller、NICと略称される)を含み、それは基地局によって他のネットワーク機器に繋がってインタネットと通信することができる。1つの実施例では、伝送機器106は高周波(Radio Frequency、RFと略称される)モジュールであってもよく、無線方式によってインタネットと通信するために用いられる。
本願の実施例は、図2に示すネットワークアーキテクチャーに動作されてもよく、図2に示すように、当該ネットワークアーキテクチャーはサーバに動作され、当該サーバは物理マシンであってもよく、仮想マシンであってもよく、さらに、Dockerコンテナ化環境であってもよい。当該ネットワークアーキテクチャーは、カーネル空間及びユーザ空間という2つの部分に分けられ、ここで、カーネル空間とは、オペレーティングシステム及び駆動プログラムが動作する環境を指す。コードストリームデータがサーバに入ると、先ずカーネル空間に入る。ユーザ空間とは、ストリームが動作する環境を指し、ストリームはコードストリームデータをカーネル空間からユーザ空間に持ち出す。カーネル空間とユーザ空間との間はSocket Bufferシステムバッファであり、システムバッファは、コードストリームデータをカーネル空間からユーザ空間に遷移する時の一時バッファを実現するために用いられる。ユーザ空間に、ストリームの各機能モジュール、例えば、パケット受信スレッドRECEIVE、ストリーム内部のバッファrBuffer、録画スレッドRECORD、記憶IOバッファIO Buffer、ライブ配信スレッドPLAYが含まれる。
本実施例では、上記携帯端末又はネットワークアーキテクチャーに動作されるストリームデータ処理方法を提供し、図3は、本発明の実施例によるストリームデータ処理方法のフローチャートであり、図3に示すように、当該フローは、
コードストリームデータ及びメッセージシグナリングを異なるファイルディスクリプタに従って同一のスレッドタスクチャネルに統合し、且つシステムバッファにキャッシュするステップS302と、
パケット受信スレッドは前記システムバッファから前記コードストリームデータを取得し、且つストリーム内部のバッファに記憶するステップS304と、
異なるタイプの業務スレッドは前記ストリーム内部のバッファから前記コードストリームデータを読み取るステップS306とを含む。
上記ステップによって、コードストリームデータ及びメッセージシグナリングを異なるファイルディスクリプタに従って同一のスレッドタスクチャネルに統合し、且つシステムバッファにキャッシュすることにより、ストリームデータの受信の性能を向上させ、パケット受信スレッドによって前記システムバッファから前記コードストリームデータを取得し、且つストリーム内部のバッファに記憶し、異なるタイプの業務スレッドが前記ストリーム内部のバッファから前記コードストリームデータを読み取ることにより、ストリームデータの処理転送性能を向上させ、ストリームデータの受信及び転送の速度を向上させる効果を達成する。
ここで、上記ステップの実行主体は、基地局、端末などであってもよいが、それらに限らない。
1つの例示的な実施例では、前記コードストリームデータ及び前記メッセージシグナリングは、前記同一のスレッドタスクチャネルにおいてそれぞれソケットファイルディスクリプタ及び名前付きパイプファイルディスクリプタによって区別される。
1つの例示的な実施例では、前記パケット受信スレッドは前記システムバッファから前記コードストリームデータを取得することは、前記コードストリームデータのパケット構造体はポインタを用いて伝達され、前記パケット受信スレッドは非同期IOイベントトリガを用いて前記システムバッファから前記コードストリームデータを取得し、且つ前記コードストリームデータの流量の大きさに基づいて、パケット取得数及び最大イベント数を調整することを含む。
1つの例示的な実施例では、前記パケット受信スレッドは前記システムバッファから前記コードストリームデータを取得することは、マルチパケット受信スレッドを採用して前記システムバッファから前記コードストリームデータを取得し、且つマルチコアCPUのうちの所定のCPUに送信して処理され、且つ前記パケット受信スレッドの優先度を向上させることをさらに含む。
1つの例示的な実施例では、前記異なるタイプの業務スレッドは前記ストリーム内部のバッファから前記コードストリームデータを読み取ることは、前記パケット受信スレッド及び業務スレッドはストリーム内部のバッファを中心として、生産者/消費者モードを用いて前記コードストリームデータのパケットを伝達し、ここで、前記パケット受信スレッドは生産者であり、前記業務スレッドは消費者であることを含む。
1つの例示的な実施例では、図4は、本発明の実施例による業務スレッドがコードストリームデータを読み取るフローチャートであり、図4に示すように、前記異なるタイプの業務スレッドは前記ストリーム内部のバッファから前記コードストリームデータを読み取ることは、
前記異なるタイプの業務スレッドを同一の前記パケット受信スレッド及びCPUに融合して処理するステップS402と、
前記異なるタイプの業務スレッドのタスク数に基づいて、負荷の最も小さい前記パケット受信スレッドを選択して処理するステップS404とをさらに含む。
1つの例示的な実施例では、前記ストリーム内部のバッファは、環形状のリソースプールである。
1つの例示的な実施例では、図5は、本発明の実施例によるストリームデータ処理方法のフローチャートであり、図5に示すように、前記異なるタイプの業務スレッドが前記ストリーム内部のバッファから前記コードストリームデータを読み取った後、前記異なるタイプの業務スレッドは前記コードストリームデータを記憶機器に記憶しデータを永続化記憶させることをさらに含み、即ち、当該フローは、
コードストリームデータ及びメッセージシグナリングを異なるファイルディスクリプタに従って同一のスレッドタスクチャネルに統合し、且つシステムバッファにキャッシュするステップS502と、
パケット受信スレッドは前記システムバッファから前記コードストリームデータを取得し、且つストリーム内部のバッファに記憶するステップS504と、
異なるタイプの業務スレッドは前記ストリーム内部のバッファから前記コードストリームデータを読み取るステップS506と、
前記異なるタイプの業務スレッドは前記コードストリームデータを記憶機器に記憶しデータを永続化記憶させるステップS508とを含む。
以上の実施の形態の記述によれば、当業者は、上記実施例による方法がソフトウェア及び必須となる汎用ハードウェアプラットフォームという方式によって実現されることができ、もちろん、ハードウェアによって実現されることができるが、多くの場合、前者がより好ましい実施の形態であることを明確に把握することができる。このような理解を踏まえ、本発明の技術案は、本質的に又は従来技術に対して貢献する部分は、ソフトウェア製品の形式で反映することができ、当該コンピュータソフトウェア製品は1つの記憶媒体(例えば、ROM/RAM、磁気ディスク、光ディスク)に記憶され、1台の端末機器(携帯電話機、コンピュータ、サーバ、又はネットワーク機器などであってもよい)に本発明の各実施例に記載の方法を実行させるための複数の指令を含む。
本実施例では、ストリームデータ処理システムをさらに提供し、当該システムは上記実施例及び好ましい実施の形態を実現するために用いられ、既に説明したものについてこれ以上説明しない。例えば、以下に使用される用語である「モジュール」は、予め設定された機能を実現するソフトウェア及び/又はハードウェアの組み合わせであってもよい。以下の実施例に記述される装置はソフトウェアによって実現されることが好ましいが、ハードウェア、又はソフトウェアとハードウェアとの組み合わせによって実現されることも構想され得る。
図6は、本発明の実施例によるストリームデータ処理システムの構造ブロック図であり、図6に示すように、当該ストリームデータ処理システム60は、コードストリームデータ及びメッセージシグナリングを異なるファイルディスクリプタに従って同一のスレッドタスクチャネルに統合し、且つシステムバッファにキャッシュするように設置されるデータ処理モジュール610と、前記システムバッファから前記コードストリームデータを取得し、且つストリーム内部のバッファに記憶するように設置されるデータ取得モジュール620と、業務スレッドの異なるタイプに基づいて前記ストリーム内部のバッファから前記コードストリームデータを読み取るように設置されるデータ読み取りモジュール630とを含む。
1つの例示的な実施例では、図7は、本発明の実施例によるデータ処理モジュールの構造ブロック図であり、図7に示すように、当該データ処理モジュール70は、図6に示すストリームデータ処理システム60におけるデータ処理モジュール610を2つの部分に分け、それぞれは前記コードストリームデータをソケットファイルディスクリプタに従って前記スレッドタスクチャネルに統合して入るように設置される第1のデータ処理ユニット710と、前記メッセージシグナリングを名前付きパイプファイルディスクリプタに従って前記スレッドタスクチャネルに統合して入るように設置される第2のデータ処理ユニット720である。
当業者であれば分かるように、データの内容によって、実際の実施過程において、データ処理モジュールを複数のデータ処理ユニットとしてさらに分けることができ、ここで制限しない。
1つの例示的な実施例では、図8は、本発明の実施例によるデータ読み取りモジュールの構造ブロック図であり、図8に示すように、当該データ読み取りモジュール80は、図6に示すストリームデータ処理システム60におけるデータ読み取りモジュール630を3つの部分に分け、それぞれは前記コードストリームデータが前記ストリーム内部のバッファに記憶された後、前記業務スレッドの異なるタイプに基づいて直ちに前記ストリーム内部のバッファから前記コードストリームデータを読み取るように設置される第1の読み取りユニット810と、前記コードストリームデータが前記ストリーム内部のバッファに記憶された後、前記業務スレッドの異なるタイプに基づいて前記ストリーム内部のバッファから前記コードストリームデータを同時に読み取るように設置される第2の読み取りユニット820と、前記コードストリームデータが前記ストリーム内部のバッファに記憶された後、前記業務スレッドの異なるタイプの需要に基づいて前記ストリーム内部のバッファから前記コードストリームデータを随時に読み取るように設置される第3の読み取りユニット830とを含む。
当業者であれば分かるように、データの内容によって、実際の実施過程において、データ読み取りモジュールを複数のデータ読み取りユニットとしてさらに分けることができ、ここで制限しない。
1つの例示的な実施例では、図9は、本発明の実施例によるストリームデータ処理システムの構造ブロック図であり、図9に示すように、当該ストリームデータ処理システム90は、図6に示す各モジュールを含む以外、前記データ読み取りモジュールによって読み取られた前記コードストリームデータを記憶機器に記憶するように設置されるデータ記憶モジュール910をさらに含む。
当業者であれば分かるように、上記実施例に係る各モジュール、ユニットは一体に組み合わせてもよく、又は必要に応じて一部を組み合わせ、又は1つ又は複数の装置、システムに集中してもよく、対応する機能を実現することができればよい。
なお、上記各モジュールはソフトウェア又はハードウェアによって実現されてもよく、ハードウェアによって実現される場合、上記モジュールはいずれも同じプロセッサに位置し、又は上記各モジュールは任意の組み合わせの形式でそれぞれ異なるプロセッサに位置するという方式によって実現されてもよいが、それらに限らない。
本発明の実施例は、動作時に上記のいずれか1項の方法実施例におけるステップを実行するように設置されるコンピュータプログラムが記憶されるコンピュータ読み取り可能な記憶媒体をさらに提供する。
1つの例示的な実施例では、上記コンピュータ読み取り可能な記憶媒体は、USBディスク、リードオンリメモリ(Read-Only Memory、ROMと略称される)、ランダムアクセスメモリ(Random Access Memory、RAMと略称される)、リムーバブルハードディスク、磁気ディスク又は光ディスクなどのコンピュータプログラムを記憶することができる媒体を含んでもよいが、それらに限らない。
本発明の実施例は、コンピュータプログラムが記憶されるメモリと、コンピュータプログラムを動作して上記のいずれか1項の方法実施例におけるステップを実行するように設置されるプロセッサとを含む電子装置をさらに提供する。
1つの例示的な実施例では、上記電子装置は、上記プロセッサに接続される伝送機器と、上記プロセッサに接続される入出力機器とをさらに含んでもよい。
本実施例における具体的な例は、上記実施例及び例示的な実施の形態において記述される例を参照すればよく、本実施例はここでこれ以上説明しない。
当業者が本発明の技術案をより良く理解するために、以下、具体的なシーン実施例を結び付けて本発明の技術案を説明する。
シーン実施例1
図10は、本発明のシーン実施例によるストリームデータ処理のフローチャートであり、図10に示すように、ストリームデータ伝送モデルを例として、先ず、リンクワイドにスレッド管理機構を確立し、チャネル収束技術を提供し、スレッドを合理的に管理、最適化し、次に、ストリームパケット受信スレッドは、オペレーティングシステムのバッファからパケットを取り出し、縦横方向によるパケット取得技術を提供し、パケット受信段階の性能を向上させ、次に、パケット受信スレッドは、取り出したパケットをストリーム環形状バッファに記憶し、次に、ストリーム業務スレッドは、環形状のバッファからパケットを関連業務にコピーしてデータ処理を行い、生産者と消費者を融合する技術を提供し、データの転送性能を向上させ、最後、データを永続化記憶させる。以下、図10に示す具体的なステップを結び付けて詳しく説明する。
ステップS1002:スレッド管理機構を確立する。
ストリームデータを伝送するリンクワイドにスレッド管理機構を確立し、スレッドを合理的に管理、最適化し、システムジャムを減少させ、伝送性能を向上させる。
図11は、本発明のシーン実施例によるスレッド管理機構の模式図であり、図11に示すように、パケットコードストリーム及びメッセージシグナリングを同一の受信スレッドに統合し処理して統括して管理するが、チャネルに入る時に区別し、シグナリングは名前付きパイプファイルfdを経由し、コードストリームはsocket fdを経由する。ロックによってマルチスレッドアクセスを防止することを避け、情報を管理するコストを減少させ、且つCPUジャム及びコード冗長を減少する。チャネルは、スレッドタスクチャネルである
ステップS1004:パケット受信スレッドは、縦横方向によるパケット取得技術を採用してコードストリームデータを受信する。
メディアデータはストリームモジュールに入る前に、先ず、オペレーティングシステムバッファに到着する。ストリームのパケット受信スレッドRECEIVE、即ち、コードストリームデータの入り口は、システムバッファからコードストリームデータを持ち出し、即ち、データを受信することを担当する必要がある。
当該リンクの性能を向上させるために、縦方向に受信スレッドの最大処理性能を発掘し、横方向にハードウェア及びシステムリソースを十分にスケジューリングし、縦方向及び横方向を結び付けることにより、パケット受信スレッド段階の性能を向上させるために有利である。
図12は、本発明のシーン実施例によるパケット受信スレッドが縦横方向によるパケット取得技術を採用する原理の模式図であり、図12に示すように、縦方向において、パケット構造体はポインタを用いて伝達され、大きなメモリコピーを回避し、パケット受信スレッドRECEIVEは非同期I0イベントトリガを用いて、流量の大きさに基づいてパケット取得数及び最大イベント数を調整し、それによって、単一のスレッドのパケット取得能力を向上させる。
横方向において、受信スレッドの数を増加し、マルチスレッドとシステムマルチコアCPUアフィニティポリシーを採用し、パケット受信スレッドRECEIVEを所定のCPU核に送信して処理し、且つパケット受信スレッドの優先度を向上させ、それによって、システムコアリソースを大きく利用し、優先して速やかに処理する。
ステップS1006:コードストリームデータをストリーム内部のバッファに記憶する。
パケット受信スレッドはデータを取り出した後、パケットをストリーム内部の環形状のバッファrBufferに記憶する。rBufferはリソースプールを使用し、リサイクルのため記憶量を増やす必要がなく、メモリの断片化を回避する。当該モジュールは、パケット受信スレッドRECEIVEによってシステムバッファから取り出されたパケットを一時的にキャッシュすることを担当する。これはパケットに対するバックアップに相当し、その後の異なる業務はデータを同時に読み取ることが容易であり、例えば、RECORD記憶、PLAY転送が容易であり、記憶しながら再生することを実現する。
ステップS1008:業務スレッドは、生産者と消費者を融合する技術を採用してコードストリームデータを処理する。
業務スレッドは論理的にrbufferの後に位置し、様々な業務スレッドはrbufferにおけるデータを同時に読み取り、自体の業務フロー、例えば、RECORDスレッド記憶、PLAYスレッド転送などに用いれることができる。
当該リンクの性能を向上させるために、生産者と消費者モードを利用して、パケット受信スレッドを生産者とし、業務スレッドを消費者とし、且つこれらの作動スレッドを実際に同じスレッドに統合し、rbufferモジュールの性能を向上させるために用いられ、業務スレッドがデータを処理する性能を向上させる。
図13は、本発明のシーン実施例による業務スレッドが生産者と消費者を融合する技術原理の模式図であり、図13に示すように、rbufferを中心点として見なし、パケット受信スレッドRECEIVEを生産者として見なし、業務スレッドRECORD、PLAYなどを消費者として見なし、rBufferによってパケットを生産者RECEIVEスレッドから消費者RECORD、PLAYなどのスレッドに伝達し、当該技術は、非同期スケジューリングの方法によって異なる作動スレッドをデカップリングし、スレッド間の相互影響を減少し、消化時間の遅延を減少させる。
この技術を踏まえ、各抽象的な作動スレッドを作動タスクとして見なし、実際に同じスレッド及びCPUに融合して処理するとともに、タスクを割り当てる時に現在のスレッドのタスクの数に応じて、タスクを負荷の最も小さいスレッドに割り当て、ハードウェアリソースをより十分に利用し、オペレーティングシステムがスレッドを生成し管理する余計な消耗を減少させる。
ステップS1010:コードストリームデータを永続化記憶させる。
当該リンクはコードストリームデータの伝送の末端であり、受信及び転送などの処理を経て、記憶機器に記憶して永続化させる必要がある。図2に示すように、録画スレッドRECORDがrBufferからパケットを読み取った後、先ず、パケットをIO Bufferバッファに書き込み、ファイルがクローズし又はバッファがフルになった時にバッファデータをローカル記憶又は対象記憶に導入し、それによって、I0を読み書く負荷を低減させる。
以上により、本発明の実施例はストリームデータ処理方法及びシステムを提供し、理論上、10ギガビット帯域幅(10Gbps)ではフル帯域幅の速度でデータコードストリームを処理することができる。本発明の実施例はストリームシステムの受信、転送性能を極めて大きく向上させ、オーディオ・ビデオに関連する業界に対してリソース及びコストを大幅に節約することができる。大流量の場合、ストリームデータの受信及び処理転送によるリンクデータのパケットロスという問題に対して、本発明の実施例では、先ず、リンクワイドにスレッド管理機構を確立し、コードストリーム及びシグナリングを同一の受信スレッドに統合し処理して統括管理するが、チャネルに入る時に区別し、ロックによってマルチスレッドアクセスを防止することを避け、スレッド管理を最適化させ、システムジャムを減少することに有利である。即ち、チャネル収束技術を提供し、スレッドを合理的に管理し最適化させる。そして、縦方向において、単一のパケット受信スレッドのパケット取得性能を向上させ、横方向において、コアリソースの利用を大幅に拡大し、システムバッファからコードストリームデータを持ち出し且つストリーム内部のバッファに記憶するように加速することに有利である。即ち、縦横方向によるパケット取得技術を提供し、データの受信段階の性能を向上させる。最後、非同期スケジューリングの方式によって異なる作動スレッドをデカップリングし、スレッド間の相互影響及び消化時間の遅延を減少させ、且つ抽象的なスレッドを実際に同じスレッド及びコアに融合して処理し、スレッドの余計な消耗を減少させ、システムリソースを十分に利用し、内部キャッシュモジュールによるデータ処理を加速させることに有利である。即ち、生産者と消費者を融合する技術を提供しデータ処理段階の性能を向上させる。
本発明の実施例は、ストリーミングデータ処理に基づくオーディオ・ビデオの関連業界、例えばビデオ会議、ビデオIOT、ビデオプラットフォームなどに適用する。具体的に、アクセスリンク数及び流量が膨大な同時実行(High-Concurrency)のシーンに適用することができ、高性能のデータ転送に適用することができ、パケットロスの需要の無い業務などに適用することができる。本発明の実施例のストリームリンクフロー及び分析思想、段階的に性能を最適化させる技術、方案設計などは明らかな特徴を有する。パケットキャプチャ、業務呼び出しチェーントレーシング(Call Chain Tracing)ツールなどの手段によって、本発明の実施例と同様又は同じ目的を実現することは、本発明の保護範囲内に含まれるものとする。
明らかに、当業者であれば分かるように、上記の本発明の各モジュール又は各ステップは、汎用の演算装置によって実現されてもよく、単一の演算装置に集中されてもよく、又は複数の演算装置からなるネットワークに分布してもよく、それらは演算装置に実行可能なプログラムコードによって実現されてもよく、それによって、それらを記憶装置に記憶して演算装置によって実行されてもよく、場合によっては、ここと異なる順序で示され又は記述されるステップを実行してもよく、又はそれらを各集積回路モジュールとしてそれぞれ作成してもよく、又はそれらのうちの複数のモジュール又はステップを単一の集積回路モジュールとして作成して実現してもよい。このように、本発明は、いかなる特定のハードウェアとソフトウェアの組み合わせに制限されない。
以上は、単に本発明の好ましい実施例に過ぎず、本発明を制限するためのものではなく、当業者にとっては、本発明は様々な変更や変化を有することができる。本発明の趣旨を逸脱しない限りなされたいかなる修正、同等置換及び改良などは、いずれも本発明の保護範囲に含まれるものとする。

Claims (15)

  1. ストリームデータ処理方法であって、
    スレッド管理機構がコードストリームデータ及びメッセージシグナリングを異なるファイルディスクリプタに従って同一のスレッドタスクチャネルに統合し、且つ統合した前記コードストリームデータ及び前記メッセージシグナリングをシステムバッファにキャッシュすることと、
    パケット受信スレッドは前記システムバッファから前記コードストリームデータを取得し、且つ取得した前記コードストリームデータをストリーム内部のバッファに記憶することと、
    異なるタイプの業務スレッドは前記ストリーム内部のバッファから前記コードストリームデータを読み取る、方法。
  2. 前記コードストリームデータ及び前記メッセージシグナリングは、前記同一のスレッドタスクチャネルにおいてそれぞれソケットファイルディスクリプタ及び名前付きパイプファイルディスクリプタによって区別される、請求項1に記載の方法。
  3. 前記パケット受信スレッドは前記システムバッファから前記コードストリームデータを取得することは、
    前記コードストリームデータのパケット構造体はポインタを用いて伝達され、前記パケット受信スレッドは非同期IOイベントトリガを用いて前記システムバッファから前記コードストリームデータを取得し、且つ前記コードストリームデータの流量の大きさに基づいて、パケット取得数及び最大イベント数を調整することを含む、請求項1に記載の方法。
  4. 前記パケット受信スレッドは前記システムバッファから前記コードストリームデータを取得することは、
    マルチパケット受信スレッドを採用して前記システムバッファから前記コードストリームデータを取得し、且つ前記コードストリームデータをマルチコアCPUのうちの所定のCPUに送信して処理され、且つ前記パケット受信スレッドの優先度を向上させることをさらに含む、請求項1に記載の方法。
  5. 前記異なるタイプの業務スレッドは前記ストリーム内部のバッファから前記コードストリームデータを読み取ることは、
    前記パケット受信スレッド及び業務スレッドはストリーム内部のバッファを中心として、生産者/消費者モードを用いて前記コードストリームデータのパケットを伝達することであって、ここで、前記パケット受信スレッドは生産者であり、前記業務スレッドは消費者であることを含む、請求項4に記載の方法。
  6. 前記異なるタイプの業務スレッドは前記ストリーム内部のバッファから前記コードストリームデータを読み取ることは、
    前記異なるタイプの業務スレッドを同一の前記パケット受信スレッド及びCPUに融合して処理することと、
    前記異なるタイプの業務スレッドのタスク数に基づいて、複数の前記パケット受信スレッドから、負荷の最も小さい前記パケット受信スレッドを選択して処理することをさらに含む、請求項5に記載の方法。
  7. 前記ストリーム内部のバッファは、環形状のリソースプールである、請求項6に記載の方法。
  8. 前記異なるタイプの業務スレッドが前記ストリーム内部のバッファから前記コードストリームデータを読み取った後、
    前記異なるタイプの業務スレッドは前記コードストリームデータを記憶機器に記憶しデータを永続化記憶させることをさらに含む、請求項1に記載の方法。
  9. ストリームデータ処理システムであって、
    コードストリームデータ及びメッセージシグナリングを異なるファイルディスクリプタに従って同一のスレッドタスクチャネルに統合し、且つ統合した前記コードストリームデータ及び前記メッセージシグナリングをシステムバッファにキャッシュするように設置されるデータ処理モジュールと、
    前記システムバッファから前記コードストリームデータを取得し、且つ取得した前記コードストリームデータをストリーム内部のバッファに記憶するように設置されるデータ取得モジュールと、
    業務スレッドの異なるタイプに基づいて前記ストリーム内部のバッファから前記コードストリームデータを読み取るように設置されるデータ読み取りモジュールとを含む、システム。
  10. 前記データ処理モジュールは、
    前記コードストリームデータをソケットファイルディスクリプタに従って前記スレッドタスクチャネルに統合して入るように設置される第1のデータ処理ユニットと、
    前記メッセージシグナリングを名前付きパイプファイルディスクリプタに従って前記スレッドタスクチャネルに統合して入るように設置される第2のデータ処理ユニットと、のうちの少なくとも1つを含む、請求項9に記載のシステム。
  11. 前記データ読み取りモジュールは、
    前記コードストリームデータが前記ストリーム内部のバッファに記憶された後、前記業務スレッドの異なるタイプに基づいて直ちに前記ストリーム内部のバッファから前記コードストリームデータを読み取るように設置される第1の読み取りユニットと、
    前記コードストリームデータが前記ストリーム内部のバッファに記憶された後、前記業務スレッドの異なるタイプに基づいて前記ストリーム内部のバッファから前記コードストリームデータを同時に読み取るように設置される第2の読み取りユニットと、
    前記コードストリームデータが前記ストリーム内部のバッファに記憶された後、前記業務スレッドの異なるタイプの需要に基づいて前記ストリーム内部のバッファから前記コードストリームデータを随時に読み取るように設置される第3の読み取りユニットと、のうちの少なくとも1つを含む、請求項9に記載のシステム。
  12. 前記データ読み取りモジュールによって読み取られた前記コードストリームデータを記憶機器に記憶するように設置されるデータ記憶モジュールをさらに含む、請求項9に記載のシステム。
  13. プロセッサに実行される時に前記請求項1~8のいずれか1項に記載の方法を実現させる、コンピュータプログラム。
  14. メモリと、プロセッサと、前記メモリに記憶されており且つ前記プロセッサ上で動作可能なコンピュータプログラムとを含み、前記プロセッサは前記コンピュータプログラムを実行する時に、前記請求項1~8のいずれか1項に記載の方法を実現する、電子装置。
  15. 前記ストリーム内部のバッファは、環形状のリソースプールである、請求項9に記載のシステム。
JP2024570830A 2022-06-01 2023-05-09 ストリームデータ処理方法及びシステム Active JP7828483B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202210618490.6 2022-06-01
CN202210618490.6A CN116668415B (zh) 2022-06-01 2022-06-01 流媒体数据处理方法及系统
PCT/CN2023/093058 WO2023231723A1 (zh) 2022-06-01 2023-05-09 流媒体数据处理方法及系统

Publications (2)

Publication Number Publication Date
JP2025518249A JP2025518249A (ja) 2025-06-12
JP7828483B2 true JP7828483B2 (ja) 2026-03-11

Family

ID=87726613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024570830A Active JP7828483B2 (ja) 2022-06-01 2023-05-09 ストリームデータ処理方法及びシステム

Country Status (4)

Country Link
EP (1) EP4525404B1 (ja)
JP (1) JP7828483B2 (ja)
CN (1) CN116668415B (ja)
WO (1) WO2023231723A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116962512B (zh) * 2023-09-20 2024-01-05 北京信安世纪科技股份有限公司 报文处理方法、设备、存储介质和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302372A (zh) 2015-06-12 2017-01-04 中兴通讯股份有限公司 网络媒体流收包方法、装置及系统
CN107731230A (zh) 2017-11-10 2018-02-23 北京联华博创科技有限公司 一种庭审笔录系统及方法
CN112995753A (zh) 2019-12-16 2021-06-18 中兴通讯股份有限公司 一种媒体流分发方法、cdn节点服务器、cdn系统和可读存储介质
CN113553346A (zh) 2021-07-22 2021-10-26 中国电子科技集团公司第十五研究所 大规模实时数据流一体化处理、转发和存储方法及系统
CN113630439A (zh) 2021-06-30 2021-11-09 网宿科技股份有限公司 实时通信rtc连接方法、服务器及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1605354A1 (en) * 2004-06-10 2005-12-14 Deutsche Thomson-Brandt Gmbh Method and apparatus for improved synchronization of a processing unit for multimedia streams in a multithreaded environment
CN108270732B (zh) * 2016-12-30 2019-02-19 视联动力信息技术股份有限公司 一种流媒体处理方法及系统
CN110312157B (zh) * 2019-06-14 2021-09-14 云南兆讯科技有限责任公司 一种基于嵌入式设备的多线程流媒体缓存控制系统
CN112333475A (zh) * 2020-10-29 2021-02-05 京东方科技集团股份有限公司 流媒体数据的处理方法、处理系统和存储服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302372A (zh) 2015-06-12 2017-01-04 中兴通讯股份有限公司 网络媒体流收包方法、装置及系统
CN107731230A (zh) 2017-11-10 2018-02-23 北京联华博创科技有限公司 一种庭审笔录系统及方法
CN112995753A (zh) 2019-12-16 2021-06-18 中兴通讯股份有限公司 一种媒体流分发方法、cdn节点服务器、cdn系统和可读存储介质
CN113630439A (zh) 2021-06-30 2021-11-09 网宿科技股份有限公司 实时通信rtc连接方法、服务器及存储介质
CN113553346A (zh) 2021-07-22 2021-10-26 中国电子科技集团公司第十五研究所 大规模实时数据流一体化处理、转发和存储方法及系统

Also Published As

Publication number Publication date
EP4525404B1 (en) 2026-02-25
CN116668415B (zh) 2025-01-24
EP4525404A1 (en) 2025-03-19
EP4525404A4 (en) 2025-05-28
CN116668415A (zh) 2023-08-29
WO2023231723A1 (zh) 2023-12-07
JP2025518249A (ja) 2025-06-12

Similar Documents

Publication Publication Date Title
US10083177B2 (en) Data caching among interconnected devices
US8997109B2 (en) Apparatus and method for managing data stream distributed parallel processing service
US9774651B2 (en) Method and apparatus for rapid data distribution
CN110427270B (zh) 一种面向rdma网络下分布式连接算子的动态负载均衡方法
CN113285931A (zh) 流媒体的传输方法、流媒体服务器及流媒体系统
CN115499889B (zh) 基于vpp的upf转发面实现方法、装置、系统及相关设备
CN114595043B (zh) 一种io调度方法和装置
CN105657017A (zh) 数据传输方法、装置和系统
CN120196573B (zh) Rdma数据传输方法及网络设备、系统、电子设备
US9002969B2 (en) Distributed multimedia server system, multimedia information distribution method, and computer product
JP7828483B2 (ja) ストリームデータ処理方法及びシステム
CN121217669B (zh) 一种rdma请求报文接收方法及装置
CN117234681A (zh) 数据处理方法、装置、设备、存储介质及程序产品
CN114186163A (zh) 一种应用层网络数据缓存方法
CN113691466B (zh) 一种数据的传输方法、智能网卡、计算设备及存储介质
CN117395307B (zh) 一种数据传输的方法、装置及存储介质
CN119788622A (zh) 一种wqe自适应调度系统及方法
US20250139023A1 (en) ALLOWING NON-VOLATILE MEMORY EXPRESS (NVMe) OVER FABRIC (NVMe-oF) TRAFFIC OVER INTERFACES USING A SCALABLE END POINT (SEP) ADDRESSING MECHANISM
CN112052104A (zh) 基于多机房实现的消息队列的管理方法及电子设备
CN118093225A (zh) 订阅消息的传输方法及装置、存储介质及电子设备
JP2020088517A (ja) 通信装置、通信装置の制御方法およびプログラム
CN119484518B (zh) 数据处理方法、加速芯片、节点、系统及存储介质
CN117856878B (zh) 多源卫星地面数据处理方法、装置、电子设备及存储介质
RU2834599C1 (ru) Способ, устройство, сетевое устройство, носитель информации для передачи данных
Liang et al. Self-adaptive and Topology-aware Broadcast Leveraging Collective Offload on Tianhe Express Interconnect

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260227

R150 Certificate of patent or registration of utility model

Ref document number: 7828483

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150