KR20050087349A - 리소스 관리를 위한 패키지 파일 포맷 및 리소스 관리 방법 - Google Patents

리소스 관리를 위한 패키지 파일 포맷 및 리소스 관리 방법 Download PDF

Info

Publication number
KR20050087349A
KR20050087349A KR1020040013097A KR20040013097A KR20050087349A KR 20050087349 A KR20050087349 A KR 20050087349A KR 1020040013097 A KR1020040013097 A KR 1020040013097A KR 20040013097 A KR20040013097 A KR 20040013097A KR 20050087349 A KR20050087349 A KR 20050087349A
Authority
KR
South Korea
Prior art keywords
file
node
directory
child
name
Prior art date
Application number
KR1020040013097A
Other languages
English (en)
Inventor
장택수
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020040013097A priority Critical patent/KR20050087349A/ko
Publication of KR20050087349A publication Critical patent/KR20050087349A/ko

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B29/00Combined heating and refrigeration systems, e.g. operating alternately or simultaneously
    • F25B29/003Combined heating and refrigeration systems, e.g. operating alternately or simultaneously of the compression type system
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F1/00Treatment of water, waste water, or sewage
    • C02F1/001Processes for the treatment of water whereby the filtration technique is of importance
    • C02F1/003Processes for the treatment of water whereby the filtration technique is of importance using household-type filters for producing potable water, e.g. pitchers, bottles, faucet mounted devices
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F5/00Air-conditioning systems or apparatus not covered by F24F1/00 or F24F3/00, e.g. using solar heat or combined with household units such as an oven or water heater
    • F24F5/0007Air-conditioning systems or apparatus not covered by F24F1/00 or F24F3/00, e.g. using solar heat or combined with household units such as an oven or water heater cooling apparatus specially adapted for use in air-conditioning
    • F24F5/001Compression cycle type
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F8/00Treatment, e.g. purification, of air supplied to human living or working spaces otherwise than by heating, cooling, humidifying or drying
    • F24F8/10Treatment, e.g. purification, of air supplied to human living or working spaces otherwise than by heating, cooling, humidifying or drying by separation, e.g. by filtering
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F8/00Treatment, e.g. purification, of air supplied to human living or working spaces otherwise than by heating, cooling, humidifying or drying
    • F24F8/20Treatment, e.g. purification, of air supplied to human living or working spaces otherwise than by heating, cooling, humidifying or drying by sterilisation
    • F24F8/24Treatment, e.g. purification, of air supplied to human living or working spaces otherwise than by heating, cooling, humidifying or drying by sterilisation using sterilising media
    • F24F8/26Treatment, e.g. purification, of air supplied to human living or working spaces otherwise than by heating, cooling, humidifying or drying by sterilisation using sterilising media using ozone
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F8/00Treatment, e.g. purification, of air supplied to human living or working spaces otherwise than by heating, cooling, humidifying or drying
    • F24F8/60Treatment, e.g. purification, of air supplied to human living or working spaces otherwise than by heating, cooling, humidifying or drying by adding oxygen
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B41/00Fluid-circulation arrangements
    • F25B41/20Disposition of valves, e.g. of on-off valves or flow control valves
    • F25B41/26Disposition of valves, e.g. of on-off valves or flow control valves of fluid flow reversing valves
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B49/00Arrangement or mounting of control or safety devices
    • F25B49/02Arrangement or mounting of control or safety devices for compression type machines, plants or systems
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25CPRODUCING, WORKING OR HANDLING ICE
    • F25C1/00Producing ice
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B2313/00Compression machines, plants or systems with reversible cycle not otherwise provided for
    • F25B2313/021Indoor unit or outdoor unit with auxiliary heat exchanger not forming part of the indoor or outdoor unit
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B2313/00Compression machines, plants or systems with reversible cycle not otherwise provided for
    • F25B2313/027Compression machines, plants or systems with reversible cycle not otherwise provided for characterised by the reversing means
    • F25B2313/02741Compression machines, plants or systems with reversible cycle not otherwise provided for characterised by the reversing means using one four-way valve
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B2400/00General features or devices for refrigeration machines, plants or systems, combined heating and refrigeration systems or heat-pump systems, i.e. not limited to a particular subgroup of F25B
    • F25B2400/04Refrigeration circuit bypassing means
    • F25B2400/0401Refrigeration circuit bypassing means for the compressor
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B2400/00General features or devices for refrigeration machines, plants or systems, combined heating and refrigeration systems or heat-pump systems, i.e. not limited to a particular subgroup of F25B
    • F25B2400/05Compression system with heat exchange between particular parts of the system
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B2600/00Control issues
    • F25B2600/25Control of valves
    • F25B2600/2515Flow valves
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B2700/00Sensing or detecting of parameters; Sensors therefor
    • F25B2700/19Pressures
    • F25B2700/193Pressures of the compressor
    • F25B2700/1931Discharge pressures
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B2700/00Sensing or detecting of parameters; Sensors therefor
    • F25B2700/19Pressures
    • F25B2700/193Pressures of the compressor
    • F25B2700/1933Suction pressures
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B2700/00Sensing or detecting of parameters; Sensors therefor
    • F25B2700/21Temperatures
    • F25B2700/2115Temperatures of a compressor or the drive means therefor
    • F25B2700/21151Temperatures of a compressor or the drive means therefor at the suction side of the compressor
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B2700/00Sensing or detecting of parameters; Sensors therefor
    • F25B2700/21Temperatures
    • F25B2700/2115Temperatures of a compressor or the drive means therefor
    • F25B2700/21152Temperatures of a compressor or the drive means therefor at the discharge side of the compressor

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Thermal Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Sustainable Development (AREA)
  • Hydrology & Water Resources (AREA)
  • Environmental & Geological Engineering (AREA)
  • Water Supply & Treatment (AREA)
  • Organic Chemistry (AREA)
  • Fluid Mechanics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 리소스 관리 방법에 관한 것으로, 특히 다수의 리소스를 사용하는 어플리케이션에서 효율적인 리소스의 관리를 위한 패키지 파일 포맷 및 그에 따른 리소스 관리 방법에 관한 것이다. 본 발명에 따르면 패키지 파일 포맷을, 루트 디렉토리 노드의 서브 디렉토리인 자식 디렉토리 노드와, 상기 루트 디렉토리 또는 자식 디렉토리 내의 리소스 데이터 내용이 포함된 파일 노드를 포함하여 구성함으로써, 리소스의 관리를 보다 쉽게하며, 어플리케이션 개발을 용이하게 하는 효과가 있다.

Description

리소스 관리를 위한 패키지 파일 포맷 및 리소스 관리 방법{Package file format for resource managing and Method of resource management}
본 발명은 리소스 관리 방법에 관한 것으로, 특히 다수의 리소스를 사용하는 어플리케이션에서 효율적인 리소스의 관리를 위한 패키지 파일 포맷 및 그에 따른 리소스 관리 방법에 관한 것이다.
윈도우(Windows)용 어플리케이션(Application)은 크게 보아 리소스 파트(Resource part)와 실행 파트(Excutable part)로 나눌 수 있다.
상기 리소스는 모든 어플리케이션에서 사용되며, 다이얼로그(Dialog) 윈도우에서 각종 스트링(String), 비트맵(Bitmap), 일반 데이터까지 실행 파트에서 사용되는 모든 데이터를 망라하는 의미이다.
일반적으로 어플리케이션에서 리소스를 사용하는 방법은, 리소스 파트에 포함시켜 하나의 실행 파일로 사용하는 방법과 필요한 리소스들을 별도의 파일로 분리시키는 두 가지의 방법을 주로 사용한다. 이러한 방법들을 첨부한 도 1과 도 2에 도시하였다.
도 1은 종래 기술에 따른 어플리케이션에서 리소스 파트를 이용하는 방법을 설명하기 위해 나타낸 도면이다.
도 1에 도시된 바와 같이, 어플리케이션(3)에서 실행 파트(1)와 리소스 파트(2)를 함께 관리하는 형태로, 리소스를 사용하기 위해 실행 파트(1)에서 리소스 파트(2)의 데이터들을 직접 읽어와 실행하게 된다.
이러한 방법은, 실행 파일의 관리가 비교적 간단하며 사용자가 함부로 수정해서 실행 파일의 비정상적인 수행을 초래하지 않는 장점이 있어 많이 사용되었던 형태이다.
한편, 최근에는 융통성(Flexible)이 있는 어플리케이션의 필요성과 다국어 지원 때문에 리소스를 별도로 분리하는 것이 일반적인 추세이다.
도 2는 종래 기술에 따른 별도의 리소스 파일을 이용하는 방법을 설명하기 위해 나타낸 도면이다.
도 2에 도시된 바와 같이, 리소스를 파일 형태로 관리하는 리소스 파일(2)을 두고, 어플리케이션(3)에서 파일 형태로 읽어와 실행하는 방법을 사용하였다.
이러한 방법은 사용자가 리소스를 쉽게 고칠 수 있어서 맞춤형(customizing)이 가능하며, 리소스의 업데이트가 간편해져 다양한 언어를 지원하거나 다양한 스킨을 지원하는 것이 가능하다는 장점이 있었다.
그러나, 첨부한 도 1과 같은 방법은 리소스의 수가 늘어날수록 관리가 힘들어진다는 문제가 있으며, 도 2와 같은 방법은 파일 시스템의 특성상 저장 공간을 비효율적으로 사용하게 된다는 문제점이 있었다.
따라서, 본 발명의 목적은 이와 같은 종래 기술의 문제점을 해결하기 위해 안출한 것으로서, 다양하고 수많은 리소스들을 손쉽게 어플리케이션에서 이용할 수 있게 하고, 업데이트와 사용이 쉬운 리소스 관리 방법을 제안하는데 있다.
본 발명의 다른 목적은 소스 코드의 수정 없이 다른 위치의 리소스로 작업을 가능하게 하는 리소스 관리 방법을 제안하는데 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 리소스 관리를 위한 패키지 파일 포맷은, 루트 디렉토리 노드와, 상기 루트 디렉토리 노드의 서브 디렉토리인 자식 디렉토리 노드와, 상기 루트 디렉토리 또는 자식 디렉토리 내의 리소스 데이터 내용이 포함된 파일 노드를 포함하여 구성되는 것을 특징으로 한다.
상기 디렉토리 노드는, 자식 노드의 수를 나타내는 부분과, 상기 자식 노드의 수만큼 자식 노드의 정보를 포함하는 아이템 부분을 포함하여 구성되는 것을 특징으로 한다.
상기 아이템 부분은, 상기 자식 노드가 디렉토리인지 파일인지 구분하기 위한 부분과, 상기 자식 노드의 이름의 길이를 나타내기 위한 부분과, 상기 자식 노드의 이름을 나타내기 위한 부분과, 상기 자식 노드의 위치를 나타내기 위한 오프셋 부분으로 구성되는 것을 특징으로 한다.
상기 파일 노드는, 파일의 길이를 나타내기 위한 부분과, 실제 데이터가 들어가는 파일의 내용 부분으로 구성되는 것을 특징으로 한다.
본 발명에 따른 디렉토리 구조를 패키지 포맷의 파일로 변환하기 위한 방법은, 사용자가 지정한 디렉토리를 작업 디렉토리로 설정하는 제 1 단계와, 상기 설정된 작업 디렉토리에 대해 하나의 노드(현재 노드)를 생성하는 제 2 단계와, 상기 현재 노드의 아이템이 디렉토리인 경우 하나의 디렉토리 노드를 생성하여 자식 노드로 등록하고, 상기 현재 노드를 작업 디렉토리로 설정하여 상기 제 2 단계부터 반복하는 제 3 단계와, 상기 현재 노드의 아이템이 파일인 경우 하나의 파일 노드를 생성하여 자식 노드로 등록한 뒤 파일의 길이를 쓰기 위한 부분과, 파일의 내용을 쓰기 위한 부분을 더한 값을 자식 노드의 크기로 세팅하는 제 4 단계와, 상기 아이템의 종류에 관계없이 아이템의 정보를 기록하기 위한 부분을 상기 현재 노드에 더하는 제 5 단계와, 상기 현재 노드의 크기에 자식 노드의 수를 나타내기 위한 바이트를 더하는 제 6 단계와, 상기 패키지 파일의 헤더 부분과, 메타 데이터 부분을 기록하고, 오프셋을 상기 헤더 길이 및 메타 데이터 값으로 초기화한 후 오프셋을 계산하는 제 7 단계와, 상기 생성된 노드가 디렉토리 노드인 경우, 자식 노드의 수, 자식 노드가 디렉토리인지 파일인지 여부, 디렉토리의 이름, 계산된 오프셋을 기록하는 제 8 단계와, 상기 생성된 노드가 파일인 경우 파일의 크기, 파일의 내용을 기록하는 제 9 단계를 포함하여 이루어짐을 특징으로 한다.
상기 오프셋은 현재의 오프셋에 자식 노드의 크기를 더한 값인 것을 특징으로 한다.
본 발명에 따른 리소스 관리자가 구현해야할 패키지 파일에서 원하는 파일을 추출하기 위한 방법은, 경로를 입력받아 디렉토리 혹은 파일명을 기억하는 제 1 단계와, 상기 패키지 파일에 포함된 정보를 통해 자식 노드의 수, 자식 노드가 디렉토리인지 파일인지 여부, 자식 노드의 이름을 기억하는 제 2 단계와, 상기 기억된 자식 노드의 이름이 상기 디렉토리 혹은 파일명과 일치하는지 판단하는 제 3 단계와, 상기 판단 결과 일치하는 경우, 자식 노드가 디렉토리인지 파일인지 판단하는 제 4 단계와, 상기 판단 결과 디렉토리인 경우, 오프셋을 구한뒤 오프셋만큼 이동한 후, 상기 입력받은 경로에서 현재 디렉토리명을 삭제하여 상기 제 1 단계부터 반복하는 제 5 단계와, 상기 판단 결과 파일인 경우, 파일 내용을 어레이에 저장한 후 반환하는 제 6 단계를 포함하여 이루어짐을 특징으로 한다.
상기 제 3 단계에서 판단 결과 일치하지 않는 경우 상기 2 단계부터 반복하는 단계를 더 포함하여 이루어짐을 특징으로 한다.
상기 반복 결과, 반복 횟수가 상기 기억된 자식 노드의 수를 초과하는 경우 오류 코드를 반환하는 단계를 더 포함하여 이루어짐을 특징으로 한다.
이하 발명의 바람직한 실시예에 따른 구성 및 작용을 첨부한 도면을 참조하여 설명한다.
도 3은 본 발명에 따른 패키지 파일의 구조를 나타낸 도면이다.
도 3과 같은 패키지 파일의 구조는 서브 디렉토리의 정보와 실제 파일의 내용이 혼재되어 들어가도록 구성된 형태이다.
즉, 패키지 파일의 헤더 부분, 저작권 및 기타 부가 정보가 삽입되는 메타 데이터 부분, 루트 디렉토리 노드, 상기 루트 디렉토리의 서브 디렉토리인 특정 디렉토리 노드, 실제 리소스 데이터 내용이 포함된 특정 파일 노드 부분으로 구성된다.
이러한 패키지 파일을 작성할 때, 디렉토리 노드에 우선 순위를 주어 당 기술 분야에서 잘 알려진 너비 우선 탐색 방법(Breadth-first-search(BFS)) 알고리즘을 이용하여 운행(traversal)하게 되면, 디렉토리 노드가 앞쪽으로 몰리게 되어 성능이 향상된다.
이와 같은 구조를 같는 패키지 파일은 특정 위치의 파일을 가져오기 위해, 최초, 루트 디렉토리 노드를 읽어 정보를 얻어오고, 그 다음 서브 디렉토리 정보를 얻는 과정을 반복하다가 파일 노드에 도착하면 해당 노드의 내용을 읽어오는 구조로 되어 있다.
예를 들어, "package\sub\file"이라는 리소스를 읽기 위해서는 루트에서 'package'라는 디렉토리 노드를 찾아 해당 노드의 오프셋(offset) 값을 읽어 해당 위치로 파일 포인터를 이동시킨 뒤, 다시 'sub'라는 디렉토리 노드를 찾아서 해당 오프셋 값을 읽고 이동하며, 다시 'file'이라는 파일 노드의 정보를 읽어 해당 오프셋으로 이동한 뒤, 파일의 길이를 읽고 그 길이만큼의 데이터를 읽어서 반환하는 것이다.
이를 위해, 첨부한 도 4에는 본 발명에 따른 디렉토리 노드의 구조를, 첨부한 도 5에는 본 발명에 따른 파일 노드의 구조를 나타내었다.
도 4와 같이, 본 발명에 따른 디렉토리 노드의 구조는, 할당된 2바이트로 자식 노드의 수(최대 65535개 지원)를 나타낸 부분과, 상기 자식 노드의 수만큼 자식 노드의 정보를 포함하는 아이템 부분으로 구성된다.
상기 아이템 부분은, 1바이트로 자식 노드가 디렉토리인지 파일인지 구분하기 위한 부분, 1바이트로 자식 노드의 이름의 길이를 나타내기 위한 부분, n바이트 할당되어 자식 노드의 이름을 나타내기 위한 부분, 4바이트 할당된 자식 노드의 위치를 나타낸 오프셋 부분으로 구성된다.
한편, 도 5는 본 발명에 따른 파일 노드의 구조를 나타낸 도면으로, 디렉토리 노드와 달리 단순히 길이와 데이터만 들어가게 된다.
즉, 도 5와 같이, 4바이트로 할당되어 파일의 길이를 나타내는 부분과, n바이트 할당되어 파일의 내용을 나타내는 부분으로 구성된다.
본 발명에 따르면 이처럼 정의된 패키지 파일 포맷 구조를 이용하여, 리소스 데이터를 디렉토리 구조를 포함하여 그대로 하나의 파일로 만들어 주게 되는데, 이러한 과정을 첨부한 도면을 통해 상세히 설명하면 다음과 같다.
도 6은 본 발명에 따른 디렉토리 구조를 패키지 포맷의 파일로 변환하는 과정을 나타낸 플로우 챠트이다.
도 6과 같이, 최초, 사용자가 지정한 디렉토리를 작업 디렉토리로 설정한다.(S10)
상기 지정된 작업 디렉토리에 대해 하나의 노드(현재 노드)를 생성한다.(S20) 이후, 모든 하위 디렉토리와 파일의 정보를 디렉토리로부터 읽어 가며 다음의 작업을 수행한다. 이때, 상기 현재 노드의 크기는 0으로 세팅한다.
이후, 패키지 파일화 할 아이템이 디렉토리인지 파일인지 판별하는 단계(S30)를 거쳐, 상기 아이템이 디렉토리인 경우, 하나의 디렉토리 노드를 생성하여 자식 노드로 등록하고, 상기 현재 노드를 작업 디렉토리로 설정한 후 S20부터 반복한다.(S40)
만약, 상기 패키지 파일화 할 아이템이 파일인 경우에는 하나의 파일 노드를 생성하고, 자식 노드로 등록한 뒤 파일의 길이를 나타내는 4바이트와, 파일의 내용을 나타내는 n바이트를 더한 값을 자식 노드의 크기로 세팅한다.(S50)
이후, 상기 아이템의 종류와 상관없이 디렉토리 또는 파일의 이름을 나타내기 위한 n바이트에 6바이트(하나의 아이템의 정보를 기록하기 위한 길이(디렉토리 또는 파일을 구분하기 위한 1바이트, 이름의 길이를 나타내기 위한 1바이트, 자식 노드의 위치를 나타내기 위한 오프셋 4바이트, 도 4 참조))를 더한 값을 현재 노드의 크기에 더한다.(S60)
이와 같은 작업은 리스트의 마지막이 될 때까지 반복한다.(S70)
이후, 현재 노드의 크기에 자식 노드의 수(아이템의 개수)를 나타내기 위한 2바이트를 더한다.(S80)
상기 S10 ∼ S70 단계의 작업을 거치게 되면 패키지 파일화할 아이템에 대해 트리(Tree)구조가 만들어진다.
이처럼 만들어진 트리 구조를 패키지 파일화하기 위해 파일 헤더 및 메타 데이터(카피 라이트 등 기타 정보)를 기록하고, 오프셋을 메타 데이터와 헤더의 길이값으로 초기화한다.(S90)
이후, 루트(root)부터 앞서 언급한 BFS 알고리즘을 이용하여 검색하면서 오프셋을 구한다. 상기 오프셋은 현재의 오프셋에 자신의 자식 노드들의 크기를 더한 값으로 계산한다.(S100)
상기 계산된 값은 각각의 디렉토리 노드를 패키지 파일에 기록할 때 오프셋 값을 저장하기 위한 값이다.
이처럼 오프셋 값을 구한 이후에는 BFS 알고리즘을 이용하여 검색하면서, 해당 노드가 디렉토리 노드인지 파일 노드인지 구분하여 다음의 과정을 수행한다.(S110)
상기 해당 노드가 디렉토리 노드인 경우 다음의 과정을 거친다.
상기 S80에서 생성한 2바이트로 자식 노드의 수를 기록한다.(S120)
상기 S60에서 생성한 바이트 수 중 1바이트를 할당하여, 해당 아이템이 디렉토리면 'D'를, 파일이면 'F'를 기록한다.(S130)
상기 S60에서 생성한 바이트 수 중 1바이트를 할당하여, 디렉토리의 이름의 길이를 기록한다.(S140)
상기 S60에서 생성한 바이트 수 중 n바이트 길이만큼 이름을 기록한다.(S150)
상기 S60에서 생성한 4바이트로 자식 노드 위치를 나타내는 오프셋을 기록한다.(S160)
상기 S120에서 S160에 해당하는 작업을 모든 아이템에 대해서 반복한다.
한편, 해당 노드가 파일 노드인 경우에는 다음의 과정을 수행한다.
상기 S50에서 생성된 4바이트에 해당 파일의 크기를 기록한다.(S170)
상기 S50에서 생성된 n바이트에 파일의 내용을 기록한다.(S180)
이와 같은 단계를 통해 아이템을 패키지 파일화하며, 이러한 단계는 어플리케이션 제작자 또는 리소스 디자이너에게 제공되는 유틸리티이다.
한편, 상기와 같은 방법으로 구현된 패키지 파일에서 원하는 파일을 추출하기 위한 알고리즘을 첨부한 도 7에 도시하였다.
도 7과 같은 플로우에서, 입력은 원하는 파일의 전체 경로(Full path)이며, 출력은 해당 파일의 내용을 담은 어레이(array)가 된다.
도 7과 같이, 최초, 상기 넘겨받은 경로를 처음 나오는 '\' 바로 전까지 읽어 디렉토리명으로 기억해 둔다. 이때, 경로의 마지막까지 '\'가 나오지 않으면 파일명으로 기억한다.(S10)
상기 저장한 디렉토리명에 해당하는 노드가 나올때까지 자식 노드들을 검색하게 되는데, 이러한 검색 과정은 다음과 같다.
먼저, 노드의 첫 2 바이트를 읽어서 자식 노드의 수를 기억한다.(S20)
다음의 1 바이트를 읽어서 자식 노드가 디렉토리인지 파일인지 기억한다.(S30)
다음의 1 바이트를 읽어서 자식 노드의 이름의 길이를 기억한 뒤 해당 길이만큼 읽어서 자식 노드의 이름으로 기억한다.(S40)
이때, 만약 해당 자식 노드의 이름이 상기 S10에서 기억해 둔 디렉토리명이고(S70), 상기 S30에서 기억된 자식 노드가 디렉토리이면(S80), 그 다음의 4바이트를 읽어서 오프셋을 구한 뒤, 패키지 파일의 처음부터 오프셋만큼 떨어진 위치로 이동시킨다.(S90)
이후, 입력받은 경로에서 현재 디렉토리명과 '\'까지를 삭제한 뒤 상기 S10부터 다시 반복한다.(S100)
만약, 해당 자식 노드의 이름이 상기 S10에서 기억해 둔 파일명이고(S70), 상기 S30에서 기억된 자식 노드가 파일이면(S80), 그 다음의 4바이트를 읽어서 파일의 길이를 구한 뒤 그 길이만큼 읽어서 반환할 어레이에 저장한 뒤 반환한다.(S110)
상기 S70에 해당하지 않으면 상기 S20부터 반복하며, 총 반복횟수가 상기 S20에서 기억해 둔 자식 노드의 수를 초과하면 오류 코드를 반환한다.(S50,S60)
따라서, 본 발명에 따른 방법은, 리소스 관리자가 필요한 리소스를 요청하게 되면 해당 리소스의 내용을 어레이로 반환해주는 인터페이스를 제공하게 되며, 어플리케이션에서는 원하는 리소스에 대해 해당 인터페이스를 이용하면 된다.
이상의 설명에서와 같이 본 발명에 따른 리소스 관리 방법은 다음과 같은 효과가 있다.
첫째, 리소스를 어플리케이션과 분리시켜 작업함에 있어 리소스의 관리를 보다 쉽게하며, 리소스 패키징을 분리시켜 별도의 유틸리티로 제작하도록 함으로써 리소스의 생성, 테스트 및 패키징을 디자이너에게 전담하게 하여, 어플리케이션 개발을 용이하게 하는 효과가 있다.
둘째, 리소스의 접근을 일반 파일의 전체 경로 지정과 동일하게 함으로써 일일이 패키징을 하지 않고, 어플리케이션의 리소스를 얻어오는 부분을 수정하지 않아도, 리소스 관리자의 옵션 설정만으로 디렉토리 또는 패키지 파일 중 원하는 위치에서 리소스를 가져오게 되어 리소스 개발이 용이해지는 효과가 있다.
셋째, 다양한 리소스를 하나의 파일로 합쳐두기 때문에 리소스의 관리가 쉬우며, 디렉토리 구조를 그대로 지원하므로 목적에 따른 분류가 가능해지는 효과가 있다.
넷째, 실제 디렉토리로 구분해 둔 리소스들을 그대로 패키징하기 때문에 직관적이며, 옵션에 따라 패키징 하기 이전 각각의 파일로 되어 있는 리소스를 그대로 사용 가능한 효과가 있다.
다섯째, 파일 시스템이 메모리에 위치하여 파일 엑세스 속도가 빠르고, 메모리에 제약이 있어 파일이 많아질수록 단편화 현상을 무시할 수 없는 임베디드(embedded) OS(Operating System) 환경에서 더욱 유용하게 사용되는 효과가 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정하는 것이 아니라 특허 청구 범위에 의해서 정해져야 한다.
도 1은 종래 기술에 따른 어플리케이션의 리소스 파트를 이용하는 방법을 나타낸 도면
도 2는 종래 기술에 따른 별도의 리소스 파일을 이용하는 방법을 나타낸 도면
도 3은 본 발명에 따른 패키지 파일의 구조를 나타낸 도면
도 4는 본 발명에 따른 디렉토리 노드의 구조를 나타낸 도면
도 5는 본 발명에 따른 파일 노드의 구조를 나타낸 도면
도 6은 본 발명에 따른 디렉토리 구조를 패키지 포맷의 파일로 변환하는 과정을 나타낸 플로우 챠트
도 7은 본 발명에 따른 패키지 파일에서 원하는 파일을 추출하기 위한 방법을 나타낸 플로우 챠트
- 도면의 주요 부분에 대한 부호의 설명 -
1 : 실행 파트 2 : 리소스 파트
3 : 어플리케이션

Claims (9)

  1. 루트 디렉토리 노드와,
    상기 루트 디렉토리 노드의 서브 디렉토리인 자식 디렉토리 노드와,
    상기 루트 디렉토리 또는 자식 디렉토리 내의 리소스 데이터 내용이 포함된 파일 노드를 포함하여 구성되는 것을 특징으로 하는 리소스 관리를 위한 패키지 파일 포맷.
  2. 제 1 항에 있어서, 상기 디렉토리 노드는,
    자식 노드의 수를 나타내는 부분과,
    상기 자식 노드의 수만큼 자식 노드의 정보를 포함하는 아이템 부분을 포함하여 구성되는 것을 특징으로 하는 리소스 관리를 위한 패키지 파일 포맷.
  3. 제 2 항에 있어서, 상기 아이템 부분은,
    상기 자식 노드가 디렉토리인지 파일인지 구분하기 위한 부분과,
    상기 자식 노드의 이름의 길이를 나타내기 위한 부분과,
    상기 자식 노드의 이름을 나타내기 위한 부분과,
    상기 자식 노드의 위치를 나타내기 위한 오프셋 부분으로 구성되는 것을 특징으로 하는 리소스 관리를 위한 패키지 파일 포맷.
  4. 제 1 항에 있어서, 상기 파일 노드는,
    파일의 길이를 나타내기 위한 부분과,
    실제 데이터가 들어가는 파일의 내용 부분으로 구성되는 것을 특징으로 하는 리소스 관리를 위한 패키지 파일 포맷.
  5. 디렉토리 구조를 패키지 포맷의 파일로 변환하기 위한 방법에 있어서,
    사용자가 지정한 디렉토리를 작업 디렉토리로 설정하는 제 1 단계와,
    상기 설정된 작업 디렉토리에 대해 하나의 노드(현재 노드)를 생성하는 제 2 단계와,
    상기 현재 노드의 아이템이 디렉토리인 경우 하나의 디렉토리 노드를 생성하여 자식 노드로 등록하고, 상기 현재 노드를 작업 디렉토리로 설정하여 상기 제 2 단계부터 반복하는 제 3 단계와,
    상기 현재 노드의 아이템이 파일인 경우 하나의 파일 노드를 생성하여 자식 노드로 등록한 뒤 파일의 길이를 쓰기 위한 부분과, 파일의 내용을 쓰기 위한 부분을 더한 값을 자식 노드의 크기로 세팅하는 제 4 단계와,
    상기 아이템의 종류에 관계없이 아이템의 정보를 기록하기 위한 부분을 상기 현재 노드에 더하는 제 5 단계와,
    상기 현재 노드의 크기에 자식 노드의 수를 나타내기 위한 바이트를 더하는 제 6 단계와,
    상기 패키지 파일의 헤더 부분과, 메타 데이터 부분을 기록하고, 오프셋을 상기 헤더 길이 및 메타 데이터 값으로 초기화한 후 오프셋을 계산하는 제 7 단계와,
    상기 생성된 노드가 디렉토리 노드인 경우, 자식 노드의 수, 자식 노드가 디렉토리인지 파일인지 여부, 디렉토리의 이름, 계산된 오프셋을 기록하는 제 8 단계와,
    상기 생성된 노드가 파일인 경우 파일의 크기, 파일의 내용을 기록하는 제 9 단계를 포함하여 이루어짐을 특징으로 하는 리소스 관리 방법.
  6. 제 5 항에 있어서,
    상기 오프셋은 현재의 오프셋에 자신의 자식 노드들의 크기를 더한 값인 것을 특징으로 하는 리소스 관리 방법.
  7. 리소스 관리자가 구현해야할 패키지 파일에서 원하는 파일을 추출하기 위한 방법에 있어서,
    경로를 입력받아 디렉토리 혹은 파일명을 기억하는 제 1 단계와,
    상기 패키지 파일에 포함된 정보를 통해 자식 노드의 수, 자식 노드가 디렉토리인지 파일인지 여부, 자식 노드의 이름을 기억하는 제 2 단계와,
    상기 기억된 자식 노드의 이름이 상기 디렉토리 혹은 파일명과 일치하는지 판단하는 제 3 단계와,
    상기 판단 결과 일치하는 경우, 자식 노드가 디렉토리인지 파일인지 판단하는 제 4 단계와,
    상기 판단 결과 디렉토리인 경우, 오프셋을 구한뒤 오프셋만큼 이동한 후, 상기 입력받은 경로에서 현재 디렉토리명을 삭제하여 상기 제 1 단계부터 반복하는 제 5 단계와,
    상기 판단 결과 파일인 경우, 파일 내용을 어레이에 저장한 후 반환하는 제 6 단계를 포함하여 이루어짐을 특징으로 하는 리소스 관리 방법.
  8. 제 7 항에 있어서,
    상기 제 3 단계에서 판단 결과 일치하지 않는 경우 상기 2 단계부터 반복하는 단계를 더 포함하여 이루어짐을 특징으로 하는 리소스 관리 방법.
  9. 제 8 항에 있어서,
    상기 반복 결과, 반복 횟수가 상기 기억된 자식 노드의 수를 초과하는 경우 오류 코드를 반환하는 단계를 더 포함하여 이루어짐을 특징으로 하는 리소스 관리 방법.
