자료 참고 안내 1. 본 자료실의 모든 자료 저작권은 ㈜에이치앤에스에 있습니다.

본 자료는 개발하시는데 참고자료 용도로 사용하실 수 있으며 저작권 표시 없이 복사,게재, 출판 하실 수 없습니다. 외부 게재 사용 시 반드시 출처 항목에 회사명과 사이트 주소를 반드시 명시해 주시기 바랍니다.
[표기 예] 출처 : ㈜에이치앤에스(www.hnsts.co.kr) 또는 ㈜HNS(www.hnsts.co.kr)

2. 제품 개발 시 내용과 예제 코드는 수정 및 검증작업을 직접 하셔야 하며 문제 발생에 대한 책임은 ㈜HNS사와 무관합니다.

본사는 자료를 최신내용으로 유지하기 위해 노력하고 있으며 제공되는 정보의 오류 및 내용이 정확하지 않을 경우 사전 공지 없이 업데이트 될 수 있습니다. 자료의 문제점 발견 시 본사로 문의주시면 검토하여 자료를 수정하도록 하겠습니다.

일괄 처리 방식과 즉시 처리 방식의 비교 및 관련된 SmartX Framework 컴포넌트 안내
작성일 2019-03-14 수정일 2022-10-07 조회수 2357
분류 SmartX Framework
적용
플랫폼
키워드 SmartListBox, SmartFile, 오버헤드
첨부파일

본 문서는
1. 즉시 처리 방식과 일괄 처리 방식 비교
2. SmartFile에서의 일괄 처리
3. SmartDraw에서의 일괄 처리
4. 일괄 처리에 따른 처리 시간 비교
순서로 진행합니다.

1. 즉시 처리 방식과 일괄 처리 방식 비교

자료가 발생하면 즉시 처리하는 즉시 처리 방식과는 달리, 계속해서 발생하는 자료를 축적하여 두었다가 일정 시점 또는 일정량이 축적되었을 때 일괄해서 처리하는 자료 처리 방식입니다.
특히 시스템에서 한 번만 처리해도 유효한 공통적인 작업을 반복적으로 처리하게 되는 경우 오버헤드가 발생하여 시스템의 처리 속도가 느려지는 문제점이 발생합니다. 이때 프로그램에 일괄 처리 방식을 적용 할 경우, 오버헤드가 줄어들고 시스템의 성능이 향상되는 이점이 있습니다. 따라서 즉시 처리 방식은 항상 최신의 데이터를 유지해야 하거나 이용자가 즉시 응답을 받아야 하는 경우에 사용되고, 일괄 처리 방식은 공통적인 처리를 여러 번 반복하는 작업을 한 번만 처리하게 하여 시스템의 성능을 향상시키기 위해 사용합니다.
SmartX Framework의 컴포넌트 중에서 데이터를 처리하는 방법이 즉시 처리와 일괄 처리 방식으로 나눠지는 컴포넌트로는 SmartListBox와 SmartDraw이 있습니다.

[표] 즉시 처리와 일괄 처리 방식의 설명, 장/단점 및 관련된 SmartX Framework 컴포넌트의 메소드
즉시 처리 일괄 처리
장점 데이터의 실시간성이 보장됨 오버헤드가 줄어들기 때문에
시스템의 성능 향상을 기대할 수 있음
단점 한 번만 처리해도 되는 공통적인 작업을 반복적으로 처리하는 경우
오버헤드가 발생하여 시스템의 처리 속도가 느려짐
데이터의 실시간성을 보장하기 어려움
SmartFile Write()
Read()
FillBuffer()
WriteBuffer()/WriteBufferSave()
ReadBuffer()
SmartDraw DrawUpdateOption = DefaultAuto
(※ Application.DoEvents())
DrawUpdateOption = BatchAssign
DrawUpdate()

참고각 컴포넌트의 자세한 내용은 SmartX Framework Reference Guide를 참고하세요.

