一种智慧园区中台统一服务接口的实现方法及系统
文献发布时间:2023-06-19 09:57:26
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种智慧园区中台统一服务接口的实现方法及系统。
背景技术
企业服务总线ESB(全称Enterprise Service Bus),指的是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素,也是一种可以提供可靠的、有保证的消息技术的最新方法。ESB中间件产品利用的是Web服务标准和与公认的可靠消息MOM协议接口(例如IBM公司的WebSphere MQ、Tibco公司的Rendezvous及Sonic Software公司的SoniCMQ等)。ESB产品的共有特性包括:连接异构的MOM、利用Web服务描述语言接口封装MOM协议、以及在MOM传输层上传送简单对象应用协议SOAP传输流的能力。大多数ESB产品支持在分布式应用之间通过中间层实现直接对等沟通。
分布式企业服务总线ESB在提供服务时,采用以ESB为统一的服务提供方的模式,其存在的不足之处在于,需要代理进行统一配置管理工作,在服务请求并发显著提高时,只能通过优化ESB的思路进行解决,处理机制受到了很大的限制。
基于分布式ESB在提供服务中存在的不足,本发明提出一种智慧园区中台统一服务接口的实现方法及系统,实现在服务请求并发提高时,由基于并发操作的使能中心及中台服务总线共同承担优化任务。
发明内容
本发明实施例提供一种智慧园区中台统一服务接口的实现方法及系统,采用去中心化的方法,基于服务目录提供机制,在服务请求并发提高时,通过微服务集群及中台服务总线共同进行优化处理。
为解决上述技术问题,本发明公开了如下技术方案:
本发明第一方面提供了一种智慧园区中台统一服务接口的实现方法,包含以下步骤:
建立服务目录SDA,以消息队列的形式响应请求;
创建SDA订阅,在此订阅上建立响应应用,并将变动内容更新至Redis缓存内;
接收各应用系统发送的服务请求;
判断服务目录中是否包含调用地址,
若是,则各应用系统调用微服务地址进行去中心化调用;
若否,则调用统一服务检索定位程序,进行动态服务请求源的定位,然后通过微服务集群向应用系统进行反馈,,同时在微服务集群启动或更新服务目录时向SDA订阅发布更新内容。
基于上述方案,本方法做如下优化:
进一步的,所述通过微服务集群向应用系统进行反馈,包括下述步骤:
判断检索调用地址在微服务集群中是否存在,
若检索到调用地址,则进行反馈并更新服务目录,各应用系统调用微服务地址进行去中心化调用;
若未检索到调用地址,则反馈暂无调用地址标识,各应用系统进行标识判定,并进行后续业务流转。
优选的,所述建立服务目录SDA使用的消息队列为Redis队列。
进一步的,所述建立服务目录SDA,包括下述步骤:
汇总对接服务总线的业务场景应用系统或相关硬件管理,提供统一接口服务目录信息,并以目录结构服务标识出中台提供的服务项;
生成统一工具包,提供统一入口URL并实现去中心化服务总线机制。
进一步的,所述中台提供的服务项包括Redis进行缓存和MQ进行消息传递。
进一步的,如上所述的一种智慧园区中台统一服务接口的实现方法,所述判断服务目录中是否包含调用地址,包括下述步骤:
基于权限中心的授权进行服务的合法性验证;
依据黑名单或白名单进行权限管控;
通过合法性验证的访问检索服务目录项,并依据服务目录配置信息进行路由服务流转。
本发明第二方面提供了一种智慧园区中台统一服务接口的实现系统,包括客户端、服务中台及微服务集群;
所述客户端用于向服务中台发送服务请求;
所述服务中台用于建立服务目录SDA,以消息队列的形式响应请求;接收客户端的服务请求并判断服务目录中是否包含调用地址,若是,则客户端调用微服务地址进行去中心化调用;若否,则服务中台调用统一服务检索定位程序,向微服务集群发送动态服务请求源的定位;
所述微服务集群创建对应客户端请求的SDA订阅以响应客户端请求,并将变动内容更新至Redis缓存内,同时向客户端进行反馈,并在启动或更新服务目录时向SDA发布更新内容。
进一步的,所述微服务集群向客户端进行反馈,首先判断检索调用地址在微服务集群中是否存在,若是,则进行反馈并更新服务目录,客户端调用微服务地址进行去中心化调用;若否,则反馈暂无调用地址标识,客户端进行标识判定,并进行后续业务流转。
优选的,所述服务中台建立服务目录SDA使用的消息队列为Redis队列。
进一步的,所述服务中台包括目录服务单元及工具包生成单元;
所述目录服务单元用于汇总对接服务总线的业务场景客户端或相关硬件管理,提供统一接口服务目录信息,并以目录结构服务标识出中台提供的服务项;
所述工具包生成单元用于生成统一工具包,提供统一入口URL并实现去中心化服务总线机制。
如上所述的一种智慧园区中台统一服务接口的实现系统,所述目录服务单元提供的服务项包括Redis进行缓存和MQ进行消息传递。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本申请实施例提供的一种智慧园区中台统一服务接口的实现方法,通过汇总梳理对接中台服务总线的业务场景应用子系统或相关硬件管理,制定服务目录,生成统一工具包,在应用子系统或相关硬件调用工具包时,通过工具包的去中心化机制访问中台服务总线,基于权限中心的授权进行服务的合法性验证,使通过合法性验证的访问检索服务目录项,并依据服务目录配置信息进行路由服务流转。本实施例方法解决了分布式ESB在提供服务时以ESB为统一的服务提供方的模式,以及在服务请求并发显著提高时只能通过优化ESB的思路进行解决的限制。该方法通过去中心化的设计理念,基于服务目录提供机制,在服务请求并发显著提高时,对于中台服务的提供,只要各个使能中心能够承载并发,无需进行优化处理,而解决并发也不再是服务总线自身的问题,而是由基于并发操作的使能中心及中台服务总线共同承担优化责任。
本申请实施例提供的一种智慧园区中台统一服务接口的实现系统,能够实现第一方面的方法,并取得相同的效果。
附图说明
此处的附图被并入说明书中并构成说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请提供的一种智慧园区中台统一服务接口的实现方法一种实施例流程图;
图2为本申请提供的一种智慧园区中台统一服务接口的实现方法另一种实施例流程图;
图3为本申请实施例提供的一种智慧园区中台统一服务接口的实现系统结构示意图;
附图标记:
1-客户端,2-服务中台,3-微服务集群。
具体实施方式
为使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
为了方便对实施例的理解,下面对实施例中涉及的缩略词和关键术语予以解释和说明。
SDA:ServiceDirectory-API,服务目录;
Redis:Remote Dictionary Server,即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。
图1示出了本申请提供的一种智慧园区中台统一服务接口的实现方法一种实施例流程图。
参照图1,该实施例方法的实现步骤如下:
建立服务目录SDA,以消息队列的形式响应请求;
创建SDA的一个订阅,在此订阅上建立响应应用OnSDAUpdate,并将变动内容更新至Redis缓存内;
接收各应用系统发送的服务请求;
判断服务目录中是否包含调用地址,
若是,则各应用系统调用微服务地址进行去中心化调用;
若否,则调用统一服务检索定位程序,进行动态服务请求源的定位,然后通过微服务集群向应用系统进行反馈,同时在微服务集群启动或更新服务目录时向SDA订阅发布更新内容。
具体而言,上述实现方法中,所述通过微服务集群向应用系统进行反馈,首先微服务集群判断检索调用地址在微服务集群中是否存在,
若是,即检索到调用地址,则进行反馈并更新服务目录,各应用系统调用微服务地址进行去中心化调用;
若否,即未检索到调用地址,则反馈暂无调用地址标识,各应用系统进行标识判定,并进行后续业务流转。
具体的,所述建立服务目录SDA使用的消息队列为Redis队列。
进一步而言,所述建立服务目录SDA,包括下述步骤:
汇总梳理对接服务总线的业务场景应用系统或相关硬件管理,制定汇总服务目录,包括提供统一接口服务目录信息,以目录结构服务标识出中台提供的所有服务项,所述服务项包括Redis进行缓存和MQ进行消息传递;
生成统一工具包,包括提供统一入口URL并实现去中心化服务总线机制。
更进一步来说,如上所述的一种智慧园区中台统一服务接口的实现方法,所述判断服务目录中是否包含调用地址,包括下述步骤:
基于权限中心的授权进行服务的合法性验证,包括数据格式、合法来源等;
依据黑名单或白名单,如系统角色、访问者标记等,进行权限管控;
通过合法性验证的访问检索服务目录项,并依据服务目录配置信息进行路由服务流转。
图2示出了本申请提供的一种智慧园区中台统一服务接口的实现方法另一种实施例流程图。
参照图2,该实施例的方法,以智慧园区人员身份识别为例进行说明,其实现过程如下:
建立服务目录SDA,以Redis队列的形式响应请求;
创建SDA的一个订阅,在此订阅上建立响应应用OnSDAUpdate,并将变动内容更新至Redis缓存内;
园区人员到达园区后,基于园区人员识别类型,如IC卡、二维码及人脸识别等形式进行门禁识别;
应用系统向服务总线发送人员识别权限的请求;
服务总线判断调用地址在服务目录中是否存在,
若是,则中台系统权限分配服务接口;
若否,则调用统一服务检索定位程序定位人员权限判断接口,进行动态服务请求源的定位,然后通过微服务集群判断检索调用地址在微服务集群中是否存在,若检索到调用地址,则进行反馈并更新服务目录,中台系统权限分配服务接口;若未检索到调用地址,则反馈暂无调用地址标识,各应用系统进行标识判定,并进行后续业务流转;,同时微服务集群在微服务启动或更新服务目录时向SDA订阅发布更新内容。
图3示出了本申请实施例提供的一种智慧园区中台统一服务接口的实现系统结构示意图。
参照图3,本实施例系统包括客户端1、服务中台2及微服务集群3;
所述客户端1用于向服务中台发送服务请求;
所述服务中台2用于建立服务目录SDA,以消息队列的形式响应请求;接收客户端1的服务请求并判断服务目录中是否包含调用地址,若是,则客户端1调用微服务地址进行去中心化调用;若否,则服务中台3调用统一服务检索定位程序,向微服务集群3发送动态服务请求源的定位;
所述微服务集群3创建对应客户端请求的SDA订阅以响应客户端请求,并将变动内容更新至Redis缓存内,同时向客户端1进行反馈,并在启动或更新服务目录时向SDA发布更新内容。
具体而言,上述系统中,所述微服务集群3向客户端1进行反馈,首先判断检索调用地址在微服务集群中是否存在,若是,则进行反馈并更新服务目录,客户端1调用微服务地址进行去中心化调用;若否,则反馈暂无调用地址标识,客户端1进行标识判定,并进行后续业务流转。
具体的,所述服务中台2建立服务目录SDA使用的消息队列为Redis队列。
进一步而言,所述服务中台2包括目录服务单元及工具包生成单元;
所述目录服务单元用于汇总对接服务总线的业务场景客户端或相关硬件管理,提供统一接口服务目录信息,并以目录结构服务标识出中台提供的服务项,所述服务项包括Redis进行缓存和MQ进行消息传递;
所述工具包生成单元用于生成统一工具包,提供统一入口URL并实现去中心化服务总线机制。
如上所述的一种智慧园区中台统一服务接口的实现系统,所述服务中台2判断服务目录中是否包含调用地址,具体包括下述步骤:
基于权限中心的授权进行服务的合法性验证,包括数据格式、合法来源等;
依据黑名单或白名单,如系统角色、访问者标记等,进行权限管控;
通过合法性验证的访问检索服务目录项,并依据服务目录配置信息进行路由服务流转。
本申请实施例中提供的智慧园区中台统一服务接口的实现方法及系统,通过工具包的去中心化机制访问中台服务总线,基于权限中心的授权进行服务的合法性验证,并依据黑名单或白名单进行权限管控,使通过合法性验证的访问检索服务目录项,依据服务目录配置信息,进行路由服务流转。本方案解决了分布式ESB在提供服务时以ESB为统一的服务提供方的模式概念,在服务请求并发显著提高时只能优化ESB进行解决的思路,通过去中心化的设计理念,基于服务目录提供机制,在服务请求并发显著提高时,通过微服务集群及中台服务总线共同进行优化处理。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 一种智慧园区中台统一服务接口的实现方法及系统
- 一种统一支付中台的实现系统