图数据库在高速公路运营管理中的应用探索 - 技术应用 - 智慧交通网 ITS114.COM|领先的智能交通门户网站
  • 图数据库在高速公路运营管理中的应用探索

    2022-12-07 10:26:20 来源:中国交通信息化 作者:俞鹏飞,黄鹏 评论:
    分享到:

    论文

    作者:俞鹏飞,黄鹏(江西省交通投资集团有限公司路网运营管理公司)

    摘要:本文以高速公路机电设备管理运维为起点,对当前管理系统使用的传统关系数据库与图数据库进行了结构和性能上的对比分析,并对图数据库在高速公路运维管理中的进一步使用进行了探索。通过一系列理论和案例对比之后,发现图数据库相较于传统的关系数据库在结构、性能以及数据挖掘上有更好的表现,更适合用于各类高速公路管理系统中。

    高速公路因为其封闭的特性,与图论中的图有非常高的匹配性。整个高速公路网就如图论中的图,收费站服务区以及路段交汇枢纽处就是图里面的节点,而边则代表着节点间的路段连通关系。近几年,图数据库这个基于图论实现的一种新数据库,在各类行业中的应用也越来越多。随着信息智能化建设的加快,以及未来无人驾驶大概率会先在高速公路上实现,高速公路上的相关配套设备以及设备收集到的各类数据也会越来越多,越来越复杂。因此,在未来的高速公路的运营管理中,如何更加有效地管理路段及其机电设备并更加深入地分析、展示各类数据,是一个非常重要的探索方向。

    图数据库现状

    图数据库相较于其它数据库,目前还处于起步阶段,并未在各行各业广泛使用。使用较多的还集中在互联网社交、金融还有零售行业[1],而其他行业领域使用相对较多的也往往是各行业中最顶级的公司。但随着各行各业在信息化建设上的越来越深入,越来越多的企业也开始接触图数据库。在我国,电力行业在多年前就在图数据库上有较多研究[2-3],而到了2021年,国家电网有限公司在世界人工智能大会发布了具有自主知识产权的电力行业首款图数据库产品[4]。从国家电网对图数据库的研究使用到研发可以得出一个初步结论,图数据库在机电设备运维管理上相较于关系数据库有较大的优势。

    高速机电运维管理系统的现状与发展

    当前高速公路各路段通常会按区域划分给数个管理中心,每个管理中心有自己管辖的信息分中心、路段、收费站、养护站、桥梁、隧道和服务区。而养护站又有属于自己负责养护的路段,ETC门架等其他机电设施,实体与实体间往往会有多对多的关系。但由于目前设备间关联性不强,使用关系数据库也基本能满足当前设备数量的管理和运维。
    从“十四五”规划来看,智能交通不仅仅需要软件层面上的革新,更需要大量配套硬件设备的巨额投入。软件的智能分析离不开数据,各路段的准确数据只能通过各路段的传感器和摄像头等各种机电设备来采集。而高速公路由于其封闭的性质,道路各方面指标也比其它道路更为优越,行人以及其它干扰因素非常少,在未来大概率会成为智能驾驶的试验点并有机会成为首个大规模无人驾驶的示范地。但关系数据库在结构上可能越来越难满足未来各种复杂关联设备的管理需求。
    图1主要展示了当前高速公路在关系数据库中的实体关联关系。而在实际日常使用中,还会建立了非常多的关联表。而当越来越多的实体被引入时,解决方案往往是建立越来越多的关联表,这时使用关系数据库来管理会非常的不直观。而在有大量表有关联性时,由于历史问题或开发中可能遇到未考虑到建立外键约束的情况。当需要对大量关联字段进行修改时,由于一些表没有外键约束导致没有一同进行级联更新,这时会产生很多没有必要的工作量甚至造成数据的不一致性,并对高速公路日常管理运营工作造成干扰。
    image.png
    图1 传统关系数据库的结构样例

    图数据库的特点

    图数据库是以图论为基础理论的数据库,它使用节点,边和属性来储存数据。又由于图数据库是基于图的理念,它能通过节点和边将数据和数据间的关系进行可视化。因此,当使用图数据库来展示关系的时候,它的结构会比关系数据库更加直观。
    关系数据库转移到其它类型数据库往往面临着数据导入问题。在图数据库neo4j中,其内置了从MySQL导入数据的功能,也可从制作CSV数据表批量导入节点和关系。
    图2是基于高速公路各实体在图数据库neo4j中的一个展示,在实际使用中可以选择某一种关系集中展示,隐藏其他关系。也可选择某一实体(节点),查看其关联信息。图2整体看上去比较杂乱、高速路段、服务区、收费站以及管理中心都是以节点形式表示,会让人觉得很难分清。但实际上节点和边都可以设置自身的属性,在neo4j中,可以通过设置label将一种类型的节点归入一个集合,而这个集合可以近似认为是关系数据库中的表。因此,图数据库也能像关系数据库一样直接导出各种分类的表。而边(关系)也可以有自己的属性,例如,图2中的“连通”关系就可以设置一个属性叫“路段长度”,“位置归属”关系可以设置一个属性叫“公桩号”。当每个节点和关系的属性也都设置清晰之后,整个图的关联性和关联内容也会更加直观。
    image.png
    图2 基于高速公路中各实体而创建的图数据库样例
    当筛选出所有拥有“连通”关系的节点时,如图3所示,实际上就变成了一个高速公路网的简易图。而在后续开发中,基于这个简易图,可以更直接地将高速公路网转换成一个无向图,之后便可以通过图论中已经成熟的各种算法来对路段进行运营管理。
    image.png
    图3 筛选具有“连通”关系的节点
    在日常运营管理中,不仅仅有单位与单位,单位和设备的关系。还有人与单位和设备,人与人之间的关系。比如养护人员责任归属,日常寻路人员的申报和运营管理人员的审核等,而使用关系数据库时,往往是需要建立新表来记录这种关系,而关联性也仅是通过外键来表示,无法直观表现关联的形式和内容。而图数据库将关系也作为一个实体储存,可以简单明了的展现实体与实体间的多个抽象关系,在日常运营管理中带来便利。

    图数据库与关系数据库的性能对比

    在关系数据库中,如图1所示,各类型的数据会单独用一张表来储存。关系数据库在处理关联关系时很多情况下都需要用到关联表操作join,假设需要用join操作关联两个表,两个表分别有n和m行数据,传统Nested loop join的时间复杂度为O(n*m),即该join操作花费的时间与两个表大小的乘积成正比。而针对一个表比较小而能全部存到内存中的时候,hash join的时间复杂度为O(n+m),当n远小于m时可以近似为O(m),即该join操作花费的时间与大表的大小成正比。当然还有很多其他类型的join操作,但普遍涉及到大量的I/O操作和内存消耗。因此,关系数据库在处理复杂关系时性能会大幅下降。
    而图数据库在这方面有非常大的优势,图数据库中的边可以当成一个指针,在确定了查询关系后可以通过关系直接访问,而不需要关系数据库中的join操作。图数据库和关系数据库相比,在性能上有较大的优势,在王余蓝编写的关于图数据库Neo4j与关系数据库的比较研究中[5],作者采用理论分析与实例验证相结合的方法,发现图数据库在处理复杂数据关联方面远优于关系数据库,适合存储关联关系复杂、关系动态变化的数据。
    为了测试图数据库的真实性能,在图数据库neo4j中创建拥有7种共55万个节点以及9种共74.5万个关系的测试案例。实际日常工作中还有更多复杂的关系,但由于图数据库的特性,关系都是直接与节点关联,所以测试不需要设置过多种类的节点和关系。只需要节点和关系的数量足够大,即可测试其性能。
    当想筛选所有和某管理中心有关联的项目时(如图4所示),由于节点和关系是直接联系的,无论查询5000个相关节点还是20000个相关节点都是毫秒级别的查询速度。
    image.png
    图4 直接关系(一层深度)
    即便是在更复杂的情况下,管理公司想知道自己下属的管理中心的所有设备,而管理公司对于管理中心的设备没有直接关联关系。这种情况需要先查找所属的管理中心,然后再查询归属管理中心的所有设备,在图数据库中查询到25万个相关关系和对应节点平均需要39ms。
    如果再加一层深度,管理公司想知道下属所有收费站的机器,机器仅和收费站有关联,而收费站只与管理中心有关联,即如图5所示的三层深度,查询得到25万个相关关系和对应节点平均需要45ms。如果又加两层深度,管理公司想知道下属路段使用的所有设备相关品牌采购的其它设备(测试需要,其他设备与设备为不同节点,与品牌的关系也不同),即如图6所示的五层深度。查询得到25万个相关关系和对应节点平均需要52ms。
    image.png
    图5 三层深度

    image.png
    图6 五层深度
    由上面的测试案例可以得到如下表所示的基于测试案例不同深度不同查询数量时间对比,相对于关系数据库,关系深度对图数据库的查询性能影响非常小。其实不难理解为什么查询速度为什么这么快,关系可以认为是一个指针,多一层关联也理解成是指向指针的指针,再多几层关联也不会对查询速度造成太大影响。不管是结构设计还是性能上,图数据库相较于关系数据库都有更大的优势。而在Ian Robinson编写的Graph Databases一书中[6],作者创建了一个基于100万人,每个人平均拥有50个朋友的模拟测试。在这个样本量的基础上,作者直观地对比了关系数据库和图数据库。如图7所示,当深度达到5层,查询的数据量达到80万时,关系数据库由于运行时间过长无法完成查询。
    image.png
    图7 Graph Database 中图数据库和关系数据库的性能对比

    图数据库在高速公路运营管理中的

    进一步探索

    通过前面的比较,在高速公路这个场景下,图数据库相较于关系数据库在各方面都有更好表现。在路网运营管理中,交通事故和拥堵往往是最令人关注的事件。而由于标准化程度不够高,到达现场的工作人员反馈的信息往往不能被传统系统所直接识别分析。在程宇航编写的交通行业事故文本数据的可视化挖掘分析方法一文中[7],作者通过提取事故文本信息中的关键字使用图数据库对交通事故进行可视化分析。不仅可以构建关于交通事故知识图谱,还能在高速公路网图数据库的基础上加入事故节点,分离并记录各路段的事故可能有关联的信息。
    基于2020年江西高速公路事件数据,通过事故显露的和潜在的关联信息,将各种事故汇总到图数据库中。在将各类信息整理完毕后,可以直接将图数据库数据导入分析工具Gephi中,只需要调整节点大小和布局即可得对于交通事故的可视化分析图。
    在图数据库中,一个节点其所有连接节点可以看作一个集合。对于集合可以分析其数据的杰卡德相似系数(Jaccard similarity coefficient),杰卡德相似系数计算方式是计算两个集合的交集元素个数和并集元素个数的商,对于X,Y两个集合的相似系数计算公式如下:

    杰卡德相似系数j= |A∩B|

                                |A∪B|
    在将各路段的事故可能有关联的信息整合到图数据库中之后,可以进一步对各路段事故的相关信息进行分析。
    在neo4j官网的Algorithm包中有计算杰卡德相似系数的函数,基于图X计算某事故的相似系数只需要输入:
    image.png
    即可得到事故间的相似系数(如图8所示)。之后便可以基于一定的系数将各类事故进行分类统计,以便于未来进一步分析。
    image.png
    图8 运行结果
    而随着未来视频智能AI分析系统的广泛投入使用,以及交通事故知识图谱的建设,管理系统可以基于图的最短路径算法和对相似性系数的计算,可以直接筛选出最靠近事故地点最有处理此类交通事故经验的事故处理队伍信息推送给管理者。

    未来探索

    当前,国内外各大云服务提供商也都开始提供自己的图数据库服务。在2021年,国家电网也发布了具有自主知识产权的电力行业图数据库产品。相信在未来也会越来越多的行业开始广泛使用图数据库,而研发一个基于高速公路日常运营管理需求的图数据库相信也会成为未来探讨的问题之一。在图数据库neo4j的使用和建立测试示例的过程中,在结构上该图数据库在很大程度满足了当前路段及其设备的管理以及展示的需求。但想展示车流量的时候,依旧只能通过纯粹的数值展示或者二次开发通过统计图来展示。如果能基于当前的结构,可以选择关系的属性以颜色深浅或者关系线的粗细来显示,那么图数据库在日常使用中会更加便捷直观。
    现在机器学习也越来越多地在各种行业中使用,而深度学习作为机器学习的一个新技术,也被很多企业用来训练模型。图数据库将数据连接了起来,从而更有利于大规模快速遍历和分析,从而加速了机器学习的效果[8]。将现实关系转换为表再进行训练如图9所示。直接基于图数据关联数据进行训练如图10所示。在传统的训练中,开发人员往往先通过将现实关系转换成一个个关联表,然后再通过一个一个表的关联进行数据处理。而在基于图数据库的基础上,相较于传统的模式,图过滤的过程更加高效,能更快速地提取特征并转换数据[8]
    image.png
    图9 将现实关系转换为表再进行训练

    image.png

    图10 直接基于图数据关联数据进行训练

    结束语

    本文通过对图数据库和关系数据库结构上和性能上的对比,以及图数据库在高速公路运营管理中的使用探索,梳理了图数据库在当前场景上的优势和发展前景。随着交通智能化建设的越来越深入,各式各样的设备也会越来越多地应用于高速公路建设中,图数据库想必能在日常运营管理带来更多的便利。
    参考文献
    [1] 李俊逸,王卓,马鹏玮.图数据库技术发展趋势研究[J].信息通信技术与政策, 2021,47(5):67-72.
    [2] 马义松,武志刚.基于Neo4j的电力大数据建模及分析[J].电工电能新技术,2016,35(2):24-29.
    [3] 汤亚宸,方定江,韩海韵,等.基于图数据库和知识图谱的电力设备质量综合管理系统研究[J].供用电,2019,36(11):35-40.
    [4] 龚莎,轩召强.国家电网发布国内首款电力专用图数据库[N/OL].人民网-上海频道.http://sh.people.com.cn/n2/2021/0711/c134768-34815092.html, 2021-7-11.
    [5] 王余蓝.图数据库Neo4j与关系据库的比较研究[J].现代电子技术,2012,35(20):77-79.
    [6] Ian Robinson, Jim Webber & Emil Eifrem.Graph Databases[M].O’REILLY, 2013.
    [7] 程宇航.交通行业事故文本数据的可视化挖掘分析方法[J].计算机工程与应用,2021.
    [8] Amy E. Hodler, Mark Needham & Jake Graham.人工智能与图数据库技术通过领域知识和关联数据提高AI性能[R/OL].俞方桦[译].https://neo4j.com/?ref=pdf-white-paper-ai.neo4j.
    (原文刊载于2022年第10期《中国交通信息化》)


  • 关键字: 图数据库 高速公路
  •    责任编辑:suyanqin
  • 每周新闻精选

  • 关于我们
  • 联系我们
  • 广告赞助