Kiến trúc luồng dữ liệu

Trong kiến ​​trúc luồng dữ liệu, toàn bộ hệ thống phần mềm được xem như một chuỗi các phép biến đổi trên các phần hoặc tập dữ liệu đầu vào liên tiếp, nơi dữ liệu và hoạt động độc lập với nhau. Trong cách tiếp cận này, dữ liệu được đưa vào hệ thống và sau đó chảy qua các mô-đun tại một thời điểm cho đến khi chúng được gán cho một số đích cuối cùng (đầu ra hoặc kho dữ liệu).

Các kết nối giữa các thành phần hoặc mô-đun có thể được thực hiện dưới dạng luồng I / O, bộ đệm I / O, đường ống hoặc các loại kết nối khác. Dữ liệu có thể được di chuyển trong cấu trúc liên kết đồ thị với các chu trình, trong cấu trúc tuyến tính không có chu trình hoặc trong cấu trúc kiểu cây.

Mục tiêu chính của phương pháp này là đạt được chất lượng tái sử dụng và khả năng sửa đổi. Nó phù hợp với các ứng dụng liên quan đến một loạt các phép tính hoặc biến đổi dữ liệu độc lập được xác định rõ trên đầu vào và đầu ra được xác định có trật tự như trình biên dịch và các ứng dụng xử lý dữ liệu kinh doanh. Có ba loại trình tự thực thi giữa các mô-đun−

  • Hàng loạt tuần tự
  • Chế độ đường ống và bộ lọc hoặc chế độ đường ống không tuần tự
  • Kiểm soát quy trình

Tuần tự hàng loạt

Tuần tự hàng loạt là một mô hình xử lý dữ liệu cổ điển, trong đó hệ thống con chuyển đổi dữ liệu chỉ có thể bắt đầu quá trình của nó sau khi hệ thống con trước của nó hoàn toàn thông qua -

  • Luồng dữ liệu mang một loạt dữ liệu tổng thể từ hệ thống con này sang hệ thống con khác.

  • Sự liên lạc giữa các mô-đun được thực hiện thông qua các tệp trung gian tạm thời có thể được gỡ bỏ bởi các hệ thống con kế tiếp.

  • Nó có thể áp dụng cho những ứng dụng mà dữ liệu được chia theo lô và mỗi hệ thống con đọc các tệp đầu vào liên quan và ghi các tệp đầu ra.

  • Ứng dụng điển hình của kiến ​​trúc này bao gồm xử lý dữ liệu kinh doanh như thanh toán ngân hàng và tiện ích.

Ưu điểm

  • Cung cấp các phân chia đơn giản hơn trên các hệ thống con.

  • Mỗi hệ thống con có thể là một chương trình độc lập làm việc trên dữ liệu đầu vào và tạo ra dữ liệu đầu ra.

Nhược điểm

  • Cung cấp độ trễ cao và thông lượng thấp.

  • Không cung cấp giao diện tương tác và đồng thời.

  • Kiểm soát bên ngoài là cần thiết để thực hiện.

Kiến trúc ống và bộ lọc

Cách tiếp cận này nhấn mạnh vào sự chuyển đổi gia tăng dữ liệu theo thành phần kế tiếp. Trong cách tiếp cận này, luồng dữ liệu được điều khiển bởi dữ liệu và toàn bộ hệ thống được phân tách thành các thành phần của nguồn dữ liệu, bộ lọc, đường ống và bồn chứa dữ liệu.

Các kết nối giữa các mô-đun là dòng dữ liệu là bộ đệm vào / ra trước có thể là dòng byte, ký tự hoặc bất kỳ loại nào khác như vậy. Tính năng chính của kiến ​​trúc này là thực thi đồng thời và tăng dần.

Bộ lọc

Bộ lọc là một bộ biến dòng dữ liệu độc lập hoặc các bộ chuyển đổi dòng. Nó biến đổi dữ liệu của luồng dữ liệu đầu vào, xử lý nó và ghi luồng dữ liệu đã biến đổi qua một đường ống để bộ lọc tiếp theo xử lý. Nó hoạt động ở chế độ gia tăng, trong đó nó bắt đầu hoạt động ngay khi dữ liệu đến qua đường ống được kết nối. Có hai loại bộ lọc -active filterpassive filter.

Active filter

