本發(fā)明涉及計算機技術(shù)領域,具體而言,涉及一種分布式訂單處理方法、裝置及訂單處理系統(tǒng)。
背景技術(shù):
近年來電子商務在我國蓬勃發(fā)展,人們越來越習慣于網(wǎng)上購物。對此各商家分別推出了網(wǎng)上交易平臺,然而隨著訂單交易量的增加,服務器資源逐步吃緊,訂單處理響應速度越來越慢,更是在各種促銷活動期間,異常百出,進而極大程度地影響了交易銷量并同時還帶給了客戶對系統(tǒng)安全問題的顧慮。然而為了更好的提供服務,商家不得不隨著訂單量的增加逐步提升服務器資源配置,當單臺服務器達到瓶頸,多數(shù)商家則會考慮使用負載均衡,應對高并發(fā)的情況。但是,單純依靠增加服務器配置的方式不僅使服務器資源成本呈指數(shù)增長,且終將面臨資源瓶頸,而站點的負載均衡方案又需要面臨數(shù)據(jù)安全與并發(fā)鎖的處理問題。而對于復雜的設計方案或者不小心設計過剩,不僅技術(shù)門檻較高、維護成本高,且開發(fā)與維護周期都將對平臺的運營規(guī)劃產(chǎn)生副作用。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種分布式訂單處理方法、裝置及訂單處理系統(tǒng),旨在改善上述問題。
第一方面,本發(fā)明提供的一種分布式訂單處理方法,應用于訂單處理系統(tǒng),所述系統(tǒng)包括第一服務器和多個第二服務器,所述方法包括:所述第一服務器獲取訂單信息;所述第一服務器將所述訂單信息發(fā)送到多個所述第二服務器中的任意一個所述第二服務器,以使所述第二服務器處理所述訂單信息。
第二方面,本發(fā)明提供的一種分布式訂單處理裝置,所述裝置應用于訂單處理系統(tǒng),所述系統(tǒng)包括第一服務器和多個第二服務器,所述裝置包括:數(shù)據(jù)獲取模塊,用于第一服務器獲取訂單信息;數(shù)據(jù)處理模塊,用于所述第一服務器將所述訂單信息發(fā)送到多個所述第二服務器中的任意一個所述第二服務器,以使所述第二服務器處理所述訂單信息。
第三方面,本發(fā)明提供的一種訂單處理系統(tǒng),包括第一服務器和第二服務器,所述第一服務器與所述第二服務器耦合,所述第一服務器用于獲取訂單信息,所述第一服務器還用于將所述訂單信息發(fā)送到多個所述第二服務器中的任意一個所述第二服務器,所述第二服務器用于處理所述訂單信息。
上述本發(fā)明提供的一種分布式訂單處理方法、裝置及訂單處理系統(tǒng),該方法通過第一服務器獲取客戶端發(fā)送的訂單信息,將所述訂單信息發(fā)送到多個第二服務器中的任意一個第二服務器,從而使得第二服務器所處理的訂單信息的數(shù)量位于該第二服務器所能處理的范圍內(nèi),進而使得訂單處理過程更加友好、快速以及安全。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應被看作是對范圍的限定,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1為本發(fā)明第一實施例提供的一種訂單處理系統(tǒng)的結(jié)構(gòu)框圖;
圖2圖1所示的訂單處理系統(tǒng)中的第一服務器的結(jié)構(gòu)框圖;
圖3為本發(fā)明第二實施例提供的一種分布式訂單處理方法的流程圖;
圖4為本發(fā)明第三實施例提供的一種分布式訂單處理方法的流程圖;
圖5為本發(fā)明第四實施例提供的一種分布式訂單處理方法的時序圖;
圖6為本發(fā)明第五實施例提供的一種分布式訂單處理裝置的結(jié)構(gòu)框圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例。基于本發(fā)明中的實施例,本領域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參照圖1,是本發(fā)明第一實施例提供的一種訂單處理系統(tǒng)的結(jié)構(gòu)框圖。所述系統(tǒng)600包括第一服務器602、多個第二服務器601和用戶終端603。所述第一服務器602與每個所述第二服務器601均耦合。用戶終端603和第一服務器602耦合。用戶終端603可以是多個。用戶終端603中安裝有客戶端,用戶通過用戶終端603中的客戶端向所述第一服務器602發(fā)送訂單信息。
在本實施例中,所述第一服務器602用于獲取訂單信息以及將所述訂單信息分發(fā)給多個第二服務器601。具體地,所述第一服務器602用于獲取用戶終端603發(fā)送的訂單信息。
在本實施例中,所述第二服務器601用于處理所述訂單信息,具體地,當所述訂單信息所攜帶的信息與預設信息匹配時,所述第二服務器601將所述訂單信息的處理狀態(tài)修改為未處理,并將所述訂單信息存儲到第一數(shù)據(jù)庫,發(fā)送訂單初步處理完成信息至客戶端;當所述訂單信息所攜帶的產(chǎn)品數(shù)量小于或等于預設產(chǎn)品庫存時,所述第二服務器601將所述訂單信息存儲到第二數(shù)據(jù)庫;當所述第二服務器601接收到所述客戶端基于所述訂單信息反饋的支付信息后,所述第二服務器601修改所述理訂單信息存儲在所述第一數(shù)據(jù)庫中的處理狀態(tài);發(fā)送訂單處理完成消息至所述客戶端。
其中,所述訂單信息包括訂單金額和收貨人手機號,當所述訂單金額與預設第一信息匹配時以及所述收貨人手機號與預設第二信息匹配時,所述第二服務器601將所述訂單信息的狀態(tài)修改為未處理,并將所述訂單信息存儲到第一數(shù)據(jù)庫,當訂單信息存儲完成后,第二服務器601發(fā)送訂單初步處理完成信息至客戶端。
其中,預設第一信息是指每個商品預先設置的價格以及郵費,所述當所述訂單金額與預設第一信息匹配是指將訂單金額與預先設置的商品價格和郵費的總和進行比較,判定預先設置的商品價格和郵費的總和是否等于所述訂單金額,當預先設置的商品價格和郵費的總和等于所述訂單金額時,表示所述訂單金額與預設第一信息匹配,否則不匹配。
所述預設第二信息判斷收貨人手機號是否合法。所述收貨人手機號與預設第二信息匹配是指判斷訂單信息中的收貨人手機號是否是13位,如果是,為正常手機號,即收貨人手機號是合法的。
在本實施例中,當所述訂單信息所攜帶的產(chǎn)品數(shù)量小于或等于預設產(chǎn)品庫存時,所述第二服務器601將所述訂單信息存儲到第二數(shù)據(jù)庫是指第二服務器601基于輪循的方式從所述第一數(shù)據(jù)庫中獲取所述訂單信息,所述訂單信息的處理狀態(tài)為未處理;第二服務器601將所述訂單信息所攜帶的產(chǎn)品數(shù)量與預設產(chǎn)品庫存進行比對,當所述產(chǎn)品數(shù)量小于或等于所述預設產(chǎn)品庫存時,所述第二服務器將所述訂單信息存儲到所述第二數(shù)據(jù)庫。其中,所述輪循是指每個第二服務器601通過輪流訪問第一數(shù)據(jù)庫中的訂單信息,直到將第一數(shù)據(jù)庫中的訂單信息獲取完。
在本實施例中,所述發(fā)送訂單處理完成消息至所述客戶端具體是指所述第二服務器601獲取存儲在所述第一數(shù)據(jù)庫中所述訂單信息的處理狀態(tài),當所述處理狀態(tài)為處理完成狀態(tài)時,將所述訂單信息刪除以及發(fā)送訂單處理完成消息至客戶端。
在本實施例中,當所述第二服務器601接收到所述客戶端基于所述訂單信息反饋的支付信息后,所述第二服務器601修改所述理訂單信息存儲在所述第一數(shù)據(jù)庫中的處理狀態(tài),將所述處理狀態(tài)修改為已處理或者是已經(jīng)完成處理,并根據(jù)所述訂單信息攜帶的積分信息對所述訂單信息所對應的用戶的積分進行扣取或者是增加。例如,當用戶使用積分進行購買物品時,對用戶擁有的積分進行扣除,當用戶正常購買物品時,贈送用戶購買該物品的相應地積分,即在用戶的原始積分上增加用戶的積分,根據(jù)積分的多少設置用戶的VIP(Very Important People,貴賓)等級。當用戶購買的物品達到預定數(shù)量或者是購買的物品的價格達到預定額度的時候,更新用戶的優(yōu)惠券狀態(tài)或者是添加贈品等。
如圖2所示,為圖1所示的訂單處理系統(tǒng)中的第一服務器602的結(jié)構(gòu)框圖。所述第一服務器602包括分布式訂單處理裝置500、存儲器301、存儲控制器302、處理器303、外設接口304和輸入輸出單元305。
所述存儲器301、存儲控制器302、處理器303、外設接口304、輸入輸出單元305各元件相互之間直接或間接地電性連接,以實現(xiàn)數(shù)據(jù)的傳輸或交互。例如,這些元件相互之間可通過一條或多條通訊總線或信號線實現(xiàn)電性連接。所述分布式訂單處理裝置500包括至少一個可以軟件或固件(firmware)的形式存儲于所述存儲器301中或固化在所述第一服務器602的操作系統(tǒng)(operating system,OS)中的軟件功能模塊。所述處理器303用于執(zhí)行存儲器301中存儲的可執(zhí)行模塊,例如所述分布式訂單處理裝置500包括的軟件功能模塊或計算機程序。
其中,存儲器301可以是,但不限于,隨機存取存儲器(Random Access Memory,RAM),只讀存儲器(Read Only Memory,ROM),可編程只讀存儲器(Programmable Read-Only Memory,PROM),可擦除只讀存儲器(Erasable Programmable Read-Only Memory,EPROM),電可擦除只讀存儲器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存儲器301用于存儲程序,所述處理器303在接收到執(zhí)行指令后,執(zhí)行所述程序,前述本發(fā)明實施例任一實施例揭示的流過程定義的第一服務器602所執(zhí)行的方法可以應用于處理器303中,或者由處理器303實現(xiàn)。
處理器303可能是一種集成電路芯片,具有信號的處理能力。上述的處理器303可以是通用處理器,包括中央處理器(Central Processing Unit,簡稱CPU)、網(wǎng)絡處理器(Network Processor,簡稱NP)等;還可以是數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫崿F(xiàn)或者執(zhí)行本發(fā)明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
所述外設接口304將各種輸入/輸入裝置耦合至處理器303以及存儲器301。在一些實施例中,外設接口304,處理器303以及存儲控制器302可以在單個芯片中實現(xiàn)。在其他一些實例中,他們可以分別由獨立的芯片實現(xiàn)。
輸入輸出單元305用于提供給用戶輸入數(shù)據(jù)實現(xiàn)用戶與所述第一服務器602的交互。所述輸入輸出單元305可以是,但不限于,鼠標和鍵盤等。
請參閱圖3,是本發(fā)明第二實施例提供的一種分布式訂單處理方法的流程圖。下面將對圖3所示的具體流程進行詳細闡述。
步驟S401,所述第一服務器獲取訂單信息。
其中,所述第一服務器接收客戶端發(fā)送的訂單信息。所述訂單信息為多條。所述客戶端為用戶終端中所安裝的應用程序。其中,所述訂單信息包括產(chǎn)品信息、訂單金額、收貨人信息和郵費。
作為一種實施方式,當用戶通過客戶端進行下單后,所述客戶端將用戶的訂單信息發(fā)送到所述第一服務器。例如,用戶李某在客戶端買了一件小商品,該小商品的名稱為小小,該小商品的價格為20元,收貨地址為地球村A組B號,收貨人手機號為13288888888,該小商品包郵,李四的訂單信息為:小小一件,訂單金額為20,收貨人信息為李四的收貨地址與手機號,郵費為0元??蛻舳藢⑸傻睦钏牡乃鲇唵涡畔l(fā)送到第一服務器。
步驟S402,所述第一服務器將所述訂單信息發(fā)送到多個所述第二服務器中的任意一個所述第二服務器,以使所述第二服務器處理所述訂單信息。
其中,可以是按照預設順序進行分發(fā),具體地,在本實施例中,所述第一服務器按照預設順序依次向每個所述第二服務器發(fā)送一條訂單信息;當所述第一服務器向每個所述第二服務器均發(fā)送了一條訂單信息且所述訂單信息還未分發(fā)完的情況下,所述第一服務器再次按照預設順序向每個所述第二服務器分發(fā)一條訂單信息,直到所有的訂單信息發(fā)送完。
所述預設順序是指為每個第二服務器在多個第二服務器中設置一個先后順序,第一服務器能夠按照每個第二服務器的先后順序為每個第二服務器發(fā)送訂單信息。
作為第一實施方式,預先為每個第二服務器設置一個先后順序,例如,通過編號的方式為每個第二服務器進行編號,按照所編號的號數(shù)的大小按照由小到大進行排序。當所述第一服務器向每個所述第二服務器發(fā)送訂單信息時,可以按照每個第二服務器的編號的順序進行依次發(fā)送,當所述第一服務器向每個所述第二服務器均發(fā)送了一條訂單信息且所述訂單信息還未分發(fā)完的情況下,所述第一服務器再次按照編號的順序向每個所述第二服務器分發(fā)一條訂單信息,直到所有的訂單信息發(fā)送完。此時,每個第二服務器所能處理的訂單信息的數(shù)目相同。
例如,當前第二服務器為4個,為每個第二服務器進行編號,將4個第二服務器的編號分別設為1、2、3、4。即編號為1的代表4個第二服務器中的一個,以此類推,編號為4的代表4個第二服務器中的一個第二服務器,按照編號大小由小到大進行排序,此時4個第二服務器均相同,即每個第二服務器所能處理的訂單信息的數(shù)量相同。當前第一服務器所接收的訂單信息為100條,第一服務器按照第二服務器的編號的順序進行分發(fā)訂單信息,第一次按照第二服務器的編號順序向每個第二服務器發(fā)送一條訂單信息,當?shù)谝淮畏职l(fā)完后,第一服務器中的訂單信息還剩余96條,繼續(xù)按照編號的順序為每個第二服務器發(fā)送一條訂單信息,直到100條訂單信息發(fā)送完成。
在本實施例中,還可以是按照預設閥值的大小進行分發(fā)。具體地,獲取每個所述第二服務器所能夠處理所述訂單信息的預設閥值;當每個所述第二服務器的預設閥值均大于或等于訂單信息的總數(shù)量時,將所述訂單信息發(fā)送到多個所述第二服務器中的任意一個所述第二服務器;當訂單信息的總數(shù)量大于多個所述第二服務器對應的預設閥值中的其中一個預設閥值時,將所述訂單信息依次向每個所述第二服務器發(fā)送一條訂單信息,當任意一個所述第二服務器接收到的所述訂單信息的數(shù)量等于所述第二服務器所對應的預設閥值時,停止向接收所述訂單信息的數(shù)量等于所述第二服務器所對應的預設閥值的所述第二服務器發(fā)送訂單信息。
其中,所述預設閥值是指每個第二服務器所能夠處理的訂單信息的數(shù)量。根據(jù)不同的第二服務器設置不同的預設閥值,即所述預設閥值是指根據(jù)第二服務器所能夠處理的訂單信息的數(shù)量的不同設定不同的預設閥值。
作為第二實施方式,獲取每個第二服務器所能夠處理所述訂單信息的最大數(shù)量,將所述最大數(shù)量設置為每個第二服務器的閥值。根據(jù)每個第二服務器的閥值第一服務器將訂單信息發(fā)送到每個第二服務器,以使每個第二服務器接收到的訂單信息的數(shù)量低于該第二服務器的閥值。
例如,當前有6個第二服務器,其中每個第二服務器的閥值依次為10000、20000、30000、40000、45000和60000。當前第一服務器接收到的訂單信息為一百萬條,按照每個第二服務器的閥值進行發(fā)送訂單信息,即為閥值為10000第二服務器的發(fā)送9999條訂單信息或者是低于閥值的任意數(shù)目的訂單信息,為閥值為20000的第二服務器發(fā)送19999條訂單信息或者是低于閥值的任意數(shù)目的訂單信息,以此類推,為閥值為60000的第二服務器發(fā)送59999條訂單信息或者是低于閥值的任意數(shù)目的訂單信息。當?shù)谝环掌飨蛎總€第二服務器都發(fā)送完訂單信息后,當?shù)谝环掌鹘邮盏降诙掌魈幚碛唵涡畔⒌臓顟B(tài)后,即第一服務器接收第二服務器返回的該第二服務器當前處理完的訂單信息的數(shù)量,第一服務器按照每個第二服務器所處理完成后,每個第二服務器還能處理的最大訂單信息的數(shù)量將剩余的訂單信息再次按照每個第二服務器的閥值進行發(fā)送,當6個所述第二服務器中的任意一個第二服務器接收到的所述訂單信息的數(shù)量等于所述第二服務器所對應的預設閥值時,停止向接收所述訂單信息的數(shù)量等于所述第二服務器所對應的預設閥值的所述第二服務器發(fā)送訂單信息。例如,當閾值為10000的第二服務器接收到的訂單信息為10000條時,第一服務器停止向閾值為10000的第二服務器發(fā)送訂單信息,直到閾值為10000的第二服務器能夠重新接收第一服務器發(fā)送的訂單信息時,第一服務器再次向閾值為10000的第二服務器發(fā)送訂單信息,且不能超過第二服務器所能處理的范圍,例如,閾值為10000的第二服務器第一次接收到第一服務器發(fā)送的10000條訂單信息后,處理完9000條后,還剩余1000條,第二服務器返回一個閾值給第一服務器,第一服務器按照第二服務器返回的新的閾值發(fā)送相應地訂單信息到第二服務器。
例如,當前有6個第二服務器,其中每個第二服務器的閥值依次為10000、20000、30000、40000、45000和60000。當前第一服務器接收到的訂單信息為5000條,所述訂單信息的總數(shù)小于6個第二服務器中的任意一個第二服務器的閥值,將所述訂單信息發(fā)送到6個所述第二服務器中的任意一個所述第二服務器。
作為第三實施方式,可以根據(jù)每個第二服務器的處理訂單的能力,為每個第二服務器設置權(quán)重值,第一服務器根據(jù)每個第二服務器的權(quán)重值的不同發(fā)送不同數(shù)目的訂單信息到每個第二服務器。其中,發(fā)送給每個第二服務器的訂單信息的數(shù)目等于第二服務器的權(quán)重值與第一服務器接收到的訂單信息的數(shù)目的乘積。將所有的第二服務器的權(quán)重值相加等于100%。
例如,當前有3個第二服務器,每個第二服務器的權(quán)重分別為20%、30%和50%。所述第一服務器接收到的訂單信息的數(shù)目為100000條,按照每個第二服務器的權(quán)重值,第一服務器依次為每個第二服務器發(fā)送相應地數(shù)目的訂單信息,為權(quán)重為20%的第二服務器發(fā)送100000*20%=20000條訂單信息,為權(quán)重為30%的第二服務器發(fā)送100000*30%=30000條訂單信息,為權(quán)重為50%的第二服務器發(fā)送100000*50%=50000條訂單信息。
作為第四實施方式,可以根據(jù)每個第二服務器的域名向每個第二服務器發(fā)送訂單信息。具體地,獲取每個第二服務器的域名,按照域名的指向,第一服務器將訂單信息發(fā)送到與獲取到的域名相應地的第二服務器。
請參閱圖4,是本發(fā)明第三實施例提供的一種分布式訂單處理方法的流程圖。下面將對圖4所示的具體流程進行詳細闡述。
步驟S501,所述第一服務器獲取訂單信息。
其中,所述第一服務器接收客戶端發(fā)送的訂單信息。
步驟S502,所述第一服務器將所述訂單信息發(fā)送到多個所述第二服務器中的任意一個所述第二服務器。
步驟S503,當所述訂單信息所攜帶的信息與預設信息匹配時,所述第二服務器將所述訂單信息的處理狀態(tài)修改為未處理,并將所述訂單信息存儲到第一數(shù)據(jù)庫,發(fā)送訂單初步處理完成信息至客戶端。
步驟S504,當所述訂單信息所攜帶的產(chǎn)品數(shù)量小于或等于預設產(chǎn)品庫存時,所述第二服務器將所述訂單信息存儲到第二數(shù)據(jù)庫。
步驟S505,當所述第二服務器接收到所述客戶端基于所述訂單信息反饋的支付信息后,所述第二服務器修改所述訂單信息存儲在所述第一數(shù)據(jù)庫中的處理狀態(tài)。
步驟S506,發(fā)送訂單處理完成消息至所述客戶端。
其中,第二服務將訂單處理完成后,發(fā)送處理完成通知信息到客戶端。
請參照圖5,圖5為本發(fā)明第四實施例提供的一種分布式訂單處理方法的時序圖。第一服務器獲取客戶端發(fā)送的訂單信息,所述客戶端安裝在用戶終端上,第一服務器將獲取到的訂單信息發(fā)送到多個第二服務器,第二服務器接收到訂單信息后,對訂單信息進行處理,具體地,如步驟S503,當所述訂單信息所攜帶的信息與預設信息匹配時,所述第二服務器將所述訂單信息的處理狀態(tài)修改為未處理,并將所述訂單信息存儲到第一數(shù)據(jù)庫,并通過第一服務器發(fā)送初步處理結(jié)果到用戶終端,當所述訂單信息所攜帶的信息與預設信息不匹配時,所述第二服務器發(fā)送初步處理結(jié)果通過第一服務器發(fā)送到用戶終端。第二服務器在返回訂單初步處理結(jié)果后,對所述訂單信息進行處理,具體的,如步驟S504,當所述訂單信息所攜帶的產(chǎn)品數(shù)量小于或等于預設產(chǎn)品庫存時,所述第二服務器將所述訂單信息存儲到第二數(shù)據(jù)庫。如步驟S505,當所述第二服務器接收到所述客戶端基于所述訂單信息反饋的支付信息后,所述第二服務器修改所述訂單信息存儲在所述第一數(shù)據(jù)庫中的處理狀態(tài)。當用戶終端獲取訂單處理結(jié)果時,即獲取訂單處理的最終結(jié)果時,第一服務器將用戶終端發(fā)送的訂單處理結(jié)果請求發(fā)送到第二服務器,第二服務器在接收到訂單處理結(jié)果請求時,根據(jù)第二服務器所處理的訂單信息的狀態(tài)返回訂單處理狀態(tài)到用戶終端。
請參閱圖5,是本發(fā)明第五實施例提供一種分布式訂單處理裝置的結(jié)構(gòu)框圖。所述裝置500包括數(shù)據(jù)獲取模塊510和數(shù)據(jù)處理模塊520。
數(shù)據(jù)獲取模塊510,用于第一服務器獲取訂單信息。
數(shù)據(jù)處理模塊520,用于所述第一服務器將所述訂單信息發(fā)送到多個所述第二服務器中的任意一個所述第二服務器,以使所述第二服務器處理所述訂單信息。
其中,所述數(shù)據(jù)處理模塊520還包括數(shù)據(jù)處理子模塊521。數(shù)據(jù)處理子模塊521,用于所述第一服務器基于分發(fā)算法將所述訂單信息發(fā)送到多個所述第二服務器中的任意一個所述第二服務器。
在本實施例中,所述訂單信息為多條。其中,所述數(shù)據(jù)處理子模塊521具體用于所述第一服務器按照預設順序依次向每個所述第二服務器發(fā)送一條訂單信息;當所述第一服務器向每個所述第二服務器均發(fā)送了一條訂單信息且所述訂單信息還未分發(fā)完的情況下,所述第一服務器再次按照預設順序向每個所述第二服務器分發(fā)一條訂單信息,直到所有的訂單信息發(fā)送完。
在本實施例中,所述訂單信息為多條。所述數(shù)據(jù)處理子模塊521還用于獲取每個所述第二服務器所容內(nèi)所述訂單信息的預設閥值;當每個所述第二服務器的預設閥值均大于或等于訂單信息的總數(shù)量時,將所述訂單信息發(fā)送到多個所述第二服務器中的任意一個所述第二服務器;當訂單信息的總數(shù)量大于多個所述第二服務器對應的預設閥值中的其中一個預設閥值時,將所述訂單信息依次向每個所述第二服務器發(fā)送一條訂單信息,當任意一個所述第二服務器接收到的所述訂單信息的數(shù)量等于所述第二服務器所對應的預設閥值時,停止向接收所述訂單信息的數(shù)量等于所述第二服務器所對應的預設閥值的所述第二服務器發(fā)送訂單信息。
綜上所述,本發(fā)明提供一種分布式訂單處理方法、裝置及訂單處理系統(tǒng),該方法通過第一服務器獲取客戶端發(fā)送的訂單信息,將所述訂單信息發(fā)送到多個第二服務器中的任意一個第二服務器,從而使得第二服務器所處理的訂單信息的數(shù)量位于該第二服務器所能處理的范圍內(nèi),進而使得訂單處理過程更加友好、快速以及安全。
在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,也可以通過其它的方式實現(xiàn)。以上所描述的裝置實施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的裝置、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)方式中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一起形成一個獨立的部分,也可以是各個模塊單獨存在,也可以兩個或兩個以上模塊集成形成一個獨立的部分。
所述功能如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。