2.엔진 구조

Edit

2.1디렉토리 리스트

NEXUSCUBE 설치 시에 필수로 생성되는 디렉토리 리스트입니다.

표 2-1디렉토리 리스트

No

디렉토리명

용도

1

bin

엔진 Binary 파일이 위치하는 공간

2

conf

엔진의 환경설정 파일을 보관하는 공간

3

dbfile

통계 원시데이터를 파일의 형태로 보관하는 공간

4

include

NEXUSCUBE 헤더 파일을 보관하는 공간

5

lib

NEXUSCUBE 라이브러리를 보관하는 공간

6

log

엔진의 로그를 보관하는 공간

7

syslog

엔진의 system, fatal 로그(엔진 구동에 관한 중요 로그)를 보관하는 공간

8

master

콜센터 master 정보를 자동으로 파일로 저장 및 보관하는 공간

(매일 오전 2시에 생성합니다)

9

patch

엔진 컴파일 시 Binary 파일이 생성되는 공간

2.2bin

엔진 Binary 파일이 위치하는 공간입니다.

v2.4.x 버전에 nxharbor 프로세스 하나가 추가되었습니다.

2.2.1bin 디렉토리에서 process 목록

2.2.2엔진 구성 프로세스

표 2-2엔진 구성

구분

엔진(Total)

Shell

Emg

SHM

Media(기본)

v2.4.x

65 개

10 개

7 개

18 개

8 개

v2.5.x

66 개

10 개

7 개

18 개

8개

v2.6.x

67 개

10 개

7 개

18 개

13 개

2.3conf

엔진의 환경설정 파일을 보관하는 공간입니다.

표 2-3conf

No

디렉토리명

용도

1

process.conf

로그 레벨 / 3rd party 연동 / 부가기능 설정

2

global.conf

엔진 구동과 관련 설정(DB / autoset/로그 삭제 주기 / 이중화)

3

ipc.conf

Shared memory와 Message queue 사이즈를 설정

4

license.conf

라이센스 설정

5

Adaptor.conf

NEXUSCUBE-UI 접속 관련 설정

6

nxEboard.conf

전광판 설정

2.4dbfile

통계 원시데이터를 파일의 형태로 보관하는 공간입니다.

표 2-4dbfile

No

디렉토리명

용도

1

CALL_YYYYMMDD

호별 상세 정보

2

WORK_YYYYMMDD

상담원 근무 상세 정보

3

AGENT_YYYYMMDD

상담원 상태 정보

2.4.1역할

상담원의 로그인, 로그아웃 정보, 콜의 flow 및 정보, 작업 flow를 기록합니다.

2.4.2사용방법

vi/tail -f WORK_yyyymmdd
vi/tail -f AGENT_yyyymmdd
vi/tail -f CALL_yyyymmdd

2.4.3실행화면

주의

자세한 해석방식은 [NEXUSCUBE-DBFILE확인.xls]를 확인하세요.

이중화의 경우, 엔진 재시작할 때면 기존 파일은 CALL_20140422.엔진내린시간 으로 백업되고 이후 엔진을 올리면 CALL_20140422 파일에 로그가 생성됩니다.

2.5include

NEXUSCUBE 헤더 파일을 보관하는 공간입니다.

[cube@kmt-linux1 include]$ pwd
/cube/nexus/products/cube/include
[cube@kmt-linux1 include]$ ls -lrt
total 100
-rw-r--r-- 1 cube kmt 30546 Mar  5 13:23 cubedef.h
-rw-r--r-- 1 cube kmt 52201 Mar  5 13:23 cubepro.h
-rw-r--r-- 1 cube kmt 15827 Mar  5 13:23 cubeparm.h

2.6lib

NEXUSCUBE 라이브러리를 보관하는 공간입니다.

[cube@kmt-linux1 lib]$ pwd
/cube/nexus/products/cube/lib
[cube@kmt-linux1 lib]$ ls -lrt
total 7480
-rw-r--r-- 1 cube kmt   24336 Mar  5 13:23 libmlnk.a
-rw-r--r-- 1 cube kmt  432376 Mar  5 13:23 libcapiLINUX.a
-rw-r--r-- 1 cube kmt    2728 Mar  5 13:23 libos.a
-rw-r--r-- 1 cube kmt 1079132 Mar  5 13:23 libstate.a
-rw-r--r-- 1 cube kmt  230104 Mar  5 15:08 libcscript.a
-rw-r--r-- 1 cube kmt    7398 Mar  5 15:08 libcnid.a
-rw-r--r-- 1 cube kmt   88410 Mar  5 15:08 lib_LINUXORADbLib.a
-rw-r--r-- 1 cube kmt   20948 Mar  5 15:08 liblic.a
-rw-r--r-- 1 cube kmt   11534 Mar  5 15:08 libha.a
-rw-r--r-- 1 cube kmt    9286 Mar  5 15:08 libexif.a
-rw-r--r-- 1 cube kmt  224904 Mar  5 15:08 libcube.a
-rw-r--r-- 1 cube kmt  554544 Mar  5 15:08 libctmp.a
-rw-r--r-- 1 cube kmt 1433304 Mar  5 15:08 libmdb.a
-rw-r--r-- 1 cube kmt  462168 Mar  5 15:08 libpubsync.a
-rw-r--r-- 1 cube kmt  354024 Mar  5 15:08 libnxcapi.a
-rw-r--r-- 1 cube kmt  116774 Mar  5 15:08 libmod.a
-rw-r--r-- 1 cube kmt  486300 Mar  5 15:08 librepo.a
-rw-r--r-- 1 cube kmt  467520 Mar  5 15:08 libws.a
-rw-r--r-- 1 cube kmt   47656 Mar  5 15:08 libwapi.a
-rw-r--r-- 1 cube kmt  120154 Mar  5 15:08 libtxml.a
-rw-r--r-- 1 cube kmt   18276 Mar  5 15:08 libsync.a
-rw-r--r-- 1 cube kmt  738342 Mar  5 15:08 libsvc.a
-rw-r--r-- 1 cube kmt  165446 Mar  5 15:08 libzlib.a
-rw-r--r-- 1 cube kmt  516518 Mar  5 15:08 libxml.a

