公交車實時地理信息數(shù)據(jù)清洗方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及智能公交【技術(shù)領(lǐng)域】,提供了一種公交車實時地理信息數(shù)據(jù)清洗方法及系統(tǒng)。其中公交車實時地理信息數(shù)據(jù)清洗方法包括如下步驟:初始狀態(tài)下,根據(jù)實時數(shù)據(jù)建立基礎(chǔ)數(shù)據(jù)表,所述基礎(chǔ)數(shù)據(jù)表保存實時數(shù)據(jù)中各類數(shù)據(jù)記錄的歷史信息;基于所述基礎(chǔ)數(shù)據(jù)表實時修正不斷到達(dá)的數(shù)據(jù)記錄;動態(tài)更新所述基礎(chǔ)數(shù)據(jù)表。本發(fā)明實現(xiàn)了對實時公交車地理信息數(shù)據(jù)的可靠實時清洗,為公交車數(shù)據(jù)的實時計算提供基礎(chǔ)。
【專利說明】公交車實時地理信息數(shù)據(jù)清洗方法及系統(tǒng)
【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明涉及智能公交【技術(shù)領(lǐng)域】,特別是涉及一種公交車實時地理信息數(shù)據(jù)清洗方法及系統(tǒng)。
【【背景技術(shù)】】
[0002]近年來城市機(jī)動車的數(shù)量急速增長,引發(fā)了許多諸如堵車、停車難、打車難等嚴(yán)重影響老百姓出行質(zhì)量的問題。同時,城市的交通網(wǎng)絡(luò)也日趨復(fù)雜,對一個完善的管理系統(tǒng)的要求越來越高。在未來構(gòu)建智能城市的藍(lán)圖中,智能交通可謂是重中之重。
[0003]大數(shù)據(jù)時代的到來為智能交通的建立提供了一個契機(jī),其中公交車數(shù)據(jù)的使用價值巨大。由于公交車是城市的主流交通工具之一,公交車實時數(shù)據(jù)的計算可以為市民提供到站預(yù)測,耗時預(yù)測的多種服務(wù)。進(jìn)一步地,公交車行駛路線固定,公交車實時數(shù)據(jù)可以用于計算道路的實時路況。然而,由于設(shè)備缺陷和網(wǎng)絡(luò)信號不穩(wěn)定等客觀原因,公交車數(shù)據(jù)常常包含了很多異常的位置信息和狀態(tài)信息,極大地干擾了公交車數(shù)據(jù)的實時計算的準(zhǔn)確性,因此,公交車地理信息數(shù)據(jù)的實時地正確計算很大程度上取決于如何有效地并且實時地進(jìn)行數(shù)據(jù)清洗。
[0004]公交車地理信息數(shù)據(jù)主要有以下特點:
[0005](I)數(shù)據(jù)量大,由于公交車數(shù)量眾多,每秒產(chǎn)生的數(shù)據(jù)量巨大,因此要求能夠正確快速地清洗這些數(shù)據(jù);
[0006](2)異常數(shù)據(jù)復(fù)雜,全球定位系統(tǒng)(Global Positioning System, GPS)設(shè)備種類眾多,受到衛(wèi)星定位的精度、定位設(shè)備的限制、網(wǎng)絡(luò)信號等多種客觀并且不可預(yù)知的因素影響,導(dǎo)致數(shù)據(jù)中存在大量不可預(yù)知的數(shù)據(jù),異常數(shù)據(jù)的種類繁多,因此要求能夠正確識別并且修正這些異常。
[0007]現(xiàn)有的常用方法把接收的數(shù)據(jù)保存在存儲介質(zhì)中,由后臺處理單元在固定的時間間隔進(jìn)行批量地修正。由于現(xiàn)有技術(shù)使用批量處理實時接收到的數(shù)據(jù),有如下缺陷:1、無法充分利用實時計算能力,導(dǎo)致后期計算量巨大;2、無法使用動態(tài)的信息組合成先驗知識對數(shù)據(jù)進(jìn)行智能修正。
[0008]鑒于此,克服上述現(xiàn)有技術(shù)所存在的缺陷是本【技術(shù)領(lǐng)域】亟待解決的問題。
【
【發(fā)明內(nèi)容】
】
[0009]本發(fā)明要解決的技術(shù)問題是提供一種公交車實時地理信息數(shù)據(jù)清洗方法及系統(tǒng),以實現(xiàn)對實時公交車地理信息數(shù)據(jù)的可靠實時清洗,為公交車數(shù)據(jù)的實時計算提供基礎(chǔ)。
[0010]本發(fā)明采用如下技術(shù)方案:
[0011]一種公交車實時地理信息數(shù)據(jù)清洗方法,包括如下步驟:
[0012]初始狀態(tài)下,根據(jù)實時數(shù)據(jù)建立基礎(chǔ)數(shù)據(jù)表,所述基礎(chǔ)數(shù)據(jù)表保存實時數(shù)據(jù)中各類數(shù)據(jù)記錄的歷史信息;
[0013]基于所述基礎(chǔ)數(shù)據(jù)表實時修正不斷到達(dá)的數(shù)據(jù)記錄;[0014]動態(tài)更新所述基礎(chǔ)數(shù)據(jù)表。
[0015]進(jìn)一步地,所述基于所述基礎(chǔ)數(shù)據(jù)表實時修正不斷到達(dá)的數(shù)據(jù)記錄的步驟具體包括:
[0016]使用基礎(chǔ)數(shù)據(jù)表修正不斷到達(dá)的數(shù)據(jù)記錄,拋棄最終仍無法修正的數(shù)據(jù)記錄,并適當(dāng)修改基礎(chǔ)數(shù)據(jù)表以保證數(shù)據(jù)一致性。
[0017]進(jìn)一步地,所述根據(jù)實時數(shù)據(jù)建立基礎(chǔ)數(shù)據(jù)表的步驟、基于所述基礎(chǔ)數(shù)據(jù)表實時修正不斷到達(dá)的數(shù)據(jù)記錄的步驟和動態(tài)更新所述基礎(chǔ)數(shù)據(jù)表的步驟均由多個線程或進(jìn)程根據(jù)特定的機(jī)制協(xié)同執(zhí)行,所述線程或進(jìn)程之間通過順序分配方法或哈希分配方法進(jìn)行數(shù)據(jù)分配。
[0018]進(jìn)一步地,所述順序分配方法根據(jù)數(shù)據(jù)的到達(dá)順序依次分發(fā)給各個線程或進(jìn)程,保證各個線程或進(jìn)程所接收的數(shù)據(jù)量大小一致;
[0019]所述哈希分配方法根據(jù)數(shù)據(jù)的多個指定屬性,計算所述數(shù)據(jù)的哈希值,根據(jù)哈希值%m的計算結(jié)果來決定數(shù)據(jù)所被分發(fā)的線程或進(jìn)程,其中m為線程數(shù)或進(jìn)程數(shù)。
[0020]進(jìn)一步地,所述基礎(chǔ)數(shù)據(jù)表中每個表項為一個key-value結(jié)構(gòu),其中key記錄了一種特定數(shù)據(jù)記錄屬性,value保存了該類特定屬性的數(shù)據(jù)記錄的歷史信息,所述歷史信息用于修正該類特定屬性的數(shù)據(jù)記錄的異常,所述基礎(chǔ)數(shù)據(jù)表有多個。
[0021]進(jìn)一步地,所述初始狀態(tài)下,根據(jù)實時數(shù)據(jù)建立基礎(chǔ)數(shù)據(jù)表的步驟具體為:用戶使用已有知識建立基礎(chǔ)數(shù)據(jù)表;
[0022]所述動態(tài)更新所述基礎(chǔ)數(shù)據(jù)表的步驟具體為:根據(jù)實時的正常數(shù)據(jù)記錄動態(tài)更新所述基礎(chǔ)數(shù)據(jù)表,所述正常數(shù)據(jù)記錄包括已被修正的異常數(shù)據(jù)記錄。
[0023]本發(fā)明還提供了一種公交車實時地理信息數(shù)據(jù)清洗系統(tǒng),包括:
[0024]基礎(chǔ)數(shù)據(jù)表維護(hù)模塊,所述基礎(chǔ)數(shù)據(jù)表維護(hù)模塊根據(jù)實時數(shù)據(jù)建立并動態(tài)更新基礎(chǔ)數(shù)據(jù)表,所述基礎(chǔ)數(shù)據(jù)表保存實時數(shù)據(jù)中各類數(shù)據(jù)記錄的歷史信息;
[0025]數(shù)據(jù)實時修正模塊,所述數(shù)據(jù)實時修正模塊基于基礎(chǔ)數(shù)據(jù)表實時修正不斷到達(dá)的數(shù)據(jù)記錄。
[0026]進(jìn)一步地,所述數(shù)據(jù)實時修正模塊使用基礎(chǔ)數(shù)據(jù)表修正不斷到達(dá)的數(shù)據(jù)記錄,拋棄最終仍無法修正的數(shù)據(jù)記錄,并適當(dāng)修改基礎(chǔ)數(shù)據(jù)表以保證數(shù)據(jù)一致性。
[0027]進(jìn)一步地,所述基礎(chǔ)數(shù)據(jù)表維護(hù)模塊和數(shù)據(jù)實時修正模塊由多個線程或進(jìn)程根據(jù)特定的機(jī)制協(xié)同執(zhí)行,每個模塊內(nèi)部的線程或進(jìn)程之間通過順序分配方法或哈希分配方法進(jìn)行數(shù)據(jù)分配。
[0028]進(jìn)一步地,所述順序分配方法根據(jù)數(shù)據(jù)的到達(dá)順序依次分發(fā)給各個線程或進(jìn)程,保證各個線程或進(jìn)程所接收的數(shù)據(jù)量大小一致;
[0029]所述哈希分配方法根據(jù)數(shù)據(jù)的多個指定屬性,計算所述數(shù)據(jù)的哈希值,根據(jù)哈希值%m的計算結(jié)果來決定數(shù)據(jù)所被分發(fā)的線程或進(jìn)程,其中m為線程數(shù)或進(jìn)程數(shù)。
[0030]進(jìn)一步地,所述基礎(chǔ)數(shù)據(jù)表中每個表項為一個key-value結(jié)構(gòu),其中key記錄了一種特定數(shù)據(jù)記錄屬性,value保存了該類特定屬性的數(shù)據(jù)記錄的歷史信息,所述歷史信息用于修正該類特定屬性的數(shù)據(jù)記錄的異常,所述基礎(chǔ)數(shù)據(jù)表有多個;
[0031]初始狀態(tài)時,基礎(chǔ)數(shù)據(jù)表由用戶使用已有知識建立,后續(xù)過程中基礎(chǔ)數(shù)據(jù)表維護(hù)模塊根據(jù)實時的正常數(shù)據(jù)記錄動態(tài)更新所述基礎(chǔ)數(shù)據(jù)表,所述正常數(shù)據(jù)記錄包括已被數(shù)據(jù)實時修正模塊修正的異常數(shù)據(jù)記錄。
[0032]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:本發(fā)明可以對海量實時公交車地理信息數(shù)據(jù)進(jìn)行實時地并且可靠地清理和修正,以滿足數(shù)據(jù)計算的正確性要求,為公交車數(shù)據(jù)的實時計算提供基礎(chǔ),其計算規(guī)??蓴U(kuò)展,魯棒性強(qiáng)。
【【專利附圖】
【附圖說明】】
[0033]圖1是本發(fā)明實施例的公交車實時地理信息數(shù)據(jù)清洗方法流程圖;
[0034]圖2是本發(fā)明實施例的公交車實時地理信息數(shù)據(jù)清洗系統(tǒng)結(jié)構(gòu)框圖;
[0035]圖3是line_id的兩種修正方法示意圖;
[0036]圖4是bus_pos的一種修正方法示意圖;
[0037]圖5是cur_station的五種修正方法示意圖;
[0038]圖6是next_station的四種修正方法示意圖。
【【具體實施方式】】
[0039]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0040]此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。`
[0041]如圖1所示,本發(fā)明實施例提供了一種公交車實時地理信息數(shù)據(jù)清洗方法,包括如下步驟:
[0042]步驟SlO:初始狀態(tài)下,根據(jù)實時數(shù)據(jù)建立基礎(chǔ)數(shù)據(jù)表(Base Data Table,BDT),基礎(chǔ)數(shù)據(jù)表BDT保存實時數(shù)據(jù)中各類數(shù)據(jù)記錄的歷史信息;
[0043]具體地,基礎(chǔ)數(shù)據(jù)表BDT存儲在一數(shù)據(jù)庫中,其中每個表項為一個key-value結(jié)構(gòu),其中key記錄了一種特定數(shù)據(jù)記錄屬性,value保存了該類特定屬性的數(shù)據(jù)記錄的歷史信息,該歷史信息用于修正該類特定屬性的數(shù)據(jù)記錄的異常,基礎(chǔ)數(shù)據(jù)表BDT有多個。用戶可使用已有知識建立基礎(chǔ)數(shù)據(jù)表BDT。
[0044]步驟S20:基于基礎(chǔ)數(shù)據(jù)表BDT實時修正不斷到達(dá)的數(shù)據(jù)記錄;
[0045]具體地,使用基礎(chǔ)數(shù)據(jù)表BDT修正不斷到達(dá)的數(shù)據(jù)記錄,拋棄最終仍無法修正的數(shù)據(jù)記錄,并適當(dāng)修改基礎(chǔ)數(shù)據(jù)表BDT以保證數(shù)據(jù)一致性。
[0046]步驟S30:動態(tài)更新基礎(chǔ)數(shù)據(jù)表BDT。
[0047]具體地,根據(jù)實時的正常數(shù)據(jù)記錄動態(tài)更新基礎(chǔ)數(shù)據(jù)表BDT,正常數(shù)據(jù)記錄包括已被修正的異常數(shù)據(jù)記錄。
[0048]步驟S10-S30均可由多個線程或進(jìn)程根據(jù)特定的機(jī)制協(xié)同執(zhí)行,線程或進(jìn)程之間通過順序分配方法或哈希分配方法進(jìn)行數(shù)據(jù)分配。順序分配方法根據(jù)數(shù)據(jù)的到達(dá)順序依次分發(fā)給各個線程或進(jìn)程,保證各個線程或進(jìn)程所接收的數(shù)據(jù)量大小一致;哈希分配方法根據(jù)數(shù)據(jù)的多個指定屬性,計算數(shù)據(jù)的哈希值,根據(jù)哈希值%m的計算結(jié)果來決定數(shù)據(jù)所被分發(fā)的線程或進(jìn)程,其中m為線程數(shù)或進(jìn)程數(shù)。
[0049]如圖2所示,本發(fā)明實施例還提供了一種公交車實時地理信息數(shù)據(jù)清洗系統(tǒng),其包括基礎(chǔ)數(shù)據(jù)表維護(hù)模塊10和數(shù)據(jù)實時修正模塊20?;A(chǔ)數(shù)據(jù)表維護(hù)模塊10根據(jù)實時數(shù)據(jù)建立并動態(tài)更新基礎(chǔ)數(shù)據(jù)表BDT,基礎(chǔ)數(shù)據(jù)表BDT保存實時數(shù)據(jù)中各類數(shù)據(jù)記錄的歷史信息;數(shù)據(jù)實時修正模塊20基于基礎(chǔ)數(shù)據(jù)表BDT實時修正不斷到達(dá)的數(shù)據(jù)記錄,具體地,數(shù)據(jù)實時修正模塊20使用基礎(chǔ)數(shù)據(jù)表BDT修正不斷到達(dá)的數(shù)據(jù)記錄,拋棄最終仍無法修正的數(shù)據(jù)記錄,并適當(dāng)修改基礎(chǔ)數(shù)據(jù)表BDT以保證數(shù)據(jù)一致性。
[0050]基礎(chǔ)數(shù)據(jù)表維護(hù)模塊10和數(shù)據(jù)實時修正模塊20由多個線程或進(jìn)程根據(jù)特定的機(jī)制協(xié)同執(zhí)行,每個模塊內(nèi)部的線程或進(jìn)程之間通過順序分配方法或哈希分配方法進(jìn)行數(shù)據(jù)分配。順序分配方法根據(jù)數(shù)據(jù)的到達(dá)順序依次分發(fā)給各個線程或進(jìn)程,最大限度地保證各個線程或進(jìn)程所接收的數(shù)據(jù)量大小一致;哈希分配方法根據(jù)數(shù)據(jù)的多個指定屬性,計算數(shù)據(jù)的哈希值HashValue,根據(jù)HashValue%m的計算結(jié)果來決定數(shù)據(jù)所被分發(fā)的線程或進(jìn)程,其中m為線程數(shù)或進(jìn)程數(shù)。
[0051]在一優(yōu)選實施例中,基礎(chǔ)數(shù)據(jù)表維護(hù)模塊10使用哈希分配方法,分發(fā)所接收到的數(shù)據(jù)給本模塊的各個線程或者線程,數(shù)據(jù)實時修正模塊20使用順序分配方法,分發(fā)所接收到的數(shù)據(jù)給本模塊的各個線程或者線程。
[0052]基礎(chǔ)數(shù)據(jù)表BDT中每個表項為一個key-value結(jié)構(gòu),其中key記錄了一種特定數(shù)據(jù)記錄屬性,value保存了該類特定屬性的數(shù)據(jù)記錄的歷史信息,該歷史信息用于修正該類特定屬性的數(shù)據(jù)記錄的異常,根據(jù)具體的修正算法,可以有多個基礎(chǔ)數(shù)據(jù)表BDT。初始狀態(tài)時,基礎(chǔ)數(shù)據(jù)表BDT可由用戶使用已有知識建立,后續(xù)過程中基礎(chǔ)數(shù)據(jù)表維護(hù)模塊10根據(jù)實時的正常數(shù)據(jù)記錄動態(tài)更新基礎(chǔ)數(shù)據(jù)表BDT,正常數(shù)據(jù)記錄包括已被數(shù)據(jù)實時修正模塊20修正的異常數(shù)據(jù)記錄。
[0053]下面通過一優(yōu)選實施例對本發(fā)明進(jìn)行進(jìn)一步地詳細(xì)說明:
[0054]在本實施例中,為了簡要描述,把多維的公交車實時地理信息數(shù)據(jù)記錄bus_record 簡化為一個五兀組{bus_id, line_id, bus_pos, cur_station, next_station},其中:
[0055]bus_id 是公交車 id ;
[0056]line_id是該公交車當(dāng)前正在執(zhí)行的線路id ;
[0057]bus_pos為該公交車的GPS坐標(biāo);
[0058]cur_station為該公交車當(dāng)前所在的站點id或者上一個站點id ;
[0059]next_station為該公交車將要前往的站點id。
[0060]如果把全部公交車的行駛路線抽象成一張無向圖TransportGraph,則每個站點是TransportGraph中的一個節(jié)點N, Ni和N」相鄰意味著存在一條公交路線依次駛經(jīng)Ni和Nj,且稱Ni和Nj之間存在著連接edge。
[0061]在系統(tǒng)初始化節(jié)點,基礎(chǔ)數(shù)據(jù)表BDT將會被建立,包括線路信息表lineinfotb,站點信息表stationinfotb,相鄰站點表neighborstb,這三張表邏輯上構(gòu)建了TransportGraph0公交車日志表buslogtb,站點日志表stationlogtb,路徑日志表edgelogtb。其中:
[0062]線路信息表lineinfotb的每個表項為一個key-value結(jié)構(gòu),key為線路id, value為該線路所途經(jīng)的站點id。
[0063]站點信息表stationinfotb的每個表項為一個key-fields結(jié)構(gòu),key為站點id,fields為{GPS坐標(biāo),站點名}。
[0064]相鄰站點表neighborstb的每個表項為一個key-set結(jié)構(gòu),key為站點id, set為該站點相鄰的其他站點id集合
[0065]公交車日志表buslogtb的每個表項為一個key-list結(jié)構(gòu),key為公交車id, list為該公交車已經(jīng)途經(jīng)的站點id。
[0066]站點日志表stationlogtb的每個表項為一個key-list結(jié)構(gòu),key為站點id, list為該站點已經(jīng)發(fā)出的公交車id。
[0067]路徑日志表edgelogtb的每個表項為一個key-list結(jié)構(gòu),key為“站點idl -站點id2”,list為正在從idl行駛到id2的公交車id。
[0068]實時數(shù)據(jù)記錄將會被不斷地輸入數(shù)據(jù)實時修正模塊20,模塊內(nèi)部使用順序分配的方式分發(fā)數(shù)據(jù)記錄給不同的線程或者進(jìn)程。對于一個數(shù)據(jù)記錄{bus_id, line_id, bus_pos, cur_station, next_station},如果存在不合法的字段,則數(shù)據(jù)實時修正模塊20會使用如圖3-圖6的方法修正這些字段。如圖3所示,line_id的兩種修正方法表示line_id可由兩種方式推導(dǎo)得出,第一種方式是用cur_station和next_station,基于基礎(chǔ)信息表Iineinfotb來推導(dǎo)得出;第二種方式是用bus_id基于基礎(chǔ)信息表buslogtb來推導(dǎo)得出,圖4-圖6中的推導(dǎo)方法與圖3中的方法類似,此處不再贅述。如果字段修正最終失敗,則該數(shù)據(jù)記錄會被丟棄。
[0069]數(shù)據(jù)實時修正模塊20將會向基礎(chǔ)數(shù)據(jù)表維護(hù)模塊10輸出正常的數(shù)據(jù)記錄(包括已修正的正常數(shù)據(jù)記錄),基礎(chǔ)數(shù)據(jù)表維護(hù)模塊10會使用哈希分配的方法分配所接收到的數(shù)據(jù)給本模塊的各個線程或者進(jìn)程,各個線程和進(jìn)程會根據(jù)數(shù)據(jù)記錄的信息動態(tài)更新公交車日志表buslogtb,站點日志表stationlogtb,路徑日志表edgelogtb,其中:
[0070]公交車日志表buslogtb:更新該表key為bus_id的表項,把cur_station放在該表項list的尾部。
[0071]站點日志表stationlogtb:更新該表key為cur_station的表項,把bus_id放在該表現(xiàn)list的尾部。
[0072]路徑日志表edgelogtb:更新該表 key 為 “cur_station_next_station” 的表項,把bus_id放入該表項list的尾部。
[0073]實駘駘證:
[0074]使用Storm流式計算工具實現(xiàn)了本發(fā)明,所處理的實時數(shù)據(jù)來源于深圳市5000輛實時的公交車地理位置數(shù)據(jù),每秒接收500條數(shù)據(jù)記錄,采用2個物理節(jié)點,結(jié)構(gòu)中各個模塊使用的線程數(shù)為:數(shù)據(jù)實時修正模塊(4個)、基礎(chǔ)數(shù)據(jù)表維護(hù)模塊(4個),存儲了基礎(chǔ)數(shù)據(jù)表的數(shù)據(jù)庫使用了 redis內(nèi)存數(shù)據(jù)庫。
[0075]本發(fā)明實施例可以對海量實時公交車地理信息數(shù)據(jù)進(jìn)行實時地并且可靠地清理和修正,以滿足數(shù)據(jù)計算的正確性要求,為公交車數(shù)據(jù)的實時計算提供基礎(chǔ),其計算規(guī)??蓴U(kuò)展,魯棒性強(qiáng)。
[0076]值得說明的是,上述裝置和系統(tǒng)內(nèi)的模塊、單元之間的信息交互、執(zhí)行過程等內(nèi)容,與本發(fā)明的處理方法實施例基于同一構(gòu)思,系統(tǒng)和方法的具體內(nèi)容可相互參考實施例中的敘述。
[0077]本領(lǐng)域普通技術(shù)人員可以理解實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機(jī)可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:只讀存儲器(ROM,Read Only Memory)、隨機(jī)存取存儲器(RAM,Random AccessMemory )、磁盤或光盤等。
[0078]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種公交車實時地理信息數(shù)據(jù)清洗方法,其特征在于,包括如下步驟: 初始狀態(tài)下,根據(jù)實時數(shù)據(jù)建立基礎(chǔ)數(shù)據(jù)表,所述基礎(chǔ)數(shù)據(jù)表保存實時數(shù)據(jù)中各類數(shù)據(jù)記錄的歷史信息; 基于所述基礎(chǔ)數(shù)據(jù)表實時修正不斷到達(dá)的數(shù)據(jù)記錄; 動態(tài)更新所述基礎(chǔ)數(shù)據(jù)表。
2.如權(quán)利要求1所述的公交車實時地理信息數(shù)據(jù)清洗方法,其特征在于,所述基于所述基礎(chǔ)數(shù)據(jù)表實時修正不斷到達(dá)的數(shù)據(jù)記錄的步驟具體包括: 使用基礎(chǔ)數(shù)據(jù)表修正不斷到達(dá)的數(shù)據(jù)記錄,拋棄最終仍無法修正的數(shù)據(jù)記錄,并適當(dāng)修改基礎(chǔ)數(shù)據(jù)表以保證數(shù)據(jù)一致性。
3.如權(quán)利要求1所述的公交車實時地理信息數(shù)據(jù)清洗方法,其特征在于,所述根據(jù)實時數(shù)據(jù)建立基礎(chǔ)數(shù)據(jù)表的步驟、基于所述基礎(chǔ)數(shù)據(jù)表實時修正不斷到達(dá)的數(shù)據(jù)記錄的步驟和動態(tài)更新所述基礎(chǔ)數(shù)據(jù)表的步驟均由多個線程或進(jìn)程根據(jù)特定的機(jī)制協(xié)同執(zhí)行,所述線程或進(jìn)程之間通過順序分配方法或哈希分配方法進(jìn)行數(shù)據(jù)分配。
4.如權(quán)利要求3所述的公交車實時地理信息數(shù)據(jù)清洗方法,其特征在于,所述順序分配方法根據(jù)數(shù)據(jù)的到達(dá)順序依次分發(fā)給各個線程或進(jìn)程,保證各個線程或進(jìn)程所接收的數(shù)據(jù)量大小一致; 所述哈希分配方法根據(jù)數(shù)據(jù)的多個指定屬性,計算所述數(shù)據(jù)的哈希值,根據(jù)哈希值%m的計算結(jié)果來決定數(shù)據(jù)所被分發(fā)的線程或進(jìn)程,其中m為線程數(shù)或進(jìn)程數(shù)。
5.如權(quán)利要求1所述的公交車實時地理信息數(shù)據(jù)清洗方法,其特征在于,所述基礎(chǔ)數(shù)據(jù)表中每個表項為一個key-value結(jié)構(gòu),其中key記錄了一種特定數(shù)據(jù)記錄屬性,value保存了該類特定屬性的數(shù)據(jù)記錄的歷史信息,所述歷史信息用于修正該類特定屬性的數(shù)據(jù)記錄的異常,所述基礎(chǔ)數(shù)據(jù)表有多個。
6.如權(quán)利要求1所述的公交車實時地理信息數(shù)據(jù)清洗方法,其特征在于,所述初始狀態(tài)下,根據(jù)實時數(shù)據(jù)建立基礎(chǔ)數(shù)據(jù)表的步驟具體為:用戶使用已有知識建立基礎(chǔ)數(shù)據(jù)表; 所述動態(tài)更新所述基礎(chǔ)數(shù)據(jù)表的步驟具體為:根據(jù)實時的正常數(shù)據(jù)記錄動態(tài)更新所述基礎(chǔ)數(shù)據(jù)表,所述正常數(shù)據(jù)記錄包括已被修正的異常數(shù)據(jù)記錄。
7.一種公交車實時地理信息數(shù)據(jù)清洗系統(tǒng),其特征在于,包括: 基礎(chǔ)數(shù)據(jù)表維護(hù)模塊,所述基礎(chǔ)數(shù)據(jù)表維護(hù)模塊根據(jù)實時數(shù)據(jù)建立并動態(tài)更新基礎(chǔ)數(shù)據(jù)表,所述基礎(chǔ)數(shù)據(jù)表保存實時數(shù)據(jù)中各類數(shù)據(jù)記錄的歷史信息; 數(shù)據(jù)實時修正模塊,所述數(shù)據(jù)實時修正模炔基于基礎(chǔ)數(shù)據(jù)表實時修正不斷到達(dá)的數(shù)據(jù)記錄。
8.如權(quán)利要求7所述的公交車實時地理信息數(shù)據(jù)清洗系統(tǒng),其特征在于,所述數(shù)據(jù)實時修正模塊使用基礎(chǔ)數(shù)據(jù)表修正不斷到達(dá)的數(shù)據(jù)記錄,拋棄最終仍無法修正的數(shù)據(jù)記錄,并適當(dāng)修改基礎(chǔ)數(shù)據(jù)表以保證數(shù)據(jù)一致性。
9.如權(quán)利要求7所述的公交車實時地理信息數(shù)據(jù)清洗系統(tǒng),其特征在于,所述基礎(chǔ)數(shù)據(jù)表維護(hù)模塊和數(shù)據(jù)實時修正模塊由多個線程或進(jìn)程根據(jù)特定的機(jī)制協(xié)同執(zhí)行,每個模塊內(nèi)部的線程或進(jìn)程之間通過順序分配方法或哈希分配方法進(jìn)行數(shù)據(jù)分配。
10.如權(quán)利要求9所述的公交車實時地理信息數(shù)據(jù)清洗系統(tǒng),其特征在于,所述順序分配方法根據(jù)數(shù)據(jù)的到達(dá)順序依次分發(fā)給各個線程或進(jìn)程,保證各個線程或進(jìn)程所接收的數(shù)據(jù)量大小一致; 所述哈希分配方法根據(jù)數(shù)據(jù)的多個指定屬性,計算所述數(shù)據(jù)的哈希值,根據(jù)哈希值%m的計算結(jié)果來決定數(shù)據(jù)所被分發(fā)的線程或進(jìn)程,其中m為線程數(shù)或進(jìn)程數(shù)。
11.如權(quán)利要求7所述的公交車實時地理信息數(shù)據(jù)清洗系統(tǒng),其特征在于,所述基礎(chǔ)數(shù)據(jù)表中每個表項為一個key-value結(jié)構(gòu),其中key記錄了一種特定數(shù)據(jù)記錄屬性,value保存了該類特定屬性的數(shù)據(jù)記錄的歷史信息,所述歷史信息用于修正該類特定屬性的數(shù)據(jù)記錄的異常,所述基礎(chǔ)數(shù)據(jù)表有多個; 初始狀態(tài)時,基礎(chǔ)數(shù)據(jù)表由用戶使用已有知識建立,后續(xù)過程中基礎(chǔ)數(shù)據(jù)表維護(hù)模塊根據(jù)實時的正常數(shù)據(jù)記錄動態(tài)更新所述基礎(chǔ)數(shù)據(jù)表,所述正常數(shù)據(jù)記錄包括已被數(shù)據(jù)實時修正模塊修正的異常數(shù)據(jù)記錄。
【文檔編號】G06F9/46GK103699680SQ201310753688
【公開日】2014年4月2日 申請日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】鄒瑜斌, 張帆, 張昕, 胡斌, 須成忠 申請人:中國科學(xué)院深圳先進(jìn)技術(shù)研究院, 深圳市易行網(wǎng)交通科技有限公司, 中科文訊科技(深圳)有限公司