CN103809757A - 一种人机交互系统的实现机制 - Google Patents
一种人机交互系统的实现机制 Download PDFInfo
- Publication number
- CN103809757A CN103809757A CN201410065272.XA CN201410065272A CN103809757A CN 103809757 A CN103809757 A CN 103809757A CN 201410065272 A CN201410065272 A CN 201410065272A CN 103809757 A CN103809757 A CN 103809757A
- Authority
- CN
- China
- Prior art keywords
- file
- server
- client
- request
- man
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种人机交互系统的实现机制,属于服务器远程管理及人机交互领域,本发明主要用于服务器远程管理系统,采用客户/服务器架构,是一种以DOM为基础的文件处理机制,包括人机交互系统的图形界面、客户端的文件请求机制、服务器端的文件解析机制与文件处理机制以及客户端的数据处理机制,将刀片服务器所有监控功能都在WEB页面中体现,减少了页面来回切换的次数,减少资源浪费,且界面效果更直观清晰。
Description
技术领域
本发明涉及服务器远程管理及人机交互领域,具体地说是一种人机交互系统的实现机制。
背景技术
随着云计算的不断发展,原有数据中心云化是必然趋势。为降低成本,最大限度地利用现有数据中心空间,提高性耗比,成为客户的基本要求。数据中心的服务器、存储器等基础设施的设计需要更多地考虑到系统的可靠性、可用性以及可维护性等特性。要实现这些特性,服务器管理监控系统是不可或缺的。
在服务器管理监控系统中,用户与系统交互一般是通过WEB页面来完成的。WEB界面的设计好坏直接影响用户的体验效果,进而影响服务器的监控管理效果。目前很多刀片服务器的WEB监控页面都存在内容繁琐,监控与管理混乱的现象,增加了机房管理员的工作量与工作难度。
发明内容
本发明通过创新,实现了用简单的页面来实现对服务器刀片单元的实时监控与控制,给出了一种服务器远程管理系统的实现机制。
本发明中的人机交互系统主要是指服务器远程管理系统。服务器远程管理系统在逻辑上可分为表现层、服务管理层、业务逻辑层、硬件组件层、运行环境支持层。本发明主要涉及表现层的图形界面,服务处理层的数据传输,业务逻辑层的服务处理。具体公开人机交互系统的图形界面及其实现机制,其中实现机制是以DOM为基础的文件处理机制。
根据本发明的第一方面,提供了一种远程管理设备的图形界面,该界面包含设备信息监控、设备动作控制、调用设备本地控制平台等功能。具体到远程服务器管理系统,主要有系统电源单元的信息监控与控制,风扇单元的速度监控与调控,计算单元的状态监控与远程操作、管理单元自身信息的监控、系统日志信息的记录显示以及系统报警机制的设置,用户管理等功能。本发明的图形界面本着简洁、清晰、安全、人性化及一致性等原则进行设计。机房管理人员可以通过本页面远程查看各计算单元在/不在位、开/关机、板卡的类型、IP地址、KVM选通信息,还可以实现对不同刀片的控制功能。本页面中通过复选框控件来实现对刀片单元的批量控制操作,可以同时对所有的刀片单元进行开机、关机、复位等操作,可以查看各计算单元的健康信息,可以跳转到计算单元本地控制台,实现远端与本地同步控制。当刀片不在位时,对应的复选框及切换通道的按钮显示为不可用,对应的表格行也显示为灰色。
为了实现服务器的远程管理,采用以太网接口,通过WEB浏览器向SMC上的WEB服务器发起文件请求,根据不同的请求执行不同的IPMI命令来完成具体服务,然后将响应数据反馈到WEB服务器,再通过文件响应机制反馈给WEB浏览器。为了简化图形界面的WEB页面程序,设计了框架、数据分开加载的程序结构,通过静态页面嵌入脚本文件,脚本文件中调用底层库,然后回到脚本文件处理返回数据以实现对服务器的信息监控与控制。
根据本发明的第二方面,提供了一种文件请求机制。该机制通过客户端的AJAX引擎向服务器端请求所需信息。AJAX引擎是通过软件构建对象xmit,该对象包含从远程设备获取信息或对其进行操作的所有AJAX数据。
文件请求机制具体分两种情况,一种情况是无需向服务器端传递额外参数即可从请求的文件中获取图形界面所需信息。该情况下AJAX函数如下所示:
xmit.get({url:" url of asp file ",onrcv: onreceive handler});
上述程序段表示客户端向服务器发出的数据调用,其中url of asp file指用于发送RPC请求的特定asp文件,onreceive handler 指客户端接收到来自服务器端数据响应后调用的函数。
另一种情况是需要向服务器端发送额外的参数才能获取UI图形界面所需的信息,该种情况下AJAX函数如下所示:
req =new xmit.getset({url:" url of asp file ",onrcv: onreceive handler });
req.add("NAME",value);
req.send();
上述程序段表示客户端向服务器端发出文件请求时,需要传递额外的参数。需要的参数通过xmit对象的add()方法来添加,通过send()方法来AJAX的XMLHttpRequest 对象发送。
根据本发明的第三方面,提供了一种文件解析机制。该机制是在服务器端解析客户端传递过来的asp文件,从中提取调用的IPMI库文件名、获取数据的函数名以及其他相关参数,然后根据所获取的信息,将客户端的请求分配给相应的处理器进行处理。asp文件的格式如下:
<% WEBIFC_IPMICMD("name of library", "name of function", "param"); %>
<% hapiRPCRespFn("RPC", "sendResponse"); %>
服务器端通过asp标签<% %>中WEBIFC_IPMICMD()对RPC调用的服务器端的文件进行预处理,解析出调用的库及函数名称。
根据本发明的第四方面,提供了一种文件响应机制。该机制是服务器端的处理器依据预处理解析出的库及函数对客户端的请求进行相应处理,将处理结果以XML字符串或JSON结构体的形式返回到客户端。该机制规定了返回数据的格式如下:
WEBVAR_JSONVAR_VarName = { WEBVAR_STRUCTNAME_VarName:
[
{‘Subelement1’ : value1,
‘Subelement2’ : value2,
‘Subelement3’ : value3
},{}
], HAPI_STATUS : NUMERIC
};
其中HAPI_STATUS的值是用来表示服务器端监控状态是否正常的,在该机制中是必须进行定义的变量。
根据本发明的第五方面,提供了一种数据处理机制。该机制是在客户端通过Javascript编程实现的,主要是完成服务器端返回的JSON数据在图形界面上的体现。该机制规定客户端接收到JSON数据后,首先检查HAPI_STAUS的值。如果这个值为零,则继续将JSON数据的其他元素在图形界面上显示,否则根据HAPI_STAUS的值给出相应的异常提示。该机制调用的函数,是在本发明第二方面(文件请求机制)规定的,即onreceive handler,其格式如下:
function onreceive handler (arg)
{
if (arg.HAPI_STATUS == 0)
{
// success path
}
else
{
// failure path
}
}
客户端的文件请求机制主要是通过AJAX模块创建xmit对象来实现。服务器端的文件解析机制是通过asp标签调用C语言编写的程序来获取所请求文件的IPMI库与函数名称,然后将其分配给相应的处理器来实现。服务器端的文件处理机制是通过C语言编写的程序来完成对系统硬件的监控与控制,然后将处理结果以JSON数据形式反馈到客户端来实现。客户端数据处理机制是通过JS将服务器端返回的数据写到页面文件中,实现图形页面的刷新。
本发明的有益效果是:
采用客户端/服务器架构,以DOM为基础的文件处理机制来实现人机交互系统的WEB设计,数据与页面分开,执行效率提高。将刀片服务器所有监控功能都在WEB页面中体现,减少了页面来回切换的次数,减少资源浪费,且界面效果更直观清晰,通过简洁的页面实现复杂的管理。
附图说明
附图1是本发明的远程服务器管理系统计算单元监控页面;
附图2是本发明实现机制流程框图;
附图3是本发明的具体实施方式流程图。
具体实施方式
参照具体实施例对本发明作以下详细地说明。
服务器是否在位的信息在图1所示界面中表格的“链接状态”列显示。假设表示图1所示页面的文件为server.html,其中显示监控信息表格的id属性是server_tab。server.html包含两个javascript编写的js文件server.js与xmit.js。sever.js用于完成客户端的文件机制,即发出文件请求以及对返回的数据进行处理,xmit.js用于定义AJAX对象,则页面中实现服务器在位信息显示的流程如图3所示。
首先通过server.html触发server.js中定义的获取板卡在位信息的函数
getboard = function()
{
xmit.get({url:"getboard.asp",onrcv:getboard_res, status:''});
}
向服务器端发出对文件getboard.asp 的请求。由于与服务器端返回客户端的板卡在位信息是系统中所有板卡的信息,所以此处不需要额外的参数即可获知板卡是否在位。所有采用本发明第二方面的第一种情况来完成文件的请求。
服务器端在接收到客户端请求后,对getboard.asp进行解析,根据其内容
<% WEBIFC_IPMICMD("libifc_kvm.so.1.0","GetBoardStatus", "param"); %>
<% hapiRPCRespFn("RPC", "sendResponse"); %>
提取库文件名称"libifc_kvm.so.1.0"和函数名称"GetBoardStatus" ,然后将其分配给IPMI处理器,即实现本发明的第三方面。
根据上面提取的库与函数,服务器端IPMI处理器调用libifc_kvm.so.1.0库中的GetBoardStatus函数,从硬件设备中监测板卡在位信息,将监测的结果创建成JSON结构体的形式,如下所示:
WEBVAR_JSONVAR_BOARDSTATUS = { WEBVAR_STRUCTNAME_BOARDSTATUS :
[{ 'BOARD_STATUS' : 1},
{ 'BOARD_STATUS' : 1 },
{ 'BOARD_STATUS' : 0 },
{ 'BOARD_STATUS' : 1 },
{ 'BOARD_STATUS' : 0 },
{ 'BOARD_STATUS' : 1 },
{ 'BOARD_STATUS' : 1 },
{ 'BOARD_STATUS' : 1 },
{} ], HAPI_STATUS:0 };
然后将该JSON结构体返回到客户端,即实现本发明的第四方面。
客户端接收到上述JSON数据后,通过getboard_res()对其进行处理:首先判断HAPI_STATUS的值是否为零。若为不零,再提示用户出现错误,若为零,则继续处理JSON的其他元素,根据BOARD_STATUS的值以此定义计算单元是否在为,若BOARD_STATUS的值为1,则在位;,若BOARD_STATUS的值为0,则不在位。如此则完成了计算单元在位信息的显示,即实现本发明的第五方面。
getboard_res()具体代码如下:
function getboard_res(){
var CmdStatus = WEBVAR_JSONVAR_BOARDSTATUS.HAPI_STATUS;
if(CmdStatus != 0){
errstr += (eLang.getString('common',"STR_IPMI_ERROR") + GET_ERROR_CODE(CmdStatus)); alert (errstr);
}else{
DEVICE = WEBVAR_JSONVAR_BOARDSTATUS.WEBVAR_STRUCTNAME_BOARDSTATUS;
for(i=0;i<8;i++){
if(DEVICE[i].BOARD_STATUS == 1){
document.getElementById("server_tab").rows.item(i+1).cells.
item(2).innerHTML="在 位"; document.getElementById("server_tab").rows.item(i+1).style.
color ="#000000"; document.getElementById("server_"+i).disabled=false;
}else if (DEVICE[i].BOARD_STATUS == 0){
document.getElementById("server_tab").rows.item(i+1).cells.
item(2).innerHTML="不在位"; document.getElementById("server_"+i).disabled=true;
document.getElementById("server_tab").rows.item(i+1).style.
color ="#CCCCCC";
}}}}。
Claims (4)
1.一种人机交互系统的实现机制,其特征在于采用客户/服务器架构,以DOM为基础,在客户端通过特定格式的文件请求机制向服务器端发出文件请求,服务器端接收到请求后,通过文件解析机制提取响应请求的底层文件,然后通过文件处理机制响应客户端的请求,将结果以XML字符串或JSON结构体的形式反馈到客户端,客户端收到反馈后,通过JS实现的数据处理机制对数据进行处理,从而构成完整的人机交互系统实现机制。
2.如权利要求1所述的实现机制,其特征在于通过图形界面中页面加载或表单触发调用如下所示的AJAX对象方法来实现文件请求机制:
xmit.get({url:" url of asp file ",onrcv: onreceive handler});
req =new xmit.getset({url:" url of asp file ",onrcv: onreceive handler });
req.add("NAME",value);
req.send();。
3.如权利要求1所述的实现机制,其特征在于采用如下标签实现文件解析机制:
<%WEBIFC_IPMICMD("name of library", "name of function", "param"); %>
<% hapiRPCRespFn("RPC", "sendResponse"); %>。
4.如权利要求1所述的实现机制,其特征在于采用特定的JSON结构体来响应客户端请求,在客户端通过JSON状态元素判断是否存在异常,是否继续更新图形界面的数据,从而完成交互系统的数据更新,实现文件处理与数据处理机制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410065272.XA CN103809757A (zh) | 2014-02-26 | 2014-02-26 | 一种人机交互系统的实现机制 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410065272.XA CN103809757A (zh) | 2014-02-26 | 2014-02-26 | 一种人机交互系统的实现机制 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103809757A true CN103809757A (zh) | 2014-05-21 |
Family
ID=50706647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410065272.XA Pending CN103809757A (zh) | 2014-02-26 | 2014-02-26 | 一种人机交互系统的实现机制 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103809757A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647015A (zh) * | 2018-05-08 | 2018-10-12 | 深圳市智汇牛科技有限公司 | 一种自动厨房领域的人机交互系统架构 |
CN111158275A (zh) * | 2019-12-24 | 2020-05-15 | 浙江工业大学 | 一种基于BLE和Web服务器的液位计读写装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921484A (zh) * | 2006-09-14 | 2007-02-28 | 南京中兴软创软件有限公司 | 一种基于浏览器的客户端/服务器架构 |
CN101159607A (zh) * | 2007-11-22 | 2008-04-09 | Ut斯达康通讯有限公司 | 一种实现远程浏览网元mib节点的网络管理系统 |
CN101883086A (zh) * | 2010-03-15 | 2010-11-10 | 浪潮集团山东通用软件有限公司 | 一种ASP.NET环境下Comet功能的实现方法 |
-
2014
- 2014-02-26 CN CN201410065272.XA patent/CN103809757A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921484A (zh) * | 2006-09-14 | 2007-02-28 | 南京中兴软创软件有限公司 | 一种基于浏览器的客户端/服务器架构 |
CN101159607A (zh) * | 2007-11-22 | 2008-04-09 | Ut斯达康通讯有限公司 | 一种实现远程浏览网元mib节点的网络管理系统 |
CN101883086A (zh) * | 2010-03-15 | 2010-11-10 | 浪潮集团山东通用软件有限公司 | 一种ASP.NET环境下Comet功能的实现方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647015A (zh) * | 2018-05-08 | 2018-10-12 | 深圳市智汇牛科技有限公司 | 一种自动厨房领域的人机交互系统架构 |
CN111158275A (zh) * | 2019-12-24 | 2020-05-15 | 浙江工业大学 | 一种基于BLE和Web服务器的液位计读写装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10003671B2 (en) | Capturing and replaying application sessions using resource files | |
CN100490385C (zh) | 图形设备管理系统及方法 | |
CN109656570B (zh) | 集群系统及其运行方法、电子设备和存储介质 | |
US10027534B1 (en) | Log management system and method for distributed computing systems | |
US9037914B1 (en) | Error handling for widgets | |
US10587655B1 (en) | Compliance management system and method for an integrated computing system | |
US20170078388A1 (en) | Browser-based virtual media administration | |
WO2022068671A1 (zh) | 云桌面的显示方法和系统 | |
CN111913884A (zh) | 分布式测试方法、装置、设备、系统和可读存储介质 | |
CN112925463A (zh) | 信息流的发布处理方法、装置、介质及电子设备 | |
US8806360B2 (en) | Computing resource management in information technology systems | |
CN105096210A (zh) | 一种基于多进程架构的变电站在线监控方法 | |
CN113900834A (zh) | 基于物联网技术的数据处理方法、装置、设备及存储介质 | |
CN110740069A (zh) | 一种跨云平台托管装置和方法 | |
CN103809757A (zh) | 一种人机交互系统的实现机制 | |
US11777784B2 (en) | Intelligent network management system | |
CN109728957B (zh) | 一种交互式运维的方法及装置 | |
CN114443192B (zh) | 基于云桌面的多窗口虚拟应用方法及装置 | |
CN108011964A (zh) | 图片上传方法、装置、电子终端及可读存储介质 | |
KR100893305B1 (ko) | 원격지 서버 컴퓨터를 이용한 다중 사용자용 웹 브라우징환경 제공 시스템과 그 제어 방법 | |
CN111522599A (zh) | 用于发送信息的方法和装置 | |
US20160210033A1 (en) | Remote Support of a Device | |
CN110647335B (zh) | 软件灰度发布方法、装置、电子设备及存储介质 | |
US9942361B2 (en) | Reporting page composition data | |
CN116016480B (zh) | 基于虚拟桌面的流程自动化控制方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140521 |