Giới thiệu hệ thống

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu và tích hợp thông tin sử dụng agent phần mềm 001 (Trang 44 - 52)

Mục tiêu của hệ thống là tạo ra một môi trƣờng mở, phân tán, đóng vai trò một môi trƣờng hoạt động chung cho tất cả các thành phần tham gia. Ngƣời sử dụng muốn tìm kiếm thông tin sẽ nhận đƣợc kết quả phù hợp nhất với nhu cầu của họ đồng thời các thông tin sẽ đƣợc tích hợp lại trong một khung nhìn thống nhất. Mỗi đối tƣợng tham gia hệ thống sẽ đƣợc đại diện bằng một tác tử (cố định hoặc di động) làm việc một cách tự động hoặc các đối tƣợng ứng dụng trong cùng nền tảng hoặc trên các nền tảng khác nhau.

Hệ thống tìm kiếm và tích hợp dữ liệu cung cấp cho ngƣởi sử dụng một giao diện đơn giản, dễ sử dụng để lấy các thông tin cần thiết. Hệ thống sẽ lấy dữ liệu từ nhiều nguồn dữ liệu khác nhau. Các nguồn dữ liệu này có thể tồn tại ở nhiều nơi và dƣới nhiều dạng khác nhau nhƣ: dữ liệu có cấu trúc, bán cấu trúc. Hệ thống không chỉ đơn thuần là tìm các thông tin từ các nguồn mà nó còn phải tích hợp đƣợc các nguồn thông tin khác nhau thành một nguồn thông tin cần thiết cho ngƣời sử dụng.

Do các nguồn dữ liệu ở nhiều dạng khác nhau nên để hợp nhất ta cần đƣa về một dạng thống nhất. Vấn đề chính của hệ thống tích hợp dữ liệu là tồn tại các dữ liệu không đồng nhất về ngữ nghĩa và cấu trúc:

1) Tồn tại trƣờng hợp nhiều nguồn dữ liệu có các khái niệm cùng tên nhƣng là các khái niệm khác nhau;

2) Nhiều nguồn dữ liệu có các khái khác tên nhƣng là cùng một khái niệm; 3) Một khái niệm của nguồn dữ liệu này có thể là hợp nhất nhiều khái niệm ở nguồn khác;

Trong hệ thống tích hợp dữ liệu, tôi sử dụng dữ liệu XML là dữ liệu thống nhất cho tích hợp. XML là ngôn ngữ đánh dấu mở rộng do tổ chức W3C phát triển và chuẩn hóa cho mục đích biểu diễn và trao đổi dữ liệu trên Web. XML là ngôn ngữ rất linh hoạt và có một số ƣu việt nên còn đƣợc sử dụng nhƣ một chuẩn trong biểu diễn dữ liệu bán cấu trúc. Các nguồn dữ liệu khác nhau của hệ thống sẽ đƣợc chuyển về dạng chuẩn thống nhất XML sử dụng cho tích hợp.

Để giải quyết vấn đề không đồng nhất về ngữ nghĩa và cấu trúc, hệ thống sử dụng thông tin của từ điển siêu dữ liệu (Metadata) để tích hợp dữ liệu. Metadata chứa lƣợc đồ toàn cục và ánh xạ giữa lƣợc đồ toàn cục với lƣợc đồ cục bộ. Mô hình tổng quát của hệ thống đƣợc minh họa trong hình 4.1 dƣới đây.

Hình 4.1 - Mô hình tổng quan của hệ thống tìm kiếm và tích hợp thông tin

Ngƣời sử dụng dựa vào lƣợc đồ toàn cục để đƣa ra câu truy vấn lấy thông tin. Hệ thống sẽ tiến hành phân tích câu truy vấn, lấy các ánh xạ tƣơng ứng với các khái niệm ở lƣợc đồ toàn cục từ lƣợc đồ cục bộ, xây dựng câu truy vấn con cho mỗi nguồn cục bộ. Tác tử wrapper của mỗi nguồn dựa vào câu truy vấn thông tin sẽ tiến hành lấy dữ liệu từ các nguồn và trả lại kết quả dƣới dạng XML. Sau khi có đƣợc kết quả từ các nguồn cục bộ, hệ thống sẽ dựa vào từ điển siêu dữ liệu (Metadata) để tiến hành tích hợp dữ liệu.

4.3.1. Thiết kế kiến trúc hệ thống

Thiết kế kiến trúc tổng quan của bài toán nghiên cứu đƣợc mô tả trong hình 4.2, bao gồm 4 tầng chính: Tầng trình diễn, Tầng trung tâm, Tầng tìm kiếm và Tầng tài nguyên. Mỗi tầng đƣợc mô tả nhƣ sau:

(1) Tầng trình diễn: là tầng cao nhất của kiến trúc bao gồm các thành phần Web client. Tầng này đƣợc thiết kế để ngƣời sử dụng có thể sử dụng thông qua giao diện đồ họa trong môi trƣờng Web. Thành phần Web client giao tiếp với User Interface Agent của tầng trung tâm bằng chuyển tiếp các yêu cầu của ngƣời sử dụng và nhận kết quả trả về từ User Interface Agent trong định dạng XML. Để thực hiện việc này, các hệ thống phải có khả năng tƣơng tác với mô hình dữ liệu XML.

(2) Tầng trung tâm: là tầng nhân của kiến trúc. Tầng này bao gồm ba thành phần chủ yếu: từ điển siêu dữ liệu (metadata dictionary), User Interface Agent và Mediator Agent. Trách nhiệm chính của tầng này là làm cầu nối giữa các thành phần định dạng xác định ở các tầng thấp hơn và tầng trình diễn. Tích hợp dữ liệu đƣợc thiết kế dựa trên khái niệm “tích hợp động”, không có sự cung cấp đối với các lƣợc đồ xác định trƣớc hoặc các lƣợc đồ trung tâm để hạn chế tác động của ngƣời sử dụng. Một lƣợc đồ ảo bao các nguồn thông tin đƣợc lƣu trữ trong từ điển siêu dữ liệu đƣợc cung cấp cho ngƣời sử dụng để tạo các khung nhìn tùy chỉnh và truy vấn trên các lƣợc đồ quan tâm. Một truy vấn đặt bởi ngƣời sử dụng đƣợc phân rã tĩnh trong các giao dịch con phù hợp với các mô tả của các nguồn thông tin cục bộ xác định. Kỹ thuật này hỗ trợ ổn định cho phép thêm hoặc loại bỏ các nguồn thông tin mà không ảnh hƣởng đến toàn bộ cấu hình của hệ thống. Do vậy, các vấn đề không đồng nhất có thể đƣợc giải quyết ở thời điểm truy vấn và xử lý từ xa.

(3) Tầng tìm kiếm: bao gồm các tác tử tìm kiếm Search Agent các tác tử này là các tác tử di động. Mỗi tác tử tìm kiếm có trách nhiệm thực hiện một giao dịch con và liên quan đến thông tin của ngƣời sử dụng với nguồn thông tin đích thông qua giao tiếp với tầng tài nguyên. Tác tử tìm kiếm giao tiếp với LocalDBAgent (tác tử Wrapper) để thu thập và chuyển kết quả thu đƣợc từ LocalDBAgent quay trở lại tầng trung tâm.

(4) Tầng tài nguyên: tầng này chứa các nguồn thông tin không đồng nhất và LocalDBAgent, các tác tử này là các tác tử tĩnh và thƣờng thay thế cho các agent host. Mỗi tác tử LocalDBAgent kết nối trực tiếp với nguồn thông tin cục bộ. Trách nhiệm của nó là phục vụ yêu cầu đến từ Search Agent và chuyển đổi các kết quả trả về trong mô hình dữ liệu chính tắc biểu diễn

trong định dạng XML. Các kết quả trả về sau đó đƣợc đóng gói và đƣợc gửi cho Search Agent để chuyển trở lại Mediator Agent.