2. SmartFile에서의 일괄 처리

SmartFile은 데이터를 Write/Read하는 시점으로 메소드를 분류할 수 있습니다. 구조체(Structure)의 경우 String과 사용법이 크게 다르지 않아 본 문서는 String을 기준으로 안내합니다.

1) Write() : 즉시 처리 방식으로, 데이터를 물리적인 저장소에 Write합니다.
2) FillBuffer() : 일괄 처리 방식을 사용하기 전 물리적인 저장소에 데이터가 있는 경우 Buffer로 데이터를 읽어옵니다.
3) WriteBuffer()/WriteBufferSave() : 일괄 처리 방식으로, WriteBuffer()를 호출해 데이터를 RAM(Buffer)에 저장 후 마지막에 WriteBufferSave()를 호출해 일괄로 물리적인 저장소에 Write합니다.
4) Read() : 즉시 처리 방식으로, 저장소의 데이터를 Read합니다.
5) ReadBuffer() : 일괄 처리 방식으로, FillBuffer()를 호출해 저장소의 데이터를 Buffer로 Read한 뒤 ReadBuffer() 메소드를 호출해 데이터를 일괄적으로 Read합니다.


주의 SmartFile을 이용하여 File을 Write할 때 장/단점 및 주의사항

Writing 중 프로그램 오류가 발생하거나 전원 공급이 불안정해지는 등 오류가 발생하는 경우 파일이 깨지거나 데이터의 손실이 발생할 수 있습니다. 또한, SmartFile을 이용하여 File을 쓰는 경우 저장소에 물리적으로 Writing하기 때문에 빈번하게 Write하는 경우 저장소 성능의 저하가 발생합니다.

Write() WriteBuffer()
WriteBufferSave()
장점 Write중 오류가 발생하는 경우
오류 발생 직전까지의 데이터를 Write합니다.
대량의 데이터를 Write하는 경우
Write()과 비교하여 시스템의 성능 향상을 기대할 수 있고
저장소 성능의 저하를 방지할 수 있습니다.
단점 호출 시마다 물리적 저장소(SD Card, Flash Disk)에 저장하므로
여러 번 호출할 경우 오버헤드가 많이 발생하여
처리 시간이 늘어나고, 저장소 성능의 저하가 발생합니다.
WriteBuffer()을 호출하고 WriteBufferSave()를
호출하지 않은 상태에서 프로그램 오류 또는 전원 공급이
중단되는 등의 오류가 발생한다면 데이터의 손실이 발생합니다.

3. SmartDraw에서의 일괄 처리

SmartDraw는 DrawUpdateOption 속성을 설정하여 즉시 처리, 일괄 처리를 선택할 수 있습니다.

1) DrawUpdateOption = DefaultAuto : 즉시 처리 방식으로, Draw관련 메서드가 호출되었을 때 즉시 화면에 표시합니다.
2) DrawUpdateOption = BatchAssign : 일괄 처리 방식으로, Draw관련 메서드가 호출되어도 화면에 표시하지 않습니다. DrawUpdate() 메서드를 호출하면 화면에 일괄적으로 표시합니다.


중요 반복문 안에서 SmartDraw를 사용하여 여러 개의 도형을 그리는 경우 New 버전과 Old 버전의 차이점 – SmartX New Version 기준

반복문 안에서 SmartDraw의 Draw 관련 메서드를 사용하여 일괄적으로 처리할 때 New버전의 경우에는 Old 버전과 다르게 OnPaintMessage가 발생하지 않아서 그리는 중간에 화면이 갱신되지 않습니다.

예를 들어 버튼을 클릭하여 500개의 사각형을 반복문으로 그릴 때 New 버전에서는 500개의 사각형이 하나하나 그려질 때 마다 화면 갱신을 하는 것이 아닌 최종적으로 500개가 끝나고 나면 그때 Message들이 다 Loop에서 처리가 되고나서 화면이 갱신됩니다. 이것을 강제적으로 사각형마다 처리하기 위해서는 Application.DoEvents() 메서드를 추가해야 합니다.

