컴퓨터 시스템 운용 간에 발생하는 많은 정보들이 기록되는 로그데이터는 컴퓨터 시스템 운용 점검, 프로세스의 최적화, 사용자 최적화 맞춤형 제공 등 다방면으로 활용되고 있다. 본 논문에서는 다양한 종류의 로그데이터들 중에서 은행에서 발생하는 대용량의 로그데이터를 처리하기 위한 클라우드 환경 하에서의 MongoDB 기반 비정형 로그 처리시스템을 제안한다. 은행업무간 발생하는 대부분의 로그데이터는 고객의 업무처리 프로세스 간에 발생하며, 고객 업무 프로세스 처리에 따른 로그데이터를 수집, 저장, 분류, 분석하기 위해서는 별도로 로그데이터를 처리하는 시스템을 구축해야만 한다. 하지만 기존 컴퓨팅환경 하에서는 폭발적으로 증가하는 대용량 비정형 로그데이터 처리를 위한 유연한 스토리지 확장성 기능, 저장된 비정형 로그데이터를 분류, 분석 처리할 수 있는 기능을 구현하기가 매우 어렵다. 이에 따라 본 논문에서는 클라우드 컴퓨팅 기술을 도입하여 기존 컴퓨팅 인프라 환경의 분석 도구 및 관리체계에서 처리하기 어려웠던 비정형 로그데이터를 처리하기 위한 클라우드 환경기반의 로그데이터 처리시스템을 제안하고 구현하였다. 제안한 본 시스템은 IaaS(Infrastructure as a Service) 클라우드 환경을 도입하여 컴퓨팅 자원의 유연한 확장성을 제공하며 실제로, 로그데이터가 장기간 축적되거나 급격하게 증가하는 상황에서 스토리지, 메모리 등의 자원을 신속성 있고 유연하게 확장을 할 수 있는 기능을 포함한다. 또한, 축적된 비정형 로그데이터의 실시간 분석이 요구되어질 때 기존의 분석도구의 처리한계를 극복하기 위해 본 시스템은 하둡 (Hadoop) 기반의 분석모듈을 도입함으로써 대용량의 로그데이터를 빠르고 신뢰성 있게 병렬 분산 처리할 수 있는 기능을 제공한다. 게다가, HDFS(Hadoop Distributed File System)을 도입함으로써 축적된 로그데이터를 블록단위로 복제본을 생성하여 저장관리하기 때문에 본 시스템은 시스템 장애와 같은 상황에서 시스템이 멈추지 않고 작동할 수 있는 자동복구 기능을 제공한다. 마지막으로, 본 시스템은 NoSQL 기반의 MongoDB를 이용하여 분산 데이터베이스를 구축함으로써 효율적으로 비정형로그데이터를 처리하는 기능을 제공한다. MySQL과 같은 관계형 데이터베이스는 복잡한 스키마 구조를 가지고 있기 때문에 비정형 로그데이터를 처리하기에 적합하지 않은 구조를 가지고 있다. 또한, 관계형 데이터베이스의 엄격한 스키마 구조는 장기간 데이터가 축적되거나, 데이터가 급격하게 증가할 때 저장된 데이터를 분할하여 여러 노드에 분산시키는 노드 확장이 어렵다는 문제점을 가지고 있다. NoSQL은 관계형 데이터베이스에서 제공하는 복잡한 연산을 지원하지는 않지만 데이터가 빠르게 증가할 때 노드 분산을 통한 데이터베이스 확장이 매우 용이하며 비정형 데이터를 처리하는데 매우 적합한 구조를 가지고 있는 비관계형 데이터베이스이다. NoSQL의 데이터 모델은 주로 키-값(Key-Value), 컬럼지향(Column-oriented), 문서지향(Document-Oriented)형태로 구분되며, 제안한 시스템은 스키마 구조가 자유로운 문서지향(Document-Oriented) 데이터 모델의 대표 격인 MongoDB를 도입하였다. 본 시스템에 MongoDB를 도입한 이유는 유연한 스키마 구조에 따른 비정형 로그데이터 처리의 용이성뿐만 아니라, 급격한 데이터 증가에 따른 유연한 노드 확장, 스토리지 확장을 자동적으로 수행하는 오토샤딩 (AutoSharding) 기능을 제공하기 때문이다. 본 논문에서 제안하는 시스템은 크게 로그 수집기 모듈, 로그 그래프생성 모듈, MongoDB 모듈, Hadoop기반 분석 모듈, MySQL 모듈로 구성되어져 있다. 로그 수집기 모듈은 각 은행에서 고객의 업무 프로세스 시작부터 종료 시점까지 발생하는 로그데이터가 클라우드 서버로 전송될 때 로그데이터 종류에 따라 데이터를 수집하고 분류하여 MongoDB 모듈과 MySQL 모듈로 분배하는 기능을 수행한다. 로그 그래프생성 모듈은 수집된 로그데이터를 분석시점, 분석종류에 따라 MongoDB 모듈, Hadoop기반 분석 모듈, MySQL 모듈에 의해서 분석되어진 결과를 사용자에게 웹 인터페이스 형태로 제공하는 역할을 한다. 실시간적 로그데이터분석이 필요한 로그데이터는 MySQL 모듈로 저장이 되어 로그 그래프생성 모듈을 통하여 실시간 로그데이터 정보를 제공한다. 실시간 분석이 아닌 단위시간당 누적된 로그데이터의 경우 MongoDB 모듈에 저장이 되고, 다양한 분석사항에 따라 사용자에게 그래프화해서 제공된다. MongoDB 모듈에 누적된 로그데이터는 Hadoop기반 분석모듈을 통해서 병렬 분산 처리 작업이 수행된다. 성능 평가를 위하여 로그데이터 삽입, 쿼리 성능에 대해서 MySQL만을 적용한 로그데이터 처리시스템과 제안한 시스템을 비교 평가하였으며 그 성능의 우수성을 검증하였다. 또한, MongoDB의 청크 크기별 로그데이터 삽입 성능평가를 통해 최적화된 청크 크기를 확인하였다.
인터넷 사용이 증가함에 따라 많은 사용자 행위가 로그 파일에 기록되고, 최근에 이들을 이용한 연구와 산업이 활성화되고 있다. 본 논문은 오픈 소스 기반 분산 컴퓨팅 플랫폼인 하둡을 사용하고, 로그 파일에 기록된 사용자 행위를 분석하여 맞춤형 관광 정보를 제공하는 시스템을 개발한다. 제안된 시스템은 사용자들이 검색한 웹사이트로부터 로그 파일을 얻기 위하여 구글의 Analytics를 사용하고, 하둡의 MapReduce를 사용하여 검색 항목을 추출하여 HDFS에 저장한다. Octopus 프로그램을 사용하여 여행안내 웹사이트로부터 여행관련 관광지나 도시에 대한 정보를 모으고, MapReduce를 사용하여 관광지의 특징을 추출한다. 그리고 관광지의 특징과 사용자 검색항목을 매칭하여 사용자에게 관광하고 싶은 맞춤형 도시를 제안한다. 본 논문에서는 매칭의 확률을 높이기 위하여 NBP(next bit permutation)알고리즘을 사용하여 검색항목과 관광지 특징을 재정렬하는 기법을 도입한다. 그리고 개발된 시스템의 효용성을 확인하기 위하여 39 명의 사용자에 대한 로그 데이터를 분석하여 맞춤형 관광도시를 제안한다.
이 연구에서는 웹기반 온라인목록 이용자들의 전반적인 검색행태를 알아보기 위해, 7년 동안의 트랜잭션 로그를 분석하였다. 웹기반 온라인목록의 검색형태는 검색전략과 검색실패의 관점에서 조사하였다. 검색전략에서는 검색유형, 접근점, 연산자, 검색문의 길이, 단어 사용횟수, 웹기반 온라인목록 이용횟수, 시간대별 및 요일별 이용횟수를 분석하였다. 또한 검색실패는 검색실패율과 접근점별 검색실패율, 연산자별 검색실패율을 분석하였다. 이 연구결과는 향후 웹기반 온라인목록 시스템과 서비스 개선에 활용될 수 있을 것으로 기대된다.
Component-based development approach is used in modern software system development projects that are very complex and large-scale. Technical components are more effective rather than business components in software development. However, on the Microsoft .net environment, the technical component-based development issues are not adopted. Moreover, software architecture on the .net environment is not studied yet because the development platform is recently used in the development of enterprise-level system. This paper proposes a technical component-based software architecture on .net environment. Seven technical components - configuration, data access, exception, file I/O, log, message, and paging - are contained in the architecture. The proposed architecture enables developers to reduce development time and to concentrate business logic rather than architectural issues. To verify the proposed architecture and the components, a partner management system is developed based on the architecture.
Ext4 파일시스템은 리눅스를 기반으로 하는 PC, 서버, 임베디드 시스템 등에 널리 사용되고 있고, 동작 분석 및 성능 향상에 대한 많은 연구들이 진행되어왔다. 하지만, 버퍼를 활용한 입출력을 사용하는 Ext4에서 특정 파일에 대한 즉시 내구성을 요구하는 fsync() 시스템 콜을 커널 버전 별로 자세히 분석한 연구는 찾아보기 힘들다. fsync() 시스템 콜의 분석을 통해 커널 3.4.0 ~ 4.6.4 버전 중 3.4.0, 3.8.0, 그리고 4.6.2 세 개의 버전에서 fsync() 동작에 차이가 있음을 발견하였다. 커널 3.4.0 버전은 3.7.10 이후 버전에 비해 긴 지연시간을 가지는 특징이 있다. 3.8.0 버전은 Ext4 저널링의 순차 모드가 깨질 수 있는 단점을 가지고 있으며, 해당 문제는 4.6.2 버전에서 해결되었다.
사용자는 침입이 있더라도 항상 신뢰성 있는 정보를 획득하길 원하기 때문에 침입에 의하여 파일이 훼손되는 경우에도 사용자에게 투명한 방법으로 복구할 수 있는 방법이 필요하다. 본 논문에서는 리눅스 기반의 파일 시스템에서 변경이 일어날 때마다 로그 형태로 저장된 로그 파일을 이용하여 침입에 의하여 훼손된 부분을 복구하기 위한 모듈을 구현하고, 시험을 통하여 로그 기반 침입 복구 모듈을 적재한 시스템에서 로그를 관리하기 위해 발생하는 오버헤드를 분석한다.
일반 사용자는 침입이 있더라도 항상 신뢰성 있는 정보를 획득하길 원하기 때문에 침입에 의하여 파일이 훼손되는 경우에도 사용자에게 투명한 방법으로 복구할 수 있는 방법이 필요하다. 본 논문에서는 리눅스 기반의 파일 시스템에서 변경이 일어날 때마다 로그 형태로 저장한 중복 파일을 이용하여 침입에 의하여 훼손된 부분을 복구하기 위한 기법을 제안한다. 실제 파일 변경이 일어날 때에는 그 변경이 악의적인지 합법적인지 판단이 불가능하다는 점에서 변경이 일어날 때마다 로그 형태로 변경정보를 유지하고 복구가 필요할 경우 선택적으로 적용할 수 있도록 하였다. 또한 로그 크기의 계속적인 증가에 효과적으로 대처하기 위한 로그 컴팩션(compaction) 방법도 보인다.
최근 내장형 시스템이 점점 많은 분야에 사용되며, 시스템에 특화된 운영체제 커널에 대한 필요성이 커지고 있다. 하지만, 커널 개발은 코드의 복잡성 등의 이유로 말미암아 테스팅에 큰 비용이 소요됨에도 불구하고, 높은 신뢰성을 달성하기가 어려운 실정이다. 이러한 커널 개발 및 테스팅의 어려움을 극복하기 위해, 운영체제 커널의 동시성 오류 검출을 지원하는 모델 기반의 커널 테스팅 (MOKERT) 프레임워크를 제안한다. MOKERT 프레임워크는 주어진 C 프로그램을 Promela 정형 명세 모델로 변환하고 나서 Spin 모델검증기를 사용하여 검증하고, 검증반례가 생성된 경우, 이 검증반례를 실제 커널 코드에서 실행을 시켜서 진위를 확인한다. 본 연구에서는 MOKERT 프레임워크를 리눅스 proc파일시스템에 적용하여, ChangeLog에 보고된 오류가 실제로 자원경쟁문제를 일으킴을 확인하였을 뿐만 아니라, 커널 패닉을 일으키는 새로운 오류도 발견하였다.
네트워크가 보편화되면서 사이버 공간을 이용한 테러가 전 세계적으로 발생하고 있다. IP Fragmentation은 이 기종 네트워크 환경에서 IP 패킷의 효율적인 전송을 보장해주고 있지만, 몇 가지 보안 문제점을 가지고 있다. 불법 침입자는 이러한 IP Fragmentation의 취약점을 이용해 IP Spoofing, Ping of Death, ICMP 등의 공격 기술을 이용하여 시스템에 불법적으로 침입하거나 시스템의 정상적인 동작을 방해한다. 최근에는 IP Fragmentation을 이용한 서비스 거부공격 외에도 이를 이용하여 패킷 필터링 장비나 네트워크 기반의 침입탐지시스템을 우회할 수 있는 문제점이 대두되고 있다. 본 논문에서는 패킷 재 조합 기능을 제공하지 못하는 일부 라우터나 네트워크 기반의 침입탐지시스템들에서 불법 사용자가 패킷을 다수의 데이터 그램으로 나누어 공격할 때, 이를 탐지하거나 차단하지 못하는 경우에 대비하여 실시간 접근 로그 파일을 생성하고, 시스템 관리자가 의사결정을 할 수 있도록 함과 동시에 시스템 스스로 대처할 수 있는 시스템을 구현하여 타당성을 검증하고, 그에 따른 기대효과를 제시하고자 한다.
현재 낸드 플래시 메모리는 다양한 이동형 기기에 활용되면서 급격하고 지속적인 성장을 하고 있다. 사용자들은 더욱 용량이 크고 빠른 기기들을 요구하지만, 현재의 낸드 플래시 파일 시스템은 결함 상황에서 복구 및 초기화 시간이 미디어의 용량에 비례하여 지연되는 문제가 있으며 이는 기기의 부팅 시간을 지연시켜 사람들의 불편을 초래한다. 우리는 이를 해결하기 위해 파일 시스템 초기화 시간이 미디어의 용량과 무관하도록 '작업 영역 기법'을 제안한다. 작업 영역 기법은 한 시점에서 낸드 플래시 메모리의 일부 영역만을 작업 공간으로 정의하고 유지하며 쓰기 명령을 작업 공간 안에서만 수행시킨다. 따라서 결합 상황에서 복구시 검색해야 할 크기를 최근 작업 영역으로 제한하므로써 결함 복구 수행 시간이 낸드 플래시 메모리 용량과 비례하지 않도록 한다. 우리는 이러한 작업 영역 기법을 YAFFS2를 기반으로 구현하였으며 기존 기법들과 초기화 성능을 비교해 보았다. 그 결과 1기가 낸드 플래시 메모리상에서 결함 복구 수행 시간이 기존의 로그 기반 기법에 비해 25배 가량 단축됨을 확인했다. 이러한 격차는 낸드 플래시 메모리 용량이 늘어날수록 커질 것이다.
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나
그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며,
이를 위반시 정보통신망법에 의해 형사 처벌됨을 유념하시기 바랍니다.
[게시일 2004년 10월 1일]
이용약관
제 1 장 총칙
제 1 조 (목적)
이 이용약관은 KoreaScience 홈페이지(이하 “당 사이트”)에서 제공하는 인터넷 서비스(이하 '서비스')의 가입조건 및 이용에 관한 제반 사항과 기타 필요한 사항을 구체적으로 규정함을 목적으로 합니다.
제 2 조 (용어의 정의)
① "이용자"라 함은 당 사이트에 접속하여 이 약관에 따라 당 사이트가 제공하는 서비스를 받는 회원 및 비회원을
말합니다.
② "회원"이라 함은 서비스를 이용하기 위하여 당 사이트에 개인정보를 제공하여 아이디(ID)와 비밀번호를 부여
받은 자를 말합니다.
③ "회원 아이디(ID)"라 함은 회원의 식별 및 서비스 이용을 위하여 자신이 선정한 문자 및 숫자의 조합을
말합니다.
④ "비밀번호(패스워드)"라 함은 회원이 자신의 비밀보호를 위하여 선정한 문자 및 숫자의 조합을 말합니다.
제 3 조 (이용약관의 효력 및 변경)
① 이 약관은 당 사이트에 게시하거나 기타의 방법으로 회원에게 공지함으로써 효력이 발생합니다.
② 당 사이트는 이 약관을 개정할 경우에 적용일자 및 개정사유를 명시하여 현행 약관과 함께 당 사이트의
초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. 다만, 회원에게 불리하게 약관내용을
변경하는 경우에는 최소한 30일 이상의 사전 유예기간을 두고 공지합니다. 이 경우 당 사이트는 개정 전
내용과 개정 후 내용을 명확하게 비교하여 이용자가 알기 쉽도록 표시합니다.
제 4 조(약관 외 준칙)
① 이 약관은 당 사이트가 제공하는 서비스에 관한 이용안내와 함께 적용됩니다.
② 이 약관에 명시되지 아니한 사항은 관계법령의 규정이 적용됩니다.
제 2 장 이용계약의 체결
제 5 조 (이용계약의 성립 등)
① 이용계약은 이용고객이 당 사이트가 정한 약관에 「동의합니다」를 선택하고, 당 사이트가 정한
온라인신청양식을 작성하여 서비스 이용을 신청한 후, 당 사이트가 이를 승낙함으로써 성립합니다.
② 제1항의 승낙은 당 사이트가 제공하는 과학기술정보검색, 맞춤정보, 서지정보 등 다른 서비스의 이용승낙을
포함합니다.
제 6 조 (회원가입)
서비스를 이용하고자 하는 고객은 당 사이트에서 정한 회원가입양식에 개인정보를 기재하여 가입을 하여야 합니다.
제 7 조 (개인정보의 보호 및 사용)
당 사이트는 관계법령이 정하는 바에 따라 회원 등록정보를 포함한 회원의 개인정보를 보호하기 위해 노력합니다. 회원 개인정보의 보호 및 사용에 대해서는 관련법령 및 당 사이트의 개인정보 보호정책이 적용됩니다.
제 8 조 (이용 신청의 승낙과 제한)
① 당 사이트는 제6조의 규정에 의한 이용신청고객에 대하여 서비스 이용을 승낙합니다.
② 당 사이트는 아래사항에 해당하는 경우에 대해서 승낙하지 아니 합니다.
- 이용계약 신청서의 내용을 허위로 기재한 경우
- 기타 규정한 제반사항을 위반하며 신청하는 경우
제 9 조 (회원 ID 부여 및 변경 등)
① 당 사이트는 이용고객에 대하여 약관에 정하는 바에 따라 자신이 선정한 회원 ID를 부여합니다.
② 회원 ID는 원칙적으로 변경이 불가하며 부득이한 사유로 인하여 변경 하고자 하는 경우에는 해당 ID를
해지하고 재가입해야 합니다.
③ 기타 회원 개인정보 관리 및 변경 등에 관한 사항은 서비스별 안내에 정하는 바에 의합니다.
제 3 장 계약 당사자의 의무
제 10 조 (KISTI의 의무)
① 당 사이트는 이용고객이 희망한 서비스 제공 개시일에 특별한 사정이 없는 한 서비스를 이용할 수 있도록
하여야 합니다.
② 당 사이트는 개인정보 보호를 위해 보안시스템을 구축하며 개인정보 보호정책을 공시하고 준수합니다.
③ 당 사이트는 회원으로부터 제기되는 의견이나 불만이 정당하다고 객관적으로 인정될 경우에는 적절한 절차를
거쳐 즉시 처리하여야 합니다. 다만, 즉시 처리가 곤란한 경우는 회원에게 그 사유와 처리일정을 통보하여야
합니다.
제 11 조 (회원의 의무)
① 이용자는 회원가입 신청 또는 회원정보 변경 시 실명으로 모든 사항을 사실에 근거하여 작성하여야 하며,
허위 또는 타인의 정보를 등록할 경우 일체의 권리를 주장할 수 없습니다.
② 당 사이트가 관계법령 및 개인정보 보호정책에 의거하여 그 책임을 지는 경우를 제외하고 회원에게 부여된
ID의 비밀번호 관리소홀, 부정사용에 의하여 발생하는 모든 결과에 대한 책임은 회원에게 있습니다.
③ 회원은 당 사이트 및 제 3자의 지적 재산권을 침해해서는 안 됩니다.
제 4 장 서비스의 이용
제 12 조 (서비스 이용 시간)
① 서비스 이용은 당 사이트의 업무상 또는 기술상 특별한 지장이 없는 한 연중무휴, 1일 24시간 운영을
원칙으로 합니다. 단, 당 사이트는 시스템 정기점검, 증설 및 교체를 위해 당 사이트가 정한 날이나 시간에
서비스를 일시 중단할 수 있으며, 예정되어 있는 작업으로 인한 서비스 일시중단은 당 사이트 홈페이지를
통해 사전에 공지합니다.
② 당 사이트는 서비스를 특정범위로 분할하여 각 범위별로 이용가능시간을 별도로 지정할 수 있습니다. 다만
이 경우 그 내용을 공지합니다.
제 13 조 (홈페이지 저작권)
① NDSL에서 제공하는 모든 저작물의 저작권은 원저작자에게 있으며, KISTI는 복제/배포/전송권을 확보하고
있습니다.
② NDSL에서 제공하는 콘텐츠를 상업적 및 기타 영리목적으로 복제/배포/전송할 경우 사전에 KISTI의 허락을
받아야 합니다.
③ NDSL에서 제공하는 콘텐츠를 보도, 비평, 교육, 연구 등을 위하여 정당한 범위 안에서 공정한 관행에
합치되게 인용할 수 있습니다.
④ NDSL에서 제공하는 콘텐츠를 무단 복제, 전송, 배포 기타 저작권법에 위반되는 방법으로 이용할 경우
저작권법 제136조에 따라 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있습니다.
제 14 조 (유료서비스)
① 당 사이트 및 협력기관이 정한 유료서비스(원문복사 등)는 별도로 정해진 바에 따르며, 변경사항은 시행 전에
당 사이트 홈페이지를 통하여 회원에게 공지합니다.
② 유료서비스를 이용하려는 회원은 정해진 요금체계에 따라 요금을 납부해야 합니다.
제 5 장 계약 해지 및 이용 제한
제 15 조 (계약 해지)
회원이 이용계약을 해지하고자 하는 때에는 [가입해지] 메뉴를 이용해 직접 해지해야 합니다.
제 16 조 (서비스 이용제한)
① 당 사이트는 회원이 서비스 이용내용에 있어서 본 약관 제 11조 내용을 위반하거나, 다음 각 호에 해당하는
경우 서비스 이용을 제한할 수 있습니다.
- 2년 이상 서비스를 이용한 적이 없는 경우
- 기타 정상적인 서비스 운영에 방해가 될 경우
② 상기 이용제한 규정에 따라 서비스를 이용하는 회원에게 서비스 이용에 대하여 별도 공지 없이 서비스 이용의
일시정지, 이용계약 해지 할 수 있습니다.
제 17 조 (전자우편주소 수집 금지)
회원은 전자우편주소 추출기 등을 이용하여 전자우편주소를 수집 또는 제3자에게 제공할 수 없습니다.
제 6 장 손해배상 및 기타사항
제 18 조 (손해배상)
당 사이트는 무료로 제공되는 서비스와 관련하여 회원에게 어떠한 손해가 발생하더라도 당 사이트가 고의 또는 과실로 인한 손해발생을 제외하고는 이에 대하여 책임을 부담하지 아니합니다.
제 19 조 (관할 법원)
서비스 이용으로 발생한 분쟁에 대해 소송이 제기되는 경우 민사 소송법상의 관할 법원에 제기합니다.
[부 칙]
1. (시행일) 이 약관은 2016년 9월 5일부터 적용되며, 종전 약관은 본 약관으로 대체되며, 개정된 약관의 적용일 이전 가입자도 개정된 약관의 적용을 받습니다.