2.7log

엔진의 로그를 보관하는 공간입니다.
(YYYYMMDDHH.프로세스명-app-엔진IP-로그파일순번)
[cube@kmt-linux1 log]$ pwd    
/cube/nexus/products/cube/log
[cube@kmt-linux1 log]$ ls
2015030600.nxAdaptor-A-app-10.10.40.12-0
2015030600.nxAdaptor-I-app-10.10.40.12-0
2015030600.nxAdaptor-M-app-10.10.40.12-0
2015030600.nxAdaptor-P-app-10.10.40.12-0
2015030600.nxAdaptor-R-app-10.10.40.12-0
2015030600.nxAdaptor-S-app-10.10.40.12-0
2015030600.nxAdaptor-ST-app-10.10.40.12-0
2015030600.nxcontrol-app-10.10.40.12-0
2015030600.nxlistener-1200-10.10.40.12-0
2015030600.nxlistener-1201-10.10.40.40-0
2015030600.nxlistener-1202-10.10.40.40-0
2015030600.nxlistener-1203-10.10.40.40-0
2015030600.nxlistener-1210-10.10.40.40-0
2015030600.nxlistener-1211-10.10.40.40-0
2015030600.nxmedia_csta2-1-10.10.40.40-0
2015030600.nxrouting-app-10.10.40.40-0
2015030600.nxstate-app-10.10.40.40-0
...

2.8syslog

엔진의 system, fatal 로그(엔진 구동에 관한 중요 로그)를 보관하는 공간입니다.

[cube@kmt-linux1 syslog]$ pwd
/cube/nexus/products/cube/syslog
[cube@kmt-linux1 syslog]$ ls
fatal.20150331  fatal.20150405  fatal.20150416   system.20150403  system.20150414
fatal.20150402  fatal.20150406  system.20150327  system.20150404  system.20150416
fatal.20150403  fatal.20150408  system.20150331  system.20150405
fatal.20150404  fatal.20150414  system.20150402  system.20150406

2.9master

센터 master 정보를 자동으로 파일로 저장 및 보관하는 공간입니다.
(매일 오전 2시에 생성합니다)
[cube@kmt-linux1 master]$ pwd
/cube/nexus/products/cube/master
[cube@kmt-linux1 master]$ ls
20150407-agent.dat           20150410-scenario_term.dat   20150414-part.dat
20150407-center.dat          20150410-scenario_week.dat   20150414-queue.dat
20150407-dn.dat              20150410-skill.dat           20150414-scenario.dat
...

2.10patch

엔진 컴파일 시 Binary 파일이 생성되는 공간입니다.

2.11엔진 구성

그림 2-1엔진구성2

2.12SPEC 사항

2.12.1센터/테넌트/미디어/대기호리스트의 값은 고정됩니다.

표 2-5자원 SPEC 현황

자원

CENTER

10

TENANT

100

MEDIA

10

WCALL

1000

조정이 필요하시면 값을 조정하여 컴파일해야 합니다.(개발팀요청필요)

2.12.2GROUP/PART/DN/AGENT/ROUTE 디폴트 값은 아래와 같습니다.

표 2-6자원 SPEC 현황

자원

GROUP

50

PART

300

DN

1000

AGENT

DN

CONN

DN

CALL

DN*2

ROUTE

100

위의 자원 값들은 설정을 통해 변경가능합니다. 설정 파일은 $NEXUS_HOME/conf/ipc.conf 입니다.

NEXUSCUBE 의 통계와 모니터링이 가능한 범위는 DN 라이선수 개수입니다. 그 이상의 값이 되더라도 성능상 문제는 없으나 수용범위를 초과한 것에 대한 데이터 보장은 하지 않습니다.


예를들면 DN 개수가 1000이면 conn 개수도 1000 입니다. 만약 conn 이 1000을 넘었다면 센터가 정상적으로 운영은 되지만 1000 이상된 콜에 대해서 통계와 모니터링을 보장할 수 없습니다.