สถาปัตยกรรมการไหลของข้อมูล

ในสถาปัตยกรรมการไหลของข้อมูลระบบซอฟต์แวร์ทั้งหมดถูกมองว่าเป็นชุดของการเปลี่ยนแปลงบนชิ้นส่วนที่ต่อเนื่องกันหรือชุดข้อมูลอินพุตโดยที่ข้อมูลและการดำเนินการไม่ขึ้นต่อกัน ด้วยวิธีนี้ข้อมูลจะเข้าสู่ระบบจากนั้นจึงไหลผ่านโมดูลทีละโมดูลจนกว่าจะถูกกำหนดให้กับปลายทางสุดท้าย (เอาต์พุตหรือที่เก็บข้อมูล)

การเชื่อมต่อระหว่างส่วนประกอบหรือโมดูลอาจใช้เป็นสตรีม I / O, บัฟเฟอร์ I / O, piped หรือการเชื่อมต่อประเภทอื่น ๆ ข้อมูลสามารถบินได้ในโทโพโลยีแบบกราฟด้วยวัฏจักรในโครงสร้างเชิงเส้นโดยไม่มีวัฏจักรหรือในโครงสร้างแบบต้นไม้

วัตถุประสงค์หลักของแนวทางนี้คือเพื่อให้บรรลุคุณสมบัติของการใช้ซ้ำและความสามารถในการปรับเปลี่ยน เหมาะสำหรับแอปพลิเคชันที่เกี่ยวข้องกับชุดของการแปลงข้อมูลอิสระหรือการคำนวณที่กำหนดไว้อย่างดีกับอินพุตและเอาต์พุตที่กำหนดไว้อย่างเป็นระเบียบเช่นคอมไพเลอร์และแอปพลิเคชันการประมวลผลข้อมูลทางธุรกิจ ลำดับการดำเนินการระหว่างโมดูลมีสามประเภท

  • ลำดับแบทช์
  • ท่อและตัวกรองหรือโหมดท่อส่งแบบไม่ต่อเนื่อง
  • การควบคุมกระบวนการ

ลำดับแบทช์

Batch sequential เป็นรูปแบบการประมวลผลข้อมูลแบบคลาสสิกซึ่งระบบย่อยการแปลงข้อมูลสามารถเริ่มต้นกระบวนการได้หลังจากที่ระบบย่อยก่อนหน้าผ่าน -

  • การไหลของข้อมูลมีชุดข้อมูลโดยรวมจากระบบย่อยหนึ่งไปยังอีกระบบหนึ่ง

  • การสื่อสารระหว่างโมดูลดำเนินการผ่านไฟล์กลางชั่วคราวซึ่งสามารถลบออกได้โดยระบบย่อยที่ต่อเนื่องกัน

  • สามารถใช้ได้กับแอปพลิเคชันที่ข้อมูลเป็นแบตช์และแต่ละระบบย่อยอ่านไฟล์อินพุตที่เกี่ยวข้องและเขียนไฟล์เอาต์พุต

  • การประยุกต์ใช้สถาปัตยกรรมนี้โดยทั่วไปรวมถึงการประมวลผลข้อมูลทางธุรกิจเช่นการเรียกเก็บเงินธนาคารและสาธารณูปโภค

ข้อดี

  • จัดเตรียมการหารที่ง่ายกว่าบนระบบย่อย

  • ระบบย่อยแต่ละระบบสามารถเป็นโปรแกรมอิสระที่ทำงานกับข้อมูลอินพุตและสร้างข้อมูลเอาต์พุต

ข้อเสีย

  • ให้เวลาแฝงสูงและปริมาณงานต่ำ

  • ไม่มีอินเทอร์เฟซแบบพร้อมกันและแบบโต้ตอบ

  • จำเป็นต้องมีการควบคุมภายนอกสำหรับการนำไปใช้งาน

สถาปัตยกรรมท่อและตัวกรอง

แนวทางนี้ให้ความสำคัญกับการเปลี่ยนแปลงเพิ่มเติมของข้อมูลโดยส่วนประกอบที่ต่อเนื่องกัน ในแนวทางนี้การไหลของข้อมูลขับเคลื่อนโดยข้อมูลและระบบทั้งหมดจะถูกย่อยสลายเป็นส่วนประกอบของแหล่งข้อมูลตัวกรองท่อและอ่างข้อมูล

การเชื่อมต่อระหว่างโมดูลคือสตรีมข้อมูลซึ่งเป็นบัฟเฟอร์เข้าก่อน / ออกก่อนที่สามารถสตรีมไบต์อักขระหรือประเภทอื่น ๆ ได้ คุณสมบัติหลักของสถาปัตยกรรมนี้คือการดำเนินการพร้อมกันและเพิ่มขึ้น

กรอง

ตัวกรองคือตัวแปลงกระแสข้อมูลอิสระหรือตัวแปลงกระแสข้อมูล จะแปลงข้อมูลของสตรีมข้อมูลอินพุตประมวลผลและเขียนสตรีมข้อมูลที่แปลงแล้วบนไพพ์เพื่อให้ตัวกรองถัดไปประมวลผล ทำงานในโหมดเพิ่มหน่วยซึ่งจะเริ่มทำงานทันทีที่ข้อมูลมาถึงผ่านท่อที่เชื่อมต่อ ตัวกรองมีสองประเภท -active filter และ passive filter.

Active filter

ตัวกรองแบบแอคทีฟช่วยให้ท่อที่เชื่อมต่อดึงข้อมูลเข้าและดันข้อมูลที่แปลงแล้วออกมา ทำงานด้วยท่อแบบพาสซีฟซึ่งมีกลไกการอ่าน / เขียนสำหรับการดึงและผลักดัน โหมดนี้ใช้ในท่อ UNIX และกลไกการกรอง

Passive filter

ตัวกรองแบบพาสซีฟช่วยให้ท่อที่เชื่อมต่อสามารถดันข้อมูลเข้าและดึงข้อมูลออกได้ ทำงานด้วยท่อที่ใช้งานอยู่ซึ่งดึงข้อมูลจากตัวกรองและส่งข้อมูลไปยังตัวกรองถัดไป ต้องมีกลไกการอ่าน / เขียน

ข้อดี

  • ให้การทำงานพร้อมกันและปริมาณงานสูงสำหรับการประมวลผลข้อมูลที่มากเกินไป

  • ให้ความสามารถในการใช้ซ้ำและลดความยุ่งยากในการบำรุงรักษาระบบ

  • ให้ความสามารถในการปรับเปลี่ยนและการมีเพศสัมพันธ์ต่ำระหว่างตัวกรอง

  • ให้ความเรียบง่ายด้วยการแบ่งส่วนที่ชัดเจนระหว่างตัวกรองสองตัวที่เชื่อมต่อด้วยท่อ

  • ให้ความยืดหยุ่นโดยรองรับทั้งการดำเนินการตามลำดับและแบบขนาน

ข้อเสีย

  • ไม่เหมาะสำหรับการโต้ตอบแบบไดนามิก

  • จำเป็นต้องมีตัวส่วนร่วมต่ำสำหรับการส่งข้อมูลในรูปแบบ ASCII

  • ค่าใช้จ่ายในการแปลงข้อมูลระหว่างตัวกรอง

  • ไม่มีวิธีสำหรับตัวกรองในการโต้ตอบแบบร่วมมือกันเพื่อแก้ปัญหา

  • ยากที่จะกำหนดค่าสถาปัตยกรรมนี้แบบไดนามิก

ท่อ

ไปป์ไม่มีสถานะและมีสตรีมไบนารีหรืออักขระที่มีอยู่ระหว่างสองตัวกรอง สามารถย้ายสตรีมข้อมูลจากตัวกรองหนึ่งไปยังอีกตัวกรอง ไพพ์ใช้ข้อมูลบริบทเล็กน้อยและไม่เก็บข้อมูลสถานะระหว่างอินสแตนซ์

สถาปัตยกรรมการควบคุมกระบวนการ

เป็นสถาปัตยกรรมการไหลของข้อมูลประเภทหนึ่งที่ข้อมูลไม่ได้เป็นแบบตามลำดับหรือสตรีมแบบไปป์ไลน์ การไหลของข้อมูลมาจากชุดของตัวแปรซึ่งควบคุมการดำเนินการของกระบวนการ มันสลายระบบทั้งหมดเป็นระบบย่อยหรือโมดูลและเชื่อมต่อเข้าด้วยกัน

ประเภทของระบบย่อย

สถาปัตยกรรมการควบคุมกระบวนการจะมี processing unit สำหรับการเปลี่ยนตัวแปรควบคุมกระบวนการและก controller unit สำหรับการคำนวณปริมาณการเปลี่ยนแปลง

ชุดควบคุมต้องมีองค์ประกอบดังต่อไปนี้ -

  • Controlled Variable- Controlled Variable ให้ค่าสำหรับระบบพื้นฐานและควรวัดโดยเซ็นเซอร์ ตัวอย่างเช่นความเร็วในระบบควบคุมความเร็วคงที่

  • Input Variable- วัดข้อมูลเข้าสู่กระบวนการ ตัวอย่างเช่นอุณหภูมิของอากาศไหลกลับในระบบควบคุมอุณหภูมิ

  • Manipulated Variable - Manipulated Variable value ถูกปรับหรือเปลี่ยนแปลงโดยคอนโทรลเลอร์

  • Process Definition - รวมถึงกลไกในการจัดการตัวแปรกระบวนการบางอย่าง

  • Sensor - รับค่าของตัวแปรกระบวนการที่เกี่ยวข้องกับการควบคุมและสามารถใช้เป็นข้อมูลอ้างอิงย้อนกลับเพื่อคำนวณตัวแปรที่จัดการใหม่

  • Set Point - เป็นค่าที่ต้องการสำหรับตัวแปรควบคุม

  • Control Algorithm - ใช้สำหรับการตัดสินใจว่าจะจัดการตัวแปรกระบวนการอย่างไร

พื้นที่การใช้งาน

สถาปัตยกรรมการควบคุมกระบวนการเหมาะสมในโดเมนต่อไปนี้ -

  • การออกแบบซอฟต์แวร์ระบบฝังตัวซึ่งระบบถูกจัดการโดยข้อมูลตัวแปรการควบคุมกระบวนการ

  • แอ็พพลิเคชันซึ่งมีจุดมุ่งหมายเพื่อรักษาคุณสมบัติที่ระบุของผลลัพธ์ของกระบวนการที่ค่าอ้างอิงที่กำหนด

  • ใช้ได้กับระบบควบคุมความเร็วรถและระบบควบคุมอุณหภูมิอาคาร

  • ซอฟต์แวร์ระบบเรียลไทม์เพื่อควบคุมเบรกป้องกันล้อล็อกรถยนต์โรงไฟฟ้านิวเคลียร์ ฯลฯ