KR100433056B1 - 프로그램 업그레이드 방법 - Google Patents

프로그램 업그레이드 방법 Download PDF

Info

Publication number
KR100433056B1
KR100433056B1 KR10-2001-0049820A KR20010049820A KR100433056B1 KR 100433056 B1 KR100433056 B1 KR 100433056B1 KR 20010049820 A KR20010049820 A KR 20010049820A KR 100433056 B1 KR100433056 B1 KR 100433056B1
Authority
KR
South Korea
Prior art keywords
data
processor
program
new
old
Prior art date
Application number
KR10-2001-0049820A
Other languages
English (en)
Other versions
KR20030015956A (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 엘지전자 주식회사
Priority to KR10-2001-0049820A priority Critical patent/KR100433056B1/ko
Priority to US10/219,545 priority patent/US7222338B2/en
Publication of KR20030015956A publication Critical patent/KR20030015956A/ko
Application granted granted Critical
Publication of KR100433056B1 publication Critical patent/KR100433056B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 시스템을 구성하는 프로세서 내에서 데이터 버전 어댑터(Data Version Adapter) 프로그램과 새 패키지를 프로세서에 로딩하며, 데이터 버전 어댑터에 의해 기존의 데이터를 새로운 메모리 영역에 새 패키지에 맞는 데이터를 생성하며, 새 프로그램이 새롭게 생성된 데이터를 사용하여 실행하도록 한 프로그램 업그레이드 방법에 관한 것으로, 본 발명에 의해서 해당 데이터 버전 어댑터를 이용해서 기존의 데이터를 가공하여 프로세서에 로딩할 새 프로그램에 맞는 새로운 데이터를 생성하도록 함으로써, 시스템 형상의 추가/삭제 중지 시간을 최소화하며, 서비스 중단을 방지하여 시스템을 안정적으로 운용할 수 있다.

Description

프로그램 업그레이드 방법{Method for Program Upgrade}
본 발명은 시스템에서 동작하는 프로그램을 업그레이드하는 방법에 관한 것으로, 특히 시스템을 구성하는 프로세서 내에서 데이터 버전 어댑터(Data Version Adapter)를 사용하여 시스템을 구성하는 프로세서에 로딩할 신(New) 프로그램에 맞도록 업그레이드 이전의 구(Old) 데이터를 가공하여 신 데이터를 생성하고, 상기 신 데이터를 사용하여 프로세서에서 상기 신 프로그램을 실행하도록 한 프로그램 업그레이드 방법에 관한 것이다.
일반적으로 시스템은 다수의 프로세서로 구성되어 운용되는데, 이러한 프로세서(10)는 도 1에 도시한 바와 같이 내부에 프로그램(12)과, 프로그램(12)이 사용하는 데이터(14)를 저장해 놓고 이를 동작시켜 특정 기능을 수행한다. 통상적으로 프로그램(12)과 데이터(14)는 각각 텍스트 영역과 데이터 영역에 분리 저장되어 있다.
시스템의 기능을 향상시키거나 변경하기 위해 프로세서 내에서 동작하던 프로그램(12)을 업그레이드하는 경우가 있는데, 이러한 프로그램 업그레이드 시, 업그레이드 전후해서 프로그램(12)의 데이터 구조가 변경될 수 있다. 즉, 업그레이드된 신 프로그램에 맞는 데이터 구조가 업그레이드 이전의 데이터 구조와 서로 다른 수 있다. 도 2는 프로그램 업그레이드 전후해서 데이터의 구조 중에서 테이블 수와 데이터 속성(Attribute)과 레코드 수의 변경이 있는 경우를 예시한 도면이다.
따라서, 만일 프로세서에서 동작하던 구 프로그램을 업그레이드하는 과정에서 업그레이드 이전에 프로세서에서 동작하고 있던 구 프로그램의 데이터 구조(이하 '구 데이터 구조'라고 함)를 변경하지 않은 채 신 프로그램을 로딩하여 동작시킨다면, 신 프로그램에서 인식하는 데이터 구조와 실제 프로세서에서 동작하고 있는 데이터 구조(상기 구 데이터 구조)가 서로 상이하여 시스템에 오동작을 유발할 수 있다.
그래서, 이러한 프로그램 업그레이드에 따른 시스템의 오동작을 방지하기 위해 종래에는 첨부한 도면 도 3에 도시한 바와 같이, 프로세서에서 동작하고 있던 구 프로그램의 구 데이터(44)를 시스템 외부 장치(미도시)로 백업한 후(S31), 오프-라인(Off-Line)상에서 상기 백업(Backup)한 구 데이터(44) 구조를 프로세서에 로딩할 신 프로그램(52)에 맞게 변형해서 신 데이터(54)를 생성한다(S32, S33). 여기서, 상기 외부 장치는 구 데이터(44)의 구조를 변형하여 신 데이터(54)를 생성하는 한편, 프로세서에 로딩할 신 프로그램(52)을 저장하고 있다가 상기 신 데이터(54)와 함께 상기 신 프로그램(52)을 프로세서로 로딩해 준다.
그리고 새로 생성한 신 데이터(54)와 신 프로그램(52)을 상기 프로세서로 함께 로딩하여(S34) 상기 신 프로그램(52)을 프로세서 내에서 실행시킨다(S35).
한편, 시스템의 안정적인 운용을 위해 도 4에 도시한 바와 같이 시스템 내의 프로세서(40,50)가 액티브 프로세서(40)와 스탠바이 프로세서(50)로 이중화되어 동작하는 경우가 많다. 이처럼, 프로세서가 이중화되어 있는 경우, 먼저 구 프로그램(42)과 구 데이터(44)를 저장하고 있는 액티브 프로세서(40)에서 구 데이터(44)를 시스템 외부 장치(100)로 백업한 후, 신 프로그램(52)에 맞도록 데이터 구조를 변형하여 신 데이터(54)를 생성하고, 생성한 신 데이터(54) 및 신 프로그램(52)을 스탠바이 프로세서(50)로 로딩하는 스탠바이 로딩 방식으로 프로그램 업그레이드를 수행한다.
이하에서, 프로세서가 이중화되어 동작하는 경우, 프로그램 업그레이드 방법을 도 4 및 도 5를 참조해서 상세히 설명한다.
도 5는 종래에 프로세서가 이중화되어 동작하는 경우에 있어서 프로그램 업그레이드 방법을 도시한 흐름도이다. 이때, 도 4에 도시한 프로세서 A(40)가 액티브 상태이고 프로세서 B(50)는 스탠바이 상태인 것으로 가정한다.
먼저, 액티브 상태인 프로세서 A(40)에 저장되어 있는 구 데이터(44)를 시스템 외부 장치(100)로 백업한 후(S51), 오프-라인 상에서 상기 백업한 구 데이터(44)의 구조를 로딩할 신 프로그램(52)에 맞게 변형하여 신 데이터(54)를 생성한다(S52,S53). 한편, 액티브 프로세서와 스탠바이 프로세서 사이의 이중화를 중지하고(S54), 상기 신 데이터(54)와 신 프로그램(52)을 스탠바이 상태인 프로세서 B(50)로 로딩한다(S55). 그리고, 액티브 상태였던 프로세서 A(40)를 스탠바이 상태로 전환함과 동시에 스탠바이 상태였던 프로세서 B(50)를 액티브 상태로 전환한 후(S56), 신 프로그램(52)과 신 데이터(54)를 로딩받은 프로세서 B(50)가 정상적으로 동작하는지 여부를 판단한다(S57). 만일, 상기 프로세서 B(50)가 신 프로그램(52)과 신 데이터(54)에 의해 정상적으로 동작하면, 중지했던 이중화를 개시한 후(S58), 액티브 상태인 프로세서 B(50)에서 스탠바이 상태인 프로세서 A(40)로 상기 신 프로그램(52)과 신 데이터(54)를 복사한다(S59). 그러나, 상기 프로세서 B(50)가 신 프로그램(52)과 신 데이터(54)에 의해 정상적으로 동작하지 않으면 다시 프로세서 B(50)를 스탠바이 상태로 전환함과 동시에 프로세서 A(40)를 액티브 상태로 전환하고(S60), 프로세서 A(40)에 저장되어 있는 구 프로그램(42)을 실행한 후(S61), 중지했던 이중화를 개시하여 프로그램 업그레이드 이전의 상태를 복구한다(S62).
이와 같이, 종래의 시스템에서는 시스템을 구성하는 프로세서에서 동작 중인 데이터를 외부 장치로 백업하여 업그레이드하려는 신 프로그램에 맞도록 데이터 구조를 변경하고, 변경된 신 데이터와 신 프로그램을 상기 프로세서에 로딩하여 프로그램 업그레이드를 수행했다.
이 경우 동작 중인 프로세서에서 시스템 외부로 백업한 데이터를 오프-라인 상에서 신 프로그램에 맞는 데이터 구조로 변경하는 작업을 수행함으로 인해 시간이 많이 소요되고(특히, 해외의 경우), 동작 중인 데이터를 백업하여 업그레이드하려는 신 프로그램에 맞게 데이터를 가공하는 기간(수 시간 ~ 수 일) 동안 시스템 형상 및 국 데이터 운용(추가/삭제)이 제한되는 단점이 있다.
즉, 종래의 소프트웨어 업그레이드는 동작 중인 데이터를 백업하여 오프-라인으로 신 데이터를 생성하는 기간동안 시스템 형상 및 국 데이터를 추가/삭제하지 못 하는 단점과 오프-라인 지원이 필요한 문제점이 있었다.
본 발명은 전술한 바와 같은 단점 내지는 문제점을 해결하기 위한 것으로, 그 목적은 구 프로그램과 구 데이터에 의해 동작하는 프로세서에서 데이터 버전 어댑터를 사용하여 구 데이터를 가공해서 새로운 메모리 영역에 신 프로그램에 맞는 신 데이터로 생성하고 해당 신 데이터를 사용하여 신 프로그램을 실행하도록 함으로써, 시스템 형상의 추가/삭제 중지 시간을 최소화하고(수 분 이내) 서비스 중단을 방지하여 시스템을 안정적으로 운용할 수 있도록 하는 데 있다.
도 1은 프로세서 내에 프로그램과 데이터가 저장되어 있는 것을 도시한 블록도.
도 2는 프로그램 업그레이드 전후해서 데이터의 구조가 변경되는 것을 도시한 블록도.
도 3은 종래에 프로세서에서 프로그램 업그레이드 방법을 도시한 흐름도.
도 4는 종래에 이중화 프로세서에서 프로그램을 업그레이드하기 위한 블록도.
도 5는 종래에 이중화 프로세서에서 프로그램 업그레이드 방법을 도시한 흐름도.
도 6은 본 발명에 따라 프로그램을 업그레이드하기 위해 프로세서에 데이터 버전 어댑터와 신 프로그램을 로딩한 상태를 도시한 블록도.
도 7은 본 발명에 따른 프로그램 업그레이드 방법을 도시한 흐름도.
도 8은 본 발명에 따라 이중화 프로세서의 프로그램을 업그레이드하기 위해 이중화 프로세서에 데이터 버전 어댑터와 신 프로그램을 로딩한 상태를 도시한 블록도.
도 9는 본 발명에 따른 이중화 프로세서에서 프로그램 업그레이드 방법을 도시한 흐름도.
도 10은 본 발명의 다른 실시 예에 따라 액티브 프로세서에서 신 데이터를 생성하는 이중화 프로세서에서 프로그램 업그레이드 방법을 도시한 흐름도.
*도면의 주요부분에 대한 부호의 설명*
800 : 프로세서 A 900 : 프로세서 B
810, 910 : 데이터 버전 업데이트 820 : 구 프로그램
830 : 구 데이터 920 : 신 프로그램
930 : 신 데이터
상기와 같은 목적을 달성하기 위한 본 발명의 특징은, 구 프로그램과 구 데이터에 의해 동작하는 프로세서에서 프로그램을 업그레이드하는 경우에 있어서, 상기 프로세서에 데이터 버전 어댑터와 신 프로그램을 로딩하는 과정과; 상기 로딩된 데이터 버전 어댑터에 의해 상기 구 데이터를 새로운 메모리 영역에 상기 신 프로그램에 맞는 신 데이터로 생성하는 과정과; 상기 신 데이터를 이용하여 상기 신 프로그램을 실행하여 상기 신 프로그램이 정상적으로 동작하는지 여부를 판단하는 과정과; 상기 신 프로그램이 정상적으로 동작하는 경우, 상기 구 프로그램과 구 데이터를 삭제하는 과정과; 상기 신 프로그램이 정상적으로 동작하지 않는 경우, 상기 구 프로그램을 실행함과 동시에 상기 신 프로그램과 신 데이터를 삭제하여 업그레이드 수행 이전 상태로 복귀하는 과정을 포함하는 프로그램 업그레이드 방법을 제공하는 데 있다.
그리고, 본 발명의 다른 실시 예로, 상기 신 데이터 생성 과정은, 상기 프로세서가 액티브 상태인 제1 프로세서와 스탠바이 상태인 제2 프로세서로 이중화된 경우에, 상기 프로세서의 이중화를 중지하고 데이터 버전 어댑터와 신 프로그램을 로딩한 후에, 상기 제1 프로세서의 제1 데이터 버전 어댑터에 의해 상기 구 프로그램의 데이터 구조에 따라 상기 구 데이터를 읽는 단계와; 상기 제1 데이터 버전 어댑터에 의해 상기 구 데이터를 상기 제2 프로세서의 제2 데이터 버전 어댑터로 전송하는 단계와; 상기 제2 데이터 버전 어댑터에 의해 상기 구 데이터를 상기 신 데이터의 구조에 맞게 정합하고 상기 구 데이터에 없는 신규 사항을 추가하여 상기 신 데이터로 저장하는 단계와; 상기 제1 프로세서를 스탠바이 상태로 전환함과 동시에 상기 제2 프로세서를 액티브 상태로 전환하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 또 다른 실시 예로, 상기 신 데이터 생성 과정은, 상기 프로세서가 액티브 상태인 제1 프로세서와 스탠바이 상태인 제2 프로세서로 이중화된 경우에, 상기 프로세서의 이중화를 중지하고 데이터 버전 어댑터와 신 프로그램을 로딩한 후에, 상기 제1 프로세서의 제1 데이터 버전 어댑터에 의해 상기 구 프로그램의 데이터 구조에 따라 상기 구 데이터를 읽는 단계와; 상기 제1 데이터 버전 어댑터에 의해 상기 구 데이터를 상기 신 데이터의 구조에 맞게 정합하고 상기 구 데이터에 없는 신규 사항을 추가하여 상기 신 데이터로 생성하는 과정과; 상기 제1 데이터 버전 어댑터에 의해 상기 신 데이터를 상기 제2 프로세서의 제2 데이터 버전 어댑터로 전송하여 저장하도록 하는 과정과; 상기 제1 프로세서를 스탠바이 상태로 전환함과 동시에 상기 제2 프로세서를 액티브 상태로 전환하는 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명에 따른 실시 예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
도 6은 본 발명에 따라 프로그램을 업그레이드하기 위해 프로세서(600)에 데이터 버전 어댑터(62)와 신 프로그램(64)을 로딩한 상태를 블록도로 표현한 것이다.
여기서, 상기 데이터 버전 어댑터(62)는 구 데이터(70)의 구조를 업그레이드 할 신 프로그램(64)에 맞게 변형하는 한편, 프로그램 업그레이드에 따라 새로운 기능이 추가되는 경우 등에 있어서 구 데이터(70)에 없는 내용을 추가하여 신 데이터(68)를 생성해서 저장하는 기능을 수행한다. 이때, 프로세서(600)는 업그레이드 이전의 구 프로그램(66)과 구 데이터(70)를 여전히 저장하고 있다. 이는 신 프로그램(64)과 신 데이터(68)가 프로세서(600) 내에서 정상적으로 동작하지 못하는 경우, 구 프로그램(66)과 구 데이터(70)에 의해 프로세서(600)를 동작하도록 하기 위한 것이다.
이하에서, 본 발명에 따른 프로그램 업그레이드 방법을 도 7을 참조해서 상세히 설명한다.
도 7은 본 발명에 따른 프로그램 업그레이드 방법을 도시한 흐름도이다.
프로세서(600)에서 동작하던 프로그램을 업그레이드하기 위해 먼저, 프로세서(600)에 데이터 버전 어댑터(62)와 신 프로그램(64)을 로딩한다(S71).
상기 프로세서(600)에 로딩된 데이터 버전 어댑터(62)는 구 프로그램(66)의 데이터 구조에 따라 구 데이터(70)를 읽은 후, 신 프로그램(64)에 맞도록 상기 구 프로그램(66)의 구조를 변형함과 동시에 구 데이터(70)에 없는 신규 사항을 추가해서 신 데이터(68)를 생성하고(S72), 이를 구 데이터(70)가 저장되어 있는 메모리영역과 중복되지 않는 새로운 메모리 영역에 저장한다(S73).
이와 같은 과정을 통해 신 프로그램(64)에 맞는 구조와 내용을 가진 신 데이터(68)가 생성되면, 상기 신 데이터(68)를 이용하여 프로세서(600)에 로딩한 신 프로그램(64)을 실행한다(S74). 이때, 상기 신 프로그램(64)이 프로세서(600) 내에서 정상적으로 동작하는지 여부를 판단해서(S75), 만일 신 프로그램(64)이 프로세서(600) 내에서 정상적으로 동작하면 구 프로그램(66)과 구 데이터(70)를 삭제하고(S76), 신 프로그램(64)이 정상적으로 동작하지 않으면 구 프로그램(66)을 다시 동작시킨 후(S77), 신 프로그램(64)과 신 데이터(68)를 삭제하여 프로그램 업그레이드를 수행하기 이전 상태로 복귀한다(S78).
여기서, 상기 데이터 버전 어댑터(62)와 신 프로그램(64)을 프로세서(600)에 로딩하는 과정은 시스템에 따른 각각의 로딩 방법에 따른다. 로딩 방법에 있어서 신 패키지를 전송하는 방법에는 시스템의 IPC(Inter Processor Communication), LAN, 직렬(Serial) 및 병렬(Parallel) 통신 등이 있으며, 로딩된 프로세서는 하드디스크(Hard Disk), 플래시 메모리(Flash Memory), DAT(Digital Audio Tape), MOD(Magneto Optical Disk) 등 저장 매체에 저장된다. 그리고, 상기 신 프로그램(64)이 새롭게 생성된 신 데이터(68)를 사용하여 실행하는 과정은 기존에 동작하고 있던 구 프로그램(66)을 중지하고 로딩한 신 프로그램(64)을 실행하는 과정으로서 각 시스템의 고유 방식에 따른다.
도 8은 본 발명에 따라 이중화된 프로세서의 프로그램을 업그레이드하기 위해 이중화 프로세서(800,900)에 데이터 버전 어댑터(810,910)와 신 프로그램(920)을 로딩한 상태를 블록도로 표현한 것이다.
시스템 내의 프로세서가 액티브 프로세서(800)와 스탠바이 프로세서(900)로 이중화되어 있는 경우, 먼저 구 프로그램(820)과 구 데이터(830)를 저장하고 있는 액티브 프로세서(800)에 데이터 버전 어댑터(810)를 로딩하고 스탠바이 프로세서(900)에는 데이터 버전 어댑터(810) 및 신 프로그램(920)을 로딩한 후, 액티브 프로세서(800)와 스탠바이 프로세서(900)에 로딩된 데이터 버전 어댑터(810)에 의해 구 데이터(830)를 신 프로그램(920)에 맞는 신 데이터(930)로 가공해서 저장한 후, 액티브 프로세서(800)와 스탠바이 프로세서(900)의 프로그램과 데이터를 일치시키는 방식으로 프로그램을 업그레이드한다.
이하, 도 9를 참조해서 이중화 프로세서의 프로그램을 업그레이드하는 방법을 상세히 설명한다.
도 9는 본 발명에 따른 이중화 프로세서(800,900)의 프로그램 업그레이드 방법을 도시한 흐름도이다. 이때, 도 8에 도시한 프로세서 A(800)가 액티브 상태이고 프로세서 B(900)가 스탠바이 상태인 것으로 가정한다.
프로세서가 액티브 상태인 프로세서 A(800)와 스탠바이 상태인 프로세서 B(900)로 이중화되어 있는 경우 먼저, 동작하고 있는 이중화 프로세서(800,900)의 이중화를 중지하고(S91), 구 프로그램(820)과 구 데이터(830)를 저장하고 있는 프로세서 A(800)에 데이터 버전 어댑터(810)를 로딩함과 동시에 프로세서 B(900)에는 데이터 버전 어댑터(910) 및 신 프로그램(920)을 로딩한다(S92). 이후, 프로세서 A(800)에 로딩된 데이터 버전 어댑터(810)는 구 프로그램(820)의 데이터 구조에 따라 구 데이터(830)를 읽어서 이를 프로세서 B(900)에 로딩된 데이터 버전 어댑터(910)로 전송한다(S93). 이에, 프로세서 B(900)의 데이터 버전 어댑터(910)는 상기 구 데이터(830)를 수신한 후, 이를 가공해서 신 프로그램(920)에 맞도록 구조를 변형하고 구 데이터(830)에 없는 신규 사항을 추가해서 신 데이터(930)를 생성함과 동시에 저장한다(S94). 그리고, 프로세서 A(800)를 스탠바이 상태로 전환함과 동시에 프로세서 B(900)를 액티브 상태로 전환하고(S95), 액티브 상태로 전환된 프로세서 B(900)에 로딩되어 있는 신 프로그램(920)을 실행한다(S96). 이후, 프로세서 B(900) 내에서 신 프로그램(920)이 정상적으로 동작하는지 여부를 판단해서(S97), 신 프로그램(920)이 프로세서 B(900) 내에서 정상적으로 동작하면 프로세서 A(800) 내에 저장되어 있던 구 프로그램(820)과 구 데이터(830)를 삭제한다(S98). 그리고, 중지했던 이중화를 개시함과 동시에(S99), 프로세서 B(900)에서 프로세서 A(800)로 신 프로그램(920) 및 신 데이터(930)를 복사한다(S100).
그러나, 상기 S97의 판단 과정에서 신 프로그램(920)이 프로세서 B(900) 내에서 정상적으로 동작하지 않으면 프로세서 B(900)를 스탠바이 상태로 전환함과 동시에 프로세서 A(800)를 액티브 상태로 전환한 후(S101), 프로세서 A(800) 내에 저장되어 있는 구 프로그램(820)을 실행함과 동시에 프로세서 B()에 저장되어 있는 신 프로그램(920)과 신 데이터(930)를 삭제하고(S102), 중지되었던 이중화를 개시하여 프로그램 업그레이드를 수행하기 이전 상태로 복귀한다(S103).
도 10은 본 발명의 다른 실시 예에 따라 신 데이터(930)의 생성을 액티브 프로세서(800)에서 수행하는 것을 특징으로 하는 이중화 프로세서(800,900)의 프로그램 업그레이드 방법을 도시한 흐름도이다. 이때, 도 8에 도시한 프로세서 A(800)가 액티브 상태이고 프로세서 B(900)가 스탠바이 상태인 것으로 가정한다.
프로세서가 액티브 상태인 프로세서 A(800)와 스탠바이 상태인 프로세서 B(900)로 이중화되어 있는 경우 먼저, 동작하고 있는 이중화 프로세서(800,900)의 이중화를 중지하고(S110), 구 프로그램(820)과 구 데이터(830)를 저장하고 있는 프로세서 A(800)에 데이터 버전 어댑터(810)를 로딩함과 동시에 프로세서 B(900)에는 데이터 버전 어댑터(910) 및 신 프로그램(920)을 로딩한다(S111). 이후, 프로세서 A(800)에 로딩된 데이터 버전 어댑터(810)는 구 프로그램(820)의 데이터 구조에 따라 구 데이터(830)를 읽은 후, 이를 가공하여 신 프로그램(920)에 맞도록 구조를 변형하고 구 데이터(830)에 없는 신규 사항을 추가해서 신 데이터(930)를 생성함과 동시에, 이를 프로세서 B(900)에 로딩된 데이터 버전 어댑터(910)로 전송하여 저장하도록 한다(S113). 이에 프로세서 B(900)의 데이터 버전 어댑터(910)는 상기 신 데이터를 수신해서 저장한다.
이후, 프로세서 A(800)를 스탠바이 상태로 전환함과 동시에 프로세서 B(900)를 액티브 상태로 전환하고(S114), 액티브 상태로 전환된 프로세서 B(900)에 로딩된 신 프로그램(920)을 실행한다(S115). 이에, 프로세서 B(900) 내에서 신 프로그램(920)이 정상적으로 동작하는지 여부를 판단해서(S116), 신 프로그램(920)이 프로세서 B(900) 내에서 정상적으로 동작하면 프로세서 A(800) 내에 저장되어 있던 구 프로그램(820)과 구 데이터(830)를 삭제한다(S117). 그리고, 중지했던 이중화를 개시함과 동시에(S118), 프로세서 B(900)에서 프로세서 A(800)로 신 프로그램(920) 및 신 데이터(930)를 복사한다(S119).
그러나, 상기 S116의 판단 과정에서 신 프로그램(920)이 프로세서 B(900) 내에서 정상적으로 동작하지 않으면 프로세서 B(900)를 스탠바이 상태로 전환함과 동시에 프로세서 A(800)를 액티브 상태로 전환한 후(S120), 프로세서 A(800) 내에 저장되어 있는 구 프로그램(820)을 실행함과 동시에 신 프로그램(920)과 신 데이터(930)를 삭제하고(S121), 중지했던 이중화를 개시하여 프로그램 업그레이드를 수행하기 이전의 상태로 복귀한다(S122).
본 발명은 상술한 실시 예에 대해서만 상세히 설명되었지만, 본 발명의 사상과 범위 내에서 수정이나 변경할 수 있음은 본 발명이 속하는 분야의 당업자에게 명백한 것이며, 그러한 수정이나 변경은 본 발명의 특허청구범위에 속한다 할 것이다.
이상과 같이, 본 발명은 데이터 버전 어댑터를 이용해서 구 데이터를 가공하여 프로세서에 로딩할 신 프로그램에 맞는 신 데이터를 생성하도록 함으로써, 소프트웨어 업그레이드시에 시스템 형상의 추가/삭제 중지 시간을 최소화하고(수 분 이내) 서비스 중단을 방지하여 시스템을 안정적으로 운용할 수 있다.

Claims (5)

  1. 구 프로그램과 구 데이터에 의해 동작하는 프로세서에서 프로그램을 업그레이드하는 경우에 있어서, 상기 프로세서에 데이터 버전 어댑터와 신 프로그램을 로딩하는 과정과;
    상기 로딩된 데이터 버전 어댑터에 의해 상기 구 데이터를 새로운 메모리 영역에 상기 신 프로그램에 맞는 신 데이터로 생성하는 과정과;
    상기 신 데이터를 이용하여 상기 신 프로그램을 실행하여 상기 신 프로그램이 정상적으로 동작하는지 여부를 판단하는 과정과;
    상기 신 프로그램이 정상적으로 동작하는 경우, 상기 구 프로그램과 구 데이터를 삭제하는 과정과;
    상기 신 프로그램이 정상적으로 동작하지 않는 경우, 상기 구 프로그램을 실행함과 동시에 상기 신 프로그램과 신 데이터를 삭제하여 업그레이드 수행 이전 상태로 복귀하는 과정을 포함하는 것을 특징으로 하는 프로그램 업그레이드 방법.
  2. 제1항에 있어서,
    상기 신 데이터 생성 과정은,
    상기 로딩된 데이터 버전 어댑터에 의해 상기 구 프로그램의 데이터 구조에 따라 상기 구 데이터를 읽는 단계와;
    상기 구 데이터를 상기 신 데이터의 구조에 맞게 정합하는 단계와;
    상기 구 데이터에 없는 신규 사항을 추가하여 상기 신 데이터로 저장하는 단계를 포함하는 것을 특징으로 하는 프로그램 업그레이드 방법.
  3. 제1항에 있어서,
    상기 신 데이터 생성 과정은,
    상기 프로세서가 액티브 상태인 제1 프로세서와 스탠바이 상태인 제2 프로세서로 이중화된 경우에, 상기 프로세서의 이중화를 중지하고 데이터 버전 어댑터와 신 프로그램을 로딩한 후에, 상기 제1 프로세서의 제1 데이터 버전 어댑터에 의해 상기 구 프로그램의 데이터 구조에 따라 상기 구 데이터를 읽는 단계와;
    상기 제1 데이터 버전 어댑터에 의해 상기 구 데이터를 상기 제2 프로세서의 제2 데이터 버전 어댑터로 전송하는 단계와;
    상기 제2 데이터 버전 어댑터에 의해 상기 구 데이터를 상기 신 데이터의 구조에 맞게 정합하고 상기 구 데이터에 없는 신규 사항을 추가하여 상기 신 데이터로 저장하는 단계와;
    상기 제1 프로세서를 스탠바이 상태로 전환함과 동시에 상기 제2 프로세서를 액티브 상태로 전환하는 단계를 포함하는 것을 특징으로 하는 프로그램 업그레이드 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 신 데이터 생성 과정은,
    상기 프로세서가 액티브 상태인 제1 프로세서와 스탠바이 상태인 제2 프로세서로 이중화된 경우에, 상기 프로세서의 이중화를 중지하고 데이터 버전 어댑터와 신 프로그램을 로딩한 후에, 상기 제1 프로세서의 제1 데이터 버전 어댑터에 의해 상기 구 프로그램의 데이터 구조에 따라 상기 구 데이터를 읽는 단계와;
    상기 제1 데이터 버전 어댑터에 의해 상기 구 데이터를 상기 신 데이터의 구조에 맞게 정합하고 상기 구 데이터에 없는 신규 사항을 추가하여 상기 신 데이터로 생성하는 과정과;
    상기 제1 데이터 버전 어댑터에 의해 상기 신 데이터를 상기 제2 프로세서의 제2 데이터 버전 어댑터로 전송하여 저장하도록 하는 과정과;
    상기 제1 프로세서를 스탠바이 상태로 전환함과 동시에 상기 제2 프로세서를 액티브 상태로 전환하는 단계를 포함하는 것을 특징으로 하는 프로그램 업그레이드 방법.
KR10-2001-0049820A 2001-08-18 2001-08-18 프로그램 업그레이드 방법 KR100433056B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2001-0049820A KR100433056B1 (ko) 2001-08-18 2001-08-18 프로그램 업그레이드 방법
US10/219,545 US7222338B2 (en) 2001-08-18 2002-08-16 Method for upgrading data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0049820A KR100433056B1 (ko) 2001-08-18 2001-08-18 프로그램 업그레이드 방법

Publications (2)

Publication Number Publication Date
KR20030015956A KR20030015956A (ko) 2003-02-26
KR100433056B1 true KR100433056B1 (ko) 2004-05-24

Family

ID=19713330

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0049820A KR100433056B1 (ko) 2001-08-18 2001-08-18 프로그램 업그레이드 방법

Country Status (2)

Country Link
US (1) US7222338B2 (ko)
KR (1) KR100433056B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190021852A (ko) * 2017-08-24 2019-03-06 에릭슨엘지엔터프라이즈 주식회사 소프트웨어 업그레이드 방법 및 그를 위한 전화 교환기

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030191870A1 (en) * 2002-04-02 2003-10-09 Dominic Duggan Method and apparatus for updating software libraries
JP4099039B2 (ja) * 2002-11-15 2008-06-11 松下電器産業株式会社 プログラム更新方法
CN100372294C (zh) 2004-02-04 2008-02-27 华为技术有限公司 设备升级方法
US20070208894A1 (en) * 2006-03-02 2007-09-06 Curry David S Modification of a layered protocol communication apparatus
US7958400B2 (en) * 2007-04-16 2011-06-07 International Business Machines Corporation Detecting unexpected impact of software changes using coverage analysis
US8539468B2 (en) * 2008-02-18 2013-09-17 International Business Machines Corporation System and methods for replacing software application classes using transparent object adapters
JP5440009B2 (ja) * 2009-07-31 2014-03-12 富士通株式会社 マルチクラスタシステムのプログラム更新方法及びマルチクラスタシステム
US8495612B2 (en) * 2011-10-21 2013-07-23 International Business Machines Corporation Systems and methods for upgrading a version of software
DE102012200155A1 (de) * 2012-01-05 2013-07-11 Continental Automotive Gmbh Rechnersystem und Verfahren zum Betreiben eines Rechnersystems
US20150143354A1 (en) * 2013-11-19 2015-05-21 Suresh Mathew Zero downtime deployment and rollback
KR102261815B1 (ko) 2014-10-30 2021-06-07 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US20230351334A1 (en) * 2022-04-29 2023-11-02 Shopify Inc. Method and system for message respeciation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990056570A (ko) * 1997-12-29 1999-07-15 윤종용 화상형성장치의 프로그램을 자동으로 갱신하는 방법
WO1999046673A2 (en) * 1998-03-12 1999-09-16 Telefonaktiebolaget Lm Ericsson (Publ) Disturbance free update of data
JPH11328040A (ja) * 1998-05-14 1999-11-30 Nec Saitama Ltd メモリの読み出し制御方法およびプログラムの読み出し制御方法
KR20010041771A (ko) * 1998-03-12 2001-05-25 클라스 노린, 쿨트 헬스트룀 소프트웨어 업데이트를 위한 상태 복사 방법
KR20010076555A (ko) * 2000-01-26 2001-08-16 구자홍 수신기의 프로그램 업그레이드 장치 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5359730A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Method of operating a data processing system having a dynamic software update facility
US5649200A (en) * 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
US5805899A (en) * 1995-07-06 1998-09-08 Sun Microsystems, Inc. Method and apparatus for internal versioning of objects using a mapfile
US5878422A (en) * 1996-04-09 1999-03-02 Viasoft, Inc. System for virtually converting data in a field between first and second format by using hook routines
US6425125B1 (en) * 1999-03-30 2002-07-23 Microsoft Corporation System and method for upgrading client software
JP3444227B2 (ja) * 1999-04-09 2003-09-08 日本電気株式会社 ソフトウェアの不正使用防止方法
US6748584B1 (en) * 1999-12-29 2004-06-08 Veritas Operating Corporation Method for determining the degree to which changed code has been exercised
WO2002048859A2 (en) * 2000-12-13 2002-06-20 Koninklijke Philips Electronics N.V. Method of and program for updating software

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990056570A (ko) * 1997-12-29 1999-07-15 윤종용 화상형성장치의 프로그램을 자동으로 갱신하는 방법
WO1999046673A2 (en) * 1998-03-12 1999-09-16 Telefonaktiebolaget Lm Ericsson (Publ) Disturbance free update of data
KR20010041771A (ko) * 1998-03-12 2001-05-25 클라스 노린, 쿨트 헬스트룀 소프트웨어 업데이트를 위한 상태 복사 방법
JPH11328040A (ja) * 1998-05-14 1999-11-30 Nec Saitama Ltd メモリの読み出し制御方法およびプログラムの読み出し制御方法
KR20010076555A (ko) * 2000-01-26 2001-08-16 구자홍 수신기의 프로그램 업그레이드 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190021852A (ko) * 2017-08-24 2019-03-06 에릭슨엘지엔터프라이즈 주식회사 소프트웨어 업그레이드 방법 및 그를 위한 전화 교환기
KR102350333B1 (ko) * 2017-08-24 2022-01-14 에릭슨엘지엔터프라이즈 주식회사 소프트웨어 업그레이드 방법 및 그를 위한 전화 교환기

Also Published As

Publication number Publication date
US20030037323A1 (en) 2003-02-20
US7222338B2 (en) 2007-05-22
KR20030015956A (ko) 2003-02-26

Similar Documents

Publication Publication Date Title
KR100433056B1 (ko) 프로그램 업그레이드 방법
US7130868B2 (en) File system for creating switched logical I/O paths for fault recovery
US7937546B2 (en) Data duplication control method
US7669022B2 (en) Computer system and data management method using a storage extent for backup processing
CN100524219C (zh) 执行不同版本软件的冗余处理器的配置同步的方法和装置
US20010001870A1 (en) System and method for on-line, real time, data migration
US7376804B2 (en) Storage system, backup system, and backup method
US20030033327A1 (en) Method and apparatus for managing remote data replication in a distributed computer system
US20080005288A1 (en) Storage system and data replication method
JP2006500693A (ja) 動的rdfグループ
CN102158540A (zh) 分布式数据库实现***及方法
JPH086796A (ja) ダウンロード方法、そのネットワークシステム、及びデータファイル更新方法
JP2009251786A (ja) データ処理方法、ストレージ装置およびストレージシステム
CN115686932B (zh) 备份集文件恢复方法、装置和计算机设备
JP2021051532A (ja) 計算機システム
JP2011164800A (ja) ストレージシステム及びストレージ制御方法
JP2006260240A (ja) 計算機システム及び記憶装置とコンピュータ・ソフトウエア並びにデータ移行方法
CN111917588B (zh) 边缘设备管理方法、装置、边缘网关设备和存储介质
JP2001290665A (ja) プロセッサシステム
JP4512386B2 (ja) バックアップシステムおよび方法
WO2017000586A1 (zh) 虚拟网元的升级方法、装置和计算机存储介质
JP2005339131A (ja) バックアップ方法、バックアップシステム、ディスク制御装置、及びバックアッププログラム
JP2005141381A (ja) 記憶装置システム
JP2001067214A (ja) コンピュータシステム及びプログラムファイル更新方法
US11500556B1 (en) Storage system with passive witness node

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130417

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140416

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150417

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee