一种课堂选课冲突检查方法技术

技术编号:39737384 阅读:10 留言:0更新日期:2023-12-17 23:39
本发明专利技术公开了一种课堂选课冲突检查方法

【技术实现步骤摘要】
一种课堂选课冲突检查方法、系统、设备及存储介质


[0001]本专利技术涉及课堂选课冲突检查
,尤其是涉及一种课堂选课冲突检查方法

系统

设备及存储介质


技术介绍

[0002]目前高校尤其是综合类高校,选课是高校教学活动中一个较为重要的环节,教务管理软件的选课模块是支持选课业务的一个关键模块

选课业务的挑战一般来源于两个方面:一方面选课模块在性能方面无法支撑用户数量较大情况下的选课,另一方面在大流量高并发场景下选课数据的处理不能满足业务的一致性要求

这两个方面的因素导致了选课时的学生用户体验欠佳

在课堂选课中,尤其是在全校性的公选课抢课业务场景下,学生在可选课堂与已选课堂时间

地点

上课教室的冲突判断实时要求高,数据交互量大

判断时间集中

解决选课课堂冲突判断在高并发场景下学生选课流畅度的关键所在

[0003]传统的学生可选课堂选课与已选课堂选课冲突的检查算法,主要是通过不断轮询数据库的方式,每一次检查都需要连接一次数据库,造成巨大的资源浪费;并且其他采用缓存方式的方法提升效果不明显


技术实现思路

[0004]本专利技术旨在至少解决现有技术中存在的技术问题之一

为此,本专利技术提出一种课堂选课冲突检查方法

系统

设备及存储介质,能够在高并发场景下提高课堂选课冲突检查效率

[0005]第一方面,本专利技术实施例提供了一种课堂选课冲突检查方法,所述课堂选课冲突检查方法包括:
[0006]按照每节课占用情况构建多个第一矩阵集合,并根据所述多个第一矩阵集合按照每天所有课占用情况构建多个第二矩阵集合;
[0007]在第一预设时间内,根据每个所述第一矩阵集合中每个第一矩阵中的每个元素被使用次数和所述每个第一矩阵中所有元素被使用次数,构建多个第三矩阵集合;并根据所述多个第三矩阵集合按照每天所有课占用情况构建多个第四矩阵集合;
[0008]对所述第一矩阵集合

所述第二矩阵集合

所述第三矩阵集合和所述第四矩阵集合进行优先级排序,获得排好序的矩阵集合;
[0009]根据所述排好序的矩阵集合进行课堂选课冲突检查

[0010]与现有技术相比,本专利技术第一方面具有以下有益效果:
[0011]本方法通过每个元素被使用次数构建矩阵,能够将经常被使用的元素存储在一个矩阵中,经常被使用的元素存储在一个矩阵,查询该矩阵时被命中的概率大且查询时间短,然后对构建好的所有矩阵集合进行优先级排序获得排好序的矩阵集合,最后根据排好序的矩阵集合进行课堂选课冲突检查,由于每个矩阵集合的查询时间不同,对所有矩阵集合进行优先级排序,会优先查询被命中的概率大且查询时间短的矩阵,因此能够在高并发场景
下提高课堂选课冲突检查效率

[0012]根据本专利技术的一些实施例,所述按照每节课占用情况构建多个第一矩阵集合,包括:
[0013]按照一星期中每天每节课占用情况构建多个第一矩阵;其中,所述每天每节课占用情况包括每天每节课班级占用情况

每天每节课教师占用情况和每天每节课教室占用情况;
[0014]将所述每天每节课班级占用情况对应的多个第一矩阵

所述每天每节课教师占用情况对应的多个第一矩阵和所述每天每节课教室占用情况对应的多个第一矩阵构建多个第一矩阵集合

[0015]根据本专利技术的一些实施例,所述根据所述多个第一矩阵集合按照每天所有课占用情况构建多个第二矩阵集合,包括:
[0016]根据所述多个第一矩阵集合,将一星期中每天所有课占用情况构建多个第二矩阵;其中,所述每天所有课占用情况包括每天所有课班级占用情况

每天所有课教师占用情况和每天所有课教室占用情况;
[0017]将所述每天所有课班级占用情况对应的多个第二矩阵

所述每天所有课教师占用情况对应的多个第二矩阵和所述每天所有课教室占用情况对应的多个第二矩阵构建多个第二矩阵集合

[0018]根据本专利技术的一些实施例,所述在第一预设时间内,根据每个所述第一矩阵集合中每个第一矩阵中的每个元素被使用次数和所述每个第一矩阵中所有元素被使用次数,构建多个第三矩阵集合,包括:
[0019]在第一预设时间内,计算所述多个第一矩阵集合中每个第一矩阵中的每个元素被使用次数与所述每个第一矩阵中所有元素被使用次数之间的比值,得到多个第一比值结果;
[0020]若每个所述第一比值结果大于第一预设值,则将所述第一矩阵中对应的元素存入第三矩阵中,得到多个第三矩阵集合

[0021]根据本专利技术的一些实施例,所述对所述第一矩阵集合

所述第二矩阵集合

所述第三矩阵集合和所述第四矩阵集合进行优先级排序,获得排好序的矩阵集合,包括:
[0022]按照查询时间对所述第一矩阵集合

