กลับไปหน้าบทความ

อ่าน 3 นาที

พื้นที่จัดเก็บข้อมูลแบบมีโครงสร้าง COM

COM Structured Storage (หรือเรียกอีกอย่างว่า COM structured storage หรือ OLE structured storage ) เป็นเทคโนโลยีที่พัฒนาโดย Microsoft ใน ระบบปฏิบัติการ Windows...

พื้นที่จัดเก็บข้อมูลแบบมีโครงสร้าง COM

COM Structured Storage (หรือเรียกอีกอย่างว่าCOM structured storageหรือOLE structured storage ) เป็นเทคโนโลยีที่พัฒนาโดยMicrosoftในระบบปฏิบัติการWindows สำหรับจัดเก็บข้อมูลแบบลำดับชั้นภายในไฟล์เดียว โดยทั่วไปแล้ว คำว่าstructured storageหมายถึงชุดของอินเทอร์เฟ ซ COM ที่การใช้งานที่สอดคล้องต้องมีให้ ไม่ใช่การใช้งานเฉพาะเจาะจง หรือ รูปแบบ ไฟล์ เฉพาะ เจาะจง (อันที่จริง การใช้งาน structured storage ไม่จำเป็นต้องจัดเก็บข้อมูลในไฟล์เลยก็ได้) นอกจากการจัดโครงสร้างแบบลำดับชั้นสำหรับข้อมูลแล้ว structured storage ยังอาจให้ การสนับสนุน การทำธุรกรรม ในระดับจำกัด สำหรับการเข้าถึงข้อมูล Microsoft มีการใช้งานที่รองรับการทำธุรกรรม รวมถึงการใช้งานที่ไม่รองรับการทำธุรกรรม (เรียกว่าsimple-mode storage ซึ่งการใช้งานแบบหลังนี้มีข้อจำกัดในด้านอื่นๆ ด้วย แม้ว่าจะทำงานได้ดีกว่าก็ตาม)

การจัดเก็บข้อมูลแบบมีโครงสร้าง (Structured storage) ถูกใช้งานอย่างแพร่หลายใน แอปพลิเคชัน Microsoft Officeแม้ว่าเวอร์ชันใหม่กว่า (เริ่มตั้งแต่Office 2007 ) จะใช้Office Open XMLที่อิงตามXMLเป็นค่าเริ่มต้นก็ตาม นอกจากนี้ยังเป็นส่วนสำคัญของทั้ง COM และเทคโนโลยี Object Linking and Embedding (OLE) ที่เกี่ยวข้องอีกด้วย แอปพลิเคชันที่โดดเด่นอื่นๆ ของการจัดเก็บข้อมูลแบบมีโครงสร้าง ได้แก่SQL Server , Windows shell และโปรแกรม CAD จากบริษัทอื่น ๆ อีกมากมาย

แรงจูงใจ

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

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

หากแอปพลิเคชันต้องการบันทึกอ็อบเจ็กต์ข้อมูลหลายรายการลงในไฟล์ วิธีหนึ่งที่จะทำได้คือการเปิดออบเจ็กต์IStorageที่แสดงถึงเนื้อหาของไฟล์นั้น และบันทึกอ็อบเจ็กต์แต่ละรายการไว้ในออบเจ็กต์เดียวIStreamอีกวิธีหนึ่งที่จะทำเช่นนั้นได้คือการใช้ส่วนต่อประสาน COM มาตรฐานIPersistStreamOLE อาศัยโมเดลนี้อย่างมากในการฝังอ็อบเจ็กต์ไว้ในเอกสาร

รูปแบบ

ระบบของ Microsoft ใช้รูปแบบไฟล์ที่เรียกว่าไฟล์คอมพาวด์ (compound files ) และระบบจัดเก็บข้อมูลแบบมีโครงสร้าง (structured storage) ที่ใช้งานกันอย่างแพร่หลายทั้งหมดสามารถอ่านและเขียนรูปแบบนี้ได้ ไฟล์คอมพาวด์ใช้ โครงสร้างคล้าย FATในการแสดงพื้นที่จัดเก็บและสตรีม โดยส่วนต่างๆ ของไฟล์ที่เรียกว่าเซกเตอร์ (ซึ่งอาจตรงหรือไม่ตรงกับเซกเตอร์ของระบบไฟล์พื้นฐานก็ได้) จะถูกจัดสรรตามความจำเป็นเพื่อเพิ่มสตรีมใหม่และเพิ่มขนาดของสตรีมที่มีอยู่ หากสตรีมถูกลบหรือลดขนาดลง ทำให้มีเซกเตอร์ที่ไม่ได้จัดสรร เซกเตอร์เหล่านั้นสามารถนำกลับมาใช้ใหม่สำหรับสตรีมใหม่ได้

แอปพลิเคชันต่อไปนี้ใช้ OLE Structured Storage (Compound Document Format)

พื้นที่จัดเก็บข้อมูลแบบมีโครงสร้างดั้งเดิม

ในระหว่าง ขั้นตอน การทดสอบเบต้าของWindows 2000มีฟีเจอร์ที่เรียกว่าNative Structured Storage ( NSS ) สำหรับการจัดเก็บเอกสาร Structured Storage (เช่น รูปแบบไบนารีของ Microsoft Officeและthumbs.dbไฟล์ที่Windows Explorerใช้ในการแคชภาพขนาดย่อ) โดยแต่ละสตรีมที่ประกอบเป็นเอกสารจะถูกจัดเก็บไว้ในสตรีมข้อมูลNTFS แยกต่างหาก มีโปรแกรมยูทิลิตี้ที่แยกสตรีมในเอกสาร Structured Storage ทั่วไปออกเป็นสตรีมข้อมูล NTFS และในทางกลับกันโดยอัตโนมัติ อย่างไรก็ตาม ฟีเจอร์นี้ถูกถอนออกหลังจากเบต้า 3 เนื่องจากความไม่เข้ากันกับส่วนประกอบระบบปฏิบัติการอื่นๆ และไฟล์ NSS ใดๆ จะถูกแปลงเป็นรูปแบบสตรีมข้อมูลเดียวโดยอัตโนมัติ[ 1 ]

การนำไปใช้

  • สำหรับ Microsoft .NET:
    • OpenMCDF – คอมโพเนนต์ .NET ฟรี สำหรับเข้าถึงไฟล์จัดเก็บข้อมูลแบบโครงสร้าง OLE ภาย ใต้ลิцен ส์MPL
  • สำหรับระบบ Linux:
    • GNOME Structured File Library – สามารถอ่านไฟล์จัดเก็บข้อมูลแบบโครงสร้างของ Microsoft ได้
    • เสา​
  • C++ ข้ามแพลตฟอร์มสำหรับ Windows/MacOSX/Linux:
    • POLE เวอร์ชัน 3 ขึ้นไป
  • สำหรับภาษา Java:
    • POIFS – การใช้งานรูปแบบเอกสารประกอบ OLE 2 ในภาษา Java ซึ่งเป็นส่วนหนึ่งของApache POI
  • สำหรับภาษา Perl:
    • โครงสร้างไบนารี LAOLA
  • สำหรับ
    • js-cfb – การใช้งานรูปแบบเอกสารผสม OLE 2 ด้วย JavaScript
  • สำหรับ Python:
    • compoundfiles – การใช้งานรูปแบบไฟล์ไบนารีแบบ Compound File (CFB) ของ Microsoft ด้วยภาษา Python
  • เว็บไซต์อย่างเป็นทางการ
  • ข้อกำหนดแบบเปิด: รูปแบบไฟล์ไบนารีของไฟล์ผสม
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=COM_Structured_Storage&oldid=1331279189 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ พื้นที่จัดเก็บข้อมูลแบบมีโครงสร้าง COM

COM Structured Storage (หรือเรียกอีกอย่างว่า COM structured storage หรือ OLE structured storage ) เป็นเทคโนโลยีที่พัฒนาโดย Microsoft ใน ระบบปฏิบัติการ Windows...

แรงจูงใจ

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

รูปแบบ

ระบบของ Microsoft ใช้รูปแบบไฟล์ที่เรียกว่า ไฟล์คอมพาวด์ (compound files ) และระบบจัดเก็บข้อมูลแบบมีโครงสร้าง (structured storage) ที่ใช้งานกันอย่างแพร่หลายทั้งหมดสามารถอ่านและเขียนรูปแบบนี้ได้ ไฟล์คอมพาวด์ใช้ โครงสร้างคล้าย FAT ในการแสดงพื้นที่จัดเก็บและสตรีม...

พื้นที่จัดเก็บข้อมูลแบบมีโครงสร้างดั้งเดิม

ในระหว่าง ขั้นตอน การทดสอบเบต้า ของ Windows 2000 มีฟีเจอร์ที่เรียกว่า Native Structured Storage ( NSS ) สำหรับการจัดเก็บเอกสาร Structured Storage (เช่น รูปแบบไบนารี ของ Microsoft Office และ thumbs.