Rumah >pembangunan bahagian belakang >Tutorial Python >Penggunaan Sistem Enjin Pesawat Penyelenggaraan Ramalan
Sistem Penyelenggaraan Ramalan Enjin Pesawat direka untuk memanfaatkan data sensor masa nyata daripada enjin pesawat untuk meramalkan bila penyelenggaraan diperlukan, meminimumkan masa henti yang tidak dirancang dan mengoptimumkan jadual penyelenggaraan . Dokumen ini memberikan gambaran keseluruhan terperinci tentang proses penempatan untuk sistem, meliputi seni bina timbunan penuh, persediaan Docker dan langkah untuk menggunakan aplikasi menggunakan Docker dan Docker Compose.
Sistem ini terdiri daripada dua komponen utama:
Bahagian belakang melaksanakan tugas kritikal untuk meramalkan keperluan penyelenggaraan berdasarkan data sejarah dan input penderia masa nyata. Bahagian hadapan memaparkan maklumat ini dalam format mesra pengguna, membolehkan pengendali mengambil tindakan tepat pada masanya dan meningkatkan kecekapan operasi.
Halaman belakang ialah API RESTful yang dilaksanakan menggunakan Flask, direka untuk:
Halaman hadapan, dibina dengan Dash, berfungsi untuk tujuan:
Untuk menyelaraskan penggunaan dan memastikan aplikasi berjalan secara konsisten merentas persekitaran yang berbeza, kedua-dua bahagian hadapan dan bahagian belakang disimpan dalam bekas menggunakan Docker. Docker Compose digunakan untuk mentakrif dan mengurus persediaan berbilang bekas.
Fail docker-compose.yml mengatur penggunaan kedua-dua perkhidmatan frontend dan backend. Ia mentakrifkan cara membina dan memautkan bekas, serta cara mereka berkomunikasi antara satu sama lain melalui rangkaian tersuai. Di bawah ialah contoh fail docker-compose.yml yang mentakrifkan perkhidmatan:
version: '3.8' services: backend: build: context: . dockerfile: backend/Dockerfile ports: - "5000:5000" volumes: - ./data:/app/data networks: - app-network frontend: build: context: . dockerfile: frontend/Dockerfile ports: - "8050:8050" depends_on: - backend networks: - app-network networks: app-network: driver: bridge
Elemen utama:
Fail Docker ini membina bekas untuk perkhidmatan hujung belakang, yang menjalankan Flask API. Ia termasuk pemasangan kebergantungan Python dan menetapkan pembolehubah persekitaran yang diperlukan untuk menjalankan aplikasi Flask.
FROM python:3.9-slim WORKDIR /app COPY backend/requirements.txt /app/ RUN pip install --no-cache-dir -r requirements.txt COPY backend/ /app/ EXPOSE 5000 ENV FLASK_APP=app.py ENV FLASK_RUN_HOST=0.0.0.0 CMD ["flask", "run"]
Perkhidmatan bahagian hadapan disimpan dalam bekas menggunakan fail Docker yang serupa. Fail ini menyediakan apl Dash dan mendedahkannya pada port 8050.
FROM python:3.9-slim WORKDIR /app COPY frontend/requirements.txt /app/ RUN pip install --no-cache-dir -r requirements.txt COPY frontend/ /app/ EXPOSE 8050 CMD ["python", "app.py"]
Elemen utama:
Sebelum menggunakan aplikasi, pastikan anda telah memasang yang berikut pada mesin anda:
git clone <repository_url> cd <project_directory>
docker-compose up --build
Akses aplikasi:
Setelah bekas berjalan, anda boleh mengakses perkhidmatan berikut:
Hentikan perkhidmatan:
Apabila anda selesai, anda boleh menghentikan perkhidmatan dengan menekan Ctrl C atau jalankan:
version: '3.8' services: backend: build: context: . dockerfile: backend/Dockerfile ports: - "5000:5000" volumes: - ./data:/app/data networks: - app-network frontend: build: context: . dockerfile: frontend/Dockerfile ports: - "8050:8050" depends_on: - backend networks: - app-network networks: app-network: driver: bridge
Walaupun Docker menyediakan persekitaran pembangunan dan ujian yang konsisten, terdapat pertimbangan tambahan untuk menggunakan sistem dalam persekitaran pengeluaran:
Docker Compose sesuai untuk pembangunan dan ujian tempatan, tetapi untuk penggunaan pengeluaran, anda mungkin perlu menggunakan alat orkestra seperti Kubernetes untuk mengendalikan penskalaan dan pengurusan sumber. Kubernetes boleh menskalakan perkhidmatan bahagian hadapan dan bahagian belakang secara automatik berdasarkan permintaan trafik, memastikan ketersediaan yang tinggi dan toleransi kesalahan.
Untuk memastikan sistem berjalan lancar dalam pengeluaran, integrasikan alat pemantauan seperti Prometheus dan sistem pembalakan seperti tindanan ELK (Elasticsearch, Logstash dan Kibana). Alat ini akan membolehkan anda menjejak prestasi sistem, mengesan isu dalam masa nyata dan menyelesaikan masalah dengan berkesan.
Model penyelenggaraan ramalan yang digunakan di bahagian belakang mungkin memerlukan kemas kini berkala apabila data penderia baharu tersedia. Ia penting untuk:
Untuk menjamin komunikasi antara hujung hadapan dan hujung belakang:
Untuk penggunaan automatik, sepadukan saluran paip CI/CD menggunakan alatan seperti GitHub Actions, Jenkins atau GitLab CI. Saluran paip ini boleh membina, menguji dan menggunakan versi baharu aplikasi secara automatik apabila perubahan ditolak ke repositori.
Sistem Enjin Pesawat Penyelenggaraan Ramalan menyediakan penyelesaian komprehensif untuk memantau dan meramalkan keperluan penyelenggaraan dalam masa nyata. Dengan menggabungkan Flask untuk API bahagian belakang, Dash untuk visualisasi interaktif dan Docker untuk kontena, sistem ini menawarkan penyelesaian yang boleh dipercayai dan berskala yang boleh digunakan secara tempatan. dan dalam persekitaran pengeluaran.
Mengikut langkah yang digariskan dalam dokumen ini, anda boleh menggunakan aplikasi dengan mudah pada mesin tempatan anda atau menyediakannya untuk persekitaran pengeluaran. Dengan peningkatan selanjutnya, seperti penskalaan, pemantauan dan penggunaan berterusan, penyelesaian ini boleh berfungsi sebagai alat kritikal untuk mengoptimumkan operasi penyelenggaraan enjin pesawat.
Atas ialah kandungan terperinci Penggunaan Sistem Enjin Pesawat Penyelenggaraan Ramalan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!