SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
An approach to build high-performance OPC-XML
  DA server system based on MONGODB and Comet
                         Xiaoping Dai                                                                        Qiyu Xie
              Department of Computer Science                                                   Department of Computer Science
              Anhui University of Technology                                                   Anhui University of Technology
                    Ma’anshan, China                                                                  Ma’anshan, China
                    xpdai@ahut.edu.cn                                                                xieqiyu@gmail.com


Abstract—A simple implementation for OPC XML-DA has been                       SubscriptionPolledRefresh and SubscriptionCancel, and the
achieved by the traditional XML-DA server. However, little has                 basic operating mechanism is shown in Figure 1. As can be
been attracted to the design and improvement of the capability.                seen from Figure 1 that the pseudo callback mechanism is
An OPC-XML DA server system of high performance is designed                    based on a query (polled-pull). In order to simulate a callback
in this paper. We use .net asynchronous framework to design                    better, a high-level subscription mechanism[5] was also
asynchronous subscription mechanism which is based on the                      designed, the operating mechanism of that shown in Figure 2.
Comet. New caching mechanism is designed by non-relational
database such as MongoDB. Historical data storage is achieved
based on the raw data compression method. Through a set of
testing, we found that this system greatly improve the ability
under high concurrency and high volume of data.

   Keywords-high       performance;        opc-xml;      asynchronous
subscription; web service

                        I.     INTRODUCTION
    Modern process control systems face increasing challenges,
and are required to integrate the different types of underlying
control networks for different regions, to realize internet-based
real-time management. But the data standards used in the
control systems in the different area are not uniform, therefore,                             Figure 1. Basic subscription mechanism
the control systems are difficult to be integrated. Using OPC
(OLE for Process Control, Process Control Object Linking and
Embedding) technology, these problems can be solved.                                   Hold Time                         Wait Time
However, OPC DA technology is based on COM/DCOM, and
is deficient in cross-platform and connectivity. OPC XML-DA
technology eliminates the OPC DA's defects. In this paper, we
design XML-DA server system with new asynchronous
subscription mechanism, caching mechanisms, and historical
data storage mechanism. The system performs well with high
                                                                                      minimum
concurrency and high volume of data.
                                                                                      response time

              II.    OPC XML KEY TECHNOLOGIES
                                                                                            maximum time for service to response
A. OPC XML Specification
   OPC Foundation released OPC XML-DA 1.0                                                   Figure 2. Advanced Subscription Mechanism
specification[1] in July 2003, for the OPC data access to be
described as a Web service[2]. XML-DA specification defines                        Under the advanced subscription mechanism, the server
eight types of Web services, using XML-based SOAP                              immediately enter a Holdtime after receiving a request for a
protocol[3]. Table 1 describes the OPC XML-DA Web service.                     SubscriptionPolledRefresh, the Holdtime is used for waiting
                                                                               for data to change. Only after the Holdtime ending, if the value
B. The design of traditional OPC XML-DA servers                                has changed the request is return to the client, so that the
  1) Subscription mechanism                                                    number of communications can be reduced. After the
    OPC XML-DA created a pseudo-callback mechanism                             Holdtime, if there is no change in the value then enter the
(pseudo-callback)[4],and it's basic services are Subscription,                 Waittime.During the Waittime, if there are changes in the value


   This research is supported by Natural Science Foundation of AnHui Education Bureau of China. (No. KJ2009A007Z)




         978-1-4244-8165-1/11/$26.00 ©2011 IEEE
                                                                        2881
items, it is sent immediately to the clients. In this mode, the        repeat the procedure of requesting to establish a connection,
clients don't need to poll, but still waiting. The setted minimum      waiting for data, closing the connection process.
value of maximum waiting time is the server's maximum                     2) Cache and history data storage rarely mentioned: For
response time, while server will increase the burden of waiting.       the caching mechanism, OPC XML protocol has only outlined
  2) Data Management Optimization                                      a function of data cache, no mention of how to design caching
    When the clients request to the server, they and the server        mechanism and how to store. The storage of historical data is
enter a loosely coupled relationship. Clients can request that         done by the relational database, but, the amount of XML-DA
some of the properties are set to optimize the relationship            data per day grows in the level of GB, and relational database
between the server and the clients and increase server                 can not complete such a massive task of real-time data storage.
management data. These properties include:
                                                                         III.   IMPROVEMENT AND IMPLEMENTATION OF OPC XML-
         RequestedSamplingRate
                                                                                             DA SERVER
         EnableBuffering
         DeadBand                                                          Regarding the traditional OPC XML-DA server design
    By RequestedSamplingRate property, the clients can                 flaws, this paper made the following improvements:
recommend a suitable SamplingRate (sampling time) to server              1) Subscription mechanism: this paper designed
according to their refresh rate. In the case of multiple clients,
                                                                       asynchronous subscription mechanism based on .net, to
by setting EnableBuffering property to true, the server can save
all the changed values which are collected within the actual           release processing threads of the server-side in time and to
sampling time into one buffer,then sends to the clients                achieve the long connection between client and server based
according to the client sampling time, to avoid unnecessary            on comet. In order to overcome the excessive background
data transmission.DeadBand attribute is used to determine if           threads caused by long connecting, and excessive resource
the value has changed, and only the values changed exceed              consumption, net interface is extended, therefore, the client
DeadBand are taken as changed.                                         request is no longer assign to thread directly, but is added to a
                                                                       thread queue in background thread pool through the hash
C. Traditional OPC XML-DA server's Architecture                        algorithm, for a thread to service multiple requests.
    OPC XML-DA server's architechture[6] can be classified as            2) Cache and history data storage: the non-relational
service monitoring module, the data processing modules, OPC            database mongoDB is used to store real-time and historical
DA interface module. Its functions are:                                data. Server subscribe for information to all lower nodes. The
   1) Service monitoring modules: Monitor OPC XML-DA                   information is stored in the memory buffer, and updated when
client's SOAP request, receive data from data buffer; start the        the node value changes. Historical data is compressed raw data,
corresponding data processing module to process the received           which stores only the updated node information.
data, and publish the completed XML document through the               B. Subscription mechanism
HTTP protocol.                                                              OPC XML-DA uses a pseudo-callback mechanism. Call
   2) Data Management Optimization: Responsible for the                back the subscribe process is expensive for the system and not
interpretation of the received XML format SOAP message, and            very good to reduce the amount and frequency of data
conversion between XML and OPC , and conversion between                exchange. Combine .net platform features and Comet principle,
the data specification and service types of XML document and           this paper have achieved the server push subscription
OPC interface protocol , and to complete the assembly , split,         mechanism in web service, whose operating mechanism is
and resolution of XML documents and OPC data formats                   shown in Figure 3.
according to communication requirements.
   3) OPC DA interface module: To achieve OPC DA client,
and complete access to data on the underlying device. OPC
client defines the transfer of information and access methods
between the business layer and between OPC server, and
complete data exchange with OPC server.
D. Flaws in traditional OPC XML-DA server
Traditional design XML-DA server has two major flaws:
   1) Subscription mechanism: OPC XML-DA subscription
is the pseudo callback mechanism. The connection between
client and server are low coupling, cross-platform, Non-
permanent, and can not provide a callback mechanism. The
subscription mechanism is still based on the client's repeated                       Figure 3. Comet subscription mechanism
polling. Every time, in order to get data, the client needs to




                                                                2882
In this mode, after the client subscribes to request, the           C. Cache and history data storage
server and client establish connection. The server find the data-            For high-performance XML-DA servers, the rational use
update request then return the data immediately. If the data            of caching mechanism will significantly improve system
update still do not arrive when time out, then return time out          performance. In this paper, non-relational database mongoDB
mark to the client. After receives the timeout mark from the            is used to build data module including cache and history data
server, client automatically connect to the server. After the           storage.
client cancels the subscription, the server stops the connection
with the client.                                                             MongoDB[7] is an open sourced, storage-for-document
                                                                        database. MongoDB is easy to store data with object types,
    With the asynchronous subscription, the requested data are          including documents-insert objects and number group, and suit
returned only if the data is updated, therefore, the amount and         for a large number of data to insert real-timely, update and
frequency of data exchange are significantly reduced. And               query, and have the ability to copy and high scalability the
because that a reasonable timeout is set, connection times are          application programme needed to do real-time data storage.
less than traditional XML-DA subscription. However, when a
high number of concurrent clients happening, because that the                In this paper, buffer memory for real-time data is
server is assigned a process for each request thread.                   established, and all the node information is subscribed from
                                                                        OPC DA server through OPC DA client interface. For the first
    Therefore, we have achieved and expanded on .Net                    subscription, all node information saved as a document; later
IAsyncHttpHandler interface based on asynchronous IO                    when the data is updated, the updated data is stored as a
communication. The so-called asynchronous IO is that the                document ,therefore, the compression storage of raw data is
thread which the server assigned can be released back to the            achieved. The storage format of nodes is a Bson (Binary-
thread pool to serve other requests. The request sended by the          encoded Serialization Object Notation) document, as shown in
client is monitored by self-defined programme and processed             Figure 5.
in BeginProcessRequest method, and join this request to the
thread queue, the thread handle their own requests in the queue
circularly, then return the contents of the response to the client
by the EndProcessRequest way. When a request reaches
timeout, the thread will remove the request. The operating
mechanism is shown in Figure 4.




                                                                             Figure 5.   mongoDB nodes information stored in the document

                                                                        Data module handling mechanism shown in Figure 6:
                                                                          1) When the client sends a request, mongoDB memory
                                                                        buffer is searched. If there is no cache, OPC DA client
       Figure 4. .Net asynchronous HTTP connection mechanism            subscribe all the node's information from the DA server.
                                                                          2) If there is cache, the node information user requests is
   The key code is as follows:                                          extracted from the cache and return.
   public class CometAsyncHandler : IHttpAsyncHandler{                    3) Whenever the DA server push to send data the memory
                                                                        buffer is updated. At same time only the latest node
      BeginProcessRequest(HttpContext ct, AsyncCallback cb,             information store as a document.
object extraData){
  // Generate a an asynchronous return variable from context
CometResult result = new CometResult(ct, cb, extraData);
     // Add the request into a thread queue the thread pool
CometThreadPool.QueueRequest(new CometRequest(this));}
       EndProcessRequest(IAsyncResult result){
    // Write stream to the response and return to the client
serializer.WriteObject(result..OutputStream,result.Response);
   result.HttpContext.Response.End();}}




                                                                 2883
Figure 6. Data processing module activity diagram             has fast response speed, no major change in performance and
                                                                           keep a more stable service. Test data prove that the new server
The key code is as follows:                                                has outstanding performance in a large data flow and high
Public class DataHelper {// Data processing class                          concurrency.

   Public Array GetData(list){
                                                                                        TABLE I.        THE COMPARISON OF TEST RESULTS
    // Get the latest data of specified node
                                                                            Node /       Server         the          the        the          the
        if(NodeInfoCacheHelper.GetCurrent()!=null) {                        request       type        fastest     slowest    average      number of
                                                                                                     response    response    response      requests
    // If the memory buffer is not empty                                                               (ms)         (ms)       (ms)         being
                                                                                                                                         interrupted
        return TransferData(NodeCacheHelper.GetCur(),list) }
                                                                            1000/      Traditional   390         440         410         0
   // Extract request data from the buffer                                  30         server
                                                                            1000/      new server    320         410         330         0
     else{                                                                  30
                                                                            1000/      Traditional   480         800         640         30
     Array array = NodeInfoCacheHelper.BeginGetData();                      300        server
   // Start to subscribe all nodes and to return the latest data.           1000/      new server    370         500         440         2
                                                                            300
     return TransferData(array,list);}}}                                    5000/      Traditional   440         550         470         2
                                                                            30         server
                                                                            5000/      new server    330         520         400         0
                      IV.     INTEGRATION TEST                              30
                                                                            5000/      Traditional   470         900         760         40
