TWI783478B - 消除永久應用程式設計介面呼叫的電腦實行系統及電腦實行方法、以及消除未解決的應用程式設計介面呼叫的電腦實行系統 - Google Patents
消除永久應用程式設計介面呼叫的電腦實行系統及電腦實行方法、以及消除未解決的應用程式設計介面呼叫的電腦實行系統 Download PDFInfo
- Publication number
- TWI783478B TWI783478B TW110116757A TW110116757A TWI783478B TW I783478 B TWI783478 B TW I783478B TW 110116757 A TW110116757 A TW 110116757A TW 110116757 A TW110116757 A TW 110116757A TW I783478 B TWI783478 B TW I783478B
- Authority
- TW
- Taiwan
- Prior art keywords
- api
- computer
- api calls
- calls
- return
- Prior art date
Links
Images
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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0837—Return transactions
-
- 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/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
-
- 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/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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/0633—Workflow analysis
-
- 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/10—Office automation; Time management
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/14—Payment architectures specially adapted for billing systems
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/407—Cancellation of a transaction
-
- 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/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- 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/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
本發明提供一種消除永久應用程式設計介面(API)呼叫
以使資源耗用減至最少的電腦實行系統。系統可包括:至少一個非暫時性電腦可讀媒體,經組態以儲存指令;以及至少一個處理器,經組態以執行指令以執行操作。操作可包括:監視一或多個API呼叫的動態清單,其中動態清單經組態以在長度上發生變化;經由超過第一臨限值的程序循環的數目識別保留於動態清單中的API呼叫的子集;查詢一或多個網路資料庫以驗證API呼叫的子集尚未經解決;判定解除API呼叫的子集的成本;利用小於第二臨限值的成本解除API呼叫;以及將通知API呼叫傳輸至對應於經解除API呼叫的一或多個使用者裝置。
Description
本揭露大體上是關於流線效率化選擇程序以改良可擴充性的電腦化系統及方法。特定而言,本揭露的實施例是關於發明性及非習知系統,其識別可受益於更流線效率化程序的電子請求的子集,因此減少網路負載且改良可擴充性。
電腦網路連接的發展已將許多不同程序移至線上,從而實現快速、遠端處理以及自動化。特定而言,現於線上進行用以要求人工干預的遞增數目個業務程序,直至可每日在公司網路內發生數十萬或數百萬個交易。
此等交易通常使用實現不同系統、子系統以及模組之間的通信的應用程式設計介面(Application Programming Interface;
API)來實行。使用API以處理交易的通信,亦被稱作API呼叫,通常大小較小(例如,小於幾百位元組)且不對網路施加顯著負載。實現較快資料傳送的網路通信的發展亦確保網路能夠支援較大負載。
然而,當更多系統、子系統或模組添加至網路以專攻某些任務時,問題出現,且涉及其增加數目以完成交易。舉例而言,用以將物件退還至線上購物中心的簡單請求可涉及以下各者當中的API呼叫:接收退還請求的系統;管理初始訂單的系統;處理訂單的支付的系統;管理退還運送的系統;接收且重新儲備退還物件的系統;以及結合所述系統起作用的子系統及模組。當網路必須每日支援數百萬個使用者或交易時,問題加劇。甚至約100個位元組的小API呼叫可快速使網路膨脹及故障。
當然,網路通信的發展有助於處理為解決每一呼叫而產生的API呼叫的數目。然而,真實世界應用及其相關聯程序(例如,自貨架擷取物件的請求與物件的物理擷取相關聯)並非完美的,且並非所有請求皆可在首次嘗試時解決。未解決的請求必須保留於系統中且反覆地產生API呼叫集直至其被解決為止。在無常規監視的情況下,未解決的請求可無限期地保留直至相關聯程序成功完成為止。此外,偶然的不確定原因非再現問題(hiccup)可甚至使得已解決的請求滯留於系統中,從而使其繼續產生未偵測到的API呼叫。
若持續存留,則此等請求及其產生的API呼叫可繼續對網路施加負載且浪費寶貴的資源。其亦可導致其中API呼叫經組態以觸發手動程序的工時損失。此類永久請求造成過度網路負載
且降低網路的可擴充性。因此,需要監視網路以識別及移除超過預期處理時間的保留於網路中的任何永久請求。
本揭露的一個態樣是關於一種消除永久API呼叫以使資源耗用減至最少的電腦實行系統。系統可包括:至少一個非暫時性電腦可讀媒體,經組態以儲存指令;以及至少一個處理器,經組態以執行指令以執行操作。操作可包括:監視一或多個API呼叫的動態清單,其中動態清單經組態以在長度上發生變化;經由超過第一臨限值的程序循環的數目識別保留於動態清單中的API呼叫的子集;查詢一或多個網路資料庫以驗證API呼叫的子集尚未經解決;判定解除API呼叫的子集的成本;利用小於第二臨限值的成本解除API呼叫;以及將通知API呼叫傳輸至對應於經解除API呼叫的一或多個使用者裝置。
本揭露的另一態樣是關於一種消除永久API呼叫以使資源耗用減至最少的電腦實行方法。方法可包括:監視一或多個API呼叫的動態清單,其中動態清單經組態以在長度上發生變化;經由超過第一臨限值的程序循環的數目識別保留於動態清單中的API呼叫的子集;查詢一或多個網路資料庫以驗證API呼叫的子集尚未經解決;判定解除API呼叫的子集的成本;利用小於第二臨限值的成本解除API呼叫;以及將通知API呼叫傳輸至對應於經解除API呼叫的一或多個使用者裝置。
本揭露的又一態樣是關於一種消除未解決的API呼叫的電腦實行系統。系統可包括:至少一個非暫時性電腦可讀媒體,
經組態以儲存指令;以及至少一個處理器,經組態以執行指令以執行操作。操作可包括:接收第一API呼叫以擷取一或多個物件;將第一API呼叫添加至一或多個API呼叫的動態清單;藉由發起用於擷取一或多個物件的擷取程序來反覆地遍歷動態清單;接收擷取程序不成功的多個指示;在指示的數目超過臨限值時觸發審查API呼叫;以及回應於審查API呼叫的結果而自動態清單移除第一API呼叫。
本文中亦論述其他系統、方法以及電腦可讀媒體。
100:系統
101:運送授權技術系統
102A:行動裝置/使用者裝置
102B:電腦/使用者裝置
103:外部前端系統
105:內部前端系統
107:運輸系統
107A、107B、107C:行動裝置
109:賣方入口網站
111:運送及訂單追蹤系統
113:履行最佳化系統
115:履行通信報閘道
117:供應鏈管理系統
119:倉庫管理系統
119A:行動裝置/平板電腦
119B:行動裝置/PDA
119C:行動裝置/電腦
121A、121B、121C:第3方履行系統
123:履行中心授權系統
125:勞動管理系統
200:履行中心
201、222:卡車
202A、202B、208:物件
203:入站區
205:緩衝區
206:叉車
207:卸貨區
209:揀貨區
210:儲存單元
211:包裝區
213:樞紐區
214:運輸機構
215:營地區
216:牆
218、220:包裹
224A、224B:遞送工作者
226:汽車
300:引入子系統
302:源API
304:端點API
306a、306b、306c、306d、306e:控制器
308:驗證器
310:異常處置器
312:資料聚合器
314:記錄與追蹤模組
316:追蹤器
318:追蹤分析器
325:輸出子系統
327:Creturns域模組
329a:取消服務
329b:退還服務
329c:交換服務
329d:減價服務
331:外部服務代理模組
333:外部服務工作器
335:外部API請求器
337:產生器
339a:訂購服務
339b:履行服務
339c:運送服務
339d:福利服務
339e:票證服務
350:控制子系統
351:規則管理模組
352:事件管理模組
353:工作流程管理模組
355:子系統
361:退還事件儲存區
362:規則引擎
363:規則資料庫
370:外部資料源
371:事件儲存區
372:寫入資料庫
373、373A、373B:讀取資料庫
374:管理者資料庫
375:工作流程子系統
377:框架模組
379a:退還模組
379b:交換模組
379c:取消模組
381:工作流程啟動器
383a:取消程序
383b:退還程序
383c:交換程序
383d:遞送追蹤
383e:收集程序
383f:退款程序
383g:撤銷程序
385:工作流程服務模組
387:Creturn工作流程服務模組
389a:零售退還子模組
389b:第三方退還子模組
391:工作流程編配模組
400:網路化環境
500、600:程序
501、502、503、504、505、506、507、508、601、602、603、604、605、606、607、608:步驟
圖1A為與所揭露實施例一致的示出包括用於實現運送、運輸以及物流操作的通信的電腦化系統的網路的例示性實施例的示意性方塊圖。
圖1B描繪與所揭露實施例一致的包含滿足檢索請求的一或多個檢索結果以及交互式使用者介面元素的樣本檢索結果頁(Search Result Page;SRP)。
圖1C描繪與所揭露實施例一致的包含產品及關於所述產品的資訊以及交互式使用者介面元素的樣本單一詳情頁(Single Detail Page;SDP)。
圖1D描繪與所揭露實施例一致的包含虛擬購物車中的物件以及交互式使用者介面元素的樣本購物車頁。
圖1E描繪與所揭露實施例一致的包含來自虛擬購物車的物件以及關於購買及運送的資訊以及交互式使用者介面元素的樣本
訂單頁。
圖2為與所揭露實施例一致的經組態以利用所揭露電腦化系統的例示性履行中心的圖解圖示。
圖3A示出與所揭露實施例一致的引入(intake)子系統300的例示性圖形表示。
圖3B示出與所揭露實施例一致的輸出子系統325的例示性圖形表示。
圖3C示出與所揭露實施例一致的控制子系統、例示性退還事件儲存區、例示性規則引擎以及例示性外部資料源的例示性圖形表示。
圖3D示出與所揭露實施例一致的工作流程子系統375的例示性圖形表示。
圖4示出利用當前揭露的實施例的用於退還處理的網路化環境400的例示性圖形表示。
圖5示出與所揭露實施例一致的用於處理退還的電腦化程序的例示性流程圖。
圖6示出與所揭露實施例一致的用於識別及消除未解決的退還請求的電腦化程序的例示性流程圖。
以下詳細描述參考隨附圖式。只要可能,即在圖式及以下描述中使用相同附圖標號來指代相同或類似部分。儘管本文中描述若干示出性實施例,但修改、調適以及其他實施方案是可能的。舉例而言,可對圖式中所示出的組件及步驟進行替代、添加
或修改,且可藉由取代、重新排序、移除步驟或將步驟添加至所揭露方法來修改本文中所描述的示出性方法。因此,以下詳細描述不限於所揭露實施例及實例。實情為,本發明的正確範圍由隨附申請專利範圍界定。
本揭露的實施例是關於經組態用於識別可受益於更流線效率化程序的電子請求的子集,因此減少總體網路上的負載且改良可擴充性的系統及方法。相較於傳統或現有程序,流線效率化程序在需要較少資源(諸如網路負載、計算能力及/或工時)方面可更有利。
參考圖1A,繪示示出包括用於實現運送、運輸以及物流操作的通信的電腦化系統的系統的例示性實施例的示意性方塊圖100。如圖1A中所示出,系統100可包含各種系統,所述系統中的每一者可經由一或多個網路彼此連接。所述系統亦可經由直接連接(例如,使用電纜)彼此連接。所描繪系統包含運送授權技術(shipment authority technology;SAT)系統101、外部前端系統103、內部前端系統105、運輸系統107、行動裝置107A、行動裝置107B以及行動裝置107C、賣方入口網站109、運送及訂單追蹤(shipment and order tracking;SOT)系統111、履行最佳化(fulfillment optimization;FO)系統113、履行通信報閘道(fulfillment messaging gateway;FMG)115、供應鏈管理(supply chain management;SCM)系統117、倉庫管理系統119、行動裝置119A、行動裝置119B以及行動裝置119C(描繪為位於履行中心(fulfillment center;FC)200內部)、第3方履行系統121A、第3方履行系統121B以及第3方履行系統121C、履行中心授權
系統(fulfillment center authorization;FC Auth)123以及勞動管理系統(labor management system;LMS)125。
在一些實施例中,SAT系統101可實行為監視訂單狀態及遞送狀態的電腦系統。舉例而言,SAT系統101可判定訂單是否超過其承諾遞送日期(PDD)且可採取適當的動作,包含發起新訂單、對未遞送訂單中的物件進行重新運送、取消未遞送訂單、發起與訂購客戶的連絡,或類似者。SAT系統101亦可監視其他資料,包含輸出(諸如在特定時段期間運送的包裹的數目)及輸入(諸如接收到的用於運送的空紙板盒的數目)。SAT系統101亦可充當系統100中的不同裝置之間的閘道,從而(例如,使用儲存及轉發或其他技術)實現諸如外部前端系統103及FO系統113的裝置之間的通信。
在一些實施例中,外部前端系統103可實行為使得外部使用者能夠與系統100中的一或多個系統交互的電腦系統。舉例而言,在系統100使得系統的呈現能夠允許使用者針對物件下訂單的實施例中,外部前端系統103可實行為接收檢索請求、呈現物件頁以及索求支付資訊的網頁伺服器。舉例而言,外部前端系統103可實行為電腦或電腦運行軟體,諸如阿帕奇(Apache)HTTP伺服器、微軟網際網路資訊服務(Internet Information Service;IIS)、NGINX,或類似者。在其他實施例中,外部前端系統103可運行經設計以接收及處理來自外部裝置(例如,行動裝置102A或電腦102B)的請求、基於彼等請求自資料庫及其他資料儲存庫獲取資訊,以及基於所獲取的資訊將回應提供至接收到的請求的定製網頁伺服器軟體。
在一些實施例中,外部前端系統103可包含網頁快取系統、資料庫、檢索系統或支付系統中的一或多者。在一個態樣中,外部前端系統103可包括此等系統中的一或多者,而在另一態樣中,外部前端系統103可包括連接至此等系統中的一或多者的介面(例如,伺服器至伺服器、資料庫至資料庫,或其他網路連接)。
藉由圖1B、圖1C、圖1D以及圖1E所示出的例示性步驟集合將有助於描述外部前端系統103的一些操作。外部前端系統103可自系統100中的系統或裝置接收資訊以供呈現及/或顯示。舉例而言,外部前端系統103可代管或提供一或多個網頁,包含檢索結果頁(SRP)(例如,圖1B)、單一詳情頁(Single Detail Page;SDP)(例如,圖1C)、購物車頁(例如,圖1D),或訂單頁(例如,圖1E)。(例如,使用行動裝置102A或電腦102B的)使用者裝置可導航至外部前端系統103且藉由將資訊輸入至檢索盒中來請求檢索。外部前端系統103可向系統100中的一或多個系統請求資訊。舉例而言,外部前端系統103可向FO系統113請求滿足檢索請求的資訊。外部前端系統103亦可(自FO系統113)請求及接收包含於檢索結果中的每一產品的承諾遞送日期或「PDD」。在一些實施例中,PDD可表示在特定時段內(例如,在一天結束(下午11:59)前)訂購的情況下對含有產品的包裹將何時抵達使用者的所要位置或承諾將產品遞送至使用者的所要位置處的日期的估計。(PDD在下文相對於FO系統113進一步論述。)
外部前端系統103可基於資訊來準備SRP(例如,圖1B)。SRP可包含滿足檢索請求的資訊。舉例而言,此可包含滿足檢索請求的產品的圖像。SRP亦可包含每一產品的各別價格,或
與每一產品的增強遞送選項、PDD、重量、大小、報價、折扣或類似者相關的資訊。外部前端系統103可(例如,經由網路)將SRP發送至請求使用者裝置。
使用者裝置可接著例如藉由點選或輕觸使用者介面或使用另一輸入裝置自SRP選擇產品,以選擇表示於SRP上的產品。使用者裝置可製訂對關於所選產品的資訊的請求且將其發送至外部前端系統103。作為回應,外部前端系統103可請求與所選產品相關的資訊。舉例而言,資訊可包含除針對各別SRP上的產品呈現的資訊以外的額外資訊。此可包含例如保存期限、原產國、重量、大小、包裹中的物件的數目、處置說明,或關於產品的其他資訊。資訊亦可包含類似產品的推薦(基於例如巨量資料及/或對購買此產品及至少一個其他產品的客戶的機器學習分析)、頻繁詢問的問題的答案、來自客戶的評論、製造商資訊、圖像,或類似者。
外部前端系統103可基於接收到的產品資訊來準備SDP(單一詳情頁)(例如,圖1C)。SDP亦可包含其他交互式元素,諸如「現在購買」按鈕、「添加至購物車」按鈕、數量欄、物件的圖像,或類似者。SDP可更包含提供產品的賣方的清單。可基於每一賣方提供的價格來對清單進行排序,使得可在頂部處列出提供以最低價格出售產品的賣方。亦可基於賣方排名來對清單進行排序,使得可在頂部處列出排名最高的賣方。可基於多個因素來製訂賣方排名,所述因素包含例如賣方的符合承諾PDD的過去的追蹤記錄。外部前端系統103可(例如,經由網路)將SDP遞送至請求使用者裝置。
請求使用者裝置可接收列出產品資訊的SDP。在接收到SDP後,使用者裝置可接著與SDP交互。舉例而言,請求使用者裝置的使用者可點選或以其他方式與SDP上的「放在購物車中」按鈕交互。此將產品添加至與使用者相關聯的購物車。使用者裝置可將把產品添加至購物車的此請求傳輸至外部前端系統103。
外部前端系統103可產生購物車頁(例如,圖1D)。在一些實施例中,購物車頁列出使用者已添加至虛擬「購物車」的產品。使用者裝置可藉由在SRP、SDP或其他頁上的圖標上點選或以其他方式與所述圖標交互來請求購物車頁。在一些實施例中,購物車頁可列出使用者已添加至購物車的所有產品,以及關於購物車中的產品的資訊(諸如每一產品的數量、每一產品每物件的價格、每一產品基於相關聯數量的價格)、關於PDD的資訊、遞送方法、運送成本、用於修改購物車中的產品(例如,刪除或修改數量)的使用者介面元素、用於訂購其他產品或設置產品的定期遞送的選項、用於設置利息支付的選項、用於前進至購買的使用者介面元素,或類似者。使用者裝置處的使用者可在使用者介面元素(例如,寫著「現在購買」的按鈕)上點選或以其他方式與所述使用者介面元素交互,以發起對購物車中的產品的購買。在如此做後,使用者裝置可將發起購買的此請求傳輸至外部前端系統103。
外部前端系統103可回應於接收到發起購買的請求而產生訂單頁(例如,圖1E)。在一些實施例中,訂單頁重新列出來自購物車的物件且請求支付及運送資訊的輸入。舉例而言,訂單頁可包含請求關於購物車中的物件的購買者的資訊(例如,姓名、
地址、電子郵件地址、電話號碼)、關於接收者的資訊(例如,姓名、地址、電話號碼、遞送資訊)、運送資訊(例如,遞送及/或揀貨的速度/方法)、支付資訊(例如,信用卡、銀行轉賬、支票、儲存的積分)的部分、請求現金收據(例如,出於稅務目的)的使用者介面元素,或類似者。外部前端系統103可將訂單頁發送至使用者裝置。
使用者裝置可輸入關於訂單頁的資訊,且點選或以其他方式與將資訊發送至外部前端系統103的使用者介面元素交互。自此處,外部前端系統103可將資訊發送至系統100中的不同系統,以使得能夠創建及處理具有購物車中的產品的新訂單。
在一些實施例中,外部前端系統103可進一步經組態以使得賣方能夠傳輸及接收與訂單相關的資訊。
在一些實施例中,內部前端系統105可實行為使得內部使用者(例如,擁有、操作或租用系統100的組織的雇員)能夠與系統100中的一或多個系統交互的電腦系統。舉例而言,在系統100使得系統的呈現能夠允許使用者針對物件下訂單的實施例中,內部前端系統105可實行為使得內部使用者能夠查看關於訂單的診斷及統計資訊、修改物件資訊或審查與訂單相關的統計的網頁伺服器。舉例而言,內部前端系統105可實行為電腦或電腦運行軟體,諸如阿帕奇HTTP伺服器、微軟網際網路資訊服務(IIS)、NGINX,或類似者。在其他實施例中,內部前端系統105可運行經設計以接收及處理來自系統100中所描繪的系統或裝置(以及未描繪的其他裝置)的請求、基於彼等請求自資料庫及其他資料儲存庫獲取資訊,以及基於所獲取的資訊來將回應提供至接
收到的請求的定製網頁伺服器軟體。
在一些實施例中,內部前端系統105可包含網頁快取系統、資料庫、檢索系統、支付系統、分析系統、訂單監視系統或類似者中的一或多者。在一個態樣中,內部前端系統105可包括此等系統中的一或多者,而在另一態樣中,內部前端系統105可包括連接至此等系統中的一或多者的介面(例如,伺服器至伺服器、資料庫至資料庫,或其他網路連接)。
在一些實施例中,運輸系統107可實行為實現系統100中的系統或裝置與行動裝置107A至行動裝置107C之間的通信的電腦系統。在一些實施例中,運輸系統107可自一或多個行動裝置107A至行動裝置107C(例如,行動電話、智慧型電話、PDA,或類似者)接收資訊。舉例而言,在一些實施例中,行動裝置107A至行動裝置107C可包括由遞送工作者操作的裝置。遞送工作者(其可為永久雇員、暫時雇員或輪班雇員)可利用行動裝置107A至行動裝置107C來實現對含有由使用者訂購的產品的包裹的遞送。舉例而言,為遞送包裹,遞送工作者可在行動裝置上接收指示遞送哪一包裹及將所述包裹遞送到何處的通知。在抵達遞送位置後,遞送工作者可(例如,在卡車的後部中或在包裹的條板箱中)定位包裹、使用行動裝置掃描或以其他方式擷取與包裹上的識別符(例如,條碼、影像、文字字串、RFID標籤,或類似者)相關聯的資料,且遞送包裹(例如,藉由將其留在前門處、將其留給警衛、將其交給接收者,或類似者)。在一些實施例中,遞送工作者可使用行動裝置擷取包裹的相片及/或可獲得簽名。行動裝置可將資訊發送至運輸系統107,所述資訊包含關於遞送的資訊,
包含例如時間、日期、GPS位置、相片、與遞送工作者相關聯的識別符、與行動裝置相關聯的識別符,或類似者。運輸系統107可在資料庫(未描繪)中儲存此資訊以用於由系統100中的其他系統存取。在一些實施例中,運輸系統107可使用此資訊來準備追蹤資料且將所述追蹤資料發送至其他系統,從而指示特定包裹的位置。
在一些實施例中,某些使用者可使用一個種類的行動裝置(例如,永久工作者可使用具有定製硬體(諸如條碼掃描器、尖筆以及其他裝置)的專用PDA),而其他使用者可使用其他類型的行動裝置(例如,暫時工作者或輪班工作者可利用現成的行動電話及/或智慧型電話)。
在一些實施例中,運輸系統107可使使用者與每一裝置相關聯。舉例而言,運輸系統107可儲存使用者(由例如使用者識別符、雇員識別符或電話號碼表示)與行動裝置(由例如國際行動設備身分(International Mobile Equipment Identity;IMEI)、國際行動訂用識別符(International Mobile Subscription Identifier;IMSI)、電話號碼、通用唯一識別符(Universal Unique Identifier;UUID)或全球唯一識別符(Globally Unique Identifier;GUID)表示)之間的關聯。運輸系統107可結合在遞送時接收到的資料使用此關聯來分析儲存於資料庫中的資料,以便尤其判定工作者的位置、工作者的效率,或工作者的速度。
在一些實施例中,賣方入口網站109可實行為使得賣方或其他外部實體能夠與系統100中的一或多個系統電子地通信的電腦系統。舉例而言,賣方可利用電腦系統(未描繪)來上載或
提供賣方希望經由使用賣方入口網站109的系統100來出售的產品的產品資訊、訂單資訊、連絡資訊或類似者。
在一些實施例中,運送及訂單追蹤系統111可實行為接收、儲存以及轉送關於含有由客戶(例如,由使用裝置102A至裝置102B的使用者)訂購的產品的包裹的位置的資訊的電腦系統。在一些實施例中,運送及訂單追蹤系統111可請求或儲存來自由遞送含有由客戶訂購的產品的包裹的運送公司操作的網頁伺服器(未描繪)的資訊。
在一些實施例中,運送及訂單追蹤系統111可請求及儲存來自在系統100中描繪的系統的資訊。舉例而言,運送及訂單追蹤系統111可請求來自運輸系統107的資訊。如上文所論述,運輸系統107可自與使用者(例如,遞送工作者)或車輛(例如,遞送卡車)中的一或多者相關聯的一或多個行動裝置107A至行動裝置107C(例如,行動電話、智慧型電話、PDA或類似者)接收資訊。在一些實施例中,運送及訂單追蹤系統111亦可向倉庫管理系統(warehouse management system;WMS)119請求資訊以判定個別產品在履行中心(例如,履行中心200)內部的位置。運送及訂單追蹤系統111可向運輸系統107或WMS 119中的一或多者請求資料,在請求後處理所述資料,且將所述資料呈現給裝置(例如,使用者裝置102A及使用者裝置102B)。
在一些實施例中,履行最佳化(FO)系統113可實行為儲存來自其他系統(例如,外部前端系統103及/或運送及訂單追蹤系統111)的客戶訂單的資訊的電腦系統。FO系統113亦可儲存描述特定物件保存或儲存於何處的資訊。舉例而言,某些物件
可能僅儲存於一個履行中心中,而某些其他物件可能儲存於多個履行中心中。在再其他實施例中,某些履行中心可經設計以僅儲存特定物件集合(例如,新鮮生產或冷凍的產品)。FO系統113儲存此資訊以及相關聯資訊(例如,數量、大小、接收日期、過期日期等)。
FO系統113亦可計算每一產品的對應PDD(承諾遞送日期)。在一些實施例中,PDD可以基於一或多個因素。舉例而言,FO系統113可基於下述者來計算產品的PDD:對產品的過去需求(例如,在一段時間期間訂購了多少次所述產品)、對產品的預期需求(例如,預報在即將到來的一段時間期間多少客戶將訂購所述產品)、指示在一段時間期間訂購了多少產品的全網路過去需求、指示預期在即將到來的一段時間期間將訂購多少產品的全網路預期需求、儲存於每一履行中心200中的產品的一或多個計數、哪一履行中心儲存每一產品、產品的預期或當前訂單,或類似者。
在一些實施例中,FO系統113可定期(例如,每小時)判定每一產品的PDD且將其儲存於資料庫中以供擷取或發送至其他系統(例如,外部前端系統103、SAT系統101、運送及訂單追蹤系統111)。在其他實施例中,FO系統113可自一或多個系統(例如,外部前端系統103、SAT系統101、運送及訂單追蹤系統111)接收電子請求且按需求計算PDD。
在一些實施例中,履行通信報閘道(FMG)115可實行為自系統100中的一或多個系統(諸如FO系統113)接收呈一種格式或協定的請求或回應、將其轉換為另一格式或協定且將其以轉換後的格式或協定轉發至其他系統(諸如WMS 119或第3方履行
系統121A、第3方履行系統121B或第3方履行系統121C)且反之亦然的電腦系統。
在一些實施例中,供應鏈管理(SCM)系統117可實行為執行預報功能的電腦系統。舉例而言,SCM系統117可基於例如下述者來預報對特定產品的需求水平:對產品的過去需求、對產品的預期需求、全網路過去需求、全網路預期需求、儲存於每一履行中心200中的產品的計數、每一產品的預期或當前訂單,或類似者。回應於此預報水平及所有履行中心中的每一產品的量,SCM系統117可產生一或多個購買訂單以購買及儲備足夠數量,以滿足對特定產品的預報需求。
在一些實施例中,倉庫管理系統(WMS)119可實行為監視工作流程的電腦系統。舉例而言,WMS 119可自個別裝置(例如,裝置107A至裝置107C或裝置119A至裝置119C)接收指示離散事件的事件資料。舉例而言,WMS 119可接收指示使用此等裝置中的一者掃描包裹的事件資料。如下文相對於履行中心200及圖2所論述,在履行程序期間,可藉由特定階段處的機器(例如,自動式或手持式條碼掃描器、RFID讀取器、高速攝影機、諸如平板電腦119A、行動裝置/PDA 119B、電腦119C的裝置或類似者)掃描或讀取包裹識別符(例如,條碼或RFID標籤資料)。WMS 119可將指示掃描或包裹識別符的讀取的每一事件以及包裹識別符、時間、日期、位置、使用者識別符或其他資訊儲存於對應資料庫(未描繪)中,且可將此資訊提供至其他系統(例如,運送及訂單追蹤系統111)。
在一些實施例中,WMS 119可儲存使一或多個裝置(例
如,裝置107A至裝置107C或裝置119A至裝置119C)與一或多個使用者(所述一或多個使用者與系統100相關聯)相關聯的資訊。舉例而言,在一些情形下,使用者(諸如兼職雇員或全職雇員)可與行動裝置相關聯,此是由於使用者擁有行動裝置(例如,行動裝置為智慧型電話)。在其他情形下,使用者可與行動裝置相關聯,此是由於使用者暫時保管行動裝置(例如,使用者在一天開始時拿到行動裝置,將在一天期間使用所述行動裝置,且將在一天結束時退還所述行動裝置)。
在一些實施例中,WMS 119可維護與系統100相關聯的每一使用者的工作日志。舉例而言,WMS 119可儲存與每一雇員相關聯的資訊,包含任何指定的過程(例如,自卡車卸載、自揀貨區揀取物件、合流牆(rebin wall)工作、包裝物件)、使用者識別符、位置(例如,履行中心200中的樓層或區)、藉由雇員經由系統移動的單位數目(例如,所揀取物件的數目、所包裝物件的數目)、與裝置(例如,裝置119A至裝置119C)相關聯的識別符,或類似者。在一些實施例中,WMS 119可自計時系統接收登記及登出資訊,所述計時系統諸如在裝置119A至裝置119C上操作的計時系統。
在一些實施例中,第3方履行(3rd party fulfillment;3PL)系統121A至第3方履行系統121C表示與物流及產品的第三方提供商相關聯的電腦系統。舉例而言,儘管一些產品儲存於履行中心200中(如下文相對於圖2所論述),但其他產品可儲存於場外、可按需求生產,或可以其他方式不可供用於儲存於履行中心200中。3PL系統121A至3PL系統121C可經組態以(例如,經由FMG
115)自FO系統113接收訂單,且可直接為客戶提供產品及/或服務(例如,遞送或安裝)。在一些實施例中,3PL系統121A至3PL系統121C中的一或多者可為系統100的一部分,而在其他實施例中,3PL系統121A至3PL系統121C中的一或多者可在系統100外部(例如,由第三方提供商擁有或操作)。
在一些實施例中,履行中心Auth系統(FC Auth)123可實行為具有各種功能的電腦系統。舉例而言,在一些實施例中,FC Auth 123可充當系統100中的一或多個其他系統的單一簽入(single-sign on;SSO)服務。舉例而言,FC Auth 123可使得使用者能夠經由內部前端系統105登入、判定使用者具有存取運送及訂單追蹤系統111處的資源的類似特權,且使得使用者能夠在不需要第二登入過程的情況下取得彼等特權。在其他實施例中,FC Auth 123可使得使用者(例如,雇員)能夠使自身與特定任務相關聯。舉例而言,一些雇員可能不具有電子裝置(諸如裝置119A至裝置119C),且實際上可能在一天的過程期間在履行中心200內自任務至任務以及自區至區移動。FC Auth 123可經組態以使得彼等雇員能夠在一天的不同時間指示其正執行何任務以及其位於何區。
在一些實施例中,勞動管理系統(LMS)125可實行為儲存雇員(包含全職雇員及兼職雇員)的出勤及超時資訊的電腦系統。舉例而言,LMS 125可自FC Auth 123、WMS 119、裝置119A至裝置119C、運輸系統107及/或裝置107A至裝置107C接收資訊。
圖1A中所描繪的特定組態僅為實例。舉例而言,儘管圖
1A描繪連接至FO系統113的FC Auth系統123,但並非所有實施例均要求此特定組態。實際上,在一些實施例中,系統100中的系統可經由一或多個公用或私用網路彼此連接,所述網路包含網際網路、企業內部網路、廣域網路(Wide-Area Network;WAN)、都會區域網路(Metropolitan-Area Network;MAN)、順應IEEE 802.11a/b/g/n標準的無線網路、租用線,或類似者。在一些實施例中,系統100中的系統中的一或多者可實行為在資料中心、伺服器群或類似者處實行的一或多個虛擬伺服器。
圖2描繪履行中心200。履行中心200為儲存用於在訂購時運送至客戶的物件的實體位置的實例。可將履行中心(FC)200劃分成多個區,所述區中的每一者描繪於圖2中。在一些實施例中,可認為此等「區」為接收物件、儲存物件、擷取物件以及運送物件的過程的不同階段之間的虛擬劃分。因此,儘管在圖2中描繪「區」,但其他區劃分為可能的,且在一些實施例中可省略、複製或修改圖2中的區。
入站區203表示FC 200的自希望使用來自圖1A的系統100出售產品的賣方接收到物件的區域。舉例而言,賣方可使用卡車201來遞送物件202A及物件202B。物件202A可表示足夠大以佔據其自身運送托板的單一物件,而物件202B可表示在同一托板上堆疊在一起以節省空間的物件集合。
工作者將在入站區203中接收物件,且可使用電腦系統(未描繪)來視情況檢查物件的損壞及正確性。舉例而言,工作者可使用電腦系統來比較物件202A及物件202B的數量與物件的所訂購數量。若數量不匹配,則工作者可拒絕物件202A或物件202B
中的一或多者。若數量的確匹配,則工作者可(使用例如台車、手推平車、叉車或手動地)將彼等物件移動至緩衝區205。緩衝區205可為當前(例如由於揀貨區中存在足夠高數量的物件以滿足預報需求而)無需處於揀貨區中的所述物件的暫時儲存區域。在一些實施例中,叉車206操作以圍繞緩衝區205及在入站區203與卸貨區207之間移動物件。若(例如,由於預報需求而)需要揀貨區中的物件202A或物件202B,則叉車可將物件202A或物件202B移動至卸貨區207。
卸貨區207可為FC 200的在將物件移動至揀貨區209之前儲存所述物件的區域。指派給揀貨任務的工作者(「揀貨員」)可靠近揀貨區中的物件202A及物件202B,使用行動裝置(例如,裝置119B)來掃描揀貨區的條碼,且掃描與物件202A及物件202B相關聯的條碼。揀貨員可接著(例如,藉由將物件置放於推車上或攜帶所述物件)將所述物件取至揀貨區209。
揀貨區209可為FC 200的將物件208儲存於儲存單元210上的區域。在一些實施例中,儲存單元210可包括實體擱架、書架、盒、手提包、冰箱、冷凍機、冷儲存區或類似者中的一或多者。在一些實施例中,揀貨區209可組織成多個樓層。在一些實施例中,工作者或機器可以多種方式將物件移動至揀貨區209中,包含例如叉車、電梯、傳送帶、推車、手推平車、台車、自動化機器人或裝置,或手動地移動。舉例而言,揀貨員可在卸貨區207中將物件202A及物件202B置放於手推平車或推車上,且將物件202A及物件202B步移至揀貨區209。
揀貨員可接收將物件置放(或「堆裝」)於揀貨區209中
的特定點(諸如儲存單元210上的特定空間)的指令。舉例而言,揀貨員可使用行動裝置(例如,裝置119B)來掃描物件202A。裝置可例如使用指示走道、貨架以及位置的系統來指示揀貨員應將物件202A堆裝於何處。裝置可接著提示揀貨員在將物件202A堆裝於所述位置之前掃描所述位置處的條碼。裝置可(例如,經由無線網路)將資料發送至諸如圖1A中的WMS 119的電腦系統,從而指示已由使用裝置119B的使用者將物件202A堆裝於所述位置處。
一旦使用者下訂單,揀貨員即可在裝置119B上接收自儲存單元210擷取一或多個物件208的指令。揀貨員可擷取物件208、掃描物件208上的條碼,且將所述物件208置放於運輸機構214上。儘管將運輸機構214表示為滑動件,但在一些實施例中,運輸機構可實行為傳送帶、電梯、推車、叉車、手推平車、台車或類似者中的一或多者。物件208可接著抵達包裝區211。
包裝區211可為FC 200的自揀貨區209接收到物件且將所述物件包裝至盒或包中以用於最終運送至客戶的區域。在包裝區211中,指派給接收物件的工作者(「合流工作者」)將自揀貨區209接收物件208且判定所述物件208對應於哪一訂單。舉例而言,合流工作者可使用諸如電腦119C的裝置來掃描物件208上的條碼。電腦119C可在視覺上指示物件208與哪一訂單相關聯。此可包含例如對應於訂單的牆216上的空間或「單元格」。一旦訂單完成(例如,由於單元格含有所述訂單的所有物件),合流工作者即可指示包裝工作者(或「包裝員」)訂單完成。包裝員可自單元格擷取物件且將所述物件置放於盒或包中以用於運送。包裝員
可接著例如經由叉車、推車、台車、手推平車、傳送帶、手動地或以其他方式將盒或包發送至樞紐區(hub zone)213。
樞紐區213可為FC 200的自包裝區211接收所有盒或包(「包裹」)的區域。樞紐區213中的工作者及/或機器可擷取包裹218且判定每一包裹預期去至遞送區域的哪一部分,且將包裹投送至適當的營地區(camp zone)215。舉例而言,若遞送區域具有兩個更小子區域,則包裹將去至兩個營地區215中的一者。在一些實施例中,工作者或機器可(例如,使用裝置119A至裝置119C中的一者)掃描包裹以判定其最終目的地。將包裹投送至營地區215可包括例如(例如,基於郵遞碼)判定包裹去往的地理區域的一部分,以及判定與地理區域的所述部分相關聯的營地區215。
在一些實施例中,營地區215可包括一或多個建築物、一或多個實體空間或一或多個區域,其中自樞紐區213接收包裹以用於分選至路線及/或子路線中。在一些實施例中,營地區215與FC 200實體地分開,而在其他實施例中,營地區215可形成FC 200的一部分。
營地區215中的工作者及/或機器可例如基於下述者來判定包裹220應與哪一路線及/或子路線相關聯:目的地與現有路線及/或子路線的比較、對每一路線及/或子路線的工作負荷的計算、時刻、運送方法、運送包裹220的成本、與包裹220中的物件相關聯的PDD,或類似者。在一些實施例中,工作者或機器可(例如,使用裝置119A至裝置119C中的一者)掃描包裹以判定其最終目的地。一旦將包裹220指派給特定路線及/或子路線,工作者及/或機器即可移動待運送的包裹220。在例示性圖2中,營地區
215包含卡車222、汽車226以及遞送工作者224A及遞送工作者224B。在一些實施例中,卡車222可由遞送工作者224A駕駛,其中遞送工作者224A為遞送FC 200的包裹的全職雇員,且卡車222由擁有、租用或操作FC 200的同一公司擁有、租用或操作。在一些實施例中,汽車226可由遞送工作者224B駕駛,其中遞送工作者224B為在視需要基礎上(例如,季節性地)遞送的「靈活」或臨時工作者。汽車226可由遞送工作者224B擁有、租用或操作。
圖3A示出引入子系統300的例示性圖形表示。引入子系統300可經指定用於來自源應用程式介面(application program interface;API)302的通信的初始處理。源API 302可為數個API中的任一者,所述API可經特定組態以供消費者、遞送人員、管理員及/或賣方使用。源API 302可實行於具有處理器、記憶體組件及/或通信組件的計算裝置上,諸如行動裝置、桌上型電腦、配接器、控制器、伺服器或能夠發送及/或接收API通信的任何其他裝置。在一些實施例中,引入子系統300及/或引入子系統300的組件可以可通信地耦接至其他子系統(例如,如在圖3B至圖3D中所描述)。
引入子系統300亦可包含數個端點API 304,源API 302可以可通信地耦接至所述端點API 304。在一些實施例中,端點API 304可僅為單一端點API。端點API 304可包含多個控制器、配接器及/或其他計算裝置,其可由API提供商(未繪示)管理。舉例而言,端點API 304可藉由控制器(諸如控制器306a、控制器306b、控制器306c、控制器306d及/或控制器306e)的組合實行。在一些實施例中,控制器可經指定用於處置特定實體(例如,
賣方)的操作。控制器可為硬體裝置或軟體程式,其可管理不同實體之間(例如,源API 302與資料聚合器312之間)的資料流。舉例而言,控制器可為但不限於快閃控制器、應用程式遞送控制器、主域控制器、底板管理控制器及/或會話邊界控制器。在一些實施例中,來自源API 302的通信可基於與通信相關聯的源引導至特定端點API或控制器。舉例而言,API提供商可自源API 302接收通信,且可(例如,基於訊息識別符、IP位址、MAC位址、通信格式及/或其他唯一識別符)判定通信的源及/或類型。基於所識別的通信源及/或通信類型,API提供商可將通信引導至可經組態用於具有特定源及/或類型的通信的特定控制器。藉助於其他實例,API提供商可判定來自源API 302的通信具有作為其通信源的消費者裝置及作為其通信類型的退還請求,且可將通信引導至端點API 304(例如,控制器306b),所述端點API 304可經組態用於處置具有接收到的通信的源及/或類型(例如,經組態用於退還請求通信)的通信。
引入子系統300亦可包含驗證器308,其可驗證來自源API 302的通信,且可以可通信地耦接至端點API 304。驗證器308可存在於端點API 304內(例如,作為控制器的一部分),或可作為諸如伺服器的個別組件存在,端點API 304可連接至所述個別組件。驗證器308可包含經組態以進行驗證程序(例如,用於驗證自源API 302接收到的通信的程序)的各種組件(例如,模組、裝置、處理器等)。舉例而言,驗證器308可包含驗證器調用器、驗證預處理器(例如,用於重新格式化來自通信的資料)、驗證器處理器(例如,用於對資料執行驗證操作)、驗證器後處理器(例
如,用於將經驗證資料重新格式化為可由另一實體(諸如圖3C中的規則引擎362)理解的格式)、驗證管理器及/或訊息發佈器(其可將訊息引導至另一子系統)。
引入子系統300亦可包含異常處置器310,驗證器308可以可通信地耦接至所述異常處置器310。異常處置器310可為驗證器308的一部分,或可為個別裝置或組件,諸如伺服器或行動裝置。在一些實施例中,驗證器308可基於可已由驗證器308判定的通信的驗證結果將通信引導至異常處置器310。舉例而言,若通信使由驗證器308實行的至少一個規則或演算法失效,則驗證器可將通信引導至異常處置器310。在一些實施例中,異常處置器310可經組態以基於藉由通信失效的至少一個規則或演算法來重新格式化、拆分、解析、標記及/或以其他方式重新組態或傳輸來自通信的資訊(例如,向管理員裝置發出警示)。異常處置器310可以可通信地耦接至資料聚合器312及/或記錄與追蹤模組314。
引入子系統300亦可包含資料聚合器312,所述資料聚合器312可聚合來自不同源(諸如端點API 304、異常處置器310及/或記錄與追蹤模組314)的資料。資料聚合器312可以可通信地耦接至子系統300的任何裝置及/或組件,以及其他系統(包含圖3B中的子系統325、圖3C中的子系統355以及圖3D中的子系統375)的裝置及/或組件。資料聚合器312可為具有另一目的的裝置(例如,驗證器308)的一部分,或可為個別裝置或組件,諸如伺服器或行動裝置。在一些實施例中,資料聚合器312可包含經組態以進行資料聚合程序(例如,用於聚合及/或分析來自諸如源API 302及/或異常處置器310的源的資料的程序)的各種組件(例如,
模組、裝置、處理器等)。舉例而言,資料聚合器312可包含資料快取組件、資料聚合器組件、資料變換組件、資料映射組件及/或服務路由器。
引入子系統300亦可包含記錄與追蹤模組314,其可記錄及/或追蹤與通信(例如,來自API源302的通信)相關聯的資料。記錄與追蹤模組314可為具有另一目的的裝置(例如,資料聚合器312)的一部分,或可為個別裝置或組件,諸如伺服器或行動裝置。在一些實施例中,記錄與追蹤模組314可包含經組態以進行資料聚合程序(例如,用於追蹤及/或記錄來自諸如源API 302及/或異常處置器310的源的資料的程序)的各種組件(例如,模組、裝置、處理器等)。舉例而言,記錄與追蹤模組314可包含追蹤器316及/或追蹤分析器318。
追蹤器316可執行追蹤資料的功能,所述資料諸如與來自API源302、驗證器308等的通信相關聯的資料。在一些實施例中,追蹤器316可經組態以將追蹤識別符及/或跨度識別符添加至與通信相關聯的資料。在一些實施例中,追蹤器316可維持與記錄及追蹤相關的定義(例如,使用者定義、機器定義,及/或使用者定義與機器定義的組合),諸如關於以下的定義:於何處傳輸追蹤及/或記錄資料、保持的追蹤及/或記錄檔的臨限數目、資料格式、傳輸的識別符的特定組合及/或追蹤的特定程式庫。在一些實施例中,追蹤器316可實行功能提供商的態樣,諸如Spring Cloud Sleuth。
追蹤分析器318可執行分析資料(諸如追蹤資料及/或記錄資料)的功能,所述資料可與來自裝置(例如,實行源API 302
的裝置)的通信相關聯。舉例而言,追蹤分析器318可聚合時序資料(例如,異常出現的時間、異常頻率等)、標籤、規則故障資料、規則滿意資料、裝置識別符、訊息識別符及/或與源API 302相關聯的任何資料。在一些實施例中,追蹤分析器318可產生追蹤及/或記錄資料的視覺表示(例如,可篩選資料的圖表、線圖、由統計及/或機器學習演算法產生的推薦等)。在一些實施例中,追蹤分析器318可實行功能提供商的態樣,諸如Zipkin。
圖3B示出輸出子系統325的例示性圖形表示。輸出子系統325可經指定用於處理圖3D中的工作流程子系統375的輸出。輸出子系統325可將經處理輸出傳遞至圖3C中的外部資料源370,傳遞待用圖3A中的記錄與追蹤模組314及/或外部服務339a至外部服務339e中的一或多者記錄及/或追蹤的經處理輸出。輸出子系統325可經特定組態以供消費者、遞送人員、管理員及/或賣方使用。輸出子系統325可實行於具有處理器、記憶體組件及/或通信組件的計算裝置上。在一些實施例中,輸出子系統325及/或輸出子系統325的組件可以可通信地耦接至其他子系統(例如,如在圖3A至圖3D中所描述)。
輸出子系統325可包含數個Creturns域模組327,其可以可通信地耦接至圖3D中的工作流程子系統375。在一些實施例中,Creturns域模組327可包括各種服務329a至服務329d。如圖3B上示出的服務的實例可包含取消服務329a、退還服務329b、交換服務329c及/或減價服務329d。服務329a至服務329d中的每一者可負責處理來自圖3D中的工作流程子系統375中的各別工作流程任務的輸出。舉例而言,圖3D中的取消程序工作流程383a
可將輸出傳遞至取消服務329a,而圖3D中的退還程序工作流程383b可將輸出傳遞至退還服務329b。Creturns域模組327的架構經修改以視需要添加額外服務。
Creturns域模組327可將經處理資訊傳遞至圖3C中的外部資料源370,從而用圖3A中的記錄與追蹤模組314及/或外部服務代理模組331記錄及追蹤。傳遞至外部資料源370的資訊如參考圖3C的章節中所描述而予以儲存。傳遞至記錄與追蹤模組314的資訊如早先參考圖3A中的章節所描述而予以記錄及處理。
外部服務代理模組331(其為輸出子系統325的一部分)可接收來自Creturns域模組327的經處理輸出以供進一步引導至適當的外部服務339a至外部服務339e。輸出子系統325可使用外部服務代理模組331來反覆地連接至同一服務,而無需花費用於大於一次地初始化服務代理所需的時間及計算資源。外部服務代理模組331可實行為在Creturns域模組327與外部服務339a至外部服務339e之間的軟體或硬體系統。外部服務代理模組331可存在於與輸出子系統325相同的機器上或存在於個別伺服器上。外部服務代理模組331可經特定組態以供消費者、管理員及/或賣方使用。外部服務代理模組331可實行於具有處理器、記憶體組件及/或通信組件的計算裝置上。
外部服務代理模組331亦可包含外部服務工作器333,其可直接自圖3D中的Creturn工作流程啟動器381接收資料,且可以可通信地耦接至圖3D中的工作流程子系統375。外部服務工作器333可存在於外部服務代理模組331內,或可作為諸如伺服器的個別組件存在,外部服務代理模組331可連接至所述個別組件。
外部服務工作器333可包含經組態以進行輸出處理的各種組件(例如,模組、裝置、處理器等)。舉例而言,外部服務工作器333可處理未由Creturns域模組327處理的資料。
外部服務代理模組331亦可包含外部API請求器335,外部服務工作器333可以可通信地耦接至所述外部API請求器335。外部API請求器335可為外部服務代理模組331的一部分,或可為個別裝置或組件,諸如伺服器或虛擬執行個體。在一些實施例中,外部服務代理模組331可基於需要外部服務339a至外部服務339e中的哪一者將輸出傳遞至外部API請求器335來具有與外部API請求器335的直接通信,此可已由Creturns域模組327或外部服務工作器333判定。舉例而言,若外部服務需要API用於通信,則外部API請求器335可請求適當的API資訊以建立與所需外部服務的連接。在一些實施例中,外部API請求器335可經組態以基於由外部服務使用的至少一個規則或演算法來重新格式化、拆分、解析、標記及/或以其他方式重新組態或傳輸來自通信的資訊。
外部服務代理模組331亦可包含產生器(Producer)337,外部服務工作器333可以可通信地耦接至所述產生器337。產生器337可為外部服務代理模組331的一部分,或可為個別裝置或組件,諸如伺服器或虛擬執行個體。產生器337用於將訊息發佈至主題。主題可分為數個分區,所述分區含有訊息。分區中的每一訊息由其唯一偏移指派及識別。訊息自身含有關於發佈哪一主題及分區的資訊以使得可用同一產生器將資料發佈至不同主題。在一些實施例中,可使用Kafka來實行產生器337。
外部服務代理模組331可將經處理資訊傳遞至圖3A中的記錄與追蹤模組314及/或外部服務339a至外部服務339e。傳遞至記錄與追蹤模組314的資訊如早先參考圖3A中的章節所描述而予以記錄及處理。外部服務339a至外部服務339e基於請求來發起動作。如圖3B上示出的服務的實例可包含訂購服務339a、履行服務339b、運送服務339c、福利服務339d及/或票證服務339e。服務329a至服務329d中的每一者可負責發起特定動作。舉例而言,在事件中,圖3D中的工作流程子系統375傳遞輸出以用於交換服務329c處理,其可發起數個外部服務。物件的交換可涉及至訂購服務339a的輸出以訂購(訂購指令可包含自供應商購買物件、告知揀貨員準備物件、線上購買物件、去往第3方儲存區且揀取所述物件的指令,或針對於獲取物件的其他指令)新物件、至運送服務339c的輸出以產生退還運送標籤及/或至履行服務339b的輸出以處理退還物件。輸出子系統325的架構可經修改以視需要添加額外外部服務。
圖3C示出與所揭露實施例一致的例示性控制子系統350、例示性退還事件儲存區361、例示性規則引擎362以及例示性外部資料源370的圖形表示355。
控制子系統350可經組態以創建、更新、維護及/或管理由圖3A中的系統300、圖3B中的系統325以及圖3D中的系統375的各種組件使用的資料。舉例而言,控制子系統350可經組態以創建、更新及/或修改用於管理客戶的退還的參數(例如,用於批准及拒絕客戶的退還的規則)、管理用於處理退還的工作流程的參數及/或儲存特定退還事件的參數。
如圖3C中所示出,控制子系統350可包含規則管理模組351、事件管理模組352以及工作流程管理模組353。
規則管理模組351可經組態以管理用於處理客戶的退還的規則。舉例而言,規則管理模組351可經組態以創建及/或修改用於拒絕客戶的退還請求的規則。藉助於實例,規則管理模組351可經組態以基於各種參數來創建及/或修改用於拒絕客戶的退還請求的規則,所述參數包含例如與客戶的先前退還相關的資料、涉及退還請求的貨幣金額、待退還的貨品的類型等。舉例而言,若客戶在過去預定天數(例如,180天)內退還空(或部分空)盒以用於退還,則規則管理模組351可創建用於拒絕客戶的退還請求的規則,此可指示所述客戶可能已嘗試詐欺系統。
在一些實施例中,規則管理模組351可經組態以基於控制子系統350的使用者的輸入來創建及/或修改規則。舉例而言,規則管理模組351可自使用者接收輸入以修改用於驗證退還請求的規則的一或多個參數且相應地修改規則的參數。
事件管理模組352可經組態以創建、修改及/或管理儲存於退還事件儲存區361中的事件。舉例而言,事件管理模組352可針對由客戶或系統發起的退還請求而創建一系列事件且將事件儲存至退還事件儲存區361中。藉助於實例,客戶可經由與客戶相關聯的使用者裝置發起訂單的退還。事件管理模組352可創建接收退還請求的事件且將事件儲存於退還事件儲存區361中。在一些實施例中,事件可包含與退還、客戶以及與所述退還相關聯的訂單相關的資訊。舉例而言,事件管理模組352可針對由客戶所請求的退還而創建第一事件,其可包含退還請求的資訊、接收
退還請求的時間戳、與客戶相關的資訊或類似者,或其組合。事件管理模組352可在自客戶接收到經歷退還的一或多個物件時創建第二事件,其可包含與接收到的物件相關的資訊(例如,數量、情況等)、接收到物件的時間戳等。事件管理模組352亦可將第一事件及第二事件儲存為與退還事件儲存區361中的退還相關的一系列事件。
在一些實施例中,退還事件儲存區361可包含例如OracleTM資料庫、SybaseTM資料庫,或其他關連式資料庫或非關連式資料庫,諸如HadoopTM序列檔案、HBaseTM或CassandraTM。退還事件儲存區361可包含NoSQL資料庫,諸如HBase、MongoDBTM或CassandraTM。替代地,退還事件儲存區361可包含關連式資料庫,諸如甲骨文(Oracle)、MySQL及微軟(Microsoft)SQL伺服器。在一些實施例中,退還事件儲存區361可呈伺服器、通用電腦、大型主機電腦或此等組件的任何組合的形式。
工作流程管理模組353可經組態以創建、修改及/或管理由圖3A中的系統300、圖3B中的系統325以及圖3D中的系統375的各種組件使用的工作流程。舉例而言,工作流程管理模組353可經組態以創建、修改及/或管理由工作流程子系統375(圖3D中示出)使用的取消程序383a、退還程序383b、交換程序383c、遞送追蹤383d、收集程序383e、退款程序383f以及撤銷程序383g。
在一些實施例中,控制子系統350可經組態以創建、修改及/或管理由Creturns域模組327(圖3B中示出)使用的服務。舉例而言,控制子系統350可經組態以創建、修改及/或管理取消服務329a、退還服務329b、交換服務329c及/或減價服務329d。
Creturns域模組327可自控制子系統350獲得一或多個服務。
規則引擎362可經組態以自控制子系統350獲得用於處理退還的規則,且儲存及/或管理用於圖3D中的工作流程子系統375的其他組件的規則。舉例而言,圖3D中的工作流程子系統375可經組態以自規則引擎362獲得用於驗證退還請求的規則。在一些實施例中,規則引擎362可包含用於儲存用於管理及/或處理退還的規則的規則資料庫363。
外部資料源370可經組態以儲存用於包含圖3A中的子系統300、圖3B中的子系統325以及圖3D中的子系統375的系統的各種組件的資料。舉例而言,外部資料源370可儲存由控制子系統350創建及/或更新的各種服務,包含例如取消服務329a、退還服務329b、交換服務329c及/或減價服務329d。Creturns域模組327可自外部資料源370獲得一或多個服務。
作為另一實例,外部資料源370可包含經組態以儲存與事件(例如,退還事件)相關的資料的事件儲存區371。在一些實施例中,事件儲存區371可包含經組態以回應於寫入命令而寫入資料的寫入資料庫372。事件儲存區亦可包含經組態以僅回應於查詢命令而讀取資料的一或多個讀取資料庫373(例如,讀取資料庫373A、讀取資料庫373B等)。在一些實施例中,讀取資料庫373可包含與寫入資料庫372中包含的資料相同的資料。舉例而言,若回應於寫入命令而更新儲存於寫入資料庫372中的資料,則讀取資料庫373中的對應資料可相應地更新,使得寫入資料庫372及讀取資料庫373可包含相同資料。在一些實施例中,外部資料源370可包含經組態以儲存用於控制子系統350的管理資料的管
理者資料庫374。
在一些實施例中,事件儲存區371及/或管理者資料庫374可包含例如OracleTM資料庫、SybaseTM資料庫,或其他關連式資料庫或非關連式資料庫,諸如HadoopTM序列檔案、HBaseTM或CassandraTM。事件儲存區371及/或管理者資料庫374可包含NoSQL資料庫,諸如HBase、MongoDBTM或CassandraTM。替代地,事件儲存區371及/或管理者資料庫374可包含關連式資料庫,諸如甲骨文、MySQL及微軟SQL伺服器。在一些實施例中,事件儲存區371及/或管理者資料庫374可呈伺服器、通用電腦、大型主機電腦或此等組件的任何組合的形式。
圖3D示出工作流程子系統375的例示性圖形表示。工作流程子系統375可經指定用於處理引入子系統300的輸出。工作流程子系統375可將驗證器308輸出傳遞至輸出子系統325。工作流程子系統375可經特定組態以供消費者、遞送人員、管理員及/或賣方使用。工作流程子系統375可實行於具有處理器、記憶體組件及/或通信組件的計算裝置上。在一些實施例中,工作流程子系統375及/或工作流程子系統375的組件可以可通信地耦接至其他子系統(例如,如在圖3A至圖3D中所描述)。
工作流程子系統375可包含框架模組377。框架模組377可利用Spring WebFlux或類似技術。框架模組377可提供非阻擋網頁堆疊以處置與少量執行緒的並行性且用較少硬體資源縮放。框架模組377可包含各種程式化模組。如圖3D中所示出的模組的實例可包含退還模組379a、交換模組379b以及取消模組379c。模組379a至模組379c可含有用於零售、第三方以及票證供應的
處理邏輯。模組379a至模組379c亦可包含用於與負責各別資料的子系統通信的API。
工作流程子系統375亦可包含工作流程啟動器381,其可通信地耦接至框架模組377。工作流程啟動器381可包含程序383a至程序383g的清單,其可基於自框架模組377接收到的輸入而發起工作流程。如圖3D中所示出的程序的實例可包含取消程序383a(含有用於啟動藉由由消費者、供應商或另一訂單處置器取消訂單而發起的工作流程的指令)、退還程序383b(含有用於啟動藉由由消費者、供應商或另一訂單處置器進行的完整或部分訂單退還而發起的工作流程的指令)、交換程序383c(含有用於啟動藉由由消費者、供應商或另一訂單處置器啟動的完整或部分訂單的交換而發起的工作流程的指令)、遞送追蹤383d(含有用於啟動藉由由消費者、供應商或另一訂單處置器對追蹤完整或部分訂單的遞送狀態的請求而發起的工作流程的指令)、收集程序383e(含有用於啟動藉由由消費者、供應商或另一訂單處置器對追蹤完整或部分訂單的資訊的請求而發起的工作流程的指令)、退款程序383f(含有用於啟動藉由針對由消費者、供應商或另一訂單處置器啟動的完整或部分訂單的退款的請求而發起的工作流程的指令)以及撤銷程序383g(含有用於啟動藉由撤銷由消費者、供應商或另一訂單處置器啟動的完整或部分訂單而發起的工作流程的指令)。
此外,框架模組377的程式化模組379a至程式化模組379c中的每一者可發起多個程序383a至程序383g。舉例而言,取消模組379c可發起遞送追蹤程序383d以判定取消的物件是已遞送抑或仍由遞送人員擁有。同一取消模組379c亦可發起退款程
序383f以將退款發出給客戶。
各種組合可經程式化且可經特定組態以供消費者、遞送人員、管理員及/或賣方使用。工作流程啟動器381可實行於具有處理器、記憶體組件及/或通信組件的計算裝置上。在一些實施例中,工作流程啟動器381及/或工作流程啟動器381的組件可以可通信地耦接至工作流程子系統375的其他部分(例如,如在圖3D中所描述)。此外,工作流程子系統375的架構經修改以視需要添加額外程序及程式化模組。
工作流程子系統375亦可包含工作流程服務模組385,其可以可通信地耦接至工作流程啟動器381及輸出子系統325。工作流程服務模組385可經指定用於工作流程控制及設計。工作流程服務模組385可包含Creturn工作流程服務模組387及工作流程編配模組391。工作流程服務模組385可提供輸出以供輸出子系統325處理。
Creturn工作流程服務模組387可包含可基於自工作流程啟動器381接收到的輸入來控制工作流程的數個子模組389a至子模組389b。如圖3D中所示出的程序的實例可包含零售退還子模組389a(其允許用於零售物件的退還的工作流程的設計及/或控制)及第三方退還子模組389b(其允許用於第三方物件的退還的工作流程的設計及/或控制)。Creturn工作流程服務模組387的架構可經修改以視需要添加額外子模組。Creturn工作流程服務模組387內的工作流程可由消費者、遞送人員、管理員及/或賣方控制及/或設計。Creturn工作流程服務模組387可實行於具有處理器、記憶體組件及/或通信組件的計算裝置上,且可以可通信地耦接至
工作流程子系統375的其他部分。
工作流程編配模組391可包含可由消費者、遞送人員、管理員及/或賣方存取的工作流程控制的集合。工作流程編配模組391可用業務程序管理(business process management;BPM)引擎及支援框架實行,其的一個實例可為利用Spring Boot/Docker的Activiti。工作流程編配模組391引擎具有以下核心目標:採取由人類任務及服務呼叫構成的程序定義且在某一訂單中執行所述人類任務及服務呼叫,同時暴露各種API以啟動、管理以及查詢關於彼定義的處理個例的資料。工作流程編配模組391可實行於具有處理器、記憶體組件及/或通信組件的計算裝置上。工作流程編配模組391可以可通信地耦接至工作流程子系統375的其他部分。
圖4示出利用當前揭露的實施例的用於退還處理的網路化環境400的例示性圖形表示。雖然出於清楚及進一步解釋的目的在圖4中僅示出了圖3A至圖3D中所示出的不同系統、子系統以及模組的子集,但圖3A至圖3D的其他元件可包含於網路化環境400中。此外,下文所揭露的元件的組態及功能可以任何與圖3A至圖3D中的對應元件的組態及功能組合
在一些實施例中,源API 302可包含經組態以傳輸用於退還的電子請求的任何數目個API。源API 302中的每一API可駐存於諸如客戶的行動裝置102A或內部客戶服務系統的通信裝置中,工作者可使用所述通信裝置來手動地登記來自客戶的退還請求。使用此等裝置,例如,源API 302可包括:安裝於客戶的行動裝置上的將API呼叫傳輸至端點API 304的行動應用程式;自
客戶的電腦存取的傳輸類似API呼叫的網頁;自客戶服務代理的電腦操作的手動地鍵入退還請求的應用程式;或類似者。
端點API 304接著可自源API 302接收API呼叫且將其路由至網路化環境400中的適當系統、子系統及/或模組。在一些實施例中,端點API可使用上文所描述的控制器306a至控制器306e來進一步調節接收到的API呼叫且採用網路環境400的通信協定(例如,Java、HTML、CSS或其他程式設計語言)。
在一些實施例中,接收經路由API呼叫的實體中的一者可為驗證器308。驗證器308可經組態以檢查包含於經路由API呼叫中的資料以便確保例如所有所需資訊存在且符合各別資料類型及格式。
在一些實施例中,經驗證API呼叫可經由例如框架模組377及工作流程啟動器381傳送至工作流程服務模組385。工作流程服務模組385可經組態以基於由工作流程啟動器381中的不同程序(例如,退還程序383b或退款程序383f)發起的不同規則而處理經驗證API呼叫,從而採取適合於由API呼叫表示的每一請求的各種動作。
與本文中所揭露的實施例一致,規則中的一些可致力於識別適於流線效率化程序的退還請求呼叫。識別可基於對作為整體包含於每一API呼叫中的資料的考慮,其中彼此組合地分析API呼叫中的不同參數的值。舉例而言,工作流程服務模組385可分析以下各者中的一或多者:客戶指定的程式碼、待退還的物件的類型、待退還的物件的價格、客戶的過往退還歷史、賣方的位置,或退還的物件及對應訂單的其他態樣。
在一些實施例中,由工作流程服務模組385使用的規則可儲存於規則管理模組351中。如上文相對於圖3C所揭露,規則管理模組351可經組態以管理用於如每一退還請求呼叫中所請求而處理退還的規則。規則管理模組351可經由規則引擎362利用規則引擎技術,規則引擎362可提供將規則(或對應業務邏輯)居中儲存於規則資料庫363中的能力,諸如退還合格準則或流線效率化程序合格準則。此允許易於改變規則,例如,以快速地滿足市場中的新客戶需求、法規改變及/或競爭。
一旦退還請求呼叫由工作流程服務模組385處理(例如,判定是批准抑或拒絕退還請求,或判定退還請求是否適於流線效率化程序),工作流程服務模組385即可產生及傳輸一系列額外API呼叫以傳信其他系統、子系統或模組採取適當動作。舉例而言,當工作流程服務模組385判定批准退還請求呼叫時,工作流程服務模組385可經由Creturns域模組327產生對外部服務代理331的呼叫以激活履行服務339b及/或運送服務339c。在下文相對於圖5描述經批准的退還請求呼叫經過的程序。
圖5為利用當前揭露的實施例的用於處理退還的例示性電腦化程序500的流程圖。雖然將程序500描述為應用於退還處理,但此類使用僅為例示性的,且程序500可經修改以使其他程序適於減少網路負載及改良可擴充性。程序500可藉由以處理退還為任務的任何系統、系統的網路、伺服器或類似者執行,諸如上文相對於圖3A至圖3D以及圖4所描述的系統。下文參考圖3A至圖3D的子系統以及圖4的網路化環境400來描述程序500,但系統、子系統或模組的任何其他組態可用於執行程序500。
程序500描繪用於審查及執行退還請求的兩個例示性程序:由步驟501至步驟506表示的常規程序,其改良管理退還(例如,接收請求及接收退還物件)的準確度;及由步驟501至步驟503、步驟507以及步驟508表示的流線效率化程序,其提高審查及執行退還的速度。在一些實施例中,程序500的兩個程序可由圖3A至圖3D中所描繪的系統、子系統以及模組執行,所述系統、子系統以及模組的子集亦描繪於圖4中。兩個程序的變型亦在所揭露實施例的範疇內,且程序500亦可包含用於審查及執行退還請求的其他程序。
在步驟501處,可藉由自客戶裝置接收退還物件的退還請求而發起常規程序。在一些實施例中,退還請求可為由源API 302產生及傳輸的退還請求呼叫。作為實例,退還請求可由客戶產生以用於退還他/她先前下單及接收的訂單的物件中的一者。在一些實施例中,端點API 304可如上文所揭露將退還請求呼叫路由至適當目的地。
在步驟502處,驗證器308可對照系統記錄驗證退還請求呼叫。舉例而言,驗證器308可自退還請求呼叫提取基本資訊,諸如客戶資訊、待退還的物件的物件識別符以及與物件相關聯的初始訂單的訂單識別符,且查找FO系統113中的資訊來驗證客戶實際上為訂購了所述物件的人員且所述物件實際上為以正確數量包含於訂單中的物件。在一些實施例中,驗證器308亦可使用所提取資訊來判定物件是否適於退還。此類規則可為儲存於上文所描述的規則管理模組351中的規則的一部分。
在步驟503處,工作流程服務模組385可分析退還請求
呼叫以判定其對於流線效率化程序的合格性。下文相對於流線效率化程序更詳細地描述步驟503。在程序500僅包括常規程序或流線效率化程序的一些實施例中,可省略或替換步驟503以執行另一功能。在其他實施例中,步驟503亦可包含使用各種模組判定是否批准退還請求,所述模組諸如上文所描述的Creturn工作流程服務模組387、零售退還子模組389a、第三方退還子模組389b以及工作流程編配模組391。
在步驟504處,工作流程服務模組385可產生一系列API呼叫且將其傳輸至其他系統、子系統或模組,諸如如上文所描述的Creturns域327、外部服務代理331、履行服務339b以及運送服務339c。在一些實施例中,工作流程服務模組385可產生一或多個API呼叫以請求對待退還的物件的擷取,其可包括例如產生退還運送標籤或分派快遞員自客戶取走物件。另外或替代地,一或多個API呼叫亦可致使諸如自主機器人、車輛或無人機的自主系統行進至對應退還請求呼叫中指定的客戶地址並擷取物件。
在其他實施例中,步驟504亦可包含接收退還物件及將其重新儲備在履行中心處,其亦可使用自主機器人、車輛或類似者執行。舉例而言,步驟504可包括在退還物件到達履行中心後捕獲(例如,使用攝影機、掃描器、RFID感測器等)退還物件的物件識別符且更新外部資料源370的資料記錄以記錄物件的擷取或到達。
如上文相對於圖3B所描述,擷取及重新儲備物件可涉及各自使用API呼叫通信的模組的複雜網路。舉例而言,退還服務329b可自工作流程服務模組385接收觸發對下游模組(例如,外
部服務代理331或服務339a至服務339e中的元件)的一系列後續呼叫的輸出,所述下游模組各自與在物件被擷取及重新儲備時物件自客戶的地址至履行中心(例如,FC 200)內的各種位置的實體移動相關聯。
在步驟505處,一旦在履行中心(例如,FC 200)處接收到退還物件,則輸出子系統325可產生又一組API呼叫以請求對退還物件的價格的退款。在一些實施例中,工作流程服務模組385可產生用於退款的所述組API呼叫且將其傳輸至用於與財務機構通信且最終釋放付款的支付管理系統(未描繪)。用於退款的API呼叫亦可提示外部資料源370更新關於請求退還的客戶的資料記錄。
再者,在步驟506處,輸出子系統325可產生通知(例如,文字訊息,應用程式內推播通知、電子郵件等)且將其傳輸至與請求退還的客戶相關聯的客戶裝置。可回應於用於退款的API呼叫的完成而傳輸此通知。在一些實施例中,客戶裝置可為最初在上文步驟501處傳輸退還請求呼叫的裝置。另外或替代地,客戶裝置可為使用客戶的登入憑證認證的不同裝置。
雖然API呼叫在不同系統、子系統以及模組的網路之間的交換可看起來複雜,但此類交換可允許不同功能單元(亦即,子系統或模組)專攻特定任務。此相較於管理退還的傳統程序可提高效率且減小錯誤率。在一些實施例中,不同任務的此分隔處置可實現每一子系統或模組的模組化實施,其亦可在子系統或模組中的任一者發生故障時改良靈活性,從而允許網路的其他部分獨自起作用。
另一方面,流線效率化程序可藉由忽略在常規程序中執行的步驟的一部分(諸如擷取及重新儲備退還的物件)來提高管理退還的速度。雖然常規程序可提高管理退還的效率及準確度,但API呼叫中的每一者回應於如上文所描述的每一退還請求呼叫而在不同子系統與模組之間交換會對系統、子系統以及模組的網路上施加負載。隨著退還請求呼叫的數目增加,負載(雖然其可能小)可快速地積累以抑制或壓倒網路。
舉例而言,隨著系統處理及追蹤退還請求呼叫,在一日時程內對於運送服務339c可進行每退還請求多於10個API呼叫。多於10個API呼叫中的每一者亦可在上文相對於圖1A所描述的其他網路化系統(例如,SAT系統101)內觸發一系列後續呼叫,藉此添加至網路負載。總之,步驟504可佔用經由程序500處理退還所耗費的大部分資源。
流線效率化程序針對退還請求呼叫的子集消除對此等API呼叫的需要,藉此減少網路負載。雖然藉由流線效率化程序實現的節省對於個別退還請求呼叫而言可為可忽略的,但在數十萬或數百萬個使用者及其請求之間實現的節省可累積至改良網路的可擴充性的顯著優勢。換言之,由經由流線效率化程序處理退還請求呼叫引起的網路資源減少可確保低延遲及最佳網路利用率,即使在使用者及其請求的數目以指數方式增加時亦如此。此等節省又可在維持及操作網路方面促成較低操作成本。
再者,流線效率化程序亦可在常規程序必需的實際工時及實體資源方面降低操作成本。舉例而言,在步驟504涉及自客戶擷取退還物件的情況下,工作者必須分派至客戶的地址,獲得
退還物件,且返回。若客戶不在家且必須再次分派工作者,則多次造訪亦可為必需的。在另一實例中,亦存在檢測及重新儲備退還物件的成本,若退還物件受損或必須根據環境法規安置,則其可進一步使常規程序複雜化。因此,流線效率化程序針對符合條件的退還請求的子集產生優於常規程序的技術及業務優勢兩者。
轉至由步驟501至步驟503、步驟507以及步驟508表示的流線效率化程序,所述程序可與常規程序共用步驟501至步驟503。在此等實施例中,所有退還請求呼叫可在其分成上文所描述的常規程序或下文的流線效率化程序之前經過步驟501及步驟502。
在步驟503處,工作流程服務模組385可分析退還請求呼叫以判定對於流線效率化程序的合格性。判定可基於儲存於規則管理模組351中的一組規則。在一些實施例中,規則可對應於退還請求呼叫落入的一或多個不同情境。下文描述例示性情境,且其他情境或其變型亦在所揭露實施例的範疇內。
在一些實施例中,規則中的一或多者可基於用於指示請求退還的原因的客戶指定程式碼而判定合格性。客戶指定程式碼可例如藉由客戶經由行動應用程式或網站提交退還請求而指定,且作為參數含於對應退還請求呼叫中。客戶指定程式碼可包含與不同情境相關聯的文字的預定文數字字串的任何集合。可能的情境可包括例如心理的改變、不正確物件、運輸中損壞、與物件描述不一致、遺失物件或類似者。
在一些實施例中,與遺失物件相關聯的客戶指定程式碼設定為適於流線效率化程序,此是由於若物件首先遺失,則客戶
實體上無法退還物件。在一些實施例中,工作流程服務模組385亦可將對應於待退還物件的物件識別符與適於流線效率化程序的物件的清單進行比較。替代地或另外,與不同情境相關聯的其他程式碼亦可設定為適於流線效率化程序,如藉由所要業務實踐所判定。
再者,工作流程服務模組385可查找與請求退還的客戶相關聯的記錄,以便驗證所述客戶是否可能已帶詐欺意圖地選擇關於遺失物件的理由碼。此判定可藉由詐欺偵測系統(未描繪)執行,所述詐欺偵測系統保持每一客戶的購買及退還活動的詳細記錄。詐欺偵測系統接著可運用機器學習演算法來分析記錄以識別可疑請求。舉例而言,記錄可追蹤客戶購買的物件的種類、其價格、退還的物件的子集、退還物件的價格及情況,或直接地或間接地含於客戶的退還請求中的任何其他資訊。
在步驟507處,一旦工作流程服務模組385判定退還請求呼叫適於流線效率化程序,則工作流程服務模組385可前進至如上文相對於步驟505所描述請求退款。然而,相比於退款請求是回應於接收到退還物件的步驟505,工作流程服務模組385可在判定對應退還請求呼叫適於流線效率化程序後產生用於退款請求的API呼叫。替代地或另外,工作流程服務模組385可基於退還的物件的價格來調節退款請求,其中價格低於或等於臨限值的物件在滿足對於流線效率化程序的合格性後被退款。可能需要藉由管理器或經由其他程序進一步審查價格高於臨限值的其他物件。在一些實施例中,工作流程服務模組385亦可通知運送服務339c以指定無物件將被退還,且如上文相對於步驟506所描述將通知
傳輸至客戶裝置。
返回至步驟503,另一組規則可基於退還請求呼叫中所含有的指示客戶已將物件運送至履行中心的資訊而判定合格性。舉例而言,資訊可包括上文所描述的客戶指定程式碼及/或用於退還運送的追蹤編號中的一者。在此類情況下,工作流程服務模組385可判定不需要如上文相對於步驟504所描述產生擷取請求,且判定對應退還請求呼叫適於流線效率化程序。工作流程服務模組385亦可產生及傳輸API呼叫以將與待由客戶退還的特定物件相關聯的記錄更新為含有關於客戶自身的退還運送的資訊。在一些實施例中,工作流程服務模組385可前進至以上文相對於步驟507及步驟508所描述的方式產生退款請求且將通知傳輸至客戶裝置。
在其他實施例中,又一組規則可基於退還物件的類型判定對於流線效率化程序的合格性。合格類型可包含例如在可轉銷性情況下將不到達履行中心的易腐性物件或購自外來供應商的物件,其可產生相對較高的退還運送成本。在一些實施例中,工作流程服務模組385可藉由將電子查詢發送至具有退還請求呼叫中所含有的物件識別符的所連接資料庫(例如,外部資料源370)及接收物件類型的參數來判定物件類型。
一旦工作流程服務模組385判定退還物件的類型匹配物件類型的預定集合中的一者,則工作流程服務模組385可進一步判定對應退還請求呼叫適於流線效率化程序。在一些實施例中,此可能是因為退還物件將很可能為不可轉銷或無利可圖的,且不需要如上文相對於步驟504所描述產生擷取請求。在一些實施例中,工作流程服務模組385可再次前進至以上文相對於步驟507
及步驟508所描述的方式產生退款請求且將通知傳輸至客戶裝置。
在一些實施例中,可更新客戶的請求適於流線效率化的退還的記錄以反映客戶符合退款條件而不需退還物件。此類記錄可稍後由詐欺偵測系統(未描繪)使用以分析並識別似乎符合另一退款而無退還的詐欺退還請求呼叫。
除了此等改良以外,亦可藉由監視多次嘗試之後保留於系統中的任何退還請求呼叫來進一步最佳化網路利用率。為此目的,圖6示出用於識別及消除未解決的退還請求呼叫的電腦化程序600的例示性流程圖。雖然將程序600描述為應用於退還處理,但此類使用僅為例示性的,且程序600可經修改以使其他程序適於減少網路負載及改良可擴充性。程序600可藉由以處理退還為任務的任何系統、系統的網路、伺服器或類似者執行,諸如上文相對於圖3A至圖3D以及圖4所描述的系統。下文參考圖3A至圖3D的子系統以及圖4的網路化環境400來描述程序600,但系統、子系統或模組的任何其他組態可用於執行程序600。
在步驟601處,工作流程啟動器381可將退還請求呼叫傳送至事件管理模組352,其又可在退還事件儲存區361中將退還請求呼叫訂用至監視佇列。監視佇列可為隨著添加及解決不同退還請求呼叫而在長度上增長及收縮的動態清單。監視佇列可經組態以追蹤在每一退還請求呼叫經由上文所描述的各種系統、子系統以及模組處理後的每一退還請求呼叫的結果,從而記錄所述每一退還請求呼叫是成功完成(例如,退還請求呼叫適於流線效率化程序且發出退款而無需擷取退還物件;退還請求呼叫為不合格的,但擷取退還物件且發出退款)抑或失效(例如,退還請求呼
叫不適於流線效率化程序且必須等待擷取退還物件;退還請求呼叫的處理中存在錯誤)。
在步驟602處,事件管理模組352可遍歷監視佇列中的退還請求呼叫且基於上文所論述的各種程序的結果而更新其狀態。舉例而言,可將監視佇列中的特定退還請求呼叫指示為「請求退還」、「擷取退還」、「拒絕退還」、「批准退還」、「完成退還」或類似者。所列舉的狀態僅為例示性的,且可視需要添加或移除其他狀態。在一些實施例中,事件管理模組352可定期遍歷監視佇列,針對監視佇列中其餘的每一退還請求呼叫在程序循環中重複步驟602、步驟604、步驟605以及步驟607。程序循環可視需要一日一次、一週一次、一小時一次或以任何預定間隔進行。
出於識別及消除未解決的退還請求的目的,程序600可將狀態劃分為兩個群組,第一群組包含已完成且不再需要任何動作的彼等,且第二群組包含待處理且需要一或多個其他動作的彼等。在一些實施例中,退還請求呼叫是否完成可取決於所有相關聯API呼叫(例如,退款請求或擷取請求)是否完成。
在一些實施例中,在步驟603處,事件管理模組352可關閉第一群組中的退還請求呼叫(亦即,成功完成),且將其自監視佇列移除。在一些實施例中,關閉退還請求呼叫可包括將其在監視佇列中的狀態更新為「完成退還」,且將其自監視佇列移除。事件管理模組352亦可出於記錄保持目的而將關閉的退還請求呼叫記錄於個別資料庫中。第二群組中的其他退還請求呼叫(諸如必須等待相關聯退款請求或擷取請求完成的彼等)可保留於監視佇列中以供進一步處理。
在步驟604處,事件管理模組352可識別第二群組中的指示為失效的退還請求呼叫的子集,所述失效可能指示所述退還請求呼叫的子集在經歷上文所描述的程序時遇到問題且必須在未來時間點再次嘗試。舉例而言,退款請求可能由於支付錯誤而被拒絕,或擷取請求可能由於客戶並未在規定的時間窗內退還物件而失效。
在一些實施例中,事件管理模組352可更新與每一失效退還請求呼叫相關聯的失效計數且在其將再次嘗試時進行記錄。更新可包含例如將失效計數的值增加一。在其他實施例中,事件管理模組352亦可查詢一或多個網路資料庫以驗證失效退還請求呼叫實際上在更新失效計數之前已失效(例如,相關聯擷取請求不成功且尚未擷取物件)。再者,事件管理模組352可經組態以基於來自網路化系統、子系統以及模組的日誌或報告而判定每一退還請求呼叫失效的原因,且僅在失效是由客戶的過失引起時更新失效計數。
記錄下一嘗試排程可包含指定將重新嘗試對應退還請求呼叫的特定時間及日期。另外或替代地,事件管理模組352可指定在將重新嘗試對應退還請求呼叫之前待經過的程序循環的數目。在一些實施例中,除非已經過嘗試排程,否則事件管理模組352可能不更新失效計數。
在步驟605處,事件管理模組352可檢查退還請求呼叫是否滿足指示退還請求呼叫可為永久的且為了節省資源而應自監視佇列移除的第一情況集合。在一些實施例中,第一情況集合可包括具有大於或等於第一臨限值的失效計數且不向客戶退回購買
價格。第一臨限值可為10、5、3或大於零的任何預定整數。第一臨限值可經由使用者輸入調整,且可反映網路化環境400在不隨著API呼叫過溢而停滯的情況下可支援的嘗試的數目。
在步驟606處,事件管理模組352可在退還請求呼叫滿足第一情況集合的情況下取消所述退還請求呼叫,且繼續檢查監視佇列中的下一退還請求呼叫的情況。在一些實施例中,取消退還請求呼叫可包括將其在監視佇列中的狀態更新為「取消退還」,自監視佇列移除退還請求呼叫,以及發送一組API呼叫至其他網路化系統以停止對先前針對退還請求呼叫而產生的任何相關聯API呼叫起作用。舉例而言,事件管理模組352可發送API呼叫至SAT系統101,以停止嘗試如經由先前產生的擷取請求所指示而自客戶擷取對應物件。
在一些實施例中,事件管理模組352亦可產生通知API呼叫且將其傳輸至對應客戶裝置,所述通知API呼叫為已取消退還請求且將不發出退款。由通知API呼叫產生的通知可包括推送至客戶裝置的應用程式內通知或其他形式的電子訊息,諸如電子郵件或如上文所論述的文字訊息。
在步驟607處,事件管理模組352可檢查退還請求呼叫是否滿足指示退還請求呼叫可為永久的且為了節省資源而應自監視佇列移除的第二情況集合。在一些實施例中,第二情況集合可包括具有大於或等於第一臨限值的失效計數且具有小於第二臨限值的相關聯解除成本。第二臨限值可為$10、$50或大於零的任何預定貨幣金額。第二臨限值可經由使用者輸入調整,且可反映為了節省資源而可沒收的金額。
在一些實施例中,解除退還請求呼叫的成本可指示在對應退還請求呼叫經批准且購買價格經退回而無需如同上文所論述的流線效率化程序中擷取退還物件的情況下將出現的損失的量。事件管理模組352可藉由發送API呼叫以向網路儲存庫(例如,儲存退還物件的購買價格及數量的儲存庫)查詢對應退還物件的價格來判定此成本。
在步驟608處,事件管理模組352可在退還請求呼叫滿足第二情況集合的情況下解除所述退還請求呼叫,且繼續檢查監視佇列中的下一退還請求呼叫的情況。在一些實施例中,解除退還請求呼叫可包括將其在監視佇列中的狀態更新為「批准退還」或「解除退還」,自監視佇列移除退還請求呼叫,以及發送另一組API呼叫至其他網路化系統以停止對先前針對退還請求呼叫而產生的任何相關聯API呼叫起作用。
舉例而言,事件管理模組352可發送API呼叫至SAT系統101,以停止嘗試如經由先前產生的擷取請求所指示而自客戶擷取對應物件。事件管理模組352亦可以上文相對於步驟507所論述的方式發送退款請求,使得可發出退款且解決退還請求,從而允許網路化環境400停止使用額外資源來處理退還請求。
在一些實施例中,事件管理模組352亦可產生通知API呼叫且將其傳輸至對應客戶裝置,所述通知API呼叫為已批准退還請求且將發出退款。由通知API呼叫產生的通知可包括推送至客戶裝置的應用程式內通知或其他形式的電子訊息,諸如電子郵件或如上文所論述的文字訊息。
在步驟607(或若滿足第二情況集合,則步驟608)之後,
事件管理模組352可繼續監視佇列中的下一退還請求呼叫直至其已遍歷監視佇列中的所有退還請求呼叫為止。此可結束一個程序循環,且事件管理模組352可暫停直至下一程序循環設定為在規定時間窗處開始為止。同時,事件管理模組352或工作流程服務模組385可根據步驟604處記錄的嘗試排程而產生及傳輸諸如退款請求或擷取請求的額外API呼叫,以解決其餘退還請求呼叫。事件管理模組352亦可繼續執行步驟601且在接收到新退還請求呼叫時自工作流程啟動器381訂用新退還請求呼叫。
在一些實施例中,事件管理模組352可經組態以經由內部前端系統105接收使用者輸入以手動地取消、解除或關閉退還請求呼叫。退還請求呼叫的此類手動操作可回應於一或多個業務需要(諸如客戶投訴或需要手動干預的其他罕見情況)而獨立於程序循環發生。
在一些實施例中,關閉、取消或解除退還請求呼叫(無論是經由程序600抑或經由上文所論述的手動干預)可導致對應更新API呼叫傳輸至其他網路化資料庫,使得諸如管理員及遞送工作者的內部使用者即時或接近即時地存取每一退還請求呼叫的狀態。舉例而言,若遞送工作者在對應退還請求呼叫經關閉、取消或解除時前往客戶的地址擷取退還物件,則遞送工作者可在他/她的行動裝置(例如,107A)上接收他/她不再需要自客戶擷取物件的通知此可藉由防止遞送工作者必須訪問客戶的地址而使得進一步節省資源(例如,工時)。
如上文所提及,雖然將程序600描述為應用於退還處理,但此類使用僅為例示性的,且程序600可經修改以使其他程序適
於減少網路負載及改良可擴充性。舉例而言,在高層級處,程序600可包括:將任何給定類型的請求訂用至監視佇列;定期遍歷監視佇列中的請求以解決所述請求;追蹤每一請求在無關閉的情況下已經歷的程序循環的數目;以及基於一或多個情況集合取消或解除請求。情況可基於各種因素,諸如程序循環的數目、解除或取消請求的成本、每一程序循環期間請求對網路或其他資源施加的負載,或類似者。
在另一實例中,程序600可經修改以集中於較小請求集區,如僅監視擷取請求。在此實例中,監視佇列可經組態以在新擷取請求於上文步驟504處產生時訂用所述新擷取請求。
此處,每一擷取請求的狀態可取決於遞送工作者的活動。事件管理模組352可基於藉由行動裝置107A至行動裝置107C傳輸的報告或日誌而更新每一擷取請求的狀態,從而指示遞送工作者成功地抑或未成功地擷取物件。事件管理模組352可回應於失敗的擷取嘗試而更新失效計數,且回應於成功擷取而關閉擷取請求。在其他實施例中,事件管理模組352可分析來自行動裝置107A至行動裝置107C的報告或日誌以判定擷取程序失效的原因,且僅在失效是由客戶的過失引起的情況下更新失效計數。
在一些實施例中,事件管理模組352可甚至在其遍歷監視佇列時觸發工作流程服務模組385以發起實際擷取程序(例如,分派遞送工作者以擷取物件)。在此類實施例中,更新下一嘗試排程可包括設定將分派遞送工作者的下一時間。事件管理模組352亦可經由在客戶的裝置上顯示新嘗試排程的通知API呼叫來向對應客戶傳達新嘗試排程。
此外,事件管理模組352可在失效計數超過如上文所論述的臨限值時產生審查API呼叫。審查API呼叫可觸發檢查各種預定情況以判定對應擷取請求是應取消抑或解除。
儘管已參考本揭露的特定實施例繪示及描述本揭露,但應理解,可在不修改的情況下在其他環境中實踐本揭露。已出於示出的目的呈現前述描述。前述描述並不詳盡且不限於所揭露的精確形式或實施例。修改及調適對所屬技術領域中具有通常知識者將自本說明書的考量及所揭露實施例的實踐顯而易見。另外,儘管將所揭露實施例的態樣描述為儲存於記憶體中,但所屬技術領域中具有通常知識者應瞭解,此等態樣亦可儲存於其他類型的電腦可讀媒體上,諸如次級儲存裝置,例如硬碟或CD ROM,或其他形式的RAM或ROM、USB媒體、DVD、藍光,或其他光碟機媒體。
基於書面描述及所揭露方法的電腦程式在有經驗開發者的技能內。各種程式或程式模組可使用所屬技術領域中具有通常知識者已知的技術中的任一者來創建或可結合現有軟體來設計。舉例而言,程式區段或程式模組可以或藉助於.Net框架(.Net Framework)、.Net緊密框架(.Net Compact Framework)(及相關語言,諸如視覺培基(Visual Basic)、C等)、爪哇(Java)、C++、目標-C(Objective-C)、HTML、HTML/AJAX組合、XML或包含爪哇小程式的HTML來設計。
此外,儘管本文中已描述示出性實施例,但所屬技術領域中具有通常知識者將基於本揭露瞭解具有等效元件、修改、省略、(例如,各種實施例中的態樣的)組合、調適及/或更改的任何
及所有實施例的範圍。申請專利範圍中的限制應基於申請專利範圍中所採用的語言來廣泛地解釋,且不限於本說明書中所描述或在本申請案的審查期間的實例。實例應視為非排他性的。另外,所揭露方法的步驟可以包含藉由對步驟重新排序及/或插入或刪除步驟的任何方式修改。因此,希望僅將本說明書及實例視為示出性的,其中藉由以下申請專利範圍及其等效物的完整範圍指示真實範圍及精神。
600:程序
601、602、603、604、605、606、607、608:步驟
Claims (20)
- 一種消除永久應用程式設計介面(API)呼叫以使資源耗用減至最少的電腦實行系統,所述系統包括:至少一個非暫時性電腦可讀媒體,經組態以儲存指令;以及至少一個處理器,經組態以執行所述指令以執行包括以下的操作:監視一或多個應用程式設計介面呼叫的動態清單,其中所述動態清單經組態以在長度上發生變化;在二或多個程序循環中遍歷所述動態清單中的所述應用程式設計介面呼叫,其中經由超過第一臨限值的程序循環的數目保留於所述動態清單中的所述一或多個應用程式設計介面呼叫的子集被識別;查詢一或多個網路資料庫以驗證所述一或多個應用程式設計介面呼叫的所述子集尚未經解決;判定解除所述一或多個應用程式設計介面呼叫的所述子集的成本;利用小於第二臨限值的所判定的所述成本解除所述一或多個應用程式設計介面呼叫;以及將通知應用程式設計介面呼叫傳輸至對應於經解除的所述一或多個應用程式設計介面呼叫的一或多個使用者裝置。
- 如請求項1所述的電腦實行系統,其中所述一或多個應用程式設計介面呼叫與退還一或多個物件的請求相關聯。
- 如請求項2所述的電腦實行系統,其中判定解除所述一或多個應用程式設計介面呼叫的所述子集的所述成本包括針 對所述一或多個物件的價格查詢網路儲存庫。
- 如請求項2所述的電腦實行系統,其中所述操作更包括:藉由產生用於擷取所述一或多個物件的一或多個擷取應用程式設計介面呼叫來解決所述一或多個應用程式設計介面呼叫。
- 如請求項4所述的電腦實行系統,其中在所述一或多個擷取應用程式設計介面呼叫完成時,自所述動態清單移除所述一或多個應用程式設計介面呼叫。
- 如請求項2所述的電腦實行系統,其中查詢所述一或多個網路資料庫包括驗證與所述一或多個應用程式設計介面呼叫的所述子集相關聯的所述一或多個物件並未退還。
- 如請求項1所述的電腦實行系統,其中在與所述一或多個應用程式設計介面呼叫相關聯的一或多個任務完成時,解決所述一或多個應用程式設計介面呼叫。
- 如請求項1所述的電腦實行系統,其中解除所述一或多個應用程式設計介面呼叫包括自所述動態清單移除所述一或多個應用程式設計介面呼叫。
- 如請求項1所述的電腦實行系統,其中所述第一臨限值為小於10的正整數。
- 如請求項1所述的電腦實行系統,其中所述第二臨限值為貨幣金額。
- 一種消除永久應用程式設計介面(API)呼叫以使資源耗用減至最少的電腦實行方法,所述方法包括:監視一或多個應用程式設計介面呼叫的動態清單,其中所述 動態清單經組態以在長度上發生變化;在二或多個程序循環中遍歷所述動態清單中的所述應用程式設計介面呼叫,其中經由超過第一臨限值的程序循環的數目保留於所述動態清單中的所述一或多個應用程式設計介面呼叫的子集被識別;查詢一或多個網路資料庫以驗證所述一或多個應用程式設計介面呼叫的所述子集尚未經解決;判定解除所述一或多個應用程式設計介面呼叫的所述子集的成本;利用小於第二臨限值的所判定的所述成本解除所述一或多個應用程式設計介面呼叫;以及將通知應用程式設計介面呼叫傳輸至對應於經解除的所述一或多個應用程式設計介面呼叫的一或多個使用者裝置。
- 如請求項11所述的電腦實行方法,其中所述一或多個應用程式設計介面呼叫與退還一或多個物件的請求相關聯。
- 如請求項12所述的電腦實行方法,其中判定解除所述一或多個應用程式設計介面呼叫的所述子集的所述成本包括針對所述一或多個物件的價格查詢網路儲存庫。
- 如請求項12所述的電腦實行方法,更包括:藉由產生用於擷取所述一或多個物件的一或多個擷取應用程式設計介面呼叫來解決所述一或多個應用程式設計介面呼叫。
- 如請求項14所述的電腦實行方法,其中在所述一或多個擷取應用程式設計介面呼叫完成時,自所述動態清單移除所述一或多個應用程式設計介面呼叫。
- 如請求項12所述的電腦實行方法,其中查詢所述一或多個網路資料庫包括驗證與所述一或多個應用程式設計介面呼叫的所述子集相關聯的所述一或多個物件並未退還。
- 如請求項11所述的電腦實行方法,其中在與所述一或多個應用程式設計介面呼叫相關聯的一或多個任務完成時,解決所述一或多個應用程式設計介面呼叫。
- 如請求項11所述的電腦實行方法,其中解除所述一或多個應用程式設計介面呼叫包括自所述動態清單移除所述一或多個應用程式設計介面呼叫。
- 如請求項11所述的電腦實行方法,其中所述第一臨限值為小於10的正整數。
- 一種消除未解決的應用程式設計介面(API)呼叫的電腦實行系統,所述系統包括:至少一個非暫時性電腦可讀媒體,經組態以儲存指令;以及至少一個處理器,經組態以執行所述指令以執行包括以下的操作:接收第一應用程式設計介面呼叫以擷取一或多個物件;將所述第一應用程式設計介面呼叫添加至一或多個應用程式設計介面呼叫的動態清單;藉由發起用於擷取所述一或多個物件的擷取程序來反覆地遍歷所述動態清單;接收所述擷取程序不成功的多個指示;在所述多個指示的數目超過臨限值時觸發審查應用程式設計介面呼叫;以及 回應於所述審查應用程式設計介面呼叫的結果而自所述動態清單移除所述第一應用程式設計介面呼叫。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/128,941 US11184454B1 (en) | 2020-12-21 | 2020-12-21 | Systems and methods for managing perpetual data requests to conserve resources |
US17/128,941 | 2020-12-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202230128A TW202230128A (zh) | 2022-08-01 |
TWI783478B true TWI783478B (zh) | 2022-11-11 |
Family
ID=78703834
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111138935A TW202305592A (zh) | 2020-12-21 | 2021-05-10 | 消除永久應用程式設計介面呼叫的電腦實行系統及電腦實行方法、以及消除未解決的應用程式設計介面呼叫的電腦實行系統 |
TW110116757A TWI783478B (zh) | 2020-12-21 | 2021-05-10 | 消除永久應用程式設計介面呼叫的電腦實行系統及電腦實行方法、以及消除未解決的應用程式設計介面呼叫的電腦實行系統 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111138935A TW202305592A (zh) | 2020-12-21 | 2021-05-10 | 消除永久應用程式設計介面呼叫的電腦實行系統及電腦實行方法、以及消除未解決的應用程式設計介面呼叫的電腦實行系統 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11184454B1 (zh) |
KR (2) | KR102516606B1 (zh) |
TW (2) | TW202305592A (zh) |
WO (1) | WO2022136929A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117221374B (zh) * | 2023-09-11 | 2024-05-24 | 广州Tcl互联网小额贷款有限公司 | 一种基于api网关的api调用方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080141286A1 (en) * | 2004-02-20 | 2008-06-12 | Microsoft Corporation | System and method for proactive computer virus protection |
TW201403363A (zh) * | 2012-07-09 | 2014-01-16 | Facebook Inc | 使用撰作介面取得結構化使用者資料的方法 |
US20160379136A1 (en) * | 2015-06-26 | 2016-12-29 | Qualcomm Incorporated | Methods and Systems for Automatic Extraction of Behavioral Features from Mobile Applications |
US9900264B1 (en) * | 2017-01-09 | 2018-02-20 | Red Hat, Inc. | Adaptive balancing of application programming interface calls of cloud tenants |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6785893B2 (en) * | 2000-11-30 | 2004-08-31 | Microsoft Corporation | Operating system event tracker having separate storage for interrupt and non-interrupt events and flushing the third memory when timeout and memory full occur |
US8201243B2 (en) | 2006-04-20 | 2012-06-12 | Webroot Inc. | Backwards researching activity indicative of pestware |
US20080147514A1 (en) * | 2006-12-18 | 2008-06-19 | Clikit Technologies, Inc. | Instant or text message ordering and purchasing system |
US20140012693A1 (en) | 2012-07-09 | 2014-01-09 | Neelakantan Sundaresan | System and method for providing listing assistance |
US9003543B2 (en) * | 2010-12-21 | 2015-04-07 | Microsoft Technology Licensing, Llc | Providing a security boundary |
US10324952B1 (en) * | 2013-03-04 | 2019-06-18 | Google Llc | Hosted database |
US9665410B2 (en) | 2013-03-12 | 2017-05-30 | Google Inc. | Processing of application programming interface traffic |
US9729506B2 (en) | 2014-08-22 | 2017-08-08 | Shape Security, Inc. | Application programming interface wall |
US20160092897A1 (en) * | 2014-09-30 | 2016-03-31 | International Business Machines Corporation | Pricing an api in an api marketplace |
US10375054B2 (en) * | 2015-10-06 | 2019-08-06 | Netflix, Inc. | Securing user-accessed applications in a distributed computing environment |
US9825956B2 (en) * | 2015-10-06 | 2017-11-21 | Netflix, Inc. | Systems and methods for access permission revocation and reinstatement |
US20170193117A1 (en) | 2015-12-31 | 2017-07-06 | Minh Reigen | System and Methods for Displaying a List of Content Items from Web Services by an Embeddable Web Application |
US20170337094A1 (en) * | 2016-04-08 | 2017-11-23 | Efilecabinet, Inc. | Systems, methods, and devices for integrated program interfaces and operation |
US11496588B2 (en) * | 2016-06-21 | 2022-11-08 | Micro Focus Llc | Clustering layers in multi-node clusters |
US10915900B1 (en) * | 2017-06-26 | 2021-02-09 | Square, Inc. | Interchange action delay based on refund prediction |
JP6760899B2 (ja) * | 2017-08-04 | 2020-09-23 | 日本電信電話株式会社 | ネットワークサービス管理装置、ネットワークサービス管理方法、および、ネットワークサービス管理プログラム |
US10452843B2 (en) * | 2018-01-11 | 2019-10-22 | ArecaBay, Inc. | Self-adaptive application programming interface level security monitoring |
US10756911B2 (en) * | 2018-05-10 | 2020-08-25 | International Business Machines Corporation | Cost estimation on a cloud-computing platform |
US10977660B2 (en) * | 2019-01-31 | 2021-04-13 | Walmart Apollo, Llc | System and method for automatically processing online refund request |
US11516253B1 (en) * | 2019-03-28 | 2022-11-29 | Amazon Technologies, Inc. | Identity-aware filtering proxy for virtual networks |
KR20200129412A (ko) * | 2019-05-08 | 2020-11-18 | 아나나스 유한책임회사 | 판매자를 위한 온라인 쇼핑몰 통합관리 시스템 및 방법 |
US11579926B2 (en) * | 2020-02-10 | 2023-02-14 | EMC IP Holding Company LLC | Processing rest API requests based on resource usage satisfying predetermined limits |
US10956244B1 (en) * | 2020-08-26 | 2021-03-23 | Coupang Corp. | Systems and methods for automated application programming interface evaluation and migration |
US11922478B2 (en) * | 2020-10-30 | 2024-03-05 | Ncr Voyix Corporation | Alternative item booster service |
-
2020
- 2020-12-21 US US17/128,941 patent/US11184454B1/en active Active
-
2021
- 2021-01-05 KR KR1020217020354A patent/KR102516606B1/ko active IP Right Grant
- 2021-01-05 WO PCT/IB2021/050046 patent/WO2022136929A1/en active Application Filing
- 2021-01-05 KR KR1020237010644A patent/KR20230113526A/ko unknown
- 2021-05-10 TW TW111138935A patent/TW202305592A/zh unknown
- 2021-05-10 TW TW110116757A patent/TWI783478B/zh active
- 2021-10-21 US US17/506,764 patent/US11665257B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080141286A1 (en) * | 2004-02-20 | 2008-06-12 | Microsoft Corporation | System and method for proactive computer virus protection |
TW201403363A (zh) * | 2012-07-09 | 2014-01-16 | Facebook Inc | 使用撰作介面取得結構化使用者資料的方法 |
US20160379136A1 (en) * | 2015-06-26 | 2016-12-29 | Qualcomm Incorporated | Methods and Systems for Automatic Extraction of Behavioral Features from Mobile Applications |
US9900264B1 (en) * | 2017-01-09 | 2018-02-20 | Red Hat, Inc. | Adaptive balancing of application programming interface calls of cloud tenants |
Also Published As
Publication number | Publication date |
---|---|
TW202305592A (zh) | 2023-02-01 |
US11184454B1 (en) | 2021-11-23 |
KR20230113526A (ko) | 2023-07-31 |
KR20220093039A (ko) | 2022-07-05 |
US11665257B2 (en) | 2023-05-30 |
TW202230128A (zh) | 2022-08-01 |
US20220201092A1 (en) | 2022-06-23 |
WO2022136929A1 (en) | 2022-06-30 |
KR102516606B1 (ko) | 2023-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102523033B1 (ko) | 프로세스 능률화와 확장성 향상을 위해 선택 요청을 쪼개기 위한 시스템 및 방법 | |
US11978017B2 (en) | Systems and methods for detecting errors of asynchronously enqueued requests | |
KR20230075380A (ko) | 반환 사기 감지 및 예방을 위한 시스템 및 방법 | |
TWI783478B (zh) | 消除永久應用程式設計介面呼叫的電腦實行系統及電腦實行方法、以及消除未解決的應用程式設計介面呼叫的電腦實行系統 | |
TWI777543B (zh) | 用於工作流程編輯的電腦實施系統以及方法 | |
TWI833076B (zh) | 用於在不接收物件的情況下處理退貨以最小化網路負載的電腦實行系統以及方法 | |
TWI816112B (zh) | 用於儲存與一系列事件相關的資料的電腦實行資料庫系統以及電腦實行方法 | |
TWI839610B (zh) | 偵測與避免退貨詐欺之系統以及方法 | |
KR102676143B1 (ko) | 이벤트 저장 관리를 위한 시스템 및 방법 | |
TW202418168A (zh) | 用於在不接收物件的情況下處理退貨以最小化網路負載的電腦實行系統以及方法 | |
KR20240096896A (ko) | 이벤트 저장 관리를 위한 시스템 및 방법 |