Пинг-понг схемасы - Ping-pong scheme - Wikipedia

Алгоритмдер а Пинг-понг схемасы әр түрлі өрістерде бар бағдарламалық жасақтама. Олар екі субъект арасындағы кезектесумен сипатталады. Төменде сипатталған мысалдарда бұл ұйымдар байланыс серіктестері, желілік жолдар немесе файл блоктары болып табылады.

Мәліметтер базасы

Көп жағдайда мәліметтер базасын басқару жүйелері берік мәліметтер базасының транзакциялары арқылы қолдау көрсетіледі журнал файлы. Алайда, файлдың бір бетіне бірнеше рет жазу деректерді жоғалту ықтималдығын тудыруы мүмкін. Қарапайымдылық үшін журнал файлы өлшемі сәйкес келетін беттерде ұйымдастырылған деп есептейік блок оның негізгі ортасының мөлшері, келесі мәселе туындауы мүмкін:

Егер журнал файлының соңғы парағы тек ішінара мәліметтермен толтырылған болса және оны осы күйде тұрақты сақтауға жазу керек болса, келесі жазу әрекеті кезінде дәл сол парақтың үстінен жазуға тура келеді. Егер а апат кейінірек жазу кезінде орын алса, бұрын сақталған журнал деректері жоғалуы мүмкін.

Сипатталған Пинг-Понг схемасы Транзакцияны өңдеу[1] соңғы (логикалық) парақтың мазмұнын журнал файлының ішіндегі екі түрлі физикалық параққа кезек-кезек жазу арқылы бұл мәселені шешеді (нақты соңғы бет) мен және оның бос мұрагері i + 1). Логикалық журнал беті соңғы бет емес (яғни журнал журналымен толығымен толтырылған), ол тұрақты физикалық жағдайға соңғы рет жазылады (мен) журнал файлының ішінде.

Бұл схема логикалық соңғы парақтың алдыңғы нұсқасынан ажырату үшін әр параққа уақыт белгілерін қолдануды қажет етеді.

Желі

ғаламтор

Компьютерге мүмкіндік беретін функционалдылық, В компьютеріне қол жетімді ме, жоқ па, оған жауап береді Интернет-хабарлама хаттамасы (ICMP). «Эхо сұрауы» арқылы А компьютері В-дан «Эхо жауабын» қайтаруды сұрайды. Бұл екі хабарлама кейде «пинг «және» понг «.

Маршруттау

Жылы Маршруттау, Ping-Pong схемасы - бұл екі жолдан тұратын мәліметтер пакеттерін таратудың қарапайым алгоритмі.

Егер сізде екі жол болса A және B, содан кейін алгоритм кездейсоқ жолдардың бірінен басталып, содан кейін екеуінің арасында алға-артқа ауысуы керек.

Егер сіз функцияның қоңырауынан келесі жолды алсаңыз, ол ұқсас болып көрінеді Python:

деф get_next_path():    уақыт Рас:        Өткізіп жібер 'A'        Өткізіп жібер 'B'

Әдебиеттер тізімі

  1. ^ Сұр, Джим; Ройтер, Андреас (1992). Транзакцияны өңдеу: түсініктері мен әдістері (1 басылым). Морган Кауфман. бет.508-509. ISBN  978-1-55860-190-1.