KR101744020B1 - 스프레드 시트 문서를 비교할 수 있는 컴퓨팅 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램 - Google Patents
스프레드 시트 문서를 비교할 수 있는 컴퓨팅 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR101744020B1 KR101744020B1 KR1020150102973A KR20150102973A KR101744020B1 KR 101744020 B1 KR101744020 B1 KR 101744020B1 KR 1020150102973 A KR1020150102973 A KR 1020150102973A KR 20150102973 A KR20150102973 A KR 20150102973A KR 101744020 B1 KR101744020 B1 KR 101744020B1
- Authority
- KR
- South Korea
- Prior art keywords
- document
- data
- cells
- spreadsheet
- comparing
- Prior art date
Links
Images
Classifications
-
- G06F17/21—
-
- G06F17/246—
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명의 일 실시예에 따라 스프레드 시트(spread sheet) 문서를 비교할 수 있는 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램을 개시한다. 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은, 제 1 문서 및 제 2 문서-상기 제 1 문서 및 상기 제 2 문서는 스프레드 시트 문서를 포함함-를 로드하는 단계, 제 1 문서 및 제 2 문서가 비교 가능한지 여부를 판단하는 단계 및 상기 판단 결과 상기 제 1 문서 및 제 2 문서가 비교 가능한 경우, 제 1 문서의 셀(cell) 및 제 2 문서의 셀을 각각 비교하는 단계를 포함할 수 있다.
Description
본 발명은 문서를 상호 비교할 수 있는 컴퓨팅 장치 및 컴퓨터 프로그램에 관한 것으로 보다 구체적으로 스프레드 시트 문서를 상호 비교할 수 있는 컴퓨팅 장치 및 컴퓨터 프로그램에 관한 것이다.
최근, 컴퓨터나 스마트폰 또는 태블릿 PC 등이 널리 보급됨에 따라, 이러한 단말 기기를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다.
이러한 전자 문서 관련 프로그램들로는 기본적인 문서의 작성, 편집 등을 지원하는 워드프로세서, 데이터의 입력, 산술연산, 데이터 관리를 보조하는 스프레드시트, 발표자의 발표를 보조하기 위한 프레젠테이션 프로그램들이 있다.
전술한 전자 문서 관련 프로그램들 중에서 스프레드시트는 데이터를 입력할 수 있는 복수의 셀들을 제공해 줌으로써, 데이터 관리의 편의를 도모해 주고, 다양한 함수 명령어를 지원하고 있어서, 사무업무에 많이 활용되고 있다.
최근, 클라우드 서버가 널리 보급됨에 따라, 회사, 가정, 관공서 등에서 클라우드 서버에 중요 문서를 백업 저장하고, 클라이언트 단말에서 문서를 편집하는 경우가 증가하고 있다.
그러나, 클라우드 서버에 저장된 문서는 복수의 사용자가 편집할 수 있으므로, 복수의 사용자가 한 문서를 편집하는 경우에 문서의 버전에 혼동을 초래할 수 있다. 이를 위하여, 워드 프로세서 등은 둘 이상의 문서를 상호 비교할 수 있는 기능을 제공한다. 그러나, 스프레드 시트 문서는 전체 셀에서 사용자가 일부를 작성하는 구조로서, 워드프로세서와 같이 처음부터 작성되는 구조가 아닌바 비교에 있어 어려움이 있다.
또한, 스프레드 시트 문서는 일반적으로 많은 데이터를 포함하고 있어, 여러 작성자가 편집하는 스프레드 시트 문서를 비교하기에는 어려운 문제점이 있다. 따라서, 당업계에서 스프레드 시트 문서간의 상호 비교 기능에 대한 수요가 있을 수 있다.
대한민국 등록 특허 제 10-1459410호(2014.11.03)는 스프레드 시트 문서의 편집에 관련한 발명을 개시한다.
본 발명은 전술한 배경기술에 대응하여 안출된 것으로, 스프레드 시트 문서의 상호간의 비교를 가능하게 하기 위한 것이다.
본 발명은 복수의 편집자가 편집하는 스프레드 시트 문서의 버전을 용이하게 확인하도록 하기 위한 것이다.
본 발명은 복수의 편집자가 편집하는 스프레드 시트 문서에서 각 편집자가 다른 편집자가 편집한 스프레드 시트 문서와의 차이점을 용이하게 확인하도록 하기 위한 것이다.
전술한 바와 같은 과제를 실현하기 위한 본 발명의 일 실시예에 따라 스프레드 시트(spread sheet) 문서를 비교할 수 있는 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램을 개시한다. 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은, 제 1 문서 및 제 2 문서-상기 제 1 문서 및 상기 제 2 문서는 스프레드 시트 문서를 포함함-를 로드하는 단계, 제 1 문서 및 제 2 문서가 비교 가능한지 여부를 판단하는 단계 및 상기 판단 결과 상기 제 1 문서 및 제 2 문서가 비교 가능한 경우, 제 1 문서의 셀(cell) 및 제 2 문서의 셀을 각각 비교하는 단계를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따라 스프레드 시트 문서를 비교할 수 있는 컴퓨팅 장치가 개시된다. 상기 컴퓨팅 장치는 제 1 문서 및 제 2 문서서-상기 제 1 문서 및 상기 제 2 문서는 스프레드 시트 문서를 포함함-를 로드하는 문서 로딩 모듈, 제 1 문서 및 제 2 문서가 비교 가능한지 여부를 판단하는 유사 템플릿 판단 모듈 및 상기 판단 결과 상기 제 1 문서 및 제 2 문서가 비교 가능한 경우, 제 1 문서의 셀(cell) 및 제 2 문서의 셀을 각각 비교하는 셀 비교 모듈을 포함할 수 있다.
본 발명은 스프레드 시트 문서의 상호간의 비교를 가능하게 할 수 있다.
본 발명은 복수의 편집자가 편집하는 스프레드 시트 문서의 버전을 용이하게 확인하도록 할 수 있다.
본 발명은 복수의 편집자가 편집하는 스프레드 시트 문서에서 각 편집자가 다른 편집자가 편집한 스프레드 시트 문서와의 차이점을 용이하게 확인하도록 할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 스프레드 시트 문서를 비교할 수 있는 컴퓨팅 장치의 블록 구성도(block diagram)이다.
도 2 는 본 발명의 일 실시예에 따른 스프레드 시트 문서의 비교 가능 여부를 판단하는 단계의 예시도이다.
도 3 은 본 발명의 일 실시예에 따른 스프레드 시트 문서의 비교 결과를 출력하는 예시이다.
도 4 는 본 발명의 일 실시예에 따른 스프레드 시트 문서를 비교하는 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램의 단계들을 나타낸 순서도이다.
도 2 는 본 발명의 일 실시예에 따른 스프레드 시트 문서의 비교 가능 여부를 판단하는 단계의 예시도이다.
도 3 은 본 발명의 일 실시예에 따른 스프레드 시트 문서의 비교 결과를 출력하는 예시이다.
도 4 는 본 발명의 일 실시예에 따른 스프레드 시트 문서를 비교하는 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램의 단계들을 나타낸 순서도이다.
다양한 실시예들이 이제 도면을 참조하여 설명되며, 전체 도면에서 걸쳐 유사한 도면번호는 유사한 구성요소를 나타내기 위해서 사용된다. 본 명세서에서, 다양한 설명들이 본 발명의 이해를 제공하기 위해서 제시된다. 그러나 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다. 다른 예들에서, 공지된 구조 및 장치들은 실시예들의 설명을 용이하게 하기 위해서 블록 다이어그램 형태로 제공된다.
본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정, 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있고, 일 컴포넌트는 하나의 컴퓨터 내에 로컬화될 수 있고, 또는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통한 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다.
제시된 실시예들에 대한 설명은 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
도 1 은 본 발명의 일 실시예에 따른 스프레드 시트 문서를 비교할 수 있는 컴퓨팅 장치의 블록 구성도(block diagram)이다.
본 발명의 일 실시예에 따른 컴퓨팅 장치(100)는, PC(personal computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc), 클라우드 서버(cloud server), 메인 프레임 컴퓨터, 중형 컴퓨터, 대형 컴퓨터등을 포함할 수 있으며, 마이크로 프로세서를 포함하는 모든 종류의 단말을 포함할 수 있다.
본 발명의 일 실시예에 따른 컴퓨팅 장치(100)는 문서 로딩 모듈(110), 유사 템플릿 판단 모듈(120), 셀 비교 모듈(130), 결과 출력 모듈(140), 및 결과 저장 모듈(150)을 포함할 수 있다.
문서 로딩 모듈(110)은 비교할 제 1 문서 및 제 2 문서를 로드할 수 있다. 상기 제 1 문서 및 제 2 문서는 스프레드 시트 문서를 포함할 수 있다. 상기 제 1 문서 및 제 2 문서 파일중 적어도 하나는 클라우드 서버에 저장된 문서 파일일 수 있다. 사용자가 상기 클라우드 서버에 상기 스프레드 시트 문서를 저장할 때, 상기 클라우드 서버 또는 사용자의 단말은 클라우드 서버에 기 저정된 스프레드 시트 문서 및 사용자가 저장하고자 하는 스프레드 시트 문서를 비교하여, 사용자가 상기 스프레드 시트 문서들의 차이점을 알 수 있도록 할 수 있다. 상기 제 1 및 제 2 문서 파일은 동일한 파일명을 포함하는 문서 파일일 수 있다.
유사 템플릿 판단 모듈(120)은 상기 제 1 및 제 2 문서가 비교 가능한지 여부를 판단할 수 있다. 상기 유사 템플릿 판단 모듈(120)은 상기 제 1 문서의 일부분 및 상기 제 2 문서의 일부분을 비교하여, 상기 비교 결과 유사도가 사전 설정된 이상인 경우에는 상기 문서들을 비교 가능한 것으로 판단할 수 있다. 스프레드 시트 문서파일의 경우는 서로 다른 템플릿으로 구성된 경우(예를 들면, 사원 명부 및 연봉으로 구성된 제 1 문서 파일과 학생 명부 및 학년으로 구성된 제 2 문서 파일은 비교의 실익이 없음) 해당 문서들을 비교하는 실익이 없을 수 있므로, 유사 템플릿 판단 모듈(120)은 문서의 일부를 비교하여 해당 문서들을 비교할 실익이 있는지, 해당 문서들을 비교할 수 있는지 여부를 판단할 수 있다. 유사 템플릿 판단 모듈(120)은 예를 들어, 제 1 문서 및 제 2 문서의 데이터 패턴을 분석함으로써, 상기 제 1 문서 및 제 2 문서의 시작점을 감지할 수 있다. 상기 시작점은 상기 스프레드 시트 문서에서 데이터가 시작되는 셀(cell)을 의미할 수 있다. 또한, 상기 시작점은 상기 스프레드 시트 문서에서 유의미한 데이터가 시작되는 셀을 의미할 수 있다. 유사 템플릿 판단 모듈(120)은 상기 시작점을 기준으로 하여 상기 제 1 문서의 제 1 검사 범위 및 제 2 문서의 제 2 검사 범위를 설정할 수 있다. 상기 제 1 및 제 2 검사 범위는 상기 제 1 문서 및 상기 제 2 문서 각각의 일부로서 사전 설정된 크기의 셀들일 수 있다. 유사 템플릿 판단 모듈(120)은 상기 제 1 검사 범위에 포함된 셀들과 상기 제 2 검사 범위에 포함된 셀들을 각각 서로 비교할 수 있다. 상기 유사 템플릿 판단 모듈(120)은 상기 비교 결과 상기 제 1 검사 범위에 포함된 셀들의 데이터와 상기 제 2 검사 범위에 포함된 셀들의 데이터의 일치 비율이 사전 설정된 값 이상인 경우, 상기 제 1 문서 및 제 2 문서를 비교 가능한 것으로 판단할 수 있다. 제 1 및 제 2 검사 범위에 포함된 셀들의 데이터의 일치 비율이 사전 설정된 값 이상인 경우, 상기 제 1 및 제 2 문서들은 동일한 문서의 다른 버전일 가능성이 있으므로, 상기 유사 템플릿 판단 모듈(120)은 이러한 경우 상기 제 1 및 제 2 문서들을 비교 가능한 문서로 판단할 수 있다.
셀 비교 모듈(130)은 상기 유사 템플릿 판단 모듈(120)의 판단 결과 상기 제 1 문서 및 제 2 문서가 비교 가능한 경우, 상기 제 1 문서의 셀 및 상기 제 2 문서의 셀을 각각 비교할 수 있다. 셀 비교 모듈(130)은 상기 제 1 문서에 포함된 셀들과 상기 제 2 문서에 포함된 셀들을 각각 서로 비교하여, 상기 셀들의 데이터가 각각 서로 일치하는지 여부를 비교할 수 있다. 또한 셀 비교 모듈(130)은 상기 제 1 문서에 포함된 셀들과 상기 제 2 문서에 포함된 셀들을 각각 서로 비교하여, 상기 셀들이 참조하는 셀이 각각 서로 일치하는지 여부를 비교할 수 있다. 스프레드 시트 문서의 셀에 포함된 데이터는 직접 입력된 것일 수도 있으나, 다른 셀을 참조하여 계산된 데이터일 수도 있다. 따라서, 셀 비교 모듈(130)은 데이터의 일치 여부 및 참조하는 셀의 일치 여부를 비교할 수 있다. 또한, 셀 비교 모듈(130)은 비교를 위하여 상기 제 1 문서의 로우 및 상기 제 2 문서의 로우가 매칭되도록 상기 제 1 문서 및 상기 제 2 문서의 로우를 정렬할 수 있다. 예를 들어, 상기 제 1 및 제 2 문서가 사원 명부 및 연봉에 관련한 내용을 포함한 경우, 제 1 문서는 사원 명부의 오름차순으로 정리되고, 제 2 문서는 사원 명부의 내림차순으로 정렬된 경우, 실제로는 동일한 문서이나 그대로 비교하는 경우 비교가 불가능할 수 있다. 따라서, 셀 비교 모듈(130)은 제 1 및 제 2 문서의 로우가 매칭되도록 제 1 문서의 로우 및 제 2 문서의 로우 중 적어도 하나를 정렬할 수 있다.
결과 출력 모듈(140)은 상기 셀 비교 모듈(130)의 비교 결과에 기초하여, 각각의 셀들의 데이터가 서로 일치하지 않는 경우, 상기 제 1 문서 및 상기 제 2 문서 중 적어도 하나에 서로 일치하지 않는 데이터를 포함하는 셀에 마킹(marking)하거나, 상기 서로 일치하지 않는 데이터를 추출하거나, 또는 상기 서로 일치하지 않는 데이터에 차이점을 표시하는 방식으로 상기 비교 결과를 출력할 수 있다. 또한, 상기 결과 출력 모듈(140)은 상기 셀 비교 모듈(130)의 비교 결과에 기초하여 상기 셀들의 데이터가 서로 일치하지 않는 경우, 서로 일치하지 않는 데이터를 포함하는 셀이 참조하는 셀을 서로 비교하여 일치하는지 여부를 판단할 수 있다. 스프레드 시트 문서의 셀들에 포함된 데이터는 다른 셀을 참조하여 계산된 결과를 포함할 수도 있으므로, 상기 데이터가 서로 일치하지 않는 경우 참조된 셀이 서로 다를 수 있다. 결과 출력 모듈(140)은 이러한 경우도 사용자가 알 수 있도록 하여, 사용자가 문서를 수정한 이후에 참조한 셀이 다르게 된 경우 사용자가 올바르게 문서를 수정할 수 있도록 할 수 있다. 결과 출력 모듈(140)은 각각의 문서에 다른 문서와 일치하지 않는 데이터를 갖는 셀을 표시하여 사용자가 양 문서의 차이점을 쉽게 알 수 있도록 할 수 있다. 또한, 결과 출력 모듈(140)은 다른 문서와 일치하지 않는 데이터를 갖는 셀 만을 표시하여 사용자가 양 문서의 차이점을 쉽게 수정할 수 있도록 할 수 있다. 상기 결과 출력 모듈(140)은 비교 결과에 기초하여 사용자가 상기 제 1 문서에 기초하여 상기 제 2 문서를 업데이트하거나, 상기 제 2 문서에 기초하여 상기 제 1 문서를 업데이트하거나, 또는 상기 제 1 문서 및 상기 제 2 문서에 기초하여 제 3 문서를 생성할 것을 선택할 수 있는 UI(user interface)를 생성할 수 있다.
결과 저장 모듈(150)은 사용자의 선택 또는 상기 컴퓨팅 장치(100)의 결정에 따라서, 비교 결과에 기초하여, 상기 제 1 문서에 기초하여 상기 제 2 문서를 업데이트하거나, 상기 제 2 문서에 기초하여 상기 제 1 문서를 업데이트하거나, 또는 상기 제 1 문서 및 상기 제 2 문서에 기초하여 제 3 문서를 생성할 수 있다.
또한 도시되지는 않았으나, 상기 컴퓨팅 장치(100)는 다른 컴퓨팅 장치(예를 들어, 상기 컴퓨팅 장치가 클라이언트 단말인 경우, 상기 클라이언트 단말의 클라우드 서버 등)와 통신하기 위한 통신 모듈을 포함할 수 있다. 상기 통신 모듈은 유/무선 인터넷 네트워크에 접속하기 위한 인터페이스를 포함할 수 잇다.
도 2 는 본 발명의 일 실시예에 따른 스프레드 시트 문서의 비교 가능 여부를 판단하는 단계의 예시도이다.
유사 템플릿 판단 모듈(120)은 스프레드 시트 문서들이 비교 가능한지 여부를 판단할 수 있다. 상기 유사 템플릿 판단 모듈(120)은 먼저 제 1 및 제 2 문서로부터 각각의 문서의 시작점을 감지할 수 있다. 전술한 바와 같이 상기 시작점은 스프레드 시트에서 데이터가 시작되는 셀 또는 유의미한 데이터가 시작되는 셀 중 적어도 하나를 포함할 수 있다. 상기 유의미한 데이터는 주변의 셀에도 데이터가 입력된 데이터일 수 있다. 상기 유의미한 데이터는 스프래드 시트 문서의 표에 포함되는 데이터를 포함할 수 있다. 상기 유의미한 데이터는 스프래드 시트에서 나타내고자 하는 데이터 중 하나일 수 있다. 상기 데이터가 시작되는 셀은 데이터가 입력된 최초의 셀 또는 유의미한 데이터가 입력된 최초의 셀을 의미할 수 있다. 도2에 도시된 바에 의하면 제 1 문서는 B3셀에서 "이름"이라는 데이터가 입력되었으므로, B3 셀이 제 1 문서의 시작점이 될 수 있다. 제 2 문서는 C5셀에서 "이름"이라는 데이터가 입력되었는바, C5셀이 제 2 문서의 시작점이 될 수 있다. 도 2의 제 2 문서의 B2셀에는 2라는 숫자가 입력되어 있으나, 주요 데이터는 C5셀이서부터 시작되는 표이므로, 유의미한 데이터가 입력된 C5셀이 제 2 문서의 시작점이 될 수 있다. 제 2 문서의 B2셀은 단순한 오탈자이거나, 비교에 있어서는 의미없는 데이터로서, 실제로 사용자가 스프레드 시트에서 사용하고자 하는 데이터는 아닐 수 있다. 이러한 경우, 유사 탬플릿 판단 모듈(120)은 상기 제 2 문서의 B2셀은 시작점이 아닌 것으로 판단할 수 있다. 유사 템플릿 판단 모듈(120)은 상기 시작점을 기준으로 하여 제 1 문서의 제 1 검사 범위 및 제 2 문서의 제 2 검사 범위를 설정할 수 있다. 도 2 에 도시된 바에 의하면 제 1 검사 범위는 B3 내지 E6셀이고, 제 2 검사 범위는 C5 내지 F8셀일 수 있다. 검사 범위는 문서의 일부분으로서, 제 1 및 제 2 검사 범위는 동일한 크기로 구성될 수도 있다. 유사 템플릿 판단 모듈(120)은 상기 제 1 검사 범위에 포함된 셀들과 상기 제 2 검사 범위에 포함된 셀들을 각각 서로 비교할 수 있다. 상기 유사 템플릿 판단 모듈(120)은 상기 비교 결과 상기 제 1 검사 범위에 포함된 셀들의 데이터와 상기 제 2 검사 범위에 포함된 셀들의 데이터의 일치 비율이 사전 설정된 값 이상인 경우, 상기 제 1 문서 및 제 2 문서를 비교 가능한 것으로 판단할 수 있다. 도 2 에 도시된 바와 같이 제 1 및 제 2 검사범위에 포함된 셀들은 사장의 연차 및 연봉이 기록된 셀 만이 상이하여, 전체 16 셀 중 14셀의 데이터가 일치하여, 제 1 및 제 2 문서는 유사도가 높은 문서로 비교 가능한 문서로 판단될 수 있다. 전술한 검사 범위 중 데이터의 일치율은 예시일 뿐이며, 임의의 검사 범위에 대하여 임의의 데이터가 일치하는 경우 양 문서는 비교가능문서로 판단될 수 있다. 각 검사범위에 포함된 데이터의 일치 비율의 사전 설정된 값은 임의의 값일 수 있다. 도 2 에 도시된 문서, 시작점, 검사 범위 및 상호 비교 결과는 예시일 뿐이며, 임의의 데이터를 포함하는 문서에 대하여 유사 템플릿 판단 모듈(120)은 양 문서의 비교 가능성을 판단할 수 있다.
도 3 은 본 발명의 일 실시예에 따른 스프레드 시트 문서의 비교 결과를 출력하는 예시이다.
결과 출력 모듈(140)은 셀 비교 모듈(130)의 비교 결과에 기초하여, 각각의 셀들의 데이터가 서로 일치하지 않는 경우, 상기 제 1 문서 및 상기 제 2 문서 중 적어도 하나에 서로 일치하지 않는 데이터를 포함하는 셀에 마킹(marking)하거나, 상기 서로 일치하지 않는 데이터를 추출하거나, 또는 상기 서로 일치하지 않는 데이터에 차이점을 표시하는 방식으로 상기 비교 결과를 출력할 수 있다. 또한, 상기 결과 출력 모듈(140)은 상기 셀 비교 모듈(130)의 비교 결과에 기초하여 상기 셀들의 데이터가 서로 일치하지 않는 경우, 서로 일치하지 않는 데이터를 포함하는 셀이 참조하는 셀을 서로 비교하여 일치하는지 여부를 판단할 수 있다.
도 3에 도시된 것과 같이 결과 출력 모듈(140)은 제 1 문서 및 제 2 문서의비교 결과 양 문서가 상이한 데이터를 가지는 셀에 마킹하여 표시할 수 있다(결과출력1) 이로써, 사용자는 제 2 문서가 보다 최신 문서임을 용이하게 알 수 있다. 또한, 도 3 에 도시된 것과 같이 결과 출력 모듈(140)은 서로 일치하지 않는 데이터를 추출하여, 상기 데이터들 또는 상기 데이터를 포함하는 셀의 위치를 출력할 수 있다. 사용자는 이를 통하여 일치하지 않는 데이터를 보다 용이하게 수정할 수 있다. 또한 도 3 에 도시되지는 않았으나, 결과 출력 모듈(140)은 서로 일치하지 않는 데이터의 차이점을 표시할 수 있다. 예를 들어, 제 1 문서의 홍길동의 보험료는 25만원이나 제 2 문서의 홍길동의 보험료는 24만원인경우, 결과 출력 모듈(140)은 상기 제 1 문서의 홍길동의 보험료가 제 2 문서의 홍길동의 보험료보다 1 만원이 많음을 표시(예를 들어, 붉은 숫자로 1만원을 표시하거나 위를 향하는 화살표로 표시하는 등)할 수 있다. 도 3 에 도시된 바와 같이 결과 출력 모듈(140)은 제 1 문서의 유재석의 연봉과 제 2 문서의 유재석의 연봉이 상이한 경우에, 어떻게 상이한 데이터가 도출되었는지 사용자가 알 수 있도록 각각의 셀이 참조한 셀을 표시할 수 있다. 예를 들어, 연봉은 2000만원에 연차*200만원이 더해지는 경우에, 제 1 문서의 유재석의 연봉은 10년차 연봉대로 4000만원으로 옳은 값이나, 제 2 문서의 유재석의 연봉은 제임스의 연차를 참조하여 계산되었으므로, 잘못된 값일 수 있다. 이럴 경우, 사용자는 제 2 문서의 유재석의 연봉이 어떻게 잘못된 값이 나오게 되었는지 용이하게 알 수 있어, 해당 문서의 오류를 수정할 수 있다.
도 4 는 본 발명의 일 실시예에 따른 스프레드 시트 문서를 비교하는 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램의 단계들을 나타낸 순서도이다.
문서 로딩 모듈(110)은 제 1 문서 및 제 2 문서를 로드할 수 있다(210). 전술한 바와 같이 상기 제 1 및 제 2 문서는 스프레드 시트 문서를 포함할 수 있다. 전술한 바와 같이 상기 제 1 문서 파일 및 제 2 문서 파일 중 적어도 하나는 클라우드 서버에 저장된 문서 파일일 수 있다.
유사 템플릿 판단 모듈(120)은 상기 제 1 문서 및 제 2 문서가 비교 가능한지 여부를 판단할 수 있다(230).
셀 비교 모듈(130)은 상기 판단 결과 상기 제 1 문서 및 제 2 문서가 비교 가능한 경우, 제 1 문서의 셀(cell) 및 제 2 문서의 셀을 각각 비교할 수 있다(250). 전술한 바와 같이 셀 비교 모듈(130)은 각의 셀에 포함된 데이터를 비교하거나, 각각의 셀이 참조하는 셀을 비교할 수 있다. 전술한 단계들은, 사용자의 선택에 따라 수행되거나, 클라이언트 단말에서 클라우드 서버로 문서를 저장하는 경우에 클라우드 서버 또는 클라이언트 단말에 의하여 자동적으로 수행될 수도 있다.
네트워크 연결부(160)는 네트워크 접속을 위한 유/무선 인터넷 모듈을 포함할 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다. 유선 인터넷 기술로는 XDSL(Digital Subscriber Line), FTTH(Fibers to the home), PLC(Power Line Communication) 등이 이용될 수 있다.
또한, 네트워크 연결부(160)는 근거리 통신 모듈을 포함하여, 상기 다트 게임 장치(100)와 비교적 근거리에 위치하고 근거리 통신 모듈을 포함한 전자 장치와 데이터를 송수신할 수 있다. 근거리 통신(short range communication) 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
본 발명의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.
본 발명의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 발명의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 발명의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 발명의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.
제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
Claims (11)
- 스프레드 시트(spread sheet) 문서를 비교할 수 있는 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은:
제 1 문서 및 제 2 문서-상기 제 1 문서 및 상기 제 2 문서는 스프레드 시트 문서를 포함함-를 로드하는 단계;
제 1 문서 및 제 2 문서가 비교 가능한지 여부를 판단하는 단계; 및
상기 판단 결과 상기 제 1 문서 및 제 2 문서가 비교 가능한 경우, 제 1 문서의 셀(cell) 및 제 2 문서의 셀을 각각 비교하는 단계;
를 포함하고,
상기 제 1 문서 및 제 2 문서가 비교가능한지 여부를 판단하는 단계는,
상기 제 1 문서 및 제 2 문서의 시작점-상기 시작점은 스프레드 시트에서 데이터가 시작되는 셀 또는 유의미한 데이터가 시작되는 셀인-을 감지하는 단계;
상기 시작점을 기준으로 하여 상기 제 1 문서의 제 1 검사 범위 및 제 2 문서의 제 2 검사 범위를 설정하는 단계;
상기 제 1 검사 범위에 포함된 셀들과 상기 제 2 검사 범위에 포함된 셀들을 각각 서로 비교하는 단계; 및
상기 비교 결과 상기 제 1 검사 범위에 포함된 셀들의 데이터와 상기 제 2 검사 범위에 포함된 셀들의 데이터의 일치 비율이 사전 설정된 값 이상인 경우, 상기 제 1 문서 및 제 2 문서를 비교 가능한 것으로 판단하는 단계;
를 포함하고,
상기 유의미한 데이터는,
스프레드 시트에서 나타내고자 하는 데이터 중 하나이고, 스프레드 시트 문서의 표에 포함되는 데이터를 포함하는,
컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램.
- 삭제
- 제 1 항에 있어서,
상기 검사 범위는 제 1 문서 및 제 2 문서 각각의 일부로서 사전 설정된 크기의 셀들인,
컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램. - 제 1 항에 있어서,
상기 제 1 문서의 로우(row) 및 상기 제 2 문서의 로우가 매칭되도록 상기 제 1 문서 및 상기 제 2 문서의 로우를 정렬하는 단계;
를 더 포함하는,
컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램. - 제 1 항에 있어서,
상기 비교하는 단계는,
상기 제 1 문서에 포함된 셀들과 상기 제 2 문서에 포함된 셀들을 각각 서로 비교하여, 상기 셀들의 데이터가 각각 서로 일치하는지 여부를 비교하는 단계인,
컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램. - 제 5 항에 있어서,
상기 비교 결과에 기초하여,
각각의 셀들의 데이터가 서로 일치하지 않는 경우, 상기 제 1 문서 및 상기 제 2 문서 중 적어도 하나에 서로 일치하지 않는 데이터를 포함하는 셀에 마킹(marking)하거나, 상기 서로 일치하지 않는 데이터를 추출하거나, 또는 상기 서로 일치하지 않는 데이터에 차이점을 표시하는 방식으로 상기 비교 결과를 출력하는 단계;
를 더 포함하는,
컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램. - 제 5 항에 있어서,
상기 비교 결과에 기초하여,
각각의 셀들의 데이터가 서로 일치하지 않는 경우, 서로 일치하지 않는 데이터를 포함하는 셀이 참조하는 셀을 서로 비교하여 일치하는지 여부를 판단하는 단계;
를 더 포함하는,
컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램. - 제 1 항에 있어서,
상기 비교하는 단계는,
상기 제 1 문서에 포함된 셀들과 상기 제 2 문서에 포함된 셀들을 각각 서로 비교하여, 상기 셀들이 참조하는 셀이 각각 서로 일치하는지 여부를 비교하는 단계인,
컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램. - 제 1 항에 있어서,
상기 제 1 문서 파일 및 상기 제 2 문서 파일 중 적어도 하나는 클라우드 서버에 저장된 문서 파일인,
컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램. - 제 1 항에 있어서,
상기 비교 결과에 기초하여,
상기 제 1 문서에 기초하여 상기 제 2 문서를 업데이트하거나, 상기 제 2 문서에 기초하여 상기 제 1 문서를 업데이트하거나, 또는 상기 제 1 문서 및 상기 제 2 문서에 기초하여 제 3 문서를 생성하는 단계;
를 더 포함하는,
컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램. - 스프레드 시트(spread sheet) 문서를 비교할 수 있는 컴퓨팅 장치로서,
제 1 문서 및 제 2 문서-상기 제 1 문서 및 상기 제 2 문서는 스프레드 시트 문서를 포함함-를 로드하는 문서 로딩 모듈;
제 1 문서 및 제 2 문서의 시작점-상기 시작점은 스프레드 시트에서 데이터가 시작되는 셀 또는 유의미한 데이터가 시작되는 셀인-을 감지하고, 상기 시작점을 기준으로 하여 상기 제 1 문서의 제 1 검사 범위 및 제 2 문서의 제 2 검사 범위를 설정하고, 상기 제 1 검사 범위에 포함된 셀들과 상기 제 2 검사 범위에 포함된 셀들을 각각 서로 비교하고, 상기 비교 결과 상기 제 1 검사 범위에 포함된 셀들의 데이터와 상기 제 2 검사 범위에 포함된 셀들의 데이터의 일치 비율이 사전 설정된 값 이상인 경우, 상기 제 1 문서 및 제 2 문서를 비교 가능한 것으로 판단하는 유사 템플릿 판단 모듈; 및
상기 판단 결과 상기 제 1 문서 및 제 2 문서가 비교 가능한 경우, 제 1 문서의 셀(cell) 및 제 2 문서의 셀을 각각 비교하는 셀 비교 모듈;
을 포함하고,
상기 유의미한 데이터는, 스프레드 시트에서 나타내고자 하는 데이터 중 하나이고, 스프레드 시트 문서의 표에 포함되는 데이터를 포함하는,
스프레드 시트 문서를 비교할 수 있는 컴퓨팅 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150102973A KR101744020B1 (ko) | 2015-07-21 | 2015-07-21 | 스프레드 시트 문서를 비교할 수 있는 컴퓨팅 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150102973A KR101744020B1 (ko) | 2015-07-21 | 2015-07-21 | 스프레드 시트 문서를 비교할 수 있는 컴퓨팅 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170011054A KR20170011054A (ko) | 2017-02-02 |
KR101744020B1 true KR101744020B1 (ko) | 2017-06-20 |
Family
ID=58151480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150102973A KR101744020B1 (ko) | 2015-07-21 | 2015-07-21 | 스프레드 시트 문서를 비교할 수 있는 컴퓨팅 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101744020B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102009901B1 (ko) | 2018-10-30 | 2019-08-12 | 삼성에스디에스 주식회사 | 문서 비교 분석 방법 및 이를 수행하기 위한 장치 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102530163B1 (ko) * | 2020-12-14 | 2023-05-09 | 대구가톨릭대학교산학협력단 | 특정 서식을 갖는 엑셀 파일 내 자료 도출 방법 |
-
2015
- 2015-07-21 KR KR1020150102973A patent/KR101744020B1/ko active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102009901B1 (ko) | 2018-10-30 | 2019-08-12 | 삼성에스디에스 주식회사 | 문서 비교 분석 방법 및 이를 수행하기 위한 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20170011054A (ko) | 2017-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11176317B2 (en) | Automated file merging through content classification | |
US10095780B2 (en) | Automatically mining patterns for rule based data standardization systems | |
US11580141B2 (en) | Systems and methods for records tagging based on a specific area or region of a record | |
US10482170B2 (en) | User interface for contextual document recognition | |
US7602972B1 (en) | Method and apparatus for identifying white space tables within a document | |
WO2020117631A1 (en) | Document heading detection | |
US20160299907A1 (en) | Stochastic document clustering using rare features | |
CN112363814A (zh) | 任务调度方法、装置、计算机设备及存储介质 | |
KR101744020B1 (ko) | 스프레드 시트 문서를 비교할 수 있는 컴퓨팅 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램 | |
US9442719B2 (en) | Regression alerts | |
CN115098440A (zh) | 电子档案查询方法、装置、存储介质和设备 | |
US20150242417A1 (en) | Techniques for Leveraging a Backup Data Set for EDiscovery Data Storage | |
US10198426B2 (en) | Method, system, and computer program product for dividing a term with appropriate granularity | |
CN117494690A (zh) | 智能化数据加工标注定制平台 | |
US20090006367A1 (en) | Search-based filtering for property grids | |
US10248638B2 (en) | Creating forms for hierarchical organizations | |
EP3156883A1 (en) | Input device, document input system, document input method, and program | |
AU2016408336B2 (en) | Systems and methods for data evaluation and classification | |
CN114816519A (zh) | 基于抽象语法树及令牌的代码克隆检测的方法及应用 | |
CN109800385B (zh) | 对象标记方法、电子设备、单据及计算机可读存储介质 | |
CN113722208B (zh) | 软件测试报表的项目进度验证方法及装置 | |
US20140074455A1 (en) | Method and system for motif extraction in electronic documents | |
CN113822046B (zh) | 基于cucumber测试案例的解析方法、装置、设备及存储介质 | |
US20220236984A1 (en) | Method for identifying open-source software components at the source-code level | |
CN108573151B (zh) | 一种仿冒应用分析系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right |