Nếu một do đó nghĩ của Astrolabe là một hình thức phân cấp phân cấpcơ sở dữ liệu, sẽ có một bảng (một mối quan hệ) cho từng vùng, với một hàng cho mỗi đứa trẻkhu vực. Mỗi cột trong một khu vực lá là một giá trị được chiết xuất từ tương ứngnút hoặc các đối tượng trên nút đó. Mỗi cột trong một khu vực nội bộ là một giá trị tính toánbởi một chức năng aggregating để tóm tắt các trẻ em. Các cột có thểrất khác nhau từ những người trong khu trẻ em. Ví dụ, các khu trẻ emcó thể báo cáo tải, số lượng tập tin có chứa hình ảnh của Elvis và vân vân.Một khu vực nội bộ có thể có một cột cho tải trung bình trên trẻ em của nó,một đếm tổng số phù hợp với hình ảnh báo cáo của trẻ em của nó,và một phần ba danh sách nút ba con với các trận đấu mạnh nhất. Trong cáctrường hợp thứ hai, chúng tôi sẽ có lẽ cũng có một cột đưa ra thực tế chất lượngnhững người phù hợp với, để tiếp tục tập hợp có thể được thực hiện tại cấp độ cao hơncủa hệ thống phân cấp khu vực. Tuy nhiên, điều này là không cần thiết: sử dụng phạm vi của Astrolabecơ chế, chúng tôi có thể tìm kiếm những người phù hợp với hình ảnh chỉ trong vòng một đĩa đơnkhu vực, hoặc trong một số góc của cây tổng thể, hoặc trong bất kỳ khác cũng xác địnhphạm vi.Ngoài mã, AFCs có thể chứa các thông tin khác. Hai quan trọngsử dụng khác của AFCs là yêu cầu thông tin và cấu hình thời gian chạy. MộtThông tin yêu cầu khu vực Châu á chỉ định thông tin ứng dụng muốnLấy mỗi máy chủ tham gia, và làm thế nào để tổng hợp thông tin này trongHệ thống phân cấp khu vực. Cả hai được xác định bằng cách sử dụng truy vấn SQL. Một cấu hình khu vực Châu áxác định các thông số thời gian chạy ứng dụng có thể sử dụng năng động on-linecấu hình. Chúng tôi sẽ trình bày các ví dụ của những sử dụng sau này trong bài báo này.Ứng dụng gọi Astrolabe giao diện thông qua các cuộc gọi đến một thư viện (xemBàn tôi). Ban đầu, các thư viện kết nối đến một đại lý Astrolabe sử dụng TCP. Cáctập hợp các đại lý mà từ đó thư viện có thể chọn được chỉ định sử dụng thiết lập liên hệ.Tùy chọn, đủ điều kiện đại lý có thể được tìm thấy tự động bằng cách sử dụng tìm địa chỉ liên lạc.Các thông số thời gian xác định bao lâu để tìm kiếm, trong khi các tham số phạm vichỉ định làm thế nào để tìm kiếm (ví dụ như, sử dụng một yêu cầu phát sóng trên mạng cục bộ). (Trongtrường hợp đơn giản nhất, một đại lý Astrolabe chạy trên mỗi máy chủ, để ứng dụngquá trình luôn luôn có thể kết nối với các đại lý trên máy chủ địa phương và cần không lo lắngvề kết nối breaking.)Từ đó về sau, các thư viện cho phép các ứng dụng để lướt tất cả các thông tintrong Astrolabe cây thiết lập kết nối đến các đại lý khác khi cần thiết. Cácsáng tạo và chấm dứt kết nối là minh bạch để ứng dụng quy trình,do đó, các lập trình viên có thể nghĩ về Astrolabe như là một dịch vụ duy nhất. Cập nhập vào cácCác thuộc tính của khu vực, cũng như các bản Cập Nhật cho các thành viên của khu vực, được đăngvào hàng đợi sự kiện địa phương. Ứng dụng cũng có thể cập nhật các thuộc tính của vùng ảosử dụng thuộc tính thiết lập.Bên cạnh một giao diện bản địa, các thư viện có giao diện SQL cho phép các ứng dụng để xem mỗi nút trong khu vực cây như một bảng cơ sở dữ liệu quan hệ,với một hàng cho từng khu vực trẻ em và một cột cho mỗi thuộc tính. Các lập trình viên có thể sau đó chỉ cần gọi SQL nhà khai thác để lấy dữ liệu từ các bảng.Bằng cách sử dụng lựa chọn, tham gia, và các hoạt động công đoàn, các lập trình viên có thể tạo mớiACM giao dịch trên hệ thống máy tính, Vol. 21, No. 2, tháng năm 2003.Astrolabe • 171Số lần xem của dữ liệu Astrolabe độc lập với hệ thống phân cấp vật lý củacây Astrolabe. Một trình điều khiển ODBC là có sẵn cho giao diện này SQL, đểnhiều công cụ cơ sở dữ liệu hiện tại có thể sử dụng Astrolabe trực tiếp, và nhiều cơ sở dữ liệucó thể nhập dữ liệu từ Astrolabe. SQL không hỗ trợ ngay lập tức thông báo củathuộc tính thay đổi, do đó, rằng ứng dụng cần thông báo như vậy sẽ cầnđể có được chúng bằng cách sử dụng giao diện bản địa.Đại lý Astrolabe cũng hoạt động như máy chủ web, do đó thông tin có thể được duyệtvà thay đổi bằng cách sử dụng bất kỳ trình duyệt web chuẩn thay vì đi qua cácthư viện.
đang được dịch, vui lòng đợi..
