数据写入方法及装置、双活系统制造方法及图纸

技术编号:15639172 阅读:91 留言:0更新日期:2017-06-15 21:51
本发明专利技术公开了一种数据写入方法及装置、双活系统,属于数据存储技术领域。所述方法包括:向第二存储控制器发送第一写操作命令;接收第二存储控制器发送的返回消息;向第二存储控制器发送转发写命令;接收第二存储控制器在确定停止根据第二写操作命令向第二位置写入数据,且开始根据转发写命令向第二位置写入数据时,发送的转发写命令;根据转发写命令,向第一位置写入数据。本发明专利技术解决了数据写入的效率较低的问题,提高了数据写入的效率,本发明专利技术用于数据的写入。

【技术实现步骤摘要】
数据写入方法及装置、双活系统
本专利技术涉及数据存储
,特别涉及一种数据写入方法及装置、双活系统。
技术介绍
双活系统是一种常见的数据存储系统,双活系统包括第一存储控制器和第二存储控制器,每个存储控制器上均可以设置有存储阵列,每个存储阵列可以包括多个存储位置。与双活系统连接的主机可以根据需要向双活系统发送包含目标存储位置的写操作命令,以便于双活系统中的第一存储控制器和第二存储控制器根据该写操作命令向每个存储控制器上的目标存储位置写入数据,当第一存储控制器故障时,主机能够从第二存储控制器的目标存储位置获取数据。示例的,第一存储控制器上的目标存储位置为第一位置,第二存储控制器上的目标存储位置为第二位置。主机可以将该写操作命令发送至第一存储控制器,若该第一存储控制器此时并不是正在根据某一写操作命令向第一位置写入数据,则该第一存储控制器可以对该第一位置进行加锁,并将该写操作命令发送至第二存储控制器,使得此时第一存储控制器无法根据其他写操作命令向第一位置写入数据。为了防止该第二存储控制器在根据该写操作命令向第二位置写入数据时,根据其他写操作命令向第二位置写入数据,在第二存储控制器接收到该写操作命令后,第二存储控制器可以触发为第二位置加锁的动作,使得此时该第二存储控制器无法根据其他写操作命令向第二位置写入数据。在加锁完毕之后,第二存储控制器可以将用于指示为第二位置加锁成功的加锁信息发送至第一存储控制器。然后,第一存储控制器和第二存储控制器可以分别根据该写操作命令向第一位置和第二位置写入数据。在第二存储控制器向第二位置写入数据完毕后,该第二存储控制器可以向第一存储控制器发送用于指示写入数据执行完毕的结束消息。在第一存储控制器在接收到该结束消息,且向第一位置写入数据完毕后,可以解除第一位置上的锁,并向第二存储控制器发送解锁命令,第二存储控制器在接收到该解锁命令后,可以解除该第二位置上的锁。可选的,第二位置上的锁可以为分布式锁管理(英文:DistributedLockManagement;简称:DLM)锁。由于在双活系统中写入数据的过程中,需要为第一位置和第二位置进行加锁和解锁,且在加锁和解锁的过程中,第一存储控制器与第二存储控制器需要进行多次通信,因此,双活系统中数据写入耗费的时间较长,数据写入的效率较低。
技术实现思路
为了解决数据写入的效率较低的问题,本专利技术提供了一种数据写入方法及装置、双活系统。所述技术方案如下:第一方面,提供了一种数据写入方法,用于双活系统中的第一存储控制器,所述双活系统还包括第二存储控制器,所述方法包括:向第二存储控制器发送第一写操作命令,所述第一写操作命令为主机发送给所述第一存储控制器的,所述第一写操作命令用于指示在目标存储位置写入数据,所述第一存储控制器中的所述目标存储位置为第一位置,所述第二存储控制器中的所述目标存储位置为第二位置;接收所述第二存储控制器发送的返回消息,所述返回消息用于指示所述第二存储控制器在接收到所述第一写操作命令时,正在根据第二写操作命令向所述第二位置写入数据,所述返回消息为所述第二存储控制器确定所述第二存储控制器的优先级高于所述第一存储控制器的优先级时,生成并发送给所述第一存储控制器的;向所述第二存储控制器发送转发写命令,所述第一转发写命令指示的操作与所述写操作命令指示的操作相同;接收所述第二存储控制器在确定停止根据所述第二写操作命令向所述第二位置写入数据,且开始根据所述转发写命令向所述第二位置写入数据时,发送的所述转发写命令;根据所述转发写命令,向所述第一位置写入数据。由于第一存储控制器在向第二存储控制器发送第一写操作命令后,接收到第二存储控制器在确定第二存储控制器的优先级高于第一存储控制器,且该第二存储控制器正在根据第二写操作命令向第二位置写入数据时,向第一存储控制器发送的返回消息,然后该第一存储控制器向第二存储控制器发送转发写命令,使得该第一存储控制器和第二存储控制器根据转发写命令分别向第一位置和第二位置写入数据。本专利技术实施例中,根据第一存储控制器与第二存储控制器的优先级顺序,依次向第二位置写入数据,防止了该第二存储控制器同时根据两个写操作命令向同一存储位置写入数据,且无需为第二位置加锁,所以,减少了第一存储控制器与第二存储控制器之间的通信次数,减短了双活系统中数据写入耗费的时间,提高了数据写入的效率。结合第一方面,在第一方面的第一种可实现方式中,在所述向第二存储控制器发送第一写操作命令之前,所述方法还包括:接收主机发送的所述第一写操作命令;判断所述第一存储控制器是否正在根据第三写操作命令向所述第一位置写入数据;所述向第二存储控制器发送第一写操作命令,包括:若所述第一存储控制器不是正在根据第三写操作命令向所述第一位置写入数据,则根据所述第一写操作命令向所述第一位置写入数据,并向所述第二存储控制器发送所述第一写操作命令。在第一存储控制器接收到主机发送的第一写操作命令后,若该第一存储控制器此时正在根据第三写操作命令向第一位置写入数据,则该第一存储控制器需要等待该第一存储控制器根据第三写操作命令向第一位置写入数据完毕后,才根据该第一写操作命令向第一位置写入数据,使得该第一存储控制器按照一定的顺序,有序的处理第一存储控制器接收到的写操作命令。结合第一方面的第一种可实现方式,在第一方面的第二种可实现方式中,在所述向所述第二存储控制器发送转发写命令之前,所述方法还包括:停止根据所述第一写操作命令向所述第一位置写入数据。结合第一方面的第一种可实现方式或第二种可实现方式,在第一方面的第三种可实现方式中,每个存储控制器上均设置有写操作记录模块,所述写操作记录模块用于记载:所述写操作记录模块所在的存储控制器中正在写入数据的存储位置,所述判断所述第一存储控制器是否正在根据第三写操作命令向所述第一位置写入数据,包括:判断所述第一存储控制器上的写操作记录模块中是否记载有所述第一位置;若所述第一存储控制器上的写操作记录模块中记载有所述第一位置,则确定所述第一存储控制器正在根据第三写操作命令向所述第一位置写入数据;若所述第一存储控制器上的写操作记录模块中未记载有所述第一位置,则确定所述第一存储控制器不是正在根据第三写操作命令向所述第一位置写入数据。第二方面,提供了一种数据写入方法,用于双活系统中的第二存储控制器,所述双活系统还包括第一存储控制器,所述方法包括:接收第一存储控制器发送的第一写操作命令,所述第一写操作命令是所述第一存储控制器在接收到主机发送的所述第一写操作命令后发送给所述第二存储控制器的,所述第一写操作命令用于指示在目标存储位置写入数据,所述第二存储控制器中的所述目标存储位置为第二位置;在所述第二存储控制器正在根据所述第二写操作命令向所述第二位置写入数据,且所述第二存储控制器的优先级高于所述第一存储控制器的优先级时,向所述第一存储控制器发送返回消息,所述返回消息用于指示所述第二存储控制器在接收到所述第一写操作命令时,正在根据第二写操作命令向所述第二位置写入数据;接收所述第一存储控制器发送的转发写命令,所述转发写命令指示的操作与所述写操作命令指示的操作相同;在所述第二存储控制器停止根据所述第二写操作命令向所述第二位置写入数据时,根据所述转发写命令向所本文档来自技高网
...
数据写入方法及装置、双活系统

【技术保护点】
一种数据写入方法,其特征在于,用于双活系统中的第一存储控制器,所述双活系统还包括第二存储控制器,所述方法包括:向第二存储控制器发送第一写操作命令,所述第一写操作命令为主机发送给所述第一存储控制器的,所述第一写操作命令用于指示在目标存储位置写入数据,所述第一存储控制器中的所述目标存储位置为第一位置,所述第二存储控制器中的所述目标存储位置为第二位置;接收所述第二存储控制器发送的返回消息,所述返回消息用于指示所述第二存储控制器在接收到所述第一写操作命令时,正在根据第二写操作命令向所述第二位置写入数据,所述返回消息为所述第二存储控制器确定所述第二存储控制器的优先级高于所述第一存储控制器的优先级时,生成并发送给所述第一存储控制器的;向所述第二存储控制器发送转发写命令,所述第一转发写命令指示的操作与所述写操作命令指示的操作相同;接收所述第二存储控制器在确定停止根据所述第二写操作命令向所述第二位置写入数据,且开始根据所述转发写命令向所述第二位置写入数据时,发送的所述转发写命令;根据所述转发写命令,向所述第一位置写入数据。

【技术特征摘要】
1.一种数据写入方法,其特征在于,用于双活系统中的第一存储控制器,所述双活系统还包括第二存储控制器,所述方法包括:向第二存储控制器发送第一写操作命令,所述第一写操作命令为主机发送给所述第一存储控制器的,所述第一写操作命令用于指示在目标存储位置写入数据,所述第一存储控制器中的所述目标存储位置为第一位置,所述第二存储控制器中的所述目标存储位置为第二位置;接收所述第二存储控制器发送的返回消息,所述返回消息用于指示所述第二存储控制器在接收到所述第一写操作命令时,正在根据第二写操作命令向所述第二位置写入数据,所述返回消息为所述第二存储控制器确定所述第二存储控制器的优先级高于所述第一存储控制器的优先级时,生成并发送给所述第一存储控制器的;向所述第二存储控制器发送转发写命令,所述第一转发写命令指示的操作与所述写操作命令指示的操作相同;接收所述第二存储控制器在确定停止根据所述第二写操作命令向所述第二位置写入数据,且开始根据所述转发写命令向所述第二位置写入数据时,发送的所述转发写命令;根据所述转发写命令,向所述第一位置写入数据。2.根据权利要求1所述的方法,其特征在于,在所述向第二存储控制器发送第一写操作命令之前,所述方法还包括:接收主机发送的所述第一写操作命令;判断所述第一存储控制器是否正在根据第三写操作命令向所述第一位置写入数据;所述向第二存储控制器发送第一写操作命令,包括:若所述第一存储控制器不是正在根据第三写操作命令向所述第一位置写入数据,则根据所述第一写操作命令向所述第一位置写入数据,并向所述第二存储控制器发送所述第一写操作命令。3.根据权利要求2所述的方法,其特征在于,在所述向所述第二存储控制器发送转发写命令之前,所述方法还包括:停止根据所述第一写操作命令向所述第一位置写入数据。4.根据权利要求2或3所述的方法,其特征在于,每个存储控制器上均设置有写操作记录模块,所述写操作记录模块用于记载:所述写操作记录模块所在的存储控制器中正在写入数据的存储位置,所述判断所述第一存储控制器是否正在根据第三写操作命令向所述第一位置写入数据,包括:判断所述第一存储控制器上的写操作记录模块中是否记载有所述第一位置;若所述第一存储控制器上的写操作记录模块中记载有所述第一位置,则确定所述第一存储控制器正在根据第三写操作命令向所述第一位置写入数据;若所述第一存储控制器上的写操作记录模块中未记载有所述第一位置,则确定所述第一存储控制器不是正在根据第三写操作命令向所述第一位置写入数据。5.一种数据写入方法,其特征在于,用于双活系统中的第二存储控制器,所述双活系统还包括第一存储控制器,所述方法包括:接收第一存储控制器发送的第一写操作命令,所述第一写操作命令是所述第一存储控制器在接收到主机发送的所述第一写操作命令后发送给所述第二存储控制器的,所述第一写操作命令用于指示在目标存储位置写入数据,所述第二存储控制器中的所述目标存储位置为第二位置;在所述第二存储控制器正在根据所述第二写操作命令向所述第二位置写入数据,且所述第二存储控制器的优先级高于所述第一存储控制器的优先级时,向所述第一存储控制器发送返回消息,所述返回消息用于指示所述第二存储控制器在接收到所述第一写操作命令时,正在根据第二写操作命令向所述第二位置写入数据;接收所述第一存储控制器发送的转发写命令,所述转发写命令指示的操作与所述写操作命令指示的操作相同;在所述第二存储控制器停止根据所述第二写操作命令向所述第二位置写入数据时,根据所述转发写命令向所述第二位置写入数据,并将所述转发写命令发送至所述第一存储控制器。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在所述第二存储控制器正在根据所述第二写操作命令向所述第二位置写入数据,所述第二存储控制器的优先级低于所述第一存储控制器的优先级,且所述第二存储控制器停止根据所述第二写操作命令向所述第二位置写入数据时,根据所述第一写操作命令向所述第二位置写入数据。7.根据权利要求5或6所述的方法,其特征在于,每个存储控制器上均设置有写操作记录模块,所述写操作记录模块用于记载:所述写操作记录模块所在的存储控制器中正在写入数据的存储位置,在所述第二存储控制器正在根据所述第二写操作命令向所述第二位置写入数据时,所述第二存储控制器上的写操作记录模块中记载有所述第二位置;在所述第二存储控制器不是正在根据所述第二写操作命令向所述第二位置写入数据时,所述第二存储控制器上的写操作记录模块中未记载有所述第二位置。8.一种数据写入装置,其特征在于,用于双活系统中的第一存储控制器,所述双活系统还包括第二存储控制器,所述数据写入装置包括:第一发送模块,用于向第二存储控制器发送第一写操作...

【专利技术属性】
技术研发人员:李小磊廖基祥
申请(专利权)人:成都华为技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1