/* Khi MH nguồn xóa đơn vị dữ liệu d*/
1. Kiểm tra thời gian sống TTL của đơn vị dữ liệu d (S) có cịn hợp lệ: 1.1. Nếu có đơn vị dữ liệu d có TTL khơng hợp lệ thì xóa d
1.2. Ngược lại:
1.2.1. Tìm đơn vị dữ liệu d có nhãn là SD và có tần số truy cập f nhỏ nhất và xóa d.
1.2.2. Nếu tất cả d với nhãn SD và có tần suất f như nhau, thực hiện tính β = f/(t*S).
1.2.3. Chọn đơn vị dữ liệu d có giá trị β nhỏ nhất để xóa ra khỏi bộ nhớ cục bộ.
Mơ-đun xóa dữ liệu Nhận dữ liệu d Cịn khơng gian lưu? Còn hết Local Cache PD/SD Lưu đơn vị dữ liệu d
Lựa chọn đơn vị có độ hữu dụng thấp nhất d’
Xóa đơn vị dữ liệu d’ Kiểm tra kho lưu trữ
Hình 2-10 Lưu đồ minh họa cho xử lý xóa dữ liệu
2.2.6 Mơ-đun xử lý Nhất qn dữ liệu
2.2.6.1 Mơ tả bài tốn
Chúng tôi xây dựng mô-đun xử lý đồng bộ giữa BS và MH theo kết hợp theo nguyên lý đẩy (push) và kéo (pull). Và được mô tả chi tiết như sau:
Mỗi chu kì T, khi có sự thay đổi dữ liệu, BS gửi thông báo dữ liệu mất giá trị (IR) đến MH qua kênh downlink (kênh truyền từ BS đến Client). Thông báo này gồm mã định danh dữ liệu (ID), nhãn thời gian cập nhật mới nhất của dữ liệu, và thời gian MH được gửi yêu cầu cập nhật cho dữ liệu đó. MH truy cập vào kênh downlink để nhận thông báo, ghi nhận lại những dữ liệu bị cập nhật mà nó có lưu trữ. Sau đó, MH tiến hành gửi yêu cầu cập
nhật cho những dữ liệu này đến BS thông qua kênh uplink (kênh truyền từ MH đến BS)
theo đúng thời gian quy định trong IR để xác nhận rằng MH muốn đồng bộ những dữ liệu nào trong số trên.
Đến hết thời gian nhận yêu cầu cập nhật từ MH, BS tiến hành lọc ra các dữ liệu
được yêu cầu từ MH, xử lý lập và gửi lịch phát dữ liệu (DBR1) lên kênh downlink, cập
nhật thơng tin về tình trạng lưu trữ của MH đối với dữ liệu bị cập nhật. MH nhận lịch phát
DBR, lập lịch ngủ thức, chờ đến thời điểm BS phát dữ liệu yêu cầu theo chương trình đã
định, MH lắng nghe và nhận dữ liệu đã yêu cầu.
1
Ngoài ra, BS dựa vào yêu cầu cập nhật mà MH gửi về, sau k chu kì đồng bộ (k là giới hạn số lượng chu kì đồng bộ liên tiếp mà MH không gửi yêu cầu đồng bộ cho dữ liệu đang lưu trữ), xác định các MH nào khơng cịn nhu cầu đối với các đơn vị dữ liệu, cập nhật
HLC và gửi thông tin cập nhật HLC lên kênh downlink. MH nào có nhu cầu sẽ truy cập
vào kênh downlink để nhận cập nhật HLC.
Hình 2-11. Mơ hình giao tiếp giữa server và MH
2.2.6.2 Mơ hình hoạt động chi tiết của kiến trúc
Để nguyên lý có thể thực hiện được, chúng tơi xây dựng lại mơ hình kiến trúc hệ thống tại BS và MH. Với mục đích tiện cho việc theo dõi, chúng tơi đưa ra nguyên lý hoạt động chi tiết cho mỗi hệ thống trong mơ hình.
Mỗi chu kì T, BS sẽ thơng báo tình trạng dữ liệu. Giả sử T đủ lớn để BS có thể thực hiện xong hết mọi xử lý cần thiết trước khi trả kết quả về cho MH. Trong mỗi chu kì T, các tiến trình sẽ được thực hiện như sau:
Giai đoạn 1: từ ti ti+1 là khoảng thời gian tốt nhất, ngắn nhất để BS xác định
và gửi thông báo IR về MH. MH truy cập vào kênh downlink nhận IR từ BS.
Giai đoạn 2: từ ti+1 ti+2 là khoảng thời gian tốt nhất, ngắn nhất đủ để các MH
dựa vào IR xử lí thành cơng các yêu cầu cập nhật, và truy cập vào kênh uplink gửi yêu cầu cập nhật theo thời gian quy định về BS.
Giai đoạn 3: từ ti+2 ti+3 là khoảng thời gian tốt nhất, ngắn nhất để BS xử lý lập
lịch, cập nhật HLC và phát đồng loạt lịch phát dữ liệu về MH. MH truy cập vào kênh
downlink để nhận lịch phát dữ liệu.
Giai đoạn 4: Thời gian từ ti+3 ti+T là khoảng thời gian MH dựa vào lịch phát
dữ liệu lập lịch ngủ thức để nhận dữ liệu. Vào đúng thời gian phát dữ liệu, MH thức dậy, truy cập vào kênh downlink để nhận dữ liệu phát từ BS.
Dưới đây, chúng tơi sẽ trình bày mơ hình hoạt động chi tiết của kiến trúc tại BS và MH.
a) Tại BS
Hình 2-13. Mơ hình chi tiết tại BS khi đồng bộ dữ liệu
Mơ hình chi tiết tại BS bao gồm các kho lưu trữ và mô-đun phục vụ cho các xử lý tại hệ thống BS. Nguyên lí hoạt động của mơ hình tại BS như sau:
Khi dữ liệu phía BS có sự thay đổi, mơ-đun xử lý thông tin cập nhật được gọi thực thi.
Với danh sách dữ liệu bị thay đổi, mô-đun duyệt qua kho lưu trữ cục bộ HLC để lấy ra
khơng có MH nào lưu trữ. Bên cạnh đó, mơ-đun cịn dùng tần suất của các dữ liệu để định thời gian cho phép MH gửi yêu cầu cập nhật dữ liệu hợp lý. Điều này giúp giải quyết vấn đề quá nhiều MH cùng gởi yêu cầu cập nhật đến BS trong một thời điểm làm cho kênh uplink bị tắt nghẽn. Mô-đun trả về IR và được BS phát lên kênh downlink, đồng thời lưu lại để phục vụ cho các xử lý sau đó.
BS nhận những yêu cầu cập nhật trong khoảng thời gian định trước và lưu vào kho lưu trữ các yêu cầu cập nhật. Hết thời gian cho phép MH gửi yêu cầu, BS sẽ lập lịch phát dữ liệu.
Khi đó, mơ-đun xử lý lập lịch định chu kì thích hợp cho các kết quả được yêu cầu cập nhật từ MH và thông tin về thời gian các dữ liệu được phát. Thông tin phát dữ liệu được tạm gọi là lịch phát dữ liệu DBR, bao gồm: id các gói dữ liệu kết quả của các yêu cầu dữ liệu, và thời gian phát ra của từng gói dữ liệu. Thơng tin này được gửi về cho MH trong chu kì hồi đáp đầu tiên. Sau đó, BS phát dữ liệu theo đúng chương trình đã định trong lịch phát dữ liệu.
b) Tại MH
Mỗi MH có một bộ nhớ cục bộ (Local Cache– LC) để lưu trữ dữ liệu. Định kì khi BS có sự thay đổi dữ liệu, BS sẽ kiểm tra và phát đồng loạt bảng thông tin dữ liệu cập nhật IR,
MH sẽ nhận bảng IR này, kiếm tra lại dữ liệu nội bộ, đánh dấu các đơn vị dữ liệu bị ảnh
hưởng, đồng thời gửi yêu cầu lên BS xin cập nhật những dữ liệu này.
Hình 2-14. Mơ hình chi tiết ở MH trong giai đoạn nhận IR
Kết thúc thời gian nhận yêu cầu cập nhật từ MH, BS cập nhật HLC, lập và phát lịch phát dữ liệu xuống cho MH. MH nhận được lịch phát dữ liệu sẽ căn cứ vào nhãn thời gian trong lịch phát lập lịch ngủ thức để nhận và cập nhật dữ liệu trong chu kì đồng bộ của BS.
Trường hợp trong quá trình xử lý MH bị mất kết nối. MH có thể xin cập nhật dữ liệu dữ liệu từ các MH khác trong mạng. Tuy nhiên do tính chất phức tạp chúng tơi chỉ giải quyết việc cập nhật chỉ xảy ra giữa BS và MH. Và trong mơ hình xử lý này, chúng tơi giải quyết
theo cách nếu MH khi bị mất kết nối trong q trình đồng bộ xảy ra nó sẽ đánh dấu tất cả các hạng mục dữ liệu ở trạng thái nghi ngờ, và yêu cầu cập nhật được gửi lên BS để được BS xử lý trong chu kỳ kế tiếp.
2.2.6.3 Cấu trúc lưu trữ dữ liệu cho mô-đun xử lý nhất quán dữ liệu
Dựa vào mơ hình hoạt động chi tiết của kiến trúc đề xuất ở trên chúng tôi xây dựng cấu trúc lưu trữ dữ liệu tại BS và MH phục vụ cho việc xử lý mơ hình nhất qn dữ liệu và được trình bày chi tiết như sau:
a) Dữ liệu lưu tại BS