TW202242647A - 降低硬碟使用與網路延遲之電腦實施的系統以及電腦實施的方法 - Google Patents

降低硬碟使用與網路延遲之電腦實施的系統以及電腦實施的方法 Download PDF

Info

Publication number
TW202242647A
TW202242647A TW111108557A TW111108557A TW202242647A TW 202242647 A TW202242647 A TW 202242647A TW 111108557 A TW111108557 A TW 111108557A TW 111108557 A TW111108557 A TW 111108557A TW 202242647 A TW202242647 A TW 202242647A
Authority
TW
Taiwan
Prior art keywords
data
customer
information
database
string
Prior art date
Application number
TW111108557A
Other languages
English (en)
Inventor
明載 元
戰 陳
張學菲
Original Assignee
南韓商韓領有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南韓商韓領有限公司 filed Critical 南韓商韓領有限公司
Publication of TW202242647A publication Critical patent/TW202242647A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24547Optimisations to support specific applications; Extensibility of optimisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

所揭露的實施例提供降低硬碟儲存與網路延遲之系統以及方法。一種降低硬碟儲存與網路延遲之方法包括:接收客戶的客戶資料以儲存於資料庫中;調節客戶資料;以及將經調節的客戶資料格式化成分別具有第一資料類型及第二資料類型的第一資料串及第二資料串。所述方法更包括:將第一資料串的符號位元翻轉;藉由使用一個位元組表示第一串的每兩個數位而將符號位元翻轉的第一資料串以及第二資料串編碼成串列化資料;以及若接收到的客戶資料由負值表示,則將串列化資料的所有位元翻轉。所述方法更包括:若為負,則將串列化資料儲存於資料庫中;接收對客戶資料的請求;將欲自資料庫擷取的串列化資料解串;以及自資料庫擷取經解串資料。

Description

降低硬碟使用與網路延遲之系統以及方法
本揭露一般而言是有關於降低硬碟使用與網路延遲之電腦化系統以及方法。具體而言,本揭露的實施例是有關於創造性的及非常規的系統,所述創造性的及非常規的系統是有關於藉由將資料串列化且以可變長度儲存資料來降低自儲存資料庫擷取資料的硬碟使用及延遲。
資料庫及硬碟常常包含大量資料來儲存客戶資訊。隨著與客戶相關的資訊量增加,需要創建一種過程來更快地儲存及擷取客戶資料,而不使用不必要的儲存空間。
先前技術中的資料儲存及擷取包括使用前導零填充資料。使用前導零填充資料的此方法會導致膨脹的資料大小。膨脹的資料大小會導致硬碟使用及網路延遲二者的提高。此外,單個資料搜尋是低效的,此乃因所述搜尋要求針對每一資料搜尋迭代遍歷整個數組。此外,由於用於表示資料的位元數目被最大資料長度固定,因此資料會失去準確性。由於所得二進制編碼的固定長度,因此無法以高精度表達大數。
因此,需要藉由以更高效的方式將資料串列化來降低硬碟使用與網路延遲的改善的方法以及系統。
本揭露的一個態樣是有關於一種降低硬碟使用與網路延遲之系統。所述電腦實施的系統可包括儲存指令的一或多個記憶體裝置。所述電腦實施的系統亦可包括被配置成執行所述指令以實行操作的一或多個處理器。所述操作可包括:接收客戶的客戶資料以儲存於資料庫中;調節所述客戶資料;將經調節的所述客戶資料格式化成分別具有第一資料類型及第二資料類型的第一資料串及第二資料串;以及將所述第一資料串的符號位元翻轉。所述操作可更包括:藉由使用一個位元組表示所述第一串的每兩個數位而將符號位元翻轉的所述第一資料串以及所述第二資料串編碼成串列化資料;若接收到的所述客戶資料由負值表示,則將所述串列化資料的所有位元翻轉;以及在若接收到的所述客戶資料由負值表示時進行翻轉之後,將所述串列化資料儲存於所述資料庫中。所述操作可更包括:接收對所述客戶資料的請求;將欲自所述資料庫擷取的串列化資料解串;以及自所述資料庫擷取所述經解串資料。
本揭露的另一態樣是有關於一種降低硬碟使用與網路延遲之方法。所述方法可包括:接收客戶的客戶資料以儲存於資料庫中;調節所述客戶資料;將經調節的所述客戶資料格式化成分別具有第一資料類型及第二資料類型的第一資料串及第二資料串;以及將所述第一資料串的符號位元翻轉。所述方法可更包括:藉由使用一個位元組表示所述第一串的每兩個數位而將符號位元翻轉的所述第一資料串以及所述第二資料串編碼成串列化資料;若接收到的所述客戶資料由負值表示,則將所述串列化資料的所有位元翻轉;以及在若接收到的所述客戶資料由負值表示時進行翻轉之後,將所述串列化資料儲存於所述資料庫中。所述方法可更包括:接收對所述客戶資料的請求;將欲自所述資料庫擷取的串列化資料解串;以及自所述資料庫擷取所述經解串資料。
本揭露的再一態樣是有關於一種降低硬碟使用與網路延遲之電腦實施的系統。所述電腦實施的系統可包括儲存指令的資料庫及一或多個記憶體裝置。所述電腦實施的系統亦可包括被配置成執行所述指令以實行操作的一或多個處理器。所述操作可包括:接收客戶的客戶資料以儲存於資料庫中;調節所述客戶資料;將經調節的所述客戶資料格式化成分別具有第一資料類型及第二資料類型的第一資料串及第二資料串;以及將所述第一資料串的符號位元翻轉。所述操作可更包括:藉由使用一個位元組表示所述第一串的每兩個數位而將符號位元翻轉的所述第一資料串以及所述第二資料串編碼成串列化資料;若接收到的所述客戶資料由負值表示,則將所述串列化資料的所有位元翻轉;以及在若接收到的所述客戶資料由負值表示時進行翻轉之後,將所述串列化資料儲存於所述資料庫中。所述操作可更包括:接收對所述客戶資料的請求;將欲自所述資料庫擷取的串列化資料解串;以及自所述資料庫擷取所述經解串資料。
本文中亦論述其他系統、方法及電腦可讀取媒體。
以下詳細說明參照附圖。在圖式及以下說明中盡可能使用相同的參考編號來指代相同或相似的部件。儘管本文中闡述了若干例示性實施例,然而可具有各種修改、改編及其他實施方案。舉例而言,可對圖式中示出的組件及步驟進行替換、添加或修改,且可藉由對所揭露的方法的步驟進行替換、重新排序、移除或添加來修改本文中闡述的例示性方法。據以,以下詳細說明並非僅限於所揭露的實施例及實例。相反,本發明的正確範圍由隨附的專利申請範圍來界定。
本揭露的實施例是有關於被配置用於降低硬碟使用與網路延遲之系統以及方法。
參照圖1A,圖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、倉庫管理系統(warehouse management system,WMS)119、行動裝置119A、119B及119C(被繪示為位於履行中心(FC)200內部)、第三方履行(3 rdparty fulfillment,3PL)系統121A、121B及121C、履行中心授權系統(fulfillment center authorization system,FC Auth)123及勞資管理系統(labor management system,LMS)125。
在一些實施例中,SAT系統101可被實施為監控訂單狀態及交付狀態的電腦系統。舉例而言,SAT系統101可判斷訂單是否超過其承諾交付日期(Promised Delivery Date,PDD),且可採取包括發起新的訂單、再裝運未交付訂單中的物項、取消未交付訂單、發起與訂購顧客的聯繫等在內的適當行動。SAT系統101亦可監控包括輸出(例如在特定時間段期間裝運的包裝的數目)及輸入(例如被接收用於裝運的空紙盒的數目)在內的其他資料。SAT系統101亦可充當系統100中不同裝置之間的閘道,使得能夠在例如外部前端系統103及FO系統113等裝置之間達成通訊(例如,使用儲存及轉送(store-and-forward)或其他技術)。
在一些實施例中,外部前端系統103可被實施為使得外部使用者能夠與系統100中的一或多個系統交互的電腦系統。舉例而言,在其中系統100能夠呈現系統以使得使用者能夠對物項下訂單的實施例中,外部前端系統103可被實施為接收搜尋請求、呈現物項頁面及懇求支付資訊的網站伺服器。舉例而言,外部前端系統103可被實施為運行例如阿帕奇超文件傳輸協定(Hypertext Transfer Protocol,HTTP)伺服器、微軟網際網路資訊服務(Internet Information Services,IIS)、NGINX等軟體的一或多個電腦。在其他實施例中,外部前端系統103可運行客製網站伺服器軟體,客製網站伺服器軟體被設計成接收及處理來自外部裝置(例如,行動裝置102A或電腦102B)的請求,基於該些請求自資料庫及其他資料儲存器獲取資訊,且基於所獲取的資訊提供對所接收請求的響應。
在一些實施例中,外部前端系統103可包括網站快取系統(web caching system)、資料庫、搜尋系統或支付系統中的一或多者。在一個態樣中,外部前端系統103可包括該些系統中的一或多者,而在另一態樣中,外部前端系統103可包括連接至該些系統中的一或多者的介面(例如,伺服器至伺服器、資料庫至資料庫或其他網路連接)。
由圖1B、圖1C、圖1D及圖1E示出的一組例示性步驟將有助於闡述外部前端系統103的一些操作。外部前端系統103可自系統100中的系統或裝置接收資訊,以供呈現及/或顯示。舉例而言,外部前端系統103可代管或提供一或多個網頁,包括搜尋結果頁面(SRP)(例如,圖1B)、單一細節頁面(SDP)(例如,圖1C)、購物車頁面(例如,圖1D)或訂單頁面(例如,圖1E)。使用者裝置(例如,使用行動裝置102A或電腦102B)可導航至外部前端系統103,且藉由在搜尋框中輸入資訊來請求搜尋。外部前端系統103可自系統100中的一或多個系統請求資訊。舉例而言,外部前端系統103可自FO系統113請求滿足搜尋請求的資訊。外部前端系統103亦可請求及接收(自FO系統113)搜尋結果中所包括的每種產品的承諾交付日期或「PDD」。在一些實施例中,PDD可表示對以下的估計:容納產品的包裝將何時到達使用者所期望的位置,或者若在特定時間段(例如在一天結束(午後11:59)之前)內訂購則產品被承諾交付至使用者所期望的位置的日期。(以下參照FO系統113進一步論述PDD。)
外部前端系統103可基於所述資訊準備SRP(例如,圖1B)。SRP可包括滿足搜尋請求的資訊。舉例而言,此可包括滿足搜尋請求的產品的圖片。SRP亦可包括每種產品的相應價格,或者與每種產品的增強交付選項、PDD、重量、大小、優惠、折扣等相關的資訊。外部前端系統103可向發出請求的使用者裝置發送SRP(例如,經由網路)。
接著使用者裝置可例如藉由點擊或輕敲使用者介面(或使用另一輸入裝置)以選擇在SRP上表現的產品而自SRP選擇產品。使用者裝置可製定對所選擇產品的資訊的請求,且將其發送至外部前端系統103。作為響應,外部前端系統103可請求與所選擇產品相關的資訊。舉例而言,所述資訊可包括除在相應的SRP上針對產品呈現的資訊之外的附加資訊。此附加資訊可包括例如儲架壽命(shelf life)、原產國、重量、大小、包裝中物項的數目、操作說明(handling instructions)或關於產品的其他資訊。所述資訊亦可包括對相似產品的建議(例如,基於購買此產品及至少一種其他產品的顧客的巨量資料及/或機器學習分析)、對常問問題的回答、來自顧客的評論、製造商資訊、圖片等。
外部前端系統103可基於所接收的產品資訊來準備單一細節頁面(SDP)(例如,圖1C)。SDP亦可包括例如「立即購買(Buy Now)」按鈕、「添加至購物車(Add to Cart)」按鈕、量欄(quantity field)、物項圖片等其他交互式元素。SDP可更包括提供所述產品的賣方的列表。所述列表可基於每一賣方提供的價格來排序,使得提出以最低價格售賣產品的賣方可被列於頂部。所述列表亦可基於賣方排名來排序,使得排名最高的賣方可被列於頂部。賣方排名可基於包括例如賣方滿足所承諾PDD的過往追蹤記錄在內的多種因素來製定。外部前端系統103可將SDP交付至發出請求的使用者裝置(例如,經由網路)。
發出請求的使用者裝置可接收列出產品資訊的SDP。在接收到SDP後,使用者裝置接著可與SDP交互。舉例而言,發出請求的使用者裝置的使用者可點擊SDP上的「放入購物車中」按鈕或以其他方式與SDP上的「放入購物車中」按鈕交互。此會將產品添加至與使用者相關聯的購物車。使用者裝置可向外部前端系統103發射此種將產品添加至購物車的請求。
外部前端系統103可產生購物車頁面(例如,圖1D)。在一些實施例中,購物車頁面列出已被使用者添加至虛擬「購物車」的產品。使用者裝置可藉由點擊SRP、SDP或其他頁面上的圖標或以其他方式與SRP、SDP或其他頁面上的圖標交互來請求購物車頁面。在一些實施例中,購物車頁面可列出已被使用者添加至購物車的所有產品,以及關於購物車中的產品的資訊,例如每種產品的數量、每種產品的單價、每種產品的基於相關聯數量的價格、關於PDD的資訊、交付方法、裝運成本、用於修改購物車中的產品的使用者介面元素(例如,數量的刪除或修改)、用於訂購其他產品或設定產品的定期交付的選項、用於設定利息支付的選項、用於繼續採購的使用者介面元素等。使用者裝置處的使用者可點擊使用者介面元素(例如,讀為「立即購買」的按鈕)或以其他方式與使用者介面元素(例如,讀為「立即購買」的按鈕)交互,以發起對購物車中的產品的採購。在這樣做時,使用者裝置可向外部前端系統103發射此種發起採購的請求。
外部前端系統103可因應於接收到發起採購的請求而產生訂單頁面(例如,圖1E)。在一些實施例中,訂單頁面重新列出來自購物車的物項,且請求輸入支付及裝運資訊。舉例而言,訂單頁面可包括請求關於購物車中物項的採購者的資訊(例如,姓名、位址、電子郵件位址、電話號碼)、關於接收方的資訊(例如,姓名、位址、電話號碼、交付資訊)、裝運資訊(例如,交付及/或收取的速度/方法)、支付資訊(例如,信用卡、銀行轉帳、支票、賒帳(stored credit))、請求現金收據(例如,出於稅務目的)的使用者介面元素等的部分。外部前端系統103可向使用者裝置發送訂單頁面。
使用者裝置可在訂單頁面上輸入資訊,且點擊向外部前端系統103發送所述資訊的使用者介面元素或以其他方式與向外部前端系統103發送所述資訊的使用者介面元素交互。外部前端系統103可自使用者介面元素將資訊發送至系統100中的不同系統,以使得能夠用購物車中的產品創建及處理新的訂單。
在一些實施例中,外部前端系統103可更被配置成使得賣方能夠發射及接收與訂單相關的資訊。
在一些實施例中,內部前端系統105可被實施為使得內部使用者(例如,擁有、營運或租賃系統100的組織的員工)能夠與系統100中的一或多個系統交互的電腦系統。舉例而言,在其中系統101能夠呈現系統以使得使用者能夠對物項下訂單的實施例中,內部前端系統105可被實施為網站伺服器,網站伺服器使得內部使用者能夠查看關於訂單的診斷及統計資訊、修改物項資訊或者查核與訂單相關的統計量。舉例而言,內部前端系統105可被實施為運行例如阿帕奇HTTP伺服器、微軟網際網路資訊服務(IIS)、NGINX等軟體的一或多個電腦。在其他實施例中,內部前端系統105可運行客製網站伺服器軟體,客製網站伺服器軟體被設計成接收及處理來自繪示於系統100中的系統或裝置(以及未繪示的其他裝置)的請求,基於該些請求自資料庫及其他資料儲存器獲取資訊,且基於所獲取的資訊提供對所接收請求的響應。
在一些實施例中,內部前端系統105可包括網站快取系統、資料庫、搜尋系統、支付系統、分析系統、訂單監控系統等中的一或多者。在一個態樣中,內部前端系統105可包括該些系統中的一或多者,而在另一態樣中,內部前端系統105可包括連接至該些系統中的一或多者的介面(例如,伺服器至伺服器、資料庫至資料庫或其他網路連接)。
在一些實施例中,運輸系統107可被實施為使得能夠在系統100中的系統或裝置與行動裝置107A至107C之間達成通訊的電腦系統。在一些實施例中,運輸系統107可自一或多個行動裝置107A至107C(例如,行動電話、智慧型電話、個人數位助理(personal digital assistant,PDA)等)接收資訊。舉例而言,在一些實施例中,行動裝置107A至107C可包括由交付工作者操作的裝置。交付工作者(其可為永久的、臨時的或輪班的員工)可利用行動裝置107A至107C來達成對容納由使用者訂購的產品的包裝的交付。舉例而言,為交付包裝,交付工作者可在行動裝置上接收指示交付哪一包裝以及在何處交付所述包裝的通知。在到達交付位置時,交付工作者可使用行動裝置來定位包裝(例如,在卡車的後部或包裝的板條箱中)、掃描或以其他方式捕獲與包裝上的辨識符(例如,條形碼、影像、正文字串、射頻辨識(radio frequency identification,RFID)標籤等)相關聯的資料以及交付包裝(例如,藉由將包裝留在前門、將其留給保全警衛、將其交給接收方等)。在一些實施例中,交付工作者可使用行動裝置捕獲包裝的照片及/或可使用行動裝置獲得簽名。行動裝置可向運輸系統107發送包括關於交付的資訊在內的資訊,所述關於交付的資訊包括例如時間、日期、全球定位系統(Global Positioning System,GPS)位置、照片、與交付工作者相關聯的辨識符、與行動裝置相關聯的辨識符等。運輸系統107可將此資訊儲存於資料庫(未畫出)中,以供系統100中的其他系統存取。在一些實施例中,運輸系統107可使用此資訊來準備追蹤資料並將追蹤資料發送至指示特定包裝位置的其他系統。
在一些實施例中,某些使用者可使用一種種類的行動裝置(例如,永久工作者可使用具有例如條形碼掃描器、觸控筆(stylus)及其他裝置等客製硬體的專用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亦可自倉庫管理系統(WMS)119請求資訊,以確定各別產品在履行中心(例如,履行中心200)內部的位置。裝運及訂單追蹤系統111可自運輸系統107或WMS 119中的一或多者請求資料,對其進行處理,且根據請求將其呈現至裝置(例如,使用者裝置102A及102B)。
在一些實施例中,履行最佳化(FO)系統113可被實施為如下的電腦系統:所述電腦系統儲存來自其他系統(例如,外部前端系統103及/或裝運及訂單追蹤系統111)的顧客訂單的資訊。FO系統113亦可儲存闡述特定物項被容置或儲存於何處的資訊。舉例而言,某些物項可能僅儲存於一個履行中心中,而某些其他物項可能儲存於多個履行中心中。在再一些其他實施例中,某些履行中心可被設計成僅儲存特定的一組物項(例如,新鮮農產品(fresh produce)或冷凍產品(frozen product))。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或第三方履行系統121A、121B或121C等其他系統,且反之亦然。
在一些實施例中,供應鏈管理(SCM)系統117可被實施為實行預報功能的電腦系統。舉例而言,SCM系統117可基於例如基於產品的過往需求、產品的預期需求、全網路過往需求、全網路預期需求、儲存於每一履行中心200中的產品計數、每種產品的預期訂單或當前訂單等來預報特定產品的需求水準。因應於此種預報水準及所有履行中心的每種產品的量,SCM系統117可產生一或多個採購訂單,以採購及貯存足夠的數量來滿足特定產品的預報需求。
在一些實施例中,倉庫管理系統(WMS)119可被實施為監控工作流的電腦系統。舉例而言,WMS 119可自指示離散事件的各別裝置(例如,裝置107A至107C或119A至119C)接收事件資料。舉例而言,WMS 119可接收指示使用該些裝置中的一者來掃描包裝的事件資料。如以下參照履行中心200及圖2所論述,在履行過程期間,包裝辨識符(例如,條形碼或RFID標籤資料)可在特定階段由機器(例如,自動化條形碼掃描器或手持條形碼掃描器、RFID讀取器、高速照相機、例如平板電腦(tablet)119A、行動裝置/PDA 119B、電腦119C等裝置或者類似機器)掃描或讀取。WMS 119可將指示包裝辨識符的掃描或讀取的每一事件連同包裝辨識符、時間、日期、位置、使用者辨識符或其他資訊一起儲存於對應的資料庫(未畫出)中,且可將此資訊提供至其他系統(例如,裝運及訂單追蹤系統111)。
在一些實施例中,WMS 119可儲存將一或多個裝置(例如,裝置107A至107C或119A至119C)與和系統100相關聯的一或多個使用者相關聯的資訊。舉例而言,在一些情況下,使用者(例如兼職員工或全職員工)與行動裝置的關聯可在於使用者擁有行動裝置(例如,行動裝置是智慧型電話)。在其他情況下,使用者與行動裝置的關聯可在於使用者臨時保管行動裝置(例如,使用者在一天開始時登記借出行動裝置,將在一天中使用行動裝置,且將在一天結束時歸還行動裝置)。
在一些實施例中,WMS 119可為與系統100相關聯的每一使用者維護工作日誌。舉例而言,WMS 119可儲存與每一員工相關聯的資訊,包括任何所分派的過程(例如,卸載卡車、自揀選區揀選物項、分撥牆工作(rebin wall work)、包裝物項)、使用者辨識符、位置(例如,履行中心200中的樓層或區)、員工在系統中移動的單元的數目(例如,所揀選的物項的數目、所包裝的物項的數目)、與裝置(例如,裝置119A至119C)相關聯的辨識符等。在一些實施例中,WMS 119可自例如在裝置119A至119C上操作的計時系統等計時系統接收簽入(check-in)資訊及簽出(check-out)資訊。
在一些實施例中,第三方履行(3PL)系統121A至121C表示與物流及產品的第三方提供商相關聯的電腦系統。舉例而言,儘管一些產品被儲存於履行中心200中(如以下針對圖2所論述),然而其他產品可被儲存於場外、可按需生產或者可在其他情況下不可儲存於履行中心200中。3PL系統121A至121C可被配置成自FO系統113(例如,藉由FMG 115)接收訂單,且可直接向顧客提供產品及/或服務(例如,交付或安裝)。在一些實施例中,3PL系統121A至121C中的一或多者可為系統100的一部分,而在其他實施例中,3PL系統121A至121C中的一或多者可在系統100之外(例如,由第三方提供商擁有或營運)。
在一些實施例中,履行中心授權系統(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繪示出FC Auth系統123連接至FO系統113,然而並非所有實施例皆需要此種特定配置。實際上,在一些實施例中,系統100中的系統可藉由包括以下在內的一或多種公共網路或私有網路連接至彼此:網際網路、內部網路(Intranet)、廣域網路(Wide-Area Network,WAN)、都會區域網路(Metropolitan-Area Network,MAN)、符合電機及電子工程師學會(Institute of Electrical and Electronic Engineers,IEEE)802.11a/b/g/n標準的無線網路、租用線路(leased line)等。在一些實施例中,系統100中的系統中的一或多者可被實施為在資料中心、伺服器場(server farm)等處實施的一或多個虛擬伺服器。
圖2繪示出履行中心200。履行中心200是儲存訂購時裝運至顧客的物項的實體位置的實例。履行中心(FC)200可被劃分成多個區,所述多個區中的每一者繪示於圖2中。在一些實施例中,該些「區」可被視為接收物項、儲存物項、擷取物項及裝運物項的過程的不同階段之間的虛擬劃分。因此,儘管在圖2中繪示出「區」,然而亦可存在區的其他劃分,且在一些實施例中,圖2中的區可被省略、複製或修改。
入站區203表示FC 200的自希望使用來自圖1A的系統100售賣產品的賣方接收物項的區。舉例而言,賣方可使用卡車201交付物項202A及202B。物項202A可表示足夠大以佔用其自己的裝運托板的單一物項,而物項202B可表示在同一托板上堆疊於一起以節省空間的一組物項。
工作者將在入站區203中接收物項,且可使用電腦系統(未畫出)可選地檢查物項的損壞及正確性。舉例而言,工作者可使用電腦系統將物項202A及202B的數量與訂購的物項數量進行比較。若數量不匹配,則此工作者可拒絕物項202A或202B中的一或多者。若數量匹配,則工作者可將該些物項(使用例如推車、手推車、堆高機,或者手動地)移動至緩衝區(buffer zone)205。緩衝區205可為當前在揀選區中所不需要的物項(例如,由於在揀選區中存在足夠高數量的此物項來滿足預報需求)的臨時儲存區。在一些實施例中,堆高機206進行操作以在緩衝區205中四處移動物項以及在入站區203與卸貨區207之間移動物項。若在揀選區中需要物項202A或202B(例如,由於預報需求),則堆高機可將物項202A或202B移動至卸貨區207。
卸貨區207可為FC 200的在物項被移動至揀選區209之前儲存所述物項的區。被分派揀選任務的工作者(「揀選者」)可接近揀選區中的物項202A及202B,使用行動裝置(例如,裝置119B)掃描揀選區的條形碼且掃描與物項202A及202B相關聯的條形碼。接著揀選者可將物項帶至揀選區209(例如,藉由將物項放入搬運車(cart)上或者搬運物項)。
揀選區209可為FC 200的其中在儲存單元210上儲存物項208的區。在一些實施例中,儲存單元210可包括實體排架(physical shelving)、書架、盒、裝運箱、冰箱、冰櫃、冷藏庫等中的一或多者。在一些實施例中,揀選區209可被組織成多個樓層。在一些實施例中,工作者或機器可以包括例如堆高機、升降機、傳送帶、搬運車、手推車、推車、自動化機器人或裝置或者手動方式在內的多種方式將物項移動至揀選區209中。舉例而言,揀選者可將物項202A及202B放入卸貨區207中的手推車或搬運車上,且步行將物項202A及202B送至揀選區209。
揀選者可接收將物項放入(或「存放(stow)」於)揀選區209中的特定地點(例如儲存單元210上的特定空間)的指令。舉例而言,揀選者可使用行動裝置(例如,裝置119B)掃描物項202A。所述裝置可例如使用指示過道、儲架及位置的系統來指示揀選者應將物項202A存放於何處。接著,在將物項202A存放於此位置中之前,所述裝置可提示揀選者掃描此位置處的條形碼。所述裝置可向電腦系統(例如圖1A中的WMS 119)發送(例如,經由無線網路)資料來指示物項202A已由使用裝置119B的使用者存放於所述位置處。
一旦使用者下訂單,揀選者便可在裝置119B上接收指令,以自儲存單元210擷取一或多個物項208。揀選者可擷取物項208,掃描物項208上的條形碼,且將其放入運輸機構214上。儘管運輸機構214被表示為滑動件,然而在一些實施例中,運輸機構可被實施為傳送帶、升降機、搬運車、堆高機、手推車、推車等中的一或多者。接著物項208可到達包裝區211。
包裝區211可為FC 200的自揀選區209接收物項且將物項包裝至盒或袋中以便最終裝運至顧客的區。在包裝區211中,被分派接收物項的工作者(「分撥工作者(rebin worker)」)將自揀選區209接收物項208,且確定物項208對應於什麼訂單。舉例而言,分撥工作者可使用例如電腦119C等裝置來掃描物項208上的條形碼。電腦119C可以可視方式指示物項208與哪一訂單相關聯。舉例而言,此可包括牆216上的對應於訂單的空間或「單元格(cell)」。一旦訂單完成(例如,由於單元格容納訂單的所有物項),分撥工作者可向包裝工作者(或「包裝者(packer)」)指示訂單完成。包裝者可自單元格擷取物項,且將其放入盒或袋中進行裝運。接著,包裝者可例如藉由堆高機、搬運車、推車、手推車、傳送帶、手動方式或其他方式將盒或袋發送至中樞區(hub zone)213。
中樞區213可為FC 200的自包裝區211接收所有盒或袋(「包裝」)的區。中樞區213中的工作者及/或機器可擷取包裝218,且確定每一包裝擬定去往交付區的哪一部分,且將包裝路由至適當的營地區215。舉例而言,若交付區具有兩個較小的子區,則包裝將去往兩個營地區215中的一者。在一些實施例中,工作者或機器可掃描包裝(例如,使用裝置119A至119C中的一者)以確定其最終目的地。將包裝路由至營地區215可包括例如確定作為包裝的目的地的地理區的一部分(例如,基於郵遞區號),以及確定與所述地理區的所述部分相關聯的營地區215。
在一些實施例中,營地區215可包括一或多個建築物、一或多個實體空間或者一或多個區,其中的包裝是自中樞區213接收以分選至路線及/或子路線中。在一些實施例中,營地區215在實體上與FC 200分離,而在其他實施例中,營地區215可形成FC 200的一部分。
營地區215中的工作者及/或機器可例如基於目的地與現有路線及/或子路線的比較、對每一路線及/或子路線的工作負載的計算、一天中的時間、裝運方法、裝運包裝220的成本、與包裝220中的物項相關聯的PDD等來確定包裝220應與哪一路線及/或子路線相關聯。在一些實施例中,工作者或機器可掃描包裝(例如,使用裝置119A至119C中的一者)以確定其最終目的地。一旦包裝220被分派至特定路線及/或子路線,工作者及/或機器可移動待裝運的包裝220。在示例性圖2中,營地區215包括卡車222、汽車226以及交付工作者224A及224B。在一些實施例中,卡車222可由交付工作者224A駕駛,其中交付工作者224A是為FC 200交付包裝的全職員工,且卡車222由擁有、租賃或營運FC 200的同一公司擁有、租賃或營運。在一些實施例中,汽車226可由交付工作者224B駕駛,其中交付工作者224B是根據需要(例如,季節性地)進行交付的「彈性(flex)」或不定期工作者(occasional worker)。汽車226可由交付工作者224B擁有、租賃或營運。
圖3示出用於儲存客戶資料的主過程的概要。客戶資料是與客戶相關的資料且可包括但不限於客戶的登錄資訊、使用者資訊、產品數目、產品價格或折扣。過程300在當自外部裝置(例如,行動裝置102A或電腦102B)發送儲存客戶資料的請求時的步驟302處開始。儲存客戶資料的請求可包括但不限於儲存客戶的登錄資訊、使用者資訊、客戶購買的產品、以及客戶應用的折扣的請求。儲存客戶資料的請求亦可包括客戶購買的產品的價格。
過程300然後進行至步驟304。在步驟304中,外部前端系統103接收將客戶資料儲存至資料庫的請求。所述請求可來自其中客戶將資訊輸入至表格中的網頁(例如,如圖1B中),或者來自其中將客戶資料上載以儲存至資料庫的上載。為了將資料上載至資料庫中,可向API發出HTTP請求,API可將資料匯入至系統的操作資料庫中。請求亦可由其中系統可使用各種模型進行通訊的系統至系統通訊組成。一種常見的通訊方法是客戶端伺服器模型。在此模型中,客戶端請求伺服器儲存資料。
為了將客戶資料儲存於資料庫中,在步驟306處,外部前端系統103連接至位於外部前端系統103中的網站伺服器。外部前端系統103藉由向網站伺服器發出HTTP請求而連接至網站伺服器。舉例而言,在一些實施例中,客戶端(例如網頁瀏覽器)可向網站伺服器發出HTTP請求,其中網站伺服器將僅因應於客戶端的HTTP請求而儲存客戶資料。
過程300然後進行至步驟308。在步驟308中,外部前端系統103連接至資料庫。在一些實施例中,網站伺服器利用資料庫連接而連接至資料庫。資料庫連接可能要求身份認證來連接至資料庫。此資料庫認證過程可確認試圖登錄資料庫的使用者被授權如此做,且僅被授予實行使用者已被授權實行的活動的權利。舉例而言,資料庫連接可能需要藉由確保客戶被授權登錄資料庫而認證客戶的將客戶資料儲存於資料庫中的請求。
在連接至資料庫之後,過程300進行至步驟310。在步驟310中,外部前端系統103藉由實行圖5A中闡述的次常式500而以串列化格式儲存客戶資料。藉由以較先前技術高效的方式將資料串列化,外部前端系統103有助於降低硬碟使用。
圖4示出自資料庫擷取客戶資料的主過程的概要。在一些實施例中,客戶資料是與客戶相關的資料且可包括但不限於客戶的登錄資訊、使用者資訊、產品數目、產品價格或折扣。過程400在步驟402處開始。在步驟402中,外部裝置發送自外部裝置(例如,行動裝置102A或電腦102B)擷取客戶資料的請求。擷取客戶資料的請求可包括但不限於擷取客戶的登錄資訊、使用者資訊、客戶購買的產品、以及客戶應用的折扣的請求。擷取客戶資料的請求亦可包括客戶購買的產品的價格。
過程400然後進行至步驟404。在步驟404中,外部前端系統103接收網頁(如圖1B中)上的請求,以自資料庫擷取客戶資料。請求可來自其中客戶將資訊輸入至表格中的網頁(例如,如圖1B中),或者來自其中自資料庫下載客戶資料以返回至客戶的下載。為了自資料庫下載資料,可向API發出HTTP請求,API可自系統的操作資料庫擷取資料。請求亦可由其中系統可使用各種模型進行通訊的系統至系統通訊組成。一種常見的通訊方法是客戶端伺服器模型。在此模型中,客戶端請求伺服器擷取資料。
為了擷取資料庫中的客戶資料,在步驟406中,外部前端系統103連接至位於外部前端系統103中的網站伺服器。外部前端系統103藉由向網站伺服器發出HTTP請求而連接至網站伺服器。舉例而言,客戶端(例如網頁瀏覽器)可向網站伺服器發出HTTP請求,其中網站伺服器將僅因應於客戶端的HTTP請求而擷取客戶資料。
過程400然後進行至步驟408。在步驟408中,外部前端系統103連接至資料庫。此處,在一些實施例中,網站伺服器利用資料庫連接而連接至資料庫。資料庫連接可能要求身份認證來連接至資料庫。此資料庫認證過程確認試圖登錄資料庫的使用者被授權如此做,且僅被授予實行使用者已被授權實行的活動的權利。舉例而言,資料庫連接可能需要藉由確保客戶被授權登錄資料庫而認證客戶自資料庫擷取客戶資料的請求。
在連接至資料庫之後,過程400進行至步驟410。在步驟410中,外部前端系統103藉由將來自資料庫的資料解串而擷取客戶資料。外部前端系統103藉由以相反的次序實行圖5A中闡述的次常式500而擷取客戶資料。外部前端系統103自步驟532實行次常式500。
在將資料解串之後,過程400將所請求的客戶資料返回至外部裝置(例如,行動裝置102A或電腦102B)的網頁上。過程400可藉由因應於來自網頁的請求而返回所請求的客戶資料。過程400亦可藉由完成下載過程且將下載的客戶資訊提供至客戶端(例如網頁瀏覽器)而返回客戶資料。藉由以較先前技術高效的方式將資料解串,外部前端系統103有助於降低網路延遲。
圖5A示出由圖1A中繪示的外部前端系統103實行的主過程的次常式500。具體而言,在一些實施例中,分別將次常式嵌入於步驟310中以藉由資料串列化及解串而將客戶資料儲存於資料庫中,以及嵌入於步驟410中以藉由資料串列化及解串而擷取資料庫中的客戶資料。在其他實施例中,可在圖3及圖4中的一或多個步驟(例如,分別為步驟310及410)之後實行次常式500。圖5B示出次常式500的某些步驟的實例。
所述過程在步驟504處開始。在步驟504中,外部前端系統103接收輸入客戶資料且進行至步驟506。在步驟506中,外部前端系統103判斷輸入客戶資料是否等於數值零。舉例而言,根據次常式500,客戶資料0將等於數值零。若客戶資料為零,則外部前端系統103移動至步驟508且為客戶資料加前綴。外部前端系統103可使用十六進制位元組為客戶資料加前綴,以區別於具有不等於數值0的數值的客戶資料。舉例而言,若客戶資料由數0組成,則外部前端系統103可使用十六進制位元組「0x0E」為客戶資料加前綴。若客戶資料不等於數值零,則次常式500進行至步驟510。
在步驟510中,外部前端系統103判斷客戶資料是否是負數。負數是數值零以下的數。舉例而言,數-24是負數,此乃因數-24小於數值0。若客戶資料為零,則外部前端系統103移動至步驟512且為客戶資料加前綴。外部前端系統103可使用十六進制位元組為客戶資料加前綴,以區別於具有不小於零的數值的客戶資料。舉例而言,若客戶資料由數-765組成,則外部前端系統103可使用十六進制位元組「0x0D」為客戶資料加前綴。若客戶資料不等於小於零的數值,則外部前端系統103,次常式500進行至步驟514。
在步驟514中,若資料不為負,則外部前端系統103為客戶資料加前綴。舉例而言,數10不是負數,此乃因數10大於數值0。外部前端系統103可使用十六進制位元組為客戶資料加前綴,以區別於具有不大於數值0的數值的客戶資料。由於數10不是負數,則例如外部前端系統103可使用十六進制位元組「0x0F」為客戶資料加前綴。次常式500然後進行至步驟516。
在步驟516中,外部前端系統103可藉由自客戶資料移除任何前導零及尾隨零來截斷客戶資料而調節資料。此步驟不會自前綴的十六進制位元組移除任何前導零及尾隨零。藉由如圖5B中所示的實例,方框534中的實際數「0.123000」被截斷為方框536中的「0.123」。次常式500然後進行至步驟518。
在步驟518中,外部前端系統103藉由將客戶資料轉換成科學計數格式(scientific notation format)而將客戶資料格式化。藉由如圖5B中所示的實例,方框538以科學記數格式示出來自方框536的數。藉由如圖5B中所示的實例,方框538包含-128。在方框538中,此數被轉換成科學記數且得到格式-1.28 × 10^2。藉由如圖5B中所示的另一實例,方框538包含123。在方框538中,此數被轉換成科學記數且得到新的格式1.23 × 10^-1。外部前端系統103對此表示進行轉換,以輔助下一步驟(步驟520)。
在步驟520中,外部前端系統103將客戶資料拆分成兩個資料串,其中資料串可為二進制串。第一資料串包含客戶資料的指數值且第二資料串包含客戶資料的系數值。藉由如圖5B中所示的實例,方框538包含-1.28 × 10^2。在方框540中,方框538中的值被拆分成兩個資料串。在拆分之後,第一資料串包含值2且第二資料串包含值1.28。藉由如圖5B中所示的另一實例,方框538包含1.23 × 10^-1。在方框540中,方框540中的值被拆分成兩個資料串。第一資料串包含值-1且第二資料串包含值1.23。
過程500然後進行至步驟522。在步驟522中,外部前端系統103僅將第一資料串的符號位元翻轉。舉例而言,外部前端系統103可藉由實行互斥或運算而僅將第一資料串的符號位元翻轉。若第一資料串以二補數數字格式表示,則可使用二進制數10000000實行互斥或運算。藉由如圖5B中所示的實例,方框542示出如何以二補數的二進制形式表達來自方框540的指數。方框542以二補數0b00000010示出第一串值2且使用0b10000000實行互斥或運算,此得到翻轉的符號位元0b10000010。藉由如圖5B中所示的另一實例,方框542以二補數0b11111111示出第一串值-1且使用0b10000000實行互斥或運算,此得到翻轉的符號位元0b01111111。過程500然後進行至步驟524。
在步驟524中,外部前端系統103對第一資料串中的資料的表示進行轉換。外部前端系統103將第一串自二進制計數轉換成十六進制計數。藉由圖5B中所示的實例,方框542示出0b10000010。在方框544中,此二進制串0b10000010被轉換成0x82。藉由如圖5B中所示的另一實例,方框542示出0b01111111。在方框544中,此二進制串0b01111111被轉換成0x7F。
過程500然後進行至步驟526。在步驟526中,外部前端系統103對第二資料串中的資料的表示進行轉換。外部前端系統103藉由使用一個位元組表示第二資料串的每兩個數位而對表示進行轉換且以十六進制記數返回所述值。藉由如圖5B中所示的實例,方框540示出係數「1.28」。在方框544中,對第二資料串中的系數值進行編碼以例示「0x01 0x1c」,其中0x01表示「1.28」中的值1且0x1c表示「1.28」中的28。
過程500然後進行至步驟528。在步驟528中,外部前端系統103判斷來自步驟504的輸入客戶資料是否為負值。若輸入客戶資料小於數值0,則客戶資料為負值。若在步驟504中客戶資料為負值,則外部前端系統103將第一資料串及第二資料串中的每個位元翻轉且在步驟532中返回串列化資料。藉由如圖5B中所示的實例,方框534示出負值的數「-128」。因此,外部前端系統103將包含指數值及系數值的第一資料串及第二資料串的每個位元翻轉且返回串列化資料(如方框548中所示)。若在步驟504中資料不是負值,則在步驟532中,外部前端系統103返回串列化資料以儲存於資料庫中。藉由如圖5B中所示的實例,方框534亦示出正值的數「0.123000」。由於此正值的數,因此外部前端系統103不對第一資料串及第二資料串實行步驟530。相反,外部前端系統103然後在方框548中返回包含前綴的十六進制位元組及編碼的第一資料串及第二資料串的串列化資料。
在一些實施例中,來自步驟532的在步驟310中儲存的串列化資料是十六進制值且是與步驟504中的客戶資料格式不同的格式。藉由如圖5B中所示的實例,方框534示出實際數-128。在方框548中,串列化過程將實際數轉換成0x0d 0x7d 0xfe 0xe3。在其他實施例中,在步驟504中輸入客戶資料可以字母值而非數值來表示名稱。在該些實施例中,外部前端系統103可在資料庫中以ASCII或Unicode表示及儲存字母值。藉由使用不同的編碼標準進行儲存,資料庫可儲存與客戶相關的各種客戶資料。
步驟532中的串列化資料對應於經調節資料的長度,此乃因所述長度對應於被移除前導零及尾隨零之後的數。串列化資料亦具有端視經調節的客戶資料中的數位數目而可變的長度。此種可變長度使得客戶資料在儲存及自資料庫擷取期間保持精確。
過程500亦有助於示出在步驟410中如何藉由解串而自資料庫擷取客戶資料。為了在步驟410中藉由將資料解串而自資料庫擷取客戶資料,以相反的次序實行過程500。為了擷取客戶資料,外部前端系統103藉由以步驟532開始實行解串過程且以與步驟504相反的次序實行步驟。用於串列化及解串的過程500有助於主過程300在儲存客戶資料時降低硬碟使用且有助於主過程400在擷取客戶資料時降低網路延遲。
圖6示出與標準系統中使用的機制相比,使用資料串列化來儲存及擷取客戶資料的硬碟使用及網路延遲的測試資料結果。此測試包括1百萬條記錄的資料集大小且實行總數目為1百萬次的掃描請求。在表600中,方框602示出99.9%的延遲百分比,其中99.9%的儲存及擷取客戶資料的請求將較給定數快。對於標準系統,在此測試中,99.9%的儲存及擷取客戶資料的請求快於11.5毫秒。然而,使用串列化方法,99.9%的儲存及擷取相同客戶資料的請求快於8.7毫秒。因此,方框602示出網路延遲下降24%。
在方框604中,表600示出99.99%的延遲百分比,其中99.99%的儲存及擷取客戶資料的請求將較給定數快。對於標準系統,在此測試中,99.9%的儲存及擷取客戶資料的請求快於50.3毫秒。然而,使用串列化方法,99.9%的儲存及擷取相同的客戶資料的請求快於34.7毫秒。因此,方框604示出網路延遲下降31%。
表600亦示出硬碟使用的下降。在方框606中,表600示出藉由在標準系統中儲存與藉由利用串列化在改善的系統中儲存的硬碟使用的差異。在方框606中,標準系統使用249兆位元組(mebibyte,MiB)來儲存客戶資料。然而,改善的系統僅使用91.7兆位元組來儲存相同的輸入客戶資料。因此,方框606示出當儲存相同的客戶資料時,硬碟使用下降63%。
儘管已參照本揭露的具體實施例示出並闡述了本揭露,然而應理解,本揭露可不加修改地實踐於其他環境中。上述說明是出於例示目的而呈現。上述說明並非詳盡性的且並非僅限於所揭露的精確形式或實施例。藉由考量對所揭露實施例的說明及實踐,各種修改及改編對於熟習此項技術者而言將顯而易見。另外,儘管所揭露實施例的態樣被闡述為儲存於記憶體中,然而熟習此項技術者應理解,該些態樣亦可儲存於其他類型的電腦可讀取媒體上,例如輔助儲存裝置(例如硬碟或光碟唯讀記憶體(compact disk read-only memory,CD ROM))或者其他形式的隨機存取記憶體(random access memory,RAM)或唯讀記憶體(read-only memory,ROM)、通用序列匯流排(universal serial bus,USB)媒體、數位影音光碟(digital versatile disc,DVD)、藍光(Blu-ray)或其他光學驅動媒體上。
基於書面說明及所揭露的方法的電腦程式處於有經驗的開發者的技能範圍內。可使用熟習此項技術者已知的任何技術來創建各種程式或程式模組,或者可結合現有的軟體來設計各種程式或程式模組。舉例而言,可採用或借助.Net Framework、.Net Compact Framework(以及相關語言,如Visual Basic、C等)、爪哇(Java)、C++、Objective-C、超文件標記語言(Hypertext Markup Language,HTML)、HTML/AJAX組合、可擴展標記語言(Extensible Markup Language,XML)或包括爪哇小程式的HTML來設計程式區段或程式模組。
此外,儘管本文中已闡述了例示性實施例,然而熟習此項技術者基於本揭露將設想出具有等效元素、修改形式、省略、組合(例如,各種實施例之間的態樣的組合)、改編及/或變更的任何及所有實施例的範圍。申請專利範圍中的限制應基於申請專利範圍中採用的語言進行廣義解釋,而並非僅限於本說明書中闡述的實例或在申請的過程期間闡述的實例。所述實例應被視為非排他性的。此外,所揭露方法的步驟可以任何方式進行修改,包括藉由對步驟進行重新排序及/或插入或刪除步驟。因此,本說明書及實例旨在僅被視為例示性的,真正的範圍及精神由以下申請專利範圍及其等效內容的全部範圍來指示。
100:示意性方塊圖/系統 101:裝運授權技術(SAT)系統/系統 102A:裝置/使用者裝置/行動裝置 102B:裝置/使用者裝置/電腦 103:外部前端系統 105:內部前端系統 107:運輸系統 107A、107B、107C:行動裝置/裝置 109:賣方入口 111:裝運及訂單追蹤(SOT)系統 113:履行最佳化(FO)系統 115:履行訊息傳遞閘道(FMG) 117:供應鏈管理(SCM)系統 119:倉庫管理系統(WMS) 119A:行動裝置/裝置/平板電腦 119B:行動裝置/裝置/PDA 119C:行動裝置/裝置/電腦 121A、121B、121C:第三方履行(3PL)系統 123:履行中心授權系統(FC Auth)/FC Auth系統 125:勞資管理系統(LMS) 200:履行中心(FC) 201、222:卡車 202A、202B、208:物項 203:入站區 205:緩衝區 206:堆高機 207:卸貨區 209:揀選區 210:儲存單元 211:包裝區 213:中樞區 214:運輸機構 215:營地區 216:牆 218、220:包裝 224A、224B:交付工作者 226:汽車 300、400:過程 302、304、306、308、310、402、404、406、408、410、412、502、504、506、508、510、512、514、516、518、520、522、524、526、528、530、532:步驟 500:次常式/過程 534、536、538、540、542、544、546、548、602、604、606:方框 600:表
圖1A是示出根據所揭露實施例的網路的示例性實施例的示意性方塊圖,所述網路包括用於能夠進行通訊的裝運(shipping)、運輸(transportation)及物流操作的電腦化系統。 圖1B繪示出根據所揭露實施例的樣本搜尋結果頁面(Search Result Page,SRP),其包括滿足搜尋請求的一或多個搜尋結果以及交互式使用者介面元素。 圖1C繪示出根據所揭露實施例的樣本單一細節頁面(Single Detail Page,SDP),其包括產品及關於產品的資訊以及交互式使用者介面元素。 圖1D繪示出根據所揭露實施例的樣本購物車頁面(Cart page),其包括虛擬購物車中的物項以及交互式使用者介面元素。 圖1E繪示出根據所揭露實施例的樣本訂單頁面(Order page),其包括來自虛擬購物車的物項以及關於採購及裝運的資訊以及交互式使用者介面元素。 圖2是根據所揭露實施例的被配置成利用所揭露電腦化系統的示例性履行中心(fulfillment center)的圖例。 圖3是示出用於將客戶資料儲存至資料庫的示例性過程的流程圖。 圖4是示出自資料庫擷取客戶資料的示例性過程的流程圖。 圖5A是示出根據所揭露實施例的用於將客戶資料轉換成串列化資料的示例性過程的流程圖。 圖5B是示出根據所揭露實施例的利用示例性系統將客戶資料轉換成串列化資料的表。 圖6是示出標準系統與利用資料串列化的改善的系統中的硬碟使用及網路延遲之間的資料測試結果的表。
500:次常式/過程
502、504、506、508、510、512、514、516、518、520、522、524、526、528、530、532:步驟

Claims (20)

  1. 一種降低硬碟使用與網路延遲之電腦實施的系統,所述系統包括: 記憶體,儲存指令;以及 至少一個處理器,被配置成執行所述指令以: 接收客戶的客戶資料以儲存於資料庫中; 調節所述客戶資料; 將經調節的所述客戶資料格式化成分別具有第一資料類型及第二資料類型的第一資料串及第二資料串; 將所述第一資料串的符號位元翻轉; 藉由使用一個位元組表示第一串的每兩個數位而將符號位元翻轉的所述第一資料串以及所述第二資料串的表示轉換成串列化資料; 若接收到的所述客戶資料由負值表示,則將所述串列化資料的所有位元翻轉; 在為負而進行翻轉之後,將所述串列化資料儲存於所述資料庫中; 接收對所述客戶資料的請求; 將欲自所述資料庫擷取的串列化資料解串;以及 自所述資料庫擷取經解串資料。
  2. 如請求項1所述的系統,其中所述客戶資料辨別與客戶相關的資料。
  3. 如請求項2所述的系統,其中與客戶相關的所述資料包括客戶使用者資訊、登錄資訊、折扣資訊及價格資訊。
  4. 如請求項1所述的系統,其中調節所述客戶資料包括為所述客戶資料加前綴。
  5. 如請求項3所述的系統,其中所述加前綴包括使用十六進制位元組為所述客戶資料加前綴。
  6. 如請求項1所述的系統,其中調節所述客戶資料包括移除任何前導零及尾隨零。
  7. 如請求項1所述的系統,其中儲存客戶資料的所述請求包括儲存所述客戶的登錄資訊、使用者資訊、產品資訊、折扣資訊及價格資訊。
  8. 如請求項7所述的系統,其中擷取客戶資料的所述客戶請求包括擷取所述客戶的登錄資訊、使用者資訊、產品資訊、折扣資訊及價格資訊。
  9. 如請求項1所述的系統,其中所述串列化資料對應於經調節的所述客戶資料的長度且具有可變長度。
  10. 如請求項1所述的系統,其中自所述資料庫擷取所述經解串資料包括以相反次序實行將所述資料串列化的步驟。
  11. 一種降低硬碟使用與網路延遲之電腦實施的方法,所述方法包括: 接收客戶的客戶資料以儲存於資料庫中; 調節所述客戶資料; 將經調節的所述客戶資料格式化成分別具有第一資料類型及第二資料類型的第一資料串及第二資料串; 將所述第一資料串的符號位元翻轉; 藉由使用一個位元組表示第一串的每兩個數位而將符號位元翻轉的所述第一資料串以及所述第二資料串的表示轉換成串列化資料; 若接收到的所述客戶資料由負值表示,則將所述串列化資料的所有位元翻轉; 在為負而進行翻轉之後,將所述串列化資料儲存於所述資料庫中; 接收對所述客戶資料的請求; 將欲自所述資料庫擷取的串列化資料解串;以及 自所述資料庫擷取經解串資料。
  12. 如請求項11所述的系統,其中所述客戶資料辨別與客戶相關的資料。
  13. 如請求項12所述的系統,其中與客戶相關的所述資料包括客戶使用者資訊、登錄資訊、折扣資訊及價格資訊。
  14. 如請求項11所述的系統,其中調節所述客戶資料包括為所述客戶資料加前綴。
  15. 如請求項13所述的系統,其中所述加前綴包括使用十六進制位元組為所述客戶資料加前綴。
  16. 如請求項11所述的系統,其中調節所述客戶資料包括移除任何前導零及尾隨零。
  17. 如請求項11所述的系統,其中儲存客戶資料的所述請求包括儲存所述客戶的登錄資訊、使用者資訊、產品資訊、折扣資訊及價格資訊。
  18. 如請求項17所述的系統,其中擷取客戶資料的所述客戶請求包括擷取所述客戶的登錄資訊、使用者資訊、產品資訊、折扣資訊及價格資訊。
  19. 如請求項11所述的系統,其中所述串列化資料對應於經調節的所述客戶資料的長度且具有可變長度。
  20. 一種降低硬碟使用與網路延遲之電腦實施的系統,所述系統包括: 接收客戶的客戶資料以儲存於資料庫中且自所述資料庫擷取所述客戶資料,所述客戶資料包括客戶使用者資訊、登錄資訊、折扣資訊及價格資訊; 藉由以下方式調節所述客戶資料; 為所述客戶資料加前綴,以及 移除任何前導零及尾隨零; 將經調節的所述客戶資料格式化成分別具有第一資料類型及第二資料類型的第一資料串及第二資料串; 將所述第一資料串的符號位元翻轉; 藉由使用一個位元組表示第一串的每兩個數位而將符號位元翻轉的所述第一資料串以及所述第二資料串的表示轉換成串列化資料; 若接收到的所述客戶資料由負值表示,則將所述串列化資料的所有位元翻轉; 在為負而進行翻轉之後,將所述串列化資料儲存於所述資料庫中; 接收對所述客戶資料的請求; 將欲自所述資料庫擷取的串列化資料解串;以及 自所述資料庫擷取經解串資料。
TW111108557A 2021-04-22 2022-03-09 降低硬碟使用與網路延遲之電腦實施的系統以及電腦實施的方法 TW202242647A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/237,926 US11150806B1 (en) 2021-04-22 2021-04-22 Systems and methods for reducing disk usage and network latency
US17/237,926 2021-04-22

Publications (1)

Publication Number Publication Date
TW202242647A true TW202242647A (zh) 2022-11-01

Family

ID=78083392

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111108557A TW202242647A (zh) 2021-04-22 2022-03-09 降低硬碟使用與網路延遲之電腦實施的系統以及電腦實施的方法

Country Status (4)

Country Link
US (1) US11150806B1 (zh)
KR (2) KR102467453B1 (zh)
TW (1) TW202242647A (zh)
WO (1) WO2022224027A1 (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10059103B4 (de) * 2000-11-28 2005-04-21 Siemens Ag Einheit zur Verwaltung von in einer Datenverarbeitungseinrichtung gespeicherten Daten
US7565365B2 (en) * 2005-08-31 2009-07-21 Sap Ag Object storage and synchronization hooks for occasionally-connected devices
KR100929831B1 (ko) * 2008-02-29 2009-12-07 주식회사 하이닉스반도체 고속의 데이터 입출력을 위한 반도체 메모리 장치
US9442980B1 (en) * 2010-04-21 2016-09-13 Stan Trepetin Mathematical method for performing homomorphic operations
US9582248B2 (en) * 2014-09-26 2017-02-28 Arm Limited Standalone floating-point conversion unit
SE543293C2 (en) * 2015-04-17 2020-11-17 Kelicomp Ab Improved compression of a file
US11126670B2 (en) * 2017-05-10 2021-09-21 Verizon Patent And Licensing Inc. Token and device location-based automatic client device authentication
US20200167360A1 (en) * 2018-11-23 2020-05-28 Amazon Technologies, Inc. Scalable architecture for a distributed time-series database
US11562247B2 (en) * 2019-01-24 2023-01-24 Microsoft Technology Licensing, Llc Neural network activation compression with non-uniform mantissas

Also Published As

Publication number Publication date
KR20220155248A (ko) 2022-11-22
US11150806B1 (en) 2021-10-19
KR102467453B1 (ko) 2022-11-16
KR20220145745A (ko) 2022-10-31
WO2022224027A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
TWI759824B (zh) 自動遞送任務指派的系統、用於臨時遞送員工的自動遞送任務指派的方法以及非暫時性電腦可讀媒體
TW202134970A (zh) 用於管理庫存置放的電腦實施的系統以及方法
TWI746039B (zh) 用於藉由確認實踐中心中的物件實體量以與使用者介面一起使用來管理存量的電腦實施的系統以及方法
TWI804045B (zh) 用於自動化袋子包裝的電腦化系統及電腦實施方法
TWI801861B (zh) 根據產品特性決定產品價格的倉儲管理電腦實行系統以及方法
TW202113709A (zh) 用於出站預測之電腦實施系統以及電腦實施方法
TW202113746A (zh) 使用入站裝載模式於出站預測之電腦實施系統以及電腦實施方法
TW202242673A (zh) 降低資料庫查詢延遲之系統以及方法
TWI743936B (zh) 用於出站預測的電腦實施的系統以及方法
TWI759892B (zh) 自動遞送工作者指配的電腦化系統、電腦化方法及系統
TWI795913B (zh) 用於出站預測的電腦實施的系統以及方法
TWI731618B (zh) 電腦實施系統及電腦實施方法
TWI780560B (zh) 用於在網站伺服器上登記產品的電腦實行系統以及方法
TWI792289B (zh) 為定製履行中心確定物件的系統以及方法
US11386478B1 (en) Computerized systems and methods for using artificial intelligence to generate product recommendations
TW202107352A (zh) 提供裝載位置建議之系統以及方法
KR102467453B1 (ko) 디스크 사용량 및 네트워크 레이턴시를 줄이기 위한 시스템 및 방법
TWI838624B (zh) 用於更新資料結構中的計數值的電腦實行系統以及方法
TWI837891B (zh) 電腦實施系統以及電腦實施的方法
US11100166B1 (en) Systems and methods for automatically updating guaranteed computing counters
TWI793606B (zh) 產生圖形顯示介面的方法及電腦系統
TWI838567B (zh) 用於多電腦物流協調的電子系統以及用於生成保證遞送時間的日曆以供使用者選擇的方法
TW202324233A (zh) 電腦實施系統以及電腦實施的方法
TW202111624A (zh) 用於多電腦物流協調的電子系統以及用於生成保證遞送時間的日曆以供使用者選擇的方法
TW202131245A (zh) 判定物件分群以用於包裝的電腦化系統及電腦實行方法