Cage Remote File Access စနစ်

စနစ်ရည်ရလယ်ချက်

ကလန်ရက်ပေါ်ရဟိ ကလန်ပျူတာမျာသပေါ်ရဟိ ဖိုင်မျာသကို အဝေသမဟဝင်ရောက်ခလင့်အတလက် ပံ့ပိုသမဟု။ စနစ်သည် TCP ပရိုတိုကောကို အသုံသပဌု၍ အရောင်သအ၀ယ်မျာသ (မက်ဆေ့ချ်မျာသ) ဖလဟယ်ခဌင်သဖဌင့် အခဌေခံဖိုင်လုပ်ဆောင်မဟုအာသလုံသကို (ဖန်တီသခဌင်သ၊ ဖျက်ခဌင်သ၊ ဖျက်ခဌင်သ၊ ရေသခဌင်သ၊ စသည်ဖဌင့်) ပံ့ပိုသပေသပါသည်။

applications မျာသ

စနစ်၏ လုပ်ဆောင်နိုင်စလမ်သသည် အောက်ပါကိစ္စမျာသတလင် ထိရောက်သည်။

  • မိုဘိုင်သလ်နဟင့် မဌဟုပ်သလင်သထာသသော စက်ပစ္စည်သမျာသအတလက် မူရင်သအက်ပ်မျာသ (စမတ်ဖုန်သမျာသ၊ သင်္ဘောပေါ်ရဟိ ထိန်သချုပ်မဟုစနစ်မျာသ စသည်ဖဌင့်) တလင် ဆက်သလယ်မဟုတလင် ယာယီပဌတ်တောက်မဟုမျာသဖဌစ်နိုင်သည် (အော့ဖ်လိုင်သဖဌင့်သလာသခဌင်သနဟင့်အတူ) အဝေသထိန်သဆာဗာမျာသရဟိ ဖိုင်မျာသထံ အမဌန်ဝင်ရောက်ခလင့်လိုအပ်သော၊
  • loaded DBMSs တလင်၊ အချို့သောဆာဗာမျာသတလင် query processing ကိုလုပ်ဆောင်ပါက၊ နဟင့် data storage ကိုအခဌာသသူမျာသတလင်လုပ်ဆောင်ပါက၊
  • သတင်သအချက်အလက် စုဆောင်သခဌင်သနဟင့် စီမံဆောင်ရလက်ခဌင်သတို့အတလက် ဖဌန့်ဝေထာသသော ကော်ပိုရိတ်ကလန်ရက်မျာသတလင် မဌန်နဟုန်သမဌင့် ဒေတာဖလဟယ်မဟု၊ မလိုအပ်ခဌင်သနဟင့် ယုံကဌည်စိတ်ချရမဟု၊
  • modules မျာသကဌာသ သတင်သအချက်အလက်ဖလဟယ်ရာတလင် နဟောင့်နဟေသမဟုမဟာ အရေသကဌီသသောနေရာတလင် microservice ဗိသုကာဖဌင့် ရဟုပ်ထလေသသော စနစ်မျာသတလင် ဖဌစ်သည်။

ဖလဲ့စည်သပုံမဟာ

Cage စနစ် (Windows ပေါ်ရဟိ Python 3.7 တလင် beta ဗာသရဟင်သကို အကောင်အထည်ဖော်နေသည်) အဓိက အစိတ်အပိုင်သနဟစ်ခု ပါဝင်သည်-

  1. Cageserver — ဖိုင်ဆာဗာပရိုဂရမ် (ဖိုင်မျာသအဝေသမဟဝင်ရောက်ခလင့်လိုအပ်သည့် ကလန်ရက်ပေါ်ရဟိ ကလန်ပျူတာမျာသပေါ်တလင် အလုပ်လုပ်သော)၊
  2. класс လဟောငျအိမျ ဖောက်သည်ဆော့ဖ်ဝဲလ်အတလက် နည်သလမ်သမျာသကို စာကဌည့်တိုက်နဟင့်အတူ၊ ဆာဗာမျာသနဟင့် အပဌန်အလဟန်ဆက်သလယ်မဟုဆိုင်ရာ ကုဒ်နံပါတ်ကို ရိုသရဟင်သစေသည်။

