校园一卡通能力开放平台设计

2023-08-21 04:20高逸昕孔敬媛王逸群
无线互联科技 2023年12期
关键词:校园一卡通

高逸昕 孔敬媛 王逸群

摘要: 在当今互联网应用发展中,能力开放平台起到很重要的作用。为实现校园一卡通系统与智慧校园各项应用的深度融合,建设校园一卡通能力开放平台,梳理各项核心数据与服务,以统一的规范进行开放。文章通过分析校园一卡通能力开放平台的功能需求,设计基于微服务框架的平台架构和能力调用的业务流程,根据实际业务规模设计平台的物理部署方案。实际测试结果表明平台设计达到了预期功能目标,具有良好的服务并发性能和快速响应能力。

关键词:校园一卡通;能力开放平台;微服务架构

中图分类号: TP393  文献标志码: A

0 引言

校园一卡通系统是数字校园的基础应用,长期以来,高校致力于推进面向校园卡的校园应用集成[1]。通过与校园一卡通系统对接,数字校园各个应用系统能够共享校园卡的身份识别和电子支付功能,如机房管理系统、图书管理系统、上课考勤系统、大学生体测系统等,真正实现了“一卡在手,走遍校园”的主旨。校园卡在教学、管理、生活等方面的广泛应用方便了师生,提高了校园的管理水平和运行效率。

随着云计算、移动互联网、人工智能等新技术的不断发展,新一代校园一卡通系统呈现出卡码脸多介质、移动支付、聚合支付(校园卡、银行卡、微信、支付宝等)等新特征[2-3],线上功能更加丰富。当前,在高校信息化整体规划下,建设基于智慧校园的校园一卡通系统,将校园卡的数据和服务通过API的形式开放,从而与教学、科研、管理信息系统进一步融合,使师生能够随时随地随需地获取资源和服务。

1 校园一卡通能力开放平台

早期,基于校园一卡通的应用集成,都遵循一套API接口,将读卡、扣款、写卡等功能集成到自己的系统流程中,从而获取的核心能力就是校园卡的身份认证和支付功能。比如:图书借阅管理系统通过读卡获取读者身份,超期罚款可以通过校园卡扣款。随着校园一卡通系统数据和应用的不断丰富,API数量不断增多,各个系统之间点对点的调用交叉,部分数据不统一,从而导致管理混乱。为了加强对一卡通系统各项开放能力进行集中统一管理,实现能力的聚合、开放、鉴权、转发、限流和监控,校园一卡通能力开放平台应运而生。

能力开放平台[4-5]是一个独立的业务管理平台系统,它通过数据的治理和业务的梳理,将核心数据和核心服务通过API的形式开放。例如:阿里云开发者平台、百度地图开放平台、微信开放平台等,都建立了良好的开发者生态体系。校园一卡通能力开放平台实现了各个子系统能力的聚合,为各子系统的能力开放管控提供统一方案,避免重复开放,形成统一的能力规范;同时,能力开放平台还提供了统一的鉴权和监控管理能力。通过建设能力开放平台,就可以基于校园一卡通的核心能力,构建一个强大的应用生态体系。

2 校园一卡通能力开放平台设计

校园一卡通能力开放平台采用新的技术及“能力开放平台+应用”的设计理念,按照业务板块分散建立各个系统,向“重开放平台、薄系统应用”的方向发展,逐步形成统一的架构体系。对开放平台的顶层进行重点设计和规划,重点突出共享服务层和开放公用的思想,实现统一对外提供服务、统一访问数据层,满足并达到能力开放、数据共享的核心价值。

2.1 平台功能

校园一卡通能力開放平台主要功能应包括:(1)定义能力接口的标准规范。为汇聚到本平台的能力制定命名规则、认证方式、签名方式等标准。(2)实现能力聚合的管理。将各业务中台、场景服务提供的能力汇聚到本平台中,便于智慧校园中各个应用开发者查阅、使用这些能力。(3)实现能力开放的管理。支持应用开发者自助申请开通本平台聚合的能力,并支持对各应用系统使用本平台的能力情况进行有效管控。(4)提供鉴权能力。在接收到应用服务能力使用请求时,先进行鉴权,确认被合法授权后才将请求转发到真正提供服务的业务中台或场景服务中。(5)提供监控访问能力。在接收到合作方(第三方)请求之后,能力平台会将这些请求的记录进行保留,定期生成日志和统计图表,做到有据可查,保证了系统访问的可控。

