本技術涉及數(shù)據(jù)庫領域,特別涉及一種更新數(shù)據(jù)的方法、裝置、系統(tǒng)及存儲介質。
背景技術:
1、云服務系統(tǒng)對數(shù)據(jù)可靠性的要求極高,為了提高可靠性,使用主站點向用戶提供業(yè)務,使用容災站點對主站點進行備份,通常主站點所在的區(qū)域和容災站點所在的區(qū)域不同。這樣在主站點故障后無法提供業(yè)務時,由容災站點接管業(yè)務,并繼續(xù)向用戶提供業(yè)務。
2、主站點包括主數(shù)據(jù)庫,容災站點包括容災數(shù)據(jù)庫,主數(shù)據(jù)庫保存有多行數(shù)據(jù),容災數(shù)據(jù)庫也保存有該多行數(shù)據(jù)。主站點可以對主數(shù)據(jù)庫中的某行數(shù)據(jù)進行修改,在修改之后,主站點可以將修改后的該行數(shù)據(jù)同步到容災數(shù)據(jù)庫。目前在同步該行數(shù)據(jù)時浪費大量的網(wǎng)絡帶寬資源。
技術實現(xiàn)思路
1、本技術提供了一種更新數(shù)據(jù)的方法、裝置、系統(tǒng)及存儲介質,節(jié)省網(wǎng)絡帶寬資源。所述技術方案如下:
2、第一方面,本技術提供了一種更新數(shù)據(jù)的方法,所述方法應用于云服務系統(tǒng),云服務系統(tǒng)包括主站點和容災站點,主站點中的主數(shù)據(jù)庫包括第一主數(shù)據(jù)集合,第一主數(shù)據(jù)集合是主數(shù)據(jù)庫中的一行數(shù)據(jù),第一主數(shù)據(jù)集合包括多個第一數(shù)據(jù),該多個第一數(shù)據(jù)中的每個第一數(shù)據(jù)是該一行數(shù)據(jù)中的一列數(shù)據(jù),容災站點中的容災數(shù)據(jù)庫包括與第一主數(shù)據(jù)集合相同的第一容災數(shù)據(jù)集合。在所述方法中,將第一主數(shù)據(jù)集合中的至少一個第一數(shù)據(jù)修改為至少一個第二數(shù)據(jù)。生成邏輯日志文件,邏輯日志文件包括第一信息、第二信息和至少一個第二數(shù)據(jù),第一信息用于指示第一主數(shù)據(jù)集合,第二信息用于指示該至少一個第一數(shù)據(jù)。向容災站點發(fā)送邏輯日志文件,邏輯日志文件用于指示容災站點將第一容災數(shù)據(jù)集合中的至少一個第一數(shù)據(jù)更新為該至少一個第二數(shù)據(jù)。
3、由于生成的邏輯日志文件包括第一信息、第二信息和至少一個第二數(shù)據(jù),第一信息用于指示第一主數(shù)據(jù)集合,第二信息用于指示該至少一個第一數(shù)據(jù)。這樣通過第一信息可以得出容災數(shù)據(jù)庫中的第一容災數(shù)據(jù)集合,通過第二信息可以得出第一容災數(shù)據(jù)集合中需要修改的該至少一個第一數(shù)據(jù),使得邏輯日志文件可以包括該至少一個第二數(shù)據(jù),不需要包括修改后的整行數(shù)據(jù)。從而減小了邏輯日志文件的數(shù)據(jù)量,減小傳輸邏輯日志文件所需要的網(wǎng)絡帶寬資源,節(jié)省了網(wǎng)絡帶寬資源。
4、在一種可能的實現(xiàn)方式中,第一信息包括如下一個或多個信息:第一主數(shù)據(jù)集合所屬的行的行標識,第一主數(shù)據(jù)集合的哈希值,或者,第一主數(shù)據(jù)集合。在第一信息包括第一主數(shù)據(jù)集合所屬的行的行標識或第一主數(shù)據(jù)集合的哈希值時,使第一信息的數(shù)據(jù)量很小,從而大幅減小邏輯日志文件的數(shù)據(jù)量。
5、在另一種可能的實現(xiàn)方式中,第二信息包括如下一個或多個信息,位圖,或者,至少一列的列標識;其中,該位圖包括與所述至少一個第一數(shù)據(jù)相對應的至少一個第一比特,以及與至少一個目標數(shù)據(jù)相對應的第二比特,該至少一個目標數(shù)據(jù)是第一主數(shù)據(jù)集合中除該至少一個第一數(shù)據(jù)之外的數(shù)據(jù);該至少一列是該至少一個第一數(shù)據(jù)所屬的列。如此使得第二信息的數(shù)據(jù)量很小,從而大幅減小邏輯日志文件的數(shù)據(jù)量。
6、在另一種可能的實現(xiàn)方式中,產(chǎn)生第一事務;通過第一事務將第一主數(shù)據(jù)集合中的該至少一個第一數(shù)據(jù)修改為該至少一個第二數(shù)據(jù),其中,邏輯日志文件還包括第一事務的事務號,這樣保證在主站點故障時,可以基于第一事務的事務號獲取到用于從保護站點中查詢保護文件所需要的事務集合,保證能夠從保護站點中查詢到保護文件。
7、在另一種可能的實現(xiàn)方式中,云服務系統(tǒng)還包括保護站點,主站點與保護站點之間的傳輸時延小于時延閾值。生成第一保護文件,第一保護文件的文件頭包括第一事務集合,第一保護文件的凈荷包括第一信息、第二信息和該至少一個第二數(shù)據(jù),第一事務集合包括至少一個事務的事務號,該至少一個事務是在第一事務之前產(chǎn)生的事務。向保護站點發(fā)送第一保護文件,以使保護站點保存所述第一保護文件。
8、在另一種可能的實現(xiàn)方式中,主數(shù)據(jù)庫還包括第二主數(shù)據(jù)集合,第二主數(shù)據(jù)集合包括多個第三數(shù)據(jù),容災數(shù)據(jù)庫還包括與第二主數(shù)據(jù)集合相同的第二容災數(shù)據(jù)集合。產(chǎn)生第二事務,第二事務是第一事務的下一個事務。通過第二事務將第二主數(shù)據(jù)集合中的至少一個第三數(shù)據(jù)修改為至少一個第四數(shù)據(jù)。生成第二保護文件,第二保護文件的文件頭包括第二事務集合,第二保護文件的凈荷包括第三信息、第四信息和所述至少一個第四數(shù)據(jù),第三信息用于指示第二主數(shù)據(jù)集合,第四信息用于指示該至少一個第三數(shù)據(jù),第二事務集合包括第一事務集合和第一事務的事務號。向保護站點發(fā)送第二保護文件,以使保護站點保存第二保護文件。
9、這樣在發(fā)送第二保護文件后,主站點發(fā)生了故障,使得容災站點可以基于邏輯日志文件中的第一事務的事務號獲取到第二事務集合,基于第二事務集合從保護站點中獲取到第二保護文件,基于第二保護文件將第二容災數(shù)據(jù)集合中的該至少一個第三數(shù)據(jù)修改為該至少一個第四數(shù)據(jù),如此通過文件頭中的事務集合可以快速獲取到第二保護文件,還基于第二保護文件避免出現(xiàn)數(shù)據(jù)丟失。
10、在另一種可能的實現(xiàn)方式中,主站點和保護站點位于同一機房中,或者,主站點和保護站點位于同一可用區(qū)域的不同機房中。如此,保證主站點與保護站點之間的傳輸時延小于時延閾值。
11、第二方面,本技術提供了一種更新數(shù)據(jù)的方法,所述方法應用于云服務系統(tǒng),云服務系統(tǒng)包括主站點和容災站點,主站點中的主數(shù)據(jù)庫包括第一主數(shù)據(jù)集合,第一主數(shù)據(jù)集合是主數(shù)據(jù)庫中的一行數(shù)據(jù),第一主數(shù)據(jù)集合包括多個第一數(shù)據(jù),該多個第一數(shù)據(jù)中的每個第一數(shù)據(jù)是該一行數(shù)據(jù)中的一列數(shù)據(jù),容災站點中的容災數(shù)據(jù)庫包括與第一主數(shù)據(jù)集合相同的第一容災數(shù)據(jù)集合。在所述方法中,接收邏輯日志文件,邏輯日志文件包括第一信息、第二信息和至少一個第二數(shù)據(jù),第一信息用于指示第一主數(shù)據(jù)集合,第二信息用于指示第一主數(shù)據(jù)集合中的至少一個第一數(shù)據(jù),第一主數(shù)據(jù)集合中的該至少一個第一數(shù)據(jù)被修改為該至少一個第二數(shù)據(jù)。基于邏輯日志文件,將第一容災數(shù)據(jù)集合中的該至少一個第一數(shù)據(jù)更新為該至少一個第二數(shù)據(jù)。
12、由于接收的邏輯日志文件包括第一信息、第二信息和至少一個第二數(shù)據(jù),第一信息用于指示第一主數(shù)據(jù)集合,第二信息用于指示該至少一個第一數(shù)據(jù)。這樣通過第一信息可以得出容災數(shù)據(jù)庫中的第一容災數(shù)據(jù)集合,通過第二信息可以得出第一容災數(shù)據(jù)集合中需要修改的該至少一個第一數(shù)據(jù),使得邏輯日志文件可以包括該至少一個第二數(shù)據(jù),不需要包括修改后的整行數(shù)據(jù)。從而減小了邏輯日志文件的數(shù)據(jù)量,減小傳輸邏輯日志文件所需要的網(wǎng)絡帶寬資源,節(jié)省了網(wǎng)絡帶寬資源。
13、在一種可能的實現(xiàn)方式中,第一信息包括如下一個或多個信息:第一主數(shù)據(jù)集合所屬的行的行標識,第一主數(shù)據(jù)集合的哈希值,或者,第一主數(shù)據(jù)集合。在第一信息包括第一主數(shù)據(jù)集合所屬的行的行標識或第一主數(shù)據(jù)集合的哈希值時,使第一信息的數(shù)據(jù)量很小,從而大幅減小邏輯日志文件的數(shù)據(jù)量。
14、在另一種可能的實現(xiàn)方式中,第二信息包括如下一個或多個信息,位圖,或者,至少一列的列標識;其中,該位圖包括與所述至少一個第一數(shù)據(jù)相對應的至少一個第一比特,以及與至少一個目標數(shù)據(jù)相對應的第二比特,該至少一個目標數(shù)據(jù)是第一主數(shù)據(jù)集合中除該至少一個第一數(shù)據(jù)之外的數(shù)據(jù);該至少一列是該至少一個第一數(shù)據(jù)所屬的列。如此使得第二信息的數(shù)據(jù)量很小,從而大幅減小邏輯日志文件的數(shù)據(jù)量。
15、在另一種可能的實現(xiàn)方式中,邏輯日志文件還包括第一事務的事務號?;诘谝皇聞盏氖聞仗?,分配第一事務?;诘谝恍畔⒑偷诙畔ⅲㄟ^第一事務將第一容災數(shù)據(jù)集合中的該至少一個第一數(shù)據(jù)更新為該至少一個第二數(shù)據(jù)。
16、在另一種可能的實現(xiàn)方式中,云服務系統(tǒng)還包括保護站點,主站點與保護站點之間的傳輸時延小于時延閾值,主數(shù)據(jù)庫還包括第二主數(shù)據(jù)集合,第二主數(shù)據(jù)集合包括多個第三數(shù)據(jù),容災數(shù)據(jù)庫還包括與第二主數(shù)據(jù)集合相同的第二容災數(shù)據(jù)集合,保護站點保存有第二保護文件,第二保護文件的文件頭包括第二事務集合,第二保護文件的凈荷包括第三信息、第四信息和至少一個第四數(shù)據(jù),第三信息用于指示第二主數(shù)據(jù)集合,第四信息用于指示第二主數(shù)據(jù)集合中的至少一個第三數(shù)據(jù),第二主數(shù)據(jù)集合中的該至少一個第三數(shù)據(jù)被修改為該至少一個第四數(shù)據(jù),第二事務集合包括第一事務的事務號和在第一事務之前發(fā)生的至少一個事務的事務號。在主站點故障時,基于邏輯日志文件包括的第一事務的事務號獲取第二事務集合。從保護站點中獲取文件頭包括第二事務集合的第二保護文件?;诘诙Wo文件的凈荷,將第二容災數(shù)據(jù)集合中的該至少一個第三數(shù)據(jù)更新為該至少一個第四數(shù)據(jù)。
17、由于基于邏輯日志文件中的第一事務的事務號獲取到第二事務集合,基于第二事務集合從保護站點中獲取到第二保護文件,基于第二保護文件將第二容災數(shù)據(jù)集合中的該至少一個第三數(shù)據(jù)修改為該至少一個第四數(shù)據(jù),如此通過文件頭中的事務集合可以快速獲取到第二保護文件,還基于第二保護文件避免出現(xiàn)數(shù)據(jù)丟失。
18、在另一種可能的實現(xiàn)方式中,主站點和保護站點位于同一機房中,或者,主站點和保護站點位于同一可用區(qū)域的不同機房中。如此,保證主站點與保護站點之間的傳輸時延小于時延閾值。
19、第三方面,本技術提供了一種更新數(shù)據(jù)的裝置,用于執(zhí)行第一方面或第一方面的任意一種可能的實現(xiàn)方式中的方法。具體地,所述裝置包括用于執(zhí)行第一方面或第一方面的任意一種可能的實現(xiàn)方式中的方法的單元。
20、第四方面,本技術提供了一種更新數(shù)據(jù)的裝置,用于執(zhí)行第二方面或第二方面的任意一種可能的實現(xiàn)方式中的方法。具體地,所述裝置包括用于執(zhí)行第二方面或第二方面的任意一種可能的實現(xiàn)方式的方法中的單元。
21、第五方面,本技術提供了一種計算設備集群,所述計算設備集群包括至少一個計算設備,所述至少一個計算設備中的每個設備包括至少一個處理器和至少一個存儲器,所述至少一個存儲器中存儲有計算機可讀指令;所述至少一個處理器執(zhí)行所述計算機可讀指令,以使得所述計算設備集群執(zhí)行第一方面、第二方面、第一方面的任意一種可能的實現(xiàn)方式或第一方面的任意二種可能的實現(xiàn)方式中的方法。
22、第六方面,本技術提供了一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括在計算機可讀存儲介質中存儲的計算機程序,并且所述計算程序通過處理器進行加載來實現(xiàn)上述第一方面、第二方面、第一方面的任意一種可能的實現(xiàn)方式或第二方面任意可能的實現(xiàn)方式中的方法。
23、第七方面,本技術提供了一種計算機可讀存儲介質,用于存儲計算機程序,所述計算機程序通過處理器進行加載來執(zhí)行上述第一方面、第二方面、第一方面的任意一種可能的實現(xiàn)方式或第二方面任意可能的實現(xiàn)方式中的方法。
24、第八方面,本技術提供了一種芯片,包括存儲器和處理器,存儲器用于存儲計算機指令,處理器用于從存儲器中調(diào)用并運行該計算機指令,以執(zhí)行上述第一方面、第二方面、第一方面的任意一種可能的實現(xiàn)方式或第二方面任意可能的實現(xiàn)方式中的方法。
25、第九方面,本技術提供了一種更新數(shù)據(jù)的系統(tǒng),包括第三方面所述的裝置和第四方面所述的裝置。