专栏首页腾讯云实践案例一支笔接入云上智慧课堂:企鹅智笔案例的技术架构剖析
原创

一支笔接入云上智慧课堂:企鹅智笔案例的技术架构剖析

教育的最大成本是什么?时间!

改革的常见难点是什么?习惯!

教育体系更希望以“润物细无声”的方式,优化教育平台,赋与学生更大的成长空间。于是产品经理和工程师们提出了一个基于腾讯云的智慧教育解决方案。

它不改变学生的作答习惯,它收集丰富的过程性数据,它使用AI和大数据助力个性化教学,它是如何在一支点阵笔的身后,建立起云上的深度服务体系呢?

本文将聚焦技术维度,分享整体技术架构的设计与实现。

业务背景

“企鹅智笔课堂系统”的设计目标是能够同时服务教师和学生,并将自己融入已有的教育体系,并提升教育能力。从整体架构设计上,按照低耦合、高可用、可独立服务的设计原则,我们设计了3个相对独立的子系统,分别是课前的“选题组卷”模块、课中的“互动教学和随堂测验”模块以及课后的“在线批改与个性化报告”模块;首先,我们期望每个子系统有自己独立的用户体系,可以独立服务,但需要解决账户打通问题,如何识别不同系统的用户是不是同一个实体用户呢?其次,为了每个系统都会产生自己的数据,如何将这些数据同步汇总到一起,同时又能够保证数据关系的准确性呢?

在这样的服务诉求下,两个不可绕过的难点出现了:1、用户拉通;2、数据交互。为了实现这两个重要的基本需求,我们设计并开发了“企鹅智笔课堂基础核心服务”,一个可远程调用的数据处理服务。

技术选型

我们对比了常用的应用层网络通信,http与grpc协议,如下所示:

虽然http协议有浏览器支持,但是在传输效率和安全性等方面都不及grpc协议,而基础核心服务是提供接口服务的,无需浏览器支持,因此在协议选型中采用grpc协议。

接下来,以必备的服务器为核心,我们对比了使用自建服务器与腾讯云服务器,在架构上带来的差异,如下所示:

腾讯云提供了一系列方便开发者使用的组件,高可用、低维护、定向服务(关系型数据库/NoSql数据库)等方面全面优于自建服务,因此选用腾讯云进行服务部署,具体涉及的云服务:

l 云服务器(CVM)

l 云文件存储(CFS)

l 大数据检索(ElasticSearch)

l 云数据库(CDB:redis/mysql/sqlserver)

l 云消息队列(CMQ)

架构设计

1、“企鹅智笔课堂”的总体架构如图所示:

从上图可以看出基础核心服务(GRPC微服务集群)在中间起到了承上启下的作用。业务层与基础组件的交互,以及业务层之间的数据交互都要通过基础核心服务,基础核心服务承担着一个重要的数据存储于调度功能。下文将展示数个基于核心服务的逻辑架构设计。

2、基础核心服务的架构

grpc云服务集群通过ETCD注册到服务组中,同时基础核心服务grpc云服务集群也可以通过ETCD发现登录组件服务,从而获取登录用户信息;grpc服务接收到调用方发送的请求之后,进行相应的处理,存入CDB、CFS或者ES,当一个业务层的数据流程结束后,基础核心服务会向CMQ写入一个消息,通知其下游的业务层进行相应的业务处理。

技术难点

1、用户数据拉通

回到最初的“神之疑问”,不同的子用户系统中的账号,到底对应的是不是同一个实体用户呢?一个用户在3个子系统中可能有3个不同的id,3个不同的用户名称,3个不同的账号密码,更可怕的是,不同的用户在不同的系统中,用户名都很有可能是重复的,这种问题,交给个大活人来判断都有难度,更何况是程序处理,OMG!难道除了上帝真的没有人知道了吗?当然还有,那就是“智慧校园开放平台”的“登录组件”。

首先,子系统1用户在登录时使用登录组件,微信扫描二维码后返回用户识别码,以及在浏览器中种一个登录态cookie,当用户在当前浏览器切换到子系统2时,子系统2在取到登录态cookie后,通过grpc服务向登录组件发起校验,校验通过后则准许用户登录,同时子系统2可以通过grpc服务向登录组件获取用户信息,从而确定用户在子系统2内的角色和权限,这样用户就不用重复登陆了,从而实现了子系统之间的无缝切换。