이러한 이유로 인해 기본적으로 New버전의 SmartDraw는 즉시 처리와 일괄 처리의 속도가 많은 차이가 발생하지 않지만 Old 버전과 비교했을 때 더 빠르게 그릴 수 있다는 것을 확인할 수 있습니다.

4. 일괄 처리에 따른 처리 시간 비교 [표] 각 메소드 반복 호출 횟수별 소요 시간 (단위 : 초)
컴포넌트 인터페이스 처리 방식 500번 5,000번 10,000번
SmartDraw DefaultAuto 즉시 처리 0.209 1.905 3.820
DefaultAuto + DoEvents() 즉시 처리 0.778 7.749 15.515
BatchAssign 일괄 처리 0.122 1.204 2.393
SmartFile Write() 즉시 처리 1.344 13.736 27.517
WriteBuffer()
WriteBufferSave()
일괄 처리 0.065 0.419 0.764
Read() 즉시 처리 2.817 349.237 1490.233
FillBuffer()
ReadBuffer()
일괄 처리 0.007 0.122 0.182
C# 예제코드
소스 코드는 참고 및 학습용으로 버그 및 여러 가지 문제가 있을 수 있습니다.

SmartFile 측정 주요 코드
// 파일에 문자열 데이터 쓰기 - 즉시 처리
// 호출시 마다 물리적 저장소(Flash Disk, SD Card, USB Memory)에 저장하므로 이 메서드를 여러번 호출시 성능 저하가 발생
private void WriteString()
{
m_strBenchResult[0] += "-즉시처리";
SmartX.SmartTimer.StartWatch();
// udDataCount값 만큼 반복하여 파일에 문자열을 쓰기
for (int i = 0; i < Convert.ToInt32(udDataCount.Value); i++)
{
smartFile1.StringType.Write("[" + i + "] " + m_strWriteString);
}
SmartX.SmartTimer.StopWatch();

// 파일에 문자열을 모두 쓰기 위해 걸린 시간을 저장
m_strBenchResult[1] = String.Format("{0:F4}s", SmartX.SmartTimer.StopWatchElapsedSecond).ToString();
}

// WriteBuffer(), WriteBufferSave() 메서드를 사용하여 문자열 데이터를 Buffer(RAM)에 저장 후
// 마지막에 물리적인 저장소에 저장하여 성능을 개선할 수 있습니다. - 일괄 처리
private void WriteString_Buffer()
{
m_strBenchResult[0] += "-일괄처리";
SmartX.SmartTimer.StartWatch();

// udDataCount값 만큼 반복하여 문자열을 Buffer에 저장하기
for (int i = 0; i < Convert.ToInt32(udDataCount.Value); i++)
{
smartFile1.StringType.WriteBuffer("[" + i + "] " + m_strWriteString);
}
// Buffer에 저장된 문자열을 파일에 쓰기
smartFile1.StringType.WriteBufferSave();
SmartX.SmartTimer.StopWatch();

// 파일에 문자열을 모두 쓰기 위해 걸린 시간을 저장
m_strBenchResult[1] = String.Format("{0:F4}s", SmartX.SmartTimer.StopWatchElapsedSecond).ToString();
}

// 문자열을 라인 단위로 읽기 합니다. - 즉시 처리
// 라인수가 많은 경우 각각의 데이터를 순차적으로 읽을 경우 내부적인 오버헤드로 인하여 속도가 느려집니다.
private void ReadString()
{
m_strBenchResult[0] += "-즉시처리";
SmartX.SmartTimer.StartWatch();

smartFile1.StringType.SetReadFrontPosition();

for (int i = 0; i < Convert.ToInt32(udDataCount.Value); i++)
{
// 파일에서 문자열을 읽기
m_strReadString[i] = smartFile1.StringType.Read();
}
SmartX.SmartTimer.StopWatch();

// 파일에 문자열을 모두 읽기 위해 걸린 시간을 저장
m_strBenchResult[1] = String.Format("{0:F4}s", SmartX.SmartTimer.StopWatchElapsedSecond).ToString();
}

// FillBuffer(), ReadBuffer() 메서드를 사용하여 File의 데이터를 Buffer(RAM)에 저장후
// Buffer에 저장된 데이터를 읽어와 성능을 개선할 수 있습니다. - 일괄 처리
private void ReadString_Buffer()
{
m_strBenchResult[0] += "-일괄처리";
SmartX.SmartTimer.StartWatch();

// 파일에 있는 문자열 데이터를 Buffer에 저장합니다.
smartFile1.StringType.FillBuffer();

for (int i = 0; i < Convert.ToInt32(udDataCount.Value); i++)
{
// Buffer에 저장된 Index 위치에 있는 문자열 데이터를 읽기
m_strReadString[i] = smartFile1.StringType.ReadBuffer(i);
}

SmartX.SmartTimer.StopWatch();

// 파일에 문자열을 모두 읽기 위해 걸린 시간을 저장
m_strBenchResult[1] = String.Format("{0:F4}s", SmartX.SmartTimer.StopWatchElapsedSecond).ToString();
}


SmartDraw 측정 주요 코드
private void radDarwSetting_Click(object sender, EventArgs e)
{
if (radDefaultAuto.Checked == true)
{
smartDraw1.DrawUpdateOption = SmartX.SmartDraw.DrawUpdateOptions.DefaultAuto;
}
else
{
smartDraw1.DrawUpdateOption = SmartX.SmartDraw.DrawUpdateOptions.BatchAssign;
}
}

private void DrawRectangle_Click(object sender, EventArgs e)
{
// Rectangle의 넓이, 높이, X축, Y축 위치를 저장할 변수
int iWidth, iHeight, iTop, iLeft;

SmartX.SmartTimer.StartWatch();

for (int i = 0; i < smartUpDown1.Value; i++)
{
iTop = m_rdValue.Next(10, 368);
iLeft = m_rdValue.Next(10, 628);
iWidth = m_rdValue.Next(0, (628 - iLeft));
iHeight = m_rdValue.Next(0, (368 - iTop));

// ForeLayer(DrawLayer)에 사각형을 그리기
smartDraw1.SetBrushStyle(Color.FromArgb(m_rdValue.Next(0xffffff)));
smartDraw1.SetPenStyle(Color.FromArgb(m_rdValue.Next(0xffffff)), 1);
smartDraw1.Rectangle(iLeft, iTop, iWidth, iHeight);

if (radAuto_DoEvent.Checked == true)
{
Application.DoEvents();
}
}

if (smartDraw1.DrawUpdateOption == SmartX.SmartDraw.DrawUpdateOptions.BatchAssign)
{
// UpdateOption이 BatchAssign일 때 메모리에 저장된 그림 요소를 출력
smartDraw1.DrawUpdate();
}

SmartX.SmartTimer.StopWatch();

labTime.Text = SmartX.SmartTimer.StopWatchElapsedSecond.ToString();
}
VB.NET 예제코드
소스 코드는 참고 및 학습용으로 버그 및 여러 가지 문제가 있을 수 있습니다.

SmartFile 측정 주요 코드
' 파일에 문자열 데이터 쓰기 - 즉시 처리
' 호출시 마다 물리적 저장소(Flash Disk, SD Card, USB Memory)에 저장하므로 이 메서드를 여러번 호출시 성능 저하가 발생
Private Sub WriteString()
m_strBenchResult(0) += "-즉시처리"
SmartX.SmartTimer.StartWatch()
' udDataCount값 만큼 반복하여 파일에 문자열을 쓰기
For i As Integer = 0 To Convert.ToInt32(udDataCount.Value) - 1
smartFile1.StringType.Write("[" & i & "] " & m_strWriteString)
Next
SmartX.SmartTimer.StopWatch()

