Báo cáo nghiên cứu khoa học: " MÔ HÌNH NGƯỜI SẢN XUẤT - NGƯỜI TIÊU THỤ TRONG XÂY DỰNG GIẢI PHÁP KỸ THUẬT GIÁM SÁT CÁC HOẠT ĐỘNG ĐỒNG THỜI PHÂN TÁN" doc - Pdf 19

TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(34).2009

94
MÔ HÌNH NGƯỜI SẢN XUẤT - NGƯỜI TIÊU THỤ TRONG XÂY DỰNG
GIẢI PHÁP KỸ THUẬT GIÁM SÁT CÁC HOẠT ĐỘNG
ĐỒNG THỜI PHÂN TÁN
THE PRODUCER-CUSTOMER MODEL IN BUILDING TECHNICAL SOLUTIONS
MONITORING SIMULTANEOUS ACTIVITIES IN DISTRIBUTED SYSTEMS
Lê Văn Sơn, Đặng Hùng Vĩ, Hồ Minh Hoành
Trường Đại học Sư phạm, Đại học Đà Nẵng
TÓM TẮT
Vấn đề giám sát các hoạt động đồng thời, thực chất, là bài toán đồng bộ hoá trong các
hệ thống lớn, đa dạng và phức tạp. Trong phạm vi bài viết này, chúng tôi đi sâu nghiên cứu vấn
đề đồng bộ giữa các tiến trình trong hệ phân tán trên cơ sở trật tự hoá từng phần giữa các sự
kiện. Vấn đề trật tự hoá tổng quát chặt chẽ được nhiều tác giả nghiên cứu thành công thể hiện
trong các công trình công bố trong thời gian qua [7,2,5 ]. Trong quá trình nghiên cứu, nhóm tác
giả đã xây dựng giải pháp kỹ thuật khả thi cho phép điều khiển các hệ thống lớn dựa trên sự
quan sát và ra quyết định trên cơ sở vận hành mô hình người sản xuất - người tiêu thụ
(Producer-Consumer Model). Giải pháp được xây dựng bằng ngôn ngữ JAVA cùng với 2 thư
viện phân tán là CORBA và RMI [15,11]. Việc thử nghiệm giải pháp nêu trên được tiến hành
trên hệ đa Server hoạt động theo họ giao thức TCP/IP trong các mạng Intranet.
ABSTRACT
Problems of monitoring simultaneous activities, essentially, is the synchronization
ones in large systems, diverse and complex. Within this article, we focus on synchronization
among processes in distributed systems based on the partial order in the events. The issues of
general order have been successfully studied by many authors expressed in works published in
recent years [7,2,5]. In the study, authors have built technical solutions feasible for controlling
large systems based on observations and decisions on the basis of operating model producers
– consumers. Solutions are built by using Java language with two distributed libraries which are
CORBA and RMI [15.11]. The above test solution was conducted on the multi-server system
operating under their TCP / IP in the intranet. Mạng TCP/IP
Các Client
truy cập
qua mạng
Hệ thống đa Server

TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(34).2009

95
tế, đăng tải trong các tạp chí chuyên ngành có uy tín trong nước và trên thế giới
[8,1,6,3,9].
Hệ thống mà ta quan tâm nghiên cứu là hệ thống lớn nhưng không thể sử dụng
đồng bộ bằng phương pháp trật tự toàn phần giữa các sự kiện để điều khiển các hoạt
động đồng thời được. Khi nghiên cứu vấn đề này dưới giác độ của các đặc tính phân
tán, ta nhận thấy vấn đề đặt ra càng phức tạp hơn nữa. Để tiếp tục đi sâu tìm hiểu, trước
hết ta xem xét thành phần của hệ loại này thông qua hình I.1.
Môi trường kỹ thuật trong đó hệ hoạt động là mạng IP bao gồm m Server (tiếp
theo ta gọi là hệ đa Server) được mắc nối và liên lạc với nhau qua hệ thống viễn thông.
Từng cặp Server là đối tượng trao đổi tự động các thông điệp cho nhau và tuân thủ các
nguyên lý phân tầng của mạng. Ví dụ như S
1
và S
j
Về nguyên tắc, người sử dụng (NSD) bất kỳ, nếu được phân quyền một cách
hợp thức, có thể truy cập từ bất kỳ trạm/Server hay thiết bị đầu cuối nào vào hệ thống
đa Server bằng một trình duyệt bất kỳ. Ví dụ như C

hệ sản xuất - kinh doanh, thì việc tìm ra phương pháp để nhận biết giới hạn số lượng
hàng hoá cần phải sản xuất, phòng và tránh dư thừa là vấn đề mấu chốt nhất. Đó chính
là điều kiện cân bằng giữa cung và cầu trong sản xuất và tiêu dùng toàn hệ thống. Ứng
dụng thực tế này sẽ được chỉ ra trong phần cuối của tài liệu này.
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(34).2009

96
Tiếp theo, ta sẽ giới thiệu một trong những nội dung quan trọng là vấn đề trật tự
hóa từng phần giữa các sự kiện trong hệ phân tán.
2. Trật tự hóa từng phần giữa các sự kiện diễn ra trong hệ
Để 2 quá trình sản xuất và tiêu thụ diễn ra một cách tự nhiên, nhịp nhàng và
đồng bộ với nhau, ta cần phải quan tâm đặc biệt đến cơ chế cho phép trật tự hoá từng
phần giữa các sự kiện diễn ra đồng thời trong hệ với sự tham gia cơ hữu của hệ thống
truyền thông. Theo nguyên lý phân tán, cơ chế trật tự hóa từng phần chính là các điều
kiện cứng
mà một tiến trình nào đó của hệ muốn phát triển tiếp tục, thì bắt buộc phải
thỏa mãn bước kiểm tra kề liền trước đó. Sự kiện được hiểu là các hành vi nhận và phát
thông điệp
. Trong một hệ, ta có tiến trình động lực và tiến trình thường. Giữa 2 tiến
trình NSX và NTT, tiến trình NSX được xem là tiến trình động lực, có nghĩa là sự phát
triển của tiến trình này sẽ là nguyên nhân dẫn đến phát triển của các tiến trình khác (cụ
thể là tiến trình NTT).
Trật tự hóa có được là do sắp xếp (thiết lập một trật tự) các sự kiện. Điều duy
nhất cần lưu tâm ở đây là trong khi đang sắp xếp cho tập sự kiện này chưa xong, thì các
sự kiện khác lại đến ngẫu nhiên và số lượng không giống nhau. Do vậy, tập sự kiện là
kết quả của việc sắp xếp giữa các Server là không giống nhau. Điều đó sẽ rất nghiêm
trọng trong trật tự hóa tổng quát chặt chẽ.
Giữa các trạm hay Server (sau này ta gọi chung là Server) sự khác nhau trật tự
giữa các sự kiện chỉ có thể thể hiện được thông qua việc trao đổi các thông điệp với
nhau.

hoạt động của 2
Server với các sự
kiện phát và nhận
thông điệp theo thời
gian t. Đây là ví dụ về
trật tự hóa từng phần
của các sự kiện trong hệ, trong đó quan hệ có trước xác định một trật tự từng phần trên
tập hợp các sự kiện của hệ và trật tự này được thể hiện trong phần bên phải.
3. Mô hình người sản xuất - người tiêu thụ phân tán
Trong phần này, ta sẽ đi sâu vào việc phân tích mô hình NSX-NTT phân tán làm
cơ sở cho việc xây dựng giải pháp kỹ thuật giám sát hệ thống.
Bài toán NSX-NTT là mô hình quen thuộc trong phần nguyên lý hệ điều hành
các máy tính. Theo đó thì khả năng tiêu thụ là nguyên nhân chính hạn chế số lượng hàng
hóa sản xuất ra sao cho lượng hàng hóa sản xuất ra đó không được phép vượt quá số
lượng tiêu thụ một giá trị lớn hơn N. Người sản xuất P và người tiêu thụ C là 2 người
nằm trên 2 Server cách xa nhau (liên lạc qua hệ thống đường truyền).
Giả sử rằng NP là số lượng sản xuất ra và NC là số lượng tiêu thụ tại thời điểm
khởi sự (start), C chỉ tiêu thụ được một sản phẩm, nếu sản xuất sản phẩm đó đã diễn ra.
Điều đó có nghĩa là, nếu :
NP – NC > 0 (1)
Tương tự, P chỉ sản xuất một thông tin, nếu :
NP – NC < N (2)
Hai quan hệ (1) và (2) thể hiện điều kiện của việc đồng bộ hóa.
Trong hệ phân tán, ta có thể sử dụng 2 biến NP và NC thể hiện số lượng chính xác
sản xuất đã diễn ra và số lượng chính xác tiêu thụ đã thực hiện. Đồng thời ta cũng dùng
2 biến NP’ và NC’ để thể hiện giá trị ảnh của NP và NC.
Ta sẽ chứng minh rằng một sự đồng bộ hóa chính xác được đảm bảo bằng việc
xác nhận trên mỗi Server các điều kiện nêu trong (1) và (2).
Trên Server sản xuất :
NP’ – NC > 0 (3)

NP – NC’ < N (4)
Thực tế, ta có thể viết :
NP = NP' + np, với np ≥ 0 (5)
NC = NC' + nc, với nc ≥ 0 (6)
trong đó, np số lượng thông tin đã sản xuất bởi P mà C không biết,
nc số lượng thông tin đã tiêu thụ bởi C mà P không biết.
Không cần tính đến (5) và (6), các điều kiện (3) và (4) bao hàm các điều kiện
ban đầu nêu trong (1) và (2).
Ta có thể khái quát hóa phương pháp này cho điều kiện đồng bộ hóa bằng công
thức :


=
>
Q
i
ii
KXC
1
(7)
trong đó, Ci và K là các hằng số.
Đến đây, ta hoàn toàn có khả năng và điều kiện mạnh hơn bằng cách thay thế tất
cả các Xi mà hệ số của nó là đại lượng dương bằng các ảnh của nó X'i, nếu và chỉ nếu
các Xi là các biến không lùi.
Việc vận dụng thông thường của vấn đề này trên hệ thống tập trung sử dụng loại
trừ tương hỗ để truy cập đến các biến trạng thái chia xẻ được biểu hiện chính xác số
lượng sản xuất và tiêu thụ. Điều đó cho ta một trật tự tổng quát giữa các sự kiện phối
hợp ngay từ đầu sản xuất và tiêu thụ.
Song vì nguyên nhân ở xa nhau (phải qua hệ thống đường truyền) giữa người
sản xuất và người tiêu thụ mà trật tự tổng quát này là không cần thiết và chỉ cần sử dụng

Mỗi công tơ được khởi động ngay khi thành lập nó. Khi xây dựng chương trình
Java, ta sử dụng 4 biến NP, NC, NP’ và NC’ đóng vai trò công tơ sự kiện và ảnh của các
công tơ đó. Hai công tơ sự kiện ảnh NP’ và NC’ được khởi động bằng giá trị 0. Hai biến
nguyên NP và NC là
2 biến cục bộ đối với
tiến trình người sản
xuất P và người tiêu
thụ C.
Thuật toán cho
phép biểu diễn hoạt
động của 2 tiến trình
này được trình bày
trong hình IV.1 dưới
đây.
4.2 Trao đổi thông điệp
Thông điệp trong hệ NSX-NTT đóng vai trò quan trọng trong việc trật tự hóa các
sự kiện và dựa vào đó ta có thể có được sự đồng bộ cần thiết. Ở đây, trong tiến trình
NSX, lệnh sản xuất chính là hình thành thông điệp, còn trong tiến trình NTT, lệnh tiêu
thụ cho phép lấy ra từ bộ đệm một hay một số thông điệp nào đó.
Các thao tác tại Server sản xuất là :
• Kiểm tra điều kiện (NP’ - NC) > 0 nhận giá trị true, thì lấy ra thông điệp
(tieu_thu).
• Tăng giá trị ảnh NP’ trên Server tiêu thụ lên 1 đơn vị (có thể hơn 1 đơn vị)
bằng cách phát thông điệp vừa hình thành cho Server này qua đường
truyền.
• Tăng NP lên 1 đơn vị.
• Chuyển sang trạng thái chờ và kiểm tra.
Các thao tác tại Server sản xuất là :
Hình IV.1 Thuật toán tổng quát NSX-NTT
PRODUCER

Ba giá trị này xác định bản chất của 3 loại thông điệp thường sử dụng (xem bảng
IV.2).
Bảng IV.2 Các hàm của hệ NSX-NTT
TT Thông điệp Giải thích

1

REQ
Thông điệp REQ được phát đi khi trạm i muốn vào
trong đoạn găng

2

REL
Thông điệp REL được phát đi khi trạm i đã r
ời khỏi
đoạn găng

3

