CN112839074B - 用于对数据请求的响应的多阶段生成的系统和方法 - Google Patents

用于对数据请求的响应的多阶段生成的系统和方法 Download PDF

Info

Publication number
CN112839074B
CN112839074B CN202011306464.7A CN202011306464A CN112839074B CN 112839074 B CN112839074 B CN 112839074B CN 202011306464 A CN202011306464 A CN 202011306464A CN 112839074 B CN112839074 B CN 112839074B
Authority
CN
China
Prior art keywords
request
response data
response
initial
provider
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
CN202011306464.7A
Other languages
English (en)
Other versions
CN112839074A (zh
Inventor
R·特谢尔
M·迈尼
D·杜邦
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
Priority claimed from FR1913068A external-priority patent/FR3103589B1/fr
Priority claimed from US16/691,987 external-priority patent/US10979494B1/en
Application filed by Amadeus SAS filed Critical Amadeus SAS
Publication of CN112839074A publication Critical patent/CN112839074A/zh
Application granted granted Critical
Publication of CN112839074B publication Critical patent/CN112839074B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0611Request for offers or quotes
    • 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
    • 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
    • G06F16/953Querying, e.g. by the use of web search engines
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开涉及用于对数据请求的响应的多阶段生成的系统和方法。一种方法,包括:在中介服务器处从客户端子系统接收包括请求参数集合的数据请求;将请求参数集合从中介服务器传输到多个提供者子系统;在中介服务器处接收各个初始响应,每个初始响应包含与请求参数对应的初始响应数据集合;从中介服务器向提供者子系统中的至少一个提供者子系统发送对更新的响应数据的辅助请求,辅助请求包括至少一个初始响应数据集合的指示;响应于辅助请求,接收更新的响应数据;以及将更新的响应数据传输到客户端子系统。

Description

用于对数据请求的响应的多阶段生成的系统和方法
技术领域
本说明书一般而言涉及在计算系统中处理数据请求,并且具体而言涉及用于对数据请求的响应的多阶段(stage)生成的系统和方法。
背景技术
计算系统内的某些请求通过生成的或计算的数据而不是仅需要从存储中检索的现有数据来响应。此类响应的生成可能取决于来自各种输入数据源的大量变量。获得上述输入会例如由于在系统上施加附加的计算负载和/或由于生成过多的网络流量而对响应的生成引入了延迟。
发明内容
本说明书的一方面提供了一种方法,包括:在中介服务器处从客户端子系统接收包括请求参数集合的数据请求;将请求参数集合从中介服务器传输到多个提供者(provider)子系统;在中介服务器处接收各个初始响应,每个初始响应包含与请求参数对应的初始响应数据集合;从中介服务器向提供者子系统中的至少一个提供者子系统发送对更新的响应数据的辅助请求,辅助请求包括至少一个初始响应数据集合的指示;响应于辅助请求,接收更新的响应数据;以及将更新的响应数据传输到客户端子系统。
该方法还可以包括直接响应于接收到初始响应而发送辅助请求。
该方法还可以包括:在发送辅助请求之前:将初始响应数据集合发送到客户端子系统;在中介服务器处从客户端子系统接收对初始响应数据集合之一的选择;以及响应于接收到所述选择而发送辅助请求。
该方法还可以包括:与每个初始响应数据集合一起传输响应标识符;其中辅助请求包括每个初始响应数据集合的响应标识符。
该方法还可以包括:在发送辅助请求之前:在中介服务器处从订户储存库中选择提供者子系统中的所述至少一个提供者子系统。
辅助请求中的所述指示可以包括所述至少一个初始响应数据集合。
辅助请求中的所述指示可以包括从所述至少一个初始响应数据集合导出的度量。
该方法还可以包括:在发送辅助请求之前:基于所述至少一个初始响应数据集合和存储在中介服务器处的生成机制,在中介服务器处生成所述度量。
该方法还可以包括:响应于接收到更新的响应数据,发送包括更新的响应数据的指示的另外的辅助请求;响应于所述另外的辅助请求,接收另外的更新的响应数据;以及将所述另外的更新的响应数据传输到客户端子系统。
本说明书的另一方面提供了一种中介服务器,包括:通信接口;以及与通信接口连接的处理器,所述处理器被配置为:经由通信接口从客户端子系统接收包括请求参数集合的数据请求;将请求参数集合传输到多个提供者子系统;接收各个初始响应,每个初始响应包含与请求参数对应的初始响应数据集合;向提供者子系统中的至少一个提供者子系统发送对更新的响应数据的辅助请求,辅助请求包括至少一个初始响应数据集合的指示;响应于辅助请求,接收更新的响应数据;以及将更新的响应数据传输到客户端子系统。
该处理器还可以被配置为:直接响应于接收到初始响应而发送辅助请求。
该处理器还可以被配置为:在发送辅助请求之前:将初始响应数据集合发送到客户端子系统;从客户端子系统接收对初始响应数据集合之一的选择;以及响应于接收到所述选择而发送辅助请求。
该处理器还可以被配置为:与每个初始响应数据集合一起传输响应标识符;其中辅助请求包括每个初始响应数据集合的响应标识符。
该处理器还可以被配置为:在发送辅助请求之前:从订户储存库中选择提供者子系统中的所述至少一个提供者子系统。
辅助请求中的所述指示可以包括所述至少一个初始响应数据集合。
辅助请求中的所述指示可以包括从所述至少一个初始响应数据集合中得出的度量。
该处理器还可以被配置为:在发送辅助请求之前:基于所述至少一个初始响应数据集合和存储在中介服务器处的生成机制来生成所述度量。
该处理器还可以被配置为:响应于接收到更新的响应数据,发送包括更新的响应数据的指示的另外的辅助请求;响应于所述另外的辅助请求,接收另外的更新的响应数据;以及将所述另外的更新的响应数据传输到客户端子系统。
本说明书的另一方面提供了一种非暂态计算机可读介质,其存储可由中介服务器的处理器执行的计算机可读指令,以使中介服务器:经由中介服务器的通信接口从客户端子系统接收包括请求参数集合的数据请求;将请求参数集合传输到多个提供者子系统;接收各个初始响应,每个初始响应包含与请求参数对应的初始响应数据集合;向提供者子系统中的至少一个提供者子系统发送对更新的响应数据的辅助请求,辅助请求包括至少一个初始响应数据集合的指示;响应于辅助请求,接收更新的响应数据;以及将更新的响应数据传输到客户端子系统。
本说明书的另一方面提供了一种计算机程序产品,该计算机程序产品包括存储在计算机可读介质上的程序代码指令,从而当所述程序在计算机上执行时执行根据上述方法方面中的任何一个的方法步骤。
附图说明
参考以下各图描述实施例,其中:
图1描绘了用于请求处理的系统;
图2描绘了图1的中介服务器的某些部件;
图3描绘了对数据请求的响应的多阶段生成的方法;
图4图示了图3的方法的方框305的示例执行;
图5图示了图3的方法的方框320和325的示例执行;
图6图示了图3的方法的方框330和335的示例执行;
图7图示了图3的方法的方框350的示例执行;以及
图8描绘了对数据请求的响应的多阶段生成的另一种方法。
具体实施方式
图1描绘了用于处理数据请求的系统100。一般而言,在这种上下文中,处理数据请求是指请求的接收以及对该请求的处理,例如,通过查询一个或多个其它数据源以生成响应,该响应然后被提供给发起请求的计算设备。
在下面讨论的示例中,数据请求源自客户端子系统104,客户端子系统104可以是包括台式计算机、诸如平板电脑之类的移动计算机等的计算设备中的任何合适的一个或任何合适的组合。示出了单个客户端子系统104,但是系统100可以包括任意数量的客户端子系统104。在下面讨论的示例中,源自客户端子系统104的请求是对描述与旅行相关的产品和服务(诸如航班、旅馆预订、车辆租赁等(通常称为项目))的信息的请求。
客户端子系统104可以由上述项目的直接消费者(例如,个人旅行者)来操作。在其它示例中,客户端子系统104可以由诸如旅行社之类的中间实体来操作,该中间实体可以代表各个旅行者获得上述项目。这样的中间实体也可以称为卖方(即,将项目出售给旅行者或其它终端消费者的实体)。
由客户端子系统104发起的请求包括各种选项和属性,其也可以称为请求参数,其定义要返回给客户端子系统104的项目的期望特性。这样的选项和属性的示例包括时间和日期、始发地和目的地位置等。在客户端子系统104处接收的对这样的请求的(一个或多个)响应包括定义满足至少一些上述选项和属性的项目的数据。响应由或代表提供项目的实体生成。即,提供者是诸如航空公司、宾馆运营商等的实体,其在购买项目之后(例如,经由客户端子系统104)将项目交付给终端消费者。在本示例中,提供者实体还生成对来自客户端子系统104的请求的上述响应。为此,每个提供者实体都操作提供者子系统,在图1中示出了其三个示例108-1、108-2和108-3(统称为提供者子系统108,并且一般地称为提供者子系统108)。在其它示例中,系统100可以包括更多或更少数量的提供者子系统108。
每个提供者子系统108从客户端子系统104接收请求,尽管不同的请求可以被交付给提供者子系统108的不同子集。响应于在提供者子系统108处接收到的任何给定请求,提供者子系统108生成响应数据以返回给客户端子系统104。一般而言,由提供者子系统108生成响应数据涉及在由操作该提供者子系统108的实体提供的项目(例如,航班)集合中选择具有与请求中的至少一些选项和属性匹配的特性的一个或多个项目。由于数据请求中可能的属性和选项的多样性以及对应的项目特性的多样性,因此由提供者子系统108生成响应数据可能在计算上是昂贵的,需要从提供者子系统108内部和/或外部的多个来源检索数据并评估多条规则或其它机制。
在给定提供者子系统108可能消费以对来自客户端子系统104的数据请求生成响应的信息中,除了上述请求属性和选项之外,还包括对其它提供者子系统108生成的相同请求的响应。基本上与在给定提供者子系统108处的响应生成同时生成其它响应。但是,获得这样的其它响应可能延迟给定提供者子系统108处的响应的生成,并且还可能在提供者子系统108上施加另外的计算和/或网络流量负载。
因此,系统100还包括经由网络116(例如,局域网和包括因特网的广域网的任何合适的组合)与客户端子系统104和提供者子系统108连接的中介服务器112。中介服务器112,在本文中也简称为服务器112,介于客户端子系统104和提供者子系统108之间。即,中介服务器112从客户端子系统112接收请求,并将这样的请求传递到提供者子系统108的至少一个子集以用于响应生成。服务器112还接收由提供者子系统108生成的响应,以交付给客户端子系统104。另外,如下面将更详细讨论的,服务器112可以实现多阶段响应生成处理,该处理使得提供者子系统108不仅基于请求本身,而且还基于其它提供者子系统108生成的响应来生成响应,同时减轻这种多阶段生成对提供者子系统108的影响。服务器112存储包含要在上述多阶段响应生成处理中采用的配置数据的提供者简档储存库120(其也可以称为订户储存库)。
在进一步讨论系统100的各个部件的功能之前,将结合图2描述中介服务器112的某些内部部件。
转到图2,中介服务器112包括至少一个处理器200,诸如中央处理单元(CPU)等。处理器200与存储器204互连,存储器204被实现为合适的非暂态计算机可读介质(例如,非易失性和易失性存储器子系统的合适组合,包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、闪存、磁性计算机存储装置等中的任何一个或多个)。处理器200和存储器204通常由一个或多个集成电路(IC)组成。
处理器200还与通信接口208互连,该通信接口208使服务器112能够经由网络116与系统100的其它计算设备通信。因此,通信接口208包括经由网络116进行通信的任何必要的部件(例如,网络接口控制器(NIC)、无线电单元等)。基于网络116的性质来选择通信接口208的特定部件。服务器112还可以包括连接到处理器200的输入和输出设备,诸如键盘、鼠标、显示器等(未示出)。
上述服务器112的部件可以部署在单个壳体中,或者以分布式格式部署。因此,在一些示例中,服务器112包括多个处理器,它们或者共享存储器204和通信接口208,或者各自具有不同的相关联的存储器和通信接口。
存储器204存储上述简档储存库120以及可由处理器200执行以实现各种功能的计算机可读指令。计算机可读指令也可以被称为应用,并且在所示示例中,存储器204存储请求处理应用212(在本文中也简称为应用212)。处理器200执行应用212的指令,以便执行由其中包含的指令定义的各种动作。在下面的描述中,处理器200,更一般地服务器112,被称为执行或被配置为执行那些动作。应该理解的是,它们是经由执行(由处理器200)存储在存储器204中的应用的指令来配置的。一般而言,服务器112被配置为经由应用212的执行来实现上述多阶段响应生成处理,以使得提供者子系统108能够使用来自其它提供者子系统108的(对来自客户端子系统104的公共请求)的响应,以便生成响应。
现在转到图3,将更详细地描述系统100的操作的某些方面。具体而言,图3图示了对数据请求的响应的多阶段生成的方法300。下面将结合方法100在系统100内的执行来描述方法300的执行。特别地,实线所示的方框由中介服务器112执行,并且虚线所示的方框由提供者子系统108执行。即,可以执行虚线所示的每个方框的多个实例,其中每个实例由提供者子系统108之一执行。
在方框305处,服务器112经由网络116从客户端子系统104接收请求。可以经由任何合适的接口(例如,服务器112公开的API等)将请求传输到服务器112。请求包括请求属性和/或选项,如前所述,这些属性和/或选项定义要返回给客户端子系统104的项目(诸如航班、宾馆房间等)的期望特性。简要地转向图4,示出了示例请求400从客户端子系统104传输到服务器112。可以称为购物请求的请求400包括航班的始发地、目的地和日期属性,以及不请求回程航班的指示(即,请求400用于单程航班)。具体而言,在所示的示例中,请求400指示客户端子系统104正在搜索2019年12月18日从纽约市到巴黎的单程(即,非往返)航班。请求400可以包括各种其它请求参数,所述其它请求参数例如定义辅助服务,诸如行李托运服务之类。
返回图3,在方框310处,已经接收到请求400,服务器112将来自请求400的请求参数集合发送到提供者子系统108中的至少一个。在本示例中,假设服务器112将请求参数发送到每个提供者子系统108,以从每个提供者子系统108征求将项目的供应(offer)返回到客户端子系统104。
在方框315的单独实例处,每个提供者子系统108接收请求参数,并生成初始响应数据。每个提供者子系统108生成的初始响应数据定义该提供者子系统108的库存(inventory)中满足至少一些请求参数的一个或多个项目。提供者子系统108可以采用多种机制中的任何一种来生成响应数据。这样的机制与服务器112对请求和响应的处理不直接相关,因此不在本文中更详细地讨论。
在方框320的单独实例处,已生成初始响应数据后,每个提供者子系统108向服务器112传输包含由该提供者子系统108生成的初始响应数据的初始响应。方框320的实例(以及上述方框315的实例)是基本上同时的,因为它们在共同的时间帧内发生。例如,方框320的实例可以在相同的时间段内发生(例如,5-15秒,但是也可以预期更短或更长的时间段),但是在该时间段内在提供者子系统108-1处方框320的执行可以在提供者子系统108-2处方框320的执行之前完成。
在方框325处,服务器112从提供者子系统108接收初始响应,并将来自那些响应的至少一部分初始响应数据发送到客户端子系统104。在将初始响应数据发送到客户端子系统104之前,服务器112可以等待直到对于在方框310处发送的每个请求在方框325处接收到初始响应。在其它示例中,服务器112可以在接收后发送初始响应数据,在这种情况下,可以执行方框325的多个实例,例如,对于从提供者子系统108接收到的每个初始响应,执行一个实例。
参考图5,图示了方框320和325的示例执行。特别地,每个提供者子系统108已经生成包含初始响应数据的初始响应500并将其发送到服务器112。初始响应数据定义至少一个项目,其特性与在方框305处接收到的请求中的请求参数对应。
如前所述,请求400指示客户端子系统104在2019年12月18日寻求从纽约到巴黎的单程航班。在图5所示的示例中,来自提供者子系统108-1的初始响应500-1包含初始响应数据,该数据定义2019年12月18日从纽约到巴黎的航班,费用为$950,并且没有免费行李托运。来自提供者子系统108-2的初始响应500-2包含初始响应数据,该数据定义2019年12月18日从纽瓦克(Newark)(而不是从纽约本身)到巴黎的航班,费用为$830,并且没有免费行李托运。最后,来自提供者子系统108-3的初始响应500-3包含初始响应数据,该数据定义2019年12月18日从纽约市到巴黎的航班,费用为$960,并且为一个包裹提供免费行李托运。
初始响应500-1在服务器112处被接收,在服务器112处可以存储初始响应500-1,并将其转发给客户端子系统104。特别地,示出了从服务器112传输到客户端子系统104的消息504,其包含每个初始响应500。初始响应可以具有由提供者子系统108和服务器112中的一个或两个分配的响应标识符(其也可以称为供应标识符)。在所示的示例中,参考标号500-1、500-2和500-3被假定为响应标识符,并且在方框325处也被传递给客户端子系统104,从而允许响应数据的后续处理与初始响应500相关联。
客户端子系统104在接收到包含初始响应数据的消息504后,可以在显示器和/或其它合适的输出组件上呈现初始响应数据。然后,客户端子系统104可以接收对初始响应500之一的选择,以用于进一步处理(例如,在旅行相关项目的情况下用于预订)。但是,将理解的是,在方框325处向客户端子系统104传输初始响应之后,选择可能不会发生。例如,如果在可配置的时间段(例如,10分钟)内没有从客户端子系统104接收到选择,那么服务器112可以丢弃初始响应500并终止方法300的执行。
在方法300的该示例执行中,假设客户端子系统104确实接收到对初始响应500的选择,并且因此在方框330处,服务器112从客户端子系统104接收该选择。选择可以包括例如上述响应标识符。简要地参考图6,示出了包含响应标识符500-2的选择600从客户端子系统104传输到服务器112,指示初始响应500-2(即,从纽瓦克到巴黎的航班)已在客户端子系统104处被选择。
再次返回图3,响应于在方框330处接收到选择,在方框335处,服务器112向提供者子系统104中的至少一个发送辅助请求。如下面将讨论的,辅助请求是由其它提供者子系统108的初始响应通知的,对提供者子系统108更新初始响应数据(即,产生对在方框305处接收到的初始请求的更新响应)的邀请。
可以在简档储存库120中定义哪个提供者子系统108接收辅助请求以及辅助请求的内容。储存库120可以例如包含与每个提供者子系统108对应的记录,其指示提供者子系统108是否要接收辅助请求。示例储存库120在下面的表1中示出。
表1
如上所述,每个提供者子系统108被指示为多级响应生成处理的订户,因此每个提供者子系统108将被发送辅助请求。在其它示例中,“订户”字段中的“否”(或指示提供者子系统108是非订户的任何其它合适的值)将导致提供者子系统108不接收任何辅助请求。可以将辅助请求发送到发起在方框330处选择的响应的提供者子系统108,即使该提供者子系统108是非订户。在这样的示例中,辅助请求不包含从其它初始响应导出的信息。
也如表1所示,对于每个提供者子系统108,储存库120可以包括对在发送到该提供者子系统108的辅助请求中包括哪些数据的指示。每个辅助请求的内容可以不同于发往其它提供者子系统108的辅助请求。更一般地,每个辅助请求可以包括各种各样的数据。例如,辅助请求可以包括由每个其它提供者子系统108生成的完整的初始响应数据集合。在其它示例中,辅助请求可以仅包括来自其它提供者子系统的初始响应数据的某些部分。在另外的示例中,辅助请求可以包括仅一些其它提供者子系统108的初始响应数据。
表1图示了与提供者子系统108-1相关的上述一些标准的示例。储存库120中与提供者子系统108-1对应的记录指示发送到提供者子系统108-1的辅助请求将仅包含来自其它初始响应的价格,并且进一步指示仅要包含价格最低的竞争初始响应的价格。
辅助请求中包含的数据也可以包括从初始响应数据导出的度量,而不包括初始响应数据本身。例如,服务器112可以为每个初始响应生成分数或任何其它合适的度量。可以根据应用于所有初始响应数据的共同机制来导出这样的度量,以包括在任何辅助请求中。但是,在其它示例中,可以从每个初始响应500导出不同的度量,以包括在不同的辅助请求中。可以基于初始响应数据本身或基于初始响应数据以及由服务器112从外部来源(诸如,飞机属性(例如,腿部空间、娱乐装备等)的储存库、航空公司(或其它类型的提供者)属性(诸如给定航空公司经历的延迟频率之类)的存储库等)检索到的辅助数据来计算这样的度量。
例如,表1指示针对提供者子系统108-2的辅助请求将包括根据机制“M-2”针对来自另一个提供者子系统108的每个初始响应500导出的度量。机制M-2可以是例如在提供者子系统108-2自身处开发并部署到服务器112以用于生成辅助请求的度量导出处理。表1还指示针对提供者子系统108-3的辅助请求对于来自另一个提供者子系统108的每个初始响应将包括用于该初始响应的度量与用于提供者子系统108-3本身的初始响应的度量之间的差(即,增量)。此外,将使用不同于先前提到的机制M-2的机制“M-3”来导出上述度量。
返回到图6,除了上述选择600之外,还示出了方框335的示例执行。特别地,在接收到选择600之后,服务器112根据在储存库120中指定的标准来生成并发送三个辅助请求604-1、604-2和604-3。辅助请求604-1包括响应标识符“500-1”,使得提供者子系统108-1能够将辅助请求604-1与初始响应500-1相关联。如表1中所指定的,辅助请求604-1还包括最便宜的竞争供应的价格。因此,在本示例中,辅助请求604-1包括价格$830,其是初始响应500中的最低价格(具体而言,来自初始响应500-2)。
针对提供者子系统108-2的辅助请求604-2包括响应标识符“500-2”,以及根据机制M-2导出的两个度量。特别地,值为154的度量对应于初始响应500-1,并且值为130的度量对应于初始响应500-3。最终,针对提供者子系统108-3的辅助请求604-3包括响应标识符“500-3”和两个增量。值为6的第一个增量指示如根据机制M-3导出的初始响应500-3和初始响应500-1的分数之间的差。值为11的第二个增量指示如根据机制M-3导出的初始响应500-3和初始响应500-2的分数之间的差。
如现在将显而易见的,储存库120可以包括各种各样的标准,其为每个提供者子系统108定义来自其它提供者子系统108的哪些初始响应数据将包含在辅助请求中。当生成辅助请求时,服务器112也可以应用默认标准和/或覆写(override)标准。例如,覆写标准可以指定诸如提供者子系统108的身份的某些信息将从任何辅助请求中被省略,而不管储存库120中指示的特定于提供者的标准如何。辅助请求也可以指示其中表示的初始响应中的哪一个被客户端子系统104选择。
辅助请求可以具有多种格式。例如,当系统100的实体之间的通信根据新分发能力(NDC)标准进行格式化时,辅助请求可以采用“OfferPrice”请求的形式,其中一个或多个附加字段(除NDC标准中指定的字段以外的字段)包含初始响应数据或其指示。
在方框340处,接收到辅助请求的(一个或多个)提供者子系统108可以生成更新的响应数据,并且在方框345处,那些(一个或多个)提供者子系统108将更新的响应数据返回到服务器112。与在方框320处的初始响应数据的生成一样,可以根据各种各样机制中的任何一种来执行在每个提供者子系统108处的更新的响应数据的生成,这些机制不需要在提供者子系统108之间保持一致。更新的响应数据的生成可以例如不仅基于在方框315处最初接收的请求参数,而且还基于包含在辅助请求中的来自其它提供者子系统108的初始响应数据。
图7图示了在方框350处从提供者子系统108发送并在中介服务器112处接收的三个更新的响应数据700-1、700-2和700-3的示例集合。更新的响应700-1包括前面提到的响应标识符“500-1”,以及定义价格比初始响应500-1低($850而不是$950)的从纽约到巴黎的航班的信息。更新的响应700-2包含前面提到的响应标识符“500-2”,并且不包括对初始响应数据的改变。例如,提供者子系统108-2可以例如根据评分机制M-2来评估其自己的初始响应数据(包含在初始响应500-2中),并确定初始响应500-2的分数高于辅助请求700-2中指示的值。
更新的响应700-3包括前面提到的响应标识符“500-3”和定义价格比初始响应500-3高的从纽约到巴黎的航班的信息。换句话说,在每个提供者子系统108处应用以与初始响应数据相比更新(例如,“改善”)响应数据的逻辑不必符合“改善”的一致定义。例如,提供者子系统108-3可以由寻求呈现高级品牌的航空公司来运营,并且因此与竞争的航空公司相比,降低价格对于该航空公司而言可能不是所期望的。
返回图3,在方框355处,服务器112确定是否实现响应生成的附加阶段。如从上面的讨论将显而易见的,直到方框350的处理实现两个阶段(初始响应500的生成和更新响应700的生成)。服务器112可以实现附加阶段,其中根据储存库120中列出的标准将最新响应数据传输到提供者子系统108。
在方框355处的确定可以包括确定是否已经达到预定数量的阶段。例如,服务器112可以存储可配置的阈值(例如,四个阶段),并且可以跟踪针对在方框305处接收的给定请求实现的当前阶段数。在当前阶段数达到阈值时,方框355处的确定为否定,否则方框355处的确定为肯定。在其它示例中,当每个更新的响应(例如,更新的响应700)与先前的响应(例如,初始响应500)相比没有变化时,方框355处的确定可以为否定,否则为肯定。即,服务器112可以继续实现附加阶段,直到从提供者子系统108接收到的响应数据都没有变化为止。
在其它示例中,可以在方框355处采用以上标准的组合。例如,当还没有达到阈值阶段数时以及当更新的响应数据继续显示与前一阶段相比的变化时,服务器112可以在方框355处做出肯定确定。当或者达到阈值或者更新的响应数据中没有出现其它变化(无论哪个首先发生)时,服务器112可以做出否定确定。
当方框355处的确定为肯定时,重复方框335、340、345和350的执行。例如,服务器112可以生成另外的辅助请求并将其发送到提供者子系统108,该另外的辅助请求包含上面讨论的更新的响应数据700的指示,并且提供者子系统108可以生成另外的更新的响应数据。当在方框355处的确定为否定时,在方框360处,服务器112将最终更新的响应数据返回给客户端子系统104以进行呈现和进一步选择。
还预期了多阶段响应生成的其它实现。转到图8,示出了另一个示例实现的方法800。方法800的方框805、810、815和820分别如上面结合方法300的方框305、310、315和320所述。在方框825处,服务器112不是像在方框325处那样接收初始响应并将初始响应发送到客户端子系统104,而是接收初始响应,但尚不向客户端子系统104发送响应。替代地,服务器前进到方框835。方法800不包含方框330的类似物。
方框835、840、845、850和855如以上结合方法300的方框335、340、345、350和355所述。但是,在方框860处,服务器112发送经由通过方框835-850实现的多个阶段收集的任何响应。因此,在方框860处返回到客户端子系统104的响应可以包括来自一些提供者子系统108的初始响应(例如,多阶段处理的非订户),以及其它提供者子系统的更新的响应。
在图8所示的示例中,辅助请求的格式可以不同于方法300中辅助请求所采用的格式。例如,当根据新分发能力(NDC)标准格式化系统100的实体之间的通信时,在方框835处发送的辅助请求可以采取“AirShopping”请求的形式,其中一个或多个附加字段(除NDC标准中指定的字段以外的字段)包含初始响应数据或其指示。
上述方法和系统,通过依赖中介服务器112来实现多阶段响应生成处理,而不是提供者子系统108直接交互,可以减少提供者子系统108上的计算和通信负担。采用诸如上述度量的响应数据的指示可以通过压缩在辅助请求中在服务器112和提供者子系统108之间交换的响应数据来至少进一步减少网络负载。
此外,经由方法300实现的处理可以通过等待直到客户端子系统104选择初始响应来实现第二阶段和后续阶段来进一步减少多阶段处理的计算和通信负载。来自客户端子系统104的许多请求可能不会导致任何选择,并且因此在发起响应生成的其它阶段之前等待直到发生选择可以减少这些其它阶段的计算负担。
可以预期上述的进一步变化。在一些示例中,可以从中介服务器112处的高速缓存中检索初始响应,而不是直接从提供者子系统108中检索初始响应。
本领域技术人员将认识到的是,在一些实施例中,可以使用预编程的硬件或固件元件(例如,专用集成电路(ASIC)、电可擦除可编程只读存储器(EEPROM)等)或其它相关部件来实现应用212的功能。
范围不应由以上示例中阐述的实施例限制,而应给与整个说明书一致的最宽泛的解释。

Claims (21)

1.一种用于对数据请求的响应的多阶段生成的方法,包括:
在中介服务器处从客户端子系统接收包括请求参数集合的数据请求;
将请求参数集合从中介服务器传输到多个提供者子系统中的每个提供者子系统,所述多个提供者子系统被配置为基于请求参数独立地生成各个初始响应;
在中介服务器处从提供者子系统接收各个初始响应,每个初始响应包含与请求参数对应的初始响应数据集合;
从中介服务器向客户端子系统发送初始响应数据集合;
在中介服务器处从客户端子系统接收对初始响应数据集合之一的选择;
响应于接收到所述选择,从中介服务器向所述多个提供者子系统中的至少一个提供者子系统发送对更新的响应数据的辅助请求,辅助请求包括对来自与所述至少一个提供者子系统不同的提供者子系统之一的初始响应数据集合中的至少一个初始响应数据集合的指示;
响应于辅助请求,从所述至少一个提供者子系统接收更新的响应数据;以及
将更新的响应数据传输到客户端子系统。
2.如权利要求1所述的方法,还包括直接响应于接收到初始响应而发送辅助请求。
3.如权利要求2所述的方法,其中根据新分发能力(NDC)标准,辅助请求被格式化为AirShopping请求。
4.如权利要求1所述的方法,还包括:
与每个初始响应数据集合一起传输响应标识符;
其中辅助请求包括每个初始响应数据集合的响应标识符。
5.如权利要求4所述的方法,其中根据新分发能力(NDC)标准,辅助请求被格式化为OfferPrice请求。
6.如权利要求1所述的方法,还包括:在发送辅助请求之前:
在中介服务器处从订户储存库中选择提供者子系统中的至少一个提供者子系统。
7.如权利要求1所述的方法,其中辅助请求中的所述指示包括所述至少一个初始响应数据集合。
8.如权利要求1所述的方法,其中辅助请求中的所述指示包括从所述至少一个初始响应数据集合导出的度量。
9.如权利要求8所述的方法,还包括在发送辅助请求之前:
基于所述至少一个初始响应数据集合和存储在中介服务器处的生成机制,在中介服务器处生成所述度量。
10.如权利要求1所述的方法,还包括:
响应于接收到更新的响应数据,发送包括对更新的响应数据的指示的另外的辅助请求;
响应于所述另外的辅助请求,接收另外的更新的响应数据;以及
将所述另外的更新的响应数据传输到客户端子系统。
11.一种中介服务器,包括:
通信接口;以及
与通信接口连接的处理器,所述处理器被配置为:
经由通信接口从客户端子系统接收包括请求参数集合的数据请求;
将请求参数集合传输到多个提供者子系统中的每个提供者子系统,所述多个提供者子系统被配置为基于请求参数独立地生成各个初始响应;
从提供者子系统接收各个初始响应,每个初始响应包含与请求参数对应的初始响应数据集合;
从中介服务器向客户端子系统发送初始响应数据集合;
在中介服务器处从客户端子系统接收对初始响应数据集合之一的选择;
响应于接收到所述选择,向所述多个提供者子系统中的至少一个提供者子系统发送对更新的响应数据的辅助请求,辅助请求包括对来自与所述至少一个提供者子系统不同的提供者子系统之一的初始响应数据集合中的至少一个初始响应数据集合的指示;
响应于辅助请求,从所述至少一个提供者子系统接收更新的响应数据;以及
将更新的响应数据传输到客户端子系统。
12.如权利要求11所述的中介服务器,其中所述处理器还被配置为:直接响应于接收到初始响应而发送辅助请求。
13.如权利要求12所述的中介服务器,其中根据新分发能力(NDC)标准,辅助请求被格式化为AirShopping请求。
14.如权利要求11所述的中介服务器,其中所述处理器还被配置为:
与每个初始响应数据集合一起传输响应标识符;
其中辅助请求包括每个初始响应数据集合的响应标识符。
15.如权利要求14所述的中介服务器,其中根据新分发能力(NDC)标准,辅助请求被格式化为OfferPrice请求。
16.如权利要求11所述的中介服务器,其中,所述处理器还被配置为在发送辅助请求之前:
从订户储存库中选择提供者子系统中的至少一个提供者子系统。
17.如权利要求11所述的中介服务器,其中辅助请求中的所述指示包括所述至少一个初始响应数据集合。
18.如权利要求11所述的中介服务器,其中辅助请求中的所述指示包括从所述至少一个初始响应数据集合导出的度量。
19.如权利要求18所述的中介服务器,其中,所述处理器还被配置为在发送辅助请求之前:
基于所述至少一个初始响应数据集合和存储在中介服务器处的生成机制来生成所述度量。
20.如权利要求11所述的中介服务器,其中所述处理器还被配置为:
响应于接收到更新的响应数据,发送包括更新的响应数据的指示的另外的辅助请求;
响应于所述另外的辅助请求,接收另外的更新的响应数据;以及
将所述另外的更新的响应数据传输到客户端子系统。
21.一种非暂态计算机可读介质,存储计算机可读指令,所述计算机可读指令可由中介服务器的处理器执行,以使中介服务器:
从客户端子系统经由中介服务器的通信接口接收包括请求参数集合的数据请求;
将请求参数集合传输到多个提供者子系统中的每个提供者子系统,所述多个提供者子系统被配置为基于请求参数独立地生成各个初始响应;
从提供者子系统接收各个初始响应,每个初始响应包含与请求参数对应的初始响应数据集合;
从中介服务器向客户端子系统发送初始响应数据集合;
在中介服务器处从客户端子系统接收对初始响应数据集合之一的选择;
响应于所述选择,向所述多个提供者子系统中的至少一个提供者子系统发送对更新的响应数据的辅助请求,辅助请求包括对来自与所述至少一个提供者子系统不同的提供者子系统之一的初始响应数据集合中的至少一个初始响应数据集合的指示;
响应于辅助请求,从所述至少一个提供者子系统接收更新的响应数据;以及
将更新的响应数据传输到客户端子系统。
CN202011306464.7A 2019-11-22 2020-11-20 用于对数据请求的响应的多阶段生成的系统和方法 Active CN112839074B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/691,987 2019-11-22
FR1913068 2019-11-22
FR1913068A FR3103589B1 (fr) 2019-11-22 2019-11-22 Système et procédé pour la génération de réponses en plusieurs étapes à des demandes de données
US16/691,987 US10979494B1 (en) 2019-11-22 2019-11-22 System and method for multi-stage generation of responses to data requests

Publications (2)

Publication Number Publication Date
CN112839074A CN112839074A (zh) 2021-05-25
CN112839074B true CN112839074B (zh) 2023-08-22

Family

ID=73131670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011306464.7A Active CN112839074B (zh) 2019-11-22 2020-11-20 用于对数据请求的响应的多阶段生成的系统和方法

Country Status (4)

Country Link
EP (1) EP3825946A1 (zh)
CN (1) CN112839074B (zh)
AU (1) AU2020273360A1 (zh)
CA (1) CA3099588A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4202809A1 (en) * 2021-12-23 2023-06-28 Amadeus S.A.S. Device, system and method controlling operation of a client device via an intermediation server
WO2024115747A1 (en) * 2022-12-01 2024-06-06 Amadeus S.A.S. Device, system and method for reproducing a requesting step between a client device and a provider system at an intermediation server

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016133516A1 (en) * 2015-02-19 2016-08-25 Hewlett Packard Enterprise Development Lp Provider offer
WO2019018873A1 (en) * 2017-07-24 2019-01-31 UCBT Pty Ltd INVERSE MOBILE AUCTION SYSTEM AND METHOD

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192706A1 (en) * 2006-02-14 2007-08-16 International Business Machines Corporation Service gateway for providing a scalable and loosely coupled service oriented architecture
US9639853B2 (en) * 2012-06-11 2017-05-02 Retailmenot, Inc. Devices, methods, and computer-readable media for redemption header for merchant offers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016133516A1 (en) * 2015-02-19 2016-08-25 Hewlett Packard Enterprise Development Lp Provider offer
WO2019018873A1 (en) * 2017-07-24 2019-01-31 UCBT Pty Ltd INVERSE MOBILE AUCTION SYSTEM AND METHOD

Also Published As

Publication number Publication date
CN112839074A (zh) 2021-05-25
EP3825946A1 (en) 2021-05-26
AU2020273360A1 (en) 2021-06-10
CA3099588A1 (en) 2021-05-22

Similar Documents

Publication Publication Date Title
EP3745277B1 (en) Aggregating and updating heterogeneous data objects
CN112839074B (zh) 用于对数据请求的响应的多阶段生成的系统和方法
US11164268B2 (en) System, method and apparatus for responding differentially to data requests
US11789932B2 (en) System and method for optimizing transmission of requests for updated content from external data sources
US11586978B2 (en) Device, system and method for providing provider objects from a cache
US11176599B2 (en) System and method of auxiliary data access
EP3767490A1 (en) System, method and apparatus for responding differentially to data requests
US10979494B1 (en) System and method for multi-stage generation of responses to data requests
CN113094554A (zh) 对非传统数据进行基于传统的访问的系统和方法
FR3103589A1 (fr) Système et procédé pour la génération de réponses en plusieurs étapes à des demandes de données
US20240135264A1 (en) Device, system and method for generating trained models to generate provider objects
WO2020161020A1 (en) Synchronization of data records
CN112685171B (zh) 用于请求处理中的负荷减轻的系统和方法
US11778065B2 (en) System and method for load mitigation in request handling
CA3099975A1 (en) System and method of auxiliary data access
US20240184776A1 (en) Device, system and method for reducing bandwidth usage by performing provider object adjustments at an intermediation server based on historical data
US20240185309A1 (en) Device, system and method for reproducing a requesting step between a client device and a provider system at an intermediation server
US20230017717A1 (en) Decentralized content distribution in a computing system
WO2024088838A1 (en) Device, system and method for generating trained models to generate provider objects
WO2024088807A1 (en) Device, system and method for distributing and locally persisting provider objects
WO2021129991A1 (en) System and method for optimizing transmission of requests for updated content from external data sources
FR3102261A1 (fr) Système et procédé pour mitiger la charge lors de la gestion de requête
WO2024115741A1 (en) Device, system and method for reducing bandwidth usage by performing provider data object adjustments at an intermediation server based on historical data

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
GR01 Patent grant
GR01 Patent grant