SlideShare ist ein Scribd-Unternehmen logo
1 von 8
㈜유미테크
서로 다른 프로세스간 데이터
공유 방법
발표자 : 개발 1팀 황희정
2017-08-18
목차
• 프로세스란?
• 데이터 공유 방법
• 데이터 공유 방법에 대한 특징
• 데이터 공유 예제
2
프로세스 란?
• 실행중인 프로그램
• 최소 하나의 스레드를 가지고 있다.
• 프로세스의 구성
– PID
– 프로세스 상태
– 프로세스 카운터
– 스케줄링 우선순위
– 권한
– 프로세스의 부모와 자식 프로세스
– 프로세스의 데이터와 명령어가 있는 메모리 위치를 가리키는 포인터
– 프로세스에 할당된 자원들을 가리키는 포인터
– 실행 문맥
2017-05-19 3
데이터 공유 방법
• Shared Memory
– 컴퓨터 환경에서 여러 프로그램이 동시에 접근 할 수 있는 메모리.
– 과다한 복사를 피하거나 해당 프로그램 간 통신을 위해 사용함.
– 환경에 따라 프로그램은 하나의 프로세서에서나 여러 개의 프로세서에서 실행 할 수 있
다.
– CPU가 접근 할 수 있는 랜덤 엑세스 메모리(RAM)을 가리킨다.
• Socket 통신
– Socket을 통하여 통신망으로 데이터를 송/수신.
• Database
– 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합.
– 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화 하여 기억
시켜 놓은 자료의 집합체
– Mysql, Maria, Oracle, Redis, Mongo, Sqlite등
• 파일 저장
– 데이터를 txt등 특정 위치에 저장함.
2017-05-19 4
데이터 공유 방법에 대한 특징
2017-05-19 5
Shared Memory Socket 통신 Database 파일 저장
장점
- 빠른 속도
- 여러 프로세스에서 동시
공유
- 네트워크를 통한 데이터
전달
- 모든 언어 사용 가능
- 여러 프로세스에서 동시
공유
- 모든 언어 사용 가능
- 여러 PC에서 데이터 공유
가능
- 대량의 데이터를 가지고
있다.
- 여러 프로세스에서 동시
공유
- 모든 언어 사용 가능
단점
- 제한된 용량
- 언어의 제한
- 현재 PC에서만 공유 가능
- 프로토콜 정의 필요
- 소켓으로 연결된 프로세스
에서만 데이터 공유 가능
- 네트워크 단절 시 데이터
공유 불가
- 데이터 누락 발생
- Database 설치 필요
- 과부화 발생으로 인한 속
도 저하
- 과부화 발생으로 인한 속
도 저하
- 현재 PC에서만 공유 가능
• JAVA에서 Shared Memory를 사용 하는 방법
– JAVA Process와 C Process를 연결하는 별도의 중간 C Process를 DLL 형태로 만들어서
loadLibrary()를 사용해 함수를 호출
– 오버헤드 발생
• Python에서 Shared Memory를 사용 하는 방법
– sysv_ipc 모듈 설치 후 사용
데이터 공유 방법 예제
2017-05-19 6
• Shared Memory
• Socket 통신
• Database
• 파일 저장
Q & A
7
Who's Next?
개발 3팀, 김성중 팀장
'재미없는 Java Runtime
Process Debug'
2017-05-19 8

Weitere ähnliche Inhalte

Mehr von ymtech

Cubietruck 리눅스 이미지 설치
Cubietruck 리눅스 이미지 설치Cubietruck 리눅스 이미지 설치
Cubietruck 리눅스 이미지 설치ymtech
 
Installation Openstack Swift
Installation Openstack SwiftInstallation Openstack Swift
Installation Openstack Swiftymtech
 
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212ymtech
 
Ubuntu Host AP Setting
Ubuntu Host AP SettingUbuntu Host AP Setting
Ubuntu Host AP Settingymtech
 
Intel Galileo Linux Setting
Intel Galileo Linux SettingIntel Galileo Linux Setting
Intel Galileo Linux Settingymtech
 
MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치ymtech
 
HP 3800-24G-2SFP OpenFlow Setting
HP 3800-24G-2SFP OpenFlow SettingHP 3800-24G-2SFP OpenFlow Setting
HP 3800-24G-2SFP OpenFlow Settingymtech
 
Openstack Instance Resize
Openstack Instance ResizeOpenstack Instance Resize
Openstack Instance Resizeymtech
 
Openstack live migration
Openstack live migrationOpenstack live migration
Openstack live migrationymtech
 
SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오ymtech
 
TR-069 클라이언트 검토자료8편
TR-069 클라이언트 검토자료8편TR-069 클라이언트 검토자료8편
TR-069 클라이언트 검토자료8편ymtech
 
TR-069 클라이언트 검토자료7편
TR-069 클라이언트 검토자료7편TR-069 클라이언트 검토자료7편
TR-069 클라이언트 검토자료7편ymtech
 
