容错数据存储访问单元、容错数据存储访问系统和访问数据存储的方法与流程

文档序号:17949278发布日期:2019-06-18 23:54阅读:230来源:国知局
容错数据存储访问单元、容错数据存储访问系统和访问数据存储的方法与流程

本公开的实施例一般涉及具有实时能力的容错数据存储访问单元和具有实时能力的容错数据存储访问系统。此外,本公开的实施例一般还涉及用于以容错方式访问数据存储的方法。



背景技术:

在现有技术中,用于访问数据(例如视频和/或音频数据)的系统是已知的,其包括冗余的数据存储单元,以便确保在访问期间的数据故障可以被适当地补偿。典型地,现有技术的系统使用的数据存储单元包括独立磁盘系统(raid系统)的冗余阵列,其中要访问的数据被镜像在至少两个单独形成的磁盘(raid1)上。

在数据访问出现问题的情况下,系统执行从raid系统的第一存储单元到第二存储单元的故障转移处理,以便确保系统可以适当地访问所需的数据。然而,由于在故障转移处理之前必须等待相应数据存储单元的响应的这一事实,因此发生数据流(数据访问)的延迟。事实上,现有技术的系统在发生差错的情况下中断数据访问,并向特别是通过提供读请求或写请求的请求访问数据的应用发送反馈。

因此,现有技术中已知的系统不能够确保在出现差错的情况下数据访问不中断,即非阻塞数据访问。



技术实现要素:

因此,需要一种以简单且有成本效益的方式提供具有实时能力的数据访问的可能方案。

本公开的实施例提供了一种具有实时能力的容错数据存储访问单元,所述单元包括至少两个数据卷和处理来自应用的文件操作请求的文件请求处理器,所述文件请求处理器被配置为将所述文件操作请求乘以至少两倍并且将所述倍增的文件操作请求转发到所述至少两个数据卷,以确保对所述倍增的文件操作请求的同时且独立的处理。

此外,本公开的实施例提供了一种通过使用容错数据存储访问系统以容错方式访问数据存储的方法,具有以下步骤:

-经由应用来请求文件操作;

-经由文件请求处理器来处理所述文件操作;

-将所述文件操作请求乘以至少两倍;

-将所述倍增(multiplied)的文件操作请求转发到至少两个数据卷;以及

-同时并且彼此独立地处理所述倍增的文件操作请求。

因此,本公开的实施例确保同时请求至少两个数据卷。由文件请求处理器处理的应用的单个文件操作请求至少由文件请求处理器复制并转发到两个数据卷。这确保了期望的数据从两个数据卷基本上同时传输到文件请求处理器,其等待由应用请求的数据。文件请求处理器将数据转发到应用,以便应用可以访问所请求的数据。

文件请求处理器确保了即使数据可能被转发到文件请求处理器至少两次,所请求的数据也仅被转发到应用一次。这确保了提供连续数据流。

由于文件请求处理器将文件操作请求同时转发到至少两个数据卷,因此在发生差错的情况下不发生数据流的延迟,使得实时能力被确保,这意味着发生中断小于一秒,特别是根本不发生中断。实际上,当数据流本身没有中断时,中断仅取决于所使用的硬件,这是因为经由文件请求处理器而被转发到数据卷的倍增的文件操作请求被同时处理。

文件操作请求可以是所谓的输入/输出请求(i/o请求)。

根据方面,所述文件操作请求是读请求或写请求。因此,由应用发出并由文件请求处理器处理的文件操作请求可以对应于数据访问,以便读取存储在至少两个数据卷中的数据或访问数据卷以便写入数据。

通常,数据可以是所有类型的数据,特别是音频数据和/或视频数据。

另一方面提供了所述文件请求处理器被配置为将所述至少两个数据卷中的一个的第一成功响应返回给所述应用。这确保了实时提供连续数据流,因为转发到文件请求处理器的数据在由文件请求处理器接收之后被立即转发到应用。因此,访问数据时不发生延迟。

