KR20190021852A - Method for upgrading of software and pbx for the same - Google Patents

Method for upgrading of software and pbx for the same Download PDF

Info

Publication number
KR20190021852A
KR20190021852A KR1020170107187A KR20170107187A KR20190021852A KR 20190021852 A KR20190021852 A KR 20190021852A KR 1020170107187 A KR1020170107187 A KR 1020170107187A KR 20170107187 A KR20170107187 A KR 20170107187A KR 20190021852 A KR20190021852 A KR 20190021852A
Authority
KR
South Korea
Prior art keywords
server
data
name
standby server
standby
Prior art date
Application number
KR1020170107187A
Other languages
Korean (ko)
Other versions
KR102350333B1 (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 KR1020170107187A priority Critical patent/KR102350333B1/en
Publication of KR20190021852A publication Critical patent/KR20190021852A/en
Application granted granted Critical
Publication of KR102350333B1 publication Critical patent/KR102350333B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing

Abstract

The present invention relates to a software upgrade method in a telephone exchange including one or more active servers and one or more standby servers, and a telephone exchange for the same. According to one embodiment of the present invention, the telephone exchange stores data including an attribute name identifier, a relation name identifier, and data size information by one or more active servers or one or more standby servers; receives data stored in the active server by a standby server corresponding to the active server from the one or more active servers; compares the attribute and relation name identifiers of the received data with the attribute and relation name identifiers of the data stored in the standby server wherein when the attribute name identifier or the relation name identifier of the received data does not exist in the standby server, the received data is not loaded to the standby server, and when the attribute name identifier or the relation name identifier of the received data exists in the standby server, the received data is loaded to the standby server; and upgrades software of the telephone exchange by using the data stored in the standby server. The present invention can prevent data or memory corruption in data synchronization when versions of each server are different in telephone exchange constructed with a multiplexed server.

Description

소프트웨어 업그레이드 방법 및 그를 위한 전화 교환기{METHOD FOR UPGRADING OF SOFTWARE AND PBX FOR THE SAME}METHOD FOR UPGRADING OF SOFTWARE AND PBX FOR THE SAME,

본 개시는 적어도 하나의 액티브 서버 및 적어도 하나의 스탠바이 서버를 포함하는 전화 교환기에서의 소프트웨어 업그레이드 방법에 관한 것이다.The present disclosure relates to a software upgrading method in a telephone exchange comprising at least one active server and at least one standby server.

서버 다중화 솔루션(액티브(ACT)-스탠바이(STB) 구성 또는 ACT-ACT 구성) 또는 지역 생존 솔루션(LCM)으로 구성된 하나의 전화 교환기 시스템은 여러 개의 서버들로 구성되며, 각각의 서버들이 Fail-over 되어 비상운용시 서비스의 연속성을 유지하기 위하여 시스템의 DBMS(database management system)는 항상 동기화가 이루어지도록 구현되어 있다.A telephone switching system consisting of a server multiplexing solution (active (ACT) - standby (STB) configuration or ACT-ACT configuration) or local survival solution (LCM) consists of several servers, In order to maintain the continuity of service during emergency operation, the DBMS (database management system) of the system is always implemented to be synchronized.

일반적으로 서버 다중화 솔루션 또는 지역 생존 솔루션 형태로 구성된 전화 교환기의 경우 계층을 이루어 구성되며, 이러한 계층적 구성에서 시스템의 DBMS가 기동 시 로딩되거나, 또는 실시간으로 DBMS 변경이 이루어질 수 있다.In general, a server multiplexing solution or a local survival solution is configured as a layer for a telephone exchange. In such a hierarchical structure, a DBMS of the system may be loaded at startup or a DBMS may be changed in real time.

첫째, 각각의 서버들은 기동 시 상위 서버로부터 DBMS를 파일로 덤프(Dump) 받아 메모리에 로딩하여 구동되게 되는데, DB 매니저 STB 서버 및 CCM의 ACT 서버들은 기동 시 DB 매니저 ACT 서버로부터, CCM STB 서버 및 LCM의 ACT 서버들은 기동 시 CCM ACT 서버부터, LCM의 STB 서버들은 LCM ACT 서버로부터 DBMS를 로딩하게 된다.First, each of the servers is dumped from the parent server to the file and loaded into the memory when the DB server is started. The DB manager STB server and the ACT servers of the CCM start from the DB manager ACT server, the CCM STB server, The ACT servers of the LCM are loaded from the CCM ACT server at startup, and the STB servers of the LCM load the DBMS from the LCM ACT server.

둘째, 이후 운용 중 Admin 사용자 인터페이스(User Interface)에서 DBMS가 변경되는 경우 실시간으로 DB 매니저 STB와 각 CCM의 ACT와 STB, 각 LCM의 ACT와 STB 서버로 동기화하게 된다.Second, if the DBMS is changed in the Admin User Interface, the DB Manager synchronizes with the DB Manager STB, ACT and STB of each CCM, ACT and STB of each LCM in real time.

각각의 DBMS 상위 서버에서 하위 서버로 동기화 시에는 모든 DBMS Relation에 유일한 ID를 할당하고, 각 Relation 내의 Attribute에도 유일한 ID를 부여하여, 이 ID들로 DBMS 동기화시 변경되는 DBMS를 식별하게 된다.When synchronizing from each DBMS parent server to the subordinate server, a unique ID is allocated to all DBMS Relations, and unique IDs are assigned to the attributes in each Relation, and DBMSs that are changed during DBMS synchronization are identified by these IDs.

도 1은 실제 데이터의 구성과 DBMS 동기화를 하기 위하여 ID 들을 부여한 예이며, Relation ID는 103, 그리고 각각의 Attribute는 0부터 4까지 순차적으로 할당하였다.FIG. 1 is an example of assigning IDs for real data configuration and DBMS synchronization, Relation ID is 103, and each attribute is sequentially allocated from 0 to 4.

만약 TenantSystemToneType이라는 Relation의 tone_index라는 Attribute에 변경이 발생한 경우 하위 서버로 동기화하기 위해서는 Relation 103의 Attribute 1이 변경이 일어났음을 HEX값 메시지로 알려주게 되고, 이 메시지를 수신한 하위 서버는 수신한 ID 값에서 데이터를 식별하여 변경 사항을 적용하게 된다.If a change is made to the attribute called tone_index of a relation called TenantSystemToneType, in order to synchronize to the lower server, Attribute 1 of Relation 103 informs the HEX value message that the change occurred and the lower server receiving this message receives the received ID value To identify the data and apply the changes.

종래의 DBMS의 ID를 이용한 메시지로 동기화하는 알고리즘은 DBMS 상위 서버의 버전과 하위 서버의 버전이 다른 경우 아래에 크게 3가지의 문제점을 가지고 있다.The algorithm of synchronizing messages using the ID of the conventional DBMS has three problems below when the version of the DBMS parent server is different from the version of the lower server.

첫째, 두 버전간 Attribute ID의 변경은 없지만 데이터가 사이즈가 변경된 경우 STB 서버에서 수신한 데이터 변경 HEX 메시지에서 무조건 2 Bytes 정보를 읽어내게 되므로 다음 데이터에 1 Byte를 읽어내는 오류가 발생하게 된다.First, there is no change of the Attribute ID between the two versions. However, if the size of the data is changed, 2 bytes information is unconditionally read from the data change HEX message received from the STB server, so an error of 1 byte is read to the next data.

둘째, 신규 버전에 데이터 변경이 발생하여 Attribute ID가 변경된 경우로 ACT와 STB의 ID가 다름으로 전혀 다른 데이터가 변경되는 오류가 발생하게 된다.Second, when the attribute ID is changed due to the data change in the new version, an error that completely different data is changed due to different ID of ACT and STB occurs.

셋째, Relation의 데이터 사이즈가 변경된 경우, STB 재기동시 덤프한 데이터파일에서 STB의 사이즈 기준으로 데이터를 읽어서 메모리 로딩함으로 가비지(Garbage) 데이터를 읽거나, 덤프한 데이터의 영역을 초과하여 읽어들이는 오류가 발생된다.Third, when the data size of the Relation is changed, the data is read from the data file dumped at STB restart according to the size of the STB and loaded into the memory, thereby reading the garbage data or reading the data beyond the area of the dumped data Is generated.

전술한 배경기술은 발명자가 본 실시의 도출을 위해 보유하고 있었거나, 본 실시의 도출 과정에서 습득한 기술 정보로서, 반드시 본 실시의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.The above-described background art is technical information acquired by the inventor for the purpose of deriving the present invention or acquired in the course of deriving the present invention, and is not necessarily a known technology disclosed to the general public prior to the filing of the present application.

본 개시는 적어도 하나의 액티브 서버 및 적어도 하나의 스탠바이 서버를 포함하는 전화 교환기에서의 소프트웨어 업그레이드 방법 및 그를 위한 전화 교환기를 제공한다.The present disclosure provides a software upgrading method and a telephone exchange therefor in a telephone exchange comprising at least one active server and at least one standby server.

본 개시의 실시예에 따른 적어도 하나의 액티브 서버 및 적어도 하나의 스탠바이 서버를 포함하는 전화 교환기에서의 소프트웨어 업그레이드 방법은, a) 적어도 하나의 액티브 서버 또는 적어도 하나의 스탠바이 서버에서 속성 식별명(attribute name identifier), 관계 식별명(relation name identifier) 및 데이터 사이즈 정보를 포함하여 데이터를 저장하도록 하는 단계; b) 적어도 하나의 액티브 서버 중 어느 하나의 액티브 서버로부터 액티브 서버에 대응하는 스탠바이 서버로 액티브 서버에 저장된 데이터를 송신하는 단계; c) 송신된 데이터의 속성 식별명 및 관계 식별명과 스탠바이 서버에 저장된 데이터의 속성 식별명 및 관계 식별명을 비교하여, 송신된 데이터의 속성 식별명 또는 관계 식별명이 스탠바이 서버에 존재하지 않을 경우 송신된 데이터를 스탠바이 서버로 로딩하지 않고, 송신된 데이터의 속성 식별명 또는 관계 식별명이 스탠바이 서버에 존재할 경우 송신된 데이터를 스탠바이 서버로 로딩하는 단계; 및 d) 스탠바이 서버에 저장된 데이터를 이용하여 전화 교환기의 소프트웨어 업그레이드를 수행하는 단계를 포함한다.A software upgrading method in a telephone exchange comprising at least one active server and at least one standby server according to an embodiment of the present disclosure comprises the steps of: a) providing at least one active server or at least one standby server with an attribute name identifier, a relation name identifier, and data size information; b) transmitting data stored in the active server from any one of the at least one active server to a standby server corresponding to the active server; c) comparing the attribute identification name and the relation distinguished name of the transmitted data with the attribute distinguishing name and the relation distinguishing name of the data stored in the standby server, and if the attribute distinguishing name or the relationship distinguishing name of the transmitted data does not exist in the standby server, Loading the transmitted data to the standby server when the attribute identification name or the relationship identifying name of the transmitted data exists in the standby server without loading the data into the standby server; And d) performing a software upgrade of the telephone exchange using data stored in the standby server.

