一种应用于在线教育的查询页面缓存控制方法与流程

文档序号:15797572发布日期:2018-11-02 21:11阅读:161来源:国知局
一种应用于在线教育的查询页面缓存控制方法与流程

本发明涉及在线教育查询页面访问控制领域,且特别涉及一种应用于在线教育的查询页面缓存控制方法。

背景技术

随着信息技术迅速发展,特别是从互联网到移动互联网,创造了跨时空的生活、工作和学习方式,使知识获取的方式发生了根本变化。教与学可以不受时间、空间和地点条件的限制,知识获取渠道灵活与多样化。

在线教育是学生与教师、学生与教育组织之间主要采取多种媒体方式进行系统教学和通信联系的教育形式,是将课程传送给校园外的一处或多处学生的教育。现代在线教育则是指通过音频、视频(直播或录像)以及包括实时和非实时在内的计算机技术把课程传送到校园外的教育。现代在线教育是随着现代信息技术的发展而产生的一种新型教育方式,计算机技术、多媒体技术、通信技术的发展,特别是互联网的迅猛发展,使在线教育的手段有了质的飞跃,成为高新技术条件下的在线教育。现代在线教育是以现代在线教育手段为主,兼容面授、函授和自学等传统教学形式,多种媒体优化组合的教育方式。

在线教育在使用过程中,学生会反复查询用户的课程信息,查询操作可能会在某一特定时间内集中出现,例如某一课程开始前或结束后,相关的用户信息和课程信息数据会存储在服务器的数据库中,当大量查询请求同时并发时,会对数据库的读写造成较大压力,也会降低用户访问的处理速度。当某一课程有大量用户访问相同查询页面时,例如同一班级的学生查询同一节课程,把查询页面存储在服务器缓存中可以大大提高用户访问速度,同时降低数据库的读写压力,然而长时间不被访问的页面没有被及时删除时,又会导致缓冲区性能下降的问题。



技术实现要素:

本发明提出一种应用于在线教育的查询页面缓存控制方法,能够使用户快速访问查询页面,有效降低数据库的读写压力,提高服务器缓存的使用效率。

为了达到上述目的,本发明提出一种应用于在线教育的查询页面缓存控制方法,包括下列步骤:

用户访问查询页面时,首先检测服务器相应的缓存数据是否存在;

如果查询页面的缓存数据不存在时,连接数据库,获取数据,并把查询结果序列化后保存到服务器的缓存文件中,以后同样的查询结果直接从服务器的缓存文件中获得,

其中,所述检测服务器的缓存文件中是否存在用户查询页面数据是根据用户的用户id、班级id和课程id进行查询,服务器根据查询结果包含的用户id、班级id和课程id将其序列化后保存到缓存文件中。

进一步的,所述查询页面的缓存数据存储在服务器缓存中的数据中间层。

进一步的,所述服务器为多个分布式缓存服务器组成的集群,并具有缓存同步机制。

进一步的,所述服务器通过构建对象关系模型处理数据库查询,其中所述查询页面的对象关系包括:一个班级对应多个套课,一个套课对应多个单课,一个套课对应多个科目,一个套课对应多个学历。

进一步的,所述查询页面包括查询班级,查询套课,查询套课下所有单课,以及套课所对应的科目学历,查询单课对应的套课、班级以及自己的科目和学历。

进一步的,所述服务器对缓存文件中的查询页面进行淘汰处理,包括下列步骤:

确定查询页面的淘汰权重基数;

当某个查询页面每次被访问后,将当前查询页面的淘汰权重基数累加第一预设数值;

进行淘汰扫描,将全部查询页面的淘汰权重基数减第二预设数值;

将淘汰权重基数小于第三预设数值的查询页面从服务器缓存中进行删除。

进一步的,所述淘汰权重基数设置为10,所述第一预设数值设置为2,所述第二预设数值设置为1,所示第三预设数值设置为2。

本发明提出的应用于在线教育的查询页面缓存控制方法,根据用户访问查询页面的用户id、班级id和课程id将查询页面序列化并保存到缓存文件中,之后同样的查询结果直接从服务器的缓存文件中获得,把查询页面存储在服务器缓存中可以大大提高用户访问速度,同时减轻了数据库的读写压力,本发明还建立了缓存中查询页面退出机制,避免长时间未访问的查询页面长期占据缓存,提高了服务器缓存的使用效率。

附图说明

图1所示为本发明较佳实施例的应用于在线教育的查询页面缓存控制方法流程图。

图2所示为本发明较佳实施例的数据中间层结构模块示意图。

具体实施方式

以下结合附图给出本发明的具体实施方式,但本发明不限于以下的实施方式。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用于方便、明晰地辅助说明本发明实施例的目的。

请参考图1,图1所示为本发明较佳实施例的应用于在线教育的查询页面缓存控制方法流程图。

本发明提出一种应用于在线教育的查询页面缓存控制方法,包括下列步骤:

用户访问查询页面时,首先检测服务器相应的缓存数据是否存在;

如果查询页面的缓存数据不存在时,连接数据库,获取数据,并把查询结果序列化后保存到服务器的缓存文件中,以后同样的查询结果直接从服务器的缓存文件中获得,

其中,所述检测服务器的缓存文件中是否存在用户查询页面数据是根据用户的用户id、班级id和课程id进行查询,服务器根据查询结果包含的用户id、班级id和课程id将其序列化后保存到缓存文件中。

根据本发明较佳实施例,本发明预先为每个用户分配了用户id,为每个用户所属的班级分配了班级id,也为每个班级安排的课程分配了课程id,用户所访问的用户信息、班级信息以及课程信息的查询页面包含了用户id、班级id和课程id数据,服务器将从数据库中抓取的查询页面信息通过用户id、班级id和课程id进行序列化处理后保存到缓存文件中。当用户向服务器发送某个查询页面的访问请求后,服务器首先根据用户所包含的用户id、班级id和课程id数据来检测相应的缓存数据是否存在于缓存中。如果查询页面的缓存数据不存在时,服务器连接数据库,根据用户id、班级id和课程id数据进行查找并获取相应的查询页面,服务器抓取相应的查验页面后,通过用户id、班级id和课程id数据将查询页面进行序列化处理后保存到缓存文件中。后续如果有用户请求访问查询页面,服务器根据其用户id、班级id和课程id数据判断缓存文件中是否已经存在相应的查询页面,如果存在则查询结果直接从服务器的缓存文件中获取。

图2所示为本发明较佳实施例的数据中间层结构模块示意图。所述查询页面的缓存数据存储在服务器缓存中的数据中间层。从业务逻辑上来讲数据中间层存在于逻辑层与数据库中间,从硬件上来讲数据中间层存在与多个服务器的内存中,而数据库存在于多个服务器的硬盘中。中间层的作用是用户服务和数据服务的逻辑桥梁。它负责接受远程或本地的用户请求,对用户身份和数据库存取权限进行验证,运用服务器脚本,借助于中间件把请求发送到数据库服务器(即数据层),把数据库服务器返回的数据经过逻辑处理并转换成html及各种脚本传回客户端。中间层(middletier)也称作“应用程序服务器层或应用服务层”,是用户接口或web客户端与数据库之间的逻辑层。典型情况下web服务器位于该层,业务对象在此实例化。中间层是生成并操作接收信息的业务规则和函数的集合。它们通过业务规则(可以频繁更改)完成该任务,并由此被封装到在物理上与应用程序程序逻辑本身相独立的组件中。

三层网络结构指的是将数据处理过程分为三部分:第一层是客户端(用户界面层),提供用户与系统的友好访问;第二层是应用服务层(也叫中间层),专司业务逻辑的实现;第三层是数据源层(数据服务层,数据库系统),负责数据信息的存储、访问及其优化。由于业务逻辑被提取到应用服务层,大大降低了客户端负担,因此也成为瘦客户(thinclient)结构,三层结构在传统的二层结构的基础上增加了应用服务层,将应用逻辑单独进行处理,从而使得用户界面与应用逻辑位于不同的平台上,两者之间的通信协议由系统自行定义。通过这样的结构设计,使得应用逻辑被所有用户共享,这是两层结构应用软件与三层应用软件之间最大的区别。三层结构将表示部分和业务逻辑部分按照客户层和应用服务层相分离,客户端和应用服务层、应用服务层和数据库服务层之间的通讯、异构平台之间的数据交换等都可以通过中间件或者相关程序来实现。当数据库或者应用服务层的业务逻辑改变时,客户端并不需要改变,反之亦然,大大提高了系统模块的复用性,缩短开发周期,降低维护费用。

本发明的数据中间层包括协议处理层、分布式缓存服务器集群管理模块和对象关系映射(orm)管理模块,其中所述协议处理层包括命名空间组件和协议解析组件,所述分布式缓存服务器集群管理模块采用zookeeper模块,所述对象关系映射(orm)管理模块包括缓存模块和orm组件,所述缓存模块包括缓存对象管理模块和缓存组件。

根据本发明较佳实施例,所述服务器为多个分布式缓存服务器组成的集群,并具有缓存同步机制。本发明的分布式缓存服务器集群通过zookeeper协调服务器处理,同步缓存机制,利用分布式的缓存来缓存每个服务器产生的数据,保持分布式缓存服务器之间的数据同步。

所述服务器通过构建对象关系模型处理数据库查询,其中所述查询页面的对象关系包括:一个班级对应多个套课,一个套课对应多个单课,一个套课对应多个科目,一个套课对应多个学历。所述查询页面包括查询班级,查询套课,查询套课下所有单课,以及套课所对应的科目学历,查询单课对应的套课、班级以及自己的科目和学历。

根据本发明较佳实施例,所述服务器对缓存文件中的查询页面进行淘汰处理,包括下列步骤:

确定查询页面的淘汰权重基数;

当某个查询页面每次被访问后,将当前查询页面的淘汰权重基数累加第一预设数值;

进行淘汰扫描,将全部查询页面的淘汰权重基数减第二预设数值;

将淘汰权重基数小于第三预设数值的查询页面从服务器缓存中进行删除。

在本发明较佳实施例中,服务器将查询页面的淘汰权重基数设定为10,当某个查询页面每次被访问后,将当前查询页面的淘汰权重基数累加第一预设数值,其中第一预设数值设定为2,进行淘汰扫描,将全部查询页面的淘汰权重基数减第二预设数值,其中第二预设数值设定为1,将淘汰权重基数小于第三预设数值的查询页面从服务器缓存中进行删除,其中第三预设数值设定为2,当查询页面的淘汰权重基数小于2时,说明该查询页面长时间未被防伪,从而将其从服务器缓存中进行删除。

综上所述,本发明提出的应用于在线教育的查询页面缓存控制方法,根据用户访问查询页面的用户id、班级id和课程id将查询页面序列化并保存到缓存文件中,之后同样的查询结果直接从服务器的缓存文件中获得,把查询页面存储在服务器缓存中可以大大提高用户访问速度,同时减轻了数据库的读写压力,本发明还建立了缓存中查询页面退出机制,避免长时间未访问的查询页面长期占据缓存,提高了服务器缓存的使用效率。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1