CN109462642B - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN109462642B CN109462642B CN201811283336.8A CN201811283336A CN109462642B CN 109462642 B CN109462642 B CN 109462642B CN 201811283336 A CN201811283336 A CN 201811283336A CN 109462642 B CN109462642 B CN 109462642B
- Authority
- CN
- China
- Prior art keywords
- storage
- multicast
- storage nodes
- data
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
Abstract
本公开提供一种数据处理方法及装置,涉及互联网技术领域。方法应用于通过交换机与存储集群通信的计算节点,方法包括:计算得到待存储数据在所述存储集群中对应的至少两个存储节点;根据所述至少两个存储节点获得对应的组播地址;将待存储数据封装在组播报文中,以所述组播地址作为所述组播报文的目的地址,并将该组播报文发送至所述交换机,通过所述交换机将所述组播报文发送至所述存储集群中与所述组播地址对应的至少两个存储节点,以对所述待存储数据进行存储。从而提升数据处理性能。
Description
技术领域
本公开涉及互联网技术领域,具体而言,涉及一种数据处理方法及装置。
背景技术
随着互联网技术的快速发展,各种场景下的数据量正变得越来越大,相应地,需要对大量数据进行存储等处理。例如,在分布式存储系统中,为了确保数据存储可靠性,往往会进行多副本存储,通过保存同一份数据的多个拷贝提升数据存储可靠性。
发明内容
有鉴于此,本公开提供一种数据处理方法及装置。
第一方面,本公开提供了一种数据处理方法,应用于通过交换机与存储集群通信的计算节点,所述方法包括:
计算得到待存储数据在所述存储集群中对应的至少两个存储节点;
根据所述至少两个存储节点获得对应的组播地址;
将待存储数据封装在组播报文中,以所述组播地址作为所述组播报文的目的地址,并将该组播报文发送至所述交换机,通过所述交换机将所述组播报文发送至所述存储集群中与所述组播地址对应的至少两个存储节点,以对所述待存储数据进行存储。
可选地,计算得到待存储数据在所述存储集群中对应的至少两个存储节点的步骤,包括:
获取所述存储集群中存储节点的拓扑信息以及存储集群中的存储配置信息;
根据所述拓扑信息和存储配置信息计算得到待存储数据在所述存储集群中对应的至少两个存储节点。
可选地,根据所述至少两个存储节点获得对应的组播地址的步骤,包括:
查询预设的组播地址数据表中是否存在与所述至少两个存储节点对应的组播地址,若存在与所述至少两个存储节点对应的组播地址,获得该组播地址。
可选地,所述方法还包括:
若不存在与所述至少两个存储节点对应的组播地址,则根据预先设定的所述存储集群中各存储节点的编号,得到与所述至少两个存储节点对应的编号组,所述编号组中与所述至少两个存储节点分别对应的各编号按大小依次排列;
获得所述存储集群中与所述至少两个存储节点数量相同的各存储节点分别对应的编号组的全序关系;
将预设的组播地址段的全序关系和所述存储集群中与所述至少两个存储节点数量相同的各存储节点分别对应的编号组的全序关系进行映射,获得与所述至少两个存储节点对应的组播地址;
将与所述至少两个存储节点对应的组播地址添加至所述组播地址数据表。
可选地,所述方法还包括:
判断是否接收到所述至少两个存储节点中的每个存储节点发送的存储确认信息,若接收到所述至少两个存储节点中的每个存储节点发送的存储确认信息,判定所述待存储数据存储完成。
第二方面,本公开提供一种数据处理方法,应用于通过交换机与计算节点通信的存储集群,所述方法包括:
从所述交换机获取地址解析协议ARP表;
从所述ARP表中得到所述存储集群中各存储节点的IP地址和端口信息;
获得所述存储集群中与至少两个存储节点对应的组播地址;
将每个组播地址及其对应的IP地址和端口信息发送至所述交换机。
第三方面,本公开提供一种数据处理方法,应用于分布式存储系统,所述分布式存储系统包括计算节点、交换机和存储集群,所述存储集群中包括多个存储节点,所述方法包括:
计算节点将待存储数据封装在组播报文中并发送至交换机,所述组播报文的组播地址与所述存储集群中的至少两个存储节点对应;
所述交换机接收所述计算节点发送的组播报文,根据所述组播报文中的组播地址查找到至少两个目的端口,将所述组播报文复制后通过所述至少两个目的端口分别发送至对应的存储节点;
所述存储节点接收到所述组播报文后,将所述组播报文中的待存储数据进行存储。
可选地,所述计算节点中预设有组播地址数据表;所述计算节点将待存储数据封装在组播报文中并发送至交换机的步骤,包括:
计算得到待存储数据在所述存储集群中对应的至少两个存储节点;
查询预设的组播地址数据表中是否存在与所述至少两个存储节点对应的组播地址,若存在与所述至少两个存储节点对应的组播地址,获得该组播地址;
将待存储数据封装在组播报文中,以所述组播地址作为所述组播报文的目的地址,并将该组播报文发送至所述交换机;
其中,所述组播地址数据表中按照所述存储集群可包括的最大存储节点数量,建立与所述存储集群中至少两个存储节点对应的组播地址,在所述存储集群中的存储节点扩容或者缩容过程中,添加或者删除所述组播地址数据表中的对应信息,并将所述存储节点扩容或者缩容结果更新至所述交换机。
第四方面,本公开提供一种数据处理装置,应用于通过交换机与存储集群通信的计算节点,所述数据处理装置包括:
计算模块,用于计算得到待存储数据在所述存储集群中对应的至少两个存储节点;
地址获得模块,用于根据所述至少两个存储节点获得对应的组播地址;
报文处理模块,用于将待存储数据封装在组播报文中,以所述组播地址作为所述组播报文的目的地址,并将该组播报文发送至所述交换机,通过所述交换机将所述组播报文发送至所述存储集群中与所述组播地址对应的至少两个存储节点,以对所述待存储数据进行存储。
可选地,所述计算模块通过以下步骤计算得到待存储数据在所述存储集群中对应的至少两个存储节点:
获取所述存储集群中存储节点的拓扑信息以及存储集群中的存储配置信息;
根据所述拓扑信息和存储配置信息计算得到待存储数据在所述存储集群中对应的至少两个存储节点。
可选地,所述地址获得模块通过以下步骤根据所述至少两个存储节点获得对应的组播地址:
查询预设的组播地址数据表中是否存在与所述至少两个存储节点对应的组播地址,若存在与所述至少两个存储节点对应的组播地址,获得该组播地址。
可选地,所述地址获得模块还用于在不存在与所述至少两个存储节点对应的组播地址时,执行以下步骤:
根据预先设定的所述存储集群中各存储节点的编号,得到与所述至少两个存储节点对应的编号组,所述编号组中与所述至少两个存储节点分别对应的各编号按大小依次排列;
获得所述存储集群中与所述至少两个存储节点数量相同的各存储节点分别对应的编号组的全序关系;
将预设的组播地址段的全序关系和所述存储集群中与所述至少两个存储节点数量相同的各存储节点分别对应的编号组的全序关系进行映射,获得与所述至少两个存储节点对应的组播地址;
将与所述至少两个存储节点对应的组播地址添加至所述组播地址数据表。
第五方面,本公开提供一种数据处理装置,应用于通过交换机与计算节点通信的存储集群,所述数据处理装置包括:
表项获取模块,用于从所述交换机获取地址解析协议ARP表;
信息获取模块,用于从所述ARP表中得到所述存储集群中各存储节点的IP地址和端口信息,获得所述存储集群中与至少两个存储节点对应的组播地址;
信息发送模块,用于将每个组播地址及其对应的IP地址和端口信息发送至所述交换机。
第六方面,本公开提供一种计算节点,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述由计算节点执行的数据处理方法。
第七方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在计算节点执行上述由计算节点执行的数据处理方法。
本公开提供的数据处理方法及装置,通过组播报文的形式实现待存储数据的多副本存储处理,优化了数据传输的网络利用率,减少了网络转发次数,降低了时延,提升了数据处理性能。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本公开提供的一种分布式存储系统的方框示意图。
图2为本公开提供的一种多副本存储原理示意图。
图3为本公开提供的一种多副本存储的网络逻辑示意图。
图4为本公开提供的一种计算节点的方框示意图。
图5为本公开提供的一种数据处理方法的时序图。
图6为本公开提供的一种计算节点的流程示意图。
图7为本公开提供的一种存储集群的流程示意图。
图8为本公开提供的另一种多副本存储的网络逻辑示意图。
图9为本公开提供的一种应用于计算节点的数据处理装置的功能模块方框示意图。
图10为本公开提供的一种应用于存储集群的数据处理装置的功能模块方框示意图。
图标:10-计算节点;11-存储器;12-处理器;13-网络模块;14-数据处理装置;141-计算模块;142-地址获得模块;143-报文处理模块;20-交换机;30-存储集群;31-存储节点;311-表项获取模块;312-信息获取模块;313-信息发送模块。
具体实施方式
分布式存储系统,是将数据分散存储在多台独立的存储服务器上,采用可扩展的系统架构,利用多台存储服务器分担存储负荷,不但提高了存储的可靠性、可用性和存取效率,还易于扩展,适用场景较广。分布式存储系统可以将大量的存储服务器通过网络互联,利用存储软件将存储服务器上的存储设备如磁盘组织成一个虚拟的存储资源池,对外作为一个整体的存储集群提供存储服务。分布式存储系统在可扩展性、灵活性、性价比等方面存在较大优势。尤其是随着云计算的发展,分布式存储系统因深度契合云计算本身对可扩展性、灵活性、易管理性等方面的要求,得到了迅猛发展。据市场调研预测,分布式存储系统在未来将有较高的复合增长率。
请参阅图1,是本公开提供的一种分布式存储系统的示例性组网架构。分布式存储系统中可以包括计算节点10、交换机20和存储集群30,存储集群30中包括多个存储节点31,各存储节点31中包括存储设备。其中,计算节点10和交换机20相连,利用网络对存储集群30中的数据进行读写。存储集群30和交换机20相连,存储集群30中的各存储节点31通过网络进行通信,并形成统一的存储资源池为计算节点10提供存储服务。每个存储节点31中包括的存储设备可以是磁盘,但不限于此。
本公开中,计算节点10可以为具有计算能力和数据存储需求的设备,如个人计算机、服务器等。分布式存储系统中的计算节点10可以为一个或者多个。交换机20可以选用以太网交换机,可采用千兆以太网/万兆以太网(Gbit Ethernet/10Gbit Ethernet,GE/10GE)端口。
在分布式存储中,为了实现数据存储的可靠性和高持久性,常用的一些数据存储技术包括多副本技术、纠删码技术等。其中,副本(Replica)主要利用保存同一份数据的多个拷贝来实现数据存储的可靠性和持久性,例如,通过磁盘阵列(Redundant Arrays ofIndependent Drives,RAID)等实现副本存储,可以灵活地配置2副本、3副本、4副本等。同一数据的各副本具有强一致性。
请结合参阅图2,本公开以采用3副本存储数据为例对存储原理进行举例说明。在图2中,列举了共5份数据,分别为数据1、数据2、数据3、数据4和数据5,在图2中分别以1、2、3、4和5表示,每一份数据都有3个副本,分别保存在不同存储节点31的不同磁盘上。通过该种存储方式,即使存储集群30中的其中两个存储节点31发生故障,也可以从另外一个存储节点31获取数据,确保存储集群30整体上不会出现数据丢失,从而保证了数据存储的可靠性和高持久性。
经研究发现,在多副本方案中,副本的复制一般是由存储集群30完成。例如,在3副本方案中,计算节点10只向存储集群30写入1个副本,另外2个副本由存储集群30负责生成。例如,存储集群30可以采用中心副本控制协议(Primary-Secondary)实现多副本复制。在Primary-Secondary协议中,副本被分为两类,其中有且仅有一个副本作为Primary副本,除此之外的其它副本称为Secondary副本。Primary副本用于完成所有Secondary副本的复制。
请结合参阅图3,本公开以3副本为例,对采用中心副本控制协议实现多副本复制进行举例说明。为了便于描述,以存储节点31包括存储节点1至存储节点N,N为大于3的整数,3副本分别位于存储节点1、存储节点2和存储节点3,待存储数据为数据D为例,进行说明。
如图3所示,计算节点10进行数据存储的流程包括:计算节点10向存储节点2的某个磁盘写入数据D的Primary副本,可作为主副本。存储节点2的主副本将数据D分别发送给存储节点1的某个磁盘和存储节点3的某个磁盘。存储节点1的磁盘和存储节点3的磁盘在完成数据D写入后,向存储节点2发送写入完成消息。存储节点2在接收到存储节点1和存储节点3的写入完成消息,且自身也完成数据D写入后,向计算节点10发送数据D写入完成消息。
其中,计算节点10确定数据D的主副本存储位置以及主副本确定其它副本存储位置可以通过多种方式实现,例如,可以通过分布式哈希表(Distributed Hash Table,DHT)算法、开源分布式存储软件Ceph中采用的CRUSH(Controlled Replication UnderScalable Hashing)数据分布算法等计算得出。为了便于数据可以在不同的磁盘上均匀分布,计算节点10发送的数据可以按一定大小切片存储,不同数据切片都以多副本保存,不同数据可以根据算法选择不同的磁盘组。
分析可知,采用图3所示多副本复制方案,计算节点10将数据通过交换机20发送给存储集群30的存储节点2后,存储节点2作为主副本节点还要将数据再通过交换机20发送给其它Secondary副本所在的存储节点1和存储节点3。存储节点1和存储节点3完成数据写入后,还需通过交换机20向存储节点2发送写入完成消息。在该过程中,需通过交换机20进行多次网络转发,占用较多网络资源,导致数据传输的网络利用率较低,时延较大。
有鉴于此,本公开提供一种数据处理方法及装置,在计算节点10写入数据时,通过组播报文的形式实现待存储数据的多副本存储处理,在副本数固定和数据强一致性的约束下,优化数据传输的网络利用率,减少网络转发次数,降低读写时延,从而提升数据处理性能。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该视为发明人对本公开做出的贡献。
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
如图4所示,是本公开提供的计算节点10的一种方框示意图。本公开中的计算节点10可以为具有数据存储需求的设备,如服务器、个人计算机、平板电脑、智能手机等。如图4所示,计算节点10包括:存储器11、处理器12、网络模块13及数据处理装置14。
所述存储器11、处理器12以及网络模块13相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有数据处理装置14,所述数据处理装置14包括至少一个可以软件或固件(firmware)的形式存储于所述存储器11中的功能模块,所述处理器12通过运行存储在存储器11内的软件或硬件形式的功能模块,从而执行各种功能应用以及数据处理,即实现本公开中由计算节点10执行的数据处理方法。
其中,所述存储器11可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)、磁盘或固态硬盘等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。
所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本公开中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
网络模块13用于通过网络建立计算节点10与外部通信终端之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。
可以理解,图4所示的结构仅为示意,计算节点10还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
在上述基础上,本公开还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在计算节点10执行计算节点10侧的数据处理方法。
本公开中,存储集群30中的存储节点31亦可包括与图4所示计算节点10类似的结构。相应地,本公开还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在存储集群30中的存储节点31执行存储集群30侧的数据处理方法。
请结合参阅图5,本公开提供一种数据处理方法,该方法可以由图1中的分布式存储系统执行,分布式存储系统包括计算节点10、交换机20和存储集群30。所述方法包括以下步骤。
步骤S11,计算节点10将待存储数据封装在组播报文中并发送至交换机20。
其中,所述组播报文的组播地址与所述存储集群30中的至少两个存储节点31对应,即所述至少两个存储节点31作为组播成员构成一个组播组,计算节点以该组播组的组播地址发送存储数据给交换机20后,交换机20会将发送的存储数据复制给所有的组播成员。
请结合参阅图6,可选地,计算节点10通过下述步骤S111至步骤S113将待存储数据封装在组播报文中并发送至交换机20,详细介绍如下。
步骤S111,计算得到待存储数据在所述存储集群30中对应的至少两个存储节点31。
计算节点10要获得待存储数据写入存储集群30的具体位置,需要获取存储集群30中存储节点31的拓扑信息以及存储集群30中的存储配置信息,从而根据拓扑信息和存储配置信息计算得到待存储数据在存储集群30中对应的至少两个存储节点31。
其中,待存储数据写入存储集群30的具体位置指待存储数据写入存储集群30中的哪些存储节点31,还可以包括写入这些存储节点31的哪个存储设备,如具体的哪个磁盘。存储节点31的拓扑信息可以包括存储集群30中包含的所有存储节点31名称、互联网协议(Internet Protocol Address,IP)地址、每个存储节点31包含的磁盘、存储节点31的故障域划分等。存储配置信息可以包括待存储数据采用的副本数或纠删码配置等。
计算节点10获取到存储集群30中存储节点31的拓扑信息以及存储集群30中的存储配置信息之后,便可计算出待存储数据在存储集群30中的具体位置。例如,计算节点10可以通过DHT算法、CRUSH算法等计算出待存储数据在存储集群30中的具体位置。从而得到待存储数据在所述存储集群30中对应的至少两个存储节点。
作为一种可选实现方式,计算节点10可以通过以下方式与存储集群30进行交互:在计算节点10安装客户端软件(client软件)。Client软件通过和存储集群30的监控软件(monitor软件)进行通信,获取存储集群30的拓扑信息和存储配置信息。为了便于描述,本公开中将拓扑信息和配置信息合称为Cluster Map。client软件获取Cluster Map后,通过DHT算法、CRUSH算法等副本计算算法F计算出待存储数据在存储集群30中的具体位置。以3副本为例,若针对某待存储数据D,采用副本计算算法F进行计算的结果为F(D)=(P1,P2,P3),其中,P1、P2和P3表示3个不同的存储设备。进一步,结合Cluster Map,便可以算出P1、P2和P3分别所在的存储节点H1、H2和H3。
步骤S112,根据所述至少两个存储节点31获得对应的组播地址。
获得组播地址的可选方式可以有多种,例如,可以对存储集群30中两个以上存储节点形成的“组合”与组播地址的对应关系进行存储。如通过组播地址数据表进行存储。相应地,计算节点10通过以下方式获得与所述至少两个存储节点31对应的组播地址:查询预设的组播地址数据表中是否存在与所述至少两个存储节点31对应的组播地址,若存在与所述至少两个存储节点31对应的组播地址,获得该组播地址。
又例如,可以预先设定存储集群30中各存储节点31的编号,如在存在N个存储节点31时,可以从1至N,按照各存储节点31的IP地址的大小对各存储节点31依次编号。根据预先设定的存储集群30中各存储节点31的编号,便可得到与所述至少两个存储节点31对应的编号组。
以3副本的场景为例,若与待存储数据对应的三个存储节点31分别为H1、H2和H3,那么,三元组(H1,H2,H3)对应着一组编号,这组编号为从1到N,共N个数中任取3个数的一个组合。若存储节点H1对应编号5,存储节点H2对应编号7,存储节点H3对应编号3,那么,(H1,H2,H3)对应的编号组是(5,7,3),(H3,H1,H2)对应的编号组是(3,5,7),以此类推。
鉴于在分布式存储系统中,各存储节点31的组合无顺序之分,因而,相同存储节点31的组合无需考虑数字顺序。为了使得排列不同的相同存储节点31的组合对应的编号组相同,如H1、H2和H3三者任意组合形成的三元组(H1,H2,H3)、(H3,H1,H2)等对应相同编号组,可选地,在本公开中,编号组中的各编号按大小依次排列。例如,编号组以数字从小到大的顺序来标记,并将圆括号改成尖括号。这样规定后,H1、H2和H3三者任意组合形成的三元组如(H1,H2,H3)和(H3,H1,H2)可以对应于唯一的编号组<3,5,7>。
各编号组均按上述方式设定后,可以对各编号组比较大小,从而获得所述存储集群30中与所述至少两个存储节点31数量相同的各存储节点31分别对应的编号组的全序关系。组播地址段可以灵活选择,所选取的组播地址段天然形成了全序关系。将预设的组播地址段的全序关系和所述存储集群30中与所述至少两个存储节点31数量相同的各存储节点31分别对应的编号组的全序关系进行映射,便可获得与所述至少两个存储节点31对应的组播地址。
假设选择从225.0.0.1到225.255.255.255之间的地址作为可使用的组播地址段,以3副本的场景为例,对根据全序关系映射得到组播地址的可选实现方式进行以下举例说明。
任何3个存储节点31对应的编号组可以按照字典序来比较大小,从而形成以下从小到大的全序关系:
<1,2,3><<1,2,4><…<<1,2,N><<1,3,4><1,3,5><…<<N-2,N-1,N>
选取的组播地址段天然形成以下全序关系:
225.0.0.1<225.0.0.2<225.0.0.3<…<225.255.255.255
将上述两个全序关系做一一映射,从而得到从存储节点31三元组到组播地址的映射。从存储节点31三元组到组播地址的映射方法可以灵活选择,例如,编号组的数量小于组播地址的数量,各编号组可以一一映射到组播地址上,从而得到对应的组播地址。
本公开中列举了其中一种将编号组映射到组播地址上的可选实现方式,如下所示。
假设编号组为<N1,N2,N3>,其中,N1<N2<N3,将<N1,N2,N3>映射到组播地址上的方式包括:
确定<N1,N2,N3>在字典序中的位置。可以通过以下几个步骤确定位置。
计算<N1,Q,X>所含元素的个数。其中Q满足N1<Q<N2。记<N1,Q,X>所含元素的个数为N(N1,Q),那么N(N1,Q)=N-Q,从而可以计算出N(N1,N1+1)+…+N(N1,N2-1)的和。
计算<N1,N2,R>所含元素的个数。其中R满足N2<R<N3。类似地,可以计算出<N1,N2,R>所含元素个数为:N3-N2-1。
将上述各步骤中所得数字之和记为M,那么,<N1,N2,N3>之前有M个元素,从而<N1,N2,N3>的位置编号为M+1。
获得<N1,N2,N3>的位置编号之后,可以通过辗转相除法计算(M+1)所对应的组播地址:225.X.Y.Z。其中,X、Y和Z的值可以通过以下方式确定。
用(M+1)除以256,记其商为K,余数为L,相应公式为:(M+1)=K*(256)+L。那么,X=0,Y=K,Z=L。
在N的值小于或者等于32的情况下,编号组的数量不大于4960,因而K的值一定小于255。在存储集群30中存储节点31的数量超过32或者副本数超过4的情况下,如果M取较大的值,如超过65535,此时K将大于255,这种情况下可以对K再次进行辗转相除,以便确定X和Y的值。
确定X、Y和Z的值之后,即可将任意一组编号集合映射到唯一的组播地址。
应当理解,可以将上述组播地址映射规则预存在计算节点10中,计算节点10每次针对各待存储数据对应的至少两个存储节点31分别按预存的组播地址映射规则计算即可得到对应的组播地址。
实现组播地址段与各存储节点31分别对应的编号组的映射的方式还可以有其他,例如,在选择从225.0.0.1到225.255.255.255之间的地址作为可使用的组播地址段,存储集群的规模不大于255时,在3副本的场景下,也可以记组播地址为225.A.B.C,其中A、B、C均在[1,255]之间。此时,可把H1映射到A,H2映射到B,H3映射到C,从而将不同的三元组(H1,H2,H3)映射到不同的组播地址,以满足映射要求。应当理解,还可通过其他方式实现映射,本公开对此不作一一赘述。
为了减少计算量,计算节点10也可以针对各存储节点31,将首次计算得到的结果保存在一数据表如组播地址数据表中,从而在后续过程中,通过查表即可得到对应的组播地址,从而无需每次均进行计算,减少计算量。
本公开中,组播地址数据表的结构不限,例如,针对3副本的场景,组播地址数据表可以为四元数据表,该四元数据表的结构可以为:存储节点1,存储节点2,存储节点3,组播地址。经验证,假定存储集群30中有16个存储节点31,各存储节点31按照IP地址的大小编号为1-16,占用1个字节,组播地址占用4个字节,那么,每个四元组共占用7个字节。从而,整个组播地址数据表占用16*16*16*7=28672个字节,不会占用大量存储空间,可以放置在计算节点10的内存中使用。
步骤S113,将待存储数据封装在组播报文中,以所述组播地址作为所述组播报文的目的地址,并将该组播报文发送至所述交换机20。
步骤S12,交换机20接收所述计算节点10发送的组播报文,根据所述组播报文中的组播地址查找到至少两个目的端口,将所述组播报文复制后通过所述至少两个目的端口分别发送至对应的存储节点31,以对待存储数据进行存储。
本公开中,计算节点10和存储集群30都可以通过Cluster Map利用相同的方法计算出任意一组存储节点31对应的组播地址。为了在交换机20侧将各组播地址与各存储节点31形成的“组合”进行对应,可选地,可以由存储集群30处理得到各组播地址与各存储节点31形成的“组合”的对应关系并发送至交换机20。相应地,交换机20通过查找对应关系,即可得到至少两个存储节点31对应的组播地址。
请结合参阅图7,存储集群30可以通过以下步骤处理得到各组播地址与各存储节点31形成的“组合”的对应关系。
步骤S131,从所述交换机20获取地址解析协议(Address Resolution Protocol,ARP)表。
其中,存储集群30可以通过网络配置Netconf协议获取交换机20的ARP表。例如,由存储集群30的monitor软件通过Netconf协议获取交换机20的ARP表。
步骤S132,从所述ARP表中得到所述存储集群30中各存储节点31的IP地址和端口信息。
ARP表中包括存储集群30中各存储节点31的IP地址、端口信息等,通过比对Cluster Map就可以得到任何一个存储节点31所对应的交换机20的端口。
步骤S133,获得所述存储集群30中与至少两个存储节点31对应的组播地址。
存储集群30通过Cluster Map利用与计算节点10相同的方法计算出任意一组存储节点31对应的组播地址,结合步骤S132得到的各存储节点31所对应的交换机20的端口,即可得到各组播地址与IP地址和端口信息的对应关系。
步骤S134,将每个组播地址及其对应的IP地址和端口信息发送至所述交换机20。
存储集群30可以通过monitor软件,利用Netconf协议对交换机20进行配置,通过向交换机20发送配置命令,将每个组播地址及其对应的IP地址和端口信息发送至交换机20,将与相应存储节点31连接的端口加入到组播组内。
通过上述配置,当交换机20收到来自计算节点10的目的地址为组播地址的组播报文后,根据组播地址和端口的对应关系,即可知道应该将此组播报文从哪几个端口发送给相应的存储节点31。
步骤S13,存储节点31接收到所述组播报文后,将所述组播报文中的待存储数据进行存储。
步骤S14,存储节点31完成存储之后,向计算节点10发送存储确认信息(上述写入完成消息),计算节点10判断是否接收到所述至少两个存储节点31中的每个存储节点31发送的存储确认信息,若接收到所述至少两个存储节点31中的每个存储节点31发送的存储确认信息,判定所述待存储数据存储完成。以确保各存储节点31存储待存储数据的强一致性。
在上述基础上,考虑到存储集群30具有较高的灵活性,可能会进行存储节点31扩容或者缩容。为避免存储节点31扩容和缩容时,组播地址数据表中的对应关系发生较大改变,可以在初始阶段预测存储集群30未来可能达到的最大存储规模,例如,目前存储集群30中有8个存储节点31,预测得到存储集群30未来可能达到32或64个存储节点31,那么,可以按照最大存储节点31数,如64个存储节点31来建立组播地址数据表。该种情况下,组播地址数据表占用64*64*64*7≈1.8MB,占用的内存不多。通过该种设置,在原始的8个存储节点31扩容或缩容的过程中,存储集群30的Monitor软件只需要根据Cluster Map信息添加或删除组播地址数据表中变化的部分,并将变化结果更新到交换机20中即可。
请结合参阅图8,以存储节点31包括存储节点1至存储节点N,N为大于3的整数,3副本分别位于存储节点1、存储节点2和存储节点3,待存储数据为数据D为例,示出了采用本公开中的数据处理方法,通过组播报文进行数据存储的实现原理。
采用本公开中的数据处理方法,计算节点10将待存储数据D封装在组播报文并发送至交换机20后,交换机20根据组播地址找到对应于存储节点1、存储节点2和存储节点3的端口,将组播报文复制后通过查找到的端口分别发送至存储节点1、存储节点2和存储节点3进行存储。存储节点1、存储节点2和存储节点3完成存储后直接向计算节点10发送存储确认信息,计算节点10接收到存储节点1、存储节点2和存储节点3发送的存储确认信息后,判定完成数据存储。
与图3所示方式相比,采用本公开中图8所示方案,存储节点1、存储节点2和存储节点3之间无需如图3所示般,进行多次网络转发。
对比分析可知,采用图8所示方案,相较于图3所示方案,能够实现对网络利用率的大幅提高。在N副本方案中,图3所示方案在交换机20面向存储集群30的网络内需要传输(2N-1)个数据写入量,而图8所示方案在交换机20面向存储集群30的网络内只需要传输N个数据写入量。图3所示方案中Secondary副本的写入完成消息要先转发给主副本,主副本收到所有消息后发送给计算节点10,而图8所示方案中,所有副本均直接向计算节点10发送确认消息,从而降低了网络时延。
请结合参阅图9,本公开还提供一种数据处理装置14,应用于通过交换机20与存储集群30通信的计算节点10,所述数据处理装置14包括计算模块141、地址获得模块142和报文处理模块143。
其中,计算模块141用于计算得到待存储数据在所述存储集群30中对应的至少两个存储节点31。
关于计算模块141的实现方式可以参阅图6中步骤S111的相关描述,在此不作赘述。
地址获得模块142用于根据所述至少两个存储节点31获得对应的组播地址。
关于地址获得模块142的实现方式可以参阅图6中步骤S112的相关描述,在此不作赘述。
报文处理模块143用于将待存储数据封装在组播报文中,以所述组播地址作为所述组播报文的目的地址,并将该组播报文发送至所述交换机20,通过所述交换机20将所述组播报文发送至所述存储集群30中与所述组播地址对应的至少两个存储节点31,以对所述待存储数据进行存储。
关于报文处理模块143的实现方式可以参阅图6中步骤S113的相关描述,在此不作赘述。
可选地,所述计算模块141通过以下步骤计算得到待存储数据在所述存储集群30中对应的至少两个存储节点31:获取所述存储集群30中存储节点31的拓扑信息以及存储集群30中的存储配置信息;根据所述拓扑信息和存储配置信息计算得到待存储数据在所述存储集群30中对应的至少两个存储节点31。
可选地,所述地址获得模块142通过以下步骤根据所述至少两个存储节点31获得对应的组播地址:查询预设的组播地址数据表中是否存在与所述至少两个存储节点31对应的组播地址,若存在与所述至少两个存储节点31对应的组播地址,获得该组播地址。
可选地,所述地址获得模块142还用于在不存在与所述至少两个存储节点31对应的组播地址时,执行以下步骤:根据预先设定的所述存储集群30中各存储节点31的编号,得到与所述至少两个存储节点31对应的编号组,所述编号组中与所述至少两个存储节点31分别对应的各编号按大小依次排列;获得所述存储集群30中与所述至少两个存储节点31数量相同的各存储节点31分别对应的编号组的全序关系;将预设的组播地址段的全序关系和所述存储集群30中与所述至少两个存储节点31数量相同的各存储节点31分别对应的编号组的全序关系进行映射,获得与所述至少两个存储节点31对应的组播地址;将与所述至少两个存储节点31对应的组播地址添加至所述组播地址数据表。
请结合参阅图10,本公开提供一种数据处理装置,应用于通过交换机20与计算节点10通信的存储集群30,所述数据处理装置包括表项获取模块311、信息获取模块312和信息发送模块313。
其中,表项获取模块311用于从所述交换机20获取地址解析协议ARP表。
关于表项获取模块311的实现方式可以参阅图7中步骤S131的相关描述,在此不作赘述。
信息获取模块312用于从所述ARP表中得到所述存储集群30中各存储节点31的IP地址和端口信息,获得所述存储集群30中与至少两个存储节点31对应的组播地址。
关于信息获取模块312的实现方式可以参阅图7中步骤S132和步骤S133的相关描述,在此不作赘述。
信息发送模块313用于将每个组播地址及其对应的IP地址和端口信息发送至所述交换机20。
关于信息发送模块313的实现方式可以参阅图7中步骤S134的相关描述,在此不作赘述。
本公开中,数据处理装置的实现原理与前述数据处理方法的实现原理类似,相应内容可以参阅前述方法实施例,因而在此不作赘述。
本公开中的数据处理方法及装置,通过组播报文的形式实现待存储数据的多副本存储处理,优化了数据传输的网络利用率,减少了网络转发次数,降低了时延,提升了数据处理性能。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的可选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (13)
1.一种数据处理方法,其特征在于,应用于通过交换机与存储集群通信的计算节点,所述方法包括:
计算得到待存储数据在所述存储集群中对应的至少两个存储节点;
根据所述至少两个存储节点获得对应的组播地址;
将待存储数据封装在组播报文中,以所述组播地址作为所述组播报文的目的地址,并将该组播报文发送至所述交换机,通过所述交换机将所述组播报文发送至所述存储集群中与所述组播地址对应的至少两个存储节点,以对所述待存储数据进行存储。
2.根据权利要求1所述的数据处理方法,其特征在于,计算得到待存储数据在所述存储集群中对应的至少两个存储节点的步骤,包括:
获取所述存储集群中存储节点的拓扑信息以及存储集群中的存储配置信息;
根据所述拓扑信息和存储配置信息计算得到待存储数据在所述存储集群中对应的至少两个存储节点。
3.根据权利要求1所述的数据处理方法,其特征在于,根据所述至少两个存储节点获得对应的组播地址的步骤,包括:
查询预设的组播地址数据表中是否存在与所述至少两个存储节点对应的组播地址,若存在与所述至少两个存储节点对应的组播地址,获得该组播地址。
4.根据权利要求3所述的数据处理方法,其特征在于,所述方法还包括:
若不存在与所述至少两个存储节点对应的组播地址,则根据预先设定的所述存储集群中各存储节点的编号,得到与所述至少两个存储节点对应的编号组,所述编号组中与所述至少两个存储节点分别对应的各编号按大小依次排列;
获得所述存储集群中与所述至少两个存储节点数量相同的各存储节点分别对应的编号组的全序关系;
将预设的组播地址段的全序关系和所述存储集群中与所述至少两个存储节点数量相同的各存储节点分别对应的编号组的全序关系进行映射,获得与所述至少两个存储节点对应的组播地址;
将与所述至少两个存储节点对应的组播地址添加至所述组播地址数据表。
5.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
判断是否接收到所述至少两个存储节点中的每个存储节点发送的存储确认信息,若接收到所述至少两个存储节点中的每个存储节点发送的存储确认信息,判定所述待存储数据存储完成。
6.一种数据处理方法,其特征在于,应用于通过交换机与计算节点通信的存储集群,所述方法包括:
从所述交换机获取地址解析协议ARP表;
从所述ARP表中得到所述存储集群中各存储节点的IP地址和端口信息;
获得所述存储集群中与至少两个存储节点对应的组播地址;
将每个组播地址及其对应的IP地址和端口信息发送至所述交换机。
7.一种数据处理方法,其特征在于,应用于分布式存储系统,所述分布式存储系统包括计算节点、交换机和存储集群,所述存储集群中包括多个存储节点,所述方法包括:
计算节点将待存储数据封装在组播报文中并发送至交换机,所述组播报文的组播地址与所述存储集群中的至少两个存储节点对应;
所述交换机接收所述计算节点发送的组播报文,根据所述组播报文中的组播地址查找到至少两个目的端口,将所述组播报文复制后通过所述至少两个目的端口分别发送至对应的存储节点;
所述存储节点接收到所述组播报文后,将所述组播报文中的待存储数据进行存储。
8.根据权利要求7所述的数据处理方法,其特征在于,所述计算节点中预设有组播地址数据表;所述计算节点将待存储数据封装在组播报文中并发送至交换机的步骤,包括:
计算得到待存储数据在所述存储集群中对应的至少两个存储节点;
查询预设的组播地址数据表中是否存在与所述至少两个存储节点对应的组播地址,若存在与所述至少两个存储节点对应的组播地址,获得该组播地址;
将待存储数据封装在组播报文中,以所述组播地址作为所述组播报文的目的地址,并将该组播报文发送至所述交换机;
其中,所述组播地址数据表中按照所述存储集群可包括的最大存储节点数量,建立与所述存储集群中至少两个存储节点对应的组播地址,在所述存储集群中的存储节点扩容或者缩容过程中,添加或者删除所述组播地址数据表中的对应信息,并将所述存储节点扩容或者缩容结果更新至所述交换机。
9.一种数据处理装置,其特征在于,应用于通过交换机与存储集群通信的计算节点,所述数据处理装置包括:
计算模块,用于计算得到待存储数据在所述存储集群中对应的至少两个存储节点;
地址获得模块,用于根据所述至少两个存储节点获得对应的组播地址;
报文处理模块,用于将待存储数据封装在组播报文中,以所述组播地址作为所述组播报文的目的地址,并将该组播报文发送至所述交换机,通过所述交换机将所述组播报文发送至所述存储集群中与所述组播地址对应的至少两个存储节点,以对所述待存储数据进行存储。
10.根据权利要求9所述的数据处理装置,其特征在于,所述计算模块通过以下步骤计算得到待存储数据在所述存储集群中对应的至少两个存储节点:
获取所述存储集群中存储节点的拓扑信息以及存储集群中的存储配置信息;
根据所述拓扑信息和存储配置信息计算得到待存储数据在所述存储集群中对应的至少两个存储节点。
11.根据权利要求9所述的数据处理装置,其特征在于,所述地址获得模块通过以下步骤根据所述至少两个存储节点获得对应的组播地址:
查询预设的组播地址数据表中是否存在与所述至少两个存储节点对应的组播地址,若存在与所述至少两个存储节点对应的组播地址,获得该组播地址。
12.根据权利要求11所述的数据处理装置,其特征在于,所述地址获得模块还用于在不存在与所述至少两个存储节点对应的组播地址时,执行以下步骤:
根据预先设定的所述存储集群中各存储节点的编号,得到与所述至少两个存储节点对应的编号组,所述编号组中与所述至少两个存储节点分别对应的各编号按大小依次排列;
获得所述存储集群中与所述至少两个存储节点数量相同的各存储节点分别对应的编号组的全序关系;
将预设的组播地址段的全序关系和所述存储集群中与所述至少两个存储节点数量相同的各存储节点分别对应的编号组的全序关系进行映射,获得与所述至少两个存储节点对应的组播地址;
将与所述至少两个存储节点对应的组播地址添加至所述组播地址数据表。
13.一种数据处理装置,其特征在于,应用于通过交换机与计算节点通信的存储集群,所述数据处理装置包括:
表项获取模块,用于从所述交换机获取地址解析协议ARP表;
信息获取模块,用于从所述ARP表中得到所述存储集群中各存储节点的IP地址和端口信息,获得所述存储集群中与至少两个存储节点对应的组播地址;
信息发送模块,用于将每个组播地址及其对应的IP地址和端口信息发送至所述交换机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811283336.8A CN109462642B (zh) | 2018-10-30 | 2018-10-30 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811283336.8A CN109462642B (zh) | 2018-10-30 | 2018-10-30 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109462642A CN109462642A (zh) | 2019-03-12 |
CN109462642B true CN109462642B (zh) | 2021-06-08 |
Family
ID=65609009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811283336.8A Active CN109462642B (zh) | 2018-10-30 | 2018-10-30 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109462642B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026720B (zh) * | 2019-12-20 | 2023-05-12 | 深信服科技股份有限公司 | 一种文件处理方法、系统及相关设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521631A (zh) * | 2009-04-14 | 2009-09-02 | 华为技术有限公司 | Vpls网络报文处理方法、设备及系统 |
CN102143215A (zh) * | 2011-01-20 | 2011-08-03 | 中国人民解放军理工大学 | 一种基于网络的pb级云存储系统及其处理方法 |
CN102377646A (zh) * | 2010-08-12 | 2012-03-14 | 盛科网络(苏州)有限公司 | 转发芯片、网络交换系统及组播实现方法 |
CN103841037A (zh) * | 2012-11-21 | 2014-06-04 | 华为技术有限公司 | 组播报文转发的方法及设备 |
CN104871483A (zh) * | 2012-10-10 | 2015-08-26 | 瑞典爱立信有限公司 | 对于基于mpls的虚拟私有云联网的ip组播服务加入过程 |
CN104919760A (zh) * | 2012-11-12 | 2015-09-16 | 阿尔卡特朗讯公司 | 虚拟机箱系统控制协议 |
CN105827451A (zh) * | 2016-04-12 | 2016-08-03 | 浙江宇视科技有限公司 | 一种自动配置全网可控组播的方法和装置 |
-
2018
- 2018-10-30 CN CN201811283336.8A patent/CN109462642B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521631A (zh) * | 2009-04-14 | 2009-09-02 | 华为技术有限公司 | Vpls网络报文处理方法、设备及系统 |
CN102377646A (zh) * | 2010-08-12 | 2012-03-14 | 盛科网络(苏州)有限公司 | 转发芯片、网络交换系统及组播实现方法 |
CN102143215A (zh) * | 2011-01-20 | 2011-08-03 | 中国人民解放军理工大学 | 一种基于网络的pb级云存储系统及其处理方法 |
CN104871483A (zh) * | 2012-10-10 | 2015-08-26 | 瑞典爱立信有限公司 | 对于基于mpls的虚拟私有云联网的ip组播服务加入过程 |
CN104919760A (zh) * | 2012-11-12 | 2015-09-16 | 阿尔卡特朗讯公司 | 虚拟机箱系统控制协议 |
CN103841037A (zh) * | 2012-11-21 | 2014-06-04 | 华为技术有限公司 | 组播报文转发的方法及设备 |
CN105827451A (zh) * | 2016-04-12 | 2016-08-03 | 浙江宇视科技有限公司 | 一种自动配置全网可控组播的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109462642A (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11354039B2 (en) | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system | |
JP4806203B2 (ja) | ピアツーピアネットワークにおけるルーティング | |
US9489827B2 (en) | System and method for distributing content in a video surveillance network | |
US20150312335A1 (en) | Peer-to-peer architecture for processing big data | |
US8924513B2 (en) | Storage system | |
WO2010138668A2 (en) | Swarm-based synchronization over a network of object stores | |
CN108173691B (zh) | 一种跨设备聚合的方法及装置 | |
US20150234846A1 (en) | Partitioning file system namespace | |
US10728335B2 (en) | Data processing method, storage system, and switching device | |
WO2018121456A1 (zh) | 一种数据存储方法、服务器以及存储系统 | |
US10067719B1 (en) | Methods and systems for storing and accessing data in a distributed data storage system | |
CN110825698B (zh) | 元数据管理方法及相关装置 | |
WO2015196686A1 (zh) | 一种数据存储方法以及一种数据存储管理服务器 | |
CN109918021B (zh) | 数据处理方法和装置 | |
US9451024B2 (en) | Self-organizing disk (SoD) | |
US20160259836A1 (en) | Parallel asynchronous data replication | |
Shen et al. | A proximity-aware interest-clustered P2P file sharing system | |
CN109462642B (zh) | 数据处理方法及装置 | |
KR20130118088A (ko) | 멀티 메타데이터 서버 구조를 갖는 분산 파일 시스템 및 이를 이용한 데이터 처리 방법 | |
CN117176796A (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
Yu et al. | Granary: A sharing oriented distributed storage system | |
WO2020119699A1 (zh) | 物联网的资源发布方法、装置、设备及存储介质 | |
CN110110004B (zh) | 一种数据操作方法、装置和存储介质 | |
US10996864B1 (en) | Aggregating ALUA statuses from multiple arrays | |
JP6036302B2 (ja) | 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |