一种基于底层服务层控制仪器的系统及方法与流程

文档序号:19383123发布日期:2019-12-11 00:37阅读:278来源:国知局
一种基于底层服务层控制仪器的系统及方法与流程

本发明公开一种基于底层服务层控制仪器的系统及方法,涉及访问控制技术领域。



背景技术:

信息化社会飞速发展,越来越多的场合及工作涉及多种设备或仪器协同工作解决实际问题。尤其在金融、科研等领域中,某些前沿科技研究及其实际应用中,甚至提出了多种仪器设备同步工作的需求,但现有的协同各自设备或仪器工作的控制方法,还不完善。本发明提供一种基于底层服务层控制仪器的系统及方法,利用底层服务层实现不同用户端与不同仪器设备的访问连接,用户与仪器设备之间的所有通信过程通过服务器端底层服务层实现,底层服务层支持不同接口仪器设备的控制,能够实现灵活高效的访问和控制。



技术实现要素:

本发明针对现有技术的问题,提供一种基于底层服务层控制仪器的系统及方法,能够实现灵活高效的访问和控制。

本发明提出的具体方案是:

一种基于底层服务层控制仪器的方法,利用底层服务层接收上层转发或者上层直接发送的仪器控制底层命令请求,解析仪器控制底层命令请求中的控制参数,基于消息的scpi或者直接存取驱动程序控制不同的仪器,并将执行结果返回给上层。

所述的方法中底层服务层通过外部访问接口的tcp端口区分访问的是上层转发或者上层直接发送的仪器控制底层命令请求。

所述的方法中通过web浏览器访问http相关的tcp端口,再经由web服务器转发到底层服务层的非http相关的tcp端口,则底层服务层接收到的是上层转发的仪器控制底层命令请求;

或者通过gui调用capi访问非http相关的tcp端口,则底层服务层接收到的是上层直接发送的仪器控制底层命令请求;

或者python调用pythonapi访问非http相关的tcp端口,则底层服务层接收到的是上层直接发送的仪器控制底层命令请求。

所述的方法中web服务器作为反向代理服务器,利用fastcgi进程监听web服务器转发的仪器控制底层命令请求,当有仪器控制底层命令请求到达时组成与直接访问底层服务层相同的仪器控制底层命令请求,并发送到底层服务层。

所述的方法中底层服务层通过仪器的pcie接口、usb接口、lan接口形式中的一种或几种与仪器进行通信。

一种基于底层服务层控制仪器的系统,包括底层服务模块,利用底层服务模块接收上层模块转发或者上层模块直接发送的仪器控制底层命令请求,解析仪器控制底层命令请求中的控制参数,基于消息的scpi或者直接存取驱动程序控制不同的仪器,并将执行结果返回给上层模块。

所述的系统中底层服务模块通过系统的外部访问接口的tcp端口区分访问的是上层模块转发或者上层模块直接发送的仪器控制底层命令请求。

所述的系统中通过web浏览器访问系统http相关的tcp端口,再经由web服务器模块转发到底层服务模块的非http相关的tcp端口,则底层服务模块接收到的是上层模块转发的仪器控制底层命令请求;

或者通过系统的gui模块调用capi访问非http相关的tcp端口,则底层服务模块接收到的是上层模块直接发送的仪器控制底层命令请求;

或者系统的python模块调用pythonapi访问非http相关的tcp端口,则底层服务模块接收到的是上层模块直接发送的仪器控制底层命令请求。

所述的系统中web服务器模块作为反向代理服务器,利用fastcgi进程监听web服务器模块转发的仪器控制底层命令请求,当有仪器控制底层命令请求到达时组成与直接访问底层服务模块相同的仪器控制底层命令请求,并发送到底层服务模块。

所述的系统中底层服务模块包括仪器相关模块,仪器相关模块通过仪器的pcie接口、usb接口、lan接口形式中的一种或几种与仪器进行通信。

本发明的有益之处是:

本发明提供一种基于底层服务层控制仪器的系统及方法,利用底层服务层接收上层转发或者上层直接发送的仪器控制底层命令请求,解析仪器控制底层命令请求中的控制参数,基于消息的scpi或者直接存取驱动程序控制不同的仪器,并将执行结果返回给上层;利用本发明方法或系统区别仪器控制底层命令请求的来源,能够快速反应获取解析仪器控制底层命令请求中的控制参数,对应不同的仪器进行驱动控制,实现不同用户端与不同仪器设备的访问连接以及完成通信过程,达到灵活高效的访问和控制的目的。

附图说明

图1是本发明系统框架示意图;

图2本发明方法流程示意图。

具体实施方式

本发明提供一种基于底层服务层控制仪器的方法,利用底层服务层接收上层转发或者上层直接发送的仪器控制底层命令请求,解析仪器控制底层命令请求中的控制参数,基于消息的scpi或者直接存取驱动程序控制不同的仪器,并将执行结果返回给上层。

同时提供与上述方法相对应的一种基于底层服务层控制仪器的系统,包括底层服务模块,底层服务模块接收上层模块转发或者上层模块直接发送的仪器控制底层命令请求,解析仪器控制底层命令请求中的控制参数,基于消息的scpi或者直接存取驱动程序控制不同的仪器,并将执行结果返回给上层模块。

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

利用本发明方法实现不同用户端与不同仪器的需要进行访问连接,具体过程为:

用户能够通过本发明中底层服务层接收上层转发或者上层直接发送的仪器控制底层命令请求,解析仪器控制底层命令请求中的控制参数,再通过基于消息的scpi或者直接存取不同的仪器的驱动程序控制对仪器进行控制,并组包和发送命令执行结果给上层。

上述过程中,用户使用底层服务层通过不同的外部访问接口的tcp端口来区分访问的是web服务器还是直接访问底层服务层,

其中上层转发仪器控制底层命令请求实例中,http相关的tcp端口在web服务器配置文件中定义,用于底层服务层访问的非http相关的tcp端口在底层服务层中进行定义,

而web浏览器访问http相关的tcp端口,再经由web服务器转发到底层服务层的非http相关的tcp端口,则底层服务层接收到的是上层转发的仪器控制底层命令请求;

上层直接发送仪器控制底层命令请求实例中,gui调用capi访问非http相关的tcp端口,则底层服务层接收到的是上层直接发送的仪器控制底层命令请求;

python调用pythonapi访问非http相关的tcp端口,则底层服务层接收到的是上层直接发送的仪器控制底层命令请求;

底层服务层接收上层转发或者直接发送的仪器控制底层命令请求,解析仪器控制底层命令请求中的控制参数,通过基于消息的scpi或者直接存取驱动程序控制不同的仪器,比如通过pcie插槽上pcie接口连接的信号发生器板卡,通过usb连接数据采集卡,通过lan连接频谱分析仪等等,底层服务层最后组包和发送命令执行结果给上层。

上述过程中,上层转发仪器控制底层命令请求实例中,web服务器可作为反向代理服务器,向fastcgi进程管理器转发仪器控制底层命令请求,fastcgi进程管理器启动fastcgi应用程序创建fastcgi进程后退出,fastcgi进程利用fastcgi进程管理器的进程资源,监听web服务器转发的仪器控制底层命令请求,当有http请求到达时获取和解析http请求信息,组成与直接访问底层服务层相同的仪器控制底层命令请求,发送仪器控制底层命令请求到底层服务层,底层服务层接收上层转发的仪器控制底层命令请求,解析仪器控制底层命令请求中的控制参数,通过基于消息的scpi或者直接存取驱动程序控制不同的仪器,最后组包和发送命令执行结果给上层。

利用本发明系统实现不同用户端与不同仪器的需要进行访问连接,具体过程为:

用户能够通过本发明系统中底层服务模块接收上层模块转发或者上层模块直接发送的仪器控制底层命令请求,解析仪器控制底层命令请求中的控制参数,再通过基于消息的scpi或者直接存取不同的仪器的驱动程序控制对仪器进行控制,并组包和发送命令执行结果给上层模块。

上述过程中,底层服务模块可设置相对独立的命令接收和发送模块,用于仪器控制底层命令请求,发送命令执行结果;可设置相对独立的命令解析和组包模块,用于解析仪器控制底层命令请求中的控制参数,对需要发送的数据进行组包,还可设置相对独立的仪器相关模块通过仪器的pcie接口、usb接口、lan接口形式中的一种或几种与仪器进行通信,比如通过pcie插槽上pcie接口连接的信号发生器板卡,通过usb连接数据采集卡,通过lan连接频谱分析仪等等。

上述过程中,底层服务模块可通过不同的外部访问接口的tcp端口来区分访问的是web服务器还是直接访问底层服务模块,

其中上层模块转发仪器控制底层命令请求实例中,http相关的tcp端口在web服务器模块配置文件中定义,用于底层服务模块访问的非http相关的tcp端口在底层服务模块中进行定义,

而web浏览器访问http相关的tcp端口,再经由web服务器模块转发到底层服务模块的非http相关的tcp端口,则底层服务模块接收到的是上层web服务器模块转发的仪器控制底层命令请求;

上层模块直接发送仪器控制底层命令请求实例中,gui模块调用capi访问非http相关的tcp端口,则底层服务模块接收到的是上层gui模块直接发送的仪器控制底层命令请求;

python模块调用pythonapi访问非http相关的tcp端口,则底层服务模块接收到的是上层python模块直接发送的仪器控制底层命令请求;

底层服务模块接收了仪器控制底层命令请求,解析仪器控制底层命令请求中的控制参数,通过基于消息的scpi或者直接存取驱动程序控制不同的仪器,底层服务模块最后组包和发送命令执行结果给上层模块。

在上述过程中,上层模块转发仪器控制底层命令请求实例中,web服务器模块可作为反向代理服务器,向fastcgi进程管理器模块转发仪器控制底层命令请求,fastcgi进程管理器模块启动fastcgi应用程序创建fastcgi进程后退出,fastcgi进程利用fastcgi进程管理器的进程资源,监听web服务器模块转发的仪器控制底层命令请求,当有http请求到达时获取和解析http请求信息,组成与直接访问底层服务模块相同的仪器控制底层命令请求,发送仪器控制底层命令请求到底层服务模块,底层服务模块接收了仪器控制底层命令请求,解析仪器控制底层命令请求中的控制参数,通过基于消息的scpi或者直接存取驱动程序控制不同的仪器,最后组包和发送命令执行结果给上层模块。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

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