CN112925974A - 优化的产品确定系统 - Google Patents
优化的产品确定系统 Download PDFInfo
- Publication number
- CN112925974A CN112925974A CN202011409769.0A CN202011409769A CN112925974A CN 112925974 A CN112925974 A CN 112925974A CN 202011409769 A CN202011409769 A CN 202011409769A CN 112925974 A CN112925974 A CN 112925974A
- Authority
- CN
- China
- Prior art keywords
- product
- primary
- search
- subset
- products
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0623—Item investigation
- G06Q30/0625—Directed, with specific intent or strategy
- G06Q30/0627—Directed, with specific intent or strategy using item specifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0206—Price or cost determination based on market factors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0278—Product appraisal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0283—Price estimation or determination
- G06Q30/0284—Time or distance, e.g. usage of parking meters or taximeters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/14—Travel agencies
Abstract
本发明涉及优化的产品确定系统。搜索引擎被配置为确定与搜索请求的搜索标准匹配的主要产品的集合。基于搜索请求中指示的识别一种或多种辅助产品的搜索标准来生成搜索二进制掩码。如果搜索二进制掩码与表示所请求的辅助产品的参考二进制掩码匹配,那么选择主要产品以用作对搜索请求的响应。搜索引擎还核实与所选择的主要产品相关联的辅助产品的当前可用性并返回已为其确定当前可用性的主要产品中的至少一种。
Description
技术领域
本发明一般而言涉及客户端/服务器体系架构,并且特别地,涉及用于响应于客户端请求而确定存储在数据库中的产品的系统、方法和计算机系统。
背景技术
在过去的几十年中,互联网极大地影响了基于客户端/服务器体系架构的内容提供者系统的体系架构。现代内容提供者系统致力于集成越来越多的动态和交互式特征,以通过限制系统时延并优化其计算资源来改善用户体验。
现代内容提供者系统使用一个或多个服务器,这些服务器通过经由通信网络的通信接口从客户端接收客户端请求。用户可以使用客户端设备提交对诸如产品之类的内容的请求(也称为查询)。服务器可以使用实现一个或多个搜索过程的搜索引擎来搜索满足用户请求的一个或多个候选产品,并通过通信接口将响应返回给客户端。响应可以包括由搜索服务器计算出的候选产品的列表以及与每个候选产品相关的各种信息。然后,用户可以从候选产品中选择一种产品,以获得有关该产品的更多详细信息,并可能经由通信接口通过后续请求来购买该产品。
一些现有的内容提供者系统还可以为一些候选产品提供辅助产品,也称为“补充产品”、“辅助产品”、“服务”或“辅助服务”。因而,用户可以访问针对由内容提供者系统递送的每种主要产品的一种或多种辅助产品。
例如,内容提供者系统可以是旅行提供者系统,其响应于用户对旅行的请求而确定行程选项,用户在用户界面上指定请求的参数集,诸如日期、出发地地理地点和到达地地理地点,以及可能的附加用户偏好(例如,票价类型、连接等)。用户因此可以访问由旅行提供者系统提供的专用用户界面,并提交旅行请求以获得旅行信息和/或购买给定日期的给定行程的旅行产品(旅行预订)(诸如航班产品)。在一些情况下,用户可能需要与旅行产品相关的附加服务,诸如与旅行相关的可选服务(例如,餐饮服务、座位相关服务、宠物运输服务等)。
常规内容提供者系统的搜索引擎使用宝贵的计算资源来处理每个用户请求,这种处理要求对存储在几个数据库或高速缓存资源中的数据的大量访问并确定候选产品,从而导致每个用户请求的显著计算成本。另外,由内容提供者系统响应于用户请求而返回的每种候选产品可能与使用显著计算资源计算出的价值(产品价格)相关联。在搜索期间将补充产品的可用性和价值与主要产品的最终价格相结合会增加内容提供者系统的时延并对用户体验产生负面影响。
因而,需要响应用户请求而提供主要产品的改进的系统和方法,这些系统和方法集成了一种或多种辅助产品或服务,而不影响系统的时延和计算资源。
发明内容
根据第一方面,提供了一种用于在分布式计算环境中处理数据库搜索请求的方法,该计算环境包括搜索引擎、产品高速缓存数据库和库存数据库。产品高速缓存数据库被配置为存储指定从一个或多个提供者数据库检索到的主要产品的数据记录,其中每种主要产品与参考二进制掩码相关联,该参考二进制掩码以二进制格式表示与对应的主要产品相关联的多种辅助产品,其中参考二进制掩码是基于从提供者数据库接收并存储在产品高速缓存数据库中的数据生成的。库存数据库被配置为存储与主要产品相关的可用性数据以及和与主要产品相关联的辅助产品相关的可用性数据。该方法在搜索引擎处响应于来自客户端的搜索请求而确定与该搜索请求中指示的搜索标准对应的主要产品的集合并基于识别一种或多种辅助产品的在搜索请求中指示的搜索标准来生成搜索二进制掩码。该方法通过以下来确定检索到的主要产品的集合的子集,该子集包括具有在搜索请求中识别出的相关联辅助产品的主要产品:从产品高速缓存数据库中检索集合中每种主要产品的参考二进制掩码并针对每种主要产品将搜索二进制掩码与参考二进制掩码进行比较并且如果搜索二进制掩码与相应的参考二进制掩码匹配就为子集选择该主要产品。该方法通过从库存数据库中检索对应的可用性数据来确定与子集中的每种主要产品相关联的辅助产品的可用性。如果确定与子集中的主要产品相关联的一种或多种辅助产品不可用,那么该方法针对子集中的每种主要产品更新产品高速缓存数据库中的参考二进制掩码。该方法将为其确定了相关联辅助产品的可用性的子集的主要产品中的至少一种返回给客户端。
在一些实施例中,该方法通过响应于来自客户端的搜索请求而从产品高速缓存数据库中检索来确定与搜索请求中指示的搜索标准对应的主要产品的集合,并通过从库存数据库检索对应的可用性数据来确定每种主要产品的可用性。对于子集中的每种主要产品,如果确定主要产品不可用,那么该方法从子集中删除该主要产品,从而修改主要产品的子集。
在一些实施例中,该方法通过响应于来自客户端的搜索请求而从一个或多个提供者数据库中检索来确定与搜索请求中指示的搜索标准对应的主要产品的集合。
在一些实施例中,该方法计算与子集中的主要产品和/或与子集中的主要产品相关联的辅助产品对应的一个或多个票价并将计算出的票价添加到子集,和/或针对子集中的主要产品和/或与子集中的主要产品相关联的辅助产品计算价格解决方案并将计算出的价格解决方案添加到子集。
在一些实施例中,参考二进制掩码和/或搜索二进制掩码是包括二进制分量的集合的二进制向量,该二进制分量由预定义的函数生成。
根据一些实施例,参考二进制掩码和搜索二进制掩码是Bloom过滤器。
根据一些实施例,对子集中的每种主要产品和/或与子集中的每种主要产品相关联的辅助产品的可用性的确定包括向库存数据库发出可用性请求并接收对该可用性请求的响应,如果对可用性请求的响应返回主要产品和/或辅助产品可用的指示,那么将主要产品和/或辅助产品识别为可用,而如果对可用性请求的响应返回主要产品和/或辅助产品不可用的指示,那么将主要产品和/或辅助产品识别为不可用。
根据还有另一方面,提供了一种搜索引擎,用于在包括产品高速缓存数据库和库存数据库的分布式计算环境中处理数据库搜索请求。产品高速缓存数据库被配置为存储指定从一个或多个提供者数据库检索到的主要产品的数据记录,其中每种主要产品与参考二进制掩码相关联,该参考二进制掩码以二进制格式表示与对应的主要产品相关联的多种辅助产品,其中参考二进制掩码是基于从一个或多个提供者数据库接收并存储在产品高速缓存数据库中的数据生成的。库存数据库被配置为存储与主要产品相关的可用性数据以及和与主要产品相关联的辅助产品相关的可用性数据。搜索引擎被配置为通过响应于来自客户端的搜索请求而检索来确定与该搜索请求中指示的搜索标准对应的主要产品的集合并基于在搜索请求中指示的识别一种或多种辅助产品的搜索标准来生成搜索二进制掩码。搜索引擎被配置为通过以下来确定检索到的主要产品的集合的子集,该子集包括具有在搜索请求中识别出的相关联辅助产品的主要产品:从产品高速缓存数据库中检索集合中每种主要产品的参考二进制掩码并针对每种主要产品将搜索二进制掩码与参考二进制掩码进行比较并且如果搜索二进制掩码与相应的参考二进制掩码匹配就为子集选择该主要产品。搜索引擎被配置为通过从库存数据库中检索对应的可用性数据来确定与子集中的每种主要产品相关联的辅助产品的可用性,并且如果确定与子集中的主要产品相关联的一种或多种辅助产品不可用,那么更新产品高速缓存数据库中的参考二进制掩码。搜索引擎被配置为将为其确定了相关联辅助产品的可用性的子集的主要产品中的至少一种返回给客户端。
在一些实施例中,搜索引擎还被配置为通过响应于来自客户端的搜索请求而从产品高速缓存数据库中检索来确定与搜索请求中指示的搜索标准对应的主要产品集合,并通过从库存数据库检索对应的可用性数据来确定每种主要产品的可用性,并且对于子集中的每种主要产品,如果确定主要产品不可用,那么从子集中删除该主要产品,从而修改主要产品的子集。
在一些实施例中,搜索引擎还被配置为通过响应于来自客户端的搜索请求而从一个或多个提供者数据库中检索来确定与搜索请求中指示的搜索标准对应的主要产品的集合。
在一些实施例中,搜索引擎还被配置为计算与子集中的主要产品和/或与子集中的主要产品相关联的辅助产品对应的一个或多个票价并将计算出的票价添加到子集,和/或针对子集中的主要产品和/或与子集中的主要产品相关联的辅助产品计算价格解决方案并将计算出的价格解决方案添加到子集。
在一些实施例中,搜索引擎被配置为通过以下来确定子集中的每种主要产品和/或与子集中的每种主要产品相关联的辅助产品的可用性:向库存数据库发布可用性请求并接收对可用性请求的响应,如果对可用性请求的响应返回主要产品和/或辅助产品可用的指示,那么将主要产品和/或辅助产品识别为可用,而如果对可用性请求的响应返回主要产品和/或辅助产品不可用的指示,那么将主要产品和/或辅助产品识别为不可用。
在一些实施例中,参考二进制掩码和/或搜索二进制掩码是包括二进制分量的集合的二进制向量,该二进制分量由预定义的函数生成。
在一些实施例中,参考二进制掩码或搜索二进制掩码是Bloom过滤器。
根据还有另一方面,提供了一种分布式计算环境,其包括根据前述方面中的任何一个方面的产品高速缓存数据库、库存数据库和搜索引擎。
根据还有另一方面,提供了一种计算机程序产品,其包括存储在计算机可读介质上的程序代码指令,以在所述程序在计算机上执行时执行根据前述方面中的任何一个方面的方法步骤。
附图说明
将参考附图描述本机制。相似的附图标记一般指示完全相同或功能相似的元件。
图1是根据一些实施例的内容提供者系统的示意图。
图2是用于在搜索引擎处处理搜索请求的序列图。
图3示出了根据本发明对旅行领域的示例性应用的搜索引擎的示意图。
图4示出了根据一个示例性实施例的旅行提供者系统的操作环境。
图5是根据一个实施例的过滤器的框图。
图6是图示根据一个实施例的更新Bloom过滤器的过程的流程图。
图7是图示根据另一个实施例的更新Bloom过滤器的过程的流程图。
图8是根据一些实施例的辅助费用估计器的示意图。
图9是图示根据一些实施例的处理搜索请求的过程的流程图。
图10是如本文所述的计算机器的内部组件的示意表示。
具体实施方式
本公开一般而言涉及如图1中所示在分布式计算环境中处理数据库搜索请求。分布式计算环境包括搜索引擎1、一个或多个客户端2、产品高速缓存数据库3、库存数据库4。客户端2、产品高速缓存数据库3和库存数据库4在地理地点上位于任何地方,并且是单独的计算机(诸如个人计算机)、移动站(诸如膝上型计算机或平板计算机、智能电话等,而且在一些实施例中是更强大的机器(诸如分别包括多个互连机器、数据中心等的分布式数据库系统、数据库应用服务器)。在一些实施例中,产品高速缓存数据库3和/或库存数据库4可以是与客户端2相似的机器,而在其它实施例中,产品高速缓存数据库3和/或库存数据库4比客户端2更强大(就计算资源而言)。
取决于性能要求,产品高速缓存数据库3、库存数据库4和客户端2可以由几个硬件机器构成。产品高速缓存数据库3、库存数据库4和客户端2被实施为例如包括图10所示的计算机器100的固定或移动硬件机器,和/或实施为为特定技术目的而布置的专用系统(诸如嵌入式系统),和/或实施为通用或专用计算硬件机器上运行的软件组件(诸如Web服务器和Web客户端)。
产品高速缓存数据库3、库存数据库4和客户端2通过通信接口5互连。每个接口6利用有线或无线局域网(LAN)或有线或无线城域网(MAN)或有线或无线广域网(WAN)(诸如互联网)或前述网络技术的组合,并且通过任何合适的通信和网络协议来实现。
在搜索引擎1处接收通过通信接口5从客户端2请求的搜索请求。搜索引擎1可以跨OSI参考模型的层实现标准化的通信协议。其中,搜索引擎1可以采用初始处理机制,诸如错误识别和校正、分组组装以及确定是否已接收到有效的数据库查询。出于安全和性能的原因,无效消息可以已被搜索引擎1丢弃。
产品高速缓存数据库3被配置为存储数据记录,该数据记录指定从一个或多个提供者数据库(诸如图4的旅行提供者系统303)检索到的主要产品和相关联的辅助产品。数据记录可以指定预先计算的或高速缓存的辅助产品,还可以指定预先计算的或高速缓存的主要产品。主要产品与相应的参考二进制掩码相关联,该参考二进制掩码以二进制格式表示与对应的主要产品相关联的许多辅助产品,其中参考二进制掩码是基于从提供者数据库接收并存储在产品高速缓存数据库中的数据生成的。参考二进制掩码促进对与主要产品关联的辅助产品进行高效搜索和检索,如下面更详细地解释的。
除了提供者数据库之外,产品高速缓存数据库3可以被实现为另外的数据库。在一些实施例中,产品高速缓存数据库3也可以是逻辑高速缓存,即,产品高速缓存数据库3的数据被保持在托管一个或多个提供者数据库和/或搜索引擎1的(一个或多个)硬件机器的存储器的分别指派的区域中。
库存数据库4被配置为存储与主要产品相关的可用性数据以及和与主要产品相关联的辅助产品相关的可用性数据。库存数据库4、一个或多个提供者数据库存储一般是最新因此形成原始或有效数据的数据。此外,产品高速缓存数据库3还可以存储指定主要产品的最新或实时数据记录。产品高速缓存数据库3、库存数据库4和一个或多个提供者数据库可以配备有更新存储在相应数据库中的数据的接口。这个接口可以与用于接收和响应搜索请求的接口相同。
由产品高速缓存数据库3存储的数据可以保持更新,即,数据的改变实际上是在提供者数据库中实现的,例如,基于事件或周期性基础。因此,产品高速缓存数据库3或者本身就是原始数据源(诸如维护任何种类的原始且一般有效结果的数据库),或者访问一个或多个原始数据源(诸如提供者数据库)以便以完全相同(镜像)或经处理的形式存储原始结果。如果产品高速缓存数据库3通过访问其它/进一步的原始数据源来生成/计算/收集原始结果以便在搜索时准备原始结果,那么产品高速缓存数据库3提供一般准确地反映原始响应数据的当前内容的结果。
分布式计算系统可以被实施为内容提供者系统,例如该系统可以是实现从系统接收的针对与请求的至少一些参数对应的产品的搜索请求开始并且以通过交易系统的产品购买操作终止的处理流程的交易系统(“交易”可以是例如“购买”、“购物”或“预订”操作)。因此,在客户端/服务器体系架构中,“交易”与由客户端请求发起并通过购买产品而终止的请求/响应会话(用户选择主要产品,并通过支付与产品相关联的价值(也称为“价格”)来验证选择)。由内容提供者系统确定并返回的产品提议可以包括主要产品以及包括与主要产品相关的一个或多个辅助产品(服务)的辅助产品集(服务集),对于给定的产品提议的交易的总价值(总价格)包括将主要产品的价值添加到服务集的价值。
如本文所使用的,术语“内容”是指可以通过用户界面以产品的形式提供给客户端2的任何内容,每种产品可能与一种或多种与该产品相关的服务(辅助产品)相关联。每种产品可以由取决于本发明的应用领域的参数集以及价值(或价格)来定义。每种产品可以被细分为基本部分(下文中也称为“分段”)。产品的分段是指内容提供者系统可以递送的产品的最小部分。
内容提供者系统可以适于与客户端2执行交易(诸如预订或购买包括与主要产品相关联的辅助产品(服务)的主要产品)。产品的交易在例如当操作客户端2之一的用户继续支付产品(主要产品和与主要产品相关联的所需辅助产品)时完成。在一些实施例中,内容提供者系统可以被配置为处理搜索请求,该搜索请求包括至少强制性请求参数的集合。
操作客户端2之一的用户可以在客户端/服务器会话期间使用专用用户界面直接与内容提供者系统接口。在一些实施例中,内容提供者系统可以被配置为响应于用户对产品的选择而将客户端2重定向到内容提供者系统的专用接口。
如果用户已经注册到内容提供者系统,那么内容提供者系统可以存储包括与用户相关的信息的用户账户信息。如果用户先前未创建用户账户,那么内容提供者系统可以可替代地不包括与该用户相关的数据。
内容提供者系统可以专用于一个或多个应用领域(例如,旅行或运输领域)。在一些实施例中,内容提供者系统可以被配置为确定特定类型的主要产品(例如,旅行应用领域中的航班产品)。
在旅行领域中的示例性应用中,内容提供者系统可以是预订系统,该预订系统被配置为确定与包括指定的辅助产品(服务)集的旅行请求匹配的旅行产品(也称为“旅行提议”或“旅行推荐”),诸如航空公司旅行产品。在这个应用中,搜索请求11是旅行请求。
旅行请求可以具有定义请求参数的集合的预定义格式,包括:
-出发地点/日期/时间参数;
-到达地点/日期/时间参数;
-附加的与旅行相关的参数;
-指定的辅助产品(服务)集。
搜索请求11的可选参数可以包括例如用户优选的语言或细化参数(例如,一天中的时间、优选的公司)。旅行请求参数可以具有类型(例如,“出发地点”、“到达地点”)、数据类别(例如,地点、日期)、数据类型(例如,字符)和/或数据格式(例如,通过IATA标准定义的、IATA代表“国际航空运输协会”)。
后续实施例中给出的活动和功能适用于具有如图1所示的硬件或功能体系架构或具有类似体系架构的所有数据库系统和计算系统。
根据一些实施例并且如图2中所示,搜索引擎1在活动12中响应于来自客户端2的搜索请求11而确定与搜索请求11中指示的搜索标准对应的主要产品集合。举例来说,来自客户端2的搜索请求11可以包括在2019年12月1日从伦敦(作为出发地点)到巴黎(作为到达地点)的所有航班连接。响应于搜索请求11,搜索引擎1检索当天的所有对应航班连接,为简化起见,假定它们全部由法国航空公司和汉莎航空公司提供。
由搜索引擎11进行的检索可以包括预过滤,该预过滤可以包括在活动12中并且可以在检索实时计算出的主数据时应用。该预过滤可以包括检查包括关于路线和运输者的信息的配置文件。该配置文件还可以包括支持哪些辅助服务。在这个阶段,一般不提供所请求的辅助产品的主要产品可以已经从一开始就被挑选出来了。为了进一步引用上面提到的示例,预过滤可以将主要产品仅限制于那些在2019年12月1日提供从伦敦(作为出发地点)到巴黎(作为到达地点)的航班的运营商,诸如法国航空公司和汉莎航空公司。在英国航空公司不提供所述航班连接的情况下,该运营商将被预过滤器排除在外。
根据图2中所示的方法,搜索引擎1在活动13中基于搜索请求11中指示的搜索标准来生成搜索二进制掩码,该搜索标准识别一种或多种辅助产品。搜索二进制掩码表示搜索请求11的定义了用户要搜索的辅助产品的搜索标准。继续参考上面提到的示例,辅助产品(或服务)可以包括婴儿床或用于在机舱内养宠物的供应品。然后,搜索引擎1确定检索到的主要产品集合的子集,由此该子集包括具有在搜索请求11中识别出的当前可用的相关联辅助产品的主要产品。为此,在第一阶段,基于一般与所请求的辅助产品(也称为辅助过滤器)相关联的二进制掩码比较(如下文详细解释的)来确定主要产品。在第二阶段,用可用性源,库存数据库4(也称为可用性过滤器),来核实这些确定的主要产品的辅助产品的当前可用性。其余主要产品构成子集。
再次引用上面提到的示例,假设只有法国航空公司在从巴黎到伦敦的航班上提供婴儿床或机舱内养宠物的辅助产品(服务),而汉莎航空公司不在其从巴黎到伦敦的航班上提供这些辅助产品。因此,所确定的子集不包括汉莎航空公司提供的从伦敦到巴黎的所有航班连接,并且包括法国航空公司提供的对应连接。通过在活动14中从产品高速缓存数据库中检索集合中每种主要产品的参考二进制掩码并在活动15中将搜索二进制掩码与集合中的每种主要产品的参考二进制掩码进行比较来执行子集的确定。如果搜索二进制掩码和相应的参考二进制掩码匹配,那么选择子集的主要产品。
在活动16中,搜索引擎1通过从库存数据库4中检索对应的可用性数据来确定与子集中每种主要产品相关联的辅助产品的可用性。然后,在活动17中,如果确定与子集中的主要产品相关联的一种或多种辅助产品不可用,那么搜索引擎1针对子集中的每种主要产品更新产品高速缓存数据库中的参考二进制掩码。在活动18中,搜索引擎1将已为其确定了相关联辅助产品的可用性的子集中的至少一个主要产品返回给客户端2。继续上面提到的示例,如果法国航空公司于2019年12月1日从巴黎到伦敦的航班号可以为例如AF123的特定航班提供婴儿床服务,那个这个特定航班-AF123-可以包括在活动18中搜索引擎1返回的主要产品中。
进一步引用上面提到的示例,当例如2019年12月1日从伦敦到巴黎的法国航空公司航班上的所有婴儿床都已经预订了时,会出现辅助产品的不可用性。在这种情况下,搜索没有结果并且可以向客户端2通知在所请求的日期在始发地和目的地之间没有提供所请求的辅助服务的航班。
根据一些实施例,响应于来自客户端2的搜索请求11,通过从产品高速缓存数据库3中检索来确定与该搜索请求中指示的搜索标准对应的主要产品集,并且通过从库存数据库4中检索对应的可用性数据来确定子集中的每种主要产品的可用性。继续所引用的示例,该方法确定由运营商法国航空公司在2019年12月1日运营的从伦敦到巴黎的某个航班连接是否已经全部预订并因此不可用。在一些实施例中,对于子集中的每种主要产品,如果确定该主要产品不可用,那么从子集中删除该主要产品,从而修改主要产品的子集。因此,已经完全预订的航班连接将从子集中被删除。
在实施例中,活动12可以包括通过响应于来自客户端2的搜索请求11从一个或多个提供者数据库中检索来确定与搜索请求11中指示的搜索标准对应的主要产品的集合(如上面介绍的预过滤)。检索到的主要产品的集合可以被存储在产品高速缓存数据库3中。
根据一些实施例,计算与子集中的主要产品(例如,对于从伦敦到巴黎的航班连接)和/或与子集中的主要产品相关联的辅助产品对应的一个或多个票价,并且对于子集中的主要产品和/或与子集中的主要产品相关联的辅助产品的计算出的票价和/或计算价格解决方案和/或计算出的价格解决方案被添加到子集中。票价的计算将在下面进一步描述。
根据一些实施例,参考二进制掩码和/或搜索二进制掩码是包括二进制分量的集合的二进制向量,该二进制分量由预定义的函数生成。根据一些实施例,参考二进制掩码和搜索二进制掩码是Bloom过滤器。
一般而言,Bloom过滤器是空间高效的概率数据结构,用于测试元素是否为集合的成员。假阳性匹配是可能的,但是假阴性则不可能。查询返回或者“可能在集合中”或“绝对不在集合中”。元素可以被添加到集合,但不能被移除,但是,添加到集合中的元素越多,假阳性的概率就越大。
在可以离线实现和/或当产品高速缓存数据库3被更新时(即,不在搜索查询时)实现的编码阶段中,由二进制向量(也称为“编码向量”)表示的参考二进制掩码使用存储在库存数据库4中的辅助产品的可用性数据为主要产品的给定分段构建。在执行从客户端2接收的搜索请求11的流程中实现解码阶段。在解码阶段中,针对响应于搜索请求11而确定的每个主要产品构建由二进制向量(也称为“解码向量”)表示的搜索二进制掩码。
更具体而言,在编码阶段中,可以使用来自库存数据库4的与产品可用性相关的数据来形成N个谓词(predicate),一个或多个谓词与主要产品的一种或多种辅助产品(服务)的可用性对应。例如,在本发明对旅行领域的应用中,谓词可以是“服务X可用于航班Y”的形式。然后,以这种方式形成的谓词通过M个变换函数,每个变换函数返回位向量中的至少一个位位置,因此,这种位向量表示所考虑的谓词的Bloom过滤器。这提供了N位向量V(也称为“二进制掩码”或“Bloom过滤器”),为考虑的主要产品生成的每个二进制向量与至少一种辅助产品相关联并且具有任意长度k。二进制向量V的每个位置被指派有可以具有第一值(例如,“1”)或第二值(例如,“0”)的表示位信息的位值。如此生成的位向量V可以存储在针对搜索而优化的数据库中。在一些实施例中,针对与给定主要产品相关联的辅助产品计算的Bloom过滤器V可以存储在诸如维度为N×k的Bloom过滤器矩阵或阵列之类的数据结构中。在编码阶段生成的二进制掩码V在本文中也称为“参考二进制掩码”(或“参考二进制向量”或“参考Bloom过滤器”)。
在响应于指定包括辅助产品的请求参数的搜索请求11而实现的产品搜索过程期间触发的解码阶段中,可以为由搜索引擎1找到的每种主要产品确定与搜索请求11中指定的辅助产品相关的N个谓词,并通过M个变换函数(与编码阶段的变换函数相同)。这提供了要与在编码步骤中生成的每种主要产品的参考位掩码进行比较的二进制掩码(“搜索二进制掩码”)。更具体而言,在一些实施例中,以按位方式将搜索二进制掩码与主要产品的参考掩码进行比较。如果搜索二进制掩码中的特定位与参考位掩码的相应位匹配,那么表明主要产品实际上与对应的辅助产品相关联。在一些实施例中,如果搜索二进制掩码的至少一位出现在参考二进制掩码中,那么对应的主要产品包括在子集中,因为对于主要产品存在至少一种对应的辅助产品。在其它实施例中,如果搜索二进制掩码与参考二进制掩码的比较得出对于主要产品存在由搜索二进制掩码规定的所有辅助产品,那么该主要产品包括在子集中。如果搜索二进制掩码的所有位都不与参考二进制掩码的对应位匹配,那么可以丢弃主要产品并将其从子集中排除。
在编码和解码阶段中使用的M个变换函数可以是散列函数,或者可替代地是密码函数。将参考其中M个变换函数由M个散列函数组成的实施例来进行一些实施例的以下描述,这仅出于说明目的。用于生成Bloom过滤器的散列函数可以具有低冲突率。散列函数的数量可以取决于各种参数。
概率数据结构的使用产生了由分布式计算环境形成的内容提供者系统的存储资源的高效利用。
为了更新Bloom过滤器,可以通过刷新与辅助产品的预定义列表当中的每个辅助产品相关的这种可用性信息来实现重新计算阶段(例如,离线或在处理搜索请求11结束之后的学习过程中)。
Bloom过滤器可以被用于生成二进制模式(与二进制向量V对应),该二进制模式表示给定主要产品的每种辅助产品的可用性,从而使得能够压缩指示与主要产品相关联的辅助产品的存在的信息。可以为每种主要产品选择并保留所有生成的二进制模式的唯一组合。
例如,以下示出的示例性表格描绘了由搜索引擎1计算出的旅行选项在给定的行程段AF123(12月1日在给定时间的伦敦(LON)和巴黎(PAR)之间的航班连接)之间获得的关联、一种或多种辅助产品(例如,“婴儿摇篮”或“机舱内宠物”或{“婴儿摇篮”和“机舱内宠物”})和Bloom过滤器:
[表1]
行程段 | 辅助产品 | Bloom过滤器 |
AF123 LON-PAR DEC01 | 婴儿摇篮 | 10000001 |
AF123 LON-PAR DEC01 | 机舱内宠物 | +10000010 |
AF123 LON-PAR DEC01 | -- | =10000011 |
如上表中所示:
·辅助产品“婴儿摇篮”被确定为可以用于行程段“AF123 LON-PAR DEC01”,并且与Bloom过滤器(形成“二进制掩码”)“10000001”相关联。
·辅助产品“机舱内宠物”也被确定为可用于行程段“AF123 LON-PAR DEC01”,并且与Bloom过滤器“10000010”相关联。
通过将逻辑OR应用于基本Bloom过滤器“10000001”和“10000010”,可以得出针对所考虑的分段“AF123 LON-PAR DEC01”的用于辅助产品{“婴儿摇篮”和“机舱内宠物”}的组合的Bloom过滤器10000011。
因此,编码阶段为可用于主要产品的每个分段的每种辅助产品组合(服务集)提供Bloom过滤器。
图3描绘了根据一些实施例的搜索引擎1。搜索引擎1包括搜索服务器101(也称为“行程计划者”),该服务器被配置为响应于通过一个或多个网络5从客户端2接收到搜索请求11而搜索满足搜索请求11的主要产品(航班),搜索请求11识别期望的主要产品。
搜索引擎可以被实施为旅行提供者系统,其可以被配置为向用户提供旅行内容,包括旅行产品或预订信息。旅行提供者系统可以包括专用用户界面,该专用用户界面可以被用于与客户端或用户交换信息。特别地,用户可以经由客户端2通过用户设备提交搜索请求11(下文中也称为“用户请求”或“用户查询”),或者通过用户界面提供用户输入。旅行提供者系统进而可以显示为给定搜索请求11获得的结果。这样的结果可以包括主要旅行产品的集合,每种主要旅行产品包括旅行信息和辅助信息,诸如产品价值(也称为“产品价格”或“旅行价格”)。可以在专用界面中以旅行提议的形式(也称为“行程选项”或“旅行选项”)生成主要旅行产品的渲染。因此,用户可以通过用户界面选择与要预订的主要旅行产品对应的行程选项之一。如本文所使用的,“旅行提议”与表示出发地点与目的地地点之间的旅行的主要旅行产品对应,并且与包括旅行的计划出发日期和时间以及旅行的计划到达日期和时间的计划信息相关联。与行程对应的旅行产品可以包括在连接点或连接集线器处互连的分段(产品的基本部分)的集合,每个分段与计划表信息相关联。
旅行提供者系统可以托管在具有直观用户界面的任何用户可用的公共网站上,以允许任何用户直接旅行购物。可替代地,旅行提供者系统可以是通过私人网站、作为网络服务或通过私人应用为旅行运营商或代理商提供的专用系统。
搜索服务器101生成行程选项。行程选项可以包括实时计算的并且从一个或多个提供者数据库接收的行程,以及存储在产品高速缓存数据库3中的预先计算的行程。
旅行提供者系统可以使用预过滤器(或第一过滤器)通过辅助产品对行程选项进行预过滤。预过滤器可以被配置为移除非候选航班产品,从而将航线构造限制为仅提供所需航线(例如从巴黎到伦敦的航线)的航空公司系统。预过滤器可以是搜索服务器101的一部分或彼此分离。
旅行提供者系统可以使用辅助过滤器(或第二过滤器)以进一步减小通过预过滤获得的主要产品的集合,即,通过排除与搜索请求11所请求的辅助产品不相关联的此类主要产品,从而确定通过预过滤获得的主要产品集合的子集。如上所述,通过将搜索二进制掩码与针对集合中每种主要产品的参考二进制掩码进行比较并且如果搜索二进制掩码与相应的参考二进制掩码匹配就为子集选择该主要产品来执行辅助滤波。
旅行提供者系统还可以使用可用性服务器102来确定可用的产品。旅行提供者可以为由搜索服务器101确定的结果(行程选项)计算票价组合。
票价计算器103可以确定被确定为满足可用性条件的行程选项的航班票价。票价计算器103可以包括被配置为确定(或计算)票价组合的票价引擎143和被配置为确定可用航班的航班引擎133,两者都与分配装置153交互。票价引擎143可以使用存储在存储装置中的票价负荷数据113,该存储装置存储与由旅行提供者系统递送的产品相关的票价数据。
可以将可用性过滤器(或第三过滤器)应用于由搜索服务器101确定的结果(旅行选项),以使用诸如Bloom过滤器之类的一种或多种概率数据结构通过辅助可用性标准对此类结果执行附加过滤。可用性过滤器可以是可用性服务器102的一部分或与其彼此分离。可用性过滤器可以被配置为仅将票价构造限制为由搜索服务器101返回的,对于辅助产品具有足够可用性的行程选项的分段。
旅行提供者系统还可以包括辅助费用估计器123,该辅助费用估计器123被配置为基于费用估计标准来估计辅助费用。辅助费用估计器123可以与票价计算器103的一个或多个组件交互。在一些实施例中,如图3中所描绘的,辅助费用估计器123可以是票价计算器103的一部分。辅助费用估计器123可以被配置为执行航班票价构建并按可用性服务器102选择的产品的估计价格排序。为了估计所选择的产品的价格,辅助费用估计器123将所请求的辅助产品的估计价格(估计产品价值)整合到旅行产品的总价格中(主要产品价格加上指定的辅助产品的价格)。后处理单元104可以根据由辅助费用估计器123执行的按估计价格对产品的排序将可以具有最低估计价格的所选择的产品的至少一部分与来自库存数据库4的实时数据(其包括实时可用性和价格数据)进行比较。在一些实施例中,与来自库存数据库的实时数据进行比较的所选择的产品的一部分可以包括具有较高估计价格的P个产品,P是基于标准的集合来确定的(例如,P可以是固定的或者在每次执行产品确定方法时动态改变)。
应当注意的是,与和给定产品相关的辅助产品集相关联的产品价值(服务价格)可以取决于产品。另外,与旅行产品相关的辅助产品的价格可以取决于各种参数,诸如例如:
·辅助产品与之相关的产品的类型(例如,装备、飞机的类型);
·与产品相关的地点信息(与产品相关的地点信息可以影响价格);
·在产品提供者系统中实现的销售策略(例如,促销活动);
·产品的类别(类别可以包括例如长途航班类别、商务舱、经济舱)。
在一些实施例中,当当前产品可用性独立于复杂的票价信息时,可以将由辅助费用估计器123提供的可用性估计从辅助费用估计器123推送到可用性过滤器。
旅行提供者系统还可以包括后处理单元104(也称为“辅助服务清扫器”或“辅助清扫器”),其被配置为对由可用性服务器102返回的结果执行后处理。后处理单元104可以被配置为将针对每个行程选项(主要产品)的指定辅助产品的可用性和估计的价格与和先前使用实时数据计算出的航班产品的辅助产品相关联的实时可用性数据(实际可用性)和实时价值信息(实际价格)进行比较。然后,后处理单元104可以根据这样的比较来后过滤由可用性服务器102返回的搜索结果。后处理单元104可以有利地基于非高速缓存结构以维持保证的数据。
在一些实施例中,内容提供者系统还可以包括学习引擎105,例如被配置为在预定义的学习时段期间收集数据并将其存储到一个或多个学习数据结构(例如,矩阵)中的机器学习系统。所收集的数据可以包括在搜索请求11期间生成的数据,这些数据在定义的时间段内已从客户端2发送。然后,所收集的数据可以用作机器学习系统的训练数据。在这样的实施例中,提供者系统可以使用存储在学习数据结构中的所述训练数据来优化响应于搜索请求11而进行的搜索。从而形成惰性高速缓存的这种学习引擎105使得能够减少离线过程的工作。
图4在本发明对旅行领域的示例性应用中表示旅行提供者系统303的操作环境,其可以由内容提供者系统实施。该环境可以包括全球分销系统(GDS)300、一个或多个间接产品提供者系统(诸如运营商系统301)、一个或多个旅行购物或间接卖方系统(辅助内容提供者系统)(诸如旅行社系统302)、旅行提供者系统303和一个或多个客户端2。GDS 300、运营商系统301、间接卖方系统302、旅行提供者系统303和客户端2中的每一个都可以通过网络304进行通信。运营商系统301可以各自包括用于相应航空公司的计算机预约系统(CRS)和/或计费系统,该系统使得GDS 300和/或间接卖方系统302能够预约机票并为其支付费用。运营商系统301还可以或者直接或者通过GDS 300彼此交互,以使验证运营商能够出售由运营的运营商提供的座位的票。然后,运营的运营商可以对提供的产品向验证运营商开具账单。
GDS 300可以被配置为通过使旅行社、验证运营商或其它间接卖方能够经由GDS300在一个或多个运营商系统301上搜索可用的分段并预订预约来促进运营商系统301和间接卖方系统302之间的通信。GDS 300可以经由网络6维持到每个运营商系统301的链接,以允许GDS 300从运营商系统301获得用于分段的调度和可用性数据。运营商和旅行社系统301、302由此可以经由与GDS 300的单个连接来预订多个运营商的航班、火车或其它类型的分段。GDS 300可以存储和/或维护旅客订座记录(PNR),其包括旅途行程的完整数据集,包括来自多个运营商的分段和/或包括该旅途的其它旅行产品(诸如宾馆和租车预约)。
旅行社系统302可以包括提供公共可访问网站的web服务器。这个网站可以被配置为提供对旅行计划特征的访问,诸如搜索与旅行请求匹配的旅行产品的能力。为此,旅行社系统302可以向旅行者提供对来自由GDS 300、运营商系统301和旅行社系统302托管的一个或多个数据库的数据的访问。在本发明的替代实施例中,旅行社系统302可以是专有系统,其限制对旅行服务提供者或旅行社的访问。在这种情况下,可以通过私人网站或其它应用提供访问。
旅行提供者系统303可以经由网络304或某种其它合适的连接与旅行社系统302进行通信。在本发明的替代实施例中,旅行提供者系统303的全部或一部分可以被集成到其它系统300、301、302中的一个或多个中。旅行者或旅行社可以使用旅行社系统302生成和/或搜索满足使用旅行提供者系统303从旅行者接收到的旅行请求的旅行提议。
操作环境的GDS 300、运营商系统301、旅行社系统302、旅行提供者系统303和客户端2可以在一个或多个统称为计算机(诸如图10的计算机900)的计算设备或系统上实现。
返回到图3和图4,搜索服务器101可以从客户端2接收旅行请求,该旅行请求包括诸如始发地点和/或目的地地点(例如,以根据IATA格式的城市地点或城市中的特定访问点,诸如航空运输模式的机场或航站楼、铁路运输模式的车站,或街道地址或特定的城市访问点)。始发地点与旅行出发的期望地理地点对应,而目的地地点与旅行到达的期望地理地点对应。在本发明的一些实施例中,搜索服务器101可以将请求中指定的始发和/或目的地地点转换成地理坐标,诸如GPS坐标,以确定最接近的对应访问点。在用户配备有移动设备类型的用户设备的实施例中,可以由搜索服务器101或旅行提供者系统303基于用户位置数据自动检测用户的始发地点。用户还可以通过用户界面输入附加的请求参数,诸如出发和到达时间表信息,包括与所请求旅行的出发(始发)和/或到达(目的地)相关联的期望日期和/或时间信息。用户还可以通过专用用户界面输入用户偏好,该用户偏好可以包括附加的用户标准。这种用户标准可以被搜索服务器101用作搜索标准(诸如成本、距离或速度标准以计算产品)。
然后,搜索服务器101可以确定每个航空公司的哪些现有航线与搜索请求11的参数识别出的航线匹配,并针对特定的运输模式(诸如航空公司运输方式)、特定的旅行运营商(例如,法国航空公司)、或多种运输方式(例如,航班和铁路运输模式两者)安排行程。对于多模式搜索服务器101,计算出的行程选项可以包括与不同运输模式相关的分段,并且用户可以指定与优选运输模式相关的用户偏好。
用户可以首先通过客户端2通过内容提供者系统的专用界面提交包括指定的辅助产品的搜索请求11。然后,搜索服务器101可以如上所述使用预过滤器执行搜索,以识别与搜索请求的主要产品搜索参数对应的那些主要产品,从而建立主要产品的集合。随后,搜索服务器101可以通过使用一个或多个产品高速缓存数据库3中维护的数据从主要产品集合中移除不提供指定的辅助产品的这些主要产品来执行辅助过滤。搜索服务器101由此建立对于其存在所请求的相关联辅助产品的主要产品的子集。因此,辅助过滤器提供减小的搜索空间。当执行这个活动时,辅助过滤器可以使用辅助库,该辅助库可以是库存数据库4的一部分。辅助库可以提供所支持的辅助产品的列表,以使用搜索请求11的指定的辅助产品作为输入来减小搜索空间(在本发明对旅行领域的实施方式中,辅助库可以例如提供每个运营商支持的辅助产品的列表)。因此,辅助过滤器通过辅助产品类型过滤搜索空间(包括一般满足搜索请求的主要产品搜索标准的主要产品)。
然后,搜索服务器101可以仅在减小的搜索空间中进一步处理与搜索请求匹配的主要产品,这意味着它计算在减小的搜索空间中包括的旅行产品当中满足其余请求参数(指定的辅助产品参数除外)的行程选项。因此,辅助过滤器提供满足指定的辅助产品条件的主要产品的经过滤子集。在执行票价构建之前使用辅助过滤器防止为不支持指定的辅助产品的航空公司处理票价。如果将指定的辅助产品提交给与产品相关联的配额(例如,每个航班、每个舱类别等的配额),那么可以使用可用性过滤器400来实现附加的优化处理。
图5是根据一些实施例的可用性过滤器400的示意图。对于将在其上应用可用性过滤器400的维度的组合(维度由搜索请求11定义,并且包括例如维度“航班”和“日期”),可用于主要产品的每个分段的所有辅助产品(“服务特征”)可以首先在编码阶段使用来自库存数据库4的近实时可用性数据来提取。辅助产品可以由产品标识符表示。可用性过滤器400可以包括被配置为实现编码阶段的编码器402。编码器402因此生成参考二进制掩码。
可用性过滤器400被配置为通过辅助产品可用性来过滤由搜索服务器101返回的结果。更具体而言,可用性过滤器400可以被配置为消除由搜索服务器101返回的行程选项当中与指定的辅助产品相关的可用性条件不匹配的产品。可用性过滤器400可以使用来自库存数据库4的数据,该库存数据库可以包括辅助库。库存数据库4可以包括基于配额的服务库存数据。可以根据预定义的刷新规则或刷新条件来静态地、周期性地或动态地建立和更新库存数据库4。在一些实施例中,库存数据库4可以由各种数据源(诸如服务库存、票价归档等)馈送。
库存数据库4可以包括与由旅行提供者系统提供的主要产品和辅助产品相关的多个维度,包括例如:
·分段维度;
·日期维度;
·航空公司维度;
·票价基础维度;和/或
·产品代码维度;等等。
可用性过滤器400可以被配置为计算和使用来自库存数据库4的概率数据结构121,诸如紧凑的固定尺寸二进制阵列或Bloom过滤器。响应于对识别在请求中指定的辅助产品和给定的产品分段的这样的概率数据结构401的查询,概率数据结构可以被配置为返回指示指定的辅助产品是否可用于该产品分段的响应。仅出于说明目的,将参考Bloom过滤器类型的概率数据结构来进行一些实施例的以下描述。
如本文中所使用的,Bloom过滤器401表示包括位集合的任意长度的位向量(也称为“二进制掩码”),每个位与二进制信息(指示“真”或“假”值)对应。因此,Bloom过滤器提供对与位向量中每个位位置对应的二进制信息的访问。
在解码阶段,可用性过滤器400可以被配置为使用解码器403执行搜索。在由可用性过滤器400实现的搜索阶段中,搜索参数也可以由编码器402使用相同的散列函数编码为Bloom过滤器。搜索参数与搜索请求11中指定的一种或多种辅助产品对应。
解码器403可以被配置为实现解码阶段。对于由搜索服务器101确定的主要产品的每个分段,解码器403可以将M个散列函数应用于在搜索请求11中识别出的辅助产品,以确定用于辅助产品的位向量V形式的基本Bloom过滤器。
如果辅助产品包括一项服务,那么通过将M散列函数应用于与这种服务对于所考虑的分段的可用性相关的谓词来生成Bloom过滤器,二进制向量的每一位表示Bloom过滤器具有二进制值,这种二进制值可以具有指示服务对于该分段的可用性的第一值(诸如“真”值)或指示服务对于该分段的不可用性的第二值(诸如“假”值)。
当请求中指定的辅助产品包括K种服务时,可用性过滤器400可以包括处理单元404,该处理单元404被配置为使用为所考虑的辅助产品和所考虑的分段提供结果Bloom过滤器V'的逻辑运算符(诸如二进制OR),组合为辅助产品的每种服务分别生成的Bloom过滤器V1,…,VK。因此,结果Bloom过滤器V'与给定分段可用的多个服务特征相关联。可以将为辅助产品计算的结果Bloom过滤器存储在数据结构(诸如Bloom过滤器矩阵或阵列401)中。例如,如果搜索请求11指定服务“婴儿摇篮”,那么这种服务特征将由编码器122编码为“10000001”。
然后,可用性过滤器400可以确定在搜索请求11中指定的辅助产品是否可用于指定的行程(如由搜索请求11指定的)。更具体而言,为了确定在搜索请求11中指定的辅助产品的可用性,可用性过滤器400可以针对由搜索服务器101返回的每个分段确定与指定的辅助产品相关联的Bloom过滤器是否与Bloom过滤器数据结构401中与该分段相关联的Bloom过滤器之一匹配。如果为查询的辅助产品(搜索模式)确定的位与数据结构401中与该分段相关联的辅助产品的位匹配,那么将该分段识别为与指定的辅助产品匹配。如果确定匹配,那么将该分段保持为候选分段。否则,从行程选项集中过滤掉(或移除)该分段。
下表说明了使用Bloom过滤器对主要产品的分段进行的示例性处理:
[表2]
分段 | Bloom过滤器 | 匹配 |
AF123 LON-PAR DEC01 | 10000011 | Y |
LH456 LON-PAR DEC01 | 00100011 | N |
在上面的示例中,对于分段“LH456 LON-PAR DEC01”,返回否定结果,因为与搜索到的辅助产品对应的Bloom过滤器“10000001”与和针对分段“LH456 LON-PAR DEC01”的存储在数据结构401中的辅助产品对应的Bloom过滤器“00100011”之间没有对应关系(请求中指定的辅助产品的Bloom过滤器的第一位与Bloom过滤器数据结构401中的辅助产品的Bloom过滤器的第一位不匹配)。
应当注意的是,由可用性过滤器400实现的搜索阶段不影响整体计算复杂度(可以在同一过程内组合搜索标准并对其进行查找)。可用性过滤器400因此提供了经过滤的产品的第二集合,其既满足指定的辅助产品条件又满足辅助产品可用性条件。
图6是描绘根据一些实施例的在离线模式下更新可用性过滤器400的Bloom过滤器高速缓存405的过程的流程图。
在活动500中,可以以选择的、固定的或预定的频率按每种产品和按每个预定义的时间段(例如,每天)从例如外部数据库(图6中未示出)将可用性信息推送到库存数据库4中。库存数据库4可以包括例如一个或多个数据库。
在本发明对旅行领域的应用中,可以基于预定义的规则(诸如与产品(航班)和时段(例如,天)相关的规则)将数据发送到库存数据库4。应当注意的是,仅产品库存可用性信息的一部分或库存的全部内容可以被推送到库存数据库4。
在活动502中,响应于推送到库存数据库4的库存数据,可以将确认从库存数据库4发送回外部数据库。在活动504中,响应于数据的接收,更新库存数据库4的库存数据结构。在活动504中,可以从库存数据库4中移除数据,将其添加到库存数据结构,或者可以更新存储在库存数据库4中的数据的一部分。在活动506中,还可以为由库存数据库4新接收的数据从外部源(图6中未示出)检索特定产品对于其可用的价值(也称为“票价”或“票价数据”)。在活动508中,库存数据结构可以用票价数据更新。在活动510中,可以从更新后的库存数据结构重新计算Bloom过滤器并将其存储在Bloom过滤器高速缓存401中。
图7是描绘根据一些实施例的在线更新模型中更新可用性过滤器400的Bloom过滤器高速缓存401的过程的流程图。
在活动600中,可以接收指定给定辅助产品的搜索请求11。
在活动602中,可以将用于给定产品的更新后的票价和可用性信息从定价网关推送到定价引擎(定价网关被配置为调用定价引擎),然后由定价引擎确认。响应于推送到定价引擎的数据,可以从库存数据结构更新给定产品的数据。例如,在活动604中,可以从库存数据结构中移除针对给定产品(航班)和时段(例如,天)的数据,或者将其添加到库存数据结构,或者可以用新接收到的数据在库存数据结构更新所存储的数据的一部分。在活动606中,可以重新计算Bloom过滤器并将其存储在Bloom过滤器高速缓存401中。
图8是根据一些实施例的辅助费用估计器123的示意图。
辅助费用估计器123可以被配置为确定由搜索服务器101返回并由可用性过滤器400过滤的产品当中的每个产品的航班票价,同时包括针对所请求的辅助产品的估计价格。辅助费用估计器123可以考虑一个或多个标准701(下文中称为“辅助费用估计标准”)以估计经过滤的产品列表中的每个产品的辅助费用,包括与主要产品相关的标准以及与指定的辅助产品相关的标准。辅助费用估计器123可以以最小费用金额或确切费用金额的形式提供估计输出704。在一些实施例中,估计输出可以与和产品相关的上下文相关联。例如,对于旅行产品,辅助费用估计器123可以根据机舱环境提供估计输出。例如,与给定的辅助产品S1(例如,“婴儿摇篮”)相关联的估计输出可以包括被确定为等于“任何舱室”至少10欧元的产品费用(旅行产品上下文)。
辅助费用估计标准123可以包括与由可用性过滤器400使用的标准相似的标准集合,诸如:
·基于表示经过滤的列表的产品的办公室或销售点的标识符的办公室标识符(ID)的标准;
·基于搜索请求11的参数(诸如日期、时间或始发和/或目的地信息)的标准;
·基于与产品相关联的(一个或多个)运营商的标准(诸如与(一个或多个)运营商相关的营销和/或运营信息);
·基于产品出发日期参数的标准;
·基于与指定的辅助产品相关联的(一个或多个)产品代码的标准;
·基于票价类型的标准,等等。
辅助费用估计标准701还可以包括其它类型的标准,诸如基于以下的标准:
·与产品的分割相关的附加产品信息(例如,中途停留、转机、转机点信息);
·附加票价信息(例如,票价基础);
·与发出搜索请求11的用户相关的乘客信息,诸如乘客类型代码(例如,成人或儿童乘客类别)或飞行常客信息;
·预订日期(假设诸如为当前日期);
·与产品的选项相关的信息,诸如机舱类型、座位特点或行李信息;
·辅助产品可用性信息(等级);等等。
辅助费用估计器123可以基于所应用的费用估计标准和存储与给定辅助产品相关的票价数据的票价负荷数据113以各种格式提供估计输出704(也称为“估计结果”)。例如,估计输出704可以包括以下信息之一:
·产品可用性信息,指示辅助产品当前不可用;
·指示最低费用金额的费用信息以及指示缺少强制标准以进行确切费用估计的通知信息;
·指示确切的费用金额的费用信息。
当从实时数据中获得一个或几个先前缺失的费用估计标准701时,可以用这种费用估计标准701来回调费用估计器123以确定更好的估计费用(甚至确切的)。
响应于辅助费用估计器123做出的估计,辅助费用估计器123还可以将与由辅助费用估计器123做出的估计相关的数据存储在高速缓存702(以下称为“辅助费用估计高速缓存”)中,诸如例如:
·在辅助费用估计器123进行估计期间使用的辅助费用估计标准123的列表;
·费用估计标准信息,诸如适用的费用估计标准的价值或表示区分标准的缺失标准的列表;和/或
·估计结果和可能缺失的标准。
辅助费用估计高速缓存702可以包括一个或多个高速缓存项,每个高速缓存项与给定的辅助产品(例如,“机舱内宠物”)、产品分段和估计的费用相关联。估计的费用可以具有各种格式。可以以确切费用(=10欧元)、最低费用(>10欧元)的形式表达。估计费用可以取决于上下文(“客舱业务”)或与上下文无关。一个高速缓存项可以匹配多个上下文。
下表表示在本发明对旅行提供者系统的应用中可以存储在辅助费用估计高速缓存器702中的示例性高速缓存项:
[表3]
标准值 | 辅助产品特征 | 费用估计 |
AF123 LON-PAR DEC01 | 婴儿摇篮 | >10欧元 |
AF123 LON-PAR DEC01商务 | 婴儿摇篮 | >50欧元 |
AF123 LON-PAR DEC01 | 机舱内宠物 | N/A |
上表中示出的第一个高速缓存项指示,对于旅行分段“AF123 LON-PAR DEC01”,对于辅助产品“婴儿摇篮”的估计费用至少为10欧元(10欧)。第二个高速缓存项指示,对于旅行分段“AF123 LON-PAR DEC01商务”(商务舱),对于辅助产品“婴儿摇篮”的估计费用至少为50欧元(50欧)。第三个高速缓存项未指示对于旅行分段“AF123 LON-PAR DEC01”,对于辅助产品“机舱内宠物”的估计费用(“N/A”),因为该辅助产品对于该分段不可用。
后处理单元104(辅助清扫器)可以被配置为调用库存数据库,以检查针对计算出的旅行选项的指定的辅助产品的实时可用性数据和确切费用金额。后处理单元104可以使用来自库存的此类实时可用性数据和费用金额数据来:
·移除可能在与可用性过滤器400(Bloom过滤器)相关联的产品高速缓存数据库3中发生的假阳性和/或
·如果辅助费用估计高速缓存仅确定最低费用金额并通知标准缺失,那么确定给定产品的确切费用金额。
图9描绘了根据一些实施例的响应于指定主要产品参数和辅助产品参数的搜索请求11而向用户提供产品的方法。
在活动800中,从用户接收搜索请求11。
在活动802中,执行预过滤和辅助过滤以减小与指定的辅助产品匹配的产品的搜索空间。因而,与对指定的辅助产品的请求不匹配的主要产品从搜索空间中被移除。在本发明对旅行提供者系统的应用中,活动802可以包括:
·计算搜索请求11中指定的始发与目的地之间的航线;以及
·移除未提供指定的辅助产品的运营商的航线。
在活动804中,计算包括满足搜索请求11的主要产品的列表。
在活动806中,可以从库存数据库4中检索在活动804中返回的主要产品的可用性信息。无效产品(即,被认为不可用的产品)可以被移除。
在活动808中,可以使用票价数据113生成票价路径图(也称为“价值路径图”)。然后可以加载票价信息和票价规则。
在活动810中,可以使用Bloom过滤器401执行可用性过滤,以过滤在活动804中为每个辅助产品可用性获得的主要产品列表。这提供了与辅助产品类型和辅助产品当前可用性条件都匹配的主要产品的经过滤的列表。
在活动812中,为与活动810中确定的主要产品列表中主要产品的基本部分(分段)相关联的每个指定的辅助产品确定费用。
在活动814中,还可以执行附加的后过滤(也称为“后处理”),以使用来自存储与一种或多种产品的可用性相关的实时数据的库存数据库的实时数据移除假阳性和/或确定指定的产品的确切费用。还可以执行后过滤以移除假阳性和/或确定指定的产品的确切费用。当已知一个或几个先前缺失的费用估计标准时(根据实时数据),可以触发活动814。响应于接收到新的费用估计标准,活动814可以返回到活动812以使用新的输入标准701进行改进的费用估计。
在活动816中,为在活动806中确定的主要产品的经过滤的列表中的每种主要产品确定总费用,该总费用使用票价规则将主要产品的费用和指定的辅助产品的费用相结合。
在活动818中,与搜索请求11匹配的主要产品的结果(如在活动810和814中确定的)可以在产品提供者系统的专用用户界面中返回给用户或客户端2,包括每种主要产品的总费用(如在816中确定的),例如以用户可以选择和购买的旅行航班选项的形式。
图10是搜索引擎1、客户端2、产品高速缓存数据库3、库存数据库4或本文描述的其它数据库和高速缓存的计算机器的内部组件的示意图。计算机器900包括指令集,以在由计算机器900执行时使计算机器900执行本文讨论的任何方法。计算机器900包括经由总线904彼此通信的至少一个处理器901、主存储器906和网络接口设备903。可选地,计算机器900还可以包括静态存储器905和盘驱动器单元。可以提供视频显示器、字母数字输入设备和光标控制设备,作为用户界面902的示例。网络接口设备903将计算机器900连接到分布式计算系统的其它组件,诸如搜索引擎1、客户端2、产品高速缓存数据库3、库存数据库4或本文所述的其它数据库和高速缓存。
计算机器900还托管高速缓存907。本实施例中的高速缓存907可以由存储数据库表的硬件和软件组件组成,使得与不进行高速缓存相比,对数据库表的未来请求可以被更快地服务。可以有基于硬件的高速缓存,诸如CPU高速缓存、GPU高速缓存、数字信号处理器和转换后备缓存器,以及基于软件的高速缓存(诸如页面高速缓存、Web高速缓存(超文本传输协议,HTTP,高速缓存)等。搜索引擎1、客户端2、产品高速缓存数据库3、库存数据库4或本文描述的其它数据库和高速缓存可以由高速缓存907组成。
实施本文所述方法中的任何一个或全部的计算机可执行指令的集合(即,计算机程序代码)完全或至少部分地驻留在计算机可读介质(例如,主存储器906)中或其上。主存储器906托管用于诸如数据库请求处理908之类的功能实体的计算机程序代码,其包括接收和处理数据库请求的功能以及数据处理功能909。指令还可以经由互联网通过网络接口设备903或通过用户接口902作为传播信号被传输或接收。经由总线904执行计算机器内的通信。计算机器900的基本操作由也位于主存储器906、至少一个处理器901和/或静态存储器905中的操作系统控制。
一般而言,在本文中可以将为执行实施例而执行的例程,无论是实现为操作系统的一部分还是实现为具体的应用、组件、程序、对象、模块或指令序列或者甚至其子集,称为“计算机程序代码”或简称为“程序代码”。程序代码通常包括计算机可读指令,该计算机可读指令在不同时间驻留在计算机的各种存储器和存储设备中,并且当由计算机中的一个或多个处理器读取和执行时,使计算机执行执行操作所需的操作,和/或实施本发明实施例的各个方面的元件。用于执行本发明的实施例的操作的计算机可读程序指令可以是例如汇编语言或以一种或多种编程语言的任何组合编写的源代码或目标代码。
Claims (16)
1.一种用于在分布式计算环境中处理数据库搜索请求的方法,该计算环境包括搜索引擎、产品高速缓存数据库和库存数据库,其中:
产品高速缓存数据库被配置为存储指定从一个或多个提供者数据库检索到的主要产品的数据记录,其中每种主要产品与参考二进制掩码相关联,该参考二进制掩码以二进制格式表示与对应的主要产品相关联的多种辅助产品,其中参考二进制掩码是基于从提供者数据库接收并存储在产品高速缓存数据库中的数据生成的;
库存数据库被配置为存储与主要产品相关的可用性数据以及和与主要产品相关联的辅助产品相关的可用性数据;
该方法包括,在搜索引擎处:
-响应于来自客户端的搜索请求而确定与该搜索请求中指示的搜索标准对应的主要产品的集合;
-基于识别一种或多种辅助产品的在搜索请求中指示的搜索标准来生成搜索二进制掩码;
-通过以下来确定检索到的主要产品的集合的子集,该子集包括具有在搜索请求中识别出的相关联辅助产品的主要产品:
o从产品高速缓存数据库中检索集合中每种主要产品的参考二进制掩码;
o针对集合中每种主要产品将搜索二进制掩码与参考二进制掩码进行比较,并且如果搜索二进制掩码与相应的参考二进制掩码匹配就为子集选择该主要产品;
o通过从库存数据库中检索对应的可用性数据来确定与子集中的每种主要产品相关联的辅助产品的可用性;
-如果确定与子集中的主要产品相关联的一种或多种辅助产品不可用,那么针对子集中的每种主要产品更新产品高速缓存数据库中的参考二进制掩码;
-将子集的为其确定了相关联辅助产品的可用性的至少一种主要产品返回给客户端。
2.如权利要求1所述的方法,还包括:
-通过响应于来自客户端的搜索请求而从产品高速缓存数据库中检索来确定与搜索请求中指示的搜索标准对应的主要产品的集合;
-通过从库存数据库检索对应的可用性数据来确定子集中的每种主要产品的可用性;
-对于子集中的每种主要产品,如果确定主要产品不可用,那么从子集中删除该主要产品,从而修改主要产品的子集。
3.如权利要求1所述的方法,还包括通过响应于来自客户端的搜索请求而从所述一个或多个提供者数据库中检索来确定与搜索请求中指示的搜索标准对应的主要产品的集合。
4.如权利要求1至3中的任一项所述的方法,还包括:
-计算与子集中的主要产品和/或与子集中的主要产品相关联的辅助产品对应的一个或多个票价并将计算出的票价添加到子集
-和/或
-针对子集中的主要产品和/或与子集中的主要产品相关联的辅助产品计算价格解决方案并将计算出的价格解决方案添加到子集。
5.如权利要求1至4中的任一项所述的方法,其中参考二进制掩码和/或搜索二进制掩码是包括二进制分量的集合的二进制向量,该二进制分量由预定义的函数生成。
6.如权利要求5所述的方法,其中参考二进制掩码和搜索二进制掩码是Bloom过滤器。
7.如权利要求1至6中的任一项所述的方法,其中确定子集中的每种主要产品和/或与子集中的每种主要产品相关联的辅助产品的可用性包括:
-向库存数据库发出可用性请求并接收对该可用性请求的响应;
-如果对可用性请求的响应返回主要产品和/或辅助产品可用的指示,那么将主要产品和/或辅助产品识别为可用;
-如果对可用性请求的响应返回主要产品和/或辅助产品不可用的指示,那么将主要产品和/或辅助产品识别为不可用。
8.一种搜索引擎,用于在包括产品高速缓存数据库和库存数据库的分布式计算环境中处理数据库搜索请求,其中:
产品高速缓存数据库被配置为存储指定从一个或多个提供者数据库检索到的主要产品的数据记录,其中每种主要产品与参考二进制掩码相关联,该参考二进制掩码以二进制格式表示与对应的主要产品相关联的多种辅助产品,其中参考二进制掩码是基于从所述一个或多个提供者数据库接收并存储在产品高速缓存数据库中的数据生成的;
库存数据库被配置为存储与主要产品相关的可用性数据以及和与主要产品相关联的辅助产品相关的实时可用性数据;
其中搜索引擎被配置为:
-响应于来自客户端的搜索请求而确定与该搜索请求中指示的搜索标准对应的主要产品的集合;
-基于识别一种或多种辅助产品的在搜索请求中指示的搜索标准来生成搜索二进制掩码;
-通过以下来确定检索到的主要产品的集合的子集,该子集包括具有在搜索请求中识别出的相关联辅助产品的主要产品:
o从产品高速缓存数据库中检索集合中每种主要产品的参考二进制掩码;
o针对集合中每种主要产品将搜索二进制掩码与参考二进制掩码进行比较,并且如果搜索二进制掩码与相应的参考二进制掩码匹配就为子集选择该主要产品;
o通过从库存数据库中检索对应的可用性数据来确定与子集中的每种主要产品相关联的辅助产品的可用性;
-如果确定与子集中的主要产品相关联的一种或多种辅助产品不可用,那么更新产品高速缓存数据库中的参考二进制掩码;
-将子集的为其确定了相关联辅助产品的可用性的至少一种主要产品返回给客户端。
9.如权利要求8所述的搜索引擎,其中搜索引擎还被配置为:
-通过响应于来自客户端的搜索请求而从产品高速缓存数据库中检索来确定与搜索请求中指示的搜索标准对应的主要产品集合;
-通过从库存数据库检索对应的可用性数据来确定子集中的每种主要产品的可用性;
-对于子集中的每种主要产品,如果确定主要产品不可用,那么从子集中删除该主要产品,从而修改主要产品的子集。
10.如权利要求8所述的搜索引擎,其中搜索引擎还被配置为通过响应于来自客户端的搜索请求而从所述一个或多个提供者数据库中检索来确定与搜索请求中指示的搜索标准对应的主要产品的集合。
11.如权利要求8至10中的任一项所述的搜索引擎,其中搜索引擎还被配置为:
-计算与子集中的主要产品和/或与子集中的主要产品相关联的辅助产品对应的一个或多个票价并将计算出的票价添加到子集
-和/或
-针对子集中的主要产品和/或与子集中的主要产品相关联的辅助产品计算价格解决方案并将计算出的价格解决方案添加到子集。
12.如权利要求8至11中的任一项所述的搜索引擎,其中搜索引擎被配置为通过以下来确定子集中的每种主要产品和/或与子集中的每种主要产品相关联的辅助产品的可用性:
-向库存数据库发布可用性请求并接收对可用性请求的响应;
-如果对可用性请求的响应返回主要产品和/或辅助产品可用的指示,那么将主要产品和/或辅助产品识别为可用;
-如果对可用性请求的响应返回主要产品和/或辅助产品不可用的指示,那么将主要产品和/或辅助产品识别为不可用。
13.如权利要求8至12中的任一项所述的搜索引擎,其中参考二进制掩码和/或搜索二进制掩码是包括二进制分量的集合的二进制向量,该二进制分量由预定义的函数生成。
14.如权利要求13所述的搜索引擎,其中参考二进制掩码或搜索二进制掩码是Bloom过滤器。
15.一种分布式计算环境,包括根据权利要求8至14中的任一项所述的搜索引擎、产品高速缓存数据库和库存数据库。
16.一种计算机程序产品,包括存储在计算机可读介质上的程序代码指令,以在所述程序在计算机上被执行时执行根据权利要求1至7中的任一项所述的方法步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1913844A FR3104296A1 (fr) | 2019-12-06 | 2019-12-06 | Système de determination de produit optimisé |
FR1913844 | 2019-12-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112925974A true CN112925974A (zh) | 2021-06-08 |
Family
ID=69700130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011409769.0A Pending CN112925974A (zh) | 2019-12-06 | 2020-12-04 | 优化的产品确定系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11798054B2 (zh) |
EP (1) | EP3832580A1 (zh) |
CN (1) | CN112925974A (zh) |
FR (1) | FR3104296A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11568465B2 (en) * | 2021-04-25 | 2023-01-31 | Wenye Tan | Intelligent online platform for digitizing, searching, and providing services |
WO2023172205A1 (en) * | 2022-03-11 | 2023-09-14 | Smudg Company Pte. Ltd. | A system configured with an ever expanding, self-calibrating, array of one or more types of attributes |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2825814B1 (fr) * | 2001-06-07 | 2003-09-19 | Commissariat Energie Atomique | Procede de creation automatique d'une base de donnees images interrogeable par son contenu semantique |
US20110004856A1 (en) * | 2005-02-28 | 2011-01-06 | Yuri Granik | Inverse Mask Design and Correction for Electronic Design |
US9934526B1 (en) * | 2013-06-27 | 2018-04-03 | A9.Com, Inc. | Text recognition for search results |
US20200394728A1 (en) * | 2013-09-13 | 2020-12-17 | Keith FISHBERG | Amenity and service search and booking engine |
CN105683954B (zh) * | 2013-09-13 | 2021-02-09 | 基思·菲什伯格 | 设施、特殊服务及食品/饮料搜索和购买预订系统 |
US9626334B2 (en) * | 2014-12-24 | 2017-04-18 | Intel Corporation | Systems, apparatuses, and methods for K nearest neighbor search |
US10303735B2 (en) * | 2015-11-18 | 2019-05-28 | Intel Corporation | Systems, apparatuses, and methods for K nearest neighbor search |
US10007957B2 (en) * | 2015-04-14 | 2018-06-26 | Amadeus S.A.S. | Selecting search results for responding to search query |
US10270965B2 (en) * | 2015-12-04 | 2019-04-23 | Ebay Inc. | Automatic guided capturing and presentation of images |
US10521691B2 (en) * | 2017-03-31 | 2019-12-31 | Ebay Inc. | Saliency-based object counting and localization |
CA3134424A1 (en) * | 2019-03-18 | 2020-09-24 | Geomagical Labs, Inc. | Virtual interaction with three-dimensional indoor room imagery |
US20220108264A1 (en) * | 2019-04-11 | 2022-04-07 | Carnegie Mellon University | System and method for determining out-of-stock products |
US20210027317A1 (en) * | 2019-07-26 | 2021-01-28 | Capital One Services, Llc | Inventory and structure finder |
US11663642B2 (en) * | 2019-10-07 | 2023-05-30 | Salesforce, Inc. | Systems and methods of multicolor search of images |
-
2019
- 2019-12-06 FR FR1913844A patent/FR3104296A1/fr active Pending
-
2020
- 2020-11-23 US US17/101,273 patent/US11798054B2/en active Active
- 2020-11-25 EP EP20209700.2A patent/EP3832580A1/en active Pending
- 2020-12-04 CN CN202011409769.0A patent/CN112925974A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11798054B2 (en) | 2023-10-24 |
EP3832580A1 (en) | 2021-06-09 |
FR3104296A1 (fr) | 2021-06-11 |
US20210174419A1 (en) | 2021-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220101211A1 (en) | Travel packages including separately purchased travel items | |
JP6557662B2 (ja) | 運賃利用可能性、たとえば航空運賃利用可能性を提供するための方法及びサーバ | |
US20080189148A1 (en) | Ground transportation booking | |
US20060020496A1 (en) | Process for scheduling charter transportation | |
US20050273373A1 (en) | Systems, methods, and computer program products for searching and displaying low cost product availability information for a given departure-return date combination or range of departure-return date combinations | |
US20090222279A1 (en) | Rate quote generation for optimization of travel agency profitability | |
US20080183512A1 (en) | System and method for estimating seat value | |
US20080198761A1 (en) | Decentralized network architecture for travel related services | |
JP6473158B2 (ja) | 見積もり価格、たとえば航空運賃価格見積もりの組を提供するための方法及びサーバ | |
US11922338B2 (en) | Devices, systems and methods for providing ancillary objects from a cache and categorized provider objects | |
US20160180256A1 (en) | History-based probability forecasting | |
WO2013082151A1 (en) | Layover management system and method | |
JP6850310B2 (ja) | 見積もり価格、たとえば航空運賃価格見積もりの組を提供するための方法及びサーバ | |
US20190378224A1 (en) | Blockchain-based distribution platform | |
CN112925974A (zh) | 优化的产品确定系统 | |
US20180225595A1 (en) | Travel subscription devices and methods | |
US20190287151A1 (en) | Product delivery system and method | |
US20140279268A1 (en) | Methods and systems for alternative trip comparisons and/or queue-based interactions | |
CN111339122A (zh) | 一种差旅平台的主动缓存方法、差旅查询方法和相关产品 | |
JP2021093210A (ja) | ホテル予約価格見積もりを提供するための方法及びサーバ | |
JP6976346B2 (ja) | データ管理システムにおける非標準データ管理 | |
EP3051467A1 (en) | Incorporation of revenue impact of ancillary services into revenue-driven inventory system | |
US20150294236A1 (en) | Electronic miscellaneous document handling in response to voluntary modifications of ancillary services | |
US20230127638A1 (en) | Key-based handling of product purchases | |
US20170103437A1 (en) | Yield determinations for a remaining inventory of a product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |