一种通过声音监视计算机处理器负载的装置和方法

文档序号:6382753阅读:139来源:国知局
专利名称:一种通过声音监视计算机处理器负载的装置和方法
技术领域
本发明涉及计算机管理领域的信息监视技术,特别是指一种通过声音监视计算机处理器负载的方法。
背景技术
计算机处理器负载是指通常所说的中央处理器的利用率。对计算机处理器负载的监控管理是计算机系统管理的重要内容之一。目前,主要采用性能监视器软件对计算机处理器负载进行监视。当需要对计算机处理器负载进行监视时,通过操作系统调用处理器监视程序在可视的图形界面上实时显示当前负载信息。
一般情况下,利用上述方法对计算机处理器负载进行监视的优点在于数据准确、全面、直观。但是,系统管理员在监视处理器负载时,必须眼睛注视着图形界面显示的监控数据,不能进行其它工作,并且稍有疏忽,就会错过当前屏幕上显示的重要信息。当需要同时监视多个计算机处理器时,一个管理员很难同时兼顾所有数据项,因此工作效率不高。
而当计算机系统处于机架式服务器的环境时,多数服务器不配备显示器,此时要获取计算机处理器负载信息,可能只能将其打印出来,提供给管理员,这种方式不方便、不实时,管理员不能迅速了解当前处理器的负载状况,因此也影响了管理员的工作效率。
其实,在实际应用过程中,大部分系统管理员并不需要了解非常精确的计算机处理器的负载,只需了解大致范围的数据即可。

发明内容
有鉴于此,本发明的目的在于提供一种通过声音监视计算机处理器负载的装置,使用户方便地监视计算机处理器负载,进而大大提高计算机系统管理效率。
本发明的另一个主要目的是提供一种通过声音监视计算机处理器负载的方法,使用户能方便地监视计算机处理器负载,进而大大提高计算机系统管理效率。
本发明提供的一种通过声音监视计算机处理器负载的装置包括控制单元,接收来自用户的控制指令,并根据控制指令向监视单元发出启动/停止监视的控制信号;处理器监视单元,用于保存处理器负载信息和声音控制信息的对应关系,以及接收控制单元发出的启动监视的控制信号、获取处理器负载监视数据以及从所述对应关系中获取对应的发声控制信息,控制发声装置发声,或,接收控制单元发出的停止监视的控制信号、并根据停止监视的控制信号控制发声装置发声;发声装置,根据处理器监视单元的控制进行发声。
所述控制单元包括信号接收单元和总控制模块,所述信号接收单元,用于接收来自用户发出的控制指令,并将控制指令输出至总控制模块;所述总控制模块,用于接收信号接收单元的控制指令,并根据控制指令确定并输出启动/停止监视的控制信号。
所述信号接收单元为计算机前面板上的按钮,或与计算机连接的开关。
所述发声装置为计算机的嗡鸣器、喇叭或外接的可控发声装置。
本发明提供的一种实现通过声音监视计算机处理器负载的方法包括A.控制单元接收到用户的控制指令后,确定指令类型,如果是启动指令,则启动处理器监视单元,执行步骤B,如果是停止指令,控制处理器监视程序停止监视;B.处理器监视单元实时获取当前处理器负载状况,并根据自身保存的处理器负载信息与声音控制信息的对应关系,确定该处理器当前负载状况所对应的声音控制信息;C.处理器监视单元利用步骤B中获得的声音控制信息,控制发声装置发声。
所述声音信息为频率和/或节奏。
步骤C所述发声为语言提示,或歌曲。
步骤A中所述控制单元是通过操作系统获取到用户的控制指令。
所述操作系统为windows系统,步骤B中处理器当前负载信息是根据WMI编程接口确定。
当操作系统为linux系统时,步骤B中处理器当前负载信息是根据操作系统内核的PROC文件系统获取。
步骤A中控制单元接收到用户的控制指令包括A1、当启动/停止开关接收到用户的触发时,通过修改中断处理程序触发中断,在中断过程中,向总控制程序发送信号以唤醒总控制程序;A2、总控制程序接收到启动/停止开关发送的信号,检查自己是否是被信号所唤醒的,如果是,执行步骤A3,否则,跳出本流程;A3、总控制程序判断接收到的信号是否是与中断处理程序约定好的信号,如果是,则接收到一次用户触发开关的事件,否则,认为没有接收到用户触发开关事件。
所述中断为并口中断,或串口中断。
所述中断为本地计算机或非本地计算机系统的中断。
所述控制发声包括控制频率和节奏。
所述控制频率是处理器监视单元通过调用操作系统所提供的发声功能程序实现。
所述控制节奏是通过控制发声的间隔时间。
本发明通过声音监视计算机处理器负载。在实际应用过程中,可以根据即时计算机处理器负载状况的变化,相应改变某种频率声音的节奏,以实时反映某种处理器当前负载状况。当需要同时监视多个处理器时,可以指定多种频率的声音与之对应,这样只需要听各种频率的声音就可以同时监视多个处理器负载。系统管理员可以在听声音监视计算机处理器负载的同时做其他工作,这样就提高了系统管理员的工作效率,为计算机的管理工作带来了方便,增加了计算机的可用性。


图1为实现本发明的装置示意图;图2为实现本发明装置的具体实施例示意图;图3为图2所示的装置实现本发明方法的流程示意图;图4为总控制程序接收用户触发开关事件的方法流程示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
参见图1所示,实现本发明的装置包括控制单元101、处理器监视单元102和发声装置103。其中,控制单元101,用于接收来自用户的控制指令,并根据控制指令向102处理监视单元发出启动/停止监视的控制信号;处理器监视单元102,用于保存计算机处理器负载信息和声音控制信息的对应关系,以及接收控制单元101发出的启动监视的控制信号、获取计算机处理器负载信息对应的发声控制信息以及根据获取的发声控制信息向发声装置103输出声音控制信号,或者接收控制单元101发出的停止监视的控制信号、并根据停止监视的控制信号向发声装置103输出声音控制信号;发声装置103根据接收到的声音控制信号控制声音。
控制单元101还进一步包括信号接收单元104和总控制模块105。信号接收单元104,用于接收来自用户发出的控制指令,并将控制指令输出至总控制模块105;总控制模块105,用于接收信号接收单元104的控制指令,并根据控制指令确定并输出启动/停止监视的控制信号。
实际上,信号接收单元104也就相当于启动/停止开关,其可以是计算机的机箱前面板上的按钮或自定义的一个按键等。而且一个计算机处理器可以对应一个开关,也可以是多个计算机处理器对应一个开关,计算机处理器可以是一个计算机上的多个处理器,也可以是多个计算机中的处理器。发声装置可以采用机箱内的喇叭、嗡鸣器或外接特制的发声装置。发声装置发出的声音可以是语言提示、音乐或某种特定的声音等。
当控制单元101接收到用户的启动监视指令后,向处理器监视单元102发出启动监视控制信号,处理器监视单元102对计算机处理器的负载进行监视,获取到负载信息,并从自身保存的负载信息与声音控制信息的对应关系中获取该负载信息所对应的声音控制信息,并利用该声音控制信息控制发声装置发出该负载信息所对应的声音。
当控制单元101接收到用户的停止监视指令后,向处理器监视单元102发出停止监视的控制信号,处理器监视单元102停止对处理器的负载进行监视,并控制发声装置停止发声。
下面结合附图和具体实施例详细说明本发明的技术方案。
参见图2所示,实现本实施例的装置包括启动/停止开关、处理器监视程序、发声装置和总控制程序。其中,启动/停止开关用于触发启动或者停止处理器监视程序;总控制程序,运行在操作系统下,与上述提到的控制模块相对应,用于接收到用户通过启动/停止开关的触发的信号时,启动或停止处理器监视程序;处理器监视程序,运行在操作系统下,对应于上述处理器监视单元,用于获取需要监视的处理器负载,并根据获取到的发声控制信息控制发生装置发声;发声装置,用户在监视程序的控制下,发出对应频率和节奏的声音。
下面参见流程图3,详细介绍上述实施例的装置实现监视的方法。其具体包括以下步骤步骤300预先设置处理器负载信息与声音信息的对应关系,即设置好用什么声音来表示多少负载范围内的数值,其中声音可以包括语言、频率和节奏等。
步骤301~302启动/停止开关通过操作系统接收到用户的触发开关事件后,启动总控制程序,总控制程序查看处理器监视程序是否正在运行,如果没有运行,说明用户要启动监视计算机处理器负载的功能,则启动处理器监视程序,执行步骤303;如果处理器监视程序已在运行,说明用户想停止通过声音监视处理器负载的功能,则停止处理器监视程序。
步骤303处理器监视程序调用操作系统提供的接口,实时获取相应处理器负载信息。
步骤304处理器监视程序根据预先设置的处理器负载信息与声音控制信息的对应关系,确定应该发出的声音频率和节奏。
步骤305处理器监视程序调用操作系统提供的发声接口,或自定义的发声接口,控制发声装置按照步骤304确定的频率和节奏发出声音。当然,在停止处理器监视程序时,也可以根据用户需要发出特定的某种声音。
上述实施例中的操作系统可以是windows操作系统,也可以是linux操作系统。在windows操作系统下,可以通过调用WMI(WMI,WindowsManagement Instrument)编程接口,即Windows下的用于系统管理的专用编程接口,可以实现对系统性能、统计信息等的管理、控制,从而得到计算机处理器负载信息。下面是以linux操作系统为例,通过声音监视计算机第一个主处理器负载。
在实际应用过程中,上述启动/停止开关可以通过一个触发开关实现,这个触发开关的两根引线,一根接地,另一根接在计算机并口的中断引脚上,如在PC上并口的引脚10,并且用户每按一下开关,就会触发一次并口中断。处理器监视程序是一个运行在Linux下的用户空间应用程序。总控制程序是一个运行在Linux下的用户空间应用程序。并且,本实施例利用计算机的机箱喇叭作为发声装置。
以下分别从总控制程序接收用户触发开关事件、处理器监视程序获取特定处理器负载以及处理器监视程序控制计算机机箱喇叭发声频率和节奏的过程来说明。
一、总控制程序接收用户触发开关事件的方法参见图4所示,在Linux下实现总控制程序接收用户触发开关事件的过程如下步骤400~401当启动/停止开关接收到用户的触发时,触发一次并口中断,在中断过程中,向总控制程序发送信号以唤醒总控制程序。这里,可以通过修改并口中断处理程序使中断发生。
步骤402总控制程序接收到启动/停止开关发送的信号,被唤醒。这里,由于总控制程序本身是死循环,每次循环时首先进入睡眠状态,并只有当发生并口中断时,才会被并口中断处理程序唤醒。
步骤403总控制程序检查自己是否是被信号所唤醒的,如果是,执行步骤404,否则,跳出本流程。
步骤404总控制程序判断接收到的信号是否是与并口中断处理程序约定好的信号,如果是,则认为接收到一次用户触发开关的事件,否则,认为没有接收到用户触发开关事件。
需要说明的是,总控制程序接收用户触发开关事件的方法很多,比如,还可以通过ACPI协议(Advanced Configuration and Power Interface)接管电源按钮,通过按下机箱前面板电源按钮触发开关事件,或者使用串口或其它计算机系统端口的中断代替并口中断,将开关的一个引脚,或者通过计算机网络接收从远程发来的控制指令,并传递给总控制程序。
二、处理器监视程序获取特定处理器负载信息的方法在Linux操作系统下,可以根据Linux操作系统内核的Proc文件系统,即/proc目录下的文件和子目录,获取特定计算机处理器负载信息。这里,本实施例是要获取计算机第一个主处理器的工作负载。该方法如下(1)读取/proc/stat文件,由于要监视计算机的第一块以太网卡,对应Linux操作系统就是文件中以eth0开头的那一行。该文件的内容会在处理器负载监控程序每次读取时由操作系统自动更新,所以每次读到的数据都是即时最新数据。
(2)该文件中关于计算机处理器工作负载的统计数据在文件的最开头几行,第一行是所有处理器总的负载统计,紧接着几行是各个处理器单独的负载统计。相关数据内容的典型格式如下,这是一台只有一个主处理器的计算机,所以cpu开头的总的统计数据,和cpu0开头的第一个主处理器的工作负载统计数据相同 以上数据会在计算机处理器监视程序每次读取时由操作系统自动更新。其中,各列数据含义如下第一列表示自系统启动以后,处理器处理普通用户空间应用程序所耗费的时间片累计总和,这里称之为“Tusr”。
第二列表示自系统启动以后,处理器处理优先级低于标准优先级的用户空间应用程序所耗费的时间片累计总和,这里称之为“Tnice”。在Linux下有一个数值nice用来衡量应用程序的优先级,nice值大于0时,优先级较小,nice值小于0时,优先级较高,标准优先级为0。
第三列表示自系统启动后,处理器处理操作系统内核所耗费的时间片累计总和,这里称之为“Tsys”。
第四列表示自系统启动后,处理器没有任何任务需要处理的时间片累计总和,即空闲的时间片的累计综合,这里称之为“Tidle”。
需要说明的是,对于处理器的工作负载的衡量,就是看其在运行中,有多少时间是工作的,有多少时间是空闲的。所以属于处理器在工作中的时间片就是Tusr,Tsys和Tnice,而Tidle是空闲的时间片。因此,计算机处理器负载,实际上就是计算一个很短的时间段内,处理器所有时间片中工作的时间片所占的比率。当这个时间段非常短时,如1~2秒,就可以认为得到的比率就是那个时间段内的平均处理器负载数据。
如果读取两次cpu0的工作负载统计数据,得到的Tusr,Tsys,Tnice,Tidle分别被命名为Tusr1,Tnice1,Tsys1,Tidle1Tusr2,Tnice2,Tsys2,Tidle2并将各类时间片的总和为Ttotal,对于与两次读数,令Ttotal1=Tusr1+Tnice1+Tsys1+Tidle1Ttotal2=Tusr2+Tnice2+Tsys2+Tidle2那么,在两次读取数据之间的时间段内的平均处理器负载比率,即工作时间占总时间的比率,就是Rate=[(Tusr2+Tnice2+Tsys2)-(Tusr1+Tnice1+Tsys1)]/(Ttotal2-Ttotal1)当两次读数的时间间隔非常短(1~2秒)时,就可以近似的认为这就是即时的CPU利用率,也就是当前计算机处理器负载状况。
三、处理器负载监视程序控制计算机机箱喇叭发声频率和节奏的方法Linux操作系统提供了现成的发声功能,处理器监视程序可以直接调用对应的接口控制发声的频率。其基本调用方式如下(1)打开控制台文件。处理器负载监视程序打开Linux下面的终端设备文件/dev/console,并获取返回的文件标识符。可以通过如下的C语言程序语句实现console_fd=open(″/dev/console″,O_WRONLY);其中console_fd即为打开控制台文件后返回的文件标识符。
(2)按给定频率发声。通过对console_fd表示的终端设备文件发送ioctl命令,可以实现让机箱喇叭发声。可通过如下C语言程序语句实现ioctl(console_fd,KIOCSOUND,1190000/freq);其中,console_fd代表/dev/console终端设备的文件标识符,KIOCSOUND是控制终端发声的命令(Linux操作系统规定的),freq是我们给定的发声频率(频率参数要采用1190000/freq的格式也是Linux操作系统规定的,1190000是常数)。
一旦该程序语句被执行,计算机的机箱喇叭就会持续的发出给定频率的声音。
(3)停止发声通过对console_fd表示的终端设备文件发送ioctl命令,可以使计算机机箱喇叭停止发声。可通过如下C语言程序语句实现ioctl(console_fd,KIOCSOUND,0);这与控制机箱喇叭发声的语句唯一的差别就是频率参数为0。
由于处理器监视程序一运行,就会打开终端设备文件,不再关闭,除非总控制程序停止处理器监视程序,因此这里不做关闭终端设备文件的操作。
另外,控制发声的节奏,实际上控制发声的停止间隔时间的长短。例如,让喇叭每次发出持续时间为0.5秒的声音,然后增加或缩短两次喇叭发声的时间间隔,就可以达到减缓或加快喇叭发声节奏的目的。具体的时间间隔与计算机处理器负载之间的对应关系,应根据实际情况和用户需求确定。例如,当处理器监视程序所监视的负载大时,可以减少喇叭发声的时间间隔,这就加快了喇叭发声的节奏,声音就变的急促起来。这样用户听到声音变急促了,就知道要监视的那个计算机处理器负载变大。当处理器监视程序所监视的处理器负载变小时,可以增加喇叭发声的时间间隔,这就降低了喇叭发声的节奏,声音就变的缓慢下来。这样用户听到声音变缓慢了,就知道他要监视的那个计算机处理器负载降低了。
本发明通过不同频率的声音来监视计算机处理器负载状况。可以据即时负载状况的变化,相应改变某种频率声音的节奏,以实时反映特定计算机处理器负载的当前状况。当需要同时监视多个计算机处理器时,可以指定多种频率的声音与之对应,这样只需要听各种频率的声音就可以同时监视多个计算机处理器负载。系统管理员可以在听声音监视计算机处理器负载的同时做其他工作,这样就提高了工作效率。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种通过声音监视计算机处理器负载的装置,其特征在于,该装置包括控制单元,接收来自用户的控制指令,并根据控制指令向监视单元发出启动/停止监视的控制信号;处理器监视单元,用于保存处理器负载信息和声音控制信息的对应关系,以及接收控制单元发出的启动监视的控制信号、获取处理器负载监视数据以及从所述对应关系中获取对应的发声控制信息,控制发声装置发声,或,接收控制单元发出的停止监视的控制信号、并根据停止监视的控制信号控制发声装置发声;发声装置,根据处理器监视单元的控制进行发声。
2.根据权利要求1所述的装置,其特征在于,所述控制单元包括信号接收单元和总控制模块,所述信号接收单元,用于接收来自用户发出的控制指令,并将控制指令输出至总控制模块;所述总控制模块,用于接收信号接收单元的控制指令,并根据控制指令确定并输出启动/停止监视的控制信号。
3.根据权利要求2所述的装置,其特征在于,所述信号接收单元为计算机前面板上的按钮,或与计算机连接的开关。
4.根据权利要求1所述的装置,其特征在于,所述发声装置为计算机的嗡鸣器、喇叭或外接的可控发声装置。
5.一种利用权利要求1所述的装置实现通过声音监视计算机处理器负载的方法,其特征在于,该方法包括以下步骤A.控制单元接收到用户的控制指令后,确定指令类型,如果是启动指令,则启动处理器监视单元,执行步骤B,如果是停止指令,控制处理器监视程序停止监视;B.处理器监视单元实时获取当前处理器负载状况,并根据自身保存的处理器负载信息与声音控制信息的对应关系,确定该处理器当前负载状况所对应的声音控制信息;C.处理器监视单元利用步骤B中获得的声音控制信息,控制发声装置发声。
6.根据权利要求5所述的方法,其特征在于,所述声音信息为频率和/或节奏。
7.根据权利要求6所述的方法,其特征在于,步骤C所述发声为语言提示,或歌曲。
8.根据权利要求5所述的方法,其特征在于,步骤A中所述控制单元是通过操作系统获取到用户的控制指令。
9.根据权利要求8所述的方法,其特征在于,所述操作系统为windows系统,步骤B中处理器当前负载信息是根据WMI编程接口确定。
10.根据权利要求8所述的方法,其特征在于,当操作系统为linux系统时,步骤B中处理器当前负载信息是根据操作系统内核的PROC文件系统获取。
11.根据权利要求10所述的方法,其特征在于,步骤A中控制单元接收到用户的控制指令包括A1、当启动/停止开关接收到用户的触发时,通过修改中断处理程序触发中断,在中断过程中,向总控制程序发送信号以唤醒总控制程序;A2、总控制程序接收到启动/停止开关发送的信号,检查自己是否是被信号所唤醒的,如果是,执行步骤A3,否则,跳出本流程;A3、总控制程序判断接收到的信号是否是与中断处理程序约定好的信号,如果是,则接收到一次用户触发开关的事件,否则,认为没有接收到用户触发开关事件。
12.根据权利要求11所述的方法,其特征在于,所述中断为并口中断,或串口中断。
13.根据权利要求11所述的方法,其特征在于,所述中断为本地计算机或非本地计算机系统的中断。
14.根据权利要求10所述的方法,其特征在于,所述控制发声包括控制频率和节奏。
15.根据权利要求14所述的方法,其特征在于,所述控制频率是处理器监视单元通过调用操作系统所提供的发声功能程序实现。
16.根据权利要求14所述的方法,其特征在于,所述控制节奏是通过控制发声的间隔时间。
全文摘要
本发明公开了一种通过声音监视计算机处理器负载的装置,该装置包括控制单元,接收来自用户的控制指令,并根据控制指令向处理器监视单元发出启动/停止监视的控制信号;处理器监视单元,用于接收控制单元发出的启动监视的控制信号、获取处理器负载信息以及根据所述对应关系获取对应的发声控制信息,利用该发声控制信息控制发声装置发声,或,接收控制单元发出的停止监视的控制信号、并根据停止监视的控制信号控制发声装置停止发声;发声装置,根据处理器监视单元的控制进行声音。同时本发明还公开了一种通过声音监视计算机处理器负载的方法。本发明可以提高系统管理员的工作效率,为计算机的管理工作带来了方便,增加了计算机的可用性。
文档编号G06F11/32GK1661564SQ200410004579
公开日2005年8月31日 申请日期2004年2月23日 优先权日2004年2月23日
发明者李勇, 周涛 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1