一种用于传输映像流的方法和系统的制作方法

文档序号:7916918阅读:176来源:国知局

专利名称::一种用于传输映像流的方法和系统的制作方法
技术领域
:本发明涉及映像流技术,更具体地涉及一种用于传输映像流的方法和系统。
背景技术
:映像流是新近兴起的一种数据传输技术,其可以广泛应用于各种领域。特别地,在网络环境中,可以将映像流技术应用于启动操作系统。在用于启动操作系统的应用中,系统映像,即操作系统的映像,存储在映像存储服务器中。当要启动本地机器时,该机器会向映像存储服务器发出对于系统映像的请求,然后以流的形式将该系统映像从映像存储服务器传输到本地机器。在完成下载后,本地机器就可以使用该系统映像来启动操作系统。在实践上已经证明利用映像流技术来启动操作系统能够得到若干优势。首先,本地机器并无需存储系统映像,这节省了存储器资源和系统成本,并且还可以用于实现无盘启动。其次,可以在映像存储服务器实现对于所有本地机器的集中控制和管理,这促进了管理效率的提高。例如,可以控制系统映像的版本,使得所有本地机器能够使用最新的系统映像来启动,而不会出现版本不一致的情况。然而,映像流技术的应用,也存在一些缺点。映像流传输效率就是其中的重要问题之一。在例如启动操作系统的应用中,映像流的传输是通过逐块地从头到尾传输映像流来执行的,启动系统的操作必须等到映像流传输过程结束以后才可以开始。然而,对于目前的操作系统,诸如Windows或者Linux,其大小可能有数百兆,在普通网络环境(诸如在Tl或者10M环境中)中,映像流的传输将持续若干分钟,而在此映像流传输过程中,系统启动进程不得不挂起以便等待映像流传输完成。这个等待时间引起了用户的不便。为此,一种一皮称作虚拟映^f象流传输器(VIS,VirtualImageStreamer)的装置问世了。图1示出了现有技术中利用VIS技术进行操作系统启动的过程的一个例子。在图1所示的过程中,操作系统映像(如XEN虚拟机模板)101存储在映像存储服务器100中,该映像被分割成若干块。在开始映像流的传输的同时,开始创建该影子文件114。影子文件114是操作系统的虚拟映像,下载的映像将填充在该影子文件中。创建影子文件是为了使本地机器110相信在本地已经存在完整的系统映像,尽管事实上才刚刚开始下载。在本地机器110发现影子文件114后,它就认为已经存在系统映像,于是它就开始引导操作系统的过程,这样就可以不必等到完成系统映像的传输后才开始引导系统。在开始引导操作系统(如XEN虚拟机实例)lll后,从本地机器110的文件系统115(在该例子中,本地机器110包括有存储设备)中读取引导系统所需的文件。文件访问管理器(FAM,FileAccessManager)113能够截获本地机器110的I/O访问中断。当没有在文件系统115中找到引导所需的文件时,FAM113向VIS112发出请求。VIS112接收到FAM113的请求后,在影子文件114中进行搜索,在搜索到请求的文件时,则将所需的文件从影子文件114即时地复制到文件系统115。因此,使得本地机器110能够继续系统的引导过程。如果VIS112在影子文件114中没有发现FAM113请求的文件,即所请求的文件尚未被下载,则VIS112会在请求的文件已经从映像存储服务器100被下载后将其复制到文件系统115。因此,在经过短时等待之后,本地机器110可以继续进行系统的引导过程。表1和表2分别示出了利用传统映像流技术启动操作系统的情况和将VIS技术与映像流结合来启动操作系统的情况。表l利用传统映像流技术启动操作系统的情况<table>tableseeoriginaldocumentpage5</column></row><table>下载量2G00表2将VIS技术与映像流结合来启动操作系统的情况VIS创建影子文件引导虚拟机启动网络应用服务总计等待时间Is38s52s91s下载量1M400M260M从表1和表2可以明显看出,与传统技术相比,利用VIS技术启动操作系统使得系统启动时间得到显著降低。这是因为利用VIS技术的映像流传输过程中,在完成影子创建后就可以开始引导虚拟机,而无需等到完成所有映像的下载后才开始操作系统的启动,因此操作系统的启动过程几乎是与映像流的下载同时进行的。然而,VIS技术仍然存在一些缺点。VIS技术与传统映像流技术一样,无法进行客户定制。通常,不同的机器具有不同的环境,操作系统中的有些部分对于一些机器是必须的,而对于其他机器可能根本不需要。但是,在目前的映像流技术中,所有的本地机器都下载相同的系统映像,而不能根据不同机器的不同需求进行定制。如图1所示,虚拟机实例101中,仅仅阴影指示的部分是系统必需的。另外,虽然VIS技术在很大程度上减低了下载时间,但是事实上,由于这种映像流是以无序的方式进行传输的,所以在启动操作系统的过程中仍常会出现需要等待所需文件的情况。因此,在利用VIS技术的情况下,下载时间还是比较长,依然存在流传输效率低下的问题。因此,在现有技术中存在对于改进的映像流传输方式的需求。
发明内容为此,本发明的目的是提供一种用于传输映像流的方法和系统,其能够实现客户定制,满足不同本地机器对于映像的不同需求。根据本发明的第一方面,提供了一种用于传输映像流的方法,其中映像存储在映像存储服务器中,并被分割成多个块,所述方法包括生成描述所述映像中各个块的映像描述信息;基于本地机器的环境,由所述映像描述信息生成描述针对本地机器定制的映像流传输方案的访问配置;以及基于所述访问配置从所述映像存储服务器传输映像流。在根据本发明第一方面的一个实施例中,所述访问配置指示所述本地机器所需的块。在根据本发明第一方面的另一实施例中,所述访问配置指示传输块的顺序。在根据本发明第一方面的另一实施例中,所述方法进一步包括将所述访问配置提供至其他具有类似环境的机器,以便在从所述映像存储服务器传输映像流时使用。在根据本发明第一方面的另一实施例中,所述访问配置在本地才几器处生成,而在^4居本发明第一方面的又一实施例中,所述访问配置在所述映像存储服务器处生成。在根据本发明第一方面的另一实施例中,其中所述映像是操作系统映像、软件应用映像和数据映像其中的一种或多种。根据本发明的第二方面,提供了一种用于传输映像流的系统,其中映像存储在映像存储服务器中,并被分割成多个块,所述系统包括映像描述信息生成装置,用于生成描述所述映像中各个块的映像描述信息;访问配置生成装置,用于基于本地机器的环境,由所述映像描述信息生成描述针对本地机器定制的映像流传输方案的访问配置;以及映像流传输装置,用于基于所述访问配置从所述映像存储服务器传输映像流。在根据本发明第二方面的一个实施例中,其中所述访问配置指示所述本地机器所需的块。在根据本发明第二方面的另一实施例中,其中所述访问配置指示传输块的顺序。在根据本发明第二方面的另一实施例中,所述系统进一步包括访问配置提供装置,用于将所述访问配置提供至其他具有类似环境的机器,以便在从所述映像存储服务器传输映像流时使用。在根据本发明第一方面的另一实施例中,所述访问配置在本地机器处生成,而在根据本发明第一方面的又一实施例中,所述访问配置在所述映像存储服务器处生成。在根据本发明第一方面的另一实施例中,其中所述映像是操作系统映像、软件应用映像和数据映像其中的一种或多种。由于基于本地机器的环境,由描述映像中各个块的映像描述信息生成了描述针对本地机器定制的映像流传输方案的访问配置,所以在进行映像流的传输时,就可以利用该访问配置,基于对本机的定制进行流映像的传输,从而实现了对于本地机器的定制。而且,通过在访问配置中指定本地机器所需的块和/或下载块的顺序,使得流传输的效率得到显著提高,为用户带来了很好的体验。此外,可以将访问配置提供到其他具有类似环境的机器,以供其他机器在从映像存储服务器下载映像流时使用。通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的标号表示相同或相似的部件。在附图中,图1示意性地示出了现有技术中利用VIS启动操作系统的过程的一个例子;图2示意性地示出了根据本发明一个实施例的用于传输映像流的方法的流程图3示出了根据本发明的一个实施例的生成访问配置的示意性图示;图4示意性示出了使用本发明的用于传输映像流的方法来启动操作系统的应用的一个实例图5示意性示出了与图4所示应用对应的传输系统映像流的过程的实例;图6示意性示出了根据本发明一个实施例的用于传输映像流的系统;图7示意性示出了根据本发明另一实施例的用于传输映像流的系统;以及图8示意性示出了适于实施本发明的计算机系统的结构方框图。具体实施例方式在下文中,将参考附图通过实施例对本发明提供的用于传输映<象流的方法和系统4亍详细的描述。首先,将参考图2-图3来描述根据本发明的用于传输映像流的方法。图2示意性地示出了根据本发明一个实施例的用于传输映像流的方法的流程图。首先,在步骤201,生成描述映像中各个块的映像描述信息。与参考图1描述的现有技术的传输映像流类似,映像存储在映像存储服务器中,并且被分成若干块。文件的分割的大小可以依赖于经验值,也可以采取更为复杂的策略或者算法,根据实际应用将映像分割成若干块,这种分割在现有技术中是已知的。在映像存储服务器中,存储有与映像的分割相关的信息。可以在映像存储服务器,根据与映像分割相关的信息,生成描述映像中的各个块的内容和/或用途的映像描述信息。此外,还可以在映像存储服务器,根据各个块所包含的内容生成描述映像中的各个块的内容和/或用途的映像描述信息。接着,在步骤202,基于本地机器的环境,由映像描述信息生成描述针对本地机器定制的映像流传输方案的访问配置。在该访问配置中,可以指示适合本地机器的传输内容和/或传输方式。在一个实施例中,该访问配置指示了所述本地机器所需的块。在另一实施例中,该访问配置指示了传输块的顺序。在更加优选的实施例中,该访问配置可以指示所述本地机器所需的块以及传输这些块的顺序。在一个实施例中,可以在本地机器经由网络或者借助于非易失性存储介质获取在步骤201生成的映像描述信息。然后,基于本地机器的环境,借助于映像描述信息对于各个功能块的描述,对本地机器进行定制,即对映像描述信息中的各个功能块进行选择和/或指定其传输顺序,以便生成适合本地机器的访问配置。在另一个实施例中,本地机器可以将自己的环境要求信息传送到映像存储服务器。然后,在映像存储服务器基于本地机器的环境需求生成适合于本地机器的访问配置。在又一实施例中,管理员对于本地机器的需求非常了解,因此可以直接在映像存储服务器中基于本地机器的需求生成适合于本地机器的访问配置,而无需本地机器将需求信息发送到映像存储服务器。生成的访问配置可以存储在本地机器中,这样可以节约映像存储服务器的存储资源,并且可以方便本地机器的用户基于本地环境对本地才几器进行定制和修改。此外,也可以将与各个本地机器对应的访问配置存储在映像存储服务器中,这样可以方便集中管理。参考图3,图3示出了根据本发明的一个实施例的生成访问配置的示意性图示。从图3中可以非常清楚地理解本发明的生成访问配置的过程。其中上述生成映像描述信息的步骤201与从映像301指向映像描述信息302的箭头304所表示的步骤对应。上述生成访问配置的步骤202与从映像描述信息302指向访问配置303的箭头305所表示的步骤对应。继续参考图2,在步骤203,基于访问配置从映像存储服务器传输映4象流。在一个实例中,访问配置存储在本地机器中,在本地机器请求进行映像流的传输时,将该访问配置传输至映像存储服务器。映像存储服务器基于请求中包括的访问配置,来进行映像流流传输。映像存储服务器中,在本地机器请求进行映像流的传输时,映像存储服务器根据本地机器的标识,检索相应的访问配置,然后利用检索到的访问配置进行映像流的传输。在一个实施例中,映像存储服务器基于访问配置,仅仅传输该访问配置中指示的块。为了满足各种用户的需求,存储在映像存储服务器中的映像通常是包括所有功能的映像。通过利用配置文件信息仅仅指示出本地机器所需的块,可以更加有效地传输映像流。应当说明的是,在访问配置中,也可以指示本地机器不需要的块,在这种情况下,将不会下载访问配置中指示的块。在另一实施例中,映像存储服务器基于访问配置,按照该访问配置中指示的块的传输顺序进行映像流的传输。在现有技术中,映像流的下载是无序的,因此在诸如启动操作系统的应用中,系统的启动依赖于映像流的下载。如果启动所需的映像尚未下载,则启动过程就需要等待。而根据本发明的方法,可以利用访问配置来指定块的下载顺序,该顺序可以与块的使用顺序一致。因此,可以进一步提高映像流传输的效率。在又一实施例中,映像存储服务器基于访问配置,按照该访问配置中指示的块的传输顺序仅仅传输映该访问配置中指示的块。由于结合了上述两种方式,因此该实施例中的映像流的传输的效率将会更高。另外,优选地,在步骤204,进一步将访问配置提供至其他具有类似环境的机器,以便在从所述映像存储服务器传输映像流时使用。在整个网络系统中,通常存在许多环境相似的机器,因此他们的访问配置也大致相同。通过将生成的访问配置提供到其他具有类似环境的机器,就可以显著节约成本、提高效率。需要说明的是,尽管在该实施例中,提供访问配置至其他具有类似环境的机器的优选步骤跟在基于访问配置进行传输的步骤之后,但是本领域技术人员应该理解,在生成访问配置之后的任何适当时刻,均可执行该提供访问配置的步骤,例如在步骤202之后。从以上参考图2和图3对本发明的用于传输映像流的方法的描述可以看出,由于基于本地机器的环境,由描述映像中各个块的映像描述信息生成了适合本地机器的访问配置,所以在进行映像流的传输时,就可以利用该访问配置,基于对本机的定制进行流映像的传输,从而实现了对于本地机器的定制。而且,可以在访问配置中指定本地机器所需的块和/或下载块的顺序,进一步使得流传输的效率得到显著提高,为客户带来更好的体验。此外,还可以将访问配置提供到其他具有类似环境的机器,以供其他机器在从映像存储服务器下载映像流时使用。下面将结合图4和图5来描述根据本发明的具体应用的例子。图4示出了使用本发明的流传输的方法来启动操作系统的应用的一个实例。图4中的映像存储服务器400、虚拟机模板401、本地才几器410、虚拟机实例411、VIS412、FAM413、影子文件414以及文件系统415分别与图1的映像存储服务器100、虚拟机模板101、本地机器IIO、虚拟机实例111、VIS112、FAM113、影子文件114以及文件系统115对应。图4中的访问配置403与图3中的访问配置303对应。图5示出了与图4所示应用对应的系统映像流传输的过程的例子。如图5所示,映像存储服务器在步骤501根据操作系统映像的分割,生成映像描述信息。然后在步骤502将映像描述信息传送到本地机器。本地机器在步骤503根据本地机器的环境由映像描述信息生成访问配置。在启动操作系统时,本地机器在步骤504将访问配置传送到映像存储服务器。并且,与此同时本地机器在步骤505开始影子文件的建立以及操作系统的启动。映像存储服务器接收到本地机器发送的访问配置后,在步骤506根据访问配置按照指定顺序传送本地机器所需的块。从上述的描述可以看出,与图1示出的现有技术中相,利用本发明的方法,可以根据本地机器的需求进行客户定制,并且显著提高了映像流传输的效率,降低了系统启动的时间,给用户带来了更好的体验。需要说明的是,虽然在图4和图5中描述了用于传输操作系统映像的应用,但是本发明并不仅限于此。正如本领域技术人员根据上述描述可以想到的,本发明的方法还可以应用于诸如传输软件应用映像、数据映像等其他映像。另外,需要说明的是,虽然在图4和图5中描述了本发明在有盘系统中的应用,但是本发明并不仅限于此。正如本领域技术人员根据上述描述可以想到的,本发明还可以应用于无盘系统中,这同样具有优势。下面将参考图6和图7来描述根据本发明的用于传输映像流的系统的实施例。图6示出了根据本发明一个实施例的用于传输映像流的系统。如图6所示,用于传输映像流的系统600包括映像描述信息生成装置601,用于生成描述所述映像中各个块的映像描述信息;访问配置生成装置602,用于基于本地机器的环境,由所述映像描述信息生成描述针对本地机器定制的映像流传输方案的访问配置;映像流传输装置603,用于基于所述访问配置从所述映像存储服务器传输映像流。此外,图7还示出了根据本发明另一实施例的用于传输映像流的系统。如图7所示,用于传输映像流的系统700包括映像描述信息生成装置701,其对应于图6中的映像描述信息生成装置601;访问配置生成装置702,其对应于图6中的访问配置生成装置602;映像流传输装置703,其对应于图6中的映像流传输装置603。另外,图7中示出的系统700还包括访问配置提供装置704,用于将所述访问配置提供至其他具有类似环境的机器,以便在从所述映像存储服务器传输映像流时使用。在本发明的一个实施例中,所述访问配置指示所述本地机器所需的块。在本发明的又一实施例中,所述访问配置指示传输块的顺序。在更加优选的实施例中,所述访问配置指示所述本地机器所需的块以及传输块的顺序。在本发明的一个实施例中,所述访问配置生成装置用于在所述本地机器处生成访问配置。在本发明的另一实施例中,所述访问配置生成装置用于在所述映像存储服务器处生成访问配置。在本发明的一个实施例中,所述映像是操作系统映像。在本发明的另一实施例中,所述映像是软件应用映像。在本发明的又一实施例中,所述映像是数据映像。在本发明的再一实施例中,所述映像是操作系统映像、软件应用映像和数据映像的任意组合。关于图6和图7所示实施例中的用于传输映像流的系统600和700的各个部件的具体操作,可以分别参考与图2的步骤201、步骤202、步骤203以及步骤204相关的描述。从以上描述可以看出,访问配置生成装置602、702基于本地机器的环境,由映像描述信息生成装置601、701生成的映像描述信息生成了描述针对本地机器定制的映像流传输方案的访问配置,所以在进行映像流的传输时,映像流传输装置603、703就可以利用该访问配置,基于对本机的定制进行流映像的传输,从而实现了对于本地机器的定制。而且,访问配置可以指定本地机器所需的块和/或下载块的顺序,这使得流传输的效率得到显著提高,为客户带来更好的体验。此外,访问配置提供装置704还可以将访问配置提供到其他具有类似环境的机器,以供其他机器在从映像存储服务器下载映像流时使用。图8示意性地示出了可以实现根据本发明的实施例的计算设备的结构方框图。图8中所示的计算设备包括CPU(中央处理单元)801、RAM(随机存取存储器)802、ROM(只读存储器)803、系统总线804,硬盘控制器805、键盘控制器806、串行接口控制器807、并行接口控制器808、显示器控制器809、硬盘810、键盘811、串行外部设备812、并行外部设备813和显示器814。在这些部件中,与系统总线804相连的有CPU801、RAM802、ROM803、硬盘控制器805、键盘控制器806、串行接口控制器807、并行接口控制器808和显示器控制器809。硬盘810与硬盘控制器805相连,键盘811与键盘控制器806相连,串行外部设备812与串行接口控制器807相连,并行外部设备813与并行接口控制器808相连,并且显示器814与显示器控制器809相连。此外,本发明的实施例可以以软件、硬件、或软件和石更件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器、或专用设计硬件来执行。虽然已经参考目前考虑到的实施例描述了本发明,但是应该理解本发明不限于所公开的实施例。相反,本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。以下权利要求的范围符合最广泛解释,以便包含所有这样的修改及等同结构和功能。权利要求1.一种用于传输映像流的方法,其中映像存储在映像存储服务器中,并被分割成多个块,所述方法包括生成描述所述映像中各个块的映像描述信息;基于本地机器的环境,由所述映像描述信息生成描述针对本地机器定制的映像流传输方案的访问配置;以及基于所述访问配置从所述映像存储服务器传输映像流。2.根据权利要求1所述的方法,其中所述访问配置指示所述本地机器所需的块。3.根据权利要求1或2所述的方法,其中所述访问配置指示传输块的顺序。4.根据权利要求l-3任一项所述的方法,进一步包括将所述访问配置提供至其他具有类似环境的机器,以便在从所述映像存储服务器传输映像流时使用。5.根据权利要求1-4任一项所述的方法,其中所述访问配置在本地机器或者所述映像存储服务器处生成。6.根据权利要求l-4任一项所述的方法,其中所述映像是操作系统映像、软件应用映像和数据映像其中的一种或多种。7.—种用于传输映像流的系统,其中映像存储在映像存储服务器中,并被分割成多个块,所述系统包括映像描述信息生成装置,用于生成描述所述映像中各个块的映像描述信息;访问配置生成装置,用于基于本地机器的环境,由所述映像描述信息生成描述针对本地机器定制的映像流传输方案的访问配置;以及映像流传输装置,用于基于所述访问配置从所述映像存储服务器传输映像流。8.根据权利要求7所述的系统,其中所述访问配置指示所述本地机器所需的块。9.根据权利要求7或8所述的系统,其中所述访问配置指示传输块的顺序。10.根据权利要求7-9任一项所述的系统,进一步包括访问配置提供装置,用于将所述访问配置提供至其他具有类似环境的机器,以便在从所述映像存储服务器传输映像流时使用。11.根据权利要求7-IO任一项所述的系统,其中所述访问配置生成装置用于在所述本地机器或者所述映像存储服务器处生成访问配置。12.根据权利要求7-10任一项所述的系统,其中所述映像是操作系统映像、软件应用映像和数据映像其中的一种或多种。全文摘要本发明提供了一种用于传输映像流的方法和系统,其中映像存储在映像存储服务器中,并被分割成多个块。所述方法包括生成描述所述映像中各个块的映像描述信息;基于本地机器的环境,由所述映像描述信息生成描述针对本地机器定制的映像流传输方案的访问配置;以及基于所述访问配置从所述映像存储服务器传输映像流。所述访问配置指示所述本地机器所需的块和/或传输块的顺序。此外,还可以将生成的访问配置提供到其他具有类似环境的本地机器以供其在传输流时使用。根据本发明,可以基于本地机器的环境进行流映像的传输,因此实现了客户定制,提高了流传输的效率,并为用户带来了更好的体验。文档编号H04L29/08GK101616172SQ20081013192公开日2009年12月30日申请日期2008年6月27日优先权日2008年6月27日发明者乐何,茹房,王庆波,阳赵,邹志乐,涬金,滢陈申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1