数据储存系统及其数据储存方法与流程

文档序号:14571678发布日期:2018-06-01 22:32阅读:148来源:国知局
数据储存系统及其数据储存方法与流程

本发明关于一种数据储存系统及其数据储存方法。



背景技术:

随着数据储存需求的时代,多样的数据储存架构发展蓬勃,其应用相当广泛,例如云端数据储存、网页信箱(WEBMAIL)、线上金融交易系统等。

然而,在公知的数据储存架构中,数据储存架构仅包含单一数据池,而此种数据储存架构的风险极高,举例来说,若数据池损坏,将导致连接于同一数据池的所有客户端电脑无法存取数据池,若数据池中所储存的所有数据因数据池损坏而消失,将造成严重的损失;再者,在数据池损坏至修复的期间,客户端电脑亦无法再将新数据储存至数据池,造成客户端电脑于使用上的不便利性。



技术实现要素:

有鉴于此,本发明提出一种数据储存系统及其数据储存方法。

在一实施例中,一种数据储存系统包含第一服务器及第二服务器。第一服务器连接于第一传输线,第一服务器包含第一数据池及第一控制器。第一控制器用以操作于主动模式。于主动模式中,第一控制器接收来自客户端的欲储存数据,第一控制器将欲储存数据储存于第一数据池,并藉由第一传输线发送第一储存数据。第二服务器经由第一传输线连线于第一服务器,第二服务器包含第二数据池及第二控制器。第二控制器用以操作于主动模式。于主动模式中,第二控制器经由第一传输线接收欲储存数据,第二控制器将欲储存数据储存于第二数据池。

在另一实施例中,一种数据储存方法包含经由第一服务器的第一控制器接收来自至少一客户端的多个欲储存数据,将此些欲储存数据储存于第一服务器的第一数据池,将此些欲储存数据经由一传输线自第一服务器传送至第二服务器,以及经由第二服务器的第二控制器将此些欲储存数据储存于第二服务器的第二数据池。

综上所述,根据本发明的数据储存系统及数据储存方法的一实施例,数据储存系统包含两独立的数据池,且每一控制器可操作于拒绝模式,使客户端于传输线的连线中断时所发送的欲储存数据可储存在两数据池中之一者,以预防相同数据被区分为不同的数据片段而分别储存在不同的数据池中。

附图说明

图1为根据本发明的数据储存系统的一实施例的方块示意图。

图2为图1的数据储存系统的第一传输线的连线中断的一实施态样的方块示意图。

图3为图1的数据储存系统的第二数据池损坏的一实施态样的方块示意图。

图4为图1的数据储存系统的客户端包含救援模块的一实施态样的方块示意图。

图5为图4的数据储存系统的一实施态样的一流程图。

图6为图1的数据储存系统的第一服务器及第二服务器于运作时的时间轴的一实施态样的示意图。

【符号说明】

11 第一服务器

111 第一数据池

112 第一控制器

113 第一寄存器

12 第二服务器

121 第二数据池

122 第二控制器

123 第二寄存器

21 客户端

22 客户端

23 多重路径I/O模块

13 第一传输线

14 第二传输线

151 救援模块

152 救援模块

30 互联网

S1 第一健康信息

S2 第二健康信息

S3 第一模式切换信号

S4 第二模式切换信号

具体实施方式

图1为根据本发明的数据储存系统的一实施例的方块示意图。图2为图1的数据储存系统的第一传输线的连线中断的一实施态样的方块示意图。图3为图1的数据储存系统的第二数据池损坏的一实施态样的方块示意图。在此,图1至图3以两客户端21、22为例,但本发明不以此为限,客户端的数量可为大于二。请参照图1至图3,数据储存系统连线于客户端21、22,且数据储存系统可经由互联网30连线于客户端21、22,以执行客户端21、22所发送的写入要求及读取要求。数据储存系统包含两服务器(为方便描述,分别称为第一服务器11及第二服务器12)。第一服务器11经由第一传输线13及第二传输线14连线于第二服务器12。第一服务器11包含第一数据池111及第一控制器112,第一控制器112连接于第一数据池111。第二服务器12包含第二数据池121及第二控制器122,第二控制器122连接于第二数据池121。在一些实施态样中,第一传输线13可为符合高速总线标准的无限频带(Infini band)或光纤频道,第一服务器11与第二服务器12之间可藉由第一传输线13进行高速的数据传输,例如40Gb/s。而第二传输线14可为非高速数据传输线的网络线,第一服务器11与第二服务器12之间可藉由第二传输线14进行沟通。

在一些实施态样中,两客户端21、22中的每一者可包含一多重路径I/O(Multi-Path I/O,MPIO)模块23,以决定将欲储存数据传送至第一服务器11或第二服务器12而储存在两数据池111、121中的任一者。举例来说,若客户端21发送的写入要求包含第一服务器11的地址信息,则表示客户端21的多重路径I/O模块23欲将欲储存数据储存在第一数据池111中。在客户端21发送写入要求之后,若第一服务器11未回应客户端21所发送的写入要求,例如第一服务器11未开机或第一数据池111损坏而导致欲储存数据无法写入,此时客户端21重新发送包含第二服务器12的地址信息的写入要求,使欲储存数据可储存于第二数据池121中。

第一控制器112及第二控制器122分别具有三种操作模式:主动模式、孤立模式及拒绝模式。在初始状态中,若第一传输线13及第二传输线14的连线均为正常时,第一控制器112可藉由第二传输线14沟通于第二控制器122而侦测出第一传输线13的连线状态为正常而操作于主动模式;同理,第二控制器122亦可藉由第二传输线14沟通于第一控制器112而侦测出第一传输线13的连线状态为正常而操作于主动模式。在主动模式中,假设两客户端21、22中的任一者将欲储存数据(以下称为第一储存数据)发送至第一服务器11,第一控制器112接收第一储存数据,第一控制器112将第一储存数据储存于第一数据池111,且第一控制器112转发第一储存数据,使第一储存数据经由第一传输线13发送至第二服务器12。于是,第二控制器122经由第一传输线13接收第一储存数据,并将第一储存数据储存于第二数据池121,使第一储存数据可同步地储存在第一数据池111及第二数据池121中。

另一方面,在主动模式中,假设客户端21、22中的任一者将欲储存数据(以下称为第二储存数据)发送至第二服务器12,第二控制器122接收第二储存数据,第二控制器122将第二储存数据储存于第二数据池121,且第二控制器122转发第二储存数据,使第二储存数据经由第一传输线13发送至第一服务器11。于是,第一控制器112经由第一传输线13接收第一储存数据,并将第一储存数据储存于第一数据池111,使第二储存数据可同步地储存在第一数据池111及第二数据池121中。

基此,不论客户端21、22将欲储存数据发送至第一服务器11或第二服务器12,来自客户端21、22的每一欲储存数据可同步储存于第一数据池111及第二数据池121。于是,在客户端21、22中的任一者发送读取要求之后,第一服务器11可将第一数据池111中数据的输出或是第二服务器12亦可将第二数据池121中的数据输出以回应客户端21、22所发送的读取要求。

在一些实施态样中,如图2所示,当第一传输线13的连线中断致使第一服务器11及第二服务器12之间无法藉由第一传输线13进行数据传输时,例如第一传输线13损坏,或是第一传输线13与第一服务器11及第二服务器12中之任一者的连接断开,将导致来自客户端21、22的欲储存数据无法同步地储存于第二服务器12与第一服务器11。而当第一传输线13的连线中断时,第一控制器112及第二控制器122可经由第二传输线14侦测得第一传输线13无法连线,此时第一控制器112由主动模式切换至孤立模式,第二控制器122则由主动模式切换至拒绝模式。

当第二控制器122操作于拒绝模式时,第二控制器122不接收所有客户端(客户端21、22)所传送的欲储存数据,举例来说,客户端22将第三储存数据传送至第二服务器12,此时第二控制器122不接收第三储存数据。于是,客户端22的多重路径I/O模块23再将第三储存数据发送至第一服务器11。在孤立模式中,第一控制器112接收每一客户端所发送的欲储存数据,即第三储存数据,第一控制器112将第三储存数据储存于第一数据池111。此外,第一控制器112除了将第三储存数据储存在第一数据池111外,在孤立模式中,第一控制器112并不发送第三储存数据。基此,当第一控制器112操作于孤立模式而第二控制器122操作于拒绝模式时,不论客户端21、22原先是将欲储存数据发送至第一服务器11或第二服务器12,第一控制器112操作于孤立模式且第二控制器122操作于拒绝模式致使客户端21、22所发送的每一欲储存数据最后均储存在第一数据池111中。

待第一传输线13修复之后(即,第一传输线13可正常地连线于第一服务器11及第二服务器12),接续前述的第一控制器112操作于孤立模式而第二控制器122操作于拒绝模式的例子,第一控制器112自孤立模式切换至主动模式。于切换至主动模式之后,第一控制器112接收客户端21、22中的任一者于第一传输线13修复后所发送的欲储存数据(以下称为第四储存数据),并将第四储存数据储存在第一数据池111。并且,第一控制器112转发第四储存数据,使四欲储存数据经由第一传输线13传送至第二服务器12。此时第二控制器122操作于拒绝模式,第二控制器122不接收客户端21、22所发送的欲储存数据,第二控制器122经由第一传输线13接收第四储存数据,并将第四储存数据储存于第二数据池121,使第四储存数据可同步地储存在第一数据池111及第二数据池121。

再者,当第一控制器112由孤立模式切换至主动模式之后,第一控制器112亦发送于孤立模式中所接收的欲储存数据,即第三储存数据,第一控制器112可控制第一数据池111输出第三储存数据,使第三储存数据经由第一传输线13传送至第二服务器12。于是,在拒绝模式中,第二控制器122经由第一传输线13接收第三储存数据,并将第三储存数据写入第二数据池121。待第三储存数据更新至第二数据池121之后,第二控制器122即由拒绝模式切换至主动模式。在一些实施态样中,第二控制器122可藉由第二传输线14沟通于第一控制器112而得知第一控制器112已藉由第一传输线13发送孤立模式中所储存的多个欲储存数据中的每一者,进而自拒绝模式切换至主动模式。

在一些实施态样中,如图3所示,若两数据池111、121中之一者损坏,例如第二数据池121坏轨,或是第二数据池121与第二控制器122之间的连接断开,此时来自客户端21、22的欲储存数据无法储存至第二数据池121。于是,第一控制器112可藉由第二传输线14侦测得第二数据池121损坏而由主动模式切换至孤立模式;而第二控制器122侦测出第二数据池121损坏之后即由主动模式切换至拒绝模式。于此,不论客户端21、22原先将欲储存数据发送至第一服务器11或第二服务器12,第一控制器112操作于孤立模式且第二控制器122操作于拒绝模式致使客户端21、22所发送的每一欲储存数据最后均储存在第一数据池111中。待第二数据池121修复之后,第一控制器112由孤立模式切换至主动模式,使客户端21、22于第二数据池121修复后所发送的每一欲储存数据可同步地储存在第一数据池111及第二数据池121,且客户端21、22于第二数据池121损坏期间所发送的每一欲储存数据可同步地储存至第二数据池121。待第一数据池111于第二数据池121损坏期间所储存的每一欲储存数据均同步更新至第二数据池121之后,第二控制器122即由拒绝模式切换至主动模式。

图4为图1的数据储存系统的另一实施态样的方块示意图。图5为图4的数据储存系统的一实施态样的一流程图。请同时参照图4及图5,数据储存系统更包含至少一救援模块(救援模块151、152),设置于客户端21、22中的每一者。当两传输线13、14均损坏而导致两传输线13、14无法连线时。此时需藉由救援模块151、152来决定控制器112、122的操作模式。详言的,在主动模式中,两控制器112、122判断两传输线13、14的连线是否中断(步骤S01),若两控制器112、122的判断结果为「是」,则第一服务器11发送第一数据池111的健康信息(第一健康信息S1)(步骤S02),第二服务器12发送第二数据池121的健康信息(第二健康信息S2)(步骤S03),使两救援模块151、152分别接收两数据池111、121的健康信息S1、S2。于是,两救援模块151、152根据第一健康信息S1及第二健康信息S2产生第一模式切换信号S3及第二模式切换信号S4(步骤S04),致使第一控制器112根据第一模式切换信号S3进行模式切换(步骤S05),且使第二控制器根据第二模式切换信号S4进行模式切换(步骤S06)。

