JP6816275B2 - ドメイン名解析方法、サーバー及び記憶媒体 - Google Patents

ドメイン名解析方法、サーバー及び記憶媒体 Download PDF

Info

Publication number
JP6816275B2
JP6816275B2 JP2019524972A JP2019524972A JP6816275B2 JP 6816275 B2 JP6816275 B2 JP 6816275B2 JP 2019524972 A JP2019524972 A JP 2019524972A JP 2019524972 A JP2019524972 A JP 2019524972A JP 6816275 B2 JP6816275 B2 JP 6816275B2
Authority
JP
Japan
Prior art keywords
domain name
data
name analysis
packet
request packet
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
JP2019524972A
Other languages
English (en)
Other versions
JP2019537372A (ja
Inventor
ジアン,フェンボ
ワン,ハイロン
チェン,ファンジョウ
Original Assignee
テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
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 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド filed Critical テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
Publication of JP2019537372A publication Critical patent/JP2019537372A/ja
Application granted granted Critical
Publication of JP6816275B2 publication Critical patent/JP6816275B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2546Arrangements for avoiding unnecessary translation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

<関連出願>
本出願は、2017年01月11日に中国特許庁に提出された、出願番号が「2017100211114」であって、出願の名称が「ドメイン名解析方法及び装置」である中国特許出願に基づく優先権を主張するものであり、その全内容を本出願に参照により援用する。
<技術分野>
本出願は、コンピュータ技術分野に関し、特に、ドメイン名解析方法、サーバー、及び記憶媒体に関する。
<背景技術>
コンピュータ技術の発展に従って、コンピュータによってインターネットを使用して情報を取得することはますます一般的になっている。ユーザーはインターネットを使用して情報を取得するときに、インターネットプロトコルアドレス(Internet Protocol Address、IPアドレス)を必要とするが、IPアドレスを直接使用することは非常に不便である。従来の技術は、ドメイン名とIPアドレスとのマッピング関係を確立し、ユーザーが解析を要求するドメイン名を取得した後、取得したドメイン名に基づき、当該ドメイン名とマッピング関係があるIPアドレスを解析して取得し、当該IPアドレスに基づきインターネットにアクセスする。
発明が解析しようとする課題
しかしながら、従来のドメイン名解析方法は、ドメイン名解析要求パケットを取得した後、解析が要求されたドメイン名に対応するIPアドレスを解析して取得するまで、当該ドメイン名解析要求パケットの各層のデータプロトコルに基づき、層ごとに解析し、解析工程全体では、複数回のデータコピーが必要になるため、ドメイン名解析効率が低いことになる。
課題を解析するための手段
本出願によって提供される各実施例によれば、ドメイン名解析方法、サーバー及び記憶媒体を提供する。
ドメイン名解析方法であって、
サーバーが、ドメイン名解析要求パケットを取得することと、
前記サーバーが、取得した前記ドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュすることと、
前記サーバーが、前記第1のキャッシュ領域において、キャッシュされた前記ドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされた前記ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得することと、
前記サーバーが、キャッシュされた前記ドメイン名解析要求パケットによって解析が要求されたドメイン名及び要求されたレコードタイプを抽出することと、
前記サーバーが、第2のキャッシュ領域において、抽出された前記ドメイン名に対応し、且つ抽出された前記レコードタイプに属する、プリキャッシュされた応答データを検索することと、
前記サーバーが、検索された前記応答データと修正後の前記ドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得することと、を含む。
メモリとプロセッサーを含むサーバーであって、前記メモリにはコンピュータ可読命令が記憶され、前記コンピュータ可読命令が前記プロセッサーによって実行されるときに、前記プロセッサーに、
ドメイン名解析要求パケットを取得することと、
取得した前記ドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュすることと、
前記第1のキャッシュ領域において、キャッシュされた前記ドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされた前記ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得することと、
キャッシュされた前記ドメイン名解析要求パケットによって解析が要求されたドメイン名及び要求されたレコードタイプを抽出することと、
第2のキャッシュ領域において、抽出された前記ドメイン名に対応し、且つ、抽出された前記レコードタイプに属する、プリキャッシュされた応答データを検索することと、
検索された前記応答データと修正後の前記ドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得することと、を実行させる。
コンピュータ可読命令が記憶される一つまたは複数の不揮発性記憶媒体であって、前記コンピュータ可読命令が一つまたは複数のプロセッサーによって実行されるときに、一つまたは複数のプロセッサーに、
ドメイン名解析要求パケットを取得することと、
取得した前記ドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュすることと、
前記第1のキャッシュ領域において、キャッシュされた前記ドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされた前記ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得することと、
キャッシュされた前記ドメイン名解析要求パケットによって解析が要求されたドメイン名及び要求されたレコードタイプを抽出することと、
第2のキャッシュ領域において、抽出された前記ドメイン名に対応し、且つ、抽出された前記レコードタイプに属する、プリキャッシュされた応答データを検索することと、
検索された前記応答データと修正後の前記ドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得することと、
を実行させる。
本出願の1つ又は複数の実施例の詳細は、添付の図面及び以下の説明に記載されている。本出願の他の特徴、目的、及び利点は、明細書、図面、及び特許請求の範囲から明らかになる。
本出願の実施例における技術案より明確に説明するために、実施例の説明に使用される図面を以下に簡単に説明する。明らかに、以下の説明における図面は本出願の幾つかの実施例に過ぎず、当業者であればいかなる創造的な作業もすることなく図面に従って他の図面を得ることができる。
一実施例におけるドメイン名解析方法の適用環境図である。 一実施例におけるドメイン名解析方法を実施するためのサーバーの内部構成の概略図である。 一実施例におけるドメイン名解析方法の概略フローチャートである。 一実施例における選択された解析スレッドによって、ドメイン名解析要求パケットを取得するステップを実行する概略フローチャートである。 一実施例におけるドメイン名解析サーバーの内部アーキテクチャ図である。 一実施例における第1のキャッシュ領域においてキャッシュされたドメイン名解析要求パケットに含まれたヘッダデータを修正して、キャッシュされたドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得するステップの概略フローチャートである。 一実施例における第2のキャッシュ領域において抽出されたドメイン名に対応し、且つ抽出されたレコードタイプに属するプリキャッシュされた応答データを検索するステップの概略フローチャートである。 一実施例における検索された応答データと修正されたドメイン名解析要求パケットを組み合わせて、ドメイン名解析応答パケットを取得するステップの概略フローチャートである。 他の実施例におけるドメイン名解析方法の概略フローチャートである。 一実施例におけるドメイン名解析工程の論理図である。 一実施例におけるサーバーの構成ブロック図である。 別の実施例におけるサーバーの構成ブロック図である。 他の実施例におけるサーバーの構成ブロック図である。
本出願の目的、技術案、及び利点をより分かりやすくするために、添付の図面及び実施例を参照しながら、以下に本出願をさらに詳細に説明する。本明細書に記載された特定の実施例は単に本出願を説明するものであり、限定することを意図するものではない。
図1は、一実施例におけるドメイン名解析方法の適用環境図である。図1を参照すると、当該ドメイン名解析方法は、ドメイン名解析システムに適用される。ドメイン名解析システムは、端末110と、ドメイン名解析サーバー120と、許可ドメイン名サーバー130を含み、端末110は、ネットワークによってドメイン名解析サーバー120に接続され、ドメイン名解析サーバー120は、ネットワークによって許可ドメイン名サーバー130に接続される。端末110は具体的に、デスクトップ端末又はモバイル端末であってもよく、モバイル端末は具体的に、携帯電話、タブレットPC、ノートブックコンピュータ、スマートウォッチ、携帯情報端末(PDA)、及びネットワーク対応電子リーダのうちの少なくとも1つであってもよい。ドメイン名解析サーバー120と許可ドメイン名サーバー130は、具体的に、独立した物理サーバーであってもよいし、物理サーバークラスタであってもよい。
図2に示すように、一実施例では、サーバーが提供され、当該サーバーは、ドメイン名解析方法を実施するように、図1におけるドメイン名解析サーバー120として使用できる。図2を参照すると、当該サーバーは、システムバスで接続されたプロセッサー、メモリ、及びネットワークインターフェースを含む。その中、メモリは不揮発性記憶媒体と内蔵メモリを含む。当該サーバーの不揮発性記憶媒体は、オペレーティングシステムとコンピュータ可読命令を記憶することができる。当該コンピュータ可読命令が実行されるときに、プロセッサーにドメイン名解析方法を実行させる。当該サーバーのプロセッサーは、サーバー全体の運用をサポートするために、コンピューティング及び制御機能を提供するためのものである。当該サーバーの内蔵メモリは、コンピュータ可読命令を格納することができ、当該コンピュータ可読命令が前記プロセッサーによって実行される時に、前記プロセッサーにドメイン名解析方法を実行させることができる。当該サーバーのネットワークインターフェースは、端末によって送信されたドメイン名解析要求パケットを受信し、ドメイン名解析応答パケットを端末に返すなど、ネットワーク接続を介して外部端末と通信するためのものである。サーバーは、独立したサーバー又は複数のサーバーからなるサーバークラスタによって実現することができる。当業者であれば、図2に示す構成は本出願の技術案に関連する構成の一部のブロック図に過ぎず、本出願の技術案が適用されるサーバーを限定するものではないことを理解できる。特定のサーバーは、図に示されるものよりも多い又は少ない構成要素を含み得るか、又はいくつかの構成要素は組み合わされ得るか、又は異なる構成要素配置を有し得る。
図3に示すように、一実施例では、ドメイン名解析方法が提供され、本実施例は、当該方法が上述した図1のドメイン名解析サーバー120に適用されることが例示される。当該方法は具体的には以下のステップを含む。
S302、ドメイン名解析要求パケットを取得する。
その中、ドメイン名解析要求パケットとは、ドメイン名解析を要求するためのデータパケットを意味する。ドメイン名は、ドットで区切られた文字列から構成されたインターネットにおけるコンピュータ又はコンピュータのグループの名称であり、データ伝送の時にコンピュータの電子的な向きを識別するためのものである。ドメイン名解析とは、ドメイン名をドメイン名解析要求パケットで指向するレコードタイプに解析する工程である。レコードタイプは、例えば、アドレス指向レコードタイプ、メール交換レコードタイプ、エイリアスレコードタイプなどである。
具体的に、端末は、ユーザーによって入力されたドメイン名を取得し、当該ドメイン名によってインターネットにアクセスするための要求を取得したときに、まず、当該要求が指向するレコードタイプを確定し、ローカルのデータベース又はキャッシュにおいて、当該取得したドメイン名に対応し、且つ当該要求が指向するレコードタイプに属するレコードを検索することができる。検索された場合、当該レコードに基づきインターネットにアクセスし、検索されなかった場合、ドメイン名解析要求パケットのフォーマットに従って、取得したドメイン名と要求が指向するレコードタイプをパッケージングして、ドメイン名解析要求パケットを生成し、当該ドメイン名解析要求パケットをドメイン名解析サーバーに送信する。ドメイン名解析サーバーは、端末によって送信されたドメイン名解析要求パケットを受信し、ドメイン名解析要求パケットを取得する。
S304、取得したドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュする。
その中、第1のキャッシュ領域は、ドメイン名解析サーバーのキャッシュにおいて分割されたキャッシュ領域であり、取得したドメイン名解析要求パケットを記憶するためのものである。具体的に、ドメイン名解析サーバーは、ネットワークカードによってデータパケットを受信し、ドメイン名解析要求パケットを受信した後、プロセスによって受信したドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュすることができる。
一実施例では、ドメイン名解析サーバーは、オペレーティングシステムカーネルによって、カーネル空間においてネットワークカードドライバプロセスを呼び出して、ネットワークカードによって受信されたドメイン名解析要求パケットを取得し、取得したドメイン名解析要求パケットをカーネル空間の第1のキャッシュ領域内に記憶し、オペレーティングシステムカーネルの応答を待つことができる。
一実施例では、ドメイン名解析サーバーは、カーネル空間内で運行されるデータパケット傍受プロセスを予め配置し、ネットワークカードドライバプロセスがネットワークカードによって受信されたドメイン名解析要求パケットを取得した後、ドメイン名解析サーバーのユーザー空間におけるドメイン名解析プロセスは当該データパケット傍受プロセスを呼び出して、当該データパケット傍受プロセスによって、ネットワークカードドライバプロセスが取得したドメイン名解析要求パケットをユーザー空間の第1のキャッシュ領域内に記憶し、ユーザー空間のドメイン名解析プロセスの応答を待つことができる。
その中、オペレーティングシステムは、コンピュータハードウェアとソフトウェアを管理するためのものであり、オペレーティングシステムカーネルが配置された領域はカーネル空間であり、カーネル機能モジュールはカーネル空間で運行される。ユーザー空間は、オペレーティングシステムが分割したカーネル空間に対する空間である。ネットワークカードは、リンク層で動作し、データパケットの送受信に使用されるネットワークコンポーネントである。ネットワークカードドライバプロセスは、オペレーティングシステムカーネルによって呼び出されてネットワークカードによって受信されるデータパケットを取得し、データパケットをネットワークカードに送信することを実行するプロセスである。データパケット傍受プロセスは、ネットワークカードドライバプロセスによって取得されたデータパケットをユーザー空間に傍受するように予め配置されたプロセスである。例えば、ドメイン名解析サーバーは、DPDK(Data Plane Development Kit データプレーン開発キット)を利用してデータパケット傍受プロセスを予め配置することができ、配置されたデータパケット傍受プロセスは、カーネル空間の転送を経る必要がなく、傍受されたデータパケットをユーザー空間に直接伝達して記憶することができ、当該データパケット傍受プロセスは、オペレーティングシステムカーネルによって呼び出されてもよいし、ユーザー空間のドメイン名解析プロセスによって呼び出されてもよい。
S306、第1のキャッシュ領域において、キャッシュされたドメイン名解析要求パケットに含まれたヘッダデータを修正して、キャッシュされたドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得する。
その中、ドメイン名解析データパケットは、通常、ヘッダデータ、問い合わせ問題、応答、許可応答、及び追加情報の5つの部分を含む。一般的に、ドメイン名解析要求パケット及びドメイン名解析応答パケットはいずれも上述した5つの部分のデータパケットフォーマットを採用する。ヘッダデータは、ドメイン名解析データパケットに必ず含まれる部分であり、ドメイン名解析データパケット識別子、ドメイン名解析データパケットフラグ、要求問題の数、リソースレコードの数、許可リソースレコードの数及び追加リソースレコードの数を含む。
ドメイン名解析データパケット識別子は、ドメイン名解析データパケットを識別するためのものであり、対応するドメイン名解析要求パケット及びドメイン名解析応答パケットは同じドメイン名解析データパケット識別子を有し、ドメイン名解析要求パケットに対応するドメイン名解析応答パケットをマッチングできる。ドメイン名解析データパケットフラグは、ドメイン名解析データパケットが要求パケットであるかそれとも応答パケットであるかを定義し、ヘッダデータ以外の他の部分が存在する必要があるかどうか、及び問い合わせのタイプも定義する。要求問題の数、リソースレコードの数、許可リソースレコードの数及び追加リソースレコードの数は、それぞれ問い合わせ問題、応答、許可応答及び追加情報の4つの部分の数に対応する。
具体的に、ドメイン名解析サーバーは、まず、キャッシュされたドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを確定し、確定したドメイン名解析応答パケットのヘッダデータに基づき、ドメイン名解析要求パケットのヘッダデータとドメイン名解析応答パケットのヘッダデータとの差分データを確定することができる。ドメイン名解析サーバーは、第1のキャッシュ領域において確定した差分データを位置決めし、位置決めした差分データをドメイン名解析応答パケットのヘッダデータに従って修正することができる。
その中、差分データは、ドメイン名解析データパケットフラグとリソースレコードの数を含む。例えば、受信されたドメイン名解析要求パケットに含まれたドメイン名解析データパケットフラグのうち、要求パケットを表す文字「0」が、応答を表す「1」に修正されるべきである。リソースレコードの数は、要求された問題の数に応じて修正される。
S308、キャッシュされたドメイン名解析要求パケットによって解析を要求されたドメイン名及び要求されたレコードタイプを抽出する。
具体的に、ドメイン名解析要求パケットによって要求されたドメイン名及び要求されたレコードタイプはドメイン名解析要求パケットの問い合わせ問題部分にパッケージングされる。ドメイン名解析サーバーは、ドメイン名解析要求パケットを取得した後、ドメイン名解析要求パケットを解析して解析結果を取得し、解析結果からドメイン名解析要求パケットによって解析を要求されたドメイン名及び要求されたレコードタイプを抽出することができる。
その中、要求されたレコードタイプは、例えば、アドレス指向レコードタイプ、メール交換レコードタイプ又はエイリアスレコードタイプなどである。アドレス指向レコードはA(Address)レコードであり、IP(Internet Protocol)指向とも呼ばれ、ホスト名又はドメイン名に対応するIPアドレスを指定するためのレコードである。メール交換レコードは、MX(Mail Exchanger)レコードであり、電子メールシステムがメールを送信する時に受信者のアドレスサフィックスに基づきメールサーバーを位置決めし、受信者のアドレスサフィックスをメールサーバーのIPアドレスに指向するレコードである。エイリアス指定レコードは、CNAMEレコードであり、エイリアスレコードとも呼ばれ、このようなレコードは複数の名前又はドメイン名を同じコンピュータにマッピングし、レコードは2つのドメイン名又は名前、第1のドメイン名を第2のドメイン名に指向するレコードを含む。
S310、第2のキャッシュ領域において、抽出されたドメイン名に対応し、且つ抽出されたレコードタイプに属する、プリキャッシュされた応答データを検索する。
その中、第2のキャッシュ領域は、ドメイン名解析サーバーのキャッシュにおいて分割されたキャッシュ領域であり、予めパッケージングされた応答データを記憶する。第2のキャッシュ領域と上記の第1のキャッシュ領域はいずれもキャッシュ領域であるが、異なるキャッシュ領域である。
ドメイン名解析サーバーは、ドメイン名解析を行う度に、解析結果を記録し、ドメイン名解析レコードをデータベースに記憶することができる。ドメイン名解析サーバーは、権威ドメイン名サーバーとの接続を確立し、ローカルに記憶されたドメイン名解析レコードが権威ドメイン名サーバーに記憶された対応するドメイン名解析レコードと一致するかどうかを検出することができる。一致しない場合、権威ドメイン名サーバーに記憶された対応するドメイン名解析レコードをローカルのデータベースへ同期する。その中、検出操作を実行する時間は予め設置された検出周期であってもよいし、現在の時間がドメイン名解析レコードに含まれたキャッシュ期間を超えた場合に実行されてもよい。
具体的に、応答データのフォーマットは固定され、ドメイン名解析サーバーは、予め設定された応答フォーマットに従って、データベースに記憶されたドメイン名解析レコードをパッケージングして応答データを取得し、第2のキャッシュ領域内にキャッシュし、必要なときに検索することができる。ドメイン名解析サーバーは、応答データが属するレコードタイプに従って、取得した応答データを、第2のキャッシュ領域に分類してキャッシュし、ドメイン名の解析が必要なときに、抽出されたレコードタイプに基づき、抽出されたレコードタイプに属する応答データセットを確定し、確定した応答データセットから抽出されたドメイン名に対応するプリキャッシュされた応答データを選別することができる。
ドメイン名解析サーバーは、応答データに対応するドメイン名に従って、取得した応答データを第2のキャッシュ領域に分類してキャッシュし、ドメイン名の解析が必要なとき、抽出されたドメイン名に基づき、抽出されたドメイン名に対応する応答データセットを確定し、確定した応答データセットから、抽出されたレコードタイプに属するプリキャッシュされた応答データを選別する。
ドメイン名解析サーバーは、ローカルに記憶されたドメイン名解析レコードに対応する履歴レコードの数を取得し、取得した応答データを、応答データに対応するドメイン名解析レコードに対応する履歴レコードの数に従って降順にソートし、第2のキャッシュ領域にキャッシュし、ドメイン名の解析が必要なときに、抽出されたドメイン名に対応し、且つ抽出されたレコードタイプに属するプリキャッシュされた応答データを検索することができる。
その中、ステップS308からS310は、ステップS306と非同期に実行することができる。
S312、検索された応答データと修正されたドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得する。
具体的に、ドメイン名解析サーバーは、第1のキャッシュ領域においてキャッシュされた修正されたドメイン名解析要求パケットを位置決めし、検索された応答データを位置決めされるドメイン名解析要求パケットに含まれるデータの終わりに追加し、既にキャッシュされたドメイン名解析要求パケットと組み合わせてドメイン名解析応答パケットを取得する。
上記のドメイン名解析方法は、取得したドメイン名解析要求パケットを第1のキャッシュ領域内に記憶し、当該第1のキャッシュ領域において、キャッシュされたドメイン名解析要求パケットに対する解析工程を完了して、ドメイン名解析要求パケットに含まれたヘッダデータを対応するドメイン名解析応答パケットのヘッダデータに修正し、検索された応答データと修正されたドメイン名解析要求パケットとを組み合わせてドメイン名解析応答パケットを取得する。その中、検索された応答データは、第2のキャッシュ領域内に予め記憶され、検索された後、修正されたドメイン名解析要求パケットと直接組み合わせることができ、ドメイン名解析效率を大幅に向上させる。また、応答データを第2のキャッシュ領域から第1のキャッシュ領域にコピーした後に、第1のキャッシュ領域においてドメイン名解析工程を完了し、データコピーの回数を効果的に減少し、ドメイン名解析效率をさらに向上させる。
一実施例では、ステップS302は具体的に、オペレーティングシステムカーネルがネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達するときに、伝達されたデータパケットに含まれたデータプロトコル識別子を取得し、データプロトコル識別子が、伝達されたデータパケットがドメイン名解析要求パケットであることを示すときに、ドメイン名解析要求パケットを取得することを含む。本実施例では、第1のキャッシュ領域と第2のキャッシュ領域は、ユーザー空間にある。
その中、データプロトコル識別子は、データパケットに含まれた各層のデータプロトコルの識別子を示す。データパケットは生成される時に、データリンク層、ネットワーク層及び伝送層などを経過するときに、それぞれデータパケットに対して対応するデータプロトコル層のデータプロトコル識別子を追加する。異なるタイプのデータパケットに含まれた各層のデータプロトコルの識別子は異なる。例えば、データパケットネットワーク層のデータプロトコル識別子はTCP(Transmission Control Protocol 伝送制御プロトコル)/UDP(User Datagram Protocol ユーザーデータグラムプロトコル)であり、伝送層において宛先ポートがポート53であるデータパケットはドメイン名解析データパケットである。
具体的に、ドメイン名解析サーバーのオペレーティングシステムカーネルは、予め配置されたデータパケット傍受プロセスを呼び出して、ネットワークカード受信キューからデータパケットを読み取って、読み取ったデータパケットをユーザー空間に伝達することができる。ユーザー空間のドメイン名解析プロセスは、伝達されたデータパケットに含まれたデータプロトコル識別子を取得し、ドメイン名解析要求パケットにマッチングする各層プロトコルの識別子に基づき、取得したデータプロトコル識別子を検出し、取得したデータプロトコル識別子がドメイン名解析要求パケットにマッチングする各層プロトコルの識別子と一致するときに、伝達されたデータパケットがドメイン名解析要求パケットであることを示し、ユーザー空間のドメイン名解析プロセスは当該ドメイン名解析要求パケットを取得する。
さらに、取得したデータプロトコル識別子が、ドメイン名解析要求パケットにマッチングする各層プロトコルの識別子と一致しないときに、伝達されたデータパケットが非ドメイン名解析要求パケットであることを示し、ユーザー空間のドメイン名解析プロセスは、伝達されたデータパケットをオペレーティングシステムカーネルにフィードバックして応答する。
本実施例では、ドメイン名解析要求パケットであると判定されたデータパケットは、直接ユーザー空間においてドメイン名解析を完成し、カーネル空間の転送を経る必要はなく、カーネル空間において解析するときに複数回のデータのコピーを必要とするという問題を回避し、ドメイン名解析效率を向上させる。また、非ドメイン名解析要求パケットであると判定されたデータパケットをオペレーティングシステムカーネルにフィードバックして応答することで、ユーザー空間において解析することができないデータパケットに対する処理方式を提供し、データパケット解析の成功率を向上させる。
一実施例では、当該ドメイン名解析方法はさらに、並行する解析スレッドからアイドル状態にある解析スレッドを選択し、選択された解析スレッドによって、ステップS302からステップS312を実行する。
その中、解析スレッドは、ドメイン名解析を行うためのスレッドである。アイドル状態にあることは、現在の時間でドメイン名解析を行っていないことである。具体的に、ドメイン名解析サーバーのドメイン名解析プロセスにおいて複数の解析スレッドが並行に実行され、各解析スレッドは互いに独立する。ドメイン名解析サーバーのドメイン名解析プロセスはネットワークカードドライバプロセスを呼び出して、ネットワークカードによって受信されたドメイン名解析要求パケットを取得し、アイドル状態にある解析スレッドを選択して、取得したドメイン名解析要求パケットに対するドメイン名解析工程を実行することができる。
本実施例では、ドメイン名解析工程は、解析スレッドによって独立して完成し、他のスレッドとの間でデータインタラクション処理を行うことが含まれず、スレッドインタラクション処理データの待ち合わせ工程を回避し、ドメイン名解析效率をさらに向上させる。
図4に示すように、一実施例では、ドメイン名解析方法に係る第1のキャッシュ領域及び第2のキャッシュ領域は、ユーザー空間にある。ドメイン名解析方法において選択された解析スレッドによって、ドメイン名解析要求パケットを取得することを実行することは、
S402、オペレーティングシステムカーネルが、ネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達するときに、選択された解析スレッドによって、伝達されたデータパケットに含まれるデータプロトコル識別子を取得することを含む。
具体的に、ドメイン名解析サーバーのオペレーティングシステムカーネルは、予め配置されたデータパケット傍受プロセスを呼び出して、ネットワークカード受信キューからデータパケットを読み取って、読み取ったデータパケットをユーザー空間に伝達することができる。ドメイン名解析サーバーは、ユーザー空間の解析スレッドによって、伝達されたデータパケットに含まれるデータプロトコル識別子を取得することができる。
S404、データプロトコル識別子が、伝達されたデータパケットが非ドメイン名解析要求パケットであることを示すときに、選択された解析スレッドによって、伝達されたデータパケットをユーザー空間における第3のキャッシュ領域にキャッシュする。
具体的に、ドメイン名解析サーバーは、ユーザー空間の解析スレッドによって、取得したデータプロトコル識別子とドメイン名解析要求パケットにマッチングする各層プロトコルの識別子とを比較して、比較の結果、取得したデータプロトコル識別子とドメイン名解析要求パケットにマッチングする各層プロトコルの識別子が一致しないときに、伝達されたデータパケットが非ドメイン名解析要求パケットであると判定し、ユーザー空間のドメイン名解析プロセスは伝達されたデータパケットをユーザー空間における第3のキャッシュ領域にキャッシュする。その中、第3のキャッシュ領域はドメイン名解析サーバーのキャッシュにおいて分割されたキャッシュ領域であり、ユーザー空間に伝達された非ドメイン名解析要求パケットを記憶する。
S406、並行解析スレッドとは独立したカーネルインタラクションスレッドによって第3のキャッシュ領域からデータパケットを読み取って、読み取ったデータパケットをオペレーティングシステムカーネルにフィードバックして応答する。
その中、カーネルインタラクションスレッドは、解析スレッドに対立して存在する、カーネル空間とインタラクションするスレッドである。具体的に、ユーザー空間における解析スレッドは、オペレーティングシステムカーネルと直接インタラクションすることができないため、オペレーティングシステムカーネルにフィードバックして応答する必要がある非ドメイン名解析要求パケットをユーザー空間における第3のキャッシュ領域にキャッシュする。さらに、オペレーティングシステムカーネルとインタラクションすることができる、並行解析スレッドとは独立したカーネルインタラクションスレッドは第3のキャッシュ領域からデータパケットを読み取って、読み取ったデータパケットをカーネル空間のキャッシュ領域にキャッシュする。カーネル空間の解析スレッドは、カーネル空間のキャッシュ領域にキャッシュされるデータパケットを解析して、当該解析バケットに対応する応答パケットを取得する。
本実施例では、ユーザー空間のドメイン名解析プロセスによって解析することができない非ドメイン名解析要求パケットをオペレーティングシステムカーネルにフィードバックして応答し、ユーザー空間のドメイン名解析プロセスが非ドメイン名解析要求パケットを解析できないという問題が回避され、データパケット解析の成功率を向上させる。
一実施例では、ドメイン名解析方法はさらに、データパケットを取得して第1のキャッシュ領域にキャッシュすることと、第1のキャッシュ領域において、データパケットに含まれたデータプロトコル識別子を検出することと、データプロトコル識別子が、伝達されたデータパケットがドメイン名解析要求パケットであることを示すときに、ステップS306からステップS310を実行し続けることとを含むことができる。データプロトコル識別子が、伝達されたデータパケットが非ドメイン名解析要求パケットであることを示すときに、キャッシュされたデータパケットをオペレーティングシステムカーネルにフィードバックして応答する。
具体的に、ドメイン名解析方法では、オペレーティングシステムカーネルがネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達した後、読み取ったデータパケットをユーザー空間の第1のキャッシュ領域に直接キャッシュすることができる。ユーザー空間における並行する解析スレッドからアイドル状態にある解析スレッドを選択し、第1のキャッシュ領域にキャッシュされたデータパケットがドメイン名解析要求パケットであるかどうかを検出する。キャッシュされたデータパケットがドメイン名解析要求パケットであることが検出判定されるときに、選択された解析スレッドによって、ステップS306からステップS310を実行し続ける。キャッシュされたデータパケットが非ドメイン名解析要求パケットであることが検出判定されるときに、選択された解析スレッドによって、第1のキャッシュ領域における非ドメイン名解析要求パケットのアドレスポインタを第3のキャッシュ領域にキャッシュする。さらに並行する解析スレッドとは独立したカーネルインタラクションスレッドによって、第3のキャッシュ領域に記憶されたアドレスポインタに基づき、第1のキャッシュ領域から非ドメイン名解析要求パケットを読み取って、カーネル空間のキャッシュ領域に記憶する。さらにオペレーティングシステムカーネルによってカーネル空間キャッシュ領域に記憶された非ドメイン名解析要求パケットに対して応答する。
その中、ポインタは、メモリアドレスを示すために使用されるコンピュータ言語の変数である。第2のキャッシュ領域における非ドメイン名解析要求パケットのアドレスポインタは、非ドメイン名解析要求パケットの第2のキャッシュ領域におけるキャッシュアドレスを指向する。非ドメイン名解析要求パケットは、例えばARP(Address Resolution Protocol アドレス解析プロトコル)要求パケット又はOSPF(Open Shortest Path Firstオープン最短パスファースト)要求パケットなどである。
本実施例では、データパケットを第1のキャッシュ領域内に直接キャッシュし、ドメイン名解析要求パケットであることが検出判定されるときに、ドメイン名解析動作を直接実行し、非ドメイン名解析要求パケットであることが検出判定された後、第1のキャッシュ領域における非ドメイン名解析要求パケットをオペレーティングシステムカーネルにフィードバックして応答する。データコピーの回数をさらに減少しつつ、ユーザー空間において解析することができないデータパケットに対する処理方法を提供し、データパケット解析の成功率を向上させる。
図5は、一実施例におけるドメイン名解析サーバーの内部アーキテクチャ図である。図5を参照すると、ドメイン名解析サーバーのシステム空間は、カーネル空間とユーザー空間に分けられ、オペレーティングシステムカーネルはデータパケット傍受プロセスを呼び出してネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達することができる。ユーザー空間内の解析スレッドは、伝達されたデータパケットがドメイン名解析データパケットであると判定された後、伝達されたドメイン名解析データパケットを第1のキャッシュ領域にキャッシュし、伝達されたパケットが非ドメイン名解析データパケットであると判定された後、伝達された非ドメイン名解析データパケットを第3のキャッシュ領域にキャッシュする。ユーザー空間における解析スレッドとは独立するカーネルインタラクションスレッドは、第3のキャッシュ領域にキャッシュされた非ドメイン名解析データパケットをカーネル空間のキャッシュ領域にキャッシュし、オペレーティングシステムカーネルによって応答する。
図6に示すように、一実施例では、ステップS306は具体的に、以下のステップを含む。
S602、第1のキャッシュ領域においてキャッシュされたドメイン名解析要求パケットの先頭アドレスポインタを確定する。
具体的に、ドメイン名解析サーバーは、取得したドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュした後、ドメイン名解析要求パケットの先頭アドレスポインタを一時キャッシュファイル又はログファイルに保存し、ドメイン名解析要求パケットに対してデータ修正を行う必要があるときに読み取ることができる。
S604、第1のキャッシュ領域においてキャッシュされたドメイン名解析要求パケットのうち修正待ちデータのアドレスポインタオフセットを確定し、修正待ちデータは、ドメイン名解析要求パケットと対応するドメイン名解析応答パケットとのそれぞれのヘッダデータ間の差分データである。
具体的に、ドメイン名解析サーバーは、まず、キャッシュされたドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを確定し、確定したドメイン名解析応答パケットのヘッダデータに基づき、ドメイン名解析要求パケットのヘッダデータにおけるドメイン名解析応答パケットのヘッダデータとの差分データを確定し、確定した差分データを修正待ちデータとすることができる。
ドメイン名解析データパケットのヘッダデータのうちパッケージングされたデータは通常、確定されたバイト分割が行われている。例えば、ドメイン名解析データパケットのヘッダデータの1番目のバイトと2番目のバイトはドメイン名解析データパケット識別子であり、3番目のバイトと4番目のバイトはドメイン名解析データパケットフラグであり、ドメイン名解析データパケットフラグ文字セグメントの1番目のビットはフラグビットであり、「0」はドメイン名解析要求パケットであることを表し、「1」はドメイン名解析応答パケットであることを表す。ドメイン名解析サーバーは、確定した差分データが位置するバイトに基づき、修正待ちデータのアドレスポインタオフセットを確定することができる。
S606、先頭アドレスポインタとアドレスポインタオフセットに基づき、第1のキャッシュ領域において修正待ちデータを位置決めする。
具体的に、ドメイン名解析要求パケットの先頭アドレスポインタに修正待ちデータのアドレスポインタオフセットを追加することで、修正待ちデータのアドレスポインタを取得することができ、ドメイン名解析サーバーは、取得された当該アドレスポインタに基づき、第1のキャッシュ領域における修正待ちデータのキャッシュアドレスを確定することができる。
S608、位置決めされた修正待ちデータをドメイン名解析応答パケットのうち修正待ちデータに対応するデータに修正する。
具体的に、ドメイン名解析サーバーは、確定した第1のキャッシュ領域における修正待ちデータのキャッシュアドレスに、ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを書き込む。例えば、データパケットタイプを表すフラグビットを要求パケットを表すフラグから応答パケットを表すフラグに修正する。
本実施例では、ドメイン名解析要求パケットをキャッシュする第1のキャッシュ領域においてドメイン名解析要求パケットのヘッダデータをドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータに直接修正し、解析工程でドメイン名解析応答パケットをリアルタイムでパッケージングするという面倒なステップが回避され、応答時間を減少して、ドメイン名解析效率をさらに向上させる。
図7に示すように、一実施例では、ステップS310は、具体的に以下のステップを含む。
S702、抽出されたドメイン名によってマッピングされたハッシュ値を取得する。
その中、ハッシュ値は、ハッシュアルゴリズムを利用して任意の長さのバイナリ値をマッピングすることによって得られる固定長の小さいバイナリ値である。例えば、ハッシュアルゴリズムは、文字列の各文字に対応するASCIIコード(American Standard Code for Information Interchange、情報交換用の米国標準コード)を累積することであり、文字列「ming」に対応するハッシュ値は、109+105+110+103=427である。具体的に、ドメイン名解析サーバーは、予め設定されたハッシュアルゴリズムによって抽出されたドメイン名によってマッピングされるハッシュ値を計算することができる。
S704、ハッシュテーブルにおいて、ハッシュ値が指向するリンクリストを確定する。
その中、ハッシュテーブルは、ドメイン名及びドメイン名に対応する応答データのキャッシュアドレスを、ドメイン名とハッシュ値とのマッピング関係に従って格納するためのリストである。ハッシュ値はハッシュテーブルにおける記憶位置である。ドメイン名及びドメイン名に対応する応答データをドメイン名によってマッピングされたハッシュ値の記憶位置に記憶する。リンクリストは、複数のデータ要素を記憶するためのリンク格納構造である。本実施例では、リンクリストは、同じマッピングのハッシュ値を有するドメイン名を記憶し、且つ当該同じハッシュ値によって指向されるサブリストである。
具体的に、ドメイン名解析サーバーは、ドメイン名解析要求パケットによって要求されたレコードタイプに基づき、複数のハッシュテーブルを事前に確立することができ、各ハッシュテーブルは、同じレコードタイプに属する応答データのキャッシュアドレスと対応するドメイン名を対応付けて記憶する。抽出された要求タイプに対応するハッシュテーブルにおいて、ハッシュ値によって指向されるリンクリストを確定する。ドメイン名解析サーバーは、応答データのキャッシュアドレスを対応するドメイン名及び属するレコードタイプに対応付けて一つのハッシュテーブルに記憶し、当該ハッシュテーブルにおいてハッシュ値が指向するリンクリストを確定することができる。
S706、リンクリストにおいて、抽出されたドメイン名を含み且つ抽出されたレコードタイプに対応するノードを検索する。
その中、リンクリストに記憶された各要素をノードと呼び、各ノードは、データ要素が記憶されるデータフィールドと次のノードのアドレスが記憶されるポインタフィールドとの2つの部分を含む。
具体的に、ドメイン名解析サーバーは、抽出されたドメイン名に基づき、確定したリンクリストにおいて、ノードのデータフィールドに記憶されたドメイン名と一つずつ比較し、ノードに記憶されたドメイン名が抽出されたドメイン名と一致するときに、当該ノードを検索が必要なノードであると確定することができる。その中、検索に使用されるリンクリストは、抽出された要求タイプに対応するハッシュテーブルに属する。
ドメイン名解析サーバーが応答データのキャッシュアドレスを対応するドメイン名及び属するレコードタイプに対応付けて一つのハッシュテーブルに記憶する場合について、ドメイン名解析サーバーは、抽出されたドメイン名に基づき、確定したリンクリストにおいて、ノードのデータフィールドに記憶されたドメイン名と一つずつ比較した後、抽出されたレコードタイプに基づき、確定したリンクリストにおいてノードのデータフィールドに記憶されたレコードタイプと一つずつ比較し、ノード内に記憶されたレコードタイプが抽出されたレコードタイプと一致するときに、当該ノードを検索が必要なノードであると確定する。
S708、検索されたノードから応答データのキャッシュアドレスを抽出する。
S710、キャッシュアドレスに基づき、第2のキャッシュ領域から対応するプリキャッシュされた応答データを読み取る。
具体的に、ドメイン名解析サーバーは、第2のキャッシュ領域におけるキャッシュアドレスからキャッシュされたデータを読み取ることができ、読み取ったキャッシュされたデータはプリキャッシュされた応答データである。
本実施例では、ハッシュテーブルにおいて、応答データのキャッシュアドレスを検索し、検索されたアドレスに基づき、キャッシュから応答データを読み取り、対応する応答データを一つずつキャッシュにおいて直接検索するような時間を無駄にするという問題を回避して、検索速度を大幅に向上させ、ドメイン名解析の效率をさらに向上させる。
さらに、ドメイン名解析サーバーが、ハッシュテーブルにおいて対応する応答データを検索できなかったときに、抽出されたドメイン名に対応するプライマリドメイン名を確定し、ハッシュテーブルにおいて確定したプライマリドメイン名に対応し、且つドメイン名開始レコードタイプに属する応答データを検索する。その中、ドメイン名は階層構造を採用し、地理的ドメイン又は機関ドメインに従って階層化されており、それぞれのレベルは小数点で区切られ、最上位ドメイン名セグメント及び2番目に高いドメイン名セグメント等は右から左に順番に並び、最も左側のフィールドはプライマリドメイン名である。例えば、要求されたドメイン名はwww.xx.comであり、そのプライマリドメイン名はxx.comである。ドメイン名開始レコードは、当該プライマリドメイン名に対応する許可ドメイン名サーバーを表す。
本実施例では、ドメイン名解析要求パケットによって解析を要求されたドメイン名と要求されたレコードタイプに対応する応答データが検索されなかったときの処理方法を提供し、ドメイン名開始レコードをフィードバックして、ドメイン名解析要求当事者が当該ドメイン名開始レコードに基づき、許可ドメイン名サーバーにドメイン名解析要求を送信することができるようにし、ドメイン名解析の成功率を向上させる。
図8に示すように、一実施例では、ステップS312は、具体的に以下のステップを含む。
S802、第1のキャッシュ領域における修正後のドメイン名解析要求パケットの先頭アドレスポインタを取得する。
具体的に、ドメイン名解析サーバーは、取得したドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュした後、ドメイン名解析要求パケットの先頭アドレスポインタを一時キャッシュファイル又はログファイルに保存し、ドメイン名解析要求パケットに対してデータ修正を行う必要があるときに読み取ることができる。ドメイン名解析要求パケットは修正後も、先頭アドレスポインタが変わらない。
S804、修正後のドメイン名解析要求パケットのデータの総量に対応するアドレスポインタオフセットを取得する。
具体的に、ドメイン名解析サーバーは、修正後のドメイン名解析要求パケットのデータの総量を検出し、検出されたデータの総量に基づき、第1のキャッシュ領域において修正後のドメイン名解析要求パケットが占めるキャッシュアドレス範囲を確定し、当該アドレス範囲の大きさに基づき、アドレスポインタオフセットを確定することができる。
S806、修正後のドメイン名解析要求パケットの先頭アドレスポインタとアドレスポインタオフセットに基づき、応答データの先頭アドレスポインタを確定する。
具体的に、ドメイン名解析サーバーは、修正後のドメイン名解析要求パケットの先頭アドレスポインタにアドレスポインタオフセットを追加して応答データの先頭アドレスポインタを取得することができる。
S808、応答データの先頭アドレスポインタに基づき、応答データを第1のキャッシュ領域にキャッシュして、第1のキャッシュ領域にキャッシュされ且つ修正後のドメイン名解析要求パケットとキャッシュされた応答データを含むドメイン名解析応答パケットを取得する。
具体的に、確定した応答データの先頭アドレスポインタは、修正後のドメイン名解析要求パケットに含まれたデータの最後のバイトのキャッシュアドレスの次のキャッシュアドレスである。確定された当該アドレスポインタに従って、応答データを第1のキャッシュ領域にキャッシュして、第1のキャッシュ領域にキャッシュされ且つ修正後のドメイン名解析要求パケットとキャッシュされた応答データを含むドメイン名解析応答パケットを取得する。
本実施例では、ドメイン名解析工程は、ドメイン名解析要求パケットを取得してからドメイン名解析応答パケットを取得するまで、第1のキャッシュ領域において行われ、第2のキャッシュ領域において検索された応答データを第1のキャッシュ領域におけるドメイン名解析要求パケットに含まれるデータの終わりにコピーするだけで、ドメイン名解析要求パケットと組み合わせてドメイン名解析応答パケットを取得でき、ドメイン名解析效率を向上させる。
図9に示すように、一実施例では、ドメイン名解析方法が提供され、当該方法は具体的に以下のステップを含む。
S902、ユーザー空間において並行する解析スレッドからアイドル状態にある解析スレッドを選択する。
S904、オペレーティングシステムカーネルがネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達するときに、選択された解析スレッドによって、伝達されたパケットに含まれるデータプロトコル識別子を取得する。
S906、取得したデータプロトコル識別子によって、伝達されるデータパケットがドメイン名解析要求パケットであるかどうかを判断する。そうであれば、ステップS908に進み、そうでなければ、ステップS910に進み。
S908、選択された解析スレッドによって、ドメイン名解析要求パケットを取得し、ステップS912に進む。
S910、選択された解析スレッドによって、伝達されたデータパケットをユーザー空間における第3のキャッシュ領域にキャッシュし、並行する解析スレッドとは独立したカーネルインタラクションスレッドによって、第3のキャッシュ領域からデータパケットを読み取って、読み取ったデータパケットをオペレーティングシステムカーネルにフィードバックして応答する。
S912、取得したドメイン名解析要求パケットをユーザー空間における第1のキャッシュ領域にキャッシュする。
S914、選択された解析スレッドによって、第1のキャッシュ領域においてキャッシュされたドメイン名解析要求パケットの先頭アドレスポインタを確定する。第1のキャッシュ領域においてキャッシュされたドメイン名解析要求パケットのうち修正待ちデータのアドレスポインタオフセットを確定し、修正待ちデータがドメイン名解析要求パケットとそれに対応するドメイン名解析応答パケットとのそれぞれのヘッダデータ間の差分データである。先頭アドレスポインタとアドレスポインタオフセットに基づき、第1のキャッシュ領域において修正待ちデータを位置決めする。位置決めされた修正待ちデータをドメイン名解析応答パケットのうち修正待ちデータに対応するデータに修正する。
S916、選択された解析スレッドによって、キャッシュされたドメイン名解析要求パケットによって解析を要求されたドメイン名及び要求されたレコードタイプを抽出する。
S918、現在の時間が応答データに含まれたキャッシュ期限を超えるかどうかを検出し、そうでなければ、ステップS920に進み、そうであれば、ステップS922に進む。
その中、キャッシュ期限は、応答データの有效期間である。ドメイン名解析によって得られる各レコードタイプに属する結果は固定されていない。現在の時間が応答データに含まれたキャッシュ期限を超えるときに、応答データとしてパッケージングされたドメイン名解析レコードが変更されたかどうかを検出する必要がある。ドメイン名解析レコードが変更されていないときに、応答データに含まれたキャッシュ期限をリセットする。
S920、選択された解析スレッドによって、抽出されたドメイン名によってマッピングされたハッシュ値を取得する。ハッシュテーブルにおいて、ハッシュ値が指向するリンクリストを確定する。リンクリストにおいて、抽出されたドメイン名を含み且つ抽出されたレコードタイプに対応するノードを検索する。検索されたノードから応答データのキャッシュアドレスを抽出する。キャッシュアドレスに基づき、第2のキャッシュ領域から対応するプリキャッシュされた応答データを読み取る。
S922、ドメイン名解析レコードを更新し、予め設定された応答フォーマットに従って、更新されたドメイン名解析レコードを更新された応答データにパッケージングし、第2のキャッシュ領域におけるプリキャッシュされた応答データを更新された応答データに置き換え、ステップS920に進む。
具体的に、現在の時間が応答データに含まれたキャッシュ期限を超えるときに、ドメイン名解析サーバーは、権威ドメイン名サーバーとの接続を確立することができ、ローカルに記憶されたドメイン名解析レコードが権威ドメイン名サーバーに記憶された対応するドメイン名解析レコードと一致するかどうかを検出することができる。一致しなければ、権威ドメイン名サーバーに記憶された対応するドメイン名解析レコードに基づき、ローカルのドメイン名解析レコードを更新し、予め設定された応答フォーマットに従って更新されたドメイン名解析レコードを更新された応答データにパッケージングし、第2のキャッシュ領域においてプリキャッシュされた応答データを更新された応答データに置き換える。
S924、選択された解析スレッドによって、第1のキャッシュ領域における修正後のドメイン名解析要求パケットの先頭アドレスポインタを取得する。修正後のドメイン名解析要求パケットのデータの総量に対応するアドレスポインタオフセットを取得する。修正後のドメイン名解析要求パケットの先頭アドレスポインタとアドレスポインタオフセットに基づき、応答データの先頭アドレスポインタを確定する。応答データの先頭アドレスポインタに基づき、応答データを第1のキャッシュ領域にキャッシュして、第1のキャッシュ領域にキャッシュされ、且つ修正後のドメイン名解析要求パケットとキャッシュされた応答データを含むドメイン名解析応答パケットを取得する。
本実施例では、取得したドメイン名解析要求パケットをユーザー空間における第1のキャッシュ領域に記憶し、独立の解析スレッドによって、当該第1のキャッシュ領域において、キャッシュされたドメイン名解析要求パケットに対する解析工程を完成し、スレッドインタラクション処理データの待ち合わせ工程を回避し、データ処理效率を向上させる。検索する応答データは、ユーザー空間における第2のキャッシュ領域に予め記憶され、検索された後、修正されたドメイン名解析要求パケットと直接組み合わせることができ、ドメイン名解析效率を大幅に向上させる。また、ドメイン名解析工程に必要なデータは、全てユーザー空間のキャッシュ領域に記憶され、磁気ディスクから読み取る必要はなく、データ処理速度を大幅に向上させる。また、応答データを第2のキャッシュ領域から第1のキャッシュ領域にコピーした後、第1のキャッシュ領域においてドメイン名解析工程を完成することができ、データコピーの回数を効果的に減少し、ドメイン名解析效率をさらに向上させる。
図10は、一実施例におけるドメイン名解析工程の論理図である。図10を参照すると、ドメイン名解析サーバーのシステム空間は、カーネル空間とユーザー空間に分けられ、オペレーティングシステムカーネルは、データパケット傍受プロセスを呼び出して、ネットワークカードドライバプロセスによって読み取られたデータパケットをユーザー空間に伝達することができる。ドメイン名解析サーバーは、ドメイン名解析データパケットをユーザー空間における第1のキャッシュ領域にキャッシュし、ユーザー空間における第2のキャッシュ領域において、ドメイン名解析データパケットによって解析を要求されたドメイン名に対応し、且つ要求されたレコードタイプに属する応答データを検索し、検索された応答データを第1のキャッシュ領域におけるドメイン名解析要求パケットの終わりに記憶し、ドメイン名解析要求パケットのヘッダデータを修正して、ドメイン名解析応答パケットを取得する。非ドメイン名解析応答パケットについて、オペレーティングシステムカーネルにフィードバックして応答する。
本出願の様々な実施例における各ステップは、必ずしもステップ番号によって示される順序で実行されるわけではないことを理解されたい。本明細書で明示的に述べられている場合を除き、これらのステップの実行は厳密には限定されず、これらのステップは他の順序で実行されてもよい。さらに、各実施例における少なくとも一部のステップは、複数のサブステップ又は複数の階段を含み得る。これらのサブステップ又は階段は必ずしも同時に実行されるわけではなく、異なる時間に実行することができる。これらのサブステップ又は階段の実行順序は必ずしも順次的に実行される必要はなく、他のステップ又は他のステップのサブステップ又は階段の少なくとも一部と順番に又は交互に実行されてもよい。
図11に示すように、一実施例では、サーバー1100が提供される。当該サーバー1100の内部構成は、図2に示した構成を参照することができる。以下に記載される各モジュールはソフトウェア、ハードウェア、又はそれらの組み合わせによって全体的に又は部分的に実現可能である。図11を参照すると、当該サーバー1100は、取得モジュール1101、修正モジュール1102、抽出モジュール1103、検索モジュール1104、及び組み合わせモジュール1105を含む。
取得モジュール1101は、ドメイン名解析要求パケットを取得し、取得したドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュするためのものである。
修正モジュール1102は、第1のキャッシュ領域においてキャッシュされたドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされたドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得するためのものである。
抽出モジュール1103は、キャッシュされたドメイン名解析要求パケットによって解析を要求されたドメイン名及び要求されたレコードタイプを抽出するためのものである。
検索モジュール1104は、第2のキャッシュ領域において、抽出されたドメイン名に対応し、且つ抽出されたレコードタイプに属する、プリキャッシュされた応答データを検索するためのものである。
組み合わせモジュール1105は、検索された応答データと修正後のドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得するためのものである。
上記サーバー1100は、取得したドメイン名解析要求パケットを第1のキャッシュ領域に記憶し、当該第1のキャッシュ領域において、キャッシュされたドメイン名解析要求パケットに対する解析工程を完成し、ドメイン名解析要求パケットに含まれるヘッダデータを対応するドメイン名解析応答パケットのヘッダデータに修正して、検索された応答データと修正後のドメイン名解析要求パケットとを組み合わせてドメイン名解析応答パケットを取得する。その中、検索する応答データは、第2のキャッシュ領域に予め記憶され、検索された後、修正されたドメイン名解析要求パケットと直接組み合わせることができるものであり、ドメイン名解析效率を大幅に向上させる。また、応答データを第2のキャッシュ領域から第1のキャッシュ領域にコピーした後、第1のキャッシュ領域において、ドメイン名解析工程を完成することができ、データコピーの回数を効果的に減少し、ドメイン名解析效率をさらに向上させる。
一実施例では、取得装置1101はさらに、オペレーティングシステムカーネルがネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達するときに、伝達されたデータパケットに含まれたデータプロトコル識別子を取得し、データプロトコル識別子が、伝達されたデータパケットがドメイン名解析要求パケットであることを示すときに、ドメイン名解析要求パケットを取得する。本実施例では、第1のキャッシュ領域と第2のキャッシュ領域がユーザー空間にある。
本実施例では、ドメイン名解析要求パケットであると判定されたデータパケットは、ユーザー空間においてドメイン名解析が直接完成され、カーネル空間の転送を経る必要はなく、カーネル空間において解析するときに複数回のプロセスデータのコピーを必要とするという問題を回避し、ドメイン名解析效率を向上させる。非ドメイン名解析要求パケットであると判定されたデータパケットをオペレーティングシステムカーネルにフィードバックして応答することで、ユーザー空間において解析できないデータパケットに対する処理方式が提供され、データパケット解析の成功率を向上させる。
一実施例では、修正モジュール1102はさらに、第1のキャッシュ領域においてキャッシュされたドメイン名解析要求パケットの先頭アドレスポインタを確定し、第1のキャッシュ領域においてキャッシュされたドメイン名解析要求パケットのうち修正待ちデータのアドレスポインタオフセットを確定し、修正待ちデータがドメイン名解析要求パケットとそれに対応するドメイン名解析応答パケットとのそれぞれのヘッダデータ間の差分データであり、先頭アドレスポインタとアドレスポインタオフセットに基づき、第1のキャッシュ領域において修正待ちデータを位置決めし、位置決めされた修正待ちデータをドメイン名解析応答パケットのうち修正待ちデータに対応するデータに修正する。
本実施例では、ドメイン名解析要求パケットをキャッシュする第1のキャッシュ領域においてドメイン名解析要求パケットのヘッダデータをドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータに直接修正し、解析工程でドメイン名解析応答パケットをリアルタイムでパッケージングするという面倒なステップが回避され、応答時間を減少して、ドメイン名解析效率をさらに向上させる。
一実施例では、検索モジュール1104はさらに、抽出されたドメイン名によってマッピングされたハッシュ値を取得し、ハッシュテーブルにおいて、ハッシュ値が指向するリンクリストを確定し、リンクリストにおいて、抽出されたドメイン名を含み且つ抽出されたレコードタイプに対応するノードを確定し、検索されたノードから応答データのキャッシュアドレスを抽出し、キャッシュアドレスに基づき、第2のキャッシュ領域から対応するプリキャッシュされた応答データを読み取る。
本実施例では、ハッシュテーブルにおいて、応答データのキャッシュアドレスを検索し、検索されたアドレスに基づき、キャッシュから応答データを読み取り、対応する応答データを一つずつキャッシュにおいて直接検索するような時間を無駄にするという問題を回避して、検索速度を大幅に向上させ、ドメイン名解析の效率をさらに向上させる。
一実施例では、組み合わせモジュール1105はさらに、第1のキャッシュ領域において修正後のドメイン名解析要求パケットの先頭アドレスポインタを取得し、修正後のドメイン名解析要求パケットのデータの総量に対応するアドレスポインタオフセットを取得し、修正後のドメイン名解析要求パケットの先頭アドレスポインタとアドレスポインタオフセットに基づき、応答データの先頭アドレスポインタを確定し、応答データの先頭アドレスポインタに基づき、応答データを第1のキャッシュ領域にキャッシュして、第1のキャッシュ領域にキャッシュされ、且つ修正後のドメイン名解析要求パケットとキャッシュされた応答データを含むドメイン名解析応答パケットを取得する。
本実施例では、ドメイン名解析工程は、ドメイン名解析要求パケットの取得からドメイン名解析応答パケットが得られるまで、第1のキャッシュ領域において行われ、第2のキャッシュ領域において検索された応答データを第1のキャッシュ領域におけるドメイン名解析要求パケットに含まれるデータの終わりにコピーするだけで、ドメイン名解析要求パケットと組み合わせてドメイン名解析応答パケットを取得でき、ドメイン名解析效率を向上させる。
図12は、別の実施例におけるサーバー1100の構成ブロック図であり、図12を参照すると、当該サーバー1100は、プリキャッシュモジュール1106をさらに含む。
プリキャッシュモジュール1106は、現在の時間が応答データに含まれるキャッシュ期限を超える場合、ドメイン名解析レコードを更新し、予め設定された応答フォーマットに従って更新されたドメイン名解析レコードを更新された応答データにパッケージングし、第2のキャッシュ領域におけるプリキャッシュされた応答データを更新された応答データに置き換えるためのものである。その中、応答データは、ドメイン名解析レコードを予め設定された応答フォーマットに従ってパッケージングすることによって取得される。
本実施例では、取得したドメイン名解析要求パケットをユーザー空間における第1のキャッシュ領域に記憶し、独立の解析スレッドによって、当該第1のキャッシュ領域において、キャッシュされたドメイン名解析要求パケットに対する解析工程を完成し、スレッドインタラクション処理データの待ち合わせ工程を回避し、データ処理效率を向上させる。検索する応答データは、ユーザー空間における第2のキャッシュ領域内に予め記憶され、検索された後に、修正されたドメイン名解析要求パケットと直接組み合わせることができ、ドメイン名解析效率を大幅に向上させる。また、ドメイン名解析工程に必要なデータは、全てユーザー空間のキャッシュ領域内に記憶され、磁気ディスクから読み取る必要はなく、データ処理速度を大幅に向上させる。また、応答データを第2のキャッシュ領域から第1のキャッシュ領域にコピーした後、第1のキャッシュ領域においてドメイン名解析工程を完成することができ、データコピーの回数を効果的に減少し、ドメイン名解析效率をさらに向上させる。
図13に示すように、一実施例では、サーバー1300が提供される。当該サーバー1300の内部構成は、図2に示した構成を参照することができる。以下に記載される各モジュールはソフトウェア、ハードウェア、又はそれらの組み合わせによって全体的に又は部分的に実現可能である。図13を参照すると、当該サーバー1300は、選択モジュール1301、取得モジュール1302、修正モジュール1303、抽出モジュール1304、検索モジュール1305、及び組み合わせモジュール1306を含む。
選択モジュール1301は、並行する解析スレッドからアイドル状態にある解析スレッドを選択するためのものである。
取得モジュール1302は、選択された解析スレッドによって、ドメイン名解析要求パケットを取得し、取得したドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュするためのものである。
修正モジュール1303は、選択された解析スレッドによって、第1のキャッシュ領域においてキャッシュされたドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされたドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得するためのものである。
抽出モジュール1304は、選択された解析スレッドによって、キャッシュされたドメイン名解析要求パケットによって解析を要求されたドメイン名及び要求されたレコードタイプを抽出するためのものである。
検索モジュール1305は、選択された解析スレッドによって、第2のキャッシュ領域において、抽出されたドメイン名に対応し、且つ抽出されたレコードタイプに属する、プリキャッシュされた応答データを検索するためのものである。
組み合わせモジュール1306は、選択された解析スレッドによって、検索された応答データと修正後のドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得するためのものである。
本実施例では、ドメイン名解析工程は解析スレッドによって独立に完成し、他のスレッドとの間のデータやり取り処理が含まれず、スレッドインタラクション処理データの待ち合わせ工程を回避し、ドメイン名解析效率をさらに向上させる。
一実施例では、取得モジュール1302はさらに、オペレーティングシステムカーネルがネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達するときに、選択された解析スレッドによって、伝達されたデータパケットに含まれたデータプロトコル識別子を取得し、データプロトコル識別子が、伝達されたデータパケットが非ドメイン名解析要求パケットであることを示すときに、選択された解析スレッドによって、伝達されたデータパケットをユーザー空間における第3のキャッシュ領域にキャッシュし、並行する解析スレッドとは独立したカーネルインタラクションスレッドによって、第3のキャッシュ領域からデータパケットを読み取って、読み取ったデータパケットをオペレーティングシステムカーネルにフィードバックして応答する。本実施例では、第1のキャッシュ領域と第2のキャッシュ領域はユーザー空間にある。
本実施例では、ユーザー空間のドメイン名解析プロセスによって解析することができない非ドメイン名解析要求パケットを、オペレーティングシステムカーネルにフィードバックして応答することで、ユーザー空間におけるドメイン名解析プロセスが非ドメイン名解析要求パケットを解析することに失敗するという問題は回避され、データパケット解析の成功率を向上させる。
当業者は、上記の実施例の方法における全部又は一部の流れの実施が、コンピュータプログラムにより関連するハードウェアを命令することによって完成できることを理解することができる。前記プログラムは、不揮発性コンピュータ可読記憶媒体に記憶され、実行されるときに、上記の各方法の実施例のような流れを含むことができる。その中、本出願で提供される様々な実施例で使用されるメモリ、記憶装置、データベース又は他の媒体へのいかなる言及は、不揮発性及び/又は揮発性メモリを含み得る。不揮発性メモリは、読み出し専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、又はフラッシュメモリを含むことができる。揮発性メモリは、ランダムアクセスメモリ(RAM)又は外部キャッシュメモリを含み得る。説明のためのものであって制限的ではなく、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブルデータレートSDRAM(DDRSDRAM)、エンハンストSDRAM(ESDRAM)、同期リンク(Synchlink)DRAM(SLDRAM)、メモリバス(Rambus)ダイレクトRAM(RDRAM)、ダイレクトメモリバスダイナミックRAM(DRDRAM)、及びメモリバスダイナミックRAM(RDRAM)などの様々な形態で利用可能である。
上記実施例の各技術的特徴は、任意に組み合わせてもよい。簡潔に説明するために、上記実施例における様々な技術的特徴の全ての可能な組み合わせは説明されていない。しかしながら、これらの技術的特徴の組み合わせに矛盾がない限り、それらは本明細書の範囲とみなされるべきである。
上記の実施例は本出願のいくつかの実施例を表すだけであり、その説明は具体的且つ詳細であるが、それらは本発明の特許の範囲を限定するものと解釈すべきではない。本出願の範囲から逸脱することなく、当業者によって多くの変形及び修正がなされ得ることに留意されたい。これらはすべて本出願の保護範囲内である。そのため、本出願の範囲は添付の特許請求の範囲によって決定されるべきである。

Claims (24)

  1. ドメイン名解析方法であって、
    サーバーが、ドメイン名解析要求パケットを取得することと、
    前記サーバーが、取得した前記ドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュすることと、
    前記サーバーが、前記第1のキャッシュ領域において、キャッシュされた前記ドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされた前記ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得することと、
    前記サーバーが、キャッシュされた前記ドメイン名解析要求パケットによって解析が要求されたドメイン名及び要求されたレコードタイプを抽出することと、
    前記サーバーが、第2のキャッシュ領域において、抽出された前記ドメイン名に対応し、且つ抽出された前記レコードタイプに属する、プリキャッシュされた応答データを検索することと、
    前記サーバーが、検索された前記応答データと修正後の前記ドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得することと、
    を含むことを特徴とする方法。
  2. 前記第1のキャッシュ領域及び前記第2のキャッシュ領域は、ユーザー空間にあり、前記サーバーが、ドメイン名解析要求パケットを取得することは、
    オペレーティングシステムカーネルがネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達するときに、前記サーバーが、伝達される前記データパケットに含まれるデータプロトコル識別子を取得することと、
    前記データプロトコル識別子が、伝達される前記データパケットがドメイン名解析要求パケットであることを示すときに、前記サーバーが、前記ドメイン名解析要求パケットを取得することと、
    を含むことを特徴とする請求項1に記載の方法。
  3. 前記サーバーが、並行する解析スレッドからアイドル状態にある解析スレッドを選択することと、
    前記サーバーが、選択された前記解析スレッドによって、前記したドメイン名解析要求パケットを取得することと、前記した取得した前記ドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュすることと、前記した前記第1のキャッシュ領域において、キャッシュされた前記ドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされた前記ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得することと、前記したキャッシュされた前記ドメイン名解析要求パケットによって解析が要求されたドメイン名及び要求されたレコードタイプを抽出することと、前記した第2のキャッシュ領域において、抽出された前記ドメイン名に対応し、且つ抽出された前記レコードタイプに属する、プリキャッシュされた応答データを検索することと、前記した検索された前記応答データと修正後の前記ドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得することとを実行することと、
    をさらに含むことを特徴とする請求項1に記載の方法。
  4. 前記サーバーの第1のキャッシュ領域と前記第2のキャッシュ領域は、ユーザー空間にあり、前記した選択された前記解析スレッドによって前記したドメイン名解析要求パケットを取得することを実行することは、
    オペレーティングシステムカーネルがネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達するときに、前記サーバーが、選択された前記解析スレッドによって、伝達される前記データパケットに含まれるデータプロトコル識別子を取得することと、
    前記データプロトコル識別子が、伝達される前記データパケットが非ドメイン名解析要求パケットであることを示すときに、前記サーバーが、選択された前記解析スレッドによって、伝達される前記データパケットのアドレスポインタを前記ユーザー空間における第3のキャッシュ領域にキャッシュすることと、
    前記サーバーが、並行する解析スレッドとは独立したカーネルインタラクションスレッドによって、前記第3のキャッシュ領域からデータパケットを読み取って、読み取ったデータパケットを前記オペレーティングシステムカーネルにフィードバックして応答することと、
    を含むことを特徴とする請求項3に記載の方法。
  5. 前記サーバーが、前記第1のキャッシュ領域において、キャッシュされた前記ドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされた前記ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得することは、
    前記サーバーが、前記第1のキャッシュ領域においてキャッシュされた前記ドメイン名解析要求パケットの先頭アドレスポインタを確定することと、
    前記サーバーが、前記第1のキャッシュ領域においてキャッシュされた前記ドメイン名解析要求パケットのうち修正待ちデータのアドレスポインタオフセットを確定し、前記修正待ちデータは、前記ドメイン名解析要求パケットとそれに対応するドメイン名解析応答パケットとのそれぞれのヘッダデータ間の差分データであることと、
    前記サーバーが、前記先頭アドレスポインタと前記アドレスポインタオフセットに基づき、前記第1のキャッシュ領域において前記修正待ちデータを位置決めすることと、
    前記サーバーが、位置決めされた前記修正待ちデータを前記ドメイン名解析応答パケットのうち前記修正待ちデータに対応するデータに修正することと、
    を含むことを特徴とする請求項1に記載の方法。
  6. 前記応答データは、予め設定された応答フォーマットに従ってドメイン名解析レコードをパッケージングすることによって得られ、
    前記方法は、
    現在の時間が前記応答データに含まれるキャッシュ期限を超えると、前記サーバーが前記ドメイン名解析レコードを更新することと、
    前記サーバーが予め設定された応答フォーマットに従って、更新された前記ドメイン名解析レコードを更新された応答データにパッケージングすることと、
    前記サーバーが、前記第2のキャッシュ領域においてプリキャッシュされた前記応答データを前記更新された応答データに置き換えることと、
    をさらに含むことを特徴とする請求項1に記載の方法。
  7. 前記サーバーが、第2のキャッシュ領域において、抽出された前記ドメイン名に対応し、且つ抽出された前記レコードタイプに属する、プリキャッシュされた応答データを検索することは、
    前記サーバーが、抽出された前記ドメイン名によってマッピングされたハッシュ値を取得することと、
    前記サーバーが、ハッシュテーブルにおいて前記ハッシュ値が指向するリンクリストを確定することと、
    前記サーバーが、前記リンクリストにおいて、抽出された前記ドメイン名を含み且つ抽出された前記レコードタイプに対応するノードを検索することと、
    前記サーバーが、検索された前記ノードから応答データのキャッシュアドレスを抽出することと、
    前記サーバーが、前記キャッシュアドレスに基づき、前記第2のキャッシュ領域から対応するプリキャッシュされた応答データを読み取ることと、
    を含むことを特徴とする請求項1に記載の方法。
  8. 前記サーバーが、検索された前記応答データと修正後の前記ドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得することは、
    前記サーバーが、前記第1のキャッシュ領域における修正後の前記ドメイン名解析要求パケットの先頭アドレスポインタを取得することと、
    前記サーバーが、修正後の前記ドメイン名解析要求パケットのデータの総量に対応するアドレスポインタオフセットを取得することと、
    前記サーバーが、修正後の前記ドメイン名解析要求パケットの先頭アドレスポインタと前記アドレスポインタオフセットに基づき、前記応答データの先頭アドレスポインタを確定することと、
    前記サーバーが、前記応答データの先頭アドレスポインタに基づき、前記応答データを前記第1のキャッシュ領域にキャッシュして、前記第1のキャッシュ領域にキャッシュされ、且つ修正後の前記ドメイン名解析要求パケットとキャッシュされた前記応答データを含むドメイン名解析応答パケットを取得することと、
    を含むことを特徴とする請求項1に記載の方法。
  9. メモリとプロセッサーを含むサーバーであって、前記メモリには、コンピュータ可読命令が記憶され、前記コンピュータ可読命令が前記プロセッサーによって実行されるときに、前記プロセッサーに、
    ドメイン名解析要求パケットを取得することと、
    取得した前記ドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュすることと、
    前記第1のキャッシュ領域において、キャッシュされた前記ドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされた前記ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得することと、
    キャッシュされた前記ドメイン名解析要求パケットによって解析が要求されたドメイン名及び要求されたレコードタイプを抽出することと、
    第2のキャッシュ領域において、抽出された前記ドメイン名に対応し、且つ抽出された前記レコードタイプに属する、プリキャッシュされた応答データを検索することと、
    検索された前記応答データと修正後の前記ドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得することと、
    を実行させることを特徴とするサーバー。
  10. 前記第1のキャッシュ領域及び前記第2のキャッシュ領域は、ユーザー空間にあり、前記したドメイン名解析要求パケットを取得することは、
    オペレーティングシステムカーネルがネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達するときに、伝達される前記データパケットに含まれるデータプロトコル識別子を取得することと、
    前記データプロトコル識別子が、伝達される前記データパケットがドメイン名解析要求パケットであることを示すときに、前記ドメイン名解析要求パケットを取得することと、
    を含むことを特徴とする請求項9に記載のサーバー。
  11. 前記コンピュータ可読命令が前記プロセッサーによって実行されるときに、さらに、前記プロセッサーに、
    並行する解析スレッドからアイドル状態にある解析スレッドを選択することと、
    選択された前記解析スレッドによって、前記したドメイン名解析要求パケットを取得することと、前記した取得した前記ドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュすることと、前記した前記第1のキャッシュ領域においてキャッシュされた前記ドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされた前記ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得することと、前記したキャッシュされた前記ドメイン名解析要求パケットによって解析が要求されたドメイン名及び要求されたレコードタイプを抽出することと、前記した第2のキャッシュ領域において、抽出された前記ドメイン名に対応し、且つ抽出された前記レコードタイプに属する、プリキャッシュされた応答データを検索することと、前記した検索された前記応答データと修正後の前記ドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得することとを実行することと、
    を実行させることを特徴とする請求項9に記載のサーバー。
  12. 前記第1のキャッシュ領域及び前記第2のキャッシュ領域は、ユーザー空間にあり、前記した選択された前記解析スレッドによって前記したドメイン名解析要求パケットを取得することを実行することは、
    オペレーティングシステムカーネルがネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達するときに、選択された前記解析スレッドによって、伝達される前記データパケットに含まれるデータプロトコル識別子を取得することと、
    前記データプロトコル識別子が、伝達される前記データパケットが非ドメイン名解析要求パケットであることを示すときに、選択された前記解析スレッドによって、伝達される前記データパケットのアドレスポインタを前記ユーザー空間における第3のキャッシュ領域にキャッシュすることと、
    並行する解析スレッドとは独立したカーネルインタラクションスレッドによって前記第3のキャッシュ領域からデータパケットを読み取って、読み取ったデータパケットを前記オペレーティングシステムカーネルにフィードバックして応答することと、
    を含むことを特徴とする請求項11に記載のサーバー。
  13. 前記した前記第1のキャッシュ領域においてキャッシュされた前記ドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされた前記ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得することは、
    前記第1のキャッシュ領域においてキャッシュされた前記ドメイン名解析要求パケットの先頭アドレスポインタを確定することと、
    前記第1のキャッシュ領域においてキャッシュされた前記ドメイン名解析要求パケットのうち修正待ちデータのアドレスポインタオフセットを確定し、前記修正待ちデータが前記ドメイン名解析要求パケットとそれに対応するドメイン名解析応答パケットとのそれぞれのヘッダデータ間の差分データであることと、
    前記先頭アドレスポインタと前記アドレスポインタオフセットに基づき、前記第1のキャッシュ領域において前記修正待ちデータを位置決めすることと、
    位置決めされた前記修正待ちデータを前記ドメイン名解析応答パケットのうち前記修正待ちデータに対応するデータに修正することと、
    を含むことを特徴とする請求項9に記載のサーバー。
  14. 前記応答データは、予め設定された応答フォーマットに従ってドメイン名解析レコードをパッケージングすることによって得られ、
    前記コンピュータ可読命令が前記プロセッサーによって実行されるときに、前記プロセッサーに、
    現在の時間が前記応答データに含まれるキャッシュ期限を超えると、前記ドメイン名解析レコードを更新することと、
    予め設定された応答フォーマットに従って、更新された前記ドメイン名解析レコードを更新された応答データにパッケージングすることと、
    前記第2のキャッシュ領域におけるプリキャッシュされた前記応答データを前記更新された応答データに置き換えることと
    をさらに実行させることを特徴とする請求項9に記載のサーバー。
  15. 前記した第2のキャッシュ領域において、抽出された前記ドメイン名に対応し、且つ抽出された前記レコードタイプに属する、プリキャッシュされた応答データを検索することは、
    抽出された前記ドメイン名によってマッピングされたハッシュ値を取得することと、
    ハッシュテーブルにおいて、前記ハッシュ値が指向するリンクリストを確定することと、
    前記リンクリストにおいて、抽出された前記ドメイン名を含み且つ抽出された前記レコードタイプに対応するノードを検索することと、
    検索された前記ノードから応答データのキャッシュアドレスを抽出することと、
    前記キャッシュアドレスに基づき、前記第2のキャッシュ領域から対応するプリキャッシュされた応答データを読み取ることと、
    を含むことを特徴とする請求項9に記載のサーバー。
  16. 前記した検索された前記応答データと修正後の前記ドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得することは、
    前記第1のキャッシュ領域における修正後の前記ドメイン名解析要求パケットの先頭アドレスポインタを取得することと、
    修正後の前記ドメイン名解析要求パケットのデータの総量に対応するアドレスポインタオフセットを取得することと、
    修正後の前記ドメイン名解析要求パケットの先頭アドレスポインタと前記アドレスポインタオフセットに基づき、前記応答データの先頭アドレスポインタを確定することと、
    前記応答データの先頭アドレスポインタに基づき、前記応答データを前記第1のキャッシュ領域にキャッシュして、前記第1のキャッシュ領域にキャッシュされ、且つ修正後の前記ドメイン名解析要求パケット及びキャッシュされた前記応答データを含むドメイン名解析応答パケットを取得することと、
    を含むことを特徴とする請求項9に記載のサーバー。
  17. コンピュータ可読命令が記憶される一つまたは複数の不揮発性記憶媒体であって、前記コンピュータ可読命令が一つまたは複数のプロセッサーによって実行されるときに、一つまたは複数のプロセッサーに、
    ドメイン名解析要求パケットを取得することと、
    取得した前記ドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュすることと、
    前記第1のキャッシュ領域において、キャッシュされた前記ドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされた前記ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得することと、
    キャッシュされた前記ドメイン名解析要求パケットによって解析が要求されたドメイン名及び要求されたレコードタイプを抽出することと、
    第2のキャッシュ領域において、抽出された前記ドメイン名に対応し、且つ抽出された前記レコードタイプに属する、プリキャッシュされた応答データを検索することと、
    検索された前記応答データと修正後の前記ドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得することと、
    を実行させることを特徴とする記憶媒体。
  18. 前記第1のキャッシュ領域及び前記第2のキャッシュ領域は、ユーザー空間にあり、前記したドメイン名解析要求パケットを取得することは、
    オペレーティングシステムカーネルがネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達するときに、伝達される前記データパケットに含まれるデータプロトコル識別子を取得することと、
    前記データプロトコル識別子が、伝達される前記データパケットがドメイン名解析要求パケットであることを示すときに、前記ドメイン名解析要求パケットを取得することと、
    を含むことを特徴とする請求項17に記載の記憶媒体。
  19. 前記コンピュータ可読命令が一つまたは複数のプロセッサーによって実行されるときに、一つまたは複数のプロセッサーに、
    並行する解析スレッドからアイドル状態にある解析スレッドを選択することと、
    選択された前記解析スレッドによって、前記したドメイン名解析要求パケットを取得することと、前記した取得した前記ドメイン名解析要求パケットを第1のキャッシュ領域にキャッシュすることと、前記した前記第1のキャッシュ領域において、キャッシュされた前記ドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされた前記ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得することと、前記したキャッシュされた前記ドメイン名解析要求パケットによって解析が要求されたドメイン名及び要求されたレコードタイプを抽出することと、前記した第2のキャッシュ領域において抽出された前記ドメイン名に対応し、且つ抽出された前記レコードタイプに属する、プリキャッシュされた応答データを検索することと、前記した検索された前記応答データと修正後の前記ドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得することとを実行することと、
    を実行させることを特徴とする請求項17に記載の記憶媒体。
  20. 前記第1のキャッシュ領域及び前記第2のキャッシュ領域は、ユーザー空間にあり、前記した選択された前記解析スレッドによって前記したドメイン名解析要求パケットを取得することを実行することは、
    オペレーティングシステムカーネルがネットワークカード受信キューからデータパケットを読み取ってユーザー空間に伝達するときに、選択された前記解析スレッドによって、伝達される前記データパケットに含まれるデータプロトコル識別子を取得することと、
    前記データプロトコル識別子が、伝達される前記データパケットが非ドメイン名解析要求パケットであることを示すときに、選択された前記解析スレッドによって、伝達される前記データパケットのアドレスポインタを前記ユーザー空間における第3のキャッシュ領域にキャッシュすることと、
    並行する解析スレッドとは独立したカーネルインタラクションスレッドによって、前記第3のキャッシュ領域からデータパケットを読み取って、読み取ったデータパケットを前記オペレーティングシステムカーネルにフィードバックして応答することと、
    を含むことを特徴とする請求項19に記載の記憶媒体。
  21. 前記した前記第1のキャッシュ領域においてキャッシュされた前記ドメイン名解析要求パケットに含まれるヘッダデータを修正して、キャッシュされた前記ドメイン名解析要求パケットに対応するドメイン名解析応答パケットのヘッダデータを取得することは、
    前記第1のキャッシュ領域においてキャッシュされた前記ドメイン名解析要求パケットの先頭アドレスポインタを確定することと、
    前記第1のキャッシュ領域においてキャッシュされた前記ドメイン名解析要求パケットのうち修正待ちデータのアドレスポインタオフセットを確定し、前記修正待ちデータが前記ドメイン名解析要求パケットとそれに対応するドメイン名解析応答パケットとのそれぞれのヘッダデータ間の差分データであることと、
    前記先頭アドレスポインタと前記アドレスポインタオフセットに基づき、前記第1のキャッシュ領域において前記修正待ちデータを位置決めすることと、
    位置決めされた前記修正待ちデータを前記ドメイン名解析応答パケットのうち前記修正待ちデータに対応するデータに修正することと、
    を含むことを特徴とする請求項17に記載の記憶媒体。
  22. 前記応答データは、予め設定された応答フォーマットに従ってドメイン名解析レコードをパッケージングすることによって得られ、
    前記コンピュータ可読命令が一つまたは複数の前記プロセッサーによって実行されるときに、一つまたは複数の前記プロセッサーに、
    現在の時間が前記応答データに含まれるキャッシュ期限を超えると、前記ドメイン名解析レコードを更新することと、
    予め設定された応答フォーマットに従って、更新された前記ドメイン名解析レコードを更新された応答データにパッケージングすることと、
    前記第2のキャッシュ領域におけるプリキャッシュされた前記応答データを前記更新された応答データに置き換えることと、
    をさらに実行させることを特徴とする請求項17に記載の記憶媒体。
  23. 前記した第2のキャッシュ領域において、抽出された前記ドメイン名に対応し、且つ抽出された前記レコードタイプに属する、プリキャッシュされた応答データを検索することは、
    抽出された前記ドメイン名によってマッピングされたハッシュ値を取得することと、
    ハッシュテーブルにおいて、前記ハッシュ値が指向するリンクリストを確定することと、
    前記リンクリストにおいて、抽出された前記ドメイン名を含み且つ抽出された前記レコードタイプに対応するノードを検索することと、
    検索された前記ノードから応答データのキャッシュアドレスを抽出することと、
    前記キャッシュアドレスに基づき、前記第2のキャッシュ領域から対応するプリキャッシュされた応答データを読み取ることと、
    を含むことを特徴とする請求項17に記載の記憶媒体。
  24. 前記した検索された前記応答データと修正後の前記ドメイン名解析要求パケットとを組み合わせて、ドメイン名解析応答パケットを取得することは、
    前記第1のキャッシュ領域における修正後の前記ドメイン名解析要求パケットの先頭アドレスポインタを取得することと、
    修正後の前記ドメイン名解析要求パケットのデータの総量に対応するアドレスポインタオフセットを取得することと、
    修正後の前記ドメイン名解析要求パケットの先頭アドレスポインタと前記アドレスポインタオフセットに基づき、前記応答データの先頭アドレスポインタを確定することと、
    前記応答データの先頭アドレスポインタに基づき、前記応答データを前記第1のキャッシュ領域にキャッシュして、前記第1のキャッシュ領域にキャッシュされ且つ修正後の前記ドメイン名解析要求パケットとキャッシュされた前記応答データを含むドメイン名解析応答パケットを取得することと、
    を含むことを特徴とする請求項17に記載の記憶媒体。
JP2019524972A 2017-01-11 2017-12-22 ドメイン名解析方法、サーバー及び記憶媒体 Active JP6816275B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710021111.4 2017-01-11
CN201710021111.4A CN106790762B (zh) 2017-01-11 2017-01-11 域名解析方法和装置
PCT/CN2017/117904 WO2018130061A1 (zh) 2017-01-11 2017-12-22 域名解析方法、服务器和存储介质

Publications (2)

Publication Number Publication Date
JP2019537372A JP2019537372A (ja) 2019-12-19
JP6816275B2 true JP6816275B2 (ja) 2021-01-20

Family

ID=58947925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019524972A Active JP6816275B2 (ja) 2017-01-11 2017-12-22 ドメイン名解析方法、サーバー及び記憶媒体

Country Status (7)

Country Link
US (1) US10826869B2 (ja)
EP (1) EP3570512B1 (ja)
JP (1) JP6816275B2 (ja)
KR (1) KR102199403B1 (ja)
CN (1) CN106790762B (ja)
MA (1) MA47252A (ja)
WO (1) WO2018130061A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790762B (zh) * 2017-01-11 2022-05-24 腾讯科技(深圳)有限公司 域名解析方法和装置
CN107483604B (zh) * 2017-08-29 2020-12-15 武汉斗鱼网络科技有限公司 Nginx-RTMP动态更新DNS缓存的方法和装置
CN108600406B (zh) * 2018-03-27 2021-06-01 上海兆芯集成电路有限公司 处理不同类型请求的网络装置
JP7044033B2 (ja) * 2018-11-06 2022-03-30 日本電信電話株式会社 アクセス制御方法、アクセス制御装置、およびデータ処理装置
CN110147864B (zh) 2018-11-14 2022-02-22 腾讯科技(深圳)有限公司 编码图案的处理方法和装置、存储介质、电子装置
CN111030988B (zh) * 2019-11-01 2022-01-04 烽火通信科技股份有限公司 一种自反馈调度导流方法及系统
CN111711706B (zh) * 2020-04-30 2023-04-07 广州根链国际网络研究院有限公司 Dns递归请求方法及系统
CN111770049B (zh) * 2020-05-09 2022-06-03 优刻得科技股份有限公司 全局缓存变量及报文信息存储方法及装置
KR102537370B1 (ko) * 2020-05-29 2023-05-30 주식회사 맥데이타 대용량 네트워크 모니터링을 위한 실시간 패킷 분석 방법 및 장치
KR102423039B1 (ko) * 2020-06-30 2022-07-21 주식회사 맥데이타 대용량 네트워크 모니터링을 위한 실시간 패킷 데이터 저장 방법 및 장치
CN112040027B (zh) * 2020-09-14 2023-06-16 网易(杭州)网络有限公司 一种数据处理的方法及装置、电子设备、存储介质
CN112887442B (zh) * 2021-01-11 2023-02-07 杭州迪普科技股份有限公司 域名解析查询请求的处理方法及装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073707A1 (en) * 2001-05-23 2004-04-15 Hughes Electronics Corporation Generating a list of network addresses for pre-loading a network address cache via multicast
US7769826B2 (en) * 2003-06-26 2010-08-03 Nominum, Inc. Systems and methods of providing DNS services using separate answer and referral caches
US7440453B2 (en) * 2004-11-12 2008-10-21 International Business Machines Corporation Determining availability of a destination for computer network communications
US7467230B2 (en) * 2006-02-28 2008-12-16 Microsoft Corporation Global names zone
CN100544372C (zh) * 2007-06-14 2009-09-23 中兴通讯股份有限公司 一种电话号码映射域名服务器的内存处理方法及装置
US7783764B2 (en) * 2008-05-27 2010-08-24 Silver Spring Networks, Inc. Multi-protocol network registration and address resolution
US8677018B2 (en) * 2008-08-25 2014-03-18 Google Inc. Parallel, side-effect based DNS pre-caching
US9197486B2 (en) * 2008-08-29 2015-11-24 Google Inc. Adaptive accelerated application startup
CN102075432B (zh) * 2011-01-25 2012-11-28 上海聚欣网络科技有限公司 一种用于发送及接收报文的方法、装置、设备及系统
US9083644B2 (en) * 2012-02-14 2015-07-14 International Business Machines Corporation Packet routing for embedded applications sharing a single network interface over multiple virtual networks
US9215205B1 (en) * 2012-04-20 2015-12-15 Infoblox Inc. Hardware accelerator for a domain name server cache
CN102882991B (zh) * 2012-09-29 2016-03-30 北京奇虎科技有限公司 一种浏览器及其进行域名解析的方法
CN103634315B (zh) * 2013-11-29 2017-11-10 哈尔滨工业大学(威海) 域名服务器的前端控制方法及系统
US9531849B2 (en) * 2014-06-19 2016-12-27 Cavium, Inc. Method of splitting a packet into individual layers for modification and intelligently stitching layers back together after modification and an apparatus thereof
CN104917851B (zh) * 2015-05-08 2019-01-22 成都亚信网络安全产业技术研究院有限公司 信息处理方法及dns缓存服务器
US10061619B2 (en) * 2015-05-29 2018-08-28 Red Hat, Inc. Thread pool management
CN105162900B (zh) * 2015-09-25 2019-02-15 中国互联网络信息中心 一种多节点协作的域名解析和缓存方法及系统
CN105681483B (zh) * 2015-12-29 2019-06-11 赛尔网络有限公司 基于dns服务器测量特定ip范围解析占比的方法及系统
CN106096023B (zh) * 2016-06-24 2019-03-08 腾讯科技(深圳)有限公司 数据读取方法、数据写入方法及数据服务器
CN108206814B (zh) * 2016-12-20 2021-03-16 腾讯科技(深圳)有限公司 一种防御dns攻击的方法、装置及系统
CN106790762B (zh) * 2017-01-11 2022-05-24 腾讯科技(深圳)有限公司 域名解析方法和装置
US10375016B1 (en) * 2018-04-02 2019-08-06 Cloudflare, Inc. Managing domain name system (DNS) record cache across multiple DNS servers using multicast communication

Also Published As

Publication number Publication date
EP3570512A1 (en) 2019-11-20
KR102199403B1 (ko) 2021-01-06
US20190215299A1 (en) 2019-07-11
KR20190062530A (ko) 2019-06-05
MA47252A (fr) 2019-11-20
CN106790762B (zh) 2022-05-24
CN106790762A (zh) 2017-05-31
WO2018130061A1 (zh) 2018-07-19
EP3570512B1 (en) 2023-05-24
US10826869B2 (en) 2020-11-03
JP2019537372A (ja) 2019-12-19
EP3570512A4 (en) 2020-11-18

Similar Documents

Publication Publication Date Title
JP6816275B2 (ja) ドメイン名解析方法、サーバー及び記憶媒体
US11388251B2 (en) Providing access to managed content
US8321503B2 (en) Context-specific network resource addressing model for distributed services
US8463850B1 (en) System and method of algorithmically generating a server side transaction identifier
US6754799B2 (en) System and method for indexing and retrieving cached objects
US10740299B2 (en) Systems and methods for providing continuing access to a remote computer program
EP2214356B1 (en) System for forwarding a packet with a hierarchically structured variable-length identifier
WO2021169113A1 (zh) 数据管理方法、装置、计算机设备和存储介质
WO2013143403A1 (zh) 一种访问网站的方法和系统
US20210377211A1 (en) Cross protocol association for internet addresses for metadata association systems and methods
US9392079B2 (en) Directory service discovery and/or learning
CN109144514B (zh) Json格式数据解析存储方法及装置
CN112261090A (zh) Web数据处理方法、装置、计算机设备和可读存储介质
EP3107010B1 (en) Data integration pipeline
CN113791730B (zh) 基于双存储池的放置组调整方法、系统、装置及存储介质
CN106959975B (zh) 一种转码资源缓存处理方法、装置及设备
CN109495525B (zh) 网络组件、解析内容标识的方法和计算机可读存储介质
US10015012B2 (en) Precalculating hashes to support data distribution
US10205679B2 (en) Resource object resolution management
US20180367452A1 (en) Information centric networking over multi-access network interfaces
CN116866429A (zh) 一种数据访问方法及相关装置
CN112532414B (zh) 确定isp归属的方法、装置、设备及计算机存储介质
CN115129779A (zh) 数据库的同步方法、装置及可读介质
US7797359B1 (en) Recursive data naming
US10997054B1 (en) Leveraging training data towards increasing the explainability of ML-based code analysis tools

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200812

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: 20201215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201223

R150 Certificate of patent or registration of utility model

Ref document number: 6816275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250