công nghệ nén delta ứng dụng trong cập nhật phần mềm tại ngân hàng công thương việt nam

84 464 0
công nghệ nén delta ứng dụng trong cập nhật phần mềm tại ngân hàng công thương việt nam

Đ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Ệ Nguyễn Thị Hương CÔNG NGHỆ NÉN DELTA ỨNG DỤNG TRONG CẬP NHẬT PHẦN MỀM TẠI NGÂN HÀNG CÔNG THƯƠNG VIỆT NAM Ngành: Công nghệ thông tin Chuyên ngành: Truyền dữ liệu và mạng máy tính Mã số: 60 48 15 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC PGS. TS. Nguyễn Văn Tam Hà Nội – 2009 2 LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Những số liệu trình bày trong luận văn là trung thực và có nguồn gốc rõ ràng. Các kết luận khoa học của luận văn chưa được công bố trong bất kỳ công trình nghiên cứu khoa học nào. Hà Nội, ngày 4/12/2009 Tác giả Nguyễn Thị Hương 3 LỜI CẢM ƠN Em xin gửi lời cảm ơn sâu sắc tới thầy giáo hướng dẫn PGS, TS Nguyễn Văn Tam đã tận tình chỉ bảo em những kiến thức quý giá giúp em hoàn thành luận văn này. Em cũng xin chân thành cảm ơn các thầy, cô giáo khoa Công nghệ thông tin - bộ môn Truyền dữ liệu và mạng máy tính đã nhiệt tình chỉ bảo, góp ý để luận văn của em được hoàn thiện. Tôi xin cảm ơn các đồng chí đồng nghiệp làm việc tại phòng Nghiên cứu phát triển, phòng Ứng dụng triển khai, bảo trì và phát triển phần mềm – Trung tâm công nghệ thông tin – Ngân hàng công thương Việt Nam đã cung cấp các tài liệu cần thiết để tôi hoàn thành luận văn này. Do thời gian nghiên cứu cũng như năng lực có hạn, luận văn ko tránh khỏi những thiếu sót, mong nhận được sự đóng góp ý kiến của quý thầy cô và các bạn. Hà Nội, ngày 4/12/2009 Tác giả Nguyễn Thị Hương 4 MỤC LỤC TRANG PHỤ BÌA ………………………………………………………………….1 LỜI CAM ĐOAN 2 LỜI CẢM ƠN 3 MỤC LỤC 4 DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT 6 DANH MỤC CÁC BẢNG BIỂU 7 DANH MỤC CÁC HÌNH VẼ 8 MỞ ĐẦU 9 CHƯƠNG 1 - GIỚI THIỆU CHUNG VỀ MỘT SỐ CÔNG NGHỆ NÉN 10 1.1 Tầm quan trọng của nén dữ liệu trong truyền tin 10 1.2 Nguyên tắc của nén dữ liệu 10 1.3 Một số phương pháp nén dữ liệu 11 1.3.1 Phương pháp mã hoá độ dài loạt (Run-Length Encoding) 11 1.3.2 Phương pháp mã hoá Huffman 12 1.3.3 Phương pháp nén LZW 14 1.3.4 Chọn phương pháp nén 17 CHƯƠNG 2 – CÔNG NGHỆ NÉN DELTA 19 2.1 Tổng quan về công nghệ nén Delta 19 2.1.1 Tổng quan 19 2.1.2 Tính hiệu quả 20 2.2 Nền tảng 20 2.1.3 Nền tảng chung 20 2.1.4 Bộ nén LZ77 - Nền tảng của bộ nén Delta 22 2.3 Thuật toán nén Delta 24 2.3.1 Giới thiệu 25 2.3.2 Đặt vấn đề: 26 2.3.3 Những nghiên cứu đầu tiên 27 2.3.4 Thuật toán cơ bản 28 2.3.5 Sự cải tiến của thuật toán 32 2.3.6 Xây dựng lại xâu đích 34 2.4 Một vài kết quả thí nghiệm 37 2.5 Các vấn đề liên quan 39 2.5.1 Khoảng trống miễn cưỡng trong bộ nén delta 39 2.5.2 Chọn file tham chiếu 40 2.5.3 Đồng bộ các file từ xa 41 2.5.3.1 Thuật toán rsync 41 2.5.3.2 Các kết quả thực nghiệm của rsync 43 2.5.3.3 Các ứng dụng 44 CHƯƠNG 3 - ỨNG DỤNG THUẬT TOÁN NÉN DELTA TRONG VIỆC CẬP NHẬT CÁC PHẦN MỀM NGHIỆP VỤ TẠI NGÂN HÀNG CÔNG THƯƠNG VIỆT NAM. 46 3.1 Mô hình hệ thống công nghệ thông tin trong ngân hàng Công Thương Việt Nam 46 3.2 Quy trình cập nhật các phần mềm nghiệp vụ trong ngân hàng Công Thương Việt Nam 47 3.3 Chương trình cập nhật tự động các phần mềm nghiệp vụ 47 3.3.1 Thiết kế hệ thống 47 5 3.3.2 Thiết kế chương trình 48 3.3.2.1 Chương trình đặt lịch tự động 48 3.3.2.2 Chương trình quản lý trên Server TW 49 3.3.2.2.1 Quản lý gói cập nhật 49 3.3.2.3.2 Quản lý danh sách chi nhánh 55 3.3.2.3.3 Quản lý danh sách ứng dụng 56 3.3.2.3.4 Upload thủ công gói cập nhật 57 3.3.2.3.5 Xem nhật ký upload 58 3.3.3 Thực thi chương trình 59 3.3.3.1 Chương trình đặt lịch tự động 59 3.3.3.2 Chương trình quản lý trên server TW 63 3.3.3.2.1 Quản lý gói cập nhật 63 3.3.3.2.2 Quản lý danh sách chi nhánh 65 3.3.3.2.3 Quản lý danh sách ứng dụng 67 3.3.3.2.4 Upload thủ công gói cập nhật 68 3.3.3.2.5 Xem nhật ký upload 69 CHƯƠNG 4 - KẾT LUẬN 71 4.1 Kết luận 71 4.2. Ưu nhược điểm của phương pháp 71 4.3 Hướng nghiên cứu trong tương lai 72 TÀI LIỆU THAM KHẢO 73 Bảng đối chiếu encoding các bộ chữ hiện hành với Unicode 74 Thuật toán Knuth-Morris-Pratt Pattern Matching 83 6 DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT Chữ viết tắt Nội dung tiếng Anh Nội dung tiếng Việt Delta compression Differential compression Phương pháp nén dựa trên sự sai khác nhau giữa 2 file LCS Longgest common subsequence Chuỗi chung dài nhất (của 2 xâu /chuỗi) LZW Tên một phương pháp nén được phát minh bởi Lempel - Zip và Welch Match Sự phù hợp (sự khớp nhau) giữa 2 xâu Patch file Bản vá của 1 file cần cập nhật QAM Quadrature Amplitude Modulation Điều chế biên độ trực giao Script Đoạn lệnh (viết bằng một ngôn ngữ lập trình nào đó) nhằm thực hiện một mục đích cho trước. String Xâu các ký tự văn bản UTF Unicode Transformation Format Mã định dạng unicode 7 DANH MỤC CÁC BẢNG BIỂU Bảng 2.1: Các kết quả nén cho bộ dữ liệu gcc và emacs (KB /s) 24 Bảng 2.2: Các kết quả nén cho tập dữ liệu gcc và emacs (KB) 44 Bảng 2.3: Các kết quả nén cho emacs với các tập dữ liệu khác nhau (KB) 44 8 DANH MỤC CÁC HÌNH VẼ Hình 2.1 Bộ nén dữ liệu thông thường 19 Hình 2.2 Bộ nén Delta 20 Hình 2.3: Sự đối lập của kích thước nén file và sự giống nhau giữa các file (KB) 38 Hình 2.4: Sự đối lập giữa thời gian thực hiện và sự giống nhau của các file 38 Hình 3.1: Mô hình hệ thống công nghệ thông tin tại NHCTVN 46 Hình 3.2: Các mô đun chính chương trình quản lý tại Server TW 49 Hình 3.3: Các chức năng của mô đun Quản lý gói cập nhật 50 Hình 3.4: Lưu đồ chức năng Tạo mới/chỉnh sửa gói cập nhật 50 Hình 3.5: Các chức năng của mô đun Quản lý danh sách chi nhánh 55 Hình 3.6: Mối quan hệ giữa chức năng quản lý danh sách chi nhánh và các chức năng khác 56 Hình 3.7: Các mô đun chính của chức năng Quản lý danh sách ứng dụng 57 Hình 3.8: Mối quan hệ giữa chức năng Quản lý danh sách ứng dụng và chức năng Quản lý gói cập nhật 57 Hình 3.9: Mối quan hệ giữa chức năng Upload thủ công gói cập nhật và các chức năng khác 58 Hình 3.10: Mối quan hệ giữa chức năng Xem nhật ký upload và các chức năng khác. 58 Hình 3.11: Thực thi chương trình đặt lịch tự động (1) 59 Hình 3.12: Thực thi chương trình đặt lịch tự động (2) 60 Hình 3.13: Thực thi chương trình đặt lịch tự động (3) 60 Hình 3.14: Thực thi chương trình đặt lịch tự động (4) 61 Hình 3.15: Thực thi chương trình đặt lịch tự động (5) 61 Hình 3.16: Thực thi chương trình đặt lịch tự động (6) 62 Hình 3.17: Thực thi chương trình đặt lịch tự động (6) 62 Hình 3.18: Giao diện màn hình quản lý trên Server TW 63 Hình 3.19: Thực thi mô đun Quản lý gói cập nhật (1) 63 Hình 3.20: Thực thi mô đun Quản lý gói cập nhật (2) 64 Hình 3.21: Thực thi mô đun Quản lý gói cập nhật (3) 64 Hình 3.22: Thực thi mô đun Quản lý gói cập nhật (4) 65 Hình 3.23: Thực thi mô đun Quản lý danh sách chi nhánh (1) 66 Hình 3.24: Thực thi mô đun Quản lý danh sách chi nhánh (2) 66 Hình 3.25: Thực thi mô đun Quản lý danh sách chi nhánh (3) 67 Hình 3.26: Thực thi mô đun Quản lý danh sách ứng dụng (1) 67 Hình 3.27: Thực thi mô đun Quản lý danh sách ứng dụng (2) 68 Hình 3.28: Thực thi mô đun Upload thủ công gói cập nhật (1) 68 Hình 3.29: Thực thi mô đun Upload thủ công gói cập nhật (2) 69 Hình 3.30: Thực thi mô đun Upload thủ công gói cập nhật (3) 69 Hình 3.31: Thực thi mô đun Xem nhật ký upload (1) 70 Hình 3.32: Thực thi mô đun Xem nhật ký upload (2) 70 9 MỞ ĐẦU Trong các lĩnh vực của công nghệ thông tin - viễn thông hiện nay, việc truyền tải tin tức đã là một công việc xảy ra thường xuyên. Tuy nhiên, thông tin được truyền tải đi thường rất lớn, điều này gây khó khăn cho công việc truyền tải: gây tốn kém tài nguyên mạng, tiêu phí khả năng của hệ thống… Để giải quyết vấn đề đó, các thuật toán nén đã được ra đời. Mỗi phương pháp nén có hiệu quả khác nhau với các loại tệp khác nhau. Luận văn này sẽ trình bày một phương pháp nén có hiệu quả cao trong việc truyền tải tệp tin trên mạng phục vụ cho việc cập nhật phiên bản của tệp tin. Phương pháp dựa trên sự sai khác nhau giữa tệp nguồn và tệp đích (gọi là Differential Compression – hay Delta Compression) - trong quá trình cập nhật, tệp nguồn là tệp cũ, tệp đích là tệp mới- và tạo ra một bản vá có kích thước nhỏ đáng kể so với tệp đích. Khi đó, thay vì phải truyền tệp đích có kích thước lớn trên mạng, ta chỉ cần truyền bản vá có kích thước rất nhỏ. Phương pháp đã đạt được tỉ lệ nén cao, rất hiệu quả trong việc tiết kiệm tài nguyên mạng. Nếu tỷ lệ nén cho các tệp thực thi thường dao động quanh 3:1 thì tỷ lệ nén của bản vá so với tệp đích theo phương pháp Delta có thể nằm trong khoảng từ 10:1 tới 1000:1 và thậm chí có thể lớn hơn – tùy thuộc vào dung lượng tệp đích và mức độ khác biệt của nó với tệp nguồn. Luận văn cũng trình bày ứng dụng của phương pháp nén trong việc cập nhật phần mềm nghiệp vụ tại Ngân hàng Công thương Việt Nam. 10 CHƯƠNG 1 - GIỚI THIỆU CHUNG VỀ MỘT SỐ CÔNG NGHỆ NÉN 1.1 Tầm quan trọng của nén dữ liệu trong truyền tin Trong kỹ thuật truyền tin nối tiếp, do các bit dữ liệu được truyền đi nối tiếp, lại bị giới hạn về dải thông của kênh truyền và giới hạn về các chuẩn ghép nối nên tốc độ truyền tin tương đối chậm. Ðể tăng tốc độ truyền, ta có thể dùng nhiều phương pháp như sử dụng kỹ thuật điều chế pha nhiều mức, điều chế QAM, TCM Nén dữ liệu trước khi truyền đi cũng là một trong các phương pháp nhằm tăng tốc độ truyền dữ liệu. Trong các modem hiện đại, việc thực hiện nén dữ liệu trước khi truyền đi có thể được thực hiện ngay trong modem theo các giao thức V42bis. Phương pháp này đòi hỏi hai modem phải có cùng một giao thức nén dữ liệu, điều này nhiều khi khó thoả mãn. Có một phương pháp khác là thực hiện nén các tập tin ngay tại các máy vi tính trước khi truyền đi, tại các máy tính nhận, các tập tin lại được giải nén để phục hồi lại dạng ban đầu. Phương pháp này có ưu điểm là bên phát và bên thu chỉ cần có chung phần mềm nén và giải nén, ngoài ra còn có thể áp dụng được để truyền dữ liệu qua các modem không hỗ trợ nén dữ liệu hoặc truyền dữ liệu trực tiếp qua cổng COM của máy tính. Nhược điểm của phương pháp này là các máy vi tính phải tốn thêm thời gian nén và giải nén, nhưng do sự phát triển nhanh chóng của các bộ vi xử lý mà thời gian thực hiện nén và giải nén được giảm nhỏ hơn rất nhiều thời gian để truyền dữ liệu. Ví dụ, khi truyền một tập tin có kích thước là 100Kbyte với dạng thức của một SDU là: 8 bits dữ liệu, 2 bit STOP và 1 bit START, không dùng bit chẵn lẻ, tốc độ truyền là 9600bits/giây thì mất khoảng 120 giây, trong khi một máy vi tính với bộ vi xử lí 80386 có thể thực hiện nén tập tin trên xuống còn 50Kbyte chỉ mất chưa đến 10 giây. 1.2 Nguyên tắc của nén dữ liệu Thông thường, hầu hết các tập tin trong máy tính có rất nhiều thông tin dư thừa, việc thực hiện nén tập tin thực chất là mã hoá lại các tập tin để loại bỏ các thông tin dư thừa. Nhìn chung không thể có phương phát nén tổng quát nào cho kết quả tốt đối với tất cả các loại tập tin vì nếu không ta sẽ áp dụng n lần phương pháp nén này để đạt được một tập tin nhỏ tuỳ ý! Kỹ thuật nén tập tin thường được áp dụng cho các tập tin văn bản (Trong đó có một số kí tự nào đó có xác suất xuất hiện nhiều hơn các kí tự khác), các tập tin ảnh bitmap (Mà có thể có những mảng lớn đồng nhất), các tập tin [...]... Vì vậy, việc áp dụng công nghệ Delta vào thực tiễn sẽ có ý nghĩa lớn trong truyền dữ liệu trên 18 mạng máy tính, giúp giảm lưu lượng trên đường truyền, giảm thời gian truyền nhận gói tin 19 CHƯƠNG 2 – CÔNG NGHỆ NÉN DELTA Công nghệ nén Delta được phát triển bởi Microsoft, là một công nghệ nén dựa trên sự sai khác nhau của các file và được sử dụng cho việc cập nhật phần mềm Quá trình nén dựa trên sự... phiên bản cũ của chúng đã tồn tại trên máy đích, việc áp dụng các thuật toán trên sẽ không thực sự hiệu quả Một công nghệ nén khác được Microsoft phát triển nhằm cập nhật phiên bản mới cho các tệp thực thi Đó là công nghệ Delta Compression Nếu tỷ lệ nén cho các tệp thực thi thường dao động quanh 3:1 thì tỷ lệ nén của bản vá so với tệp đích theo công nghệ Delta có thể nằm trong khoảng từ 10:1 tới 1000:1... 2.1.4 Bộ nén LZ77 - Nền tảng của bộ nén Delta Các bộ nén Delta phổ biến nhất hiện nay dựa trên thuật toán copy theo hướng nghiên cứu của Lempel-Ziv[9] Một trong các tool đó là vdelta và sự biến thể của nó vcdiff, xdelta được dùng trong XDFS, và công cụ zdelta Bây giờ, ta sẽ mô tả chi tiết bộ nén như vậy, sử dụng ví dụ của zdelta Zdelta (tool) dựa trên thư viện nén zlib có thay đổi một chút, có một vài... tìm thấy trong file cơ sở Bộ giải nén Delta, hay applier, chấp nhận Delta cùng với file cơ sở, và xây dựng lại file đích (target file) 20 Hình 2.2 mô tả quá trình nén Delta Bộ tạo Delta chấp nhận dữ liệu đích F’ cùng với dữ liệu cơ sở F, và cung cấp một đại diện đã nén ÄF-F’ Sau đó Delta applier chấp nhận delta ÄF-F’ cùng với phần dữ liệu cơ sở F, để xây dựng dữ liệu đích F’ Hình 2.2 Bộ nén Delta 2.1.2... pháp nén khác 2.1 Tổng quan về công nghệ nén Delta 2.1.1 Tổng quan Trong một hệ thống nén dữ liệu thông thường, bộ nén chấp nhận một file và cung cấp một đại diện nhỏ gọn hơn của file đó Bộ giải nén thực hiện chức năng ngược lại, chấp nhận một dạng file nhỏ gọn và xây dựng lại file ban đầu Hình 2.1 mô tả quá trình này Bộ nén chấp nhận dữ liệu F’ và đưa ra một đại diện đã nén C(F’) Sau đó, bộ giải nén. .. đầu F’ Hình 2.1 Bộ nén dữ liệu thông thường Hệ thống nén Delta cũng sử dụng một bộ nén, nhưng bộ nén này chấp nhận 2 input: một file đích (target file) và một file tham chiếu hay file cơ sở (basic file) Giống như các bộ nén thông thường khác, bộ nén Delta cũng cung cấp một đại diện nhỏ gọn hơn của file ban đầu Đại diện nhỏ gọn hơn này còn được gọi là Delta[ 4], có thể tham chiếu tới phần dữ liệu tương... phù hợp như vậy với cùng độ dài được tìm thấy trong (b), chọn cái có khoảng cách tương đối nhỏ nhất tới vị trí j trong fnew hoặc tới một trong các con trỏ trong fold Cũng phải mã hoá độ dài của phần phù hợp và con trỏ được sử dụng trong tham chiếu Tăng j thêm một phần bằng độ dài của sự phù hợp, và cập nhật con trỏ pi nếu có (e) Nếu không có sự phù hợp nào tại độ dài tối thiểu 3, viết ra ký tự fnew[j]... các công cụ đang tồn tại Một chi tiết quan trọng khác liên quan tới phương pháp được sử dụng để mã hoá khoảng cách, độ dài phù hợp, thông tin con trỏ và các ký tự Ở đây, zdelta sử dụng phương pháp mã hoá Huffman được cung cấp bởi zlib, trong khi vdelta sử dụng sự mã hoá theo byte nhanh hơn rất nhiều nhưng lại ít cô đọng hơn Ngược lại, xdelta không có sự mã hoá thông minh nào, nó để cho người dùng áp dụng. .. dụng một công cụ nén để đưa ra output[4] gcc size Uncompressed gcc time emacs size emacs time 27288 - 27326 - 7479 24/30 8191 26/35 Xdelta 461 20 2131 29 Vcdiff 289 33 1821 36 Zdelta 250 26/32 1465 35/42 Gzip Bảng 2.1: Các kết quả nén cho bộ dữ liệu gcc và emacs (KB /s) 2.3 Thuật toán nén Delta Như trên đã nói, Delta sử dụng quá trình biến đổi từ string sang một string bằng các khối di chuyển Phần này... khác nhau của cùng 1 file [9] Quá trình tạo này cần 2 file là input Kích thước của file delta tuỳ thuộc vào sự giống nhau giữa 2 file này Phần dữ liệu xuất hiện trong target không giống trong basic sẽ được nén Trong trường hợp xấu nhất, khi basic và target không có điểm nào chung, delta sẽ là một dạng nén của target Delta Compression API yêu cầu các dạng đặc biệt của các file có thể thực thi (chẳng hạn . ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Hương CÔNG NGHỆ NÉN DELTA ỨNG DỤNG TRONG CẬP NHẬT PHẦN MỀM TẠI NGÂN HÀNG CÔNG THƯƠNG VIỆT NAM . thống công nghệ thông tin trong ngân hàng Công Thương Việt Nam 46 3.2 Quy trình cập nhật các phần mềm nghiệp vụ trong ngân hàng Công Thương Việt Nam 47

Ngày đăng: 17/02/2014, 20:16

Hình ảnh liên quan

Vợ dụ: Cõc bước để mọ hoõ chuỗi "!BAN!BA!BAA!BAR!" như sau (Bảng 4. 1): -  Bước 1: Kợ tự thứ nhất ‘!’ được cất vỏo bộ đệm chứa để chuẩn bị tạo nởn một  - công nghệ nén delta ứng dụng trong cập nhật phần mềm tại ngân hàng công thương việt nam

d.

ụ: Cõc bước để mọ hoõ chuỗi "!BAN!BA!BAA!BAR!" như sau (Bảng 4. 1): - Bước 1: Kợ tự thứ nhất ‘!’ được cất vỏo bộ đệm chứa để chuẩn bị tạo nởn một Xem tại trang 15 của tài liệu.
Bảng 2.1: Cõc kết quả nờn cho bộ dữ liệu gcc vỏ emacs (KB /s) - công nghệ nén delta ứng dụng trong cập nhật phần mềm tại ngân hàng công thương việt nam

Bảng 2.1.

Cõc kết quả nờn cho bộ dữ liệu gcc vỏ emacs (KB /s) Xem tại trang 24 của tài liệu.
2.3 Thuật toõn nờn Delta - công nghệ nén delta ứng dụng trong cập nhật phần mềm tại ngân hàng công thương việt nam

2.3.

Thuật toõn nờn Delta Xem tại trang 24 của tài liệu.
Bảng 2.2: Cõc kết quả nờn cho tập dữ liệu gcc vỏ emacs (KB) - công nghệ nén delta ứng dụng trong cập nhật phần mềm tại ngân hàng công thương việt nam

Bảng 2.2.

Cõc kết quả nờn cho tập dữ liệu gcc vỏ emacs (KB) Xem tại trang 44 của tài liệu.
Bảng đối chiếu encoding cõc bộ chữ hiện hỏnh với Unicode - công nghệ nén delta ứng dụng trong cập nhật phần mềm tại ngân hàng công thương việt nam

ng.

đối chiếu encoding cõc bộ chữ hiện hỏnh với Unicode Xem tại trang 74 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan