อ่าน 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)
- เอกสาร Microsoft Office 97 – 2003 :
- เอกสาร Word (.DOC, .DOT)
- ไฟล์สเปรดชีต Excel (.XLS, .XLT)
- ไฟล์นำเสนอ PowerPoint (.PPT, .POT)
- ไฟล์ Publisher (.PUB)
- ไฟล์ Visio (.VSD)
- ไฟล์ โปรเจ็กต์ (.MPP)
- ไฟล์ Microsoft PhotoDraw (.MIX)
- ไฟล์Microsoft Outlook (.MSG)
- ไฟล์ ติดตั้ง Windows (.MSI, .MSP, .MST)
- ไฟล์ ภาพดิจิทัลของ Microsoft Picture It! / Microsoft (.MIX)
- ไฟล์ RSS ของ Internet Explorer และไฟล์ RSS ของ Windows (.feed-ms)
- ไฟล์ StickyNotes (.SNT) สำหรับ Windows 7
- ไฟล์ jumplist ของ Windows 7
- Thumbs.db
- แพ็คเกจDTSของ Microsoft SQL 2000 Server
- ออโต้เดสก์ รีวิต
- ออโต้เดสก์ อินเวนเตอร์
- แฟลชพิกซ์
- อัลเทียม ดีไซเนอร์
พื้นที่จัดเก็บข้อมูลแบบมีโครงสร้างดั้งเดิม
ในระหว่าง ขั้นตอน การทดสอบเบต้าของ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
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
- ข้อกำหนดแบบเปิด: รูปแบบไฟล์ไบนารีของไฟล์ผสม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ พื้นที่จัดเก็บข้อมูลแบบมีโครงสร้าง 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.