หลักการเก็บ LOG และติดตามการแก้ไขเปลี่ยนแปลงข้อมูลของผู้ใช้งาน
1. เก็บเฉพาะเหตุการณ์ที่เกิดขึ้น
จะเก็บข้อมูลเฉพาะสิ่งที่เกิดขึ้น โดยใช้หลัก 5W1H
แต่จะไม่เก็บข้อมูลที่ถูกแก้ไขไป โดยใช้ หลักการในการเก็บข้อมูลดังนี้
- ใคร(Who) คือยูสเซอร์ที่เข้าใช้งาน
- ทำอะไร(What) สิ่งที่เกิดขึ้น เพิ่ม/แก้ไข/ลบ
- ที่ไหน(Where) ระบุหน้าเมนู/ชื่อตารางข้อมูล/ไอดี
- เมื่อไหร่(When) ระบุวันเวลาที่ทำกิจกรรม
- ทำไม(Why) ระบุเหตุผล กรณีที่ แก้ไข/ลบ ข้อมูล
- อย่างไร(How) หมายเหตุอื่นๆ ที่ต้องการชี้แจง (เมื่อเรียกดู)
การเก็บข้อมูลก่อนการเปลี่ยนแปลงนั้น จะเป็นข้อมูลที่มีขนาดใหญ่
ยิ่งมีการแก้ไขข้อมูลบ่อยครั้ง จำนวนข้อมูลที่ต้องเก็บก็มากขึ้นตาม
ไปด้วย ดังนั้นเพื่อป้องกันฐานข้อมูลมีขนาดใหญ่เกินไป
จึงต้องมีการลบข้อมูลที่เก่าไปแล้วออกบ้าง โดยกำหนดเงื่อนไขเป็นระยะเวลา 3 เดือน 6 เดือน 1 ปี
โดยหลักการที่กำหนดไว้ ดังนี้
โดยหลักการที่กำหนดไว้ ดังนี้
- เมื่อมีการแก้ไขให้เก็บไว้ที่ ตาราง LOG 6 เดือน
- เมื่อข้อมูลที่เก็บไว้นานกว่า 6 เดือนย้ายไปที่ 1 ปี
- เมื่อข้อมูลที่เก็บไว้นานกว่า 1 ปี ย้ายไปเก็บเป็นไฟล์ xml
- เมื่อเรียกดูข้อมูล ให้ค้นหาและแสดงจากทั้ง 2 ตาราง
- หาไม่พบข้อมูลจากตารางทั้งสอง ให้ค้นหาจากไฟล์ xml
3. รูปแบบการจัดเก็บข้อมูล
การ บันทึกข้อมูลจะเก็บเป็นข้อมูลต่อเนื่อง โดยมี เครื่องหมายที่กำหนดไว้คั่นกลางระหว่างข้อมู ลในแต่ละฟิลด์ เพื่อป้องกันข้อผิดพลาดจะต้องเป็น สัญลักษณ์ที่ไม่ตรงกับข้อมูลที่ต้องการเก็บ
เช่น FIELD1=>DATA1{[@]}FIELD2=>DATA2{[@]}FIELD3=>DATA3
ฟิลด์ ที่ใช้เก็บข้อมูลจะมีเหมือนกันกับ แบบเก็บ LOG การเปลี่ยนแปลง แต่จะเพิ่มในส่วนของการเก็บข้อมูลก่อนการแก้ไขที่มีรูปแบบตามด้านบนนี้
คำแนะนำเพิ่มเติม
ในการเก็บ LOG นั้น ถ้าเราเก็บเฉพาะชื่อผู้ใช้งานที่ล็อกอินเข้าระบบเท่านั้น อาจจะทำให้ไม่เพียงพอสำหรับใช้ยืนยันว่าใครทำรายการ ในกรณีที่มีการใช้รหัสของผู้อื่นในการทำรายการ ดังนั้นหากต้องการให้เก็บข้อมูลเจาะจงยิ่งขึ้น ให้เก็บ IP Address ของเครื่องที่ทำรายการด้วย และ IP ที่ใช้ควรจะเป็นไอพีที่ไม่ผ่านพร็อกซี่ เพราะหากมีการใช้งานพร็อกซี่ ไอพีที่ได้จะเหมือนกันหมด คือ ใช้ไอพีเดียวกันกับเครื่องพร็อกซี่นั่นเอง
PHP CI MANIA - PHP Code Generator
โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
ความคิดเห็น
แสดงความคิดเห็น