최근 4차 산업혁명에 따라 인공 지능, 사물 인터넷, 빅 데이터, 모바일 등 첨단 정보통신기술이 경제, 사회 전반에 융합되어 혁신적인 변화가 나타나고 있다.
이 중 사물 인터넷은 온도, 습도, 조명 등 다양한 센서들을 활용하여 센싱 데이터를 바탕으로 사용자에게 보다 편리한 환경을 제공하도록 하고 있다. 소규모의 IoT 환경에서는 발생하는 센싱 데이터의 양이 제한적이기 때문에 이들을 처리를 위해 발생할 수 있는 서버의 부하를 고려해야 할 필요성이 크지 않다. 하지만, 구축 규모가 커지고 다량의 센서를 사용하는 경우 이로 인해 발생하는 대량의 데이터로 서버의 부하가 발생할 수 있으며, 이를 최소화하기 위한 노력은 절대적으로 필요하다.
본 논문에서는 IoT 환경에서 발생하는 실시간 센서 데이터를 효율적으로 처리하기 위하여 시스템의 고가용성을 목적으로 하는 데이터의 중요도 기반 알고리즘을 적용한 분산 처리 시스템을 제안하였다. 시스템의 구성은 모두 라즈베리파이를 이용하였으며, 센서 노드는 각각 라즈베리파이3 모델 B+를 사용하였고, 게이트웨이는 라즈베리파이4 모델 B를 활용하였다. 서버는 처리 방식을 고려하여 중요도가 높은 데이터를 실시간으로 처리할 수 있는 Real Time Processing를 Apache Storm을 이용하여 구성하였고, 중요도가 높지 않은 데이터를 일괄 처리할 수 있는 Batch Processing 서버를 Apache Spark를 이용하여 두 가지 형태로 구성하였다.
구성된 각각의 서버는 Broker 역할을 하는 Gateway에서 중요도 토픽을 Subscribe하고 읽어 들인 데이터를 DB로 저장하기 위한 쿼리를 진행할 때 발생하는 서버의 부하를 Apache Jmeter를 사용하여 측정하여 그래프로 시각화하였다.
본 논문의 3장에서는 제안 시스템의 구성과 센서 데이터의 중요도를 식별할 수 있는 알고리즘 설계를 실시하였고, 4장 및 5장에서는 시스템을 구성하기 위한 하드웨어 환경 구성 및 소프트웨어 환경 구성과 시뮬레이션을 통한 알고리즘 및 시스템에 대한 정성적, 정량적 검증을 진행하고, 알고리즘에 대한 시스템 적용 평가를 하는 내용으로 정리하였다.