TR-069 클라이언트-검토자료6편
TR-069 클라이언트-검토자료6편TR-069 클라이언트-검토자료6편
TR-069 클라이언트-검토자료6편ymtech
 
TR-069 클라이언트 검토자료5편
TR-069 클라이언트 검토자료5편TR-069 클라이언트 검토자료5편
TR-069 클라이언트 검토자료5편ymtech
 
TR 069 클라이언트 검토 자료 4편
TR 069 클라이언트 검토 자료 4편TR 069 클라이언트 검토 자료 4편
TR 069 클라이언트 검토 자료 4편ymtech
 
TR 069 클라이언트 검토자료 3편
TR 069 클라이언트 검토자료 3편TR 069 클라이언트 검토자료 3편
TR 069 클라이언트 검토자료 3편ymtech
 
DHCP Spoofing
DHCP SpoofingDHCP Spoofing
DHCP Spoofingymtech
 
OSGI(Open Service Gateway initiative)
OSGI(Open Service Gateway initiative)OSGI(Open Service Gateway initiative)
OSGI(Open Service Gateway initiative)ymtech
 
DHCP Snooping (Dynamic Host Configuration Protocol)
DHCP Snooping (Dynamic Host Configuration Protocol)DHCP Snooping (Dynamic Host Configuration Protocol)
DHCP Snooping (Dynamic Host Configuration Protocol)ymtech
 
TR-069 클라이언트 검토 자료 2편
TR-069 클라이언트 검토 자료 2편TR-069 클라이언트 검토 자료 2편
TR-069 클라이언트 검토 자료 2편ymtech
 

Mehr von ymtech (20)

Cubietruck 리눅스 이미지 설치
Cubietruck 리눅스 이미지 설치Cubietruck 리눅스 이미지 설치
Cubietruck 리눅스 이미지 설치
 
Installation Openstack Swift
Installation Openstack SwiftInstallation Openstack Swift
Installation Openstack Swift
 
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
 
Ubuntu Host AP Setting
Ubuntu Host AP SettingUbuntu Host AP Setting
Ubuntu Host AP Setting
 
Intel Galileo Linux Setting
Intel Galileo Linux SettingIntel Galileo Linux Setting
Intel Galileo Linux Setting
 
MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치
 
HP 3800-24G-2SFP OpenFlow Setting
HP 3800-24G-2SFP OpenFlow SettingHP 3800-24G-2SFP OpenFlow Setting
HP 3800-24G-2SFP OpenFlow Setting
 
Openstack Instance Resize
Openstack Instance ResizeOpenstack Instance Resize
Openstack Instance Resize
 
Openstack live migration
Openstack live migrationOpenstack live migration
Openstack live migration
 
SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오
 
TR-069 클라이언트 검토자료8편
TR-069 클라이언트 검토자료8편TR-069 클라이언트 검토자료8편
TR-069 클라이언트 검토자료8편
 
TR-069 클라이언트 검토자료7편
TR-069 클라이언트 검토자료7편TR-069 클라이언트 검토자료7편
TR-069 클라이언트 검토자료7편
 
TR-069 클라이언트-검토자료6편
TR-069 클라이언트-검토자료6편TR-069 클라이언트-검토자료6편
TR-069 클라이언트-검토자료6편
 
TR-069 클라이언트 검토자료5편
TR-069 클라이언트 검토자료5편TR-069 클라이언트 검토자료5편
TR-069 클라이언트 검토자료5편
 
TR 069 클라이언트 검토 자료 4편
TR 069 클라이언트 검토 자료 4편TR 069 클라이언트 검토 자료 4편
TR 069 클라이언트 검토 자료 4편
 
TR 069 클라이언트 검토자료 3편
TR 069 클라이언트 검토자료 3편TR 069 클라이언트 검토자료 3편
TR 069 클라이언트 검토자료 3편
 
DHCP Spoofing
DHCP SpoofingDHCP Spoofing
DHCP Spoofing
 
OSGI(Open Service Gateway initiative)
OSGI(Open Service Gateway initiative)OSGI(Open Service Gateway initiative)
OSGI(Open Service Gateway initiative)
 
DHCP Snooping (Dynamic Host Configuration Protocol)
DHCP Snooping (Dynamic Host Configuration Protocol)DHCP Snooping (Dynamic Host Configuration Protocol)
DHCP Snooping (Dynamic Host Configuration Protocol)
 
TR-069 클라이언트 검토 자료 2편
TR-069 클라이언트 검토 자료 2편TR-069 클라이언트 검토 자료 2편
TR-069 클라이언트 검토 자료 2편
 

