Mercurial > hg > Papers > 2014 > nobuyasu-master
changeset 23:21e1a110f258
Writed description of merge
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 23 Jan 2014 21:15:10 +0900 |
parents | 56753cfbeeab |
children | 5316b4791570 |
files | paper/chapter3.tex paper/graffle/merge_imp2.graffle |
diffstat | 2 files changed, 46 insertions(+), 35 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/chapter3.tex Thu Jan 23 19:05:44 2014 +0900 +++ b/paper/chapter3.tex Thu Jan 23 21:15:10 2014 +0900 @@ -157,12 +157,12 @@ また, 各子ノードは attributes として書き込みの内容である message と書き込まれた時間を表す timestamp を保持している. 先に追加された順で子ノードには若い番号が割り振られる. -他サーバノードからの書き込みをそのまま子ノードの後ろに登録してしまうと, データの整合性が崩れてしまう. +他サーバノードからの書き込みをそのまま子ノードの後ろに追加してしまうと, データの整合性が崩れてしまう. この時の状態を表しているのが図\ref{fig:merge_imp1}と\ref{fig:merge_imp2}になる. \begin{figure}[htpb] \begin{center} \includegraphics[scale=0.70]{figures/merge_imp1.pdf} - \caption{他サーバノードからの編集データ反映による整合性の崩れ1} + \caption{他サーバノードの編集データ反映による整合性の崩れ1} \label{fig:merge_imp1} \end{center} \end{figure} @@ -170,11 +170,22 @@ \begin{figure}[htpb] \begin{center} \includegraphics[scale=0.70]{figures/merge_imp2.pdf} - \caption{他サーバノードからの編集データ反映による整合性の崩れ2} + \caption{他サーバノードの編集データ反映による整合性の崩れ2} \label{fig:merge_imp2} \end{center} \end{figure} +\newpage + +図\ref{fig:merge_imp2}の server node0 の木の状態にするのが理想である. +掲示板のへの書き込みの表示は, 書き込みされた時間が早い順に表示されるようにしたい. +これを timestamp を利用することで行う. +他サーバノードから来たデータに関しては, timestamp を参照し, 次に自分の保持している +木の子ノードの timestamp と比べていくことでデータの追加する場所を決める. +これが今回実装を行った掲示板システムにおけるマージになる. + +%単一サーバで動いている時の Jungle はただ子ノードとして後ろに追加するだけだが, 分散 +%環境下においては timestamp に従い子ノードを追加する位置を決めるようにする.
--- a/paper/graffle/merge_imp2.graffle Thu Jan 23 19:05:44 2014 +0900 +++ b/paper/graffle/merge_imp2.graffle Thu Jan 23 21:15:10 2014 +0900 @@ -52,6 +52,36 @@ <key>GraphicsList</key> <array> <dict> + <key>Bounds</key> + <string>{{429.68295955657959, 329.73361206054688}, {36.423714896880369, 40.175481687463943}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>148</integer> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Width</key> + <real>3</real> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 2A}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> <key>Class</key> <string>LineGraphic</string> <key>Head</key> @@ -239,36 +269,6 @@ </dict> <dict> <key>Bounds</key> - <string>{{429.68295955657959, 329.73361206054688}, {36.423714896880369, 40.175481687463943}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>ID</key> - <integer>148</integer> - <key>Shape</key> - <string>Circle</string> - <key>Style</key> - <dict> - <key>stroke</key> - <dict> - <key>Width</key> - <real>3</real> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg1252\cocoartf1265 -\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 2A}</string> - <key>VerticalPad</key> - <integer>0</integer> - </dict> - </dict> - <dict> - <key>Bounds</key> <string>{{189.18295097351074, 329.73361206054688}, {36.423714896880369, 40.175481687463943}}</string> <key>Class</key> <string>ShapedGraphic</string> @@ -890,7 +890,7 @@ <key>MasterSheets</key> <array/> <key>ModificationDate</key> - <string>2014-01-23 10:03:51 +0000</string> + <string>2014-01-23 12:07:50 +0000</string> <key>Modifier</key> <string>Oshiro Nobuyasu</string> <key>NotesVisible</key> @@ -971,7 +971,7 @@ </dict> </array> <key>Frame</key> - <string>{{108, 36}, {693, 922}}</string> + <string>{{298, 36}, {693, 922}}</string> <key>ListView</key> <true/> <key>OutlineWidth</key>