JP2023547256A - データダウンロード方法、装置、及びコンピュータ機器 - Google Patents

データダウンロード方法、装置、及びコンピュータ機器 Download PDF

Info

Publication number
JP2023547256A
JP2023547256A JP2023526436A JP2023526436A JP2023547256A JP 2023547256 A JP2023547256 A JP 2023547256A JP 2023526436 A JP2023526436 A JP 2023526436A JP 2023526436 A JP2023526436 A JP 2023526436A JP 2023547256 A JP2023547256 A JP 2023547256A
Authority
JP
Japan
Prior art keywords
target
fog node
data
slice
communication protocol
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.)
Pending
Application number
JP2023526436A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of JP2023547256A publication Critical patent/JP2023547256A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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
    • 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/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • 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/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

データダウンロード方法であって、コンピュータ機器により実行される。前記方法は、目標データに対するデータダウンロード要求を取得したときに、目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせるステップであって、フォグノード情報は、少なくともフォグノードの通信プロトコルタイプを含む、ステップと、フォグノード情報に基づき、少なくとも1つのフォグノードの中から目標フォグノードを決定するステップと、目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得するステップと、ダウンロード対象のスライスデータのスライス情報に基づき、ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップと、各目標フォグノードがそれぞれ相応なスライスダウンロード要求に応答して返信したスライスデータに基づいて、組み合わせて目標データを獲得するステップと、を含む。

Description

