SMS 에 관련 해서 질문 입니다. 0 9 1,697

by 소형철 [2008.10.08 16:51:34]


제가 받은 요구 사항이

1. 일요일에도 자동으로 문자가 가도록

2. 내일 예약이 잡혀 있는 사람에게 하루전에 즉 내일 예약인 사람에게 오늘 문자로 예약 되어 있다고 확인 차 보내는 SMS 입니다.

제 생각에는 디비 테이블에 무엇인가을 주고 프로시저나 데몬을 돌려서 읽어 드린 다음에 보내야 될것 같은데..

어떻게 로직을 구현 해야 될지 모르겠어요.

어떻게 해야 되는지좀 알려주세요.

by 현 [2008.10.08 17:41:15]
예약 테이블을 매일 읽어서 내일 날짜에 예약되어 있는 건들을 뽑아오시면 되겠네요.
일련의 작업은 프로시져나 유닉스라면 쉘로 작성하여 스케쥴 걸어 놓으시면 될꺼구요...

by 김강환 [2008.10.08 17:48:49]
질문하신 내용이 예약이 있는 사람에게 sms를 보내는 프로그램에 대한 전체 플로우를 물어보신 건가요? 여러가지 방법이 있겠지만 SMS를 보내는 프로그램을 만들고 크론에 거는 것도 한가지 방법일 듯합니다.

1)sms 메시지를 보낼 사람들의 정보를 관리할 테이블 만들기
->칼럼은 프로그램에 맞게 적절히 변경하셔야...

CRATE TABLE SMS_TARGET(
SEQ NUMBER /*PK, SEQ_SMS_TAGET 이라는 시퀀스로 자동입력되게 한다*/
,USERID VARCHAR2(10) /*SMS를 받는 사람 ID*/
,USERNM VARCHAR2(10) /*SMS를 받는 사람 이름*/
,APP_TIME VARCHAR2(8) /*약속날짜*/
,APP_CONTENTS VARCHAR2(30) /*문자메시지 내용->SMS가 보낼 수 있는 최대 문자수를 고려하여 크기를 설정한다*/
,SEND_YN CHAR(1) /*SMS를 보냈는지 여부. 디폴트값 N*/
,REG_DT DATE /*데이타가 입력된 날짜*/
,UPT_DT DATE /*데이타가 수정된 날짜*/
)

2.SMS를 보내는 자바프로그램을 만든다.
->SMS 보내는 프로그램과의 연동은 질문하신 분이 더 잘 아실터이니 패쓰.
->SMS 대상 가져오기

SELECT SEQ,USERID,USERNM,APP_CONTENTS
FROM SMS_TARGET
WHERE SEND_YN='N' /*SMS를 보내지 않은 사람만...*/
/*
VARCHAR2 형식의 데이타를 DATE형으로 변경하면
해당일자의 0시0분0초가 되므로 TRUNC(SYSDATE)로 한다.
TRUNC(SYSDATE)+1 -> 오늘+1 이므로 내일이 된다.
*/
AND TO_DATE(APP_TIME)=TRUNC(SYSDATE)+1

->SMS 프로그램으로 성공적으로 메시지를 보냈다는 값을 받으면 수정
UPDATE SMS_TARGET SET SEND_YN='Y'
WHERE SEQ =(:SEQ)

3.크론에 해당 자바프로그램을 걸로 정해진 시간에 프로그램을 호출하도록 한다.

by 김강환 [2008.10.08 17:50:08]
SMS_TARGET에 데이타를 입력하는 건 스케쥴을 입력하는 해당 프로그램단에서 하시면 될 것 같습니다.

by 소형철 [2008.10.09 10:02:33]
죄송한데 크론 이란게 뭐죠?? 제가 썩 잘하는건 아니여서 모르는게 많습니다.

by 행인 [2008.10.09 10:35:25]
거의 모르는구만... 썩 잘하지 않는다라 --;

by 김강환 [2008.10.09 10:43:41]
크론이란 유닉스 계통의 OS에서 지원하는 스케쥴러 같은 겁니다. 정해진 시간에 한번 혹은 몇 분간격으로 몇 번 프로그램 호출등을 해 주는 기능을 합니다.
네이버같은 곳에 들어가셔서 검색하면 많이 나올 겁니다.

그런데 크론에 거는 것이 꼭 정답은 아닙니다. 님이 일하는 시스템에는 분명 배치처럼 자동으로 프로그램을 호출하는 형식으로 처리하는 게 있을 겁니다. 거기에 얹혀서 같이 돌리게 하면 될듯합니다.

모든 것을 혼자서 해결하려고 하시 마세요. 피엠에게 물어보시거나 아니면 그곳 전산담당자에게 어떻게 자동으로 혹은 다른 어떤 방식으로 프로그램을 실행할 것인지 상의하세요. 안해봐서 모르는 것은 조금은 당당하게 굴어도 괜찮은 듯 해요. 속으로 끙끙 앓면서 혼자 모든 것을 해결하려고 하지 마시고 일하는 주변에서 최대한 도움을 구하세요.

by 호야 [2008.10.09 11:01:25]
어라 덧글 읽다가..-0ㅡ; 상처 받으시겠네...
형철님이 조금더 구체적인 방안에 대한 정보를 수집한 후 더욱 디테일적인
부분을 물으셔야 정확한 프로그램 구상이 나옵니다..
조금더 정보를 수집한 후에 더 자세한것을 물으세요..^^:
맘 상처 받지 마시고..ㅎㅎ 태어날 때 부터 잘하는 사람있나요?

by 소형철 [2008.10.09 11:12:47]
괜찮아요 ^^ 뭐 몰라서 물어 보는건데.. 욕하셔두 뭐 상관없죠 뭐 ㅋㅋㅋ
욕먹구 얻을꺼 얻는다면야 뭐 ㅋㅋㅋ 모두 감사 감사

by 웅 [2008.10.09 13:00:34]
보통 문자메세지는 통신사에서 제공하는 sms문자서비스 상품을 이용해서 보내던데...
sms전송모듈도 지원하구오. 관련테이블에 포맷만 맞춰넣어주면 실시간으로 나가는 방식이었죠. 예전에 ktf와 lgdacom sms모듈을 사용해서 전송하는 방법을 썼었거든요.
전송모듈이 동작하는 방식부터 확인하는게 우선일듯..
그다음..매일매일 배치를 할 수 있게 스케줄방법을 선정하시면 금방될것 같네요..
화이팅~ ^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입