KR20190118950A - System and method for detecting error of electronic document - Google Patents
System and method for detecting error of electronic document Download PDFInfo
- Publication number
- KR20190118950A KR20190118950A KR1020180172034A KR20180172034A KR20190118950A KR 20190118950 A KR20190118950 A KR 20190118950A KR 1020180172034 A KR1020180172034 A KR 1020180172034A KR 20180172034 A KR20180172034 A KR 20180172034A KR 20190118950 A KR20190118950 A KR 20190118950A
- Authority
- KR
- South Korea
- Prior art keywords
- electronic document
- format
- information
- error
- byte
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
Abstract
Description
본 발명은 전자문서에 존재하는 오류를 검출하는 기술에 관한 것이다.The present invention relates to a technique for detecting an error present in an electronic document.
최근 컴퓨터의 보급이 기하급수적으로 증가함에 따라 무수히 많은 양의 전자문서가 생성되고 있으며, 이러한 전자문서는 다양한 종류의 오피스 도구들을 통해 생산된다.With the recent exponential growth of computers, a myriad of electronic documents have been generated, and these electronic documents are produced through various kinds of office tools.
한편, 생산된 전자문서에는 다양한 원인들에 의해 오류가 발생할 수 있다. 예를 들면, 전자문서를 생산하는 오피스 도구의 버그 또는 오류에 의해 제로(Zero) 바이트 문서가 생성되거나, 응용시스템에 의해 전자문서의 파일 확장자에 오류가 발생하거나, 전자문서를 네트워크를 통해 전송하는 과정에서 전자문서 파일에 손상이 발생하거나, 하드디스크 단편화에 따라 전자문서의 저장에 손상이 발생할 수 있다. 전자문서에 오류가 발생한 경우, 전자문서의 실행이 불가능한 경우가 발생하거나, 실행이 가능하더라도 전자문서 내 존재하는 텍스트, 이미지, 표 또는 OLE(Object Linking and Embedding) 개체에 오류가 발생하여 전자문서를 통해 원하는 정보를 충분히 획득하지 못하는 상황이 발생할 수 있다.Meanwhile, an error may occur in the produced electronic document due to various causes. For example, a zero byte document is generated by a bug or an error of an office tool that produces an electronic document, an error occurs in the file extension of the electronic document by an application system, or an electronic document is transmitted over a network. During the process, damage may occur to the electronic document file or damage to the storage of the electronic document due to fragmentation of the hard disk. If an error occurs in the electronic document, the electronic document may not be executed, or even if it is possible, an error may occur in the text, image, table, or object linking and embedding (OLE) object in the electronic document. Through this, a situation may arise in which the desired information cannot be obtained sufficiently.
상기와 같은 전자문서의 훼손 또는 손상으로 인한 손실을 최소화하기 위해 전자문서의 무결성을 확인하는 것이 필요하다. 그러나, 개인을 비롯한 대부분의 기관에서는 전자문서의 상태 및 내용을 직접 파일을 실행하여 사람의 눈으로 점검하도록 하고 있다.It is necessary to check the integrity of the electronic document in order to minimize the loss due to the damage or damage of the electronic document. However, most organizations, including individuals, have the ability to check the status and contents of electronic documents by directly executing files.
본 발명이 해결하고자 하는 과제는 전자문서를 직접 실행하지 않고 전자문서가 가진 데이터값만으로 전자문서의 오류를 확인하고, 이에 대한 정보를 제공하는 것이다.The problem to be solved by the present invention is to identify the error of the electronic document only by the data value of the electronic document without directly executing the electronic document, and to provide information on this.
본 발명의 일 실시예에 따른 컴퓨터 판독 가능한 기록 매체에 저장된 전자문서 오류 검출 프로그램은 전자문서의 포맷 정보를 나타내는 제1 코드정보 및 포맷 별 오류 정보를 나타내는 제2 코드정보를 저장하는 단계, 입력된 전자문서의 상태를 나타내는 바이트 정보를 추출하고, 상기 추출한 바이트 정보와 상기 제1 코드정보를 비교하여 상기 입력된 전자문서의 포맷을 결정하는 단계, 상기 추출한 바이트 정보와 상기 결정한 포맷에 따른 제2 코드정보를 비교하여 상기 입력된 전자문서의 오류 발생 여부를 결정하는 단계를 실행하는 명령어들을 포함한다.An electronic document error detection program stored in a computer-readable recording medium according to an embodiment of the present invention includes storing first code information indicating format information of an electronic document and second code information indicating error information for each format. Extracting byte information indicating a state of an electronic document, and comparing the extracted byte information with the first code information to determine a format of the input electronic document; a second code according to the extracted byte information and the determined format And comparing the information to determine whether an error of the input electronic document occurs.
상기 입력된 전자문서의 포맷을 결정하는 단계는 상기 입력된 전자문서의 바이트 정보가 제1 코드정보를 포함하는 경우, 상기 제1 코드정보에 대응하는 포맷을 상기 입력된 전자문서의 포맷으로 결정한다.In the determining of the format of the input electronic document, when the byte information of the input electronic document includes the first code information, the format corresponding to the first code information is determined as the format of the input electronic document. .
상기 전자문서 오류 검출 프로그램은 상기 입력된 전자문서의 파일명에 기초하여 상기 입력된 전자문서에 현재 설정된 포맷을 결정하는 단계, 그리고 상기 결정한 포맷과 상기 현재 설정된 포맷의 일치 여부에 기초하여 상기 입력된 전자문서의 포맷 오류를 결정하는 단계를 실행하는 명령어들을 더 포함한다.The electronic document error detection program determines a format currently set for the input electronic document based on a file name of the input electronic document, and the input electronic based on whether the determined format matches the currently set format. The method further includes instructions for executing a step of determining a format error of the document.
상기 입력된 전자문서의 오류 발생 여부를 결정하는 단계는 상기 입력된 전자문서의 바이트 정보가 상기 결정한 포맷에 따른 상기 제2 코드정보를 포함하는 경우, 상기 제2 코드정보에 대응하는 오류가 상기 입력된 전자문서에서 발생한 것으로 결정한다.Determining whether an error of the input electronic document occurs, if the byte information of the input electronic document includes the second code information according to the determined format, the error corresponding to the second code information is inputted. Is determined to have occurred in an electronic document.
상기 오류는 용량 오류 또는 파일 손상 오류 중 적어도 하나를 포함한다.The error includes at least one of a capacity error or a file corruption error.
상기 전자문서 오류 검출 프로그램은 상기 결정한 오류 발생 여부와 작업 정보를 함께 출력하는 단계를 실행하는 명령어들을 더 포함한다.The electronic document error detection program further includes instructions for executing a step of outputting together the determined error occurrence and job information.
상기 작업 정보는 상기 전자문서의 파일명, 작업 요청 시간 또는 작업 수행 시간에 대한 정보 중 적어도 하나를 포함한다.The job information includes at least one of a file name, a job request time or a job execution time of the electronic document.
본 발명의 일 실시예에 따른 전자문서 오류 검출 장치가 전자문서의 오류를 검출하는 방법은 전자문서의 포맷 정보를 나타내는 코드정보를 전자문서의 포맷 별로 저장하는 단계, 입력된 전자문서의 헤더 블록에 포함된 제1 바이트 정보를 추출하는 단계, 상기 제1 바이트 정보가 포함하는 코드정보를 결정하고, 결정된 코드정보에 대응하는 포맷을 상기 입력된 전자문서의 포맷으로 결정하는 단계, 상기 입력된 전자문서의 파일명에 기초하여 상기 입력된 전자문서에 현재 설정된 포맷을 결정하는 단계, 그리고 상기 결정한 포맷과 상기 현재 설정된 포맷의 일치 여부에 기초하여 상기 입력된 전자문서의 포맷 오류를 결정하는 단계를 더 포함한다.According to an embodiment of the present invention, an electronic document error detecting apparatus detects an error of an electronic document by storing code information indicating format information of the electronic document for each format of the electronic document, in the header block of the input electronic document. Extracting included first byte information, determining code information included in the first byte information, and determining a format corresponding to the determined code information as a format of the input electronic document, the input electronic document Determining a format currently set for the input electronic document based on a filename of the file, and determining a format error of the input electronic document based on whether the determined format matches the currently set format. .
상기 전자문서 오류 검출 장치가 전자문서의 오류를 검출하는 방법은 상기 결정한 포맷에 대응하는 바이트 구조를 결정하는 단계, 상기 입력된 전자문서의 데이터 블록에 포함된 제2 바이트 정보를 추출하는 단계, 그리고 상기 제2 바이트 정보가 상기 바이트 구조에 위배되는지 여부에 기초하여 상기 입력된 전자문서의 콘텐츠 오류 여부를 결정하는 단계를 더 포함한다.The method for detecting an error of an electronic document by the electronic document error detecting apparatus may include determining a byte structure corresponding to the determined format, extracting second byte information included in a data block of the input electronic document, and Determining whether a content error of the input electronic document is based on whether the second byte information is in violation of the byte structure.
상기 전자문서 오류 검출 장치가 전자문서의 오류를 검출하는 방법은 상기 결정한 포맷의 객체 위치 정보 테이블을 이용하여 상기 입력된 전자문서를 구성하는 객체들에 접속하고, 상기 객체들이 상기 입력된 전자문서에서 유효하게 존재하는지 여부에 따라 상기 입력된 전자문서의 콘텐츠 오류 여부를 결정하는 단계를 더 포함한다.The electronic document error detecting apparatus detects an error of an electronic document by using an object location information table of the determined format to access objects constituting the input electronic document, wherein the objects are stored in the input electronic document. The method may further include determining whether an error of the content of the input electronic document depends on whether it exists effectively.
상기 전자문서 오류 검출 장치가 전자문서의 오류를 검출하는 방법은 상기 결정한 포맷 오류 및 콘텐츠 오류 여부를 작업 정보와 함께 출력하는 단계를 더 포함한다.The method for detecting an error of an electronic document by the electronic document error detecting apparatus further includes outputting the determined format error and content error together with the job information.
상기 작업 정보는 상기 전자문서의 파일명, 작업 요청 시간 또는 작업 수행 시간에 대한 정보 중 적어도 하나를 포함한다.The job information includes at least one of a file name, a job request time or a job execution time of the electronic document.
본 발명에 따르면, 전자문서를 직접 실행하지 않고 전자문서가 가진 데이터값만으로 전자문서의 오류를 확인할 수 있다.According to the present invention, the error of the electronic document can be confirmed only by the data value of the electronic document without directly executing the electronic document.
도 1은 한 실시예에 따른 전자문서 오류 검출 장치를 설명하는 도면이다.
도 2는 한 실시예에 따른 오류 결정부의 구조도이다.
도 3은 전자문서의 바이트 정보를 이용하여 포맷을 결정하는 방법을 도시한 도면이다.
도 4는 전자문서의 바이트 정보를 이용하여 암호화 여부, 압축 여부 및 오류 발생 여부를 결정하는 방법을 도시한 도면이다.
도 5는 한 실시예에 따른 전자문서 오류 검출 장치가 전자문서의 포맷 오류를 검출하는 방법을 나타낸 도면이다.
도 6은 한 실시예에 따른 전자문서 오류 검출 장치가 전자문서의 용량 오류 또는 파일 손상 오류 중 적어도 하나를 검출하는 방법을 나타낸 도면이다.
도 7은 한 실시예에 따른 전자문서 오류 검출 장치가 전자문서의 콘텐츠 손상 오류를 검출하는 방법을 나타낸 도면이다.
도 8은 전자문서 중 pdf 파일의 파일 구조를 나타낸 도면이다.
도 9는 전자문서 오류 검출 장치가 전자문서의 포맷 및 콘텐츠 오류 여부를 결정하는 예시적인 방법을 나타낸 도면이다.
도 10은 전자문서 중 OLE 파일의 파일 구조를 나타낸 도면이다.
도 11은 전자문서 오류 검출 장치가 전자문서의 포맷 및 콘텐츠 오류 여부를 결정하는 예시적인 다른 방법을 나타낸 도면이다.
도 12는 전자문서 오류 검출 장치가 구현되는 다른 환경을 나타낸 도면이다.
도 13은 전자문서 오류 검출 장치가 구현되는 다른 환경을 나타낸 도면이다.1 is a diagram illustrating an electronic document error detection apparatus according to an embodiment.
2 is a structural diagram of an error determining unit according to an exemplary embodiment.
3 is a diagram illustrating a method of determining a format using byte information of an electronic document.
4 is a diagram illustrating a method of determining whether to encrypt, compress, and generate an error using byte information of an electronic document.
5 is a diagram illustrating a method of detecting a format error of an electronic document by an electronic document error detecting apparatus according to an embodiment.
6 is a diagram illustrating a method of detecting, by an electronic document error detecting apparatus, at least one of a capacity error and a file corruption error of an electronic document.
7 is a diagram illustrating a method of detecting a content corruption error of an electronic document by an electronic document error detecting apparatus according to an embodiment.
8 illustrates a file structure of a pdf file of an electronic document.
9 is a diagram illustrating an exemplary method of determining, by an electronic document error detection apparatus, whether a format and a content error of an electronic document.
10 illustrates a file structure of an OLE file in an electronic document.
FIG. 11 is a diagram illustrating another exemplary method by which an electronic document error detection apparatus determines a format and a content error of an electronic document.
12 illustrates another environment in which an electronic document error detection apparatus is implemented.
13 is a diagram illustrating another environment in which an electronic document error detection apparatus is implemented.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise.
도 1은 한 실시예에 따른 전자문서 오류 검출 장치를 설명하는 도면이다.1 is a diagram illustrating an electronic document error detection apparatus according to an embodiment.
도 1을 참고하면, 전자문서 오류 검출 장치(100)는 입력부(110), 코드정보 저장부(120), 오류 결정부(130) 및 출력부(140)를 포함한다.Referring to FIG. 1, the electronic document
전자문서 오류 검출 장치(100)는 입력된 전자문서의 바이트 정보를 이용하여 해당 전자문서의 오류 발생 여부를 결정하는 프로그램(전자문서 오류 검출 프로그램)이 저장된 컴퓨터 장치일 수 있다. 즉, 전자문서 오류 검출 장치(100)는 컴퓨터 판독 가능한 기록 매체에 전자문서 오류 검출 프로그램을 저장하고, 이를 통해 입력된 전자문서의 오류 발생 여부를 결정하는 장치일 수 있다.The electronic document
여기서, 컴퓨터 판독 가능한 기록 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 디바이스에 의해 판독 가능한 매체를 의미한다. 기록 매체의 예시로서, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다.Here, the computer-readable recording medium refers to a medium that stores data semi-permanently, not a medium for storing data for a short time such as a register, a cache, a memory, and the like, and is readable by a device. Examples of the recording medium include, but are not limited to, a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
입력부(110)는 사용자로부터 입력된 전자문서를 오류 결정부(130)로 전송한다.The
입력부(110)에 입력되는 전자문서는 크게 텍스트 파일, 바이너리 파일 및 혼합형 파일 형태로 구분할 수 있으며, 예를 들면, 전자문서는 txt 파일, hwp 파일, doc 파일, docx 파일, ppt 파일, pptx 파일, xls 파일, xlsx 파일, pdf 파일, hwd 파일, hwn 파일, hof 파일, hgn 파일, jpg 파일, bmp 파일, tiff 파일 등 여러 형태의 파일일 수 있으나 이들에 한정되지 않는다.The electronic document input to the
여기서, 텍스트 파일은 사람이 인지할 수 있는 문자열 집합으로부터 문자열로만 이루어져 있는 파일을 지칭하며 잘 알려진 문자열 집합으로는 ASCII 문자열 집합과 유니코드 문자열 집합이 있다. 텍스트 파일은 일반적으로 윈도우 메모장이나 텍스트 편집 도구를 통해 전자문서의 내용을 식별할 수 있다. 파일의 내용이 디스크에 저장될 때는 텍스트를 0에서 255까지의 숫자들로 치환하여 저장관리 하는데, 0에서 255까지의 숫자들이 바이트 단위로 저장된 형태를 해당 텍스트 파일의 본 명세서의 바이트 정보로 정의할 수 있다.Here, a text file refers to a file consisting of only strings from a human-recognized string set. Well-known string sets include ASCII string sets and Unicode string sets. Text files can usually identify the contents of an electronic document using Windows Notepad or text editing tools. When the contents of the file are stored on the disk, the text is stored and managed by substituting the numbers from 0 to 255. The format in which the
또한, 바이너리 파일은 파일의 내용이 문자, 숫자 또는 기호 외에도 글꼴의 크기나 색상, 글자의 위치, 이미지 정보 등과 같은 다양한 정보를 포함하고 있는 파일을 지칭하며, 시스템에서의 동작 성능 및 품질 향상을 목적으로 특정 오피스 도구에 의해 정의된 파일 포맷에 해당한다. 따라서, 바이너리 파일은 생산한 오피스 도구를 통해서만 그 내용을 사람의 육안으로 식별할 수 있다. 본 명세서의 바이트 정보는 바이너리 파일의 문자, 숫자 또는 기호는 물론이고, 이외의 정보가 바이트 단위로 저장되는 형태까지 포함한다.In addition, a binary file refers to a file whose contents include various information such as font size or color, character position, image information, etc. in addition to letters, numbers, or symbols. This corresponds to the file format defined by a particular office tool. Therefore, the binary file can be identified by the human eye only through the produced office tools. The byte information of the present specification includes not only letters, numbers, or symbols of the binary file but also a form in which other information is stored in byte units.
또한, 혼합형 파일은 예를 들면, 압축되었거나 다른 형태로 변형(grouping)된 개별 HTML 파일이나 XML 파일과 같이, 그 자체는 텍스트 파일에 해당하지만 압축 또는 형태 변형으로 인해 바이너리 파일의 성격을 가진 파일을 지칭한다. 본 명세서의 바이트 정보는 혼합형 파일에서 압축과 관련된 정보 및 형태 변형과 관련된 정보가 바이트 단위로 저장되는 형태까지 포함한다.In addition, a hybrid file is a text file that is itself a text file, such as an individual HTML file or an XML file that is compressed or grouped into another form. Refer. The byte information of the present specification includes a form in which information related to compression and information related to shape transformation are stored in a byte unit in a mixed file.
코드정보 저장부(120)는 전자문서의 포맷 정보를 나타내는 코드정보를 전자문서의 포맷 별로 저장하고, 포맷 별 오류를 나타내는 코드정보를 오류 별로 저장하고, 포맷 별 암호화 여부에 대한 정보를 저장하고, 포맷 별 압축 여부에 대한 정보를 저장한다. 이 경우, 오류는 용량 오류 또는 파일 손상 오류 중 적어도 하나를 포함한다.The code
예를 들면, 코드정보 저장부(120)는 포맷 "hwp"에 대해 코드정보 "48 57 50 20 44 6F 63 75 6D 65 6E 74 20 46 69 6C 65 20 56 33 2E 30"를, 포맷 "doc"에 대해 코드정보 "D0 CF 11 E0 A1 B1 1A E1" 와 "57 00 6F 00 72 00 64 00 44 00 6F 00 63 00 75 00 6D 00 65 00 6E 00 74 00" 와 "4D 69 63 72 6F 73 6F 66 74 20 57 6F 72 64"를 저장할 수 있다. For example, the code
오류 결정부(130)는 입력부(110)로부터 수신한 전자문서의 바이트 정보를 추출하고, 추출한 바이트 정보를 이용하여 전자문서의 포맷, 암호화 여부, 압축 여부 및 오류 발생 여부를 결정한다. 오류 결정부(130)에 대한 내용은 도 2를 통해 자세히 설명한다.The
출력부(140)는 포맷 정보, 암호화 여부, 압축 여부 및 오류 발생 정보를 사용자에게 제공한다. 여기서, 포맷 정보는 입력된 전자문서의 파일명에 기재된 확장자와 무관하게, 바이트 정보에 의해 결정된 전자문서의 실제 포맷을 지칭하며, 오류 발생 정보는 포맷 오류, 용량 오류, 파일 손상 오류 또는 콘텐츠 오류 중 적어도 하나를 포함한다.The
또한, 출력부(140)는 전자문서에 수행된 작업 정보를 함께 제공할 수 있고, 작업 정보는 상기 전자문서의 파일명, 작업 요청 시간 또는 작업 수행 시간에 대한 정보 중 적어도 하나를 포함할 수 있다.In addition, the
본 발명의 전자문서 오류 검출 장치(100)는 사용자로 하여금 전자문서들을 직접 열람하여 실행 가부 및 내부 콘텐츠의 손상 여부를 육안으로 확인하게 하지 않고, 전자문서의 바이트 정보를 이용하여 복수의 전자문서들의 오류를 자동으로 확인할 수 있는바 전자문서의 이용가능성을 빠르고 정확하게 검토할 수 있다.The electronic document
도 2는 한 실시예에 따른 오류 결정부의 구조도이고, 도 3은 전자문서의 바이트 정보를 이용하여 포맷을 결정하는 방법을 도시한 도면이고, 도 4는 전자문서의 바이트 정보를 이용하여 암호화 여부, 압축 여부 및 오류 발생 여부를 결정하는 방법을 도시한 도면이다.2 is a structural diagram of an error determining unit according to an embodiment, FIG. 3 is a diagram illustrating a method of determining a format using byte information of an electronic document, and FIG. A diagram illustrating a method of determining whether to compress and whether an error occurs.
도 2를 참고하면, 오류 결정부(130)는 바이트 정보 추출부(131), 포맷 유형 결정부(132), 포맷 오류 결정부(133), 전자문서 검증부(134) 및 콘텐츠 오류 결정부(135)를 포함한다,Referring to FIG. 2, the
바이트 정보 추출부(131)는 전자문서의 상태를 나타내는 바이트 정보를 추출한다. 구체적으로, 바이트 정보 추출부(131)는 전자문서가 실행되는 경우 메모리에 로딩되는 바이트 정보를 리딩하여 해당 전자문서의 바이트 정보를 추출한다.The byte
다른 실시예에서, 바이트 정보 추출부(131)는 전자문서의 파일 구조를 분석하여 헤더 블록 및 데이터 블록을 구분하고, 헤더 블록에 포함된 제1 바이트 정보 및 데이터 블록에 포함된 제2 바이트 정보를 각각 추출한다. 파일의 헤더 블록 및 데이터 블록을 구분하는 방법은 이미 공지된 방법으로 본 명세서에서는 자세한 설명을 생략한다.In another embodiment, the byte
포맷 유형 결정부(132)는 전자문서의 바이트 정보가 포함하는 코드정보를 결정하고, 코드정보에 대응하는 포맷을 전자문서의 포맷으로 결정한다.The format
구체적으로, 포맷 유형 결정부(132)는 추출한 바이트 정보가 코드정보 저장부(120)에 저장된 특정 코드정보를 포함하는지 여부를 결정하고, 포함하는 코드정보에 대응하는 포맷을 전자문서의 포맷으로 결정한다.Specifically, the format
예를 들면, 도 3을 참고하면, 포맷 유형 결정부(132)는 전자문서의 바이트 정보가 코드정보 "48 57 50 20 44 6F 63 75 6D 65 6E 74 20 46 69 6C 65 20 56 33 2E 30"를 포함하는 경우 해당 전자문서의 포맷을 "hwp"로 결정할 수 있고, 코드정보 "D0 CF 11 E0 A1 B1 1A E1", "57 00 6F 00 72 00 64 00 44 00 6F 00 63 00 75 00 6D 00 65 00 6E 00 74 00" 및 "4D 69 63 72 6F 73 6F 66 74 20 57 6F 72 64"를 포함하는 경우 해당 전자문서의 포맷을 "doc"로 결정할 수 있다.For example, referring to FIG. 3, the format
포맷 오류 결정부(133)는 전자문서의 파일명에 기초하여 전자문서에 현재 설정된 포맷을 결정하고, 포맷 유형 결정부(132)에 의해 결정된 포맷과 현재 설정된 포맷의 일치 여부에 기초하여 전자문서의 포맷 오류를 결정한다.The
구체적으로, 포맷 오류 결정부(133)는 전자문서의 파일명을 이용하여 전자문서에 현재 설정된 포맷을 결정한다. 예를 들면, 포맷 오류 결정부(133)는 전자문서의 파일명이 "xxx.hwp"인 경우, 파일명 중에서 가장 마지막에 위치하는"."이후에 기재된 "hwp"를 해당 전자문서에 현재 설정된 포맷으로 결정할 수 있다.Specifically, the format
포맷 오류 결정부(133)는 결정된 포맷과 현재 설정된 포맷의 일치 여부를 결정한다. 만일 결정된 포맷과 현재 설정된 포맷이 일치하는 경우, 포맷 오류 결정부(133)는 전자문서의 실제 포맷을 결정된 포맷으로 결정하고 포맷 오류가 발생하지 않은 것으로 결정한다. 만일 결정된 포맷과 현재 설정된 포맷이 일치하지 않는 경우, 포맷 오류 결정부(133)는 실제 포맷 유형을 결정된 포맷으로 결정하고 포맷 오류가 발생한 것으로 결정한다.The
전자문서 검증부(134)는 전자문서의 바이트 정보가 포맷 별 오류를 나타내는 코드정보를 포함하는지 여부에 따라, 전자문서의 오류 발생 여부를 결정한다. 이 경우, 전자문서의 오류는 용량 오류 또는 파일 손상 오류 중 적어도 하나를 포함한다. 또한, 전자문서 검증부(134)는 전자문서의 바이트 정보가 포맷 별 암호화 상태를 나타내는 코드정보를 포함하는지 여부에 따라, 전자문서의 암호화 여부를 결정한다. 또한, 전자문서 검증부(134)는 전자문서의 바이트 정보가 포맷 별 압축 상태를 나타내는 코드정보를 포함하는지 여부에 따라, 전자문서의 압축 여부를 결정한다.The electronic
예를 들면, 도 4를 참고하면, 전자문서의 포맷이 "hwp"일 때 문서 구조를 살펴보면 전자문서는 30 Byte에 96 Byte를 더한 126 Byte에 암호화 여부에 대한 정보를 포함하고 있으므로, 코드정보 저장부(120)는 전자문서의 포맷이 "hwp"이고 126 Byte의 값이 "0x01"인 경우 해당 전자문서가 암호화 상태인 것으로 미리 정의할 수 있고, 전자문서 검증부(134)는 "hwp"포맷의 전자문서의 경우 126 Byte 값을 확인하여"0x01"인 경우 해당 전자문서는 암호화 상태인 것으로 결정할 수 있다.For example, referring to FIG. 4, when looking at the document structure when the format of the electronic document is "hwp", the electronic document includes information on whether or not to encrypt the 126 byte by adding the 96 byte to the 30 byte. If the format of the electronic document is "hwp" and the value of 126 byte is "0x01", the electronic document may be defined in advance as being in an encrypted state, and the electronic
또한, 예를 들면, 전자문서의 포맷이 "hwp"일 때 문서 구조를 살펴보면 전자문서는 30 Byte에 124 Byte를 더한 154 Byte에 압축 여부에 대한 정보를 포함하고 있으므로, 코드정보 저장부(120)는 전자문서의 포맷이 "hwp"인 경우 154 Byte의 값이 "0x00"인 경우 해당 전자문서가 압축 상태인 것으로 미리 정의할 수 있고, 전자문서 검증부(134)는 "hwp"포맷의 전자문서의 경우 154 Byte 값을 확인하여 "0x00"인 경우 해당 전자문서는 압축 상태인 것으로 결정할 수 있다.For example, when the format of the electronic document is "hwp", the document structure is described. Since the electronic document includes information on whether the electronic document is compressed to 154 Byte by adding 124 Byte to 30 Byte, the code
또한, 예를 들면, 전자문서의 포맷이 "pdf"일 때, 코드정보 저장부(120)는 바이트 정보의 마지막 문자열이 "%%EOF"인 것을 미리 정의할 수 있고, 전자문서 검증부(134)는 "pdf"포맷의 전자문서의 경우 바이트 정보의 마지막 문자열을 확인하여 "%%EOF"가 아닌 경우 해당 전자문서는 파일 손상 오류가 발생한 것으로 결정할 수 있다.Also, for example, when the format of the electronic document is "pdf", the code
또한, 예를 들면, 전자문서의 포맷이 "pdf"일 때, 코드정보 저장부(120)는 바이트 정보에 데이터 값이 존재하지 않는 경우 해당 전자문서는 제로 바이트 문서인 것을 미리 정의할 수 있고, 전자문서 검증부(134)는 "pdf"포맷의 전자문서의 경우 바이트 정보에 데이터 값이 존재하지 않는 경우 해당 전자문서는 제로 바이트 문서로서 용량 오류가 발생한 것으로 결정할 수 있다.In addition, for example, when the format of the electronic document is "pdf", the code
콘텐츠 오류 결정부(135)는 결정한 포맷의 객체 위치 정보 테이블을 이용하여 전자문서를 구성하는 객체들에 접속하고, 객체들이 전자문서에서 유효하게 존재하는지 여부에 따라 전자문서의 콘텐츠 오류 여부를 결정한다.The content
구체적으로, 콘텐츠 오류 결정부(135)는 결정한 포맷에 따른 전자문서의 파일 구조를 참조하여 객체 위치 정보 테이블을 확인할 수 있고, 객체 위치 정보 테이블을 이용하여 전자문서를 구성하는 객체들이 전자문서 내에 위치하는 위치 정보를 결정한다. 이후, 콘텐츠 오류 결정부(135)는 위치 정보를 이용하여 객체들에 접속하고, 객체들이 전자문서에서 부적절하게 표현되거나 생략되거나 하는지 여부 등을 확인한다. 만일 모든 객체들이 전자문서에서 유효하게 존재하는 경우, 콘텐츠 오류 결정부(135)는 해당 전자문서는 콘텐츠 오류가 발생하지 않은 것으로 결정한다. 다만, 객체들 중 어느 하나라도 유효하게 존재하지 않는 경우, 콘텐츠 오류 결정부(135)는 해당 전자문서는 콘텐츠 오류가 발생한 것으로 결정한다.In detail, the content
도 5는 한 실시예에 따른 전자문서 오류 검출 장치가 전자문서의 포맷 오류를 검출하는 방법을 나타낸 도면이다.5 is a diagram illustrating a method of detecting a format error of an electronic document by an electronic document error detecting apparatus according to an embodiment.
도 5를 참고하면, 전자문서 오류 검출 장치(100)는 포맷 정보를 나타내는 코드정보를 저장한다(S100).Referring to FIG. 5, the electronic document
전자문서 오류 검출 장치(100)는 입력된 전자문서의 상태를 나타내는 바이트 정보를 추출한다(S110).The electronic document
이 경우, 입력된 전자문서 파일이 OOXML 파일과 같이 혼합형 파일인 경우, 전자문서 오류 검출 장치(100)는 압축된 알고리즘을 이용하여 블록 단위로 압축을 해제하고, 압축 해제된 파일의 바이트 정보를 추출할 수 있다.In this case, when the input electronic document file is a mixed file such as an OOXML file, the electronic document
전자문서 오류 검출 장치(100)는 추출한 바이트 정보와 코드정보를 비교하여 입력된 전자문서의 포맷을 결정한다(S120).The electronic document
구체적으로, 전자문서 오류 검출 장치(100)는 바이트 정보가 코드정보를 포함하는지 여부를 결정하고, 바이트 정보가 코드정보를 포함하는 경우 코드정보에 대응하는 포맷을 전자문서의 포맷으로 결정한다. 이 경우, 전자문서 오류 검출 장치(100)는 결정한 포맷을 오류 검출 레포트에 포함시켜 출력할 수 있다(S121).In detail, the electronic document
이후, 전자문서 오류 검출 장치(100)는 전자문서의 파일명을 이용하여 전자문서에 현재 설정된 포맷을 결정하고(S130), 결정된 포맷과 현재 설정된 포맷의 일치 여부를 결정한다(S140).Thereafter, the electronic document
만일 결정된 포맷과 현재 설정된 포맷이 일치하는 경우, 전자문서 오류 검출 장치(100)는 포맷 오류가 발생하지 않은 것으로 결정하고(S150), 해당 결과를 오류 검출 레포트에 포함시켜 출력한다(S151).If the determined format and the currently set format match, the electronic document
만일 결정된 포맷과 현재 설정된 포맷이 일치하지 않는 경우, 전자문서 오류 검출 장치(100)는 포맷 오류가 발생한 것으로 결정하고(S160), 해당 결과를 오류 검출 레포트에 포함시켜 출력한다(S161). 이를 통해, 전자문서 오류 검출 장치(100)는 사용자가 실제로 전자문서를 실행하여 오류가 발생하는지 여부를 확인할 필요없이 확장자 변경에 의한 오류를 검출하게 할 수 있다.If the determined format and the currently set format do not match, the electronic document
도 6은 한 실시예에 따른 전자문서 오류 검출 장치가 전자문서의 용량 오류 또는 파일 손상 오류 중 적어도 하나를 검출하는 방법을 나타낸 도면이다.6 is a diagram illustrating a method of detecting, by an electronic document error detecting apparatus, at least one of a capacity error and a file corruption error of an electronic document.
도 6을 참고하면, 전자문서 오류 검출 장치(100)는 포맷 정보를 나타내는 제1 코드정보 및 포맷 별 오류 정보를 나타내는 제2 코드정보를 저장한다(S200).Referring to FIG. 6, the electronic document
구체적으로, 전자문서 오류 검출 장치(100)는 전자문서의 포맷 정보를 나타내는 코드정보를 전자문서의 포맷 별로 저장하고, 포맷 별로 오류를 나타내는 코드정보를 오류 별로 저장한다. 이 경우, 오류는 용량 오류 또는 파일 손상 오류 중 적어도 하나를 포함한다.In detail, the electronic document
전자문서 오류 검출 장치(100)는 입력된 전자문서의 상태를 나타내는 바이트 정보를 추출한다(S210).The electronic document
전자문서 오류 검출 장치(100)는 추출한 바이트 정보와 제1 코드정보를 비교하여 입력된 전자문서의 포맷을 결정한다(S220). 이 경우, 전자문서 오류 검출 장치(100)는 결정한 포맷을 오류 검출 레포트에 포함시켜 출력할 수 있다(S221).The electronic document
전자문서 오류 검출 장치(100)는 전자문서의 바이트 정보가 결정한 포맷에 따른 제2 코드정보를 결정하고(S230), 바이트 정보가 제2 코드정보를 포함하는지 여부를 결정한다(S240).The electronic document
만일 전자문서의 바이트 정보가 상기 결정한 포맷에 따른 상기 제2 코드정보를 포함하는 경우, 전자문서 오류 검출 장치(100)는 상기 제2 코드정보에 대응하는 오류가 상기 입력된 전자문서에서 발생한 것으로 결정한다(S250). 이 경우, 전자문서 오류 검출 장치(100)는 발생한 것으로 결정된 오류를 오류 검출 레포트에 포함시켜 출력할 수 있다(S251).If the byte information of the electronic document includes the second code information according to the determined format, the electronic document
만일 전자문서의 바이트 정보가 상기 결정한 포맷에 따른 상기 제2 코드정보를 포함하지 않는 경우, 전자문서 오류 검출 장치(100)는 용량 오류 또는 파일 손상 오류가 발생하지 않은 것으로 결정하고(S260), 해당 결과를 오류 검출 레포트에 포함시켜 출력할 수 있다(S261).If the byte information of the electronic document does not include the second code information according to the determined format, the electronic document
도 7은 한 실시예에 따른 전자문서 오류 검출 장치가 전자문서의 콘텐츠 손상 오류를 검출하는 방법을 나타낸 도면이다.7 is a diagram illustrating a method of detecting a content corruption error of an electronic document by an electronic document error detecting apparatus according to an embodiment.
도 7을 참고하면, 전자문서 오류 검출 장치(100)는 포맷 정보를 나타내는 코드정보 및 포맷 별 바이트 구조를 저장한다(S300).Referring to FIG. 7, the electronic document
전자문서 오류 검출 장치(100)는 입력된 전자문서의 상태를 나타내는 바이트 정보를 추출한다(S310).The electronic document
전자문서 오류 검출 장치(100)는 추출한 바이트 정보와 코드정보를 비교하여 입력된 전자문서의 포맷을 결정한다(S320). 이 경우, 전자문서 오류 검출 장치(100)는 결정한 포맷을 오류 검출 레포트에 포함시켜 출력할 수 있다(S321).The electronic document
전자문서 오류 검출 장치(100)는 전자문서의 포맷에 따른 바이트 구조를 결정하고(S330), 전자문서의 바이트 정보가 결정된 바이트 구조에 위배되는지 여부를 결정한다(S340).The electronic document
만일 바이트 정보가 결정된 바이트 구조에 위배되는 경우, 전자문서 오류 검출 장치(100)는 콘텐츠 손상 오류가 발생한 것으로 결정하고(S350), 해당 결과를 오류 검출 레포트에 포함시켜 출력한다(S351).If the byte information violates the determined byte structure, the electronic document
예를 들면, 전자문서의 포맷이 "hwp"일 때, 전자문서 오류 검출 장치(100)는 문서 정보에서 정보 블록의 길이를 확인하여 파일 전체의 길이 및 구조를 확인할 수 있으며, 정보 블록의 자료 구조가 아닌 경우 해당 전자문서는 콘텐츠 손상 오류가 발생한 것으로 결정할 수 있다. 이 경우, 전자문서 오류 검출 장치(100)는 전자문서의 정보 블록에 포함된 바이트 정보(정보 블록 내용)를 대상으로 상기 과정을 수행할 수 있다.For example, when the format of the electronic document is "hwp", the electronic document
만일 바이트 정보가 결정된 바이트 구조에 위배되지 않는 경우, 전자문서 오류 검출 장치(100)는 콘텐츠 손상 오류가 발생하지 않은 것으로 결정하고(S360), 해당 결과를 오류 검출 레포트에 포함시켜 출력한다(S361).If the byte information does not violate the determined byte structure, the electronic document
본 발명에 따르면, 전자문서를 직접 실행하지 않고 전자문서가 가진 데이터값만으로 전자문서의 오류를 확인할 수 있다.According to the present invention, the error of the electronic document can be confirmed only by the data value of the electronic document without directly executing the electronic document.
도 8은 전자문서 중 pdf 파일의 파일 구조를 나타낸 도면이고, 도 9는 전자문서 오류 검출 장치가 전자문서의 포맷 및 콘텐츠 오류 여부를 결정하는 예시적인 방법을 나타낸 도면이다.FIG. 8 is a diagram illustrating a file structure of a pdf file of an electronic document, and FIG. 9 is a diagram illustrating an exemplary method of determining, by an electronic document error detection apparatus, whether a format and a content error of an electronic document.
도 8을 참고하면, pdf 파일은 헤더 블록, 데이터 블록, 전역 참조 테이블 블록 및 트레일러 블록으로 구성된다. 구체적으로, 헤더 블록은 총 8바이트로 구성된 섹션으로서 pdf의 시그니쳐(signature)와 버전 정보를 바이트 단위로 포함한다. 데이터 블록은 전자문서의 객체 및 기타 정보들을 바이트 단위로 포함하며, 전역 참조 테이블 블록은 pdf를 구성하는 객체들의 위치 정보를 가지고 있고, 트레일러 블록은 전역 참조 테이블 블록의 위치와 Root 오브젝트 및 기타 전역 오브젝트의 위치 정보를 포함한다.Referring to FIG. 8, the pdf file is composed of a header block, a data block, a global reference table block, and a trailer block. Specifically, the header block is a section composed of 8 bytes in total and includes the signature and version information of the pdf in bytes. The data block contains the object and other information of the electronic document in bytes. The global reference table block contains the location information of the objects constituting the pdf. The trailer block contains the location of the global reference table block and the root object and other global objects. Contains location information.
도 9를 참고하면, 전자문서 오류 검출 장치(100)는 전자문서의 포맷 정보를 나타내는 코드정보를 전자문서의 포맷 별로 저장한다(S400).Referring to FIG. 9, the electronic document
전자문서 오류 검출 장치(100)는 입력된 전자문서의 파일 구조를 분석하여 헤더 블록 및 데이터 블록을 구분한다(S410).The electronic document
예를 들면, 전자문서 오류 검출 장치(100)는 수신한 전자문서의 파일 구조를 도 8에 도시된 바와 같이 헤더 블록과 데이터 블록을 포함하는 4개의 블록으로 구분할 수 있다.For example, the electronic document
전자문서 오류 검출 장치(100)는 헤더 블록에 포함된 바이트 정보가 포함하는 코드정보를 이용하여 전자문서의 포맷을 결정한다(S420).The electronic document
예를 들면, 전자문서 오류 검출 장치(100)는 8 바이트로 구성된 헤더 블록 내 바이트 정보를 읽고, 바이트 정보가 pdf의 시그니쳐와 버전 정보에 대응하는 코드정보를 포함하는 경우 해당 전자문서의 포맷을 "pdf"로 결정할 수 있다.For example, the electronic document
전자문서 오류 검출 장치(100)는 전자문서를 구성하는 객체들에 접근하고, 객체들이 전자문서 내에서 유효하게 존재하는지 여부에 기초하여 전자문서의 콘텐츠 오류 발생 여부를 결정한다(S430).The electronic document
예를 들면, 전자문서 오류 검출 장치(100)는 전자문서의 포맷이 "pdf"로 결정된 경우, 트레일러 블록에 정의된 전역 참조 테이블 블록 내 위치 정보에 기초하여 객체들에 접근할 수 있다. 이 경우, 전자문서 오류 검출 장치(100)는 Catalog Object 및 Pages Object 순으로 객체들에 접근하여 객체들이 유효하게 존재하는지 여부를 결정할 수 있다. 또한, 상기 검증 과정에서 페이지 렌더링 기법 및 구조화 과정이 동시에 수행될 수 있다.For example, when the electronic document
전자문서 오류 검출 장치(100)는 전자문서를 구성하는 모든 객체에 대해 상기 과정을 수행하며, 모든 객체들이 전자문서에서 유효하게 존재하는 경우 해당 전자문서는 콘텐츠 오류가 발생하지 않은 것으로 결정하나, 객체들 중 어느 하나라도 유효하게 존재하지 않는 경우 해당 전자문서는 콘텐츠 오류가 발생한 것으로 결정할 수 있다.The electronic document
전자문서 오류 검출 장치(100)는 파일 손상 여부 정보 및 콘텐츠 오류 발생 정보를 작업 정보와 함께 사용자에게 제공한다(S440). 이 경우, 작업 정보는 전자문서의 파일명, 작업 요청 시간 또는 작업 수행 시간에 대한 정보 중 적어도 하나를 포함할 수 있다.The electronic document
도 10은 전자문서 중 OLE 파일의 파일 구조를 나타낸 도면이고, 도 11은 전자문서 오류 검출 장치가 전자문서의 포맷 및 콘텐츠 오류 여부를 결정하는 예시적인 다른 방법을 나타낸 도면이다.FIG. 10 is a diagram illustrating a file structure of an OLE file among electronic documents, and FIG. 11 is a diagram illustrating another exemplary method for determining an electronic document format and content error by an electronic document error detection apparatus.
도 10을 참고하면, OLE 파일은 크게 헤더 블록과 데이터 블록으로 구성된다. 이 중, 데이터 블록은 일반적인 FAT 파일 시스템과 유사한 Compound File 구조로 구성되며, DIFAT Array, FAT Array, Directory Entry Array 및 Mini FAT Array를 포함한다.Referring to FIG. 10, an OLE file is mainly composed of a header block and a data block. Among these, the data block is composed of a compound file structure similar to a general FAT file system, and includes a DIFAT array, a FAT array, a directory entry array, and a mini FAT array.
DIFAT Array는 크기가 큰 OLE 파일에만 존재하는 배열이며(6.875MB 이상), FAT Array와 동일하게 사용한다.DIFAT Array is an array that exists only in a large OLE file (more than 6.875MB) and is used in the same way as FAT Array.
FAT Array는 32-bit 정수로 이뤄진 배열이며, 인덱스는 섹터번호를 의미하고, 인덱스에 해당하는 원소는 다음 인덱스 번호를 의미한다. 즉, FAT Array는 OLE 파일을 구성하는 객체들의 위치 정보를 포함한다.FAT array is an array of 32-bit integers, the index means the sector number, and the element corresponding to the index means the next index number. That is, the FAT array includes the location information of the objects constituting the OLE file.
Directory Entry Array는 Storage 또는 Stream과 관련된 메타 정보를 저장하며, 그 성격에 따라 Root Directory Entry, Storage Directory Entry 및 Stream Directory Entry로 나뉜다. Root Directory Entry는 최상위 엔트리를 의미하고 Mini Stream을 포함하며, Stream Directory Entry는 User-defined Data Streams를 포함한다.Directory Entry Array stores meta information related to Storage or Stream, and is divided into Root Directory Entry, Storage Directory Entry, and Stream Directory Entry according to its characteristics. Root Directory Entry means the top entry and contains Mini Stream, Stream Directory Entry contains User-defined Data Streams.
Mini FAT Array는 짧은 길이의 스트림(64byte 이하)을 대상으로 하는 참조 테이블이며, FAT Array와 동일하게 사용된다.Mini FAT Array is a reference table for short-length streams (64 bytes or less) and is used in the same way as FAT Array.
도 11을 참고하면, 전자문서 오류 검출 장치(100)는 전자문서의 포맷 정보를 나타내는 코드정보를 전자문서의 포맷 별로 저장한다(S500).Referring to FIG. 11, the electronic document
전자문서 오류 검출 장치(100)는 입력된 전자문서의 파일 구조를 분석하여 헤더 블록 및 데이터 블록을 구분한다(S510).The electronic document
예를 들면, 전자문서 오류 검출 장치(100)는 입력된 전자문서의 파일 구조를 도 10에 도시된 바와 같이 헤더 블록과 데이터 블록으로 구분할 수 있다.For example, the electronic document
전자문서 오류 검출 장치(100)는 헤더 블록에 포함된 바이트 정보가 포함하는 코드정보를 이용하여 전자문서의 포맷을 결정한다(S520).The electronic document
예를 들면, 전자문서 오류 검출 장치(100)는 헤더 블록에 포함된 바이트 정보가 OLE 시그니쳐를 의미하는 코드정보를 포함한다고 결정할 수 있고, 이 경우 해당 전자문서의 포맷이 OLE 파일이라고 결정할 수 있다.For example, the electronic document
전자문서 오류 검출 장치(100)는 헤더 블록에 포함된 바이트 정보와 데이터 블록에 포함된 바이트 정보를 이용하여 객체들의 위치 정보를 포함하는 객체 위치 정보 테이블을 생성한다(S530).The electronic document
예를 들면, 전자문서 오류 검출 장치(100)는 전자문서의 포맷이 OLE 파일이라고 결정한 경우, 헤더 블록에서 첫 번째 DIFAT Sector 위치를 참조하여 FAT Sector의 위치를 얻고, 각각의 섹터를 조합하여 FAT Array를 생성할 수 있다.For example, when the electronic document
만일 파일의 크기가 작아서 DIFAT Array가 없을 경우, 전자문서 오류 검출 장치(100)는 -1번 섹터의 끝까지 이어지는 109개의 DIFAT 원소를 읽어 FAT Sector 들의 위치를 얻고 각각의 섹터를 조합하여 FAT Array를 생성할 수 있다. 생성된 FAT Array는 OLE 파일을 구성하는 객체들의 위치 정보를 포함한다.If the file size is small and there is no DIFAT array, the electronic document
전자문서 오류 검출 장치(100)는 객체 위치 정보 테이블을 이용하여 전자문서를 구성하는 객체들에 접속하고, 객체들이 전자문서에서 유효하게 존재하는지 여부에 따라 전자문서의 콘텐츠 오류 여부를 결정한다(S540).The electronic document
상기 예시에서, 전자문서 오류 검출 장치(100)는 FAT Array에 저장된 객체들의 시작 섹터를 확인하고, 시작 섹터에 위치한 객체부터 순차적으로 접근을 시도하며, FAT Array에 저장된 특정 섹터에 위치하는 데이터가 ENDOFCHAIN(==0xFFFFFFFE)인 경우 접근을 종료할 수 있다. 이 과정에서, 접근한 객체에 데이터가 존재하지 않는 경우, 전자문서 오류 검출 장치(100)는 해당 전자문서는 콘텐츠 오류가 발생한 것으로 결정할 수 있다.In the above example, the electronic document
전자문서 오류 검출 장치(100)는 콘텐츠 오류 발생 정보를 작업 정보와 함께 사용자에게 제공한다(S550). 이 경우, 작업 정보는 전자문서의 파일명, 작업 요청 시간 또는 작업 수행 시간에 대한 정보 중 적어도 하나를 포함할 수 있다.The electronic document
도 12는 전자문서 오류 검출 장치가 구현되는 다른 환경을 나타낸 도면이다.12 illustrates another environment in which an electronic document error detection apparatus is implemented.
도 12를 참고하면, 전자문서 오류 검출 장치(100)가 구현되는 환경은 전자문서 오류 검출 장치(100) 및 사용자 단말(200)을 포함한다.Referring to FIG. 12, an environment in which the electronic document
도 12에서, 전자문서 오류 검출 장치(100)는 전자문서 오류 검출 프로그램을 저장하는 별도의 서버로서 구축될 수 있다. 이 경우, 전자문서 오류 검출 장치(100)는 사용자 단말(200)과 네트워크를 통해 연결되어 사용자 단말(200)로부터 특정 전자문서의 오류 검출 요청을 수신하고, 해당 전자문서의 오류를 검출하여 오류 검출 레포트를 사용자 단말(200)로 전송할 수 있다. 오류 검출 요청은 전자문서 오류 검출 장치(100)가 전자문서의 오류를 검출하는데 필요한 정보를 포함한다.In FIG. 12, the electronic document
사용자 단말(200)은 사용자로부터 오류 검출 대상인 전자문서를 입력받아 네트워크를 통해 해당 전자 문서의 오류 검출 요청을 전자문서 오류 검출 장치(100)로 전송한다. 이를 위해, 사용자 단말(200)은 입력된 전자단말에서 오류 검출에 필요한 정보를 추출하고, 오류 검출 요청을 전자문서 오류 검출 장치(100)로 전송하기 위한 전용 프로그램을 구비할 수 있다.The
사용자 단말(200)로부터 오류 검출 요청을 수신한 전자문서 오류 검출 장치(100)는 해당 전자문서의 포맷 및 오류 발생 여부를 결정하고 이에 대한 정보를 포함하는 오류 검출 레포트를 사용자 단말(100)로 전송한다.Upon receiving the error detection request from the
도 13은 전자문서 오류 검출 장치가 구현되는 다른 환경을 나타낸 도면이다.13 is a diagram illustrating another environment in which an electronic document error detection apparatus is implemented.
도 13을 참고하면, 전자문서 오류 검출 장치(100)가 구현되는 환경은 전자문서 오류 검출 장치(100), 문서 생산 시스템(300) 및 문서 관리 시스템(400)을 포함한다.Referring to FIG. 13, an environment in which the electronic document
도 13에서, 전자문서 오류 검출 장치(100)는 도 12와 동일하게 전자문서 오류 검출 프로그램을 저장하는 별도의 서버로서 구축된다.In FIG. 13, the electronic document
문서 생산 시스템(300)은 특정 오피스 도구를 이용하여 전자문서를 생산하며, 생산된 전자문서의 관리를 위해 전자문서를 문서 관리 시스템(400)으로 전송한다.The
*문서 관리 시스템(400)은 수신한 전자문서의 오류를 검출하기 위해 전자문서 오류 검출 장치(100)로 해당 전자문서의 오류 검출 요청을 전송한다. 이 경우, 오류 검출 요청은 전자문서 오류 검출 장치(100)가 전자문서의 오류를 검출하는데 필요한 정보를 포함한다.The
전자문서 오류 검출 장치(100)는 문서 관리 시스템(400)으로부터 오류 검출 요청을 수신하면, 해당 전자문서의 오류를 검출하여 오류 검출 레포트를 문서 관리 시스템(400)으로 전송한다.When the electronic document
만일 오류 검출 레포트의 수신결과 해당 전자문서에 오류가 발생한 것으로 결정된 경우, 문서 관리 시스템(400)은 전자문서의 오류를 해결하기 위한 조치를 결정하고, 해당 전자문서를 생산한 문서 생산 시스템(300)으로 결정한 조치를 요청한다.If it is determined that an error has occurred in the electronic document as a result of the reception of the error detection report, the
만일 오류 검출 레포트의 수신결과 해당 전자문서에 오류가 발생하지 않은 것으로 결정된 경우, 문서 관리 시스템(400)은 해당 전자문서를 저장한다. 이 경우, 문서 관리 시스템(400)은 오류 검출 레포트를 문서 생산 시스템(300)으로 전달하여 해당 전자문서에 오류가 발생하지 않았음을 알릴 수 있다.If it is determined that no error has occurred in the electronic document as a result of receiving the error detection report, the
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present invention described above are not only implemented through the apparatus and the method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiments of the present invention or a recording medium on which the program is recorded.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.
Claims (14)
전자문서의 포맷 정보를 나타내는 제1 코드정보, 포맷 별 오류 정보를 나타내는 제2 코드정보, 포맷 별 암호화 여부를 나타내는 제1 정보 및 포맷 별 압축 여부를 나타내는 제2 정보를 저장하는 단계,
입력된 전자문서의 상태를 나타내는 바이트 정보를 추출하고, 상기 추출한 바이트 정보와 상기 제1 코드정보를 비교하여 상기 입력된 전자문서의 포맷을 결정하는 단계,
상기 추출한 바이트 정보와 상기 결정한 포맷에 따른 제2 코드정보를 비교하여 상기 입력된 전자문서의 오류 발생 여부를 결정하는 단계
상기 추출한 바이트 정보와 상기 결정한 포맷에 따른 제1 정보를 비교하여 상기 입력된 전자문서의 암호화 여부를 결정하는 단계, 그리고
상기 추출한 바이트 정보와 상기 결정한 포맷에 따른 제2 정보를 비교하여 상기 입력된 전자문서의 압축 여부를 결정하는 단계
를 실행하는 명령어들을 포함하는 전자문서 오류 검출 프로그램.An electronic document error detection program stored in a computer readable recording medium,
Storing first code information indicating format information of the electronic document, second code information indicating error information for each format, first information indicating whether to encrypt by format, and second information indicating whether to compress by format,
Extracting byte information indicating a state of an input electronic document, and comparing the extracted byte information with the first code information to determine a format of the input electronic document;
Comparing the extracted byte information with second code information according to the determined format to determine whether an error of the input electronic document occurs;
Determining whether to encrypt the input electronic document by comparing the extracted byte information with first information according to the determined format; and
Determining whether to compress the input electronic document by comparing the extracted byte information with second information according to the determined format
Electronic document error detection program comprising instructions for executing.
상기 입력된 전자문서의 포맷을 결정하는 단계는
상기 입력된 전자문서의 바이트 정보가 제1 코드정보를 포함하는 경우, 상기 제1 코드정보에 대응하는 포맷을 상기 입력된 전자문서의 포맷으로 결정하는 전자문서 오류 검출 프로그램.In claim 1,
Determining a format of the input electronic document
And when the byte information of the input electronic document includes first code information, determining a format corresponding to the first code information as a format of the input electronic document.
상기 입력된 전자문서의 파일명에 기초하여 상기 입력된 전자문서에 현재 설정된 포맷을 결정하는 단계, 그리고
상기 결정한 포맷과 상기 현재 설정된 포맷의 일치 여부에 기초하여 상기 입력된 전자문서의 포맷 오류를 결정하는 단계
를 실행하는 명령어들을 더 포함하는 전자문서 오류 검출 프로그램.In claim 2,
Determining a format currently set for the input electronic document based on the file name of the input electronic document, and
Determining a format error of the input electronic document based on whether the determined format matches the currently set format;
Electronic document error detection program further comprising instructions for executing the.
상기 입력된 전자문서의 오류 발생 여부를 결정하는 단계는
상기 입력된 전자문서의 바이트 정보가 상기 결정한 포맷에 따른 상기 제2 코드정보를 포함하는 경우, 상기 제2 코드정보에 대응하는 오류가 상기 입력된 전자문서에서 발생한 것으로 결정하는 전자문서 오류 검출 프로그램.In claim 1,
Determining whether an error of the input electronic document occurs
And if the byte information of the input electronic document includes the second code information according to the determined format, determining that an error corresponding to the second code information has occurred in the input electronic document.
상기 오류는 용량 오류 또는 파일 손상 오류 중 적어도 하나를 포함하는 전자문서 오류 검출 프로그램.In claim 4,
Wherein the error comprises at least one of a capacity error or a file corruption error.
상기 입력된 전자문서의 암호화 여부를 결정하는 단계는
상기 입력된 전자문서의 바이트 정보가 상기 결정한 포맷에 따른 상기 제1 정보를 포함하는 경우, 상기 제1 정보에 대응하는 암호화 상태를 이용하여 상기 입력된 전자문서의 암호화 여부를 결정하는 전자문서 오류 검출 프로그램.In claim 1,
Determining whether the input electronic document is encrypted
If the byte information of the input electronic document includes the first information according to the determined format, an electronic document error detection for determining whether to encrypt the input electronic document using an encryption state corresponding to the first information. program.
상기 입력된 전자문서의 압축 여부를 결정하는 단계는
상기 입력된 전자문서의 바이트 정보가 상기 결정한 포맷에 따른 상기 제2 정보를 포함하는 경우, 상기 제2 정보에 대응하는 압축 상태를 이용하여 상기 입력된 전자문서의 압축 여부를 결정하는 전자문서 오류 검출 프로그램.In claim 1,
Determining whether or not to compress the input electronic document
When the byte information of the input electronic document includes the second information according to the determined format, an electronic document error detection for determining whether to compress the input electronic document using a compression state corresponding to the second information. program.
상기 결정한 오류 발생 여부, 상기 결정한 암호화 여부 또는 상기 결정한 압축 여부 중 적어도 하나를 작업 정보와 함께 출력하는 단계
를 실행하는 명령어들을 더 포함하는 전자문서 오류 검출 프로그램.In claim 1,
Outputting at least one of the determined error, the determined encryption or the determined compression together with the job information;
Electronic document error detection program further comprising instructions for executing the.
상기 작업 정보는
상기 전자문서의 파일명, 작업 요청 시간 또는 작업 수행 시간에 대한 정보 중 적어도 하나를 포함하는 전자문서 오류 검출 프로그램.In claim 8,
The job information is
And at least one of a file name of the electronic document, a job request time, and information on a job execution time.
전자문서의 포맷 정보를 나타내는 코드정보를 전자문서의 포맷 별로 저장하는 단계,
입력된 전자문서의 파일 구조를 분석하여 헤더 블록 및 데이터 블록을 구분하는 단계,
상기 헤더 블록에 포함된 제1 바이트 정보를 추출하는 단계,
상기 제1 바이트 정보가 포함하는 코드정보를 결정하고, 결정된 코드정보에 대응하는 포맷을 상기 입력된 전자문서의 포맷으로 결정하는 단계,
상기 입력된 전자문서의 파일명에 기초하여 상기 입력된 전자문서에 현재 설정된 포맷을 결정하는 단계, 그리고
상기 결정한 포맷과 상기 현재 설정된 포맷의 일치 여부에 기초하여 상기 입력된 전자문서의 포맷 오류를 결정하는 단계
를 더 포함하는 오류 검출 방법.As an electronic document error detection device detects an error of an electronic document,
Storing code information representing format information of the electronic document for each format of the electronic document,
Analyzing the file structure of the input electronic document to distinguish between the header block and the data block,
Extracting first byte information included in the header block;
Determining code information included in the first byte information, and determining a format corresponding to the determined code information as a format of the input electronic document;
Determining a format currently set for the input electronic document based on the file name of the input electronic document, and
Determining a format error of the input electronic document based on whether the determined format matches the currently set format;
Error detection method further comprising.
상기 결정한 포맷에 대응하는 바이트 구조를 결정하는 단계,
상기 데이터 블록에 포함된 제2 바이트 정보를 추출하는 단계, 그리고
상기 제2 바이트 정보가 상기 바이트 구조에 위배되는지 여부에 기초하여 상기 입력된 전자문서의 콘텐츠 오류 여부를 결정하는 단계
를 더 포함하는 오류 검출 방법.In claim 10,
Determining a byte structure corresponding to the determined format;
Extracting second byte information included in the data block, and
Determining whether a content error of the input electronic document is based on whether the second byte information is in violation of the byte structure;
Error detection method further comprising.
상기 결정한 포맷의 객체 위치 정보 테이블을 이용하여 상기 입력된 전자문서를 구성하는 객체들에 접속하고, 상기 객체들이 상기 입력된 전자문서에서 유효하게 존재하는지 여부에 따라 상기 입력된 전자문서의 콘텐츠 오류 여부를 결정하는 단계
를 더 포함하는 오류 검출 방법.In claim 10,
Access to the objects constituting the inputted electronic document using the object position information table of the determined format, and whether or not the content of the inputted electronic document according to whether or not the objects are valid in the inputted electronic document Steps to determine
Error detection method further comprising.
상기 결정한 포맷 오류 또는 상기 결정한 콘텐츠 오류 여부 중 적어도 하나를 작업 정보와 함께 출력하는 단계
를 더 포함하는 오류 검출 방법.In claim 12,
Outputting at least one of the determined format error or the determined content error together with the job information;
Error detection method further comprising.
상기 작업 정보는
상기 전자문서의 파일명, 작업 요청 시간 또는 작업 수행 시간에 대한 정보 중 적어도 하나를 포함하는 오류 검출 방법.In claim 13,
The job information is
And at least one of a file name of the electronic document, a job request time, and information on a job execution time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180172034A KR20190118950A (en) | 2018-12-28 | 2018-12-28 | System and method for detecting error of electronic document |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180172034A KR20190118950A (en) | 2018-12-28 | 2018-12-28 | System and method for detecting error of electronic document |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180042371A Division KR101943065B1 (en) | 2018-04-11 | 2018-04-11 | System and method for detecting error of electronic document |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190118950A true KR20190118950A (en) | 2019-10-21 |
Family
ID=68460227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180172034A KR20190118950A (en) | 2018-12-28 | 2018-12-28 | System and method for detecting error of electronic document |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20190118950A (en) |
-
2018
- 2018-12-28 KR KR1020180172034A patent/KR20190118950A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5586425B2 (en) | System and method for processing and managing object-related data used by multiple applications | |
US8972358B2 (en) | File storage apparatus, file storage method, and program | |
US10516803B2 (en) | Information processing apparatus, and storage medium | |
CN102243699A (en) | Malicious code detection method and system | |
CN111901337A (en) | File uploading method and system and storage medium | |
WO2009007183A1 (en) | Generating a fingerprint of a bit sequence | |
US11372953B2 (en) | Communication device, communication system, and recording medium | |
US20130013570A1 (en) | File storage apparatus, data storing method, and data storing program | |
US11042507B2 (en) | System and method of deletion of files and counteracting their restoration | |
KR101943065B1 (en) | System and method for detecting error of electronic document | |
US10956659B1 (en) | System for generating templates from webpages | |
WO2024066271A1 (en) | Database watermark embedding method and apparatus, database watermark tracing method and apparatus, and electronic device | |
KR101670456B1 (en) | document security system and security method | |
KR20190118950A (en) | System and method for detecting error of electronic document | |
CN111414339A (en) | File processing method, system, device, equipment and medium | |
CN111382398A (en) | Method, device and equipment for information processing, hidden information analysis and embedding | |
WO2015049719A1 (en) | Storage system and storage method | |
EP3674876B1 (en) | System and method of deletion of files and counteracting their restoration | |
CN107465676B (en) | Method and device for uploading files to mass data file storage system | |
KR20160112737A (en) | document security system and security method through verifying and converting document file | |
US8200895B2 (en) | File system recognition structure | |
KR100689616B1 (en) | Compression file inspecting apparatus and method thereof | |
CN115186255B (en) | Industrial host white list extraction method and device, terminal device and storage medium | |
CN113656836B (en) | Document processing method, apparatus, device, storage medium, and computer program product | |
Garfinkel | The prevalence of encoded digital trace evidence in the nonfile space of computer media |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |