[ニコニコ動画]たくさんニコられたコメント(valhalla)の保存件数等
/以前の記事で10ニコられ以上を達成したコメントがより長く保存されることを書きましたが、
保存件数を調べていて分かったことをまとめておきます。
要約
- 特定のニコられ数を達成したコメントを保存する追加領域をvalhallaと呼ぶ
- valhalla領域に対して要求するコメント数は100件で固定
- valhalla領域は複数存在する
- 「10ニコられを達成した瞬間」が最近のコメントの内最大100件が保存される
- それ以外に詳細は不明だが約100ニコられ達成、約500ニコられ達成のコメントを保存する領域もある
- 上位の領域に保存されるようになっても、下位の領域に保存されている間は下位の枠も圧迫する
- 複数のvalhalla領域からそれぞれ要求したコメント数だけ送信される
- valhalla領域には過去ログがない
以下はそれぞれの根拠を書いていきます。
検証方法等
たくさんのコメントがニコられている以下の動画を見ているときに落ちてくるコメントのデータを参考にします。
(以下、「地の利動画」と呼びます。)
(以下、「消えっから動画」と呼びます。)
また、以下の記事やプレイヤーの通信データを参考にして、プレイヤーが取らないような要求でコメントのデータを集めたりもしました。
ニコニコ動画のコメントをJSONで取得したり投稿したり - Qiita
ニコニコ動画のコメント操作に関する解説 : 実験ぶろぐ(仮)試供品
また、以前の記事も参考にしてください。
valhalla領域に対して要求するコメント数は100件で固定
ニコニコ動画のプレイヤーがコメントサーバーに送る要求を観察すると、以下のようになっていました。
かつてはなかったnicoru:100
という要求が追加されています。
実際に、それ以外の要求数を0にして、このnicoru:100
の部分の数字を変えた要求をプログラムを書いて送ってみると、
返ってくるvalhallaコメント数が変化したため、この部分が要求件数のようです。
また、ニコニコ動画のソースを調べたところ、現状はこの要求件数は100で固定のようです。
ちなみに、要求できる数は100件が上限で、それ以上を要求しても100件までしか返ってこないようです。
(9999件などを要求しても100件要求時よりは増えません。)
つまり、保存される件数は100件までということになります。
valhalla領域は複数存在する
valhallaコメントの要求数は100件ですが、実際にはそれ以上の数のコメントが返ってきます。
例えば「消えっから動画」では記事を書いてる現在では106件のvalhallaコメントが得られます。
試しに、「地の利動画」でvalhallaへの要求件数を1~増やしていくと次のような数のコメントが返ってきます。
要求件数 | 得られるコメント数 | ニコる数上位 |
---|---|---|
1 | 2 | [102,10] |
2 | 4 | [106,102,10,10] |
3 | 6 | [106,105,102,10,10,10] |
4 | 8 | [122,106,105,102,10,10,10,10] |
5 | 10 | [133,122,106,105,102,10,10,10,10,10] |
6 | 12 | [165,133,122,106,105,102,10,10,10,10,10,10] |
7 | 14 | [242,165,133,122,106,105,102,10,10,10,10,10,10,10] |
8 | 15 | [242,165,133,122,106,105,102,10,10,10,10,10,10,10,10] |
9 | 16 | [242,165,133,122,106,105,102,10,10,10,10,10,10,10,10,10] |
要求数が少ない時、10ニコる越えと100ニコる越えの2コメントが増えていきます。
要求数が増えると増えるコメントは1に減っています。
また、「消えっから動画」で同様に調べると次のようです。
要求件数 | 得られるコメント数 | ニコる数上位 |
---|---|---|
1 | 3 | [523,168,10] |
2 | 6 | [650,523,206,168,10,10] |
3 | 8 | [650,523,337,206,168,12,10,10] |
4 | 10 | [650,523,496,337,206,168,12,11,10,10] |
5 | 11 | [650,523,496,337,206,168,12,11,10,10,10] |
6 | 12 | [650,523,496,337,206,168,12,11,10,10,10,10] |
こちらは要求数が少ない時にさらに500ニコる越えのコメントも得られて、要求数1に対して3コメントも得られます。
つまり、リーフのように複数の保存領域があって、それらのそれぞれから要求数だけが返ってくると考えるのが自然かと思います。
返ってくるコメントのニコる数を見ると、約100ニコる超の領域と約500ニコる超の領域があると思われます。
約500ニコるの領域に保存される条件は、表を見ると496より大きく523より小さいものと思われます。
これらの動画のすべての過去ログを調べた所、102を超えない最大のニコる数の物は97だったので、
約100ニコるの領域に保存される条件は97より大きく102より小さいと思われます。
また、すべての過去ログを調べたところ、100ニコるを超えているのに保存されていないコメントは見つかりませんでした。
(というより、まず10コメ程度しかありません。)
よって約100ニコる超、約500ニコる超の領域の保存件数は不明です。
ただし、最大でも100件であるとは思われます。
上位の領域に保存されるようになっても、下位の領域に保存されている間は下位の枠も圧迫する
「地の利動画」では約100ニコる超のコメントが7コメントあるため、107コメントまで保存されそうですが、
実際には100コメントをvalhallaに要求しても103コメントまでしか返ってきません。
どうやら約100ニコる超のコメントは10ニコる超の領域にも保存されていて、10ニコる超の枠を使っているようです。
これは、リーフの場合の「和集合」の考え方とおおよそ同じです。
和集合の参考文献 → コメントとは (コメントとは) [単語記事] - ニコニコ大百科
「10ニコられを達成した瞬間」が最近のコメントの内最大100件が保存される
保存件数が100件までであることは既に書きました。
valhallaコメントの要求件数を1~増やしていった応答データの内100ニコる以下のものを見ると、以下ような順にコメントが得られます。
(上ほど少ない要求数でも得られるコメントです。)
上ほど、普通のコメントの保存領域で言うとより「新しい」ということだと思われます。
valhalla領域の「新しさ」はコメント番号とは関係がないようです。
ところで、要求数を見るということを思いつく前、ずっと「地の利動画」を見た時にサーバーから送られてくるコメントデータを観察していました。
このため、より最近10ニコるを達成したコメントは分かっていて、以下のコメント番号のものです。
(上ほど最近に10ニコるを達成したコメントで、横並びのものは順番がわからないものです。)
この2つの順はちょうど同じようなので、おそらく「10ニコられを達成した瞬間」が最近のコメントを新たに登録していっているものと思われます。
ちなみに、新たに10ニコるを達成したコメントが1つ発生する毎に、valhalla領域のコメントが1つ消えるということも確認しています。
新たに3件が10ニコる達成してそのうち2つがついでに寿命を迎えてvalhalla送りに そして3つの元々あったvalhallaコメが消えた やはりvalhalla以外も見て10ニコるの総数らしい
— yammaboo (@yammaboo) October 5, 2019
やはり5件10ニコる達成して5件のvalhallaコメが消えた
— yammaboo (@yammaboo) October 5, 2019
(100ニコる超のコメントの場合より上位の領域に保存されて消えないので、必ず消えるというわけではないです。)
より最近10ニコられを達成したコメントが後に入るという性質から考えてると、
「10ニコられを達成した瞬間」が最も昔のコメントが消えたものと思われますが、これに関しては順番がわからないので確定はできません。
valhalla領域には過去ログがない
valhallaに保存されていて、他の領域に保存されていないコメントが消えた(つまり、valhalla領域に保存されなくなった)あと、
消える前の時点の過去ログを見ても、そのコメントは見えません。
(投稿直後の、全体保存等に保存されてる時点の過去ログであればちゃんと見えますが、これは通常のコメントの過去ログによるものなので別です。)
例えば、「地の利」動画のコメント番号304は2019年9月30日21時の時点でvalhallaに保存されていることが確認できましたが、10月1日19時の時点で消えたことを確認しました。
そして、2019年9月30日21時の時点の過去ログを見てもこのコメントは復活しませんでした。
ちなみに、過去ログがないとはいえ、「最近の10ニコるを達成したコメント」が投稿される前の過去ログを見た場合、そのコメントのデータが出ることはないです。