DSEDataSourceExplorer
DSE 1.0.1

إنشاء حزم النشر وكتّاب الوجهة الشاملون

تُنشئ Generate deployables مشغّلًا محمولًا من الكتالوج و/أو تعريفات Output Target المحفوظة. ويمكن للمشغّل الاحتفاظ بمخرجات CSV/Excel وتوجيه عدة أهداف منطقية إلى وجهة مادية واحدة.

يستخدم DSE الآن Universal Destination Writer Framework. لكل إعداد Output Target حالي مسار كتابة قابل للتنفيذ. يختار DSE التقنية المناسبة: Native أو ODBC أو REST/OData أو SDK لمخزن الكائنات أو File أو Gateway.

عبارة Runtime writer تعني أن المشغّل المُنشأ يعرف كيفية تنفيذ المسار. وقد تبقى متطلبات خارجية ضرورية مثل برنامج تشغيل ODBC الخاص بالمورّد، أو بيانات اعتماد API، أو أذونات السحابة، أو بوابة معتمدة لـ VSAM/IMS/CICS.

سير العمل الموصى به

  1. اكتشف المصادر وراجع الكتالوج.
  2. أنشئ أو راجع mappings في Compose targets.
  3. افتح Generate deployables وأضف الأهداف المحفوظة.
  4. قم بتكوين الوجهة المادية قبل تفعيل الكتابة.
  5. راجع تقنية الكاتب وأسماء الكائنات ووضع الكتابة.
  6. فعّل Route selected targets to one destination فقط عندما تريد تفعيل الكتابة الخارجية.
  7. اختبر الاتصال واختر المنصة/RID ثم أنشئ الحزمة.
  8. شغّل الحزمة وافتح View results وقارن أعداد السجلات في الوجهة.

الأهداف المنطقية والوجهة المادية

Output Target هو عقد بيانات منطقي ولا يلزم أن تكون تقنيته هي نفس تقنية الوجهة المادية.

أمثلة:

MongoDB + Couchbase + InfluxDB -> PostgreSQL

Oracle + MongoDB + DynamoDB -> Redis

يحافظ DSE على provenance وmappings لكل صف مسار حتى لا يتم دمج سجلات غير مرتبطة عشوائيًا.

كوّن أولاً ثم فعّل

يبقى preset ووضع الكتابة وأسماء/أنواع الكائنات قابلة للتحرير حتى عندما يكون routing غير مفعّل. مربع الاختيار يتحكم في التنفيذ الخارجي وليس في محرر المسار.

تقنيات الكاتب

التقنية أمثلة المتطلبات
Native SQL/Azure SQL/Synapse وPostgreSQL وMySQL/MariaDB وOracle وSQLite وMongoDB وDynamoDB وCassandra وRedis وNeo4j Provider مرفق + شبكة/اعتماد
ODBC Db2 وInformix وTeradata وHANA وSnowflake وRedshift وBigQuery وSpanner وDatabricks وHive وTrino وSAS Viya وAccess/dBase وIBM i/zOS وغيرها برنامج ODBC للمورّد + Driver=/DSN=
REST/OData CosmosDB وCouchbase/CouchDB وElasticsearch/OpenSearch وArangoDB وInfluxDB وSalesforce وDynamics وSharePoint وServiceNow وWorkday وSAP OData Endpoint + مصادقة
Object store S3 وAzure Blob وADLS Gen2 وGCS اعتماد المزوّد
File File System وSMB وNFS وExcel مسار قابل للكتابة
Gateway VSAM وIMS وCICS وGeneric بوابة HTTP معتمدة أو ODBC

جدول توجيه كائنات الوجهة

حقل Destination object قابل للتحرير مباشرة. يجب أن يكون الاسم غير فارغ وفريدًا وصالحًا للمنصة. يتم تقييد Object type حسب الكاتب مثل Table أو Collection أو Hash أو Index أو Label أو Measurement أو Bucket.

Append وReplace

لأسباب تتعلق بالسلامة، يوفر الكاتب المباشر لـ Salesforce وDynamics 365 CRM وSharePoint وServiceNow وWorkday وSAP OData وضع Append فقط. يتطلب الاستبدال الكامل المدمر بوابة مخصصة ومعتمدة بسياسة أعمال صريحة.

الاتصال

في بيئة الإنتاج يفضّل حقن الاتصال وقت التشغيل:

DSX_DESTINATION_CONNECTION_STRING

يتطلب ODBC قيمة صريحة Driver= أو DSN= وتثبيت برنامج التشغيل على جهاز تنفيذ المشغّل.

تستخدم REST/OData عادة Url=/Endpoint= وToken/AccessToken أو Username/Password أو ApiKey.

يمكن لـ VSAM/IMS/CICS/Generic استخدام Endpoint=https://... أو مسار ODBC معتمد.

النموذج القياسي

يحوّل المشغّل البيانات أولًا إلى سجل DSE محايد يحوي معرفًا ثابتًا وprovenance والحقول المربوطة، ثم يحولها adapter الوجهة إلى الصيغة المادية المناسبة.

AI Advisor

في الوجهات، حدد توصية واحدة للذكاء الاصطناعي باستخدام زر الاختيار. يقوم استخدام الوجهة المحددة في Deployables بتهيئة هذه الوجهة لجلسة Generate Deployables التالية. يقوم إنشاء وجهات مسودة الآن بإنشاء أو تحديث الوجهة المحددة فقط لتجنب تراكم مسودات AI المكررة.

يمكن لـ AI Advisor اقتراح الوجهة وإرسال المسار إلى Generate Deployables، لكنه لا ينفذ كتابة خارجية مخفية. يراجع المستخدم التقنية والكائنات والوضع والاتصال والحزمة قبل التشغيل.

بما أن كل presets الحالية لديها writer path، يمكن الحفاظ على تقنية الوجهة التي اقترحها AI بشرط توفر متطلبات runtime.

استكشاف الأخطاء

توصيات الإنتاج

ابدأ بعدد سجلات صغير، واستخدم Append أثناء التحقق، واحفظ الأسرار خارج الحزمة، وطبّق أقل قدر من الصلاحيات، واستخدم كائنات/بادئات مخصصة، واحتفظ بمخرجات التدقيق قبل cutover.

الموثوقية المؤسسية وتتبع النسب وأمان إعادة التشغيل

يمكن للحزم القابلة للنشر الآن تضمين طبقة موثوقية بالإضافة إلى CSV/Excel والتوجيه الفعلي للوجهة.

يحصل كل تشغيل على Run ID ويمكنه إنشاء ما يلي تحت output/audit/<run-id>/:

لا تتضمن عناصر lineage سلاسل الاتصال أو بيانات الاعتماد.

Lease وheartbeat

خيار تمكين قفل التشغيل والنبض ينشئ lease خاصاً بالمخطط وheartbeat في مجلد الحالة. لا يمكن لمشغلين يستخدمان نفس المخطط وDSX_STATE_DIR العمل في الوقت نفسه. لاستخدام active/passive orchestration اجعل مجلد الحالة تخزيناً دائماً مشتركاً.

يمكن استخدام DSX_RUN_ID/--run-id وDSX_STATE_DIR/--state-dir و--lease-timeout-seconds و--heartbeat-seconds.

إعادة المحاولة ونقاط التحقق

أخطاء القراءة المؤقتة تستخدم exponential backoff محدوداً. لا تتم إعادة كتابة الوجهة إلا عندما يعلن الكاتب عن معاملات أو Upsert تجعل إعادة التشغيل آمنة بشكل معقول.

تحفظ نقاط التحقق عمليات كتابة الوجهة المكتملة. بعد الفشل يمكن لتشغيل جديد تجنب تكرار هذه الكتابات مع إعادة إنشاء CSV/Excel. يتم تعطيل الاستئناف في وضع Replace.

الفرق عن CDC

نقاط التحقق تحسن الاسترداد لكنها ليست Change Data Capture (CDC) مبنياً على سجلات المعاملات. وضع القراءة الحالي يبقى Snapshot. يحتاج CDC الإنتاجي إلى adapters خاصة بكل مصدر ومؤشرات دائمة مثل SQL Server CDC LSN وPostgreSQL WAL وMongoDB resume token وCosmos Change Feed continuation وDynamoDB shard positions.

راجع Docs/Enterprise-Reliability-CDC-Governance-HA-Plan.md.

<!-- DSE_DEPLOYABLE_CERTIFICATION_HELP_V1 -->

20. التشغيل المعتمد لحزم Windows وLinux القابلة للنشر التي ينشئها DSE

استخدم هذا القسم بعد اكتمال Generate deployables. يوضح مسار الاعتماد/التشغيل للحزمتين الناتجتين win-x64 وlinux-x64 الأصلية. هذه مشغلات تكامل ينشئها DSE وليست حزم التثبيت التجارية Windows/Container الخاصة بالمنتج.

20.1 حزمة Windows (windows/win-x64)

انسخ مجلد Windows الناتج إلى جهاز الاعتماد (أو فك الأرشيف المنقول)، ثم اعمل من المجلد windows\win-x64.

تحقق من وجود الملفات التالية قبل أول تشغيل:

شغّل Runtime Manager المحلي:

cd /d C:\Path\To\deployables\windows\win-x64
manager.cmd

يقوم manager.cmd بتشغيل DataSourceExplorer.Runner.exe --manager. يستمع المدير على 127.0.0.1 فقط ويفتح المتصفح الافتراضي عادةً بصورة تلقائية. إذا لم يفتح المتصفح، شغّل الملف التنفيذي مباشرة واستخدم Local management URL الظاهر في وحدة التحكم.

DataSourceExplorer.Runner.exe --manager
  1. تأكد من أن Runtime status يعرض READY وأنه لا توجد عملية تنفيذ نشطة.
  2. في Connections تأكد من أن كل مصدر ووجهة مطلوبة تظهر بالحالة Configured. اترك الحقول المحمية فارغة للاحتفاظ بالقيمة المحفوظة/المضمنة.
  3. في أول تشغيل اعتماد استخدم Manual only وحدد مجلد الإخراج output.
  4. اختر Run now وانتظر حتى تعود الحالة إلى READY.
  5. تأكد من أن Last result وRun history يعرضان Success ثم تحقق بشكل مستقل من ملفات الإخراج/بيانات الوجهة المتوقعة.

لتشغيل واحد بدون واجهة:

run.cmd

يحاول المولّد أولاً إنشاء حزمة self-contained. إذا اضطر إلى استخدام نشر يعتمد على framework، فثبّت .NET 8 وASP.NET Core 8 Runtime المناسبين على الجهاز الهدف.

20.2 حزمة Linux (linux/linux-x64) — مسار Ubuntu Hyper-V الذي تم التحقق منه

يتبع الإجراء التالي دليل Ubuntu Server 26.04.1 LTS / Microsoft Hyper-V الذي تم التحقق منه والمرفق للاعتماد. يتم تشغيل حزمة Linux الأصلية ولا يلزم Docker لهذا المسار.

الوصول الآمن الموصى به من متصفح Windows

بدلاً من إتاحة المدير على شبكة الجهاز الافتراضي، يمكن إنشاء تحويل منفذ SSH محلي من Windows PowerShell بعد قراءة منفذ المدير من سجل Linux:

ssh -L 18093:127.0.0.1:<manager-port> <linux-user>@<VM-IP>

بعد ذلك افتح http://127.0.0.1:18093/ في Windows، وأبق جلسة SSH مفتوحة أثناء استخدام المدير. يظل تمرير socat الموضح أدناه مناسبًا لشبكة اعتماد معزولة/موثوقة.

الهدف

ينشئ هذا الإجراء جهاز Ubuntu Server افتراضيًا خفيفًا ويشغّل حزمة Linux الأصلية التي ينشئها DSE. وهو يحاكي سير العمل في Windows: نسخ الحزمة، تشغيل DSE Deployable Runtime Manager، فتح المدير من جهاز Windows، تشغيل الحزمة، ثم التحقق من النتيجة.

الحزمة الموضحة هنا هي حزمة أصلية من نوع linux-x64. لا يلزم Docker لهذا المسار.

المتطلبات

Windows → Hyper-V → Ubuntu → DSE Runtime Manager → Browser

1. إنشاء جهاز Hyper-V الافتراضي

أنشئ جهازًا افتراضيًا من الجيل الثاني بهذه الإعدادات الأساسية:

اسم الجهاز DSE-Linux-Test
الجيل Generation 2
الذاكرة يوصى بذاكرة ثابتة 4096 MB
المعالجات 4 معالجات افتراضية
القرص VHDX بحجم 40 GB قابل للتوسع ديناميكيًا
الشبكة Hyper-V Default Switch
Secure Boot مفعّل - Microsoft UEFI Certificate Authority
النظام Ubuntu Server LTS (تم التحقق باستخدام 26.04.1)

أثناء تثبيت Ubuntu اختر Install OpenSSH server. بعد اكتمال التثبيت أخرج ملف ISO وابدأ التشغيل من القرص الافتراضي.

2. تجهيز Ubuntu

سجّل الدخول إلى Ubuntu وحدّث النظام، ثم تحقق من المعالج والذاكرة والقرص وعنوان IP.

sudo apt update
sudo apt upgrade -y
hostname -I
nproc
free -h
df -h

إذا كان VHDX بحجم 40 GB ولكن حجم الجذر نحو 18-19 GB فقط، وسّع وحدة LVM الجذر لاستخدام المساحة الحرة.

sudo vgs
sudo lvextend -l +100%FREE -r /dev/ubuntu-vg/ubuntu-lv
df -h

3. الاتصال من Windows باستخدام SSH

استخدم عنوان IP الحالي الذي يعرضه hostname -I. قد يتغير عنوان Hyper-V Default Switch بعد إعادة التشغيل.

ssh <linux-user>@<VM-IP>

4. نسخ مجلد Linux الذي تم إنشاؤه

شغّل ssh/scp من Windows PowerShell وليس من طرفية Ubuntu. ينشئ DSE مجلد linux وليس ملف linux.zip. استبدل المسار واسم المستخدم وعنوان IP بالقيم الفعلية.

ssh <linux-user>@<VM-IP> "rm -rf /home/<linux-user>/dse-deploy/linux && mkdir -p /home/<linux-user>/dse-deploy"
scp -r "C:\Path\To\GeneratedDeployables\...\linux" <linux-user>@<VM-IP>:/home/<linux-user>/dse-deploy/

إذا ظهر الخطأ “Could not resolve hostname c:” فقد تم تشغيل scp داخل Ubuntu. ارجع إلى Windows PowerShell وشغّله هناك.

5. تجهيز الحزمة

ثبّت socat إذا كنت ستستخدم relay، وانتقل إلى مجلد linux-x64 الذي تم نسخه، ثم امنح الملفات صلاحية التنفيذ. تنشئ النسخة الحالية من DSE سكربتات shell بترميز UTF-8 من دون BOM، لذلك لا يلزم فك ضغط أو إزالة BOM.

sudo apt update && sudo apt install -y socat
cd ~/dse-deploy/linux/linux-x64
chmod +x DataSourceExplorer.Runner manager.sh run.sh
ls -l DataSourceExplorer.Runner manager.sh run.sh

6. التحقق من اتصال المصدر/الوجهة

قبل تشغيل DSE تأكد من أن Ubuntu VM يستطيع الوصول إلى المضيف والمنفذ المطلوبين. يستخدم المثال MongoDB على المنفذ 27017.

timeout 5 bash -c '</dev/tcp/<source-host>/<source-port>' \
  && echo 'Port reachable' \
  || echo 'Port NOT reachable'

# MongoDB example
timeout 5 bash -c '</dev/tcp/192.168.50.124/27017' \
  && echo 'MongoDB port reachable' \
  || echo 'MongoDB port NOT reachable'

7. تشغيل DSE Deployable Runtime Manager

شغّل المدير واقرأ سجل وحدة التحكم. يرتبط المدير بالعنوان 127.0.0.1 ويختار منفذًا محليًا.

cd ~/dse-deploy/linux/linux-x64
./manager.sh
sleep 2
cat .dse-manager/manager-console.log
curl http://127.0.0.1:<manager-port>/ | head

يحتوي السجل الصحيح على سطر مشابه: Local management URL: http://127.0.0.1:51827. قد يتغير المنفذ بعد إعادة التشغيل.

8. إتاحة المدير لمتصفح Windows

استخدم socat في Ubuntu لتمرير منفذ ثابت على الجهاز الافتراضي (18093) إلى منفذ المدير الحالي على loopback. تكتشف الأوامر عنوان IP والمنفذ تلقائيًا.

cd ~/dse-deploy/linux/linux-x64
VM_IP=$(hostname -I | awk '{print $1}')
MANAGER_PORT=$(grep -oE '127\.0\.0\.1:[0-9]+' .dse-manager/manager-console.log | tail -1 | cut -d: -f2)
nohup socat TCP-LISTEN:18093,bind="$VM_IP",reuseaddr,fork TCP:127.0.0.1:"$MANAGER_PORT" > ~/dse-relay.log 2>&1 &
echo "Open: http://$VM_IP:18093/"
ss -ltnp | grep 18093

استخدم هذا التمرير داخل شبكة اختبار موثوقة فقط. أثناء تشغيل socat يصبح المدير متاحًا عبر واجهة شبكة الجهاز الافتراضي.

9. تشغيل الحزمة من واجهة المستخدم

  1. افتح في Edge أو Chrome عنوان URL الذي تعرضه أوامر التمرير.
  2. تأكد من أن Runtime status يعرض READY ولا توجد عملية نشطة.
  3. في Connections تأكد من أن المصدر والوجهة يعرضان Configured. اترك حقول الاتصال المحمية فارغة للاحتفاظ بالقيم المضمنة.
  4. للاختبار الأول اضبط Scheduler configuration على Manual only، وOutput directory على output، ثم احفظ الإعدادات.
  5. اختر Run now وانتظر حتى تعود الحالة إلى READY.
  6. تأكد من أن Last result وRun history يعرضان Success، ثم تحقق من ملفات الإخراج وبيانات الوجهة.

10. الإيقاف وإعادة التشغيل والتنظيف

قد يتغير عنوان IP ومنفذ المدير بعد إعادة تشغيل الجهاز الافتراضي. شغّل manager.sh مرة أخرى، واقرأ المنفذ الجديد، ثم أعد تشغيل socat. لإيقاف التمرير:

pkill -f 'socat TCP-LISTEN:18093' || true

قائمة التحقق

استكشاف الأخطاء

Issue / Symptom Action
scp يعرض Could not resolve hostname c: شغّل scp من Windows PowerShell وليس من Ubuntu.
Permission denied أو لا يبدأ السكربت شغّل chmod +x DataSourceExplorer.Runner manager.sh run.sh.
curl -I يعرض 405 Method Not Allowed هذا متوقع إذا كان المدير يقبل GET ولا يقبل HEAD. استخدم curl http://127.0.0.1:<port>/.
المتصفح لا يفتح عنوان 127.0.0.1 استخدم socat وافتح http://<VM-IP>:18093/ من Windows.
تتوقف الصفحة بعد إعادة التشغيل شغّل manager.sh والتمرير مرة أخرى لأن IP والمنفذ قد يتغيران.
فشل اختبار المصدر تحقق من التوجيه والجدار الناري واختبر المضيف/المنفذ من Ubuntu.

لدمج الدليل في مساعدة المنتج استخدم صفحة HTML العربية المرفقة. اترك الأوامر كما هي وترجم فقط الشرح وإرشادات الواجهة.