CN112929358B - 用于微服务编排的方法和装置、电子设备、及介质 - Google Patents

用于微服务编排的方法和装置、电子设备、及介质 Download PDF

Info

Publication number
CN112929358B
CN112929358B CN202110138922.9A CN202110138922A CN112929358B CN 112929358 B CN112929358 B CN 112929358B CN 202110138922 A CN202110138922 A CN 202110138922A CN 112929358 B CN112929358 B CN 112929358B
Authority
CN
China
Prior art keywords
interface
information
message
forwarded
field
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
CN202110138922.9A
Other languages
English (en)
Other versions
CN112929358A (zh
Inventor
施生燊
王立林
章磊
徐克宝
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110138922.9A priority Critical patent/CN112929358B/zh
Publication of CN112929358A publication Critical patent/CN112929358A/zh
Application granted granted Critical
Publication of CN112929358B publication Critical patent/CN112929358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开提供了一种用于微服务编排的方法和装置,可用于金融领域或其他领域。该方法包括:获取网关接收到的N个转发请求中的待转发报文,得到N个待转发报文;逆向解析每个待转发报文,得到每个待转发报文所调用的接口的接口请求参数详细信息;其中,对应N个待转发报文得到N个接口请求参数详细信息;将N个接口请求参数详细信息中属于同一个接口的接口请求参数详细信息合并为该接口的接口详情定义信息,以得到与M个接口一一对应的M个接口详情定义信息;将M个所述接口详情定义信息传输到微服务编排平台中,以使微服务编排平台基于M个接口详情定义信息对M个接口进行微服务编排。本公开还提供了一种电子设备、以及一种计算机可读存储介质。

Description

用于微服务编排的方法和装置、电子设备、及介质
技术领域
本公开涉及分布式技术领域,更具体地,涉及一种用于微服务编排的方法和装置、电子设备、及介质。
背景技术
随着云计算、分布式技术的不断发展,IT(Internet technology,互联网技术)系统架构已经由传统的集中式架构向分布式微服务架构转变。微服务当前在IT系统中已经非常普遍。随之微服务编排技术也悄然兴起。微服务编排是基于已经编排好的微服务接口,通常在可视化模式下,以零编码方式,对若干个接口进行聚合编排处理以形成新接口,处理过程通常包括请求报文和响应报文中的字段映射、格式转换、报文结构调整等。
微服务接口可以用于微服务编排,然而要求在编排时必须要能获取到各个微服务接口的接口详情定义信息,比如接口定义中具有哪些字段、各个字段之间的关系和层次结构等,否则将无法进行可视化地编排处理。然而,目前在很多实际IT系统应用中,由于使用泛化参数(例如简单定义成Map<String,Object>)进行微服务开发,在接口提供和接口调用上都存在较高的便利性,因此对微服务的接口的开发部署、注册和调用的时候,通常都使用泛化参数进行,而接口内部信息封装在Map函数的数据结构中,导致难以获取到接口的接口详情定义信息。如果不看接口详情定义信息,自然也就无法便捷的进行接口的微服务编排。
发明内容
有鉴于此,本公开实施例提供了一种可以自动化地获取到接口详情定义信息的用于微服务编排的方法和装置、电子设备、及介质。
本公开实施例的一个方面提供了一种用于微服务编排的方法。所述方法包括:获取网关接收到的N个转发请求中的待转发报文,得到N个待转发报文,其中,每个所述待转发报文为一个接口调用的请求报文,或者为一个接口调用的响应报文,其中,N为大于或等于1的整数;逆向解析每个所述待转发报文,得到每个所述待转发报文所调用的接口的接口请求参数详细信息,其中,对应N个所述待转发报文得到N个接口请求参数详细信息;将N个所述接口请求参数详细信息中属于同一个接口的所述接口请求参数详细信息合并为该接口的接口详情定义信息,以得到与M个接口一一对应的M个接口详情定义信息,其中,M为整数,1≤M≤N;以及将M个所述接口详情定义信息传输到微服务编排平台中,以使所述微服务编排平台基于M个所述接口详情定义信息对所述M个接口进行微服务编排。
根据本公开的实施例,所述接口详情定义信息包括接口中的各个字段、各个字段之间的关系和/或层次结构、以及每个字段的属性信息。
根据本公开的实施例,所述将N个所述接口请求参数详细信息中属于同一个接口的所述接口请求参数详细信息合并为该接口的接口详情定义信息包括,将属于同一个接口的所述接口请求参数详细信息存储到一个接口详情定义表中,其中,一个所述接口详情定义表用于表征一个接口的所述接口详情定义信息。其中,将N个所述接口请求参数详细信息中属于同一个接口的具有相同字段名的字段合并为一个记录,以及将N个所述接口请求参数详细信息中属于同一个接口的具有不同字段名的字段分别记录。
根据本公开的实施例,每个字段的属性信息包括字段的字段类型和字段长度。所述将N个所述接口请求参数详细信息中属于同一个接口的具有相同字段名的字段合并为一个记录包括:将属于同一个接口的具有相同字段名的字段中的字段类型和字段长度各自取值范围最大者,分别作为该字段的字段类型和字段长度的取值。
根据本公开的实施例,所述逆向解析每个所述待转发报文,得到每个所述待转发报文所调用的接口的接口请求参数详细信息包括:当解析到的第一字段为预先定义的第一标准字段,且所述第一字段的取值与所述标准字段的属性信息吻合时,以该第一标准字段的属性信息作为所述接口请求参数详细信息中所述第一字段的属性信息。
根据本公开的实施例,所述方法还包括:预先设置存储标准字段的属性信息的元数据库,其中,所述标准字段包括所述第一标准字段。
根据本公开的实施例,所述逆向解析每个所述待转发报文,得到每个所述待转发报文所调用的接口的接口请求参数详细信息包括:当所述待转发报文为一个接口调用的请求报文时,所述接口请求参数详细信息包括所调用的接口的请求字段信息;以及当所述待转发报文为一个接口调用的响应报文时,所述接口请求参数详细信息包括所调用的接口的响应字段信息。
根据本公开的实施例,所述将N个所述接口请求参数详细信息中属于同一个接口的所述接口请求参数详细信息合并为该接口的接口详情定义信息包括:将属于第二接口的所述请求字段信息作为所述第二接口的请求报文的定义;将属于所述第二接口的所述响应字段信息作为所述第二接口的响应报文的定义;以及基于所述第二接口的所述请求报文的定义和所述响应报文的定义,得到所述第二接口的所述接口详情定义信息。
根据本公开的实施例,所述获取网关接收到的N个转发请求中的待转发报文,包括实时拦截所述网关接收到的每个所述转发请求中的待转发报文。所述逆向解析每个所述待转发报文,包括以异步方式逆向解析每个所述待转发报文。
根据本公开的实施例,所述逆向解析每个所述待转发报文包括:利用逆向解析主流程遍历所述待转发报文所调用的接口中的所有节点;利用节点解析子流程来生成遍历到的每个节点在所述待转发报文所调用的接口中的层级信息和属性信息;以及利用类型确定子流程来记录遍历到的每个节点中的字段的属性信息。其中,所述逆向解析主流程调用所述节点解析子流程,以及所述节点解析子流程调用所述类型确定子流程。
本公开实施例的另一方面,提供了一种用于微服务编排的装置。所述装置包括获取模块、解析模块、接口详情获得模块、以及传输模块。获取模块用于获取网关接收到的N个转发请求中的待转发报文,得到N个待转发报文;其中,每个所述待转发报文为一个接口调用的请求报文,或者为一个接口调用的响应报文;其中,N为大于或等于1的整数。解析模块用于逆向解析每个所述待转发报文,得到每个所述待转发报文所调用的接口的接口请求参数详细信息;其中,对应N个所述待转发报文分别得到N个接口请求参数详细信息。接口详情获得模块用于将N个所述接口请求参数详细信息中属于同一个接口的所述接口请求参数详细信息合并为该接口的接口详情定义信息,以得到与M个接口一一对应的M个所述接口详情定义信息;其中,M为整数,1≤M≤N。传输模块用于将M个所述接口详情定义信息传输到微服务编排平台中,以使所述微服务编排平台基于M个所述接口详情定义信息对所述M个接口进行微服务编排。
本公开实施例的另一方面,提供了一种电子设备。所述电子设备包括一个或多个存储器、以及一个或多个处理器。所述存储器存储有可执行指令。所述处理器执行所述可执行指令以实现如上所述的方法。
本公开实施例的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开实施例的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
上述一个或多个实施例具有如下优点或益效果:可以至少部分地解决在进行接口编排时难以基于字段级映射进行接口关联和编排的问题,并通过获取网关转发的实例报文(即,每一个待转发报文),从每个实例报文中获取接口请求参数详细信息。然后将大量对同一个接口进行调用的实例报文中的接口请求参数详细信息进行汇总合并,可以得到每个接口的接口详情定义信息。以此方式,可以自动化快捷地获取到经由网关转发的各个接口的接口详情定义信息,为基于字段级映射的接口微服务编排提供条件,提高接口编排的灵活性和便利性。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的用于微服务编排的系统架构;
图2示意性示出了不可进行接口微服务编排和可进行接口微服务编排的场景的对比;
图3示意性示出了根据本公开实施例的用于微服务编排的装置的框图;
图4示意性示出了根据本公开一实施例的用于微服务编排的方法流程图;
图5示意性示出了根据本公开一实施例的将属于同一个接口的接口请求参数详细信息进行合并的流程图;
图6示意性示出了根据本公开一实施例的逆向解析待转发报文的流程图;
图7示意性示出了根据本公开另一实施例的逆向解析待转发报文的流程图;
图8示意性示出了根据本公开一实施例的用于微服务编排的装置的应用场景;
图9示意性示出了根据本公开另一实施例的用于微服务编排的方法流程图;以及
图10示意性示出了适于实现根据本公开实施例的用于微服务编排的方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种可以自动化地获取到接口详情定义信息的用于微服务编排的方法和装置、电子设备、及介质。该方法包括首先获取网关接收到的N个转发请求中的待转发报文,得到N个待转发报文;其中,每个所述待转发报文为一个接口调用的请求报文,或者为一个接口调用的响应报文;其中,N为大于或等于1的整数。然后逆向解析每个所述待转发报文,得到每个所述待转发报文所调用的接口的接口请求参数详细信息;其中,对应N个所述待转发报文得到N个接口请求参数详细信息。接着将N个所述接口请求参数详细信息中属于同一个接口的所述接口请求参数详细信息合并为该接口的接口详情定义信息,以得到与M个接口一一对应的M个所述接口详情定义信息;其中,M为整数,1≤M≤N。最后可以将M个所述接口详情定义信息传输到微服务编排平台中,以使所述微服务编排平台基于M个所述接口详情定义信息对所述M个接口进行微服务编排。
根据本公开实施例,通过获取网关转发的实例报文(即,每一个待转发报文),从每个实例报文中获取接口请求参数详细信息。然后将大量对同一个接口进行调用的实例报文中的接口请求参数详细信息进行汇总合并,可以得到每个接口的接口详情定义信息。以此方式,可以自动化快捷地获取到经由网关转发的各个接口的接口详情定义信息,为基于字段级映射的接口微服务编排提供条件。
需要说明的是,本公开各个实施例确定的用于微服务编排的方法和装置可用于金融领域,也可用于除金融领域之外的任意领域,本公开对应用领域不做限定。
图1示意性示出了根据本公开实施例的用于微服务编排的系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该系统架构100可以包括网关110、多个接口调用方121~123、多个微服务提供方131~133、微服务注册中心140、以及微服务编排平台150。
微服务提供方131~133在开发完成一个接口后,需要在微服务注册中心140中注册(图中为简化起见,未示出注册过程)。注册时的接口信息通常为“Service:Map getData(Map para)”。其中,Service中定义接口名,第一个Map中定义响应参数类型,getData中定义方法名,(Map para)定义请求参数类型。可见,在微服务注册中心140中注册接口时,仅提供接口名、接口入参和接口出参。由此可见,对于微服务注册中心140一个接口的内部结构是未知的。
接口调用方(121~123中的任意一个)可以通过网关110调用微服务提供方(131~133中的任意一个)中的接口。通常在接口调用的时候,以“http://[路由地址]:[port]/[上下文根]/json/[接口]/[版本]/[方法名]”形式进行,其中,接口的请求参数或响应参数为泛化参数,即简单定义成Map<String,Object>,即键值对形式的泛化参数。
网关110在接收到接口的请求报文时,根据所调用的接口名到微服务注册中心140根据接口的注册信息查询转发地址,然后将请求报文转发到对应的微服务提供方(131~133其中之一)。然后网关110在接收到接口的响应报文时,在将响应报文转发给相应的接口调用方(121~123其中之一)。
微服务编排平台150可以从微服务注册中心140同步各个接口的信息。如前所述,由于微服务注册中心140中的接口是以泛化参数的方式定义的,因此微服务编排平台150同步的接口信息中,接口的内部参数、层次接口等也是未知的。这就会导致在一些情况下的接口编排难以进行。对此,以图2中的对比示例进行说明。
图2示意性示出了不可进行接口微服务编排和可进行接口微服务编排的场景的对比。
图2示意了对A、B两个服务接口进行微服务编排的示例,其中,A接口是账户余额查询接口,B是二维码账户关联接口。A、B两个接口的接口详情定义信息见下方表1~表4。根据本公开的一个实施例,所述接口详情定义信息包括接口中的各个字段、各个字段之间的关系和/或层次结构、以及每个字段的属性信息。每个字段的属性信息可以包括字段的字段类型和字段长度。
表1.A接口请求字段
字段名 字段备注 字段类型 字段长度
name 姓名 字符 20
accountID 账号 字符 30
表2.A接口响应字段
Figure BDA0002923578040000081
表3.B接口请求字段
字段名 字段名称 字段类型 字段长度
qrCode 二维码信息 字符 50
表4.B接口响应字段
字段名 字段备注 字段类型 字段长度
accountID 账号 数字 20
name 姓名 字符 20
errFlag 处理标志 字符 1
errMsg 处理信息 字符 200
假设现在有个新需求,就是使用基于A、B两个接口,通过串联A、B接口,编排出一个新接口C,用来实现使用二维码查询账户余额。
在图2(a)所示的场景中,A、B接口的请求参数和响应参数使用的都是Map<String,Object>键值对形式的泛化参数。如果微服务编排平台150仅从微服务中心140同步接口信息,那么在进行新增接口可视化编排时,将无法获取如表1~表4中所示的A、B接口中的各个参数(或各个字段)的接口详情定义信息。这是因为,以Map<String,Object>形式的泛化参数定义的接口,仅给出了每个接口的入参和出参,而接口内部的参数以及处理逻辑都以Map映射函数定义的数据结构封装起来,导致Map内部的键值对信息展现不出来难以获取,也就无法通过对A、B接口的编排得到C接口。
与图2(a)不同的是,在图2(b)所示的场景中,A、B接口的信息使用的是各自的接口详情定义信息,其中,分别列示除了A、B接口各自的请求参数和响应参数。微服务编排平台150可以通过将B接口中的响应参数和A接口的请求参数中的accountID和name字段分别关联映射,就可以实现根据B接口输入的“二维码”,通过A接口输出账户余额,以此方式在零编码的情况下就得到了C接口。
对比图2中(a)和(b)的示例可以看出,在获取到多个接口的接口详情定义信息的情况下,可以对多个接口进行字段级别的更细粒度、更为灵活、多样地编排,得到新的接口。例如,基于多个接口的接口详情定义信息可以更容易发现多个接口之间参数基本的关联关系,进而可以更灵活多样的进行多个接口的编排,可以节省了每次都重新开发编写新接口的负担,提高接口开发效率。
基于以上分析示例,本公开的各个实施例提供了一种可以自动化地获取到接口详情定义信息的用于微服务编排的方法和装置、电子设备、及介质,旨在解决针对使用泛化参数进行接口定义时,如何便捷地获取接口详情定义信息的问题。
需要说明的是,本公开实施例所提供的用于微服务编排的方法一般可以由网关110执行。相应地,本公开实施例所提供的用于微服务编排的装置一般可以设置于网关110中。或者,本公开实施例所提供的用于微服务编排的方法也可以由不同于网关110、但与网关110通信的设备执行。相应地,本公开实施例所提供的用于微服务编排的装置也可以设置于不同于网关110但与网关110通信的设备中。
根据本公开的实施例,无需开发人员介入,就能自动快捷的获取存量接口详情定义信息的方法,并能墓于接口详情定义信息对多个接口进行字段级别映射和编排。通过这种方法,在满足微服务编排需要的同时,将开发人员和维护人员从繁重的接口定义维护劳动中解放出来,去做其它更有意义和价值的事情。
图3示意性示出了根据本公开实施例的用于微服务编排的装置300的框图。
如图3所示,根据该实施例的用于微服务编排的装置300可以包括获取模块310、解析模块320、接口详情获得模块330、以及传输模块340。
获取模块310用于获取网关接收到的N个转发请求中的待转发报文,得到N个待转发报文;其中,每个所述待转发报文为一个接口调用的请求报文,或者为一个接口调用的响应报文;其中,N为大于或等于1的整数。
解析模块320用于逆向解析每个所述待转发报文,得到每个所述待转发报文所调用的接口的接口请求参数详细信息;其中,对应N个所述待转发报文分别得到N个接口请求参数详细信息。
接口详情获得模块330用于将N个所述接口请求参数详细信息中属于同一个接口的所述接口请求参数详细信息合并为该接口的接口详情定义信息,以得到与M个接口一一对应的M个所述接口详情定义信息;其中,M为整数,1≤M≤N。
传输模块340用于将M个所述接口详情定义信息传输到微服务编排平台中,以使所述微服务编排平台基于M个所述接口详情定义信息对所述M个接口进行微服务编排。
该装置300可以用于实现本公开各个实施例的用于微服务编排的方法。
图4示意性示出了根据本公开一实施例的用于微服务编排的方法流程图。
如图4所示,根据该实施例的用于微服务编排的方法可以包括操作S410~操作S440。
首先在操作S410,获取模块310获取网关110接收到的N个转发请求中的待转发报文,得到N个待转发报文;其中,每个所述待转发报文为一个接口调用的请求报文,或者为一个接口调用的响应报文;其中,N为大于或等于1的整数。
然后在操作S420,解析模块320逆向解析每个所述待转发报文,得到每个所述待转发报文所调用的接口的接口请求参数详细信息;其中,对应N个所述待转发报文得到N个接口请求参数详细信息。
在一个实施例中,操作S410中可以实时拦截所述网关接收到的每个所述转发请求中的待转发报文。然后在操作S420中以异步方式逆向解析每个所述待转发报文。在操作S410的同时,网关110可以同步的进行报文的转发。以此方式,在执行本公开实施的方法的同时,可以不影响报文的转发效率。
接下来在操作S430,接口详情获得模块330将N个所述接口请求参数详细信息中属于同一个接口的所述接口请求参数详细信息合并为该接口的接口详情定义信息,以得到与M个接口一一对应的M个所述接口详情定义信息;其中,M为整数,1≤M≤N。
根据本公开的实施例,在操作S420中所述逆向解析每个所述待转发报文时,当所述待转发报文为一个接口调用的请求报文时,所述接口请求参数详细信息包括所调用的接口的请求字段信息(例如,表1或表3中的示例)。当所述待转发报文为一个接口调用的响应报文时,所述接口请求参数详细信息包括所调用的接口的响应字段信息(例如,表2或表4中的示例。
进而在操作S430将属于同一个接口的所述接口请求参数详细信息合并时(以M个接口中的一个接口为第二接口示例),可以将属于第二接口的所述请求字段信息作为所述第二接口的请求报文的定义,并将属于所述第二接口的所述响应字段信息作为所述第二接口的响应报文的定义,然后基于所述第二接口的所述请求报文的定义和所述响应报文的定义,得到所述第二接口的所述接口详情定义信息。例如,可以将表1和表2中A接口的请求字段和响应字段合并在一起,得到A接口的接口详情定义信息。
本公开实施例中通过操作S430中属于同一个接口的所述接口请求参数详细信息合并,来得到接口的接口详情定义信息。这样,当操作S410中获取到的属于同一个接口的实例报文数量大于1时,可以通过大量的实例报文中的请求参数的对比和补充,完善一个接口的接口详情定义信息。在一定程度上避免单个接口调用实例中请求参数不全的问题。
最后在操作S440,传输模块340将M个所述接口详情定义信息传输到微服务编排平台150中,以使所述微服务编排平台基于M个所述接口详情定义信息对所述M个接口进行微服务编排。
需要说明的是,图4中所示的操作S410~操作S440的顺序仅是示例性而非限定性的。例如在一些实施例中,操作S410~操作S440中的各个操作可以并行地执行。例如一边获取待转发报文,一边进行逆向解析。并在每解析到一个接口请求参数详细信息时,如果之前已经有该接口的接口详情定义信息,则根据当前解析到的接口请求参数详细信息与该接口的接口详情定义信息比较。如果比较后当前解析到的接口请求参数详细信息中存在与之前确定的接口的接口详情定义信息不吻合的信息,则根据该不吻合的信息对应更新接口的接口详情定义信息。以此方式,可以通过对一个接口进行调用的大量请求报文实例或大量响应报文实例,不断完善该接口的接口详情定义信息。
根据本公开一实施例,操作S430中将属于同一个接口的接口请求参数详细信息进行合并为该接口的接口详情定义信息时,可以将属于同一个接口的所述接口请求参数详细信息存储到一个接口详情定义表中,以接口详情定义表来表征该接口的接口详情定义信息。其中,合并得到接口详情定义表的过程可以参考图5的示意。
图5示意性示出了根据本公开一实施例的操作S430中将属于同一个接口的接口请求参数详细信息进行合并的流程图。
如图5所示,根据该实施例的方法中操作S430可以包括操作S431~操作S432。
在操作S431,将N个所述接口请求参数详细信息中属于同一个接口的具有相同字段名的字段合并为接口详情定义表中的一个记录。
在一个实施例中,将同一个字段合并为一个记录时,将属于同一个接口的具有相同字段名的字段中的字段类型和字段长度各自取值范围最大者,分别作为该字段的字段类型和字段长度的取值。
在操作S432,将N个所述接口请求参数详细信息中属于同一个接口的具有不同字段名的字段在接口详情定义表分别记录。
根据本公开的实施例,操作S420中逆向解析待转发报文时,可以将从一个待转发报文中解析得到的接口请求参数详细信息存储到接口定义表中。在一个实施例中,一个字段的属性信息(例如,可以包括字段类型和字段长度)更新的过程可以根据操作S410中不断拦截到的调用同一接口的实例报文中该字段的属性信息,逐渐完善趋近。在另一个实施例中,为了让字段的属性信息的采集的更加准确快速,解析模块320中可以预先设置用来存放各业务领域通用的标准字段的属性信息的元数据库。如果操作S410中拦截到的待转发报文中的字段名和元数据库中的标准字段的字段名一致,且该待转发报文中该字段的取值和元数据中该标准字段的属性信息吻合,则可以直接使用元数据库中定义的该标准字段的属性信息进行更新。
图6示意性示出了根据本公开一实施例的操作S420中逆向解析待转发报文的流程图。
如图6所示,根据该实施例的方法中操作S420可以包括操作S421~操作S426。
在操作S421,预先设置存储标准字段的属性信息的元数据库。
在操作S422,逆向解析一个待转发报文,读取该报文所请求的接口参数。
在操作S423,判断解析到的第一字段是否是元数据库中的第一标准字段。若否,则在操作S426中,通过完善趋近的方式得到第一字段的属性信息。若是,则在操作S424中进行进一步判断。
在操作S424中,当第一字段的字段名与元数据库中的第一标准字段的字段名相同时,进一步判断该第一字段的取值与第一标准字段的属性信息是否吻合。若否,同样在操作S426中通过完善趋近的方式得到第一字段的属性信息。若是在操作S425中参照第一标准字段来处理该第一字段。
在操作S425,以该第一标准字段的属性信息作为所述接口请求参数详细信息中所述第一字段的属性信息。
以A接口的响应报文逆向解析为例说明。
A接口的一个响应报文(例如,为Json格式):
{
″balanceAmount″:″12345.67″,
″errFlag″:″0″,
″errMsg″:″balance inquiry is ok!″
}
经过逆向解析后,在A接口的接口详情定义表中的存储形式如下表5所示:
表5
Figure BDA0002923578040000141
Figure BDA0002923578040000151
虽然balanceAmount在上述A接口的响应报文中的值为12345.67,本来为长度为8。但因为元数据库中有balanceAmount这个标准字段,其中字符长度为17。而且上述响应报文中中的值的长度与标准字段balanceAmount的字符长度吻合,因此A接口的接口详情定义信息中响应字段balanceAmount的字段长度确定为17,errMsg也是同理。
需要说明的是,上述各个接口的报文被示例为JSON格式仅是示例性的。在实际应用中,报文也可以是XML格式或者其他格式。针对不同格式可以采用对应的逆向解析方式,来获取报文体中具体的参数信息。
在操作S426,将该第一字段的当前取值对应的属性信息和此前确定出的同一接口中该第一字段的属性信息的范围进行比较,取范围最大者作为该第一字段的属性信息。例如,将属于同一个接口的具有相同字段名的字段中的字段类型和字段长度各自取值范围最大者,分别作为该字段的字段类型和字段长度的取值。
图7示意性示出了根据本公开另一实施例的操作S420逆向解析待转发报文的流程图,其中,在图7中该待转发报文的报文体被示例为Json格式。
如图7所示,根据该实施例的方法中操作S420的流程操作可以包括逆向解析主流程710、节点解析子流程720、以及类型确定子流程730。其中,所述逆向解析主流程710调用所述节点解析子流程720,所述节点解析子流程720调用所述类型确定子流程730。
具体地,操作S420中逆向解析待转发报文时,利用逆向解析主流程710遍历所述待转发报文所调用的接口中的所有节点(一个节点对应于接口中的一个字段)。在遍历到一个节点是利用节点解析子流程720来生成遍历到的每个节点在所述待转发报文所调用的接口中的层级信息和属性信息。在生成节点的层级类型的过程中,利用类型确定子流程730来确定遍历到的每个节点中的字段的属性信息。
继续参考图7,逆向解析主流程710可以包括操作S711~操作S716。
在操作S711,当根据拦截到的转发请求中请求头(header)中的信息,确定待转发报文的格式为Json格式时,将报文映射为Json对象。
在操作S712中,确定该Json对象中是否含有子节点。若是则执行操作S713,若否则结束。
在操作S713,获取当前层级所有子节点。
在操作S714,对当前层级所有子节点进行遍历。
在操作S715,每遍历到一个子节点时,调用节点解析子流程720,得到该子节点的层级类型信息。
然后在操作S716,判断遍历是否结束。若否,则返回操作S714。若是,则结束。
节点解析子流程720可以包括操作S721~操作S726。
在操作S721,获取节点名。
在操作S722,获取节点值。
在操作S723,判断该节点值是否含有子节点。若是,则执行操作S724。若否,则执行操作S725。
在操作S724,在节点值含有子节点时,获取所有子节点进行递归遍历,并返回操作S721。
在操作S725,在节点值不含有子节点时,调用类型确定子流程730节点该节点的字段类型和字段长度等属性信息。
在操作S726,生成并更新当前节点的层级信息和属性信息。
类型确定子流程730可以包括操作S731~操作S737。
在操作S731,使用日期函数判断节点值是否为日期。若是,则执行操作S732。若否,则执行操作S733。
在操作S732,当节点值为日期时,记录日期类型及格式,并结束流程。
在操作S733,当节点值不为日期时,使用数值函数判断是否为数值。若是,则执行操作S734。若否,则执行操作S735。
在操作S734,当节点值为数值时,记录数值长度及精度。
在操作S735,当节点不为数值时,使用字符函数判断节点是否为字符。若是,则执行操作S736。若否,则执行操作S737。
在操作S736,当节点为字符时,记录字符长度。
在操作S737,当节点也不为字符是,确定节点可能为控制,或者嵌套有子节点,暂记为空。
以A接口的一个请求报文的逆向解析进行示例说明如下:
A接口的一个调用请求报文(例如,JSON格式)示例为:
{
″name″:″张三″,
″accountID″:″622xxxxx0206xxxxxx″
}
经过如图7所示的流程逆向解析后,在A接口的接口详情定义表中的存储形式如下表6所示。
表6
Figure BDA0002923578040000171
再举个含有子节点报文的例子。例如,XX接口的请求报文例如示例为如下:
Figure BDA0002923578040000172
经过逆向解析后,在该XX接口的接口详情定义表中的存储形式如下表7所示。
表7
Figure BDA0002923578040000173
Figure BDA0002923578040000181
图8示意性示出了根据本公开一实施例的用于微服务编排的装置800的应用场景。
结合图1和图8,该应用场景示例了接口调用方121通过网关110的转发向微服务提供方131调用接口。然后,微服务提供方131对调用请求进行响应,并通过网关110将响应报文转发回接口调用方121。
在上述接口调用和响应之前,微服务提供方131会将其提供的接口服务在微服务注册中心注册,注册内容例如为Service:Map getData(Map para)。
根据本公开实施例的用于微服务编排的装置800可以设置于网关110。该用于微服务编排的装置800可以包括报文拦截模块810、报文解析模块820、接口存储模块830、以及报文转发模块840。
报文转发模块840可以利用网关110原有的转发程序模块实现。
报文拦截模块810可以实时拦截每个微服务接口的请求报文和响应报文,并交给报文解析模块820异步解析。并将解析后得到的接口详情定义信息存储到接口存储模块830。然后接口存储模块830可以将该接口详情定义信息按照异步的方式同步给微服务编排平台150。
另外,报文转发模块840可以在网关接收到微服务接口的请求报文时,从微服务注册中心140查询到要转发的地址,然后实时同步转发报文。从而,该用于微服务编排的装置800可以在不影响网关的报文转发的基础上,进行报文拦截和解析,得到接口的接口详情定义信息。或者,报文转发模块840也可以在报文解析完成并存储接口详情定义信息后,转发报文。
微服务编排平台150可以以准实时方式从网关110出接收接口详情定义信息,按约定格式进行接口定义解析,为每个接口生成接口详情定义信息。微服务编排平台150在进行接口编排时可以将接口详情定义信息加载到内存中,进行微服务接口选择时,将会显示该接口请求响应的各个参数。这样就能解决了泛化参数接口缺少详细定义参数展示的问题。
根据本公开的实施例,将经过网关110的每个微服务接口的请求报文和响应报文进行截获,基于具体的实例报文,逆向解析生成报文所对应的接口中的包括各个字段、字段格式类型信息、字段层级信息等的接口详情定义信息,最后将接口详情定义信息同步给微服务编排平台150,作为接口定义的补充信息,并与需要编排的接口相关联,以便在接口编排时,清晰展现接口中的详细要素及层级信息,实现接口的可视化拖拽编排。其中最核心部分处理为网关110的报文拦截处理。
图9示意性示出了根据本公开另一实施例的用于微服务编排的方法流程图。结合图8的场景对图9的流程示例性说明如下。
如图9所示,根据本公开实施例的用于微服务编排的方法可以包括步骤S1~S11。
步骤S1:收到转发请求,报文拦截处理开始。网关110收到接口调用方121的转发请求,触发报文拦截处理。
步骤S2:请求报文拦截。将http请求中的请求头(header)、请求体requestbody内容进行读取。从请求头中读取报文的格式,并采用与报文格式相应的解析方式。
步骤S3:请求报文逆向解析,以异步方式进行请求报文解析。
步骤S4:接口请求参数详细信息存储。将步骤S3中获得接口请求参数详细信息存储到接口定义表中。其中字段类型、字段长度更新的过程可以是根据实例报文,逐渐完善趋近的过程。比如第一次采集到一个接口的一个字段的值是数字,长度为10。则先将该字段类型标记为数字,长度标记为10。后面第二次采集到该接口中该字段的值为字符,长度为20,则将当前值类型和先前确定的值类型进行合并。因为字符包含数字,所以第二次采集后,字段类型会更新为字符,长度会更新为20。
为了让字段类型信息采集的更加准确快速,报文解析模块820中还可以设置元数据库,用来存放各业务领域通用的标准字段。如果采集到的实例报文中的字段名和元数据库中的标准字段的字段名一致,且实例报文中的值和标准字段的类型以及长度对应吻合,则可以直接使用该标准字段的类型及长度进行更新。
步骤S5:请求报文转发。网关110从微服务注册中心140查询接口的提供方地址信息,将调用请求向接口提供方实际地址进行转发。
步骤S6:服务调用完成。微服务提供方131进行请求处理。
步骤S7:收到服务应答。
步骤S8:开始响应报文拦截处理。读取http响应中的header、responsebody内容进行读取.
步骤S9:以异步方式做响应报文逆向解析。响应报文的逆向解析和请求报文类似,同样也可以参考元数据库标准字段类型进行字段类型等属性的确定。
步骤S10:接口响应参数详细信息存储。将步骤S9中获得接口响应详细参数信息存储到接口详情定义表中。
步骤S11:同步转发响应报文给接口调用方121。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块310、解析模块320、接口详情获得模块330、传输模块340、报文拦截模块810、报文解析模块820、接口存储模块830、以及报文转发模块840中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块310、解析模块320、接口详情获得模块330、传输模块340、报文拦截模块810、报文解析模块820、接口存储模块830、以及报文转发模块840中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块310、解析模块320、接口详情获得模块330、传输模块340、报文拦截模块810、报文解析模块820、接口存储模块830、以及报文转发模块840中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图10示意性示出了适于实现根据本公开实施例的用于微服务编排的方法的电子设备1000的方框图。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,根据本公开实施例的电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此相连。处理器1001通过执行ROM 1002和/或RAM1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。电子设备1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003和/或ROM 1002和RAM 1003以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的图像识别方法。
在该计算机程序被处理器1001执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (12)

1.一种用于微服务编排的方法,包括:
获取网关接收到的N个转发请求中的待转发报文,得到N个待转发报文;其中,每个所述待转发报文为一个接口调用的请求报文,或者为一个接口调用的响应报文;其中,N为大于或等于1的整数;
逆向解析每个所述待转发报文,得到每个所述待转发报文所调用的接口的接口请求参数详细信息;其中,对应N个所述待转发报文得到N个接口请求参数详细信息;其中,当所述待转发报文为一个接口调用的请求报文时,所述接口请求参数详细信息包括所调用的接口的请求字段信息;以及当所述待转发报文为一个接口调用的响应报文时,所述接口请求参数详细信息包括所调用的接口的响应字段信息;
将N个所述接口请求参数详细信息中属于同一个接口的所述接口请求参数详细信息合并为该接口的接口详情定义信息,以得到与M个接口一一对应的M个所述接口详情定义信息;其中,M为整数,1≤M≤N;其中,所述接口详情定义信息包括接口的请求字段信息和响应字段信息;以及
将M个所述接口详情定义信息传输到微服务编排平台中,以使所述微服务编排平台基于M个所述接口详情定义信息对所述M个接口进行微服务编排。
2.根据权利要求1所述的方法,其中,所述接口详情定义信息包括接口中的各个字段、各个字段之间的关系和/或层次结构、以及每个字段的属性信息。
3.根据权利要求2所述的方法,其中,所述将N个所述接口请求参数详细信息中属于同一个接口的所述接口请求参数详细信息合并为该接口的接口详情定义信息包括:
将属于同一个接口的所述接口请求参数详细信息存储到一个接口详情定义表中,其中,一个所述接口详情定义表用于表征一个接口的所述接口详情定义信息;
其中,
将N个所述接口请求参数详细信息中属于同一个接口的具有相同字段名的字段合并为一个记录;以及
将N个所述接口请求参数详细信息中属于同一个接口的具有不同字段名的字段分别记录。
4.根据权利要求3所述的方法,其中,每个字段的属性信息包括字段的字段类型和字段长度,所述将N个所述接口请求参数详细信息中属于同一个接口的具有相同字段名的字段合并为一个记录包括:
将属于同一个接口的具有相同字段名的字段中的字段类型和字段长度各自取值范围最大者,分别作为该字段的字段类型和字段长度的取值。
5.根据权利要求1~4任意一项所述的方法,其中,所述逆向解析每个所述待转发报文,得到每个所述待转发报文所调用的接口的接口请求参数详细信息包括:
当解析到的第一字段为预先定义的第一标准字段,且所述第一字段的取值与所述标准字段的属性信息吻合时,以该第一标准字段的属性信息作为所述接口请求参数详细信息中所述第一字段的属性信息。
6.根据权利要求5所述的方法,其中,所述方法还包括:
预先设置存储标准字段的属性信息的元数据库,其中,所述标准字段包括所述第一标准字段。
7.根据权利要求1所述的方法,其中,所述将N个所述接口请求参数详细信息中属于同一个接口的所述接口请求参数详细信息合并为该接口的接口详情定义信息,包括:
将属于第二接口的所述请求字段信息作为所述第二接口的请求报文的定义;
将属于所述第二接口的所述响应字段信息作为所述第二接口的响应报文的定义;以及
基于所述第二接口的所述请求报文的定义和所述响应报文的定义,得到所述第二接口的所述接口详情定义信息。
8.根据权利要求1~4任意一项所述的方法,其中,
所述获取网关接收到的N个转发请求中的待转发报文包括:
实时拦截所述网关接收到的每个所述转发请求中的待转发报文;
所述逆向解析每个所述待转发报文包括:
以异步方式逆向解析每个所述待转发报文。
9.根据权利要求1~4任意一项所述的方法,其中,所述逆向解析每个所述待转发报文包括:
利用逆向解析主流程遍历所述待转发报文所调用的接口中的所有节点;
利用节点解析子流程来生成遍历到的每个节点在所述待转发报文所调用的接口中的层级信息和属性信息;以及
利用类型确定子流程来确定遍历到的每个节点中的字段的属性信息;
其中,
所述逆向解析主流程调用所述节点解析子流程,所述节点解析子流程调用所述类型确定子流程。
10.一种用于微服务编排的装置,包括:
获取模块,用于获取网关接收到的N个转发请求中的待转发报文,得到N个待转发报文;其中,每个所述待转发报文为一个接口调用的请求报文,或者为一个接口调用的响应报文;其中,N为大于或等于1的整数;
解析模块,用于逆向解析每个所述待转发报文,得到每个所述待转发报文所调用的接口的接口请求参数详细信息;其中,对应N个所述待转发报文分别得到N个接口请求参数详细信息;其中,当所述待转发报文为一个接口调用的请求报文时,所述接口请求参数详细信息包括所调用的接口的请求字段信息;以及当所述待转发报文为一个接口调用的响应报文时,所述接口请求参数详细信息包括所调用的接口的响应字段信息;
接口详情获得模块,用于将N个所述接口请求参数详细信息中属于同一个接口的所述接口请求参数详细信息合并为该接口的接口详情定义信息,以得到与M个接口一一对应的M个所述接口详情定义信息;其中,M为整数,1≤M≤N;其中,所述接口详情定义信息包括接口的请求字段信息和响应字段信息;以及
传输模块,用于将M个所述接口详情定义信息传输到微服务编排平台中,以使所述微服务编排平台基于M个所述接口详情定义信息对所述M个接口进行微服务编排。
11.一种电子设备,包括:
一个或多个存储器,存储有可执行指令;以及
一个或多个处理器,执行所述可执行指令,以实现根据权利要求1~9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~9中任一项所述的方法。
CN202110138922.9A 2021-01-29 2021-01-29 用于微服务编排的方法和装置、电子设备、及介质 Active CN112929358B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110138922.9A CN112929358B (zh) 2021-01-29 2021-01-29 用于微服务编排的方法和装置、电子设备、及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110138922.9A CN112929358B (zh) 2021-01-29 2021-01-29 用于微服务编排的方法和装置、电子设备、及介质

Publications (2)

Publication Number Publication Date
CN112929358A CN112929358A (zh) 2021-06-08
CN112929358B true CN112929358B (zh) 2022-12-30

Family

ID=76169382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110138922.9A Active CN112929358B (zh) 2021-01-29 2021-01-29 用于微服务编排的方法和装置、电子设备、及介质

Country Status (1)

Country Link
CN (1) CN112929358B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113595978B (zh) * 2021-06-23 2023-08-01 北京国电通网络技术有限公司 基于微服务架构的数据贯通方法及相关设备
CN113472880B (zh) * 2021-06-30 2023-06-27 中国银行股份有限公司 微服务架构中基于数据库配置的网关处理方法及系统
CN114844957B (zh) * 2022-04-27 2024-03-08 工银科技有限公司 链路报文转换方法、装置、设备、存储介质和程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110636093A (zh) * 2018-06-25 2019-12-31 中兴通讯股份有限公司 微服务注册和发现方法、设备、存储介质以及微服务系统
CN111767095A (zh) * 2020-06-30 2020-10-13 平安国际智慧城市科技股份有限公司 微服务生成方法、装置、终端设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2765415T3 (es) * 2016-10-21 2020-06-09 Fujitsu Ltd Aparato, método y programa de procesamiento de datos basado en microservicios
CN108989384B (zh) * 2018-05-31 2020-08-14 华为技术有限公司 一种数据处理的方法、多云管理系统以及相关设备
CN111737022B (zh) * 2019-09-30 2024-03-01 北京沃东天骏信息技术有限公司 一种基于微服务的接口调用方法、系统、设备及介质
CN111078315B (zh) * 2019-12-12 2020-12-08 拉扎斯网络科技(上海)有限公司 微服务编排、执行方法及系统、架构、设备、存储介质
CN111553652B (zh) * 2020-04-23 2023-10-27 中国银行股份有限公司 业务处理方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110636093A (zh) * 2018-06-25 2019-12-31 中兴通讯股份有限公司 微服务注册和发现方法、设备、存储介质以及微服务系统
CN111767095A (zh) * 2020-06-30 2020-10-13 平安国际智慧城市科技股份有限公司 微服务生成方法、装置、终端设备及存储介质

Also Published As

Publication number Publication date
CN112929358A (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN112929358B (zh) 用于微服务编排的方法和装置、电子设备、及介质
US11720583B2 (en) Processing data from multiple sources
US11775343B1 (en) Duty cycle estimation for job assignment
CN107133267B (zh) 查询elasticsearch集群的方法、装置、电子设备和可读存储介质
CN102982075B (zh) 支持访问异构数据源的系统和方法
CN108696381B (zh) 一种协议配置方法及装置
US9588956B2 (en) Parser generation
AU2021383940A9 (en) Constructing executable program code based on sequence codes
CN107689999A (zh) 一种云平台全自动计算方法及装置
CN113504900A (zh) 一种编程语言转换方法和装置
EP1426879A2 (en) Building a geographic database
US11860887B2 (en) Scalable real-time analytics
CN111355741B (zh) 网络资源访问控制方法、网关、可读介质及电子设备
CN116668520A (zh) 一种基于网关的服务编排方法、系统、设备及存储介质
CN114416776A (zh) 一种数据自定义查询统计方法
US20140101280A1 (en) Generic serializer framework
US11762749B2 (en) Software application intelligence platform, and method thereof
CN116303581B (zh) 异构数据库间分流查询负载适配方法、系统、设备及介质
US20160350399A1 (en) Context-rich key framework implementations for global concept management
CN117743422A (zh) 数据处理方法及装置、存储介质及电子设备
CN113760262A (zh) 任务处理方法、装置、计算机系统和计算机可读存储介质
CN117992425A (zh) 数据库操作执行方法、装置、电子设备、介质和程序产品
CN114238459A (zh) 一种异构数据源集成管理方法、装置和系统
CN115878396A (zh) 用于企业服务总线的接口测试方法、装置、设备及介质
CN117131120A (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