CN107102918A - 一种数据处理方法和装置 - Google Patents

一种数据处理方法和装置 Download PDF

Info

Publication number
CN107102918A
CN107102918A CN201710386160.8A CN201710386160A CN107102918A CN 107102918 A CN107102918 A CN 107102918A CN 201710386160 A CN201710386160 A CN 201710386160A CN 107102918 A CN107102918 A CN 107102918A
Authority
CN
China
Prior art keywords
node
data
affiliated
memory cell
data flow
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
Application number
CN201710386160.8A
Other languages
English (en)
Other versions
CN107102918B (zh
Inventor
范聪聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710386160.8A priority Critical patent/CN107102918B/zh
Publication of CN107102918A publication Critical patent/CN107102918A/zh
Application granted granted Critical
Publication of CN107102918B publication Critical patent/CN107102918B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种数据处理方法和装置,方法包括:当第一数据的数据流到达转发层后,判断本节点是否为所述第一数据的数据流的目的节点;所述目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点;其中,所述第一存储单元为所述第一数据的写入单元;如果否,确定所述第一数据的数据流的目的节点,将所述第一数据的数据流转发至所述目的节点,由所述目的节点将所述第一数据的数据流发送到缓存层;如果是,将所述第一数据的数据流发送到缓存层,通过本发明保证了数据的一致性。

Description

一种数据处理方法和装置
技术领域
本发明涉及数据处理技术领域,更具体的说是涉及一种数据处理方法和装置。
背景技术
现有的存储***大多数为双节点存储***,在一个节点出现故障时,可以使用另一个节点来缓存数据,从而保证业务的正常进行。
近年来,为了进一步提高数据缓存的安全性,在双节点存储***的基础上,提出了多节点存储***,多节点存储***仍沿用双节点方式来进行数据的缓存。具体的,针对某一数据进行缓存时,该数据的数据流会被转发到任一节点上,从而出现数据不一致的技术问题。
发明内容
有鉴于此,本发明提供一种数据处理方法和装置,以解决现有技术中数据不一致的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种数据处理方法,包括:
当第一数据的数据流到达转发层后,判断本节点是否为所述第一数据的数据流的目的节点;所述目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点;其中,所述第一存储单元为所述第一数据的写入单元;
如果否,确定所述第一数据的数据流的目的节点,将所述第一数据的数据流转发至所述目的节点,由所述目的节点将所述第一数据的数据流发送到缓存层;
如果是,将所述第一数据的数据流发送到缓存层。
优选的,所述判断本节点是否为所述第一数据的数据流的目的节点之前,还包括:
判断本节点是否为第一存储单元所属节点组中的节点;
如果是,触发所述判断本节点是否为所述第一数据的数据流的目的节点的步骤;
如果否,触发所述确定所述第一数据流的目的节点的步骤。
优选的,所述将所述第一数据的数据流发送到缓存层之后,还包括:
当本节点为所述第一存储单元的所属节点时,将所述第一数据镜像到所述所属节点的合作节点;
当本节点为所述第一存储单元的所属节点的合作节点时,将所述第一数据镜像到本节点的前置节点;
其中,所述本节点的前置节点为所述第一存储单元的所属节点。
优选的,所述确定所述第一数据流的目的节点包括:
从所述所属节点和所述所属节点的合作节点中选取数据处理能力大的节点为目的节点。
优选的,所述从所述所属节点和所述所属节点的合作节点中选取数据处理能力大的节点为目的节点,包括:
从所述所属节点和所述所属节点的合作节点中确定上一次进行数据处理的节点;
确定除所述上一次进行数据处理的节点的另一节点为目的节点。
一种数据处理装置,包括:
第一判断单元,用于当第一数据的数据流到达转发层后,判断本节点是否为所述第一数据的数据流的目的节点;所述目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点;其中,所述第一存储单元为所述第一数据的写入单元;
确定转发单元,用于当本节点不是所述第一数据的数据流的目的节点时,确定所述第一数据的数据流的目的节点,将所述第一数据的数据流转发至所述目的节点,由所述目的节点将所述第一数据的数据流发送到缓存层;
第一发送单元,用于当本节点是所述第一数据的数据流的目的节点时,将所述第一数据的数据流发送到缓存层。
优选的,还包括:
第二判断单元,用于当第一数据的数据流到达转发层后,判断本节点是否为第一存储单元所属节点组中的节点;
第一触发单元,用于当本节点为第一存储单元所属节点组中的节点时,触发所述第一判断单元执行判断本节点是否为所述第一数据的数据流的目的节点的操作;
第二触发单元,用于当本节点不是第一存储单元所属节点组中的节点时,触发所述确定转发单元执行确定所述第一数据流的目的节点的操作。
优选的,还包括:
第一镜像单元,用于当本节点为所述第一存储单元的所属节点时,将所述第一数据镜像到所述所属节点的合作节点;
第二镜像单元,用于当本节点为所述第一存储单元的所属节点的合作节点时,将所述第一数据镜像到本节点的前置节点;
其中,所述本节点的前置节点为所述第一存储单元的所属节点。
优选的,所述确定转发单元包括:
第一确定模块,用于当本节点不是所述第一数据的数据流的目的节点时,从所述所属节点和所述所属节点的合作节点中选取数据处理能力大的节点为目的节点;
第一转发模块,用于将所述第一数据的数据流转发至所述目的节点,由所述目的节点将所述第一数据的数据流发送到缓存层。
优选的,所述第一确定模块具体用于从所述所属节点和所述所属节点的合作节点中确定上一次进行数据处理的节点,从而确定除所述上一次进行数据处理的节点的另一节点为目的节点。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种数据处理方法,具体的,当第一数据的数据流到达转发层后,判断本节点是否为第一数据的数据流的目的节点,目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点;其中,所第一存储单元为所述第一数据的写入单元;如果否,则确定出第一数据的数据流的目的节点,将第一数据的数据流转发至目的节点,最终由目的节点将第一数据的数据流发送到缓存层。由此可见,本申请中的第一数据的数据流会转发到目的节点上,由目的节点缓存到缓存层,保证了数据的一致性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明公开的一种多节点存储***的结构示意图;
图2为本发明实施例一公开的一种数据处理方法的流程示意图;
图3为本发明实施例二公开的一种数据处理方法的流程示意图;
图4为本发明实施例三公开的一种数据处理方法的流程示意图;
图5为本发明实施例四公开的一种数据处理装置的结构示意图;
图6为本发明实施例五公开的一种数据处理装置的结构示意图;
图7为本发明实施例六公开的一种数据处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施一公开了一种数据处理方法,该数据处理方法应用于多节点存储***中,具体的,图1示出了本发明公开的一种多节点存储***的结构示意图,如图1所示,客户端Host与N个节点相连,N个节点组成一个节点组,其中,一个节点为与其相邻的前一个节点的合作节点,为与其相邻的后一个节点的前置节点。也就是说,两个相邻的节点之间是单方合作关系,并不是互为合作关系。即,Node1为Node0的合作节点,为Node2的前置节点;Node2为Node1的合作节点,为Node3的前置节点,…以此类推。
需说明的是,多节点存储***包括至少一个节点组,图1以客户端对应一个节点组为例,当然客户端可以对应多个节点组,本发明对此并不做限定。而每个节点组包括至少两个节点。
图2示出了一种数据处理方法的流程示意图,如图2所示,该方法包括以下步骤:
步骤201:当第一数据的数据流到达转发层后,判断本节点是否为第一数据的数据流的目的节点;若否,进入步骤202;若是,进入步骤203;
本节点指代为其转发层上接收到第一数据的数据流的节点。
其中,目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点。
第一存储单元为第一数据的写入单元,具体的,第一存储单元为LUN(LogicalUnit Number,逻辑单元号),一个LUN可以由一块磁盘构成,也可以由几块磁盘构成,还可以由一块磁盘上的部分空间构成等等。
第一存储单元的所属节点为拥有该第一存储单元的节点,该节点为第一存储单元的指定节点,用于将需要写入第一存储单元的数据写入到第一存储单元中。第一存储单元的所属节点的合作节点为与第一存储单元的所属节点相邻的节点,由前文关于多节点存储***的描述可知,第一存储单元的所属节点和所属节点的合作节点之间为单方向合作关系,第一存储单元的所属节点为第一存储单元的所属节点的合作节点的前置节点。
当客户端下发的第一数据的数据流到达某一节点的转发层后,该节点会判断本节点是否为第一数据的数据流的目的节点。
具体的,多节点存储***中每一节点上存储有本节点的节点索引以及所有节点的位图信息,因此,基于本节点的节点索引以及所有节点的位图信息能够判断出本节点是否为第一数据的数据流的目的节点。例如,位图信息为32位的整型值,即针对节点0-31。本节点的节点索引为第N位,那么,如果位图信息的第N位置1则表示节点N上接收到的第一存储单元的数据流需要转发,即节点N不是第一数据的数据流的目的节点,如果位图信息的第N为置0则表示节点N上接收到的第一存储单元的数据流不需要转发,即节点N是第一数据的数据流的目的节点。也就是说,位图信息中除了第一数据的数据流所属的第一存储单元的所属节点的位以及合作节点的位置0外,其余位均置1。
步骤202:确定第一数据的数据流的目的节点,将第一数据的数据流转发至目的节点,由目的节点将第一数据的数据流发送至缓存层;
当确定本节点不是第一数据的数据流的目的节点时,则可以从第一存储单元的所属节点和第一存储单元的所属节点的合作节点中选择一个节点作为目的节点,从而将第一数据的数据流转发至目的节点的转发层,由目的节点将第一数据的数据流发送至目的节点的缓存层。
步骤203:将第一数据的数据流发送到缓存层。
当确定本节点是第一数据的数据流的目的节点时,则直接由本节点将第一数据的数据流发送到本节点的缓存层。需说明的是,在第一节点的转发层和缓存层之间可能还具有其他数据处理层,但是,该第一数据的数据流最终会被发送到缓存层中,即将第一数据的数据流发送到缓存层并不一定指代为由转发层直接下发到缓存层,而可以指代为由转发层下发到其他数据处理层经过数据处理后最终发送到缓存层。
在本实施例中,当第一数据的数据流到达转发层后,判断本节点是否为第一数据的数据流的目的节点,目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点;其中,所第一存储单元为所述第一数据的写入单元;如果否,则确定出第一数据的数据流的目的节点,将第一数据的数据流转发至目的节点,最终由目的节点将第一数据的数据流发送到缓存层。由此可见,本申请中的第一数据的数据流会转发到目的节点上,由目的节点缓存到缓存层,保证了数据的一致性。
实施例二
本发明实施例二还公开了一种数据处理方法,如图3所示,该方法包括以下步骤:
步骤301:当第一数据的数据流到达转发层后,判断本节点是否为第一存储单元所属节点组中的节点;若是,进入步骤302;若否,进入步骤303;
第一存储单元为第一数据的写入单元,具有拥有该第一存储单元的所属节点。在多节点存储***中,每一节点均属于一个节点组,相应的,第一存储单元所属节点组为具有第一存储单元的所属节点的节点组。
具体的,多节点存储***中每一节点上存储有本节点的节点索引以及所有节点的位图信息,因此,基于本节点的节点索引以及所有节点的位图信息能够判断出本节点是否为第一存储单元所属节点组中的节点。
步骤302:判断本节点是否为所述第一数据的数据流的目的节点;若否,进入步骤303,若是,进入步骤304;
步骤303:确定所述第一数据的数据流的目的节点,将所述第一数据的数据流转发至所述目的节点,由所述目的节点将所述第一数据的数据流发送到缓存层;
作为一种具体的实现方式,确定所述第一数据流的目的节点包括:从所属节点和所属节点的合作节点中选取数据处理能力大的节点为目的节点。
具体的,从所属节点和所属节点的合作节点中选取数据处理能力大的节点为目的节点,包括:从所属节点和所属节点的合作节点中确定上一次进行数据处理的节点,从而确定除上一次数据处理的节点的另一节点为目的节点。
其中,第一存储单元的所属节点和所属节点的合作节点中,确定出上一次进行数据处理的节点,若上一次进行数据处理的节点为第一存储单元的所属节点,那么则确定第一存储单元的所属节点的合作节点为目的节点;若上一次进行数据处理的节点为第一存储单元的所属节点的合作节点,那么则确定第一存储单元的所属节点为目的节点。
步骤304:将所述第一数据的数据流发送到缓存层。
在本实施例中,当第一数据的数据流到达转发层后,判断本节点是否为第一存储单元所属节点组中的节点,若本节点是第一存储单元所属节点组中的节点,那么则需判断本节点是否为所述第一数据的数据流的目的节点,如果本节点不是第一存储单元所属节点组中的节点,那么则可以直接确定第一数据的数据流的目的节点,从而实现由目的节点将第一数据的数据流发送到的缓存层,保证了数据的一致性。
实施例三
本发明实施例三还公开了一种数据处理方法,如图4所示,该方法包括以下步骤:
步骤401:当第一数据的数据流到达转发层后,判断本节点是否为第一数据的数据流的目的节点;若否,进入步骤402;若是,进入步骤403;
其中,目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点。
第一存储单元为第一数据的写入单元。
步骤402:确定第一数据的数据流的目的节点,将第一数据的数据流转发至目的节点,由目的节点将第一数据的数据流发送至缓存层;
当确定本节点不是第一数据的数据流的目的节点时,则可以从第一存储单元的所属节点和第一存储单元的所属节点的合作节点中选择一个节点作为目的节点,从而将第一数据的数据流转发至目的节点的转发层,由目的节点将第一数据的数据流发送至目的节点的缓存层。
步骤403:将第一数据的数据流发送到缓存层;
步骤404:当本节点为第一存储单元的所属节点时,将第一数据镜像到所属节点的合作节点;
步骤405:当本节点为第一存储单元的所属节点的合作节点时,将第一数据镜像到本节点的前置节点。
其中,本节点的前置节点为第一存储单元的所属节点。第一存储单元的所属节点和第一存储单元的所属节点的合作节点为两个相邻的节点,且第一存储单元的所属节点为第一存储单元的所属节点的合作节点的前置节点,当本节点为第一存储单元的所属节点的合作节点时,将第一数据镜像到本节点的前置节点后,则相当于将第一数据镜像到第一存储单元的所属节点。
在本实施例中,当数据流达到缓存层后,当本节点为所述第一存储单元的所属节点时,将所述第一数据镜像到所述所属节点的合作节点,当本节点为所述第一存储单元的所属节点的合作节点时,将所述第一数据镜像到本节点的前置节点,从而保证当一个节点出现故障时,能够通过另一个节点进行来缓存数据。并且,由于第一数据分别保存在第一存储单元的所属节点以及所属节点的合作节点中,因此能够保证通过第一存储单元的所属节点下发到第一存储单元的数据为最新的数据。
与上述一种数据处理方法对应的,本发明还提供了一种数据处理装置,该装置应用于多节点存储***中。具体的,通过以下实施例进行详细描述:
实施例四
本发明实施例四公开了一种数据处理装置,如图5所示,该装置包括:第一判断单元501、确定转发单元502、第一发送单元503;其中:
第一判断单元501,用于当第一数据的数据流到达转发层后,判断本节点是否为所述第一数据的数据流的目的节点;
目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点;其中,第一存储单元为所述第一数据的写入单元。
第一存储单元的所属节点为拥有该第一存储单元的节点,该节点为第一存储单元的指定节点,用于将需要写入第一存储单元的数据写入到第一存储单元中。第一存储单元的所属节点的合作节点为与第一存储单元的所属节点相邻的节点,由前文关于多节点存储***的描述可知,第一存储单元的所属节点和所属节点的合作节点之间为单方向合作关系,第一存储单元的所属节点为第一存储单元的所属节点的合作节点的前置节点。
第一判断单元501用于当客户端下发的第一数据的数据流到达某一节点的转发层后,判断本节点是否为第一数据的数据流的目的节点。具体的,多节点存储***中每一节点上存储有与第一存储单元相关的信息,该信息包含有第一存储单元的所属节点和第一存储单元的所属节点的合作节点,因此第一判断单元基于该信息能够确定出本节点是否为目的节点。
确定转发单元502,用于当本节点不是所述第一数据的数据流的目的节点时,确定所述第一数据的数据流的目的节点,将所述第一数据的数据流转发至所述目的节点,由所述目的节点将所述第一数据的数据流发送到缓存层;
当确定本节点不是第一数据的数据流的目的节点时,确定转发单元则可以从第一存储单元的所属节点和第一存储单元的所属节点的合作节点中选择一个节点作为目的节点,从而将第一数据的数据流转发至目的节点的转发层,由目的节点将第一数据的数据流发送至目的节点的缓存层。
具体的,作为一种实现方式,确定转发单元502包括:第一确定模块和第一转发模块。其中,第一确定模块,用于当本节点不是所述第一数据的数据流的目的节点时,从所述所属节点和所述所属节点的合作节点中选取数据处理能力大的节点为目的节点;第一转发模块,用于将所述第一数据的数据流转发至所述目的节点,由所述目的节点将所述第一数据的数据流发送到缓存层。
其中,第一确定模块具体用于从所述所属节点和所述所属节点的合作节点中确定上一次进行数据处理的节点,从而确定除所述上一次进行数据处理的节点的另一节点为目的节点。也就是说,若上一次进行数据处理的节点为第一存储单元的所属节点,那么第一确定模块则确定第一存储单元的所属节点的合作节点为目的节点;若上一次进行数据处理的节点为第一存储单元的所属节点的合作节点,那么第一确定模块则确定第一存储单元的所属节点为目的节点。
第一发送单元503,用于当本节点是所述第一数据的数据流的目的节点时,将所述第一数据的数据流发送到缓存层。
在本实施例中,当第一数据的数据流到达转发层后,判断本节点是否为第一数据的数据流的目的节点,目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点;其中,所第一存储单元为所述第一数据的写入单元;如果否,则确定出第一数据的数据流的目的节点,将第一数据的数据流转发至目的节点,最终由目的节点将第一数据的数据流发送到缓存层。由此可见,本申请中的第一数据的数据流会转发到目的节点上,由目的节点缓存到缓存层,保证了数据的一致性。
实施例五
本发明实施例五公开了一种数据处理装置,如图6所示,该装置包括:第二判断单元601、第一触发单元602、第二触发单元603、第一判断单元604、确定转发单元605、第一发送单元606;其中:
第二判断单元601,用于当第一数据的数据流到达转发层后,判断本节点是否为第一存储单元所属节点组中的节点;
第一存储单元为第一数据的写入单元,具有拥有该第一存储单元的所属节点。在多节点存储***中,每一节点均属于一个节点组,相应的,第一存储单元所属节点组为具有第一存储单元的所属节点的节点组。
具体的,多节点存储***中每一节点上存储有与第一存储单元相关的信息,该信息包含有第一存储单元的所属节点和第一存储单元的所属节点的合作节点,还包含有第一存储单元所属节点组标识;多节点存储***中每一节点上还存储有其所属节点组的标识。因此,第二判断单元可以通过判断本节点所属节点组的标识与第一存储单元所属节点组标识是否一致来确定本节点是否为第一存储单元所属节点组中的节点。
第一触发单元602,用于当本节点为第一存储单元所属节点组中的节点时,触发第一判断单元604执行判断本节点是否为所述第一数据的数据流的目的节点的操作;
第二触发单元603,用于当本节点不是第一存储单元所属节点组中的节点时,触发确定转发单元605执行确定第一数据流的目的节点的操作;
第一判断单元604,用于判断本节点是否为第一数据的数据流的目的节点;
目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点;其中,第一存储单元为第一数据的写入单元。
确定转发单元605,用于当本节点不是第一数据的数据流的目的节点时,确定第一数据的数据流的目的节点,将第一数据的数据流转发至目的节点,由目的节点将第一数据的数据流发送到缓存层;
第一发送单元606,用于当本节点是第一数据的数据流的目的节点时,将第一数据的数据流发送到缓存层。
在本实施例中,当第一数据的数据流到达转发层后,先判断本节点是否为第一存储单元所属节点组中的节点,若本节点是第一存储单元所属节点组中的节点,那么则再判断本节点是否为所述第一数据的数据流的目的节点,如果本节点不是第一存储单元所属节点组中的节点,则直接确定第一数据的数据流的目的节点,从而实现由目的节点将第一数据的数据流发送到的缓存层,保证了数据的一致性。
实施例六
本发明实施例六公开了一种数据处理装置,如图7所示,该装置包括:第一判断单元701、确定转发单元702、第一发送单元703、第一镜像单元704以及第二镜像单元705;其中:
第一判断单元701,用于当第一数据的数据流到达转发层后,判断本节点是否为所述第一数据的数据流的目的节点;
目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点;其中,所述第一存储单元为第一数据的写入单元。
确定转发单元702,用于当本节点不是第一数据的数据流的目的节点时,确定第一数据的数据流的目的节点,将第一数据的数据流转发至目的节点,由目的节点将所述第一数据的数据流发送到缓存层;
第一发送单元703,用于当本节点是第一数据的数据流的目的节点时,将第一数据的数据流发送到缓存层;
第一镜像单元704,用于当本节点为第一存储单元的所属节点时,将第一数据镜像到所述所属节点的合作节点;
第二镜像单元705,用于当本节点为第一存储单元的所属节点的合作节点时,将第一数据镜像到本节点的前置节点;
其中,本节点的前置节点为所述第一存储单元的所属节点。第一存储单元的所属节点和第一存储单元的所属节点的合作节点为两个相邻的节点,且第一存储单元的所属节点为第一存储单元的所属节点的合作节点的前置节点,当本节点为第一存储单元的所属节点的合作节点时,将第一数据镜像到本节点的前置节点后,则相当于将第一数据镜像到第一存储单元的所属节点。
在本实施例中,当数据流达到缓存层后,当本节点为所述第一存储单元的所属节点时,将所述第一数据镜像到所述所属节点的合作节点,当本节点为所述第一存储单元的所属节点的合作节点时,将所述第一数据镜像到本节点的前置节点,从而保证当一个节点出现故障时,能够通过另一个节点进行来缓存数据。并且,由于第一数据分别保存在第一存储单元的所属节点以及所属节点的合作节点中,因此能够保证通过第一存储单元的所属节点将第一数据下发到第一存储单元的数据为最新的数据。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
当第一数据的数据流到达转发层后,判断本节点是否为所述第一数据的数据流的目的节点;所述目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点;其中,所述第一存储单元为所述第一数据的写入单元;
如果否,确定所述第一数据的数据流的目的节点,将所述第一数据的数据流转发至所述目的节点,由所述目的节点将所述第一数据的数据流发送到缓存层;
如果是,将所述第一数据的数据流发送到缓存层。
2.根据权利要求1所述的方法,其特征在于,所述判断本节点是否为所述第一数据的数据流的目的节点之前,还包括:
判断本节点是否为第一存储单元所属节点组中的节点;
如果是,触发所述判断本节点是否为所述第一数据的数据流的目的节点的步骤;
如果否,触发所述确定所述第一数据流的目的节点的步骤。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一数据的数据流发送到缓存层之后,还包括:
当本节点为所述第一存储单元的所属节点时,将所述第一数据镜像到所述所属节点的合作节点;
当本节点为所述第一存储单元的所属节点的合作节点时,将所述第一数据镜像到本节点的前置节点;
其中,所述本节点的前置节点为所述第一存储单元的所属节点。
4.根据权利要求1所述方法,其特征在于,所述确定所述第一数据流的目的节点包括:
从所述所属节点和所述所属节点的合作节点中选取数据处理能力大的节点为目的节点。
5.根据权利要求4所述的方法,其特征在于,所述从所述所属节点和所述所属节点的合作节点中选取数据处理能力大的节点为目的节点,包括:
从所述所属节点和所述所属节点的合作节点中确定上一次进行数据处理的节点;
确定除所述上一次进行数据处理的节点的另一节点为目的节点。
6.一种数据处理装置,其特征在于,包括:
第一判断单元,用于当第一数据的数据流到达转发层后,判断本节点是否为所述第一数据的数据流的目的节点;所述目的节点包括第一存储单元的所属节点和第一存储单元的所属节点的合作节点;其中,所述第一存储单元为所述第一数据的写入单元;
确定转发单元,用于当本节点不是所述第一数据的数据流的目的节点时,确定所述第一数据的数据流的目的节点,将所述第一数据的数据流转发至所述目的节点,由所述目的节点将所述第一数据的数据流发送到缓存层;
第一发送单元,用于当本节点是所述第一数据的数据流的目的节点时,将所述第一数据的数据流发送到缓存层。
7.根据权利要求6所述的装置,其特征在于,还包括:
第二判断单元,用于当第一数据的数据流到达转发层后,判断本节点是否为第一存储单元所属节点组中的节点;
第一触发单元,用于当本节点为第一存储单元所属节点组中的节点时,触发所述第一判断单元执行判断本节点是否为所述第一数据的数据流的目的节点的操作;
第二触发单元,用于当本节点不是第一存储单元所属节点组中的节点时,触发所述确定转发单元执行确定所述第一数据流的目的节点的操作。
8.根据权利要求6所述的装置,其特征在于,还包括:
第一镜像单元,用于当本节点为所述第一存储单元的所属节点时,将所述第一数据镜像到所述所属节点的合作节点;
第二镜像单元,用于当本节点为所述第一存储单元的所属节点的合作节点时,将所述第一数据镜像到本节点的前置节点;
其中,所述本节点的前置节点为所述第一存储单元的所属节点。
9.根据权利要求6所述装置,其特征在于,所述确定转发单元包括:
第一确定模块,用于当本节点不是所述第一数据的数据流的目的节点时,从所述所属节点和所述所属节点的合作节点中选取数据处理能力大的节点为目的节点;
第一转发模块,用于将所述第一数据的数据流转发至所述目的节点,由所述目的节点将所述第一数据的数据流发送到缓存层。
10.根据权利要求9所述的装置,其特征在于,所述第一确定模块具体用于从所述所属节点和所述所属节点的合作节点中确定上一次进行数据处理的节点,从而确定除所述上一次进行数据处理的节点的另一节点为目的节点。
CN201710386160.8A 2017-05-26 2017-05-26 一种数据处理方法和装置 Active CN107102918B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710386160.8A CN107102918B (zh) 2017-05-26 2017-05-26 一种数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710386160.8A CN107102918B (zh) 2017-05-26 2017-05-26 一种数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN107102918A true CN107102918A (zh) 2017-08-29
CN107102918B CN107102918B (zh) 2020-06-16

Family

ID=59670072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710386160.8A Active CN107102918B (zh) 2017-05-26 2017-05-26 一种数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN107102918B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109460187A (zh) * 2018-11-09 2019-03-12 郑州云海信息技术有限公司 一种qcow2文件数据一致性验证方法及验证终端
CN110968453A (zh) * 2018-09-28 2020-04-07 杭州海康威视***技术有限公司 一种数据存储方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562543A (zh) * 2009-05-25 2009-10-21 阿里巴巴集团控股有限公司 一种缓存数据的处理方法、处理***和装置
CN102577278A (zh) * 2009-10-19 2012-07-11 国际商业机器公司 用于分布式集群存储网络的动态资源分配
CN102594698A (zh) * 2012-03-12 2012-07-18 中国人民解放军总参谋部第六十三研究所 基于节点位置预测的dtn网络异步路由算法
CN104008111A (zh) * 2013-02-27 2014-08-27 深圳市腾讯计算机***有限公司 一种数据的存储管理方法及装置
US9069681B1 (en) * 2013-03-20 2015-06-30 Google Inc. Real-time log joining on a continuous stream of events that are approximately ordered
WO2016012320A1 (en) * 2014-07-22 2016-01-28 Alcatel Lucent Signaling for transmission of coherent data flow within packet-switched network
CN105577547A (zh) * 2016-01-18 2016-05-11 重庆邮电大学 一种移动自组织网络中基于多Qos路由选择方法
CN105721398A (zh) * 2014-12-04 2016-06-29 深圳市金蝶中间件有限公司 数据访问的方法及装置
CN106156328A (zh) * 2016-07-06 2016-11-23 中国银行股份有限公司 一种银行运行日志数据监控方法及***

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101562543A (zh) * 2009-05-25 2009-10-21 阿里巴巴集团控股有限公司 一种缓存数据的处理方法、处理***和装置
CN102577278A (zh) * 2009-10-19 2012-07-11 国际商业机器公司 用于分布式集群存储网络的动态资源分配
CN102594698A (zh) * 2012-03-12 2012-07-18 中国人民解放军总参谋部第六十三研究所 基于节点位置预测的dtn网络异步路由算法
CN104008111A (zh) * 2013-02-27 2014-08-27 深圳市腾讯计算机***有限公司 一种数据的存储管理方法及装置
US9069681B1 (en) * 2013-03-20 2015-06-30 Google Inc. Real-time log joining on a continuous stream of events that are approximately ordered
WO2016012320A1 (en) * 2014-07-22 2016-01-28 Alcatel Lucent Signaling for transmission of coherent data flow within packet-switched network
CN105721398A (zh) * 2014-12-04 2016-06-29 深圳市金蝶中间件有限公司 数据访问的方法及装置
CN105577547A (zh) * 2016-01-18 2016-05-11 重庆邮电大学 一种移动自组织网络中基于多Qos路由选择方法
CN106156328A (zh) * 2016-07-06 2016-11-23 中国银行股份有限公司 一种银行运行日志数据监控方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
田秀霞等: "输入/输出流", 《C++程序设计教程》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968453A (zh) * 2018-09-28 2020-04-07 杭州海康威视***技术有限公司 一种数据存储方法及装置
CN109460187A (zh) * 2018-11-09 2019-03-12 郑州云海信息技术有限公司 一种qcow2文件数据一致性验证方法及验证终端
CN109460187B (zh) * 2018-11-09 2022-05-03 郑州云海信息技术有限公司 一种qcow2文件数据一致性验证方法及验证终端

Also Published As

Publication number Publication date
CN107102918B (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
US7478154B2 (en) Storage system with link selection control
JP4291664B2 (ja) 通信バッファ予約機能を備えるストレージ装置およびシステム
US8185663B2 (en) Mirroring storage interface
US7797393B2 (en) Shared storage network system and a method for operating a shared storage network system
CN103890729B (zh) 计算机化方法、存储服务器及管理服务器
JP4759574B2 (ja) ネットワークパケットキャプチャ分散ストレージシステムの方法及び機器
US6848007B1 (en) System for mapping addresses of SCSI devices between plurality of SANs that can dynamically map SCSI device addresses across a SAN extender
CN103338243B (zh) Web节点的缓存数据更新方法和***
US7779368B2 (en) Systems and methods for presenting managed data
US7987154B2 (en) System, a method and a device for updating a data set through a communication network
JP2002526821A (ja) 複数のファイルサーバ間における永続状況情報の調整
CN106446159B (zh) 一种存储文件的方法、第一虚拟机及名称节点
US20030023808A1 (en) Method and system for maintaining data coherency in a dual input/output adapter utilizing clustered adapters
JPH05102972A (ja) 選択的メツセージ介入方法および装置
US7092982B2 (en) Storage system with method of minimizing redundant transmissions over a plurality of communication paths
US7107355B2 (en) High availability lightweight directory access protocol service
CN108696581A (zh) 分布式信息的缓存方法、装置、计算机设备以及存储介质
CN107102918A (zh) 一种数据处理方法和装置
JP4208506B2 (ja) 高性能記憶装置アクセス環境
CN108897644A (zh) 一种双控制器故障处理方法与***
CN110471906A (zh) 数据库切换方法、装置及设备
WO2001035188A2 (en) Method and system for mapping addressing of scsi devices between storage area networks
KR100204202B1 (ko) 데이타 통신용 프로토콜 및 보안 유지 방법
CN109491615A (zh) 一种基于集群存储***的仲裁***
JP4187403B2 (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
TA01 Transfer of patent application right

Effective date of registration: 20200520

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant