CN100461716C - 基于模拟端口的通信方法 - Google Patents
基于模拟端口的通信方法 Download PDFInfo
- Publication number
- CN100461716C CN100461716C CNB2005100049146A CN200510004914A CN100461716C CN 100461716 C CN100461716 C CN 100461716C CN B2005100049146 A CNB2005100049146 A CN B2005100049146A CN 200510004914 A CN200510004914 A CN 200510004914A CN 100461716 C CN100461716 C CN 100461716C
- Authority
- CN
- China
- Prior art keywords
- data
- port
- order rule
- class
- analog
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种基于模拟端口的通信方法,本方法的核心是采用根据端口的操作类型确定实施模拟端口操作的命令规则,然后根据所述命令规则向模拟端口实施相应的命令操作,以及模拟端口根据相应的命令操作模拟通信端口进行通信;所以能够在完成模拟端口对所有命令的支持的前提下,避免编写大量与具体命令有关的源代码,从而实现代码与具体命令无关;而且用户可以通过命令操作修改模拟端口的配置信息,实现对新增接口的支持,而无需修改所述源代码。
Description
技术领域
本发明涉及通信领域,尤其涉及一种基于模拟端口的通信方法。
背景技术
通常,在网管A开发测试过程中,需要使用大量网元B与网管系统进行联调和测试。然而,网管与网元的开发往往同时开始进行,由于开发进度的不一致,会造成没有网元进行联调测试,或者网元不够用,这时网管A需要做一个简易的系统B Simulator(即模拟端口),代替真实网元B进行通信。
下面举例说明什么为模拟端口,如图1所示,设备A通过接口C与设备B进行TCP通信。假如设备B Simulator与设备B有着同样的接口C,BSimulator在C接口上模拟B的动作,对于设备A来说,B Simulator和B本身没有区别。那么设备B Simulator称为设备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,将拆分出的数据保存到数据库中。
以“设置应发JO字节”命令为例,当模拟端口(B Simulator)接收到如表1所述的约21字节的二进制流时,模拟端口(B Simulator)根据该命令的设置类命令规则,得知各字节的含义,如表2所示,即版位号:para[O];光口号:para[1];字节模式:para[2];应发JO值:para[3-18]。
1 | 1 | 1 | 1 | 1 | 20 | 33 | 32 | 33 | 34 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
表1
表2
模拟端口(B Simulator)把各字节拆分归类成有实际含义的参数值,如表3所示:
11 | 1 | 1 | 1 | 20 33 32 33 34 0 0 0 0 0 0 0 0 0 0 |
命令码 | 板位号 | 光口号 | 模式 | 应发JO值 |
表3
模拟端口(B Simulator)再把这些参数值保存到NSCMD_CFG_SET_STJO表中,如表4所示:
表4
当模拟端口接收到添加类命令操作时,其根据添加类命令操作模拟通信端口添加数据;具体操作如图4所示:首先执行步骤S241,模拟端口获取对应的添加类命令规则;随后执行步骤S242,根据添加类命令规则拆分接收到数据的二进制流;最后执行步骤S243,将拆分出的数据添加到数据库中。
由上述步骤可以看出,模拟端口根据添加类命令操作模拟通信端口添加数据的过程与根据设置类命令操作模拟通信端口设置数据的过程相似。不同的是,添加数据时,不删除原先的数据,而设置数据时先删除原先的数据,再把新数据添加进去。
当模拟端口接收到查询类命令操作时,模拟端口根据查询类命令操作模拟通信端口查询数据。具体操作如图5所示:首先执行步骤S261,获取对应的查询类命令规则;接着执行步骤S262,根据查询类命令规则拆分接收到数据的二进制流;随后执行步骤S263,根据查询类命令规则及拆分出的数据查找对应的记录数据;即首先根据查询类命令规则及拆分的数据查找对应的设置类命令,然后,根据对应的设置类命令及拆分的数据查找对应的记录数据;最后执行步骤S266,根据查询类命令规则将查找到的记录数据进行响应。
同样以“查询应发JO字节”命令为例,查询类命令规则指出每个字节代表的含义,如表5所示:
表5
查询类命令规则除了指出每个字节的含义,还指出与设置类命令规则的对应关系,如表6所示,包括查询命令与设置命令的对应关系和查询命令各参数与设置命令各参数的对应的关系。根据所述对应关系调用所述设置命令为NSCMD_CFG_SET_STJO时对应的数据参数,即可查询得到相应的数据参数,然后根据查询道德数据构造响应消息。
表6
根据查询类命令规则,模拟端口(B Simulator)收到“查询应发JO字节”约4字节的二进制流时,进行的处理过程如下:
首先,将查询应发JO字节的二进制流拆分成有意义的参数,如表7所示:
12 | 1 | 1 |
命令码 | 板位号 | 光口号 |
表7
其次,根据查询类命令规则,到对应设置命令NSCMD_CFG_SET_STJO表中所示,查找所述“板位号”、“光口号”为1的记录,如表8中红线所圈的数据。
表8
然后将查询到的数据,按照查询类命令规则的响应部分,构造成响应消息,如表9所示,进行响应。
12 | 0 | 1 | 1 | 1 | 20 33 32 33 34 0 0 0 0 0 0 0 0 0 0 |
命令码 | 失败标识 | 板位号 | 光口号 | 模式 | 应发JO值 |
表9
由上述可以看出,模拟端口根据查询类命令操作模拟通信端口查询数据的过程与根据设置类命令操作模拟通信端口设置数据的过程的不同之处在于:本过程的查询类命令规则除了要向设置类命令规则一样指出每个字节的含义外,还要指出这些数据的来源。由于本发明实施设置操作时保存数据解决数据的来源问题,因此,模拟端口根据查询类命令操作模拟通信端口查询数据的过程要指出数据对应的设置命令,以及各参数的对应关系。
当模拟端口接收到删除类命令操作时,其根据删除类命令操作模拟通信端口删除数据;具体操作如图6所示:首先执行步骤S251,模拟端口获取对应的删除类命令规则;其次执行步骤S252,根据删除类命令规则拆分接收到数据的二进制流;接着执行步骤S253,根据删除类命令规则及拆分出的数据查找对应的数据记录;最后执行步骤S254,删除对应的数据记录。
由上述操作过程可以看出,所述删除类命令规则与查询类命令规则相似。不同的是,当向模拟端口实施删除命令时,模拟端口查询到对应的记录后直接删除该记录即可,而当向模拟端口实施查询命令时,模拟端口查询到相应的记录后,还要把记录中的数据构造成响应消息。
由上述本发明提供的技术方案可以看出,本发明所述的方法具有如下优点:
由于采用根据命令规则向模拟端口实施相应的命令操作以及模拟端口根据相应的命令操作模拟通信端口进行通信,所以能够在完成模拟端口对所有命令的支持的前提下,避免编写大量与具体命令有关的源代码,从而实现代码与具体命令无关;
用户可以通过命令操作修改模拟端口的配置信息,实现对新增接口的支持,而无需修改所述源代码。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
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任意一项所述的方法,其特征在于,所述端口的操作类型包括:向端口设置数据的设置类操作类型、向端口添加数据的添加类操作类型、向端口删除数据的删除类操作类型和向端口查询数据的查询类操作类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100049146A CN100461716C (zh) | 2005-01-28 | 2005-01-28 | 基于模拟端口的通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100049146A CN100461716C (zh) | 2005-01-28 | 2005-01-28 | 基于模拟端口的通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1812351A CN1812351A (zh) | 2006-08-02 |
CN100461716C true CN100461716C (zh) | 2009-02-11 |
Family
ID=36845056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100049146A Expired - Fee Related CN100461716C (zh) | 2005-01-28 | 2005-01-28 | 基于模拟端口的通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100461716C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111401929B (zh) * | 2020-04-02 | 2023-04-07 | 浙江大华技术股份有限公司 | 设备防窜货方法、系统、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1048938A (zh) * | 1989-06-09 | 1991-01-30 | 国际商业机器公司 | 计算系统的命令传递 |
JP2001515635A (ja) * | 1998-01-16 | 2001-09-18 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 異なった幅のvliwプロセッサコマンド |
EP1434174A1 (en) * | 2001-09-26 | 2004-06-30 | Pioneer Corporation | Image creation apparatus and method, and computer program |
CN1571386A (zh) * | 2004-04-28 | 2005-01-26 | 清华大学 | 网络化协同设计中模型同步浏览操作方法 |
-
2005
- 2005-01-28 CN CNB2005100049146A patent/CN100461716C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1048938A (zh) * | 1989-06-09 | 1991-01-30 | 国际商业机器公司 | 计算系统的命令传递 |
JP2001515635A (ja) * | 1998-01-16 | 2001-09-18 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 異なった幅のvliwプロセッサコマンド |
EP1434174A1 (en) * | 2001-09-26 | 2004-06-30 | Pioneer Corporation | Image creation apparatus and method, and computer program |
CN1571386A (zh) * | 2004-04-28 | 2005-01-26 | 清华大学 | 网络化协同设计中模型同步浏览操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1812351A (zh) | 2006-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101594355B (zh) | 一种实现软件跨版本交互的方法及装置 | |
CN109299183A (zh) | 一种数据处理方法、装置、终端设备和存储介质 | |
CN100381964C (zh) | 一种用户权限管理方法 | |
CN102081537B (zh) | 一种软件升级方法 | |
CN106933837A (zh) | 一种数据库表模型及创建方法 | |
CN111061678B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN105550225A (zh) | 索引构建方法、查询方法及装置 | |
CN101206656B (zh) | 文件安全删除系统及方法 | |
CN109871221A (zh) | 一种针对移动终端设备快速装机部署移动应用软件的系统 | |
CN100461716C (zh) | 基于模拟端口的通信方法 | |
CN105975364A (zh) | 数据备份方法及装置 | |
CN102090039A (zh) | 执行数据中间处理的方法以及关联的计算机程序产品、数据中间处理设备和信息系统 | |
JP2006268661A (ja) | データインポート方法およびデータインポート装置 | |
CN108763127B (zh) | 源数据与目标数据相互转换的Modbus适配器的实现方法 | |
CN101729286A (zh) | 修改代理端管理信息库中变量的方法、设备及系统 | |
CN111382142A (zh) | 数据库的操作方法、服务器和计算机存储介质 | |
CN102780780A (zh) | 云计算模式下的数据处理方法、设备和系统 | |
CN105512168A (zh) | 一种集群数据库复合加载数据的方法及装置 | |
CN105100290A (zh) | 一种数据同步方法及装置 | |
CN108228226B (zh) | 硬链接的差分方法、装置及相应终端 | |
CN101626365A (zh) | 一种目录服务器及ldap扩展操作的实现系统和方法 | |
CN113448980A (zh) | 用于生成sql语句的方法及装置、电子设备 | |
CN101286880B (zh) | 管理对象创建方法和装置 | |
CN100474852C (zh) | 电信设备服务端与客户端进行通信的方法 | |
CN105512833A (zh) | 一种智能交通运维系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090211 Termination date: 20160128 |
|
EXPY | Termination of patent right or utility model |