Để chứa thông tin chứng khoán cần phải có một số bảng dữ liệu cơ bản để chứa thông tin về chứng khoán. Và ta dùng các bảng này để lƣu dữ liệu cần thiết hiển thị lên bảng giá chứng khoán. Tất nhiên trong dữ liệu này sẽ có những bảng giữ liệu mà giá trị của nó cố định và có những bảng giá trị mà giá trị của nó thay đổi liên tục. Những bảng giá trị thay đổi liên tục này chính là những chỉ số thuộc tính của thị trƣờng và các loại cổ phiếu chứng khoán.
Nhƣ đã đề cập ở chƣơng 1 và sơ đồ hệ thống mới đã đề cập ở trên, hệ thống dữ liệu đƣợc cập nhật nhƣ sau: máy chủ data server sẽ nhận file thông tin chứng khoán từ sàn chứng khoán nhờ “chƣơng trình nhận file”, nó đƣợc lƣu vào 1 folder. Sau đó file này sẽ đƣợc đọc và chuyển dữ liệu bằng “chƣơng trình đọc và lƣu vào SQL” và cụ thể là chuyển vào bảng stock_CurrentStockInfo và bảng stock_CurrentMarketInfo đây là bảng giá chứng khoán ở thời điểm hiện tại. Bảng stock_CurrentStockInfo và bảng stock_CurrentMarketInfo: đƣợc cập nhật liên tục, cứ sau 3s thì chƣơng trình đọc và lƣu vào SQL (stock checker) sẽ kiểm tra xem có file mới từ sàn chứng khoán hay không, nếu có thì sẽ update vào dữ liệu.
Nếu không phân tách ra mà gửi toàn bộ dữ liệu đến trình duyệt ngƣời xem thì sẽ rất nặng, tốc độ chậm (với hệ thống TSIS). Do vậy cần thiết kế thêm các bảng nhằm phân tách những dữ liệu mà khách hàng đang muốn xem. Không chỉ vậy việc tạo tạo thêm các dữ liệu phụ còn giúp cho Server có thể đánh dấu web truy cập bằng cách đặt mã subscriberID. Việc này sẽ càng làm đơn giản hóa quá trình yêu cầu(request) từ trình duyệt ngƣời xem sẽ đơn giản hơn rất nhiều chỉ bằng thao tác yêu cầu dựa trên mã subscriberID là đủ để máy chủ có thể phân biệt và gửi dữ liệu về cho web ngƣời truy cập. Vì các dữ liệu này phục vụ cho quá trình truyền dữ liệu(streaming) nên đƣợc đặt
49
tên ở các bảng dữ liệu bắt đầu bằng chữ streaming. Các bảng thêm vào gồm các bảng sau: streaming_subscribers, streaming_subscribeedSymbols, streaming_version, streaming_versionSymbols, streaming_versionSymbolsChanges, streaming_LastCheckedSymbols.
- Bảng streaming_subscribers: Lƣu mã subscriber, thời gian truy cập và version cũ mà subsciber đã nhận gần nhất.
- Bảng streaming_version: cứ khoảng 3s thì sẽ tạo 1 version(phiên bản) và chỉ lƣu 50 bản version mới nhất, các bản cũ hơn sẽ đƣợc xóa.
- Bảng streaming_versionSymbols: lƣu các giá trị cụ thể của từng loại cổ phiếu theo từng version và cũng chỉ lƣu theo 50version ở bảng streaming_version.
- Bảng streaming_LastCheckedSymbols: Lƣu lại giá trị hiện tại của chứng khoán ứng với version mới nhất. Thực chất bẳng này có cấu trúc giống hệt bảng streaming_versionSymbols nhƣng nó có dữ liệu ít hơn, vì nó chỉ lƣu giá trị của 1 version mới nhất vừa đƣợc tạo.
- Bảng streaming_versionSymbolsChanges: Lƣu lại giá trị chứng khoán thay đổi của từng version so với giá trị hiện tại, những giá trị không thay đổi thì để ở giá trị “null”. Đây chính là bảng mà máy chủ dùng để chuyển thông tin streaming tới trình duyệt ngƣời xem.
50