KR100835654B1 - Query processing system and methods for a database with packet information by dividing a table and query - Google Patents

Query processing system and methods for a database with packet information by dividing a table and query Download PDF

Info

Publication number
KR100835654B1
KR100835654B1 KR1020070096170A KR20070096170A KR100835654B1 KR 100835654 B1 KR100835654 B1 KR 100835654B1 KR 1020070096170 A KR1020070096170 A KR 1020070096170A KR 20070096170 A KR20070096170 A KR 20070096170A KR 100835654 B1 KR100835654 B1 KR 100835654B1
Authority
KR
South Korea
Prior art keywords
packet information
query
packet
time
partitioning
Prior art date
Application number
KR1020070096170A
Other languages
Korean (ko)
Inventor
남경우
Original Assignee
(주)해창시스템
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)해창시스템 filed Critical (주)해창시스템
Priority to KR1020070096170A priority Critical patent/KR100835654B1/en
Application granted granted Critical
Publication of KR100835654B1 publication Critical patent/KR100835654B1/en
Priority to PCT/KR2008/005554 priority patent/WO2009038384A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5087Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to voice services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • H04L43/55Testing of service level quality, e.g. simulating service usage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/2254Arrangements for supervision, monitoring or testing in networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

An apparatus and a method for searching packet information through DB division and query division for packet information are provided to mirror all packets in packet collecting devices, divide the packet information based on a mirroring time, make a packet information DB, and perform separately queries for requesting the packet information, thereby processing the call flow condition check and performance analysis of the VoIP network in realtime. An apparatus for searching packet information through DB division and query division in realtime comprises a packet information DB(Database)(220), plural packet collecting devices(201), and plural call flow searching terminals(250). The packet information DB is comprised of plural packet information tables with the same structure as a table capable of storing the packet information. Each of the plural packet collecting devices include a packet collecting unit(210) and a packet information generating unit(230). The packet collecting unit are connected to the backbone switch(132) of a VoIP(Voice over Internet Protocol) network(130) to mirror all packets transmitted to the VoIP network and store a generation time of a mirroring time with the mirrored packets. The packet information generating unit extracts information from the collected packets, configures packet information with the generation time of the packets, divides the configured packet information, and stores the divided packet information in each of the packet information tables. The plural call flow searching terminals divide search queries for searching the packet information by packet information table, make the search queries, and request the packet information DB server to respond to the search queries.

Description

패킷정보에 대한 DB분할 및 쿼리분할을 통한 패킷정보 검색 장치 및 방법{Query processing system and methods for a database with packet information by dividing a table and query}Query processing system and methods for a database with packet information by dividing a table and query}

본 발명은 인터넷전화망(VoIP)에서 전송되는 모든 패킷을 실시간으로 캡쳐(Mirroring)하여 패킷정보를 분할하여 패킷정보DB로 관리하고 패킷정보에 대한 검색을 실시간으로 즉시 응답할 수 있도록 하기 위하여, 패킷정보에 대한 DB분할 및 쿼리분할을 통한 호흐름 검색 장치 및 방법에 관한 것이다.The present invention captures all packets transmitted from an Internet telephone network (VoIP) in real time, divides packet information into a packet information DB, and manages the packet information DB so that packet information can be immediately answered in real time. An apparatus and method for call flow retrieval through DB partitioning and query partitioning are provided.

인터넷전화망(VoIP)은 음성 데이터를 IP 데이터 패킷으로 변환하여 데이터통신용 패킷망(인터넷이 대표적인 망이다)을 통하여 전송하는 통신서비스 기술이다. VoIP 망의 끝단에는 전화기와 같은 단말장치를 이용함으로써 사용자는 일반전화를 이용하는 것과 같은 서비스를 받을 수 있다. 인터넷전화망(VoIP)에 대한 구성을 도 1을 참조하여 보다 상세히 설명하고자 한다.VoIP is a communication service technology that converts voice data into IP data packets and transmits them through a packet network for data communication (the Internet is a typical network). By using a terminal such as a telephone at the end of the VoIP network, the user can receive the same service as using a regular telephone. The configuration of the VoIP network will be described in more detail with reference to FIG. 1.

VoIP 망을 통하여 일반전화기의 통신과 같은 서비스를 제공하기 위하여 통상 IP PBX(IP 교환장치)(110)이 필요하다. IP 교환장치(110)는 인터넷 전화단말(135)에서 요청되는 콜(Call)을 수신 전화단말(135)을 찾아 연결해주는 장치이다. 일반 전화망(PSTN)에서의 교환기(PBX)와 같은 역할을 한다. 상업적으로 전문적인 서비스를 하기위하여 전문사업자는 대용량 IP 교환장치(110)를 구비하고, 이 IP 교환장치(110)를 백본스위치(132)를 통해 인터넷 전화망(VoIP)(130)에 연결시킨다. 상기 교환장치(110)는 송신측 인터넷 전화단말(135)의 음성패킷이 VoIP망(130)을 통해 들어오면, 목적이 되는 수신 인터넷 전화단말(135)을 찾아 그 패킷을 보내주기도 하며, 인터넷 전화단말(135)이 아닌 일반 전화단말(125)인 경우에도 트렁크 게이트웨이(122)를 통해 연결시켜준다. 동시에 공중교환전화망(PSTN)(120)을 통해 들어오는 일반 전화단말에서의 콜을 받아 인터넷 전화단말(135)에 연결시켜주기도 한다.In order to provide a service such as communication of a general telephone through a VoIP network, an IP PBX (IP switching device) 110 is usually required. The IP switching device 110 is a device for finding and connecting a call requested by the Internet telephone terminal 135 to the receiving telephone terminal 135. It acts like a PBX in a public switched telephone network (PSTN). In order to perform commercially professional services, a professional operator is provided with a large-capacity IP switching device 110, and connects the IP switching device 110 to the Internet telephone network (VoIP) 130 through the backbone switch 132. When the voice packet of the sender's Internet telephone terminal 135 enters through the VoIP network 130, the switch 110 finds a target receiving Internet telephone terminal 135 and sends the packet. In the case of the general telephone terminal 125, not the terminal 135, the trunk gateway 122 is connected. At the same time, it receives the call from the general telephone terminal coming through the public switched telephone network (PSTN) 120 and connects to the Internet telephone terminal 135.

VoIP는 음성데이터를 패킷으로 변환하여 데이터통신용 패킷망을 통해 전송되는데, 도 2에서 보는 바와 같이, 패킷들은 VoIP 장비(150)들에 의해 중계된다. VoIP 장비(150)는 통상 프록시 서버(115), IP-PBX(110), 트렁크 게이트웨이(122) 등이 있다. VoIP의 음성데이터 통신을 규약하는 프로토콜인 VoIP 프로토콜은 과거에는 H.323이 많이 쓰였으나 최근에 그 구조가 간단하여 많이 활용되는 SIP 의 예를 들기로 한다. 도 3은 SIP 프로토콜을 이용한 VoIP 시스템의 프로토콜 스택을 보여주고 있다. 즉, SIP 서버에서 다루는 VoIP 프로토콜은 주로 호연결(Call Setup) 등을 위한 목적으로 이용되고 UDP 위에서 구현되고, 실제 음성데이터 전송을 위해서는 RTP/RTCP 프로토콜 위에서 구현된다. 즉, 전자의 패킷은 < IP헤더 + UDP헤더 + SIP 프로토콜 > 로 구성되고, 후자의 패킷은 < IP헤더 + UDP헤더 + RTP/RTCP 헤더 + 음성데이터 전송 > 로 구성된다. 따라서 패킷을 캡쳐하여 분석하면, 호(Call)와 관련된 정보인 < Call ID >, < 메소드 >, < 전송시각 >, < 전화단말 정보 >, < 발신전화번호 >, < 수신전화번호 > 등을 알 수 있고, 장비들간 전송될 때의 장비들의 < 소스 IP/Port >와 < 목적 IP/Port > 등을 알아낼 수 있다. 이때 소스 IP/Port와 목적 IP/Port는 장비들의 IP와 세션이 설정되는 Port번호를 의미하므로, VoIP 장비(150)를 통해 중계될 때마다 변한다. 송수신 전화번호는 해당 전화단말(135)의 전화번호를 의미한다. 일반적으로 인터넷 전화번호는 “<전화번호> @ <도메인>”으로 표시된다. 전화단말정보는 전화단말의 제품명 등의 정보를 가지고 있다. 또한, 메소드는 SIP 프로토콜에 의해 호설정 관련 메시지들의 종류를 나타내는 것으로서, 메소드별 패킷흐름을 보면, 호설정이 어떻게 진행되고 있는지를 알 수 있다.VoIP converts voice data into packets and transmits them through a data communication packet network. As shown in FIG. 2, packets are relayed by VoIP equipments 150. VoIP equipment 150 typically includes proxy server 115, IP-PBX 110, trunk gateway 122, and the like. The VoIP protocol, which is a protocol that regulates voice data communication of VoIP, has been used in the past for H.323, but recently, its structure is simple. 3 shows a protocol stack of a VoIP system using the SIP protocol. In other words, the VoIP protocol handled by the SIP server is mainly used for the purpose of call setup and the like, and is implemented on UDP, and is implemented on the RTP / RTCP protocol for actual voice data transmission. That is, the former packet consists of <IP header + UDP header + SIP protocol>, and the latter packet consists of <IP header + UDP header + RTP / RTCP header + voice data transmission>. Therefore, by capturing and analyzing the packet, the call related information such as <Call ID>, <Method>, <Transmission Time>, <Telephone Terminal Information>, <Calling Number> It can find out the <source IP / Port> and <destination IP / Port> of devices when they are transmitted between devices. At this time, since the source IP / Port and the destination IP / Port means a port number for the IP and the session of the device is set, it changes every time it is relayed through the VoIP device (150). Transmitting and receiving phone number means a phone number of the corresponding phone terminal 135. In general, Internet phone numbers are represented as “<phone number> @ <domain>”. The telephone terminal information has information such as the product name of the telephone terminal. In addition, the method indicates the types of call setup-related messages by the SIP protocol, and the packet flow for each method shows how the call setup is progressing.

이러한 VoIP 망에서 패킷들이 잘 송수신되는지의 여부나 호(Call) 흐름이 전화단말에서 끝단까지 연결이 잘되는지의 여부 등을 관찰하기 위하여 종래에는 패킷분석기(100)나 패킷측정기(Probe) 등이 이용되거나 시도되고 있다. 보통 일시적으로 VoIP망의 성능이나 흐름을 관찰하기 위하여, 도 1에서 보는 바와 같이, 백본스위치(132)에 패킷분석기(100)를 연결하여 패킷정보를 검출한다. 즉, 패킷분석기(100)는 연결된 백본스위치를 통과하는 모든 패킷을 캡쳐하여 분석한다. 그러나 처리해야하는 패킷의 양이 너무 방대하기 때문에 보통은 VoIP 망의 상황 등을 파악하기 위하여 일시적으로 이용될 뿐, 실시간으로 감시를 하지는 못한다. 현재의 한 사업자의 VoIP 망을 예로 들면, 하나의 백본스위치에서 캡쳐하여 분석해야 하는 패킷정보가 1일간 약 1억 5,000만개 정도된다. 인터넷전화 서비스가 보편화되면 더욱 많은 패킷정보를 처리해야 한다. 이를 해결하기 위하여 도 4에서 보는 바와 같이, 패킷측정기(Probe)(105)를 여러 대 설치하여 하나의 패킷측정기(105)에서 측정되는 패킷량을 줄임으로써 실시간으로 모든 패킷을 측정하려는 시도가 있었다. 일반적으로 백본스위치에 연결되어 있는 단위 망별로 패킷측정기(105)를 설치하여 해당 패킷측정기는 단위 망에서 전송되는 패킷만을 캡쳐하여 분석하는 방법이다. 그러나 이 방법의 문제점은 단위 망에서 전송되는 패킷양이 상당히 많은 경우 그 망에 설치된 패킷측정기(105)에서 병목현상이 발생하여 전체 VoIP 망의 패킷전송 상태를 파악하는데 시간이 지연될 수 있고, 패킷측정기(105)를 여러 대 설치하여야 하기 때문에 설치비용과 관리비용이 급격히 늘어난다는 점이다. 무엇보다 가장 큰 문제점은 패킷측정기(105)로 측정되는 데이터들을 집합(Merging)을 시켜 전체 VoIP 망의 상황을 파악하는 기술이 어렵다는 점이다.In order to observe whether the packets are well transmitted and received in the VoIP network or whether the call flow is well connected from the terminal to the terminal, the packet analyzer 100 or the packet analyzer is conventionally used. Or is being tried. Usually, in order to temporarily observe the performance or flow of the VoIP network, as shown in FIG. 1, the packet analyzer 100 is connected to the backbone switch 132 to detect packet information. That is, the packet analyzer 100 captures and analyzes all packets passing through the connected backbone switch. However, since the amount of packets to be processed is so large, it is usually used only temporarily to grasp the situation of the VoIP network and cannot be monitored in real time. For example, the current VoIP network of one operator is about 150 million packets per day that need to be captured and analyzed by one backbone switch. As Internet phone service becomes more common, more packet information needs to be processed. In order to solve this problem, as shown in FIG. 4, an attempt has been made to measure all packets in real time by reducing the amount of packets measured by one packet measurer 105 by installing multiple packet measurers (Probe) 105. In general, the packet meter 105 is installed for each unit network connected to the backbone switch, and the packet meter captures and analyzes only packets transmitted from the unit network. However, the problem with this method is that if the amount of packets transmitted in the unit network is considerably large, bottlenecks occur in the packet measurer 105 installed in the network, which may cause a delay in determining the packet transmission status of the entire VoIP network. The installation cost and the management cost are increased drastically because several measuring devices 105 must be installed. The biggest problem is that it is difficult to grasp the situation of the entire VoIP network by merging the data measured by the packet measurer 105.

본 발명은 상기와 같은 인터넷전화망(VoIP)의 호흐름 현황파악과 성능분석을 실시간으로 처리할 수 없는 기술적 난제를 해결하기 위하여 안출된 것으로, 인터넷전화망(VoIP)에 패킷수집장치를 설치하여 모든 패킷을 캡쳐(Mirroring)하여 패킷정보를 캡쳐시간 기준으로 분할하여 DB화하고 패킷정보에 대한 검색쿼리를 분할하여 수행함으로써, 실시간 망 관리가 가능한 VoIP 패킷정보 검색장치 및 방법을 제공함을 목적으로 한다.The present invention has been made to solve the technical difficulties that can not be handled in real time to the current status of the call flow analysis and performance analysis of the Internet phone network (VoIP), the packet collecting device is installed in the Internet phone network (VoIP) all packets The purpose of the present invention is to provide a VoIP packet information retrieval apparatus and method capable of real-time network management by dividing the packet information into a DB by capturing the packet information based on a capture time and dividing a search query for the packet information.

또한, 상기와 같이 실시간으로 발생되는 패킷의 방대한 양을 처리하기 위하여 종래에는 한 백본스위치에 여러 대의 패킷측정기(Probe)를 설치하여 많은 설치비용 소모과 결과의 취합(Merging)의 복잡성을 극복하기 위하여, 백본 스위치에 보다 적은 패킷수집장치만을 설치하고 일괄적으로 처리함으로써 설치비용 감소와 운용의 단순화를 꾀하는 VoIP 패킷정보 검색장치 및 방법을 제공함을 목적으로 한다.In addition, in order to deal with a large amount of packets generated in real time as described above, in order to overcome the complexity of merging a lot of installation cost and result by installing several packet probes (Probe) in one backbone switch, It is an object of the present invention to provide a VoIP packet information retrieval apparatus and method for reducing installation cost and simplifying operation by installing only a small number of packet collecting devices in a backbone switch and processing them collectively.

또한, 상기와 같이 종래는 방대한 패킷을 처리하는 시간이 많이 걸려 실시간이라 하더라도 다소 발생시간보다는 늦은 정보를 생성하여 보여주었으나, 이를 극복하여 거의 실시간에 가까운 VoIP 망의 호흐름 및 성능상황을 보여주는 VoIP 패킷정보 검색장치 및 방법을 제공함을 목적으로 한다.In addition, as described above, although it takes a lot of time to process a large packet, even in real time, the information is generated later than the time of occurrence, but the information is shown, but VoIP which shows the call flow and performance situation of the near-real-time VoIP network is overcome. An object of the present invention is to provide a packet information retrieval apparatus and method.

또한, 종래에는 사전에 필요하거나 특정화된 패킷정보나 아주 짧은 시간만의 패킷정보만을 다루어, VoIP 망 관리자가 검색할 수 있는 형태가 제한적인 것을 극복하여, 일정시간동안 패킷정보를 전부 보관함으로써 VoIP 망 관리자가 원하는 거 의 모든 형태의 패킷정보를 검색할 수 있는 VoIP 패킷정보 검색장치 및 방법을 제공함을 목적으로 한다.In addition, in the prior art, only the packet information required or specified in advance or packet information for a very short time is dealt with, and the form that the VoIP network manager can search is overcome, thereby preserving all the packet information for a predetermined time. It is an object of the present invention to provide a VoIP packet information retrieval apparatus and method for retrieving almost any type of packet information desired by an administrator.

상기 목적을 달성하기 위한 본 발명인 패킷정보에 대한 DB분할 및 쿼리분할을 통한 호흐름 검색 장치는, 인터넷전화망(VoIP)에 연결된 백본 스위치에 연결되어 VoIP 망에 전송되는 모든 패킷을 캡쳐(Mirroring)하는 패킷수집부와, 패킷정보를 저장할 수 있는 테이블로서 동일한 구조로 다수의 패킷정보 테이블을 구성하고 있는 패킷정보DB, 수집된 패킷들을 패킷정보DB의 패킷정보 테이블에 구조에 맞게 변환하여 상기 테이블에 저장하는 패킷정보 생성부, 호흐름과 관련한 패킷정보를 검색하기 위한 쿼리를 패킷정보 테이블의 구조에 맞게 분할하여 쿼리를 최적화한 후 상기 패킷정보DB에 쿼리요청을 하는 호흐름 검색단말을 포함하는 것을 특징으로 한다.Call flow retrieval apparatus through DB partitioning and query splitting for packet information, which is the present invention for achieving the above object, is connected to a backbone switch connected to an Internet telephone network (VoIP) to capture all the packets transmitted to the VoIP network (Mirroring) The packet collecting unit and the packet information DB, which constitute a plurality of packet information tables in the same structure as a table for storing the packet information, and convert the collected packets into the packet information table of the packet information DB according to the structure and store them in the table. Packet information generation unit, and a call flow search terminal for querying the packet information DB after optimizing the query by dividing a query for searching packet information related to a call flow according to the structure of a packet information table It is done.

상술한 바와 같이, 본 발명은 인터넷전화망(VoIP)에 패킷수집장치를 설치하여 모든 패킷을 캡쳐(Mirroring)하여 패킷정보를 캡쳐시간 기준으로 분할하여 DB화하고 패킷정보에 대한 요청 쿼리를 분할하여 수행함으로써, 인터넷전화망(VoIP)의 호흐름 현황파악과 성능분석을 실시간으로 처리할 수 있게 하였다. 종래에는 패킷분석장치의 방대한 패킷정보에 대한 처리의 한계와 기술적 구성의 한계로 인하여 사실상 실시간 처리를 제공해 줄 수 없었던 난제였다. 특히, 향후 VoIP 망이 보편 화가 되고 그 패킷양이 더욱 급격히 늘어날 경우 본 발명이 제시하는 해결책으로 이를 극복할 수 있을 것이다.As described above, the present invention installs a packet collecting device in a VoIP network, captures all packets, divides packet information based on a capture time, makes a DB, and splits a request query for packet information. By doing so, it is possible to process the call flow status and performance analysis of VoIP in real time. In the past, due to the limitations of the processing of the vast packet information of the packet analysis device and the limitations of the technical configuration, the real-time processing could not be provided. In particular, if the VoIP network becomes universal in the future and the amount of packets increases more rapidly, the solution proposed by the present invention may overcome this problem.

특히, 패킷전체를 처리하게 되면 DB테이블의 크기가 방대해지고, 그 크기가 어느 정도 커지면 DBMS의 처리속도가 급격히 늦어지게 된다. 본 발명은 테이블을 분할하여 처리함으로써 상기와 같은 문제점을 해결하고, 방대한 양의 전체 패킷정보 검색이 가능한 장치와 방법을 제시하고 있다.In particular, if the entire packet is processed, the size of the DB table is enormous, and if the size is increased to some extent, the processing speed of the DBMS is drastically slowed. The present invention solves the above problems by dividing and processing a table, and proposes an apparatus and method capable of retrieving a large amount of total packet information.

또한, 테이블을 분할함에 있어, 패킷이 생성되는 시간을 기준으로 분할함으로써, 보다 효과적으로 검색할 수 있는 쿼리로 최적화가 가능하도록 하는 장치와 방법을 제시하고 있다.In addition, in partitioning a table, an apparatus and a method for optimizing a query that can be searched more effectively by dividing based on a time when a packet is generated are proposed.

또한, 일정기간 동안 패킷정보를 전부 보관하고 검색속도도 향상시켜 검색시간이 많이 걸리는 검색도 즉시 실행할 수 있도록 하였기 때문에, VoIP 망 관리자가 원하는 거의 모든 형태의 패킷정보를 검색할 수 있게 되었다. 통상적으로 30일정도의 통신자료를 보관하면 VoIP 통신에서 발생되는 대부분의 상황 및 문제점들을 파악해 낼 수 있고, 패킷정보에서 필요한 모든 데이터를 저장할 수 있기 때문에 VoIP 망 관리자에게 필요한 모든 정보를 제공해 줄 수 있다고 해도 무리는 아니다. 또한 데이터의 일부분만 매칭하는 검색 등은 일반적으로도 검색시간이 많이 소요되는데, 패킷정보가 방대하여 이런 검색은 종래의 기술상 거의 짧은 시간내 검색이 불가능하여 검색에 일정한 제약이 있을 수밖에 없었다. 그러나 본 발명은 이러한 검색도 아주 짧은 시간내에 처리가 가능하므로, VoIP 망 관리자가 사실상 필요한 모든 검색을 제공해 줄 수 있다.In addition, since all packet information is kept for a certain period of time, and the search speed is improved, a search that takes a long time can be executed immediately. Thus, almost any type of packet information desired by the VoIP network manager can be retrieved. In general, if you store 30 days of communication data, you can identify most situations and problems that occur in VoIP communication and store all the necessary data in packet information. It is not too difficult. In addition, a search that matches only a part of the data generally takes a lot of searching time. Due to the large packet information, such a search cannot be searched in a short time in the related art, and thus there is no limit to the search. However, the present invention can process such a search in a very short time, so that the VoIP network manager can provide virtually all the necessary searches.

또한, 본 발명은 방대한 양의 패킷에 대한 수집은 다수의 패킷수집장치에서 캡쳐하고 필요한 패킷정보만을 추출하여 그 양을 상당히 축소하여 DB화하고, 가장 기초가 되는 패킷정보에 대해 DB서버가 주되게 관리하고, 관련된 검색쿼리 등은 단말에서 처리하여, 방대한 양을 처리하기 위하기 위하여 각 기능을 분할함으로써, 자원을 보다 효율적으로 사용한다.In addition, the present invention is to collect a large amount of packets from a plurality of packet collecting devices and extract only the necessary packet information, significantly reduced the amount of DB to the database, the DB server for the most basic packet information The terminal manages the related search query and the like, and divides each function in order to process a large amount, thereby using resources more efficiently.

본 발명을 이용한다면 VoIP 망 사업자는 호 흐름을 거의 실시간으로 파악이 가능하므로, 장애가 발생하였거나 사용자가 불편에 대한 요구가 발생하였을 경우, 빠른 시간내에 그 문제를 찾아낼 수 있고 그 해결책을 제시해 줄 수 있게 된다. 따라서 VoIP 망 사업자는 본 발명의 장치와 방법을 통해 사용자에게 일정한 서비스 수준을 유지하여 제공할 수 있게 된다.According to the present invention, since the VoIP network operator can grasp the call flow in near real time, when a failure occurs or a user needs a discomfort, the VoIP network service provider can quickly find the problem and provide a solution. Will be. Therefore, the VoIP network operator can maintain and provide a certain service level to the user through the apparatus and method of the present invention.

또한, 본 발명의 다른 일실시예를 통해, 클라이언트에게 복잡한 분할된 테이블의 내부구조를 노출시키지 않고 내부적으로 이를 처리하게 하여, 클라이언트에서 구현되는 패킷정보 검색과 관련된 프로그램의 작성을 단순하게 하고, 서버의 내부 테이블 구조변경에서 자유로워지게 하여, 유지보수를 편리하게 하였다.In addition, through another embodiment of the present invention, it is possible to process the internally without exposing the internal structure of the complex partitioned table to the client, simplifying the creation of a program related to the packet information search implemented in the client, the server It is free from modification of the internal table structure, which makes maintenance easy.

이하, 패킷정보에 대한 DB분할 및 쿼리분할을 통한 호흐름 검색 장치 및 방법을 참조도면을 통하여 상세히 설명하고자 한다.Hereinafter, an apparatus and method for searching call flows through DB partitioning and query partitioning for packet information will be described in detail with reference to the accompanying drawings.

도 5는 본 발명의 패킷정보 검색장치의 바람직한 일실시예의 구성을 도시한 것이다.5 is a block diagram showing a preferred embodiment of the packet information retrieval apparatus of the present invention.

도 5에 보는 바와 같이, 본 발명의 패킷정보 검색장치는 패킷정보DB(220) 와, 패킷수집부(210)와 패킷정보 생성부(230)로 구성된 다수의 패킷수집장치(201), 다수의 호흐름 단말(250)로 구성되어 있다.As shown in FIG. 5, the packet information retrieval apparatus of the present invention includes a packet information DB 220, a plurality of packet collecting apparatuses 201, and a plurality of packet collecting apparatuses 201 including a packet collecting unit 210 and a packet information generating unit 230. Call flow terminal 250 is configured.

상기 패킷수집장치(201)는 인터넷전화망(VoIP)(130)의 백본스위치(132)에 연결되어 패킷을 수집하여 패킷정보를 추출하여 주기적으로 패킷정보DB(220)에 저장한다. 패킷수집장치(201)는 백본스위치(132)에 여러 대를 물릴 수 있다. 즉, 패킷수집장치(201)는 백본스위치(132)에 패킷을 캡쳐할 수 있는 곳에 여러 대를 물려 전체 패킷을 미러링할 수 있게 설치하고 필요한 패킷정보만 패킷정보DB(220)에 모으는 작업을 수행하는 장치이다.The packet collecting device 201 is connected to the backbone switch 132 of the Internet telephone network (VoIP) 130, collects packets, extracts packet information, and periodically stores the packet information in the packet information DB 220. The packet collecting device 201 may bite a plurality of backbone switches 132. In other words, the packet collecting device 201 is installed in the backbone switch 132 so that the entire packet can be mirrored by placing a plurality of places to capture the packet, and collects only the necessary packet information in the packet information DB (220) Device.

상기 패킷수집부(210)는 인터넷전화망(VoIP)(130)의 백본스위치(132)에 연결되어 백본스위치(132)에서 전송되는 모든 패킷을 캡쳐(Mirroring)한다. 보통 백본스위치(132)에 단위 VoIP 망들이 연결되어 스위칭되고 백본스위치(132)도 다른 백본스위치(132)에 연결되기도 한다. 이때 패킷수집부(210)는 한 백본스위치(210)에 하나가 연결되어 패킷을 수집할 수 있다. 패킷수집부(210)에 모든 패킷을 미러링하여 패킷을 캡쳐한 시간과 함께 임시파일에 저장한다. 패킷을 캡쳐한 시간이 패킷의 생성시간으로서 다루게 되는 시간값으로서, 패킷정보 검색에 유용하게 이용되는 정보이다. 임시파일에는 짧은 시간동안만 보관되지만 패킷정보를 DB화 할 수 있는 시간보다는 오래 보관한다. 이는 지속적으로 전송되는 패킷을 계속 캡쳐하여 보관하기 위하여 무한정 큰 임시저장 공간을 확보할 수 없기 때문이다.The packet collector 210 is connected to the backbone switch 132 of the VoIP 130 to capture all packets transmitted from the backbone switch 132. Normally, the unit VoIP networks are connected to the backbone switch 132 and switched, and the backbone switch 132 is also connected to another backbone switch 132. At this time, the packet collector 210 may be connected to one backbone switch 210 to collect packets. All packets are mirrored to the packet collector 210 and stored in a temporary file along with the time at which the packets were captured. The time at which the packet is captured is a time value to be treated as the generation time of the packet, which is useful for packet information retrieval. Temporary files are kept for only a short time, but they are kept longer than the packet information can be DBized. This is because an infinitely large temporary storage space cannot be secured in order to continuously capture and store continuously transmitted packets.

패킷정보DB(220)는 패킷정보를 저장할 수 있는 테이블로서 동일한 구조로 다수의 패킷정보 테이블을 구성하고 있다.The packet information DB 220 is a table capable of storing packet information and constitutes a plurality of packet information tables with the same structure.

패킷정보DB(220)의 구조에 대하여 도 6을 참조하여 보다 상세하게 설명하고자 한다. 도 6a는 패킷정보DB(220)의 구조에 대한 바람직한 일실시예이고, 도 6b는 패킷정보 테이블의 구조에 대한 바람직한 일실시예이다. 패킷정보DB(220)는 M개의 패킷정보 테이블(221)로 구성되고, 이 패킷정보 테이블(221)들은 모두 동일한 구조를 가진다. 즉, 테이블의 필드명이나 그 필드의 크기 등 그 구조가 동일할 뿐만 아니라, 테이블의 크기, 즉 레코드의 수도 R 개로 동일하게 구성된다. 패킷정보 테이블(221)의 개수와 크기(한 테이블당 레코드의 개수)는 수집되는 패킷의 수량과 DB 쿼리를 했을 경우 처리속도, 그리고, 패킷정보를 보관해야 하는 기간에 의하여 결정된다. 예를 들어 하루에 1억 5천만개의 패킷을 수집하는 경우를 살펴보기로 한다. 테이블의 레코드 수가 증가하면 이 테이블에 대한 쿼리 속도는 늦어지게 된다. 사용자에게 쿼리를 처리해줘야 하는 시간에 의하여 이 레코드 수는 결정된다. 여기의 예에서는 패킷정보 테이블(221)의 레코드 수는 약 100만개 정도로 구성한다. 그리고 패킷정보를 30일전 데이터까지 보관하는 정책을 결정하면, 패킷정보 테이블(221)의 개수는 약 5500개 ( = 30일 * 1억 5천만개 / 100만개 ) 정도로 결정되는 것이다.The structure of the packet information DB 220 will be described in more detail with reference to FIG. 6. FIG. 6A is a preferred embodiment of the structure of the packet information DB 220, and FIG. 6B is a preferred embodiment of the structure of the packet information table. The packet information DB 220 is composed of M packet information tables 221, and these packet information tables 221 all have the same structure. That is, not only the structure of the field name and the size of the field is the same, but also the size of the table, that is, the number of records is the same. The number and size of the packet information table 221 (the number of records per table) are determined by the number of packets to be collected, the processing speed when a DB query is made, and the period during which the packet information should be stored. For example, consider collecting 150 million packets per day. As the number of records in a table increases, the query speed for this table slows down. The number of records is determined by the amount of time the query must be processed for the user. In this example, the number of records in the packet information table 221 is about 1 million. If the policy of storing the packet information up to 30 days ago is determined, the number of the packet information table 221 is determined to be about 5500 (= 30 days * 150 million / 1 million).

