CN1694094A - Rapid event matching method in event model - Google Patents

Rapid event matching method in event model Download PDF

Info

Publication number
CN1694094A
CN1694094A CN200510040618.1A CN200510040618A CN1694094A CN 1694094 A CN1694094 A CN 1694094A CN 200510040618 A CN200510040618 A CN 200510040618A CN 1694094 A CN1694094 A CN 1694094A
Authority
CN
China
Prior art keywords
predicate
order
event
coupling
match
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.)
Granted
Application number
CN200510040618.1A
Other languages
Chinese (zh)
Other versions
CN100367216C (en
Inventor
潘金贵
贝佳
沈瑜
徐晓旸
苏绍勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CNB2005100406181A priority Critical patent/CN100367216C/en
Publication of CN1694094A publication Critical patent/CN1694094A/en
Application granted granted Critical
Publication of CN100367216C publication Critical patent/CN100367216C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A fast event matching method in event model. Its steps are divided into two parts of event order and event match, and they are as follows. Event order: the event order processing on the data structure of event matching arithmetic is the pretreating course of event order, that is when the event server receives new event order, it needs to renew predicate words list, interface list and order list; event match: on the basis of pretreating of data structure and event order, it just needs to have matching test to the received event in predicate words list line by line. It processes the right direction match of the order area and the promulgating value, and also processes the converse match of the order area and the promulgating value and the symmetrical match of he order area and the promulgating area; the present invention aims at the requirement of needing dynamic symmetrical event match support in distributed virtual environment, and puts forward a kind of improved fast event match arithmetic on the basis of present two kinds of arithmetic. The arithmetic synthesizes the advantages of the two kinds of arithmetic, and improves the match speed and efficiency.

Description

Quick event matches method in the event model
Technical field
The present invention relates to the communication problem in the distributed virtual environment, the particularly quick event matches method in the event model, relate to have asynchronism, the communication modes of characteristics event model such as dynamic, multi-to-multi and anonymity.
Technical background
Distributed virtual environment (DVE) technology has become the subject of a hot topic of present computer realm, has all obtained successful application in various fields such as military affairs, medical science, building, education and amusement [1]Singh G, Serra L.Brick Net:A Software Toolkit for Network Based Virtual Worlds (the Software tool bag of distributed virtual environment), Presence, 1994,3 (1): pp.19-34.
Event model (Event Model) be independent of application be used to provide structure based on event communication, incident (Event) [2]M.Haahr, R.Meier.P.Nixon, V.Cahill and E.Jul, Filtering and Scalabilityin the ECO Distributed Event Model (filtration of the distributed event model of ECO and stability), In 5 ThInternational Symposium on Software Engineering for Parallel and DistributedSystems, 2000.It is exactly the basic communication mechanism in this traffic model.As a kind of novel traffic model, the effect of event model in the distributed system communication is obvious day by day, and its characteristics and meaning are that it provides a kind of communication mode of loose coupling.This communication mode has asynchronous communication, dynamic, many-many communication mode and can anonymous characteristics, these characteristics make it can adapt to the needs of large-scale distributed system, make the communication module and the emulation module of distributed virtual environment independently to design and develop respectively simultaneously, reduced the complicacy of designing and developing.
Event matches is a very important link in the event model design, is the efficient transmitted of the incident of decision event model and the key of accuracy.
In the event model of distributed virtual environment, the event matches in the model is issued/ordered to the symmetry that is based on content of greatest concern.In this model, the issue zone of incident need be ordered the zone with each and mated, and each issue zone and order the zone and is made up of a plurality of predicates is realized issuing the zone and ordered regional coupling so be actually by the coupling between the predicate.
When a system will handle a large amount of orders and incident, the event matches demand side is to thousands of predicate, so, can can carry out event matches have fast determined the real-time of system be met, whether the simultaneous events coupling accurately also will influence the accuracy that whole event transmits, and the event matches algorithm of a low accuracy rate of poor efficiency can bring congested and bottleneck to system to a great extent.
Therefore, study a kind of algorithm of event matches fast and accurately and not only have profound significance in Related Research Domain, simultaneously also be distributed virtual environment to a great extent commercial field can be successful key in application.Existing main event matches algorithm research all is to be optimized processing aspect the extra predicate matching test reducing, and main algorithm generally is divided into two classes [3]Walid Rjaibi, Klaus Dittrich and Dieter Jaepel.Event matching in symmetric subscription systems (event matches in the symmetrical order system), In CASCON Conference, 2002: based on predicate Index Algorithm (Predicate Indexing Based) with based on matching network algorithm (Testing Network Based).
The index structure that mainly is organized into based on the event matches algorithm of predicate Index Algorithm based on the predicate in ordering, this type of algorithm generally is made up of two stages, phase one is carried out the predicate matching test, and subordinate phase re-uses the test result of phase one and orders matching test.Represent algorithm to have: counting algorithm (CountingAlgorithm) [4]T.W.Yan and H.Garc ' ya-Molina.Index Structures for SelectiveDissemination of Information Under the Boolean Model (index structure of Information Selection distribution under boolean's model) .ACM Trans.Database Syst., 1994,19 (2): pp.332-334; The gloomy algorithm of the Chinese (Hanson Algorithm) [5]E.Hanson, M.Chaabouni, C.Kim and Y.Wang.A PredicateMatching Algorithm for Database Rule Systems (the predicate matching algorithm in a kind of database association rule system), In SIGMOD ' 90,1990 etc.
Based on the main thought of the algorithm of matching network be at pretreatment stage ordering the structure of forming a figure or matching network, incident enters from the inlet of figure, filters by each intermediate node, judges matching result up to outlet.Represent algorithm to have: based on the algorithm of coupling tree (Testing Tree Based) [6]M.Aguilera, R.Strom, D.Sturman, M.Astley and T.Chandra.Matching Events in A Content-basedSubscription System (event matches in the content-based order system), In Eighteen ACMSymposium on Principles of Distributed Computing (PODC ' 99), 1999 and based on y-bend decision diagram (Binary Decisions Diagrams, algorithm BDDs) [7]A.Campailla, S.Chaki, E.Clarke, S.Jha ahd H.Veith.Efficient Filtering in Publish-Subscribe Systems Using BinaryDecision Diagrams (using the high efficiency filter of y-bend decision diagram in the publish/subscribe system), In Proceedingsof the 23th International Conference on Software Engineering, Toronto, Canada, May2001, pp.443-452.
Existing two class matching algorithms all have deficiency separately: can't utilize auxiliary coupling of correlativity between different attribute as the algorithm based on the predicate index, thereby improve matching efficiency; And needing static structure coupling tree or y-bend decision diagram based on the event matches algorithm of decision networks, the needs of incompatibility dynamic event coupling are difficult to dynamically update, and generally only are applicable to static event model.And in distributed virtual environment, incident and order all are dynamic, and not only incident needs the transmission of real time high-speed, and ordering also needs to bring in constant renewal in according to the change of User Status.In addition, algorithm can only adapt to asymmetrical event matches at present, can not solve the problem of symmetrical event matches in the distributed virtual environment.
Summary of the invention
The objective of the invention is: in distributed virtual environment, the requirement that needs dynamic symmetrical event matches to support, on existing two class algorithm bases, a kind of improved quick event matches algorithm is proposed, this algorithm can combine two class algorithms advantage separately, not only improve the speed and the efficient of coupling, also solved the problem of symmetrical event matches.
Suppose to order expression formula and form, and incident remains by attribute forming by a plurality of predicates.
Emphasis of the present invention is the data structure part, and this also is the key of algorithm optimization of the present invention.Key data structure is made up of a predicate table (Predicate Table), a coupling bucket (MatchBucket), order tabulation (Subscription List) and interface list (Interface List) as shown in Figure 1.
Predicate table (Predict Table): among the present invention, predicate table is the core of data structure, the tissue bond of predicate table predicate Index Algorithm and the matching network algorithm characteristics of data structure separately.All predicate classification become the family of predicates, and the predicate with same alike result and same operation symbol is included into a family of predicates.All families of predicates are divided into equivalent predicate, go up thresholding predicate and following thresholding predicate three classes.The delegation of the corresponding predicate table of each family of predicates, and arrange according to the order of sequence: " attribute<" family of predicates (as accompanying drawing 2), predicate ratio is arranged from big to small, otherwise, " attribute>" family of predicates, predicate ratio sorts from small to large, and then no matter which kind of order can for the equivalent family of predicates.In addition, the predicate in will ordering in the predicate table links with pointer, all points to the concrete order of ordering tabulation at last.
Coupling bucket (Match Bucket): be used for auxiliary predicate table and mate.Coupling to predicate table is carried out line by line, but not every order is all ordered all families of predicates, the pointer that has may be crossed over some row, in order to make such predicate in lining by line scan, can not lose, adopt the data structure of coupling bucket, be used for temporarily storing the index of these predicates that delayed.
Interface list (Interface List) and order tabulation (Subscription List): the ordering information of interface and interface correspondence has been safeguarded in interface list and order tabulation.The order tabulation has been registered all and has been joined a record of the order of predicate table, and a pointer that points to first predicate of ordering in the predicate table is arranged simultaneously, is convenient to all predicates that travel all over is ordered.Interface has been represented the direction of transfer of incident, is the final purpose of event matches.Each interface has many ordering informations,
So all orders are organized together with interface list and order tabulation.
Quick event matches method step in the event model is as follows, is divided into incident and orders and the event matches two large divisions:
Incident is ordered: the incident subscription process on the data structure of event matches algorithm is exactly the preprocessing process of event matches, after Event Service receives new incident order, needs to upgrade predicate table, interface list and order tabulation;
At first, order joined order in the tabulation, last of the corresponding interface ordered the initiate order of follow-up sensing of last clauses and subclauses in ordering tabulation, and the order number of corresponding interface in the interface list is added 1; Surpassed limit value if order number, chosen two orders and assemble in all orders of this interface, the standard of selection is the lap maximum of two orders;
Then, clauses and subclauses are ordered in registration in predicate table.The information of ordering by binary chop, finds the insertion position according to predicate table order from top to bottom in ordering each family of predicates that is comprised, corresponding order value is inserted in the table; In the process that predicate table inserts, the predicate that inserts is linked one by one by from top to bottom order, point to the correspondence position of ordering in the tabulation at last, and the pointer of first position in predicate table is ordered in corresponding list item transmission in ordering tabulation.
Event matches: on the pretreated basis of data structure and incident order, only need the incident that receives is carried out matching test line by line in predicate table, establish P iBe the set of all predicates of the capable family of predicates of i, P I_matchExpression P iThe predicate set of middle this incident of coupling, S MatchThe order set of expression coupling;
Algorithm at first carries out initialization to coupling bucket content.Traversal is ordered tabulation, finds the position of first predicate of each order, after the initialization, has preserved the index of first predicate of all orders in the coupling bucket; The data structure of the coupling bucket that employing is carried out line by line to the coupling of predicate table is used for temporarily storing the index of these predicates that delayed.
Need then predicate table is lined by line scan.Each row for predicate table mainly carries out two parts work: find all predicates of this incident of coupling in this family of predicates, according to the content of coupling bucket the predicate of these couplings is investigated one by one then; All predicates in the predicate table are divided into the coupling and the two parts that do not match,
When testing i is capable, for the non-equivalent family of predicates, because predicate all passes through ordering, so can use binary chop, the property value according to corresponding in the incident finds a position with P iBe divided into P I_leftAnd P I_rightTwo parts, P I_leftThe P of just corresponding this delegation I_match, represent the set of this incident of coupling in the predicate of this row; For the equivalent family of predicates, then search the predicate that all predicate values equal the property value of incident correspondence, put into P I_matchIf this incident does not comprise the attribute of this journey correspondence, think that then all predicates of this delegation all mate P I_matchAll predicates that comprise this row;
In test line by line, be located at when testing i is capable, the predicate set of the capable correspondence of i is Bi in the coupling bucket, then all predicate set of really satisfying matching test are P in this row I_match∩ B iTo be that the order of ordering the predicate correspondence of last node adds S in this set Match, remaining then inserts its follow-up predicate index correspondence position in the coupling bucket.To P I_matchAnd B iCap, only need be B iIn each predicate index and this be about to predicate table P iBe divided into P I_leftAnd P I_rightTwo-part split position compares, and just represents that before this position this predicate belongs to this and asks the friendship result, otherwise disallowable.
Characteristics of the present invention are: this algorithm synthesis two class algorithms advantages separately, not only improved the speed and the efficient of coupling, also solved the problem of symmetrical event matches.
Description of drawings
Fig. 1 is a key data structure of the present invention, is made up of a predicate table (Predicate Table), a coupling bucket (Match Bucket), order tabulation (Subscription List) and interface list (Interface List).
Fig. 2 is the delegation's (" X<" family of predicates) in the predicate table of the present invention: the delegation of the corresponding predicate table of each family of predicates, and arrange according to the order of sequence.
Fig. 3 is the false code of algorithm of the present invention
Specific implementation method
Concrete grammar of the present invention (algorithm) step is as follows, mainly is divided into incident and orders and the event matches two large divisions:
Incident is ordered: though the present invention ground design object is quick event matches algorithm, incident is ordered has also influenced the data structure that event matches relied on.Incident subscription process on the data structure of event matches algorithm is exactly the preprocessing process of event matches.After Event Service receives new incident order, need to upgrade predicate table, interface list and order tabulation.At first, order joined order in the tabulation, last of the corresponding interface ordered the initiate order of follow-up sensing of last clauses and subclauses in ordering tabulation, and the order number of corresponding interface in the interface list is added 1.Surpassed limit value if order number, chosen two orders and assemble in all orders of this interface, the standard of selection is the lap maximum of two orders.Then, clauses and subclauses are ordered in registration in predicate table.The information of ordering by binary chop, finds the insertion position according to predicate table order from top to bottom in ordering each family of predicates that is comprised, corresponding order value is inserted in the table.In the process that predicate table inserts, the predicate that inserts is linked one by one by from top to bottom order, point to the correspondence position of ordering in the tabulation at last, and the pointer of first position in predicate table is ordered in corresponding list item transmission in ordering tabulation.
The user also can send the existing request of ordering of upgrading to Event Service.In distributed virtual environment, need constantly to upgrade to order.Upgrading the treatment step of ordering newly orders similar with adding.In predicate table, the predicate that correspondence is ordered is replaced one by one, and rearrangement is inserted.
Event matches: on the pretreated basis of data structure and incident order, only need the incident that receives is carried out matching test line by line in predicate table.
If P iBe the set of all predicates of the capable family of predicates of i, P I_matchExpression P iThe predicate set of middle this incident of coupling.S MatchThe order set of expression coupling.
Algorithm at first carries out initialization to coupling bucket content.Traversal is ordered tabulation, finds the position of first predicate of each order.If the position of first predicate i that i is capable in predicate table of order row adds this location index j so in the i that mates bucket is capable.After the initialization, preserved the index of first predicate of all orders in the coupling bucket.
Need then predicate table is lined by line scan.Each row for predicate table mainly carries out two parts work: find all predicates of this incident of coupling in this family of predicates, according to the content of coupling bucket the predicate of these couplings is investigated one by one then.
Finding in the family of predicates all predicates of match event is exactly that all predicates in the predicate table are divided into the coupling and the two parts that do not match.When testing i is capable, for the non-equivalent family of predicates, because predicate all passes through ordering, so can use binary chop, the property value according to corresponding in the incident finds a position with P iBe divided into P I_leftAnd P I_rightTwo parts, P I_leftThe P of just corresponding this delegation I_match, represent the set of this incident of coupling in the predicate of this row.For the equivalent family of predicates, then search the predicate that all predicate values equal the property value of incident correspondence, put into P I_matchIf this incident does not comprise the attribute of this journey correspondence, think that then all predicates of this delegation all mate P I_matchAll predicates that comprise this row.
In test line by line, be located at when testing i is capable, the predicate set of the capable correspondence of i is Bi in the coupling bucket, then all predicate set of really satisfying matching test are P in this row I_match∩ B iTo be that the order of ordering the predicate correspondence of last node adds S in this set Match, remaining then inserts its follow-up predicate index correspondence position in the coupling bucket.To P I_matchAnd B iCap, only need be B iIn each predicate index and this be about to predicate table P iBe divided into P I_leftAnd P I_rightTwo-part split position compares, and just represents that before this position this predicate belongs to this and asks the friendship result, otherwise disallowable.
The coupling of symmetry incident:
The present invention can also solve the matching problem of the symmetrical incident that other algorithm can't take into account.Symmetrical event matches not only needs to handle orders forward coupling regional and the issue value, also needs to handle the reverse coupling and the issue zone of issuing zone and order value and orders regional symmetry coupling.
Symmetry event matches issue to be processed zone and order zone all are made up of a plurality of predicates, and the problem of in fact symmetrical event matches just can be decomposed into the coupling between predicate and the predicate.In the present invention, predicate is divided into three classes according to the operational character that limits separately.
For equivalent predicate, all be identical no matter the event matches of forward, reverse still symmetry is handled, as long as property value equates just coupling, unequally just do not match.
The event matches of last thresholding and following thresholding predicate is then different, last thresholding and following thresholding predicate generally are paired appearance, determine the scope of an attribute together, so paired coupling of attribute that when predicate mates, needs predicate to comprise, this often adopts the predicate matching process of intersection, as for certain attribute predicate A, orders regional A ∈ (a, b), issue
(c d), clearly, has only under the situation of c<b or d<a just not match following two of other situations to zone A ∈
Range of attributes all has overlapping, so the last thresholding predicate of order and the following thresholding predicate of issue need be compared, the following thresholding predicate of order then compares with the last thresholding predicate of issuing.
The predicate coupling of intersecting is easy to realize that algorithm stands good on the algorithm structure of the predicate table of above-mentioned introduction.The algorithm of symmetry is still lined by line scan in predicate table, and is still the same for the equivalent family of predicates.During the thresholding family of predicates, choose the property value of the following thresholding predicate in the issue zone and test in test, still to becoming event matches to carry out binary chop the predicate in the delegation is divided into left and right sides two parts as non-, the predicate of left side partly mates.For the down test of the thresholding family of predicates, then get the corresponding thresholding predicate coupling that goes up in the issue zone, still get the left side after cutting apart with predicate is capable.
So basic identical to the scanning process and the aforementioned algorithm of predicate table, the tested object of just choosing of change, algorithm itself do not need to change, this has just realized the coupling of symmetrical incident.
In the event matches algorithm of such symmetry, if carry out forward or reverse event matches, only need get identical value to the last thresholding predicate of the association attributes in a side the order zone with following thresholding predicate, other handle still the same.
The method that the present invention proposes, and there is following advantage in the event model system in the distributed virtual environment of design realization in view of the above:
Matching speed is fast: algorithm of the present invention has utilized relevance between predicate and the correlativity between attribute, has accelerated matching speed, makes can both obtain in the present invention embodying based on the predicate Index Algorithm with based on matching network algorithm advantage separately.
Dynamic: algorithm of the present invention does not need to have overcome the shortcoming of this class algorithm as existing as based on the static structure matching network of the algorithm of matching network, can upgrade ordering information dynamically.
High-level efficiency: with compare based on the algorithm of predicate index, this algorithm is also divided the family of predicates, and each family of predicates has been carried out index with the ordering or the mode of hash table, this makes and can obtain very high efficient when each predicate is mated.
Complexity reduces: the space complexity of algorithm of the present invention is according to the lot-size linear growth; Its preprocessing process is that the time complexity that incident is ordered reduces greatly than existing event matches algorithm based on matching network, the time complexity of the time complexity of matching process and other event matches algorithms is suitable, therefore, the overall time complexity of algorithm can reduce significantly.
Realize the coupling of symmetrical incident: the coupling of carrying out asymmetric incident that algorithm of the present invention can not only efficiently and accurately, also be applicable to the coupling of symmetrical incident simultaneously, this be existing other algorithm can't accomplish.
Current, along with being extensive use of of Internet, distributed virtual environment and relevant a series of application thereof are a kind of event matches technology rapidly and efficiently of exigence all, and algorithm of the present invention we can say positive adaptation this demand can be predicted good market outlook.
The false code of algorithm as shown in Figure 3.
Embodiment: be applied in the distributed event model of network
In the distributed environment based on CBT (Core-Based Tree) multicast tree and active route thought, All hosts all passes through active router (Active Router) and is connected on the multicast tree, uses the event model of publish/subscribe to carry out communication simultaneously.Giving out information wherein, subscribe message or issue zone, order the value of all use a plurality of attributes in the zone or the structure of codomain composition is represented, be called an interest expression formula.
In the phase one, initiatively router is after receiving the subscribe message that each main frame that connects it or downstream router send, when safeguarding the virtual interface state, create and safeguard the routing space (Routing Space) that all order zones (interest expression formula) constitute.This routing space is configured to the structure (predicate table is ordered tabulation and interface list) of a plurality of chained lists as previously mentioned, determines the structure of chained list according to the number and the relation of the attribute in the interest expression formula.
After this, publish/subscribe message is constantly propagated on multicast tree, initiatively router according to new subscribe message or order that updating message do not stop safeguard routing space the time, need to handle the distributing data that receives, mate accordingly according to the interest expression formula in the distributing data.
When implementing concrete coupling, according to quick event matches method of the present invention: each attribute codomain in the interest expression formula at first will giving out information or value compare with chained list or array element in the corresponding routing space.Because chained list was arranged preface, therefore traversal chained list from small to large just can find the position of attribute codomain correspondence in chained list of issue, also just can know whether with the order zone existence of certain virtual interface to occur simultaneously.
At this moment, judge: if first attribute codomain is carried out search procedure, put into a set existing the interest expression formula of occuring simultaneously to collect so, will from this results set, reject unmatched expression formula the matching process of follow-up attribute.Because require all properties in the distributing data all to require to satisfy simultaneously certain interest expression formula in the routing space, therefore above-mentioned way is reasonably, as long as there is a condition not satisfy, just can reject unnecessary expression formula.To the end of scan of predicate table, promptly finish coupling after, remaining expression formula is exactly the result of coupling in the set.
After coupling was finished, success is mated gave out information according to ordering the virtual interface that content in chained list and the interface chained list can find corresponding order place, and the data of transmitting this issue to the active router or the main frame of correspondence by virtual interface.
Said process constantly repeats, and bears the carrying out of the communication in the whole distributed environment.
The present invention provides the realization thought and the computer program of this method, does not need special working condition, in case study successful cost and almost can ignore.

Claims (3)

1, the quick event matches method in the event model is characterized in that being divided into incident and orders and the event matches two large divisions;
Incident is ordered: the incident subscription process on the data structure of event matches algorithm is exactly the preprocessing process of event matches, after Event Service receives new incident order, needs to upgrade predicate table, interface list and order tabulation;
At first, order joined order in the tabulation, last of the corresponding interface ordered the initiate order of follow-up sensing of last clauses and subclauses in ordering tabulation, and the order number of corresponding interface in the interface list is added 1; Surpassed limit value if order number, chosen two orders and assemble in all orders of this interface, the standard of selection is the lap maximum of two orders;
Then, clauses and subclauses are ordered in registration in predicate table.The information of ordering by binary chop, finds the insertion position according to predicate table order from top to bottom in ordering each family of predicates that is comprised, corresponding order value is inserted in the table; In the process that predicate table inserts, the predicate that inserts is linked one by one by from top to bottom order, point to the correspondence position of ordering in the tabulation at last, and the pointer of first position in predicate table is ordered in corresponding list item transmission in ordering tabulation;
Event matches: on the pretreated basis of data structure and incident order, only need the incident that receives is carried out matching test line by line in predicate table, establish P iBe the set of all predicates of the capable family of predicates of i, P I_matchExpression P iThe predicate set of middle this incident of coupling, S MatchThe order set of expression coupling;
Algorithm at first carries out initialization to coupling bucket content.Traversal is ordered tabulation, finds the position of first predicate of each order, after the initialization, has preserved the index of first predicate of all orders in the coupling bucket; The data structure of the coupling bucket that employing is carried out line by line to the coupling of predicate table is used for temporarily storing the index of these predicates that delayed.
Need then predicate table is lined by line scan, each row for predicate table mainly carries out two parts work: find all predicates of this incident of coupling in this family of predicates, according to the content of coupling bucket the predicate of these couplings is investigated one by one then; All predicates in the predicate table are divided into the coupling and the two parts that do not match;
When testing i is capable, for the non-equivalent family of predicates, because predicate all passes through ordering, so can use binary chop, the property value according to corresponding in the incident finds a position with P iBe divided into P I_leftAnd P I_rightTwo parts, P I_leftThe P of just corresponding this delegation I_match, represent the set of this incident of coupling in the predicate of this row; For the equivalent family of predicates, then search the predicate that all predicate values equal the property value of incident correspondence, put into P I_matchIf this incident does not comprise the attribute of this journey correspondence, think that then all predicates of this delegation all mate P I_matchAll predicates that comprise this row;
In test line by line, be located at when testing i is capable, the predicate set of the capable correspondence of i is Bi in the coupling bucket, then all predicate set of really satisfying matching test are P in this row I_match∩ B iTo be that the order of ordering the predicate correspondence of last node adds S in this set Match, remaining then inserts its follow-up predicate index correspondence position in the coupling bucket.To P I_matchAnd B iCap, only need be B iIn each predicate index and this be about to predicate table P iBe divided into P I_leftAnd P I_rightTwo-part split position compares, and just represents that before this position this predicate belongs to this and asks the friendship result, otherwise disallowable.
2, by the quick event matches method in the described event model of claim 1, the method that it is characterized in that the coupling of symmetrical incident is: handle the forward coupling of order zone and issue value, also handle the reverse coupling and the issue zone of issuing zone and order value and order regional symmetry coupling;
Symmetry event matches issue to be processed zone and order zone all are made up of a plurality of predicates, and predicate is divided into three classes according to the operational character that limits separately;
For equivalent predicate, all be identical no matter the event matches of forward, reverse still symmetry is handled, as long as property value equates just coupling, unequally just do not match;
The predicate matching process that the paired coupling employing of attribute intersects compares the last thresholding predicate of order and the following thresholding predicate of issue, and the following thresholding predicate of order then compares with the last thresholding predicate of issuing;
During the thresholding family of predicates, choose the property value of the following thresholding predicate in the issue zone and test in test, still to becoming event matches to carry out binary chop the predicate in the delegation is divided into left and right sides two parts as non-, the predicate of left side partly mates; For the down test of the thresholding family of predicates, then get the corresponding thresholding predicate coupling that goes up in the issue zone, still get the left side after cutting apart with predicate is capable;
In the event matches algorithm of such symmetry, if carry out forward or reverse event matches, only need get identical value to the last thresholding predicate of the association attributes in a side the order zone with following thresholding predicate, other handle still the same.
3,, it is characterized in that the user sends the existing request of ordering of upgrading to Event Service by the quick event matches method in the described event model of claim 1; In distributed virtual environment, need constantly to upgrade to order; Upgrading the treatment step of ordering newly orders similar with adding; In predicate table, the predicate that correspondence is ordered is replaced one by one, and rearrangement is inserted.
CNB2005100406181A 2005-06-20 2005-06-20 Rapid event matching method in event model Expired - Fee Related CN100367216C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100406181A CN100367216C (en) 2005-06-20 2005-06-20 Rapid event matching method in event model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100406181A CN100367216C (en) 2005-06-20 2005-06-20 Rapid event matching method in event model

Publications (2)

Publication Number Publication Date
CN1694094A true CN1694094A (en) 2005-11-09
CN100367216C CN100367216C (en) 2008-02-06

Family

ID=35353057

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100406181A Expired - Fee Related CN100367216C (en) 2005-06-20 2005-06-20 Rapid event matching method in event model

Country Status (1)

Country Link
CN (1) CN100367216C (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310350A (en) * 2013-06-19 2013-09-18 西北工业大学 Rapid subscribe and matching method based on predicate distinction and association
CN103488650A (en) * 2012-06-14 2014-01-01 镇江华扬信息科技有限公司 Event matching method for use in event model

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732092B2 (en) * 2001-09-28 2004-05-04 Client Dynamics, Inc. Method and system for database queries and information delivery
US6931405B2 (en) * 2002-04-15 2005-08-16 Microsoft Corporation Flexible subscription-based event notification
WO2004006124A2 (en) * 2002-07-03 2004-01-15 Word Data Corp. Text-representation, text-matching and text-classification code, system and method
CN1321509C (en) * 2004-02-19 2007-06-13 上海复旦光华信息科技股份有限公司 Universal safety audit strategies customing method based on mapping table

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488650A (en) * 2012-06-14 2014-01-01 镇江华扬信息科技有限公司 Event matching method for use in event model
CN103310350A (en) * 2013-06-19 2013-09-18 西北工业大学 Rapid subscribe and matching method based on predicate distinction and association
CN103310350B (en) * 2013-06-19 2016-01-20 西北工业大学 A kind of based on predicate differentiation and the quick subscription associated and matching process

Also Published As

Publication number Publication date
CN100367216C (en) 2008-02-06

Similar Documents

Publication Publication Date Title
CN103164449B (en) A kind of exhibiting method of Search Results and device
EP1738290B1 (en) Partial query caching
US8903802B2 (en) Systems and methods for managing queries
Fegaras et al. Query processing of streamed XML data
EP1482426A2 (en) System and method of query transformation
CN1233801A (en) Message broker apparatus, method and computer program product
CN103123652A (en) Data query method and cluster database system
CN108710629B (en) Top-k query method and system based on named data network
CN1543150A (en) Packet classification apparatus and method using field level tries
CN1932816A (en) Full text search system based on ciphertext
CN101345707A (en) Method and apparatus for implementing IPv6 packet classification
CN107193898A (en) The inquiry sharing method and system of log data stream based on stepped multiplexing
CN106909624B (en) Real-time sequencing optimization method for mass data
CN109542930A (en) A kind of data efficient search method based on ElasticSearch
CN1694094A (en) Rapid event matching method in event model
CN1281027C (en) Collaborative filtering recommendation approach for dealing with ultra-mass users
CN1492359A (en) Automatic state machine searching and matching method of multiple key words
CN103984760B (en) The data structure of content oriented distribution subscription system and its compound event matching process
US20060136388A1 (en) Method for calculating distributed joins in main memory with minimal communicaton overhead
CN102339292A (en) Distributed searching method and system
CN103488650A (en) Event matching method for use in event model
Prabhavathy et al. Path stream group level encoding: Efficient wireless xml streaming
CN105630777A (en) Rapid query matching method of event models
Lin et al. An optimization strategy for mashups performance based on relational algebra
CN106560790A (en) Inquiring method in event model

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080206