CN112000496B - 第三方信源api的接入方法、装置及其实现方法 - Google Patents
第三方信源api的接入方法、装置及其实现方法 Download PDFInfo
- Publication number
- CN112000496B CN112000496B CN202011164964.1A CN202011164964A CN112000496B CN 112000496 B CN112000496 B CN 112000496B CN 202011164964 A CN202011164964 A CN 202011164964A CN 112000496 B CN112000496 B CN 112000496B
- Authority
- CN
- China
- Prior art keywords
- information
- source
- information source
- scheduling
- configuration
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种第三方信源API的接入方法,包括基于信源内容所属领域进行策略配置,生成配置信息存储,其中配置信息包括调度策略;响应于接收到的外部请求,获取适配的调度策略和需要调度的信源信息列表;根据适配的调度策略和需要调度的信源信息列表请求信源,获取信源响应内容。本发明还公开一种用于第三方信源API的接入装置和用于实现第三方信源API的灵活接入的方法。本发明提供的方案,能够根据信源特点和用户需求来为不同的信源方或信源请求设置适配的调度策略,拓宽了请求的适用性,使得本发明实施例方法下的请求不局限于单个请求,而是在同时有多个信源请求的场景下,也能够高效的获取到可用的信源内容,请求效率高、通用性好。
Description
技术领域
本发明涉及资源获取技术领域,尤其涉及一种第三方信源API的接入方法、装置及其实现方法。
背景技术
在互联网产品中往往需要使用到第三方的内容资源,目前,获取第三方的内容资源一般是通过向第三方请求内容资源来实现的,在本文中将向第三方请求内容资源称之为向信源方请求信源,其中,信源方是指能够提供资源的一方,信源指内容资源,包括文字、语言、图像、声响、音频视频信息等。在开发过程中,为了方便请求方对信源的获取,信源方一般通过API应用程序接口为请求方提供信源的获取通道,这样,请求方只需要在需要获取信源时,调用信源方提供的API应用程序接口进行信源请求,即可得到信源方反馈的信源。这为不同应用之间的交互和信息共享提供了便利。
然而,随着应用需求的日益复杂化和多样化,有时候请求方会需要请求多个信源,而多个信源可能是来自同一信源方,也可能是来自不同的信源方,这种情况下由于返回内容在时间、数据格式等上的差异性,就会导致请求方不能直接利用返回内容,往往需要进行二次开发才能继续使用请求到的信源,信源利用效率非常低。
发明内容
为了解决背景技术提及的问题,发明人想到设计一种允许用户能够灵活配置调度策略和聚合策略的方案,以使得用户能够请求多个信源,并基于配置的调度策略和聚合策略对多个信源请求进行调度处理和对信源内容进行聚合处理,从而实现对多个第三方内容信源API的灵活接入,以提高对第三方信源的利用率。
基于此,根据本发明的第一方面,本发明实施例提供一种用于实现第三方信源API的灵活接入的方法,其包括:
设置分发器、配置中心、调度器和信源处理器;
将所述分发器配置为用于进行信息转发和向请求方返回信源响应内容,其中,进行信息转发包括向配置中心转发接收到的外部请求和向调度器转发由配置中心确定的适配的调度策略及需要调度的信源信息列表;
将所述配置中心配置为用于存储配置信息和根据外部请求及存储的配置信息确定适配的调度策略和需要调度的信源信息列表;
将所述调度器配置为用于根据适配的调度策略和需要调度的信源信息列表调度相应的信源处理器进行信源请求;
将所述信源处理器配置为用于进行信源请求,获取信源响应内容。
根据本发明的第二方面,本发明实施例提供一种第三方信源API的接入方法,其包括
基于信源内容所属领域进行策略配置,生成配置信息存储,其中所述配置信息包括与领域对应的调度策略和信源信息;
响应于接收到的外部请求,根据外部请求和存储的配置信息获取适配的调度策略和需要调度的信源信息列表;
根据适配的调度策略和需要调度的信源信息列表请求信源,获取信源响应内容。
根据本发明的第三个方面,本发明实施例提供一种用于接入第三方信源API的装置,其包括
分发器,用于进行信息转发和向请求方返回信源响应内容;
配置中心,用于存储配置信息,和根据外部请求及存储的配置信息确定适配的调度策略和需要调度的信源信息列表;
调度器,用于根据适配的调度策略和需要调度的信源信息列表调用相应的信源处理器进行信源请求;和
信源处理器,用于进行信源请求,获取信源响应内容;
其中,所述分发器进行的信息转发包括向配置中心转发接收到的外部请求和向调度器转发由配置中心确定的适配的调度策略和需要调度的信源信息列表。
根据本发明的第四方面,本发明实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项第三方信源API的接入方法。
根据本发明的第五方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项第三方信源API的接入方法。
本发明实施例的方案通过进行调度配置实现了对信源请求所采用的调度策略的配置化,使得能够根据信源特点和用户需求来为不同的信源或信源请求设置适配的调度策略,拓宽了信源请求的适用性,使得本发明实施例方法下的外部请求不局限于单个信源请求,而是在同时有多个信源请求的场景下,也能够高效的获取到可用的信源内容,信源请求效率高和通用性好。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一实施方式的第三方信源API的接入方法的流程图;
图2为本发明的另一实施方式的第三方信源API的接入方法的流程图;
图3为本发明的一实施方式的用于实现第三方信源API的灵活接入的方法的流程图;
图4为本发明的另一实施方式的用于实现第三方信源API的灵活接入的方法的流程图;
图5为本发明的一实施方式的用于第三方信源API的接入的装置的原理框图;
图6为本发明的另一实施方式的用于第三方信源API的接入的装置的原理框图;
图7为本发明的电子设备的一实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在本发明中,“模块”、“装置”、“***”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/ 或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/ 或线程中,并且元件可以在一台计算机上本地化和/ 或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地***、分布式***中另一元件交互的,和/ 或在因特网的网络通过信号与其它***交互的数据的信号通过本地和/ 或远程过程来进行通信。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例的第三方信源API的接入方法可以应用于任何装载有需要引入第三方内容资源的互联网产品的终端设备上,例如,装载有需要引入第三方内容资源的互联网产品的智能手机、平板电脑、智能家居等终端设备上,本发明对此不作限制,从而能够使得用户在使用这些终端设备进行网络交互的过程中获得更准确、快速的响应,提升用户体验。
以下结合附图对本发明实施例进行详细阐述。
图1示意性地显示了一种实施方式的第三方信源API的接入方法流程,如图1所示,其包括如下处理步骤:
步骤S101:基于信源内容所属领域进行策略配置,生成配置信息存储。根据信源内容进行领域划分,将每个信源内容都一一对应到一个领域,示例性地根据信源内容将其划分为音乐领域、故事领域、儿歌领域等。这样,每个领域就对应包括有一个或多个信源,以音乐领域为例,其信源可以是网易或QQ音乐等。可以通过在配置信息中设置每个领域包括的信源信息,从而使得能够基于领域划分从这些信源获取信源内容。由于不同的信源特点及响应速度等都有差异,因而基于信源内容的差异,不同的领域对调度的要求和需求也是有很大差异的,通过基于信源内容进行领域划分,就能够为不同的领域配置个性化的策略。示例性地,本发明实施例中基于领域进行的策略配置为调度策略配置,包括该领域对应包括的信源信息、在该领域请求信源时所使用的调度策略等,由此根据策略配置生成的配置信息就包括领域ID、领域类型、领域名称、包含的信源信息和适配的调度策略等。具体地,包含的信源信息可以实现为包括信源id、信源名称和信源处理器地址等。
步骤S102:响应于接收到的外部请求,获取适配的调度策略和需要调度的信源信息列表。在接收到请求方的请求时(本发明实施例上下文中将接收到的来自请求方,即用户,的对信源内容的请求称为外部请求),可以根据外部请求来确定当前请求适配的调度策略和需要调度的信源信息列表。其中,确定当前请求适配的调度策略的实现方式可以有以下两种方式:
第一种方式,根据所使用的请求协议(如http或tcp协议,可以根据需求来确定与请求方之间交互的协议和请求参数)对外部请求的请求url和请求参数进行解析,以通过解析结果确定出该外部请求对应的领域,由此,就可以根据存储的配置信息找到该领域所对应的适配的调度策略;
第二种方式,在接收到信源请求时,允许请求方自己对调度策略进行选择,以根据用户在请求时的自定义选择来确定当前请求适配的调度策略,满足用户的个性化需求;示例性地,可以是在接收到外部请求时,根据对外部请求的解析从存储的配置信息中获取并输出包含可选调度配置选项的用户界面给用户进行选择,响应于用户在用户界面对调度配置选项的选择,获取适配的调度策略。其中,根据对外部请求的解析能够确定其所属的领域,因而可选的调度配置选项可以根据存储的配置信息中为该领域配置的调度策略来确定,示例性地为一个领域配置的可选调度策略可以是串行、并行、选择响应最快的信源等。
而确定需要调度的信源信息列表的实现方式,则可以是根据对外部请求的解析来确定其所属的领域,并根据其所属的领域从存储的配置信息中获取需要调度的信源信息,形成需要调度的信源信息列表。其中,信源信息列表中包括有需要调度的信源的信源id、信源名称和信源处理器地址等。
步骤S103:根据适配的调度策略和需要调度的信源信息列表请求信源,获取信源响应内容。在确定了适配的调度策略后,就会根据适配的调度策略向信源方进行信源请求,以获取信源响应内容反馈给请求方。其中,信源方是通过需要调度的信源信息列表来确定的。由此,示例性地,当选择串行调度策略时,会根据接收到的属于当前领域的外部请求以串行的方式向信源信息列表中的信源方请求信源内容;当选择并行调度策略时,会根据接收到的属于当前领域的外部请求以并行的方式向信源信息列表中的信源方请求信源内容;而当选择响应最快的信源的调度策略时,会根据接收到的属于当前领域的外部请求,向该领域包含的信源中,即向信源信息列表中的响应最快的信源方进行信源内容的请求。这样,在外部请求中同时包括多个信源请求或同时收到多个相同领域的外部请求时,就可以根据请求对应的领域适配的调度策略进行信源请求,既能考虑信源特点又能考虑用户需求,信源请求效率高。
图2示意性地显示了另一种实施方式的第三方信源API的接入方法流程,如图2所示,其包括如下处理步骤:
步骤S201:基于信源内容所属领域进行策略配置,生成配置信息存储。
步骤S202:响应于接收到的外部请求,获取适配的调度策略、需要调度的信源信息列表和适配的聚合策略。
步骤S203:根据适配的调度策略和需要调度的信源信息列表请求信源,获取信源响应内容。
步骤S204:根据适配的聚合策略对信源响应内容进行聚合处理,并将聚合内容输出至请求方。
本发明实施例与图1所示的方法实施例不同之处在于:本发明实施例在对各个领域进行策略配置时,除了配置该领域适配的调度策略之外,还会同时配置适配于该领域的聚合策略。这样,本发明实施例生成的配置信息就包括了领域ID、领域类型、领域名称、包含的信源、适配的调度策略和对该领域的信源内容进行聚合的聚合策略等。而在步骤S202中除了要获取适配的调度策略和需要调度的信源信息列表之外,还需要获取适配的聚合策略,而在获取信源响应内容之后,还包括了步骤S204,即利用聚合策略对获取的信源响应内容进行聚合处理,将聚合处理后的聚合内容反馈给请求方。其中,获取适配的聚合策略的实现方式与获取适配的调度策略的方式相同,也包括两种方式,即一种是对接收到的外部请求进行解析,根据解析出的所属领域从存储的配置信息中获取与接收到的外部请求适配的聚合策略;另一种则是在接收到外部请求时,根据存储的配置信息通过用户界面输出该领域对应的可选聚合配置选项,并根据用户在用户界面对聚合配置选项的选择,获取适配的聚合策略。示例性地,为一个领域设置的可选聚合策略可以是包括去重、精确匹配、模糊匹配等。这样,当同时收到对多个信源请求的信源响应内容时,就可以根据信源请求对应的领域(与信源请求对应的外部请求所属的领域相同)适配的聚合策略对信源响应内容进行聚合处理,既能考虑信源特点又能考虑用户需求,使得反馈的信源响应内容无需二次开发就可以被直接利用。
在优选实施例中,为了保证每个领域反馈的信源响应内容的一致性,在进行信源请求之后,还对接收到的来自信源的信源响应内容进行标准化处理。示例性地,可以实现为:在对每个领域进行策略配置时,还为每个领域设定适配的标准数据结构(即标准数据格式),这样,在获取到信源响应内容之后和进行聚合处理之前,就可以根据该外部请求对应的领域,对获取到的信源响应内容的数据结构进行标准化处理,以使得同一领域下不同信源的内容数据结构保持一致,减少信源不同带来的响应结果的差异性,提高响应结果的易读性。
图3示意性地显示了图1所示的第三方信源API的接入方案的一种具体实现流程,如图3所示,其包括如下处理步骤:
步骤S301:设置分发器、配置中心、调度器和信源处理器。
步骤S302:将分发器配置为用于进行信息转发和向请求方返回信源响应内容,其中,进行信息转发包括向配置中心转发接收到的外部请求和向调度器转发由配置中心确定的适配的调度策略及需要调度的信源信息列表。
步骤S303:将配置中心配置为用于存储配置信息和根据外部请求及存储的配置信息确定适配的调度策略及需要调度的信源信息列表。
步骤S304:将调度器配置为用于根据适配的调度策略和需要调度的信源信息列表调度相应的信源处理器进行信源请求。
步骤S305:将信源处理器配置为用于进行信源请求,获取信源响应内容。
其中,设置的分发器、配置中心、调度器和信源处理器均是一个独立的服务(例如实现为一个个独立的service),分发器与配置中心和调度器能够进行通信,调度器与信源处理器进行通信,通信方式例如可以是基于http协议或tcp协议实现,本发明实施例不对此进行限制。在步骤S302中将分发器配置成能够向配置中心转发外部请求,这样,就可以通过分发器来接收请求方的外部请求,分发器在接收到外部请求时,就将外部请求发送给配置中心。配置中心在接收到外部请求时,首先对外部请求进行解析,以获取外部请求中的请求参数,示例性地,外部请求是基于http协议的请求,其请求中包含有所属的领域ID的参数或包含有能够标识其所属的领域的参数或url,那么通过对请求进行解析就可以获取到该参数或url,而将该参数或url所确定出的领域与存储的配置信息进行匹配,就可以获取到该外部请求适配的调度策略和对应的信源。配置中心在确定了适配的调度策略和对应的信源后,将调度策略和对应的信源都返回给分发器,其中信源以信源信息列表的形式反馈,由分发器将调度策略和对应需要调度的信源信息列表转发给调度器。调度器在接收到调度策略和对应需要调度的信源信息列表后,就会根据调度策略和信源信息列表调用相应的信源处理器进行信源请求。其中,信源信息列表中包括有需要调度的信源的信源id、信源名称和信源处理器地址等。调度器具体实现为根据配置中心存储的配置信息中的调度策略,来设置分别与每个调度策略一一对应的调度模块,以使得每个调度模块都分别基于一个预设的调度策略来请求相应的信源处理器。示例性地,假设配置信息中的调度策略包括串行、并行和响应最快三种,那么就将调度器实现为包括三个调度模块(假设为第一调度模块、第二调度模块和第三调度模块),第一调度模块对应采用串行的调度策略来请求信源处理器,第二调度模块对应采用并行的调度策略来请求信源处理器,第三调度模块对应采用响应最快的调度策略来请求信源处理器。由此,调度器在接收到调度策略和对应需要调度的信源信息列表后,就可以根据调度策略来选择调度模块,使得调度模块能够以适配的调度策略向信源信息列表中的信源处理器地址发送信源请求,实现对信源处理器的调度。信源处理器具体实现为包括信源收发器和适配器,信源收发器配置为根据对应的信源方的请求方式对不同的信源请求进行封装和利用封装后的信源请求方式向相应的信源方进行信源请求,使得对信源的请求方式与待请求的信源的被请求方式适配;适配器配置为对信源的响应结果进行数据结构标准化处理,使得同一领域下来自不同信源的响应结果能够保持一致。示例性地,信源收发器对不同的信源请求进行封装的方式可以实现为:将每个信源收发器对应到具体的信源方,即根据信源处理器地址来设置一个与该信源方对应交互的信源收发器,该信源收发器按照信源方的协议(包括签授权等)封装接口(如具体的HTTP接口,即对不同的信源方进行HTTP请求接口的封装),当根据外部请求调度到该信源收发器时,该信源收发器就利用封装好的接口请求信源方。由此,在进行了封装后,信源收发器就能够利用封装后的信源请求向相应的信源方发送信源请求,并等待信源的响应结果。同样地,由于一个信源处理器通过配置信息中的信源处理器地址绑定了一个信源,那么通过在信源处理器中设置适配器,还可以将适配器与信源方一一对应,由此,将适配器实现为根据为每个领域建立的标准数据格式对数据进行适配,就能够实现将该领域的不同信源方的响应内容都适配到本领域的标准数据格式下。示例性地可以实现为:为每个领域分别建立标准格式字段到信源请求和返回字段的映射表,通过检索映射表,适配器将信源响应内容转换为标准格式字段对应的格式。由此,在信源收发器接收到信源响应内容后,通过调用适配器就可以对信源响应内容进行数据标准化处理,并将标准化处理后的信源响应内容反馈给调度器,以通过调度器反馈给分发器。分发器在接收到信源响应内容后,即可将信源响应内容返回给请求方,由此完成对外部源请求的处理和响应。
图4示意性地显示了图2所示的第三方信源API的接入方案的一种具体实现流程,如图4所示,其包括如下处理步骤:
步骤S401:设置分发器、配置中心、调度器、信源处理器和聚合器。
步骤S402:将分发器配置为用于进行信息转发和向请求方返回信源响应内容,其中,进行信息转发包括向配置中心转发接收到的外部源请求、向调度器转发由配置中心确定的适配的调度策略及需要调度的信源信息列表和向聚合器转发信源响应内容及由配置中心确定的适配的聚合策略。其中,信源信息列表中包括有需要调度的信源的信源id、信源名称和信源处理器地址等。
步骤S403:将配置中心配置为用于存储配置信息和根据外部请求及存储的配置信息确定适配的调度策略、需要调度的信源信息列表和聚合策略。
步骤S404:将调度器配置为用于根据适配的调度策略和需要调度的信源信息列表调度相应的信源处理器进行信源请求。
步骤S405:将信源处理器配置为用于进行信源请求,获取信源响应内容。
步骤S406:将聚合器配置为根据适配的聚合策略对信源响应内容进行聚合处理。
本实施例的方案与图3所示的实施例的区别在于:在本实施例中还设置了用于对信源响应内容进行聚合处理的聚合器,分发器与聚合器进行通信(例如通过http协议或tcp协议),以在获取到调度器反馈的信源响应内容后,调用聚合器对信源响应内容进行聚合处理,即本实施例中的分发器向请求方返回的信源响应内容是经过聚合器的聚合处理的信源响应内容。其中,本实施例中聚合器对信源响应内容进行聚合处理是利用分发器发送的聚合策略,该聚合策略是在接收到外部请求时,由配置中心根据对外部请求的解析,利用解析到的参数确定的领域和配置信息中该领域对应的适配聚合策略确定的。也就是说,配置中心会根据外部请求和配置信息来确定出适配的聚合策略(具体实现方式参见前文叙述,有两种方式可以实现),并将领域信息和与之适配的聚合策略反馈给分发器,分发器在接收到信源响应内容时,将信源响应内容和适配的聚合策略一起发送给聚合器,以使得聚合器能够根据聚合策略对信源响应内容进行聚合处理,并将聚合内容返回给分发器。这样,分发器就会将聚合后的信源响应内容反馈给请求方。具体地,聚合器实现为根据配置中心存储的配置信息中的聚合策略,来设置分别与每个聚合策略一一对应的聚合模块,以使得每个聚合模块都分别基于一个预设的聚合策略来对信源响应内容进行聚合处理。示例性地,假设配置信息中的聚合策略包括去重、精确匹配、模糊匹配三种,那么就将聚合器实现为包括三个聚合模块(假设为第一聚合模块、第二聚合模块和第三聚合模块),第一聚合模块对应采用去重的聚合策略来进行聚合处理,第二聚合模块对应采用精确匹配的聚合策略来进行聚合处理,第三聚合模块对应采用模糊匹配的聚合策略来进行聚合处理。由此,聚合器在接收到聚合策略和对应需要聚合处理的信源响应内容后,就可以根据聚合策略来选择聚合模块,使得聚合模块能够以适配的聚合策略对信源响应内容进行聚合处理。图3和图4所示的实现方案通过设计不同的服务来实现不同的功能,业务逻辑之间相互分离,每个服务只需要关注自己的业务逻辑,服务之间通过预定的协议进行通信,***的可扩展性好、模块间耦合性低,整个架构的稳定性非常好。
图5示意性地显示了一种用于接入第三方信源API的装置,如图5所示,该装置包括
分发器50,用于进行信息转发和向请求方返回信源响应内容;
配置中心51,用于存储配置信息,和根据外部请求及存储的配置信息确定适配的调度策略和需要调度的信源信息列表;
调度器52,用于根据适配的调度策略和需要调度的信源信息列表调度相应的信源处理器进行信源请求;和
信源处理器53,用于进行信源请求,获取信源响应内容。
其中,本实施例中的分发器50进行的信息转发包括向配置中心转发接收到的外部请求和向调度器转发由配置中心确定的适配的调度策略和需要调度的信源信息列表。分发器50、配置中心51、调度器52和信源处理器53的实现方式和交互方式可以参见前文叙述,在此不再赘述。由此,在本实施例中,请求方发送的外部请求会被分发器50接收,之后分发器50将外部请求转发给配置中心51,配置中心51对外部请求进行解析确定其所属的领域和对应的调度策略及需要调度的信源,并将对应的配置信息包括领域、领域包括的信源和对应的调度策略反馈给分发器50。其中,领域包括的信源即需要调度的信源以信源信息列表的形式反馈,如上所述,信源信息列表中包括有需要调度的信源的信源id、信源名称和信源处理器地址等。分发器50将外部请求对应的配置信息转发给调度器52,调度器52根据包括的信源信息列表和对应的调度策略调度相应的信源处理器53进行信源请求。信源处理器53在进行信源请求时,会根据信源方对信源请求的方式进行封装,并会对信源请求反馈的响应结果进行数据结构标准化处理,并将处理后的信源响应内容反馈给调度器52。调度器52在获取到信源响应内容后,将信源响应内容返回给分发器50,以通过分发器50反馈给请求方,由此完成对外部请求的处理。通过本实施例的装置,可以实现对不同的信源方的请求的统一化处理,且基于调度策略还可以同时处理对多个信源方的多个请求,在多个请求下,也能保证反馈结果的数据结构的一致性以及数据响应的及时性,提高信源请求的适用范围和效率。
图6示意性地显示了一种用于接入第三方信源API的装置,如图6所示,该装置包括
分发器50,用于进行信息转发和向请求方返回信源响应内容;
配置中心51,用于存储配置信息和根据外部请求及存储的配置信息确定适配的调度策略、需要调度的信源信息列表及聚合策略;
调度器52,用于根据适配的调度策略和需要调度的信源信息列表调度相应的信源处理器进行信源请求;
信源处理器53,用于进行信源请求,获取信源响应内容;和
聚合器54,用于根据适配的聚合策略对信源响应内容进行聚合处理。
其中,本实施例中的分发器50进行的信息转发包括向配置中心转发接收到的外部请求、向调度器转发由配置中心确定的适配的调度策略及需要调度的信源信息列表、和向聚合器转发信源响应内容及由配置中心确定的适配的聚合策略,分发器向请求方返回的信源响应内容是经过聚合处理的信源响应内容。分发器50、配置中心51、调度器52和信源处理器53的实现方式和交互方式可以参见前文叙述,在此不再赘述。由此,在本实施例中,请求方发送的外部请求会被分发器50接收,之后分发器50将外部请求转发给配置中心51,配置中心51对外部请求进行解析确定其所属的领域和对应的调度策略、信源信息列表及聚合策略,并将对应的配置信息包括领域、领域包括的需要调度的信源信息列表和对应的调度策略及聚合策略反馈给分发器50。分发器50将外部请求对应的配置信息转发给调度器52,调度器52根据包括的信源信息列表和对应的调度策略调度相应的信源处理器53进行信源请求。信源处理器53在进行信源请求时,会根据信源方对信源请求的方式进行封装,并会对信源请求反馈的响应结果进行数据结构标准化处理,并将处理后的信源响应内容反馈给调度器52。调度器52在获取到信源响应内容后,将信源响应内容返回给分发器50。之后分发器50将该信源响应内容以及该外部请求对应的聚合策略转发给聚合器54,由聚合器54根据聚合策略对信源响应内容进行聚合处理,并反馈聚合后的内容给分发器50,以通过分发器50将聚合处理后的信源响应内容反馈给请求方,由此完成对外部请求的处理。通过本实施例的装置,可以实现对不同的信源方的请求的统一化处理,且基于调度策略还可以同时处理对多个信源方的多个请求,在多个请求下,也能保证反馈结果的数据结构的一致性以及数据响应的及时性,并且还能够根据用户需求和信源特点对响应内容进行聚合处理,提高信源请求的适用范围和效率,降低用户的二次开发频率,节省人力成本。
需要说明的是,在本发明实施例的请求处理过程中,请求方原始的外部请求会包含在所有阶段的请求上下文中,调度器请求信源处理器时,也会将原始用户请求(即外部请求)发送至信源处理器。
在一些实施例中,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项第三方信源API的接入方法。
在一些实施例中,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项第三方信源API的接入方法。
在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第三方信源API的接入方法。
在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,其中,该程序被处理器执行时,能够实现上述第三方信源API的接入方法。
上述本发明实施例的用于第三方信源API的接入装置可用于执行本发明实施例的第三方信源API的接入方法,并相应的达到上述本发明实施例的实现第三方信源API的接入方法所达到的技术效果,这里不再赘述。本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。
图7是本申请另一实施例提供的执行第三方信源API的接入方法的电子设备的硬件结构示意图,如图7所示,该设备包括:
一个或多个处理器410以及存储器420,图7中以一个处理器410为例。
执行第三方信源API的接入方法的设备还可以包括:输入装置430和输出装置440。
处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器420作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的第三方信源API的接入方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的第三方信源API的接入方法。
存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据用于第三方信源API的接入的装置的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至用于第三方信源API的接入的装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可接收输入的数字或字符信息,以及产生与用于第三方信源API的接入的装置的用户设置以及功能控制有关的信号。输出装置440可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器420中,当被所述一个或者多个处理器410执行时,执行上述任意方法实施例中的第三方信源API的接入方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、***总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.用于实现第三方信源API的灵活接入的方法,其特征在于,包括:
设置分发器、配置中心、调度器、信源处理器和聚合器;
将所述分发器配置为用于进行信息转发和向请求方返回信源响应内容,其中,进行信息转发包括向配置中心转发接收到的外部请求、向调度器转发由配置中心确定的适配的调度策略及需要调度的信源信息列表、和向聚合器转发由信源处理器获取的信源响应内容及由配置中心确定的适配的聚合策略;
将所述配置中心配置为用于存储配置信息和根据外部请求及存储的配置信息确定适配的调度策略、需要调度的信源信息列表、和适配的聚合策略;
将所述调度器配置为用于根据适配的调度策略和需要调度的信源信息列表调度相应的信源处理器进行信源请求,其中,所述需要调度的信源信息列表用于确定信源方,所述适配的调度策略限定了对信源处理器的调度方式;
将所述信源处理器配置为用于进行信源请求,获取信源响应内容;
将所述聚合器配置为根据适配的聚合策略对信源响应内容进行聚合处理,其中,所述分发器向请求方返回的信源响应内容是经过聚合处理的信源响应内容。
2.根据权利要求1所述的方法,其特征在于,确定的适配的调度策略为串行、并行或选择响应最快的信源方。
3.根据权利要求2所述的方法,其中,所述聚合器配置为包括至少一个聚合模块,所述聚合模块根据所述配置中心的配置信息设置为与配置中心存储的聚合策略一一对应,各聚合模块用于根据预设的聚合策略对信源响应内容进行聚合处理。
4.根据权利要求1至3任一项所述的方法,其中,所述调度器配置为包括至少一个调度模块,所述调度模块根据所述配置中心的配置信息设置为与配置中心存储的调度策略一一对应,各调度模块用于根据预设的调度策略调度相应的信源处理器进行信源请求。
5.根据权利要求4所述的方法,其特征在于,在进行信源请求时,所述信源处理器将信源请求封装成与信源适配,在接收到信源响应内容时,所述信源处理器根据信源请求所属的领域对响应内容数据进行标准化处理。
6.第三方信源API的接入方法,其特征在于,包括
基于信源内容所属领域进行策略配置,生成配置信息存储,其中所述配置信息包括与领域对应的调度策略、信源信息和聚合策略;
响应于接收到的外部请求,根据外部请求和存储的配置信息获取适配的调度策略、需要调度的信源信息列表、和适配的聚合策略;
根据适配的调度策略和需要调度的信源信息列表请求信源,获取信源响应内容,其中,所述需要调度的信源信息列表用于确定信源方,所述适配的调度策略限定了对信源处理器的调度方式;
根据适配的聚合策略对信源响应内容进行聚合处理,并将聚合内容输出至请求方。
7.根据权利要求6所述的方法,其特征在于,适配的调度策略为串行、并行或选择响应最快的信源方。
8.根据权利要求6所述的方法,其特征在于,所述获取适配的调度策略和获取匹配的聚合策略均实现为包括:
对接收到的外部请求进行解析,根据解析结果从存储的配置信息中获取与接收到的外部请求适配的调度策略和聚合策略。
9.根据权利要求7所述的方法,其特征在于,所述获取适配的调度策略和获取适配的聚合策略均实现为包括
在接收到外部请求时,根据存储的配置信息输出可选调度配置选项和聚合配置选项;
响应于用户对调度配置选项和聚合配置选项的选择,获取适配的调度策略和聚合策略。
10.根据权利要求7所述的方法,其特征在于,还包括
对每个领域进行数据结构标准化配置;
在获取到信源响应内容之后和进行聚合处理之前,还根据信源响应内容所属的领域和对每个领域的数据结构标准化配置对获取到的信源响应内容的数据结构进行标准化处理。
11.用于接入第三方信源API的装置,其特征在于,包括
分发器,用于进行信息转发和向请求方返回信源响应内容,其中,所述分发器向请求方返回的信源响应内容是经过聚合处理的信源响应内容;
配置中心,用于存储配置信息,和根据外部请求及存储的配置信息确定适配的调度策略、需要调度的信源信息列表、和适配的聚合策略;
调度器,用于根据适配的调度策略和需要调度的信源信息列表调用相应的信源处理器进行信源请求,其中,所述需要调度的信源信息列表用于确定信源方,所述适配的调度策略限定了对信源处理器的调度方式;
信源处理器,用于进行信源请求,获取信源响应内容;和
聚合器,用于根据适配的聚合策略对信源响应内容进行聚合处理;
其中,所述分发器进行的信息转发包括向配置中心转发接收到的外部请求、向调度器转发由配置中心确定的适配的调度策略和需要调度的信源信息列表、和向所述聚合器转发由信源处理器获取的信源响应内容及由配置中心确定的适配的聚合策略。
12.根据权利要求11所述的装置,其中,所述聚合器配置为包括至少一个聚合模块,所述聚合模块根据所述配置中心的配置信息设置为与配置中心存储的聚合策略一一对应,各聚合模块用于根据预设的聚合策略对信源响应内容进行聚合处理。
13.根据权利要求11或12所述的装置,其中,所述调度器配置为包括至少一个调度模块,所述调度模块根据所述配置中心的配置信息设置为与配置中心存储的调度策略一一对应,各调度模块用于根据预设的调度策略调度相应的信源处理器进行信源请求。
14.根据权利要求13所述的装置,其特征在于,配置中心存储的调度策略包括串行、并行和选择响应最快的信源方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011164964.1A CN112000496B (zh) | 2020-10-27 | 2020-10-27 | 第三方信源api的接入方法、装置及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011164964.1A CN112000496B (zh) | 2020-10-27 | 2020-10-27 | 第三方信源api的接入方法、装置及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112000496A CN112000496A (zh) | 2020-11-27 |
CN112000496B true CN112000496B (zh) | 2021-02-09 |
Family
ID=73475230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011164964.1A Active CN112000496B (zh) | 2020-10-27 | 2020-10-27 | 第三方信源api的接入方法、装置及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112000496B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161075A (zh) * | 2015-04-22 | 2016-11-23 | 深圳市腾讯计算机***有限公司 | 业务处理方法、装置及*** |
US20170041944A1 (en) * | 2014-04-23 | 2017-02-09 | Huawei Technologies Co., Ltd. | Data transmission method, apparatus, and system |
CN108900558A (zh) * | 2018-09-21 | 2018-11-27 | 郑州昂视信息科技有限公司 | 一种访问请求处理方法及*** |
CN109901939A (zh) * | 2019-03-07 | 2019-06-18 | 苏州思必驰信息科技有限公司 | 高可用的信源调用方法及*** |
-
2020
- 2020-10-27 CN CN202011164964.1A patent/CN112000496B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170041944A1 (en) * | 2014-04-23 | 2017-02-09 | Huawei Technologies Co., Ltd. | Data transmission method, apparatus, and system |
CN106161075A (zh) * | 2015-04-22 | 2016-11-23 | 深圳市腾讯计算机***有限公司 | 业务处理方法、装置及*** |
CN108900558A (zh) * | 2018-09-21 | 2018-11-27 | 郑州昂视信息科技有限公司 | 一种访问请求处理方法及*** |
CN109901939A (zh) * | 2019-03-07 | 2019-06-18 | 苏州思必驰信息科技有限公司 | 高可用的信源调用方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN112000496A (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10999377B2 (en) | Method, device and computer program product for protocol selection | |
AU2019256257B2 (en) | Processor core scheduling method and apparatus, terminal, and storage medium | |
CN112542183B (zh) | 音频数据处理的方法、装置、设备及存储介质 | |
CN112799825A (zh) | 一种任务处理方法和网络设备 | |
WO2020164476A1 (zh) | 数据下载的方法及相关装置 | |
CN110996372B (zh) | 消息路由方法、装置、***及电子设备 | |
CN111355983B (zh) | 业务数据处理方法、装置、服务器及存储介质 | |
CN110300165A (zh) | 一种功能程序的调用方法、装置、设备及存储介质 | |
CN110781014B (zh) | 基于Android设备的录音数据的多进程分发方法与*** | |
US9614900B1 (en) | Multi-process architecture for a split browser | |
CN111178781A (zh) | 在线应答***的应答资源分配方法、装置、设备及介质 | |
CN110618768B (zh) | 信息呈现方法和装置 | |
CN106357654B (zh) | 远程过程调用方法、装置及通信*** | |
CN115237589A (zh) | 一种基于sr-iov的虚拟化方法、装置和设备 | |
CN112714146B (zh) | 一种资源调度方法、装置、设备及计算机可读存储介质 | |
CN112000496B (zh) | 第三方信源api的接入方法、装置及其实现方法 | |
CN109981778B (zh) | 内容分发网络的服务实现方法、装置、设备及存储介质 | |
CN112685104A (zh) | 应用程序启动控制方法、装置、电子设备和存储介质 | |
CN113535419A (zh) | 一种服务编排方法和装置 | |
CN116541185A (zh) | 数据交互方法、装置、电子设备及存储介质 | |
CN114116184B (zh) | 虚拟场景中的数据处理方法及装置、设备、介质 | |
CN109725887A (zh) | 基于消息研发框架的数据交互方法、装置及终端设备 | |
CN111353811B (zh) | 一种资源统一发放方法及*** | |
CN113867914A (zh) | 任务调度方法及装置、电子设备和存储介质 | |
CN113709171A (zh) | 一种用于跨组件状态通信的方法和装置 |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 215123 14 Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou, Jiangsu. Patentee after: Sipic Technology Co.,Ltd. Address before: 215123 14 Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou, Jiangsu. Patentee before: AI SPEECH Ltd. |
|
CP01 | Change in the name or title of a patent holder |