一种基于微服务的高校教学云平台的制作方法

文档序号:9814339阅读:488来源:国知局
一种基于微服务的高校教学云平台的制作方法
【技术领域】
[0001 ]本发明在于使用微服务构筑高校教学云平台,属于云计算技术领域。
【背景技术】
[0002]如何解决教学需求的快速发展变化,敏捷性、灵活性和可扩展性需求不断增长,同时能够更加快速高效的交付软件;如何实现教育资源的共享、为学生提供良好的、低消费但高质量的学习、交流平台,是当前亟需解决的两个问题,尤其随着移动互联网、校园网的普及与迅速发展。一个好的架构要求能够快速应对服务扩容、服务开放、服务变化、服务整合等需求;学生通过访问校园网,可以节省流量、充分共享网络上的各种资源,主动参与教学过程的各个环节:预习、作业、每章总结、实验、交流,以提高教与学的质量,提高学习效率;同时,一个好的平台还可以为学生提供学习、实验的环境,为学生提供强大的计算资源、存储资源等,使学生可以借助平台做大数据量的计算,求解大规模的问题,进行实验以帮助学生更好地理解所学内容、提高解决问题的能力。
[0003]虽然,一些大规模的e-Learning网格等环境有很多成果,但罕见的是真正用于学校的实践成果。

【发明内容】

[0004]本发明的目的在于提供一种基于微服务的高校教学云平台,旨在将系统功能分解到各个离散的微服务中以实现对解决方案的解耦;将结合私有云并与校园网连接起来,以提高系统的灵活性、可靠性、开放性等特点,同时提高教学的质量和学习的效率。
[0005]本发明是这样实现的,一种基于微服务的高校教学云平台,所述基于微服务的高校教学云平台利用微服务架构构建系统的服务,并通过虚拟私有网将校园网与桉树私有云结合起来构筑云平台。
[0006]所述微服务架构从上到下依次为平台服务层、服务调用层、微服务层和资源层:
[0007]平台服务层,用于为用户提供的使用系统不同功能的入口,分为登录、用户信息管理、教师/学生资源共享、预习管理、课后作业管理、实验报告管理、每章总结管理、公告管理、讨论社区;
[0008]服务调用层,包括生成特定的APIs、API网关控制和协议翻译技术;
[0009]微服务层,用于供外部调用的微服务的集合;不同微服务允许使用不同的编程语言和数据库;
[0010]资源层,用于与云平台结合,使用CentOS服务器操作系统,MySQL数据库和Tomcat服务器管理系统。
[0011 ]进一步,所述API网关包括服务发现模块和处理局部失败模块:
[0012]服务发现模块,API网关需要通过查询服务注册中心来确定该平台中可提供的微服务的位置;服务注册中心是一个包含所有微服务实例及其位置的数据库;
[0013]处理局部失败模块,该模块用于体现在服务注册中心中查找微服务位置的过程,将自动进行逻辑判断,直到查到可用微服务或返回无可用微服务并更新可用服务表为止。
[0014]进一步,所述协议翻译技术包括:
[0015]生成翻译参数模块,用于从服务表中查到的对应微服务定位参数和用户参数;
[0016]匹配翻译规则模块和协议转化模块,通过微服务定位参数,用于将用户请求附带的协议转化为接入某微服务所需要满足的协议。
[0017]进一步,所述桉树私有云包括:
[0018]云控制器,是用户和管理员进入基于微服务的高校教学云平台的入口,同时用于控制管理所有的节点控制器;
[0019]集群控制器,用于管理整个虚拟机实例网络,维护有关运行在系统内的节点控制器的全部信息,开启虚拟机实例的请求,路由到具有可用资源的节点控制器节点上;
[0020]存储控制器,实现Amazon的S3接口,它与Walrus联合工作,用于存储和访问用户数据及虚拟机映像;
[0021]Walrus,提供和S3—致的接口,管理对桉树私有云的存储服务的访问;
[0022]节点控制器,控制当前机器节点上的虚拟机实例。
[0023]本发明提供的基于微服务的高校教学云平台,将微服务架构用于高校教学云平台,将教学云平台的应用解耦成不同功能的微服务;使得预习、作业、每章总结、实验、交流等各个环节以微服务方式被调用,响应快、效率高;同时通过开源软件建立私有云,通过虚拟私有网络将该私有云与校园网连接起来,以形成高校教学云平台,为教师、学生提供更好的资源共享,具有良好的弹性与扩展性。本发明的微服务可以解决需求的快速发展变化,敏捷性、灵活性和可扩展性需求不断增长;相比其他架构,微服务架构能够更加快速高效的交付软件,微服务具有以下优势:
[0024]I)单一职责原则:每个微服务提供且仅提供某功能中一个单独的部分。
[0025]2)明确发布接口:每个微服务都会发布一个定义明确且保持不变的接口。
[0026]3)容易升级:每个微服务都允许独立部署或重复部署,但并不影响整个系统。因此,升级微服务很容易。
[0027]4)开发语言多样化:微服务之间是解耦和的,团队可以根据微服务的特点选择合适的开发语言、持久化存储、工具和方法。
[0028]5)轻量级通信协议:微服务之间是通过轻量级的协议进行通信的,如:REST同步协议、AMQP异步协议、STOMP协议、MQTT协议等。
[0029]6)微服务易于开发、理解和维护;比单体应用启动快;局部修改容易,且容易部署,有利于持续集成和交付;故障隔离,一个服务出现故障不会影响整个应用;不会受限于任何技术栈。
【附图说明】
[0030]图1是本发明实施例提供的微服务架构示意图。
[0031 ]图2是本发明实施例提供的桉树私有云组成示意图。
[0032]图3是本发明实施例提供的教学云平台与私有云的集成示意图。
[0033]图4是本发明实施例提供的通过VPN实现校园网与私有云互联的拓扑示意。
【具体实施方式】
[0034]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0035]下面结合附图对本发明的应用原理作详细的描述。
[0036]本发明实施例的基于微服务的高校教学云平台通过虚拟私有网将校园网与私有云结合起来构筑云平台,利用微服务架构构建该云平台的服务;
[0037]使用加利福尼亚大学计算机科学系开发的开源项目桉树搭建私有云;桉树私有云平台安装在虚拟机和操作系统的上层,用于直接分配和管理所有的硬件资源,并且调用Puppet架构完成私有云上所有应用的自动化部署。桉树私有云的组成如图2所示。
[0038]进一步,使用VPN联接校园网与私有云,通过VPN实现校园网与私有云互联的拓扑图如图4。
[0039]进一步,如图1所示,所述的微服务架构从上到下依次为平台服务层、服务调用层、微服务层和资源层;
[0040]平台服务层为用户提供的使用系统不同功能的入口,主要分为登录、用户信息管理、教师/学生资源共享、预习管理、课后作业管理、实验报告管理、每章总结管理、公告管理、讨论社区;
[0041]服务调用层由三部分组成,分别是生成特定的APIs、API网关控制和协议翻译技术;
[0042]在生成特定的APIs的过程中,为了安全起见,要对用户进行权限认证和请求的合法性验证。只有具备一定的权限并且是合法的请求,才能生成特定的APIs,然后将请求发送给API网关,否则返回无权限操作或不合法请求的信息给用户。规定该APIs的格式为(URI,obj ,user ,mark)。其中的URI表示所请求功能的URI路径;obj表示请求的服务对象;user表示发出请求的用户;mark标示该请求来自内网还是外网,分别用I和O表示。
[0043]API网关包括两个功能:服务发现和处理局部失败。服务发现是指API网关需要通过查询服务注册中心来确定该平台中可提供的微服务的位置,而服务注册中心是一个包含所有微服务实例及其位置的数据库。提供处理局部失败的功能是因为API网关永远不能因为无限制地等待下游服务而阻塞。如果服务表指向的微服务可用,则执行下一步,否则就更新服务表,同时查找次优服
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1