สถาปัตยกรรมการไหลของข้อมูล
ในสถาปัตยกรรมการไหลของข้อมูลระบบซอฟต์แวร์ทั้งหมดถูกมองว่าเป็นชุดของการเปลี่ยนแปลงบนชิ้นส่วนที่ต่อเนื่องกันหรือชุดข้อมูลอินพุตโดยที่ข้อมูลและการดำเนินการไม่ขึ้นต่อกัน ด้วยวิธีนี้ข้อมูลจะเข้าสู่ระบบจากนั้นจึงไหลผ่านโมดูลทีละโมดูลจนกว่าจะถูกกำหนดให้กับปลายทางสุดท้าย (เอาต์พุตหรือที่เก็บข้อมูล)
การเชื่อมต่อระหว่างส่วนประกอบหรือโมดูลอาจใช้เป็นสตรีม 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 - ใช้สำหรับการตัดสินใจว่าจะจัดการตัวแปรกระบวนการอย่างไร
พื้นที่การใช้งาน
สถาปัตยกรรมการควบคุมกระบวนการเหมาะสมในโดเมนต่อไปนี้ -
การออกแบบซอฟต์แวร์ระบบฝังตัวซึ่งระบบถูกจัดการโดยข้อมูลตัวแปรการควบคุมกระบวนการ
แอ็พพลิเคชันซึ่งมีจุดมุ่งหมายเพื่อรักษาคุณสมบัติที่ระบุของผลลัพธ์ของกระบวนการที่ค่าอ้างอิงที่กำหนด
ใช้ได้กับระบบควบคุมความเร็วรถและระบบควบคุมอุณหภูมิอาคาร
ซอฟต์แวร์ระบบเรียลไทม์เพื่อควบคุมเบรกป้องกันล้อล็อกรถยนต์โรงไฟฟ้านิวเคลียร์ ฯลฯ