System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于云计算和K8s集群部署的考试系统和考试部署方法技术方案_技高网

基于云计算和K8s集群部署的考试系统和考试部署方法技术方案

技术编号:40010516 阅读:9 留言:0更新日期:2024-01-16 15:12
本发明专利技术提供了一种基于云计算和K8s集群部署的考试系统和考试部署方法,包括:内容交付网络CDN:将考试系统中的静态资源缓存到CDN的全球节点服务器中,用户在考试时就近访问和加载静态资源;访问控制列表ACL:对请求来源进行控制;网站应用防火墙WAF:扫描用户请求,与云计算平台的行为特征库进行匹配,若匹配到异常或威胁行为,则拦截用户请求;否则放行用户请求;负载均衡SLB:将用户请求转发到K8s集群,进行区分后转发到对应的服务。本发明专利技术通过云计算平台以及K8s集群部署考试系统,极大提升了考试系统的负载能力、可观测性以及安全性。

【技术实现步骤摘要】

本专利技术涉及云计算和k8s集群,具体地,涉及一种基于云计算和k8s集群部署的考试系统和考试部署方法。


技术介绍

1、传统的考试系统大多部署在本地机房,仅供内部访问使用,无法对外提供服务;传统的考试系统大多是裸部署,运维、升级等操作比较麻烦;传统的考试系统在监控层面做的不够完善,无法提供较完善的底层系统监控数据;传统的考试系统无法使用相对较低的成本来使用云计算提供的新技术产品,比如k8s集群、统一档存储服务等。

2、在使用云计算服务时,通常服务是对外暴露,存在一定的安全风险。由于考试系统均供学校使用,不对外部用户提供访问,因此需要限制特定学校才可以访问云计算上的服务。通常做法是使用vpn或者专线来实现,但是这样的成本较高,且维护起来比较麻烦,而基于acl访问控制的方式可零成本实现该需求,即收集各校区的公网ip位址并添加到acl访问控制的白名单中,则仅有白名单中的学校可访问云计算上的服务。

3、专利文献cn115499310a(申请号:cn202211038600.8)公开了一种基于云计算平台容器服务的业务应用上云方法及系统,属于云计算平台领域;所述的方法具体步骤如下:s1创建k8s容器服务,制作程序应用包和docker镜像;s2根据业务场景选择k8s集群服务提出申请;s3利用kustomize包、docker镜像、chart包的部署方式来满足业务应用的容器化上云;s4对已经部署发布的应用进行全生命周期管理。然而该专利无法解决目前存在的技术问题,也无法满足本专利技术的需求。


技术实现思路

1、针对现有技术中的缺陷,本专利技术的目的是提供一种基于云计算和k8s集群部署的考试系统和考试部署方法。

2、根据本专利技术提供的基于云计算和k8s集群部署的考试系统,包括:

3、内容交付网络cdn:将考试系统中的静态资源缓存到cdn的全球节点服务器中,用户在考试时就近访问和加载静态资源;

4、访问控制列表acl:对请求来源进行控制;

5、网站应用防火墙waf:扫描用户请求,与云计算平台的行为特征库进行匹配,若匹配到异常或威胁行为,则拦截用户请求;否则放行用户请求;

6、负载均衡slb:将用户请求转发到k8s集群,进行区分后转发到对应的服务。

7、优选的,所述k8s集群包括:concerto svc、rstudio svc和shiny svc;

8、concerto svc提供考试试题并保存考试结果,rstudio svc通过编写好的程序获取concerto svc的考试结果并提供查询方式,最终在shiny svc中运行编写好的程序以供成绩查询;

9、所述concerto svc包括:通过开源软件concerto搭建考题系统,在k8s集群上部署concerto svc,用于暴露concerto pod的服务,并将用户请求均衡转发到后端对应的concerto pod中;当后端的concerto pod出现异常时,concerto svc将异常的concertopod从svc中移除;当后端的concerto pod恢复正常后,concerto svc将正常的concertopod重新加入到svc中,继续处理用户请求;

10、所述concerto pod为运行concerto开源软件的最小化个体,pod可多副本运行,副本数越多,concerto svc的性能越好。

11、优选的,当学生用户访问考试系统进行考试时,concerto svc将学生用户的请求转发到concerto pod以进行负载均衡,concerto pod将学生用户的数据存储在关系型数据库模块rds中,将考试的资源文件存储在网络附加存储模块nas中,nas模块中的数据供所有concerto pod读取和使用,concerto pod在ecs集群上运行,由ecs集群提供资源给concerto pod,其中,ecs为k8s集群的底层物理资源池,k8s抽象出ecs集群的cpu、内存和存储空间,化为一个资源池,当需要创建pod时,从资源池中抽取资源来运行pod。

12、优选的,在考试后将所有数据均以元数据的形式存储在rds数据库中,开发人员查询数据时,先访问到k8s集群的rstudio svc服务,该服务将请求转发给rstudio pod进行处理,基于rstudio pod编写r语言程序代码,将程序代码存储在nas中,通过r语言程序代码实现从rds数据库读取数据并以gui的形式展示在网页中以供数据查询。

13、优选的,r语言程序代码通过rstudio pod开发完成后存储在nas中,在shiny pod共享读取到rstudio pod编写的r语言程序代码并运行;

14、老师侧通过访问shiny svc以查阅学生考试成绩,shiny svc将请求转发到shinypod进行处理,shiny pod提供r语言的web运行环境,同时基于ecs集群提供的资源访问nas、数据库和web页面。

15、根据本专利技术提供的基于云计算和k8s集群的考试部署方法,包括:

16、步骤1:通过内容交付网络cdn将考试系统中的静态资源缓存到cdn的全球节点服务器中,用户在考试时就近访问和加载静态资源;

17、步骤2:通过访问控制列表acl对请求来源进行控制;

18、步骤3:通过网站应用防火墙waf扫描用户请求,与云计算平台的行为特征库进行匹配,若匹配到异常或威胁行为,则拦截用户请求;否则放行用户请求;

19、步骤4:通过负载均衡slb将用户请求转发到k8s集群,进行区分后转发到对应的服务。

20、优选的,所述k8s集群包括:concerto svc、rstudio svc和shiny svc;

21、concerto svc提供考试试题并保存考试结果,rstudio svc通过编写好的程序获取concerto svc的考试结果并提供查询方式,最终在shiny svc中运行编写好的程序以供成绩查询;

22、所述concerto svc包括:通过开源软件concerto搭建考题系统,在k8s集群上部署concerto svc,用于暴露concerto pod的服务,并将用户请求均衡转发到后端对应的concerto pod中;当后端的concerto pod出现异常时,concerto svc将异常的concertopod从svc中移除;当后端的concerto pod恢复正常后,concerto svc将正常的concertopod重新加入到svc中,继续处理用户请求;

23、所述concerto pod为运行concerto开源软件的最小化个体,pod可多副本运行,副本数越多,concerto svc的性能越好。

24、优选的,当学生用户访问考试系统进行考试时,concerto svc将学生用户的请求转发到concerto po本文档来自技高网...

【技术保护点】

1.一种基于云计算和K8s集群部署的考试系统,其特征在于,包括:

2.根据权利要求1所述的基于云计算和K8s集群部署的考试系统,其特征在于,所述K8s集群包括:Concerto SVC、rStudio SVC和Shiny SVC;

3.根据权利要求2所述的基于云计算和K8s集群部署的考试系统,其特征在于,当学生用户访问考试系统进行考试时,Concerto SVC将学生用户的请求转发到Concerto Pod以进行负载均衡,Concerto Pod将学生用户的数据存储在关系型数据库模块RDS中,将考试的资源文件存储在网络附加存储模块NAS中,NAS模块中的数据供所有Concerto Pod读取和使用,Concerto Pod在ECS集群上运行,由ECS集群提供资源给Concerto Pod,其中,ECS为K8s集群的底层物理资源池,K8s抽象出ECS集群的CPU、内存和存储空间,化为一个资源池,当需要创建Pod时,从资源池中抽取资源来运行Pod。

4.根据权利要求2所述的基于云计算和K8s集群部署的考试系统,其特征在于,在考试后将所有数据均以元数据的形式存储在RDS数据库中,开发人员查询数据时,先访问到K8s集群的rStudio SVC服务,该服务将请求转发给rStudio Pod进行处理,基于rStudio Pod编写R语言程序代码,将程序代码存储在NAS中,通过R语言程序代码实现从RDS数据库读取数据并以GUI的形式展示在网页中以供数据查询。

5.根据权利要求2所述的基于云计算和K8s集群部署的考试系统,其特征在于,R语言程序代码通过rStudio Pod开发完成后存储在NAS中,在Shiny Pod共享读取到rStudio Pod编写的R语言程序代码并运行;

6.一种基于云计算和K8s集群的考试部署方法,其特征在于,包括:

7.根据权利要求6所述的基于云计算和K8s集群的考试部署方法,其特征在于,所述K8s集群包括:Concerto SVC、rStudio SVC和Shiny SVC;

8.根据权利要求7所述的基于云计算和K8s集群的考试部署方法,其特征在于,当学生用户访问考试系统进行考试时,Concerto SVC将学生用户的请求转发到Concerto Pod以进行负载均衡,Concerto Pod将学生用户的数据存储在关系型数据库模块RDS中,将考试的资源文件存储在网络附加存储模块NAS中,NAS模块中的数据供所有Concerto Pod读取和使用,Concerto Pod在ECS集群上运行,由ECS集群提供资源给Concerto Pod,其中,ECS为K8s集群的底层物理资源池,K8s抽象出ECS集群的CPU、内存和存储空间,化为一个资源池,当需要创建Pod时,从资源池中抽取资源来运行Pod。

9.根据权利要求7所述的基于云计算和K8s集群的考试部署方法,其特征在于,在考试后将所有数据均以元数据的形式存储在RDS数据库中,开发人员查询数据时,先访问到K8s集群的rStudio SVC服务,该服务将请求转发给rStudio Pod进行处理,基于rStudio Pod编写R语言程序代码,将程序代码存储在NAS中,通过R语言程序代码实现从RDS数据库读取数据并以GUI的形式展示在网页中以供数据查询。

10.根据权利要求7所述的基于云计算和K8s集群的考试部署方法,其特征在于,R语言程序代码通过rStudio Pod开发完成后存储在NAS中,在Shiny Pod共享读取到rStudio Pod编写的R语言程序代码并运行;

...

【技术特征摘要】

1.一种基于云计算和k8s集群部署的考试系统,其特征在于,包括:

2.根据权利要求1所述的基于云计算和k8s集群部署的考试系统,其特征在于,所述k8s集群包括:concerto svc、rstudio svc和shiny svc;

3.根据权利要求2所述的基于云计算和k8s集群部署的考试系统,其特征在于,当学生用户访问考试系统进行考试时,concerto svc将学生用户的请求转发到concerto pod以进行负载均衡,concerto pod将学生用户的数据存储在关系型数据库模块rds中,将考试的资源文件存储在网络附加存储模块nas中,nas模块中的数据供所有concerto pod读取和使用,concerto pod在ecs集群上运行,由ecs集群提供资源给concerto pod,其中,ecs为k8s集群的底层物理资源池,k8s抽象出ecs集群的cpu、内存和存储空间,化为一个资源池,当需要创建pod时,从资源池中抽取资源来运行pod。

4.根据权利要求2所述的基于云计算和k8s集群部署的考试系统,其特征在于,在考试后将所有数据均以元数据的形式存储在rds数据库中,开发人员查询数据时,先访问到k8s集群的rstudio svc服务,该服务将请求转发给rstudio pod进行处理,基于rstudio pod编写r语言程序代码,将程序代码存储在nas中,通过r语言程序代码实现从rds数据库读取数据并以gui的形式展示在网页中以供数据查询。

5.根据权利要求2所述的基于云计算和k8s集群部署的考试系统,其特征在于,r语言程序代码通过rstudio pod开发完成后存储在nas中,在shiny pod共享读取到rstudio pod编写的r语言程序代码并运行;

...

【专利技术属性】
技术研发人员:王洋杨宝玲常玮琪陈明君黄山
申请(专利权)人:耀童网络软件上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1