شبكة بحوث وتقارير ومعلومات
اليوم: ,Sat 06 Dec 2025 الساعة: 10:31 AM


اخر بحث





- [ وزارات وهيئات حكومية السعودية ] مركز الإشراف التربوى بشمال الرياض
- [ رقم هاتف ] أوبر Uber‎‏ وكريم المجرة- الشارقة -بالقرب منك
- [ رقم هاتف ] أوبر Uber‎‏ وكريم الحيرة- الشارقة -بالقرب منك
- [ جغرافيا ] 3 معلومات أساسية عن علم الجغرافيا
- [ مؤسسات البحرين ] مؤسسة علي المسلم لتأجير السيارات ذ.م.م ... المحرق
- [ المركبات الامارات ] كراج الجريف ... عجمان
- [ رقم هاتف ] أوبر Uber‎‏ وكريم الخان-الشارقة- بالقرب منك
- [ مؤسسات البحرين ] المعاني للتركيبات الكهربائية ... المنطقة الشمالية
- [ رقم هاتف ] أوبر Uber‎‏ وكريم القادسية- الشارقة -بالقرب منك
- [ تعرٌف على ] نينا (اسم)

[ تعرٌف على ] بروتوكول التخزين المؤقت

تم النشر اليوم 06-12-2025 | [ تعرٌف على ] بروتوكول التخزين المؤقت
[ تعرٌف على ] بروتوكول التخزين المؤقت تم النشر اليوم [dadate] | بروتوكول التخزين المؤقت

اللغات البرمجية المدعومة

يوفر Protobuf 2.0 مولد أكواد لـ ++C وJava و#C و وPython . يوفر Protobuf 3.0 مولد أكواد لـ ++ C ، وJava (بما في ذلك JavaNano ، وهي لغة مخصصة للبيئات منخفضة الموارد)، وPython ، وGo ، وRuby ، وObjective-C ، و#C . كما أنه يدعم JavaScript منذ 3.0.0-beta-2. تتوفر تطبيقات الطرف الثالث أيضًا لـ Ballerina ، C ، C ++ ، Dart ، Elixir ، Erlang ، Haskell ، JavaScript ، Perl ، PHP ، R ، رست، سكالا، سويفت، جوليا ونيم.

مثال

مخطط لاستخدام معين للمخازن المؤقتة للبروتوكول يربط أنواع البيانات بأسماء الحقول، باستخدام الأعداد الصحيحة لتحديد كل حقل. تحتوي بيانات المخزن المؤقت للبروتوكول على الأرقام فقط، وليس أسماء الحقول، مما يوفر بعض توفير عرض النطاق الترددي / التخزين مقارنة بالأنظمة التي تتضمن أسماء الحقول في البيانات. //polyline.proto syntax = "proto2"; message Point { required int32 x = 1; required int32 y = 2; optional string label = 3; } message Line { required Point start = 1; required Point end = 2; optional string label = 3; } message Polyline { repeated Point point = 1; optional string label = 2; } تحدد رسالة «النقطة» عنصري بيانات إلزاميين، x و y . تسمية عنصر البيانات اختيارية. كل عنصر بيانات له علامة. يتم تحديد العلامة بعد علامة التساوي. على سبيل المثال، x لديه العلامة 1. توضح الرسائل "Line" و "Polyline"، اللتان تستخدمان Point ، كيفية عمل التركيب في بروتوكول التخزين المؤقت. يحتوي Polyline على حقل متكرر يتصرف مثل المتجه. يمكن بعد ذلك تجميع هذا المخطط لاستخدامه من قبل لغة برمجة واحدة أو أكثر. توفر Google protoc يسمى protoc والذي يمكنه إنتاج مخرجات لـ ++C أو Java أو Python. تتوفر برامج التحويل البرمجي للمخططات الأخرى من مصادر أخرى لإنشاء مخرجات تعتمد على اللغة لأكثر من 20 لغة أخرى. على سبيل المثال، بعد إنتاج إصدار ++ C من مخطط المخزن المؤقت للبروتوكول أعلاه، يمكن لملف شفرة المصدر C ++ ، polyline.cpp ، استخدام كائنات الرسالة على النحو التالي: // polyline.cpp #include "polyline.pb.h" // generated by calling "protoc polyline.proto" Line* createNewLine(const std::string& name) { // create a line from (10, 20) to (30, 40) Line* line = new Line; line->mutable_start()->set_x(10); line->mutable_start()->set_y(20); line->mutable_end()->set_x(30); line->mutable_end()->set_y(40); line->set_label(name); return line; } Polyline* createNewPolyline() { // create a polyline with points at (10,10) and (20,20) Polyline* polyline = new Polyline; Point* point1 = polyline->add_point(); point1->set_x(10); point1->set_y(10); Point* point2 = polyline->add_point(); point2->set_x(20); point2->set_y(20); return polyline; }

ملخص

طورت Google Protocol Buffers للاستخدام الداخلي وقدمت منشئ رمز للغات متعددة بموجب ترخيص مفتوح المصدر (انظر أدناه). أكدت أهداف تصميم بروتوكول التخزين المؤقت على البساطة والأداء. على وجه الخصوص، تم تصميمه ليكون أصغر وأسرع من XML . تُستخدم بروتوكول التخزين المؤقت على نطاق واسع في Google لتخزين وتبادل جميع أنواع المعلومات المنظمة. تعمل هذه الطريقة كأساس لنظام استدعاء إجراء بعيد مخصص (RPC) يتم استخدامه تقريبًا لجميع الاتصالات بين الأجهزة في Google. تشبه بروتوكول التخزين المؤقت المؤقتة Apache Thrift (التي يستخدمها Facebook ، وEvernote)، أو Ion (التي أنشأتها Amazon)، أو بروتوكولات Microsoft Bond ، وتقدم أيضًا حزمة بروتوكول RPC ملموسة لاستخدامها في خدمات محددة تسمى gRPC . يتم وصف هياكل البيانات والخدمات في ملف تعريف .proto (.proto) ويتم تجميعها باستخدام protoc . ينشئ هذا التجميع رمزًا يمكن استدعاؤه بواسطة مرسل أو متلقي هياكل البيانات هذه. على سبيل المثال، يتم إنشاء example.pb.cc و example.pb.h example.proto . يعرّفون فئات ++C لكل رسالة وخدمة في example.proto . من الناحية القانونية، يتم تسلسل الرسائل إلى تنسيق سلكي ثنائي يكون مضغوطًا ومتوافقًا مع الأمام والخلف، ولكنه لا يصف نفسه (أي، لا توجد طريقة لمعرفة الأسماء أو المعنى أو أنواع البيانات الكاملة للحقول بدون مواصفات خارجية). لا توجد طريقة محددة لتضمين أو الإشارة إلى مثل هذه المواصفات الخارجية (المخطط) داخل ملف Protocol Buffers. يشتمل التطبيق المدعوم رسميًا على تنسيق تسلسل ASCII ، ولكن هذا التنسيق - على الرغم من أنه يصف ذاتيًا - يفقد سلوك التوافق الأمامي والخلفي، وبالتالي لا يعد اختيارًا جيدًا للتطبيقات بخلاف التصحيح. على الرغم من أن الغرض الأساسي للمخازن المؤقتة للبروتوكول هو تسهيل الاتصال بالشبكة، إلا أن بساطتها وسرعتها تجعل من المخازن المؤقتة للبروتوكول بديلاً لفئات وهياكل ++C المتمحورة حول البيانات، خاصةً حيث قد تكون هناك حاجة للتشغيل البيني مع لغات أو أنظمة أخرى في المستقبل.

شرح مبسط

تعديل - تعديل مصدري - تعديل ويكي بيانات

شاركنا رأيك