또한 소프트웨어 업그레이드 방법에서, 스탠바이 서버에 저장된 데이터의 속성 식별명 및 관계 식별명이 송신된 데이터에 존재하지 않을 경우 스탠바이 서버에 저장된 데이터를 액티브 서버로 송신하는 단계; 및 스탠바이 서버에서 송신된 데이터를 액티브 서버에 저장하는 단계를 포함할 수 있다.Transmitting the data stored in the standby server to the active server when the property identification name and the relationship identification name of the data stored in the standby server do not exist in the transmitted data in the software upgrade method; And storing the transmitted data in the standby server in the active server.

또한 소프트웨어 업그레이드 방법에서, 단계 a)에 있어서, SQL(Structured Query Language)를 이용하여 속성 식별명, 관계 식별명 및 데이터 사이즈 정보를 포함하도록 데이터를 저장하는 단계를 포함할 수 있다.Also, in the software upgrade method, in step a), storing data to include attribute identification names, relationship distinguishing names, and data size information using SQL (Structured Query Language) may be included.

또한 소프트웨어 업그레이드 방법에서, 적어도 하나의 액티브 서버 및 적어도 하나의 스탠바이 서버는, 서버 다중화 솔루션 또는 지역 생존 솔루션 중 어느 하나의 형태로 구성될 수 있다.Also in the software upgrade method, the at least one active server and the at least one standby server may be configured in the form of either a server multiplexing solution or a local survival solution.

적어도 하나의 액티브 서버 및 적어도 하나의 스탠바이 서버를 포함하는 전화 교환기는, 속성 식별명(attribute name identifier), 관계 식별명(relation name identifier) 및 데이터 사이즈 정보를 포함하여 데이터를 저장하도록 제어하고, 적어도 하나의 액티브 서버 중 어느 하나의 액티브 서버로부터 액티브 서버에 대응하는 스탠바이 서버로, 액티브 서버에 저장된 데이터를 전송하도록 제어하며, 전송된 데이터의 속성 식별명 및 관계 식별명과 스탠바이 서버에 저장된 데이터의 속성 식별명 및 관계 식별명을 비교하여, 전송된 데이터의 속성 식별명 또는 관계 식별명이 스탠바이 서버에 존재하지 않을 경우 전송된 데이터를 스탠바이 서버로 로딩하지 않고, 수신된 데이터의 속성 식별명 또는 관계 식별명이 스탠바이 서버에 존재할 경우 수신된 데이터를 스탠바이 서버로 로딩하도록 제어하고, 스탠바이 서버에 저장된 데이터를 이용하여 전화 교환기의 소프트웨어 업그레이드를 수행하도록 제어하는 제어부; 및 속성 식별명, 관계 식별명 및 데이터 사이즈 정보를 저장하는 저장부를 포함할 수 있다.A telephone exchange including at least one active server and at least one standby server controls to store data including an attribute name identifier, a relation name identifier and data size information, The control unit controls to transfer data stored in the active server from one of the active servers to the standby server corresponding to the active server and controls the attribute identification name and the relation distinguished name of the transmitted data and the attribute identification of the data stored in the standby server And if the attribute identification name or the relation distinguished name of the transmitted data does not exist in the standby server, the transmitted data is not loaded into the standby server, and the attribute identification name or the relationship distinguished name of the received data is stored in the standby If it exists in the server, Controlled to load it to the server, by using the data stored in the standby server control unit for controlling to perform a software upgrade of the telephone exchange; And a storage unit for storing attribute identification names, relationship identification names, and data size information.

