数据处理方法、数据查询方法及装置、电子设备
文献发布时间:2023-06-19 19:27:02
技术领域
本发明涉及教育技术领域,尤其涉及一种数据处理方法、数据查询方法及装置、电子设备。
背景技术
在互联网教育领域为例,通常存在售卖业务、课堂业务和教师业务等多个不同业务线,这些业务线虽然独立运营和维护,但是又互为支撑,数据间存在相互联系。
在相关技术中,每个业务线的业务人员可以通过该业务线的数据系统查询当前业务线的相关数据,了解当前业务线的业务情况,为实际工作提供指导。
发明内容
根据本公开的一方面,提供了一种数据处理方法,所述方法包括:
获取来自多个数据源的教学信息,不同所述数据源的教学信息之间具有关联关系;
按照数据生成时间先后顺序将多个所述数据源的教学信息形成消息队列;
基于不同所述数据源的教学信息之间的关联关系,对所述消息队列包括的多个教学信息进行统计,获得教学信息统计结果。
根据本公开的另一方面,提供了一种数据查询方法,包括:
响应于用户请求,确定用户查询条件,所述用户查询条件包括查询关键词;
基于所述查询关键词从数据库获取查询结果,所述数据库存储有多个本公开示例性实施例所述方法确定的教学信息统计结果,所述查询关键词的属性与所述教学信息统计结果含有的至少一种数据属性相同。
根据本公开的另一方面,提供了一种数据处理装置,所述装置包括:
获取模块,用于获取来自多个数据源的教学信息,不同所述数据源的教学信息之间具有关联关系;
队列化模块,用于按照数据生成时间先后顺序将多个所述数据源的教学信息形成消息队列;
统计模块,用于基于不同所述数据源的教学信息之间的关联关系,对所述消息队列包括的多个教学信息进行统计,获得教学信息统计结果。
根据本公开的另一方面,提供了一种数据查询装置,所述装置包括:
确定模块,用于响应于用户请求,确定用户查询条件,所述用户查询条件包括查询关键词;
查询模块,用于基于所述查询关键词从数据库获取查询结果,所述数据库存储有多个本公开示例性实施例所述方法确定的教学信息统计结果,所述查询关键词的属性与所述教学信息统计结果含有的至少一种数据属性相同。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及,
存储程序的存储器;
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据本公开示例性实施例所述的方法。
根据本公开的另一方面,提供了一种非瞬时计算机可读存储介质,其特征在于,所述非瞬时计算机可读存储介质存储有计算机指令的所述计算机指令用于使所述计算机执行根据本公开示例性实施例所述的方法。
本公开实施例中提供的一个或多个技术方案,获取来自多个数据源的教学信息,按照数据生成先后顺序将多个数据源的基础数据形成消息队列,因此,本公开示例性实施例可以将属于不同业务侧的教学信息按照生成时间先后顺序形成具有时序的消息队列。换句话说,本公开示例性实施例可以将不同业务侧的教学信息统一到同一数据库下。而由于不同数据源的教学信息之间具有关联关系,因此,可以基于不同数据源的教学信息之间的关联关系,对消息队列包括的多个教学信息进行统计,从而获得教学信息统计结果。因此,本公开示例性实施例的方法可以保证不同业务侧数据源的教学信息含有的教学基础数据和学情数据汇总在同一数据库,进而形成的教学信息统计结果。
当不同业务侧的业务人员需要通过用户端查询教学统计数据时,可以设置查询关键词的属性与教学信息统计结果含有的至少一种数据属性相同,因此,利用查询关键词从多个教学信息统计结果可以查询到该查询关键词对应的查询结果。由于教学信息统计结果是基于不同所述数据源的教学信息之间的关联关系,对所述消息队列包括的多个教学信息进行统计获得的,因此,教学信息统计结果包括融合了来自多个数据源的教学信息,因此,不同业务侧的业务人员在查询学情统计数据时,均可以通过查询关键词从教学信息统计结果全面获取到查询关键词对应的融合不同业务侧的教学信息统计数据,进而利用查询结果帮助不同业务侧的业务人员提升课程的净推荐值,指导实际业务的开展工作。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1示出了根据本公开示例性实施例的可以在其中实施本文描述的各种方法的示例系统架构的示意图;
图2示出了本公开示例性实施例的数据处理方法的流程图;
图3示出了本公开示例性实施例的教学信息匹配结果的修正方法示意图;
图4示出了本公开示例性实施例的数据查询方法的流程图;
图5示出了根据本公开示例性实施例的数据处理装置的功能模块示意性框图;
图6示出了根据本公开示例性实施例的数据查询装置的功能模块示意性框图;
图7示出了根据本公开示例性实施例的芯片的示意性框图;
图8示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
在介绍本公开实施例之前首先对本公开实施例中涉及到的相关名词作如下释义:
数据湖是一个以原始格式存储数据的存储库或系统。它按原样存储数据,而无需事先对数据进行结构化处理。一个数据湖可以存储结构化数据(如关系型数据库中的表),半结构化数据(如CSV、日志、XML、JSON),非结构化数据(如电子邮件、文档、PDF)和二进制数据(如图形、音频、视频)。
HBase是一个分布式的、面向列的开源数据库,该技术来源于Fay Chang所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统"。
二进制日志,又称binlog,它记录了数据库上的所有改变,并以二进制的形式保存在磁盘中,它可以用来查看数据库的变更历史、数据库增量备份和恢复、MySQL的复制(主从数据库的复制)
Canal主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费。Canal的工作原理为把自己伪装成MySQL slave,然后模拟MySQL slave的交互协议向MySQLMaster发送dump协议,MySQL Master收到canal发送过来的dump请求后,将binlog推送给canal,利用canal对binlog进行解析,再发送至存储模块。其中,存储模块包括MySQL、kafka和Elastic Search。
Otter为纯Java编程语言开发,基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库。
Bifrost是一个可以通过界面配置,将MySQL数据库中的数据异构的方式同步到Redis、Mongodb、RabbitMQ等甚至自定义RPC服务里的简单高效的异构中间件。
Binary log为二进制日志,简称binlog,binlog记录了数据库上的所有变化,并以二进制的形式保存在磁盘中。Binlog可以用来查看数据库的变更历史、数据库增量备份和恢复、MySQL的复制(主从数据库的复制)。
Kafka为一个由Scala编写成的开源消息系统,属于一个分布式消息队列,具有生产者和消费者的功能。
在互联网教育领域,售卖业务、课堂业务、教师业务,各个业务线等多业务线的数据库之间相关存在联系,但有独立运营和维护。每个业务线的业务人员可以登陆客户端,并在搜索框内输入用户查询条件,客户端响应于业务人员针对搜索启动控件的操作,将含有的搜索关键词的查询请求发送至服务器,服务器可以解析查询请求,获取到用户查询条件,基于用户查询条件向客户端返回查询结果。
在相关技术中,每个业务线的业务人员可以登陆客户端,通过服务器保存的该业务线的数据系统查询当前业务线的相关数据,了解当前业务线的业务情况,为实际工作提供指导。但是这种方式下,每个业务线需要单独建立数据库,为相关业务人员提供查询服务,导致不同业务线的业务人员无法进行跨业务查询。基于此,相关业务人员需要综合分析教学数据,为当前业务提供指导,就需要查询不同业务线的数据库,然后将不同业务线的数据库所获得的查询结果进行综合处理,导致业务人员使用不方便,不利于教学数据分析,
针对上述问题,本公开示例性实施例提供一种数据处理方法及数据查询方法,可以将多个数据源的教学基础信息按照生成先后形成消息队列,并基于消息队列进行数据匹配,保证所获得的教学信息统计结果汇总不同业务侧的教学信息,进而实现跨业务的数据指标实时处理和分析。在此基础上,不同业务侧的业务人员可以使用查询关键词从同一数据库保存的多个教学信息统计结果进行数据查询,以利用查询结果帮助不同业务侧的业务人员提升课程的净推荐值,指导实际业务的开展工作。
图1示出了根据本公开示例性实施例的可以在其中实施本文描述的各种方法的示例系统架构的示意图。如图1所示,本公开示例性实施例的系统从硬件上包括:后端服务器101和前端服务器102。
如图1所示,后端服务器101可以为前端服务器102提供汇总不同业务侧教学信息的教学信息统计结果。后端服务器101按照功能划分可以包括元数据存储层1011和实时计算层1012。
如图1所示,元数据存储层1021可以与多个数据源103进行数据传输,使得元数据存储层1021可以获取到不同数据源103的基础数据。元数据存储层可以通过数据湖保存各个数据源103的基础数据。应理解,这些数据源103可以包括授课业务线、售课业务线等各种可能的业务线。
在实际应用中,如图1所示,这些数据源103可以包括作业系统(课后系统)、班课系统、课中系统教师系统或者其它教学业务相关的系统,不仅限于此。后端服务器101可以与作业系统、班课系统、课中系统和教师系统建立数据链路,用以调用其中的基础数据,将获取的基础数据汇聚至数据湖1011。
如图1所示,实时计算层1012具有数据计算单元1012a和数据治理单元1012b,数据计算单元1012a主要是从数据湖获取到多个数据源的教学信息,并将其进行处理,形成细粒度教学统计数据。该实时计算层可以通过消息订阅组件读取数据湖中各个数据源的教学信息,并利用队列存储模块保存教学信息形成的消息队列,接着利用数据处理模块将消息队列处理为细粒度教学统计数据。数据治理单元1012b主要实现数据管理的功能,其可以利用订阅管理模块对消息订阅组件的订阅策略进行管理,利用数据回溯模块保证细粒度教学统计数据的数据准确性。
如图1所示,前端服务器102可以对外提供数据查询服务。前端服务器102可以包括数据存储层1021、数据聚合层1022和数据展示层1023。
如图1所示,上述数据存储层1021可以存储后端服务器101提供的教学信息统计结果,可以采用分布式存储结构实现。例如:常见的云分布存储技术实现数据存储层的功能,数据存储层1021的数据库可以结合实际数据类型,包括但不仅限于关系型数据库。数据展示层从硬件上来说包括电脑端,从软件来说包括网页前端。数据聚合层1022包括中间件和搜索引擎,搜索引擎可以是各种搜索引擎,如ElasticSearch搜素引擎、golang搜索引擎等。中间件可以向数据存储模块发送查询关键词,并从数据存储模块获取到查询结果。
如图1所示,用户可以在电脑端登陆系统,通过系统输入查询关键词,网页前端将查询关键词以搜索请求的方式发送至数据聚合层1022,数据聚合层1022基于查询关键词通过搜索引擎从中间件拿取到查询结果并进行聚合,然后通过网络前端反馈至电脑端。网页前端1022还可以根据用聚合数据的各种图表化请求,对聚合结果进行可视化图表化。这些可视化图表包括:柱状图、折线图、散点图等。数据展示层用以展示数据聚合结果,甚至聚合结果的可视化图表等,可视化图表的形式可以根据用于的选择更改。
本公开示例性实施例的提供的数据处理方法可以由服务器执行,也可以由应用于服务器中的芯片执行。下面所述的数据处理方法结合后端服务器作为执行主体进行描述。
图2示出了本公开示例性实施例的数据处理方法的流程图。如图3所示,本公开示例性实施例的数据处理方法可以包括:
步骤201:获取来自多个数据源的教学信息,不同数据源的教学信息之间具有关联关系。当后端服务器获取来自多个数据源的教学信息后,可以将多个数据源的教学信息同步至数据湖中,使得多个数据源的教学信息被保存在数据湖内,以利用数据湖对多业务的多数据源的各个数据链路路数进行统一管理。数据湖为宏观定义,其对应的存储介质所存储的数据库类型可以为HBase数据库和MySQL数据库,但不仅限于此。
上述基础信息的数据格式可以是从MySQL、MariaDB、PostgreSQL、Microsoft SQLServer等关系型数据库获取的关系型数据格式,基础数据的数据格式也可以是从Hbase(Hadoop Database)、键值数据库等非关系型数据库获取的非关系型数据格式。
在实际应用中,可以通过数据同步工具(例如:数据传输服务/一站式在线数据管理平台)将不同数据源的教学信息采用按需同步和/或全部同步的方式同步至数据湖中,从而使得多业务多数据源的基础数据可以汇聚在同一数据库内。
示例性的,多个数据源至少包括售卖系统、作业系统(课后系统)、班课系统、课中系统、教师系统等,但不仅限于此。教学基础信息可以包括教务管理教学信息、售课教学信息、物流教学信息等。例如:售课系统可以记录售课教学信息和物流教学信息,教务管理教学信息既可以被记录在教师系统,也可以被记录在班课系统中。作业系统可以记录作业数据,课中系统可以记录课中数据等。基于此,可以通过数据同步工具将售卖系统、作业系统(课后系统)、班课系统、课中系统、教师系统等数据源的教学信息同步至数据湖中。
步骤202:按照数据生成时间先后顺序将多个数据源的基础数据形成消息队列。此时,消息队列包括按照数据生成时间先后顺序排序的多个教学信息。在消息队列中相邻两个教学信息可以来自同一数据源,也可以来自不同数据源,具体由该教学信息的数据生成时间决定。
当多个数据源的教学信息同步至数据湖时,可以按照数据生成时间先后顺序从数据湖中获取多个数据源的教学信息,形成消息队列。由于各个不同链路的数据源的教学信息同步至一个数据湖内,因此,当按照数据生成先后顺序从数据湖获取多个数据源的教学信息时,可以使用一条数据链路获取消息队列。可见,将多业务多数据源的基础数据同步至数据湖可以减少数据链路路数,降低了业务实现复杂度。而且,由于将基础数据从数据湖取出时,只有一条数据链路,也就意味着这条数据链路只有一个数据出口,因此,可以通过一个数据链路按照数据生成先后顺序逐个取出,形成消息队列,从而在降低业务复杂性的同时,使得取出的教学信息具有良好的时序性。
在实际应用中,消息订阅组件可以采用消息订阅工具从数据湖中订阅基础数据。其中,消息订阅工具可以包括同步增量数据工具(canal)、分布式数据库同步工具(otter)和数据库同步中间件(bifrost)中的至少一种。另外,可以通过订阅管理模块管理消息订阅组件订阅数据的策略,例如:可以管理消息订阅组件的订阅频率、订阅时长、订阅数据类型等。
示例性的,考虑到教学信息同步至数据湖时,binlog可以记录数据的变更操作包括生成的相对先后顺序位置,因此,可以通过消息订阅工具按照数据生成先后顺序从数据湖订阅每条教学信息的binlog数据,从而形成消息队列。
假设采用数据同步工具从作业系统获取作业系统的教学信息,从课中系统获取到课中系统的教学信息,作业系统的教学信息和课程系统的教学信息不仅包括教学信息,还包括学情数据。
举例俩说,某个辅导老师在2022年6月7日10点10分完成对学生甲的第13次语文课前作业批改,在6月7日10点20分完成对学生乙的第13次语文课前作业批改,当作业批改完成后,用户端会根据批改结果生成教学信息提交至作业系统,并被数据同步工具同步至数据湖中。某个主讲老师在2022年6月7日10点开始讲授第13次语文课,并在10点05分至10点15分之间以游戏形式进行互动,当游戏互动完成后,用户端会根据游戏互动结果生成教学信息提交至课中系统,并被数据同步工具同步至数据湖中。
当利用消息订阅工具从数据湖订阅教学信息形成消息队列时,按照数据生成时间,可以先获取到来自于作业系统的某个辅导老师在2022年6月7日10点10分对学生甲的第13次语文课前作业批改信息,然后获取到来自课中系统的某个主讲老师在2022年6月7日10点15分的游戏互动信息,最后获取到来自作业系统的某个辅导老师在2022年6月7日10点20分对学生乙的第13次语文课前作业批改信息。
可见,本公开示例性实施例可以利用消息订阅工具将不同数据源的数据按照生成时间进行有序排序,从而将不同数据源的教学信息统一到同一数据空间内,为后续数据匹配提供保证。
考虑到该消息队列实时更新,使得实时计算层可采用分段计算的方式进行数据处理,因此,可以将实时更新的消息队列存储在在队列存储模块中。数据计算层可以按照数据生成先后顺序,依次从消息队列分段取出消息队列片段进行处理。应理解,消息队列可以采用kafka队列的方式进行存储,并将其保存在存储模块,还可以采用其它方式存储在存储模块中。
本公开示例性实施例还可以监控数据链路,及时排除数据异常,保证系统运行稳定。本公开示例性实施例可以响应于数据链路监测点的数据异常,基于数据链路监测点在所述数据链路中的位置对应的数据链路监测点分析数据异常形成原因,基于所述数据异常形成原因进行故障排除。基于此,本公开示例性实施例可以保证实时计算链路的稳定性和数据流的时效性,使得业务人员可以查找到各个数据源最新的数据。
在实际应用中,数据链路存在数据异常时,该数据链路上的数据增量近似等于0,因此,可以在监测数据链路在预设时长内的数据增量大于预设数据量,如果大于预设数据量,则说明数据异常,否则可以认为数据正常。此处预设数据量可以根据系统容忍度确定。预设时长可以是单位时间,单位时间长度可以1min~24h等。例如:单位时间为1min、1h、3h、8h或者24h。
示例性的,数据链路监测点可以是数据湖与不同数据源之间的数据链路上的监测点,可以是数据湖与消息订阅工具之间的数据链路上的监测点,也可以消息订阅工具与消息队列存储模块之间的数据链路上,也可以是后端服务器与前端服务器之间的数据链路上。
当数据链路监测点是数据湖与不同数据源之间的数据链路上的监测点,如果监测到数据湖与某个数据源之间的数据链路上的监测点在预设时长内的数据增量小于预设数据量,则意味从该数据源采集基础数据的数据链路存在数据异常问题,需要进行异常数据修复。
当数据链路监测点是消息订阅工具与消息队列存储模块之间的数据链路上的监测点,如果监测到数据湖与消息订阅工具之间的数据链路上的监测点在预设时长内的数据增量小于预设数据量,则意味无法连续形成消息队列,需要修复数据异常。
当数据链路监测点是消息订阅工具与消息队列存储模块之间的数据链路上的监测点,如果监测到消息订阅工具与消息队列存储模块,说明无法实时保存消息队列,需要修复数据异常。
本公开示例性实施例还通过分析数据异常的可能性,可以确定数据异常形成原因包括:通讯异常引起的数据异常、运行设备问题引起的数据异常,数据丢失引起的数据异常中的至少一种。
示例性的,在发生数据异常时,可以检测后端服务器与各个数据源之间的通信是否正常,各个数据库与用户端之间是否通信正常。此处的通信是否正常可以是通过测试网络连接是否正常实现,如果检测到网络出现故障,可以触发报警,用户手动修复网络故障,也可以尝试自动进行故障排除。例如:基于binlog可以记录数据的变更操作,从数据湖的一个数据出口实时订阅binlog到消息队列,可以监听数据流,使得数据流可以连续产生和消费,从而保证数据时序性和数据时效性,使得业务人员可以查找到各个数据源最新的数据。
示例性的,在发生数据异常时,还可以检测后端服务器的硬件是否出现故障或者系统故障,此处的系统故障可以是软件报错、系统崩溃等。如果检测到这些运行设备问题引起的数据异常,可以触发报警,用户手动消除引起运行设备问题引起的数据异常的故障,或者尝试系统自动修复运行设备问题故障。
示例性的,本公开示例性实施例的也可以尝试进行故障排除。最后还可以检测是否出现数据丢失,最后也可以在后端服务器收集用户端上传的数据时,如果数据源进行升级,但是用户端并未进行升级,导致数据源和用户端不匹配时,有可能会出现数据丢失问题,例如:数据采集格式存在问题,上传路径出现问题等,此时,可以检测用户端的数据上传要求如数据上传格式、上传路径是否与数据源的数据采集格式、上传路径要求等一致,如果不一致,则可能出现数据丢失问题。如果检测到数据丢失问题,可以触发报警,用户手动消除引起运行设备问题引起的数据异常的故障,或者尝试更新用户端版本,排除故障。
步骤203:基于不同数据源的教学信息之间的关联关系,对消息队列包括的多个教学信息进行统计,获得教学信息统计结果。
在进行数据匹配前,可以对消息队列所含有的教学信息进行数据格式转换,使得各个教学信息的数据格式一致,也可以对消息队列所含有的教学信息进行数据过滤,从而滤除无用数据,达到数据清洗的目的。
上述教学基础匹配数据由消息队列包括的各个教学信息中的教学信息确定。在这个过程中,由于上述不同数据源的教学信息含有的教学基础数据之间具有关联关系,使得不管消息队列所包括的多个教学信息属于同一数据源还是不同数据源,也不管不同教学信息内容是否全部相同,其均可以通过关联关系将多个教学信息进行关联,从而教学信息统计结果,为不同业务侧的业务人员查询从同一数据库获取所需数据提供了有力保证。
在一种可能的实现方式中,每个数据源的教学信息包括教学基础数据,至少一个数据源的教学信息还可以包括教学基础数据对应的学情数据。此时,教学基础匹配数据以及所述教学基础匹配数据对应的学情统计数据。
示例性的,上述学情数据可以包括作业数据和课中数据,作业数据主要包括课前作业情况、课后作业情况、课中数据可以包括讲课过程中的互动情况等。
本公开示例性实施例不同数据源的教学信息含有的教学基础数据之间具有关联关系,示例性的,不同数据源的所述教学基础数据具有相同的目标数据,该目标数据可以是一个,也可以为两个或两个以上。基于此,可以从所述消息队列含有的多个教学信息查找含有同一所述目标数据的多个目标教学信息,将多个目标教学信息含有的所述教学基础数据进行合并和去重处理,获得教学基础匹配数据,此时该目标数据与教学基础匹配数据对应,基于同一目标数据对多个目标教学信息含有的学情数据进行合并和去重处理,获得所述教学基础匹配数据对应的学情统计数据,此时该目标数据与学情统计数据对应。
例如:在售课系统记录有学生购买的课程、课次、讲次等信息,在作业系统、课中系统、教师系统等也记录有该学生的课程、讲次等教学信息,基于此,可以通过学生的课程、讲次等信息将不同系统的教学信息关联在一起,使得不同系统的数据合并,并去除重复数据,不同数据保留。此处数据相同,可以是从属性到具体值上的相同。
在进行匹配过程中,由于不同数据源的教学基础数据具有相同的目标数据,换句话说,该不同数据源的教学基础数据可以含有属性相同的目标数据,且这些目标数据相同。如果消息队列包括的各个教学信息所包括的教学基础数据全部相同,该目标数据可以为教学基础数据中任意一个数据,也可以是任意两个数据或两个数据以上。如果消息队列包括的教学基础数据不完全相同时,该目标数据可以为不同教学信息包括的教学基础数据中相同属性数据中的至少一个。
示例性的,按照学生属性和课次属性统计教学信息时,目标数据的属性可以包括学生属性和课次属性,学生属性可以为学生标识如学生id,课次属性可以为课次标识如课次id。此时,教学信息统计结果包括以学生和课次维度统计的所述教学基础匹配数据和所述教学基础匹配数据对应的学情统计数据,其中,课次为某个课程的某一期教学阶段。
按照学生属性和讲次属性统计教学信息的数据源,预设属性包括:学生属性和讲次属性,学生属性可以为学生标识如学生id,讲次属性可以为讲次标识如讲次id。此时,教学信息统计结果包括以学生和讲次维度统计的教学基础匹配数据和所述教学基础匹配数据对应的学情统计数据。
相对于按照学生属性和课程属性统计教学信息,按照学生属性和讲次属性统计教学信息时,教学信息统计结果包括教学过程中各种教学行为的最底层基础数据,因此,教学信息统计结果的数据结构是最细粒度的数据结构。在进行数据查询阶段,不同岗位和级别的业务人员可以根据实际需要既可以获取到最细粒度的教学统计结果,又可以对最细粒度的统计结果进行聚合(相当于向上汇报),从而查询到宏观教学统计结果。
在实际应用中,如果多个数据源的教学信息包括以学生属性和讲次属性收集的教学基础数据和学情数据,学情数据可以包括学生在某个讲次的互动发生数、互动参数次数、互动正确次数、互动错误次数等。而如果多个数据源的教学信息在教学过程中实时上传到对应业务的数据源,使得数据源的教学信息可以以实时数据流的形式同步至数据湖,继而生成消息队列。基于此,本公开示例性实施例的学情数据可以包括学生在对应讲次的各种表现,因此,可以基于每个学生在该讲次的学情数据确定学情统计数据。例如:该学情数据包括学生在对应讲次的互动内容、是否参与互动、互动结果等相关数据,那么学情统计数据可以包括互动发生数、互动参与次数、互动正确次数、互动错误次数等。
示例性的,可以基于学生和讲次可以从不同数据源查找到多个该学生在某个讲次的目标教学信息,然后将这些目标教学信息含有的教学基础数据进行合并和去重处理,也就是说,将多个目标教学信息含有的相同数据,如目标数据进行去重,保留一个目标数据,而将不同数据拼接在一起,从而获得该学生在某个讲次的教学基础匹配数据。例如:可以将不同目标教学信息含有的同一学生在同一讲次的教学基础数据进行合并和去重处理,而将不同的教学基础数据进行拼接和组合,保证所获得的教学基础匹配数据含有的同一属性数据具有唯一性。同时,可以基于学生和讲次将多个目标教学信息含有的相同学情数据进行去重,保留一个学情数据,将不同学情数据进行拼接。考虑到同一学生在同一讲次的学情数据在不同目标教学信息中的数据生成时间可能相同,也可能不同,因此,对多个目标教学信息含有的学情数据进行合并和去重处理时,不仅需要汇总同一数据生成时间同一学生在同一讲次的学情数据,还需要汇总不同数据生成时间同一学生在同一讲次的学情数据。
在一种可能的实现方式中,对于教学基础匹配数据来说,其可以单独以宽表的形式存储,也可以与对应的学情统计数据一起存储在宽表中。
上述学情统计数据可以包括课中学情统计数据和课外学情统计数据,课外学情统计数据又可以分为课前学情统计数据和课后学情统计数据。基于此,该教学信息统计结果以包括课堂教学信息统计结果和课外教学信息统计结果,而课外教学信息统计结果可以包括课前教学信息统计结果和课后教学信息统计结果。例如:课堂教学信息统计结果可以含有课中学情统计数据,课前教学信息统计结果可以含有课前学情统计结果和课后学情统计结果。
示例性的,上述教学信息统计结果可以以宽表形式存储,教学信息统计结果可以以一张宽表或多张宽表的形式进行存储。当教学信息统计结果以一张宽表的形式进行存储。此时不管是课中学情统计数据还是课外学情统计数据,其均保存在一张宽表中。
当教学信息统计结果以多张宽表的形式进行存储,可以按照数据生成的业务场景,将学情统计数据分配在不同的宽表内。例如:可以将课中学情统计数据、课外学情统计数据包括的课前学情统计结果和课后学情统计结果分配在三张宽表中分别进行存储。
示例性的,课外教学信息统计结果所包括的课前教学信息统计结果和课后教学信息统计结果均可以包括作业提交人数、测试题参与人数、答题正确次数和答题错误次数等中的至少一种。测试题可以包括客观题和/或主观题。课堂教学信息统计结果可以包括签到人数、互动参与人数、互动正确次数、互动错误次数和是否出勤等中的至少一种。互动方式可以包括课堂答题、课堂游戏、拍照上墙等各种互动活动,但不仅限于此。
举例来说,教学基础数据至少包括:学生标识和讲次标识,教学信息统计结果包括同一学生关于某个讲次的学情统计数据。下面以作业系统(课后系统)、班课系统、课中系统和教师系统实时产生的教学信息为例进行说明。
对于售卖系统来说,当用户购买网络课程后,售卖系统会记录该网络课程的订单号、网络课程的课程类型、网络课程所属课次包、课次、班级信息、教师信息、教材收发邮寄地址、教材邮寄时间、教材邮寄次数、教材物流单号等教材邮寄信息。表1示例出本公开示例性实施例的售卖系统的教学信息片段。
当用户开始学习网络课程时,作业系统实质是记录课堂外作业的作业系统,不仅可以记录教学基础数据,还可以记录教学基础数据对应的学情数据。例如:作业系统的教学基础数据可以包括各个学生的作业情况,每个学生的作业情况可以包括学生数据、课程数据、任课教师数据等。教学基础数据对应的学情数据可以包括作业提交情况、作业批改数据、作业订正数据等。
学生数据可以包括学生标识、学生性别、学生姓名、学生年龄、生源地域等,课程数据可以包括讲次数据、课次数据、课程类别数据等,任课教师数据可以包括与作业布置相关的老师数据、与批改作业相关的老师数据、辅导老师数据等。作业提交情况可以反映作业是否提交,作业批改数据可以包括作业评分、作业评语、作业订正数据等。
对于班课系统来说,班课系统可以记录每个班级的各种信息。例如:老师基本数据和学生基本数据等。老师基本数据可以包括主讲老师id、辅导老师id、主讲老师和辅导老师年龄、主讲老师和辅导老师性别、任课班级、讲次、课程类别、上课时间等。学生基本数据可以包括课程类别、讲次、班级、学生id、学生年龄、学生性别等。表2示例出本公开示例性实施例的作业系统的教学信息片段。
对于课中系统来说,课中系统可以记录课内参与情况,不仅可以记录教学基础数据,还可以记录教学基础数据对应的学情数据。例如:课中系统的教学基础数据可以包括课程、讲次、学生名单、是否到课(如签到或出勤)等。教学基础数据对应的学情数据可以包括学生课堂表现情况,学生课堂表现情况可以通过学生的互动参与情况和互动成果等体现。例如:互动参与情况可以包括答题参与情况、游戏参与情况、拍照上墙参与情况等,互动成果可以包括但不仅限于互动有效和互动无效两种情况,还包括以某种任务的达成定义互动成果。其中,互动有效可以通过互动正确表示,互动无效可以通过互动错误表示,而达成某种任务则可以是以完成老师所要求的某个行为动作作为表示。表3示例出本公开示例性实施例的课中系统的教学信息片段。
对于教师系统来说,教师系统实质上记录教师相关信息的系统,可以包括班级管理和教务管理,班级管理可以是管理班级的基础数据,并进行保存,教务管理可以是管理教学所需的各种素材。基于此,教师系统可以包括教师标识、教师任课数据、教师性别、教师年龄、讲次、学生名单、课程教案、课前作业、课中练习题等。
表1本公开示例性实施例的作业系统的教学信息片段
表2本公开示例性实施例的班课系统的教学信息片段
表3本公开示例性实施例的课中系统的教学信息片段
表1~表3示出了本公开示例性实施例的作业系统、班课系统和课中系统的教学信息片段。从表1~表3可以看出,作业系统、班课系统和课中系统的教学信息均记录有其数据生成时间,假设获取到作业系统、班课系统和课中系统的教学信息,可以基于作业系统、班课系统和课中系统的教学信息的数据生成时间,生成消息队列。表4示出了本公开示例性实施例的消息队列片段。
表4本公开示例性实施例的消息队列片段
表4只是示例的给出不同数据源的教学信息形成的消息队列片段,其中有些数据源的教学信息并未全部列出,但并不代表消息队列仅包括这些教学信息。从表4可以看出,按照数据生成时间形成的消息队列中,教学信息的先后顺序依赖于数据生成时间,并不依赖于数据源进行排序。
同时,从表4可以看出,这些教学信息均含有讲次id和学生id这两种属性的目标数据,可以通过属于讲次id和学生id两个属性的目标数据将消息队列中不同教学信息的教学基础数据进行关联,从而获得教学信息。
例如:表4所示的不同教学信息中均含有讲次id和学生id这两种属性的目标数据,包括讲次id为CL5,学生id为S0001的目标数据,讲次为CL5,学生id为S0002的目标数据,讲次id为CL5,学生id为S0003的目标数据,讲次id为CL6,学生id为S0002的目标数据等。基于此,可以利用讲次为CL5,学生id为S0001的目标数据将各个教学信息中的教学信息进行匹配,获得表5所示的1#教学基础匹配数据,利用讲次id为CL5,学生id为S0002的目标数据将各个教学信息中的教学信息进行匹配,获得表5所示的2#教学基础匹配数据,利用讲次id为CL5,学生id为S0003的目标数据将各个教学信息中的教学信息进行匹配,获得表5所示的3#教学基础匹配数据,利用讲次为CL6,学生id为S0002的目标数据将各个教学信息中的教学信息进行匹配,获得表5所示的4#教学基础匹配数据。进行关联的过程可以看作是将消息队列中讲次id和学生id相同的教学基础数据进行聚合(相同的合并,不同的保留),从而获得教学基础匹配数据。表5示出了本公开示例性实施例的教学基础匹配数据。
表5本公开示例性实施例的教学基础匹配数据片段
结合表1至表5可知,可以通过讲次id和学生id这两个属性在消息队列中对应的学情数据确定教学基础匹配数据对应的学情统计数据,从而实现跨多个业务线多个数据源的教学信息进行汇总和计算的效果。
举例来说,可以按照学生id和讲次id这两个属性从表4所示的消息队列查找到表5所示出的1#~5#教学基础匹配数据对应的学情数据。并对每个教学基础匹配数据对应的学情数据进行统计,从而确定相应教学基础匹配数据对应的学情统计数据。
考虑到各个数据源的教学信息以实时数据流的方式同步至数据湖中,因此,当统计教学基础匹配数据对应的学情数据时,如果学情数据为需要统计数量的数据,可以采用累加方式进行统计,例如:表6示出了本公开示例性实施例的课中教学信息统计片段。如果学情数据不需要统计数量,只需要记录是否执行某种操作及评价结果,则不需要对学情数据进行统计,例如:表7示出了本公开示例性实施例的课前教学信息统计片段。
表6本公开示例性实施例的课中学教学信息统计片段
表7本公开示例性实施例中课前教学信息统计片段
/>
由表6和表7可以看出:1#教学基础匹配数据对应的学情统计数据既包括课中学情统计,又包括课前学情统计数据,2#教学基础匹配数据和3#教学基础匹配数据对应的学情统计数据包括课中学情统计数据,4#教学基础匹配数据对应的学情统计数据包括课后学情统计数据。应理解,表6和表7所示的教学基础匹配数据对应的学情统计数据只是用于示例。在实际中,还可能存在各种各样的可能。
在一种可选方式中,为了保证教学信息匹配结果的准确性,图3示出了本公开示例性实施例的教学信息匹配结果的修正方法示意图。如图3所示,本公开示例性实施例的教学信息匹配结果的修正方法可以包括:
步骤301:基于同一目标数据从多个数据源的教学信息查询多个参考教学信息,每个参考教学信息为数据源中含有目标数据的教学信息。
示例性的,对于教学信息统计结果所包括的教学基础匹配数据以及教学基础匹配数据对应的学情统计数据,而不同数据源的教学信息含有的教学基础数据具有相同数据,因此,可以基于该教学基础匹配数据对应的目标数据,从多个数据源的教学信息查询含有目标数据的教学基础信息,将这些教学基础信息作为教学基础匹配数据的参考教学信息。从这个过程可以看出,参考教学信息实质是未形成消息队列的目标教学信息对应的源数据,而目标教学信息作为教学基础匹配数据的源数据,因此,从多个数据源的教学信息查询多个参考教学信息可以看作是对教学基础匹配数据的回源操作。而由于这些数据是从各个数据源的教学信息直接查询,不会出现信息丢失问题,因此,可以保证目标数据在不同所述数据源对应的教学基础数据和学情数据的准确性。
如果是分段从消息队列中取出消息队列片段,利用消息队列片段生成教学基础匹配数据,那么该教学基础匹配数据存在一定的时间范围。此时,在查询多个参考教学信息时,在目标数据这一参数的基础上,还可以增加时间范围参数,以获取到时间范围相同的参考教学信息,增加信息对比准确性。
步骤302:对多个参考教学信息含有的教学基础数据进行合并和去重处理,获得参考教学基础匹配数据。此处生成参考教学基础匹配数据的过程与生成教学基础匹配数据的过程相同,其区别在于不需要进行消息队列化。可见,本公开示例性实施例在步骤301回源的基础上,结合步骤302的合并和去重处理,可以从不同数据源获取到教学基础匹配数据对应的原始统计数据,也就是参考教学基础匹配数据。参考教学基础匹配数据可以采用累积或者回源汇总的方式实现。
而由于教学基础匹配数据生成前,需要将不同数据源的教学信息进行队列化,还可以对消息队列进行数据清洗,这个过程中很容易存在数据丢失问题。基于此,本公开示例性实施例还可以包括:
步骤303:教学基础匹配数据与参考教学基础匹配数据不同时,将参考教学基础匹配数据配置为教学基础匹配数据。
在实际应用中,可以判断教学基础匹配数据是否与参考教学基础匹配数据相同,如果相同,说明教学基础匹配数据比较准确,不需要修正,否则说明在数据获取和处理过程中存在数据丢失问题,例如,在消息订阅工具从数据湖订阅多个数据源的教学信息时或者对消息队列中的教学信息进行数据清洗时,有可能漏掉或丢失一些教学基础数据,导致教学基础匹配数据存在一定的误差,因此,需要将参考教学基础匹配数据配置为教学基础匹配数据,达到修正教学基础匹配数据,保证教学基础匹配数据的准确性,进而业务人员可以检索到更为全面的结果。
本公开示例性实施例不仅可以对教学基础匹配数据进行修正,还可以对学情统计数据进行修正。基于此,本公开示例性实施例的方法可以包括:
步骤304:对多个参考教学信息含有的学情数据进行合并和去重处理,获得参考教学基础匹配数据对应的参考学情统计数据。此处生成参考学情统计数据的过程与生成学情统计数据的过程相同,其区别在于不需要进行消息队列化。可见,本公开示例性实施例在步骤301回源的基础上,结合步骤304的合并和去重处理,可以从不同数据源获取到学情统计数据对应的原始统计数据,也就是参考学情统计数据,参考学情统计数据可以采用累积或者回源汇总的方式实现。
而由于教学基础匹配数据生成前,需要将不同数据源的教学信息进行队列化,还可以对消息队列进行数据清洗,这个过程中很容易存在数据丢失问题。基于此,本公开示例性实施例还可以包括:
步骤305:若学情统计数据与参考学情统计数据不同的情况下,将参考学情统计数据配置为学情统计数据。
在实际应用中,可以判断学情统计数据是否与参考学情统计数据相同,如果相同,说明学情统计数据比较准确,不需要修正,否则说明在数据获取和处理过程中存在数据丢失问题,例如,在消息订阅工具从数据湖订阅多个数据源的教学信息时或者对消息队列中的教学信息进行数据清洗时,有可能漏掉或丢失一些教学基础数据,例如:在消息订阅工具从数据湖订阅多个数据源的教学信息时或者对消息队列中的教学信息进行数据清洗时,有可能漏掉或丢失一些学情数据,导致学情统计数据存在一定的误差,因此,需要将参考学情统计数据配置为学情统计数据,达到修正学情统计数据的目的,保证学情统计数据的准确性,进而业务人员可以检索到更为全面的结果。
以表1~表3为例,可以基于讲次id为CL5,学生id为S0001的目标数据从数据源查询到数据生成时间为2021-11-15 10:30:10、2021-11-15 11:06:50和2021-11-15 11:20:10的教学基础数据和学情数据,以及数据生成时间为2021-11-15 12:01:58的教学基础数据,可以将数据生成时间为2021-11-15 10:30:10、2021-11-15 11:06:50、2021-11-15 11:20:10和2021-11-1512:01:58以讲次id为CL5,学生id为S0001的维度进行聚合,从而获得教学基础匹配数据的修正数据。同时,可以将2021-11-15 10:30:10、2021-11-15 11:06:50和2021-11-15 11:20:10的学情数据以讲次id为CL5,学生id为S0001的维度进行聚合,从而获得学情统计数据的修正数据。
本公开示例性实施例还提供一种数据查询方法,其可以由服务器执行,也可以由应用在服务器中的芯片执行。图4示出了本公开示例性实施例的数据查询方法的流程图。如图4所示,本公开示例性实施例的数据查询方法可以包括:
步骤401:响应于用户请求,确定用户查询条件,用户查询条件包括查询关键词。在实际应用中,前端服务器接收用户请求并响应,可以对用户请求进行解析,从而获得用户查询条件,该用户查询条件包含的查询关键词的属性可以是一个,也可以是多个。考虑到教学信息统计结果包括教学基础匹配数据对应的学情统计数据,因此,该查询关键词的属性可以包括教学基础匹配数据中的一个或多个数据属性,还可以包括至少一个学情统计数据所含有的一个或多个数据属性。
步骤402:基于查询关键词从数据库获取查询结果,数据库存储有多个教学信息统计结果,数据库存储有本公开示例性实施例的教学信息统计结果。可以利用关系型数据库(RDS,Relational Database Servcie)对教学信息统计结果进行存储,也可以为其他类型的数据库。
上述查询关键词的属性与所述教学信息统计结果含有的至少一种数据属性。在进行数据查询时,不管查询关键词的属性是一种还是多种,其均是教学信息统计结果含有的数据属性。由于查询关键词的属性与教学信息统计结果含有的至少一种数据属性相同,因此,只要查询关键词为教学信息统计结果含有的至少一种数据,就可以从教学信息统计结果获取到该查询关键词对应的各个数据源的相关信息,这些相关信息不仅可以包括教学基础匹配数据,还可以包括学情统计数据,从而为不同业务线的业务人员提供跨业务数据支持,方便开展工作。
在一种可选方式中,当目标教学信息统计结果可以包括与查询关键词匹配的教学基础匹配数据和学情统计数据,查询结果包括基础信息查询结果和学情评价指标查询结果时,基于查询关键词从数据库获取查询结果,包括:从数据库获取与查询关键词属性匹配的目标教学信息统计结果,统计所述目标教学信息统计结果含有的教学基础匹配数据,获得基础信息查询结果,基于目标教学信息统计结果含有的学情统计结果,确定学情评价指标查询结果。学情评价指标查询结果可以是各种学情评价参数,可以包括课外学情评价参数,也可以包括课中学情评价参数。
在实际应用中,当查询关键词与目标数据一致时,可以直接从教学信息统计结果调出与关键词匹配的一条教学信息统计结果作为统计信息,然后自动或者响应于用户请求采用简单的逻辑运算,如简单的除法运算,可以获取到所需的一些学情评价参数,例如:对于课外学情评价参数来说,可以包括的课前学情评价参数和课后学情评价参数,其均可以包括作业提交率、作业正确率、作业错误率等中的至少一种。对于课中学情评价参数,可以包括签到率、互动参与率、互动正确率、互动错误率等中的至少一种。互动方式可以包括课堂答题、课堂游戏、拍照上墙等各种互动活动,但不仅限于此。
当查询关键词与目标数据不完全一致或者完全不一致时,有可能从教学信息统计结果可以调出与查询关键词属性匹配的多条教学信息统计结果作为统计信息。这种情况下,采用简单的逻辑运算获取到所需的一些学情评价参数的过程,实质需要经过两步:第一步是查询与查询关键词匹配的多条教学信息统计结果进行平均化,使得多条教学信息统计结果变为平均化教学信息统计结果,第二步是针对平均化教学信息统计结果进行数理运算计算,如简单的除法运算,获得一些学情评价参数,这些学情评价参数可以参考查询关键词的属性与目标数据的属性一致时的相关描述,只是其学情评价参数为平均化学情评价参数。
为了方便理解本公开示例性实施例的数据查询方法,假设数据库存储有表8所示的以学生讲次维度统计的课中教学信息统计结果,按照以学生讲次维度统计的课中教学信息统计结果。
表8本公开示例性实施例以学生讲次维度统计的课中教学信息统计结果
当查询关键词一包括讲次id为CL1和学生id为S0002,那么可以从表8获取2#课中教学信息统计结果,将2#课中教学信息统计结果作为表9所示的统计信息。
表9查询关键词一查找到的统计信息
基于表9所示的统计信息,可以计算互动参与率=互动参与数/课中互动数=12/15=0.8,互动正确率=互动正确数/互动参与数=9/12=0.75,互动参与率=互动错误数/互动参与数=3/12=0.25。
当查询关键词二包括讲次id为CL2,那么可以从表8获取含有讲次id为CL2的6#至10#课中教学信息统计结果,将1#~5#课中教学信息统计结果作为表10所示的统计信息。
表10查询关键词二查找到的统计信息
基于表10的统计内容进行平均化,从而获得如表11所示的讲次id为CL2的讲次统计信息。
表11讲次id为CL2的讲次统计信息
对表11所示的讲次id为CL2的讲次统计信息进行计算,例如:课中互动平均参与率=互动平均参与数/课中互动数=8/12=0.667,课中互动平均正确率=4.8/8=0.6,课中互动平均错误率=3.2/8=0.4。
本公开实施例中提供的一个或多个技术方案,获取来自多个数据源的教学信息,按照数据生成先后顺序将多个数据源的基础数据形成消息队列,因此,本公开示例性实施例可以将属于不同业务侧的教学信息按照生成时间先后顺序形成具有时序的消息队列。换句话说,本公开示例性实施例可以将不同业务侧的教学信息统一到同一数据库下。而由于不同数据源的教学信息之间具有关联关系,因此,可以基于不同数据源的教学信息之间的关联关系,对消息队列包括的多个教学信息进行统计,从而获得教学信息统计结果。因此,本公开示例性实施例的方法可以保证不同业务侧数据源的教学信息含有的教学基础数据和学情数据汇总在同一数据库,进而形成的教学信息统计结果。
当不同业务侧的业务人员需要通过用户端查询教学统计数据时,可以设置查询关键词的属性与教学信息统计结果含有的至少一种数据属性相同,因此,利用查询关键词从多个教学信息统计结果可以查询到该查询关键词对应的查询结果。由于教学信息统计结果是基于不同所述数据源的教学信息之间的关联关系,对所述消息队列包括的多个教学信息进行统计获得的,因此,教学信息统计结果包括融合了来自多个数据源的教学信息,因此,不同业务侧的业务人员在查询学情统计数据时,均可以通过查询关键词从教学信息统计结果全面获取到查询关键词对应的融合不同业务侧的教学信息统计数据,进而利用查询结果帮助不同业务侧的业务人员提升课程的净推荐值,指导实际业务的开展工作。
上述主要从服务器的角度对本公开实施例提供的方案进行了介绍。可以理解的是,服务器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例可以根据上述方法示例对服务器进行功能单元的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,本公开示例性实施例提供一种数据处理装置,该数据处理装置可以为服务器或应用于服务器的芯片。图5示出了根据本公开示例性实施例的数据处理装置的功能模块示意性框图。如图5所示,该数据处理装置500包括:
获取模块501,用于获取来自多个数据源的教学信息,不同所述数据源的教学信息之间具有关联关系;
队列化模块502,用于按照数据生成时间先后顺序将多个所述数据源的教学信息形成消息队列;
统计模块503,用于基于不同所述数据源的教学信息之间的关联关系,对所述消息队列包括的多个教学信息进行统计,获得教学信息统计结果。
在一种可能的实现方式中,如图5所示,每个数据源的教学信息包括教学基础数据,至少一个数据源的教学信息还包括所述教学基础数据对应的学情数据,不同数据源的教学信息含有的教学基础数据之间具有所述关联关系,所述教学信息统计结果包括教学基础匹配数据以及所述教学基础匹配数据对应的学情统计数据;并且其中,多个所述数据源的教学信息被保存在数据湖内,所述装置还包括管理模块504,用于响应于数据链路监测点的数据异常,基于所述数据链路监测点在所述数据链路中的位置对应的数据链路监测点分析数据异常形成原因,基于所述数据异常形成原因进行故障排除,所述数据异常形成原因包括:通讯异常引起的数据异常、运行设备问题引起的数据异常,数据丢失引起的数据异常中的至少一种。
在一种可能的实现方式中,不同所述数据源的所述教学基础数据具有相同的目标数据,所述目标数据的属性至少包括:学生属性和讲次属性,所述统计模块503用于从所述消息队列含有的多个教学信息查找含有同一所述目标数据的多个目标教学信息,将多个所述目标教学信息含有的所述教学基础数据进行合并和去重处理,获得教学基础匹配数据,基于同一所述目标数据对多个所述目标教学信息含有的所述学情数据进行合并和去重处理,获得所述教学基础匹配数据对应的学情统计数据,其中,所述教学信息统计结果包括以学生和讲次维度统计的所述教学基础匹配数据和所述教学基础匹配数据对应的学情统计数据。
在一种可能的实现方式中,如图5所示,上述装置还包括管理模块504,用于基于同一目标数据从所述多个数据源的教学信息查询多个参考教学信息,每个参考教学信息为所述数据源中含有所述目标数据的教学信息,对所述多个参考教学信息含有的所述教学基础数据进行合并和去重处理,获得参考教学基础匹配数据,在所述教学基础匹配数据与所述参考教学基础匹配数据不同的情况下,将所述参考教学基础匹配数据配置为所述教学基础匹配数据。
在一种可能的实现方式中,如图5所示,上述装置还包括管理模块504,用于基于同一所述目标数据对多个所述参考教学信息含有的所述学情数据进行合并和去重处理,获得所述参考教学基础匹配数据对应的参考学情统计数据,在所述学情统计数据与所述参考学情统计数据不同的情况下,将所述参考学情统计数据配置为所述学情统计数据。
在采用对应各个功能划分各个功能模块的情况下,本公开示例性实施例提供一种数据查询装置,该数据查询装置可以为服务器或应用于服务器的芯片。图6示出了根据本公开示例性实施例的数据查询装置的功能模块示意性框图。如图6所示,该数据查询装置600包括:
确定模块601,用于响应于用户请求,确定用户查询条件,所述用户查询条件包括查询关键词;
查询模块602,用于基于所述查询关键词从数据库获取查询结果,所述数据库存储有多个本公开示例性实施例所述方法确定的教学信息统计结果,所述查询关键词的属性与所述教学信息统计结果含有的至少一种数据属性相同。
在一种可能的实现方式中,如图6所示,查询模块602用于从所述数据库获取与所述查询关键词匹配的目标教学信息统计结果,统计所述目标教学信息统计结果含有的教学基础匹配数据,获得基础信息查询结果,基于所述目标教学信息统计结果含有的学情统计结果,确定学情评价指标查询结果;
图7示出了根据本公开示例性实施例的芯片的示意性框图。如图7所示,该芯片700包括一个或两个以上(包括两个)处理器701和通信接口702。通信接口702可以支持服务器执行上述方法中的数据收发步骤,处理器701可以支持服务器执行上述方法中的数据处理步骤。
可选的,如图7所示,该芯片700还包括存储器703,存储器703可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,如图7所示,处理器701通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。处理器701控制终端设备中任一个的处理操作,处理器还可以称为中央处理单元(central processing unit,CPU)。存储器703可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器703的一部分还可以包括NVRAM。例如应用中存储器、通信接口以及存储器通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图7中将各种总线都标为总线系统704。
上述本公开实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
参考图8,现将描述可以作为本公开的服务器或客户端的电子设备800的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806、输出单元807、存储单元808以及通信单元809。输入单元806可以是能向电子设备800输入信息的任何类型的设备,输入单元806可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元807可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元808可以包括但不限于磁盘、光盘。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理。例如,在一些实施例中,本公开示例性实施例的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。在一些实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、显示终端或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
尽管结合具体特征及其实施例对本公开进行了描述,显而易见的,在不脱离本公开的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本公开的示例性说明,且视为已覆盖本公开范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包括这些改动和变型在内。
- 基于分布式数据库的信息查询方法及装置、电子设备
- 一种数据查询方法、装置、电子设备及存储介质
- 一种数据查询方法、装置、电子设备及存储介质
- 数据查询方法、装置、存储介质和电子设备
- 数据查询方法、装置、电子设备及计算机可读存储介质
- 数据处理方法、数据查询方法、装置和电子设备
- 地图数据处理方法、数据查询方法、装置、电子设备