119 lines · 6.1 KB · Text
RawDownload
<?xml version="1.0" encoding="utf-8"?><topic id="1218d5aa-0d5c-42fe-a65e-d0a1b30bba41" revisionNumber="1">  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">    <introduction>      <para>        The time-series data processing library of the Grid Solutions Framework is a core collection of classes used        to manage, process and respond to dynamic changes in fast moving streaming time-series data in real-time.        The library components allow applications to be architected as measurement routing systems. Any application can        host the library which will allow the system become a "measurement router" that can host a variety of pluggable        adapters. More information about the time-series adapters that are available as part of the Grid Solutions Framework        can be found in this documentation.      </para>              <para>        The open Phasor Data Concentrator, Secure Information Exchange Gateway (SIEGate) and the open Historian are examples        of projects based on this time-series adapter library.      </para>      <para>        See the following for documentation for core components of the Grid Solutions Framework:        <externalLink>          <linkText>GSF Core Framework</linkText>          <linkUri>../../</linkUri>        </externalLink>      </para>    </introduction>     <section>      <title>About</title>      <content>        <para>          The time-series adapter library can be molded to route measurements in any fashion, but the system defines three fundamental          measurement processing categorizations to kick start most any time-series processing architecture; these are the           <legacyItalic>Input</legacyItalic>, <legacyItalic>Action</legacyItalic> and <legacyItalic>Output</legacyItalic> interface          adapters. These base level adapters are called Iaon Adapters (pronounced "yo-wan" if you want to speak it). Each adapter          type performs a basic time-series data operation:        </para>         <list class="bullet">          <listItem>            <para>              <legacyBold>Input Adapters</legacyBold>: Typically "maps" measurements from a data source (i.e., assigns a              timestamp and an ID to measured values parsed from a stream of data), new measurements are presented to the system              by calling <codeInline>void OnNewMeasurements(ICollection&lt;IMeasurement&gt; measurements)</codeInline> method.            </para>            <para>              Interface:              <externalLink>                <linkText>IInputAdapter</linkText>                <linkUri>../../html/T_GSF_TimeSeries_Adapters_IInputAdapter.htm</linkUri>              </externalLink>,              base class:              <externalLink>                <linkText>InputAdapterBase</linkText>                <linkUri>../../html/T_GSF_TimeSeries_Adapters_InputAdapterBase.htm</linkUri>              </externalLink>            </para>          </listItem>           <listItem>            <para>              <legacyBold>Action Adapters</legacyBold>: Typically filters and sorts measurements by time allowing adapter to take              action on a synchronized set of data provided in the <codeInline>abstract void PublishFrame(IFrame frame, int index)</codeInline> method which              adapter overrides (note that frame contains a collection of measurements all collected into the same time-indexed              frame bucket). If the action causes the creation of new measurements, new measurements are presented to the system by              calling <codeInline>void OnNewMeasurements(ICollection&lt;IMeasurement&gt; measurements)</codeInline> method.            </para>            <para>              Interface:              <externalLink>                <linkText>IActionAdapter</linkText>                <linkUri>../../html/T_GSF_TimeSeries_Adapters_IActionAdapter.htm</linkUri>              </externalLink>,              base class:              <externalLink>                <linkText>ActionAdapterBase</linkText>                <linkUri>../../html/T_GSF_TimeSeries_Adapters_ActionAdapterBase.htm</linkUri>              </externalLink>            </para>          </listItem>           <listItem>            <para>              <legacyBold>Output Adapters</legacyBold>: Typically queues all measurements (no sorting) for processing. Queued              measurements are presented to the adapter for processing in the <codeInline>void ProcessMeasurements(IMeasurement[] measurements)</codeInline>              method – if measurements continue to build up in memory and are not processed in a timely manner they will be removed              from the queue as protective measure to prevent catastrophic out-of-memory failures. Since output adapters are used to              archive data this is often the slowest part in the system (disks tend to be a bottleneck), outputs can optionally be              set to filter based on a measurement's defined "Source" property – this allows multiple outputs to be targeted to several              different distributed outputs which allows large systems to stay ahead of the incoming data stream.            </para>            <para>              Interface:              <externalLink>                <linkText>IOutputAdapter</linkText>                <linkUri>../../html/T_GSF_TimeSeries_Adapters_IOutputAdapter.htm</linkUri>              </externalLink>,              base class:              <externalLink>                <linkText>OutputAdapterBase</linkText>                <linkUri>../../html/T_GSF_TimeSeries_Adapters_OutputAdapterBase.htm</linkUri>              </externalLink>            </para>          </listItem>        </list>         <para>          <markup>            <p style="text-align:center">              <img title="IaonAdapters.png" src="http://gridprotectionalliance.org/images/technology/TSLoverview540R1.png" alt="IaonAdapters.png" />            </p>          </markup>        </para>      </content>    </section>     <relatedTopics>     </relatedTopics>  </developerConceptualDocument></topic>

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t