또한 전화 교환기에서, 제어부는, 스탠바이 서버에 저장된 데이터의 속성 식별명 및 관계 식별명이 전송된 데이터에 존재하지 않을 경우 스탠바이 서버에 저장된 데이터를 액티브 서버로 송신하고, 스탠바이 서버로부터 수신된 데이터를 액티브 서버에 저장할 수 있다.Also, in the telephone exchange, when the attribute identification name of the data stored in the standby server and the relationship distinguishing name do not exist in the transferred data, the control unit transmits the data stored in the standby server to the active server, Lt; / RTI >

또한 전화 교환기에서, 제어부는, SQL(Structured Query Language)를 이용하여 속성 식별명, 관계 식별명 및 데이터 사이즈 정보를 포함하도록 데이터를 저장할 수 있다.In addition, in the telephone exchange, the control unit can store the data to include the attribute identification name, the relationship distinguishing name, and the data size information using SQL (Structured Query Language).

또한 전화 교환기에서, 적어도 하나의 액티브 서버 및 적어도 하나의 스탠바이 서버는, 서버 다중화 솔루션 또는 지역 생존 솔루션 중 어느 하나의 형태로 구성될 수 있다.Also in the telephone exchange, the at least one active server and the at least one standby server may be configured in the form of either a server multiplexing solution or a local survival solution.

본 개시의 실시예에 따르면, 서버 다중화로 구성된 전화 교환기에서 각 서버간 버전이 상이한 경우 데이터 동기화 시 데이터 또는 메모리 오류(corruption)를 방지할 수 있다. According to the embodiment of the present disclosure, it is possible to prevent data or memory corruption in data synchronization when the versions between the servers are different in a telephone exchange configured by server multiplexing.

도 1은 DBMS 구조와 관계 ID 및 속성 ID의 구성을 보이는 예시도이다.
도 2는 본 개시의 실시예에 따른 소프트웨어 업그레이드 환경의 구성을 보이는 예시도이다.
도 3은 본 개시의 실시예에 따른 전화 교환기의 구성을 보이는 예시도이다.
도 4는 본 개시의 실시예에 따른 액티브 서버 및 스탠바이 서버에 저장된 데이터의 구성을 보이는 예시도이다.
도 5는 본 개시의 실시예에 따른 소프트웨어 업그레이드 방법의 절차를 보이는 흐름도이다.
1 is an exemplary view showing the configuration of a DBMS structure, a relation ID, and an attribute ID.
2 is an exemplary diagram illustrating a configuration of a software upgrade environment according to an embodiment of the present disclosure;
3 is an exemplary view showing a configuration of a telephone exchange according to an embodiment of the present disclosure;
FIG. 4 is a diagram illustrating a configuration of data stored in an active server and a standby server according to an embodiment of the present disclosure; FIG.
5 is a flow chart illustrating the procedure of a software upgrade method in accordance with an embodiment of the present disclosure.

본 개시의 실시예들은 본 개시의 기술적 사상을 설명하기 위한 목적으로 예시된 것이다. 본 개시에 따른 권리범위가 이하에 제시되는 실시예들이나 이들 실시예들에 대한 구체적 설명으로 한정되는 것은 아니다.The embodiments of the present disclosure are illustrated for the purpose of describing the technical idea of the present disclosure. The scope of the claims according to the present disclosure is not limited to the embodiments described below or to the detailed description of these embodiments.

본 개시에 사용되는 모든 기술적 용어들 및 과학적 용어들은, 달리 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 일반적으로 이해되는 의미를 갖는다. 본 개시에 사용되는 모든 용어들은 본 개시를 더욱 명확히 설명하기 위한 목적으로 선택된 것이며 본 개시에 따른 권리범위를 제한하기 위해 선택된 것이 아니다.All technical and scientific terms used in the present disclosure have the meaning commonly understood by one of ordinary skill in the art to which this disclosure belongs unless otherwise defined. All terms used in the disclosure are selected for the purpose of more clearly illustrating the disclosure and are not chosen to limit the scope of the rights under the present disclosure.

본 개시에서 사용되는 "포함하는", "구비하는", "갖는", "가지는" 등과 같은 표현은, 해당 표현이 포함되는 어구 또는 문장에서 달리 언급되지 않는 한, 다른 실시예를 포함할 가능성을 내포하는 개방형 용어(open-ended terms)로 이해되어야 한다.As used in this disclosure, the terms "comprising", "having", "having", "having", and the like are to be construed as including the possibility of including other embodiments, unless the context requires otherwise Should be understood as open-ended terms.

본 개시에서 기술된 단수형의 표현은 달리 언급하지 않는 한 복수형의 의미를 포함할 수 있으며, 이는 청구범위에 기재된 단수형의 표현에도 마찬가지로 적용된다.The expressions of the singular forms described in this disclosure may include plural meanings unless the context clearly dictates otherwise, and the same applies to the singular expressions set forth in the claims.

본 개시에서 사용되는 "제1", "제2" 등의 표현들은 복수의 구성요소들을 상호 구분하기 위해 사용되며, 해당 구성요소들의 순서 또는 중요도를 한정하는 것은 아니다.As used in this disclosure, expressions such as " first ", "second ", and the like are used to distinguish a plurality of components from each other and do not limit the order or importance of the components.

본 개시에서 사용되는 용어 "부"는, 소프트웨어, 또는 FPGA(field-programmable gate array), ASIC(application specific integrated circuit)과 같은 하드웨어 구성요소를 의미한다. 그러나, "부"는 하드웨어 및 소프트웨어에 한정되는 것은 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서, "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세서, 함수, 속성, 프로시저, 서브루틴, 프로그램 코드의 세그먼트, 드라이버, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조, 테이블, 어레이 및 변수를 포함한다. 구성요소와 "부" 내에서 제공되는 기능은 더 작은 수의 구성요소 및 "부"로 결합되거나 추가적인 구성요소와 "부"로 더 분리될 수 있다.The term "part " as used in this disclosure refers to hardware components such as software or an FPGA (field-programmable gate array), ASIC (application specific integrated circuit). However, "part" is not limited to hardware and software. "Part" may be configured to reside on an addressable storage medium, and may be configured to play back one or more processors. Thus, by way of example, and not limitation, "part (s) " may include but are not limited to elements such as software components, object oriented software components, class components and task components, Microcode, circuitry, data, databases, data structures, tables, arrays, and variables of program code. The functions provided within the component and the "part " may be combined into a smaller number of components and" parts " or further separated into additional components and "parts ".

본 개시에서 사용되는 "~에 기초하여"라는 표현은, 해당 표현이 포함되는 어구 또는 문장에서 기술되는, 결정, 판단의 행위 또는 동작에 영향을 주는 하나 이상의 인자를 기술하는데 사용되며, 이 표현은 결정, 판단의 행위 또는 동작에 영향을 주는 추가적인 인자를 배제하지 않는다.As used in this disclosure, the expression "based on" is used to describe one or more factors affecting an action or an action of a decision, judgment, as described in the phrase or sentence in which the expression is contained, It does not exclude any additional factors that affect the decision, act of judgment or action.

본 개시에서, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 경우, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결될 수 있거나 접속될 수 있는 것으로, 또는 새로운 다른 구성요소를 매개로 하여 연결될 수 있거나 접속될 수 있는 것으로 이해되어야 한다.In the present disclosure, when an element is referred to as being "connected" or "connected" to another element, it is to be understood that the element may be directly connected to or connected to the other element, But may be connected or connected via other components.

이하, 첨부한 도면들을 참조하여, 본 개시의 실시예들을 설명한다.  첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지 않는다.Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. In the accompanying drawings, the same or corresponding components are denoted by the same reference numerals. In the following description of the embodiments, description of the same or corresponding components may be omitted. However, even if the description of the components is omitted, such components are not intended to be included in any embodiment.

도 2는 본 개시의 실시예에 따른 소프트웨어 업그레이드 환경(200)의 구성을 보이는 예시도이다.2 is an exemplary diagram illustrating the configuration of a software upgrade environment 200 in accordance with an embodiment of the present disclosure.

도 2에 도시한 바와 같이, 소프트웨어 업그레이드 환경(200)은 적어도 하나의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n), 적어도 하나의 액티브 서버 각각에 상응하는 스탠바이 서버(220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ... ,220-n) 및 전화 교환기(230)를 포함할 수 있다. 각각의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 및 각각의 스탠바이 서버(220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ... ,220-n)는 속성 식별명(attribute name identifier), 관계 식별명(relation name identifier) 및 데이터 사이즈 정보를 포함하여 데이터를 저장할 수 있다. 각각의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 및 각각의 스탠바이 서버(220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ... ,220-n)는 기동 시에 상위 서버로부터 데이터를 수신하고 메모리에 로딩하여 구동하게 된다. 또한, 각각의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 및 각각의 스탠바이 서버(220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ... ,220-n)는 운용 중 특정 서버(예를 들어, 210-1)에 저장된 데이터가 변경되는 경우 실시간으로 다른 서버들(예를 들어, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n, 220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ... ,220-n)에서 저장된 데이터의 동기화가 수행될 수 있다.As shown in FIG. 2, the software upgrade environment 200 includes at least one active server 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210 220-2, 220-3, 220-4, 220-5, 220-6, ..., 220-n corresponding to at least one active server, And may include an exchange 230. Each of the active servers 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210-n and each of the standby servers 220-1, 220-2 220-3, 220-4, 220-5, 220-6, ..., 220-n include attribute name identifiers, relation name identifiers, and data size information Data can be stored. Each of the active servers 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210-n and each of the standby servers 220-1, 220-2 , 220-3, 220-4, 220-5, 220-6, ..., 220-n receive data from the upper server at the time of startup, and load the data into the memory. Each of the active servers 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210-n and each standby server 220-1, 220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ..., 220-n are operated in real time when data stored in a specific server (for example, 210-1) 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210-n, 220-1, 220-2, 220-3, 220- 4, 220-5, 220-6, ..., 220-n.

일 실시예에 따르면, 적어도 하나의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 중 어느 하나의 액티브 서버(예를 들어, 210-1)로부터 액티브 서버(210-1)에 대응하는 스탠바이 서버(220-1)로 송신된 데이터의 속성 식별명 및 관계 식별명과 액티브 서버(210-1)에 대응하는 스탠바이 서버(220-1)에 저장된 데이터의 속성 식별명 및 관계 식별명을 비교하여, 송신된 데이터의 속성 식별명 또는 관계 식별명이 스탠바이 서버(220-1)에 존재하지 않을 경우 송신된 데이터를 스탠바이 서버(220-1)로 로딩하지 않고, 송신된 데이터의 속성 식별명 또는 관계 식별명이 스탠바이 서버(220-1)에 존재할 경우 송신된 데이터를 스탠바이 서버(220-1)로 로딩할 수 있다.According to one embodiment, any one of the active servers 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210- Corresponding to the active server 210-1 and the attribute identification name and the relationship distinguished name of the data transmitted from the standby server 220-1 (for example, 210-1) to the standby server 220-1 corresponding to the active server 210-1, If the attribute identification name or the relationship identification name of the transmitted data does not exist in the standby server 220-1, the data transmitted to the standby server 220-1 is compared with the attribute identification name of the data stored in the server 220-1, It is possible to load the transmitted data into the standby server 220-1 when the attribute identification name or the relational distinguished name of the transmitted data exists in the standby server 220-1 without loading the data into the standby server 220-1.

적어도 하나의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 및 적어도 하나의 액티브 서버 각각에 상응하는 스탠바이 서버(220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ... ,220-n)는 서버 다중화 솔루션 또는 지역 생존 솔루션 중 어느 하나의 형태로 구성될 수 있지만, 이에 한정되지 않는다.A standby server corresponding to each of at least one active server 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210- 220-2, 220-3, 220-4, 220-5, 220-6, ..., 220-n may be configured in any one of a server multiplexing solution or a local survival solution However, it is not limited thereto.

전화 교환기(230)는 적어도 하나의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 중 어느 하나의 액티브 서버(예를 들어, 210-1)로부터 액티브 서버(210-1)에 대응하는 스탠바이 서버(220-1)로 액티브 서버(210-1)에 저장된 데이터를 송신하도록 할 수 있다. 또한, 전화 교환기(230)는 스탠바이 서버(220-1)에 저장된 데이터를 이용하여 전화 교환기(230)에 사용되는 소프트웨어의 업그레이드를 수행할 수 있다.The telephone exchanger 230 is connected to any one of the active servers 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210- (For example, 210-1) to the standby server 220-1 corresponding to the active server 210-1 to the active server 210-1. In addition, the telephone exchange 230 can perform an upgrade of software used in the telephone exchange 230 using the data stored in the standby server 220-1.

도 3은 본 개시의 실시예에 따른 전화 교환기(230)의 구성을 보이는 예시도이다.3 is an exemplary diagram illustrating the configuration of a telephone exchange 230 according to an embodiment of the present disclosure.

도 3에 도시된 바와 같이, 전화 교환기(230)는 제어부(232), 저장부(234), 송수신부(236) 및 시스템 버스(238)를 포함할 수 있으며, 제어부(232), 저장부(234) 및 송수신부(236)는 시스템 버스(238)를 통하여 서로 통신 가능하도록 연결될 수 있다.3, the telephone exchange 230 may include a control unit 232, a storage unit 234, a transmission / reception unit 236, and a system bus 238, and may include a control unit 232, a storage unit 234 and the transceiver 236 may be connected to each other via the system bus 238 so that they can communicate with each other.

제어부(232)는 적어도 하나의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 및 적어도 하나의 스탠바이 서버(220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ... ,220-n)에 데이터를 저장하도록 할 수 있다. 일 실시예로서, 적어도 하나의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 및 적어도 하나의 스탠바이 서버(220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ... ,220-n)에 데이터를 저장할 경우 SQL(Structured Query Language)를 이용하여 속성 식별명, 관계 식별명 및 데이터 사이즈 정보를 포함하도록 데이터를 저장할 수 있다.The control unit 232 includes at least one active server 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210- 220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ..., 220-n. In one embodiment, at least one active server 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210- 220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ..., 220-n, And may store the data to include the relationship identification name and data size information.

또한, 제어부(232)는 적어도 하나의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 중 어느 하나의 액티브 서버(예를 들어, 210-1)에 저장된 데이터를 액티브 서버(210-1)에 대응하는 스탠바이 서버(220-1)로 송신하도록 할 수 있다.Also, the control unit 232 controls the operation of any one of the at least one active server 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210- And transmit the data stored in the server (for example, 210-1) to the standby server 220-1 corresponding to the active server 210-1.

또한, 제어부(232)는 액티브 서버(210-1)로부터 송신된 데이터의 속성 식별명 및 관계 식별명과 스탠바이 서버(220-1)에 저장된 데이터의 속성 식별명 및 관계 식별명을 비교하여, 송신된 데이터의 속성 식별명 또는 관계 식별명이 스탠바이 서버(220-1)에 존재하지 않을 경우 송신된 데이터를 스탠바이 서버(220-1)로 로딩하지 않고, 송신된 데이터의 속성 식별명 또는 관계 식별명이 스탠바이 서버(220-1)에 존재할 경우 송신된 데이터를 스탠바이 서버(220-1)로 로딩하도록 할 수 있다. 이와 같이, 액티브 서버(210-1)로부터 송신된 데이터와 스탠바이 서버(220-1)에 저장된 데이터를 속성 식별명 및 관계 식별명을 이용하여 식별하기 때문에 데이터 사이즈가 변경된 경우나 데이터 자체의 변경이 발생한 경우에도 오류가 발생하는 현상을 방지할 수 있다. 또한, 제어부(232)는 스탠바이 서버에 저장된 데이터를 이용하여 전화 교환기(230)의 소프트웨어 업그레이드를 수행하도록 할 수 있다.The control unit 232 compares the attribute identification name and the relation distinguished name of the data transmitted from the active server 210-1 with the attribute distinguishing name and the relation distinguishing name of the data stored in the standby server 220-1, When the attribute identification name or the relationship identification name of the data does not exist in the standby server 220-1, the transmitted data is not loaded into the standby server 220-1, and the attribute identification name or the relationship identification name of the transmitted data is stored in the standby server 220-1. And may transmit the transmitted data to the standby server 220-1 when the data exists in the standby server 220-1. In this way, since the data transmitted from the active server 210-1 and the data stored in the standby server 220-1 are identified by using the attribute identification name and the relationship distinguishing name, when the data size is changed or the data itself is changed It is possible to prevent the occurrence of an error even when it occurs. In addition, the control unit 232 may perform the software upgrade of the telephone exchange 230 using the data stored in the standby server.

저장부(234)는 전화 교환기(230)가 복수의 단말 간의 전화 교환을 수행할 수 있도록 하기 위한 복수의 단말의 ID(identification) 정보, 복수의 단말의 통화 경로에 대한 정보, 복수의 단말의 통화 가능 상태에 대한 정보 등을 포함할 수 있다. 또한, 저장부(234)는 적어도 하나의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 및 적어도 하나의 스탠바이 서버(220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ... ,220-n)에 저장된 데이터의 동기화를 수행하기 위한 정보를 저장할 수 있다. 일 실시예에 따르면, 저장부(234)는 SQL(Structured Query Language)를 이용하여 속성 식별명, 관계 식별명 및 데이터 사이즈 정보를 포함하도록 데이터를 저장할 수 있다. 일 실시예에 따르면, 저장부(234)는 ROM(Read Only Memory), RAM(Random Access Memory), CD(Compact Disc)-ROM, 자기 테이프(Magnetic Tape), 플로피 디스크(Floppy Disc), 광데이터(Optical Data) 저장장치의 형태로 구현되될 수 있으나, 이러한 구현에 한정되는 것은 아니다.The storage unit 234 stores identification information of a plurality of terminals, information on call paths of a plurality of terminals, information of a plurality of terminals, Information about the available state, and the like. Also, the storage unit 234 includes at least one active server 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210- May store information for performing synchronization of data stored in the standby servers 220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ..., 220-n. According to one embodiment, the storage unit 234 may store data to include an attribute identification name, a relation distinguishing name, and data size information using SQL (Structured Query Language). According to one embodiment, the storage unit 234 may be a ROM (Read Only Memory), a RAM (Random Access Memory), a CD (Compact Disc) -ROM, a magnetic tape, a floppy disc, (Optical Data) storage device, but the present invention is not limited thereto.

송수신부(236)는 전화 교환기(230)가 복수의 단말 간의 전화 교환을 수행할 수 있도록 하기 위하여 복수의 단말로부터 통화 요청 신호 또는 패킷 등을 수신할 수 있고, 전화 교환기(230)에서 전화 교환을 위하여 각종 처리가 수행된 통화 요청 신호 또는 패킷 등을 통화 대상 단말로 송신할 수 있다. 또한, 송수신부(236)는 적어도 하나의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 및 적어도 하나의 스탠바이 서버(220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ... ,220-n) 간의 데이터 동기화를 수행할 수 있도록 하기 위한 신호들을 송수신할 수 있다. 일 실시예에 따르면, 송수신부(236)는 특정 액티브 서버(210-1)에 에러가 발생할 경우 에러가 발생한 액티브 서버(210-1)에게 저장된 데이터를 대응하는 스탠바이 서버(220-1)로 송신하도록 하기 위한 신호를 송신할 수 있고, 액티브 서버(210-1)로부터 송신된 데이터의 속성 식별명 및 관계 식별명과 스탠바이 서버(220-1)에 저장된 데이터의 속성 식별명 및 관계 식별명을 비교하여, 액티브 서버(210-1)로부터 송신된 데이터의 속성 식별명 또는 관계 식별명이 스탠바이 서버(220-1)에 존재하지 않을 경우 액티브 서버(210-1)로부터 송신된 데이터를 스탠바이 서버(220-1)로 로딩하지 않고, 액티브 서버(210-1)로부터 송신된 데이터의 속성 식별명 또는 관계 식별명이 스탠바이 서버(220-1)에 존재할 경우 액티브 서버(210-1)로부터 송신된 데이터를 스탠바이 서버(220-1)로 로딩하도록 하기 위한 신호를 송신할 수 있다.The transceiver 236 can receive a call request signal or a packet from a plurality of terminals so that the telephone exchange 230 can perform telephone exchange between a plurality of terminals, A call request signal or packet in which various processes have been performed can be transmitted to the target terminal. The transmitting and receiving unit 236 includes at least one active server 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210- It is possible to transmit and receive signals for performing data synchronization between the standby servers 220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ..., 220-n have. According to one embodiment, when an error occurs in a specific active server 210-1, the transmitting and receiving unit 236 transmits the data stored in the active server 210-1 to the corresponding standby server 220-1 And compares the attribute identification name and the relationship identification name of the data transmitted from the active server 210-1 with the attribute identification name and the relationship distinguishing name of the data stored in the standby server 220-1 The data transmitted from the active server 210-1 to the standby server 220-1 when the attribute identification name or the relationship identification name of the data transmitted from the active server 210-1 does not exist in the standby server 220-1 , The data transmitted from the active server 210-1 is transferred to the standby server 220-1 when the attribute identification name or the relationship identification name of the data transmitted from the active server 210-1 exists in the standby server 220-1 220-1) A signal for locking can be sent.