20170818 tech day-8th-서로 다른 프로세스간 데이터 공유-황희정

  • 1. ㈜유미테크 서로 다른 프로세스간 데이터 공유 방법 발표자 : 개발 1팀 황희정 2017-08-18
  • 2. 목차 • 프로세스란? • 데이터 공유 방법 • 데이터 공유 방법에 대한 특징 • 데이터 공유 예제 2
  • 3. 프로세스 란? • 실행중인 프로그램 • 최소 하나의 스레드를 가지고 있다. • 프로세스의 구성 – PID – 프로세스 상태 – 프로세스 카운터 – 스케줄링 우선순위 – 권한 – 프로세스의 부모와 자식 프로세스 – 프로세스의 데이터와 명령어가 있는 메모리 위치를 가리키는 포인터 – 프로세스에 할당된 자원들을 가리키는 포인터 – 실행 문맥 2017-05-19 3
  • 4. 데이터 공유 방법 • Shared Memory – 컴퓨터 환경에서 여러 프로그램이 동시에 접근 할 수 있는 메모리. – 과다한 복사를 피하거나 해당 프로그램 간 통신을 위해 사용함. – 환경에 따라 프로그램은 하나의 프로세서에서나 여러 개의 프로세서에서 실행 할 수 있 다. – CPU가 접근 할 수 있는 랜덤 엑세스 메모리(RAM)을 가리킨다. • Socket 통신 – Socket을 통하여 통신망으로 데이터를 송/수신. • Database – 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합. – 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화 하여 기억 시켜 놓은 자료의 집합체 – Mysql, Maria, Oracle, Redis, Mongo, Sqlite등 • 파일 저장 – 데이터를 txt등 특정 위치에 저장함. 2017-05-19 4
  • 5. 데이터 공유 방법에 대한 특징 2017-05-19 5 Shared Memory Socket 통신 Database 파일 저장 장점 - 빠른 속도 - 여러 프로세스에서 동시 공유 - 네트워크를 통한 데이터 전달 - 모든 언어 사용 가능 - 여러 프로세스에서 동시 공유 - 모든 언어 사용 가능 - 여러 PC에서 데이터 공유 가능 - 대량의 데이터를 가지고 있다. - 여러 프로세스에서 동시 공유 - 모든 언어 사용 가능 단점 - 제한된 용량 - 언어의 제한 - 현재 PC에서만 공유 가능 - 프로토콜 정의 필요 - 소켓으로 연결된 프로세스 에서만 데이터 공유 가능 - 네트워크 단절 시 데이터 공유 불가 - 데이터 누락 발생 - Database 설치 필요 - 과부화 발생으로 인한 속 도 저하 - 과부화 발생으로 인한 속 도 저하 - 현재 PC에서만 공유 가능 • JAVA에서 Shared Memory를 사용 하는 방법 – JAVA Process와 C Process를 연결하는 별도의 중간 C Process를 DLL 형태로 만들어서 loadLibrary()를 사용해 함수를 호출 – 오버헤드 발생 • Python에서 Shared Memory를 사용 하는 방법 – sysv_ipc 모듈 설치 후 사용
  • 6. 데이터 공유 방법 예제 2017-05-19 6 • Shared Memory • Socket 통신 • Database • 파일 저장
  • 8. Who's Next? 개발 3팀, 김성중 팀장 '재미없는 Java Runtime Process Debug' 2017-05-19 8

Hinweis der Redaktion

  1. (구두로 설명) Torstein Hønsi: 토(르)스테인 헨씨 Vik: 실리콘 밸리가 아닌 노르웨이의 작은 마을 Vik에서 만듬. 현재는 수익의 97%가 노르웨이 외의 고객으로 창출됨 (Vik: 면적은 대구만함, 서울보다큼, 인구수는 2731명뿐;;;;) VML (Vector Markup Language): 2차원 벡터 그래픽스를 위한 XML 기반의 파일 포멧 Highstock: 재무 데이터 시각화 및 대규모 데이터 세트에 최적화된 차트 작성 솔루션 Highmaps: 지도영역에 대한 데이터 표시 가능
  2. Compatible: IE, Chrome, Firefox뿐 아니라, Opera, Safari 지원, Tablet / Mobile 지원, iPad, iPhone과 같은 iOS 지원, Anroid 브라우저 지원 (Non-Commercial) Free: 개인사용자의 경우 무료, 업체의 경우 1개발자마다 410.00 USD…비싼데? 간단한 설치: 별도의 과정없이 다운받은 파일을 경로 옮기고, load하면 끝. License 등록 과정 없음. source를 제공하기때문에 Edit해도 무관 심플한 설정 신텍스: 뒷장에서 소스설명할때 설명 기타: 동적으로 데이터를 추가하여 차트 구성 가능, PNG, JPG, PDF, SVG로 Export 가능,
  3. 차트종류: - Line: 꼭지점이 직각으로 이루어져있는 Line, 곡선으로 이어진 Spline 차트 - Bar: Column 차트, 가로 Bar 차트, Stacked Bar 차트, Stacked Percentage 차트, Range Bar 차트 - Pie: 파이차트, 도넛 차트, 반짤린 Pie/도넛 차트 - Area: 영역차트, Stacked 영역차트, Percentage 영역차트, 곡선 영역차트, Area Range 차트