CN117149825A - 路由搜索方法、装置、电子设备及存储介质 - Google Patents
路由搜索方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117149825A CN117149825A CN202310994911.XA CN202310994911A CN117149825A CN 117149825 A CN117149825 A CN 117149825A CN 202310994911 A CN202310994911 A CN 202310994911A CN 117149825 A CN117149825 A CN 117149825A
- Authority
- CN
- China
- Prior art keywords
- information
- point information
- database
- searching
- path
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 abstract description 33
- 230000003287 optical effect Effects 0.000 description 19
- 241000475481 Nebula Species 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000013307 optical fiber Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种路由搜索方法、装置、电子设备及存储介质,涉及通信技术领域,用以解决现有技术中使用关系型数据库查找网络路径信息效率低的问题。该方法包括:获取路由搜索请求;路由搜索请求包括待搜索路径的起点信息、终点信息以及特征信息;基于起点信息、终点信息、特征信息,采用预设的搜索算法从图数据库中进行路径搜索,得到多个路由路径;图数据库用于存储各网络节点的信息以及各网络节点之间的关系信息;输出路由路径。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种路由搜索方法、装置、电子设备及存储介质。
背景技术
随着通信网络的发展,人们使用通信网络的次数越来越多,需要传输的数据也更多更复杂。在通信网络中,通常存在建立和查找通信网络路径的应用场景,运营商需要建立数据库存储路径信息,根据数据库中存储的路径信息进行通信网络路径的搜索和更改,实现网络节点间的通信。
现有技术通常使用关系型数据库存储通信网络的路径信息,在搜索所需路径时需要人工选择通信网络路径的起始或终止网络节点,通过关系型数据库查找起始或终止网络节点的数据表,对表单中涉及的所有网络节点所对应的数据表进行遍历,根据遍历结果筛选出合适的网络路径,得到所需通信网络的路径信息。但是在遇到组网关系复杂的场景时,由于关系型数据库需要遍历网络路径中涉及的所有网络节点所对应的数据表,使数据库的计算量过大,查询时间较长,导致服务器的CPU与内存负荷过高。因此,亟需设计一种方案,来提高网络传输路径的查询效率。
发明内容
本申请提供一种路由搜索方法、装置、电子设备及存储介质,以解决现有技术中查询网络传输路径效率低的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种路由搜索方法,该方法包括:获取路由搜索请求;路由搜索请求包括待搜索路径的起点信息、终点信息以及特征信息;基于起点信息、终点信息、特征信息,采用预设的搜索算法从图数据库中进行路径搜索,得到多个路由路径;图数据库用于存储各网络节点的信息以及各网络节点之间的关系信息;输出路由路径。
可选的,该方法还包括:获取关系型数据库;关系型数据库包括多张用于存储节点信息以及节点关系的数据表;通过预设的应用程序接口API,将关系型数据库中各数据表存储的数据导入图数据库。
可选的,通过预设的应用程序接口API,将关系型数据库中各数据表存储的数据导入图数据库,包括:将关系型数据库中各数据表存储的数据导出到文本文件;文本文件包括多个节点名称以及各节点对应的相邻节点;通过API,将各节点名称作为点信息,将各节点与相邻节点之间的路径作为边信息,建立图数据库。
可选的,特征信息包括待搜索路径的必经点信息、避让点信息;基于起点信息、终点信息、特征信息,采用预设的搜索算法,从图数据库中进行路径搜索,得到多个路由路径,包括:采用预设的搜索算法,从图数据库中搜索起点信息与终点信息之间的全部路径,得到多个初始路径;根据必经点信息以及避让点信息,从多个初始路径中确定多个路由路径。
第二方面,提供一种路由搜索装置,该装置包括获取单元、处理单元以及输出单元;获取单元,用于获取路由搜索请求;路由搜索请求包括待搜索路径的起点信息、终点信息以及特征信息;处理单元,用于基于起点信息、终点信息、特征信息,采用预设的搜索算法从图数据库中进行路径搜索,得到多个路由路径;图数据库用于存储各网络节点的信息以及各网络节点之间的关系信息;输出单元,用于输出路由路径。
可选的,获取单元还用于:获取关系型数据库;关系型数据库包括多张用于存储节点信息以及节点关系的数据表;通过预设的应用程序接口API,将关系型数据库中各数据表存储的数据导入图数据库。
可选的,获取单元,具体用于:将关系型数据库中各数据表存储的数据导出到文本文件;文本文件包括多个节点名称以及各节点对应的相邻节点;通过API,将各节点名称作为点信息,将各节点与相邻节点之间的路径作为边信息,建立图数据库。
可选的,特征信息包括待搜索路径的必经点信息、避让点信息;处理单元,具体用于:采用预设的搜索算法,从图数据库中搜索起点信息与终点信息之间的全部路径,得到多个初始路径;根据必经点信息以及避让点信息,从多个初始路径中确定多个路由路径。
第三方面,提供一种电子设备,包括:处理器、用于存储处理器可执行的指令的存储器;其中,处理器被配置为执行指令,以实现上述第一方面的路由搜索方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面的路由搜索方法。
本申请实施例提供的技术方案至少带来以下有益效果:路由搜索装置获取需要通信的用户发起的路由搜索请求,并基于搜索请求中待搜索路径的起点信息、终点信息以及特征信息,采用预设的搜索算法从图数据库中进行路径搜索。由于图数据库的存储方式与关系型数据库的存储方式不同,图数据库存储了各网络节点的信息和连接各网络节点的网络段的信息,使得图数据库查找两个网络节点之间是否连通时,仅需要根据涉及的网络节点和网络段的关系信息进行遍历查找,相交于关系型数据库需要根据表单中所有关联项进行查找,本申请减少了路由搜索时各网络节点之间需要计算和匹配的时间,提高了搜索的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种路由搜索系统的结构示意图;
图2为本申请实施例提供的一种路由搜索方法的流程示意图之一;
图3为本申请实施例提供的一种对图数据库模型操作的流程示意图;
图4为本申请实施例提供的一种路由搜索方法的流程示意图之二;
图5为本申请实施例提供的一种图数据库导入数据的示意图;
图6为本申请实施例提供的一种数据库更新数据的示意图;
图7为本申请实施例提供的另一种数据库更新数据的示意图;
图8为本申请实施例提供的一种路由搜索装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
还需要说明的是,本申请实施例中,“的(英文:of)”,“相应的(英文:corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
在对本申请实施例进行详细地解释说明之前,先对本申请实施例涉及到的一些相关技术术语以及相关技术进行介绍。
图数据库(Graph Database)是图数据库管理系统的简称,是以点、边为基础存储单元,以高效存储、查询图数据为设计原理的数据管理系统。图概念对于图数据库的理解至关重要。图是一组点和边的集合,“点”表示实体,“边”表示实体间的关系。
在图数据库中,数据间的关系和数据本身同样重要,它们被作为数据的一部分存储起来。这样的架构使图数据库能够快速响应复杂关联查询,因为实体间的关系已经提前存储到了数据库中。图数据库可以直观地可视化关系,是存储、查询、分析高度互联数据的最优办法。
现有技术使用的关系型数据库(Relational database)是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。
由关系型数据库的定义可知,图数据库属于非关系型数据库。图数据库对数据的存储、查询以及数据结构都和关系型数据库有很大的不同。图数据结构直接存储了节点之间的依赖关系,而关系型数据库则以非直接的方式来表示数据之间的关系。图数据库把数据间的关联作为数据的一部分进行存储,关联上可添加标签、方向以及属性,而关系型数据库针对关系的查询在运行时需要进行具体化操作。
为不同数据信息选择合适的数据库进行存储是十分重要的。在通信网络中,网络路径的结构复杂,需要存储的信息之间的关联性强。若使用关系型数据库进行存储,网络节点之间的关系无法直观的在关系型数据库中体现,在进行网络路径搜索时,因无法存储各网络节点之间的关系,只能根据各网络节点对应的表单,通过运行大量的计算,组合各网络节点之间的表单,查找相应的网络路径,导致路径搜索的效率低,为用户匹配通信线路的时间长。
鉴于上述问题,本申请提供了一种路由搜索方法,致力于快速搜索网络路径。在存储通信网络路径信息的过程中,根据图数据库的特点,使用图数据库建模,将网络路径信息存储在图数据库中的路径模型上。在网络路径搜索的过程中,使用图数据库语言对图数据库中的路径模型进行搜索,根据请求的路径信息搜索出对应的网络路径。
下面结合附图对本申请实施例提供的路由搜索方法进行详细说明。
本申请实施例提供的路由搜索方法可以适用于路由搜索系统。如图1所示,路由搜索系统10包括路由搜索请求装置11以及路由搜索装置12。其中,路由搜索请求装置11与路由搜索装置12之间可以采用有线方式连接,也可以采用无线方式连接,本申请实施例对此不作限定。
路由搜索请求装置11用于发起路由搜索请求。相应的,路由搜索装置12用于接收路由搜索请求装置11的路由搜索请求,并基于该路由搜索请求进行路由搜索,具体路由搜索过程可以参照下述方法实施例中介绍的路由搜索方法,此处不再赘述。
一些实施例中,路由搜索装置12中部署有图数据库,该数据库存储有各网络节点的信息以及各网络节点之间的关系信息。
需要说明的,路由搜索装置12中的图数据库可以为任意一款分布式图数据库,例如,星云分布式图数据库(Nebula Graph)软件。Nebula Graph是一款开源的分布式图数据库,擅长处理千亿个顶点和万亿条边的超大规模数据集。Nebula Graph拥有强大的原生图引擎来提供低延迟的读写和高吞吐量,确保高并发访问、快速的图遍历和有效的内存使用,使Nebula Graph能够存储和处理具有数万亿条边和点的超大规模图数据。还可以提供可视化建模、数据导入、Nebula Graph图数据库语言编写查询等一站式服务。支持2D/3D视角和点边属性设置,帮助开发者快速发现数据的关联关系。
其中,Nebula Graph使用的图数据库语言(Graph Query Language,GQL)为NebulaGraph查询语言(Nebula Graph Query Language,nGQL),nGQL是一种类结构化查询语言(Structured Query Language,SQL)的声明型的文本查询语言,nGQL与SQL同样是关键词大小写不敏感的查询语言,目前支持模式匹配、聚合运算、图计算,可无嵌入组合语句。
另外,Nebula Graph图数据库软件建立的网络路径信息图数据库包括网络路径模型和网络路径信息搜索引擎,使用图数据库的网络路径信息搜索引擎对网络路径模型进行搜索,获得所需网络路径信息。
路由搜索请求装置11可以为任意一款具有上网功能的终端设备,例如,用户使用的手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobilePersonal Computer,UMPC)、手持计算机、上网本、个人数字助理(Personal DigitalAssistant,PDA)、可穿戴电子设备、智能手表等设备。
路由搜索装置12可以为任意一种具有路由搜索功能的电子设备。例如,该电子设备可以为服务器。
路由搜索装置12可以为实体设备,也可以为虚拟设备。例如,路由搜索装置12可以运营商的网络服务平台,也可以为该网络服务平台对应的服务器。
其中,服务器可以是单独的一个服务器,或者,也可以是有多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。可选地,服务器还可以在云平台上实现,例如,云平台可以包括私有云、公有云、混合云、社区云(community cloud)、分布式云、跨云(inter-cloud)、以及多云(multi-cloud)等,或者它们的任意组合。本申请实施例对此不作限制。
图2是根据一些示例性实施例示出的一种路由搜索方法的流程示意图。在一些实施例中,下述路由搜索方法可以应用到如图1所示的路由搜索系统中,也可以应用到其他类似场景。
如图2所示,本申请实施例提供的路由搜索方法,包括下述S201-S203。
S201、获取路由搜索请求。
其中,路由搜索请求包括待搜索路径的起点信息、终点信息以及特征信息。
作为一种可能实现的方式,用户通过路由搜索请求装置向路由搜索装置发送路由搜索请求。相应的,路由搜索装置接收路由搜索请求装置发送的路由搜索请求。
需要说明的,起点信息可以为待搜索路径中起点设备的实际地址信息,终点信息可以为待搜索路径中终点设备的实际地址信息,特征信息可以为待搜索路径对应的搜索条件。
示例性的,用户可以在路由搜索请求中设置更多的搜索条件,使路由搜索装置搜索出更符合用户需求的路由路径。搜索条件包括待搜索路径的必经点信息、避让点信息、待搜索路径类型、最大跳接次数、查询方向、排序方式等。
S202、基于起点信息、终点信息、特征信息,采用预设的搜索算法从图数据库中进行路径搜索,得到多个路由路径。
其中,图数据库用于存储各网络节点的信息以及各网络节点之间的关系信息。
需要说明的,从图数据库中进行路径搜索时,需要使用路由搜索装置中的网络路径信息搜索引擎对网络路径模型进行搜索。使用网络路径信息搜索引擎时,需要使用GQL语言对需要查找的信息进行编程,实现路由搜索。
作为一种可能的实现方式,路由搜索装置将起点信息、终点信息、特征信息转化为GQL语言,并结合预设的搜索算法从图数据库中进行路径搜索,得到多个路由路径。
在路由路径搜索过程中,路由搜索装置可以将起点设备的实际地址信息进行转换,得到相应的标准地址编号。图数据库可以根据标准地址编号,查找该标准地址编号对应的网络节点。
其中,网络节点包括可以通信的光连接设备,例如光交接箱、光分纤箱、ODF架等。网络节点还可以包括作为网络路径分叉点的光缆支撑点,例如人井、电杆等。
示例性的,一次路由搜索实例中,具体的路由搜索条件包括设置网络通信的起点和终点、查询路径类型、最大调节次数、查询方向、必经点和避让点、排序方式,网络路径信息搜索引擎根据路由搜索条件返回查询的数据条数结果。例如,设置起点实际地址信息为“000106017711000004330668”,终点实际地址信息为“000105087711000000280606”,查询路径类型为“无回环路径”,最大跳接次数为“25”,查询方向为“双向”,设置的必经点为“000105080000000000276952”,避让点为“000106017711000004330631”,排序方式为“跳接次数”。图数据库采用预设的搜索算法,路由寻径高效搜索算法,根据起点信息和终点信息计算出到多条初始路径,再根据设置的特征信息,确定适合的路由路径,网络路径信息搜索引擎根据查找的信息返回查询的数据条数,本例中查找到的适合的路径条数为5条。转化为图数据库查询语言为:
FIND NOLOOP PATH WITH PROP;
FROM"000106017711000004330668"TO"000105087711000000280606";
OVER pipeline BIDIRECT UPTO 25STEPS;
YIELD path as p|YIELD$-.p as p,length($-.p)as orderby;
all(id in['000105080000000000276952']where any(r in relationships($-.p)where r.apointid==id or r.bpointid==id))as pass;
all(id in['000106017711000004330631']where none(r in relationships($-.p)where r.apointid==id or r.bpointid==id))as nopass|;
YIELD$-.p as p,$-.orderby as orderby WHERE$-.pass==true and$-.nopass==true|ORDER BY$-.orderby ASC|YIELD$-.p|;
LIMIT 5.
网络路径信息搜索引擎在得出路径条数的结果“LIMIT 5”后,本次路由搜索完成。
S203、输出路由路径。
作为一种可能实现的方式,路由搜索装置将图数据库查询语言返回的结果,作为待搜索路径的路由路径进行输出。
示例性的,如图3所示,路由搜索装置通过图数据库对通信网络路径进行建模。建模完成后,路由搜索装置采集通信网络路径的数据信息,并将通信网络路径的数据信息存储在图数据库中。通过需要通信的起始和终止用户的实际地址信息获取网络路径上的起始和终止网络节点。进一步的,路由搜索装置可以基于起始和终止网络节点等路由搜索请求的信息,在图数据库中进行路径搜索,得到路由路径并输出。
本申请实施例提供的技术方案至少带来以下有益效果:路由搜索装置获取需要通信的用户发起的路由搜索请求,并基于搜索请求中待搜索路径的起点信息、终点信息以及特征信息,采用预设的搜索算法从图数据库中进行路径搜索。由于图数据库的存储方式与关系型数据库的存储方式不同,图数据库存储了各网络节点的信息和连接各网络节点的网络段的信息,使得图数据库查找两个网络节点之间是否连通时,仅需要根据涉及的网络节点和网络段的关系信息进行遍历查找,相交于关系型数据库需要根据表单中所有关联项进行查找,本申请减少了路由搜索时各网络节点之间需要计算和匹配的时间,提高了搜索的效率。
在一种设计中,为了建立图数据库,本申请实施例提供的路由搜索方法需要对网络路径信息图数据库进行提前建模和数据导入。如图4所示,示出了对网络路径信息图数据库信息导入的过程,包括下述S301-S302。
S301、获取关系型数据库。
其中,关系型数据库包括多张用于存储节点信息以及节点关系的数据表。
作为一种可能的实现方式,路由搜索装置为了快速完成在图数据库中的网络路径建模,需要获取关系型数据库中的网络路径信息,根据关系型数据库中的网络路径信息进行建模。关系型数据库中的网络路径信息存储在网络路径信息数据表中。网络路径信息数据表中存储着网络路径中的节点以及节点关系的信息。路由搜索装置获取关系型数据库中的网络路径信息,即获取关系型数据库中数据表的信息。
一些实施例中,路由搜索装置在获取关系型数据库中的网络路径信息之前,关系型数据库需要先将其各数据表存储的数据导出到文本文件。
需要说明的,关系型数据库需要使用提取-转换-装载(Extract-Transform-Load,ETL)技术导出文本文件。ETL技术用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起。
关系型数据库导出的文本文件为逗号分隔值文件,逗号分隔值(Comma-SeparatedValues,CSV),有时也称为字符分隔值,因为分隔字符也可以不是逗号。CSV文件是一种以纯文本形式存储表格中的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。
S302、通过预设的应用程序接口API,将关系型数据库中各数据表存储的数据导入图数据库。
需要说明的,关系型数据库中各数据表存储的数据,已经存储在关系型数据库导出的CSV文件中。图数据库获取关系型数据库中的网络路径信息,即将关系型数据库导出的CSV文件导入到图数据库中。
作为一种可能的实现方式,在将关系型数据库导出的CSV文件导入到图数据库中时,可以通过预设的应用程序接口API进行导入。进一步的,路由搜索装置将各节点名称作为点信息,将各节点与相邻节点之间的路径作为边信息,建立图数据库。
应用程序接口(Application Programming Interface,API)API就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令。应用程序接口是一组定义、程序及协议的集合,通过API接口实现计算机软件之间的相互通信。API的一个主要功能是提供通用功能集。操作人员通过调用API函数对应用程序进行开发,可以减轻编程任务。API同时也是一种中间件,为各种不同平台提供数据共享。
在实际应用中,图数据库软件Nebula Graph使用的API接口为Nebula Graph软件自带的导入工具Nebula Graph Importer。Nebula Graph Importer(简称Importer)是一款Nebula Graph的CSV文件单机导入工具。Importer可以读取关系型数据库的CSV文件,然后导入数据至图数据库中,作为图数据库的第一次全量数据的采集。
示例性的,如图5所示,关系型数据库使用ETL技术,将关系型数据库中的数据表整合并导出,关系型数据库导出CSV文件,图数据库软件Nebula Graph使用图数据库导入工具Nebula Graph Importer导入CSV文件,图数据库完成第一次全量数据的采集。
进一步的,图数据库第一次全量数据的采集完成后,根据CSV文件中的数据属性进行自建模,建模完成后将网络路径信息导入到网络路径模型中。
相应的,图数据库根据CSV文件中的数据属性进行自建模时,将网络路径信息分为点信息和边信息,根据点信息和边信息进行建模。
示例性的,图数据库使用CSV文件中的节点信息,作为通信网络路径模型中的点信息进行建模。模型中的点信息为可以通信且可供传输的网络节点作为光连接设备点,光连接设备点可以作为一条网络通信路径中的起始或终止节点。在网络传输路径上无法通信的网络节点为光缆支撑点,光缆支撑点无法作为通信路径上的起始或终止节点。
实际应用中,网络路径中的人井、电杆等可以作为光缆支撑点,网络路径中的光交接箱、光纤分纤箱、ODF架等可以作为光连接设备点,光缆支撑点和光连接设备点作为图数据库中的顶点(Vertex)进行建模。
一些实施例中,图数据库使用CSV文件中的节点关系信息,作为通信网络路径模型中的边信息进行建模。模型中的边信息为连接网络节点的网络段,网络段包括光缆段和支撑段。其中连接光缆支撑点或光连接设备点的光纤管道、光缆纤芯、局向光纤的可以作为光缆段,管道段或杆道段可以作为支撑段。光缆段和支撑段作为图数据库中的边(Edge)进行建模。
示例性的,将通信网络中的网络节点和连接网络节点的网络段在图数据库中建模。以管道路由搜索为例,图数据库中的存储模型格式为每个网络节点和网络段建立表单,并且表单与表单之间具有关联性,表单中存储的信息为图数据库中对应的顶点和边的属性(property)信息。表单中需要存储的信息包括:网络节点ID、网络节点名称、网络节点类型ID、区域ID、状态ID、网络段ID、网络段名称、网络段类型ID、A-Z端设施ID、A-Z端设施类型ID,以及其他拓展属性,包括长度、空闲率、状态值等。根据表单中的需要存储的信息模型,将通信网络信息存储到图数据库中,完成网络路径信息图数据库的建模。
建模完成后将网络路径信息导入到网络路径模型中,即存储点信息和边信息,将CSV文件中的属性信息存储在图数据库中的模型上,完成图数据库的第一次全量数据的建模和信息导入。
一种设计中,图数据库在使用的过程中,路由搜索可以对图数据库中的模型和数据进行更改的操作。本申请实施例根据对图数据库中数据更改的数据量提供两种更改的方式。
作为一种可能实现的方式,当图数据库的数据需要少量更新时,如图6所示,提供了一种图数据库单个对象变化增量采集的操作流程,流程内容包括以下步骤:网络路径资源需要维护更新时,需要对单个对象进行更新。如对某个网络节点或网络段等资源对象进行新增、修改和删除等操作时,关系型数据库使用关系型数据库语言对通信网络数据信息进行直接变更,或对关系型数据库的数据表中需要更改的数据进行直接修改。图数据库软件Nebula Graph需要调用同步API,进行图数据库数据信息的变更。
作为另一种可能实现的方式,当图数据库的数据需要大量更新时,如图7所示,提供了一种图数据库多个对象变化批量采集的操作流程,流程内容包括以下步骤:网络路径资源维护更新时,需要对多个对象进行更新。如对批量导入的数据进行新增、修改和删除等操作时,关系型数据库的变更方法和少量数据变更的方法相同。图数据库对于批量数据的更新任务,网络路径资源维护需要增加数据同步的生产者线程,实现将批量变更的消息数据写入kafka组件中,并通过消费者线程实现变更消息的处理,实现增量数据的同步。即生产者线程将变更数据写入主题(topic)中,topic存储在kafka组件中,kafka组件发起消费者线程,图数据库异步消费topic数据,图数据库完成批量数据的更新。
需要说明的,kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。这种动作(如网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
其中,kafka存储的消息来自被称为“生产者”(Producer)的进程。数据从而可以被分配到不同的“分区”(Partition)、不同的“topic”下。在一个分区内,这些消息被索引并连同时间戳存储在一起。其它被称为“消费者”(Consumer)的进程可以从分区查询消息。kafka运行在一个由一台或多台服务器组成的集群上,并且分区可以跨集群结点分布。
上述实施例主要从装置(设备)的角度对本申请实施例提供的方案进行了介绍。可以理解的是,为了实现上述方法,装置或设备包含了执行各个方法流程相应的硬件结构和/或软件模块,这些执行各个方法流程相应的硬件结构和/或软件模块可以构成一个物料信息的确定装置。本领域技术人员应该很容易意识到,结合本文中所发明的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对装置或设备进行功能模块的划分,例如,装置或设备可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图8是根据一示例性实施例示出的路由搜索装置的结构示意图。参照图8所示,本申请实施例提供的路由搜索装置40包括获取单元401、处理单元402以及输出单元403。
获取单元401,用于获取路由搜索请求;路由搜索请求包括待搜索路径的起点信息、终点信息以及特征信息;处理单元402,用于基于起点信息、终点信息、特征信息,采用预设的搜索算法从图数据库中进行路径搜索,得到多个路由路径;图数据库用于存储各网络节点的信息以及各网络节点之间的关系信息;输出单元403,用于输出路由路径。
可选的,获取单元401还用于获取关系型数据库;关系型数据库包括多张用于存储节点信息以及节点关系的数据表;通过预设的应用程序接口API,将关系型数据库中各数据表存储的数据导入图数据库。
可选的,获取单元401,具体用于:将关系型数据库中各数据表存储的数据导出到文本文件;文本文件包括多个节点名称以及各节点对应的相邻节点;通过API,将各节点名称作为点信息,将各节点与相邻节点之间的路径作为边信息,建立图数据库。
可选的,特征信息包括待搜索路径的必经点信息、避让点信息;处理单元402,具体用于:采用预设的搜索算法,从图数据库中搜索起点信息与终点信息之间的全部路径,得到多个初始路径;根据必经点信息以及避让点信息,从多个初始路径中确定多个路由路径。
图9是本申请提供的一种电子设备的结构示意图。如图9,该电子设备50可以包括至少一个处理器501以及用于存储处理器可执行指令的存储器502其中,处理器501被配置为执行存储器502中的指令,以实现上述实施例中的路由搜索方法。
另外,电子设备50还可以包括通信总线503以及至少一个通信接口504。
处理器501可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线503可包括一通路,在上述组件之间传送信息。
通信接口504,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器502可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器501相连接。存储器也可以和处理器501集成在一起。
其中,存储器502用于存储执行本申请方案的指令,并由处理器501来控制执行。处理器501用于执行存储器502中存储的指令,从而实现本申请方法中的功能。
作为一个示例,结合图8,路由搜索装置40中的获取单元401、处理单元402以及输出单元403实现的功能与图9中的处理器501的功能相同。
在具体实现中,作为一种实施例,处理器501可以包括一个或多个CPU,例如图9中的CPU0和CPU1。
在具体实现中,作为一种实施例,电子设备50可以包括多个处理器,例如图9中的处理器501和处理器507。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,电子设备50还可以包括输出设备505和输入设备506。输出设备505和处理器501通信,可以以多种方式来显示信息。例如,输出设备505可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备506和处理器501通信,可以以多种方式获取用户对象的输入。例如,输入设备506可以是鼠标、键盘、触摸屏设备或传感设备等。
本领域技术人员可以理解,图9中示出的结构并不构成对电子设备50的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
另外,本申请还提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述实施例所提供的路由搜索方法。
另外,本申请还提供一种计算机程序产品,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如上述实施例所提供的路由搜索方法。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
Claims (10)
1.一种路由搜索方法,其特征在于,所述方法包括:
获取路由搜索请求;所述路由搜索请求包括待搜索路径的起点信息、终点信息以及特征信息;
基于所述起点信息、所述终点信息、所述特征信息,采用预设的搜索算法从图数据库中进行路径搜索,得到多个路由路径;所述图数据库用于存储各网络节点的信息以及各网络节点之间的关系信息;
输出所述路由路径。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取关系型数据库;所述关系型数据库包括多张用于存储节点信息以及节点关系的数据表;
通过预设的应用程序接口API,将所述关系型数据库中各数据表存储的数据导入所述图数据库。
3.根据权利要求2所述的方法,其特征在于,所述通过预设的应用程序接口API,将所述关系型数据库中各数据表存储的数据导入所述图数据库,包括:
将所述关系型数据库中各数据表存储的数据导出到文本文件;所述文本文件包括多个节点名称以及各节点对应的相邻节点;
通过所述API,将各节点名称作为点信息,将各节点与相邻节点之间的路径作为边信息,建立所述图数据库。
4.根据权利要求1所述的方法,其特征在于,所述特征信息包括所述待搜索路径的必经点信息、避让点信息;所述基于所述起点信息、所述终点信息、所述特征信息,采用预设的搜索算法,从图数据库中进行路径搜索,得到多个路由路径,包括:
采用预设的搜索算法,从图数据库中搜索所述起点信息与所述终点信息之间的全部路径,得到多个初始路径;
根据所述必经点信息以及所述避让点信息,从所述多个初始路径中确定所述多个路由路径。
5.一种路由搜索装置,其特征在于,所述装置包括获取单元、处理单元以及输出单元;
所述获取单元,用于获取路由搜索请求;所述路由搜索请求包括待搜索路径的起点信息、终点信息以及特征信息;
所述处理单元,用于基于所述起点信息、所述终点信息、所述特征信息,采用预设的搜索算法从图数据库中进行路径搜索,得到多个路由路径;所述图数据库用于存储各网络节点的信息以及各网络节点之间的关系信息;
所述输出单元,用于输出所述路由路径。
6.根据权利要求5所述的装置,其特征在于,所述获取单元还用于:
获取关系型数据库;所述关系型数据库包括多张用于存储节点信息以及节点关系的数据表;
通过预设的应用程序接口API,将所述关系型数据库中各数据表存储的数据导入所述图数据库。
7.根据权利要求6所述的装置,其特征在于,所述获取单元,具体用于:
将所述关系型数据库中各数据表存储的数据导出到文本文件;所述文本文件包括多个节点名称以及各节点对应的相邻节点;
通过所述API,将各节点名称作为点信息,将各节点与相邻节点之间的路径作为边信息,建立所述图数据库。
8.根据权利要求5所述的装置,其特征在于,所述特征信息包括所述待搜索路径的必经点信息、避让点信息;所述处理单元,具体用于:
采用预设的搜索算法,从图数据库中搜索所述起点信息与所述终点信息之间的全部路径,得到多个初始路径;
根据所述必经点信息以及所述避让点信息,从所述多个初始路径中确定所述多个路由路径。
9.一种电子设备,其特征在于,包括:处理器、用于存储所述处理器可执行的指令的存储器;其中,所述处理器被配置为执行指令,以实现权利要求1-4中任一项所述的路由搜索方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-4中任一项所述的路由搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310994911.XA CN117149825A (zh) | 2023-08-08 | 2023-08-08 | 路由搜索方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310994911.XA CN117149825A (zh) | 2023-08-08 | 2023-08-08 | 路由搜索方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117149825A true CN117149825A (zh) | 2023-12-01 |
Family
ID=88897788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310994911.XA Pending CN117149825A (zh) | 2023-08-08 | 2023-08-08 | 路由搜索方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149825A (zh) |
-
2023
- 2023-08-08 CN CN202310994911.XA patent/CN117149825A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10146801B2 (en) | Apparatus and method for distributed graph processing | |
CN111523003A (zh) | 一种以时序动态图谱为核心的数据应用方法及平台 | |
CN109614402B (zh) | 多维数据查询方法和装置 | |
CN105138661A (zh) | 一种基于Hadoop的网络安全日志k-means聚类分析系统及方法 | |
CN106294695A (zh) | 一种面向实时大数据搜索引擎的实现方法 | |
CN108363741B (zh) | 大数据统一接口方法、装置、设备及存储介质 | |
CN114116065A (zh) | 获取拓扑图数据对象的方法、装置、及电子设备 | |
CN114356971A (zh) | 数据处理方法、装置以及系统 | |
US20150120697A1 (en) | System and method for analysis of a database proxy | |
CN110689268A (zh) | 一种提取指标的方法和装置 | |
CN111352951A (zh) | 一种数据导出方法、装置及系统 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
US20240330340A1 (en) | Materialized column creation method and data query method based on data lake | |
CN113609100B (zh) | 数据存储方法、数据查询方法、装置及电子设备 | |
CN113220710B (zh) | 数据查询方法、装置、电子设备以及存储介质 | |
CN112783887A (zh) | 一种基于数据仓库的数据处理方法及装置 | |
CN112307061A (zh) | 用于查询数据的方法和装置 | |
CN117149825A (zh) | 路由搜索方法、装置、电子设备及存储介质 | |
CN110109919A (zh) | 确定逻辑信息的方法和装置 | |
WO2016132472A1 (ja) | データ検索装置及びデータ検索方法及びデータ検索プログラム | |
CN115563183B (zh) | 查询方法、装置及程序产品 | |
Hashem et al. | A review of modeling toolbox for BigData | |
CN118394835B (zh) | 一种电网数据的分析方法、装置、设备及存储介质 | |
US20230401221A1 (en) | Cross-tables search method, electronic device, and storage medium | |
CN112783904B (zh) | 一种更新索引数据的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |