Диссертация (1090594), страница 16
Текст из файла (страница 16)
- с.400108.Радченко, Г.И. Распределенные вычислительные системы / Г.И.Радченко. –Челябинск:: Фотохудожник, 2012. – 184 с.113109.БондаренкоД.Л.Повышениеструктурнойживучестиинформационно-вычислительных комплексов путем оптимальногопространственного разнесения элементов / Д. Л. Бондаренко //Математическая морфология, т.
10, вып. 4. – М., 2011. – 6 с.– №04201100004/0054.110.Алпатов А.Н., Михайлов Б.М., Рощин А.В. Методы балансировкии оценки нагрузки узлов распределенной вычислительной системы.Естественные и технические науки. 2016. № 6 (96). С. 165-170.111.А. Н. Алпатов, А. Р. Кадиев, А. В. Рощин Проблемы оптимизациинагрузки в распределенных вычислительных системах.
Сборка вмашиностроении, приборостроении. - 2016. - № 3. - С. 30-39.112.Никульчев Е. В., Паяин С. В., Плужник Е. В. Динамическоеуправление трафиком программно-конфигурируемых сетей в облачнойинфраструктуре // Вестник РГРТУ. 2013. № 3(45). С. 54-57.113.БакановВ.М.Использованиесистемыдобровольныхраспределенных вычислений для оптимизации ярусно-параллельнойформыинформационныхграфовалгоритмов//XXIМЕЖДУНАРОДНАЯ. – 2015. – С. 129.114.Pluzhnik E., Nikulchev E., Payain S.
Optimal control of applicationsfor hybrid cloud services // Proceedings 2014 IEEE Tenth World Congresson Services (SERVICES 2014) IEEE, 2014. P. 458-461.115.АлпатовА.Н.распределённогоработыОценкавлияниявычислительногоалгоритмовбалансировкисистемныхкомплексананагрузки.//параметровэффективностьКибернетикаипрограммирование. — 2017. - № 1. - С.1-10. DOI: 10.7256/23064196.2017.1.22021.114ПРИЛОЖЕНИЯПРИЛОЖЕНИЕ 1Копия свидетельства о государственной регистрациипрограммного обеспечения для ЭВМ115ПРИЛОЖЕНИЕ 2Копии актов внедрения внедрении результатов диссертационнойработы116117118ПРИЛОЖЕНИЕ 3Фрагменты исходного кода приложения//file №1(class DyFLB)package DynamicFLBal;import java.io.Serializable;import java.util.*;/**** @author Aleksey*/public class DyFLB implements Task<String>, Serializable {private static final long serialVersionUID = 1L;private static ArrayList<Integer> connections=newArrayList<Integer>();private static ArrayList<String> serverlist=newArrayList<String>();private static HashMap<String, String> session=newHashMap<String,String>();public static String ip;private static boolean setSession=false;private static boolean isWeighted=true;private static int w=-1;public LoadBalancerMethod() {}@SuppressWarnings("static-access")public DyFLB(String ip) {this.ip=ip;}@Overridepublic String execute() {String server=dynamicBalancing();return server;}@Overridepublic String execute(String t) {if(t.startsWith("|")){t=t.substring(1,t.length());String server=weightedDistribution();if(setSession){if(session.get(t)!=null){return session.get(t);}session.put(t, server);119}return server;}else{if(!isWeighted){serverlist.add(t);connections.add(0);}else{int gewichtung=(int)(Math.random()*9+1);System.out.println(gewichtung+""+serverlist.toString());for(int x=0;x<gewichtung;x++){serverlist.add(t);}}return null;}}public static String forecastL() {try{w++;return serverlist.get(w);}catch(Exception e){w=0;return serverlist.get(w);}}//file №2(сервер)package DynamicFLBal;import java.rmi.*;import com.aleksey.*;/**** @author Aleksey*/public class Grid implements EWM {private static String ip="10.0.0.";//не забыть настроитьprivate static int port=*;//не забыть настроитьpublic Grid () {super();}public <T> T executeTask(Task<T> t) {return t.execute();}120@Overridepublic <T> T executeTask(Task<T> t, String ip) throwsRemoteException {return t.execute(ip);}public static void NewSr(String ipStart,int begin,int anz,intport,String loadbalancerip,int loadbalancerport){for(int i=begin; i<(begin+anz); i++){new Thread(newComputeEngine("192.168.0.2",port+i,loadbalancerip,loadbalancerport)).start();try {Thread.sleep(500);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public static void main(String[] args) {try{if(args[0]!=null)ip=args[0];if(args[1]!=null)port=Integer.parseInt(args[1]);}catch(Exception e){System.out.println("Ошибка");}System.setProperty("java.rmi.* ", ip);if (System.getSecurityManager() == null) {System.setSecurityManager(new SecurityManager());}try {String name = "LB";Compute engine = new LB();Compute stub =(Compute)UnicastRemoteObject.exportObject(engine, 0);try{LocateRegistry.createRegistry(port);}catch (Exception e){System.out.println("Ошибка");}Registry registry = LocateRegistry.getRegistry(ip,port);registry.rebind(name, stub);System.out.println("Все ОК, работа возможна");}catch (Exception e) {System.err.println("Особая ситуация:");e.printStackTrace();}121createServer("10.0.0.*",1, 3, 1300, ip, port);//новый}}//file №3(клиент)import java.math.*;import java.*;import com.aleksey.*;// реализация/**** @author Aleksey*/public class HOST implements Runnable{String serverip,ip,length,n;int serverport,port;public HOST(String n,String serverip, int serverport, Stringip,int port, String length){this.serverip=serverip;this.serverport=port;this.ip=ip;this.port=port;this.length=length;this.n=n;}@Overridepublic void run() {while(true){try {String name = "LB";Registry registry =LocateRegistry.getRegistry(ip,port);Compute comp = () registry.lookup(name);DyFLB task = new DyFLB();String adf= nullask(task,"|"+ip);} catch (Exception e) {System.err.println("Обработка");e.printStackTrace();}if(serverip.length()>5){try {122String name = "HOST";Registry registry =LocateRegistry.getRegistry(serverip,serverport);Compute comp = (Compute) registry.lookup(name);task = newPi(Integer.parseInt(length));BigDecimal pi = comp.executeTask(task);System.out.println(n+":"+serverip+":"+serverport+" :"+pi);Thread.sleep(200);} catch (Exception e) {System.err.println("ComputePiexception:");e.printStackTrace();}}}}}.