计算机总线技术在测控系统中的应用

2017-03-15 18:06张坚林
电脑与电信 2017年3期
关键词:任务调度数据流线程

张坚林

(清远市技师学院,广东 清远 511517)

计算机总线技术在测控系统中的应用

张坚林

(清远市技师学院,广东 清远 511517)

测控系统的发展是社会进步与更新换代的共同需求,是计算机技术在实际环境中的有效实践。特别是总线技术的应用,极大地提高了测控系统的工作效率,加强了稳定性,拓展了应用范围,为新技术的推广打下了良好的基础。本文从测控系统中计算机总线的结构入手,分析了总线在数据驱动中的应用,以期能为总线技术的教学提供一些有益的经验。

测控系统;计算机总线技术

1 引言

随着社会的不断进步,企业单位及个人对于计算机软件的需求不断增长,导致软件系统变得越来越复杂。不仅是应用规模十分庞大,软件之间的交互也日益增多,使用单一对象的软件开发模式已经无法满足这种需求。尤其是在测控系统中,对软件开发的效率及成本控制有着更高的要求。因此,培养合格的软件开发人才,成为当前所有高校的一项共识。目前来说,常见的方法主要是利用已有的构件模块来进行设计,通过一个合理而规范的框架来使这些模块进行集成,共同发挥作用从而形成一个新的应用。该应用吸取了各个模块的高效稳定的优点,改进了操作复杂、信息落后的缺点,提高了软件开发的效率,缩短了开发时间,节省了开发成本,并且在后期维护的工作中,也占有一定的优势,使其在测控领域中的应用中极具竞争力。该应用实现的关键点就是领域框架的设计,即基于总线技术的框架设计。本文通过分析计算机总线的结构,了解实现数据驱动所需要的基本模块,并进行实践应用,以期为计算机总线技术在测控系统中的应用积累一些经验,日后能够为提高教学效率作出一些贡献。

2 测控系统中计算机总线的结构

计算机总线就是指系统的硬件和软件总线,硬件总线是计算机各个部件包括输入输出设备相互传送信息的公共通道,其他类型的接口模块,只要符合接入标准,都可以通过硬件总线接入到计算机系统当中,大大增强了系统的可拓展性。软件总线则是虚拟的传输通道,其作用与硬件总线相同,都是进行数据信息的传送。接入软件总线时也需要使用标准的软件接口,通过系统中各个模块之间功能的集成,来实现信息的交换。可以将总线结构想象为各个模块之间的中介,模块接入系统之后,信息的传输和交换都需要经过总线结构,通常接入的模块会采用COM或动态链接库的形式,以便实现动态加载,提高硬件总线的处理效率。模块加载完成之后,所有信息都要利用软件总线来进行通讯,以完成模块集成或互相协作的目的。软件总线的加入能够有效降低模块之间的耦合度,一些二进制的模块也能够实现复用,极大地缩短了软件开发的周期,提高了软件处理复杂信息的能力,在一定程度增强了系统的可靠性。

想要实现数据驱动的软件总线需要有四个基本模块:

(1)通讯模块,它可以协调所有接入系统中的模块的信息交换过程,提高信息传输的安全性,缩短信息处理的时间。

(2)构件管理模块,它可以对每个接入系统的模块进行管理,并按照一定的顺序来安排系统对各个模块的响应,以提高系统运行的效率。

(3)接口模块,它负责链接各个模块与系统,只有符合标准的模块才可以接入,进而实现模块与总线、模块与模块之间的信息交互。

(4)任务调度模块,它是实现数据驱动的主要模块,能够根据数据内容来调动系统进行相应的处理,从而实现数据的转换与流动,即数据的驱动。

3 基于数据驱动的总线技术在测控系统中的应用

测控系统中的软件系统通常分为三个层次:一是数据输入层,即从所有接入系统的硬件设备中获取数据信息,常见的数据输入层设备有数据采集卡和通讯连接设备;二是数据处理层,将获取到的数据信息进行处理,为下一步的数据输出做好准备,例如滤波操作、故障检测等;三是数据输出层,主要是将经过系统处理的数据进行存储,或者输出到其他终端以供用户查询。这个过程就是数据信息的通讯。将总线技术应用到测控系统中后,可以设计为基于数据驱动的方式进行工作:数据输入层获得数据后,会在软件总线中形成数据流,驱动数据处理层和数据输出层进行各种操作,例如接口模块处理所有接入系统的功能模块与软件总线之间的信息交互,构件管理模块根据系统处理任务的优先级来分配各个功能模块的动态加载及初始化,通讯模块再次将经过处理的信息集成为数据流,输出到其他功能模块中,从而实现信息的交互与通讯。这三个模块之间的协作需要经过任务调度模块的统一安排才能实现,包括数据流的输入和输出,都要经过任务调度模块的处理才能进行下一个步骤。

下面介绍这几种模块的应用:

(1)构件管理模块

构件管理模块负责各个功能构件的加载及初始化,换句话说,就是协调各个功能构件的运行,以保证顺利接入总线并实现信息通讯,同时还能避免构件数量增加所导致的加载缓慢,提高总线的处理效率。其流程大概分成四步:功能构件接入总线、构件管理启动响应、处理所有的构件信息、处理完毕准备接入任务调度模块。其中,构件管理模块的响应主要是从接入的构件中提取相应的初始化信息,然后将信息存储到总线系统的内存中;直到所有的构件信息存储完毕,响应才算结束。然后总线系统开始处理内存中的构件信息,并通过接口模块将处理结果反馈到各个构件的数据库中;各个构件根据这些经过处理的信息来进一步完成自己的初始化,这时各个构件才算是真正地接入到了总线当中。与此同时,总线能够直接接收到各个构件的信息请求,例如自己数据库中可用的信息,需要其他构件提供的信息等,构件管理模块将这些信息请求集成为任务表,为接下来的任务调动模块的工作做好准备。

(2)任务调度模块

任务调度模块是软件总线实现数据驱动的主要模块,它能够根据各个模块提交的任务信息来进行合理的分析和处理,以实现系统运行效率的最大化。例如构件管理模块在集成了信息请求的任务表之后,会提交到任务调度模块中,任务调度模块会根据任务表中的请求来驱动系统从其他模块中提取相应的信息,或者调用相应的函数来处理数据。这就是任务调度模块完成任务的过程。需要注意的一点是,每次提交任务表的时候,都会形成相应的数据流,处理该数据流的时候可能需要用到若干个其他构件的数据库信息及处理函数;然而在调用其他构件数据库信息及处理函数的过程中,这些任务表又有可能会产生新的数据流。这就需要任务调度模块将处理数据流时产生的任务表进行再次集成,然后提交任务表,并再次形成新的数据流;这种反复循环的模式驱动了系统进行连续工作,但是其中涉及到了大量的计算,需要一个优秀的算法来支持模块的运行。

算法过程如下:

任务调度模块对构件管理模块提交的任务表进行响应,从接入系统的各个功能构件中获取信息请求,这些信息请求就是原始的数据流。这些原始数据流需要经过接口管理模块才能进入软件总线当中,同时系统也可以做好处理这些数据流的准备。当这些数据流进入总线之后,任务调度模块会将它们与之前构件管理模块提交的任务表信息进行集成,形成新的数据流。然后新的数据流会进入线程池进行相应的分析和处理。如果在线程池处理数据的过程中,产生了新的数据流,即之前提到过的反复循环的任务模式,就需要将这些新产生的数据流返回到接口管理模块中进行处理,得到系统响应后,然后再次进入线程池。

(3)线程池

线程池可以说是总线技术的主要技术,在测控系统中发挥了十分重要的作用。它的实质是对任务调度模块提交的任务表进行有效的处理,由于不同的任务包含了不同的时效性,需要根据各个接入系统的模块的请求进行判断,然后设置对应的优先级。例如数据库和系统控制需要较高的优先级,而数据存储和信息通讯的优先级就较低。这样可以避免低优先级的任务阻碍高优先级的任务,合理分配系统资源,最大限度地提高系统处理信息的效率。在处理任务流的过程中,随时会产生新的数据流,线程池需要将这些数据流经过任务调度模块返回接口模块中,并再次启动数据处理的响应。

线程池的设计如下:保证线程池中每个线程有一个FIFO的任务队列,FIFO是英文First Input First Output的缩写,意思就是先入先出,该任务队列保证了数据处理的过程能够按照顺序来执行,是一种传统有效的处理机制。每个线程都有各自固定的优先级,在处理任务流时,线程池会根据任务调度模块的响应,将具有较高优先级的任务加入到具有对应的线程当中,保证了任务的优先处理。同时,当任务流较少时,线程池会安排一些任务队列进入休眠状态,直到任务流增加或有较高优先级任务时再进行唤醒。这样不仅降低了系统的损耗,也大大提高了任务处理的效率。

4 结论

总线技术的应用能够很好地降低测控系统中各个模块之间的耦合度,有利于系统的运行和维护,对系统软件的复用达到了更高的层次:不仅缩短了软件的开发周期,也提高了软件的可靠性。特别是线程池概念的引入,使得系统处理任务流的效率大大提高,在一定程度上提高了测控系统的性能。

[1]李军.基于软件总线技术的测控系统框架实现[J].计算机测量与控制,2005,13(8):849-850.

[2]袁占亭.基于软件总线技术的软件工程方法[J].计算机工程与应用,2003,39(15):137-139.

TheApplication of Computer Bus Technology in the Measurement and Control System

Zhang Jianlin
(Qingyuan City Technician Institute,Qingyuan 511517,Guangdong)

The development of measurement and control system is the common demand of social progress and upgrading.It is the effective practice of the computer technology in the practical environment.Especially,the application of bus technology greatly improves the efficiency of the measurement and control system,strengthening the stability and expanding the application scope,laying a good foundation for the promotion of the new technologies.This paper introduces the structure of the computer bus in the measurement and control system,and analyzes in the application of bus in data driven,hoping to provide some experience for bus technology teaching.

measurement and control system;computer bus technology

G434

A

1008-6609(2017)03-0055-03

张坚林(1978-),男,广东清远人,教师,一级实习指导老师,研究方向为计算机教学。

猜你喜欢
任务调度数据流线程
基于C#线程实验探究
汽车维修数据流基础(上)
汽车维修数据流基础(下)
基于PEPA的云计算任务调度性能分析
基于国产化环境的线程池模型研究与实现
基于改进NSGA-Ⅱ算法的协同制造任务调度研究
浅谈linux多线程协作
基于小生境遗传算法的相控阵雷达任务调度
云计算环境中任务调度策略
基于数据流聚类的多目标跟踪算法