计算网络端到端的接入能力的方法和装置与流程

文档序号:11263600阅读:206来源:国知局
本发明涉及通信网络领域,特别涉及计算网络端到端的接入能力的方法和装置。
背景技术
::通信网络随着多年的网络演进和业务发展,现已展现出网络资源分部地域广、连接复杂以及设备类型多(例如从向用户提供接入能力来说,有铜缆网、光缆网等)等行业性特征。通信网络呈拓扑状,由局端到用户端的各种记录资源与用户的关系复杂、数据庞大,难以通过固定的方法来进行网络拓扑端到端的计算。例如,图1是示意性地示出现有技术中通信网络资源的数据模型图。其中,图1中描述了节点、边等在生产系统中的原始数据结构,这里原始数据主要可以包括:物理设备101、链路102(例如数据链路)、物理链路组成103、物理边104、端子端口105和局向线106等。再者,一方面接入网的资源能力随着网络的调整而动态变化,并且各个层级的能力也不一致,使得对网络拓扑面向客户的端到端接入能力的支持较弱,另一方面也没有非常稳定并且可靠的能力计算方法。例如,当用户去运营商办理业务时,运营商往往需要准确的接入网资源接入能力信息。但由于其组网的复杂性,运营商无法精确提供可订购产品能力。目前运营商采取无条件放装,若资源不足,则施工周期过长,用户感知较差。传统的计算方法需要通过整个网络的数据,从用户接入端节点到局端对提供能力的设备进行遍历性的计算,需要耗费非常庞大的计算量,耗时巨大,应用支撑不佳。另一方面,每一次的业务能力的增减,都需要重新计算每个节点的能力,当网络发生重大调整时,需要对整套数据进行割接和重新计算。技术实现要素:本发明的发明人发现上述现有技术中存在问题,并因此针对所述问题中的至少一个问题提出了一种新的技术方案。本发明的目的之一是:提供一种计算网络端到端的接入能力的方法。本发明的目的之一是:提供一种计算网络端到端的接入能力的装置。本发明实现了对网络端到端的快速路由遍历,提高了对接入能力的计算速率。根据本发明的第一方面,提供了一种计算网络端到端的接入能力的方法,包括:获得指定接入设备、路由边和目标设备的业务数据;根据所述指定接入设备、所述路由边和所述目标设备的业务数据搜索获得从所述指定接入设备到所述目标设备的路由表;根据所述路由表构建从所述指定接入设备到所述目标设备的拓扑图;根据所述拓扑图从所述指定接入设备到所述目标设备进行路由遍历,并对所述拓扑图中的各个节点设备的接入能力进行并行计算;以及根据计算获得的所述各个节点设备的接入能力获得所述指定接入设备到所述目标设备的接入能力。在一些实施例中,根据所述指定接入设备、所述路由边和所述目标设备的业务数据搜索获得从所述指定接入设备到所述目标设备的路由表的步骤包括:获得本地所有接入设备和所述所有接入设备到所述目标设备的所有路由边的业务数据;根据本地所有接入设备、所有路由边和所述目标设备的业务数据获得本地所有接入设备到所述目标设备的路由表;以及根据所述指定接入设备、所述路由边和所述目标设备的业务数据,从本地所有接入设备到所述目标设备的路由表中搜索获得从所述指定接入设备到所述目标设备的路由表。在一些实施例中,根据本地所有接入设备、所有路由边和所述目 标设备的业务数据获得本地所有接入设备到所述目标设备的路由表的步骤包括:利用数据提取技术将本地所有接入设备、所有路由边和所述目标设备的业务数据部署在spark集群的计算节点上以计算获得本地所有接入设备到所述目标设备的路由表。在一些实施例中,利用数据提取技术将本地所有接入设备、所有路由边和所述目标设备的业务数据部署在spark集群的计算节点上的步骤包括:采用数据提取、转换和加载etl技术从数据库中抽取资源数据信息作为文本文件,将所述文本文件转换成utf-8格式,并上传至hadoop分布式文件系统hdfs中;其中,所述资源数据信息包括:本地所有接入设备、所有路由边和所述目标设备的业务数据;采用spark集群技术从所述hdfs中将所述文本文件加载为弹性分布式数据集rdd数据结构,并将所述rdd数据结构转换成图形计算所需的[v,e,d]数据结构,以将所述资源数据信息部署在所述计算节点上;其中,在所述[v,e,d]数据结构中,v表示接入设备的业务数据,e表示路由边的业务数据,d表示目标设备的业务数据。在一些实施例中,根据所述指定接入设备、所述路由边和所述目标设备的业务数据,从本地所有接入设备到所述目标设备的路由表中搜索获得从所述指定接入设备到所述目标设备的路由表的步骤包括:根据所述指定接入设备、所述路由边和所述目标设备的业务数据,通过spark集群按照各个节点设备的类型维度对从本地所有接入设备到所述目标设备的路由表进行路由查找,获得从所述指定接入设备到所述目标设备的路由表。在一些实施例中,根据所述路由表构建从所述指定接入设备到所述目标设备的拓扑图的步骤包括:在spark集群上根据所述路由表提取关键能力端,进行路由拓扑,获得所述拓扑图;其中,所述关键能力端为所述路由表上支撑快速扩容模式能力的设备。在一些实施例中,在spark集群上根据所述路由表提取关键能力端的步骤包括:采用etl技术从数据库中抽取所述路由表的资源相应信息;其中,所述资源相应信息包括:所述指定接入设备、所述路由 边和所述目标设备的业务数据;将所述资源相应信息上传至hdfs中,采用sparksql技术进行预处理,将所述资源相应信息转成图形计算所需要的数据结构,以得到关键能力端。在一些实施例中,对所述拓扑图中的各个节点设备的接入能力进行并行计算的步骤包括:将所述各个节点设备分配到spark集群的各个计算节点上,使得各个计算节点对所述各个节点设备的接入能力进行并行计算。在一些实施例中,根据所述拓扑图从所述指定接入设备到所述目标设备进行路由遍历,并对所述拓扑图中的各个节点设备的接入能力进行并行计算的步骤包括:计算各个节点设备类型的端子端口连通性,并根据各个节点设备的端子端口连通性来计算业务提供能力,根据业务提供能力去除不符合业务需求的路由表;按照剩余的路由表对剩余的各个节点设备进行拓扑路由,并对所述剩余的各个节点设备进行定向排序;对所述指定接入设备、所述路由边和所述目标设备进行路由遍历并计算各个节点设备的接入能力。在一些实施例中,根据计算获得的所述各个节点设备的接入能力获得所述指定接入设备到所述目标设备的接入能力的步骤包括:采用最大业务占用方式对所述各个节点设备的接入能力进行叠加计算,获得所述指定接入设备到所述目标设备的接入能力。在一些实施例中,根据计算获得的所述各个节点设备的接入能力获得所述指定接入设备到所述目标设备的接入能力的步骤还包括:根据接入网络的组网特征计算所述指定接入设备到所述目标设备的接入能力。在一些实施例中,所述指定接入设备的业务数据包括:所述指定接入设备的身份标识、规格或端子数;所述路由边的业务数据包括:所述路由边的身份标识、规格或端子数;所述目标设备的业务数据包括:所述目标设备的身份标识、规格或端子数。根据本发明的第一方面,提供了一种计算网络端到端的接入能力的装置,包括:获取单元,用于获得指定接入设备、路由边和目标设备的业务数据;预处理单元,用于根据所述指定接入设备、所述路由边和所述目标设备的业务数据搜索获得从所述指定接入设备到所述目标设备的路由表;路由处理单元,用于根据所述路由表构建从所述指定接入设备到所述目标设备的拓扑图;根据所述拓扑图从所述指定接入设备到所述目标设备进行路由遍历,并对所述拓扑图中的各个节点设备的接入能力进行并行计算;以及能力处理单元,用于根据计算获得的所述各个节点设备的接入能力获得所述指定接入设备到所述目标设备的接入能力。在一些实施例中,所述获取单元获得本地所有接入设备和所有接入设备到所述目标设备的所有路由边的业务数据;所述预处理单元根据本地所有接入设备、所有路由边和所述目标设备的业务数据获得本地所有接入设备到所述目标设备的路由表;以及根据所述指定接入设备、所述路由边和所述目标设备的业务数据,从本地所有接入设备到所述目标设备的路由表中搜索获得从所述指定接入设备到所述目标设备的路由表。在一些实施例中,所述预处理单元利用数据提取技术将本地所有接入设备、所有路由边和所述目标设备的业务数据部署在spark集群的计算节点上以计算获得本地所有接入设备到所述目标设备的路由表。在一些实施例中,所述预处理单元采用etl技术从数据库中抽取资源数据信息作为文本文件,将所述文本文件转换成utf-8格式,并上传至hdfs中;其中,所述资源数据信息包括:本地所有接入设备、所有路由边和所述目标设备的业务数据;采用spark集群技术从所述hdfs中将所述文本文件加载为rdd数据结构,并将所述rdd数据结构转换成图形计算所需的[v,e,d]数据结构,以将所述资源数据信息部署在所述计算节点上;其中,在所述[v,e,d]数据结构中,v表示接入设备的业务数据,e表示路由边的业务数据,d表示目标设 备的业务数据。在一些实施例中,所述预处理单元根据所述指定接入设备、所述路由边和所述目标设备的业务数据,通过spark集群按照各个节点设备的类型维度对从本地所有接入设备到所述目标设备的路由表进行路由查找,获得从所述指定接入设备到所述目标设备的路由表。在一些实施例中,所述路由处理单元在spark集群上根据所述路由表提取关键能力端,进行路由拓扑,获得所述拓扑图;其中,所述关键能力端为所述路由表上支撑快速扩容模式能力的设备。在一些实施例中,所述路由处理单元采用etl技术从数据库中抽取所述路由表的资源相应信息;其中,所述资源相应信息包括:所述指定接入设备、所述路由边和所述目标设备的业务数据;将所述资源相应信息上传至hdfs中,采用sparksql技术进行预处理,将所述资源相应信息转成图形计算所需要的数据结构,以得到关键能力端。在一些实施例中,所述路由处理单元将所述各个节点设备分配到spark集群的各个计算节点上,使得各个计算节点对所述各个节点设备的接入能力进行并行计算。在一些实施例中,所述路由处理单元计算各个节点设备类型的端子端口连通性,并根据各个节点设备的端子端口连通性来计算业务提供能力,根据业务提供能力去除不符合业务需求的路由表;按照剩余的路由表对剩余的各个节点设备进行拓扑路由,并对所述剩余的各个节点设备进行定向排序;以及对所述指定接入设备、所述路由边和所述目标设备进行路由遍历并计算各个节点设备的接入能力。在一些实施例中,所述能力处理单元采用最大业务占用方式对所述各个节点设备的接入能力进行叠加计算,获得所述指定接入设备到所述目标设备的接入能力。在一些实施例中,所述能力处理单元还用于根据接入网络的组网特征计算所述指定接入设备到所述目标设备的接入能力。在一些实施例中,所述指定接入设备的业务数据包括:所述指定接入设备的身份标识、规格或端子数;所述路由边的业务数据包括: 所述路由边的身份标识、规格或端子数;所述目标设备的业务数据包括:所述目标设备的身份标识、规格或端子数。本发明可以减少现有技术中由于对接入网网络复杂关系的计算而带来的存储和计算开销,提高了计算速率。本发明可以解决网络全程接入能力不清晰,不能及时向用户提供可订购的、较精确的资源能力等问题,以便于运营商能清晰知道资源建设短板,集中精确建设,从而及时响应用户需求,提升用户感知,进而为业务支撑提供了实时性和准确性的应用能力支撑。通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。附图说明构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:图1是示意性地示出现有技术中通信网络资源的数据模型图。图2是示出根据本发明一些实施例的计算网络端到端的接入能力的方法的流程图。图3是示意性地示出根据本发明一些实施例的spark集群中的分布式无向图的示意图。图4是示意性地示出根据本发明一些实施例的拓扑图示意图。图5是示出根据本发明另一些实施例的计算网络端到端的接入能力的方法的流程图。图6是示出根据本发明一些实施例的采用分布式内存技术对接入网络快速遍历拓扑并计算的方法。图7是示出根据本发明一些实施例的从指定接入设备到目标设备的遍历计算方法。图8是示意性地示出根据本发明一些实施例的采用基于内存的 并行计算的架构示意图。图9是示意性地示出根据本发明一些实施例的数据平台整体技术架构示意图。图10是示意性地示出根据本发明一些实施例的计算网络端到端的接入能力的装置的结构示意图。具体实施方式现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。图2是示出根据本发明一些实施例的计算网络端到端的接入能力的方法的流程图。在步骤s201,获得指定接入设备、路由边和目标设备的业务数据。这里路由边表示各个节点设备之间的连接路径(例如如图4所示),可以包括数据链路或物理链路(或者物理边)等。例如,接入设备可以包括:分线箱、分线盒或交接箱等。又例如,目标设备可以包括: dslam(digitalsubscriberlineaccessmultiplexer,数字用户线路接入复用器)设备或olt(opticallineterminal,光线路终端)设备等,这些设备可以作为能力设备。本发明可以采用表1所示的一些设备作为本发明的应用支撑,例如这些设备可以作为接入设备、物理边或目标设备。表1设备名称设备编程代码物理设备res_dev_daily传输设备res_trans_dev_dailyip设备res_ip_dailyolt设备res_olt_daily_dailyag设备res_ag_daily交换设备res_switch_dev_dailyobd设备res_obd_daily连接设备res_dp_daily光分光终端盒设备res_gfgb_dailylan设备res_lan_dailydslam设备res_dslam_dailya类设备b类onu设备res_bonu_dailyc类设备res_conu_dailyiad设备res_iad_daily本领域技术人员可以理解,这里所描述的“能力设备”可以表示提供某种或某些接入能力(例如端口端子空闲容量、路由边的链路空闲容量等)的设备,当然也可以表示提供其他服务能力的设备,因此本发明的范围并不仅限于此。在本发明的一些实施例中,指定接入设备的业务数据可以包括: 指定接入设备的身份标识(id)、规格(例如尺寸大小等)或端子数;路由边的业务数据可以包括:路由边的身份标识、规格或端子数;目标设备的业务数据可以包括:目标设备的身份标识、规格或端子数。回到图2,在步骤s203,根据指定接入设备、路由边和目标设备的业务数据搜索获得从该指定接入设备到该目标设备的路由表。在一些实施例中,该步骤s203可以包括:获得本地所有接入设备和这些所有接入设备到该目标设备的所有路由边的业务数据。可选地,该步骤s203还可以包括:根据本地所有接入设备、所有路由边和该目标设备的业务数据获得本地所有接入设备到目标设备的路由表。可选地,该步骤s203还可以包括:根据指定接入设备、路由边和目标设备的业务数据,从本地所有接入设备到该目标设备的路由表中搜索获得从该指定接入设备到该目标设备的路由表。在本发明的一些实施例中,根据本地所有接入设备、所有路由边和目标设备的业务数据获得本地所有接入设备到所述目标设备的路由表的步骤可以包括:利用数据提取技术将本地所有接入设备、所有路由边和目标设备的业务数据部署在spark集群的计算节点上以计算获得本地所有接入设备到该目标设备的路由表。在一些实施例中,利用数据提取技术将本地所有接入设备、所有路由边和目标设备的业务数据部署在spark集群的计算节点上的步骤可以包括:采用etl(extractiontransformationloading,数据提取、转换和加载)技术从数据库中抽取资源数据信息作为文本文件,将这些文本文件转换成utf-8(8-bitunicodetransformationformat,8位统一码变换格式)格式,并上传至hdfs(hadoopdistributedfilesystem,hadoop分布式文件系统)中。例如,资源数据信息可以包括:本地所有接入设备、所有路由边和上述目标设备的业务数据。可选地,该步骤还可以包括:采用spark集群技术从该hdfs中将上述文本文件加载为rdd(resilientdistributeddatasets,弹性分布式数据集)数据结构,并(例如采用sparksql(structuredquerylanguage,结构化查询语言)技术进行预处理)将该rdd数据结构转换成图形 计算所需的[v,e,d]数据结构,以将上述资源数据信息部署在计算节点上。其中,在该[v,e,d]数据结构中,v表示接入设备的业务数据,e表示路由边的业务数据,d表示目标设备的业务数据。由于spark集群是分布式点切分方式(vertexcut),因此可以将资源数据信息放到spark集群的所有计算节点上。在本发明的一些实施例中,根据指定接入设备、路由边和目标设备的业务数据,从本地所有接入设备到目标设备的路由表中搜索获得从指定接入设备到该目标设备的路由表的步骤可以包括:根据指定接入设备、路由边和目标设备的业务数据,通过spark集群按照各个节点设备的类型维度对从本地所有接入设备到该目标设备的路由表进行路由查找,获得从该指定接入设备到该目标设备的路由表。例如,在spark集群中构建有分布式无向图(例如前面所述的rdd数据结构),无向图采用顶点切分存储在集群的各个计算节点。可以指定从某些设备类型(例如可以在前面预处理过程中附上一些条件或标示)启动寻找,也可以根据业务需求指定拓扑路径终点。下面以图3所示的spark集群的分布式无向图为例,说明通过spark集群按照设备节点类型维度进行路由查找的过程。如图3所示,spark集群的无向图计算技术采用了消息发送、快速内存拓扑计算的方法,该路由查找过程也可以是排序过程,在路由查找过程中可以进行大量的剪枝操作:首先,开始节点为gj1(光交类型设备id为1)、gf1(光分类型设备id为1),结束节点为olt1(olt设备id为1)接下来,gf1发送消息到odf1(opticaldistributionframe,光纤配线架),odf1节点上记录路径gf1-odf1;gj1发送消息到odf1,odf1节点上记录路径gj1-odf1。接下来,odf1节点上发送消息。(1)odf1节点将消息发送到olt1节点上,记录路径1:gj1-odf1-olt1;路径2:gf1-odf1-olt1。(2)odf1节点将消息发送到gj1节点上,查看路径1:gj1-odf1-gj1,出现路径回归舍弃消息;查看路径2:gf1-odf1-gj1,结合gj1周围节点情况(例如周围存在与gj1相似的节点gf1),放弃此路径,也放弃信息再次发送。(3)odf1节点将消息发送到gf1上,查看路径1:gf1-odf1-gf1,出现路径回归舍弃消息;查看路径2:gj1-odf1-gf1,结合gf1周围节点情况(例如周围存在与gf1相似的节点gj1),放弃此路径,也放弃信息再次发送。接下来,确定olt1节点为终止节点,不发送消息。最终确认查找到的拓扑路径为gj1-odf1-olt1和gf1-odf1-olt1。以上结合图3描述了通过spark集群按照设备节点类型维度进行路由查找的过程。当然,本领域技术人员应该明白,实际情况可能比图3所示的情况更加复杂,例如节点更多,或者节点可能还包含容器关系等,本领域技术人员可以结合一些现有技术,明白通过spark集群按照设备节点类型维度进行更复杂的路由查找的过程。在一些实施例中,可以在得到的路由表中加入预定的业务减值规则,以便在后续步骤中可以按照该业务减值规则去除不满足要求的节点设备。本领域技术人员应该理解,可以采用一些现有的业务减值规则,例如光计算规则或铜计算规则。光计算规则可以包括:接入端子空闲能力计算规则、经过节点能力共享规则等。铜计算规则可以包括:接入端子能力减值规则、有向边物理链接线占用减值规则等。业务减值规则也可以按照维度分为固定维度和其他维度的规则。固定维度的规则需要考虑当前节点设备规格、当前节点接入能力和有向边接入能力等。其他维度的规则需要考虑是否双线对、是否经过边等因素。回到图2,在步骤s205,根据路由表构建从指定接入设备到目标设备的拓扑图。前面的步骤中已经获得了从指定接入设备到目标设备的路由表,然后根据该路由表构建拓扑图。例如,构建的拓扑图如图4所示。图4中示出了各个节点设备、 能力设备和各个节点之间的路由边,例如节点设备a、b、c、e、x、y和z,能力设备d,a与b之间的路由边[a,ed0,b],a与c之间的路由边[a,ed1,c],b与d之间的路由边[b,ed2,d],b与e之间的路由边[b,ed3,e],c与e之间的路由边[c,ed4,e],a与y之间的路由边[a,ed5,y],x与y之间的路由边[x,ed6,y],以及y与z之间的路由边[y,ed7,z]。例如,小区网络内的节点设备a或节点设备x可以作为指定接入设备,机房内的能力设备d可以作为目标设备。从节点设备a到能力设备d的路径可以为a-b-d或者a-c-e-b-d,从节点设备x到能力设备d的路径可以为x-y-a-b-d或者x-y-a-c-e-b-d。通过节点、边来构建拓扑图,而能力计算由指定一个接入节点在拓扑中进行遍历。该业务计算模型提供了一种[v,e,d]的快速路由计算模型。即[接入设备,路由边,目标设备]的业务模型。例如这里v可以是指定接入设备或其他接入设备。该方式可以通过在拓扑图中的遍历,寻找到所有正确从指定接入设备到目标设备的路由路径。在本发明的一些实施例中,可以在构建上述拓扑图的过程中,根据预定的业务减值规则(例如前面所述的业务减值规则)去掉不满足业务要求的节点,得到更加简单的拓扑图,以减小后续步骤中计算接入能力的计算量。在本发明的一些实施例中,该步骤s205可以包括:在spark集群上根据该路由表提取关键能力端,进行路由拓扑,获得拓扑图;其中,关键能力端为该路由表上支撑快速扩容模式能力的设备。这里,关键能力端的快速扩容模式能力可以包括:oltpon(passiveopticalnetwork,无源光纤网络)端口数量、pon端口宽带能力、obd(opticalbranchingdevice,分光器)端口数量、光交类型设备端口数量、odf端口数量、内部容量(最多可以容纳obd的数量)信息等,或者2个连接设备之间的可用连接通路数。在一些实施例中,在spark集群上根据路由表提取关键能力端的步骤可以包括:采用etl技术从数据库中抽取该路由表的资源相应信 息。例如,该资源相应信息可以包括:指定接入设备、路由边和目标设备的业务数据。可选地,该步骤还可以包括:将上述资源相应信息上传至hdfs中,采用sparksql技术进行预处理,将该资源相应信息转成图形计算所需要的数据结构,以得到关键能力端。该实施例实现了在spark集群上提取关键能力端的过程。在一些实施例中,可以通过org.apache.spark.graph.pregel下的pregel方法进行路由拓扑。在pregel的编程模型中,对任务(jobs)进行迭代的步骤,可以称为supersteps(超级步骤)。在每一个superstep中,每一个顶点(vertex)在拓扑图里面作为一个用户指定的功能,可以更新与其它vertex相关联的状态,并发送消息到其它vertices,用于下一步的迭代(iteration)。spark集群实现了pregel基于消息的快速的内存迭代计算框架。例如,在利用pregel方法进行路由拓扑的过程中,顶点类vertex包含vertices(顶点)、edges(边)、messges(消息)三种相关数据,采用protocolbuffer(协议缓冲区)实现易变类型。可以通过重写compute()函数定义每个superstep中顶点进行的操作;getvalue()和mutablevalue()函数分别用于得到和修改顶点关联值。又例如,可以对拓扑程序中的一些操作进行定义如下:messagepassing(消息传送):发送消息时根据目标顶点是否在本地使用不同的方式。combiners(合并):(某些应用)将收到的消息进行合并,默认不启动。aggregators(聚合器):(例如min、max、sum)每个superstep中每个顶点提供一个值给aggregator使用,系统通过reduce(减值)操作得到一个全局值,该值可被下一个superstep中的所有顶点使用。topologymutations(拓扑改变):在算法执行过程中可以改变拓扑结构,使用lazy(延迟)机制;inputandoutput(输入和输出):pregel提供常见格式文件的读写,通过继承reader(读)和wirter(写)类实现特别的需求。回到图2,在步骤s207,根据拓扑图从指定接入设备到目标设备进行路由遍历,并对拓扑图中的各个节点设备的接入能力进行并行计算。在一些实施例中,在该步骤中,拓扑图中的各个节点设备可以包括:指定接入设备、路由边(包括路由边上的节点设备)和目标设备。在一些实施例中,可以采用spark集群技术对各个节点设备的接入能力进行并行计算。例如,对拓扑图中的各个节点设备的接入能力进行并行计算的步骤可以包括:可以将各个节点设备分配到spark集群的各个计算节点上,使得各个计算节点可以对各个节点设备的接入能力进行并行计算。例如,关于并行计算的架构可以参见图8,其中图8中示意性地示出了rdd数据:a、b、c、d、e、x、y和z,并对这些数据进行并行处理,具体操作可以包括:将hive的结构化数据转化为spark的rdd数据(例如a、b、c、d、e、x、y和z),spark内部rdd经过转换汇总,最终输出结构化结果数据到hive相应表中。例如,如图8所示,从hivehdfshadoop801中提取数据,对这些数据执行spark转化操作802,例如,a-b转化b-d,a-c转化-c-e,等等,对这些数据进行联合(join)操作803,剔除不需要的数据,得到需要的数据并输出到hivehdfshadoop801中。spark内部根据不同的具体操作,采用不同的计算步骤,最优化的执行业务上的逻辑操作。在一些实施例中,可以在并行计算的过程中按照预定的业务减值规则(例如前面所述的业务减值规则)对各个节点设备的接入能力进行计算。在处理分布式的数据过程中,可以根据随机触发找到的每个接入点的下一个数据,采用分布式job(任务)去进行寻找下一个节点。而根据下一个节点的数据,又分布式的寻找下下个节点。因此可以进行并行计算,通过少量的数据节点可以支持很大规模的数据。可选地,该步骤s207可以包括:计算各个节点设备类型的端子端口连通性,并根据各个节点设备的端子端口连通性来计算业务提供能力,根据业务提供能力去除不符合业务需求的路由表。通过去除不符 合业务需求的路由表可以减小路由计算的工作量,提供接入能力的计算速率。可选地,该步骤s207还可以包括:按照剩余的路由表对剩余的各个节点设备进行拓扑路由,并对所述剩余的各个节点设备进行定向排序。该实施例中,路由查找过程也是路由遍历排序的过程,最终得到用户端设备(作为指定接入设备)至局端设备(作为目标)经过排序后拓扑路由。可选地,该步骤s207还可以包括:对指定接入设备、路由边和目标设备进行路由遍历并计算各个节点设备的接入能力。在该实施例中,剩余的各个节点设备包括:指定接入设备、路由边上的节点设备和目标设备,从指定接入设备,经路由边到目标设备进行遍历计算,得到各个节点设备的接入能力。下面举例说明端子端口连通性的计算过程以及根据端子端口连通性计算业务提供能力的过程。以图3为例,olt1和odf1之间的路径能力为50,odf1和gj1之间的路径能力41,odf1和gf1之间的路径能力为31。整个拓扑排序后的可用路径,及其能力如下:路径1:olt1-odf1-gj1,路径能力为41;路径2:olt1-odf1-gf1,路径能力为31。因为2条路径共用olt1-odf1路径,整个无向拓扑图能力为50。假设采取随机最大业务占用原则,即在不同路径中选择一条路径使得该条路径的能力为该条路径所能够达到的最大值,其他路径的能力根据总路径能力分配,例如,对于前面的路径,路径能力为:路径1:olt1-odf1-gj1,路径能力为41;路径2:olt1-odf1-gf1,路径能力为9;或者路径1:olt1-odf1-gj1,路径能力为19;路径2:olt1-odf1-gf1,路径能力为31。具体路径占用算法是多样性的,可以根据需要具体调整。业务能力要根据具体的业务场景来计算:在此无向图拓扑中,假设gj1和gf1作为obd容器,则gj1和gf1最多能放50个obd(假设不考虑gj1和gf1的规格、端子情况等),至于obd具体规格则要考虑设备大小等具体业务影响因素,当obd数量、规格、层级等确定后,再结合oltpon端口能力,则基本上确定业务提供能力。实际应用中,也可以首先根据已查找出来的路径及路径上涉及的具体节点信息等,构建新的无向图拓扑(sparkrddved)数据结构,采取相关路径占用算法(例如,最大随机占用、按比例占用等),来确定整体路由拓扑能力,再结合业务要求确定业务提供能力。回到图2,在步骤s209,根据计算获得的各个节点设备的接入能力获得指定接入设备到目标设备的接入能力。例如,可以采用预定的业务减值规则计算具体业务的能力。在本发明的一些实施例中,该步骤s209可以包括:采用最大业务占用方式对各个节点设备的接入能力进行叠加计算,获得指定接入设备到目标设备的接入能力。关于最大占用方式前面已经举例详细描述,这里不再赘述。本领域技术人员应该明白,也可以采用其他方式进行叠加计算,例如可以采用按比例占用方式等,因此本发明的范围并不仅限于此。在本发明的一些实施例中,该步骤s209还可以包括:根据接入网络的组网特征计算指定接入设备到目标设备的接入能力。在一些实际情况中,接入能力还可能受到接入网络的组网特征的影响,因此可以结合接入网络的组网特征计算接入能力。本发明提供了一种计算网络端到端的接入能力的方法,减少现有技术中由于对接入网网络复杂关系的计算而带来的存储和计算开销,提高了计算速率。例如,可将一次全网接入能力的遍历计算从原来的数天提升到分钟级。又例如,可以将局部网格和某一个能力设备接入能力的计算提升近10倍。本发明可以适用于接入网、传输网或数据 网等计算端到端的接入能力。本发明可以解决网络全程接入能力不清晰,不能及时向用户提供可订购的、较精确的资源能力等问题,以便于运营商能清晰知道资源建设短板,集中精确建设,从而及时响应用户需求,提升用户感知,进而为业务支撑提供了实时性和准确性的应用能力支撑。关于本发明一些实施例的计算网络端到端的接入能力的方法可以采用图9所示的数据平台(例如ods-o平台,即开放式数据服务运营平台)来实现。如图9所示,原始数据单元908为数据源层数据所对应的原始系统,用于提供所有计算需要的原始数据。hdfs文件系统907从原始数据单元908提取数据。在该hdfs文件系统内,etl对接口的文件进行小文件合并,大文件拆分操作,并且经过处理的数据可以作为共享层904、hive906和spark905的数据源。在hive906内,获得的数据(例如路由表数据、节点接入能力数据等)经过整合层9061、中间层9062转换操作,将这些数据转化为spark的rdd数据。应用层9063内为业务上需要的数据。在整合层9061、中间层9062和应用层9063的数据均可以传输至共享层904。共享层可以将经过合并或拆分操作的原始数据以及从hive906接收的数据传输至取数平台901,以供网络上的其他业务系统使用。即其他业务系统需要平台计算后的数据,平台将共享层的数据,抽取后放到公共的地方如ftp文件中心等,对外围系统共享数据。该共享层提供了其他系统需要的数据。spark905可以接收来自hive906的数据(例如rdd数据)或者经过合并或拆分操作的原始数据,并将这些数据转换成图形计算所需的[v,e,d]数据结构,并将这些数据结构部署在应用集群902的各个计算节点上,应用集群902对各个节点设备的接入能力进行并行计算,获得从指定接入设备到目标设备的接入能力。在一些情况下,hive906内处理的数据是文件格式,可能无法直 接供应用集群902服务,这时可以将hive906的数据经过mysql关系型数据库903处理,然后再提供给应用集群902,使得前端应用集群更方便操作。图5是示出根据本发明另一些实施例的计算网络端到端的接入能力的方法的流程图。在步骤s501,获得指定接入设备、路由边和目标设备的业务数据。例如可以通过人为输入的方式获得上述业务数据,也可以通过自行搜索的方式获得上述业务数据。在步骤s503,从接入网网络搜寻指定接入设备。这里指定接入设备作为起始接入设备。在步骤s505,根据指定接入设备、路由边和目标设备的业务数据搜索获得从指定接入设备到目标设备的路由表。在步骤s507,基于路由表构建拓扑图,并对拓扑图中的各个节点设备进行遍历以及计算分析。在步骤s509,判断拓扑图中的各个节点设备是否遍历并计算完毕。如果是,则过程进入步骤s511,否则返回步骤s507,即继续进行遍历和计算。由于在一些情况下,拓扑图中可能存在n(n大于或等于1,且为正整数)个路由表,因此需要对该拓扑图进行n度遍历。在步骤s511,业务过滤与计算。即根据各个节点设备的端子端口连通性来计算业务提供能力,根据业务提供能力去除不符合业务需求的路由表。在步骤s513,各个节点设备的业务能力叠加计算。在步骤s515,存储指定接入设备到目标设备的接入能力和网络。该实施例可以提供快速路由分析算法,主要根据接入网格的接入能力的计算,统计某个网格,或每个能力设备的业务能力。这种计算方式,可以由一个点以及一个面出发,层层计算某个拓扑的业务能力,并且进行业务计算处理,进而得到每个面(网格)和点(能力设备)的接入能力。图6是示出根据本发明一些实施例的采用分布式内存技术对接 入网络快速遍历拓扑并计算的方法。图6具体描述了本发明一些实施例的进行快速路由遍历、拓扑并计算的实现方式。在步骤s601,计算指定接入设备的接入能力。这里指定接入设备作为起始接入设备。可以采用单点计算,或者批处理计算。单点计算为某个接入设备,批处理计算为某个网格下的所有接入设备。在步骤s603,从确定的指定接入设备开始定向的快速路由遍历,当标记到为目标设备时,构建可进行快速路由遍历的数据结构三元组[v,e,d]。在步骤s605,根据三元组提供的数据结构构建拓扑,三元组的数据可通过分布式的计算方式得出,分布式数据与计算结果存放在hdfs文件系统中。该步骤可以采用基于内存的分布式计算技术,例如采用n度遍历分析算法,在分布式内存中完成。在步骤s607,根据拓扑图进行n度快速拓扑路由遍历之后,从拓扑数据中,通过mapreduce过滤拓扑路由,并且对其进行定向排序。在步骤s609,根据步骤s607得出的结果,对v、e、d的路由进行遍历计算,进而采用最大业务占用方式进行叠加计算。在步骤s611,回溯路由,获得由指定接入设备到目标设备的接入能力。该实施例提供了一种支撑快速路由计算的业务模型,即某个能力设备均有n个路由信息表完成全部遍历。其业务快速路由模型为:n{v,e,d},通过每次计算获得接入能力。该实施例可以实现业务减值能力计算,并可以基于spark实现分布式的基于内存的快速计算大量节点设备的网络拓扑的接入能力。图7是示出根据本发明一些实施例的从指定接入设备到目标设备的遍历计算方法。下面结合图7描述该遍历计算方法。在步骤s701,从发起节点开始标记指定接入设备,并且通知下一节点。这里指定接入设备作为起始接入设备。在步骤s703,业务减值计算,过滤无需处理节点信息,并且通知下一节点。即在进行业务减值计算后,过滤不符合业务需要的节点 信息,并且通知下一个节点。在步骤s705,到达目标设备,回溯指定接入设备到目标设备的接入能力。在该实施例中,根据快速遍历的拓扑,进行业务减值计算,得到指定接入设备到目标设备的具体接入能力。图10是示意性地示出根据本发明一些实施例的计算网络端到端的接入能力的装置的结构示意图。如图10所示,该装置1000可以包括:获取单元1001、预处理单元1002、路由处理单元1003和能力处理单元1004。获取单元1001用于获得指定接入设备、路由边和目标设备的业务数据。预处理单元1002用于根据指定接入设备、路由边和目标设备的业务数据搜索获得从该指定接入设备到该目标设备的路由表。例如,指定接入设备的业务数据可以包括:该指定接入设备的身份标识、规格或端子数。又例如,路由边的业务数据可以包括:该路由边的身份标识、规格或端子数。又例如,目标设备的业务数据可以包括:该目标设备的身份标识、规格或端子数。路由处理单元1003用于根据路由表构建从指定接入设备到目标设备的拓扑图;根据该拓扑图从指定接入设备到目标设备进行路由遍历,并对该拓扑图中的各个节点设备的接入能力进行并行计算。该路由处理单元可以采用指定业务规则实现分布式快速剪枝路由寻找。能力处理单元1004用于根据计算获得的各个节点设备的接入能力获得指定接入设备到目标设备的接入能力。该能力处理单元可以采用业务减值规则计算具体业务的能力。该实施例可以减少现有技术中由于对接入网网络复杂关系的计算而带来的存储和计算开销,提高了计算速率。在一些实施例中,获取单元获得本地所有接入设备和所有接入设备到目标设备的所有路由边的业务数据。在一些实施例中,预处理单元根据本地所有接入设备、所有路由边和目标设备的业务数据获得本 地所有接入设备到该目标设备的路由表;以及根据指定接入设备、路由边和目标设备的业务数据,从本地所有接入设备到该目标设备的路由表中搜索获得从指定接入设备到目标设备的路由表。在一些实施例中,预处理单元利用数据提取技术将本地所有接入设备、所有路由边和目标设备的业务数据部署在spark集群的计算节点上以计算获得本地所有接入设备到所述目标设备的路由表。在一些实施例中,预处理单元采用etl技术从数据库中抽取资源数据信息作为文本文件,将该文本文件转换成utf-8格式,并上传至hdfs中;其中,资源数据信息可以包括:本地所有接入设备、所有路由边和所述目标设备的业务数据。可选地,预处理单元采用spark集群技术从hdfs中将文本文件加载为rdd数据结构,并将rdd数据结构转换成图形计算所需的[v,e,d]数据结构,以将资源数据信息部署在所述计算节点上。其中,在[v,e,d]数据结构中,v表示接入设备的业务数据,e表示路由边的业务数据,d表示目标设备的业务数据。在一些实施例中,预处理单元根据指定接入设备、路由边和目标设备的业务数据,通过spark集群按照各个节点设备的类型维度对从本地所有接入设备到目标设备的路由表进行路由查找,获得从指定接入设备到目标设备的路由表。在一些实施例中,路由处理单元在spark集群上根据路由表提取关键能力端,进行路由拓扑,获得拓扑图。其中,关键能力端为所述路由表上支撑快速扩容模式能力的设备。在一些实施例中,路由处理单元采用etl技术从数据库中抽取路由表的资源相应信息。其中,资源相应信息可以包括:指定接入设备、路由边和目标设备的业务数据。可选地,路由处理单元将该资源相应信息上传至hdfs中,采用sparksql技术进行预处理,将资源相应信息转成图形计算所需要的数据结构,以得到关键能力端。在一些实施例中,路由处理单元采用spark集群技术对各个节点设备的接入能力进行并行计算。例如,路由处理单元可以将各个节点 设备分配到spark集群的各个计算节点上,使得各个计算节点对各个节点设备的接入能力进行并行计算。在一些实施例中,路由处理单元计算各个节点设备类型的端子端口连通性,并根据各个节点设备的端子端口连通性来计算业务提供能力,根据业务提供能力去除不符合业务需求的路由表。可选地,路由处理单元按照剩余的路由表对剩余的各个节点设备进行拓扑路由,并对剩余的各个节点设备进行定向排序。可选地,路由处理单元对指定接入设备、路由边和目标设备进行路由遍历并计算各个节点设备的接入能力。在一些实施例中,能力处理单元采用最大业务占用方式对各个节点设备的接入能力进行叠加计算,获得指定接入设备到目标设备的接入能力。在一些实施例中,能力处理单元还用于根据接入网络的组网特征计算指定接入设备到目标设备的接入能力。在本发明的一些实施例中,网络节点可通过相邻联通的节点快速路由拓扑,通过分布式spark集群,在内存中寻找节点的下一个节点,并记录位置和接入能力,最小化网络通信和数据的开销。对网络节点能力的计算,先处理一个已缓存分区,可以直接将任务分配给拥有这个分区的节点,利用基于分布式内存计算调用执行,从而提高接入网全网的资源能力计算速度。在本发明的实施例中,在计算端到端的接入能力时,可以对接入节点到能力设备进行路由遍历,经过整个有向拓扑的业务容量减值计算。这里业务容量减值计算是通过预定的业务规则,对可占用最大数进行计算,从而得出接入节点的设备能力。本发明可以实现的以下应用:(1)端到端的接入能力展示;(2)根据链路所组成的逻辑关系统计业务上下级;(3)用户端到端链路的全流程展现;(4)通过设备上实际产品服务占用来统计实际用户占用。至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1