【技术实现步骤摘要】
一种公开课座位预定缓存系统和方法
本专利技术涉及服务器架构。
技术介绍
很多高校开展有公开课。高校公开是面向学生提供的一种优质教学资源。这种公开课要求学生预先在网上的公开课座位预定系统中预订座位。对于部分及其热门的公开课,学生需要抢订座位。众多学生同时抢订热门公开课座位时,很容易导致整个公开课座位预定系统崩溃,影响学生使用。
技术实现思路
本专利技术所要解决的问题:,在大流量数据涌入的情形下,使公开课座位预定系统保持高可用、高并发的状态,在保证座位选座正确的前提下,避免整个公开课座位预定系统的崩溃。为解决上述问题,本专利技术采用的方案如下:根据本专利技术的一种公开课座位预定缓存系统,该系统包括数据缓存服务机群、请求降级模块、请求分发模块、热点缓存模块;所述数据缓存服务机群由若干数据缓存机器组成;每个数据缓存机器包括有课程数据缓存模块、数据缓存同步模块、操作请求响应模块;所述请求降级模块包括以下模块:MB1,用于:接收客户端所发送的操作请求;所述操作请求包括课程查询请求和座位 ...
【技术保护点】
1.一种公开课座位预定缓存系统,其特征在于,该系统包括数据缓存服务机群、请求降级模块、请求分发模块、热点缓存模块;所述数据缓存服务机群由若干数据缓存机器组成;每个数据缓存机器包括有课程数据缓存模块、数据缓存同步模块、操作请求响应模块;/n所述请求降级模块包括以下模块:/nMB1,用于:接收客户端所发送的操作请求;所述操作请求包括课程查询请求和座位预定请求;所述课程查询请求包括课程清单查询请求、课程信息查询请求、座位查询请求;所述座位预定请求、课程信息查询请求、座位查询请求至少包括课程识别码;/nMB2,用于:根据所接收的操作请求进行流量分析,当流量超过限值时,通过随机方式抛 ...
【技术特征摘要】
1.一种公开课座位预定缓存系统,其特征在于,该系统包括数据缓存服务机群、请求降级模块、请求分发模块、热点缓存模块;所述数据缓存服务机群由若干数据缓存机器组成;每个数据缓存机器包括有课程数据缓存模块、数据缓存同步模块、操作请求响应模块;
所述请求降级模块包括以下模块:
MB1,用于:接收客户端所发送的操作请求;所述操作请求包括课程查询请求和座位预定请求;所述课程查询请求包括课程清单查询请求、课程信息查询请求、座位查询请求;所述座位预定请求、课程信息查询请求、座位查询请求至少包括课程识别码;
MB2,用于:根据所接收的操作请求进行流量分析,当流量超过限值时,通过随机方式抛弃所接收的操作请求,实现请求降级;对于未抛弃的操作请求,如果该操作请求为课程信息查询请求、座位查询请求或者座位预定请求时,根据其课程识别码和热点课程清单判断是否为热点课程;对于属于热点课程的课程信息查询请求、座位查询请求或者座位预定请求则直接转发至所述热点缓存模块;否则将对应的操作请求发送至所述请求分发模块;所述热点课程清单通过接收所述热点缓存模块所发送的热点课程同步信息维持得到;
MB3,用于:接收所述请求分发模块所返回的操作响应信息和所述热点缓存模块的操作响应信息,并将所接收的操作响应信息发送至客户端;
所述请求分发模块包括以下模块:
MC1,用于:接收所述请求降级模块所发送的操作请求;
MC2,用于:将所接收到的操作请求配发至所述数据缓存服务机群中的某个数据缓存机器,同时根据接收到的操作请求生成课程访问计数信息发送至所述热点缓存模块;
MC3,用于:接收所述数据缓存机器所返回的操作响应信息,并将该操作响应信息返回至所述请求降级模块;
所述热点缓存模块包括以下模块:
MD1,用于:以内存方式缓存热点课程清单中的热点课程的课程信息和座位信息;
MD2,用于:接收所述请求降级模块所发送的操作请求,根据所接收的操作请求生成课程访问计数信息,并对所接收的操作请求作出操作响应,生成操作响应信息返回至所述请求降级模块;当对所接收的操作请求作出操作响应时,以内存方式缓存的热点课程的课程信息和座位信息为处理对象;当作出操作响应使得热点课程的座位信息发生变更时,更改数据库中相应课程的座位信息的同时向各个数据缓存机器发送课程座位同步信息;
MD3,用于:接收所述请求分发模块所发送的课程访问计数信息和模块MD1所生成的课程访问计数信息,然后根据所述课程访问计数信息对课程的访问数进行统计,并根据所述课程的课程的访问数维持热点课程清单;当热点课程清单发生变化时,向所述请求降级模块发送热点课程同步信息,并更新所述以内存方式缓存的所述热点课程清单中的热点课程的课程信息和座位信息;
MD4,用于:接收各个数据缓存机器发送的课程座位同步信息,并根据所接收的课程座位同步信息更新所述以内存方式缓存的所述热点课程清单中的热点课程的座位信息;
所述课程数据缓存模块用于:以内存方式缓存数据库中各课程的课程信息和座位信息;
所述数据缓存同步模块用于:接收其他数据缓存机器所发送的课程座位同步信息或所述热点缓存模块所发送的课程座位同步信息,并根据所接收的课程座位同步信息更新所述内存方式缓存的数据库中各课程的座位信息;
所述操作请求响应模块用于:接收所述请求分发模块所配发的操作请求,并对所接收的操作请求作出操作响应,生成操作响应信息返回至所述请求分发模块;当对所接收的操作请求作出操作响应时,以内存方式缓存的数据库中各课程的课程信息和座位信息为处理对象;当作出操作响应使得课程的座位信息发生变更时,更改数据库中相应课程的座位信息同时向其他数据缓存机器和热点缓存模块发送课程座位同步信息。
2.如权利要求1所述的公开课座位预定缓存系统,其特征在于,还包括看门狗模块;所述看门狗模块连接所述数据缓存服务机群中的各个数据缓存机器,并通过各个数据缓存机器所发送的喂狗信号判断相应的数据缓存机器是否宕机;当判断到存在数据缓存机器宕机时,向相应宕机的数据缓存机器发送重启指令,并生成宕机状态信息发送至所述请求分发模块;所述请求分发模块接收宕机状态信息,并根据所接收宕机状态信息更新各个数据缓存机器的状态表,从而使得当将所接收到的操作请求配发至所述数据缓存服务机群中的某个数据缓存机器时,以避免配发至宕机的数据缓存机器上。
3.如权利要求1所述的公开课座位预定缓存系统,其特征在于,所述请求降级模块中,接收到操作请求后,为每个操作请求添加时间戳,接收到返回的操作响应信息后,根据所述操作响应信息所对应的操作请求的时间戳计算每个操作请求的响应时间,并以滑窗方式统计平均响应时间;当平均响应时间超过预先设定的阈值时,通过随机方式抛弃所接收的操作请求。
4.如权利要求1所述的公开课座位预定缓存系统,其特征在于,所述请求分发模块中还包括模块:
MC21,用于:为每个数据缓存机器构建操作请求队列;
MC22,用于:计算每个操作请求的响应时间,并以滑窗方式统计各个数据缓存机器的平均响应时间;
MC23,用于:根据各个数据缓存机器的平均响应时间和各个数据缓存机器操作请求队列中未响应的操作请求数量,计算各个数据缓存机器的操作请求的预期处理时间;
MC24,用于:根据各个数据缓存机器的操作请求的预期处理时间,将所接收到的操作请求配发至各个数据缓存机器的操作请求队列中:当存在操作请求的预期处理时间未超过预先设定的阈值时,以哈希取模的方式将所接收到的操作请求配发至相应的操作请求的预期处理时间未超过预先设定的阈值的数据缓存机器;否则将所接收到的操作请求配发至操作请求的预期处理时间最小的数据缓存机器。
5.如权利要求1所述的公开课座位预定缓...
【专利技术属性】
技术研发人员:张宜红,郭超,俞京华,徐涛,赵佩,
申请(专利权)人:江苏金智教育信息股份有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。