2.2 架构设计

校园一卡通能力开放平台建设的总体目标是“服务治理+能力开放”,在进行架构设计时,遵从以下3点原则:(1)对于内部服务的治理,包括业务梳理、机构化、整合与改造、实现校园全业务的流程统一和管控统一,从而为能力开发奠定坚实基础。(2)能力开放,以此聚合第三方应用,拓展业务渠道,构建敏捷的业务运营与创新能力,将业务重点放到师生关注的内容上来。(3)能力开放平台建设遵循“标准化、集中化、统一化、安全化”的原则。标准化指制定方案和规范,实现标准接入、标准协议、鉴权、运营监控的基本功能,定义好标准后对外开放。集中化指所有服务集中部署于统一平台,提升集中化管理水平。统一化指实现服务的统一注册、统一管理、统一发布、统一接入、统一监控的全生命周期管理。安全化指通过密钥、代理模式加固信息安全防御能力,防破解、防篡改、防止敏感信息泄露。

根据前面所述平台的功能和架构设计,校园一卡通能力开放平台包含能力网关、能力管理模块、权限管理模块、服务注册配置中心、数据存储等部分,平台架构如图1所示。校园一卡通系统各项能力以微服务的形式在能力开放平台进行注册,以RESTful API接口[6]的形式映射到能力网关,供应用客户端调用;应用客户端采用HTTPS协议访问能力网关。

网关完成应用客户端的认证、鉴权、请求的路由转发和限流等功能。能力管理平台实现能力聚合开放,把相互的能力、资源、信息等进行共享、组合、升级。权限管理模块提供认证和鉴权服务,授权采用OAuth2.0协议[7],认证采用JWT协议。持久数据存储在MySQL数据库中,同时使用Redis作为缓存,提供数据响应速度。平台提供的各种能力以微服务的形式提供。因此,基于Dubbo搭建服务注册配置中心,Dubbo可以提供服务注册、服务调用、负载均衡和智能容错等功能,还可以对各项能力进行实时监控、分析、告警等精细化管理。

2.3 開放能力列表

根据对校园一卡通核心数据和服务的梳理,确定开放平台注册的能力列表,包含账号登录、账号查询、流水查询、银行卡转账等,客户端通过HTTPS的方式访问能力接口,具体如表1所示。

2.4 业务流程设计

能力开放平台聚合了各个业务中台提供的可开放的能力。合作方(第三方)应用客户端要调用所需的能力,向能力开放平台申请令牌(如:Java Web Token)[8],能力开放平台根据客户端在中心注册所配置的节点,对所请求的第三方授权进行令牌授予。

合作方(第三方)首先使用能力开放平台所提供的应用ID和密钥,向鉴权中心发送一个认证的请求,如图2所示。能力开放平台会验证此客户端的合法性。若合法,将生成一个Jwt,此时的token(Jwt)中加密了客户端的唯一ID、可访问权限列表的信息,之后返回给合作方。合作方可以调用能力开放平台的相关功能。下一步以调用平台支付能力为例,合作方(第三方)除了传递支付本身相关的参数以外,在请求头(header)中带上Jwt消息,支付能力平台接收到来自客户端的请求后,会验证这个Jwt的合法性和权限相关性。若通过,将给予客户端调用支付能力的权限并进行支付。此时,开放平台处理来自客户端的支付请求(还可继续调用银行的外部支付接口完成支付),待处理完成之后,将处理结果按照约定返回给合作方(第三方)。以上是一个典型的请求-响应流程,但开放平台自身还会提供基于定时任务或者消息队列的反馈机制,这点与回调的流程是类似的。

3 校园一卡通能力开放平台部署与测试

3.1 平台物理部署配置

