cancel
Showing results for 
Search instead for 
Did you mean: 

Process Template 1 -Basic 문의사항

SANG_JINPARK
Level 3
블루프리즘에서 제공하는 Process Template 1 - Basic 의 Sub Page 중 Populate Queue Page 가 있습니다.
Queue 에 관한 작업을 진행 하는 페이지 인 것으로 추측 되는데 Add To Queue 액션이 아닌 Aquire Lock 액션을 사용하여 Queue를 사용하는 것 같은데 어떻게 사용 하는지 궁금합니다.
Environment Locking 오브젝트의 전반 적인 설명을 해주시면 큰 도움이 될 것 같습니다.
1 REPLY 1

BohyonHwang
Level 9
Add To Queue 액션을 Load Work Block 안에 드래그해서 넣으시면 됩니다. 필요하면 추가적인 로직도 여기에 더 포함시킬 수 있습니다.

Aquire Lock 액션은 작업 대기열에 데이터를 적재하기 전에 잠금을 하는 스테이지입니다. 잠금을 해제하는 Release Lock도 주목해 주십시오.
36179.png

잠금을 하는 것은 다수의 프로세스가 하나의 자원을 획득하기 위해 경쟁을 할 때 정합성(데이터 변질, 중복, 누락 등)을 훼손하는 등의 문제가 발생하는 것을 피하기 위해 사용하는 고급 프로그램 기법입니다. 다중 CPU를 사용하는 컴퓨터에서 프로세스 간에 CPU 쟁탈전을 벌일 때에는 spiclock이라는 잠금을 사용합니다. OS에서 실행 중인 다수의 프로세스 간에 메모리와 같은 자원에 대해 쟁탈전을 벌일 때에는 semaphore나 mutex라는 잠금을 사용합니다. 다수의 블루프리즘 프로세스가 특정 자원에 대해 쟁탈전을 벌일 때 문제가 발생할 우려가 있다면 Environment Locking 비즈니스 객체를 이용하여 잠금을 사용하여 문제를 해결을 할 수 있습니다.

블루프리즘 Runtime Resource는 일반적으로 서로 다른 하드웨어 시스템에서 따로 운용이 되므로 블루프리즘의 Environment Locking 비즈니스 객체는 분산 시스템 잠금 장치라고 볼 수 있습니다.

Template 1의 예제는 Environment Lock을 사용하였으므로 워크로드가 많은 자료를 처리하기 위한 다중 프로세스 설계 방식을 제안하고 있다는 것을 알 수 있습니다. Load Work Block의 Note(Logic Here...) 부분에 Add To Queue와 같은 액션을 사용하는 대량의 데이터 적재 프로세스를 디자인해서 넣으면 됩니다. 그러면 이 프로세스는 동시에 다수의 프로세스를 실행하여 대량의 처리를 병렬로 처리할 수 있게 됩니다.

여기에 덧붙여서 다수의 프로세스를 병렬로 실행할 때 프로세스 운영 관리를 편리하게 하려면 Active Queue도 참조해 보시기 바랍니다.