基于云计算的分布式网络培训资源管理系统及调度方法

文档序号:7555684阅读:186来源:国知局
专利名称:基于云计算的分布式网络培训资源管理系统及调度方法
技术领域
本发明涉及计算机技术领域,具体涉及一种基于云计算的分布式网络培训资源管理系统及调度方法。
背景技术
现有技术中,通过分布式存储方式可以提高访问效率和增强存储系统的安全性,但是同时带了新的问题——调度问题。因此,近年来对分布式存储的负载均衡策略的研究成为了热点,从静态的负载均衡策略一直发展到效果相对较好的动态负载均衡策略。静态负载均衡策略不必考虑各节点服务器上的实际负载情况,只要根据预先设定好的方案来分配任务,这种算法的优点体现在其开销小和简单性上,但由于每个任务所占用的服务器资源不尽相同且难以预测,因此只能在一定程度上实现负载均衡,结果往往不能令人满意。动态负载均衡策略考虑各节点服务器的实时负载和响应情况,将新进来的请求优先分配到某一评价值最高服务器上,以此来提高整个系统的吞吐率和降低响应时间,其效果相对优于静态负载均衡策略。现有的网络培训资源管理系统由于调度算法性能不佳,导致网络资源消耗高,网络资源利用率低,有待改进。

发明内容
本发明提供一种基于云计算的分布式网络培训资源管理系统及调度方法,能够在满足系统负载均衡的前提下提高用户访问的响应速度,并在保证负载均衡的前提下实现全局最佳就近访问。

