KR101591116B1 - 플랫폼 독립적인 데이터 파일 전송을 위한 시스템 및 방법 - Google Patents
플랫폼 독립적인 데이터 파일 전송을 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR101591116B1 KR101591116B1 KR1020107017229A KR20107017229A KR101591116B1 KR 101591116 B1 KR101591116 B1 KR 101591116B1 KR 1020107017229 A KR1020107017229 A KR 1020107017229A KR 20107017229 A KR20107017229 A KR 20107017229A KR 101591116 B1 KR101591116 B1 KR 101591116B1
- Authority
- KR
- South Korea
- Prior art keywords
- data file
- server
- client
- database
- file
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
데이터베이스에 접속된 파일 시스템으로 데이터 파일을 저장하고 상기 파일 시스템으로부터 데이터 파일을 판독하기 위한 시스템 및 방법이 제공된다. 일 특징에서, 클라이언트 시스템과 서버 시스템 간에 데이터 파일을 전송하기 위한 방법이 제공된다. 상기 클라이언트는 제1 컴퓨터 운영 체제를 실행하고, 상기 서버는 제2 컴퓨터 운영 체제를 실행하고 파일 시스템을 포함하며 데이터베이스로 접속된다. 상기 방법은 상기 데이터 파일을 저장하려는 요청을 상기 데이터베이스에 의해 수신하는 단계 - 상기 요청은 상기 클라이언트와 연관된 소프트웨어 애플리케이션에 의해 전달됨 - 를 포함한다. 상기 방법은 또한 상기 클라이언트로부터 상기 데이터 파일을 수신하는 단계, 서버 파일 시스템의 디렉토리에 상기 데이터 파일을 저장하는 단계, 상기 데이터베이스 내에 상기 디렉토리에 대한 경로를 저장하는 단계, 및 성공 코드 및 실패 코드 중 하나를 상기 클라이언트로 출력하는 단계를 포함한다.
Description
본 발명은 일반적으로 데이터 파일을 전송하기 위한 시스템 및 방법에 관한 것으로, 보다 구체적으로는 클라이언트-서버 네트워크 내에서 플랫폼 독립적인 데이터 파일 전송을 수행하기 위한 시스템 및 방법에 관한 것이다.
클라이언트-서버 네트워크의 동작 동안, 클라이언트 및/또는 서버와 같은 네트워크 노드들 간에 데이터 파일을 전송하는 것이 종종 바람직하다. 적어도 몇몇의 그러한 네트워크에서, 데이터베이스 또는 데이터베이스를 갖는 서버는 특정 레코드에 대한 데이터베이스 표 안에 전체 데이터 파일을 저장할 수 있다. 예를 들면, 데이터베이스는 각각의 레코드에 대해 레코드 식별자 및 식별된 레코드와 연관된 데이터 파일을 수용하는 표를 포함할 수 있다. 그러나, 레코드의 수가 커지면서, 데이터베이스 사이즈는 추가적인 데이터 파일 때문에 급격히 증가한다. 이는 데이터베이스에 새로운 레코드를 추가하는 스피드 뿐만 아니라, 쿼리가 데이터베이스 내에서 프로세싱되는 스피드에도 대단히 영향을 미칠 수 있다.
더구나, 적어도 소정의 데이터베이스는 이미지, 오디오, 및/또는 기타 멀티미디어 객체와 같은 BLOB(Binary Large Object)들로 2진 데이터의 전체 데이터 파일을 저장할 수 있다. 예를 들면, 데이터베이스는 각각의 레코드에 대해 레코드 식별자 및 식별된 레코드와 연관된 BLOB을 수용하는 표를 포함할 수 있다. 그러한 데이터베이스는 위에서 기술된 동일한 성능 문제를 겪는다. 따라서, 데이터 파일을 전송하는 운영 체제에 독립적인, 데이터베이스 내외로 데이터 파일 전송을 가능하게 하는 시스템이 필요하게 된다.
일 특징에서, 클라이언트 시스템과 서버 시스템 간에 데이터 파일을 전송하기 위한 방법이 제공된다. 상기 클라이언트는 제1 컴퓨터 운영 체제를 실행하고, 상기 서버는 제2 컴퓨터 운영 체제를 실행하고 파일 시스템을 포함하며 데이터베이스로 접속된다. 상기 방법은 상기 데이터 파일을 저장하려는 요청을 상기 데이터베이스에 의해 수신하는 단계 - 상기 요청은 상기 클라이언트와 연관된 소프트웨어 애플리케이션에 의해 전달됨 - 를 포함한다. 상기 방법은 또한 상기 클라이언트로부터 상기 데이터 파일을 수신하는 단계, 상기 서버 파일 시스템의 디렉토리에 상기 데이터 파일을 저장하는 단계, 상기 데이터베이스 내에 상기 디렉토리에 대한 경로를 저장하는 단계, 및 성공 코드 및 실패 코드 중 하나를 상기 클라이언트로 출력하는 단계를 포함한다.
또 다른 특징에서, 플랫폼 독립적인 데이터 파일 전송을 수행하기 위한 네트워크-기반 시스템이 제공된다. 상기 시스템은 제1 클라이언트 및 제2 클라이언트를 포함하는 복수의 클라이언트 시스템 - 상기 제1 클라이언트는 제1 컴퓨터 운영 체제를 실행하고 제1 프로그래밍 언어로 작성된 소프트웨어 애플리케이션과 연관되며, 상기 제2 클라이언트는 제2 컴퓨터 운영체제를 실행하고 제2 프로그래밍 언어로 작성된 소프트웨어 애플리케이션과 연관됨 - 을 포함한다. 상기 시스템은 또한 파일 시스템 및 데이터베이스를 포함하는 서버 시스템 - 상기 서버는 제3 컴퓨터 운영 체제를 실행됨 - 을 포함한다. 상기 서버는 상기 클라이언트들에 접속되도록 구성되며, 상기 서버는 상기 제1 클라이언트로부터 데이터 파일을 저장하려는 요청을 수신하고, 상기 제1 클라이언트로부터 상기 데이터 파일을 수신하고, 상기 데이터 파일을 상기 서버 파일 시스템의 디렉토리에 저장하고, 상기 디렉토리에 대한 경로를 상기 데이터베이스에 저장하고, 성공 코드 및 실패 코드 중 하나를 상기 제1 클라이언트로 출력하도록 더 구성된다.
또 다른 특징에서, 플랫폼 독립적인 데이터 파일 전송을 수행하기 위해 데이터베이스에 접속되는 컴퓨터가 제공된다. 상기 컴퓨터는 파일 시스템을 포함하고, 상기 컴퓨터는 클라이언트와 통신하며, 상기 클라이언트는 제1 컴퓨터 운영 체제를 실행하고, 상기 컴퓨터는 제2 컴퓨터 운영 체제를 실행한다. 상기 컴퓨터는 상기 클라이언트로부터 데이터 파일을 저장하려는 요청을 수신하고, 상기 클라이언트로부터 상기 데이터 파일을 수신하고, 상기 데이터 파일을 상기 파일 시스템의 디렉토리에 저장하고, 상기 디렉토리에 대한 경로를 상기 데이터베이스에 저장하고, 성공 코드 및 실패 코드 중 하나를 상기 클라이언트로 출력하도록 프로그래밍된다.
또 다른 특징에서, 클라이언트 시스템과 서버 시스템 간에 플랫폼 독립적인 데이터 파일 전송을 수행하기 위한 컴퓨터 판독가능 매체 상에 구현되는 컴퓨터 프로그램이 제공된다. 상기 서버 시스템은 파일 시스템을 포함하고 데이터베이스에 접속된다. 상기 클라이언트는 제1 컴퓨터 운영 체제를 실행하고, 상기 서버는 제2 컴퓨터 운영 체제를 동작시킨다. 상기 프로그램은 데이터 파일을 저장하려는 요청을 수신하고 - 상기 요청은 상기 클라이언트와 연관된 소프트웨어 애플리케이션에 의해 전달됨 - , 상기 데이터 파일을 상기 클라이언트로부터 수신하고, 상기 데이터 파일을 상기 서버 파일 시스템의 디렉토리에 저장하고, 상기 디렉토리에 대한 경로를 상기 데이터베이스에 저장하고, 성공 코드 및 실패 코드 중 하나를 상기 클라이언트로 출력하는 적어도 하나의 코드 세그먼트를 포함한다.
도 1은 본 발명의 일 실시예에 따른 시스템 아키텍처의 예시적인 실시예의 단순 블록도.
도 2는 본 발명의 일 실시예에 따른 시스템 아키텍쳐의 예시적인 실시예의 확장된 블록도.
도 3은 도 2에 도시된 시스템에 의해 활용되는 예시적인 방법을 도시하는 흐름도.
도 2는 본 발명의 일 실시예에 따른 시스템 아키텍쳐의 예시적인 실시예의 확장된 블록도.
도 3은 도 2에 도시된 시스템에 의해 활용되는 예시적인 방법을 도시하는 흐름도.
본 명세서에서 사용된 바와 같이, 프로세서는 시스템 및 마이크로컨트롤러, RISC(reduced instruction set circuits), ASIC(application specific integrated circuits), PLC(programmable logic circuits), 및 본 명세서에서 기술된 기능을 실행할 수 있는 임의의 다른 회로 또는 프로세서를 포함하는 임의의 프로그램 가능한 시스템을 포함할 수 있다. 위의 예는 예시적일 뿐이며, 그러므로 프로세서라는 용어의 정의 및/또는 의미를 임의의 방식으로 한정하는 것은 아니다.
본 명세서에서 사용된 바와 같이, 데이터베이스는 계층적 데이터베이스, 관계 데이터베이스, 플랫 파일 데이터베이스, 객체 관계 데이터베이스, 객체 지향 데이터베이스, 및 컴퓨터 시스템에 저장된 임의의 다른 구조화 레코드 또는 데이터 집합을 포함하는 임의의 데이터 집합을 포함할 수 있다. 위의 예는 예시적일 뿐이며, 그러므로 데이터베이스 용어의 정의 및/또는 의미를 임의의 방식으로 한정하는 것은 아니다. 데이터베이스의 예는 오라클® 데이터베이스, MySQL, IBM® DB2, 마이크로소프트® SQL 서버, Sybase®, 및 PostgreSQL을 포함하지만, 이에 한정되는 것은 아니다. 그러나, 본 명세서에 기술되는 시스템 및 방법을 가능하게 하는 임의의 데이터베이스가 사용될 수 있다. (오라클은 레드우드 쇼어스, 캘리포니아에 위치한 오라클 회사의 등록 상표이고, IBM은 아몽크, 뉴욕에 위치한 인터내셔널 비지니스 머신즈 코포레이션의 등록 상표이며, 마이크로소프트는 레드몬드, 워싱턴에 위치한 마이크로소프트 회사의 등록된 상표이고, Sybase는 더블린, 캘리포니아에 위치한 Sybase의 등록된 상표이다.)
본 명세서에 사용된 바와 같이, CLOB(Character Large Object)은 데이터베이스 시스템에 저장될 수 있는 텍스트와 같은 문자 데이터의 집합이다. CLOB 변수 유형은 상대적으로 큰 크기의 데이터를 포함할 수 있다. 예를 들면, CLOB은 대략 2 기가바이트(GB)의 데이터까지 포함할 수 있다.
데이터베이스를 사용하여 클라이언트-서버 네트워크 내에서 플랫폼 독립적인 데이터 파일 전송을 수행하는 것을 활용하는 시스템 및 방법의 예시적인 실시예가 본 명세서에 기술된다. 시스템 및 방법은, 예를 들면 데이터베이스에 접속한 서버의 파일 시스템 내에 데이터 파일을 저장하는 것 및 데이터베이스 내에 데이터 파일의 경로를 저장하는 것을 활용한다. 게다가, 시스템 및 방법은, 먼저 데이터 파일의 파일 시스템 경로에 대해 데이터베이스에 쿼리하고 반환된 경로에 따라서 파일 시스템으로부터 데이터 파일을 판독함으로써, 파일 시스템으로부터 데이터 파일을 판독하는 것을 활용한다. 결과로서, 본 명세서에 기술되는 시스템 및 방법은, 클라이언트의 운영 체제 및 서버의 운영 체제와 관계없이, 임의의 프로그래밍 언어로 작성된 소프트웨어 애플리케이션이 데이터베이스에 접속된 서버의 파일 시스템에 데이터 파일을 작성하고 데이터베이스에 접속된 서버의 파일 시스템으로부터 데이터 파일을 판독가능하게 한다.
본 명세서에 기술되는 시스템 및 방법의 기술적 효과는 (a) 데이터베이스에 접속된 서버의 파일 시스템에 복수의 디렉토리를 생성하는 것 - 서버는 임의의 운영체제를 사용하거나 실행함 - , (b) 임의의 프로그래밍 언어로 작성된 클라이언트 소프트웨어 애플리케이션을 사용하여 임의의 운영 체제를 사용하고 데이터 파일을 전송하는 클라이언트로부터 데이터 파일을 수신하는 것, (c) 서버의 메모리에 데이터 파일을 저장하는 것, (d) CLOB 변수를 선언하는 것, (e) 서버 메모리로부터 데이터 파일의 각각의 라인을 CLOB 변수로 순차적으로 판독하는 것, (f) CLOB 변수로부터 서버 파일 시스템의 사전으로 각각의 라인을 복사하는 것, 및 (g) 데이터베이스 내의 사전에 대한 경로를 저장하는 것 중 적어도 하나를 포함한다. 본 명세서에 기술되는 시스템 및 방법의 시스템 및 방법의 추가적인 기술적 효과는 (g) 저장된 데이터 파일을 검색하기 위해 클라이언트로부터 요청을 수신하는 것, (h) CLOB 변수를 선언하는 것, (i) 사전으로부터 데이터 파일의 각각의 라인을 CLOB 변수로 순차적으로 판독하는 것, (j) CLOB 변수로부터 서버 메모리로 각각의 라인을 복사하는 것, 및 (k) 데이터 파일을 클라이언트로 전송하는 것 중 적어도 하나를 포함한다.
일 실시예에서, 컴퓨터 프로그램이 제공된다. 컴퓨터 프로그램은 컴퓨터 판독가능 매체 상에 구현되고, 임의의 운영 체제를 사용하거나 실행하는 클라이언트 시스템 및 임의의 운영 체제를 사용하고 데이터베이스와 통신하기 위해 접속되는 서버 시스템과 같은 최종 수요자 장치 간의 통신을 위해 구조화 쿼리 언어(SQL)를 활용한다. 하나의 실시예에서, 그러한 시스템은 지불 거래 네트워크와 같은 비지니스-엔티티 인트라넷 내에서 사용된다. 대안적인 실시예에서, 그러한 시스템은 인터넷 상에서 뿐만 아니라 하나 이상의 비지니스-엔티티 인트라넷의 조합 내에서 사용된다.
본 명세서에 기술되는 시스템 및 방법은 본 명세서에 기술된 특정 실시예에 한정되는 것은 아니다. 예를 들면, 각각의 시스템의 구성요소 및/또는 각각의 방법의 단계는 본 명세서에 기술되는 다른 구성요소 및/또는 단계로부터 독립적으로 그리고 개별적으로 사용되고/사용되거나 실행될 수 있다. 게다가, 각각의 구성요소 및/또는 단계는 또한 다른 조합 패키지 및 방법으로 또한 사용되거나 실행될 수 있다.
도 1은 본 발명의 일 실시예에 따른 예시적인 시스템(100)의 단순 블록도이다. 일 실시예에서, 시스템(100)은 금융 거래 카드 지불 시스템이다. 보다 구체적으로, 예시적인 실시예에서, 시스템(100)은 서버 시스템(102) 및 복수의 클라이언트 서브-시스템을 포함하고, 여기서 클라이언트 서브-시스템은 클라이언트 시스템(104)으로 또한 지칭되며 서버 시스템(102)과 연결된다. 일 실시예에서, 클라이언트 시스템(104)은 웹 브라우저 및/또는 클라이언트 소프트웨어 애플리케이션을 포함하는 컴퓨터이고, 서버 시스템(102)은, 인터넷 및/또는 인트라넷과 같은 네트워크 상에서 클라이언트 시스템(104)에 액세스가능하다. 클라이언트 시스템(104)은 근거리 통신망(LAN), 광역 통신망(WAN), 전화 접속 연결, 케이블 모뎀, 무선 모뎀, 및/또는 특수 고스피드 ISDN 라인과 같은 네트워크를 포함하는 많은 인터페이스를 통해 인터넷에 상호연결된다. 클라이언트 시스템(104)은 웹 기반 전화, 개인 휴대 정보 단말기(PDA), 또는 다른 웹 기반 연결가능 장비를 포함하는, 인터넷에 상호연결될 수 있는 임의의 장치일 수 있다. 데이터베이스 서버(106)는 금융 거래 카드 지불 데이터와 같은 다양한 자료의 정보를 포함하는 데이터베이스(108)에 연결된다. 일 실시예에서, 중앙집중형 데이터베이스(108)는 서버 시스템(102)에 저장되고, 클라이언트 시스템(104) 중 하나의 잠재적인 사용자에 의해 클라이언트 시스템(104) 중 하나를 통해 서버 시스템(102)에 로깅함으로써 액세스된다. 대안적인 실시예에서, 데이터베이스(108)는 서버 시스템(102)으로부터 원격으로 저장될 수 있고 비중앙 집중형일 수 있다.
도 2는 본 발명의 일 실시예에 따른 시스템(200)의 서버 아키텍처의 예시적인 실시예의 확장된 블록도이다. 시스템(200)의 구성요소는 (도 1에 도시된) 시스템(100)의 구성요소와 동일하고, 도 1에 사용되는 동일한 참조 번호를 사용하여 도 2에서 식별된다. 시스템(200)은 서버 시스템(102) 및 클라이언트 시스템(104)을 포함한다. 서버 시스템(102)은 데이터베이스 서버(106), 애플리케이션 서버(202), 웹 서버(204), 팩스 서버(206), 디렉토리 서버(208), 및 메일 서버(210)를 더 포함한다. 디스크 저장 유닛(212)은 데이터베이스 서버(106) 및 디렉토리 서버(208)에 접속된다. 디스크 저장 유닛(212)의 예는 NAS(Network Attached Storage) 장치 및 SAN(Storage Area Network) 장치를 포함하지만, 이에 한정되는 것은 아니다. 데이터베이스 서버(106)는 또한 데이터베이스(108)에 접속된다. 서버(106, 202, 204, 206, 208, 및 210)는 근거리 통신망(LAN; 214)에 접속된다. 게다가, 시스템 관리자의 워크스테이션(216), 사용자 워크스테이션(218), 및 감독관의 워크스테이션(220)이 LAN(214)에 접속된다. 이와 달리, 워크스테이션(216, 218, 및 220)은 인터넷 링크를 사용하여 LAN(214)에 접속되거나 인트라넷을 통해 연결된다.
각각의 클라이언트 시스템(104) 및 워크스테이션(216, 218, 및 220)은 웹 브라우저 및/또는 클라이언트 애플리케이션을 갖는 개인 컴퓨터이다. 클라이언트 시스템(104) 및 워크스테이션(216, 218, 및 220)에서 수행되는 기능은 일반적으로 각각의 클라이언트 시스템(104) 및/또는 워크스테이션(216, 218, 및 220)에서 수행되는 것으로 도시되지만, 그러한 기능은 LAN(214)에 접속되는 많은 개인 컴퓨터 중 하나에서 대신 수행될 수 있다. 클라이언트 시스템(104) 및 워크스테이션(216, 218, 및 220)은, LAN(214)에 액세스를 갖는 개인에 의해 수행될 수 있는 다양한 유형의 기능의 이해를 오직 활용하기 위해 개별 기능과 연관되는 것으로 도시된다.
서버 시스템(102)이 ISP 인터넷 연결(222)을 사용하여 액세스되는 것을 가능하게 하기 위해, 서버 시스템(102)은 클라이언트 시스템(104) 및 워크스테이션(216, 218, 및 220)에 통신가능하게 접속되도록 구성된다. 예시적인 실시예에서의 통신은 인터넷을 사용하여 수행되는 것으로 도시되지만, 임의의 다른 광역 통신망(WAN) 유형 통신이 다른 실시예에서 활용될 수 있으며, 예를 들면, 시스템 및 프로세서는 인터넷을 사용하여 수행되는 것에 한정되는 것은 아니다. 게다가, WAN(224)이 아닌 근거리 통신망(214)은 WAN(224)을 대신하여 사용될 수 있다. 또한, 팩스 서버(206)는 전화 링크를 사용하여 원거리에 위치한 클라이언트 시스템(104) 및 워크스테이션(216, 218, 및 220)과 통신한다.
예시적인 실시예에서, 클라이언트 시스템(104)은 복수의 컴퓨터 운영 체제 중 임의의 것을 사용하거나 실행할 수 있다. 가능한 컴퓨터 운영 체제의 예는 마이크로소프트® 윈도우즈, 맥 OS X®, 및 Canonical Ltd. 우분투(Ubuntu)®, 노벨® 수세(SUSE) 리눅스, 및 데비안®과 같은 리눅스 배포판을 포함하지만, 이에 한정되는 것은 아니다. (마이크로소프트는 레드몬드, 워싱턴에 위치한 마이크로소프트 회사의 등록된 상표이고, 맥 OS X는 캘리포니아 쿠퍼티노에 위치한 Apple, Inc.의 등록된 상표이며, Canonical Ltd. 우분투는 Mann의 Isle에 위치한 Canonical Ltd.의 등록된 상표이고, 노벨은 메세츄세츠, 월트햄에 위치한 Novell, Inc.의 등록된 상표이며, 데비안은 인디애나폴리스, 인디아나에 위치한 Public Interest, Inc.의 소프트웨어의 등록된 상표이다.) 그러나, 본 명세서에 기술되는 바와 같이 클라이언트 시스템(104)을 기능하게 할 수 있는 임의의 컴퓨터 운영 체제가 사용될 수 있다. 각각의 클라이언트 시스템(104)은 서버 시스템(102)과 상호작용하고/상호작용하거나 클라이언트 애플리케이션을 사용하여 데이터베이스 서버(106)를 통해 데이터베이스(108)에 액세스된다. 예시적인 실시예에서, 클라이언트 소프트웨어 애플리케이션은 복수의 프로그래밍 언어 중 임의의 것으로 작성될 수 있다. 가능한 프로그래밍 언어의 예는 C#, C++, Java, 및/또는 Perl을 포함하지만, 이에 한정되는 것은 아니다. 그러나, 본 명세서에 기술된 바와 같이 클라이언트 시스템(104)에 의해 사용된 소프트웨어 애플리케이션을 기능하게 할 수 있는 임의의 프로그래밍 언어가 사용될 수 있다.
게다가, 예시적인 실시예에서, 데이터베이스 서버(106)는 복수의 컴퓨터 운영 체제 중 임의의 것을 사용하거나 실행할 수 있다. 가능한 컴퓨터 운영 체제의 예는 마이크로소프트® 윈도우즈 서버 2003, FreeBSD®, UNIX®, 및 위에 기술된 것들과 같은 리눅스 배포판을 포함하지만, 이에 한정되는 것은 아니다. (마이크로소프트는 레드몬드, 워싱턴에 위치한 마이크로소프트 회사의 등록된 상표이고, FreeBSD는 볼더, 콜로라도에 위치한 FreeBSD 재단의 등록된 상표이며, UNIX는 샌프란시스코, 캘리포니아에 위치한 The Open Group의 등록된 상표이다.) 그러나, 본 명세서에 기술된 바와 같이 데이터베이스 서버(106)를 기능하게 할 수 있는 임의의 컴퓨터 운영 체제가 사용될 수 있다. 또한, 디렉토리 서버(208)와 같은 데이터베이스(108)와 통신가능하게 접속된 임의의 서버는, 예를 들면 위에 기술된 복수의 컴퓨터 운영 체제 중 임의의 것을 사용하거나 실행할 수 있다.
도 3은 (도 2에 도시된) 시스템(200)에 의해 활용되는 예시적인 방법(300)을 도시하는 흐름도이다. 예시적인 실시예에서, 시스템(200) 내에서 데이터 파일을 전송하기 위해, 복수의 디렉토리가 생성되어야 한다(302). 각각의 사전은 (도 2에 도시된) 데이터베이스 서버(106)와 같은 (도 2에 도시된) 데이터베이스(108)에 접속된 서버의 파일 시스템에 생성된다. 대안적인 실시예에서, 디렉토리는 데이터베이스(108)에 의해 액세스가능한 파일 시스템을 갖는 (도 2에 도시된) 서버 시스템(102) 내의 임의의 서버 상에 생성될 수 있다. 복수의 디렉토리 유형 및 디렉토리 이름은 데이터베이스(108) 내에 또한 생성된다. 일 실시예에서, SQL 명령어는 데이터베이스(108)가 디렉토리 유형을 생성하고 디렉토리 이름을 디렉토리 유형과 연관시키라고 지시하도록 사용된다.
디렉토리가 파일 시스템 내에 생성되고 데이터베이스(108)의 디렉토리 유형과 연관된 후, (도 2에 도시된) 클라이언트 시스템(104)은 클라이언트 애플리케이션을 통해 데이터 파일이 저장되거나 판독되어야 한다고 요청할 수 있다. 데이터베이스 서버(106)는 요청을 수신하고(304), 요청이 저장 요청인지 또는 판독 요청인지 여부를 결정한다.
예시적인 실시예에서, 요청이 저장 요청인 경우, 데이터베이스 서버(106)는 클라이언트 시스템(104)으로부터 데이터 파일 및 디렉토리를 수신한다(306). 대안적인 실시예에서, 디렉토리가 클라이언트 시스템(104)으로부터 수신되지 않는 경우, 데이터베이스 서버(106)는 디폴트 디렉토리를 선택한다. 데이터베이스(108)는 데이터 파일을, (도 2에 도시된) 데이터베이스 서버(106) 또는 디렉토리 서버(208)와 같은 서버의 (도시되지 않은) 메모리로 저장한다(308). 서버 메모리는 랜덤 액세스 메모리(RAM) 모듈 및/또는 서버 파일 시스템에 생성되는 스왑 공간을 포함할 수 있다. 데이터베이스(108)는 CLOB(Character Large Object) 변수를 선언하며(310), 이는 서버 메모리에 저장되는 데이터 파일로부터 목적지 디렉토리로 데이터를 복사하도록 사용된다. 데이터베이스(108)는 서버 메모리로부터 문자들의 제1 라인을 판독한다(312). 보다 구체적으로, 데이터베이스(108)는 CLOB 변수를 문자들의 제1 라인과 동일하게 설정한다. 예시적인 실시예에서, 데이터베이스(108)는 기술된 바와 같이 생성된 디렉토리를 열고, CLOB 변수를 디렉토리로 저장한다(314). 이와 달리, 디렉토리가 아직 생성되지 않은 경우, 데이터베이스(108)는 위에 기술된 바와 같이 디렉토리를 생성한다(302). 데이터베이스(108)는 서버 메모리에 저장된 데이터 파일의 문자들의 남은 라인이 있는지 여부를 결정한다(316). 데이터 파일의 끝은 엔드 오브 파일(EOF) 플래그와 같은 플래그에 의해 표현될 수 있다. 데이터 파일에 남은 문자의 라인이 있는 경우, 데이터베이스(108)는 서버 메모리로부터 문자들의 다음 라인을 판독하는 단계(312), CLOB 변수를 문자들의 다음 라인과 동일하게 설정하는 단계, 및 CLOB 변수 값을 디렉토리로 저장하는 단계(314)를 반복한다. 데이터베이스(108)는 디렉토리의 경로 및/또는 파일 이름을 특정 데이터베이스 표에 저장한다(318). 데이터베이스 표는 각각의 데이터베이스 레코드에 대한 식별자를 포함하는 제1 컬럼 및 데이터 파일이 저장되는 디렉토리의 경로를 포함하는 제2 컬럼과 같은 복수의 데이터 컬럼 및/또는 식별자를 포함한다. 데이터 파일이 저장될 때, 데이터베이스(108)는 성공 코드 및 실패 코드 중 하나를 클라이언트 시스템(104)으로 출력한다(320). 성공 코드 또는 실패 코드는 음성 신호 및/또는 시각 신호를 통하여 사용자에게 클라이언트 디스플레이 상에 디스플레이될 수 있다.
예시적인 실시예에서, 요청이 판독 요청인 경우, 데이터베이스 서버(106)는 클라이언트 시스템(104)으로부터 파일 이름 및/또는 연관된 데이터베이스 레코드를 수신한다(322). 데이터베이스(108)는 CLOB(Character Large Object) 변수를 선언하고(324), 데이터 파일에 연관되는 서버 파일 시스템의 디렉토리에 대해 검색한다(326). 데이터베이스(108)는, 요청되는 데이터 파일과 연관된 데이터베이스 레코드에 대한 식별자를 사용하여, 디렉토리 경로 및 연관된 레코드 식별자를 저장하기 위한 위에 기술되는 표와 같은 표를 검색할 수 있다. 데이터베이스(108)는 디렉토리 내의 데이터 파일을 열고, 데이터 파일의 제1 라인을 판독한다(328). 데이터베이스(108)는 CLOB 변수를 데이터 파일의 제1 라인과 동일하게 설정한다. CLOB 변수 값은 서버 메모리에 저장된다(330). 데이터베이스(108)는 디렉토리에 저장되는 데이터 파일 내에 문자들의 남은 라인이 있는지 여부를 결정한다(332). 데이터 파일의 끝은 엔드 오브 파일(EOF) 플래그와 같은 플래그에 의해 표현된 수 있다. 디렉토리에 남아 있는 문자들의 라인이 있는 경우, 데이터베이스(108)는 디렉토리로부터 문자들의 다음 라인을 판독하는 단계(328), CLOB 변수를 문자들의 다음 라인과 동일하게 설정하는 단계, 및 CLOB 변수를 서버 메모리에 저장하는 단계(330)를 반복한다. 데이터 파일은 클라이언트 시스템(104)으로 전송된다(334). 데이터 파일이 전송될 때, 데이터베이스(108)는 성공 코드 및 실패 코드 중 하나를 클라이언트 시스템(104)으로 출력한다(320). 성공 코드 또는 실패 코드는 클라이언트 디스플레이 상에 음성 신호 및/또는 시각 신호를 통해 사용자에게 디스플레이될 수 있다. 이와 달리, 데이터 파일은 클라이언트 디스플레이를 사용하여 클라이언트 시스템(104)의 사용자에게 디스플레이될 수 있다.
본 명세서에 기술된 시스템 및 방법은 데이터베이스를 포함하는 클라이언트-서버 네트워크에서 플랫폼 독립적인 데이터 파일 전송을 수행하는 것을 활용한다. 게다가, 시스템 및 방법은, 서버에 의해 사용되는 컴퓨터 운영 체제에 관계없이, 임의의 프로그래밍 언어로 작성되며 임의의 컴퓨터 운영 체제를 사용하여 클라이언트에 의해 실행되는 소프트웨어 애플리케이션이, 데이터 파일을 쓰고 데이터베이스에 접속된 서버의 파일 시스템으로부터 데이터 파일을 판독가능하게 한다.
본 명세서에 기술된 시스템 및 방법은 데이터베이스를 사용하여 플랫폼 독립적인 데이터 파일 전송의 맥락에서 기술되지만, 시스템 및 방법은 오직 그러한 시스템 및/또는 방법에 한정하는 것은 아니라고 이해된다. 유사하게, 도시되는 시스템 구성요소는 본 명세서의 특정 실시예에 한정되는 것은 아니며, 그 시스템의 구성요소는 본 명세서에 기술된 다른 구성요소로부터 독립적이고 개별적으로 활용될 수 있다.
본 발명은 다양한 특정 실시예에 관해 기술되었지만, 당업자는 본 발명이 특허청구범위의 사상과 범주 내에서 수정되어 실시될 수 있다고 이해될 것이다.
Claims (25)
- 클라이언트 시스템과 서버 시스템 간에 데이터 파일을 전송하기 위한 방법으로서, 상기 서버 시스템은 파일 시스템, 데이터베이스 시스템 및 메모리 컴포넌트를 가지며, 상기 데이터베이스 시스템은 데이터베이스를 포함하고, 상기 파일 시스템에 대한 액세스를 상기 클라이언트 시스템에 제공하며, 상기 클라이언트 시스템은 제1 컴퓨터 운영 체제를 실행하고, 상기 서버 시스템은 제2 컴퓨터 운영 체제를 실행하며, 상기 방법은,
상기 데이터 파일을 저장하라는 요청을 상기 데이터베이스 시스템에 의해 수신하는 단계 - 상기 요청은 상기 클라이언트 시스템과 연관된 소프트웨어 애플리케이션에 의해 전달됨 - ;
상기 데이터베이스 시스템에 의해 상기 클라이언트 시스템으로부터 상기 데이터 파일을 수신하는 단계;
상기 데이터베이스 시스템을 사용하여, 상기 서버 시스템 내의 상기 메모리 컴포넌트에 상기 데이터 파일을 저장하는 단계;
상기 데이터베이스 시스템을 사용하여, 상기 서버 파일 시스템 내에 포함된 목적지 디렉토리로, 그리고 상기 데이터베이스의 외부로 상기 데이터 파일을 복사하는 단계;
상기 데이터베이스 내에 상기 목적지 디렉토리에 대한 디렉토리 경로를 저장하는 단계 - 상기 디렉토리 경로는, 상기 데이터 파일이 저장된 상기 서버 파일 시스템 내의 상기 목적지 디렉토리의 기록을 제공함 -;
상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장된 경우, 상기 데이터베이스 시스템을 사용하여, 성공 코드를 상기 클라이언트 시스템에 출력하는 단계 - 상기 성공 코드는 상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장되었음을 나타냄 -;
를 포함하는 방법. - 제1항에 있어서, 상기 서버 시스템은 제1 서버 및 제2 서버를 포함하고, 상기 서버 파일 시스템 내에 포함된 목적지 디렉토리에 상기 데이터 파일을 저장하는 단계는 상기 제2 서버의 메모리에 상기 수신된 데이터 파일을 저장하는 단계 및 상기 데이터베이스 시스템에 의해 CLOB(Character Large Object) 변수를 선언하는 단계를 포함하고, 상기 서버 시스템 내의 상기 메모리 컴포넌트에 상기 데이터 파일을 저장하는 단계는, 상기 제1 서버 내에 포함된 임시 메모리에 상기 데이터 파일을 저장하는 단계를 포함하고, 상기 데이터베이스 시스템은 디렉토리 경로들을 저장하기 위한 컬럼을 포함하는 표(table)를 포함하고, 상기 데이터베이스 내에 상기 목적지 디렉토리에 대한 디렉토리 경로를 저장하는 단계는, 상기 표 내에 상기 디렉토리 경로를 저장하는 단계 및 상기 서버 파일 시스템에 복수의 디렉토리를 생성하는 단계를 더 포함하고, 상기 데이터 파일이 저장되는 상기 디렉토리는 선택된 디렉토리와 디폴트 디렉토리 중 하나인, 방법.
- 삭제
- 삭제
- 제2항에 있어서, 상기 데이터 파일은 복수의 문자 라인을 포함하고, 목적지 디렉토리로 상기 데이터 파일을 복사하는 단계는, 상기 수신된 데이터 파일을 상기 제1 서버로부터 상기 제2 서버로 전송하는 단계 및, 상기 수신된 데이터 파일을 상기 제2 서버의 메모리에 저장하는 단계를 포함하고, 상기 서버 파일 시스템 내에 포함된 디렉토리에 상기 데이터 파일을 저장하는 단계는,
상기 CLOB 변수를 각각의 라인과 동일하게 설정하고;
상기 CLOB 변수의 내용을 상기 디렉토리로 복사하고;
상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하여
상기 복수의 문자 라인의 각각의 라인을 상기 디렉토리에 순차적으로 저장하는 단계를 더 포함하는, 방법. - 제1항에 있어서,
상기 데이터 파일을 상기 클라이언트 시스템으로 전송하라는 요청을 상기 데이터베이스 시스템에 의해 수신하는 단계 - 상기 클라이언트 시스템으로부터 상기 데이터 파일을 수신하는 단계는 이미지 파일, 오디오 파일, 및 멀티미디어 파일 중 적어도 하나를 수신하는 단계를 포함함 -;
상기 데이터베이스 시스템에 의해 상기 데이터 파일을 전송하라는 요청과 연관된 식별자를 수신하는 단계;
적어도 상기 식별자를 이용하여 상기 데이터베이스 시스템으로부터 상기 데이터 파일의 상기 목적지 디렉토리를 검색하는 단계;
상기 데이터 파일로부터의 상기 데이터를 상기 제1 서버의 상기 메모리에 저장하는 단계; 및
상기 데이터 파일을 상기 제1 서버로부터 상기 클라이언트 시스템으로 전송하는 단계
를 더 포함하는, 방법. - 제6항에 있어서, 상기 데이터 파일은 복수의 문자 라인을 포함하고, 상기 데이터 파일을 상기 제1 서버의 상기 메모리 컴포넌트에 저장하는 단계는,
상기 목적지 디렉토리에 저장된 상기 데이터 파일에 액세스하고;
CLOB(Character Large Object) 변수를 선언하며;
상기 CLOB 변수를 각각의 라인과 동일하게 설정하고;
상기 CLOB 변수의 내용을 상기 메모리 컴포넌트로 복사하며;
상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하여
상기 복수의 문자 라인의 각각의 라인을 상기 메모리 컴포넌트로 순차적으로 저장하는 단계를 포함하는, 방법. - 삭제
- 제6항에 있어서, 상기 클라이언트는 복수의 클라이언트 시스템 중 제1 클라이언트이고, 상기 데이터 파일을 상기 제1 서버로부터 상기 클라이언트 시스템으로 전송하는 단계는 상기 데이터 파일을 상기 복수의 클라이언트 시스템 중 제2 클라이언트 시스템으로 전송하는 단계를 포함하고, 상기 제1 서버와 상기 제2 서버 중 적어도 하나에 의해 실행되는 상기 제2 컴퓨터 운영 체제는, 상기 클라이언트 시스템에 의해 실행되는 상기 제1 컴퓨터 운영 체제와 상이하며, 상기 제2 클라이언트 시스템은 상기 제1 클라이언트 시스템에 의해 실행되는 상기 제1 컴퓨터 운영 체제와 상이한 제3 컴퓨터 운영 체제를 실행하는, 방법.
- 제9항에 있어서, 상기 데이터 파일을 제2 클라이언트 시스템으로 전송하는 단계는 상기 데이터 파일을 상기 제2 클라이언트 시스템으로 전송하는 단계를 포함하고, 상기 제2 클라이언트 시스템은, 상기 제1 클라이언트 시스템과 연관된 소프트웨어 애플리케이션의 언어와 상이한 프로그래밍 언어로 작성된 상기 소프트웨어 애플리케이션과 연관되는, 방법.
- 플랫폼 독립적인 데이터 파일 전송을 수행하기 위한 네트워크-기반 시스템으로서,
제1 클라이언트 및 제2 클라이언트를 포함하는 복수의 클라이언트 시스템 - 상기 제1 클라이언트는 제1 컴퓨터 운영 체제를 실행하고 제1 프로그래밍 언어로 작성된 소프트웨어 애플리케이션과 연관되며, 상기 제2 클라이언트는 제2 컴퓨터 운영체제를 실행하고 제2 프로그래밍 언어로 작성된 소프트웨어 애플리케이션과 연관됨 - ; 및
파일 시스템, 메모리 컴포넌트 및 데이터베이스 시스템을 포함하는 서버 시스템 - 상기 서버 시스템은 제3 컴퓨터 운영 체제를 실행하고, 상기 복수의 클라이언트에 연결되도록 구성되며, 상기 데이터베이스 시스템은 데이터베이스를 포함하고, 상기 파일 시스템에 대한 액세스를 상기 복수의 클라이언트에 제공하도록 구성됨 -
을 포함하고,
상기 데이터베이스 시스템은,
상기 제1 클라이언트로부터 데이터 파일을 저장하라는 요청을 수신하고,
상기 제1 클라이언트로부터 상기 데이터 파일을 수신하며,
상기 데이터 파일을 상기 메모리 컴포넌트에 저장하고,
상기 파일 시스템 내에 포함된 목적지 디렉토리로, 그리고 상기 데이터베이스의 외부로 상기 데이터 파일을 복사하고,
상기 데이터베이스 내에 상기 목적지 디렉토리에 대한 경로를 저장하고 - 상기 디렉토리 경로는, 상기 데이터 파일이 저장된 상기 서버 파일 시스템 내의 상기 목적지 디렉토리의 기록을 제공함 -,
상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장된 경우, 상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장되었음을 나타내는 성공 코드를 상기 제1 클라이언트에 출력하도록 구성되는, 네트워크-기반 시스템. - 삭제
- 제11항에 있어서,
상기 서버 시스템은 제1 서버 및 제2 서버를 포함하고, 상기 메모리 컴포넌트는 상기 제1 서버 내에 포함되고, 상기 파일 시스템은 제2 서버 내에 포함되며, 상기 데이터베이스 시스템은,
복수의 디렉토리를 상기 서버 파일 시스템에 생성하고 - 상기 데이터 파일이 저장되는 상기 디렉토리는 선택된 디렉토리 및 디폴트 디렉토리 중 하나임 - ,
상기 데이터베이스에서 CLOB(Character Large Object) 변수를 선언하며,
상기 수신된 데이터 파일을 상기 제1 서버의 상기 메모리 컴포넌트에 저장하고,
상기 수신된 데이터 파일을 상기 제1 서버로부터 상기 제2 서버로 전송하고,
상기 CLOB 변수를 사용하여 상기 데이터 파일을 상기 제2 서버의 상기 파일 시스템 내의 상기 목적지 디렉토리에 저장하도록 더 구성되는, 네트워크-기반 시스템. - 제13항에 있어서, 상기 데이터 파일은 복수의 문자 라인을 포함하고, 상기 데이터베이스 시스템은,
상기 CLOB 변수를 각각의 라인과 동일하게 설정하고,
상기 CLOB 변수의 내용을 상기 목적지 디렉토리에 복사하며,
상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하도록 더 구성되는, 네트워크-기반 시스템. - 제13항에 있어서, 상기 데이터베이스 시스템은,
상기 데이터 파일을 상기 복수의 클라이언트 중 한 클라이언트에게 전송하라는 요청을 수신하고,
상기 제2 서버 내의 상기 목적지 디렉토리에 저장된 상기 데이터 파일에 액세스하며,
상기 데이터베이스에서 CLOB(Character Large Object) 변수를 선언하고,
상기 CLOB 변수를 각각의 라인과 동일하게 설정하며,
상기 CLOB 변수의 내용을 상기 제1 서버의 상기 메모리 컴포넌트로 복사하고,
상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하며,
상기 데이터 파일을 메모리 컴포넌트로부터 상기 클라이언트로 전송하도록 더 구성되는, 네트워크-기반 시스템. - 제11항에 있어서, 상기 제1 클라이언트에 의해 실행되는 상기 제1 컴퓨터 운영 체제는 상기 제2 클라이언트에 의해 실행되는 상기 컴퓨터 운영 체제 및 상기 서버 시스템에 의해 실행되는 제3 운영 체제 중 적어도 하나와 상이하고, 상기 제1 클라이언트에 연관된 상기 소프트웨어 애플리케이션을 작성하는데 사용되는 상기 제1 프로그래밍 언어는 상기 제2 클라이언트와 연관된 상기 소프트웨어 애플리케이션을 작성하는데 사용되는 상기 제2 프로그래밍 언어와 상이한, 네트워크-기반 시스템.
- 삭제
- 플랫폼 독립적인 데이터 파일 전송을 수행하기 위해 데이터베이스에 연결되는 컴퓨터로서, 상기 컴퓨터는 파일 시스템 및 메모리 컴포넌트를 포함하고, 상기 컴퓨터는 클라이언트와 통신하며, 상기 클라이언트는 제1 컴퓨터 운영 체제를 실행하고, 상기 컴퓨터는 제2 컴퓨터 운영 체제를 실행하며, 상기 데이터베이스 시스템은 데이터베이스를 포함하고, 또한
상기 클라이언트로부터 데이터 파일을 저장하라는 요청을 수신하고,
상기 클라이언트로부터 상기 데이터 파일을 수신하며,
상기 데이터 파일을 상기 메모리 컴포넌트에 저장하고,
상기 파일 시스템 내에 포함된 목적지 디렉토리로, 그리고 상기 데이터베이스의 외부로 상기 데이터 파일을 복사하고,
상기 데이터베이스 내에 상기 목적지 디렉토리에 대한 디렉토리 경로를 저장하고 - 상기 디렉토리 경로는, 상기 데이터 파일이 저장된 상기 파일 시스템 내의 상기 목적지 디렉토리의 기록을 제공함 -;
상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장된 경우, 상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장되었음을 나타내는 성공 코드를 상기 클라이언트에 출력하도록 구성되는, 컴퓨터. - 제18항에 있어서, 상기 데이터베이스 시스템은,
상기 데이터베이스에서 CLOB(Character Large Object) 변수를 선언하며,
상기 CLOB 변수를 상기 메모리 컴포넌트에 저장된 상기 데이터 파일의 문자들의 제1 라인과 동일하게 설정하고,
상기 CLOB 변수의 내용을 상기 목적지 디렉토리에 복사하며,
상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하도록 더 구성되는, 컴퓨터. - 제18항에 있어서, 상기 데이터베이스 시스템은,
상기 데이터 파일을 상기 클라이언트로 전송하라는 요청을 수신하고,
상기 목적지 디렉토리에 저장된 상기 데이터 파일에 액세스하며,
상기 데이터베이스에서 CLOB(Character Large Object) 변수를 선언하고,
상기 CLOB 변수를 각각의 라인과 동일하게 설정하며,
상기 CLOB 변수의 내용을 상기 컴퓨터의 상기 메모리 컴포넌트로 복사하고,
상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하며,
상기 데이터 파일을 상기 메모리 컴포넌트로부터 상기 클라이언트로 전송하도록 더 구성되는, 컴퓨터. - 제20항에 있어서, 상기 클라이언트는 복수의 클라이언트 시스템 중 제1 클라이언트이고, 상기 컴퓨터는 상기 데이터 파일을 상기 복수의 클라이언트 시스템 중 제2 클라이언트로 전송하도록 구성되며, 상기 제1 클라이언트는 상기 컴퓨터에 의해 실행되는 상기 제2 컴퓨터 운영 체제와 상이한 상기 제1 컴퓨터 운영 체제를 실행하고, 상기 제2 클라이언트는 제3 운영 체제를 실행하는, 컴퓨터.
- 클라이언트 시스템과 서버 시스템 간에 플랫폼 독립적인 데이터 파일 전송을 수행하기 위한 컴퓨터 실행가능 명령어들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 서버 시스템은 파일 시스템, 데이터베이스 시스템 및 메모리 컴포넌트를 포함하며, 상기 데이터베이스 시스템은 데이터베이스를 포함하고, 상기 파일 시스템에 대한 액세스를 상기 클라이언트 시스템에 제공하도록 구성되며, 상기 클라이언트 시스템은 제1 컴퓨터 운영 체제를 실행하고, 상기 서버 시스템은 제2 컴퓨터 운영 체제를 동작시키고, 상기 컴퓨터 실행가능 명령어들은 상기 서버 시스템에 의해 실행되는 경우, 상기 서버 시스템으로 하여금, 상기 데이터베이스 시스템이
데이터 파일을 저장하라는 요청을 수신하고 - 상기 요청은 상기 클라이언트 시스템과 연관된 소프트웨어 애플리케이션에 의해 전달됨 - ,
상기 데이터 파일을 상기 클라이언트 시스템으로부터 수신하며,
상기 데이터 파일을 상기 서버 시스템 내의 상기 메모리 컴포넌트에 저장하고,
상기 서버 파일 시스템 내에 포함된 목적지 디렉토리로, 그리고 상기 데이터베이스의 외부로 상기 데이터 파일을 복사하고,
상기 목적지 디렉토리에 대한 디렉토리 경로를 저장하고 - 상기 디렉토리 경로는, 상기 데이터 파일이 저장된 상기 서버 파일 시스템 내의 상기 목적지 디렉토리의 기록을 제공함 -;
상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장된 경우, 상기 데이터 파일이 상기 목적지 디렉토리에 성공적으로 저장되었음을 나타내는 성공 코드를 상기 클라이언트 시스템에 출력하게 하도록 하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제22항에 있어서, 상기 컴퓨터 실행가능 명령어들은 추가로 상기 서버 시스템으로 하여금, 상기 데이터베이스 시스템이
상기 데이터 파일을 상기 서버의 메모리에 저장하고,
CLOB(Character Large Object) 변수를 선언하며,
상기 CLOB 변수를 상기 메모리 컴포넌트에 저장된 상기 데이터 파일의 문자들의 제1 라인과 동일하게 설정하고,
상기 CLOB 변수의 내용을 상기 목적지 디렉토리로 복사하며,
상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하게 하도록 하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제22항에 있어서, 상기 컴퓨터 실행가능 명령어들은 추가로 상기 서버 시스템으로 하여금, 상기 데이터베이스 시스템이,
상기 데이터 파일을 상기 클라이언트 시스템으로 전송하라는 요청을 수신하고,
상기 목적지 디렉토리에 저장된 상기 데이터 파일에 액세스하며,
CLOB(Character Large Object) 변수를 선언하고,
상기 CLOB 변수를 각각의 라인과 동일하게 설정하며,
상기 CLOB 변수의 내용을 상기 서버 시스템의 상기 메모리 컴포넌트로 복사하고,
상기 데이터 파일이 추가적인 라인을 포함하는지 여부를 결정하며,
상기 데이터 파일을 상기 메모리 컴포넌트로부터 상기 클라이언트로 전송하게 하도록 하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제22항에 있어서, 상기 클라이언트 시스템은 복수의 클라이언트 중 제1 클라이언트를 포함하고, 상기 컴퓨터 실행가능 명령어들은 추가로 상기 서버 시스템으로 하여금, 상기 데이터베이스 시스템이, 상기 데이터 파일을 상기 복수의 클라이언트 중 제2 클라이언트로 전송하게 하도록 하고, 상기 제1 클라이언트는 상기 서버에 의해 실행되는 상기 제2 컴퓨터 운영 체제와 상이한 상기 제1 컴퓨터 운영 체제를 실행하며, 상기 제2 클라이언트는 제3 운영 체제를 실행하는, 비일시적 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1798307P | 2007-12-31 | 2007-12-31 | |
US61/017,983 | 2007-12-31 | ||
US12/143,897 US9128946B2 (en) | 2007-12-31 | 2008-06-23 | Systems and methods for platform-independent data file transfers |
US12/143,897 | 2008-06-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100113102A KR20100113102A (ko) | 2010-10-20 |
KR101591116B1 true KR101591116B1 (ko) | 2016-02-03 |
Family
ID=40799796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107017229A KR101591116B1 (ko) | 2007-12-31 | 2008-12-04 | 플랫폼 독립적인 데이터 파일 전송을 위한 시스템 및 방법 |
Country Status (10)
Country | Link |
---|---|
US (1) | US9128946B2 (ko) |
EP (1) | EP2240864A4 (ko) |
JP (1) | JP5394396B2 (ko) |
KR (1) | KR101591116B1 (ko) |
AU (1) | AU2008343496B2 (ko) |
BR (1) | BRPI0821672A2 (ko) |
CA (1) | CA2710754C (ko) |
MX (1) | MX2010007275A (ko) |
RU (1) | RU2525743C2 (ko) |
WO (1) | WO2009085557A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10671491B2 (en) | 2013-11-01 | 2020-06-02 | Micro Focus Llc | Asset browsing and restoration over a network using pre-staging and directory storage |
US10474535B2 (en) * | 2013-11-01 | 2019-11-12 | Longsand Limited | Asset browsing and restoration over a network using on demand staging |
US9524301B2 (en) * | 2014-04-30 | 2016-12-20 | The Boeing Company | Transferring files between different operating systems |
US10108766B2 (en) | 2014-11-05 | 2018-10-23 | The Boeing Company | Methods and apparatus for analyzing fatigue of a structure and optimizing a characteristic of the structure based on the fatigue analysis |
US11412084B1 (en) * | 2016-06-23 | 2022-08-09 | 8X8, Inc. | Customization of alerts using telecommunications services |
RU2656721C1 (ru) * | 2017-03-21 | 2018-06-06 | Общество с ограниченной ответственностью "Научно-технический центр РЕЛЭКС" (ООО "НТЦ РЕЛЭКС") | Способ организации хранения частично совпадающих больших объектов |
CN111988411B (zh) * | 2020-08-22 | 2023-01-10 | 上海萱闱医疗科技有限公司 | 断网后客户端数据自动续传方法、装置、计算机可读存储介质 |
CN116346391B (zh) * | 2022-10-26 | 2023-11-10 | 广东省土地调查规划院 | 一种国土调查数据内外网信息交互方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003288302A (ja) | 2002-03-28 | 2003-10-10 | Ntt Comware Corp | 種別の異なるコンテンツの管理方法およびコンテンツ管理装置 |
US20060212495A1 (en) | 2005-03-18 | 2006-09-21 | Mikihiko Tokunaga | Method and system for storing data into a database |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291598A (en) * | 1992-04-07 | 1994-03-01 | Gregory Grundy | Method and system for decentralized manufacture of copy-controlled software |
US5694598A (en) * | 1994-10-12 | 1997-12-02 | U S West Technologies, Inc. | Method for mapping data between a relational format and an object-oriented format |
US5732402A (en) * | 1995-02-10 | 1998-03-24 | International Business Machines Corporation | System and method for data space management using buddy system space allocation |
US5742810A (en) * | 1995-08-31 | 1998-04-21 | International Business Machines Corporation | System, method and computer program product for passing host variables to a database management system |
US5848415A (en) * | 1996-12-18 | 1998-12-08 | Unisys Corporation | Selective multiple protocol transport and dynamic format conversion in a multi-user network |
US5864870A (en) * | 1996-12-18 | 1999-01-26 | Unisys Corp. | Method for storing/retrieving files of various formats in an object database using a virtual multimedia file system |
US6061678A (en) * | 1997-10-31 | 2000-05-09 | Oracle Corporation | Approach for managing access to large objects in database systems using large object indexes |
US6738790B1 (en) * | 1997-10-31 | 2004-05-18 | Oracle International Corporation | Approach for accessing large objects |
US5999943A (en) * | 1997-10-31 | 1999-12-07 | Oracle Corporation | Lob locators |
WO1999026121A2 (en) | 1997-11-13 | 1999-05-27 | Hyperspace Communications, Inc. | File transfer system |
US6012067A (en) * | 1998-03-02 | 2000-01-04 | Sarkar; Shyam Sundar | Method and apparatus for storing and manipulating objects in a plurality of relational data managers on the web |
JP3863291B2 (ja) * | 1998-05-28 | 2006-12-27 | 株式会社日立製作所 | データベース処理方法、データベース処理システム及び媒体 |
CA2245087A1 (en) | 1998-08-17 | 2000-02-17 | Solar Information Co., Ltd. | Searching system for searching files stored in a hard disk of a personal computer |
US6226650B1 (en) * | 1998-09-17 | 2001-05-01 | Synchrologic, Inc. | Database synchronization and organization system and method |
US6487551B2 (en) * | 1998-09-24 | 2002-11-26 | International Business Machines Corporation | Externalizing very large objects in a relational database client/server environment |
US6256626B1 (en) * | 1998-09-24 | 2001-07-03 | International Business Machines Corporation | Externalizing very large objects in a relational database client/server environment |
US6119051A (en) * | 1998-10-27 | 2000-09-12 | Bell & Howell Mail And Messaging Technologies Co. | Client-server system, method and computer product for managing database driven insertion (DDI) and mail piece tracking (MPT) data |
US6442517B1 (en) | 2000-02-18 | 2002-08-27 | First International Digital, Inc. | Methods and system for encoding an audio sequence with synchronized data and outputting the same |
JP2002014889A (ja) * | 2000-06-30 | 2002-01-18 | Akira Fujiwara | データファイルダウンロード方法 |
US7797276B1 (en) * | 2000-10-02 | 2010-09-14 | Guang Yang | Integrated database data editing system |
US6901428B1 (en) * | 2000-10-11 | 2005-05-31 | Ncr Corporation | Accessing data from a database over a network |
US7272833B2 (en) * | 2000-12-26 | 2007-09-18 | International Business Machines Corporation | Messaging service in a federated content management system |
JP3784290B2 (ja) | 2001-09-14 | 2006-06-07 | 協同飼料株式会社 | 豚の飼育方法及びそれに用いる養豚用飼料 |
US6931410B2 (en) * | 2002-01-11 | 2005-08-16 | International Business Machines Corporation | Method, apparatus, and program for separate representations of file system locations from referring file systems |
US7181511B1 (en) * | 2002-04-15 | 2007-02-20 | Yazaki North America, Inc. | System and method for using software objects to manage devices connected to a network in a vehicle |
US7082455B2 (en) * | 2002-04-23 | 2006-07-25 | International Business Machines Corporation | Method and apparatus of parameter passing of structured data for stored procedures in a content management system |
US7873700B2 (en) * | 2002-08-09 | 2011-01-18 | Netapp, Inc. | Multi-protocol storage appliance that provides integrated support for file and block access protocols |
US20040163041A1 (en) * | 2003-02-13 | 2004-08-19 | Paterra, Inc. | Relational database structures for structured documents |
CA2419982A1 (en) * | 2003-02-26 | 2004-08-26 | Ibm Canada Limited - Ibm Canada Limitee | Executing a large object fetch query against a database |
JP2005056085A (ja) | 2003-08-01 | 2005-03-03 | Fujitsu Ltd | データ構造変換プログラム |
RU2006123938A (ru) * | 2004-01-05 | 2008-02-20 | Дидье ТИТГАДТ (BE) | Многосоставные системы на основе поведения как типы данных |
US7366735B2 (en) | 2004-04-09 | 2008-04-29 | Oracle International Corporation | Efficient extraction of XML content stored in a LOB |
US7904895B1 (en) * | 2004-04-21 | 2011-03-08 | Hewlett-Packard Develpment Company, L.P. | Firmware update in electronic devices employing update agent in a flash memory card |
JP4866844B2 (ja) * | 2004-06-16 | 2012-02-01 | オラクル・インターナショナル・コーポレイション | Lobに格納されたxml内容の効率的な抽出 |
WO2006017362A2 (en) * | 2004-07-13 | 2006-02-16 | Freedom Software, Inc. | Storing and distributing encrypted digital content |
US8200700B2 (en) * | 2005-02-01 | 2012-06-12 | Newsilike Media Group, Inc | Systems and methods for use of structured and unstructured distributed data |
JP4414381B2 (ja) * | 2005-08-03 | 2010-02-10 | 富士通株式会社 | ファイル管理プログラム、ファイル管理装置、ファイル管理方法 |
US20080005194A1 (en) * | 2006-05-05 | 2008-01-03 | Lockheed Martin Corporation | System and method for immutably cataloging and storing electronic assets in a large scale computer system |
US7761411B2 (en) * | 2007-07-20 | 2010-07-20 | Oracle International Corporation | Delta operations on a large object in a database |
-
2008
- 2008-06-23 US US12/143,897 patent/US9128946B2/en active Active
- 2008-12-04 BR BRPI0821672-0A patent/BRPI0821672A2/pt not_active Application Discontinuation
- 2008-12-04 MX MX2010007275A patent/MX2010007275A/es active IP Right Grant
- 2008-12-04 KR KR1020107017229A patent/KR101591116B1/ko not_active IP Right Cessation
- 2008-12-04 JP JP2010541469A patent/JP5394396B2/ja not_active Expired - Fee Related
- 2008-12-04 EP EP08866946.0A patent/EP2240864A4/en not_active Withdrawn
- 2008-12-04 CA CA2710754A patent/CA2710754C/en not_active Expired - Fee Related
- 2008-12-04 WO PCT/US2008/085590 patent/WO2009085557A1/en active Application Filing
- 2008-12-04 RU RU2010125680/08A patent/RU2525743C2/ru not_active IP Right Cessation
- 2008-12-04 AU AU2008343496A patent/AU2008343496B2/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003288302A (ja) | 2002-03-28 | 2003-10-10 | Ntt Comware Corp | 種別の異なるコンテンツの管理方法およびコンテンツ管理装置 |
US20060212495A1 (en) | 2005-03-18 | 2006-09-21 | Mikihiko Tokunaga | Method and system for storing data into a database |
Also Published As
Publication number | Publication date |
---|---|
EP2240864A4 (en) | 2013-10-30 |
RU2525743C2 (ru) | 2014-08-20 |
JP5394396B2 (ja) | 2014-01-22 |
AU2008343496B2 (en) | 2013-04-04 |
EP2240864A1 (en) | 2010-10-20 |
US9128946B2 (en) | 2015-09-08 |
KR20100113102A (ko) | 2010-10-20 |
RU2010125680A (ru) | 2011-12-27 |
WO2009085557A1 (en) | 2009-07-09 |
BRPI0821672A2 (pt) | 2015-06-16 |
AU2008343496A1 (en) | 2009-07-09 |
CA2710754A1 (en) | 2009-07-09 |
MX2010007275A (es) | 2010-12-02 |
US20090171972A1 (en) | 2009-07-02 |
CA2710754C (en) | 2016-10-04 |
JP2011511339A (ja) | 2011-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101591116B1 (ko) | 플랫폼 독립적인 데이터 파일 전송을 위한 시스템 및 방법 | |
JP7113040B2 (ja) | 分散型データストアのバージョン化された階層型データ構造 | |
CN110447021B (zh) | 用于在数据中心之间维持元数据和数据的一致性的方法、装置和系统 | |
US7499959B2 (en) | System and method for performing an on-line check of a file system | |
AU739236B2 (en) | File system interface to a database | |
JP4604041B2 (ja) | 集合値化された列とスカラ値化された列を単一のステートメントで修正するためのsql言語の拡張 | |
US7089566B1 (en) | Method for accessing object linking-embedding database data via JAVA database connectivity | |
US8190570B2 (en) | Preserving virtual filesystem information across high availability takeover | |
US20110125704A1 (en) | Replica placement strategy for distributed data persistence | |
US20010027457A1 (en) | Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents | |
US6647391B1 (en) | System, method and article of manufacture for fast mapping from a propertied document management system to a relational database | |
CN103595797B (zh) | 一种分布式存储系统中的缓存方法 | |
KR20060094458A (ko) | 파일 시스템 항목(들) 및 연관된 엔티티(들)를 직렬화하는시스템 및 방법 | |
CN100498781C (zh) | 用附着属性存储逻辑文件系统元数据的方法 | |
EP0229232A2 (en) | File management system | |
US7181473B1 (en) | Identifying files within a namespace | |
US6405217B1 (en) | State-based implementation of transactions on a file system | |
EP0270360A2 (en) | Data management system | |
CN110955658A (zh) | 一种基于Java智能合约的数据组织和存储方法 | |
US8640090B2 (en) | Active and modifiable data dictionary | |
US6330571B1 (en) | Method and computer program product for implementing datalink path protection | |
US7155458B1 (en) | Mechanism for distributed atomic creation of client-private files | |
RU105770U1 (ru) | Архитектура для хранения и представления данных в эмуляторе | |
US20110047194A1 (en) | Method for coordinating relationships between multiple physical entities | |
Pentakalos et al. | Performance Analysis of the Unitree Central File |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |