Модели процессов согласования реплик в базах данных Nosql



Download 2,9 Mb.
Pdf ko'rish
bet51/67
Sana29.03.2022
Hajmi2,9 Mb.
#516795
TuriАнализ
1   ...   47   48   49   50   51   52   53   54   ...   67
Bog'liq
193-Диссертация

Алгоритм

ЦИКЛ по количеству элементов массива i = 0...CLIENT_C-1 
ЕСЛИ НЕ 

K : RZ_S[K].clientIndex==i, то 
// i-й клиент не изменял запись RZ 
K=0
КОНЕЦ ЕСЛИ 
TMP_COUNT = RZ_S[K].array[i] 
ДЛЯ каждой версии RZ_S[j]
ЕСЛИ j != K ˄ RZ_S[j].operation == 1 
// другой клиент изменил счетчик обновлений i-го клиента
TMP_COUNT++
КОНЕЦ ЕСЛИ 
КОНЕЦ ДЛЯ 
RZ_R.array[i] = TMP_COUNT 
КОНЕЦ ЦИКЛА 
ВЕРНУТЬ RZ_R 
Далее процесс обработки версий записи Z (см. ниже) работает с 
обновленной записью RZ=RZ_R. 
При проведении натурного эксперимента каждый клиент (узел) в цикле 
читает версии записи Z, обрабатывает их и сохраняет уже одну согласованную 
версию этой записи в базе данных (результат обработки). Но в базе данных могут 
сохраняться и другие версии записи Z, одновременно обновленные другими 
клиентами.
Алгоритм процесса обработки версий записи Z (запускается на всех узлах-
клиентах) . 


108 
Вход: LOOP_TIME – время работы клиента; index – индекс клиента (от 0 до 
CLIENT_C-1); CLIENT_C – количество клиентов, r – коэффициент, используемый 
для расчета среднего времени обдумывания клиентом результатов работы с 
обновлениями записи в каждом цикле. 
Алгоритм

T_A = 5.5·r·10 // среднее время обдумывания в миллисекундах. 
L = 1/T_A // параметр экспоненциального закона распределения
вероятностей времени обдумывания.
 
ЦИКЛ пока не истечет интервал времени LOOP_TIME 
T = EXPONENTIAL(L) 
ЗАДЕРЖАТЬ процесс на время T // обдумывание 
СЧИТАТЬ из БД запись Z // клиент c номером index получает все
версии записей 
СЧИТАТЬ из БД запись RZ 
COUNT = RZ.array[index] + 1 // количество обновлений записи Z, 
выполненных другими клиентами за время обдумывания и обработки 
обновлений записи Z текущим клиентом за предыдущий цикл, плюс 
одно обновление текущим клиентом 
TIME = 0 
ЦИКЛ по количеству обновлений COUNT 
TIME += случайное время ξ обработки одного обновления (см. 
ниже)
КОНЕЦ ЦИКЛА 
RZ.array[index] = 0 // признак, что клиент обработал все обновления
записи Z 
RZ.operation = 0, RZ.clientIndex = index 
СОХРАНИТЬ в БД запись RZ 
ЗАПИСАТЬ в журнал время TIME 
ЗАДЕРЖАТЬ процесс на время TIME // обработка обновлений записи 
СОХРАНИТЬ в БД запись Z 
СЧИТАТЬ из БД запись Z
ЗАПИСАТЬ в журнал число версий записей Z (т.е. W) 
СЧИТАТЬ из БД запись RZ 
ЦИКЛ по количеству элементов массива i = 0..CLIENT_C-1 
ЕСЛИ i ≠ index 
RZ.array[i]++ // увеличить счетчики обновлений для других 
клиентов 
КОНЕЦ ЕСЛИ 
КОНЕЦ ЦИКЛА 
RZ.operation = 1, RZ.clientIndex = index 
СОХРАНИТЬ в БД запись RZ 
КОНЕЦ ЦИКЛА 


109 
 
Алгоритм определения случайного времени обработки одного обновления
(используется для расчета времени обработки версий записи TIME). 
Вход: функция
{X
i
,Y
i
}={0,0/0.125,10/0.375,20/0.5,30/0.625,80/0.875,90/1.0,100}, 
обратная функции распределения вероятностей. 
Выход: значение случайной величины ξ. 

Download 2,9 Mb.

Do'stlaringiz bilan baham:
1   ...   47   48   49   50   51   52   53   54   ...   67




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish