![]() | 1 2 3 4 5 6 7 8 Ім'я файлу: пз.docx Розширення: docx Розмір: 1133кб. Дата: 26.05.2023 скачати Пов'язані файли: 16. 04. лекція Тригери на БТ.docx Методичні вказівки до практичних занять з дисципліни «Комп’ютерн Методичні вказівки до практичних занять з дисципліни «Комп’ютерн ВИСНОВКИ В дипломному проєкті розроблено програмний модуль для визначення раціонального варіанту послідовності перевірки об’єктів комп’ютерної мережі, як предмету кібернетичного впливу. Ця система може бути застосована як для збору необхідної інформації, так і забезпечення її адекватності. В процесі розробки для забезпечення швидкодії виконання системи була розроблена платформа для організації розподіленої обробки даних, яка може бути розгорнута у локальній обчислювальній мережі та застосована для прискорення будь-якої обчислювальної задачі великої розмірності. Велика обчилювальна складність задачі що вирішувалась зумовила певні складності для побудови обчислювального середовища. В роботі проведений аналіз напрямків вирішення задачі пошуку раціональних варіантів перевірки об’єктів комп’ютерної мережі, розроблений модуль управління вибором варіанту перевірки об’єктів комп’ютерної мережі, проведена оцінка ефективності розробленої системи в режимі реального часу. Для побудови системи що б задовольнила усім цим вимогам була вибрана мова програмування JAVA, та операційна система Linux. Для управління побудованим середовищем обробки даних були розроблені спеціальні додатки які виконують обчилення в окремих потоках та синхронізують результати. Розроблена система розподілених обчислень та додаток що виконує обрахунки на графах великої розмірності на основі мурашиного алгоритму здатні виконувати завдання в режимі реального часу стосовно перевірки об’єктів комп’ютерної мережі і здійснення інформаційної підготовки кібернетичного впливу. Графічний додаток також оснащений зручним графічним інтерфейсом що дозволяє користувачу будувати графи будь-якої розмірності та виконувати обрахунки на них. Проведений аналіз ефективності показує що розроблена система відповідає усім необхідним вимогам щоб бути рекомендованою до використання в цілях перевірки об’єктів комп’ютерної мережі для іформаційного забезпечення кібернетичного впливу. ПЕРЕЛІК ДЖЕРЕЛ ПОСИЛАННЯ Б. Еккель.- Философия JAVA-М.:Питер, 2009-638с. Кей Хорстман- JAVA 2 Основы-М.:Вильямс,2010-816с. Pearl J. Heuristics: Intelligent Search Strategies for Computer Problem Solving. – Addison-Wesley, 2018. R. Bellman: On a Routing Problem // Quarterly of Applied Mathematics. 2010. Vol 16, No. 1. C. 87–90,. L. R. Ford, Jr., D. R. Fulkerson. Flows in Networks, Princeton University Press, 2008. Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн Алгоритмы: построение и анализ = Introduction to Algorithms. – 2-е изд. – М.: «Вильямс», 2016. – С. 1296. Ананий В. Левитин Глава 9. Жадные методы: Алгоритм Дейкстры // Алгоритмы: введение в разработку и анализ = Introduction to The Design and Analysis of Aigorithms. – М.: «Вильямс», 2016. – С. 189–195. M. Dorigo & T. Stutzle, 2004. Ant Colony Optimization, MIT Press. M. Dorigo, G. Di Caro & L. M. Gambardella, 2008. "Ant Algorithms for Discrete Optimization". Artificial Life, 5 (2): 137–172. M. Dorigo, V. Maniezzo & A. Colorni, 2012. "Ant System: Optimization by a Colony of Cooperating Agents", IEEE Transactions on Systems, Man, and Cybernetics-Part B, 26 (1): 29–41. C. Blum, 2005 "Ant colony optimization: Introduction and recent trends". Physics of Life Reviews, 2: 353–373. T. Stutzle et H.H. Hoos, MAX-MIN Ant System, Future Generation Computer Systems, volume 16, pages 889–914, 2011. 13. L. M. Gambardella, M. Dorigo, "Ant-Q: A Reinforcement Learning Approach to the Traveling Salesman Problem" // Twelfth International Conference on Machine Learning, Morgan Kaufmann, p. 252–260, 2015. ДОДАТОК Д Лістинг програми Фрагмент пограмного коду що реалізує балансування навантаження на виконавчі модулі. package serv; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; import balancer.Balansing; public class BalanceControl { /** * @param args */ public static void main(String[] args) throws Exception { Runnable run = new Runnable() { @Override public void run() { Balansing bal = Balansing.getInstance(); try { while (true) { bal.balance(); Thread.sleep(1000); } } catch (Exception e) { System.out.println("Exception"); System.err.println(e); } } }; Thread th = new Thread(run); th.start(); Runnable runP = new Runnable() { @Override public void run() { try { Proxy prox = new Proxy(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; Thread thP = new Thread(runP); thP.start(); ServerSocket ss = new ServerSocket(8102); try { while (true) { Socket s = ss.accept(); UptoDate up = new UptoDate(s); } } finally { } } } class UptoDate implements Runnable { public Socket s; public UptoDate(Socket s) { this.s=s; Thread th = new Thread(this); th.start(); } @Override public void run() { try { Scanner scan = new Scanner(s.getInputStream()); Balansing b = Balansing.getInstance(); double cpu; while (scan.hasNext()) { cpu = scan.nextDouble(); if (cpu==-1) { b.del(s.getInetAddress().toString()); return; } System.out.println(s.getInetAddress()+" "+cpu); b.update(s.getInetAddress().toString(), cpu); } scan.close(); } catch (Exception e) { System.out.println("Exception"); System.out.println(e); } } } Фрагмент пограмного коду що реалізує аналіз завантаженості процессора. package serv; import java.io.PrintWriter; import java.lang.management.ManagementFactory; import java.lang.management.OperatingSystemMXBean; import java.net.Socket; import javax.management.MXBean; import org.hyperic.sigar.OperatingSystem; public class CpuInfo2 { public static void main(String[] args) throws Exception { Socket s = null; PrintWriter pwriter=null; try { s = new Socket("127.0.0.1", 8102); pwriter = new PrintWriter(s.getOutputStream(),true); OperatingSystemMXBean b = ManagementFactory.getOperatingSystemMXBean(); while (true) { pwriter.println(b.getSystemLoadAverage()); Thread.sleep(5000); } } catch (Exception e) { System.out.println(e); } finally { pwriter.println("-1"); } } Фрагмент пограмного коду що реалізує виконавчий модуль розподіленого середовища обробки даних. package serv; import java.io.BufferedOutputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.PrintStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; public class execut implements Runnable { private Socket s; private ObjectInputStream oistr; private ObjectOutputStream oostr; private Callable 1 2 3 4 5 6 7 8 |