Bối cảnhLàm thế nào để đối phó với chế biến nặng tải dữ liệu hiển thị trong trình duyệt
- Chúng tôi có một ứng dụng Ember dựa trên mà xử lý lượng lớn dữ liệu có cấu trúc (mô hình quá trình kinh doanh).
- Quan trọng! Chúng tôi thực sự muốn giữ cho ứng dụng của mình có thể ngoại tuyến, càng nhiều càng tốt.
Nhu
Trong khi chúng tôi chỉ có để hiển thị các dữ liệu, chỉnh sửa chúng, và như vậy, không có show-stopper trong radar ...
Nhưng bây giờ, chúng tôi muốn áp dụng xử lý trên các mô hình này: kiểm tra tính hợp lệ, tìm đường dẫn ... và một số loại thuật toán tốn thời gian/bộ nhớ.
Vấn đề
Chúng ta có thể xử lý các thuật toán trên máy chủ, nhưng điều đó sẽ giết chế độ ẩn của ứng dụng.
Chúng tôi đã suy nghĩ về công nhân web để tránh các ứng dụng đóng băng và xử lý các thuật toán trong nền, nhưng chúng tôi phải đối mặt với một vấn đề lớn: sao chép dữ liệu khi truyền dữ liệu cho nhân viên. Sử dụng các đối tượng chuyển nhượng sẽ làm cho ứng dụng mất quyền sở hữu (và dữ liệu) trong ít nhất là tính toán, do đó, nó không có vẻ khả thi.
Bạn xử lý vấn đề này như thế nào? Là cách duy nhất của chúng tôi ra việc sử dụng một "coroutine giống như" thực hiện các thuật toán của chúng tôi? Bất kỳ đầu mối?
Tôi nghĩ rằng câu hỏi quan trọng là liệu bạn có đủ tiền để không đóng băng ứng dụng hay không. Giả sử người dùng thực hiện thay đổi đối với dữ liệu trong khi thuật toán đang chạy. Kết quả của quá trình chạy trong nền vẫn hợp lệ/có liên quan? Nếu không, tốt nhất là nên hiển thị cho người dùng thanh tiến trình và tiến hành các tính toán. – Qnan
Sự cố với sao chép dữ liệu là gì? Quá nhiều thứ để tuần tự hóa cho người lao động? –
@SimoneGianni Vấn đề chính là đồng bộ hóa dữ liệu giữa ngữ cảnh giao diện người dùng và bối cảnh công nhân –