一种计算机网络服务装置 本发明是一种为网络用户提供多媒体服务的计算机系统结构。
众所周知,多媒体服务器需要很大的存储能力和极大的网络带宽。特别是在提供视频服务时,对视频流如以MPEG1方式压缩后,其带宽在1.4Mbps以上,折算成存储空间,1小时为1.4×3600/8=630M字节,按一部电影平均长度为90分钟计,将需要630×1.5=945M字节的空间;如以MPEG2方式压缩,其带宽为4.2Mbps以上,一小时存储空间为1890M字节,一部电影的存储空间为2835M字节。如果服务器要为数百个用户提供几百部电影,将需要1Gbps以上的网络带宽及数百GB乃至数TB的存储空间。由于至今没有看到市场上的专用多媒体服务器,根据目前国外厂家的产品来看,对这一问题的解决不外是三种方案:高性能的小型计算机甚至是大型计算机配磁盘阵列组成多媒体服务器。这一方案的典型代表是美国国际商用机器公司(IBM)基于RS/6000小型机的多媒体服务器(50个以下用户)和基于ES/9000大型机的多媒体服务器。第二种方案是采用大规模并行计算机加大型数据库组成的多媒体数据库服务器。这一方案的典型代表是美国Oracle公司基于美国n-Cube公司大规模并行计算机构建的多媒体服务器,该服务器有数千个处理器并发的处理数千个视频流,其输入/输出通道高达1024个,能并行支持6000个以上的磁盘。第三种方案是用一台以上小型机甚至是个人电脑加磁盘阵列组成群集(Cluster)系统,并通过专用软件来构建多媒体服务器,这一方案的典型代表为美国惠普(HP)公司MC/Service Guard软件和美国微软(Microsoft)公司地Tiger软件。国外之所以采用上述方案,是由于多媒体服务器必须满足以下要求:
1、必须提供数百GB乃至数千GB的磁盘存储空间。目前现有技术能够实现的单个磁盘采用SCSI接口的最大为60GB左右,采用IDE接口的在10GB左右,要实现前述存储要求,必须采用多个磁盘。而在IDE接口上最多只能接4个磁盘,SCSI接口最多接七个,Ultra2 SCSI接口最多可接到15个。同时,连接磁盘的数量除受接口对可连接设备数量的限制之外,还受接口传输速度及主机处理能力的限制,不可能接过多的磁盘。这就是所有多媒体服务器都采用SCSI接口及磁盘阵列的原因。
2、必须提供数百乃至上千Mbps的网络带宽。目前单个网卡最大可提供100Mbps的带宽,要满足要求必须要多个网卡,这就要求有多个插槽供网卡使用,一般只有大型主机才有足够的插槽满足需要。更重要的是提供如此大的网络带宽需要主机有足够的处理能力和输入/输出能力。因此,国外上述方案不是采用大型主机或并行处理机,就是采用多台计算机构成群集的方式来解决这一问题。
由于磁盘阵列、并行处理计算机或多机群集系统都很昂贵,导致多媒体服务器成本极高,不利于市场接受。
本发明的目的是设计一种成本极低的利用计算机网络技术结构,采用目前大量生产的元器件构造一种存储容量大、传输速度高、具有一定容错能力并且可以随应用需要而伸缩的微网计算机多媒体服务器,与目前采用现有技术制造的同类产品相比在同等容量和传输速度的情况下,成本不到为国外同类产品的1/5。
本发明的技术方案为:在服务器机箱内设置有两台以上的计算机,该计算机相互之间通过网络及网络设备、开关、显示器及键盘和鼠标构成一个整体作为多媒体服务器而开展工作。该计算机包含有一个或一个以上的中央处理器(CPU)、16K以上的内存、主板以及在板上的外设接口、外部设备:如磁盘、显卡、声卡、网卡、调制解调器、操作系统;服务器内的网络包含有网络连接线及网络设备如网卡、网络接线器(HUB)、网络交换机(SWITCH)、路由器(ROUTER)、异步传输模式ATM。在机箱内计算机所包含的如上述的要素既可以是分别独立的,也可以是集成在板上的,并且该计算机既可以是独立完整的,也可以是由各台计算机主板共用一台显示器、一个键盘及鼠标。
下面结合附图及实施例进一步阐述本发明内容:
图1为本发明实施例一结构示意图;
图2为图1虚框线内结构示意图;
图3为本发明实施例二结构示意图;
图4为图3虚框线内结构示意图。
如图1图2所示,虚线框外的计算机为客户机(9),即多媒体服务器服务的对象。虚线框内为构成多媒体服务器的网络,网络包含至少两台计算机(1)和一台或一台以上的网络交换设备,为用户提供多媒体服务。在一般情况下,每台计算机有两块网卡,一块与网络交换设备(10)连接,作为多媒体服务器的对外接口。另一块作为服务器内部交换数据用,通过这一块网卡与网络交换设备(11)构成多媒体服务器内部网络,在软件的控制下,使服务器内的多台计算机(1)如同一个整体一样协同工作。
图示虚线框部分是为说明网络结构,实际上是要将这部分网络装入机箱,附图1用从虚线框指向多媒体服务器的大箭头示意了这一点。在实施中只需把计算机主板(2)、外存设备如磁盘驱动器、光盘驱动器等以及电源(3)、网络设备(4)等装入定制的机箱,通过机械开关或电子开关,使多块主板共用一台显示器(5)、一个键盘(6)及鼠标(7),装入软件并根据所装入的操作系统和网络协议设置网络参数,运行将在下面描述的专用软件,即构成一台多媒体服务器。由于可以有多种主机板(2)、外存设备(12)、网络设备(4)、网络连接方式和不同的操作系统、网络协议,它们相互之间又可以有多种组合,机箱(8)内的设备如主板(2)、磁盘驱动器、电源(3)等既可以水平放置,也可以垂直放置,当然还可以左右放置,显示器(5)、键盘(6)及鼠标(7)可以共用,也可以不共用,凡此种种,要一一列举既不可能也没有必要。因此,图示服务器只是示意性的,不表示实际应用的情况。本发明的硬件技术特征在于:在一个机箱内包括了两台或两台以上的计算机(1),这里所说的计算机(1)包含如下要素:1个或1个以上中央处理器(CPU);16K字节以上的内存储器,包括只读存储器(ROM)和读写存储器(RAM);主板以及在板上的外设接口;外部设备如磁盘、显示卡、声卡、调制解调器等;操作系统等。这些计算机通过网络相互连接起来,这里所说的网络包含如下要素:网络连接线,包括电缆如双绞线、同轴电缆、多芯电缆等、光缆(含光纤)、印刷电路板布线等;网络设备,包括网卡、网络集线器(HUB)、网络交换机(SWITCH)、路由器(ROUTER)、异步传输模式交换机(ATM)等,这些设备可以是独立的,也可以是集成在板上的;网络协议,如TCP/IP、IPX、FDDI等。在软件的控制和协调下,共享资源、协同工作、对外提供服务。
一个完整的计算机系统除了有作为物质实体的硬件外,还必须有作为灵魂的软件,由于本发明的多媒体服务器(以下简称服务器)硬件不限制在特定的操作系统和网络协议下,因此我们在下面用自然语言而不是程序语言给出实现服务器软件的第一种方法:
根据服务器内每台计算机(以下简称节点机)的资源情况建立系统可用资源表,资源表项目包括:本机最大资源,本机缓冲资源,本机最大可用资源,本机当前可用资源。其中,本机最大可用资源=本机最大资源-本机缓冲资源。系统资源表分布在每一台节点机上,由节点机上的一个独立的资源监测和维护进程维护。该进程监测本机的资源使用情况,当有资源被使用或由于故障等原因造成某些资源不能使用以及占用资源被释放或故障被排除后资源重新可使用时,修改资源表节点机当前可用资源项目,以随时反映资源的实际使用情况。
为服务器分配一个逻辑地址,选定一台节点机的网络地址与此逻辑地址建立映射,即所有对服务器访问的请求,都发送到该节点机地址。标定此节点机为原点机,即其它节点机的设定和协调将通过此机进行。原点机的选择原则是:如果节点机性能、配置不一样,选择性能最高、配置最全的节点机,否则任选一台节点机。
通过原点机为其它节点机进行配置,包括复制设置文件到节点机,将原点机地址通知节点机,设置节点机的优先级别等。优先级以正整数表示,数字0优先级最高,数字越大,优先级越低。原点机的优先级数字为0,其它节点机的优先级依照性能和配置确定,性能和配置越高,优先级越高。原点机在系统配置完毕,重新启动成功后,建立服务器系统可用资源表,项目包括:节点机网络地址,节点机最大资源,节点机缓冲资源,节点机最大可用资源,节点机当前可用资源。该表除节点机网络地址项目外,均由原点机向节点机查询获得。原点机并且根据查询间隔参数设置的值来定时向各节点机的资源监测和维护进程发出查询请求,节点机的资源监测和维护进程收到查询请求后将本机的系统资源表发回原点机,由原点机据此更新服务器系统可用资源表。
通过原点机为服务器输入数据文件,如计算机程序、影视节目、电子书籍等一切可被计算机存储和处理,并且构成文件形式的信息。这些文件将储存在各节点机的磁盘上,通过文件目录表统一管理。通过控制输入过程,在每台节点机上存放数量大致相等的文件。其存放过程可以按优先级数字,从低向高存放。即假定有n台节点机,先从优先级数字为0号的节点机开始存放第一个文件,然后在1号节点机存放第二个文件,...,最后是在n号机存放第n+1个文件,而第n+2个文件又存放到0号节点机,如此循环下去。在存放过程中,节点机的资源监测进程始终在监视磁盘资源的使用情况,当磁盘使用到达最大可用资源时,该节点机将不容许继续存放文件,原点机转向下一台节点机存放,一直到全部节点机都存放满为止。为保证任务调度,每台节点机都必须保留一定的磁盘容量作为缓冲资源,作为缓冲资源的磁盘容量最少为系统所存放文件中尺寸最大的文件的两倍。在数据输入过程中,建立文件目录表。文件目录表包括:名称,分类,性质,原始介质编号、作者,出版者等相关信息以及文件路径。在保证名称和文件路径这两个关键项目的前提下,其它项目可以进行增减。文件路径包括文件所在的节点机地址。当文件目录表建立之后,原点机将其分发到其它节点机上。文件目录表由原点机维护,增加、删除或移动文件必须通过原点机进行并在文件目录表中加以反映。文件目录表如有变动,原点机将对其它节点机的文件目录表进行刷新,以保证一致性。文件目录表在所有节点机上都存放在同一个路径下,即除了节点机地址外,路径名一样。
客户机上的服务器地址均设置为服务器的逻辑地址,当客户机向服务器发出要求服务的请求时,实际上是由地址映射到服务器逻辑地址的原点机接收到这一请求,原点机分析客户机请求后,根据文件目录表确定客户机请求的文件路径并据此确定文件所在的节点机网络地址,再根据节点机网络地址获得其资源状况。取决于该节点机当前可用资源的状况,原点机采取不同的动作:如果该节点机当前可用资源大于或等于满足客户机请求所需资源,原点机将该节点机网络地址发给客户机,通知客户机用这个地址与该节点机建立连接并获得服务。如果该节点机当前可用资源小于满足客户机请求所需资源,原点机在服务器系统可用资源表中查找当前可用资源最大的节点机网络地址,并比较该节点机的当前可用资源是否满足客户机请求所需资源,如果该节点机当前可用资源大于或等于满足客户机请求所需资源,原点机首先通知该节点机通过内部网络从文件所在节点机下载客户机请求的文件,然后将该节点机网络地址发给客户机,通知客户机用这个地址与该节点机建立连接并获得服务,对于如MPEG这类的流文件,节点机不必等待文件全都传输完成后才开始提供服务,可以一边接收文件,一边提供服务以便及时满足客户需要。当文件全部复制到该节点机后,原点机在文件同录表中增加新的纪录以反映这一变化,当再有客户机请求同一文件时,原点机在查找可用资源时,将有更多的选择余地。如果该节点机当前可用资源小于满足客户机请求所需资源,则由原点机通知客户机等待并按照查询间隔参数设置的值来定时查询服务器系统可用资源表,如果在一定时间后有某台节点机的当前可用资源大于或等于满足客户机请求所需资源,如该节点机已有客户机清求的文件,原点机将该节点机网络地址发给客户机,通知客户机用这个地址与该节点机建立连接并获得服务。否则,原点机首先通知该节点机通过内部网络从文件所在节点机下载客户机请求的文件,然后将该节点机网络地址发给客户机,通知客户机用这个地址与该节点机建立连接并获得服务。在服务结束后,客户机中断与节点机的连接重新恢复与原点机的连接。与此同时,节点机资源监测和维护进程释放被占用的资源,修改系统可用资源表并将其发给原点机,原点机据此刷新服务器系统可用资源表。对于磁盘缓冲资源,首先要保证在完成服务后必须有足够的空间可以存放系统中尺寸最大的文件,还要在尽量保存一些访问频率高的文件。因此,对磁盘缓冲资源中的文件,节点机资源监测和维护进程将根据对文件的访问次数/单位时间确定一个权数,文件的访问次数/单位时间越多,权数越大,然后按照小权数和先进先出的原则确定要删除的文件,即首先删除权数最小的文件,如果权数相等则删除在磁盘缓冲资源中存放时间最长的文件。
在系统配置时,原点机程序已经安装在各节点机上,但只有标定为原点机的节点机上的程序启动运行。原点机程序除了完成上述工作外,还通过内部网络按照查询间隔参数规定的时间间隔定时向每台节点机的资源监测和维护进程发出查询请求,节点机的资源监测和维护进程收到原点机的查询请求后,通过内部网络将本机系统可用资源表发给原点机,原点机更新在其上的服务器系统可用资源表,以避免分配不可用的资源。如果原点机在最大等待时间参数规定的时间内没有收到某一节点机的应答,在有后备内部网络的情况下,原点机启动后备内部网络尝试与该节点机建立连接,此时如能收到节点机的应答,原点机和节点机将用后备网络进行内部连接并在日志文件和错误输出设备上纪录网络错误信息。如果没有后备网络或有后备网络但通过后备网络仍然无法建立连接,原点机就认为该节点机已不能工作,在文件目录表和服务器系统可用资源表中将此节点机标为不可用并在日志文件和错误输出设备上纪录节点机失败错误信息。节点机的资源监测和维护进程如果在最大等待时间参数规定的时间内没有收到原点机的查询请求,在有后备内部网络的情况下,节点机启动后备内部网络尝试与原点机建立连接,此时如能收到原点机的应答,原点机和节点机将用后备网络进行内部连接并在日志文件和错误输出设备上纪录网络错误信息。如果没有后备网络或有后备网络但通过后备网络仍然无法建立连接,节点机尝试与其它节点机建立连接,如果不能接通,节点机在日志文件和错误输出设备上纪录本机网络错误信息。如果可以接通并且其它节点机还能收到原点机的查询请求,节点机在日志文件和错误输出设备上纪录本机连接原点机网络错误信息。如果可以接通其它节点机并且其它节点机电不能收到原点机的查询请求,节点机中优先级数字最小、优先级别最高的节点机将启动已安装好但在此之前尚未启动的原点机程序,将本机的网络地址映射到服务器逻辑地址,标定本机为原点机开展工作并在日志文件和错误输出设备上纪录原点机失败错误信息。通过这种方式,当某些部分发生故障时,仅仅只是使服务器可用资源减少,并不会使整个服务器停止工作。在发生故障后,由于节点机只通过网络互连,可以在不停止服务器工作的情况下,对出问题的部分排除故障,故障排除后该部分可以在服务器不停机的情况下重新加入工作。
该服务器实现方法的一个典型实例。
为一家有五百间客房的五星级酒店构建一个客房网络。该网络除了要有收发电子邮件、进行文字处理的功能外,还要向客人提供影视节目点播的服务。要求能提供三百部左右的VCD电影节目,满足住房率在100%的情况下全部客人同时点播的需要。要实现这一要求,服务器必须要有300GB以上的磁盘容量,800Mbps以上的传输速度。
在服务器机箱内安装11块使用Intel 440BX芯片组的主板,中央处理器为Intel公司的PentiumⅡ 450MHz CPU。每块主板的内存为128MB,配一块AGP显示卡,3块100Mbps的网卡。其中10块主板各配4块10GB带256KB高速缓存、采用Ultra DMA/66EIDE接口的硬盘,另一块主板配两块10GB带256KB高速缓存、采用Ultra DMA/66EIDE接口的硬盘,并目配一台DVD光盘驱动器,一台40GB的磁带机。采用两台有24个100Mbps口的快速以太网交换机作为网络交换设备,其中一台与每块主板上的一块网卡通过超5类双绞线连接,共用去11个口,还有13个口供与客房网连接用,该交换机的作用如附图1中网络交换设备1所示。另一台交换机与每块主板上的其它两块网卡连接,作为内部网络和后备网络用,该交换机的作用如附图1中网络交换设备2所示。服务器使用一台显示器、一个键盘和鼠标,通过分配器与每块主板的显示卡、键盘接口、鼠标接口连接。每块主板用一台300瓦的电源供电。按照上述配置,服务器由11台节点机构成,有480GB的硬盘容量,1.25GB的内存。
每台节点机安装Linux操作系统,操作系统及应用软件等包括交换区共占用500M硬盘空间。保留9GB作为磁盘缓冲资源,还有30GB空间可用于存放数据文件。网络协议采用TCP/IP。将有光盘驱动器和磁带机的那台节点机标定为原点机,按照前面所述设定其它节点机。通过光盘驱动器和磁带机装入节目,建立文件目录表。在客户机上装入客户机软件,系统即可运行。
这台服务器有300GB以上的可用空间,100Mbps的入站带宽,1100Mbps的出站带宽。当内部网络交换机和网卡均设为全双工方式时,可提供200Mbps的内部交换带宽,如把备用网络也投入使用,将可提供400Mbps的内部交换带宽。
当全部用户都在点播电影节目时,将需要500×1.4Mbps=700Mbps的出站带宽。每个用户的服务请求不会超过100Kbps,将需要500×100Kbps=50Mbps。服务器提供的网络带宽完全能满足需要。
除了分析网络带宽外,还必须分析磁盘的输入/输出能力。产生磁盘输入/输出能力瓶颈的极端情况发生在当全部用户都在点播同一部电影节目,点播时间各不相同但又集中在该节目的时间长度内,同时,该节目的文件尚未复制到其它主机时。在这种情况下,按前述任务调度方式,负荷首先集中在该节目文件所在的节点机上,该节点机的100M网卡从理论上可以支持100/1.4=71个用户。系统配置的硬盘最大传输速度为66MB/s,持续传输速度在20MB/s,而100Mbps/8=12.5MB,也就是说,在满足本机支持的网络传输速度下,硬盘还有7.5MB/s的能力,可以以1MB/s的速度通过内部网络将文件复制到其它七台节点机上,每台节点机又可以再支持71个用户,共可支持8×71=568个用户。实际上,复制文件到其它节点机的速度只要不小于1.4Mbps就可以满足要求,按7×1.5/8=1.3125MB计,硬盘只需要不到14MB/s的持续传输速度即可满足要求。即便每台节点机不能支持71个用户,这将使硬盘能分配更多的带宽资源用于复制文件到更多的节点机上,从而有更多的节点机提供服务,这证明磁盘的输入/输出能力是能够满足需要的。
国外进口的多媒体服务器在相同配置和性能指标的情况下,其价格不会低于50万美元,而本发明的多媒体服务器价格不会超过50万人民币。由于采用大量生产的经过考验的零部件,同时加上容错设计,其质量也不会比进口产品差。
本发明的第二种硬件实现方法,可以用图3及图4加以说明:
虚线框外的设备是普通电视机和音响设备,通过视频信号线、音频信号线和控制线与多媒体服务器连接,其中视频信号线与显示卡或MPEG解压缩卡的电视输出端口连接,音频信号线与声卡或MPEG解压缩卡的音频输出端口连接,控制线在电视机的一端连接一个红外线或者无线电接收装置,另一端与RS232串行口连接,用户可以用遥控器或无线鼠标等控制装置进行操作。虚线框内为构成多媒体服务器的网络,网络包含至少两台计算机和一台网络交换设备。在一般情况下,每台计算机有一块显示卡,一块声卡,一个RS232串行口和可以有也可以没有的MPEG解压缩卡,通过视频信号线、音频信号线和控制线与电视机、音响设备和控制装置连接。每台计算机还必须有一块网卡,作为服务器内部交换数据用,通过这一块网卡与网络交换设备构成多媒体服务器内部网络,在软件的控制下,使服务器内的多台计算机如同一个整体一样协同工作。
图示虚线框部分是为说明网络结构,实际上是要将这部分网络装入机箱,附图2用从虚线框指向多媒体服务器的大箭头示意了这一点。在实施中只需把计算机主板、外存设备如磁盘驱动器、光盘驱动器等以及电源、网络设备等装入定制的机箱,通过机械开关或电子开关,使多块主板共用一台显示器、一个键盘及鼠标,装入软件并根据所装入的操作系统和网络协议设置网络参数,运行将在下面描述的专用软件,即构成一台多媒体服务器。由于可以有多种主机板、外存设备、网络设备、网络连接方式和不同的操作系统、网络协议,它们相互之间又可以有多种组合,机箱内的设备如主板、磁盘驱动器、电源等既可以水平放置,也可以垂直放置,当然还可以左右放置,显示器、键盘及鼠标可以共用,也可以不共用,凡此种种,要一一列举既不可能也没有必要。因此,图示服务器只是示意性的,不表示实际应用的情况。本方法的硬件技术特征与第一种方法相同,此处不再重复。
下面给出实现服务器软件的第二种方法:
本方法的中心思想是服务器同时也是客户机。从服务器内的每台计算机(以下简称节点机)来看,其本身既是一台客户机,又是服务器的一部分。
为实际使用的操作系统上编写一个外壳(Shell)程序,通过该外壳程序可以调用指定的程序,同时,只有通过键盘输入密码后,才能退出该外壳程序,同到操作系统。
将节点机的硬盘分为系统部分、缓冲部分、数据文件部分等三个部分,其中系统部分放操作系统和应用程序,一般情况下,是只读并且不能被共享。缓冲部分可以读写但不能被共享。数据文件部分必须被共享,可以读出但必须在授权的情况下才能写入。
选定一台节点机为原点机。原点机的选择原则是:如果节点机配置不一样,选择配置最全的节点机,否则任选一台节点机。所有节点机硬盘数据文件部分原点机都可以看到并有其写入密码,因此可以通过原点机为服务器输入数据文件,如计算机程序、影视节目、电子书籍等一切可被计算机存储和处理并且构成文件形式的信息。这些文件将储存在各节点机的磁盘上,通过文件目录表统一管理。与第一种方法不同,原点机不存放数据文件,子承担管理任务,通过控制输入过程,在每台节点机上存放数量大致相等的文件。其存放过程可以按编号从低向高存放。即假定有n台节点机,先从编号为1号的节点机开始存放第一个文件,然后在2号节点机存放第二个文件,...,最后是在n号机存放第n个文件,而第n+1个文件又存放到1号节点机,如此循环下去。在存放过程中,当节点机硬盘的数据文件部分放满时,该节点机将不容许继续存放文件,原点机转向下一台节点机存放,一直到全部节点机都存放满为止。在数据输入过程中,建立文件目录表。文件目录表包括:名称,分类,性质,原始介质编号、作者,出版者等相关信息以及文件路径。在保证名称和文件路径这两个关键项目的前提下,其它项目可以进行增减。文件路径包括文件所在的节点机地址。当文件目录表建立之后,原点机将其分发到其它节点机上。文件目录表由原点机维护,增加、删除或移动文件必须通过原点机进行并在文件目录表中加以反映。文件目录表如有变动,原点机将对其它节点机的文件目录表进行刷新,以保证一致性。文件目录表在所有节点机上都存放在同一个路径下,即除了节点机地址外,路径名一样。
在工作时,客户通过外壳程序从文件目录表选定一个文件后,外壳程序首先通过文件路径确定该文件的位置,如果该文件不在本机上,则启动一个线程通过内部网络从文件所在节点机下载客户要求的文件到本机硬盘的缓冲部分,并且为此文件产生一个新的路径,再将此路径放入环境变量文件路径中。如果该文件在本机上,则直接将其路径放入环境变量文件路径中。外壳程序然后从该文件的类型判定其需要调用的程序,在调用该程序时将环境变量文件路径作为参数,从而将文件的实际路径传递给程序,满足客户的要求。对于如MPEG这类的流文件,节点机不必等待文件全部传输完成后才开始提供服务,可以一边接收文件,一边提供服务以便及时满足客户需要。当文件全部复制到该节点机后,节点机通知原点机在文件目录表中增加新的纪录以反映这一变化,原点机再据此对所有节点机的文件目录表进行刷新。对于硬盘缓冲部分,首先要保证在完成服务后必须有足够的空间可以存放系统中尺寸最大的文件,还要在尽量保存一些访问频率高的文件。因此,对磁盘缓冲部分的文件,节点机外壳程序将根据对文件的访问次数/单位时间确定一个权数,文件的访问次数/单位时间越多,权数越大,然后按照小权数和先进先出的原则确定要删除的文件,即首先删除权数最小的文件,如果权数相等则删除在磁盘缓冲部分中存放时间最长的文件。
原点机程序除了完成上述工作外,还通过内部网络按照查询间隔参数规定的时间间隔定时向每台节点机的外壳程序发出查询请求,节点机的外壳程序收到原点机的查询请求后,通过内部网络应答原点机。如果原点机在最大等待时间参数规定的时间内没有收到某一节点机的应答,在有后备内部网络的情况下,原点机启动后备内部网络尝试与该节点机建立连接,此时如能收到节点机的应答,原点机和节点机将用后备网络进行内部连接并在日志文件和错误输出设备上纪录网络错误信息。如果没有后备网络或有后备网络但通过后备网络仍然无法建立连接,原点机就认为该节点机已不能工作,在文件目录表将此节点机标为不可用,同时据此对所有节点机的文件目录表进行刷新并在日志文件和错误输出设备上纪录节点机失败错误信息。通过这种方式,当某些部分发生故障时,仅仅只是使服务器可用资源减少,并不会使整个服务器停止工作。在发生故障后,由于节点机只通过网络互连,可以在不停止服务器工作的情况下,对出问题的部分排除故障,故障排除后该部分可以在服务器不停机的情况下重新加入工作。
服务器第二种实现方法的一个典型实例。
为一家有十个KTV包房的夜总会设计一个播放系统,要求能同时播放DVD和VCD质量的MTV节目各两千首,不变动已有设备并且今后可以根据业务发展情况增扩设备。根据这些要求,实现服务器如下:
在服务器机箱内安装11块使用Intel 430TX芯片组的主板,中央处理器为Intel公司的Pentium 200MMX CPU。每块主板的内存为32MB,配一块PCI显示卡,一块10Mbps的网卡。其中10块主板各配4块10GB带256KB高速缓存、采用Ultra DMA/33EIDE接口的硬盘,一块PCI声卡,一块可对MPEGI和MPEGⅡ解压缩的解压缩卡,另一块主板配一块4GB IDE接口的硬盘,并且配一台DVD光盘驱动器。采用一台有12个10Mbps口的以太网交换机作为内部网络用,该交换机的作用如附图2中网络交换设备所示。服务器使用一台显示器、一个键盘和鼠标,通过分配器与每块主板的显示卡、键盘接口、鼠标接口连接。包房的电视机通过视频信号线与解压缩卡连接,卡拉OK功率放大器通过音频信号线与声卡连接,遥控器接收装置通过信号线连接至对应主板上的RS232口上。每块主板用一台300瓦的电源供电。按照上述配置,服务器由11台节点机构成,有404GB的硬盘容量,350MB的内存。以配4GB硬盘和DVD驱动器的节点机作为原点机。
所有节点机都采用Windows98作为操作系统,除原点机外,节点机的硬盘划分如下:系统部分1GB,缓冲部分3GB,数据文件部分36GB。整个服务器共有360GB的文件存储空间,可以满足存放DVD和VCD质量的MTV节目各两千首以上的要求,如只存放VCD质量的MTV节目,将可以存放10000首以上。同时每台客户机均配有解压缩卡,可以播放DVD和VCD节目。包房内基本不需要增加设备,并且可以按要求随时扩充。该方案的投资不超过人民币25万元。
总之,这两种方法可以构建针对不同对象、不同用途的多媒体服务器系统,也可以将二者组合起来,满足不同情况的需要。
本发明与现有技术相比较,通过直接采用若干台计算机的组合设置来实现其功能上具有存储容量大、传输速度高、容错能力强、规模可伸缩的优点,克服了人们习惯认为大容量存储空间的计算机,必须要大存储量的硬件设施所形成的计算机服务网络来实现的误区。本发明以低于国外同类产品1/5的造价实现了其应具备的所有服务功能,使微网计算机多媒体服务器能够以合理的成本进入广大的社区、企业、酒店等领域和场所,为社会提供更加丰富多彩的服务。