Skip to main content

Kiểm soát đồng thời là gì?

Trong lập trình quản lý dữ liệu, kiểm soát đồng thời là một cơ chế được thiết kế để đảm bảo rằng kết quả chính xác được tạo ra bởi các hoạt động đồng thời.Những kết quả đó cũng phải được lấy một cách kịp thời.Kiểm soát đồng thời thường thấy trong các cơ sở dữ liệu trong đó có một bộ đệm thông tin có thể tìm kiếm để người dùng có được. Các lập trình viên cố gắng thiết kế một cơ sở dữ liệu theo cách mà các giao dịch quan trọng có hiệu lực đối với dữ liệu được chia sẻ sẽ tương đương với mặt huyết thanh.Điều này có nghĩa là dữ liệu liên hệ với các bộ giao dịch sẽ ở một trạng thái nhất định khi kết quả có thể đạt được nếu tất cả các giao dịch thực hiện theo thứ tự và theo một thứ tự cụ thể.Đôi khi dữ liệu đó không hợp lệ do kết quả của nó được sửa đổi bởi hai giao dịch, đồng thời. Có nhiều cách đảm bảo rằng các giao dịch thực hiện lần lượttruy cập.Tuy nhiên, điều này là quá mức cần thiết và sẽ không cho phép một lập trình viên được hưởng lợi từ việc kiểm soát đồng thời trong một hệ thống phân tán.Kiểm soát đồng thời cho phép thực hiện đồng thời nhiều giao dịch trong khi giữ các giao dịch này cách xa nhau, đảm bảo tính tuyến tính.Một cách để thực hiện kiểm soát đồng thời là việc sử dụng khóa độc quyền trên một tài nguyên cụ thể để thực hiện giao dịch nối tiếp chia sẻ tài nguyên.Các giao dịch sẽ khóa một đối tượng dự định sẽ được sử dụng và nếu một số giao dịch khác đưa ra yêu cầu đối tượng bị khóa, giao dịch đó phải chờ đối tượng mở khóa.

Việc thực hiện phương thức này trong các hệ thống phân tán liên quan đến Trình quản lý khóa mdash;Máy chủ phát hành khóa tài nguyên.Điều này rất giống với các máy chủ cho các loại trừ lẫn nhau tập trung, trong đó khách hàng có thể yêu cầu khóa và gửi tin nhắn để phát hành khóa trên một tài nguyên cụ thể.Bảo tồn thực thi nối tiếp, tuy nhiên, vẫn cần thiết để kiểm soát đồng thời.Nếu hai giao dịch riêng biệt truy cập một bộ đối tượng tương tự, kết quả cần phải tương tự nhau và như thể các giao dịch này được thực thi theo một thứ tự cụ thể.Để đảm bảo thứ tự truy cập vào tài nguyên, khóa hai pha được đưa ra, có nghĩa là các giao dịch không được phép khóa mới khi phát hành khóa riêng.Giai đoạn, nơi giao dịch có được khóa cần thiết của nó.Giai đoạn tiếp theo được coi là giai đoạn thu hẹp, trong đó giao dịch có khóa được phát hành.Có những vấn đề với loại khóa này.Nếu các giao dịch hủy bỏ, các giao dịch khác có thể sử dụng dữ liệu từ các đối tượng được sửa đổi và mở khóa bởi các giao dịch bị hủy bỏ.Điều này sẽ dẫn đến các giao dịch khác bị hủy bỏ.