Nghiên cứu giải pháp tự động sao lưu và khôi phục dữ liệu trong hệ thống thông tin điện tử luận văn ths công nghệ thông tin 1 01 10

74 24 0
Nghiên cứu giải pháp tự động sao lưu và khôi phục dữ liệu trong hệ thống thông tin điện tử  luận văn ths  công nghệ thông tin 1 01 10

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đặng Minh Chính NGHIÊN CỨU GIẢI PHÁP TỰ ĐỘNG SAO LƯU VÀ KHÔI PHỤC DỮ LIỆU TRONG HỆ THỐNG THƠNG TIN ĐIỆN TỬ Ngành: Mã số: Cơng nghệ thông tin 1.01.10 LUẬN VĂN THẠC SỸ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Vũ Duy Lợi Hà Nội - 2007 MỤC LỤC MỤC LỤC………………………………………………………………………………… LỜI CAM ĐOAN………………………………………………………………………… DANH MỤC BẢNG BIỂU……………………………………………………………… DANH MỤC KÝ HIỆU………………………………………………………………… MỞ ĐẦU…………………………………………………………………………………… Chƣơng 1: GIỚI THIỆU CHUNG 10 1.1 Sự cần thiết lƣu, khôi phục liệu…………………………………… 10 1.2 Các hệ thống lƣu trữ liệu 12 1.2.1 Hệ thống lƣu trữ DAS …………………………………………………… 12 1.2.2 Hệ thống lƣu trữ NAS …………………………………………………… 14 1.2.3 Hệ thống lƣu trữ SAN …………………………………………………… 15 1.2.4 So sánh hệ thống lƣu trữ …………………………………………… 16 1.3 Ứng dụng lƣu, khôi phục liệu hệ thống thông tin điện tử quan Đảng … 17 1.3.1 Các phần mềm ứng dụng dùng chung………………………………… 17 1.3.2 Những hạn chế tồn …………………………………………………… 19 1.3.3 Hƣớng giải hạn chế tồn tại……………………………………… 19 Chƣơng 2: CÁC PHƢƠNG PHÁP SAO LƢU, KHÔI PHỤC CƠ SỞ DỮ LIỆU …………………… 20 2.1 Khái niệm bản………………………………………………………………… 20 2.1.1 Định nghĩa lƣu, khôi phục liệu ………………………………… 20 2.1.2 Phân loại kiểu lƣu, khôi phục phục liệu …………….…… 22 2.1.3 Tiêu chí đánh giá dịch vụ lƣu, khôi phục liệu … ………… 24 2.2 Các phƣơng pháp lƣu, khôi phục sở liệu ……………………… 26 2.2.1 Sao lƣu, khôi phục sở liệu mức hệ điều hành………………… 26 2.2.2 Sao lƣu, khôi phục sở liệu mức hệ quản trị sở liệu…… 28 2.2.3 Sao lƣ 2.3 Đánh giá phƣơng pháp lƣu, khôi ph Chƣơng 3: ĐỀ XUẤT GIẢI PHÁP SAO LƢU, KHÔI PHỤC CÁC CƠ SỞ DỮ LIỆU……………… 3.1 Mục đích, yêu cầu……………………………… 3.2 Kiến trúc hệ thống, nguyên tắc hoạt động… 3.2.1 Kiến tr 3.2.2 Nguyê 3.3 Xây dựng thử nghiệm hệ thống…………… 3.3.1 Thiết k 3.3.2 Nguyê 3.3.3 Thử ng KẾT LUẬN………………………………………………………………………………… TÀI LIỆU THAM KHẢO ……………………………………………………………… PHỤ LỤC…………………………………………………………………………………… A Cài đặt cách sử dụng chƣơng trình………………………………………… B Mã nguồn chƣơng trình………………………………………………………… C Cơ chế chạy tự động cron Linux………………………………………… D Cơ chế chạy tự động Scheduled Tasks Windows…………………… DANH MỤC BẢNG BIỂU Hình Mơ hình hệ thống lưu trữ DAS (Direct Access Storage) Hình Mơ hình NAS (Network Attached Storage) Hình Mơ hình SAN (Storage Area Network) Hình So sách phương pháp lưu liệu Hình Kiến trúc phần mềm EDocMan Hình Mơ hình tiến trình lưu liệu Hình Mơ hình tiến trình khơi phục liệu Hình So sánh giải pháp lưu trữ liệu Hình Tiêu chí đánh giá dịch vụ khơi phục thảm hoạ Hình 10 Sao lưu sở liệu mức hệ điều hành Hình 11 Sao lưu, khơi phục sở liệu mức hệ quản trị sở liệu Hình 12 Sao lưu, khơi phục sở liệu mức ứng dụng Hình 13 Đánh giá phương pháp lưu, khơi phục liệu Hình 14 Mơ hình kiến trúc tổng thể hệ thống Hình 15 Mơ hình chức chương trình Hình 16 Giao diện chương trình lưu liệu Hình 17 Bảng kết thời gian lưu liệu Hình 18 Giao diện chương trình khơi phục liệu Hình 19 Bảng kết chương trình khơi phục liệu Hình 20 Màn hình ứng dụng chạy chế độ crontab Hình 21 Màn hình chọn tệp chạy tự động Scheduled Tasks Hình 22 Màn hình chọn thời gian chạy ứng dụng Scheduled Tasks Hình 23 Màn hình kết thúc trình đặt lịch chạy Scheduled Tasks DANH MỤC CÁ STT Ký hiệu API backup Backup offline Backup online consistent Cron Control File Client Database 10 Database Access Libraries 11 DMS 12 Download 13 Database need to backup 14 file 15 Full Backup 16 Incremnental Backup 17 Instance 18 Ip 19 J2EE 20 Java Complier 21 Modul 22 Transaction log 23 Pure java 24 Request 25 Response 26 Router 27 Recovery Point Objective 28 Storge 29 Server 30 Scheduled Tasks 31 Swich 32 Type of database 33 Table space 34 35 36 Time out UMS WFS MỞ ĐẦU Tính cấp thiết luận văn Thực thị 58-CT/TW đẩy mạnh ứng dụng phát triển công nghệ thông tin phục vụ nghiệp cơng nghiệp hóa, đại hóa Đề án 06 tin học hố hoạt động các quan Đảng giai đoạn 2006 – 2010 nhằm xây dựng hệ thống thông tin điện tử cấp uỷ Đảng đảm bảo cung cấp thông tin trao đổi thông tin từ Trung ương xuống địa phương Các ứng dụng dùng chung hệ thống quan Đảng xây dựng hệ thống mã nguồn mở, cài đặt hệ điều hành Linux, sở liệu Posgresql, MySQl, MicroSoft SQL Webserver Tomcat, Application Server Jboss Đây hệ thống thông tin điện tử phục vụ lãnh đạo, đạo, điều hành cấp uỷ Đảng, nơi chứa thông tin quan trọng Đảng Do vậy, cần đảm bảo hệ thống hoạt động liên tục an toàn Các ứng dụng lưu, khôi phục cách cục Mỗi ứng dụng sử dụng chương trình lưu riêng, việc lưu tương đối phức tạp, đòi hỏi người quản trị mạng phải có kiến thức định sở liệu quản lý Việc xây dựng giải pháp lưu khôi phục sở liệu cách tập trung, tự động quan trọng cần thiết Mục đích luận văn - Nghiên cứu tổng quan giải pháp lưu, khôi phục liệu - Nghiên cứu đề xuất giải pháp tự động lưu khôi phục sở liệu (hệ thống ứng dụng) cách tập trung, phù hợp với kiến trúc hệ thống thông tin điện tử Đối tượng nghiên cứu Đối tượng nghiên cứu luận văn hệ thống sở liệu mạng diện rộng quan Đảng Phạm vi nghiên cứu Luận văn nghiên cứu cách tương đối có hệ thống nguyên tắc, chế hoạt động phương pháp lưu, khôi phục liệu Nghiên cứu chế phần mềm lưu, khôi phục hãng chuyên lưu khôi phục giới, đánh giá ưu nhược điểm, từ đưa giải pháp xây dựng cơng cụ giúp lưu, khôi phục liệu tự động hệ thống thông tin điện tử Phương pháp nghiên cứu Luận văn kết hợp mơ hình nghiên cứu lí thuyết ứng dụng minh họa để kiểm chứng Nói xác là, từ nghiên cứu lí thuyết giải pháp lí thuyết, đánh giá ưu nhược điểm giải pháp lưu, khơi phục, luận văn xây dựng chương trình cho phép lưu, khôi phục liệu cách tập trung với nhiều tính vượt trội Hệ thống kiểm nghiệm số sở liệu dùng chung quan Đảng Ý nghĩa khoa học thực tiễn luận văn Luận văn không nghiên cứu cách khoa học, nguyên lý cách thức lưu, khôi phục liệu, đánh giá giải pháp có thị trường, phân tích ưu nhược điểm giải pháp đó, mà cịn đề xuất giải pháp dựa nguyên tắc lưu, khôi phục liệu cải tiến số nhược điểm mà giải pháp trước gặp phải Như vậy, luận văn đạt ý nghĩa khoa học khẳng định tính thực tiễn //s1.executeUpdate("DROP TABLE config"); out.println("Da xoa xong"); s1.executeUpdate("CREATE TABLE config(tablename text,name text)"); out.println("Da tao xong"); s.executeQuery("select tablename from pg_tables where schemaname = 'public'"); ResultSet rs = s.getResultSet(); while (rs.next()) { t0 ="CREATE TABLE "; t1=""; t5=""; t4=""; t2 = rs.getString("tablename"); t3=""; out.println("COPY "+ t2 +" TO '"+ Path[0] +"/" + t2+"'"); s1.executeUpdate("COPY "+ t2 +" TO '"+ Path[0] +"/" + t2+"'"); //Doan moi them 13/06/2007 s2.executeQuery(" select column_name, data_type,character_maximum_length,is_nullable from 58 information_schema.columns where table_name = '" + t2 +"' order by ordinal_position"); ResultSet rs2 = s2.getResultSet(); while (rs2.next()) { t1 = rs2.getString("column_name") + " " + rs2.getString("data_type"); t4= rs2.getString("character_maximum_length"); if (t4 == null) t1= t1+","; else t1= t1+"("+t4+"),"; t5= t5 + t1; } // out.println(t5); s3.executeQuery("select constraint_name, table_name,column_name from information_schema.key_column_usage where table_name = '"+ t2+"'"); ResultSet rs3 = s3.getResultSet(); while (rs3.next()) 59 { t3 = "CONSTRAINT " + rs3.getString("constraint_name")+" PRIMARY KEY ("+ rs3.getString("column_name"); } if (t3 !="") chuoi = t0 + t2+" (" + t5+ t3 +"))"; else chuoi = t0+t2+" (" + t5.substring(0, (t5.length()-1)) + ")"; out.println(chuoi); String tr = "INSERT INTO config VALUES ('" + chuoi + "' , '"+ rs.getString("tablename")+"')"; //String tr = "INSERT INTO config VALUES ('" + chuoi + "')"; out.println(tr); s4.executeUpdate(tr); //Ket thuc doan moi them } rs.close(); s.close(); out.print("Success"); } 60 catch (Exception e) { out.print("Loi ket noi"); } //ket thuc doan moi them } public String getServletInfo() { return "Welcome Servlet"; } } * Mã nguồn chương trình khơi phục liệu: import java.sql.*; import java.sql.Connection; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class restore extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); ServletOutputStream out = res.getOutputStream(); 61 out.println(""); out.println("Welcome"); out.println(""); String[] Ip = req.getParameterValues("Ip"); if(Ip != null && Ip[0].length() > 0) { out.println(""); out.println(Ip[0]); } else { out.println(""); out.println("Ip is null"); out.println(""); } String[] Database = req.getParameterValues("Database"); if(Database != null && Database[0].length() > 0) { out.println(""); out.println(Database[0]); } else { out.println(""); out.println("Database is null"); out.println(""); 62 } String[] UserName = req.getParameterValues("UserName"); if(UserName != null && UserName[0].length() > 0) { out.println(""); out.println(UserName[0]); } else { out.println(""); out.println("UserName is null"); out.println(""); } String[] Password = req.getParameterValues("Password"); if(Password != null && Password[0] != null && Password[0].length() > 0) { out.println(""); out.println(Password[0]); } else { out.println(""); out.println("Password is null"); out.println(""); 63 } String[] Path = req.getParameterValues("Path"); if(Path[0] != null && Path[0] != null && Path[0].length() > 0) { out.println(""); out.println(Path[0]); } else { out.println(""); out.println("Path[0] is null"); out.println(""); } //doan moi them try { Connection conn = null; String url="jdbc:postgresql://" + Ip[0]+ "/"+ Database[0]; Class.forName("org.postgresql.Driver"); conn = DriverManager.getConnection(url,UserName[0],Password[0]); Statement s = conn.createStatement(); Statement s1 = conn.createStatement(); Statement s2 = conn.createStatement(); 64 Statement s3 = conn.createStatement(); Statement s4 = conn.createStatement(); out.println("Da ket noi cong CSDL"); String t0,t1,t2,t3,t4,t5,chuoi; chuoi=""; s1.executeUpdate("CREATE TABLE config(tablename text,name text)"); s.executeQuery("select tablename from pg_tables where schemaname = 'public'"); ResultSet rs = s.getResultSet(); while (rs.next()) { t0 ="CREATE TABLE "; t1=""; t5=""; t4=""; t2 = rs.getString("tablename"); t3=""; out.println("COPY "+ t2 +" TO '"+ Path[0] +"/" + t2+"'"); s1.executeUpdate("COPY "+ t2 +" TO '"+ Path[0] +"/" + t2+"'"); //Doan moi them 13/06/2007 s2.executeQuery("select column_name, data_type,character_maximum_length,is_nullable from 65 information_schema.columns where table_name = '" + t2 +"' order by ordinal_position"); ResultSet rs2 = s2.getResultSet(); while (rs2.next()) { t1 = rs2.getString("column_name") + " " + rs2.getString("data_type"); t4= rs2.getString("character_maximum_length"); if (t4 == null) t1= t1+","; else t1= t1+"("+t4+"),"; t5= t5 + t1; } s3.executeQuery("select constraint_name, table_name,column_name from information_schema.key_column_usage where table_name = '"+ t2+"'"); ResultSet rs3 = s3.getResultSet(); while (rs3.next()) { 66 t3 = "CONSTRAINT " + rs3.getString("constraint_name")+" PRIMARY KEY ("+ rs3.getString("column_name"); } if (t3 !="") chuoi = t0 + t2+" (" + t5+ t3 +"))"; else chuoi = t0+t2+" (" + t5.substring(0,(t5.length()-1)) + ")"; out.println(chuoi); String tr = "INSERT INTO config VALUES ('" + chuoi + "' , '"+ rs.getString("tablename")+"')"; //String tr = "INSERT INTO config VALUES ('" + chuoi + "')"; out.println(tr); s4.executeUpdate(tr); //Ket thuc doan moi them } rs.close(); s.close(); out.print("Success"); 67 } catch (Exception e) { out.print("Loi ket noi"); } //ket thuc doan moi them } public String getServletInfo() { return "Welcome Servlet"; } } C Chạy tự động ứng dụng Linux Để chạy tự động ứng dụng có sẵn Linux ta sử dụng chế cron Chương trình có trách nhiệm chayh cron gọi crond Mỗi phút Crond đọc file có chứa câu lệnh để thực Các file gọi crontabs File crontabs người dùng lưu giữ var/spool/cron/ Các file không cho phép soạn thảo trực tiếp người dùng người dùng root cần thiết phải sử dụng cơng cụ soạn thảo crontab 68 Hình 20 Màn hình ứng dụng chạy chế độ crontab Để chạy chương trình tự động Linux bạn dùng crontab Các công việc file đặt tệp thư mục : /var/spool/cron/crontabs Sử dụng crontab - l để biết công việc người dùng Nếu chưa có dùng lệnh crontab -e để tạo công việc Cú pháp dòng crontab : Phút(0-59) Giờ(0-23) Ngày (1-31) Tháng(1-12) Ngảy tuần (0-6) câu lệnh D Chạy tự động ứng dụng Windows Để chạy tự động ứng dụng Windows theo thời gian định trước bạn thực nhờ chế Scheduled Tasks Cách thức thực sau: Start-> Setting-> Control Panel ->Scheduled Tasks-> Add new Scheduled Tasks-> Next 69 Hình 21 Màn hình chọn tệp chạy tự động Scheduled Tasks Kích chuột vào nút Browse -> Chọn file cần chạy(ví dụ backup.bat) Tiếp tục chọn thời gian chạy chương trình Hình 22 Màn hình chọn thời gian chạy ứng dụng Scheduled Tasks 70 Hình 23 Màn hình kết thúc q trình đặt lịch chạy Scheduled Tasks Kích chuột vào nút Finsh để kết thúc trình đặt lịch chạy tự động chương trình 71 Thank you for evaluating AnyBizSoft PDF Merger! To remove this page, please register your program! Go to Purchase Now>> AnyBizSoft PDF Merger  Merge multiple PDF files into one  Select page range of PDF to merge  Select specific page(s) to merge  Extract page(s) from different PDF files and merge into one ... luận văn - Nghiên cứu tổng quan giải pháp lưu, khôi phục liệu - Nghiên cứu đề xuất giải pháp tự động lưu khôi phục sở liệu (hệ thống ứng dụng) cách tập trung, phù hợp với kiến trúc hệ thống thông. .. Hình 10 Sao lưu sở liệu mức hệ điều hành Hình 11 Sao lưu, khơi phục sở liệu mức hệ quản trị sở liệu Hình 12 Sao lưu, khơi phục sở liệu mức ứng dụng Hình 13 Đánh giá phương pháp lưu, khơi phục liệu. .. lưu, khôi phục liệu trạng thực hệ thống thông tin điện tử quan Đảng Chương Nghiên cứu giải pháp lưu, khôi phục liệu, đánh giá ưu nhược điểm giải pháp Chương 3: Đề xuất giải pháp lưu, khôi phục

Ngày đăng: 11/11/2020, 21:52

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan