Tải bản đầy đủ (.pdf) (83 trang)

Công nghệ nén tệp thực thi Binary Delta và các ứng dụng trong mạng và truyền dữ liệu máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.36 MB, 83 trang )


ĐẠ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 21
2.1.3 Nền tảng chung 21
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 58
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 66
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. 59
Hình 3.11: Thực thi chương trình đặt lịch tự động (1) 60
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) 61
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) 62
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) 63
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) 64
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) 65

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.

×