Tầng kiến trúc của kiến trúc đề xuất cung cấp mềm dẻo hơn và thiết thực, trong đó cơ chế tác tử đóng vai trò gửi và nhận thông tin giữa các tầng, ở đây các mẫu tƣơng tác trong các tác tử có thể đƣợc thay đổi mà không phải sửa lại mã nguồn tác tử với điều kiện là giao thức vẫn không thay đổi. Tính thiết thực đề xuất các tác tử di động hoạt động tự trị và đồng bộ trong và dọc theo các tầng, do đó, khả năng hệ thống có thể chịu đƣợc các tác động hoạt động mạng không liên tục hoặc lỗi trong các nguồn thông tin.

Hình 4.2 - Kiến trúc hệ thống tìm kiếm và tích hợp thông tin của bài toán nghiên cứu

4.3.1.1. Tầng trình diễn

Thành phần Web client cung cấp cho ngƣời sử dụng sự mềm dẻo tối đa. Ngƣời sử dụng có thể thao tác dễ dàng các yêu cầu tìm kiếm mà không cần biết tri thức của các lƣợc đồ cục bộ, các ngôn ngữ truy vấn, các mô hình dữ liệu của các nguồn thông tin. Các trách nhiệm của tầng này là: (1) hỗ trợ giao diện sử dụng đồ họa cho ngƣời sử dụng xem các lƣợc đồ của các nguồn thông tin đƣợc hợp nhất với tác tử User Interface Agent; (2) cung cấp một dạng truy vấn thống nhất cho ngƣời sử dụng để tạo các khung nhìn theo ý muốn và đƣa ra truy vấn cho các khung nhìn của ngƣời sử dụng; (3) trình

bày rõ ràng, chính xác và hợp lệ các yêu cầu của ngƣời sử dụng để đảm bảo rằng thông tin chính xác đƣợc truyền cho User Interface Agent; (4) hiển thị các kết quả trả về từ User Interface Agent bằng định dạng XML.

4.3.1.2. Tầng trung tâm

Từ điển siêu dữ liệu

Từ điển siêu dữ liệu lƣu trữ tất cả mô tả dữ liệu và thông tin thích hợp của các nguồn thông tin khác nhau, từ điển siêu dữ liệu đƣợc sử dụng bởi User Interface Agent và Mediator Agent. Từ điển siêu dữ liệu hỗ trợ các giao dịch mức ngƣời sử dụng thực hiện bởi User Interface Agent và Mediator Agent nhƣ sau:

(1)Tạo giao dịch toàn cục: cung cấp dữ liệu ảo cho yêu cầu hợp lệ của ngƣời sử dụng và tạo giao dịch toàn tục;

(2) Phân tích đặc quyền: cung cấp truy nhập đặc quyền của ngƣời sử dụng đối với các nguồn thông tin;

(3)Giao dịch tối ƣu hóa: cung cấp thông tin về quá trình phân phối dữ liệu, đƣờng truy nhập cục bộ và thông tin thống kê cần cho việc tạo truy vấn; (4)Dịch giao dịch toàn cục: cung cấp thông tin ánh xạ giữa dữ liệu ảo và dữ

liệu vật lý cho việc tạo các giao dịch nhỏ hơn;

(5)Tích hợp kết quả: cung cấp dữ liệu ảo phù hợp với yêu cầu của ngƣời sử dụng, ở đây, ta giả sử loại trừ vấn đề không đồng nhất.

Phạm vi của từ điển siêu dữ liệu có thể đƣợc phân loại nhƣ sau: (1)Các mô tả nguồn thông tin

 Các mô tả dữ liệu và các ràng buộc của dữ liệu lƣu trữ trong các nguồn thông tin khác nhau;

 Các mối quan hệ giữa các mô tả dữ liệu và tên của của các nguồn thông tin phù hợp;

 Các mối quan hệ giữa các thuộc tính/thực thể ảo và thuộc tính/thực thể thực của các nguồn thông tin;

 Mô hình dữ liệu đối với từng nguồn thông tin;

 Tên miền, tên host, vị trí vật lý của từng nguồn thông tin và cấu hình của mỗi nguồn thông tin cần thiết cho tác tử Search Agent.

