GoGPT Best VPN GoSearch

OnWorks favicon

vdm_decode - ອອນລາຍໃນຄລາວ

ແລ່ນ vdm_decode ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ vdm_decode ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


vdmfec - ບລັອກ ECC ສໍາລັບໄຟລ໌

ສະຫຼຸບສັງລວມ


vdmfec [-v] [-d] [-ຂ ຂະໜາດ] [-ນ N] [-ກ K] [ໄຟລ໌]
vdm_encode [-v] [-ຂ ຂະໜາດ] [-ນ N] [-ກ K] [ໄຟລ໌]
vdm_decode [-v] [-ຂ ຂະໜາດ] [-ນ N] [-ກ K] [ໄຟລ໌]

ລາຍລະອຽດ


vdmfec ອ່ານກະແສການປ້ອນຂໍ້ມູນ ແລະເພີ່ມບລັອກການແກ້ໄຂຂໍ້ຜິດພາດເພື່ອໃຫ້ຕິດຕໍ່ກັນຂະໜາດໃຫຍ່
ພາກສ່ວນຂອງກະແສຜົນຜະລິດອາດຈະເສຍຫາຍ, ແລະຂໍ້ມູນໄດ້ຟື້ນຕົວ. ຍົກ​ຕົວ​ຢ່າງ,
diskettes ປົກກະຕິແລ້ວສູນເສຍຂະແຫນງການທັງຫມົດໃນເວລາດຽວກັນ, ຫຼືກຸ່ມທີ່ກ່ຽວຂ້ອງຂອງຂະແຫນງການ, ຫຼືແມ້ກະທັ້ງ
ເພງທັງໝົດ. ຂໍ້​ມູນ​ທີ່​ຂຽນ​ໃສ່ diskette ກັບ​ໂຄງ​ການ​ນີ້​ອາດ​ຈະ​ໄດ້​ຮັບ​ການ​ຟື້ນ​ຕົວ​ເຖິງ​ແມ່ນ​ວ່າ​
ຄວາມຜິດພາດການອ່ານຫຼາຍ.

ສູດການຄິດໄລ່ທີ່ໃຊ້ແມ່ນ Forward Error Correction (FEC) code ໂດຍອີງໃສ່ Vandermonde (VDM)
matrices ໃນ GF(2^8) ເນື່ອງຈາກ Luigi Rizzo. ໃຫ້ FEC ຕົວກໍານົດການ K ແລະ N, ມີ N ຫຼາຍກວ່າ
ກ ່ ວາ K, N blocks ແມ່ນຂຽນສໍາລັບທຸກໆຕັນ input K ໃນລັກສະນະທີ່ຕັນ K ໃດ
ພຽງພໍທີ່ຈະສ້າງຂໍ້ມູນຄືນໃໝ່. ນັ້ນແມ່ນ, ເຖິງ N - K ຕັນອອກຈາກທຸກໆກຸ່ມ N
ຕັນອາດຈະສູນເສຍໂດຍບໍ່ມີການສູນເສຍຂໍ້ມູນ.

ປະລິມານຂອງ overhead ໃນນ້ໍາຜົນຜະລິດແມ່ນສາມາດປັບໄດ້ຢ່າງງ່າຍດາຍໂດຍການປ່ຽນແປງ K. N ແລະ
blocksize ຄວບຄຸມຈໍານວນທັງຫມົດຂອງຂໍ້ມູນທີ່ຂຽນ. ຂຶ້ນກັບປະເພດຂອງຄວາມຜິດພາດທີ່ທ່ານ
ຄາດຫວັງວ່າ, ການຕັ້ງຄ່າທີ່ແຕກຕ່າງກັນອາດຈະເປັນປະໂຫຍດຫຼາຍຫຼືຫນ້ອຍ. ຕົວຢ່າງ, ທ່ານອາດຈະບໍ່ຄາດຫວັງວ່າຈະ
ມີສອງຫຼືສາມຂະແຫນງທີ່ບໍ່ດີຢູ່ໃນທຸກໆເສັ້ນທາງ (ຖ້າທ່ານເຮັດມັນເຖິງເວລາທີ່ຈະປ່ຽນແທນ
diskette!), ແຕ່ທ່ານອາດຈະຄາດຫວັງວ່າສາມຂະແຫນງທີ່ບໍ່ດີຢູ່ໃນສອງຫຼືສາມເພງຕິດຕໍ່ກັນ
(ຄວາມຜິດພາດຂອງແຜ່ນມີແນວໂນ້ມທີ່ຈະເປັນກຸ່ມ).

OPTIONS


-v ພິມ​ຂໍ້​ຄວາມ​ໃຫ້​ຂໍ້​ມູນ​ກ່ຽວ​ກັບ​ຂະ​ບວນ​ການ​ເຂົ້າ​ລະ​ຫັດ​ຫຼື​ການ​ຖອດ​ລະ​ຫັດ​ເພື່ອ​ stderr,
ລວມທັງປັດໄຈການຂະຫຍາຍຕົວ. ໃຊ້ -vv ເພື່ອໃຫ້ໄດ້ຮັບຂໍ້ມູນກ່ຽວກັບແຕ່ລະຕັນ
ອ່ານຫຼືຂຽນ.

