ES2661563T3 - Sistema y método para procesar consultas complejas - Google Patents

Sistema y método para procesar consultas complejas Download PDF

Info

Publication number
ES2661563T3
ES2661563T3 ES11305300.3T ES11305300T ES2661563T3 ES 2661563 T3 ES2661563 T3 ES 2661563T3 ES 11305300 T ES11305300 T ES 11305300T ES 2661563 T3 ES2661563 T3 ES 2661563T3
Authority
ES
Spain
Prior art keywords
elements
associations
data
prices
association
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES11305300.3T
Other languages
English (en)
Inventor
David Pauchet
Benoît Janin
Rudy Daniello
Thierry Dufresne
Marc Patoureaux
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
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 Amadeus SAS filed Critical Amadeus SAS
Application granted granted Critical
Publication of ES2661563T3 publication Critical patent/ES2661563T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • G06Q10/025Coordination of plural reservations, e.g. plural trip segments, transportation combined with accommodation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Método para procesar una búsqueda de datos basándose en una consulta compleja para al menos un conjunto de elementos combinados que corresponden a unos parámetros de búsqueda, siendo al menos dos de los elementos combinados de diferentes tipos de elementos, comprendiendo dicho método las etapas de procesamiento de consulta de: i) obtener datos de definición de elementos de al menos dos diferentes tipos de elementos, teniendo dichos datos de definición estructuras de datos heterogéneas, comprendiendo dichos datos de definición al menos un precio de elemento para cada elemento, ii) convertir dichos datos de definición en datos de definición convertidos que comparten una única estructura de datos genérica, iii) recibir la consulta compleja en un motor de búsqueda, iv) en el motor de búsqueda, hallar elementos de al menos dos diferentes tipos de elemento cuyos datos de definición convertidos corresponden a la consulta y combinar dichos elementos, comprendiendo la etapa de combinación: - asociar precios de elemento de dichos elementos, - crear al menos un conjunto de precios de elementos combinados basándose en la asociación de precios de elementos, v) devolver al menos un conjunto de precios de elementos combinados.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Sistema y método para procesar consultas complejas Campo de la invención
La presente invención se refiere en general al campo de procesamiento de datos. Más específicamente está relacionada con el manejo de consultas complejas que en este punto significa que cada consulta implica buscar y recuperar de una base de datos una multiplicidad de elementos a asociarse juntos para presentar a los conjuntos de usuarios de dichos elementos combinados juntos de una manera lógica.
Una aplicación no limitativa es el procesamiento de solicitudes de búsqueda en el campo de la industria de los viajes y turismo y cuando un usuario desea reservar un paquete de servicios, tal como una combinación de servicios de viaje aéreo con alojamiento de hotel y/o alquiler de coches que son muy diferentes componentes por naturaleza.
Antecedentes
Los sistemas de búsqueda de hoy en día son muy eficaces para procesar solicitudes para un tipo de elementos. En el campo de la industria de los viajes, los motores de búsqueda son ampliamente usados ahora y devuelven soluciones de viaje que se envían en respuesta a una solicitud de usuario final. Este es el caso para motores especializados en la industria de las líneas aéreas tales como motores de búsqueda de tarifas bajas que proporcionan al usuario con un conjunto de soluciones de vuelo de bajo precio para que se visualicen en una interfaz gráfica amigable.
El éxito de estas técnicas conduce a la industria a proponer herramientas informatizadas para ampliar el alcance de las búsquedas, para devolver paquetes de productos. Esto es particularmente el caso en la industria de los viajes donde el cliente a menudo necesita un paquete de servicios cuando viaja. Los productos a empaquetarse pueden incluir tiques de vuelo, noches de hotel y actividades de turismo.
La Figura 1 representa cómo una técnica del estado de la técnica crea paquetes de productos. Se usa una pluralidad de repositorios de datos Da, Db y Dc y cada uno almacena productos de viaje de un tipo. A modo de ejemplo, Da, Db y Dc respectivamente contienen información acerca de asientos aéreos, acerca de habitaciones de hotel y acerca de servicios de alquiler de coches. Un servidor S se usa como un nodo central del sistema. Recibe solicitudes de usuario y devuelve soluciones de paquetes de viaje de usuarios finales a través de una red tal como una red de área extensa preferentemente internet. Tras la recepción de una solicitud, el servidor S comunica una pluralidad de consultas individuales teniendo cada una como objetivo un motor de búsqueda Ea, Eb, Ec respectivamente asociado con uno de los repositorios Da, Db, Dc. Las búsquedas locales e independientes se realizan en el nivel de los motores de búsqueda Ea, Eb, Ec y los productos se devuelven al servidor S. El último servidor a continuación agrega los productos para construir paquetes de viajes realizados de una pluralidad de productos. Se desvela una técnica anterior comparable en la publicación de Patente de Estados Unidos US2003/0055690 A1. Un sistema de búsqueda de este tipo es complejo e implica múltiples recursos informáticos de hardware/software.
Sumario
La invención tiene como objetivo superar al menos algunas de las desventajas de técnicas actuales para procesar consultas complejas.
Un problema técnico que la invención pretende resolver es optimizar el procesamiento de consultas complejas donde múltiples elementos de diferentes naturalezas necesitan buscarse y combinarse para producir una respuesta a una solicitud de usuario. La invención proporciona una solución eficaz para búsquedas basadas en datos heterogéneos y activados por consultas complejas.
De una manera más específica, la presente invención se refiere a un método para procesar una búsqueda de datos basándose en una consulta compleja para al menos un conjunto de elementos combinados que corresponden a unos parámetros de búsqueda, siendo al menos dos de los elementos combinados de diferentes tipos de elemento. Dicho método preferentemente comprende las etapas de procesamiento de consulta de:
i) obtener datos de definición de elementos de al menos dos diferentes tipos de elemento, teniendo dichos datos de definición estructuras de datos heterogéneas, comprendiendo dichos datos de definición al menos un precio de elemento para cada elemento,
ii) convertir dichos datos de definición en datos de definición convertidos que comparten una única estructura de datos genérica,
iii) recibir la consulta compleja en un motor de búsqueda,
iv) en el motor de búsqueda, hallar elementos de al menos dos diferentes tipos de elemento cuyos datos de definición convertidos corresponden a la consulta y combinar dichos elementos, comprendiendo la etapa de
5
10
15
20
25
30
35
40
45
50
55
60
65
combinar:
- asociar precios de elemento de dichos elementos,
- crear al menos un conjunto de precios de elementos combinados basándose en asociación de precios de elemento
v) y devolver al menos un conjunto de precios de elementos combinados.
El al menos un conjunto de los elementos combinados de las reivindicaciones es/son preferentemente el mejor conjunto o conjuntos con respecto a parámetros de evaluación tal como, pero no sistemáticamente, el precio del conjunto. En el último caso, el mejor conjunto o conjuntos es o son el o los más económicos.
Gracias a la invención, pueden realizarse búsquedas basándose en fuentes de datos muy heterogéneas. Las estructuras de datos heterogéneas en este punto significan que al menos dos de los tipos de elemento se definen por datos de diferentes estructuras de datos. La presentación de los datos y/o los campos de datos que describen los elementos de dichos tipos de elementos son por lo tanto diferentes de una fuente de datos a al menos otra y esto significa que ningún motor de búsqueda único normalmente puede buscar entre estas fuentes heterogéneas. Mientras que los sistemas actuales hacen frente a este problema multiplicando los motores de búsqueda (uno para cada fuente) e implementando medios de post-procesamiento para agregar los resultados obtenidos de la pluralidad de motores, la invención ahorra drásticamente recursos informáticos puesto que es suficiente un motor. Además el motor produce directamente asociaciones de elementos sin requerir una etapa posterior de agregación.
Y los resultados devueltos por el motor son mucho más fiables. Esto es debido a que el motor directamente funciona con elementos descritos por datos de definición de la misma estructura de datos de modo que la búsqueda y la combinación de los elementos están integrados dentro del mismo proceso.
Características opcionales adicionales que pueden usarse de manera acumulativa o alternativa se presentan en lo sucesivo:
- el método comprende las etapas de almacenar los datos de definición en un repositorio y de realizar el acceso del motor de búsqueda al repositorio.
- la etapa de combinación comprende comprobar si la asociación de precios de elemento cumple con reglas combinatorias.
- la consulta compleja incluye datos que definen una pluralidad de componentes derivados de los parámetros de búsqueda y para los que se ha de buscar al menos un elemento.
- la etapa de combinación comprende:
- para cada componente, recuperar un conjunto de un elemento en correspondencia,
- asociar precios de elementos en correspondencia,
- comprobar si la asociación de los precios de elementos en correspondenciacumple con las reglas combinatorias,
- si la asociación cumple con las reglas combinatorias, validar la asociación de los precios de elementos en correspondencia,
- si la asociación falla al cumplir con las reglas combinatorias, invalidar la asociación de los precios de elementos en correspondencia.
- el método comprende repetir las etapas precedentes con al menos una asociación adicional de precios de elementos en correspondencia.
- comprende definir una pluralidad de componentes derivados de los parámetros de búsqueda y para los que se ha de buscar al menos un elemento, y definir, para cada componente, al menos un tipo de elemento para los que se ha de buscar al menos un elemento.
- las siguientes etapas se procesan:
ejecutar las etapas de procesamiento de consulta para una pluralidad de consultas para crear asociaciones de elementos en correspondencia,
tras la recepción de una solicitud de un usuario final, recuperar al menos una de dichas asociaciones que corresponde a la solicitud,
comprobar si la al menos una de dichas asociaciones cumple con las reglas combinatorias,
si la al menos una de dichas asociaciones cumple con las reglas combinatorias, validar la al menos una de
dichas asociaciones,
si la al menos una de dichas asociaciones falla al cumplir con las reglas combinatorias, invalidar la al menos una de dichas asociaciones,
devolver al usuario final a la al menos una de dichas asociaciones si es una validada.
- las siguientes etapas se ejecutan:
ejecutar las etapas de procesamiento de consulta para una pluralidad de consultas para crear asociaciones
5
10
15
20
25
30
35
40
45
50
55
60
65
de precios de elementos en correspondencia,
crear asociaciones de elementos en correspondenciabasándose en las asociaciones de precios de elementos en correspondencia;
comprobar si las asociaciones de elementos en correspondenciacumplen con las reglas combinatorias,
para cada una de las asociaciones de elementos en correspondencia, si cumple con las reglas combinatorias,
validar dicha asociación, y si falla al cumplir con las reglas combinatorias, invalidar dicha asociación,
almacenar las asociaciones validadas o al menos algunas de ellas; seleccionadas de acuerdo con criterios de
evaluación, tal como el precio, para almacenar únicamente las mejores asociaciones validadas,
tras la recepción de una solicitud de un usuario final, recuperar al menos una de dichas asociaciones
validadas mejores que corresponden a la solicitud,
devolviendo al usuario final la al menos una de dichas mejores asociaciones validadas.
- los datos de definición comprenden datos de precio, datos de disponibilidad y datos de regla de aplicación.
- los tipos de elementos incluyen al menos dos de: tipo de elemento de viaje aéreo, tipo de elemento de viaje de tren, tipo de elemento de alojamiento, tipo de elemento de alquiler de coche.
- el método se realiza como resultado de la ejecución de software informático por al menos un procesador de datos, almacenándose el software informático en un medio de memoria legible por ordenador no transitorio, que en este punto comprende cualquier memoria legible por ordenador, tal como memorias ROM o RAM.
La presente invención se refiere adicionalmente a un sistema para procesar una búsqueda de datos basándose en una consulta compleja que comprende medios para ejecutar el método de la invención.
De acuerdo con una realización preferida, el motor de búsqueda es un motor de búsqueda de tarifas bajas.
Este sistema puede comprender software informático almacenado en un medio de memoria legible por ordenador no transitorio que se ejecuta por al menos un procesador de datos que comprende parte del sistema.
La presente invención también se refiere a un producto de programa informático que almacena un programa informático que comprende instrucciones adaptadas para realizar el método de la invención.
Breve descripción de los dibujos
La presente invención se describirá ahora en detalle con referencia a los dibujos para el fin de ilustrar la realización preferida.
La Figura 1 ilustra un ejemplo de un sistema del estado de la técnica para agregar resultados de consultas.
La Figura 2 muestra una realización preferida de un aspecto de la invención relacionado con la conversión de datos de definición.
La Figura 3 representa un ejemplo de conversión de datos de definición.
La Figura 4 es un diagrama que ilustra las etapas del método.
La Figura 5 muestra una etapa de comprobación.
La Figura 6 ilustra una realización de la invención con la construcción de una base de datos de asociaciones de elementos.
La Figura 7 muestra una alternativa a la realización dada en la Figura 6.
Descripción detallada
La invención puede implementarse con medios de hardware y software informático. Puede incluir un lado de servidor donde tiene lugar el procesamiento de datos. Este lado de servidor - que puede estar comprendido de un único dispositivo informático o varios - preferentemente comunica mediante recursos de red con al menos un dispositivo de usuario remoto tal como, pero no exclusivamente, un ordenador de sobremesa, un teléfono inteligente o similares. Las redes de comunicación usadas para la transmisión de datos pueden incluir redes de área local y/o redes de área extensa tal como Internet.
Se proporcionan en lo sucesivo unas pocas definiciones:
- "solicitud de usuario final" o solicitud en este punto significa una solicitud de búsqueda enviada desde un dispositivo del sistema y que pretende obtener resultados que corresponden a parámetros de búsqueda. En una realización preferida la solicitud es basándose en parámetros de búsqueda al menos parcialmente introducidos por un usuario - tal como un usuario remoto que comunica con otras partes del sistema mediante una red - a un dispositivo de usuario. En una aplicación preferida, la solicitud es para soluciones de disposición de viaje que comprenden una pluralidad de elementos (véase en lo sucesivo “componente”) para asociarse.
- "consulta" en este punto significa un mensaje enviado a un motor de búsqueda y que especifica criterios de búsqueda. Dependiendo del contexto de funcionamiento, las consultas pueden basarse o derivarse de solicitudes de usuarios finales o generarse automáticamente en el lado del servidor sin estar directamente enlazadas a un tráfico real de solicitudes de usuario.
5
10
15
20
25
30
35
40
45
50
55
60
65
- "componente" en este punto significa un elemento de una asociación de elementos usados para formar una solución en respuesta a una solicitud de usuario. En el caso de disposiciones de viaje, los componentes son típicamente segmentos que cada uno satisface una porción de la disposición de viaje definida por los parámetros de búsqueda. A modo de ejemplo, una solicitud de viaje compleja puede incluir un componente de viaje de salida, un componente de alojamiento y un componente de viaje de entrada. Un componente puede incluir un conjunto de elementos que están agrupados de manera que forman una única entidad a buscarse. Por ejemplo, las noches de hotel consecutivas pueden consistir en un único componente.
- "tipo de elemento" en este punto significa una definición de clase genérica de elementos que comparten la misma naturaleza o estructura. En el campo de la industria de los viajes y el turismo, un tipo de elemento es típicamente una clase de servicios proporcionados a un cliente tal como servicios de viaje aéreo, servicios de viaje de tren, servicios de alojamiento de hotel, servicios de alquiler de coches, servicios de comida y cualquier otro servicio que un cliente pueda necesitar durante un periodo de viaje. Tipos de elementos que se usan para clasificar elementos que son los bloques unitarios usados para crear una solución completa que corresponda a la solicitud compleja. En una realización preferida los elementos son productos que pueden combinarse juntos para satisfacer las necesidades expresadas por el usuario en la solicitud. A modo de ejemplo un elemento puede ser: un tramo de viaje aéreo (que corresponde a un vuelo entre un origen y un destino), un servicio de alquiler de coche, una noche (o un conjunto de noches) de hotel (u otro alojamiento), una reserva de taxi, un segmento de viaje distinto de un segmento aéreo (trenes, bus ...). Los componentes pueden corresponder a un tipo de elemento o varios tipos de elementos. Por ejemplo un viaje entre una localización de origen y una localización de destino, que corresponde a un componente de una solicitud puede conducir a una búsqueda de vuelos y trenes que corresponden a los parámetros de búsqueda.
La descripción detallada de una realización preferida se proporciona en lo sucesivo en el caso de productos de viaje.
Mostramos por la presente cómo está estructurado un producto de viaje típico en el campo de la industria aérea. La industria de las líneas aéreas adopta una definición bastante compleja de los productos de viaje a emitirse. Esta definición se organiza alrededor de un concepto de definición de precio que no proporciona únicamente la información de cantidad de precio acerca de un producto de viaje sino que también detalla acerca de la aplicación del precio, indicación de disponibilidad en la parte superior de datos más generales (origen y destino, clase de cabina y nivel de servicio...).
Un aspecto de estos datos son las reglas de aplicación un ejemplo de las cuales se proporciona en lo sucesivo: dentro de cada regla, hay categorías que están diseñadas por un número. Una categoría describe las condiciones en un área dada. Por ejemplo, tenemos: 1 ^ Capacidad de elección... 19 ^ Descuento de niños... Etc. Dentro de una categoría, hay elementos denominados registros 2 en lo sucesivo denominados simplemente registros. Cada uno de ellos está compuesto de un conjunto de elementos denominados elementos en correspondencia (loc 1, loc2, fechas efectivas e interrumpidas...) que definen qué registro 2 es aplicable para un viaje dado. Un registro 2 contiene una cadena de registros 3. Cada registro 3 define un conjunto dado de restricciones para la categoría.
En este punto hay un ejemplo:
- Regla AF01
o Categoría 1- Capacidad de elección
■ Registro 2
• Entre París y Londres
• Cadena con 2 registros 3 enlazados con OR
o Pasajero debe ser un soldado
o OR
o Pasajero debe ser un clérigo o Categoría 12 - recargos
■ Registro 2
• Entre París y Londres
• Cadena con 1 registro 3
o Si pasajero vuela en clase Business pagará un recargo de 2000 $
Esto muestra la complejidad de definición de los elementos cuando se hacen de productos de viaje aéreo definidos con precios. Además la estructura de datos y por lo tanto los tipos de elemento pueden ser diferentes de un operador de línea aérea o proveedor de viajes a otro. Y otros elementos de viaje (tales como tiques de tren, alquiler
5
10
15
20
25
30
35
40
45
50
55
60
65
de coche o habitaciones de hotel) tienen estructuras de datos de definición diferente de modo que un problema técnico es funcionar con las diversas estructuras de datos dentro del mismo proceso de respuesta a una consulta.
La Figura 2 representa una primera parte de la invención que corresponde una etapa de conversión. D1, D2 y D3 representan repositorios de datos - el número de los cuales no está limitado - y que contienen datos de definición de elementos. A modo de ejemplo los elementos de viaje aéreo se almacenan en D1, los elementos de habitación de hotel se almacenan en D2 y los elementos de alquiler de coches de almacenan en D3. Los datos de definición de los elementos almacenados en D1, D2 y D3 tienen diferentes estructuras de datos.
Por ejemplo, los elementos de viaje aéreo pueden ser de un tipo de elemento definido por:
- datos de precio
- datos de disponibilidad
- reglas
- datos de TLA, es decir datos que provienen de operadoras de bajo coste
- datos de OAG, es decir datos de vuelo
Elementos de habitación de hotel de fuente de D2 pueden ser de un tipo de elemento definido por:
- uno o varios datos de precios
- datos de definición de hotel y habitaciones de hotel
- reglas
Y elementos de alquiler de coches de D3 pueden ser de un tipo de elemento definido por:
- uno o varios datos de tarifas
- definición de coches
- reglas
Todos estos elementos corresponden a elementos heterogéneos que no comparten una estructura de datos genérica. Típicamente la estructura de datos de cada tipo de elemento se especifica por el administrador del proveedor del elemento considerado.
De acuerdo con la invención, se realiza una conversión de los datos de definición de los elementos. Un convertidor como se representa en la Figura 2 puede usarse para ese fin. Está configurado para emitir datos de definición convertidos de modo que todos los elementos se describen en una única estructura de datos genérica.
De acuerdo con una realización preferida, la estructura de datos genérica comprende:
- datos de identificación que describen el tipo de elemento (tal como aéreo, coche, hotel...) y posiblemente una marca asociada al elemento.
- al menos, un conjunto de precio de elemento compuesto de:
• Datos de precio (cantidad de precio)
• Disponibilidades
• Reglas de aplicación
Las reglas de aplicación pueden dividirse en dos categorías:
- reglas internas que indican las condiciones de aplicación de un precio de elemento; por ejemplo, las reglas pueden incluir la edad del solicitante;
- reglas externas, que son condiciones de aplicación de precio de elemento restringidas por la presencia o no presencia de otra clase de elemento en la asociación a crearse (por ejemplo un precio de hotel que requiere que se haya volado en una línea aérea específica). Las reglas externas especifican si la capacidad de combinación es posible con:
- tal elemento,
- tal marca,
- tal precio,
- o una combinación de estos criterios.
Las reglas externas se usan para comprobar la validez de asociación entre diversos elementos. Se denominan en lo sucesivo reglas combinatorias. En una realización las reglas combinatorias se almacenan en la misma área de memoria que las otras reglas de aplicación. En una realización alternativa, se almacenan en un nivel diferente. Pueden administrase por una persona que difiere del proveedor de los elementos. Por ejemplo, pueden definirse reglas combinatorias por el administrador de una entidad basada en web tal como una agencia de viajes en línea.
Si una regla combinatoria no se rellena en el formato genérico, el convertidor la adaptará de la misma manera que
5
10
15
20
25
30
35
40
45
50
55
60
65
adapta el resto del elemento datos de definición.
Para reglas combinatorias, el formato de datos genérico puede ser similar a la categoría 10 de reglas como se define por la IATA (Asociación de Transporte Aéreo Internacional) para capacidad de combinación de tarifas aéreas.
En este punto hay un caso ejemplificado de reglas combinatorias para un elemento de alquiler de coches que tiene una tarifa promocional:
• Combinación con elementos de hotel
“La tarifa puede usarse únicamente si el transporte de coches es desde o hacia un hotel IBIS® o MERCURE®.
• Combinación con elementos de vuelo
"La tarifa puede usarse únicamente si el transporte de coche es desde o hacia un vuelo de AIR FRANCE® que llega entre 8:00 am y 11:00 am o entre 14:00 pm y 17:00 pm.
Los resultados de la etapa de conversión realizada por el convertidor pueden almacenarse en un repositorio apropiado tal como la base de datos c d representada en la figura 2 y que contiene datos de definición de elementos convertidos (cd-i, cd2, cd3).
La Figura 3 ilustra un ejemplo adicional de la etapa de conversión de los datos de definición. En este caso, los elementos de hotel se someten a una transformación de formato desde la estructura representada en la tabla de la Figura 2 a un formato convertido en el que muchos elementos convertidos se crean a medida que hay líneas en la tabla.
Volviendo ahora a la figura 4, se ilustra una realización con un flujo de datos empezando desde la recepción de una solicitud de usuario a la provisión de resultados.
El usuario final - tal como un viajero potencial - introduce parámetros de búsqueda por medio de un dispositivo de ordenador. Preferentemente esta etapa usa una interfaz de usuario gráfica visualizada mediante un explorador. No todos los parámetros de búsqueda útiles para procesar la solicitud necesaria pueden introducirse por el usuario. Algunos parámetros pueden determinarse por el sistema basándose en, por ejemplo, valores por defecto o en valores deducidos del entorno de la solicitud del usuario (por ejemplo una localización de origen puede definirse como la localización del dispositivo de usuario determinada por un sistema de posicionamiento de satélite o una dirección IP).
En una realización, el usuario final conecta a una línea aérea u otro sitio web de proveedor y puede usar un botón de selección de producto para elegir componentes que desea reservar. Una vez que se selecciona un producto, la interfaz de usuario gráfica solicita que el usuario introduzca más detalles en el componente correspondiente. A modo de ejemplo, si el componente es un producto aéreo, conduce a la interfaz a solicitar las ciudades de salida y llegada así como las fechas o ventanas de tiempo. Entonces se ofrece que el usuario añada otro componente. De manera similar, cada nuevo componente implica la entrada de detalles particulares para esta parte de la solicitud.
Para fines de ilustración, considérese una solicitud desde un origen a la ciudad de Nueva York con alojamiento, entonces la entrada de la solicitud implicaría tres componentes: aéreo (de salida), hotel, aéreo (de entrada), que corresponden a dos tipos de elementos.
Preferentemente la solicitud se transmite a través de una red de comunicación a un lado del servidor. A continuación, la definición de los tipos de elementos relevantes y los parámetros de búsqueda se usan para definir una consulta para procesarse por un motor de búsqueda para buscar elementos en correspondencia. El motor puede ser un motor de compras de tarifas convencional tal como un motor de compras de precios usado en entornos transaccionales para devolver productos con precio. Con mayor precisión el motor puede ser un motor de búsqueda de tarifas bajas que tiene por objeto devolver soluciones de bajo precio. Gracias a la invención únicamente un motor -y de una clase convencional - es suficiente para procesar la consulta que, sin embargo, es compleja puesto que implica varios tipos de elementos.
Para buscar elementos en correspondencia, el motor accede a datos de definición convertidos obtenidos de acuerdo con el método de conversión previamente descrito.
El procesamiento de las consultas se controla preferentemente por los precios de elemento de los elementos. Como se ha indicado anteriormente, cada elemento se define por datos generales (identificación del elemento; datos de definición general...) y por al menos una (pero a menudo varios) precios de elemento. La asociación es en este punto basándose en los precios de elemento. Tras la recepción de una consulta, se buscan los elementos candidatos para cada componente de la consulta. Para los elementos hallados, el sistema inicia un mecanismo de asociación en el que los precios de elemento de los elementos hallados están asociados. El sistema descarta
5
10
15
20
25
30
35
40
45
50
55
asociaciones que fallaron (cuando sus reglas no son compatibles) y genera asociaciones de precios de elemento satisfactorias. Las últimas asociaciones se usan a continuación para crear conjuntos de elementos combinados a los que se asigna un precio que deriva de la asociación de los precios de elementos. Tales conjuntos de elementos combinados se denominan por lo tanto conjuntos con precios de elementos combinados.
Debería observarse que un elemento puede ser la fuente de series de asociaciones de precios de elemento. Por ejemplo, un elemento que tiene un precio de elemento Ay un precio de elemento B conduce a asociaciones basándose en A y o B.
En una realización, se combinan los mejores elementos hallados para cada componente.
Sin embargo pueden perseguirse otras políticas de asociación.
Las asociaciones de elementos deben cumplir con las reglas combinatorias. En una realización preferida, esta comprobación se hace dinámicamente con el proceso de asociación: empezando desde un precio de elemento en correspondencia (que corresponde a un elemento incluido en un conjunto de elementos que coinciden un componente de la solicitud), se considera un segundo precio de elemento en correspondencia (que corresponde a un elemento incluido en un conjunto de elementos que corresponde a otro componente de la solicitud). Su capacidad de combinación se comprueba accediendo a las reglas combinatorias. Esta comprobación se representa en la figura 5.
Si la asociación se invalida, se deja de considerar por el motor que continúa su búsqueda.
Si la asociación se valida, el motor a continuación intenta combinar la asociación con otro precio de un elemento que corresponda a un elemento que corresponde a otro componente más de la solicitud. De nuevo se comprueban reglas combinatorias y el proceso continúa hasta que se ha determinado una asociación completa de elementos en correspondencia que se ajustan a la solicitud total y se comprueban contra las reglas combinatorias.
Volviendo a la figura 4, la salida del proceso consiste en al menos una asociación validada de elementos que cumplen con los parámetros de búsqueda.
Se ilustra otro flujo en la figura 6 para procesar la solicitud de usuario.
De acuerdo con esta realización, las asociaciones de elementos se crean durante una etapa de construcción. Se almacenan para uso futuro. Esto corresponde a un proceso previo en el que se generan consultas masivas en el lado del servidor sin enlace directo a una solicitud de usuario real.
Las consultas se procesan por un motor que puede ser el mismo que el motor descrito con referencia a la figura 4. En el tiempo de transacción de usuario final, otro motor analizará la base de datos con todas las asociaciones más económicas, y descartará las inválidas debido a una no capacidad de combinación.
Las asociaciones almacenadas se acceden por el segundo motor de búsqueda tras la recepción de una solicitud de usuario. Las asociaciones en correspondencia se confrontan a continuación a las reglas combinatorias y las asociaciones no compatibles se invalidan. Las asociaciones validadas se devuelven al usuario. Desde el punto de vista del usuario, el tiempo de respuesta se reduce gracias a esta realización. Una desventaja es que todas las asociaciones calculadas pueden invalidarse por este procesamiento posterior.
Una variación de la realización de la figura 6 se proporciona en la figura 7. Las asociaciones de los elementos se crean de la misma manera pero se comprueba inmediatamente contra las reglas combinatorias. Esto conduce a asociaciones validadas a continuación almacenadas para uso futuro. Tras la recepción de una solicitud, el motor de búsqueda accede a las asociaciones validadas e intenta hallar asociaciones que corresponden a los parámetros de búsqueda de la solicitud del usuario. Tales asociaciones validadas en correspondencia pueden devolverse al usuario. Desde el punto de vista del usuario, el tiempo de respuesta también se reduce gracias a esta realización.
Aunque se han descrito las realizaciones ilustrativas de la presente invención en detalle con referencia a los dibujos adjuntos, se ha de entender que la invención no está limitada a estas realizaciones precisas y que pueden efectuarse cambios y modificaciones en la misma por los expertos en la materia sin alejarse del alcance de la invención según se reivindica.

Claims (16)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Método para procesar una búsqueda de datos basándose en una consulta compleja para al menos un conjunto de elementos combinados que corresponden a unos parámetros de búsqueda, siendo al menos dos de los elementos combinados de diferentes tipos de elementos, comprendiendo dicho método las etapas de procesamiento de consulta de:
    i) obtener datos de definición de elementos de al menos dos diferentes tipos de elementos, teniendo dichos datos de definición estructuras de datos heterogéneas, comprendiendo dichos datos de definición al menos un precio de elemento para cada elemento,
    ii) convertir dichos datos de definición en datos de definición convertidos que comparten una única estructura de datos genérica,
    iii) recibir la consulta compleja en un motor de búsqueda,
    iv) en el motor de búsqueda, hallar elementos de al menos dos diferentes tipos de elemento cuyos datos de definición convertidos corresponden a la consulta y combinar dichos elementos, comprendiendo la etapa de combinación:
    - asociar precios de elemento de dichos elementos,
    - crear al menos un conjunto de precios de elementos combinados basándose en la asociación de precios de elementos,
    v) devolver al menos un conjunto de precios de elementos combinados.
  2. 2. Método de acuerdo con la reivindicación anterior, que comprende las etapas de almacenamiento de los datos de definición en un repositorio y de realización del acceso del motor de búsqueda al repositorio.
  3. 3. Método de acuerdo con cualquiera de las reivindicaciones anteriores, comprendiendo la etapa de combinación comprobar si la asociación de precios de elementos cumple con reglas combinatorias.
  4. 4. Método de acuerdo con cualquiera de las reivindicaciones anteriores, en el que la consulta compleja incluye datos que definen una pluralidad de componentes derivados de los parámetros de búsqueda y para los que se ha de buscar al menos un elemento.
  5. 5. Método de acuerdo con las dos reivindicaciones precedentes en combinación, comprendiendo la etapa de combinación:
    - para cada componente, recuperar un conjunto de elementos en correspondencia,
    - asociar precios de elementos en correspondencia,
    - comprobar si la asociación de los precios de elementos coincidentes cumple con las reglas combinatorias,
    - si la asociación cumple con las reglas combinatorias, validar la asociación de los precios de elementos en correspondencia,
    - si la asociación falla al cumplir con las reglas combinatorias, invalidar la asociación de los precios de elementos en correspondencia.
  6. 6. Método de acuerdo con la reivindicación anterior que comprende repetir las etapas de la reivindicación 5, con al menos una asociación adicional de precios de elementos en correspondencia.
  7. 7. Método de acuerdo con cualquiera de las reivindicaciones anteriores que comprende definir una pluralidad de componentes derivados de los parámetros de búsqueda y para los que se ha de buscar al menos un elemento, y definir, para cada componente, al menos un tipo de elemento para los que se ha de buscar al menos un elemento.
  8. 8. Método de acuerdo con la reivindicación 3, que comprende:
    - ejecutar las etapas de procesamiento de consulta para una pluralidad de consultas para crear asociaciones de precios de elementos en correspondencia;
    - crear asociaciones de elementos en correspondencia basándose en las asociaciones de precios de elementos en correspondencia;
    - almacenar las asociaciones de elementos en correspondencia,
    - tras la recepción de una solicitud de un usuario final, recuperar al menos una de dichas asociaciones que corresponde a la solicitud,
    - comprobar si la al menos una de dichas asociaciones cumple con las reglas combinatorias,
    - si la al menos una de dichas asociaciones cumple con las reglas combinatorias, validar la al menos una de dichas asociaciones,
    - si la al menos una de dichas asociaciones falla al cumplir con las reglas combinatorias, invalidar la al menos una de dichas asociaciones,
    - volver al usuario final a la al menos una de dichas asociaciones si es una validada.
    5
    10
    15
    20
    25
    30
    35
    40
    45
  9. 9. Método de acuerdo con la reivindicación 3, que comprende:
    - ejecutar las etapas de procesamiento de consulta para una pluralidad de consultas para crear asociaciones de precios de elementos en correspondencia,
    -crear asociaciones de elementos en correspondenciabasándose en las asociaciones de precios de elementos en correspondencia,
    - comprobar si las asociaciones de elementos coincidentes cumplen con las reglas combinatorias,
    - para cada una de las asociaciones de elementos coincidentes, si cumplen con las reglas combinatorias, validar dicha asociación, y si fallan al cumplir con las reglas combinatorias, invalidar dicha asociación,
    - almacenar las asociaciones validadas,
    - tras la recepción de una solicitud de un usuario final, recuperar al menos una de dichas asociaciones validadas que corresponde a la solicitud,
    - volver al usuario final a la al menos una de dichas asociaciones validadas.
  10. 10. Método de acuerdo con cualquiera de las reivindicaciones anteriores en el que los datos de definición comprenden datos de precio, datos de disponibilidad y datos de reglas de aplicación.
  11. 11. Método de acuerdo con cualquiera de las reivindicaciones anteriores en el que los tipos de elementos incluyen al menos dos de:
    - tipo de elemento de viaje aéreo,
    - tipo de elemento de viaje de tren,
    - tipo de elemento de alojamiento,
    - tipo de elemento de alquiler de coche.
  12. 12. Método de acuerdo con cualquiera de las reivindicaciones anteriores realizadas como resultado de la ejecución de software informático por al menos un procesador de datos, almacenándose el software informático en un medio de memoria legible por ordenador no transitorio.
  13. 13. Sistema para procesar una búsqueda de datos basándose en una consulta compleja que comprende medios para ejecutar el método de cualquiera de las reivindicaciones anteriores.
  14. 14. Sistema de acuerdo con la reivindicación anterior en el que el motor de búsqueda es un motor de búsqueda de tarifas bajas.
  15. 15. El sistema como en cualquiera de las dos reivindicaciones anteriores, que comprende software informático almacenado en un medio de memoria legible por ordenador no transitorio que se ejecuta por al menos un procesador de datos que comprende parte del sistema.
  16. 16. Producto de programa informático que almacena un programa informático que comprende instrucciones adaptadas para realizar el método de cualquiera de las reivindicaciones 1 a 12.