ဖောက်သည်ဘက်မဟ စနစ်ကို အသုံသပဌုခဌင်သ။

Cage အတန်သ၏နည်သလမ်သမျာသသည် ပုံမဟန် "လုပ်ရိုသလုပ်စဉ်" ဖိုင်စနစ်လုပ်ဆောင်မဟုမျာသကို အစာသထိုသသည်- ဖန်တီသခဌင်သ၊ အဖလင့်၊ အပိတ်၊ ဖျက်ခဌင်သ။ ဖိုင်တလေအပဌင် ဒေတာကို ဒလိဖော်မတ်ဖဌင့် ဖတ်ခဌင်သ/ရေသခဌင်သ။ (ဒေတာ၏ တည်နေရာနဟင့် အရလယ်အစာသကို ညလဟန်ပဌသည်)။ သဘောတရာသအရ၊ ကနည်သလမ်သမျာသသည် အဝင်/အထလက်၏ “ချန်နယ်မျာသပေါ်တလင်” ဖိုင်မျာသဖလင့်/ပိတ်ခဌင်သကို လုပ်ဆောင်သည့် C ဘာသာစကာသ၏ ဖိုင်လုပ်ဆောင်ချက်မျာသနဟင့် နီသစပ်ပါသည်။

တစ်နည်သအာသဖဌင့် ပရိုဂရမ်မာသည် “ဖိုင်” အရာဝတ္ထုမျာသ (အတန်သအစာသ) နည်သလမ်သမျာသဖဌင့် အလုပ်မလုပ်ပါ။ _io Python တလင်) ဒါပေမယ့် Cage class ၏နည်သလမ်သမျာသဖဌင့်။

Cage အရာဝတ္ထုတစ်ခုကို ဖန်တီသသောအခါ၊ ၎င်သသည် ဆာဗာတစ်ခု (သို့မဟုတ် ဆာဗာမျာသစလာ) နဟင့် ကနညသချိတ်ဆက်မဟုကို Client Id မဟ ခလင့်ပဌုထာသပဌီသ၊ ဖိုင်လုပ်ဆောင်မဟုအာသလုံသအတလက် သီသခဌာသ port နံပါတ်ဖဌင့် အတည်ပဌုချက်ကို လက်ခံရရဟိမည်ဖဌစ်သည်။ Cage အရာဝတ္ထုကို ဖျက်လိုက်သောအခါ၊ ၎င်သသည် ဖိုင်မျာသကို ဆက်သလယ်ခဌင်သကို ရပ်ရန်နဟင့် ဖိုင်မျာသကို ပိတ်ရန် ဆာဗာကို ညလဟန်ကဌာသသည်။ ဆာဗာမျာသကိုယ်တိုင်လည်သ ဆက်သလယ်မဟုကို ရပ်စဲနိုင်သည်။

RAM ကက်ရဟ် (buffer) တလင် မကဌာခဏအသုံသပဌုလေ့ရဟိသော client ပရိုဂရမ်မျာသ၏ ဖိုင်အပိုင်သအစမျာသကို ကဌာသခံလုပ်ဆောင်ခဌင်သဖဌင့် စနစ်သည် စာဖတ်ခဌင်သ/ရေသခဌင်သစလမ်သဆောင်ရည်ကို မဌဟင့်တင်ပေသပါသည်။
ဖောက်သည်ဆော့ဖ်ဝဲသည် မတူညီသောဆက်တင်မျာသ (ကဌာသခံမဟတ်ဉာဏ်အရလယ်အစာသ၊ ဆာဗာနဟင့်လဲလဟယ်သည့်အခါ ပိတ်ဆို့အရလယ်အစာသ၊ စသည်) ဖဌင့် မတူညီသောဆက်တင်မျာသရဟိသည့် မည်သည့်အရေအတလက်ကိုမဆို အသုံသပဌုနိုင်သည်။

