CN116109112B - 基于聚合接口的业务数据处理方法、装置、介质和设备 - Google Patents
基于聚合接口的业务数据处理方法、装置、介质和设备 Download PDFInfo
- Publication number
- CN116109112B CN116109112B CN202310382746.2A CN202310382746A CN116109112B CN 116109112 B CN116109112 B CN 116109112B CN 202310382746 A CN202310382746 A CN 202310382746A CN 116109112 B CN116109112 B CN 116109112B
- Authority
- CN
- China
- Prior art keywords
- interface
- sub
- service
- service request
- aggregation
- 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
- 230000002776 aggregation Effects 0.000 title claims abstract description 150
- 238000004220 aggregation Methods 0.000 title claims abstract description 150
- 238000003672 processing method Methods 0.000 title abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 118
- 230000004044 response Effects 0.000 claims abstract description 85
- 238000000034 method Methods 0.000 claims abstract description 63
- 230000004931 aggregating effect Effects 0.000 claims 2
- 238000012544 monitoring process Methods 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 27
- 238000001514 detection method Methods 0.000 description 24
- 239000000463 material Substances 0.000 description 14
- 238000004519 manufacturing process Methods 0.000 description 11
- 238000003860 storage Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 241000412611 Consul Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000486463 Eugraphe sigma Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- 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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- 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—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Manufacturing & Machinery (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种基于聚合接口的业务数据处理方法、装置、介质和设备,涉及计算机技术领域。本方法通过获取请求端的业务请求,确定响应业务请求的聚合接口以及业务请求中的子业务请求的第一级子接口,并调用每个第一级子接口,在第一级子接口具有依赖关系的第二级子接口时,根据第一级子响应数据和依赖关系确定是否调用第二级子接口执行对应的子业务请求,获取第一级子接口及第二级子接口的响应数据,拼装响应数据得到业务请求的处理反馈数据,并通过聚合接口返回至请求端。通过调用聚合接口处理业务数据,提高了对复杂业务请求的处理能力。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于聚合接口的业务数据处理方法、装置、介质和设备。
背景技术
一个前端页面,往往需要从数个甚至数十个接口中请求数据,而这些接口,很可能还存在如下异构特性:托管host不同、实现语言不同、调用方式不同。面对这样的难题,接口聚合应运而生。
接口聚合的核心是将多个接口逻辑整合起来,对外暴露一个接口让使用者(用户、其他操作系统等)调用,这样使用者就通过调用一次聚合接口来完成多次接口调用的功能。
传统的接口聚合采用的是画布拖拉拽的方式,快速组合已知的接口,生成一个聚合接口,虽然操作简单,但是面对工业场景,还是存在很多的问题。
在工业场景中,例如MES系统(manufacturing execution system,一套面向制造企业车间执行层的生产信息化管理系统)下发了某个订单任务,该任务实际执行过程中需要拆分成多个订单给到不同的单元管控系统去执行,且每个订单的执行过程还会经过工序检测、物料供给、订单生成、配送、工序加工、完成/未完成情况报工等等一系列操作。而传统的接口聚合方式面对这种错综复杂的处理逻辑,已经显得捉襟见肘,无法复用。
发明内容
本申请的目的在于提供一种基于聚合接口的业务数据处理方法、装置、介质和电子设备,以提高聚合接口在复杂场景下数据处理的应对能力。
为实现以上目的,本申请提供了一种基于聚合接口的业务数据处理方法,包括:获取请求端的业务请求;确定用于响应业务请求的聚合接口和用于响应业务请求中的子业务请求的第一级子接口;调用每个第一级子接口对相应的子业务请求进行响应,获取对应的第一级子响应数据;当存在与第一级子接口具有依赖关系的第二级子接口时,根据第一级子响应数据和依赖关系确定是否调用第二级子接口执行对应的子业务请求,若是,则获取对应的第二级子响应数据;依赖关系包括串行依赖、条件依赖中的一个或几个的组合;对至少一个响应数据进行拼装,得到业务请求的处理反馈数据,并通过聚合接口返回至请求端,至少一个响应数据包括第一级子响应数据和/或所述第二级子响应数据。
在其中一个实施例中,调用每个第一级子接口对相应的子业务请求进行响应,获取对应的第一级子响应数据,包括:当第一级子接口为聚合子接口时,从第一级子接口中确定用于执行子业务请求的至少一个嵌套接口;调用嵌套接口执行子业务请求,获取嵌套接口的响应数据;对嵌套接口的响应数据进行拼装,形成第一级子响应数据。
在其中一个实施例中,确定用于响应业务请求的聚合接口和用于响应业务请求中的子业务请求的第一级子接口,包括:根据业务请求所属的业务类型确定用于响应业务请求的聚合接口;读取聚合接口所注册的注册中心的中心标识;根据中心标识获取对应注册中心中的所有接口的接口标识;根据业务请求中的参数信息从接口标识中确定用于响应业务请求中的子业务请求的第一级子接口。
在其中一个实施例中,在获取请求端的业务请求之前,还包括接收将注册中心录入到聚合接口处理引擎的录入指令,录入指令中包含注册中心的中心标识;将中心标识与聚合接口的接口标识之间建立关联关系;获取与中心标识相关联的所有微服务端的微服务标识;将微服务标识对应的接口作为所述聚合接口的子接口。
在其中一个实施例中,根据第一级子响应数据和依赖关系确定是否调用第二级子接口执行对应的子业务请求,包括:当依赖关系为条件依赖时,检测第一级子响应数据是否满足第二级子接口的调用触发条件,若是,则调用第二级子接口执行子业务请求。
在其中一个实施例中,在根据第一级响应子数据和依赖关系调用第二级子接口执行对应的子业务请求之后,还包括当第二级子接口调用失败时,发起对第二级子接口的重新调用;当重新调用的失败次数超过预设次数阈值时,通过聚合接口向请求端反馈调用失败的信息;对业务请求处理进行中止;当接收到对中止的业务请求继续执行的指令时,返回重新继续执行发起对第二级子接口的重新调用。
在其中一个实施例中,在通过聚合接口向请求端反馈调用失败的信息之前,还包括:查询与子业务相匹配的第二级备用子接口;调用第二级备用子接口执行所述子业务。
根据本申请的另一个方面,提供了一种基于聚合接口的业务数据处理装置,该装置包括:业务请求获取模块,用于获取请求端的业务请求;
业务处理模块,用于确定用于响应所述业务请求的聚合接口和用于响应所述业务请求中的子业务请求的第一级子接口;调用每个所述第一级子接口对相应的所述子业务请求进行响应,获取对应的第一级子响应数据;当存在与所述第一级子接口具有依赖关系的第二级子接口时,根据所述第一级子响应数据和所述依赖关系确定是否调用所述第二级子接口执行对应的所述子业务请求,若是,则获取对应的第二级子响应数据;
响应数据处理模块,用于对至少一个响应数据进行拼装,得到所述业务请求的处理反馈数据,并通过所述聚合接口返回至所述请求端。
根据本申请的另一个方面,提供了一种电子设备,包括一个或多个处理器;
存储器,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行本申请实施例中任一项基于聚合接口的业务数据处理方法。
根据本申请的另一个方面,提供了一种计算机可读介质,其上存储有可执行指令,指令被处理器执行时,使所述处理器执行本申请实施例中任一项基于聚合接口的业务数据处理方法。
本申请的有益效果包括:
(1)通过聚合接口中的具体接口对应处理一种或多种类型的业务请求,提高了聚合接口内的接口管理效率,且聚合接口中包含了第一级子接口、与第一级子接口具有依赖关系的第二级子接口等多级接口,提高了对复杂业务请求的处理能力;
(2)子接口还可以是聚合接口,可以将一些常用的处理标准化的子业务的子接口在聚合接口内进行聚合,形成嵌套接口,利用该嵌套接口处理相应的子业务,可以有效地组织数据处理流程,并将聚合接口的实现细节隐藏起来,提高了聚合接口的可维护性和可重用性;
(3)通过注册中心关联到所注册的多个微服务,进而通过轮询的方式自动获取微服务及微服务对应接口的接口标识,提高了接口的可用性,减轻了聚合接口处理引擎的维护成本,提高了微服务的接口接入能力;
(4)通过调度系统对业务请求的优先级进行排序,根据优先级自动处理业务请求,提高了聚合接口处理引擎的自动化程度;
(5)聚合接口中的重试机制,使聚合接口在网络延迟或目标服务宕机等异常情况下自动重试,进而尽可能保证业务处理的成功率,提高了系统的可靠性;
(6)接口调用信息自动存储到远程日志系统,有利于后续系统故障处理时快速定位故障原因,保证了接口调用数据的可追溯性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请范围的限定。
图1为一个实施例中基于聚合接口的业务数据处理方法的场景示意图;
图2为一个实施例中基于聚合接口的业务数据处理方法的流程图;
图3为一个实施例中确定用于响应业务请求的聚合接口和用于响应业务请求中的子业务请求的第一级子接口的流程图;
图4为一个实施例中基于聚合接口的业务数据处理装置的结构框图;
图5为另一个实施例中基于聚合接口的业务数据处理装置的结构框图;
图6为一个实施例中电子设备的接口示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请所使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
比如本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
再比如本申请所使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
本申请提供的基于聚合接口的业务数据处理方法,可以应用于如图1所示的场景。其中,聚合接口120可以按照聚合接口配置110,注册很多第三方接口111,比如通过具体的接口聚合流程112,配置了图中的接口urlA、urlB、urlC、urlD、urlE、urlF、urlG等。其中,urlA、urlB和urlC为聚合接口中的相同层级的接口,其之间的执行方式可为并行执行,三者可以并发执行、同时执行,互相之间不受影响。urlC、urlF和urlD之间是串行依赖关系,后者是前者的下一层级的接口,前者被调用执行完才会执行对后者的调用,前者的调用执行输出结果可以作为后者的输入参数,比如可将调用urlD执行后的输出结果设计成调用urlF的输入参数。类似地,urlB和urlE之间也是串行依赖关系,urlE依赖于urlB。urlA与urlD和urlE之间属于条件依赖,只有当调用urlA后的输出信息满足了相应的触发条件时,才能继续调用后面的接口。比如当urlA后的输出信息满足触发条件A时,才能调用urlD,满足触发条件B时,才能调用urlE。聚合接口120为对外部所暴露的接口,请求端130通过调用该聚合接口120,可以实现对其所聚合的urlA~urlG等接口的调用,实现对应的数据处理,并最终仍然是通过聚合接口120将对业务处理的反馈数据提供给请求端130。
其中,接口urlA、urlB、urlC可为聚合接口的第一级子接口,接口urlD、urlE、urlF为聚合接口的第二级子接口,接口urlG为聚合接口的第三级子接口。具体的,第n+1级子接口可为依赖于第n级子接口,也可以依赖于第n级子接口所依赖的接口,子接口的级别可具有多个级别,并根据实际的业务请求需要进行配置,比如可配置到第三级子接口,还可以配置到第四级子接口、第五级子接口等,第一级子接口为聚合接口首次需要调用的接口。每个级别的子接口可具有一个或多个。
在一个实施例中,如图2所示,提供了一种基于聚合接口的业务数据处理方法,该方法包括:
步骤202,获取请求端的业务请求。
本实施例中,业务请求可为任意需要调用聚合接口的请求,该请求可为复合业务请求。业务请求可为客户端发出的业务请求,也可为由电子设备对应的系统主动触发的请求。比如说业务请求可为由请求端所发送的MES系统中的某些数据采集或者当日或当月数据汇总的请求,还可为由系统主动触发的数据采集或数据汇总等业务请求。当由系统主动触发的请求时,该请求中包含了执行完该数据请求后所要反馈的请求端的请求端标识。
业务请求中包含有对应的业务数据信息以及请求端标识。该业务数据信息包括对应的业务标识和用于确定对应接口的参数信息。请求端可为用于接收业务请求对应的反馈数据的用户终端(或客户端)或服务器。
在一个实施例中,主动触发的业务请求可为通过调度系统自动触发的请求,业务请求根据调度系统的调度顺序执行。其中调度系统是按照优先级进行业务请求执行顺序安排、业务请求临时存储的中间处理机构;优先级可以按照业务请求计划执行时间进行排序。
举例来说,客户端下发在10:30am执行订单生产任务的业务请求,电子设备解析该业务请求的业务数据,提取对应接口的参数信息并放置到调度系统中,在到达预定执行时间时,调度系统提取对应的业务请求,识别对应的接口标识,确定处理该业务请求对应的接口,并执行该业务请求。
在一个实施例中,当客户端下发了优先级高的业务请求时,电子设备对应的系统中止正在运行中的优先级较低的业务请求,将该优先级较低的业务请求的处理信息临时存储到调度系统,当优先级高的业务请求处理完成后,或其他执行同一类型业务请求的对应接口空闲时,调度系统恢复执行被中断的业务请求。其中,业务请求的处理信息包括业务处理进度、处理设备接口标识、中断时间等信息。
步骤204,确定用于响应业务请求的聚合接口和用于响应业务请求中的子业务请求的第一级子接口。
本实施例中,每个聚合接口可对应一个或一种类型的业务请求,也可以对应多种类型的业务请求。即存在多种不同的业务请求,其都采用一个相同的聚合接口进行处理。电子设备预设了业务请求与聚合接口之间的对应关系,比如可建立对应的关联关系表,该关联关系表中存储了每种类型的业务请求的业务类型标识与聚合接口的接口标识之间的关联关系。
当一个聚合接口仅对应于一种类型的业务请求时,则该聚合接口中的所有接口均用于处理该类型的业务请求,在确定了对应的聚合接口时,则对应确定了对应的第一级子接口。
当一个聚合接口对应于多种类型的业务请求时,则需要确定该聚合接口中的哪些接口是用来处理哪一种或多种类型的业务请求。此时可根据该业务请求中的参数信息中进行第一级子接口的确定。具体地,可从业务请求的参数信息中识别出用户表示第一级子接口的标志位,根据该标志位上的信息来确定对应的第一级子接口,然后再调用相应的第一级子接口进行处理。
与聚合接口类似地,每个第一级子接口同样可以对应一种或几种类型的子业务请求。其中,该子业务请求可为从业务请求中分解出来的业务请求。比如业务请求为某个订单生产请求,则对应该订单生产请求所拆分出来的子业务请求可包括工序检测请求、物料供给请求、订单生成请求等。
电子设备预设了每个业务请求与相应的子业务请求的拆分规则,基于业务请求的业务类型标识和该拆分规则确定出对应的子业务请求的子业务类型标识,进而从确定的第一级子接口的接口标识与子业务请求的子业务类型标识之间的对应关系,确定需要调用该第一级子接口来执行的子业务请求。
其中,聚合接口可为对外公开的虚拟接口,而聚合接口下的各个子接口可既包括虚拟接口,也可包括实体接口。用于响应业务请求中的子业务请求的第一级子接口可以具有一个或一个以上,比如具有3个、5个等。具体的数量可根据具体的业务处理规则确定。
在一个实施例中,当客户端下发的业务请求数量高于可执行业务请求的接口数量时,电子设备按照业务请求的优先级进行排序,将暂时无法执行的业务请求临时存储到调度系统中,调度系统实时检测可执行业务请求的接口运行状态,当可执行业务请求的接口空闲时,调度系统按照业务请求的执行时间依次调取临时存储在调度系统中的业务请求并调用对应接口,使接口对应的空闲设备执行该业务请求。
其中,业务请求可以是同一类型的业务请求,例如n个订单生产任务,也可以是不同类型的复合业务请求,例如m个工艺处理需求及l个订单生产任务,在执行同一类型的业务请求时,按照业务请求的优先级进行排序。
步骤206,调用每个第一级子接口对相应的子业务请求进行响应,获取对应的第一级子响应数据。
其中,可采用并行的方式,同时调用相应的第一级子接口来处理对应的子业务请求,各第一级子接口的调用处理可互相不受影响。
通过调用对应的第一级子接口处理后所输出的数据即为第一级子响应数据。比如该第一级子接口可为用于调用某个设备来检测零件生产是否合格的接口。通过该接口可以返回对应设备对相关零件的检测结果,该检测结果即为对应的响应数据。
举例来说,某个子业务请求可包括对某个产品进行重量检测,则可通过该第一级子接口连接到具体的测试设备,该测试设备完成对应产品的重量检测之后,再通过第一级子接口向电子设备返回相应的第一级子响应数据,该的第一级子响应数据可为该产品重量合格,或者具体的重量数据。
步骤208,当存在与第一级子接口具有依赖关系的第二级子接口时,根据第一级子响应数据和依赖关系确定是否调用第二级子接口执行对应的子业务请求,若是,则获取对应的第二级子响应数据。
可选地,针对每个调用的每个第一级子接口,电子设备可检测是否存在依赖于该第一级子接口的第二级子接口。依赖关系包括串行依赖、条件依赖中的一个或几个的组合。比如图1所示的,与第一级子接口urlA具有依赖关系的包括接口urlD和urlE。
具体地,电子设备可读取该第一级子接口的配置信息,检测该配置信息中是否配置了相应的下一级接口以及与下一级接口的依赖关系,该下一级接口即为第二级子接口。若存在,则说明其具有第二级子接口。可以理解的,上一级接口与下一级接口之间的对应关系可以是多对多的关系,即不同的第一级子接口可与相同的第二级子接口之间具有依赖关系,反之,同一个第一级子接口也可以与多个第二级子接口之间具有依赖关系。上述的依赖关系可以是相同的依赖关系,也可以是不同的依赖关系。
在具有依赖关系的第二级子接口时,可根据该依赖关系和第一级子接口的输出信息来确定是否进行第二级子接口的调用。比如该依赖关系为串行依赖时,则直接进行第二级子接口的调用,将第一级子接口的输出信息作为第二级子接口的输入;当该依赖关系为条件依赖时,则进一步检测第一级子接口的输出信息是否满足了调用第二级子接口的条件,若满足,则调用第二级子接口执行子业务请求。其中,该输出信息可为第一级子接口对应的响应数据。
由于一些子业务请求同样也需要经过多次调用接口才能够处理完成,故而在经过第一级子接口处理之后,还需要经过其他的接口进行继续处理。该第二级子接口可继续处理相应的子业务请求。
在一个实施例中,与第一级子接口类似,第二级子接口同样还可能具有下一级子接口,电子设备可以像执行步骤208一样,判断是否存在与第二级子接口具有依赖关系的第三级子接口,若是,则根据第二级子接口输出的响应数据和依赖关系确定是否调用第三级子接口执行对应的子业务请求,直至结束了对该子业务的处理,或者不存在下一级依赖关系的接口。
步骤210,对至少一个响应数据进行拼装,得到业务请求的处理反馈数据,并通过聚合接口返回至请求端。
本实施例中,在结束了对业务请求的处理之后,电子设备可将通过调用其中的一个或几个接口所产生的响应数据进行拼装聚合处理,整合成需要反馈给请求端的数据,作为处理反馈数据,并将其通过聚合接口返回给请求端。其中,所进行拼装的响应数据包括一个或多个第一级子响应数据和/或一个或多个第二级子响应数据。
其中,具体需要拼装的响应数据可根据业务请求来确定,比如该业务请求的最终结果为需要反馈是否成功的结果,则可以根据最终的响应数据确定该业务请求是否成功,形成的处理反馈数据可为处理成功或不成功的结果。若需要反馈详细的处理结果信息,则对可体现出处理结果信息的该响应数据进行拼装,得到处理反馈数据。
在一个实施例中,通过设定比率或者一票否决的方式判断反馈数据是否为处理成功。
比如,业务请求为物料供给请求,该业务请求的子业务请求包括A物料请求、B物料请求、C物料请求,当三个子业务请求的反馈数据均为备齐时,反馈到该业务请求的处理结果信息为物料准备成功,否则直接返回物料不足。
比如,业务请求为零件检测请求,子业务请求包括检测项1、检测项2、检测项3、检测项4、检测项N,当N个检测项中,有超过80%的检测项目反馈结果为合格时,反馈到该业务请求的结果为零件合格。其中,若在零件检测请求中增加重量检测请求项,设置重量检测项为一票否决项,也就是即使N个检测项均为合格,但重量检测项不合格,反馈到该业务请求的结果仍是零件不合格。
本实施例中,通过设置第二级子接口,并设置第二级子接口与第一级子接口之间的依赖关系,使得针对业务请求可以利用多级子接口进行处理,提高了聚合接口处理业务请求的能力,实现了对复杂业务请求的处理。
在一个实施例中,步骤206包括:当第一级子接口为聚合子接口时,从第一级子接口中确定用于执行子业务请求的至少一个嵌套接口;调用嵌套接口执行子业务请求,获取嵌套接口的响应数据;对嵌套接口的响应数据进行拼装,形成第一级子响应数据。
本实施例中,第一级子接口可以与聚合接口一样,也是一种聚合接口,其相对于处理业务请求的聚合接口而言属于聚合子接口。该聚合子接口中同样聚合了多个接口。聚合子接口中所聚合的接口可称之为嵌套接口,该嵌套接口之间与多级子接口类似,具有层级关系,比如多个嵌套接口之前的层级相同,或者具有前后级关系,具有前后级关系的嵌套接口之间的依赖关系也可为串行依赖和/或条件依赖中的一种或几种。调用第一级子接口处理对应的子业务请求与调用聚合接口处理业务请求类似。
具体地,可根据该子业务请求确定需要调用的聚合子接口中的具体的一个或几个嵌套接口,并基于该嵌套接口的来处理该子业务请求,获取每个嵌套接口的响应数据,如果该嵌套接口还具有依赖关系的下一级嵌套接口时,则同样根据该响应数据和依赖关系确定是否调用其下一级嵌套接口继续执行对应的子业务请求,直至结束了该子业务请求的处理,或者不存在下一级依赖关系的接口。
在一个实施例中,电子设备可统计聚合接口中的各个被聚合的接口调用情况,根据各个具有依赖关系的接口被调用的频率、调用的便利性等维度来确定是否将这些接口进行聚合,形成聚合接口中的聚合子接口。举例来说,如果存在具有依赖关系的多个接口,其具有较高的被调用频率,且专用于处理某个类型的部分业务时,如果这些接口之间属于不同的注册中心的接口,在进行接口调用的时候需要耗费较大多资源时,可将这些接口进行聚合,打包形成一个整体供聚合接口调用,这样可进一步提高聚合接口内的接口的管理效率。同时通过将嵌套接口作为聚合接口的第一级子接口,使得可以进一步提高对复杂的业务请求的处理能力。
嵌套聚合接口可以在聚合接口中实现更复杂的数据处理逻辑。当聚合接口需要处理的数据结构非常复杂或者需要处理多层嵌套的数据结构时,使用嵌套聚合接口可以有效地组织数据处理流程,并将聚合接口的实现细节隐藏起来,提高了聚合接口的可维护性和可重用性。
在一个实施例中,如图3所示,步骤204包括:
步骤302,根据业务请求所属的业务类型确定用于响应业务请求的聚合接口。
可选地,电子设备预设了业务请求所属的业务类型与聚合接口之间的对应关系,基于该对应关系确定相应的聚合接口。
步骤304,读取聚合接口所注册的注册中心的中心标识。
本实施例中,聚合接口中所聚合的接口可以是以注册中心为单位进行聚合的,一个聚合接口可以对应注册多个注册中心。电子设备可预先建立各个聚合接口和与之所注册的注册中心的中心标识的对应关系,基于该对应关系,获取对应的中心标识。中心标识用于唯一标识对应的注册中心。中心标识可以是数字、字母、字符等用于识别注册中心的标记。
具体的,注册中心可称为服务发现系统,是用来注册不同的外部服务的,每个注册中心可以包含多个接口。注册中心是服务实例信息的存储仓库,也是服务提供者和服务消费者进行交互的桥梁,它主要提供了服务注册和服务发现这两大核心功能,注册中心在实现解耦服务提供者和服务消费者的前提下,保证微服务之间的相互调用。注册中心可包括nacos、zk、consul、etcd等。
注册中心上可连接有多个微服务,注册中心所连接的微服务都是作为平等的客户端存在,其之间可以相互通信和感知。通过将聚合接口与注册中心进行关联,可以实现聚合接口与注册中心所连接的各个微服务下的接口的关联。假设聚合接口所注册的注册中心有j个,第i个注册中心i对应的微服务有mi个,第i个微服务对应的接口数量为ni个,则该注册中心i对应的接口即有mi*ni个,该聚合接口所聚合的接口即为j个注册中心的所有接口的总和,即有∑(mi*ni)个,其中i=1,2,3……j。这样,通过以注册中心为单位,可以实现多个接口的聚合,可以进一步提高聚合接口对接口的聚合能力,提高了聚合接口对复杂业务请求的处理效率。
步骤306,根据中心标识获取对应注册中心中的所有接口的接口标识。
如上述的,注册中心可以关联到与其所注册的多个微服务,可根据所读取的中心标识,进而获取到所注册的微服务对应接口的接口标识。具体地,可自动从服务端(即注册中心)来拉取所有其他注册到服务端的接口,并以微服务作为分组来展示,而集群情况下的路由负载策略选择则是由对应的注册中心来做实现,减轻了聚合接口处理引擎的维护成本。
在本实施例中,电子设备以轮询的方式不断监听与注册中心关联的微服务的状态。当某个微服务宕机或下线时,在聚合所有与注册中心关联的微服务及接口标识时,自动去除宕机或下线的微服务及该微服务关联的接口标识,仅获取可用接口的接口标识。这样可以提高接口的可用性,防止无用的接口造成干扰。同理,当有新的服务或者接口新增的时候,也不同额外的做新增操作,所有的微服务和接口的获取都是动态的,无需像优化前一样手动去添加和删除。
步骤308,根据业务请求中的参数信息从接口标识中确定用于响应业务请求中的子业务请求的第一级子接口。
本实施例中,业务请求的信息中携带有用于体现调用的接口标识的参数信息,以及与该接口标识对应的子业务信息和处理对应子业务的设备等。电子设备可从该参数信息中提取出相应的接口标识,并从与注册中心中所拉取的所有的接口标识中查询出对应的接口标识,进而对该接口标识对应的接口进行调用,来处于对应的子业务请求。
具体地,业务请求可为json数组数据的形式,其中包含了多个元素,每个元素对应一个子业务请求信息和需要调用的接口信息。电子设备可对其进行解析,提取每个元素中的标志位信息,从该信息中确定出需要调用的接口。标志位可从json数组数据中的serviceType信息中提取。
其中,在具体接口调用的时候,聚合接口处理引擎和各个接口可以通过服务端(即注册中心)底层的rpc通道直接进行交互和通信,大大的提高了通信效率。
通过上述方式,可以直接从业务请求的信息中在聚合接口中找到需要调用的接口。
在一个实施例中,上述方法还包括接口聚合的过程,该过程可在步骤202之前执行。该过程包括:接收将注册中心录入到聚合接口处理引擎的录入指令,录入指令中包含注册中心的中心标识;将中心标识与聚合接口的接口标识之间建立关联关系;获取与中心标识相关联的所有微服务端的微服务标识;将微服务标识对应的接口作为聚合接口的子接口。
本实施例中,电子设备可在屏幕上展示接口新增页面,并接收在该页面上触发的接口新增操作,基于该操作形成录入指令。该录入指令中包含需要录入的注册中心的中心标识和对应的聚合接口的接口标识。注册中心可包括上述的nacos、zk、consul、etcd等。电子设备可接收用户对选取的注册中心的录入操作,在接收到保存操作时,触发该录入指令。
前端页面在接收到录入注册中心的同时,会触发聚合接口处理引擎的注册服务,自动将聚合接口处理引擎自身作为客户端注册到对应的注册中心,建立注册中心的中心标识与聚合接口的接口标识之间的关联关系。这样一来,聚合接口处理引擎以及注册在注册中心上的其他微服务都是作为平等的客户端存在,他们之间可以相互通信和感知。基于该通信和感知,可以获取到与中心标识相关联的所有微服务的微服务标识,与该微服务进行通信,获取该微服务所包含的接口的信息,将该微服务所包含的接口作为聚合接口的子接口,从而实现了基于注册中心的接口聚合。
本实施例中,通过以注册中心为单位,在完成一个注册中心与聚合接口的注册时,可以实现多个子接口与聚合接口的聚合,提高了对接口聚合的操作效率。
对于采用画布拖拉拽组合已知的接口,生成一个聚合接口方式,虽然其操作简单,但其所能聚合的接口数量有限而且并不全面,且该方式在面对复杂工业场景时,难以有效地主动发起业务请求。
在一个实施例中,步骤208包括:当依赖关系为条件依赖时,检测第一级子响应数据是否满足第二级子接口的调用触发条件,若是,则调用第二级子接口执行子业务请求。
本实施例中,如图1所示,第二级子接口的调用触发条件可以是判断第一级子响应数据是否满足判断函数或脚本。例如,触发条件可以是编写的一段脚本,检测urlA的输出是否大于等于10,当输出大于等于10时,执行urlD,当输出小于10时,执行urlE。
在一个实施例中,触发条件可以是判断函数,例如判断urlA的输出时间是否晚于设置时间,若晚于设置时间,执行urlD,若早于设置时间,执行urlE。其中设置时间为自行设置的24小时中的任意时间点。
在一个实施例中,当第二级子接口存在下一级子接口(即第三级子接口)时,第三级子接口的调用触发条件与调用第二级子接口的触发条件类似。
进一步地,是否满足触发条件可以根据与第二级子接口具有依赖关系的多个第一级子接口的输出结果来确定。比如当每个第一级子接口的输出结果均为合格或成功的结果,或者满足合格或成功的结果的数量或者比例超过预设阈值时,则判定满足相应的触发条件。
通过设置触发条件执行下一级子接口的子业务请求,以保证整个聚合接口的正确性和稳定性。同时,也可以通过控制逻辑灵活地处理各种不同的业务场景和接口调用流程。
举例来说,在MES系统中,该业务请求可为对生产过程中的物料进行管理,其相应的处理过程包括物料采购、入库、出库、加工等子业务请求。这些过程涉及到多个业务接口,需要使用聚合接口来协调各个接口之间的关系,以便实现对物料的全面管理。
对于物料采购的子业务请求,需要调用多个第一级子接口进行采购计划的制定、审核和执行,其中每一个子接口都需要返回执行结果和相关信息。对于物料入库的子业务请求,需要调用多个第一级子接口进行入库计划的制定、审核和执行,其中每一个子接口也都需要返回执行结果和相关信息。
当所有的采购和入库子接口都执行成功后,需要调用具有依赖关系的一个或多个第二级子接口来进行物料加工和出库过程,其中需要使用到采购和入库的结果。在调用第二级子接口之前,需要先检查对应具有依赖关系的第一级子接口的执行结果是否全部为成功,只有在所有子接口都执行成功后才能继续进行后续的操作。
在比如说,在一个零件检测的子业务请求中,最终需要输出检测结果为合格或者不合格。检测项有n项,其对应某一个或多个第一级子接口。当第一级子接口的输出结果为检测合格的数量超过预设阈值(比如总量的80%)时,可以继续调用对应的第二级子接口进行下一步检测。或者当存在其中的一项检测结果为不合格时,则具有一票否决权,直接输出检测不合格的结果,结束对第二级子接口的调用。
通过以上控制逻辑,可以实现对MES系统中的业务的全面管理和跟踪,以保证生产过程的正常进行和质量的稳定。同时,也可以通过控制逻辑灵活地处理各种不同的业务场景和接口调用流程。
在一个实施例中,上述方法还包括第二级子接口重试调用的过程,该过程可以在步骤208之后执行,该过程包括:当第二级子接口调用失败时,发起对第二级子接口的重新调用;当重新调用的失败次数超过预设次数阈值时,通过聚合接口向请求端反馈调用失败的信息;对业务请求处理进行中止;当接收到对中止的业务请求继续执行的指令时,返回重新继续执行发起对第二级子接口的重新调用。
在本实施例中,可能出现网络延迟、微服务宕机或下线导致第二级子接口调用失败。当第二级子接口调用失败时,电子设备不间断的尝试调用第二级子接口,直至网络延迟恢复或微服务故障修复。当重新调用的次数超过阈值,例如重新调用的次数超过10次时,通过聚合接口向请求端反馈调用失败,终止业务请求的执行,直到重新接收到业务请求的执行指令时,继续执行调用第二级子接口。
具体的,可对每个第二级子接口的返回结果进行检查,识别该子接口调用是否成功。如果某个子接口调用失败,则通过聚合接口会对该第二级子接口进行重新调用,直到该子接口调用成功或者达到最大重试次数为止。
在进行子接口重新调用时,可通过聚合接口将该子接口的调用信息进行记录,以便在重新调用时可以根据聚合接口恢复原有的调用参数和状态。
在一个实施例中,当检测到多个子接口同时出现调用失败的情况,则可通过聚合接口按照一定的优先级顺序对子接口进行重新调用,以确保优先处理重要的子接口。如果在多次重新调用后仍然无法成功调用某个子接口,则聚合接口会将该子接口的调用结果标记为失败,并在返回结果中包含相应的错误信息。
在通过聚合接口进行子接口调用过程中,会不断对子接口的调用结果进行监控和更新,以确保子接口的调用过程始终处于正确的状态。
具体地,可在聚合接口的代码中,针对每个子接口的调用,添加一个重试次数的参数,用于指定重试的最大次数。当调用子接口时,如果出现异常或错误,可以将该子接口的重试次数减1,并进行下一次重试,直到达到最大重试次数或者调用成功为止。
在重试的过程中,可以根据需要添加一个等待时间,以避免频繁的重试对系统造成过大的负担。如果所有的重试都失败了,可以将该子接口的调用结果标记为失败,并将错误信息返回给调用方。告知调用方哪个环节出错,提醒使用者或者开发人员关注相关问题。
进一步地,在聚合接口的代码中,也可以添加一个全局的重试次数参数,用于指定所有子接口的总的最大重试次数。如果所有子接口的重试次数都已经用完,仍然没有成功,可以将整个聚合接口的调用结果标记为失败,并返回相应的错误信息。为了更好地管理和跟踪聚合接口的重试操作,还可以将重试次数和重试结果保存在一个日志中,方便后续的分析和处理。
通过以上方式,可以实现聚合接口中的重试机制,使得在网络延迟或目标服务宕机等异常情况下,聚合接口能够自动进行重试,并尽可能地保证业务请求的处理成功率。如果因为中间某一个环节出错,从而导致整个环节提示失败这是得不偿失的。而当引入重试机制之后,则会最大程度的降低因为偶现的网络或者宕机问题导致的流程中止,一定程度上提升了系统的健壮性。并在保证高可靠性的同时,实现对多个子接口的统一管理和协调。
进一步地,第二级子接口重新调用的信息可自动存储到远程日志系统,存储的信息包括故障处理时长、处理结果、异常原因、子接口状态。自动存储重新调用的信息有利于后续系统故障处理时快速定位故障原因。
在上述方法中,在第二级子接口调用失败时,还包括调用第二级备用子接口的步骤,该步骤在通过聚合接口向请求端反馈调用失败之前执行。
本实施例中,业务请求中可以指定处理对应子业务的第一级子接口的接口标识,还可以继续指定处理第一级子响应数据的第二级子接口的接口标识。或者也可以根据依赖关系自动确定对应的第二级子接口。当所选取的第二级子接口调用失败后,则继续从聚合接口所聚合的所有接口中选取适用于处理该第一级子响应数据的其他接口,该其他接口可以具有一个或多个,最终所选取的其他接口的即为第二级备用子接口。
可选地,在聚合接口中,当某个第二级子接口调用失败时,聚合接口会根据事先定义的相关规则,自动寻找可用的其他接口,并选取其中一个作为备用子接口,以处理当前的业务请求。
在选择备用子接口时,聚合接口会考虑多种因素,如备用子接口的可用性、响应速度、负载情况等,并根据相应的优先级规则进行排序和选择。比如可从其他接口中,根据对第一级子响应数据的处理次数最多的接口(除该调用失败的第二级子接口之外)作为备用子接口。
在进行备用子接口调用时,聚合接口会对备用子接口的返回结果进行检查和验证,以确保业务处理的准确性和可靠性。
如果备用子接口调用成功,则聚合接口会将该备用子接口的调用结果作为主接口的调用结果返回给调用方。如果所有的备用子接口都无法处理当前的业务请求,则聚合接口会将主接口的调用结果标记为失败,并在返回结果中包含相应的错误信息。通过进行备用子接口的调用,可以有效地实现在聚合接口中出现子接口调用失败时,自动寻找合适的备用子接口来处理业务请求的功能,有效提高了系统容错性。同时,该实施例也具有灵活性和可扩展性,可以根据实际应用场景进行调整和优化。
上述相关规则可通过在规则引擎中进行制定。规则引擎是一种基于规则表达式的系统,可以根据事先定义好的规则,自动匹配并执行相应的操作。
首先,定义一套规则库,包括所有可能出现的业务规则、接口调用规则和规则表达式。对于每个规则,需要定义一个对应的规则表达式,用于描述该规则的触发条件和操作结果。将所有规则表达式存储在规则引擎中,以便于后续的匹配和执行。
当需要处理某个业务场景时,可以将相应的数据输入到规则引擎中,让规则引擎自动匹配并执行相应的规则表达式,自动寻找可用的其他接口。
在不引入规则引擎的前提下,可能针对每个业务请求任务的不同工序之间的接口依赖衔接都需要手动的去编写函数和脚本来进行操作,其可移植性差。通过以上方式,利用规则引擎实现工业场景下错综复杂的处理逻辑,实现高效、灵活、可维护的业务逻辑处理,可以很好的增强了聚合接口处理引擎的适用性。
在一个实施例中,当需要调用的第二级子接口也存在其它业务请求需要进行调用时,可以比较两者之间的业务处理优先级,当其它业务的处理优先级更高时,可中断对应的第一级子响应数据的处理,并记录其处理进度等信息,将其放置到调度系统。当该接口处于可调用状态时,则重新拉起该任务。
举例来说,当前可执行相关业务请求的机床已经全部在运行中了,而MES系统下发了优先级高的某个紧急业务请求到聚合接口处理引擎。此时,聚合接口处理引擎会将正在运行中的优先级较低的任务给中断,记录其加工进度,设备、加工件编号以及其他核心信息,并将任务放置到调度系统,当紧急业务请求完成或者由其他机床空闲时,调度系统回重新拉起相应的子业务请求,恢复其运行状态。
在一个实施例中,如图4所示,提供了一种基于聚合接口的业务数据处理装置,该装置包括:
业务请求获取模块402,用于获取请求端的业务请求。
业务处理模块404,用于确定用于响应业务请求的聚合接口和用于响应业务请求中的子业务请求的第一级子接口;调用每个第一级子接口对相应的子业务请求进行响应,获取对应的第一级子响应数据;当存在与第一级子接口具有依赖关系的第二级子接口时,根据第一级子响应数据和依赖关系确定是否调用第二级子接口执行对应的子业务请求,若是,则获取对应的第二级子响应数据。
响应数据处理模块406,用于对至少一个响应数据进行拼装,得到业务请求的处理反馈数据,并通过聚合接口返回至请求端。
其中,依赖关系包括串行依赖、条件依赖中的一个或几个的组合,至少一个响应数据包括第一级子响应数据和/或第二级子响应数据。
在一个实施例中,业务处理模块404还用于当第一级子接口为聚合子接口时,从第一级子接口中确定用于执行子业务请求的至少一个嵌套接口;调用嵌套接口执行子业务请求,获取嵌套接口的响应数据;对嵌套接口的响应数据进行拼装,形成第一级子响应数据。
在一个实施例中,业务处理模块404还用于根据业务请求所属的业务类型确定用于响应业务请求的聚合接口;读取聚合接口所注册的注册中心的中心标识;根据中心标识获取对应注册中心中的所有接口的接口标识;根据业务请求中的参数信息从接口标识中确定用于响应业务请求中的子业务请求的第一级子接口。
在一个实施例中,如图5所示,提供了另一种基于聚合接口的业务数据处理装置,该装置还包括:
接口聚合模块408,用于接收将注册中心录入到聚合接口处理引擎的录入指令,录入指令中包含注册中心的中心标识;将中心标识与聚合接口的接口标识之间建立关联关系;获取与中心标识相关联的所有微服务端的微服务标识;将微服务标识对应的接口作为聚合接口的子接口。
在一个实施例中,业务处理模块404还用于当依赖关系为条件依赖时,检测第一级子响应数据是否满足第二级子接口的调用触发条件,若是,则调用第二级子接口执行子业务请求。
在一个实施例中,业务处理模块404还用于当第二级子接口调用失败时,发起对第二级子接口的重新调用;当重新调用的失败次数超过预设次数阈值时,通过聚合接口向请求端反馈调用失败的信息;对业务请求处理进行中止;当接收到对中止的业务请求继续执行的指令时,返回重新继续执行发起对第二级子接口的重新调用。
在一个实施例中,业务处理模块404还用于查询与子业务相匹配的第二级备用子接口;调用第二级备用子接口执行子业务。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述各方法实施例中的步骤。
在一个实施例中,还提供了一种电子设备,包括一个或多个处理器;存储器,存储器中存储有一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述各方法实施例中的步骤。
在一个实施例中,如图6所示,其示出了用于实现本申请的实施例的电子设备的结构示意图。电子设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有电子设备600操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,包括承载指令的在计算机可读介质,在这样的实施例中,该指令可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该指令被中央处理单元(CPU)601执行时,执行本申请中描述的各个方法步骤。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在上面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。公开于该背景技术部分的信息仅仅旨在加深对本申请的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
Claims (9)
1.一种基于聚合接口的业务数据处理方法,其特征在于,所述方法包括:
接收将注册中心录入到聚合接口处理引擎的录入指令,所述录入指令中包含注册中心的中心标识;
将所述中心标识与所述聚合接口的接口标识之间建立关联关系;
获取与所述中心标识相关联的所有微服务端的微服务标识;
将所述微服务标识对应的接口作为所述聚合接口的子接口;
获取请求端的业务请求;
确定用于响应所述业务请求的聚合接口和用于响应所述业务请求中的子业务请求的第一级子接口,包括:以轮询的方式不断监听与所述注册中心关联的微服务的状态,在聚合所有与所述注册中心关联的微服务及接口标识时,自动去除宕机或下线的微服务及所述微服务关联的接口标识;
调用每个所述第一级子接口对相应的所述子业务请求进行响应,获取对应的第一级子响应数据;
当存在与所述第一级子接口具有依赖关系的第二级子接口时,根据所述第一级子响应数据和所述依赖关系确定是否调用所述第二级子接口执行对应的所述子业务请求,若是,则获取对应的第二级子响应数据;所述依赖关系包括串行依赖、条件依赖中的一个或几个的组合;
对至少一个响应数据进行拼装,得到所述业务请求的处理反馈数据,并通过所述聚合接口返回至所述请求端,所述至少一个响应数据包括第一级子响应数据和/或所述第二级子响应数据。
2.根据权利要求1所述的方法,其特征在于,所述调用每个所述第一级子接口对相应的所述子业务请求进行响应,获取对应的第一级子响应数据,包括:
当所述第一级子接口为聚合子接口时,从所述第一级子接口中确定用于执行所述子业务请求的至少一个嵌套接口;
调用所述嵌套接口执行所述子业务请求,获取所述嵌套接口的响应数据;
对所述嵌套接口的响应数据进行拼装,形成所述第一级子响应数据。
3.根据权利要求1所述的方法,其特征在于,所述确定用于响应所述业务请求的聚合接口和用于响应所述业务请求中的子业务请求的第一级子接口,包括:
根据所述业务请求所属的业务类型确定用于响应所述业务请求的聚合接口;
读取所述聚合接口所注册的注册中心的中心标识;
根据所述中心标识获取对应注册中心中的所有接口的接口标识;
根据所述业务请求中的参数信息从所述所有接口的接口标识中确定用于响应所述业务请求中的子业务请求的第一级子接口。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一级子响应数据和所述依赖关系确定是否调用所述第二级子接口执行对应的所述子业务请求,包括:
当所述依赖关系为条件依赖时,检测所述第一级子响应数据是否满足所述第二级子接口的调用触发条件,若是,则调用所述第二级子接口执行所述子业务请求。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第二级子接口调用失败时,发起对所述第二级子接口的重新调用;
当重新调用的失败次数超过预设次数阈值时,通过所述聚合接口向所述请求端反馈调用失败的信息;
对所述业务请求处理进行中止;
当接收到对中止的业务请求继续执行的指令时,返回重新继续执行发起对所述第二级子接口的重新调用。
6.根据权利要求5所述的方法,其特征在于,在所述通过所述聚合接口向所述请求端反馈调用失败的信息之前,还包括:
查询与所述子业务相匹配的第二级备用子接口;
调用所述第二级备用子接口执行所述子业务。
7.一种基于聚合接口的业务数据处理装置,其特征在于,所述装置包括:
接口聚合模块,用于接收将注册中心录入到聚合接口处理引擎的录入指令,所述录入指令中包含注册中心的中心标识;将所述中心标识与所述聚合接口的接口标识之间建立关联关系;获取与所述中心标识相关联的所有微服务端的微服务标识;将所述微服务标识对应的接口作为所述聚合接口的子接口;
业务请求获取模块,用于获取请求端的业务请求;
业务处理模块,用于确定用于响应所述业务请求的聚合接口和用于响应所述业务请求中的子业务请求的第一级子接口,包括:以轮询的方式不断监听与所述注册中心关联的微服务的状态,在聚合所有与所述注册中心关联的微服务及接口标识时,自动去除宕机或下线的微服务及所述微服务关联的接口标识;调用每个所述第一级子接口对相应的所述子业务请求进行响应,获取对应的第一级子响应数据;当存在与所述第一级子接口具有依赖关系的第二级子接口时,根据所述第一级子响应数据和所述依赖关系确定是否调用所述第二级子接口执行对应的所述子业务请求,若是,则获取对应的第二级子响应数据;
响应数据处理模块,用于对至少一个响应数据进行拼装,得到所述业务请求的处理反馈数据,并通过所述聚合接口返回至所述请求端;
所述依赖关系包括串行依赖、条件依赖中的一个或几个的组合,所述至少一个响应数据包括第一级子响应数据和/或所述第二级子响应数据。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至6中任一项所述的方法。
9.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有可执行指令,所述可执行指令被处理器执行时使所述处理器执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310382746.2A CN116109112B (zh) | 2023-04-12 | 2023-04-12 | 基于聚合接口的业务数据处理方法、装置、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310382746.2A CN116109112B (zh) | 2023-04-12 | 2023-04-12 | 基于聚合接口的业务数据处理方法、装置、介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116109112A CN116109112A (zh) | 2023-05-12 |
CN116109112B true CN116109112B (zh) | 2023-06-27 |
Family
ID=86265874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310382746.2A Active CN116109112B (zh) | 2023-04-12 | 2023-04-12 | 基于聚合接口的业务数据处理方法、装置、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116109112B (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314459B (zh) * | 2020-02-13 | 2022-06-03 | 北京奇艺世纪科技有限公司 | 一种业务请求方法、装置、电子设备及存储介质 |
CN112181541A (zh) * | 2020-09-29 | 2021-01-05 | 京东数字科技控股股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN112650677A (zh) * | 2020-12-24 | 2021-04-13 | 平安普惠企业管理有限公司 | 接口调用方法、装置、服务器及存储介质 |
CN112508573B (zh) * | 2021-01-29 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置以及计算机设备 |
CN113364853B (zh) * | 2021-06-02 | 2022-10-25 | 北京奇艺世纪科技有限公司 | 一种业务服务系统、业务请求方法及网关设备 |
CN113973129B (zh) * | 2021-09-30 | 2024-02-20 | 广西中科曙光云计算有限公司 | 一种支持多种注册中心微服务的网关 |
CN114117190A (zh) * | 2021-11-24 | 2022-03-01 | 京东方科技集团股份有限公司 | 数据处理方法、装置、存储介质及电子设备 |
CN114356991A (zh) * | 2021-12-31 | 2022-04-15 | 上海众源网络有限公司 | 数据查询方法、数据聚合方法、装置、设备及介质 |
CN115080272A (zh) * | 2022-06-28 | 2022-09-20 | 上海众源网络有限公司 | 一种业务数据处理方法、电子设备及存储介质 |
CN116028142A (zh) * | 2022-12-08 | 2023-04-28 | 广州锋网信息科技有限公司 | 聚合接口数据获取方法、装置、存储介质及计算机设备 |
-
2023
- 2023-04-12 CN CN202310382746.2A patent/CN116109112B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN116109112A (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949194B2 (en) | Updating dependent services | |
US20190303779A1 (en) | Digital worker management system | |
US8938421B2 (en) | Method and a system for synchronizing data | |
US6918059B1 (en) | Method and system for handling errors in a distributed computer system | |
US20210342313A1 (en) | Autobuild log anomaly detection methods and systems | |
US20190065241A1 (en) | Orchestration service for multi-step recipe composition with flexible, topology-aware, and massive parallel execution | |
CN107729139B (zh) | 一种并发获取资源的方法和装置 | |
US11714629B2 (en) | Software dependency management | |
US20190163841A1 (en) | Co-located deployment of a data fabric service system | |
US8538793B2 (en) | System and method for managing real-time batch workflows | |
CN108491254A (zh) | 一种数据仓库的调度方法及装置 | |
CN111400011B (zh) | 一种实时任务调度方法、系统、设备及可读存储介质 | |
US20210065083A1 (en) | Method for changing device business and business change system | |
US20200293310A1 (en) | Software development tool integration and monitoring | |
CN113157411B (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
CN111913824A (zh) | 确定数据链路故障原因的方法及相关设备 | |
CN116109112B (zh) | 基于聚合接口的业务数据处理方法、装置、介质和设备 | |
CN110874319A (zh) | 自动化测试方法、平台、设备及计算机可读存储介质 | |
EP1214655A1 (en) | A method and system for handling errors in a distributed computer system | |
CN113626379A (zh) | 研发数据管理方法、装置、设备及介质 | |
KR102668324B1 (ko) | 인터페이스 관리 방법, 인터페이스 거버넌스 시스템, 및 인터페이스를 관리하는, 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체 | |
KR102668329B1 (ko) | 인터페이스 관리 방법, 인터페이스 거버넌스 시스템, 및 인터페이스를 관리하는, 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체 | |
KR102668343B1 (ko) | 인터페이스 관리 방법, 인터페이스 거버넌스 시스템, 및 인터페이스를 관리하는, 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체 | |
US9552203B1 (en) | Configuration dependency manager for configurable applications | |
CN117421255B (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 |