도 4는 본 개시의 실시예에 따른 액티브 서버 및 스탠바이 서버에 저장된 데이터의 구성을 보이는 예시도이다.FIG. 4 is a diagram illustrating a configuration of data stored in an active server and a standby server according to an embodiment of the present disclosure; FIG.

도 4에 도시된 바와 같이, 적어도 하나의 액티브 서버(210-1,210-2, 210-3, 210-4, 210-5, 210-6, ... , 210-n) 중 어느 하나의 액티브 서버(210-1)와 그에 대응하는 스탠바이 서버(220-1)에는 SQL 데이터가 가지고 있는 데이터의 관계 식별명(TenantSystemToneType) 및 속성 식별명(tone_type, tone_lock, token_id, token_repeat, tone_repeat_pause, moh_tone_index)으로 통신하여 서로 다른 버전 사이에 상이할 수 있는 ID 값에 의존하지 않고, 식별명이 가지는 데이터의 의미로 식별하여 통신하도록 할 수 있다.4, at least one active server 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ..., 210- (TenantSystemToneType) and an attribute identification name (tone_type, tone_lock, token_id, token_repeat, tone_repeat_pause, and moh_tone_index) of the data held in the SQL data are communicated to the data server 210-1 and the corresponding standby server 220-1 It is possible to identify and communicate with the meaning of the data having the identification name without depending on the ID value that can be different between the different versions.

일 실시예에 따르면, 액티브 서버(210-1)와 그에 대응하는 스탠바이 서버(220-1)에서 동일한 식별명을 갖는 데이터의 사이즈가 변경된 경우(410), 스탠바이 서버(220-1)의 데이터 사이즈를 기준으로 액티브 서버(210-1)로부터 송신된 데이터를 로딩하도록 할 수 있다.According to one embodiment, when the size of data having the same identification name is changed (410) in the active server 210-1 and the corresponding standby server 220-1, the data size of the standby server 220-1 It is possible to load the data transmitted from the active server 210-1 on the basis of the received data.

일 실시예에 따르면, 스탠바이 서버(220-1)에만 신규 추가된 데이터(420)는 스탠바이 서버(220-1)의 SQL 데이터에 자동 추가되지만, 대응하는 액티브 서버(210-1)로부터 추가된 데이터 식별명의 변경에 대한 안내 메시지는 수신되지 않는다.According to one embodiment, data 420 newly added to the standby server 220-1 is automatically added to the SQL data of the standby server 220-1, but data added from the corresponding active server 210-1 The guidance message for changing the distinguished name is not received.

일 실시예에 따르면, 스탠바이 서버(220-1)의 재기동 시 전체 데이터의 사이즈가 변경된 경우(420)라도 각 데이터의 식별명을 기준으로 존재 여부를 판단하여 로딩하도록 할 수 있다. 상기한 바와 같은 방법으로 액티브 서버(210-1) 및 스탠바이 서버(220-1)에 저장된 데이터를 동기화를 수행하기 때문에 스탠바이 서버(220-1)에 저장된 데이터에 오류가 발생하는 현상을 방지할 수 있다.According to an embodiment, even if the size of the entire data is changed (420) at the time of restarting the standby server 220-1, the presence or absence of each data can be determined based on the distinguished name of each data. Since the data stored in the active server 210-1 and the standby server 220-1 are synchronized in the above-described manner, it is possible to prevent an error in the data stored in the standby server 220-1 have.

도 5는 본 개시의 실시예에 따른 소프트웨어 업그레이드 방법의 절차를 보이는 흐름도이다. 본 흐름도에서 프로세스 단계들, 방법 단계들, 알고리즘들 등이 순차적인 순서로 설명되었지만, 그러한 프로세스들, 방법들 및 알고리즘들은 임의의 적합한 순서로 작동하도록 구성될 수 있다.  다시 말하면, 본 개시의 다양한 실시예들에서 설명되는 프로세스들, 방법들 및 알고리즘들의 단계들이 본 개시에서 기술된 순서로 수행될 필요는 없다. 또한, 일부 단계들이 비동시적으로 수행되는 것으로서 설명되더라도, 다른 실시예에서는 이러한 일부 단계들이 동시에 수행될 수 있다.  또한, 도면에서의 묘사에 의한 프로세스의 예시는 예시된 프로세스가 그에 대한 다른 변화들 및 수정들을 제외하는 것을 의미하지 않으며, 예시된 프로세스 또는 그의 단계들 중 임의의 것이 본 개시의 다양한 실시예들 중 하나 이상에 필수적임을 의미하지 않으며, 예시된 프로세스가 바람직하다는 것을 의미하지 않는다.5 is a flow chart illustrating the procedure of a software upgrade method in accordance with an embodiment of the present disclosure. Although process steps, method steps, algorithms, and the like have been described in this flowchart in a sequential order, such processes, methods, and algorithms may be configured to operate in any suitable order. In other words, the steps of the processes, methods and algorithms described in the various embodiments of the present disclosure need not be performed in the order described in this disclosure. Also, although some of the steps are described as being performed asynchronously, some of these steps may be performed concurrently in other embodiments. Also, an illustration of a process by way of illustration in the drawings is not intended to imply that the illustrated process excludes other variations and modifications thereto, and that any of the illustrated processes or steps thereof may be used in various embodiments of the present disclosure Does not imply that it is necessary for more than one, and does not mean that the illustrated process is preferred.

도 5에 도시된 바와 같이, 단계(S510)에서, 액티브 서버 또는 스탠바이 서버에서 속성 식별명, 관계 식별명 및 데이터 사이즈 정보를 포함하여 데이터가 저장될 수 있다. 예를 들어, 도 2 내지 도 4를 참조하면, 적어도 하나의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 및 적어도 하나의 액티브 서버 각각에 상응하는 스탠바이 서버(220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ... ,220-n)는 데이터를 저장 시 ID 값이 아닌 속성 식별명, 관계 식별명 및 데이터 사이즈 정보를 포함하여 데이터를 저장하도록 할 수 있다.As shown in Fig. 5, in step S510, data may be stored in the active server or the standby server, including the attribute identification name, the relation distinguishing name, and the data size information. For example, referring to FIGS. 2-4, at least one active server 210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... 210- And standby servers 220-1, 220-2, 220-3, 220-4, 220-5, 220-6, ..., 220-n corresponding to each of the at least one active server It is possible to store the data including the attribute identification name, the relationship identification name, and the data size information instead of the time ID value.

단계(S520)에서, 액티브 서버에 저장된 데이터가 대응하는 스탠바이 서버로 송신될 수 있다. 예를 들어, 도 2 내지 도 4를 참조하면, 스탠바이 서버를 기동할 경우 또는 저장된 데이터의 변경이 발생한 경우 적어도 하나의 액티브 서버(210-1, 210-2, 210-3, 210-4, 210-5, 210-6, ... ,210-n) 중 어느 하나의 액티브 서버(예를 들어, 210-1)로부터 대응하는 스탠바이 서버(220-1)로 데이터를 송신할 수 있다.In step S520, the data stored in the active server may be transmitted to the corresponding standby server. For example, referring to FIG. 2 to FIG. 4, at least one active server 210-1, 210-2, 210-3, 210-4, 210 (For example, 210-1) of any one of the standby servers 220-1, 210-2, ..., 210-6, ..., 210-n.

