Lớp phiên làm việc Session

Một phần của tài liệu xây dựng hệ thống giải bài toán smt hiệu năng cao – phần máy chủ (Trang 35 - 36)

CHƯƠNG 5 THIẾT KẾ CHI TIẾT SERVER

5.6. Lớp phiên làm việc Session

Do tất cả các bài toán của User sẽ được gửi đến Server, rồi sau đó Server sẽ phân phối bài toán đó đến tất cả các Solver đang kết nối đến Server. Chính vì vậy hệ thống sẽ nảy sinh ra trường hợp, nếu như 2 bài toán cùng được gửi đến Server hay trả về kết quả cùng một lúc, khi ấy các dòng dữ liệu được gửi từ Solver đến Server hay ngược lại, làm sao phân biệt dòng dữ liệu đó là của bài toán nào? Để xử lý chuyện đó, ta có thể tạo lại một kết nối khác qua cổng khác đến Solver ứng với mỗi bài toán. Nhưng nếu làm như vậy thì sẽ có những nhược điểm là chi phí để tạo một kết nối khác là rất lớn, chậm và tốn tài nguyên, nhưng sẽ dễ dàng hơn khi lập trình. Điều này sẽ vi phạm yêu cầu của bài toán là đòi hỏi trả về kết quả nhanh. Do vậy ta có thể sử dụng một cách như sau:

+ Trước mỗi dòng gửi từ Server đến Solver hoặc ngược lại ta cộng thêm ở đầu chuỗi một đoạn là ‘session_id|’.

+ Trong khoảng từ thẻ mở và thẻ đóng tương ứng với session_id đó, tất cả các dòng mà có session_id đằng trước thì ta thêm vào nội dung thực sự của session_id đấy.

Do vậy ta thiết kế một lớp Session gồm:

+ Biến session_id thể hiện mã session_id. + Trạng thái hoạt động của session đó.

+ Chuỗi thể hiện nội dung của session đó (Hình 5.10).

public class Sesstion { // session_id

protected int session_id = 0; // Noi dung ket qua

protected String content = ""; // Trang thai hoat dong

protected boolean active = false; // Khoi tao

public Sesstion(){ }

// Gan trang thai hoat dong

public void SetActive(boolean status){ this.active = status;

// Gan noi dung ket qua

public void SetContent(String tmp){ this.content = tmp;

}

// Gan session_id

public void SetSessionID(int id){ this.session_id = id;

} }

Hình 5.10 Các phương thức, thuộc tính của lớp Session.

Với việc sử dụng lớp Session này, việc làm việc và xử lý giải quyết nhiều bài toán cùng một lúc của hệ thống trở nên dễ dàng hơn rất nhiều.

Một phần của tài liệu xây dựng hệ thống giải bài toán smt hiệu năng cao – phần máy chủ (Trang 35 - 36)

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

(48 trang)
w