用于提供冗余数据访问的方法和装置的制造方法

文档序号:9650595阅读:369来源:国知局
用于提供冗余数据访问的方法和装置的制造方法
【技术领域】
[0001] 本发明一般地涉及用于提供冗余数据访问的方法和装置。
【背景技术】
[0002] 本节介绍了可有助于促进更好地理解本发明的方面。因此,本节的陈述应当从这 个角度来认识,不应被理解为承认什么是现有技术或什么不是现有技术。
[0003] 在一些已知的冗余数据访问方案中,客户端发送N个请求到不同的服务器,并处 理在答复中被接收的第一个响应。

【发明内容】

[0004] 在下面的综述中一些简化可能被做出,其只在突出和介绍不同示例性实施例的一 些方面,然而这样的简化并非旨在限制本发明的范围。将在后续章节中提供足以允许本领 域普通技术人员的技术人员能够制造和使用本发明概念的优选的示例性实施例的详细说 明。
[0005] 不同的实施例提供了一种用于提供冗余数据访问的方法和装置。详细地来说,对 客户端请求数据项的响应包括由对应选择的多个服务器中的每一个选择将被提供给客户 端的数据项的数据段。详细地来说,相对于所述数据项,所述数据段在尺寸上更小,以及被 配置以使得可以使用被发送的数据段的真子集来构建数据项。
[0006] 在第一实施例中,提供了一种设备,用于提供冗余数据访问的装置。该装置包括数 据存储装置和被以通信地方式连接到数据存储装置的处理器。该处理器被编程以:选择数 据项;基于该数据项和编码算法确定多个数据段请求;确定与多个数据段请求对应的多个 服务器;以及发送多个数据段请求至对应的多个服务器。
[0007] 在第二实施例中,提供了一种用于提供冗余数据访问的系统。该系统包括多个客 户端、多个服务器和被以通信地方式连接到多个客户端和多个服务器的控制器。客户端中 的至少一个被配置以请求数据项。选择的多个服务器中的至少每一个被配置以:存储至少 一个数据项或与该数据项相关联的数据段。控制器被编程以:基于来自至少一个客户端的 数据项请求选择数据项;基于该数据项和编码算法确定多个数据段请求;确定与所述多个 数据段请求对应的多个目标服务器,所述多个目标服务器是多个服务器中的子集;以及发 送所述多个数据段请求至对应的多个目标服务器。
[0008] 在第三实施例中,提供了 一种用于提供冗余数据访问的方法。该方法包括:选择数 据项;基于该数据项和编码算法确定多个数据段请求;确定与所述多个数据段请求对应的 多个服务器;以及发送所述多个数据段请求至对应的多个服务器。
[0009] 在第四实施例中,非暂时性计算机可读存储介质被提供用于存储指令,当由计算 机执行时所述指令使得该计算机执行一种方法。该方法包括:选择数据项;基于该数据项 和编码算法确定多个数据段请求;确定与所述多个数据段请求对应的多个服务器;以及发 送所述多个数据段请求至对应的多个服务器。
[0010] -些上述实施例中,多个数据段请求被配置使得响应于所述多个数据段请求从所 述多个服务器接收的预期的数据段的集合是这样的,与所述数据项相比,所述预期的数据 段的集合的数据段成员在尺寸上更小,以及可使用预期的数据段的集合的真子集构建所述 数据项。
[0011] -些上述实施例中,编码算法包括将数据项分成若干字面数据段以及与两个或更 多的字面数据段逻辑相关的一个或多个数据段。
[0012] 一些上述实施例中,处理器被进一步编程以选择,或者方法进一步包括选择:基于 通过网络发送的比特模式的估计优化来选择编码算法。
[0013] -些上述实施例中,处理器被进一步编程以选择,或方法进一步包括基于一个或 多个系统特性选择编码算法。
[0014] 一些上述实施例中,编码算法包括基于一个或多个系统特性的数据段尺寸。
[0015] -些上述实施例中,编码算法基于多个服务器中的至少一部分对应的多个工作负 载。
[0016] -些上述实施例中,处理器被进一步编程以,或者方法进一步包括:基于与多个服 务器中的至少一个交换一个或多个消息来选择编码算法。
[0017] -些上述实施例中,多个数据段的请求包括编码算法指示。
[0018] -些上述实施例中,处理器被进一步编程,或者方法进一步包括:接收来自多个服 务器的多个服务器响应;并基于解码算法从多个服务器响应构建多个数据项。其中多个服 务器响应是整个预期的服务器响应的集合的真子集。
[0019] -些上述实施例中,选择的多个服务器被进一步配置以:接收多个数据段请求中 的一个;基于该数据段请求和数据段编码算法确定服务器响应;并发送服务器响应到控制 器。
[0020] 在第五实施例中,提供了 一种用于提供冗余数据访问的装置。该装置包括数据存 储装置和被以通信地方式连接到该数据存储装置的处理器。处理器被编程以:选择数据项; 基于该数据项和编码算法确定多个数据段;确定与多个数据段请求对应的至少一个服务 器;以及发送多个数据段到至少一个对应的多个服务器。
[0021] 一些上述实施例中,处理器被进一步编程,或者方法进一步包括:从至少一个第二 服务器接收第二个多个数据段;以及基于该第二个多个数据段和解码算法构建第二数据 项。其中第二个多个数据段是与第二数据项相关联的整个数据段的集合的真子集。
【附图说明】
[0022] 附图中示出了不同的实施例,其中:
[0023] 图1示出了用于提供冗余数据访问的冗余数据访问系统100的实施例。
[0024] 图2描述了示出方法200的实施例的流程图,用于冗余数据访问系统(例如,图1 的系统100)提供冗余数据访问。
[0025] 图3描述了示出方法300的实施例的流程图,用于控制器(例如,图1的控制器 140)发送如图2的步骤240中所示出的"N"个已确定的服务器请求。
[0026] 图4描述了示出方法400的实施例的流程图,用于客户端或控制器(例如,图1的 客户端120中的一个或控制器140)如图2的步骤280所示出的重建数据项;以及
[0027] 图5示意性地示出了不同装置的实施例500,所述装置诸如图1中的客户端120中 的一个,服务器130中的一个或控制器140。
[0028] 为了便于理解,相同的参考标号被用于指定具有基本相同或类似的结构或基本相 同或相似的功能的元件。
【具体实施方式】
[0029] 说明书和附图仅说明本发明的原理。因此应理解本领域的技术人员将能够设计各 种体现了本发明的原理并被包括在其范围之内的布置,尽管其没有被明确地描述或示出。 此外,本文列举的所有示例都旨在出于教学目的而表述以帮助读者理解本发明的原理和发 明人提供的概念以促进本领域的发展,并且应被解释为不限于这些特定引用的示例和条 件。此外,本文描述的不同实施例并不一定是互斥,因为一些实施例可以与一个或多个其他 实施例相结合以形成新的实施例。
[0030] 除非另有说明(例如,"否则"或"或可选择的"),本文所使用的术语"或"是指非 排他性的。此外,除非另有说明,本文所使用的用于描述元件之间关系的词语应当被广义地 解释为包括直接的关系或存在中间元件。例如,当元件被称为"连接"或"耦合"到另一元 件时,该元件可以直接连接或耦合到另一元件,或者可以存在中间元件。相反,当元件被称 为被"直接连接"或"直接耦合"到另一元件时,不存在中间元件。同样地,诸如"之间"、"相 邻"等词语应被以类似的方式解释。
[0031] 不同实施例提供了一种用于提供冗余数据访问的方法和装置。详细地说,对客户 端请求数据项的响应包括由对应选择的多个服务器中的每一个服务器选择将被提供给客 户端的数据项的数据段。详细地来说,相对数据项,数据段在尺寸上更小,以及被配置以使 得可以使用被发送的数据段的真子集来构建数据项。
[0032] 有利的是,通过使用被发送的数据段的真子集重建数据项时,由于数据项可能在 接收丢失或时延的数据段之前被构建,响应的鲁棒性和时延特性可能被提高。此外,总传输 时间可能会降低,因为数据段可以在它们各自的通信路径上被并行地发送。
[0033] 图1示出了用于提供冗余数据访问的冗余数据访问系统100的实施例。冗余数据 访问系统100包括一个或多个客户端120-1 - 120-n(统称为客户端120),其通过建立在通 信路径上的通信流访问驻留在一个或多个服务器130-1 - 130-n(服务器130)上的一个或 多个数据项(为了清楚起见未示出)。其中,一个或多个数据项的存储或一个或多个数据项 的访问由控制器140控制。通信路径包括链路125-1 - 125-n(统称为链路125)中适当的 一个、网络110以及链路135-1 - 135-n(统称为链路135)中适当的一个。
[0034] 本文所定义的"数据项"被广泛地解释为可在客户端和服务器之间被传送的任何 合适的数据,诸如,例如:文件、网页、数据流或消息。此外,本文所定义的"数据段"被广泛 地解释为以正常或编码格式代表数据项的全部或部分的数据。
[0035] 网络110包括任意数量的访问和边缘节点、网络设备以及任何数量和配置的链 路。此外,应理解,网络110可包括任何组合的和任何数量的无线或有线线路网络,包括: LTE、GSM、CDMA、局域网(LAN)、无线局域网(WLAN),广域网(WAN),城域网(MAN)等等。
[0036] 客户端120可以包括能够经由一个或多个链路125在网络110上发送或接收信息 (例如,分组)的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1