本願は、コンピュータの技術分野に関し、特にデータダウンロード方法、装置、コンピュータ機器、及び記憶媒体に関する。
本願は、2021年5月17日に中国特許庁に提出された、出願番号が第2021105316392号であり、発明の名称が「データダウンロード方法、装置、コンピュータ機器、及び記憶媒体」である中国特許出願の優先権を主張し、その全部の内容は、引用によって本願に組み込まれている。
様々なビデオメディアプラットフォームの幅広い応用の恩恵を受け、ますます多くのユーザーが、マルチメディアプラットフォームによってマルチメディアを視聴することを選択する。ユーザーがマルチメディアを視聴するときに、マルチメディアプラットフォームは、コンテンツ配信ネットワークの中から相応なマルチメディアリソースをダウンロードし、且つダウンロードして獲得されたマルチメディアデータに基づきマルチメディアを再生することができる。
しかしながら、ネットワーク規模の拡大に伴い、コンテンツ配信ネットワークからマルチメディアデータをダウンロードする速度を確保するために、多くのキャッシュサーバによって十分なネットワーク帯域幅を維持する必要があり、それにより帯域幅のコストが大幅に増加する。現状では、主に、コンテンツ配信ネットワークにおけるエッジ機器によってデータダウンロード負担の一部を分担して、コンテンツ配信ネットワークの帯域幅負担を軽減させている。しかし、異なるエッジ機器は異なる通信プロトコルを採用する可能性があるため、異なる通信プロトコルタイプと適合可能なデータダウンロード方法を必要とする。
本願の各実施例は、データダウンロード方法、装置、コンピュータ機器、記憶媒体、及びコンピュータプログラム製品を提供する。
データダウンロード方法であって、前記方法は、
目標データに対するデータダウンロード要求を取得したときに、前記目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせるステップであって、前記フォグノード情報は、少なくともフォグノードの通信プロトコルタイプを含む、ステップと、
前記フォグノード情報に基づき、前記少なくとも1つのフォグノードの中から目標フォグノードを決定するステップと、
前記目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得するステップと、
前記ダウンロード対象のスライスデータのスライス情報に基づき、前記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップと、
各目標フォグノードがそれぞれ相応なスライスダウンロード要求に応答して返信したスライスデータに基づいて、組み合わせて目標データを獲得するステップと、を含む。
データダウンロード装置であって、前記装置は、
目標データに対するデータダウンロード要求を取得したときに、前記目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせることであって、前記フォグノード情報は、少なくともフォグノードの通信プロトコルタイプを含む、ことと、前記フォグノード情報に基づき、前記少なくとも1つのフォグノードの中から目標フォグノードを決定することと、に用いられる目標ノード決定モジュールと、
前記目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得することに用いられるスライスモジュールと、
前記ダウンロード対象のスライスデータのスライス情報に基づき、前記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信することと、各目標フォグノードがそれぞれ相応なスライスダウンロード要求に応答して返信したスライスデータに基づいて、組み合わせて目標データを獲得することと、に用いられる要求送信モジュールと、を含む。
コンピュータ機器であって、メモリとプロセッサとを含み、前記メモリにコンピュータプログラムが記憶され、前記プロセッサは、前記コンピュータプログラムを実行するときに、
目標データに対するデータダウンロード要求を取得したときに、前記目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせるステップであって、前記フォグノード情報は、少なくともフォグノードの通信プロトコルタイプを含む、ステップと、
前記フォグノード情報に基づき、前記少なくとも1つのフォグノードの中から目標フォグノードを決定するステップと、
前記目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得するステップと、
前記ダウンロード対象のスライスデータのスライス情報に基づき、前記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップと、
各目標フォグノードがそれぞれ相応なスライスダウンロード要求に応答して返信したスライスデータに基づいて、組み合わせて目標データを獲得するステップと、を実現する。
コンピュータ可読記憶媒体であって、それにおいてコンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサにより実行されるときに、
目標データに対するデータダウンロード要求を取得したときに、前記目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせるステップであって、前記フォグノード情報は、少なくともフォグノードの通信プロトコルタイプを含む、ステップと、
前記フォグノード情報に基づき、前記少なくとも1つのフォグノードの中から目標フォグノードを決定するステップと、
前記目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得するステップと、
前記ダウンロード対象のスライスデータのスライス情報に基づき、前記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップと、
各目標フォグノードがそれぞれ相応なスライスダウンロード要求に応答して返信したスライスデータに基づいて、組み合わせて目標データを獲得するステップと、を実現する。
コンピュータプログラム製品、又はコンピュータプログラムであって、該コンピュータプログラム製品、又はコンピュータプログラムは、コンピュータ命令を含み、該コンピュータ命令は、コンピュータ可読記憶媒体に記憶され、コンピュータ機器のプロセッサは、コンピュータ可読記憶媒体から該コンピュータ命令を読み取り、プロセッサは、該コンピュータ命令を実行して、目標データに対するデータダウンロード要求を取得したときに、前記目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせるステップであって、前記フォグノード情報は、少なくともフォグノードの通信プロトコルタイプを含む、ステップと、前記フォグノード情報に基づき、前記少なくとも1つのフォグノードの中から目標フォグノードを決定するステップと、前記目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得するステップと、前記ダウンロード対象のスライスデータのスライス情報に基づき、前記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップと、各目標フォグノードがそれぞれ相応なスライスダウンロード要求に応答して返信したスライスデータに基づいて、組み合わせて目標データを獲得するステップとを、該コンピュータ機器に実行させる。
1つの実施例におけるデータダウンロード方法の応用環境図である。 1つの実施例におけるデータダウンロード方法のフローチャートである。 1つの実施例におけるPCDN SDKに基づき目標データをダウンロードする模式図である。 1つの実施例におけるデータダウンロードのアーキテクチャ模式図である。 1つの実施例におけるスライスデータダウンロードの模式図である。 1つの実施例におけるデータダウンロードのインタラクション模式図である。 1つの具体的な実施例におけるデータダウンロードのフローチャートである。 1つの具体的な実施例におけるデータダウンロードのフローチャートである。 1つの実施例におけるデータダウンロード装置の構造ブロック図である。 1つの実施例におけるデータダウンロード装置の構造ブロック図である。 1つの実施例におけるコンピュータ機器の内部構造図である。
図1は、1つの実施例におけるデータダウンロード方法を記述する応用環境図である。図1に参照されるように、該データダウンロード方法は、データダウンロードシステム100に応用される。該データダウンロードシステム100は、コンピュータ機器102、及びフォグノード104を含む。コンピュータ機器102は、目標データに対するデータダウンロード要求を取得して獲得したときに、コンピュータ機器102は、フォグノード104の中から目標フォグノードを選び出し、且つ目標データに対してスライス処理を行い、スライス情報を獲得することができる。コンピュータ機器102は、目標フォグノードに相応なスライス情報を送信して、目標フォグノードの中からスライスデータをダウンロードし、目標データを獲得する目的を実現する。ここで、コンピュータ機器102は、様々なパーソナルコンピュータ、ノートパソコン、スマートフォン、タブレットパソコン、サーバ、及び携帯型のウェアラブル機器であってもよいが、これらに限定されず、フォグノード104は、コンテンツ配信ネットワークにおけるエッジ機器であってもよく、ここで、エッジ機器は、ルータ、又はユーザー端末等であってもよい。
容易に理解されるように、コンテンツ配信ネットワークにおいてキャッシュサーバがさらに含まれてもよく、キャッシュサーバは、独立した物理サーバであってもよく、又は複数の物理サーバで構成されたサーバクラスタ、又は分散型システムであってもよく、さらに、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウド記憶、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメイン名サービス、安全サービス、並びにビッグデータ、及び人工知能プラットフォーム等の基本的なクラウドコンピューティングサービスを提供するクラウドサーバであってもよい。
関連技術において、ユーザーがコンテンツ配信ネットワーク(Content Delivery Network、CDN)を使用してデータダウンロードを行うときに、自分の端末、又はサーバをエッジ機器としてCDNにアクセスする必要があり、かつ該エッジ機器が一定の利用可能な帯域幅を有するために、CDNにおいては、一定のネットワーク帯域幅リソースを有する多くのエッジ機器が接続されている。同時に、このエッジ機器はCDNの中から一部のデータをダウンロードしたことがあるため、各台のエッジ機器には、CDNキャッシュサーバにおける一部のデータを有する可能性がある。従って、CDNにおけるエッジ機器は、データ情報をキャッシュしており、かつ利用可能な帯域幅を有し、それにより、この一部のエッジ機器をデータダウンロードのリソースプロバイダとして、CDNにおけるキャッシュサーバのデータダウンロードの負担を分担することに用いることができる。
本願が提供する技術的手段は、さらにクラウドの技術分野に関し、具体的にはクラウド技術におけるクラウド記憶技術に関する。クラウド記憶(cloud storage)は、クラウドコンピューティングの概念から延びて発展した新しい概念であり、分散型クラウド記憶システム(以下、記憶システムと略称される)とは、クラスタアプリケーション、グリッド技術、及び分散型記憶ファイルシステム等の機能によって、ネットワークにおける様々な異なるタイプの多くの記憶機器(記憶機器は、記憶ノードとも呼ばれる)をアプリケーションソフトウェア、又はアプリケーションインタフェースによって集めて協同作業させ、共同で外部に対してデータ記憶、及び業務アクセス機能を提供する1つの記憶システムを指す。
また、本願が提供する技術的手段は、さらにブロックチェーン技術に関し、たとえば、ダウンロード対象のスライスデータをブロックチェーンに記憶することができる。ブロックチェーンは、分散型データ記憶、ピアツーピア伝送、コンセンサスメカニズム、及び暗号化アルゴリズム等のコンピュータ技術の新型の応用モードである。ブロックチェーン(Blockchain)は、本質的に脱中心化のデータベースであり、暗号学的な方法を使用して関連して生じた一連のデータブロックであり、各データブロックにおいて1バッチのネットワーク取引の情報が含まれ、その情報の有効性を検証し(偽造防止)、及び次のブロックを生成することに用いられる。ブロックチェーンは、ブロックチェーン底層プラットフォーム、プラットフォーム製品サービス層、及びアプリケーションサービス層を含んでもよい。
そのうちの1つの実施例において、図2に示されるように、データダウンロード方法を提供する。該方法が図1におけるコンピュータ機器102に応用されることを例に説明すると、ここで、コンピュータ機器は、サーバ、又は端末であってもよい。本願をよりよく理解するために、以下では、コンピュータ機器が端末であることを例に説明し、データダウンロード方法は、以下のステップS202~S210を含む。
S202:目標データに対するデータダウンロード要求を取得したときに、目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせ、フォグノード情報は、少なくともフォグノードの通信プロトコルタイプを含む。
ここで、フォグノードとは、CDNにおけるエッジ機器を指し、エッジ機器とは、CDNエッジネットワークに位置する機器を指す。1つの具体的な実施例において、エッジ機器は、具体的にCDNにおけるルータ、又はユーザー端末等であってもよい。CDNに位置するキャッシュサーバよりも、一般的にフォグノードは、ユーザーに近く、かつ多くのアイドル、高品質、低コストの帯域幅を持つ。ここで、キャッシュサーバとは、コンテンツ配信ネットワークにおけるダウンロード対象のデータがキャッシュされているサーバを指す。
フォグノード情報とは、フォグノードに関連する情報を指し、フォグノード情報は、フォグノードの機器タイプ、利用可能なリソース情報、及び採用される通信プロトコルタイプ等を含んでもよい。ここで、機器タイプとは、フォグノードのタイプを反映する情報を指し、たとえば、フォグノードの機器タイプは、ルータ、又はユーザー端末等であってもよい。利用可能なリソース情報とは、フォグノードにおける利用可能なコンピュータリソースを反映する情報を指し、たとえば、利用可能なリソース情報は、具体的に利用可能な帯域幅情報、及び利用可能なメモリ情報等を含んでもよい。
通信プロトコルタイプとは、フォグノードが採用する通信プロトコルのタイプを指し、通信プロトコルタイプは、具体的に信頼性のある双方向の通信プロトコルタイプ、及びコネクションレス通信プロトコルタイプ等を含んでもよい。信頼性のある双方向の通信プロトコルタイプとは、信頼性のある伝送を行うことができる通信プロトコルタイプを指し、このプロトコルタイプ下で、伝送されるデータの完全性を確保することができ、パケットロスの問題を処理する必要がない。コネクションレス通信プロトコルタイプとは、コネクションレス伝送層プロトコルタイプを指し、該プロトコルタイプによってトランザクション指向の簡単で信頼性のないデータ転送を提供することができる。
具体的に、目標データに対するデータダウンロード要求を取得して獲得したときに、端末は、コンテンツ配信ネットワークの中から目標データが記憶されているフォグノードを問い合わせ、且つ目標データが記憶されているフォグノードのフォグノード情報を取得することができる。そのうちの1つの実施例において、コンテンツ配信ネットワークは、各フォグノードのフォグノード情報を記憶することに用いられる問い合わせサーバをさらに含む。データダウンロード要求を受信したときに、端末は、問い合わせサーバの中から目標データが記憶されているフォグノードを問い合わせ、且つ目標データが記憶されているフォグノードのフォグノード情報を取得することができる。ここで、問い合わせサーバとは、CDNにアクセスしたフォグノードがダウンロードしたデータを記録するサーバを指す。フォグノードが予め設定されたキャッシュサーバの中からデータをダウンロードするときに、問い合わせサーバは、フォグノードがダウンロードしたデータのデータ識別子を記録することができ、それにより、端末は、目標データに対するデータダウンロード要求を受信したときに、端末は、目標データのデータ識別子に基づき、問い合わせサーバの中から、目標データを既にダウンロードしたフォグノードを問い合わせることができる。ここで、キャッシュサーバとは、完全な目標データがキャッシュされているサーバを指す。
そのうちの1つの実施例において、目標データに対するデータダウンロード要求を取得したときに、目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせるステップは、目標データに対するデータダウンロード要求を取得したときに、目標データのデータ識別子に基づいて目標データに対応するフォグノード集合を決定し、且つフォグノード集合における各フォグノードの利用可能なリソース情報を取得するステップと、フォグノード集合における各フォグノードとの間の透過接続を確立するステップと、透過接続に基づいて、フォグノード集合における各フォグノードの通信プロトコルタイプを決定するステップと、を含む。
具体的に、目標データに対するデータダウンロード要求を取得して獲得したときに、端末は、目標データのデータ識別子を決定し、且つデータ識別子に基づき、問い合わせサーバの中から、目標データを既にダウンロードしたフォグノードを問い合わせ、フォグノード集合を獲得する。問い合わせサーバにおいて各フォグノードの各々に対応する利用可能なリソース情報がさらに記憶されてもよく、それによりフォグノード集合を取得して獲得したときに、端末は、さらに、フォグノード集合における各フォグノードの各々に対応する利用可能なリソース情報を取得することができる。
さらには、端末は、フォグノード集合における各フォグノードにそれぞれ透過接続要求を発行して、フォグノードに透過接続要求に基づき端末に透過要求フィードバックを返信させることができる。それにより端末は、透過要求フィードバックに基づきフォグノードと透過接続を確立することができ、すなわち、通信接続を確立する。端末とフォグノードとの間に透過接続が確立されたときに、端末は、確立された透過接続に基づきフォグノードにプロトコル検出要求を送信し、プロトコル検出要求によってフォグノードが採用する通信プロトコルタイプを検出することができる。
そのうちの1つの実施例において、端末は、STUN(Session Traversal Utilities for NAT、NAT用セッショントラバーサルユーティリティ)プロトコルに基づきフォグノードに透過接続要求を発行することができる。
そのうちの1つの実施例において、フォグノードは、プロトコル検出要求に基づき端末にプロトコル検出要求フィードバックを返信し、プロトコル検出要求フィードバックによって、採用される通信プロトコルタイプを返信することができる。ここで、フォグノードが返信した通信プロトコルタイプは、信頼性のある双方向の通信プロトコルタイプ、コネクションレス通信プロトコルタイプ、及び未知のプロトコルタイプを含んでもよい。ここで、信頼性のある双方向の通信プロトコルは、具体的にはCableプロトコルであってもよく、コネクションレス通信プロトコルは、具体的にUDPプロトコルであってもよい。Cableプロトコルは、UDPプロトコルを基に信頼性のあるモジュールを追加する伝送プロトコルであり、信頼性のあるUDPプロトコルに属し、かつ以下の特徴を有する。1、Cable、及びUDPプロトコルは、インタフェースが完全に同じであり、すなわち、使用方法が完全に同じであり、2、Cableは、信頼性のあるプロトコルであり、パケットロスをアクティブに処理する必要がなく、3、Cableは、信頼性のある双方向のプロトコルに属し、すなわち、信頼性のある伝送を確保するために、通信両方がいずれもCableプロトコルを使用する必要があり、4、Cableプロトコルは、UDPプロトコルと適合する。UDPプロトコル(User Datagram Protocol、ユーザーデータグラムプロトコル)とは、OSI(Open System Interconnection、開放型システム間相互接続)参照モデルにおけるコネクションレス伝送層プロトコルを指し、それは、トランザクション指向の簡単で信頼性のない情報転送サービスを提供することができる。
そのうちの1つの実施例において、フォグノードは、それ自体がUDPプロトコルをサポートすることを明示するときに、UDPプロトコルのプロトコルタイプを端末に送信することができ、たとえば、CDNにおける更新されていないプログラムがインストールされているフォグノードは、UDPプロトコルのプロトコルタイプを端末に送信することができる。フォグノードは、それ自体がCableプロトコルをサポートすることを明示するときに、Cableプロトコルのプロトコルタイプを端末に送信することができ、たとえば、CDNにおける既に更新されたプログラムがインストールされているフォグノードは、Cableプロトコルのプロトコルタイプを端末に送信することができる。フォグノードは、それ自体がサポートするプロトコルを一時的に明示することができないときに、未知のプロトコルタイプを端末に返信することができる。異なる通信プロトコルタイプに対して、端末は、目標フォグノード選択、及びデータスライスのときに異なる戦略を用いることができ、それにより適合性、及び伝送の品質を確保する。
上記実施例において、フォグノード集合におけるフォグノードと透過接続を確立した後に、通信プロトコルタイプの検出を行うことによって、STUN標準プロトコルの中でプロトコルタイプ検出を行うことに用いられるプライベートプロトコルを追加することを回避し、プロトコルの純粋性を高めることができるだけでなく、通信プロトコルタイプの検出が伝送層の作業に属するため、フォグノード集合におけるフォグノードと透過接続を確立した後に、通信プロトコルタイプの検出を行うことによって、さらに、OSIモデルにおける他の層が伝送層により実行されるべき検出を実行することを減少することができる。
S204:フォグノード情報に基づき、少なくとも1つのフォグノードの中から目標フォグノードを決定する。
具体的に、フォグノード情報を取得して獲得したときに、端末は、フォグノード情報に基づきフォグノード集合の中から目標フォグノードを選択することができる。そのうちの1つの実施例において、フォグノード情報は、通信プロトコルタイプ、及び利用可能なリソース情報を含んでもよく、端末は、通信プロトコルタイプ、及び利用可能なリソース情報に基づき少なくとも1つのフォグノードの中から目標フォグノードを決定することができる。
S206:目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得する。
ここで、スライスデータは、目標データにおける一部のデータに対応し、スライス情報とは、スライスデータの目標データにおける対応したデータ部分を識別することに用いられる情報を指す。スライス情報は、具体的に、目標データのデータ識別子、及びデータ範囲を含んでもよく、それにより、フォグノードは、データ識別子、及びデータ範囲に基づき、端末に伝送するデータを決定することができる。
具体的に、コネクションレス通信プロトコル、又は未知のプロトコルのフォグノードに比べて、信頼性のある双方向の通信プロトコルのフォグノードの性能がよりよく、かつより確実である。従って、ダウンロード速度、及びダウンロードの信頼性を確保するために、信頼性のある双方向の通信プロトコルを使用するフォグノードを十分に利用し、それに、より大きなスライスデータをダウンロードすることができる。たとえば、端末は、信頼性のある双方向の通信プロトコルを使用する目標フォグノードの中からスライスサイズが256Kのスライスデータをダウンロードし、コネクションレス通信プロトコルタイプを使用する目標フォグノードの中からスライスサイズが128Kのスライスデータをダウンロードすることができる。
そのうちの1つの実施例において、目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得するステップは、端末が目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象のスライスデータのスライスサイズを決定し、それにより決定されたスライスサイズに基づいてダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得するステップを含む。
具体的に、異なる通信プロトコルタイプの各々に対応するスライスサイズを予め設定することができ、例えば、信頼性のある双方向の通信プロトコルを使用する目標フォグノードに対応したスライスサイズが256Kであり、コネクションレス通信プロトコルタイプを使用する目標フォグノードに対応したスライスサイズが128Kである。それにより端末は、通信プロトコルタイプに対応したスライスサイズを、ダウンロード対象のスライスデータのスライスサイズとし、且つ該スライスサイズに基づきダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得する。例えば、目標ノードに対応した通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであるときに、スライスサイズが256Kであると決定でき、それにより端末は、256Kをダウンロード対象のスライスデータのスライスサイズとし、且つ該スライスサイズに応じて目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得する。同様に、目標ノードに対応した通信プロトコルタイプがコネクションレス通信プロトコルタイプであるときに、128Kをダウンロード対象のスライスデータのスライスサイズとすることができる。
上記実施例において、目標フォグノードに対応した通信プロトコルタイプを決定するだけで、スライス情報を決定することができ、それによりスライス情報の決定効率を高める。S208:ダウンロード対象のスライスデータのスライス情報に基づき、ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信する。
具体的に、スライスデータのスライス情報を決定したときに、端末は、スライス情報を相応な目標フォグノードに送信して、目標フォグノードにスライス情報に基づいて端末にスライスデータを返信させることができ、それによりスライスデータのダウンロードを実現する。そのうちの1つの実施例において、コンテンツ配信ネットワークは、フォグノード、及びキャッシュサーバを含み、端末は、目標データに対するデータダウンロード要求を受信したときに、端末は、フォグノードの中からダウンロード対象の目標データを優先的に取り出すことができ、フォグノードの中からダウンロードされた目標データが完全ではないときに、キャッシュサーバの中から残りのリソースをダウンロードする。ここで、フォグノード、及びキャッシュサーバは、CDNにおける同一ノードであってもよく、フォグノード、及びキャッシュサーバは、CDNにおける同一ノードでなくてもよい。本実施例は、ここで限定しない。
注意すべきであるように、ステップS204~ステップS208は、交互に実行されてもよく、順に実行されてもよい。
そのうちの1つの実施例において、ステップS204~ステップS208が交互に実行されるときに、フォグノード情報は、フォグノードの利用可能なリソース情報、及び単一ノードの同時ダウンロード数をさらに含む。フォグノード情報に基づき、少なくとも1つのフォグノードの中から目標フォグノードを決定するステップは、通信プロトコルタイプ、利用可能なリソース情報、及び単一ノードの同時ダウンロード数に基づいて、少なくとも1つのフォグノードの中から現在の目標フォグノードを選び出すステップを含み、目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得するステップは、現在の目標フォグノードの通信プロトコルタイプに基づいて、スライス処理を行うことに用いられる目標スライスサイズを決定するステップと、目標スライスサイズに基づき、ダウンロード対象の目標データに対してスライス処理を行い、現在のダウンロード対象のスライスデータのスライス情報を獲得するステップと、を含み、ダウンロード対象のスライスデータのスライス情報に基づき、ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップは、現在のダウンロード対象のスライスデータのスライス情報に基づき、現在の目標フォグノードにスライスダウンロード要求を送信して、現在のダウンロード対象のスライスデータをダウンロードするステップを含む。データダウンロード方法は、現在の目標フォグノードのフォグノード情報を更新し、次の目標フォグノードに基づきスライスデータダウンロードを行うプロセスに進み、且つ通信プロトコルタイプ、利用可能なリソース情報、及び単一ノードの同時ダウンロード数に基づいて、少なくとも1つのフォグノードの中から現在の目標フォグノードを選び出すステップに戻って実行し続け、目標ファイルに対応するダウンロード対象のスライスデータのダウンロードがいずれも完了するまで続けるステップをさらに含む。
具体的に、フォグノード情報は、フォグノードの通信プロトコルタイプ、利用可能なリソース情報、及び単一ノードの同時ダウンロード数を含んでもよく、端末は、通信プロトコルタイプ、利用可能なリソース情報、及び単一ノードの同時ダウンロード数に基づき、フォグノード集合の中から最も優れた1つの目標フォグノードを選び出し、且つ現在の選び出された最も優れた目標フォグノードを現在の目標フォグノードとすることができる。端末は、現在の目標フォグノードの通信プロトコルタイプを決定し、且つ通信プロトコルタイプに基づいて、スライス処理を行うことに用いられる目標スライスサイズを決定することができ、それにより決定された目標スライスサイズ、及び目標データにおける既にスライス処理を実行したデータ範囲に基づき、現在のダウンロード対象のスライスデータのスライス情報を決定する。
たとえば、現在の目標フォグノードの通信プロトコルが信頼性のある双方向の通信プロトコルタイプであるときに、端末は、目標スライスサイズが256Kであると決定でき、それにより目標データは、スライス処理が実行されたことがないときに、端末は、現在のダウンロード対象のスライスデータのスライス情報におけるデータ範囲を0K~256Kに設定することができる。容易に理解されるように、現在のダウンロード対象のスライスデータのスライス情報におけるデータ範囲が0K~256Kに設定されるときに、目標データにおける0K~256K範囲のデータが既にスライス処理を実行したと見なすことができる。すなわち、目標データにおける既にスライス処理を実行したデータ範囲を0K~256Kに更新することができ、それにより、次のダウンロード対象のスライスデータのスライス情報を決定するときに、256Kを開始点として分割することができる。現在の目標フォグノードの通信プロトコルタイプがコネクションレス伝送タイプであるときに、端末は、目標スライスサイズが128Kであると決定でき、それにより目標データは、スライス処理が実行されたことがないときに、端末が現在のダウンロード対象のスライスデータのスライス情報におけるデータ範囲を0K~128Kに設定することができる。
さらには、現在のダウンロード対象のスライスデータのスライス情報を取得して獲得したときに、端末は、現在のダウンロード対象のスライスデータのスライス情報に基づいてスライスダウンロード要求を生成し、且つスライスダウンロード要求を現在の目標フォグノードに送信して、現在の目標フォグノードに、受信したスライスダウンロード要求に基づいてダウンロード対象のスライスデータを端末に返信させることができる。
現在のフォグノードが受信したスライス情報に基づきスライスデータ伝送を行うときに、一定の利用可能なリソースを占有する必要があり、たとえば、一定の利用可能な帯域幅を占有する必要があるため、現在の目標フォグノードのフォグノード情報に対して更新処理を行う必要がある。端末は、次の目標フォグノードを決定し、且つ次の目標フォグノードに基づきスライスデータダウンロードを行うプロセスに進み、通信プロトコルタイプ、利用可能なリソース情報、及び単一ノードの同時ダウンロード数に基づいて、少なくとも1つのフォグノードの中から現在の目標フォグノードを選び出すステップに戻って実行し続け、目標ファイルに対応するダウンロード対象のスライスデータのダウンロードがいずれも完了するまで続ける。
そのうちの1つの実施例において、ステップS204~ステップS208が順に実行されるときに、フォグノード情報に基づき、少なくとも1つのフォグノードの中から目標フォグノードを決定するステップは、フォグノード情報に基づき、フォグノードの中から少なくとも1つの目標フォグノードを決定するステップを含み、目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得するステップは、各目標フォグノードの各々に対応する通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、少なくとも1つのダウンロード対象のスライスデータのスライス情報を獲得するステップを含み、ダウンロード対象のスライスデータのスライス情報に基づき、ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップは、各ダウンロード対象のスライスデータのスライス情報に基づき、各ダウンロード対象のスライスデータの各々に対応する目標フォグノードにスライスダウンロード要求を送信するステップを含む。
具体的に、端末は、目標データのデータサイズに基づき、選び出されるべき目標フォグノードの目標ノード数量を決定し、且つフォグノード集合の中から、通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであり、かつ利用可能なリソースが予め設定されたリソース閾値よりも大きい目標ノード数量のフォグノードを選び出し、且つ選び出されたフォグノードを目標フォグノードとすることができる。容易に理解されるように、フォグノード集合における通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであり、かつ利用可能なリソースが予め設定されたリソース閾値よりも大きいフォグノードの数量が目標ノード数量よりも小さいときに、端末は、さらに、フォグノード集合の中から、通信プロトコルタイプがコネクションレス通信プロトコルタイプであり、かつ利用可能なリソースが予め設定されたリソース閾値よりも大きい残りの数量のフォグノードを選び出すことができる。たとえば、目標データのデータサイズが1024Kであり、かつ設定された信頼性のある双方向の通信プロトコルに対応したスライスサイズが256Kであり、コネクションレス通信プロトコルタイプに対応したスライスサイズが128Kであるときに、スライス処理を行うことに用いられる目標スライスサイズが256K、又は128Kであってもよいと決定でき、スライス情報を各目標フォグノードにできるだけ均等に分配して、スライスデータのダウンロードレートを高めるために、コンピュータ機器は、1024Kを128Kで割って、目標ノード数量8を獲得することができ、それにより端末は、通信プロトコルタイプ、及び利用可能なリソース情報に基づき、フォグノード集合の中から8つの目標フォグノードを選び出すことができる。フォグノード集合において、信頼性のある双方向の通信プロトコルタイプを採用し、かつ利用可能なリソースが予め設定されたリソース閾値よりも大きいフォグノードが6つ、コネクションレス通信プロトコルタイプを採用し、かつ利用可能なリソースが予め設定されたリソース閾値よりも大きいフォグノードが5つ含まれるときに、端末は、信頼性のある双方向の通信プロトコルタイプを採用し、かつ利用可能なリソースが予め設定されたリソース閾値よりも大きい6つのフォグノードを目標フォグノードとし、及びコネクションレス通信プロトコルタイプを採用し、かつ利用可能なリソースが予め設定されたリソース閾値よりも大きい5つのフォグノードの中から2つのフォグノードを選び出し、且つ選び出された2つのフォグノードも目標フォグノードとすることができる。さらには、端末は、選び出された各目標フォグノードをトラバースし、各目標フォグノードの各々に対応する通信プロトコルタイプを決定し、且つ各目標フォグノードの各々に対応する通信プロトコルタイプに基づいて、各目標フォグノードの各々に対応する目標スライスサイズを決定し、各目標フォグノードの各々に対応する目標スライスサイズに基づき、目標データに対してスライス処理を行い、少なくとも1つのダウンロード対象のスライスデータのスライス情報を獲得する。ここで、スライス処理後のダウンロード対象のスライスは、完全な目標データを構成することができる。たとえば、現在のトラバースされた目標フォグノードが信頼性のある双方向の通信プロトコルタイプを採用するときに、端末は、スライス処理を行うことに用いられる目標スライスサイズが256Kであると決定でき、それにより、目標データにおける既にスライス処理を実行したデータ範囲に基づいて、現在のトラバースされた目標フォグノードと対応するスライス情報を獲得し、現在のトラバースされた目標フォグノードがコネクションレス通信プロトコルタイプを採用するときに、端末は、スライス処理を行うことに用いられる目標スライスサイズが128Kであると決定でき、且つ目標データにおける既にスライス処理を実行したデータ範囲に基づいて、現在のトラバースされた目標フォグノードと対応するスライス情報を獲得する。容易に理解されるように、現在のトラバースされた目標フォグノードと対応するスライス情報が決定されたときに、端末は、さらに、目標データにおける既にスライス処理を実行したデータ範囲を更新することができ、それにより、更新された後の目標データにおける既にスライス処理を実行したデータ範囲に基づき、次の順序のトラバースされた目標フォグノードに対応したスライス情報を決定する。トラバースが終了したときに、各目標フォグノードの各々に対応するスライス情報を獲得することができ、すなわち、各目標フォグノードの各々に対応するダウンロード対象のスライスデータを獲得する。
さらには、端末は、各スライス情報を対応する目標フォグノードに送信して、相応な目標フォグノードの中からスライスデータをダウンロードする。容易に理解されるように、選び出された目標フォグノードの数量は、ダウンロード対象のスライスの数量よりも多い可能性があり、このときに、端末は、目標フォグノードのうちの一部のフォグノードの中からスライスデータをダウンロードすることができる。
そのうちの1つの実施例において、端末は、フォグノード集合から、通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであり、かつ利用可能なリソースが予め設定されたリソース閾値よりも大きい目標ノード数量の目標フォグノードを選び出す。且つ信頼性のある双方向の通信プロトコルタイプに基づいて、スライス処理を行うことに用いられる目標スライスサイズを決定し、目標スライスサイズに基づき目標データに対してスライス処理を行い、少なくとも1つのダウンロード対象のスライスデータのスライス情報を獲得する。たとえば、目標スライスサイズが256Kであり、目標データのデータサイズが1024Kであるときに、端末は、目標データを4つのスライスデータに分割し、且つ各スライスデータの各々に対応するスライス情報を生成することができる。さらには、端末は、生成されたスライス情報を目標フォグノードに均等に分配して、目標フォグノードの中から相応なスライスデータをダウンロードし、目標データを獲得する。
S210:各目標フォグノードがそれぞれ相応なスライスダウンロード要求に応答して返信したスライスデータに基づいて、組み合わせて目標データを獲得する。
具体的に、端末は、各目標フォグノードがダウンロード要求に応答して返信したスライスデータを受信し、且つ受信したスライスデータを組み合わせて、目標データを獲得する。たとえば、目標データが目標ビデオであるときに、端末は、各スライスビデオを組み合わせ、目標ビデオを獲得し、且つマルチメディア再生アプリケーションによって目標ビデオを再生することができる。
そのうちの1つの実施例において、図3に参照されるように、端末において業務アプリケーション、及びピアコンテンツ配信ネットワークソフトウェア開発キット(Peer Content Delivery Network Software Development Kit、PCDN SDK)がインストールされてもよい。ここで、端末は、PCDN SDKに基づきコンテンツ配信ネットワークの中から目標データを取得することができ、それにより業務アプリケーションは、PCDN SDKにデータダウンロード要求を発行するだけで、PCDN SDKが返信した目標データを取得することができ、業務アプリケーション自体は、データダウンロードを行う必要がない。ここで、PCDN SDKは、上記のデータダウンロード方法を採用して目標データをダウンロードすることができ、PCDN SDKは、フォグノードの中からデータを優先的にダウンロードし、次にキャッシュサーバの中から残りのデータをダウンロードすることができる。図3は、1つの実施例におけるPCDN SDKに基づき目標データをダウンロードする模式図を示している。
そのうちの1つの実施例において、信頼性のある双方向の通信プロトコルは、具体的にCableプロトコルであってもよく、コネクションレス通信プロトコルは、具体的にUDPプロトコルであってもよい。図4に参照されるように、図4は、1つの実施例におけるデータダウンロードのアーキテクチャ模式図を示している。フォグノードは、コネクションレス通信プロトコルを採用し、又は信頼性のある双方向の通信プロトコルを採用することができ、PCDN SDKは、Cable通信プロトコルを採用することができる。ここで、Cableは、UDP通信プロトコルと適合する。UDPプロトコルと適合することとは、Cableプロトコルを採用する機器がUDPを使用してデータを伝送することもでき、Cableプロトコルを使用してデータを伝送することもできることを指す。PCDN SDKは、業務アプリケーションから送信されたデータダウンロード要求を受信したときに、PCDN SDKは、目標データが含まれるフォグノード集合を問い合わせ、且つフォグノード集合におけるフォグノードと透過接続を確立し、透過接続によって通信プロトコルタイプを獲得することができる。PCDN SDKは、通信プロトコルタイプに基づいて目標フォグノードを選択し、且つダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得する。PCDN SDKは、目標フォグノードの通信プロトコルタイプによって、スライス情報が運ばれたスライスダウンロード要求を目標フォグノードに送信し、それによって目標フォグノードの中からスライスデータをダウンロードする。
従来技術において、端末は、一般的にコネクションレス通信プロトコルによってフォグノードと通信するが、コネクションレス通信プロトコルに基づく伝送の解決手段は、データのダウンロード速度が低く、再伝送の帯域幅が高いという欠点を有する。本願は、フォグノードのスライスデータダウンロードのシーン下で信頼性のある双方向の通信プロトコルを導入することによって、信頼性のある双方向の通信プロトコルに基づきダウンロード速度を高め、データ再伝送の重複を減少することができ、それにより低コストで高品質のコンテンツ配信ネットワークのサービスを確保する。
上記データダウンロード方法において、目標データに対するデータダウンロード要求を取得することによって、データダウンロード要求に基づき目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせることができ、それにより、フォグノード情報に基づき少なくとも1つのフォグノードの中から機器性能がより優れた目標フォグノードを選び出すことができ、さらに機器性能がより優れた目標フォグノードに基づき目標データのダウンロードレートを高めることができる。目標フォグノードを決定することによって、目標フォグノードの通信プロトコルタイプに基づき、目標データに対してスライス処理を行い、目標フォグノードの特性により合致するスライス情報を獲得することができる。このように、目標フォグノードの特性により合致するスライス情報に基づき、対応する目標フォグノードにスライスダウンロード要求を送信して、目標フォグノードからスライスデータを迅速にダウンロードすることができる。目標フォグノードからスライスデータをダウンロードすることによって、各目標フォグノードが返信したスライスデータを組み合わせることができ、それにより目標データを獲得する。本願は、フォグノードが採用した通信プロトコルタイプを検出し、且つ検出して獲得した通信プロトコルタイプによって、適切な目標フォグノードをスケジューリングして選択し、相応なスライスデータをダウンロードすることができるため、本願は、異なる通信プロトコルタイプと適合し、異なる通信プロトコルタイプを採用する目標フォグノードの中からスライスデータをダウンロードすることができる。
そのうちの1つの実施例において、通信プロトコルタイプ、利用可能なリソース情報、及び単一ノードの同時ダウンロード数に基づいて、少なくとも1つのフォグノードの中から現在の目標フォグノードを選び出すステップは、少なくとも1つのフォグノードの中から、通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであって、利用可能なリソースが予め設定されたアイドル条件を満たしており、かつ単一ノードの同時ダウンロード数が数量閾値よりも小さい、フォグノードを選び出し、且つ選び出されたフォグノードを現在の目標フォグノードとするステップを含む。
具体的に、少なくとも1つのフォグノードの中から現在の目標フォグノードを決定する必要があるときに、端末は、少なくとも1つのフォグノードをトラバースし、且つ少なくとも1つのフォグノードの中から、通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであって、利用可能なリソースが予め設定されたアイドル条件を満たしており、かつ単一ノードの同時ダウンロード数が数量閾値よりも小さい、フォグノードを選び出して、現在の目標フォグノードとすることができる。たとえば、少なくとも1つのフォグノードの中から、通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであり、最大の利用可能なリソースを有し、かつ単一ノードの同時ダウンロード数が数量閾値よりも小さい1つのフォグノードを選び出すことができる。ここで、単一ノードの同時ダウンロード数とは、単一のフォグノードがスライスダウンロード要求を並列処理する数量を指す。同一時点ですべてのスライスダウンロード要求が1つのフォグノードに流れることを回避するために、単一のフォグノードが並列処理するスライスダウンロード要求の要求数量を制御する必要がある。ここで、単一ノードの同時ダウンロード数は、ニーズに基づいて自由に設定することができ、たとえば、単一ノードの同時ダウンロード数を2に設定してもよく、それによりフォグノードが並列処理するスライスダウンロード要求の数量が2に達するときに、該フォグノードに新しいスライスダウンロード要求を分配することを一時停止し、該フォグノードが並列処理するスライスダウンロード要求の数量が2よりも小さくなるまで続ける。
そのうちの1つの実施例において、信頼性のある双方向の通信プロトコルを採用するフォグノードの性能が、コネクションレス通信プロトコルを採用するフォグノードよりも高く、かつ利用可能なリソースが大きいほどスライスデータのダウンロードレートも速いため、端末は、1、信頼性のある双方向の通信プロトコルをサポートするフォグノードを優先的に選択し、2、利用可能なリソースが大きいフォグノードを優先的に選択し、3、単一ノードの同時ダウンロード数が数量閾値よりも小さいという原則に基づき、少なくとも1つのフォグノードの中から最も優れたフォグノードを選び出し、現在の目標フォグノードとすることができる。
上記実施例において、少なくとも1つのフォグノードの中から、通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであって、利用可能なリソースが予め設定されたアイドル条件を満たしており、かつ単一ノードの同時ダウンロード数が数量閾値よりも小さい、フォグノードを優先的に選び出すことによって、選び出されたフォグノードに基づきスライスデータのダウンロードレートを高めることができる。
そのうちの1つの実施例において、現在の目標フォグノードの通信プロトコルタイプに基づいて、スライス処理を行うことに用いられる目標スライスサイズを決定するステップは、現在の目標フォグノードの通信プロトコルが信頼性のある双方向の通信プロトコルタイプであるときに、第1目標値に基づきスライス処理を行うことに用いられる目標スライスサイズを決定するステップと、現在の目標フォグノードの通信プロトコルがコネクションレス通信プロトコルタイプであるときに、第2目標値に基づきスライス処理を行うことに用いられる目標スライスサイズを決定するステップであって、第2目標値は、第1目標値と異なる、ステップと、を含む。
具体的に、複数の目標フォグノードのうちの各目標フォグノードに対して、端末は、いずれも現在の目標フォグノードの通信プロトコルタイプに基づいて、スライス処理を行うことに用いられる目標スライスサイズを決定する。現在の目標フォグノードの通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであるときに、端末は、第1目標値に基づきスライス処理を行うことに用いられる目標スライスサイズを決定し、たとえば、端末は、目標スライスサイズが256Kであると決定でき、それにより端末は、現在の目標フォグノードの中からデータサイズが256Kのスライスデータをダウンロードすることができる。現在の目標フォグノードの通信プロトコルタイプがコネクションレス通信プロトコルタイプであるときに、端末は、第2目標値に基づきスライス処理を行うことに用いられる目標スライスサイズを決定し、たとえば、端末は、目標スライスサイズが128Kであると決定でき、それにより端末は、現在の目標フォグノードの中からデータサイズが128Kのスライスデータをダウンロードすることができる。
例示的に、現在の目標フォグノードの通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであるときに、端末は、目標スライスサイズが256Kであると決定でき、それにより端末は、決定した目標スライスサイズに基づき、ダウンロード対象の目標データに対してスライス処理を行って、現在の目標フォグノードに対応するスライス情報におけるデータ範囲が0K~256Kであると決定することができ、さらに現在の目標フォグノードは、スライス情報に基づいて端末に0K~256Kのデータを送信することができる。次の順序の目標フォグノードの通信プロトコルタイプがコネクションレス通信プロトコルタイプであるときに、端末は、目標スライスサイズが128Kであり、かつ次の順序の目標フォグノードに対応するスライス情報におけるデータ範囲が256K~384Kであると決定でき、それにより次の順序の目標フォグノードは、スライス情報に基づき端末に256K~384Kのデータを送信することができる。容易に理解されるように、最終的に、ダウンロードされていないデータスライスのスライスサイズが第1目標値、又は第2目標値未満であることが発生する可能性があり、このときに、端末は、目標スライスサイズがダウンロードされていない残りのデータサイズであると決定する。
上記実施例において、異なるフォグノードは異なる性能を有するため、もし1つの完全な目標データを完全に1つのフォグノードによりダウンロードするなら、データダウンロードの失敗の確率が大幅に増加することになり、従って、目標データに対してスライス処理を行い、異なるフォグノードの中から異なるスライスデータをダウンロードする必要がある。このように、フォグノードの利用可能なリソースを十分に利用して、ダウンロードレートを確保することができるだけでなく、全体データのダウンロードの成功率を高めることができる。また、信頼性のある双方向の通信プロトコルタイプを採用する目標フォグノードの中からより大きなスライスデータをダウンロードすることは、信頼性のある双方向の通信プロトコルタイプを採用する目標フォグノードの性能を十分に利用することができ、それによりダウンロードレートをさらに高める。
そのうちの1つの実施例において、各ダウンロード対象のスライスデータのスライス情報に基づき、各ダウンロード対象のスライスデータの各々に対応する目標フォグノードにスライスダウンロード要求を送信するステップは、各ダウンロード対象のスライスデータの各々に対応するスライス情報に基づき、各ダウンロード対象のスライスデータの各々に対応するスライスダウンロード要求を生成するステップと、並列の方式で各ダウンロード対象のスライスデータの各々に対応する目標フォグノードにスライスダウンロード要求を送信するステップであって、同時にダウンロードされるスライスデータの数量は、予め設定された全体の最大同時数よりも小さいか、又はそれに等しい、ステップと、を含む。
具体的に、複数のダウンロード対象のスライスデータのスライス情報を取得して獲得したときに、端末は、スライス情報に基づいて各ダウンロード対象のスライスデータの各々に対応するスライスダウンロード要求を生成することができる。端末においてダウンロード対象のスライスデータと目標フォグノードとの間の対応関係が記憶されているため、端末は、ダウンロード対象のスライスデータと目標フォグノードとの間の対応関係に基づいて、生成されたスライスダウンロード要求を相応な目標フォグノードに並列送信して、スライスダウンロード要求を並列処理する目的を実現することができる。
フォグノードは一般的にCDNにおけるユーザー端末であり、かつユーザー端末のダウンロード帯域幅は限られているため、ユーザー体験に影響を与えない前提で、各スライスデータのダウンロードレートを確保するために、スライスデータダウンロードの全体の最大同時数を制限する必要がある。ここで、全体の最大同時数とは、現在の目標データに対しては、CDNにおける同時に並列処理されるスライス要求の数量を指し、全体の最大同時数は、ニーズに応じて自由に設定することができる。たとえば、全体の最大同時数が8であるときに、現在の目標データに対しては、CDNにおける同時に処理されるスライス要求の数量は、最大で8である。
そのうちの1つの実施例において、ステップS204~ステップS206が順に実行されるときに、端末は、各スライス情報の各々に対応するスライスダウンロード要求を生成し、且つ全体の最大同時数に基づいて、生成されたスライスダウンロード要求を分割し、複数セットのダウンロード要求を獲得することができ、たとえば、全体の最大同時数が8であるときに、8つごとのスライスダウンロード要求を1セットのダウンロード要求とすることができる。さらには、端末は、複数セットのダウンロード要求のうちの各セットのダウンロード要求を順に処理することができ、現在の1セットのダウンロード要求に基づき相応なスライスデータを受信したときに、次の1セットのダウンロード要求を相応な目標フォグノードに送信し、それによって、同時にダウンロードされるスライスデータの数量が全体の最大同時数よりも小さいか、又はそれに等しいことを実現する。
そのうちの1つの実施例において、ステップS204~ステップS206が交互に実行されるときに、図5を参照し得る。図5の右側は、目標ダウンロードデータであり、左側は、フォグノードのフォグノード情報である。例えば、フォグノード0は、Cableプロトコルをサポートし、かつ利用可能な帯域幅が100Mbpsであり、フォグノード2は、UDPプロトコルをサポートし、かつ利用可能な帯域幅が80Mbpsである。
ダウンロード対象の目標データのデータサイズが1150Kであると仮定すると、目標スライスサイズは、256K、又は128Kであってもよい。単一のノードの同時数が2であり、全体の最大同時数が8であるときに、端末は、現在の目標フォグノードの選択戦略に基づいて、少なくとも1つのフォグノードの中から、通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであって、利用可能なリソースが最大であり、かつ単一ノードの同時ダウンロード数が2よりも小さい、フォグノードを選び出して現在の目標フォグノードとすることができ、すなわち、端末は、フォグノード0を現在の目標フォグノードとする。現状ではスライスデータダウンロードがなく、すなわち全体の最大同時数が0であり、8つ未満であるため、端末は、フォグノード0の中からデータサイズが256Kである1つのスライスデータ1をダウンロードする。このときに、全体の同時数は、0から1に更新され、全体の最大同時数よりも小さい。同様に、フォグノード0は、依然として少なくとも1つのフォグノードのうちの最も優れたフォグノードであり、従って、端末は、さらにフォグノード0の中からスライスデータ1をダウンロードすることができる。すると、このときにフォグノード0が並列処理するスライスダウンロード要求の数量が2となり、単一ノードの同時ダウンロード数に達したことにより、端末はフォグノード0にスライス要求を分配することを一時停止する。
端末は、少なくとも1つのフォグノードの中から、通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであって、利用可能なリソースが予め設定されたアイドル条件を満たしており、かつ単一ノードの同時ダウンロード数が数量閾値よりも小さい、フォグノードを再び選び出して、現在の目標フォグノードとし、すなわち、フォグノード1を現在の目標フォグノードとし、且つフォグノード1の中からスライスデータ2をダウンロードする。このように繰り返し、全体の最大同時数が8に達するときに、CDNにスライスダウンロード要求を送信することを一時停止する。容易に理解されるように、スライスデータのダウンロードが完了し、CDNにおける全体の最大同時数が8よりも小さくなるときに、端末は、CDNに新しいスライスダウンロード要求を送信し続ける。図5は、1つの実施例におけるスライスデータダウンロードの模式図を示している。
上記実施例において、スライスダウンロード要求を並列処理することによって、スライスデータのダウンロードレートを大幅に高めることができる。全体の最大同時数を設定することによって、ユーザー体験に影響を与えない前提で、各スライスデータのダウンロードレートをさらに高めることができる。
そのうちの1つの実施例において、上記データダウンロード方法は、端末によって実行され、通信プロトコルタイプは、信頼性のある双方向の通信プロトコルタイプ、及びコネクションレス通信プロトコルタイプを含む。ダウンロード対象のスライスデータのスライス情報に基づき、ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップは、端末が信頼性のある双方向の通信プロトコルタイプをサポートするときに、端末が信頼性のある双方向の通信プロトコル、又はコネクションレス通信プロトコルによって、ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップと、端末がコネクションレス通信プロトコルタイプのみをサポートするときに、端末がコネクションレス通信プロトコルによって、ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップと、を含む。
ここで、信頼性のある双方向の通信プロトコルは、コネクションレス通信プロトコルと適合し、コネクションレス通信プロトコルと適合することとは、信頼性のある双方向の通信プロトコルを採用する機器が、コネクションレス通信プロトコルを採用してデータを伝送することもでき、信頼性のある双方向の通信プロトコルを採用してデータを伝送することもできることを指す。ここで、信頼性のある双方向の通信プロトコルを使用してデータを伝送する前提は、相手端末も信頼性のある双方向の通信プロトコルをサポートすることである。
具体的に、信頼性のある双方向の通信プロトコルがコネクションレス通信プロトコルと適合するため、端末は、信頼性のある双方向の通信プロトコルをサポートするときに、端末は、信頼性のある双方向の通信プロトコルによって目標フォグノードにスライスダウンロード要求を送信することもでき、コネクションレス通信プロトコルによって目標フォグノードにスライスダウンロード要求を送信することもできる。たとえば、目標フォグノードがコネクションレス通信プロトコルを採用するときに、端末は、コネクションレス通信プロトコルによって目標フォグノードにスライスダウンロード要求を送信し、及びコネクションレス通信プロトコルによって目標フォグノードが返信したスライスデータを受信することができる。目標フォグノードが信頼性のある双方向の通信プロトコルを採用するときに、端末は、信頼性のある双方向の通信プロトコルによって目標フォグノードにスライスダウンロード要求を送信し、且つ信頼性のある双方向の通信プロトコルによって目標フォグノードが返信したスライスデータを受信することができる。
端末がコネクションレス通信プロトコルタイプのみをサポートするときに、端末は、コネクションレス通信プロトコルによって、ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信し、及びコネクションレス通信プロトコルによって目標フォグノードが返信したスライスデータを受信することしかできない。
そのうちの1つの実施例において、端末は、PCDN SDKによって目標フォグノードにスライスダウンロード要求を送信することができる。異なる業務は、PCDN SDKのインストールパッケージのサイズに対して厳密な要件を有することから、信頼性のある双方向の通信プロトコルのアクセスによりPCDN SDKのインストールパッケージが大きくなるため、具体的な業務ニーズに応じて信頼性のある双方向の通信プロトコルをアクセスするか否かを確認する必要がある。それと同時に、信頼性のある双方向の通信プロトコルは、第三者伝送プロトコルとして、未知のリスクポイントが存在し、従って、業務の品質、及び安定性を確保するために、PCDN SDKは、信頼性のある双方向の通信プロトコルをオン、及びオフにする能力を備える必要がある。PCDN SDKは、信頼性のある双方向の通信プロトコルをオンにするときに、PCDN SDKは、信頼性のある双方向の通信プロトコルによって目標フォグノードにスライスダウンロード要求を送信することができ、PCDN SDKは、信頼性のある双方向の通信プロトコルをオフにするときに、PCDN SDKは、コネクションレス通信プロトコルのみによって目標フォグノードにスライスダウンロード要求を送信する。
上記実施例において、双方向の通信プロトコルがコネクションレス通信プロトコルと適合するため、端末は、異なる通信プロトコルタイプを採用するエッジ機器と適合することができ、端末の適合性を大幅に高める。
そのうちの1つの実施例において、スライスデータは、少なくとも1つのリソースデータパケットを含む。上記データダウンロード方法は、複数の目標フォグノードのうちの各目標フォグノードに対して、いずれも現在の目標フォグノードの通信プロトコルタイプが目標プロトコルタイプであるときに、現在の目標フォグノードからダウンロードされるリソースデータパケットを決定するステップと、リソースデータパケットに基づいて相応な回答メッセージを生成し、且つ回答メッセージを現在の目標フォグノードに送信するステップであって、回答メッセージは、端末が既に受信したリソースデータパケットに基づき、端末が受信していないリソースデータパケットを再送信するように、現在の目標フォグノードに指示することに用いられる、ステップと、をさらに含む。
具体的に、複数の目標フォグノードのうちの各目標フォグノードに対して、現在の目標フォグノードがスライスダウンロード要求を受信したときに、現在の目標フォグノードは、スライスダウンロード要求におけるスライス情報に基づき、端末に送信されるべきスライスデータを決定し、且つスライスデータを少なくとも1つのリソースデータパケットに分割し、端末にリソースデータパケットを返信することができる。たとえば、端末に送信されるべきスライスデータのデータサイズが32Kであるときに、現在の目標フォグノードは、該スライスデータを32個のリソースデータパケットに分割することができる。ここで、各リソースデータパケットのサイズは、1Kであり、それにより現在の目標フォグノードは、32個の1Kのリソースデータパケットを端末に送信することになる。
さらには、端末は、現在の目標フォグノードが採用する通信プロトコルタイプを決定し、且つ現在の目標フォグノードが目標プロトコルタイプを採用するときに、現状では現在の目標フォグノードから既にダウンロードされたリソースデータパケットを決定する。たとえば、現在の目標フォグノードがコネクションレス通信プロトコルタイプを採用するときに、既にダウンロードされたリソースデータパケットを決定する。端末は、現状では現在の目標フォグノードから既にダウンロードされたリソースデータパケットに基づいて相応な回答情報を生成し、且つ回答情報を現在の目標フォグノードに返信し、それによって、現在の目標フォグノードは、回答情報に基づいて送信に成功していないリソースデータパケットを決定し、且つ送信に成功していないリソースデータパケットを端末に再送信する。例えば、上記例において、現在の目標フォグノードが32個の1Kのリソースデータパケットを端末に送信しようとすると決定するが、30個のリソースデータパケットを既に受信したときに、現在、2つのリソースデータパケットが紛失していると決定でき、それにより端末は、目標フォグノードに回答メッセージを送信する。
そのうちの1つの実施例において、目標プロトコルタイプは、コネクションレス伝送プロトコルタイプであってもよい。現在の目標フォグノードがコネクションレス伝送プロトコルを採用して端末にリソースデータパケットを送信するときに、コネクションレス伝送プロトコルが信頼性のない伝送プロトコルに属するため、パケットロスの状況が発生し得ると見なすことができる。従って、端末は、現在の目標フォグノードに回答メッセージを定時に送信し、それによって現在の目標フォグノードは、アプリケーションメッセージに基づいて、送信に成功していないリソースデータパケットを再送信する。現在の目標フォグノードが信頼性のある双方向の通信プロトコルタイプを採用するときに、すなわち、端末が信頼性のある双方向の通信プロトコルを採用して端末にスライスダウンロード要求を送信し、且つ現在の目標フォグノードが信頼性のある双方向の通信プロトコルを採用して端末にリソースデータパケットを返信するときに、信頼性のある双方向の通信プロトコルが信頼性のある伝送の通信プロトコルに属するため、パケットロスの状況が発生することがないと見なすことができ、従って、端末は、回答メッセージの生成を停止する。
そのうちの1つの実施例において、現在の目標フォグノードが最後のリソースデータパケットを送信するときに、現在の目標フォグノードが既にスライスデータをすべて送信したと見なすことができ、端末が所定の時間内に目標データに対応する全部のスライスデータを受信したときに、目標データがすべてダウンロードされたと見なすことができる。注意すべきであるように、タイムアウト時間になって、一部のスライスデータをダウンロードしたことを引き起こしたときに、すなわち、端末が所定の時間内に全部のスライスデータを受信していないときに、端末は依然として目標データのダウンロードが完了すると判定し得る。このときに、端末は、占有される全部のリソースをリリースし、且つ離脱するように目標フォグノードに通知する。上記実施例において、回答メッセージを生成することによって、目標フォグノードは、受信した回答メッセージに基づきリソースデータパケットを再送信することができ、それによりリソースデータパケットの送信成功率を高める。
そのうちの1つの実施例において、目標プロトコルタイプは、未知のプロトコルタイプを含み、上記データダウンロード方法は、端末が受信したリソースデータパケットに基づき、現在の目標フォグノードの通信プロトコルタイプを未知のプロトコルタイプから信頼性のある双方向の通信プロトコルタイプに更新するときに、現在の目標フォグノードに回答メッセージを送信することを一時停止するステップと、端末が受信したリソースデータパケットに基づき、現在の目標フォグノードの通信プロトコルタイプを未知のプロトコルタイプからコネクションレス通信プロトコルタイプに更新するときに、現在の目標フォグノードに回答メッセージを送信することを維持するステップと、をさらに含む。
具体的に、複数の目標フォグノードのうちの各目標フォグノードに対して、現在の目標フォグノードが未知のプロトコルタイプを採用するときに、端末は、現在の目標フォグノードに回答メッセージを定時に送信することができる。ここで、目標フォグノードがサポートするプロトコルタイプを一時的に決定することができないときに、目標フォグノードが未知のプロトコルタイプを採用して通信すると見なすことができる。端末は、現在の目標フォグノードが送信したリソースデータパケットを受信したときに、端末は、受信したリソースデータパケットに基づき現在の目標フォグノードが信頼性のある双方向の通信プロトコルタイプをサポートするか否かを決定することができる。受信したリソースデータパケットに基づき現在の目標フォグノードが信頼性のある双方向の通信プロトコルタイプをサポートすると決定するときに、端末は、現在の目標フォグノードに回答メッセージを送信することを一時停止し、受信したリソースデータパケットに基づき現在の目標フォグノードが信頼性のある双方向の通信プロトコルタイプをサポートしないと決定するときに、すなわち、現在の目標フォグノードがコネクションレス通信プロトコルタイプをサポートし、又は依然として未知のプロトコルタイプであると決定するときに、端末は、現在の目標フォグノードに回答メッセージを送信することを維持する。
上記実施例において、現在の目標フォグノードの通信プロトコルタイプを未知のプロトコルタイプから信頼性のある双方向の通信プロトコルタイプに更新するときに、現在の目標フォグノードに回答メッセージを送信することを一時停止することによって、回答メッセージの送信に消費されたコンピュータリソースを減少することができる。
そのうちの1つの実施例において、目標データは、目標ビデオであり、データダウンロード要求は、マルチメディア再生アプリケーションが発行した目標ビデオに対するビデオダウンロード要求である。上記データダウンロード方法は、目標ビデオをダウンロードして獲得したときに、目標ビデオをマルチメディア再生アプリケーションに送信するステップと、マルチメディア再生アプリケーションによって目標ビデオを再生するステップと、をさらに含む。
具体的に、端末においてマルチメディア再生アプリケーションが実行されてもよく、マルチメディア再生アプリケーションが目標ビデオを再生する必要があるときに、マルチメディア再生アプリケーションは、目標ビデオのビデオ識別子に基づきビデオダウンロード要求を生成し、且つビデオダウンロード要求をPCDN SDKに送信することができる。PCDN SDKは、ビデオダウンロード要求におけるビデオ識別子に基づき目標ビデオがキャッシュされているフォグノードを決定し、且つ決定されたフォグノードの中から目標フォグノードを選び出し、目標フォグノードの中から相応なスライスデータをダウンロードする。PCDN SDKは、ダウンロードしたスライスデータを統合して、目標ビデオを獲得し、且つ目標ビデオをマルチメディア再生アプリケーションに送信し、それによってマルチメディア再生アプリケーションは、この目標ビデオを再生する。ここで、目標ビデオは、オンデマンドビデオ、及びライブビデオを含むが、これらに限定されない。
上記実施例において、目標ビデオをダウンロードすることによって、マルチメディア再生アプリケーションは、対応してダウンロードして獲得された目標ビデオを再生することができ、それによりユーザー体験を高める。
本願は、さらに応用シーンを提供し、該応用シーンは、上記のデータダウンロード方法を応用する。具体的に、該データダウンロード方法の該応用シーンでの応用は、以下のとおりである。
図6に参照されるように、目標ゲームアプリケーションが目標ゲームの遷移アニメーションを再生する必要があるときに、目標ゲームアプリケーションは、PCDN SDKに遷移アニメーションに対するデータダウンロード要求を送信することができ、それにより、PCDN SDKは、データダウンロード要求に基づき、遷移アニメーションがキャッシュされているフォグノード集合とフォグノード集合におけるフォグノードの利用可能なリソース情報とを問い合わせサーバに問い合わせる。PCDN SDKは、フォグノード集合におけるフォグノードに透過要求を発行し、且つ透過要求によってフォグノードと透過接続を確立し、透過接続によってフォグノードにプロトコル検出要求を発行して、フォグノードが採用する通信プロトコルタイプを検出する。PCDN SDKは、通信プロトコルタイプ、及び利用可能なリソース情報を統合してフォグノード集合の中から目標フォグノードを選択し、且つ目標フォグノードの通信プロトコルタイプに基づいて目標データに対してスライス処理を行い、スライスダウンロード要求を獲得する。PCDN SDKは、スライスダウンロード要求を対応する目標フォグノードに送信して、目標フォグノードにスライスダウンロード要求におけるスライス情報に基づいて端末にリソースデータパケットを返信させる。端末は、受信したリソースデータパケットに基づき目標フォグノードに回答メッセージを送信し、且つ全部のリソースデータパケットを受信したときに、占有されるリソースをリリースし、離脱するように目標フォグノードに通知し、すなわち、目標フォグノードとの透過接続を切断する。端末は、受信した全部のリソースデータパケットを統合して、遷移アニメーションを獲得し、且つ遷移アニメーションを目標ゲームアプリケーションに返信し、それにより目標ゲームアプリケーションは、対応して遷移アニメーションを再生することができる。図6は、1つの実施例におけるデータダウンロードのインタラクション模式図を示している。
本願は、さらに別の応用シーンを提供し、該応用シーンは、上記のデータダウンロード方法を応用する。具体的に、該データダウンロード方法の該応用シーンでの応用は、以下のとおりである。
ユーザーがライブビデオを視聴する必要があるときに、ユーザーは、ライブアプリケーションを起動にすることができ、それによりライブアプリケーションは、PCDN SDKにデータダウンロード要求を送信し、それによってPCDN SDKは、フォグノードの中からライブデータを取り出し、取り出したライブデータをライブアプリケーションに返信することができる。それによりライブアプリケーションは、受信したライブデータに基づいて対応してライブビデオを再生することができる。
1つの具体的な実施例において、図7に示されるように、本願が提供するデータダウンロード方法は、以下のステップS702~S718を含む。
S702:目標データに対するデータダウンロード要求を取得したときに、目標データのデータ識別子に基づいて目標データに対応するフォグノード集合を決定し、且つフォグノード集合における各フォグノードの利用可能なリソース情報を取得する。
S704:フォグノード集合における各フォグノードとの間の透過接続を確立し、透過接続に基づいて、フォグノード集合における各フォグノードの通信プロトコルタイプを決定する。
S706:少なくとも1つのフォグノードの中から、通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであって、利用可能なリソースが予め設定されたアイドル条件を満たしており、かつ単一ノードの同時ダウンロード数が数量閾値よりも小さい、フォグノードを選び出して、現在の目標フォグノードとする。
S708:目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得する。
S710:現在の目標フォグノードの通信プロトコルが信頼性のある双方向の通信プロトコルタイプであるときに、第1目標値に基づきスライス処理を行うことに用いられる目標スライスサイズを決定し、現在の目標フォグノードの通信プロトコルがコネクションレス通信プロトコルタイプであるときに、第2目標値に基づきスライス処理を行うことに用いられる目標スライスサイズを決定し、第2目標値は、第1目標値と異なる。
S712:目標スライスサイズに基づき、ダウンロード対象の目標データに対してスライス処理を行い、現在のダウンロード対象のスライスデータのスライス情報を獲得する。
S714:現在のダウンロード対象のスライスデータのスライス情報に基づき、現在の目標フォグノードにスライスダウンロード要求を送信して、現在のダウンロード対象のスライスデータをダウンロードする。
S716:現在の目標フォグノードのフォグノード情報を更新し、次の目標フォグノードに基づきスライスデータダウンロードを行うプロセスに進み、且つ通信プロトコルタイプ、利用可能なリソース情報、及び単一ノードの同時ダウンロード数に基づいて、少なくとも1つのフォグノードの中から現在の目標フォグノードを選び出すステップに戻って実行し続け、目標ファイルに対応するダウンロード対象のスライスデータのダウンロードがいずれも完了するまで続ける。
S718:各目標フォグノードがそれぞれ相応なスライスダウンロード要求に応答して返信したスライスデータに基づいて、組み合わせて目標データを獲得する。
上記データダウンロード方法において、目標データに対するデータダウンロード要求を取得することによって、データダウンロード要求に基づき目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせることができ、それにより、フォグノード情報に基づき少なくとも1つのフォグノードの中から機器性能がより優れた目標フォグノードを選び出すことができ、さらに機器性能がより優れた目標フォグノードに基づき目標データのダウンロードレートを高めることができる。目標フォグノードを決定することによって、目標フォグノードの通信プロトコルタイプに基づき、目標データに対してスライス処理を行い、目標フォグノードの特性により合致するスライス情報を獲得することができ、このように、目標フォグノードの特性により合致するスライス情報に基づき、対応する目標フォグノードにスライスダウンロード要求を送信して、目標フォグノードからスライスデータを迅速にダウンロードすることができる。目標フォグノードからスライスデータをダウンロードすることによって、各目標フォグノードが返信したスライスデータを組み合わせることができ、それにより目標データを獲得する。本願は、フォグノードが採用した通信プロトコルタイプを検出し、且つ検出して獲得した通信プロトコルタイプによって、適切な目標フォグノードをスケジューリングして選択し、相応なスライスデータをダウンロードすることができるため、本願は、異なる通信プロトコルタイプと適合し、異なる通信プロトコルタイプを採用する目標フォグノードの中からスライスデータをダウンロードすることができる。
1つの具体的な実施例において、図8に示されるように、本願が提供するデータダウンロード方法は、以下のステップS802~S816を含む。
S802:目標データに対するデータダウンロード要求を取得したときに、目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせ、フォグノード情報は、少なくともフォグノードの通信プロトコルタイプを含む。
S804:フォグノード情報に基づき、少なくとも1つのフォグノードの中から目標フォグノードを決定する。
S806:目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得する。
S808:各ダウンロード対象のスライスデータのスライス情報に基づき、並列の方式で各ダウンロード対象のスライスデータの各々に対応する目標フォグノードにスライスダウンロード要求を送信し、ここで、同時にダウンロードされるスライスデータの数量は、全体の最大同時数よりも小さいか、又はそれに等しい。
S810:複数の目標フォグノードのうちの各目標フォグノードに対して、いずれも現在の目標フォグノードの通信プロトコルタイプが目標プロトコルタイプであるときに、現在の目標フォグノードからダウンロードされるリソースデータパケットを決定する。
S812:リソースデータパケットに基づいて相応な回答メッセージを生成し、且つ回答メッセージを現在の目標フォグノードに送信し、回答メッセージは、端末が既に受信したリソースデータパケットに基づき、端末が受信していないリソースデータパケットを再送信するように、現在の目標フォグノードに指示することに用いられる。
S814:端末が受信したリソースデータパケットに基づき、現在の目標フォグノードの通信プロトコルタイプを未知のプロトコルタイプから信頼性のある双方向の通信プロトコルタイプに更新するときに、現在の目標フォグノードに回答メッセージを送信することを一時停止する。
S816:各目標フォグノードがそれぞれ相応なスライスダウンロード要求に応答して返信したスライスデータに基づいて、組み合わせて目標データを獲得する。
理解すべきであるように、図2、及び図7~8のフローチャートにおける各ステップは、矢印の指示に従って順に表示されているが、これらのステップは、必ずしも矢印で指示される順序に応じて順に実行されるわけではない。本明細書において明確に説明されない限り、これらのステップの実行は、厳密な順序には制限されず、これらのステップは、その他の順序で実行されてもよい。そして、図2、及び図7~8における少なくとも一部のステップは、複数のステップ、又は複数の段階を含んでもよく、これらのステップ、又は段階は、必ずしも同一の時点で実行して完了されるわけではなく、異なる時点で実行されてもよい。これらのステップ、又は段階の実行順序は、必ずしも順に行われるわけではなく、その他のステップ、又はその他のステップにおけるステップ、又は段階の少なくとも一部と順番、又は交互に実行されてもよい。
そのうちの1つの実施例において、図9に示されるように、データダウンロード装置900を提供する。該装置は、ソフトウェアモジュール、又はハードウェアモジュール、又は両方の組み合わせを採用して、コンピュータ機器の一部になることができ、該装置は、具体的に、目標ノード決定モジュール902、スライスモジュール904、及び要求送信モジュール906を含み、ここで、
目標ノード決定モジュール902は、目標データに対するデータダウンロード要求を取得したときに、上記目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせることであって、上記フォグノード情報は、少なくともフォグノードの通信プロトコルタイプを含む、ことと、上記フォグノード情報に基づき、上記少なくとも1つのフォグノードの中から目標フォグノードを決定することと、に用いられる。
スライスモジュール904は、上記目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得することに用いられる。
要求送信モジュール906は、上記ダウンロード対象のスライスデータのスライス情報に基づき、上記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信することと、各目標フォグノードがそれぞれ相応なスライスダウンロード要求に応答して返信したスライスデータに基づいて、組み合わせて目標データを獲得することと、に用いられる。
そのうちの1つの実施例において、図10に参照されるように、フォグノード情報は、フォグノードの利用可能なリソース情報をさらに含み、目標ノード決定モジュール902は、目標データに対するデータダウンロード要求を取得したときに、目標データのデータ識別子に基づいて目標データに対応するフォグノード集合を決定し、且つフォグノード集合における各フォグノードの利用可能なリソース情報を取得することと、フォグノード集合における各フォグノードとの間の透過接続を確立することと、透過接続に基づいて、フォグノード集合における各フォグノードの通信プロトコルタイプを決定することと、に用いられる情報決定モジュール9021をさらに含む。
そのうちの1つの実施例において、データダウンロード装置900は、さらに、目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象のスライスデータのスライスサイズを決定することと、スライスサイズに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得することと、に用いられる。
そのうちの1つの実施例において、データダウンロード装置900は、さらに、通信プロトコルタイプ、利用可能なリソース情報、及び単一ノードの同時ダウンロード数に基づいて、少なくとも1つのフォグノードの中から現在の目標フォグノードを選び出すことと、現在の目標フォグノードの通信プロトコルタイプに基づいて、スライス処理を行うことに用いられる目標スライスサイズを決定することと、目標スライスサイズに基づき、ダウンロード対象の目標データに対してスライス処理を行い、現在のダウンロード対象のスライスデータのスライス情報を獲得することと、現在のダウンロード対象のスライスデータのスライス情報に基づき、現在の目標フォグノードにスライスダウンロード要求を送信して、現在のダウンロード対象のスライスデータをダウンロードすることと、に用いられる。
そのうちの1つの実施例において、データダウンロード装置900は、さらに、現在の目標フォグノードのフォグノード情報を更新し、次の目標フォグノードに基づきスライスデータダウンロードを行うプロセスに進み、且つ通信プロトコルタイプ、利用可能なリソース情報、及び単一ノードの同時ダウンロード数に基づいて、少なくとも1つのフォグノードの中から現在の目標フォグノードを選び出すステップに戻って実行し続け、目標ファイルに対応するダウンロード対象のスライスデータのダウンロードがいずれも完了するまで続けることに用いられる。
そのうちの1つの実施例において、目標ノード決定モジュール902は、さらに、少なくとも1つのフォグノードの中から、通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであって、利用可能なリソースが予め設定されたアイドル条件を満たしており、かつ単一ノードの同時ダウンロード数が数量閾値よりも小さい、フォグノードを選び出し、且つ選び出されたフォグノードを現在の目標フォグノードとすることに用いられる。
そのうちの1つの実施例において、スライスモジュール904は、現在の目標フォグノードの通信プロトコルが信頼性のある双方向の通信プロトコルタイプであるときに、第1目標値に基づきスライス処理を行うことに用いられる目標スライスサイズを決定することと、現在の目標フォグノードの通信プロトコルがコネクションレス通信プロトコルタイプであるときに、第2目標値に基づきスライス処理を行うことに用いられる目標スライスサイズを決定することであって、第2目標値は、第1目標値と異なる、ことと、に用いられるスライスサイズ決定モジュール9041をさらに含む。
そのうちの1つの実施例において、データダウンロード装置900は、さらに、フォグノード情報に基づき、フォグノードの中から少なくとも1つの目標フォグノードを決定することと、各目標フォグノードの各々に対応する通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、少なくとも1つのダウンロード対象のスライスデータのスライス情報を獲得することと、各ダウンロード対象のスライスデータのスライス情報に基づき、各ダウンロード対象のスライスデータの各々に対応する目標フォグノードにスライスダウンロード要求を送信することと、に用いられる。
そのうちの1つの実施例において、スライスモジュール904は、さらに、各ダウンロード対象のスライスデータの各々に対応するスライス情報に基づき、各上記ダウンロード対象のスライスデータの各々に対応するスライスダウンロード要求を生成することと、並列の方式で各ダウンロード対象のスライスデータの各々に対応する目標フォグノードにスライスダウンロード要求を送信することであって、同時にダウンロードされるスライスデータの数量は、予め設定された全体の最大同時数よりも小さいか、又はそれに等しい、ことと、に用いられる。
そのうちの1つの実施例において、データダウンロード装置900は、さらに、端末が信頼性のある双方向の通信プロトコルタイプをサポートするときに、端末が信頼性のある双方向の通信プロトコル、又はコネクションレス通信プロトコルによって、ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信することと、端末がコネクションレス通信プロトコルタイプのみをサポートするときに、端末がコネクションレス通信プロトコルによって、ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信することと、に用いられる。
そのうちの1つの実施例において、スライスデータは、少なくとも1つのリソースデータパケットを含み、データダウンロード装置900は、複数の目標フォグノードのうちの各目標フォグノードに対して、いずれも現在の目標フォグノードの通信プロトコルタイプが目標プロトコルタイプであるときに、現在の目標フォグノードからダウンロードされるリソースデータパケットを決定することと、リソースデータパケットに基づいて相応な回答メッセージを生成し、且つ回答メッセージを現在の目標フォグノードに送信することであって、回答メッセージは、端末が既に受信したリソースデータパケットに基づき、端末が受信していないリソースデータパケットを再送信するように、現在の目標フォグノードに指示することに用いられる、ことと、に用いられる回答モジュール908をさらに含む。
そのうちの1つの実施例において、目標プロトコルタイプは、未知のプロトコルタイプを含み、回答モジュール908は、さらに、端末が受信したリソースデータパケットに基づき、現在の目標フォグノードの通信プロトコルタイプを未知のプロトコルタイプから信頼性のある双方向の通信プロトコルタイプに更新するときに、現在の目標フォグノードに回答メッセージを送信することを一時停止することに用いられる。
そのうちの1つの実施例において、目標プロトコルタイプは、未知のプロトコルタイプを含み、回答モジュール908は、さらに、端末が受信したリソースデータパケットに基づき、現在の目標フォグノードの通信プロトコルタイプを未知のプロトコルタイプからコネクションレス通信プロトコルタイプに更新するときに、現在の目標フォグノードに回答メッセージを送信することを維持することに用いられる。
そのうちの1つの実施例において、目標データは、目標ビデオであり、データダウンロード要求は、マルチメディア再生アプリケーションが発行した目標ビデオに対するビデオダウンロード要求であり、データダウンロード装置900は、さらに、目標ビデオをダウンロードして獲得したときに、目標ビデオをマルチメディア再生アプリケーションに送信することと、マルチメディア再生アプリケーションによって目標ビデオを再生することと、に用いられる。
データダウンロード装置に関する具体的な限定は、上記のデータダウンロード方法に対する限定を参照することができるが、ここで再度詳細に説明しない。上記データダウンロード装置における各モジュールは、全部、又は部分的にソフトウェア、ハードウェア、及びそれらの組み合わせによって実現されてもよい。上記各モジュールは、ハードウェアの形式でコンピュータ機器におけるプロセッサに埋め込まれるか、又はそれから独立するようにしてもよく、ソフトウェアの形式でコンピュータ機器におけるメモリに記憶されてもよく、それによってプロセッサは、上記の各モジュールに対応する操作を呼び出して実行する。
そのうちの1つの実施例において、コンピュータ機器を提供し、該コンピュータ機器は、端末であってもよく、その内部構造図は、図11に示されてもよい。該コンピュータ機器は、システムバスを介して接続されたプロセッサ、メモリ、通信インタフェース、ディスプレイスクリーン、及び入力装置を含む。ここで、該コンピュータ機器のプロセッサは、計算、及び制御能力を提供することに用いられる。該コンピュータ機器のメモリは、不揮発性記憶媒体、及び内部メモリを含む。該不揮発性記憶媒体には、オペレーティングシステム、及びコンピュータプログラムが記憶されている。該内部メモリは、不揮発性記憶媒体におけるオペレーティングシステム、及びコンピュータプログラムの実行に環境を提供する。該コンピュータ機器の通信インタフェースは、外部の端末と有線、又は無線方式の通信を行うことに用いられ、無線方式は、WIFI、オペレータネットワーク、NFC(近距離無線通信)、又はその他の技術で実現されてもよい。該コンピュータプログラムがプロセッサにより実行されるときにデータダウンロード方法を実現する。該コンピュータ機器のディスプレイスクリーンは、液晶ディスプレイスクリーン、又は電子インクディスプレイスクリーンであってもよく、該コンピュータ機器の入力装置は、ディスプレイスクリーン上に被覆されたタッチ層であってもよく、コンピュータ機器のケーシング上に設置されたボタン、トラックボール、又はタッチ制御パッドであってもよく、さらに外付けのキーボード、タッチ制御パッド、又はマウス等であってもよい。
当業者が理解できるように、図11において示される構造は、単に本願の解決手段に関連する一部の構造のブロック図であり、本願の解決手段を応用するコンピュータ機器に対する限定を構成せず、具体的なコンピュータ機器は、図面において示されるものよりも多く、又は少ない部材を含んでもよく、又はある部材を組み合わせ、又は異なる部材配置を有する。
そのうちの1つの実施例において、さらに、コンピュータ機器を提供し、メモリとプロセッサとを含み、メモリにおいてコンピュータプログラムが記憶され、該プロセッサは、コンピュータプログラムを実行するときに上記各方法の実施例におけるステップを実現する。
そのうちの1つの実施例において、コンピュータ可読記憶媒体を提供し、コンピュータプログラムが記憶され、該コンピュータプログラムがプロセッサにより実行されるときに上記各方法の実施例におけるステップを実現する。
そのうちの1つの実施例において、コンピュータプログラム製品、又はコンピュータプログラムを提供し、該コンピュータプログラム製品、又はコンピュータプログラムは、コンピュータ命令を含み、該コンピュータ命令は、コンピュータ可読記憶媒体に記憶される。コンピュータ機器のプロセッサは、コンピュータ可読記憶媒体から該コンピュータ命令を読み取り、プロセッサは、該コンピュータ命令を実行して、該コンピュータ機器に上記各方法の実施例におけるステップを実行させる。
当業者であれば理解できるように、上記実施例の方法における全部、又は一部のプロセスを実現することは、コンピュータプログラムによって関連するハードウェアに命令して完了させてもよく、上記コンピュータプログラムは、不揮発性コンピュータ可読記憶媒体に記憶されてもよく、該コンピュータプログラムが実行されるときに、上記各方法の実施例のプロセスを含んでもよい。ここで、本願が提供する各実施例において使用されるメモリ、記憶、データベース、又はその他の媒体に対する何らの引用は、いずれも不揮発性メモリ、及び揮発性メモリのうちの少なくとも一種を含んでもよい。不揮発性メモリは、読み取り専用メモリ(Read-Only Memory、ROM)、磁気テープ、フロッピーディスク、フラッシュメモリ、又は光メモリ等を含んでもよい。揮発性メモリは、ランダムアクセスメモリ(Random Access Memory、RAM)、又は外部キャッシュメモリを含んでもよい。非制限的な説明として、RAMは、複数の形式のもの、例えばスタティックランダムアクセスメモリ(Static Random Access Memory、SRAM)、又はダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM)等であってもよい。
100 データダウンロードシステム
102 コンピュータ機器
104 フォグノード
900 データダウンロード装置
902 目標ノード決定モジュール
904 スライスモジュール
906 要求送信モジュール
908 回答モジュール
9021 情報決定モジュール
9041 スライスサイズ決定モジュール

Claims (20)

  1. コンピュータ機器により実行される、データダウンロード方法であって、前記方法は、
    目標データに対するデータダウンロード要求を取得したときに、前記目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせるステップであって、前記フォグノード情報は、少なくともフォグノードの通信プロトコルタイプを含む、ステップと、
    前記フォグノード情報に基づき、前記少なくとも1つのフォグノードの中から目標フォグノードを決定するステップと、
    前記目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得するステップと、
    前記ダウンロード対象のスライスデータのスライス情報に基づき、前記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップと、
    各目標フォグノードがそれぞれ相応なスライスダウンロード要求に応答して返信したスライスデータに基づいて、組み合わせて目標データを獲得するステップと、を含む、データダウンロード方法。
  2. 前記フォグノード情報は、フォグノードの利用可能なリソース情報をさらに含み、目標データに対するデータダウンロード要求を取得したときに、前記目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせる前記ステップは、
    目標データに対するデータダウンロード要求を取得したときに、前記目標データのデータ識別子に基づいて前記目標データに対応するフォグノード集合を決定し、且つ前記フォグノード集合における各フォグノードの利用可能なリソース情報を取得するステップと、
    前記フォグノード集合における各フォグノードとの間の透過接続を確立するステップと、
    前記透過接続に基づいて、前記フォグノード集合における各フォグノードの通信プロトコルタイプを決定するステップと、を含む、ことを特徴とする請求項1に記載の方法。
  3. 前記目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得する前記ステップは、
    前記目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象のスライスデータのスライスサイズを決定するステップと、
    前記スライスサイズに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得するステップと、を含む、ことを特徴とする請求項1に記載の方法。
  4. 前記フォグノード情報は、フォグノードの利用可能なリソース情報と単一ノードの同時ダウンロード数とをさらに含み、前記フォグノード情報に基づき、前記少なくとも1つのフォグノードの中から目標フォグノードを決定する前記ステップは、
    前記通信プロトコルタイプ、前記利用可能なリソース情報、及び前記単一ノードの同時ダウンロード数に基づいて、前記少なくとも1つのフォグノードの中から現在の目標フォグノードを選び出すステップを含み、
    前記目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得する前記ステップは、
    前記現在の目標フォグノードの通信プロトコルタイプに基づいて、スライス処理を行うことに用いられる目標スライスサイズを決定するステップと、
    前記目標スライスサイズに基づき、ダウンロード対象の目標データに対してスライス処理を行い、現在のダウンロード対象のスライスデータのスライス情報を獲得するステップと、を含み、及び
    前記ダウンロード対象のスライスデータのスライス情報に基づき、前記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信する前記ステップは、
    前記現在のダウンロード対象のスライスデータのスライス情報に基づき、前記現在の目標フォグノードにスライスダウンロード要求を送信して、前記現在のダウンロード対象のスライスデータをダウンロードするステップを含む、ことを特徴とする請求項1に記載の方法。
  5. 前記方法は、
    前記現在の目標フォグノードのフォグノード情報を更新し、次の目標フォグノードに基づきスライスデータダウンロードを行うプロセスに進み、且つ前記通信プロトコルタイプ、前記利用可能なリソース情報、及び前記単一ノードの同時ダウンロード数に基づいて、前記少なくとも1つのフォグノードの中から現在の目標フォグノードを選び出す前記ステップに戻って実行し続け、前記目標ファイルに対応するダウンロード対象のスライスデータのダウンロードがいずれも完了するまで続けるステップをさらに含む、ことを特徴とする請求項4に記載の方法。
  6. 前記通信プロトコルタイプ、前記利用可能なリソース情報、及び前記単一ノードの同時ダウンロード数に基づいて、前記少なくとも1つのフォグノードの中から現在の目標フォグノードを選び出す前記ステップは、
    前記少なくとも1つのフォグノードの中から、通信プロトコルタイプが信頼性のある双方向の通信プロトコルタイプであって、利用可能なリソースが予め設定されたアイドル条件を満たしており、かつ単一ノードの同時ダウンロード数が数量閾値よりも小さい、フォグノードを選び出し、且つ選び出されたフォグノードを現在の目標フォグノードとするステップを含む、ことを特徴とする請求項4に記載の方法。
  7. 前記現在の目標フォグノードの通信プロトコルタイプに基づいて、スライス処理を行うことに用いられる目標スライスサイズを決定する前記ステップは、
    前記現在の目標フォグノードの通信プロトコルが信頼性のある双方向の通信プロトコルタイプであるときに、第1目標値に基づきスライス処理を行うことに用いられる目標スライスサイズを決定するステップと、
    前記現在の目標フォグノードの通信プロトコルがコネクションレス通信プロトコルタイプであるときに、第2目標値に基づきスライス処理を行うことに用いられる目標スライスサイズを決定するステップであって、前記第2目標値は、前記第1目標値と異なる、ステップと、を含む、ことを特徴とする請求項4に記載の方法。
  8. 前記フォグノード情報に基づき、前記少なくとも1つのフォグノードの中から目標フォグノードを決定する前記ステップは、
    前記フォグノード情報に基づき、前記フォグノードの中から少なくとも1つの目標フォグノードを決定するステップを含み、
    前記目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得する前記ステップは、
    各目標フォグノードの各々に対応する通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、少なくとも1つのダウンロード対象のスライスデータのスライス情報を獲得するステップを含み、及び
    前記ダウンロード対象のスライスデータのスライス情報に基づき、前記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信する前記ステップは、
    各前記ダウンロード対象のスライスデータのスライス情報に基づき、各前記ダウンロード対象のスライスデータの各々に対応する目標フォグノードにスライスダウンロード要求を送信するステップを含む、ことを特徴とする請求項1に記載の方法。
  9. 各前記ダウンロード対象のスライスデータのスライス情報に基づき、各前記ダウンロード対象のスライスデータの各々に対応する目標フォグノードにスライスダウンロード要求を送信する前記ステップは、
    各前記ダウンロード対象のスライスデータの各々に対応するスライス情報に基づき、各前記ダウンロード対象のスライスデータの各々に対応するスライスダウンロード要求を生成するステップと、
    並列の方式で、各前記ダウンロード対象のスライスデータの各々に対応する目標フォグノードに前記スライスダウンロード要求を送信するステップであって、同時にダウンロードされるスライスデータの数量は、予め設定された全体の最大同時数よりも小さいか、又はそれに等しい、ステップと、を含む、ことを特徴とする請求項8に記載の方法。
  10. 前記方法は、端末によって実行され、前記通信プロトコルタイプは、信頼性のある双方向の通信プロトコルタイプとコネクションレス通信プロトコルタイプとを含み、前記ダウンロード対象のスライスデータのスライス情報に基づき、前記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信する前記ステップは、
    前記端末が信頼性のある双方向の通信プロトコルタイプをサポートするときに、前記端末が信頼性のある双方向の通信プロトコル、又はコネクションレス通信プロトコルによって、前記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップと、
    前記端末がコネクションレス通信プロトコルタイプのみをサポートするときに、前記端末がコネクションレス通信プロトコルによって、前記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信するステップと、を含む、ことを特徴とする請求項1に記載の方法。
  11. 前記スライスデータは、少なくとも1つのリソースデータパケットを含み、前記方法は、
    複数の目標フォグノードのうちの各目標フォグノードに対して、いずれも現在の目標フォグノードの通信プロトコルタイプが目標プロトコルタイプであるときに、前記現在の目標フォグノードからダウンロードされるリソースデータパケットを決定するステップと、
    前記リソースデータパケットに基づいて相応な回答メッセージを生成し、且つ前記回答メッセージを前記現在の目標フォグノードに送信するステップであって、前記回答メッセージは、端末が既に受信したリソースデータパケットに基づき、端末が受信していないリソースデータパケットを再送信するように、前記現在の目標フォグノードに指示することに用いられる、ステップと、をさらに含む、ことを特徴とする請求項1に記載の方法。
  12. 前記目標プロトコルタイプは、未知のプロトコルタイプを含み、前記方法は、
    端末が受信したリソースデータパケットに基づき、前記現在の目標フォグノードの通信プロトコルタイプを未知のプロトコルタイプから信頼性のある双方向の通信プロトコルタイプに更新するときに、前記現在の目標フォグノードに回答メッセージを送信することを一時停止するステップをさらに含む、ことを特徴とする請求項9に記載の方法。
  13. 前記目標プロトコルタイプは、未知のプロトコルタイプを含み、前記方法は、
    端末が受信したリソースデータパケットに基づき、前記現在の目標フォグノードの通信プロトコルタイプを未知のプロトコルタイプからコネクションレス通信プロトコルタイプに更新するときに、前記現在の目標フォグノードに回答メッセージを送信することを維持するステップをさらに含む、ことを特徴とする請求項9に記載の方法。
  14. 前記目標データは、目標ビデオであり、前記データダウンロード要求は、マルチメディア再生アプリケーションが発行した前記目標ビデオに対するビデオダウンロード要求であり、前記方法は、
    目標ビデオをダウンロードして獲得したときに、前記目標ビデオを前記マルチメディア再生アプリケーションに送信するステップと、
    前記マルチメディア再生アプリケーションによって前記目標ビデオを再生するステップと、をさらに含む、ことを特徴とする請求項1~13のいずれか一項に記載の方法。
  15. データダウンロード装置であって、コンピュータ機器により実行され、前記装置は、
    目標データに対するデータダウンロード要求を取得したときに、前記目標データに対応する少なくとも1つのフォグノードのフォグノード情報を問い合わせることであって、前記フォグノード情報は、少なくともフォグノードの通信プロトコルタイプを含む、ことと、前記フォグノード情報に基づき、前記少なくとも1つのフォグノードの中から目標フォグノードを決定することと、に用いられる目標ノード決定モジュールと、
    前記目標フォグノードの通信プロトコルタイプに基づいて、ダウンロード対象の目標データに対してスライス処理を行い、ダウンロード対象のスライスデータのスライス情報を獲得することに用いられるスライスモジュールと、
    前記ダウンロード対象のスライスデータのスライス情報に基づき、前記ダウンロード対象のスライスデータに対応する目標フォグノードにスライスダウンロード要求を送信することと、各目標フォグノードがそれぞれ相応なスライスダウンロード要求に応答して返信したスライスデータに基づいて、組み合わせて目標データを獲得することと、に用いられる要求送信モジュールと、を含む、データダウンロード装置。
  16. 前記フォグノード情報は、フォグノードの利用可能なリソース情報をさらに含み、前記目標ノード決定モジュールは、目標データに対するデータダウンロード要求を取得したときに、前記目標データのデータ識別子に基づいて前記目標データに対応するフォグノード集合を決定し、且つ前記フォグノード集合における各フォグノードの利用可能なリソース情報を取得することと、前記フォグノード集合における各フォグノードとの間の透過接続を確立することと、前記透過接続に基づいて、前記フォグノード集合における各フォグノードの通信プロトコルタイプを決定することと、に用いられる情報決定モジュールをさらに含む、ことを特徴とする請求項15に記載の装置。
  17. 前記スライスデータは、少なくとも1つのリソースデータパケットを含み、前記データダウンロード装置は、複数の目標フォグノードのうちの各目標フォグノードに対して、いずれも現在の目標フォグノードの通信プロトコルタイプが目標プロトコルタイプであるときに、前記現在の目標フォグノードからダウンロードされるリソースデータパケットを決定することと、前記リソースデータパケットに基づいて相応な回答メッセージを生成し、且つ前記回答メッセージを前記現在の目標フォグノードに送信することであって、前記回答メッセージは、端末が既に受信したリソースデータパケットに基づき、端末が受信していないリソースデータパケットを再送信するように、前記現在の目標フォグノードに指示することに用いられる、ことと、に用いられる回答モジュールをさらに含む、ことを特徴とする請求項15に記載の装置。
  18. メモリとプロセッサとを含み、前記メモリにコンピュータプログラムが記憶されているコンピュータ機器であって、前記プロセッサは、前記コンピュータプログラムを実行するときに請求項1~14のいずれか一項に記載の方法のステップを実現する、ことを特徴とするコンピュータ機器。
  19. コンピュータプログラムが記憶されているコンピュータ可読記憶媒体であって、前記コンピュータプログラムがプロセッサにより実行されるときに請求項1~14のいずれか一項に記載の方法のステップを実現する、ことを特徴とするコンピュータ可読記憶媒体。
  20. コンピュータプログラム製品であって、コンピュータプログラムを含み、前記コンピュータプログラムがプロセッサにより実行されるときに請求項1~14のいずれか一項に記載の方法のステップを実現する、コンピュータプログラム製品。
