CN113901015B - 分布式数据共享方法、装置、存储节点卡及计算机设备 - Google Patents
分布式数据共享方法、装置、存储节点卡及计算机设备 Download PDFInfo
- Publication number
- CN113901015B CN113901015B CN202111044542.5A CN202111044542A CN113901015B CN 113901015 B CN113901015 B CN 113901015B CN 202111044542 A CN202111044542 A CN 202111044542A CN 113901015 B CN113901015 B CN 113901015B
- Authority
- CN
- China
- Prior art keywords
- data
- computer
- storage node
- storage
- computer device
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种分布式数据共享方法、装置、存储节点卡及计算机设备,包括:当接收到本计算机设备的处理器发送的数据更新指令时,按照数据更新指令,更新本地与本计算机设备对应的存储空间中的数据;向其他计算机设备的存储节点卡发送第一数据同步消息,使得其他计算机设备按照第一数据同步消息,更新各自与本计算机设备对应的存储空间中的数据;当接收到来自其他计算机设备的存储节点卡的第二数据同步消息时,更新本地与该其他计算机设备对应的存储空间中的数据,其中,与其他计算机设备对应的存储空间的数据,针对本存储节点卡所属的本计算机设备的处理器为只读状态。采用本方案,提高了数据共享中数据同步和使用的效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种分布式数据共享方法、装置、存储节点卡及计算机设备。
背景技术
在复杂计算机系统,以及分布式计算机网络中,通常包含多个计算机设备,该多个计算机设备需要共同完成一项目标任务。这些计算机设备功能独立,但往往需要通过快速心跳信号同步完成并行计算,以及数据交互。并且,多个计算机设备之间往往共享一份实体数据,从而导致对共享数据的同步和使用效率交底。
发明内容
本申请实施例提供一种分布式数据共享方法、装置、存储节点卡及计算机设备,用以解决现有技术中存在的数据共享中数据同步和使用效率较低的问题。
本申请实施例提供一种分布式数据共享方法,应用于多个计算机设备中每个计算机设备的存储节点卡,所述存储节点卡具有多个存储空间,其中,所述多个存储空间与所述多个计算机设备一一对应,所述方法包括:
当接收到本计算机设备的处理器发送的数据更新指令时,按照所述数据更新指令,更新本地与本计算机设备对应的存储空间中的数据;
向其他计算机设备的存储节点卡发送第一数据同步消息,使得其他计算机设备按照所述第一数据同步消息,更新各自与本计算机设备对应的存储空间中的数据;
当接收到来自其他计算机设备的存储节点卡的第二数据同步消息时,按照所述第二数据同步消息,更新本地与该其他计算机设备对应的存储空间中的数据,其中,与其他计算机设备对应的存储空间的数据,针对本存储节点卡所属的本计算机设备的处理器为只读状态。
进一步的,在所述更新本地与该其他计算机设备对应的存储空间中的数据之后,还包括:
向本计算机设备的处理器发送数据更新消息,用于通知本计算机设备的处理器本地与该其他计算机设备对应的存储空间中的数据已发生更新。
进一步的,在所述向本计算机设备的处理器发送数据更新消息之前,还包括:
确定针对该其他计算机设备是否设置有更新通知标记;
当确定设置有更新通知标记时,执行所述向本计算机设备的处理器发送数据更新消息步骤。
进一步的,所述多个计算机设备的存储节点卡之间,通过SRIO总线相连。
进一步的,所述存储节点卡具有的多个存储空间为多个内存空间。
本申请实施例还提供一种分布式数据共享装置,应用于多个计算机设备中每个计算机设备的存储节点卡,所述存储节点卡具有多个存储空间,其中,所述多个存储空间与所述多个计算机设备一一对应,所述装置包括:
本地数据更新模块,用于当接收到本计算机设备的处理器发送的数据更新指令时,按照所述数据更新指令,更新本地与本计算机设备对应的存储空间中的数据;
数据同步模块,用于向其他计算机设备的存储节点卡发送第一数据同步消息,使得其他计算机设备按照所述第一数据同步消息,更新各自与本计算机设备对应的存储空间中的数据;
共享数据更新模块,用于当接收到来自其他计算机设备的存储节点卡的第二数据同步消息时,按照所述第二数据同步消息,更新本地与该其他计算机设备对应的存储空间中的数据,其中,与其他计算机设备对应的存储空间的数据,针对本存储节点卡所属的本计算机设备的处理器为只读状态。
进一步的,还包括:
更新通知模块,用于向本计算机设备的处理器发送数据更新消息,用于通知本计算机设备的处理器本地与该其他计算机设备对应的存储空间中的数据已发生更新。
进一步的,还包括:
通知判断模块,用于在所述更新通知模块向本计算机设备的处理器发送数据更新消息之前,确定针对该其他计算机设备是否设置有更新通知标记;当确定设置有更新通知标记时,触发所述更新通知模块执行所述向本计算机设备的处理器发送数据更新消息步骤。
进一步的,所述多个计算机设备的存储节点卡之间,通过SRIO总线相连。
进一步的,所述存储节点卡具有的多个存储空间为多个内存空间。
本申请实施例还提供一种存储节点卡,包括处理芯片、存储器和机器可读存储介质,所述存储器具有多个存储空间,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一分布式数据共享方法。
本申请实施例还提供一种计算机设备,包括上述存储节点卡和处理器。
本申请实施例还提供一种分布式数据共享系统,包括多个上述计算机设备。
进一步的,还包括:与每个所述计算机设备的存储节点卡均相连的交换机;
所述交换机,用于实现每两个所述计算机设备的存储节点卡之间的通信。
进一步的,还包括:其他至少一个上述计算机设备,该至少一个计算机设备与该多个计算机设备中的部分计算机设备组成一个共享组,该多个计算机设备组成另一个共享组;
所述交换机,具体用于实现每个共享组内的每两个所述计算机设备的存储节点卡之间的通信。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一分布式数据共享方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一分布式数据共享方法。
本申请有益效果包括:
本申请实施例提供的方法中,多个计算机设备之间实现数据共享,且每个计算机设备均具有存储节点卡,且每个存储节点卡均具有多个存储空间,该多个存储空间与多个计算机设备一一对应,在数据共享的过程中,每个计算机设备的存储节点卡,当所属的本计算机设备的数据需要更新时,在更新本计算机设备对应的存储空间中的数据后,还将向其他计算机设备的存储节点卡同步更新数据,使得每个计算机设备的存储节点卡的多个存储空间,均存储有属于该多个计算机设备的数据,且通过数据同步使得所存储的数据相同,从而实现数据共享。且针对每个存储节点卡,其多个存储空间中与其他计算机设备对应的存储空间的数据,针对该存储节点卡所属的本计算机设备的处理器为只读状态,也就是说,每个计算机设备的处理器可以使用其存储节点卡上存储的所有数据,包括属于其他计算机设备的数据,但无法更改其他计算机设备的数据,并且,计算机设备的处理器不需要参与数据同步的过程,数据同步的过程是各存储节点卡之间完成的,计算机设备的处理器可以直接、快速的从本地存储节点卡获取共享的数据,可以专注于基于共享数据的计算,从而降低了数据同步的延迟,且便于对共享数据的使用,即提高了数据共享中数据同步和使用的效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中:
图1为本申请实施例提供的分布式数据共享方法的流程图;
图2为本申请实施例提供的分布式数据共享系统的结构示意图;
图3为本申请另一实施例提供的分布式数据共享系统的结构示意图;
图4为本申请另一实施例提供的分布式数据共享方法的流程图;
图5-1为本申请实施例提供的分布式数据共享装置的结构示意图;
图5-2为本申请另一实施例提供的分布式数据共享装置的结构示意图;
图5-3为本申请另一实施例提供的分布式数据共享装置的结构示意图;
图6为本申请实施例提供的存储节点卡的结构示意图;
图7为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为了给出提高数据共享中数据同步和使用的效率的实现方案,本申请实施例提供了一种分布式数据共享方法、装置、存储节点卡及计算机设备,以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本申请实施例提供一种分布式数据共享方法,应用于多个计算机设备中每个计算机设备的存储节点卡,存储节点卡具有多个存储空间,其中,多个存储空间与多个计算机设备一一对应,如图1所示,该方法包括:
步骤11、当接收到本计算机设备的处理器发送的数据更新指令时,按照数据更新指令,更新本地与本计算机设备对应的存储空间中的数据;
步骤12、向其他计算机设备的存储节点卡发送第一数据同步消息,使得其他计算机设备按照第一数据同步消息,更新各自与本计算机设备对应的存储空间中的数据;
步骤13、当接收到来自其他计算机设备的存储节点卡的第二数据同步消息时,按照第二数据同步消息,更新本地与该其他计算机设备对应的存储空间中的数据,其中,与其他计算机设备对应的存储空间的数据,针对本存储节点卡所属的本计算机设备的处理器为只读状态。
本申请实施例中,上述步骤11-12和步骤13之间,没有严格的先后顺序。
采用本申请实施例提供的上述分布式数据共享方法,多个计算机设备之间实现数据共享,每个计算机设备均具有存储节点卡,且每个存储节点卡均具有多个存储空间,该多个存储空间与多个计算机设备一一对应,在数据共享的过程中,各计算机设备的存储节点卡之间,通过数据通信实现数据同步,使得每个计算机设备的存储节点卡的多个存储空间,均存储有属于该多个计算机设备的数据,且通过数据同步使得所存储的数据相同,从而实现数据共享。
且针对每个存储节点卡,其多个存储空间中与其他计算机设备对应的存储空间的数据,针对该存储节点卡所属的本计算机设备的处理器为只读状态,也就是说,每个计算机设备的处理器可以使用其存储节点卡上存储的所有数据,包括属于其他计算机设备的数据,但无法更改其他计算机设备的数据,并且,计算机设备的处理器不需要参与数据同步的过程,数据同步的过程是各存储节点卡之间完成的,计算机设备的处理器可以直接、快速的从本地存储节点卡获取共享的数据,可以专注于基于共享数据的计算,从而降低了数据同步的延迟,且便于对共享数据的使用,即提高了数据共享中数据同步和使用的效率。
本申请实施例还提供了一种分布式数据共享系统,如图2所示,包括多个计算机设备,每个计算机设备均具有存储节点卡,每个存储节点卡均具有多个存储空间,该多个存储空间与该多个计算机设备一一对应,分别用于存储对应的计算机设备的数据。
多个计算机设备的数量,可以根据实际应用的情况进行灵活设定,例如,如图2所示,包括8个计算机设备(计算机设备1-8),即包括8个存储节点卡(存储节点卡1-8),相应的,每个存储节点卡具有8个存储空间(存储空间1-8),与8个计算机设备一一对应,分别用于存储对应的计算机设备的数据。
在上述分布式数据共享系统中,存储节点卡可以通过执行上述分布式数据共享方法,实现该多个计算机设备之间的数据共享。
本申请实施例中,分布式数据共享系统所包括的多个计算机设备,可以采用各种拓扑结构形式进行组网,例如,可以采用环形拓扑结构,也可以采用总线型拓扑结构。
为了进一步降低数据同步延迟,提高数据同步效率,如图2所示,可以采用星型拓扑结构,分布式数据共享系统还包括交换机,多个计算机设备的存储节点卡均与交换机相连,每两个存储节点卡之间的通信均通过交换机实现。
进一步的,基于实际应用的需要,本申请实施例中,还可以实现多个共享组的数据共享,每个共享组包括多个计算机设备,一个计算机设备可以属于不同的共享组,即多个共享组所包括的计算机设备可以存在重叠。
例如,在图2所示的分布式数据共享系统的基础上,如图3所示,还包括与交换机相连的其他计算机设备(计算机设备9-10),计算机设备1-8组成一个共享组,且计算机设备9-10与计算机设备1-8中的部分计算机设备可以组成另一个共享组,例如,计算机设备9-10与计算机设备1-4组成另一个共享组,相应的,交换机具体用于实现每个共享组内的每两个计算机设备的存储节点卡之间的通信。
进一步的,当分布式数据共享系统所包含的计算机设备数量较大时,系统中可以包括多个交换机,用于实现存储节点卡之间的通信和数据传输,在此不再举例进行详细描述。
本申请实施例中,多个计算机设备的存储节点卡之间,可以通过SRIO(SerialRapid I/O,连续快速)总线相连,相比基于以太网和工业以太网的总线,传输效率更高,协议开销更小。
本申请实施例中,存储节点卡具有的多个存储空间可以为多个内存空间,使得计算机设备可以更快速、有效的使用存储节点卡的存储空间中存储的数据。
下面,结合图2和图3所示的分布式数据共享系统,对本申请实施例提供的分布式数据共享方法进行详细描述,如图4所示,包括如下步骤:
步骤41、数据共享系统中某一计算机设备的处理器,向该计算机设备的存储节点卡发送数据更新指令。
例如,假设示例1中,计算机设备3向其存储节点卡3发送数据更新指令,用于指示存储节点卡3对其存储空间3中的数据进行更新。
步骤42、存储节点卡在接收到本计算机设备的处理器发送的数据更新指令后,按照该数据更新指令,更新本地与本计算机设备对应的存储空间中的数据。
按照上述示例1,存储节点卡3在接收到计算机设备3的处理发送的数据更新指令后,按照该数据更新指令,更新其存储空间3中的数据。
数据的更新,具体可以是写入新数据,修改原数据,删除数据等,在此不做限定。
步骤43、存储节点卡在完成本地与本计算机设备对应的存储空间中的数据更新后,向其他计算机设备的存储节点卡发送数据同步消息。
本步骤中,当系统中包括多个共享组时,存储节点卡向本计算机设备所属的共享组包含的其他计算机设备的存储节点卡发送数据同步消息。
按照上述示例1,以图2所示系统为例,存储卡节点3向存储节点卡1-2,以及存储节点卡4-8,发送数据同步消息,具体可以采用广播方式发送。
按照上述示例1,以图3所示系统为例,由于计算机设备3属于两个共享组,那么存储卡节点3需要向所属的两个共享组包含的存储节点卡均发送数据同步消息,即存储卡节点3向存储节点卡1-2以及存储节点卡4-8,以及存储节点卡9-10,发送数据同步消息,具体可以采用组播方式发送。
当系统中包含交换机时,该数据同步消息先到达交换机,再由交换机将数据同步消息转发至相应的存储节点卡,存储节点卡通过交换机进行通信,具体可以采用可行的各种具体通信方式,在此不做限定。
步骤44、其他计算机设备在接收到该数据同步消息后,按照该数据同步消息,更新本地与该计算机设备对应的存储空间中的数据,以实现数据的同步更新。
按照上述示例1,以计算机设备5为例,存储节点卡5在接收到存储节点卡3发送的数据同步消息后,按照该数据同步消息,更新本地与计算机设备3对应的存储空间3中的数据,以实现数据的同步更新。
与计算机设备3属于同一个共享组的其他计算机设备,均按照该数据同步消息,对本地与计算机设备3对应的存储空间3中的数据进行更新,更新后,存储节点卡1-8中,每个存储节点卡的存储空间3均存储了相同的数据,即实现了分布式数据共享。
并且,针对每个计算机设备的存储节点卡的多个存储空间,与其他计算机设备对应的存储空间的数据,针对本存储节点卡所属的本计算机设备的处理器为只读状态,即本计算机设备的处理器对这些存储空间的数据可以读取并使用,但无法修改,也可以理解为无法再这些存储空间中写入数据。
本计算机设备的处理器,可以读取并使用与本计算机设备对应的存储空间的数据,也可以对与本计算机设备对应的存储空间的数据进行修改。
步骤45、其他计算机设备在更新本地与该计算机设备对应的存储空间中的数据后,可以确定针对该计算机设备是否设置有更新通知标记,如果设置有更新通知标记,执行步骤46,如果没有设置更新通知标记,则不需要执行后续的数据更新通知的步骤。
本步骤中,更新通知标记表示当该计算机设备对应的存储空间的数据发生更新后,需要存储节点卡主动通知本计算机设备的处理器,该更新通知标记,可以为计算机设备的处理器通过向存储节点卡发送标记设置指令进行设置的,具体可以基于消息中断机制进行设置,在此不再进行详细描述。
步骤46、其他计算机设备向本计算机设备的处理器发送数据更新消息,用于通知本计算机设备的处理器,本地与该计算机设备对应的存储空间中的数据已发生更新。
按照上述示例1,以计算机设备5为例,存储节点卡5向计算机设备5的处理器发送数据更新消息,用于通知计算机设备5的处理器,存储节点卡5中与计算机设备3对应的存储空间3中的数据已发生更新。
本申请实施例中,数据更新的通知,可以使得计算机设备第一时间获知其他某一计算机设备的数据已发生更新,从而可以第一时间获取该更新的数据并使用,即进一步的提高对共享数据的使用效率。
本申请实施例中,也可以不执行上述步骤45,每次发生数据更新后,均通知本计算机设备的处理器。
基于同一发明构思,根据本申请上述实施例提供的分布式数据共享方法,相应地,本申请另一实施例还提供了一种分布式数据共享装置,应用于多个计算机设备中每个计算机设备的存储节点卡,存储节点卡具有多个存储空间,其中,多个存储空间与多个计算机设备一一对应,其结构示意图如图5-1所示,具体包括:
本地数据更新模块51,用于当接收到本计算机设备的处理器发送的数据更新指令时,按照数据更新指令,更新本地与本计算机设备对应的存储空间中的数据;
数据同步模块52,用于向其他计算机设备的存储节点卡发送第一数据同步消息,使得其他计算机设备按照第一数据同步消息,更新各自与本计算机设备对应的存储空间中的数据;
共享数据更新模块53,用于当接收到来自其他计算机设备的存储节点卡的第二数据同步消息时,按照第二数据同步消息,更新本地与该其他计算机设备对应的存储空间中的数据,其中,与其他计算机设备对应的存储空间的数据,针对本存储节点卡所属的本计算机设备的处理器为只读状态。
进一步的,如图5-2所示,还包括:
更新通知模块54,用于向本计算机设备的处理器发送数据更新消息,用于通知本计算机设备的处理器本地与该其他计算机设备对应的存储空间中的数据已发生更新。
进一步的,如图5-3所示,还包括:
通知判断模块55,用于在更新通知模块向本计算机设备的处理器发送数据更新消息之前,确定针对该其他计算机设备是否设置有更新通知标记;当确定设置有更新通知标记时,触发更新通知模块执行向本计算机设备的处理器发送数据更新消息步骤。
进一步的,多个计算机设备的存储节点卡之间,通过SRIO总线相连。
进一步的,存储节点卡具有的多个存储空间为多个内存空间。
上述各模块的功能可对应于图1至图4所示流程中的相应处理步骤,在此不再赘述。
本申请的实施例所提供的分布式数据共享装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要墙体彩绘打印装置具有上述功能,都应该在本申请的保护范围之内。
本申请实施例还提供一种存储节点卡,如图6所示,包括处理芯片61、存储器62和机器可读存储介质63,存储器62具有多个存储空间,机器可读存储介质63存储有能够被处理器执行的机器可执行指令,处理器61被机器可执行指令促使:实现上述任一分布式数据共享方法。
本申请实施例中,存储节点卡具有的多个存储空间中,每个存储空间的大小,可以基于实际应用进行灵活设置,由于系统中各计算机设备的功能和用途,以及在系统中所处的角色不同,其拥有的数据量可能存在较大差别,因此,可以基于每个计算机设备的实际情况,对与该计算机设备对应的存储空间的大小进行设置,并且,进一步的,存储空间的地址结构和粒度也是可以灵活的自由配置的。
本申请实施例中,各存储节点卡之间当采用SRIO总线进行连接和通信时,可以在每个计算机设备上插入一块基于SRIO总线的存储节点卡,存储节点卡的存储空间通常可以为64MB-1TB,具体可以根据系统需要共享的数据量大小进行选择。
针对每个计算机设备上插入的存储节点卡,基于计算机设备的操作系统不同,可以提供相应的驱动软件,使得计算机设备可以将插入的该存储节点卡的存储空间当做一块内存空间进行读写操作。
在实际应用中,数据共享系统中的各计算机设备,由于其用途不同,可能是具有各种不同硬件结构的计算机设备,因此,本申请实施例提供的存储节点卡,可以基于计算机设备硬件系统的不同,采用各种与计算机设备的硬件接口相匹配的总线接口,用于插入计算机设备,例如,可以是PCI,PCIE,VME,SRIO,10G-EtherNet,光纤以太网等,一般以和计算机设备的硬件接口快速链接为宜,保证低传输时延,将生成数据快速更新到SRIO网络上,即快速更新至系统中的其他存储卡节点。
当分布式数据共享系统中存在交换机时,那么该系统中需要配置一套相匹配的交换机系统,该交换机系统支持良好的人机管理接口,支持网络维护,支持网络路由分配,支持组播和广播技术,可根据共享数据的私密性,将网络内的计算机设备分成一个共享组或者多个共享组,并且,支持系统和网络的扩充性。
在实际应用中,对于系统所包含的各存储节点卡,可以给各存储节点卡分配ID号,各存储节点卡也可以自行命名ID号,如果产生冲突,交换机可以向存储节点卡返回错误状态,提示ID号冲突,需要进行修改。
本申请实施例提供的分布式数据共享系统,还可以支持多交换机互联,组成树形结构。在此种场景下,可以配置交换机的路由深度,支持深度二叉树算法,支持网络管理的主从选择,主交换机可以完成中央服务员算法。
本申请实施例还提供一种计算机设备,如图7所示,包括上述存储节点卡71和处理器72。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一分布式数据共享方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一分布式数据共享方法。
上述存储节点卡中的机器可读存储介质可以包括随机存取存储器(RandomAccess Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理芯片可以是通用处理芯片,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、存储节点卡、计算机设备、系统、计算机可读存储介质,计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
采用本申请实施例提供的上述方案,多个计算机设备之间实现数据共享,每个计算机设备均具有存储节点卡,且每个存储节点卡均具有多个存储空间,该多个存储空间与多个计算机设备一一对应,在数据共享的过程中,各计算机设备的存储节点卡之间,通过数据通信实现数据同步,使得每个计算机设备的存储节点卡的多个存储空间,均存储有属于该多个计算机设备的数据,且通过数据同步使得所存储的数据相同,从而实现数据共享。
且针对每个存储节点卡,其多个存储空间中与其他计算机设备对应的存储空间的数据,针对该存储节点卡所属的本计算机设备的处理器为只读状态,也就是说,每个计算机设备的处理器可以使用其存储节点卡上存储的所有数据,包括属于其他计算机设备的数据,但无法更改其他计算机设备的数据,并且,计算机设备的处理器不需要参与数据同步的过程,数据同步的过程是各存储节点卡之间完成的,计算机设备的处理器可以直接、快速的从本地存储节点卡获取共享的数据,可以专注于基于共享数据的计算,从而降低了数据同步的延迟,且便于对共享数据的使用,即提高了数据共享中数据同步和使用的效率。
并且,当采用SRIO总线进行互联通信和数据同步时,存储节点卡与计算机设备的主板之间,可以采用各种相匹配的硬件接口进行连接,方便了计算机设备的组网,各计算机设备仅需要扩展一个通信接口,插入存储节点卡即可。存储节点卡自带大容量存储空间,通过驱动程序,可以映射为计算机设备的处理器的一块新增内存。这部分内存是双向存储,一方面可以供计算机设备的处理器自由获取数据,另一方面,还可以通过SRIO网络向其他计算机设备的存储节点卡共享数据。计算机设备的处理器在获取数据时,无需增加外部网络的维护开销时间,可以专注于本地计算。并且,减少了处理器的中断请求,在并行计算场合,处理器只需要在约定的特殊门铃指令下,才会响应存储节点卡的中断,大部分时间,都是存储节点卡上的处理芯片(如FPGA)在维护数据存储、共享和同步。
当采用基于交互机的星型拓扑结构,并基于SRIO总线进行通信时,通过开发各种硬件形态的存储节点卡和相匹配的操作系统驱动程序,即可以完成系统中计算机设备之间的快速、高带宽、低延迟的数据共享,在实际测试中,可以精确到uS级传输延迟和甚至nS级抖动控制,相比目前基于以太网传输平台的mS级延迟和抖动的数据共享解决方案,指标可以提高2-3个数量级,可以更好的应用于复杂计算机系统,例如多计算机并联仿真系统,多计算机并联控制系统等。
并且,基于交换机实现多个共享组的数据共享,数据相对具有更高的私密性,网络安全性也更好。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种分布式数据共享方法,其特征在于,应用于多个计算机设备中每个计算机设备的存储节点卡,所述存储节点卡具有多个存储空间,其中,所述多个存储空间与所述多个计算机设备一一对应,所述方法包括:
当接收到本计算机设备的处理器发送的数据更新指令时,按照所述数据更新指令,更新本地与本计算机设备对应的存储空间中的数据;
向其他计算机设备的存储节点卡发送第一数据同步消息,使得其他计算机设备按照所述第一数据同步消息,更新各自与本计算机设备对应的存储空间中的数据;
当接收到来自其他计算机设备的存储节点卡的第二数据同步消息时,按照所述第二数据同步消息,更新本地与该其他计算机设备对应的存储空间中的数据,其中,与其他计算机设备对应的存储空间的数据,针对本存储节点卡所属的本计算机设备的处理器为只读状态。
2.如权利要求1所述的方法,其特征在于,在所述更新本地与该其他计算机设备对应的存储空间中的数据之后,还包括:
向本计算机设备的处理器发送数据更新消息,用于通知本计算机设备的处理器本地与该其他计算机设备对应的存储空间中的数据已发生更新。
3.如权利要求2所述的方法,其特征在于,在所述向本计算机设备的处理器发送数据更新消息之前,还包括:
确定针对该其他计算机设备是否设置有更新通知标记;
当确定设置有更新通知标记时,执行所述向本计算机设备的处理器发送数据更新消息步骤。
4.如权利要求1-3任一所述的方法,其特征在于,所述多个计算机设备的存储节点卡之间,通过SRIO总线相连。
5.如权利要求1-3任一所述的方法,其特征在于,所述存储节点卡具有的多个存储空间为多个内存空间。
6.一种分布式数据共享装置,其特征在于,应用于多个计算机设备中每个计算机设备的存储节点卡,所述存储节点卡具有多个存储空间,其中,所述多个存储空间与所述多个计算机设备一一对应,所述装置包括:
本地数据更新模块,用于当接收到本计算机设备的处理器发送的数据更新指令时,按照所述数据更新指令,更新本地与本计算机设备对应的存储空间中的数据;
数据同步模块,用于向其他计算机设备的存储节点卡发送第一数据同步消息,使得其他计算机设备按照所述第一数据同步消息,更新各自与本计算机设备对应的存储空间中的数据;
共享数据更新模块,用于当接收到来自其他计算机设备的存储节点卡的第二数据同步消息时,按照所述第二数据同步消息,更新本地与该其他计算机设备对应的存储空间中的数据,其中,与其他计算机设备对应的存储空间的数据,针对本存储节点卡所属的本计算机设备的处理器为只读状态。
7.如权利要求6所述的装置,其特征在于,还包括:
更新通知模块,用于向本计算机设备的处理器发送数据更新消息,用于通知本计算机设备的处理器本地与该其他计算机设备对应的存储空间中的数据已发生更新。
8.如权利要求7所述的装置,其特征在于,还包括:
通知判断模块,用于在所述更新通知模块向本计算机设备的处理器发送数据更新消息之前,确定针对该其他计算机设备是否设置有更新通知标记;当确定设置有更新通知标记时,触发所述更新通知模块执行所述向本计算机设备的处理器发送数据更新消息步骤。
9.如权利要求6-7任一所述的装置,其特征在于,所述多个计算机设备的存储节点卡之间,通过SRIO总线相连。
10.如权利要求6-7任一所述的装置,其特征在于,所述存储节点卡具有的多个存储空间为多个内存空间。
11.一种存储节点卡,其特征在于,包括处理芯片、存储器和机器可读存储介质,所述存储器具有多个存储空间,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-5任一所述的方法。
12.一种计算机设备,其特征在于,包括权利要求11所述的存储节点卡和处理器。
13.一种分布式数据共享系统,其特征在于,包括多个如权利要求12所述的计算机设备。
14.如权利要求13所述的系统,其特征在于,还包括:与每个所述计算机设备的存储节点卡均相连的交换机;
所述交换机,用于实现每两个所述计算机设备的存储节点卡之间的通信。
15.如权利要求14所述的系统,其特征在于,还包括:其他至少一个如权利要求12所述的计算机设备,该至少一个计算机设备与该多个计算机设备中的部分计算机设备组成一个共享组,该多个计算机设备组成另一个共享组;
所述交换机,具体用于实现每个共享组内的每两个所述计算机设备的存储节点卡之间的通信。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111044542.5A CN113901015B (zh) | 2021-09-07 | 2021-09-07 | 分布式数据共享方法、装置、存储节点卡及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111044542.5A CN113901015B (zh) | 2021-09-07 | 2021-09-07 | 分布式数据共享方法、装置、存储节点卡及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113901015A CN113901015A (zh) | 2022-01-07 |
CN113901015B true CN113901015B (zh) | 2023-05-30 |
Family
ID=79188646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111044542.5A Active CN113901015B (zh) | 2021-09-07 | 2021-09-07 | 分布式数据共享方法、装置、存储节点卡及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113901015B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102263698B (zh) * | 2011-08-11 | 2014-01-22 | 福建星网锐捷网络有限公司 | 虚拟通道的建立方法、数据传输的方法及线卡 |
CN106647412B (zh) * | 2017-01-17 | 2018-12-18 | 爱普(福建)科技有限公司 | 一种基于组态元件的分布式控制器之间的数据共享方法 |
CN110022356B (zh) * | 2019-03-08 | 2021-11-30 | 北京三快在线科技有限公司 | 分布式系统和具有该分布式系统的无人驾驶设备 |
IL268941A (en) * | 2019-08-26 | 2021-03-01 | Israel Aerospace Ind Ltd | System, method and computer software product implementing a distributed air channel |
CN111274042B (zh) * | 2020-01-19 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种fpga异构加速系统及其同步调度方法和相关设备 |
-
2021
- 2021-09-07 CN CN202111044542.5A patent/CN113901015B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113901015A (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101582824B (zh) | 关于控制局域网总线从节点设备的节点号自动分配方法 | |
CN114363021B (zh) | 网络靶场系统、网络靶场系统的虚拟网络实现方法及装置 | |
CN104169905B (zh) | 利用可配置和容错的基板管理控制器安排的方法、装置和系统 | |
CN106688208A (zh) | 利用机架规模架构中的池化存储器进行的网络通信 | |
JPH1049507A (ja) | 並列計算機 | |
EP2230606A2 (en) | System having a plurality of nodes connected in multi-dimensional matrix, method of controlling system and apparatus | |
CN105579983A (zh) | 提供对等系统标识的基板管理控制器 | |
CN103152390A (zh) | 分布式存储系统的节点配置方法、装置、节点及系统 | |
CN115657553A (zh) | Pcie拓扑和pcie设备模拟方法、装置、设备及介质 | |
CN105359122B (zh) | 多cpu系统中的增强型数据传输 | |
CN101878620A (zh) | 在基于链路的系统中修改系统路由信息 | |
US10817512B2 (en) | Standing queries in memory | |
CN113901015B (zh) | 分布式数据共享方法、装置、存储节点卡及计算机设备 | |
JP2011097124A (ja) | 車載ネットワーク装置 | |
CN103595631B (zh) | 一种路径建立的方法和装置 | |
CN114629744B (zh) | 基于macvlan主机网络的数据访问方法、系统及相关装置 | |
CN110995502B (zh) | 网络配置管理方法、装置、交换设备及可读存储介质 | |
CN104104594A (zh) | Vsu的协议报文发送与接收方法、设备及系统 | |
CN113918504A (zh) | 一种隔离组的实现方法及装置 | |
CN114095306A (zh) | 由主干通信网络分离的lin分区之间的lin消息传递 | |
CN113419819A (zh) | 容器管理方法、装置、设备及介质 | |
JP2018032344A (ja) | 分散同期処理システムおよび分散同期処理方法 | |
CN103825767A (zh) | 服务质量的实现方法、终端站和网桥 | |
JP4446961B2 (ja) | 要求を送るための集積回路および方法 | |
JP2006171833A (ja) | Plcのデータ交換システム、及びplcのデータ交換システムの制御方法 |
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 |