KR20210000945A - Improving for request processing of the IMAP mail data - Google Patents
Improving for request processing of the IMAP mail data Download PDFInfo
- Publication number
- KR20210000945A KR20210000945A KR1020190076256A KR20190076256A KR20210000945A KR 20210000945 A KR20210000945 A KR 20210000945A KR 1020190076256 A KR1020190076256 A KR 1020190076256A KR 20190076256 A KR20190076256 A KR 20190076256A KR 20210000945 A KR20210000945 A KR 20210000945A
- Authority
- KR
- South Korea
- Prior art keywords
- database
- server
- summary information
- mails
- Prior art date
Links
Images
Classifications
-
- H04L51/22—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- 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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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
- G06F16/164—File meta data generation
-
- 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/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- 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/18—File system types
- G06F16/182—Distributed file systems
-
- H04L51/12—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/212—Monitoring or handling of messages using filtering or selective blocking
Abstract
Description
본 발명은 메일 처리 관련 기술에 관련한 것으로, 특히 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선에 관한 것이다.The present invention relates to a technology related to mail processing, and more particularly, to an improvement in real-time high-performance IMAP communication mail data inquiry processing through a database.
대부분의 대규모 웹서비스가 자바(Java) 플랫폼상에서 구현되지만, 자바에서 제공하는 메일 API는 처리 성능과 확장성이 떨어진다는 문제가 있다. 자바에서 제공하는 메일 API는 동기식 API로, 요청이 처리되는 동안 쓰레드가 중단되도록 구현되어 있어 메일 서비스 확장성이 떨어진다.Most large-scale web services are implemented on the Java platform, but the mail API provided by Java has a problem that processing performance and scalability are poor. The mail API provided by Java is a synchronous API, and it is implemented so that the thread is stopped while the request is being processed, resulting in poor mail service scalability.
또한, 자바에서 메일 데이터를 조회하는 POP3, IMAP 프로토콜은 원래 원격 서버에 저장된 메일을 조회하기 위한 프로토콜로, 메일 서버와 TCP 연결 및 사용자 인증 절차가 반드시 수행되므로, 세션 형성하는 동안 서비스 지연이 발생하여 응답 속도가 느리며, 접속자별로 세션 생성 및 관리를 하기 때문에 메모리 소비가 증가하게 된다.In addition, POP3 and IMAP protocols, which search mail data in Java, are protocols to search mails originally stored in a remote server. Since TCP connection with the mail server and user authentication procedures must be performed, service delays occur during session formation. Response speed is slow and memory consumption increases because sessions are created and managed for each visitor.
대한민국 공개특허 제10-2003-0010307호(2003.02.05)에서 다수의 웹 메일 계정을 소지하는 이용자가 전자 메일 모듈을 통해 다수의 전자 메일 서버에 대응하는 아이피 어드레스를 저장한 DB 서버에 접속하여 다수의 전자 메일 계정으로 전달된 메일을 확인할 수 있도록 한 기술을 제안하고 있다.In Korean Patent Laid-Open No. 10-2003-0010307 (2003.02.05), a user with multiple webmail accounts connects to a DB server storing IP addresses corresponding to multiple e-mail servers through an e-mail module. We propose a technology that allows you to check the mail delivered to your e-mail account.
본 발명자는 위의 선행기술과는 달리 데이터베이스에 메일 서버로 수신되는 메일들의 요약 정보를 저장하고, 메일 어플리케이션이 메일 서버에 직접 접속하지 않고 데이터베이스에 우회 접근하여 메일의 요약 정보를 조회할 수 있도록 구현함으로써 메일 서비스의 확장성과 응답 속도를 향상할 수 있는 개선된 메일 시스템에 대한 연구를 하였다.Unlike the prior art above, the present inventors store summary information of mails received through the mail server in a database, and implement the mail application to bypass the database without directly accessing the mail server to retrieve the summary information of mails. By doing so, research was conducted on an improved mail system that can improve the scalability and response speed of mail service.
본 발명은 데이터베이스에 메일 서버로 수신되는 메일들의 요약 정보를 저장하고, 메일 어플리케이션이 메일 서버에 직접 접속하지 않고 데이터베이스에 우회 접근하여 메일의 요약 정보를 조회할 수 있도록 구현함으로써 메일 서비스의 확장성과 응답 속도를 향상할 수 있는 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선을 제공함을 그 목적으로 한다.The present invention stores summary information of mails received through a mail server in a database, and implements the mail application to bypass the database without directly accessing the mail server to retrieve the mail summary information, thereby expanding and responding to mail services. Its purpose is to provide a real-time, high-performance IMAP communication mail data inquiry processing improvement through a database that can improve speed.
상기한 목적을 달성하기 위한 본 발명의 일 양상에 따르면, 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선이 메일 송신을 처리하는 메일 송신부와, 메일 수신을 처리하는 메일 수신부와, 메일 송신부 및 메일 수신부를 통해 송수신되는 메일들에 대한 스팸/바이러스 필터링을 수행하는 메일 필터부와, 메일 송신부 및 메일 수신부를 통해 송수신되는 메일들을 저장하는 메일 저장부를 포함하는 메일 서버와; 메일 서버의 메일 저장부에 저장되는 메일들의 요약 정보를 저장하는 데이터베이스와, 메일 서버의 메일 저장부에 저장되는 메일들과 데이터베이스에 저장되는 메일들의 요약 정보간 동기화를 수행하는 동기화 데몬과, 동기화 데몬에 의해 동기화되는 메일들의 요약 정보를 인덱스화하여 데이터베이스에 저장하도록 제어하는 저장 제어부와, 메일 서버에 직접 접근하지 않고 데이터베이스에 우회 접근하여 데이터베이스에 저장된 메일들의 요약 정보에 대한 조회를 포함하는 메일 어플리케이션의 메일 서비스 요청에 대한 처리를 수행하는 적어도 하나의 메일 API를 포함하는 메일 서버 지원 플랫폼을 포함한다.According to an aspect of the present invention for achieving the above object, the improvement of real-time high-performance IMAP communication mail data inquiry processing through a database includes a mail sending unit for processing mail transmission, a mail receiving unit processing mail reception, a mail sending unit and mail A mail server including a mail filter unit that performs spam/virus filtering on mails transmitted and received through the receiving unit, and a mail storage unit that stores mails transmitted and received through the mail transmission unit and the mail receiving unit; A database that stores summary information of mails stored in the mail storage unit of the mail server, a synchronization daemon that synchronizes mails stored in the mail storage unit of the mail server and summary information of mails stored in the database, and a synchronization daemon A storage control unit that indexes summary information of mails synchronized by and stores them in a database, and a mail application that includes a search for summary information of mails stored in the database by bypassing the database without directly accessing the mail server. It includes a mail server support platform including at least one mail API for processing mail service requests.
본 발명의 부가적인 양상에 따르면, 동기화 데몬이 메일 서버의 메일 저장부에 저장되는 메일들의 메일 변화 이벤트를 감지하여 데이터베이스에 저장되는 메일들의 요약 정보를 갱신한다.According to an additional aspect of the present invention, a synchronization daemon updates summary information of mails stored in a database by detecting a mail change event of mails stored in a mail storage unit of a mail server.
본 발명의 부가적인 양상에 따르면, 메일 서버가 메일 저장부에 저장되는 메일들에 변화가 발생된 경우, 메일 변화 이벤트를 발생시켜 동기화 데몬으로 전송하는 동기화 플러그인을 더 포함한다.According to an additional aspect of the present invention, the mail server further includes a synchronization plug-in that generates a mail change event and transmits it to the synchronization daemon when a change occurs in mails stored in the mail storage unit.
본 발명의 부가적인 양상에 따르면, 동기화 데몬이 부하 분산을 위해 다수개 구비될 수 있다.According to an additional aspect of the present invention, a plurality of synchronization daemons may be provided for load balancing.
본 발명의 부가적인 양상에 따르면, 메일 서버 지원 플랫폼이 메일 서버의 메일 저장부에 저장되는 메일들과 데이터베이스에 저장되는 메일들의 요약 정보간의 일치성을 정기적으로 검사하는 유효성 체커를 더 포함할 수 있다.According to an additional aspect of the present invention, the mail server support platform may further include a validity checker for regularly checking correspondence between mails stored in the mail storage unit of the mail server and summary information of mails stored in the database. .
본 발명의 부가적인 양상에 따르면, 메일 서버 지원 플랫폼이 메일 어플리케이션의 메일 서비스 요청을 적합한 메일 API에서 처리하도록 라우팅하는 서비스 게이트웨이를 더 포함할 수 있다.According to an additional aspect of the present invention, the mail server support platform may further include a service gateway for routing the mail service request of the mail application to be processed by an appropriate mail API.
본 발명의 부가적인 양상에 따르면, 서비스 게이트웨이가 메일 API의 처리에 의해 메일 변화가 발생할 경우, 메일 변화 내용을 메일 서버의 메일 저장부에 저장되는 메일들과 데이터베이스에 저장되는 메일들의 요약 정보에 반영하도록 동기화 데몬에 요청하도록 구현될 수 있다.According to an additional aspect of the present invention, when a mail change occurs due to a mail API processing by the service gateway, the mail change content is reflected in the mails stored in the mail storage unit of the mail server and the summary information of mails stored in the database. It can be implemented to ask the synchronization daemon to do so.
본 발명은 데이터베이스에 메일 서버로 수신되는 메일들의 요약 정보를 저장하고, 메일 어플리케이션이 메일 서버에 직접 접속하지 않고 데이터베이스에 우회 접근하여 메일의 요약 정보를 조회할 수 있도록 구현함으로써 메일 서비스의 확장성과 응답 속도를 향상할 수 있는 효과가 있다.The present invention stores summary information of mails received through a mail server in a database, and implements the mail application to bypass the database without directly accessing the mail server to retrieve the mail summary information, thereby expanding and responding to mail services. There is an effect that can improve speed.
도 1 은 통상의 메일 시스템의 네트워크 개요도이다.
도 2 는 본 발명에 따른 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선의 네트워크 개요도이다.
도 3 은 본 발명에 따른 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선의 일 실시예의 구성을 도시한 블럭도이다.1 is a network schematic diagram of a typical mail system.
2 is a network schematic diagram of improving real-time high-performance IMAP communication mail data inquiry processing through a database according to the present invention.
3 is a block diagram showing the configuration of an embodiment of improving the processing of real-time high-performance IMAP communication mail data inquiry through a database according to the present invention.
이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다. 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있으나, 이는 본 발명의 다양한 실시예들을 특정한 형태로 한정하려는 것은 아니다.Hereinafter, the present invention will be described in detail so that those skilled in the art can easily understand and reproduce the present invention through preferred embodiments described with reference to the accompanying drawings. Although specific embodiments are illustrated in the drawings and related detailed descriptions are described, this is not intended to limit the various embodiments of the present invention to a specific form.
본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.In describing the present invention, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the embodiments of the present invention, the detailed description will be omitted.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.
도 1 은 통상의 메일 시스템의 네트워크 개요도이다. 도 1 에 도시한 바와 같이, 기존에는 서버측의 메일 서버(100)에 클라이언트측의 메일 어플리케이션(200)이 IMAP(Internet Messaging Access Protocol)을 통해 직접 접속하여 메일을 수신하는 구조였다.1 is a network schematic diagram of a typical mail system. As shown in FIG. 1, in the past, the
IMAP(Internet Messaging Access Protocol)은 클라이언트가 메일 서버에서 메일을 읽기 위한 인터넷 표준 프로토콜로, 메일 서버와 TCP 연결 및 사용자 인증 절차가 반드시 수행되어야 한다.IMAP (Internet Messaging Access Protocol) is an Internet standard protocol for a client to read mail from a mail server. TCP connection with the mail server and user authentication must be performed.
따라서, 메일 서버(100)와 메일 어플리케이션(200)간에 세션(Session)을 형성하는 동안 서비스 지연이 발생하여 응답 속도가 느리며, 접속자별로 세션 생성 및 관리를 하기 때문에 메모리 소비가 증가하게 된다.Accordingly, a service delay occurs during the formation of a session between the
도 2 는 본 발명에 따른 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선의 네트워크 개요도이다. 도 2 에 도시한 바와 같이, 본 발명에 따른 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선은 서버측의 메일 서버(100)과 클라이언트측의 메일 어플리케이션(200) 간에 메일 서버 지원 플랫폼(300)이 구현되어, 메일 서버(100)와 메일 어플리케이션(200)이 직접 연결되지 않는다.2 is a network schematic diagram of improving real-time high performance IMAP communication mail data inquiry processing through a database according to the present invention. As shown in Fig. 2, the improvement of real-time high performance IMAP communication mail data inquiry processing through the database according to the present invention is a mail
메일 서버 지원 플랫폼(300)은 메일 서버(100)로 수신되는 메일들의 요약 정보를 저장하여, 메일 어플리케이션(200)이 메일 서버에 직접 접속하지 않고 메일 서버 지원 플랫폼(300)에 우회 접근하여 메일의 요약 정보를 조회하도록 함으로써 메일 서비스의 확장성과 응답 속도를 향상할 수 있도록 하는 소프트웨어 플랫폼이다.The mail
한편, 메일 서버 지원 플랫폼(300)은 메일 서버(100) 내부에 일체로 구현되거나, 메일 서버(100) 외부에 별도로 구현될 수 있으며, 메일 서버(100)와 메일 서버 지원 플랫폼(300) 간에는 IMAP이 사용되지 않고, 메일 서버 지원 플랫폼(300)과 메일 어플리케이션(200) 간에만 IMAP이 사용된다.On the other hand, the mail
이에 따라, 메일 서버(100)와 메일 어플리케이션(200)이 직접 연결되어 메일 어플리케이션(200)이 메일 서버(100)로부터 IMAP을 통해 메일 서버스를 이용하지 않고, 메일 어플리케이션(200)이 메일 서버 지원 플랫폼(300)으로 우회하여 메일 서버스를 이용하므로, 메일 서버와 메일 어플리케이션 간에 세션을 형성하는 동안 서비스 지연이 발생하여 응답 속도가 느려지는 문제를 해결할 수 있다.Accordingly, the
도 3 은 본 발명에 따른 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선의 일 실시예의 구성을 도시한 블럭도이다. 도 3 에 도시한 바와 같이, 본 발명에 따른 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선은 메일 서버(100)와, 메일 서버 지원 플랫폼(300)을 포함한다. 이 때, 메일 서버(100)와 메일 서버 지원 플랫폼(300)이 리눅스(Linux) 등과 같은 오픈 소스(Open Source) 기반으로 구현될 수 있으나, 이에 한정되지는 않는다.3 is a block diagram showing the configuration of an embodiment of improving processing of real-time high-performance IMAP communication mail data inquiry processing through a database according to the present invention. As shown in FIG. 3, the improvement of processing mail data inquiry processing for real-time high performance IMAP communication through a database according to the present invention includes a
메일 서버(100)는 메일 송신부(110)와, 메일 수신부(120)와, 메일 필터부(130)와, 메일 저장부(140)를 포함한다. 예컨대, 메일 서버(100)가 오픈 소스인 리눅스 기반의 메일 서버 구축 패키지인 iRedMail에 의해 구축될 수 있으나, 이에 한정되지는 않는다.The
메일 송신부(110)는 메일 송신을 처리한다. 예컨대, 메일 송신부(110)가 리눅스 기반의 메일 서버 구축 패키지인 iRedMail의 메일 송신 서버 구축 프로그램인 Postfix에 의해 구축될 수 있으나, 이에 한정되지는 않는다.The
메일 수신부(120)는 메일 수신을 처리한다. 예컨대, 메일 수신부(120)가 리눅스 기반의 메일 서버 구축 패키지인 iRedMail의 메일 수신 서버 구축 프로그램인 Dovecot에 의해 구축될 수 있으나, 이에 한정되지는 않는다.The
메일 필터부(130)는 메일 송신부(110) 및 메일 수신부(120)를 통해 송수신되는 메일들에 대한 스팸/바이러스 필터링을 수행한다. 예컨대, 메일 필터부(130)가 리눅스 기반의 메일 서버 구축 패키지인 iRedMail의 스팸/바이러스 필터링 프로그램인 Amavis에 의해 구축될 수 있으나, 이에 한정되지는 않는다.The
메일 저장부(140)는 메일 송신부(110) 및 메일 수신부(120)를 통해 송수신되는 메일들을 저장한다. 예컨대, 메일 저장부(140)가 받은 편지함, 보낸 편지함, 지운 편지함, 임시 보관함, 스팸 편지함 등을 포함하는 파일 스토리지 형태의 메일 박스(Mail Box)일 수 있다.The
한편, 메일 서버 지원 플랫폼(300)은 데이터베이스(310)와, 동기화 데몬(320)과, 저장 제어부(330)와, 적어도 하나의 메일 API(340)를 포함한다. 이 때, 메일 서버 지원 플랫폼(300)이 메일 서버(100) 내부에 일체로 구현되거나, 메일 서버(100) 외부에 별도로 구현될 수 있다.Meanwhile, the mail
데이터베이스(310)는 메일 서버(100)의 메일 저장부(140)에 저장되는 메일들의 요약 정보를 저장한다. 이 때, 데이터베이스(310)에는 메일 서버(100)의 메일 저장부(140)에 저장되는 메일들 각각의 인덱스(Index) 정보와 매칭되어 해당 메일들 각각의 요약 정보가 저장될 수 있다.The
예컨대, 데이터베이스(310)에 저장되는 요약 정보가 메일 서버(100)의 메일 저장부(140)에 저장되는 메일의 메타(Meta) 정보일 수 있다. 예컨대, 메일의 메타 정보가 메일 제목, 메일 발신자, 메일 수신자, 첨부 파일 여부 등을 포함할 수 있다.For example, summary information stored in the
동기화 데몬(320)은 메일 서버(100)의 메일 저장부(140)에 저장되는 메일들과 데이터베이스(310)에 저장되는 메일들의 요약 정보간 동기화를 수행한다. 이 때, 동기화 데몬(320)이 부하 분산을 위해 다수개 구비될 수도 있다. 예컨대, 동기화 데몬(320)이 메일 서버 지원 플랫폼(300)에 접속되는 메일 어플리케이션(200)의 수에 따라 능동적으로 개수 조정되어 부하를 분산하도록 구현될 수 있다.The
저장 제어부(330)는 동기화 데몬(320)에 의해 동기화되는 메일들의 요약 정보를 인덱스화하여 데이터베이스(310)에 저장하도록 제어한다. 이 때, 인덱스(Index) 기반 저장 제어는 이 출원전에 이미 다양하게 공지되어 시행되는 통상의 기술이므로, 인덱스 생성 및 요약 정보 매칭에 대한 구체적인 설명은 생략하기로 한다.The
적어도 하나의 메일 API(340)는 메일 서버(100)에 직접 접근하지 않고 데이터베이스(310)에 우회 접근하여 데이터베이스에 저장된 메일들의 요약 정보에 대한 조회를 포함하는 메일 어플리케이션(300)의 메일 서비스 요청에 대한 처리를 수행한다.At least one
메일 어플리케이션(300)에서 메일 조회, 메일 수신, 메일 삭제, 메일 읽기 등과 같은 메일 서비스 요청이 수행되면, 해당 메일 서비스 요청에 대응하는 처리를 수행하는 메일 API(340)가 선택되어 해당 메일 서비스 요청에 대응하는 처리를 수행한다.When a mail service request such as mail inquiry, mail reception, mail deletion, mail reading, etc. is performed in the
예컨대, 메일 어플리케이션(300)의 메일 서비스 요청이 메일 조회 요청일 경우, 메일 조회를 처리하는 메일 API(340)가 선택되어 데이터베이스(310)에 저장된 메일들의 요약 정보를 조회하여 해당 메일 어플리케이션(300)에 설정된 메일 수신자 주소로 수신된 메일들의 리스트를 메일 어플리케이션(300) 화면에 표시한다.For example, when the mail service request of the
예컨대, 메일 어플리케이션(300)의 메일 서비스 요청이 메일 수신일 경우, 메일 수신을 처리하는 메일 API(340)가 선택되어 데이터베이스(310)에 저장된 메일들의 요약 정보를 조회하여 메일 수신 요청한 메일의 요약 정보에 대응하는 인덱스를 검색하고, 검색된 인덱스에 대응하는 메일 전체 내용을 동기화 데몬(320)에 요청한다.For example, when the mail service request of the
그러면, 동기화 데몬(320)이 메일 서버(100)에 검색된 인덱스에 대응하는 메일 전체 내용을 요청하여 수신하고, 수신된 메일 전체 내용을 메일 어플리케이션(300) 화면에 표시한다.Then, the
이와 같이 구현함에 의해, 본 발명은 데이터베이스에 메일 서버로 수신되는 메일들의 요약 정보를 저장하고, 메일 어플리케이션이 메일 서버에 직접 접속하지 않고 데이터베이스에 우회 접근하여 메일의 요약 정보를 조회할 수 있도록 구현함으로써 메일 서비스의 확장성과 응답 속도를 향상할 수 있다.By implementing in this way, the present invention stores summary information of mails received by the mail server in the database, and implements the mail application to bypass the database without directly connecting to the mail server to retrieve the summary information of the mail. Mail service scalability and response speed can be improved.
한편, 발명의 부가적인 양상에 따르면, 동기화 데몬(330)이 메일 저장부(140)에 저장되는 메일들의 메일 변화 이벤트를 감지하여 데이터베이스(310)에 저장되는 메일들의 요약 정보를 갱신함으로써 메일들과 메일들의 요약 정보간 동기화를 수행하도록 구현될 수 있다.Meanwhile, according to an additional aspect of the invention, the
이를 위해, 메일 서버(100)가 동기화 플러그인(150)을 더 포함할 수 있다. 동기화 플러그인(150)은 메일 서버(100)의 메일 저장부(140)에 저장되는 메일들에 변화가 발생된 경우, 메일 변화 이벤트를 발생시켜 동기화 데몬(330)으로 전송한다.To this end, the
예컨대, 메일 변화 이벤트가 메일 수신, 메일 송신, 메일 삭제 등일 수 있다. 메일 수신, 메일 송신, 메일 삭제 등에 의해 메일 저장부(140)에 저장되는 메일들에 변화가 발생되면, 동기화 플러그인(150)이 메일 변화 이벤트를 발생시켜 변화된 메일의 요약 정보와 함께 동기화 데몬(330)으로 전송한다.For example, the mail change event may be mail reception, mail transmission, mail deletion, or the like. When a change occurs in the mails stored in the
그러면, 동기화 데몬(330)은 메일 변화 이벤트를 감지하여 메일 변화가 발생되었음을 인지하고, 변화된 메일의 요약 정보를 데이터베이스(310)에 반영하여 데이터베이스(310)에 저장되는 메일들의 요약 정보를 갱신한다. 이에 따라, 메일 서버(100)에서 메일이 변화되더라도, 데이터베이스(310)에 저장되는 메일들의 요약 정보에 반영할 수 있어 동기화를 이룰 수 있다.Then, the
한편, 발명의 부가적인 양상에 따르면, 메일 서버 지원 플랫폼(300)이 유효성 체커(350)를 더 포함할 수 있다. 유효성 체커(350)는 메일 서버(100)의 메일 저장부(140)에 저장되는 메일들과 데이터베이스(310)에 저장되는 메일들의 요약 정보간의 일치성을 정기적으로 검사한다.Meanwhile, according to an additional aspect of the invention, the mail
예컨대, 유효성 체커(350)가 매일 주기로 메일 서버(100)의 메일 저장부(140)에 저장되는 메일들과 데이터베이스(310)에 저장되는 메일들의 요약 정보간의 일치성을 검사하도록 구현될 수 있으나, 이에 한정되지는 않는다.For example, the
네트워크 장애 등과 같은 특별한 상황에서 동기화 데몬(330)이 동작되지 않아, 메일 서버(100)의 메일 저장부(140)에 저장되는 메일들과 데이터베이스(310)에 저장되는 메일들의 요약 정보간이 일치하지 않을 수 있다.In a special situation such as a network failure, the
이 실시예는 이러한 비일치를 문제를 해결하기 위해 유효성 체커(350)를 통해 정기적으로 메일 서버(100)의 메일 저장부(140)에 저장되는 메일들과 데이터베이스(310)에 저장되는 메일들의 요약 정보간의 일치성을 검사하도록 한 것이다.This embodiment is a summary of mails stored in the
만약, 유효성 체커(350)를 통해 일치성 검사 결과, 메일 서버(100)의 메일 저장부(140)에 저장되는 메일들과 데이터베이스(310)에 저장되는 메일들의 요약 정보 간이 일치하지 않으면, 유효성 체커(350)가 일치하지 않는 메일과 이의 요약 정보를 일치시켜 동기화한다.If, as a result of the consistency check through the
한편, 발명의 부가적인 양상에 따르면, 메일 서버 지원 플랫폼(300)이 서비스 게이트웨이(360)를 더 포함할 수 있다. 서비스 게이트웨이(360)는 메일 어플리케이션(200)의 메일 서비스 요청을 적합한 메일 API(340)에서 처리하도록 라우팅(Routing)한다.Meanwhile, according to an additional aspect of the invention, the mail
즉, 서비스 게이트웨이(360)는 메일 어플리케이션(300)의 메일 서비스 요청에 대응하는 처리를 수행하는 메일 API(340)를 선택하는 역할을 수행한다. 예컨대, 메일 어플리케이션(300)의 메일 서비스 요청이 메일 조회 요청, 메일 수신 요청, 메일 삭제 요청, 메일 읽기 요청 등일 수 있다.That is, the
서비스 게이트웨이(360)는 메일 어플리케이션(300)의 메일 서비스 요청에 따라, 메일 조회 처리, 메일 수신 처리, 메일 삭제 처리, 메일 읽기 처리 등을 수행하는 적절한 메일 API(340)를 선택하여 메일 어플리케이션(300)의 메일 서비스 요청을 선택된 메일 API(340)로 전달한다.The
그러면, 메일 API(340)가 메일 어플리케이션(300)의 메일 서비스 요청에 대응하는 메일 조회 처리, 메일 수신 처리, 메일 삭제 처리, 메일 읽기 처리 등을 수행한다. 이 때, 메일 어플리케이션(300)의 메일 서비스 요청에 대응하는 메일 API(340)의 처리에 의해 메일 변화가 발생할 수 있다.Then, the
한편, 발명의 부가적인 양상에 따르면, 서비스 게이트웨이(360)가 메일 API(340)의 처리에 의해 메일 변화가 발생할 경우, 메일 변화 내용을 메일 서버(100)의 메일 저장부(140)에 저장되는 메일들과 데이터베이스(310)에 저장되는 메일들의 요약 정보에 반영하도록 동기화 데몬(320)에 요청한다.On the other hand, according to an additional aspect of the invention, when a mail change occurs due to the processing of the
그러면, 동기화 데몬(320)이 메일 서버(100)의 메일 저장부(140)에 저장되는 메일들과 데이터베이스(310)에 저장되는 메일들의 요약 정보에 메일 변화 내용을 반영하여 동기화한다.Then, the
이상에서 설명한 바와 같이, 본 발명은 데이터베이스에 메일 서버로 수신되는 메일들의 요약 정보를 저장하고, 메일 어플리케이션이 메일 서버에 직접 접속하지 않고 데이터베이스에 우회 접근하여 메일의 요약 정보를 조회할 수 있도록 구현함으로써 메일 서비스의 확장성과 응답 속도를 향상할 수 있으므로, 상기에서 제시한 본 발명의 목적을 달성할 수 있다.As described above, the present invention stores summary information of mails received through a mail server in a database, and implements the mail application to bypass the database without directly accessing the mail server to retrieve summary information of mails. Since the scalability and response speed of the mail service can be improved, the object of the present invention presented above can be achieved.
본 명세서 및 도면에 개시된 다양한 실시예들은 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 다양한 실시예들의 범위를 한정하고자 하는 것은 아니다. The various embodiments disclosed in the present specification and drawings are only provided for specific examples to aid understanding, and are not intended to limit the scope of the various embodiments of the present invention.
따라서, 본 발명의 다양한 실시예들의 범위는 여기에서 설명된 실시예들 이외에도 본 발명의 다양한 실시예들의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 다양한 실시예들의 범위에 포함되는 것으로 해석되어야 한다.Therefore, the scope of the various embodiments of the present invention is included in the scope of the various embodiments of the present invention in addition to the embodiments described herein, all changes or modified forms derived based on the technical idea of the various embodiments of the present invention. It should be interpreted as being.
본 발명은 메일 처리 관련 기술분야 및 이의 응용 기술분야에서 산업상으로 이용 가능하다.The present invention can be used industrially in the technical field related to mail processing and the application technical field thereof.
100 : 메일 서버
110 : 메일 송신부
120 : 메일 수신부
130 : 메일 필터부
140 : 메일 저장부
150 : 동기화 플러그인
200 : 메일 어플리케이션
300 : 메일 서버 지원 플랫폼
310 : 데이터베이스
320 : 동기화 데몬
330 : 저장 제어부
340 : 메일 API
350 : 유효성 체커
360 : 서비스 게이트웨이100: mail server
110: mail sender
120: mail receiver
130: mail filter unit
140: mail storage unit
150: sync plugin
200: mail application
300: Mail server support platform
310: database
320: synchronization daemon
330: storage control unit
340: Mail API
350: validity checker
360: services gateway
Claims (7)
메일 서버의 메일 저장부에 저장되는 메일들의 요약 정보를 저장하는 데이터베이스와, 메일 서버의 메일 저장부에 저장되는 메일들과 데이터베이스에 저장되는 메일들의 요약 정보간 동기화를 수행하는 동기화 데몬과, 동기화 데몬에 의해 동기화되는 메일들의 요약 정보를 인덱스화하여 데이터베이스에 저장하도록 제어하는 저장 제어부와, 메일 서버에 직접 접근하지 않고 데이터베이스에 우회 접근하여 데이터베이스에 저장된 메일들의 요약 정보에 대한 조회를 포함하는 메일 어플리케이션의 메일 서비스 요청에 대한 처리를 수행하는 적어도 하나의 메일 API를 포함하는 메일 서버 지원 플랫폼을;
포함하는 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선.Through a mail sending unit that handles mail transmission, a mail receiving unit that handles mail reception, a mail filter unit that performs spam/virus filtering on mail sent and received through the mail sending unit and the mail receiving unit, and the mail sending unit and mail receiving unit. A mail server including a mail storage unit for storing transmitted and received mails;
A database that stores summary information of mails stored in the mail storage unit of the mail server, a synchronization daemon that synchronizes mails stored in the mail storage unit of the mail server and summary information of mails stored in the database, and a synchronization daemon A storage control unit that indexes summary information of mails synchronized by and stores them in a database, and a mail application that includes a search for summary information of mails stored in the database by bypassing the database without directly accessing the mail server. A mail server support platform including at least one mail API for processing mail service requests;
Improved real-time high-performance IMAP communication mail data inquiry processing through the included database.
동기화 데몬이:
메일 저장부에 저장되는 메일들의 메일 변화 이벤트를 감지하여 데이터베이스에 저장되는 메일들의 요약 정보를 갱신하는 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선.The method of claim 1,
Synchronization daemon:
Improved real-time high performance IMAP communication mail data inquiry processing through a database that updates the summary information of mails stored in the database by detecting mail change events of mails stored in the mail storage.
메일 서버가:
메일 서버의 메일 저장부에 저장되는 메일들에 변화가 발생된 경우, 메일 변화 이벤트를 발생시켜 동기화 데몬으로 전송하는 동기화 플러그인을;
더 포함하는 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선.The method of claim 2,
Mail server:
A synchronization plug-in that generates a mail change event and transmits it to a synchronization daemon when a change occurs in mails stored in the mail storage unit of the mail server;
Improved real-time high-performance IMAP communication mail data inquiry processing through a further included database.
동기화 데몬이:
부하 분산을 위해 다수개 구비되는 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선.The method of claim 1,
Synchronization daemon:
Improved real-time high-performance IMAP communication mail data inquiry processing through multiple databases for load balancing.
메일 서버 지원 플랫폼이:
메일 서버의 메일 저장부에 저장되는 메일들과 데이터베이스에 저장되는 메일들의 요약 정보간의 일치성을 정기적으로 검사하는 유효성 체커를;
더 포함하는 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선.The method of claim 1,
Mail server supported platforms are:
A validity checker for regularly checking correspondence between mails stored in a mail storage unit of the mail server and summary information of mails stored in a database;
Improved real-time high-performance IMAP communication mail data inquiry processing through a further included database.
메일 서버 지원 플랫폼이:
메일 어플리케이션의 메일 서비스 요청을 적합한 메일 API에서 처리하도록 라우팅하는 서비스 게이트웨이를;
더 포함하는 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선.The method according to any one of claims 1 to 5,
Mail server supported platforms are:
A service gateway for routing a mail service request of a mail application to be processed by an appropriate mail API;
Improved real-time high-performance IMAP communication mail data inquiry processing through a further included database.
서비스 게이트웨이가:
메일 API의 처리에 의해 메일 변화가 발생할 경우, 메일 변화 내용을 메일 서버의 메일 저장부에 저장되는 메일들과 데이터베이스에 저장되는 메일들의 요약 정보에 반영하도록 동기화 데몬에 요청하는 데이터베이스를 통한 실시간 고성능 IMAP 통신 메일데이터 조회 처리 개선.The method of claim 6,
Services gateway:
Real-time, high-performance IMAP through a database that requests the synchronization daemon to reflect the change of mail in the mail stored in the mail storage unit of the mail server and summary information of mails stored in the database when mail changes occur due to mail API processing. Communication mail data inquiry processing improvement.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190076256A KR102216181B1 (en) | 2019-06-26 | 2019-06-26 | Mail system for improving response time interval |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190076256A KR102216181B1 (en) | 2019-06-26 | 2019-06-26 | Mail system for improving response time interval |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210000945A true KR20210000945A (en) | 2021-01-06 |
KR102216181B1 KR102216181B1 (en) | 2021-02-16 |
Family
ID=74128581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190076256A KR102216181B1 (en) | 2019-06-26 | 2019-06-26 | Mail system for improving response time interval |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102216181B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030010307A (en) | 2001-07-26 | 2003-02-05 | (주)루넷 | Method for searching an e-mail information automatically, computer readable medium storing thereof, and system for the performing the same |
KR20060095800A (en) * | 2005-02-28 | 2006-09-04 | 엘지전자 주식회사 | System and method for data synchronization between terminal and server |
KR20080061464A (en) * | 2006-12-28 | 2008-07-03 | 드림소프트(주) | Method of servicing mail and system, mobile terminal |
-
2019
- 2019-06-26 KR KR1020190076256A patent/KR102216181B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030010307A (en) | 2001-07-26 | 2003-02-05 | (주)루넷 | Method for searching an e-mail information automatically, computer readable medium storing thereof, and system for the performing the same |
KR20060095800A (en) * | 2005-02-28 | 2006-09-04 | 엘지전자 주식회사 | System and method for data synchronization between terminal and server |
KR20080061464A (en) * | 2006-12-28 | 2008-07-03 | 드림소프트(주) | Method of servicing mail and system, mobile terminal |
Also Published As
Publication number | Publication date |
---|---|
KR102216181B1 (en) | 2021-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7024457B1 (en) | E-mail synchronization between heterogeneous mail servers | |
US6374292B1 (en) | Access control system for an ISP hosted shared email server | |
US6823391B1 (en) | Routing client requests to back-end servers | |
WO2008042617A1 (en) | Secure peer-to-peer cache sharing | |
KR20100015641A (en) | Apparatus and method for caching email messages within a wireless data service | |
US20080256298A1 (en) | Intelligent caching of user data for real time communications | |
US9258377B2 (en) | Publish information on website | |
US7483949B2 (en) | E-mail caching system and method | |
US7058683B1 (en) | Methods and apparatus for providing a virtual host in electronic messaging servers | |
US20120191769A1 (en) | Site-aware distributed file system access from outside enterprise network | |
CA2461075C (en) | System and method for managing data items | |
US20090313342A1 (en) | Email handling system comprising Meta-data storage | |
US9253127B2 (en) | Optimized routing for proxy use | |
US10382389B2 (en) | System and method for SMTP and alternative email protocol interoperability | |
US20110196934A1 (en) | Socket SMTP Load Balancing | |
KR102216181B1 (en) | Mail system for improving response time interval | |
CN103744888A (en) | Method and system for anti-spam gateway to query database | |
JP3938145B2 (en) | E-mail proxy device and program | |
JP2018180837A (en) | Attached file sharing system, user terminal, attached file sharing method, and attached file sharing program | |
US20100191803A1 (en) | server realizing network communication number service | |
Knowles et al. | The Design and Implementation of Highly Scalable Email Systems. | |
CN103297444A (en) | Identity analysis method and device | |
EP2357765A1 (en) | Socket SMTP load balancing | |
WO2001067305A1 (en) | Methods and apparatus for delegating administrative capabilities to domains served by mail providers | |
WO2001067259A1 (en) | Methods and apparatus for providing a virtual host in electronic messaging servers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |