CN106341197A - 一种用于多用户接入控制的接收机程控解析算法 - Google Patents

一种用于多用户接入控制的接收机程控解析算法 Download PDF

Info

Publication number
CN106341197A
CN106341197A CN201610654416.4A CN201610654416A CN106341197A CN 106341197 A CN106341197 A CN 106341197A CN 201610654416 A CN201610654416 A CN 201610654416A CN 106341197 A CN106341197 A CN 106341197A
Authority
CN
China
Prior art keywords
node
command
receiver
order
program control
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.)
Granted
Application number
CN201610654416.4A
Other languages
English (en)
Other versions
CN106341197B (zh
Inventor
徐潇
徐健
朱卫国
吴恒奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 41 Institute
Original Assignee
CETC 41 Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 41 Institute filed Critical CETC 41 Institute
Priority to CN201610654416.4A priority Critical patent/CN106341197B/zh
Publication of CN106341197A publication Critical patent/CN106341197A/zh
Application granted granted Critical
Publication of CN106341197B publication Critical patent/CN106341197B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/20Monitoring; Testing of receivers

Landscapes

  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种用于多用户接入控制的接收机程控解析算法,通过设计一种新的程控构架,添加多条子线程,支持多用户同时接入,支持上位机同时显示、进行查询设置等操作,极大方便了用户的测试体验,扩展了接收机的使用环境和测试条件。设计一种新的程控命令,提高了驻机内存的使用效率,降低了驻机软件的维护难度,提高了程控命令解析的速率,能够快速进行节点命令的匹配和执行,为快速上行、下行命令与数据的传递提供保障。

Description

一种用于多用户接入控制的接收机程控解析算法
技术领域
本发明涉及接收机领域,具体涉及一种用于多用户接入控制的接收机程控解析算法。
背景技术
接收机与频谱仪类似,是一种用于接收处理有线或无线电讯号的设备,而且接收机常常需要在存在多个强信号环境下正确测量弱信号,为了适应这种复杂多变的使用场景,提供良好的用户使用体验,保护测试人员不受辐射伤害,接收机系统常采用上位机与驻机分离的软件系统架构。上位机主要功能是对各个部件的参数设置、控制与操作以及测试数据和状态的存取,并对回传的各种测量数据完成显示等,驻机的主要功能是通过以太网口接收上位机的参数设置、操作等命令信息,对接收机采集到的数据进行FFT、解调、ITU应用、电平测量等处理,并通过以太网口将数据回传。上位机与驻机之间通过网口通信,使用SCPI(可编程仪器标准命令)进行指令与数据的传输。因此,需要设计一种SCPI命令的打包、解析与处理的软件架构。
接收机中的命令解析,绝大部分采用的是使用哈希表来进行命令的匹配,这种方法使用一个命令名作为Key值,并将命令处理函数作为一个数组的函数变量来处理,使得每个命令的Key值都与一个函数值(即数组下标,hash值)相对应。这样,可以使用命令名来进行hash,由此得到数组的某个成员(该命令对应的解析函数)。哈希表的基本原理是:首先进行内存分配,形成映射存储区,利用hash函数,将程控命令设为Key值,对Key值进行映射到不同区域(程控处理函数)进行保存,这样就建立了程控命令与程控处理函数之间的对应关系。当通过程控套接字接收到程控命令后,即对程控命令进行hash,得到指向该程控命令的处理函数映射,并进行实际的命令处理。
虽然使用哈希表减少一部分遍历查找命令带来的时间开销,但是由于哈希表使用的Key值与映射函数值均不存在顺序排列,这会增加后期的软件维护难度,当需要进行程控命令的添加、修改、删除等操作时,易导致发生错误,且出错位置不易查找。同时还会大量增加系统内存的消耗,这对内存并不充裕的驻机内存的影响是致命的。有的命令解析会采用树状结构来进行命令的匹配解析,也仅仅局限于单用户接入的工作模式,本身的结构并不支持多用户的扩展。
发明内容
针对现有接收机算法使用哈希表导致内存过大,及仅支持单用户操作的问题,本发明提供了一种用于多用户接入控制的接收机程控解析算法。
本发明采用以下的技术方案:
一种用于多用户接入控制的接收机程控解析算法,包括:
步骤1:开始监听线程,判断接收机的状态,若接收机关闭,则关闭监听线程;若接收机没有关闭,则等待新用户接入接收机,新用户接入接收机后,接收机根据接入的用户数量创建多个接收子线程;
步骤2:判断监听线程是否开启,若开启则执行步骤3,否则关闭接收线程;
步骤3:等待接收用户发送的SCPI命令,接收到命令后,执行步骤4,否则关闭接收线程;
步骤4:调用GetNextWord()函数,获取多节点命令的第n级子节点,其中n大于等于1,以“:”为分界,根据函数返回值的不同来判断该节点是否为命令的最后一级节点,若不是则执行步骤5,若是则执行步骤7;
步骤5:将获取到的该节点与树结构中所有同级节点进行匹配,若匹配成功,则执行步骤4;若匹配未成功,则执行步骤6;
步骤6:查找并匹配可省略的同级节点的下一级子节点,判断是否匹配成功,若匹配成功,则执行步骤4;若匹配未成功,则该节点为非法节点,跳出函数,不进行处理;
步骤7:将获取的最后一级节点与树结构中的同级节点进行匹配,若匹配成功,则判断节点后是否为“?”,若为“?”,则该命令为查询命令,否则为设置命令,之后执行步骤9;若匹配未成功,则执行步骤8;
步骤8::查找并匹配可省略的同级节点下一级子节点,判断是否匹配成功,若匹配成功,则判断节点后是否为“?”,若为“?”,则该命令为查询命令,否则为设置命令,之后执行步骤9;若匹配未成功,则该节点为非法节点,跳出函数,不进行处理;
步骤9:获取全部的节点后,调用GetPara()函数获取命令参数,将其置于全局变量中,根据上述步骤中判断出的为查询命令或者设置命令,调用对应的命令处理函数,完成单次的程控命令处理过程;
步骤10:单次命令处理完成后,判断后续是否同时收取到多条命令,若仍有命令未处理,则将执行步骤4,重新从第一级节点开始匹配;若为单命令,则命令处理结束,返回步骤2。
本发明具有的有益效果是:
本发明提供的用于多用户接入控制的接收机程控解析算法,通过设计一种新的程控构架,添加多条子线程,支持多用户同时接入,极大方便了用户的测试体验。提供了一种新的程控命令,支持SCPI命令的长命令与短命令两种形式,支持多节点命令的节点命令省略,支持多命令同时接收后依次解析,支持后续程控命令添加、修改与删除等操作。提高了驻机内存的使用效率,降低了驻机软件的维护难度,提高了程控命令解析的速率,能够快速进行节点命令的匹配和执行,为快速上行、下行命令与数据的传递提供保障。
附图说明
图1为本发明接收机的程控架构的原理框图。
图2为本发明接收机的程控命令的原理框图。
具体实施方式
下面结合附图对本发明进行具体的说明:
结合图1和图2,一种用于多用户接入控制的接收机程控解析算法,包括:
步骤1:开始监听线程,判断接收机是否关闭,若接收机关闭,则关闭监听线程;若接收机没有关闭,则等待新用户接入接收机,新用户接入接收机后,接收机根据接入的用户数量创建多个接收子线程;
步骤2:判断监听线程是否开启,若开启则执行步骤3,否则关闭接收线程;
步骤3:等待接收用户发送的SCPI命令,SCPI命令为可编程仪器标准命令,接收到命令后,执行步骤4,否则关闭接收线程;
步骤4:调用GetNextWord()函数,GetNextWord()函数是预先设置的函数,GetNextWord()函数是用来获取下一个SCPI命令的节点,调用GetNextWord()函数,获取多节点命令的第n级子节点,其中n大于等于1,以“:”为分界,根据函数返回值的不同来判断该节点是否为命令的最后一级节点,若不是则执行步骤5,若是则执行步骤7;
步骤5:将获取到的该节点与树结构中所有同级节点进行匹配,若匹配成功,则执行步骤4;若匹配未成功,则执行步骤6;
步骤6:查找并匹配可省略的同级节点的下一级子节点,判断是否匹配成功,若匹配成功,则执行步骤4;若匹配未成功,则该节点为非法节点,跳出函数,不进行处理;
步骤7:将获取的最后一级节点与树结构中的同级节点进行匹配,若匹配成功,则判断节点后是否为“?”,若为“?”,则该命令为查询命令,否则为设置命令,之后执行步骤9;若匹配未成功,则执行步骤8;
步骤8::查找并匹配可省略的同级节点下一级子节点,判断是否匹配成功,若匹配成功,则判断节点后是否为“?”,若为“?”,则该命令为查询命令,否则为设置命令,之后执行步骤9;若匹配未成功,则该节点为非法节点,跳出函数,不进行处理;
步骤9:获取全部的节点后,调用GetPara()函数,GetPara()函数是预先设置的函数,GetPara()函数是用来获取命令参数,GetPara()函数获取命令参数,将命令参数置于全局变量中,根据上述步骤中判断出的为查询命令或者设置命令,调用对应的命令处理函数,完成单次的程控命令处理过程;
步骤10:单次命令处理完成后,判断后续是否同时收取到多条命令,若仍有命令未处理,则将执行步骤4,重新从第一级节点开始匹配;若为单命令,则命令处理结束,返回步骤2。
本发明提供的用于多用户接入控制的接收机程控解析算法,通过设计一种新的程控构架,添加多条子线程,支持多用户同时接入,支持上位机同时显示、进行查询设置等操作,极大方便了用户的测试体验,扩展了接收机的使用环境和测试条件。
本发明提供了一种新的程控命令,程控命令为树状结构,支持SCPI命令的长命令与短命令两种形式,支持多节点命令的节点命令省略,支持多命令同时接收后依次解析,将所有需要的程控命令存入驻机软件中,使用树形结构进行节点的存储,支持后续程控命令添加、修改与删除等操作。提高了驻机内存的使用效率,降低了驻机软件的维护难度,提高了程控命令解析的速率,能够快速进行节点命令的匹配和执行,为快速上行、下行命令与数据的传递提供保障。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

Claims (1)

1.一种用于多用户接入控制的接收机程控解析算法,其特征在于,包括:
步骤1:开始监听线程,判断接收机的状态,若接收机关闭,则关闭监听线程;若接收机没有关闭,则等待新用户接入接收机,新用户接入接收机后,接收机根据接入的用户数量创建多个接收子线程;
步骤2:判断监听线程是否开启,若开启则执行步骤3,否则关闭接收线程;
步骤3:等待接收用户发送的SCPI命令,接收到命令后,执行步骤4,否则关闭接收线程;
步骤4:调用GetNextWord()函数,获取多节点命令的第n级子节点,其中n大于等于1,以“:”为分界,根据函数返回值的不同来判断该节点是否为命令的最后一级节点,若不是则执行步骤5,若是则执行步骤7;
步骤5:将获取到的该节点与树结构中所有同级节点进行匹配,若匹配成功,则执行步骤4;若匹配未成功,则执行步骤6;
步骤6:查找并匹配可省略的同级节点的下一级子节点,判断是否匹配成功,若匹配成功,则执行步骤4;若匹配未成功,则该节点为非法节点,跳出函数,不进行处理;
步骤7:将获取的最后一级节点与树结构中的同级节点进行匹配,若匹配成功,则判断节点后是否为“?”,若为“?”,则该命令为查询命令,否则为设置命令,之后执行步骤9;若匹配未成功,则执行步骤8;
步骤8::查找并匹配可省略的同级节点下一级子节点,判断是否匹配成功,若匹配成功,则判断节点后是否为“?”,若为“?”,则该命令为查询命令,否则为设置命令,之后执行步骤9;若匹配未成功,则该节点为非法节点,跳出函数,不进行处理;
步骤9:获取全部的节点后,调用GetPara()函数获取命令参数,将其置于全局变量中,根据上述步骤中判断出的为查询命令或者设置命令,调用对应的命令处理函数,完成单次的程控命令处理过程;
步骤10:单次命令处理完成后,判断后续是否同时收取到多条命令,若仍有命令未处理,则将执行步骤4,重新从第一级节点开始匹配;若为单命令,则命令处理结束,返回步骤2。
CN201610654416.4A 2016-08-11 2016-08-11 一种用于多用户接入控制的接收机程控解析算法 Expired - Fee Related CN106341197B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610654416.4A CN106341197B (zh) 2016-08-11 2016-08-11 一种用于多用户接入控制的接收机程控解析算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610654416.4A CN106341197B (zh) 2016-08-11 2016-08-11 一种用于多用户接入控制的接收机程控解析算法

Publications (2)

Publication Number Publication Date
CN106341197A true CN106341197A (zh) 2017-01-18
CN106341197B CN106341197B (zh) 2018-11-20

Family

ID=57825028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610654416.4A Expired - Fee Related CN106341197B (zh) 2016-08-11 2016-08-11 一种用于多用户接入控制的接收机程控解析算法

Country Status (1)

Country Link
CN (1) CN106341197B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719786A (zh) * 2004-07-08 2006-01-11 中兴通讯股份有限公司 数据通讯设备命令行接口命令的自动测试系统及测试方法
US8103912B2 (en) * 2008-09-07 2012-01-24 EADS North America, Inc. Sequencer and test system including the sequencer
CN102521250A (zh) * 2011-11-16 2012-06-27 中国电子科技集团公司第四十一研究所 一种智能测量仪器通用语法分析的实现方法
CN103605496A (zh) * 2013-12-02 2014-02-26 天津光电通信技术有限公司 一种实现快速解析基于scpi协议的通信指令的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719786A (zh) * 2004-07-08 2006-01-11 中兴通讯股份有限公司 数据通讯设备命令行接口命令的自动测试系统及测试方法
US8103912B2 (en) * 2008-09-07 2012-01-24 EADS North America, Inc. Sequencer and test system including the sequencer
CN102521250A (zh) * 2011-11-16 2012-06-27 中国电子科技集团公司第四十一研究所 一种智能测量仪器通用语法分析的实现方法
CN103605496A (zh) * 2013-12-02 2014-02-26 天津光电通信技术有限公司 一种实现快速解析基于scpi协议的通信指令的方法

Also Published As

Publication number Publication date
CN106341197B (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN104063425B (zh) 通过数据库中间件查询数据的方法和数据库中间件
CN104123227A (zh) 一种自动生成测试用例的方法
CN110134659B (zh) 运行程序的日志监控系统、方法、介质及设备
CN107193917B (zh) 基于iid的全站系统配置文件无损数据更新方法
CN104572644A (zh) 数据库更新装置和数据库更新方法
CN110837515A (zh) 一种基于数据库的数据处理方法及电子设备
CN103051496A (zh) 一种监测点服务器的监控方法及装置
CN109669741A (zh) 终端应用动态文案的语言切换方法、服务器及存储介质
CN109388557A (zh) 一种控件遍历方法、计算机可读存储介质及终端设备
CN109063077A (zh) 一种基于弹性搜索的数据访问方法及装置
US20170161392A1 (en) Information communication methods, systems and terminals
CN102377610B (zh) 简单网络管理协议自动化测试系统及其方法
US11985029B2 (en) Pico-base station configuration method and apparatus, storage medium and electronic apparatus
CN107944288B (zh) 一种数据访问控制方法和装置
CN103365661A (zh) 自动化测试脚本的开发方法和系统
CN106341197A (zh) 一种用于多用户接入控制的接收机程控解析算法
CN104254003B (zh) 一种智能终端设备的频道切换方法及装置
CN102855278B (zh) 一种仿真方法和系统
CN112735406A (zh) 设备的控制方法及装置、存储介质及电子装置
CN102857939B (zh) 小区参数的配置方法及装置
CN107404731A (zh) 无线通讯模块的测试系统及测试方法
MX2012009526A (es) Metodo de adquisicion de datos en estimacion de recursos de red y sistema del mismo.
CN114064601B (zh) 存储过程转换方法、装置、设备和存储介质
CN115599881A (zh) 工作流创建方法、系统、电子设备和计算机可读存储介质
KR102638146B1 (ko) 5g 네트워크 작업 자동화 방법 및 그 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181120

Termination date: 20200811