•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

CiGLBServer(r12 Blame)

r12
r1

(새 문서)
1[[분류:서버]]
r2
2[목차]
r1

(새 문서)
3== 개요 ==
4 *[[CiGLBServer]](이하 GLB)는 SettopBox (이하 STB)이 VOD 재생 요청을 했을 때 가장 먼저 만나는 바이너리다.
5 *G/W 의 역할을 한다.
6 *요청받은 내용을 LoadBalancer 라는 바이너리에게 요청 사항을 전달해주고 그 응답값을 다시 받아와 STB에게 보낸다.
7 *이를 토대로 STB은 어떤 VOD 서버로 요청하면 될지 정보를 확인할 수 있다.
8
r11
9===# 해당 프로세스와 연동 된 프로세스 #===
10||<-2> ''' 연동된 프로세스 정보''' ||
11|| '''프로세스 명''' || '''설명''' ||
12|| [[LoadBalancer2|LoadBalancer2]][* LB] || CiGLBServer가 실행될 때 ServiceMonitor에 의해 자동으로 시작되며, LB 프로세스와 클라이언트 요청 처리를 위해 VOD 서버로 리다이렉션 합니다. ||
13|| VOD 서버 || 직접적인 통신을 수행하지 않지만, 리다이렉션 대상이 되는 서비스이며, VOD 서버의 포트 설정[* redirect_port.cfg]이 연결되어 있습니다. ||
14|| ServiceMonitor || CiGLBServer는 ServiceMonitor에 의해 자동 실행됩니다. 비정상 종료 시 재시작하도록 설정되어 있습니다.||
15|| cache‑manager || CiGLBServer는 이 프로세스와 연동해 요청을 처리할 때 캐시를 활용하거나, 필요 시 재시작 명령을 전달합니다. ||
16|| vodcmd || VOD 관련 상태를 확인하기 위해 명령어가[* ./vodcmd all status] 사용됩니다. ||
17
r1

(새 문서)
18== 설정 ==
19 *GLB의 기본 동작 관련된 설정값이다.
20
r9
21===# 관련 설정 파일 #===
22 *프로세스 메인 설정 파일
r12
23>/usr/local/castis/[[CiGLBServer.cfg 설정 파일|CiGLBServer.cfg]]
r9
24
25
r10
26 *서비스 별 LB 설정 파일
27>/usr/local/castis/glb.cfg
r9
28
29
r10
30 *Filler=Y 큐톤 매핑 정보
31>/usr/local/castis/cuetone_mapping_info.cfg
r9
32
33
r10
34 *Filler=N 큐톤 매핑 정보
35>/usr/local/castis/cuetone_mapping_info_byFiller.cfg
r9
36=== glb.cfg ===
r1

