據(jù)庫用于采用分表技術(shù)存儲業(yè)務(wù)數(shù)據(jù),在從所述MySQL主數(shù)據(jù)庫查詢業(yè)務(wù)數(shù)據(jù)時,并發(fā)地從多個數(shù)據(jù)表查詢業(yè)務(wù)數(shù)據(jù)。
[0075]AS、根據(jù)A1-A7任一項所述的系統(tǒng),所述主機房的至少一個業(yè)務(wù)服務(wù)器用于:在接收到用戶注冊請求時,為用戶生成符合第一規(guī)則的用戶賬號,將所述用戶賬號和用戶注冊信息寫入所述主緩存數(shù)據(jù)庫和所述主數(shù)據(jù)庫中;
[0076]所述備機房的至少一個業(yè)務(wù)服務(wù)器用于:在接收到用戶注冊請求時,為用戶生成符合第二規(guī)則的用戶賬號,將所述用戶賬號和用戶注冊信息寫入所述備緩存數(shù)據(jù)庫和所述主數(shù)據(jù)庫中;
[0077]所述第一規(guī)則不同于所述第二規(guī)則。
[0078]A9、根據(jù)A1-A8任一項所述的系統(tǒng),所述主數(shù)據(jù)庫中存儲有系統(tǒng)賬號打通表,所述系統(tǒng)賬號打通表內(nèi)記錄有所述系統(tǒng)的用戶賬號和與所述系統(tǒng)關(guān)聯(lián)的其它系統(tǒng)的用戶賬號;
[0079]所述主機房的至少一個業(yè)務(wù)服務(wù)器和/或備機房的至少一個業(yè)務(wù)服務(wù)器還用于:在接收到業(yè)務(wù)數(shù)據(jù)讀請求或業(yè)務(wù)數(shù)據(jù)寫請求時,查詢所述系統(tǒng)賬號打通表,根據(jù)所述系統(tǒng)賬號打通表內(nèi)是否記錄所述業(yè)務(wù)數(shù)據(jù)讀請求或業(yè)務(wù)數(shù)據(jù)寫請求攜帶的用戶賬號來確定是否提供業(yè)務(wù)數(shù)據(jù)讀寫服務(wù)。
[0080]B10、一種跨機房的業(yè)務(wù)數(shù)據(jù)處理方法,包括:
[0081]主機房的主緩存數(shù)據(jù)庫和備機房的備緩存數(shù)據(jù)庫之間雙向同步業(yè)務(wù)數(shù)據(jù),主機房的主數(shù)據(jù)庫與備機房的備數(shù)據(jù)庫之間雙向同步業(yè)務(wù)數(shù)據(jù);
[0082]當(dāng)備機房的業(yè)務(wù)服務(wù)器接收到業(yè)務(wù)數(shù)據(jù)讀請求時,從所述主數(shù)據(jù)庫中讀取業(yè)務(wù)數(shù)據(jù);或者,當(dāng)備機房的業(yè)務(wù)服務(wù)器接收到業(yè)務(wù)數(shù)據(jù)寫請求時,向所述主數(shù)據(jù)庫寫入業(yè)務(wù)數(shù)據(jù)。
[0083]B11、根據(jù)BlO所述的方法,所述當(dāng)備機房的業(yè)務(wù)服務(wù)器接收到業(yè)務(wù)數(shù)據(jù)讀請求時,所述方法還包括:查詢所述備緩存數(shù)據(jù)庫是否存儲有業(yè)務(wù)數(shù)據(jù);若查詢所述備緩存數(shù)據(jù)庫存儲有業(yè)務(wù)數(shù)據(jù),則從所述備緩存數(shù)據(jù)庫中讀取業(yè)務(wù)數(shù)據(jù);
[0084]所述從主數(shù)據(jù)庫中讀取業(yè)務(wù)數(shù)據(jù)具體為:若查詢所述備緩存數(shù)據(jù)庫沒有存儲業(yè)務(wù)數(shù)據(jù),則從主數(shù)據(jù)庫中讀取業(yè)務(wù)數(shù)據(jù)。
[0085]B12、根據(jù)Bll所述的方法,在所述從主數(shù)據(jù)庫中讀取業(yè)務(wù)數(shù)據(jù)之后,所述方法還包括:將業(yè)務(wù)數(shù)據(jù)寫入到所述備緩存數(shù)據(jù)庫中。
[0086]B13、根據(jù)B10-B12任一項所述的方法,當(dāng)備機房的業(yè)務(wù)服務(wù)器接收到業(yè)務(wù)數(shù)據(jù)寫請求時,所述方法還包括:在向所述主數(shù)據(jù)庫寫入業(yè)務(wù)數(shù)據(jù)之后,向所述備緩存數(shù)據(jù)庫寫入業(yè)務(wù)數(shù)據(jù)。
[0087]B14、根據(jù)B10-B13任一項所述的方法,所述方法還包括:
[0088]當(dāng)主機房的業(yè)務(wù)服務(wù)器接收到業(yè)務(wù)數(shù)據(jù)讀請求時,從所述主緩存數(shù)據(jù)庫或主數(shù)據(jù)庫中讀取業(yè)務(wù)數(shù)據(jù);或者,當(dāng)主機房的業(yè)務(wù)服務(wù)器接收到業(yè)務(wù)數(shù)據(jù)寫請求時,依次向所述主數(shù)據(jù)庫和所述主緩存數(shù)據(jù)庫寫入業(yè)務(wù)數(shù)據(jù)。
[0089]B15、根據(jù)B10-B14任一項所述的方法,所述主數(shù)據(jù)庫包括MySQL主數(shù)據(jù)庫和SSDB主數(shù)據(jù)庫,所述備數(shù)據(jù)庫包括MySQL備數(shù)據(jù)庫和SSDB備數(shù)據(jù)庫;
[0090]所述主機房的主數(shù)據(jù)庫與備機房的備數(shù)據(jù)庫之間雙向同步業(yè)務(wù)數(shù)據(jù)進(jìn)一步包括:所述MySQL主數(shù)據(jù)庫和所述MySQL備數(shù)據(jù)庫之間雙向同步業(yè)務(wù)數(shù)據(jù),所述SSDB主數(shù)據(jù)庫和所述SSDB備數(shù)據(jù)庫中間雙向同步業(yè)務(wù)數(shù)據(jù)。
[0091]B16、根據(jù)B15所述的方法,所述MySQL主數(shù)據(jù)庫用于采用分表技術(shù)存儲業(yè)務(wù)數(shù)據(jù);
[0092]所述從主數(shù)據(jù)庫中讀取業(yè)務(wù)數(shù)據(jù)進(jìn)一步包括:并發(fā)地從所述MySQL主數(shù)據(jù)庫的多個數(shù)據(jù)表中查詢業(yè)務(wù)數(shù)據(jù),根據(jù)查詢結(jié)果讀取業(yè)務(wù)數(shù)據(jù)。
[0093]B17、根據(jù)B10-B16任一項所述的方法,所述方法還包括:
[0094]當(dāng)主機房的業(yè)務(wù)服務(wù)器接收到用戶注冊請求時,為用戶生成符合第一規(guī)則的用戶賬號,將所述用戶賬號和用戶注冊信息寫入所述主緩存數(shù)據(jù)庫和所述主數(shù)據(jù)庫中;
[0095]當(dāng)備機房的業(yè)務(wù)服務(wù)器接收到用戶注冊請求時,為用戶生成符合第二規(guī)則的用戶賬號,將所述用戶賬號和用戶注冊信息寫入所述備緩存數(shù)據(jù)庫和所述主數(shù)據(jù)庫中;
[0096]所述第一規(guī)則不同于所述第二規(guī)則。
[0097]B18、根據(jù)B10-B17任一項所述的方法,所述主數(shù)據(jù)庫中存儲有系統(tǒng)賬號打通表,所述系統(tǒng)賬號打通表內(nèi)記錄有所述系統(tǒng)的用戶賬號和與所述系統(tǒng)關(guān)聯(lián)的其它系統(tǒng)的用戶賬號;
[0098]所述方法還包括:
[0099]在主機房的業(yè)務(wù)服務(wù)器和/或備機房的業(yè)務(wù)服務(wù)器接收到業(yè)務(wù)數(shù)據(jù)讀請求或業(yè)務(wù)數(shù)據(jù)寫請求時,查詢所述系統(tǒng)賬號打通表,根據(jù)所述系統(tǒng)賬號打通表內(nèi)是否記錄所述業(yè)務(wù)數(shù)據(jù)讀請求或業(yè)務(wù)數(shù)據(jù)寫請求攜帶的用戶賬號來確定是否提供業(yè)務(wù)數(shù)據(jù)讀寫服務(wù)。
【主權(quán)項】
1.一種多機房部署系統(tǒng),包括:主機房和備機房,所述主機房包括至少一個業(yè)務(wù)服務(wù)器以及用于存儲業(yè)務(wù)數(shù)據(jù)的主緩存數(shù)據(jù)庫和主數(shù)據(jù)庫,所述備機房包括至少一個業(yè)務(wù)服務(wù)器以及用于存儲業(yè)務(wù)數(shù)據(jù)的備緩存數(shù)據(jù)庫和備數(shù)據(jù)庫;所述主緩存數(shù)據(jù)庫和所述備緩存數(shù)據(jù)庫之間雙向同步業(yè)務(wù)數(shù)據(jù),所述主數(shù)據(jù)庫與所述備數(shù)據(jù)庫之間雙向同步業(yè)務(wù)數(shù)據(jù); 所述備機房的至少一個業(yè)務(wù)服務(wù)器用于:在接收到業(yè)務(wù)數(shù)據(jù)讀請求時,從所述主數(shù)據(jù)庫中讀取業(yè)務(wù)數(shù)據(jù);以及,在接收到業(yè)務(wù)數(shù)據(jù)寫請求時,向所述主數(shù)據(jù)庫寫入業(yè)務(wù)數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的系統(tǒng),所述備機房的至少一個業(yè)務(wù)服務(wù)器進(jìn)一步用于:在接收到業(yè)務(wù)數(shù)據(jù)讀請求時,先查詢所述備緩存數(shù)據(jù)庫是否存儲有業(yè)務(wù)數(shù)據(jù),若是,則從所述備緩存數(shù)據(jù)庫中讀取業(yè)務(wù)數(shù)據(jù);若否,則從所述主數(shù)據(jù)庫中查詢并讀取業(yè)務(wù)數(shù)據(jù)。3.根據(jù)權(quán)利要求2所述的系統(tǒng),所述備機房的至少一個業(yè)務(wù)服務(wù)器進(jìn)一步用于:若在接收到業(yè)務(wù)數(shù)據(jù)讀請求后,未在所述備緩存數(shù)據(jù)庫中查詢到業(yè)務(wù)數(shù)據(jù),則在從所述主數(shù)據(jù)庫讀取到業(yè)務(wù)數(shù)據(jù)后,將業(yè)務(wù)數(shù)據(jù)寫入到所述備緩存數(shù)據(jù)庫中。4.根據(jù)權(quán)利要求1-3任一項所述的系統(tǒng),所述備機房的至少一個業(yè)務(wù)服務(wù)器進(jìn)一步用于:在接收到業(yè)務(wù)數(shù)據(jù)寫請求時,先向所述主數(shù)據(jù)庫寫入業(yè)務(wù)數(shù)據(jù),而后向所述備緩存數(shù)據(jù)庫寫入業(yè)務(wù)數(shù)據(jù)。5.根據(jù)權(quán)利要求1-4任一項所述的系統(tǒng),所述主機房的至少一個業(yè)務(wù)服務(wù)器用于:在接收到業(yè)務(wù)數(shù)據(jù)讀請求時,從所述主緩存數(shù)據(jù)庫或主數(shù)據(jù)庫中讀取業(yè)務(wù)數(shù)據(jù);以及,在接收到業(yè)務(wù)數(shù)據(jù)寫請求時,依次向所述主數(shù)據(jù)庫和所述主緩存數(shù)據(jù)庫中寫入業(yè)務(wù)數(shù)據(jù)。6.根據(jù)權(quán)利要求1-5任一項所述的系統(tǒng),所述主數(shù)據(jù)庫包括MySQL主數(shù)據(jù)庫和SSDB主數(shù)據(jù)庫,所述備數(shù)據(jù)庫包括MySQL備數(shù)據(jù)庫和SSDB備數(shù)據(jù)庫; 所述MySQL主數(shù)據(jù)庫和所述MySQL備數(shù)據(jù)庫之間雙向同步業(yè)務(wù)數(shù)據(jù),所述SSDB主數(shù)據(jù)庫和所述SSDB備數(shù)據(jù)庫中間雙向同步業(yè)務(wù)數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的系統(tǒng),所述MySQL主數(shù)據(jù)庫用于采用分表技術(shù)存儲業(yè)務(wù)數(shù)據(jù),在從所述MySQL主數(shù)據(jù)庫查詢業(yè)務(wù)數(shù)據(jù)時,并發(fā)地從多個數(shù)據(jù)表查詢業(yè)務(wù)數(shù)據(jù)。8.根據(jù)權(quán)利要求1-7任一項所述的系統(tǒng),所述主機房的至少一個業(yè)務(wù)服務(wù)器用于:在接收到用戶注冊請求時,為用戶生成符合第一規(guī)則的用戶賬號,將所述用戶賬號和用戶注冊信息寫入所述主緩存數(shù)據(jù)庫和所述主數(shù)據(jù)庫中; 所述備機房的至少一個業(yè)務(wù)服務(wù)器用于:在接收到用戶注冊請求時,為用戶生成符合第二規(guī)則的用戶賬號,將所述用戶賬號和用戶注冊信息寫入所述備緩存數(shù)據(jù)庫和所述主數(shù)據(jù)庫中; 所述第一規(guī)則不同于所述第二規(guī)則。9.根據(jù)權(quán)利要求1-8任一項所述的系統(tǒng),所述主數(shù)據(jù)庫中存儲有系統(tǒng)賬號打通表,所述系統(tǒng)賬號打通表內(nèi)記錄有所述系統(tǒng)的用戶賬號和與所述系統(tǒng)關(guān)聯(lián)的其它系統(tǒng)的用戶賬號; 所述主機房的至少一個業(yè)務(wù)服務(wù)器和/或備機房的至少一個業(yè)務(wù)服務(wù)器還用于:在接收到業(yè)務(wù)數(shù)據(jù)讀請求或業(yè)務(wù)數(shù)據(jù)寫請求時,查詢所述系統(tǒng)賬號打通表,根據(jù)所述系統(tǒng)賬號打通表內(nèi)是否記錄所述業(yè)務(wù)數(shù)據(jù)讀請求或業(yè)務(wù)數(shù)據(jù)寫請求攜帶的用戶賬號來確定是否提供業(yè)務(wù)數(shù)據(jù)讀寫服務(wù)。10.一種跨機房的業(yè)務(wù)數(shù)據(jù)處理方法,包括: 主機房的主緩存數(shù)據(jù)庫和備機房的備緩存數(shù)據(jù)庫之間雙向同步業(yè)務(wù)數(shù)據(jù),主機房的主數(shù)據(jù)庫與備機房的備數(shù)據(jù)庫之間雙向同步業(yè)務(wù)數(shù)據(jù); 當(dāng)備機房的業(yè)務(wù)服務(wù)器接收到業(yè)務(wù)數(shù)據(jù)讀請求時,從所述主數(shù)據(jù)庫中讀取業(yè)務(wù)數(shù)據(jù);或者,當(dāng)備機房的業(yè)務(wù)服務(wù)器接收到業(yè)務(wù)數(shù)據(jù)寫請求時,向所述主數(shù)據(jù)庫寫入業(yè)務(wù)數(shù)據(jù)。
【專利摘要】本發(fā)明公開了一種多機房部署系統(tǒng)及跨機房的業(yè)務(wù)數(shù)據(jù)處理方法。其中,系統(tǒng)包括:主機房和備機房,主機房包括至少一個業(yè)務(wù)服務(wù)器以及用于存儲業(yè)務(wù)數(shù)據(jù)的主緩存數(shù)據(jù)庫和主數(shù)據(jù)庫,備機房包括至少一個業(yè)務(wù)服務(wù)器以及用于存儲業(yè)務(wù)數(shù)據(jù)的備緩存數(shù)據(jù)庫和備數(shù)據(jù)庫;主緩存數(shù)據(jù)庫和備緩存數(shù)據(jù)庫之間雙向同步業(yè)務(wù)數(shù)據(jù),主數(shù)據(jù)庫與備數(shù)據(jù)庫之間雙向同步業(yè)務(wù)數(shù)據(jù);備機房的至少一個業(yè)務(wù)服務(wù)器用于:在接收到業(yè)務(wù)數(shù)據(jù)讀請求時,從主數(shù)據(jù)庫中讀取業(yè)務(wù)數(shù)據(jù);以及,在接收到業(yè)務(wù)數(shù)據(jù)寫請求時,向主數(shù)據(jù)庫寫入業(yè)務(wù)數(shù)據(jù)。該系統(tǒng)中,在主數(shù)據(jù)庫和備數(shù)據(jù)庫之間雙向同步業(yè)務(wù)數(shù)據(jù)時,以主數(shù)據(jù)庫的業(yè)務(wù)數(shù)據(jù)為主,使得備數(shù)據(jù)庫與主數(shù)據(jù)庫的數(shù)據(jù)能夠保持強一致性。
【IPC分類】G06F17/30
【公開號】CN105205182
【申請?zhí)枴緾N201510713989
【發(fā)明人】王霏
【申請人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司
【公開日】2015年12月30日
【申請日】2015年10月28日