详细而言,在步骤S05、S06中,两救援模块151、152分别比较第一健康信息S1及第二健康信息S2,以判断第一健康信息S1较佳或是第二健康信息S2较佳。救援模块151、152根据第一健康信息S1及第二健康信息S2于第一控制器112及第二控制器122的一预设等待时间内分别发送一模式切换信号至第一服务器11及第二服务器12,使具有较佳健康信息的服务器的控制器切换至孤立模式,且致使具有较差健康信息的服务器的控制器切换至拒绝模式。举例来说,假设第一数据池111的健康信息较佳,则两救援模块151、152中的任一者发出一第一模式切换信号S3至第一服务器11,且两救援模块151、152中的任一者发出一第二模式切换信号S4至第二服务器12。第一控制器112根据第一模式切换信号S3由主动模式切换至孤立模式,而第二控制器122根据第二模式切换信号S4由主动模式切换至拒绝模式。

其中,值得说明的是,两救援模块151、152所产生的第一模式切换信号S3及第二模式切换信号S4均相同,若第一控制器112先接收来自救援模块151的第一模式切换信号S3而后接收来自救援模块152的第一模式切换信号S3,则第一控制器112根据来自救援模块151的第一模式切换信号S3进行模式切换而忽略后接收的第一模式切换信号S3。同理,第二控制器亦忽略后接收的第二模式切换信号S4,于此不再赘述。并且,两救援模块151、152在接收健康信息S1、S2前先与两服务器11、12分别注册其自身的互联网协议(Internet Protocol;IP),以进行认证程序。

进一步,在一些实施态样中,若两服务器11、12中之一者关机,例如第二服务器12关机,使第一服务器11无法藉由两传输线13、14连线至第二服务器12。此时第一控制器112亦等待救援模块151、152中之任一者所发送的模式切换信号以进行模式切换。然而,由于第二服务器12的状态为关机而未发送第二健康信息S2,救援模块151、152无法在前述的预设等待时间内根据第一健康信息S1及第二健康信息S2产生模式切换信号。于是,在第一控制器112侦测得两传输线13、14无法连线之后,若第一控制器112于预设等待时间内未接收模式切换信号,第一控制器112即由主动模式切换至孤立模式。

基此,在前述的两传输线13、14损坏及第二服务器12关机的情形中,不论客户端21、22原先将欲储存数据发送至第一服务器11或第二服务器12,第一控制器112操作于孤立模式且第二控制器122操作于拒绝模式致使客户端21、22所发送的每一欲储存数据最后均储存在第一数据池111中。

于步骤S06之后,若两传输线13、14的连线恢复,例如两传输线13、14修复或是第二服务器12进入开机状态,则第一控制器112及第二控制器122分别进行模式切换(步骤S07-S08)。详细而言,在步骤S07中,第一控制器112即由孤立模式切换至主动模式,使客户端21、22于两传输线13、14恢复连线之后所发送的欲储存数据可同时储存于第一数据池111及第二数据池121,且第一控制器可将客户端21、22于两传输线13、14无法连线的期间所发送的欲储存数据经由第一传输线13更新至第二数据池121(以下称为更新程序)。待更新程序结束后,第二控制器122由拒绝模式切换至主动模式(步骤S08)。

图6为图1的数据储存系统的第一服务器11及第二服务器12于运作时的时间轴的一实施态样的示意图。其中的第一时间轴表示第一服务器11于运作时的时间轴,而第二时间轴表示第二服务器12于运作时的时间轴。在另一些实施态样中,请参照图6,客户端21、22所发送的一欲储存数据于一时间点T3之后被区分为多个数据片段而分别储存在第一数据池111及第二数据池121(或称为脑裂状况)。举例来说,若两传输线13、14的连线于时间点T3时中断而致使第一控制器112及第二控制器122均操作于孤立模式,同一储存数据的两数据片段将分别储存于第一控制器112及第二控制器122,如此将导致数据储存系统在回应客户端21、22的读取要求时分别将两数据片段输出而无法正确地回应客户端21、22的读取要求。基于此,第一服务器11及第二服务器12可在欲储存数据被区分为两数据片段前(即,时间点T1、T2)重复地获取第一数据池111及第二数据池121的快照(snapshot),使数据储存系统的使用者可选择将第一数据池111及第二数据池121中所储存的数据还原至时间点T3前的时间点T1或时间点T2的数据状态。

进一步,第一服务器11更包含一第一寄存器113连接于第一控制器112,第二服务器12更包含一第二寄存器123连接于第二控制器122,当两传输线13、14的连线于时间点T3中断之后,第一控制器112及第二控制器122于孤立模式中将客户端21、22于时间点T3之后所传输的欲储存数据的数据片段分别依序地储存于第一寄存器113及第二寄存器123。并且,第一控制器112及第二控制器122更进一步于脑裂状况发生的时间点T3分别获取第一数据池111及第二数据池121的快照(以下将第一数据池111及第二数据池121的快照分别称为第一快照及第二快照),且第一控制器112及第二控制器122于相同的时间点例如时间点T4、T5、T6分别记录第一寄存器113的状态(以下称为第一状态)及第二寄存器123的状态(以下称为第二状态),以根据第一快照、第二快照及相同时间点所记录的第一状态及第二状态分别建立时间点T4、T5、T6的数据还原点。若使用者于时间点T6发现前述的脑裂状况,使用者可选择将第一数据池111及第二数据池121中的数据复原至时间点T3后的时间点T4、T5、T6中的任一者;换言之,待两传输线13、14恢复连线之后,第一服务器11及第二服务器12可根据前述的多个数据还原点将第一数据池111及第二数据池121中的数据状态还原至指定的数据还原点。

详细而言,在一实施例中,来自客户端21、22的每一欲储存数据的数据片段具有一编号,且依其发送顺序具有不同大小的编号。举例来说,若客户端21、22于时间点T3后至时间点T4前的期间将欲储存数据的一第五储存数据的第一数据片段及第二数据片段先后发送至第一服务器11及第二服务器12,且客户端21、22于时间点T4后至时间点T5前的期间将欲储存数据的一第六储存数据的第二数据片段及第一数据片段先后发送至第一服务器11及第二服务器12。在此情形中,第五储存数据的第一数据片段、第二数据片段以及第六储存数据的第二数据片段、第一数据片段,的编号可分别为「1」、「3」、「2」及「4」;第一控制器112将第五储存数据的第一数据片段及其编号「1」以及第六储存数据的第一数据片段及其编号「4」先后储存于第一寄存器113,第二控制器122将第五储存数据的第二数据片段及其编号「3」以及第六储存数据的第二数据片段及其编号「2」先后储存于第二寄存器123;并且,第一控制器112于时间点T4纪录第一寄存器113的第一状态,且第一控制器112于时间点T5纪录第一寄存器113的第一状态,第二控制器122于时间点T4纪录第二寄存器123的第二状态,且第二控制器122于时间点T5纪录第二寄存器123的第二状态。

在进行数据还原时,若使用者选择将数据还原至时间点T4,此时第一控制器112及第二控制器122可分别根据第一寄存器113及第二寄存器123于时间点T4的第一状态及第二状态将编号「1」、「3」进行比较及排序,以将第五储存数据的第一数据片段及第二数据片段进行结合,最后根据第一快照及第二快照将结合后的第五储存数据(包含结合后的第一数据片段及第二数据片段)分别储存至第一数据池111及第二数据池121;同理,若使用者选择将数据还原至时间点T5,第一控制器112及第二控制器122可分别根据第一寄存器113及第二寄存器123于时间点T5的第一状态及第二状态分别将编号「1」、「3」及编号「2」、「4」进行比较及排序,以将第五储存数据的第一数据片段及第二数据片段进行结合,并将第六储存数据的第一数据片段及第二数据片段进行结合,最后再根据第一快照及第二快照将结合后的第五储存数据及第六储存数据分别更新至第一数据池111及第二数据池121。

进一步,倘若第一寄存器113及第二寄存器123中的任一者的储存空间不足,此时第一控制器112及第二控制器122分别记录第一寄存器113的第一状态及第二寄存器123的第二状态并将第一寄存器113及第二寄存器123中所储存的数据搬移至其他储存单元。于此,第一控制器112及第二控制器122可分别将第一寄存器113及第二寄存器123清空以储存其他数据片段。

综上所述,根据本发明的数据储存系统及数据储存方法的一实施例,数据储存系统包含两独立的数据池,且每一控制器可操作于拒绝模式,使客户端于传输线的连线中断时所发送的欲储存数据可储存在两数据池中之一者,以预防相同数据被区分为不同数据片段而分别储存在不同的数据池中;并且,在连线恢复之后可将连线中断时所储存的数据经由高速的数据传输而快速地更新至两数据池中之另一者。

虽然本案已以实施例揭露如上然其并非用以限定本案,任何所属技术领域中的技术人员,在不脱离本案的精神和范围内,当可作些许的更动与润饰,故本案的保护范围当视后附的权利要求书所界定者为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1