HRPM เชื่อมกับเครื่องสแกนหน้าและนิ้ว ZKTeco แบบเรียลไทม์ได้ ผ่านโปรโตคอลมาตรฐาน 2 แบบ แบบแรกคือ ADMS PUSH ที่เครื่องส่งข้อมูลเข้าระบบเองผ่าน HTTP เป็นวิธีหลักที่เหมาะกับงานหลายสาขา อีกแบบคือ Pull-SDK ผ่านพอร์ต TCP 4370 ที่ระบบไปดึงข้อมูลจากเครื่อง เหมาะเมื่ออยู่ในวงแลนเดียวกัน ทำให้เวลาสแกนเข้า-ออกไหลเข้าระบบเองอัตโนมัติ ไม่ต้องมีคนคอยส่งออกไฟล์ทุกวัน

ปัญหาของการรอไฟล์ทุกสิ้นวัน

ถ้ามีสาขาเดียว การส่งออกไฟล์เองยังพอไหว แต่พอมีสามถึงห้าสาขา ต้องคอยรอ HR แต่ละสาขาส่งไฟล์มา บางสาขาลืมส่ง บางสาขาส่งช้า พอถึงเวลาปิดงวดข้อมูลก็มักไม่ครบ

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

ทางแก้คือให้เครื่องเป็นฝ่ายส่งข้อมูลเข้าระบบเอง ทันทีที่มีคนสแกน

เลือกได้ 2 โปรโตคอล ตามหน้างาน

ADMS PUSH ผ่าน HTTP เป็นวิธีหลัก เครื่องจะเป็นฝ่ายส่งข้อมูลออกมาที่เซิร์ฟเวอร์เอง วิธีนี้เหมาะกับงานหลายสาขา หรือเครื่องที่อยู่หลังเราเตอร์ (NAT) เพราะไม่ต้องเปิดพอร์ตเข้าไปที่ตัวเครื่อง แค่ตั้งค่าในเครื่องให้ชี้มาที่ระบบครั้งเดียวก็ใช้ได้ยาว

Pull-SDK ผ่านพอร์ต TCP 4370 เป็นทางเลือก วิธีนี้ระบบจะเป็นฝ่ายไปดึงข้อมูลจากเครื่อง เหมาะเมื่อเซิร์ฟเวอร์กับเครื่องอยู่ในวงแลนเดียวกัน เป็นโปรโตคอลมาตรฐานเดียวกับที่ไลบรารียอดนิยมใช้ จึงต่อกับเครื่องที่รองรับได้โดยตรง

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

ข้อมูลจากเครื่องไม่เขียนเข้าตารางจริงโดยตรง

นี่คือหลักการที่เรายึดมาตั้งแต่ออกแบบ เพราะข้อมูลจากอุปกรณ์ภายนอกเชื่อทั้งหมดไม่ได้

  • พักไว้ที่ตารางพักก่อนเสมอ ต่อให้เครื่องส่งข้อมูลแปลก ๆ เข้ามา ตารางจริงก็ไม่พัง และย้อนตรวจได้
  • กันสแกนซ้ำด้วยรหัสเฉพาะของแต่ละรายการ (dedup hash) เครื่องส่งซ้ำกี่รอบ ข้อมูลก็ไม่บวม (ทดสอบจริงด้วยการส่งซ้ำ 5 รอบ จำนวนแถวยังเท่าเดิม)
  • ยืนยันตัวเครื่องหลายชั้น ทั้งทะเบียนเครื่องและรหัส token เครื่องแปลกปลอมจึงส่งข้อมูลเข้ามาไม่ได้ และตรวจแบบคงเวลา (constant-time) เพื่อกันการเดารหัส
  • จับคู่พนักงานอัตโนมัติ โดยเทียบเลขในเครื่องกับรหัสพนักงานในระบบ รายการที่จับคู่ไม่ได้จะถูกเก็บไว้ ไม่ถูกทิ้ง
  • ตัวประมวลผลทำงานเป็นรอบทุก 1 ถึง 5 นาที และออกแบบให้รันซ้ำได้โดยไม่สร้างข้อมูลซ้ำ

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

เชื่อมเรียลไทม์ กับ นำเข้าไฟล์ ต่างกันอย่างไร

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

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

หน้าจัดการที่ได้มาพร้อมกัน

  • ทะเบียนเครื่อง ดูสถานะเครื่อง เลขซีเรียลแบบปกปิด และหมายเลข IP พร้อมเพิ่ม แก้ไข หรือลบเครื่องได้
  • ตารางพัก ดูข้อมูลดิบ กรองตามสถานะ และสั่งประมวลผลใหม่ได้
  • ประวัติการสแกน ดูเวลาเข้า-ออกรายคน ว่าสแกนด้วยหน้าหรือนิ้ว และดูการเชื่อมต่อของเครื่อง

เริ่มใช้งานอย่างไร

  1. เพิ่มเครื่องเข้าทะเบียน ระบบจะออกรหัส token ให้หนึ่งครั้ง
  2. ตั้งค่าในเครื่อง ZKTeco ให้ ADMS ชี้มาที่เซิร์ฟเวอร์ หรือเลือกโหมด TCP 4370 หากอยู่ในวงแลนเดียวกัน
  3. ลองสแกนทดสอบ แล้วดูว่าข้อมูลเข้ามาที่ตารางพักหรือไม่
  4. ปล่อยให้ตัวประมวลผลจับคู่พนักงานและคำนวณให้อัตโนมัติทุก 1 ถึง 5 นาที

คำถามที่พบบ่อย

ADMS PUSH กับ TCP 4370 ต่างกันอย่างไร ควรเลือกแบบไหน?

ADMS PUSH คือเครื่องส่งข้อมูลออกมาเองผ่าน HTTP เหมาะกับงานหลายสาขาและเครื่องที่อยู่หลังเราเตอร์ เพราะไม่ต้องเปิดพอร์ตเข้าเครื่อง เป็นวิธีหลัก ส่วน TCP 4370 คือระบบไปดึงข้อมูลจากเครื่อง เหมาะเมื่ออยู่ในวงแลนเดียวกัน

ต้องเปิดพอร์ตเข้าเครื่องสแกนไหม?

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

ถ้าเครื่องส่งข้อมูลซ้ำ ข้อมูลจะบวมไหม?

ไม่ เพราะระบบกันซ้ำด้วยรหัสเฉพาะของแต่ละรายการ (dedup hash) เครื่องส่งซ้ำกี่รอบข้อมูลก็ไม่บวม และตัวประมวลผลออกแบบให้รันซ้ำได้โดยไม่สร้างข้อมูลซ้ำ

ข้อมูลจากเครื่องเข้าตารางเงินเดือนเลยไหม?

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

รองรับเครื่องยี่ห้ออะไรบ้าง?

รองรับเครื่องตระกูล ZKTeco ที่ใช้โปรโตคอล ADMS PUSH หรือ Pull-SDK ผ่าน TCP 4370 เช่น รุ่นสแกนหน้าและสแกนนิ้วที่นิยมใช้ในโรงงานและออฟฟิศ