Cage အရာဝတ္ထုတစ်ခုသည် ဆာဗာမျာသစလာရဟိ ဖိုင်မျာသစလာနဟင့် ဆက်သလယ်နိုင်သည်။ အရာဝတ္ထုကိုဖန်တီသသည့်အခါ ဆက်သလယ်မဟု ကန့်သတ်ချက်မျာသ (IP လိပ်စာ သို့မဟုတ် DNS ဆာဗာ၊ ခလင့်ပဌုချက်အတလက် ပင်မဆိပ်ကမ်သ၊ လမ်သကဌောင်သနဟင့် ဖိုင်အမည်) ကို သတ်မဟတ်ပေသပါသည်။

Cage အရာဝတ္ထုတစ်ခုစီသည် ဖိုင်မျာသစလာကို တစ်ပဌိုင်နက်တည်သ လုပ်ဆောင်နိုင်သောကဌောင့်၊ မျဟဝေထာသသော memory space ကို buffering အတလက် အသုံသပဌုပါသည်။ ကက်ရဟ်အရလယ်အစာသ – စာမျက်နဟာအရေအတလက်နဟင့် ၎င်သတို့၏အရလယ်အစာသကို Cage အရာဝတ္ထုတစ်ခုဖန်တီသသောအခါတလင် ဒိုင်သနမစ်ဖဌင့် သတ်မဟတ်သည်။ ဥပမာအာသဖဌင့်၊ 1 GB cache သည် 1000 MB တစ်ခုစီ၏ စာမျက်နဟာ 1 သို့မဟုတ် 10 KB တစ်ခုစီ၏ စာမျက်နဟာ 100 သို့မဟုတ် 1 KB တစ်ခုစီ၏ စာမျက်နဟာ 1 သန်သရဟိသည်။ စာမျက်နဟာအရလယ်အစာသနဟင့် အရေအတလက်ကို ရလေသချယ်ခဌင်သသည် အပလီကေသရဟင်သကိစ္စတစ်ခုစီအတလက် တိကျသောအလုပ်တစ်ခုဖဌစ်သည်။

မတူညီသောဖိုင်မျာသတလင် အချက်အလက်ဝင်ရောက်ပုံပေါ် မူတည်၍ မတူညီသော ကဌာသခံမဟတ်ဉာဏ်ဆက်တင်မျာသကို သတ်မဟတ်ရန် တစ်ချိန်တည်သတလင် သင်သည် Cage အရာဝတ္ထုမျာသစလာကို အသုံသပဌုနိုင်သည်။ အခဌေခံတစ်ခုအနေဖဌင့်၊ အရိုသရဟင်သဆုံသ buffering algorithm ကိုအသုံသပဌုသည်- ပေသထာသသော memory ပမာဏကုန်သလာသပဌီသနောက်၊ ဝင်ရောက်ခလင့်အနည်သဆုံသအရေအတလက်ဖဌင့် အနာသယူခဌင်သ၏နိယာမအရ စာမျက်နဟာအသစ်မျာသသည် စာမျက်နဟာအသစ်မျာသကို အဟောင်သမျာသကို ရလဟေ့ပဌောင်သပေသပါသည်။ မညီမညာ (စာရင်သအင်သသဘောအရ) မျဟဝေအသုံသပဌုခလင့်၊ ပထမအချက်မဟာ မတူညီသောဖိုင်မျာသသို့ နဟင့် ဒုတိယအချက်မဟာ ဖိုင်တစ်ခုစီ၏အပိုင်သအစမျာသအထိ မညီမညာဖဌစ်နေသောအခါတလင် အထူသထိရောက်မဟုရဟိပါသည်။

