6. Bố cục luận văn
3.2.2. Tính năng phát triển thêm (Schedule)
Như đã trình bày, mục tiêu lớn nhất trong đồ án của tôi là lập lịch thiết lập, thay đổi policy based routing tự động theo thời gian, mục tiêu này được cụ thể hóa bằng chức năng phát triển thêm của tôi là “Schedule”, một chức năng bổ sung cho công cụ quản lý, điều khiển luồng để đặt lịch đẩy các Flow từ controller xuống các thiết bị.
Ý tưởng thiết kế chức năng:
Người dùng được cung cấp một cửa sổ nhập liệu, trong đó có hai trường thông tin chính là thời gian chạy và đường dẫn các file cấu hình thiết bị. Sau khi người dùng hoàn tất việc nhập liệu, các thông tin này sẽ được lưu vào file “time-schedule.config” theo định dạng:
Time 1 (hh:mm:ss) ; <Config File Path 1> Time 2 hh:mm:ss) ; <Config File Path 2> …
Time n (hh:mm:ss) ; <Config File Path n>
Chương trình sẽ đọc file “time-schedule.config”, nếu thời gian được thiết lập trùng với thời gian hiện tại thì file cấu hình tương ứng sẽ được đẩy xuống thiết bị thông qua Controller.
Giao diện của chức năng Schedule:
Hình 3.9. Giao diện chức năng Schedule
Các Package và class của chức năng Schedule: view.Schedule: Gồm 5 Class:
o AddScheduleDialog: Chức năng tạo bảng nhập thông tin thời gian và đường dẫn file thiết lập Flow;
o ConfigUtil: Đọc thông tin từ file cấu hình “time-schedule.config” và xử lý file cấu hình;
o ScheduleModel: Tạo các đối tượng để làm việc và thuận lợi cho việc tái sử dụng.
o TaskConfigScheduleTable: Tạo bảng tổng hợp những Schdule đã nhập để tiện theo dõi;
o TimeTask: Chạy file cấu hình trong đường dẫn vào thời điểm đã được thiết lập.