JP2023526436A 2021-05-17 2022-04-08 データダウンロード方法、装置、及びコンピュータ機器 Pending JP2023547256A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202110531639.2A CN112954406B (zh) 2021-05-17 2021-05-17 数据下载方法、装置、计算机设备和存储介质
CN202110531639.2 2021-05-17
PCT/CN2022/085776 WO2022242361A1 (zh) 2021-05-17 2022-04-08 数据下载方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
JP2023547256A true JP2023547256A (ja) 2023-11-09

Family

ID=76233882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023526436A Pending JP2023547256A (ja) 2021-05-17 2022-04-08 データダウンロード方法、装置、及びコンピュータ機器

Country Status (5)

Country Link
US (1) US20230107093A1 (ja)
EP (1) EP4221233A4 (ja)
JP (1) JP2023547256A (ja)
CN (1) CN112954406B (ja)
WO (1) WO2022242361A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112954406B (zh) * 2021-05-17 2021-07-30 腾讯科技(深圳)有限公司 数据下载方法、装置、计算机设备和存储介质
CN113645288B (zh) * 2021-08-02 2023-03-28 北京金山云网络技术有限公司 数据下载方法、装置、计算机设备和存储介质
CN113596166B (zh) * 2021-08-02 2023-09-01 北京金山云网络技术有限公司 数据获取方法、装置、计算机设备和存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100405795C (zh) * 2005-02-24 2008-07-23 广东省电信有限公司研究院 分布式对等流媒体的服务系统及其点播节目的实现方法
US20070043874A1 (en) * 2005-08-17 2007-02-22 Virendra Nath File transfer method and system
US20070288638A1 (en) * 2006-04-03 2007-12-13 British Columbia, University Of Methods and distributed systems for data location and delivery
CN101282281B (zh) * 2007-04-03 2011-03-30 华为技术有限公司 一种媒体分发系统、装置及流媒体播放方法
US8051480B2 (en) * 2008-10-21 2011-11-01 Lookout, Inc. System and method for monitoring and analyzing multiple interfaces and multiple protocols
CN101437044B (zh) * 2008-11-28 2012-05-09 中兴通讯股份有限公司 基于切片的点对点网络技术的文件下载方法及系统
CN101741914B (zh) * 2010-02-03 2012-11-21 上海悠络客电子科技有限公司 一种p2p网络中穿透nat建立覆盖网的方法和系统
US10949301B2 (en) * 2011-06-06 2021-03-16 Pure Storage, Inc. Pre-positioning pre-stored content in a content distribution system
CN102333012B (zh) * 2011-10-17 2014-06-04 苏州迈科网络安全技术股份有限公司 P2p流量检测方法及装置
US20190036648A1 (en) * 2014-05-13 2019-01-31 Datomia Research Labs Ou Distributed secure data storage and transmission of streaming media content
US10305640B2 (en) * 2014-07-18 2019-05-28 Samsung Electronics Co., Ltd. Communication method of node in content centric network (CCN) and the node
CN105898388B (zh) * 2016-04-05 2019-07-23 合一网络技术(北京)有限公司 一种节点下载调度方法和装置
CN109194778B (zh) * 2018-09-12 2021-11-05 杭州趣链科技有限公司 一种基于kcp协议的nat穿透方法
CN111182331B (zh) * 2019-10-26 2021-09-28 腾讯科技(深圳)有限公司 媒体数据切片方法、系统及存储介质
CN112004265B (zh) * 2019-12-20 2023-02-14 南京邮电大学 一种基于srm算法的社交网络资源分配方法
CN111371888B (zh) * 2020-03-02 2021-07-09 西南交通大学 一种基于纠删编码的多源数据传输系统及方法
CN111447265A (zh) * 2020-03-24 2020-07-24 深圳市网心科技有限公司 文件存储方法、文件下载方法和文件处理方法及相关组件
CN111629075B (zh) * 2020-08-03 2020-12-18 腾讯科技(深圳)有限公司 一种数据下载方法和相关装置
CN112165523A (zh) * 2020-09-28 2021-01-01 腾讯科技(深圳)有限公司 一种数据下载方法和装置
CN112019641B (zh) * 2020-10-19 2021-01-15 腾讯科技(深圳)有限公司 数据传输方法和装置
CN112422241B (zh) * 2020-11-09 2021-11-30 广州博冠信息科技有限公司 数据传输方法、装置、存储介质及计算机设备
CN112073542B (zh) * 2020-11-12 2021-02-05 腾讯科技(深圳)有限公司 雾节点调度方法、装置、计算机设备和存储介质
US11564145B2 (en) * 2021-05-05 2023-01-24 Cisco Technology, Inc. Selecting a network node that supports a slice requirement
CN112954406B (zh) * 2021-05-17 2021-07-30 腾讯科技(深圳)有限公司 数据下载方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
EP4221233A1 (en) 2023-08-02
CN112954406A (zh) 2021-06-11
US20230107093A1 (en) 2023-04-06
EP4221233A4 (en) 2024-01-24
CN112954406B (zh) 2021-07-30
WO2022242361A1 (zh) 2022-11-24

