(57)【要約】本開示は、ショートリンク処理方法、装置及びサーバを開示する。前記方法は、リクエスタから、第１のロングリンクＵＲＬを含むショートリンク申請要求を受信するステップと；前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算するステップと；前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定するステップと；前記第１のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するステップと；を含む。このように、本開示のデータベース／テーブルシャーディングモードにおいて、ロングリンクＵＲＬは対応するショートリンクＵＲＬに変換できる。また、対応するショートリンクＵＲＬは一意であり且つ短いので、ショートリンクの記憶スペースの水平スケーラビリティが向上し、ショートリンクの処理速度が更に向上する。【選択図】図２
2019504412.tif 000002
【特許請求の範囲】
【請求項１】
分散型サーバクラスタにおける任意のサーバに適用されるショートリンク処理方法であって：
リクエスタから、第１のロングリンクＵＲＬを含むショートリンク申請要求を受信するステップと；
前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算するステップと；
前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定するステップと；
前記第１のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するステップと；を備える、
分散型サーバクラスタにおける任意のサーバに適用されるショートリンク処理方法。
【請求項２】
前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算する前記ステップは：
前記第１のロングリンクＵＲＬに基づき、対応する第１のダイジェスト値を計算するステップと；
前記第１のダイジェスト値に基づき、対応する前記第１のデータベーステーブル識別子を計算するステップと；を備える、
請求項１に記載の方法。
【請求項３】
前記第１のロングリンクＵＲＬに基づき、対応する第１のダイジェスト値を計算する前記ステップは：
メッセージダイジェストアルゴリズムを用いて前記第１のロングリンクＵＲＬに対応する前記第１のダイジェスト値を計算するステップであって、前記第１のダイジェスト値は前記メッセージダイジェストアルゴリズムのダイジェスト値である、計算するステップ；又は
セキュアハッシュアルゴリズムを用いて、前記第１のロングリンクＵＲＬに対応する前記第１のダイジェスト値を計算するステップであって、前記第１のダイジェスト値は前記セキュアハッシュアルゴリズムのダイジェスト値である、計算するステップ；を備える、
請求項２に記載の方法。
【請求項４】
前記第１のデータベーステーブル識別子は、数字又は文字として表現される、
請求項２に記載の方法。
【請求項５】
対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信する前記ステップは：
前記第１のダイジェスト値に対応する第１の簡略ショートリンクについて前記第１のデータベースを探索するステップと；
前記第１の簡略ショートリンクが見つかり、見つかった前記第１の簡略ショートリンクに対応する第２のロングリンクＵＲＬが、前記申請要求が含む前記第１のロングリンクＵＲＬと同一である場合、見つかった前記第１の簡略ショートリンクに基づき前記第１のショートリンクＵＲＬを形成し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するステップと；を備える、
請求項２に記載の方法。
【請求項６】
前記申請要求が前記ショートリンクの有効期間を更に含み、
前記第１の簡略ショートリンクの有効期間を、前記申請要求が含む前記有効期間で以って更新するステップを更に備える、
請求項５に記載の方法。
【請求項７】
対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信する前記ステップは：
前記第１の簡略ショートリンクが見つからない場合、又は、見つかった前記第１の簡略ショートリンクに対応する前記第２のロングリンクＵＲＬが、前記申請要求が含む前記第１のロングリンクＵＲＬと異なる場合、前記第１のデータベーステーブル識別子に基づき、対応する第２の簡略ショートリンクを生成するステップと；
前記第２の簡略ショートリンクは用いられていないと特定された場合、前記第２の簡略ショートリンクに基づき第２のショートリンクＵＲＬを形成し、前記第２のショートリンクＵＲＬを前記リクエスタへ送信するステップと；を備える、
請求項５に記載の方法。
【請求項８】
前記申請要求が前記ショートリンクの有効期間を更に含み、
前記申請要求が含む前記有効期間を前記第２の簡略ショートリンクの有効期間として設定するステップを更に備える、
請求項７に記載の方法。
【請求項９】
前記第２の簡略ショートリンクと、対応する前記第１のロングリンクＵＲＬと、対応する前記第１のダイジェスト値と、対応する有効期間とを結合し、前記第１のデータベースに記憶するステップを更に備える、
請求項７に記載の方法。
【請求項１０】
前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定する前記ステップの後：
前記第１のデータベースが前記サーバの前記アクセス圏内にないと特定された場合、前記第１のデータベースにアクセスできるサーバが前記申請要求に基づき前記第１のデータベースから対応する前記第１のショートリンクＵＲＬを取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するよう、前記申請要求を前記第１のデータベースにアクセスできる前記サーバへ転送するステップを更に備える、
請求項１に記載の方法。
【請求項１１】
前記第１のデータベース内の各ショートリンクの有効期間を検出するステップと；
前記有効期間が満了となったとき、対応する記憶情報を削除するステップと；を更に備える、
請求項１乃至請求項１０のいずれか１項に記載の方法。
【請求項１２】
前記リクエスタから、第３のショートリンクＵＲＬを含むショートリンクアクセス要求を受信するステップと；
前記第３のショートリンクＵＲＬに基づき、対応する第２のデータベーステーブル識別子を計算するステップと；
前記第２のデータベーステーブル識別子に対応する第２のデータベースが前記サーバの前記アクセス圏内にあるか否かを特定するステップと；
前記第２のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第３のロングリンクＵＲＬを前記第２のデータベースから取得し、前記第３のロングリンクＵＲＬへジャンプするステップと；を更に備える、
請求項１乃至請求項１０のいずれか１項に記載の方法。
【請求項１３】
前記第３のショートリンクＵＲＬに基づき、対応する第２のデータベーステーブル識別子を計算する前記ステップは：
前記第３のショートリンクＵＲＬから第３の簡略ショートリンクを抽出するステップと；
前記第３の簡略ショートリンクに基づき、対応する前記第２のデータベーステーブル識別子を生成するステップと；を備える、
請求項１２に記載の方法。
【請求項１４】
対応する第３のロングリンクＵＲＬを前記第２のデータベースから取得し、前記第３のロングリンクＵＲＬへジャンプする前記ステップは：
前記第３の簡略ショートリンクについて前記第２のデータベースを探索するステップと；
前記第３の簡略ショートリンクが見つかり、前記第３の簡略ショートリンクの有効期間が満了になっていない場合、前記第３の簡略ショートリンクに対応する前記第３のロングリンクＵＲＬへジャンプするステップと；を備える、
請求項１３に記載の方法。
【請求項１５】
対応する第３のロングリンクＵＲＬを前記第２のデータベーステーブル識別子に対応する前記第２のデータベースから取得し、前記第３のロングリンクＵＲＬへジャンプする前記ステップは：
前記第３の簡略ショートリンクが見つからない場合、又は、見つかった前記第３の簡略ショートリンクの前記有効期間が満了になっている場合、特定のＵＲＬへジャンプするステップを更に備える、
請求項１４に記載の方法。
【請求項１６】
前記第２のデータベーステーブル識別子に対応する第２のデータベースが前記サーバの前記アクセス圏内にあるか否かを特定する前記ステップの後に：
前記第２のデータベースが前記サーバの前記アクセス圏内にないと特定された場合、前記第１のデータベースにアクセスできるサーバが前記アクセス要求に基づき前記第２のデータベースから、対応する前記第３のショートリンクＵＲＬを取得し、前記第３のロングリンクＵＲＬへジャンプするよう、前記アクセス要求を前記第１のデータベースにアクセスできる前記サーバへ転送するステップを更に備える、
請求項１２に記載の方法。
【請求項１７】
分散型サーバクラスタにおける任意のサーバに適用されるショートリンク処理装置であって：
リクエスタから、第１のロングリンクＵＲＬを含むショートリンク申請要求を受信するよう構成された第１の受信ユニットと；
前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を取得するよう構成された第１の計算ユニットと；
前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定するよう構成された第１の特定ユニットと；
前記第１のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するよう構成された第１の処理ユニットと；を備える、
分散型サーバクラスタにおける任意のサーバに適用されるショートリンク処理装置。
【請求項１８】
前記第１の計算ユニットは：
前記第１のロングリンクＵＲＬに基づき、対応する第１のダイジェスト値を計算するよう構成された第１の計算サブユニットと；
前記第１のダイジェスト値に基づき、対応する前記第１のデータベーステーブル識別子を計算するよう構成された第２の計算サブユニットと；を備える、
請求項１７に記載の装置。
【請求項１９】
前記第１の計算サブユニットは、メッセージダイジェストアルゴリズムを用いて、前記第１のロングリンクＵＲＬに対応する前記第１のダイジェスト値であって、前記メッセージダイジェストアルゴリズムのダイジェスト値である前記第１のダイジェスト値を計算する、又は、セキュアハッシュアルゴリズムを用いて、前記第１のロングリンクＵＲＬに対応する前記第１のダイジェスト値であって、前記セキュアハッシュアルゴリズムのダイジェスト値である前記第１のダイジェスト値を計算するよう構成された、
請求項１８に記載の装置。
【請求項２０】
前記第１のデータベーステーブル識別子が数字又は文字として表現される、
請求項１８に記載の装置。
【請求項２１】
前記第１の処理ユニットは：
前記第１のダイジェスト値に対応する第１の簡略ショートリンクについて前記第１のデータベースを探索するよう構成された第１の探索サブユニットと；
前記第１の簡略ショートリンクが見つかり、見つかった前記第１の簡略ショートリンクに対応する第２のロングリンクＵＲＬが、前記申請要求が含む前記第１のロングリンクＵＲＬと同一である場合、見つかった前記第１の簡略ショートリンクに基づき前記第１のショートリンクＵＲＬを形成し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するよう構成された第１の処理サブユニットと；を備える、
請求項１８に記載の装置。
【請求項２２】
前記申請要求が前記ショートリンクの有効期間を更に含み、
前記第１の処理ユニットは、前記第１の簡略ショートリンクの有効期間を前記申請要求が含む前記有効期間で以って更新するよう構成された更新サブユニットを更に備える、
請求項２１に記載の装置。
【請求項２３】
前記第１の処理ユニットは：
前記第１の簡略ショートリンクが見つからない場合、又は、見つかった前記第１の簡略ショートリンクに対応する前記第２のロングリンクＵＲＬが、前記申請要求が含む前記第１のロングリンクＵＲＬと異なる場合、前記第１のデータベーステーブル識別子に基づき、対応する第２の簡略ショートリンクを生成するよう構成された生成サブユニットと；
前記第２の簡略ショートリンクは用いられていないと特定された場合、前記第２の簡略ショートリンクに基づき第２のショートリンクＵＲＬを形成し、前記第２のショートリンクＵＲＬを前記リクエスタへ送信するよう構成された第２の処理サブユニットと；を更に備える、
請求項２１に記載の装置。
【請求項２４】
前記申請要求が前記ショートリンクの有効期間を更に備え、
前記第１の処理ユニットが、前記申請要求が備える前記有効期間を前記第２の簡略ショートリンクの有効期間として設定するよう構成された設定サブユニットを更に備える、
請求項２３に記載の装置。
【請求項２５】
前記第１の処理ユニットが、前記第２の簡略ショートリンクと、対応する前記第１のロングリンクＵＲＬと、対応する前記第１のダイジェスト値と、対応する有効期間とを結合し、前記第１のデータベースに記憶するよう構成された記憶サブユニットを更に備える、
請求項２３に記載の装置。
【請求項２６】
前記第１のデータベースが前記サーバの前記アクセス圏内にないと特定された場合、前記第１のデータベースにアクセスできるサーバが前記申請要求に基づき前記第１のデータベースから対応する前記第１のショートリンクＵＲＬを取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するよう、前記申請要求を前記第１のデータベースにアクセスできる前記サーバへ転送するよう構成された第２の処理ユニットを更に備える、
請求項１７に記載の装置。
【請求項２７】
前記第１のデータベース内の各ショートリンクの有効期間を検出するよう構成された検出ユニットと；
前記有効期間が満了となったとき、対応する記憶情報を削除するよう構成された削除ユニットと；を更に備える、
請求項１７乃至請求項２６のいずれか１項に記載の装置。
【請求項２８】
前記リクエスタから、第３のショートリンクＵＲＬを備えるショートリンクアクセス要求を受信するよう構成された第２の受信ユニットと；
前記第３のショートリンクＵＲＬに基づき、対応する第２のデータベーステーブル識別子を計算するよう構成された第２の計算ユニットと；
前記第２のデータベーステーブル識別子に対応する第２のデータベースが前記サーバの前記アクセス圏内にあるか否かを特定するよう構成された第２の特定ユニットと；
前記第２のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第３のロングリンクＵＲＬを前記第２のデータベースから取得し、前記第３のロングリンクＵＲＬへジャンプするよう構成された第３の処理ユニットと；を更に備える、
請求項１７乃至請求項２６のいずれか１項に記載の装置。
【請求項２９】
前記第２の計算ユニットは：
前記第３のショートリンクＵＲＬから第３の簡略ショートリンクを抽出するよう構成された抽出サブユニットと；
前記第３の簡略ショートリンクに基づき対応する前記第２のデータベーステーブル識別子を生成するよう構成された生成サブユニットと；を備える、
請求項２８に記載の装置。
【請求項３０】
前記第３の処理ユニットは：
前記第３の簡略ショートリンクについて前記第２のデータベースを探索するよう構成された探索サブユニットと；
前記第３の簡略ショートリンクが見つかり、前記第３の簡略ショートリンクの有効期間が満了になっていない場合、前記第３の簡略ショートリンクに対応する前記第３のロングリンクＵＲＬへジャンプするよう構成された第３の処理サブユニットと；を備える、
請求項２９に記載の装置。
【請求項３１】
前記第３の処理ユニットは、前記第３の簡略ショートリンクが見つからない場合、又は、見つかった前記第３の簡略ショートリンクの前記有効期間が満期となっている場合、特定のＵＲＬへジャンプするよう構成された第４の処理サブユニットを更に備える、
請求項３０に記載の装置。
【請求項３２】
前記第２のデータベースが前記サーバの前記アクセス圏内にないと特定された場合、前記第１のデータベースにアクセスできるサーバが前記アクセス要求に基づき前記第２のデータベースから対応する前記第３のショートリンクＵＲＬを取得し、前記第３のロングリンクＵＲＬへジャンプするよう、前記アクセス要求を前記第１のデータベースにアクセスできる前記サーバへ転送するよう構成された第４の処理ユニットを更に備える、
請求項２８に記載の装置。
【請求項３３】
分散型サーバクラスタにおける任意のサーバであって：
プロセッサと、前記プロセッサが実行可能な命令を記憶するよう構成されたメモリとを備え、
前記プロセッサは：
リクエスタから、第１のロングリンクＵＲＬを備えるショートリンク申請要求を受信するように構成され；
前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算するように構成され；
前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定するように構成され；
前記第１のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するように構成された；
分散型サーバクラスタにおける任意のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、インターネット技術の分野に関し、特に、ショートリンクの処理方法、装置、及びサーバに関する。
【背景技術】
【０００２】
ショートリンクは、文字スペースを節約するために、長いＵＲＬ（Uniform Resource Locator：統一資源位置指定子）をプログラム計算等により変換して得られる短縮ＵＲＬ文字列である。
【０００３】
従来の技術では、多数のショートリンクの申請及びアクセスをサポートするために、通常、複数のサーバが必要である。それに加え、より多くの記録（レコード）をサポートするために、簡略化されたショートリンク（以後、簡略ショートリンク）の文字数を増やす必要がある。
【０００４】
しかしながら、同一の長いＵＲＬに対して複数のショートリンクが申請された場合、複数のショートリンクの記録が生成され、それにより記憶スペースが空費される。単一のデータベースに複数のショートリンクの記録を記憶し、簡略ショートリンクの文字数を増やし、より大きなサイズの記憶容量をサポートする場合、単一のデータベースへのアクセス効率が制限されてしまう。
【発明の概要】
【０００５】
本開示は、ショートリンクの処理方法、装置、及びサーバを提供し、従来の技術における、以下の課題、即ち、同一の長いＵＲＬに対して複数のショートリンク申請がなされた場合、複数のショートリンクの記録が生成されることになり、記憶スペースが空費されること、そして、単一のデータベースに複数のショートリンクの記録を記憶し、簡略ショートリンクの文字数を増加させ、より大きなサイズの記憶容量をサポートする場合、単一のデータベースへのアクセス効率が制限されてしまうことを解決する。
【０００６】
本開示の実施の第１の態様によれば、ショートリンクの処理方法が提供され、
前記方法は分散型サーバクラスタにおける任意のサーバに適用され：リクエスタから、第１のロングリンクＵＲＬを含むショートリンク申請要求を受信するステップと；前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算するステップと；前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定するステップと；前記第１のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するステップと；を含む。
【０００７】
本開示の実施の第２の態様によれば、ショートリンクの処理装置が提供され、
前記装置は：リクエスタから、第１のロングリンクＵＲＬを含むショートリンク申請要求を受信するよう構成された第１の受信ユニットと；前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を取得するよう構成された第１の計算ユニットと；前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定するよう構成された第１の特定ユニットと；前記第１のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するよう構成された第１の処理ユニットと；を含む。
【０００８】
本開示の実施の第３の態様によれば、サーバが提供され、
前記サーバは：プロセッサと、前記プロセッサが実行可能な命令を記憶するよう構成されたメモリとを含み、
前記プロセッサは：リクエスタから、第１のロングリンクＵＲＬを含むショートリンク申請要求を受信するように構成され；前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算するように構成され；前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定するように構成され；前記第１のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するように構成される。
【０００９】
本開示の実施によれば、リクエスタからのショートリンク申請要求は受信され、申請要求には第１のロングリンクＵＲＬが含まれる。対応する第１のデータベーステーブル識別子が第１のロングリンクＵＲＬに基づき計算され、これを用いて第１のデータベーステーブル識別子に対応する第１のデータベースがサーバのアクセス圏内にあるか否かが特定される。第１のデータベースがサーバのアクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを第１のデータベースから取得し、第１のショートリンクＵＲＬをリクエスタへ送信する。このように、データベース／テーブルシャーディング（ｄａｔａｂａｓｅ  ａｎｄ  ｔａｂｌｅ  ｓｈａｒｄｉｎｇ）モードにおいて、サーバが、ロングリンクＵＲＬを、対応するショートリンクＵＲＬに変換する。また、対応するショートリンクＵＲＬは一意であり且つ短いので、ショートリンクの記憶スペースの水平スケーラビリティが向上し、ショートリンクの処理速度が更に向上する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本開示の実施に係るショートリンク処理のシナリオを例示する概略図である。
【００１１】
【図２】図２は、本開示に係るショートリンク処理方法の実施を例示するフローチャートである。
【００１２】
【図３】図３は、本開示に係るショートリンク処理方法の他の実施を例示するフローチャートである。
【００１３】
【図４】図４は、本開示に係るショートリンク処理方法の他の実施を例示するフローチャートである。
【００１４】
【図５】図５は、本開示に係るショートリンク処理方法の他の実施を例示するフローチャートである。
【００１５】
【図６】図６は、本開示に係るショートリンク処理方法の他の実施を例示するフローチャートである。
【００１６】
【図７】図７は、本開示に係るショートリンク処理方法の他の実施を例示するフローチャートである。
【００１７】
【図８】図８は、本開示に係るショートリンク処理方法の他の実施を例示するフローチャートである。
【００１８】
【図９】図９は、本開示に係るショートリンク処理装置が配置されるデバイスのハードウェアの構成図である。
【００１９】
【図１０】図１０は、本開示に係るショートリンク処理装置の実施を例示するブロック図である。
【００２０】
【図１１】図１１は、本開示に係るショートリンク処理装置の他の実施を例示するブロック図である。
【００２１】
【図１２】図１２は、本開示に係るショートリンク処理装置の他の実施を例示するブロック図である。
【発明を実施するための形態】
【００２２】
ここで、実施の例について詳細に述べる。添付図面は実施の例を示す。以下の記載が添付図面に関するものである場合、別段の定めがない限り、複数の異なる添付図面における同一の符号は、同一の要素又は類似の要素を表す。以下の実施の例で記載される実施は、本開示と合致する全ての実施を表すものではない。むしろ、それらは、付帯する特許請求の範囲において詳述され、本開示の幾つかの態様と合致する、装置及び方法の例に過ぎない。
【００２３】
本開示において用いられる用語は実施を例示するために用いられるに過ぎず、本開示を限定することを意図するものではない。本開示及び付帯の特許請求の範囲において用いられる、単数形の「或る（ａ）」、「当該（ｓａｉｄ）」、「前記（ｔｈｅ）」との表現は、文脈おいて別段の定めが明記されない限り、複数形も含むことを意図している。また、ここで用いられる表現「及び／又は」は、記載され、関連付けられた１以上の用語の、任意の又は全ての可能な組み合わせを示し包含することも理解すべきである。
【００２４】
なお、本開示において、種々の情報を記載するにあたって、表現「第１の」、「第２の」、「第３の」が用いられ得るものの、当該情報がこれらの表現によって限定されるものではないことを理解すべきである。これらの表現は、同じ種類の情報を区別するために用いられるに過ぎない。例えば、本開示の範囲から逸脱せずに、第１の情報を第２の情報と称してもよいし、同様に、第２の情報を第１の情報と称してもよい。文脈によって、例えば、ここで用いられる「〜の場合」の語は、「〜の最中」又は「〜の際」又は「〜と特定したことに応じて」として解釈してもよい。
【００２５】
図１を参照するに、図１は、本開示の実施に係るショートリンク処理のシナリオを例示する概略図である。
【００２６】
図１のシナリオは、リクエスタと分散型サーバクラスタとを含む。図１のシナリオのリクエスタは、ショートリンク申請要求又はショートリンクアクセス要求を開始してよい。また、リクエスタは、システムのエンドデバイス、一般ユーザの端末デバイス、パートナーのデバイス等であってよい。一般ユーザの端末デバイスとして、種々のスマートフォン、タブレット型コンピュータ、パソコン（ＰＣ）等を挙げることができる。
【００２７】
図１におけるシナリオの分散型サーバクラスタの任意のサーバは、リクエスタからショートリンク申請要求又はショートリンクアクセス要求を受信できる。
【００２８】
本開示では、データベース／テーブルシャーディングモードの分散型サーバ転送機構が用いられる。その詳細を以下に述べる。
【００２９】
各サーバによりアクセス可能な、限定されたデータベースのみが、サーバに割り当てられる。サーバにより受信されたショートリンク申請要求又はショートリンクアクセス要求が、サーバによりアクセス可能なデータベースの圏内にない場合、サーバは、申請要求又はアクセス要求を、対応するデータベースにアクセスできるサーバへ転送する。各サーバには、１以上のデータベースが割り当てられてよい。
【００３０】
リクエスタは、分散型サーバクラスタにおける任意のサーバへショートリンク申請要求を送信してよい。申請要求は長いＵＲＬを含み、長いＵＲＬは、変換対象である実際のＵＲＬであってよい。申請要求の目的は、ショートリンクサーバに、対応するショートリンクＵＲＬを返信させることである。
【００３１】
また、リクエスタは、分散型サーバクラスタにおける任意のサーバへ、ショートリンクアクセス要求を送信できる。アクセス要求は、ショートリンクＵＲＬを含む。アクセス要求の目的は、サーバに、ショートリンクＵＲＬに基づき、対応する長いＵＲＬを取得させ、長いＵＲＬへジャンプさせることである。例えば、ショートリンクＵＲＬは、https://m.alipay.com/t9Yv3MZである。
【００３２】
サーバがショートリンクＵＲＬに基づき取得する、対応する長いＵＲＬは、https://cmspromo.alipay.com/finance/fullyear.htmであってよい。説明を容易にするため、本開示のこの実施では「長いＵＲＬ」を「ロングリンクＵＲＬ」と定義する。この定義は本開示の以下の実施全てに適用される。以下、本開示の実施を詳細に述べる。
【００３３】
図２を参照するに、図２は、本開示に係るショートリンク処理方法の実施を例示するフローチャートである。この方法は、分散型サーバクラスタにおける任意のサーバに適用でき、以下の各ステップを含む。
【００３４】
ステップ２１０：リクエスタから、第１のロングリンクＵＲＬを含むショートリンク申請要求を受信する。
【００３５】
本開示のこの実施において、サーバは、リクエスタからショートリンク申請要求を受信できる。申請要求の目的は、リクエスタに、第１のロングリンクＵＲＬのショートリンクＵＲＬを取得させることである。また、サーバが受信する申請要求は、複数のショートリンク申請要求パラメータを含んでよい。
【００３６】
例えば、表１に示す通り、ショートリンク申請要求は、変換対象である実際のＵＲＬ（第１のロングリンクＵＲＬ）と、ショートリンクの有効期間とを含む。
2019504412.tif 000003
【００３７】
ステップ２２０：第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算する。
【００３８】
本開示のこの実施において、データベーステーブル識別子を用いて、データベース内の同一の論理テーブルに対応する異なる物理テーブルの一意の識別子を表す。例えば、００はショートリンクテーブル００を表し、０１はショートリンクテーブル０１を表す、等である。
【００３９】
データベーステーブル識別子は、００から９９まで（１００個のサブテーブルを表す、計１００個の数字）の範囲内の数字、又は、１以上の文字であってもよく、ショートリンクテーブルのサブテーブル名を表すのに用いられる。
【００４０】
サーバは、所定のアルゴリズムを用いて第１のロングリンクＵＲＬに対し対応する計算を行い、対応する第１のデータベーステーブル識別子を取得してよい。例えば、所定のアルゴリズムは、メッセージダイジェストアルゴリズム５（ＭＤ５）である。また、申請要求が、第１のロングリンクＵＲＬに対応する第１のデータベーステーブル識別子を含む場合、サーバは、第１のデータベーステーブル識別子を申請要求から直接取得してよい。
【００４１】
ステップ２３０：第１のデータベーステーブル識別子に対応する第１のデータベースが、サーバのアクセス圏内にあるか否かを特定する。
【００４２】
例えば、第１のデータベーステーブル識別子が６７である場合、対応する第１のデータベースはデータベース６７である。この場合、申請要求を受信するサーバがデータベース６７にアクセスできるか否かを特定する必要がある。サーバは、データベース６７にアクセスできる場合、対応するショートリンクＵＲＬをデータベース６７から直接取得してよい。或いは、サーバがデータベース６７にアクセスできない場合、サーバは、受信した申請要求をデータベース６７にアクセスできるサーバへ転送する必要がある。そして、データベース６７にアクセスする当該サーバが、申請要求の処理を担う。
【００４３】
ステップ２４０：第１のデータベースがサーバのアクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを第１のデータベースから取得し、第１のショートリンクＵＲＬをリクエスタへ送信する。
【００４４】
第１のデータベースは、ロングリンクＵＲＬ、対応するダイジェスト値、対応する有効期間、対応する簡略ショートリンク、対応するショートリンクＵＲＬ等、同じショートリンクの複数のデータを含んでよい。或いは、第１のデータベースは、対応する簡略ショートリンクのみを含んでもよく、対応する簡略ショートリンクは対応するショートリンクＵＲＬを形成する。これにより、データベースの記憶スペースを節約できる。
【００４５】
また、第１のデータベーステーブル識別子に対応する第１のデータベースが、サーバのアクセス圏内にあるか否かを特定するステップ２３０の実行後、この方法は更に、第１のデータベースがサーバのアクセス圏内にないと特定された場合、第１のデータベースにアクセスできるサーバが申請要求に基づき第１のデータベースから対応する第１のショートリンクＵＲＬを取得し、第１のショートリンクＵＲＬをリクエスタへ送信するよう、受信した申請要求を第１のデータベースにアクセスできるサーバへ転送するステップを含む。
【００４６】
上記の実施から分かることは、ショートリンク申請要求がリクエスタから受信され、申請要求は第１のロングリンクＵＲＬを含むことである。対応する第１のデータベーステーブル識別子が第１のロングリンクＵＲＬに基づき計算され、それを用いて第１のデータベーステーブル識別子に対応する第１のデータベースがサーバのアクセス圏内にあるか否かが特定される。第１のデータベースがサーバのアクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを第１のデータベースから取得し、第１のショートリンクＵＲＬをリクエスタへ送信する。このように、データベース／テーブルシャーディングモードにおいて、サーバはロングリンクＵＲＬを、対応するショートリンクＵＲＬへ変換する。また、対応するショートリンクＵＲＬは一意であり且つ短いので、ショートリンクの記憶スペースの水平スケーラビリティが向上し、ショートリンクの処理速度が更に向上する。
【００４７】
図３を参照するに、図３は本開示に係るショートリンク処理方法の他の実施を例示するフローチャートである。この方法は、分散型サーバクラスタにおける任意のサーバに適用でき、図２に示す方法に基づく。第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算するステップ２２０を実行するとき、この方法は以下の各ステップを含んでよい。
【００４８】
ステップ３１０：第１のロングリンクＵＲＬに基づき、対応する第１のダイジェスト値を計算する。
【００４９】
本開示のこの実施において、第１のロングリンクＵＲＬに対応する第１のダイジェスト値を、異なるアルゴリズムを用いて計算してよい。本開示は、以下の２つのアルゴリズムを含む。ただし、これらに限定されるものではない。
【００５０】
（１）メッセージダイジェストアルゴリズムを用いて第１のロングリンクＵＲＬに対応する第１のダイジェスト値を計算し、第１のダイジェスト値はメッセージダイジェストアルゴリズムのダイジェスト値である。メッセージダイジェストアルゴリズムはＭＤ５であってよい。
【００５１】
例えば、第１のロングリンクＵＲＬはhttps://cmspromo.alipay.com/finance/fullyear.htmである。ＭＤ５アルゴリズムに基づき計算されるＭＤ５ダイジェスト値は、４２９Ｃ９２０７６ＦＣ４ＤＦ６４Ｆ２０ＥＢＥ０Ｄ３９２Ｂ９Ｆ２７である。
【００５２】
（２）セキュアハッシュアルゴリズムを用いて第１のロングリンクＵＲＬに対応する第１のダイジェスト値を計算し、第１のダイジェスト値はセキュアハッシュアルゴリズムのダイジェスト値である。セキュアハッシュアルゴリズムは、セキュアハッシュアルゴリズム１（ＳＨＡ１）であってよい。
【００５３】
ステップ３２０：第１のダイジェスト値に基づき対応する第１のデータベーステーブル識別子を計算する。
【００５４】
本開示のこの実施において、第１のダイジェスト値に対応する第１のデータベーステーブル識別子を、異なるアルゴリズムを用いて計算してよい。アルゴリズムを選択する基準は、計算した第１のデータベーステーブル識別子が均一に分配できることである。例えば、第１のダイジェスト値はＭＤ５ダイジェスト値であり、４２９Ｃ９２０７６ＦＣ４ＤＦ６４Ｆ２０ＥＢＥ０Ｄ３９２Ｂ９Ｆ２７である。
【００５５】
先ず、ＭＤ５ダイジェスト値の各文字のＡＳＣＩＩ（情報交換用米国標準コード）コードを取得する。次いで、取得したＡＳＣＩＩコードの合計を計算する。最終的に、数式（１）に示す通り、計算した合計値を用いて１００に対し剰余（ＲＥＭ）演算を行い、剰余を求める。この剰余が第１のデータベーステーブル識別子ＩＤとなる。
【００５６】
ID =[ASCII(´4´)+ ASCII(´2´)+・・・+ ASCII(´7´)]%100=67．．．（１）
【００５７】
６７は、計算された第１のデータベーステーブル識別子であり、第１のデータベーステーブル識別子は数字として表現される。さらに、第１のデータベーステーブル識別子は任意の１以上の文字として表現され、ショートリンクテーブルのサブテーブル名を表すのに用いられる。
【００５８】
上記の実施から、メッセージダイジェストアルゴリズム又はセキュアハッシュアルゴリズムを用いて第１のロングリンクＵＲＬに対応する第１のダイジェスト値と、対応する第１のデータベーステーブル識別子とが計算されることにより、同一のロングリンクＵＲＬに対応する複数のショートリンク記録が一意であり且つ有効であること、及びショートリンク作成の繰り返しが回避されることが保証され、よって、ショートリンクの処理速度が向上する。
【００５９】
図４を参照するに、図４は、本開示に係るショートリンク処理方法の他の実施を例示するフローチャートである。この方法は、分散型サーバクラスタにおける任意のサーバに適用でき、図３に示す方法に基づく。対応する第１のショートリンクＵＲＬを第１のデータベースから取得し、第１のショートリンクＵＲＬをリクエスタへ送信するステップ２４０を実行するとき、この方法は以下の各ステップを含んでよい。
【００６０】
ステップ４００：第１のダイジェスト値に対応する第１の簡略ショートリンクについて第１のデータベースを探索する。
【００６１】
本開示のこの実施において、簡略ショートリンクは、ショーリンクにおける、予め合意した数の文字から成るランダム文字列である。
【００６２】
ステップ４１０：第１の簡略ショートリンクが見つかったか否かを特定し、第１の簡略ショートリンクが見つかり、見つかった第１の簡略ショートリンクに対応する第２のロングリンクＵＲＬが申請要求に含まれる第１のロングリンクＵＲＬと同一である場合、ステップ４２０を実行する、又は、第１の簡略ショートリンクが見つからなかった場合、若しくは見つかった第１の簡略ショートリンクに対応する第２のロングリンクＵＲＬが申請要求に含まれる第１のロングリンクＵＲＬと異なる場合、ステップ４４０を実行する。
【００６３】
本開示のこの実施において、第１のデータベースは、ロングリンクＵＲＬ、対応するダイジェスト値、対応する有効期間、対応する簡略ショートリンク等、同一のショートリンクの複数のデータを含んでよい。
【００６４】
ステップ４２０：見つかった第１の簡略ショートリンクに基づき第１のショートリンクＵＲＬを形成し、第１のショートリンクＵＲＬをリクエスタへ送信する。
【００６５】
ステップ４３０：申請要求がショートリンクの有効期間を更に含む場合、第１の簡略ショートリンクの有効期間を申請要求に含まれる有効期間で以って更新し、手続きを終了する。
【００６６】
ステップ４２０及びステップ４３０を行う順序は本開示において限定されておらず、これらのステップは同時に実行されてもよいし、順次に実行されてもよい。
【００６７】
ステップ４４０：第１のデータベーステーブル識別子に基づき、対応する第２の簡略ショートリンクを生成する。第２の簡略ショートリンクは、一定数の文字、例えば７文字、から成る簡略識別子である。
【００６８】
本開示のこの実施において、異なるルールを用いて対応する第２の簡略ショートリンクを生成してよい。生成のルールは、簡略識別子の最初の２文字が、第１のデータベーステーブル識別子と、予め合意したアルゴリズムとに基づき計算され、簡略識別子の後続の５文字、Ｙ、ｖ、３、Ｍ、及びＺはランダムな文字であってよい。
【００６９】
例えば、第１のデータベーステーブル識別子が６７であるとする。ASCII(´X´)%100を用いて得られる結果が６であり、ASCII(´Y´)%100を用いて得られる結果が７であるアルゴリズムによれば、Ｘの値は[8|j|t|B|L|V]のうちのランダムな文字であってよく、Ｙの値は[9|a|k|u|C|M|W]のうちのランダムな文字であってよい。よって、ｔ及び９が簡略識別子の最初の２文字としてランダムに選択されてよく、Ｙ、ｖ、３、Ｍ及びＺが簡略識別子の後続の５文字としてランダムに選択されてよい。これにより得られる第２の簡略ショートリンクは、t9Yv3MZとなる。
【００７０】
また、他のアルゴリズムを用いて簡略識別子の最初の２文字を計算してもよい。アルゴリズムを選択する基準は、文字を均一に分配でき、計算された文字に基づき第１のデータベーステーブル識別子を推測できることである。もちろん、第１のデータベーステーブル識別子は必ずしも簡略識別子の最初の２文字によって表される必要はなく、任意の位置における、予め合意した簡略識別子の文字であってよい。
【００７１】
ステップ４５０：第２の簡略ショートリンクは用いられていないと特定された場合、第２の簡略ショートリンクに基づき第２のショートリンクＵＲＬを形成し、第２のショートリンクＵＲＬをリクエスタへ送信する。
【００７２】
本開示のこの実施において、第１のデータベーステーブル識別子に基づき、対応する第２の簡略ショートリンクを生成した後、生成した第２の簡略ショートリンクが用いられているか否かを更に特定する必要がある。第２の簡略ショートリンクが用いられている場合、新たに生成された第２の簡略ショートリンクが用いられていなくなるまで、第２の簡略ショートリンクを生成する必要がある。
【００７３】
ステップ４６０：申請要求がショートリンクの有効期間を更に含む場合、申請要求に含まれる有効期間を第２の簡略ショートリンクの有効期間として設定する。
【００７４】
ステップ４７０：第２の簡略ショートリンクと、対応する第１のロングリンクＵＲＬと、対応する第１のダイジェスト値と、対応する有効期間とを結合し、これらを第１のデータベースに記憶する。
【００７５】
ステップ４５０、ステップ４６０、及びステップ４７０を行う順序は本開示において限定されておらず、これらのステップは同時に実行されてもよいし、順次に実行されてもよい。
【００７６】
上記の実施から分かることは、第１のダイジェスト値に対応する第１の簡略ショートリンクについて第１のデータベースが探索される際、探索を通じて取得した異なる結果に基づき異なる処理方法を用いることができる。特に、第１の簡略ショートリンクが見つからなかった場合、又は見つかった第１の簡略ショートリンクに対応する第２のロングリンクＵＲＬが申請要求に含まれる第１のロングリンクＵＲＬと異なる場合、第１のデータベーステーブル識別子に基づき、対応する第２の簡略ショートリンクを更に生成する必要がある。生成された第２の簡略ショートリンクは一定数の文字を有する。このように、同じロングリンクＵＲＬに対応する複数のショートリンクの記録が一意であり且つ有効であることが保証されている状態で、サーバは可能な限り短い簡略ショートリンクを生成でき、よって、ショートリンクを送信するためのコンテンツのスペースを節約できる。
【００７７】
図５を参照するに、図５は、本開示に係るショートリンク処理方法の他の実施を例示するフローチャートである。この方法は、分散型サーバクラスタにおける任意のサーバに適用でき、図２乃至図４のうち任意の１つに示される方法に基づく。この方法は、以下の各ステップを更に含んでよい。
【００７８】
ステップ５１０：第１のデータベース内の各ショートリンクの有効期間を検出する。
【００７９】
本開示の本実施において、第１のデータベース内の各ショートリンクの有効期間を周期的に検出してよい。
【００８０】
ステップ５２０：有効期間が満了になったとき、対応する記憶情報を削除する。
【００８１】
例えば、サーバは、第１のデータベース内の各ショートリンクの有効期間を５分毎に検出し、満了ショートリンクの記録を直接削除することにより、記憶スペースの効果的な利用を高め、ショートリンクの記憶スペースの良好な拡張を保つ。
【００８２】
上記の実施から分かることは、第１のデータベース内の各ショートリンクの有効期間が検出され、有効期間が満了となったとき、対応する記憶情報は削除され、それにより、記憶スペースの効果的な利用が高まり、ショートリンクの記憶スペースの良好な拡張を保つということである。
【００８３】
図６を参照するに、図６は、本開示に係るショートリンク処理方法の他の実施を例示するフローチャートである。この方法は、分散型サーバクラスタにおける任意のサーバに適用でき、図２乃至図４のうち任意の１つに示される方法に基づく。この方法は以下の各ステップを更に含んでよい。
【００８４】
ステップ６１０：リクエスタから、第３のショートリンクＵＲＬを含むショートリンクアクセス要求を受信する。
【００８５】
本開示のこの実施において、サーバは、リクエスタからショートリンクアクセス要求を受信してよい。アクセス要求の目的は、リクエスタに、第３のショートリンクＵＲＬに対応するロングリンクＵＲＬを取得させることである。
【００８６】
ステップ６２０：第３のショートリンクＵＲＬに基づき、対応する第２のデータベーステーブル識別子を計算する。
【００８７】
本開示のこの実施において、サーバは、所定のアルゴリズムを用いて第３のショートリンクＵＲＬに対し対応する計算を行い、対応する第２のデータベーステーブル識別子を取得してよい。また、第３のショートリンクＵＲＬが、対応する第２のデータベーステーブル識別子を含む場合、サーバは、第２のデータベーステーブル識別子を第３のショートリンクＵＲＬから直接取得してよい。
【００８８】
ステップ６３０：第２のデータベーステーブル識別子に対応する第２のデータベースがサーバのアクセス圏内にあるか否かを特定する。
【００８９】
ステップ６４０：第２のデータベースがサーバのアクセス圏内にあると特定された場合、対応する第３のロングリンクＵＲＬを第２のデータベースから取得し、第３のロングリンクＵＲＬへジャンプする。
【００９０】
本開示のこの実施において、第２のデータベースは、ロングリンクＵＲＬ、対応するダイジェスト値、対応する有効期間、対応する簡略ショートリンク、対応するショートリンクＵＲＬ等、同じショートリンクの複数のデータを含んでよい。或いは、第２のデータベースは、対応する簡略ショートリンクのみを含んでもよく、対応する簡略ショートリンクは対応するショートリンクＵＲＬを形成する。これにより、データベースの記憶スペースを節約できる。
【００９１】
上記の実施から分かることは、ショートリンクアクセス要求はリクエスタから受信され、アクセス要求は第３のショートリンクＵＲＬを含む。対応する第２のデータベーステーブル識別子は第３のショートリンクＵＲＬに基づき計算され、それを用いて第２のデータベーステーブル識別子に対応する第２のデータベースがサーバのアクセス圏内にあるか否かが特定される。第２のデータベースがサーバのアクセス圏内にあると特定された場合、対応する第３のロングリンクＵＲＬを第２のデータベースから取得し、第３のロングリンクＵＲＬへジャンプする。このように、データベース／テーブルシャーディングモードにおいて、サーバはショートリンクＵＲＬから対応するロングリンクＵＲＬへジャンプする。また、対応するロングリンクＵＲＬが一意であるため、ショートリンク処理の精度が向上する。
【００９２】
図７を参照するに、図７は、本開示に係るショートリンク処理方法の他の実施を例示するフローチャートである。この方法は、分散型サーバクラスタにおける任意のサーバに適用でき、図６に示される方法に基づく。第３のショートリンクＵＲＬに基づき対応する第２のデータベーステーブル識別子を計算するステップ６２０を実行するとき、この方法は以下の各ステップを含んでよい。
【００９３】
ステップ７１０：第３のショートリンクＵＲＬから第３の簡略ショートリンクを抽出する。
【００９４】
例えば、第３のショートリンクＵＲＬはhttps://m.alipay.com/t9Yv3MZであり、t9Yv3MZが第３の簡略ショートリンクである。
【００９５】
ステップ７２０：第３の簡略ショートリンクに基づき、対応する第２のデータベーステーブル識別子を生成する。
【００９６】
本開示のこの実施において、簡略ショートリンクに基づき、対応するデータベーステーブル識別子を生成するアルゴリズムは、データベーステーブル識別子に基づき、対応する簡略ショートリンクを生成するアルゴリズムに対応する。
【００９７】
例えば、第３の簡略ショートリンクはt9Yv3MZであり、ｔ及び９は予め合意したアルゴリズムに基づき計算され、簡略識別子の後続の５文字、Ｙ、ｖ、３、Ｍ及びＺはランダムな文字である。サーバは、ｔ及び９に基づき、対応する第２のデータベーステーブル識別子を計算できる。すなわち、ｔ及び９のＡＳＣＩＩコードを用いて１０に対し剰余（ＲＥＭ）演算を行い、対応する第２のデータベーステーブル識別子７６を取得する。
【００９８】
上記の実施から分かることは、第３の簡略ショートリンクが第３のショートリンクＵＲＬから抽出され、対応する第２のデータベーステーブル識別子が第３の簡略ショートリンクに基づき生成されることである。また、簡略ショートリンクに基づき、対応するデータベーステーブル識別子を生成するアルゴリズムは、データベーステーブル識別子に基づき、対応する簡略ショートリンクを生成するアルゴリズムに対応する。よって、簡略ショートリンクとデータベーステーブル識別子との間の一意性が保証される。
【００９９】
図８を参照するに、図８は、本開示に係るショートリンク処理方法の他の実施を例示するフローチャートである。この方法は、分散型サーバクラスタにおける任意のサーバに適用でき、図６に示される方法に基づく。対応する第３のロングリンクＵＲＬを第２のデータベースから取得し、第３のロングリンクＵＲＬへジャンプするステップ６４０を実行するとき、この方法は以下の各ステップを含んでよい。
【０１００】
ステップ８００：第３の簡略ショートリンクについて第２のデータベースを探索する。
【０１０１】
ステップ８１０：第３の簡略ショートリンクが見つかったか否か、及び、第３の簡略ショートリンクの有効期間が満了していないか否かを特定し、第３の簡略ショートリンクが見つり、第３の簡略ショートリンクの有効期間が満了していない場合、ステップ８２０を実行する、又は、第３の簡略ショートリンクが見つからなかった場合、若しくは第３の簡略ショートリンクの有効期間が満了となっている場合、ステップ８３０を実行する。
【０１０２】
ステップ８２０：第３の簡略ショートリンクに対応する第３のロングリンクＵＲＬへジャンプする。
【０１０３】
例えば、第３のロングリンクＵＲＬはhttps://cmspromo.alipay.com/finance/fullyear.htmである。
【０１０４】
ステップ８３０：特定のＵＲＬへジャンプする。
【０１０５】
本開示のこの実施において、特定のＵＲＬは、一般的なデフォルトのＵＲＬであってよい。例えば、一般的なデフォルトのＵＲＬはhttps://d.alipay.comである。
【０１０６】
上記の実施から分かることは、第３の簡略ショートリンクについて第２のデータベースを探索する際、異なるＵＲＬが探索を通じて取得した異なる結果に基づくＵＲＬへジャンプでき、それにより、リクエスタからの異なるアクセス要求を満たし、ショートリンクの処理速度が向上することである。
【０１０７】
本開示のショートリンク処理方法の実施に対応して、本開示は、ショートリンク処理装置の実施を更に提供する。
【０１０８】
ショートリンク処理装置の実施は、分散型サーバクラスタにおける任意のサーバに適用できる。この装置は、ソフトウェア若しくはハードウェア、又はその両方を用いて実施できる。ソフトウェアによる実装を例にとる。論理的な装置としてのこの装置は、この装置が配置されるデバイスのプロセッサにより、不揮発性メモリ内の対応するコンピュータプログラムの命令をメモリに読み込むことによって、形成される。ハードウェアの観点から、図９に示されるように、図９は、ショートリンク処理装置が配置されるデバイスのハードウェアの構成図である。この実施の装置が配置されるデバイスは、デバイスの実際の機能に基づき、図９に示されるプロセッサ、メモリ、ネットワークインターフェース、及び不揮発性メモリに加え、他のハードウェアを含んでよい。例えば、端末について、装置は、カメラ、タッチスクリーン、通信コンポーネント等を含んでよく、サーバについて、装置は、パケットの処理を担う転送チップ等を含んでよい。
【０１０９】
図１０を参照するに、図１０は、本開示に係るショートリンク処理装置の実施を例示するブロック図である。ショートリンク処理装置はショートリンク処理システムに適用でき、上記実施におけるショートリンク処理方法を行うよう構成できる。この装置は、第１の受信ユニット１０１と、第１の計算ユニット１０２と、第１の特定ユニット１０３と、第１の処理ユニット１０４とを含む。
【０１１０】
第１の受信ユニット１０１は、リクエスタから、第１のロングリンクＵＲＬを含むショートリンク申請要求を受信するよう構成される。
【０１１１】
第１の計算ユニット１０２は、第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を取得するよう構成される。
【０１１２】
第１の特定ユニット１０３は、第１のデータベーステーブル識別子に対応する第１のデータベースが、システムのアクセス圏内にあるか否かを特定するよう構成される。
【０１１３】
第１の処理ユニット１０４は、第１のデータベースがシステムのアクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを第１のデータベースから取得し、第１のショートリンクＵＲＬをリクエスタへ送信するよう構成される。
【０１１４】
任意の実施において、第１の計算ユニット１０２は、第１の計算サブユニットと第２の計算サブユニット（図１０では不図示）とを含んでよい。
【０１１５】
第１の計算サブユニットは、第１のロングリンクＵＲＬに基づき、対応する第１のダイジェスト値を計算するよう構成される。
【０１１６】
第２の計算サブユニットは、第１のダイジェスト値に基づき、対応する第１のデータベーステーブル識別子を計算するよう構成される。
【０１１７】
また、第１の計算サブユニットは、メッセージダイジェストアルゴリズムを用いて、第１のロングリンクＵＲＬに対応する第１のダイジェスト値であって、メッセージダイジェストアルゴリズムのダイジェスト値である第１のダイジェスト値を計算する、又は、セキュアハッシュアルゴリズムを用いて、第１のロングリンクＵＲＬに対応する第１のダイジェスト値であって、セキュアハッシュアルゴリズムのダイジェスト値である第１のダイジェスト値を計算するよう具体的に構成される。
【０１１８】
また、第１のデータベーステーブル識別子は数字又は文字として表現される。
【０１１９】
他の任意の実施において、第１の処理ユニット１０３は、第１の探索サブユニットと、第１の処理サブユニット（図１０では不図示）とを含んでよい。
【０１２０】
第１の探索サブユニットは、第１のダイジェスト値に対応する第１の簡略ショートリンクについて第１のデータベースを探索するよう構成される。
【０１２１】
第１の処理サブユニットは、第１の簡略ショートリンクが見つかり、見つかった第１の簡略ショートリンクに対応する第２のロングリンクＵＲＬが申請要求に含まれる第１のロングリンクＵＲＬと同一である場合、見つかった第１の簡略ショートリンクに基づき第１のショートリンクＵＲＬを形成し、第１のショートリンクＵＲＬをリクエスタへ送信するよう構成される。
【０１２２】
他の任意の実施において、申請要求はショートリンクの有効期間を更に含み、第１の処理ユニット１０３は更新サブユニット（図１０では不図示）を更に含んでよい。
【０１２３】
更新サブユニットは、第１の簡略ショートリンクの有効期間を申請要求に含まれる有効期間で以って更新するよう構成される。
【０１２４】
他の任意の実施において、第１の処理ユニット１０３は生成サブユニットと第２の処理サブユニット（図１０では不図示）とを更に含んでよい。
【０１２５】
生成サブユニットは、第１の簡略ショートリンクが見つからなかった場合、又は、見つかった第１の簡略ショートリンクに対応する第２のロングリンクＵＲＬが申請要求に含まれる第１のロングリンクＵＲＬと異なる場合、第１のデータベーステーブル識別子に基づき、対応する第２の簡略ショートリンクを生成するよう構成される。
【０１２６】
第２の処理サブユニットは、第２の簡略ショートリンクは用いられていないと特定された場合、第２の簡略ショートリンクに基づき第２のショートリンクＵＲＬを形成し、第２のショートリンクＵＲＬをリクエスタへ送信するよう構成される。
【０１２７】
他の任意の実施において、申請要求はショートリンクの有効期間を更に含み、第１の処理ユニット１０３は設定サブユニット（図１０では不図示）を更に含んでよい。
【０１２８】
設定サブユニットは、申請要求に含まれる有効期間を第２の簡略ショートリンクの有効期間として設定するよう構成される。
【０１２９】
他の任意の実施において、第１の処理ユニット１０３は記憶サブユニット（図１０では不図示）を更に含んでよい。
【０１３０】
記憶サブユニットは、第２の簡略ショートリンクと、対応する第１のロングリンクＵＲＬと、対応する第１のダイジェスト値と、対応する有効期間とを結合し、第１のデータベースに記憶するよう構成される。
【０１３１】
他の任意の実施において、ショートリンク処理装置は第２の処理ユニット（図１０では不図示）を更に含む。
【０１３２】
第２の処理ユニットは、第１のデータベースがシステムのアクセス圏内にないと特定された場合、第１のデータベースにアクセスできるサーバが申請要求に基づき第１のデータベースから対応する第１のショートリンクＵＲＬを取得し、第１のショートリンクＵＲＬをリクエスタへ送信するよう、申請要求を第１のデータベースにアクセスできるサーバへ転送するよう構成される。
【０１３３】
図１１を参照するに、図１１は、本開示に係るショートリンク処理装置の他の実施を例示するブロック図である。ショートリンク処理装置はショートリンク処理システムに適用でき、図１０に示した装置に基づく。装置は、検出ユニット１１１と削除ユニット１１２とを更に含んでよい。
【０１３４】
検出ユニット１１１は、第１のデータベース内の各ショートリンクの有効期間を検出するよう構成される。
【０１３５】
削除ユニット１１２は、有効期間が満期となった際、対応する記憶情報を削除するよう構成される。
【０１３６】
図１２を参照するに、図１２は、本開示に係るショートリンク処理装置の他の実施を例示するブロック図である。ショートリンク処理装置はショートリンク処理システムに適用でき、図１０に示した装置に基づいてよい。この装置は、第２の受信ユニット１２１と、第２の計算ユニット１２２と、第２の特定ユニット１２３と、第２の処理ユニット１２４とを更に含んでよい。
【０１３７】
第２の受信ユニット１２１は、リクエスタから、第３のショートリンクＵＲＬを含むショートリンクアクセス要求を受信するよう構成される。
【０１３８】
第２の計算ユニット１２２は、第３のショートリンクＵＲＬに基づき、対応する第２のデータベーステーブル識別子を計算するよう構成される。
【０１３９】
第２の特定ユニット１２３は、第２のデータベーステーブル識別子に対応する第２のデータベースがシステムのアクセス圏内にあるか否かを特定するよう構成される。
【０１４０】
第３の処理ユニット１２４が、第２のデータベースがシステムのアクセス圏内にあると特定された場合、対応する第３のロングリンクＵＲＬを第２のデータベースから取得し、第３のロングリンクＵＲＬへジャンプするよう構成される。
【０１４１】
任意の実施において、第２の計算ユニット１２２は抽出サブユニットと生成サブユニット（図１２では不図示）とを含んでよい。
【０１４２】
抽出サブユニットは、第３のショートリンクＵＲＬから第３の簡略ショートリンクを抽出するよう構成される。
【０１４３】
生成サブユニットは、第３の簡略ショートリンクに基づき、対応する第２のデータベーステーブル識別子を生成するよう構成される。
【０１４４】
他の任意の実施において、第２の処理ユニット１２３は探索サブユニットと第３の処理サブユニット（図１２では不図示）とを含んでよい。
【０１４５】
探索サブユニットは、第３の簡略ショートリンクについて第２のデータベースを探索するよう構成される。
【０１４６】
第３の処理サブユニットは、第３の簡略ショートリンクが見つかり、第３の簡略ショートリンクの有効期間が満了となっていない場合、第３の簡略ショートリンクに対応する第３のロングリンクＵＲＬへジャンプするよう構成される。
【０１４７】
他の任意の実施において、第３の処理ユニット１２３は第４の処理サブユニット（図１２では不図示）を更に含んでよい。
【０１４８】
第４の処理サブユニットは、第３の簡略ショートリンクが見つからない場合、又は、第３の簡略ショートリンクの有効期間が満了となっている場合、特定のＵＲＬへジャンプするよう構成される。
【０１４９】
他の任意の実施において、ショートリンク処理装置は第４の処理ユニット（図１２では不図示）を更に含む。
【０１５０】
第４の処理ユニットは、第２のデータベースがシステムのアクセス圏内にないと特定された場合、第１のデータベースにアクセスできるサーバがアクセス要求に基づき第２のデータベースから対応する第３のショートリンクＵＲＬを取得し、第３のロングリンクＵＲＬへジャンプするよう、アクセス要求を、第１のデータベースにアクセスできるサーバへ転送するよう構成される。
【０１５１】
装置における各ユニットの機能及び役割の詳細な実施工程については、前記方法の対応するステップの実施工程を参照されたい。ここでは詳細を述べない。
【０１５２】
装置の実施は基本的に方法の実施に対応する。よって、関連する部分については、方法の実施の関連する記載を参照されたい。記載された装置の実施は一例に過ぎない。別体部分として記載された各ユニットは物理的に別体であってもそうでなくてもよい。また、ユニットとして提示された部分は物理的なユニットであってもなくてもよく、一箇所に配置されていてもよいし、複数のネットワークユニットに分散されていてもよい。一部又は全てのモジュールは、本開示の解決の目的を実現するため、実際の要件に基づき選択してよい。当業者であれば、創造的な努力を伴わずとも本開示の実施を理解し実施できるであろう。
【０１５３】
本開示の実施はサーバを更に提供し、サーバは、プロセッサと、プロセッサが実行可能な命令を記憶するよう構成されたメモリとを含む。
【０１５４】
プロセッサは、リクエスタから、第１のロングリンクＵＲＬを含むショートリンク申請要求を受信し、第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算し、第１のデータベーステーブル識別子に対応する第１のデータベースが、サーバのアクセス圏内にあるか否かを特定し、第１のデータベースがサーバのアクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを第１のデータベースから取得し、第１のショートリンクＵＲＬをリクエスタへ送信するよう構成される。
【０１５５】
上記の実施から分かることは、ショートリンク申請要求はリクエスタから受信され、申請要求は第１のロングリンクＵＲＬを含むことである。対応する第１のデータベーステーブル識別子が第１のロングリンクＵＲＬに基づき計算され、これを用いて第１のデータベーステーブル識別子に対応する第１のデータベースがサーバのアクセス圏内にあるか否かが特定される。第１のデータベースがサーバのアクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを第１のデータベースから取得し、第１のショートリンクＵＲＬをリクエスタへ送信する。このように、データベース／テーブルシャーディングモードにおいて，サーバはロングリンクＵＲＬを対応するショートリンクＵＲＬへ変換する。また、対応するショートリンクＵＲＬは一意であり且つ短いので、ショートリンクの記憶スペースの水平スケーラビリティが向上し、ショートリンクの処理速度が更に向上する。
【０１５６】
当業者であれば、本明細書を検討し、本開示を実施した後に、本開示の別の実施形態を容易に理解することができる。本開示は、本開示の任意の変形、機能、または適応的な変更を包含するように意図されている。これらの変形、機能、または適応的変更は、本開示の一般原則に従うものであり、本開示では開示されていない技術分野における共通知識または一般的に使用される技術的手段を含む。明細書および実施例は単なる例として考えられており、本開示の実際の範囲および精神は、添付の特許請求の範囲によって記載される。
【０１５７】
本開示は、上記に記載され、添付の図面に示されている精密な構造に限定されず、本開示の範囲から逸脱することなく修正および変更を行うことができることを理解されたい。本開示の範囲は、添付の特許請求の範囲によってのみ限定される。
【図１】
2019504412.tif 000004
【図２】
2019504412.tif 000005
【図３】
2019504412.tif 000006
【図４】
2019504412.tif 000007
【図５】
2019504412.tif 000008
【図６】
2019504412.tif 000009
【図７】
2019504412.tif 000010
【図８】
2019504412.tif 000011
【図９】
2019504412.tif 000012
【図１０】
2019504412.tif 000013
【図１１】
2019504412.tif 000014
【図１２】
2019504412.tif 000015
【手続補正書】
【提出日】平成30年9月3日(2018.9.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リクエスタから、第１のロングリンクＵＲＬを含むショートリンク申請要求を受信するステップと（２１０）；
前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算するステップと（２２０）；
前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定するステップと（２３０）；
前記第１のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得するステップと（２４０）；
前記第１のショートリンクＵＲＬを前記リクエスタへ送信するステップと（２４０）；を備える、
ショートリンクを処理する方法。
【請求項２】
前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算するステップは：
前記第１のロングリンクＵＲＬに基づき、対応する第１のダイジェスト値を計算するステップと（３１０）；
前記第１のダイジェスト値に基づき、対応する前記第１のデータベーステーブル識別子を計算するステップと（３２０）；を備える、
請求項１に記載の方法。
【請求項３】
前記第１のロングリンクＵＲＬに基づき、対応する第１のダイジェスト値を計算するステップは：
メッセージダイジェストアルゴリズムを用いて前記第１のロングリンクＵＲＬに対応する前記第１のダイジェスト値を計算するステップであって、前記第１のダイジェスト値は前記メッセージダイジェストアルゴリズムのダイジェスト値である、計算するステップ；又は
セキュアハッシュアルゴリズムを用いて、前記第１のロングリンクＵＲＬに対応する前記第１のダイジェスト値を計算するステップであって、前記第１のダイジェスト値は前記セキュアハッシュアルゴリズムのダイジェスト値である、計算するステップ；を備える、
請求項２に記載の方法。
【請求項４】
前記第１のデータベーステーブル識別子は、数字又は文字として表現される、
請求項２に記載の方法。
【請求項５】
対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するステップは：
前記第１のダイジェスト値に対応する第１の簡略ショートリンクについて前記第１のデータベースを探索するステップと（４００）；
前記第１の簡略ショートリンクが見つかり、見つかった前記第１の簡略ショートリンクに対応する第２のロングリンクＵＲＬが、前記申請要求が含む前記第１のロングリンクＵＲＬと同一である場合、見つかった前記第１の簡略ショートリンクに基づき前記第１のショートリンクＵＲＬを形成し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するステップと（４１０，４２０）；を備える、
請求項２に記載の方法。
【請求項６】
対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するステップは：
前記第１の簡略ショートリンクが見つからない場合、又は、見つかった前記第１の簡略ショートリンクに対応する前記第２のロングリンクＵＲＬが、前記申請要求が含む前記第１のロングリンクＵＲＬと異なる場合、前記第１のデータベーステーブル識別子に基づき、対応する第２の簡略ショートリンクを生成するステップと（４１０，４４０）；
前記第２の簡略ショートリンクは用いられていないと特定された場合、前記第２の簡略ショートリンクに基づき第２のショートリンクＵＲＬを形成し、前記第２のショートリンクＵＲＬを前記リクエスタへ送信するステップと（４５０）；を備える、
請求項５に記載の方法。
【請求項７】
前記申請要求が前記ショートリンクの有効期間を更に含み、
前記申請要求が含む前記有効期間を前記第１の簡略ショートリンクまたは前記第２の簡略ショートリンクの有効期間として設定するステップと（５１０）；
前記有効期間が満了となったとき、対応する記憶情報を削除するステップと（５２０）；を更に備える、
請求項５または請求項６に記載の方法。
【請求項８】
前記第２の簡略ショートリンクと、対応する前記第１のロングリンクＵＲＬと、対応する前記第１のダイジェスト値と、対応する有効期間とを結合し、前記第１のデータベースに記憶するステップを更に備える、
請求項６に記載の方法。
【請求項９】
前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定する前記ステップの後：
前記第１のデータベースが前記サーバの前記アクセス圏内にないと特定された場合、前記第１のデータベースにアクセスできるサーバが前記申請要求に基づき前記第１のデータベースから対応する前記第１のショートリンクＵＲＬを取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するよう、前記申請要求を前記第１のデータベースにアクセスできる前記サーバへ転送するステップ（２３０）を更に備える、
請求項１に記載の方法。
【請求項１０】
前記リクエスタから、第３のショートリンクＵＲＬを含むショートリンクアクセス要求を受信するステップと（６１０）；
前記第３のショートリンクＵＲＬに基づき、対応する第２のデータベーステーブル識別子を計算するステップと（６２０）；
前記第２のデータベーステーブル識別子に対応する第２のデータベースが前記サーバの前記アクセス圏内にあるか否かを特定するステップと（６３０）；
前記第２のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第３のロングリンクＵＲＬを前記第２のデータベースから取得し、前記第３のロングリンクＵＲＬへジャンプするステップと（６４０）；を更に備える、
請求項１乃至請求項９のいずれか１項に記載の方法。
【請求項１１】
前記第３のショートリンクＵＲＬに基づき、対応する第２のデータベーステーブル識別子を計算するステップは：
前記第３のショートリンクＵＲＬから第３の簡略ショートリンクを抽出するステップと（７１０）；
前記第３の簡略ショートリンクに基づき、対応する前記第２のデータベーステーブル識別子を生成するステップと（７２０）；を備える、
請求項１０に記載の方法。
【請求項１２】
対応する第３のロングリンクＵＲＬを前記第２のデータベースから取得し、前記第３のロングリンクＵＲＬへジャンプする前記ステップは：
前記第３の簡略ショートリンクについて前記第２のデータベースを探索するステップと；
前記第３の簡略ショートリンクが見つかり、前記第３の簡略ショートリンクの有効期間が満了になっていない場合、前記第３の簡略ショートリンクに対応する前記第３のロングリンクＵＲＬへジャンプするステップと（８１０）；を備える、
請求項１１に記載の方法。
【請求項１３】
対応する第３のロングリンクＵＲＬを前記第２のデータベーステーブル識別子に対応する前記第２のデータベースから取得し、前記第３のロングリンクＵＲＬへジャンプするステップは：
前記第３の簡略ショートリンクが見つからない場合、又は、見つかった前記第３の簡略ショートリンクの前記有効期間が満了になっている場合、特定のＵＲＬへジャンプするステップ（８２０）を更に備える、
請求項１２に記載の方法。
【請求項１４】
前記第２のデータベーステーブル識別子に対応する第２のデータベースが前記サーバの前記アクセス圏内にあるか否かを特定する前記ステップの後に：
前記第２のデータベースが前記サーバの前記アクセス圏内にないと特定された場合、前記第１のデータベースにアクセスできるサーバが前記アクセス要求に基づき前記第２のデータベースから、対応する前記第３のショートリンクＵＲＬを取得し、前記第３のロングリンクＵＲＬへジャンプするよう、前記アクセス要求を前記第１のデータベースにアクセスできる前記サーバへ転送するステップ（８３０）を更に備える、
請求項１０に記載の方法。
【請求項１５】
請求項１乃至請求項１４のいずれか１項に記載の方法を実行するように構成された複数のユニットを備える、
ショートリンクを処理する装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１５７
【補正方法】変更
【補正の内容】
【０１５７】
本開示は、上記に記載され、添付の図面に示されている精密な構造に限定されず、本開示の範囲から逸脱することなく修正および変更を行うことができることを理解されたい。本開示の範囲は、添付の特許請求の範囲によってのみ限定される。
［第１の局面］
分散型サーバクラスタにおける任意のサーバに適用されるショートリンク処理方法であって：
リクエスタから、第１のロングリンクＵＲＬを含むショートリンク申請要求を受信するステップと；
前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算するステップと；
前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定するステップと；
前記第１のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するステップと；を備える、
分散型サーバクラスタにおける任意のサーバに適用されるショートリンク処理方法。
［第２の局面］
前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算する前記ステップは：
前記第１のロングリンクＵＲＬに基づき、対応する第１のダイジェスト値を計算するステップと；
前記第１のダイジェスト値に基づき、対応する前記第１のデータベーステーブル識別子を計算するステップと；を備える、
第１の局面に記載の方法。
［第３の局面］
前記第１のロングリンクＵＲＬに基づき、対応する第１のダイジェスト値を計算する前記ステップは：
メッセージダイジェストアルゴリズムを用いて前記第１のロングリンクＵＲＬに対応する前記第１のダイジェスト値を計算するステップであって、前記第１のダイジェスト値は前記メッセージダイジェストアルゴリズムのダイジェスト値である、計算するステップ；又は
セキュアハッシュアルゴリズムを用いて、前記第１のロングリンクＵＲＬに対応する前記第１のダイジェスト値を計算するステップであって、前記第１のダイジェスト値は前記セキュアハッシュアルゴリズムのダイジェスト値である、計算するステップ；を備える、
第２の局面に記載の方法。
［第４の局面］
前記第１のデータベーステーブル識別子は、数字又は文字として表現される、
第２の局面に記載の方法。
［第５の局面］
対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信する前記ステップは：
前記第１のダイジェスト値に対応する第１の簡略ショートリンクについて前記第１のデータベースを探索するステップと；
前記第１の簡略ショートリンクが見つかり、見つかった前記第１の簡略ショートリンクに対応する第２のロングリンクＵＲＬが、前記申請要求が含む前記第１のロングリンクＵＲＬと同一である場合、見つかった前記第１の簡略ショートリンクに基づき前記第１のショートリンクＵＲＬを形成し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するステップと；を備える、
第２の局面に記載の方法。
［第６の局面］
前記申請要求が前記ショートリンクの有効期間を更に含み、
前記第１の簡略ショートリンクの有効期間を、前記申請要求が含む前記有効期間で以って更新するステップを更に備える、
第５の局面に記載の方法。
［第７の局面］
対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信する前記ステップは：
前記第１の簡略ショートリンクが見つからない場合、又は、見つかった前記第１の簡略ショートリンクに対応する前記第２のロングリンクＵＲＬが、前記申請要求が含む前記第１のロングリンクＵＲＬと異なる場合、前記第１のデータベーステーブル識別子に基づき、対応する第２の簡略ショートリンクを生成するステップと；
前記第２の簡略ショートリンクは用いられていないと特定された場合、前記第２の簡略ショートリンクに基づき第２のショートリンクＵＲＬを形成し、前記第２のショートリンクＵＲＬを前記リクエスタへ送信するステップと；を備える、
第５の局面に記載の方法。
［第８の局面］
前記申請要求が前記ショートリンクの有効期間を更に含み、
前記申請要求が含む前記有効期間を前記第２の簡略ショートリンクの有効期間として設定するステップを更に備える、
第７の局面に記載の方法。
［第９の局面］
前記第２の簡略ショートリンクと、対応する前記第１のロングリンクＵＲＬと、対応する前記第１のダイジェスト値と、対応する有効期間とを結合し、前記第１のデータベースに記憶するステップを更に備える、
第７の局面に記載の方法。
［第１０の局面］
前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定する前記ステップの後：
前記第１のデータベースが前記サーバの前記アクセス圏内にないと特定された場合、前記第１のデータベースにアクセスできるサーバが前記申請要求に基づき前記第１のデータベースから対応する前記第１のショートリンクＵＲＬを取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するよう、前記申請要求を前記第１のデータベースにアクセスできる前記サーバへ転送するステップを更に備える、
第１の局面に記載の方法。
［第１１の局面］
前記第１のデータベース内の各ショートリンクの有効期間を検出するステップと；
前記有効期間が満了となったとき、対応する記憶情報を削除するステップと；を更に備える、
第１の局面乃至第１０の局面のいずれか１項に記載の方法。
［第１２の局面］
前記リクエスタから、第３のショートリンクＵＲＬを含むショートリンクアクセス要求を受信するステップと；
前記第３のショートリンクＵＲＬに基づき、対応する第２のデータベーステーブル識別子を計算するステップと；
前記第２のデータベーステーブル識別子に対応する第２のデータベースが前記サーバの前記アクセス圏内にあるか否かを特定するステップと；
前記第２のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第３のロングリンクＵＲＬを前記第２のデータベースから取得し、前記第３のロングリンクＵＲＬへジャンプするステップと；を更に備える、
第１の局面乃至第１０の局面のいずれか１項に記載の方法。
［第１３の局面］
前記第３のショートリンクＵＲＬに基づき、対応する第２のデータベーステーブル識別子を計算する前記ステップは：
前記第３のショートリンクＵＲＬから第３の簡略ショートリンクを抽出するステップと；
前記第３の簡略ショートリンクに基づき、対応する前記第２のデータベーステーブル識別子を生成するステップと；を備える、
第１２の局面に記載の方法。
［第１４の局面］
対応する第３のロングリンクＵＲＬを前記第２のデータベースから取得し、前記第３のロングリンクＵＲＬへジャンプする前記ステップは：
前記第３の簡略ショートリンクについて前記第２のデータベースを探索するステップと；
前記第３の簡略ショートリンクが見つかり、前記第３の簡略ショートリンクの有効期間が満了になっていない場合、前記第３の簡略ショートリンクに対応する前記第３のロングリンクＵＲＬへジャンプするステップと；を備える、
第１３の局面に記載の方法。
［第１５の局面］
対応する第３のロングリンクＵＲＬを前記第２のデータベーステーブル識別子に対応する前記第２のデータベースから取得し、前記第３のロングリンクＵＲＬへジャンプする前記ステップは：
前記第３の簡略ショートリンクが見つからない場合、又は、見つかった前記第３の簡略ショートリンクの前記有効期間が満了になっている場合、特定のＵＲＬへジャンプするステップを更に備える、
第１４の局面に記載の方法。
［第１６の局面］
前記第２のデータベーステーブル識別子に対応する第２のデータベースが前記サーバの前記アクセス圏内にあるか否かを特定する前記ステップの後に：
前記第２のデータベースが前記サーバの前記アクセス圏内にないと特定された場合、前記第１のデータベースにアクセスできるサーバが前記アクセス要求に基づき前記第２のデータベースから、対応する前記第３のショートリンクＵＲＬを取得し、前記第３のロングリンクＵＲＬへジャンプするよう、前記アクセス要求を前記第１のデータベースにアクセスできる前記サーバへ転送するステップを更に備える、
第１２の局面に記載の方法。
［第１７の局面］
分散型サーバクラスタにおける任意のサーバに適用されるショートリンク処理装置であって：
リクエスタから、第１のロングリンクＵＲＬを含むショートリンク申請要求を受信するよう構成された第１の受信ユニットと；
前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を取得するよう構成された第１の計算ユニットと；
前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定するよう構成された第１の特定ユニットと；
前記第１のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するよう構成された第１の処理ユニットと；を備える、
分散型サーバクラスタにおける任意のサーバに適用されるショートリンク処理装置。
［第１８の局面］
前記第１の計算ユニットは：
前記第１のロングリンクＵＲＬに基づき、対応する第１のダイジェスト値を計算するよう構成された第１の計算サブユニットと；
前記第１のダイジェスト値に基づき、対応する前記第１のデータベーステーブル識別子を計算するよう構成された第２の計算サブユニットと；を備える、
第１７の局面に記載の装置。
［第１９の局面］
前記第１の計算サブユニットは、メッセージダイジェストアルゴリズムを用いて、前記第１のロングリンクＵＲＬに対応する前記第１のダイジェスト値であって、前記メッセージダイジェストアルゴリズムのダイジェスト値である前記第１のダイジェスト値を計算する、又は、セキュアハッシュアルゴリズムを用いて、前記第１のロングリンクＵＲＬに対応する前記第１のダイジェスト値であって、前記セキュアハッシュアルゴリズムのダイジェスト値である前記第１のダイジェスト値を計算するよう構成された、
第１８の局面に記載の装置。
［第２０の局面］
前記第１のデータベーステーブル識別子が数字又は文字として表現される、
第１８の局面に記載の装置。
［第２１の局面］
前記第１の処理ユニットは：
前記第１のダイジェスト値に対応する第１の簡略ショートリンクについて前記第１のデータベースを探索するよう構成された第１の探索サブユニットと；
前記第１の簡略ショートリンクが見つかり、見つかった前記第１の簡略ショートリンクに対応する第２のロングリンクＵＲＬが、前記申請要求が含む前記第１のロングリンクＵＲＬと同一である場合、見つかった前記第１の簡略ショートリンクに基づき前記第１のショートリンクＵＲＬを形成し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するよう構成された第１の処理サブユニットと；を備える、
第１８の局面に記載の装置。
［第２２の局面］
前記申請要求が前記ショートリンクの有効期間を更に含み、
前記第１の処理ユニットは、前記第１の簡略ショートリンクの有効期間を前記申請要求が含む前記有効期間で以って更新するよう構成された更新サブユニットを更に備える、
第２１の局面に記載の装置。
［第２３の局面］
前記第１の処理ユニットは：
前記第１の簡略ショートリンクが見つからない場合、又は、見つかった前記第１の簡略ショートリンクに対応する前記第２のロングリンクＵＲＬが、前記申請要求が含む前記第１のロングリンクＵＲＬと異なる場合、前記第１のデータベーステーブル識別子に基づき、対応する第２の簡略ショートリンクを生成するよう構成された生成サブユニットと；
前記第２の簡略ショートリンクは用いられていないと特定された場合、前記第２の簡略ショートリンクに基づき第２のショートリンクＵＲＬを形成し、前記第２のショートリンクＵＲＬを前記リクエスタへ送信するよう構成された第２の処理サブユニットと；を更に備える、
第２１の局面に記載の装置。
［第２４の局面］
前記申請要求が前記ショートリンクの有効期間を更に備え、
前記第１の処理ユニットが、前記申請要求が備える前記有効期間を前記第２の簡略ショートリンクの有効期間として設定するよう構成された設定サブユニットを更に備える、
第２３の局面に記載の装置。
［第２５の局面］
前記第１の処理ユニットが、前記第２の簡略ショートリンクと、対応する前記第１のロングリンクＵＲＬと、対応する前記第１のダイジェスト値と、対応する有効期間とを結合し、前記第１のデータベースに記憶するよう構成された記憶サブユニットを更に備える、
第２３の局面に記載の装置。
［第２６の局面］
前記第１のデータベースが前記サーバの前記アクセス圏内にないと特定された場合、前記第１のデータベースにアクセスできるサーバが前記申請要求に基づき前記第１のデータベースから対応する前記第１のショートリンクＵＲＬを取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するよう、前記申請要求を前記第１のデータベースにアクセスできる前記サーバへ転送するよう構成された第２の処理ユニットを更に備える、
第１７の局面に記載の装置。
［第２７の局面］
前記第１のデータベース内の各ショートリンクの有効期間を検出するよう構成された検出ユニットと；
前記有効期間が満了となったとき、対応する記憶情報を削除するよう構成された削除ユニットと；を更に備える、
第１７の局面乃至第２６の局面のいずれか１項に記載の装置。
［第２８の局面］
前記リクエスタから、第３のショートリンクＵＲＬを備えるショートリンクアクセス要求を受信するよう構成された第２の受信ユニットと；
前記第３のショートリンクＵＲＬに基づき、対応する第２のデータベーステーブル識別子を計算するよう構成された第２の計算ユニットと；
前記第２のデータベーステーブル識別子に対応する第２のデータベースが前記サーバの前記アクセス圏内にあるか否かを特定するよう構成された第２の特定ユニットと；
前記第２のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第３のロングリンクＵＲＬを前記第２のデータベースから取得し、前記第３のロングリンクＵＲＬへジャンプするよう構成された第３の処理ユニットと；を更に備える、
第１７の局面乃至第２６の局面のいずれか１項に記載の装置。
［第２９の局面］
前記第２の計算ユニットは：
前記第３のショートリンクＵＲＬから第３の簡略ショートリンクを抽出するよう構成された抽出サブユニットと；
前記第３の簡略ショートリンクに基づき対応する前記第２のデータベーステーブル識別子を生成するよう構成された生成サブユニットと；を備える、
第２８の局面に記載の装置。
［第３０の局面］
前記第３の処理ユニットは：
前記第３の簡略ショートリンクについて前記第２のデータベースを探索するよう構成された探索サブユニットと；
前記第３の簡略ショートリンクが見つかり、前記第３の簡略ショートリンクの有効期間が満了になっていない場合、前記第３の簡略ショートリンクに対応する前記第３のロングリンクＵＲＬへジャンプするよう構成された第３の処理サブユニットと；を備える、
第２９の局面に記載の装置。
［第３１の局面］
前記第３の処理ユニットは、前記第３の簡略ショートリンクが見つからない場合、又は、見つかった前記第３の簡略ショートリンクの前記有効期間が満期となっている場合、特定のＵＲＬへジャンプするよう構成された第４の処理サブユニットを更に備える、
第３０の局面に記載の装置。
［第３２の局面］
前記第２のデータベースが前記サーバの前記アクセス圏内にないと特定された場合、前記第１のデータベースにアクセスできるサーバが前記アクセス要求に基づき前記第２のデータベースから対応する前記第３のショートリンクＵＲＬを取得し、前記第３のロングリンクＵＲＬへジャンプするよう、前記アクセス要求を前記第１のデータベースにアクセスできる前記サーバへ転送するよう構成された第４の処理ユニットを更に備える、
第２８の局面に記載の装置。
［第３３の局面］
分散型サーバクラスタにおける任意のサーバであって：
プロセッサと、前記プロセッサが実行可能な命令を記憶するよう構成されたメモリとを備え、
前記プロセッサは：
リクエスタから、第１のロングリンクＵＲＬを備えるショートリンク申請要求を受信するように構成され；
前記第１のロングリンクＵＲＬに基づき、対応する第１のデータベーステーブル識別子を計算するように構成され；
前記第１のデータベーステーブル識別子に対応する第１のデータベースが、前記サーバのアクセス圏内にあるか否かを特定するように構成され；
前記第１のデータベースが前記サーバの前記アクセス圏内にあると特定された場合、対応する第１のショートリンクＵＲＬを前記第１のデータベースから取得し、前記第１のショートリンクＵＲＬを前記リクエスタへ送信するように構成された；
分散型サーバクラスタにおける任意のサーバ。
【国際調査報告】
2019504412.tif 000016
2019504412.tif 000017
2019504412.tif 000018
2019504412.tif 000019