패킷정보 테이블(221)의 구조는 도 6b에서 보는 바와 같이, < Call ID >, < 발신전화번호 >, < 수신전화번호 >, < 소스 IP/Port >, < 목적 IP/Port >, < 메소드 >, < 생성시간 >, < 전화단말정보 > 로 구성된다. 호(Call)와 관련된 정보인 < Call ID >, < 메소드 >, < 전화단말 정보 >, < 발신전화번호 >, < 수신전화번호 > 등은 VoIP 프로토콜의 호와 관련된 정보이고, < 소스 IP/Port >와 < 목적 IP/Port > 는 장비들간 전송될 때의 장비들에 관한 정보이다. < 생성시간 > 은 패킷을 캡쳐할 때 저장된 시간이다.As shown in FIG. 6B, the packet information table 221 has a structure of <Call ID>, <Calling ID>, <Incoming Call Number>, <Source IP / Port>, <Destination IP / Port>, and <Method>. , <Generation time>, and <telephone information>. Call related information such as <Call ID>, <Method>, <Phone Terminal Information>, <Outgoing Call Number>, and <Incoming Call Number> are information related to calls of VoIP protocol, and <Source IP / Port > And <Destination IP / Port> are information about devices when they are transmitted between devices. <Generation time> is the time saved when capturing the packet.

각 패킷정보 테이블(221)은 생성시간 기준으로 저장대상 범위가 정해져 있고 다수의 패킷정보 테이블(221)은 시간기준 저장범위에 따라 순서가 정해진다. 예를 들면, 최초의 패킷캡쳐를 12:00부터 수행하고, 패킷정보 테이블(221)의 시간기준 저장범위를 10분단위로 정한다고 하자. 그러면 첫 번째의 패킷정보 테이블(221)은 12:00부터 12:10까지에 캡쳐되는 패킷정보만 저장하고, 이 테이블의 시간기준 저장범위는 12:00부터 12:10까지가 된다. 두 번째의 테이블에는 12:11부터 12:20까지에 캡쳐되는 패킷정보만 저장되고, 그 시간기준 저장범위는 12:11부터 12:20까지가 된다. 이는 패킷정보의 생성시간 값이 그 패킷정보가 저장되는 테이블의 시간기준 저장범위에 포함된다는 의미이기도 하다. 각 패킷정보테이블은 시간기준 저장범위가 정해져 있고, 저장범위단위가 일정한 경우는 최초 시간만 가지고 있어도 저장범위를 알 수 있다. 상기 저장범위단위는 캡쳐되는 패킷의 수에 따라 임의로 조정될 수 있다. 즉, 저장범위 단위시간당 패킷수가 테이블의 레코드 수를 넘는다면 저장범위단위는 더 늘어나야 한다.Each packet information table 221 has a storage target range determined on a generation time basis, and a plurality of packet information tables 221 are ordered according to a time reference storage range. For example, suppose that the first packet capture is performed from 12:00 and the time reference storage range of the packet information table 221 is set in units of 10 minutes. Then, the first packet information table 221 stores only packet information captured from 12:00 to 12:10, and the time reference storage range of this table is from 12:00 to 12:10. In the second table, only packet information captured from 12:11 to 12:20 is stored, and the time base storage range is from 12:11 to 12:20. This also means that the generation time value of the packet information is included in the time base storage range of the table in which the packet information is stored. Each packet information table has a time-based storage range. If the storage range unit is constant, the storage range can be known even with the initial time. The storage range unit may be arbitrarily adjusted according to the number of packets to be captured. In other words, if the number of packets per storage unit time exceeds the number of records in the table, the storage unit must be increased.

패킷정보 생성부(230)는 상기 패킷수집부(210)에서 수집된 패킷들에서 필요한 정보와 패킷의 생성시간을 패킷정보 테이블(221)의 구조에 맞게 변환하여 상기 테이블에 저장한다. 1 ~ M 번째까지의 패킷정보 테이블(221)에서 저장되는 테이블의 순서는 테이블의 저장범위의 시간에 따라 정해진다. 각 패킷정보 테이블(221)에는 시간기준 저장범위가 정해진다. 앞서본 바와 같이, 10분단위로 패킷정보 테이 블(221)을 분할한다면, 최초시간부터 10분후까지는 제 1 번째 테이블에, 그 다음 10분후부터 20분후까지는 제 2 번째 테이블에 저장된다. 그러나 다른 실시예로서, 처음 들어오는 패킷정보는 1번째 패킷정보 테이블(221)에 저장되고, 이 테이블이 꽉 차면 다음 테이블, 즉 2번째 패킷정보 테이블(221)에 저장된다. 전자의 방법은 테이블에 모두 이용할 수 없다는 단점이 있으나 각 테이블의 생성시간범위 계산이 간단한 것이 장점이며, 후자의 방법은 장단점이 반대가 된다. 양 경우 모두, M번째 패킷정보 테이블(221)까지 모두 저장된다면 다시 1번째 패킷정보 테이블(221)부터 저장된다. 이 경우 처음에 저장된 패킷정보는 소실되게 된다. 즉, 패킷정보는 일정시간만 보관하게 된다. 패킷정보 생성부(230)에서 수집된 패킷들를 저장하는 프로세스는 일정시간 간격으로 주기적으로 반복된다. 즉, 패킷수집부(210)에서 일정시간동안 패킷을 수집하여 임시파일에 저장하여 보관하면, 패킷정보 생성부(230)가 주기적으로 패킷정보를 패킷정보 테이블(221)에 저장하게 된다.The packet information generation unit 230 converts the information required from the packets collected by the packet collection unit 210 and the generation time of the packet according to the structure of the packet information table 221 and stores them in the table. The order of the tables stored in the packet information table 221 from the 1st to the Mth is determined according to the time of the storage range of the table. In each packet information table 221, a time-based storage range is determined. As described above, if the packet information table 221 is divided into units of 10 minutes, the packet information table 221 is stored in the first table from 10 minutes after the first time to the second table after 10 minutes to 20 minutes. However, as another embodiment, the first incoming packet information is stored in the first packet information table 221, and when this table is full, it is stored in the next table, that is, the second packet information table 221. The former method has the disadvantage that it cannot be used for all the tables, but the advantage of simple calculation of the generation time range of each table is the advantage. The latter method has the opposite advantages and disadvantages. In both cases, if up to the M th packet information table 221 is stored, it is stored from the first packet information table 221 again. In this case, the initially stored packet information is lost. That is, the packet information is kept only for a certain time. The process of storing the packets collected by the packet information generator 230 is repeated at regular intervals. That is, when the packet collecting unit 210 collects a packet for a predetermined time and stores the packet in a temporary file, the packet information generating unit 230 periodically stores the packet information in the packet information table 221.

호흐름 단말(250)은 패킷정보DB(220)와 서버에 대한 클라이언트의 관계이다. 즉, 호흐름 단말(250)은 클라이언트로서 패킷정보DB(220)에 필요한 패킷정보에 대한 쿼리로 요청하면, 패킷정보DB(220)는 그 쿼리를 처리해준다. 그래서 호흐름 단말(250)은 필요한 검색된 패킷정보를 얻게 된다. 패킷정보의 < 발신전화번호 > 와 < 수신전화번호 > 등에 의해 호가 결정되고, 각 호간 내에서 지나가는 VoIP 장비(150)들은 < 소스 IP/Port > 와 < 목적 IP/Port > 에 의해 결정된다. 호흐름은 동일한 < 발신전화번호 > 와 < 수신전화번호 > 를 갖는 패킷정보를 모두 검색함으로써, 호흐름 내에 어떤 VoIP 장비를 거치는지 등 호흐름을 검색해 낼 수 있다.The call flow terminal 250 is a relationship between the packet information DB 220 and the client with respect to the server. That is, when the call flow terminal 250 requests a packet information request to the packet information DB 220 as a client, the packet information DB 220 processes the query. So the call flow terminal 250 obtains the necessary retrieved packet information. Calls are determined by <calling phone number> and <receiving phone number> of the packet information, and VoIP equipments 150 passing through each call are determined by <source IP / Port> and <destination IP / Port>. The call flow can retrieve the call flow, such as which VoIP equipment is passed through the call flow, by searching for all packet information having the same <outgoing call number> and <received call number>.

호흐름 단말(250)에서 패킷정보DB(220)에 요청하는 쿼리는 도 7을 통해 보다 상세히 기술하고자 한다. 도 7은 호흐름 단말(250)에서 사용자가 요청하는 쿼리를 분할최적화하는 예시도이다.The query requesting the packet information DB 220 from the call flow terminal 250 will be described in more detail with reference to FIG. 7. 7 is an exemplary diagram of partition optimization of a query requested by a user in the call flow terminal 250.

패킷정보DB(220)에 요청하는 쿼리는 원시검색쿼리(310)와 분할된 쿼리(320)로 구분된다. The query requesting the packet information DB 220 is divided into the original search query 310 and the divided query 320.

원시검색쿼리(310)는 패킷정보DB(220)의 분할된 다수의 패킷정보테이블(221)을 하나의 테이블로 간주하여 쿼리를 작성한 것이다. 즉, 도 7에서 보는 바와 같이, 원시검색쿼리(310)의 쿼리문인 FROM < 테이블명 >에서 < 테이블명 > 이 < DayRegi > 로 전체 테이블명으로 기재된다.The original search query 310 creates a query considering the divided packet information tables 221 of the packet information DB 220 as one table. That is, as shown in FIG. 7, in the FROM <table name> which is a query statement of the source search query 310, <table name> is described as <DayRegi> as the full table name.

분할된 검색쿼리(320)는 원시검색쿼리(310)를 분할된 다수의 패킷정보테이블(221)의 구조에 맞게 쿼리를 분할하여 작성한 검색쿼리이다. 원시검색쿼리(310)를 분석하여 쿼리에서 참조하는 패킷정보 테이블(221)이 어느 것인지를 결정하고 결정된 테이블별로 쿼리를 각각 작성한다. 원시검색쿼리(310)에서 어느 패킷정보 테이블(221)을 참조하느냐는 것은 쿼리의 조건문인 WHERE 절의 < 생성시간 > 조건에 의해 결정된다. 즉, 패킷정보 테이블(221)은 시간기준 저장범위로 분할되어 있으므로, 원시검색쿼리(310)의 생성시간 조건내의 패킷정보들을 저장하는 테이블들이 이에 해당한다. 예를 들면, 도 7의 예에서 쿼리의 조건이 < 생성시간 > 이 3시 10분에서 4시 30분 사이이면, 패킷정보 테이블(221)의 시간기준 저장범위가 이와 겹치는 테이블은 모두 해당된다.The divided search query 320 is a search query created by dividing a query according to the structure of the plurality of divided packet information tables 221 using the original search query 310. The source search query 310 is analyzed to determine which packet information table 221 is referenced in the query, and a query is prepared for each determined table. Which packet information table 221 is referenced in the source search query 310 is determined by the <creation time> condition of the WHERE clause which is a conditional statement of the query. That is, since the packet information table 221 is divided into a time reference storage range, tables for storing packet information in the generation time condition of the source search query 310 correspond to this. For example, in the example of FIG. 7, if the condition of the query is 3:10 to 4:30, all tables in which the time reference storage range of the packet information table 221 overlaps with each other are applicable.

겹치는 패킷정보 테이블(221)별 쿼리 작성은 다음과 같다. 쿼리의 내용은 < 테이블명 > 과 < 생성시간 > 항목만을 제외하고는 동일하다. < 테이블명 > 은 겹치는 패킷정보 테이블(221)의 이름으로 대체된다. < 생성시간 > 조건은 겹치는 패킷정보 테이블(221)의 시간기준 저장범위내로 좁힌다. 그 이유는 각 테이블은 패킷정보의 생성시간이 시간기준 저장범위 내에 들어오는 패킷만 저장하기 때문이다. 예를 들면, 도 7에서 보는 바와 같이, 테이블 < DayRegi-L > 이 4시20분부터 4시 30분까지 생성된 패킷정보를 가지고 있다면, 이 테이블에 대한 쿼리 조건을 < 4시 20분부터 4시 25분까지 > 로 정하면 된다. 또한, 상기 테이블별 쿼리(321)의 조건문에서 생성시간을 제일 먼저 기재함으로써도 쿼리의 최적화를 수행한다. 그 이유는 생성시간 항목이 검색에서 인덱스 역할을 하기 때문에 DB에서 보다 빠른 검색을 수행할 수 있다. 상기와 같이, 각 테이블에 대한 테이블별 쿼리(321)가 만들어지면, 이를 전체로 합치는 UNION 명령어를 이용하여 전체 결과를 묶도록 한다. 결론적으로, 원시검색쿼리(310)를 분할된 쿼리(320)로 분할하는 것은 단순히 모든 패킷정보 테이블(221)에 대하여 분할하는 것이 아니라, 해당 테이블인지의 여부판단과 생성시간의 쿼리조건에 대하여 쿼리의 최적화를 수행한다.A query for each overlapping packet information table 221 is as follows. The contents of the query are the same except for the <table name> and <create time> items. <Table name> is replaced with the name of the overlapping packet information table 221. The condition of <creation time> is narrowed within the time reference storage range of the overlapping packet information table 221. This is because each table stores only packets whose packet information generation time falls within the time base storage range. For example, as shown in FIG. 7, if the table <DayRegi-L> has packet information generated from 4:20 to 4:30, the query condition for this table is <4:20 to 4 You can set> to 25 minutes. In addition, the query optimization is also performed by first writing the creation time in the conditional statement of the query for each table 321. The reason is that the creation time item can serve as an index in the search, so the search can be performed faster in the DB. As described above, when a table-specific query 321 is generated for each table, the entire results are bundled using a UNION command that combines them as a whole. In conclusion, the partitioning of the raw search query 310 into the partitioned query 320 is not simply partitioned for all the packet information tables 221, but the query for the query condition for determining whether or not the table and the generation time. Performs optimization.

상기와 같이, 쿼리를 분할하여 UNION 명령어를 이용하여 쿼리를 재구성하면 쿼리처리속도가 획기적으로 빨라진다. 테이블의 크기, 즉, 테이블의 레코드 수가 많아질수록 쿼리처리속도는 늦어진다. 그런데, 그 크기가 어느 정도 커지면 쿼리처리속도가 급격히 늦어지는 현상이 발생한다. 이러한 현상은 CPU의 프로세스 처리방법과 메모리 관리 방식에 그 근본적인 원인이 있다. 즉, 레코드의 수가 많아짐에 따라 프로세스의 컨텍스 스위치(Context switch)와 메모리 스왑(Swap)이 통상 CPU 가 처리할 수 있는 것보다 많이 발생되어 처리속도가 급격히 늦어지는 것이다. 따라서 테이블의 크기를 급격히 늦어지지 않도록 일정크기로 제한하여 순차적으로 처리하게 하면, 급격한 처리속도의 저하를 방지할 수 있다.As mentioned above, recomposing a query using the UNION command by dividing the query greatly speeds up the query processing. As the size of the table, i.e. the number of records in the table, increases, the query processing speed slows down. However, if the size increases to some extent, the query processing speed may be drastically slowed down. This phenomenon is attributable to how the CPU processes and manages memory. In other words, as the number of records increases, more process context switches and memory swaps occur than can be handled by the CPU. Therefore, if the size of the table is limited to a certain size so as not to be suddenly delayed, and the processing is performed sequentially, a sudden drop in processing speed can be prevented.

호흐름 단말(250)은 상기 분할된 검색쿼리가 생성되면 이 쿼리를 패킷정보DB에 요청하고 그 결과를 받아, 호흐름에 대한 정보를 재구성한다. 패킷정보DB에는 일정기간 전까지는 거의 모든 패킷정보가 있으므로 원하는 정보를 어느 형태로든지 추출하여 볼 수 있다. 또한 쿼리처리가 속도가 빠르기 때문에, 데이터의 단어 일부만 매칭이 되는 검색 등 시간이 많이 소요되는 쿼리들도 사용자가 속도저하를 심히 느끼지 않고도 그 결과를 볼 수 있다. 즉, 관리자가 원하는 형태는 거의 대부분을 쿼리로 구성할 수 있게 된다.When the split search query is generated, the call flow terminal 250 requests the query from the packet information DB and receives the result, and reconstructs the information about the call flow. Since the packet information DB contains almost all packet information until a certain period, the desired information can be extracted and viewed in any form. In addition, because the query processing is fast, even time-consuming queries such as a search where only a part of a word of data is matched can be seen without the user feeling too slow. In other words, almost any form desired by an administrator can be composed of a query.

상기에 적시한 호흐름 단말(250)은 주로 호 흐름을 분석하고 모니터링하기 위한 목적으로 패킷정보를 검색하는 것이나, 이는 하나의 바람직한 일실시예이며, 다른 목적으로 패킷정보를 검색하는 단말도 이 기술범위에 포함된다고 볼 수 있다.The call flow terminal 250 noted above is for searching packet information mainly for the purpose of analyzing and monitoring call flow, but this is one preferred embodiment, and the terminal for retrieving packet information for other purposes is also described in this technique. It is considered to be included in the range.

도 8은 패킷정보에 대한 DB분할 및 쿼리분할 방법의 바람직한 일실시예에 대한 흐름도이다.8 is a flowchart illustrating a preferred embodiment of a DB partitioning and query partitioning method for packet information.

패킷정보에 대한 DB분할 및 쿼리분할의 방법은 패킷정보DB 분할단계(S410)와, 실시간 패킷캡쳐(Mirroring)단계(S420), 패킷정보 테이블 저장단계(S430), 원시 검색쿼리 생성단계(S440), 분할된 검색쿼리 생성단계(S450), 쿼리요청 및 결과생성단계(S460)로 구성된다.The method of DB partitioning and query partitioning for packet information includes packet information DB partitioning step S410, real time packet capturing step S420, packet information table storing step S430, and raw search query generation step S440. It consists of a divided search query generation step (S450), query request and result generation step (S460).

패킷정보DB 분할단계(S410)는 패킷정보를 저장하는 테이블을 다수의 동일한 패킷정보 테이블로 구성하는 단계를 말한다. 상기 DB테이블은 필드명이나 필드의 크기 등 그 구조가 동일할 뿐만 아니라, 테이블의 크기, 즉 레코드의 수도 동일하게 구성된다. 앞서 살펴본 바와 같이, 패킷정보 테이블의 개수와 크기는 수집되는 패킷의 수량과 DB쿼리를 했을 경우 처리속도, 그리고 패킷정보를 보관해야 하는 기간에 의하여 결정된다. 또한, 패킷정보 테이블의 구성은 < Call ID >, < 발신전화번호 >, < 수신전화번호 >, < 소스 IP/Port >, < 목적 IP/Port >, < 메소드 >, < 시간 >, < 전화단말정보 > 등을 포함한다.The packet information DB dividing step S410 refers to a step of configuring a table for storing packet information into a plurality of identical packet information tables. The DB table not only has the same structure such as field name and field size, but also has the same size of the table, that is, the number of records. As described above, the number and size of the packet information table are determined by the number of packets to be collected, the processing speed when the DB query is performed, and the period of storing the packet information. In addition, the packet information table consists of <Call ID>, <Outgoing Call Number>, <Incoming Call Number>, <Source IP / Port>, <Destination IP / Port>, <Method>, <Time>, <Phone Terminal Information> and the like.

실시간 패킷캡쳐(Mirroring)단계(S420)는 인터넷전화망(VoIP)의 백본스위치에 연결되어 백본스위치(132)에서 전송되는 모든 패킷을 캡쳐(Mirroring)하고 패킷을 캡쳐한 시간과 함께 임시파일에 저장한다. 패킷을 캡쳐한 시간이 패킷의 생성시간으로서 다루게 되는 시간 값으로서, 패킷정보 검색에 유용하게 이용되는 정보이다. 임시파일에는 짧은 시간동안만 보관되지만 패킷정보를 DB화 할 수 있는 시간보다는 오래 보관한다.Real time packet capturing (Mirroring) step (S420) is connected to the backbone switch of the Internet telephone network (VoIP) captures all the packets transmitted from the backbone switch 132 (Mirroring) and stores the packet with the time to capture the packet in a temporary file . The time at which the packet is captured is a time value to be treated as the generation time of the packet, which is useful for packet information retrieval. Temporary files are kept for only a short time, but they are kept longer than the packet information can be DBized.

패킷정보 테이블 저장단계(S430)는 수집된 패킷들과 캡쳐된 시간(생성시간)을 패킷정보DB의 패킷정보 테이블에 그 구조에 맞게 변환하여 저장하며, 다수의 동일한 패킷정보 테이블들에 입력하는 순서는 시간단위로 순차적으로 저장한다. 즉, 각 패킷정보 테이블(221)은 생성시간 기준으로 저장대상 범위가 정해져 있고 다수의 패킷정보 테이블은 시간기준 저장범위에 따라 순서가 정해진다.In the packet information table storing step (S430), the collected packets and the captured time (generation time) are converted into the packet information table of the packet information DB according to its structure and stored, and the input order is input to a plurality of identical packet information tables. Stores sequentially in time units. That is, each packet information table 221 has a storage target range determined on a generation time basis, and a plurality of packet information tables are ordered on a time basis storage range.

더 자세하게는, 패킷정보 테이블이 M개가 있는 경우에는 1 ~ M 번째까지의 패킷정보 테이블에서 저장되는 테이블의 순서는 테이블의 저장범위의 시간에 따라 정해진다. 각 패킷정보 테이블(221)에는 시간기준 저장범위가 정해진다. 10분단위로 패킷정보 테이블을 분할한다면, 최초시간부터 10분후까지는 제 1 번째 테이블에, 그 다음 10분후부터 20분후까지는 제 2 번째 테이블에 저장된다. 그러나 다른 실시예로서, 처음 들어오는 패킷정보는 1번째 패킷정보 테이블(221)에 저장되고, 이 테이블이 꽉 차면 다음 테이블, 즉 2번째 패킷정보 테이블(221)에 저장된다. 양 경우 모두, M번째 패킷정보 테이블(221)까지 모두 저장된다면 다시 1번째 패킷정보 테이블(221)부터 저장된다. 이 경우 처음에 저장된 패킷정보는 소실되게 된다. 즉, 패킷정보는 일정시간만 보관하게 된다. 상기 패킷정보 테이블 저장단계(S430)는 일정시간 간격으로 주기적으로 반복된다. 즉, 실시간 패킷캡쳐단계(S420)에서 일정시간동안 패킷을 수집하여 임시파일에 저장하여 보관하면, 주기적으로 패킷정보를 패킷정보 테이블에 저장하게 된다.In more detail, when there are M packet information tables, the order of the tables stored in the 1st to Mth packet information tables is determined according to the time of the storage range of the table. In each packet information table 221, a time-based storage range is determined. If the packet information table is divided into 10-minute units, the packet information table is stored in the first table from the first time to 10 minutes later and in the second table from 10 minutes to 20 minutes later. However, as another embodiment, the first incoming packet information is stored in the first packet information table 221, and when this table is full, it is stored in the next table, that is, the second packet information table 221. In both cases, if up to the M th packet information table 221 is stored, it is stored from the first packet information table 221 again. In this case, the initially stored packet information is lost. That is, the packet information is kept only for a certain time. The packet information table storing step S430 is periodically repeated at regular time intervals. That is, in the real time packet capture step (S420), if the packet is collected for a predetermined time and stored in a temporary file, the packet information is periodically stored in the packet information table.

상기 원시 검색쿼리 생성단계(S440)는 패킷정보DB의 패킷정보테이블이 하나의 테이블인 것으로 간주하여 필요로 하는 패킷정보에 대한 쿼리를 작성하는 단계이다. 패킷정보 테이블은 다수로 나뉘어져 있지만, 그 구조가 동일하므로 개념적으로 하나의 테이블로 간주할 수 있다. 특히, 클라이언트 입장에서는 생성시간에 따라 어느 테이블인지 인지할 필요가 없이 개념적으로 필요한 쿼리를 작성할 수 있는 이점이 있다. 즉, 원시검색쿼리의 쿼리문인 FROM < 테이블명 > 에서 < 테이블명 > 이 전체 테이블명으로 기재된다.The raw search query generation step (S440) is a step of writing a query for the packet information required by considering that the packet information table of the packet information DB is one table. The packet information table is divided into a plurality, but since the structure is the same, it can be conceptually regarded as one table. In particular, the client has the advantage of being able to write conceptually necessary queries without having to know which table according to the creation time. In other words, in FROM <table name> which is a query statement of a source search query, <table name> is written as the full table name.

상기 분할된 검색쿼리 생성단계(S450)는 작성된 원시검색쿼리를 각 테이블별로 분할하여 검색쿼리로 변환하고, 생성시간에 대한 조건문을 각 테이블의 시간기 준 저장범위에 따라 그 값을 조정한다.The split search query generation step (S450) divides the created raw search query into each table and converts it into a search query, and adjusts the value according to the time-based storage range of each table.

더 상세하게는, 분할된 검색쿼리 생성단계(S450)는 패킷정보DB의 각 테이블에 대한 시간기준 저장범위에 대한 정보를 가져오는 단계(S451)와, 시간기준 저장범위가 원시검색쿼리의 생성시간 조건과 겹치는 패킷정보 테이블들을 결정하는 단계(S452), 결정된 테이블들에 대하여 해당 테이블만 참조하는 테이블별 쿼리를 작성하는 단계(S453), 각 테이블별 쿼리내 조건문에서 생성시간 조건을 테이블의 시간기준 저장범위 안에 포함되도록 조정하는 단계(S454), 각 테이블별 쿼리내 조건문에서 생성시간 조건을 쿼리내 조건들 중 제일 앞에 기재하는 단계(S455), 작성된 모든 테이블별 쿼리를 UNION 명령어로 병합하여 분할된 검색쿼리를 생성하는 단계(S456)를 포함한다.More specifically, the divided search query generation step (S450) is a step (S451) of obtaining information on the time-based storage range for each table of the packet information DB, and the time-based storage range is the generation time of the raw search query Determining the packet information tables overlapping with the condition (S452), creating a query for each table referencing only the table with respect to the determined tables (S453), the generation time condition in the conditional statement in the query for each table, the time base of the table Adjusting to be included in the storage range (S454), the step of writing the creation time condition in the first condition of the query in the query for each table (S455), merged all the created query for each table by the UNION command partitioned Generating a search query (S456).

패킷정보 테이블에는 패킷정보의 생성시간에 따라 순차적으로 저장되기 때문에 각 DB테이블의 생성시간 정보는 쿼리를 분할하고 최적화하는데 필요한 중요한 항목이다. 즉, 원시검색쿼리가 참조하는 테이블이 어느 테이블인지는 생성시간의 조건에 해당하는 테이블만 알면 찾을 수 있기 때문이다. 또한 패킷정보 테이블은 생성시간에 따라 순차적으로 저장되기 때문에 원시검색쿼리가 여러 개의 테이블을 참조한다면 일련의 테이블을 참조하게 된다. 각 테이블에 대한 분할쿼리는 원시검색쿼리에 비해, 다른 모든 내용은 동일하고 참조 테이블의 이름이 전체 테이블명에서 해당 테이블 이름만 변환되어 생성된다. 각 테이블에 대한 테이블별 쿼리에서 < 생성시간 > 조건은 쿼리의 최적화를 위하여 재설정한다. 즉, 각 테이블내에서 패킷의 생성시간은 시간기준 저장범위 안에 있으므로, 테이블별 쿼리의 생성시간 조건 은 테이블의 시간기준 저장범위 내로 정한다. 또한, 생성시간 조건을 쿼리의 조건에서 맨 앞으로 가져다 놓는다. 마지막으로, 각 테이블에 대한 테이블별 쿼리가 만들어지면, 이를 전체로 합치는 UNION 명령어를 이용하여 전체 결과를 묶어 분할된 검색쿼리를 만든다.Since the packet information table is stored sequentially according to the packet generation time, the creation time information of each DB table is an important item for partitioning and optimizing a query. In other words, which table the source search query refers to is because only the table corresponding to the creation time condition can be found. Also, since the packet information table is stored sequentially according to the creation time, if the raw search query refers to several tables, it refers to a series of tables. Compared to the raw search query, the split query for each table is created with all other contents being the same and the name of the reference table is converted from only the table name to the corresponding table name. The <creation time> condition in the table-specific query for each table is reset to optimize the query. That is, since the packet generation time in each table is within the time base storage range, the generation time condition of a query for each table is determined within the time base storage range of the table. It also brings the creation time condition to the front of the query condition. Finally, when a table-by-table query is made for each table, a partitioned search query is made by combining the whole results by using the UNION command that combines them as a whole.

쿼리요청 및 결과생성단계(S460)는 상기와 같은 쿼리가 생성되면 이 쿼리를 패킷정보DB에 요청하고 그 결과를 받아, 호흐름에 대한 정보로 재구성한다. 패킷정보DB에는 일정기간 전까지는 거의 모든 패킷정보가 있으므로 원하는 호흐름 정보를 어느 형태로든지 추출하여 볼 수 있다.In the query request and result generation step (S460), when the above query is generated, the query is requested to the packet information DB, and the result is received, and the information is reconstructed into the information on the call flow. Since the packet information DB contains almost all packet information until a certain period, the desired call flow information can be extracted and viewed in any form.

도 9는 본 발명의 호흐름 검색을 위한 패킷정보 검색서버의 일실시예에 대한 구성도이다.9 is a block diagram of an embodiment of a packet information search server for call flow search of the present invention.