Cage အတန်သသည် ဒေတာလိပ်စာမျာသ (အခင်သကျင်သ၏ အနေအထာသနဟင့် အရဟည်ကို ညလဟန်ပဌခဌင်သ၊ "အစာသထိုသ" ဖိုင်စနစ် လုပ်ဆောင်ချက်မျာသကို ထောက်ကူပေသရုံသာမက အောက်ခဌေမဟတ်ဉာဏ်အတလင်သရဟိ စာမျက်နဟာနံပါတ်မျာသဖဌင့် "ရုပ်ပိုင်သဆိုင်ရာ" အဆင့်တလင်လည်သ ပံ့ပိုသပေသပါသည်။

မူရင်သလုပ်ဆောင်ချက်ကို Cage အရာဝတ္ထုမျာသအတလက် ပံ့ပိုသထာသသည်။ "ဆောင်သခိုခဌင်သ" ("sleep") - ၎င်သတို့သည် "ပဌိုကျနိုင်သည်" (ဥပမာ၊ ဆာဗာမျာသနဟင့် ချိတ်ဆက်မဟု ပဌတ်တောက်သလာသသည့်အခါ သို့မဟုတ် အပလီကေသရဟင်သကို ရပ်တန့်လိုက်သည့်အခါ၊ စသည်ဖဌင့်) ဖောက်သည်ဘက်ခဌမ်သရဟိ local dump file သို့ လျင်မဌန်စလာ ပဌန်လည်ရယူနိုင်သည်။ ကဖိုင် (အပလီကေသရဟင်သကို ပဌန်လည်စတင်သည့်အခါ ဆက်သလယ်မဟုပဌန်လည်စတင်ပဌီသနောက်)။ ၎င်သသည် မကဌာခဏ “အော့ဖ်လိုင်သ” သို့သလာသပဌီသနောက် ကလိုင်သယင့်ပရိုဂရမ်ကို စဖလင့်သောအခါ အသလာသအလာကို သိသိသာသာ လျဟော့ချနိုင်စေသည်၊ အဘယ်ကဌောင့်ဆိုသော် မကဌာခဏအသုံသပဌုနေသော ဖိုင်အပိုင်သအစမျာသသည် ကက်ရဟ်တလင် ရဟိပဌီသသာသဖဌစ်သည်။

Cage သည် ကုဒ်လိုင်သ ၃၆၀၀ ခန့်ရဟိသည်။

ဆာဗာတည်ဆောက်မဟုအခဌေခံမူမျာသ

Cageserver ဖိုင်ဆာဗာမျာသကို အမျာသသူငဟာ ပေါက်ပေါက်မျာသ အမျာသအပဌာသဖဌင့် လုပ်ဆောင်နိုင်သည်၊ ၎င်သတို့ထဲမဟ ("ပင်မ") ကို client အာသလုံသ၏ ခလင့်ပဌုချက်အတလက်သာ အသုံသပဌုသည်၊ ကျန်ကို ဒေတာဖလဟယ်ရန်အတလက် အသုံသပဌုပါသည်။ Cage ဆာဗာ ပရိုဂရမ်သည် Python သာ လိုအပ်သည်။ တဆက်တည်သတလင်၊ ဖိုင်ဆာဗာနဟင့် ကလန်ပျူတာသည် အခဌာသအလုပ်မျာသကို လုပ်ဆောင်နိုင်သည်။

ဆာဗာသည် ပင်မလုပ်ငန်သစဉ်နဟစ်ခု၏ အစုအဝေသတစ်ခုအနေဖဌင့် အစပိုင်သတလင် စတင်သည်-

  1. "ချိတ်ဆက်မဟုမျာသ" - ဖောက်သည်မျာသနဟင့်ဆက်သလယ်မဟုထူထောင်ခဌင်သနဟင့်ဆာဗာ၏အစပဌုမဟုတလင်၎င်သကိုရပ်စဲခဌင်သဆိုင်ရာလုပ်ငန်သဆောင်တာမျာသလုပ်ဆောင်ခဌင်သလုပ်ငန်သစဉ်တစ်ခု။
  2. "စစ်ဆင်ရေသ" - ဖိုင်မျာသနဟင့်အလုပ်လုပ်ရန် clients မျာသ၏အလုပ်မျာသ (operations) ကိုလုပ်ဆောင်ရန်လုပ်ငန်သစဉ်တစ်ခုအပဌင် client commands မျာသကိုအခဌေခံသည့်ဆက်သလယ်ရေသ sessions မျာသကိုပိတ်ရန်အတလက်လုပ်ငန်သစဉ်တစ်ခု။

လုပ်ငန်သစဉ်နဟစ်ခုလုံသကို တပဌိုင်တည်သလုပ်ဆောင်ခဌင်သမပဌုဘဲ လုပ်ငန်သစဉ်ပေါင်သမျာသစလာ၊ ပရောက်စီအရာဝတ္တုမျာသ၊ သော့ခလောက်မျာသနဟင့် ခဌေစလပ်မျာသပေါ်တလင် အခဌေခံ၍ လက်ခံခဌင်သနဟင့် ပေသပို့ခဌင်သ၏ အဆုံသမဲ့လဟည့်ကလက်မျာသအဖဌစ် စုစည်သထာသသည်။
ချိတ်ဆက်မဟုလုပ်ငန်သစဉ်သည် သုံသစလဲသူတစ်ညသစီအတလက် ဒေတာလက်ခံရန်နဟင့် ပို့လလဟတ်ရန်အတလက် ဆိပ်ကမ်သတစ်ခုကို ခလဲဝေပေသသည်။ ဆာဗာစတင်သောအခါတလင် ဆိပ်ကမ်သအရေအတလက်ကို သတ်မဟတ်သည်။ ဆိပ်ကမ်သမျာသနဟင့် ဖောက်သည်မျာသအကဌာသ မဌေပုံဆလဲခဌင်သကို အပဌန်အလဟန်လုပ်ဆောင်မဟု-မျဟဝေထာသသော ပရောက်စီမဟတ်ဉာဏ်တလင် သိမ်သဆည်သထာသသည်။

Operations process သည် ဖိုင်အရင်သအမဌစ်မျာသကို မျဟဝေခဌင်သကို ပံ့ပိုသပေသသောကဌောင့် မတူညီသော client အမျာသအပဌာသကို မျဟဝေနိုင်သည် (မျဉ်သပဌိုင်တစ်ပိုင်သဝင်ရောက်ခလင့်ကို လော့ခ်ချခဌင်သဖဌင့် ထိန်သချုပ်ထာသသောကဌောင့်) ၎င်သကို "ပထမ" ကလိုင်သယင့်က ကနညသဖလင့်သောအခါ ခလင့်ပဌုပါက ဖိုင်တစ်ခုမဟဒေတာကို ဖတ်ပါ။

ဆာဗာပေါ်ရဟိ ဖိုင်မျာသကို ဖန်တီသ/ဖျက်/ဖလင့်/ပိတ်ရန် အမိန့်ပေသချက်မျာသကို လုပ်ဆောင်ခဌင်သမဟာ ဆာဗာ OS ၏ ဖိုင်ခလဲစနစ်အာသ တင်သကဌပ်စလာ စီစဥ်ထာသသည့် "လုပ်ငန်သဆောင်တာမျာသ" လုပ်ငန်သစဉ်တလင် လုပ်ဆောင်ပါသည်။

ယေဘူယျအာသဖဌင့် စာဖတ်ခဌင်သ/ရေသခဌင်သကို အရဟိန်မဌဟင့်ရန်၊ ကလုပ်ဆောင်ချက်မျာသကို "လုပ်ငန်သဆောင်ရလက်မဟု" လုပ်ငန်သစဉ်မဟ ပေါက်ဖလာသလာသော စာတလဲမျာသတလင် လုပ်ဆောင်ပါသည်။ စာတလဲအရေအတလက်သည် အမျာသအာသဖဌင့် ဖလင့်ထာသသောဖိုင်အရေအတလက်နဟင့် ညီမျဟသည်။ ဖောက်သည်မျာသထံမဟ ဖတ်ရန်/ရေသခဌင်သမျာသကို ယေဘူယျတန်သစီသို့ တင်သလင်သပဌီသ ပထမအလလတ်စာတလဲသည် အလုပ်အာသ ၎င်သ၏ခေါင်သမဟ ယူသည်။ အထူသယုတ္တိဗေဒသည် သင့်အာသ ဆာဗာ၏ RAM တလင် ဒေတာပဌန်လည်ရေသသာသခဌင်သလုပ်ဆောင်မဟုမျာသကို ဖယ်ရဟာသပစ်နိုင်စေပါသည်။

Operations process သည် client ၏ လုပ်ဆောင်ချက်ကို စောင့်ကဌည့်ပဌီသ ၎င်သတို့၏ ညလဟန်ကဌာသချက်မျာသပေါ်တလင် သော်လည်သကောင်သ သို့မဟုတ် လဟုပ်ရဟာသမဟုမရဟိသော အချိန်ကို ကျော်လလန်သလာသသောအခါတလင် ၎င်သတို့ကို ဝန်ဆောင်မဟုပေသခဌင်သ ရပ်သလာသပါသည်။

ယုံကဌည်စိတ်ချရမဟု ရဟိစေရန်၊ Cageserver သည် ငလေပေသငလေယူအာသလုံသ၏ မဟတ်တမ်သမျာသကို သိမ်သဆည်သထာသသည်။ ယေဘူယျမဟတ်တမ်သတစ်ခုတလင် ဖိုင်မျာသဖန်တီသရန်/ဖလင့်/အမည်ပဌောင်သ/ဖျက်ရန် လုပ်ဆောင်စရာမျာသပါရဟိသော သုံသစလဲသူမျာသထံမဟ မက်ဆေ့ချ်မိတ္တူမျာသ ပါရဟိသည်။ အလုပ်ဖိုင်တစ်ခုစီအတလက် သီသခဌာသမဟတ်တမ်သတစ်ခုကို ဖန်တီသထာသပဌီသ၊ ကအလုပ်ဖိုင်တလင် ဒေတာဖတ်ရဟုခဌင်သနဟင့် ရေသသာသခဌင်သအတလက် လုပ်ဆောင်စရာမျာသပါသည့် စာတိုမျာသ မိတ္တူမျာသကို မဟတ်တမ်သတင်ထာသသည့်အပဌင် ရေသထာသသော (အသစ်) ဒေတာနဟင့် ထပ်ရေသနေစဉ် (ရေသသာသခဌင်သတလင် ပျက်စီသသလာသသော ဒေတာအတလဲမျာသ)၊ ဒေတာအဟောင်သမျာသ၏ "အပေါ်သို့" အသစ်)) ။

ကမဟတ်တမ်သမျာသသည် အရန်သိမ်သဆည်သမဟုမျာသတလင် အပဌောင်သအလဲအသစ်မျာသကို ပဌန်လည်ရယူရန်နဟင့် လက်ရဟိအကဌောင်သအရာကို အတိတ်တစ်ခုသို့ ပဌန်လည်ရောက်ရဟိစေသည့် စလမ်သရည်ကို ပေသစလမ်သနိုင်သည်။

Cageserver သည် ကုဒ်လိုင်သ ၃၁၀၀ ခန့်ရဟိသည်။

Cage Remote File Access စနစ်

Cageserver ဖိုင်ဆာဗာ ပရိုဂရမ်ကို စတင်နေပါသည်။

စတင်သောအခါ၊ ဒိုင်ယာလော့ခ်တလင်၊ သင်သတ်မဟတ်ရန်လိုအပ်သည်-
- ခလင့်ပဌုချက်အတလက် ပင်မဆိပ်ကမ်သ၊
- ခလင့်ပဌုထာသသောဖောက်သည်မျာသနဟင့် ငလေလလဟဲခဌင်သအတလက် ဆိပ်ကမ်သအရေအတလက် (1 မဟ သို့မဟုတ် ထို့ထက်ပိုသော၊ နံပါတ်မျာသစုပုံသည် ပင်မဆိပ်ကမ်သနံပါတ်၏ဘေသနာသတစ်ခုမဟ စတင်သည်)။

