Chương 2 - Các Tactic gồm 8 phần trình bày các nội dung: Định nghĩa thuật ngữ, các tactics giải quyết tính sẳn sàng để dùng, các tactics giải quyết tính dễ sử dụng (Usability), các tactic về tính thay đổi được (Modifiability), các tactic giải quyết hiệu suất, các tactic giải quyết an ninh, các tactic giải quyết tính có thể kiểm thử được. Mời các bạn cùng tham khảo.
Trang 1Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
2.6 Các tactic giải quyết an ninh 2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược 2.8 Kết chương
Trang 2Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
thừa
bảo copy dư thừa có thể ₫ược dùng nếu bản gốc bị hỏng
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
thể gây ra ₫ộ lệch của lỗi
Trang 3Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
Sửa chữa &
chuẩn bị phục hồi
VotingThừa chủ ₫ộngThừa thụ ₫ộngDùng secour
Reintroduction
Recovery-bóng ma
₫ồng bộ hóa trạng tháicheckpoint/
Rollback
Phòng ngừa
Không phục vụGiao tácGiám sát process
Đã sửa chữa
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
Phát hiện fault : Ping/Echo
trả lời trong khoảng thời gian qui ₫ịnh
trách nhiệm hỗ tương trên 1 tác vụ
liên lạc
thông
Trang 4Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 7
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
Phát hiện fault : Heartbeat (nhịp tim)
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
Phát hiện fault : Exceptions
khi nhận biết 1 loại fault, 1 exception ₫ược tạo ra : kết quả là fault
₫ược nhận biết
dễ xử lý
Trang 5Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 9
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
Phục hồi sau fault : Voting
như nhau và tính toán ₫ể tạo kết quả (kỳ vọng như nhau)
voter coi nó bị hỏng
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
Phục hồi sau khi hỏng : sự dư thừa chủ ₫ộng (active redundancy)
gởi tới tất cả thành phần dư thừa còn lại
Trang 6Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 11
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
Phục hồi sau khi hỏng : sự dư thừa thụ ₫ộng (passive redundancy)
updates mà chúng phải làm
không trước khi phục hồi dịch vụ
dùng
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
Phục hồi sau khi hỏng : phần tử dự phòng (spare)
thay thế nhiều thành phần hỏng hóc khác nhau :
khi failure xảy ra, ta khởi tạo lại trạng thái cho nó
thái lên thiết bị vĩnh cửu (disk)
Trang 7Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 13
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
Tái tạo fault : hoạt ₫ộng bóng ma
shadow
hành
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
Tái tạo fault : ₫ồng bộ hóa lại trạng thái
nhật trạng thái của mình trước khi trở lại làm việc
Trang 8Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 15
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
Tái tạo fault : checkpoint/rollback
không nhất quán có thể phát hiện ₫ược Hệ thống ₫ược phục hồi bằng :
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
sát sẽ xóa process không làm việc và tạo mới 1 instance khác thay thế : phải ₫ược khởi tạo với trạng thái phù hợp như trong tactic dùng phần tự dự phòng
Trang 9Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
+ liên quan tới các tactic giải quyết tính có thể hiệu chỉnh
2.3 Các tactics giải quyết tính dễ sử dụng (Usability)
các tactic tại thời ₫iểm chạy
Trang 10Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
Các tactic tại thời ₫iểm thiết kế
Tách giao tiếp useryêu cầu của user
Cung cấp phản hồi và hỗ trợphù hợp cho user
chủ ₫ộng user
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
trong việc hiện thực, kiểm thử, hiệu chỉnh và phân phối
thay ₫ổi
tới các module bị khoanh vùng
phân phối và chi phí
Trang 11Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 21
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Tính thay ₫ổi ₫ược
Khoanh vùng các thay ₫ổi
Nhất quán ngữ nghĩa
dự ₫oán các thay ₫ổitổng quát hóa moduledịch vu chung trừu tượng
Ngừa các hiệu ứng dây chuyền
Ẩn thông tinDuy trì giao tiếp tồn tạihạn chế ₫ường liên lạcdùng ptử trung gian
Trì hoản thời ₫iểm liên kết
₫ăng ký tại td chạyfile cấu hình
Đa xạThay thế thành phầnĐính vào các gt ₫ã có
Các thay
₫ổi tới
Đã thay ₫ổi, kiểm thử, phân phối
trong thời gian
và kinh phíxác ₫ịnh
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Khoanh vùng các thay ₫ổi : duy trì tính nhất quán ngữ nghĩa
trong 1 module
dù có hay không sự dựa dẫm quá nhiều vào những module khác
sự nhất quán ngữ nghĩa
Trang 12Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 23
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Khoanh vùng các thay ₫ổi : dịch vụ chung trừu tượng
trong từng module dùng chúng
hưởng ₫ến các user khác
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Khoanh vùng các thay ₫ổi : tiên ₫oán các thay ₫ổi ₫ược chờ ₫ợi
giá việc gán các trách nhiệm
các module cần thay ₫ổi ?
module ?
Trang 13Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 25
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Khoanh vùng các thay ₫ổi : tổng quát hóa module chức năng
rộng các chức năng dựa vào kiểu thông tin nhập
nhập như là các chương trình trong ngôn ngữ thông dịch ₫ó
ngôn ngữ nhập
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Phòng ngữa các hiệu ứng lan truyền
bị khoanh vùng
trách nhiệm cần ₫ược ₫iều chỉnh ₫ể thực hiện ₫ược sự thay
₫ổi
module có các trách nhiệm vẫn không ₫ổi nhưng sự hiện thực cần ₫ược thay ₫ổi ₫ể phù hợp với các module bị tác ₫ộng trực tiếp
Trang 14Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 27
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Các hiệu ứng lan truyền
nó
vào các module liên quan trực tiếp ₫ến sự thay ₫ổi
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Các kiểu phụ thuộc
interface, location of A, quality of service, existence of A, resource behavior of A
Trang 15Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
nhất quán nhau
vọng của B
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Sự phụ thuộc ngữ nghĩa
cần ₫ược nhất quán với kỳ vọng của B
kỳ vọng của B
Trang 16Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
trước
nhất quán với các kỳ vọng của B
Trang 17Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
quan ₫ến chất lượng phải nhất quán với kỳ vọng của B
phục vụ
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Các tactic ₫ể phòng ngừa hiệu ứng lan truyền
duy trì các interface tồn tại
Trang 18Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
nào ₫ể ẩn và thông tin nào ₫ể public
lan truyền từ module này sang module khác
thay ₫ổi này làm cơ sở cho việc phân rã)
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Duy trùy các interface luôn tồn tại
của A sẽ làm B không thay ₫ổi
Trang 19Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
-> giảm ₫ược hiệu ứng lan truyền
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Dùng phần tử trung gian
Trang 20Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 39
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Trì hoản thời gian liên kết
khác nhau
cấp input mà ảnh hưởng ₫ến hành vi
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
Các tactic mà ảnh hưởng tại thởi ₫iểm load/chạy
₫ể quản lý việc ₫ăng ký
file cấu hình : thiết lập các thông số tại thời ₫iểm bắt ₫ầu
chạy các process ₫ộc lập
Trang 21Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 41
2.5 Các tactic giải quyết hiệu suất
gian ràng buộc
₫ổi trạng thái có ý nghĩa,
với nó
2.5 Các tactic giải quyết hiệu suất
Hiệu suất
Xin tài nguyên
Tăng hiệu quả tính Giảm chí phí tính Quản lý tốc ₫ộ event
Quản lý tài nguyên
Tạo sự ₫ồng thời Quản lý các copy Tăng tài nguyên có sẵn
Trọng tài tài nguyên
Trang 22Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 43
2.5 Các tactic giải quyết hiệu suất
Tactic xin tài nguyên
dòng thường xuyên ra sao)
2.5 Các tactic giải quyết hiệu suất
Giảm số tài nguyên cần dùng
việc xử lý liên quan ₫ến giải thuật -> cải tiến giải thuật
nhu cầu tính toán của nó
Trang 23Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 45
2.5 Các tactic giải quyết hiệu suất
Giảm số sự kiện ₫ược xử lý
sát các biến môi trường
của các sự kiện ₫ược tạo ra từ ngoài thì các request ₫ợi có thể
₫ược lấy mẫu ở tần số thấp hơn (có thể mất request)
₫ược dùng cho mỗi sự kiện
hàng ₫ợi
2.5 Các tactic giải quyết hiệu suất
Quản lý tài nguyên
nhau (tạo thêm thread khi cần)
hóa
nhanh hơn, thì sẽ có thêm processor và bộ nhớ
Trang 24Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 47
2.5 Các tactic giải quyết hiệu suất
Trọng tài phân xử tài nguyên
lịch thích hợp
của tactic ₫ược chọn
tối thiểu ₫ộ trễ
sàng
Trang 25Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
1 khoảng thời gian thi hành
2.6 Các tactic giải quyết an ninh
Trang 26Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
hay phục hồi sau tấn công
Phục hồi xem Availability Audit trail
2.6 Các tactic giải quyết an ninh
Trang 27Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
trong quá khứ
số port
liên hợp các cảm biến, database chứa sự kiện ₫ể phân tích, tool ₫ể phân tích và lập báo cáo offline, console kiểm soát ₫ểhiệu chỉnh các hoạt ₫ộng phát hiện xâm phạm
2.6 Các tactic giải quyết an ninh
Các phần tử phát hiện sự xâm phạm
phạm
Trang 28Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 55
2.6 Các tactic giải quyết an ninh
Phục hồi sau khi bị tấn công
: tactic giải quyết tính sẵn sàng ₫ể dùng
vụ "domain name", dữ liệu cá nhân người dùng
duy trì "audit trail"
2.6 Các tactic giải quyết an ninh
Audi trail
tin nhận dạng
request cụ thể ₫ã ₫ược thực hiện
tin cậy
Trang 29Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 57
2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược
phần mềm ₫ã hoàn thành
nhưng rất có giá trị : 40% chi phí phát triển phần mềm
Giám sát bên trong
Trang 30Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 59
2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược
Các tactic I/O : record/playback
+ cho phép ₫ầu vào kiểm thử cho 1 thành phần+ cho kết quả xuất kiểm thử ₫ể so sánh sau ₫ó
2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược
Các tactic I/O : tách interface với hiện thực
khác nhau
cần có thành phần thật
hoạt ₫ộng như tool kiểm thử cho phần còn lại của hệ thống
Trang 31Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 2 : Các tactic
Slide 61
2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược
Các tactic I/O : ₫ặc biệt hóa ₫ường truy xuất/interfcae
nhau cho các thành phần
chức năng ₫òi hỏi
chức năng kiểm thử phải "in place" ₫ể quan sát các ₫áp ứng
2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược
Tactic giám sát bên trong
ninh, có thể ₫ược truy xuất thông qua interface (interface vĩnh cữu hay tạm ₫ược tạo ra cho kiểm thử)
+ chí phí/nổ lực kiểm thử thêm nữa+ ₫ộ có thể thấy ₫ược gia tăng
Trang 32Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM
phi chức năng chính yếu của phần mềm như tính sẵn sàng ₫ể sửdụng, tính dễ sử dụng, tính thay ₫ổi ₫ược, tính hiệu quả, tính cóthể kiểm thử, an ninh