단계(S530)에서, 송신된 데이터와 스탠바이 서버에 저장된 데이터의 속성 식별명 또는 관계 식별명이 비교될 수 있다. 예를 들어, 도 2 내지 도 4를 참조하면, 송신된 데이터의 속성 식별명 및 관계 식별명이 스탠바이 서버(220-1)에 존재하지 않을 경우 송신된 데이터를 스탠바이 서버(220-1)로 로딩하지 않고 종료할 수 있고, 송신된 데이터의 속성 식별명 및 관계 식별명이 스탠바이 서버(220-1)에 존재할 경우 송신된 데이터를 스탠바이 서버(220-1)로 로딩(S550)할 수 있다. 또한, 스탠바이 서버(220-1)에만 존재하는 속성 식별명 및 관계 식별명을 갖는 데이터에 대해서는 스탠바이 서버(220-1)의 SQL 데이터에 자동 추가될 수 있다(S540).In step S530, the transmitted data and the attribute distinguished name or the relational distinguished name of the data stored in the standby server can be compared. For example, referring to FIGS. 2 to 4, when the attribute identification name and the relationship identification name of the transmitted data do not exist in the standby server 220-1, the transmitted data is not loaded into the standby server 220-1 And if the attribute identification name and the relationship identification name of the transmitted data exist in the standby server 220-1, the transmitted data can be loaded into the standby server 220-1 (S550). The data having the attribute identification name and the relationship distinguishing name that exist only in the standby server 220-1 can be automatically added to the SQL data of the standby server 220-1 (S540).

상기 방법은 특정 실시예들을 통하여 설명되었지만, 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.  컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.  컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.  또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.  그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 개시가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.Although the method has been described through particular embodiments, the method may also be implemented as computer readable code on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission via the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. And, functional programs, codes, and code segments for implementing the above embodiments can be easily inferred by programmers in the technical field to which this disclosure belongs.

본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 개시가 속하는 기술분야의 당업자가 이해할 수 있는 본 개시의 정신 및 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다.  또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present disclosure has been described in connection with some embodiments herein, it should be understood that various modifications and changes may be made thereto without departing from the spirit and scope of the present disclosure as will be apparent to those skilled in the art to which this disclosure belongs. something to do. It is also contemplated that such variations and modifications are within the scope of the claims appended hereto.

200: 소프트웨어 업그레이드 환경 210-1, ... ,210-n: 액티브 서버
220-1, ... ,220-n: 스탠바이 서버 230: 전화 교환기
232: 제어부 234: 저장부
236: 송수신부 238: 시스템 버스
200: software upgrade environment 210-1, ..., 210-n:
220-1, ..., 220-n: Standby server 230: Telephone exchange
232: control unit 234:
236: Transmitting / receiving unit 238:

Claims (8)

적어도 하나의 액티브 서버 및 적어도 하나의 스탠바이 서버를 포함하는 전화 교환기에서의 소프트웨어 업그레이드 방법으로서,
a) 상기 적어도 하나의 액티브 서버 또는 상기 적어도 하나의 스탠바이 서버에서 속성 식별명(attribute name identifier), 관계 식별명(relation name identifier) 및 데이터 사이즈 정보를 포함하여 데이터를 저장하도록 하는 단계;
b) 상기 적어도 하나의 액티브 서버 중 어느 하나의 액티브 서버로부터 상기 액티브 서버에 대응하는 스탠바이 서버로 상기 액티브 서버에 저장된 데이터를 송신하는 단계;
c) 송신된 데이터의 속성 식별명 및 관계 식별명과 상기 스탠바이 서버에 저장된 데이터의 속성 식별명 및 관계 식별명을 비교하여, 상기 송신된 데이터의 속성 식별명 또는 관계 식별명이 상기 스탠바이 서버에 존재하지 않을 경우 상기 송신된 데이터를 상기 스탠바이 서버로 로딩하지 않고, 상기 송신된 데이터의 속성 식별명 또는 관계 식별명이 상기 스탠바이 서버에 존재할 경우 상기 송신된 데이터를 상기 스탠바이 서버로 로딩하는 단계; 및
d) 상기 스탠바이 서버에 저장된 데이터를 이용하여 상기 전화 교환기의 소프트웨어 업그레이드를 수행하는 단계를 포함하는, 소프트웨어 업그레이드 방법.
A software upgrading method in a telephone exchange comprising at least one active server and at least one standby server,
a) storing data including an attribute name identifier, a relation name identifier and data size information in the at least one active server or the at least one standby server;
b) transmitting data stored in the active server from any one of the at least one active server to a standby server corresponding to the active server;
c) comparing the attribute identification name and the relation distinguished name of the transmitted data with the attribute distinguishing name and the relation distinguishing name of the data stored in the standby server, and if the attribute identification name or the relationship distinguishing name of the transmitted data does not exist in the standby server Loading the transmitted data to the standby server when the transmitted data is not loaded in the standby server and an attribute identification name or a relationship distinguishing name of the transmitted data exists in the standby server; And
d) performing a software upgrade of the telephone exchange using data stored in the standby server.
제1항에 있어서,
상기 단계 c)에 있어서,
상기 스탠바이 서버에 저장된 데이터의 속성 식별명 및 관계 식별명이 상기 송신된 데이터에 존재하지 않을 경우 상기 스탠바이 서버에 저장된 데이터를 상기 액티브 서버로 송신하는 단계; 및
상기 스탠바이 서버에서 송신된 데이터를 상기 액티브 서버에 저장하는 단계를 포함하는,
소프트웨어 업그레이드 방법.
The method according to claim 1,
In the step c)
Transmitting data stored in the standby server to the active server when an attribute identification name and a relationship identification name of data stored in the standby server do not exist in the transmitted data; And
And storing the data transmitted from the standby server in the active server.
How to upgrade your software.
제1항에 있어서,
상기 단계 a)에 있어서,
SQL(Structured Query Language)를 이용하여 상기 속성 식별명, 상기 관계 식별명 및 데이터 사이즈 정보를 포함하도록 상기 데이터를 저장하는 단계를 포함하는,
소프트웨어 업그레이드 방법.
The method according to claim 1,
In the step a)
Storing the data to include the attribute identification name, the relationship distinguishing name, and the data size information using SQL (Structured Query Language)
How to upgrade your software.
제1항에 있어서,
상기 적어도 하나의 액티브 서버 및 상기 적어도 하나의 스탠바이 서버는,
서버 다중화 솔루션 또는 지역 생존 솔루션 중 어느 하나의 형태로 구성되는,
소프트웨어 업그레이드 방법.
The method according to claim 1,
Said at least one active server and said at least one standby server,
A server multiplexing solution or a local survival solution,
How to upgrade your software.
적어도 하나의 액티브 서버 및 적어도 하나의 스탠바이 서버를 포함하는 전화 교환기로서,
속성 식별명(attribute name identifier), 관계 식별명(relation name identifier) 및 데이터 사이즈 정보를 포함하여 데이터를 저장하도록 제어하고, 상기 적어도 하나의 액티브 서버 중 어느 하나의 액티브 서버로부터 상기 액티브 서버에 대응하는 스탠바이 서버로, 상기 액티브 서버에 저장된 데이터를 전송하도록 제어하며, 전송된 데이터의 속성 식별명 및 관계 식별명과 상기 스탠바이 서버에 저장된 데이터의 속성 식별명 및 관계 식별명을 비교하여, 상기 전송된 데이터의 속성 식별명 또는 관계 식별명이 상기 스탠바이 서버에 존재하지 않을 경우 상기 전송된 데이터를 상기 스탠바이 서버로 로딩하지 않고, 상기 수신된 데이터의 속성 식별명 또는 관계 식별명이 상기 스탠바이 서버에 존재할 경우 상기 수신된 데이터를 상기 스탠바이 서버로 로딩하도록 제어하고, 상기 스탠바이 서버에 저장된 데이터를 이용하여 상기 전화 교환기의 소프트웨어 업그레이드를 수행하도록 제어하는 제어부; 및
상기 속성 식별명, 상기 관계 식별명 및 상기 데이터 사이즈 정보를 저장하는 저장부를 포함하는,
전화 교환기.
A telephone exchange comprising at least one active server and at least one standby server,
Wherein the control unit controls to store data including an attribute name identifier, a relation name identifier, and data size information, and controls to store data from any of the at least one active server to the active server A standby server for controlling the data to be stored in the active server to be transmitted, comparing an attribute identification name and a relation identification name of the transmitted data with an attribute identification name and a relation distinguishing name of data stored in the standby server, If the attribute identification name or the relationship distinguishing name does not exist in the standby server, the transferred data is not loaded on the standby server, and if the attribute identification name or the relationship distinguishing name of the received data exists in the standby server, To the standby server A control unit for controlling the software upgrade of the telephone exchange using data stored in the standby server; And
And a storage unit for storing the attribute identification name, the relationship distinguishing name, and the data size information.
Telephone switch.
제5항에 있어서,
상기 제어부는,
상기 스탠바이 서버에 저장된 데이터의 속성 식별명 및 관계 식별명이 상기 전송된 데이터에 존재하지 않을 경우 상기 스탠바이 서버에 저장된 데이터를 상기 액티브 서버로 송신하고, 상기 스탠바이 서버로부터 수신된 데이터를 상기 액티브 서버에 저장하는,
전화 교환기.
6. The method of claim 5,
Wherein,
And transmitting the data stored in the standby server to the active server when the attribute identification name and the relation distinguishing name of the data stored in the standby server do not exist in the transferred data and storing the data received from the standby server in the active server doing,
Telephone switch.
제5항에 있어서,
상기 제어부는,
SQL(Structured Query Language)를 이용하여 상기 속성 식별명, 상기 관계 식별명 및 데이터 사이즈 정보를 포함하도록 상기 데이터를 저장하는,
전화 교환기.
6. The method of claim 5,
Wherein,
Storing the data to include the attribute identification name, the relationship distinguishing name, and the data size information using SQL (Structured Query Language)
Telephone switch.
제5항에 있어서,
상기 적어도 하나의 액티브 서버 및 상기 적어도 하나의 스탠바이 서버는,
서버 다중화 솔루션 또는 지역 생존 솔루션 중 어느 하나의 형태로 구성되는,
전화 교환기.
6. The method of claim 5,
Said at least one active server and said at least one standby server,
A server multiplexing solution or a local survival solution,
Telephone switch.
KR1020170107187A 2017-08-24 2017-08-24 Method for upgrading of software and pbx for the same KR102350333B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170107187A KR102350333B1 (en) 2017-08-24 2017-08-24 Method for upgrading of software and pbx for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170107187A KR102350333B1 (en) 2017-08-24 2017-08-24 Method for upgrading of software and pbx for the same

