業務數據的處理方法、裝置及分布式內存數據庫系統的制作方法
【技術領域】
[0001] 本發明涉及業務支撐技術領域,尤指一種業務數據的處理方法、裝置及分布式內 存數據庫系統。
【背景技術】
[0002] 目前,為了業務支撐系統能夠快速進行查詢和判斷處理,計費帳務系統往往需要 建設一套內存數據庫(MemoryDataBase,MDB)系統,以利用內存訪問的高效性提升系統效 率。在內存數據庫的建設中,一般按照業務類型拆分為幾個內存數據庫,比如:內存數據庫 A存放用戶訂購的產品,內存數據庫B存放用戶的賬單信息等。
[0003] 隨著用戶的增加和業務的發展,數據量越來越巨大,對于內存容量的要求也越來 越高。而現有的技術將同一類數據存放在一個內存數據庫中,這要求單個服務器的內存要 越來越大,而業界可能還沒有如此規模內存的服務器,即使存在,其購買和維護成本也非常 局I昂。
[0004] 另一方面,如此巨大的內存,其備份和恢復時間會非常漫長。而對于電信運營商而 言,一旦遭遇系統崩潰,需要及時恢復系統。漫長的恢復時間,會導致業務中斷較久,影響用 戶的滿意度,并且由于無法及時將透支用戶停機,也會影響自身的經濟利益。
【發明內容】
[0005] 本發明實施例提供了一種業務數據的處理方法、裝置及分布式內存數據庫系統, 以實現對分布式內存數據庫中存儲的業務數據進行處理。
[0006] 本發明實施例提供的一種業務數據的處理方法,包括:
[0007] 接收應用程序發送的攜帶有對至少一個用戶的業務數據進行更新的處理請求;
[0008] 在路由內存數據庫中確定所述用戶的業務數據在分布式內存數據庫的各業務內 存數據庫中的存儲信息;
[0009] 在存儲所述用戶的業務數據的業務內存數據庫中,對所述用戶的業務數據采用增 量的方式進行更新處理;
[0010] 在所述處理請求中所有的用戶的業務數據均更新完成后,根據所述用戶的業務數 據更新狀態向所述應用程序返回相應的數據處理結果。
[0011] 本發明實施例提供的上述業務數據的處理方法,在接收到用戶的業務數據更新的 處理請求后,通過查找路由內存數據庫的方式,確定用戶的業務數據在分布式內存數據庫 的各業務內存數據庫中的存儲信息;根據存儲信息在對應的業務內存數據庫中,分別對用 戶的業務數據采用增量的方式進行更新處理,以實現對分布式內存數據庫中各業務內存數 據庫存儲的業務數據進行準確的事務處理。
[0012] 較佳地,在本發明實施例提供的上述處理方法中,根據所述用戶的業務數據更新 狀態向所述應用程序返回相應的數據處理結果,具體包括:
[0013] 在全部所述用戶的業務數據均更新成功時,向所述應用程序返回數據處理成功的 結果;
[0014] 在部分或全部所述用戶的業務數據更新失敗時,向所述應用程序返回數據處理失 敗的結果。
[0015] 較佳地,在本發明實施例提供的上述處理方法中,在部分所述用戶的業務數據更 新失敗時,還包括:
[0016] 采用增量反向處理的方式,對更新成功的用戶的業務數據進行反向更新處理。
[0017] 較佳地,在本發明實施例提供的上述處理方法中,在路由內存數據庫中確定所述 用戶的業務數據在分布式內存數據庫的各業務內存數據庫中的存儲信息時,還包括:獲取 所述用戶在所述路由內存數據庫中存儲的版本號;
[0018] 在存儲所述用戶的業務數據的業務內存數據庫中,對所述用戶的業務數據采用 增量的方式進行更新處理時,還包括:獲取所述用戶在所述業務內存數據庫中存儲的版本 號;
[0019] 所述處理方法還包括:在確定所述用戶在所述路由內存數據庫中存儲的版本號與 在所述業務內存數據庫中存儲的版本號不一致時,按照兩者中最新的版本號對應的用戶的 業務數據存儲信息,對所述路由內存數據庫中存儲的所述用戶的業務數據存儲信息或在所 述業務內存數據庫中存儲的所述用戶的業務數據存儲信息進行更新操作。
[0020] 較佳地,在本發明實施例提供的上述處理方法中,還包括:
[0021] 接收應用程序發送的變更用戶信息請求,在所述路由內存數據庫中采用增加用戶 信息的方式對用戶信息進行變更;
[0022] 按照預先設定的分布式內存數據庫的分庫規則,判斷更新用戶信息后的用戶是否 需要進行轉庫處理,若是,在分布式內存數據庫中對用戶的業務數據進行轉庫處理,并在路 由內存數據庫和業務內存數據庫中升級所述轉庫處理后的用戶的版本號。
[0023] 較佳地,在本發明實施例提供的上述處理方法中,在存儲所述用戶的業務數據的 業務內存數據庫中,對所述用戶的業務數據采用增量的方式進行更新處理之前,還包括:
[0024] 在所述業務內存數據庫中確定存儲的所述用戶的業務數據是否存在分賬業務數 據;
[0025] 在確定所述用戶的業務數據存在分賬業務數據時,判斷所述分賬業務數據對應的 代付用戶的業務數據與所述用戶的業務數據是否存儲在同一業務內存數據庫中,若否,對 所述用戶的業務數據中的原始業務數據進行加鎖處理。
[0026] 較佳地,在本發明實施例提供的上述處理方法中,所述分賬業務數據對應的代付 用戶的業務數據與所述用戶的業務數據存儲在不同業務內存數據庫中,對所述用戶的業務 數據進行更新處理,具體包括:
[0027] 對所述用戶的業務數據中的原始業務數據和分賬業務數據分別進行更新處理;
[0028] 對所述分賬業務數據對應的所述代付用戶的業務數據進行更新處理。
[0029] 較佳地,在本發明實施例提供的上述處理方法中,所述分賬業務數據對應的代付 用戶的業務數據與所述用戶的業務數據存儲在不同業務內存數據庫中,對所述用戶的業務 數據進行更新處理之后,還包括:
[0030] 對所述用戶的業務數據中的原始業務數據進行解鎖處理。
[0031] 本發明實施例提供的一種業務數據的處理裝置,包括:
[0032] 接收單元,用于接收應用程序發送的攜帶有對至少一個用戶的業務數據進行更新 的處理請求;
[0033] 用戶信息查詢單元,在路由內存數據庫中確定所述用戶的業務數據在分布式內存 數據庫的各業務內存數據庫中的存儲信息;
[0034] 業務數據更新單元,用于在存儲所述用戶的業務數據的業務內存數據庫中,對所 述用戶的業務數據采用增量的方式進行更新處理;
[0035] 更新反饋單元,用于在所述處理請求中所有的用戶的業務數據均更新完成后,根 據所述用戶的業務數據更新狀態向所述應用程序返回相應的數據處理結果。
[0036] 較佳地,在本發明實施例提供的上述處理裝置中,所述更新反饋單元,具體用于在 全部所述用戶的業務數據均更新成功時,向所述應用程序返回數據處理成功的結果;在部 分或全部所述用戶的業務數據更新失敗時,向所述應用程序返回數據處理失敗的結果。
[0037] 較佳地,在本發明實施例提供的上述處理裝置中,所述業務數據更新單元,還用于 在部分所述用戶的業務數據更新失敗時,采用增量反向處理的方式,對更新成功的用戶的 業務數據進行反向更新處理。
[0038] 較佳地,在本發明實施例提供的上述處理裝置中,還包括:版本號更新單元;
[0039] 所述用戶信息查詢單元,還用于在路由內存數據庫中確定所述用戶的業務數據在 分布式內存數據庫的各業務內存數據庫中的存儲信息時,獲取所述用戶在所述路由內存數 據庫中存儲的版本號,在存儲所述用戶的業務數據的業務內存數據庫中,對所述用戶的業 務數據采用增量的方式進行更新處理時,獲取所述用戶在所述業務內存數據庫中存儲的版 本