Skip to main content

การทำให้เป็นอนุกรมคืออะไร?

ในการเขียนโปรแกรมคอมพิวเตอร์การทำให้เป็นอนุกรมเป็นกระบวนการของการใช้โครงสร้างข้อมูลที่เก็บไว้ในหน่วยความจำท้องถิ่นและเปลี่ยนเป็นกระแสของไบต์ที่สามารถส่งผ่านเครือข่ายหรือเก็บไว้ในดิสก์เพื่อประกอบและใช้งานใหม่โดยโปรแกรมอื่น. การทำให้เป็นอนุกรมยังสามารถใช้เพื่อบันทึกสถานะของวัตถุเพื่อให้สามารถโหลดซ้ำได้ในภายหลังด้วยโปรแกรมเดียวกันการใช้งานที่ซับซ้อนมากขึ้นของฟังก์ชั่นนี้คือการเรียกใช้การโทรขั้นตอนระยะไกล (RPC)การรันขั้นตอนบนคอมพิวเตอร์เครื่องอื่นอย่างมีประสิทธิภาพผ่านเครือข่ายกลไกนี้ยังช่วยให้สามารถกระจายวัตถุข้อมูลผ่านระบบเครือข่ายขนาดใหญ่

เกือบทุกภาษาคอมพิวเตอร์ที่ทันสมัยมีการสนับสนุนแบบดั้งเดิมสำหรับการทำให้เป็นอนุกรมหรือ Aห้องสมุดสามารถเพิ่มฟังก์ชั่นนี้ได้เมื่อวัตถุได้รับการจัดอนุกรมฟิลด์ทั้งหมดของวัตถุจะแบนกระบวนการนี้ยังเป็นที่รู้จักกันว่า deflating หรือ marshalling ข้อมูลจะถูกเปลี่ยนเป็นแถวหนึ่งมิติของไบต์ที่สามารถเขียนไปยังสตรีมเอาท์พุทใด ๆประเภทของกระแสเอาต์พุตไม่สำคัญและอาจเป็นไฟล์หรือซ็อกเก็ตเครือข่าย

สตรีมไบต์คืนข้อมูลทั้งหมดและวางไว้ในอินสแตนซ์ใหม่ของวัตถุต้นฉบับการสร้างสำเนาที่แน่นอนเป็นสิ่งสำคัญที่จะต้องเข้าใจว่าเฉพาะข้อมูลที่วัตถุที่ถืออยู่นั้นถูกจับวัตถุและวิธีการของมันและข้อมูลการใช้งานอื่น ๆ ไม่ได้หมายความว่าโปรแกรมที่ deserializes ข้อมูลจะต้องสามารถสร้างอินสแตนซ์ของคลาสที่เป็นอนุกรมเดิมโครงสร้างข้อมูลสามารถใช้งานได้สำหรับวัตถุประสงค์ที่หลากหลายข้อมูลวัตถุสามารถเก็บไว้ในสื่อทางกายภาพเพื่อให้สถานะที่แน่นอนของวัตถุทุกชิ้นสามารถกู้คืนได้จนถึงจุดที่เมื่อการดำเนินการโปรแกรมหยุดลงมันสามารถใช้ส่งข้อความไปยังคอมพิวเตอร์เครื่องอื่นที่จะทำให้ขั้นตอนระยะไกลทำงานได้การทำให้เป็นอนุกรมสามารถใช้เพื่อเปรียบเทียบการเปลี่ยนแปลงของรัฐอย่างมีประสิทธิภาพในแอปพลิเคชันแบบเรียลไทม์ก่อนที่จะใช้การทำให้เป็นอนุกรมวัตถุเป็นสิ่งสำคัญที่จะต้องเข้าใจข้อ จำกัด บางประการที่กำหนดไว้มากที่สุดสิ่งสำคัญคือผ่านกระบวนการแปลงวัตถุเป็นสตรีมไบต์ฟิลด์ที่ประกาศว่าเป็นส่วนตัวจะถูกเปิดเผยในระหว่างการส่งกระแสข้อมูลข้อมูลนี้สามารถบันทึกและถอดรหัสได้หลุมรักษาความปลอดภัย. ภาษาส่วนใหญ่อายุอนุญาตให้มีการทำให้เป็นภายนอกของรูปแบบการทำให้เป็นอนุกรมข้อมูลดังนั้นการเข้ารหัสที่เป็นกรรมสิทธิ์จึงเป็นไปได้ที่จะช่วยลดความเสี่ยงนี้ปัจจัยอีกประการหนึ่งที่ควรคำนึงถึงคือการทำให้เป็นอนุกรมโดยทั่วไปจะทำงานกับวัตถุที่เหมือนกับวัตถุที่เป็นอนุกรมหากมีการเพิ่มฟิลด์หรือวิธีการใหม่ลงในวัตถุแล้วลายเซ็นของวัตถุจะเปลี่ยนไปนี่จะหมายถึงวัตถุที่เก็บไว้จะทำให้เกิดข้อยกเว้นและข้อมูลจะไม่สามารถกู้คืนได้จนกว่าอินสแตนซ์ของวัตถุที่ไม่ได้แก้ไขดั้งเดิมจะพยายามกู้คืน