根据能力开放平台的架构设计,实际部署方案为:

(1)前端部署两台Nginx服务器用于应用反向代理,单台Nginx服务器处理并发数可达3万,足以满足学校高峰时段的使用。

(2)后端(服务端)部署两台服务器用于微服务业务处理。将微服务Java源文件进行编译,并打包成Jar(War)包,分别拷贝到两台服务器的tomcat/webapps目录下,同时启动tomcat。程序会把微服务的节点(各个子服务能力提供者)注册到配置中心的树状节点中。此时,服务消费端可以通过配置中心服务器的树状列表找到自己需要的服务,从而实现分布式微服务的功能。

(3)部署一台Redis服务器和1台MySQL服务器。主要是考虑到应用高峰时段能力的调用会非常频繁,如果单纯采用关系型数据库直接查询,会导致数据查询缓慢、效率低下。系统采用Redis作为能力平台的高速缓存,高峰期所有的能力调用都是直接通过内存中的高速缓存来进行,这样可以保证调用速度在毫秒级别,从而满足高峰时段的用户体验。

3.2 平台性能测试

能力开放平台主要是对API接口进行管理,它对能力调用的性能至关重要。第三方应用经过网关,网关路由转发到后台服务,后台服务响应回网关,网关再响应回第三方应用,这样一个流程所需的时间反映出能力开放平台的主要性能。经过大量性能测试,通过采取1 500,2 000,2 500的线程数量,大致得出:对于单台服务器,它的单接口能力调用性能达到300 TPS(每秒能处理的请求),而多接口能力调用性能达到500 TPS。

4 结语

校园一卡通能力开放平台建设,梳理了校园一卡通的核心数据和服务,以统一规范的形式向智慧校园各类第三方应用系统开放,实现了与智慧校园应用的深度融合,构建了强大的应用生态体系。平台对校园一卡通各项开放能力进行统一管理、统一监控,且具备安全、快捷的鉴权机制。通过采用分布式部署架构,平台具有良好的高并发和快速响应能力,并可根据业务需求的变化弹性提供服务能力,在实际应用中取得良好效果。

参考文献

[1]韩立峰.基于一卡通的校园应用集成[J].信息技术,2011(12):104-106.

[2]荣娟,王逸群.校园虚拟卡系统的设计与规划[J].通讯世界,2019(2):302-303.

[3]王逸群.高校校园卡充值方式的变化趋势[J].中国管理信息化,2018(15):206-207.

[4]冯骐,沈富可.高校能力开放平台中的API网关设计与实现[J].中国教育信息化,2021(3):61-66.

[5]徐华.基于微服务架构的图书馆能力开放平台设计[J].无线互联科技,2021(19):55-57.

[6]韩立峰.校园一卡通开放平台REST API设计[J].微型电脑应用,2015(10):57-59.

[7]刘晓晖,秦子实.基于OAuth2认证的REST API设计与实践[J].电脑知识与技术,2021(15):56-57.

[8]陈佳.一种基于JWT令牌认证的电力系统微服务认证授权方案[J].电工技术,2021(16):151-154.

(编辑 王永超)

Design of campus card capability open platform

Gao  Yixin, Kong  Jingyuan, Wang  Yiqun

(China University of Petroleum (East China) Information Construction Department, Qingdao 266580, China)

Abstract: In todays Internet application development, capability open platform plays a very important role. In order to realize the deep integration of campus all-in-one card system and smart campus applications, build a open platform for campus all-in-one card capability, sort out various core data and services, and open them in a unified manner. By analyzing the functional requirements of the campus all-in-one card capability open platform, the platform architecture based on the microservices framework and the business process of capability invocation are designed, and the physical deployment scheme of the platform is designed according to the actual business scale. The actual test results show that the platform design achieves the expected functional goals, and has good service concurrency performance and rapid response capability.

Key words: campus card system; capability open platform; micro service architecture

猜你喜欢
校园一卡通
财务视角下的校园一卡通管理研究
校园一卡通模式下的校园安全管理
基于高校的教务服务自助系统设计与实现
高职院校“一卡通”投资模式探讨