RMS란? Record Store헤더 RMS 패키지 Record Store Record 부가적 데이터와 제약사항 효율적 활용

Slides:



Advertisements
Similar presentations
연천 새둥지마을 체재형 주말농장 준공식 초청장 오시는 길 주제 일시 장소 21C 경기농촌희망심기 2005년 제1기 교육수료마을
Advertisements

SPARCS Wheel Seminar Mango X Sugoi
10월 충북노회 남선교회 순회 헌신예배 묵 도 기 도 성 경 봉 독 특 송 찬 양 설 교 찬양 / 봉헌 봉 헌 기 도
라오디게아 교회의 교훈 본문 계 3: ○라오디게아 교회의 사자에게 편지하라 아멘이시요 충성되고 참된 증인이시요 하나님의 창조의 근본이신 이가 이르시되 15. 내가 네 행위를 아노니 네가 차지도 아니하고 뜨겁지도 아니하도다 네가 차든지 뜨겁든지 하기를 원하노라.
한알Ⅱ「더불어 살기」전국대회 일정표 날짜 시간 7월 26일(목) 7월 27일(금) 7월 28일(토) 7월 29일(일)
선거관리위원회 위원 공개모집 4차 공고 제4기 선거관리위원회를 구성하는 위원 모집의
신앙의 기초를 세우는 중고등부 1부 대 예 배 : 11 : 00 ~ 12 : 층 본당
신앙의 기초를 세우는 중고등부 1부 대 예 배 : 11 : 00 ~ 12 : 층 본당
◆ 지난주 반별 출석 보기 ◆ 제 56 권 26호 년 6월 26일 반 선생님 친구들 재적 출석 5세 화평 김성희 선생님
第1篇 자치입법 개론.
교직원 성희롱·성폭력·성매매 예방교육 벌교중앙초등학교 박명희
후에 70인역(LXX)을 좇아 영어 성경은 본서의 중심 주제인 “엑소도스”(출애굽기)라 하였다.
성 김대건 피츠버그 한인 성당 그리스도왕 대축일 공지사항
예배에 대하여.
하나님은 영이시니 예배하는 자가 신령과 진정으로 예배할지니라.
KAINOS 날마다 더하여지는 Kainos News 이번 주 찬양 20 / 300 – 20개의 셀, 300명의 영혼
성경 암송 대회 한일교회 고등부 (일).
1. 단위사업 관리, 예산관리 사업설정 (교직원협의/의견수렴) 정책 사업 학교 정책 사업 등록 사업 기본정보 목표 설정
전시회 개요 Ⅰ. 전시명칭 개최기간 개최장소 개최규모 주 최 참 관 객 현 지 파 트 너 General Information
Homeplus 일 家 양 득 프로그램 소개 2015년 12월.
[ 한옥 실측 ] 1. 약실측 2. 정밀실측 조선건축사사무소.
A제조용수/B환경관리/C시설관리 ㈜ 에이플러스 코리아
Schroder House -입면.
원무 관리 ’15.4.7(화).
발표순서 추진배경 자유이용사이트 현황 만료저작물 활용 사례 공유저작물 이용 활성화 사업 추진 계획.
389,000 ₩ #노비타 비데 BD-N550D 가격표(가격은 매장운영에 맞게 수정하셔서 부착바랍니다.) ○ X ○ 순간
(Lifetime Physical Fitness and Wellness)
리우올림픽 개최국 브라질에 대해서~~ 금은동 메달 브라질 국기 마스코트 비니시우스와 톰 리우올림픽 개막식 및 폐막식 구 분
공짜경제가 몰려온다. 시장이 흔들린다… (동아일보 9월20일 토) a 원은경
교육학개론 2조 강재현 황소정 연미란 이호 장윤정 이아림 김효연
참석자: 정미자, 강지혜, 정이향, 윤지영 일시: 2012년 7월 4일 수요일 장소: 맛나다
국어 정서법의 기초 -한글 띄어쓰기를 중심으로
한튜터 지역별 사업자 제안서 F5 키를 누르시면 슬라이드로 보실 수 있습니다.
송년회, 이런 노래는 참아주세요 동아일보 문화부 이승재 기자.
Ⅸ 대한민국의 발전과 국제 정세의 변화 주제3 산업화와 대중문화의 발달.
사업계획서 추억을 만드는 기업 ㈜아이포토 인터넷경영정보 2-M 강미선 서남희
2004년 인천시 2차 동시분양 일정표 Monday Tuesday Wednesday Thursday Friday
안 중 근 2학년 1반 7조 강선미, 전효정, 신주영, 이소희.
정치가가 언론을 대하는 태도 「정치와 언론」 언론정치학부 이창림 김종환
‘학생의 날’ (학생독립운동기념일) 전국 교직원 노동조합 충북지부.
경기도와 함께 하는 병영독서프로그램 “독서마차”
February 27, 2017 eSecuDC 제품 소개서 February 27, 2017.
高友 Orchestra
1. 반전.반제 사상의 형성 반전.반제 사상의 등장 우치무라 간조: 러일 전쟁 중 반전론 제기, 전쟁의 비도덕성 강조
CONTENTS 1 주제 소개 2 캐논사 연혁 및 제품 3 카메라 업계 현황 4 일본에서 보완할 점.
미술관 사례 윤초혜.
~~ 학부모님들의 많은 참여 부탁 드립니다 ~~
Ⅱ 삼국의 성립과 발전 3. 삼국의 문화와 대외 교류 02 삼국과 가야가 이웃 나라와 교류하다.
송파구응급구난구조시스템 구축 제안서 (지하철 역사 의료시설 설치) 장 현.
외국의 친환경 운전(Eco Drive) 동향 및 국내의 현황
제4주 문제분석.
SKKU HALF YEAR MEETING at 14.aug.2014
최현진 정경대학 정치외교학과 국제정치론 2015 가을학기 제13주(2) 최현진 정경대학 정치외교학과
글로벌 경영 환경 인재교육원
◆자치통감강목◆ 학과:문헌정보학과 학번: 이름:이민지.
기초전자회로 부민희(33.3) 고영경(33.3) 성은솔(33.3)
8조 자유 주제 (오사카- 도톤보리) 발표: 김다미 조원: 김광희, 이민섭, 김홍섭.
입출력 14.1 java.io 패키지의 개요 14.2 파일과 디렉토리
RMS (Record Management System)
Network Project (완료 보고서)
Java 12장. 입출력 public class SumTest {
7장 파일과 데이터베이스.
Network Programming(1)
제주닷컴 매뉴얼 (실시간 예약시스템) 2013년 10월.
Sookmyung Women’s Univ. PSLAB Ohe, heejung
스마트폰 전자신고 방법 국세청 모바일 통합 앱 다운로드(갤럭시S) 가. 교재 15~19페이지
기존 REC거래시스템 회원사의 신재생 통합포털 회원가입 설명서.
ITQ 액세스 문제풀이 TIP 한국생산성본부 ITQ센터
자바 5.0 프로그래밍.
성공적인 입사지원서 작성법 제이비커리어 교육수석 소 은 선.
Presentation transcript:

RMS란? Record Store헤더 RMS 패키지 Record Store Record 부가적 데이터와 제약사항 효율적 활용

1. RMS란? Record Management System MIDP에서 정의하는 영속성을 가진 자체 데이터공간 특징 영속성 바이트 배열구성 대소문자 구분 안전하게 구현(순차적 수행) 영속성 네트워크 접속 여부와 관계없이 데이터 저장 네트워크를 사용하지만 갑자기 끊겼을 때 상태 보존 자주 사용하는 데이터의 저장 영속성 : 어플리케이션 실행과는 무관하게 데이터를 보존 할 수 있는 성질 자바 어플리케이션은 객체를 생성하여 사용-힙(영속성 없음) 인터넷이라는 거대한 기억공간.. 이름 32글자 내의 문자열

2. Record Store헤더 레코드의 수 getNumRecords() 버전번호 getVersion() 초기값은 구현한 것에 따라 다름 Record Store 가 변경 될 때마다 변경 최근 수정시간 getLestModified() 버전번호를 보완 버전 값이 변경되면 함께 바뀜 다음레코드의 ID getNextRecordID() Record Store에서 다음에 추가될 레코드의 ID addRecord 메소드가 호출될 때마다 하나씩 증가 DB=헤더+데이터블록 헤더 : 첫 번째 데이터 블록에 대한 링크를 가지고 있다 데이터블록 : 서로 연결되어있고 각 블록은 다음 블록에 대한 포인터를 가지고 있다. Record Store 가 변경 될 때마다 버전번호는 변경 : 미들릿에서 다른 프로세스나 쓰레드에 의해 Record Store 가 변경되었다는 사실을 알 수 있다.

3. RMS 패키지 인터페이스 RecordComparator : 두 레코드를 비교하는 비교연산을 정의 RecordEnumeration (나열): 양방향으로 탐색 가능한 레코드 나열을 표현 RecordFilter : 조건에 맞는 레코드를 검색하기 위한 필터를 정의 RecordListener : 레코드의 상태변화 이벤트를 받음 클래스 RecordStore : 레코드 저장 장소를 표현 Exception InvalidRecordIDException : 레코드의 ID가 틀렸을 경우 발생 RecordStoreException : 레코드 저장장소에서 일반적이 오류가 있을 때 발생 RecordStoreFullException : 레코드 저장장소에서 저장 장소가 가득 찼을 때 RecordStoreNotFoundException : 레코드 저장장소를 찾지 못할 때 RecordStroeNotOpenException : 레코드 저장장소가 열려있지 않을 때

4. Record Store 열기 : RecordStore.openRecordStore(RecordStoreName,true) 닫기 : rs.closedRecordStore 추가 : 저장할 데이터를 바이트 배열로 변환 후 저장 ByteArrayOutputStream DataOutputStream 삭제 : rs.deleteRecord(id) 조회 : 저장된 레코드(바이트) 읽어 원래의 데이터 형으로 복원 ByteArrayIntputStream DataInputStream 검색 : RecordEnumeration 구현한 enumerateRecords()메소드사용 True는 해당레코드가 없으면 새로 생성 있으면 그냥 열림 추가 : 저장할 데이터를 바이트 배열로 변환 ByteArrayOutputStream DataOutputStream 뒤에 다중컬럼 테이블 에서 다시 돌아와 설명 조회 : 저장된 레코드(바이트) 읽어 원래의 데이터 형으로 복원 ByteArrayIntputStream DataInputStream

실행 예

5. Record Record Store에 들어가는 값 int addRecord (byte[] data, int offset, int numBytes) Defualt recordId는 1이며 레코드가 추가될 때 마다 +1 void deleteRecord (int recordId) RecordStoreNotOpenException InvalidRecordIdException RecordStoreException int getRecord (int recordId, byte[] buffer, int offset) Record 추출 byte[] getRecord (int recordId) void setRecord (int recordId, byte[] newData, int offset, int numBytes) Record 수정

6. 부가적 데이터와 제약사항 crash 복구 데이터 무결성 보장 부가적 데이터 제약사항 getSizeAvailable() : 사용 가능한 여유공간을 바이트 단위로 반환 getSize() : Record Store의 크기를 바이트 단위로 반환 ListRecordStores() : 소유자가 현재인 MIDlet suite인 Record Store의 이름들을 배열로 반환 제약사항 transaction control crash 복구 데이터 무결성 보장 부가적 정보 헤더에는 포함되지 않지만 implementation에서 제공하는 record store에 관한 나머지 정보 getSizeAvailable() : 사용 가능한 여유공간을 바이트 단위로 반환 통합 동기화 등을 지원하기 위해 추가적인 각 레코드의 데이터의 구조를 저장할 수도 있기 때문에 미들릿에서 데이터를 저장하는데 사용할 수 있는 여유공간과 일치X getSize() : Record Store의 크기를 바이트 단위로 반환, 전반적 정보를 포함한 공간의 크기 transaction ; 트랜잭션 컴퓨터 프로그램에서 트랜잭션의 일반적인 의미는 정보의 교환이나 데이터베이스 갱신 등 연관되는 작업들에 대한 일련의 연속을 의미하는데, 데이터베이스의 무결성이 보장되는 상태에서 요청된 작업을 완수하기 위한 작업의 기본 단위로 간주된다. crash ; 크래쉬 크래쉬는 응용 프로그램이나 운영체계와 같은 소프트웨어, 또는 하드디스크 드라이브 등의 하드웨어 장치들이 갑자기 고장나는 것을 말한다. 하나의 MIDlet suite 내에 여러 개의 미들릿이 있는 경우나 하나의 미들릿에 여러 개의 쓰레드가 있다면 각각에서 하나의 record store를 동시에 열고 액세스 가능

7. 효율적 활용 Record Fileter RecordComparator 다중 컬럼테이블 메소드의 추출 기준을 정의 Public Boolean matches (byte[] candidate) RecordComparator 레코드 정렬 Int compare(byte[] rec1, byte[] rec2) Rec1과 rec2를 정렬 했을때 rec1이 rec2보다 앞에 있으면 RecordComparator.PRECEDES 반환 (value = -1) 같으면 RecordComparator.EQUIVALENT (value = 0) 뒤에 있으면 Recordcomparator.FOLLW (value = 1) 다중 컬럼테이블 일반 DB table는 여러 개의 필드 존재, RS는 byte array 존재 UTF-8 인코딩을 사용 여러필드를 하나의 레코드로 묶음 새 레코드의 데이터>이전 데이터 : record store가 깨짐 Boolean : Candidate가 적용되는 규칙과 일치하면 true를 리턴 컬럼 : 항목(불른형, 인트형, 스트링형…) 일반적으로 데이터베이스 테이블에는 자료형이 byte array인 하나의 데이터 필드만 존재 UTF-8 인코딩을 사용하여 여러 개의 필드를 하나의 레코드로 묶을 수 있다. -> 다중 컬럼 테이블 생성 DataInputStream DataOutputStream ByteArrayInputStream ByteArrayOutputStream Sun의 J2MEWTKdml RecordStore.setRecord() 메소드는 새 레코드의 데이터가 이전 데이터 보다 크기가 큰 경우 record store가 깨진다.