Publications (2)

Publication Number Publication Date
KR20190021852A true KR20190021852A (en) 2019-03-06
KR102350333B1 KR102350333B1 (en) 2022-01-14

Family

ID=65761227

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170107187A KR102350333B1 (en) 2017-08-24 2017-08-24 Method for upgrading of software and pbx for the same

Country Status (1)

Country Link
KR (1) KR102350333B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001127884A (en) * 1999-10-29 2001-05-11 Fujitsu I-Network Systems Ltd Update method for diagnostic program for private branch exchange
KR20010092154A (en) * 2000-03-21 2001-10-24 김형순 Method and system for duplication of servers
KR100377864B1 (en) * 2000-04-10 2003-03-29 (주) 로커스네트웍스 System and method of communication for multiple server system
KR100433056B1 (en) * 2001-08-18 2004-05-24 엘지전자 주식회사 Method for Program Upgrade

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001127884A (en) * 1999-10-29 2001-05-11 Fujitsu I-Network Systems Ltd Update method for diagnostic program for private branch exchange
KR20010092154A (en) * 2000-03-21 2001-10-24 김형순 Method and system for duplication of servers
KR100377864B1 (en) * 2000-04-10 2003-03-29 (주) 로커스네트웍스 System and method of communication for multiple server system
KR100433056B1 (en) * 2001-08-18 2004-05-24 엘지전자 주식회사 Method for Program Upgrade

Also Published As

Publication number Publication date
KR102350333B1 (en) 2022-01-14

Similar Documents

Publication Publication Date Title
KR101150146B1 (en) System and method for managing cached objects using notification bonds
US9239767B2 (en) Selective database replication
US8949482B2 (en) Device management apparatus, device management system, information management method, information management program and recording medium storing the program therein
KR20080068110A (en) A method for processing data synchronization and client terminal, server and data synchronization system thereof
US9445162B2 (en) Interactive personal/internet protocol television reservation system, reservation plan management method and device
CN107544999B (en) Synchronization device and synchronization method for retrieval system, and retrieval system and method
CN102640108A (en) Monitoring of replicated data instances
US20230106118A1 (en) Distributed processing of transactions in a network using timestamps
JP2009535689A (en) Datastore filtered replication
US10069941B2 (en) Scalable event-based notifications
CN107168970A (en) A kind of distributed file system HDFS management method, apparatus and system
CN106850724B (en) Data pushing method and device
US20100030819A1 (en) Method, system and apparatus to seamlessly manage and access files across multiple devices
US7979392B2 (en) Method and apparatus for preventing duplicate saving of resource between universal plug and play devices providing content directory service
JP2007219598A (en) Multiplex database system, its synchronization method, database server, and database server program
CN108509296B (en) Method and system for processing equipment fault
CN111651419B (en) Data storage method, device and storage medium
US20090165082A1 (en) Directory infrastructure for social networking web application services
KR20190021852A (en) Method for upgrading of software and pbx for the same
US7748010B1 (en) Global attribute uniqueness (GAU) using an ordered message service (OMS)
CN114610509A (en) Calling parameter processing method, system, device, storage medium and product
CN115827316A (en) Data backup method, device, equipment and storage medium
CN112948178A (en) Data processing method, device, system, equipment and medium
KR20180120499A (en) Method for synchronizing of database and private branch exchange for the same
CN115396188A (en) Permission high-availability method and permission high-availability system based on edge multi-level cache

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