本发明属于工业自动化测控设备技术领域,特别涉及一种基于web的分布式智能测控软件平台设计方法。
背景技术:
在传统的应对分布式测控应用场景的解决方案中,大多采用服务器加端点设备的架构模式,由服务器通过以太网直接操控端点设备完成测试或控制功能,但是,这种解决方案存在几个问题,首先,因为服务器直接操控设备,服务程序是与硬件相关的,当更换端点设备时,会影响上层应用程序的实现,其次,在很多时候,需要各个端点设备之间协同工作才能完成一个复杂的任务,这就涉及设备之间的互联互通互操作,在稍微复杂一点的测控场景中,会面临多个测控设备间的协同操作,这些设备极有可能分属不同的平台,从硬件架构到软件操作系统都不一样,导致设备间互联互通性差,进而影响测控任务的完成效率,这是传统实现方案不能有效解决的问题,另外,在现有的基于web的测控系统中,多数只能从服务端登陆web完成测控任务,而不能从任意联网设备中登陆web执行任务或同时执行任务,为此,本发明提出一种基于web的分布式智能测控软件平台设计方法。
技术实现要素:
为了解决现有技术存在的问题,本发明提供了一种基于web的分布式智能测控软件平台设计方法,能够有效提高基于该平台的应用开发效率、降低开发成本、提升资源利用率和应用的可移植性。
为了实现上述目的,本发明是通过如下的技术方案来实现:一种基于web的分布式智能测控软件平台设计方法,智能测控软件平台包括应用表现层、业务交互层、应用逻辑层、组件资源层和操作支持层,所述方法包括以下步骤:
步骤一:上电;平台上电,电源接通后使平台系统稳定到能够流畅工作工作;
步骤二:平台初始化;根据需要完成平台基本参数配置;
步骤三:平台自检;初始化完成后,开始平台自检,自检内容包括软件和硬件资源状态,当自检通过后,应用程序处于可启动状态,若自检不通过,会重新平台初始化,直到自检通过;
步骤四:启动应用程序;启动应用程序后,通过web页面,实现人机交互,一方面使用者提供输入信息给应用程序,另一方面程序反馈信息,并展示在前端web页面中;
步骤五:调用服务组件;应用程序运行过程中,调用服务组件库中的服务模块或组件,同时,服务组件会加载数据库中的数据,有时还会加载外部配置文件,实现应用功能;
步骤六:远程调用;根据实际应用场景,服务组件或直接调用逻辑设备接口,或通过中间件远程调用逻辑设备接口,事件型数据通过控制中间件传递,实时、高带宽数据通过数据中间件传递;
步骤七:驱动硬件;逻辑设备是对底层硬件驱动的封装,通过接收服务组件传递的数据和命令来驱动底层硬件完成最终的执行过程,在分布式应用场景中,在任何一台联网的安装有浏览器的设备上通过浏览器登录web页面访问服务器,服务器提供应用组件和服务组件,服务组件通过中间件调用节点设备的逻辑设备组件,由逻辑设备组件通过硬件驱动实现硬件设备的操作。
作为本发明的一种优选方式,所述应用表现层提供基于web的人机交互服务,由应用展现页面和平台展现框架组成,使用者根据自己的需要,根据应用表现层的平台展现框架可快速构建所需的交互界面。
作为本发明的一种优选方式,所述业务交互层提供基于web的前后端数据传输服务,由restfulclient/endpoint、websocketclient/endpoint组成,通过成熟可靠的数据传输机制,将web前端的操作数据传给后端做进一步处理或将后台的数据传给前端展现出来,通过业务交互层,解耦前后端,使得使用者可以在任何一台联网的安装有浏览器的设备上通过网址访问测控软件的人机交互界面。
作为本发明的一种优选方式,所述应用逻辑层通过业务逻辑单元有机组合形成的各类应用组件,提供相对应的应用功能,由应用组件和业务逻辑组件构成,使用者在平台提供的基础业务逻辑单元的基础上开发应用组件,效率将是非常高的,对于使用者来说,只需关注其应用逻辑,具体的实现由平台来完成,此外,当某个应用组件逐渐适配一类或几类应用需求时,平台就会将它调成基础业务逻辑单元。
作为本发明的一种优选方式,所述组件资源层为软件平台提供各类组件资源,包括服务组件和逻辑设备组件,所述服务组件是将针对“软资源”的一类操作或运算过程进行封装,形成基础的通用化的模块,为上层应用提供标准服务,所述逻辑设备组件参照软件通信体系结构(softwarecommunicationsarchitecture)的设计思想,将硬件设备驱动按照标准规范进行二次封装,以便向上提供基于统一接口规范的设备操作接口,从而完成物理设备的抽象,为上层软件屏蔽了底层硬件的差异性,保证了代码的可移植性以及组件模块的复用性,组件资源层包含两个组件库,一个是服务组件库,一个是逻辑设备组件库,两个库基于开放式设计,可根据实际需求自由裁剪或扩充。
作为本发明的一种优选方式,所述操作支持层为软件平台提供最基本的运行环境,包括操作系统和硬件设备驱动,所述操作支持层与具体硬件实现有关,是软件平台与硬件之间的沟通桥梁。
作为本发明的一种优选方式,所述应用表现层、业务交互层、应用逻辑层、组件资源层和操作支持层之间通过中间件完成相互链接,所述中间件为软件的分布式部署以及上下层软件解耦提供了基础,并且支持跨平台间的组件互联互通互操作。
本发明的有益效果为:
1、本发明一种基于web的分布式智能测控软件平台具备通用性、开放性、灵活性、高效性以及智能化特点,并采用组件化设计思想,每一层级负责提供一类服务,由若干组件模块构成,层级之间通过规范的接口进行交互和数据传递,在面对软件需要优化升级或移植的时候,只需要有针对性的变动相关层级的组件即可,具备良好的可扩展性和可移植性,因此,能够有效提高基于该平台的应用开发效率、降低开发成本、提升资源利用率和应用的可移植性,能够高效、低成本解决在测控软件开发或使用过程中因需求变更或新增需求而对软件频繁修改的需求;
2、本发明一种基于web的分布式智能测控软件平台设计方法通过分布式技术广泛集成现有的测控设备资源,来满足各种测控需求,降低设备闲置率,提升资源利用率,通过广泛应用的web技术,可以实现远程测控,解决测控任务实施场地对操作者的束缚,通过本平台,能够解决多人协同办公的问题,即多人可以同时登陆各自浏览器实施相同或不同的测控任务;
3、本发明一种基于web的分布式智能测控软件平台采用分层化设计、开发,这是平台通用性的内在体现,也是平台通用性的前提条件;平台组件资源层的服务组件和逻辑设备组件具备通用性,能够适用于不用的应用开发,具备良好的通用性,平台的上层软件采用的是开放式软件框架,组件资源层的服务组件库和逻辑设备组件库是基于开放式设计的,可自由扩充或裁剪,开放性强;
4、本发明一种基于web的分布式智能测控软件平台的开发模式、设备操作方式、分布特性以及系统部署灵活性强,开发模式灵活:基于通用服务组件的应用开发模式具备灵活性,用户根据需要或编程习惯可自由选择不同的开发模式,包括基于服务的或是基于动态组件的;设备操作方式灵活:通过中间件以及上层软件框架的web技术能实现底层硬件的本地操作或远端操作;分布特性灵活:通过分层设计和中间件技术,平台支持设备分布、网络分布、服务分布和应用分布;系统部署灵活:平台既可以按照c/s方式部署,又可按照b/s方式部署或者分布式混合部署;
5、本发明一种基于web的分布式智能测控软件平台的应用开发和用例执行高效,对于应用开发来说,由于上层软件框架采用django框架来开发,django框架内置的很多第三方插件能够显著加快应用的开发;用例执行方面,由于采用了并行以及自主调度执行处理流程,所以为用例执行提供了最高效率的执行方式;
6、本发明一种基于web的分布式智能测控软件平台具有良好的智能化性能,接口能够自动适配,基于规范标示符的接口在应用执行过程中能够自动识别、自动连接和关闭,基于icd的通道重构策略能够实现通道的自动绑定,若当前通道遇到故障时,根据重构策略能够自动转换通道,重新绑定,平台能够自动识别系统故障,并自动输出告警信息。
附图说明
图1为一种基于web的分布式智能测控软件平台设计方法的方法流程图。
图2为一种基于web的分布式智能测控软件平台设计方法的智能测控软件平台工作流程图。
图3为一种基于web的分布式智能测控软件平台设计方法的智能测控软件平台架构图。
图4为一种基于web的分布式智能测控软件平台设计方法的分布式应用场景图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
请参阅图1至图4,本发明提供一种技术方案:一种基于web的分布式智能测控软件平台设计方法,智能测控软件平台包括应用表现层、业务交互层、应用逻辑层、组件资源层和操作支持层,所述方法包括以下步骤:
步骤一:上电;平台上电,电源接通后使平台系统稳定到能够流畅工作工作;
步骤二:平台初始化;根据需要完成平台基本参数配置;
步骤三:平台自检;初始化完成后,开始平台自检,自检内容包括软件和硬件资源状态,当自检通过后,应用程序处于可启动状态,若自检不通过,会重新平台初始化,直到自检通过;
步骤四:启动应用程序;启动应用程序后,通过web页面,实现人机交互,一方面使用者提供输入信息给应用程序,另一方面程序反馈信息,并展示在前端web页面中;
步骤五:调用服务组件;应用程序运行过程中,调用服务组件库中的服务模块或组件,同时,服务组件会加载数据库中的数据,有时还会加载外部配置文件,实现应用功能;
步骤六:远程调用;根据实际应用场景,服务组件或直接调用逻辑设备接口,或通过中间件远程调用逻辑设备接口,事件型数据通过控制中间件传递,实时、高带宽数据通过数据中间件传递;
步骤七:驱动硬件;逻辑设备是对底层硬件驱动的封装,通过接收服务组件传递的数据和命令来驱动底层硬件完成最终的执行过程,在分布式应用场景中,在任何一台联网的安装有浏览器的设备上通过浏览器登录web页面访问服务器,服务器提供应用组件和服务组件,服务组件通过中间件调用节点设备的逻辑设备组件,由逻辑设备组件通过硬件驱动实现硬件设备的操作。
作为本发明的一种优选方式,所述应用表现层提供基于web的人机交互服务,由应用展现页面和平台展现框架组成,使用者根据自己的需要,根据应用表现层的平台展现框架可快速构建所需的交互界面。
作为本发明的一种优选方式,所述业务交互层提供基于web的前后端数据传输服务,由restfulclient/endpoint、websocketclient/endpoint组成,通过成熟可靠的数据传输机制,将web前端的操作数据传给后端做进一步处理或将后台的数据传给前端展现出来,通过业务交互层,解耦前后端,使得使用者可以在任何一台联网的安装有浏览器的设备上通过网址访问测控软件的人机交互界面。
作为本发明的一种优选方式,所述应用逻辑层通过业务逻辑单元有机组合形成的各类应用组件,提供相对应的应用功能,由应用组件和业务逻辑组件构成,使用者在平台提供的基础业务逻辑单元的基础上开发应用组件,效率将是非常高的,对于使用者来说,只需关注其应用逻辑,具体的实现由平台来完成,此外,当某个应用组件逐渐适配一类或几类应用需求时,平台就会将它调成基础业务逻辑单元。
作为本发明的一种优选方式,所述组件资源层为软件平台提供各类组件资源,包括服务组件和逻辑设备组件,所述服务组件是将针对“软资源”的一类操作或运算过程进行封装,形成基础的通用化的模块,为上层应用提供标准服务,所述逻辑设备组件参照软件通信体系结构(softwarecommunicationsarchitecture)的设计思想,将硬件设备驱动按照标准规范进行二次封装,以便向上提供基于统一接口规范的设备操作接口,从而完成物理设备的抽象,为上层软件屏蔽了底层硬件的差异性,保证了代码的可移植性以及组件模块的复用性,组件资源层包含两个组件库,一个是服务组件库,一个是逻辑设备组件库,两个库基于开放式设计,可根据实际需求自由裁剪或扩充。
作为本发明的一种优选方式,所述操作支持层为软件平台提供最基本的运行环境,包括操作系统和硬件设备驱动,所述操作支持层与具体硬件实现有关,是软件平台与硬件之间的沟通桥梁。
作为本发明的一种优选方式,所述应用表现层、业务交互层、应用逻辑层、组件资源层和操作支持层之间通过中间件完成相互链接,所述中间件为软件的分布式部署以及上下层软件解耦提供了基础,并且支持跨平台间的组件互联互通互操作。
工作原理:在基于web的分布式智能测控软件平台的具体实施过程中,以谷歌浏览器chrome作为应用表现层的基础框架,通过整合bootstrap技术和vue框架形成平台展现框架,然后根据应用需求开发web页面作为应用展现页面,利用成熟可靠的restful和websocket技术实现业务交互层的功能,根据具体的用户业务需求开发应用逻辑层的应用组件,在开发应用组件的过程中,最大化利用应用逻辑层的基础业务逻辑单元,而基础业务逻辑单元采用通用化和组件化的设计思想设计开发,组件资源层按照开放式设计要求,采用组件化设计思想设计开发服务组件和逻辑设备组件,逻辑设备组件开发将按照软件通信体系结构的接口标准规范对设备驱动进行二次封装,操作支持层的设备驱动采用设备厂家的驱动文件实现,开发语言方面,设备驱动采用c/c++,组件开发采用python,web前端开发采用html5、css3以及js,开发好后,对平台进行上电,电源接通后使平台系统稳定到能够流畅工作工作,根据需要完成平台基本参数配置,进行平台初始化,初始化完成后,开始平台自检,自检内容包括软件和硬件资源状态,当自检通过后,应用程序处于可启动状态,若自检不通过,会重新平台初始化,直到自检通过,启动应用程序后,通过web页面,实现人机交互,一方面使用者提供输入信息给应用程序,另一方面程序反馈信息,并展示在前端web页面中,应用程序运行过程中,调用服务组件库中的服务模块或组件,同时,服务组件会加载数据库中的数据,有时还会加载外部配置文件,实现应用功能,根据实际应用场景,服务组件或直接调用逻辑设备接口,或通过中间件远程调用逻辑设备接口,事件型数据通过控制中间件传递,实时、高带宽数据通过数据中间件传递,逻辑设备是对底层硬件驱动的封装,通过接收服务组件传递的数据和命令来驱动底层硬件完成最终的执行过程,在分布式应用场景中,在任何一台联网的安装有浏览器的设备上通过浏览器登录web页面访问服务器,服务器提供应用组件和服务组件,服务组件通过中间件调用节点设备的逻辑设备组件,由逻辑设备组件通过硬件驱动实现硬件设备的操作。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。