TW201537492A - 週期性訂單資訊的處理方法及系統 - Google Patents
週期性訂單資訊的處理方法及系統 Download PDFInfo
- Publication number
- TW201537492A TW201537492A TW103134748A TW103134748A TW201537492A TW 201537492 A TW201537492 A TW 201537492A TW 103134748 A TW103134748 A TW 103134748A TW 103134748 A TW103134748 A TW 103134748A TW 201537492 A TW201537492 A TW 201537492A
- Authority
- TW
- Taiwan
- Prior art keywords
- task
- read
- task data
- application server
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063116—Schedule adjustment for a person or group
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
本申請公開了週期性訂單資訊的處理方法及系統,該方法包括:根據接收到的週期性預訂指定商品對象的請求,確定各期任務的到期執行時間;根據各期任務分別對應的到期執行時間以及該請求中攜帶的商品對象資訊生成多條任務資料,將各條任務資料保存到資料庫中;按照預置的讀取週期從該資料庫中讀取當前讀取週期內的到期任務資料;根據該到期任務資料中包含的商品對象資訊,生成物流訂單。透過本申請,使得用戶能夠按照其指定的時間接收到其預訂的商品,而不需要每週或者每月都重新進行下單操作,節省了用戶的操作開銷。
Description
本申請關於電子商務交易平台技術領域,特別是關於週期性訂單資訊的處理方法及系統。
隨著電子商務交易平台的不斷完善,以及傳統通信、移動通信等技術的快速發展,越來越多的人們透過網上購物的方式來獲取自己所需的商品,商品的種類可以涉及到人們日常生活的各方面,為人們生活提供了極大的便利。
在網上購物的過程中,人們可能會存在週期性購物的需求,例如,每個月甚至每週都有些規律性消耗物品,比如牛奶、大米等。但是,人們可能經常忘記去購買這些東西,或者覺得每週每月去購買很麻煩。因此,如何針對用戶的這種特殊需求為用戶提供更大的便利,是迫切需要本領域技術人員解決的技術問題。
本申請提供了週期性訂單資訊的處理方法及系統,使得用戶能夠按照其指定的時間接收到其預訂的商品,而不
需要每週或者每月都重新進行下單操作,節省了用戶的操作開銷。
本申請提供了如下方案:一種週期性訂單資訊的處理方法,包括:根據接收到的週期性預訂指定商品對象的請求,確定各期任務的到期執行時間;根據各期任務分別對應的到期執行時間以及該請求中攜帶的商品對象資訊生成多條任務資料,將各條任務資料保存到資料庫中;按照預置的讀取週期從該資料庫中讀取當前讀取週期內的到期任務資料;根據該到期任務資料中包含的商品對象資訊,生成物流訂單。
一種週期性訂單資訊的處理系統,包括:請求接收單元,用於根據接收到的週期性預訂指定商品對象的請求,確定各期任務的到期執行時間;任務資料保存單元,用於根據各期任務分別對應的到期執行時間以及該請求中攜帶的商品對象資訊生成多條任務資料,將各條任務資料保存到資料庫中;任務資料讀取單元,用於按照預置的讀取週期從該資料庫中讀取當前讀取週期內的到期任務資料;訂單生成單元,用於根據該到期任務資料中包含的商品對象資訊。
根據本申請提供的具體實施例,本申請公開了以下技
術效果:透過本申請實施例,在接收到用戶的週期性預訂指定商品對象的請求時,可以在資料庫中生成多條任務資料,並為各條任務資料確定出到期時間;另一方面,定期從資料庫中讀取到期任務並生成訂單。這樣,使得資料庫中的各條任務資料按時被執行,進而使得用戶按照其指定的時間接收到其預訂的商品,而不需要每週或者每月都重新進行下單操作,節省了用戶的操作開銷。
當然,實施本申請的任一產品並不一定需要同時達到以上所述的所有優點。
201‧‧‧請求接收單元
202‧‧‧任務資料保存單元
203‧‧‧任務資料讀取單元
204‧‧‧訂單生成單元
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本申請實施例提供的方法的流程圖;圖2是本申請實施例提供的系統的示意圖。
下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。
基於本申請中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬於本申請保護的範圍。
在本申請實施例中,在現有的電子商務交易平台的基礎上,為用戶提供了“週期購”功能。透過該功能,用戶可以一次性付款一年或者更長或更短的時間內需要週期性重複購買的商品對象,之後,就可以每個月或者每週定時收到需要的商品。從技術實現的角度而言,交易平台需要對物流環節進行管理,做到準確無誤的發貨,不能提前/推後備貨,也不能提前/推後發貨。當物流系統收到交易系統發送過來的訂單資訊,可以產生N筆物流訂單,這N筆物流訂單,可以根據生效時間自動生效,並提前一定時間備貨。
為了使得週期購的訂單能夠按時執行,可以設計一個定時任務系統,此系統每隔一定的時間間隔(例如5分鐘、30分鐘、1小時、1天等)去資料庫中讀取要被執行的到期任務,發送給物流系統進行備貨、發貨等。下面對具體的實現方式進行詳細地介紹。
參見圖1,本申請實施例首先提供了一種週期性訂單資訊的處理方法,該方法具體可以包括以下步驟:S101:根據接收到的週期性預訂指定商品對象的請求,確定各期任務的到期執行時間;可以為用戶提供週期性預訂商品對象的操作介面,用戶可以透過該操作介面,選擇自己所需的商品對象,還可以指定預訂的總期數(例如,共6期或12期)、發貨週
期(例如,每週、每月發一期等)以及每期發貨的數量的資訊,另外還可以選擇每期發貨的時間,例如,每月1日、25日發貨,等等。提交之後,後續就可以定期收到相應的商品。
在接收到用戶的請求之後,就可以根據請求中攜帶的發貨需求資訊確定出每個週期的備貨時間。例如,如果發貨需求資訊中明確指定了每期任務的發貨時間,則可以直接根據發貨時間確定出備貨時間,如,假設需要每月25日發貨,則可以將備貨時間確定為每月24日。當然,關於備貨時間還可以確定的更精確,例如,某天的某點某分等等。這裡的備貨時間就相當於是各期任務的到期執行時間。
S102:根據各期任務分別對應的到期執行時間以及該請求中攜帶的商品對象資訊生成多條任務資料,將各條任務資料保存到資料庫中;在確定出各期任務的到期執行時間之後,就可以生成多條任務資料,並將這些任務資料保存到資料庫中。也就是說,如果某用戶預訂了12期某商品對象,則會在資料庫中產生12條任務資料,每條任務資料對應有各自的到期執行時間,以及相應的商品對象資訊,比如商品對象的ID、型號、數量等。另外,還可以保存用戶資訊,以便知曉各條任務資料對應的收貨人資訊。這樣,相當於將用戶的週期性預訂請求分解成多條待執行的任務。例如,在一種實現方式下,資料庫的表格形式可以如表1所示:
需要說明的是,由於交易平台中的用戶數量一般非常大,進行週期性預訂操作的用戶數量也可能非常多,因此,產生的任務資料的數量也可能是很大的。為了便於後續的資料讀取,在保存各條任務資料時,可以保存為多個資料庫表。例如,可以按照任務的到期時間來分表保存,每天的到期任務保存在一個資料表中,或者還可以進一步細化,將每天的到期任務資料劃分成24個資料表,每個資料表中保存一個小時內的到期任務資料,這樣使得每個資料表的規模比較小,在後續讀取資料時,可以提高效果。當然,在這種情況下,同一用戶的一個週期性預訂請求中生成的多條任務資料就可能會被保存到不同的資料庫表中。
S103:按照預置的讀取週期從該資料庫中讀取當前讀取週期內的到期任務資料;在生成資料庫的過程中,就可以透過預先設置的應用伺服器,按照一定能夠的週期從資料庫中讀取當前讀取週期內的到期任務資料。例如,每5分鐘讀取一次在最近五分鐘內的到期任務資料。
S104:根據該到期任務資料中包含的商品對象資訊,生成物流訂單。
在讀取到當前的到期任務後,就可以根據其中記錄的商品對象資訊、用戶資訊等生成物流訂單。在生產物流訂單之後,還可以向倉儲系統發送通知消息,以便通知倉儲系統進行備貨,以及後續的發貨等處理流程。這樣就可以使得資料庫中的各條任務資料按時被執行,進而使得用戶按照其指定的時間接收到其預訂的商品,而不需要每週或者每月都重新進行下單操作,節省了用戶的操作開銷。其中,為了向倉儲系統發送通知消息,可以預先獲取到倉儲系統的調用介面,在生成物流訂單之後,就可以調用倉儲系統的該介面,並將物流訂單中的商品對象的id、規格參數、數量等資訊發送到倉儲系統,以便倉儲系統進行備貨。另外,還可以確定出收貨方用戶的收貨地址資訊,也發送到倉儲系統,以便在備貨完成後向該地址發貨。
上述實現方式在任務資料量較少、單個應用伺服器的情況下可以很好的被執行。當任務資料量巨大,可以由多個應用伺服器組成的應用集群來執行這些定時任務。此時,可以在系統中設置一個控制伺服器,以及多個應用伺服器,控制伺服器用於向各個應用伺服器發送控制指令,應用伺服器根據控制伺服器發送的控制指令以及預置的演算法,確定需領取的到期任務資料的標識。其中,各個應用伺服器可以共用同一個計時器,來對讀取週期進行計時。另外,可以透過演算法的設計,將當前讀取週期內的
全部到期任務資料平均分散到各個應用伺服器上執行。
例如,在具體實現時,可以使用雜湊演算法來實現任務的平均分配。此時,控制伺服器具體可以首先根據系統中包含的應用伺服器,為各個應用伺服器分配伺服器ID,然後在發送控制指令時,攜帶上應用伺服器的總數以及分配給應用伺服器的ID。例如,應用伺服器的總數為10,為應用伺服器A分配的ID是0,則在向該應用伺服器A發送控制指令時,就需要攜帶上應用伺服器的總數:10,以及該應用伺服器A的ID:0。
進而,應用伺服器在從資料庫中領取到期任務時,需要在兩方面都進行判斷。首先,需要是任務資料的到期時間在當前的讀取週期內,其次,需要使得任務ID滿足演算法規定的規則。其中,對於某應用伺服器而言,可以首先利用到期任務資料的標識對應用伺服器總數進行取模運算,然後將取模運算結果等於該應用伺服器的ID號的各個到期任務資料,確定為該應用伺服器需要領取的到期任務資料。例如,讀取週期是5分鐘,應用程式A在11:55分讀取當前週期內的到期任務時,首先需要判斷任務是否為11:50分到11:55分之間的到期任務,如果是,還需要判斷任務ID對應用伺服器總數取模的結果是否為該應用伺服器A的ID,如果是,則進行讀取,否則不會讀取該任務。這樣,可以使得同一讀取週期內的各個任務資料平均分配到各個應用伺服器上執行,避免出現個別伺服器負荷過高或者過低的情況。例如,共有10個應用伺
服器,ID分別為0、1、2、……、9,則其中ID為0的應用伺服器讀取的任務標識需要滿足以下條件:任務標識對10取模的結果為0,ID為1的應用伺服器讀取的任務標識需要滿足以下條件:任務標識對10取模的結果為1,以此類推,所有的任務資料都可以被平均分配到各個應用伺服器上。
另外,在實際應用中,還可能出現應用伺服器當機的情況,或者有些任務資料雖然被讀取出來,但是在執行的過程中可能會由於各種原因出現未被正常執行的情況,此時,就可能會出現有些任務得不到執行的現象。為此,本申請實施例還針對這種情況提出了改進的方案。
具體的,首先可以在每台應用伺服器上啟動多個任務讀取執行緒,不同的任務讀取執行緒使用不同的讀取週期從資料庫中讀取到期任務。例如,有的執行緒的讀取週期是5分鐘,有的是20分鐘,還有的是1小時,有的是一天,還有的是兩天,等等。當然,每台應用伺服器上啟動的執行緒數量是有限的,一般而言,最長的讀取週期通常可以設定為兩天。各個執行緒按照自己的週期去資料庫中讀取當前週期內的到期任務資料。例如,週期為5分鐘的執行緒,每五分鐘從資料庫中讀取一次任務資料,週期為20分鐘的執行緒,每20分鐘從資料庫中讀取一次任務資料。當然,由於各個執行緒需要讀取的任務的標識是根據應用伺服器的總數以及ID來確定的,因此,同一應用伺服器上啟動的各個執行緒都會按照相同的規則去資料庫中
選擇任務資料,這樣,就可能出現同一個任務資料被不同的執行緒讀取到的情況。例如,例如,應用伺服器A的ID為0,其中的執行緒1,其讀取週期為5分鐘,在11:55時,讀取了從11:50到11:55之間到期的10個任務,這10個任務的ID對10(應用伺服器總數)取模的結果均為0;其中的執行緒2,其讀取週期為20分鐘,在12:00時,需要讀取從11:40到12:00之間到期的任務,這些任務的ID對10取模的結果同樣為0,因此,就會將執行緒1讀取到的任務資料包含進來。為了防止同一任務被重複執行,當一個任務資料被一個執行緒讀取,並被成功執行之後,可以在資料庫中對該任務資料添加上已執行標識,這樣,同一應用伺服器內後到期的執行緒在從資料庫中讀取任務時,就可以僅從該資料庫中讀取當前讀取週期內尚未被添加已執行標識的到期任務資料,從而避免同一任務資料被後到期的執行緒再次讀取到。
另外,還可能存在以下情況:某任務x在被執行緒1讀取到之後,尚且處於執行該任務的過程中,也即尚未在資料庫中添加已執行標識,就被另一執行緒2讀取到,此時,為了防止該任務被重複執行,在本申請實施例中,還可以將同一應用伺服器內各執行緒讀取到的任務資料全部寫入到同一佇列中,然後由任務執行執行緒(一個或多個)從該佇列中讀取任務資料並執行。在將任務資料寫入佇列的過程中就可以對任務資料進行去重處理,這樣,對
於被重複讀取到的任務資料就不會被寫入到該佇列中。
再者,還可能存在以下情況:某任務資料在所有任務讀取執行緒都已經運行完畢之後仍未被執行。例如:假設某任務資料的到期時間是2月17日11:52分,該任務在2月17日11:55分被讀取週期為5分鐘的執行緒第一次讀取到,但是一直沒有執行成功,因此資料庫中無法為該任務資料添加已執行標識;於是該任務資料會在12:00時被讀取週期為20分鐘的執行緒第二次讀取到,但是仍然為被成功執行;之後可能會在2月18日0:00被讀取週期為1天的執行緒第三次讀取到,如果仍然未被成功執行,則會在2月19日0:00被讀取週期為2天的執行緒讀取到。如果最長的讀取週期為2天,則在2月19日0:00之後,就不會再有其他執行緒的讀取週期能夠覆蓋到該任務資料,也就是所謂的所有執行緒都已經運行完成,此時,如果該任務仍然未被之後,則可以將該任務資料寫入到異常佇列中,在該異常佇列中執行該任務。
在異常佇列中執行該任務時,如果仍然是多次都未執行成功,則可能是由於其他系統出現問題等原因造成的,可以向管理人員發出提示消息,由管理人員解決。另外,可以為異常佇列中的任務數量設定一個上限值,如果異常佇列中的任務數量過多,超過該上限值,則可以發出警告,提示管理人員注意該異常現象。
透過這種在同一應用伺服器中開啟多個執行緒,並且不同的執行緒使用不同的讀取週期、任務資料執行完成之
後添加已執行標識的方式,對於應用伺服器出現當機的情況,也可以確保所有任務都能夠被執行。當然,需要透過控制伺服器對各個應用伺服器的運行情況進行監控,及時發現出現當機的應用伺服器,並重新為各個未發生當機的應用伺服器分配ID,重新向各個未發生當機的應用伺服器發送控制指令。這樣資料庫中的任務資料就可以在各個應用伺服器之間重新分配。例如,發生當機的是原來ID為7的應用伺服器,則重新分配ID之後,原來ID分別為8、9的應用伺服器可能會被分配為7、8,應用伺服器的總數變為9;各個應用伺服器在接收到新的控制指令之後,只是從資料庫中讀取任務資料時的標識規則會發生變化,但是各個任務讀取執行緒的讀取週期可以不變,之前的計時器也都是正常工作的。
例如,某應用伺服器A中的執行緒1在11:55時,讀取了從11:50到11:55之間到期的10個任務,在11:57分時,該伺服器A出現了當機,此時,伺服器A讀取到的任務可能有部分被執行了,還有部分任務尚未被執行。此時,控制伺服器在重新分配了ID,並重新發送了控制指令之後,其他各個應用伺服器仍然會按照原有的讀取週期以及計時器的計時狀態正常工作。例如,某應用伺服器中執行緒1的讀取週期為5分鐘,上一讀取時間為11:55分,則在重新接收到控制指令後,仍然會在12:00的時候再進行下一次讀取,讀取的任務資料是從11:55到12:00之間的到期任務資料。而關於之前被應用伺
服器A讀取到的從11:50到11:55之間的到期任務資料,如果有尚未被執行的,則可以被讀取週期為20分鐘或者更長的執行緒讀取到。例如,某執行緒的讀取週期為20分鐘,上一讀取時間為11:40,則在重新收到控制指令之後,會在12:00時進行下一次讀取,讀取的是從11:40到12:00之間到期的、尚未被添加已執行標識的任務資料,這些任務資料中之前被應用伺服器A讀取到的、在11:50到11:55之間到期的、尚未被執行的任務資料。只不過由於應用伺服器的總數發生了變化,資料庫中的任務資料會重新分配到各個應用伺服器,因此,這些任務資料可能會分別被不同的應用伺服器讀取到,但並不會影響這些任務的執行。
總之,透過本申請實施例中的上述方式可以使得在任務眾多的情況下,不會出現任務得不到執行或者被多次重複執行的現象。另外,透過這種方式還可以便於實現擴容,例如,出現任務暴增等情況時,還可以透過添加應用伺服器的方式來保證任務的均衡。同樣,在這種情況下,控制伺服器也需要重新為應用伺服器分配ID,並重新給各個應用伺服器發送控制指令,使資料庫中的任務資料能夠重新平均分配到各個應用伺服器中。此外,除了可以水平添加應用伺服器,還可以透過在應用伺服器內增加新的執行緒的方式來實現擴容。這種方式不需要控制伺服器重新發送控制指令,只要在應用伺服器內啟動新的執行緒,並設置好讀取週期即可。
與本申請實施例提供的週期性訂單資訊的處理方法相對應,本申請實施例還提供了一種週期性訂單資訊的處理系統,參見圖2,該處理系統具體可以包括:請求接收單元201,用於根據接收到的週期性預訂指定商品對象的請求,確定各期任務的到期執行時間;任務資料保存單元202,用於根據各期任務分別對應的到期執行時間以及該請求中攜帶的商品對象資訊生成多條任務資料,將各條任務資料保存到資料庫中;任務資料讀取單元203,用於按照預置的讀取週期從該資料庫中讀取當前讀取週期內的到期任務資料;訂單生成單元204,用於根據該到期任務資料中包含的商品對象資訊,生成物流訂單。
具體實現時,為了能夠處理大量的任務資料,該系統中可以包括控制伺服器,以及多個應用伺服器,此時,任務資料讀取單元203可以位於各個應用伺服器中,由各個應用伺服器根據控制伺服器發送的控制指令以及預置的演算法,確定需領取的到期任務資料的標識,該演算法用於將當前讀取週期內的全部到期任務資料平均分散到各個應用伺服器。
為了避免有應用伺服器出現當機時,出現任務無法被執行的情況,該控制伺服器還可以對應用伺服器的狀態進行監控,當監控到某台應用伺服器發生當機時,重新向其他各個應用伺服器發送控制指令。
具體實現時,該控制伺服器可以為各個應用伺服器分
配ID號,發送給某應用伺服器的控制指令中包括應用伺服器總數以及該應用伺服器的ID號,應用伺服器透過以下方式確定需領取的到期任務資料的標識:取模運算單元,用於利用到期任務資料的標識對應用伺服器總數進行取模運算;標識確定單元,用於將取模運算結果等於該應用伺服器的ID號的各個到期任務資料,確定為該應用伺服器需要領取的到期任務資料。
其中,每個應用伺服器中啟動多個任務讀取執行緒,該任務資料讀取單元203中,不同的任務讀取執行緒利用不同的讀取週期從該資料庫中讀取當前讀取週期內的到期任務;相應的,該系統還可以包括:添加標識單元,用於在到期任務資料被一個任務讀取執行緒讀取並被執行後,在該資料庫中為已經被執行的到期任務資料添加已執行標識,以便後續的任務讀取執行緒在按照各自的讀取週期讀取到期任務資料時,僅從該資料庫中讀取當前讀取週期內尚未被添加已執行標識的到期任務資料。
其中,每個應用伺服器中啟動有至少一個任務執行執行緒,在同一應用伺服器內,還包括:佇列寫入單元,用於將不同的任務讀取執行緒讀取到的到期任務資料寫入到同一任務執行佇列內,等待該任務執行執行緒執行。
為了避免任務被重複執行,該系統還可以包括:去重處理單元,用於在將不同的任務讀取執行緒讀取到的到期任務資料寫入到同一任務執行佇列的過程中,對到期任務資料進行去重處理。
另外,該系統還可以包括:異常處理單元,用於如果某任務資料在所有任務讀取執行緒都已經運行完畢之後仍未被執行,則將該任務資料寫入到異常佇列中,以便在異常佇列中執行。
為了提高資料讀取的效果,該資料庫中可以包括多個資料表,不同的資料表用於保存不同時間段內的到期任務資料。
另外,該系統還可以包括:通知單元,用於透過調用預知的倉儲系統的介面,將該物流訂單中包含的商品對象的id、規格參數、數量以及收貨方用戶的地址資訊發送到倉儲系統,以便該倉儲系統根據收到的資訊進行備貨及發貨。
總之,透過本申請實施例,在接收到用戶的週期性預訂指定商品對象的請求時,可以在資料庫中生成多條任務資料,並為各條任務資料確定出到期時間;另一方面,定期從資料庫中讀取到期任務並生成訂單,發送給倉儲系統進行備貨、出庫等後續處理。這樣,使得資料庫中的各條任務資料按時被執行,進而使得用戶按照其指定的時間接收到其預訂的商品,而不需要每週或者每月都重新進行下單操作,節省了用戶的操作開銷。
透過以上的實施方式的描述可知,本領域的技術人員可以清楚地瞭解到本申請可借助軟體加必需的通用硬體平台的方式來實現。基於這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該電腦軟體產品可以儲存在儲存媒體中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本申請各個實施例或者實施例的某些部分所述的方法。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統或系統實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的系統及系統實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
以上對本申請所提供的週期性訂單資訊的處理方法及系統,進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用
於幫助理解本申請的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請的思想,在具體實施方式及應用範圍上均會有改變之處。綜上所述,本說明書內容不應理解為對本申請的限制。
Claims (11)
- 一種週期性訂單資訊的處理方法,其特徵在於,包括:根據接收到的週期性預訂指定商品對象的請求,確定各期任務的到期執行時間;根據各期任務分別對應的到期執行時間以及該請求中攜帶的商品對象資訊生成多條任務資料,將各條任務資料保存到資料庫中;按照預置的讀取週期從該資料庫中讀取當前讀取週期內的到期任務資料;根據該到期任務資料中包含的商品對象資訊,生成物流訂單。
- 根據申請專利範圍第1項所述的方法,其中,系統中包括控制伺服器,以及多個應用伺服器,該按照預置的讀取週期從該資料庫中讀取當前讀取週期內的到期任務資料,包括:該應用伺服器根據控制伺服器發送的控制指令以及預置的演算法,確定需領取的到期任務資料的標識,該演算法用於將當前讀取週期內的到期任務資料分發到各個應用伺服器。
- 根據申請專利範圍第2項所述的方法,其中,該控制伺服器對應用伺服器的狀態進行監控,當監控到某台應用伺服器發生當機時,重新向其他各個應用伺服器發送控制指令。
- 根據申請專利範圍第2或3項所述的方法,其中,該控制伺服器為各個應用伺服器分配ID號,發送給某應用伺服器的控制指令中包括應用伺服器總數以及該應用伺服器的ID號,應用伺服器透過以下方式確定需領取的到期任務資料的標識:利用到期任務資料的標識對應用伺服器總數進行取模運算;將取模運算結果等於該應用伺服器的ID號的各個到期任務資料,確定為該應用伺服器需要領取的到期任務資料。
- 根據申請專利範圍第2或3項所述的方法,其中,每個應用伺服器中啟動多個任務讀取執行緒,該按照預置的讀取週期從該資料庫中讀取當前讀取週期內的到期任務資料,包括:不同的任務讀取執行緒利用不同的讀取週期從該資料庫中讀取當前讀取週期內的到期任務;該方法還包括:在到期任務資料被一個任務讀取執行緒讀取並被執行後,在該資料庫中為已經被執行的到期任務資料添加已執行標識,以便後續的任務讀取執行緒在按照各自的讀取週期讀取到期任務資料時,僅從該資料庫中讀取當前讀取週期內尚未被添加已執行標識的到期任務資料。
- 根據申請專利範圍第5項所述的方法,其中,每個應用伺服器中啟動有至少一個任務執行執行緒,在同一 應用伺服器內,還包括:將不同的任務讀取執行緒讀取到的到期任務資料寫入到同一任務執行佇列內,等待該任務執行執行緒執行。
- 根據申請專利範圍第6項所述的方法,其中,還包括:在將不同的任務讀取執行緒讀取到的到期任務資料寫入到同一任務執行佇列的過程中,對到期任務資料進行去重處理。
- 根據申請專利範圍第5項所述的方法,其中,還包括:如果某任務資料在所有任務讀取執行緒都已經運行完畢之後仍未被執行,則將該任務資料寫入到異常佇列中,以便在異常佇列中執行。
- 根據申請專利範圍第1項所述的方法,其中,該資料庫中包括多個資料表,不同的資料表用於保存不同時間段內的到期任務資料。
- 根據申請專利範圍第1項所述的方法,其中,還包括:透過調用預知的倉儲系統的介面,將該物流訂單中包含的商品對象的id、規格參數、數量以及收貨方用戶的地址資訊發送到倉儲系統,以便該倉儲系統根據收到的資訊進行備貨及發貨。
- 一種週期性訂單資訊的處理系統,其特徵在於,包括: 請求接收單元,用於根據接收到的週期性預訂指定商品對象的請求,確定各期任務的到期執行時間;任務資料保存單元,用於根據各期任務分別對應的到期執行時間以及該請求中攜帶的商品對象資訊生成多條任務資料,將各條任務資料保存到資料庫中;任務資料讀取單元,用於按照預置的讀取週期從該資料庫中讀取當前讀取週期內的到期任務資料;訂單生成單元,用於根據該到期任務資料中包含的商品對象資訊,生成物流訂單。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410111493.6A CN104951852A (zh) | 2014-03-24 | 2014-03-24 | 周期性订单信息的处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201537492A true TW201537492A (zh) | 2015-10-01 |
Family
ID=54142563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103134748A TW201537492A (zh) | 2014-03-24 | 2014-10-06 | 週期性訂單資訊的處理方法及系統 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20150269652A1 (zh) |
JP (1) | JP2017510886A (zh) |
CN (1) | CN104951852A (zh) |
HK (1) | HK1211122A1 (zh) |
TW (1) | TW201537492A (zh) |
WO (1) | WO2015148403A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI553567B (zh) * | 2015-12-28 | 2016-10-11 | 英業達股份有限公司 | 依據訂單狀態提供精確倉儲管理系統及其方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450737B (zh) * | 2015-11-13 | 2019-02-12 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置和系统 |
CN105630635B (zh) * | 2015-12-29 | 2019-07-30 | 北京京东尚科信息技术有限公司 | 数据容灾系统和方法 |
CN105897762B (zh) * | 2016-06-15 | 2020-08-04 | 财付通支付科技有限公司 | 资源获取方法和装置 |
CN107767204B (zh) * | 2016-08-23 | 2021-08-03 | 北京京东尚科信息技术有限公司 | 批量修改订单数据对象的方法以及系统 |
CN107977876B (zh) * | 2016-10-25 | 2022-02-01 | 北京京东尚科信息技术有限公司 | 用于处理订单信息的方法及装置 |
CN107977812B (zh) * | 2017-11-23 | 2024-08-02 | 锋泾(中国)建材集团有限公司 | 生产自动排单方法、装置及系统 |
CN110163695A (zh) * | 2018-01-30 | 2019-08-23 | 哈尔滨学院 | 一种基于大数据的动态增强型电商系统 |
CN110276469B (zh) * | 2018-03-15 | 2023-10-03 | 阿里巴巴(中国)网络技术有限公司 | 订单下发控制方法、装置及计算机系统 |
CN108804214B (zh) * | 2018-05-24 | 2022-04-12 | 创新先进技术有限公司 | 一种异步任务的调度方法、装置以及电子设备 |
CN110162392B (zh) * | 2019-05-29 | 2022-10-25 | 北京达佳互联信息技术有限公司 | 周期性任务的执行方法、装置、电子设备及存储介质 |
CN114238309A (zh) * | 2021-10-26 | 2022-03-25 | 浙江菜鸟供应链管理有限公司 | 物流单履约检测方法和延迟任务处理方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6119143A (en) * | 1997-05-22 | 2000-09-12 | International Business Machines Corporation | Computer system and method for load balancing with selective control |
US7353194B1 (en) * | 1999-03-02 | 2008-04-01 | Alticor Investments, Inc. | System and method for managing recurring orders in a computer network |
JP4490578B2 (ja) * | 2000-11-22 | 2010-06-30 | 横河電機株式会社 | データ収集装置 |
CN1464446A (zh) * | 2002-06-22 | 2003-12-31 | 鸿富锦精密工业(深圳)有限公司 | 处理延迟订单的系统及方法 |
JP4708383B2 (ja) * | 2003-11-10 | 2011-06-22 | 株式会社イース | 集計システム |
US7844969B2 (en) * | 2004-06-17 | 2010-11-30 | Platform Computing Corporation | Goal-oriented predictive scheduling in a grid environment |
US20060168230A1 (en) * | 2005-01-27 | 2006-07-27 | Caccavale Frank S | Estimating a required number of servers from user classifications |
US7480918B2 (en) * | 2005-02-18 | 2009-01-20 | International Business Machines Corporation | Duplicate message elimination during recovery when multiple threads are delivering messages from a message store to a destination queue |
JP2008071004A (ja) * | 2006-09-13 | 2008-03-27 | Fujitsu General Ltd | トランザクション処理方法、及びそれを用いたオンラインシステム |
WO2008108129A1 (ja) * | 2007-03-06 | 2008-09-12 | Nec Corporation | メモリアクセス制御システム、メモリアクセス制御方法およびそのプログラム |
US8181071B2 (en) * | 2007-06-29 | 2012-05-15 | Microsoft Corporation | Automatically managing system downtime in a computer network |
WO2009048641A2 (en) * | 2007-10-11 | 2009-04-16 | Vonage Network Llc | Method and apparatus for fulfilling information requests in a networked environment |
JP2012181759A (ja) * | 2011-03-02 | 2012-09-20 | Canon Inc | サーバシステム、その制御方法、およびそのプログラム。 |
JP2014021564A (ja) * | 2012-07-12 | 2014-02-03 | Temona Inc | 受注管理装置、受注管理方法及び受注管理プログラム |
US10372492B2 (en) * | 2013-12-11 | 2019-08-06 | Dropbox, Inc. | Job-processing systems and methods with inferred dependencies between jobs |
-
2014
- 2014-03-24 CN CN201410111493.6A patent/CN104951852A/zh active Pending
- 2014-10-06 TW TW103134748A patent/TW201537492A/zh unknown
-
2015
- 2015-03-23 US US14/666,067 patent/US20150269652A1/en not_active Abandoned
- 2015-03-23 WO PCT/US2015/022065 patent/WO2015148403A1/en active Application Filing
- 2015-03-23 JP JP2016552940A patent/JP2017510886A/ja active Pending
- 2015-12-02 HK HK15111824.2A patent/HK1211122A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI553567B (zh) * | 2015-12-28 | 2016-10-11 | 英業達股份有限公司 | 依據訂單狀態提供精確倉儲管理系統及其方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2017510886A (ja) | 2017-04-13 |
CN104951852A (zh) | 2015-09-30 |
WO2015148403A1 (en) | 2015-10-01 |
US20150269652A1 (en) | 2015-09-24 |
HK1211122A1 (zh) | 2016-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201537492A (zh) | 週期性訂單資訊的處理方法及系統 | |
US11599560B2 (en) | Predictive and adaptive queue flushing for real-time data reconciliation between local and remote databases | |
US20150310384A1 (en) | Method and system of processing commodity object information | |
CN106960295B (zh) | 一种调拨方法及装置、预售系统 | |
CN107276970B (zh) | 一种解绑、绑定方法和装置 | |
CN104363282A (zh) | 一种云计算资源调度方法及装置 | |
WO2019015476A1 (zh) | 数据对象库存信息处理方法、装置及系统 | |
CN110738436A (zh) | 一种确定可用库存的方法和装置 | |
CN107241389B (zh) | 服务处理方法和装置 | |
US20160328674A1 (en) | Method and system for omni-channel multi-hub order and inventory management | |
CN109376033A (zh) | 快照备份方法、装置、计算机设备及存储介质 | |
CN106850707B (zh) | 物料批量上传的方法、装置及系统 | |
JP2019048682A (ja) | 配分方法、配分装置及び配分プログラム | |
WO2016169420A1 (zh) | 一种业务请求执行状态的查询方法、装置及系统 | |
US20230103361A1 (en) | Supply Chain Alert Management | |
JP2024506419A (ja) | 作業台稼動・休止推奨方法、装置、電子機器および倉庫システム | |
US20180091620A1 (en) | Availability data caching in meeting systems | |
JP2014010639A (ja) | 原価計算プログラム、原価計算コンピュータ、原価計算装置 | |
CN112561266A (zh) | 一种服务请求处理方法、装置、设备和存储介质 | |
JP6016657B2 (ja) | データ処理装置及びプログラム | |
US20200074390A1 (en) | Product Predictions and Shipments Using IOT Connected Devices | |
US20170212777A1 (en) | Virtual server operation control system and virtual server operation control program | |
CN110618863A (zh) | 一种基于Raft算法的作业调度方法 | |
CN107196841B (zh) | 产品信息管理方法、服务器、客户端及系统 | |
CN112836987B (zh) | 一种运单调度方法和装置,计算机存储介质和电子设备 |