comparison paper/chapter3.tex @ 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
comparison
equal deleted inserted replaced
22:56753cfbeeab 23:21e1a110f258
155 掲示板プログラムでは各掲示板毎に1つの木構造が作成される. 155 掲示板プログラムでは各掲示板毎に1つの木構造が作成される.
156 掲示板への1つの書き込みは子ノードを1つ追加することに相当する. 156 掲示板への1つの書き込みは子ノードを1つ追加することに相当する.
157 また, 各子ノードは attributes として書き込みの内容である message と書き込まれた時間を表す timestamp を保持している. 157 また, 各子ノードは attributes として書き込みの内容である message と書き込まれた時間を表す timestamp を保持している.
158 先に追加された順で子ノードには若い番号が割り振られる. 158 先に追加された順で子ノードには若い番号が割り振られる.
159 159
160 他サーバノードからの書き込みをそのまま子ノードの後ろに登録してしまうと, データの整合性が崩れてしまう. 160 他サーバノードからの書き込みをそのまま子ノードの後ろに追加してしまうと, データの整合性が崩れてしまう.
161 この時の状態を表しているのが図\ref{fig:merge_imp1}と\ref{fig:merge_imp2}になる. 161 この時の状態を表しているのが図\ref{fig:merge_imp1}と\ref{fig:merge_imp2}になる.
162 \begin{figure}[htpb] 162 \begin{figure}[htpb]
163 \begin{center} 163 \begin{center}
164 \includegraphics[scale=0.70]{figures/merge_imp1.pdf} 164 \includegraphics[scale=0.70]{figures/merge_imp1.pdf}
165 \caption{他サーバノードからの編集データ反映による整合性の崩れ1} 165 \caption{他サーバノードの編集データ反映による整合性の崩れ1}
166 \label{fig:merge_imp1} 166 \label{fig:merge_imp1}
167 \end{center} 167 \end{center}
168 \end{figure} 168 \end{figure}
169 169
170 \begin{figure}[htpb] 170 \begin{figure}[htpb]
171 \begin{center} 171 \begin{center}
172 \includegraphics[scale=0.70]{figures/merge_imp2.pdf} 172 \includegraphics[scale=0.70]{figures/merge_imp2.pdf}
173 \caption{他サーバノードからの編集データ反映による整合性の崩れ2} 173 \caption{他サーバノードの編集データ反映による整合性の崩れ2}
174 \label{fig:merge_imp2} 174 \label{fig:merge_imp2}
175 \end{center} 175 \end{center}
176 \end{figure} 176 \end{figure}
177 177
178 \newpage
179
180 図\ref{fig:merge_imp2}の server node0 の木の状態にするのが理想である.
181 掲示板のへの書き込みの表示は, 書き込みされた時間が早い順に表示されるようにしたい.
182 これを timestamp を利用することで行う.
183 他サーバノードから来たデータに関しては, timestamp を参照し, 次に自分の保持している
184 木の子ノードの timestamp と比べていくことでデータの追加する場所を決める.
185 これが今回実装を行った掲示板システムにおけるマージになる.
186
187 %単一サーバで動いている時の Jungle はただ子ノードとして後ろに追加するだけだが, 分散
188 %環境下においては timestamp に従い子ノードを追加する位置を決めるようにする.
178 189
179 190
180 191
181 192