KR20180137554A - 패치 업그레이드 기반 파일 처리 방법 및 디바이스, 단말기, 및 저장 매체 - Google Patents

패치 업그레이드 기반 파일 처리 방법 및 디바이스, 단말기, 및 저장 매체 Download PDF

Info

Publication number
KR20180137554A
KR20180137554A KR1020187034151A KR20187034151A KR20180137554A KR 20180137554 A KR20180137554 A KR 20180137554A KR 1020187034151 A KR1020187034151 A KR 1020187034151A KR 20187034151 A KR20187034151 A KR 20187034151A KR 20180137554 A KR20180137554 A KR 20180137554A
Authority
KR
South Korea
Prior art keywords
patch
path information
file
partition
upgrade file
Prior art date
Application number
KR1020187034151A
Other languages
English (en)
Other versions
KR102204115B1 (ko
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 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20180137554A publication Critical patent/KR20180137554A/ko
Application granted granted Critical
Publication of KR102204115B1 publication Critical patent/KR102204115B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44552Conflict resolution, i.e. enabling coexistence of conflicting executables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Stored Programmes (AREA)

Abstract

본 개시 내용은 패치 업그레이드 기반 파일 처리 방법 및 장치, 단말기, 및 저장 매체를 제공한다. 방법은: 파일 액세스 요청을 수신하는 단계 - 파일 액세스 요청은 저장 경로 정보를 포함함 -; 저장 경로 정보가 제1 파티션을 표시하는 경우, 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 존재하는지를 결정하는 단계; 저장 경로 정보가 연관 관계에 존재하는 경우, 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 질의하여, 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득하는 단계; 및 대응 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터, 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 획득하는 단계를 포함한다. 본 개시 내용에서 제공되는 기술적 해결책들에 따르면, 작은 패치를 사용함으로써 빠른 업그레이드가 구현될 수 있고, 작업 부하가 감소된다.

Description

패치 업그레이드 기반 파일 처리 방법 및 디바이스, 단말기, 및 저장 매체
본 개시 내용은 통신 기술 분야에 관한 것으로, 특히, 패치 업그레이드 기반(patch-upgrade-based) 파일 처리 방법 및 장치, 단말기, 및 저장 매체에 관한 것이다.
단말기들의 기능들을 추가 및 개발하기 위해, 이동 전화 및 태블릿 컴퓨터와 같은 단말기들의 소프트웨어가 계속 업그레이드될 필요가 있다. 현재, 일반적으로 2가지의 소프트웨어 업그레이드 모드가 있다: 풀 이미지 반전 업그레이드(full image reversion upgrade) 및 차분 패키지 업그레이드(differential package upgrade). 풀 이미지 반전 업그레이드 모드에서, 업그레이드 패키지는 모든 시스템 파일을 포함한다. 업그레이드 과정 동안, 단말기 내의 모든 원본 시스템 파일들이 소거되고, 이후 원래의 시스템 파일들이 새로운 파일들(즉, 업그레이드 패키지 내의 시스템 파일들)로 대체되어, 업그레이드가 완료되도록 한다. 차분 패키지 업그레이드 모드에서, 업그레이드 패키지는 2개의 버전 사이의 차분 데이터(differential data)를 포함한다. 차분 데이터는 특정 버전 A를 특정 버전 B로 업그레이드하는 데 사용될 수 있다. 2가지 업그레이드 모드에서, 풀 이미지 반전 업그레이드에서의 업그레이드 패키지는 일반적으로 크고, 무선 업그레이드에 적합하지 않다. 따라서, 현재는 차분 패키지 업그레이드 모드가 보통 사용된다.
또한, 기존 차분 패키지 업그레이드 모드에서, 단말기의 소프트웨어 버전이 배포된 후에, 때때로 몇몇 파라미터를 수정함으로써 고쳐질 수 있는 비상 버그가 있다. 따라서, 기존의 차분 패키지 업그레이드 모드에서, 버그는 다음의 2가지 모드에서 고쳐질 수 있다: 먼저, 도 1에 도시된 바와 같이, 현재 배포된 초기 버전들은 B101, B102, 및 B103이다. 이들 버전들 각각은 전술한 비상 버그를 갖는다. 현재 배포된 최신 버전(B103)에 기초하여, 서버는 작은 패치를 포함하는 패치 패키지를 배포한다. 사용자가 버그를 고치기를 원할 때, 사용자는 먼저 현재 버전(예를 들어, B101 또는 B102)을 최신 버전(B103)으로 업그레이드할 필요가 있고, 이후 버그를 고치기 위해 패치 패키지를 다운로드할 수 있다. 예를 들어, 사용자에 의해 현재 사용되는 버전이 B101인 경우, 사용자는 먼저 업그레이드 패키지 B101→B102를 다운로드하여 버전을 B102로 업그레이드하고, 이후 업그레이드 패키지 B102→B103을 다운로드하여 버전을 B103으로 업그레이드하고, 최종적으로 작은 패치를 포함하는 패치 패키지를 다운로드하여 비상 버그가 고쳐지는 버전 B104로 버전을 업그레이드한다. 둘째, 도 2에 도시된 바와 같이, 모든 초기 버전들(B101, B102, 및 B103)에 기초하여, 서버는 초기 버전들을 패치를 포함하는 최신 버전으로 업그레이드하는 데 사용될 수 있는 업그레이드 패키지들(업그레이드 패키지 B101→B104, 업그레이드 패키지 B102→B104, 및 작은 패치를 포함하는 패치 패키지)을 배포하고; 사용자는 현재 버전에 특정적인 업그레이드 패키지를 직접 다운로드하고, 한 번에 버전을 비상 버그가 고쳐지는 버전으로 업그레이드할 수 있다. 여전히 사용자가 버전 B101을 현재 사용하는 예에서, 사용자는 현재 버전 B101을 비상 버그가 고쳐지는 버전 B104로 직접 업그레이드하기 위해 업그레이드 패키지 B101→B104를 다운로드할 수 있다.
그러나, 제1 업그레이드 모드에서, 패치 패키지는 최신 버전에 기초하여 배포되고, 사용자가 현재 버전을 최신 버전으로 업그레이드할 때 사용자는 패치 패키지를 사용하여 버그를 고칠 수 있다. 전술한 예에서, 버전 B101을 현재 사용하는 사용자는 연속적으로 두 번 업그레이드를 수행할 필요가 있는데, 버전을 B103으로 업그레이드한 후에, 사용자는 패치 패키지를 사용하여 버그를 고칠 수 있다. 결과적으로, 작은 패치를 사용하여 빠른 업그레이드를 하기 위한 요건이 충족될 수 없다. 제2 업그레이드 모드에서, 버그는 각각의 초기 버전에 대해 한 번에 고쳐질 수 있다. 그러나, 비교적 큰 업그레이드 패키지는 훨씬 더 초기의 버전을, 패치를 포함하는 최신 버전으로 업그레이드하기 위한 것이다. 전술한 예에서, 버전 B101을 현재 사용하는 사용자에 의해 사용되는 업그레이드 패키지 B101→B104는 전술한 비상 버그를 고치기 위한 패치뿐만 아니라 업그레이드 패키지들 B101→B102 및 B102→B103에 포함된 패치 정보를 포함한다. 따라서, 업그레이드 패키지는 매우 크고, 결과적으로 업그레이드는 비교적 느리다. 게다가, 작은 패치를 사용하여 빠른 업그레이드를 하기 위한 요건이 충족되지 않고, 서버는 초기 버전들에 대한 다수의 업그레이드 패키지를 배포할 필요가 있으며, 이는 거대한 작업 부하를 초래한다.
본 개시 내용은 작은 패치를 사용하여 빠른 업그레이드를 구현하고 작업 부하를 감소시키기 위해, 패치 업그레이드 기반 파일 처리 방법 및 장치, 단말기, 및 저장 매체를 제공한다.
제1 양태에 따르면, 본 개시 내용의 실시예는 패치 업그레이드 기반 파일 처리 방법을 제공하고, 방법은: 파일 액세스 요청을 수신하는 단계 - 파일 액세스 요청은 저장 경로 정보를 포함함 -; 저장 경로 정보가 제1 파티션을 표시할 때, 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있는 연관 관계에 존재하는지를 결정하는 단계 - 패치 업그레이드 파일 경로 정보는 미리 구성된 시스템에 있음 -; 저장 경로 정보가 상기 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있는 연관 관계에 존재할 때 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득하기 위해 연관 관계에 질의하는 단계; 및 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 획득하는 단계를 포함한다.
제1 양태에 제공되는 파일 처리 방법에 따르면, 원본 파일이 액세스될 때, 소프트웨어 패치 업그레이드를 구현하기 위해, 경로 정보에 따라 패치 파일이 액세스된다. 이 업그레이드 방법에 기초한 패치 패키지는 비상 버그를 고치기 위해 사용되는 패치 파일을 포함할 수 있어서, 패치 패키지가 비교적 작도록 한다. 단말기는 패치 패키지에서 경로 정보를 신속히 획득할 수 있고, 원본 파일이 액세스될 때, 경로 정보에 따라 패치 파일에 직접 액세스하여서, 업그레이드 속도가 높게 되도록 한다. 또한, 초기 버전들에 대한 다수의 업그레이드 패키지를 준비할 필요가 없어서, 작업 부하가 작게 되도록 한다.
제1 양태의 가능한 구현에서, 파일 액세스 요청을 수신하기 전에, 방법은 추가로: 패치 패키지를 획득하는 단계; 및 패치 패키지가 비상 패치 패키지 식별자를 포함할 때, 패치 패키지를 제2 파티션에 저장하는 단계 - 획득 동작은: 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 제2 파티션으로부터 획득하는 것을 포함함 - 를 포함한다.
이 실시예에서 제공되는 파일 처리 방법에 따르면, 패치 패키지가 획득된 후에, 패치 패키지가 비상 패치 패키지 식별자를 포함하는 경우, 제2 파티션을 사용함으로써 기존의 풀 이미지 반전 또는 차분 업그레이드 방식과 상이한 비상 패치 업그레이드 방법을 구현하기 위해서, 패치 패키지는 제2 파티션에 저장된다. 또한, 제1 파티션에 대해 체크 보호(check protection)가 수행될 수 있어서, 시스템 보안이 향상되도록 한다.
제1 양태의 가능한 구현에서, 제2 파티션에서 패치 패키지를 저장한 후에, 방법은 추가로: 패치 패키지가 파라미터 수정 스크립트를 포함하는 경우, 처리를 위해 제1 파티션으로부터 원본 파일을 획득하고, 및 제2 파티션에 패치 업그레이드 파일을 생성하는 단계를 포함한다.
이 실시예에서 제공되는 파일 처리 방법에 따르면, 패치 패키지가 제2 파티션에 저장된 후에, 패치 패키지가 파라미터 수정 스크립트를 포함하는지가 결정되어서, 파싱 가능(parsable) 파일의 파라미터가 파라미터 수정 스크립트를 이용하여 수정되어서, 버그가 고쳐지고 이 실시예는 더 넓은 범위에 적용 가능하도록 된다.
제1 양태의 가능한 구현에서, 제2 파티션에 패치 업그레이드 파일을 생성한 후에, 방법은 추가로: 생성된 패치 업그레이드 파일을 제3 파티션에 저장하는 단계를 포함하고; 및 획득 동작은: 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 제3 파티션으로부터 획득하는 것을 포함한다.
이 실시예에서 제공되는 파일 처리 방법에 따르면, 패치 패키지는 제3 파티션에 저장되어, 체크 보호가 제2 파티션에 대해 수행될 수 있고 시스템 보안이 더욱 향상되도록 한다.
제1 양태의 가능한 구현에서, 패치 패키지를 제2 파티션에 저장한 후에, 방법은 추가로: 미리 구성된 시스템에, 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 제2 파티션에서의 패치 패키지에 있는 연관 관계를 저장하는 단계를 포함한다.
제1 양태의 가능한 구현에서, 처리를 위해 제1 파티션으로부터 원본 파일을 획득하고, 및 제2 파티션에 패치 업그레이드 파일을 생성하는 단계는 구체적으로: 원본 파일이 위치하는 제1 파티션을 장착하고, 및 제1 파티션의 원본 파일을 판독하는 단계; 원본 파일을 파싱하여, 원본 파일의 파라미터 정보를 획득하는 단계; 및 파라미터 정보의 수정될 파라미터를 수정하여, 패치 업그레이드 파일을 생성하는 단계를 포함한다.
제1 양태의 가능한 구현에서, 미리 구성된 시스템은 중간 가상 파일 시스템이다.
이 실시예에서 제공되는 파일 처리 방법에 따르면, 제1 파티션의 파일이 수정되지 않을 때 비상 패치를 업그레이드하기 위해서, 시스템이 가상 파일 시스템을 사용하여 파일 점프 액세스(file jump access)를 구현하는 것이 편리하다.
제2 양태에 따르면, 본 개시 내용의 실시예는 패치 업그레이드 기반 파일 처리 장치를 제공하는데, 이 장치는: 파일 액세스 요청을 수신하도록 구성된 수신 모듈 - 파일 액세스 요청은 저장 경로 정보를 포함함 -; 저장 경로 정보가 제1 파티션을 표시할 때, 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있는 연관 관계에 존재하는지를 결정하도록 구성되는 결정 모듈 - 패치 업그레이드 파일 경로 정보는 미리 구성된 시스템에 있음 -; 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있는 연관 관계에 존재할 때 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득하도록 연관 관계에 질의하게 구성된 제1 획득 모듈; 및 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 획득하도록 구성된 제2 획득 모듈을 포함한다.
동일한 개시 내용 개념에 기초하여, 장치의 문제 해결 원리 및 유리한 효과들에 대해, 제1 양태, 제1 양태의 가능한 구현들, 및 제1 양태 그리고 제1 양태의 가능한 구현들에 의해 달성되는 유리한 효과들을 참조한다. 또한, 장치의 구현들에 대해서는, 방법의 구현들을 참조한다. 세부 사항은 여기서 다시 설명되지 않는다.
제3 양태에 따르면, 본 개시 내용의 실시예는 적어도 하나의 프로세서; 및 적어도 하나의 메모리를 포함하는 단말기를 제공하며, 적어도 하나의 메모리는, 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금 적어도: 파일 액세스 요청을 수신하고 - 파일 액세스 요청은 저장 경로 정보를 포함함 -; 저장 경로 정보가 제1 파티션을 표시할 때, 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있는 연관 관계에 존재하는지를 결정하고 - 패치 업그레이드 파일 경로 정보는 미리 구성된 시스템에 있음 -; 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있는 연관 관계에 존재할 때 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득하기 위해 연관 관계에 질의하고; 및 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 획득하도록 야기하는 명령어들을 포함한다.
프로세서는 제1 양태의 방법에서 설계된 해결책을 구현하기 위해서, 메모리에 저장된 명령어를 호출한다. 단말기의 문제 해결 구현들 및 유리한 효과들에 대해서는, 제1 양태, 제1 양태의 가능한 구현들, 및 제1 양태 그리고 제1 양태의 가능한 구현들의 유리한 효과들을 참조한다. 또한, 단말기의 구현들에 대해서는, 방법의 구현들을 참조한다. 세부 사항은 여기서 다시 설명되지 않는다.
제4 양태에 따르면, 본 개시 내용의 실시예는 컴퓨터 실행 명령어를 포함하는 비휘발성 컴퓨터 판독 가능 저장 매체를 제공하고, 여기서 컴퓨터 실행 명령어는 단말기가 제1 양태에 따른 방법을 수행할 수 있게 하는 데 사용된다. 세부 사항은 여기에 설명되지 않는다.
본 개시 내용의 실시예들에서 제공되는 패치 업그레이드 기반 파일 처리 방법 및 장치, 단말기, 및 저장 매체에 따르면, 단말기가 파일 액세스 요청을 수신한 후에, 파일 액세스 요청의 저장 경로 정보가 제1 파티션을 표시할 때, 단말기는 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 저장 경로 정보가 존재하는지를 먼저 결정한다. 저장 경로 정보가 연관 관계에 존재하는 경우, 단말기는, 연관 관계에 따라, 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득하고, 이후 패치 업그레이드 파일 경로 정보에 따라 대응하는 패치 업그레이드 파일을 액세스하고 획득한다. 이러한 파일 처리 방식에 기초하여, 원본 파일이 액세스될 때, 단말기는 경로 정보에 따라 패치 파일에 액세스하여, 소프트웨어 패치 업그레이드를 구현한다. 실시예들에서의 패치 패키지는 비상 버그를 고치기 위해 사용되는 패치 파일을 포함할 수 있다. 따라서, 패치 패키지는 상대적으로 작고, 단말기는 패치 패키지의 경로 정보를 신속하게 획득할 수 있고, 원본 파일이 액세스될 때 경로 정보에 따라 패치 파일에 직접 액세스하여 업그레이드 속도가 빨라지도록 한다. 또한, 초기 버전들에 대해 다수의 업그레이드 패키지를 준비할 필요가 없어서, 작업 부하가 작아지도록 한다.
본 개시 내용의 실시예들에서의 기술적 해결책들을 더 명확하게 설명하기 위해, 이하에서는 실시예들을 설명하기 위한 첨부 도면들을 간단히 설명한다. 명백하게, 이하 설명에서의 첨부 도면들은 본 개시 내용의 일부 실시예들을 도시하고, 본 기술 분야의 통상의 기술자는 창의적 노력 없이도 이러한 첨부 도면들로부터 다른 도면들을 여전히 도출할 수 있다.
도 1은 기존 차분 패키지 업그레이드 모드의 개략적인 모드 다이어그램이다;
도 2는 기존 차분 패키지 업그레이드 모드의 또 다른 개략적인 모드 다이어그램이다;
도 3은 본 개시 내용에 따른 단말기의 시스템 아키텍처의 개략도이다;
도 4는 본 개시 내용에 따른 패치 업그레이드 기반 파일 처리 방법의 실시예 1의 개략적인 흐름도이다;
도 5는 본 개시 내용에 따른 파일 패치 업그레이드를 위한 시스템의 개략적인 구조도이다;
도 6은 본 개시 내용에 따른 패치 업그레이드 기반 파일 처리 방법의 실시예 2의 개략적인 흐름도이다;
도 7은 본 개시 내용에 따른 패치 업그레이드 기반 파일 처리 장치의 실시예 1의 개략적인 구조도이다;
도 8은 본 개시 내용에 따른 패치 업그레이드 기반 파일 처리 장치의 실시예 2의 개략적인 구조도이다; 및
도 9는 본 개시 내용에 따른 단말기의 개략적인 구조도이다.
본 개시 내용의 실시예들의 목적, 기술적 해결책, 및 장점을 더 분명하게 하기 위해, 이하에서는 본 개시 내용의 실시예들에서의 첨부 도면들을 참조하여 본 개시 내용의 실시예들에서의 기술적 해결책들을 명확하고 완전하게 설명한다. 명백하게, 설명된 실시예들은 본 개시 내용의 실시예들의 전부가 아니라 일부이다. 창의적 노력 없이 본 개시 내용의 실시예들에 기초하여 본 기술 분야의 통상의 기술자에 의해 획득되는 다른 모든 실시예들은 본 개시 내용의 보호 범위 내에 속할 것이다.
본 개시 내용의 실시예들에서, 단말기는 사용자 장비(User Equipment, 줄여서 UE), 이동국(Mobile Station, 줄여서 MS), 모바일 단말기(Mobile Terminal), 컴퓨터, 마이크로컴퓨터, 전자 디바이스 등으로서 지칭될 수 있다는 점을 이해해야 한다. 단말기는 무선 액세스 네트워크(Radio Access Network, 줄여서 RAN)를 사용하여 하나 이상의 코어 네트워크와 통신할 수 있다. 예를 들어, 단말기는 이동 전화("셀룰러" 전화라고도 함) 및 모바일 단말기를 갖는 컴퓨터일 수 있거나, 또는 무선 액세스 네트워크와 음성 및/또는 데이터를 교환하는 휴대용, 포켓 크기, 핸드헬드, 컴퓨터 내장형, 또는 차량 내 이동 장치일 수 있다. 이것은 본 개시 내용에서 제한되지 않는다. 예를 들어, 단말기는 다중 캐리어 특징을 갖는 유선 액세스 단말기(wired-access terminal)를 추가로 포함할 수 있다.
도 3은 본 개시에 따른 단말기의 시스템 아키텍처의 개략도이다. 도 3에 도시된 바와 같이, 단말기는 애플리케이션 계층에서의 애플리케이션 모듈, 커널에서의 가상 파일 시스템(Virtual File System, 줄여서 VFS), 중간 가상 파일 시스템(sdcardfs 또는 patchfs와 같은 것), 및 하드 디스크에서의 다양한 저장 파티션을 포함한다. 다양한 저장 파티션(데이터 파티션, 패치 파티션, 및 시스템 파티션)은, 제4 확장된 파일 시스템(Fourth extended filesystem, 줄여서 EXT4) 또는 또 다른 파일 시스템을 이용하여, 시스템을 실행하기 위한 다양한 파일을 저장한다. 애플리케이션 계층에 있는 애플리케이션 모듈이 파일들에 액세스할 때, VFS는 파일들에 직접 액세스하거나, 또는 중간 가상 파일 시스템을 이용하여 파일들에 액세스할 수 있고, 파일들을 애플리케이션 모듈에 피드백할 수 있다.
도 4는 본 개시에 따른 패치 업그레이드 기반 파일 처리 방법의 실시예 1의 개략적인 흐름도이다. 이 실시예는 패치 업그레이드 기반 파일 처리 장치 또는 단말기에 의해 수행될 수 있다. 도 4에 도시된 바와 같이, 이 실시예에서 제공되는 방법은 이하의 단계들을 포함한다.
단계 S101: 파일 액세스 요청을 수신하고, 여기서 파일 액세스 요청은 저장 경로 정보를 포함한다.
구체적으로, 파일에 액세스할 때, 애플리케이션 계층에서의 애플리케이션 프로그램은 파일 액세스 요청을 단말기에서의 공통 파일 액세스 인터페이스(VFS)에 전송한다. 파일 액세스 요청은 저장 경로 정보, 즉, 애플리케이션 프로그램이 액세스하려고 의도하는 파일이 저장된 경로를 포함한다. 저장 경로 정보를 수신한 후, VFS는 애플리케이션 프로그램을 위해, 애플리케이션 프로그램이 액세스하려고 의도하는 파일을 제공할 수 있다.
단계 S102. 저장 경로 정보가 제1 파티션을 표시하는 경우, 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 존재하는지를 결정한다.
구체적으로, 이 실시예에서, 패치 업그레이드 파일을 획득한 후에, 단말기는 파티션에 패치 업그레이드 파일을 저장한 다음, 미리 구성된 시스템의 경로 테이블에, 원본 파일 경로 정보(즉, 원본 파일이 저장된 경로)와 패치 업그레이드 파일 경로 정보(즉, 패치 업그레이드 파일이 저장된 경로) 사이의 연관 관계를 저장할 수 있다. 미리 구성된 시스템은 중간 가상 파일 시스템, 예를 들어, overleyfs, sdcardfs, 또는 patchfs와 같은 파일 시스템일 수 있다.
저장 경로 정보를 수신한 후, VFS는 저장 경로 정보에 의해 표시된 파티션을 알 수 있다. 저장 경로 정보가 제1 파티션(버그를 갖는 원본 파일이 위치한 파티션)을 표시하는 경우, 이것은 저장 경로 정보에 대응하는 액세스될 파일이 버그를 갖는 원본 파일일 수 있다는 것을 의미한다. 이 경우, VFS는 먼저 미리 구성된 시스템에 액세스하고, 경로 테이블에 질의하고, 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 저장 경로 정보가 존재하는지를 결정하여서, 저장 경로 정보에 대응하는 액세스될 파일이 버그를 갖는 원본 파일인지를 결정하도록 한다.
단계 S103: 저장 경로 정보가 연관 관계에 존재하는 경우, 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 질의하여, 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득한다.
저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이의 연관 관계에 존재하는 경우, 이것은 저장 경로 정보에 대응하는 액세스될 파일이 버그를 갖는 원본 파일임을 표시한다. 이 경우, 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보는 패치 업그레이드 파일에 액세스하기 위해서 연관 관계에 따라 획득된다. 대안적으로, 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이의 연관 관계에 존재하지 않는 경우, 이것은 저장 경로 정보에 대응하는 액세스될 파일이 버그를 갖는 원본 파일이 아님을 표시한다. 이 경우, 제1 파티션에서의 대응하는 파일은 저장 경로 정보에 따라 직접 액세스될 수 있다.
단계 S104: 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터, 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 획득한다.
저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득한 후, VFS는 패치 업그레이드 파일 경로 정보에 따라 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터 패치 업그레이드 파일 경로 정보에 매칭되는 패치 업그레이드 파일을 획득하고, 애플리케이션 프로그램에 대해 패치 업그레이드 파일을 제공할 수 있다.
타겟 파티션은 구체적으로 제1 파티션 일 수 있거나, 또는 제1 파티션과 상이한 또 다른 파티션일 수 있다. 제1 파티션은 구체적으로 시스템 파티션 또는 커스트 파티션(cust partition)일 수 있다. 타겟 파티션은 구체적으로 시스템 파티션, 커스트 파티션, 데이터 파티션, 패치 파티션, RAMFS, 또는 그와 유사한 것일 수 있다.
본 개시 내용의 기술적 해결책들을 더 잘 이해하기 위해, /system/framework/a.jar 및 /cust/preinstalled/public/lib/b.so를 업그레이드하기 위한 예가 이하에서 설명을 위해 사용된다.
도 5는 본 개시 내용에 따른 파일 패치 업그레이드를 위한 시스템의 개략적인 구조도이다. 도 5에 도시된 바와 같이, 시스템 파티션(제1 파티션)에서의 /system/framework/a.jar 파일 및/또는 커스트 파티션(제1 파티션)에서의 /cust/preinstalled/public/lib/b.so 파일은 고쳐질 필요가 있는 비상 버그들을 가지면, 버그들이 고쳐진 패치 파일들은, 패치 파티션(타겟 파티션)에 저장되고 /patch/system/framework/a.jar 및 /patch/cust/preinstalled/public/lib/b.so이다. 시스템 파티션 및 커스트 파티션이 액세스될 때, VFS는 먼저 patchfs(미리 구성된 시스템)에 액세스하고, 경로 테이블에서의 경로 정보 연관 관계에 따라, 애플리케이션 프로그램이 액세스하려고 의도하는 파일의 저장 경로 정보가 특정 경로를 만족하는지(즉, 애플리케이션 프로그램이 액세스하려고 의도하는 파일이 /system/framework/a.jar 또는 /cust/preinstalled/public/lib/b.so인지)를 결정한다. 저장 경로 정보가 특정 경로를 만족하는 경우, VFS는 패치 파티션으로 점프하여, /patch/system/framework/a.jar 또는 /patch/cust/preinstalled/public/lib/b.so에 따라 대응 패치 파일에 액세스한다. 저장 경로 정보가 특정 경로를 만족하지 않는 경우, VFS는 애플리케이션 프로그램이 액세스하려고 의도하는 파일의 저장 경로 정보에 따라 시스템 파티션 또는 커스트 파티션에서의 파일에 액세스한다.
단말기에서의 시스템 파티션 및 커스트 파티션(즉, 제1 파티션)의 대다수의 파일들의 초기 버전들은 거의 절대로 변경되지 않는다. 이후의 버전의 파일은 모든 초기 버전들, 예를 들어, *.so 파일에서 효과적으로 작동할 수 있다. 대안적으로, 파일의 초기 버전이 빈번하게 수정되지만, 파일은 큰 디커플링 호환성(decoupling compatibility)을 가지며, 이후의 버전의 파일, 예를 들어,*.apk 파일로 직접 대체될 수 있다. 즉, 모든 초기 버전들에서의 이러한 파일들은 공통 업데이트된 파일로 대체될 수 있다. 소프트웨어 업그레이드는 일반적으로 시스템 파티션의 파일에 특정적이다. 시스템 파티션의 파일이 업그레이드되는 예가 본 개시 내용의 기술적 해결책들을 예시하기 위해 사용된다.
시스템 파티션의 파일들이 비상 버그들을 가질 때, 종래 기술에서, 파일들은 차분 패키지 업그레이드 모드에서 업그레이드된다. 차분 패키지 업그레이드 모드의 제1 방식에서, 패치를 포함하는 패치 패키지가 최신 버전에 기초하여 배포된다. 이러한 방식으로, 사용자가 현재 버전을 최신 버전으로 업그레이드할 때, 버그는 패치 패키지를 사용하여 고쳐질 수 있다; 따라서, 업그레이드 속도는 매우 느리다. 차분 패키지 업그레이드 모드의 제2 방식에서, 모든 초기 버전들에 기초하여, 패치를 포함하는 최신 버전으로 초기 버전들을 업그레이드하기 위해 사용될 수 있는 업그레이드 패키지들이 배포된다. 이러한 방식으로, 시스템 파티션의 원본 파일이 차분 패키지 업그레이드 모드에서 업그레이드하기 위해 직접 수정되기 때문에, 훨씬 초기 버전에 대해, 패치를 포함하는 차분 패키지를 준비하는 대신에, 초기 버전을 패치를 포함하는 최신 버전으로 업그레이드하기 위해 사용될 수 있는 차분 패키지(즉, 업그레이드 패키지)가, 시스템 파티션의 원본 파일이 패치 업그레이드로 인해 수정되기 때문에 배포된 업그레이드 패키지를 이용하여 초기 버전이 최신 버전으로 업그레이드될 수 없는 경우를 회피하기 위해서, 준비될 필요가 있다. 따라서, 차분 패키지는 비교적 크고, 이는 비교적 느린 업그레이드 속도를 초래한다. 또한, 초기 버전들은 상이한 차분 패키지들에 대응하며, 모든 초기 버전들이 공통 차분 파일에 의해 직접 커버될 수는 없다. 따라서, 다수의 업그레이드 패키지가 초기 버전들에 대해 배포될 필요가 있고, 이는 큰 작업 부하를 초래한다.
이 실시예에서, 단말기의 VFS가 파일 액세스 요청을 수신한 후에, 파일 액세스 요청의 저장 경로 정보가 제1 파티션(즉, 시스템 파티션)을 표시할 때, 단말기는 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 저장 경로 정보가 존재하는지를 먼저 결정한다. 저장 경로 정보가 연관 관계에 존재하는 경우, 단말기는, 연관 관계에 따라, 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득하고, 이후 패치 업그레이드 파일 경로 정보에 따라 대응 패치 업그레이드 파일을 획득한다. 즉, 버그를 갖는 원본 파일이 액세스될 때, 단말기는 패치 업그레이드 파일에 액세스하기 위해 패치 업그레이드 파일이 위치하는 파티션으로 점프할 수 있다. 이러한 파일 처리 방식에 기초하여, 패치 패키지에 포함되는 패치 업그레이드 파일은 직접적으로 업그레이드된 원본 파일일 수 있고, 원본 파일의 경로와 상이한 경로에 저장될 수 있다. 원본 파일이 액세스될 때, 단말기는 획득된 경로 정보에 따라 패치 업그레이드 파일에 직접 액세스하여, 소프트웨어 패치 업그레이드를 구현한다. 단말기는 시스템 파티션의 원본 파일을 수정할 필요가 없다. 따라서, 사용자가 최신 버전으로 초기 버전을 업그레이드할 필요가 있을 때, 사용자는 패치 패키지를 직접 삭제하고, 배포된 차분 패키지를 이용하여 현재 버전을 업그레이드할 수 있어서, 초기 버전이 패치 업그레이드로 인해 배포된 업그레이드 패키지를 이용하여 최신 버전으로 업그레이드될 수 없는 경우를 피하게 된다. 즉, 이 실시예에서, 패치 패키지는 비상 버그를 고치는 데 사용되는 패치 파일을 포함할 수 있다. 또한, 모든 초기 버전들은 동일한 패치 패키지를 사용할 수 있다. 패치 패키지의 패치 파일이 모든 초기 버전들을 커버할 수 있고, 초기 버전들에 대해 다수의 업그레이드 패키지를 준비할 필요가 없다. 따라서, 패치 패키지는 상대적으로 작고, 단말기는 패치 패키지의 경로 정보를 신속하게 획득할 수 있고, 원본 파일이 액세스될 때 획득된 경로 정보에 따라 패치 파일에 직접 액세스하여, 업그레이드 속도가 빠르고 작업 부하가 작아지도록 한다.
이 실시예에서 제공된 패치 업그레이드 기반 파일 처리 방법에 따르면, 단말기가 파일 액세스 요청을 수신한 후, 파일 액세스 요청의 저장 경로 정보가 제1 파티션을 표시할 때, 단말기는 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 저장 경로 정보가 존재하는지를 먼저 결정한다. 저장 경로 정보가 연관 관계에 존재하는 경우, 단말기는, 연관 관계에 따라, 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득하고, 이후 패치 업그레이드 파일 경로 정보에 따라 대응 패치 업그레이드 파일을 획득한다. 이러한 파일 처리 방식에 기초하여, 원본 파일이 액세스될 때, 단말기는 경로 정보에 따라 패치 파일에 액세스하여, 소프트웨어 패치 업그레이드를 구현한다. 이 실시예에서의 패치 패키지는 비상 버그를 고치는 데 사용되는 패치 파일을 포함할 수 있다. 따라서, 패치 패키지는 상대적으로 작고, 단말기는 패치 패키지의 경로 정보를 신속하게 획득할 수 있고, 원본 파일이 액세스될 때 경로 정보에 따라 패치 파일에 직접 액세스하여 업그레이드 속도가 빨라지도록 한다. 또한, 초기 버전들에 대해 다수의 업그레이드 패키지를 준비할 필요가 없어서, 작업 부하가 작아지도록 한다.
도 6은 본 개시 내용에 따른 패치 업그레이드 기반 파일 처리 방법의 실시예 2의 개략적인 흐름도이다. 이 실시예는 도 4에 도시된 실시예에서 액세스된 패치 패키지를 획득하고 처리하는 특정 처리를 도시한다. 도 4에 도시된 실시예에 기초하여, 도 6에 도시된 바와 같이, 단계 S101 전에, 이 실시예의 방법은 이하의 단계들을 추가로 포함한다.
단계 S201: 패치 패키지를 획득한다.
구체적으로, 패치 패키지는 OTA(Over-the-Air) 기술에 기초하여 서버로부터 획득되는 패치 패키지일 수 있거나, 또는 유선 방식으로 (데스크톱 컴퓨터와 같은) 또 다른 디바이스로부터 획득되는 패치 패키지일 수 있다. OTA에 기초하여 패치 패키지를 획득하는 단계는 구체적으로 다음과 같을 수 있다: 단말기는 업그레이드 질의 요청 메시지를 서버에 능동적으로 전송하고; 서버는 요청 메시지에 따라, 단말기의 현재 버전에 부합하는 패치 패키지)가 있는지를 질의하고; 및 단말기의 현재 버전을 부합하는 패치 패키지가 있는 경우, 서버는 패치 패키지를 단말기에 전송한다. 대안적으로, 서버는 브로드캐스트 통지 메시지를 단말기에 능동적으로 전송하여, 업그레이드될 것인지를 단말기에게 프롬프트할 수 있고; 및 단말기가 업그레이드되기를 선택하면, 서버는 패치 패키지를 단말기에 전송한다.
단계 S202: 패치 패키지가 비상 패치 패키지 식별자를 포함하는 경우, 패치 패키지를 제2 파티션에 저장한다.
구체적으로, 패치 패키지는, 또 다른 업그레이드 패키지로부터 패치 패키지를 구별하기 위해, 비상 패치 패키지 식별자를 포함할 수 있다. 예를 들어, 비상 패치 패키지 식별자는 패치(patch)일 수 있다. 단말기가 업그레이드 패키지를 획득한 후, 패치 패키지의 식별자가 패치(patch)인 경우, 단말기는 패치 패키지를 미리 결정된 보안 파티션에 저장한다.
미리 결정된 보안 파티션은 제1 파티션일 수 있거나, 또는 제1 파티션과 상이한 제2 파티션일 수 있다. 시스템 보안을 보장하기 위해, 구글의 검증된 부트(verified boot) 기능을 이용함으로써 시스템 파티션 및 커스트 파티션(즉, 제1 파티션)의 파일들에 대해 체크 보호가 수행될 수 있어서, 시스템 파티션 및 커스트 파티션이 파일들에 의해 업그레이드될 수 없도록 한다. 단말기는 부가적으로 안전한 패치 파티션을 추가하고, 제2 파티션으로서 안전한 패치 파티션을 사용할 수 있다. 패치 패키지를 획득한 후, 단말기는 부가적으로 추가된 패치 파티션에 획득된 패치 패키지를 저장하여, 시스템 보안을 향상시킨다.
구체적으로, 패치 패키지를 획득한 후에, 단말기는 패치 패키지를 캐시 파티션에 저장할 수 있다. 이후, 단말기는 복구 모드에 진입하기 위해 재시작되고, 패치 패키지를 제2 파티션에 저장한다. 단말기는 또한 제2 파티션에 패치 패키지를 직접 저장할 수 있다. 일부 실시예들에서, 단말기는 먼저 패치 패키지를 캐시 파티션에 저장한 다음, 복구 모드에 진입하고, 제2 파티션에 패치 패키지를 저장하여, 시스템 보안을 향상시킨다.
또한, 패치 패키지는 패치 업그레이드 파일을 포함할 수 있다. 패치 패키지가 제2 파티션에 저장된 후에, 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션이 제2 파티션이다. 따라서, 대응하는 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터, 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 획득하는 전술한 단계 104를 구현하기 위한 가능한 방식은 다음과 같다:
제2 파티션으로부터, 상기 패치 업그레이드 파일 경로 정보와 매칭되는 상기 패치 업그레이드 파일을 획득하는 동작을 포함하는 단말기.
이 실시예에서의 패치 패키지의 패치 업그레이드 파일은 기존 풀 이미지 반전 업그레이드 패키지 또는 차분 패키지의 패치 업그레이드 파일과 상이하다는 점에 유의해야 한다. 이 실시예에서의 패치 업그레이드 파일은 업그레이드된 원본 파일, 즉, 버그 고쳐진 원본 파일이다. 패치 패키지의 패치 업그레이드 파일은 기존 시그니처 메커니즘을 이용하여 처리될 수 있다. 즉, 패치 패키지가 안전 파티션에 기입될 때 패치 패키지에 대해 시그니처 검사(signature checking)가 수행된다. 물론, 패치 패키지는 또 다른 기존의 패키징 기술을 이용하여 처리될 수도 있다. 이것은 여기서 제한되지 않는다.
단계 S203: 패치 패키지가 파라미터 수정 스크립트를 포함하는 경우, 처리를 위해 제1 파티션으로부터 원본 파일을 획득하고, 제2 파티션에 패치 업그레이드 파일을 생성한다.
시스템 파티션의 모든 버전들의 파일들의 작은 양은 공통 패치 파일로 대체될 수 없지만, 파일들의 특정 콘텐츠는 파싱 진술(parsing statement), 예를 들어, *.xml 파일, *.prop 파일, 및 *.txt 파일을 이용하여 직접 수정될 수 있다. build.prop 파일이 일례로서 사용된다. 파일은 모든 버전의 버전 번호 정보를 포함한다. 따라서, 모든 초기 버전들에서의 build.prop은 새로운 build.prop으로 대체될 수 없지만, 파일은 파일의 하나의 prop 아이템을 수정하기 위해 직접 파싱될 수 있다.
이 경우, 이 실시예에서, 패치 패키지는 파라미터 수정 스크립트를 포함할 수 있다. 원본 파일의 수정될 파라미터는 파라미터 수정 스크립트를 이용하여 수정되어 새로운 파일(즉, 패치 업그레이드 파일)을 생성한다.
구체적으로, 단말이 제2 파티션의 패치 패키지를 저장한 후에, 단말기가 시작될 때마다, 제2 파티션은 제2 파티션의 파일을 유효화하기 위해 마운트 커맨드를 이용하여 init 프로세스에서 장착될 수 있다. 다음으로, 단말기는 패치 패키지의 파일을 판독할 수 있다. 패치 패키지가 파라미터 수정 스크립트를 포함한다는 것을 발견할 때, 단말기는 처리를 위해 제1 파티션으로부터 원본 파일을 획득하고, 제2 파티션에 패치 업그레이드 파일을 생성한다. 보다 구체적으로, 단말기가 파라미터 수정 스크립트를 수행하고 패치 업그레이드 파일을 생성하는 프로세스는 다음과 같다: 단말기는 먼저 원본 파일이 위치하는 제1 파티션을 장착하고, 제1 파티션의 원본 파일을 판독하고, 이후 원본 파일을 파싱하고, 및 원본 파일의 파라미터 정보를 획득한다. 파라미터 정보의 수정될 파라미터를 발견한 후에, 단말기는 파라미터 정보의 수정될 파라미터를 수정하고, 이후 패치 업그레이드 파일을 생성한다.
패치 업그레이드 파일이 생성된 후, 패치 업그레이드 파일은 데이터 파티션, 패치 파티션, 또는 RAMFS에 저장될 수 있다. 데이터 파티션의 데이터는 변경하기가 쉽다. 따라서, 시스템 보안을 보장하기 위해, 패치 업그레이드 파일은 패치 파티션 또는 RAMFS에 저장될 수 있다. RAMFS에 패치 업그레이드 파일을 저장하는 방식은, 시스템의 판독 전용 파티션(즉, 패치 파티션)에 대해 체크 보호가 수행되는 구글 M과 같은 버전에 적용가능하다. RAMFS의 파일은 시스템 시동 동안 사라지고, 이러한 방식으로, 단말기가 시작될 때마다, 새로운 파일이 자동으로 생성되고 RAMFS에 저장된다. 단말기가 구글 M의 버전을 사용하지 않는 경우, 단말기는 패치 파티션에 패치 업그레이드 파일을 직접 저장할 수 있고, 단말기가 시작될 때마다 패치 파티션을 로드할 수 있다.
일부 실시예들에서, 생성된 패치 업그레이드 파일은 시스템 보안을 추가로 개선하기 위해 제3 파티션(즉, RAMFS)에 저장된다. 이 경우에, 대응하는 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터, 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 획득하는 전술한 단계 S104를 구현하기 위한 또 다른 가능한 방식은 다음과 같다:
상기 패치 업그레이드 파일 경로 정보와 매칭되는 상기 패치 업그레이드 파일을 상기 제3 파티션으로부터 획득하는 동작을 포함한다.
이 실시예에서, 패치 패키지는 패치 업그레이드 파일 또는 파라미터 수정 스크립트를 포함할 수 있거나, 또는 파라미터 수정 스크립트 및 패치 업그레이드 파일 둘 다를 포함할 수 있다. 패치 패키지는 실제 요건에 따라 구체적으로 준비된다.
단계 S204: 미리 구성된 시스템에, 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 제2 파티션의 패치 패키지에 있는 연관 관계를 저장한다.
패치 패키지는 패치 업그레이드 파일에 대응하는 원본 파일의 경로 정보(즉, 원본 파일이 저장되는 경로)를 포함할 수 있다. 패치 패키지를 제2 파티션에 저장한 후에, 단말기는 패치 패키지의 패치 업그레이드 파일에 대응하는 원본 파일의 경로 정보를 판독할 수 있고, 패치 업그레이드 파일이 저장되는 위치에 따라 패치 업그레이드 파일 경로 정보(즉, 패치 업그레이드 파일이 저장되는 경로)를 획득할 수 있다. 확실히, 패치 업그레이드 파일 경로 정보는 패치 패키지에 직접 캡슐화될 수 있다. 패치 패키지를 획득한 후, 단말기는 패치 패키지를 대응하는 위치에 저장한 다음, 패치 패키지를 판독하여 모든 경로 정보를 획득한다.
원본 파일 경로 정보 및 패치 업그레이드 파일 경로 정보를 획득한 후, 단말기는 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이의 연관 관계를 미리 구성된 시스템에 저장할 수 있다. 미리 구성된 시스템은 후속 파일 점프 액세스를 위해 사용되는 중간 가상 파일 시스템이다.
overleyfs 기술 또는 sdcardfs 기술을 사용하여 구현되는 중간 가상 파일 시스템과 같은 기존의 중간 가상 파일 시스템은 대응하는 파티션 연관 관계를 갖는다. 시스템 설계 및 파일 점프 액세스를 용이하게 하기 위해, 단말기는 시스템에 중간 가상 파일 시스템 patchfs를 직접 부가적으로 추가할 수 있고, 이 실시예에서 중간 가상 파일 시스템 patchfs를 미리 구성된 시스템으로서 사용할 수 있고, 이후 patchfs를 시스템 파티션과 연관시킬 수 있다. 원본 파일 경로 정보 및 패치 업그레이드 파일 경로 정보를 획득한 후, 단말기는 patchfs를 장착하고, 그 경로 정보를 패치들에 대응하는 메모리의 경로 테이블에 저장한다. 원본 파일이 액세스될 때, 단말기는, 경로 테이블을 이용하여, 타겟 파티션의 파일에 액세스하도록 안내될 수 있다. patchfs는 기존의 overleyfs 기술 또는 sdcardfs 기술을 사용하여 구현될 수 있다.
단계 S204와 단계 S203 사이에는 엄격한 시간 시퀀스가 없다는 점에 유의해야 한다. 단계 S204는 단계 S203 이전에 수행될 수 있다. 단계 S203 및 S204를 수행하는 구체적인 시퀀스는 이 실시예에서 제한되지 않는다.
이 실시예에서 제공되는 패치 업그레이드 기반 파일 처리 방법에 따르면, 단말기가 패치 패키지를 획득한 후에, 패치 패키지가 비상 패치 패키지 식별자를 포함하는 경우, 단말기는 제2 파티션에 패치 패키지를 저장하고, 이후 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 제2 파티션의 패치 패키지에 있는 연관 관계를 저장하여, 비상 버그를 고치는데 사용되는 패치 패키지를 제2 파티션 및 미리 구성된 시스템을 이용하여 유효화한다. 이 실시예의 기술적 해결책에서, 패치 패키지는 제2 파티션에 저장되어, 시스템 보안이 향상되도록 한다. 또한, 패치 패키지가 제2 파티션에 저장된 후에, 패치 패키지가 파라미터 수정 스크립트를 포함하는지가 결정되어, 파싱 가능 파일의 파라미터가 버그를 고치기 위해 파라미터 수정 스크립트를 이용하여 수정될 수 있고, 이 실시예는 더 넓은 범위에 적용 가능하다.
도 7은 본 개시 내용에 따른 패치 업그레이드 기반 파일 처리 장치의 실시예 1의 개략적인 구조도이다. 이 실시예에서 제공되는 장치는 단말기에 통합될 수 있다. 도 7에 도시된 바와 같이, 이 실시예에서 제공되는 장치는 다음을 포함한다:
파일 액세스 요청을 수신하도록 구성된 수신 모듈(110) - 파일 액세스 요청은 저장 경로 정보를 포함함 -;
결정 모듈(120) - 결정 모듈은, 저장 경로 정보가 제1 파티션을 표시하는 경우, 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 존재하는지를 결정하도록 구성됨 -;
제1 획득 모듈(130) - 제1 획득 모듈은, 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 존재하는 경우, 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 질의하여, 저장 경로에 대응하는 패치 업그레이드 파일 경로 정보를 획득하도록 구성됨 -; 및
제2 획득 모듈(140) - 제2 획득 모듈은, 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터, 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 획득하도록 구성됨 -.
이 실시예에서 제공되는 장치는 전술한 방법 실시예들을 수행할 수 있고, 장치의 구현 원리들 및 기술적 효과들은 유사하며, 여기서 다시 설명되지 않는다.
도 8은 본 개시에 따른 패치 업그레이드 기반 파일 처리 장치의 실시예 2의 개략적인 구조도이다. 이 실시예는 도 7에 도시된 실시예에서의 장치의 기능들을 추가로 설명한다. 도 7에 도시된 실시예에 기초하여, 도 8에 도시된 바와 같이, 이 실시예에서의 장치는 다음을 추가로 포함한다:
패치 패키지를 획득하도록 구성된 제3 획득 모듈(150); 및
패치 패키지가 비상 패치 패키지 식별자를 포함하는 경우, 제2 파티션에 패치 패키지를 저장하도록 구성된 제1 저장 모듈(160) -
제2 획득 모듈(140)은 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 제2 파티션으로부터 획득하도록 구체적으로 구성됨 -.
선택적으로, 이 실시예에서의 장치는: 패치 패키지가 파라미터 수정 스크립트를 포함하는 경우, 파라미터 수정 스크립트를 수행하고, 원본 파일이 제1 파티션으로부터 획득되고 처리된 후에, 제2 파티션에 패치 업그레이드 파일을 생성하도록 구성된 생성 모듈(170)을 추가로 포함한다.
본 개시 내용의 가능한 구현에서, 이 실시예에서의 장치는: 생성된 패치 업그레이드 파일을 제3 파티션에 저장하도록 구성된 제2 저장 모듈(180)을 추가로 포함한다. 제2 획득 모듈(140)은 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 제3 파티션으로부터 획득하도록 구체적으로 구성된다.
선택적으로, 이 실시예에서의 장치는, 미리 구성된 시스템에, 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 제2 파티션의 패치 패키지에 있는 연관 관계를 저장하도록 구성된 제3 저장 모듈(190)을 추가로 포함한다.
이 실시예에서 제공되는 장치는 전술한 방법 실시예들을 수행할 수 있고, 장치의 구현 원리들 및 기술적 효과들은 유사하며, 여기서 다시 설명되지 않는다.
도 9는 본 개시에 따른 단말기의 개략적인 구조도이다. 도 9에 도시된 바와 같이, 이 실시예에서의 단말기는 적어도 하나의 프로세서(210), 메모리(220), 적어도 하나의 네트워크 인터페이스(230) 또는 또 다른 사용자 인터페이스(240), 적어도 하나의 통신 버스(250), 및 단말기의 스크린을 표시하도록 구성된 하드웨어 디바이스(260)를 포함한다.
통신 버스(250)는 컴포넌트들 사이의 접속 및 통신을 구현하도록 구성된다. 단말기는 디스플레이(예를 들어, 터치스크린, LCD, CRT, 홀로그래픽 이미징(Holographic Imaging), 또는 프로젝터(Projector)), 키보드, 또는 클릭 디바이스(예를 들어, 마우스, 트랙볼(trackball), 터치 패드, 또는 터치스크린)를 포함하는 사용자 인터페이스(240)를 선택적으로 포함한다.
메모리(220)는 판독 전용 메모리(read-only memory) 및 랜덤 액세스 메모리를 포함할 수 있고, 프로세서(210)에 대한 명령어 및 데이터를 제공할 수 있다.
일부 구현들에서, 메모리(220)는 다음의 요소들, 실행 가능 모듈 또는 데이터 구조, 또는 이들의 부분 집합, 또는 그 확장된 세트:
다양한 기본 서비스들을 구현하고 하드웨어 기반 작업들을 처리하는 데 사용되는 다양한 시스템 프로그램들을 포함하는 운영 체제(221); 및
다양한 애플리케이션 프로그램, 예를 들어, 도 1에 도시된 CA 및 TA를 포함하고, 또한 다양한 애플리케이션 서비스를 구현하도록 구성된 애플리케이션 프로그램 모듈(222)을 포함한다.
단말기의 스크린을 표시하도록 구성된 하드웨어 디바이스(260)는 디스플레이 메모리, 디스플레이 디바이스, 터치 스크린 등을 포함할 수 있다.
도 7에 도시된 장치의 모든 모듈들이 이 실시예에서 프로세서(210)의 컴포넌트들일 수 있다는 것을 이해할 수 있다. 프로세서(210)는, 도 7에 도시된 장치의 모든 모듈들의 기능들을 구현하기 위해서, 메모리(220)의 프로그램 또는 명령어를 실행한다.
본 개시 내용의 이 실시예에서, 프로세서(210)는 메모리(220)에 저장된 프로그램 또는 명령어를 호출하여:
파일 액세스 요청을 수신하고 - 파일 액세스 요청은 저장 경로 정보를 포함함 -;
저장 경로 정보가 제1 파티션을 표시하는 경우, 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 존재하는지를 결정하고;
원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 저장 경로 정보가 존재하면, 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 질의하여, 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득하고; 및
대응 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터, 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 획득하도록 된다.
동일한 개시 내용 개념에 기초하여, 단말기의 문제 해결 원리는 본 개시 내용의 방법 실시예에서의 통신 방법과 유사하다. 따라서, 단말기의 구현들에 대해서는, 방법의 구현들을 참조하는데, 예를 들어, 패치 패키지를 획득하는 단계, 제2 파티션에서 패치 업그레이드 파일을 생성하는 단계, 및/또는 본 개시 내용의 방법 실시예에서 설명되는 기술의 또 다른 프로세스를 참조한다. 예를 들어, 프로세서(1103)는 도 4의 프로세스에서 S101 내지 S104 및 도 6의 프로세스에서 S201 내지 S204를 수행하도록 구성된다. 메모리(1104)는 단말기에 대한 프로그램 코드 및 데이터를 저장하도록 구성된다. 세부 사항은 여기에 설명되지 않는다.
이 실시예에서 제공된 단말기에 따르면, 단말기가 파일 액세스 요청을 수신한 후에, 파일 액세스 요청의 저장 경로 정보가 제1 파티션을 표시할 때, 단말기는 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 미리 구성된 시스템에 있는 연관 관계에 존재하는지를 먼저 결정한다. 저장 경로 정보가 연관 관계에 존재하는 경우, 단말기는, 연관 관계에 따라, 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득하고, 이후 액세스하는 것에 의해 패치 업그레이드 파일 경로 정보에 따라 대응 패치 업그레이드 파일을 획득한다. 이러한 파일 처리 방식에 기초하여, 원본 파일이 액세스될 때, 단말기는 경로 정보에 따라 패치 파일에 액세스하여, 소프트웨어 패치 업그레이드를 구현한다. 이 실시예에서 패치 패키지는 비상 버그를 고치기 위해 사용되는 패치 파일을 포함할 수 있어서, 패치 패키지는 비교적 작게 된다. 단말기는 패치 패키지의 경로 정보를 신속히 획득할 수 있고, 원본 파일이 액세스될 때, 경로 정보에 따라 패치 파일에 직접 액세스하여, 업그레이드 속도가 높아지도록 한다. 또한, 초기 버전들에 대한 다수의 업그레이드 패키지를 준비할 필요가 없어서, 작업 부하가 작게 되도록 한다.
본 개시 내용의 실시예는 하나 이상의 프로그램을 저장하는 비휘발성 컴퓨터 판독 가능 저장 매체를 제공하고, 여기서 하나 이상의 프로그램은 명령어를 포함하고, 명령어가 단말기에 의해 실행될 때, 단말기는 전술한 방법을 수행한다.
본 기술 분야의 통상의 기술자는 방법 실시예들의 단계들의 전부 또는 일부가 관련 하드웨어에 지시하는 프로그램에 의해 구현될 수 있다는 것을 이해할 수 있다. 프로그램은 비휘발성 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 프로그램이 실행될 때, 방법 실시예들의 단계들이 수행된다. 전술한 저장 매체는: ROM, RAM, 자기 디스크, 또는 광학 디스크와 같은, 프로그램 코드를 저장할 수 있는 임의의 매체를 포함한다.
마지막으로, 전술한 실시예들은 본 개시 내용을 제한하기 위한 것이 아니라, 본 개시 내용의 기술적 해결책들을 설명하기 위한 것일 뿐이라는 점에 유의해야 한다. 본 개시 내용이 전술한 실시예들을 참조하여 상세히 설명되지만, 본 기술 분야의 통상의 기술자는 본 개시 내용의 실시예들의 기술적 해결책들의 범위로부터 벗어나지 않고, 여전히 전술한 실시예들에 설명된 기술적 해결책들에 대한 수정을 만들거나 또는 그의 일부 또는 모든 기술적 특징들에 대한 등가의 대체물을 만들 수 있다는 것을 이해해야 한다.

