创建静态隧道的方法及装置与流程

文档序号:16198973发布日期:2018-12-08 06:25阅读:956来源:国知局
创建静态隧道的方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种创建静态隧道的方法及装置。

背景技术

相关技术中的分组传送网(packettransportnetwork,简称为ptn)网络的在创建静态隧道的时候,都使用端到端的创建静态隧道网络管理软件,因为一个静态隧道会经过多个网元,如果一个一个在单点基于设备进行配置,是非常耗时,而且对于相邻网元需要配置的出入标签、下一跳等信息很容易出错,因此在工程现场都是使用我司提供的端到端静态隧道配置功能进行配置。

相关技术中的ptn设备网络管理软件在创建静态隧道的时候,对于管理的网元设备,在创建隧道的时候,对于同一个网元,只支持同时只运行一次创建命令,下一次创建命令必须等上一次命令返回,因此在现有的架构下,就不能支持两个以上的客户端同时对经过相同的网元创建隧道。

针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。



技术实现要素:

本发明实施例提供了一种创建静态隧道的方法及装置,以至少解决相关技术中多个客户端创建静态隧道的效率低的技术问题。

根据本发明的一个实施例,提供了一种创建静态隧道的方法,包括:接收m个客户端下发的用于请求创建静态隧道的命令;根据m个所述命令生成m个用于创建静态隧道的线程,其中,所述m个线程与所述m个客户端一一对应;使用所述m个线程在所述m个客户端待建立静态隧道经过的网元上创建静态隧道;其中,m为大于1的整数。

可选地,接收m个客户端下发的用于请求创建静态隧道的命令包括:在预定时间内,接收m个客户端下发的用于请求创建静态隧道的命令。

可选地,使用所述m个线程在所述m个客户端待建立静态隧道经过的网元上创建静态隧道,包括:使用所述m个线程在所述m个客户端待建立静态隧道经过的网元上依次合并创建隧道命令;根据所述创建隧道命令在所述经过的网元上创建m个静态隧道。

可选地,使用所述m个线程在所述m个客户端待建立静态隧道经过的网元上依次合并创建隧道命令包括:向m个客户端的待建立静态隧道经过的网元发送用于指示合并所述创建隧道命令的消息;在m个静态隧道的创建过程中,当前网元在合并所有静态隧道的所述创建隧道命令后,将所述创建隧道命令传递至待建立静态隧道经过的下一个网元,直到最后一个网元。

可选地,所述当前网元在将所述创建隧道命令传递至待建立静态隧道经过的下一个网元之后,所述方法还包括:向所述线程发送在所述当前网元上隧道建立成功的反馈消息。

可选地,所述方法还包括:在接收到所有静态隧道经过的网元的所述反馈消息之后,向所述m个客户端发送用于指示静态隧道创建完成的消息。

根据本发明的另一个实施例,提供了一种创建静态隧道的装置,包括:接收模块,用于接收m个客户端下发的用于请求创建静态隧道的命令;创建模块,用于根据m个所述命令生成m个用于创建静态隧道的线程,其中,所述m个线程与所述m个客户端一一对应;建立模块,用于使用所述m个线程在所述m个客户端待建立静态隧道经过的网元上创建静态隧道;其中,m为大于1的整数。

可选地,所述建立模块包括:合并单元,用于使用所述m个线程在所述m个客户端待建立静态隧道经过的网元上依次合并创建隧道命令;创建单元,用于根据所述创建隧道命令在所述经过的网元上创建m个静态隧道。

可选地,所述合并单元还用于:向m个客户端的待建立静态隧道经过的网元发送用于指示合并所述创建隧道命令的消息;在m个静态隧道的创建过程中,当前网元在合并所有静态隧道的所述创建隧道命令后,将所述创建隧道命令传递至待建立静态隧道经过的下一个网元,直到最后一个网元。

根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:

接收m个客户端下发的用于请求创建静态隧道的命令;

根据m个所述命令生成m个用于创建静态隧道的线程,其中,所述m个线程与所述m个客户端一一对应;

使用所述m个线程在所述m个客户端待建立静态隧道经过的网元上创建静态隧道;其中,m为大于1的整数。

通过本发明,接收m个客户端下发的用于请求创建静态隧道的命令;根据m个所述命令生成m个用于创建静态隧道的线程,其中,所述m个线程与所述m个客户端一一对应;使用所述m个线程在所述m个客户端待建立静态隧道经过的网元上创建静态隧道;其中,m为大于1的整数,通过对并发创建多个客户端的静态隧道,解决了相关技术中多个客户端创建静态隧道的效率低的技术问题,缩短了业务开通的时间。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的网络构架图;

图2是本发明实施例中客户端a请求创建的静态隧道;

图3是本发明实施例中客户端b请求创建的静态隧道;

图4是本发明实施例中客户端c请求创建的静态隧道;

图5是本发明实施例中客户端d请求创建的静态隧道;

图6是根据本发明实施例的创建静态隧道的方法的流程图;

图7是根据本发明实施例的创建静态隧道的装置的结构框图;

图8是本发明实施例的并发创建静态隧道的流程图;

图9是本发明实施例的并发创建静态隧道的示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

本申请实施例可以运行于图1所示的网络架构上,图1是本发明实施例的网络构架图,如图1所示,该网络架构包括:多个网元(networkelement,简称为ne)、服务器(未示出)、客户端(未示出),其中,对于图1的组网构架,所有网元被一个网络管理软件的服务器管理,但是一个服务器可以接入多个客户端,图2是本发明实施例中客户端a请求创建的静态隧道,图3是本发明实施例中客户端b请求创建的静态隧道,图4是本发明实施例中客户端c请求创建的静态隧道,图5是本发明实施例中客户端d请求创建的静态隧道,那么如果“客户端a”想创建经过图2所示的静态隧道,“客户端b”想创建经过图3所示的静态隧道,“客户端c”想创建经过图4所示的静态隧道,“客户端d”想创建经过图5所示的静态隧道。假如这几个客户端都在同一个时刻也就是并发下发创建静态隧道的命令到服务器,那么基于本发明相关技术中的网管服务器架构,在创建静态隧道管理的地方,是基于网元进行加锁的,也就是上面四个客户端的创建命令,谁先到就先执行谁,是一个基于网元加锁对业务进行排队的机制,由于4个客户端创建的静态隧道都经过相同的网元“ne1”,那么使用以前创建静态隧道的网络管理软件就必须因为加锁而排队,只能依次执行,不能同时把对“ne1”网元的4个创建隧道的命令下发到设备,从而完成并发操作。

在本实施例中提供了一种运行于上述服务器的创建静态隧道的方法,图6是根据本发明实施例的创建静态隧道的方法的流程图,如图6所示,该流程包括如下步骤:

步骤s602,接收m个客户端下发的用于请求创建静态隧道的命令;

步骤s604,根据m个命令生成m个用于创建静态隧道的线程,其中,m个线程与m个客户端一一对应;

步骤s606,使用m个线程在m个客户端待建立静态隧道经过的网元上创建静态隧道。其中,m为大于1的整数。

通过上述步骤,接收m个客户端下发的用于请求创建静态隧道的命令;根据m个所述命令生成m个用于创建静态隧道的线程,其中,所述m个线程与所述m个客户端一一对应;使用所述m个线程在所述m个客户端待建立静态隧道经过的网元上创建静态隧道;其中,m为大于1的整数,通过对并发创建多个客户端的静态隧道,解决了相关技术中多个客户端创建静态隧道的效率低的技术问题,缩短了业务开通的时间。

可选地,上述步骤的执行主体可以为服务器,或服务器的管理控制设备等,但不限于此。

可选的,接收m个客户端下发的用于请求创建静态隧道的命令包括:在预定时间内,接收m个客户端下发的用于请求创建静态隧道的命令。

可选的,使用m个线程在m个客户端待建立静态隧道经过的网元上创建静态隧道,包括:

s11,使用m个线程在m个客户端待建立静态隧道经过的网元上依次合并创建隧道命令;创建隧道命令用于在各个网元上配置静态隧道。

s12,根据创建隧道命令在经过的网元上创建m个静态隧道。

在根据本实施例的可选实施方式中,使用m个线程在m个客户端待建立静态隧道经过的网元上依次合并创建隧道命令包括:

s21,向m个客户端的待建立静态隧道经过的网元发送用于指示合并创建隧道命令的消息;

