基于模拟端口的通信方法

文档序号:7611529阅读:190来源:国知局

专利名称::基于模拟端口的通信方法
技术领域
:本发明涉及通信领域,尤其涉及一种基于模拟端口的通信方法。
背景技术
:通常,在网管A开发测试过程中,需要使用大量网元B与网管系统进行联调和测试。然而,网管与网元的开发往往同时开始进行,由于开发进度的不一致,会造成没有网元进行联调测试,或者网元不够用,这时网管A需要做一个简易的系统BSimulator(即模拟端口),代替真实网元B进行通信。下面举例说明什么为模拟端口,如图1所示,设备A通过接口C与设备B进行TCP通信。假如设备BSimulator与设备B有着同样的接口C,BSimulator在C接口上模拟B的动作,对于设备A来说,BSimulator和B本身没有区别。那么设备BSimulator称为设备B的模拟端口。现有技术中利用模拟端口进行通信的方法为针对每个具体接口编写大量与命令有关的相应代码,以定义其响应消息。如switch(命令码关键字){case命令1响应内容1;case命令2响应内容2;case命令3响应内容3;……}从上述可以看出,现有技术中要实现模拟端口对所有命令的支持,需要通过对每个具体端口编写与命令有关的对应代码,以定义其响应消息,如果该接口没有编写对应的代码,则该接口无法正确模拟;而且如果新增端口,就必须修改所述源代码,因此模拟端口的可扩展性差,而且模拟端口的维护也比较困难。
发明内容本发明的目的是提供一种基于模拟端口的通信方法,该方法在实现模拟端口对所有命令的支持的前提下,在新增端口时,用户不需修改所述与具体命令有关的源代码,具有良好的扩展性。本发明的目的是通过以下技术方案实现的本发明提供的一种基于模拟端口的通信方法,包括A、根据端口的操作类型确定实施模拟端口操作的命令规则;B、根据所述命令规则向模拟端口实施相应的命令操作;C、模拟端口根据相应的命令操作模拟通信端口进行通信。其中,所述命令规则包括设置类命令规则、添加类命令规则、删除类命令规则和/或查询类命令规则。其中,所述步骤B进一步包括根据设置类命令规则向模拟端口实施设置数据命令操作;和/或根据添加类命令规则向模拟端口实施添加数据命令操作;和/或根据删除类命令规则向模拟端口实施删除数据命令操作;和/或根据查询类命令规则向模拟端口实施查询数据命令操作。其中,所述步骤C进一步包括模拟端口根据设置类命令操作模拟通信端口设置数据;和/或模拟端口根据添加类命令操作模拟通信端口添加数据;和/或模拟端口根据删除类命令操作模拟通信端口删除数据;和/或模拟端口根据查询类命令操作模拟通信端口查询数据。其中,所述模拟端口根据设置类命令规则模拟通信端口设置数据的过程进一步包括获取对应的设置类命令规则;根据设置类命令规则拆分接收到数据的二进制流;删除数据库中的原始记录;将拆分出的数据保存到数据库中。其中,所述模拟端口根据添加类命令规则模拟通信端口添加数据的过程进一步包括获取对应的添加类命令规则;根据添加类命令规则拆分接收到数据的二进制流;将拆分出的数据添加到数据库中。其中,所述模拟端口根据删除类命令规则模拟通信端口删除数据的过程进一步包括获取对应的删除类命令规则;根据删除类命令规则拆分接收到数据的二进制流;根据删除类命令规则及拆分出的数据查找对应的数据记录;删除对应的数据记录。其中,所述模拟端口根据查询类命令操作模拟通信端口查询数据的过程进一步包括获取对应的查询类命令规则;根据查询类命令规则拆分接收到数据的二进制流;根据查询类命令规则及拆分出的数据查找对应的记录数据;根据查询类命令规则将查找到的记录数据构成响应消息进行响应。其中,所述根据查询类命令规则及拆分出的数据查找对应的记录数据的过程进一步包括根据查询类命令规则及拆分的数据查找对应的设置类命令;根据对应的设置类命令及拆分的数据查找对应的记录数据。其中,所述端口的操作类型包括向端口设置数据的设置类操作类型、向端口添加数据的添加类操作类型、向端口删除数据的删除类操作类型和向端口查询数据的查询类操作类型。由上述本发明提供的技术方案可以看出,本发明所述的方法具有如下优点由于采用根据命令规则向模拟端口实施相应的命令操作以及模拟端口根据相应的命令操作模拟通信端口进行通信,所以能够在完成模拟端口对所有命令的支持的前提下,避免编写大量与具体命令有关的源代码,从而实现代码与具体命令无关;用户可以通过命令操作修改模拟端口的配置信息,实现对新增接口的支持,而无需修改所述源代码。图1为现有技术中模拟端口的示意图;图2为本发明的流程图;图3为本发明中设置数据时的处理过程;图4为本发明中添加数据时的处理过程;图5为本发明中查询数据时的处理过程;图6为本发明中删除数据时的处理过程。具体实施例方式本发明的具体实施方式参考图2,其包括,首先执行步骤S210,根据端口的操作类型确定实施模拟端口操作的命令规则。一个端口上的操作,都可以简单地分成四大类,即设置类、查询类、删除类和添加类。通常不管端口是什么样一个接口,也不管该接口上定义了多少操作(命令字),接口上的操作都可以归属到这四类操作中。通常来说,这四种操作的基本过程包括设备A向设备B设置数据,设备B响应成功与否;设备A向设备B添加数据,设备B响应成功与否;设备A向设备B删除数据,设备B响应成功与否;以及设备A向设备B查询数据,设备B响应数据。对应端口的四种操作类型,命令规则也分成四种设置类命令规则、添加类命令规则、删除类命令规则、查询类命令规格。所述设置类命令规则用于定义实施设置操作的命令接口如何进行保存数据;所述添加类命令规则用于定义实施添加操作的命令接口如何进行保存数据;所述删除类命令规则用于定义实施删除操作的命令接口如何进行删除数据;所述查询类命令规则用于定义实施查询操作的命令接口如何进行查询数据,并依据查询到的数据构造响应消息。接着执行步骤S220,根据所述命令规则向模拟端口实施相应的命令操作。对应于命令规则的四种类型,步骤S220相应的包括根据设置类命令规则向模拟端口实施设置数据命令操作;根据添加类命令规则向模拟端口实施添加数据命令操作;根据删除类命令规则向模拟端口实施删除数据命令操作;以及根据查询类命令规则向模拟端口实施查询数据命令操作。接着执行步骤S230,模拟端口根据相应的命令操作模拟通信端口进行通信。当模拟端口接收到设置类命令操作时,其根据设置类命令操作模拟通信端口设置数据。设置类命令规则指出了命令的参数格式,模拟端口(BSimulator)利用这些信息实现对数据的拆分和保存。该步骤具体操作如图3所示首先执行步骤S231,模拟端口获取对应的设置类命令规则;接着执行步骤S232,模拟端口根据设置类命令规则拆分接收到数据的二进制流;然后执行步骤S233,删除数据库中的原始记录;最后执行步骤S234,将拆分出的数据保存到数据库中。以“设置应发J0字节”命令为例,当模拟端口(BSimulator)接收到如表1所述的约21字节的二进制流时,模拟端口(BSimulator)根据该命令的设置类命令规则,得知各字节的含义,如表2所示,即版位号para;光口号para[1];字节模式para[2];应发J0值para[3-18]。表1表2模拟端口(BSimulator)把各字节拆分归类成有实际含义的参数值,如表3所示表3模拟端口(BSimulator)再把这些参数值保存到NSCMD_CFG_SET_STJ0表中,如表4所示表4当模拟端口接收到添加类命令操作时,其根据添加类命令操作模拟通信端口添加数据;具体操作如图4所示首先执行步骤S241,模拟端口获取对应的添加类命令规则;随后执行步骤S242,根据添加类命令规则拆分接收到数据的二进制流;最后执行步骤S243,将拆分出的数据添加到数据库中。由上述步骤可以看出,模拟端口根据添加类命令操作模拟通信端口添加数据的过程与根据设置类命令操作模拟通信端口设置数据的过程相似。不同的是,添加数据时,不删除原先的数据,而设置数据时先删除原先的数据,再把新数据添加进去。当模拟端口接收到查询类命令操作时,模拟端口根据查询类命令操作模拟通信端口查询数据。具体操作如图5所示首先执行步骤S261,获取对应的查询类命令规则;接着执行步骤S262,根据查询类命令规则拆分接收到数据的二进制流;随后执行步骤S263,根据查询类命令规则及拆分出的数据查找对应的记录数据;即首先根据查询类命令规则及拆分的数据查找对应的设置类命令,然后,根据对应的设置类命令及拆分的数据查找对应的记录数据;最后执行步骤S266,根据查询类命令规则将查找到的记录数据进行响应。同样以“查询应发J0字节”命令为例,查询类命令规则指出每个字节代表的含义,如表5所示表5查询类命令规则除了指出每个字节的含义,还指出与设置类命令规则的对应关系,如表6所示,包括查询命令与设置命令的对应关系和查询命令各参数与设置命令各参数的对应的关系。根据所述对应关系调用所述设置命令为NSCMD_CFG_SET_STJ0时对应的数据参数,即可查询得到相应的数据参数,然后根据查询道德数据构造响应消息。表6根据查询类命令规则,模拟端口(BSimulator)收到“查询应发J0字节”约4字节的二进制流时,进行的处理过程如下首先,将查询应发J0字节的二进制流拆分成有意义的参数,如表7所示<tablesid="table5"num="005"><tablewidth="139">1211命令码板位号光口号</table></tables>表7其次,根据查询类命令规则,到对应设置命令NSCMD_CFG_SET_STJ0表中所示,查找所述“板位号”、“光口号”为1的记录,如表8中红线所圈的数据。表8然后将查询到的数据,按照查询类命令规则的响应部分,构造成响应消息,如表9所示,进行响应。<tablesid="table6"num="006"><tablewidth="712">12011120333233340000000000命令码失败标识板位号光口号模式应发J0值</table></tables>表9由上述可以看出,模拟端口根据查询类命令操作模拟通信端口查询数据的过程与根据设置类命令操作模拟通信端口设置数据的过程的不同之处在于本过程的查询类命令规则除了要向设置类命令规则一样指出每个字节的含义外,还要指出这些数据的来源。由于本发明实施设置操作时保存数据解决数据的来源问题,因此,模拟端口根据查询类命令操作模拟通信端口查询数据的过程要指出数据对应的设置命令,以及各参数的对应关系。当模拟端口接收到删除类命令操作时,其根据删除类命令操作模拟通信端口删除数据;具体操作如图6所示首先执行步骤S251,模拟端口获取对应的删除类命令规则;其次执行步骤S252,根据删除类命令规则拆分接收到数据的二进制流;接着执行步骤S253,根据删除类命令规则及拆分出的数据查找对应的数据记录;最后执行步骤S254,删除对应的数据记录。由上述操作过程可以看出,所述删除类命令规则与查询类命令规则相似。不同的是,当向模拟端口实施删除命令时,模拟端口查询到对应的记录后直接删除该记录即可,而当向模拟端口实施查询命令时,模拟端口查询到相应的记录后,还要把记录中的数据构造成响应消息。由上述本发明提供的技术方案可以看出,本发明所述的方法具有如下优点由于采用根据命令规则向模拟端口实施相应的命令操作以及模拟端口根据相应的命令操作模拟通信端口进行通信,所以能够在完成模拟端口对所有命令的支持的前提下,避免编写大量与具体命令有关的源代码,从而实现代码与具体命令无关;用户可以通过命令操作修改模拟端口的配置信息,实现对新增接口的支持,而无需修改所述源代码。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。权利要求1.一种基于模拟端口的通信方法,其特征在于,包括如下步骤A、根据端口的操作类型确定实施模拟端口操作的命令规则;B、根据所述命令规则向模拟端口实施相应的命令操作;C、模拟端口根据相应的命令操作模拟通信端口进行通信。2.按照权利要求1所述的方法,其特征在于,所述命令规则包括设置类命令规则、添加类命令规则、删除类命令规则和/或查询类命令规则。3.按照权利要求2所述的方法,其特征在于,所述步骤B进一步包括根据设置类命令规则向模拟端口实施设置数据命令操作;和/或根据添加类命令规则向模拟端口实施添加数据命令操作;和/或根据删除类命令规则向模拟端口实施删除数据命令操作;和/或根据查询类命令规则向模拟端口实施查询数据命令操作。4.按照权利要求3所述的方法,其特征在于,所述步骤C进一步包括模拟端口根据设置类命令操作模拟通信端口设置数据;和/或模拟端口根据添加类命令操作模拟通信端口添加数据;和/或模拟端口根据删除类命令操作模拟通信端口删除数据;和/或模拟端口根据查询类命令操作模拟通信端口查询数据。5.按照权利要求4所述的方法,其特征在于,所述模拟端口根据设置类命令规则模拟通信端口设置数据的过程进一步包括获取对应的设置类命令规则;根据设置类命令规则拆分接收到数据的二进制流;删除数据库中的原始记录;将拆分出的数据保存到数据库中。6.按照权利要求4所述的方法,其特征在于,所述模拟端口根据添加类命令规则模拟通信端口添加数据的过程进一步包括获取对应的添加类命令规则;根据添加类命令规则拆分接收到数据的二进制流;将拆分出的数据添加到数据库中。7.按照权利要求4所述的方法,其特征在于,所述模拟端口根据删除类命令规则模拟通信端口删除数据的过程进一步包括获取对应的删除类命令规则;根据删除类命令规则拆分接收到数据的二进制流;根据删除类命令规则及拆分出的数据查找对应的数据记录;删除对应的数据记录。8.按照权利要求4所述的方法,其特征在于,所述模拟端口根据查询类命令操作模拟通信端口查询数据的过程进一步包括获取对应的查询类命令规则;根据查询类命令规则拆分接收到数据的二进制流;根据查询类命令规则及拆分出的数据查找对应的记录数据;根据查询类命令规则将查找到的记录数据构成响应消息进行响应。9.按照权利要求8所述的方法,其特征在于,所述根据查询类命令规则及拆分出的数据查找对应的记录数据的过程进一步包括根据查询类命令规则及拆分的数据查找对应的设置类命令;根据对应的设置类命令及拆分的数据查找对应的记录数据。10.按照权利要求1、5、6、7、9任意一项所述的方法,其特征在于,所述端口的操作类型包括向端口设置数据的设置类操作类型、向端口添加数据的添加类操作类型、向端口删除数据的删除类操作类型和向端口查询数据的查询类操作类型。全文摘要本发明涉及一种基于模拟端口的通信方法,本方法的核心是采用根据端口的操作类型确定实施模拟端口操作的命令规则,然后根据所述命令规则向模拟端口实施相应的命令操作,以及模拟端口根据相应的命令操作模拟通信端口进行通信;所以能够在完成模拟端口对所有命令的支持的前提下,避免编写大量与具体命令有关的源代码,从而实现代码与具体命令无关;而且用户可以通过命令操作修改模拟端口的配置信息,实现对新增接口的支持,而无需修改所述源代码。文档编号H04L12/26GK1812351SQ20051000491公开日2006年8月2日申请日期2005年1月28日优先权日2005年1月28日发明者卢华兵申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1