CN108667903A - 数据发送方法、装置和存储介质 - Google Patents
数据发送方法、装置和存储介质 Download PDFInfo
- Publication number
- CN108667903A CN108667903A CN201810298496.3A CN201810298496A CN108667903A CN 108667903 A CN108667903 A CN 108667903A CN 201810298496 A CN201810298496 A CN 201810298496A CN 108667903 A CN108667903 A CN 108667903A
- Authority
- CN
- China
- Prior art keywords
- target
- node
- memory nodes
- osd memory
- agent
- 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.)
- Granted
Links
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/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了数据发送方法及装置,涉及分布式存储领域。本发明提供的数据发送方法,通过在分布式系统内部的服务器中设置了代理节点,并且由不同服务器间的代理节点进行TCP连接的建立,以及,通过代理节点来将OSD存储节点所要发送的第一目标数据通过与其他代理节点所建立的TCP连接进行发送,在不影响数据发送的情况下,减少了各个服务器之间所建立的TCP连接的数量,降低了CPU的开销。
Description
技术领域
本发明涉及分布式存储领域,具体而言,涉及数据发送方法、装置和存储介质。
背景技术
随着网络数据技术的发展,电子数据的数量呈现出了爆炸式的增长,进而,数据的存储成了首先遇到的问题。为了提高数据的使用便捷程度,以及数据的安全程度,某些情况下,用户通常首选使用分布式系统来进行数据的存储。
分布式系统通常由许多独立的存储节点组成,此处的存储节点的具体体现形式是物理服务器,通常,一个物理服务器上可以同时运行多个存储节点。
为了提高数据的安全性,通常会采用将相同的数据分别存储在不同的服务器中。这也就需要设置在不同服务器中的存储节点之间先进行数据收发,而后,再由接收到数据的存储节点将数据存储在硬盘中。设置在不同服务器中的存储节点之间进行数据收发时,首先需要建立TCP连接,之后,存储节点再利用建立好的TCP连接来进行数据的收发。
一个TCP连接只能在进行数据收发的两个存储节点之间进行建立,随着存储节点数量的增加,为了进行数据传输而建立的TCP连接的数量越来越多,这严重的消耗了服务器的CPU资源和内存资源。
发明内容
本发明的目的在于提供一种数据发送方法和装置。
第一方面,本发明实施例提供了一种数据发送方法,作用于分布式系统中的服务器内所设置的代理节点;分布式系统包括至少三个服务器;每个服务器均包括代理节点、共享内存和多个OSD存储节点;不同服务器中的代理节点之间建立有TCP连接;
该方法包括:
第一代理节点获取目标第二OSD存储节点的标识,以及从第一共享内存中读取第一目标数据;所述第一目标数据是由目标第一OSD存储节点写入到第一共享内存中的;所述目标第二OSD存储节点所在的第二服务器和目标第一OSD存储节点所在的第一服务器是不同的服务器;所述第一共享内存、第一代理节点和目标第一OSD存储节点均位于第一服务器中;
第一代理节点通过与第二服务器中的第二代理节点建立的TCP连接,将第一目标数据和目标第二OSD存储节点的标识向第二代理节点发送,以使第二服务器中的第二代理节点将第一目标数据向目标第二OSD存储节点发送;第二代理节点和目标第二OSD存储节点位于第二服务器中。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,第一目标数据按照如下方式获取:
第一代理节点从目标第一虚拟队列中获取发送任务,所述发送任务中记载了第一目标数据在第一共享内存中的位置;发送任务是由目标第一OSD存储节点写入到目标第一虚拟队列中的;
第一代理节点根据发送任务从第一共享内存中提取第一目标数据。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,目标第二OSD存储节点的标识是第一代理节点根据获取到发送任务的目标第一虚拟队列上的标记确定的;目标第一虚拟队列上记录有将目标第二OSD存储节点作为数据接收方的标记。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,目标第一OSD存储节点只对应了一个第一OSD存储节点;或,目标第一OSD存储节点对应了至少两个第一OSD存储节点;
和/或,目标第二OSD存储节点的标识只对应了一个第二OSD存储节点;或,目标第二OSD存储节点的标识对应了至少两个第二OSD存储节点。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,还包括:
第一代理节点获取目标第一OSD存储节点所发出的第一虚拟队列分配请求;第一虚拟队列分配请求中携带有目标第二OSD存储节点的标识;
第一代理节点为目标第一OSD存储节点分配目标第一虚拟队列,并根据目标第二OSD存储节点的标识对分配的目标第一虚拟队列进行标记;
第一代理节点根据获取发送任务的目标第一虚拟队列的标记,确定目标第二OSD存储节点的标识。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,还包括:
第一代理节点接收第三代理节点所发出的第二目标数据;第二目标数据是由目标第三OSD存储节点发送给第三代理节点的;所述第三代理节点和所述第三OSD存储节点均位于第三服务器中;
第一代理节点将第二目标数据存储到第一共享内存中;
第一代理节点向第一虚拟队列中写入接收任务,以使目标第一OSD存储节点根据接收任务从第一共享内存中读取第二目标数据;所述接收任务中记载了第二目标数据在第二共享内存中的位置。
第二方面,本发明实施例提供了一种数据发送装置,设置于分布式系统中的第一服务器内的第一代理节点中;第一服务器是分布式系统包括的至少三个服务器中的一个;每个服务器均包括代理节点、共享内存和多个OSD存储节点;不同服务器中的代理节点之间建立有TCP连接;
该装置包括:
第一获取模块,用于获取目标第二OSD存储节点的标识,以及从第一共享内存中读取第一目标数据;所述第一目标数据是由目标第一OSD存储节点写入到第一共享内存中的;所述目标第二OSD存储节点所在的第二服务器和目标第一OSD存储节点所在的第一服务器是不同的服务器;所述第一共享内存、第一代理节点和目标第一OSD存储节点均位于第一服务器中;
发送模块,用于通过与第二服务器中的第二代理节点建立的TCP连接,将第一目标数据和目标第二OSD存储节点的标识向第二代理节点发送,以使第二服务器中的第二代理节点将第一目标数据向目标第二OSD存储节点发送;第二代理节点和目标第二OSD存储节点位于第二服务器中。
结合第二方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,还包括:
第二获取模块,用于从目标第一虚拟队列中获取发送任务,所述发送任务中记载了第一目标数据在第一共享内存中的位置;发送任务是由目标第一OSD存储节点写入到目标第一虚拟队列中的;
提取模块,用于根据发送任务从第一共享内存中提取第一目标数据。
结合第二方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,目标第二OSD存储节点的标识是根据获取到发送任务的目标第一虚拟队列上的标记确定的;目标第一虚拟队列上记录有将目标第二OSD存储节点作为数据接收方的标记。
结合第二方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,目标第一OSD存储节点只对应了一个第一OSD存储节点;或,目标第一OSD存储节点对应了至少两个第一OSD存储节点;
和/或,目标第二OSD存储节点的标识只对应了一个第二OSD存储节点;或,目标第二OSD存储节点的标识对应了至少两个第二OSD存储节点。
结合第二方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,还包括:
第三获取模块,用于获取目标第一OSD存储节点所发出的第一虚拟队列分配请求;第一虚拟队列分配请求中携带有目标第二OSD存储节点的标识;
分配模块,用于为目标第一OSD存储节点分配目标第一虚拟队列,并根据目标第二OSD存储节点的标识对分配的目标第一虚拟队列进行标记;
确定模块,用于根据获取发送任务的目标第一虚拟队列的标记,确定目标第二OSD存储节点的标识。
结合第二方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,还包括:
接收模块,用于接收第三代理节点所发出的第二目标数据;第二目标数据是由目标第三OSD存储节点发送给第三代理节点的;所述第三代理节点和所述第三OSD存储节点均位于第三服务器中;
存储模块,用于将第二目标数据存储到第一共享内存中;
写入模块,用于向第一虚拟队列中写入接收任务,以使目标第一OSD存储节点根据接收任务从第一共享内存中读取第二目标数据;所述接收任务中记载了第二目标数据在第二共享内存中的位置。
本发明实施例提供的数据发送方法,通过在分布式系统内部的服务器中设置了代理节点,并且由不同服务器间的代理节点进行TCP连接的建立,以及,通过代理节点来将OSD存储节点所要发送的第一目标数据通过与其他代理节点所建立的TCP连接进行发送,在不影响数据发送的情况下,减少了各个服务器之间所建立的TCP连接的数量,降低了CPU的开销。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了相关技术中的分布式系统的架构示意图;
图2示出了相关技术中的分布式系统的不同OSD存储节点的连接示意图;
图3示出了本发明实施例所提供的数据发送方法中的分布式系统的分布式系统的基本架构图;
图4示出了本发明实施例所提供的数据发送方法的基本流程图;
图5示出了本发明实施例所提供的数据发送方法中的第一个细节优化流程图;
图6示出了本发明实施例所提供的数据发送方法中的第二个细节优化流程图;
图7示出了本发明实施例所提供的数据发送方法中的实例的分布式系统的系统架构图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,在数据管理方面,越来越多的采用冗余备份的方式来存储数据,这主要是为了保证数据的安全性,使得当某一个存储节点出现故障时,用户可以从其他的存储节点来获取数据。冗余备份有两层含义,第一层含义是服务器内部的冗余备份,指的是相同的数据存储在同一个服务器中的不同存储空间(如不同的硬盘)中;第二层含义是服务器间的冗余备份,指的是相同的数据存储在不同的服务器中。
如图1所示,示出了相关技术中,基于CEPH技术的分布式系统(简称CEPH分布式系统)的网络架构示意图。如图1所示,CEPH分布式存储系统由至少三个服务器(服务器A、服务器B和服务器C,为简化说明,此处仅表明了服务器A和服务器B)组成,任意两个服务器之间均是由通信网络(以太网/局域网)连接。每个服务器节点均是由多个OSD(Object StorageDevice,对象存储设备)存储节点和对应的硬盘组成的。
一般情况下,在进行服务器间的冗余备份时,一个服务器中的OSD存储节点需要先与另一个服务器中的OSD存储节点建立TCP连接,之后再通过建立好的TCP连接来进行数据收发。由于一个TCP连接只能连接两个对象(两个OSD存储节点),因此,在分布式系统处于正常工作状态时,任意两个位于不同服务器中的OSD存储节点都需要建立TCP连接,以便于这两个OSD存储节点都能够随时进行数据收发,进而,在分布式系统处于正常工作状态时,也就形成了如图2所示的连接情况。即,对于指定的一个目标OSD存储节点而言,要都同时与其他服务器(目标OSD存储节点所在的服务器以外的服务器)中的每一个OSD存储节点建立TCP连接。比如,服务器1中的OSD存储节点A需要同时与服务器2中的4个OSD存储节点(OSD存储节点A、OSD存储节点B、OSD存储节点C和OSD存储节点D)保持TCP连接,以及同时与服务器3中的4个OSD存储节点(OSD存储节点A、OSD存储节点B、OSD存储节点C和OSD存储节点D)保持TCP连接。
由图2可以直观的看到,在分布式系统处于正常工作状态的情况下,任意两个服务器之间需要建立大量的TCP连接,当服务器数量增加后,或者是服务器中OSD存储节点的数量增加后,任一个服务器所需要建立的TCP连接的数量都是会大大增加的。正是由于分布式系统中的服务器在处于正常工作状态时,需要建立大量的TCP连接,这极大的占用了服务器中CPU和内存的资源。
针对该种情况,本申请发明人认为,可以采用在服务器中设置代理节点(一个由CPU运行的程序),并由代理节点来建立不同服务器间的TCP连接,在某个OSD存储节点需要与其他服务器中的OSD存储节点建立连接时,可以通过代理节点间已经建立好的TCP连接来进行OSD存储节点之间的数据收发。
具体的,应对于相关技术中不同服务器中建立TCP连接过多,导致CPU负担过重的问题,本申请提供了一种数据发送方法,该方法作用于CEPH分布式系统中的服务器内所设置的代理节点;如图3所示,CEPH分布式系统包括至少三个服务器;每个服务器均包括代理节点、共享内存和多个OSD存储节点;共享内存分别与同一个服务器中的代理节点和每个OSD存储节点连接(同一个服务器中的共享内存与该服务器中的代理节点链接,以及同一个服务器中的共享内存分别与该服务器中的每个OSD存储节点连接);不同服务器中的代理节点之间建立有TCP连接;
如图4所示,该方法包括:
S101,第一代理节点获取目标第二OSD存储节点的标识,以及从第一共享内存中读取第一目标数据;第一目标数据是由目标第一OSD存储节点写入到第一共享内存中的;目标第二OSD存储节点所在的第二服务器和目标第一OSD存储节点所在的第一服务器是不同的服务器;第一共享内存、第一代理节点和目标第一OSD存储节点均位于第一服务器中;
S102,第一代理节点通过与第二服务器中的第二代理节点建立的TCP连接,将第一目标数据和目标第二OSD存储节点的标识向第二代理节点发送,以使第二服务器中的第二代理节点将第一目标数据向目标第二OSD存储节点发送;第二代理节点和目标第二OSD存储节点位于第二服务器中。
其中,目标第一OSD存储节点是第一服务器(目标第一OSD存储节点所在的服务器)中多个第一OSD存储节点中的指定的一个;目标第二OSD存储节点是第二服务器中多个第二OSD存储节点中的指定的一个。共享内存(shared memory)指在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存空间。同一个服务器中的共享内存和多个OSD存储节点之间是采用有线连接(如光纤)的方式进行连接,或者是局域网式的无线连接的方式进行连接的,类似的,同一个服务器中的代理节点和共享内存之间也是通过有线连接的方式连接,或者是通过局域网式的无线连接的方式连接。
步骤S102中的TCP连接是基于TCP(Transmission Control Protocol传输控制协议)通信协议所建立的网络连接。在不同的工作流程下,不同的服务器中的代理节点之间的所建立的TCP连接可以是服务器在上线工作时就直接建立的,也可以是目标第一代理节点(步骤S101和步骤S102的执行主体)在需要将第一目标数据向目标第二代理节点发送时,临时建立的。一般情况下,每个服务器中可以只有一个代理节点,该代理节点能与其他任意一个服务器中的代理节点建立,并保持TCP连接。考虑到具体使用需要的不同,实际工作中,服务器中的代理节点的数量可以是多个,不同的代理节点用于发送不同类型的数据包,如管理数据包、心跳包等。本方案中,不同的服务器中的代理节点之间的所建立的TCP连接优选以长连接的状态存在。
第二代理节点将第一目标数据向目标第二OSD存储节点发送的具体过程是,第二代理节点将第一目标数据写入到第二服务器中的共享内存(第二共享内存)中,并且通知目标第二OSD存储节点从第二共享内存中提取第一目标数据,之后,目标第二OSD存储节点从第二共享内存中提取出第一目标数据,并且将第一目标数据存储在对应的硬盘中,即可完成数据的发送流程。
通常情况下,在某服务器上线的时候,该服务器中的代理节点就应当与其所处的分布式系统中的每个服务器内的代理节点建立TCP连接,以便于后续过程中代理节点转发OSD存储节点所要发送的数据。
为了提高整体的工作效率,本申请所提供的方法中还可以引入虚拟队列的工作机制,进而,如图5所示,第一目标数据可以按照如下方式获取:
S201,第一代理节点从目标第一虚拟队列中获取发送任务,发送任务中记载了第一目标数据在第一共享内存中的位置;发送任务是由目标第一OSD存储节点写入到目标第一虚拟队列中的;
S202,第一代理节点根据发送任务从第一共享内存中提取第一目标数据。
虚拟队列本质上是一种消息队列,第一代理节点(步骤S101和步骤S102的执行主体)可以采用轮询的方式,来查看目标第一虚拟队列中是否有新的发送任务,当目标第一虚拟队列中存在新的发送任务时,则执行步骤S201;也可以是目标第一OSD存储节点在将发送任务写入到目标第一虚拟队列后,通知第一代理节点到目标第一虚拟队列中查找的。通常情况下,目标第一虚拟队列是按照先进先出的工作机制进行工作的。通常,第一服务器中设置有大量的第一虚拟队列,目标第一虚拟队列是这些第一虚拟队列中的一个。比如,可以为每个第一OSD存储节点设置一个对应的第一虚拟队列。
在引入虚拟队列之后,步骤S102中,第二服务器中的代理节点将第一目标数据向目标第二OSD存储节点发送可以按照如下方式执行:
第二代理节点向第二服务器中的目标第二虚拟队列写入接收任务,并向第二服务器中的第二共享内存中写入第一目标数据;接收任务中记载了第一目标数据在第二共享内存中的位置;
目标第二OSD存储节点在轮询到目标第二虚拟队列中存在接收任务后,提取接收任务;
目标第二OSD存储节点根据提取到的接收任务,从第二共享内存中提取第一目标数据;
目标第二OSD存储节点将提取到的第一目标数据存储到对应的硬盘中,从而完成了数据的存储工作。
某种情况下,目标第二OSD存储节点的标识可以是与第一目标数据同时记录在第一共享内存中的,也就是,目标第二OSD存储节点的标识是由目标第一OSD存储节点写入到第一共享内存中的,并且目标第二OSD存储节点的标识是第一代理节点从第一共享内存中获取到的。通常,第二服务器中设置有大量的第二虚拟队列,目标第二虚拟队列是这些第二虚拟队列中的一个。比如,可以为每个第二OSD存储节点设置一个对应的第二虚拟队列。
目标第二OSD存储节点的标识还可以是通过其他方式确定的,比如,可以预先在虚拟队列上进行标记(该标记工作可以由第一代理节点完成,也可以由第一服务器中的其他工作节点进行),标记出该虚拟队列所对应的第二OSD存储节点的标识,这样第一代理节点在从虚拟队列中提取发送任务的时候,就可以根据虚拟队列上的标记(该标记可以理解为虚拟队列数据结构中的一个变量),确定该发送任务是向哪个第二OSD存储节点发送的。
也就是,目标第二OSD存储节点的标识是第一代理节点根据获取到发送任务的目标第一虚拟队列上的标记确定的;目标第一虚拟队列上记录有将目标第二OSD存储节点作为数据接收方的标记。
其中,一个第一虚拟队列上的标记只表示了一个第二OSD存储节点,也可以表示了某两个或多个第二OSD存储节点;即,目标第二OSD存储节点的标识只对应了一个第二OSD存储节点;或,目标第二OSD存储节点的标识对应了至少两个第二OSD存储节点;也就是第一代理节点在查看到目标第一虚拟队列上标记有两个第二OSD存储节点的标识,则将该虚拟队列中发送任务所对应的第一目标数据同时发送给这两个第二OSD存储节点。不论目标第一虚拟队列上所标记的第二OSD存储节点的标识是一个还是两个,或更多个,在第一代理节点从该目标第一虚拟队列中获取到发送任务时,就必然已经知晓第一目标数据应当向哪个第二OSD存储节点发送了。
前文中介绍了发送的两种情况,向虚拟队列中写入发送任务也有两种情况。第一种,同一个目标第一虚拟队列中的全部发送任务只能由一个第一OSD存储节点写入,也就是,目标第一虚拟队列中全部发送任务只能由同一个第一OSD存储节点写入,这样哪个虚拟队列出现故障的时候,就可以很快的确定是哪个第一OSD存储节点的问题了,易于检测是否需要重发,并且有利于任务的排队。即,目标第一OSD存储节点只对应了一个第一OSD存储节点。
第二种,同一个第一虚拟队列中的多个发送任务是分别由至少两个第一OSD存储节点写入的。也就是,一个第一虚拟队列中多个发送任务可以由不同的第一OSD存储节点写入,如第一OSD存储节点A写入第1、2个发送任务,第一OSD存储节点B写入第3、4个发送任务。这样,可以减少虚拟队列的数量,但不容易控制发送任务的顺序和优先级。即,目标第一OSD存储节点对应了至少两个第一OSD存储节点。
具体的,当第一服务器的效率足够高的情况下,优选采用目标第一虚拟队列上的标记只表示了一个第一OSD存储节点,且,目标第一虚拟队列中的全部发送任务只能由一个第一OSD存储节点写入的方式,这样更有利于整体系统的维护和控制。
具体的,当第一代理节点负责建立虚拟队列,并且进行标记的话,如图6所示,本申请所提供的方法还包括如下步骤:
S301,第一代理节点获取目标第一OSD存储节点所发出的第一虚拟队列分配请求;第一虚拟队列分配请求中携带有目标第二OSD存储节点的标识;
S302,第一代理节点为目标第一OSD存储节点分配目标第一虚拟队列,并根据目标第二OSD存储节点的标识对分配的目标第一虚拟队列进行标记;
S303,第一代理节点根据获取发送任务的目标第一虚拟队列的标记,确定目标第二OSD存储节点的标识。
实际上,在步骤S302和步骤S303之间,还应当由目标第一OSD存储节点向目标第一虚拟队列中写入发送任务。步骤S303的执行实际可以是与步骤S201同时,或者是在步骤S201之后,或者是在步骤S201之前。分配有两种含义,第一种含义是将空闲的虚拟队列设置为由目标第一OSD存储节点所使用;第二种含义是将重新建立一个虚拟队列,并将建立的虚拟队列设置为由目标第一OSD存储节点所使用。
一般情况下,第一虚拟队列分配请求是在目标第一OSD存储节点需要发送数据时生成的,第一次建立目标第一虚拟队列之后,该目标第一虚拟队列可以持久的保存,也可以是在该目标第一虚拟队列持续一段时间没有写入新的发送任务后,将该目标虚拟队列关闭。
对应的,为了使得第二服务器中的目标第二OSD存储节点也能够顺利的接收到第一目标数据,本申请所提供的方法中,在步骤S301之后,还包括如下步骤:
步骤401,第一代理节点向第二代理节点发送第二虚拟队列建立请求;第二虚拟队列建立请求中携带有目标第二OSD存储节点的标识;
步骤402,第二代理节点在第二服务器中建立目标第二虚拟队列;并向目标第二OSD存储节点发送表示目标第二虚拟队列建立完毕的消息;
在步骤S102后,本申请所提供的方法还包括:
步骤403,第二代理节点在共享内存中写入第一目标数据,以及在目标第二虚拟队列中写入接收任务,接收任务中记载了第一目标数据在第二共享内存中的位置;
步骤404,目标第二OSD存储节点从目标第二虚拟队列中获取接收任务,并根据接收任务,从第二共享内存中提取第一目标数据;
步骤405,目标第二OSD存储节点将提取到的第一目标数据存储在对应的硬盘中。
上述内容介绍了第一代理节点所在的服务器向第二代理节点所在的服务器发送数据的过程,下面简要介绍一下第一代理节点接收数据的过程,具体包括如下步骤:
步骤501,第一代理节点接收第三代理节点所发出的第二目标数据;第二目标数据是由目标第三OSD存储节点发送给第三代理节点的;所述第三代理节点和所述第三OSD存储节点均位于第三服务器中;
步骤502,第一代理节点将第二目标数据存储到第一共享内存中;
步骤503,第一代理节点向第一虚拟队列中写入接收任务,以使目标第一OSD存储节点根据接收任务从第一共享内存中读取第二目标数据;所述接收任务中记载了第二目标数据在第一共享内存中的位置。
其中,第三代理节点和第二代理节点可以是同一个节点,也可以是不同的节点;或者说第二服务器和第三服务器可以是同一个服务器也可以是不同的服务器。接收任务与发送任务是相类似的,只不过接收任务是由目标第一OSD存储节点读取的。
下面,以一个具体的实例来说明本申请所提供的方法:
该实例所提供的方法作用于如图7所示的分布式系统,该分布式系统包括三个服务器(为简化描述,图7中只绘制了其中的两个服务器,分别是服务器A和服务器B);服务器A中设置有第一代理节点、第一共享内存、第一OSD存储节点A和第一OSD存储节点B;服务器B中设置有第二代理节点、第二共享内存、第二OSD存储节点A和第二OSD存储节点B;第一代理节点和第二代理节点之间建立有TCP连接;在第一OSD存储节点A需要将第一目标数据发送到第二OSD存储节点B时,需要经过两个大步骤,分别是虚拟连接的建立和第一目标数据的发送;
其中,虚拟连接建立的步骤如下:
步骤1,第一OSD存储节点A向第一代理节点发送第一连接建立请求;第一连接建立请求中携带有第二OSD存储节点B的地址标识;
步骤2,第一代理节点为第一OSD存储节点A分配虚拟队列A,并使用第二OSD存储节点B的地址标识对虚拟队列A进行标记,以及将虚拟队列A建立完成的消息告知;
步骤3,第一OSD存储节点向虚拟队列A中写入第二连接请求,以及向第一共享内存中写入连接建立的具体消息;第二连接建立请求中记录有连接建立的具体消息在第一共享内存中的位置;
步骤4,第一代理节点从虚拟队列A中提取第二连接请求,并根据第二连接请求从第一共享内存中读取到连接建立的具体消息;
步骤5,第一代理节点将连接建立的具体消息和第二OSD存储节点B的地址标识通过第一代理节点和第二代理节点之间建立TCP连接向第二代理节点发送;
步骤6,第二代理节点根据第二OSD存储节点B的地址标识,将连接建立的具体消息向第二OSD存储节点B发送;
步骤7,第二OSD存储节点B向第二代理节点发送第三连接建立请求;第三连接建立请求中携带有第一OSD存储节点A的地址标识;
步骤8,第二代理节点根据第三连接建立请求,为第二OSD存储节点B分配虚拟队列B,并使用第一OSD存储节点A的地址标识对虚拟队列B进行标记,以及将虚拟队列B建立完成的消息告知第二OSD存储节点B;
步骤9,第二OSD存储节点B向虚拟队列B中写入第一反馈请求,以及在第二共享内存中写入第一反馈信息的具体内容;第一反馈请求中记录有第一反馈信息的具体内容在第二共享内存中的位置;
步骤10,第二代理节点从虚拟队列B中提取第一反馈请求,并根据第一反馈请求从第二共享内存中读取到第一反馈信息的具体内容;
步骤11,第二代理节点将第一反馈信息的具体内容和第一OSD存储节点A的地址标识通过第一代理节点和第二代理节点之间建立TCP连接向第一代理节点发送;
步骤12,第一代理节点根据第一OSD存储节点A的地址标识将第一反馈信息的具体内容写入到第一共享内存中,并在虚拟队列A中写入读取提示信息,读取提示信息中记录有第一反馈信息的具体内容在第一共享内存中的位置;
步骤13,第一OSD存储节点A在虚拟队列A中读取到读取提示信息后,根据读取提示信息从第一共享内存中读取第一反馈信息的具体内容;
步骤14,第一OSD存储节点A向虚拟队列A中写入第二反馈请求,以及在第一共享内存中写入第二反馈信息的具体内容;第二反馈请求中记录有第二反馈信息的具体内容在第二共享内存中的位置;
步骤15,第一代理节点从虚拟队列A中提取第二反馈请求,并根据第二反馈请求从第一共享内存中读取到第二反馈信息的具体内容;
步骤16,第一代理节点将第二反馈信息的具体内容和第二OSD存储节点B的地址标识通过第一代理节点和第二代理节点之间建立TCP连接向第二代理节点发送;
步骤17,第二代理节点根据第二OSD存储节点B的地址标识将第二反馈信息的具体内容写入到第二共享内存中,并在虚拟队列B中写入接收提示信息,接收提示信息中记录有第二反馈信息的具体内容在第二共享内存中的位置;
步骤18,第二OSD存储节点B在虚拟队列B中读取到接收提示信息后,根据接收提示信息从第二共享内存中读取第二反馈信息的具体内容,进而知晓第一OSD存储节点A和第二OSD存储节点B之间的虚拟连接建立完成,第一OSD存储节点A和第二OSD存储节点B之间可以进行数据收发。
在虚拟连接建立完成的基础上,第一目标数据的发送步骤如下:
步骤1,第一OSD存储节点向虚拟队列A中写入数据发送请求,以及向第一共享内存中写入第一目标数据;写入数据发送请求中记录有第一目标数据在第一共享内存中的位置;
步骤2,第一代理节点从虚拟队列A中提取数据发送请求,并根据数据发送请求从第一共享内存中读取到第一目标数据;
步骤3,第一代理节点将第一目标数据和第二OSD存储节点B的地址标识通过第一代理节点和第二代理节点之间建立TCP连接向第二代理节点发送;第二OSD存储节点B的地址标识是在从虚拟队列A中提取数据发送请求时,根据虚拟队列A的标记确定的;
步骤4,第二代理节点根据第二OSD存储节点B的地址标识将第一目标数据的具体内容写入到第二共享内存中,并在虚拟队列B中写入提示信息,提示信息中记录有第一目标数据在第二共享内存中的位置;
步骤5,第二OSD存储节点B在虚拟队列B中读取到提示信息后,根据接收提示信息从第二共享内存中读取第一目标数据;
步骤6,第二OSD存储节点B将第一目标数据存储在对应的硬盘中。
与前述方法相对应的,本申请还提供了一种数据发送装置,设置于分布式系统中的第一服务器内的第一代理节点中;第一服务器是分布式系统包括的至少三个服务器中的一个;每个服务器均包括代理节点、共享内存和多个OSD存储节点;不同服务器中的代理节点之间建立有TCP连接;
该装置包括:
第一获取模块,用于获取目标第二OSD存储节点的标识,以及从第一共享内存中读取第一目标数据;所述第一目标数据是由目标第一OSD存储节点写入到第一共享内存中的;所述目标第二OSD存储节点所在的第二服务器和目标第一OSD存储节点所在的第一服务器是不同的服务器;所述第一共享内存、第一代理节点和目标第一OSD存储节点均位于第一服务器中;
发送模块,用于通过与第二服务器中的第二代理节点建立的TCP连接,将第一目标数据和目标第二OSD存储节点的标识向第二代理节点发送,以使第二服务器中的第二代理节点将第一目标数据向目标第二OSD存储节点发送;第二代理节点和目标第二OSD存储节点位于第二服务器中。
优选的,该装置还包括:
第二获取模块,用于从目标第一虚拟队列中获取发送任务,所述发送任务中记载了第一目标数据在第一共享内存中的位置;发送任务是由目标第一OSD存储节点写入到目标第一虚拟队列中的;
提取模块,用于根据发送任务从第一共享内存中提取第一目标数据。
优选的目标第二OSD存储节点的标识是根据获取到发送任务的目标第一虚拟队列上的标记确定的;目标第一虚拟队列上记录有将目标第二OSD存储节点作为数据接收方的标记。
优选的,目标第一OSD存储节点只对应了一个第一OSD存储节点;或,目标第一OSD存储节点对应了至少两个第一OSD存储节点;
和/或,目标第二OSD存储节点的标识只对应了一个第二OSD存储节点;或,目标第二OSD存储节点的标识对应了至少两个第二OSD存储节点。
优选的,该装置还包括:
第三获取模块,用于获取目标第一OSD存储节点所发出的第一虚拟队列分配请求;第一虚拟队列分配请求中携带有目标第二OSD存储节点的标识;
分配模块,用于为目标第一OSD存储节点分配目标第一虚拟队列,并根据目标第二OSD存储节点的标识对分配的目标第一虚拟队列进行标记;
确定模块,用于根据获取发送任务的目标第一虚拟队列的标记,确定目标第二OSD存储节点的标识。
优选的,该装置还包括:
接收模块,用于接收第三代理节点所发出的第二目标数据;第二目标数据是由目标第三OSD存储节点发送给第三代理节点的;所述第三代理节点和所述第三OSD存储节点均位于第三服务器中;
存储模块,用于将第二目标数据存储到第一共享内存中;
写入模块,用于向第一虚拟队列中写入接收任务,以使目标第一OSD存储节点根据接收任务从第一共享内存中读取第二目标数据;所述接收任务中记载了第二目标数据在第一共享内存中的位置。
与前述方法相对应的,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述由客户端所执行的应用于分布式系统的数据上传方法。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (13)
1.一种数据发送方法,其特征在于,作用于分布式系统中的服务器内所设置的代理节点;分布式系统包括至少三个服务器;每个服务器均包括代理节点、共享内存和多个OSD存储节点;不同服务器中的代理节点之间建立有TCP连接;
该方法包括:
第一代理节点获取目标第二OSD存储节点的标识,以及从第一共享内存中读取第一目标数据;所述第一目标数据是由目标第一OSD存储节点写入到第一共享内存中的;所述目标第二OSD存储节点所在的第二服务器和目标第一OSD存储节点所在的第一服务器是不同的服务器;所述第一共享内存、第一代理节点和目标第一OSD存储节点均位于第一服务器中;
第一代理节点通过与第二服务器中的第二代理节点建立的TCP连接,将第一目标数据和目标第二OSD存储节点的标识向第二代理节点发送,以使第二服务器中的第二代理节点将第一目标数据向目标第二OSD存储节点发送;第二代理节点和目标第二OSD存储节点位于第二服务器中。
2.根据权利要求1所述的方法,其特征在于,第一目标数据按照如下方式获取:
第一代理节点从目标第一虚拟队列中获取发送任务,所述发送任务中记载了第一目标数据在第一共享内存中的位置;发送任务是由目标第一OSD存储节点写入到目标第一虚拟队列中的;
第一代理节点根据发送任务从第一共享内存中提取第一目标数据。
3.根据权利要求2所述的方法,其特征在于,
目标第二OSD存储节点的标识是第一代理节点根据获取到发送任务的目标第一虚拟队列上的标记确定的;目标第一虚拟队列上记录有将目标第二OSD存储节点作为数据接收方的标记。
4.根据权利要求2所述的方法,其特征在于,目标第一OSD存储节点只对应了一个第一OSD存储节点;或,目标第一OSD存储节点对应了至少两个第一OSD存储节点;
和/或,目标第二OSD存储节点的标识只对应了一个第二OSD存储节点;或,目标第二OSD存储节点的标识对应了至少两个第二OSD存储节点。
5.根据权利要求2所述的方法,其特征在于,还包括:
第一代理节点获取目标第一OSD存储节点所发出的第一虚拟队列分配请求;第一虚拟队列分配请求中携带有目标第二OSD存储节点的标识;
第一代理节点为目标第一OSD存储节点分配目标第一虚拟队列,并根据目标第二OSD存储节点的标识对分配的目标第一虚拟队列进行标记;
第一代理节点根据获取发送任务的目标第一虚拟队列的标记,确定目标第二OSD存储节点的标识。
6.根据权利要求1所述的方法,其特征在于,还包括:
第一代理节点接收第三代理节点所发出的第二目标数据;第二目标数据是由目标第三OSD存储节点发送给第三代理节点的;所述第三代理节点和所述第三OSD存储节点均位于第三服务器中;
第一代理节点将第二目标数据存储到第一共享内存中;
第一代理节点向第一虚拟队列中写入接收任务,以使目标第一OSD存储节点根据接收任务从第一共享内存中读取第二目标数据;所述接收任务中记载了第二目标数据在第一共享内存中的位置。
7.一种数据发送装置,其特征在于,设置于分布式系统中的第一服务器内的第一代理节点中;第一服务器是分布式系统包括的至少三个服务器中的一个;每个服务器均包括代理节点、共享内存和多个OSD存储节点;不同服务器中的代理节点之间建立有TCP连接;
该装置包括:
第一获取模块,用于获取目标第二OSD存储节点的标识,以及从第一共享内存中读取第一目标数据;所述第一目标数据是由目标第一OSD存储节点写入到第一共享内存中的;所述目标第二OSD存储节点所在的第二服务器和目标第一OSD存储节点所在的第一服务器是不同的服务器;所述第一共享内存、第一代理节点和目标第一OSD存储节点均位于第一服务器中;
发送模块,用于通过与第二服务器中的第二代理节点建立的TCP连接,将第一目标数据和目标第二OSD存储节点的标识向第二代理节点发送,以使第二服务器中的第二代理节点将第一目标数据向目标第二OSD存储节点发送;第二代理节点和目标第二OSD存储节点位于第二服务器中。
8.根据权利要求7所述的装置,其特征在于,还包括:
第二获取模块,用于从目标第一虚拟队列中获取发送任务,所述发送任务中记载了第一目标数据在第一共享内存中的位置;发送任务是由目标第一OSD存储节点写入到目标第一虚拟队列中的;
提取模块,用于根据发送任务从第一共享内存中提取第一目标数据。
9.根据权利要求8所述的装置,其特征在于,
目标第二OSD存储节点的标识是根据获取到发送任务的目标第一虚拟队列上的标记确定的;目标第一虚拟队列上记录有将目标第二OSD存储节点作为数据接收方的标记。
10.根据权利要求8所述的装置,其特征在于,目标第一OSD存储节点只对应了一个第一OSD存储节点;或,目标第一OSD存储节点对应了至少两个第一OSD存储节点;
和/或,目标第二OSD存储节点的标识只对应了一个第二OSD存储节点;或,目标第二OSD存储节点的标识对应了至少两个第二OSD存储节点。
11.根据权利要求8所述的装置,其特征在于,还包括:
第三获取模块,用于获取目标第一OSD存储节点所发出的第一虚拟队列分配请求;第一虚拟队列分配请求中携带有目标第二OSD存储节点的标识;
分配模块,用于为目标第一OSD存储节点分配目标第一虚拟队列,并根据目标第二OSD存储节点的标识对分配的目标第一虚拟队列进行标记;
确定模块,用于根据获取发送任务的目标第一虚拟队列的标记,确定目标第二OSD存储节点的标识。
12.根据权利要求7所述的装置,其特征在于,还包括:
接收模块,用于接收第三代理节点所发出的第二目标数据;第二目标数据是由目标第三OSD存储节点发送给第三代理节点的;所述第三代理节点和所述第三OSD存储节点均位于第三服务器中;
存储模块,用于将第二目标数据存储到第一共享内存中;
写入模块,用于向第一虚拟队列中写入接收任务,以使目标第一OSD存储节点根据接收任务从第一共享内存中读取第二目标数据;所述接收任务中记载了第二目标数据在第一共享内存中的位置。
13.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1-6任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810298496.3A CN108667903B (zh) | 2018-04-03 | 2018-04-03 | 数据发送方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810298496.3A CN108667903B (zh) | 2018-04-03 | 2018-04-03 | 数据发送方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108667903A true CN108667903A (zh) | 2018-10-16 |
CN108667903B CN108667903B (zh) | 2019-11-12 |
Family
ID=63782931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810298496.3A Active CN108667903B (zh) | 2018-04-03 | 2018-04-03 | 数据发送方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108667903B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535959A (zh) * | 2019-08-30 | 2019-12-03 | 北京云中融信网络科技有限公司 | 一种传输数据的方法、装置和计算机可读存储介质 |
CN110913008A (zh) * | 2019-11-29 | 2020-03-24 | 成都知道创宇信息技术有限公司 | 一种数据传输方法及装置 |
CN111064801A (zh) * | 2019-12-26 | 2020-04-24 | 浪潮电子信息产业股份有限公司 | 一种基于分布式文件系统的osd通信方法、装置及介质 |
CN114327295A (zh) * | 2021-12-31 | 2022-04-12 | 华云数据控股集团有限公司 | 基于分布式的数据存取方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120324038A1 (en) * | 2011-02-28 | 2012-12-20 | International Business Machines Corporation | Controlling Shared Memory |
CN104133728A (zh) * | 2013-12-16 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 一种进程间通讯的方法、及装置 |
CN104363276A (zh) * | 2014-11-07 | 2015-02-18 | 哈尔滨工程大学 | 基于分域的第三方云监控方法 |
CN106254896A (zh) * | 2016-08-05 | 2016-12-21 | 中国传媒大学 | 一种针对实时视频的分布式加密方法 |
CN107608632A (zh) * | 2017-09-21 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种分布式存储集群的通信方法、装置及系统 |
-
2018
- 2018-04-03 CN CN201810298496.3A patent/CN108667903B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120324038A1 (en) * | 2011-02-28 | 2012-12-20 | International Business Machines Corporation | Controlling Shared Memory |
CN104133728A (zh) * | 2013-12-16 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 一种进程间通讯的方法、及装置 |
CN104363276A (zh) * | 2014-11-07 | 2015-02-18 | 哈尔滨工程大学 | 基于分域的第三方云监控方法 |
CN106254896A (zh) * | 2016-08-05 | 2016-12-21 | 中国传媒大学 | 一种针对实时视频的分布式加密方法 |
CN107608632A (zh) * | 2017-09-21 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种分布式存储集群的通信方法、装置及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535959A (zh) * | 2019-08-30 | 2019-12-03 | 北京云中融信网络科技有限公司 | 一种传输数据的方法、装置和计算机可读存储介质 |
CN110535959B (zh) * | 2019-08-30 | 2023-02-24 | 北京云中融信网络科技有限公司 | 一种传输数据的方法、装置和计算机可读存储介质 |
CN110913008A (zh) * | 2019-11-29 | 2020-03-24 | 成都知道创宇信息技术有限公司 | 一种数据传输方法及装置 |
CN110913008B (zh) * | 2019-11-29 | 2023-02-28 | 成都知道创宇信息技术有限公司 | 一种数据传输方法及装置 |
CN111064801A (zh) * | 2019-12-26 | 2020-04-24 | 浪潮电子信息产业股份有限公司 | 一种基于分布式文件系统的osd通信方法、装置及介质 |
CN111064801B (zh) * | 2019-12-26 | 2023-06-13 | 浪潮电子信息产业股份有限公司 | 一种基于分布式文件系统的osd通信方法、装置及介质 |
CN114327295A (zh) * | 2021-12-31 | 2022-04-12 | 华云数据控股集团有限公司 | 基于分布式的数据存取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108667903B (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667903B (zh) | 数据发送方法、装置和存储介质 | |
CN100462947C (zh) | 用于实现卸载发起方功能的方法和系统 | |
CN108268321A (zh) | 用于迁移工作负载的方法和机架系统 | |
CN103155522B (zh) | 在交通工具和远程应用服务器之间进行通信的方法和系统 | |
CN107636598A (zh) | 横向扩展NVMe存储装置中的出价/要价协议 | |
CN102713824A (zh) | 基于未来使用估计的分配存储器 | |
CN106844108B (zh) | 一种数据存储方法、服务器以及存储系统 | |
CN101163117B (zh) | 一种群组管理方法、群组资源共享方法及即时通讯装置 | |
CN108319496A (zh) | 资源访问方法、业务服务器、分布式系统及存储介质 | |
CN105468302B (zh) | 一种处理数据的方法、装置及系统 | |
CN103180840A (zh) | 动态允许和禁止写xfr_rdy | |
US20090150555A1 (en) | Memory to memory communication and storage for hybrid systems | |
CN106648909A (zh) | 一种磁盘锁的管理方法、装置和系统 | |
CN107025289A (zh) | 一种数据处理的方法及相关设备 | |
CN110460635A (zh) | 一种面向无人驾驶的边缘卸载方法及装置 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN100353307C (zh) | 一种存储系统以及存储数据的方法和读取数据的方法 | |
CN103888424B (zh) | 集群式数据加密系统及其数据处理方法 | |
CN106648851A (zh) | 一种多控存储中io管理的方法和装置 | |
CN108021516A (zh) | 一种并行存储介质存储控制器的命令调度管理系统与方法 | |
CN104951238A (zh) | 用于在分布式虚拟环境中管理数据存储的方法和装置 | |
CN104063335A (zh) | Usb设备重定向方法、设备及系统 | |
CN107493330A (zh) | 一种云服务方法及云服务器 | |
CN107046503A (zh) | 一种报文传输方法、系统及其装置 | |
CN103119567A (zh) | 用于管理虚拟带库域的系统和方法 |
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 |