Similar Documents

Publication Publication Date Title
US11297140B2 (en) Point of presence based data uploading
Afanasyev et al. A brief introduction to named data networking
JP2023547256A (ja) データダウンロード方法、装置、及びコンピュータ機器
JP7109044B2 (ja) 改善されたモバイルインターネットの速度およびセキュリティのためのシステム
US11102290B2 (en) Peer-to-peer network prioritizing propagation of objects through the network
Ledlie et al. Distributed, secure load balancing with skew, heterogeneity and churn
US9106668B2 (en) Distributed peer location in peer-to-peer file transfers
KR101215993B1 (ko) 피어―투―피어 라이브 스트리밍을 위한 콘텐츠 분산 네트워크
WO2018076765A1 (zh) 云计算系统的内容分发方法及装置、计算节点及系统
Nordström et al. Haggle: Opportunistic mobile content sharing using search
US8812718B2 (en) System and method of streaming data over a distributed infrastructure
US11843642B1 (en) Serverless signaling in peer-to-peer session initialization
EP3576371B1 (en) Method and system for transmitting streaming media resource
US20120233240A1 (en) Sctp association endpoint relocation in a load balancing system
Amoretti et al. Service migration within the cloud: Code mobility in SP2A
CN114911602A (zh) 一种服务器集群的负载均衡方法、装置、设备和存储介质
CN109995838A (zh) 虚拟内容调度方法、装置、设备及计算机可读存储介质
US20080288447A1 (en) Methods and apparatus for improving peer efficiency
CN114629916B (zh) 基于p2p链路的取流方法、装置及系统
Nordström et al. Haggle: Relevance-aware content sharing for mobile devices using search
Hammami et al. HLPSP: A hybrid live P2P streaming protocol
Kobusińska et al. Distributed content dissemination with a rank function
CN115174999A (zh) 基于未来网络的真4k家庭影院5g网络点播系统
Singh Algorithms for Reliability in Large Scale Structured and Unstructured Peer-to-Peer Overlay Multicast Networks for Live Streaming
Hu Restructuring peer-to-peer networks

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230428

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240422