根据实施例,所述文件请求处理器被配置为在读请求的情况下丢弃稍后到达的至少一个响应。这意味着文件请求处理器确保来自至少两个数据卷的数据仅被转发到应用一次,从而确保连续数据流。因此,相同的数据不被转发到应用两次或更多次,因为稍后到达的响应被丢弃。换句话说,文件请求处理器确保稍后到达的响应被忽略以免进一步处理。

此外,所述文件请求处理器可以被配置为在写请求的情况下分析稍后到达的至少一个响应,以便验证所关联的写操作是否成功。文件请求处理器确保对所有数据卷已成功执行写操作,以便确保由至少两个分离的数据卷提供的数据彼此对应。

另一方面提供了至少一个差错处理构件,其被配置为在文件操作请求不成功的情况下输出差错消息。不成功的文件操作请求可以是由至少两个数据卷中的一个未成功执行的读请求。该差错消息用于解决与不成功的文件操作请求相关的问题。通常,第一到达的成功响应被转发到应用,以便确保连续数据流。因此,当连续数据流仍然可用时,差错消息不被发送到应用本身。在现有技术中,差错消息被转发到必须发送反馈的应用,其进而导致数据处理的延迟或者更确切地说是数据访问的延迟。这样的消息被当前单元掩盖。

差错消息可以被转发到中央管理单元,该中央管理单元被连接到容错数据存储访问单元。中央管理单元可以被连接到容错数据存储访问系统的若干容错数据存储访问单元。

差错处理构件可以与网络通信接口连接,以用于发送差错消息。

根据实施例,所述文件请求处理器包括所述至少一个差错处理构件。差错处理构件被集成在文件请求处理器中,该文件请求处理器分析由至少两个数据卷提供的数据。因此,同一实例分析数据并在差错发生的情况下报告差错。

此外,可以提供数据处理构件,其被配置为操纵所处理的数据,特别是纠正数据和/或转换数据。例如,数据可以在数据处理构件内被纠正和/或转换,这分别取决于由文件请求处理器完成的分析步骤和应用的文件操作请求。

因此,数据处理构件可以对应于质量控制实例,这是因为在识别出差错的情况下可以纠正所提供的数据。

此外,取决于来自应用的文件操作请求和数据的格式,数据可以在不同格式之间被转换或者更确切地说被转码。例如,以mp4格式提供的数据可以被转换为jpeg2000格式,或者4k视频格式被转换为两个不同的较低分辨率代理以用于进一步处理。

另一方面提供了一种虚拟化层,所述虚拟化层包括所述文件请求处理器和所述至少一个差错处理构件中的至少一个。因此,容错数据存储访问单元可以由作为虚拟文件系统(vfs)的一部分的单元提供。当将应用的文件操作请求倍增为适当地访问数据的多个实际文件操作时,文件请求处理器虚拟地处理由应用提供的文件操作请求。

特别地,容错数据存储访问单元由所述虚拟化层建立。因此,数据卷本身可以是虚拟数据卷,即所安装的数据卷。因此,数据可以位于经由分配给数据卷的(虚拟)安装件访问的远程数据存储设备上。

通常,物理数据存储设备(例如硬盘)的物理扇区级不由容错数据存储访问单元镜像,而是由所使用的文件系统及其应用的固有结构镜像。在视频数据流的情况下,视频的单个帧被请求和传送,而不是物理文件系统(诸如fat、ext4或类似系统)本身的扇区。

所述至少两个数据卷中的至少一个是数据宿或数据源。如上所述,文件操作请求可以是读请求或写请求。根据文件操作请求的类型,数据卷用作数据宿或数据源。

所述文件请求处理器可以被配置为同时处理至少两个文件操作请求,特别是写请求和读请求。例如,文件请求处理器被配置为同时处理两个或更多个写请求或者两个或更多个读请求。此外,可以同时处理读请求和写请求。因此,一般来说,数据交换被改善。例如,两个或更多个应用可以同时访问由数据卷提供的数据,其中这些应用可以访问数据以用于写入和/或读取。

此外,本公开的实施例提供了一种容错数据存储访问系统,其包括如上所述的若干容错数据存储访问单元。通过使用若干单元来实现数据访问的可缩放性。

此外,可以提供至少一个中央管理单元,其与所述若干容错数据存储访问单元连接。特别地,所述中央管理单元与每个容错数据存储访问单元的文件请求处理器连接。因此,若干单元的分析和/或差错消息的输出可以与中央管理单元交换以用于管理整个系统,例如由数据卷提供的数据。

中央管理单元可以被配置为在差错消息指示不成功的文件操作请求的情况下使数据(重新)同步。

该系统可以包括至少两个物理数据存储设备,其被分配给所述至少两个数据卷。如上所述,数据卷可以是被远程定位的物理数据存储设备的所安装的卷。至少两个物理数据存储设备可以由raid1系统建立。

通常,数据卷可以对应于所安装的驱动(安装点)、网络共享、网络驱动、网络访问系统或能够访问数据的任何其他合适的系统。

此外,数据卷确保数据可以被每个应用访问,特别是第三方通过标准文件输入/输出连接来访问。

特别地,所述至少两个数据存储设备经由至少一个连接构件而彼此互连,以便确保所述至少两个数据存储设备之间的数据交换。所述至少一个连接构件可以是互联网协议电缆(ip电缆)或光纤信道。因此,确保了两个数据存储设备可以相对于彼此远程定位。此外,因为对专有解决方案没有限制,这允许使用所有类型的工业标准解决方案。

容错数据存储访问系统相对于所使用的单元和设备是独立的,使得可以使用不同的文件系统,而不仅仅是专有的文件系统。

根据方面,所述至少两个数据卷中的一个的第一成功响应经由所述文件请求处理器被返回到所述应用。没有任何延迟地实时提供连续数据流。

此外,在读请求的情况下,所述文件请求处理器可以丢弃稍后到达的至少一个响应。这确保了所请求的数据仅被转发到应用一次,使得提供连续数据流。

此外,在写请求的情况下,可以由所述文件请求处理器分析稍后到达的至少一个响应。由于在分析步骤期间将识别出差错,因此数据卷被保持在关于数据的镜像状态。

所处理的数据可以是被转换的和被纠正的中的至少一个。因此,所请求的数据在其被转换时以所请求的格式被转发到应用。此外,可以纠正差错或故障。

通常,可以同时处理读操作和写操作。特别地,每个单元的文件请求处理器可以被配置为同时处理读请求和写请求。

两个或多个应用可以同时访问由数据卷提供的数据。

此外,可以将差错消息转发到嵌入在所述容错数据存储访问系统中的所有容错数据存储访问单元。这可以由对所接收到的差错通知进行日志记录的中央管理单元来完成。此外,中央管理单元对差错消息的处理确保了其他单元不使用不正确的数据。

通常,容错数据存储访问系统可以包括至少两倍的至少两个中央管理单元和/或至少两个物理数据存储设备,以便确保整个系统的冗余,特别是要访问的数据的冗余。

附图说明

当结合附图来理解时,所要求保护的主题的前述方面和许多伴随的优点将变得更容易理解,如通过参考以下详细描述一样变得更好理解,在附图中:

-图1示出了根据本公开的容错数据存储访问系统的一个代表性实施例的示意图;

-图2示出了根据本公开的容错数据存储访问单元的一个代表性实施例的示意图;以及

-图3示出了图2中所示的容错数据存储访问单元的简化示意图。

具体实施方式

在图1中,示出了容错数据存储访问系统10,其包括若干容错数据存储访问单元12、中央管理单元14以及包括至少两个物理数据存储设备18的数据存储访问系统16。

中央管理单元14被配置为与若干容错数据存储访问单元12以及数据存储访问系统16(尤其是至少两个物理数据存储设备18)交换数据。

在所示实施例中,容错数据存储访问系统10包括均包括网络通信接口20的三个不同的容错数据存储访问单元12,其被配置为与中央管理单元14通信,如稍后将描述的。

如图1中标记为“2x”所示,容错数据存储访问系统10可以包括至少双倍的中央管理单元14和数据存储访问系统16,以便确保数据和中央管理单元14的冗余用于改善整个系统10的容错性。

通常,数据存储访问系统16的物理数据存储设备18可以彼此互连,以便确保所述至少两个数据存储设备18之间的数据交换。例如,数据存储设备18可以经由连接构件22连接,连接构件22可以由互联网协议电缆(ip电缆)或光纤信道建立。数据存储设备18可以相对于彼此远程定位。

在图2中,更详细地示出了可以在图1中所示系统10中使用的容错数据存储访问单元12。

每个容错数据存储访问单元12包括文件请求处理器24,其与至少一个应用26(例如在播出服务器上运行的应用)交互。

因此,应用26提供由文件请求处理器24处理的文件操作请求。文件操作请求可以是读请求或写请求,其需要对数据存储访问系统16、特别是存储在图1中所示系统10的两个物理数据存储设备18上的数据的数据访问。

容错数据存储访问单元12(特别是文件请求处理器24)确保了存储在物理数据存储设备18上的数据被实时地提供给应用26而没有任何延迟。

为此目的,文件请求处理器24将应用26的文件操作请求乘以至少两倍,并将倍增的文件操作请求转发到分配给两个物理数据存储设备18的至少两个数据卷(datavolume)28。因此,当倍增的文件操作请求被同时其彼此独立地转发到数据卷28时,文件请求处理器24确保了同时且独立地处理倍增的文件操作请求。

由于数据卷28可以是被远程定位的物理数据存储设备18的所安装的数据卷,因此数据卷28被分配给数据存储设备18。

通常,数据卷28可以对应于所安装的驱动(安装点)、网络共享、网络驱动、网络访问系统或能够访问数据的任何其他合适的系统。

文件请求处理器24还可以根据由数据存储访问系统16提供的不同物理数据存储设备18的数量,将来自应用26的文件操作请求乘以三倍或四倍。

通常,来自应用26的文件操作请求的倍增因子对应于由数据存储访问系统16使用的不同物理数据存储设备18的数量。

接收倍增的文件操作请求的数据卷28同时且彼此独立地来处理请求,其中相应的响应被转发到文件请求处理器24以进行进一步处理。

当所述至少两个数据卷28中的一个的第一成功响应被转发到应用26时,文件请求处理器24根据响应的到达时间不同地处理响应,以便确保连续数据流而没有任何延迟。

假如其他数据卷28也将向文件请求处理器24提供(成功)响应,该响应可能稍后到达,则文件请求处理器24丢弃稍后到达的响应,以便确保应用26接收每个数据(包)仅一次。特别地,文件请求处理器24仅在应用26提供读请求的情况下丢弃稍后到达的响应。

在应用26的写请求先前由文件请求处理器24倍增的情况下,文件请求处理器24分析稍后到达的响应,以便验证与写请求相关联的写操作对于每个不同的数据卷28是否是成功的。

这是重要的,以便确保不同数据卷28、特别是被分配给不同数据卷28的物理数据存储设备18被适当地同步,使得在写请求已被执行之后在物理数据存储设备18上提供相同的数据。

此外,容错数据存储访问单元12(特别是文件请求处理器24)包括至少一个差错处理构件30,其在文件操作请求不成功的情况下输出差错消息。

例如,由文件请求处理器24倍增的读请求未被不同数据卷28中的一个(特别是由闪光图标指示的左数据卷28)成功执行。

如上所述,当到达文件请求处理器24的第一成功响应(即图2中右数据卷28的响应)被转发到应用26时,实时地确保了连续的数据流。

因此,容错数据存储访问单元12确保了没有差错消息被转发到应用26本身,这是因为由于同时转发到数据卷28的倍增请求而仍然提供连续数据流。

然而,例如在没有响应(超时)的情况下,差错消息可以经由网络通信接口20转发到中央管理单元14以便解决该问题。

在通过分析步骤识别出写请求不成功的情况下,容错数据存储访问单元12(特别是至少一个差错处理构件30)经由网络通信接口20输出差错消息,该差错消息被转发到中央管理单元14以用于进一步处理。

然而,当由于先前应用26的文件操作请求的倍增而确保了连续的数据流时,差错消息不被发送到应用26本身。因此,应用26的用户不会意识到关于文件系统的任何问题,因为这是由系统10在内部处理的。

作为主动或被动管理单元的中央管理单元14对所有差错消息或通知进行日志记录,以便使由至少两个不同物理数据存储设备18提供的数据(重新)同步。因此,中央管理单元14确保适当地恢复存储冗余以用于进一步处理。此外,中央管理单元14可以防止其他容错数据存储访问单元12使用与不成功写操作有关的不正确数据。

通常,容错数据存储访问单元12(特别是文件请求处理器24)包括操纵处理数据的数据处理构件32。因此,容错数据存储访问单元12可以操纵被转发到应用26的数据。例如,在数据流处理期间检测到差错的情况下,可以纠正数据。因此,容错数据存储访问单元12具有集成的质量控制实例。

此外,数据处理构件32可以将数据转换为应用26所请求的格式。因此,数据的格式转换可以由容错数据存储访问单元12完成,例如将mp4格式转换为jpeg2000或者将4k视频转换为两个不同的较低分辨率代理(proxy)。

通常,容错数据存储访问单元12可以包括虚拟化层34,其包括至少文件请求处理器24和至少一个差错处理构件30(其可以是文件请求处理器24的一部分)。因此,容错数据存储访问单元12的主要组件可以由虚拟化层34建立,如图2中所示。

此外,中央管理单元14也可以是虚拟化层34的一部分,使得虚拟化层34包括除物理数据存储设备18之外的容错数据存储访问系统10的主要组件。

容错数据存储访问单元12可以为虚拟文件系统的至少一部分提供安装点36,其中安装点36对应于(一个或多个)应用26和虚拟化层34的接口。

因此,由于安装点36,容错数据存储访问单元12可以表现为驱动号(driveletter)。因此,容错数据存储访问单元12可以包括确保上述功能的软件模块。

实际上,容错数据存储访问单元12可以通过安装这些设备18而仅与物理数据存储设备18交互,以便提供由文件请求处理器24访问的(虚拟)数据卷28。因此,虚拟化层34提供相应的安装接口38。

通常,两个或更多个应用26可以同时运行,使得读请求和写请求被容错数据存储访问单元12(特别是文件请求处理器24)同时处理。

如图3中所示,可以适当地概括虚拟化层34的不同块。因此,显而易见的是,虚拟化层34(即容错数据存储访问单元12和中央管理单元14)与可以远程定位的应用26和物理数据存储访问系统16交互。

如图3中所示,虚拟化层34(即文件请求处理器24)确保至少两个物理数据存储设备18被同时访问,或者更确切地说确保即使在数据传输期间发生故障的情况下也传输数据流而没有任何延迟。

容错数据存储访问系统10可以对应于至少一个播出服务器,其中容错数据存储访问单元12作为虚拟文件系统(即经由安装点36安装的虚拟化层34)的一部分而被启动。

通常,容错数据存储访问单元12将仅通知关于这些问题中必须由中央管理单元14解决的问题。

此外,容错数据存储访问单元12可以仅处理定时差错,但不处理数据完整性差错。换句话说,定时差错可能与数据不可用或被转发太慢有关。

然而,当使由物理数据存储设备18提供的数据(重新)同步时,中央管理单元14可以解决数据完整性差错。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1