Cụ thể quá trình phân tách, tạo dữ liệu

Một phần của tài liệu Nghiên cứu cải thiện tốc độ và độ tin cậy giao dịch thời gian thực trong hệ thống thông tin chứng khoán (Trang 51 - 53)

Cứ sau 3s thì 1 phiên bản(version) đƣợc tạo ra, đồng thời chƣơng trình sẽ chuyển dữ liệu hiện tại ở hai bảng stock_CurrentStockInfo, stock_CurrentMarketInfo vào bảng streaming_LastCheckedSymbols, các dữ liệu cũ ở bảng này sẽ đƣợc xóa đi để giảm kích thƣớc dữ liệu. Và từ bảng streaming_LastCheckedSymbols dữ liệu sẽ đƣợc chuyển sang bảng streaming_versionSymbols. Ở bảng streaming_versionSymbolsChanges phiên bản cũng đƣợc cập nhật. Bảng streaming_versionSymbolsChanges là bảng truyền dữ liệu streaming nên dữ liệu ở bảng này phụ thuộc vào sự thay đổi của dữ liệu hiện tại là bảng streaming_LastCheckedSymbols và bảng streaming_versionSymbols. Với cùng 1 VersionID, cùng thuộc tính nếu giá trị bằng nhau thì giá trị tƣơng ứng trong bảng streaming_versionSymbolsChanges sẽ đƣợc gán giá trị “Null”, còn nếu khác nhau thì sẽ đƣợc gán giá trị của bảng streaming_LastCheckedSymbols là giá trị hiện tại.

Khi khách hàng truy cập thì máy chủ sẽ đƣợc yêu cầu tạo mã subscriber và máy chủ sẽ gán mã versions tƣơng ứng. Khi đã có 2 mã này thì sẽ lấy đƣợc dữ liệu thay đổi từ bảng streaming_versionSymbolsChanges sau khi đối chiếu chung mã versionID từ bảng streaming_versionSymbols và mã symbolID từ bảng streaming_subscribeedSymbols.

Nhƣng nếu do quá trình dán đoạn nào đó (ví dụ nhƣ mất mạng) thì mã version của khách hàng sẽ không thuộc 50 version. Lúc đó máy chủ sẽ lấy giá trị ở bảng streaming_LastCheckedSymbols là phiên bản mới nhất mà máy chủ server mới tạo và cấp lại cho web ngƣời truy cập mã version này và tiếp tục quá trình streaming.

52

3.4. Kết luận.

Để đơn giản hóa yêu cầu và nhận dữ liệu giữa Client và Server thì với JQuery một thƣ viện của JavaScipt thật là dễ dàng và đơn giản. Chỉ với một vài thủ tục đơn giản cũng có thể xử lý nhiều xử lý phức tạp nếu nhƣ không có nó. Mặc khác để tải thƣ viện JQuery không chỉ với đƣờng dẫn từ Server mà còn có thể tải từ các đƣờng dẫn khác(ví dụ đƣờng dẫn điển hình là từ ajax.Googleapis.com). Với tính phổ dụng của nó khiến cho chúng ta có thể yên tâm khi sử dụng và không lo lắng về vấn đề trình duyệt mình đang sử dụng là gì. Với JQuery các lời gọi, xử lý thật gọn gàng và đơn giản, điều này đã đƣợc tôi sử dụng trong luận văn của mình.

Bên cạnh đó là ý tƣởng phân tách dữ liệu, tạo thêm các bảng dữ liệu phụ hỗ trợ. Đồng thời tạo ra các phiên bản version liên tục sẽ hỗ trợ rất nhiều trong việc phân loại các trình duyệt truy cập tùy theo từng thời điểm. Điều này sẽ có hiệu quả rất lớn khi số lƣợng truy cập tăng lên. Khi số lƣợng ngƣời truy cập tăng lên server vẫn có thể đạp ứng tốt khả năng phản hồi, gửi dữ liệu tới trình duyệt truy cập. Điều này là một điểm vƣợt trội hẳn so với mô hình hệ thống TSIS. Với việc chỉ gửi những giá trị thay đổi thì tốc độ phản hồi đã tăng lên một cách đáng kể(nhƣ đã thấy ở chƣơng 2). Nhƣ đáp ứng đƣợc kịp thời nên tránh đƣợc lỗi quá tải, đảm bảo độ tin cậy cho hệ thống cao hơn rất nhiều.

53

Chƣơng 4 – KẾT QUẢ ĐẠT ĐƢỢC TRONG QUÁ TRÌNH THỰC HIỆN.

Một phần của tài liệu Nghiên cứu cải thiện tốc độ và độ tin cậy giao dịch thời gian thực trong hệ thống thông tin chứng khoán (Trang 51 - 53)