KR1020040013097A 2004-02-26 2004-02-26 리소스 관리를 위한 패키지 파일 포맷 및 리소스 관리 방법 KR20050087349A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040013097A KR20050087349A (ko) 2004-02-26 2004-02-26 리소스 관리를 위한 패키지 파일 포맷 및 리소스 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040013097A KR20050087349A (ko) 2004-02-26 2004-02-26 리소스 관리를 위한 패키지 파일 포맷 및 리소스 관리 방법

Publications (1)

Publication Number Publication Date
KR20050087349A true KR20050087349A (ko) 2005-08-31

Family

ID=37270628

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040013097A KR20050087349A (ko) 2004-02-26 2004-02-26 리소스 관리를 위한 패키지 파일 포맷 및 리소스 관리 방법

Country Status (1)

Country Link
KR (1) KR20050087349A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746035B1 (ko) * 2006-03-07 2007-08-06 삼성전자주식회사 리니어 파일 시스템을 이용한 리소스 관리를 제공하는 장치및 방법
KR100952470B1 (ko) * 2007-12-17 2010-04-13 한국전자통신연구원 디지털 증거의 저장 및 분석을 위한 이미지 파일 포맷 구조및 그 구조로 데이터가 기록된 기록 매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746035B1 (ko) * 2006-03-07 2007-08-06 삼성전자주식회사 리니어 파일 시스템을 이용한 리소스 관리를 제공하는 장치및 방법
KR100952470B1 (ko) * 2007-12-17 2010-04-13 한국전자통신연구원 디지털 증거의 저장 및 분석을 위한 이미지 파일 포맷 구조및 그 구조로 데이터가 기록된 기록 매체

Similar Documents

Publication Publication Date Title
US6789094B2 (en) Method and apparatus for providing extended file attributes in an extended attribute namespace
JP4660607B2 (ja) 拡張可能ファイル形式
US20070276848A1 (en) Apparatus and method for managing data
US8190591B2 (en) Bit string searching apparatus, searching method, and program
EP1587006A2 (en) Method and system for renaming consecutive keys in a B-tree
JP3554459B2 (ja) テキストデータ登録検索方法
US20150006495A1 (en) Methods and apparatuses to optimize updates in a file system based on birth time
JPH05135108A (ja) データベースの編成方法及び装置
JPH0812628B2 (ja) ファイルシステム装置およびその操作方法
US20100042596A1 (en) Bit string search apparatus, search method, and program
US8281289B2 (en) Device, method, and program for generating and executing execution binary image, and computer-readable recording medium containing the execution binary image execution program
JP4936369B2 (ja) 情報処理装置および情報処理装置の制御方法およびプログラムおよび記録媒体
US8275812B2 (en) Method to reduce wasted character data areas of java strings
CN111104377A (zh) 文件管理的方法、电子设备和计算机可读存储介质
US20090319478A1 (en) Method for improving the performance of a file system in a computing device
US20030182292A1 (en) Method, system, data structures, and article of manufacture for implementing a persistent object
CN110297781B (zh) 一种基于写时复制来恢复apfs中被删除数据的方法
US8977657B2 (en) Finding lost objects in a file system having a namespace
KR20050087349A (ko) 리소스 관리를 위한 패키지 파일 포맷 및 리소스 관리 방법
KR100345277B1 (ko) Xml 문서의 논리적인 구조정보 추출기
CN110704573A (zh) 目录存储方法、装置、计算机设备及存储介质
CN117349236B (zh) 文件读取方法、装置、设备及存储介质
US11803313B2 (en) Method of constructing a file system based on a hierarchy of nodes
CN112181910B (zh) 一种扩展短文件名生成方法、文件访问方法以及设备
CN117707547B (zh) 一种解析java项目间引用关系的方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination