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 trongthe zone hierarchy. Both are specified using SQL queries. A Configuration AFCspecifies run-time parameters that applications may use for dynamic on-lineconfiguration. We will present examples of these uses later in this paper.Applications invoke Astrolabe interfaces through calls to a library (seeTable I). Initially, the library connects to an Astrolabe agent using TCP. Theset of agents from which the library can choose is specified using set contacts.Optionally, eligible agents can be found automatically using find contacts.The time parameter specifies how long to search, while the scope parameterspecifies how to search (e.g., using a broadcast request on the local network). (Inthe simplest case, an Astrolabe agent is run on every host, so that applicationprocesses can always connect to the agent on the local host and need not worryabout the connection breaking.)From then on, the library allows applications to peruse all the informationin the Astrolabe tree, setting up connections to other agents as necessary. Thecreation and termination of connections is transparent to application processes,so the programmer can think of Astrolabe as one single service. Updates to theattributes of zones, as well as updates to the membership of zones, are postedon local event queues. Applications can also update the attribute of virtual zonesusing set attribute.Besides a native interface, the library has an SQL interface that allows applications to view each node in the zone tree as a relational database table,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..
