摘要:
Techniques for grouping events in a computing system are provided. A registrant sends, to a database server, a request to register to receive a single notification based the occurrence of multiple events that satisfy certain criteria, referred to as grouping attributes. Such registrations are referred to as grouping registrations. An eventing mechanism in the database server receives and maintains grouping registrations. When an event is received, the eventing mechanism determines whether the event has been registered for in an active grouping registration, i.e., one whose start time has passed but whose completion criteria are not yet satisfied. If so, then the eventing mechanism updates grouping data associated with the grouping registration. When the completion criteria of a grouping registration are satisfied, the eventing mechanism sends a notification to the registrant and/or other intended recipient(s). The notification may provide a summary of all the events in the group or provide details about a single event from the group, such as the latest event.
摘要:
A method and apparatus are provided for implementing a content-based publish-and-subscribe system in a relational database system. A subscriber may request for messages by using a query language supported by the database server. The queries are then used as subscription rules for determining whether an incoming message is to be sent to the subscriber. Evaluation of incoming messages against subscription rules involves a two-tier process. The first tier involves filtering out all the subscription rules that could not possibly apply to the incoming message. The second tier involves further evaluation of the incoming message, if needed, to determine which subscribers are to receive the incoming message. In another aspect of the embodiment, in cases where the publisher is the relational database system itself, queries that request for messages are not stored as subscription rules because publication of the messages is implicit. In this situation, a query is received from a client that is written in a query language supported by the database system. The query is a request for data stored in the database system that satisfies the query. A detection is made that the data stored in the database system has been changed and in response, the changed data is provided to the client.
摘要:
A system for managing event monitors within a database is provided. The system can adjust the amount of notifications generated by those event monitors, so as to achieve an effective balance between probability of notification loss and available notification bandwidth, as well as provide a better quality of service to database users.
摘要:
Techniques for processing events in parallel are provided. Multiple publishers publish events in parallel to a plurality of channels. Each channel is a queue that maintains a list of events that are awaiting to be processed by one or more slave processes. In one approach, all events that need to be persistent are published to a persistent channel, whereas all events that do not need to be persistent are published to one or more in-memory channels. In another approach, for each event, a publisher determines which channel of the plurality of channel to publish the event. The determination is based, at least in part, on the number of events in each channel and, optionally, the type of each event in each channel. In either approach, each event from a single publisher is published to the same channel.
摘要:
A method and apparatus are provided for implementing a content based publish-and-subscribe system in a relational database system. A subscriber may request for messages by using a query language supported by the database server. The queries are then used as subscription rules for determining whether an incoming message is to be sent to the subscriber. Evaluation of incoming messages against subscription rules involves a two-tier process. The first tier involves filtering out all the subscription rules that could not possibly apply to the incoming message. The second tier involves further evaluation of the incoming message, if needed, to determine which subscribers are to receive the incoming message. In another aspect of the embodiment, in cases where the publisher is the relational database system itself, queries that request for messages are not stored as subscription rules because publication of the messages is implicit.
摘要:
Techniques for processing events in parallel are provided. Multiple publishers publish events in parallel to a plurality of channels. Each channel is a queue that maintains a list of events that are awaiting to be processed by one or more slave processes. In one approach, all events that need to be persistent are published to a persistent channel, whereas all events that do not need to be persistent are published to one or more in-memory channels. In another approach, for each event, a publisher determines which channel of the plurality of channel to publish the event. The determination is based, at least in part, on the number of events in each channel and, optionally, the type of each event in each channel. In either approach, each event from a single publisher is published to the same channel.
摘要:
One embodiment of the present invention provides a database server for securing database event notifications. The server includes a session key creation mechanism configured to create a session key when a client registers for an event, a storage mechanism configured to store the session key on the database server, a data accessing mechanism configured to access registration metadata to obtain the session key when the event occurs, a connection mechanism configured to establish a communication channel between the database server and the client, a mutual authenticating mechanism configured to using the session key to mutually authenticate the client and the database server during event notification, and an event notifying mechanism configured to send the event notification to the client.
摘要:
Described herein are various approaches that allow rules to be used to specify actions, that alleviate the complexity and burden of developing and maintaining rules in a rules-based messaging system, and that provide more efficient ways of evaluating rules. The approaches allow rules to specify user-defined transformation functions for transforming messages, to specify when and how to perform row migration, and to specify other types of actions. Rules are grouped into rule sets. Several types of rule sets, referred to as positive and negative rule sets, allow users to use rules that are less complex to develop and maintain. Rule sets are evaluated more efficiently by attempting to evaluate the rule set with less information than is needed to evaluate all the rules in the rule set. Also, the results of rules evaluations that are based on a set of values are cached for later retrieval.
摘要:
In some messaging system architectures, messages can cycle back to the originator of a message, who may then propagate the message, causing the cycle to be repeated. Described herein are techniques that use rules and fields in a redo log, to manage message flows such that undesired cycles are prevented. The techniques may be used in messaging systems that have various topologies.