书签 分享 收藏 举报 版权申诉 / 12

公交车实时地理信息数据清洗方法及系统.pdf

  • 上传人:a2
  • 文档编号:6179303
  • 上传时间:2019-05-17
  • 格式:PDF
  • 页数:12
  • 大小:1.01MB
  • 摘要
    申请专利号:

    CN201310753688.6

    申请日:

    2013.12.31

    公开号:

    CN103699680A

    公开日:

    2014.04.02

    当前法律状态:

    驳回

    有效性:

    无权

    法律详情:

    发明专利申请公布后的驳回IPC(主分类):G06F 17/30申请公布日:20140402|||实质审查的生效IPC(主分类):G06F 17/30申请日:20131231|||公开

    IPC分类号:

    G06F17/30; G06F9/46

    主分类号:

    G06F17/30

    申请人:

    中国科学院深圳先进技术研究院; 深圳市易行网交通科技有限公司; 中科文讯科技(深圳)有限公司

    发明人:

    邹瑜斌; 张帆; 张昕; 胡斌; 须成忠

    地址:

    518055 广东省深圳市南山区西丽大学城学苑大道1068号

    优先权:

    专利代理机构:

    深圳市科进知识产权代理事务所(普通合伙) 44316

    代理人:

    沈祖锋;郝明琴

    PDF完整版下载: PDF下载
    内容摘要

    本发明涉及智能公交技术领域,提供了一种公交车实时地理信息数据清洗方法及系统。其中公交车实时地理信息数据清洗方法包括如下步骤:初始状态下,根据实时数据建立基础数据表,所述基础数据表保存实时数据中各类数据记录的历史信息;基于所述基础数据表实时修正不断到达的数据记录;动态更新所述基础数据表。本发明实现了对实时公交车地理信息数据的可靠实时清洗,为公交车数据的实时计算提供基础。

    权利要求书

    权利要求书
    1.  一种公交车实时地理信息数据清洗方法,其特征在于,包括如下步骤:
    初始状态下,根据实时数据建立基础数据表,所述基础数据表保存实时数据中各类数据记录的历史信息;
    基于所述基础数据表实时修正不断到达的数据记录;
    动态更新所述基础数据表。

    2.  如权利要求1所述的公交车实时地理信息数据清洗方法,其特征在于,所述基于所述基础数据表实时修正不断到达的数据记录的步骤具体包括:
    使用基础数据表修正不断到达的数据记录,抛弃最终仍无法修正的数据记录,并适当修改基础数据表以保证数据一致性。

    3.  如权利要求1所述的公交车实时地理信息数据清洗方法,其特征在于,所述根据实时数据建立基础数据表的步骤、基于所述基础数据表实时修正不断到达的数据记录的步骤和动态更新所述基础数据表的步骤均由多个线程或进程根据特定的机制协同执行,所述线程或进程之间通过顺序分配方法或哈希分配方法进行数据分配。

    4.  如权利要求3所述的公交车实时地理信息数据清洗方法,其特征在于,所述顺序分配方法根据数据的到达顺序依次分发给各个线程或进程,保证各个线程或进程所接收的数据量大小一致;
    所述哈希分配方法根据数据的多个指定属性,计算所述数据的哈希值,根据哈希值%m的计算结果来决定数据所被分发的线程或进程,其中m为线程数或进程数。

    5.  如权利要求1所述的公交车实时地理信息数据清洗方法,其特征在于,所述基础数据表中每个表项为一个key-value结构,其中key记录了一种特定数据记录属性,value保存了该类特定属性的数据记录的历史信息,所述历史信息用于修正该类特定属性的数据记录的异常,所述基础数据表有多个。

    6.  如权利要求1所述的公交车实时地理信息数据清洗方法,其特征在于,所述初始状态下,根据实时数据建立基础数据表的步骤具体为:用户使用已有 知识建立基础数据表;
    所述动态更新所述基础数据表的步骤具体为:根据实时的正常数据记录动态更新所述基础数据表,所述正常数据记录包括已被修正的异常数据记录。

    7.  一种公交车实时地理信息数据清洗系统,其特征在于,包括:
    基础数据表维护模块,所述基础数据表维护模块根据实时数据建立并动态更新基础数据表,所述基础数据表保存实时数据中各类数据记录的历史信息;
    数据实时修正模块,所述数据实时修正模块基于基础数据表实时修正不断到达的数据记录。

    8.  如权利要求7所述的公交车实时地理信息数据清洗系统,其特征在于,所述数据实时修正模块使用基础数据表修正不断到达的数据记录,抛弃最终仍无法修正的数据记录,并适当修改基础数据表以保证数据一致性。

    9.  如权利要求7所述的公交车实时地理信息数据清洗系统,其特征在于,所述基础数据表维护模块和数据实时修正模块由多个线程或进程根据特定的机制协同执行,每个模块内部的线程或进程之间通过顺序分配方法或哈希分配方法进行数据分配。

    10.  如权利要求9所述的公交车实时地理信息数据清洗系统,其特征在于,所述顺序分配方法根据数据的到达顺序依次分发给各个线程或进程,保证各个线程或进程所接收的数据量大小一致;
    所述哈希分配方法根据数据的多个指定属性,计算所述数据的哈希值,根据哈希值%m的计算结果来决定数据所被分发的线程或进程,其中m为线程数或进程数。

    11.  如权利要求7所述的公交车实时地理信息数据清洗系统,其特征在于,所述基础数据表中每个表项为一个key-value结构,其中key记录了一种特定数据记录属性,value保存了该类特定属性的数据记录的历史信息,所述历史信息用于修正该类特定属性的数据记录的异常,所述基础数据表有多个;
    初始状态时,基础数据表由用户使用已有知识建立,后续过程中基础数据表维护模块根据实时的正常数据记录动态更新所述基础数据表,所述正常数据 记录包括已被数据实时修正模块修正的异常数据记录。

    说明书

    说明书公交车实时地理信息数据清洗方法及系统
    【技术领域】
    本发明涉及智能公交技术领域,特别是涉及一种公交车实时地理信息数据清洗方法及系统。
    【背景技术】
    近年来城市机动车的数量急速增长,引发了许多诸如堵车、停车难、打车难等严重影响老百姓出行质量的问题。同时,城市的交通网络也日趋复杂,对一个完善的管理系统的要求越来越高。在未来构建智能城市的蓝图中,智能交通可谓是重中之重。
    大数据时代的到来为智能交通的建立提供了一个契机,其中公交车数据的使用价值巨大。由于公交车是城市的主流交通工具之一,公交车实时数据的计算可以为市民提供到站预测,耗时预测的多种服务。进一步地,公交车行驶路线固定,公交车实时数据可以用于计算道路的实时路况。然而,由于设备缺陷和网络信号不稳定等客观原因,公交车数据常常包含了很多异常的位置信息和状态信息,极大地干扰了公交车数据的实时计算的准确性,因此,公交车地理信息数据的实时地正确计算很大程度上取决于如何有效地并且实时地进行数据清洗。
    公交车地理信息数据主要有以下特点:
    (1)数据量大,由于公交车数量众多,每秒产生的数据量巨大,因此要求能够正确快速地清洗这些数据;
    (2)异常数据复杂,全球定位系统(Global Positioning System,GPS)设备种类众多,受到卫星定位的精度、定位设备的限制、网络信号等多种客观并且不可预知的因素影响,导致数据中存在大量不可预知的数据,异常数据的种类繁多,因此要求能够正确识别并且修正这些异常。
    现有的常用方法把接收的数据保存在存储介质中,由后台处理单元在固定 的时间间隔进行批量地修正。由于现有技术使用批量处理实时接收到的数据,有如下缺陷:1、无法充分利用实时计算能力,导致后期计算量巨大;2、无法使用动态的信息组合成先验知识对数据进行智能修正。
    鉴于此,克服上述现有技术所存在的缺陷是本技术领域亟待解决的问题。
    【发明内容】
    本发明要解决的技术问题是提供一种公交车实时地理信息数据清洗方法及系统,以实现对实时公交车地理信息数据的可靠实时清洗,为公交车数据的实时计算提供基础。
    本发明采用如下技术方案:
    一种公交车实时地理信息数据清洗方法,包括如下步骤:
    初始状态下,根据实时数据建立基础数据表,所述基础数据表保存实时数据中各类数据记录的历史信息;
    基于所述基础数据表实时修正不断到达的数据记录;
    动态更新所述基础数据表。
    进一步地,所述基于所述基础数据表实时修正不断到达的数据记录的步骤具体包括:
    使用基础数据表修正不断到达的数据记录,抛弃最终仍无法修正的数据记录,并适当修改基础数据表以保证数据一致性。
    进一步地,所述根据实时数据建立基础数据表的步骤、基于所述基础数据表实时修正不断到达的数据记录的步骤和动态更新所述基础数据表的步骤均由多个线程或进程根据特定的机制协同执行,所述线程或进程之间通过顺序分配方法或哈希分配方法进行数据分配。
    进一步地,所述顺序分配方法根据数据的到达顺序依次分发给各个线程或进程,保证各个线程或进程所接收的数据量大小一致;
    所述哈希分配方法根据数据的多个指定属性,计算所述数据的哈希值,根据哈希值%m的计算结果来决定数据所被分发的线程或进程,其中m为线程数或进程数。
    进一步地,所述基础数据表中每个表项为一个key-value结构,其中key记录了一种特定数据记录属性,value保存了该类特定属性的数据记录的历史信息,所述历史信息用于修正该类特定属性的数据记录的异常,所述基础数据表有多个。
    进一步地,所述初始状态下,根据实时数据建立基础数据表的步骤具体为:用户使用已有知识建立基础数据表;
    所述动态更新所述基础数据表的步骤具体为:根据实时的正常数据记录动态更新所述基础数据表,所述正常数据记录包括已被修正的异常数据记录。
    本发明还提供了一种公交车实时地理信息数据清洗系统,包括:
    基础数据表维护模块,所述基础数据表维护模块根据实时数据建立并动态更新基础数据表,所述基础数据表保存实时数据中各类数据记录的历史信息;
    数据实时修正模块,所述数据实时修正模块基于基础数据表实时修正不断到达的数据记录。
    进一步地,所述数据实时修正模块使用基础数据表修正不断到达的数据记录,抛弃最终仍无法修正的数据记录,并适当修改基础数据表以保证数据一致性。
    进一步地,所述基础数据表维护模块和数据实时修正模块由多个线程或进程根据特定的机制协同执行,每个模块内部的线程或进程之间通过顺序分配方法或哈希分配方法进行数据分配。
    进一步地,所述顺序分配方法根据数据的到达顺序依次分发给各个线程或进程,保证各个线程或进程所接收的数据量大小一致;
    所述哈希分配方法根据数据的多个指定属性,计算所述数据的哈希值,根据哈希值%m的计算结果来决定数据所被分发的线程或进程,其中m为线程数或进程数。
    进一步地,所述基础数据表中每个表项为一个key-value结构,其中key记录了一种特定数据记录属性,value保存了该类特定属性的数据记录的历史信息,所述历史信息用于修正该类特定属性的数据记录的异常,所述基础数据表有多 个;
    初始状态时,基础数据表由用户使用已有知识建立,后续过程中基础数据表维护模块根据实时的正常数据记录动态更新所述基础数据表,所述正常数据记录包括已被数据实时修正模块修正的异常数据记录。
    与现有技术相比,本发明的有益效果在于:本发明可以对海量实时公交车地理信息数据进行实时地并且可靠地清理和修正,以满足数据计算的正确性要求,为公交车数据的实时计算提供基础,其计算规模可扩展,鲁棒性强。
    【附图说明】
    图1是本发明实施例的公交车实时地理信息数据清洗方法流程图;
    图2是本发明实施例的公交车实时地理信息数据清洗系统结构框图;
    图3是line_id的两种修正方法示意图;
    图4是bus_pos的一种修正方法示意图;
    图5是cur_station的五种修正方法示意图;
    图6是next_station的四种修正方法示意图。
    【具体实施方式】
    为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
    此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
    如图1所示,本发明实施例提供了一种公交车实时地理信息数据清洗方法,包括如下步骤:
    步骤S10:初始状态下,根据实时数据建立基础数据表(Base Data Table,BDT),基础数据表BDT保存实时数据中各类数据记录的历史信息;
    具体地,基础数据表BDT存储在一数据库中,其中每个表项为一个key-value结构,其中key记录了一种特定数据记录属性,value保存了该类特定属性的数据记录的历史信息,该历史信息用于修正该类特定属性的数据记录的异常,基 础数据表BDT有多个。用户可使用已有知识建立基础数据表BDT。
    步骤S20:基于基础数据表BDT实时修正不断到达的数据记录;
    具体地,使用基础数据表BDT修正不断到达的数据记录,抛弃最终仍无法修正的数据记录,并适当修改基础数据表BDT以保证数据一致性。
    步骤S30:动态更新基础数据表BDT。
    具体地,根据实时的正常数据记录动态更新基础数据表BDT,正常数据记录包括已被修正的异常数据记录。
    步骤S10-S30均可由多个线程或进程根据特定的机制协同执行,线程或进程之间通过顺序分配方法或哈希分配方法进行数据分配。顺序分配方法根据数据的到达顺序依次分发给各个线程或进程,保证各个线程或进程所接收的数据量大小一致;哈希分配方法根据数据的多个指定属性,计算数据的哈希值,根据哈希值%m的计算结果来决定数据所被分发的线程或进程,其中m为线程数或进程数。
    如图2所示,本发明实施例还提供了一种公交车实时地理信息数据清洗系统,其包括基础数据表维护模块10和数据实时修正模块20。基础数据表维护模块10根据实时数据建立并动态更新基础数据表BDT,基础数据表BDT保存实时数据中各类数据记录的历史信息;数据实时修正模块20基于基础数据表BDT实时修正不断到达的数据记录,具体地,数据实时修正模块20使用基础数据表BDT修正不断到达的数据记录,抛弃最终仍无法修正的数据记录,并适当修改基础数据表BDT以保证数据一致性。
    基础数据表维护模块10和数据实时修正模块20由多个线程或进程根据特定的机制协同执行,每个模块内部的线程或进程之间通过顺序分配方法或哈希分配方法进行数据分配。顺序分配方法根据数据的到达顺序依次分发给各个线程或进程,最大限度地保证各个线程或进程所接收的数据量大小一致;哈希分配方法根据数据的多个指定属性,计算数据的哈希值HashValue,根据HashValue%m的计算结果来决定数据所被分发的线程或进程,其中m为线程数或进程数。
    在一优选实施例中,基础数据表维护模块10使用哈希分配方法,分发所接收到的数据给本模块的各个线程或者线程,数据实时修正模块20使用顺序分配方法,分发所接收到的数据给本模块的各个线程或者线程。
    基础数据表BDT中每个表项为一个key-value结构,其中key记录了一种特定数据记录属性,value保存了该类特定属性的数据记录的历史信息,该历史信息用于修正该类特定属性的数据记录的异常,根据具体的修正算法,可以有多个基础数据表BDT。初始状态时,基础数据表BDT可由用户使用已有知识建立,后续过程中基础数据表维护模块10根据实时的正常数据记录动态更新基础数据表BDT,正常数据记录包括已被数据实时修正模块20修正的异常数据记录。
    下面通过一优选实施例对本发明进行进一步地详细说明:
    在本实施例中,为了简要描述,把多维的公交车实时地理信息数据记录bus_record简化为一个五元组{bus_id,line_id,bus_pos,cur_station,next_station},其中:
    bus_id是公交车id;
    line_id是该公交车当前正在执行的线路id;
    bus_pos为该公交车的GPS坐标;
    cur_station为该公交车当前所在的站点id或者上一个站点id;
    next_station为该公交车将要前往的站点id。
    如果把全部公交车的行驶路线抽象成一张无向图TransportGraph,则每个站点是TransportGraph中的一个节点N,Ni和Nj相邻意味着存在一条公交路线依次驶经Ni和Nj,且称Ni和Nj之间存在着连接edge。
    在系统初始化节点,基础数据表BDT将会被建立,包括线路信息表lineinfotb,站点信息表stationinfotb,相邻站点表neighborstb,这三张表逻辑上构建了TransportGraph。公交车日志表buslogtb,站点日志表stationlogtb,路径日志表edgelogtb。其中:
    线路信息表lineinfotb的每个表项为一个key-value结构,key为线路id,value为该线路所途经的站点id。
    站点信息表stationinfotb的每个表项为一个key-fields结构,key为站点id,fields为{GPS坐标,站点名}。
    相邻站点表neighborstb的每个表项为一个key-set结构,key为站点id,set为该站点相邻的其他站点id集合
    公交车日志表buslogtb的每个表项为一个key-list结构,key为公交车id,list为该公交车已经途经的站点id。
    站点日志表stationlogtb的每个表项为一个key-list结构,key为站点id,list为该站点已经发出的公交车id。
    路径日志表edgelogtb的每个表项为一个key-list结构,key为“站点id1–站点id2”,list为正在从id1行驶到id2的公交车id。
    实时数据记录将会被不断地输入数据实时修正模块20,模块内部使用顺序分配的方式分发数据记录给不同的线程或者进程。对于一个数据记录{bus_id,line_id,bus_pos,cur_station,next_station},如果存在不合法的字段,则数据实时修正模块20会使用如图3-图6的方法修正这些字段。如图3所示,line_id的两种修正方法表示line_id可由两种方式推导得出,第一种方式是用cur_station和next_station,基于基础信息表lineinfotb来推导得出;第二种方式是用bus_id基于基础信息表buslogtb来推导得出,图4-图6中的推导方法与图3中的方法类似,此处不再赘述。如果字段修正最终失败,则该数据记录会被丢弃。
    数据实时修正模块20将会向基础数据表维护模块10输出正常的数据记录(包括已修正的正常数据记录),基础数据表维护模块10会使用哈希分配的方法分配所接收到的数据给本模块的各个线程或者进程,各个线程和进程会根据数据记录的信息动态更新公交车日志表buslogtb,站点日志表stationlogtb,路径日志表edgelogtb,其中:
    公交车日志表buslogtb:更新该表key为bus_id的表项,把cur_station放在该表项list的尾部。
    站点日志表stationlogtb:更新该表key为cur_station的表项,把bus_id放在该表现list的尾部。
    路径日志表edgelogtb:更新该表key为“cur_station-next_station”的表项,把bus_id放入该表项list的尾部。
    实验验证:
    使用Storm流式计算工具实现了本发明,所处理的实时数据来源于深圳市5000辆实时的公交车地理位置数据,每秒接收500条数据记录,采用2个物理节点,结构中各个模块使用的线程数为:数据实时修正模块(4个)、基础数据表维护模块(4个),存储了基础数据表的数据库使用了redis内存数据库。
    本发明实施例可以对海量实时公交车地理信息数据进行实时地并且可靠地清理和修正,以满足数据计算的正确性要求,为公交车数据的实时计算提供基础,其计算规模可扩展,鲁棒性强。
    值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,与本发明的处理方法实施例基于同一构思,系统和方法的具体内容可相互参考实施例中的叙述。
    本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
    以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

    关 键  词:
    公交车 实时 地理信息 数据 清洗 方法 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:公交车实时地理信息数据清洗方法及系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6179303.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1