안녕하세요. 오랜만에 글을 적네요.
아래 글을 읽으시고 좋은 의견 있으시면 조언좀 부탁드립니다.
질문내용
* Heartbeat Alarm 체크를 구현하려고 합니다. 장비에서는 현재 동작중인지 아니면 멈춰버렸는지
5분에 한번씩 Server 로 데이타를 올리고 있습니다. 만약 5분이 지났는데 데이타가 안올라 오면 장비가 꺼진것으로 판단하고
Server 프로그램에서 강제로 Alarm 을 띄워서 장비에 이상이 생겼다는것을 관리자에게 알려야 합니다.
현재 상태
* Table 명 : table_heartbeat
----------------------------------------------------------------
| Alarm(Boolean) | 장비명(text) | Trigger_Date(time stamp) |
----------------------------------------------------------------
| false | 장비1 | 2009-06-15 12:30:24 |
----------------------------------------------------------------
| false | 장비2 | 2009-06-15 12:22:11 |
----------------------------------------------------------------
...
...
...
질문 1. DB 에서 5분이라는 시간을 체크하고 있다가 5분이 지났을때 DB의 Alarm Column 에 true 값을 넣을수 있을까요? false 값은 Server 프로그램에서
5분마다 데이터가 올라오면 업데이트 해주고 있습니다. 5분이 지났을때 DB 에서 true 값을 넣어주기를 바라는 것입니다.
질문 2. Trigger 라는 기능은 Insert, update, delete 에 반응하게 되어 있는데요...3가지 외에 반응 하는 방법은 없나요?? 예를 들어 일정시간이 지나면
강제로 insert 나 update 를 한다든지...아니면 Trigger 와 비슷한 이벤트 기능을 하는것이 있는지 궁금합니다.
질문 3. 위 두가지를 제외하고 Server 프로그램에서 table_heartbeat 테이블을 계속 폴링하면서 검색을 해야 할것 같은데요...
저 테이블에는 많은 데이터가 들어 가는데요...그걸 전부 검색을 해서 처리하기에는 시간이 많이 걸릴것 같은데요. 이게 맞는 방법인지 궁금합니다.
혹시 간단한 Query 문으로 10초에 한번씩 테이블의 모든 데이터를 검사하여 true 되있는것만 가져 올수 있는 방법이 있는지 알수 있을까요???
조언 부탁드립니다.
감사합니다.
|