CN111221511A - 一种插件式微服务接口的开发系统 - Google Patents
一种插件式微服务接口的开发系统 Download PDFInfo
- Publication number
- CN111221511A CN111221511A CN202010002507.6A CN202010002507A CN111221511A CN 111221511 A CN111221511 A CN 111221511A CN 202010002507 A CN202010002507 A CN 202010002507A CN 111221511 A CN111221511 A CN 111221511A
- Authority
- CN
- China
- Prior art keywords
- service
- module
- data
- access
- interface
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种插件式微服务接口的开发系统,包括:统一接口服务模块,用于提供微服务应用的唯一出入口;预处理模块,用于对来自统一接口服务模块的数据进行数据转换、安全验证、服务调度和事务管理;服务插件模块,对服务进行插件化处理,使服务继承自同一服务处理接口,将服务的信息存入服务列表中;终端通过服务列表访问插件化的服务;数据访问模块,用于统一数据存储方式的接口,通过调用所述接口完成数据的访问;外部服务接入模块,接收外部服务接入的请求,根据外部服务接入请求,与其他微服务模块或系统进行数据的交互,避免开发人员的重复开发工作,提高开发效率。
Description
技术领域
本申请涉及微服务接口开发领域,具体涉及一种插件式微服务接口的开发系统
背景技术
微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。如何应用微服务架构减少开发人员不必要的重复开发的工作量,提高开发工作效率,是目前亟需解决的问题。
发明内容
本申请提供一种插件式微服务接口的开发系统,避免开发人员的重复开发,提高开发效率。
本申请提供一种插件式微服务接口的开发系统,包括:
统一接口服务模块,用于提供微服务应用的唯一出入口;
预处理模块,用于对来自统一接口服务模块的数据进行数据转换、安全验证、服务调度和事务管理;
服务插件模块,对服务进行插件化处理,使服务继承自同一服务处理接口,将服务的信息存入服务列表中;终端通过服务列表访问插件化的服务;
数据访问模块,用于统一数据存储方式的接口,通过调用所述接口完成数据的访问;
外部服务接入模块,接收外部服务接入的请求,根据外部服务接入请求,与其他微服务模块或系统进行数据的交互。
优选的,统一接口服务模块,用于提供微服务应用的唯一出入口,还包括:
外部业务请求服务通过所述唯一出入口进入所述微服务应用;
通过所述唯一出入口返回业务处理结果数据。
优选的,所述数据转换,包括:
将来自统一接口服务模块的数据转换为同一种格式。
优选的,所述安全验证,包括:
通过数据库中存储的服务列表,验证从统一接口服务模块传递过来的请求地址的合法性。
优选的,所述服务列表,
存储于数据库或缓存数据库中;
所述服务列表定时刷新。
优选的,通过数据库中存储的服务列表,验证从统一接口服务模块传递过来的请求地址的合法性,还包括:
若从统一接口服务模块传递过来的请求地址不合法,则返回错误信息。
优选的,所述事务调度,包括:
通过请求地址中的服务名称,从资源加载器中获取实现类;
若所述实现类未加入资源加载器中,则自动实例化接口实现类并加入到资源加载器中。
优选的,所述事务管理,包括:
对微服务的业务请求进行统一的数据库事务管理。
优选的,所述将服务的信息存入服务列表中,包括:
服务名称、全类名、以及版本信息。
优选的,外部服务接入模块,接收外部服务接入的请求,根据外部服务接入请求,与其他微服务模块或系统进行数据的交互,包括:
接收外部服务从不同接口传入的请求;
不同接口返回请求的数据,用于与其他微服务模块或系统进行数据的交互。
本申请提供一种插件式微服务接口的开发系统,包括:统一接口服务模块,用于提供微服务应用的唯一出入口;预处理模块,用于对来自统一接口服务模块的数据进行数据转换、安全验证、服务调度和事务管理;服务插件模块,对服务进行插件化处理,使服务继承自同一服务处理接口,将服务的信息存入服务列表中;终端通过服务列表访问插件化的服务;数据访问模块,用于统一数据存储方式的接口,通过调用所述接口完成数据的访问;外部服务接入模块,接收外部服务接入的请求,根据外部服务接入请求,与其他微服务模块或系统进行数据的交互,避免开发人员的重复开发工作,提高开发效率。
附图说明
图1是本申请提供的一种插件式微服务接口的开发系统的架构图;
图2是本申请涉及的预处理流程图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
图1是本申请提供的一种插件式微服务接口的开发系统的架构图,下面结合图1对申请提供的系统进行详细说明。
如图1所示,一种插件式微服务接口的开发系统包括:统一接口服务模块、预处理模块、服务插件模块、数据访问模块、外部服务接入模块。
统一接口服务模块,用于提供微服务应用的唯一出入口。外部业务请求服务通过所述唯一出入口进入所述微服务应用;通过所述唯一出入口返回业务处理结果数据。统一接口服务就是整个微服务应用的唯一出入口,所有来自各种终端的请求服务都必须通过这一个接口服务进入该微服务应用,进行相关的业务处理,最后返回业务处理结果数据。所有的外部请求都使用某种规范接口地址形式如api/XXX,XXX即为本次请求的服务名称。
预处理模块,用于对来自统一接口服务模块的数据进行数据转换、安全验证、服务调度和事务管理。
来自统一接口服务的数据在进行真正的业务处理前,需要先进行一下预先的处理,对一些格式不同的数据、不合法的请求等进行第一层过滤。预处理层主要有数据转换、安全验证、服务调度和事务管理。以下将详细简介各模块职责。
数据转换,将来自统一接口服务模块的数据转换为同一种格式。获取终端请求中数据,将不同格式的数据统一转换为JSON格式,便于后续的业务处理,同时记录该请求的原始数据格式,在业务处理完毕后,返回数据时再次进行数据格式的转换。
安全验证,通过数据库中存储的服务列表,验证从统一接口服务模块传递过来的请求地址的合法性。具体的,解析获取从统一服务接口传递过来请求地址api/*中的*,即服务名。安全验证模块查询存储在关系型数据库或者是缓存数据库中的服务列表,也可以在微服务启动时就读取服务列表,直接存在应用服务器的内存中,同时定时刷新服务列表,保证服务列表及时更新。
通过服务列表信息来验证该请求是否为合法请求(是否存在、启用、在有效期内等基础校验),不合法请求直接返回错误信息,如果是合法请求才能够继续进行下一步处理。除了服务名称合法性的验证外,还能够对终端请求中的token、version等信息进行验证,进一步保证请求的合法性、安全性。服务列表,存储于数据库或缓存数据库中;所述服务列表定时刷新。
事务调度,通过请求地址中的服务名称,从资源加载器中获取实现类;若所述实现类未加入资源加载器中,则自动实例化接口实现类并加入到资源加载器中。具体的,通过请求地址中的服务名称,从资源加载器(所有的服务接口对象池,键值对类型,服务名和具体的实现类一一对应)中获取具体的实现类,如果该实现类尚未加入资源加载器中,则自动实例化接口实现类加入到资源加载器中。将请求数据作为参数传递入服务接口的实现类中,进行业务处理。
事务管理,对微服务的业务请求进行统一的数据库事务管理。具体的,根据实际业务功能的需要,只需在表明本业务是否需要事务管理即可,架构对微服务的业务请求进行统一的数据库事务管理,无需开发人员进行过多的编码。
服务插件模块,对服务进行插件化处理,使服务继承自同一服务处理接口,将服务的信息存入服务列表中;终端通过服务列表访问插件化的服务。具体的,将所有服务都进行插件化继承自同一个服务处理接口,必须实现doCheck(数据合法性校验)、doOperate(业务逻辑处理)、doAfterOperate(业务后处理)、isNeedTransaction(是否需要事务管理)四个方法。单个服务插件在实现这些公用的方法之后,再把服务名称、全类名、以及版本信息等信息存入到服务列表中,即可完成服务接口的编写,终端通过api/服务名就可以访问新服务接口了,提供开发效率。
数据访问模块,用于统一数据存储方式的接口,通过调用所述接口完成数据的访问。具体的,将本机文件、关系型数据库、缓存、MQ、分布式数据库、云存储等各种形式的数据存储方式的交互接口进行统一,各式各样的数据存储方式全部都集中在数据访问模块中,上层的业务逻辑模块无需关心数据访问模块是如何具体实现数据访问的,只需要调用读取、更新、存储等接口即可。具体的存储方式的选用、调用方式、调用顺序、数据结构等处理均由数据访问模块内部完成,便于后期的维护和扩展。
外部服务接入模块,接收外部服务从不同接口传入的请求;不同接口返回请求的数据,用于与其他微服务模块或系统进行数据的交互。具体的,外部服务接入就是相对本微服务而言的一个外部服务交互模块,它可以实现与本系统的其它微服务应用交互,同时也可以通过各种不用的接口方式(HTTP接口、Web Service接口、EJB接口等)同其它的业务系统进行数据的交互来实现一个复杂的业务功能。和数据访问模块相同,上层的业务逻辑模块同样也无需关心和其它服务交互的具体实现,只需要调用外部服务对应的接口传入所需要的数据参数,即可获取到想要的数据,实现和其他的业务系统进行数据交互。
本申请提供的系统,基于数据库级别的插件的安全性校验,阻断来自各种客户端不合法的、恶意的请求,防止微服务应用受到恶意的攻击,影响微服务正常的业务功能,同时,插件化应用架构有利于在不关系整体应用架构的前提下快速地进行新增服务的开发和现有服务的维护工作,对于新增的业务,只需要编写业务逻辑部分即可完成程序的实现,无需重点关心终端的请求数据的来源和最终返回数据的格式、权限等问题。
本申请提供一种插件式微服务接口的开发系统,包括:统一接口服务模块,用于提供微服务应用的唯一出入口;预处理模块,用于对来自统一接口服务模块的数据进行数据转换、安全验证、服务调度和事务管理;服务插件模块,对服务进行插件化处理,使服务继承自同一服务处理接口,将服务的信息存入服务列表中;终端通过服务列表访问插件化的服务;数据访问模块,用于统一数据存储方式的接口,通过调用所述接口完成数据的访问;外部服务接入模块,接收外部服务接入的请求,根据外部服务接入请求,与其他微服务模块或系统进行数据的交互,避免开发人员的重复开发工作,提高开发效率。
最后应该说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种插件式微服务接口的开发系统,其特征在于,包括:
统一接口服务模块,用于提供微服务应用的唯一出入口;
预处理模块,用于对来自统一接口服务模块的数据进行数据转换、安全验证、服务调度和事务管理;
服务插件模块,对服务进行插件化处理,使服务继承自同一服务处理接口,将服务的信息存入服务列表中;终端通过服务列表访问插件化的服务;
数据访问模块,用于统一数据存储方式的接口,通过调用所述接口完成数据的访问;
外部服务接入模块,接收外部服务接入的请求,根据外部服务接入请求,与其他微服务模块或系统进行数据的交互。
2.根据权利要求1所述的系统,其特征在于,统一接口服务模块,用于提供微服务应用的唯一出入口,还包括:
外部业务请求服务通过所述唯一出入口进入所述微服务应用;
通过所述唯一出入口返回业务处理结果数据。
3.根据权利要求1所述的系统,其特征在于,所述数据转换,包括:
将来自统一接口服务模块的数据转换为同一种格式。
4.根据权利要求1所述的系统,其特征在于,所述安全验证,包括:
通过数据库中存储的服务列表,验证从统一接口服务模块传递过来的请求地址的合法性。
5.根据权利要求4所述的系统,其特征在于,所述服务列表,
存储于数据库或缓存数据库中;
所述服务列表定时刷新。
6.根据权利要求4所述的系统,其特征在于,通过数据库中存储的服务列表,验证从统一接口服务模块传递过来的请求地址的合法性,还包括:
若从统一接口服务模块传递过来的请求地址不合法,则返回错误信息。
7.根据权利要求1所述的系统,其特征在于,所述事务调度,包括:
通过请求地址中的服务名称,从资源加载器中获取实现类;
若所述实现类未加入资源加载器中,则自动实例化接口实现类并加入到资源加载器中。
8.根据权利要求1所述的系统,其特征在于,所述事务管理,包括:
对微服务的业务请求进行统一的数据库事务管理。
9.根据权利要求1所述的系统,其特征在于,所述将服务的信息存入服务列表中,包括:
服务名称、全类名、以及版本信息。
10.根据权利要求1所述的系统,其特征在于,外部服务接入模块,接收外部服务接入的请求,根据外部服务接入请求,与其他微服务模块或系统进行数据的交互,包括:
接收外部服务从不同接口传入的请求;
不同接口返回请求的数据,用于与其他微服务模块或系统进行数据的交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010002507.6A CN111221511A (zh) | 2020-01-02 | 2020-01-02 | 一种插件式微服务接口的开发系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010002507.6A CN111221511A (zh) | 2020-01-02 | 2020-01-02 | 一种插件式微服务接口的开发系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111221511A true CN111221511A (zh) | 2020-06-02 |
Family
ID=70828082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010002507.6A Pending CN111221511A (zh) | 2020-01-02 | 2020-01-02 | 一种插件式微服务接口的开发系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221511A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111915416A (zh) * | 2020-06-28 | 2020-11-10 | 航天信息股份有限公司 | 一种基于微服务对发票进行认证的方法及系统 |
CN112256414A (zh) * | 2020-10-19 | 2021-01-22 | 浪潮天元通信信息系统有限公司 | 一种连接多种计算存储引擎的方法及系统 |
CN112698817A (zh) * | 2021-01-05 | 2021-04-23 | 深圳力维智联技术有限公司 | 基于微服务架构的消息接入方法、装置、系统及存储介质 |
CN114461359A (zh) * | 2021-12-30 | 2022-05-10 | 江苏苏州农村商业银行股份有限公司 | 基于微服务的统一接口管理方法及其应用平台 |
CN114629945A (zh) * | 2022-03-22 | 2022-06-14 | 深圳壹账通智能科技有限公司 | 基于微服务架构的接口调用方法、装置及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878393A (zh) * | 2017-01-16 | 2017-06-20 | 深圳市商沃科技发展有限公司 | 一种基于融合微服务架构的系统 |
CN108200146A (zh) * | 2017-12-29 | 2018-06-22 | 华南理工大学 | 一种轻量级的微服务架构实现方法 |
CN108989356A (zh) * | 2018-09-10 | 2018-12-11 | 四川长虹电器股份有限公司 | 一种api网关实现协议转换的方法 |
CN110209719A (zh) * | 2019-05-20 | 2019-09-06 | 华南理工大学 | 一种基于微服务架构的多种数据库统一访问系统及方法 |
-
2020
- 2020-01-02 CN CN202010002507.6A patent/CN111221511A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878393A (zh) * | 2017-01-16 | 2017-06-20 | 深圳市商沃科技发展有限公司 | 一种基于融合微服务架构的系统 |
CN108200146A (zh) * | 2017-12-29 | 2018-06-22 | 华南理工大学 | 一种轻量级的微服务架构实现方法 |
CN108989356A (zh) * | 2018-09-10 | 2018-12-11 | 四川长虹电器股份有限公司 | 一种api网关实现协议转换的方法 |
CN110209719A (zh) * | 2019-05-20 | 2019-09-06 | 华南理工大学 | 一种基于微服务架构的多种数据库统一访问系统及方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111915416A (zh) * | 2020-06-28 | 2020-11-10 | 航天信息股份有限公司 | 一种基于微服务对发票进行认证的方法及系统 |
CN112256414A (zh) * | 2020-10-19 | 2021-01-22 | 浪潮天元通信信息系统有限公司 | 一种连接多种计算存储引擎的方法及系统 |
CN112698817A (zh) * | 2021-01-05 | 2021-04-23 | 深圳力维智联技术有限公司 | 基于微服务架构的消息接入方法、装置、系统及存储介质 |
CN112698817B (zh) * | 2021-01-05 | 2024-06-07 | 深圳力维智联技术有限公司 | 基于微服务架构的消息接入方法、装置、系统及存储介质 |
CN114461359A (zh) * | 2021-12-30 | 2022-05-10 | 江苏苏州农村商业银行股份有限公司 | 基于微服务的统一接口管理方法及其应用平台 |
CN114629945A (zh) * | 2022-03-22 | 2022-06-14 | 深圳壹账通智能科技有限公司 | 基于微服务架构的接口调用方法、装置及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221511A (zh) | 一种插件式微服务接口的开发系统 | |
JP7000442B2 (ja) | ブロックチェーンクラウドサービスのためのインターフェイスを提供するためのシステムおよび方法 | |
CN1291318C (zh) | 在计算网络中供应聚合服务的方法和系统 | |
US8955037B2 (en) | Access management architecture | |
US20080148230A1 (en) | System and method for managing hierarchical software development | |
US8745088B2 (en) | System and method of performing risk analysis using a portal | |
CN112612629A (zh) | 一种组件式的数据接口实现方法与系统 | |
US20080104250A1 (en) | Identity migration system apparatus and method | |
US20080040418A1 (en) | Accessing existing data using a service oriented architecture gateway | |
CN111177246A (zh) | 一种业务数据的处理方法及装置 | |
CN101548263B (zh) | 模拟用户和/或拥有者的不透明管理数据选项的方法和系统 | |
CN112291305A (zh) | 基于统一标识的码链构建方法及装置 | |
CN112559010A (zh) | 一种基于微服务的多应用系统数据隔离实现方法和系统 | |
CN115408053A (zh) | 一种基于servlet生成动态接口方法及装置 | |
CN111241504A (zh) | 身份验证方法、装置、电子设备及存储介质 | |
CN106452815A (zh) | 一种信息化管理方法、装置及系统 | |
CN114741056A (zh) | 一种基于大数据和云计算的物联网管理平台 | |
CN111984236A (zh) | 组件标准化管理方法、装置、计算机设备及可读存储介质 | |
CN114095272B (zh) | 基于内外网安全架构的内网数据上链方法及装置 | |
CN112612461B (zh) | 一种erp系统中统一管理和发布安全api接口的方法 | |
CN112583890B (zh) | 基于企业办公系统的消息推送方法、装置和计算机设备 | |
CN113987035A (zh) | 区块链的外部数据访问方法、装置、系统、设备和介质 | |
CN114238927A (zh) | 业务系统登录方法、系统、装置、计算机设备及存储介质 | |
CN113781200A (zh) | 自动征信授权方法、系统以及电子设备 | |
CN113467891A (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 |