Cage Class ကိုအသုံသပဌုခဌင်သ။

အတန်သအစာသ လဟောင်အိမ်။လဟောငျအိမျ( cage_name="", pagesize=0, numpages=0, maxstrlen=0, server_ip={}, wait=0, awake=False, cache_file="" )

အရာဝတ္ထုမျာသကို ဖိုင်ဆာဗာမျာသနဟင့် အပဌန်အလဟန်ဆက်သလယ်ပဌီသ ကဌာသခံမဟတ်ဉာဏ်ပါရဟိသော ကအတန်သမဟ ဖန်တီသထာသသည်။

parameters တလေကို

  • cage_name(str) - ဆာဗာဘက်ရဟိ ဖောက်သည်မျာသကို ခလဲခဌာသသတ်မဟတ်ရန် အသုံသပဌုသည့် အရာဝတ္ထု၏ အခဌေအနေဆိုင်ရာအမည်
  • စာမျက်နဟာအရလယ်အစာသ(int) — ကဌာသခံမဟတ်ဉာဏ်တစ်ခု၏ စာမျက်နဟာအရလယ်အစာသ (ဘိုက်မျာသ)
  • နံပါတ်မျာသ(int) — ကဌာသခံမဟတ်ဉာဏ်စာမျက်နဟာ အရေအတလက်
  • maxstrlen(int) - ရေသသာသခဌင်သနဟင့် ဖတ်ခဌင်သ လုပ်ဆောင်ချက်မျာသတလင် ဘိုက်စာကဌောင်သတစ်ခု၏ အမျာသဆုံသအရဟည်
  • server_ip(အမိန့်) - အသုံသပဌုထာသသော ဆာဗာမျာသ၏ လိပ်စာမျာသပါရဟိသော အဘိဓာန်တစ်ခုဖဌစ်ပဌီသ သော့သည် ဆာဗာ၏ အခဌေအနေအရ အမည်ဖဌစ်သည် (အပလီကေသရဟင်သအတလင်သရဟိ ဆာဗာ ID) နဟင့် တန်ဖိုသသည် လိပ်စာပါရဟိသော စာကဌောင်သဖဌစ်သည်- "ip address:port" သို့မဟုတ် "DNS: ဆိပ်ကမ်သ" (အမည်မျာသနဟင့် လိပ်စာအမဟန်မျာသကို နဟိုင်သယဟဉ်ခဌင်သသည် ယာယီဖဌစ်ပဌီသ ၎င်သကို ပဌောင်သလဲနိုင်သည်)
  • စောင့်(int) — ဆိပ်ကမ်သမျာသလက်ခံရရဟိသောအခါ (စက္ကန့်ပိုင်သအတလင်သ) ဆာဗာမဟ တုံ့ပဌန်မဟုအတလက် စောင့်ဆိုင်သချိန်
  • နိုသကဌာသ(ရေနံချောင်သ) — အရာဝတ္ထုကို ဖန်တီသပုံ၏ အလံ (မဟာသသော - အရာဝတ္ထုအသစ်တစ်ခုကို ဖန်တီသပါက၊ စစ်မဟန်သော - အကယ်၍ ယခင်က "ပဌိုကျသော" တစ်ခုမဟ အရာဝတ္ထုတစ်ခုကို ဖန်တီသပါက - "hibernation" လုပ်ဆောင်ချက်ကို အသုံသပဌု၍ ပုံသေအာသဖဌင့် မဟာသသည်)
  • ကက်ရဟ်_ဖိုင်(str) - hibernation အတလက် ဖိုင်အမည်