ES11305300.3T 2011-03-17 2011-03-17 Sistema y método para procesar consultas complejas Active ES2661563T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP11305300.3A EP2500833B1 (en) 2011-03-17 2011-03-17 System and method for processing complex queries

Publications (1)

Publication Number Publication Date
ES2661563T3 true ES2661563T3 (es) 2018-04-02

Family

ID=44276364

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11305300.3T Active ES2661563T3 (es) 2011-03-17 2011-03-17 Sistema y método para procesar consultas complejas

Country Status (12)

Country Link
US (1) US8805826B2 (es)
EP (1) EP2500833B1 (es)
JP (1) JP2014512034A (es)
KR (1) KR20140025364A (es)
CN (1) CN103403714B (es)
AU (1) AU2012228281B2 (es)
BR (1) BR112013019279A2 (es)
CA (1) CA2824381C (es)
ES (1) ES2661563T3 (es)
SG (1) SG192159A1 (es)
WO (1) WO2012123523A1 (es)
ZA (1) ZA201305952B (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3436985A1 (en) * 2016-03-31 2019-02-06 Schneider Electric USA, Inc. Semantic search systems and methods for a distributed data system
CN110019212B (zh) * 2017-11-29 2021-06-18 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及数据库服务器
KR20230112781A (ko) 2022-01-20 2023-07-28 주식회사 마인드웨어웍스 질의 처리 장치

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442526B1 (en) * 1995-09-06 2002-08-27 The Sabre Group, Inc. System for corporate travel planning and management
JP3747542B2 (ja) * 1996-12-05 2006-02-22 富士ゼロックス株式会社 統合化検索装置
AU762560B2 (en) * 1999-06-30 2003-06-26 Silverbrook Research Pty Ltd Method and system for banking
US7136821B1 (en) * 2000-04-18 2006-11-14 Neat Group Corporation Method and apparatus for the composition and sale of travel-oriented packages
AU2001281111A1 (en) * 2000-08-04 2002-02-18 Infoglide Corporation System and method for comparing heterogeneous data sources
JP2002297719A (ja) * 2001-03-29 2002-10-11 Kddi Corp 旅行プラン提供装置及び旅行プラン提供方法並びにその方法をコンピュータに実行させるためのプログラム
US8249885B2 (en) * 2001-08-08 2012-08-21 Gary Charles Berkowitz Knowledge-based e-catalog procurement system and method
US20030036930A1 (en) * 2001-08-17 2003-02-20 Expedia, Inc. Method and system for creating travel packages
US7783506B2 (en) * 2001-08-17 2010-08-24 Expedia, Inc. System and method for managing reservation requests for one or more inventory items
US20030055690A1 (en) * 2001-09-19 2003-03-20 Garback Brent J. Internet-based computer travel planning system
US7644361B2 (en) * 2002-12-23 2010-01-05 Canon Kabushiki Kaisha Method of using recommendations to visually create new views of data across heterogeneous sources
SG153038A1 (en) * 2004-05-26 2009-06-29 Amadeus Sas Device and method for reserving travel products
US8041728B2 (en) * 2004-09-30 2011-10-18 International Business Machines Corporation Utilization of display profiles with abstract queries
US7979457B1 (en) * 2005-03-02 2011-07-12 Kayak Software Corporation Efficient search of supplier servers based on stored search results
US20070260495A1 (en) * 2005-10-21 2007-11-08 Scott Mace Software Architecture and Database for Integrated Travel Itinerary and Related Reservation System Components
US7464084B2 (en) * 2006-01-30 2008-12-09 International Business Machines Corporation Method for performing an inexact query transformation in a heterogeneous environment
US8200514B1 (en) * 2006-02-17 2012-06-12 Farecast, Inc. Travel-related prediction system
US7702625B2 (en) * 2006-03-03 2010-04-20 International Business Machines Corporation Building a unified query that spans heterogeneous environments
EP1840806A1 (en) * 2006-03-28 2007-10-03 Amadeus s.a.s Systems and method of managing an inventory of service resources
JP5520430B2 (ja) * 2006-07-04 2014-06-11 楽天株式会社 情報提供システム、情報提供装置、情報提供方法及び情報提供装置用プログラム
US7693900B2 (en) * 2006-09-27 2010-04-06 The Boeing Company Querying of distributed databases using neutral ontology model for query front end
WO2008078366A1 (ja) * 2006-12-22 2008-07-03 Fujitsu Limited データ検証装置、データ検証方法およびデータ検証プログラム
US7716233B2 (en) * 2007-05-23 2010-05-11 Business Objects Software, Ltd. System and method for processing queries for combined hierarchical dimensions
CN101398831B (zh) * 2007-09-27 2013-08-21 日电(中国)有限公司 本体数据导入/导出方法及装置
US8972434B2 (en) * 2007-12-05 2015-03-03 Kayak Software Corporation Multi-phase search and presentation for vertical search websites
US8478779B2 (en) * 2009-05-19 2013-07-02 Microsoft Corporation Disambiguating a search query based on a difference between composite domain-confidence factors
US8600805B2 (en) * 2010-11-30 2013-12-03 Expedia, Inc. Systems and methods for generating travel packages including separately purchased travel items

Also Published As

Publication number Publication date
KR20140025364A (ko) 2014-03-04
JP2014512034A (ja) 2014-05-19
SG192159A1 (en) 2013-09-30
EP2500833A1 (en) 2012-09-19
AU2012228281B2 (en) 2015-01-22
EP2500833B1 (en) 2017-12-06
ZA201305952B (en) 2015-03-25
CA2824381C (en) 2018-03-06
BR112013019279A2 (pt) 2017-04-04
CN103403714A (zh) 2013-11-20
AU2012228281A1 (en) 2013-05-02
US8805826B2 (en) 2014-08-12
CN103403714B (zh) 2017-08-15
US20120239636A1 (en) 2012-09-20
CA2824381A1 (en) 2012-09-20
WO2012123523A1 (en) 2012-09-20

Similar Documents

Publication Publication Date Title
US11138651B2 (en) System and method for dynamic real-time cross-selling of passenger oriented travel products
US20160203422A1 (en) Method and electronic travel route building system, based on an intermodal electronic platform
EP3046058A1 (en) Method and electronic travel route building system, based on an intermodal electronic platform
JP6456348B2 (ja) アイテムクエリの管理
ES2615753T3 (es) Dispositivo de procesamiento de información, método de procesamiento de información, programa de procesamiento de información y medio de almacenamiento sobre el que se registra el programa de procesamiento de información
US20140279864A1 (en) Generating data records based on parsing
US9179257B2 (en) Method and system for determining high precision geo-fencing using business property boundaries
US20180293522A1 (en) Unified travel interface
US20140095221A1 (en) Systems and method for providing recommendations
JP2019516203A (ja) 国際間輸送用の物流情報の取得方法及びシステム
ES2661563T3 (es) Sistema y método para procesar consultas complejas
CA2842230A1 (en) Caching reservation options
AU2017203504A1 (en) Machine learning travel management system with wearable device integration
KR101700509B1 (ko) 콘텐츠 관리 시스템
US20160371798A1 (en) Travel concierge system and processes for building a travel itinerary by a single search query
US20170116640A1 (en) Communicating Context Information Among Portable Program Modules
WO2022206224A1 (zh) 数据处理方法、装置、设备、计算机存储介质及计算机程序产品
US20120096034A1 (en) Method for automatically generating a text portion
ES2908559T3 (es) Sistema y método para determinar un conjunto de rutas, en un entorno informatizado
JP2020508517A (ja) データ管理システムにおける非標準データ管理
US20230074998A1 (en) System and method for integrated multimodal travel bookings
US11468373B2 (en) Processing unstructured data for data processing system
Dutta et al. Tourism and Hospitality in Southeast Asia: Capturing the Customers Online
Vukmirovic et al. Designing new ways for selling airline tickets
ES2822630T3 (es) Un procedimiento y sistema para gestionar una estructura de datos de registro