도 9에 보는 바와 같이, 본 발명의 패킷정보 검색장치는 패킷수집부(510)와 패킷정보 생성부(530)로 구성된 패킷수집장치(501)와, 패킷정보DB(520)와 검색쿼리처리부(540)로 구성된 패킷정보DB서버(502)를 포함한다.As shown in FIG. 9, the packet information retrieval apparatus of the present invention includes a packet collecting unit 501 including a packet collecting unit 510 and a packet information generating unit 530, a packet information DB 520, and a search query processing unit ( It comprises a packet information DB server 502 composed of 540.

상기 패킷수집장치(501)는 인터넷전화망(VoIP)(130)의 백본스위치(132)에 연결되어 패킷을 수집하여 패킷정보를 추출하여 주기적으로 패킷정보DB(220)에 저장한다. 패킷수집장치(201)는 백본스위치(132)에 여러 대를 물릴 수 있다. 즉, 패킷수집장치(201)는 백본스위치(132)에 패킷을 캡쳐할 수 있는 곳에 여러 대를 물려 전체 패킷을 미러링할 수 있게 설치하고 필요한 패킷정보만 패킷정보DB(220)에 모으는 작업을 수행하는 장치이다.The packet collecting device 501 is connected to the backbone switch 132 of the Internet telephone network (VoIP) 130, collects packets, extracts packet information, and periodically stores the packet information in the packet information DB 220. The packet collecting device 201 may bite a plurality of backbone switches 132. In other words, the packet collecting device 201 is installed in the backbone switch 132 so that the entire packet can be mirrored by placing a plurality of places to capture the packet, and collects only the necessary packet information in the packet information DB (220) Device.

상기 패킷정보DB서버(502)는 패킷정보를 가지는 다수의 패킷정보 테이 블(221)을 실시간 검색이 가능하도록 분할하여 관리하나, 외부 사용자, 즉 호흐름 검색단말(550)에서 내부의 분할을 알 필요없이 하나의 테이블로 간주하여 쿼리를 요청하면 이를 내부 테이블 구조에 맞게 변환하여 검색쿼리에 대한 답변을 준다.The packet information DB server 502 divides and manages a plurality of packet information tables 221 having packet information to enable real-time retrieval, but recognizes the internal division of the external user, that is, the call flow search terminal 550. If you request a query considering it as a table without any need, it converts it to fit the internal table structure and gives the answer to the search query.

보다 자세하게는, 상기 패킷수집부(510)는 인터넷전화망(VoIP)(130)의 백본스위치(132)에 연결되어 백본스위치(132)에서 전송되는 모든 패킷을 캡쳐(Mirroring)한다. 보통 백본스위치(132)에 단위 VoIP 망들이 연결되어 스위칭되고 백본스위치(132)도 다른 백본스위치(132)에 연결되기도 한다. 이때 패킷수집부(510)는 한 백본스위치(210)에 하나가 연결되어 패킷을 수집할 수 있다. 패킷수집부(510)에 모든 패킷을 미러링하여 패킷을 캡쳐한 시간과 함께 임시파일에 저장한다. 임시파일에는 짧은 시간동안만 보관되지만 패킷정보를 DB화 할 수 있는 시간보다는 오래 보관한다.In more detail, the packet collector 510 is connected to the backbone switch 132 of the VoIP 130 to capture all packets transmitted from the backbone switch 132. Normally, the unit VoIP networks are connected to the backbone switch 132 and switched, and the backbone switch 132 is also connected to another backbone switch 132. At this time, the packet collector 510 may be connected to one backbone switch 210 to collect packets. All packets are mirrored to the packet collector 510 and stored in a temporary file along with the time at which the packets were captured. Temporary files are kept for only a short time, but they are kept longer than the packet information can be DBized.

상기 패킷정보DB(520)는 패킷정보를 저장할 수 있는 테이블로서 동일한 구조로 다수의 패킷정보 테이블을 구성하고 있다. 패킷정보 테이블(221)의 구조는 < Call ID >, < 발신전화번호 >, < 수신전화번호 >, < 소스 IP/Port >, < 목적 IP/Port >, < 메소드 >, < 생성시간 >, < 전화단말정보 > 로 구성된다. 호(Call)와 관련된 정보인 < Call ID >, < 메소드 >, < 전화단말 정보 >, < 발신전화번호 >, < 수신전화번호 > 등은 VoIP 프로토콜의 호와 관련된 정보이고, < 소스 IP/Port >와 < 목적 IP/Port > 는 장비들간 전송될 때의 장비들에 관한 정보이다. < 생성시간> 은 패킷을 캡쳐할 때 저장된 시간이다. 각 패킷정보 테이블(221)은 생성시간 기준으로 저장대상 범위가 정해져 있고 다수의 패킷정보 테이블(221)은 시간기준 저장 범위에 따라 순서가 정해진다. 각 패킷정보테이블은 시간기준 저장범위가 정해져 있고, 저장범위단위가 일정한 경우는 최초 시간만 가지고 있어도 저장범위를 알 수 있다. 상기 저장범위단위는 캡쳐되는 패킷의 수에 따라 임의로 조정될 수 있다.The packet information DB 520 is a table capable of storing packet information and constitutes a plurality of packet information tables with the same structure. The structure of the packet information table 221 includes <Call ID>, <Calling phone number>, <Incoming phone number>, <Source IP / Port>, <Destination IP / Port>, <Method>, <Creation time>, < It consists of phone terminal information>. Call related information such as <Call ID>, <Method>, <Phone Terminal Information>, <Outgoing Call Number>, and <Incoming Call Number> are information related to calls of VoIP protocol, and <Source IP / Port > And <Destination IP / Port> are information about devices when they are transmitted between devices. <Generation time> is the time saved when capturing the packet. Each packet information table 221 has a storage target range determined on a generation time basis, and a plurality of packet information tables 221 are ordered according to a time base storage range. Each packet information table has a time-based storage range. If the storage range unit is constant, the storage range can be known even with the initial time. The storage range unit may be arbitrarily adjusted according to the number of packets to be captured.

상기 패킷정보 생성부(530)는 상기 패킷수집부(510)에서 수집된 패킷들에서 필요한 정보와 패킷의 생성시간을 패킷정보 테이블(221)의 구조에 맞게 변환하여 상기 테이블에 저장한다. 1 ~ M 번째까지의 패킷정보 테이블(221)에서 저장되는 테이블의 순서는 테이블의 저장범위의 시간에 따라 정해진다. 각 패킷정보 테이블(221)에는 사전에 시간기준 저장범위가 정해진다. 즉, 상기 패킷정보 생성부(530)는 생성된 패킷정보를 생성시간 기준에 따라 상기 다수의 패킷정보 테이블(221)들에 순차적으로 저장하고, 마지막 테이블까지 모두 저장되면 처음 테이블부터 다시 순환하여 저장한다.The packet information generation unit 530 converts the information required from the packets collected by the packet collection unit 510 and the generation time of the packet according to the structure of the packet information table 221 and stores them in the table. The order of the tables stored in the packet information table 221 from the 1st to the Mth is determined according to the time of the storage range of the table. In each packet information table 221, a time-based storage range is determined in advance. That is, the packet information generation unit 530 sequentially stores the generated packet information in the plurality of packet information tables 221 according to the generation time reference, and when all the final tables are stored, the packet information generation unit 530 cyclically stores the first packet again. do.

상기 검색쿼리 처리부(540)는 다수의 패킷정보 테이블(221)을 하나의 테이블로 간주하여 작성된 VoIP 호흐름 단말(550)의 원시검색쿼리(310)를 받아 분할된 다수의 테이블의 구조에 맞게 쿼리를 분할하여 작성하고, 이 분할된 검색쿼리(320)를 상기 패킷정보DB(520)에 요청하여 처리하게 하여 그 결과를 반환한다.The search query processing unit 540 receives the raw search query 310 of the VoIP call flow terminal 550 prepared by considering the plurality of packet information tables 221 as one table and queries the data according to the structure of the plurality of divided tables. Is created by dividing, and the divided search query 320 is requested to the packet information DB 520 for processing, and the result is returned.

더 상세하게는, 상기 패킷정보 검색장치(500)는 내부적으로는 다수의 패킷정보 테이블(221)로 패킷정보DB를 구분하여 처리하나, 외부적으로는 이러한 분할구조를 보여주지 않고, 대신 하나의 패킷정보 테이블로서 그 구조만 노출시킨다. 이는 다수의 패킷정보 테이블(221)은 동일한 구조를 가지고 있으므로 가능하다. 따라서 클라이언트인 VoIP 호흐름 단말(550)은 패킷정보를 검색할 때, 하나의 패킷정보 테 이블로 간주하고 검색쿼리를 작성하여 본 발명인 상기 패킷정보 검색장치(500)에 쿼리처리를 요청한다. 요청되는 검색쿼리는 앞서 살펴본 원시검색쿼리(310)와 같다. 즉, 원시검색쿼리(310)는 패킷정보DB(220)의 분할된 다수의 패킷정보테이블(221)을 하나의 테이블로 간주하여 쿼리를 작성한 것이다. 원시검색쿼리(310)의 쿼리문인 < 테이블명 > 은 전체 테이블명으로 기재된다.More specifically, the packet information retrieval apparatus 500 internally divides and processes the packet information DB into a plurality of packet information tables 221, but does not show such a partitioning structure externally. Expose only its structure as a packet information table. This is possible because the plurality of packet information tables 221 have the same structure. Therefore, the VoIP call flow terminal 550, which is a client, regards the packet information table as one packet information table, creates a search query, and requests the packet information retrieval apparatus 500 of the present invention to process the query. The requested search query is the same as the original search query 310 described above. That is, the original search query 310 creates a query considering the divided plurality of packet information tables 221 of the packet information DB 220 as one table. <Table name> which is a query statement of the source search query 310 is described as the full table name.

상기 패킷정보DB서버(502)의 검색쿼리 처리부(540)는 VoIP 호흐름 단말(550)로부터 요청받은 원시검색쿼리(310)를 분할된 다수의 패킷정보테이블(221)의 구조에 맞게 쿼리를 분할하여 분할된 검색쿼리(320)을 작성한다. 원시검색쿼리(310)를 분석하여 쿼리에서 참조하는 패킷정보 DB테이블(221)이 어느 것인지를 결정하고 결정된 테이블별로 쿼리를 각각 작성한다. 원시검색쿼리(310)에서 어느 패킷정보 DB테이블(221)을 참조하느냐는 것은 쿼리의 조건문인 WHERE 절의 < 생성시간 > 조건에 의해 결정된다. 즉, 패킷정보 DB테이블(221)은 시간기준 저장범위로 분할되어 있으므로, 원시검색쿼리(310)의 생성시간 조건내의 패킷정보들을 저장하는 테이블들이 이에 해당한다.The search query processing unit 540 of the packet information DB server 502 splits the query according to the structure of the plurality of packet information tables 221 which are divided from the original search query 310 requested from the VoIP call flow terminal 550. A partitioned search query 320 is created. The source search query 310 is analyzed to determine which packet information DB table 221 is referenced in the query, and then a query is prepared for each determined table. Which packet information DB table 221 is referenced in the source search query 310 is determined by the <creation time> condition of the WHERE clause which is a conditional statement of the query. That is, since the packet information DB table 221 is divided into a time base storage range, tables for storing packet information in the generation time condition of the source search query 310 correspond to this.

겹치는 패킷정보 테이블(221)별 쿼리 작성은 다음과 같다. 쿼리의 내용은 < 테이블명 > 과 < 생성시간 > 항목만을 제외하고는 동일하다. < 테이블명 > 은 겹치는 패킷정보 테이블(221)의 이름으로 대체된다. < 생성시간 > 조건은 겹치는 패킷정보 테이블(221)의 시간기준 저장범위내로 좁힌다. 그 이유는 각 테이블은 패킷정보의 생성시간이 시간기준 저장범위 내에 들어오는 패킷만 저장하기 때문이다. 또한, 상기 테이블별 쿼리(321)의 조건문에서 생성시간을 제일 먼저 기재함으로써도 쿼리의 최적화를 수행한다. 그 이유는 생성시간 항목이 검색에서 인덱스 역할을 하기 때문에 DB에서 보다 빠른 검색을 수행할 수 있다.A query for each overlapping packet information table 221 is as follows. The contents of the query are the same except for the <table name> and <create time> items. <Table name> is replaced with the name of the overlapping packet information table 221. The condition of <creation time> is narrowed within the time reference storage range of the overlapping packet information table 221. This is because each table stores only packets whose packet information generation time falls within the time base storage range. In addition, the query optimization is also performed by first writing the creation time in the conditional statement of the query for each table 321. The reason is that the creation time item can serve as an index in the search, so the search can be performed faster in the DB.

상기와 같이, 각 테이블에 대한 테이블별 쿼리(321)가 만들어지면, 이를 전체로 합치는 UNION 명령어를 이용하여 전체 결과를 묶도록 한다. 결론적으로, 원시검색쿼리(310)를 분할된 쿼리(320)로 분할하는 것은 단순히 모든 패킷정보 테이블(221)에 대하여 분할하는 것이 아니라, 해당 테이블인지의 여부판단과 생성시간의 쿼리조건에 대하여 쿼리의 최적화를 수행한다.As described above, when a table-specific query 321 is generated for each table, the entire results are bundled using a UNION command that combines them as a whole. In conclusion, the partitioning of the raw search query 310 into the partitioned query 320 is not simply partitioned for all the packet information tables 221, but the query for the query condition for determining whether or not the table and the generation time. Performs optimization.

상기 검색쿼리 처리부(540)는 작성된 분할된 검색쿼리(320)를 패킷정보DB(520)에 쿼리처리를 요청하고 그 결과를 받아 VoIP 호흐름 단말(550)에 반환한다. 이때, 모든 패킷정보 테이블(221)은 그 구조가 동일하고 각 테이블별 쿼리를 UNION하였으므로, 상기 결과를 가공없이 그대로 상기 단말에 보내주면 된다. The search query processing unit 540 requests the packet information DB 520 for query processing from the divided search query 320 and receives the result and returns the result to the VoIP call flow terminal 550. At this time, since all packet information tables 221 have the same structure and have unioned queries for each table, the packet information table 221 may be sent to the terminal without any processing.

도 9에 의해 설명되어진 상기 본 발명의 상세한 설명에 있어 미진한 부분은 앞서 설명된 도 5에 의한 본 발명의 일실시예에 의해 유추되어 설명되어질 수 있다.In the detailed description of the present invention described by FIG. 9, the incomplete parts may be inferred and explained by an embodiment of the present invention by FIG. 5 described above.

상기와 같이 클라이언트에게 복잡한 내부구조를 노출시키지 않고 내부적으로 이를 처리하게 되면, 클라이언트에서 구현되는 패킷정보 검색과 관련된 프로그램은 작성이 단순해지고, 서버의 내부 테이블 구조변경에서 자유로워지므로 유지보수가 편해진다. 예컨대, 앞서 본 바와 같이 패킷정보 테이블의 시간기준 저장범위를 일정단위로 고정시키는 정책에서 테이블에 패킷정보를 꽉차게 저장하면서 저장범위를 유동적으로 하는 정책으로 변경하면 테이블의 시간기준 저장범위를 계산하는 방법 이 변화하게 된다. 이런 경우 클라이언트의 프로그램 변경없이 서버에서만 관련 프로그램을 변경하면 되기 때문에 유지보수가 쉬워진다.If this is handled internally without exposing the complicated internal structure to the client as described above, the program related to retrieving the packet information implemented in the client is simpler to write and free from the internal table structure change of the server, thereby making maintenance easier. . For example, in the policy of fixing the time-based storage range of the packet information table in a predetermined unit as described above, when changing the policy to store the packet information in the table full and the storage range is fluid, the time-based storage range of the table is calculated. The method will change. In this case, maintenance is easy because only the relevant program needs to be changed on the server without changing the program of the client.

도 10은 패킷정보에 대한 DB분할 및 쿼리분할 방법의 바람직한 또 다른 일실시예에 대한 흐름도이다.10 is a flowchart illustrating still another preferred embodiment of a DB partitioning and query partitioning method for packet information.

패킷정보에 대한 DB분할 및 쿼리분할의 방법은 패킷정보DB 분할단계(S610)와, 실시간 패킷캡쳐(Mirroring)단계(S620), 패킷정보 테이블 저장단계(S630), 원시 검색쿼리 접수단계(S640), 분할된 검색쿼리 생성단계(S650), 쿼리요청 및 결과전송단계(S660)로 구성된다.DB partitioning and query partitioning method for packet information includes packet information DB partitioning step (S610), real time packet capturing (Mirroring) step (S620), packet information table storage step (S630), raw search query reception step (S640). It consists of a divided search query generation step (S650), query request and result transmission step (S660).

패킷정보DB 분할단계(S610)는 패킷정보를 저장하는 테이블을 다수의 동일한 패킷정보 테이블로 구성하는 단계를 말한다. 상기 DB테이블은 필드명이나 필드의 크기 등 그 구조가 동일할 뿐만 아니라, 테이블의 크기, 즉 레코드의 수도 동일하게 구성된다. 앞서 살펴본 바와 같이, 패킷정보 테이블의 개수와 크기는 수집되는 패킷의 수량과 DB쿼리를 했을 경우 처리속도, 그리고 패킷정보를 보관해야 하는 기간에 의하여 결정된다. 또한, 패킷정보 테이블의 구성은 < Call ID >, < 발신전화번호 >, < 수신전화번호 >, < 소스 IP/Port >, < 목적 IP/Port >, < 메소드 >, < 시간 >, < 전화단말정보 > 등을 포함한다.The packet information DB dividing step S610 refers to a step of configuring a table for storing packet information into a plurality of identical packet information tables. The DB table not only has the same structure such as field name and field size, but also has the same size of the table, that is, the number of records. As described above, the number and size of the packet information table are determined by the number of packets to be collected, the processing speed when the DB query is performed, and the period of storing the packet information. In addition, the packet information table consists of <Call ID>, <Outgoing Call Number>, <Incoming Call Number>, <Source IP / Port>, <Destination IP / Port>, <Method>, <Time>, <Phone Terminal Information> and the like.

실시간 패킷캡쳐(Mirroring)단계(S620)는 인터넷전화망(VoIP)의 백본스위치에 연결되어 백본스위치(132)에서 전송되는 모든 패킷을 캡쳐(Mirroring)하고 패킷을 캡쳐한 시간과 함께 임시파일에 저장한다. 패킷을 캡쳐한 시간이 패킷의 생성시간으로서 다루게 되는 시간 값으로서, 패킷정보 검색에 유용하게 이용되는 정보이 다. 임시파일에는 짧은 시간동안만 보관되지만 패킷정보를 DB화 할 수 있는 시간보다는 오래 보관한다.Real time packet capturing (Mirroring) step (S620) is connected to the backbone switch of the Internet telephone network (VoIP) captures all the packets transmitted from the backbone switch 132 (Mirroring) and stores the packet in the temporary file with the time captured . The time that a packet is captured is a time value to be treated as a packet generation time, which is useful for packet information retrieval. Temporary files are kept for only a short time, but they are kept longer than the packet information can be DBized.

패킷정보 테이블 저장단계(S630)는 수집된 패킷들과 캡쳐된 시간(생성시간)을 패킷정보DB의 패킷정보 테이블에 그 구조에 맞게 변환하여 저장하며, 다수의 동일한 패킷정보 테이블들에 입력하는 순서는 시간단위로 순차적으로 저장한다. 즉, 각 패킷정보 테이블(221)은 생성시간 기준으로 저장대상 범위가 정해져 있고 다수의 패킷정보 테이블은 시간기준 저장범위에 따라 순서가 정해진다.In the packet information table storing step (S630), the collected packets and the captured time (generation time) are converted and stored in the packet information table of the packet information DB according to the structure thereof, and the input order is input to a plurality of identical packet information tables. Stores sequentially in time units. That is, each packet information table 221 has a storage target range determined on a generation time basis, and a plurality of packet information tables are ordered on a time basis storage range.

더 자세하게는, 패킷정보 테이블이 M개가 있는 경우에는 1 ~ M 번째까지의 패킷정보 테이블에서 저장되는 테이블의 순서는 테이블의 저장범위의 시간에 따라 정해진다. 각 패킷정보 테이블(221)에는 시간기준 저장범위가 정해진다. 10분단위로 패킷정보 테이블을 분할한다면, 최초시간부터 10분후까지는 제 1 번째 테이블에, 그 다음 10분후부터 20분후까지는 제 2 번째 테이블에 저장된다. 그러나 다른 실시예로서, 처음 들어오는 패킷정보는 1번째 패킷정보 테이블(221)에 저장되고, 이 테이블이 꽉 차면 다음 테이블, 즉 2번째 패킷정보 테이블(221)에 저장된다. 양 경우 모두, M번째 패킷정보 테이블(221)까지 모두 저장된다면 다시 1번째 패킷정보 테이블(221)부터 저장된다. 이 경우 처음에 저장된 패킷정보는 소실되게 된다. 즉, 패킷정보는 일정시간만 보관하게 된다. 상기 패킷정보 테이블 저장단계(S630)는 일정시간 간격으로 주기적으로 반복된다. 즉, 실시간 패킷캡쳐단계(S620)에서 일정시간동안 패킷을 수집하여 임시파일에 저장하여 보관하면, 주기적으로 패킷정보를 패킷정보 테이블에 저장하게 된다.In more detail, when there are M packet information tables, the order of the tables stored in the 1st to Mth packet information tables is determined according to the time of the storage range of the table. In each packet information table 221, a time-based storage range is determined. If the packet information table is divided into 10-minute units, the packet information table is stored in the first table from the first time to 10 minutes later and in the second table from 10 minutes to 20 minutes later. However, as another embodiment, the first incoming packet information is stored in the first packet information table 221, and when this table is full, it is stored in the next table, that is, the second packet information table 221. In both cases, if up to the M th packet information table 221 is stored, it is stored from the first packet information table 221 again. In this case, the initially stored packet information is lost. That is, the packet information is kept only for a certain time. The packet information table storing step (S630) is repeated at regular intervals. That is, in the real-time packet capture step (S620), if the packet is collected for a predetermined time and stored in a temporary file, the packet information is periodically stored in the packet information table.

상기 원시 검색쿼리 접수단계(S640)는 패킷정보DB의 패킷정보테이블이 하나의 테이블로 간주하여 작성된 패킷정보에 대한 검색쿼리를 요청받는 단계이다. 즉, 요청받은 쿼리인 원시검색쿼리는 < 테이블명 > 이 전체 테이블명으로 기재된다.The raw search query accepting step (S640) is a step for receiving a search query for the packet information created by considering the packet information table of the packet information DB as one table. In other words, the original query, the requested query, is written with <table name> as the full table name.

상기 분할된 검색쿼리 생성단계(S650)는 요청받은 원시검색쿼리를 각 테이블별로 분할하여 검색쿼리로 변환하고, 생성시간에 대한 조건문을 각 테이블의 시간기준 저장범위에 따라 그 값을 조정한다.The split search query generation step (S650) divides the requested raw search query into each table and converts it into a search query, and adjusts the value according to the time reference storage range of each table.

더 상세하게는, 분할된 검색쿼리 생성단계(S650)는 패킷정보DB의 각 테이블에 대한 시간기준 저장범위에 대한 정보를 가져오는 단계(S651)와, 시간기준 저장범위가 원시검색쿼리의 생성시간 조건과 겹치는 패킷정보 테이블들을 결정하는 단계(S652), 결정된 테이블들에 대하여 해당 테이블만 참조하는 테이블별 쿼리를 작성하는 단계(S653), 각 테이블별 쿼리내 조건문에서 생성시간 조건을 테이블의 시간기준 저장범위 안에 포함되도록 조정하는 단계(S654), 각 테이블별 쿼리내 조건문에서 생성시간 조건을 쿼리내 조건들 중 제일 앞에 기재하는 단계(S655), 작성된 모든 테이블별 쿼리를 UNION 명령어로 병합하여 분할된 검색쿼리를 생성하는 단계(S656)를 포함한다.More specifically, the divided search query generation step (S650) is a step (S651) of obtaining information on the time-based storage range for each table of the packet information DB, and the time-based storage range is the generation time of the raw search query Determining the packet information tables overlapping with the condition (S652), creating a query for each table referencing only the table with respect to the determined tables (S653), the generation time condition in the conditional statement in the query for each table, the time reference of the table Adjusting to be included in the storage range (S654), step (S655) to write the generation time condition in the first condition of the query in the query for each table, merged all the created query for each table by UNION command Generating a search query (S656).

쿼리요청 및 결과전송단계(S660)는 상기와 같은 쿼리가 생성되면 이 쿼리를 패킷정보DB에 요청하고 그 결과를 받아, 원시검색쿼리를 요청한 단말(클라이언트)에 전송한다.In the query request and the result transmission step (S660), when the above query is generated, the query is requested to the packet information DB, the result is received, and the raw search query is transmitted to the terminal (client).

도 11은 검색된 패킷정보를 통해 호흐름을 재구성하여 화면으로 보여지는 일실시예의 화면이다. 상기 화면은 패킷정보를 < 생성시간 >, < 발신전화번호 >, < 수신전화번호 > 를 기초로 검색하여 각 VoIP 장비간에 패킷의 흐름을 표시하여 각 VoIP 장비별 요청 및 응답 등을 한눈에 볼 수 있도록 시각화한 것이다. 이런 시각화를 통해 각 호 흐름을 찾아갈 수 있고 이상이 있는지의 유무를 쉽게 관찰할 수 있다.FIG. 11 is a screen of an embodiment in which a call flow is reconfigured and displayed as a screen through the retrieved packet information. The screen retrieves packet information based on <generation time>, <outgoing call number>, and <incoming call number> to display the flow of packets between each VoIP device to view requests and responses for each VoIP device at a glance. To be visualized. This visualization makes it possible to navigate through each call flow and easily observe whether there are any abnormalities.

도 1은 인터넷전화망(VoIP)의 구성,1 is a configuration of an Internet telephone network (VoIP),

도 2는 인터넷전화망(VoIP)에서의 패킷흐름 예시도,2 is an exemplary packet flow diagram of an Internet telephone network (VoIP).

도 3은 VoIP 프로토콜의 스택구조,3 is a stack structure of a VoIP protocol,

도 4는 패킷분석을 통한 인터넷전화망(VoIP)의 성능측정을 위한 종래 장치의 구성도,4 is a configuration diagram of a conventional apparatus for measuring the performance of an Internet telephone network (VoIP) through packet analysis;

도 5는 본 발명의 패킷정보 검색장치의 바람직한 일실시예의 구성도,5 is a block diagram of a preferred embodiment of a packet information retrieval apparatus of the present invention;

도 6a는 패킷정보6a shows packet information DBDB 의 구조에 대한 바람직한 Desirable for the structure of 일실시예의One embodiment 구성도, Diagram,

도 6b는 패킷정보 테이블의 구조에 대한 바람직한 Figure 6b is a preferred structure of the packet information table 일실시의Implementation 예시도, Example,

도 7은 호흐름 단말에서 사용자가 요청하는 쿼리를 분할최적화하는 예시도,7 is an exemplary diagram of partition optimization of a query requested by a user in a call flow terminal;

도 8은 패킷정보에 대한 DB분할 및 쿼리분할 방법의 바람직한 일실시예에 대한 흐름도,8 is a flowchart illustrating a preferred embodiment of a DB partitioning and query partitioning method for packet information;

도 9는 본 발명의 패킷정보 검색서버장치의 바람직한 또 다른 일실시예의 구성도,9 is a configuration diagram of yet another preferred embodiment of the packet information retrieval server apparatus of the present invention;

도 10은 패킷정보에 대한 DB분할 및 쿼리분할 방법의 바람직한 또 다른 일실시예에 대한 흐름도,10 is a flowchart illustrating still another preferred embodiment of a DB partitioning and query partitioning method for packet information;

도 11은 검색된 패킷정보를 통해 호흐름을 재구성하여 화면으로 보여지는 일실시예의 화면.11 is a screen of an embodiment shown in a screen by reconfiguring the call flow through the retrieved packet information.

* 도면의 주요 부분에 대한 부호의 설명 * Explanation of symbols on the main parts of the drawings

130 : 인터넷전화망(VoIP) 132 : 백본스위치130: VoIP network 132: backbone switch

135 : 인터넷 전화단말 150: VoIP 장비135: Internet telephone terminal 150: VoIP equipment

210 : 패킷수집부 220 : 패킷정보DB210: packet collecting unit 220: packet information DB

221 : 패킷정보 테이블 250 : VoIP 호흐름 단말221: packet information table 250: VoIP call flow terminal

310 : 원시검색쿼리 320 : 분할된 검색쿼리310: raw search query 320: partitioned search query

Claims (32)

인터넷전화망(VoIP)의 백본스위치에 연결되어 전송되는 패킷을 캡쳐하여 VoIP 망 상태를 모니터링하기 위하여 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 장치에 있어서,In the real-time packet information retrieval apparatus through DB partitioning and query partitioning to monitor the VoIP network status by capturing packets connected to the backbone switch of the Internet telephone network (VoIP), 패킷정보를 저장할 수 있는 테이블로서 동일한 구조로 된 다수의 패킷정보 테이블(221)로 구성하고 있는 패킷정보DB(220);A packet information DB 220 having a plurality of packet information tables 221 having the same structure as a table capable of storing packet information; 인터넷전화망(VoIP)의 백본 스위치에 연결되어 VoIP 망에 전송되는 모든 패킷을 캡쳐(Mirroring)하여 캡쳐된 시간인 생성시간과 함께 보관하는 패킷수집부(210)와, 주기적으로, 수집된 패킷들에서 정보를 추출하여 패킷의 생성시간과 함께 패킷정보로 구성하여, 상기 패킷정보 테이블(221)들에 분할하여 저장하는 패킷정보 생성부(230)를 포함하는 다수의 패킷수집장치(201)와;Packet collecting unit 210 is connected to the backbone switch of the VoIP network and captures all packets transmitted to the VoIP network and stores them together with the generated time, which is the captured time, and periodically, A plurality of packet collecting apparatuses 201 including a packet information generating unit 230 for extracting information and configuring the packet information together with a packet generation time and dividing and storing the packet information into the packet information tables 221; 패킷정보를 검색하기 위한 검색쿼리를 각 패킷정보 테이블(221)별로 분할하여 검색쿼리를 작성하고, 상기 패킷정보DB서버(220)에 상기 검색쿼리를 요청하는 다수의 호흐름 검색단말(250);A plurality of call flow search terminals 250 for creating a search query by dividing a search query for searching packet information by each packet information table 221 and requesting the search query to the packet information DB server 220; 을 포함하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 장치.Real time packet information retrieval apparatus through DB partitioning and query partitioning comprising a. 제 1 항에 있어서, 상기 패킷수집부(210)는,The method of claim 1, wherein the packet collecting unit 210, 캡쳐한 패킷과 생성시간을 임시저장하고, 임시저장은 상기 패킷정보 테이블(221)에 패킷정보를 생성하여 저장하는 주기보다는 오랫동안 보관하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 장치.Temporary storage of the captured packet and the generation time, and the temporary storage is a real-time packet information retrieval device through DB partition and query partition, characterized in that stored for a longer time than the period of generating and storing the packet information in the packet information table 221 . 제 1 항에 있어서, 상기 다수의 패킷정보 테이블(221)은,The method of claim 1, wherein the plurality of packet information table 221, 각 테이블의 크기가 동일하고, 테이블들의 개수와 크기는 수집되는 패킷의 수량과 DB 쿼리의 처리속도, 패킷정보를 보관해야하는 기간에 의하여 결정되는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 장치.The size of each table is the same, and the number and size of the tables are determined by the number of packets collected, the processing speed of the DB query, and the period to store the packet information. Search device. 제 1 항에 있어서,The method of claim 1, 상기 패킷수집부(210)는 패킷에서 추출하는 정보는 < Call ID > 와, < 발신전화번호 >, < 수신전화번호 >, < 메소드 >, < 전화단말정보 >, < 소스 IP/Port >, < 목적 IP/Port > 를 포함하고,The packet collecting unit 210 extracts information from a packet as <Call ID>, <Calling ID>, <Incoming Call Number>, <Method>, <Calling Terminal Information>, <Source IP / Port>, < Includes the destination IP / Port> 상기 패킷정보 테이블(221)은 상기 추출되는 정보와 < 생성시간 > 을 포함하는 구성을 가지는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 장치.The packet information table (221) is a real-time packet information retrieval device through a DB partition and a query partition, characterized in that the configuration including the extracted information and <generation time>. 제 1 항에 있어서,The method of claim 1, 상기 다수의 패킷정보 테이블(221)은 패킷정보의 생성시간 기준으로 저장하는 범위가 정해지고, 상기 저장범위의 시간기준에 따라 테이블간 순서가 정해지고,In the plurality of packet information tables 221, a range for storing packet information is determined based on a generation time of packet information, and an order between tables is determined according to a time criterion of the storage range. 상기 패킷정보 생성부(210)는 생성된 패킷정보를 생성시간 기준에 따라 상기 다수의 패킷정보 테이블(221)들에 순차적으로 저장하고, 마지막 테이블까지 모두 저장되면 처음 테이블부터 다시 순환하여 저장하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 장치.The packet information generating unit 210 sequentially stores the generated packet information in the plurality of packet information tables 221 according to the generation time reference, and when all the tables are stored up to the last table, the packet information generation unit cyclically stores the first packet again. Real time packet information retrieval apparatus through DB partitioning and query partitioning. 제 1 항에 있어서, 상기 호흐름 검색단말(250)은,According to claim 1, wherein the call flow search terminal 250, 상기 다수의 패킷정보 테이블(221)을 하나의 테이블로 간주하고 작성된 원시검색쿼리(310)를 각 패킷정보 테이블(221)마다 해당 테이블만 참조하는 테이블별 쿼리(321)를 작성한 후 UNION 명령어로 각 쿼리를 하나로 묶어 분할된 검색쿼리(320)를 만드는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 장치.The plurality of packet information tables 221 are regarded as one table, and the prepared raw search query 310 is written for each packet information table 221 for each packet information table 221. Real-time packet information retrieval apparatus through DB partitioning and query partitioning, characterized in that to form a divided search query 320 by combining a query. 제 6 항에 있어서, 상기 호흐름 검색단말(250)은,The method of claim 6, wherein the call flow search terminal 250, 상기 각 패킷정보 테이블(221)의 생성시간기준 저장범위를 상기 패킷정보DB(220)로부터 얻어오고, 상기 원시검색쿼리(310)내의 생성시간 범위조건과 테이블의 생성시간기준 저장범위와 겹치는 경우에 해당하는 패킷정보 테이블(221)에 대해서만, 상기 테이블별 쿼리(321)를 작성하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 장치.When the generation time reference storage range of each packet information table 221 is obtained from the packet information DB 220, and the generation time range condition in the source search query 310 overlaps with the generation time reference storage range of the table. A device for retrieving real-time packet information through DB partitioning and query partitioning, wherein the table-specific query 321 is generated only for the corresponding packet information table 221. 제 7 항에 있어서, 상기 호흐름 검색단말(250)은,The method of claim 7, wherein the call flow search terminal 250, 상기 테이블별 쿼리(321)의 생성시간 조건을 참조하는 패킷정보 테이블(221)의 생성시간기준 저장범위내로 정하고, 상기 테이블별 쿼리의 조건을 기술할 때, 생성시간 조건을 맨 앞으로 배치하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 장치.It is set within the generation time reference storage range of the packet information table 221 referring to the generation time condition of the query for each table 321, and when the condition of the query for each table is described, the generation time condition is placed first. Real time packet information retrieval device through DB partitioning and query partitioning. 인터넷전화망(VoIP)의 백본스위치에 연결되어 전송되는 패킷을 캡쳐하여 VoIP 망 상태를 모니터링하기 위하여 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 방법에 있어서,In the real-time packet information retrieval method through DB partitioning and query partitioning to monitor the VoIP network status by capturing packets connected to the backbone switch of an Internet telephone network (VoIP), 패킷정보를 저장할 수 있는 테이블을 다수의 동일한 패킷정보 테이블로 구성하는 패킷정보DB 분할단계(S410)와;A packet information DB dividing step (S410) of constructing a table capable of storing packet information into a plurality of identical packet information tables; 인터넷전화망(VoIP)의 백본스위치에 연결하여 망에 전송되는 모든 패킷을 캡쳐(Mirroring)하고 캡쳐된 시간인 생성시간과 함께 보관하는 실시간 패킷캡쳐(Mirroring)단계(S420);A real time packet capturing step (S420) of connecting to a backbone switch of an Internet telephony network (VoIP) to capture all packets transmitted to the network and store them together with a generation time which is a captured time; 주기적으로, 수집된 패킷들에서 정보를 추출하여 패킷의 생성시간과 함께 패킷정보로 구성하여, 상기 패킷정보 테이블들에 분할하여 저장하는 패킷정보 DB테이블 저장단계(S430);A packet information DB table storing step (S430) of periodically extracting information from the collected packets, configuring the packet information together with the packet generation time, and dividing the packet information into the packet information tables; 패킷정보를 검색하기 위하여 다수의 패킷정보 테이블을 하나의 테이블로 간주하여 원시검색쿼리를 작성하는 원시검색쿼리 생성단계(S440);Generating a source search query by considering a plurality of packet information tables as one table in order to retrieve the packet information (S440); 상기 원시검색쿼리를 각 패킷정보 테이블별로 분할하여 검색쿼리를 작성하는 분할된 검색쿼리 생성단계(S450);Generating a search query by dividing the source search query by each packet information table (S450); 작성된 쿼리를 패킷정보DB에 요청하여 그 결과를 얻는 쿼리요청 및 결과생성단계(S460);A query request and result generation step (S460) of requesting the written query to the packet information DB to obtain a result thereof; 를 포함하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 방법.Real time packet information retrieval method through a DB partition and a query partition comprising a. 제 9 항에 있어서, 패킷정보DB 분할단계(S410)는,10. The method of claim 9, wherein the packet information DB dividing step (S410), 테이블의 크기가 동일하고, 상기 패킷정보 테이블의 개수와 크기는 수집되는 패킷의 수량과 DB 쿼리의 처리속도, 패킷정보를 보관해야하는 기간에 의하여 결정되는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 방법.The size of the table is the same, the number and size of the packet information table is determined by the number of packets to be collected, the processing speed of the DB query, the period to store the packet information, real-time through DB partitioning and query partitioning Packet information retrieval method. 제 9 항에 있어서,The method of claim 9, 패킷정보 DB테이블 저장단계(S430)는 패킷에서 추출하는 정보는 < Call ID > 와, < 발신전화번호 >, < 수신전화번호 >, < 메소드 >, < 전화단말정보 >, < 소스 IP/Port >, < 목적 IP/Port > 를 포함하고,In the packet information DB table storing step (S430), the information extracted from the packet includes <Call ID>, <Calling ID>, <Incoming Call Number>, <Method>, <Phone Terminal Information>, and <Source IP / Port>. , Including <destination IP / Port>, 상기 패킷정보 테이블은 상기 추출되는 정보와 < 생성시간 > 을 포함하는 구성을 가지는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 방법.The packet information table has a structure including the extracted information and <generation time> characterized in that the real-time packet information search method through the DB partition and query partition. 제 9 항에 있어서, 실시간 패킷캡쳐(Mirroring)단계(S420)는,The method of claim 9, wherein the real-time packet capturing (Mirroring) step (S420), 캡쳐한 패킷과 생성시간을 임시저장하고, 임시저장은 상기 패킷정보 DB테이블 저장단계(S430)에서 패킷정보를 생성하여 저장하는 주기보다는 오랫동안 보관하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 방법.Temporarily store the captured packet and the generation time, and the temporary storage is a real-time packet through the DB partition and query partition, characterized in that the packet information is stored for a longer time than the period of generating and storing the packet information in the DB table storage step (S430) How to retrieve information. 제 9 항에 있어서,The method of claim 9, 상기 다수의 패킷정보 테이블(221)은 패킷정보의 생성시간 기준으로 저장하는 범위가 정해지고, 상기 저장범위의 시간기준에 따라 테이블간 순서가 정해지고,In the plurality of packet information tables 221, a range for storing packet information is determined based on a generation time of packet information, and an order between tables is determined according to a time criterion of the storage range. 상기 패킷정보 DB테이블 저장단계(S430)는 생성된 패킷정보를 생성시간 기준에 따라 상기 다수의 패킷정보 테이블들에 순차적으로 저장하고, 마지막 테이블까지 모두 저장되면 처음 테이블부터 다시 순환하여 저장하는 것을 특징으로 하는 DB 분할 및 쿼리분할을 통한 실시간 패킷정보 검색 방법.The packet information DB table storing step (S430) sequentially stores the generated packet information in the plurality of packet information tables according to a generation time criterion, and when all the tables are stored up to the last table, the packet information is cyclically stored again from the first table. Real time packet information retrieval method using DB partitioning and query partitioning. 제 9 항에 있어서, 분할된 검색쿼리 생성단계(S450)는,10. The method of claim 9, wherein the divided search query generation step (S450), 상기 원시검색쿼리를 각 패킷정보 테이블마다 해당 테이블만 참조하는 테이블별 쿼리를 작성한 후 UNION 명령어로 각 쿼리를 하나로 묶어 분할된 검색쿼리를 만드는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 방법.Real-time packet information retrieval through DB partitioning and query partitioning, after creating a table-specific query referencing only the corresponding table for each packet information table and then combining each query into a UNION command to create a partitioned search query Way. 제 13 항과 제 14 항에 있어서, 분할된 검색쿼리 생성단계(S450)는,15. The method of claim 13 and 14, wherein the divided search query generation step (S450), 상기 패킷정보 테이블의 생성시간기준 저장범위를 상기 패킷정보DB로부터 얻어오는 단계와;Obtaining a generation time reference storage range of the packet information table from the packet information DB; 상기 원시검색쿼리내의 생성시간 범위조건과 테이블의 생성시간기준 저장범위와 겹치는 경우에 해당하는 패킷정보 테이블에 대해서만, 테이블별 쿼리를 작성하는 단계;Creating a table-specific query only for the packet information table corresponding to the case where the generation time range condition in the source search query and the generation time reference storage range of the table overlap; 작성된 상기 테이블별 쿼리들을 UNION 명령어로 하나로 묶는 단계;Grouping the created queries for each table into a UNION command; 를 포함하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 방법.Real time packet information retrieval method through a DB partition and a query partition comprising a. 제 15 항에 있어서, 분할된 검색쿼리 생성단계(S450)는,The method of claim 15, wherein the divided search query generation step (S450), 상기 테이블별 쿼리의 생성시간 조건을 참조하는 패킷정보 테이블의 생성시간 생성시간기준 저장범위내로 정하고, 상기 테이블별 쿼리의 조건을 기술할 때, 생성시간 조건을 맨 앞으로 배치하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색 방법.DB partition, characterized in that within the storage time generation time reference storage range of the packet information table referring to the generation time conditions of the query for each table, and when the condition of the query for each table is described, the generation time condition is placed to the front And real time packet information retrieval method through the query partition. 인터넷전화망(VoIP)의 백본스위치에 연결되어 전송되는 패킷을 캡쳐하여 다수의 분할된 패킷정보 테이블에 패킷정보를 저장하고, 외부에는 하나의 패킷정보 테이블의 구조만을 노출시켜 하나의 테이블로 간주하여 작성된 검색쿼리를 요청받아 처리하기 위한, DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색서버 장치에 있어서,It captures the packet that is connected to the backbone switch of the Internet telephone network (VoIP) and stores the packet information in a plurality of divided packet information tables, and exposes the structure of only one packet information table to the outside and regards it as one table. In the real time packet information retrieval server apparatus for receiving and processing a search query, DB partitioning and query partitioning, 패킷정보를 저장할 수 있는 테이블로서 동일한 구조로 된 다수의 패킷정보 테이블(221)로 구성하고 있는 패킷정보DB(520)와, 패킷정보를 검색하기 위한 원시검색쿼리를 요청받고, 상기 원시검색쿼리를 각 패킷정보 테이블(221)별로 분할하여 검색쿼리를 처리하여 그 결과를 반환하는 검색쿼리처리부(540)을 포함하는 패킷정보DB서버(501)와;A packet information DB 520 comprising a plurality of packet information tables 221 having the same structure as a table capable of storing packet information, and a raw search query for retrieving packet information are requested. A packet information DB server 501 including a search query processing unit 540 which divides each packet information table 221 and processes a search query and returns a result thereof; 인터넷전화망(VoIP)의 백본 스위치에 연결되어 VoIP 망에 전송되는 모든 패킷을 캡쳐(Mirroring)하고 캡쳐된 시간인 생성시간과 함께 보관하는 패킷수집 부(510)와, 주기적으로, 수집된 패킷들에서 정보를 추출하여 패킷의 생성시간과 함께 패킷정보로 구성하여, 상기 패킷정보 테이블(221)들에 분할하여 저장하는 패킷정보 생성부(530)를 포함하는 다수의 패킷수집장치(502);A packet collecting unit 510 which is connected to a backbone switch of a VoIP network and captures all packets transmitted to the VoIP network and stores them together with a generation time which is a captured time, and periodically, A plurality of packet collecting apparatuses 502 including packet information generating unit 530 which extracts information and configures packet information together with a packet generation time, and divides and stores the information into packet information tables 221; 를 포함하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색서버 장치.Real-time packet information retrieval server device through the DB partition and query partition comprising a. 제 17 항에 있어서, 상기 패킷수집부(510)는,The method of claim 17, wherein the packet collecting unit 510, 캡쳐한 패킷과 생성시간을 임시저장하고, 임시저장은 상기 패킷정보 생성부(530)가 패킷정보를 생성하여 저장하는 주기보다는 오랫동안 보관하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색서버 장치.Temporarily store the captured packet and the generation time, and the temporary storage is a real-time packet information search through the DB partition and query partition, characterized in that the packet information generation unit 530 stores the packet information for a longer period of time to generate and store the packet information Server device. 제 17 항에 있어서, 상기 다수의 패킷정보 테이블(221)은,The method of claim 17, wherein the plurality of packet information table 221, 각 테이블의 크기가 동일하고, 테이블들의 개수와 크기는 수집되는 패킷의 수량과 DB 쿼리의 처리속도, 패킷정보를 보관해야하는 기간에 의하여 결정되는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색서버 장치.The size of each table is the same, and the number and size of the tables are determined by the number of packets collected, the processing speed of the DB query, and the period to store the packet information. Search server device. 제 17 항에 있어서,The method of claim 17, 상기 패킷정보 생성부(530)에서 패킷에서 추출되는 정보는 < Call ID > 와, < 발신전화번호 >, < 수신전화번호 >, < 메소드 >, < 전화단말정보 >, < 소스 IP/Port >, < 목적 IP/Port > 를 포함하고,The information extracted from the packet by the packet information generating unit 530 includes <Call ID>, <Calling ID>, <Incoming Call Number>, <Method>, <Phone Terminal Information>, <Source IP / Port>, Including <destination IP / Port>, 상기 패킷정보 테이블(221)은 상기 추출되는 정보와 < 생성시간 > 을 포함하는 구성을 가지는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색서버 장치.The packet information table (221) is a real time packet information retrieval server apparatus through DB partitioning and query partitioning, characterized in that the configuration including the extracted information and <generation time>. 제 17 항에 있어서,The method of claim 17, 상기 다수의 패킷정보 테이블(221)은 패킷정보의 생성시간 기준으로 저장하는 범위가 정해지고, 상기 저장범위의 시간기준에 따라 테이블간 순서가 정해지고,In the plurality of packet information tables 221, a range for storing packet information is determined based on a generation time of packet information, and an order between tables is determined according to a time criterion of the storage range. 상기 패킷정보 생성부(530)는 생성된 패킷정보를 생성시간 기준에 따라 상기 다수의 패킷정보 테이블(221)들에 순차적으로 저장하고, 마지막 테이블까지 모두 저장되면 처음 테이블부터 다시 순환하여 저장하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색서버 장치.The packet information generation unit 530 sequentially stores the generated packet information in the plurality of packet information tables 221 according to the generation time reference, and if all the tables are stored up to the last table, the packet information generation unit 530 cycles from the first table again. Real time packet information retrieval server device through the DB partition and query partition. 제 17 항에 있어서, 검색쿼리처리부(540)는,The method of claim 17, wherein the search query processing unit 540, 상기 다수의 패킷정보 테이블(221)을 하나의 테이블로 간주하고 작성된 원시검색쿼리(310)를 각 패킷정보 테이블(221)마다 해당 테이블만 참조하는 테이블별 쿼리(321)를 작성한 후 UNION 명령어로 각 쿼리를 하나로 묶어 분할된 검색쿼리(320)를 만드는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색서버 장치.Consider the plurality of packet information tables 221 as one table, and create a table-specific query 321 referencing only the corresponding table for each packet information table 221 for the raw search query 310 that is created, and then use the UNION command for each table. Real-time packet information retrieval server device through DB partitioning and query partitioning characterized in that to form a divided query query 320 by combining the query. 제 22 항에 있어서, 검색쿼리처리부(540)는,The search query processing unit 540 of claim 22, 상기 각 패킷정보 테이블(221)의 생성시간기준 저장범위를 상기 패킷정보DB(520)로부터 얻어오고, 상기 원시검색쿼리(310)내의 생성시간 범위조건과 테이블의 생성시간기준 저장범위와 겹치는 경우에 해당하는 패킷정보 테이블(221)에 대해서만, 상기 테이블별 쿼리(321)를 작성하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색서버 장치.When the generation time reference storage range of each packet information table 221 is obtained from the packet information DB 520 and overlaps the generation time range condition in the source search query 310 with the generation time reference storage range of the table. The real-time packet information retrieval server apparatus according to DB partitioning and query partitioning, wherein the table-specific query 321 is generated only for the corresponding packet information table 221. 제 23 항에 있어서, 검색쿼리처리부(540)는,The search query processing unit 540 of claim 23, 상기 테이블별 쿼리(321)의 생성시간 조건을 참조하는 패킷정보 테이블(221)의 생성시간기준 저장범위내로 정하고, 상기 테이블별 쿼리의 조건을 기술할 때, 생성시간 조건을 맨 앞으로 배치하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색서버 장치.It is set within the generation time reference storage range of the packet information table 221 referring to the generation time condition of the query for each table 321, and when the condition of the query for each table is described, the generation time condition is placed first. Real time packet information retrieval server device through DB partition and query partition. 인터넷전화망(VoIP)의 백본스위치에 연결되어 전송되는 패킷을 캡쳐하여 다수의 분할된 패킷정보 테이블에 패킷정보를 저장하고, 외부에는 하나의 패킷정보 테이블의 구조만을 노출시켜 하나의 테이블로 간주하여 작성된 검색쿼리를 요청받아 처리하기 위한, DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색처리 방법에 있어서,It captures the packet that is connected to the backbone switch of the Internet telephone network (VoIP) and stores the packet information in a plurality of divided packet information tables, and exposes the structure of only one packet information table to the outside and regards it as one table. In the real time packet information retrieval processing method through DB partitioning and query partitioning to receive and process a search query, 패킷정보를 저장할 수 있는 테이블을 다수의 동일한 패킷정보 테이블로 구성하는 패킷정보DB 분할단계(S610)와;A packet information DB dividing step (S610) of constructing a table capable of storing packet information into a plurality of identical packet information tables; 인터넷전화망(VoIP)의 백본스위치에 연결하여 망에 전송되는 모든 패킷을 캡쳐(Mirroring)하고 캡쳐된 시간인 생성시간과 함께 보관하는 실시간 패킷캡쳐(Mirroring)단계(S620);A real-time packet capturing step (S620) connected to a backbone switch of an Internet telephone network (VoIP) to capture all packets transmitted to the network and store them together with a generated time, which is captured time (S620); 주기적으로, 수집된 패킷들에서 정보를 추출하여 패킷의 생성시간과 함께 패킷정보로 구성하여, 상기 패킷정보 테이블들에 분할하여 저장하는 패킷정보 DB테이블 저장단계(S630);A packet information DB table storing step (S630) of periodically extracting information from the collected packets, configuring the packet information together with a packet generation time, and dividing and storing the packet information into the packet information tables; 패킷정보를 검색하기 위하여 다수의 패킷정보 테이블을 하나의 테이블로 간주하여 원시검색쿼리를 작성하는 원시검색쿼리 생성단계(S640);Generating a source search query by considering a plurality of packet information tables as one table in order to retrieve the packet information (S640); 상기 원시검색쿼리를 각 패킷정보 테이블별로 분할하여 검색쿼리를 작성하는 분할된 검색쿼리 생성단계(S650);Generating a search query by dividing the source search query by each packet information table (S650); 작성된 쿼리를 패킷정보DB에 요청하여 그 결과를 얻는 쿼리요청 및 결과생성단계(S660);A query request and result generation step of requesting the written query to the packet information DB to obtain the result (S660); 를 포함하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색처리 방법.Real-time packet information retrieval processing method through DB partitioning and query partitioning comprising a. 제 25 항에 있어서, 패킷정보DB 분할단계(S610)는,26. The method of claim 25, wherein the packet information DB dividing step (S610), 테이블의 크기가 동일하고, 상기 패킷정보 테이블의 개수와 크기는 수집되는 패킷의 수량과 DB 쿼리의 처리속도, 패킷정보를 보관해야하는 기간에 의하여 결정되는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색처리 방법.The size of the table is the same, the number and size of the packet information table is determined by the number of packets to be collected, the processing speed of the DB query, the period to store the packet information, real-time through DB partitioning and query partitioning Packet information retrieval processing method. 제 25 항에 있어서,The method of claim 25, 패킷정보 DB테이블 저장단계(S630)는 패킷에서 추출하는 정보는 < Call ID > 와, < 발신전화번호 >, < 수신전화번호 >, < 메소드 >, < 전화단말정보 >, < 소스 IP/Port >, < 목적 IP/Port > 를 포함하고,In the packet information DB table storing step (S630), the information extracted from the packet includes <Call ID>, <Calling ID>, <Incoming Call Number>, <Method>, <Phone Terminal Information>, and <Source IP / Port>. , Including <destination IP / Port>, 상기 패킷정보 테이블은 상기 추출되는 정보와 < 생성시간 > 을 포함하는 구성을 가지는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색처리 방법.The packet information table has a structure including the extracted information and <generation time>, real-time packet information retrieval processing method through DB partitioning and query partitioning. 제 25 항에 있어서, 실시간 패킷캡쳐단계(S620)는,The method of claim 25, wherein the real-time packet capture step (S620), 캡쳐한 패킷과 생성시간을 임시저장하고, 임시저장은 상기 패킷정보 DB테이블 저장단계(S630)에서 패킷정보를 생성하여 저장하는 주기보다는 오랫동안 보관하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색처리 방법.Temporarily stores the captured packet and the generation time, and the temporary storage is a real time packet through DB partitioning and query partitioning, characterized in that the packet information is stored for a longer time than the period of generating and storing the packet information in the packet information DB table storage step (S630). How to retrieve information. 제 25 항에 있어서,The method of claim 25, 상기 다수의 패킷정보 테이블(221)은 패킷정보의 생성시간 기준으로 저장하는 범위가 정해지고, 상기 저장범위의 시간기준에 따라 테이블간 순서가 정해지고,In the plurality of packet information tables 221, a range for storing packet information is determined based on a generation time of packet information, and an order between tables is determined according to a time criterion of the storage range. 상기 패킷정보 DB테이블 저장단계(S630)는 생성된 패킷정보를 생성시간 기준에 따라 상기 다수의 패킷정보 테이블들에 순차적으로 저장하고, 마지막 테이블까지 모두 저장되면 처음 테이블부터 다시 순환하여 저장하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색처리 방법.The packet information DB table storing step (S630) sequentially stores the generated packet information in the plurality of packet information tables according to a generation time criterion, and when all the tables are stored up to the last table, the packet information DB table is cyclically stored again from the first table. Real time packet information retrieval processing method through DB partitioning and query partitioning. 제 25 항에 있어서, 분할된 검색쿼리 생성단계(S650)는,The method of claim 25, wherein the divided search query generation step (S650), 상기 원시검색쿼리를 각 패킷정보 테이블마다 해당 테이블만 참조하는 테이블별 쿼리를 작성한 후 UNION 명령어로 각 쿼리를 하나로 묶어 분할된 검색쿼리를 만드는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색처리 방법.Real-time packet information retrieval through DB partitioning and query partitioning, after creating a table-specific query referencing only the corresponding table for each packet information table and then combining each query into a UNION command to create a partitioned search query Treatment method. 제 29 항과 제 30 항에 있어서, 분할된 검색쿼리 생성단계(S650)는,31. The method of claim 29 and 30, wherein the divided search query generation step (S650), 상기 패킷정보 테이블의 생성시간기준 저장범위를 상기 패킷정보DB로부터 얻어오는 단계와;Obtaining a generation time reference storage range of the packet information table from the packet information DB; 상기 원시검색쿼리내의 생성시간 범위조건과 테이블의 생성시간기준 저장범위와 겹치는 경우에 해당하는 패킷정보 테이블에 대해서만, 테이블별 쿼리를 작성하는 단계;Creating a table-specific query only for the packet information table corresponding to the case where the generation time range condition in the source search query and the generation time reference storage range of the table overlap; 작성된 상기 테이블별 쿼리들을 UNION 명령어로 하나로 묶는 단계;Grouping the created queries for each table into a UNION command; 를 포함하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색처리 방법.Real-time packet information retrieval processing method through DB partitioning and query partitioning comprising a. 제 31 항에 있어서, 분할된 검색쿼리 생성단계(S650)는,The method of claim 31, wherein the divided search query generation step (S650), 상기 테이블별 쿼리의 생성시간 조건을 참조하는 패킷정보 테이블의 생성시간 생성시간기준 저장범위내로 정하고, 상기 테이블별 쿼리의 조건을 기술할 때, 생성시간 조건을 맨 앞으로 배치하는 것을 특징으로 하는 DB분할 및 쿼리분할을 통한 실시간 패킷정보 검색처리 방법.DB partition, characterized in that within the storage time generation time reference storage range of the packet information table referring to the generation time conditions of the query for each table, and when the condition of the query for each table is described, the generation time condition is placed to the front And real time packet information retrieval processing method through query partitioning.
KR1020070096170A 2007-09-20 2007-09-20 Query processing system and methods for a database with packet information by dividing a table and query KR100835654B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070096170A KR100835654B1 (en) 2007-09-20 2007-09-20 Query processing system and methods for a database with packet information by dividing a table and query
PCT/KR2008/005554 WO2009038384A1 (en) 2007-09-20 2008-09-19 Query processing system and methods for a database with packet information by dividing a table and query

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070096170A KR100835654B1 (en) 2007-09-20 2007-09-20 Query processing system and methods for a database with packet information by dividing a table and query

Publications (1)

Publication Number Publication Date
KR100835654B1 true KR100835654B1 (en) 2008-06-05

Family

ID=39770225

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070096170A KR100835654B1 (en) 2007-09-20 2007-09-20 Query processing system and methods for a database with packet information by dividing a table and query

Country Status (2)

Country Link
KR (1) KR100835654B1 (en)
WO (1) WO2009038384A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009038384A1 (en) * 2007-09-20 2009-03-26 Haechang Systems Co., Ltd. Query processing system and methods for a database with packet information by dividing a table and query
KR101286725B1 (en) * 2011-12-19 2013-07-16 주식회사 프라이머리넷 Internet telephone system displaying international call
WO2014058189A1 (en) * 2012-10-10 2014-04-17 주식회사 아이디어웨어 Polling detection device and method, and recording medium

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521732B2 (en) 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
WO2011060377A1 (en) * 2009-11-15 2011-05-19 Solera Networks, Inc. Method and apparatus for real time identification and recording of artifacts
US8666985B2 (en) 2011-03-16 2014-03-04 Solera Networks, Inc. Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
US9608879B2 (en) 2014-12-02 2017-03-28 At&T Intellectual Property I, L.P. Methods and apparatus to collect call packets in a communications network
CN111314565B (en) * 2019-11-01 2022-03-08 厦门快商通科技股份有限公司 Voice packet capturing and distributing processing method and system, mobile terminal and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004248192A (en) 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> CONTROL SEQUENCE GENERATING METHOD IN VoIP SERVICE, TESTING METHOD USING THE SAME, TESTING AND CAPTURING DEVICE USED FOR TESTING METHOD AND COMPUTER PROGRAM FOR IMPLEMENTING TESTING AND CAPTURING DEVICE
US20060268847A1 (en) 2002-06-13 2006-11-30 Nice Systems Ltd. Voice over IP capturing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100835654B1 (en) * 2007-09-20 2008-06-05 (주)해창시스템 Query processing system and methods for a database with packet information by dividing a table and query

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060268847A1 (en) 2002-06-13 2006-11-30 Nice Systems Ltd. Voice over IP capturing
JP2004248192A (en) 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> CONTROL SEQUENCE GENERATING METHOD IN VoIP SERVICE, TESTING METHOD USING THE SAME, TESTING AND CAPTURING DEVICE USED FOR TESTING METHOD AND COMPUTER PROGRAM FOR IMPLEMENTING TESTING AND CAPTURING DEVICE

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009038384A1 (en) * 2007-09-20 2009-03-26 Haechang Systems Co., Ltd. Query processing system and methods for a database with packet information by dividing a table and query
KR101286725B1 (en) * 2011-12-19 2013-07-16 주식회사 프라이머리넷 Internet telephone system displaying international call
WO2014058189A1 (en) * 2012-10-10 2014-04-17 주식회사 아이디어웨어 Polling detection device and method, and recording medium

Also Published As

Publication number Publication date
WO2009038384A1 (en) 2009-03-26

Similar Documents

Publication Publication Date Title
KR100835654B1 (en) Query processing system and methods for a database with packet information by dividing a table and query
US9565076B2 (en) Distributed network traffic data collection and storage
Wullink et al. ENTRADA: A high-performance network traffic data streaming warehouse
US10691748B2 (en) Methods and apparatus to process call packets collected in a communications network
US7437451B2 (en) System and method for collecting desired information for network transactions at the kernel level
US8370369B2 (en) Method and system for network fault management
US8179799B2 (en) Method for partitioning network flows based on their time information
EP2561645B1 (en) Integrated network data collection arrangement
WO2005109754A1 (en) System and method for real-time monitoring and analysis for network traffic and content
US10177969B2 (en) System and method of troubleshooting in a telecommunications network
CN112632129A (en) Code stream data management method, device and storage medium
US9736215B1 (en) System and method for correlating end-user experience data and backend-performance data
KR102423039B1 (en) Real-time packet data storing method and apparatus for mass network monitoring
CN106648722A (en) Flume receiving side data processing method and device based on big data
CN110475161B (en) Automatic fault positioning method and system for IPTV service live link
US10164819B2 (en) Correlating web traffic events to a web page session
CN109818799A (en) Log collection analysis method and equipment
KR102423038B1 (en) Real-time packet data collection method and apparatus for mass network monitoring
KR100835647B1 (en) Statistical data managing system and methods of mirrored packets for realtime monitoring and performance trend analysis by separating realtime statistical data and transition analysis data
KR101345095B1 (en) Method and system for bgp routing data processing based on cluster
CN109088877A (en) A kind of sort algorithm of tracing to the source under the environment suitable for Attack monitoring
KR102537370B1 (en) Real-time packet analysis method and apparatus for mass network monitoring
EP3474489B1 (en) A method and a system to enable a (re-)configuration of a telecommunications network
Hall Multi-layer network monitoring and analysis
Djatmiko et al. Privacy preserving distributed network outage monitoring

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
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