所述第二矩阵集合

所述第三矩阵集合和所述第四矩阵集合进行优先级排序,得到按所述第四矩阵集合

所述第三矩阵集合

所述第二矩阵集合和所述第一矩阵集合的顺序排好序的矩阵集合

[0023]根据本专利技术的一些实施例,所述根据所述排好序的矩阵集合进行课堂选课冲突检查,包括:
[0024]初始化所述第四矩阵集合和所述第三矩阵集合中每个元素的命中次数;
[0025]在第二预设时间内,根据所述排好序的矩阵集合优先查找所述第四矩阵集合,若在所述第四矩阵集合中查找到课堂选课冲突,则更新所述第四矩阵集合中对应元素的命中次数,并根据所述排好序的矩阵集合进行下一元素查找;
[0026]若在所述第四矩阵集合中没有查找到课堂选课冲突,则查找所述第三矩阵集合;
[0027]若在所述第三矩阵集合中查找到课堂选课冲突,则更新所述第三矩阵集合中对应元素的命中次数,并根据所述排好序的矩阵集合进行下一元素查找;
[0028]若在所述第三矩阵集合中没有查找到课堂选课冲突,则查找所述第二矩阵集合;若在所述第二矩阵集合中查找到课堂选课冲突,则根据所述排好序的矩阵集合进行下一元素查找;
[0029]若在所述第二矩阵集合中没有查找到课堂选课冲突,则查找所述第一矩阵集合;
[0030]若在所述第一矩阵集合中查找到课堂选课冲突,则根据所述排好序的矩阵集合进行下一元素查找;若在所述第一矩阵集合中没有查找到课堂选课冲突,则根据所述排好序的矩阵集合进行下一元素查找直到所有元素都查找完

[0031]根据本专利技术的一些实施例,通过如下方式更新对应元素的命中次数:
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种课堂选课冲突检查方法,其特征在于,所述课堂选课冲突检查方法包括:按照每节课占用情况构建多个第一矩阵集合,并根据所述多个第一矩阵集合按照每天所有课占用情况构建多个第二矩阵集合;在第一预设时间内,根据每个所述第一矩阵集合中每个第一矩阵中的每个元素被使用次数和所述每个第一矩阵中所有元素被使用次数,构建多个第三矩阵集合;并根据所述多个第三矩阵集合按照每天所有课占用情况构建多个第四矩阵集合;对所述第一矩阵集合

所述第二矩阵集合

所述第三矩阵集合和所述第四矩阵集合进行优先级排序,获得排好序的矩阵集合;根据所述排好序的矩阵集合进行课堂选课冲突检查
。2.
根据权利要求1所述的课堂选课冲突检查方法,其特征在于,所述按照每节课占用情况构建多个第一矩阵集合,包括:按照一星期中每天每节课占用情况构建多个第一矩阵;其中,所述每天每节课占用情况包括每天每节课班级占用情况

每天每节课教师占用情况和每天每节课教室占用情况;将所述每天每节课班级占用情况对应的多个第一矩阵

所述每天每节课教师占用情况对应的多个第一矩阵和所述每天每节课教室占用情况对应的多个第一矩阵构建多个第一矩阵集合
。3.
根据权利要求1所述的课堂选课冲突检查方法,其特征在于,所述根据所述多个第一矩阵集合按照每天所有课占用情况构建多个第二矩阵集合,包括:根据所述多个第一矩阵集合,将一星期中每天所有课占用情况构建多个第二矩阵;其中,所述每天所有课占用情况包括每天所有课班级占用情况

每天所有课教师占用情况和每天所有课教室占用情况;将所述每天所有课班级占用情况对应的多个第二矩阵

所述每天所有课教师占用情况对应的多个第二矩阵和所述每天所有课教室占用情况对应的多个第二矩阵构建多个第二矩阵集合
。4.
根据权利要求1所述的课堂选课冲突检查方法,其特征在于,所述在第一预设时间内,根据每个所述第一矩阵集合中每个第一矩阵中的每个元素被使用次数和所述每个第一矩阵中所有元素被使用次数,构建多个第三矩阵集合,包括:在第一预设时间内,计算所述多个第一矩阵集合中每个第一矩阵中的每个元素被使用次数与所述每个第一矩阵中所有元素被使用次数之间的比值,得到多个第一比值结果;若每个所述第一比值结果大于第一预设值,则将所述第一矩阵中对应的元素存入第三矩阵中,得到多个第三矩阵集合
。5.
根据权利要求1所述的课堂选课冲突检查方法,其特征在于,所述对所述第一矩阵集合

所述第二矩阵集合

所述第三矩阵集合和所述第四矩阵集合进行优先级排序,获得排好序的矩阵集合,包括:按照查询时间对所述第一矩阵集合

所述第二矩阵集合

所述第三矩阵集合和所述第四矩阵集合进行优先级排序,得到按所述第四矩阵集合

所述第三矩阵集合

所述第二矩阵集合和所述第一矩阵集合的顺序排好序的矩阵集合
。6.
根据权利要求...

【专利技术属性】
技术研发人员:郭尚志李科吴佳蒂彭勃曹媛萍廖海波徐时红谢羲和
申请(专利权)人:湖南强智科技发展有限公司
类型:发明
国别省市:

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

1