-d ຖອດລະຫັດການປ້ອນຂໍ້ມູນແທນທີ່ຈະເຂົ້າລະຫັດມັນ. ການນໍາໃຊ້ທາງເລືອກນີ້ແມ່ນທຽບເທົ່າກັບ
ຮຽກ​ຮ້ອງ​ໃຫ້​ໂຄງ​ການ​ເປັນ​ vdm_decode.

-b ຂະໜາດ
ກໍານົດຂະຫນາດບລັອກ FEC ເພື່ອບລັອກຂະຫນາດໄບຕ໌. ຂະ​ຫນາດ blocks ອາດ​ຈະ​ມີ 'k​' ຫຼື 'K​'
ເພີ່ມເຕີມ, ໃນກໍລະນີດັ່ງກ່າວນີ້, ຂະຫນາດຕັນໄດ້ຖືກກໍານົດເປັນ blocksize * 1024 bytes. ນີ້
ປົກກະຕິແລ້ວຄວນຈະເປັນຫຼາຍຂອງຕັນສື່ຜົນຜະລິດ ຫຼືຂະຫນາດຂອງຂະແຫນງການ (ເຊັ່ນ: 512,
1024, 18K, ແລະອື່ນໆ), ແລະຕ້ອງມີຢ່າງຫນ້ອຍ 26 bytes ໃນຮຸ່ນ 1. Default 1024.

-n N -k K
ຕັ້ງຄ່າພາລາມິເຕີ FEC N ແລະ K. N ຕ້ອງໃຫຍ່ກວ່າ 2 ແລະໜ້ອຍກວ່າ ຫຼືເທົ່າກັບ
256. K ຕ້ອງໃຫຍ່ກວ່າ 0 ແລະໜ້ອຍກວ່າ N. ຄ່າເລີ່ມຕົ້ນ N=18, K=14.

ໃຫ້ສັງເກດວ່າ N, K, ແລະຕົວກໍານົດການ blocksize ບໍ່ໄດ້ຖືກຂຽນໃສ່ຜົນໄດ້ຮັບ! ເຈົ້າ​ຕ້ອງ
ລະບຸ ດຽວກັນ ຕົວກໍານົດການໃນເວລາທີ່ທ່ານດໍາເນີນການຖອດລະຫັດ. (ຕົວຈິງແລ້ວ, ຕົວຖອດລະຫັດແມ່ນມີຄວາມສາມາດ
ກວດຫາຄ່າ K ທີ່ບໍ່ຖືກຕ້ອງຢ່າງຈະແຈ້ງ, ແຕ່ຄ່າ blocksize ຫຼືຄ່າ N ບໍ່ຖືກຕ້ອງ
ສົ່ງ​ຜົນ​ໃຫ້​ເກີດ​ການ​ບລັອກ​ທີ່​ບໍ່​ດີ​ແລະ​ການ​ຖອດ​ລະ​ຫັດ​ຄວາມ​ລົ້ມ​ເຫຼວ​.)

ຕົວຖອດລະຫັດສາມາດອ່ານຈາກສື່ທີ່ບໍ່ສາມາດຊອກຫາໄດ້ເຊັ່ນທໍ່, ແນວໃດກໍ່ຕາມ, buffer
underruns ບໍ່ຖືກກວດພົບແລະຈະສົ່ງຜົນໃຫ້ຄວາມລົ້ມເຫຼວ. ນອກຈາກນັ້ນ, ເມື່ອອ່ານຈາກທໍ່ນັ້ນ
ໄຟລ໌ທັງຫມົດຕ້ອງໄດ້ຮັບການອ່ານ. ການອ່ານຈາກສະຕຣີມທີ່ສາມາດຊອກຫາໄດ້ໄວຂຶ້ນເພາະວ່າມີພຽງແຕ່ K
ຕັນທີ່ດີອອກຈາກ N ຈໍາເປັນຕ້ອງໄດ້ອ່ານ.

ຕົວເຂົ້າລະຫັດເກັບຮັກສາ chunk ແລະ block ids ທີ່ຖືກນໍາໃຊ້ເພື່ອກວດພົບອອກຈາກຕັນຄໍາສັ່ງ, ແຕ່
ຂໍ້ຜິດພາດເຫຼົ່ານັ້ນ (ເຊິ່ງບາງຄັ້ງສາມາດເກີດຂື້ນຍ້ອນການສໍ້ລາດບັງຫຼວງຂອງລະບົບໄຟລ໌) ບໍ່ໄດ້ຖືກແກ້ໄຂ.
ປະເພດດຽວຂອງຄວາມຜິດພາດທີ່ສາມາດແກ້ໄຂໄດ້ແມ່ນ in ສະຖານທີ່ ການສໍ້ລາດບັງຫຼວງຂອງຂໍ້ມູນ. ໃນ
ໂດຍສະເພາະ, ຕັນທີ່ຂາດຫາຍໄປ (ຈາກແພັກເກັດທີ່ສູນເສຍ) ເຮັດໃຫ້ເກີດຄວາມລົ້ມເຫລວໃນການຖອດລະຫັດ, ເຖິງແມ່ນວ່າ K
ຕັນທີ່ດີແມ່ນມີຢູ່. ໂຄງ​ການ​ນີ້​ແມ່ນ​ຈຸດ​ປະ​ສົງ​ຕົ້ນ​ຕໍ​ເພື່ອ​ຟື້ນ​ຕົວ​ຂໍ້​ມູນ​ສູນ​ເສຍ​ເນື່ອງ​ຈາກ​
ອ່ານຂໍ້ຜິດພາດໃນສື່ຄົງທີ່ເຊັ່ນ diskettes; ໂຄງ​ການ​ອື່ນໆ​ຈໍາ​ນວນ​ຫນຶ່ງ​ແລະ​ຫ້ອງ​ສະ​ຫມຸດ​ແມ່ນ​
ສາມາດໃຊ້ໄດ້ທີ່ໃຊ້ FEC ເພື່ອຈັດການກັບຂໍ້ຜິດພາດອື່ນໆ (ໂດຍທົ່ວໄປແລ້ວແພັກເກັດເຄືອຂ່າຍ).

ຕົວຢ່າງ


ພິຈາລະນາແຜ່ນດິດທີ່ມີ 80 ເພງ, 2 ຫົວ, ແລະ 18 512-byte sectors ຕໍ່ເພງ (ມາດຕະຖານ
ແຜ່ນດິດ 1.44MB).

bzip2 < ໄຟລ໌ | vdmfec > /dev/fd0

ໃຊ້ຄ່າເລີ່ມຕົ້ນຂອງ -b1k -n18 -k14, ເກັບຮັກສາເຖິງ ~1.1MB ຂອງການປ້ອນຂໍ້ມູນທີ່ຖືກບີບອັດ.
ຂໍ້ມູນ, ຂຽນຫນຶ່ງ (ສອງດ້ານ) ຕິດຕາມ (18K) ໃນເວລາດຽວ, ແລະອະນຸຍາດໃຫ້ 4 ກຸ່ມທີ່ບໍ່ດີ (8.
ຂະ​ແຫນງ​ການ​) ຕໍ່​ການ​ຕິດ​ຕາມ​.

vdmfec -d /dev/fd0 | bunzip2 > ໄຟລ໌

ກູ້ໄຟລ໌ຕົ້ນສະບັບ.

vdm_encode -b18k -n80 -k70 file.img > /dev/fd0

ຂຽນ diskette ທັງຫມົດ, ເກັບຮັກສາເຖິງ ~ 1.23MB ຂອງຂໍ້ມູນ, ແລະອະນຸຍາດໃຫ້ມີຄວາມຜິດພາດຫຼາຍໃນ 10.
ຕິດ​ຕາມ​ສອງ​ດ້ານ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​.

vdm_decode -b18k -n80 -k70 /dev/fd0 > file.img

ກູ້ຂໍ້ມູນແລະອ່ານບໍ່ຫນ້ອຍກວ່າ 70 ເພງ. ໃຫ້ສັງເກດວ່າ vdm_decode ອອກມາດ້ວຍ a
ສະຖານະພາບທີ່ບໍ່ແມ່ນສູນກ່ຽວກັບຄວາມລົ້ມເຫຼວ, ດັ່ງນັ້ນການກໍ່ສ້າງເຊັ່ນ:

vdm_decode /dev/fd0 > moo && tar -xvf moo

ເປັນໄປໄດ້.

dd if=/dev/tape ibs=1024 conv=norror,sync | \
vdm_decode > ໄຟລ໌

ອັນນີ້ອາດຈະຈຳເປັນເພື່ອກູ້ຂໍ້ມູນຈາກບາງສື່ທີ່ບໍ່ສາມາດຊອກຫາໄດ້. ເຈົ້າສາມາດແນ່ນອນ
ພຽງ​ແຕ່​ຂຽນ​ຜົນ​ຜະ​ລິດ​ເຂົ້າ​ລະ​ຫັດ​ເປັນ​ໄຟລ​໌​ປົກ​ກະ​ຕິ​, ເຊັ່ນ​ດຽວ​ກັນ​ກັບ​ໃນ​

tar -cf - dir | gzip | vdm_encode -v > dir.tgz.vdm

ການລາຍງານ ບັກ


ລາຍງານແມງໄມ້ໃຫ້ Tom Holroyd[email protected]>.

ໃຊ້ vdm_decode ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

Linux ຄຳ ສັ່ງ

Ad




×
ການ​ໂຄ​ສະ​ນາ
?ຊື້ເຄື່ອງ, ຈອງ, ຫຼືຊື້ທີ່ນີ້ — ບໍ່ມີຄ່າໃຊ້ຈ່າຍ, ຊ່ວຍໃຫ້ການບໍລິການຟຣີ.