CN112732229A - 一种基于微服务架构的多语言学习系统 - Google Patents
一种基于微服务架构的多语言学习系统 Download PDFInfo
- Publication number
- CN112732229A CN112732229A CN202011637131.2A CN202011637131A CN112732229A CN 112732229 A CN112732229 A CN 112732229A CN 202011637131 A CN202011637131 A CN 202011637131A CN 112732229 A CN112732229 A CN 112732229A
- Authority
- CN
- China
- Prior art keywords
- service
- unit
- user
- course
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006870 function Effects 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 12
- 241000412611 Consul Species 0.000 claims description 10
- 230000036541 health Effects 0.000 claims description 6
- 230000002085 persistent effect Effects 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 3
- 238000013480 data collection Methods 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000013459 approach Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 241000272194 Ciconiiformes Species 0.000 description 1
- 241000237509 Patinopecten sp. Species 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 235000020637 scallop Nutrition 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Human Resources & Organizations (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Computer Security & Cryptography (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Educational Administration (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Bioethics (AREA)
- Educational Technology (AREA)
- Development Economics (AREA)
- Primary Health Care (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于微服务架构的多语言学习系统。本系统包括:微服务系统架构模块与多语言学习业务模块;微服务系统架构模块为应用提供基础的软件架构支持,具体包含网关子模块、服务注册与服务发现子模块、链路追踪子模块、日志收集子模块;多语言学习业务模块为系统提供业务功能支持,具体包含用户业务子模块与课程业务子模块,提供用户鉴权服务、用户信息服务、课程服务、通知服务、评论服务、文件服务、应用更新服务、邮箱服务,同时依赖各自的数据库实例以及文件存储服务、SMTP服务器等外部服务。本发明为教师提供参与和监督学习过程的条件,同时也为学生提供充分利用自主性学习的条件,为教师和学生提供了更加灵活的教学和学习途径。
Description
技术领域
本发明涉及计算机应用领域,具体涉及一种基于微服务架构的多语言学习系统。
背景技术
互联网信息技术的发展给外语教育领域带来了新的挑战,外语教育与信息技术的结合是未来教师开展教学活动的趋势。互联网技术为外语教育提供了新的教学模式、学习模式,以及更加丰富、全面的教育资源。教师利用数字化的学习平台,可以提高教师教学效率,同时能充分发挥学生自主学习的能动作用,为教师和学生提供更加灵活的教学和学习途径。
微服务架构是主流的软件架构之一,在互联网时代,微服务架构的设计为越来越复杂的业务场景提供了一种解决方案。微服务架构在业务层和链路层对系统进行细分,具备耦合度低、扩展方便、可维护性高、可靠性高等特点。Spring Cloud是一系列成熟的、基于Spring Boot风格封装的框架的组合,它提供了一整套微服务的解决方案。
目前的现有技术之一,是一些与互联网紧密结合的外语学习系统,大多侧重于语言学习。语言学习类外语学习系统更注重于学生的学习模式,此类有扇贝单词、开言英语、英语流利说等专注于英语外语学习的应用,也有专注于多语种学习的多邻国。语言学习类系统大多围绕单词书、场景等开展学习,通过词语句的听说读写对学生进行有针对性辅导。同时,该类学习系统大多结合打卡体系、成就体系来培养用户学习的习惯。这些系统的缺点是忽视了传统课堂教育的重要性,其基于单词书、场景的学习模式无法很好地与线下课堂教学相结合,仅为外语教育提供学生自主学习的学习途径。其次,外语教师的角色完全被系统所替代,教师无法参与到学生的学习过程中,无法发挥教师的能动作用。
目前的现有技术之二,是课程学习类应用系统,它们更注重教师的教学模式。诸如腾讯企鹅辅导、腾讯课堂等,都是利用视频直播辅助学习的系统。课程学习类系统不仅限于外语教学,并且提供了教师在课程中向学生提问、布置作业、测试等功能。这些系统的缺点是过于依赖教师线上直播教学和教学过程中的互动,而没有为学生线下自主学习提供有效的途径,学生无法充分利用线下日常生活的零碎时间进行自主学习。
发明内容
本发明的目的是克服现有方法的不足,提出了一种基于微服务架构的多语言学习系统。本发明解决的主要问题是,与语言学习类系统相比,本发明解决缺少教师监督、教师参与学习过程的问题;与课程学习类系统相比,本发明为师生提供课后练习、自主学习等功能,解决学生无法充分利用零碎时间在平台进行自主学习的问题。
为了解决上述问题,本发明提出了一种基于微服务架构的多语言学习系统,所述系统包括:
微服务系统架构模块与多语言学习业务模块;
所述微服务系统架构模块为应用提供基础的软件架构支持,具体包含网关子模块、服务注册与服务发现子模块、链路追踪子模块、日志收集子模块;
所述多语言学习业务模块为系统提供业务功能支持,具体包含用户业务子模块与课程业务子模块,提供用户鉴权服务、用户信息服务、课程服务、通知服务、评论服务、文件服务、应用更新服务、邮箱服务,同时依赖各自的数据库实例以及文件存储服务、SMTP服务器等外部服务。
优选地,所述网关子模块,由网关服务、用户鉴权服务与缓存数据库组成;网关服务是系统的用户请求入口,负责处理和转发客户端的用户请求,并实现用户请求鉴权功能,拦截没有指定权限的用户访问特定资源的请求;用户鉴权服务负责处理用户鉴权请求,实现用户注册、登陆等逻辑;缓存数据库将负责缓存用户登陆信息;
用户的登陆请求由所述用户鉴权服务处理,当用户成功登陆后,所述用户鉴权服务将会把用户信息转发给所述网关服务,所述网关服务将用户信息缓存在所述缓存数据库中;当用户发起其他需要鉴权的请求,将由所述网关服务获取当前用户信息,根据当前系统配置进行鉴权,若通过鉴权,所述网关服务将会把流量转发到指定服务,否则将返回相应错误;用户登出时,所述用户鉴权服务将用户登出的信息转发给所述网关服务,所述网关服务从所述缓存数据库中清除该用户的信息。
优选地,所述服务注册与服务发现子模块,针对Spring Boot服务和非SpringBoot服务采用两套解决方案;
对于Spring Boot服务,采用Consul作为服务注册中心,使用Spring CloudConsul框架使得Spring Boot服务主动注册,并对系统内部暴露健康数据接口;各个SpringBoot微服务会在服务启动的时候向所述Consul发起注册请求,并定期发送服务心跳和健康监控数据;当服务需要调用其他服务时,通过所述Consul服务中心进行服务发现,得到其他服务的IP地址列表和负载信息,然后根据该信息选择某一IP地址进行服务调用;
对于非Spring Boot服务,使用DNS来实现服务发现,当数据库等服务作为Docker容器被部署到Docker或Docker Swarm后,其他服务可以根据该服务的名称直接在Docker的DNS模块的作用下将流量转发到该服务;
对于外部服务,无需进行服务注册与服务发现。
优选地,所述链路追踪子模块,由Sleuth单元、RabbitMQ单元、Zipkin单元、Kibana单元、Elasticsearch单元组成;Sleuth单元负责收集链路数据,RabbitMQ单元负责缓存链路数据,Zipkin单元负责处理链路数据,Elasticsearch单元负责持久化数据,同时,Zipkin单元和Kibana单元提供了检索和分析链路数据的面板;
系统的各微服务使用所述Sleuth单元进行链路ID分配,并收集链路上的特定数据,数据收集完毕后,所述Sleuth单元将数据上报到所述RabbitMQ单元消息队列中缓存,所述Zipkin单元将异步消费所述RabbitMQ单元中的消息并对链路数据进行处理,然后统一存储至所述Elasticsearch单元中。
优选地,所述日志收集子模块,由Logback单元、RabbitMQ单元、Logstash单元、Kibana单元、Elasticsearch单元组成;Logback单元负责收集日志数据,RabbitMQ单元负责缓存数据,Logstash单元负责处理和转发数据,Kibana单元提供数据检索和分析面板,Elasticsearch单元作为数据库持久化数据;
系统使用所述Logback单元收集各微服务的业务日志,一方面,服务通过所述Logback单元把业务日志写入到本地文件中,然后按时间按大小对文件进行分割,另一方面,服务通过所述Logback单元将业务日志转换成JSON结构,然后发送到所述RabbitMQ单元消息队列中缓存;所述Logstash单元消费所述RabbitMQ单元中的日志消息,再次经过结构上的处理并存储到所述Elasticsearch单元中。
优选地,所述用户业务子模块,由用户鉴权服务单元、用户信息服务单元、文件服务单元、邮箱服务单元等内部服务单元与外部文件存储单元、SMTP服务器单元共同组成,提供了用户鉴权、用户信息获取与修改、用户关注、用户动态等功能;
在用户鉴权中,系统将用户分为教师用户与学生用户两类,用户注册过程中,所述用户鉴权服务单元会将邮箱地址和邮件信息发送给所述邮箱服务单元,所述邮箱服务单元根据该信息生成对应的邮件,并通过所述外部SMTP服务器单元发送注册邮件;
用户登陆后,可以查看、修改个人信息,也可以搜索、查看其他用户的公开信息;用户可以关注、取消关注其他用户,也可以发表动态、删除动态,在动态中与其他用户评论交流。
优选地,所述课程业务子模块,由课程服务单元、通知服务单元、评论服务单元、文件服务单元等内部服务单元与外部文件存储单元构成,提供了课程管理、内容上传、学生作答、数据统计、课程评论等功能;
其中,所述课程管理功能由课程服务单元、通知服务单元实现,包括了课程创建、课程管理等子功能;
所述课程服务单元仅允许教师创建课程、管理课程,课程创建后学生和教师用户均可以加入课程;
所述通知服务单元为所述课程管理功能提供通知功能,给教师和学生推送一些重要通知;
当用户申请加入课程、教师进行审批时,所述课程服务单元将会根据申请、审批结果调用所述通知服务单元,生成相应的通知并推送给指定用户;
其中,所述内容上传功能由课程服务单元、文件服务单元实现,包括了上传内容、覆盖内容、管理内容等功能;
所述课程服务单元提供了简单创建内容的方法,通过上传压缩文件来实现内容的上传和覆盖;
所述课程服务单元在上传内容过程中,会将课程相关的图片、音频等附件上传至所述文件服务单元,由所述文件服务单元记录文件基本信息并上传到指定的外部文件存储服务;
其中,所述学生作答与数据统计功能由课程服务单元实现,包括了学生作答、历史作答、课程数据统计等功能;
其中,所述课程评论功能由课程服务单元、评论服务单元与通知服务单元实现,包括了课程评分、评论、点赞、评论通知功能。
本发明提出的一种基于微服务架构的多语言学习系统,与现有的外语学习系统相比,该系统为线上线下、课内课外教学而设计,为教师提供参与和监督学习过程的条件,同时也为学生提供充分利用自主性学习的条件,并且给学生提供了做题功能,为教师提供课程管理、作业考试发布、成绩统计与分析等功能,为教师和学生提供了更加灵活的教学和学习途径。
附图说明
图1是本发明实施例的一种基于微服务架构的多语言学习系统的总体架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例的一种基于微服务架构的多语言学习系统的总体架构图,如图1所示,该系统包括:
S1,微服务系统架构模块与多语言学习业务模块;
S2,所述微服务系统架构模块为应用提供基础的软件架构支持,具体包含网关子模块、服务注册与服务发现子模块、链路追踪子模块、日志收集子模块;
S3,所述多语言学习业务模块为系统提供业务功能支持,具体包含用户业务子模块与课程业务子模块,提供用户鉴权服务、用户信息服务、课程服务、通知服务、评论服务、文件服务、应用更新服务、邮箱服务,同时依赖各自的数据库实例以及文件存储服务、SMTP服务器等外部服务。
模块S2,具体包括:
S2-1,所述网关子模块,由网关服务、用户鉴权服务与缓存数据库组成;网关服务是系统的用户请求入口,负责处理和转发客户端的用户请求,并实现用户请求鉴权功能,拦截没有指定权限的用户访问特定资源的请求;用户鉴权服务负责处理用户鉴权请求,实现用户注册、登陆等逻辑;缓存数据库将负责缓存用户登陆信息;
用户的登陆请求由所述用户鉴权服务处理,当用户成功登陆后,所述用户鉴权服务将会把用户信息转发给所述网关服务,所述网关服务将用户信息缓存在所述缓存数据库中;当用户发起其他需要鉴权的请求,将由所述网关服务获取当前用户信息,根据当前系统配置进行鉴权,若通过鉴权,所述网关服务将会把流量转发到指定服务,否则将返回相应错误;用户登出时,所述用户鉴权服务将用户登出的信息转发给所述网关服务,所述网关服务从所述缓存数据库中清除该用户的信息。
S2-2,所述服务注册与服务发现子模块,针对Spring Boot服务和非Spring Boot服务采用两套解决方案;
对于Spring Boot服务,采用Consul作为服务注册中心,使用Spring CloudConsul框架使得Spring Boot服务主动注册,并对系统内部暴露健康数据接口;各个SpringBoot微服务会在服务启动的时候向所述Consul发起注册请求,并定期发送服务心跳和健康监控数据;当服务需要调用其他服务时,通过所述Consul服务中心进行服务发现,得到其他服务的IP地址列表和负载信息,然后根据该信息选择某一IP地址进行服务调用;
对于非Spring Boot服务,使用DNS来实现服务发现,当数据库等服务作为Docker容器被部署到Docker或Docker Swarm后,其他服务可以根据该服务的名称直接在Docker的DNS模块的作用下将流量转发到该服务;
对于外部服务,无需进行服务注册与服务发现。
S2-3,所述链路追踪子模块,由Sleuth单元、RabbitMQ单元、Zipkin单元、Kibana单元、Elasticsearch单元组成;Sleuth单元负责收集链路数据,RabbitMQ单元负责缓存链路数据,Zipkin单元负责处理链路数据,Elasticsearch单元负责持久化数据,同时,Zipkin单元和Kibana单元提供了检索和分析链路数据的面板;
系统的各微服务使用所述Sleuth单元进行链路ID分配,并收集链路上的特定数据,数据收集完毕后,所述Sleuth单元将数据上报到所述RabbitMQ单元消息队列中缓存,所述Zipkin单元将异步消费所述RabbitMQ单元中的消息并对链路数据进行处理,然后统一存储至所述Elasticsearch单元中。
S2-4,所述日志收集子模块,由Logback单元、RabbitMQ单元、Logstash单元、Kibana单元、Elasticsearch单元组成;Logback单元负责收集日志数据,RabbitMQ单元负责缓存数据,Logstash单元负责处理和转发数据,Kibana单元提供数据检索和分析面板,Elasticsearch单元作为数据库持久化数据;
系统使用所述Logback单元收集各微服务的业务日志,一方面,服务通过所述Logback单元把业务日志写入到本地文件中,然后按时间按大小对文件进行分割,另一方面,服务通过所述Logback单元将业务日志转换成JSON结构,然后发送到所述RabbitMQ单元消息队列中缓存;所述Logstash单元消费所述RabbitMQ单元中的日志消息,再次经过结构上的处理并存储到所述Elasticsearch单元中。
模块S3,具体包括:
S3-1,所述用户业务子模块,由用户鉴权服务单元、用户信息服务单元、文件服务单元、邮箱服务单元等内部服务单元与外部文件存储单元、SMTP服务器单元共同组成,提供了用户鉴权、用户信息获取与修改、用户关注、用户动态等功能;
在用户鉴权中,系统将用户分为教师用户与学生用户两类,用户注册过程中,所述用户鉴权服务单元会将邮箱地址和邮件信息发送给所述邮箱服务单元,所述邮箱服务单元根据该信息生成对应的邮件,并通过所述外部SMTP服务器单元发送注册邮件;
用户登陆后,可以查看、修改个人信息,也可以搜索、查看其他用户的公开信息;用户可以关注、取消关注其他用户,也可以发表动态、删除动态,在动态中与其他用户评论交流。
S3-2,所述课程业务子模块,由课程服务单元、通知服务单元、评论服务单元、文件服务单元等内部服务单元与外部文件存储单元构成,提供了课程管理、内容上传、学生作答、数据统计、课程评论等功能;
其中,所述课程管理功能由课程服务单元、通知服务单元实现,包括了课程创建、课程管理等子功能;
所述课程服务单元仅允许教师创建课程、管理课程,课程创建后学生和教师用户均可以加入课程;课程被设计为公开课程、非公开课程两类,加入公开课程可以通过搜索加入、通过邀请链接加入,而加入非公开课程仅允许通过邀请链接加入;课程可以被设为加入是否需要经过审核,当不需要审核时,用户可直接加入课程,否则需要教师在课程审核页审批用户的申请;
所述通知服务单元为所述课程管理功能提供通知功能,给教师和学生推送一些重要通知;部分类型的通知被设计为可聚类的,同一个用户的多条从未被客户端获取过且相似的通知将会被整合到一条通知中;
当用户申请加入课程、教师进行审批时,所述课程服务单元将会根据申请、审批结果调用所述通知服务单元,生成相应的通知并推送给指定用户;
其中,所述内容上传功能由课程服务单元、文件服务单元实现,包括了上传内容、覆盖内容、管理内容等功能;
系统中的一个课程被设计为可以设定多个内容,内容的结构是二级嵌套的,每个外层的内容都可以包含多个子内容,每个内层的子内容可以包含多道题目;课程服务单元允许创建外层内容和内层内容,但仅允许覆盖内层内容,外层内容禁止覆盖。
所述课程服务单元提供了简单创建内容的方法,通过上传压缩文件来实现内容的上传和覆盖;
课程服务单元提供了三类内容、五种题型;三类内容分别为练习、测试、考试;练习在学生每完成一道题即可得到成绩和正确答案;测试在学生完成整个内容的题目后方可得到成绩和正确答案;考试仅有教师可以查看成绩和正确答案;五种题型分别为选择题、填空题、选择填空题(包括多空格填空)、匹配题、排序题;选择题要求学生根据题干内容选择出正确的答案,题干内容和答案均可以为文字、图片或者音频;填空题要求学生根据上下文内容对空格中缺少的部分进行补充,可以是上下文相关的填空,也可以是问答式填空;选择填空题是选择题与填空题的融合,根据上下文内容选择合适的选项填入空格中,该题型支持多空格填空;匹配题要求学生将两组内容中的每个内容相互匹配,也相当于连线题;排序题要求学生将一系列内容按照正确的顺序进行排序,比如将多个单词组成句子;
所述课程服务单元在上传内容过程中,会将课程相关的图片、音频等附件上传至所述文件服务单元,由所述文件服务单元记录文件基本信息并上传到指定的外部文件存储服务;
其中,所述学生作答与数据统计功能由课程服务单元实现,包括了学生作答、历史作答、课程数据统计等功能;
学生可通过学生作答功能,提交自己的答案;系统将会统计学生每次进行作答的时间和成绩,通过列表的形式向学生展示;学生可以查看每次作答的详细信息,包括作答答案、作答情况、正确答案等;
课程服务单元为教师提供了更详细的数据统计功能;教师可以看到所属课程的每个学生的学习进度以及每个内容的整体作答情况,也可以针对每道题目查看作答的具体情况,比如正确率、各个选项的选择人数等;
其中,所述课程评论功能由课程服务单元、评论服务单元与通知服务单元实现,包括了课程评分、评论、点赞、评论通知功能;
所有参与课程的成员,都可以对课程进行评分,同时附上自己的评语;评分的用户请求将由评论服务单元处理,评论服务单元记录评语后,将会把评分转发给课程服务单元,由课程服务单元统计后得到课程的最终评分;成员可以对评语或现有的评论进行评论、点赞,该操作仅由评论服务单元处理;
对课程评分或进行评论操作时,评论服务单元会调用通知服务单元生成相应的通知,并推送给相应的用户;该类通知是可聚类的,相似的通知将会被整合到一条通知中。
本发明实施例提出的一种基于微服务架构的多语言学习系统,与现有的外语学习系统相比,该系统为线上线下、课内课外教学而设计,为教师提供参与和监督学习过程的条件,同时也为学生提供充分利用自主性学习的条件,并且给学生提供了做题功能,为教师提供课程管理、作业考试发布、成绩统计与分析等功能,为教师和学生提供了更加灵活的教学和学习途径。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
另外,以上对本发明实施例所提供的一种基于微服务架构的多语言学习系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种基于微服务架构的多语言学习系统,其特征在于,所述系统包括:
微服务系统架构模块与多语言学习业务模块;
所述微服务系统架构模块为应用提供基础的软件架构支持,具体包含网关子模块、服务注册与服务发现子模块、链路追踪子模块、日志收集子模块;
所述多语言学习业务模块为系统提供业务功能支持,具体包含用户业务子模块与课程业务子模块,提供用户鉴权服务、用户信息服务、课程服务、通知服务、评论服务、文件服务、应用更新服务、邮箱服务,同时依赖各自的数据库实例以及文件存储服务、SMTP服务器等外部服务。
2.如权利要求1所述的一种基于微服务架构的多语言学习系统,其特征在于,所述网关子模块,由网关服务、用户鉴权服务与缓存数据库组成;网关服务是系统的用户请求入口,负责处理和转发客户端的用户请求,并实现用户请求鉴权功能,拦截没有指定权限的用户访问特定资源的请求;用户鉴权服务负责处理用户鉴权请求,实现用户注册、登陆等逻辑;缓存数据库将负责缓存用户登陆信息;
用户的登陆请求由所述用户鉴权服务处理,当用户成功登陆后,所述用户鉴权服务将会把用户信息转发给所述网关服务,所述网关服务将用户信息缓存在所述缓存数据库中;当用户发起其他需要鉴权的请求,将由所述网关服务获取当前用户信息,根据当前系统配置进行鉴权,若通过鉴权,所述网关服务将会把流量转发到指定服务,否则将返回相应错误;用户登出时,所述用户鉴权服务将用户登出的信息转发给所述网关服务,所述网关服务从所述缓存数据库中清除该用户的信息。
3.如权利要求1所述的一种基于微服务架构的多语言学习系统,其特征在于,所述服务注册与服务发现子模块,针对Spring Boot服务和非SpringBoot服务采用两套解决方案;
对于Spring Boot服务,采用Consul作为服务注册中心,使用SpringCloud Consul框架使得Spring Boot服务主动注册,并对系统内部暴露健康数据接口;各个Spring Boot微服务会在服务启动的时候向所述Consul发起注册请求,并定期发送服务心跳和健康监控数据;当服务需要调用其他服务时,通过所述Consul服务中心进行服务发现,得到其他服务的IP地址列表和负载信息,然后根据该信息选择某一IP地址进行服务调用;
对于非Spring Boot服务,使用DNS来实现服务发现,当数据库等服务作为Docker容器被部署到Docker或Docker Swarm后,其他服务可以根据该服务的名称直接在Docker的DNS模块的作用下将流量转发到该服务;
对于外部服务,无需进行服务注册与服务发现。
4.如权利要求1所述的一种基于微服务架构的多语言学习系统,其特征在于,所述链路追踪子模块,由Sleuth单元、RabbitMQ单元、Zipkin单元、Kibana单元、Elasticsearch单元组成;Sleuth单元负责收集链路数据,RabbitMQ单元负责缓存链路数据,Zipkin单元负责处理链路数据,Elasticsearch单元负责持久化数据,同时,Zipkin单元和Kibana单元提供了检索和分析链路数据的面板;
系统的各微服务使用所述Sleuth单元进行链路ID分配,并收集链路上的特定数据,数据收集完毕后,所述Sleuth单元将数据上报到所述RabbitMQ单元消息队列中缓存,所述Zipkin单元将异步消费所述RabbitMQ单元中的消息并对链路数据进行处理,然后统一存储至所述Elasticsearch单元中。
5.如权利要求1所述的一种基于微服务架构的多语言学习系统,其特征在于,所述日志收集子模块,由Logback单元、RabbitMQ单元、Logstash单元、Kibana单元、Elasticsearch单元组成;Logback单元负责收集日志数据,RabbitMQ单元负责缓存数据,Logstash单元负责处理和转发数据,Kibana单元提供数据检索和分析面板,Elasticsearch单元作为数据库持久化数据;
系统使用所述Logback单元收集各微服务的业务日志,一方面,服务通过所述Logback单元把业务日志写入到本地文件中,然后按时间按大小对文件进行分割,另一方面,服务通过所述Logback单元将业务日志转换成JSON结构,然后发送到所述RabbitMQ单元消息队列中缓存;所述Logstash单元消费所述RabbitMQ单元中的日志消息,再次经过结构上的处理并存储到所述Elasticsearch单元中。
6.如权利要求1所述的一种基于微服务架构的多语言学习系统,其特征在于,所述用户业务子模块,由用户鉴权服务单元、用户信息服务单元、文件服务单元、邮箱服务单元等内部服务单元与外部文件存储单元、SMTP服务器单元共同组成,提供了用户鉴权、用户信息获取与修改、用户关注、用户动态等功能;
在用户鉴权中,系统将用户分为教师用户与学生用户两类,用户注册过程中,所述用户鉴权服务单元会将邮箱地址和邮件信息发送给所述邮箱服务单元,所述邮箱服务单元根据该信息生成对应的邮件,并通过所述外部SMTP服务器单元发送注册邮件;
用户登陆后,可以查看、修改个人信息,也可以搜索、查看其他用户的公开信息;用户可以关注、取消关注其他用户,也可以发表动态、删除动态,在动态中与其他用户评论交流。
7.如权利要求1所述的一种基于微服务架构的多语言学习系统,其特征在于,所述课程业务子模块,由课程服务单元、通知服务单元、评论服务单元、文件服务单元等内部服务单元与外部文件存储单元构成,提供了课程管理、内容上传、学生作答、数据统计、课程评论等功能;
其中,所述课程管理功能由课程服务单元、通知服务单元实现,包括了课程创建、课程管理等子功能;
所述课程服务单元仅允许教师创建课程、管理课程,课程创建后学生和教师用户均可以加入课程;
所述通知服务单元为所述课程管理功能提供通知功能,给教师和学生推送一些重要通知;
当用户申请加入课程、教师进行审批时,所述课程服务单元将会根据申请、审批结果调用所述通知服务单元,生成相应的通知并推送给指定用户;
其中,所述内容上传功能由课程服务单元、文件服务单元实现,包括了上传内容、覆盖内容、管理内容等功能;
所述课程服务单元提供了简单创建内容的方法,通过上传压缩文件来实现内容的上传和覆盖;
所述课程服务单元在上传内容过程中,会将课程相关的图片、音频等附件上传至所述文件服务单元,由所述文件服务单元记录文件基本信息并上传到指定的外部文件存储服务;
其中,所述学生作答与数据统计功能由课程服务单元实现,包括了学生作答、历史作答、课程数据统计等功能;
其中,所述课程评论功能由课程服务单元、评论服务单元与通知服务单元实现,包括了课程评分、评论、点赞、评论通知功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011637131.2A CN112732229A (zh) | 2020-12-31 | 2020-12-31 | 一种基于微服务架构的多语言学习系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011637131.2A CN112732229A (zh) | 2020-12-31 | 2020-12-31 | 一种基于微服务架构的多语言学习系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112732229A true CN112732229A (zh) | 2021-04-30 |
Family
ID=75608650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011637131.2A Pending CN112732229A (zh) | 2020-12-31 | 2020-12-31 | 一种基于微服务架构的多语言学习系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732229A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489809A (zh) * | 2021-09-08 | 2021-10-08 | 广州易方信息科技股份有限公司 | 微服务的数据传输方法、结构以及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577780A (zh) * | 2015-12-21 | 2016-05-11 | 武汉理工大学 | 一种基于微服务的高校教学云平台 |
CN109560989A (zh) * | 2018-12-06 | 2019-04-02 | 深圳市递四方信息科技有限公司 | 一种链路监控系统 |
CN111124670A (zh) * | 2019-12-05 | 2020-05-08 | 航天科工网络信息发展有限公司 | 一种面向战术云的微服务平台 |
WO2020094021A1 (zh) * | 2018-11-05 | 2020-05-14 | 中兴通讯股份有限公司 | 一种微服务架构下的通信方法及系统 |
-
2020
- 2020-12-31 CN CN202011637131.2A patent/CN112732229A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577780A (zh) * | 2015-12-21 | 2016-05-11 | 武汉理工大学 | 一种基于微服务的高校教学云平台 |
WO2020094021A1 (zh) * | 2018-11-05 | 2020-05-14 | 中兴通讯股份有限公司 | 一种微服务架构下的通信方法及系统 |
CN109560989A (zh) * | 2018-12-06 | 2019-04-02 | 深圳市递四方信息科技有限公司 | 一种链路监控系统 |
CN111124670A (zh) * | 2019-12-05 | 2020-05-08 | 航天科工网络信息发展有限公司 | 一种面向战术云的微服务平台 |
Non-Patent Citations (2)
Title |
---|
吴晓龙: "基于微服务架构的在线学习系统设计与实现", 中国优秀硕士学位论文全文数据库信息科技辑, pages 138 - 357 * |
王备等: "基于微服务架构实现售电平台的分析和研究", 电力信息与通信技术, vol. 27, no. 4, pages 34 - 39 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489809A (zh) * | 2021-09-08 | 2021-10-08 | 广州易方信息科技股份有限公司 | 微服务的数据传输方法、结构以及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
dela Pena-Bandalaria | Impact of ICTs on open and distance learning in a developing country setting: The Philippine experience | |
Kim et al. | Socioeconomic strata, mobile technology, and education: A comparative analysis | |
Nai | The design of smart classroom for modern college English teaching under Internet of Things | |
Tlili et al. | A smart collaborative educational game with learning analytics to support English vocabulary teaching | |
Papageorgiou et al. | Maintaining access to a large-scale test of academic language proficiency during the pandemic: The launch of TOEFL iBT Home Edition | |
Tian et al. | An Empirical Study on Interactive Flipped Classroom Model Based on Digital Micro‐Video Course by Big Data Analysis and Models | |
Hu | [Retracted] Study of the Effectiveness of 5G Mobile Internet Technology to Promote the Reform of English Teaching in the Universities and Colleges | |
CN112732229A (zh) | 一种基于微服务架构的多语言学习系统 | |
Kassim et al. | A web-based intelligent learning environment for digital systems | |
Mann et al. | A comparison of temporal speech and text cueing in educational multimedia | |
Jia | Designing an intelligent teaching system of chinese as a foreign language under the internet background | |
Zhang | Analyzing the construction of university ELT resource base using cloud platform | |
Lin | Practice of construction of china national public service system for digital educational resources | |
Hong | Research on the Development of Innovation Path of Ideological and Political Education in Colleges and Universities Based on Cloud Computing and K‐Means Clustering Algorithm Model | |
Liu | [Retracted] Design of College English News Listening Teaching System Based on Improved SPOC by using IoT | |
Saito et al. | Supporting classroom activities with the BSUL environment | |
Rankapola | The use of pod casting revision lectures in improving learners' academic performance | |
Khatoon et al. | COVID-19 Pandemic and University Teachers’ Experiences about Challenges of Online Teaching: A Phenomenography Approach | |
Lai et al. | Design and Application of Mobile Multimedia Teaching Micro Platform for Ideological and Political Education | |
Galinium et al. | E-learning system introduction: equality in education for teachers in rural area of Indonesia | |
Wang et al. | An exploration of intelligent learning (iLearning) systems | |
Archibald et al. | The Lockdown in Retrospect: An International, Mixed Methods Perspective on Student and Faculty Experiences with COVID-19 Remote Learning | |
Gao | English MOOC Teaching Platform Design System Based on KMP Algorithm | |
Fatimah et al. | STUDENTS'PERCEPTION OF USING MEDIA PLATFORMS FOR ESL STUDENTS (A case study in SMK Darma Bahari Surabaya) | |
Samek et al. | Geography, E-Learning and a Course in Peatland Ecosystems and Climate Change Science |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |