庫存信息處理方法和裝置的制造方法
【技術領域】
[0001]本申請涉及計算機技術領域,具體涉及互聯(lián)網技術領域,尤其涉及庫存信息處理方法和裝置。
【背景技術】
[0002]在互聯(lián)網行業(yè),后臺系統(tǒng)經常需要面對高并發(fā)壓力,用于存儲庫存信息的數(shù)據(jù)庫系統(tǒng)可能會在短時間內接收到數(shù)以萬記甚至更多的請求。
[0003]然而,現(xiàn)有的庫存信息管理系統(tǒng)在面對高并發(fā)壓力時,難以在保持較高處理效率的同時解決單點故障問題。
【發(fā)明內容】
[0004]本申請的目的在于提出一種改進的庫存信息處理方法和裝置,來解決以上【背景技術】部分提到的技術問題。
[0005]第一方面,本申請?zhí)峁┝艘环N庫存信息處理方法,在至少兩個數(shù)據(jù)庫中記錄同一物品的庫存信息且所述物品在所述至少兩個數(shù)據(jù)庫中記錄的庫存數(shù)量之和等于所述物品的總庫存數(shù)量,所述至少兩個數(shù)據(jù)庫包括第一數(shù)據(jù)庫和第二數(shù)據(jù)庫,所述方法包括:接收對所述物品的庫存數(shù)量進行扣減的操作請求;若所述第一數(shù)據(jù)庫未出現(xiàn)故障,則向所述第一數(shù)據(jù)庫發(fā)送所述操作請求,以使所述第一數(shù)據(jù)庫對所記錄的庫存數(shù)量進行更新;若所述第一數(shù)據(jù)庫出現(xiàn)故障,則向所述第二數(shù)據(jù)庫發(fā)送所述操作請求,以使所述第二數(shù)據(jù)庫對所記錄的庫存數(shù)量進行更新。
[0006]在一些實施例中,所述第一數(shù)據(jù)庫的讀寫速度高于所述第二數(shù)據(jù)庫的讀寫速度。
[0007]在一些實施例中,所述第一數(shù)據(jù)庫為內存數(shù)據(jù)庫,所述第二數(shù)據(jù)庫為關系數(shù)據(jù)庫。
[0008]在一些實施例中,所述物品分配在所述第一數(shù)據(jù)庫的庫存數(shù)量多于所述物品分配在所述第二數(shù)據(jù)庫的庫存數(shù)量。
[0009]在一些實施例中,所述方法還包括:根據(jù)預先設置的分配策略,實時調整所述物品分配在所述第一數(shù)據(jù)庫的庫存數(shù)量與分配在所述第二數(shù)據(jù)庫的庫存數(shù)量。
[0010]在一些實施例中,所述根據(jù)預先設置的分配策略,實時調整所述物品分配在所述第一數(shù)據(jù)庫的庫存數(shù)量與分配在所述第二數(shù)據(jù)庫的庫存數(shù)量,包括:若所述第一數(shù)據(jù)庫記錄的所述物品的庫存數(shù)量滿足預設條件,則將所述第二數(shù)據(jù)庫中所記錄的所述物品的庫存數(shù)量扣減預設數(shù)值并在所述第一數(shù)據(jù)庫中所記錄的所述物品的庫存數(shù)量增加所述預設數(shù)值;其中,所述預設條件包括以下至少一項:所述數(shù)量小于預設數(shù)量閾值、所述數(shù)量與所述物品的總庫存數(shù)量的比值小于預設比例閾值。
[0011]在一些實施例中,所述第一數(shù)據(jù)庫還記錄有當前所接收的針對所述物品的操作請求的請求數(shù)量以及流量限制用閾值;以及所述向所述第一數(shù)據(jù)庫發(fā)送所述操作請求,以使所述第一數(shù)據(jù)庫對所記錄的庫存數(shù)量進行更新,包括:向所述第一數(shù)據(jù)庫發(fā)送所述操作請求;比較所述請求數(shù)量與所述流量限制用閾值;響應于所述請求數(shù)量小于或等于所述流量限制用閾值,對所述第一數(shù)據(jù)庫所記錄的庫存數(shù)量進行扣減。
[0012]在一些實施例中,所述操作請求是根據(jù)從客戶端接收的對所述物品的購買請求生成的;以及在所述響應于所述請求數(shù)量小于或等于所述流量限制用閾值,對所述第一數(shù)據(jù)庫對所記錄的庫存數(shù)量進行扣減之后,所述方法還包括:向所述客戶端反饋用于指示所述物品的購買成功的信息。
[0013]在一些實施例中,所述第一數(shù)據(jù)庫由多個存儲設備構成,所述第一數(shù)據(jù)庫將所記錄的物品的庫存信息分布在所述多個存儲設備存儲,且所述多個存儲設備中的各個存儲設備對所存儲的庫存信息冗余備份。
[0014]第二方面,本申請?zhí)峁┝艘环N庫存信息處理裝置,在至少兩個數(shù)據(jù)庫中記錄同一物品的庫存信息且所述物品在所述至少兩個數(shù)據(jù)庫中記錄的庫存數(shù)量之和等于所述物品的總庫存數(shù)量,所述至少兩個數(shù)據(jù)庫包括第一數(shù)據(jù)庫和第二數(shù)據(jù)庫,所述裝置包括:接收單元,用于接收對所述物品的庫存數(shù)量進行扣減的操作請求;第一更新單元,用于若所述第一數(shù)據(jù)庫未出現(xiàn)故障,則向所述第一數(shù)據(jù)庫發(fā)送所述操作請求,以使所述第一數(shù)據(jù)庫對所記錄的庫存數(shù)量進行更新;第二更新單元,用于若所述第一數(shù)據(jù)庫出現(xiàn)故障,則向所述第二數(shù)據(jù)庫發(fā)送所述操作請求,以使所述第二數(shù)據(jù)庫對所記錄的庫存數(shù)量進行更新。
[0015]在一些實施例中,所述第一數(shù)據(jù)庫的讀寫速度高于所述第二數(shù)據(jù)庫的讀寫速度。
[0016]在一些實施例中,所述第一數(shù)據(jù)庫為內存數(shù)據(jù)庫,所述第二數(shù)據(jù)庫為關系數(shù)據(jù)庫。
[0017]在一些實施例中,所述物品分配在所述第一數(shù)據(jù)庫的庫存數(shù)量多于所述物品分配在所述第二數(shù)據(jù)庫的庫存數(shù)量。
[0018]在一些實施例中,所述裝置還包括:庫存調整單元,用于根據(jù)預先設置的分配策略,實時調整所述物品分配在所述第一數(shù)據(jù)庫的庫存數(shù)量與分配在所述第二數(shù)據(jù)庫的庫存數(shù)量。
[0019]在一些實施例中,所述庫存調整單元進一步用于若所述第一數(shù)據(jù)庫記錄的所述物品的庫存數(shù)量滿足預設條件,則將所述第二數(shù)據(jù)庫中所記錄的所述物品的庫存數(shù)量扣減預設數(shù)值并在所述第一數(shù)據(jù)庫中所記錄的所述物品的庫存數(shù)量增加所述預設數(shù)值;其中,所述預設條件包括以下至少一項:所述數(shù)量小于預設數(shù)量閾值、所述數(shù)量與所述物品的總庫存數(shù)量的比值小于預設比例閾值。
[0020]在一些實施例中,所述第一更新單元,包括:發(fā)送子單元,用于向所述第一數(shù)據(jù)庫發(fā)送所述操作請求;比較子單元,用于比較所述請求數(shù)量與所述流量限制用閾值;扣減子單元,用于響應于所述請求數(shù)量小于或等于所述流量限制用閾值,對所述第一數(shù)據(jù)庫所記錄的庫存數(shù)量進行扣減。
[0021]在一些實施例中,所述操作請求是根據(jù)從客戶端接收的對所述物品的購買請求生成的;以及所述裝置還包括:反饋單元,用于向所述客戶端反饋用于指示所述物品的購買成功的信息。
[0022]在一些實施例中,所述第一數(shù)據(jù)庫由多個存儲設備構成,所述第一數(shù)據(jù)庫將所記錄的物品的庫存信息分布在所述多個存儲設備存儲,且所述多個存儲設備中的各個存儲設備對所存儲的庫存信息冗余備份。
[0023]本申請?zhí)峁┑膸齑嫘畔⑻幚矸椒ê脱b置,在至少兩個數(shù)據(jù)庫中均存儲同一物品的庫存信息并使庫存數(shù)量之和等于該物品的總庫存量,并使用第一數(shù)據(jù)庫優(yōu)先處理庫存扣減操作,在第一數(shù)據(jù)庫故障時才使用另一數(shù)據(jù)庫進行庫存扣減操作,可以防止數(shù)據(jù)庫單點故障造成系統(tǒng)可用性降低。
【附圖說明】
[0024]通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
[0025]圖1是本申請可以應用于其中的示例性系統(tǒng)架構圖;
[0026]圖2是根據(jù)本申請的庫存信息處理方法的一個實施例的流程圖;
[0027]圖3是根據(jù)本申請的庫存信息處理方法的又一個實施例的流程圖;
[0028]圖4是根據(jù)本申請的庫存信息處理裝置的一個實施例的結構示意圖;
[0029]圖5是適于用來實現(xiàn)本申請實施例的服務器的計算機系統(tǒng)的結構示意圖。
【具體實施方式】
[0030]下面結合附圖和實施例對本申請作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋相關發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關發(fā)明相關的部分。
[0031]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。
[0032]圖1示出了可以應用本申請的庫存信息處理方法或庫存信息處理裝置的實施例的示例性系統(tǒng)架構100。
[0033]如圖1所示,系統(tǒng)架構100可以包括庫存控制服務器101以及數(shù)據(jù)庫服務器102、103。庫存控制服務器101、數(shù)據(jù)庫服務器102、數(shù)據(jù)庫服務器103之間可以網絡進行通信,以發(fā)送和接收信息。數(shù)據(jù)庫服務器102、103中可以對各種物品的庫存信息進行存儲。庫存控制服務器101可以從其他服務器(未示出)或者終端設備(未示出)接收對物品的庫存數(shù)量進行扣減的操作請求,并可以將相應的操作請求發(fā)送到數(shù)據(jù)庫服務器102或數(shù)據(jù)庫服務器103中,以使數(shù)據(jù)庫服務器102或數(shù)據(jù)庫服務器103對所存儲的庫存數(shù)量進行更新。數(shù)據(jù)庫服務器102、103之間也可以互相發(fā)送信息,以使接收信息的數(shù)據(jù)庫服務器進行相應的信息處理。
[0034]本申請實施例所提供的庫存信息處理方法一般由庫存控制服務器101執(zhí)行。相應地,庫存信息處理裝置一般設置于庫存控制服務器101中。庫存信息處理方法或庫存信息處理裝置所涉及的一些功能也可以由第一數(shù)據(jù)庫或第二數(shù)據(jù)庫執(zhí)行。需要說明的是,庫存控制服務器101和數(shù)據(jù)庫服務器102也可以是同一設備,即相應的方法由數(shù)據(jù)庫服務器102執(zhí)行,相應的庫存信息處理裝置也可以設置于數(shù)據(jù)庫服務器102中。
[0035]應該理解,圖1中的終端設備、網絡和服務器的數(shù)目僅僅是示意性的。根據(jù)實現(xiàn)