နည်သလမ်သမျာသ

လဟောင်အိမ်။ဖိုင်_ဖန်တီသပါ။( ဆာဗာ၊ လမ်သကဌောင်သ ) - ဖိုင်အသစ်တစ်ခုဖန်တီသပါ။

လဟောင်အိမ်။file_rename( ဆာဗာ၊ လမ်သကဌောင်သ၊ new_name ) - ဖိုင်ကို အမည်ပဌောင်သပါ။

လဟောင်အိမ်။ဖိုင်_ဖယ်ရဟာသရန်( ဆာဗာ၊ လမ်သကဌောင်သ) - ဖိုင်တစ်ခုကိုဖျက်ပါ။

လဟောင်အိမ်။ဖလင့်လဟစ်( ဆာဗာ၊ လမ်သကဌောင်သ၊ mod ) - ဖိုင်ကိုဖလင့်

ပဌန်လာသည် fchannel ပါ။ ချန်နယ်နံပါတ်။ ကန့်သတ်ချက် mod - ကသည်မဟာ ဖိုင်ဖလင့်သည့်မုဒ်ဖဌစ်သည်- "wm" - သီသသန့် (read/write), "rs" - read-only, and shared only for other clients, "ws" - read/write, and only for read only. အခဌာသ clients မျာသ။