(새 문서)
37 *CiGLBServer의 경우 동적으로 설정이 적용되는 설정 값이 하나 있다.
38 *LLB 정보를 확인하는 이 설정이다.
39 *설정 파일을 보면 아래(서안동 GTV LSM) 처럼 되어 있는걸 확인할 수 있다.
40
41># LLB_Lable PK_LLB_ID LLB_IP
42>LLB 1 119.221.128.5
43>LLB 2 125.159.40.150
44># GLB_Lable FK_Destination_Group_ID FK_LLB_ID FK_LLB_ID FK_LLB_ID
45>GLB default 1 2
46>GLB cuetone 1 2
47
48 *여기서 보통 1차는 자기 자신의 VIP, 2차는 중앙 (광고 CDN의 경우 2차는 GTV LSM, 3차가 중앙) 으로 되어 있다.
49 *설정된 순서대로 요청을 한다고 보면 된다. (아래는 광고 CDN LSM의 설정 파일이다.)
50
51># LLB_Lable PK_LLB_ID LLB_IP
52>LLB 1 183.121.149.5
53>LLB 2 119.221.128.5
54>LLB 3 125.159.40.150
55>
56># GLB_Lable FK_Destination_Group_ID FK_LLB_ID FK_LLB_ID FK_LLB_ID
57>GLB default 1
58>GLB cuetone 1 2 3
59 *여기서 IP를 변경하면 바로 적용이 된다.
60
61==== glb.cfg 설정 에러 ====
62 *간혹 절체 이후 GLB에서 에러가 나는 경우가 드물게 있다.
63 *이 때 glb.cfg 의 설정을 참고하면 된다. [* Active(LSM, LSM#2) 서버와는 다른 엉뚱한 값이 설정된 Back 서버가 있었다.]
64
65=== 주요 로그 ===
66==== RTSP Describe (VOD 서비스) 정보 요청 입수 ====
67 *VOD에 한해 아래 로그를 표시한다(RTSP의 FLOW)
68>CiGLBServer,3.0.3,2024-03-12,09:21:50.385,Information,MarkupListenThread.cpp:OnRTSPDescribe(822),,"RTSP Describe request from 100.104.45.216, UUID = c88bb601-1c2e-4d01-aa39-9f4ca31843bf. uri = rtsp://125.153.250.5/MVIO204ESGL1500001_K20240219092112.mpg?p=v1::F:421023:66149732770:N:S3"
69 1.RTSP요청
70 1.UUID = GLB 서버가 자체적으로 생성하는 추적용 값.
71 1.uri(STB에서 요청하는 rtsp 주소)
72 1.rtsp://GLB_IP/파일 이름?p=v1 VOD 요청 (고정값)
73 1.:카테고리 ID (현재 VOD 에선 비어있음)
74 1.:F 무료 VOD(R 유료시청, S 코너가입시청
75 1.:6자리 숫자 RegionID (가입자 동코드)
76 1.:11자리 숫자 가입자 SAID (UserID):이어보기 여부 (N 처음부터, Y 이어보기)
77 1.:S3 (OTS 기본형 (사후광고 제공함) <- Postplay 재생가능 단말기종 구분자 (V1~V4, S1~S4))”
78
79==== RTSP Describe (VOD 서비스) 정보 요청 ====
80>CiGLBServer,3.0.3,2024-03-12,09:21:50.386,Information,SMPoolThreadID[2] SMPoolThread.cpp:ListenQueueRTSPDescribe(380),,"Parsed Session Request(RTSPDescribe), AssetID[MVIO204ESGL1500001_K20240219092112.mpg], UUID[c88bb601-1c2e-4d01-aa39-9f4ca31843bf], ClientIP[100.104.45.216]"
81
82 1.AssetID[애셋ID(파일이름)]
83 1.UUID[GLB 추적용 ID]
84 1.ClientIP[고객 IP]
85
86==== RTSP Describe (VOD 서비스) 정보 요청 결과 ====
87>CiGLBServer,3.0.3,2024-03-12,09:21:50.390,Information,SLPClientThread.cpp:OnDescribeResponse(674),,"OnDescribeResponse, LB[125.153.250.5, 125.153.250.5], AssetID[MVIO204ESGL1500001_K20240219092112.mpg], UUID[c88bb601-1c2e-4d01-aa39-9f4ca31843bf], result[result is success], Client[100.104.45.216]"
88 1.LB[LSM, ADC]
89 1.AssetID[파일이름]
90 1.UUID[GLB 추척 ID]
91 1.result[결과]
92 1.Client 고객 IP[요청한 고객 STB IP]
r3
93
94==== RTSP Setup (VOD 서비스) 요청 입수 ====
95>CiGLBServer,3.0.3,2024-03-22,07:26:47.475,Information,MarkupListenThread.cpp:OnRTSPSetup(1363),,"RTSP Setup request from 119.221.96.25, SessionId[2eede011-ed43-43dd-9495-7ae2a84cb5ed]. uri = rtsp://125.153.250.5/M02O20BVSGL1500001_K20240301012854.mpg?p=v1:CV000000000051793804:F:421034:62074529707:N:S3, device_info[SDK_v4.0.15.1; {""GigaGenieApp"":""18.01.00"",""FW"":""1.0.3120"",""SAID"":""62074529707"",""Model"":""CT1102""}]"
96 1.RTSP요청 고객(STB) IP
97 1.SessiondId[세션Id].
98 1.uri(STB에서 요청하는 rtsp 주소)://GLB_IP/파일 이름?p=v1 VOD 요청 (고정값)
99 1.:카테고리 ID
100 1.:F 무료 VOD(R 유료시청, S 코너가입시청:6자리 숫자 RegionID (가입자 동코드)
101 1.:11자리 숫자 가입자 SAID (UserID):이어보기 여부 (N 처음부터, Y 이어보기)
102 1.:S3 (OTS 기본형 (사후광고 제공함) Postplay 재생가능 단말기종 구분자 (V1~V4, S1~S4))
103 1.device_info : STB이나 요청하는 장비의 정보
104 1.“어플이름”
105 1.”버전정보”
106 1.”펌웨어”
107 1.”펌웨어 버전 정보”
108 1.”SAID”
109 1.”가입자 정보”
110 1.”Model”
111 1.”STB 모델명”
112
113==== VOD 서비스 요청 ====
r7
114>CiGLBServer,3.0.3,2024-03-22,07:26:47.476,Information,SMPoolThreadID[1] SMPoolThread.cpp:ListenQueueSetup(576),,"Parsed Session Request(GLB), AssetID[M02O20BVSGL1500001_K20240301012854.mpg], StreamID[5702fea5-dcea-4f0b-98d9-ae9aeccdb43c], SessionId[2eede011-ed43-43dd-9495-7ae2a84cb5ed], ClientIP[119.221.96.25]"
115 1.GLB로 온 세션 요청
116 1.AssetID[요청한 파일]
117 1.StreamID[]
118 1.SessionId[]
119 1.ClinetIP[요청한 STB IP]
120
121==== LB로부터 VOD 서비스에 대해 VOD 서버 할당 요청 결과 ====
122>CiGLBServer,3.0.3,2024-03-12,09:21:50.412,Information,SLPClientThread.cpp:OnOnDemandSessionResponse(916),,"OnOnDemandSessionResponse : 67d110a0-7544-4359-8d8f-8aec062b3f67, cb96bb8f-4c45-4a3b-a68a-f78edb6c4e7f, 29059391, MVIO204ESGL1500001_K20240219092112.mpg, 125.153.250.13, result is success, LB[125.153.250.5, 125.153.250.5], ClientIP[100.104.45.216]"
123 1.StreamID
124 1.SessionID
125 1.SessionInt.(deprecated)
126 1.AssetID
127 1.VOD Server IP
128 1.결과값 표시
129 1.LB[LSM,ADC]
130 1.ClinetIP[요청한 STB IP]
131
132==== VOD 세션 셋업 완료 ====
133>CiGLBServer,3.0.3,2024-03-12,09:21:50.412,Information,SMPoolThreadID[1] SMPoolThread.cpp:LLBQueueSetup(856),,"Successfully New Setup Session, StreamID[67d110a0-7544-4359-8d8f-8aec062b3f67], SessionId[cb96bb8f-4c45-4a3b-a68a-f78edb6c4e7f, 29059391], RequestURL[rtsp://125.153.250.5/MVIO204ESGL1500001_K20240219092112.mpg?p=v1::F:421023:66149732770:N:S3], AssetID[MVIO204ESGL1500001_K20240219092112.mpg], ClientIP[100.104.45.216], LLB[125.153.250.5,125.153.250.5], VOD[125.153.250.13,125.153.250.13], DestinationIP[125.153.250.5], UDPPort[0], DataFree[0], ServiceType[]"
134 1.StreamID[]
135 1.SessionId[]
136 1.RequestURL
137 1.요청 URL://GLB_IP/파일 이름?p=v1 VOD 요청 (고정값)
138 1.:카테고리 ID (현재 VOD 에선 비어있음)
139 1.:F 무료 VOD(R 유료시청, S 코너가입시청
140 1.:6자리 숫자 RegionID (가입자 동코드)
141 1.:11자리 숫자 가입자 SAID (UserID)
142 1.:이어보기 여부 (N 처음부터, Y 이어보기)
143 1.:S3 (OTS 기본형 (사후광고 제공함) <- Postplay 재생가능 단말기종 구분자 (V1~V4, S1~S4))”]
144 1.AssetID[요청한 파일]
145 1.ClinetIP[요청한 STB IP]
146 1.LLB[LSM IP, ADC IP]
147 1.VOD[VOD IP, VOD IP]
148 1.DestinationIP[LB IP]
149 1.UDPPort[0]
150 1.DataFree[0]
151 1.ServiceType[]
152
153 *LLB의 경우 GTV 지역/중앙에서는 안 쓴다 (VIP를 쓰기 때문), UDPPort나 DataFree의 경우 GTM 에서 사용함, ServiceType의 경우 VOD는 공백
154
155==== VOD 세션 종료 ====
156>CiGLBServer,3.0.3,2024-03-22,07:38:02.802,Information,SLPClientThread.cpp:OnTeardownNotification(1041),,"OnTeardownNotification : 5702fea5-dcea-4f0b-98d9-ae9aeccdb43c, 2eede011-ed43-43dd-9495-7ae2a84cb5ed, 23206258, LB[125.153.250.5, 125.153.250.5]"
157 1.StreamID
158 1.SessionID
159 1.파일크기
160 1.LB[LSM,ADC]
161
162==== RTSP Setup (A CUETONE 서비스) 요청 입수 ====
r3
163>CiGLBServer,3.0.3,2024-03-05,23:54:01.128,Information,MarkupListenThread.cpp:OnRTSPSetup(1283),,"RTSP Setup request from 125.152.42.4, SessionId[8aebb1a2-02ca-4a01-9397-0e9af462b442]. uri = rtsp://125.159.5.140/ACUETONE/cueTone?p=c1:752:306237:00000000000:01:MA4000&filler=N&adUpdate=Y&adid=999***********&adidYN=Y&userSeg=Y, device_info[SDK_v4.0.17]"
164 1.RTSP요청 요청 고객(STB)
165 1.IP
166 1.SessiondId[세션Id].
167 1.uri(STB에서 요청하는 rtsp 주소)://GLB_IP/cueTone?p=c1(큐톤 종류 A큐톤=c1)
168 1.:채널 ID
169 1.:6자리 숫자 RegionID (가입자 동코드)
170 1.:11자리 숫자 가입자 SAID (UserID)
171 1.:채널 ProviderID(01 OTV, 02 OTS)
172 1.:셋탑박스 모델
173 1.&필러 삽입 세션여부
r4
174 1.&adUpdate=큐톤광고 사용 유무
175 1.&adid=통합광고ID
176 1.&adidYN=ADID사용유무
177 1.&userSeg=타겟광고사용유무(Y:타겟+메스, N:매스)
178 1.device_info[STB이나 요청하는 장비의 정보]
r3
179
180==== A CUETONE 광고 셋업 완료 ====
r6
181>CiGLBServer,3.0.3,2024-03-05,23:54:01.130,Information,SMPoolThreadID[1] SMPoolThread.cpp:LLBQueueSetupForCueTone(963),,"Successfully New Setup Session, StreamID[c904e90b-4bf8-41ad-a2b1-eecd52a5ce6e], SessionId[8aebb1a2-02ca-4a01-9397-0e9af462b442, 0], RequestURL[rtsp://125.159.5.140/ACUETONE/cueTone?p=c1:752:306237:00000000000:01:MA4000&filler=N&adUpdate=Y&adid=999***********&adidYN=Y&userSeg=Y], AssetID[cueTone], ClientIP[125.152.42.4], LLB[125.159.5.140,125.159.5.140], VOD[125.159.5.109,125.159.5.109], DestinationIP[125.159.5.140], UDPPort[0], ServiceType[ACUETONE]"
182 1.StreamID[]
183 1.SessionId[]
184 1.RequestURL
185 1.rtsp://GLB_IP/cueTone?p=c1(큐톤 종류 A큐톤=c1)
186 1.:채널 ID:6자리 숫자 RegionID (가입자 동코드)
187 1.:11자리 숫자 가입자 SAID (UserID)
188 1.:채널 ProviderID(01 OTV, 02 OTS)
189 1.:셋탑박스 모델
190 1.&필러 삽입 세션여부
191 1.&adUpdate=큐톤광고 사용 유무
192 1.&adid=통합광고ID
193 1.&adidYN=ADID사용유무
194 1.&userSeg=타겟광고사용유무(Y:타겟+메스, N:매스)
195 1.device_info[STB이나 요청하는 장비의 정보]
196 1.AssetID[요청한 파일]
197 1.ClinetIP[요청한 STB IP]
198 1.LLB[LSM IP, ADC IP]
199 1.VOD[VOD IP, VOD IP]
200 1.DestinationIP[LB IP]
201 1.UDPPort[0]
202 1.ServiceType[ACUETONE]
203
204==== RTSP Setup (B CUETONE 서비스) 요청 입수 ====
r3
205>CiGLBServer,3.0.3,2024-03-05,23:50:31.407,Information,MarkupListenThread.cpp:OnRTSPSetup(1283),,"RTSP Setup request from 125.152.42.4, SessionId[024ead48-d7a9-4f27-8017-1521e4401ac0]. uri = rtsp://125.159.5.140/BCUETONE/cueTone?p=c2:752:306237:00000000000:01:MA4000&filler=N&adid=999***********&adidYN=Y&userSeg=Y, device_info[SDK_v4.0.17]"
206 1.RTSP요청 요청 고객(STB) IP
207 1.SessiondId[세션Id].
208 1.uri(STB에서 요청하는 rtsp 주소)://GLB_IP/cueTone?p=c1(큐톤 종류 B큐톤=c2)
209 1.:채널 ID
210 1.:6자리 숫자 RegionID (가입자 동코드)
211 1.:11자리 숫자 가입자 SAID (UserID)
212 1.:채널 ProviderID(01 OTV, 02 OTS)
213 1.:셋탑박스 모델
214 1.&필러 삽입 세션여부
r5
215 1.&adid=통합광고ID
216 1.&adidYN=ADID사용유무
217 1.&userSeg=타겟광고사용유무(Y:타겟+메스, N:매스)
218 1.device_info[STB이나 요청하는 장비의 정보]
r6
219
220==== B CUETONE 광고 셋업 완료 ====
221>CiGLBServer,3.0.3,2024-03-05,23:50:31.409,Information,SMPoolThreadID[2] SMPoolThread.cpp:LLBQueueSetupForCueTone(963),,"Successfully New Setup Session, StreamID[1bafed21-1a95-4417-8c4c-442a63337adb], SessionId[024ead48-d7a9-4f27-8017-1521e4401ac0, 0], RequestURL[rtsp://125.159.5.140/BCUETONE/cueTone?p=c2:752:306237:00000000000:01:MA4000&filler=N&adid=999***********&adidYN=Y&userSeg=Y], AssetID[cueTone], ClientIP[125.152.42.4], LLB[125.159.5.140,125.159.5.140], VOD[125.159.5.109,125.159.5.109], DestinationIP[125.159.5.140], UDPPort[0], ServiceType[BCUETONE]"
222
223==== RTSP Setup (D CUETONE 서비스) 요청 입수 ====
224>CiGLBServer,3.0.3,2024-03-25,10:02:59.900,Information,MarkupListenThread.cpp:OnRTSPDescribe(822),,"RTSP Describe request from 49.24.138.148, UUID = 4d724493-66a0-489e-8dc1-6a949f1c54bf. uri = rtsp://14.87.141.5/DCUETONE/cueTone?p=c3:451:420613:00000000000:01:1711328582193:120000:9967:200:NA2200&filler=N&adid=824***********&adidYN=Y&userSeg=Y"
225 1.RTSP요청 요청 고객(STB) IP
226 1.SessiondId[세션Id].
227 1.uri(STB에서 요청하는 rtsp 주소)://GLB_IP/cueTone?p=c1(큐톤 종류 D큐톤=c3)
228 1.:채널 ID
229 1.:6자리 숫자 RegionID (가입자 동코드)
230 1.:11자리 숫자 가입자 SAID (UserID)
231 1.:채널 ProviderID(01 OTV, 02 OTS)
232 1.:큐톤 광고 시작 시간(UNIX 시간,밀리세컨드)
233 1.:큐톤 광고 지속시간(초)
234 1.:큐톤 event ID,인벤토리 영역 구분값
235 1.:stbModel
236 1.&필러 삽입 세션여부
237 1.&adid=통합광고ID
238 1.&adidYN=ADID사용유무
239 1.&userSeg=타겟광고사용유무(Y:타겟+메스, N:매스)
240
241==== D CUETONE 광고 셋업 완료 ====
242>CiGLBServer,3.0.3,2024-03-25,04:00:19.889,Information,SMPoolThreadID[1] SMPoolThread.cpp:LLBQueueSetupForCueTone(963),,"Successfully New Setup Session, StreamID[1d3dba33-1fa2-42be-a791-d29ab4b9aec0], SessionId[9503f5c2-f067-4d30-b948-c2ac88878a65, 0], RequestURL[rtsp://118.53.65.5/DCUETONE/cueTone?p=c3:261:333021:00000000000:01:1711306823820:15000:26508:2300:KI1101&filler=N&adid=249***********&adidYN=Y&userSeg=Y], AssetID[cueTone], ClientIP[14.90.100.42], LLB[118.53.65.5,118.53.65.5], VOD[118.53.65.7,118.53.65.7], DestinationIP[118.53.65.5], UDPPort[0], ServiceType[DCUETONE]"
243
244==== CUETONE 광고 서비스 요청 ====
245>CiGLBServer,3.0.3,2024-03-05,23:54:01.129,Information,SMPoolThreadID[1] SMPoolThread.cpp:ListenQueueSetup(576),,"Parsed Session Request(GLB), AssetID[cueTone], StreamID[c904e90b-4bf8-41ad-a2b1-eecd52a5ce6e], SessionId[8aebb1a2-02ca-4a01-9397-0e9af462b442], ClientIP[125.152.42.4]"
246 1.GLB로 온 세션 요청
247 1.AssetID[cueTone]
248 1.StreamID[]
249 1.SessionId[]
250 1.ClinetIP[요청한 STB IP]
251
252==== CUETONE 정보를 찾지 못한 경우 ====
r8
253>CiGLBServer,3.0.3,2024-03-25,05:52:51.883,Error,MarkupListenThread.cpp:OnRTSPDescribe(894),,"Cannot Find cueTone Info cueTone(cueTone), ChannelID(451), ChannelProviderID(01), ClientIP(49.24.138.148)"
254
255==== SODE 서비스 요청 ====
r6
256>CiGLBServer,3.0.3,2024-03-22,00:09:51.118,Information,SMPoolThreadID[2] SMPoolThread.cpp:ListenQueueSetup(576),,"Parsed Session Request(GLB), AssetID[SODE/44228/01.07.21/kt-gtv-home_v01.07.21_20240220_kaon_release.apk], StreamID[621d60f2-3585-497d-9673-4858b8bdde9a], SessionId[30c28eb9-aae0-46e7-9b48-3e29e6d4c712], ClientIP[125.151.56.160]"
257 1.GLB로 온 세션 요청
258 1.AssetID[요청한 파일]
259 1.StreamID[]
260 1.SessionId[]
261 1.ClinetIP[요청한 STB IP]
262
263==== SODE 세션 셋업 완료 ====
264>CiGLBServer,3.0.3,2024-03-22,00:09:51.123,Information,SMPoolThreadID[2] SMPoolThread.cpp:LLBQueueSetup(856),,"Successfully New Setup Session, StreamID[621d60f2-3585-497d-9673-4858b8bdde9a], SessionId[30c28eb9-aae0-46e7-9b48-3e29e6d4c712, 18937024], RequestURL[/SODE/44228/01.07.21/kt-gtv-home_v01.07.21_20240220_kaon_release.apk], AssetID[SODE/44228/01.07.21/kt-gtv-home_v01.07.21_20240220_kaon_release.apk], ClientIP[125.151.56.160], LLB[125.151.12.5,125.151.12.5], VOD[125.151.12.8,125.151.12.8], DestinationIP[], UDPPort[0], DataFree[0], ServiceType[SODE]"
265 1.StreamID[]
266 1.SessionId
267 1.세션ID
268 1.sessionInt.(호환성 이슈)
269 1.RequestURL[요청URL]
270 1.AssetID[요청한 파일]
271 1.ClinetIP[요청한 STB IP]
272 1.LLB[LSM IP, ADC IP]
273 1.VOD[VOD IP, VOD IP]
274 1.DestinationIP[LB IP]
275 1.UDPPort[0]
276 1.DataFree[0]
277 1.ServiceType[SODE]
278
279 *LLB의 경우 GTV 지역/중앙에서는 안 쓴다 (VIP 값을 같이 쓰기 때문)
280 *UDPPort나 DataFree의 경우 GTM 에서 사용함
281 *ServiceType의 경우 SODE와 cueTone의 경우 값을 표기함