Summary of the invention
The present invention seeks to: to the network equipment situation that TopoServer finds, undertaken the data of TopoServer are integrated, sort out, form the XML data islands and be transferred to display end, be i.e. the WEB system by MasterControl.This display end is the terminal of user to network management, and it can be classified and the demonstration of layering to network topology structure, and the alarm of the network equipment, performance, flow or the like are managed.Increasingly extensive based on current web application, the object of the invention also is: will realize how realizing Topo figure on web, so promptly can break away from the ILOG constraint, it is convenient that the user is brought on the visit approach.
Does technical solution of the present invention is: video monitoring system realize the method for network equipment Topo figure on web?: during the network equipment that TopoServer finds, undertaken the data of TopoServer are integrated by MasterControl, sort out, form the XML data islands and be transferred to display end, be i.e. the WEB system; This display end is the terminal of user to network management, network topology structure is classified and the demonstration of layering, alarm, performance, flow to the network equipment manage: communication standard between Web and the MasterControl comprises: the obtaining and preserving of Topo figure information, warning information, performance information; Web and the MasterControl interface between the two comprises: Web is every 3 minutes or 5 minutes obtaining to MasterControl regularly, and Web triggers in real time by incident;
When realizing network equipment Topo figure, the Topo handling process comprises three main clues:
1) shows Topo (showing the Topo interface)
With all Topo information of concrete certain one deck of XML form transmission, by reading Corba interface byteStream stream: in the JavaBean scheduler module, request/conversion xml flow module converts the DragEvent module to; JS network element and link structure, JS character string, JS character string are directly called in the Web Topo JS class libraries;
Browser sends the request of network Topo (giving tacit consent to top layer Topo) to the JavaBean scheduler module, JavaBean passes through the Corba interface: byteStream getChildStreamData (in string uid, in string pid), obtain the Topo data flow from the MasterControl backstage, the xml stream that converts prescribed form then to sends the Web client;
JS obtains the xml stream that scheduler module is sent by the JSP technology, resolves the xml stream file, forms network element and syndeton array in the JS class libraries; The drawing function that utilizes the JS class libraries at last is with the VML technology Topo figure that draws in the Document of browser.
2) Topo drags (Topo drags interface)
Topo drags and comprises that two drag: the one, and this layer of network element drags; The 2nd, network element dragging between the sublayer.
Which kind of drags all is to send vicissitudinous network element coordinate, hierarchical information to the JavaBean scheduler module by JS by JS passback message interface when level switches or clicks preservation, scheduler module is resolved simultaneous interpretation message, structure DragEvent object (this layer drags) or DragEvent tabulate (dragging between level), and by the Corba interface: oneway void ModifyObjectsPosition (inDragEvent obj) or oneway void ModifyObjectsLayer (in dragEventList objlist) send to MasterControl with message.Dragged the coordinate of object with the version transmission:
3) Topo preserves (Topo saving interface)
The Topo information that the notice that sends instructions MasterControl preserves buffer memory arrives database:
Carry out Topo earlier and drag processing
Topo preserves to be sent by JS and preserves message to the JavaBean scheduler module, and scheduler module is resolved passback message, directly calls the Corba interface: long InformSaveTopo () notifies MasterControl to preserve the Topo data.
And be provided with the alarming processing flow process: alarm processing comprises two main lines:
1) warning information
Warning information interface: transmit by the warning information of object with version: the control centre: request/transfer alarm structure and JS class libraries: JS alarm structure
2) alarm quantity interface: alarm quantity request/transfer alarm quantity and the JS character string of transmitting concrete all object of layer with the form of structure.
The invention still further relates to accompanying drawing: at the accompanying drawing of the link of the network equipment and LA Management Room.
Because synchronous with TopoShow, coordinate will be changed ILOG coordinate and Web page coordinates during drawing, and not so Web just can not be reflected on the TopoShow after dragging and preserving.
Drawing Object drags
Mainly be that this layer of equipment drags with equipment and drags to certain sublayer.
1. because equipment moves and relates to all relevant links of this network equipment and also will and then move, during dragging in real time otherwise stop repaint view, guarantee that view do not shake.
2. the network equipment drags to certain sublayer, mainly is will judge currently which to drag to above the sublayer; And to handle current all link informations relevant after dragging to the sublayer with it.
Topo preserves: show that because Topo is layering the every demonstration one deck of Web all will be from the backstage reading of data, and during switchable layer, the user can't record to the operation of the Topo layer that is switched.
Various administration configuration: obtain some information of equipment because part configuration is the requirement program in real time by SNMP, this time is long, and how Web removes to realize carrying out for a long time JavaBean.(see figure 6)
Beneficial effect: in video monitoring management platform, by introducing topological electronic chart, the equipment of system adds flow process and becomes more succinct and friendly.At first, introduced the notion in territory in the topological electronic chart.The keeper at first adds the Device Domain of this equipment when adding equipment, and then adds the relevant device in the territory.Like this, the pass of territory and equipment ties up in the topological diagram and comes into plain view.Secondly, in topological diagram, the incidence relation of all platform devices, PU main equipment and peripheral subset (camera or The Cloud Terrace) will be shown intuitively with the form of link.In addition, at the alarm output facet, topological electronic chart will filter the ping order alarm of the performance alarm and the PU main equipment of display platform equipment, makes the network maintenance staff can recognize platform and each PU equipment running status in real time, and makes corresponding processing.At last, in topological electronic chart, the user can check the real-time video of any one camera.
This video monitoring management platform has really been accomplished the initiatively visual full video equipment management of netted multiple domain.
Embodiment
The assurance of efficient: when drawing object is many especially, the speed during behavior of Web operand, with the assurance of performance such as background communication.
The choice of technology
Drawing instrument is selected
Web script drawing
Web draws and mainly contains bilingual: VML and SVG.
● VML is that Microsoft proposes, and has only the browser of IE more than 5.0 just to support at present, and any plug-in unit need not be installed, and is vector image, and amplifying and dwindle can distortion.
● SVG is the international standard of vector graphics, does not have the direct embedded support of browser at present, relevant plug-in unit all will be installed just can show.
The JavaBean drawing
Wrap by the drawing of Java and to draw the Topo object, and generate the Applet applet.
● the Applet application program, present IE browser will be installed the JVM virtual environment and just can move, and the rate of loading is slower, but many java class can share with TopoShow in the Applet program, can make TopoShow also break away from the ILOG constraint.
Transfer of data is selected
Interface has two kinds of selection: Corba and Socket between interface Web and the MasterControl
Transformat
Only consider the xml form at present, unified with the TopoShow transformat like this, the xml form also can well be described each object of Topo and the relation between it.
Technical scheme
Noun and abbreviation
VML:Vector Markup Language (but vector SGML), subsidiary IE5.0 issue Microsoft's in September, 1999.
DHTML:Dynamic HTML (dynamic HTML)
TopoServer: the webmaster topology is found background program
MasterControl: webmaster primary control program
Basic design concept
Web Topo does not temporarily adopt the Frame technology, and adopts certain area contents of the IFrame technology control page to carry out Data Update under the situation that does not refresh full page.
Operating system relies on: Windows series, and more than the IE5.0
Functional description: arrange at the various function demonstrations of Web Topo interface
Key data structure
Topo shows (see figure 1)
The image base class
Constructed fuction
function?Graph(){
This._id=null; // NE ID
This._title=null; // element name
This._transform=0; // whether be changed coordinate };
// obtain of Graph class to quote
var_p=Graph.prototype;
Method
(1.init) preliminary examination object properties
(2.draw) VML language drawing object
3.remove () deletes object from Web view documents document
4.setTransform whether the object coordinate is set is changed
The toString method of (5.toString) heavily loaded Object
The network element images category
Constructed fuction
funct?ion?NetGraph(){
Graph.call (this); // succession image base class
This._x=0; //X-axis coordinate (left)
This._y=0; //Y-axis coordinate (top)
This._ip=null; //IP address
This._w=0; // image wide
This._h=0; The height of // image
This._icon=null; // image icon
This._type=-1; // unit type 0 is the network segment };
// obtain of NetGraph class to quote
var_p=NetGraph.prototype=new?Graph;
Method
Except must realizing the abstract method of base class: init, draw, remove, also increased
● setXY resets the object coordinate
● the move object moves
● the relevant alarm quantity of drawWarn drawing object
● the relevant alarm quantity of removeWarn deletion object
The link images category
Constructed fuction
function?LinkGraph(){
Graph.call (this); // succession image base class
This._form=null; // link starting point object ID
This._to=null; // link terminal point object ID };
// obtain of LinkGraph class to quote
var_p=LinkGraph.prototype=new?Graph;
Method
Except must realizing the abstract method of base class: init, draw, remove, also increased
●move
Object moves
Menu bar
Primary structure
The structure of ● // single menu
function?menu(mnuName,mnuText,mnuAlt,mnuIcon,mnuTarget,mnuKey,mnuType,mnuCmd){
This.name=mnuName; // menu sign
This.text=mnuText; // pad name
This.alt=mnuAlt; // menu is described
This.icon=mnuIcon; // menu icon
This.target=mnuTarget; // menu closure
This.key=mnuKey; // menu shortcuts
This.type=mnuType; Whether // Menu Type has submenu
This.cmd=mnuCmd; // menucommand }
● // menu group structure
function?CMenu(mnuName){
this.name =mnuName;
This.menu=new Array (); // menu is array as a result }
● // movable menu
function?ActiveMenu(mnuID,mnuType){
This.id=mnuID; // menu sign ID
This.type=mnuType; // whether be main menu
Main method
● the drawMainMenu main menu of painting
● the drawSubMenu submenu of painting
● showMenu shows main menu
● showRMenu shows right strong menu
● showSubMenu shows submenu
Main handling process (see figure 2)
Realize supporting
Support VML technology and dynamic HTML technology
Important algorithm
Utilize the prototype attribute of JS, realize the succession of JS class.
Interface module/subsystem design
Communication standard between functional description: Web and the MasterControl comprises: the obtaining and preserving of Topo figure information, warning information, performance information.
This interface comprises:
● Web is every 3 minutes or 5 minutes obtaining to MasterControl regularly
● Web triggers in real time by incident
Show the Topo interface
With all Topo information of concrete certain one deck of XML form transmission, by reading Corba interface byteStream stream:
typedef?sequence<octet>byteStream;
// obtain all topo data with one deck with pid
byteStream?getSameStreamData(in?string?uid,in?string?pid);
// to obtain father ID be all topo data of pid
byteStream?getChildStreamData(in?string?uid,in?string?pid);
Flow structure:
<?xml?version=″1.0″encoding=″gb2312″?>
<WebTopo>
<NetView?id=″″pid=″″layer=″″>
<Devices>
<Device?id=″n1″title=″ddl-MA5100″ip=″10.1.1.1″x=″50″y=″50″type=″3″icon=″sun.png″/>
</Devices>
<Links>
<Link?id=″11″title=″″from=″n21″to=″n1″/>
</Links>
</NetView>
</WebTopo>
Topo drags interface
Dragged the coordinate of object with the version transmission:
// object is worked as anterior layer and is dragged
oneway?void?ModifyObjectsPosition(in?DragEvent?obj)
// object drags to certain sublayer
oneway?void?ModifyObjectsLayer(in?dragEventList?objlist)
// positional structure
struct?Position{
String id; // object ID
Long x; // object abscissa
Long y; // object ordinate };
// network element list object
typedef?sequence<Position>PositionList:
// drag structure
struct?DragEvent{
String vid // as front view ID
String pid // current parent ID
PositionList list // object's position tabulation };
typedef?sequence<DragEvent>dragEventList:
The Topo saving interface
The Topo information that the notice that sends instructions MasterControl preserves buffer memory arrives database:
long?InformSaveTopo();
The warning information data structure
The warning information interface
Transmit by the warning information of object with version:
// obtain for the first time alarm (up-to-date 200)
// obtain the warning information Pid of all subobjects of appointed object: the object idAlarmEventList getAllAlarm of the warning information that obtain (in string uid);
// obtain the warning information ID of sequence number greater than assigned serial number: the arrival sequence number */AlarmEventList getNewAlarm of warning information (instring uid, in long id);
// alarm structure
struct?AlarmEvent
{
// sequence of events number
long m_Number;
// create the type of incident network element, type is a short.Value regulation is as follows:
// 1:HostMan system; The 2:Pmee module; The 3:syslog probe; 4:snmp trap probe; 5: regulation engine
//6:AutoTopo?20:AI_probe
short m_CreatorType;
// create the title of incident network element, type is a character string
string m_CreatorName;
// alarm id
string m_AlarmId;
// to create the time of incident, type is a long, expression is from the quantity of the second that standard Event begins
long m_CreateTime;
The numbering of // incident, type are character string.Because to dissimilar incidents, its numbering may have different forms.
// to syslog, its Case Number is an integer;
// to snmp trap, it is numbered an OID value in the MIB tree.
//
string m_EventNo;
The device type of // event source network element, type are short.Value regulation is as follows:
// 0: the unknown; 1: router; 2: switch; 3: main frame; 4: application program; 5: database; 6: fire compartment wall
short m_DeviceType;
Equipment vendors' name of // event source network element, type are character string.
string m_DeviceCompany;
The Id of // event source network element.
string m_SourceName;
The IP address of // event source network element, type is a character string.
string m_SourceIP;
The serious grade of // incident, type are short.Value regulation is as follows:
// 1: normal daily record; 2: common mistake does not influence the operation of equipment; 3: mistake, current device operation exception; 4: gross error, equipment can not be worked; 5: the unknown.
// 0: the affirmation incident, the some incidents that taken place are confirmed.(increase: December 9, in order to carry out alarm clearing)
short m_Severity;
The active state that // incident is current, type are short.Value regulation is as follows:
// 1: reset condition, do not handle; 2: show state has arrived user interface;
// 3: the affirmation state, the user has confirmed this incident; 4: treatment state, this incident have obtained handling and have removed.5: this alarm is eliminated
short m_ActiveStatus;
The title that // incident shows, type is a character string
string m_DisplayTitle;
// incident content displayed can Bao Han $1, $2 isotype string
string m_DisplayString;
// device numbering, escape
string m_DeviceNo; };
typedef?sequence<AlarmEvent>alarmEventList;
The alarm quantity interface
Transmit the alarm quantity of concrete all object of layer with the form of structure
AlarmNumList?getAllAlarmNum(in?string[] id);
// alarm quantity structure
struct?AlarmNum {
String id; // object ID
Long level; // present highest alarm level
Long number; // present highest alarm quantity };
typedef?sequence<AlarmNum>alarmNumList;
JS returns message structure
Mainly be that the Corba interface conversion is become string format, so that communicate by letter with JavaBean during JS passback data.
Show the Topo interface
●Device;Device;…;Device#Link;Linke;…;Link
● Device or Link: attribute, attribute ..., attribute
Topo drags interface
DragEvent:
●vid;pid;PositionList
PositionList:
●Position$Position$...$Position
Position:
●id,x,y
Main handling process (see figure 3)
Scheduler module/subsystem design
Functional description
Be the tie between MasterControl and the Web interface display, be responsible for the conversion of two aspect data and transmit communication information.
Key data structure
Main handling process (see figure 4)
Realize supporting Omni Corba
Program running phase handling process
Topo handling process (see figure 5)
The Topo handling process mainly comprises three main clues at present:
● show Topo
Browser sends the request of network Topo (giving tacit consent to top layer Topo) to the JavaBean scheduler module, JavaBean passes through the Corba interface: byteStream getChildStreamData (in string uid, in string pid), obtain the Topo data flow from the MasterControl backstage, the xml stream that converts prescribed form then to sends the Web client;
JS obtains the xml stream that scheduler module is sent by the JSP technology, resolves the xml stream file, forms network element and syndeton array in the JS class libraries; The drawing function that utilizes the JS class libraries at last is with the VML technology Topo figure that draws in the Document of browser.
● Topo drags
Topo drags and comprises that two drag: the one, and this layer of network element drags; The 2nd, network element dragging between the sublayer.
Which kind of drags all is to send vicissitudinous network element coordinate, hierarchical information to the JavaBean scheduler module by JS by JS passback message interface when level switches or clicks preservation, scheduler module is resolved passback message, structure DragEvent object (this layer drags) or DragEvent tabulate (dragging between level), and by the Corba interface: oneway void ModifyObjectsPosition (inDragEvent obj) or oneway void ModifyObjectsLayer (in dragEventList objlist) send to MasterControl with message.
● Topo preserves
Carry out Topo earlier and drag processing
Topo preserves to be sent by JS and preserves message to the JavaBean scheduler module, and scheduler module is resolved passback message, directly calls the Corba interface: long InformSaveTopo () notifies MasterControl to preserve the Topo data.
The alarming processing flow process
Alarm processing mainly comprises two main lines at present:
One. data structure
1. network element abstract class
As // obtain of Graph class to quote
var_p=Graph.prototype;
// preliminary examination parameter
_p.init=function(){
_ throw (0x0001, " abstract class can not the concrete data of instantiation ");
// picture shape
_p.draw=function(){
_ throw (0x0001, " abstract class can not the concrete data of instantiation ");
// deletion figure
_p.remove=function(){
_ throw (0x0001, " abstract class can not the concrete data of instantiation ");
// the change state is set
_p.setTransform=function(transform){
this._transform=transform;
The toString method of // heavily loaded Object
_p.toString=function(){
Return " oGraph "; Deng
2. device object class
function?NetGraph(){
Graph.call(this);
This._x=0; //X-axis coordinate (left)
This._y=0; //Y-axis coordinate (top)
This._ip=null; //IP address
This._w=0; // image wide
This._h=0; The height of // image
This._icon=null; // image icon
This._type=" 1 "; // unit type 0 is the network segment
The init method of // realization Graph class
The draw method of // realization Graph class
_p.draw=function(){
arr=getIconSize(this._icon);
w =arr[0];
h =arr[1];
// registration the network segment is double-clicked incident
eventStr=″″;
The remove method of // realization Graph class
_p.remove=function(){
// drawing object outer rim
// deletion object outer rim
// reset coordinate
_p.setXY=function(x,y){
// object moves
The toString method of // heavily loaded Object etc.
3. link objects class
function?LinkGraph(){
Graph.call(this);
This._form=null; // link starting point object ID
This._to=null; // link terminal point object ID
The draw method of // realization Graph class
4. menu structure data
Two. execution mode
1. page call on load initialize () method
2. the action triggers incident of mouse on the topo network element called the respective handling method
2.1 network element moves
Dev_MouseDown () method has defined the action of mouse after pressing on the network element device, draws frame and initialization and drags list object.
function?Dev_MouseDown(){
IsDev=true;
// obtain current event to trigger object
curDragObj=event.srcElement;
if(event.srcElement.tagName?!=″image″) return;
// pass the current network object indexing to give menu system, arrObjectID be the oIndex=findDevObjByID of coolmenu.js definition (curDragObj, id);
If // be in the picture link mode to withdraw from immediately
The current selected object frame of // deletion
clearBorder();
// add frame
arrDev[oIndex].drawBorder();
// search the network element relevant link to tabulate
findLinkObjByID(curDragObj.id);
// initialization drags list object etc.
3. network element drag events trigger
This method is judged the concrete actuation of keys of mouse, if right button is pressed, then shows right-click menu; Otherwise judge whether at rolling mouse, trigger the mouse moving event
4. network element is chosen the mouse moving event of the TOPO layer of triggering
5. network element UP incident
At first judge present mode,, then draw new link if draw link mode; Otherwise redraw the network element image.
6. create right strong menu data
7. create submenu data (the right-click menu effect is seen figure)
function?createRSMenu(submenu){
Show right-click menu (the right-click menu effect is seen Fig. 8)
function?showRightMenu(){。