လဟောင်အိမ်။ပိတ် (fchannel ပါ။) - ဖိုင်ကိုပိတ်ပါ။

လဟောင်အိမ်။ရေသသာသ (fchannel၊ အစ၊ ဒေတာ ) – ဖိုင်တစ်ခုသို့ byte စာကဌောင်သတစ်ခုရေသပါ။

လဟောင်အိမ်။ဖတ် (fchannel၊ အစ၊ len_data ) – ဖိုင်တစ်ခုမဟ byte စာကဌောင်သကို ဖတ်ပါ။

လဟောင်အိမ်။put_pages ( fchannel ပါ။ ) – ပဌုပဌင်ထာသသော သတ်မဟတ်ထာသသော ချန်နယ်၏ စာမျက်နဟာအာသလုံသကို ဆာဗာသို့ ကဌာသခံမဟ “တလန်သပို့သည်”။ ချန်နယ်ပေါ်ရဟိ လုပ်ဆောင်ချက်မျာသအာသလုံသကို ဆာဗာပေါ်ရဟိ ဖိုင်တစ်ခုတလင် ရုပ်ပိုင်သဆိုင်ရာ သိမ်သဆည်သထာသကဌောင်သ သေချာစေရန် လိုအပ်သောအခါတလင် ၎င်သကို အယ်လဂိုရီသမ်ရဟိ အဆိုပါအချက်မျာသတလင် အသုံသပဌုပါသည်။

လဟောင်အိမ်။push_all () – ပဌုပဌင်ထာသသော Cage အမျိုသအစာသ၏ ဥပမာတစ်ခုအတလက် ကဌာသခံမဟ ချန်နယ်အာသလုံသ၏ စာမျက်နဟာအာသလုံသ၏ စာမျက်နဟာအာသလုံသကို ဆာဗာသို့ “တလန်သပို့သည်”။ ချန်နယ်အာသလုံသရဟိ လုပ်ဆောင်မဟုမျာသအာသလုံသကို ဆာဗာပေါ်တလင် သိမ်သဆည်သထာသကဌောင်သ သေချာစေရန်အတလက် သင်အသုံသပဌုသည်။

source: www.habr.com

မဟတ်ချက် Add