1 |
1
구독 노드(Subscriber)는, 토픽이 포함된 구독 메시지(Subscribe)를 브로커로 전송하고, 일정 주기(interval)의 루프 오퍼레이션(loop operation)을 지속적으로 실행하여 상기 브로커와의 연결(connection)을 유지하는 단계;상기 브로커는, 게시 노드(Publisher)로부터 토픽이 포함된 게시 메시지(Publish) 수신 시, 상기 토픽에 대한 게시 메시지의 게시 빈도에 기초하여 상기 루프 오퍼레이션의 주기 조정 필요 여부를 판단하고, 필요 시 루프 오퍼레이션 주기 조정 메시지를 상기 구독 노드로 전송하는 단계; 및상기 구독 노드는 상기 토픽에 대한 게시 빈도에 기초하여 루프 오퍼레이션의 주기를 동적으로 조정하는 단계를 포함하는,게시-구독 메시지 서비스 방법
|
2 |
2
제1항에 있어서, 상기 루프 오퍼레이션은, 상기 브로커에 등록된 게시 메시지의 토픽을 검색하여 구독 토픽과 매칭되는 토픽 검색 시, 해당 게시 메시지의 구독을 요청하여 수신하는 동작으로, 일정 주기로 지속적으로 실행되어 상기 브로커와의 연결을 유지하는 것을 특징으로 하는 게시-구독 메시지 서비스 방법
|
3 |
3
제1항에 있어서, 상기 구독 노드로 전송하는 단계는, 상기 토픽에 대한 게시 메시지의 게시 빈도를 갱신하는 단계;상기 토픽에 대해서, 최근 루프 오퍼레이션 주기에서의 게시 빈도와 최근 이전 루프 오퍼레이션 주기에서의 게시 빈도의 차이를 산출하는 단계;상기 산출된 차이에 기초한 절대값이 기 설정된 임계값을 초과하는 경우, 상기 루프 오퍼레이션의 주기 조정이 필요하다고 판단하여 루프 오퍼레이션 주기 조정 메시지를 상기 구독 노드로 전송하는 단계를 포함하는 것을 특징으로 하는 게시-구독 메시지 서비스 방법
|
4 |
4
제3항에 있어서, 상기 루프 오퍼레이션의 주기를 조정하는 단계는, 상기 차이에 기초한 값이 제1 임계값 이상인 경우 기 설정된 기준에 기초하여 루프 오퍼레이션의 주기를 감소시키고, 상기 차이에 기초한 값이 제2 임계값 이하인 경우 기 설정된 기준에 기초하여 루프 오퍼레이션의 주기를 증가시키는 것을 특징으로 하는 게시-구독 메시지 서비스 방법
|
5 |
5
제4항에 있어서, 상기 구독 노드는, 상기 루프 오퍼레이션의 주기가 기 설정된 일정 값 이상으로 증가된 경우, 루프 오퍼레이션 실행을 종료하고, 이벤트 기반 오퍼레이션을 실행하는 단계를 더 포함하되, 상기 이벤트 기반 오퍼레이션은, 구독 토픽 등록 및 구독 토픽에 대응되는 게시 메시지 수신 시에 상기 브로커와 연결을 설정하는 것을 특징으로 하는 게시-구독 메시지 서비스 방법
|
6 |
6
제5항에 있어서, 상기 이벤트 기반 오퍼레이션을 실행하는 단계는, 상기 구독 노드는 커넥션 명령을 통해 상기 브로커와 연결을 설정하여, 구독 노드 식별정보 및 구독 토픽이 포함된 구독 등록 요청 메시지를 상기 브로커로 전송하는 단계;상기 브로커는 상기 구독 노드 식별정보 및 구독 토픽을 토픽 레지스트리에 등록한 후, 상기 구독 노드와의 연결을 해제하는 단계;상기 브로커는 게시 노드로부터 게시 메시지를 수신하고, 상기 수신된 게시 메시지의 토픽이 상기 토픽 레지스트리에 등록된 경우, 상기 토픽을 등록한 구독 노드와 연결을 설정하여 상기 게시 메시지를 전송하고, 상기 연결을 해제하는 단계를 포함하는 것을 특징으로 하는 게시-구독 메시지 서비스 방법
|
7 |
7
제6항에 있어서, 상기 게시 메시지를 전송하고, 상기 연결을 해제하는 단계 이후, 상기 브로커는 상기 토픽에 대한 게시 메시지의 게시 빈도를 카운트하고, 상기 카운트된 게시 빈도가 기 설정된 일정 값 이상인 경우 루프 오퍼레이션 실행 가능 메시지를 상기 구독 노드로 전송하는 단계를 더 포함하는 게시-구독 메시지 서비스 방법
|