ACQ
Thông điệp ACQ được gửi bởi trạm j cho trạm i
, khi
trạm j đã nhận được từ trạm i thông điệp REQ.

4.3 Xây dựng hệ thống giám sát MPCM
DS

v.3.2
Hệ thống giám sát

phần chính phản ảnh trong
hình IV.2, trong đó ta có các
mô đun sau đây :

TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 5(34).2009

101
1. Monitoring I với chức
năng chủ yếu là mô phỏng hoạt
động bằng sơ đồ về quá trình
hoạt động đồng thời của NSX và
NTT ở xa, thông qua hệ thống
đường truyền. Tại đây, NSD là
cán bộ quản lý sẽ cho ra các
quyết định về quản trị hệ thống
dựa vào phương tiện cung cấp
thông tin động.
2. Monitoring II với chức
năng chủ yếu là mô phỏng hoạt
động của hệ đa Server thông qua
hệ thống viễn thông. Các yếu tố
kỹ thuật như bộ đệm, các biến
đồng bộ, đèn báo, thông điệp, được sơ đồ hóa trên màn hình. Thông tin ở đây đóng
vai trò trợ giúp cho người quản trị hệ thống mạng nhìn thấy và quyết định can thiệp khi
cần thiết nhằm làm cho hệ hoạt động hiệu quả hơn.
3. Hệ thống quản lý CSDL nội tại cho phép điều khiển các hoạt động liên quan đến
CSDL riêng c ủa MPCM
DS
4. Mô đun cài đặt sẽ giúp chúng ta
hình thành các giá trị ban đầu của một

2. Làm rõ sự khác nhau của mô hình tập trung và phân tán. Chỉ ra những lợi ích khi
ứng dụng hệ vào thực tế để điều khiển các hệ thống lớn như các hệ thống sản xuất -
kinh doanh hiện trạng trong việc tăng cường nắm bắt thông tin nhanh chóng, chính
xác và kịp thời và từ đó có thể đưa ra được những quyết định kinh tế h ợp lý trong
khi thực hiện các ý đồ chiến thuật và phát triển các chiến lược sản xuất - kinh doanh
của đơn vị mình.
3. Nghiên cứu hình thành giải pháp kỹ thuật khả thi cho phép điều khiển các tiến trình
hoạt động đồng thời, ở xa thông qua phương pháp giám sát các hệ thống lớn, phức
tạp và phân tán.
4. Hình thành hệ chương trình MPCM
DS
5. Thử nghiệm chương trình đã cài đặt và vận hành thử để rút ra các kết luận cần thiết
cho sự phát triển tiếp tục đề tài sau này.
v.3.2 bằng ngôn ngữ JAVA với thư viện phân
tán CORBA và RMI trong môi trường mạng TCP/IP.
Những hạn chế và khó khăn trong quá trình nghiên cứu như môi trường giả định
TCP/IP và máy ảo JVM, các hướng nghiên cứu khác nhau của thế giới và trong nước,
thời gian và năng lực nghiên cứu có hạn của các tác giả sẽ được tiếp tục khắc phục để
công trình này được hoàn thiện hơn. Các tác giả rất mong muốn sự đóng góp ý kiến từ
phía các chuyên gia, bạn bè đồng nghiệp.
TÀI LIỆU THAM KHẢO
[1] Nguyễn Thúc Hải, Mạng máy tính và các hệ thống mở, NXB Giáo dục, Hà Nội, 1997
[2] Lê Văn Sơn, Hệ tin học phân tán, NXB Đại học Quốc gia TP. HCM, 2002
[3] Hà Quang Th ụy, Giáo trình nguyên lý h ệ điều hành, NXB Khoa h ọc và Kỹ thuật, Hà Nội, 2003
[4] Nguyễn Nho Túy, Lập trình Java giả lập Server giải bài toán Người sản xuất-Người tiêu thụ
(Luận văn Thạc sĩ CNTT), Đà Nẵng, 2005
[5] Vũ Duy Mẫn, Hệ điều hành của máy tính điện tử, NXB Khoa học và Kỹ thuật, Hà Nội, 1989
[6] Mohammad M.Fuad and Michael J. Oudshoorn, AdJava-Automatic Distribution of Java,
Application, 2001
[7] M. Tamer Ozsu, Patrick Valduriez (Trần Đức Quang biên dịch), Nguyên lý các hệ cơ sở dữ


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status