تخزين COM المهيكل
التخزين المهيكل COM (المعروف أيضًا باسم التخزين المهيكل COM أو التخزين المهيكل OLE ) هو تقنية طورتها مايكروسوفت كجزء من نظام التشغيل ويندوز لتخزين البيانات الهرمية في ملف واحد. وبالمعنى الدقيق، يشير مصطلح التخزين المهيكل إلى مجموعة من واجهات COM التي يجب أن يوفرها أي تطبيق متوافق، وليس إلى تطبيق محدد أو تنسيق ملف معين (في الواقع، لا يشترط أن يخزن تطبيق التخزين المهيكل بياناته في ملف على الإطلاق). إضافةً إلى توفير بنية هرمية للبيانات، قد يوفر التخزين المهيكل أيضًا دعمًا محدودًا للمعاملات للوصول إلى البيانات. توفر مايكروسوفت تطبيقًا يدعم المعاملات، وآخر لا يدعمها (يُسمى التخزين البسيط ، وهو محدود أيضًا من نواحٍ أخرى، على الرغم من أنه أفضل أداءً).
يُستخدم التخزين المنظم على نطاق واسع في تطبيقات مايكروسوفت أوفيس ، مع أن الإصدارات الأحدث (بدءًا من أوفيس 2007 ) تستخدم افتراضيًا Office Open XML القائم على XML . كما يُعد جزءًا أساسيًا من كلٍّ من COM وتقنيات ربط وتضمين الكائنات (OLE) ذات الصلة. ومن التطبيقات البارزة الأخرى للتخزين المنظم: SQL Server ، وواجهة مستخدم ويندوز، والعديد من برامج التصميم بمساعدة الحاسوب (CAD) التابعة لجهات خارجية .
تحفيز
يُعالج التخزين المُهيكل بعض الصعوبات المُتأصلة في تخزين كائنات بيانات مُتعددة داخل ملف واحد. إحدى هذه الصعوبات تظهر عندما يتغير حجم كائن مُخزن في الملف نتيجةً لتحديث. إذا كان التطبيق الذي يقرأ/يكتب الملف يتوقع أن تبقى الكائنات فيه مُرتبةً بترتيب مُعين، فقد يلزم إزاحة كل ما يلي تمثيل ذلك الكائن في الملف إلى الخلف لإفساح المجال إذا ازداد حجمه، أو إلى الأمام لملء المساحة المُتبقية إذا انخفض حجمه. إذا كان الملف كبيرًا، فقد ينتج عن ذلك عملية مُكلفة. بالطبع، هناك العديد من الحلول المُمكنة لهذه الصعوبة، ولكن غالبًا ما لا يرغب مُبرمج التطبيق في التعامل مع التفاصيل التقنية الدقيقة مثل تنسيقات الملفات الثنائية.
توفر أنظمة التخزين المهيكلة مفهومًا مجردًا يُعرف باسم " التدفق" ، والذي يُمثله واجهة برمجة التطبيقات IStream. يُشبه التدفق الملف من حيث المفهوم، IStreamوتوفر واجهة برمجة التطبيقات طرقًا للقراءة والكتابة تُحاكي إدخال/إخراج الملفات. يمكن أن يتواجد التدفق في الذاكرة ، أو داخل ملف، أو داخل تدفق آخر، وما إلى ذلك، وذلك حسب طريقة التنفيذ. ومن المفاهيم المجردة المهمة الأخرى مفهوم " التخزين" ، والذي يُمثله أيضًا واجهة برمجة التطبيقات IStorage. يُشبه التخزين الدليل في نظام الملفات من حيث المفهوم . يمكن أن تحتوي وحدات التخزين على تدفقات، بالإضافة إلى وحدات تخزين أخرى.
إذا رغب تطبيق ما في حفظ عدة كائنات بيانات في ملف، فإن إحدى طرق القيام بذلك هي فتح كائن IStorageيُمثل محتويات ذلك الملف وحفظ كل كائن من الكائنات داخله IStream. إحدى طرق تحقيق ذلك هي استخدام واجهة COM القياسية IPersistStream. يعتمد OLE بشكل كبير على هذا النموذج لتضمين الكائنات داخل المستندات.
شكل
تستخدم مايكروسوفت في تطبيقها تنسيق ملفات يُعرف بالملفات المركبة ، وتدعم جميع تطبيقات التخزين المهيكلة واسعة الانتشار قراءة وكتابة هذا التنسيق. تستخدم الملفات المركبة بنيةً شبيهةً بنظام FAT لتمثيل وحدات التخزين والتدفقات. تُخصص أجزاء من الملف، تُعرف بالقطاعات (وقد تتطابق أو لا تتطابق مع قطاعات نظام الملفات الأساسي)، حسب الحاجة لإضافة تدفقات جديدة وزيادة حجم التدفقات الموجودة. في حال حذف التدفقات أو تقلص حجمها، تاركةً قطاعات غير مخصصة، يمكن إعادة استخدام هذه القطاعات لتدفقات جديدة.
تستخدم التطبيقات التالية نظام التخزين المهيكل OLE (تنسيق المستند المركب)
- مستندات مايكروسوفت أوفيس 97 – 2003 :
- مستندات Word (.DOC، .DOT)
- جداول بيانات إكسل (.XLS، .XLT)
- عروض تقديمية باستخدام برنامج PowerPoint (.PPT، .POT)
- ملفات الناشر (.PUB)
- ملفات Visio (.VSD)
- ملفات المشروع (.MPP)
- ملفات مايكروسوفت فوتو درو (.MIX)
- ملفات مايكروسوفت أوتلوك (.MSG)
- ملفات تثبيت ويندوز (.MSI، .MSP، .MST)
- برنامج مايكروسوفت بيكتشر إت! / ملفات الصور الرقمية من مايكروسوفت (.MIX)
- خلاصات RSS لمتصفح إنترنت إكسبلورر، ملفات منصة RSS لنظام ويندوز (.feed-ms)
- ملاحظات لاصقة لنظام التشغيل ويندوز 7 (.SNT)
- ملفات قوائم الانتقال السريع لنظام التشغيل ويندوز 7
- Thumbs.db
- حزم Microsoft SQL 2000 Server DTS
- أوتوديسك ريفيت
- أوتوديسك إنفينتور
- فلاش بيكس
- برنامج ألتيم ديزاينر
التخزين الهيكلي الأصلي
خلال مرحلة الاختبار التجريبي لنظام التشغيل ويندوز 2000 ، تضمنت ميزة تُسمى " التخزين الهيكلي الأصلي " ( NSS ) لتخزين مستندات التخزين الهيكلي (مثل تنسيقات مايكروسوفت أوفيس الثنائية والملف الذي يستخدمه مستكشف ويندوز لتخزين الصور المصغرة مؤقتًا)، حيث يتم تخزين كل thumbs.dbدفق بيانات يُشكل مستندًا في دفق بيانات NTFS منفصل . وتضمنت هذه الميزة أدوات تعمل على تقسيم دفقات البيانات في مستند التخزين الهيكلي العادي إلى دفقات بيانات NTFS والعكس. إلا أنه تم سحب هذه الميزة بعد الإصدار التجريبي الثالث (Beta 3) بسبب عدم توافقها مع مكونات نظام التشغيل الأخرى، حيث يتم تحويل أي ملفات NSS تلقائيًا إلى تنسيق دفق البيانات الواحد. [ 1 ]
التطبيقات
- لـ Microsoft .NET:
- OpenMCDF – مكون .NET مجاني للوصول إلى ملفات التخزين المهيكلة OLE، مرخص بموجب MPL .
- لنظام لينكس:
- مكتبة ملفات جنوم المهيكلة – يمكنها قراءة ملفات التخزين المهيكلة من مايكروسوفت.
- عمود .
- لغة C++ متعددة المنصات لأنظمة ويندوز/ماك أو إس إكس/لينكس:
- بالنسبة للغة جافا:
- POIFS – تطبيق جافا لتنسيق OLE 2 Compound Document، وهو جزء من Apache POI .
- بالنسبة للغة بيرل:
- هياكل لاولا الثنائية
- بالنسبة للغة جافا سكريبت:
- js-cfb – تطبيق جافا سكريبت لتنسيق مستند OLE 2 المركب.
- بالنسبة للغة بايثون:
- compoundfiles – تطبيق بايثون لتنسيق Microsoft Compound File Binary (CFB).
مراجع
روابط خارجية
- واجهات برمجة تطبيقات مايكروسوفت
- تنسيقات ملفات الحاسوب