本发明一种基于云计算的分布式网络培训资源管理系统,包括:服务器管理模块,用于管理系统的硬件服务器信息,为课件访问调度模块提供服务器信息;课件访问调度模块,用于系统负载均衡的分布式调度,生成调度日志,为报表模块统计服务器使用情况和资源使用情况提供依据;报表模块,用于所述统计课件访问调度模块分布式调度中的信息,并且为所述课件访问调度模块提供优化的数据;系统监控模块,用于获取服务器内存、存储、CPU利用率以及应用服务器的会话数和内存信息,为所述课件访问调度模块提供调度依据;接口管理模块,用于为所述系统监控模块提供服务器监控信息以及为其它模块提供课件资源信息;系统管理模块,用于提供对系统运行所需的参数和业务流转所需的配置信息进行统一维护,为其它模块提供权限配置。优选的,所述课件访问调度模块包括:策略配置模块、分布式调度模块、调度日志模块,其中,
策略配置模块,用于配置负载过重时调度迁移的方向;分布式调度模块,用于配置调度值计算公式和调度决策算法,并且利用所述策略配置模块启动调度,并为调度日志模块提供数据;调度日志模块,用于记录分布式调度模块中产生的调度时间、URL、访问时间、资源名称的信息。优选的,所述分布式调度模块包括:调度模块、负载均衡策略数据生成模块;其中,调度模块,用于直接对访问进行调度,负责对用户访问的首次请求作出响应,所述响应包括对IP库和负载均衡策略数据的查表以及访问重定向操作;负载均衡策略数据生成模块,用于生成负载均衡策略数据,用于为所述调度模块提供调度数据。优选的,所述负载均衡策略数据生成模块生成数据的时候,以设定时间内来自各个QueryUnit的访问数量统计数据作为生成数据的依据,所述统计数据是由所述报表模块
负责收集。本发明还提供一种基于云计算的分布式网络培训资源管理系统调度方法,采用上述系统,所述系统调度流程包括如下步骤:501:获取访问的IP地址;502:根据所述IP地址查询IP库;503:查询负载均衡 策略数据;504:进行重定向过程。优选的,所述IP库存储在Hash表中,所述根据所述IP地址查询IP库包括:输入IP地址,输出地市id。优选的,所述负载均衡策略数据存储在一维数组上,该数组的下标对应地市id。上述技术方案可以看出,由于本发明实施例采用基于云计算的分布式网络培训资源管理系统及调度方法,能够在满足系统负载均衡的前提下提高用户访问的响应速度,在保证负载均衡的前提下实现全局最佳就近访问。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本发明云计算的分布式网络培训资源管理系统的概括示意图;图2是本发明云计算的分布式网络培训资源管理系统的具体结构示意图;图3是本发明系统中的分布式调度模块结构示意图;图4是本发明系统中的分布式调度模块的处理流程示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。本发明实施例提供一种基于云计算的分布式网络培训资源管理系统及调度方法,能够在满足系统负载均衡的前提下提高用户访问的响应速度,在保证负载均衡的前提下实现全局最佳就近访问。以下分别进行详细说明。图1和图2描述了本发明系统的结构。其中图1是系统的概括示意图,图2是系统的功能结构的具体示意图。本发明分布式网络培训资源管理系统由服务器管理模块、课件访问调度模块、系统监控模块、接口管理模块、报表模块以及系统管理模块组成。其中:服务器管理模块,用于管理系统的硬件服务器信息,为课件访问调度模块提供服务器信息。课件访问调度模块,用于系统负载均衡的分布式调度,生成调度日志,为报表模块统计服务器使用情况和资源使用情况提供依据。课件访问调度模块由策略配置模块、分布式调试模块、调度日志模块组成。策略配置模块,用于配置负载过重时调度迁移的方向;分布式调度模块,用于配置调度值计算公式和调度决策算法,并且利用策略配置模块启动调度,并为调度日志模块提供数据;调度日志模块,用于记录分布式调度模块中产生的调度时间、URL、访问时间、资源名称等信息。报表模块,用于统计课件访问调度模块分布式调度中的相关信息,并且为课程访问调度模块提供优化的数据。系统监控模块,用于获取服务器内存、存储、CPU利用率以及应用服务器的会话数、JVM内存等信息,为课件访问调度模块提供调度依据。接口管理模块,主要用于为系统监控模块提供相关的报务器监控信息以及为其它模块提供课件资源相关信息。系统管理模块,主要用于提供对系统运行所需的参数和业务流转所需的相关配置信息进行统一维护,为其它模块提供权限配置。如图3所示,是课件访问调度模块中的分布式调度模块结构示意图。分布式调度模块由调度模块和负载均衡数据生成模块组成。其中,调度模块,用于直接对访问进行调度,负责对用户访问的首次请求作出响应。这个响应主要是指对IP库和负载均衡策略数据的查表以及访问重定向操作。负载均衡策略生成模块,生成负载均衡策略数据,用于为调度模块提供调度数据。在负载均衡策略数据生成模块生成数据的时候,需要以一段时间内来自各个QueryUnit ( “地市名”的值定义)的访问数量统计数据作为生成数据的依据。这个统计数据是由报表模块来负责收集的。报表模块中的课件访问情况统计模块必须随时记录对系统的访问情况,以该访问所属的QueryUnit来作为统计依据。统计数据必须存储在数据库中,并为负载均衡模块提供实时数据。如图4所示,是本发 明系统中分布式调度模块的处理流程示意图,该处理流程分为四个阶段,分别是获取客户IP地址、查询IP库、查询负载均衡策略数据以及重定向过程。(1)获取客户IP地址;获取客户IP地址只是简单调用平台系统提供的系统函数,可以利用现有技术实现,在此不再赘言。以下将重点分析剩下的三个过程是如何实现的。(2)查询 IP 库;为了使查询更加高效,把IP库存储在Hash表中。Hash表key的类型定义为4字节的unsigned int,而value定义为pair < char >,pair中的元素分别表示地市id。在pair中之所以采用char而没有采用int是因为地市数量比较少,使用I个字节的char完全可以满足需求。系统实现采用现成的C++ STL类型hash_map < unsigned int, pair< char >>,采用这种数据结构理论上可以使单次查询操作的效率达到0(1)。查询IP库过程的输入和输出如下:输入:IP地址。输出:地市id 即 QueryUnit。这个过程实际上调用一个hash_map的成员函数find()或者运算符重载函数[]O就可以解决。由于每次启动调度模块即是启动一个CGI程序,每次在这个程序中都要使用上述的Hash表。在每次程序中载入这个Hash表显然不太现实,可以将这个Hash表预先载入一段共享内存中,使它被所有需要使用它的CGI程序得到共享。

(3)查询负载均衡策略数据;完成了上述查询IP库的过程,就可以进入查询负载均衡策略数据阶段。查询负载均衡策略数据的过程与上述查询IP库的过程有些类似。为了方便查询该数据,将该数据存储在一个vector的一维数组上,该数组的下标对应地市id。因此,当得到了一个访问所属的QueryUnit后,就可以根据它得到一个vector,这个vector中存储的是若干个资源服务器IP地址列表。剩下的工作就是在这个vector中求得选取一个特定的资源服务器IP地址。其中,负载均衡问题的目标可定义为如下:(1)每个QueryUnit的所有请求都必须得到分配。(2)分配到每个server的请求数量的总和都不能超过其最大容量。(3)使所有请求的平均延迟最小。对于以上的问题,使用贪心算法或者线性规划算法解决。计算模块的算法必须在几种必要的数据下才能运行。主要有以下几种数据。第一,业务接入服务器上报的各QueryUnit访问数量的统计数据。第二,资源服务器状态数据。第三,地市之间的网络延迟数据。(4)重定向过程;与IP库数据类似,负载均衡策略数据也不是在每次模块程序启动时装载一次,而是存储在一个共享内存中。这个数据在整个系统启动时需要装载一次,在数据更新的时候也需要重新装载一遍。从上述技术方案可以看出,本发明技术方案能够实现网络培训资源的集约化管理,节省网络带宽资源,提高用户并发数量,在满足系统负载均衡的前提下提高用户访问的响应速度,在保证负载均衡的前提下实现全局最佳就近访问本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。以上对本发明实施例所提供的技术方案,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改 变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种基于云计算的分布式网络培训资源管理系统,其特征在于,包括: 服务器管理模块,用于管理系统的硬件服务器信息,为课件访问调度模块提供服务器信息; 课件访问调度模块,用于系统负载均衡的分布式调度,生成调度日志,为报表模块统计服务器使用情况和资源使用情况提供依据; 报表模块,用于统计所述课件访问调度模块分布式调度中的信息,并且为所述课件访问调度模块提供优化的数据; 系统监控模块,用于获取服务器内存、存储、CPU利用率以及应用服务器的会话数和内存信息,为所述课件访问调度模块提供调度依据; 接口管理模块,用于为所述系统监控模块提供服务器监控信息以及为其它模块提供课件资源信息。
系统管理模块,用于提供对系统运行所需的参数和业务流转所需的配置信息进行统一维护,为其它模块提供权限配置。
2.根据权利要求1所述的基于云计算的分布式网络培训资源管理系统,其特征在于: 所述课件访问调度模块包括:策略配置模块、分布式调度模块、调度日志模块,其中, 策略配置模块,用于配置负载过重时调度迁移的方向; 分布式调度模块,用于配置调度值计算公式和调度决策算法,并且利用所述策略配置模块启动调度,并为调度日志模块提供数据; 调度日志模块,用于记录分布式调度模块中产生的调度时间、URL、访问时间、资源名称的信息。
3.根据权利要求2所述的基于云计算的分布式网络培训资源管理系统,其特征在于: 所述分布式调度模块包括:调度模块、负载均衡策略数据生成模块;其中, 调度模块,用于直接对访问进行调度,负责对用户访问的首次请求作出响应,所述响应包括对IP库和负载均衡策略数据的查表以及访问重定向操作; 负载均衡策略数据生成模块,用于生成负载均衡策略数据,用于为所述调度模块提供调度数据。
4.根据权利要求3所述的基于云计算的分布式网络培训资源管理系统,其特征在于: 所述负载均衡策略数据生成模块生成数据的时候,以设定时间内来自各个QueryUnit的访问数量统计数据作为生成数据的依据,所述统计数据是由所述报表模块负责收集。
5.一种基于云计算的分布式网络培训资源管理系统调度方法,其特征在于: 采用权利要求1所述的系统,所述系统调度流程包括如下步骤: 501:获取访问的IP地址; 502:根据所述IP地址查询IP库; 503:查询负载均衡策略数据; 504:进行重定向过程。
6.根据权利要求5所述的基于云计算的分布式网络培训资源管理系统调度方法,其特征在于: 所述IP库存储在Hash表中,所述根据所述IP地址查询IP库包括:输入IP地址,输出地市id。
7.根据权利要求5所述的基于云计算的分布式网络培训资源管理系统调度方法,其特征在于: 所述负载均衡策略数据存 储在一维数组上,该数组的下标对应地市id。
全文摘要
本发明公开了一种基于云计算的分布式网络培训资源管理系统及调度方法。所述系统包括服务器管理模块,用于管理系统的硬件服务器信息;课件访问调度模块,用于系统负载均衡的分布式调度,生成调度日志,为报表模块提供依据;报表模块,用于统计课件访问调度模块分布式调度中的信息;系统监控模块,用于获取服务器信息,为课件访问调度模块提供调度依据;接口管理模块,用于为系统监控模块提供服务器监控信息以及为其它模块提供课件资源信息;系统管理模块,用于提供对系统运行所需的参数和业务流转所需的配置信息进行统一维护。本发明能够实现网络培训资源的集约化管理,在满足系统负载均衡的前提下提高用户访问的响应速度。
文档编号H04L29/08GK103220363SQ20131015230
公开日2013年7月24日 申请日期2013年4月26日 优先权日2013年4月26日
发明者李军锋, 何双伯 申请人:广东电网公司教育培训评价中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1