本发明涉及计算机技术领域,尤其涉及一种任务同步方法、远程教学系统。
背景技术:
随着计算机技术的发展,人们可以通过网络课堂进行远程教学。在进行远程教学时,老师可以在老师客户端所接入的网络课堂进行讲课,而学生则可以通过学生客户端所接入的网络课堂进行听课。
在进行远程教学过程中,老师还可以借助网络课堂向学生布置任务,例如,任务是代码项目的编写,以此检验学生的听课效果。具体地,学生通过文件传输的方式将完成的任务发送给老师,老师基于本地完成该任务的批改之后,对该学生的完成情况进行线上系统录入。
由上可知,上述批改过程是割裂的,导致批改效率低下。
技术实现要素:
为了解决相关技术中存在的批改效率低下的问题,本发明各实施例提供一种任务同步方法、远程教学系统。
其中,本发明所采用的技术方案为:
在本发明公开实施例的第一方面,一种任务同步方法,适用于远程教学系统,所述系统包括接入网络课堂的客户端,所述客户端包括学生客户端和老师客户端,所述方法包括:所述学生客户端在所接入网络课堂展示的任务页面中,根据检测到的任务提交操作确定所述任务页面所部署gitlab服务中注册的第一接口;调用所述第一接口,将与所述任务提交操作有关的任务数据同步至所述老师客户端;所述老师客户端在所接入网络课堂展示的批改页面中,根据所述任务数据显示所述学生客户端提交的任务;在显示的任务中进行任务批改操作检测,根据检测到的任务批改操作确定所述批改页面所部署gitlab服务中注册的第二接口;调用所述第二接口,将与所述任务批改操作有关的任务批改结果反馈至所述学生客户端。
在本发明公开实施例的第二方面,一种远程教学系统,所述系统包括接入网络课堂的学生客户端和老师客户端,其中,所述学生客户端,用于在所接入网络课堂展示的任务页面中,根据检测到的任务提交操作确定所述任务页面所部署gitlab服务中注册的第一接口;所述学生客户端,还用于调用所述第一接口,将与所述任务提交操作有关的任务数据同步至所述老师客户端;所述老师客户端,用于在所接入网络课堂展示的批改页面中,根据所述任务数据差异化显示所述学生客户端提交的任务;所述老师客户端,还用于在显示的任务中进行任务批改操作检测,根据检测到的任务批改操作确定所述批改页面所部署gitlab服务中注册的第二接口;所述老师客户端,还用于调用所述第二接口,将与所述任务批改操作有关的任务批改结果反馈至所述学生客户端。
在本发明公开实施例的第三方面,一种电子设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的任务同步方法。
在本发明公开实施例的第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任务同步方法。
在上述技术方案中,在进行远程教学过程中,整个批改过程完全基于网络课堂,以此避免批改过程的割裂。
具体而言,学生客户端在所接入网络课堂展示的任务页面中,根据检测到的任务提交操作确定任务页面所部署gitlab服务中注册的第一接口,通过第一接口的调用,将与任务提交操作有关的任务数据同步至老师客户端。
对于老师客户端而言,在所接入网络课堂展示的批改页面中,根据任务数据显示学生客户端提交的任务,当检测到显示的任务中触发了任务批改操作,则确定批改页面所部署gitlab服务中注册的第二接口,通过第二接口的调用,将与任务批改操作有关的任务批改结果反馈至学生客户端。
由此,基于gitlab服务的部署,无论是学生进行的任务提交,还是老师进行的任务批改,都可借助网络课堂实现,整个批改过程连贯方便,进而有效地提高了批改效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据本发明所涉及的实施环境的示意图。
图2是根据一示例性实施例示出的一种终端的硬件结构框图。
图3是根据一示例性实施例示出的一种任务同步方法的流程图。
图4是图3对应实施例所涉及的任务页面的示意图。
图5是图3对应实施例所涉及的批改页面的示意图。
图6是根据一示例性实施例示出的另一种任务同步方法的流程图。
图7为图6对应实施例所涉及的任务提交请求发起的示意图。
图8是根据一示例性实施例示出的另一种任务同步方法的流程图。
图9为图8对应实施例所涉及的任务批改请求发起的示意图。
图10是图9对应实施例中步骤530在一个实施例的流程图。
图11为图10对应实施例所涉及的批改任务条目显示于批改页面的示意图。
图12是图3对应实施例中步骤350在一个实施例的流程图。
图13是图12对应实施例中步骤355在一个实施例的流程图。
图14是根据一示例性实施例示出的另一种任务同步方法的流程图。
图15是根据一示例性实施例示出的另一种任务同步方法的流程图。
图16为图15对应实施例所涉及的绑定关系建立的示意图。
图17是图15对应实施例中步骤730在一个实施例的流程图。
图18是根据一示例性实施例示出的另一种任务同步方法的流程图。
图19是图18对应实施例所涉及的接口调用查询的示意图。
图20是根据一示例性实施例示出的一种任务同步装置的框图。
图21是根据一示例性实施例示出的一种电子设备的框图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1为一种任务同步方法所涉及的实施环境的示意图。该实施环境包括终端110、网络服务器端130和gitlab服务器端150。
具体地,终端110可供提供远程教学功能的客户端运行,可以是台式电脑、笔记本电脑、平板电脑、掌上电脑、个人数字助理、智能手机等等,在此不进行具体限定。
其中,客户端,提供远程教学功能,例如,远程教学客户端、浏览器客户端等,可以是应用程序形式,也可以是网页形式,相应地,客户端进行展示的用户界面则可以是程序窗口形式,还可以是网页页面形式的。
网络服务器端130,构建网络课堂对应数据库,以存储网络课堂相关的数据,例如,网络课堂对应的网络课堂账号、原始数据等。其中,网络服务器端130可以是一台服务器,也可以是多台服务器组成的服务器集群,还可以是由多台服务器构成的云计算中心,在此不进行具体限定。其中,服务器是指向用户提供后台服务的计算机设备,例如,后台服务包括远程教学服务等。
终端110与网络服务器端130之间通过无线或者有线等方式预先建立网络连接,以通过所建立的网络连接实现终端110与网络服务器端130之间的数据传输,例如,传输的数据包括网络课堂对应的网络课堂账号、原始数据批改任务条目等。
gitlab服务器端150,则负责提供gitlab服务的部署,例如,将gitlab服务部署于网络课堂所展示的任务页面、批改页面等,以实现gitlab服务器端150与网络服务器端130之间、甚至与终端110之间的数据互通,例如,同步的数据包括任务数据、任务批改结果、批改任务条目等。
在进行远程教学过程中,终端110包括第一终端和第二终端,远程教学客户端包括学生客户端和老师客户端。该第一终端可供老师客户端运行,该第二终端可供学生客户端运行,老师客户端可接入网络课堂以便于老师讲课,学生客户端可接入网络课堂以便于学生听课。
老师还借助网络课堂向学生布置任务,例如,任务是代码项目的编写,那么,对于学生客户端而言,在网络课堂所展示的任务页面中提交任务之后,便可基于该任务页面所部署的gitlab服务,将所提交任务相关的任务数据同步至老师客户端。
而就老师客户端来说,在网络课堂所展示的批改页面中完成任务批改之后,便可基于该批改页面所部署的gitlab服务,将任务批改结果反馈至学生客户端。
请参阅图2,图2是根据一示例性实施例示出的一种终端的框图。该种终端适用于图1所示出实施环境中的终端100。
需要说明的是,该种终端只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该种终端也不能解释为需要依赖于或者必须具有图2中示出的示例性的终端100中的一个或者多个组件。
终端200的硬件结构可因配置或者性能的不同而产生较大的差异,如图2所示,终端200包括:电源210、接口230、至少一存储器250、以及至少一中央处理器(cpu,centralprocessingunits)270。
具体地,电源210用于为终端200上的各组件提供工作电压。
接口230包括至少一有线或无线网络接口231、至少一串并转换接口233、至少一输入输出接口235以及至少一usb接口237等,用于与外部设备通信。例如,实现终端100与图1实施环境所示出的网络服务器端130之间的通信。
存储器250作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253及数据255等,存储方式可以是短暂存储或者永久存储。
其中,操作系统251用于管理与控制终端200上的各组件以及应用程序253,以实现中央处理器270对海量数据255的计算与处理,其可以是windowsservertm、macosxtm、unixtm、linuxtm、freebsdtm等。
应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图2中未示出),每个模块都可以分别包含有对终端200的一系列计算机可读指令。例如,进行远程教学的客户端可视为部署于终端200的应用程序253,以实现任务同步方法。
数据255可以是照片、图片,还可以是任务数据、任务批改结果,存储于存储器250中。
中央处理器270可以包括一个或多个以上的处理器,并设置为通过通信总线与存储器250通信,以读取存储器250中存储的计算机可读指令,进而实现对存储器250中海量数据255的运算与处理。例如,通过中央处理器270读取存储器250中存储的一系列计算机可读指令的形式来完成任务同步方法。
显示屏幕280可以是液晶显示屏或者电子墨水显示屏等,此显示屏幕280在终端200与用户之间提供一个输出界面,以通过该输出界面将文字、图片或者视频任意一种形式或者组合所形成的输出内容向用户显示输出。例如,在网络课堂中展示任务页面、批改页面等,或者,在任务页面中显示任务条目,以及在批改页面中显示批改任务条目等。
输入组件290,可以是显示屏幕280上覆盖的触摸层,也可以是终端200外壳上设置的按键、轨迹球或者触控板,还可以是外接的键盘、鼠标、触控板等,用于获取用户触发的各种操作。例如,任务提交操作、任务批改操作、任务选择操作、批改任务选择操作等等。
可以理解,图2所示的结构仅为示意,终端200还可包括比图2中所示更多或更少的组件,或者具有与图2所示不同的组件。图2中所示的各组件可以采用硬件、软件或者其组合来实现。
请参阅图3,在一示例性实施例中,一种任务同步方法适用于图1所示实施环境的终端,该终端的结构可以如图2所示。
该种任务同步方法可以由终端执行,也可以理解为由终端中运行的客户端执行,例如,远程教学客户端。在下述方法实施例中,为了便于描述,以各步骤的执行主体为客户端加以说明,但对此不构成限定。其中,客户端包括学生客户端和老师客户端。
该种任务同步方法可以包括以下步骤:
步骤310,所述学生客户端在所接入网络课堂展示的任务页面中,根据检测到的任务提交操作确定所述任务页面所部署gitlab服务中注册的第一接口。
首先,网络课堂,是通过终端上运行的客户端所构建的,也即是,当客户端在终端上运行,随着终端与网络服务器端之间建立的网络连接,网络课堂相应地构建,此时,学生客户端可接入该网络课堂进行听课,老师客户端可接入该网络课堂进行讲课,以此实现远程教学。
如前所述,在进行远程教学过程中,老师可以借助网络课堂向学生布置任务,例如,任务是代码项目的编写,以此检验学生的听课效果。本实施例中,老师布置给学生的任务,通过任务页面向学生展示,也即是,任务页面显示出老师布置给学生的任务,以便于学生进行任务提交。
为了解决现有技术中批改过程的割裂,任务页面部署了gitlab服务,换而言之,通过任务页面,学生客户端可以享受gitlab服务器所提供的gitlab服务。
具体而言,为进行远程教学搭建gitlab服务器,以便于通过gitlab服务器自身强大的管理能力,来对学生所提交的任务进行管理。也可以理解为,gitlab服务器相当于一个“仓库”,存储了学生所提交的任务,即为学生客户端提供gitlab服务。
为了实现gitlab服务器对学生所提交任务的管理,gitlab服务器会向进行远程教学的客户端(例如学生客户端)提供原生页面,通过该原生页面使得学生借助学生客户端所提交的任务都将存储至gitlab服务器,即,使得学生客户端享受gitlab服务。其中,原生页面是指gitlab服务器提供的未进行过二次开发的原始的页面。
进一步地,在得到原生页面之后,需要对该原生页面进行二次开发,以生成部署了gitlab服务的任务页面,进而方便学生能够基于该任务页面进行任务提交,将所提交的任务存储至gitlab服务器。
例如,如图4所示,基于原生页面,通过控件完成任务对话框302、“提交作业”按钮303、“取消”按钮等用户界面元素的开发,并显示,由此即得到部署了gitlab服务的任务页面301。
那么,对于学生客户端而言,在部署了gitlab服务的任务页面生成之后,便可随着网络课堂的接入,进行该部署了gitlab服务的任务页面的展示,以便于向学生展示老师布置的任务。
其次,为了方便于学生向老师提交完成的任务,本实施例中,在任务页面中提供任务提交入口,学生可通过在该任务提交入口触发任务提交操作。
以任务为代码项目的编写为例进行说明,如图4所示,在任务页面301中,当学生在任务对话框302中完成了代码项目的编写,便可点击“提交作业”按钮303进行任务提交。其中,“提交作业”按钮303便是任务页面301中的任务提交入口,而点击操作即是在该任务提交入口触发的任务提交操作。
需要说明的是,根据终端所配置输入组件(例如显示屏幕上覆盖的触摸层、鼠标、键盘等)的不同,任务提交操作的具体行为也可以各不相同。例如,借由触摸层输入的智能手机而言,任务提交操作可以是点击、滑动等手势操作,而对于配置鼠标的个人计算机而言,任务提交操作可以是拖拽、单击、双击等机械操作,在此不进行具体限定。
当学生在任务提交入口触发任务提交操作,学生客户端便可检测到该任务提交操作,进而获知学生已完成任务并需要提交给老师。
此时,学生客户端将确定任务页面所部署gitlab服务中注册的第一接口,以通过第一接口的调用,将学生已完成的任务提交给老师。即,第一接口,实现了gitlab服务器与老师客户端之间任务数据的互通。
第一接口在任务页面所部署gitlab服务中注册,实质是指在提供gitlab服务的gitlab服务器中定义该第一接口,以便于gitlab服务器获知该第一接口是用于将学生已完成的任务提交给老师的。即,通过第一接口定义,gitlab服务器获知:接口所传输的数据为学生已完成的任务,数据目的地为老师客户端。
步骤330,调用所述第一接口,将与所述任务提交操作有关的任务数据同步至所述老师客户端。
任务数据,与任务提交操作有关,用于描述学生所提交的任务。
结合图4进行举例说明,当学生在任务对话框302中完成代码项目的编写,便可通过“提交作业”按钮303触发任务提交操作,那么,任务对话框302中由学生编写输入的代码,即视为与任务提交操作有关的任务数据。
此时,基于任务页面所部署的gitlab服务,学生借由任务页面提交的任务便会存储至gitlab服务器,而基于gitlab服务中注册的第一接口,gitlab服务器便可通知老师客户端,进行任务数据的互通。
可选地,考虑接入网络课堂的学生客户端不止一个,相应地,学生所提交的任务也会有多个,则gitlab服务器与老师客户端之间的数据互通还可以基于网络服务器端进行,以此提高老师客户端的批改效率。
具体地,网络服务器端构建网络课堂对应的数据库,用于存储学生借助接入网络课堂的学生客户端所提交的任务,此时,gitlab服务器首先调用第一接口,将学生所提交的任务同步至网络课堂对应的数据库,进而再通过网络课堂对应的数据库实现与老师客户端之间任务数据的互通。
步骤350,所述老师客户端在所接入网络课堂展示的批改页面中,根据所述任务数据显示所述学生客户端提交的任务。
当老师客户端获取到与任务提交操作有关的任务数据,亦即获取到学生借助学生客户端提交的任务之后,便可借助老师客户端向老师展示。
本实施例中,学生提交给老师的任务,通过批改页面向老师展示,也即是,批改页面显示出学生提交给老师的任务,以便于老师进行任务批改。
仍以任务为代码项目的编写为例进行说明,结合图4所示,“提交作业”按钮303被触发任务提交操作,则与该任务提交操作有关的任务数据即为任务对话框302中由学生编写输入的代码,那么,当老师客户端获取到该任务数据,如图5所示,在批改页面305中,学生客户端提交的任务便显示如3061、3062所示。
步骤370,在显示的任务中进行任务批改操作检测,根据检测到的任务批改操作确定所述批改页面所部署gitlab服务中注册的第二接口。
其中,批改页面部署了gitlab服务,是指通过批改页面,老师客户端可以享受gitlab服务器所提供的gitlab服务,以此解决现有技术中批改过程的割裂。
具体而言,基于为进行远程教学搭建gitlab服务器,不仅管理了学生提交的任务,还对老师所提交的任务(即任务批改结果)进行管理,即为老师客户端提供gitlab服务。
为了实现gitlab服务器对老师所提交任务的管理,gitlab服务器会向进行远程教学的客户端(例如老师客户端)提供原生页面,通过该原生页面使得老师借助老师客户端所提交的任务都将存储至gitlab服务器,即,使得老师客户端享受gitlab服务。
进一步地,在得到原生页面之后,需要对该原生页面进行二次开发,以生成部署了gitlab服务的批改页面,进而方便老师能够基于该批改页面进行任务批改。
例如,如图5所示,基于原生页面,通过控件完成批改对话框307等用户界面元素的开发,并显示,由此即得到部署了gitlab服务的批改页面305。
为了方便于老师批改学生提交的任务,本实施例中,在批改页面中提供任务批改入口,老师可通过在该任务批改入口触发任务批改操作。
以任务为代码项目的编写为例进行说明,如图5所示,在批改页面305中,基于显示出的学生提交的任务3061、3062,老师可查看到学生编写输入的代码的正确情况,进而在批改对话框307中输入修改建议、分数等。其中,批改对话框307便是批改页面305中的任务批改入口,而输入操作即是在该任务批改入口触发的任务批改操作。
同理于任务提交操作,根据终端所配置输入组件(例如触控屏幕、鼠标、键盘等)的不同,任务批改操作的具体行为也可以各不相同,在此不进行重复描述。
当老师在任务批改入口触发任务批改操作,老师客户端便可检测到该任务批改操作,进而获知老师对学生提交的任务已完成批改,并需要反馈给学生关于老师的任务批改结果,例如修改建议、分数等。
此时,老师客户端将确定批改页面所部署gitlab服务中注册的第二接口,以通过第二接口的调用,向学生反馈老师的任务批改结果。即,第二接口,实现了gitlab服务器与学生客户端之间任务批改结果的互通。
第二接口在批改页面所部署gitlab服务中注册,实质是指在提供gitlab服务的gitlab服务器中定义该第二接口,以便于gitlab服务器获知该第二接口是用于将老师的任务批改结果反馈给学生的。即,通过第二接口定义,gitlab服务器获知:接口所传输的数据为老师的任务批改结果,数据目的地为学生客户端。
步骤390,调用所述第二接口,将与所述任务批改操作有关的任务批改结果反馈至所述学生客户端。
任务批改结果,与任务批改操作有关。结合图5进行举例说明,老师在批改对话框307中输入修改建议、分数等,此输入操作即视为任务批改操作,相应地,修改建议、分数等即视为与任务批改操作有关的任务批改结果。
那么,基于批改页面所部署的gitlab服务,老师经由批改页面产生的任务批改结果便会存储至gitlab服务器,而基于gitlab服务中注册的第二接口,gitlab服务器便可通知学生客户端,进行任务批改结果的互通。
可选地,类似于gitlab服务器与老师客户端之间任务数据的互通,gitlab服务器与学生客户端之间任务批改结果的互通同样可以基于网络服务器端进行,以此提高老师客户端的批改效率,在此不重复描述。
通过如上所述的过程,不必脱离网络课堂,而是将学生与老师之间的关系链数据(例如任务数据、任务批改结果)打通至所部署的gitlab服务,实现了整个批改过程的连贯方便,从而有效地提高了批改过程的效率。
在一应用场景中,随着学生客户端接入网络课堂,学生可以直接基于网络课堂进行任务提交,即进入任务页面完成老师布置的任务;而随着老师客户端接入网络课堂,老师可以直接基于网络课堂进行任务批改,即进入批改页面对学生提交的任务进行批改。整个批改过程中,老师不需要基于本地进行任务批改,也不再需要进行学生完成情况的线上系统录入,全部基于网络课堂实现,连贯方便,大大提高了批改效率。
请参阅图6,在一示例性实施例中,步骤310之前,如上所述的方法还可以包括以下步骤:
步骤410,在所述学生客户端所接入网络课堂展示的教学页面中,所述学生客户端接收任务提交请求。
步骤430,根据所述任务提交请求,由所述教学页面跳转至所述任务页面。
可以理解,学生可借助学生客户端接入网络课堂进行听课,通常,当本课听讲结束,才会去完成老师针对本课所布置的任务。
基于此,本实施例中,任务页面的显示,是基于任务提交请求进行的。
具体地,在学生客户端所接入网络课堂展示的教学页面中,提供提交请求发起入口,当学生想去完成老师布置的任务时,便可在此提交请求发起入口触发相关操作。
举例来说,如图7所示,在教学页面401中,“进入项目”按钮402被点击,即认为学生想去完成老师布置的任务。其中,“进入项目”按钮402便是教学页面401中的提交请求发起入口,而点击操作即是该提交请求发起入口触发的相关操作。
当学生客户端检测到此提交请求发起入口触发的相关操作,即视为接收到任务提交请求,进而由教学页面跳转至任务页面,以在学生客户端所接入网络课堂中显示此任务页面。
当然,考虑学生可能存在多个任务,为此,在一示例性实施例中,步骤430可以进一步包括以下步骤:
响应于任务提交请求,由教学页面跳转至任务查看页面,进行任务条目的显示。
在任务查看页面中获取针对任务条目的任务选择操作,根据任务选择操作由任务查看页面跳转至任务页面,进行所选择任务条目对应任务的显示。
其中,通过任务查看页面中显示的任务条目,学生可以查看到所有任务的简要信息,例如,任务提交日期、任务分数等,既有已提交任务,也包含未提交任务。此时,如果学生期望查看或者提交其中一条任务,便可选择对应的任务条目,该选择操作即视为任务选择操作。
同理于任务提交操作,根据终端所配置输入组件(例如触控屏幕、鼠标、键盘等)的不同,批改任务选择操作的具体行为也可以各不相同,在此不进行重复描述。
那么,在获取到任务选择操作之后,学生客户端便跳转至任务页面,进行所选择任务条目对应任务的显示。
请参阅图8,在一示例性实施例中,步骤350之前,如上所述的方法还可以包括以下步骤:
步骤510,在所述老师客户端所接入网络课堂展示的教学页面中,所述老师客户端接收任务批改请求。
步骤530,根据所述任务批改请求,由所述教学页面跳转至所述批改页面,进行批改任务条目的显示。
可以理解,老师可借助老师客户端接入网络课堂进行讲课,通常,当本课讲解结束,老师才有可能去批改学生针对本课所提交的任务,进而检验学生关于本课的听课效果。
基于此,本实施例中,批改页面的显示,是基于任务批改请求进行的。
具体地,在老师客户端所接入网络课堂展示的教学页面中,提供批改请求发起入口,当老师想去批改学生提交的任务时,便可在此批改请求发起入口触发相关操作。
举例来说,如图9所示,在教学页面501中,“进入项目”按钮502被点击,即认为老师想去批改学生提交的任务。其中,“进入项目”按钮502便是教学页面501中的批改请求发起入口,而点击操作即是该批改请求发起入口触发的相关操作。
当老师客户端检测到此批改请求发起入口触发的相关操作,即视为接收到任务批改请求,进而由教学页面跳转至批改页面,以在老师客户端所接入网络课堂中显示批改页面。
同理于任务提交操作,根据终端所配置输入组件(例如触控屏幕、鼠标、键盘等)的不同,上述各入口(提交请求发起入口、批改请求发起入口)所触发的相关操作的具体行为也可以各不相同,在此不进行重复描述。
应当理解,同一老师,所需要批改的学生提交的任务可能不止一个,因此,对于批改页面的显示而言,实质是进行批改任务条目的显示。
进一步地,在一示例性实施例中,如图10所示,步骤530可以包括以下步骤:
步骤531,响应于所述任务批改请求,由所述教学页面跳转至所述批改页面。
步骤533,获取对应于所述老师客户端的批改任务条目,并将获取到的批改任务条目显示在所述批改页面中。
如图11所示,在批改页面503中,显示了若干批改任务条目,如图中504所示。可以看出,不同的批改任务条目,可以对应不同的学生客户端,即是由不同学生提交的,也可以对应相同的学生客户端,即是由同一个学生针对不同任务提交的。
批改任务条目,与学生所提交的任务相关,因此,本实施例中,关于若干批改任务条目的获取,是基于批改页面所部署gitlab服务中注册的第三接口实现的。
具体而言,确定所述批改页面所部署gitlab服务中注册的第三接口,以通过第三接口的调用,将对应于老师客户端的批改任务条目同步至老师客户端。即,第三接口,实现了gitlab服务器与老师客户端之间批改任务条目的互通。
同理于第一接口,注册,实质是指在提供gitlab服务的gitlab服务器中定义该第三接口,以便于gitlab服务器获知第三接口是用于将批改任务条目传输至老师客户端的。即,通过第三接口定义,gitlab服务器获知:接口所传输的数据为批改任务条目,数据目的地为老师客户端。
可选地,gitlab服务器与老师客户端之间批改任务条目的互通可借助网络服务器端实现。
请参阅图12,在一示例性实施例中,步骤350可以包括以下步骤:
步骤351,在所述批改页面显示的批改任务条目中,获取针对所述学生客户端所对应批改任务条目触发的批改任务选择操作。
如图11所示,基于批改页面503显示的若干批改任务条目504,老师可查看到所有批改任务的简要信息,例如,任务提交人、任务提交日期、任务评价、任务分数等,假设老师期望针对其中一条“未有评价”的批改任务进行任务批改,便可点击对应的批改任务条目5041。其中,点击操作即视为批改任务选择操作。
同理于任务提交操作,根据终端所配置输入组件(例如触控屏幕、鼠标、键盘等)的不同,批改任务选择操作的具体行为也可以各不相同,在此不进行重复描述。
步骤353,基于所述批改任务选择操作,获取所选择批改任务条目对应任务的所述任务数据。
结合图5和图11所示,如图11所示,当老师选择了批改任务条目5041,对于老师客户端而言,便获取与该批改任务条目5041对应任务有关的任务数据,并显示在批改页面305中,如图5所示。
如前所述,与任务提交操作有关的任务数据,通过第一接口的调用,同步至老师客户端。
基于此,批改任务条目对应任务有关的任务数据,即为与任务提交操作有关的任务数据,实质是从老师客户端本地存储中获取的。
步骤355,根据获取到的所述任务数据,将所述学生客户端所提交的任务差异化显示在所述批改页面。
本实施例中,老师布置任务时,提供了原始数据,例如,源代码,那么,学生在提交任务时,便可基于原始数据进行相应操作,例如,插入、删除、新增等,进而使得学生所提交任务有关的任务数据与原始数据之间存在差异。
差异化显示,是指针对原始数据与任务数据之间存在的差异,通过不同的标记显示于批改页面。其中,标记可以是颜色、符号等,在此不加以限定。
具体地,如图13所示,差异化显示过程可以包括以下步骤:
步骤3551,从所述网络课堂对应数据库中获取原始数据。
原始数据,随着老师客户端接入网络课堂,而存储至网络课堂对应数据库中,为此,关于原始数据的获取,即是从网络课堂对应数据库中获取的。
步骤3553,进行所述原始数据与所述任务数据之间的比较,生成差异化结果。
差异化结果,用于指示原始数据与任务数据之间存在的差异。
步骤3555,根据所述差异化结果,在所述批改页面中显示所述学生客户端提交的任务。
回请参阅图5,针对被删除的数据,可通过红色标记显示,如图5中3061所示;针对修改或者新增的数据,则通过绿色标记显示,如图5中3062所示。
在上述实施例的配合下,更好地向老师展示学生提交的任务,以便于老师更好地进行任务批改,进一步有利于提高批改过程的效率。
请参阅图14,在一示例性实施例中,如上所述的方法还可以包括以下步骤:
步骤610,当所述客户端检测到所述操作,则确定所述gitlab页面所部署gitlab服务中注册的第四接口。
其中,操作包括所述任务提交操作或者所述任务批改操作,gitlab页面包括任务页面或者批改页面。
步骤630,调用所述第四接口,触发通知推送流程。
其中,所述通知用于提示老师存在新提交任务,或者,提示学生存在已批改任务。
同理于第一接口,第四接口,用于实现gitlab服务器与第三方系统之间通知的互通。其中,第三方系统是指与客户端对应用户联的邮箱系统、短信息系统等。
而第四接口的注册,实质是指在提供gitlab服务的gitlab服务器中定义该第四接口,以便于gitlab服务器将通知推送至第三方系统。即,通过第四接口定义,gitlab服务器获知:接口所传输的数据为通知,数据目的地为第三方系统。
也就是说,当学生客户端检测到任务提交操作,便获知学生已进行了任务提交,那么,便可调用第四接口,基于gitlab服务,将通知推送至老师关联的第三方系统,例如,发邮件通知老师存在新提交任务。
对于老师客户端而言,当检测到任务批改操作,便获知老师已进行了任务批改,那么,便可调用第四接口,基于gitlab服务,将通知推送至学生关联的第三方系统,例如,发短信息通知学生存在已批改任务。
在上述实施例的作用下,实现了网络课堂的通知机制,即使学生或者老师离线,也可以及时地获知老师已批改了任务或者有学生提交了任务,有利于提升远程教学的教学体验。
请参阅图15,在一示例性实施例中,所述客户端接入所述网络课堂展示gitlab页面之后,如上所述的方法还可以包括以下步骤:
步骤710,如果所述gitlab页面是首次展示于所述客户端所接入网络课堂,则为所述gitlab页面所部署的gitlab服务生成对应的账号。
步骤730,在所述gitlab页面所部署gitlab服务对应的账号与所述网络课堂对应的网络课堂账号之间建立绑定关系。
步骤750,基于所建立的绑定关系,在所述客户端所接入网络课堂中重新展示所述gitlab页面。
也就是说,客户端要享受gitlab服务器所提供的gitlab服务,需要拥有gitlab服务对应的账号,而客户端需要不脱离网络课堂享受该gitlab服务,则需要进一步进行gitlab服务对应的账号与网络课堂对应的网络课堂账号之间的绑定。
如图16所示,在由教学页面跳转gitlab页面之后,如果部署了gitlab服务的gitlab页面是首次展示,则触发进行gitlab服务对应账号的注册,进而在gitlab服务对应账号与网络课堂对应的网络课堂账号之间建立绑定关系,之后,方才重新展示该gitlab页面,此时,客户端便可基于展示的gitlab页面享受gitlab服务器所提供的gitlab服务。
请参阅图17,在一示例性实施例中,步骤730可以包括以下步骤:
步骤731,确定所述gitlab页面所部署的gitlab服务中注册的第五接口。
同理于第一接口,第五接口,用于实现gitlab服务器与网络服务器端之间gitlab服务对应的账号的互通。其中,网络服务器端,构建了网络课程对应的数据库。
而第五接口的注册,实质是指在提供gitlab服务的gitlab服务器中定义该第五接口,以便于gitlab服务器将gitlab服务对应的账号传输至网络服务器端。即,通过第五接口定义,gitlab服务器获知:接口所传输的数据为gitlab服务对应的账号,数据目的地为网络服务器端。
步骤733,调用所述第五接口,将所述gitlab页面所部署gitlab服务对应的账号传输至网络服务器端,与所述网络课堂对应的网络课堂账号进行绑定。
步骤735,在所述网络服务器端中存储所述绑定关系。
由此,实现了gitlab服务与网络课堂之间账号体系打通,进而有利于将存在于网络课堂中学生与老师之间的关系链数据(例如任务数据、任务批改结果)打通至所部署的gitlab服务,使得整个批改过程连贯方便,有利于提高批改过程的效率。
请参阅图18,在一示例性实施例中,调用所述接口之前,如上所述的方法还可以包括以下步骤:
步骤810,通过所述gitlab页面所部署的gitlab服务,请求所述客户端进行接口调用查询。
其中,gitlab页面包括任务页面或者批改页面,接口包括第一接口、第二接口、第三接口、第四接口或者第五接口。
上述接口,通过在gitlab服务中注册进行gitlab服务器中的接口定义,使得所述gitlab服务器获知所述接口传输的数据及数据目的地。
在调用接口之前,需要查询所调用的接口是否允许被客户端调用。
如果查询结果指示允许调用接口,则跳转执行步骤830。
反之,如果查询结果指示不允许调用接口,则停止进行接口的调用。
例如,客户端未注册gitlab服务对应的账号,则不能够享受gitlab服务器所提供的gitlab服务,此时,不允许调用接口。
或者,客户端注册了gitlab服务对应的账号,但是该gitlab服务对应的账号未与网络课堂对应的网络课堂绑定,则无法实现gitlab服务与网络课堂之间的数据互通,此时,也不允许调用接口。
又或者,假设学生未购买相应的课程,则不允许进行任务提交,同样不允许调用接口,也可能是老师不具备批改学生所提交任务的权限,也不允许调用接口。
基于上述,如图19所示,接口调用查询包括以下两方面:
第一方面,查询账号关系,即通过调用网络课堂提供的接口服务,查询gitlab服务对应账号是否存在具有绑定关系的网络课堂账号。
如果不存在,则查询结果指示不允许调用接口。
反之,如果存在,则继续进行第二方面的接口调用查询。
第二方面,对客户端进行身份鉴权。身份鉴权是指校验学生是否有提交任务的提交权限,或者,校验老师是否有批改任务的批改权限。
如果客户端通过身份鉴权,则查询结果指示允许调用接口。
反之,如果客户端未通过身份鉴权,则查询结果指示不允许调用接口。
应当说明的是,本实施例并非对接口调用查询的两方面的执行顺序构成具体限定,也可以是,先执行第二方面的查询,然后再执行第一方面的查询。
步骤830,当查询结果指示允许调用所述接口,则进行所述接口的调用。
通过上述过程,充分保证了接口调用的正确性,避免批改过程中错误的接口调用,进而有效的保障了批改过程的效率。
结合图19对任务同步的过程加以说明,用户可以是老师,也可以指学生,当用户所持终端上运行进行远程教学的客户端,便视为接入网络课堂,此时即启动任务同步。
其中,终端可以是智能手机、个人计算机等,相应地,客户端可以是运行于智能手机的远程教学客户端,也可以是指运行于个人计算机的浏览器客户端。
基于部署了gitlab服务的gitlab页面,用户所进行的任何批改操作,包括学生提交任务的相关操作、老师批改任务的相关操作等,都会被gitlab页面捕捉到,进而将上述操作有关的数据(例如任务数据、任务批改结果等)存储至gitlab服务器,由gitlab服务器统一管理。
进一步地,基于gitlab页面所部署gitlab服务中注册的各种接口,gitlab服务器便能够将存储的数据及时同步至由网络服务器构建的网络课堂对应的数据库中。
在数据同步之前,将通过网络课堂所提供的接口服务进行接口调用查询,只有查询结果指示接口允许调用,gitlab服务器才允许将数据同步至数据库,进而同步至客户端,从而实现任务同步。
通过上述过程,无论是老师,还是学生,在下一次进入网络课堂时,就会发现任务同步了,例如,对于老师而言,发现存在新提交的任务,对于学生而言,则发现存在已批改的任务,从而使得老师和学生能够更好地交流沟通,大大提高了远程教学的教学体验。
下述为本发明装置实施例,可以用于执行本发明所涉及的任务同步方法。对于本发明装置实施例中未披露的细节,请参照本发明所涉及的任务同步方法的方法实施例。
请参阅图20,在一示例性实施例中,一种远程教学系统900包括但不限于:接入网络课堂的学生客户端910和老师客户端930。
其中,所述学生客户端910,用于在所接入网络课堂展示的任务页面中,根据检测到的任务提交操作确定所述任务页面所部署gitlab服务中注册的第一接口。
所述学生客户端910,还用于调用所述第一接口,将与所述任务提交操作有关的任务数据同步至所述老师客户端。
所述老师客户端930,用于在所接入网络课堂展示的批改页面中,根据所述任务数据差异化显示所述学生客户端提交的任务。
所述老师客户端930,还用于在显示的任务中进行任务批改操作检测,根据检测到的任务批改操作确定所述批改页面所部署gitlab服务中注册的第二接口。
所述老师客户端930,还用于调用所述第二接口,将与所述任务批改操作有关的任务批改结果反馈至所述学生客户端。
在一示例性实施例中,所述学生客户端910还包括但不限于:请求提交模块和任务页面跳转模块。
其中,请求提交模块,用于在所述学生客户端所接入网络课堂展示的教学页面中,所述学生客户端接收任务提交请求。
任务页面跳转模块,用于根据所述任务提交请求,由所述教学页面跳转至所述任务页面。
在一示例性实施例中,所述老师客户端930还包括但不限于:请求接收模块和批改页面跳转模块。
其中,请求接收模块,用于在所述老师客户端所接入网络课堂展示的教学页面中,所述老师客户端接收任务批改请求。
批改页面跳转模块,用于根据所述任务批改请求,由所述教学页面跳转至所述批改页面,进行批改任务条目的显示。
在一示例性实施例中,所述批改页面跳转模块包括但不限于:页面跳转单元和条目获取单元。
其中,页面跳转单元,用于响应于所述任务批改请求,由所述教学页面跳转至所述批改页面。
条目获取单元,用于获取对应于所述老师客户端的批改任务条目,并将获取到的批改任务条目显示在所述批改页面中。
在一示例性实施例中,所述条目获取单元包括但不限于:接口确定子单元和条目同步子单元。
其中,接口确定子单元,用于确定所述批改页面所部署gitlab服务中注册的第三接口。
条目同步子单元,用于调用所述第三接口,将对应于所述老师客户端的批改任务条目同步至所述老师客户端。
在一示例性实施例中,所述老师客户端930还包括但不限于:操作获取模块、任务数据获取模块和差异化显示模块。
其中,操作获取模块,用于在所述批改页面显示的批改任务条目中,获取针对所述学生客户端所对应批改任务条目触发的批改任务选择操作。
任务数据获取模块,用于基于所述批改任务选择操作,获取所选择批改任务条目对应任务的所述任务数据。
差异化显示模块,用于根据获取到的所述任务数据,将所述学生客户端所提交的任务差异化显示在所述批改页面。
在一示例性实施例中,所述差异化显示模块包括但不限于:原始数据获取单元、差异比较单元和差异显示单元。
其中,原始数据获取单元,用于从所述网络课堂对应数据库中获取原始数据。
差异比较单元,用于进行所述原始数据与所述任务数据之间的比较,生成差异化结果。
差异显示单元,用于根据所述差异化结果,在所述批改页面中显示所述学生客户端提交的任务。
在一示例性实施例中,操作包括所述任务提交操作或者所述任务批改操作,gitlab页面包括任务页面或者批改页面。
所述学生客户端910或者老师客户端930均还包括但不限于:接口确定模块和通知触发模块。
其中,接口确定模块,用于当所述客户端检测到所述操作,则确定所述gitlab页面所部署gitlab服务中注册的第四接口。
通知触发模块,用于调用所述第四接口,触发通知推送流程,所述通知用于提示老师存在新提交任务,或者,提示学生存在已批改任务。
在一示例性实施例中,gitlab页面包括任务页面或者批改页面。
所述学生客户端910或者老师客户端930均还包括但不限于:账号生成模块、账号绑定模块和页面展示模块。
其中,账号生成模块,用于如果所述gitlab页面是首次展示于所述客户端所接入网络课堂,则为所述gitlab页面所部署的gitlab服务生成对应的账号。
账号绑定模块,用于在所述gitlab页面所部署gitlab服务对应的账号与所述网络课堂对应的网络课堂账号之间建立绑定关系。
页面展示模块,用于基于所建立的绑定关系,在所述客户端所接入网络课堂中重新展示所述gitlab页面。
在一示例性实施例中,所述账号绑定模块包括但不限于:接口确定单元、绑定单元和存储单元。
其中,接口确定单元,用于确定所述gitlab页面所部署的gitlab服务中注册的第五接口。
绑定单元,用于调用所述第五接口,将所述gitlab页面所部署gitlab服务对应的账号传输至所述网络课堂对应数据库,与所述网络课堂对应数据库中所述网络课堂对应的网络课堂账号进行绑定。
存储单元,用于在所述网络课堂对应数据库中存储所述绑定关系。
在一示例性实施例中,gitlab页面包括任务页面或者批改页面,接口包括第一接口或者第二接口。
所述学生客户端910或者老师客户端930均还包括但不限于:接口调用查询模块和接口调用模块。
其中,接口调用查询模块,用于通过所述gitlab页面所部署的gitlab服务,请求所述客户端进行接口调用查询。
接口调用模块,用于当查询结果指示允许调用所述接口,则进行所述接口的调用。
在一示例性实施例中,所述接口调用查询模块包括但不限于:服务调用单元、账号查询单元和接口禁用单元。
其中,服务调用单元,用于响应于所述gitlab页面所部署gitlab服务的请求,所述客户端调用所述网络课堂提供的接口服务。
账号查询单元,用于通过调用的接口服务,查询发起请求的gitlab服务所对应账号是否存在具有绑定关系的网络课堂账号。如果否,则通知接口禁用单元。
所述接口禁用单元,用于所述查询结果指示不允许调用所述接口。
在一示例性实施例中,所述接口调用查询模块还包括但不限于:身份鉴权单元和接口调用模块。
其中,身份鉴权单元,用于如果发起请求的gitlab服务所对应账号存在具有绑定关系的网络课堂账号,则进行所述客户端的身份鉴权。
所述接口调用模块,用于当所述客户端通过身份鉴权,则所述查询结果指示允许调用所述接口。
需要说明的是,上述实施例所提供的任务同步装置在进行任务同步处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即任务同步装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
另外,上述实施例所提供的任务同步装置与任务同步方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
请参阅图21,在一示例性实施例中,一种电子设备1000,包括至少一处理器1001、至少一存储器1002、以及至少一通信总线1003。
其中,存储器1002上存储有计算机可读指令,处理器1001通过通信总线1003读取存储器1002中存储的计算机可读指令。
该计算机可读指令被处理器1001执行时实现上述各实施例中的任务同步方法。
在一示例性实施例中,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的任务同步方法。
上述内容,仅为本发明的较佳示例性实施例,并非用于限制本发明的实施方案,本领域普通技术人员根据本发明的主要构思和精神,可以十分方便地进行相应的变通或修改,故本发明的保护范围应以权利要求书所要求的保护范围为准。