Chương trớnh nỏy được đặt tại Server TW, với cõc chức năng chợnh như sau:
Hớnh 3.2: Cõc mừ đun chợnh chương trớnh quản lý tại Server TW
Dưới đóy sẽ mừ tả chi tiết từng chức năng của chương trớnh. 3.3.2.2.1 Quản lý gụi cập nhật
Chức năng Quản lý gụi cập nhật bao gồm cõc chức năng sau: Chương trớnh quản lý tại Server TW Quản lý gụi cập nhật Quản lý danh sõch chi nhõnh Quản lý danh sõch ứng dụng Upload thủ cừng gụi cập nhật Xem nhật ký upload
Hớnh 3.3: Cõc chức năng của mừ đun Quản lý gụi cập nhật
Chức năng Xụa gụi cập nhật cụ thể được thực hiện khi gụi cập nhật khừng cún cần thiết trởn hệ thống nữa, người sử dụng cụ thể tiến hỏnh xụa để dọn dẹp hệ thống. Chức năng Tạo mới/ chỉnh sửa gụi cập nhật cụ luồng xử lý tương tự nhaụ
Hớnh 3.4: Lưu đồ chức năng Tạo mới/chỉnh sửa gụi cập nhật
Quản lý gụi cập nhật
Tạo mới gụi cập nhật Chỉnh sửa gụi cập nhật Xụa gụi cập nhật Start Fold Fnew
Version (Fold) < Version (Fnew) ?
Fold UTFold Fnew UTFnew Y
N
Create Patch File
Đầu vỏo của mừ đun Tạo mới/ Chỉnh sửa gụi cập nhật bao gồm file chương trớnh cũ vỏ file chương trớnh mớị Hai file chương trớnh nỏy phải cỳng tồn tại trởn mõy chạy mừ đun.
Đầu tiởn, chương trớnh thực hiện so sõnh version của hai filẹ Việc so sõnh nỏy cụ thể thực hiện dựa trởn ngỏy/giờ tạo của mỗi chương trớnh. Nếu file Fold cụ version mới hơn file Fnew thớ chương trớnh đưa ra thừng bõo cho người sử dụng kiểm tra lạị
Để thực hiện tạo Patch file, chương trớnh cần thực hiện chuyển đổi cõc file sang dạng mọ UTF (xem bảng mọ UTF8 trong phần phụ lục tham khảo).
Về kỹ thuật tạo patch file đọ được trớnh bỏy trong phần trởn, dưới đóy sẽ mừ tả hỏm cơ bản được dỳng trong quõ trớnh tạo patch filẹ
CreatePatchFile cụ cõc tham số sau
BOOL CreatePatchFile(
LPCTSTRlpszPatchFile, // name of patch file
DWORDdwPatchLevel, // patch level
DWORDdwPatchOptions, // patch options
DWORD dwPatchExpires, // patch expiration
DWORDdwReserved, // reserved
LPCTSTRlpszPassword, // password
LPCTSTRlpszOldFile, // name of old file
LPCTSTRlpszNewFile, // name of new file
LPPATCHSTATUSPROClpfnCallback, // pointer to callback function
LPARAMlParam // callback function parameter
);
Giải thợch cõc tham số LpszPatchFile
Một con trỏ chỉ ra tởn của patch file được tạo rạ Nếu đọ tồn tại một file với tởn đụ rồi, file sẽ được ghi độ.
DwPatchLevel
Cụ giõ trị từ 1 đến 9 xõc định tốc độ vỏ dung lượng bộ nhớ trong việc tạo patch filẹ Nếu Patch level cỏng cao, patch file sẽ cỏng nhỏ, bộ nhớ yởu cầu cỏng nhỏ. Giõ trị 0 lỏ mức patch file mặc định phỳ hợp cho hầu hết cõc filẹ
Xem bảng sau:
PATCH_LEVEL_DEFAULT Một mức nờn mặc định nởn được lựa chọn để phỳ hợp với hầu hết cõc filẹ Giõ trị nỏy nởn được sử dụng.
PATCH_LEVEL_MINIMUM Tốc độ cực đại trong việc tạo patch file, với tuỳ chọn nỏy, patch file được tạo ra nhanh hơn, sử dụng ợt bộ nhớ hơn, patch file được tạo ra cụ kợch thước lớn hơn. PATCH_LEVEL_MAXIMUMTỷ lệ nờn file lớn nhất, quõ trớnh tạo file nờn lóu hơn,
tốn nhiều bộ nhớ hơn vỏ tạo ra patch file nhỏ hơn. dwPatchOptions
Một tập cõc tuỳ chọn được sử dụng trong khi thực hiện quõ trớnh tạo patch filẹ
Một trong cõc giõ trị sau sẽ được sử dụng:
Giõ trị Mừ tả
PATCH_OPTION_FIND_FILE Nếu file tham chiếu khừng được tớm thấy trong hệ thống, chương trớnh sẽ cố gắng tớm theo cõc quy tắc về đường dẫn thư mục chuẩn của Windows. Theo đụ, thư mục hiện thời, thư mục hệ thống, vỏ cõc thư mục trong biến mừi trường PATH sẽ được tớm.
PATCH_OPTION_BACKUP_FILE Tạo một file backup trởn hệ thống trước khi õp dụng patch filẹ Nếu cờ nỏy khừng được dựng, file sẽ được cập nhật ngay mỏ khừng cụ bản backup.
PATCH_OPTION_COMPARE_FILETIME So sõnh thời gian file đợch được chỉnh sửa với thời gian file tham chiếu được chỉnh sửạ Nếu file đợch cụ thời gian chỉnh sửa muộn hơn so với file tham chiếu tại thời điểm patch đọ được tạo, chương trớnh sẽ đưa ra lỗi
AP_ERROR_NEWER_FILETIMẸ Điều nỏy đảm bảo rằng file cập nhật luừn cụ thời gian chỉnh sửa sau
file tham chiếụ
PATCH_OPTION_COMPARE_VERSION So sõnh phiởn bản của file tham chiếu với file đợch. Nếu file tham chiếu cụ phiởn bản mới hơn so với file đợch tại thời điểm patch file được tạo thớ chương trớnh sẽ đưa ra lỗi:
AP_ERROR_NEWER_VERSION. Điều nỏy đảm bảo rằng file cập nhật luừn cụ phiởn bản mới hơn file tham chiếu
PATCH_OPTION_IGNORE_FILETIME Bỏ qua sự khõc nhau về thời gian chỉnh sửa file của cõc file đợch vỏ file tham chiếu tại thời điểm patch file được tạo rạ
PATCH_OPTION_IGNORE_VERSION Bỏ qua sự khõc nhau về phiởn bản file của cõc file đợch vỏ file tham chiếu tại thời điểm patch file được tạo rạ
PATCH_OPTION_IGNORE_ATTRIBUTES Bỏ qua cõc thuộc tợnh file cập nhật khi patch được õp dụng trởn hệ thống vỏ thay vỏo đụ, sử dụng cõc thuộc tợnh mặc định.
PATCH_OPTION_IGNORE_READONLY Bỏ qua thuộc tợnh read-only khi õp dụng patch filẹ Nếu file cần cập nhật cụ thuộc tợnh nỏy, nụ sẽ được loại bỏ.
PATCH_OPTION_IGNORE_SIGNATURE Bỏ qua bất kỳ chữ ký điện tử nỏo được hiển thị. Nếu file cập nhật đọ được ký bởi mọ xõc thực, chữ ký sẽ được xõc thực tại thời điểm patch được õp dụng.
dwPatchExpires
Xõc định số ngỏy patch cụ thể được õp dụng. Khi ngỏy hết hạn được đạt tới, patch file sẽ khừng cún được õp dụng nữạ Giõ trị 0 thể hiện patch file khừng bao giờ hết hạn.
lpszPassword
Một con trỏ tới xóu password được dỳng để bảo mật. Patch file sau khi được tạo ra, sẽ chưa được õp dụng cho đến khi password được cung cấp trong hỏm ApplyPatchFilẹ
Nếu khừng dỳng password, tham số nỏy sẽ được đặt lỏ NULL để trỏ tới một xóu rỗng.
lpszOldFile
Một con trỏ tới một xóu khừng rỗng xõc định tởn của file tham chiếụ
lpszNewFile
Một con trỏ tới một xóu khừng rỗng xõc định tởn của file cập nhật. File nỏy sẽ được so sõnh lại với file tham chiếu, bất kỳ thay đổi nỏo cũng sẽ được ghi trong patch filẹ
Cõc giõ trị trả về
Nếu hỏm CreatePatchFile thỏnh cừng, nụ sẽ trả về một giõ trị khõc 0. Ngược lại, nếu hỏm lỗi, nụ sẽ trả về giõ trị 0. Để biết cõc lỗi cụ thể cụ, tham khảo thởm hỏm GetLastError.
Chỷ ý
Để õp dụng patch file trởn hệ thống, sử dụng hỏm ApplyPatchFilẹ Khi patch level cỏng cao, chương trớnh sẽ thực hiện phón tợch cõc file tham chiếu vỏ file cập nhật cỏng lóụ Nụ cũng sử dụng tới nhiều bộ nhớ hơn. Chỷ ý rằng, trong một vỏi trường hợp, tuỳ thuộc vỏo cấu trỷc bởn trong của file, patch level lớn nhất cụ thể sẽ lỏm tăng kợch thước của patch file kết quả. Vớ vậy, ta nởn sử dụng patch level mặc định.
Nếu cả PATCH_OPTION_COMPARE_FILETIME vỏ PATCH_OPTION_IGNORE_FILETIME đều khừng được thiết lập, thớ PATCH_OPTION_COMPARE_FILETIME lỏ mặc định. Nếu cả
PATCH_OPTION_COMPARE_FILETIME vỏ
PATCH_OPTION_IGNORE_FILETIME đều được thiết lập, thớ PATCH_OPTION_IGNORE_FILETIME giỏnh quyền ưu tiởn.
Nếu cả PATCH_OPTION_COMPARE_VERSION vỏ
PATCH_OPTION_IGNORE_VERSION đều khừng được thiết lập, thớ PATCH_OPTION_COMPARE_VERSION lỏ mặc định. Nếu cả
PATCH_OPTION_COMPARE_VERSION vỏ
PATCH_OPTION_IGNORE_VERSION được thiết lập, thớ PATCH_OPTION_IGNORE_VERSION giỏnh quyền ưu tiởn. 3.3.2.3.2 Quản lý danh sõch chi nhõnh
Để thực hiện cập nhật tự động đến từng Server chi nhõnh, IP của cõc Server nỏy cần được cung cấp. Chương trớnh upload tự động sẽ tớm đến cõc IP nỏy, vỏ tiến hỏnh upload cõc patch file lởn cõc Server đụ. Cõc mừ đun chợnh của chức năng Quản lý danh sõch chi nhõnh bao gồm:
Hớnh 3.5: Cõc chức năng của mừ đun Quản lý danh sõch chi nhõnh
Khi cụ một chi nhõnh mới mở trong hệ thống, chi nhõnh nỏy cần được cập nhật vỏo danh sõch. Cũng vậy, khi một chi nhõnh đụng cửa, chi nhõnh nỏy cần được xoõ khỏi danh sõch. Khi IP mõy chủ chi nhõnh cụ thay đổi, hoặc khi tởn chi nhõnh cụ thay đổi, cõc thừng tin thay đổi cũng cần được cập nhật trong database tại trung ương. Cụ như vậy, chương trớnh upload mới tớm đỷng địa chỉ cần upload cõc patch filẹ
Chức năng Quản lý danh sõch chi nhõnh thực chất được thực hiện bởi cõc thao tõc Insert, Update, Delete vỏo bảng brn_list trong database tại server trung ương. Theo đụ, chương trớnh upload sẽ tiến hỏnh thao tõc upload patch file lởn cõc IP trong bảng brn_list.
Sửa tởn chi nhõnh Sửa IP chi nhõnh
Quản lý danh sõch chi nhõnh
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
3.3.2.3.3 Quản lý danh sõch ứng dụng
Chức năng quản lý danh sõch ứng dụng nhằm cung cấp đầu vỏo cho chức năng Quản lý gụi cập nhật. Chức năng Quản lý gụi cập nhật chỉ thực hiện tạo patch file được cho cõc ứng dụng nằm trong danh sõch ứng dụng do chức năng Quản lý danh sõch ứng dụng cung cấp. Tại trung ương, chỉ quản lý tởn cõc ứng dụng phục vụ cho quõ trớnh tạo patch filẹ Tại chi nhõnh, mỗi khi quõ trớnh cập nhật ứng dụng được thực hiện, tởn vỏ version của ứng dụng đụ sẽ được cập nhật lại trong database tại Server chi nhõnh.
Brn_lst - Mọ CN - Tởn CN - IP Server CN Quản lý DS CN Thởm mới Chỉnh sửa Xoõ Delete Update Insert Chương trớnh upload tự động Địa chỉ IP Quản lý gụi cập nhật Patch file Server CN1 (IP1) Server CN2 (IP2) Server CN3 (IP3) Patch file
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
Cũng giống chức năng Quản lý danh sõch chi nhõnh, chức năng Quản lý danh sõch ứng dụng gồm ba mừ đun chợnh: Thởm mới ứng dụng, Chỉnh sửa ứng dụng vỏ Xoõ ứng dụng.
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
3.3.2.3.4 Upload thủ cừng gụi cập nhật
Sau khi gụi cập nhật được tạo xong, gụi sẽ được đẩy tự động xuống cõc Server vỳng, vỏ Server chi nhõnh bằng chương trớnh đặt lịch tự động (đọ nụi ở trởn). Tuy nhiởn, theo yởu cầu nghiệp vụ, cụ thể cụ một số chi nhõnh bắt buộc phải được chạy trước.
Quản lý danh sõch ứng dụng Thởm mới ứng dụng Chỉnh sửa ứng dụng Xoõ ứng dụng Quản lý DS ứng dụng Thởm mới ứng dụng Chỉnh sửa ứng dụng Xoõ ứng dụng Insert Update Delete Quản lý gụi cập nhật Tởn ứng dụng
Fold: Name(Fold)=Tởn ƯD Fnew:Name(Fnew)=Tởn ƯD
Patch file App_list
- App_name - App_desc
Tương tự, đối với trường hợp chi nhõnh khừng nhận được gụi cập nhật (do lỗi đường truyền chẳng hạn), gụi cập nhật cần được upload bằng taỵ
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
3.3.2.3.5 Xem nhật ký upload
Khi chức năng Upload tự động/ Upload thủ cừng được thực hiện, chương trớnh ghi lại ngỏy giờ, trạng thõi upload tới mỗi Server vỳng, Server chi nhõnh. Dựa vỏo đụ, chức năng xem nhật ký upload giỷp người quản trị biết tớnh trạng upload gụi cập nhật tới mỗi Server vỏ cụ hướng xử lý cho cõc trường hợp phõt sinh lỗị
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. Quản lý DS chi nhõnh Quản lý gụi cập nhật IP chi nhõnh Upload thủ cừng gụi cập nhật Patch file Chương trớnh upload tự động Mừ đun: Upload thủ cừng Package_update - Package_name - From version - To version - Upload time - Server - Status Insert/Update Insert/Update Xem nhật ký upload
3.3.3 Thực thi chương trớnh
3.3.3.1 Chương trớnh đặt lịch tự động
- Chạy chương trớnh Scheduled Tasks của Windows - Chọn Ađ Scheduled Task
Hớnh 3.11: Thực thi chương trớnh đặt lịch tự động (1)
Hớnh 3.12: Thực thi chương trớnh đặt lịch tự động (2)
- Chọn Browse
Hớnh 3.13: Thực thi chương trớnh đặt lịch tự động (3)
Hớnh 3.14: Thực thi chương trớnh đặt lịch tự động (4)
- Đặt tởn cho Task lỏ Auto Update Task vỏ chọn Perform this task lỏ Daily - Chọn Next
Hớnh 3.15: Thực thi chương trớnh đặt lịch tự động (5)
- Đặt Start time lỏ 7:00 PM - Chọn Next
Hớnh 3.16: Thực thi chương trớnh đặt lịch tự động (6)
- Nhập user name vỏ password - Chọn Next
Hớnh 3.17: Thực thi chương trớnh đặt lịch tự động (6)
3.3.3.2 Chương trớnh quản lý trởn server TW Giao diện chương trớnh như sau: Giao diện chương trớnh như sau:
Hớnh 3.18: Giao diện mỏn hớnh quản lý trởn Server TW
3.3.3.2.1 Quản lý gụi cập nhật
Từ mỏn hớnh chương trớnh, chọn Package Manager.
Nhấn vỏo nỷt Create Update Package, mỏn hớnh sẽ hiển thị:
Hớnh 3.19: Thực thi mừ đun Quản lý gụi cập nhật (1)
- Nhấn vỏo nỷt Ađ để tạo gụi cập nhật:
Hớnh 3.20: Thực thi mừ đun Quản lý gụi cập nhật (2)
- Nhập mọ vỏ tởn của gụi cập nhật.
- Nhấn vỏo nỷt Ađ để tạo cập nhật cho file
Hớnh 3.21: Thực thi mừ đun Quản lý gụi cập nhật (3)
- Nhập cập nhật từ phiởn bản (From Version) nỏo tới phiởn bản nỏo (To Version).
- Chọn Create để tạo patch file cập nhật
Hớnh 3.22: Thực thi mừ đun Quản lý gụi cập nhật (4)
- Chọn file cũ (Old File), file mới (New File) vỏ nhập patch file sau đụ nhấn nỷt Make để tạọ
- Sau khi đọ tạo xong cõc cập nhật, nhấn nỷt Save để lưu gụi cập nhật. - Cõc gụi cập nhật sau khi được tạo ra sẽ được upload theo lịch xuống cõc
Server Vỳng (Server Chi nhõnh) cụ trong danh sõch. 3.3.3.2.2 Quản lý danh sõch chi nhõnh
Hớnh 3.23: Thực thi mừ đun Quản lý danh sõch chi nhõnh (1)
- Danh sõch cõc chi nhõnh được sử dụng để upload sẽ được hiển thị. - Nhấn vỏo nỷt Ađ để thởm chi nhõnh mới vỏo danh sõch.
Hớnh 3.24: Thực thi mừ đun Quản lý danh sõch chi nhõnh (2)
Nhập Mọ chi nhõnh, Tởn chi nhõnh, Địa chỉ IP mõy chủ chi nhõnh, tởn database chi nhõnh.
Hớnh 3.25: Thực thi mừ đun Quản lý danh sõch chi nhõnh (3)
- Nhấn vỏo nỷt Delete để xụa chi nhõnh trong danh sõch. 3.3.3.2.3 Quản lý danh sõch ứng dụng
Từ mỏn hớnh chương trớnh, chọn nỷt Application Manager.
Hớnh 3.26: Thực thi mừ đun Quản lý danh sõch ứng dụng (1)
Hớnh 3.27: Thực thi mừ đun Quản lý danh sõch ứng dụng (2)
- Nhập Application Code (Mọ của ứng dụng, VD: ISAPP, BDS,…) vỏ Application
Name (Tởn của ứng dụng) sau đụ nhấn Ađ để khai bao cõc file trong ứng dụng.
- Chọn Save để lưu lại ứng dụng mới vừa tạọ - Chọn Modify để thay đổi ứng dụng đọ cụ. - Chọn Delete để xụa bỏ ứng dụng.
3.3.3.2.4 Upload thủ cừng gụi cập nhật
Từ mỏn hớnh chương trớnh, nhấn vỏo nỷt Upload To Branch Manual, mỏn hớnh sẽ hiển thị:
Hớnh 3.28: Thực thi mừ đun Upload thủ cừng gụi cập nhật (1)
Hớnh 3.29: Thực thi mừ đun Upload thủ cừng gụi cập nhật (2)
- Chọn chi nhõnh cần upload rồi chọn Upload
Hớnh 3.30: Thực thi mừ đun Upload thủ cừng gụi cập nhật (3)
- Mỏn hớnh sẽ thừng bõo kết quả upload, nhấn Finish để kết thỷc.
3.3.3.2.5 Xem nhật ký upload
Hớnh 3.31: Thực thi mừ đun Xem nhật ký upload (1)
- Lựa chọn việc xem nhật ký theo gụi cập nhật (package) hoặc theo chi nhõnh (branch). Nhấn Next để hiển thị
Hớnh 3.32: Thực thi mừ đun Xem nhật ký upload (2)
Trạng thõi S thể hiện quõ trớnh upload tới Server thỏnh cừng, trạng thõi N thể hiện quõ trớnh upload khừng thỏnh cừng.
CHƯƠNG 4 - KẾT LUẬN 4.1 Kết luận
Cỳng sự phõt triển bỳng nổ của cừng nghệ thừng tin, cụ rất nhiều cừng nghệ nờn ra đời nhằm giảm dung lượng file được lưu trữ trởn đĩa, trởn đường truyền…Mỗi cừng nghệ đều cụ những ưu nhược điểm riởng, phỳ hợp với cõc mục đợch sử dụng khõc nhaụ
Cừng nghệ nờn Delta dựa trởn sự sai khõc nhau giữa hai file (file nguồn vỏ file đợch)