الجميورية العربية السورية المعيد العالي لمعموم التطبيقية والتكنولوجيا العام الد ارسي 2017/2016 منهجية إدارة آمنة نتجسئة انمهفات انمىزعة في بنىك انمعهىمات انصغيرة Methodology for Safe Management of Fragment Distribution files in Small Data Banks د ارسة أعدت لنيل درجة الماجستير في المعموميات نظم المعمومات ودعم الق ارر م. إعداد أحمد مهنا عصام د. إشراف غياض - د. محمد الجنيدي دمشق في 2017/10/25
إهداء: إىل إىل إىل من أسمتد مهنم إمقوة وإمتحمل إىل من علامين إمصرب وإملثابرة ومغرإين دإمئا حبهبام... أيب وأيم روح أيخ إمطاىرة إلعزإء أخويت كام أتقدم ابمشكر إمعميق إىل إدلكتور عصام غياض إدلكتور محمد جنيدي إدلكتور اكدإن مجعة إذلين دمعوين وشاركوين ما أان أساتذيت بو...أوس ومحمد ملا قدموه يل من توجهيات وهصاحئ وأفاكر وإرشإف ممزي لمتام ىذإ إمعمل وإخرإجو ابمشلك إمالئق. 2
Abstract Most of the tools used in files fragmentation and distribution management domain, are based on a main idea which is dividing the folder into a specific number of segments and then re-assembling them to get the same original folder at the end. Through my referential study it turned out that the mathematical samples used are doing the fragmentation and re-assembling procedures as mentioned before, but this process did not take into consideration the idea of safety and the fact that the files are originally important and critical data which affiliate an institutional information bank with a special status, that s why I designed a mathematical model more modified than the existing models, as I added the institution s requirements and its governing rules, without turning to segmentation, but instead I framed it within the frame of an institutional information bank. Furthermore, I designed a structure for this system where we can have a structural system for segmenting and distributing files on data center for storing, with another structural system for regathering the files to get as a result the entire original folder ready for the specific user to check it, While designing the general structure for files fragmentation system, I took into consideration significantly the issue of storage volume, as it is an important thing for the system s investor, and although there is always an inverse relation between security and storage volume, I managed to overcome this with great accuracy, as the important files with small size need information about safety which might be bigger in size than the original folder. Another important issue is the speed of accessing the files by the specified user, as the user doesn t care about what is happening inside the system, in fact he cares only about getting the folder as quick as possible, and that is what I handled while designing this structure. The last issue in this matter is that this sample handles all kinds of files without exception and also processes big-size folders. 3
جدول المحتويات جذول انمحتىيات الملخص... 8 اىفظو األوه... 01 مقدمة... 01 إشكال ة البحث... 01 اىفظو اىثاني... 04 الدراسة المرجع ة... 04 أولا: مفهوم بنك المعلومات الصغ ر)المؤسسات (... 05 ثان اا : ك ف ة إدارة الملفات وتوضعها على القرص الصلب... 06 عمل ات الوصول بن ة نظام الملفات للملفات:... 08 21... File System architecture التوابع المستخدمة إلدارة الملفات... 22 توز ع الملف أو التخص ص 26... File Allocation مقدمة ف إدارة الملفات وتقس مها وتوز عها منطق اا عن طر ق تأثير الشبكة:... 33 التحميل والرفع )Download-Upload(... 33 الشبكة... 34 35... بت تورنت( Torrent (Bit 4 كيفية عمل البروتوكول:... 36 تحميل ومشاركة ممفات ثالثا :األنظمة التورنت... 38 الموزعة......39 اليياكل المستخدمة في األنظمة الممفات الموزعة:... 41 معايير التصنيف المتبعة لتصميم النظام الموزع... 42 األنظمة الموزعة الشه رة Distributed File Systems 42... )DFS( أنظمة الممفات الشبكية (NFS)... Network File System 42
- الموزع... CEPH 44 45....Hadoop Distributed File System (HDFS) النظام أنظمة الممفات الموزعة اىفظو اىثاىث... 49 المقترح... 49 المستخدمArchitecture... System 51 التقسيمFragment... 51 52... Defragment النموذج ىيكمية النظام مرحمة مرحمة االسترجاع التنج ز... 54 مقدمة... 54 ماه MVC-ASP.NET... 54 خر طة الكود البرمج... 55 55...Client Upload 56...Server merge اىفظو اىرابغ... 61 الختبارات والنتائج العمل ة... 61 اىفظو اىخا س... 68 الخاتمة واآلفاق المستقبل ة... 68 اى راخغReferences... 69 5
جدول األشكال العمميات المستخدمة عمى الممف...08 بنية الممف الداخمي...08 ىيكمية نظام الممفات...20 الشكل 1 الشكل 2 الشكل 3 الشكل 4 توضع السجالت باستخدام 23...PILE, SEQUENTIAL 24... الشكل 5 توضع السجالت باستخدام INDEXED,INDEXED SEQUENTIAL تقنية التوزيع المستمرة... 28 التخصيص غير المستمر الديناميكي...29 التخصيص المفيرس...31 الشكل 7 الشكل 8 الشكل 9 التخصيص المفيرس متعدد المستويات... 30 بت تورينت... 36 الشكل 10 الشكل 11 الشكل 12 ىيكمية 41... CLIENT-SERVER ىيكمية 40... GOOGLE FILE SYSTEM نظام الممفات الشبكية... 43 نظام 45... CEPH الشكل 13 الشكل 14 الشكل 15 الشكل 16 نظام 45...HADOOP الشكل 18 ىيكمية النظام المقترحة لمرحمة التقسيم... 51 الشكل 17 النموذج المقترح...51 الشكل 19 ىيكمية النظام المقترحة لمرحمة الشكل 20 خريطة الكود البرمجي لتقسيم ودمج الشكل 21 خريطة الكود البرمجي الدمج...53 الممفات...55 لممستخدمين...56 الشكل 22 إضافة دور جديد لممستخدم... 60 الشكل 23 الشكل 24 عممية انشاء الدور... 60 تجزئة الممف ووضعو عمى المخدم...60 الشكل 25 معمومات الممف وطبيعتو...60 الشكل 26 مكان توضع الممفات السرية عمى المخدم...62 الشكل 27 مستعرض الممفات...62 6
63... WORD الفيديو...63 الشكل 28 مستعرض ممفات الشكل 29 مستعرض ممفات الشكل 30 حجم الممفات قبل التخزين وبعده... 65 الشكل 31 المقارنة مع البت تورنت... 66 الجدول 1 مقارنة بين االج ارئيات...25 PILE,SEQUENTIAL,INDEXED,HASHED الجدول 2 مقارنة بين تقنيات التخصيص...32 الجدول 3 المقارنة الحجم قبل التقسيم و بعده... 64 الجدول 4 مقارنة مع آلية التقسيم في البت تورنت...65 7
الملخص إن معظم األدوات المستخدمة في مجال إدارة تجزئة الممفات وتوزيعيا تستند عمى فكرة أساسية أال وىي تقسيم الممف إلى عدد معين من القطع واعادة تجميعيا ليحصل في النياية عمى الممف ذاتو. من خالل الد ارسة المرجعية المتضمنة في ىذا البحث يتبين أن النماذج الرياضية المستخدمة تقوم بالتجزئة والتجميع كما ىو مذكور سابقا. ولكن ىذه العممية لم ت ارعي فكرة األمان وان الممفات ىي عبارة عن بيانات ميمة وحساسة تابعة لبنك معمومات مؤسساتي لو وضعو الخاص لذلك قمت بتصميم نموذج رياضي م عدل عن النماذج الموجودة حيث أضفت متطمبات المؤسسة والقواعد الناظمة ليا فمم الجأ إلى التقسيم كيفما اتفق وانما قمت بتأطيره في إطار بنك معمومات مؤسساتي كما قمت بتصميم ىيكمية ليذا النظام حيث يوجد ىيكمية لتجزئة الممفات وتوزيعيا عمى مركز تخزين البيانات كذلك ىيكمية أخرى إلعادة تجميعيا لنحصل في النياية عمى الممف كامال لممستخدم المحدد المسموح لو االطالع عميو عند تصميم الييكل العام لنظام تجزئة الممفات قمت بم ارعاة مسألة حجم التخزين بشكل كبير كونيا مسألة ميمة بالنسبة لمستثمر النظام وعمى الرغم من أن ىنالك عالقة عكسية بين األمان وحجم التخزين فقد قمت بتالفي ىذا الموضوع بقدر كبير من الدقة فالممفات اليامة ذات الحجم الصغير تحتاج إلى معمومات عن األمان ربما تكون اكبر من حجم الممف األصمي والمسألة األخرى التي ال تقل أىمية عن التخزين وىي سرعة الوصول إلى الممفات لممستخدم المحدد حيث أن المستخدم ال ييمو ما يجري داخل النظام ما ييمو فعميا أن يحصل عمى ممفو بالسرعة المطموبة وىذا األمر قمت بمعالجتو في تصميم ىذه الييكمية المسألة األخيرة في ىذا الموضوع ىي أن ىذا النموذج يعالج مختمف أنواع الممفات دون استثناء كما الممفات الكبيرة ذات الحجم العالي أنو يعالج. 8
9
اىفظو األوه قذ ت تتجو معظم المؤسسات السيما الحكومية الكبيرة لالعتماد عمى بنوك المعمومات في أداء مياميا وتحضير البنية التحتية المعموماتية الالزمة وفقا لخصوصية المعمومات لدى تمك المؤسسات األمر الذي قد يتطمب في بعض أنواع المعمومات المخزنة في الممفات ذات الحجم الكبير أو الحساسية العالية إلى تجزئة وتوزيع ممفات تمك البيانات ولكن معظم األنظمة التي تعمل عمى تجزئة الممفات تقوم بتقسيم الممف إلى قطع وكأنيا تقوم بتقطيع قطعة فاكية دون أن ت ارعي طبيعة الممف وخصوصيتو وىل ىو متاح لمجميع ام انو ممف سري ينبغي الحفاظ عميو من االخت ارق كما أن مسألة توزيع أو بعثرة األج ازء ىي أيضا مسألة جدا ميمة فعندما نقوم بتوزيع تمك القطع ومن ثم إعادة تجميعيا فمن يستطيع أحد غير المخول برؤية الممف كامال باستع ارضو وىنالك نقطة إضافية وىي أن ىنالك العديد من التقنيات التي تسمح بتجميع بعض أج ازء الممف وتحصل عمى الممف الكمي وىذه النقطة حساسة جدا لذلك ال يمكن السماح بمثل ىذا األمر في ىذا البحث. ىنالك العديد من األدوات التي تساعد مستخدم الحاسب عمى تجزئة الممف وجميعيا يقوم عمى فكرة التقطيع ومن ثم التجميع ولكن ال ي ارعوا متطمبات المؤسسة وخصوصيتيا وىي ب ارمج عامة بالغالب تيدف المستخدم إعانة إلى ويمجا ليا كون معظم المواقع عمى الشبكة العنكبوتية محدودة بحجم معين مثل البريد االلكتروني الذي ال يسمح مثال برفع ممف اكبر من لذلك لجأت معظم تمك المواقع إنشاء إلى ما يسمى بالقرص المخصص لكل 25MB مستخدم وفيو يضع المستخدم ممفاتو وبالغالب يكون الحجم المجاني 5GB واذا فقط أ ارد مساحة تخزين اكبر إلى يحتاج ش ارئيا من الموقع ولكن ىل ىنالك خصوصية في ىذا األمر واذا اخترق شخص ما ىذا الموقع أصبحت بيانات المستخدمين معرضة لمخطر والنشر واذا قمنا بتعميم ىذه الفكرة عمى مؤسسة حكومية ذات خصوصية معينة وتم اخت ارق حساباتيا فإن النتائج ستكون كارثية لذلك سنمجأ من خالل بحثنا ىذا عمى تالفي الوقوع في محظو ارت ال تحمد عقباىا. إشناىيت اىبحث ىنالك عدة مشاكل في تجزئة الممفات واسترجاعيا وفقا الم ارد تقسيمو. لحساسية المعمومات الموجودة فييا وحجميا ونوع الممف 01
من خالل المقدمة السابقة ىنالك أسئمة مطروحة نجيب عمييا من خالل بحثنا ىذا 1- ما ىي المتطمبات الواجب توافرىا في النموذج لموصول لمحل الم ارد 2- ىل تكفي نماذج تجزئة الممفات الحالية لحل مشاكل األمان وسرعة الوصول واالسترجاع وتقميل حجم التخزين 3- إذا لم يتوافر نموذج يقودنا إلى الحل فيل يمكن تعديل النماذج الموجودة اىبحث أهذاف إن اليدف األساسي من ىذا البحث تكوين نموذج نظري لتقسيم واسترجاع الممفات بطريقة أمنة بناءا عمى متطمبات بنك معمومات مؤسساتي من أمان في التخزين وسرعة الوصول لمممفات باإلضافة إلى تقميل حجم التخزين قدر اإلمكان. نهديت اىبحث بتعديل قمنا النماذج الموجودة سابقا في تجزئة الممفات لمحصول عمى واسترجاعيا نموذج مقترح ي ارعي بنك معمومات مؤسساتي. فرضياث اىبحث معظم النماذج المستخدمة في تجزئة واسترجاع الممفات تعتمد عمى فكرة أساسية وىي تقطيع الممف أج ازء دون إلى أن ت ارعي المعمومات بنك طبيعة المؤسساتي فينالك ممفات يمكن أن تكون سرية وىنالك أن ممفات يمكن أيضا تكون متاحة لجميع المستخدمين 00
خطط اىبحث تم تنظيم البحث كما يمي: الفصل الثاني: يحتوي ىذا الفصل د ارسة مرجعية تتضمن. أوال : مفيوم بنك المعمومات الصغير )المؤسساتي( ثانيا : طبيعة الممفات وتنسيقيا وكيفية تموضعيا في القرص الصمب. ثالثا : األنظمة الموزعة حيث تم توضيح بدايات ظيور أنظمة الممفات الموزعة وعرض معظم ىذه األنظمة منذ بداية ظيورىا حتى وقتنا الحالي. الفصل الثالث: يحتوي ىذا الفصل عمى شرح مفصل عن المنيجية المقترحة لإلجابة عن أسئمة البحث والنموذج الجديد المقترح لتحقيق عممية تجزئة الممفات وتوزيعيا بشكل آمن في بنك معمومات مؤسساتي والمي ازت الجديدة التي تحققت بفضل الشكل الجديد لمنموذج. الفصل ال اربع: يستعرض ىذا الفصل عددا من االختبا ارت لتطبيق الحل المقترح ومناقشة ىذه النتائج. الفصل الخامس: الخاتمة واآلفاق المستقبمية 02
03
اىفظو اىثاني اىذراست اى رخؼيت الفصل ىذا سيتم في التكمم عن د ارستنا المرجعية التي تتضمن عرضا لإلطار النظري عن طبيعة الممفات وكيفية توضعيا فيزيائيا في القرص الصمب والخوارزميات المستخدمة في ىذا سيتم استع ارض األنظمة الموزعة. كما اإلطار تم البحث تكامل من أجل عرض ثالثة مفاىيم وىي: إدارة كيفية الممفات وكيفية توضعيا في القرص الصمب والخوارزميات المتبعة لتجزئة الممفات كذلك يتضمن البحث الموزعة كونو األنظمة يتضمن توزيع الممفات. 04
أولا: فهى بنل اى ؼيى اث اىظغير)اى ؤسساتي( بنك المعمومات ىو قاعدة معموماتية ومخزن معموماتي ضخم من المعمومات والبيانات بكافة أشكاليا وصورىا مخزنة ومحفوظة بشكل يسيل التعامل معيا والبحث عنيا بواسطة الحاسوب ويتألف من مباني ضخمة مكونة من العديد من الخوادم التي تعمل عمى مدار اليوم 24/24 دائم مع توفر لخدمة اإلنترنت والكيرباء. يجي ز ىذا المبنى بأحدث التقنيات مع توفر بنية تحتية مدروسة ومدعومة بالعديد من تقنيات المعمومات ووسائط االتصاالت وآليات الحماية واألمن التي تتيح لممستخدم استخدام نظم المعمومات والخدمات التي يقدميا. أنىاع بنىك اىبياناث تقسم بنوك البيانات عادة وفقا لحجوم البيانات فييا وكذلك الوظائف والخدمات التي تقدميا إلى عدة أنواع ومستويات. حسب حجم التخزين: بنوك بيانات صغيرة: تتكون عمى األكثر من مخدمات ووحدة تخزين 10TB مثل بنوك البيانات 10 المستخدمة لم ارقبة تغي ارت الطقس. بنوك بيانات متوسطة: تتكون من مخدمات ووحدة تخزين 100TB مثل بنوك البيانات 100-10 المستخدمة لحجز نطاقات الويب.Web Hosting بنوك بيانات كبيرة: تتكون من أكثر من مخدم ووحدة تخزين أكثر من 100TB تستخدم مثل 100 ىذه البنوك في الييئات والمؤسسات الحكومية والشركات التي تتعامل مع حجم كبير من المعمومات وكم كبير من العمميات عمييا. حسب الوظائف والخدمات:.Processing.Storage بنوك بيانات لممعالجة بنوك بيانات لمتخزين.(ASP) Application Service providers بنوك بيانات كمزود لخدمات التطبيقات 05
أه يت بنىك اىبياناث: يمكن االستفادة من بنوك المعمومات في المجاالت التالية: إدارة ومعالجة البيانات بسرعة ودقة خاصة في حالة استخدام بيانات خاصة مثل الصور. تكون إمكانية التحكم بالبيانات قوية وآمنة ضد اليجمات والمخاطر. مجيزة بنظام إدارة األزمات لمعمل ضمن ظروف خاصة. إمكانية االستفادة منيا في آلية اتخاذ الق ارر. إمكانية تشفير البيانات وتبادليا بشكل آمن. إمكانية استضافة مجاالت الويب والخدمات والشبكات االفت ارضية. ثانياا : ميفيت إدارة اى يفاث وتىضؼها ػيى اىقرص اىظيب تنسيك اى يف : 1 ىو طريقة لتشفير المعمومات داخل ممف الكمبيوتر بحيث يجب أن يكون البرنامج أو التطبيق قاد ار عمى التعر ف عمى تنسيق الممف من أجل الوصول إلى البيانات داخمو. عمى سبيل المثال متصفح ويب قادر عمى معالجة وعرض ممف في تنسيق ممف HTML بحيث يظير كصفحة ويب. إذا واجو المتصفح ممف من صيغة أخرى فقد يحتاج إلى االتصال بمكون إضافي خاص لمشاىدتو أو قد يسمح لك ببساطة بتنزيل الممف لعرضو في برنامج آخر إذا لم يتمكن من التعر ف عميو. غالبا ما ي شار إلى تنسيق ممف معين كجزء من اسم الممف بواسطة ممحق اسم الممف يتبع التمديد بنقطة في اسم.)jpeg الممف ويحتوي عمى ثالثة او أربعة أحرف تحدد التنسيق jpg( أو في أنظمة التشغيل يمكنك اختيار عرض الحقات الممف أو عدم عرضيا )"إخفاء ممحقات أنواع Windows الممفات المعروفة" ىو الخيار االفت ارضي في مستكشف ويندوز والذي يمكن عكسو لرؤية ممحقات الممفات(. 06
أنظمة أما في MAC فإن الممفات غالبا ال تحتوي عمى الحقة وىذا بحد ذاتو مشكمة عند نسخيا الستخداميا في نظام آخر. وىنا تجدر اإلشارة إلى ممكية الممفات يجب فتح عادة الممفات من قبل البرنامج الذي تم إنشاؤىا بواسطتو. وقد ال يتمكن أي شخص بدون ترخيص لمبرنامج من فتح الممف عمى اإلطالق.. و( PDF ) Adobe ىو خير مثال عمى ذلك. يمكن ق ارءة الممفات النصية من خالل معيار التشفير مثل أو.Unicode ال يمكن ق ارءة الممفات الثنائية ASCII إال بواسطة الب ارمج المعمولة بيا وقد تكون ممكية خاصة وقد تحتوي بعض الممفات عمى نص وترميز ثنائي )ممفات.)RTF.. في مرحمة ما قد يمجأ المستخدم لضغط الممفات من أجل التخزين أو النقل المحمي أو النقل عن طريق الشبكة وىذا ما يسمى بتخفيض معدل البتات الذي ينطوي عمى ترميز المعمومات باستخدام بتات أقل من التمثيل األصمي. تستخدم ممفات )أرشيف األشرطة( عادة في Linux لتجميع مجموعة من الممفات في ممف واحد / Unix tar لتقميل حجميا. في بيئات مثل يمكن استخدام ممف مضغوط لربط عدة ممفات مع بعضيا البعض مع أو بدون Windows ضغط أو مع ضغط أكثر أو أقل. توجد أيضا األدوات المفيدة لذلك. في ىذه المرحمة يمزمنا أن نتعر ف عمى بنية الممف وآلية تموضعو في الذاكرة وفي القرص الصمب. اىؼ يياث اى ستخذ ت ػيى اى يف: عندما نتكمم عمى الممف عمينا أن نعرف ما ىي العمميات المستخدمة عمى الممف العمميات ىي إنشاء ممف واغالقو وحذفو وفتحو باإلضافة لق ارءة الممف والكتابة عميو الشكل التالي يوضح ىذه العمميات. 07
Create Open Close Delete Read (all or a portion) Write (append or update) الشكل 1 العمميات المستخدمة عمى الممف هيكم انمهف انذاخهي: مما يتكون الممف كبنية داخمية الشكل 2 بنية الممف الداخمي لغة اآللة تتكون من أصفار ووحدات التي تشكل البايت وبدورىا مجموعة من البايتات تشكل الحقل record ومن ثم فان الممفات ىي عبارة عن مجموعة من ال وىنالك قيود عمى الولوج إلييا. ػ يياث اىىطىه ىي يفاث: عممية الوصول لمممفات تعمل أساسا عمى السجالت ولكن بشكل يمكن أن نقوم ببعض العمميات عمى الممفات وىي: تجريدي يمكن تطبيقيا عمى مجرد بايت لذلك 08
:Retrieve_All ق ارءة جميع السجالت في الذاكرة بشكل متسمسل. :Retrieve_One وعادة ما ترتبط بشكل متفاعل مع التطبيقات الموجية نحو المعامالت. :Retrieve_Next/Previous يكون ال record معر ف مسبقا منطقيا )أي لديو العناوين الالزمة لتمك العممية في الذاكرة( وبشكل متسمسل وبالتالي ىو متعمق بعممية البحث عن عناوين ال records في الذاكرة. :Insert_One قد ينطوي عمى الوصول العشوائي او اإللحاق بممف ما. :Delete_One بعض الروابط أو غيرىا من ىياكل البيانات قد تحتاج إلى تحديث لمحفاظ عمى تسمسل األج ازء. :Update_One استرداد سجل وتحديث حقل أو أكثر من أجل إعادة كتابة السجل المحد ث إلى الممف األمر الذي يؤدي إلى تغير في طول الحقول والسجالت مما يستمزم التالعب في ىياكل البيانات لموصول لمغرض المطموب. :Retrieve_Few الحصول عمى عدد محدد من السجالت وىي مستخدمة في قواعد البيانات وفق معايير اختيار معينة. نظا اى يفاث: File System الممفات نظام الحوسبة في ىو طريقة في نظام التشغيل تستخدم لمتحكم في كيفية تخزين واسترجاع وتنظيم وادارة ممفات الحاسوب والبيانات التي تحتوى عمييا تمك الممفات لتسييل إيجادىا واستخداميا أنظمة الممفات قد تستعمل جياز تخزين البيانات مثل القرص الصمب بدون نظام الممفات فإن المعمومات الموجودة في القرص الصمب ستكون كأنيا قطعة واحدة من البيانات التي التفريق بينيا ال يمكن كذلك ال يمكن معرفة أين بداية أي جزء منيا ونيايتو وما الجزء التالي لو من البيانات أما نظام الممفات باستخدام الفصل يمكن بين أج ازء المعمومات واعطاء كل جزء منيا اسم وبالتالي يسيل الفصل بين الممفات واعطاء كل منيا معرف ومؤشر ليا اسم نظام الممفات جاء من أن كل مجموعة من البيانات ىي ممف file وليا بناء وقواعد يتم إدارتيا. بواسطة نظام system النيائي file system االسم فيكون ىناك العديد من األنواع المختمفة لنظم الممفات كل واحد منيا لو بناء وخواص منطقية وسرعة مختمفة وأيضا. مرونة وأمان وحجم مختمف... الخ بعض نظم الممفات تم تصميميا لالستخدام مع تطبيقات معينة عمى سبيل المثال نظام ممفات أيزو 9660 تم تصميمو لألق ارص البصرية. 09
نظم الممفات يمكن استخداميا في العديد من أنواع أجيزة ووسائط التخزين أشير أنواع أجيزة التخزين المستخدمة حاليا ىي القرص الصمب حيث يقوم نظام التشغيل بالتحكم في كيفية تخزين الحاسوب والبيانات التي تحتوى عمييا تمك الممفات لتسييل إيجادىا واستخداميا. واسترجاع وتنظيم وادارة ممفات وىنا تجدر اإلشارة أن نظام إدارة الممفات ( system )file management إلى ىو مجموعة ب ارمج النظام التي تقدم خدمات لممستخدمين والتطبيقات المتعمقة باستخدام الممفات عادة الطريقة الوحيدة التي يمكن لممستخدم أو التطبيق الوصول إلى الممفات من خالل نظام إدارة الممفات. لكي تتم عممية إدارة الممفات بصورة صحيحة يجب م ارعاة ما يمي: أن تكون بيانات الممف صالحة. تحسين األداء ( وقت االستجابة قصير(. توفير دعم I/O لمختمف أجيزة التخزين. تقميل او إ ازلة إمكانية فقدان البيانات او تدميرىا. توفير مجموعة موحدة من إج ارءات I/O الروتينية الستخدام العمميات. تقديم الدعم I/O لعدة مستخدمين. بنيت نظا اى يفاث File System architecture األنظمة المختمفة ت نظم إدارة الممفات بشكل مختمف. الفقرة التالية تتضمن شرحا عاما عن بنية إدارة الممفات التي تمجأ إلييا معظم أنظمة التشغيل. عمى أدنى مستوى فإن ب ارمج تشغيل األجيزة تقوم بالتواصل مباشرة مع األجيزة الطرفية وحدات التحكم أو الخاصة بيا أو القنوات. برنامج تشغيل الجياز مسؤول عن بدء عمميات اإلدخال / اإلخ ارج عمى جياز معين ومعالجة إتمام طمب إدخال / إخ ارج. بالنسبة لعمميات الممفات فإن األجيزة النموذجية التي تسيطر عمييا ىي محركات األق ارص وعادة ما تعتبر ب ارمج تشغيل األجيزة جزءا من نظام التشغيل. 21
الشكل 3 ىيكمية نظام الممفات من خالل الشكل السابق يتم توضيح المفاىيم التالية ب ارمج تشغيل األجيزة: مسؤولة عن بدء واستكمال طمبات I/O لمختمف األجيزة الطرفية. نظام الممفات األساسية )المادية يفيم المحتوى. I/O I/O أساسي وحالة الممف. I/O م ارقب عمى مستوى نظام التشغيل( تبادل كتل البيانات دون أن )جزء من نظام التشغيل(: يحافظ عمى ىياكل التحكم في أجيزة I/O والجدولة منطقي ىدفو األساسي الوصول إلى السجالت ويحتفظ بمعمومات أساسية عن الممفات )مؤش ارت وما إلى ذلك(. ىنالك بعض المعايير لتنظيم الممفات منيا: وقت الولوج قصير Short access time سيولة التحديث االقتصاد في التخزين 20
ىذه المعايير يمكن سيولة الصيانة الموثوقية أن تكون متضاربة فمثال االقتصاد في التخزين مع تك ارر البيانات والتك ارر يزيد من سرعة الولوج إلى البيانات مع الموثوقية األمر الذي يؤدي إلى زيادة في التخزين. اىتىابغ اى ستخذ ت إلدارة اى يفاث تتفاعل ب ارمج المستخدمين والتطبيقات مع نظام الممفات عن طريق األوامر الخاصة بإنشاء الممفات وحذفيا وتنفيذ العمميات عمى الممفات. قبل تنفيذ أي عممية يجب أن يقوم نظام الممفات بتحديد الممف المحدد وتحديد موقعو. وىذا يتطمب استخدام نوع من الدليل لوصف موقع الممفات باإلضافة إلى سماتيا. وباإلضافة إلى ذلك فإن معظم النظم المشتركة systems( )shared تفرض التحكم في النفاذ إلى المستعممين أي انو ال يسمح إال لممستخدمين المرخص ليم بالوصول إلى ممفات معينة بطرق معينة. يتم تنفيذ العمميات األساسية التي يمكن أن يقوم بيا المستخدم او التطبيق عمى ممف عمى مستوى السجل. I/O استخدام تطبيقات معنية مع سجالت يتم عمى أساس كتمة. وبالتالي يجب أن يتم مساحة لمسجالت حجز I/O الخاصة بالممف وحظر الكتابة عمييا وفتحيا بعد اإلدخال. لدعم كتمة من الممفات ىناك حاجة إلى عدة إدارة التخزين الثانوي منيا وظائف التخزين الحرة مساحة وادارة إدارة التخزين الثانوي تنطوي عمى تخصيص الممفات وتوزيعيا إلى كتل مجانية عمى مساحة التخزين الثانوي في حين أن مساحة إدارة التخزين الحرة تساعد في معرفة ما الكتل المتاحة لمممفات الجديدة او النمو في الممفات الموجودة حجم مسبقا. يعتمد التحسين عمى بنية الممفات وأنماط الوصول. ومن خالل الشكل )3( لييكمية الشائعة التقنيات نجد أن إدارة الممفات ىي: الممف المعتمد عمى تابع بيل :PILE يتم جمع البيانات في الترتيب الذي يصل ويتكون كل سجل من رشقو (burst( واحدة من البيانات وقد تحتوي السجالت عمى تشكيمة متنوعة بشكل كبير من الحقول وأطوال الحقل ويجب أن يكون لكل حقل وصفا ذاتيا. 22
الشكل 4 توضع السجالت باستخدام pile, sequential : المتسمسل الممف Sequential File شكل ثابت يستخدم لمسجالت. طول وموقع كل حقل معروف يتطمب أن يتم تخزين قيم الحقول فقط. الحقل األول من كل سجل ىو الحقل الرئيسي والسجالت يتم تخزينيا في تسمسل keys )يمكن أن يكون االختالفات(. ليست جيدة لمتطبيقات التفاعمية مع االستعالمات لمسجالت الفردية أو التحديثات. إد ارج السجالت ىو أيضا غير فع ال تتطمب.batch merges دو ارت من يمكن تنفيذىا من خالل تنظيم ممف كقائمة مرتبطة. الممف المتسمسل المفيرس :Indexed Sequential File 23 يستخدم فيرسا لدعم الوصول العشوائي.
يتطمب ممف تجاوز) overflow ( لمتعامل مع اإلضافات. يستخدم الفيرس نفس مفتاح الممف الرئيسي ويحتوي عمى مؤشر لمممف يحسن إلى حد كبير وقت البحث. يمكن أن يكون مؤش ارت متعددة المستويات لمحصول عمى سرعة أكبر لموصول. الممف المفيرسFile :Indexed يستخدم فيرسا لدعم الوصول العشوائي. يحافظ عمى مؤش ارت متعددة لكل نوع من الحقول التي قد تكون موضوع البحث. يتم الوصول إلى السجالت فقط من خالل مؤش ارتيا. يمكن استخدام الحقول ذات الطول المتغير. يمكن استخدام الفيرس الشامل والمؤشر الجزئي. الشكل 5 توضع السجالت باستخدام indexed,indexed sequential ممف ىاش :Hashed File 24
تعتمد تقنية Hashed عمى قيمة رئيسية تقوم بالذىاب مباشرة إلى السجل عمى القرص. تعطي كفاءة في المقام Retreive_One األول لمسجالت ذات الطول الثابت وعمميات التي ذكرت سابقا. بالمجمل الجدول التالي يبين مقارنة عن أداء ىذه التقنيات من حيث المساحة والتحديث واالستعادة: File method pile sequential Indexed sequential indexed variable A F F B space Attributes fixed B A B C Equal A D B C Update Record size greater E F D C Single record E F B A retrieval subset D D D B F بحيث hashed F B B F B حجم النتيجة: r عدد السجالت في الممف :n عدد السجالت الفائضة :o :A جيد جدا وىو مناسب ليذا الغرض =O(r) B: جيد =O(o*r) C: مقبول =O(r*log(n)) :D يحتاج بعض اإلضافات =O(n) يحتاج لمكثير من اإلضافات: E =O(r*n) :F مالئم ليذا الغرض ( O(n^>1 =غير الجدول 1 مقارنة بين االج ارئيات pile,sequential,indexed,hashed exhaustive B A B D E : اى يف دىيو File Directory تعني حاوية افت ارضية ضمن نظام الممفات والذي يمكن أن يضم الممفات والمجمدات ويقوم بتنظيميا. ىو تقريبا الممف نفسو يحتوي عمى المعمومات التالية: اسم الممف ونوعو والمنظمة التي ينتمي إلييا. حجم عنوان البداية حجم المستخدمة/المخصصة. المالك والوصول إلى المعمومات واإلج ارءات المسموح بيا. 25
تاريخ اإلنشاء الخالق مشاركة الوصول آخر وصول آخر تعديل آخر النسخ االحتياطي حك اىىطىه ىي يف )س احياث اىىطىه ىي يف(: يمنح األف ارد أو مجموعات المستخدمين حقوقا معينة لمممفات أو الدالئل حسب التسمسل اليرمي التالي: ال نعرف شيء عن وجود الممف أو دليمو. :None : Knowledge يمكن لممستخدم تحديد وجود الممف ومالكو. : Execution يمكن لممستخدم تحميل وتنفيذ البرنامج ولكن ال يمكن النسخ. : Read يمكن لممستخدم ق ارءة الممف ألي غرض. يمكن لممستخدم إضافة بيانات إلى الممف ولكن ال يمكنو الحذف. أو التعديل :Append يمكن لممستخدم وإلا الحذف التعديل ضافة إلى بيانات الممف )ربما بشكل متدرج(. : Update : Change protection يمكن لممستخدم تغيير حقوق الوصول الممنوحة لممستخدمين اآلخرين. يمكن لممستخدم حذف الممف من نظام الممفات والقيام بأي شيء آخر. : Deletion اىىطىه اى تسا ن ىي يف: عندما يتم منح الوصول )إلحاق أو تحديث ممف( ألكثر من مستخدم واحد يجب عمى نظام إدارة الممفات أو نظام الممفات فرض االنضباط من خالل نيج القوة الغاشمة )brute-force( وىو السماح لممستخدم لقفل الممف بأكممو عندما يتم تحديثو أخرى ىو بكممات قفل السجالت الفردية أثناء التحديث. تىزيغ اى يف أو اىتخظيض File Allocation الفكرة الرئيسية و ارء التخصيص أو التوزيع ىي االستخدام الفعال لمساحة التخزين والوصول السريع لمممفات. ىنالك نوعين لمتخصيص وىما توزيع مسبق أو تخصيص ديناميكي Dynamic فما الفرق Preallocation Preallocation يتم اإلعالن عن حجم الممف األقصى في وقت إنشاء الممف يكاد يكون من المستحيل تقدير موثوق لمعظم التطبيقات ومن المحتمل جدا اإلس ارف. 26
Dynamic تخصيص مساحة لممف في أج ازء حسب الضرورة. بالمقابل لتوزيع الممف تظير قيود لتوزيع الممف منيا حجم الجزء Size(.)Portion عند التكمم عن حجم الجزء الم ارد تخصيصو عمينا أن نأخذ بعين االعتبار المقايضة من خالل المساحات المستمرة في فضاء التخزين األمر الذي يزيد من األداء وسرعة الوصول إلى البيانات والعكس عند وجود عدد كبير من األج ازء الصغيرة فإن ذلك يؤدي إلى زيادة في حجم الجداول الالزمة إلدارة معمومات التخصيص وبالتالي بطيء األداء والتقميل من سرعة الوصول إلى البيانات. وتتمثل إحدى الوظائف اليامة لنظام الممفات في إدارة المساحة عمى وحدة التخزين الثانوية التي تتضمن تتبع كل من كتل األق ارص المخصصة لمممفات والكتل الحرة المتاحة لمتخصيص. المشاكل األساسية و ارء التخصيص ىي االستخدام الفعال لمساحة الممف والوصول السريع لمممفات. إدارة كتل القرص ىي مشكمة مألوفة في إدارة الذاكرة الرئيسية. ولكن التخزين الثانوي يقدم مشكمتين إضافيتين Contiguous وىما البطيء في زمن الوصول لمقرص وعدد الكتل الكثيرة من أجل التعامل معيا. وعمى الرغم من ذلك فيناك ثالثة تقنيات توزيع مستخدمة عمى نطاق واسع وىي: المستمرة. 2 Indexed Allocation المرتبطة أو ولا متصمة Linked Allocation or Chained ولا مفيرسة تقنية التوزيع المستمرة تنتمي إلى النوع األول Preallocation في حين تنتمي كال من تقنيات )Contiguous( التوزيع المتصمة والمفيرسة النوع الثاني.Dynamic allocation إلى لكل طريقة محاسنيا ومساوئيا. أثناء مناقشة است ارتيجيات التخصيص ىذه سنعتبر أن الممف عبارة عن سمسمة من القطع جميع عمميات )اإلدخال / اإلخ ارج( عمى القرص تحدث في أج ازء الكتل والتحويل من السجالت المنطقية إلى كتل فعمية يتم بواسطة البرنامج. تقنية التوزيع المستمرة: تقنية التوزيع في المستمرة يتم تعيين الممفات إلى المناطق المستمرة لمتخزين الثانوي. يحدد المستخدم مسبقا المساحة المطموبة لمممف ليتم إنشاؤه. إذا لم تكن تمك المساحة المتجاورة متاحة فال يمكن إنشاء الممف. حجم 27
وتتمثل إحدى م ازيا ىذه التقنية في أن جميع السجالت المتتابعة لمممف تكون عادة متجاورة ماديا البعض. وىذا يزيد من سرعة الوصول إلى السجالت. مما يعني أنو إذا كانت السجالت متناثرة عمى مع بعضيا فإن القرص وصوليا سيكون أبطأ وتكون عممية الوصول إلى الممف الذي تم تخصيصو بشكل متواصل أمر سيل إلى حد ما من الضروري االحتفاظ بعنوان البداية لكل ممف وحجمو إدخال الدليل لكل ممف يشير إلى عنوان بداية الكتمة وحجم وطول ىذا الممف. والشكل التالي يوضح تقنية التوزيع المستمرة. الشكل 6 تقنية التوزيع المستمرة التخصيص غير المستمر الديناميكي: ألن الممفات تميل إما إلى النمو او التقميص وألن المستخدمين ناد ار ما يعرفون مسبقا توزيع ممفاتيم وفيما إذا كانت الممفات متجاورة أم ال. يتم استبدال أنظمة تخصيص التخزين بنظم تخصيص تخزين أكثر ديناميكية وغير متجاورة. التخصيص 1. المرتبط: التخصيص المرتبط يحتوي عدد قميل من وحدات البايت من القرص لكل كتمة بحيث يكون عنوان لمكتمة التالية..8 يحتوي الدليل عمى مؤشر إلى الكتل األولى )واألخيرة( من الممف. كما ىو مبين بالشكل ممي ازتيا: بساطتو )2( ال يمزم ضغط القرص. وبسبب الطبيعة غير المتجانسة لمتخصيص فإن الربط ال ينتج عنو (1) 28 أي تجزؤ خارجي لمقرص. أي كتمة القرص عمى المساحة حرة يمكن استخداميا لتمبية الطمب ألن كل الكتل
ترتبط معا. وال توجد حاجة أيضا لإلعالن حجم الممف في التخصيص المرتبط أثناء إنشائو. لذلك من الممكن أن يستمر نمو الممف وىناك أيضا كتل مجاني. وبالتالي فإنو ليس من الضروري أبدا ضغط القرص. عيوبيا: N th الوصول البطيء المباشر ألي كتمة قرص - لمعرفة كتمة من ممف يجب أن نبدأ في بداية ىذا الممف واتباع تسمسل المؤش ارت حتى نصل إلى كتل N th ىنالك تسمسل لممؤش ارت بين كتمة البداية النياية و وبالتالي يتطمب كل ممف مساحة أكبر. الموثوقية - بما أن كتل األق ارص مرتبطة بواسطة مؤش ارت يمكن أن يؤدي مؤشر تالف واحد إلى جعل اآلالف من كتل القرص غير قابمة لموصول تتعامل بعض أنظمة التشغيل مع ىذه المشكمة من خالل تخزين مؤش ارت في ممف مخصص واصدار نسخ مكررة منو والفكرة ىي لنسخ قائمة المؤش ارت في الذاكرة الرئيسية وبالتالي تسييل إلى أسرع بشكل الوصول كتل القرص. يتم استخدام التك ارر من ممفات المؤش ارت لجعل ذلك أكثر أمانا. الشكل 7 التخصيص غير المستمر الديناميكي 2. التخصيص المفيرس: أحد العيوب مع تقنية التخصيص المرتبطة ىو أنو ال يدعم الوصول المباشر لمكتل المتناثرة في جميع أنحاء القرص. يتم حل ىذه المشكمة من خالل تخصيص مفيرس عن طريق وضع كافة المؤش ارت معا في كتمة الفيرس كما في الشكل التالي 29
الشكل 8 التخصيص المفيرس 31
ممي ازتيا: تشمل ميزة تخصيص ممف مفيرس عدم وجود تجزئ خارجي وكفاءة الوصول العشوائي. وعالوة عمى ذلك ت كون بسيولة خريطة حول كتل القرص السيئة. الفيرسة البتات map( )bit عيوبيا: فيرسة المساحة الحرة يمكن إنجازىا عن طريق خريطة العيب األساسي في الفيرسة ىو عدد م ارت الوصول إلى القرص السترداد عنوان كتمة اليدف عمى القرص. يمكن تخفيض ىذه النفقات العامة من خالل الحفاظ عمى بعض كتل المفيرس يتطمب مساحة كبيرة لحفظ المؤش ارت. مؤشر في الذاكرة. العيب الثاني ىو أن التخصيص معظم الممفات صغيرة عموما مما يثير مسألة حجم كتمة الفيرس. يجب أن يحتوي كل ممف عمى كتمة فيرس وبالتالي يجب أن يكون أصغر في الحجم. ولكن إذا كانت كتمة الفيرس صغيرة جدا فإنو لن يكون قاد ار عمى االحتفاظ بما يكفي من المؤش ارت لممف كبير وبالتالي يجب أن يكون ىناك آلية مناسبة لمتعامل مع ىذه المسألة فكان ىنالك خيار بإضافة مستويين من الفيارس الشكل التالي يوضح ماسبق. الشكل 9 التخصيص المفيرس متعدد المستويات 30
ىناك بديل يستخدم في نظام Unix وىو الجمع بين العناوين المباشرة والمفيرسة لتوفير مساحة وتوفير إمكانية 15 الوصول السريع إلى الممفات الصغيرة. Unix في يتم االحتفاظ من كتمة األولى ال بالمؤش ارت المؤشر في دليل 3 10 أول الجياز. 10 مؤش ارت تحتوي عمى عنوان مباشر من كتل لمبيانات عمى القرص. وتشير مؤش ارت التالية إلى كتل غير مباشرة. في الجدول التالي ممخص لما سبق ذكره. FILE ALLOCATION METHOD Preallocation? Fixed or variable size portions? Portion size Allocation frequency Time to allocate File allocation table size CONTINUOUS CHAINED necessary possible variable Fixed blocks large small once Low to high medium long One entry One entry الجدول 2 مقارنة بين تقنيات التخصيص INDEXED POSSIBLE Fixed block VARIABLE small MEDIUM high LOW short MEDIUM large MEDIUM توزيع الفيرسة ىو أمر أكثر تعقيدا. إذا كانت كتمة الفيرس موجودة بالفعل في الذاكرة فيمكن إج ارء الوصول مباشرة. ومع ذلك يتطمب الحفاظ عمى كتمة الفيرس في الذاكرة مساحة أكبر فإذا كانت مساحة الذاكرة غير متوفرة فسوف نضطر إلى ق ارءة كتمة الفيرس أوال ثم ق ارءة كتمة البيانات المطموبة. وبالتالي يعتمد أداء التخصيص المفيرس عمى بنية الفيرس وحجم الممف وموقع الكتمة المطموبة. بعض األنظمة تجمع بين تقنية التخصيص وتقنية المتجاورة التخصيص المفيرس باستخدام تخصيص متجاور لمممفات الصغيرة )من 3 إلى 4 كتل( وتتحول تمقائيا إلى تخصيص مفيرس إذا كان الممف ينمو بشكل كبير. وبما أن معظم الممفات صغيرة والتخصيص المتجاور فعال لمممفات الصغيرة يمكن أن يكون متوسط األداء جيد جدا. خالصة: معظم الفقر ات السابقة تتكمم عن كيفية تموضع الممفات وتقسيميا عمى القرص الصمب بصورة فيزيائية وىي معمومات جدا ميمة لفيم آلية إدارة الممفات وتقسميا وتوزعيا باإلضافة إلى صالحيات وقيود الوصول إلييا في معظم أنظمة التشغيل الفق ارت الالحقة الممفات وتقسيميا وتوزيعيا منطقيا عن طريق الشبكة. إدارة تتناول 32
قذ ت في إدارة اى يفاث وتقسي ها وتىزيؼها نطقياا ػن طريك اىشبنت: معظم المستخدمين يمجئون إلى االنترنت لتحميل ممفات مختمفة األنواع ليدف محدد أو أنو بحاجة إلى رفع ممف إلى بريد موقع معين أو إلكتروني ما لتحقيق فائدة معينة مع العمم أن ىنالك قيود عمى عممية الرفع والتحميل وىي أن الممفات ذات الحجم الكبير ال يمكن رفعيا مباشرة أو تنزيميا لذلك فيو بحاجة إلى ب ارمج معينة تقوم بتجزئتيا مثل manager ) (bit torrent, download دون أن يعمم المستخدم ما يحصل فيو يريد الممف كامال بغض النظر عن الطريقة واآللية التي يتم بيا ذلك. التحميل والرفع )Download-Upload( 3 نقل الممفات المج أزة )المعروف أيضا باسم نقل الممفات متعدد المصادر أو نقل الممفات المحتجزة( ىو النقل المنسق لممف كمبيوتر مصدره مخدمات متعددة إلى وجية واحدة. ويمكن تطبيقيا كذلك عند تحميل نفس الممف من نفس الخادم في أج ازء مختمفة. يقوم برنامج الكمبيوتر بتحميل )استرجاع( أج ازء مختمفة من الممف من مصادر مختمفة في وقت واحد ويتم جمع الممف عمى جياز تخزين البيانات في كمبيوتر الوجية. بداية استخدام تكون ربما التحميالت المج أزة تعود إلى وكالة كذلك ناسا أنظمة الممفات القائمة عمى الشريط المغناطيسي. ومع ذلك إلى الستينيات خالل الثمانينيات من القرن المنصرم كان ىناك الكثير من التجارب مع تحميل عممية الممفات وتحميل )وت ازمن( البيانات عبر عرض النطاق الترددي ووصالت االتصاالت المقيدة من قبل معظم مستخدمي الكمبيوتر المركزية الكبيرة. وبالتالي فإن أصول التحميل المج أز ليست واضحة تاريخيا. ومن المعموم أن بعض بعثات ناسا تستخدم نوعا من تقنية التحميل المج أزة. إن أول نظام (peer to peer) p2p أي تسميم المحتوى الكبير الذي نفذ نوعا من تكنولوجيا التحميل المج أز تم اخت ارعو باإلضافة لمبروتوكول الخاص بو في عام 1999 من قبل جوستين شابويسك وتم بيعيا آنذاك إلى اوبينكوال التي أصدرت البرنامج بموجب ترخيص. وىناك الكثير من المصطمحات المستخدمة في تكنولوجيا التحميل المج أز أصميا من سوارمكاست مع تورنت كونيا المساىم الميم اآلخر الوحيد في الشروط المستخدمة. 33
تأثير الشبكة تم تصميم معظم شبكات IP لممستخدمين لمتنزيل( download ) أكثر من التحميل( upload ) وعادة ما تكون 1 :3 )upload النسبة المتوقعة :download( أكثر. أو عانت معظم شركات تزويد خدمة االنترنت من ضيق الحزمة وذلك عند استخداميا من قبل 20 فقط من قاعدة المستخدمين لتقنية التحميل المج أزة لدرجة انو أصبح من الضروري إعادة برمجة أجيزة التوجيو واعادة النظر في تصميم الشبكات. فوائد الشبكة الممفات الكبيرة يمكن أن تكون متاحة بكفاءة لكثير من المستخدمين اآلخرين من قبل شخص ليس لديو عرض. النطاق الترددي الكبير ل upload يعمم معظم مزودي خدمة اإلنترنت التعامل مع تكنولوجيا التحميل المج أز ولكن. التكيف يعني النشر اإلل ازمي لحركة المرور TCP/IP محدوديات الشبكة download تكنولوجيا تقسيم ال download ال يمكن أن تحل جميع مشاكل ال بطريقة سحرية قيود فيناك رياضية عمى فعالية التكنولوجيا. سالمة البيانات يمكن لمتطبيقات البسيطة جدا التي تعتمد عمى تكنولوجيا التحميل المج أزة أن تؤدي في كثير من األحيان إلى تمف الممفات حيث ال توجد في كثير من األحيان طريقة لمعرفة ما إذا كانت جميع المصادر تقوم بالفعل بتحميل ش ارئح من نفس الممف. ىنا عنصر األمان مغيب تماما بالنسبة لممصادر التي يؤ خذ منيا الممف. 4 )Message-Digest 5( MD5 وعادة ما يفضل استخدام خوارزميات مثل خوارزمية خالصة الرسالة )تقوم األصمي( في تكنولوجيا عمى اخت ازل رسالة ذات طول متغي ر إلى طول ثابت ىو 128 بت بغض النظر عن طوليا التحميل المج أزة لضمان سالمة البيانات وىنالك خوارزميات أخرى مستخدمة لمتأكد من صحة البيانات. 34
ال upload المجزئ عمى الرغم من أنو فيما يتعمق بتورنت وغيرىا من بروتوكوالت نقل الممفات الموزعة ال يوجد فرق بين التحميل والتنزيل )كما يمكن لمعمالء القيام بو عمى حد سواء( أي أنو ال يمكن التمييز بين العميل والخادم. تعتبر نظم االتصاالت القائمة عمى قطاع الفضاء ىي الحاالت الوحيدة المعروفة عمى نطاق واسع اعتمدت عمى تكنولوجيا التحميل المج أزة. ويرجع ذلك أساسا إلى عرض النطاق الترددي المحدد والقيود األخرى عمى قطاع الفضاء. واستخدمت نظم اإلرسال واالستقبال الفضائي المباشرة إلى أنظمة االشت ارك في المنازل التي تم نشرىا في أوروبا وأمريكا الشمالية نيجا لتطوير البرمجيات عمى أجيزة العمالء عن طريق إرسال بضع بايتات فقط في وقت واحد ( 2k أو أقل( عمى مدى فترة طويمة من الزمن. عموما ىذه الطرق لمتحميل المج أزة ىي ممكية خاصة وذات صمة بأمن بطاقة SIM وآلية االشت ارك. من أشير األدوات التي تقوم بعممية التحميل وتجزئة الممفات ورفعيا ىو البت تورنت. بت تورنت Torrent) (Bit مصطمح يطمق عمى أحد بروتوكوالت مشاركة الممفات عبر االنترنت والمسماة الند لمند أو النظير لمنظير أو ما يعرف بالمغة اإلنجميزية (Peer-to-Peer) ويسمح بروتوكول بت تورنت بتبادل الممفات بين المستخدمين دون مخدم (Server) وجود وسيط عدا المتتبع (Tracker) وىو برنامج عادة ما يكون مستضاف عمى والذي يتكفل بتنسيق عممية االتصال ما بين النظ ارء )المستخدمين(. كل نظير يقوم بتحميل (Download) البيانات وفي نفس المحظة يقوم برفع (Upload) البيانات إلى النظ ارء اآلخرين. 2001 في ابريل )نيسان( من العام قام المبرمج ب ارم كوىين Cohen) (Bram بتصميم البروتوكول وتم تطبيقو (Bit Torrent, Inc) 2001 ألول مره في 2 يوليو )تموز( وىو مدعوم من شركة كوىين والمغة المستخدمة في برمجة البروتوكول ىي لغة بايثون (Python). 35
كيفية عمل البروتوكول: يسمح برتوكول البت تورنت بتبادل الممفات كبيرة الحجم عبر اإلنترنت دون التعرض لمشاكل كثرة الطمبات والضغط التي تتعرض ليا المخدمات العادية كما أنو يسمح لألجيزة ذات الموارد الضعيفة )كاليواتف الذكية مثال ( بالمشاركة في عممية تبادل البيانات ذات الحجوم الكبيرة. الشكل 11 بت تورينت الشكل السابق في األشرطة الممونة تحت كل من العمالء السبعة تمثل الممف فكل لون يمثل قطعة واحدة يتم توزيع ىذه القطع بشكل عشوائي بين العمالء كما أن المزود األولي لمممف )العميل األكبر أسفل الشكل( يحتاج فقط إلرسال الممف مرة واحدة فقط مبعث ار قطعو بين العمالء ثم يكمل بقية العمالء عممية التبادل فيما بينيم. تقوم فكرة ىذا البروتوكول عمى تقسيم الممف الكبير إلى عدد محدد من األج ازء الصغيرة المتساوية في الحجم (32KB, 64KB, 128KB, 256KB, 512KB, 1MB, 2MB, تسمى قطع( Pieces ) وليا حجوم قياسية. 16KB كما أن ىذه القطع بدورىا محددة بأقسام أصغر يمثل كل قسم 4MB, 8MB) ثم يتم توزيع ىذه القطع بين المستخدمين بشكل عشوائي وكمما ازد عدد المستخدمين الذين يتبادلون الممف نفسو كمما ازدت الفرص بالحصول عمى سرعة أكبر وزمن أقل في الحصول عمى الممف كامال. ال بد من وجود وسيط بين المستخدمين يقوم عمى تنسيق عممية التبادل بين المستخدمين ويسمى المتتبع 36 المتتبع (Tracker) ويعمل عمى تسجيل معمومات عن عدد المستخدمين الكمي النظ ارء( Peers ) عدد
المستخدمين الذين يممكون الممف كامال )مزودو الممف( Seeders )( عدد المستخدمين الذين ما ازلوا يحممون الممف ولم يكتمل (الم حم مونLeechers ) عدد م ارت اكتمال تحميل الممف كما يقوم بتسجيل عناوين المتتبع النظ ارء ليسيل عمييم االتصال ببعضيم. ليكن ممف بحجم.torrent في البداية يجب إنشاء ممف بالحقة 3520MB باستخدام أحد الب ارمج المختصة MB بالتعامل مع ىذه التقنية مثل μtorrent وأثناء إنشائو يتم تحديد حجم القطعة وليكن 4 عندئذ سيج أز الممف (1024*4)/16=256 إلى 3520/4=880 قطعة وكل قطعة تتألف من قسما. 881 لو كان حجم الممف 3521MB عندئذ : 4/3521=880.25. إذا سيجز أ الممف إلى قطعة وكل قطعة 3524 MB 4 MB 4 بحجم MB مما يؤدي إلى زيادة حجم التحميل بمقدار تقريبا أي أنك ستقوم بتحميل ولكن الممف األصمي يبقى كما ىو دون أي تعديل. وأيضا أثناء إنشاء الممف يجب تحديد عنوان المتتبع. لمبدء بمشاركة ىذا الممف يجب توزيع الممف ذو الالحقة.torrent عمى المستخدمين ال ارغبين بالحصول عمى الممف األصمي يمثل المستخدم الذي يممك الممف األصمي في البداية المزود األولي لمممف( Seeder (Initial ثم يبدأ بقية المستخدمون باالتصال بو وبدء عممية التحميل وكل منيم في ىذه الحالة يسمى 'م حم ل (leecher) ' ويتم توزيع القطع بشكل عشوائي بين المستخدمين مما يسمح لكل مستخدم بتحميل القطع غير المتوفرة لديو من مستخدم آخر يممكيا حتى لو لم يكن كال المستخدمين قد أكمل تحميل الممف كامال. عند اكتمال تحميل الممف لدى أحد المستخدمين يتحول دوره من م حم ل Leeacher إلى مزود لمممفSeeder وتقاس "صحة" ممف التورنت بعدد المزودين المشتركين في الحشد الكمي( Swarm ) أي بعدد نسخ الممف الكاممة المتوفرة. تسمح ىذه التقنية بنشر نسخ كثيرة من الممفات الكبيرة خالل وقت قصير وبدون ضغط عمى المزود األول لمممف )الذي ربما يقوم بتوزيع الممف لمرة واحدة فقط( كما يمكن أن يعيش ممف التورنت لسنوات طالما ىناك من يزوده. ممف التورنت لمشاركة ممف أو عدة ممفات باستخدام بروتوكول بت تورنت ال بد من إنشاء ممف بالحقة.torrent مثال somefile.torrent) ) يسمى ىذا الممف: ممف التورنت أو اختصا ار التورنت. يحتوي ىذا الممف عمى قسمين أساسيين األول ىو قسم اإلعالن Announce وفيو يحفظ عنوان المتتبع والثاني 37 ىو قسم المعمومات Info ويحتوي عمى أسماء الممفات وحجميا وعدد القطع الكمي باإلضافة إلى ىاش
SHA-1 خاص بكل قطعة باستخدام التابع SHA-1 )خوارزمية أفضل الخوارزميات التي تستخدم (Hash) نظام البعثرة وىي تستخدم في الكثير من التطبيقات األمنية ومنيا OpenPGP وىي تعتمد عمى فكرة التشفير Bit Torrent باستخدامMD5 التي سبق ذكرىا ( البرنامج العميل يبحث في ىذين القسمين لدى إضافة ممف التورنت إليو ليبدأ عممية المشاركة. يقوم العميل بعد االنتياء من تحميل كل قطعة بالقيام باختبار االكتمال مستفيدا من الياش المسجمة في ممف التورنت وذلك لضمان التحميل الخالي من األخطاء وفي حال فشل االختبار يتم إعادة تحميل ىذه القطعة من جديد وىذا أحد أسباب زيادة حجم التحميل عن الحجم المحدد لمممف. كمما صغر حجم القطعة الواحدة كمما كانت عممية المشاركة أكثر فاعمية وبالمقابل يزداد حجم ممف التورنت. لماذا بت تورنت ) يختمف بروتوكول البت تورنت عن الطرق األخرىHTTP ( FTP و في عدة نقاط أساسية : ينشئ البت تورنت عدة طمبات صغيرة الحجم عبر بروتوكول TCP متصال بعدة نظ ارء بينما في الطرق العادية األخرى يتم إنشاء طمب وحيد عبر بروتوكول TCP موجو إلى طرف وحيد. يحمل بروتوكول البت تورنت بطريقة عشوائية أو بطريقة "النادر- أوال " مما يرفع مستوى التوافرية بينما الطرق األخرى تحمل بطريقة تسمسمية. ىذه النقاط تجعل برتوكول البت تورنت يستيمك القميل من موارد المزودين ويعطي توافرية عالية لمممفات المشاركة كما يتخمص من مشاكل الضغوطات العالية التي تتعرض ليا المخدمات العادية. إال أن ليذا البروتوكول بعض نقاط الضعف نظريا : الوصول لمسرعة القصوى لمتحميل قد يأخذ بعض الوقت نظ ار لموقت الذي تستغرقو عممية االتصال بالنظ ارء كما يمكن أن تتغير السرعة أثناء عممية التحميل صعودا وىبوطا تبعا لحالة االتصال بالنظ ارء بينما في الطرق األخرى يتم الوصول إلى السرعة القصوى في وقت قصير كما تبقى السرعة ثابتة طوال فترة التحميل. تحميل ومشاركة ممفات التورنت يقوم المستخدم باستع ارض اإلنترنت إليجاد ممفات التورنت التي توافق رغباتو ثم يقوم بتحميميا وفتحيا بأحد الب ارمج الداعمة لصيغة التورنت ومن ىذه الب ارمج والتي تعرف بالعميل Client) (The حيث (bittorrent) 38
يوصمو ىذا البرنامج بالمتتبع المسبق تحديده في ممف التورنت فيتسمم قائمة بالنظ ارء الذين يتبادلون أج ازء ممفات التورنت المحدد. يصبح المستخدم في ىذه الحالة نظير ىو اآلخر يتشارك أج ازء الممفات مع قرنائو. كل مجموعة من النظ ارء تتشارك في أج ازء ممف التورنت تسمى الحشد او (Swarm) من أمثمة الب ارمج الداعمة لمتورنت (The Client): BitTorrent, µtorrent, BitComet, KTorrent, Azureus,Deluge, Free Download Manager and BitLord 5 ثاىثاا:األنظ ت اى ىزػت أنظمة الكمبيوتر تطورت بشكل كبير جدا وصوال إلى الوقت ال ارىن التطور األول: ىو تطوير المعالجات في 1980 من 8 بت إلى 64 بت. وكانت نقاط القوة ليذه الحواسيب أنيا أصبحت حواسيب مركزية المعالجة حيث أصبحت تكاليف معالجة األوامر منخفضة. التطور الثاني: ىو استخدام الشبكات المحمية ذات السرعة العالية مع عدد كبير من العقد )nodes( األمر الذي أدى إلى وصول سرعة نقل البيانات إلى 1Gbps بل و ازد عن ذلك. وفي نياية ىذه التطو ارت أصبحت األنظمة الموزعة تستخدم أجيزة حاسوبية متعددة المعالجات مع شبكات ذات سرعة عالية بدال من استخدام جياز حاسوبي كبير وقوي يممك معالج واحد. وقد تم اول تطوير ألنظمة الموزعة في عام 1970 وكان ىذا النظام (DFSs) Distribution File Systems مرتبط بنظام التخزين FTP من حيث الييكمية ولكن بقي ىذا النظام محدود االستخدام والسبب في ذلك الوقت ىو مساحات التخزين الضعيفة. تقوم بمعالجة البيانات المولدة عمى منصات البيانات الرقمية. ويتم التنفيذ بأمان وكفاءة وسرعة. DFSs عندما تنمو البيانات بشكل سريع والوصول إلييا يصبح سريع أيضا األمر الذي يؤدي إلى نمو موارد التخزين.Big Data وتطويرىا لتصبح أكثر كفاءة وقدرة عمى تحمل ىذا الكم اليائل من البيانات وىنا ظير مصطمح وأشير مثال عمى األنظمة الموزعة ىي النظم السحابية حيث يتم تخزين ممفات DFSs عمى.Cloud Systems (client) ويتم واحد او أكثر من الحواسيب كل منيا يدعى خادم )server( وأجيزة الكمبيوتر تدعى عمالء 6 الوصول إلى تمك الممفات كما لو كانت ممف واحد. 39
اليياكل المستخدمة في األنظمة الممفات الموزعة: اليدف العام من تصميم DFS ىو استخدام أقل لموارد األجيزة المحمية من خالل تقاسم موارد تمك األجيزة واالستفادة من منيا في إدارة الممفات وىذا مفيد جدا في التصميم العام. في حين تم تصميم DFS لتوفير خدمات الممف لمعميل في ىذا الييكل يستخدم العمالء الواجيات إلنشاء الممفات وحذف الممفات وق ارءة الممفات وكتابة الممفات واج ارء عمميات الدليل. قد يكون نظام التشغيل المستخدم لتنفيذ ىذه 7 العمميات نظام تشغيل موزع او طبقة وسيطة بين نظام التشغيل ونظام الممفات الموزع. : تستند بنية DFS إلى ثالث ىياكل 1 -ىيكمية مخدم-عميل The Server-Client based architecture DFS بنية client server استخدمت عمى نطاق واسع في والتي تتكون من نموذجين الشكل 11 ىيكمية client-server النموذج األول: ىو نموذج الوصول عن بعد. في ىذا النموذج يوفر العميل واجية مع عمميات الممفات المختمفة. يتم تنفيذ العمميات من خالل ىذه الواجية. ويجب أن يستجيب الخادم ليذا الطمب. النموذج الثاني: ىو نموذج التحميل / التنزيل 8 عمى عكس نموذج العميل / الخادم في ىذا النموذج يقوم العميل بتنزيل الممف الذي ستتم معالجتو من قبل العميل محميا. يتم استخدام نموذج الخادم/العميل من قبل NFS وأصبحتNFS أكثر استخداما في الوقت ال ارىن. 41
2- الييكمية المعتمدة عمى التجميع Clustered based architecture في ىذه الييكمة ال يوجد خادم واحد وانما يوجد أكثر من خادم ولكن أحد ىذه الخوادم ىو الخادم أساسي يدعى master server الخادم األساسي يحتفظ metadata لمبيانات أما الخوادم األخرى )chunk( تتعامل مع العميل ومن الممكن أن يتعامل مع خادم ثانوي) chunk ( مع أكثر من عميل األمر الذي يودي إلى معالجة كم ىائل من البيانات ىذه 9 البنية مستخدمة في system) GFS (Google file الشكل 12 ىيكمية google file system architecture 3 -الييكمية المتناسقة Symmetric في الييكمية السابقة لم تكن ىنالك طبقة تخزين موزعة لذلك يتضح لنا أن الفرق األكثر أىمية بين خوادم DFS مع ىو إذا كانت تقوم بإنشاء نظام الممفات عمى طبقة تخزين موزعة أو أن يتم تخزين symmetric architecture كافة الممفات في nodes التي تم إنشاؤىا. تتكون ىذه الييكمية من ثالث طبقات منفصمة: الطبقة االولى ىي مميزة البحث الالمركزية األساسية. الطبقة الوسطى عبارة عن طبقة تخزين موزعة بشكل كامل. الطبقة العميا ىي طبقة تنفذ نظام الممفات. 40
معايير التصنيف المتبعة لتصميم النظام الموزع لدى DFSs عدة تصنيفات تؤثر عمى صفات الخادم وفيما يمي أىم ىذه التصنيفات: : التسامح في الخطأ Fault Tolerance عندما يصبح أي جزء من الموقع الموزع تالفا فإنو يتم التسامح دون أن يشعر العميل بذلك. : الشفافية Transparency بالنسبة لمعميل فانو يرى النظام الموزع كأنو مخدم واحد وىذا المعيار األكثر أىمية عند عممية التصميم. التك ارر : Replication يتم إنشاء أكثر من نسخة لمممفات المخزنة وتخزينيا في النظام الموزع وىنا يأتي مصطمح الموثوقية وىو عندما يتم تمف ممف ما ضمن النظام فان ذلك لن يدمر شيء ولن يؤدي إلى أي عطب في المنظومة ألنو يحوي أكثر من نسخة وسيولة استرجاعيا من. أبسط ما يكون : الت ازمن Synchronization بما أننا أنشانا أكثر من نسخة لمممف عمى أكثر من server فأي تعديل عمى إحدى النسخ يجب أن يتم عمى باقي النسخ. التسمية : Naming األسماء كميا مصادر في النظام الموزع فينالك يوجد الحواسيب والمخدمات وال objects البعيدة يقوم النظام الموزع بجعل أسماء الكيانات متناسقة. )DFS( األنظ ت اى ىزػت اىشهيرة Distributed File Systems أنظمة الممفات الشبكية (NFS) Network File System 10 Sun Microsystems 1984 بدأ تطوير NFS في عام من قبل شركة باستخدام أنظمة UNIX 42
الشكل 13 نظام الممفات الشبكية NFS وىي تستخدم إج ارئية RPC remote procedure call لمتواصل بين العميل الخادم آخر إصدار ىو اإلصدار ال اربع. ىيكل التصميم األساسي ىو التنفيذ الموزع لنظام الممفات UNIX الكالسيكي. ويتم استخدام نظام الممفات الظاىري الذي يعمل كطبقة وسيطة ىذا يسمح لمعمالء لمعمل بسيولة مع أنظمة الممفات (Virtual file system) المختمفة. نظام التشغيل عبارة عن استدعاءات متداخمة بين نظام التشغيل ونظام الممفات الموزع كما ويمكن إرسال أكثر من أمر واحد من RPC في اإلصدار األخير. التسامح باألخطاء عالي عمىNFS 11 حيث يتم االحتفاظ بمعمومات حول حالة الممفات. وفي حال حدوث خطأ من العميل يتم إعالم الخادم. ال يتم النسخ المتماثل عمى NFS وانما يتم نسخ النظام بأكممو ويتم التخزين في الذاكرة المؤقتة ومقارنة بالنسخة الموجودة عمى الخادم فإذا كانت األوقات مختمفة يتم تعديل الممف وتجاىل ذاكرة التخزين المؤقت كما أن NFS ال يستخدم أسموب الم ازمنة ألنو ال يتم نسخ الممفات المتماثمة ويتم تنفيذ العمميات عمى خادم واحد وىذا ما يسمى نموذج upload-download وتتم اآللية وفق اآلتي: 43
ترسل البيانات التي أجري عمييا آخر تعديل إلى الخادم وعندما يرغب العميل أن يفتح ممف ما مخزن مؤقتا في الذاكرة فيتم التحقق من الممف المخدم كون الممف المخزن في الذاكرة مقفل وبالتالي يتم تحقيق االتساق بيذه )directory( الطريقة وال objects تتم مشاركتيا في حالة واحدة وىي أن تكون ضمن ممف جزء من دليل أو في NFS الجياز إما خادم أو التطبيقات تتم مشاركتيا عبر الخادم وال 14-13 النظام الموزع CEPH تحتاج إلى تثبيت عمى القرص المحمي وبالتالي يمكن أن يكون 12 عميل عمى حد سواء ونتيجة لذلك فان كمفة التخزين تنخفض بشكل كبير. ىو كود مفتوح المصدر قائم عمى النظام الموزع المعتمد عمى object-based حيث ازدادت شعبيتو بشكل كبير. 2014 Red hat 2006 التقرير األول Weil et al تم من قبل في عام وتم ش ارء ىذا النظام من قبل في عام Giant وتم تطوير 7 إصدا ارت ليذا النظام وآخر نظام ثابت ىو حيث يقدم ثالث ىياكل مختمفة لمتخزين وىي أىم سمة في نظام CEPH ىي الموثوقية file system block-base storing object-based storing.scalability لمتوسع ولا قابمية reliability metadata ىي عبارة عن معمومات عن الداتا المخزنة وبشكل عام األنظمة الموزعة تقوم بتخزين Metadata CEPH في خوادم منفصمة وال يمكن الوصول إلى البيانات إذا كانت Metadata غير متاحة ولكن نظام ال Controlled يستخدم خادم منفصل لالحتفاظ بال Metadata وانما يستخدم خوارزمية خاصة بو تسمى (. CRUSH)Replication Under Scalable Hashing حيث أن العميل يستخدم تمك الخوارزمية لتحديد وق ارءة موقع مجموعة البيانات )dataset( لذلك لم تعد ىنالك. مشكمة في metadata وكيفية الوصول ليا Ceph DFS يتم توزيع أكثر من نسخة عمى الخوادم وبالتالي يتم تحقيق التك ارر بيذه الطريقة ووفقا العمل فان CEPH تقدم أداء جيد جدا لعمميات الدخل -الخرج. لقياسات حجم إن ىذا النظام الموزع لديو القدرة عمى إدارة بيانات metadata بشكل عالي جدا قد يصل عدد العمميات في الثانية الواحدة إلى 250000 عممية فمن الممكن دمجو في بيئات أخرى كالسحابة أو األنظمة االفت ارضية.)OpenStack, Cloud Stack, VMware( 44
الشكل 14 نظام CEPH أنظمة الممفات الموزعة (HDFS).Hadoop Distributed File System MapReduce يستخدم لغة البرمجة JAVA وىيكمتو تعتمد عمى حيث يسمح ىذا النظام إلى تحميل وتحويل كم 15 ىائل من البيانات الشكل 15 نظام Hadoop 45
HDFS يعتبر 16 ترددي عالي جدا. نظام موثوق جدا لتخزين بيانات كبيرة جدا وتأمين تدفق تمك البيانات إلى العميل مع عرض نطاق ويقوم بعمل نسخة احتياطية لمبيانات فإذا حدث أي 17 فقدان لمبيانات فان ذلك لن يؤثر عمييا بشيء وانما يتم نسخ تمك البيانات من عقدة أخرى وبالتالي تبقى البيانات آمنة كذلك ىذا النظام قابل كميا لمتوسع ألبعاد تصل إلى.18petabyte HADOOP مستخدم في العديد من الشركات الصناعية الكبيرة وكذلك األكاديمية منيا yahoo, Facebook, 19 Twitter, LinkedIn, ebay, AOL, Alibaba, Adobe, IBM أيضا العديد من الشركات تستخدم اليوم األنظمة الموزعة حيث يتم استخداميا في الشركات الكبيرة والصغيرة والمشاريع ومع نمو البيانات بشكل كبير جدا فإن الحاجة ممحة لتمك األنظمة حيث تقدم إدارة وأداء وتخزين تمك البيانات وخصوصا.BIGDATA كما أن تخزين البيانات في األنظمة السحابية ىو خدمة جزئية من نظام الممفات الموزع يستخدم subservice.hardware and software بيئة UNIX حيث يعتمد عمى تخزين وادارة البيانات الكبيرة ومشاركة الموارد الميزة األساسية في إلى خادم أنو ال يحتاج يوضع عميو ال metadata ىذه الميزة تجعل من النظام CEPH أكثر وضوحا وثقة ويعالج.BigData أكثر من فقد أصبح مطور وأكثر من 50 شركة مؤيدة ليذا النظام حيث انو مثالي لمشركات ذات المي ازنيات 200 المنخفضة أماHADOOP يستخدم لمبيانات الكبيرة وىو من أكثر األنظمة المستخدمة في الوقت الحالي حيث يحوي عمى العديد من الخوادم الموزعة والتسامح في األخطاء يجعل منو نظاما أمنا وقابال لمتوسع بشكل كبير فيو مستخدم في تكنولوجيا السحابة التي تعتمد عميو اعتمادا كبي ار في الوقت ال ارىن وىو الذي سيطغى عمى األنظمة األخرى في المستقبل 46
مهخص انفصم الد ارسة في طريقة كونيا : المرجعية ىذه استع ارض تم أساس التقسيم في معظم التحميل والرفع المتبعة حاليا تقنيات التقسيم المتبعة فيزيائيا أنظمة التشغيل الموجودة حاليا وفوائد الشبكة وتأثي ارتيا عمى تمك التقنيات عمى القرص الصمب وفيميا فيزيائيا أي عمل الن ثم وم ازيا وعيوب تم استع ارض يتعمق بالممفات بحاجة كل تقنيات إلى ىذه المفاىيم كذلك تم استعر اض األنظمة الموزعة المستخدمة حاليا بمحاسنيا ومساوئيا وتعقيداتيا. من خالل الد ارسة تم التطرق إلى نموذج التورنت وىو النموذج الذي يعتمد عمى التقسيم والتوزيع عمى أكثر من مستخدم ولكن ىذا التقسيم لم ي ارعي حساسية الممفات وطبيعتيا وطبيعة بنك المعمومات المؤسساتي كونو موجو بشكل عام لجميع المستخدمين لذلك فإن اليدف ىو في معظم المتبعة النماذج تعديل أنظمة التقسيم وتكوين نموذج معدل ي ارعي طبيعة الممفات وحساسيتيا. 47
48
اىفظو اىثاىث اىن ىرج اى قترذ معظم التطبيقات التي تعتمد عمى تقسيم الممف إلى أج ازء وتقوم باسترجاع تمك األج ازء تعتمد بشكل أساسي عمى حجم الممف وتقوم بالتقسيم عمى أساسو ولكن الت ارعي خصوصية تمك الممفات وطبيعة المؤسسة وكون عممنا يندرج في بنك معمومات مؤسساتي فيذا يحتم عمينا ان ننطمق من خصوصة المؤسسة وفيم طبيعة الممفات الموجودة فييا لذلك قمنا بتصميم نموذج ي ارعي توصيف تمك الحالة حيث انطمقنا من الممف وقمنا بالتقسيم عمى أساس متطمبات Organization rule and المؤسسة وىي requirement تسمى ماىي Organization rule and requirement عند إج ارء التقسيم واالسترجاع ففي أي نموذج نظري فإننا نحتاج إلى محددات لعمل التقسيم ففي البت تورنت عممية التقسيم تستند عمى حجم الممف وفي العديد من الب ارمج المستخدمة والشائعة جدا فان السبب األساسي لمتقسيم واالسترجاع ىي الحجم وال ي ارعوا ماىية الممفات وطبيعتيا في النموذج المقدم الحجم ليس الوحيد ذو قيمة وانما ىنالك محددات أخرى تطمبيا المؤسسة ونحن نعمل ضمن بنك معمومات مؤسساتي وىذا بالضرورة يحتم عمينا أن نحرص كل الحرص عمى طبيعة البيانات وال ننشرىا كيفما اتفق وانما ىنالك محددات عمينا النظر إلييا جيدا قبل الشروع في التقسيم وىذه المحددات ىي سرية المعمومات حماية الممف نوع الممف المدروس حجم الممف باإلضافة لعدد األقسام المجزئة وىل الممف متاح لمجميع أم انو ممف عام بإمكان أي شخص أن يحصل عميو ممف يتم تقسيم عندما فإنو يخضع لمقواعد الناظمة لو وىي حجم الممف ونوعو وسريتو وعدد األج ازء الم ارد تقسيمو إلييا وخرج ىذه المرحمة ىو عدة ممفات من الممف األصمي طبعا. تمك األج ازء تدخل إلى مرحمة االسترجاع في حال طمبو من أحد المستخدمين فعمينا أيضا أن ن ارعي تمك القواعد قبل الخوض في عممية االسترجاع وتتم عممية االسترجاع لكل األج ازء وليس لبعض األج ازء وىنا تأتي المساىمة الفعمية في ىذا البحث. 49
Organization Rule and Requirement Organization Rule and Requirement F1 File Fragment F2 Defragment File FN الشكل 16 النموذج المقترح من خالل النموذج السابق فان الممف يدخل إلى مرحمة التقسيم بناءا عمى المحددات أنفة الذكر ويتم تقسيمو إلى عدد من القطع ومن ثم يعاد تجميع تمك القطع بناءا أيضا عمى تمك المحددات. ىيكمية النظام المستخدمArchitecture System Rule1 مرحمة التقسيم Fragment Rule 2 Rule 3 Policy file partition security distribution management الشكل 17 ىيكمية النظام المقترحة لمرحمة التقسيم 51
في البداية عندما يأتي ممف ميما كانت حجمو أو الحقتو فانو يدخل إلى النموذج الرياضي السابق وتتم المعالجات اآلنية في كل مرحمة. في كل مرحمة ىنالك دخل وخرج خرج المرحمة السابقة ىو دخل لممرحمة التالية والممف األساسي يدخل إلى النموذج الرياضي ضمن م ارحل سنقوم بتوصيفيا وفق ما يمي: وفييا يتم تحديد خصوصية الممف أي تحديد فيما إذا كان الممف سري أم ال فإذا كان سري فانو يدخل Partition security إلى مرحمة ال security وينفذ السياسات المطبقة عمى أما إذا كان غير سري فإن مرحمة ال security إلى تتحول جسر عبور فقط. بعد التعرض لمقواعد السابقة فإننا نقوم بتقسيم الممف إلى عدد من األج ازء أو ال نقوم بالتقسيم مطمقا وذلك اعتمادا قواعد التقسيم عمى.. وخرج مرحمة Partition ىي عدة ممفات مقسمة أو الممف بحد ذاتو دون أن يخضع لمتقسيم ىنالك سياسة أمن عندما يشار عمينا م ارعاتيا إلى الممف انو سري وىي في تطبيقنا الحالي من :Security المخول استع ارض الممف أي أن الممف متاح لمجميع أم غير متاح. عن التكمم عن خصوصية الممف ىنا لدينا خيارين األول ىل ىو عام ىذا يقتضي الذىاب مباشرة مرحمة التوزيع إلى الثاني ىنا نقوم بتطبيق سياسات أمن في مرحمة ال security مكون سياسة أن حيث يفرض وال عام األمن سياسة معينة وبالتالي يمكن تطبيق أي سياسة ليا أي تعقيد في ىذه المرحمة عمى ذلك: أمثمة سياسة الصالحيات مع منظومة لتحقيقيا. سياسة توقيع رقمي بمعنى أن الممف خاص يتم تحقيق من سيوقعو وكيفية التحقق من التوقيع عند االسترجاع. سياسة تشفير بمعنى أن الممف الخاص يمكن تشفيره بخوارزمية محددة مع بروتوكوالت إلدارة المفاتيح 50
:Distribution دخل ىذه المرحمة عبارة عن ممف أو عدة ممفات باإلضافة إلى معمومات مؤقتة )مخزنة ضمن )Buffers من الم ارحل السابقة أما خرجيا فيو عبارة عن مسا ارت الممفات المجزئة والمعمومات السابقة. :Management ىي عبارة عن إدارة المعمومات المخزنة مؤقتا في الم ارحل السابقة وتخزينيا أي ىي عبارة عن إدارة Metadata وجميع المعمومات السابقة المخزنة مؤقتا يتم االستفادة منيا وتأطيرىا في إطارىا الصحيح واىمال ما يمكن إىمالو لكي ال يصبح لدينا أحجام كبيرة لمتخزين ويصبح حجم الممف اكبر من حجم الممف األصمي لذلك لجئنا إلى التخزين المؤقت. مرحمة االسترجاع Defragment وىي عممية استرجاع الممفات المجزئة والموزعة وتتم وفق ما يمي: Metadata عندما يطمب مستخدم ممف معين فانو يدخل إلى مرحمة ال Management وىي لمممف المطموب فإذا كان الممف غير متاح لممستخدم الحالي فإنو يعتذر عن إج ارء العممية المطموبة كونو غير متاح لو مرحمة الAggregation : وىي عممية تجميع مسا ارت الممفات المج أزة لمممف األصمي وىي العممية المعاكسة لعممية Distribution من مرحمة Management ىنالك بعض الممفات متاحة جزئيا أي أن بعض األج ازء متاحة لمجميع وبعض األج ازء غير متاحة فعند التجميع يقوم بالتأكد من تمك المعمومات وتجميعيا لممستخدم وعرض الجزء المتاح لو فقط مرحمة ال :Merge وىي دمج الممفات من المسا ارت المختمفة لمحصول عمى الممف األصمي Security في مرحمة ال Fragment ىنالك مرحمة وفييا يتم معرفة فيما إذا كان الممف متاح أما عند ال أم Management مرحمة Defragment فال حاجة لذلك كون مرحمة تحوي معمومات عن كافة أج ازء الممف وعن سريتيا. ىنالك بعض الخوارزميات تقوم باسترجاع الممف كامال من بعض أج ازءه وىذه العممية خطيرة جدا بالنسبة لنا ألننا نحرص كل الحرص عمى بقاء سرية األج ازء لدينا لذلك ال يمكن أن نعرض الممف بدون الحصول عمى كل جزء من أج ازءه. 52
manegment Aggregation merge file الشكل 18 ىيكمية النظام المقترحة لمرحمة الدمج مالحظة: في مرحمة التقسيم ىنالك مرحمة Security وفييا يتم معرفة فيما إذا كان الممف عام أم ال أما عند مرحمة التجميع فال حاجة ليا كون تطبيقنا ناقش فقط خصوصية الممف ولكن عند تطبيق سياسة امن معينة كالتوقيع الرقمي أو إدارة الصالحيات فيو بحاجة إلى د ارسة مستقبمية. 53
اىتنديس قذ ت تم تصميم النموذج لتطبيقو في بيئة العمل لحل مشكمة حقيقية نواجييا في مجال عممنا لذا تم تنجيز النموذج كنموذج برمجي يدل عمى إمكانية تحقق ىذا النموذج في بيئة عمل حقيقية لذلك تم إثبات صحة النموذج المقترح من خالل تطبيق عممي عبارة عن موقع الكتروني يتم من خاللو اج ارء اختبار لعممية التقسيم والتجميع تم اعتماد بيئة MVC-ASP.NET لما تقدمو من تسييالت برمجية ومكتبات تساعد عمى سرعة وسيولة في تطوير المواقع حيث سنقدم شرحا مختص ار في البداية نعرف من خالليا أىمية ىذه البيئة. اهي MVC-ASP.NET ت عتب ر ال ) (ASP.Net لغ ة برمجة من تصميم شركة مايكروسوفت من أجل تطوير الب ارمج أو ىي آخر عممي ة تطوير إلصدا ارت التكنولوجيا من مايكروسوفت في عممي ة برمجة الصفحات لمخادم النشط Pages) (Active Server تقوم عمى بناء التطبيقات في اإلنترنت سواء مواقع ثابتة أو ديناميكية. ال مفيوم (Models-Views-Controllers) MVC لكل جزء وظيفة. :Models ىي الطبقة المسؤولة عن التعامل مع قواعد البيانات. :Views ىي الطبقة التي تمثل واجية التطبيق وىو الجزء المرئي من التطبيق والذي يظير لممستخدم ويتضمن في العادة أكواد التصميم. :Controllers تمثل ىذه الطبقة حمقة الوصل التي تربط ما بين طبقة البيانات Models وطبقة الواجية.Views ASP.NET ومفيوم ال MVC عمى ليس حك ار وانما ىذا التقنية مستخدمة في لغات برمجة أخرى مثل PHP 54
خريطت اىنىد اىبر دي الشكل 19 خريطة الكود البرمجي لتقسيم ودمج الممفات في المخطط السابق يوجد Home Controller وىي الصفحة الرئيسة التي تتحكم بما يعرض لممستخدم تحوي.Client Upload بداخميا مجموعة من اإلج ارئيات Server Merge أىميا و Client Upload يقوم المستخدم برفع ممف Server إلى عن طريق ىذه اإلج ارئية ولكن عممية الرفع لن تتم مباشرة ىنالك قيود وانما عمى تمك العممية وىي "كما تم توضيحيا سابقا في ىيكمية النظام في مرحمة التقسيم" سؤال المستخدم فيما إذا كان ىذا الممف سري أم ال لنحصل عمى المعمومات التي سنستخدميا الحقا في عممية الدمج. وعممية الرفع ليست 55
لمممف كامال بتقسيم الممف تتم العممية وانما األخذ بعد أج ازء إلى بعين االعتبار المعمومات المتعمقة بطبيعة الممف. Server merge تقوم ىذه اإلج ارئية بعممية الدمج لألج ازء المقطعة بعد جمع المعمومات حول مسا ارت األج ازء وطبيعة تمك الممفات. أن حيث class_utils يحوي عمى اسم الممف عدد األج ازء حجم الممف الممفات ومسا ارت الممفات المؤقتة. كما يوجد كالسين تحكم وىم كالس Controller( )Manage اإلدارة الذي يقوم بعممية المعمومات الواردة إدارة من الممف و) Controller )Account بإدارة الذي يقوم الحسابات لممستخدمين. ىنالك مسألة ميمة لمغاية وىي Server العمميات تتم عمى أن وال تتم عمى جياز المستخدم فعممية التقطيع والتوزيع لن أي تأخذ حجم لمتخزين عمى جياز المستخدم. Users Register And Users Login تسجيل الدخول لمموقع باإلضافة الى تسجيل مستخدم جديد الشكل 21 خريطة الكود البرمجي لممستخدمين 56
في خريطة الكود البرمجي ىنالك اثنين من Register View Model And Login View وىي النماذج يقومان بعممية التسجيل لممستخدمين باإلضافة لمسماح ليم بالدخول الموقع وىنالك إلى األىم النموذج Model وىو موديل Security Model بإدارة الذي يقوم الممفات من حيث السرية وىل الممفات متاحة لمجميع أنيا أم عامة لجميع المستخدمين. 57
مهخص انفصم : في ىذا الفصل تم التعرف عمى النموذج الرياضي المقترح باإلضافة لييكمية النظام لمتقسيم وىيكمية النظام لمتجميع كما تم التعرف في مرحمة التنجيز عمى بيئة العمل التي تم عمييا تنفيذ المشروع. أىم تم سرد كذلك اإلج ارئيات التي استخدمت في المشروع لمحصول عمى الغرض المطموب وىو اآلمنة اإلدارة لتجزئة الممفات الموزعة. 58
59
اىفظو اىرابغ الختباراث واىنتائح اىؼ ييت الفصل ىذا في سيتم عرض مجموعة من االختبا ارت إلثبات إمكانية تحقيق النموذج المقترح في بيئة بنك معمومات مؤسساتي فعمي إضافة إلى مناقشة النتائج. نظرة ػا ت في ىذا الفصل سيتم تقديم سيناريو عممي لمنموذج المقترح وتطبيقو في بنك معمومات مؤسساتي والميزة التي قدميا ىذا المشروع بالمقارنة مع النماذج المطروحة باإلضافة الختبار النتائج. سيناريى الختبار يريد أحد المستخدمين الدخول إلى الموقع ورؤية الممفات الخاصة بو )عممية تقسيم الممفات لن تظير لممستخدم ) باإلضافة لمممفات العامة المشتركة مع جميع المستخدمين ورفع ممف جديد متاح لجميع المستخدمين كما يقوم المستخدم برفع ممف آخر خاص بو فقط. في ىذه الواجية يتم تسجيل كمستخدم جديد إضافة تمت الموقع كما إلى دور لممستخدم ىل ىو مستخدم عادي أم مدير نظام ىو administrator وعند التطرق لمسالة األدوار فيذا مشروع بحد ذاتو لذلك دور بسيط إضافة تمت لتكوين صورة كاممة عن المشروع وىنا المستخدم المدير ىو من ينشئ األدوار. 61
الشكل 21 إضافة دور جديد لممستخدم الشكل 22 عممية انشاء الدور اآلن يريد المستخدم رفع ممفو إلى الموقع في ىذه المرحمة المستخدم لن يرى آلية التقسيم المتبعة عمى المخدم الشكل 23 تجزئة الممف ووضعو عمى المخدم تحديد سرية الممف الشكل 24 معمومات الممف وطبيعتو 60
في ىذه الصفحة يقوم المستخدم بتجزئة الممف وتحديد كان الممف سري إذا أم ال ويقوم بالضغط عمى زر التجزئة ليحصل عمى الممف في ممفو الشخصي واذا كان سري إذا لم يكن سري سوف ي اره جميع المستخدمين لسيولة توصيف السيناريو سيتم عرض الممف مع أج ازئو عمى المخدم في ممف الممفات السرية لممستخدم. مسار الملف الملف المجمع والذي س ظهر للمستخدم اجزاء الملف الشكل 25 مكان توضع الممفات السرية عمى المخدم بالنسبة لمستعرض الممفات فانو يقوم باستع ارض جميع الممفات الشخصية الخاصة بالمستخدم من مختمف األنواع وىذه ىي ميزة إضافية فميس ىنالك حاجة إلضافة ب ارمج تدعم تمك الصيغ عمى حاسب المستخدم من التي األنواع. pdf,mp4, word, يدعميا المستعرض ممفات txt باإلضافة لمواحق الصوت المختمفة الشكل 26 مستعرض الممفات 62
وىذا مثال عمى ممفات word وكيفية استع ارضيا عمى المتصفح هذا مشغل لواحق الملفات النص ة الشكل 27 مستعرض ممفات word وممفات الفيديو هذا مشغل لواحق الف د و الشكل 28 مستعرض ممفات الفيديو 63
اىنتائح في ىذه الد ارسة قمنا بتجزئة الممفات وتجميعيا بناءا عمى طبيعة المؤسسة حيث تم األخذ بعين االعتبار طبيعة الممف وما يحويو من معمومات قد تكون سرية وقد ال أنيا أي تكون تكون متاحة لجميع المستخدمين. دراست حاىت: حد اىتخسين 10 ليكن لدينا مستخدم لديو 100 ممف يريد تقسيم كل ممف إلى أج ازء حجم كل جزء مختمف عن وفق اآلخر الجدول التالي وكذلك معامل الزيادة نظ ار لكون المعمومات الخاصة بيذه الممفات تشغل حيز من التخزين: حجم الممف الكمي عدد الممفات لممستخدم حجم كل معامل الحجم بالميغا بعد الحجم بالميغا قبل قبل التقسيمkb الحالي جزءkb الزيادة 100 ممف التقسيم التقسيم 100 ممف 5120 100 512 1 500.0976563 500 10000 100 1000 0.5 976.6113281 976.5625 5120 100 512 1 500.0976563 500 200 100 20 1.5 19.67773438 19.53125 300 100 30 0 29.296875 29.296875 1200 100 120 1 117.2851563 117.1875 100 100 10 1.3 9.892578125 9.765625 20000 100 2000 1 1953.222656 1953.125 60000 100 6000 1.5 5859.521484 5859.375 الجدول 3 المقارنة الحجم قبل التقسيم و بعده ويتم حساب الحجم الكمي وفق المعادلة التالية: حجم الممفات الكمي=عدد الممفات*)عدد األج ازء* حجم كل جزء+معامل الزيادة( ولدينا معامل الزيادةX حيث 0kB<X<2kB 64
مقارنة بين حجم الملفات قبل التخزين وبعده 7000 6000 5000 4000 3000 2000 1000 بعد التقس م قبل التقس م 0 1 2 3 4 5 6 7 8 9 Series1 500.098 976.611 500.098 19.6777 29.2969 117.285 9.89258 1953.22 5859.52 Series2 500 976.562 500 19.5313 29.2969 117.188 9.76563 1953.13 5859.38 من خالل الشكل السابق نجد طبيعة الممفات وحساسيتيا. الشكل 29 حجم الممفات قبل التخزين وبعده السمسمة األولى تدل عمى حجم التخزين بعد التقسيم السمسمة الثانية تدل عمى حجم التخزين قبل التقسيم أنو ال زيادة تمحظ إذا أصبح ىنالك حجوم أكبر بالمقارنة مع االحتفاظ بمعمومات عن فيما يمي مقارنة مع البت تورنت من حيث عممية التقسيم وىي الموضحة في الفصل الثاني - الد ارسة المرجعية. إن البت تورنت يقوم بتقسيم الممف إلى قطع بحجوم قياسية 512KB, (32KB, 64KB, 128KB, 256KB, )1MB, 2MB, 4MB, 8MB كما أن ىذه القطع بدورىا محددة بأقسام أصغر يمثل كل قسم 16KB وعمى ىذا األساس تتم المقارنة باستخدام نفس قيم المثال السابق: الحجم بالميغا حجم كل جزء حجم القطعة في حجم الممف بعد التقسيم في الحجم بالميغا بعد عدد قبل التقسيم بالنسبة لخوارزمية البت تورنت البت تورنت التقسيم 100 ممف األقسام 100 ممف التقسيم المتبعة MB MB 512 500 500.0976563 4 256 504 1000 976.5625 976.6113281 4 256 980.5625 512 500 500.0976563 4 256 504 20 19.53125 19.67773438 4 256 23.53125 30 29.296875 29.296875 4 256 33.296875 120 117.1875 117.2851563 4 256 121.1875 9.892578125 9.765625 9.892578125 4 256 13.765625 1953.222656 1953.125 1953.222656 4 256 1957.125 5859.521484 5859.375 5859.521484 4 256 5863.375 الجدول 4 مقارنة مع آلية التقسيم في البت تورنت 65
500 500.0976562 504 976.5625 976.6113281 980.5625 500 500.0976562 504 19.53125 19.67773438 23.53125 29.296875 29.296875 33.296875 117.1875 117.2851563 121.1875 9.765625 9.892578125 13.765625 1953.125 1953.222656 1957.125 5859.375 5859.521484 5863.375 مقارنة بين حجم التخزين قبل التقسيم وبعده والتقسيم باستخدام البت تورنت 1 2 3 4 5 6 7 8 9 Series1 500 976.5625 500 19.53125 29.296875 117.1875 9.765625 1953.125 5859.375 Series2 500.0976562976.6113281500.097656219.67773438 29.296875 117.28515639.8925781251953.2226565859.521484 Series3 504 980.5625 504 23.53125 33.296875 121.1875 13.765625 1957.125 5863.375 الشكل 31 المقارنة مع البت تورنت السمسمة األولى تدل عمى حجم التخزين قبل التقسيم السمسمة الثانية تدل عمى حجم التخزين بعد التقسيم باستخدام اإلج ارئية المتبعة السمسمة الثالثة تدل عمى حجم التخزين بعد التقسيم باستخدام البت تورنت من خالل الشكل السابق نالحظ حجم التخزين في أن إج ارئية التقسيم المتبعة اقل من التقسيم المتبع في البت تورنت ولو بجزء بسيط كون ىنالك معمومات عن طبيعة الممفات وحساسيتيا. بالنسبة لزمن الوصول لمممفات أن يجوز ال نقارن زمن الوصول لمممفات في البت تورنت كون المستخدم ينتظر حتى يكتمل تنزيل الممف ليتمكن من استع ارض الممف عمى جيازه الخاص ويحجز مساحة تخزينية عمى أيضا أما جيازه في المشروع المقترح فالمستخدم يستعرض الممفات من عمى المخدم دون تنزيميا عمى إلى يحتاج أن جيازه الخاص. 66
67