' 파일에 문자열을 모두 쓰기 위해 걸린 시간을 저장
m_strBenchResult(1) = String.Format("{0:F4}s", SmartX.SmartTimer.StopWatchElapsedSecond).ToString()
End Sub

' WriteBuffer(), WriteBufferSave() 메서드를 사용하여 문자열 데이터를 Buffer(RAM)에 저장 후
' 마지막에 물리적인 저장소에 저장하여 성능을 개선할 수 있습니다. - 일괄 처리
Private Sub WriteString_Buffer()
m_strBenchResult(0) += "-일괄처리"
SmartX.SmartTimer.StartWatch()

' udDataCount값 만큼 반복하여 문자열을 Buffer에 저장하기
For i As Integer = 0 To Convert.ToInt32(udDataCount.Value) - 1
smartFile1.StringType.WriteBuffer("[" & i & "] " & m_strWriteString)
Next
' Buffer에 저장된 문자열을 파일에 쓰기
smartFile1.StringType.WriteBufferSave()
SmartX.SmartTimer.StopWatch()

' 파일에 문자열을 모두 쓰기 위해 걸린 시간을 저장
m_strBenchResult(1) = String.Format("{0:F4}s", SmartX.SmartTimer.StopWatchElapsedSecond).ToString()
End Sub

' 문자열을 라인 단위로 읽기 합니다. - 즉시 처리
' 라인수가 많은 경우 각각의 데이터를 순차적으로 읽을 경우 내부적인 오버헤드로 인하여 속도가 느려집니다.
Private Sub ReadString()
m_strBenchResult(0) += "-즉시처리"
SmartX.SmartTimer.StartWatch()
smartFile1.StringType.SetReadFrontPosition()

For i As Integer = 0 To Convert.ToInt32(udDataCount.Value) - 1
' 파일에서 문자열을 읽기
m_strReadString(i) = smartFile1.StringType.Read()
Next
SmartX.SmartTimer.StopWatch()

' 파일에 문자열을 모두 읽기 위해 걸린 시간을 저장
m_strBenchResult(1) = String.Format("{0:F4}s", SmartX.SmartTimer.StopWatchElapsedSecond).ToString()
End Sub

' FillBuffer(), ReadBuffer() 메서드를 사용하여 File의 데이터를 Buffer(RAM)에 저장후
' Buffer에 저장된 데이터를 읽어와 성능을 개선할 수 있습니다. - 일괄 처리
Private Sub ReadString_Buffer()
m_strBenchResult(0) += "-일괄처리"
SmartX.SmartTimer.StartWatch()

' 파일에 있는 문자열 데이터를 Buffer에 저장합니다.
smartFile1.StringType.FillBuffer()

For i As Integer = 0 To Convert.ToInt32(udDataCount.Value) - 1
' Buffer에 저장된 Index 위치에 있는 문자열 데이터를 읽기
m_strReadString(i) = smartFile1.StringType.ReadBuffer(i)
Next
SmartX.SmartTimer.StopWatch()

' 파일에 문자열을 모두 읽기 위해 걸린 시간을 저장
m_strBenchResult(1) = String.Format("{0:F4}s", SmartX.SmartTimer.StopWatchElapsedSecond).ToString()
End Sub


SmartDraw 측정 주요 코드
Private Sub radDarwSetting_Click(ByVal sender As Object, ByVal e As EventArgs) Handles radDarwSetting.Click
If radDefaultAuto.Checked = True Then
smartDraw1.DrawUpdateOption = SmartX.SmartDraw.DrawUpdateOptions.DefaultAuto
Else
smartDraw1.DrawUpdateOption = SmartX.SmartDraw.DrawUpdateOptions.BatchAssign
End If
End Sub

Private Sub DrawRectangle_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnDrawRect.Click
' Rectangle의 넓이, 높이, X축, Y축 위치를 저장할 변수
Dim iWidth, iHeight, iTop, iLeft As Integer

SmartX.SmartTimer.StartWatch()

For i As Integer = 0 To smartUpDown1.Value - 1
iTop = m_rdValue.Next(10, 368)
iLeft = m_rdValue.Next(10, 628)
iWidth = m_rdValue.Next(0, (628 - iLeft))
iHeight = m_rdValue.Next(0, (368 - iTop))

' ForeLayer(DrawLayer)에 사각형을 그리기
smartDraw1.SetBrushStyle(Color.FromArgb(m_rdValue.Next(&HfffffF)))
smartDraw1.SetPenStyle(Color.FromArgb(m_rdValue.Next(&HfffffF)), 1)
smartDraw1.Rectangle(iLeft, iTop, iWidth, iHeight)

If radAuto_DoEvent.Checked = True Then
Application.DoEvents()
End If
Next

If smartDraw1.DrawUpdateOption = SmartX.SmartDraw.DrawUpdateOptions.BatchAssign Then
' UpdateOption이 BatchAssign일 때 메모리에 저장된 그림 요소를 출력
smartDraw1.DrawUpdate()
End If

SmartX.SmartTimer.StopWatch()

labTime.Text = SmartX.SmartTimer.StopWatchElapsedSecond.ToString()
End Sub
맨 위로
팝업닫기

(주)에이치앤에스('http://hnsts.co.kr/'이하 '(주)에이치앤에스 웹사이트')는 개인정보보호법에 따라 이용자의 개인정보 보호 및 권익을 보호하고 개인정보와 관련한 이용자의 고충을 원활하게 처리할 수 있도록 다음과 같은 처리방침을 두고 있습니다.

(주)에이치앤에스 웹사이트는 개인정보처리방침을 개정하는 경우 웹사이트 공지사항(또는 개별공지)을 통하여 공지할 것입니다.

○ 본 방침은 2011년 4월 1일부터 시행됩니다.

1. 개인정보의 처리 목적 (주)에이치앤에스 웹사이트는 개인정보를 다음의 목적을 위해 처리합니다. 처리한 개인정보는 다음의 목적 이외의 용도로는
사용되지 않으며 이용 목적이 변경될 시에는 사전동의를 구할 예정 입니다.
가. 민원사무 처리
민원인의 신원 확인, 민원사항 확인, 사실조사를 위한 연락 · 통지, 처리결과 통보 등을 목적으로 개인정보를 처리합니다.
2. 개인정보 파일 현황
1. 개인정보 파일명 : 고객의 소리
  • - 개인정보 항목 : 이메일, 휴대전화번호, 자택전화번호, 이름, 서비스 이용 기록, 접속 로그, 쿠키, 접속 IP 정보
  • - 수집방법 : 웹사이트
  • - 보유근거 : 이용자 동의
  • - 보유기간 : 3년
3. 개인정보의 제3자 제공에 관한 사항
① (주)에이치앤에스 웹사이트는 원칙적으로 이용자의 개인정보를 제1조에서 명시한 목적 범위 내에서 처리하며, 본래의 범위를 초과하여 처리하거나 제3자에게 제공하지 않습니다.
다만, 다음의 경우에는 개인정보를 제3자에게 제공할 수 있습니다.
  • – 이용자가 사전에 제3자 제공 및 공개에 동의한 경우
  • – 법령 등에 의해 제공이 요구되는 경우
  • – 서비스의 제공에 관한 계약의 이행을 위하여 필요한 개인정보로서 경제적/기술적인 사유로 통상의 동의를 받는 것이 현저히 곤란한 경우
  • – 개인을 식별하기에 특정할 수 없는 상태로 가공하여 이용하는 경우
4. 정보주체의 권리,의무 및 그 행사방법 이용자는 개인정보주체로서 다음과 같은 권리를 행사할 수 있습니다.
① 정보주체는 (주)에이치앤에스 웹사이트에 대해 언제든지 다음 각 호의 개인정보 보호 관련 권리를 행사할 수 있습니다.
  • 1. 개인정보 열람요구
  • 2. 오류 등이 있을 경우 정정 요구
  • 3. 삭제요구
  • 4. 처리정지 요구
② 제1항에 따른 권리 행사는 (주)에이치앤에스 웹사이트에 대해 개인정보 보호법 시행규칙 별지 제8호 서식에 따라 서면, 전자우편, 모사전송(FAX) 등을 통하여 하실 수 있으며 (주)에이치앤에스 웹사이트는
이에 대해 지체 없이 조치하겠습니다.
③ 정보주체가 개인정보의 오류 등에 대한 정정 또는 삭제를 요구한 경우에는 (주)에이치앤에스 웹사이트는 정정 또는 삭제를 완료할 때까지 당해 개인정보를 이용하거나 제공하지 않습니다.
④ 제1항에 따른 권리 행사는 정보주체의 법정대리인이나 위임을 받은 자 등 대리인을 통하여 하실 수 있습니다. 이 경우 개인정보 보호법 시행규칙 별지 제11호 서식에 따른 위임장을
제출하셔야 합니다.
5. 제3자에게의 개인정보 제공
① (주)에이치앤에스 웹사이트는 다음의 개인정보 항목을 처리하고 있습니다.
<민원사무 처리>
– 필수항목 : 이름, 휴대전화번호, 자택전화번호, 이메일, 서비스 이용 기록, 접속로그, 쿠키, 접속IP 정보
6. 개인정보의 파기
(주)에이치앤에스 웹사이트는 원칙적으로 개인정보 처리목적이 달성된 경우에는 지체없이 해당 개인정보를 파기합니다. 파기의 절차, 기한 및 방법은 다음과 같습니다.
  • –파기절차 이용자가 입력한 정보는 목적 달성 후 별도의 DB에 옮겨져(종이의 경우 별도의 서류) 내부 방침 및 기타 관련 법령에 따라 일정기간 저장된 후 혹은 즉시 파기됩니다. 이 때, DB로 옮겨진 개인정보는 법률에 의한 경우가 아니고서는 다른 목적으로 이용되지 않습니다.-파기기한이용자의 개인정보는 개인정보의 보유기간이 경과된 경우에는 보유기간의 종료일로부터 5일 이내에, 개인정보의 처리 목적 달성, 해당 서비스의 폐지, 사업의 종료 등 그 개인정보가 불필요하게 되었을 때에는 개인정보의 처리가 불필요한 것으로 인정되는 날로부터 5일 이내에 그 개인정보를 파기합니다.
  • –파기방법 전자적 파일 형태의 정보는 기록을 재생할 수 없는 기술적 방법을 사용합니다. 종이에 출력된 개인정보는 분쇄기로 분쇄하거나 소각을 통하여 파기합니다.
