Research Article

Concept Tree-Based Event Matching Algorithm in Publish/Subscribe Systems

Algorithm 1

Build and initialize a hierarchy index tree.
buildTreeIndex( ){
(1) for each hierarchy tree{
(2)  if it is an attribute tree pt{
(3)   TreeIndex ptree = new TreeIndex();
(4)   initTreeIndex(pt, null, ptree);
(5)   for each node name pname of pt, m1.put(pname, ptree);
(6)  }
(7)  if it is an attribute value tree vt{
(8)   TreeIndex vtree = new TreeIndex();
(9)   initTreeIndex(vt, null, vtree);
(10)   for each node name vname of vt, m2.put(vname, vtree);
(11)  }
(12) }
}
initTreeIndex(ct, pNode, tree){
(1) node = new TreeNode( );
(2) node.name = ct.name;
(3) node.parent = pNode;
(4) tree.hashtable.put(node.name, node);
(5) for each childNode of ct{
(6)  initTreeIndex(childNode, node, tree);
(7) }
}