CN103051666B - System extending transversely is to obtain event data - Google Patents

System extending transversely is to obtain event data Download PDF

Info

Publication number
CN103051666B
CN103051666B CN201210335084.5A CN201210335084A CN103051666B CN 103051666 B CN103051666 B CN 103051666B CN 201210335084 A CN201210335084 A CN 201210335084A CN 103051666 B CN103051666 B CN 103051666B
Authority
CN
China
Prior art keywords
data
event
source
homology
obtains
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
CN201210335084.5A
Other languages
Chinese (zh)
Other versions
CN103051666A (en
Inventor
C·F·瓦斯特斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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
Priority claimed from US13/278,408 external-priority patent/US8694462B2/en
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN103051666A publication Critical patent/CN103051666A/en
Application granted granted Critical
Publication of CN103051666B publication Critical patent/CN103051666B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to system extending transversely to obtain event data. Transmit events. One method comprises by carrying out never homology by the special multiple different agreement of multiple not homologies from different sources traffics obtains data. The method also comprises, the data decision event based on obtained should occur. The method also comprises the event of causing. For the consistent event assessment that obtains consumer is carried out standardization to caused event, and no matter from the specific modality of data of data source that causes this event.

Description

System extending transversely is to obtain event data
Technical field
The present invention relates to data acquisition.
Background technology
Background and correlation technique
Computer and computing system have affected almost each aspect of the modern life. Computer is conventionally in workIn work, leisure, health care, transport, amusement, household management etc., have and dabble.
In addition, computing system function can also connecting and being interconnected to other calculating via network by computing systemThe ability of system strengthens. Network connects and can include but not limited to, via wired or wireless EthernetConnect, honeycomb fashion connects, or even the computer by serial, parallel, USB or other connection to countingThe connection of calculation machine. These connect the service allowing on computing system accesses other computing systems, and fast and haveEffect ground receives application data from other computing systems.
Many computers are intended to by using alternately with the end user of computer. Like this, computer hasInput hardware and software users interface are to facilitate user interactions. For example, modern general-purpose can comprise forAllow user to the keyboard of computer input data, mouse, touch pads, camera etc. In addition, have various softPart user interface can be used.
The example of software users interface comprises graphic user interface, based on the capable user interface of Text Command, meritEnergy key or hot key user interface etc.
Suppose developer writing be intended to assemble from the information in various sources (such as RSS orThe our times that Atom form can be used or money article) and guide this information through publish/subscribe foundation frameStructure is so that the application of integrating, propagating and storing. Publish/subscribe architecture is by can be from State of Washington RandtThe WindowsAzure service bus that Microsoft of illiteracy city buys provides, but is also present in respectively with similar typePlant in other messaging system and allow messages/events is published to interim storage and makes these message/thingsPart is retrieved and is consumed by one or more subscribers.
Be not limited to solve any shortcoming or only in such as above-mentioned environment, operate at this claimed themeEach embodiment. On the contrary, provide this background only wherein can put into practice part enforcement described here in order to be illustrated inAn example technique field of example.
Summary of the invention
An embodiment described herein relates to the method for transmit events. The method comprises by using multipleThe special multiple different agreements sources traffics different from these of homology from these not homology obtain data. The partyMethod also comprises, the data decision event based on obtained should occur. The method also comprises the event of causing. ForConsistent event assessment to consumer is carried out standardization to caused event, and no matter from causing this eventThe specific modality of data of data source.
Content of the present invention is provided and will further describes in the following detailed description to introduce in simplified formSome concepts. Content of the present invention is not intended to identify key feature or the necessary spy of theme required for protectionLevy, be not also intended to the scope for helping to determine theme required for protection.
Other feature and advantage will be set forth in the following description, and part can show and easy from this descriptionSee, or acquistion in the practice of teaching that can be from here. The features and advantages of the present invention can be passed through appendedThe means that particularly point out in claim and combination realize and obtain. Feature of the present invention will be from following descriptionWith in appended claims, become completely apparent, or can be by as described below to practice of the present inventionAnd know.
Brief description of the drawings
In order to describe the mode that can obtain the above-mentioned of this theme and other advantage and feature, will be by reference to accompanying drawingShown in the specific embodiment of this theme present the more specifically description of this theme of above concise and to the point description. ShouldThis understanding, these accompanying drawings have only been described each exemplary embodiments, and therefore it should not be considered to the restriction to scope,Each embodiment will be by describing and explain by accompanying drawing supplementary features and details, in the accompanying drawings:
Fig. 1 illustrates that event data obtains the example of system;
Fig. 2 shows that event data is obtained and dissemination system; And
Fig. 3 shows the method for transmit events.
Detailed description of the invention
Some embodiment described herein can realize the extending transversely architecture of obtaining, and this architecture can be fromA large amount of various sources Collection Events data to its standardization. For example, can use and be suitable for multiple not homologiesIn each agreement from these sources, obtain data. Data can be standardized into event format, no matter useIn the data of event be from where obtain and according to which kind of form obtain, this event format is all consistent. This can allow these events to be submitted to publish/subscribe architecture, and allows consumer with unified sideFormula is treated collected event.
Some embodiment can realize across the subregion pond of distributed storage management Source Description and use common schedulerFramework scheduling is the mechanism of obtaining to event from described source.
Some embodiment can realize based on section post and having the right and the group of use to dispatched information receiving and transmittingClose, assign and again divide by the ownership of obtaining operation the mechanism of tasking the worker of obtaining.
Some embodiment can realize based on consuming audient's demand activation and the mechanism in the source of stopping using.
Some embodiment can realize the mechanism of processing interim and lasting mistake and source being added to blacklist.
As basis, an embodiment system is just being used and can buy from the Microsoft in Redmond cityThe publish/subscribe architecture that provides of WindowsAzure service bus, but this architecture also canBe present in various other messaging systems with similar form. This architecture provides promotion to presentTwo kinds of abilities of the described realization of method: theme and queue.
Queue is the storage organization for message, its allow with order order add (joining the team) message andRemove (going out team) message with the order identical with adding message. Can be added by any amount of concurrent clientAdd and remove message, thus allow to stabilize join the team side load and to step out each recipient's Balance Treatment of group side negativeCarry. Queue also allows each entity in the time that message is gone out group, to obtain the lock in this message, thereby allows customerEnd explicitly control: when by message actual delete or in the processing to the message retrieving from queueIn failed situation, whether it can be reverted back in queue.
Theme is all characteristics with queue, but allows the storage organization of ' subscription ' of multiple concurrent existence,These subscribe to the isolated filtered view allowing separately the message sequence of joining the team. Each subscription on themeAll produce the copy of each message of joining the team, the filter condition being associated of supposing this subscription mates for certain this and disappearsBreath. Therefore, joining the team to and have 10 subscription, (wherein each subscription has the simple of all message of coupling' passing ' condition) the message of theme will produce 10 message altogether, wherein message of each subscription.As queue, subscription can have multiple concurrent consumers, thereby the processing within the scope of multiple recipients is providedThe balance of load.
Another basic conception is ' event ', and with regard to bottom publish/subscribe foundation structure, it is exactly bar message.In the context of an embodiment, event is obeyed one group of letter of the use of management and control message text and message attributesSingle constraint. The message text of event generally flows as opaque data block, and an embodiment recognizesFor anything event data generally in message attributes, flow, it is as of message who represents this eventPoint one group of key/it is right to be worth.
With reference now to Fig. 1,, the target of an embodiment architecture is on a large scale from various differencesSource 116 obtains event data, and by these event forwardings to publish/subscribe architecture for further placeReason. Processing can comprise the analysis, real-time search of certain form or by pull or sending out notice mechanism by thingPart is distributed to interested subscriber again.
An embodiment architectural definition obtain engine 118, for obtaining adapter and event criteriaModel, for keeping partitioned storage 138, public partition and the scheduling about the metadata in the source of obtaining 116Model and for how to make the Client-initiated of the source of obtaining 116 states change inflow system in when operationWithout the model of further database lookup.
In specific implementation, obtain and can support concrete to obtain adapter from various public and privately ownedIn net service, obtain event, the Internet services comprises RSS, Atom and Odata feed, email mailbox(including but not limited to the email mailbox of this support IMAP and POP3 agreement), as TwitterThe social network information source 116 of timeline or Facebook wall and total to picture WindowsAzure serviceThe subscription of the outside publish/subscribe architecture of the simple queue service of line or Amazon.
Event criteria
Event data by standardization so that event can be by publish/subscribe architecture, described event quiltThe subscriber who hands over to carrys out real consumption. Standardization refers in the present context, and event is mapped to has letterOn the public accident model of the consistent expression of breath item, wherein this item of information is described possible in various contextsThat numerous subscribers are interested. Selected model is key/the be worth event of right flat list form hereinSimple expression, this key/value to can be attended by by system not further explain single opaque binary dataPiece. This representations of events can represent like a cork, and be perfectly clear in most of publish/subscribe architecturesBe mapped to the common Internet Protocol such as HTTP.
For event criteria is described, consider RSS or the Atom feed entry mapping (ginseng to event 104See Fig. 1 and 2). RSS and Atom are two Internet Standards, and they are widely used in conventionally very muchRelease news and other current information by chronological order, and issue this information by chronological order and contribute to makeThis Information Availability in computer program with the processing of structured way. RSS and Atom share very similarStructure and the different but semantic identical data element of one group of name. Therefore, first normalization step isCommon name is defined as to the identical unit of this semanteme that image scale topic or summary etc. all define in two standardsThe key of element. The second, conventionally shine upon and only appear in a standard but do not go out by " the machine " title accordinglyData in another standard now. In addition, the feed of these kinds, conventionally with " expansion ", expandsExhibition is not definition but add excessive data with the extensibility instrument in respective standard in core standardData item.
Some of shining upon in these expansions in the common modes of sharing across different event source 116 (comprise but notBe limited to for the GeoRSS in geographical position or structural data be embedded into the OData of Atom feed),Make can explain according to unified mode to the subscriber in the publish/subscribe architecture of its transmit eventsGeographical location information, and no matter these data from RSS or Atom or Twitter timeline obtains.Continue GeoRSS example, represent that therefore the simple GeoRSS expression formula of geographical " point " can be mapped to tableShow a pair of numeral " latitude "/" longitude " attribute of WGS84 coordinate.
Can realize and retain complicated type structure with the expansion of complicated structural data (such as OData)Mapping model that with data but can complicated basic event model. Some embodiment are standardized into the tight of canonicalThe complex data that gathers represents (as JSON), and for example, by complicated data attribute (complex data type " people "OData attribute " tenant ") be mapped to that key/it is right to be worth, wherein key is attribute-name " tenant ", andValue is that the title, biography information and the address information that represent in order to JSON serializing form are described answering of peopleAssorted data. If data source is XML document,, in the situation of RSS or Atom, can as itBy by XML data transcription to retaining in the JSON of the structure that provides of XML, but flatten as attributeWith XML details values of establishment such as elements, mean the XML as the subordinate of same XML node elementThe two is mapped to JSON attribute as " brother " that there is no other difference attribute and element.
Source and subregion
An embodiment architecture catches the metadata about data source 116 in " Source Description " record,This record can be stored in source database 138. " Source Description " can have one group of common element and one group of numberAccording to the special element in source. Common element can comprise source title, during source 116 span while being considered to effectiveDegree interval, human-readable description and for the type in the source 116 distinguished. The special element in source is gotCertainly also can comprise the network ground of the access for obtaining the resource represented to this address in the type in source 116Location, voucher or other safety-critical materials, and can comprise metadata, this metadata instructs source to obtain adapterOr obtain with ad hoc fashion (as the time interval that checks RSS feed is provided) executing data, or with spyDetermine mode and carry out event forwarding, this ad hoc fashion be such as, make each thing of obtaining from current event news feedPart is separated by least 60 seconds, makes notification receiver have an opportunity to watch each disconnection in limited screen surfaceNews item (if this is the experience end to end that will build).
In the one or more storages such as source database 138, preserve Source Description. Can be along two different axlesAcross these storages and in these storages, Source Description is carried out to subregion.
First axle is by system tenant's differentiation. System tenant or " NameSpace " are in systemFor the mechanism of each entity set-up isolation range. A concrete situation is shown, if " Fred " realizes oneThe user of the system of individual embodiment, Fred can create the holding of virtual environment that isolation is provided to FredRent people scope, this virtual environment can be totally independent of in system other 116 ground, source preserve Source Description and configuration andState. This axle can be used as the differentiation factor of propagating each Source Description across each storage, especially needs tenantThe metadata (may comprise the security sensitive data such as password) that isolation has been stored, or for technology, pipeReason or business reason and need in the situation of the isolation metadata of having stored. System tenant also can represent and spyThe affinity (affnity) at given data center is preserved Source Description, and is held there in this data centerRow data acquisition.
Second axle can be according to the district of the digital partition identifier of selecting from predefined identifier scopePoint. The invariant that can comprise from Source Description, derive partition identifier, such as source name and tenant's identifier.Can use hash function (one in many candidates is Jenkins hash, referring toHttp:// www.burtleburtle.net/bob/hash/doobs.html) from these invariants, derive subregion markSymbol, and may use modular function to the hashed value of gained, this hashed value is calculated to be to subregion identifier modelEnclose. Range of identifiers is chosen as more needed than whole Source Description of once preserving in this system of expection storageThe partition holding large (and can be large significantly) of large quantity.
Introduce partition holding and conventionally excited by capacity limit, this capacity limit otherwise directly and bottom data depositMemory capacity quota in storage is relevant, otherwise with impact obtain engine 118 capacity limit (such as, givenThe bandwidth constraint of data center or data center's part) relevant, this can cause embodiment to create across different pieces of informationCenter or data center partly utilize capacity to obtain subregion 140 with what meet introduction bandwidth demand. Storage pointDistrict has the subset of whole range of identifiers, and therefore Source Description record and partition holding are (with this section post of accessThe resource needing) association can be from its partition identifier directly infer.
Except partition holding axle is provided, partition identifier is also for scheduling or obtain operation, and clearlyDefinition obtain the ownership of subregion 140 to given Source Description (may with to the relation of partition holding notWith).
Ownership and obtain subregion
Each Source Description in system can be and specifically obtains subregion 140 and have. Use clear and uniqueOwnership, because system can not obtained event in the identical source 116 from multiple positions concurrently, because ofFor causing launching like this repeated events. In order to make this point more specifically, within the scope of tenant, defineRSS feed by system just what a to obtain subregion 140 all, and in subregion, exist and existAny obtaining of having dispatched that preset time, point moved on specific feed.
Obtain subregion 140 and obtain Source Description by obtaining the proprietorial mode of partition identifier scopeOwnership. Can use and can there is fail-over capability and can distribute the possessory external dedicated subregion of master/standbySystem, or use wherein partition identifier scope bearing the multiple different calculated examples of obtaining engine roleUpper equally distributed compared with simple mechanisms, to obtaining subregion 140 distribution marker scopes. For outer partIn the more complicated realization of sound zone system, if system starts from " cold " state, mean that subregion was not still previouslyThe owner, the selected main owner of this subregion is responsible for the scheduling of sowing (seed) to operation. SimplerScene in, the calculated examples that has a subregion has the sowing power to scheduling.
Scheduling
The dispatching requirement of obtaining operation depends on the character in concrete source, but conventionally has the mould that obtains of two typesType, this obtains model and realizes in some described embodiment.
In first model, the owner initiates the connection of certain form or transports for a long time on the network service in sourceRow network request, and etc. pending data in this connection, return with the form of datagram or stream. Conventionally also byBe called in the situation of request of the long-term operation of long-term poll, source network service will keep this request until occurOvertime or until data become available-and then obtaining adapter will have or not have payload knotIn the situation of fruit, wait for that this request completes, and retransmit subsequently this request. As a result of, this obtains scheduling modelThe form with " compactness " circulation, this owner who circulates in source 116 is started when learning source,And wherein in current connection or request completes or while being interrupted, initiate immediately new request or connection temporarily.Because the owner directly controls tight loop, therefore this circulation can keep reliably in the time that the owner movesSurvival. If the owner stops and restarting, this circulation is also restarted. If the owner changes,Circulation stops, and the new owner starts this circulation.
In second model, the network service in source is not supported in this service and becomes the length that produces data when availableRequest or the connection of phase operation, and no matter when inquire about the conventional request/response service support of all returning immediatelyThis request or connection. In such service, this point is applicable to many web resources, tight with what continueThe circulation of gathering carrys out request data and causes the load of the enormous amount on source 116, and also causes significant network serviceAmount, this Internet traffic or only indicate source 116 not yet to change, or take repeatedly in situation worstWith identical data.
For the balance need that event is obtained and need not futile query communication amount source 116 transshipped timelyAsk, obtain engine 118 and will carry out request according to " timing " circulation thus, wherein based on gap periodsThe request on source 116 is carried out on ground, this these considerations of interval balance and considered the prompting from source 116.The owner that " timing " circulates in source 116 is activated when learning source.
There are two noticeable modification that realize of timing cycle. First modification is for low scale, maximumMake great efforts scene, and dispatch with this locality, timing object in memory, this makes scale, control and againThose characteristics of starting characteristic and tight loop are similar. This circulation is activated, and scheduling makes to obtain work immediatelyThe timer readjustment of the operation of iteration for the first time of industry. When completing (even wrong) and determine, this operation is somebody's turn to doWhen circulation should continue to carry out, dispatch another timer readjustment in the moment that next operation should be performed.
Second modification used ' through the message of scheduling ', and this is to comprise WindowsAzureTM service busA feature of some publish/subscribe systems. It is significantly higher that this modification provides taking slightly high complexity as costThe ratio of obtaining. Scheduling circulation is started by the owner, and message is placed in to the scheduling queue that obtains subregionIn. This message comprises Source Description. The worker that it obtains operation by execution subsequently picks up, and makes gained subsequentlyEvent join the team in target publish/subscribe system. Finally, it is also joined the team new " through what dispatch " messageIn scheduling queue. This message is called as " through what dispatch ", because it is to become and can supply scheduling queue with itOn the time instant of any consumer retrieval carry out mark.
In this model, obtaining subregion 140 can be by having " owner " role by extending transversely,This owner role mainly sow scheduling and can with carry out actual obtain operation any amount of " workPerson " role's pairing.
Source is upgraded
In the time that system is moved, obtaining subregion 140 needs to learn the new source 116 that will observe and should be notObserve again which source 116. Except (described below) is due to the expendable or interim mistake detectingMistake and make, beyond situation that source 116 pipes off, to be conventionally user about the decision of this point, andThe result mutual with management service 142. In order to transmit this change, the system of obtaining is at bottom publish/subscribeIn architecture, safeguard " source renewal " theme. Each subregion 140 that obtains has for the special of this theme and ordersRead, this subscription has filter condition, and this filter condition is constrained to qualified message to be carried at and obtains section postThose message of partition identifier in the scope having. This can arrange about new management service 142Or the renewal in the source 116 of having retired from office, and they are sent to correct subregion 140, and do not need section postHave the right distribute knowledge.
Management service 142 more newer command is submitted to and comprises that Source Description, partition identifier are (for aforesaid mistakeFilter object) and the theme of operation mark symbol, this operation mark symbol indicates whether to add source 116 to systemOr whether from system, remove source 116.
Retrieved command messages once obtain subregion 140 owners, it otherwise will be new source 116Dispatch the new circulation of obtaining, or by interruption and hang up and existingly obtain circulation or even make existing obtainingCirculation resignation.
Pipe off
The source of data acquisition failure 116 can be piped off provisionally or for good and all. When source 116 network moneysSource is unavailable or return not directly relatedly with the initiated request of obtaining when wrong, carries out and lists black name temporarily inSingle. The duration temporarily piping off is depended on the character of mistake. By interrupting conventional scheduling circulation(compact or timing) also expecting upper once the changing of time instant scheduling circulation of the opposing party's solving error situationIn generation (via readjustment or the message through dispatching), carry out temporarily and pipe off.
In the time determining that mistake is the direct result of the request of obtaining, carry out and forever pipe off, mistake is that obtain pleaseThe direct result of asking means that this request is just causing certification or grant error or long-range source 116 to indicate certainOther request errors. If resource is forever piped off, in partitioned storage, source 116 is labeled asPipe off, and end to obtain circulation immediately. The source 116 of recovering forever to pipe off need to removeThe configuration change of the blacklist mark in storage and the possible behavior change that causes in addition request, and warpRestart and obtain circulation by source renewal theme.
With reference now to Fig. 2,, show the replacement example of system.
Fig. 2 shows the example that is delivered to a large amount of different targets from a large amount of not information of homology. At someIn example, the information of assembling from the information of single source or from multiple sources can be used to create and be delivered in a large numberThe individual event of target. In certain embodiments, this can use fan-out (fan-out) as shown in Figure 2Topology realizes.
Fig. 2 shows source 116. As herein, after a while by discussion, embodiment can utilize and obtain subregion 140.Each that obtain in subregion 140 can comprise multiple sources 116. May there are a large amount of and various sources116. Source 116 provides information. Such information for example can be including, but not limited to Email, textMessage, stock quotation, race score in real time, news renewal etc. in real time.
Fig. 2 shows each subregion and comprises and obtain engine, obtains engine 118 as illustrative. Obtain and drawHold up 118 from source 116 collection information, and become event next life based on this information. In the example shown in Fig. 2,Multiple events are illustrated as generating with each source by obtaining engine. Use case 104-1 describes.In certain embodiments, event 104-1 can carry out standardization as explained below. Obtaining engine 118 canCollect the service of information with the source 116 on the network such as such as internet, from this network.
Fig. 2 shows event 104-1 and is sent to distribution theme 144. Distribution theme 144 distributes eventGive multiple distribution subregions. Distribution subregion 120-1 is used as the analog of all distribution subregions. Distribution subregion is eachFrom serving by subscribing to represented multiple end users or equipment. The number of the subscription of distribution section post serviceCan be different from the number of other distribution section post services. In certain embodiments, the subscription that section post is servedNumber can be depending on the ability of distribution subregion. Alternately or additionally, distribution subregion can based on final useThe degree of approach of the logic OR geography at family is selected to serve user. This can allow so that mode will more timelyPrompting is delivered to end user.
In the example shown, distribution subregion 120-1 comprises distribution engine 122-1. Distribution engine 122-1 consultsAsk database 124-1. Database 124-1 comprises that this information has about being associated about the information of subscribing toThe details of sending target 102. Particularly, this database can comprise information, such as describing target 102Platform, application that target 102 is used, target 102 the network address, use the final of target 102The information of user preference of user etc. Information in the 124-1 of usage data storehouse, distribution engine 122-1 structureBuild bag 126-1, wherein wrap that 126-1 comprises event 104(or at least from the information of event 104) and routeList (slip) 128-1, will make the information from event 104-1 in this route list mark target 102For notifying the multiple targets 102 that send to. Bag 126-1 is placed in queue 130-1 subsequently.
Distribution subregion 120-1 can comprise multiple delivery engine. Delivery engine is wrapped from queue 130-1 eachGo out team and by delivery of notifications to target 102. For example, delivery engine 108-1 can take out from queue 130-1Bag 126-1 also sends to the information of event 104 target 102 identifying in route list 128-1. CauseThis, comprise that the notifying of information of event 104-1 134 can be to be applicable to different target 102 and to be exclusively used in eachThe multiple different form of target 102 is sent to target 202 from each distribution subregion. This allows sendingThe edge of system from public accident 104-1, create carried out for each target 102 individual individualNotify 134, instead of transport a large amount of individual notices by this delivery system.
Below discuss and now relate to several different methods and the method action that can carry out. Although discuss by certain orderOr show each method action in order to the flow chart of certain order generation, unless but clearly specified otherwise do not neededWant certain order, or before carrying out this action, complete and need specific because an action depends on another actionOrder.
With reference now to Fig. 3,, show method 300. The method comprises the action of transmit events. The method bagDraw together by coming from these not by the special multiple different agreements sources traffics different from these of multiple not homologiesHomology is obtained data (action 302). For example, Fig. 2 shows and obtains engine 118, and it can be used for from source116 obtain data. Each in source 116 can be come and obtain engine 118 and communicate by letter by different agreements.
The method 300 also comprises, based on obtained data, (action 304) should occur decision event.For example, can be based on make stock quotation change, race score change, electricity from the information in one or more sourcesThe judgement of sub-mail arrives, text message transmission etc. Based on this change in information, can decision event answerBe launched.
Method 300 also comprises the event of causing, wherein for the consistent event that obtains consumer is assessed causedEvent is carried out standardization, and no matter from cause this event data source data specific modality (action306). For example, Fig. 2 shows through standardized event 104 and is just launched from obtaining engine. No matter drawPlay the information of event 104 from which source in source 116, all can there are consistent lattice through standardized eventFormula.
Can hands-on approach 300, wherein event comprises key-value pair, and wherein to event criteria comprise make fromObtain data, the value corresponding with key in obtained data be semantically mapped to through standardized eventThe key of middle coupling. For example, event can have key " title " as key-value pair and the value of this title. ComeData from source also can have key-value pair, and wherein one of key is " title ". This can be from the letter from source 116Breath maps directly to event 104. Mapping semantically can comprise carries out explicit Semantic mapping. Semantic mapping canBe included in and between obtained data and event, mate key label. Semantic mapping can comprise with reference to the number obtainingAccording in the description of key-value pair. The implication of definable data for example, is described. This description can be used for shining upon numberAccording to. Semantically mapping can comprise carries out implicit expression Semantic mapping.
Can hands-on approach 300, wherein obtain comprise obtain from source and storing metadata so that event is carried outStandardization.
Each method can be by comprising one or more processors and being situated between computer-readables such as computer storageThe computer system of matter is implemented. Particularly, computer storage can be stored computer executable instructions,These instructions make each action described in each embodiment in the time being carried out by one or more processorsBe performed etc. various functions.
Various embodiments of the present invention can comprise or utilize the special or all-purpose computer that comprises computer hardware,This will discuss in more detail hereinafter. Each embodiment in the scope of the invention also comprises for carrying or storageThe physics of computer executable instructions and/or data structure and other computer-readable mediums. Such computerComputer-readable recording medium can be can be by any usable medium of universal or special computer system accesses. Storage computerThe computer-readable medium of executable instruction is physical storage medium. The calculating of load capacity calculation machine executable instructionMachine computer-readable recording medium is transmission medium. Thus, as example, and unrestricted, various embodiments of the present invention can compriseAt least two kinds of remarkable different computer-readable mediums: physical computer readable storage medium storing program for executing and transmission computerComputer-readable recording medium.
Physical computer storage medium comprises RAM, ROM, EEPROM, CD-ROM or other CDsStore (as CD, DVD etc.), disk storage or other magnetic storage apparatus or can be used for storing computerThe required program code devices of executable instruction or data structure form and can being visited by universal or special computerAny other medium of asking.
" network " is defined as allowing to pass between computer system and/or module and/or other electronic equipmentsOne or more data link of transmission of electricity subdata. When information exchange is crossed network or another communication connection (connects firmlyLine, wireless or hardwired or wireless combination) when transmitting or offering computer, this computer shouldConnect and be suitably considered as transmission medium. Transmission medium can comprise and can be used for carrying computer executable instructions or numberAccording to the required program code devices of version and can be by the network of universal or special computer access and/or numberAccording to link. The combination of above medium is also included in the scope of computer-readable medium.
In addition, in the time arriving various computer system component, the executable instruction of computer or data structure shapeIt is readable that the program code devices of formula can automatically be transferred to physical computer from transmission computer-readable mediumStorage medium (or vice versa). For example, the computer receiving by network or data link can be heldRow instruction or data structure can be buffered in for example, RAM in Network Interface Module (, " NIC "),Then be finally sent to the calculating of the more not volatibility of computer system RAM and/or computer systems divisionThe readable physical storage medium of machine. Therefore, computer-readable physical storage medium can be included in equally (or veryTo main) utilize in the computer system component of transmission medium.
Computer executable instructions comprises, for example, make all-purpose computer, special-purpose computer or dedicated processes establishThe standby instruction and data of carrying out a certain function or certain group function. Computer executable instructions can be for example two to enterCode processed, intermediate format instructions such as assembler language or even source code. Although the architectural feature of usingAnd/or method this theme that moved special language description, but be appreciated that in appended claims and defineTheme be not necessarily limited to above-mentioned feature or action. On the contrary, above-mentioned feature and action are as realizing claimExemplary form and disclosed.
It will be apparent to one skilled in the art that the present invention can be permitted eurypalynous computer system configurations havingNetwork computing environment in put into practice, these computer system configurations comprise personal computer, desktop computer,Laptop computer, message handling device, portable equipment, multicomputer system, based on microprocessor orProgrammable consumer electronic device, network PC, minicom, mainframe computer, mobile phone, PDA,Pager, router, switch etc. The present invention also can pass through network linking therein (or by hardLine data link, wireless data link, or by the combination of hardwired and wireless data link) basisIn the distributed system environment that ground and remote computer system are both executed the task, implement. In distributed systemIn environment, program module can be arranged in local and remote memory storage device.
The present invention can be embodied as other concrete forms and not deviate from its spirit or feature. Described embodimentIt is only illustrative and nonrestrictive all should being considered in all respects. Therefore, scope of the present invention is by appendedClaims but not aforementioned description instruction. Fall in the implication of equivalents of claims and scopeChange is contained by the scope of claims.

Claims (7)

1. a method for transmit events, described method comprises:
By using the special multiple different agreement of multiple not homologies (116) and described not homology (116)Communication, obtains data (302) from described not homology;
Based on obtained data, should there are (304) in decision event (104); And
Cause event (104), wherein for the consistent event (104) that obtains consumer is assessed causedEvent (104) is carried out standardization, and no matter from the data source (116) that causes described event (104-1)The specific modality (306) of data;
Wherein, described event being carried out to standardization comprises:
The data of obtaining from described not homology, detecting one group is differently named by described not homology but semantemeIdentical data element;
Common name is defined as to described one group differently to be named by described not homology but semantic identical dataThe key of element; And
By a source in homology but do not appear at described difference not described in only appearing in obtained dataData in another source in source by these data " the machine " title in respective sources shine upon.
2. the method for claim 1, is characterized in that, described mapping comprises carries out explicit languageBenefit film showing is penetrated.
3. method as claimed in claim 2, is characterized in that, carries out explicit Semantic mapping and is included inBetween the data of obtaining and described event, mate key label.
4. method as claimed in claim 2, is characterized in that, carries out explicit Semantic mapping and comprises ginsengExamine the description of key-value pair in obtained data.
5. the method for claim 1, is characterized in that, described mapping comprises carries out implicit expression languageBenefit film showing is penetrated.
6. the method for claim 1, is characterized in that, obtains to comprise from described source and obtaining alsoStoring metadata is so that carry out standardization to event.
7. a system for transmit events, described system comprises:
For passing through to use special multiple different agreements and the described not homology of multiple not homologies (116)(116) communication, obtains the device of data (302) from described not homology;
For the data based on obtained, should there is the device of (304) in decision event (104); And
Be used for the device of the event that causes (104), wherein for the consistent event (104) that obtains consumer is commentedEstimate caused event (104) is carried out to standardization, and no matter from causing described event (104-1)The specific modality (306) of the data of data source (116);
Wherein, described event being carried out to standardization comprises:
The data of obtaining from described not homology, detecting one group is differently named by described not homology but semantemeIdentical data element;
Common name is defined as to described one group differently to be named by described not homology but semantic identical dataThe key of element; And
By a source in homology but do not appear at described difference not described in only appearing in obtained dataData in another source in source by these data " the machine " title in respective sources shine upon.
CN201210335084.5A 2011-09-12 2012-09-11 System extending transversely is to obtain event data Active CN103051666B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161533667P 2011-09-12 2011-09-12
US61/533,667 2011-09-12
US13/278,408 2011-10-21
US13/278,408 US8694462B2 (en) 2011-09-12 2011-10-21 Scale-out system to acquire event data

Publications (2)

Publication Number Publication Date
CN103051666A CN103051666A (en) 2013-04-17
CN103051666B true CN103051666B (en) 2016-05-11

Family

ID=48064164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210335084.5A Active CN103051666B (en) 2011-09-12 2012-09-11 System extending transversely is to obtain event data

Country Status (1)

Country Link
CN (1) CN103051666B (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6725446B1 (en) * 2000-11-01 2004-04-20 Digital Integrator, Inc. Information distribution method and system

Also Published As

Publication number Publication date
CN103051666A (en) 2013-04-17

Similar Documents

Publication Publication Date Title
CN103051667B (en) Distributing multi-source push notifications to multiple targets
CN113037823B (en) Message delivery system and method
JP6126099B2 (en) Marketplace for timely event data distribution
JP6426630B2 (en) Prompted sharing of photos
KR101899432B1 (en) Mobile push notification
US20150142790A1 (en) Generating logical expressions for search queries
US20180205677A1 (en) Apparatus for providing document sharing service based on messaging service, and method using the apparatus
US9208476B2 (en) Counting and resetting broadcast system badge counters
US8595322B2 (en) Target subscription for a notification distribution system
CN103299306A (en) Mapping a third-party web page to an object in a social networking system
CN101945056A (en) System and/or method based on the JMS middleware group of strategy
CN101495985A (en) Instant messaging with data sharing
JP6067714B2 (en) Scale-out system that acquires event data
Mijić et al. Unified iot platform architecture platforms as major iot building blocks
US10664242B2 (en) Application development engine and method of performing same
Joshi et al. A comparison and mapping of data distribution service and high-level architecture
CN103051666B (en) System extending transversely is to obtain event data
Hu et al. A mobile crowdsensing system enhanced by cloud-based social networking services
CN104378411A (en) Service exchange system
Rana et al. Harnessing the cloud for mobile social networking applications
CN103051465B (en) Counting and replacement to broadcast system badge counter
JP2019516168A (en) System and method for providing video data analysis based on hierarchical architecture
JP7524404B2 (en) Messaging service method and apparatus
Ihara et al. Towards more practical information sharing in disaster situations
US20240061729A1 (en) Multitenancy cross-tenant collaboration driven by event proxy

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant