摘要:
A semi-automatic generation of addresses of map features is performed. A geographic information system includes one or more databases comprising map features. Each map feature is indexed by location, and may include an address. Each address is composed of one or more address components, such as street, city, state, country, zip code, and the like. To generate address components for a selected map feature, all polygonal map features containing or near the location of a selected map feature are identified. The strength of the matches between the location of the selected map feature and the identified polygonal features is determined. The address components corresponding to the identified polygonal features are automatically compiled and suggested to the user to be components of the address of the selected map feature based on the strength of the matches.
摘要:
Techniques for detecting patterns in data streams. A pattern to be detected may be specified using a regular expression. Events received in data streams are then processed during runtime to detect occurrences of the pattern specified by the regular expression in the data stream. If the pattern to be matched belongs to a certain predetermined class of patterns, then a pattern matching technique that is customized for that class of patterns is used during the runtime events processing.
摘要:
A framework for extending the capabilities of an event processing system using one or more plug-in components referred to herein as data cartridges. Generally speaking, a data cartridge is a self-contained unit of data that can be registered with an event processing system and can store information pertaining to one or more objects (referred to herein as extensible objects) that are not natively supported by the system. Examples of such extensible objects can include data types, functions, indexes, data sources, and others. By interacting with a data cartridge, an event processing system can compile and execute queries that reference extensible objects defined in the data cartridge, thereby extending the system beyond its native capabilities.
摘要:
Techniques for managing memory usage in a processing system are provided. This may be achieved by receiving a data stream including multiple tuples and determining a query plan that was generated for a continuous query applied to the multiple tuples in the data stream. The query plan may include one or more operators. Before scheduling an operator in the query plan, it is determined when an eviction is to be performed based a level of free memory of the processing system. An eviction candidate is determined and a page associated with the eviction candidate is evicted from the memory to a persistent storage.
摘要:
One embodiment of the invention includes a method of processing streaming data. The method includes initializing a stream of data and setting a time interval to apply to the stream of data. The time interval comprises a window for analyzing the data within the stream of data. The method further includes identifying one or more columns within the stream of data, designating one or more of the columns to be monitored for differences within the data over the time interval, and monitoring the designated columns over the time interval. Further, the method includes determining that at least one value from at least one of the designated columns has changed and in response to at least one value changing, outputting the changed values from the designated columns.
摘要:
A computer is programmed to accept a command to create a new aggregation defined by a user during execution of continuous queries on streams of data. The computer is further programmed to thereafter accept and process new continuous queries using the new aggregation, in a manner similar to built-in aggregations. The user typically writes a set of instructions to perform the new aggregation, and identifies in the command, a location of the set of instructions. In response to such a command, the computer creates metadata identifying the new aggregation. The metadata is used to instantiate one aggregation for each group of data in a current window, grouped by an attribute identified in a new query.
摘要:
Techniques for managing memory usage of a processing system by spilling data from a memory to a persistent store based upon an evict policy are provided. A triggering event is detected. In response to the triggering event and based on the evict policy, it is determined whether data from the memory of the processing system is to be spilled to the persistent storage. The determination is made by comparing a level of free memory of the processing system with a threshold specified by the evict policy. The data is evicted from the memory.
摘要:
The present invention includes a method for providing parameterized queries in complex event processing (CEP). The method includes providing a query template which includes one or more bind variables, providing sets of parameters corresponding to the one or more bind variables, and parsing the query template to determine positions of the one or more bind variables. The method further includes scanning the provided sets of parameters to determine which of the sets of parameters are to be bound to the one or more bind variables, binding the one or more bind variables which are determined to be bound to the sets of parameters, and substituting the bound one or more bind variables with the corresponding sets of parameters. The method further includes injecting all incarnations of the parameterized queries into the system, and one template/parameterized query is configured to run them all.
摘要:
Techniques for loading Java classes referenced in a continuous query. In one set of embodiments, the Java classes can be loaded based on a class space defined for an application considered to be in scope for the query. In another set of embodiments, the Java classes can be loaded based on a server class space that includes all exported classes visible to the event processing system executing the query.