ITQ 한글 2010 자격증 한번에 따기 [교안]
정보기술자격(ITQ)시험 아래한글 2007/2010 과 목 코드 문제유형 시험시간 수험번호 성 명 아래한글 1111 B 60분 수험자는 문제지를 받는 즉시 문제지와 수험표상의 시험과목 프로그램 버전이 동일한지 ( ), 반드시 확인하여야 합니다. 파일명은 본인의 수험번호 성명 으로 입력하여 답안폴더 내문서 또는 “ - ” ( \ITQ 라이브러리 문서 \ \ITQ) , “ - ” 에 하나의 파일로 저장해야 하며 답안문서 파일명이 수험번호 성명 과 일치하지 않거 나 답안파일을 전송하지 않아 미제출로 처리될 경우 실격 처리합니다 예 홍길 , ( :12345678- 동.hwp). 답안 작성을 마치면 파일을 저장하고 답안 전송 버튼을 선택하여 감독위원 로 답안을 전송 , ‘ ’ PC 하십시오 수험생 정보와 저장한 파일명이 다를 경우 전송되지 않으므로 주의하시기 바랍니다 . . 답안 작성 중에도 주기적으로 저장하고 답안 전송 , ‘ ’하여야 문제 발생을 줄일 수 있습니다 작업 . 한 내용을 저장하지 않고 전송할 경우 이전에 저장된 내용이 전송되오니 이점 유의하시기 바랍 니다. 답안문서는 지정된 경로 외의 다른 보조기억장치에 저장하는 경우 지정된 시험 시간 외에 작성 , 된 파일을 활용할 경우 기타 통신수단 이메일 메신저 네트워크 등 을 이용하여 타인에게 전달 , ( , , ) 또는 외부 반출하는 경우는 부정 처리합니다. 시험 중 부주의 또는 고의로 시스템을 파손한 경우는 수험자가 변상해야 하며 수험자 유의사항 , < > 에 기재된 방법대로 이행하지 않아 생기는 불이익은 수험생 당사자의 책임임을 알려 드립니다. 시험을 완료한 수험자는 답안파일이 전송되었는지 확인한 후 감독위원의 지시에 따라 문제지를 제출하고 퇴실합니다. 수험자 유의사항 온라인 답안 작성 절차 수험자 등록 시험 시작 답안파일 저장 답안 전송 시험 종료 ⇒ ⇒ ⇒ ⇒ 공통 부문 ◦ 글꼴에 대한 기본설정은 바탕 또는 함초롬바탕 포인트 검정 줄간격 양쪽정렬로 합니다 , 10 , , 160%, . ◦ ≪ ≫ 각 문항에 주어진 조건 에 따라 작성하고 언급하지 않은 조건은 출력형태와 같이 작성합니다. ◦ 용지여백은 왼쪽오른쪽 위쪽아래쪽머리말꼬리말 제본 로 합니다 ․ 11 , 10 , 0 . ㎜ ㎜ ㎜ ․ ․ ․ ◦ 그림 삽입 문제의 경우 내문서\ITQ\Picture 폴더에서 지정된 파일을 선택하여 삽입하십시오. ◦ 삽입한 그림은 반드시 문서에 포함하여 저장해야 합니다 미포함 시 감점 처리 ( ). ◦ 각 항목은 지정된 페이지에 출력형태와 같이 정확히 작성하시기 바라며 그렇지 않을 경우에 , 해당 항목은 점 처리됩니다 0 . ※ 페이지구분 페이지 기능평가 문제번호 표시 : 1 - I ( : 1. 2.), 2 - II ( : 3. 4.), 페이지 기능평가 문제번호 표시 3 - 페이지 문서작성 능력평가 기능평가 ◦ ≪ ≫ ≪ ≫ 문제와 조건 은 입력하지 않으며 문제번호와 답 출력형태 만 작성합니다 ( ) . ◦ 4 0 . 번 문제는 묶기를 했을 경우 점 처리됩니다 문서작성 능력평가 ◦ A4 (210 ×297 ) 1 , . 용지 매 크기 세로 서식 문서로 작성합니다 ㎜ ㎜ ◦ 표시는 문서작성에 대한 지시사항이므로 작성하지 않습니다. 답안 작성요령 기능평가 점 I (150 ) 1. . (50 ) 다음의 조건 에 따라 스타일 기능을 적용하여 출력형태 와 같이 작성하시오 점 ≪ ≫ ≪ ≫ ≪ ≫ 조건 ⑴ 스타일 이름 - dinosaur ⑵ 문단 모양 왼쪽 여백 문단 아래 간격 - : 15pt, : 10pt ⑶ 글자 모양 글꼴 한글 돋움 영문 궁서 크기 장평 자간 - : ( )/ ( ), : 10pt, : 105%, : -5% ≪ ≫ 출력형태 The Media Facade flame show, various light experiential building, and etc.s will be prepared including the fossil pavilion gathering the first in South Korea. 경남고성공룡세계엑스포가 공룡 희망의 빛으로 미래를 열다 라는 주제로 년 월 일부터 월 일까지 ‘ , ’ 2016 4 1 6 12 73 . 일간 당항포 관광지 및 특별행사장 상족암 군립공원에서 개최됩니다 2. . (100 ) 다음의 조건 에 따라 출력형태 와 같이 표와 차트를 작성하시오 점 ≪ ≫ ≪ ≫ ≪ ≫ 표 조건 ⑴ 표 전체 표 캡션 굴림 ( , ) - , 10pt ⑵ 정렬 문자 가운데 정렬 숫자 오른쪽 정렬 - : , : ⑶ 셀 배경 면색 노랑 ( ) : ⑷ 한글의 계산 기능을 이용하여 빈칸에 합계를 구하고 캡션 기능 사용할 것 , ⑸ ≪ ≫ 선 모양은 출력형태 와 동일하게 처리할 것 ≪ ≫ 출력형태 구분 2011년 2012년 2013년 2014년 2015년 공룡놀이터 2,600 3,600 3,900 6,100 4,900 공룡발자국탐방로 3,100 2,900 5,300 3,900 7,900 디지털공룡체험관 2,400 3,900 2,000 2,700 3,900 합계 연도별 전시장 방문객 현황 단위 명 ( : ) ≪ ≫ 차트 조건 ⑴ 차트 데이터는 표 내용에서 구분별 년 년 년 년의 값만 이용할 것 2011 , 2012 , 2013 , 2014 ⑵ 종류 묶은 세로 막대형 으로 작업할 것 - < > ⑶ 제목 궁서 진하게 배경 선 모양 한 줄로 그림자 - , , 12pt, - ( ), (2pt) ⑷ 제목 이외의 전체 글꼴 궁서 보통 - , , 10pt ⑸ ≪ ≫ 축제목과 범례는 출력형태 와 동일하게 처리할 것 ≪ ≫ 출력형태 0 1000 2000 3000 4000 5000 6000 7000 (단위 : 명) 공룡놀이터 공룡발자국탐방로 디지털공룡체험관 2011년 2012년 2013년 2014년 연도별 전시장 방문객 현황 기능평가 점 II (150 ) 3. (1), (2) . (40 ) 다음 의 수식을 수식 편집기로 각각 입력하시오 점 ≪ ≫ 출력형태 (1) ∆ (2) 4. . (110 ) 다음의 조건 에 따라 출력형태 와 같이 문서를 작성하시오 점 ≪ ≫ ≪ ≫ ≪ ≫ 조건 (1) , ( , ) . 그리기 도구를 이용하여 작성하고 모든 도형 글맵시 지정된 그림 포함 을 출력형태 와 같이 작성하시오 ≪ ≫ (2) . 도형의 면색은 지시사항이 없으면 색 없음을 제외하고 서로 다르게 임의로 지정하시오 ≪ ≫ 출력형태 직사각형 그리기 크기 : (15mm×15mm), 면색 흰색 글꼴 돋움 ( ), ( , 20pt), 정렬 수평수직 가운데 ( - ) ․ 직사각형 그리기 크기 : (12mm×9mm), 면색 흰색을 제외한 임의의 색 ( ) 크기(120mm×75mm) 공룡 웹툰 제작 공모전 글상자 크기 : (90mm×15mm), 면색 파랑 ( ), 글꼴 궁서 흰색 ( , 22pt, ), 정렬 수평수직 가운데 ( - ) ․ 글상자 이용, 선 종류 점선 또는 파선 ( ), 면색 색 없음 글꼴 굴림 ( ), ( , 18pt), 정렬 수평수직 가운데 ( - ) ․ 공룡발자국 화석 홍보 공룡캐릭터 인지도 향상 홈페이지 및 게재 SNS 크기(120mm×140mm) 글맵시 이용, 크기(60mm×40mm), 글꼴 굴림 빨강 ( , ) 하이퍼링크 문서작성 능력평가의 : “공룡 웹툰 제작 공모전” 제목에 설정한 책갈피로 이동 그림위치 ( \ITQ\Picture\ 1.jpg, 내문서 로고 문서에 포함), 크기(35mm×30mm), 그림 효과 회색조 또는 그레이스케일 ( ) 1 2 3 문서작성 능력평가 점 (200 ) 공룡엑스포 공룡 웹툰 제작 공모전 공룡엑스포 성에서 선보이는 공룡세계엑스포 개막 이 다가왔다 엑스포조직위원회는 지 ( ) . 開幕 난 일 경기도 일산 킨텍스에서 문을 연 수도권 특별전을 시작으로 행사 준비를 15 진행하고 있다 조직위는 가상현실 과 증강현실 에 기반한 디지털공룡체험관 과 . (VR) (AR) ‘ ’ 초현실적 공룡을 만나볼 수 있는 홀로그램 영상관 을 새롭게 조성 해 선보인다 ‘ ’ ( ) . 造成 고성공룡세계엑스포조직위는 유명 포털에서 활성화되고 있는 웹툰 제작 형식을 빌려 2016경남고성공룡세계엑스포에 대한 네티즌들의 관심도를 제고하고자 공룡 웹툰 제작 공모전㉮을 개최한다 이번 공모전은 공룡엑스포의 캐릭터 온고지신 의 인지도 향상을 통해 향후 애니메이션 제작 . ‘ ’ 등의 기반을 마련하고 고성군에서 공룡발자국 화석이 국내 최초로 발견된 지난 년 월 일을 기념해 웹툰 , 1982 1 29 을 엑스포 종료 시까지 공룡엑스포 공식 홈페이지 및 에 매주 게재하고자 기획되었다 공모전에는 고등학생부 SNS . 터 일반인 누구나 개인 또는 팀으로 참가 가능하며 웹툰 제작 경험이 있는 업체도 참여할 수 있다 참가 신청인은 , . 공룡엑스포의 온고지신 캐릭터를 활용해 세계 대 공룡발자국 화석산지로서 고성이 가진 공룡 콘텐츠에 대한 내용 3 을 포함하는 시나리오 작업을 해야 하며 컷 이상 완결본 편을 심사용으로 출품하면 된다 30 2 . ※ 엑스포 개최 개요 1) 일시 및 장소 가) 일시 금 일 : 2016. 4. 1( ) - 2016. 6. 12( ) 나) 장소 경남 고성군 회화면 당황포 관광지 : 2) 주제 및 주최 주관 / 가) 주제 공룡 희망의 빛으로 미래를 열다 : , . 나) 주최 주관 경상남도 고성군 재 경남고성세계엑스포조직위원회 / : /( ) ※ 교육 프로그램 ˇ ˇ ˇ ˇ ˇ ˇ 운영 구분 전시 작품 및 내용 기간 장소 이정희 공룡 판화전 이정희 작가 공룡 판화 시리즈 4.15 - 4.28 고성공룡박물관 3층 공룡의 수도 고성 그리고 새 고성에서 발견된 공룡알 거북알 화석 및 공룡 , 발자국 화석 약 여 점 10 4.01 - 6.12 중생대 바닷속 생물 중생대 해양생물의 표준화석 각 시대별 해양 , 생물 대표화석 약 여 점 30 5.02 - 6.02 상족암 지질탐사대 공룡발자국 위치 찾기 공룡발자국 그려보기 , , 종류별 공룡발자국 특징 알기 4.15 - 6.10 상족암 발자국 화석지 - , . 주말 가족 체험형 프로그램은 매월 둘째 넷째 토요일에 운영합니다 고성공룡세계엑스포조직위원회 ㉮ 관련 내용은 경남고성공룡세계엑스포 홈페이지 또는 고성군 홈페이지 참고 2016 고 문단 첫 글자 장식 기능 글꼴 돋움 면색 노랑 : , : A 글꼴 궁서 진하게 : , 25pt, , 장평 오른쪽 정렬 95%, 글꼴 굴림 기울임 강조점 : , 18pt, , 그림위치 내문서 그림 문서에 포함 ( \ITQ\Picture\ 4.jpg, ) 자르기 기능 이용 크기 바깥 여백 왼쪽 , (40mm×30mm), : 2mm 쪽 번호 매기기 1로 시작 글꼴 굴림 흰색 : , 18pt, 음영색 파랑 : 머리말 기능 돋움 오른쪽 정렬 , 10pt, 글꼴 돋움 진하게 가운데 정렬 : , 18pt, , 책갈피 이름 공룡 : 덧말 넣기 문단 번호 기능 사용, 왼쪽 여백 : 20pt(1 ) 수준 , 30pt(2 ), : 180% 수준 줄 간격 각주 표 전체 글꼴 돋움 가운데 정렬 : , 10pt, 셀 배경 그러데이션 유형 수평 ( ) : ( ), 시작색 흰색 끝색 노랑 ( ), ( )
*****************************************
2010 한국컴퓨터종합학술대회 논문집 Vol.37, No.1(B) TCP/IP 소켓을 이용한 원격 측정 장치의 실험 데이터 통합 관리 시스템 개발 요 약 최근의 과학 실험은 그 규모나 내용에 있어서 점차 대형화되는 동시에 복잡해지고 있다. 이로 인하여 다양한 측정 장비로부터 도출된 실험 결과를 효율적으로 분석, 관리, 종합하는 도구의 필요성이 커지고 있 다. 본 논문에서는 원격 측정 장치로부터 서로 다른 포맷의 실험 데이터를 자동 수집한 후 이중 정제한 데이터들만 추출하여 웹에서 시각화하는 실험 데이터 통합 관리 시스템을 제안한다. 먼저 원격 측정 장치 의 데이터를 자동으로 수집하기 위해 폴링 서버를 설계하여 장치마다 폴링 에이전트를 도입하였다. 이를 통해 관리자가 각 측정 장치에 직접 접근하지 않고도 데이터를 수집할 수 있다. 폴링으로 확보한 데이터 는 파싱을 통해 정제하고, 이들 데이터로 데이터베이스를 구축한다. 정제한 데이터는 시각화하여 사용자가 웹에서 쉽게 파악할 수 있다. 데이터 폴링은 TCP/IP Socket을 통해 수행하므로 보편적으로 사용하는 FTP 방식에 비해 데이터 확보 시 신뢰성을 높일 수 있으며, 폴링 여부 판단 시에는 동기식, 실제 폴링 시에는 비동기식 통신 방법을 사용하여 폴링의 효율을 높였다. 본 시스템을 활용하여 사용자의 임의적인 데이터 접근을 최소화하였고 데이터의 전송, 저장, 관리를 자동화함으로써 편의성을 높였다. 본 시스템을 활용하 여 원격 실험 장치로부터 데이터를 확보할 때의 정확성과 폴링 및 파싱 속도를 실험을 통해 측정하였고, 그 결과 폴링 시 100%의 정확도와 정상 포맷의 데이터에 대해서 100%의 파싱 결과를 보임으로써 본 시 스템이 원격 장치의 실험 데이터를 통합 관리할 때 적합함을 알 수 있었다. 추후 데이터의 속성에 따라 클러스터링 할 예정이며 클러스터링에 따른 시각화 서비스를 제공할 계획이다. 1. 서 론 최근의 과학 실험의 추세는 그 규모와 내용이 점차적 으로 커지고 복잡해지고 있다. 그에 따라 실험 데이터들 의 크기도 방대해지고 종류도 다양해지므로, 이러한 다 양한 측정 장비에서 생성된 실험 결과를 효율적으로 분 석, 관리, 종합하는 도구에 대한 필요성이 증가하였다. 최근의 건물 모델링 실험의 경우 다양한 형태의 건물이 등장함으로 인해 그 데이터가 더욱 복잡한 형태를 띠게 된 것을 예로 들 수 있다.[1] 본 보고서에서는 측정 장치로부터 서로 다른 포맷을 가진 실험 결과를 자동 수집하고 이를 분석하여 웹에서 시각화하여 보여주는 실험 데이터 통합 관리 시스템을 설계하였다. 실험 데이터는 일반적으로 해당 측정 장치 에만 누적되므로 사용자가 실험결과를 얻으려면 각 장치 에 직접 접근해야 하는 번거로움이 있다. TCP/IP소켓을 이용해 데이터 수집을 위한 폴링 에이전트를 각 측정 장 치에 도입함으로써 사용자의 편의성을 높임과 동시에 사 용자의 임의적인 접근을 배제해서 데이터의 무결성을 높 일 수 있다. 또한 파일 송수신 시 보편적으로 사용하는 FTP 방법을 사용하는 것 보다 데이터를 확보할 때 신뢰 성을 높일 수 있으므로, 폴링에서는 TCP/IP 소켓을 이용 한 방식이 더 적합하다고 판단할 수 있다. 본 시스템에 서는 데이터 폴링을 하기 전 폴링 여부를 판단하는 과정 에서 동기식 통신 방법을 사용하고 실제 폴링이 일어날 때는 비동기식 통신 방법을 사용하였다. 또한 스레드 (thread)로 처리하여 다수의 클라이언트 요청에 대해 병 렬․고속 처리가 가능하도록 하였다[2]. 본 시스템에서는 데이터를 확보해서 데이터 웨어하우스(warehouse)를 구 축한 후, 정제된 데이터를 추출하고 이를 시각화하여 사 용자가 웹에서 데이터를 쉽게 파악할 수 있는 환경을 제 공하였다. 2. 관련 연구 일반적으로 원격의 측정 장치에 있는 데이터를 서버로 전송하기 위해서는 사용자가 직접 클라이언트에 접근해 서 전송할 데이터를 지정해주어야 한다. 이 과정에서 사 용자에 의한 데이터 손실, 오염, 누락이 발생할 수 있다. 파일 전송 공정을 자동화할 경우 이러한 피해를 최소화 할 수 있는데, 폴링을 도입함으로써 사용자의 임의적인 접근을 배제할 수 있다. 파일 전송 시스템(FTP) Stream 전송 모드를 이용하여 폴링을 시도할 경우 자동화하기가 까다롭고 치명적인 오류가 발생할 경우 다시 전송해야 2010 한국컴퓨터종합학술대회 논문집 Vol.37, No.1(B) 한다[3]. 반면 TCP/IP 소켓 통신은 폴링을 자동화하기 쉽고 데이터 손실을 막을 수 있으므로 FTP 방법에 비해 신뢰성이 높다. 소켓 사용 시에는 동기화 소켓을 사용하 면서 스레드를 사용하는 방법이 구현도 쉽고 안정성이 높으나 자원 점유도가 높다. 비동기화 소켓을 사용할 경 우 자료 재조합과정과 프로토콜 파싱 과정이 필요하고, 대용량 파일에서는 실행 흐름 제어를 해 주어야 하므로 동기화방식에 비해 속도도 빠르지 않고 구현이 매우 까 다롭다. 그러나 비동기 방식으로 데이터를 전송하는 경 우 데이터의 전송 속도와 무관하게 다른 작업을 할 수 있어 효율성이 높아지므로, 성능의 측면에 있어서는 비 동기 방식이 동기 방식보다 우월하다[4]. 본 논문에서는 데이터의 안정적인 폴링을 가장 우선시하므로 TCP/IP 통신 방법을 사용하며, 폴링 여부를 판단하는 과정에서 동기화 폴링 기법을 사용하고, 실제 폴링 시에는 비동기 화 폴링 기법으로 측정 장치로부터 데이터를 수집하는 방식을 사용하여 효율을 높이고자 한다. 3. 시스템의 설계 및 구현 3.1 데이터 폴링 모듈 데이터를 폴링하기 위해서 폴링 서버는 다중 스레드 (Multi Thread)를 사용하여 클라이언트와의 연결을 생성 한다. 폴링 모듈의 개념도는 그림 1 과 같다. 파일과의 비교 검토를 통해 정확히 받아야 할 파일만을 수신함으로써 폴링 해야 할 파일에 대해 총 두 번의 확 인을 거쳐서 폴링을 수행한다. 서버와 클라이언트간의 연결은 동기식으로 이루어진 다. 클라이언트가 서버에게 연결 요청을 보내면서 파일 의 정보를 넘겨주면, 서버는 파일 정보와 실제 파일의 비교를 통해 클라이언트에게 폴링 여부를 알려주는 ack 를 보내면서 연결이 이루어진다. 파일 전송 과정은 비동 기식으로 클라이언트와 서버 간의 폴링을 수행하고 나면 클라이언트는 그에 대한 서버의 ack를 기다리지 않는다. 이것은 측정 장치에 파일이 누적되어 있으므로 매 폴링 시도마다 전송하지 않은 파일을 재검사를 할 수 있기 때 문이며, 웨어하우스 구축에 시간이 많은 영향을 끼치지 않기 때문에 효율적이다. 그림 2는 폴링 서버의 구동 모듈이다. 소켓 생성 후 연결이 되면 파일 이름과 각 파일의 갱신 시각을 읽는 다. 파일 길이를 측정해서 서버에 존재하는 파일이면 새 로 송신하고 동일한 파일이 존재할 경우 파일 수신을 거 부한다. 파일이 존재하지 않을 경우 파일 갱신 시각을 동기화하고 폴링한 후 이어서 포맷에 맞는 파싱을 시작 한다. while(true) { Socket Csok = mServerSocket.accept(); DataOutputStream out = new DataOutputStream(Csok.getOutputStream()); DataInputStream in = new DataInputStream(Csok.getInputStream()); String Fname = in.readUTF(); long FDate = in.readLong(); FnameFilter.mCompareFileName = Fname; File[] Founded = DestDir.listFiles(FnameFilter); File newF =new 그림 1. 폴링 서버와 클라이언트 간 관계 개념도. 각 클라이언트는 모니터링 하고 있는 폴더에 누적되는 파일목록을 가지고 있다. 파일 목록에는 파일명과 갱신 시각이 표기되는데, 이 파일목록과 이전의 파일목록을 저장한 Hash map과의 비교를 통해 폴링 되지 않은 파일을 알아낼 수 있고, 폴링 되지 않은 파일들만 서버로 전송한다. 폴링 서버는 단일 스레드로 구성하고 여러 대의 클라 이언트는 멀티 스레드로 구성한다. 서버가 폴링을 하기 전에 폴링 대상 파일에 대해 두 번의 검사 과정을 거친 다. 우선 클라이언트는 각 측정 장치의 특정 폴더에 실 험 데이터를 누적하고, 해시 맵(Hash map)에 파일의 이 름과 갱신 시각을 저장한다. 그 후 주기적으로 폴더 내 의 파일 목록과 해시 맵을 비교하여 갱신된 파일이 존재 할 경우 서버와 연결을 함으로써 폴링 할 파일을 한번 검토한다. 연결 후에 서버가 클라이언트로부터 폴링 대 상 파일 목록을 수신하면 이와 실제로 서버에 존재하는 File(DestDir.getPath()+"\\"+Fname); newF.createNewFile(); out.writeBoolean(true); long newFLen = in.readLong(); if (Founded.length == 0) BufferedReadingNParsing(); else if(Founded.length > 0) if(Founded[0].lastMod() < FDate){ out.writeBoolean(true); long FLen = in.readLong(); BufferedReadingNParsing();} else out.writeBoolean(false); } 그림 2. Polling Server의 구동 방법이다. 소켓 생성 후 연결 이 되면 파일이름과 갱신 시각을 읽고, 파일 길이를 측정해서 폴링을 시작한다. 폴링이 완료되면 즉시 포맷에 따른 파싱을 시작한다. 그림 3은 폴링 에이전트의 구동 모듈이다. 클라이언트 2010 한국컴퓨터종합학술대회 논문집 Vol.37, No.1(B) 가 측정 장치 내의 폴더를 주기적으로 모니터링하면서 갱신된 파일의 정보를 감지하면 서버에게 해당 파일의 내용을 전송한다. 서버로부터 전송 요청을 받으면 비로 소 폴링을 수행한다. while(true){ File[] Files=SDir.listFiles(new FnameFilter(){ public boolean accept(File dir, String name) { return name.endsWith(".csv");}}); for (File F: Files) { Date ModDate = HMap.get(F.getName()); if(ModDate != null) { if(F.lastMod() > ModDate.getTime()){ HMap.put(F.getName(),new Date(F.lastMod())); SendFile(F); }} else{ HMap.put(F.getName(),new Date(F.lastMod())); SendFile(F); }} Thread.sleep(1000); } 그림 3 . Polling Agent의 구동 방법이다. 측정 장치의 .csv 파일을 주기적으로 모니터링하고, 파일의 갱신 내용을 감지하 면 서버에게 해당 파일들의 정보를 전송한다. 서버로부터 전 송 요청을 받으면 폴링을 시작한다. 3.3 데이터 파싱 및 정제 모듈 데이터를 수집한 후 정제한 데이터만으로 웨어하우스 를 구축하기 위해서는 데이터 파싱이 이루어져야한다. 파싱은 서로 다른 세 종류의 데이터에 대해 수행한다. 한 종류의 데이터에는 xls, csv, txt 등 데이터 저장 시 파일 포맷 세 가지가 도출된다. 이들 포맷에 대해 파싱 을 수행하기 위해서 jxl, opencsv 2.1의 라이브러리를 사 용하여 적절히 데이터를 파싱할 수 있다. 그림 3은 파싱 해야할 실험 데이터의 한 종류이다. 실험 데이터의 속성 과 값이 가로, 세로 형식으로 일정하지 않고 그래프를 포함하고 있다. 그래프는 실험 결과로 도출된 값을 시각 화한 것이다. xls, csv, txt등의 파일 내용을 제대로 추출하면 이를 데이터 객체에 저장하여 쿼리(Query)를 생성할 수 있도 록 한다. 포맷이 다른 데이터와 전체적, 부분적으로 유실 되었거나 변형이 가해진 데이터 또는 의도하지 않은 위 치에 발생하는 가비지(garbage) 데이터 등에 대한 예외 처리를 수행하여, 이러한 에러가 발생할 경우 시스템이 바로 종료되지 않고 다음 이벤트로 넘어가되 로그를 남 겨서 오류내역을 살펴 볼 수 있도록 하였다. 위와 같은 과정을 거치면 정제한 데이터만으로 웨어하우스를 구축 할 수 있다. 3.3 데이터 시각화 모듈의 설계 정제한 데이터를 사용자가 한 눈에 파악하기 위해서 웹에서 데이터를 시각화하여 보여준다. 그림 5는 그림 4 의 데이터를 Flex로 시각화하여 웹에서 나타낸 것이다. 그림 5. 그림 4의 데이터를 웹 상에서 시각화 한 모습. 기존의 그래프에서는 그래프 위 점의 수치를 파악하기가 매우 어려웠으 나 시각화 모듈을 사용하여 사용자가 마우스오버 만으로 해당 점의 정확한 수치를 파악하기가 쉬워졌다. 4. 실험 본 시스템의 성능을 측정하기 위해 각 측정 장치에서 도출되는 서로 다른 서식을 가진 3가지 종류의 데이터 K3000, K3100, K3600에 대해 실험하였다. 종류와 무관 하게 실험에 사용한 csv 파일의 크기는 평균 3KB이고, txt 파일의 크기는 평균 3KB, xls 파일의 크기는 평균 그림 4. Parsing해야 할 데이터 K3100의 파일 포맷. 데이터의 속성과 값이 일정한 형태가 아니며 그래프도 포함하고 있다. 그래프는 실험 결과 데이터를 시각화하여 나타낸 것이다. 그림 5에서 보듯이 기존의 그래프에서 파악하기 어려웠 던 그래프 위의 점도 마우스를 가져가면 수치를 쉽게 확 인할 수 있다. 2010 한국컴퓨터종합학술대회 논문집 Vol.37, No.1(B) 59KB이다. 정상포맷의 데이터 수/전체 데이터 수를 표 1에 나타내었다. 표 1. 본 시스템의 성능 측정을 위한 실험에 사용된 실험 데 이터의 분포. 각 데이터마다 확장자가 txt, csv, xls 인 세 가 지 포맷이 존재한다. 표의 숫자는 데이터의 개수를 나타낸다. 표의 내용은 정상포맷 데이터/전체 데이터를 나타낸다. 장치 A, B, C는 모두 서로 다른 실험 측정 장비로 다른 측정 장치 라면 포맷이 같아도 데이터 서식은 다르다. txt, csv 파일의 평균은 3KB, xls 파일의 평균은 59KB이다. 종류 포맷 장치A(K3000) 장치B(K3100) 장치C(K3600) txt 96/100 138/144 - csv 135/148 126/134 91/95 xls 95/100 10/11 - 실험은 서버와 클라이언트가 서로 내부 네트워크와 외 부 네트워크에 위치할 때의 폴링 속도, 포맷에 따른 파 싱 속도를 측정하였다. 표 2. 세 가지 종류의 장치로부터 각각 txt, csv, xls 포맷의 파일을 획득하여 폴링과 파싱을 실험한 결과. 폴링 결과는 '폴링에 성공한 데이터의 개수/전체 파일 개수' 이고, 파싱 또 한 그렇다. 폴링 시간은 전체 데이터를 폴링 하는데 소요한 시간이며 파싱 시간은 정상 포맷의 데이터를 파싱하고 cracked data를 에러 처리 하는데 소요한 시간의 합이다. 실 험 결과 폴링은 데이터나 파일 포맷의 종류와 무관하게 폴링 에 모두 성공했고, 파싱은 cracked data를 제외한 정상 포맷 의 데이터를 모두 파싱하는데 성공했음을 알 수 있다. 장치 종류 A B C 데이터 포맷 txt csv xls txt csv xls csv 폴링 결과 100/100 148/148 100/100 144/144 134/134 11/11 95/95 시간 [sec] 결과 25.00 96/100 33.00 135/148 41.00 95/100 37.00 138/144 30.00 126/134 10/11 91/95 4.53 25.65 파싱 시간 [sec] 10.01 14.82 18.66 14.7 13.8 1.15 9.70 실험 결과 모든 데이터에 대해서 폴링은 100%의 성공 률을 보였고, 파싱에서는 cracked data를 제외한 정상 포맷을 따른 파일은 100%파싱에 성공하였다. cracked data의 경우에는 모두 데이터 포맷이 지켜지지 않은 경 우로, 시스템이 정상적으로 예외 처리를 수행함을 알 수 있었다. 원격 실험 장치에서 얻는 데이터를 관리하는 것 은 시간에는 민감하지 않으나 정확도가 매우 높아야 하 므로 본 시스템은 원격 데이터 관리에 적합한 성능을 보 임을 알 수 있다. 5. 결론 및 추후 과제 본 논문에서는 TCP/IP Socket을 이용해서 원격 실험 장치에 있는 데이터를 통합 관리하는 시스템을 개발하였 다. 데이터 폴링에서 파싱까지의 전 공정을 자동화하여 사용자의 임의적인 접근을 최소화하였고, 편의성 또한 높였다. 폴링으로 구축한 데이터를 정제하여 데이터베이 스를 구축하면, 사용자는 이 데이터들이 웹 상에서 시각 화된 모습을 확인할 수 있다. 본 시스템을 활용하여 원 격 실험 장치로부터 데이터를 확보할 때의 정확성은 100%로 데이터 손실 없이 파일을 전송함을 확인할 수 있었다. 또한 정상 포맷의 데이터에 대해서도 100%의 파싱 결과를 보임으로써 원격 측정 장치에서 도출되는 데이터를 신뢰도 높게 확보할 수 있었다. 이러한 데이터 들을 관리함에 있어 폴링이나 파싱 시간보다는 그 정확 도가 매우 중요한 척도이므로 본 시스템은 원격 측정 장 치의 데이터로 데이터 웨어하우스를 무결하게 구축하기 에 매우 적합함을 알 수 있었다. 또한 사용자는 데이터 에 일절 직접 접근하지 않으면서도 웹을 통해 실험한 데 이터의 결과를 파악할 수 있고, 실제 데이터만으로는 부 족했던 그래프 부분까지 각 점마다 정확한 수치를 표현 함으로써 데이터의 시각화도 제대로 수행되었음을 확인 할 수 있었다. 추후 데이터의 속성 별 클러스터링과 클 러스터링에 따른 시각화 서비스를 제공할 계획이다. 참고 문헌 [1] 김정현, 다양하고 복잡한 건물의 자동 모델링을 위 한 LiDAR 데이터 처리 기법, 2008. [2] Elliotte Rusty Harold, Java Network Programming, 3rd edition, 105-107쪽, 2004. [3] 박성인, 최돈은, 김동한, 서영상, 서정수, 이재영, FTP에서 Stream 전송 모드의 개선, 한국정보과학회, 제 25권, 제 2호, 600~602쪽, 1998 [4] 윤성우, TCP/IP 소켓 프로그래밍, ,475쪽, 2003.