Nghiên cứu xây dựng phương án quản lý nhiều bản sao thông tin (+ program)
Trang 1Để có đợc ngày hôm nay, tôi xinbày tỏ lòng biết ơn gia đình, các thầycô trong Khoa Công nghệ thông tinvà bạn bè đã có những đóng gópthầm lặng, giúp đỡ và tạo điều kiệncho tôi trong suốt thời gian qua.
Một lời cảm ơn chân thành xingửi đến Thầy giáo - Tiến sĩ Lê VănSơn đã tận tình hớng dẫn, cung cấptài liệu và gợi mỡ những ý tởng mớigiúp tôi thành đợc đồ án tốt nghiệp.
Trang 2tóm tắt nội dung đồ án tốt nghiệp
ó n t p trung vĂo viẻc tệm hièu cỗ sờ lỷ thuyặt c a hẻ phàn t n (Distributed System) tữða hẻ phàn tŸn (Distributed System) tữẵĩ nghi n cửu xày dỳng phừỗng n quăn lỷ nhiậu băn sao thỏng tin.Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
Tọ chửc nhiậu băn sao thỏng tin nh m ẵ p ửng khă n ng ọn ẵ nh vĂ hiẻu quă ẵè cung±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung ¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung Ùnh vĂ hiẻu quă ẵè cungcảp tr n nhi u trÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ¿u tr m lĂm viẻc iậu nĂy lĂm t ng tõc ẵổ tẽnh to n ẵóng thội ẵăm băo ẵổ tin¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungc y trong viẻc nhàn băn c c mũc dự liẻu.
Tr n cỗ sờ cỏng nghẻ chuán cho l p trệnh phàn t n CORBA vĂ ngỏn ngự l p trệnh Java,Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.chừỗng trệnh Quăn lỷ tĂi khoăn ngàn hĂng ẵừỡc xày dỳng tuàn theo ỷ ẵó thu t to n c a viẻcða hẻ phàn tŸn (Distributed System) tữẵ ng kỷ quăn lỷ c c băn sao thỏng tin Chừỗng trệnh cho phắp thỳc thi c c thao t c chuán¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungc a hẻ thõng c a mổt ửng dũng lĂ : tiặp nh n vĂ ghi y u cãu chì dạn; d ch y u cãu ẵè cĩða hẻ phàn tŸn (Distributed System) tữ ða hẻ phàn tŸn (Distributed System) tữ Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ùnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.thè tệm thỏng tin cãn thiặt, thỳc hiẻn mổt sõ cỏng viẻc ri ng c a hẻ thõng cũc bổ nhừ : kièmÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ða hẻ phàn tŸn (Distributed System) tữtra quyận truy c p thỏng tin, tẽnh to n, vĂ gứi kặt quă cho hẻ thõng ẵơ ph t y u cãu.Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
Chừỗng trệnh xày dỳng theo mỏ hệnh Client/Server ẵ p ửng ẵừỡc y u cãu quan tr ngÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ànghĂng ẵãu lĂ băo vẻ tẽnh toĂn vÂn dự liẻu Chừỗng trệnh ẵơ ẵừỡc cĂi ẵ t vĂ thứ nghiẻm tr n´t vĂ thứ nghiẻm trÅn Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.hẻ thõng mng Windows NT c a Khoa Cỏng nghẻ thỏng tin - Trừộng ða hẻ phàn tŸn (Distributed System) tữ i h c Kỵ thu t -àng
Ă N ng.³ng.
ậ tĂi ẵơ xày dỳng thĂnh cỏng phừỗng n quăn lỷ nhiậu băn sao thỏng tin thỏng qua viẻcẵ ng kỷ phũc vũ ¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung p ửng c c y u cãu thỏng tin tữ xa vĂ c p nh t ẵỏng thội ẵăm băo sỳ g nÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin °nbĩ vĂ toĂn vÂn thỏng tin.
Hẻ phàn t n lĂ mổt trong nhựng lỉnh vỳc ti n tiặn c a ngĂnh Cỏng nghẻ thỏng tin ẵangÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ða hẻ phàn tŸn (Distributed System) tữtr n ẵĂ ph t trièn vĂ ẵÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin t ẵừỡc mổt sõ kặt quă ẵ ng kè iậu nĂy ẵơ mờ ra nhựng hừốngnghi n cửu nhiậu hửa hÂn nh m giăi quyặt c c bĂi to n lốn vĂ phửc tÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung p mổt c ch nhanhchĩng vĂ chẽnh x c c c y u cãu thỏng tin tữ xa vối lừu lừỡng lốn mĂ c c hẻ thõng truyậnÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.thõng khỏng ẵ p ửng ẵừỡc Trong phm vi ẵó n tõt nghiẻp chì tệm hièu vĂ nghi n cửu nhựngÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.vản ẵậ cỗ băn vĂ cỗ sờ c a hẻ phàn t n song vạn ẵừa ra ẵừỡc mổt sõ vản ẵậ cãn phăi giăiða hẻ phàn tŸn (Distributed System) tữquyặt.
Trang 3Mục lục
Lời cảm ơn
Lời cam đoan
tóm tắt nội dung đồ án tốt nghiệp 1
Mục lục 2
Mở đầu 4
CHơng 1: Những vấn đề cơ sở của việc quản lý nhiều bản sao 6
I.Các khái niệm và thuật ngữ 6
I.1 Sự giao dịch (Transaction) 6
I.2 Gắn bó dữ liệu 7
I.2.1 Khái niệm 7
I.2.2 Cơ chế then cài 8
I.3 Tiến trình 9
I.4 Hợp lực và đồng bộ hoá các tiến trình 9
I.5 Cung cấp tài nguyên 10
II Vai trò và tầm quan trọng của việc quản lý nhiều bản sao 10
II.1 Sự đáp ứng của cơ sở dữ liệu phân tán và nhiều bản sao 10
II.2 Những vấn đề đặt ra cho việc quản lý nhiều bản sao 11
III Ví dụ về thông tin có nhiều bản sao 12
III.1 Đặc tả ví dụ 12
III.2 Tổ chức nhiều bản sao 13
Chơng 2: Các phơng tiện quản lý nhiều bản sao 15
I.Thuật toán quản lý nhiều bản sao 15
I.1 Khái quát 15
I.2 Thuật toán đảm bảo sự gắn bó yếu nhờ dấu 16
I.2.1 Nguyên lý 16
I.2.2 Triển khai hệ ổn định 16
I.2.3 Các hành vi bên ngoài của chế độ bình thờng 17
I.3 Thuật toán đảm bảo sự gắn bó yếu nhờ bộ tuần tự 17
I.3.1 Nguyên lý 17
I.3.2 Triển khai hệ ổn định 17
I.3.3 Hành vi bên ngoài của chế độ bình thờng 17
I.4 Thuật toán đảm bảo sự gắn bó mạnh 18
I.4.1 Nguyên lý 18
I.4.2 Triển khai hệ ổn định 18
I.4.3 Hành vi ngoài chế độ bình thờng 19
II Ngôn ngữ lập trình Java hỗ trợ việc lập trình phân tán 19
II.1 Giới thiệu về Java 19
II.2 Java với môi trờng phân tán 20
II.2.1 Java IDL 20
II.2.2 Stub và Skeleton 21
III Công nghệ CORBA (Common Object Request Broker Architecture) 22
III.1 Các thành phần của CORBA 22
III.1.1 CORBA hỗ trợ kiến trúc Client/Server 22
III.1.2 Object Request Broker 23
III.2 Hệ phân tán và CORBA 24
III.2.1 CORBA với hệ thống mạng 24
III.2.2 Quản lý giao dịch trong CORBA 25
Chơng 3 : Thuật toán và chơng trình quản lý các bản sao tài khoản ngân hàng 27
I.Tổ chức dữ liệu 27
I.1 Đối tợng ngân hàng 27
I.2 Đối tợng Tài khoản 28
I.3 Đối tợng Khách hàng 28
Trang 4II M« h×nh Client/Server vµ thuËt to¸n qu¶n lý nhiÒu b¶n sao 30
II.1 X©y dùng hÖ thèng Client/Server 30
II.2 M« t¶ thuËt to¸n qu¶n lý nhiÒu b¶n sao 32
Trang 5Mở đầu
Trớc ngỡng cửa của thế kỷ XXI mọi sự nổ lực của khoa học kỹ thuật nhằm giúp con ngờilàm chủ cuộc sống và khám phá nhiều điều bí ẩn về thế giới xung quanh Với sự phát triển nhvũ bão của ngành Công nghệ thông tin đã thực sự đi vào cuộc sống con ngời mang lại nhữngthay đổi có tính chất cấu trúc của toàn xã hội.
Trong những năm gần đây, trên thế giới và nớc ta lĩnh vực mạng máy tính và hệ thốngthông tin phân tán là những lĩnh vực tiên tiến của ngành Công nghệ thông tin đã có những tiếntriển to lớn không chỉ về vấn đề kỹ thuật - công nghệ mà cả trong lĩnh vực ứng dụng vào cácngành khác nhau nhằm thúc đẩy năng suất và hiệu quả của chính ngành đó Do sự phát triểnnhanh chóng của công nghệ truyền thông và sự bành trớng mạnh mẽ của mạng Internet, cùngvới xu thế toàn cầu hoá trong mọi lĩnh vực, đặc biệt là thơng mại Hệ thống thông tin phân tánkhông còn là thuật ngữ thuần tuý khoa học mà đang trở thành một đối tợng nghiên cứu và ứngdụng của nhiều ngời có nghề nghiệp và phạm vi hoạt động khác nhau.
Trong hoàn cảnh đó đợc sự dẫn dắt và chỉ dạy của Thầy giáo-Tiến sĩ Lê Văn Sơn em chọn
đề tài tốt nghiệp cho chuyên ngành tin học của mình, đề tài "Nghiên cứu xây dựng phơng án
quản lý nhiều bản sao thông tin"
Mục tiêu đề tài hớng đến là nghiên cứu cơ sở lý thuyết từ đó xây dựng phơng án quản lýcác đối tợng phân tán đồng thời xử lý các đối tợng phân tán Với sự hỗ trợ của công nghệchuẩn cho lập trình đối tợng phân tán CORBA (Common Object Request Broker Architecture)và ngôn ngữ lập trình Java nhằm mục đích xây dựng ứng dụng Quản lý tài khoản ngân hàngđiện tử trên hệ thống thông tin phân tán Chơng trình giúp cho ngời sử dụng có thể truy nhậpvà xử lý thông tin về tài khoản của mình từ xa vẫn đảm bảo đợc thông tin chính xác, kịp thờihiệu quả để hệ thống vẫn đợc hoạt động liên tục
Hệ thống thông tin phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) - mộtlĩnh vực tri thức của ngành Công nghệ thông tin vốn phát triển rất nhanh trong phạm vi đồ ántốt nghiệp không thể tìm hiểu đợc hết các khía cạnh mà chỉ dừng lại ở phạm vi các vấn đề cơbản và cơ sở nhng vẫn nêu lên đợc những vấn đề cần phải giải quyết Đồ án tốt nghiệp gồm 3chơng và phụ lục, nội dung của các chơng nh sau:
Chơng 1 : Những vấn đề cơ sở của việc quản lý nhiều bản sao
Chơng này mô tả các khái niệm tổng quan vể hệ phân tán, vai trò và tầm quan trọng củaviệc quản lý nhiều bản sao Chỉ ra các vấn đề trong lĩnh vực phân tán : đồng bộ hoá, cung cấpthông tin, truy cập thông tin,
Chơng 2 : Các phơng tiện để quản lý nhiều bản sao
Trong chơng này giới thiệu khái quát các thuật toán quản lý các bản sao thông tin và tómtắt những điểm chủ yếu của các phơng tiện ứng dụng cho việc lập trình phân tán nh : Côngnghệ CORBA, Ngôn ngữ lập trình Java,
Chơng 3 : Thuật toán và chơng trình quản lý nhiều bản sao tài khoản ngân hàng.
Đặt tả thuật toán và đa ra mô hình cho việc lập trình để quản lý các đối tợng phân tán Xâydựng hệ thống gửi yêu cầu gọi là khách (Client), còn hệ thống tiếp nhận và giải quyết yêu cầugọi là chủ (Server) Hệ thống hoạt động tuân thủ các ý tởng của mô hình Client/Server.
Qua đồ án tốt nghiệp này giúp chúng ta hiểu đợc một số vấn đề cơ bản của hệ phân tán vàthấy đợc lợi ích thực tế trong việc giải quyết các bài toán yêu cầu thông tin từ xa với lu lợngthông tin lớn một cách nhanh chóng và chính xác mà các hệ thống truyền thống nh hệ rời rạcvà tập trung khó có thể đáp ứng đợc.
Trang 6Trong quá trình tìm hiểu và nghiên cứu, bản thân đã có nhiều cố gắng song kiến thức vàkinh nghiệm còn hạn chế nên trong đồ án không tránh khỏi những khiếm khuyết Mong sựthông cảm và góp ý của thầy cô và bạn bè để đề tài đợc tốt hơn Xin thành thật cám ơn!
Đà Nẵng, ngày 19/5/2000 Sinh viên thực hiện
Phạm Bá Hùng
Trang 7CHƯƠNG
Những vấn đề cơ sở của việc quản lý nhiều bản sao
Thuật ngữ hệ phân tán (Distributed System) trong những năm gần đây đợc nhắc đến khánhiều trong ngành khoa học máy tính Nó đợc dùng để đề cập đến các hệ thống xử lý thông tinbao gồm nhiều bộ xử lý (hay bộ vi xử lý) phân bổ tại các vị trí khác nhau và đợc nối ghép vàonhau thông qua các phơng tiện truyền tin và đợc điều khiển bởi một hệ điều hành duy nhất.
Thành phần của hệ phân tán bao gồm các hệ thống cục bộ (mạng hay máy tính đơn), trongđó một (hay nhiều) hệ thống phát các yêu cầu thông tin còn các hệ thống khác trả lời các yêucầu có liên quan đến phần dữ liệu của mình Nói một cách tổng quát là trong hệ luôn diễn raviệc thực hiện các công việc do các hệ thống yêu cầu.
Một câu hỏi đợc đặt ra là : Tại sao lại thực hiện phân tán? Nhiều câu trả lời cho câu hỏinày đã chỉ ra rằng việc xử lý phân tán là nhằm thích ứng tốt hơn việc phân bố ngày càng rộngrãi của các công ty, xí nghiệp, đồng thời một hệ thống nh thế phải có độ tin cậy cao hơn vàkhả năng đáp ứng tốt hơn Quan trọng hơn, nhiều ứng dụng hiện tại của công nghệ máy tính đ-ợc phân tán nh một hệ quả tất yếu Giao thơng điện tử trên Internet, các ứng dụng đa phơngtiện cung cấp theo yêu cầu hoặc các hệ thống điều khiển sản xuất đều minh họa cho nhữngcho những ứng dụng phân tán.
Từ góc độ tổng thể, có thể nói rằng lý do cơ bản của việc xử lý phân tán là do nó có thểgiải quyết tốt hơn các bài toán lớn và phức tạp đang gặp phải hiện nay bằng cách sử dụng mộtbiến thể của quy tắc chia để trị đã đợc biết từ trớc Nếu việc hỗ trợ bằng phần mềm cần chovấn đề xử lý phân tán phát triển đợc, thì có thể giải các bài toán này một cách đơn giản là chianhỏ chúng ra và gán chúng cho các phần mềm đợc chạy trên các máy tính khác nhau, tạo ramột hệ thống chạy trên nhiều bộ phận xử lý nhng có thể hoạt động hiệu quả nhằm thực thi mộttác vụ chung nào đó.
Từ quan điểm kinh tế, cách tiếp cận này có hai u điểm cơ bản Việc tính toán phân táncung cấp một phơng pháp kinh tế nhằm tận dụng đợc sức mạnh tính toán bằng cách sử dụngnhiều bộ phận xử lý nhng có thể hoạt động hiệu quả nhằm thực thi một tác vụ chung nào đó.Lý do kinh tế thứ hai đó là việc giải quyết các bài toán theo từng nhóm hoạt động khá độc lập,có thể kiểm soát đợc chi phí phát triển phần mềm.
Trớc khi tìm hiểu quản lý nhiều bản sao cần phải xem xét các khái niệm và thuật ngữ liênquan đến việc xử lý các đối tợng phân tán.
I Các khái niệm và thuật ngữ
I.1 Sự giao dịch (Transaction)
ĩ lĂ phắp to n hỡp thĂnh mổt lỏ gẽc hoĂn chình mĂ viẻc trièn khai nĩ cĩ thè dạn ẵặnthỳc hiẻn mổt tiặn trệnh duy nhảt hay nhiậu tiặn trệnh ẵừỡc ẵ nh v tr n c c trÙnh vĂ hiẻu quă ẵè cung Ùnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin m kh c nhau.Thực tế giao dịch là chơng trình duy nhất thực hiện từ một trạng thái gắn bó dẫn hệ đếnmột trạng thái gắn bó Tại một thời điểm xác định chỉ có một giao dịch diễn ra Một giao dịchđợc cấu tạo từ một dãy các tác động và các tác động không thể chia nhỏ đợc nữa
Vẽ dũ : Trong hẻ thõng quăn lỷ tĂi khoăn ngàn hĂng, mồi tĂi khoăn ẵừỡc thè hiẻn b ng±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungmổt băn ghi :
- Phắp chuyèn gi tr tữ tĂi khoăn nĂy sang tĂi khoăn kh c ẵừỡc xem nhừ lĂ mổt t cÙnh vĂ hiẻu quă ẵè cungẵổng.
- àngc vĂ ghi mổt băn ghi lĂ c c t c ẵổng, nặu hẻ quăn lỷ files ẵăm băo tẽnh khỏng chiac t ẵừỡc c a chợng.°n ða hẻ phàn tŸn (Distributed System) tữ
Trang 8I.2 G¾n bã d÷ liÖu
I.2.1 Kh¸i niÖm
ChÏnh l¡ sú thâng nh¶t tháng tin trong cïng kho¨ng théi gian tr n to¡n hÎ thâng XemÅn cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin.x¾t mæt t p hìp tháng tin cÜ thÌ truy c p bêi nhiËu tiÆn trÖnh Thot ½·u, sâ lõìng c c ½âi tõìngc c tiÆn trÖnh l¡ câ ½ nh HÎ n¡y ph t triÌn réi rÙnh v¡ hiÎu qu¨ ½Ì cung c theo théi gian, giùa c c ½iÌm quan s t½õìc trng th i, cÜ nghØa l¡ c c gi tr ½âi tõìng v¡ ngù c¨nh thúc hiÎn c a c c tiÆn trÖnh.Ùnh v¡ hiÎu qu¨ ½Ì cung ða hÎ phµn tŸn (Distributed System) t÷Nhõng sau mæt kho¨ng théi gian x¨y ra nhiËu giao d ch c c ½âi tõìng v¡ c c tiÆn trÖnhÙnh v¡ hiÎu qu¨ ½Ì cungphµn t n tr n c c trÅn cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin m kh c nhau li n hÎ tháng qua hÎ thâng vi n tháng Do v y, kháng thÌÅn cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin Ín tháng Do vºy, kháng thÌx c ½ nh ½õìc trÙnh v¡ hiÎu qu¨ ½Ì cung ng th i théi ½iÌm c a hÎ vÖ lû do ½æ trÌ ½õéng truyËn giùa c c trða hÎ phµn tŸn (Distributed System) t÷ m v¡ tÏnhkháng tõçng thÏch giùa c c ½iÌm quan s t trong c c trm d¹n ½Æn trng th i g n bÜ tháng tin°nkháng ½õìc ½¨m b¨o töc l¡ trng th i c a hÎ kháng tho¨ m¬n mæt t p c c r¡ng buæc to¡nða hÎ phµn tŸn (Distributed System) t÷vÂn.
Ho c vÖ lû do hiÎu qu¨, nhiËu giao d ch ½õìc thúc hiÎn song song, thÖ sú g n bÜ kháng´t v¡ thø nghiÎm trÅn Ùnh v¡ hiÎu qu¨ ½Ì cung °ncÝn ½õìc ½¨m b¨o nùa.
Bµy gié, gièi thiÎu mæt loi giao d ch mèi b ng c ch gæp v¡o t¡i kho¨n mæt tý lÎ lìiÙnh v¡ hiÎu qu¨ ½Ì cung ±m ½Ÿp öng kh¨ n¯ng än ½Ùnh v¡ hiÎu qu¨ ½Ì cung
nhu n t n¡o ½Ü.
Kû hiÎu U - c c giao d ch loÙnh v¡ hiÎu qu¨ ½Ì cung i mèi n¡y
T - c c giao d ch chuyÌn kho¨nÙnh v¡ hiÎu qu¨ ½Ì cungv¡ bµy gié, c c r¡ng buæc to¡n vÂn c a hÎ l¡ :ða hÎ phµn tŸn (Distributed System) t÷
P'1 : Thúc hiÎn mæt lõìng giao d ch Ùnh v¡ hiÎu qu¨ ½Ì cung T n¡o ½Ü kháng l¡m thay ½äi täng c a t¶tða hÎ phµn tŸn (Distributed System) t÷c¨ c c t¡i kho¨n.
P'2 : Trong mæt t¡i kho¨n, sâ dõ bao gié cñng 0.
P'3 : Thúc hiÎn n giao d ch loÙnh v¡ hiÎu qu¨ ½Ì cung i U nµng täng c a c c t¡i kho¨n b ng ða hÎ phµn tŸn (Distributed System) t÷ ±m ½Ÿp öng kh¨ n¯ng än ½Ùnh v¡ hiÎu qu¨ ½Ì cung (1 + t)n
C·n lõu û r ng nÆu cho ph¾p c c giao d ch lo±m ½Ÿp öng kh¨ n¯ng än ½Ùnh v¡ hiÎu qu¨ ½Ì cung Ùnh v¡ hiÎu qu¨ ½Ì cung i U v¡ T hot ½æng song song, thÖ cÜ nguy
cç ph vê ½ c tÏnh ´t v¡ thø nghiÎm trÅn P'3.
VÏ dò : H¬y xem x¾t mæt hÎ bao gãm hai t¡i kho¨n A v¡ B, trong ½Ü cÜ hai giao d chÙnh v¡ hiÎu qu¨ ½Ì cung½õìc thúc hiÎn theo kiÌu tõçng tranh nhau (truy nh p v¡o tháng tin dïng chung cïng mæt lîc):
Giao d ch Ùnh v¡ hiÎu qu¨ ½Ì cung T Giao d ch Ùnh v¡ hiÎu qu¨ ½Ì cung U
A := A - P A := (1 + t) * A B := B + P B := (1 + t) * B
v¡ gi¨ sø r ng ½·u ti n ph¨i kiÌm tra ½iËu kiÎn A ±m ½Ÿp öng kh¨ n¯ng än ½Ùnh v¡ hiÎu qu¨ ½Ì cung Ån cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin P.
NÆu trÖnh tú thúc hiÎn c a t c ½æng sç ½ ng c a hai giao d ch nhõ sau :ða hÎ phµn tŸn (Distributed System) t÷ ²ng cða hai giao dÙch nhõ sau : ða hÎ phµn tŸn (Distributed System) t÷ Ùnh v¡ hiÎu qu¨ ½Ì cungA := A - P
A := (1 + t) * AB := (1 + t) * BB := B + P
thÖ ½iËu kiÎn P'3 kháng ½õìc kiÌm tra.
Thúc tÆ, nÆu trõèc khi thúc hiÎn hai giao d ch A = 1 000, B = 2 000 v¡ nÆuÙnh v¡ hiÎu qu¨ ½Ì cung
t = 0.1 v¡ P = 500, thÖ sau khi thúc hiÎn chîng ta cÜ A + B = 3300, trong khi ½Ü ta li cÜ A + B =3250.
Do ½Ü v¶n ½Ë ½õìc ½ t ra ê ½µy l¡ ph¨i triÌn khai giao d ch tr n cç sê tán tr ng sú g n bÜ.´t v¡ thø nghiÎm trÅn Ùnh v¡ hiÎu qu¨ ½Ì cung Ån cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin àng °n
I.2.2 C¬ chÕ then cµi
Ì gi¨i quyÆt v¶n ½Ë n¡y cÜ thÌ p dòng c c r¡ng buæc tr n tr t tú thúc hiÎn c c t cÅn cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin.½æng dúa tr n cç chÆ then c¡i.Ån cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin.
Mæt giao d ch n¡o ½Ü ½ang thúc hiÎn ph¾p then c¡i tr n mæt ½âi tõìng muân gi¡nhÙnh v¡ hiÎu qu¨ ½Ì cung Ån cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin.quyËn sø dòng ½âi tõìng n¡y theo mæt v¡i kiÌu truy c p nh¶t ½ nh Cç chÆ then c¡i g n hayÙnh v¡ hiÎu qu¨ ½Ì cung
Trang 9khỏng g n quyận truy c p nĂy c n cử vĂo quy t c tiận ẵ nh nhừ : lo¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung °n Ùnh vĂ hiẻu quă ẵè cung i trữ từỗng họ, lu t ẵ c-ànghiẻu chình,
Nặu quyận ẵừỡc thữa nh n, thệ ẵõi từỡng b cĂi then bời giao d ch Nặu khỏng, tiặnÙnh vĂ hiẻu quă ẵè cung Ùnh vĂ hiẻu quă ẵè cungtrệnh thỳc hiẻn giao d ch b khĩa vĂ ẵõi từỡng khỏng b cĂi then Ùnh vĂ hiẻu quă ẵè cung Ùnh vĂ hiẻu quă ẵè cung Ùnh vĂ hiẻu quă ẵè cung Cỗ chặ then cĂi chophắp mổt giao d ch cĩ thè giăi phĩng ẵõi từỡng mĂ nĩ ẵơ cĂi then Mổt quy t c cho viẻc thenÙnh vĂ hiẻu quă ẵè cung °ncĂi ch n lỳa ẵõi từỡng ẵừỡc ẵừa ra lĂ:àng
Mổt giao d ch thay ẵọi gi tr c a ẵõi từỡng phăi loÙch thay ẵọi giŸ trÙ cða ẵõi từỡng phăi loŸ trÙ cða ẵõi từỡng phăi lo Ùch thay ẵọi giŸ trÙ cða ẵõi từỡng phăi lo ða ẵõi từỡng phăi loi trữ tảt că c c ẵõi từỡng kh cŸ trÙ cða ẵõi từỡng phăi loŸ trÙ cða ẵõi từỡng phăi lomuõn truy c p, ngừỡc lºp, ngừỡc li, viẻc truy c p ẵừỡc tiặn hĂnh theo kièu từỗng tranh.ºp, ngừỡc l
Nĩi mổt c ch chẽnh x c hỗn, mổt giao d ch ẵừỡc g i lĂ ph t trièn nặu:Ùnh vĂ hiẻu quă ẵè cung àng
1 Mổt phắp to n chì ẵừỡc thỳc hiẻn tr n mổt ẵõi từỡng sau khi ẵõi từỡng ẵĩ ẵơ ẵừỡc cĂiÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.then bời giao d ch theo kièu từỗng thẽch vối phắp to n ẵĩ.Ùnh vĂ hiẻu quă ẵè cung
2 Khỏng cĩ giao d ch nĂo cĂi then ẵừỡc tr n ẵõi từỡng mĂ trừốc ẵĩ ẵơ b cĂi thenÙnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ùnh vĂ hiẻu quă ẵè cungcủng bời chẽnh giao d ch ẵĩ, ngoÙnh vĂ hiẻu quă ẵè cung i trữ theo kièu loi trữ trong trừộng hỡp trừốc ẵĩ ẵơ sứdũng kièu chia sÁ.
3 Sau khi chảm dửt mổt giao d ch, khỏng cĩ ẵõi từỡng nĂo b cĂi then.Ùnh vĂ hiẻu quă ẵè cung Ùnh vĂ hiẻu quă ẵè cung
C c then cĂi ẵừỡc sứ dũng ẵè hn chặ mổt lốp c c tr t tỳ hĩa cĩ khă n ng ẵừỡc thỳc hiẻn.¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungMổt tr t tỳ hĩa ẵừỡc g i lĂ hỡp thửc nặu :àng
1 õi từỡng ẵừỡc mổt giao d ch cĂi then theo kièu chia sÀ khỏng b bảt cử then cĂiÙnh vĂ hiẻu quă ẵè cung Ùnh vĂ hiẻu quă ẵè cungnĂo theo kièu loi trữ c a c c giao d ch kh c.ða hẻ phàn tŸn (Distributed System) tữ Ùnh vĂ hiẻu quă ẵè cung
2 Mổt ẵõi từỡng b cĂi then theo kièu loÙnh vĂ hiẻu quă ẵè cung i trữ thệ khỏng b bảt kỹ then cĂi mối nĂoÙnh vĂ hiẻu quă ẵè cungnựa.
Do v y, m i cõ g ng cĂi then khỏng phù hỡp vối c c ẵiậu kiẻn từỗng họ n u tr n ẵậuàng °n Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.phăi chộ (b lĂm ch m lÙnh vĂ hiẻu quă ẵè cung i) cho ẵặn khi mờ then.
Chợ ỷ : Mổt giao d ch lĂ tõt, nặu nĩ sứ dũng c c then cĂi phù hỡp vối ẵ c ẵièm c aÙnh vĂ hiẻu quă ẵè cung ´t vĂ thứ nghiẻm trÅn ða hẻ phàn tŸn (Distributed System) tữchợng: mổt tr t tỳ hĩa g i lĂ hỡp thửc, nặu c c then cĂi hoàng t ẵổng phù hỡp vối c c ẵ c ẵièm´t vĂ thứ nghiẻm trÅnnĂy.
I.3 Tiến trình
Tr n thỳc tặ, ẵè "nắm ra" mổt hoÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin t ẵổng tữ xa, mổt m t cãn phăi cĩ thỏng b o mang chì´t vĂ thứ nghiẻm trÅndạn từộng minh chừỗng trệnh cãn phăi thỳc hiẻn vĂ c c tham sõ cãn trao ẵọi, m t kh c, mổt´t vĂ thứ nghiẻm trÅnthỳc thè trong trng th i s n sĂng nh n tr n mổt tr³ng Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin m xa Thỳc thè ẵĩ chẽnh lĂ tiặn trệnh.
Thu t ngự "tiặn trệnh" theo nghỉa thỏng thừộng lĂ thỳc hiẻn chừỗng trệnh tr n mổt trÅn mổt trmx c ẵ nhŸ trÙ cða ẵõi từỡng phăi loÙch thay ẵọi giŸ trÙ cða ẵõi từỡng phăi lo Mổt tiặn trệnh lĂ mổt thĂnh phãn tuãn tỳ c a hoða hẻ phàn tŸn (Distributed System) tữ t ẵổng Giă thiặt r ng tr n mồi±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
trm tón ti mổt chừỗng trệnh cung cảp cho phắp chia sÀ mổt (hay nhiậu) bổ xứ lỷ c a trða hẻ phàn tŸn (Distributed System) tữ m choc c tiặn trệnh (thỏng thừộng sõ lừỡng thay ẵọi) vĂ c c tiặn trệnh c a hai trða hẻ phàn tŸn (Distributed System) tữ m ờ xa cĩ thè traoẵọi thỏng b o nhộ c c hĂm nguy n thủy li n lÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin c.
Viẻc khai th c c c li n hẻ ẵiậu khièn thỏng thừộng kắo theo viẻc chộ ẵỡi thỏng b o khiÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.c c hot ẵổng cãn phăi kặt nõi vối nhau è quăn lỷ c c hot ẵổng ẵừỡc sinh ra tữ xa tr n mồiÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.trm cĩ ẽt nhảt lĂ mổt tiặn trệnh g i lĂ tiặn trệnh ẵ nh thửc ẵang ẵỡi c c thỏng b o Mồi mổtàngthỏng b o ẵíi hịi mổt sỳ nắm ra hot ẵổng cãn phăi chửa lai l ch c a chừỗng trệnh cãn thỳcÙnh vĂ hiẻu quă ẵè cung ða hẻ phàn tŸn (Distributed System) tữhiẻn, c c gi tr tham sõ vĂ tảt că c c thỏng tin cãn thiặt cho viẻc nắm hoÙnh vĂ hiẻu quă ẵè cung t ẵổng nhừ lail ch nguón trong trừộng hỡp sứ dũng li n hẻ ẵiậu khièn kièu trờ vậ, tiặp tũc, Ùnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
Trong hẻ phàn t n khỏng cĩ bổ nhố chung Tảt că c c truy c p tữ xa ẵậu ẵừỡc thỳc hiẻnb ng li n l±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin c giựa c c tiặn trệnh
I.4 Hợp lực và đồng bộ hoá các tiến trình
Trong tảt că c c hẻ thõng tin h c, ta cãn phăi cĩ c c cỏng cũ ẵ màng ða hẻ phàn tŸn (Distributed System) tữ nh cho phắp ẵóng bổhĩa vệ hai nguy n do cỗ băn nhừ sau :Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
C c tiặn trệnh nĩi chung trong ẵĩ cĩ tiặn trệnh xuảt ph t tữ c c ửng dũng ẵổc l p muõntruy c p vĂo c c tĂi nguy n vối sõ lừỡng cĩ hÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin n hay truy c p vĂo thỏng tin dùng chung cùngmổt lợc Hiẻn từỡng nĂy g i lĂ từỗng tranh.àng
V y, từỗng tranh - ẵĩ chẽnh lĂ nguy n nhàn c a viẻc xung ẵổt giựa c c tiặn trệnh muõnÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ða hẻ phàn tŸn (Distributed System) tữtruy c p vĂo tĂi nguy n dùng chung.Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
Trang 10C c tiặn trệnh c a cùng mổt ửng dũng hoða hẻ phàn tŸn (Distributed System) tữ t ẵổng theo kièu hỡp lỳc ẵè dạn ẵặn kặt quă tõtcho chẽnh ửng dũng ẵĩ V y, hỡp lỳc - ẵĩ chẽnh lĂ t c ẵổng từỗng họ ẵừỡc l p trệnh giựa c ctiặn trệnh nh m tham gia vĂo hĂnh ẵổng chung Sỳ từỗng tranh vĂ hỡp lỳc c a c c tiặn±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung ða hẻ phàn tŸn (Distributed System) tữtrệnh ẵíi hịi phăi cĩ trao ẵọi thỏng tin
Trong c c hẻ thõng thỏng tin t p trung, mổt tĂi nguy n nĂo ẵĩ ẵừỡc quăn lỷ bời mổtÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.chừỗng trệnh cung cảp duy nhảt Chừỗng trệnh nĂy tiặp nh n tảt că c c y u cãu vĂ khuyặnÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.ngh giăi phĩng vĂ s p xặp chợng trong mổt hĂng ẵỡi xứ lỷ theo kièu loÙnh vĂ hiẻu quă ẵè cung °n i trữ từỗng hồ vĂ xứlỷ chợng theo mổt tr t tỳ nhảt ẵ nh c a hĂng ẵỡi nĂy Vản ẵậ ẵóng bổ ho ẵừỡc giăi quyặtÙnh vĂ hiẻu quă ẵè cung ða hẻ phàn tŸn (Distributed System) tữthỏng qua cỗ chặ loi trữ từỗng hồ thỏng qua c c biặn cùng t c ẵổng trong vùng nhố chung.
Trong c c hẻ thõng thỏng tin phàn t n, chừỗng trệnh cung cảp n m tr n mổt tr±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin m vĂ c ctiặn trệnh ẵậ ngh lÙnh vĂ hiẻu quă ẵè cung i ờ tr n c c trÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin m kh c, c c y u cãu vĂ khuyặn ngh giăi phĩng ẵừỡcÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ùnh vĂ hiẻu quă ẵè cungtruyận cho chừỗng trệnh cung cảp thỏng qua hệnh thửc thỏng b o chuyèn theo c c k nh vi nÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ín thỏng Do vºy, khỏng thèthỏng Vản ẵậ ẵóng bổ ho chì ẵ t ra duy nhảt vản ẵậ thiặt l p mổt tr t tỳ giựa c c sỳ kiẻn.´t vĂ thứ nghiẻm trÅn
I.5 Cung cấp tài nguyên
Thỳc hiẻn c c tiặn trệnh c a mổt ửng dũng phàn t n ẵíi hịi phăi cĩ c c ẵõi từỡng kh cða hẻ phàn tŸn (Distributed System) tữnhau vẽ dũ nhừ bổ xứ lỷ, c c thiặt b ngoÙnh vĂ hiẻu quă ẵè cung i vi, c c bổ nhố, c c files, củng nhừ quyận ẵừỡctruy c p theo kièu loi trữ từỗng hồ ẵặn c c thỏng tin, quyận ẵừỡc sứ dũng c c th tũc, chừỗngða hẻ phàn tŸn (Distributed System) tữtrệnh.
nh nghỉa
Ùnh vĂ hiẻu quă ẵè cung tĂi nguy nÅn mổt tr nhừ lĂ mổt ẵõi từỡng mĂ trong ẵĩ c c quy t c sứ dũng vĂ chia sÀ°nẵừỡc kặt hỡp : truy c p loi trữ hay truy c p chia xÀ, cĩ hn chặ sõ lừỡng NSD hay khỏng.
Mổt tiặn trệnh nĂo ẵĩ cãn sứ dũng tĂi nguy n ẵè ph t trièn cỏng viẻc c a mệnh phăi y uÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ða hẻ phàn tŸn (Distributed System) tữ Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
cãu bổ cung cảp mổt c ch hỡp thửc b ng c ch gứi thỏng b o y u cãu (g i t t lĂ y u cãu).±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin àng °n Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.Do v y, nĩ b treo trong suõt qu trệnh chững nĂo tĂi nguy n cín chừa ẵừỡc giăi phĩng.Ùnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
Bổ cung cảp cĩ thè ẵừỡc p dũng theo nhiậu kièu kh c nhau : tiặn trệnh duy nhảt, t p hỡpc c tiặn trệnh, t p hỡp c c th tũc, C c thỏng b o y u cãu sứ dũng tĂi nguy n củng cĩ thèða hẻ phàn tŸn (Distributed System) tữ Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.cĩ c c dng kh c nhau : g i th tũc, thỏng b o, thỳc hiẻn c c lẻnh ẵ c biẻt, àng ða hẻ phàn tŸn (Distributed System) tữ ´t vĂ thứ nghiẻm trÅn
II Vai trò và tầm quan trọng của việc quản lý nhiều bản sao
II.1 Sự đáp ứng của cơ sở dữ liệu phân tán và nhiều bản sao
Mổt trong nhựng ẵổng lỳc thợc ẵáy viẻc sứ dũng hẻ cỗ sờ dự liẻu (CSDL) lĂ nhu cãu tẽchhỡp c c dự liẻu hot t c c a mổt xẽ nghiẻp vĂ cho phắp truy xuảt t p trung, nhộ v y cĩ thèða hẻ phàn tŸn (Distributed System) tữẵiậu khièn ẵừỡc c c truy xuảt ẵặn dự liẻu Cín cỏng nghẻ mng m y tẽnh ẵi ngừỡc li vối m iàngnọ lỳc t p trung ho Vản ẵậ lĂ lĂm c ch nĂo tọng hỡp hai hừống tiặp c n tr i ngừỡc nhauẵè cho mổt cỏng nghẻ mnh mÁ vĂ nhiậu hửa hÂn hỗn so vối tững cỏng nghẻ ri ng lÁ MảuÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.chõt c a vản ẵậ lĂ cãn phăi hièu ẵừỡc, mũc ti u quan tr ng nhảt c a cỏng nghẻ CSDL phànða hẻ phàn tŸn (Distributed System) tữ Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin àng ða hẻ phàn tŸn (Distributed System) tữt n lĂ sỳ tẽch hỡp mĂ khỏng cãn t p trung ho
è lĂm s ng tị vản ẵậ vữa n u, ta xem xắt sỳ thè hiẻn hai sỗ ẵó sau ẵày:Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
Sỗ ẵó rội rc : C c hẻ thõng cũc bổ kh c nhau khỏng ghắp nõi vối nhau Nhừ v y, chợng
khỏng cĩ khă n ng ẵóng bổ thỏng tin giựa c c khu vỳc (tr n c c tr¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin m kh c nhau) Trong sỗ ẵónĂy, m i li n làng Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin c tiặn hĂnh thỏng qua c c phừỗng tiẻn truyận thỏng truyận thõng nhừ ẵiẻnthoi, fax, thừ hay ẵiẻn tẽn,
Sỗ ẵó t p trungºp, ngừỡc l : Tón ti mổt ẵỗn v ẵ c biẻt cĩ chửc n ng quăn lỷ toĂn bổ thỏng tin, c cÙnh vĂ hiẻu quă ẵè cung ´t vĂ thứ nghiẻm trÅn ¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungẵỗn v kh c chì ẵừỡc trang b c c thiặt b ẵãu cuõi nh m cho phắp truy c p ẵặn hẻ thõngÙnh vĂ hiẻu quă ẵè cung Ùnh vĂ hiẻu quă ẵè cung Ùnh vĂ hiẻu quă ẵè cung ±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungtrung tàm nĂy trong trừộng hỡp cĩ nhu cãu thỏng tin Nhừ v y, c c khă n ng c p nh t vĂ truy¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungvản thỏng tin ẵậu phăi trăi qua bừốc trao ẵọi thỏng tin Bổ ph n trung tàm b sỳ cõÙnh vĂ hiẻu quă ẵè cunglĂ nguy n nhàn dạn ẵặn toĂn bổ hẻ thõng b ngừng hoÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ùnh vĂ hiẻu quă ẵè cung t ẵổng.
Tr n bệnh diẻn quõc tặ, c n cử vĂo ẵíi hịi lừu lừỡng thỏng tin lốn cãn trao ẵọi vĂ ẵămÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungbăo tẽnh tửc thội c a thỏng tin, thệ hai sỗ ẵó vữa n u khĩ cĩ khă n ng ẵ p ửng tr n vÂn Do ẵĩða hẻ phàn tŸn (Distributed System) tữ Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung àngsỳ ẵ p ửng c a CSDL phàn t n vĂ nhiậu băn sao lĂ nh m giăi quyặt vản ẵậ ọn ẵ nhða hẻ phàn tŸn (Distributed System) tữ ±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung Ùnh vĂ hiẻu quă ẵè cungvĂ hiẻu quă
ứng dụng sẽ giới thiệu dới đây cho phép dễ dàng hình dung và nắm bắt các vấn đề liên quađến điều khiển mạng Đó là hệ quản lý tài khoản ngân hàng bao gồm các đơn vị ngân hàngphân bố trên một phạm vi rộng (ví dụ tại các thành phố khác nhau của một quốc gia) Mỗi đơnvị đều trang bị một hệ thống (hay mạng cục bộ) hoàn chỉnh bao gồm các phơng tiện xử lý và
Trang 11một cơ sở dữ liệu (CSDL) luôn chứa danh sách thành phần từ các thông tin cần thiết và có hiệulực trong khoảng thời gian xác định.
Danh s ch nĂy bao góm :
1 C c tĂi khoăn ẵang cĩ hay dỳ trự trong thĂnh phõ nỗi ẵỗn v ẵĩ ẵĩng trũ sờ.Ùnh vĂ hiẻu quă ẵè cung
2 C c d ch vũ (ẵ ng kỷ tĂi khoăn hay h y tĂi khoăn, gời vĂ rợt tiận tữ tĂi khoăn, ).Ùnh vĂ hiẻu quă ẵè cung ¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung ða hẻ phàn tŸn (Distributed System) tữHẻ thõng nĂy thỳc hiẻn c c chửc n ng sau ẵày :¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung
1 C p nh t c c chì dạn trong cỗ sờ dự liẻu (vẽ dũ nhừ chì dạn li n quan ẵặn sõ tĂiÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.khoăn, ).
2 Tră lội c c y u cãu cĩ li n quan ẵặn tĂi khoăn (vẽ dũ nhừ sõ tĂi khoăn, ngừội ẵ ngÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungkỷ tĂi khoăn, ẵ a chì, sõ tiận gời ).Ùnh vĂ hiẻu quă ẵè cung
3 ¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungng kỷ tĂi khoăn mối vĂo ngàn hĂng
C c hẻ thõng nĂy ẵừỡc m c nõi vối nhau thỏng qua hẻ thõng vi n thỏng vối c c ẵiậu kiẻn°n Ín thỏng Do vºy, khỏng thègiă ẵ nh nhừ sau : Ùnh vĂ hiẻu quă ẵè cung
Mổt hẻ thõng cũc bổ bảt kỹ ẵậu cĩ thè li n lÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin c thỏng suõt vối c c hẻ thõng kh c.
Mồi mổt hẻ thõng cũc bổ ẵừỡc ẵ c trừng b ng mổt t n duy nhảt vĂ t n nĂy ẵừỡc nh n´t vĂ thứ nghiẻm trÅn ±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.dng tõt bời c c hẻ vi n thỏng.Ín thỏng Do vºy, khỏng thè
Hình Giối thiẻu kiặn trợc dự liẻu phàn t n.Ÿn.
Mồi hẻ thõng cũc bổ cĩ thè tră lội c c y u cãu cĩ li n quan ẵặn phãn dự liẻu c a mệnhÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ða hẻ phàn tŸn (Distributed System) tữ
hay nĩi mổt c ch tọng qu t lĂ thỳc hiẻn c c cỏng viẻcŸ trÙ cða ẵõi từỡng phăi lo do c c hẻ thõng cũc bổ kh c y u cãu.Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
II.2 Những vấn đề đặt ra cho việc quản lý nhiều bản sao
Giả sử rằng dữ liệu đợc nhân bản thành nhiều bản sao, vấn đề cần xem xét đó là ngời sửdụng có biết đợc sự tồn tại của các bản sao hay chính hệ thống phải lo quản lý các bản sao cònngời sử dụng xử lý giống nh chỉ có một bản sao duy nhất Ngời sử dụng không muốn phải xửlý các bản sao và phải xác định rõ một hành động có thể hoặc phải đợc thực hiện trên nhiềubản sao.
Vai trò của việc quản lý nhiều bản sao dữ liệu (replica) vì những lý do về hiệu năng(performamce), độ tin cậy (reliability) và tính sẵn sàng (availability), chúng ta thờng mongmuốn rằng có thể phân bố theo lối nhân dữ liệu thành nhiều bản sao trên các máy tính mạng.Việc nhân bản nh thế giúp tăng hiệu năng bởi vì những yêu cầu sử dụng có xung đột nằm rảirác có thể đợc đáp ứng một cách dễ dàng
Ví dụ, dữ liệu thờng đợc một ngời sử dụng truy xuất có thể đợc đặt tại máy của ngời đó vàtrên máy của những ngời sử dụng khác có cùng nhu cầu truy xuất, nh thế làm tăng khu vựctham chiếu Ngoài ra nếu một máy phải ngừng hoạt động, một bản sao khác của dữ liệu vẫn cósẵn trên một máy khác của mạng.
Trong môi trờng phân tán, dữ liệu có thể đợc nhân bản Một cơ sở dữ liệu (CSDL) phân táncó thể đợc thiết kế để toàn bộ CSDL hoặc các phần của nó đợc lu tại các vị trí khác nhau trongmột mạng máy tính Vấn đề ở chổ là không phải mọi vị trí trong mạng đều chứa CSDL mà
Hệ thống viễn thôngWS1
CSDL chứa thông tin: - Số tài khoản - Ng ời đăng ký - Địa chỉ
CSDL chứa thông tin: - Số tài khoản - Ng ời đăng ký - Địa chỉHệ thống cục bộ
Của th.phố B
Hệ thống cục bộ
Của th.phố A
Trang 12điều quan trọng là CSDL nằm tại nhiều vị trí Nhân bản mục dữ liệu chủ yếu là để tăng độ tincậy và hiệu quả hoạt động Nh vậy hệ thống thông tin phân tán phải chịu trách nhiệm chọn ramột bản sao dữ liệu đợc yêu cầu khi có truy xuất và bảo đảm rằng tác dụng cập nhật đợc phảnánh trên các bản sao của dữ liệu đó.
Một khía cạnh khác của việc quản lý nhiều bản sao là bởi vì mỗi vị trí không thể có đợcthông tin tức thời về các hoạt động đang diễn ra tại các vị trí khác, việc đồng bộ hoá các giaodịch trên nhiều vị trí cũng cần phải đợc xem xét đến.
Trong ngữ cảnh phân tán việc điều khiển đồng thời có khác so với ngữ cảnh tập trung.Điều khiển đồng thời bao gồm việc đồng bộ hóa các các truy xuất đến CSDL phân tán sao chotính toàn vẹn của CSDL vẫn đợc duy trì Ngoài ra chúng ta không chỉ quan tâm đến tính toànvẹn của từng CSDL mà còn phải giải quyết tính nhất quán của nhiều bản sao của CSDL Điềukiện đòi hỏi tất cả các giá trị của nhiều bản sao của mỗi mục dữ liệu phải hớng đến một giá trịsao cho có sự tơng quan một cách nhất quán
Từ đây chúng ta có thể hiểu đợc sự cần thiết của việc quản lý nhiều bản sao đồng thời đócũng chính là những vấn đề đặt ra cho việc quản lý nhiều bản sao.
III Ví dụ về thông tin có nhiều bản sao
- Hẻ cĩ sõ lừỡng tĂi khoăn cõ ẵ nh.Ùnh vĂ hiẻu quă ẵè cung
- Khỏng cĩ trao ẵọi nĂo kh c di n ra ngoĂi ngàn hĂng.Ín thỏng Do vºy, khỏng thè
Xắt c c ẵiậu kiẻn n u tr n, sau khi thỳc hiẻn xong hoĂn toĂn mổt giao d ch nĂo ẵĩ, hẻÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ùnh vĂ hiẻu quă ẵè cungquăn lỷ giao d ch cãn phăi ẵăm băo hai Ùnh vĂ hiẻu quă ẵè cung ẵ c tẽnh´c tẽnh sau ẵày :
P1 : Tọng tảt că c c sõ dừ phăi lĂ mổt h ng sõ.±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung
P2 : Sõ dừ cho mổt tĂi khoăn lĂ ẵi lừỡng 0.
Hai ẵ c tẽnh nĂy g i lĂ ´t vĂ thứ nghiẻm trÅn àng ẵ c tẽnh tr´c tẽnhng th i tọng qu tŸi tọng quŸtŸi tọng quŸt c a CSDL (hay lĂ c c ða hẻ phàn tŸn (Distributed System) tữ rĂng buổctoĂn v nÂn c a hẻ) Ta nĩi r ng trða hẻ phàn tŸn (Distributed System) tữ ±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung ng th i c a hẻ ẵừỡc ða hẻ phàn tŸn (Distributed System) tữ g n bĩ°n bĩ , nặu hẻ mang hai ẵ c tẽnh vữa´t vĂ thứ nghiẻm trÅnn u.Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
Phắp to n chuyèn khoăn thè hiẻn b ng c ch trữ ẵi mổt gi tr ±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung Ùnh vĂ hiẻu quă ẵè cung P nĂo ẵĩ ờ mổt tĂi
khoăn vĂ cổng chẽnh gi tr ẵĩ vĂo tĂi khoăn kh c Nặu ta kỷ hiẻu Ùnh vĂ hiẻu quă ẵè cung A lĂ sõ dừ tĂi khoăn
b trữ ẵi vĂ Ùnh vĂ hiẻu quă ẵè cung B lĂ sõ dừ tĂi khoăn ẵừỡc cổng vĂo, thệ chừỗng trệnh thè hiẻn giao d ch nĂyÙnh vĂ hiẻu quă ẵè cungcĩ thè viặt nhừ sau :
Nặu A >= P thệ
A := A - P ; (a) B := B + P (b) nặu khỏng
<Xứ lỷ theo kièu sắc khỏng cĩ tiận băo chửng> {Khỏng c p nh t c c tĂi khoăn}
Kặt thợc nặu
Theo sỗ ẵó chừỗng trệnh tr n, ta cĩ hai chợ ỷ :Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
1 Giă sứ r ng ta thỳc hiẻn ẵóng thội hai sắc trẽch tữ ±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung A hay rĩt vĂo B Viẻc c p nh t
thỏng tin tr n mồi tĂi khoăn khỏng thè tiặn hĂnh theo kièu tùy ỷ mĂ phăi ẵăm băo loÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin itrữ từỗng hồ ờ mửc tĂi khoăn Viẻc loi trữ ẵĩ cĩ thè thỳc hiẻn theo c c kièu kh c nhau,mổt trong c c kièu thỏ thièn nhảt lĂ loi trữ ờ mửc toĂn CSDL vĂ hẻ quă lĂ loi bị c cphắp song song Cĩ thè p dũng loi trữ ờ mửc tững tĂi khoăn ri ng biẻt.Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
Trang 132 Gi¨ sø r ng bæ xø lû thúc hiÎn giao d ch rçi v¡o tr±m ½Ÿp öng kh¨ n¯ng än ½Ùnh v¡ hiÎu qu¨ ½Ì cung Ùnh v¡ hiÎu qu¨ ½Ì cung ng th i kháng l¡m viÎc ½õìc ti
théi ½iÌm giùa a v¡ b T¡i kho¨n A ½¬ ½õìc tr÷ trong khi B cÝn chõa ½õìc cæng NÜi
c ch kh c, ½ c tÏnh ´t v¡ thø nghiÎm trÅn P1 kháng thÌ ½¨m b¨o ½õìc gÖ hçn, nÆu d÷ng li ê ½µy Ta c·n ph¨i
bä sung th m cho hÎ mæt ½ c tÏnh nùa nh m v¡o ½iËu v÷a n u : Ån cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin ´t v¡ thø nghiÎm trÅn ±m ½Ÿp öng kh¨ n¯ng än ½Ùnh v¡ hiÎu qu¨ ½Ì cung Ån cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin sau khi thúc hiÎnmæt giao d ch ho c l¡ t¶t c¨ c c c p nh t ½Ëu ½õìc tiÆn h¡nh ho c l¡ trÙch thay ½äi giŸ trÙ cða ½âi tõìng ph¨i lo´c l¡ t¶t c¨ cŸc cºp nhºt ½Ëu ½õìc tiÆn h¡nh ho´c l¡ trŸ trÙ cða ½âi tõìng ph¨i loºp, ngõìc lºp, ngõìc l´c l¡ t¶t c¨ cŸc cºp nhºt ½Ëu ½õìc tiÆn h¡nh ho´c l¡ trng th i c cŸ trÙ cða ½âi tõìng ph¨i lo Ÿ trÙ cða ½âi tõìng ph¨i lot¡i kho¨n kháng thay ½äi.
III.2 Tæ chøc nhiÒu b¶n sao
CÜ thÌ hÖnh dung mæt c ch tä chöc c a hÎ ½ ng kû t÷ xa Trong hÎ n¡y, måi mæt hÎða hÎ phµn tŸn (Distributed System) t÷ ¯ng än ½Ùnh v¡ hiÎu qu¨ ½Ì cungthâng còc bæ lõu trù mæt b¨n sao c a t¶t c¨ c c tháng tin li n quan ½Æn t p hìp c a c c t¡iða hÎ phµn tŸn (Distributed System) t÷ Ån cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin ða hÎ phµn tŸn (Distributed System) t÷kho¨n c a kh ch h¡ng.ða hÎ phµn tŸn (Distributed System) t÷
H×nh KiÌu tä chöc nhiËu b¨n sao.
u ½iÌm näi b t c a kiÌu tä chöc n¡y l¡ :œu ½iÌm näi bºt cða kiÌu tä chöc n¡y l¡ : ða hÎ phµn tŸn (Distributed System) t÷
1 D d¡ng thúc hiÎn viÎc truy c p tháng tin c·n thiÆt cho c c y u c·u ch× d¹n ngay tÍn tháng Do vºy, kháng thÌ Ån cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin i hÎthâng còc bæ
2 p öng kÆt qu¨ mæt c ch nhanh nh¶t cÜ thÌ.
Tuy nhi n, kiÌu truy v¶n n¡y ch× cho kÆt qu¨ tõçng ½âi chÏnh x c v¡ phò thuæc r¶t nhiËuÅn cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin.v¡o phõçng ph p v¡ théi hn c p nh t tháng tin trong c c CSDL còc bæ Sú tãn ti nhiËu b¨nsao trong to¡n hÎ d¹n ½Æn c c hÎ qu¨ sau ½µy :
1 C p nh t tháng tin do cÜ ½ ng kû (g·n hay t÷ xa) hay sú thay ½äi tháng tin còc bæ tr n¯ng än ½Ùnh v¡ hiÎu qu¨ ½Ì cung Ån cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin.mæt trm n¡o ½Ü c·n ph¨i ½õìc tiÆn h¡nh cho t¶t c¨ c c hÎ thâng còc bæ v¡ kháng ½õìcph¾p bÞ sÜt hÎ thâng n¡o c¨ Trong kho¨n théi gian l¡m "tõçi" tháng tin ph¨i ½¨m b¨osao cho viÎc truy v¶n dù liÎu cho kÆt qu¨ k p théi hay ½ t truy v¶n trong trÙnh v¡ hiÎu qu¨ ½Ì cung ´t v¡ thø nghiÎm trÅn ng th i"treo".
2 C·n ph¨i tr nh trõéng hìp c c thao t c tr n hai b¨n sao kh c nhau nhõng chöa cïngÅn cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin.mæt tháng tin ½õìc truy c p bêi hai hay nhiËu y u c·u d¹n ½Æn kháng g n bÜ VÏ dò :Ån cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin °nmæt t¡i kho¨n kháng ½õìc cung c¶p cho hai kh ch h¡ng.
Hai v¶n ½Ë v÷a n u x c ½ nh c c r¡ng buæc g n bÜ dù liÎu Nh m ½¨m b¨o sú g n bÜÅn cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin Ùnh v¡ hiÎu qu¨ ½Ì cung °n ±m ½Ÿp öng kh¨ n¯ng än ½Ùnh v¡ hiÎu qu¨ ½Ì cung °nn¡y ½iËu kiÎn ½ l¡ b t buæc ph¨i tuµn th trÖnh tú n¡o ½Ü cho t¶t c¨ c c b¨n sao, c c c pða hÎ phµn tŸn (Distributed System) t÷ °n ða hÎ phµn tŸn (Distributed System) t÷nh t tháng tin.
Qua vÏ dò ê tr n cho ph¾p thÌ hiÎn mæt sâ ½iÌm cç b¨n c a viÎc thiÆt kÆ hÎ phµn t nÅn cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin ða hÎ phµn tŸn (Distributed System) t÷v¡ n u l n ½õìc nhùng v¶n ½Ë c·n gi¨i quyÆt.Ån cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin Ån cöu xµy dúng phõçng Ÿn qu¨n lû nhiËu b¨n sao tháng tin.
HÖ thèng viÔn th«ng
Th«ng tin vÒ tµi kho¶n cho tÊt c¶ c¸c ng©n hµngHÖ thèng côc bé
cña ng©n hµng A
Th«ng tin vÒ tµi kho¶n cho tÊt c¶ c¸c ng©n hµng
HÖ thèng côc bé cña ng©n hµng B
Trang 14CHƯƠNG
Các phơng tiện quản lý nhiều bản sao
Trong chừỗng nĂy trừốc khi ẵậ c p ẵặn ngỏn ngự vĂ cỏng nghẻ hồ trỡ cho viẻc l p trệnhphàn t n ta cãn xem xắt vĂ tệm hièu thu t to n quăn lỷ nhiậu băn sao tr n cỗ sờ tỏn tr ng sỳÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin àngg n bĩ.°n
I Thuật toán quản lý nhiều bản sao
I.1 Khái quát
Sau ẵày ta sÁ nghi n cửu c c thu t to n kh c nhau cho phắp Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin sao li c c thay ẵọiŸ trÙ cða ẵõi từỡng phăi lo c a mổtða hẻ phàn tŸn (Distributed System) tữẵõi từỡng tr n c c băn sao kh c nhau Nặu ta cĩ Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin n băn sao e1, e2, , en c a ẵõi từỡng ða hẻ phàn tŸn (Distributed System) tữ e, mổt
trong c c rĂng buổc toĂn vÂn lĂ :
e1 = e2 = = en
è tham chiặu ẵặn e, cãn phăi thỳc hiẻn giao d ch :Ùnh vĂ hiẻu quă ẵè cungv_part(ei)
è thỳc hiẻn viẻc c p nh t c c băn sao, ta cãn phăi cĂi then chợng mổt c ch hỡp thửc tảtcă ẵậu theo kièu loi trữ.
è cho
‡è cho i := 1 ẵặn n thỳc hiẻn v_excl(ei) ;
<Thỳc hiẻn c c c p nh t vĂ chắp li chợng vĂo tảt că c cbăn> ;
è cho i := 1 ẵặn n thỳc hiẻn dev(ei)
è tr nh bặ t c di n ra, viẻc cĂi then c c băn sao luỏn luỏn phăi ẵừỡc thỳc hiẻn trong°n Ín thỏng Do vºy, khỏng thècùng mổt tr t tỳ.
Nĩi c ch kh c, b ng c ch bị qua c c pha chuyèn, ho c lĂ ẵõi từỡng ẵang trong qu±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung ´t vĂ thứ nghiẻm trÅntrệnh c p nh t vĂ tảt că c c băn sao c a nĩ ẵừỡc dỳ trự cho tiặn trệnh thỳc hiẻn c p nh t, hoða hẻ phàn tŸn (Distributed System) tữ
c lĂ tảt că c c băn sao ẵừỡc truy c p chì ẵè ẵ c vĂ giõng nhau hoĂn toĂn Theo ẵ nh
nghỉa, kièu hot ẵổng nĂy trièn khai mổt sỳ g n bĩ m°n bĩnh giựa c c băn sao ẵõi từỡng Nhừỡc
ẵièm c n băn c a giăi ph p nĂy lĂ yặu vậ song song giựa c c phắp to n c p nh t Ta cĩ thè¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung ða hẻ phàn tŸn (Distributed System) tữp dũng c c rĂng buổc toĂn vÂn yặu hỗn : ta luỏn ẵíi hịi r ng viẻc truy c p vĂo mổt băn±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungsao chì cĩ thè ẵừỡc phắp khi trng th i b n trong c a nĩ lĂ g n bĩ, nhừng ta lÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ða hẻ phàn tŸn (Distributed System) tữ °n i khỏng y u cãuÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.nhiậu vậ chi tiặt lĂ: c c băn sao phăi giõng nhau trong m i thội ẵièm.àng
Nhừ thặ, nĩi mổt c ch tọng qu t lĂ : nặu ta chảm dửt thỳc hiẻn c c giao d ch c p nh tÙch thay ẵọi giŸ trÙ cða ẵõi từỡng phăi loºp, ngừỡc lºp, ngừỡc l ,
thệ tảt că c c băn sao trờ thĂnh (hay cĩ thè trờ thĂnh) giõng nhau hoĂn toĂn sau mổt khoănthội gian x c ẵ nh Ta nĩi r ng ta ẵăm băo mổt Ùnh vĂ hiẻu quă ẵè cung ±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung sỳ g n bĩ yặu°n bĩ giựa c c băn sao.
iậu kiẻn ẵ cho sỳ g n bĩ yặu lĂ viẻc c p nh t ẵừỡc thỳc hiẻn theo cùng mổt tr t tỳ choða hẻ phàn tŸn (Distributed System) tữ °ntảt că c c c c băn sao.
Ba thu t to n mĂ ta sÁ mỏ tă sau ẵày ẵừỡc lỳa ch n vệ lỷ do ẵỗn giăn vĂ rò rĂng ĩ lĂ:àng+ Nguyên lý cơ bản của thuật toán.
+ Việc triển khai nó trong thực tế theo chế độ bình thờng, có nghĩa là trong các điều kiệnsau :
- Các trạm và các đối tợng có số lợng cố định.
- Các tiến trình của các trạm và hệ thống viễn thông có sự cố, nhng khắc phục đợc.
Trang 15+ Các chỉ dẫn cần thiết cho việc mở rộng khi cần để xử lý các tình huống nằm ngoài chếđộ bình thờng.
I.2 Thuật toán đảm bảo sự gắn bó yếu nhờ dấu
Trong một số trờng hợp không yêu cầu nhiều về chi tiết : các bản sao phải giống nhautrong mọi thời điểm Nh thế ta có thể áp dụng các ràng buộc toàn vẹn yếu hơn : chỉ đòi hỏirằng việc truy cập vào một bản sao có thể đợc phép khi trạng thái bên trong của nó là gắn bó.Nói một cách tổng quát là : nếu ta chấm dứt một giao dịch cập nhật, thì tất cả các bản sao trởthành giống nhau hoàn toàn sau một khoản thời gian xác định Có thể nói rằng đảm bảo mộtsự gắn bó yếu giữa các bản sao.
Thuật toán đảm bảo sự gắn bó yếu nhờ dấu đợc trình bày trong các công trình nghiên cứucủa Herman.
I.2.1 Nguyên lý
Tập hợp các yêu cầu cập nhật đợc xắp xếp theo cùng một kiểu trên tất cả các trạm nhờ cơchế dấu Nh thế, mỗi yêu cầu đợc phát đi cho tập hợp các trạm Trên mỗi trạm, tồn tại một tiếntrình Server đảm nhận nhiệm vụ tiếp nhận các yêu cầu theo trật tự của dấu Điều đó cho phépcó đợc một sự gắn bó yếu giữa các bản sao.
I.2.2 Triển khai hệ ổn định
Các giao dịch cần xét là khả năng đọc, ghi hay cập nhật và thao tác kiểm tra Mỗi Servertiếp nhận các yêu cầu từ các trạm cục bộ cũng nh các trạm khác, ở thời điểm cho trớc Nó tiếpnhận các yêu cầu và tính toán trên cơ sở dấu lâu nhất Việc xác định yêu cầu không đợc tiếnhành ngay tức khắc vì nguyên do ta không thể biết chắc chắn yêu cầu nào là lâu nhất Y uÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.cãu làu nhảt cĩ thè ẵang truyận tr n ẵừộng.Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
Cĩ hai trừộng hỡp cãn xem xắt :
+ T p hỡp c c y u cãu ghiÅn mổt tr khi chộ chửa c c y u cãu tữ tảt că c c trÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin m kh c Trong
trừộng hỡp nĂy c c y u cãu ẵi quaÅn mổt tr , nặu chợng tón ti, lĂ mối hỗn so vối c c y u cãu ẵơ ẵiÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.qua Nĩi c ch kh c, y u cãu làu nhảt chẽnh lĂ y u cãu ẵang chộ.Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
+ Tón ti c c trm mĂ khỏng cĩ bảt kỹ y u cãu nĂo ẵừỡc truyận ẵặn Ta ẵừỡc ẵừa ẵặnÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.trừộng hỡp trừộng hỡp trừốc ẵày b ng c ch truyận cho tảt că c c tr±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung m mổt thỏng b o y u cãuŸ trÙ cða ẵõi từỡng phăi loÅn mổt tr
vĂ b t buổc phăi x c nh n Do v y, sau mổt khoăn thội gian, theo giă thiặt vậ ẵổ ọn ẵ nh, ta°n Ùnh vĂ hiẻu quă ẵè cungsÁ nh n ho c lĂ c c y u cãu ẵi qua, ho c lĂ c c tră lội cho thỏng b o y u cãu Lợc nĂy, ta´t vĂ thứ nghiẻm trÅn Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ´t vĂ thứ nghiẻm trÅn Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.cĩ ẵừỡc c c thỏng b o ẵặn tữ tảt că c c trm.
I.2.3 Các hành vi bên ngoài của chế độ bình thờng
Hai mờ rổng ẵõi vối thu t to n cho phắp rợt ra hay ch n vĂo tùy ỷ mổt tr¿u tr m nĂo ẵĩ Ngừỡcli, thu t to n chì sõng trong trừộng hỡp cĩ sỳ cõ, nặu c c ẵiậu kiẻn sau ẵày ẵừỡc thay thặ :
- Viẻc mảt ẵi mổt trm phăi ẵừỡc c c trm kh c ph t hiẻn.
- Viẻc ph t mổt thỏng b o lĂ mổt phắp to n khỏng chia c t ẵừỡc nựa : mổt thỏng b o ho°nc lĂ tảt că ẵậu phăi nh n ẵừỡc ho c lĂ khỏng tr
´t vĂ thứ nghiẻm trÅn ´t vĂ thứ nghiẻm trÅn m nĂo nh n că.
Nĩi mổt c ch tọng qu t, nặu ẵiậu kiẻn ẵãu ti n ẵừỡc kièm tra, thệ ẵiậu kiẻn thử hai rảt khĩÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.ẵăm băo.
I.3 Thuật toán đảm bảo sự gắn bó yếu nhờ bộ tuần tự
Hiẻn ti, cĩ rảt nhiậu phừỗng n cho giăi thu t nĂy ẵơ ẵừỡc cỏng bõ Ta chì mỏ tă ờ ẵàymổt phừỗng n c a ða hẻ phàn tŸn (Distributed System) tữ Le Lann.
I.3.1 Nguyên lý
Trừốc khi ph t mổt y u cãu, mổt trÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin m nĂo ẵĩ cãn phăi kặt hỡp vối nĩ mổt sõ thử tỳ ẵừỡc
cảp tữ bổ tuãn tỳ tuãn hoĂn C c y u cãu ẵừỡc tiặp nh n tÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin i mồi trm trong cùng mổt tr t tỳ.iậu ẵĩ giợp ta cĩ ẵừỡc mổt sỳ g n bĩ yặu Nh c l°n °n i r ng cỗ chặ phàn phõi c c sõ dỳa tr n nận±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.tăng tọ chửc c c trm theo kièu víng trín ăo.
Trang 16I.3.2 Triển khai hệ ổn định
Bổ tuãn tỳ cung cảp cho mồi mổt y u cãu sõ s p tối cín chừa dùng, giă sứ ẵĩ lĂ Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin °n T Khi ẵặn
phi n c a trÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin ða hẻ phàn tŸn (Distributed System) tữ m nh n bổ tuãn tỳ, nĩ y u cãu mổt sõ lừỡng Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin n sõ ẵợng b ng sõ lừỡng c c y u±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.cãu c p nh t ẵang chộ tr n trÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin m nĂy C c sõ nĂy lĂ :
ẵừỡc phõi hỡp vối y u cãu xứ lỷ cuõi cùng C c y u cãu mang c c sõ lốn hỗn Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin V + 1 ẵừỡc lừu
trự trong khi chộ xứ lỷ y u cãu Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin V + 1.
I.3.3 Hành vi bên ngoài của chế độ bình thờng
Trừốc hặt, ta cãn nh c l°n i lĂ hiẻn ẵang tón ti c c giao thửc cho phắp t i sinh bổ tuãn tỳkhi b mảt vĂ ẵ t cảu hệnh víng trín ăo trờ lÙnh vĂ hiẻu quă ẵè cung ´t vĂ thứ nghiẻm trÅn i mổt c ch ẵổng.
C c giao thửc nĂy hot ẵổng trong ẵiậu kiẻn giă ẵ nh lĂ mÙnh vĂ hiẻu quă ẵè cung ng vi n thỏng cho phắp ph tÍn thỏng Do vºy, khỏng thèhiẻn c c sỳ cõ c a mổt trða hẻ phàn tŸn (Distributed System) tữ m vĂ cãn phăi ẵừỡc bọ khuyặt ẵãy ẵ nh m duy trệ tr t tỳ toĂnða hẻ phàn tŸn (Distributed System) tữ ±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungphãn cãn thiặt cho viẻc g n bĩ :°n
- Viẻc t i sinh bổ tuãn tỳ cãn phăi tiặn hĂnh song song vối viẻc tẽnh to n sõ s p ẵặn cĩ°ns n ẵè dùng.³ng.
- Khi ta ph t hiẻn cĩ mổt trm b sỳ cõ, ta cãn phăi x c ẵ nh c c sõ mĂ trÙnh vĂ hiẻu quă ẵè cung Ùnh vĂ hiẻu quă ẵè cung m nĂy ẵơ lảyvĂ c c sõ cín chừa sứ dũng, rói gứi c c y u cãu mang c c sõ nĂy.Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
- Viẻc cho hổi nh p mổt trm vĂo li trong víng trín cãn phăi tiặn hĂnh song song vối viẻcc p nh t li băn sao c a nĩ.ða hẻ phàn tŸn (Distributed System) tữ
Sứ dũng c c sõ li n tũc cho phắp tr nh ẵừỡc hiẻn từỡng mổt vĂi c p nh t b mảtÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ùnh vĂ hiẻu quă ẵè cungvĂ c c lãn mảt mĂ khỏng ẵừỡc ph t hiẻn Viẻc trièn khai mổt bổ tuãn tỳ tuãn hoĂn củnglĂm cho ta g p phăi mổt sõ khĩ kh n kh c.´t vĂ thứ nghiẻm trÅn ¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung
I.4 Thuật toán đảm bảo sự gắn bó mạnh
B ng c ch bị qua c c pha chuyèn, ho c ẵõi từỡng ẵang trong qu trệnh c p nh t vĂ tảt±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cung ´t vĂ thứ nghiẻm trÅncă c c băn sao ẵừỡc truy c p chì ẵè ẵ c vĂ giõng nhau hoĂn toĂn Theo ẵ nh nghỉa, kièuàng Ùnh vĂ hiẻu quă ẵè cunghot ẵổng kièu nĂy trièn khai mổt sỳ g n bĩ m°n nh giựa c c băn sao ẵõi từỡng.
Thu t to n nĂy ẵừỡc trệnh bĂy trong cỏng trệnh c a ða hẻ phàn tŸn (Distributed System) tữ Ellis.
I.4.1 Nguyên lý
T p hỡp bao góm c c trm ẵừỡc tọ chửc theo kièu víng trín ăo C c c p nh t ẵừỡc thỳchiẻn theo 2 thệ :
- Thõng nhảt giựa c c trm.- Thỳc hiẻn c p nh t.
Do v y, thu t to n nĂy ẵăm băo mổt sỳ g n bĩ m°n nh Nặu cĩ nhiậu y u cãu c p nh tÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.di n ra ẵóng thội, thệ ta phăi cĩ quy t c ẵè cĩ thè quyặt ẵ nh y u cãu nĂo ẵừỡc tiặp nh nÍn thỏng Do vºy, khỏng thè °n Ùnh vĂ hiẻu quă ẵè cung Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.vĂ thịa mơn Nh m phũc vũ cho ỷ từờng ẵĩ, ta thừộng hay sứ dũng dảu phõi hỡp cho mồi c p±m ẵŸp ửng khă n¯ng ọn ẵÙnh vĂ hiẻu quă ẵè cungnh t vĂ ta xứ lỷ y u cãu cĩ thội gian dảu làu nhảt.Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.
I.4.2 Triển khai hệ ổn định
Trng th i cĩ thèŸ trÙ cða ẵõi từỡng phăi lo c a mồi trða hẻ phàn tŸn (Distributed System) tữ m lĂ :
- repos : Trm khỏng thỳc hiẻn c p nh t nĂo că.
- actif : Trm ẵơ nh n mổt y u cãu c p nh t cũc bổ mĂ y u cãu nĂy ẵơ ẵừỡc truyận choÅn cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin Ån cửu xày dỳng phừỗng Ÿn quăn lỷ nhiậu băn sao thỏng tin.c c trm kh c ẵè kièm tra.
- passif : Trm ẵơ ẵóng ỷ cho mổt c p nh t vĂ chộ tr t tỳ từỗng ửng.
Trang 17- modification : Trm ½ang trong tÖnh trng chuyÌn c a c p nh t, trong khi ½Ü t¶t c¨ c c y uða hÎ phµn tŸn (Distributed System) t÷ Ơn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin.c·u kh c truyỊn ½Ưn ½Ịu ½õìc lõu trù Chîng s ½õìc xø lû khi quay vỊ mưt trong c c trng
th i kh c Lîc khíi sú, t¶t c¨ c c trm ½Ịu trong trng th i repos.
Trm khíi sú viÎc c p nh t, ½·u ti n, c·n ph¨i gøi mưt y u c·u cho ph¾p c p nh t, nÜ ch×Ơn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin Ơn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin.
l¡m ½õìc câng viÎc ½Ü trong trng th i repos Lîc n¡y nÜ ½õìc nh n d¶u v¡ ½õìc gøi v¡o vÝngtrÝn, trm khíi sú chuyÌn trng th i t÷ repos sang actif.
NƯu ch× cÜ mưt y u c·u duy nh¶t ½õìc ½õa v¡o vÝng trÝn, nÜ ½i qua t¶t c¨ c c trƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin m ½Ì
chuyÌn c c trm n¡y t÷ repos sang passif Khi nÜ ½¬ trí vỊ nìi khíi sú, thÖ viÎc thâng nh¶t coi
nhõ ho¡n t¶t ViÎc c p nh t nÜi ri ng lîc n¡y ½õìc gøi ½i v¡ mơi trƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin m sau khi thúc hiÎn li trí
vỊ trng th i repos.
NƯu cÜ nhiỊu y u c·u ½õìc ½õa ra ½êng thĩi trong vÝng trÝn, thÖ tÖnh hÖnh ½Ü d d¡ng di nƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin Ín thâng Do vºy, khâng thÌ Ín thâng Do vºy, khâng thÌra xung ½ưt Lîc n¡y, ta ph¨i ch n mưt y u c·u cÜ thĩi gian d¶u lµu nh¶t Ì tiƯn h¡nh cângăng Ơn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin.viÎc ½Ü, ta n u b t vai trÝ c a "bư ch n ½õĩng" (barrage) cho c c trƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin ða hÎ phµn tŸn (Distributed System) t÷ °n m khíi sú : mưt trm n¡o ½Ü
trong trng th i Ÿ trÙ cða ½đi tõìng ph¨i lo repos hay passif ph¨i chuyÌn to¡n bư y u c·u ½¬ ½Ưn vỉi nÜƠn mưt tr; mưt trm trong
tr-ng th i Ÿ trÙ cða ½đi tõìng ph¨i lo actif ch× ph¨i chuyÌn c c y u c·u cÜ thĩi gian lµu hìn c c y u c·u m¡ chÏnh nÜ ½¬Ÿ trÙ cða ½đi tõìng ph¨i loƠn mưt trŸ trÙ cða ½đi tõìng ph¨i loƠn mưt trph t ½iŸ trÙ cða ½đi tõìng ph¨i lo; c c y u c·u kh c ½Ịu b d÷ng lŸ trÙ cða ½đi tõìng ph¨i lo Ơn mưt trŸ trÙ cða ½đi tõìng ph¨i loÙch thay ½ôi giŸ trÙ cða ½đi tõìng ph¨i loi v¡ ½õìc lõu trù.
C c y u c·u b lõu lƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin Ùnh v¡ hiÎu qu¨ ½Ì cung i s ½õìc gøi tiƯp v¡o vÝng trÝn, khi trm lõu trù chîng ho¡n th¡nhviÎc c p nh t ri ng c a mÖnh.Ơn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin ða hÎ phµn tŸn (Distributed System) t÷
I.4.3 Hµnh vi ngoµi chÕ ®ĩ b×nh thíng
C c giao thöc ½ t l´t v¡ thø nghiÎm trƠn i c¶u hÖnh vÝng trÝn theo kiÌu ½ưng ½õìc sø dòng nh m rît ra hay cho±m ½Ÿp öng kh¨ n¯ng ôn ½Ùnh v¡ hiÎu qu¨ ½Ì cungv¡o tïy û mưt sđ trm nh¶t ½ nh C c sú cđ kþ thu t l¡ r¶t khÜ kh n ph t hiÎn trong c cÙnh v¡ hiÎu qu¨ ½Ì cung ¯ng ôn ½Ùnh v¡ hiÎu qu¨ ½Ì cungchiƯn lõìc m¡ í ½Ü c c y u c·u khâng ½õìc ghi lƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin i kh p nìi.°n
II Ng«n ng÷ lỊp tr×nh Java hì trî viÖc lỊp tr×nh ph©n t¸n
II.1 Giíi thiÖu vÒ Java
Có thể xem lịch sử phát triển ngôn ngữ lập trình Java từ đềán Green vào năngm 1991 của công ty Sun Microsystem Với nhữngđiểm mạnh như hướng đối tượng, tính khả chuyển cao, khôngphụ thuộc vào môi trường xử lý (phần cứng máy tính và hệđiều hành), có khả năngng biên dịch, hỗ trợ các thư viện cho lậptrình các ứng dụng CSDL phân tán và Internet, dễ truyền thông, Java đã và sẽ trở thành một ngôn ngữ mạnh trong hiện tại vàtương lai
Để đạt được tính khả chuyển cao, nhóm Green đã thiết kếmáy ảo Java (JVM - Java virtual machine) Chương trình Java được biêndịch dưới dạng các tệp nhị phân (class files) "ngôn ngữ máy" củamáy ảo Java Chương trình như vậy có thể chạy trên mọi máymiễn là trong máy đã thiết lập máy ảo Java.
H×nh Sử dụng các đối tượng Java của JVM.
Trên thực tê,ú máy ảo Java do trình thông dịch Java tạo nên.Trình thông dịch này có nhiệm vụ chuyển chỉ thị của máy ảo Java
Trình ứng dụngCác đối tượng Java
Máy ảo JavaHệ điều hành
(Unix, Windows, OS/2, Macintosh)
Trang 18thành các chỉ thị máy đăngûc thù vào lúc chạy trình ứng dụng Nhưvậy có thể nói Java là cả ngôn ngữ biên dịch (trình biên dịch Javalà javac.exe: biên dịch tập tin *.java thành *.class) và ngôn ngữ thôngdịch (trình thông dịch Java là java.exe để thực thi tập tin *.class).
H×nh Hai giai đoạn biên dịch và thông dịch của ngôn ngữJava.
II.2 Java víi m«i tríng ph©n t¸n
Vấn đề xử lý phân tán (distributed computing), thúc đẩy sựphát triển nhanh chóng của mạng máy tính Sự phân tán phầnmềm trên nhiều máy cho phép tạo ra khả năngng xử lý mạnh mẽnhưng phải làm sao đồng bộ, an toàn đồng thời giảm thiểu lưulượng truyền thông trên mạng.
Chương trình Java được nạp dần một cách linh hoạt vào máykhách trong thời gian chạy, do đó không gây quá tải cho mạng Khảnăngng nhiều tuyến đoạn (threads) đó cũng là một điểm lợi thếcho mạng Khi chương trình giao tiếp với người sử dụng trêntuyến đoạn này, ở tuyến đoạn khác việc nạp dữ liệu quamạng vẫn được tiến hành liên tục.
Hệ thống ứng dụng phân tán là một quá trình tính toán vàxử lý số liệu được thực hiện trên những không gian địa chỉkhác nhau, có khả năngng đăngût trên các trạm làm việc khác nhau màvẫn có thể trao đổi thông tin qua lại với nhau.
Các nhà phát triển đưa ra khái niệm gọi các thủ tục từ xa(RPC - Remote Procedure Call), nó mô phỏng giao diện trao đổi thôngtin thông qua việc gọi các thủ tục Người lập trình có thể gọi racác thủ tục trên một hệ thống cục bộ nào đó, thực tế đây làtiến trình các đối số của các cuộc gọi được đóng gói và gửiđến cuộc gọi ở xa
II.2.1 Java IDL
Để tương xứng với ý nghĩa gọi ra các đối tượng, các nhà
phát triển Java đã triển khai một kỹ thuật truyền thông tin trênhệ thống ứng dụng phân tán có khả năngng gọi ra và thực hiệncác phương thức của các đối tượng từ xa thông qua ngôn ngữđịnh nghĩa giao diện (IDL - Interface Definition Language) giữa các bộphận của ứng dụng, kỹ thuật này rất linh hoạt và tiện lợi choquá trình trao đổi thông tin nói chung
Trình biên dịch Java(SPARC)Trình biên dịch Java
(PowerPC)Trình biên dịch Java
(Pentium) Mã nhị phân Java
(không phụ thuộchệ thống)Mã nguồn
Java
(SPARC)Trình
thông dịch Java
Trang 19H×nh Ng«n ng÷ lỊp tr×nh kh«ng liªn quan ®Þnh nghÜa giao diÖn.
II.2.2 Stub vµ Skeleton
Java IDL sử dụng kỹ thuật chuẩn (được triển khai trong các hệthống RPC) để trao đổi thông tin với các đối tượng từ xa Sau khiđịnh nghĩa thành phần giao diện kết quả ta có được tệp tin IDL.Trình biên dịch IDL sẽ tạo ra các stub của Client và skeleton củaServer Stub đối với các hoạt động từ xa như là sự tái hiện lạihoăngûc sự ủy quyền cục bộ của Client cho đối tượng từ xa Nơigọi ra một phương thức trên stub cục bộ nó chịu trách nhiệmmang ra phương thức gọi trên đối tượng từ xa Trong IDL một stubbổ sung cho một đối tượng từ xa giống như tập hợp một sốgiao diện bổ sung cho giao diện từ xa đó.
Khi các phương thức của stub được gọi nó thực hiện theo cácbước sau :
Khởi tạo tiến trình kết nối với máy ảo từ xa, nơi lưu trữ đốitượng từ xa săngõp xếp (viết và truyền đi) các tham số đến máyảo từ xa.
Chờ kết quả của phương thức gọi ra để tái hiện lại các săngõpxếp ban đầu (đọc) để rồi trả về giá trị hoăngûc trả về ngoai lệ.
Trả giá trị của kết quả về lại cho nơi gọi.
Stub cho ẩn đi tuần tự xử lý các tham số và việc trao đổithông tin qua mạng, chính vì vậy ta chỉ có thể nhận thấy một kỹthuật gọi đối tượng đơn giản.
Trong máy ảo Java từ xa mỗi đối tượng từ xa sẽ có mộtskeleton tương ứng, skeleton chịu trách nhiệm gửi đi cuộc gọiđến thành phần đối tượng từ xa thật sự Khi skeleton nhậnđược phương thức gọi đến nó sẽ thực hiện các bược sau :
Tái săngõp xếp lại (đọc) các tham số cho phương thức từ xa.Gọi ra phương thức phần bổ sung đối tượng từ xa.
Săngõp xếp (viết và chuyển đi) kết quả (trả về giá trị hoăngûcngoại lệ ) đến nơi gọi.
JavaC++
Trang 20H×nh Sự liên kết của các Client stub và các Server skeleton.
Sự khác nhau giữa đối tượng phân tán và không phân tán : - Client của đối tượng từ xa tương tác với giao diện từ xa,không bao giờ tương tác với các lớp phụ của các giao diện này.
- Các đối số và kết quả không phải từ xa của một tiến trìnhgọi phương thức được chuyển đi băngòng cách sao chép chứ khôngtham chiếu, vì các tham chiếu đến đối tượng chỉ thật sự hữudụng với một máy ảo đơn giản.
- Đối tượng từ xa được chuyển đi băngòng tham chiếu chứ khôngphải băngòng cách sao chép thật sự phần bổ sung từ xa.
III C«ng nghÖ CORBA (Common Object Request BrokerArchitecture)
III.1 C¸c thµnh phÌn cña CORBA
µy l¡ câng nghÎ chu¸n cho l p trÖnh xø lû ½đi tõìng phµn t n KiƯn trîc y u c·u ½điƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin.tõìng trung gian câng cưng n¡y ½õìc tham chiƯu trong mâ hÖnh OSI l¡ :
Application TELNET, FTP, SMTP, HTTP
Presentation Byte-order, ASCII-UNICODE, COM-CORBA
Session Login session, RPC call, ORB/RMI invocation
Transport End-to-end commuicationNetwork Host-to-host communicationLink Network adapter card device driverPhysical Ethernet, ISDN, PPP,
III.1.1.CORBA hì trî kiÕn tróc Client/Server
Bµy giĩ chîng ta xem x¾t vÏ dò sau, khi cÜ mưt ngõĩi quay sđ ½iÎn thoi cho bn, chuâng½iÎn thoi rung l n bƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin n nh¶c m y sau khi bn tr¨ lĩi ½iÎn thoi xong bn h m y kƯt thîc kƯt nđi.Ngõĩi g i ch× biƯt quay sđ, băng n nh¶c tr¨ lĩi v¡ kƯt thîc m¡ khâng quan tµm cuưc g i thúc thiăngnhõ thƯ n¡o, ngõĩi g i ch× quan tµm ½Ưn cuưc g i cÜ ½Ưn ½õìc khâng.ăng ăng
Tõìng tú nhõ thƯ, khi ta y u c·u thâng tin t÷ mưt ½đi tõìng CORBA, ta khâng c·n quanƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin.tµm nÜ thúc thi nhõ thƯ n¡o m¡ ch× quan tµm y u c·u cÜ ½Ưn ½õìc v¡ ½đi tõìng ½Ü tr¨ lĩi hayƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin.khâng iỊu tđt ½Đp l¡ CORBA cho ph¾p chîng ta to giao diÎn cho ½đi tõìng v¡ cÜ nhiỊu c chthúc thi ½a dng kh c nhau Ngo¡i ra CORBA cÝn hơ trì kiƯn trîc tÏnh to n kh ch/ch phµnða hÎ phµn tŸn (Distributed System) t÷th¡nh ba t·ng, ½Ü l¡ kh ch, ½đi tõìng v¡ nguên dù liÎu.
H×nh KiƯn trîc kh ch/ch phµn ba t·ng kh ch, ½đi tõìng v¡ nguên dù liÎu.Ÿn.ð phµn ba t·ng khŸch, ½đi tõìng v¡ nguên dù liÎu.Ÿn.
Object Impl 1
Object Impl 2
Object Impl 3
Interface
Trang 21Hìn thƯ, trong CORBA cho ph¾p mưt th¡nh ph·n cÜ thÌ thúc hiÎn c¨ hai chöc n ng v÷a l¡¯ng ôn ½Ùnh v¡ hiÎu qu¨ ½Ì cungkh ch v¡ ch ða hÎ phµn tŸn (Distributed System) t÷
H×nh Bộ phận cấu thành hoạt động như là một client vàserver.
III.1.2 Object Request Broker
Th¡nh ph·n ch yƯu c a kiƯn trîc CORBA l¡ ½đi tõìng y u c·u trung gian (ORB -ða hÎ phµn tŸn (Distributed System) t÷ ða hÎ phµn tŸn (Distributed System) t÷ Ơn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin.Object Request Broker) Mưt kh i niÎm cho ORB l¡: Khi mưt th¡nh ph·n öng dòng muđn sødòng mưt phòc vò cung c¶p bíi th¡nh ph·n kh c, ½iỊu trõỉc ti n ph¨i tên tƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin i mưt ½đi tõìngtham chiƯu ½Ưn cho ½đi tõìng cung c¶p ½ang phòc ½Ü Sau khi tên ti mưt tham chiƯu, ph·n hìpth¡nh cÜ thÌ g i c c phõìng thöc tr n ½đi tõìng ½Ü, theo c ch ½Ü viÎc truy xu¶t ½Ưn y u c·uăng Ơn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin Ơn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin.cung c¶p phòc vò bíi ½đi tõìng
NhÖn chung nhùng phõìng thöc n¡y l¶y c c tham sđ ½õa v¡o v¡ tr¨ vỊ c c tham sđ rakh c Tr ch nhiÎm ch yƯu c a ORB l¡ ½Ì gi¨i quyƯt y u c·u cho nhùng tham chiƯu ½Ưn ½điða hÎ phµn tŸn (Distributed System) t÷ ða hÎ phµn tŸn (Distributed System) t÷ Ơn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin.tõìng, cho ph¾p nhùng th¡nh ph·n öng dòng thiƯt l p sú kƯt nđi l¹n nhau
Mưt tr ch nhiÎm kh c c a ORB l¡ nh n c c tham sđ ½õa v¡o t÷ th¡nh ph·n rêi g iða hÎ phµn tŸn (Distributed System) t÷ ăngphõìng thöc v¡ s p xƯp c c tham sđ n¡y iỊu n¡y cÜ nghØa r ng ORB chuyÌn ½ôi nhùng°n ±m ½Ÿp öng kh¨ n¯ng ôn ½Ùnh v¡ hiÎu qu¨ ½Ì cungtham sđ n¡y ½ t v¡o mưt khuân d´t v¡ thø nghiÎm trƠn ng cÜ thÌ truyỊn ngang qua mng ½Ưn ½đi tõìng t÷ xa Hìnnùa, ORB s p xƯp l°n i c c tham sđ tr¨ vỊ, chuyÌn ½ôi chîng t÷ khuân dng ½ t v¡o ½Ì g i cho´t v¡ thø nghiÎm trƠn ăngth¡nh ph·n öng dòng cÜ thÌ hiÌu ½õìc.
H×nh ORB gi¨i quyƯt y u c·u c a ½đi tõìng.Ơu c·u cða ½đi tõìng.ð phµn ba t·ng khŸch, ½đi tõìng v¡ nguên dù liÎu.
Trong mưt öng dòng phµn t n, cÜ sú kh c biÎt giùa viÎc sø dòng mưt ½đi tõìng tr n m yƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin.còc bư v¡ ½đi tõìng ½õìc g i t÷ xa ViÎc sø dòng ½đi tõìng còc bư ½õìc xem nhõ l¡ trongăngcïng mưt öng dòng, ½đi tõìng ½Ü tên ti cïng ½ a ch× vỉi trÖnh öng dòng cÝn ½đi tõìng ½õìcÙnh v¡ hiÎu qu¨ ½Ì cungg i t÷ xa thÖ tên tăng i khâng cïng vỉi khâng gian ½ a ch× c a trÖnh öng dòng ChÏnh vÖ thƯÙnh v¡ hiÎu qu¨ ½Ì cung ða hÎ phµn tŸn (Distributed System) t÷m¡ cÜ sú kh c nhau giùa tiƯn trÖnh tr n cïng mưt m y v¡ tiƯn trÖnh tr n mưt m y kh cƠn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin Ơn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin.n m t±m ½Ÿp öng kh¨ n¯ng ôn ½Ùnh v¡ hiÎu qu¨ ½Ì cung i mưt v trÏ n¡o ½Ü í tr n mÙnh v¡ hiÎu qu¨ ½Ì cung Ơn cöu xµy dúng phõìng Ÿn qu¨n lû nhiỊu b¨n sao thâng tin ng Ì qu¨n lû c c ½đi tõìng, ORB sø dòng phõìng ph ptham chiƯu ½Ưn ½đi tõìng nh m xem x¾t sú tên t±m ½Ÿp öng kh¨ n¯ng ôn ½Ùnh v¡ hiÎu qu¨ ½Ì cung i c a ½đi tõìng ½Ü trong trÖnh öng dòng.ða hÎ phµn tŸn (Distributed System) t÷