CN103984760B - The data structure of content oriented distribution subscription system and its compound event matching process - Google Patents

The data structure of content oriented distribution subscription system and its compound event matching process Download PDF

Info

Publication number
CN103984760B
CN103984760B CN201410235416.1A CN201410235416A CN103984760B CN 103984760 B CN103984760 B CN 103984760B CN 201410235416 A CN201410235416 A CN 201410235416A CN 103984760 B CN103984760 B CN 103984760B
Authority
CN
China
Prior art keywords
subscription
predicate
list
mixing
partial order
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.)
Active
Application number
CN201410235416.1A
Other languages
Chinese (zh)
Other versions
CN103984760A (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.)
Northwestern Polytechnical University
China Aeronautical Radio Electronics Research Institute
Original Assignee
Northwestern Polytechnical University
China Aeronautical Radio Electronics Research Institute
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 Northwestern Polytechnical University, China Aeronautical Radio Electronics Research Institute filed Critical Northwestern Polytechnical University
Priority to CN201410235416.1A priority Critical patent/CN103984760B/en
Publication of CN103984760A publication Critical patent/CN103984760A/en
Application granted granted Critical
Publication of CN103984760B publication Critical patent/CN103984760B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Abstract

The invention discloses a kind of data structure of content oriented distribution subscription system and its corresponding compound event matching process, comprise to call partial order subscription list together, with meaning partial order predicate table, mixing subscription list, mixing predicate table, subscribed to by increasing, delete and subscribe to and event matches three phases, subscription information is organized into the index structure considering incidence relation and between subscription between predicate, subscription covering relation is peeled off from matching network algorithm, and be incorporated in predicate index structure, and then reached in subscription frequently increase, delete, the effect of efficient event matches is still kept under alteration.The present invention can provide in the case of frequent subscription efficiently mates such that it is able to meet the demand of related application.

Description

The data structure of content oriented distribution subscription system and its compound event matching process
Technical field
The present invention relates to the compound event matching algorithm of content oriented distribution subscription system
Background technology
In the distributing virtual environment increasingly emerging in large numbers with the applications such as algorithm transaction, there is increasing scene requirement bottom Event matches algorithm meets the frequent requirement subscribing to change while efficient matchings.In existing correlational study, key problem It is all to solve event agent realizes the efficient matchings between event and a large amount of subscriber using which kind of algorithm.However, along with being System application and the continuous expansion of scope, the new demand being born to content publish/subscribe.For example currently popular calculation Method is concluded the business (high frequency algorithmic trading, HFT), and its trading volume has even accounted for total value in the U.S. 73%.Algorithm transaction is different from existing application, and the algorithm transaction in the day of trade often applies different linear regressions, game By, neutral net, genetic algorithm etc., the subscription specifics of process of exchange are intervened, this just bring to subscribe to moving in a large number State changes.Therefore require in transaction system to cope with user on the premise of meeting efficient matchings and frequently change inquiry and (order Read) demand of condition, if matching algorithm can not be supported frequently to change inquiry and efficient matchings simultaneously, will bring to client can not The loss estimated.And for example in distributed virtual environment (distributed virtual environment, DVE), virtual objects Compared with the predicate of high rule complexity, the subscription information of itself is described by having, then by object on each routing node in system Release news and mated with subscription information, and data forwarding is realized according to matching result.The quantity of information of whole virtual environment is non- Chang great, between interaction node, incidence relation is complicated, with the propulsion of process of the test, frequently changes interaction (subscription) and close between each node System.Event matches and the efficiency subscribing to change, whether the real-time not only determining system can be met, and can govern The extensibility of whole system, is likely to result in system congestion and network bottleneck, forms systematic distortion and then has a strong impact on system Practicality.
There is following several algorithm at present:
1 counting algorithm (Counting algorithm).The thought of counting method is to test all predicates to set up a table guarantor Deposit predicate and the mapping relations subscribed to, that is, which predicate subscribed to and met by.During coupling, travel through this table and find out one subscription of satisfaction Predicate number, its predicate number being contained with this subscription package is compared, if equal, illustrate event and subscribe to phase Join.Although counting method avoids a predicate and repeatedly tested, it is always tested to all of predicate in subscribing to, and Other follow-up tests when actually certain predicate in is subscribed to cannot mate all need not continue to carry out.Because counting method makes With predicate index structure, can be good at supporting to subscribe to dynamic change;But due to cannot using between different predicates and Dependency between different subscription, matching efficiency is not high.Although imitating to coupling in the innovatory algorithm of follow-up counting Index Algorithm Rate is optimized further, but considers the factors such as subscription covering not yet, constrains matching efficiency and improves.
2CEEM algorithm, ICCounting algorithm ex hoc genus anne algorithm,.Algorithm adopts the data with predicate table as core to tie Structure, is divided to the family of predicates, and has carried out index so that right to each family of predicates with the mode of sequence or hash table Certain efficiency can be obtained when each predicate is mated;Relatedness between simultaneously using predicate is accelerating matching speed.This kind of Although algorithm is set up supports dynamic subscription on predicate index structure;But only account between predicate during event matches Incidence relation it is impossible to be efficiently completed event matches very much.
3 Hansen algorithms (Hanson algorithm) and its expansion algorithm etc..Its main thought is all to different subscription Predicate is indexed respectively and counts, and carries out coupling filtration according to whether its result meets requirement.Algorithm passes through using more Substantial portion of subscription is first eliminated in efficient test, is then compared computing in remaining subscription, with improve algorithm Join efficiency.This kind of algorithm typically all employ predicate indexed mode, masks the predicate incidence relation of part, but considers subscription Covering relation.Due to the mechanism such as K-D tree being based on to the extraction of subscription covering so that it loses while raising matching efficiency The high-efficiency dynamic updating ability subscribed to.
4 algorithms (Testing network based algorithm) based on overlay network.This kind of algorithm can be abundant Using the dependency between each subscription and predicate, to improve matching efficiency;It is limited to the Dynamic Maintenance cost of figure, algorithm is often only Support that static subscription or dynamic subscribing efficiency treatment effeciency be not high.Siena is organized into according to the covering relation between subscribing to For paritially ordered set (partially ordered set, Poset), but Poset structure is being added and can introduced big when unsubscribing The judgement of the subscription covering relation of amount.Meanwhile, during event matches, the different same predicates subscribed to may be multiple Test, so can cause bad impact to the performance of coupling.Gryphon system employ Parallel search tree come to solve event and The matching efficiency problem ordered and message multicasting technology are saving the network bandwidth, but are defined in place based on the algorithm of Parallel search tree The equivalent predicate of reason judges.Gryphon system orders the soverlay technique of formula using the entirety based on big granularity, belongs to when ordering expression formula Property dimension more when, covering relation degree between order formula reduces, and from the point of view of predicate angle, there is very big redundancy.
5 algorithms (Testing tree based algorithm) based on coupling tree.This kind of algorithm is typically in pretreatment Subscription is organized into the structure of figure (matching network, tree) by the stage, and event enters from the entrance of figure, through the mistake of each intermediate node Filter, until outlet judges matching result.This kind of algorithm can make full use of the dependency between predicate such that it is able to realize higher Matching efficiency.But limited and figure Dynamic Maintenance cost, algorithm often only supports static subscription or dynamic subscribing efficiency process effect Rate is not high.The method comparison of matching network type is many, can do following classification according to its difference abstract to predicate and subscribing relationship:
1) subscription is organized into as one the algorithm Ji Yu Binary Decision Diagrams (binary decisions diagrams, BDD) Individual BDD, the node of wherein non-terminal represents a predicate, goes out side and is identified as 0 or 1, is thus converted into the coupling of subscription Decision problem to BDD.MBDD be have modified BDD and improve using logical relation between the historical information subscribed to, predicate etc. Event route and the performance of coupling.
2) Silvia et al. proposes the coupling routing algorithm based on distributed R-trees, builds one according to MBR principle Distributed R-trees route the coupling to realize event, however the weak point of this algorithm to be space complexity larger, route letter Breath is difficult in maintenance.
By above-mentioned all kinds of matching algorithms whether using predicate index structure, whether consider relation between predicate, whether Consider subscribe between cover three aspects analysis it is seen that, the currently research relative maturity to matching algorithm, simply efficiently Subscription structure (predicate index structure) efficient event matches cannot be provided, and efficient event matches mechanism (matching network) Cannot provide and efficiently dynamically frequently subscribe to change.I.e. efficient structure of subscribing to cannot combine very well with efficient matching mechanisms, Just cause current matching algorithm cannot directly support frequently to subscribe to the situation of class application.And, it is not difficult to send out in having studied Existing Hansen algorithm and its expansion algorithm and CEEM algorithm all attempt both to have taken predicate index structure to complete to subscribe to, again between application predicate Relation is mated between subscription.Simply CEEM algorithm takes the mode of " owing to merge ", does not fill under index structure Incidence relation between dividing using subscribing to;Hansen algorithm and its expansion algorithm take the mode of " cross and merge " again, that is, in index knot Incidence relation between excessive subscription is considered so that index structure is actual has been evolved into matching network structure under structure, so cannot The support dynamically frequently subscribed to is provided.
Content of the invention
For the deficiencies in the prior art, a goal of the invention of the present invention is to provide a kind of content oriented distribution subscription system The data structure of system, another object is to provide a kind of compound event matching process of content oriented distribution subscription system, in frequency Efficient coupling, to meet the demand of related application, is provided in the case of numerous subscription.In ordering system, subscription information is organized into Consider the index structure of incidence relation and between subscription between predicate, subscription covering relation is peeled off from matching network algorithm, and It is incorporated in predicate index structure, and then reached and frequently increase, delete, still keeping efficient event under alteration subscribing to The effect of coupling.
One goal of the invention of the present invention is achieved through the following technical solutions:
A kind of data structure of content oriented distribution subscription system, comprises to call together partial order subscription list (P-list), with meaning Partial order predicate table (P-table), mixing subscription list (M-list), mixing predicate table (M-table) it is characterised in that:
Described formed by meeting partial ordering relation and predicate identical and subscribe to meaning partial order subscription list (P-list);
Described same meaning partial order predicate table (P-table) is closed by meeting the same same partial order of calling of the most K group of partial ordering relation quantity of calling The predicate composition that system subscribes to;
Described mixing subscription list (M-list) is combined by the subscription that cannot add same meaning partial order subscription list (P-list); It is provided with coupling boundary, coupling boundary is value according to all properties in event to be determined in mixing subscription list (M-list);
Described mixing predicate table (M-table) is predicate table corresponding to mixing subscription list (M-list), and orders same Predicate pointer in readding is chained up, and finally all points to mix the concrete subscription of subscription list.
Another object of the present invention is achieved through the following technical solutions:
A kind of compound event matching process of content oriented distribution subscription system, comprises to increase and subscribes to, deletes and subscribe to and thing Part coupling three phases are it is characterised in that described increase subscription comprises the steps of:
1.1), with meaning partial order subscription list (P-list), find the nearest forerunner of the subscription that distance need to increase and after Continue, if the forerunner of this subscription and follow-up be joined directly together, or forerunner, follow-up have one not exist, then illustrate that it is can Insertion, by this subscription insertion with calling partial order predicate table (P-table), skip to 1.3);If forerunner or follow-up do not exist or It is not joined directly together, this subscription is added mixing subscription list (M-list), carries out 1.2);
1.2), in mixing predicate table (M-table), according to order from top to bottom, subscribing to each meaning being comprised Pass through binary search relevant position in word family, and corresponding threshold value is inserted in mixing predicate table (M-table);Insert in predicate During entering, the predicate of insertion is linked one by one by order from top to bottom, finally pointed to mixing subscription list (M- List the correspondence position in);
1.3):Labelling beginning and end node in meaning partial order subscription list or mixing subscription table;
Described deletion subscription comprises the steps of:
2.1):Need to delete searching respectively with meaning partial order subscription list (P-list) and mixing subscription list (M-list) Subscription, if found in meaning partial order subscription list (P-list), carry out 2.2), if in mixing subscription list (M- List find in), then skip to 2.3);
2.2):The forerunner that subscribes to this and follow-up cancellation are linked with this subscription, and forerunner that this is subscribed to and follow-up company Pick up, delete with the subscription called in partial order subscription list (P-list);
2.3):From the beginning node starts, and the order of connection according to node calls partial order predicate table (P-table) or mixed same successively Close deletion of node in predicate table (M-table), delete with meaning partial order subscription list (P-list) or mixing subscription list (M- List the subscription in);
Described event matches comprise the steps of:
3.1), in meaning partial order subscription list (P-list), find the follow-up of all subsets of event to be matched, if energy Find, this is follow-up and it all follow-up is added in set of matches;
3.2), decompose event:Value according to each attribute in event determining coupling boundary, by all properties in event With opening flag and in coupling boundary in corresponding same meaning partial order predicate table (P-table) and mixing predicate table (M-table) Interior node adds alternative concentration;
3.3), update alternative collection:The alternative all node updates concentrated are the next node that it points to;If new save Point is beyond coupling boundary, although not being match attribute in event or being attribute in event not in coupling boundary Interior, this node is deleted from alternative collection;
3.4), detect whether the alternative node concentrated carries end mark, if any its corresponding subscription is added To in set of matches, and delete from alternative collection;
3.5), repeat 3.3), 3.4), until alternatively integrating as sky, subscription is as mated in the now all subscription in set of matches.
Compared with prior art, beneficial effects of the present invention have merged the easy change of predicate index structure and matching network Efficient matchings feature, establishes a kind of event matches structure of mixing, and subscription covering relation is peeled off from matching network algorithm, And be incorporated in predicate index structure, and then reach and frequently increase, delete, still keeping efficient thing under alteration subscribing to The effect of part coupling.Can provide in the case of frequent subscription and efficiently mate such that it is able to meet the demand of related application.
Brief description
Fig. 1 is predicate table schematic diagram
Fig. 2 is with meaning partial order subscription list (P-list) schematic diagram
Fig. 3 is to increase to subscribe to process chart
Fig. 4 is to subscribe to deletion process flow diagram
Fig. 5 is event matches process chart
Fig. 6 mixes subscription structure chart for example
Fig. 7 is example with meaning partial order structure chart
Fig. 8 is example match boundary structure chart
Specific implementation method
The present invention is described in further detail below in conjunction with the accompanying drawings.
The present invention devises a kind of new types of data structure of content oriented distribution subscription system, comprises same partial order of calling and subscribes to row Table, same meaning partial order predicate table, mixing subscription list, mixing predicate table, are related to following concept definition:
Event, predicate, subscribe to:Event E as in content publish/subscribe system be used for system in entity interaction unit, Contain the sequence [a1, a2 ..., an] of attribute a, these attributes are all basic data types.And event instance e can be considered One of property value v record [v1, v2 ..., vn].Based on typical conditional-variable c::=≤| < |=| > | >=| ≠, subscribe to Predicate can be described as P::The form of=acv, that is, with regard to a series of restrictions of event attribute.Be may be constructed by basic predicate Different subscription (condition) Φ::=Φ ^P | Φ ∨ P | P.
Predicate table:Predicate is divided into upper threshold value predicate, lower threshold value predicate and equivalent predicate three class, have same alike result with identical The predicate of relatively operation (upper threshold value, lower threshold value) is included into a family of predicates;Equivalent predicate is stored in Hash table.Each family of predicates pair Answer a line of predicate table, and by threshold value arranged in sequence, i.e. threshold value descending in the upper threshold value family of predicates, threshold in the lower threshold value family of predicates Value ascending order arrangement.Additionally, in predicate table being chained up the predicate pointer in same subscription, finally all point to subscription list Concrete subscription, as shown in Figure 1.
Subscription list:Register all subscription adding predicate table, first predicate in predicate table subscribed in record simultaneously Pointer, in order to access all predicates in subscription.
Subscribe to meaning partial order:Refer to meet partial ordering relation and predicate identical is subscribed to.Though as shown in figure 1, subscribing to 1 and subscribe to 2 So with meaning, but it is unsatisfactory for partial order due to existing to intersect, do not exist with meaning partial ordering relation;And subscribe to 1, subscribe to 3 with calling, due to not Exist to intersect and meet partial order, therefore exist with meaning partial ordering relation.
With meaning partial order subscription list (P-list):Subscribe to the subscription list constituting by calling together partial order.In Fig. 1, subscribe to 1,3 structures The list becoming is one with meaning partial order subscription list (P-list).
Partial order subscription list is called by Datong District:In subscription list, meet the one group subscription most with calling partial ordering relation quantity. In Fig. 1, subscribe to 1,3,4 and constitute the meaning partial order subscription list of Datong District.
Maximum K is with meaning partial order subscription list:There is the K group subscription that partial order number is called by Datong District, the subscription list of formation.? In practical application, threshold value can be set, that is, the same meaning partial order being more than certain number subscribes to one list of composition, and then tries to achieve system In maximum K with call partial order subscription list.
With meaning partial order predicate table (P-table):Deposit in table is that maximum K subscribes to calling partial ordering relation.Order with meaning partial order There is direct partial ordering relation in the subscription read in list (P-list), if with meaning partial order subscription list (P-list) during coupling Certain subscription meet matching relationship, then it follow-up and follow-up follow-up also all meets matching relationship, such that it is able to greatly reduce The scale of traversal predicate table.Each is individualism with the predicate table of meaning partial order subscription list (P-list).Institute on the right of Fig. 2 Show, that deposit is exactly " x<”、“y<”、“z<" three groups of predicates same meaning partial order subscription list (P-list), it contains " x<, y<, z<”、“x<, y<”、“y<, z<”、“x<, z<”、“x<”、“y<”、“z<" seven situations.Obviously, " x<”、“y<”、“z<" corresponding Only has one group with meaning partial order subscription list (P-list), sequential.“x<, y<, z<”、“x<, y<”、“y<, z<" and " x<, z <" corresponding same meaning partial order subscription list (P-list) may more than one set.In addition, according to the selection of K, some predicate groups also have May not exist with meaning partial order subscription list (P-list).
Mixing subscription list (M-list):Deposit in subscription mixing list is cannot to add with meaning partial order subscription list (P-list) subscription.Hash table cannot be mapped as subscribing to partial ordering relation, thus sums up in the point that in mixing subscription list (M-list) (left see Fig. 2).
Mixing predicate table (M-table):Predicate table corresponding to mixing subscription list (M-list).
Coupling boundary:In mixing subscription list (M-list), in order to accelerate matching speed, introduce the general of coupling boundary Read.Coupling boundary is value according to all properties in event to be determined.Because the data in mixing predicate table (M-table) is According to partial ordering relation arrangement, so after mating boundary determination, subscription just meeting all in coupling boundary for only all predicates Meet coupling, if there are one or more predicate all beyond coupling boundary, then this subscription cannot thing corresponding with this boundary Part is mated.The form exceeding can be exceeding of left and right, that is, exceed predicate and limit scope, the such as left subscription 5 of Fig. 2;Also may be used To be upper and lower exceeding, that is, beyond predicated range, the such as left subscription 1 of Fig. 2.
The compound event matching process of content oriented distribution subscription system is divided into three phases, respectively increases and subscribes to, deletes Except subscription and event matches.Increasing of subscribing to is respectively, with deleting, the renewal process being directed to data structure, for maintenance event Distribution structure, using the speed carrying out accelerated events coupling with the concept of meaning partial order during event matches, comprises the following steps that:
1 increases subscription, and its flow process is as shown in Figure 3:
1.1) judge whether to add with meaning partial order subscription list (P-list), and insert.Order with meaning partial order corresponding Read in list (P-list), find apart from the nearest forerunner of this subscription and follow-up, if the forerunner of this subscription and follow-up be direct Connected, or forerunner, follow-up have one not exist, then illustrate that it is insertable, and this subscription insertion is subscribed to calling partial order List (P-list), skips to step 3.If forerunner or follow-up do not exist or be not joined directly together, by this subscription add mixing Subscription list (M-list).
1.2):Insert this subscription in the corresponding predicate table of mixing subscription list (M-list).Suitable according to from top to bottom Sequence, passes through binary search relevant position in each family of predicates included in mixing predicate table (M-table), and will correspond to Threshold value insertion table mixing predicate table (M-table) in;During predicate table insertion, the predicate of insertion is pressed from top to bottom Order linked one by one, finally point to the correspondence position in mixing subscription list (M-list).
1.3):Labelling beginning and end node.
Subscribe to example 1 as inserted:PSubscription1={ x<1,y<2,z<1}
According to 1.1):Detect whether this subscription is to subscribe to meaning partial order, be sky due to now subscribing to structure, this subscription meets With meaning partial ordering relation, therefore should be added in same meaning partial order predicate table (P-table), and skip to 1.3).
According to 1.3):With the beginning and end node calling partial order subscription list (P-list) this subscription of labelling.
Example 2 is subscribed in insertion:PSubscription2={ x<2,y<11,z<2}
According to 1.1):Detect whether this subscription is to subscribe to meaning partial order, detect that it is closed with the partial order of pSubscription1 System, result is to meet partial ordering relation, therefore should be added in same meaning partial order predicate table (P-table), and skip to 1.3).
According to 1.3):With the beginning and end node calling partial order subscription list (P-list) this subscription of labelling.
Example 3 is subscribed in insertion:MSubscription1={ y<11, a=6 }
According to 1.1):Detect whether this subscription is to subscribe to meaning partial order, it does not meet the same meaning partial order of setting due to predicate Relation, therefore should be added in mixing predicate table (M-table).
According to 1.2):Mode according to insertion sort is sequentially inserted into each predicate, and predicate is linked one by one.
According to 1.3):Beginning and end node in mixing subscription list (M-list) this subscription of labelling.
It is sequentially inserted into following example according to upper type, method is similar to, its insertion result mixing predicate table (M-table) is real For example shown in Fig. 6, as shown in Figure 7 with meaning partial order predicate table (P-table) example:
MSubscription2={ x<2,y<21}
MSubscription3={ x<6}
MSubscription4={ x<3,y<22,z<3}
MSubscription5={ x<5,y<44,z<5}
PSubscription3={ x<4,y<13,z<5}
PSubscription4={ x<7,y<31,z<8}
2 delete subscription, and its flow process is as shown in Figure 4:
2.1) searching respectively in same meaning partial order subscription list (P-list) and mixing subscription list (M-list) needs to delete Subscription, if found in meaning partial order subscription list (P-list), carry out step 2, if in mixing subscription list (M- List find in), then directly carry out step 3.
2.2) connection of the forerunner that this subscribed to and follow-up cancellation and this subscription, and forerunner that this is subscribed to and follow-up connection Get up.
2.3) from the beginning node starts, and the order of connection according to node calls partial order predicate table (P-table) or mixed same successively Close deletion of node in predicate table (M-table).Delete with meaning partial order subscription list (P-list) or mixing subscription list (M- List the subscription in).
As deleted example:MSubscription5={ x<5,y<44,z<5}
According to 2.1):Find this event in mixing subscription list (M-list), directly carry out 2.3).
According to 2.3):In mixing predicate, from the beginning node starts to remove predicate node successively, finally in mixing subscription list (M-list) delete this subscription in.
Delete example 2:PSubscription4={ x<7,y<31,z<8}
According to 2.1):Find this event in meaning partial order subscription list (P-list), need to carry out 2.2).
According to 2.2):Cancel this subscription with the follow-up relation of forerunner in meaning partial order predicate table (P-table).
According to 2.3):From the beginning node starts to remove predicate node successively, finally with meaning partial order subscription list (P-list) Middle this subscription of deletion.
3 event matches, its flow process is as shown in Figure 5:
3.1), with meaning partial order subscription list (P-list) find follow-up with all subsets of match event, if can look for To then that this is follow-up and it all follow-up is added in set of matches.
3.2), decompose event, the value according to each attribute in event determining coupling boundary, by all properties in event Carry opening flag in corresponding predicate table and the node in coupling boundary adds alternative concentration.
3.3), update alternative collection, the alternative all node updates concentrated are the next node that it points to.If new save Point is beyond coupling boundary, although not being match attribute in event or being attribute in event not in coupling boundary Interior, this node is deleted from alternative collection.
3.4), detect whether the alternative node concentrated carries end mark, if any its corresponding subscription is added To in set of matches, and delete from alternative collection.
3.5), repeat 3.3), 3.4), until alternatively integrating as sky, subscription is as mated in the now all subscription in set of matches.
As event matches example 1:Hypothesis event is e1={ x=5, y=22, z=5 }
According to 3.1):Search its place in meaning partial order subscription list (P-list), result is not exist.
According to 3.2):Decomposition event, determines coupling boundary according to its predicate value, such as in mixing predicate table (M-table) Shown in Fig. 8.The subscription being in coupling boundary has mSubscription1, mSubscription2, mSubscription4, will Its node join is concentrated to alternative.
According to 3.5), repeat 3.3) to 3.4):The alternative subscription concentrated is detected successively according to link order, MSubscription2, mSubscription4 all finish in coupling boundary, and the match is successful, and removal is alternative to collect, MSubscription1 does not finish in coupling boundary and its equivalent predicate mismatches, and it fails to match, and removal is alternative to collect.Now standby Selected works are sky, and coupling terminates.
Event matches example 2:Hypothesis event is e2={ x=1, y=7, z=1 }
According to 3.1):Search its place in meaning partial order subscription list (P-list), its coupling of result The follow-up subscription of pSubscription2, therefore pSubscription2 all can be mated, and need not be detected.
Step 3.2) to 3.5) similar with mating example 1.

Claims (2)

1. a kind of data structure of content oriented distribution subscription system, comprise with call partial order subscription list, with meaning partial order predicate table, Mixing subscription list, mixing predicate table it is characterised in that:
Described formed by meeting partial ordering relation and predicate identical and subscribe to meaning partial order subscription list;
It is described that with meaning partial order predicate table, by meeting with calling, the most K group of partial ordering relation quantity is same to call the predicate group that partial ordering relation is subscribed to Become;
Described mixing subscription list is combined by the subscription that cannot add same meaning partial order subscription list;It is provided with mixing subscription list Coupling boundary, coupling boundary is value according to all properties in event to be determined;
Described mixing predicate table is predicate table corresponding to mixing subscription list, and the predicate pointer chain in same subscription is picked up Come, finally all point to mix the concrete subscription of subscription list.
2. a kind of compound event matching process of content oriented distribution subscription system, comprises to increase and subscribes to, deletes and subscribe to and event Coupling three phases are it is characterised in that described increase subscription comprises the steps of:
1.1), with meaning partial order subscription list, finding the nearest forerunner of the subscription that distance need to increase and follow-up, if this subscription Forerunner and follow-up be joined directly together, or forerunner, follow-up have one not exist, then illustrate that it is insertable, this ordered Read insertion with calling partial order predicate table, skip to 1.3);If forerunner or follow-up do not exist or be not joined directly together, this subscription is added Enter to mix subscription list, carry out 1.2);
1.2), in mixing predicate table, according to order from top to bottom, in subscribing to each family of predicates being comprised, two points are passed through Method searches relevant position, and corresponding threshold value is inserted in mixing predicate table;During predicate insertion, by the predicate of insertion Linked one by one by order from top to bottom, finally pointed to the correspondence position in mixing subscription list;
1.3):Labelling beginning and end node in meaning partial order subscription list or mixing subscription table;
Described deletion subscription comprises the steps of:
2.1):Searching the subscription needing to delete with meaning partial order subscription list with mixing subscription list respectively, if with meaning partially Find in sequence subscription list, carry out 2.2), if found in mixing subscription list, skip to 2.3);
2.2):The forerunner that subscribes to this and follow-up cancellation are linked with this subscription, and the forerunner that this is subscribed to and follow-up connection rise Come, delete with the subscription called in partial order subscription list, terminate;
2.3):From the beginning node starts, and the order of connection according to node is deleted successively in meaning partial order predicate table or mixing predicate table Except node, delete with the subscription called in partial order subscription list or mixing subscription list;
Described event matches comprise the steps of:
3.1), in meaning partial order subscription list, find the follow-up of all subsets of event to be matched, if can find, after this Continue and it all follow-up is added in set of matches;
3.2), decompose event:Value according to each attribute in event, to determine coupling boundary, all properties in event is corresponded to Same meaning partial order predicate table and mixing predicate table in opening flag and the node in coupling boundary adds alternative concentration;
3.3), update alternative collection:The alternative all node updates concentrated are the next node that it points to;If new node surpasses Gone out coupling boundary, although be not match attribute in event or be attribute in event not in coupling boundary, will This node is deleted from alternative collection;
3.4), detect whether the alternative node concentrated carries end mark, if any its corresponding subscription is added to Join concentration, and delete from alternative collection;
3.5), repeat 3.3), 3.4), until alternatively integrating as sky, subscription is as mated in the now all subscription in set of matches.
CN201410235416.1A 2014-05-29 2014-05-29 The data structure of content oriented distribution subscription system and its compound event matching process Active CN103984760B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410235416.1A CN103984760B (en) 2014-05-29 2014-05-29 The data structure of content oriented distribution subscription system and its compound event matching process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410235416.1A CN103984760B (en) 2014-05-29 2014-05-29 The data structure of content oriented distribution subscription system and its compound event matching process