A. Test platform and the method                                             300        server
                                                                            5000/      new server    550         650         600         3
   The testing platform:                                                    300
  OPC DA SERVER: wincc server and Intel Pentium D
CPU2.8GHz win2003 operating system                                                                      V.      SUMMARY
                                                                                OPC XML-DA standard is a current development trend
    XML DA SERVER: Intel Pentium D CPU2.8GHz win2003                       for OPC and is a good method to achieve long-range and cross-
server operating system                                                    platform data exchange. In this paper, a high-performance OPC
    CLIENT: Intel Pentium D CPU2.8GHz, winxp operating                     XML-DA server is built, which has achieved effective real-
system                                                                     time management to the underlying control system, and
                                                                           improved the industrial on-site data access flexibility, and
    Test method:To perform 4 groups of reading and                         increased remote access to data from the on-site, and offered an
subscription, namely 1000 nodes / 30 requests, 1000 nodes /                effective solution for industrial real-time control. It has great
300 requests, 50 nodes / 30 requests, 5000 nodes / 300                     significance for improving the on-site industrial management.
requests. The request frequency is 1s, server refresh rate is 1s.
Read operation tests the fastest response time, the slowest
response time, average response time. Subscription operation                                               REFERENCES
tests server resource consumption and the number of requests
to be interrupted.                                                         [1]   OPC      Foundation.OPC       XML-DA        specification,version 1.01
                                                                                 [EB/OL].(2004-12-18).
                                                                                 http://www.opcfoundation.org/DownloadFile.aspx?CM=3&RI=231&C
B. Test Results                                                                  N=KEY&CI=283&CU=20.
      Test results are shown in Table 2. In the case of small              [2]   Peng Jin,Wang Jin Biu, “A OPC Specification-- OPC XML-DA”
number of requests (30), with the number of nodes increasing                     metallurgical automation,vol. 28(1), pp. 6-9,2004.
from 1000 to 5000, no significant change happened in response              [3]   SHONNARD A. Understanding SOAP [EB/OL].[2009-12-20].
time, and the response is quick. Therefore, it is confirmed that                 http://msdn.microsoft.com/en-us/library/ms995800.aspx.
the increase in the number of nodes will not have much impact              [4]   Yuan xiaofang, Wang dong, “Subscribe to the realization of the
on both the traditional server and the new server, and they both                 mechanism analysis in OPC” Computer Engineering and Applications,
                                                                                 vol. 45(1), pp. 89-91,2009.
have a good frequency response. But once a large number of
                                                                           [5]   Liu li, Wang wenhai., “Realize the remote OPC real-time monitoring
concurrent requests (300) happen, the node number increases                      of research and design based on XML-DA” Control and Instruments
from 1000 to 5000, the traditional server, which has too many                    in Chemical Industry, vol.34(2), pp. 32-35, 2007.
threads, will seriously slow down the response speed. When                 [6]   Kang lingyan Wang jinlin and Zuo zejun, “Process of information
the performance dramatically change, there are many requests                     integration method based on the OPC-XML” Computer Engineering,
are interrupted. With the same conditions, the new server still                  vol.35(10), pp. 283-285, 2009.
                                                                           [7]   MongoDB. http://www.mongodb.org.




                                                                    2884

Más contenido relacionado

La actualidad más candente

The constrained application protocol (coap) part 2
The constrained application protocol (coap)  part 2The constrained application protocol (coap)  part 2
The constrained application protocol (coap) part 2Hamdamboy (함담보이)
 
The constrained application protocol (CoAP)
The constrained application protocol (CoAP)The constrained application protocol (CoAP)
The constrained application protocol (CoAP)Hamdamboy (함담보이)
 
The constrained application protocol (coap) part 3
The constrained application protocol (coap)  part 3The constrained application protocol (coap)  part 3
The constrained application protocol (coap) part 3Hamdamboy
 
Ch05 high availability
Ch05 high availabilityCh05 high availability
Ch05 high availabilityShane Flooks
 
New Exchange Server 2013 Architecture
New Exchange Server 2013 ArchitectureNew Exchange Server 2013 Architecture
New Exchange Server 2013 ArchitectureKhalid Al-Ghamdi
 
CoAP in Reactive Blocks
CoAP in Reactive BlocksCoAP in Reactive Blocks
CoAP in Reactive BlocksBitreactive
 
Unit 3 - Protocols and Client-Server Applications - IT
Unit 3 - Protocols and Client-Server Applications - ITUnit 3 - Protocols and Client-Server Applications - IT
Unit 3 - Protocols and Client-Server Applications - ITDeepraj Bhujel
 
Microsoft Exchange 2013 deployment and coexistence
Microsoft Exchange 2013 deployment and coexistenceMicrosoft Exchange 2013 deployment and coexistence
Microsoft Exchange 2013 deployment and coexistenceMotty Ben Atia
 
Implementation and Performance Analysis of a UDP Binding for SOAP
Implementation and Performance Analysis of a UDP Binding for SOAPImplementation and Performance Analysis of a UDP Binding for SOAP
Implementation and Performance Analysis of a UDP Binding for SOAPDr. Fahad Aijaz
 
Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...
Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...
Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...Microsoft Technet France
 
Connecting Things to the Web using Programmable Low-power WiFi Modules
Connecting Things to the Web using Programmable Low-power WiFi ModulesConnecting Things to the Web using Programmable Low-power WiFi Modules
Connecting Things to the Web using Programmable Low-power WiFi ModulesMatthias Kovatsch
 
[Lucas Films] Using a Perforce Proxy with Alternate Transports
[Lucas Films] Using a Perforce Proxy with Alternate Transports[Lucas Films] Using a Perforce Proxy with Alternate Transports
[Lucas Films] Using a Perforce Proxy with Alternate TransportsPerforce
 
Extensible Messaging and Presence Protocol (XMPP) with GCM
Extensible Messaging and Presence Protocol (XMPP) with GCMExtensible Messaging and Presence Protocol (XMPP) with GCM
Extensible Messaging and Presence Protocol (XMPP) with GCMMalwinder Singh
 
CoAP protocol -Internet of Things(iot)
CoAP protocol -Internet of Things(iot)CoAP protocol -Internet of Things(iot)
CoAP protocol -Internet of Things(iot)Sabahat Nowreen Shaik
 
File_Transfer_Protocol_Design
File_Transfer_Protocol_DesignFile_Transfer_Protocol_Design
File_Transfer_Protocol_DesignVishal Vasudev
 
DB2 pureScale Overview Sept 2010
DB2 pureScale Overview Sept 2010DB2 pureScale Overview Sept 2010
DB2 pureScale Overview Sept 2010Laura Hood
 

La actualidad más candente (20)

The constrained application protocol (coap) part 2
The constrained application protocol (coap)  part 2The constrained application protocol (coap)  part 2
The constrained application protocol (coap) part 2
 
The constrained application protocol (CoAP)
The constrained application protocol (CoAP)The constrained application protocol (CoAP)
The constrained application protocol (CoAP)
 
The constrained application protocol (coap) part 3
The constrained application protocol (coap)  part 3The constrained application protocol (coap)  part 3
The constrained application protocol (coap) part 3
 
Ch05 high availability
Ch05 high availabilityCh05 high availability
Ch05 high availability
 
New Exchange Server 2013 Architecture
New Exchange Server 2013 ArchitectureNew Exchange Server 2013 Architecture
New Exchange Server 2013 Architecture
 
IoT Coap
IoT Coap IoT Coap
IoT Coap
 
Virtual migration cloud
Virtual migration cloudVirtual migration cloud
Virtual migration cloud
 
CoAP in Reactive Blocks
CoAP in Reactive BlocksCoAP in Reactive Blocks
CoAP in Reactive Blocks
 
Unit 3 - Protocols and Client-Server Applications - IT
Unit 3 - Protocols and Client-Server Applications - ITUnit 3 - Protocols and Client-Server Applications - IT
Unit 3 - Protocols and Client-Server Applications - IT
 
Microsoft Exchange 2013 deployment and coexistence
Microsoft Exchange 2013 deployment and coexistenceMicrosoft Exchange 2013 deployment and coexistence
Microsoft Exchange 2013 deployment and coexistence
 
Implementation and Performance Analysis of a UDP Binding for SOAP
Implementation and Performance Analysis of a UDP Binding for SOAPImplementation and Performance Analysis of a UDP Binding for SOAP
Implementation and Performance Analysis of a UDP Binding for SOAP
 
Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...
Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...
Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...
 
Http/2
Http/2Http/2
Http/2
 
Connecting Things to the Web using Programmable Low-power WiFi Modules
Connecting Things to the Web using Programmable Low-power WiFi ModulesConnecting Things to the Web using Programmable Low-power WiFi Modules
Connecting Things to the Web using Programmable Low-power WiFi Modules
 
[Lucas Films] Using a Perforce Proxy with Alternate Transports
[Lucas Films] Using a Perforce Proxy with Alternate Transports[Lucas Films] Using a Perforce Proxy with Alternate Transports
[Lucas Films] Using a Perforce Proxy with Alternate Transports
 
Extensible Messaging and Presence Protocol (XMPP) with GCM
Extensible Messaging and Presence Protocol (XMPP) with GCMExtensible Messaging and Presence Protocol (XMPP) with GCM
Extensible Messaging and Presence Protocol (XMPP) with GCM
 
CoAP protocol -Internet of Things(iot)
CoAP protocol -Internet of Things(iot)CoAP protocol -Internet of Things(iot)
CoAP protocol -Internet of Things(iot)
 
File_Transfer_Protocol_Design
File_Transfer_Protocol_DesignFile_Transfer_Protocol_Design
File_Transfer_Protocol_Design
 
DB2 pureScale Overview Sept 2010
DB2 pureScale Overview Sept 2010DB2 pureScale Overview Sept 2010
DB2 pureScale Overview Sept 2010
 
Lecture 14
Lecture 14Lecture 14
Lecture 14
 

Similar a An approach to build high performance opc-xml da server system based on mongodb and comet

Psdot 15 performance analysis of cloud computing
Psdot 15 performance analysis of cloud computingPsdot 15 performance analysis of cloud computing
Psdot 15 performance analysis of cloud computingZTech Proje
 
🏗️Improve database performance with connection pooling and load balancing tec...
🏗️Improve database performance with connection pooling and load balancing tec...🏗️Improve database performance with connection pooling and load balancing tec...
🏗️Improve database performance with connection pooling and load balancing tec...Alireza Kamrani
 
Scalable analytics for iaas cloud availability
Scalable analytics for iaas cloud availabilityScalable analytics for iaas cloud availability
Scalable analytics for iaas cloud availabilityPapitha Velumani
 
Addressing Network Operator Challenges in YANG push Data Mesh Integration
Addressing Network Operator Challenges in YANG push Data Mesh IntegrationAddressing Network Operator Challenges in YANG push Data Mesh Integration
Addressing Network Operator Challenges in YANG push Data Mesh IntegrationThomasGraf42
 