7. 개인정보의 안전성 확보 조치
(주)에이치앤에스 웹사이트는 개인정보보호법 제29조에 따라 다음과 같이 안전성 확보에 필요한 기술적/관리적 및 물리적 조치를 하고 있습니다.
1. 정기적인 자체 감사 실시
개인정보 취급 관련 안정성 확보를 위해 정기적(분기 1회)으로 자체 감사를 실시하고 있습니다.
2. 개인정보 취급 직원의 최소화 및 교육
개인정보를 취급하는 직원을 지정하고 담당자에 한정시켜 최소화 하여 개인정보를 관리하는 대책을 시행하고 있습니다.
3. 내부관리계획의 수립 및 시행
개인정보의 안전한 처리를 위하여 내부관리계획을 수립하고 시행하고 있습니다.
4. 해킹 등에 대비한 기술적 대책
(주)에이치앤에스 웹사이트는 해킹이나 컴퓨터 바이러스 등에 의한 개인정보 유출 및 훼손을 막기 위하여 보안프로그램을 설치하고 주기적인 갱신·점검을 하며 외부로부터 접근이 통제된 구역에
시스템을 설치하고 기술적/물리적으로 감시 및 차단하고 있습니다.
5. 개인정보의 암호화
이용자의 개인정보는 비밀번호는 암호화 되어 저장 및 관리되고 있어, 본인만이 알 수 있으며 중요한 데이터는 파일 및 전송 데이터를 암호화 하거나 파일 잠금 기능을 사용하는 등의
별도 보안기능을 사용하고 있습니다.
6. 접속기록의 보관 및 위변조 방지
개인정보처리시스템에 접속한 기록을 최소 6개월 이상 보관, 관리하고 있으며, 접속 기록이 위변조 및 도난, 분실되지 않도록 보안기능 사용하고 있습니다.
7. 개인정보에 대한 접근 제한
개인정보를 처리하는 데이터베이스시스템에 대한 접근권한의 부여,변경,말소를 통하여 개인정보에 대한 접근통제를 위하여 필요한 조치를 하고 있으며 침입차단시스템을 이용하여
외부로부터의 무단 접근을 통제하고 있습니다.
8. 문서보안을 위한 잠금장치 사용
개인정보가 포함된 서류, 보조저장매체 등을 잠금장치가 있는 안전한 장소에 보관하고 있습니다.
9. 비인가자에 대한 출입 통제
개인정보를 보관하고 있는 물리적 보관 장소를 별도로 두고 이에 대해 출입통제 절차를 수립, 운영하고 있습니다.
8. 개인정보 보호책임자 작성
① (주)에이치앤에스 웹사이트는 개인정보 처리에 관한 업무를 총괄해서 책임지고, 개인정보 처리와 관련한 정보주체의 불만처리 및 피해구제 등을 위하여 아래와 같이 개인정보 보호책임자를
지정하고 있습니다.
▶ 개인정보 보호책임자
성명 : 김진효
소속 : (주)에이치앤에스
전화번호 : 02-6402-8001
이메일 : hns@hnsts.co.kr
② 정보주체께서는 (주)에이치앤에스 웹사이트의 서비스(또는 사업)을 이용하시면서 발생한 모든 개인정보 보호 관련 문의, 불만처리, 피해구제 등에 관한 사항을 개인정보 보호책임자 및
담당부서로 문의하실 수 있습니다. (주)에이치앤에스 웹사이트는 정보주체의 문의에 대해 지체 없이 답변 및 처리해드릴 것입니다.
9. 개인정보침해 구제방법
정보주체는 개인정보침해로부터 구제받고자 하는 경우 다음과 같은 기관에 도움을 요청할 수 있습니다.
▶ 개인정보 침해신고센터 (한국인터넷진흥원 운영)
– 소관업무 : 개인정보 침해사실 신고, 상담 신청
– 홈페이지 : privacy.kisa.or.kr
– 전화 : (국번없이) 118
– 주소 : (138-950) 서울시 송파구 중대로 135 한국인터넷진흥원 개인정보침해신고센터
▶ 개인정보 분쟁조정위원회 (한국인터넷진흥원 운영)
– 홈페이지 : privacy.kisa.or.kr
– 전화 : (국번없이) 118
– 주소 : (138-950) 서울시 송파구 중대로 135 한국인터넷진흥원 개인정보침해신고센터
10. 개인정보 처리방침 변경
① 이 개인정보처리방침은 시행일로부터 적용되며, 법령 및 방침에 따른 변경내용의 추가, 삭제 및 정정이 있는 경우에는 변경사항의 시행 7일 전부터 공지사항을 통하여 고지할
것입니다.
팝업닫기

본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나 그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며, 이를 위반시 정보통신망법에 의해 형사처벌됨을 유념하시기 바랍니다.

게시일 : 2011.4.1