Publications (2)

Publication Number Publication Date
CN103984760A CN103984760A (en) 2014-08-13
CN103984760B true CN103984760B (en) 2017-03-01

Family

ID=51276733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410235416.1A Active CN103984760B (en) 2014-05-29 2014-05-29 The data structure of content oriented distribution subscription system and its compound event matching process

Country Status (1)

Country Link
CN (1) CN103984760B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109376248B (en) * 2018-09-04 2021-12-28 梁怀新 Knowledge base construction and partial sequence structure chart generation method based on incremental learning
CN113259167B (en) * 2021-05-28 2023-07-18 贵州电网有限责任公司 Power distribution terminal data transmission method based on event triggering mechanism
CN113722332B (en) * 2021-09-09 2024-03-26 上海交通大学 Method and system for improving efficiency and robustness of matching algorithm based on data structure

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819569A (en) * 2012-07-18 2012-12-12 中国科学院软件研究所 Matching method for data in distributed interactive simulation system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006029508A1 (en) * 2004-09-13 2006-03-23 Solace Systems Inc. Highly scalable subscription matching for a content routing network
US8135594B2 (en) * 2008-01-16 2012-03-13 International Business Machines Corporation Limiting proxy subscription propagation in a publish/subscribe message broker network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819569A (en) * 2012-07-18 2012-12-12 中国科学院软件研究所 Matching method for data in distributed interactive simulation system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于内容的快速事件匹配算法;陈继明等;《通信学报》;20110630;第32卷(第6期);78-85 *

Also Published As

Publication number Publication date
CN103984760A (en) 2014-08-13

Similar Documents

Publication Publication Date Title
US11487772B2 (en) Multi-party data joint query method, device, server and storage medium
CN103561133B (en) A kind of IP address attribution information index method and method for quickly querying
CN103514201B (en) Method and device for querying data in non-relational database
CN107357846A (en) The methods of exhibiting and device of relation map
CN101753369A (en) Method and device for detecting firewall rule conflict
CN101650717A (en) Method and system for saving storage space of database
CN105976048A (en) Power transmission network extension planning method based on improved artificial bee colony algorithm
CN103984760B (en) The data structure of content oriented distribution subscription system and its compound event matching process
CN103064908B (en) A kind of method by the quick duplicate removal list of internal memory
CN102819569A (en) Matching method for data in distributed interactive simulation system
CN104239321B (en) A kind of data processing method and device of Search Engine-Oriented
CN106789572B (en) A kind of instant communicating system and instant communication method for realizing adaptive message screening
CN104077723A (en) Social network recommending system and social network recommending method
CN103310350B (en) A kind of based on predicate differentiation and the quick subscription associated and matching process
Quang et al. MHHUSP: An integrated algorithm for mining and hiding high utility sequential patterns
CN108737524A (en) A kind of enterprise information push method
CN106021386A (en) Theta-join method for massive distributed data
CN105893635B (en) Netted multiple index matching process towards distribution subscription
CN106131134A (en) A kind of message content merges De-weight method and system
CN106294539B (en) Mix the data directory list storage strategy under cloud environment
CN106909619A (en) It is a kind of based on offset adjusted and the mixing social networks clustering method bidded and system
Koopman et al. Discovering relational item sets efficiently
CN109918544A (en) Occupational crime social relation network intelligent analysis method and system based on rough set
CN110263108A (en) A kind of keyword Skyline fuzzy query method and system based on road network
CN104573034A (en) CDR call ticket based user group division method and system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant