CN113596151A - 插件管理方法、装置、数据处理方法及装置 - Google Patents
插件管理方法、装置、数据处理方法及装置 Download PDFInfo
- Publication number
- CN113596151A CN113596151A CN202110859155.0A CN202110859155A CN113596151A CN 113596151 A CN113596151 A CN 113596151A CN 202110859155 A CN202110859155 A CN 202110859155A CN 113596151 A CN113596151 A CN 113596151A
- Authority
- CN
- China
- Prior art keywords
- plug
- service
- request message
- api gateway
- processing
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims 2
- 238000007726 management method Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims 13
- 230000006835 compression Effects 0.000 claims 8
- 238000007906 compression Methods 0.000 claims 8
- 238000004140 cleaning Methods 0.000 claims 1
- 238000000586 desensitisation Methods 0.000 claims 1
- 238000009434 installation Methods 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种插件管理方法、装置、数据处理方法及装置。本发明实施例通过接收客户端上传的插件压缩包,根据所述插件压缩包,在API网关中安装所述插件压缩包对应的第一插件,将所述第一插件与第一指定业务进行绑定,以使所述第一插件对经过所述API网关、且属于所述第一指定业务的数据进行处理,利用插件在API网关上实现应用场景所需的高级功能,避免修改API网关的系统代码,不需要中断业务,提高了业务的稳定性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种插件管理方法、装置、数据处理方法及装置。
背景技术
API(Application Programming Interface,应用程序接口)网关提供了系统与外界联系的入口,它以API代理的方式提供联系入口,即某应用(Application)通过API代理访问真实的业务服务器,业务服务器返回数据,通过API代理应答应用。
此技术中,API网关实现协议转换和转发请求的功能。然而,在一些应用场景下,需要API网关进一步增加额外的功能。例如,使API网关实现加密、认证、鉴权、字段特殊处理、解密、数据脱敏等功能。
相关技术中,针对某应用场景的需求,通过在API网关的系统代码上增加相应功能代码的方式,使API网关实现该需求对应的功能。该方式在API网关的系统代码改变时,需要中断业务,以加载新功能。
然而,不同的应用场景需要API网关增加的功能不同,从而在不同应用场景下均需要修改API网关的系统代码,并且需要中断业务加载新功能,导致业务稳定性较差。
发明内容
为克服相关技术中存在的问题,本发明提供了一种插件管理方法、装置、数据处理方法及装置,提高API网关的业务稳定性。
根据本发明实施例的第一方面,提供一种插件管理方法,所述方法包括:
接收开发客户端上传的插件压缩包;
根据所述插件压缩包,在应用程序接口API网关中安装所述插件压缩包对应的第一插件;
将所述第一插件与第一指定业务进行绑定,以使所述第一插件对经过所述API网关、且属于所述第一指定业务的数据进行处理。
根据本发明实施例的第二方面,提供一种插件管理装置,所述装置包括:
接收模块,用于接收开发客户端上传的插件压缩包;
安装模块,用于根据所述插件压缩包,在应用程序接口API网关中安装所述插件压缩包对应的第一插件;
绑定模块,用于将所述第一插件与第一指定业务进行绑定,以使所述第一插件对经过所述API网关、且属于所述第一指定业务的数据进行处理。
根据本发明实施例的第三方面,提供一种数据处理方法,应用于安装有至少一个插件的应用程序接口API网关,包括:
接收到业务客户端的第一请求报文后,在预设的插件列表中查询是否存在第一目标插件,所述第一目标插件为与所述第一请求报文所属的第一业务对应的插件;
若存在,将所述第一请求报文发送给所述第一目标插件,以使所述第一目标插件对所述第一请求报文进行第一指定处理,得到第二请求报文;
将所述第二请求报文发送给所述第一业务对应的服务器。
根据本发明实施例的第四方面,提供一种数据处理装置,应用于安装有至少一个插件的应用程序接口API网关,包括:
请求报文接收模块,用于接收到业务客户端的第一请求报文后,在预设的插件列表中查询是否存在第一目标插件,所述第一目标插件为与所述第一请求报文所属的第一业务对应的插件;
请求报文处理模块,用于若存在,将所述第一请求报文发送给所述第一目标插件,以使所述第一目标插件对所述第一请求报文进行第一指定处理,得到第二请求报文;
请求报文发送模块,用于将所述第二请求报文发送给所述第一业务对应的服务器。
本发明实施例提供的技术方案可以包括以下有益效果:
本发明实施例,通过接收开发客户端上传的插件压缩包,根据所述插件压缩包,在API网关中安装所述插件压缩包对应的第一插件,将所述第一插件与第一指定业务进行绑定,以使所述第一插件对经过所述API网关、且属于所述第一指定业务的数据进行处理,利用插件在API网关上实现应用场景所需的高级功能,避免修改API网关的系统代码,不需要中断业务,提高了业务的稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本发明实施例提供的业务系统的示例图。
图2是本发明实施例提供的插件管理方法的流程示例图。
图3是本发明实施例提供的数据处理方法的流程示例图。
图4是本发明实施例提供的插件管理装置的功能方块图。
图5是本发明实施例提供的数据处理装置的功能方块图。
图6是本发明实施例提供的插件管理平台的一个硬件结构图。
图7是本发明实施例提供的电子设备的一个硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明实施例的一些方面相一致的装置和方法的例子。
在本发明实施例使用的术语是仅仅出于描述特定本发明实施例的目的,而非旨在限制本发明实施例。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是本发明实施例提供的业务系统的示例图。其中,APP是安装在终端上的应用程序客户端。请参见图1,APP发出的请求被API网关接收,API网关对请求进行协议转换后转发给APP所对应的业务服务器。业务服务器发出的响应也被API网关接收,API网关对响应进行协议转换后转发给APP。
一些应用场景对于API网关具有额外的功能需求。例如,在图1所示的业务系统中,假设APP所发出的请求为带有电话号码的查询请求,请求内容为身份证号码。此时,业务服务器返回的响应中包含身份证号码、姓名、联系地址等信息。这里,身份证号码、姓名等属于敏感字段,因此,需要在API网关进行脱敏处理。
相关技术中,会修改API网关的系统代码,在系统代码中增加对身份证号码、姓名等敏感字段进行脱敏处理的功能代码。然而,这种方式需要重启系统后才能运行新增的脱敏处理功能,而重启必然会造成业务的中断,因此导致业务稳定性较差。
并且,在不同场景下,脱敏处理功能所采用的脱敏方式以及脱敏内容也不一致。例如,在A场景中需要进行身份证号码脱敏,在B场景中需要对姓名和身份证号码进行脱敏。相关技术单一性较高,无法做到按照场景需求定制。
这里,以在图1所示的查询业务中增加身份证号码脱敏处理为例,对相关技术进行说明。API网关的系统开发或维护人员在API网关的系统代码中添加身份证号码脱敏对应的功能代码,然后重启API网关,使得身份证号码脱敏的功能得以在API网关上实现。
增加身份证号码脱敏功能后的查询业务处理过程如下:
API网关接收终端APP发送的查询请求,请求内容为身份证号码;
API网关对查询请求进行协议转换,然后将查询请求转发给对应的业务服务器;
API网关接收业务服务器返回的响应消息,响应消息中包含身份证号码和姓名;
API网关对响应消息中的身份证号码进行脱敏处理;
API网关对脱敏处理后的响应消息进行协议转换,然后将转换后的响应消息发送给终端上的APP。
为了提高业务稳定性,本发明实施例提供了一种插件管理方法。
下面通过实施例对本发明的插件管理方法进行说明。
图2是本发明实施例提供的插件管理装置的应用方法的流程示例图。本实施例中,插件管理方法可以应用于插件管理平台中。如图2所示,本实施例中,插件管理装置的应用方法可以包括:
S201,接收业务客户端上传的插件压缩包。
S202,根据所述插件压缩包,在API网关中安装所述插件压缩包对应的第一插件。
S203,将所述第一插件与第一指定业务进行绑定,以使所述第一插件对经过所述API网关、且属于所述第一指定业务的数据进行处理。
其中,开发客户端是指开发插件的客户端,也即下面所述的使用者的客户端。
本实施例中,插件由使用者进行开发。使用者开发好插件后,将插件压缩成为插件压缩包,发送插件管理平台,插件管理平台将相应插件安装在API网关上。这样,使用者就可以根据具体的场景需求,开发相应的插件,实现了根据场景需求定制插件。当应用场景改变时,使用者可以根据改变后的场景需求,再次开发相应的插件并发送给插件管理平台,以便插件管理平台将插件安装到API网关中。
相关技术中由API网关开发人员或维护人员来开发插件,由于熟悉业务需求的是使用者,而不是API网关开发人员或维护人员,因此相关技术中API网关开发人员或维护人员为开发插件,需要与使用者进行沟通,这样无疑会延长开发时间。相比于相关技术由API网关开发人员或维护人员来开发插件的方式,本实施例中,由使用者开发插件,可以有效地缩短开发时间,从而能够更快地满足新应用场景对于业务的需求。
本实施例中,为了描述的方便,将需要安装到API网关中的插件称为第一插件,后续将需要从API网关中删除的插件称为第二插件。
同理,本文中的第一指定业务和第二指定业务也是为了描述的方便而命名的,两者可以是相同的业务,也可以为不同的业务。
本实施例中,第一插件可以用于实现加密、认证、鉴权、字段特殊处理、解密、数据脱敏等功能。第一插件对数据的处理可以包括加密、认证、鉴权、字段特殊处理、解密、数据脱敏中的至少一种。
每个插件都是针对一定的业务开发的,本文中将第一插件对应的业务称为第一指定业务。即第一指定业务的数据在经过API网关时,需要采用第一插件对第一指定业务的数据进行处理。
在API网关中安装第一插件后,并不能实现利用第一插件对业务数据进行处理,还需要将第一插件与第一插件对应的第一指定业务进行绑定。将第一插件与第一指定业务进行绑定后,改变了第一指定业务的数据在API网关中的处理过程,即在原有的处理过程中添加第一插件对应的处理,从而实现在API网关中利用第一插件对业务数据进行处理。
当API网关中安装了多个插件,且每个插件绑定对应的业务时,可以在API网关中设置一个绑定关系表,用于存储插件与插件绑定的业务之间的对应关系。
本实施例中,对插件的加载过程(即将插件安装到API网关以及绑定业务的过程)是一个热加载的过程,不需要重启API网关,也不需要中断业务。在插件与业务绑定之前,业务数据的处理流程与原来一样,在插件与业务绑定以后,业务数据的处理流程在原有流程的基础上添加插件对应的处理。这样,就在API网关上实现了额外的功能。并且,该过程中,业务不需要中断,因此提高了业务的稳定性。
下面以在图1所示的查询业务中增加身份证号码脱敏处理为例,对利用本实施例的插件管理方法在API网关上增加插件对应的额外功能进行说明。
本实施例的插件管理装置加载插件的过程如下:
接收客户端上传的身份证号码脱敏功能对应的插件压缩包;
根据所述插件压缩包,在API网关中安装插件压缩包对应的身份证号码脱敏功能插件;
将身份证号码脱敏功能插件与查询业务进行绑定,以使身份证号码脱敏功能插件对经过所述API网关、且属于查询业务的数据进行处理。
在API网关中安装并绑定身份证号码脱敏功能插件后的查询业务处理过程如下:
API网关接收终端APP发送的查询请求,请求内容为身份证号码;
API网关对查询请求进行协议转换,然后将查询请求转发给对应的业务服务器;
API网关接收业务服务器返回的响应消息,响应消息中包含身份证号码;
身份证号码脱敏功能插件拦截响应消息,对响应消息中的身份证号码进行脱敏处理,并将脱敏处理后的响应消息返回给API网关;
API网关对脱敏处理后的响应消息进行协议转换,然后将转换后的响应消息发送给终端上的APP。
由上述示例可见,API网关中的插件与API网关的系统代码功能相分离,插件的功能独立于API网关的系统代码功能。
需要说明的是,一个插件可以用于实现多个功能,例如鉴权+数据脱敏、认证+数据脱敏、认证+字段特殊处理等等。下面以实现身份认证+数据脱敏功能的插件为例,对利用本实施例的插件管理方法在API网关上增加插件对应的额外功能进行说明。
本实施例中,插件管理平台加载插件的过程如下:
接收开发客户端上传的插件压缩包,插件压缩包所压缩的插件为实现身份认证功能和身份证号码脱敏功能的插件;
根据所述插件压缩包,在API网关中安装实现身份认证功能和身份证号码脱敏功能的插件;
将实现身份认证功能和身份证号码脱敏功能的插件与查询业务进行绑定,以使实现身份认证功能和身份证号码脱敏功能的插件对经过所述API网关、且属于查询业务的数据进行处理。
在API网关中安装并绑定实现身份认证功能和身份证号码脱敏功能的插件后的查询业务处理过程如下:
API网关接收终端APP发送的查询请求,请求内容为身份证号码;
实现身份认证功能和身份证号码脱敏功能的插件拦截查询请求,对查询请求的发送方用户的身份进行认证;
若认证通过,通知API网关认证通过,然后API网关对查询请求进行协议转换,转换后将查询请求转发给对应的业务服务器;
API网关接收业务服务器返回的响应消息,响应消息中包含身份证号码;
实现身份认证功能和身份证号码脱敏功能的插件拦截响应消息,对响应消息中的身份证号码进行脱敏处理,并将脱敏处理后的响应消息返回给API网关;
API网关对脱敏处理后的响应消息进行协议转换,然后将转换后的响应消息发送给终端上的APP。
需要说明的是,上述示例中,API网关对请求消息或响应消息的处理可以在插件对请求消息或响应消息的处理之前进行,也可以在插件对请求或响应消息的处理之后进行。例如,在上述示例中,API网关接收业务服务器返回的响应消息后,可以先对响应消息进行协议转换,然后实现身份认证功能和身份证号码脱敏功能的插件拦截协议转换后的响应消息,对协议转换后的响应消息中的身份证号码进行脱敏处理,并将脱敏处理后的响应消息返回给API网关,API网关将脱敏处理后的响应消息发送给终端上的APP。
本示例中,通过安装在API网关上的一个插件实现了两个功能,插件的加载过程不需要重启API网关,从而不需要中断业务,提高了业务稳定性,同时也提高了使用该业务的用户的体验。
在一个示例性的实现过程中,所述方法还可以包括:
解除所述API网关中已安装、且已与第二指定业务进行绑定的第二插件与所述第二指定业务的绑定。
随着应用场景或使用者需求的改变,使用者会相应地开发新的插件,从而使得API网关中已有的插件不再适用。此时,可以通过将已绑定业务的插件与业务进行解绑,来将插件的处理从业务数据的处理流程中剥离。
通过本实施例的解绑操作,可以将API网关中已有的不再适用于新需求的插件与业务解除绑定,以便在使用者上传符合新需求的新插件压缩包时,将新插件与业务进行绑定,满足新应用场景的应用需求。
例如,假设当前API网关中安装有与业务1绑定的插件C1,由于应用场景的改变,插件C1不再适用于新应用场景,使用者针对改变后的新应用场景开发了插件C2。此时,插件管理平台可以解除业务1与插件C1之间的绑定关系。这样,当API网关中安装插件C2后,插件管理平台可以将业务1与插件C2进行绑定,以采用插件C2对应的处理逻辑对业务1的数据进行处理。
本实施例中,可以根据用户指令触发解绑操作,例如接收到用户输入的将业务1与插件C1进行解绑的指令。
在一个示例性的实现过程中,还包括:
当预设的清理周期到期或未绑定业务的插件的闲置时间达到预设的时间阈值时,删除所述API网关中未绑定业务的插件。
其中,未绑定业务的插件可以是已经解除与业务之间的绑定关系的插件,例如前述的插件C1。
未绑定业务的插件一般都是不符合当前需求的插件,这些插件在API网关中已没有使用价值,通过删除模块,可以及时地清除这种插件,以便释放API网关的资源。
其中,上述的清理周期、时间阈值可以由用户根据应用需求设置。
对于条件为未绑定业务的插件的闲置时间达到预设的时间阈值的方式,闲置时间的起始时间可以设置为插件与业务解除绑定的时间。当插件与业务解除绑定后,可以启动计时器,当计时器的计时时长达到预设的时间阈值时,即可确定该未绑定业务的插件的闲置时间达到预设的时间阈值。如果在计时器的计时时长达到预设的时间阈值之前,该未绑定业务的插件又被重新与业务进行绑定,则停止计时。
在一个示例中,还可以包括:
监测所述API网关中插件的状态;
在监测到所述API网关中已安装的第三插件处于不可用状态时,在所述API网关中重新安装所述第三插件。
其中,插件处于不可用状态是指插件不能对API网关接收的相应业务报文(请求报文和/或响应报文)进行处理。
本实施例对API网关中已安装的插件进行监听,并且在监测到插件处于不可用状态时重新安装该插件,能够保证插件的功能正常,使相应的业务保持平稳。
在一个示例中,还可以包括:
响应于开发客户端发送的插件模板下载指令,输出模板信息填写界面;根据所述模板信息填写界面接收到的插件名称和版本号,在预设的插件模板库中查找与所述插件名称和版本号对应的目标插件模板;
将所述目标插件模板发送给所述开发客户端,以使所述开发客户端根据所述目标插件模板生成插件压缩包。
插件管理平台中预先设置插件模板库,插件模板库用于存储各种插件模板。利用插件模板,开发客户端可以快速地生成插件,减小了插件开发的工作量,提高了开发效率。
在一个示例中,所述插件模板库中的任一插件模板包括不可修改的第一类文件和可以修改的第二类文件;所述插件模板对应的插件压缩包的生成方法包括:
根据业务场景,修改所述插件模板中的第二类文件;
根据所述插件模板中的第一类文件和修改后的第二类文件,生成插件压缩包。
本实施例中,第二类文件是与业务场景相关的文件,需要根据不同的业务场景进行相应的修改。第一类文件是对所有业务场景通用的文件,不需要修改。这样,在生成插件压缩包时,开发者只需要对插件模板中的第二类文件进行修改,减小了开发工作量,提高了开发效率。
在一个示例中,所述第二类文件包括前置侦听处理函数和/或后置侦听处理函数。
其中,所述前置侦听处理函数用于对指定业务的请求报文进行侦听和第一处理;所述后置侦听处理函数用于对指定业务的响应报文进行侦听和第二处理。
此处,第一处理、第二处理均是与业务场景相对应的处理。例如,在一个示例中,第一处理可以是从请求报文中提取私有字段,利用私有字段和用户自定义的加密算法进行对请求报文的内容进行加密。在一个示例中,第二处理可以是对响应报文中的内容进行提取,采用用户自定义格式重新进行封装。
在一个示例性的实现过程中,所述第一插件对数据的处理包括加密、认证、鉴权、字段特殊处理、解密、数据脱敏中的至少一种。
本发明实施例提供的插件管理方法,通过接收开发客户端上传的插件压缩包,根据所述插件压缩包,在API网关中安装所述插件压缩包对应的第一插件,将所述第一插件与第一指定业务进行绑定,以使所述第一插件对经过所述API网关、且属于所述第一指定业务的数据进行处理,利用插件在API网关上实现应用场景所需的高级功能,避免修改API网关的系统代码,不需要中断业务,提高了业务的稳定性。
并且,本实施例还可以根据不同应用场景对于业务的不同需求个性化定制不同插件,使用不同插件对业务数据进行处理。
插件管理平台在API网关中安装插件之后,API网关就可以利用已安装的插件对业务数据进行处理,以实现具体业务场景所需的额外功能。
图3是本发明实施例提供的数据处理方法的流程示例图。该数据处理方法应用于安装有至少一个插件的应用程序接口API网关。如图3所示,该数据处理方法可以包括:
S301,接收到业务客户端的第一请求报文后,在预设的插件列表中查询是否存在第一目标插件,所述第一目标插件为与所述第一请求报文所属的第一业务对应的插件。
S302,若存在,将所述第一请求报文发送给所述第一目标插件,以使所述第一目标插件对所述第一请求报文进行第一指定处理,得到第二请求报文。
S303,将所述第二请求报文发送给所述第一业务对应的服务器。
本实施例中,业务客户端是指具有某种业务需求的客户端。
API网关可以预先将已安装的且与相应业务绑定好的插件放入插件列表中,在插件列表中记录插件与业务的对应关系。
本实施例中,API网关在接收到请求报文时,如果经查询发现插件列表中存在与请求报文所属业务对应的插件,则调用该插件对请求报文进行处理,再将处理后的请求报文发送给服务端,利用插件在API网关上实现了应用场景所需的高级功能,避免了修改API网关的系统代码,提高了业务的稳定性。
并且,在不同的应用场景下,对于不同业务可以根据个性化需求定制不同插件,使用不同插件对不同业务的数据进行处理。
在一个示例中,如果预设的插件列表中不存在上述的第一目标插件,则根据第一请求报文所属的第一业务的原有流程对第一请求报文进行处理。
在一个示例中,数据处理方法还可以包括:
接收到服务器发送的属于第二业务的第一响应报文后,在预设的插件列表中查询是否存在第二目标插件,所述第二目标插件为与所述第二业务对应的插件;
若存在,将所述第一响应报文发送给所述第二目标插件,以使所述第二目标插件对所述第一响应报文进行第二指定处理,得到第二响应报文;
将所述第二响应报文发送给所述第二响应报文对应的业务客户端。
本实施例利用API网关中的插件对响应报文进行处理,避免了修改API网关的系统代码,提高了业务的稳定性。
需要说明的是,前述实施例中,第二业务与第一业务可以是同一业务,也可以是不同的业务。第一目标插件与第二目标插件可以是同一插件,也可以是不同的插件。
基于上述的方法实施例,本发明实施例还提供了相应的装置、设备及存储介质实施例。关于本发明实施例的方法、设备及存储介质实施例的详细实现方式,请参见前述方法实施例部分的相应说明。
图4是本发明实施例提供的插件管理装置的功能方块图。如图4所示,本实施例中,插件管理装置可以包括:
接收模块410,用于接收业务客户端上传的插件压缩包;
安装模块420,用于根据所述插件压缩包,在API网关中安装所述插件压缩包对应的第一插件;
绑定模块430,用于将所述第一插件与第一指定业务进行绑定,以使所述第一插件对经过所述API网关、且属于所述第一指定业务的数据进行处理。
在一个示例中,所述装置还可以包括:
解绑模块,用于解除所述API网关中已安装、且已与第二指定业务进行绑定的第二插件与所述第二指定业务的绑定。
在一个示例中,所述装置还可以包括:
删除模块,用于当预设的清理周期到期或未绑定业务的插件的闲置时间达到预设的时间阈值时,删除所述API网关中未绑定业务的插件。
在一个示例中,所述装置还可以包括:
监测模块,用于监测所述API网关中插件的状态;
重新安装模块,用于在监测到所述API网关中已安装的第三插件处于不可用状态时,在所述API网关中重新安装所述第三插件。
在一个示例中,所述装置还可以包括:
输出模块,用于响应于开发客户端发送的插件模板下载指令,输出模板信息填写界面;查找模块,用于根据所述模板信息填写界面接收到的插件名称和版本号,在预设的插件模板库中查找与所述插件名称和版本号对应的目标插件模板;
生成模块,用于将所述目标插件模板发送给所述开发客户端,以使所述开发客户端根据所述目标插件模板生成插件压缩包。
在一个示例中,所述插件模板库中的任一插件模板包括不可修改的第一类文件和可以修改的第二类文件;所述插件模板对应的插件压缩包的生成方法包括:
根据业务场景,修改所述插件模板中的第二类文件;
根据所述插件模板中的第一类文件和修改后的第二类文件,生成插件压缩包。
在一个示例中,所述第二类文件包括前置侦听处理函数和/或后置侦听处理函数;
其中,所述前置侦听处理函数用于对指定业务的请求报文进行侦听和第一处理;所述后置侦听处理函数用于对指定业务的响应报文进行侦听和第二处理。
在一个示例中,所述第一插件对数据的处理包括加密、认证、鉴权、字段特殊处理、解密、数据脱敏中的至少一种。
图5是本发明实施例提供的数据处理装置的功能方块图。该数据处理装置可以应用于安装有至少一个插件的应用程序接口API网关。如图5所示,本实施例中,数据处理装置可以包括:
第一查询模块510,用于接收到业务客户端的第一请求报文后,在预设的插件列表中查询是否存在第一目标插件,所述第一目标插件为与所述第一请求报文所属的第一业务对应的插件;
请求报文处理模块520,用于若存在,将所述第一请求报文发送给所述第一目标插件,以使所述第一目标插件对所述第一请求报文进行第一指定处理,得到第二请求报文;
请求报文发送模块530,用于将所述第二请求报文发送给所述第一业务对应的服务器。
在一个示例中,数据处理装置还可以包括:
第二查询模块,用于接收到服务器发送的属于第二业务的第一响应报文后,在预设的插件列表中查询是否存在第二目标插件,所述第二目标插件为与所述第二业务对应的插件;
响应报文处理模块,用于若存在,将所述第一响应报文发送给所述第二目标插件,以使所述第二目标插件对所述第一响应报文进行第二指定处理,得到第二响应报文;
响应报文发送模块,用于将所述第二响应报文发送给所述第二响应报文对应的业务客户端。
本发明实施例还提供了一种插件管理平台。图6是本发明实施例提供的插件管理平台的一个硬件结构图。如图6所示,插件管理平台包括:内部总线601,以及通过内部总线连接的存储器602,处理器603和外部接口604。
所述处理器603,用于读取存储器602上的机器可读指令,并执行所述指令以实现如下操作:
接收客户端上传的插件压缩包;
根据所述插件压缩包,在应用程序接口API网关中安装所述插件压缩包对应的第一插件;
将所述第一插件与第一指定业务进行绑定,以使所述第一插件对经过所述API网关、且属于所述第一指定业务的数据进行处理。
在一个示例性的实现过程中,还包括:
解除所述API网关中已安装、且已与第二指定业务进行绑定的第二插件与所述第二指定业务的绑定。
在一个示例性的实现过程中,还包括:
当预设的清理周期到期或未绑定业务的插件的闲置时间达到预设的时间阈值时,删除所述API网关中未绑定业务的插件。
在一个示例性的实现过程中,还包括:
监测所述API网关中插件的状态;
在监测到所述API网关中已安装的第三插件处于不可用状态时,在所述API网关中重新安装所述第三插件。
在一个示例性的实现过程中,还包括:
应于开发客户端发送的插件模板下载指令,输出模板信息填写界面;根据所述模板信息填写界面接收到的插件名称和版本号,在预设的插件模板库中查找与所述插件名称和版本号对应的目标插件模板;
将所述目标插件模板发送给所述开发客户端,以使所述开发客户端根据所述目标插件模板生成插件压缩包。
在一个示例性的实现过程中,所述插件模板库中的任一插件模板包括不可修改的第一类文件和可以修改的第二类文件;所述插件模板对应的插件压缩包的生成方法包括:
根据业务场景,修改所述插件模板中的第二类文件;
根据所述插件模板中的第一类文件和修改后的第二类文件,生成插件压缩包。
在一个示例性的实现过程中,所述第二类文件包括前置侦听处理函数和/或后置侦听处理函数;
其中,所述前置侦听处理函数用于对指定业务的请求报文进行侦听和第一处理;所述后置侦听处理函数用于对指定业务的响应报文进行侦听和第二处理。
在一个示例性的实现过程中,所述第一插件对数据的处理包括加密、认证、鉴权、字段特殊处理、解密、数据脱敏中的至少一种。
本发明实施例还提供一种电子设备,该电子设备应用于API网关。图7是本发明实施例提供的电子设备的一个硬件结构图。如图7所示,电子设备包括:内部总线701,以及通过内部总线连接的存储器702,处理器703和外部接口704。
所述处理器703,用于读取存储器702上的机器可读指令,并执行所述指令以实现如下操作:
接收到业务客户端的第一请求报文后,在预设的插件列表中查询是否存在第一目标插件,所述第一目标插件为与所述第一请求报文所属的第一业务对应的插件;
若存在,将所述第一请求报文发送给所述第一目标插件,以使所述第一目标插件对所述第一请求报文进行第一指定处理,得到第二请求报文;
将所述第二请求报文发送给所述第一业务对应的服务器。
在一个示例中,还包括:
接收到服务器发送的属于第二业务的第一响应报文后,在预设的插件列表中查询是否存在第二目标插件,所述第二目标插件为与所述第二业务对应的插件;
若存在,将所述第一响应报文发送给所述第二目标插件,以使所述第二目标插件对所述第一响应报文进行第二指定处理,得到第二响应报文;
将所述第二响应报文发送给所述第二响应报文对应的业务客户端。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
接收客户端上传的插件压缩包;
根据所述插件压缩包,在应用程序接口API网关中安装所述插件压缩包对应的第一插件;
将所述第一插件与第一指定业务进行绑定,以使所述第一插件对经过所述API网关、且属于所述第一指定业务的数据进行处理。
在一个示例性的实现过程中,还包括:
解除所述API网关中已安装、且已与第二指定业务进行绑定的第二插件与所述第二指定业务的绑定。
在一个示例性的实现过程中,还包括:
当预设的清理周期到期或未绑定业务的插件的闲置时间达到预设的时间阈值时,删除所述API网关中未绑定业务的插件。
在一个示例性的实现过程中,还包括:
监测所述API网关中插件的状态;
在监测到所述API网关中已安装的第三插件处于不可用状态时,在所述API网关中重新安装所述第三插件。
在一个示例性的实现过程中,还包括:
应于开发客户端发送的插件模板下载指令,输出模板信息填写界面;根据所述模板信息填写界面接收到的插件名称和版本号,在预设的插件模板库中查找与所述插件名称和版本号对应的目标插件模板;
将所述目标插件模板发送给所述开发客户端,以使所述开发客户端根据所述目标插件模板生成插件压缩包。
在一个示例性的实现过程中,所述插件模板库中的任一插件模板包括不可修改的第一类文件和可以修改的第二类文件;所述插件模板对应的插件压缩包的生成方法包括:
根据业务场景,修改所述插件模板中的第二类文件;
根据所述插件模板中的第一类文件和修改后的第二类文件,生成插件压缩包。
在一个示例性的实现过程中,所述第二类文件包括前置侦听处理函数和/或后置侦听处理函数;
其中,所述前置侦听处理函数用于对指定业务的请求报文进行侦听和第一处理;所述后置侦听处理函数用于对指定业务的响应报文进行侦听和第二处理。
在一个示例性的实现过程中,所述第一插件对数据的处理包括加密、认证、鉴权、字段特殊处理、解密、数据脱敏中的至少一种。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
接收到业务客户端的第一请求报文后,在预设的插件列表中查询是否存在第一目标插件,所述第一目标插件为与所述第一请求报文所属的第一业务对应的插件;
若存在,将所述第一请求报文发送给所述第一目标插件,以使所述第一目标插件对所述第一请求报文进行第一指定处理,得到第二请求报文;
将所述第二请求报文发送给所述第一业务对应的服务器。
在一个示例中,还包括:
接收到服务器发送的属于第二业务的第一响应报文后,在预设的插件列表中查询是否存在第二目标插件,所述第二目标插件为与所述第二业务对应的插件;
若存在,将所述第一响应报文发送给所述第二目标插件,以使所述第二目标插件对所述第一响应报文进行第二指定处理,得到第二响应报文;
将所述第二响应报文发送给所述第二响应报文对应的业务客户端。
对于装置和设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (12)
1.一种插件管理方法,其特征在于,所述方法包括:
接收开发客户端上传的插件压缩包;
根据所述插件压缩包,在应用程序接口API网关中安装所述插件压缩包对应的第一插件;
将所述第一插件与第一指定业务进行绑定,以使所述第一插件对经过所述API网关、且属于所述第一指定业务的数据进行处理。
2.根据权利要求1所述的方法,其特征在于,还包括:
解除所述API网关中已安装、且已与第二指定业务进行绑定的第二插件与所述第二指定业务的绑定。
3.根据权利要求1所述的方法,其特征在于,还包括:
当预设的清理周期到期或未绑定业务的插件的闲置时间达到预设的时间阈值时,删除所述API网关中未绑定业务的插件。
4.根据权利要求1所述的方法,其特征在于,还包括:
监测所述API网关中插件的状态;
在监测到所述API网关中已安装的第三插件处于不可用状态时,在所述API网关中重新安装所述第三插件。
5.根据权利要求1所述的方法,其特征在于,还包括:
响应于开发客户端发送的插件模板下载指令,输出模板信息填写界面;根据所述模板信息填写界面接收到的插件名称和版本号,在预设的插件模板库中查找与所述插件名称和版本号对应的目标插件模板;
将所述目标插件模板发送给所述开发客户端,以使所述开发客户端根据所述目标插件模板生成插件压缩包。
6.根据权利要求5所述的方法,其特征在于,所述插件模板库中的任一插件模板包括不可修改的第一类文件和可以修改的第二类文件;所述插件模板对应的插件压缩包的生成方法包括:
根据业务场景,修改所述插件模板中的第二类文件;
根据所述插件模板中的第一类文件和修改后的第二类文件,生成插件压缩包。
7.根据权利要求6所述的方法,其特征在于,所述第二类文件包括前置侦听处理函数和/或后置侦听处理函数;
其中,所述前置侦听处理函数用于对指定业务的请求报文进行侦听和第一处理;所述后置侦听处理函数用于对指定业务的响应报文进行侦听和第二处理。
8.根据权利要求1所述的方法,其特征在于,所述第一插件对数据的处理包括加密、认证、鉴权、字段特殊处理、解密、数据脱敏中的至少一种。
9.一种插件管理装置,其特征在于,所述装置包括:
接收模块,用于接收开发客户端上传的插件压缩包;
安装模块,用于根据所述插件压缩包,在应用程序接口API网关中安装所述插件压缩包对应的第一插件;
绑定模块,用于将所述第一插件与第一指定业务进行绑定,以使所述第一插件对经过所述API网关、且属于所述第一指定业务的数据进行处理。
10.一种数据处理方法,其特征在于,应用于安装有至少一个插件的应用程序接口API网关,包括:
接收到业务客户端的第一请求报文后,在预设的插件列表中查询是否存在第一目标插件,所述第一目标插件为与所述第一请求报文所属的第一业务对应的插件;
若存在,将所述第一请求报文发送给所述第一目标插件,以使所述第一目标插件对所述第一请求报文进行第一指定处理,得到第二请求报文;
将所述第二请求报文发送给所述第一业务对应的服务器。
11.根据权利要求10所述的方法,其特征在于,还包括:
接收到服务器发送的属于第二业务的第一响应报文后,在预设的插件列表中查询是否存在第二目标插件,所述第二目标插件为与所述第二业务对应的插件;
若存在,将所述第一响应报文发送给所述第二目标插件,以使所述第二目标插件对所述第一响应报文进行第二指定处理,得到第二响应报文;
将所述第二响应报文发送给所述第二响应报文对应的业务客户端。
12.一种数据处理装置,其特征在于,应用于安装有至少一个插件的应用程序接口API网关,包括:
第一查询模块,用于接收到业务客户端的第一请求报文后,在预设的插件列表中查询是否存在第一目标插件,所述第一目标插件为与所述第一请求报文所属的第一业务对应的插件;
请求报文处理模块,用于若存在,将所述第一请求报文发送给所述第一目标插件,以使所述第一目标插件对所述第一请求报文进行第一指定处理,得到第二请求报文;
请求报文发送模块,用于将所述第二请求报文发送给所述第一业务对应的服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859155.0A CN113596151A (zh) | 2021-07-28 | 2021-07-28 | 插件管理方法、装置、数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859155.0A CN113596151A (zh) | 2021-07-28 | 2021-07-28 | 插件管理方法、装置、数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113596151A true CN113596151A (zh) | 2021-11-02 |
Family
ID=78251295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110859155.0A Pending CN113596151A (zh) | 2021-07-28 | 2021-07-28 | 插件管理方法、装置、数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113596151A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168218A (zh) * | 2021-11-30 | 2022-03-11 | 深圳市名竹科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN114666113A (zh) * | 2022-03-14 | 2022-06-24 | 北京计算机技术及应用研究所 | 一种基于api网关的动态响应数据脱敏的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006015057A1 (de) * | 2006-03-31 | 2007-10-04 | Siemens Ag | Benutzerschnittstelle zur Herstellung einer Kommunikations-Verbindung |
CN106034070A (zh) * | 2015-03-16 | 2016-10-19 | 中兴通讯股份有限公司 | 智能网关的功能插件管理方法、客户端及系统 |
CN108243054A (zh) * | 2016-12-27 | 2018-07-03 | 中国移动通信有限公司研究院 | 网关的应用编程接口调用控制方法及装置 |
CN108512747A (zh) * | 2017-02-23 | 2018-09-07 | 中兴通讯股份有限公司 | 家庭网关的插件管理方法以及家庭网关、通信系统 |
CN110753127A (zh) * | 2019-10-29 | 2020-02-04 | 浪潮云信息技术有限公司 | 基于Kong的API网关实现请求参数转换的方法 |
CN111064722A (zh) * | 2019-12-12 | 2020-04-24 | 山西云时代技术有限公司 | 一种以api方式实现集协议转换的数据共享方法 |
CN111190609A (zh) * | 2018-11-14 | 2020-05-22 | 广东万丈金数信息技术股份有限公司 | 业务的处理方法、装置、设备和存储介质 |
CN112035182A (zh) * | 2020-08-31 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种基于kong的API网关监控方法及系统 |
-
2021
- 2021-07-28 CN CN202110859155.0A patent/CN113596151A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006015057A1 (de) * | 2006-03-31 | 2007-10-04 | Siemens Ag | Benutzerschnittstelle zur Herstellung einer Kommunikations-Verbindung |
CN106034070A (zh) * | 2015-03-16 | 2016-10-19 | 中兴通讯股份有限公司 | 智能网关的功能插件管理方法、客户端及系统 |
CN108243054A (zh) * | 2016-12-27 | 2018-07-03 | 中国移动通信有限公司研究院 | 网关的应用编程接口调用控制方法及装置 |
CN108512747A (zh) * | 2017-02-23 | 2018-09-07 | 中兴通讯股份有限公司 | 家庭网关的插件管理方法以及家庭网关、通信系统 |
CN111190609A (zh) * | 2018-11-14 | 2020-05-22 | 广东万丈金数信息技术股份有限公司 | 业务的处理方法、装置、设备和存储介质 |
CN110753127A (zh) * | 2019-10-29 | 2020-02-04 | 浪潮云信息技术有限公司 | 基于Kong的API网关实现请求参数转换的方法 |
CN111064722A (zh) * | 2019-12-12 | 2020-04-24 | 山西云时代技术有限公司 | 一种以api方式实现集协议转换的数据共享方法 |
CN112035182A (zh) * | 2020-08-31 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种基于kong的API网关监控方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168218A (zh) * | 2021-11-30 | 2022-03-11 | 深圳市名竹科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN114168218B (zh) * | 2021-11-30 | 2024-03-29 | 深圳市名竹科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN114666113A (zh) * | 2022-03-14 | 2022-06-24 | 北京计算机技术及应用研究所 | 一种基于api网关的动态响应数据脱敏的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11907700B2 (en) | Upgrading method and system, server, and terminal device | |
CN111726399B (zh) | Docker容器安全访问方法及装置 | |
WO2017129016A1 (zh) | 一种资源访问方法、装置及系统 | |
CN115516840B (zh) | 一种信息处理方法、设备、系统、介质、芯片及程序产品 | |
CN111625301A (zh) | 幂等处理方法、装置、设备及存储介质 | |
CN113079200A (zh) | 一种数据处理的方法、装置及系统 | |
CN103685194B (zh) | 一种能力调用方法、装置及终端 | |
CN111083180B (zh) | 物联网系统、物联网设备联动方法及装置 | |
CN113596151A (zh) | 插件管理方法、装置、数据处理方法及装置 | |
CN110855746A (zh) | 中间件管理方法、电子装置及存储介质 | |
CN112162873B (zh) | 一种远程调用方法、电子装置和存储介质 | |
CN103051623B (zh) | 限制开放平台的调用的方法 | |
CN115174592A (zh) | 企业级数据请求转发系统及方法 | |
CN103034811A (zh) | 一种文件处理的方法、系统及装置 | |
CN111722994A (zh) | 一种任务请求的响应方法及设备 | |
CN114422358B (zh) | Api网关配置更新方法及设备 | |
CN113849558B (zh) | 一种部署数据共享服务的方法和装置 | |
TWI441534B (zh) | 行動通訊裝置的資料傳輸方法及其系統 | |
CN115114631A (zh) | 基于可信计算的本地密钥托管方法、装置、设备以及介质 | |
CN115080276B (zh) | 应用程序功能动态开关方法、装置、存储介质及电子设备 | |
KR101782866B1 (ko) | 단말 장치 간 자원 접근 제어 방법 및 이를 위한 단말 장치 | |
WO2024148855A1 (zh) | 一种代码管理方法及相关系统 | |
CN111966422B (zh) | 一种本地化插件服务方法、装置、电子设备及存储介质 | |
US20250005569A1 (en) | Blockchain-based data processing method, electronic device, and computer-readable storage medium | |
CN115408175A (zh) | Api调用方法、装置、电子设备及计算机可读存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211102 |