TWI720390B - 最佳化空間大數據分區的系統、方法和非暫時性電腦可讀取媒體 - Google Patents

最佳化空間大數據分區的系統、方法和非暫時性電腦可讀取媒體 Download PDF

Info

Publication number
TWI720390B
TWI720390B TW107145782A TW107145782A TWI720390B TW I720390 B TWI720390 B TW I720390B TW 107145782 A TW107145782 A TW 107145782A TW 107145782 A TW107145782 A TW 107145782A TW I720390 B TWI720390 B TW I720390B
Authority
TW
Taiwan
Prior art keywords
partitions
data set
modified
initial
data
Prior art date
Application number
TW107145782A
Other languages
English (en)
Other versions
TW201939308A (zh
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 TW201939308A publication Critical patent/TW201939308A/zh
Application granted granted Critical
Publication of TWI720390B publication Critical patent/TWI720390B/zh

Links

Images

Classifications

    • 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/2228Indexing structures
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • 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/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/909Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Library & Information Science (AREA)
  • Navigation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Electron Beam Exposure (AREA)

Abstract

用於最佳化空間大數據分區的系統,可以執行包括獲取第一資料集的方法,該第一資料集是與目標區域內的空間資訊相關的空間大數據集。該方法還可以包括基於空間資訊,將第一資料集劃分為複數個第一初始分區。該方法還可以包括基於複數個第一初始分區,確定第一資料集的第一空間索引。該方法還可以包括基於第一空間索引,藉由獲取與複數個第一初始分區相關的複數個第一邊界資料集,產生複數個第一修改分區,並對複數個第一邊界資料集進行第一洗牌操作。

Description

最佳化空間大數據分區的系統、方法和非暫時性電腦可讀取媒體
本申請一般涉及空間大數據的管理,更具體地,涉及用於接合資料集的系統和方法。
本申請主張於2017年12月29日提交的國際申請案PCT/CN2017/119894的優先權,該國際申請案主張於2017年12月29日提交的國際申請案PCT/CN2017/119699的優先權,以上內容藉由引用包含於此。
在網際網路時代,線上隨選服務平台可以從其使用者或其他實體接收包括使用者的即時或歷史位置的空間大數據集。可以執行接合操作以將空間大數據集與另一個資料集組合。例如,可以執行接合操作以將空間大數據集與包括路網圖的資料集進行比較,以確定未包括在路網圖中的新道路。然而,由於空間大數據集中的資料量非常大,因此難以有效地處理空間大數據集。因此,期望提供用於接合資料集的系統和方法,以有效地處理空間大數據集。
根據本申請的第一態樣,用於最佳化空間大數據分區的資料處理 電子系統可包括至少一個儲存裝置和至少一個處理器,該至少一個處理器被配置為與至少一個儲存裝置通訊。該至少一個儲存裝置可包括一組指令。當執行一組指令時,可指示至少一個處理器執行一個或多個以下操作。至少一個處理器可以獲取第一資料集。第一資料集可以是與目標區域內的空間資訊相關的空間大數據集。至少一個處理器可以基於空間資訊,將第一資料集劃分為複數個第一初始分區。至少一個處理器可以基於複數個第一初始分區,確定第一資料集的第一空間索引。所述至少一個處理器可以基於第一空間索引,藉由獲取與所述複數個第一初始分區相關的複數個第一邊界資料集以及對複數個第一邊界資料集進行第一次洗牌操作,產生複數個第一修改分區。複數個第一邊界資料集可包括與複數個第一初始分區周圍的一個或多個第一區域相關的資料。
在一些實施例中,至少一個處理器可以基於第一空間索引,確定複數個第一初始分區中的每一個分區的空間索引範圍。所述至少一個處理器可以基於所述複數個第一初始分區的空間索引範圍,確定與所述複數個第一初始分區相關的複數個第一邊界資料集。
在一些實施例中,至少一個處理器可以根據分散式運算方法,對複數個第一初始分區進行分散式運算,以產生複數個第一修改分區。
在一些實施例中,至少一個處理器可以獲取目標區域內的第二資料集。至少一個處理器可以將第二資料集劃分為複數個第二初始分區。至少一個處理器可以基於複數個第二初始分區,確定第二資料集的第二空間索引。至少一個處理器可以根據分散式運算方法和第二空間索引,對複數個第二初始分區進行分散式運算,以產生複數個第二修改分區。
在一些實施例中,為了產生複數個第二修改分區,所述至少一個處理器可以基於第二空間索引,獲取與複數個第二初始分區相關的複數個第二邊界資料集。複數個第二邊界資料集可包括與複數個第二初始分區周圍的一個 或多個第二區域相關的資料。所述至少一個處理器可以對所述複數個第二邊界資料集進行第二洗牌操作,以產生所述複數個第二修改分區。
在一些實施例中,至少一個處理器可以將第一資料集中的複數個第一修改分區中的至少一個分區和第二資料集中的複數個第二修改分區中的至少一個分區進行接合。
在一些實施例中,第一資料集可以包括與電子系統通訊的複數個使用者終端的軌跡點,並且第二資料集包括目標區域的路網資訊。
在一些實施例中,對於複數個第二修改分區中的每一個分區,第二修改分區的位置、第二修改分區的面積、以及第二修改分區的形狀均可以與複數個第一修改分區中的其中一個分區相同。
在一些實施例中,第一空間索引或第二空間索引可以與希爾伯特曲線或Z曲線中的至少一個相關。
在一些實施例中,分散式運算方法可以包括Spark框架、Hadoop、Phoenix、Disco或Mars中的至少一種方法。
根據本申請的另一態樣,最佳化空間大數據分區的方法可包括以下操作的一個或多個。至少一個處理器可以獲取第一資料集。第一資料集可以是與目標區域內的空間資訊相關的空間大數據集。至少一個處理器可以基於空間資訊,將第一資料集劃分為複數個第一初始分區。至少一個處理器可以基於複數個第一初始分區,確定第一資料集的第一空間索引。至少一個處理器可以基於第一空間索引,藉由獲取與複數個第一初始分區相關的複數個第一邊界資料集以及對複數個第一邊界資料集進行第一洗牌操作產生複數個第一修改分區。複數個第一邊界資料集可包括與複數個第一初始分區周圍的一個或多個第一區域相關的資料。
根據本申請的又一態樣,非暫時性電腦可讀取媒體可包括至少一 組指令。至少一組指令可以由電腦伺服器的至少一個處理器執行。至少一個處理器可以獲取第一資料集。第一資料集可以是與目標區域內的空間資訊相關的空間大數據集。至少一個處理器可以基於空間資訊,將第一資料集劃分為複數個第一初始分區。至少一個處理器可以基於複數個第一初始分區,確定第一資料集的第一空間索引。至少一個處理器可以基於第一空間索引,藉由獲取與複數個第一初始分區相關的複數個第一邊界資料集以及對複數個第一邊界資料集進行第一洗牌操作,產生複數個第一修改分區。複數個第一邊界資料集可包括與複數個第一初始分區周圍的一個或多個第一區域相關的資料。
根據本申請的又一態樣,用於最佳化空間大數據分區的系統可包括獲取模組,被配置為獲取第一資料集。第一資料集可以是與目標區域內的空間資訊相關的空間大數據集。系統還可以包括資料集處理模組,被配置為基於空間資訊,將第一資料集劃分為複數個第一初始分區,以及基於複數個第一初始分區,確定第一資料集的第一空間索引。該系統還可以包括擴展模組,被配置為基於第一空間索引,藉由獲取與複數個第一初始分區相關的複數個第一邊界資料集以及對複數個第一邊界資料集進行第一洗牌操作,產生複數個第一修改分區。複數個第一邊界資料集可包括與複數個第一初始分區周圍的一個或多個第一區域相關的資料。
本申請的一部分附加特徵可以在下面的描述中進行說明。藉由對以下描述和相應圖式的研究或者對實施例的生產或操作的瞭解,本申請的一部分附加特徵對於本領域具有通常知識者是明顯的。本申請的特徵可以藉由對以下描述的具體實施例的各種態樣的方法、手段和組合的實踐或使用得以實現和達到。
100:隨選服務系統
110:伺服器
112:處理引擎
120:網路
120-1:網際網路交換點
120-2:網際網路交換點
140:使用者終端
140-1:行動裝置
140-2:平板電腦
140-3:膝上型電腦
150:儲存裝置
160:定位系統
200:計算裝置
210:處理器
210-a:介面電路
210-b:處理電路
220:儲存器
230:I/O
240:通訊埠
300:行動裝置
310:通訊平台
320:顯示器
330:圖形處理單元(GPU)
340:中央處理單元(CPU)
350:I/O
360:記憶體
370:作業系統
380:應用程式
390:儲存器
401:獲取模組
403:資料集處理模組
405:擴展模組
407:接合模組
440:排序模組
500-1:流程
501:步驟
503:步驟
505:步驟
507:步驟
500-2:流程
509:步驟
511:步驟
513:步驟
515:步驟
517:步驟
600:流程
601:步驟
603:步驟
605:步驟
607:步驟
609:步驟
611:步驟
613:步驟
700:流程
701:步驟
703:步驟
705:步驟
802:初始分區
804:邊界資料集
806:資料區塊
901:管理器
903-1:工作節點
903-i:工作節點
903-n:工作節點
1102:修改分區
1102’:修改分區
1104:修改分區
1104’:修改分區
本申請將藉由示例性實施例進行進一步描述。這些示例性實施例將參考圖式進行詳細描述。這些實施例是非限制性的示例性實施例,在這些實施例中,各圖中相同的編號表示相似的結構,其中:圖1係根據本申請的一些實施例所示的示例性隨選服務系統的示意圖;圖2係根據本申請的一些實施例所示的可以在其上實現處理引擎112的計算裝置的示例性硬體及/或軟體組件的示意圖;圖3係根據本申請的一些實施例所示的可以在其上實現使用者終端140的行動裝置的示例性硬體及/或軟體組件的示意圖;圖4係根據本申請的一些實施例所示的示例性處理引擎的方塊圖;圖5A是根據本申請的一些實施例所示的用於產生複數個第一修改分區的示例性流程的流程圖。
圖5B是根據本申請的一些實施例所示的用於接合兩個資料集的示例性流程的流程圖。
圖6係根據本申請的一些實施例所示的用於將資料集劃分為複數個分區的示例性流程的流程圖;圖7係根據本申請的一些實施例所示的用於產生複數個修改分區的示例性流程的流程圖。
圖8係根據本申請的一些實施例所示的示例性邊界資料集的示意圖;圖9係根據本申請的一些實施例所示的根據分散式運算方法基於複數個初始分區確定複數個修改分區的示例性流程的示意圖;圖10係根據本申請的一些實施例所示的示例性修改分區和示例 性初始分區的示意圖;圖11係根據本申請的一些實施例所示的示例性相對應的修改分區的示意圖;以及圖12係根據本申請的一些實施例所示的基於分散式運算方法接合兩個資料集的示例性流程的示意圖。
以下描述是為了使本領域具有通常知識者能夠實施和利用本申請,並且該描述是在特定的應用場景及其要求的環境下提供的。對於本領域具有通常知識者來講,顯然可以對所揭露的實施例作出各種改變,並且在不偏離本申請的原則和範圍的情況下,本申請中所定義的普遍原則可以適用於其他實施例和應用場景。因此,本申請並不限於所描述的實施例,而應該被給予與申請專利範圍一致的最廣泛的範圍。
本申請中所使用的術語僅用於描述特定的示例性實施例,並不限制本申請的範圍。如本申請使用的單數形式「一」、「一個」及「該」可以同樣包括複數形式,除非上下文明確提示例外情形。還應當理解,如在本申請中,術語「包括」、「包含」僅提示存在所述特徵、整體、步驟、操作、元件及/或部件,但並不排除存在或添加一個或多個其他特徵、整體、步驟、操作、元件、部件及/或其組合的情況。
根據以下對圖式的描述,本申請的這些和其他的特徵、特點以及相關結構組件的功能和操作方法,以及部件組合和製造經濟性,可以變得更加顯而易見,這些圖式都構成本申請說明書的一部分。然而,應當理解的是,圖式僅僅是為了說明和描述的目的,並不旨在限制本申請的範圍。應當理解的是,圖式並不是按比例繪製的。
本申請中使用了流程圖用來說明根據本申請的一些實施例的系統所執行的操作。應當理解的是,流程圖中的操作可以不按循序執行。相反,可以按照倒序或同時處理各種步驟。同時,也可以將一個或多個其他操作添加到這些流程圖中。也可以從流程圖中刪除一個或多個操作。
此外,儘管本申請中揭露的系統和方法主要是關於接合資料集的,但是還應該理解,這僅是一個示例性實施例。本申請的系統或方法可以應用於可以產生空間大數據的任何應用場景。例如,本申請的系統和方法可以應用於不同的運輸系統,包括陸地、海洋、航太或類似物或其任意組合。運輸系統的運輸工具可以包括計程車、私家車、搭便車、公車、列車、子彈列車、高鐵、地鐵、船隻、飛機、太空船、熱氣球、無人駕駛運輸工具、自行車、三輪車、摩托車或類似物、或其任意組合。本申請的系統和方法可以應用於計程車招叫、代駕服務、送貨服務、共乘、公車服務、外賣服務、司機雇用、運輸工具租賃、自行車共用服務、列車服務、地鐵服務、接泊車服務、定位服務或類似物或類似物。如這裡所使用的,大數據指的是數量大到需要索引以進行有效處理的程度的資料。
本申請中使用的定位技術可以包括全球定位系統(Global Positioning System,GPS)、全球衛星導航系統(Global Navigation Satellite System,GLONASS)、北斗導航系統(Compass Navigation System,COMPASS)、伽利略定位系統、準天頂衛星系統(Quasi-Zenith Satellite System,QZSS)、無線保真(Wireless Fidelity,WiFi)定位技術或類似物或其任意組合。以上定位技術中的一個或多個可以在本申請中交換使用。
本申請的一個態樣涉及用於接合資料集的系統和方法。本申請中的系統和方法可以被配置為接合路網資料集以及空間大數據集,所述空間大數據集包括與線上隨選服務平台通訊的使用者終端的大量(從數十億到數千億的規模)軌跡點。為此,該系統和方法提供索引系統以支援有效地管理和處理資料 集。根據本申請的實施例,系統和方法可以將特殊大數據集劃分為多個分區並單獨對每個分區添加索引。然後,系統和方法可以藉由向分區周圍的區域添加邊界資料集並對邊界資料集進行洗牌操作來修改每個分區。該系統和方法可以對路網資料集執行相同的操作。當線上隨選服務平台需要接合兩個資料集中的幾個分區時,例如,當平台的使用者想知道現有路網地圖中是否存在未包含的新道路時,兩個資料集的上述索引系統可以在兩個資料集的相應分區中促進資料搜索和接合,特別是當兩個資料集的資料規模為十億或更大並且搜索和接合操作需要在幾微秒或幾納秒內完成時。
圖1係根據本申請的一些實施例所示的示例性隨選服務系統的示意圖。隨選服務系統100可以包括伺服器110、網路120、使用者終端140、儲存裝置150和定位系統160。
在一些實施例中,伺服器110可以是單個伺服器,也可以是伺服器組。所述伺服器組可以是集中式的,也可以是分散式的(例如,伺服器110可以是分散式的系統)。在一些實施例中,伺服器110可以是本地的,也可以是遠端的。例如,伺服器110可以藉由網路120存取儲存在使用者終端140及/或儲存裝置150中的資訊及/或資料。又例如,伺服器110可以直接連接到使用者終端140及/或儲存裝置150以存取儲存的資訊及/或資料。在一些實施例中,伺服器110可以在雲端平台上實施。僅作為示例,該雲端平台可以包括私有雲、公共雲、混合雲、社區雲、分佈雲、內部雲、多層雲或類似物或其任意組合。在一些實施例中,伺服器110可以在本申請中的圖2描述的包含了一個或多個組件的計算裝置200上執行。
在一些實施例中,伺服器110可以包括處理引擎112。處理引擎112可以處理資訊及/或資料,以執行本申請中描述的一個或多個功能。例如,處理引擎112可以對空間大數據集中的分區執行洗牌操作。在一些實施例中,所述處 理引擎112可包括一個或多個處理引擎(例如,單核心處理引擎或多核心處理引擎)。僅作為示例,處理引擎112可以包括一個或多個硬體處理器,例如中央處理單元(CPU)、特定應用積體電路(ASIC)、特定應用指令集處理器(ASIP)、圖形處理單元(GPU)、物理運算處理單元(PPU)、數位訊號處理器(DSP)、場可程式閘陣列(FPGA)、可程式設計邏輯裝置(PLD)、控制器、微控制器單元、精簡指令集電腦(RISC)、微處理器或類似物或其任意組合。
網路120可以促進資訊及/或資料的交換。在一些實施例中,隨選服務系統100中的一個或多個元件(例如,伺服器110、使用者終端140、儲存裝置150和定位系統160)可以通過網路120將資訊及/或資料發送到隨選服務系統100中的其他元件。例如,處理引擎112可以通過網路120從儲存裝置150及/或使用者終端140獲取複數個資料點。在一些實施例中,網路120可以是任意類型之有線網路或無線網路或其組合。僅作為示例,網路120可以包括纜線網路、有線網路、光纖網路、遠端通訊網路、內部網路、網際網路、區域網路(LAN)、廣域網路(WAN)、無線區域網路(WLAN)、都會網路(MAN)、公共交換電話網路(PSTN)、藍牙TM網路、紫蜂網路、近場通訊(NFC)網路或類似物或其任意組合。在一些實施例中,網路120可以包括一個或多個網路存取點。例如,網路120可以包括有線或無線網路存取點,如基地台及/或網際網路交換點120-1、120-2、......。藉由存取點,隨選服務系統100的一個或多個部件可以連接到網路120以交換資料及/或資訊。
在一些實施例中,使用者終端140可以包括行動裝置140-1、平板電腦140-2、膝上型電腦140-3或類似物,或其任何組合。在一些實施例中,行動裝置140-1可以包括智慧家居裝置、可穿戴裝置、行動裝置、虛擬實境裝置、擴增實境裝置或類似物或其任意組合。在一些實施例中,智慧家居裝置可以包括智慧照明裝置、智慧電器控制裝置、智慧監控裝置、智慧電視、智慧視訊攝影機、 對講機或類似物或其任意組合。在一些實施例中,可穿戴裝置可以包括手環、鞋襪、眼鏡、頭盔、手錶、衣物、背包、智慧配飾或類似物或其任意組合。在一些實施例中,行動裝置可以包括行動電話、個人數位助理(PDA)、遊戲裝置、導航裝置、銷售點(POS)、膝上型電腦、桌上型電腦或類似物或其任意組合。在一些實施例中,虛擬實境裝置及/或增強型虛擬實境裝置可以包括虛擬實境頭盔、虛擬實境眼鏡、虛擬實境眼罩、擴增實境頭盔、擴增實境眼鏡、擴增實境眼罩或類似物或其任意組合。例如,虛擬實境裝置及/或擴增實境裝置可以包括Google GlassTM、RiftConTM、FragmentsTM、GearVRTM或類似物。在一些實施例中,使用者終端140可以是具有定位技術的裝置,用於定位使用者終端140的位置。在一些實施例中,使用者終端140可以將定位資訊發送到伺服器110。
儲存裝置150可以儲存資料及/或指令。在一些實施例中,儲存裝置150可以儲存從使用者終端140及/或處理引擎112獲取的資料。例如,儲存裝置150可以儲存從使用者終端140獲取的複數個資料點。又例如,儲存裝置150可以儲存由處理引擎112確定的空間大數據集中的已被洗牌的分區。在一些實施例中,儲存裝置150可以儲存伺服器110可執行或用於執行本申請中描述的示例性方法的資料及/或指令。例如,儲存裝置150可以儲存處理引擎112可以執行或使用的指令以在空間大數據集中的分區上執行洗牌操作。在一些實施例中,儲存裝置150可包括大容量儲存器、可移除式儲存器、揮發性讀寫儲存器、唯讀記憶體(ROM)或類似物或其任意組合。示例性大容量儲存器可以包括磁碟、光碟、固態硬碟或類似物。示例性可移除式儲存器可以包括隨身碟、軟磁碟、光碟、記憶卡、壓縮磁碟、磁帶或類似物。示例性揮發性讀寫儲存器可以包括隨機存取記憶體(RAM)。示例性RAM可包括動態隨機存取記憶體(DRAM)、雙倍資料速率同步動態隨機存取記憶體(DDR SDRAM)、靜態隨機存取記憶體(SRAM)、閘流體隨機存取記憶體(T-RAM)和零電容隨機存取記憶體(Z-RAM)或類似 物。示例性唯讀記憶體可以包括遮罩型唯讀記憶體(MROM)、可程式唯讀記憶體(PROM)、可清除可程式唯讀記憶體(EPROM)、電可清除可程式唯讀記憶體(EEPROM)、光碟唯讀記憶體(CD-ROM)和數位多功能磁碟唯讀記憶體或類似物。在一些實施例中,所述儲存裝置150可以在雲端平台上實現。僅作為示例,該雲端平台可以包括私有雲、公共雲、混合雲、社區雲、分佈雲、內部雲、多層雲或類似物或其任意組合。
在一些實施例中,儲存裝置150可以連接到網路120,以與隨選服務系統100中的一個或多個元件(例如,伺服器110、使用者終端140或類似物)通訊。隨選服務系統100中的一個或多個元件可以通過網路120存取儲存在儲存裝置150中的資料或指令。在一些實施例中,儲存裝置150可以直接連接到隨選服務系統100中的一個或多個元件(例如,伺服器110、使用者終端140或類似物)或與之通訊。在一些實施例中,儲存裝置150可以是伺服器110的一部分。
定位系統160可以確定與物件(例如,使用者終端140)相關的資訊。例如,定位系統160可以即時確定使用者終端140的位置。在一些實施例中,定位系統160可以是全球定位系統(GPS)、全球導航衛星系統(GLONASS)、羅盤導航系統(COMPASS)、北斗導航衛星系統、伽利略定位系統、準天頂衛星系統(QZSS)或類似物。該資訊可以包括物件的位置、高度、速度或加速度、累積里程數或當前時間。位置可以是座標的形式,例如緯度座標和經度座標或類似物。定位系統160可以包括一個或多個的衛星,例如衛星160-1、衛星160-2和衛星160-3。衛星160-1至160-3可以獨立地或共同地確定上述資訊。衛星定位系統160可以通過無線連接將上述資訊發送給網路120或使用者終端140。
圖2係根據本申請的一些實施例所示的可以在其上實現處理引擎112的計算裝置的示例性硬體及/或軟體組件的示意圖如圖2所示,計算裝置200可以包括處理器210、儲存器220、輸入/輸出(I/O)230和通訊埠240。
處理器210(例如,邏輯電路)可以執行電腦指令(例如,程式碼)並且根據這裡描述的技術來執行處理引擎112的功能。例如,處理器210可以包括介面電路210-a和其中的處理電路210-b。介面電路可以被配置為接收來自匯流排(圖2中未示出)的電子信號,其中電子信號編碼用於處理電路的結構化資料及/或指令。處理電路可以進行邏輯計算,然後將結論、結果及/或指令編碼確定為電信號。然後,介面電路可以通過匯流排從處理電路發出電信號。
所述電腦指令可以包括例如常式、程式、物件、元件、資料結構、流程、模組以及函數,並由其執行本文描述的特定功能。例如,處理器210可以處理從使用者終端140、儲存裝置150及/或隨選服務系統100的任何其他元件獲取的複數個資料點。在一些實施例中,處理器210可以包括一個或多個硬體處理器,諸如微控制器、微處理器、精簡指令集電腦(RISC)、特定應用積體電路(ASIC)、特定應用指令集處理器(ASIP)、中央處理單元(CPU)、圖形處理單元(GPU)、物理處理單元(PPU)、微控制器單元、數位訊號處理器(DSP)、場可程式閘陣列(FPGA)、高階RISC機器(ARM)、可程式設計邏輯裝置(PLD)、能夠執行一個或多個功能的任何電路或處理器或類似物,或其任何組合。
僅僅為了說明,在計算裝置200中僅描述了一個處理器。然而,應該注意的是,本申請中的計算裝置200還可以包括多個處理器,由此執行的操作及/或方法步驟可以由本申請中所描述的一個處理器也可以由多個處理器聯合地或單獨地執行。例如,如果在本申請中,計算裝置200的處理器執行步驟A和步驟B,應當理解的是,步驟A和步驟B也可以由計算裝置200的兩個或以上不同的處理器共同地或獨立地執行(例如,第一處理器執行步驟A,第二處理器執行步驟B,或者第一和第二處理器共同地執行步驟A和步驟B)。
儲存器220可以儲存從使用者終端140、儲存裝置150及/或隨選服務系統100的任何其他元件獲取的資料/資訊。在一些實施例中,儲存器220可包 括大容量儲存器、可移除式儲存器、揮發性讀寫儲存器、唯讀記憶體(ROM)或類似物或其任意組合。例如,大容量儲存器可以包括磁碟、光碟、固態硬碟或類似物。可移除式儲存器可以包括隨身碟、軟磁碟、光碟、記憶卡、壓縮磁碟和磁帶或類似物。揮發性讀取和寫入儲存器可以包括隨機存取記憶體(RAM)。RAM可以包括動態RAM(DRAM)、雙倍速率同步動態RAM(DDR SDRAM)、靜態RAM(SRAM)、閘流體RAM(T-RAM)和零電容(Z-RAM)或類似物。唯讀記憶體可以包括遮罩型唯讀記憶體(MROM)、可程式唯讀記憶體(PROM)、可清除可程式唯讀記憶體(EPROM)、電可清除可程式唯讀記憶體(EEPROM)、光碟唯讀記憶體(CD-ROM)和數位多功能磁碟唯讀記憶體或類似物。在一些實施例中,儲存器220可以儲存一個或多個程式及/或指令以執行在本申請中描述的示例性方法。例如,儲存器220可以儲存用於處理引擎112的程式,用於對空間大數據集中的分區執行洗牌操作。
I/O 230可以輸入及/或輸出信號、資料、資訊或類似物。在一些實施例中,I/O 230可以使使用者與處理引擎112進行互動。在一些實施例中,I/O 230可以包括輸入裝置和輸出裝置。示例性的輸入裝置可以包括鍵盤、滑鼠、觸控螢幕、麥克風或類似物,或其任何組合。示例性的輸出裝置可以包括顯示裝置、揚聲器、列表機、投影機或類似物,或其任何組合。顯示裝置的示例可以包括液晶顯示器(LCD)、基於發光二極體(LED)的顯示器、平板顯示器、彎曲螢幕、電視裝置、陰極射線管(CRT)、觸控螢幕或類似物,或其任何組合。
通訊埠240可以連接到網路(例如,網路120)以促進資料通訊。通訊埠240可以在處理引擎112、使用者終端140、定位系統160或儲存裝置150之間建立連接。連接可以是有線連接、無線連接、可以啟用資料傳輸及/或接收的任何其他通訊連接,及/或這些連接的任何組合。有線連接可以包括例如纜線、光纜、電話線或類似物,或其任何組合。有線連接可以包括例如纜線、光纜、電 話線或類似物或其任意組合。所述無線連接可以包括例如藍牙TM鏈路、無線保真TM鏈路、WiMaxTM鏈路、WLAN鏈路、紫蜂鏈路、行動網路鏈路(例如,3G、4G、5G網路或類似物)或類似物或其任意組合。在一些實施例中,通訊埠240可以是及/或包括標準化通訊埠,諸如RS232、RS485或類似物。
圖3係根據本申請的一些實施例所示的可以在其上實現使用者終端140的行動裝置的示例性硬體及/或軟體組件的示意圖。如圖3所示,行動裝置300可以包括通訊平台310、顯示器320、圖形處理單元(GPU)330、中央處理單元(CPU)340、I/O 350、記憶體360和儲存器390。在一些實施例中,任何其他合適的元件,包括但不限於系統匯流排或控制器(未示出),也可包括在行動裝置300內。在一些實施例中,行動作業系統370(例如,iOSTM、AndroidTM、Windows PhoneTM或類似物)和一個或多個應用程式380可從儲存器390下載至記憶體360,以用於CPU 340執行。應用程式380可以包括一瀏覽器或任何其他合適的行動應用程式,用於接收及呈現與影像處理相關的資訊或處理引擎112中的其他資訊。使用者與資訊流的互動可以通過I/O 350來實現並且通過網路120被提供給處理引擎112及/或隨選服務系統100的其他元件。
為了實施本申請描述的各種模組、單元及其功能,電腦硬體平台可用作本文中描述的一個或多個組件的硬體平台。具有使用者介面元素的電腦可用於實施個人電腦(PC)或任何其他類型的工作站或終端裝置。若程式控制得當,電腦亦可用作伺服器。
本領域具有通常知識者應當理解,當隨選服務系統100中的一個元件進行操作時,該元件可以通過電信號及/或電磁信號執行操作。例如,當處理引擎112處理諸如做出確定或識別資訊的任務時,處理引擎112可以在其處理器中操作邏輯電路以處理這樣的任務。當處理引擎112從使用者終端140接收資料(例如,複數個資料點)時,處理引擎112的處理器可以接收包括資料的電信 號。處理引擎112的處理器可以通過輸入埠接收電信號。如果使用者終端140通過有線網路與處理引擎112通訊,則輸入埠可以物理連接到纜線。如果使用者終端140通過無線網路與處理引擎112通訊,則處理引擎112的輸入埠可以是一個或多個天線,其可以將電信號轉換為電磁信號。在諸如使用者終端140及/或伺服器110的電子裝置內,當其處理器處理指示,發出指令及/或執行動作時,指令及/或動作通過電信號進行。例如,當處理器從儲存媒體(例如儲存裝置150)檢索或保存資料時,它可以向儲存媒體的讀/寫裝置發送電信號,該讀/寫裝置可以在儲存媒體中讀取或寫入結構化資料。該結構資料可以通過電子裝置的匯流排,以電信號的形式傳輸至處理器。此處,電信號可以指一個電信號、一系列電信號及/或複數個離散的電信號。
圖4係根據本申請的一些實施例所示的示例性處理引擎的方塊圖。處理引擎112可包括獲取模組401、資料集處理模組403、擴展模組405和接合模組407。
獲取模組401可以被配置為獲取資料集,例如包括與目標區域內的空間資訊相關的複數個資料點的第一資料集,及/或包括目標區域內的路網資訊的第二資料集。在一些實施例中,獲取模組401可以從儲存媒體(例如,儲存裝置150或計算裝置200中的儲存器220)獲取資料集。
資料集處理模組403可以被配置為將資料集劃分為複數個初始分區,以及基於複數個初始分區,確定資料集的空間索引(例如,如本申請中其他地方接合圖6詳細描述的那樣)。在一些實施例中,初始分區可以表示目標區域中的地理區域。在一些實施例中,對應於初始分區的地理區域可以具有規則的(例如,三角形、矩形、正方形、圓形、五邊形、六邊形)或不規則的形狀。在一些實施例中,空間索引可以指示複數個初始分區中的任何兩個之間的關係。例如,對於複數個初始分區中的目標分區,空間索引可以指示所述複數個初始分區中 的哪個鄰近於目標分區。
擴展模組405可以被配置為基於複數個初始分區,產生複數個修改分區。在一些實施例中,擴展模組405可以為複數個初始分區中的每一個分區確定邊界資料集,並對複數個第一初始分區中的每一個分區的邊界資料集進行洗牌操作,以確定複數個修改分區(例如,如本申請中其他地方接合圖7詳細描述的那樣)。
接合模組407可以被配置為接合兩個資料集。在一些實施例中,接合模組407可以將第一資料集中的複數個第一修改分區中的至少一個分區和第二資料集中的複數個第二修改分區中的至少一個分區進行接合。
處理引擎112中的模組可以通過有線連接或無線連接進行彼此連接或通訊。有線連接可以包括金屬線纜、光纜、混合纜線或類似物或其任意組合。無線連接可以包括區域網路(LAN)、廣域網路(WAN)、藍牙、紫蜂、近場通訊(NFC)或類似物或其任意組合。兩個或以上模組可以合並成一個模組,以及任意一個模組可以被拆分成兩個或以上單元。例如,資料集處理模組403可以整合在擴展模組405中作為單個模組,其可以確定複數個初始分區和複數個修改分區。又例如,資料集處理模組403可以分為兩個單元。第一單元可以被配置為確定複數個初始分區。第二單元可以被配置為基於複數個初始分區,確定空間索引。
應該注意的是,上述僅出於說明性目的而提供,並不旨在限制本申請的範圍。對於本領域具有通常知識者來說,可以根據本申請的描述,做出各種各樣的變化和修改。然而,這些變化和修改不會背離本申請的範圍。例如,處理引擎112還可以包括儲存模組(圖4中未示出)。儲存模組可以被配置為儲存在處理引擎112中的任何元件執行的任何流程期間產生的資料。又例如,處理引擎112的每個元件可包括儲存裝置。附加地或替代地,處理引擎112的元件可以共用 公共儲存裝置。
本申請中的系統和方法可以被配置為將空間大數據集和路網資料集進行接合,所述空間大數據集包括與線上隨選服務平台通訊的使用者終端的大量(從數十億到數千億的規模)軌跡點。為此,該系統和方法提供索引系統以支援有效地管理和處理資料集。根據本申請的實施例,系統和方法可以將特殊大數據集劃分為分區並單獨為每個分區添加索引。然後,系統和方法可以藉由向分區周圍的區域添加邊界資料集並對邊界資料集進行洗牌操作來修改每個分區。該系統和方法可以對路網資料集執行相同的操作。當線上隨選服務平台需要接合兩個資料集的幾個分區時,例如,當平台的使用者想知道現有路網地圖中是否存在未包含的新道路時,兩個資料集的上述索引系統可以在兩個資料集的相應分區中促進資料搜索和接合,特別是當兩個資料集的資料規模為十億或更大並且搜索和接合操作需要在幾微秒或幾納秒內完成時。
圖5A係根據本申請的一些實施例所示的用於產生複數個第一修改分區的示例性流程的流程圖。在一些實施例中,流程500-1可以在圖1所示的隨選服務系統100中實現。例如,流程500-1可以作為指令的形式儲存在儲存媒體(例如,儲存裝置150或處理引擎112的儲存器220)中,並且由伺服器110(例如,伺服器110的處理引擎112、處理引擎112的處理器210,或圖4所示的處理引擎112中的一個或多個模組)調用及/或執行。以下呈現的所示流程500-1的操作旨在說明。在一些實施例中,流程500-1可以藉由未描述的及/或沒有討論的一個或多個附加操作來完成。另外,如圖5A所示和下面描述的流程500-1的操作順序不是限制性的。
在501中,獲取模組401(及/或處理引擎112,及/或介面電路210-a)可以獲取與目標區域內的空間資訊相關的第一資料集。在一些實施例中,處理引擎112可以從儲存媒體(例如,儲存裝置150或計算裝置200中的儲存器220) 獲取第一資料集。
如這裡所使用的,第一資料集可以是包括複數個資料點的空間大數據集。每個資料點可以是與線上隨選運輸平台100通訊的使用者終端(例如,諸如智慧電話的行動裝置)的空間座標或位置的表示。當持有使用者終端的乘客或司機在一個區域中移動時,平台100(或伺服器110、處理器210或類似物)可以以特定頻率收集使用者終端的位置並將該位置記錄在空間大數據集中。隨著時間的推移,使用者終端的位置可以在空間大數據集中形成一系列軌跡點。由於每秒有數百萬個行動裝置與平台100通訊,因此所述複數個資料點的數量可能很多。例如,所述複數個資料點的數量可以是十億量級(例如,數千億)。商業上,當平台100接收到搜索及/或處理空間大數據集的請求時,平台必須在幾微秒或幾納秒內回饋結果以回應該請求。因此,必須正確地為空間大數據集添加索引以支援上述處理要求。本申請中的詞語「使用者」可以指代請求服務、訂購服務、提供服務或促進提供服務的個體、實體或工具。在本申請中,術語「使用者」和「使用者終端」可以互換使用。
所述複數個資料點中的每一個資料點可以包括空間資訊。包括在第一資料集中的資料點的空間資訊可以包括時間點以及與該資料點相對應的使用者在該時間點處的地理位置。在一些實施例中,地理位置可以由緯度和經度的座標、位址或興趣點(POI)名稱或其組合來表示。在一些實施例中,所述複數個資料點可以對應於特定時間段及/或目標區域。例如,獲取模組410可以獲取對應於北京一天的複數個資料點。
在一些實施例中,使用者終端140可以通過安裝在使用者終端140中的應用程式與處理引擎112及/或儲存裝置150建立通訊(例如,無線通訊)。該應用程式可以與隨選服務系統100相關。例如,應用程式可以是計程車招叫應用程式或導航應用程式。提供方終端140可以通過使用者終端140中的定位技術獲 取使用者的位置,例如,GPS、GLONASS、COMPASS、QZSS、WiFi定位技術或類似物,或其任何組合。應用程式可以指示使用者終端140不斷地或週期性地將使用者的即時或歷史位置發送到處理引擎112及/或儲存裝置150。因此,處理引擎112及/或儲存裝置150可以即時或基本上即時地接收使用者的位置。另外,處理引擎112及/或儲存裝置150還可以接收對應於特定時間點或時間段的使用者的歷史位置。
在一些實施例中,所述複數個資料點中的每一個資料點還可以包括與資料點相對應的使用者的使用者標識(ID)。當使用者第一次使用該應用程式時,使用者可以註冊該應用程式的帳戶。處理引擎112可以在使用者註冊之後為使用者產生使用者ID。應用程式可以指示使用者終端140將使用者ID連同使用者的即時或歷史位置一起發送到處理引擎112及/或儲存裝置150。
在一些實施例中,所述複數個資料點中的至少一個資料點可以包括與對應於所述複數個資料點中的所述至少一個資料點的使用者相關的資訊。與使用者相關的資訊可以包括使用者的姓名、使用者的年齡、使用者的電話號碼、使用者的性別、使用者的職業、與使用者有關的運輸工具、運輸工具的車牌號、運輸工具的品牌、運輸工具的顏色或類似物,或其任何組合。在一些實施例中,這種使用者資訊包括在所有資料點或資料點的一部分中。使用者可以通過應用程式的介面輸入與使用者相關的資訊。應用程式可以指示使用者終端140將與使用者相關的資訊連同使用者的即時或歷史位置一起發送到處理引擎112及/或儲存裝置150。
在一些實施例中,當使用者處於請求、使用或提供隨選服務(例如,司機向乘客提供計程車服務)的流程中時,應用程式可以指示與使用者相關的使用者終端140,將與隨選服務相關的資訊連同使用者的即時或歷史位置一起發送到處理引擎112及/或儲存裝置150。例如,當使用者(例如,司機)向乘客提 供計程車服務時,與提供的計程車服務相關的資訊可以包括行程起點、行程目標或類似物,或其任何組合。
在503中,資料集處理模組403(及/或處理引擎112,及/或處理電路210-b)可以基於空間資訊,將第一資料集劃分為複數個第一初始分區(例如,如本申請中其他地方接合圖6詳細描述的那樣)。在一些實施例中,第一初始分區可以表示目標區域中的地理區域。在一些實施例中,對應於第一初始分區的地理區域可以具有規則的(例如,三角形、矩形、正方形、圓形、五邊形、六邊形)或不規則的形狀。
在505中,資料集處理模組403(及/或處理引擎112,及/或處理電路210-b)可以基於所述複數個第一初始分區,確定第一資料集的第一空間索引(例如,如本申請中其他地方接合圖6詳細描述的那樣)。第一空間索引可以指示所述複數個第一初始分區中的任何兩個之間的關係。例如,對於所述複數個第一初始分區中的目標分區,第一空間索引可以指示所述複數個第一初始分區中的哪一個分區與目標分區相鄰。
在507中,擴展模組405(及/或處理引擎112,及/或處理電路210-b)可以基於所述複數個第一初始分區,產生複數個第一修改分區。在一些實施例中,擴展模組405可以為所述複數個第一初始分區中的每一個分區確定邊界資料集,並對所述複數個第一初始分區中的每一個分區的邊界資料集進行洗牌操作,以確定複數個第一修改分區(例如,如本申請中其他地方所述,接合圖7詳細描述)。在一些實施例中,第一初始分區可以對應於第一修改分區。例如,第一修改分區可以是修改後的第一初始分區。在一些實施例中,所述複數個第一初始分區可具有不規則形狀(例如,圖8中所示的802、圖10中所示的初始分區),其可能會影響所述複數個第一初始分區中資料點的完整性及/或連續性。因此,擴展模組405可以將所述複數個第一初始分區修改為規則形狀(例如,圖10中所 示的修改分區),以改善所述複數個第一初始分區中的資料點的完整性及/或連續性。
在一些實施例中,擴展模組405可以根據分散式運算方法,基於所述複數個第一初始分區,確定複數個第一修改分區。分散式運算方法可以包括Storm框架、Spark框架、Hadoop、Phoenix、Disco、Mars或類似物,或其任何組合。在一些實施例中,分散式運算方法可以由複數個工作節點和將任務分配給所述複數個工作節點的管理器來執行。在一些實施例中,可以將所述複數個第一初始分區發送給管理器。管理器可以將所述複數個第一初始分區分發給所述複數個工作節點。例如,可以將所述複數個第一初始分區中的每一個分區發送到不同的工作節點。又例如,可以將所述複數個第一初始分區中的一個分區發送到第一工作節點,並且可以將所述複數個第一初始分區中的另外兩個發送到第二工作節點。在一些實施例中,管理器及/或所述複數個工作節點可以是處理引擎112的一部分或者通過網路(例如,網路120)與處理引擎112通訊。
僅作為示例,如圖9所示,可以將所述複數個第一初始分區發送給管理器901。管理器901可以將所述複數個第一初始分區分發給複數個工作節點(例如,工作節點903-1、903-i、903-n或類似物)。如圖9所示,所述複數個第一初始分區中的每一個分區被發送到不同的工作節點。例如,初始分區PP1被發送到工作節點903-1,初始分區PPi被發送到工作節點903-i,初始分區PPn被發送到工作節點903-n。所述複數個工作節點中的每一個節點可以處理其自己的初始分區並產生修改分區。例如,工作節點903-1可以處理PP1並基於PP1產生修改分區MP1,工作節點903-i可以處理PPi並基於PPi產生修改分區MPi,工作節點903-n可以處理PPn並基於PPn產生修改分區MPn
圖5B係根據本申請的一些實施例所示的用於接合兩個資料集的示例性流程的流程圖。在一些實施例中,流程500-2可以在圖1所示的隨選服務系 統100中實現。例如,流程500-2可以作為指令的形式儲存在儲存媒體(例如,儲存裝置150或處理引擎112的儲存器220)中,並且由伺服器110(例如,伺服器110的處理引擎112、處理引擎112的處理器210,或圖4所示的處理引擎112中的一個或多個模組)調用及/或執行。以下呈現的所示流程500-2的操作旨在說明。在一些實施例中,流程500-2可以藉由未描述的及/或沒有討論的一個或多個附加操作來完成。另外,如圖5B所示和下面描述的流程500-2的操作順序不是限制性的。在一些實施例中,可以在流程500-1之後執行流程500-2。
在509中,獲取模組401(及/或處理引擎112,及/或介面電路210-a)可以獲取目標區域內的第二資料集。在一些實施例中,獲取模組401可以從儲存媒體(例如,儲存裝置150或計算裝置200中的儲存器220)獲取第二資料集。
在一些實施例中,第二資料集可以是包括目標區域內的路網資訊的路網地圖。在一些實施例中,路網資訊可包括複數個運輸路線,例如道路、街道、高速公路、天橋、河流、地鐵路線、地下通道或類似物,或其任何組合。
在一些實施例中,獲取模組401可以獲取包括複數個第二修改分區的第二資料集,以將第一資料集中的複數個第一修改分區中的至少一個分區和第二資料集中的複數個第二修改分區中的至少一個分區進行接合。在一些實施例中,對於所述複數個第二修改分區中的每一個分區,第二修改分區的位置、第二修改分區的面積、以及第二修改分區的形狀均可以與所述複數個第一修改分區不同。或者,對於第二修改分區中的一些或每一個分區,第二修改分區的位置、第二修改分區的面積、以及第二修改分區的形狀均可以與所述複數個第一修改分區的對應分區相同,表示第二修改分區對應於第一修改分區。例如,如圖11所示,資料集A(例如,空間大數據集及/或使用者終端軌跡點資料集)中的修改分區1102可以對應於資料集B(例如,路網圖)中的修改分區1102'。修改分區1102的位置、面積和形狀與修改分區1102'的位置、面積和形狀相同。資料集A中的修 改分區1104對應於資料集B中的修改分區1104'。修改分區1104的位置、面積和形狀與修改分區1104'的位置、面積和形狀相同。在一些實施例中,包括在兩個對應的修改分區中的資料及/或兩個對應的修改分區的資料量可以是不同的。例如,第一修改分區可以包括指示使用者位置的資料點,與第一修改分區對應的第二修改分區可以包括路網資訊。
在一些實施例中,用於產生複數個第二修改分區的流程可以與用於產生流程500-1中的503-507中所示的複數個第一修改分區的流程相同。僅作為示例,用於產生複數個第二修改分區的流程可以包括511-515。
在511中,資料集處理模組403(及/或處理引擎112,及/或處理電路210-b)可以將第二資料集劃分為複數個第二初始分區(例如,如本申請中其他地方接合圖6詳細描述的那樣)。第二初始分區可以表示目標區域中的地理區域。在一些實施例中,對於複數個第二初始分區中的每一個分區,第二初始分區的位置、第二初始分區的面積、以及第二初始分區的形狀均可以與複數個第一初始分區中的一個分區相同,表示第二初始分區對應於第一初始分區。在一些實施例中,包括在兩個對應的初始分區中的資料及/或兩個對應的初始分區的資料量可以是不同的。例如,第一初始分區可以包括指示使用者位置的資料點,與第一修改分區對應的第二初始分區可以包括路網資訊。在一些實施例中,為了使複數個第一初始分區和複數個第二初始分區具有一對一的對應關係,資料集處理模組403可以基於複數個第一初始分區,將第二資料集劃分為複數個第二初始分區。
在513中,資料集處理模組403(及/或處理引擎112,及/或處理電路210-b)可以基於所述複數個第二初始分區,確定第二資料集的第二空間索引(例如,如本申請中其他地方接合圖6詳細描述的那樣)。第二空間索引可以指示所述複數個第二初始分區中的任何兩個之間的關係。例如,對於所述複數個第二 初始分區中的目標分區,第二空間索引可以指示所述複數個第二初始分區中的哪個是鄰近於目標分區的。
在515中,擴展模組405(及/或處理引擎112,及/或處理電路210-b)可以基於所述複數個第二初始分區,產生複數個第二修改分區。在一些實施例中,擴展模組405可以為所述複數個第二初始分區中的每一個分區確定邊界資料集,並對所述複數個第二初始分區中的每一個分區的邊界資料集進行洗牌操作,以確定複數個第二修改分區(例如,如本申請中其他地方詳細描述的,結合圖7)。在一些實施例中,第二初始分區可以對應於第二修改分區。在一些實施例中,用於產生複數個第二修改分區的流程可以與用於產生複數個第一修改分區的流程相同。在一些實施例中,擴展模組405可以以與507中描述的分佈計算方法相同的分佈計算方法產生複數個第二修改分區。
在517中,接合模組407(及/或處理引擎112,及/或處理電路210-b)可以將所述複數個第一修改分區中的至少一個分區和所述複數個第二修改分區中的至少一個分區進行接合。在一些實施例中,第一修改分區可以與對應於第一修改分區的第二修改分區進行接合。例如,如圖11所示,修改分區1102可以與對應於修改分區1102的修改分區1102'進行接合,並且修改分區1104可以與對應於修改分區1104的修改分區1104'進行接合。
在一些實施例中,對於第一修改分區(或第二修改分區),接合模組407可以搜索第二資料集(或第一資料集),以確定對應於第一修改分區(或第二修改分區)的第二修改分區(或第一修改分區)以執行接合操作。在一些實施例中,第一空間索引中的第一修改分區的分區序號可以和第二空間索引中的與第一修改分區對應的第二修改分區的分區序號相關。例如,第一修改分區和第二修改分區的分區序號可以是MP1,或者,第一修改分區的分區序號可以是MP1-A,第二修改分區的分區序號可以是MP1-B。接合模組407可以搜索第二資料集, 以基於「MP1」,確定與第一修改分區對應的第二修改分區。在一些實施例中,接合模組407可以搜索第二資料集,以基於第一修改分區的位置、面積和形狀,確定與第一修改分區對應的第二修改分區。
在尋找未包含在路網地圖中的一條或多條新運輸路線的應用場景中,接合模組407可以將第一資料集(例如,複數個資料點)和第二資料集(例如,路網地圖)進行接合,以將第一資料集與第二資料集進行比較,找到第二資料集(例如,路網地圖)中未包括的一個或多個新的運輸路徑。例如,第一資料集和第二資料集的接合可以就像在路網地圖上覆蓋包括複數個點(例如,第一資料集中的資料點)的透明遮罩一樣。如果特定數量的點(例如,超過1000個點)對應於路網圖中的未包括運輸路線的區域,則可能存在未包括在路網圖中的一個或多個新的運輸路線。
在一些實施例中,接合模組407可以根據分散式運算方法,將複數個第一修改分區中的至少一個分區和在複數個第二修改分區中的至少一個分區進行接合。僅作為示例,如圖12所示,可以將複數個第一初始分區中的至少一個分區(例如,MP11、MP1i、MP1n)和複數個第二初始分區中的至少一個分區(例如,MP21、MP2i、MP2n)發送到管理器901。管理器901可以將MP11和與MP11相對應的MP21分發給工作節點903-1。管理器901可以將MP1i和與MP1i相對應的MP2i分發給工作節點903-i。管理器901可以將MP1n和與MP1n相對應的MP2n分配給工作節點903-n。工作節點903-1可以接合MP11和MP21。工作節點903-i可以接合MP1i和MP2i。工作節點903-n可以接合MP1n和MP2n
圖6係根據本申請的一些實施例所示的用於將資料集劃分為複數個分區的示例性流程的流程圖(關於將資料集劃分為複數個分區的流程描述也可以在例如2017年12月29日提交的國際申請No.PCT/CN2017/119699中找到,該申請藉由引用結合於此)。在一些實施例中,流程600可以在圖1所示的隨選服務 系統100中實現。例如,流程600可以作為指令的形式儲存在儲存媒體(例如,儲存裝置150或處理引擎112的儲存器220)中,並且由伺服器110(例如,伺服器110的處理引擎112、處理引擎112的處理器210,或圖4所示的處理引擎112中的一個或多個模組)調用及/或執行。下面呈現的所示流程600的操作旨在說明性的。在一些實施例中,流程600在實現時可以添加一個或多個個未描述的額外操作,及/或刪減一個或多個此處所描述的操作。另外,如圖6所示和下面描述的流程600的操作順序不是限制性的。在一些實施例中,可以根據流程600執行圖5A中所示的流程500-1的503和505,以及圖5B中所示的流程500-2的511和513。
在601中,獲取模組401(及/或處理引擎112,及/或介面電路210-a)可以獲取目標區域內的資料集(例如,第一資料集、第二資料集)。在一些實施例中,獲取模組401可以從儲存媒體(例如,儲存裝置150或計算裝置200中的儲存器220)獲取資料集。
在603中,資料集處理模組403(及/或處理引擎112,及/或處理電路210-b)可以將資料集劃分為複數個資料區塊。在一些實施例中,資料區塊可以表示地理區域。在一些實施例中,每個地理區域可以具有規則的(例如,三角形、矩形、正方形、圓形、五邊形、六邊形或類似物)或不規則的形狀。在一些實施例中,地理區域的大小可以相同。例如,每個地理區域可以是邊長為500公尺的正方形。在一些實施例中,地理區域的大小可以不同。例如,地理區域A可以是邊長為200公尺的正方形,地理區域B是邊長為300公尺的正方形。
在一些實施例中,對於包括具有空間資訊的複數個資料點的第一資料集,資料集處理模組403可以將第一資料集對應的目標區域劃分為複數個第一資料區塊,然後基於所述複數個資料點的空間資訊,確定每個第一資料區塊中有多少資料點及/或哪些資料點。在一些實施例中,對於包括路網資訊的第二資料集,資料集處理模組403可以將路網資訊對應的目標區域劃分為複數個第二資 料區塊。對於所述複數個第二資料區塊中的每一個資料區塊,第二資料區塊的位置、面積和形狀可以與複數個第一資料區塊中的一個資料區塊相同,其表示第二資料區塊對應於第一資料區塊。在一些實施例中,包括在兩個對應資料區塊中的資料及/或兩個對應資料區塊的資料量可以是不同的。例如,第一資料區塊可以包括指示使用者位置的資料點,對應於第一資料區塊的第二資料區塊可以包括路網資訊。
在605中,資料集處理模組403(及/或處理引擎112,及/或處理電路210-b)可以確定所述複數個資料區塊中的每一個資料區塊的區塊序號。在一些實施例中,資料集處理模組403可以基於空間填充曲線,確定區塊序號,例如,希爾伯特曲線、Z階曲線、四叉樹、R樹、希爾伯特R樹、二元空間分區(BSP)樹、格雷曲線、龍曲線、戈斯珀曲線、皮亞諾曲線或類似物,或其任何組合。在一些實施例中,空間填充曲線是希爾伯特曲線,當使用地圖時,該希爾伯特曲線不遺漏且不重複地穿過對應於資料區塊的地理區域。資料集處理模組403可以根據空間填充曲線藉由對應於複數個資料區塊的地理區域的順序,對所述複數個資料區塊進行編號。
在一些實施例中,兩個對應資料區塊的區塊序號可以彼此相關。例如,兩個對應資料區塊的區塊序號可以相同。又例如,兩個相應資料區塊的區塊序號的一部分可以是相同的,例如B1-A和B1-B。
在607中,資料集處理模組403(及/或處理引擎112,及/或處理電路210-b)可以將所述複數個資料區塊劃分為複數個初始分區。
在一些實施例中,對於包括具有空間資訊的複數個資料點的第一資料集,資料集處理模組403可以基於所述複數個資料區塊的資料點的預估分佈和所述複數個資料區塊的區塊序號,將所述複數個資料區塊劃分為複數個初始分區。
如這裡所使用的,所述複數個資料區塊的資料點預估分佈可以指示哪些資料區塊包括相對更多的資料點以及哪些資料區塊包括相對更少的資料點。預估分佈可以包括所述複數個資料點的估計密度分佈、所述複數個資料點的估計數量分佈或類似物,或其任何組合。
例如,對於預估密度分佈,資料集處理模組403可以針對每個資料區塊,基於資料區塊中的資料點數量和對應於資料區塊的地理區域大小,確定資料點的密度,並基於每個資料區塊中的資料點密度,確定預估密度分佈。又例如,對於估計的數量分佈,資料集處理模組403可以確定每個資料區塊中的資料點數量,並且基於每個資料區塊中的資料點數量,確定估計的數量分佈。或者,資料集處理模組403可以從所述複數個資料區塊中選擇一個或多個資料區塊作為樣本,並且基於所選擇的一個或多個資料區塊中的每個資料區塊的資料點密度及/或資料點數量,確定預估分佈。
為了提高資料點處理的效率,每個初始分區中的資料點數量可以基本相似(例如,任何兩個分區中的資料點數量之間的差異小於諸如100、500、1000、5000或10000個資料點的臨界值)。在一些實施例中,資料集處理模組403可以基於所述複數個資料點的預估分佈,將所述複數個資料區塊劃分為複數個初始分區,以使每個初始分區中的資料點數量基本相似。在一些實施例中,初始分區中的區塊序號可以是連續的。例如,初始分區中的資料區塊的區塊序號可以是1-10000。
在一些實施例中,兩個對應的初始分區的資料區塊數量可以相等。兩個對應的初始分區中的資料區塊可以具有一對一的對應關係。
在609中,對於所述複數個初始分區中的每一個分區,資料集處理模組403(及/或處理引擎112,及/或處理電路210-b)可以基於每個初始分區中包括的資料區塊的區塊序號對資料區塊進行排序。
例如,初始分區可以包括1000個資料區塊,其區塊序號是10001-11000。在一些實施例中,資料集處理模組403可以按照升冪對這1000個資料區塊進行排序,並將區塊序號為10001的資料區塊確定為初始分區中的第一資料區塊。或者,在一些實施例中,資料集處理模組403可以按降冪對這1000個資料區塊進行排序,並將區塊序號為11000的資料區塊確定為初始分區中的第一資料區塊。
在611中,資料集處理模組403(及/或處理引擎112,及/或處理電路210-b)可以基於所述複數個資料區塊的區塊序號,藉由對所述複數個初始分區進行排序,確定每個初始分區的分區序號。例如,資料集處理模組403可以確定一個初始分區的分區序號為PP1,該初始分區包括區塊序號為1-10000的資料區塊,並且確定另一個初始分區的分區序號為PP2,該初始分區包括區塊序號為10001-11000的資料區塊。
在一些實施例中,兩個對應分區的分區序號可以彼此相關。例如,兩個對應分區的分區序號可以相同。又例如,兩個相應分區的分區序號的一部分可以相同,例如PP1-A和PP1-B。
在613中,資料集處理模組403(及/或處理引擎112,及/或處理電路210-b)可以基於所述複數個資料區塊的區塊序號和所述複數個初始分區的分區序號,確定資料集的空間索引。空間索引可以指示所述複數個資料區塊和所述複數個初始分區的關係。例如,對於資料區塊,空間索引可以指示哪個初始分區包括該資料區塊,以及哪個資料區塊與該資料區塊相鄰。又例如,對於初始分區,空間索引可以指示哪些資料區塊包含在該初始分區中,以及哪個初始分區與該初始分區相鄰。
上述描述僅用於說明目的而不是旨在限制本申請的範圍。對於本領域具有通常知識者來說,可以根據本申請的描述,做出各種各樣的變化和修 改。但是,那些變化與修改並不背離本申請。例如,在一些實施例中可以省略步驟609。
圖7係根據本申請的一些實施例所示的用於產生複數個修改分區的示例性流程的流程圖。在一些實施例中,流程700可以在圖1所示的隨選服務系統100中實現。例如,流程700可以作為指令的形式儲存在儲存媒體(例如,儲存裝置150或處理引擎112的儲存器220)中,並且由伺服器110(例如,伺服器110的處理引擎112、處理引擎112的處理器210,或圖4所示的處理引擎112中的一個或多個模組)調用及/或執行。下面呈現的示例流程700的操作旨在說明性的。在一些實施例中,流程700在實現時可以添加一個或多個個未描述的額外操作,及/或刪減一個或多個此處所描述的操作。另外,如圖7所示和下面描述的流程700的操作順序不是限制性的。在一些實施例中,可以根據流程700執行圖5A中所示的流程500-1的步驟507和圖5B中所示的流程500-2的步驟515。
在701中,獲取模組401(及/或處理引擎112,及/或介面電路210-a)可以獲取包括複數個初始分區(例如,第一初始分區、第二初始分區)的資料集(例如,第一資料集或第二資料集)。在一些實施例中,可以基於圖6中所示的流程600將資料集劃分為初始分區。
在703中,擴展模組405(及/或處理引擎112,及/或處理電路210-b)可以為所述複數個初始分區中的每一個分區確定邊界資料集。在一些實施例中,初始分區的邊界資料集可以與該初始分區相鄰並圍繞該初始分區。在一些實施例中,初始分區的邊界資料集可包括在圖6所示流程600的603中確定的複數個資料區塊。例如,如圖8所示,資料集被分成複數個資料區塊(例如,806)。對於初始分區802,擴展模組405可以確定邊界資料集804,該資料集804包括與初始分區802相鄰並圍繞初始分區802的資料區塊(例如,圖8中806的灰色方塊)。
在一些實施例中,資料集處理模組403可以基於資料集的空間索 引,確定初始分區的邊界資料集,。在一些實施例中,資料集處理模組403可以基於空間索引,確定初始分區中包括哪些資料區塊。包括在初始分區中的資料區塊的區塊序號可以被稱為初始分區的空間索引範圍。例如,初始分區可以表示為PP1-[1-10000],表示該初始分區的分區序號是PP1,並且區塊序號為1-10000的資料區塊包含在該初始分區中。1-10000的範圍可以是該初始分區的空間索引範圍。在一些實施例中,擴展模組405可以基於初始分區的空間索引範圍和資料集的空間索引,藉由確定與該初始分區相鄰並圍繞該初始分區的資料區塊的區塊序號、以及確定哪些初始分區包括與該初始分區相鄰並圍繞該初始分區的資料區塊,來確定該初始分區的邊界資料集。
在705中,擴展模組405(及/或處理引擎112,及/或處理電路210-b)可以對所述複數個初始分區中每一個分區的邊界資料集進行洗牌操作。在一些實施例中,洗牌操作可以指兩個或以上初始分區之間的資料交換。在一些實施例中,對初始分區的邊界資料集的洗牌操作可以包括,基於資料區塊的區塊序號對包括在邊界資料集中的資料區塊進行排序,以及將包括已排序資料區塊的邊界資料集添加到初始分區。初始分區和邊界資料集的組合可以被稱為修改分區。例如,擴展模組405可以為[1-10000]的初始分區確定[10001-10400]的邊界資料集。集合[1-10400]可以是修改分區。
在一些實施例中,因為可以用對初始分區的邊界資料集進行洗牌操作代替對該初始分區或整個資料集進行洗牌操作,來產生對應於初始分區的修改分區,所以產生修改分區的計算量的量級可以是初始分區中資料量的量級的平方根,與現有技術中藉由處理資料集中的所有資料產生修改分區相比,其提高了產生修改分區的效率。
圖8係根據本申請的一些實施例所示的示例性邊界資料集的示意圖。如圖8所示,初始分區802的邊界資料集804包括複數個資料區塊(例如,灰 色方塊,如806)。邊界資料集804可以與初始分區802相鄰並且包圍初始分區802。
圖9係根據本申請的一些實施例所示的根據分散式運算方法基於複數個初始分區來確定複數個修改分區的示例性流程的示意圖。在一些實施例中,擴展模組405可以根據分散式運算方法,基於複數個第一(或第二)初始分區,確定複數個第一(或第二)修改分區。分散式運算方法可以包括Storm框架、Spark框架、Hadoop、Phoenix、Disco、Mars或類似物,或其任何組合。在一些實施例中,分散式運算方法可以由複數個工作節點和將任務分配給所述複數個工作節點的管理器來執行。以確定複數個第一修改分區為例,可以將複數個第一初始分區發送給管理器。管理器可以將所述複數個第一初始分區分發給所述複數個工作節點。例如,可以將所述複數個第一初始分區中的每一個分區發送到不同的工作節點。又例如,可以將所述複數個第一初始分區中的一個分區發送到第一工作節點,並且可以將所述複數個第一初始分區中的另外兩個分區發送到第二工作節點。在一些實施例中,管理器及/或所述複數個工作節點可以是處理引擎112的一部分或者通過網路(例如,網路120)與處理引擎通訊。
僅作為示例,如圖9所示,可以將所述複數個第一初始分區(例如,PP1、PPi、PPn)發送給管理器901。管理器901可以將所述複數個第一初始分區分發給複數個工作節點(例如,工作節點903-1、903-i、903-n或類似物)。如圖9所示,所述複數個第一初始分區中的每一個分區被發送到不同的工作節點。例如,PP1被發送到工作節點903-1,PPi被發送到工作節點903-i,並且PPn被發送到工作節點903-n。所述複數個工作節點中的每一個節點可以處理其自己的初始分區並產生修改分區。例如,工作節點903-1可以處理PP1並基於PP1產生修改分區MP1,工作節點903-i可以處理PPi並基於PPi產生修改分區MPi,工作節點903-n可以處理PPn並基於PPn產生修改分區MPn
圖10係根據本申請的一些實施例所示的示例性修改分區和示例 性初始分區的示意圖。如圖10所示,初始分區的形狀是不規則的。基於流程500-1、流程600及/或流程700,藉由處理初始分區而產生的修改分區的形狀是規則的,這改善了初始分區的完整性和連續性。
圖11係根據本申請的一些實施例所示的示例性相對應的修改分區的示意圖。如圖11所示,資料集A中的修改分區1102對應於資料集B中的修改分區1102'。修改分區1102的位置、面積和形狀與修改分區1102'的位置、面積和形狀相同。資料集A中的修改分區1104對應於資料集B中的修改分區1104'。修改分區1104的位置、面積和形狀與修改分區1104'的位置、面積和形狀相同。
圖12係根據本申請的一些實施例所示的基於分散式運算方法接合兩個資料集的示例性流程的示意圖。在一些實施例中,接合模組407可以根據分散式運算方法接合第一資料集和第二資料集。分散式運算方法可以包括Storm框架、Spark框架、Hadoop、Phoenix、Disco、Mars或類似物,或其任何組合。在一些實施例中,分散式運算方法可以由複數個工作節點和將任務分配給所述複數個工作節點的管理器來執行。可以將複數個第一初始分區中的至少一個分區(例如,MP11、MP1i、MP1n)和複數個第二初始分區中的至少一個分區(例如,MP21、MP2i、MP2n)發送到管理器901。管理器901可以將MP11和與MP11相對應的MP21分發給工作節點903-1。管理器901可以將MP1i和與MP1i相對應的MP2i分發給工作節點903-i。管理器901可以將MP1n和與MP1n相對應的MP2n分配給工作節點903-n。工作節點903-1可以接合MP11和MP21。工作節點903-i可以接合MP1i和MP2i。工作節點903-n可以接合MP1n和MP2n
上文已對基本概念做了描述,顯然,對於閱讀此申請後的本領域具有通常知識者來說,上述申請揭露僅作為示例,並不構成對本申請的限制。雖然此處並未明確說明,但本領域具有通常知識者可能會對本申請進行各種修改、改進和修正。該類修改、改進和修正在本申請中被建議,所以該類修改、改進、 修正仍屬於本申請示範實施例的精神和範圍。
同時,本申請使用了特定詞語來描述本申請的實施例。例如「一個實施例」、「一實施例」、及/或「一些實施例」意指與本申請至少一個實施例相關的某一特徵、結構或特徵。因此,應當強調並注意的是,本說明書中在不同位置兩次或以上提及的「一實施例」或「一個實施例」或「一替代性實施例」並不一定是指同一實施例。此外,本申請的一個或多個實施例中的某些特徵、結構或特點可以進行適當的組合。
此外,本領域具有通常知識者可以理解,本申請的各態樣可以通過若干具有可專利性的種類或情況進行說明和描述,包括任何新的和有用的流程、機器、產品或物質的組合,或對其任何新的和有用的改進。相應地,本申請的各個態樣可以完全由硬體執行、可以完全由軟體(包括韌體、常駐軟體、微碼或類似物)執行、也可以由硬體和軟體組合執行。以上硬體或軟體均可以被稱為「模組」、「單元」、「元件」或「系統」。此外,本申請的各態樣可以採取體現在一個或多個電腦可讀取媒體中的電腦程式產品的形式,其中電腦可讀取程式碼包含在其中。
電腦可讀取信號媒體可能包含一個內含有電腦程式碼的傳播資料信號,例如在基帶上或作為載波的一部分。此類傳播信號可以有多種形式,包括電磁形式、光形式或類似物或任何合適的組合。電腦可讀取信號媒體可以是除電腦可讀取儲存媒體之外的任何電腦可讀取媒體,該媒體可以通過連接至一個指令執行系統、裝置或裝置以實現通訊、傳播或傳輸供使用的程式。位於電腦可讀取信號媒體上的程式碼可以通過任何合適的媒體進行傳播,包括無線電、纜線、光纖纜線、RF或類似物,或任何上述媒體的組合。
本申請各部分操作所需的電腦程式編碼可以用任意一種或以上程式語言編寫,包括面向主體程式設計語言如Java、Scala、Smalltalk、Eiffel、 JADE、Emerald、C++、C#、VB.NET、Python或類似物,常規程式化程式設計語言如C語言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,動態程式設計語言如Python、Ruby和Groovy,或其他程式設計語言或類似物。該程式碼可以完全在使用者電腦上運行、或作為獨立的軟體包在使用者電腦上運行、或部分在使用者電腦上運行部分在遠端電腦運行、或完全在遠端電腦或伺服器上運行。在後種情況下,遠端電腦可以通過任何網路形式與使用者電腦連接,比如區域網路(LAN)或廣域網路(WAN),或連接至外部電腦(例如通過網際網路),或在雲計算環境中,或作為服務使用如軟體即服務(SaaS)。
此外,除非申請專利範圍中明確說明,本申請所述處理元素和序列的順序、數位元字母的使用、或其他名稱的使用,並非用於限定本申請流程和方法的順序。儘管上述揭露中通過各種示例討論了一些目前認為有用的申請實施例,但應當理解的是,該類細節僅起到說明的目的,附加的申請專利範圍並不僅限於揭露的實施例,相反,申請專利範圍旨在覆蓋所有符合本申請實施例實質和範圍的修正和或均等物價組合。例如,雖然以上所描述的系統元件可以通過硬體裝置實現,但是也可以只通過軟體的解決方案得以實現,如在現有的伺服器或行動裝置上安裝所描述的系統。
同理,應當注意的是,為了簡化本申請揭露的表述,從而幫助對一個或多個申請實施例的理解,前文對本申請實施例的描述中,有時會將多種特徵歸並至一個實施例、圖式或對其的描述中。然而,本申請的該方法不應被解釋為反映所聲稱的待掃描物件物質需要比每個申請專利範圍中明確記載的更多特徵的意圖。實際上,實施例的特徵要少於上述揭露的單個實施例的全部特徵。
500-1:流程
501:步驟
503:步驟
505:步驟
507:步驟

Claims (31)

  1. 一種最佳化空間大數據分區的資料處理電子系統,包括:至少一個儲存媒體,包括用於劃分空間大數據集的一組指令;至少一個處理器,與所述至少一個儲存媒體通訊,其中當執行所述一組指令時,所述至少一個處理器用於:獲取第一資料集,所述第一資料集是與目標區域內的空間資訊相關的空間大數據集;基於所述空間資訊,將所述第一資料集劃分為複數個第一初始分區;基於所述複數個第一初始分區,確定所述第一資料集的第一空間索引;以及藉由以下操作產生複數個第一修改分區:基於所述第一空間索引,獲取與所述複數個第一初始分區相關的複數個第一邊界資料集,其中所述複數個第一邊界資料集包括與所述複數個第一初始分區周圍的一個或多個第一區域相關的資料;以及對所述複數個第一邊界資料集進行第一洗牌操作。
  2. 如申請專利範圍第1項之系統,其中,獲取與所述複數個第一初始分區相關的所述複數個第一邊界資料集包括:基於所述第一空間索引,確定所述複數個第一初始分區中的每一個分區的空間索引範圍;以及基於所述複數個第一初始分區的所述空間索引範圍,確定與所述複數個第一初始分區相關的所述複數個第一邊界資料集。
  3. 如申請專利範圍第1項之系統,所述至少一個處理器還用於:根據分散式運算方法,對所述複數個第一初始分區進行分散式運算,以產生所述複數個第一修改分區。
  4. 如申請專利範圍第3項之系統,所述至少一個處理器還用於:獲取在所述目標區域內的第二資料集;將所述第二資料集劃分為複數個第二初始分區;基於所述複數個第二初始分區,確定所述第二資料集的第二空間索引;以及根據所述分散式運算方法和所述第二空間索引,對所述複數個第二初始分區進行分散式運算,以產生複數個第二修改分區。
  5. 如申請專利範圍第4項之系統,其中,為了產生所述複數個第二修改分區,所述至少一個處理器還用於:基於所述第二空間索引,獲取與所述複數個第二初始分區相關的複數個第二邊界資料集,其中所述複數個第二邊界資料集包括與所述複數個第二初始分區周圍的一個或多個第二區域相關的資料;以及對所述複數個第二邊界資料集進行第二洗牌操作,以產生所述複數個第二修改分區。
  6. 如申請專利範圍第4項之系統,所述至少一個處理器還用於:將所述第一資料集中的所述複數個第一修改分區中的至少一個分區與所述第二資料集中的所述複數個第二修改分區中的至少一個分區進行接合。
  7. 如申請專利範圍第4項之系統,其中,所述第一資料集包括與所述電子系統通訊的複數個使用者終端的軌跡點,並且所述第二資料集包括所述目標區域的路網資訊。
  8. 如申請專利範圍第4項之系統,其中,對於所述複數個第二修改分區中的每一個分區,其所述第二修改分區的位置、所述第二修改分區的面積、以及所述第二修改分區的形狀均與所述複數個第一修改分區中的其中一個分區相同。
  9. 如申請專利範圍第4項之系統,其中,所述第一空間索引或所述第 二空間索引與希爾伯特曲線或Z曲線中的至少一個相關。
  10. 如申請專利範圍第3項之系統,其中,所述分散式運算方法包括Spark框架、Hadoop、Phoenix、Disco或Mars中的至少一種方法。
  11. 一種在具有至少一個處理器和至少一個儲存媒體的計算裝置上實現的最佳化空間大數據分區的方法,所述方法包括:藉由所述至少一個處理器,獲取第一資料集,所述第一資料集是與目標區域內的空間資訊相關的空間大數據集;藉由所述至少一個處理器,基於所述空間資訊,將所述第一資料集劃分為複數個第一初始分區;藉由所述至少一個處理器,基於所述複數個第一初始分區,確定所述第一資料集的第一空間索引;以及藉由所述至少一個處理器,根據以下操作產生複數個第一修改分區:基於所述第一空間索引,獲取與所述複數個第一初始分區相關的複數個第一邊界資料集,其中所述複數個第一邊界資料集包括與所述複數個第一初始分區周圍的一個或多個第一區域相關的資料;以及對所述複數個第一邊界資料集進行第一洗牌操作。
  12. 如申請專利範圍第11項之方法,其中,獲取與所述複數個第一初始分區相關的所述複數個第一邊界資料集包括:基於所述第一空間索引,確定所述複數個第一初始分區中的每一個分區的空間索引範圍;以及基於所述複數個第一初始分區的所述空間索引範圍,確定與所述複數個第一初始分區相關的所述複數個第一邊界資料集。
  13. 如申請專利範圍第11項之方法,所述方法還包括:根據分散式運算方法,藉由所述至少一個處理器,對所述複數個第一初始分 區進行分散式運算,以產生所述複數個第一修改分區。
  14. 如申請專利範圍第13項之方法,所述方法還包括:藉由所述至少一個處理器,獲取所述目標區域內的第二資料集;藉由所述至少一個處理器,將所述第二資料集劃分為複數個第二初始分區;藉由所述至少一個處理器,基於所述複數個第二初始分區,確定所述第二資料集的第二空間索引;藉由所述至少一個處理器,根據所述分散式運算方法和所述第二空間索引,對所述複數個第二初始分區進行分散式運算,以產生複數個第二修改分區。
  15. 如申請專利範圍第14項之方法,其中,所述複數個第二修改分區的所述產生包括:藉由所述至少一個處理器,基於所述第二空間索引,獲取與所述複數個第二初始分區相關的複數個第二邊界資料集,其中所述複數個第二邊界資料集包括與所述複數個第二初始分區周圍的一個或多個第二區域相關的資料;以及藉由所述至少一個處理器,對所述複數個第二邊界資料集進行第二洗牌操作,以產生所述複數個第二修改分區。
  16. 如申請專利範圍第14項之方法,所述方法還包括:將所述第一資料集中的所述複數個第一修改分區中的至少一個分區和所述第二資料集中的所述複數個第二修改分區中的至少一個分區進行接合。
  17. 如申請專利範圍第14項之方法,其中,所述第一資料集包括與電子系統通訊的複數個使用者終端的軌跡點,並且所述第二資料集包括所述目標區域的路網資訊。
  18. 如申請專利範圍第14項之方法,其中,對於所述複數個第二修改分區中的每一個分區,其所述第二修改分區的位置、所述第二修改分區的面積、以及所述第二修改分區的形狀均與所述複數個第一修改分區的其中一個分區相 同。
  19. 如申請專利範圍第14項之方法,其中,所述第一空間索引或所述第二空間索引與希爾伯特曲線或Z曲線中的至少一個相關。
  20. 如申請專利範圍第13項之方法,其中,所述分散式運算方法包括Spark框架、Hadoop、Phoenix、Disco或Mars中的至少一種方法。
  21. 一種最佳化空間大數據分區的系統,包括:獲取模組,被配置為獲取第一資料集,所述第一資料集是與目標區域內的空間資訊相關的空間大數據集;資料集處理模組,被配置為基於所述空間資訊,將所述第一資料集劃分為複數個第一初始分區;以及基於所述複數個第一初始分區,確定所述第一資料集的第一空間索引;以及擴展模組,被配置為藉由以下操作產生複數個第一修改分區:基於所述第一空間索引,獲取與所述複數個第一初始分區相關的複數個第一邊界資料集,其中所述複數個第一邊界資料集包括與所述複數個第一初始分區周圍的一個或多個第一區域相關的資料;以及對所述複數個第一邊界資料集進行第一洗牌操作。
  22. 如申請專利範圍第21項之系統,其中,獲取與所述複數個第一初始分區相關的所述複數個第一邊界資料集包括:基於所述第一空間索引,確定所述複數個第一初始分區中每一個分區的空間索引範圍;以及基於所述複數個第一初始分區的所述空間索引範圍,確定與所述複數個第一初始分區相關的所述複數個第一邊界資料集。
  23. 如申請專利範圍第21項之系統,其中,所述擴展模組進一步被配置為:根據分散式運算方法,對所述複數個第一初始分區進行分散式運算,以產生所述複數個第一修改分區。
  24. 如申請專利範圍第23項之系統,其中,獲取模組進一步被配置為獲取所述目標區域內的第二資料集;資料集處理模組進一步被配置為將所述第二資料集劃分為複數個第二初始分區;以及基於所述複數個第二初始分區,確定所述第二資料集的第二空間索引;以及擴展模組進一步被配置為根據所述分散式運算方法和所述第二空間索引,對所述複數個第二初始分區進行分散式運算,以產生複數個第二修改分區。
  25. 如申請專利範圍第24項之系統,其中,所述複數個第二修改分區的所述產生包括:基於所述第二空間索引,獲取與所述複數個第二初始分區相關的複數個第二邊界資料集,其中所述複數個第二邊界資料集包括與所述複數個第二初始分區周圍的一個或多個第二區域相關的資料;以及對所述複數個第二邊界資料集進行第二洗牌操作,以產生所述複數個第二修改分區。
  26. 如申請專利範圍第24項之系統,所述系統還包括:接合模組,被配置為將所述第一資料集中的所述複數個第一修改分區中的至少一個分區和所述第二資料集中的所述複數個第二修改分區中的至少一個分區進行接合。
  27. 如申請專利範圍第24項之系統,其中,所述第一資料集包括與電 子系統通訊的複數個使用者終端的軌跡點,並且所述第二資料集包括所述目標區域的路網資訊。
  28. 如申請專利範圍第24項之系統,其中,對於所述複數個第二修改分區中的每一個分區,其所述第二修改分區的位置、所述第二修改分區的面積、以及所述第二修改分區的形狀均與所述複數個第一修改分區的其中一個分區相同。
  29. 如申請專利範圍第24項之系統,其中,所述第一空間索引或所述第二空間索引與希爾伯特曲線或Z曲線中的至少一個相關。
  30. 如申請專利範圍第23項之系統,其中,所述分散式運算方法包括Spark框架、Hadoop、Phoenix、Disco或Mars中的至少一種方法。
  31. 一種非暫時性電腦可讀取媒體,包括至少一組用於索引資料的指令,其中,當由計算裝置的一個或多個處理器執行時,所述至少一組指令使所述計算裝置執行一種方法,所述方法包括:藉由所述至少一個處理器,獲取第一資料集,所述第一資料集是與目標區域內的空間資訊相關的空間大數據集;藉由所述至少一個處理器,基於所述空間資訊,將所述第一資料集劃分為複數個第一初始分區;藉由所述至少一個處理器,基於所述複數個第一初始分區,確定所述第一資料集的第一空間索引;以及藉由所述至少一個處理器,根據以下操作產生複數個第一修改分區:基於所述第一空間索引,獲取與所述複數個第一初始分區相關的複數個第一邊界資料集,其中所述複數個第一邊界資料集包括與所述複數個第一初始分區周圍的一個或多個第一區域相關的資料;以及對所述複數個第一邊界資料集進行第一洗牌操作。
TW107145782A 2017-12-29 2018-12-19 最佳化空間大數據分區的系統、方法和非暫時性電腦可讀取媒體 TWI720390B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
PCT/CN2017/119699 WO2019127314A1 (en) 2017-12-29 2017-12-29 Systems and methods for indexing big data
WOPCT/CN2017/119894 2017-12-29
PCT/CN2017/119894 WO2019127384A1 (en) 2017-12-29 2017-12-29 Systems and methods for joining data sets
WOPCT/CN2017/119699 2017-12-29
??PCT/CN2017/119894 2017-12-29
??PCT/CN2017/119699 2017-12-29

Publications (2)

Publication Number Publication Date
TW201939308A TW201939308A (zh) 2019-10-01
TWI720390B true TWI720390B (zh) 2021-03-01

Family

ID=67064353

Family Applications (2)

Application Number Title Priority Date Filing Date
TW107145782A TWI720390B (zh) 2017-12-29 2018-12-19 最佳化空間大數據分區的系統、方法和非暫時性電腦可讀取媒體
TW107145783A TWI701564B (zh) 2017-12-29 2018-12-19 用於為大數據添加索引的系統和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW107145783A TWI701564B (zh) 2017-12-29 2018-12-19 用於為大數據添加索引的系統和方法

Country Status (4)

Country Link
US (2) US20200151197A1 (zh)
CN (2) CN111587429B (zh)
TW (2) TWI720390B (zh)
WO (2) WO2019127384A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI756963B (zh) * 2020-12-03 2022-03-01 禾聯碩股份有限公司 目標物件之區域定義辨識系統及其方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060155679A1 (en) * 2005-01-07 2006-07-13 Oracle International Corporation Pruning of spatial queries using index root MBRS on partitioned indexes
US20080228783A1 (en) * 2007-03-14 2008-09-18 Dawn Moffat Data Partitioning Systems
TW201734872A (zh) * 2016-03-25 2017-10-01 Alibaba Group Services Ltd 資料伴隨分析方法及裝置
TW201743280A (zh) * 2016-06-13 2017-12-16 趙尚威 基於區域偵測之載具聯網資訊系統

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826663B2 (en) * 2003-01-13 2004-11-30 Rambus Inc. Coded write masking
US7177882B2 (en) * 2003-09-05 2007-02-13 Oracle International Corporation Georaster physical data model for storing georeferenced raster data
US8799668B2 (en) * 2009-11-23 2014-08-05 Fred Cheng Rubbing encryption algorithm and security attack safe OTP token
CN102375853A (zh) * 2010-08-24 2012-03-14 中国移动通信集团公司 分布式数据库系统、在其中建立索引的方法和查询方法
CN102902742A (zh) * 2012-09-17 2013-01-30 南京邮电大学 一种云环境下的空间数据划分方法
US10929501B2 (en) * 2013-08-08 2021-02-23 Sap Se Managing and querying spatial point data in column stores
CN105159895A (zh) * 2014-05-28 2015-12-16 国际商业机器公司 用于存储和查询数据的方法和系统
CN106796589B (zh) * 2014-05-30 2021-01-15 湖北第二师范学院 空间数据对象的索引方法和系统
CN104112011B (zh) * 2014-07-16 2017-09-15 深圳国泰安教育技术股份有限公司 一种海量数据提取的方法及装置
EP3311494B1 (en) * 2015-06-15 2021-12-22 Ascava, Inc. Performing multidimensional search, content-associative retrieval, and keyword-based search and retrieval on data that has been losslessly reduced using a prime data sieve
US9690488B2 (en) * 2015-10-19 2017-06-27 Intel Corporation Data compression using accelerator with multiple search engines
CN107391745A (zh) * 2017-08-10 2017-11-24 国家基础地理信息中心 大规模空间数据分级快速索引方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060155679A1 (en) * 2005-01-07 2006-07-13 Oracle International Corporation Pruning of spatial queries using index root MBRS on partitioned indexes
US20080228783A1 (en) * 2007-03-14 2008-09-18 Dawn Moffat Data Partitioning Systems
TW201734872A (zh) * 2016-03-25 2017-10-01 Alibaba Group Services Ltd 資料伴隨分析方法及裝置
TW201743280A (zh) * 2016-06-13 2017-12-16 趙尚威 基於區域偵測之載具聯網資訊系統

Also Published As

Publication number Publication date
US20200327108A1 (en) 2020-10-15
WO2019127384A1 (en) 2019-07-04
CN110352414B (zh) 2022-11-11
CN111587429B (zh) 2023-12-05
CN110352414A (zh) 2019-10-18
WO2019127314A1 (en) 2019-07-04
TW201939309A (zh) 2019-10-01
CN111587429A (zh) 2020-08-25
TWI701564B (zh) 2020-08-11
US20200151197A1 (en) 2020-05-14
TW201939308A (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
US10969239B2 (en) Systems and methods for determining a point of interest
CN109313846B (zh) 用于推荐上车点的系统和方法
TW201933157A (zh) 用於監控交通壅塞的系統和方法
JP6876071B2 (ja) 推定された到着時間を決定するためのシステムおよび方法
JP6503474B2 (ja) 移動デバイスの経路を求めるシステム及び方法
CN110998239B (zh) 用于确定地图中的新路径的系统和方法
JP7074866B2 (ja) 対象がターゲットジオフェンスに属するか否かを決定するシステム及び方法
CN111507732B (zh) 用于识别相似轨迹的系统和方法
TW201818342A (zh) 確定與車輛相關的參考方向的系統和方法
TWI725360B (zh) 用於確定地圖上的新道路的系統和方法
CN110781412B (zh) 用于识别路网中孤岛区域的系统和方法
CN111144968B (zh) 用于分配服务请求的系统和方法
TWI720390B (zh) 最佳化空間大數據分區的系統、方法和非暫時性電腦可讀取媒體
CN111989664A (zh) 用于改善在线平台用户体验的系统和方法
WO2019232702A1 (en) System and method for determining location identifier