TWI773048B - 降低資料庫查詢延遲之系統以及方法 - Google Patents
降低資料庫查詢延遲之系統以及方法 Download PDFInfo
- Publication number
- TWI773048B TWI773048B TW109145982A TW109145982A TWI773048B TW I773048 B TWI773048 B TW I773048B TW 109145982 A TW109145982 A TW 109145982A TW 109145982 A TW109145982 A TW 109145982A TW I773048 B TWI773048 B TW I773048B
- Authority
- TW
- Taiwan
- Prior art keywords
- query
- database
- key
- data
- value
- Prior art date
Links
Images
Classifications
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- 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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24537—Query rewriting; Transformation of operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- 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
- G06F16/9032—Query formulation
-
- 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
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Operations Research (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種降低資料庫查詢延遲的系統,系統包括:記憶體,儲存指令;以及至少一個處理器,組態成執行指令以執行操作,操作包括:接收反映虛擬伺服器上的角色的效能的資料;識別與接收到的資料中的術語相關聯的符記;映射包括符記及術語的索引;將所映射索引儲存於第一資料庫中;將鍵值對儲存於第二資料庫中,鍵對應於所映射索引,且值對應於接收到的資料的一部分;接收查詢;最佳化查詢以降低查詢處理時間;基於藉由相對於第一資料庫運行最佳化的查詢而獲得的結果建構搜尋鍵;自第二資料庫檢索對應於搜尋鍵的結果值。
Description
本揭露大體上是關於降低資料庫查詢中的延遲的電腦化系統及方法。特定而言,本揭露的實施例是關於涉及藉由基於查詢索引資料庫為儲存資料庫創建搜尋鍵來降低自儲存資料庫檢索資料的延遲的發明性及非習知系統。
伺服器平台在啟用大型處理密集型應用中扮演重要角色。線上零售企業尤其依賴於大量此等伺服器平台,每日進行數百萬交易。因此,可能尤其關注此等伺服器平台的功能性及可靠性,且可能需要頻繁監視此等伺服器平台的效能。可能需要研究任何錯誤或不履行,其此等伺服器平台的改良及修改亦可需要對系統效能進行分析。
伺服器平台可在其操作期間產生指示狀態及效能的量度資料。此等量度資料可記錄為日誌,且可被儲存以在稍後時間存取。在大量伺服器平台執行大量任務的情形中,亦可產生眾多量度資料。在一些情形下,為了增強可靠性且提供冗餘,一些伺服器平台架構可組態成在若干不同位置上儲存此量度資料的多個複本。此外,為了以適時方式儲存大量量度資料,可能未以對搜尋及檢索
高效的方式對量度資料進行索引化。
因此,由於儲存可存在於多個複本中的大量量度資料,可能無法為檢索提供最佳索引,故定位及檢索含有使用者所要的量度資料的特定日誌可能消耗時間及資源,從而導致延遲。
因此,需要降低資料庫查詢延遲之改良方法以及系統。
本揭露的一個態樣是關於一種降低資料庫查詢延遲的系統,系統包括:記憶體,儲存指令;以及至少一個處理器,組態成執行指令以執行操作,操作包括:接收反映虛擬伺服器上的角色的效能的資料;識別與接收到的資料中的術語相關聯的符記;映射包括符記及術語的索引;將所映射索引儲存於第一資料庫中;將鍵值對儲存於第二資料庫中,鍵對應於所映射索引,且值對應於接收到的資料的一部分;接收查詢;最佳化查詢以降低查詢處理時間;基於藉由相對於第一資料庫運行最佳化的查詢而獲得的結果建構搜尋鍵;自第二資料庫檢索對應於搜尋鍵的結果值。
本揭露的另一態樣是關於一種降低資料庫查詢延遲的方法,方法包括:接收反映虛擬伺服器上的角色的效能的資料;識別與接收到的資料中的術語相關聯的符記;映射包括符記及術語的索引;將所映射索引儲存於第一資料庫中;將鍵值對儲存於第二資料庫中,鍵對應於所映射索引,且值對應於接收到的資料的一部分;接收查詢;最佳化查詢以降低查詢處理時間;基於藉由相對於第一資料庫運行最佳化的查詢而獲得的結果建構搜尋鍵;自第二資料庫檢索對應於搜尋鍵的結果值。
本揭露的又一態樣是關於一種降低資料庫查詢延遲的電腦實行方法,方法包括:接收反映虛擬伺服器上的角色的效能的資料;識別與接收到的資料中的術語相關聯的符記;映射包括符記及術語的索引;將所映射索引儲存於第一資料庫中;將鍵值對儲存於第二資料庫中,鍵對應於所映射索引,且值對應於接收到的資料的一部分;接收查詢;最佳化查詢以降低查詢處理時間;基於藉由相對於第一資料庫運行最佳化的查詢而獲得的結果建構搜尋鍵;自第二資料庫檢索對應於搜尋鍵的結果值。
本文中亦論述其他系統、方法以及電腦可讀媒體。
100、300:系統
101:運送授權技術系統
102A、107A、107B、107C、119A、119B、119C:行動裝置
102B:電腦
103:外部前端系統
105:內部前端系統
107:運輸系統
109:賣方入口網站
111:運送及訂單追蹤系統
113:履行最佳化系統
115:履行通信報閘道
117:供應鏈管理系統
119:倉庫管理系統
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:汽車
302:伺服器平台
304:網路
306:中間應用程式
308:處理器
310:I/O
312:記憶體
314:索引資料庫
316:結果資料庫
318:使用者裝置
400:過程
402、404、406、408、410、412、414、416、418、420:步驟
502:日誌
506:所映射索引
508:鍵值對
510:查詢
512:倒置索引搜尋查詢
514:搜尋鍵
516:結果值
圖1A為與所揭露實施例一致的示出包括用於實現運送、運輸以及物流操作的通信的電腦化系統的網路的例示性實施例的示意性方塊圖。
圖1B描繪與所揭露實施例一致的包含滿足搜尋請求的一或多個搜尋結果以及交互式使用者介面元素的樣本搜尋結果頁(Search Result Page;SRP)。
圖1C描繪與所揭露實施例一致的包含產品及關於所述產品的資訊以及交互式使用者介面元素的樣本單一顯示頁(Single Display Page;SDP)。
圖1D描繪與所揭露實施例一致的包含虛擬購物車中的物件以及交互式使用者介面元素的樣本購物車頁。
圖1E描繪與所揭露實施例一致的包含來自虛擬購物車的物
件以及關於購買及運送的資訊以及交互式使用者介面元素的樣本訂單頁。
圖2為與所揭露實施例一致的組態成利用所揭露電腦化系統的例示性履行中心的圖解圖示。
圖3描繪與所揭露實施例一致的示出降低資料庫查詢延遲的例示性系統的示意性方塊圖。
圖4描繪與所揭露實施例一致的示出降低資料庫查詢延遲的例示性過程的流程圖。
圖5A描繪與所揭露實施例一致的示出降低資料庫查詢延遲的例示性過程的方塊圖。
圖5B描繪與所揭露實施例一致的示出降低資料庫查詢延遲的例示性過程的方塊圖。
以下詳細描述參考隨附圖式。只要可能,即在圖式及以下描述中使用相同附圖標號來指代相同或類似部分。儘管本文中描述若干示出性實施例,但修改、調適以及其他實施方案是可能的。舉例而言,可對圖式中所示出的組件及步驟進行替代、添加或修改,且可藉由取代、重新排序、移除步驟或將步驟添加至所揭露方法來修改本文中所描述的示出性方法。因此,以下詳細描述不限於所揭露實施例及實例。實情為,本發明的正確範圍由隨附申請專利範圍界定。
本揭露的實施例是關於組態成降低資料庫查詢延遲的系統以及方法。
參考圖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(描繪為在履行中心(FC)200內部)、第3方履行系統121A、第3方履行系統121B以及第3方履行系統121C、履行中心授權系統(fulfillment center authorization;FC Auth)123以及勞動管理系統(labor management system;LMS)125。
在一些實施例中,SAT系統101可實行為監視訂單狀態及遞送狀態的電腦系統。舉例而言,SAT系統101可判定訂單是否超過其承諾遞送日期(Promised Delivery Date;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亦可向倉庫管理系統(warefouse 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擁有、租用或操作。
根據一些實施例,系統100可託管在多個伺服器中。另外或替代地,系統100可託管在虛擬或雲端伺服器平台上。在系統100的操作期間,可產生、記錄以及儲存與系統100中的各種伺服器的狀態有關的資訊。系統狀態可指示伺服器系統的各種態樣,包含處理器使用、記憶體使用、網路使用、系統錯誤以及伺服器系統的其他效能指示符。不時地,使用者可能希望在特定時間或
時間段詢問伺服器的狀態資訊,且可能需要搜尋儲存於一或多個資料庫中的與狀態資訊有關的資料。
藉助於實例,圖3描繪用於產生、索引化、儲存、搜尋以及檢索與系統狀態有關的資料的例示性系統。伺服器平台302在操作期間產生狀態資料。伺服器平台302可以是專屬伺服器或虛擬伺服器。在一些實施例中,伺服器平台302可以是叢集計算系統的實例。在一些實施例中,系統100的某些子系統(諸如SAT系統101、運輸系統107、SOT系統111、FO系統113、SCM系統117等)可託管在形成伺服器平台302的一部分的虛擬伺服器中的一或多者中。
在操作期間,產生且記錄呈日誌形式的狀態資料。日誌可以是含有可由電腦系統處理的資料的檔案。在一些實施例中,資料傳輸至另一位置以供儲存。資料可經由網路304傳輸至不同系統,諸如中間應用程式306,其繼而可處理資料以供儲存於結果資料庫316中。在一些實施例中,結果資料庫316可以是非關連式資料庫或NoSQL資料庫。在一些實施例中,中間應用程式306亦可索引化資料且將索引儲存於索引資料庫314中。在一些實施例中,索引資料庫314可與倒置索引搜尋相容。中間應用程式306可以是包含處理器308、I/O 310以及記憶體312中的一或多者的電腦系統,所述記憶體312含有用於產生圖形使用者介面(graphic user interface;GUI)的機器可讀指令以及用於執行所需功能的機器可讀指令。在一些實施例中,如圖1A中所描繪的內部前端系統105可兼有中間應用程式306的功能。
使用使用者裝置318的使用者可藉由檢索及存取儲存於
結果資料庫316中的資料來存取所儲存狀態資料。在一些實施例中,使用者可藉由向中間應用程式306發送搜尋查詢來檢索資料。中間應用程式306處理搜尋查詢且使用索引資料庫314中的所儲存索引執行倒置索引搜尋,且接著試圖定位對應於搜尋查詢的參數的資料。可經由網路304將被發現匹配於搜尋查詢的資料傳回至使用者裝置318。在一些實施例中,如圖1A中所描繪的外部前端系統103可用以自使用者裝置102A或使用者裝置102B接收搜尋查詢,且用以將檢索的資料提供至使用者裝置102A或使用者裝置102B。使用者裝置102A或使用者裝置102B可以是使用者裝置318的實例。
根據一些實施例,結果資料庫316可實行為分佈式非關連式資料庫。在此類分佈式非關連式資料庫中,資料自動複寫至多個節點以用於提高容錯性。在一些實施例中,可能不存在單點故障或網路瓶頸。在一些實施例中,節點叢集中的每一節點可相同。分佈式非關連式資料庫的實例包含卡桑德拉(Cassandra)資料庫。在圖3中所描繪的例示性系統中,分佈式資料庫可導致相同狀態資料同時儲存於多個節點及位置中,從而確保冗餘。在一些實施例中,狀態資料可能需要在儲存於資料庫中之前索引化,以允許未來搜尋及檢索。由於資料的大體積,可使用轉發索引方法,使得狀態資料可在適當的時候索引化且儲存。
然而,在搜尋及檢索過程期間,由分佈式非關連式資料庫提供的冗餘可導致系統延遲。由於多個節點可相同,故針對特定資料的搜尋可能需要系統篩選多個節點以區分看起來可能類似的資料。此外,雖然轉發索引可在資料的儲存期間降低處理時間,但其
在搜尋所儲存資料時可為耗時的。此等因素的組合可能在系統的任務是查找及檢索特定所儲存資料塊時導致延遲。
在一些實施例中,可藉由利用倒置索引搜尋來降低此延遲。倒置索引搜尋是全文索引搜尋的一種形式。倒置索引搜尋引擎的實例可包含彈性(Elastic)搜尋。在一些實施例中,中間應用程式306可藉由倒置索引方法來部分地索引化由伺服器平台302產生的狀態資料,從而允許使用者使用倒置索引搜尋來檢索延遲降低的所儲存資料。
圖4描繪用於處理、索引化、搜尋以及檢索系統300的資料值的例示性過程的流程圖。圖5A及圖5B示出過程400的某些步驟的實例。步驟402至步驟410對應於如圖5A(下文所描述)中所描繪的過程400的用於處理及索引化資料值的部分。步驟412至步驟420對應於如圖5B(下文所描述)中所描繪的資料值的搜尋及檢索。
在步驟402中,中間應用程式306可接收反映伺服器上的角色的效能的資料。角色可指由伺服器實現的功能或任務。舉例而言,角色可包含網站代管、模擬、處理、計算、資料儲存或可要求伺服器實施的其他類似電腦相關功能。伺服器可以是專屬伺服器、雲端伺服器或虛擬伺服器。在一些實施例中,虛擬伺服器可以是形成伺服器平台302的多個虛擬伺服器中的一者。角色的效能可包含量度,諸如處理器使用、記憶體使用、網路使用、系統錯誤以及伺服器系統302的其他效能指示符。在一些實施例中,資料可含有於日誌檔案中。
在步驟404中,中間應用程式306可識別與接收到的資
料中的術語相關聯的符記。在一些實施例中,識別與接收到的資料中的術語相關聯的符記可包含藉由正規表示式處理接收到的資料。正規表示式或regex可以是定義搜尋的字元串。舉例而言,接收到的資料可被解析為不同串組分。藉助於如圖5A中所示出的實例,日誌502含有資料串「vs.01d31.1.5.731.1」,且解析為「vs」、「01d31」、「1」、「5」、「731」以及「1」的組分。在一些實施例中,中間應用程式306可被程式化以在正規表示式形式的經解析組分之中辨識術語。術語可指搜尋索引中的資訊。舉例而言,若基於產生資料的伺服器的標識來索引化資料,則術語可以是伺服器識別符。在一些實施例中,術語可包含提供者、虛擬伺服器識別符、資源識別符及/或量度識別符。藉助於如圖5A中所示出的實例,系統300可組態成基於「提供者」或「識別符」索引化日誌502。在一些實施例中,系統300可包含伺服器平台302的多個叢集。「提供者」可指與產生日誌502的伺服器平台302的叢集中的一者相關聯的資訊。「識別符」可指與產生日誌502的伺服器平台302內的虛擬伺服器相關聯的資訊。所屬技術領域中具有通常知識者中的一者將認識到,術語可取決於索引方案的設計選擇,且因此,不同索引方案可能需要不同術語。
符記可指對應於術語的接收到的資料的組分。舉例而言,如圖5A中所示出,術語「提供者」對應於符記「vs」,且術語「識別符」對應於符記「01d31」。在一些實施例中,中間應用程式306可基於一些預定規則將接收到的資料的組分辨識為符記。
在步驟406中,中間應用程式306可映射包括符記及術語的索引。藉助於實例,如圖5A中所示出,中間應用程式306可
組態成辨識日誌502中的第一組分是對應於「提供者」的符記,日誌502中的第二組分是對應於「識別符」的符記,且/或日誌502的可指示日誌502的組分的一些其他特定排序是對應於某些術語的符記。在一些實施例中,一個術語的符記可以與不同術語的符記或其他非符記不同的方式格式化。此可允許中間應用程式306在日誌502的組分之中識別符記及對應術語。在一些實施例中,映射可形成用於儲存的資料的獨立塊,諸如圖5A中所示出的所映射索引506。
在一些實施例中,接收到的資料可含有反映資料傳輸時間的附加時間。舉例而言,在日誌502資料發送至中間應用程式306時,伺服器平台302可向資料附加指示傳輸時間的時間戳。在一些實施例中,系統300可進一步組態成基於時間索引化資訊。藉助於實例,如圖5A中所示出,中間應用程式306處理所映射索引資料506以進一步辨識術語「時間戳」,其對應於時間「202004011232」。
在步驟408中,中間應用程式306可將所映射索引儲存於第一資料庫中。藉助於實例,如圖5A中所示出,所映射索引506可儲存於索引資料庫314中。
在步驟410中,中間應用程式306可將鍵值對儲存於第二資料庫中。在一些實施例中,鍵對應於所映射索引,且值對應於接收到的資料的一部分。值可指伺服器平台302的效能的各種態樣,諸如CPU使用、記憶體使用、成本、網路使用、錯誤計數或操作計數。在一些實施例中,中間應用程式306基於一些預定規則使接收到的資料的一或多個組分與值相關聯。藉助於實例,如圖
5A中所示出,鍵值對508可包含鍵及值。鍵可包含所映射索引506中包含的資訊,諸如「提供者」、「識別符」以及「時間戳」。值可包含「cpu_usage」、「memory_usage」、「network_usage」及/或「error_count」。與值相關聯的資訊可以是日誌502的非符記部分,諸如「1」、「5」、「73」以及「1」。中間應用程式306可將鍵值對508儲存於結果資料庫316中。如先前所描述,結果資料庫可以是非關連式資料庫。
根據一些實施例,使用者可嘗試檢索與伺服器有關的資訊。由使用者搜尋的資訊可儲存於第二資料庫中,此類資訊可能先前已經由過程400儲存。使用者可經由搜尋操作將用於資訊的請求傳輸至中間應用程式306,其可處理請求且執行搜尋操作。在一些實施例中,請求可呈查詢形式,所述查詢可根據一些預定規則而格式化。舉例而言,查詢可以是正規表示式。
在步驟412中,中間應用程式306可接收查詢。在一些實施例中,若沒有接收到查詢,則過程400返回至步驟402以繼續索引化及儲存自伺服器平台302接收到的資料。藉助於如圖5B中所示出的實例,中間應用程式306可自使用者裝置318接收查詢510。在一些實施例中,查詢510可以是regrex表示式。在圖5B的所示出實例中,查詢510包含表示式「"value":vs\\01d31|06a12\\」。在一些實施例中,中間應用程式306可以是應用程式介面(application program interface;API)。
在步驟414中,中間應用程式306可最佳化查詢以降低查詢處理時間。在一些實施例中,中間應用程式306可自查詢510提取資訊,使得可產生替代表示式。以正規表示式直接使用查詢
510經由資料庫進行搜尋可能存在問題。由於正規表示式可以是任何搜尋串,故若所述串的字詞不仔細,則其可涵蓋系統可被強制梳理的廣泛範圍的資訊。因此,正規表示式可能由於其容易偶然創建尋找可能需要大量內部計算能力來執行的資料的無害表示式而為不理想的。實際上,中間應用程式306藉由將查詢510重整為與第一資料庫相容的替代表示式以執行索引搜尋來最佳化查詢。在一些實施例中,索引搜尋可以是倒置索引搜尋,且索引資料庫可以是倒置索引搜尋資料庫。替代表示式可以是術語查詢。在一些實施例中,術語查詢可包含配置在JSON檔案結構中的術語及符記。
在一些實施例中,最佳化查詢可包含藉由術語查詢替換不具有特殊字元的正規表示式。替代地或另外,最佳化查詢可包含藉由術語查詢替換具有「OR」運算子的正規表示式。替代地或另外,最佳化查詢可包含移除並不降低查詢結果的查詢元素。
藉助於如圖5B中所示出的實例,中間應用程式306自查詢510的正規表示式解析查詢510,以提取「值」、「vs」、「01d31」以及「06a12」。基於此實例正規表示式,中間應用程式306產生倒置索引搜尋查詢512。如圖5B中所描繪,倒置索引搜尋查詢512可以是術語查詢,其中術語為「提供者」及「識別符」,且對應符記為「vs」以及「01d31」及「06a12」。倒置索引搜尋查詢512亦可為「OR」運算子被替換的術語查詢的實例,此是因為倒置索引搜尋查詢512將傳回具有「01d31」、「06a12」或兩者的值的「識別符」的結果。
在步驟416中,中間應用程式306在第一資料庫上運行最佳化的查詢。如圖5B中所示出,中間應用程式306在索引數據
庫314中使用倒置索引搜尋查詢512執行倒置索引搜尋。在一些情形下,倒置索引搜尋傳回匹配,但在一些其他情形下,不傳回匹配。在所示出的實例中,索引資料庫314不含有具有「06a12」的值的「識別符」,但含有具有值「01d31」的「識別符」。基於此結果,中間應用程式306消除「06a12」。
在步驟418中,中間應用程式306可基於藉由相對於第一資料庫運行最佳化的查詢而獲得的結果建構搜尋鍵。在一些實施例中,搜尋鍵可以是與由中間應用程式306自使用者接收到的查詢不同的另一搜尋串。在一些實施例中,搜尋鍵可以是步驟410中產生的鍵值對中的鍵。藉助於如圖5B中所示出的實例,中間應用程式306基於步驟414中的搜尋的結果建構搜尋鍵514。
在步驟420中,中間應用程式306可自第二資料庫檢索結果值。在一些實施例中,結果值可對應於步驟410中產生的鍵值對中的值。結果值可傳回至使用者以用於顯示或查看。藉助於如圖5B中所示出的實例,中間應用程式306在結果資料庫316中使用搜尋鍵514運行查詢。一旦找到結果值516,中間應用程式306便經由使用者裝置318將其傳回至使用者。
儘管已參考本揭露內容的特定實施例繪示及描述本揭露內容,但應理解,可在不修改的情況下在其他環境中實踐本揭露內容。已出於示出的目的呈現前述描述。前述描述並不詳盡且不限於所揭露的精確形式或實施例。修改及調適對所屬技術領域中具有通常知識者將自本說明書的考量及所揭露實施例的實踐顯而易見。另外,儘管將所揭露實施例的態樣描述為儲存於記憶體中,但所屬技術領域中具有通常知識者應瞭解,此等態樣亦可儲存於其
他類型的電腦可讀媒體上,諸如次級儲存裝置,例如硬碟或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來設計。
此外,儘管本文中已描述示出性實施例,但所屬技術領域中具有通常知識者將基於本揭露內容瞭解具有等效元件、修改、省略、(例如,各種實施例中的態樣的)組合、調適及/或更改的任何及所有實施例的範圍。申請專利範圍中的限制應基於申請專利範圍中所採用的語言來廣泛地解釋,且不限於本說明書中所描述或在本申請案的審查期間的實例。實例應視為非排他性的。另外,所揭露方法的步驟可以包含藉由對步驟重新排序及/或插入或刪除步驟的任何方式修改。因此,希望僅將本說明書及實例視為示出性的,其中藉由以下申請專利範圍及其等效物的完整範圍指示真實範圍及精神。
300:系統
302:伺服器平台
304:網路
306:中間應用程式
308:處理器
310:I/O
312:記憶體
314:索引資料庫
316:結果資料庫
318:使用者裝置
Claims (20)
- 一種降低資料庫查詢延遲的電腦實行系統,所述系統包括:記憶體,儲存指令;以及至少一個處理器,組態成執行所述指令以執行操作,所述操作包括:接收反映虛擬伺服器上的角色的效能的資料;識別與接收到的所述資料中的術語相關聯的符記;映射包括所述符記及所述術語的索引;將所映射的所述索引儲存於第一資料庫中;將鍵值對儲存於第二資料庫中,所述鍵對應於所映射的所述索引,且所述值對應於接收到的所述資料的一部分;接收查詢;通過自所述查詢中提取資訊以產生與所述第一資料庫相容的替代表示式來最佳化所述查詢以降低查詢處理時間;基於藉由相對於所述第一資料庫運行最佳化的所述查詢而獲得的結果建構搜尋鍵,其中所述搜尋鍵對應於所述鍵值對中的所述鍵;以及自所述第二資料庫檢索對應於所述搜尋鍵的結果值。
- 如請求項1所述的系統,其中最佳化所述查詢以降低查詢處理時間包括:藉由術語查詢替換不具有特殊字元的正規表示式,藉由術語查詢替換具有或(OR)運算子的正規表示式,以及移除並不降低查詢結果的查詢元素。
- 如請求項1所述的系統,其中所述第二資料庫為非關連式資料庫。
- 如請求項1所述的系統,其中所述術語包括提供者、虛擬伺服器識別符、資源識別符以及量度識別符中的至少一者。
- 如請求項4所述的系統,其中接收到的所述資料更包括反映所述資料傳輸時間的附加時間,且所述術語更包括時間戳。
- 如請求項1所述的系統,其中識別與接收到的所述資料中的術語相關聯的符記包括藉由正規表示式處理接收到的所述資料。
- 如請求項1所述的系統,其中所述值包括中央處理單元(CPU)使用、記憶體使用、成本、網路使用、錯誤計數或操作計數中的至少一者。
- 如請求項1所述的系統,其中最佳化的所述查詢包括配置在JSON檔案結構中的術語及符記。
- 如請求項1所述的系統,其中所述結果值對應於所述鍵值對中的所述值。
- 如請求項1所述的系統,其中相對於所述第一資料庫運行最佳化的所述查詢包括使用應用程式介面(API)轉移最佳化的所述查詢。
- 一種降低資料庫查詢延遲的電腦實行方法,所述方法包括:接收反映虛擬伺服器上的角色的效能的資料;識別與接收到的所述資料中的術語相關聯的符記; 映射包括所述符記及所述術語的索引;將所映射的所述索引儲存於第一資料庫中;將鍵值對儲存於第二資料庫中,所述鍵對應於所映射的所述索引,且所述值對應於接收到的所述資料的一部分;接收查詢;通過自所述查詢中提取資訊以產生與所述第一資料庫相容的替代表示式來最佳化所述查詢以降低查詢處理時間;基於藉由相對於所述第一資料庫運行最佳化的所述查詢而獲得的結果建構搜尋鍵,其中所述搜尋鍵對應於所述鍵值對中的所述鍵;以及自所述第二資料庫檢索對應於所述搜尋鍵的結果值。
- 如請求項11所述的方法,其中最佳化所述查詢以降低查詢處理時間包括:藉由術語查詢替換不具有特殊字元的正規表示式,藉由術語查詢替換具有或(OR)運算子的正規表示式,以及移除並不降低查詢結果的查詢元素。
- 如請求項11所述的方法,其中所述第二資料庫為非關連式資料庫。
- 如請求項11所述的方法,其中所述術語包括提供者、虛擬伺服器識別符、資源識別符以及量度識別符中的至少一者。
- 如請求項14所述的方法,其中接收到的所述資料更包括反映所述資料傳輸時間的附加時間,且所述術語更包括時間戳。
- 如請求項11所述的方法,其中識別與接收到的所述 資料中的術語相關聯的符記包括藉由正規表示式處理接收到的所述資料。
- 如請求項11所述的方法,其中所述值包括中央處理單元(CPU)使用、記憶體使用、成本、網路使用、錯誤計數或操作計數中的至少一者。
- 如請求項11所述的方法,其中最佳化的所述查詢包括配置在JSON檔案結構中的術語及符記。
- 如請求項11所述的方法,其中所述結果值對應於所述鍵值對中的所述值。
- 一種降低資料庫查詢延遲的電腦實行方法,所述方法包括:接收反映虛擬伺服器上的角色的效能的資料;識別與接收到的所述資料中的術語相關聯的符記;映射包括所述符記及所述術語的索引;將所映射的所述索引儲存於第一資料庫中;將鍵值對儲存於第二資料庫中,所述鍵對應於所映射的所述索引,且所述值對應於接收到的所述資料的一部分;接收查詢;通過自所述查詢中提取資訊以產生與所述第一資料庫相容的替代表示式來最佳化所述查詢以降低查詢處理時間,包括:藉由術語查詢替換不具有特殊字元的正規表示式,藉由術語查詢替換具有或(OR)運算子的正規表示式,或移除並不降低查詢結果的查詢元素;基於藉由相對於所述第一資料庫運行最佳化的所述查詢而獲 得的結果建構搜尋鍵,最佳化的所述查詢包括配置在JSON檔案結構中的術語及符記,並且所述搜尋鍵對應於所述鍵值對中的所述鍵;以及自所述第二資料庫檢索對應於所述搜尋鍵的結果值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/872,947 | 2020-05-12 | ||
US16/872,947 US11210288B2 (en) | 2020-05-12 | 2020-05-12 | Systems and methods for reducing database query latency |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202143062A TW202143062A (zh) | 2021-11-16 |
TWI773048B true TWI773048B (zh) | 2022-08-01 |
Family
ID=78512440
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109145982A TWI773048B (zh) | 2020-05-12 | 2020-12-24 | 降低資料庫查詢延遲之系統以及方法 |
TW111124766A TW202242673A (zh) | 2020-05-12 | 2020-12-24 | 降低資料庫查詢延遲之系統以及方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111124766A TW202242673A (zh) | 2020-05-12 | 2020-12-24 | 降低資料庫查詢延遲之系統以及方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11210288B2 (zh) |
KR (2) | KR102377083B1 (zh) |
SG (1) | SG11202104725WA (zh) |
TW (2) | TWI773048B (zh) |
WO (1) | WO2021229292A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11914592B2 (en) * | 2018-02-27 | 2024-02-27 | Elasticsearch B.V. | Systems and methods for processing structured queries over clusters |
US11019166B2 (en) | 2018-02-27 | 2021-05-25 | Elasticsearch B.V. | Management services for distributed computing architectures using rolling changes |
US11943295B2 (en) | 2019-04-09 | 2024-03-26 | Elasticsearch B.V. | Single bi-directional point of policy control, administration, interactive queries, and security protections |
KR20240003313A (ko) * | 2022-06-30 | 2024-01-08 | 쿠팡 주식회사 | 데이터 제공 방법 및 그 장치 |
KR20240099751A (ko) | 2022-12-22 | 2024-07-01 | 주식회사 티맥스티베로 | 쿼리를 병렬 실행하기 위한 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074352A1 (en) * | 2001-09-27 | 2003-04-17 | Raboczi Simon D. | Database query system and method |
US20180329999A1 (en) * | 2017-05-15 | 2018-11-15 | Ebay Inc. | Methods and systems for query segmentation |
WO2019045961A1 (en) * | 2017-08-31 | 2019-03-07 | Micron Technology, Inc. | PROBABILISTIC FILTRATION QUERY LATENCY REDUCTION |
TW201944232A (zh) * | 2018-04-16 | 2019-11-16 | 中華電信股份有限公司 | 使用統一聚合查詢語言獲取資源的方法及系統 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7054855B2 (en) * | 2001-07-03 | 2006-05-30 | International Business Machines Corporation | Method and system for performing a pattern match search for text strings |
US6965894B2 (en) * | 2002-03-22 | 2005-11-15 | International Business Machines Corporation | Efficient implementation of an index structure for multi-column bi-directional searches |
US7716180B2 (en) * | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
US8954412B1 (en) * | 2006-09-28 | 2015-02-10 | Google Inc. | Corroborating facts in electronic documents |
US20090199175A1 (en) * | 2008-01-31 | 2009-08-06 | Microsoft Corporation | Dynamic Allocation of Virtual Application Server |
US9378263B2 (en) * | 2012-06-19 | 2016-06-28 | Salesforce.Com, Inc. | Method and system for creating indices and loading key-value pairs for NoSQL databases |
US9081826B2 (en) * | 2013-01-07 | 2015-07-14 | Facebook, Inc. | System and method for distributed database query engines |
US9342557B2 (en) | 2013-03-13 | 2016-05-17 | Cloudera, Inc. | Low latency query engine for Apache Hadoop |
CN103617174A (zh) | 2013-11-04 | 2014-03-05 | 同济大学 | 一种基于云计算的分布式搜索方法 |
US9535990B2 (en) | 2014-05-20 | 2017-01-03 | Google Inc. | Systems and methods for generating video program extracts based on search queries |
CN105279157B (zh) | 2014-05-29 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 一种正则查询的方法和装置 |
US9734176B2 (en) * | 2014-06-12 | 2017-08-15 | International Business Machines Corporation | Index merge ordering |
CN105139592B (zh) | 2015-09-29 | 2017-07-25 | 国网上海市电力公司 | 一种室外电流致热型设备温度负荷报警方法 |
US10585867B2 (en) * | 2016-05-25 | 2020-03-10 | Mongodb, Inc. | Systems and methods for generating partial indexes in distributed databases |
US10558458B2 (en) | 2016-06-06 | 2020-02-11 | Microsoft Technology Licensing, Llc | Query optimizer for CPU utilization and code refactoring |
US20190121998A1 (en) * | 2017-10-20 | 2019-04-25 | Dornerworks, Ltd. | Computer system data guard |
JP6823626B2 (ja) * | 2018-08-03 | 2021-02-03 | 株式会社日立製作所 | データベース管理システム及び方法 |
KR102047233B1 (ko) | 2018-10-22 | 2019-11-21 | 강릉원주대학교산학협력단 | 이중 부하 분산을 이용한 메타데이터 검색 시스템 및 이중 부하 분산을 통한 데이터베이스 관리 방법 |
-
2020
- 2020-05-12 US US16/872,947 patent/US11210288B2/en active Active
- 2020-07-09 KR KR1020200084847A patent/KR102377083B1/ko active IP Right Grant
- 2020-12-24 TW TW109145982A patent/TWI773048B/zh active
- 2020-12-24 TW TW111124766A patent/TW202242673A/zh unknown
- 2020-12-30 SG SG11202104725WA patent/SG11202104725WA/en unknown
- 2020-12-30 WO PCT/IB2020/062562 patent/WO2021229292A1/en active Application Filing
-
2021
- 2021-11-18 US US17/455,621 patent/US11681701B2/en active Active
-
2022
- 2022-03-16 KR KR1020220033006A patent/KR102548958B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074352A1 (en) * | 2001-09-27 | 2003-04-17 | Raboczi Simon D. | Database query system and method |
US20180329999A1 (en) * | 2017-05-15 | 2018-11-15 | Ebay Inc. | Methods and systems for query segmentation |
WO2019045961A1 (en) * | 2017-08-31 | 2019-03-07 | Micron Technology, Inc. | PROBABILISTIC FILTRATION QUERY LATENCY REDUCTION |
TW201944232A (zh) * | 2018-04-16 | 2019-11-16 | 中華電信股份有限公司 | 使用統一聚合查詢語言獲取資源的方法及系統 |
Also Published As
Publication number | Publication date |
---|---|
KR102548958B1 (ko) | 2023-06-29 |
WO2021229292A1 (en) | 2021-11-18 |
KR102377083B1 (ko) | 2022-03-22 |
US20210357405A1 (en) | 2021-11-18 |
US11681701B2 (en) | 2023-06-20 |
SG11202104725WA (en) | 2021-12-30 |
TW202242673A (zh) | 2022-11-01 |
US11210288B2 (en) | 2021-12-28 |
KR20220040446A (ko) | 2022-03-30 |
KR20210138455A (ko) | 2021-11-19 |
TW202143062A (zh) | 2021-11-16 |
US20220075779A1 (en) | 2022-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI773048B (zh) | 降低資料庫查詢延遲之系統以及方法 | |
TWI801861B (zh) | 根據產品特性決定產品價格的倉儲管理電腦實行系統以及方法 | |
US11386478B1 (en) | Computerized systems and methods for using artificial intelligence to generate product recommendations | |
TWI813926B (zh) | 用於網頁顯示修正的電腦化系統及方法 | |
TW202223683A (zh) | 用於管理高度可獲取分佈混合資料庫的電腦實行系統以及方法 | |
KR20230134454A (ko) | 데이터의 동적 집계와 데이터 손실의 최소화를 위한 시스템 및 방법 | |
TWI755221B (zh) | 用於追蹤線上社群的電腦實行系統以及方法 | |
TWI830162B (zh) | 用於產生資料交易日誌的系統以及方法 | |
US20220164862A1 (en) | Computerized systems and methods for large-scale product listing | |
TWI760043B (zh) | 詐欺偵測與使用者帳號去除重複之電腦化系統以及方法 | |
WO2023180799A1 (en) | Systems and methods for identifying top alternative products based on a deterministic or inferential approach | |
TWI760982B (zh) | 透過進行小波轉換產生需求預測數據用於產生準確訂購單之電腦實行系統以及方法 | |
TW202217683A (zh) | 用於儲存與一系列事件相關的資料的電腦實行資料庫系統以及電腦實行方法 | |
WO2022224027A1 (en) | Systems and methods for reducing disk usage and network latency | |
TW202207126A (zh) | 用於資訊在使用者介面上的模組加載的電腦實行系統以及方法 | |
KR20240073728A (ko) | 유사한 제품 추천을 위해 수정된 사용자 인터페이스를 동적으로 생성하는 시스템 및 방법 | |
TW202349227A (zh) | 用於偵測產品品名中的不準確的電腦實行系統以及方法 | |
TW202131245A (zh) | 判定物件分群以用於包裝的電腦化系統及電腦實行方法 |