Claims (16)

  1. 패치 업그레이드 기반(patch-upgrade-based) 파일 처리 방법으로서:
    파일 액세스 요청을 수신하는 단계 - 상기 파일 액세스 요청은 저장 경로 정보를 포함함 -;
    상기 저장 경로 정보가 제1 파티션을 표시할 때, 상기 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있는 연관 관계에 존재하는지를 결정하는 단계 - 상기 패치 업그레이드 파일 경로 정보는 미리 구성된 시스템에 있음 -;
    상기 저장 경로 정보가 상기 원본 파일 경로 정보와 상기 패치 업그레이드 파일 경로 정보 사이에 있는 상기 연관 관계에 존재할 때 상기 연관 관계에 질의하여 상기 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득하는 단계; 및
    상기 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터, 상기 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 획득하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 파일 액세스 요청을 수신하는 단계 전에, 상기 방법은:
    패치 패키지를 획득하는 단계; 및
    상기 패치 패키지가 비상 패치 패키지 식별자를 포함할 때 상기 패치 패키지를 제2 파티션에 저장하는 단계 -
    상기 획득 동작은:
    상기 제2 파티션으로부터, 상기 패치 업그레이드 파일 경로 정보와 매칭되는 상기 패치 업그레이드 파일을 획득하는 동작을 포함함 - 를 추가로 포함하는 방법.
  3. 제2항에 있어서, 상기 저장 동작 후에, 상기 방법은:
    상기 패치 패키지가 파라미터 수정 스크립트를 포함하는 경우, 처리를 위해 상기 제1 파티션으로부터 원본 파일을 획득하고, 상기 패치 업그레이드 파일을 상기 제2 파티션에 생성하는 단계를 추가로 포함하는 방법.
  4. 제3항에 있어서, 상기 생성 동작 후에, 상기 방법은:
    상기 생성된 패치 업그레이드 파일을 제3 파티션에 저장하는 단계를 추가로 포함하고; 및
    상기 획득 동작은:
    상기 패치 업그레이드 파일 경로 정보와 매칭되는 상기 패치 업그레이드 파일을 상기 제3 파티션으로부터 획득하는 동작을 포함하는 방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서, 상기 패치 패키지를 제2 파티션에 저장하는 단계 후에, 상기 방법은:
    원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 상기 제2 파티션의 상기 패치 패키지에 있는 연관 관계를 상기 미리 구성된 시스템에 저장하는 단계를 추가로 포함하는 방법.
  6. 패치 업그레이드 기반 파일 처리 장치로서:
    파일 액세스 요청을 수신하도록 구성된 수신 모듈 - 상기 파일 액세스 요청은 저장 경로 정보를 포함함 -;
    상기 저장 경로 정보가 제1 파티션을 표시할 때, 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있는 연관 관계에 상기 저장 경로 정보가 존재하는지를 결정하도록 구성된 결정 모듈 - 상기 패치 업그레이드 파일 경로 정보는 미리 구성된 시스템에 있음 -;
    상기 저장 경로 정보가 상기 원본 파일 경로 정보와 상기 패치 업그레이드 파일 경로 정보 사이에 있는 상기 연관 관계에 존재할 때 상기 연관 관계에 질의하여 상기 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득하도록 구성된 제1 획득 모듈; 및
    상기 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터, 상기 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 획득하도록 구성된 제2 획득 모듈을 포함하는 패치 업그레이드 기반 파일 처리 장치.
  7. 제6항에 있어서, 상기 패치 업그레이드 기반 파일 처리 장치는:
    패치 패키지를 획득하도록 구성된 제3 획득 모듈; 및
    상기 패치 패키지가 비상 패치 패키지 식별자를 포함할 때, 상기 패치 패키지를 제2 파티션에 저장하도록 구성된 제1 저장 모듈을 추가로 포함하고,
    상기 제2 획득 모듈은 상기 패치 업그레이드 파일 경로 정보와 매칭되는 상기 패치 업그레이드 파일을 상기 제2 파티션으로부터 획득하도록 구체적으로 구성된 패치 업그레이드 기반 파일 처리 장치.
  8. 제7항에 있어서, 상기 패치 업그레이드 기반 파일 처리 장치는:
    상기 패치 패키지가 파라미터 수정 스크립트를 포함하는 경우, 상기 파라미터 수정 스크립트를 수행하고, 및 원본 파일이 상기 제1 파티션으로부터 획득되고 처리된 후에, 상기 제2 파티션에 상기 패치 업그레이드 파일을 생성하도록 구성된 생성 모듈을 추가로 포함하는 패치 업그레이드 기반 파일 처리 장치.
  9. 제8항에 있어서, 상기 패치 업그레이드 기반 파일 처리 장치는:
    상기 생성된 패치 업그레이드 파일을 제3 파티션에 저장하도록 구성된 제2 저장 모듈을 추가로 포함하고,
    상기 제2 획득 모듈은 상기 패치 업그레이드 파일 경로 정보와 매칭되는 상기 패치 업그레이드 파일을 상기 제3 파티션으로부터 획득하도록 구체적으로 구성된 패치 업그레이드 기반 파일 처리 장치.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서, 상기 패치 업그레이드 기반 파일 처리 장치는, 상기 미리 구성된 시스템에, 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 상기 제2 파티션의 패치 패키지에 있는 연관 관계를 저장하도록 구성된 제3 저장 모듈을 추가로 포함하는 패치 업그레이드 기반 파일 처리 장치.
  11. 적어도 하나의 프로세서 및 적어도 하나의 메모리를 포함하는 단말기로서, 상기 적어도 하나의 메모리는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 장치로 하여금, 적어도:
    파일 액세스 요청을 수신하고 - 상기 파일 액세스 요청은 저장 경로 정보를 포함함 -;
    상기 저장 경로 정보가 제1 파티션을 표시할 때, 상기 저장 경로 정보가 원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있는 연관 관계에 존재하는지를 결정하고 - 상기 패치 업그레이드 파일 경로 정보는 미리 구성된 시스템에 있음 -;
    상기 저장 경로 정보가 상기 원본 파일 경로 정보와 상기 패치 업그레이드 파일 경로 정보 사이에 있는 상기 연관 관계에 존재할 때 상기 연관 관계에 질의하여 상기 저장 경로 정보에 대응하는 패치 업그레이드 파일 경로 정보를 획득하고; 및
    상기 패치 업그레이드 파일 경로 정보에 의해 표시되는 타겟 파티션으로부터, 상기 패치 업그레이드 파일 경로 정보와 매칭되는 패치 업그레이드 파일을 획득하도록 야기하는 명령어들을 포함하는 단말기.
  12. 제11항에 있어서, 상기 프로세서는:
    패치 패키지를 획득하고; 및
    상기 패치 패키지가 비상 패치 패키지 식별자를 포함할 때, 상기 패치 패키지를 제2 파티션에 저장하도록 추가로 구성되고;
    상기 획득 동작은:
    상기 제2 파티션으로부터, 상기 패치 업그레이드 파일 경로 정보와 매칭되는 상기 패치 업그레이드 파일을 획득하는 동작을 포함하는 단말기.
  13. 제12항에 있어서, 상기 프로세서는:
    상기 패치 패키지가 파라미터 수정 스크립트를 포함하는 경우, 처리를 위해 상기 제1 파티션으로부터 원본 파일을 획득하고, 상기 제2 파티션에 상기 패치 업그레이드 파일을 생성하도록 추가로 구성되는 단말기.
  14. 제13항에 있어서, 상기 프로세서는:
    상기 생성된 패치 업그레이드 파일을 제3 파티션에 저장하도록 추가로 구성되고; 및
    상기 획득 동작은:
    상기 제3 파티션으로부터, 상기 패치 업그레이드 파일 경로 정보와 매칭되는 상기 패치 업그레이드 파일을 획득하는 동작을 포함하는 단말기.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서, 상기 프로세서는:
    원본 파일 경로 정보와 패치 업그레이드 파일 경로 정보 사이에 있고 또한 상기 제2 파티션의 상기 패치 패키지에 있는 연관 관계를 상기 미리 구성된 시스템에 저장하도록 추가로 구성된 단말기.
  16. 하나 이상의 프로그램을 저장하는 비휘발성 컴퓨터 판독 가능 저장 매체로서, 상기 하나 이상의 프로그램은 명령어를 포함하고, 상기 명령어가 단말기에 의해 실행될 때, 상기 단말기는 제1항 내지 제5항 중 어느 한 항에 따른 방법을 수행하는 비휘발성 컴퓨터 판독 가능 저장 매체.
KR1020187034151A 2016-04-27 2016-04-27 패치 업그레이드 기반 파일 처리 방법 및 디바이스, 단말기, 및 저장 매체 KR102204115B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/080342 WO2017185253A1 (zh) 2016-04-27 2016-04-27 基于补丁升级的文件处理方法、装置、终端以及存储介质

Publications (2)

Publication Number Publication Date
KR20180137554A true KR20180137554A (ko) 2018-12-27
KR102204115B1 KR102204115B1 (ko) 2021-01-18

Family

ID=60161739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187034151A KR102204115B1 (ko) 2016-04-27 2016-04-27 패치 업그레이드 기반 파일 처리 방법 및 디바이스, 단말기, 및 저장 매체

Country Status (8)

Country Link
US (1) US10949191B2 (ko)
EP (1) EP3441876B1 (ko)
JP (1) JP6649510B2 (ko)
KR (1) KR102204115B1 (ko)
CN (1) CN108027741B (ko)
AU (1) AU2016404863B2 (ko)
RU (1) RU2712130C1 (ko)
WO (1) WO2017185253A1 (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10656935B2 (en) * 2015-10-13 2020-05-19 Home Box Office, Inc. Maintaining and updating software versions via hierarchy
US10623514B2 (en) 2015-10-13 2020-04-14 Home Box Office, Inc. Resource response expansion
CN108574588B (zh) * 2017-03-10 2023-09-15 中兴通讯股份有限公司 客户端、服务端及差异化升级方法
US10698740B2 (en) 2017-05-02 2020-06-30 Home Box Office, Inc. Virtual graph nodes
US20190056929A1 (en) * 2017-08-17 2019-02-21 Ability Enterprise Co., Ltd. Data transmission method and communication system
CN108108181B (zh) * 2017-12-14 2022-03-01 深圳市雷鸟网络传媒有限公司 应用程序的功能更新方法、装置及计算机可读存储介质
CN108973542B (zh) * 2018-06-29 2020-07-07 深圳市道通科技股份有限公司 轮胎压力检测系统tpms诊断工具的升级方法及设备
US11640429B2 (en) 2018-10-11 2023-05-02 Home Box Office, Inc. Graph views to improve user interface responsiveness
CN109683933B (zh) * 2018-12-20 2024-05-17 北京金风科创风电设备有限公司 风力发电机组的程序升级方法和设备
CN109947450B (zh) * 2019-03-19 2023-03-17 深圳创维-Rgb电子有限公司 系统文件升级方法、装置、移动终端及可读存储介质
CN110045980B (zh) * 2019-05-22 2022-09-02 东信和平科技股份有限公司 一种对nb-iot设备的远程升级方法、设备及系统
CN110489140B (zh) * 2019-07-11 2023-06-06 平安科技(深圳)有限公司 软件升级方法、装置、计算机设备及计算机存储介质
CN110474673B (zh) * 2019-08-22 2022-02-25 上海航天计算机技术研究所 一种支持断点续传的动态在轨热更新方法
CN110597542B (zh) * 2019-09-17 2023-01-31 Oppo(重庆)智能科技有限公司 软件自动ota升级方法及装置、电子设备
US11132259B2 (en) * 2019-09-30 2021-09-28 EMC IP Holding Company LLC Patch reconciliation of storage nodes within a storage cluster
CN110865837B (zh) * 2019-11-14 2023-08-18 青岛海信移动通信技术有限公司 一种进行系统升级的方法和终端
CN111158735B (zh) * 2019-12-05 2023-03-31 青岛海信移动通信技术股份有限公司 一种热补丁文件处理方法及通信终端
US11347494B2 (en) 2019-12-13 2022-05-31 EMC IP Holding Company LLC Installing patches during upgrades
CN111158733A (zh) * 2019-12-26 2020-05-15 山东英信计算机技术有限公司 一种bmc升级方法、装置、设备及计算机可读存储介质
CN111522566B (zh) * 2020-04-23 2023-08-01 Oppo(重庆)智能科技有限公司 一种系统升级方法、终端及存储介质
CN111654548B (zh) * 2020-06-05 2023-04-18 网易(杭州)网络有限公司 补丁文件的下载方法、装置和系统及电子设备
CN111831314B (zh) * 2020-06-24 2022-11-22 烽火通信科技股份有限公司 一种针对不可写分区打补丁的方法与装置
CN112433747B (zh) * 2020-12-16 2022-11-25 深圳乐播科技有限公司 一种适用于软件开发工具包sdk的差分升级方法及系统
CN115729586B (zh) * 2021-06-15 2023-10-20 荣耀终端有限公司 操作系统升级方法、设备、存储介质及计算机程序产品
CN114443109B (zh) * 2021-07-19 2023-08-22 荣耀终端有限公司 补丁修复方法、电子设备及存储介质
CN113791811A (zh) * 2021-08-02 2021-12-14 瑞芯微电子股份有限公司 固件升级方法和存储设备
CN113590159B (zh) * 2021-08-03 2024-04-16 深圳丰汇汽车电子有限公司 一种车载行车电脑并行升级方法及系统
CN113641394A (zh) * 2021-08-12 2021-11-12 上海艾拉比智能科技有限公司 一种多操作系统设备的差分升级方法
CN115495133B (zh) * 2022-11-17 2023-03-21 达芬骑动力科技(北京)有限公司 Dbc动态自适应更新方法、装置、电子设备及存储介质
CN116661821A (zh) * 2023-05-10 2023-08-29 浙江简捷物联科技有限公司 一种应用升级方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110505A (ja) * 2007-09-17 2009-05-21 Symantec Corp コンピュータプログラムにパッチを当てるシステム及び方法
KR20110051061A (ko) * 2009-11-09 2011-05-17 한국전자통신연구원 웹 기반 소프트웨어 배포 시스템 및 방법

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812613B2 (en) 2004-06-03 2014-08-19 Maxsp Corporation Virtual application manager
US20070132774A1 (en) 2005-12-01 2007-06-14 Samsung Electronics Co., Ltd. System and method for a patch minimization tool
US9720674B1 (en) * 2008-05-05 2017-08-01 Open Invention Network, Llc Automating application of software patches to a server having a virtualization layer
EP2310941A1 (fr) * 2008-06-02 2011-04-20 Awox Procede et dispositif de mise a jour d'application informatique
CN101593118B (zh) * 2009-02-24 2013-01-16 浪潮集团山东通用软件有限公司 一种软件升级的方法
US8397230B2 (en) * 2009-11-09 2013-03-12 Bank Of America Corporation Software updates using delta patching
US8533337B2 (en) * 2010-05-06 2013-09-10 Citrix Systems, Inc. Continuous upgrading of computers in a load balanced environment
JP5250645B2 (ja) * 2011-01-25 2013-07-31 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
WO2011127845A2 (zh) * 2011-05-04 2011-10-20 华为终端有限公司 一种移动通信终端间进行系统升级的方法、系统及终端
CN102231116A (zh) * 2011-07-04 2011-11-02 成都市华为赛门铁克科技有限公司 应用程序虚拟化安装及加载方法及装置
US8880651B2 (en) * 2011-07-25 2014-11-04 Sony Computer Entertainment America, LLC Method and system for efficient download of data package
CN102609328B (zh) * 2012-01-29 2015-04-15 华为终端有限公司 系统差分升级方法和装置、移动终端
CN102662870B (zh) 2012-03-20 2014-08-13 武汉噢易科技有限公司 基于vfs层拦截读写请求的安卓操作系统保护方法
CN102902630B (zh) 2012-08-23 2016-12-21 深圳市同洲电子股份有限公司 一种访问本地文件的方法和装置
CN102880495A (zh) 2012-10-15 2013-01-16 华为终端有限公司 移动终端及其软件升级方法
US20140123122A1 (en) * 2012-10-31 2014-05-01 Hcl Technologies Limited System and method for virtual machine offline patching without mount the virtual disk
CN103514016A (zh) 2013-09-22 2014-01-15 上海华为技术有限公司 系统版本升级方法、装置和基站控制器
WO2015094200A1 (en) * 2013-12-18 2015-06-25 Hewlett-Packard Development Company, L.P. Patching of virtual machines during data recovery
CN104182255B (zh) * 2014-08-20 2017-11-21 青岛海信宽带多媒体技术有限公司 一种系统应用的库文件升级方法及终端
CN104461685B (zh) 2014-11-19 2017-09-29 华为技术有限公司 虚拟机处理方法和虚拟计算机系统
TWI533216B (zh) * 2014-12-11 2016-05-11 佳世達科技股份有限公司 作業系統更新方法
CN105446769B (zh) * 2015-11-03 2018-03-30 广东欧珀移动通信有限公司 镜像文件升级处理方法、装置和终端设备
US10055219B1 (en) * 2016-04-07 2018-08-21 Nutanix, Inc. Dynamically preparing server-specific installation images using a virtual media source node

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110505A (ja) * 2007-09-17 2009-05-21 Symantec Corp コンピュータプログラムにパッチを当てるシステム及び方法
KR20110051061A (ko) * 2009-11-09 2011-05-17 한국전자통신연구원 웹 기반 소프트웨어 배포 시스템 및 방법

Also Published As

Publication number Publication date
AU2016404863B2 (en) 2020-01-23
WO2017185253A1 (zh) 2017-11-02
US20190146776A1 (en) 2019-05-16
EP3441876A4 (en) 2019-04-24
KR102204115B1 (ko) 2021-01-18
CN108027741B (zh) 2020-06-09
JP2019515386A (ja) 2019-06-06
US10949191B2 (en) 2021-03-16
JP6649510B2 (ja) 2020-02-19
EP3441876A1 (en) 2019-02-13
RU2712130C1 (ru) 2020-01-24
EP3441876B1 (en) 2023-02-15
AU2016404863A1 (en) 2018-11-29
CN108027741A (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
KR102204115B1 (ko) 패치 업그레이드 기반 파일 처리 방법 및 디바이스, 단말기, 및 저장 매체
RU2673403C2 (ru) Способ доступа к веб-узлам, устройство и система веб-узла
US10205778B2 (en) Method and apparatus for sharing application data
CN106648725B (zh) 终端、服务器及配置文件升级方法
CN106462430B (zh) 应用升级包获取方法及装置
JP2019506654A (ja) ページジャンプの方法及び装置
EP2919440A1 (en) Advertisement processing method and device
CN105302587A (zh) 数据更新方法及装置
CN106681749B (zh) 基于安卓平台的局部代码补丁更新方法及装置
CN110968331B (zh) 应用程序运行的方法和装置
CN108647032B (zh) 应用加载方法及装置、计算机装置和计算机可读存储介质
US9286054B2 (en) Deployment of mobile enterprise application platform
CN108089873A (zh) 一种应用组件即时更新的方法及终端
CN105577813A (zh) 一种web混合应用的更新方法和系统
CN108845800B (zh) 一种组件扩展功能的实现方法、装置、设备及存储介质
US9686345B2 (en) Device management method and apparatus
CN110851151B (zh) 预装应用的方法、装置、终端、服务器和存储介质
CN110532016B (zh) 版本管理方法、版本更新方法和版本管理系统
US10078532B2 (en) Resource management method and device for terminal system among multiple operating systems
CN112286586B (zh) 一种插件的配置方法及相关设备
CN110750286A (zh) OTA升级Mbn的管理方法、装置、系统、设备和介质
CN106293790B (zh) 基于Firefox操作系统的应用程序升级方法和装置
WO2016074460A1 (zh) 一种数据处理方法及装置
CN105700900A (zh) 一种优化无线局域网功能的方法及装置
EP3764224B1 (en) Resource permission processing method and apparatus, and storage medium and chip

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant