发明内容
鉴于以上内容,有必要提供一种主服务器,其可当网页浏览器需要解码多媒体资料时,自动寻找出一个合适的从服务器,对该多媒体资料进行解码,并将解码后的多媒体资料传给该网页浏览器。
鉴于以上内容,还有必要提供一种利用主服务器进行多媒体资料解码的方法,其可当网页浏览器需要解码多媒体资料时,自动寻找出一个合适的从服务器,对该多媒体资料进行解码,并将解码后的多媒体资料传给该网页浏览器。
一种主服务器,该主服务器与多个从服务器相连,该主服务器包括:
存储装置,用于存储待解码的多媒体资料和记录从服务器信息的记录表;
资料添加模块,用于当一个从服务器连接上主服务器时,将该从服务器的信息添加到所述记录表中;
请求接收模块,用于接收网页服务器传送过来的多媒体资料解码请求;
任务分配模块,用于从所述记录表中寻找一个处理该解码请求的从服务器,分配解码任务给该寻找到的从服务器;
资料更新模块,用于更新寻找到的从服务器在所述记录表中的信息;及
所述任务分配模块,还用于将寻找到的从服务器的IP地址传送给网页服务器。
一种利用主服务器进行多媒体资料解码的方法,该主服务器与多个从服务器相连,该方法包括如下步骤:
当一个从服务器连接上主服务器时,主服务器将该从服务器的信息添加到一个记录表中,并将该记录表存储在主服务器的存储装置中,该存储装置中还存储有待解码的多媒体资料;
主服务器接收网页服务器传送过来的多媒体资料解码请求;
主服务器从所述记录表中寻找一个处理该解码请求的从服务器,分配解码任务给该寻找到的从服务器;
主服务器更新寻找到的从服务器在所述记录表中的信息;
主服务器将寻找到的从服务器的IP地址传送给网页服务器;
网页服务器将该寻找到的从服务器的IP地址传送给网页浏览器;
网页浏览器根据该寻找到的从服务器的IP地址,向该寻找到的从服务器发出解码指令;及
该寻找到的从服务器将待解码的多媒体资料解码后传给网页浏览器。
相较于现有技术,所述的主服务器及利用其进行多媒体资料解码的方法,其可当网页浏览器需要解码多媒体资料时,自动寻找出一个合适的从服务器,对该多媒体资料进行解码,并将解码后的多媒体资料传给该网页浏览器,从而降低了网页浏览器的复杂度和运算量。
具体实施方式
如图1所示,是本发明主服务器与其它服务器构成的多媒体资料解码系统的架构图。在本实施例中,主服务器20通过网络30与网页浏览器10、网页服务器12和多个从服务器(图1中仅示出3个,即32、34和36)相连,构成多媒体资料解码系统14。在本实施例中,所述网络30可以是企业内部网(Intranet)或以太网(Ethernet),也可以是互联网(Internet)或其它类型的通讯网络。
在本实施例中,每个从服务器中都存储有不同格式的译码器,用于对不同格式的多媒体资料进行解码。所述网页浏览器10安装于用户端电脑,用于提供用户操作的界面,并向网页服务器12传送多媒体资料解码请求。
当网页浏览器10需要解码多媒体资料时,向网页服务器12发送多媒体资料解码请求。网页服务器12将该解码请求传送给主服务器20,主服务器20自动寻找出一个合适的从服务器,对该多媒体资料进行解码,并将解码后的多媒体资料传给该网页浏览器10。具体流程参见以下的描述。
如图2所示,是本发明主服务器20较佳实施例的功能模块图。在本实施例中,主服务器20包括存储装置201、资料添加模块202、请求接收模块203、任务分配模块204、资料更新模块205和处理器206。所述处理器206用于控制上述模块202-205的执行,已完成多媒体资料的解码。本发明所称的模块是完成一特定功能的计算机程序段,比程序更适合于描述软件在计算机中的执行过程,因此在本发明以下对软件描述都以模块描述。
其中,所述存储装置201中存储有待解码的多媒体资料和用于记录从服务器信息的记录表。参阅图3所示,所述从服务器的信息包括:每个从服务器的名称、CPU使用率、GPU(Graphic ProcessingUnit,图形处理器)使用率、内存使用率、网络负载、处理程序数量、IP地址和状态标记等。其中,所述状态标记用于标记从服务器是否与主服务器20连接上。例如,当从服务器与主服务器20建立连接时,将状态标记置为1;当从服务器与主服务器20断开连接时,将状态标记置为0。
所述资料添加模块202用于当一个从服务器连接上主服务器20时,将该从服务器的信息添加到所述记录表中。
所述请求接收模块203用于接收网页服务器12传送过来的多媒体资料解码请求。其中,该多媒体资料解码请求是由网页浏览器10传送至所述网页服务器12,然后,网页服务器12再将该多媒体资料解码请求传送给主服务器20。在本实施例中,该多媒体资料解码请求包括:待解码的多媒体资料的文件名、文件格式和存储路径等。
所述任务分配模块204用于从所述记录表中寻找一个处理该解码请求的从服务器,分配解码任务给该寻找到的从服务器。在本实施例中,任务分配模块204根据所述记录表中每个从服务器的信息,计算每个从服务器的有效资源利用率,然后选择有效资源利用率最小的一个从服务器,作为处理该解码请求的从服务器。
在本实施例中,从服务器的有效资源利用率根据该从服务器的下列系统资源进行加权所得:[目前CPU使用率,目前GPU使用率,目前内存使用率,目前网络负载,目前处理程序数量]*[X0,X1,X2,X3,X4]。假设目前CPU使用率为k0,目前GPU使用率为k1,目前内存使用率为k2,目前网络负载为k3,目前处理程序数量为k4,加权系数X0=m0,X1=m1,X2=m2,X3=m3,X4=m4。则该从服务器的有效资源利用率
在本实施例中,X0、X1、X2、X3、X4为加权系数,且X0+X1+X2+X3+X4=1。所述加权系数的实际值可以根据实验结果量测出最佳数据,例如,取X0=0.3,X1=0.35,X2=0.2,X3=0.1,X4=0.05。
所述资料更新模块205用于更新寻找到的从服务器在所述记录表中的信息。举例而言,假设所述记录表中有效资源利用率最小的从服务器为Slave 3,解码任务分配给Slave 3后,Slave 3的CPU使用率变为62%,GPU使用率变为45%,内存使用率变为54%,网络负载变为10%,处理程序数量变为81,则更新后的记录表如图4所示。
所述资料更新模块205还用于当在设定的时间段内(如10秒钟),如果任务分配模块204没有找到处理该解码请求的从服务器(即所有从服务器都没有回应),则更新记录表中每个从服务器的状态标记,即将状态标记1变更为0(参阅图5所示)。
所述任务分配模块204还用于将寻找到的从服务器的IP地址传送给网页服务器12。然后,网页服务器12将该寻找到的从服务器的IP地址传送给网页浏览器10。
网页浏览器10根据该寻找到的从服务器的IP地址,向该寻找到的从服务器发出解码指令。
该寻找到的从服务器将待解码的多媒体资料解码后传给网页浏览器10。具体而言,首先,该寻找到的从服务器根据待解码的多媒体资料的文件名和存储路径,从主服务器20的存储装置201中获取待解码的多媒体资料。然后,该寻找到的从服务器根据待解码的多媒体资料的文件格式获取该文件格式对应的译码器,将该待解码的多媒体资料解码后传给网页浏览器10。
如图6所示,是本发明利用主服务器进行多媒体资料解码的方法的较佳实施例的流程图,以下描述将结合图2进行。
步骤S1,当一个从服务器连接上主服务器20时,资料添加模块202将该从服务器的信息添加到所述记录表中,并将该记录表存储在存储装置201中。所述存储装置201中还存储有待解码的多媒体资料。参阅图3所示,所述从服务器的信息包括:每个从服务器的名称、CPU使用率、GPU使用率、内存使用率、网络负载、处理程序数量、IP地址和状态标记等。
步骤S2,请求接收模块203接收网页服务器12传送过来的多媒体资料解码请求。其中,该多媒体资料解码请求是由网页浏览器10传送至所述网页服务器12,然后,网页服务器12再将该多媒体资料解码请求传送给主服务器20。在本实施例中,该多媒体资料解码请求包括:待解码的多媒体资料的文件名、文件格式和存储路径等。
步骤S3,任务分配模块204从所述记录表中寻找一个处理该解码请求的从服务器,分配解码任务给该寻找到的从服务器。在本实施例中,任务分配模块204根据所述记录表中每个从服务器的信息,计算每个从服务器的有效资源利用率,然后选择有效资源利用率最小的一个从服务器,作为处理该解码请求的从服务器。
步骤S4,资料更新模块205更新寻找到的从服务器在所述记录表中的信息。
步骤S5,任务分配模块204将寻找到的从服务器的IP地址传送给网页服务器12。然后,网页服务器12将该寻找到的从服务器的IP地址传送给网页浏览器10。
步骤S6,网页浏览器10根据该寻找到的从服务器的IP地址,向该寻找到的从服务器发出解码指令。
步骤S7,该寻找到的从服务器将待解码的多媒体资料解码后传给网页浏览器10。具体而言,首先,该寻找到的从服务器根据待解码的多媒体资料的文件名和存储路径,从主服务器20的存储装置201中获取待解码的多媒体资料。然后,该寻找到的从服务器根据待解码的多媒体资料的文件格式获取该文件格式对应的译码器,将该待解码的多媒体资料解码后传给网页浏览器10。
于步骤S3中,当在设定的时间段内(如10秒钟),如果任务分配模块204没有找到处理该解码请求的从服务器(即所有从服务器都没有回应),则资料更新模块205更新记录表中每个从服务器的状态标记,即将状态标记1变更为0(参阅图5所示),然后返回步骤S1。
在本实施例中,所述主服务器20用于处理网页浏览器10的多媒体资料解码请求。在其它实施例中,所述主服务器20还可以用来处理网页浏览器10的其它请求(如编码请求和转档请求等),只需在每个从服务器中添加处理编码请求和转档请求的程序即可。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。