Scalable analytics for iaas cloud availability
Scalable analytics for iaas cloud availabilityScalable analytics for iaas cloud availability
Scalable analytics for iaas cloud availabilityPapitha Velumani
 
Accurate Networks Measurements Environment
Accurate Networks Measurements  EnvironmentAccurate Networks Measurements  Environment
Accurate Networks Measurements EnvironmentFeras Tanan
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web servicesNeil Ghosh
 
CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptxFamiDan
 
High Performance Communication for Oracle using InfiniBand
High Performance Communication for Oracle using InfiniBandHigh Performance Communication for Oracle using InfiniBand
High Performance Communication for Oracle using InfiniBandwebhostingguy
 
Qos aware data replication for data-intensive applications in cloud computing...
Qos aware data replication for data-intensive applications in cloud computing...Qos aware data replication for data-intensive applications in cloud computing...
Qos aware data replication for data-intensive applications in cloud computing...Papitha Velumani
 
client server protocol
client server protocolclient server protocol
client server protocolbmuhire
 
Ieeepro techno solutions 2014 ieee dotnet project - cloud bandwidth and cos...
Ieeepro techno solutions   2014 ieee dotnet project - cloud bandwidth and cos...Ieeepro techno solutions   2014 ieee dotnet project - cloud bandwidth and cos...
Ieeepro techno solutions 2014 ieee dotnet project - cloud bandwidth and cos...ASAITHAMBIRAJAA
 
Ieeepro techno solutions 2014 ieee java project - cloud bandwidth and cost ...
Ieeepro techno solutions   2014 ieee java project - cloud bandwidth and cost ...Ieeepro techno solutions   2014 ieee java project - cloud bandwidth and cost ...
Ieeepro techno solutions 2014 ieee java project - cloud bandwidth and cost ...hemanthbbc
 
LARGE SCALE IMAGE PROCESSING IN REAL-TIME ENVIRONMENTS WITH KAFKA
LARGE SCALE IMAGE PROCESSING IN REAL-TIME ENVIRONMENTS WITH KAFKA LARGE SCALE IMAGE PROCESSING IN REAL-TIME ENVIRONMENTS WITH KAFKA
LARGE SCALE IMAGE PROCESSING IN REAL-TIME ENVIRONMENTS WITH KAFKA csandit
 
Large Scale Image Processing in Real-Time Environments with Kafka
Large Scale Image Processing in Real-Time Environments with Kafka Large Scale Image Processing in Real-Time Environments with Kafka
Large Scale Image Processing in Real-Time Environments with Kafka cscpconf
 
The new (is it really ) api stack
The new (is it really ) api stackThe new (is it really ) api stack
The new (is it really ) api stackRed Hat
 
QoS-Aware Data Replication for Data-Intensive Applications in Cloud Computing...
QoS-Aware Data Replication for Data-Intensive Applications in Cloud Computing...QoS-Aware Data Replication for Data-Intensive Applications in Cloud Computing...
QoS-Aware Data Replication for Data-Intensive Applications in Cloud Computing...Papitha Velumani
 
Mobility Information Series - Webservice Architecture Comparison by RapidValue
Mobility Information Series - Webservice Architecture Comparison by RapidValueMobility Information Series - Webservice Architecture Comparison by RapidValue
Mobility Information Series - Webservice Architecture Comparison by RapidValueRapidValue
 

Similar a An approach to build high performance opc-xml da server system based on mongodb and comet (20)

Sqlnet
SqlnetSqlnet
Sqlnet
 
Psdot 15 performance analysis of cloud computing
Psdot 15 performance analysis of cloud computingPsdot 15 performance analysis of cloud computing
Psdot 15 performance analysis of cloud computing
 
🏗️Improve database performance with connection pooling and load balancing tec...
🏗️Improve database performance with connection pooling and load balancing tec...🏗️Improve database performance with connection pooling and load balancing tec...
🏗️Improve database performance with connection pooling and load balancing tec...
 
Scalable analytics for iaas cloud availability
Scalable analytics for iaas cloud availabilityScalable analytics for iaas cloud availability
Scalable analytics for iaas cloud availability
 
Ead pertemuan-7
Ead pertemuan-7Ead pertemuan-7
Ead pertemuan-7
 
Addressing Network Operator Challenges in YANG push Data Mesh Integration
Addressing Network Operator Challenges in YANG push Data Mesh IntegrationAddressing Network Operator Challenges in YANG push Data Mesh Integration
Addressing Network Operator Challenges in YANG push Data Mesh Integration
 
Scalable analytics for iaas cloud availability
Scalable analytics for iaas cloud availabilityScalable analytics for iaas cloud availability
Scalable analytics for iaas cloud availability
 
Accurate Networks Measurements Environment
Accurate Networks Measurements  EnvironmentAccurate Networks Measurements  Environment
Accurate Networks Measurements Environment
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptx
 
High Performance Communication for Oracle using InfiniBand
High Performance Communication for Oracle using InfiniBandHigh Performance Communication for Oracle using InfiniBand
High Performance Communication for Oracle using InfiniBand
 
Qos aware data replication for data-intensive applications in cloud computing...
Qos aware data replication for data-intensive applications in cloud computing...Qos aware data replication for data-intensive applications in cloud computing...
Qos aware data replication for data-intensive applications in cloud computing...
 
client server protocol
client server protocolclient server protocol
client server protocol
 
Ieeepro techno solutions 2014 ieee dotnet project - cloud bandwidth and cos...
Ieeepro techno solutions   2014 ieee dotnet project - cloud bandwidth and cos...Ieeepro techno solutions   2014 ieee dotnet project - cloud bandwidth and cos...
Ieeepro techno solutions 2014 ieee dotnet project - cloud bandwidth and cos...
 
Ieeepro techno solutions 2014 ieee java project - cloud bandwidth and cost ...
Ieeepro techno solutions   2014 ieee java project - cloud bandwidth and cost ...Ieeepro techno solutions   2014 ieee java project - cloud bandwidth and cost ...
Ieeepro techno solutions 2014 ieee java project - cloud bandwidth and cost ...
 
LARGE SCALE IMAGE PROCESSING IN REAL-TIME ENVIRONMENTS WITH KAFKA
LARGE SCALE IMAGE PROCESSING IN REAL-TIME ENVIRONMENTS WITH KAFKA LARGE SCALE IMAGE PROCESSING IN REAL-TIME ENVIRONMENTS WITH KAFKA
LARGE SCALE IMAGE PROCESSING IN REAL-TIME ENVIRONMENTS WITH KAFKA
 
Large Scale Image Processing in Real-Time Environments with Kafka
Large Scale Image Processing in Real-Time Environments with Kafka Large Scale Image Processing in Real-Time Environments with Kafka
Large Scale Image Processing in Real-Time Environments with Kafka
 
The new (is it really ) api stack
The new (is it really ) api stackThe new (is it really ) api stack
The new (is it really ) api stack
 
QoS-Aware Data Replication for Data-Intensive Applications in Cloud Computing...
QoS-Aware Data Replication for Data-Intensive Applications in Cloud Computing...QoS-Aware Data Replication for Data-Intensive Applications in Cloud Computing...
QoS-Aware Data Replication for Data-Intensive Applications in Cloud Computing...
 
Mobility Information Series - Webservice Architecture Comparison by RapidValue
Mobility Information Series - Webservice Architecture Comparison by RapidValueMobility Information Series - Webservice Architecture Comparison by RapidValue
Mobility Information Series - Webservice Architecture Comparison by RapidValue
 

Más de João Gabriel Lima

Deep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationDeep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationJoão Gabriel Lima
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackJoão Gabriel Lima
 
Realidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitRealidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitJoão Gabriel Lima
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência ArtificialJoão Gabriel Lima
 
Mineração de Dados no Weka - Regressão Linear
Mineração de Dados no Weka -  Regressão LinearMineração de Dados no Weka -  Regressão Linear
Mineração de Dados no Weka - Regressão LinearJoão Gabriel Lima
 
Segurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoSegurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoJoão Gabriel Lima
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google HackingJoão Gabriel Lima
 
Segurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisSegurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisJoão Gabriel Lima
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...João Gabriel Lima
 
Mineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoMineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoJoão Gabriel Lima
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaJoão Gabriel Lima
 
Visualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideVisualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideJoão Gabriel Lima
 
REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?João Gabriel Lima
 
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...João Gabriel Lima
 
E-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosE-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosJoão Gabriel Lima
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.jsJoão Gabriel Lima
 
Hackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptHackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptJoão Gabriel Lima
 

Más de João Gabriel Lima (20)

Cooking with data
Cooking with dataCooking with data
Cooking with data
 
Deep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationDeep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer Segmentation
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full Stack
 
Realidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitRealidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKit
 
JS - IA
JS - IAJS - IA
JS - IA
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência Artificial
 
Mineração de Dados no Weka - Regressão Linear
Mineração de Dados no Weka -  Regressão LinearMineração de Dados no Weka -  Regressão Linear
Mineração de Dados no Weka - Regressão Linear
 
Segurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoSegurança na Internet - Estudos de caso
Segurança na Internet - Estudos de caso
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google Hacking
 
Segurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisSegurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentais
 
Web Machine Learning
Web Machine LearningWeb Machine Learning
Web Machine Learning
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
 
Mineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoMineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - Clusterização
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e Weka
 
Visualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideVisualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark side
 
REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?
 
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
 
E-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosE-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãos
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
 
Hackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptHackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com Javascript
 

Último

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

An approach to build high performance opc-xml da server system based on mongodb and comet

  • 1. An approach to build high-performance OPC-XML DA server system based on MONGODB and Comet Xiaoping Dai Qiyu Xie Department of Computer Science Department of Computer Science Anhui University of Technology Anhui University of Technology Ma’anshan, China Ma’anshan, China xpdai@ahut.edu.cn xieqiyu@gmail.com Abstract—A simple implementation for OPC XML-DA has been SubscriptionPolledRefresh and SubscriptionCancel, and the achieved by the traditional XML-DA server. However, little has basic operating mechanism is shown in Figure 1. As can be been attracted to the design and improvement of the capability. seen from Figure 1 that the pseudo callback mechanism is An OPC-XML DA server system of high performance is designed based on a query (polled-pull). In order to simulate a callback in this paper. We use .net asynchronous framework to design better, a high-level subscription mechanism[5] was also asynchronous subscription mechanism which is based on the designed, the operating mechanism of that shown in Figure 2. Comet. New caching mechanism is designed by non-relational database such as MongoDB. Historical data storage is achieved based on the raw data compression method. Through a set of testing, we found that this system greatly improve the ability under high concurrency and high volume of data. Keywords-high performance; opc-xml; asynchronous subscription; web service I. INTRODUCTION Modern process control systems face increasing challenges, and are required to integrate the different types of underlying control networks for different regions, to realize internet-based real-time management. But the data standards used in the control systems in the different area are not uniform, therefore, Figure 1. Basic subscription mechanism the control systems are difficult to be integrated. Using OPC (OLE for Process Control, Process Control Object Linking and Embedding) technology, these problems can be solved. Hold Time Wait Time However, OPC DA technology is based on COM/DCOM, and is deficient in cross-platform and connectivity. OPC XML-DA technology eliminates the OPC DA's defects. In this paper, we design XML-DA server system with new asynchronous subscription mechanism, caching mechanisms, and historical data storage mechanism. The system performs well with high minimum concurrency and high volume of data. response time II. OPC XML KEY TECHNOLOGIES maximum time for service to response A. OPC XML Specification OPC Foundation released OPC XML-DA 1.0 Figure 2. Advanced Subscription Mechanism specification[1] in July 2003, for the OPC data access to be described as a Web service[2]. XML-DA specification defines Under the advanced subscription mechanism, the server eight types of Web services, using XML-based SOAP immediately enter a Holdtime after receiving a request for a protocol[3]. Table 1 describes the OPC XML-DA Web service. SubscriptionPolledRefresh, the Holdtime is used for waiting for data to change. Only after the Holdtime ending, if the value B. The design of traditional OPC XML-DA servers has changed the request is return to the client, so that the 1) Subscription mechanism number of communications can be reduced. After the OPC XML-DA created a pseudo-callback mechanism Holdtime, if there is no change in the value then enter the (pseudo-callback)[4],and it's basic services are Subscription, Waittime.During the Waittime, if there are changes in the value This research is supported by Natural Science Foundation of AnHui Education Bureau of China. (No. KJ2009A007Z) 978-1-4244-8165-1/11/$26.00 ©2011 IEEE 2881
  • 2. items, it is sent immediately to the clients. In this mode, the repeat the procedure of requesting to establish a connection, clients don't need to poll, but still waiting. The setted minimum waiting for data, closing the connection process. value of maximum waiting time is the server's maximum 2) Cache and history data storage rarely mentioned: For response time, while server will increase the burden of waiting. the caching mechanism, OPC XML protocol has only outlined 2) Data Management Optimization a function of data cache, no mention of how to design caching When the clients request to the server, they and the server mechanism and how to store. The storage of historical data is enter a loosely coupled relationship. Clients can request that done by the relational database, but, the amount of XML-DA some of the properties are set to optimize the relationship data per day grows in the level of GB, and relational database between the server and the clients and increase server can not complete such a massive task of real-time data storage. management data. These properties include: III. IMPROVEMENT AND IMPLEMENTATION OF OPC XML- RequestedSamplingRate DA SERVER EnableBuffering DeadBand Regarding the traditional OPC XML-DA server design By RequestedSamplingRate property, the clients can flaws, this paper made the following improvements: recommend a suitable SamplingRate (sampling time) to server 1) Subscription mechanism: this paper designed according to their refresh rate. In the case of multiple clients, asynchronous subscription mechanism based on .net, to by setting EnableBuffering property to true, the server can save all the changed values which are collected within the actual release processing threads of the server-side in time and to sampling time into one buffer,then sends to the clients achieve the long connection between client and server based according to the client sampling time, to avoid unnecessary on comet. In order to overcome the excessive background data transmission.DeadBand attribute is used to determine if threads caused by long connecting, and excessive resource the value has changed, and only the values changed exceed consumption, net interface is extended, therefore, the client DeadBand are taken as changed. request is no longer assign to thread directly, but is added to a thread queue in background thread pool through the hash C. Traditional OPC XML-DA server's Architecture algorithm, for a thread to service multiple requests. OPC XML-DA server's architechture[6] can be classified as 2) Cache and history data storage: the non-relational service monitoring module, the data processing modules, OPC database mongoDB is used to store real-time and historical DA interface module. Its functions are: data. Server subscribe for information to all lower nodes. The 1) Service monitoring modules: Monitor OPC XML-DA information is stored in the memory buffer, and updated when client's SOAP request, receive data from data buffer; start the the node value changes. Historical data is compressed raw data, corresponding data processing module to process the received which stores only the updated node information. data, and publish the completed XML document through the B. Subscription mechanism HTTP protocol. OPC XML-DA uses a pseudo-callback mechanism. Call 2) Data Management Optimization: Responsible for the back the subscribe process is expensive for the system and not interpretation of the received XML format SOAP message, and very good to reduce the amount and frequency of data conversion between XML and OPC , and conversion between exchange. Combine .net platform features and Comet principle, the data specification and service types of XML document and this paper have achieved the server push subscription OPC interface protocol , and to complete the assembly , split, mechanism in web service, whose operating mechanism is and resolution of XML documents and OPC data formats shown in Figure 3. according to communication requirements. 3) OPC DA interface module: To achieve OPC DA client, and complete access to data on the underlying device. OPC client defines the transfer of information and access methods between the business layer and between OPC server, and complete data exchange with OPC server. D. Flaws in traditional OPC XML-DA server Traditional design XML-DA server has two major flaws: 1) Subscription mechanism: OPC XML-DA subscription is the pseudo callback mechanism. The connection between client and server are low coupling, cross-platform, Non- permanent, and can not provide a callback mechanism. The subscription mechanism is still based on the client's repeated Figure 3. Comet subscription mechanism polling. Every time, in order to get data, the client needs to 2882
  • 3. In this mode, after the client subscribes to request, the C. Cache and history data storage server and client establish connection. The server find the data- For high-performance XML-DA servers, the rational use update request then return the data immediately. If the data of caching mechanism will significantly improve system update still do not arrive when time out, then return time out performance. In this paper, non-relational database mongoDB mark to the client. After receives the timeout mark from the is used to build data module including cache and history data server, client automatically connect to the server. After the storage. client cancels the subscription, the server stops the connection with the client. MongoDB[7] is an open sourced, storage-for-document database. MongoDB is easy to store data with object types, With the asynchronous subscription, the requested data are including documents-insert objects and number group, and suit returned only if the data is updated, therefore, the amount and for a large number of data to insert real-timely, update and frequency of data exchange are significantly reduced. And query, and have the ability to copy and high scalability the because that a reasonable timeout is set, connection times are application programme needed to do real-time data storage. less than traditional XML-DA subscription. However, when a high number of concurrent clients happening, because that the In this paper, buffer memory for real-time data is server is assigned a process for each request thread. established, and all the node information is subscribed from OPC DA server through OPC DA client interface. For the first Therefore, we have achieved and expanded on .Net subscription, all node information saved as a document; later IAsyncHttpHandler interface based on asynchronous IO when the data is updated, the updated data is stored as a communication. The so-called asynchronous IO is that the document ,therefore, the compression storage of raw data is thread which the server assigned can be released back to the achieved. The storage format of nodes is a Bson (Binary- thread pool to serve other requests. The request sended by the encoded Serialization Object Notation) document, as shown in client is monitored by self-defined programme and processed Figure 5. in BeginProcessRequest method, and join this request to the thread queue, the thread handle their own requests in the queue circularly, then return the contents of the response to the client by the EndProcessRequest way. When a request reaches timeout, the thread will remove the request. The operating mechanism is shown in Figure 4. Figure 5. mongoDB nodes information stored in the document Data module handling mechanism shown in Figure 6: 1) When the client sends a request, mongoDB memory buffer is searched. If there is no cache, OPC DA client Figure 4. .Net asynchronous HTTP connection mechanism subscribe all the node's information from the DA server. 2) If there is cache, the node information user requests is The key code is as follows: extracted from the cache and return. public class CometAsyncHandler : IHttpAsyncHandler{ 3) Whenever the DA server push to send data the memory buffer is updated. At same time only the latest node BeginProcessRequest(HttpContext ct, AsyncCallback cb, information store as a document. object extraData){ // Generate a an asynchronous return variable from context CometResult result = new CometResult(ct, cb, extraData); // Add the request into a thread queue the thread pool CometThreadPool.QueueRequest(new CometRequest(this));} EndProcessRequest(IAsyncResult result){ // Write stream to the response and return to the client serializer.WriteObject(result..OutputStream,result.Response); result.HttpContext.Response.End();}} 2883
  • 4. Figure 6. Data processing module activity diagram has fast response speed, no major change in performance and keep a more stable service. Test data prove that the new server The key code is as follows: has outstanding performance in a large data flow and high Public class DataHelper {// Data processing class concurrency. Public Array GetData(list){ TABLE I. THE COMPARISON OF TEST RESULTS // Get the latest data of specified node Node / Server the the the the if(NodeInfoCacheHelper.GetCurrent()!=null) { request type fastest slowest average number of response response response requests // If the memory buffer is not empty (ms) (ms) (ms) being interrupted return TransferData(NodeCacheHelper.GetCur(),list) } 1000/ Traditional 390 440 410 0 // Extract request data from the buffer 30 server 1000/ new server 320 410 330 0 else{ 30 1000/ Traditional 480 800 640 30 Array array = NodeInfoCacheHelper.BeginGetData(); 300 server // Start to subscribe all nodes and to return the latest data. 1000/ new server 370 500 440 2 300 return TransferData(array,list);}}} 5000/ Traditional 440 550 470 2 30 server 5000/ new server 330 520 400 0 IV. INTEGRATION TEST 30 5000/ Traditional 470 900 760 40 A. Test platform and the method 300 server 5000/ new server 550 650 600 3 The testing platform: 300 OPC DA SERVER: wincc server and Intel Pentium D CPU2.8GHz win2003 operating system V. SUMMARY OPC XML-DA standard is a current development trend XML DA SERVER: Intel Pentium D CPU2.8GHz win2003 for OPC and is a good method to achieve long-range and cross- server operating system platform data exchange. In this paper, a high-performance OPC CLIENT: Intel Pentium D CPU2.8GHz, winxp operating XML-DA server is built, which has achieved effective real- system time management to the underlying control system, and improved the industrial on-site data access flexibility, and Test method:To perform 4 groups of reading and increased remote access to data from the on-site, and offered an subscription, namely 1000 nodes / 30 requests, 1000 nodes / effective solution for industrial real-time control. It has great 300 requests, 50 nodes / 30 requests, 5000 nodes / 300 significance for improving the on-site industrial management. requests. The request frequency is 1s, server refresh rate is 1s. Read operation tests the fastest response time, the slowest response time, average response time. Subscription operation REFERENCES tests server resource consumption and the number of requests to be interrupted. [1] OPC Foundation.OPC XML-DA specification,version 1.01 [EB/OL].(2004-12-18). http://www.opcfoundation.org/DownloadFile.aspx?CM=3&RI=231&C B. Test Results N=KEY&CI=283&CU=20. Test results are shown in Table 2. In the case of small [2] Peng Jin,Wang Jin Biu, “A OPC Specification-- OPC XML-DA” number of requests (30), with the number of nodes increasing metallurgical automation,vol. 28(1), pp. 6-9,2004. from 1000 to 5000, no significant change happened in response [3] SHONNARD A. Understanding SOAP [EB/OL].[2009-12-20]. time, and the response is quick. Therefore, it is confirmed that http://msdn.microsoft.com/en-us/library/ms995800.aspx. the increase in the number of nodes will not have much impact [4] Yuan xiaofang, Wang dong, “Subscribe to the realization of the on both the traditional server and the new server, and they both mechanism analysis in OPC” Computer Engineering and Applications, vol. 45(1), pp. 89-91,2009. have a good frequency response. But once a large number of [5] Liu li, Wang wenhai., “Realize the remote OPC real-time monitoring concurrent requests (300) happen, the node number increases of research and design based on XML-DA” Control and Instruments from 1000 to 5000, the traditional server, which has too many in Chemical Industry, vol.34(2), pp. 32-35, 2007. threads, will seriously slow down the response speed. When [6] Kang lingyan Wang jinlin and Zuo zejun, “Process of information the performance dramatically change, there are many requests integration method based on the OPC-XML” Computer Engineering, are interrupted. With the same conditions, the new server still vol.35(10), pp. 283-285, 2009. [7] MongoDB. http://www.mongodb.org. 2884