s22,在m个静态隧道的创建过程中,当前网元在合并所有静态隧道的创建隧道命令后,将创建隧道命令传递至待建立静态隧道经过的下一个网元,直到最后一个网元。

可选的,当前网元在将创建隧道命令传递至待建立静态隧道经过的下一个网元之后,方法还包括:向线程发送在当前网元上隧道建立成功的反馈消息。

可选的,在本实施例中,在接收到所有静态隧道经过的网元的反馈消息之后,向m个客户端发送用于指示静态隧道创建完成的消息。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在本实施例中还提供了一种创建静态隧道的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图7是根据本发明实施例的创建静态隧道的装置的结构框图,如图7所示,该装置包括:

接收模块70,用于接收m个客户端下发的用于请求创建静态隧道的命令;

创建模块72,用于根据m个命令生成m个用于创建静态隧道的线程,其中,m个线程与m个客户端一一对应;

建立模块74,用于使用m个线程在m个客户端待建立静态隧道经过的网元上创建静态隧道;其中,m为大于7的整数。

可选的,建立模块包括:合并单元,用于使用m个线程在m个客户端待建立静态隧道经过的网元上依次合并创建隧道命令;创建单元,用于根据创建隧道命令在经过的网元上创建m个静态隧道。

可选的,合并单元还用于:向m个客户端的待建立静态隧道经过的网元发送用于指示合并创建隧道命令的消息;在m个静态隧道的创建过程中,当前网元在合并所有静态隧道的创建隧道命令后,将创建隧道命令传递至待建立静态隧道经过的下一个网元,直到最后一个网元。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例3

本实施例以网管为例实现了一种并发创建静态隧道方法,以例如4(m为4)个客户端为例,完成对经过相同网元的创建命令一次性下发到例如“ne1”的网元,从而提升了并发创建隧道的效率。

多个客户端并发创建经过相同网元的静态隧道,例如图1中的网元“ne1”。客户端下发创建静态隧道的命令到网络管理软件的创建静态隧道模块,创建静态隧道模块会启动4个线程进行并发的操作,由于经过相同的网元,相同的网元在同一时刻只能响应一个调用命令,因为存在对例如隧道id等竞争资源的分配,不能支持并发操作。因此如果能够在端到端创建静态隧道的模块把多个客户端创建静态隧道的经过相同网元的命令提取出来,然后一次性的下发给设备,则可以解决相关技术中不能并发处理的问题。

采用上面的四个客户端并发创建来说明实现方案,图8是本发明实施例的并发创建静态隧道的流程图,图9是本发明实施例的并发创建静态隧道的示意图,包括:

客户端a、b、c、d同时下发创建静态隧道的命令,服务器端到端收到创建静态隧道的命令后,启动4个创建静态隧道的线程来完成任务,线程的名字为线程a、b、c、d。仅以线程a为例进行说明(其他线程类似):

在网络管理软件的内部提供一个基于单网元设备命令的合并模块,此模块是消息驱动的,可以对不同端到端静态隧道经过相同的单网元进行命令的合并,命名为“网元合并下发单元”。此模块是基于网元为粒度,也就说有多少个网元需要下发,就会创建多少个“网元合并下发单元”的对象,“网元合并下发单元”会记录端到端静态隧道和单点设备隧道创建命令的对应关系。

线程a收到命令后,不去申请对网元进行加锁,而是分析静态隧道经过的网元,发现次静态隧道经过“ne1”、“ne3”、“ne5”、“ne11”4个网元,则此线程给“ne1网元合并下发单元”、“ne3网元合并下发单元”、“ne5网元合并下发单元”、“ne11网元合并下发单元”各发一个消息,发完消息后线程a记录发出了4个创建隧道命令的消息,同时端到端创建静态隧道的线程进入等待模式,等待4个单网元的创建隧道的消息返回后,再进行。

“ne1网元合并下发单元”收到“线程a”的创建隧道的消息,发现是第一个收到的消息,把创建的命令保存到自己的内存中,同时给自己发一个延迟1秒的定时消息,这个1秒的消息会在延迟1秒后再次抵达“ne1网元合并下发单元”。“ne1网元合并下发单元”发了延迟消息后,不马上把内存中的创建隧道命令下发到设备。只是标记自己现在在延迟等待状态,对于后续收到的创建隧道的命令都放到自己内存中。“ne3”、“ne5”、“ne11”的“网元合并下发单元的处理“类似。

由于线程b、c、d和线程a几乎是并发的,因此线程b也给“ne1网元合并下发单元”发送创建隧道的命令,此时由于“ne1网元合并下发单元”在延迟发送状态,它把收到的命令保存在自己的内存中。

“ne1网元合并下发单元”在1秒后收到自己给自己发送的延迟发送消息,假设线程a、b、c、d对网元“ne1”的创建隧道的命令都已经保存在“ne1网元合并下发单元”的内存中,此时“ne1网元合并下发单元”从内存中取出这些命令,一次性下发给设备,设备在创建静态隧道成功返回后,“ne1网元合并下发单元”把创建隧道成功的结果通过消息发送给“线程a、b、c、d”的接收消息模块。

线程a、b、c、d在所有“网元合并下发单元”都返回消息后,唤醒等待的创建静态隧道的线程,把创建的结果返回给客户端,完成整个隧道的创建的处理过程。使用此方法对完成静态隧道的创建动作,减少了端到端创建静态隧道因为加锁而产生的等待时间,也减少了和设备的交互次数,把需要和设备的多次交互进行了降低,提升了创建隧道的效率,因为和设备交互一次是比较耗时的。

在本实施例中,客户端并发发起创建静态隧道的,创建的静态隧道有经过相同的网元,假设并发的请求都在1秒以内,“网元合并下发单元”的延迟时间可以根据实际情况进行调整。

服务器接收到创建隧道请求后,在并发允许的范围内启动线程进行静态隧道的创建。

各个线程对隧道经过的网元进行分析,把网元的命令下发到“网元合并下发单元”,然后线程在等待各个网元对应的“网元合并下发单元”返回消息。

“网元合并下发单元”在收到消息后,给自己发送“延迟发送命令到设备”的消息,然后把收到的消息缓存在队列中。

“网元合并下发单元”在收到自己发送的“延迟发送命令到设备”的消息后,检查消息队列中创建隧道的命令,全部取出,一次性通过异步命令发送到设备,然后等待设备返回。在下发的过程中,由于是异步,可以继续收创建隧道的消息缓存在队列中。在设备返回后,“网元合并下发单元”根据收到的消息给各个创建线程回送创建结果。“网元合并下发单元”删除队列中已经返回给创建线程的消息。如果发现消息队列中有消息,则再次发送给设备,如果发现没有消息,则再次给自己发送“延迟发送命令到设备”的消息,进行下一轮操作。

各个创建静态隧道的线程在收到所有隧道经过的“网元合并下发单元”的消息后,把结果进行组装,完成自己的工作,然后返回创建结果给客户端,完成静态隧道的创建工作。

以上的实现是以ptn光网络的静态隧道的并发创建为例说明了一种并发创建静态隧道的方法,但本发明的保护范围并不局限于此应用,任何熟悉本技术的技术人员在本发明揭露的技术范围内,可轻易想到的变化或者替换,都应该涵盖在本发明的保护范围之内。

本实施例提供了一种在现有网络管理软件并发创建静态隧道的方法,提高了多个客户端并发创建经过相同网元隧道的效率,缩短了业务开通的时间。

本实施例对创建经过相同网元的静态隧道,不对相同的网元进行加锁机制,降低了排队等待时间,本实施例对创建静态隧道经过相同的网元时候,在并发的时候对经过相同网元的创建隧道的命令进行合并,一次性下发给设备,减少了端到端创建静态隧道模块和设备命令的交互次数,如果1秒内创建200条经过相同网元的静态隧道,只需要1次交互命令,相比之前的200次交互,大大降低了交互次数,缩短了时间,提高了效率。

实施例4

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

s1,接收m个客户端下发的用于请求创建静态隧道的命令;

s2,根据m个所述命令生成m个用于创建静态隧道的线程,其中,所述m个线程与所述m个客户端一一对应;

s3,使用所述m个线程在所述m个客户端待建立静态隧道经过的网元上创建静态隧道。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行接收m个客户端下发的用于请求创建静态隧道的命令;

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行根据m个所述命令生成m个用于创建静态隧道的线程,其中,所述m个线程与所述m个客户端一一对应;

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行使用所述m个线程在所述m个客户端待建立静态隧道经过的网元上创建静态隧道。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1