微服务架构下高校数据共享服务平台的设计
2019-04-26房立镇王信堂
文/房立镇 王信堂
1 引言
信息化工作在高校教学管理中发挥着越来越重要的作用,也逐渐引起广大师生和教育工作者的重视,教务管理、科研管理等各种业务的信息化管理系统的建设也确实提高了工作效率,但是目前对各个信息化系统所产生数据的利用程度却还比较低,“数据孤岛”的情形也比较严重,如何提高数据的共享性进而提高数据的利用率是下一步高校信息化工作的重点。
2 研究背景
经过调查发现,国内很多高校都建立了自己的数据中心,对各业务系统的数据进行了相应的整合,但是在对数据中心的数据进行使用时却存在着诸多的问题,特别是在数据共享方面还是采用数据视图或者编写webservice 的方式对外提供,该方式存在着以下的问题:
2.1 开发效率低下
开发时一方面要求有开发经验的专业人员另一方面也要对整个数据结构做全面了解,并且要针对需求做单独开发,效率难易保证。
2.2 复用率低
由于需求各不相同,每次都需要重新单独开发,不能复用。
2.3 性能难以保证
如果采用数据视图的形式也会对数据库的性能提出了更高的要求,当有对性能要求较高的需求时,很难达到用户的要求。
2.4 用户使用不方便
需求对接大都线下进行,并且需要业务与专业人员同时参与,沟通不便必然会带来用户使用不便。
2.5 不能对已开放的数据进行监管
对于用户调用及数据使用情况不能清楚的掌握,同时当用户非法使用数据时,管理人员不能及时发现并禁止。
3 模型设计
为解决上述问题,本文结合济南大学已建成的数据中心为基础,设计出了一款基于微服务的数据共享服务平台。该平台主要有以下几方面特点:
(1)数据共享在线申请;
(2)数据访问审核流程化且流程节点可以灵活定制;
(3)数据共享服务可灵活定制且开发高效,可根据发布的主题数据服务和公共数据服务灵活组装为满足用户需求的数据服务;
(4)数据服务所用资源可视化调整与监控;
(5)数据开放后能对其访问情况进行实时审计查看。
平台主要包括数据集资源模块、公共服务模块、业务主题模块、定制服务模块及服务治理五个模块。平台结构示意图如图1所示。
数据资源模块:该模块是为了满足共享平台的易用性和高效性,针对数据中心的部分数据进行加工处理以方便数据服务的调用,主要包括数据库系统(包含nosql 数据库)、文件管理系统,以及分布式缓存系统。
门户模块:该模块是数据共享平台对外提供服务及Web 展示的统一门户,主要涉及以下几个方面的功能:
(1)所有可共享数据服务的展示,访问示例说明等;
(2)平台访问用户的控制与管理;
(3)数据服务访问的流程化控制与管理,实现了数据由业务所有者及数据管理者的双重审核;
(4)服务治理与审计、资源占用情况等其它可视化操作界面。
公共服务模块:该模块为数据共享平台提供所有公共服务的模块。由于该模块调用频率会比较高,在设计时将该模块与业务服务模块进行抽离,一方面提高了服务的可复用性,另一方面方便后期针对该模块单独进行负载均衡等优化策略的展开。该模块主要包括数据标准(包括数据字典)服务、日志处理服务、权限控制与管理服务以及通知通信服务等公共数据服务。该模块的每个子服务都会以restful 接口的方式对外提供,其中日志处理部分采用了消息中间件进行异步处理,防止由于日志的处理影响数据共享的性能。
业务主题服务模块:该模块通过对高校业务的抽象分析,将数据中心的数据按照高校业务的不同主题分别划分为人员主题、机构主题、教务主题、科研主题等多种业务主题,每个主题下又分为了多个子服务,同时主题服务也可根据业务的不断变化进行灵活的配置化管理。同公共服务类似该模块的每个子服务也会以restful 接口的方式对外提供。
图1
定制服务模块:该模块借助微服务架构的灵活组装特性,针对用户的具体需求利用公共服务模块和业务主题模块提供的服务,来定制实现满足用户需求的服务,主要是实现服务的拼装与组合来满足各种复杂业务的定制化需求。
服务治理模块是整个平台的核心控制模块,在设计时我们采用了比较流行的Spring Cloud 技术,借助spring Cloud 我们开发了包含服务的发现与注册、负载均衡、分布式会话及所有微服务的配置与管理中心,使用服务治理层我们可以单独对某个接口和服务进行权限控制并采取有针对性的负载均衡配置策略,保障系统运行的性能与安全性。
4 结语
本文设计的高校共享数据平台以微服务架构为基础,解决了高校信息化数据共享中遇到的一些常见问题,并能够非常方便的为广大师生提供数据服务,提高了数据的利用率,对打破高校信息化建设中的数据孤岛,发挥数据价值等方面具有很好的借鉴意义。