(2)Thông tin đặc quyền

 Ngƣời sử dụng truy nhập với đặc quyền của nguồn thông tin cá nhân;

(3)Thông tin tối ƣu hóa

 Phân mảnh và nhân bản thông tin cần thiết cho trình tối ƣu hóa giao dịch để tạo các giao dịch con;

 Thông tin thống kê cho việc đánh giá yếu tố của kết quả truy vấn trung gian cần thiết cho kế hoạch truy vấn.

Từ điển siêu dữ liệu lƣu thông tin về lƣợc đồ toàn cục và ánh xạ giữa lƣợc đồ toàn cục và lƣợc đồ cục bộ.

Về cơ bản, lƣợc đồ toàn cục và ánh xạ sẽ đƣợc xây dựng dựa trên lƣợc đồ cục bộ. Các nguồn dữ liệu có thể rất phong phú về nhiều chủ đề khác nhau. Tác tử wrapper sẽ đƣa ra một lƣợc đồ cục bộ cho mỗi nguồn.

Lƣợc đồ toàn cục và ánh xạ sẽ đƣợc biểu diễn dƣới mô hình ontology vì nó mô tả chính xác và đầy đủ mối quan hệ giữa các thành phần trong các nguồn dữ liệu. Đồng thời nó cũng giải quyết đƣợc các vấn đề không đồng nhất ngữ nghĩa và cấu trúc trong tích hợp dữ liệu.

Các mô tả lƣợc đồ và mô tả ánh xạ sẽ đƣợc thể hiện trong các tệp XML hoặc RDF.

Tác tử User Interface Agent

Use Interface Agent là một tác tử tĩnh có trách nhiệm hiển thị toàn bộ các lƣợc đồ của các nguồn thông tin khác nhau cho ngƣời sử dụng, tạo các giao dịch toàn cục phù hợp với các yêu cầu của ngƣời sử dụng cũng nhƣ hợp lệ cú pháp bởi từ điển siêu dữ liệu. Một giao dịch toàn cục là một yêu cầu ngƣời sử dụng biểu diễn trong định dạng ngôn ngữ SQL chuẩn sử dụng các thuộc tính ảo và các quan hệ, nó bao gồm một hay nhiều nguồn thông tin vật lý. Thông tin của ngƣời sử dụng (ví dụ: họ tên, địa chỉ, điện thoại,...), loại ngƣời sử dụng (ví dụ: cục bộ hay từ xa) và một giao dịch toàn cục sẽ đƣợc đóng gói trong gói ngƣời sử dụng trƣớc khi chuyển tiếp cho tác tử Mediator Agent. Sau đó, Use Interface Agent chuyển tiếp kết quả thu đƣợc từ Mediator Agent cho tầng cao hơn là Web client.

Tác tử Mediator Agent

Mediator Agent là một tác tử tĩnh có nhiệm vụ tạo và truyền các giao dịch con cho Search Agent, cũng nhƣ tích hợp kết quả trả về bởi Search Agent trong dữ liệu nền tảng XML hợp nhất, điều này sẽ đƣợc đề cập dƣới đây. Mediator Agent đƣợc tạo bởi bốn mô-đun chủ yếu:

Phân tích đặc quyền: xác định đặc quyền của ngƣời sử dụng khi truy nhập các

nguồn thông tin dựa trên các mô tả dữ liệu có liên quan đã định nghĩa trong từ điển siêu dữ liệu.

Giao dịch tối ưu hóa: chứa hai thành phần:

(1)Kế hoạch giao dịch: tạo tất cả các cây truy vấn có thể dựa trên dựa

trên giao dịch toàn cục thu đƣợc thông tin từ từ điển siêu dữ liệu, ví dụ: phân bố dữ liệu, đƣờng truy nhập, thông tin thống kê cần thiết để xác định cây truy vấn tối ƣu cho việc thực hiện.

(2)Thực hiện kế hoạch: phân rã một cây truy vấn tối ƣu thành nhiều các

giao dịch con cho phù hợp với nguồn thông tin. Tất cả các tham chiếu của các thuộc tính ảo và các quan hệ trong giao dịch toàn cục đƣợc thay thế bằng các thuộc tính và quan hệ thực của các nguồn thông tin đích đối với từng giao dịch con cùng với sự trợ giúp của từ điển siêu dữ liệu.

Bộ tạo Search Agent: thiết lập một số lƣợng Search Agent phù hợp với số lƣợng các giao dịch con để hoạt động tại nguồn từ xa. Thêm nữa, bộ tạo Search Agent mã hóa và đóng gói tất cả các thông tin cần thiết thông qua tiến trình tuần tự trong từng Search Agent trƣớc khi chuyển tất cả Search Agent đến các nguồn đích của chúng. Thông tin là:

 Đặc quyền của ngƣời sử dụng đối với các nguồn thông tin;

 Giao dịch con phù hợp với các nguồn thông tin xác định;

 Địa chỉ của các nguồn đích;

 Xác thực thông tin của các tác tử Search Agent để đảm bảo tin cậy cho agent host tại các nguồn đích.

Bộ tích hợp kết quả: có các trách nhiệm chính: giải mã và tích hợp nhiều kết

quả đƣợc chuyển từ các Search Agent vào dữ liệu XML hợp nhất. Các vấn đề không tƣơng thích và dƣ thừa đƣợc loại bỏ thông qua kết hợp kết quả. Tiến trình tích hợp kết quả đƣợc miêu tả trong hình 4.3 dƣới đây.

Hình 4.3 - Kết hợp các kết quả đƣợc tạo từ 3 nguồn dữ liệu vào dữ liệu XML hợp nhất

4.3.1.3. Tầng tìm kiếm

Nhiệm vụ chính của các tác tử tìm kiếm Search Agent trong tầng này đƣợc mô tả nhƣ sau: (1) thực hiện giao dịch con và liên kết thông tin ngƣời sử dụng đƣợc gửi từ Mediator Agent và nguồn thông tin đích; (2) giao tiếp với LocalDB Agent để có đƣợc các thông tin đã yêu cầu; (3) giao tiếp với các Search Agent khác để trao đổi dữ liệu trung gian giữa chúng, do vậy, tránh đƣợc chuyển dữ liệu không cần thiết giữa các Search Agent và Mediator Agent; (4) đóng gói và mã hóa thông qua một tiến trình tuần tự kết quả thu đƣợc từ LocalDB Agent trƣớc khi gửi trở lại Mediator Agent ban đầu; (5) thu thập và chuyển kết quả thu đƣợc từ LocalDB Agent quay trở lại Mediator Agent.

Thuật toán tìm kiếm cơ bản cho từng Search Agent có thể đƣợc xác định tĩnh hoặc nạp động trong quá trình tạo. Tuy nhiên, đề xuất tiếp cận tĩnh là đơn giản và hiệu quả khi tìm kiếm lƣợc đồ và không lãnh phí cho các hoạt động phức tạp. Mặt khác, tiếp cận động sẽ khó khăn khi thực hiện trên nhiều nền tảng.

4.3.1.4. Tầng tài nguyên

Mỗi LocalDB Agent thực hiện các chức năng: (1) nhận và mở gói yêu cầu từ Search Agent; (2) xác minh chứng thƣ xác thực của Search Agent và cho quyền kiểm tra đặc quyền truy cập của ngƣời sử dụng đối với các nguồn thông tin cục bộ; (3) thiết lập kết nối khi hoạt động với nguồn thông tin thông qua cơ chế trung gian JDBC; (4) bao gói các tham số trong/ngoài đƣợc truyền giữa Search Agent và dữ liệu thông qua giao diện Wrapper.

Giao diện Wrapper lần lƣợt chuyển đổi các giao dịch con đến cho ngôn ngữ thao tác dữ liệu thích hợp cũng nhƣ chuyển đổi kết quả thu đƣợc từ việc thực hiện từng

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu và tích hợp thông tin sử dụng agent phần mềm 001 (Trang 44 - 52)

Tải bản đầy đủ (PDF)

(75 trang)