Mercurial > hg > Papers > 2014 > nobuyasu-master
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 |