一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用程序接口的编排方法、装置、设备以及存储介质与流程

2022-03-09 07:39:01 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体而言,涉及一种应用程序接口的编排方法、应用程序接口的编排装置、电子设备以及计算机可读存储介质。


背景技术:

2.应用程序接口(application-programming-interface,api)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。当前应用程序与开发人员通过应用程序接口开放平台调用应用程序接口的效率低下。


技术实现要素:

3.为解决上述技术问题,本技术的实施例提供了一种应用程序接口的编排方法、应用程序接口的编排装置、电子设备以及计算机可读存储介质,能够提高应用程序接口调用的效率。
4.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
5.根据本技术实施例的一个方面,提供了一种应用程序接口的编排方法,包括:获取业务请求,业务请求包括多个业务子请求以及用于表征每个业务子请求与其他业务子请求之间的依赖关系的表信息;确定每个业务子请求对应的应用程序接口;根据表信息对确定得到的多个应用程序接口进行编排,得到组合应用程序接口。
6.在一个示例性的实施例中,根据表信息对确定得到的多个应用程序接口进行编排,得到组合应用程序接口,包括:构建应用程序接口的编排引擎;利用编排引擎,根据表信息对确定得到的多个应用程序接口进行编排,得到组合应用程序接口。
7.在一个示例性的实施例中,根据表信息对确定得到的多个应用程序接口进行编排,得到组合应用程序接口,包括:若表信息表征每个业务子请求独立,将多个业务子请求对应的应用程序接口并行编排,得到组合应用程序接口。
8.在一个示例性的实施例中,根据表信息对确定得到的多个应用程序接口进行编排,得到组合应用程序接口,包括:若表信息表征第一业务子请求的响应依赖于第二业务子请求的响应结果,将第一业务子请求对应的应用程序接口和第二业务子请求对应的应用程序接口串行编排;将经过串行编排之后的第一业务子请求和第二业务子请求与其他应用程序接口并行编排,得到组合应用程序接口,其他应用程序接口为多个应用程序接口中除了第一业务子请求和第二业务子请求对应的应用程序接口之外的应用程序接口。
9.在一个示例性的实施例中,根据表信息对确定得到的多个应用程序接口进行编排,得到组合应用程序接口,包括:判断每个应用程序接口对应的协议信息是否与组合应用程序接口对应的协议信息相同;若目标应用程序接口的协议信息与组合应用程序接口对应的协议信息不同,对目标应用程序接口进行协议转换;对经过协议转换之后的目标应用程
序接口以及多个应用程序接口中的其他应用程序接口进行编排,得到组合应用程序接口。
10.在一个示例性的实施例中,在判断每个应用程序接口对应的协议信息是否与组合应用程序接口对应的协议信息相同之前,方法还包括:定义组合应用程序接口以及组合应用程序接口对应的配置信息,配置信息包括协议信息。
11.在一个示例性的实施例中,在根据依赖关系表对多个应用程序接口进行编排,得到组合应用程序接口之后,方法还包括:利用组合应用程序接口对业务请求进行处理,并将得到的处理结果发送至客户端。
12.根据本技术实施例的一个方面,提供了一种应用程序接口的编排装置,包括:获取模块,用于获取业务请求,业务请求包括多个业务子请求以及用于表征每个业务子请求与其他业务子请求之间的依赖关系的表信息;确定模块,用于确定每个业务子请求对应的应用程序接口;编排模块,用于根据的表信息对确定得到的多个应用程序接口进行编排,得到组合应用程序接口。
13.根据本技术实施例的一个方面,提供了一种电子设备,包括处理器及存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时实现如上的应用程序接口的编排方法。
14.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当计算机可读指令被计算机的处理器执行时,使计算机执行如前提供的应用程序接口的编排方法,。
15.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的应用程序接口的编排方法。
16.在本技术的实施例提供的技术方案中,根据业务子请求之间的依赖关系对多个业务子请求对应的应用程序接口进行编排,一方面实现应用程序接口编排自动化,提高编排效率,使调用者通过一次调用即可获取多个经过编排后的组合应用程序接口,提高调用效率;另一方面,编排得到的组合应用程序接口更加符合特定业务场景,按需对调用方提供应用程序接口,提高用户体验。
17.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
18.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
19.图1是本技术的一示例性实施例示出的应用程序接口的编排方法的流程图;
20.图2是图1所示实施例中的步骤s300在一示例性实施例的流程图;
21.图3是图1所示实施例中的步骤s300在一示例性实施例的流程图;
22.图4是图3所示实施例中的步骤s340在一示例性实施例的流程图;
23.图5是图4所示实施例中的步骤s343在一示例性实施例的流程图;
24.图6是本技术一示例性实施例示出的对应用程序接口编排的示意图;
25.图7是本技术一示例性实施例示出的应用程序接口的编排装置的框图;
26.图8示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
27.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
28.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
29.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
30.还需要说明的是:在本技术中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
31.本实施例提供的应用程序接口的编排方法应用于应用程序接口开放平台,应用程序接口开放平台例如可以是包括多个应用程序接口的服务端或者其他平台,在此不做具体限定,例如数据宝、天眼数聚、万维易源等等。每个应用程序接口对应一个可实现的功能属性。应用程序接口(application programming interface,api)是为了实现某种特定需求而开发的接口,是互联开放新形势下能力开放的最小单元,其基础是各种不同业务场景下定义出的一个个资源及其对应的动作组合,通过这些应用程序接口的汇聚与开放,实现了各个领域的生态发展。由于单一应用程序接口存在功能简单的特性,在应对复杂业务场景下将存在如下问题:
32.1)一个业务需求需要调用多个应用程序接口才能实现,开发者需要通过多次调用、多次数据处理才能完成业务功能,接入开发量大,无法实现高效的能力开放;
33.2)一个业务需求调用的应用程序接口返回数据无法满足业务需要,需要能力提供方重新开发一个接口,需花费大量人力、时间去实现并且存在大量重复工作。
34.为解决现有技术中至少存在的如上问题,本技术的实施例分别提出一种应用程序接口的编排方法、应用程序接口的编排装置、电子设备以及计算机可读存储介质以下将针对这些实施例进行详细描述。
35.请参阅图1,图1是本技术的一示例性实施例示出的应用程序接口的编排方法的流程图,如图1所示,本实施例提供的应用程序接口的编排方法包括步骤s100-步骤s300,详细描述参考如下:
36.步骤s100:获取业务请求。
37.在本实施例中,业务请求是终端设备发送的用于完成指定业务的请求,业务请求
包括待处理业务。业务请求包括多个业务子请求,每个业务子请求对应一个待处理子业务,以调用对应的应用程序接口处理该待处理子业务。
38.在本实施例中,业务请求还包括用于表征每个业务子请求与其他业务子请求之间的依赖关系的表信息。示例性地,用于表征每个业务子请求与其他业务子请求之间的依赖关系的表信息包括各个业务子请求对应的待处理子业务之间的依赖关系。因此,业务子请求之间存在的依赖关系视具体待处理业务而定,可以对待处理业务进行分析,进而确定多个业务子请求之间的依赖关系。
39.示例性地,待处理业务为某企业发放工资的业务,发放工资的业务请求包括确定员工税前工资数额、计算待缴五险一金数额以及确定员工税后工资数额三个业务子请求,计算待缴五险一金数额以及确定员工税后工资数额两个业务子请求依赖于确定员工税前工资数额这一业务子请求,而确定员工税后工资数额这一业务子请求又依赖于计算待缴五险一金数额这一业务子请求,因此在这一示例性实施例中,用于表征每个业务子请求与其他业务子请求之间的依赖关系的表信息可以为,计算待缴五险一金数额以及确定员工税后工资数额这两个业务子请求依赖于确定员工税前工资数额这一业务子请求的响应结果,确定员工税后工资数额这一业务子请求依赖于计算待缴五险一金数额这一业务子请求的响应结果。
40.步骤s200:确定每个业务子请求对应的应用程序接口。
41.在本实施例中,业务子请求对应的应用程序接口为用于处理业务子请求中包括的子业务的应用程序接口。
42.由于应用程序接口均包括一个对应的功能属性,该功能属性用于表征应用程序接口处理业务的类型,示例性地,基于应用程序接口对应的功能属性确定每个业务子请求对应的应用程序接口。具体地,将每个业务子请求包括的子业务与应用程序接口的功能属性进行匹配。示例性地,将子业务的文字信息与每个应用程序接口的功能属性的文字信息进行匹配,若子业务的文字信息包括应用程序接口的功能属性的文字信息的预设数目个文字,则确定子业务的文字信息与该应用程序接口相匹配,进而确定每个业务子请求对应的应用程序接口。示例性地,提取子业务的特征信息,并利用特征信息与每个应用程序接口的功能属性进行匹配,进而确定每个业务子请求对应的应用程序接口。示例性地,在对子业务与应用程序接口的功能属性进行匹配时,可以利用机器学习(machine learning,ml)的方法计算子业务与应用程序接口的功能属性的相关性,再根据相关性判断两者是否匹配。机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
43.步骤s300:根据表信息对确定得到的多个应用程序接口进行编排,得到组合应用程序接口。
44.应用程序接口编排也称为微服务编排,是指把已经开发好的应用程序接口,例如,restful、webservice、dubborpc等应用程序接口,按照一定的流程进行可视化编排的过程。现有技术都是开发人员根据经验对应用程序接口进行人工手动编排,没有结合业务请求的
具体场景对应用程序接口进行编排,另外,这种应用程序接口的编排方式效率低下且极易出错。
45.基于此,本实施例根据用于表征每个业务子请求与其他业务子请求之间的依赖关系的表信息对多个应用程序接口进行编排,实现编排自动化,提高应用程序接口编排的效率,且编排得到的组合应用程序接口更加符合特定业务场景,按需对调用方提供应用程序接口,提高用户体验。
46.示例性地,在用于表征每个业务子请求与其他业务子请求之间的依赖关系的表信息为,计算待缴五险一金数额这一业务子请求以及确定员工税后工资数额这一业务子请求依赖于确定员工税前工资数额这一子业务请求的响应结果,确定员工税后工资数额这一业务子请求依赖于计算待缴五险一金数额这一业务子请求的响应结果的情况下,若确定员工税前工资数额对应的应用程序接口为第一应用程序接口,计算待缴五险一金数额对应的应用程序接口为第二应用程序接口,确定员工税后工资数额对应的应用程序接口为第三应用程序接口,则进行编排之后得到的组合应用程序接口包括第一应用程序接口、第二应用程序接口以及第三应用程序接口,且第一应用程序接口的出参作为第二应用程序接口和第三应用程序接口的入参,第二应用程序接口的出参作为第三应用程序接口的入参。
47.本实施例提供的应用程序接口的编排方法根据业务子请求之间的依赖关系对多个业务子请求对应的应用程序接口进行编排,一方面实现应用程序接口编排自动化,提高编排效率,使调用者通过一次调用即可获取多个经过编排后的组合应用程序接口,提高调用效率;另一方面,编排得到的组合应用程序接口更加符合特定业务场景,按需对调用方提供应用程序接口,提高用户体验。
48.示例性地,在应用程序接口开放平台对生成的组合应用程序接口进行管理,主要包括保存应用程序接口、管理应用程序接口、打开应用程序接口、发布应用程序接口、暂停应用程序接口、删除应用程序接口、载入编辑应用程序接口、保存到本地、打开流程、保存图等功能,其中,保存应用程序接口即将应用程序接口的配置数据对象保存入库,主要用于重新恢复编排图形,以进行编辑调整;管理应用程序接口即对应用程序接口开放平台当前配置的所有应用程序接口封装流程进行管理,发布应用程序接口是将当前应用程序接口的数据对象转换生成可执行的流程数据文件,该文件用于在网关服务执行业务调用的过程中去加载执行,以获取调用结果。暂停应用程序接口即修改流程为暂停状态,暂停状态的流程无法被加载执行,删除应用程序接口即删除当前流程数据对象,载入编辑应用程序接口即载入流程数据对象,恢复编排图形;保存到本地即将当前应用程序接口的编排数据对象以xml文件的格式保存到本地,以便于编排数据的复用和迁移;打开流程即打开一个本地保存的api编排数据对象文件,恢复编排图形;保存图即将应用程序接口的编排图形以图片的形式保存到本地。
49.示例性地,应用程序接口开放平台包括能力开放模块及服务调用模块。能力开放模块将应用程序接口的详细信息对外展示,详细信息包括调用地址及请求/应答格式,以使客户端可根据调用地址及请求/应答格式发起对指定应用程序接口或组合应用程序接口的调用程序;服务调用模块根据业务请求数据获取相关的组合应用程序接口或应用程序接口的流程数据文件,依次执行流程逻辑并返回结果数据至客户端。
50.参阅图2,图2是图1所示实施例中的步骤s300在一示例性实施例的流程图,如图2
所示,步骤s300包括步骤s310-步骤s320,详细描述如下:
51.步骤s310:构建应用程序接口的编排引擎。
52.在本实施例中,应用程序接口的编排引擎实际上是一种用于控制应用程序接口编排过程的工作流引擎。工作流引擎是指工作流作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。
53.在本实施例中,构建编排引擎须先定义一个流程模板,流程模板的实际的业务流程启动后生成一个流程实例,流程实例必须维护当前编排流程执行的状态。编排引擎中的元素主要包括:开始环节、执行环节、状态环节、分支环节、汇总环节、判断环节、结束环节。通过对这些元素的组合设计,从而实现特定编排流程的封装配置。本实施例构建的编排引擎在每一个环节执行完成后能提供下一步的走向以及触发环节的变迁。对于分支和汇总环节还须维护多条路径的执行状态。流程实例要定义一个全局的变量区,用于存放流程执行过程中全程环节都可能需要读写的变量。
54.步骤s320:利用应用程序接口的编排引擎,根据表信息对确定得到的多个应用程序接口进行编排,得到组合应用程序接口。
55.示例性地,本实施例将构建的编排引擎以插件的形式部署与应用程序接口编排平台上,以便于利用编排引擎对多个应用程序接口进行自动编排。
56.本实施例构建应用程序接口的编排引擎,并利用编排引擎对多个应用程序接口进行编排,提高编排效率。
57.参阅图3,图3是图1所示实施例中的步骤s300在一示例性实施例的流程图,如图3所示,步骤s300包括步骤s330-步骤s340,详细描述如下:
58.步骤s330:定义组合应用程序接口以及组合应用程序接口对应的配置信息,配置信息包括协议信息。
59.在这一步骤中,定义组合应用程序接口以及组合应用程序接口对应的配置信息,配置信息主要包括基本信息、协议信息、详细信息,其中,基本信息用于定义组合应用程序接口的名称、归属及分类;协议信息用于设置组合应用程序接口的协议类型及服务地址;详细信息用于配置填写对应协议的能力方法名称及请求/应答包报文字段。
60.示例性地,在本实施例中,先确定每个子业务请求对应的应用程序接口的协议信息,从多个协议信息中确定占比最多的一种目标协议信息,将该目标协议信息定义为组合应用程序接口的协议信息。
61.步骤s340:基于组合应用程序接口对应的配置信息对确定得到的多个应用程序接口进行编排,得到组合应用程序接口。
62.在本实施例中,基于组合应用程序接口对应的配置信息对确定得到的多个应用程序接口进行编排,使得到的组合应用程序接口可用,并符合步骤s330定义的应用程序接口要求。
63.参阅图4,图4是图3所示实施例中的步骤s340在一示例性实施例的流程图,如图4所示,步骤s340包括步骤s341-步骤s343,详细描述如下:
64.步骤s341:判断每个应用程序接口对应的协议信息是否与组合应用程序接口对应的协议信息相同。
65.当前,应用程序接口开放平台已汇聚了来自电信、医疗、安防、家居、政企等不同领域的应用程序接口,各种各样的应用程序接口在丰富了业务生态的同时,也引入了不同协议和规范,由此导致应用程序接口之间的异构性,若直接对有不同协议和规范的多个应用程序接口编排,而不考虑个应用程序接口之间存在的协议信息不一致的问题,则可能导致编排得到的组合应用程序接口无法正常调用。因此,本实施例在对多个业务子请求对应的应用程序接口进行编排之前,先将多个应用程序接口对应的协议信息进行统一,以避免上述情况的发生。
66.应用程序接口的协议信息主要包括windows套接字(socket,用于开发网络应用程序)、远程调用、netbios协议(用于建立逻辑名和网络上的会话)和网络动态数据交换(network,用于通过网络共享嵌入在文本中的信息)。在本实施例中,应用程序接口对应的协议信息至少包含以下描述信息:协议种类、协议参数、协议控制指令。协议种类包括但不限于modbus、mqtt(message queuing telemetry transport,消息队列遥测传输)、http(hypertext transfer protocol,超文本传输协议)、restful、websocket等协议类型。
67.示例性地,判断每个应用程序接口对应的协议种类是否与组合应用程序接口对应的协议种类是否相同,进而判断每个应用程序接口对应的协议信息是否与组合应用程序接口对应的协议信息相同。
68.步骤s342:若目标应用程序接口的协议信息与组合应用程序接口对应的协议信息不同,对目标应用程序接口进行协议转换。
69.在本实施例中,目标应用程序接口是多个子业务请求对应的应用程序接口中的一个或多个。
70.在本实施例中,对目标应用程序接口进行协议转换以使目标应用程序接口的协议信息与组合应用程序接口的协议信息一致。示例性地,若目标应用程序接口的协议类型为mqtt,组合应用程序接口对应的协议类型为modbus,则将该目标应用程序接口的协议类型转换为modbus。
71.示例性地,在本实施例中,从多个子业务请求对应的应用程序接口的多个协议信息中确定占比最多的一种目标协议信息,将该目标协议信息定义为组合应用程序接口的协议信息。将目标应用程序接口的协议信息转化为目标协议信息。示例性地,利用api网关对应用程序接口进行协议信息的转换,api网关一般情况下是嵌入式软硬件,具有以太网、rs485、gprs、3g、4g等通信接口,能够实现协议转换功能。
72.步骤s343:对经过协议转换之后的目标应用程序接口以及多个应用程序接口中的其他应用程序接口进行编排,得到组合应用程序接口。
73.在本实施例中,对经过协议统一之后的多个应用程序接口进行编排,即可得到符合特定业务场景的组合应用程序接口。
74.示例性地,若用于表征每个业务子请求与其他业务子请求之间的依赖关系的表信息表征每个业务子请求独立,将多个业务子请求对应的应用程序接口并行编排,得到组合应用程序接口。在本实施例中,业务子请求之间独立表示业务子请求的响应不依赖于其他业务子请求的响应结果,每个业务子请求分别调用对应的应用程序接口进行业务处理即可。在本实施例中,对多个应用程序接口并行编排,实现多个应用程序接口并行执行的能力,即多个应用程序接口同时执行,相互没有依赖,减少调用应用程序接口的响应时间。
75.示例性地,业务请求包括获取张三的个人信息、对李四进行身份验证以及对获取公司的流水账单三个业务子请求,用于表征业务子请求之间的依赖关系的表信息表征上述每个业务子请求独立,因此,将这三个业务子请求对应的应用程序接口并行编排,进而得到组合应用程序接口。
76.示例性地,参阅图5,图5是图4所示实施例中的步骤s343在一示例性实施例的流程图,如图5所示,步骤s343包括步骤s3431-步骤s3432,详细描述如下:
77.步骤s3431:若表信息表征第一业务子请求的响应依赖于第二业务子请求的响应结果,将第一业务子请求对应的应用程序接口和第二业务子请求对应的应用程序接口串行编排。
78.在本实施例中,第一业务子请求是业务请求包括的多个业务子请求中的至少一个,第二业务子请求是业务请求包括的多个业务子请求中的至少一个。从业务子请求对应的应用程序接口这一方面来说,在第二应用程序接口调用成功时执行第一应用程序接口调用。本实施例在第一业务子请求的响应依赖于第二业务子请求的响应结果时,将第一应用程序接口和第二应用程序接口串行编排,实现应用程序接口串行执行的能力。
79.示例性地,第一业务子请求的响应依赖于第二业务子请求的响应结果包括多种情况,第一种情况为第一业务子请求的响应依赖于第二业务子请求的响应结果表示第一业务子请求对应的第一应用程序接口的入参包括第二业务子请求对应的第二应用程序接口的出参,例如,第一业务子请求为查询订单详情,第一业务子请求的响应结果为用户标识、九点标识以及房间标识。第二业务子请求为查询用户详情,第二业务子请求对应的第二应用程序接口的出参需要包括第一业务子请求的响应结果中包括的用户标识。
80.第二种情况为,第二业务子请求的响应结果作为判断第一业务子请求是否响应的条件,例如,第二业务子请求为对用户进行身份验证,第一业务子请求为获取身份验证通过的用户的流水账单信息,并对流水账单信息进行合法性验证。因此,在第二业务子请求对应的第二应用程序接口的响应结果为通过时,第一业务子请求对应的第一应用程序接口执行,在第二业务子请求对应的第二应用程序接口的响应结果为未通过时,第一业务子请求对应的第一应用程序接口不执行。
81.第三种情况为第二业务子请求的响应结果作为从多个业务子请求中确定的目标业务子请求进行响应的选择条件。例如,第二业务子请求为对用户进行身份验证,第一业务子请求为获取身份验证通过的用户的流水账单信息,并对流水账单信息进行合法性验证,第三业务子请求为根据身份验证未通过的用户信息生成警示信息并反馈给客户端。因此,在第二业务子请求对应的第二应用程序接口的响应结果为通过时,第一业务子请求对应的第一应用程序接口执行,在第二业务子请求对应的第二应用程序接口的响应结果为未通过时,第三业务子请求对应的第一应用程序接口执行。需要说明的是,本实施例中的业务子请求作为第一业务子请求还是第二业务子请求都是相对而言的,一个业务子请求既可以作为第一业务子请求也可以作为第二业务子请求,
82.步骤s3432:将经过串行编排之后的第一业务子请求和第二业务子请求与其他应用程序接口并行编排,得到组合应用程序接口。
83.在本实施例中,其他应用程序接口为多个子业务请求对应的多个应用程序接口中除了第一业务子请求和第二业务子请求对应的应用程序接口之外的应用程序接口。
84.在本实施例中,由于其他业务子请求与第一业务子请求相互独立,其他业务子请求与第二业务子请求相互独立,因此,直接将经过串行编排之后的第一业务子请求和第二业务子请求与其他应用程序接口并行编排,得到组合应用程序接口即可,在此不做过多赘述。
85.在一个具体应用场景中,参阅图6,图6是本技术一示例性实施例示出的对应用程序接口编排的示意图,如图6所示,业务请求为查询预定酒店订单,业务请求包括查询订单详情、查询用户详情、查询酒店详情以及查询房间详情四个业务子请求。查询订单详情这一业务子请求的响应结果为用户标识、酒店标识以及房间标识;查询用户详情这一业务子请求的响应结果为账号、姓名、年龄以及性别等;查询酒店详情这一业务子请求的响应结果为酒店名称、星级以及地址等;查询房间详情这一业务子请求的响应结果为房型、楼层、是否有窗等。
86.在这一具体实施方式中,查询用户详情这一业务子请求的响应依赖于查询订单详情这一业务子请求的响应结果包括的用户标识,查询酒店详情这一业务子请求的响应依赖于查询订单详情这一业务子请求的响应结果包括的酒店标识,查询房间详情这一业务子请求的响应依赖于查询订单详情这一业务子请求的响应结果包括的房间标识。因此查询订单详情这一业务子请求相对于查询用户详情、查询酒店详情以及查询房间详情这三个业务子请求来说是第二业务子请求,而查询用户详情、查询酒店详情以及查询房间详情这三个业务子请求之间相互独立,因此,在对这四个业务子请求对应的应用程序接口进行编排时,将查询订单详情对应的第一应用程序接口分别与查询用户详情对应的第二应用程序接口、查询酒店详情对应的第三应用程序接口以及查询房间详情对应的第四应用程序接口串行编排,将第二应用程序接口、第三应用程序接口以及第四应用程序接口并行编排即可。
87.在这一具体实施方式中,将业务请求输入组合应用程序接口,输出业务请求对应的响应结果,响应结果包括房间标识、用户标识、酒店标识、账号、姓名,年龄,性别、酒店名称、星级、地址、房型、楼层、是否有窗等信息,将响应结果发送至客户端。
88.参与图7,图7是本技术一示例性实施例示出的应用程序接口的编排装置的框图,如图7所示,应用程序接口的编排装置10包括获取模块11、确定模块12以及编排模块13。
89.其中,获取模块11用于获取业务请求,业务请求包括多个业务子请求以及用于表征每个业务子请求与其他业务子请求之间的依赖关系的表信息;确定模块12用于确定每个业务子请求对应的应用程序接口;编排模块13用于根据的表信息对确定得到的多个应用程序接口进行编排,得到组合应用程序接口。
90.在另一示例性实施例中,编排模块13还包括构建单元和编排单元,其中,构建单元用于构建应用程序接口的编排引擎;编排单元用于利用编排引擎,根据表信息对确定得到的多个应用程序接口进行编排,得到组合应用程序接口。
91.在另一示例性实施例中,编排单元还用于在表信息表征每个业务子请求独立时,将多个业务子请求对应的应用程序接口并行编排,得到组合应用程序接口。
92.在另一示例性实施例中,编排单元还用于在表信息表征第一业务子请求的响应依赖于第二业务子请求的响应结果时,将第一业务子请求对应的应用程序接口和第二业务子请求对应的应用程序接口串行编排;并将经过串行编排之后的第一业务子请求和第二业务子请求与其他应用程序接口并行编排,得到组合应用程序接口,其他应用程序接口为多个
应用程序接口中除了第一业务子请求和第二业务子请求对应的应用程序接口之外的应用程序接口。
93.在另一示例性实施例中,编排模块13还包括判断单元、协议转换单元,其中,判断单元用于判断每个应用程序接口对应的协议信息是否与组合应用程序接口对应的协议信息相同;协议转换单元用于在目标应用程序接口的协议信息与组合应用程序接口对应的协议信息不同时,对目标应用程序接口进行协议转换;编排单元还用于对经过协议转换之后的目标应用程序接口以及多个应用程序接口中的其他应用程序接口进行编排,得到组合应用程序接口。
94.需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
95.在另一示例性实施例中,本技术提供一种电子设备,包括处理器和存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前的应用程序接口的编排方法。
96.图8示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
97.需要说明的是,图8示出的电子设备的计算机系统1000仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
98.如图8所示,计算机系统1000包括中央处理单元(central processing unit,cpu)1001,其可以根据存储在只读存储器(read-only memory,rom)1002中的程序或者从存储部分1008加载到随机访问存储器(random access memory,ram)1003中的程序而执行各种适当的动作和处理,例如执行上述实施例中的信息推荐方法。在ram 1003中,还存储有系统操作所需的各种程序和数据。cpu 1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(input/output,i/o)接口1005也连接至总线1004。
99.以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
100.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(cpu)1001执行时,执行本技术的系统中限定的各种功能。
101.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算
机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
102.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
103.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
104.本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前实施例中任一项的应用程序接口的编排方法。
105.本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的应用程序接口的编排方法。
106.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,
该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
107.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
108.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
109.上述内容,仅为本技术的较佳示例性实施例,并非用于限制本技术的实施方案,本领域普通技术人员根据本技术的主要构思和精神,可以十分方便地进行相应的变通或修改,故本技术的保护范围应以权利要求书所要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献