對數(shù)據(jù)庫中的庫存記錄信息進行更新的方法及裝置的制造方法
【技術領域】
[0001] 本申請涉及數(shù)據(jù)庫技術領域,特別是涉及對數(shù)據(jù)庫中的庫存記錄信息進行更新的 方法及裝置。
【背景技術】
[0002] 在一些數(shù)據(jù)庫系統(tǒng)中,經(jīng)常存在相互關聯(lián)的數(shù)據(jù),一般情況下,為了保證各種數(shù)據(jù) 的正確性,需要對這些數(shù)據(jù)進行同步更新。例如,在電子商務交易平臺中,針對具體的商品 對象,數(shù)據(jù)庫中需要維護其SKU (最小銷售屬性)庫存以及總庫存。假設商品對象為某手機, 其SKU分為黑色和白色兩種,庫存數(shù)量各為50件,則反映到庫存管理中的數(shù)據(jù)記錄情況可 以如表1所示:
【主權項】
1. 一種對數(shù)據(jù)庫中的庫存記錄信息進行更新的方法,其特征在于,所述數(shù)據(jù)庫中針對 同一商品對象的多個最小銷售屬性SKU保存有多條庫存記錄,每個SKU對應一條SKU庫存 記錄,所述數(shù)據(jù)庫中還保存有同一商品對象的總庫存記錄,所述方法包括: 接收到應用發(fā)出的對指定商品對象的庫存記錄進行變更的請求時,確定待變更的SKU庫存記錄; 對所述待變更的SKU庫存記錄進行修改,并將所述SKU庫存記錄的變更信息寫入數(shù)據(jù) 庫的日志文件中; 在滿足預置條件時,通過讀取數(shù)據(jù)庫的日志文件,獲取數(shù)據(jù)庫中關于SKU庫存記錄的 最新變更記錄;其中,所述最新變更記錄包括從上一讀取時刻到當前讀取時刻產(chǎn)生的變更 記錄; 根據(jù)所述最新變更記錄,計算所述SKU庫存記錄變更前后的差值; 讀取數(shù)據(jù)庫中所述指定商品對象的總庫存記錄,并根據(jù)所述差值對所述總庫存記錄的 取值進行更新。
2. 根據(jù)權利要求1所述的方法,其特征在于,從日志文件中讀取到的最新變更記錄包 括同一商品對象的多條SKU庫存記錄變更產(chǎn)生的多條變更記錄,所述讀取數(shù)據(jù)庫中所述指 定商品對象的總庫存記錄,并根據(jù)所述差值對所述總庫存記錄的取值進行更新,包括: 根據(jù)各條變更記錄在所述日志文件中的先后順序,對總庫存記錄的取值進行更新。
3. 根據(jù)權利要求1所述的方法,其特征在于,從日志文件中讀取到的最新變更記錄包 括同一條SKU庫存記錄發(fā)生多次變更產(chǎn)生的多條變更記錄,所述讀取數(shù)據(jù)庫中所述指定商 品對象的總庫存記錄,并根據(jù)所述差值對所述總庫存記錄的取值進行更新,包括: 根據(jù)各條變更記錄在所述日志文件中的先后順序,對總庫存記錄的取值進行更新。
4. 根據(jù)權利要求1所述的方法,其特征在于,SKU庫存記錄中包含版本號,所述對所述 待變更的SKU庫存記錄進行修改時,還包括: 對所述待變更的SKU庫存記錄的版本號進行同步修改,并將帶有修改后的版本號信息 的變更信息寫入到數(shù)據(jù)庫的日志文件中,以便所述日志文件中的變更記錄中帶有SKU庫存 記錄的版本號信息; 所述方法還包括: 當利用某條最新變更記錄對總庫存記錄進行更新后,將該最新變更記錄寫入到去重表 中;其中,所述去重表用于記錄已經(jīng)完成更新的SKU庫存記錄的標識以及版本號信息。
5. 根據(jù)權利要求4所述的方法,其特征在于,所述去重表具有唯一性約束,所述方法還 包括: 當系統(tǒng)發(fā)生重啟時,從日志文件中讀取最新變更記錄時,讀取的最新變更記錄包括從 上一讀取時刻到當前讀取時刻產(chǎn)生的變更記錄,以及上一讀取時刻之前產(chǎn)生的預置條數(shù)的 變更記錄; 將讀取到的各條最新變更記錄插入到所述去重表中; 如果某條最新變更記錄插入成功,則利用該最新變更記錄對所述總庫存記錄的取值進 行更新; 如果插入不成功,則跳過利用該條最新變更記錄對總庫存記錄的更新操作。
6. 根據(jù)權利要求1所述的方法,其特征在于,如果某商品對象僅存在一條SKU庫存記 錄,則預先在數(shù)據(jù)庫中為該SKU庫存記錄添加特定標識,所述方法還包括: 在通過讀取數(shù)據(jù)庫的日志文件獲取到最新變更記錄后,判斷最新變更記錄對應的SKU庫存記錄是否帶有所述特定標識; 如果不存在,則觸發(fā)利用該條最新變更記錄對總庫存記錄進行更新的操作; 如果存在,則跳過利用該條最新變更記錄對總庫存記錄進行更新的操作。
7. 根據(jù)權利要求1至6任一項所述的方法,其特征在于,所述在滿足預置條件時,通過 讀取數(shù)據(jù)庫的日志文件,獲取數(shù)據(jù)庫中關于SKU庫存記錄的最新變更記錄,包括: 按照預置的時間間隔,讀取數(shù)據(jù)庫的日志文件,獲取數(shù)據(jù)庫中關于SKU庫存記錄的最 新變更記錄。
8. 根據(jù)權利要求1至6任一項所述的方法,其特征在于,所述在滿足預置條件時,通過 讀取數(shù)據(jù)庫的日志文件,獲取數(shù)據(jù)庫中關于SKU庫存記錄的最新變更記錄,包括: 當所述數(shù)據(jù)庫的日志文件中產(chǎn)生了預置條目的最新變更記錄時,讀取數(shù)據(jù)庫的日志文 件,獲取數(shù)據(jù)庫中關于SKU庫存記錄的最新變更記錄。
9. 一種對數(shù)據(jù)庫中的庫存記錄信息進行更新的裝置,其特征在于,所述數(shù)據(jù)庫中針對 同一商品對象的多個最小銷售屬性SKU保存有多條庫存記錄,每個SKU對應一條SKU庫存 記錄,所述數(shù)據(jù)庫中還保存有同一商品對象的總庫存記錄,所述裝置包括: 變更請求接收單元,用于接收到應用發(fā)出的對指定商品對象的庫存記錄進行變更的請 求時,確定待變更的SKU庫存記錄; 數(shù)據(jù)修改單元,用于對所述待變更的SKU庫存記錄進行修改,并將所述SKU庫存記錄的 變更信息寫入數(shù)據(jù)庫的日志文件中; 日志讀取單元,用于在滿足預置條件時,通過讀取數(shù)據(jù)庫的日志文件,獲取數(shù)據(jù)庫中關 于SKU庫存記錄的最新變更記錄;其中,所述最新變更記錄包括從上一讀取時刻到當前讀 取時刻產(chǎn)生的變更記錄; 計算單元,用于根據(jù)所述最新變更記錄,計算所述SKU庫存記錄變更前后的差值; 更新單元,用于讀取數(shù)據(jù)庫中所述指定商品對象的總庫存記錄,并根據(jù)所述差值對所 述總庫存記錄的取值進行更新。
10. 根據(jù)權利要求9所述的裝置,其特征在于,SKU庫存記錄中包含版本號,所述數(shù)據(jù)修 改單元還用于對所述待變更的SKU庫存記錄的版本號進行同步修改,并將帶有修改后的版 本號信息的變更信息寫入到數(shù)據(jù)庫的日志文件中,以便所述日志文件中的變更記錄中帶有 SKU庫存記錄的版本號信息; 所述裝置還包括: 去重表寫入單元,用于當利用某條最新變更記錄對總庫存記錄進行更新后,將該最新 變更記錄寫入到去重表中;其中,所述去重表用于記錄已經(jīng)完成更新的SKU庫存記錄的標 識以及版本號信息。
11. 根據(jù)權利要求10所述的裝置,其特征在于,所述去重表具有唯一性約束,所述裝置 還包括: 回溯讀取單元,用于當系統(tǒng)發(fā)生重啟時,從日志文件中讀取最新變更記錄時,讀取的最 新變更記錄包括從上一讀取時刻到當前讀取時刻產(chǎn)生的變更記錄,以及上一讀取時刻之前 產(chǎn)生的預置條數(shù)的變更記錄; 插入單元,用于將讀取到的各條最新變更記錄插入到所述去重表中; 第一更新單元,用于如果某條最新變更記錄插入成功,則利用該最新變更記錄對所述 總庫存記錄的取值進行更新; 第二更新單元,用于如果插入不成功,則跳過利用該條最新變更記錄對總庫存記錄的 更新操作。
12.根據(jù)權利要求9所述的裝置,其特征在于,如果某商品對象僅存在一條SKU庫存記 錄,則預先在數(shù)據(jù)庫中為該SKU庫存記錄添加特定標識,所述裝置還包括: 判斷單元,用于在通過讀取數(shù)據(jù)庫的日志文件獲取到最新變更記錄后,判斷最新變更 記錄對應的SKU庫存記錄是否帶有所述特定標識; 觸發(fā)單元,用于如果不存在,則觸發(fā)利用該條最新變更記錄對總庫存記錄進行更新的 操作; 跳過操作單元,用于如果存在,則跳過利用該條最新變更記錄對總庫存記錄進行更新 的操作。
【專利摘要】本申請公開了對數(shù)據(jù)庫中的庫存記錄信息進行更新的方法及裝置,所述方法包括:接收到應用發(fā)出的對指定商品對象的庫存記錄進行變更的請求時,確定待變更的SKU庫存記錄;對所述待變更的SKU庫存記錄進行修改,并將所述SKU庫存記錄的變更信息寫入數(shù)據(jù)庫的日志文件中;在滿足預置條件時,通過讀取數(shù)據(jù)庫的日志文件,獲取數(shù)據(jù)庫中關于SKU庫存記錄的最新變更記錄;其中,所述最新變更記錄包括從上一讀取時刻到當前讀取時刻產(chǎn)生的變更記錄;根據(jù)所述最新變更記錄,計算所述SKU庫存記錄變更前后的差值;讀取數(shù)據(jù)庫中所述指定商品對象的總庫存記錄,并根據(jù)所述差值對所述總庫存記錄的取值進行更新。本申請能夠在提高系統(tǒng)響應效率的同時,保證數(shù)據(jù)的一致性。
【IPC分類】G06F17-30
【公開號】CN104699712
【申請?zhí)枴緾N201310661789
【發(fā)明人】許俊
【申請人】阿里巴巴集團控股有限公司
【公開日】2015年6月10日
【申請日】2013年12月9日