具体流程可参见如下流程示意图:

2、数据结构的反向映射

根据业务的不同,每张表的结构都不同,而grpc则对传入传出参数有着强数据结构的校验,每次对数据库内数据的调整都要每个字段逐一赋值吗?如果真的这么做,代码冗余就会非常严重,可维护性也会严重下降,这里,我们是用“反向映射”的方法来解决问题。所谓“反向映射”,就是程序在运行时确定数据的类型和标签,并可以对数据进行动态修改。

处理这个问题流程如下图所示:

3、数据交互

正如“巴别塔”的建造,带来巨大的语言沟通障碍一样,多用户体系系统的架构也面临着巨大的数据交互的压力。每个系统产生的数据都不是独立的,都需要其他的系统继续处理,而其他系统如何跨系统取数据呢?最简单暴力的方法就是子系统直接开放http api接口,这种做法简单粗暴,虽然立竿见影,但是问题也很明显,首先就是暴露在公网的接口需要进行身份校验,其次,随着参与交互的子系统数量的增加,沟通成本会呈指数上升,虽然目前只有3个子系统,但是随着产品特性的增加引入新的子系统不可避免。那么最好的处理方法就是设立一个“仓库管理员”,子系统1产生的数据,可以通过“仓库管理员”存入“仓库”,子系统2需要什么数据可以跟“仓库管理员”要,如果“仓库”里有就给你,没有就告诉你没有。使用grpc微服务集群搭建的基础核心服务正好充当这个“管理员”的角色。每个系统产生的数据由基础核心服务进行汇总,其他系统需要数据则从基础核心服务中获取。

总结

“世上无难事只怕有心人”,任何一个业务都有其业务难点,任何一个业务难点都会带来对应的技术难点,但这些难点都是可以被解决的,只要思路清晰,方向正确,会使我们解决问题的难度降低很多。“智笔课堂”这个项目,我们充分利用了腾讯云提供的丰富的基础组件服务,极大地降低了开发成本与后期运维成本,将一个原本复杂的系统大大的简化了。

架构上的实践其实涉及多个角度的解析,本文暂就核心架构,进行了关键设计的分享,后续将结合本方案针对大数据检索及AI应用等维度,进行专项分享。

更多咨询或合作,请联系ecological_product@tencent.com邮箱

相关文章:

欢迎订阅【腾讯云实践案例】专栏,以便接收更新提醒

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一支笔打通教学所有环节?指尖“黑科技”打造企鹅智笔课堂

    记得高中数学老师,曾跟我们讲过她全家总动员的判卷经历,选择题她儿子判,她负责后面大题,她老公核算总分,数学课代表登成绩

    Jocelyn
  • 一支笔打通教学所有环节?指尖“黑科技”打造企鹅智笔课堂

    记得高中数学老师 曾跟我们讲过她全家总动员的判卷经历 选择题她儿子判,她负责后面大题 她老公核算总分,数学课代表记录成绩 但是!在腾讯的智慧教育解决方案里,...

    腾讯智慧教育
  • 一支笔接入云上智慧课堂:企鹅智笔案例的AI智能批改技术解析

    英文作文的批改,以往完全依赖于教师的主观判断,既需要教师做大量重复性的工作,又难以规避批量批改中对细节错误的忽视。如何用机器又准又快的批改作文,给老师减负,就成...

    李志豪
  • 笔尖上的AI,00后智慧课堂又出新姿势?

    大家以为老师改作业是这样的: 没课的午后,枸杞保温杯、空调小零食 但实际上老师改作业是这样的: 因为老师们的工作内容非常多 不得不“见缝插针”各种挤时间...

    鹅老师
  • 腾讯教育三款产品入选中央电教馆“推荐名单”

    近日,教育部中央电化教育馆公布了2020年“数字校园综合解决方案”名单,腾讯智慧校园、企鹅智笔课堂、智慧教育数据中心三款腾讯教育产品成功入选。《数字校园综合解...

    鹅老师
  • 《校园垃圾分类闭卷考试》附答案

    近期,网友们被各种灵魂拷问 食堂阿姨:要饭吗? 快递小哥:你是什么东西? 配钥匙师傅:你配吗? 出租车师傅:你的定位是什么? 垃圾分拣阿姨:你是什么垃圾? ...

    鹅老师
  • 腾讯助力,罗湖智慧教育精彩亮相深圳教育装备博览会

    2020年9月18日,以“先行示范,智引未来”为主题的2020第三届深圳教育装备博览会在深圳会展中心正式拉开帷幕,与中外优秀教育装备企业共同探索行业发展新趋势,...

    腾讯智慧教育
  • 4亿、7万、1.5万...我们数了数腾讯教育的果实

    小超(化名)是留守儿童,父母常年在外打工,家庭生活的缺失,使得他“性格或者成绩,都存在一些问题。在校时,他几乎不与任何人交流。”小超的班主任说。 腾讯教育“班...

    鹅老师
  • 腾讯全球数字生态大会智能教育专场上线 战略升级推出全新解决方案

    9月10日,2020腾讯全球数字生态大会智能教育专场在“云端”举行。腾讯高级执行副总裁、云与智慧产业事业群总裁汤道生,腾讯云副总裁、腾讯教育副总裁王涛,腾讯教育...

    腾讯智慧教育
  • 腾讯全球数字生态大会智能教育专场上线 战略升级推出全新解决方案

    9月10日,2020腾讯全球数字生态大会智能教育专场在“云端”举行。腾讯高级执行副总裁、云与智慧产业事业群总裁汤道生,腾讯云副总裁、腾讯教育副总裁王涛,腾讯教...

    鹅老师
  • 山东青州“抗疫”实录:7天完成智慧校园升级

    新冠病毒疫情的突袭,给教育行业带来了巨大的挑战:全国大中小学集体从线下“搬迁”到线上,且时间紧、任务重。然而,在如此重压之下,山东省青州市还主动给自己增加了难度...

    鹅老师
  • 北京外国语大学与腾讯云签署合作协议 以人工智能技术助推教师队伍建设

    2019年3月21日,北京外国语大学与腾讯云在北京外国语大学东校区举行合作签约仪式,未来双方将共同做好人工智能助推教师队伍建设行动试点工作,积极探索新时代教师队...

    腾讯智慧教育
  • 汤道生首次解读腾讯教育版图 做好产业智慧化升级“数字助手”

    11月13日,在芥末堆主办的GET2018教育科技大会上,腾讯高级执行副总裁汤道生发表《科技助力教育 学习成就未来》的主题演讲,他表示,腾讯希望做好教育产业智慧...

    腾讯智慧教育
  • 罗湖携手腾讯教育亮相深圳教育装备博览会 智能教育成果见证行业发展新趋势

    9月18日,以“先行示范,智引未来”为主题的2020第三届深圳教育装备博览会在深圳会展中心正式拉开帷幕。展会全面覆盖教育装备行业应用场景,与中外优秀教育装备企...

    鹅老师
  • 教育公平和质量提升成政府工作报告重点 腾讯教育科技助力探索新路径

    5月22日,第十三届全国人民代表大会第三次会议在人民大会堂举行开幕会。在国务院总理李克强作政府工作报告中,特别指出推动教育公平发展和质量提升,要优化投入结构,让...

    鹅老师
  • 精选腾讯技术干货200+篇,云加社区全年沙龙PPT免费下载!

    “看一看”推荐模型揭秘!微信团队提出实时Look-alike算法,解决推荐系统多样性问题;

    风间琉璃
  • 腾讯教育护航上海145万中小学生“空中开学”

    日前,上海正式宣布,全市中小学3月2日全面“空中开学”。上海市教育委员会(以下简称“上海市教委”)将统一搭建网络平台,组织优秀教师录制相关课程。课程将通过电视和...

    腾讯智慧教育
  • 大凉山的美术课,怎么就跟英特尔扯上关系了

    如今,物联网、云计算、人工智能、边缘计算等技术的出现,已经逐渐开始改变教育的面貌。

    量子位
  • MEET正在发声:我们的教育,我们的故事

    特殊学校的“失语症”女孩,千年古村的英语小达人,边疆山区的留守儿童,灾区重建学校的英语老师,被一部手机激活的百年老校,充满“智慧”的未来学校……这些看起来毫无关...

    鹅老师

扫码关注云+社区

领取腾讯云代金券