Bộ lọc hoạt động cho phép các đường ống được kết nối để kéo dữ liệu vào và đẩy dữ liệu đã chuyển đổi ra ngoài. Nó hoạt động với ống thụ động, cung cấp cơ chế đọc / ghi để kéo và đẩy. Chế độ này được sử dụng trong cơ chế ống và bộ lọc UNIX.

Passive filter

Bộ lọc thụ động cho phép các đường ống được kết nối để đẩy dữ liệu vào và kéo dữ liệu ra. Nó hoạt động với đường ống hoạt động, kéo dữ liệu từ một bộ lọc và đẩy dữ liệu vào bộ lọc tiếp theo. Nó phải cung cấp cơ chế đọc / ghi.

Ưu điểm

  • Cung cấp đồng thời và thông lượng cao để xử lý dữ liệu quá mức.

  • Cung cấp khả năng tái sử dụng và đơn giản hóa việc bảo trì hệ thống.

  • Cung cấp khả năng sửa đổi và khớp nối thấp giữa các bộ lọc.

  • Cung cấp sự đơn giản bằng cách cung cấp sự phân chia rõ ràng giữa hai bộ lọc bất kỳ được kết nối bằng đường ống.

  • Cung cấp tính linh hoạt bằng cách hỗ trợ cả thực thi tuần tự và song song.

Nhược điểm

  • Không thích hợp cho các tương tác động.

  • Một mẫu số chung thấp là cần thiết để truyền dữ liệu ở các định dạng ASCII.

  • Chi phí chuyển đổi dữ liệu giữa các bộ lọc.

  • Không cung cấp cách để các bộ lọc tương tác hợp tác để giải quyết vấn đề.

  • Khó cấu hình động kiến ​​trúc này.

Ống

Các ống là không trạng thái và chúng mang dòng nhị phân hoặc ký tự tồn tại giữa hai bộ lọc. Nó có thể di chuyển luồng dữ liệu từ bộ lọc này sang bộ lọc khác. Pipes sử dụng một ít thông tin theo ngữ cảnh và không giữ lại thông tin trạng thái giữa các lần khởi tạo.

Kiến trúc kiểm soát quy trình

Đây là một kiểu kiến ​​trúc luồng dữ liệu trong đó dữ liệu không phải là luồng tuần tự theo lô hay luồng theo chuỗi. Luồng dữ liệu đến từ một tập hợp các biến kiểm soát việc thực hiện quy trình. Nó phân hủy toàn bộ hệ thống thành các hệ thống con hoặc mô-đun và kết nối chúng.

Các loại hệ thống con

Một kiến ​​trúc kiểm soát quy trình sẽ có processing unit để thay đổi các biến kiểm soát quá trình và controller unit để tính toán lượng thay đổi.

Bộ điều khiển phải có các yếu tố sau:

  • Controlled Variable- Biến được điều khiển cung cấp các giá trị cho hệ thống bên dưới và nên được đo bằng cảm biến. Ví dụ, tốc độ trong hệ thống kiểm soát hành trình.

  • Input Variable- Đo lường một đầu vào cho quá trình. Ví dụ, nhiệt độ của gió hồi trong hệ thống điều khiển nhiệt độ

  • Manipulated Variable - Giá trị biến được thao tác được điều chỉnh hoặc thay đổi bởi bộ điều khiển.

  • Process Definition - Nó bao gồm các cơ chế để thao tác một số biến quy trình.

  • Sensor - Nhận các giá trị của các biến quá trình thích hợp để kiểm soát và có thể được sử dụng như một tham chiếu phản hồi để tính toán lại các biến đã thao tác.

  • Set Point - Đây là giá trị mong muốn cho một biến được kiểm soát.

  • Control Algorithm - Nó được sử dụng để quyết định cách thao tác với các biến quy trình.

Lĩnh vực ứng dụng

Kiến trúc điều khiển quy trình phù hợp trong các lĩnh vực sau:

  • Thiết kế phần mềm hệ thống nhúng, trong đó hệ thống được điều khiển bởi dữ liệu biến điều khiển quá trình.

  • Các ứng dụng, mục đích là duy trì các thuộc tính cụ thể của các đầu ra của quá trình ở các giá trị tham chiếu nhất định.

  • Áp dụng cho hệ thống kiểm soát hành trình trên ô tô và kiểm soát nhiệt độ tòa nhà.

  • Phần mềm hệ thống thời gian thực để điều khiển phanh chống bó cứng ô tô, nhà máy điện hạt nhân, v.v.