Method for retrieving time series data sets from a process database system of an industrial plant - Patents.com

JP2024500175A5Active Publication Date: 2025-01-06BASF SE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023538106
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2020-12-22
Filing Date
2021-12-21
Publication Date
2025-01-06
Estimated Expiration
2041-12-21

AI Technical Summary

Technical Problem

Existing industrial plant process database systems, often operating as legacy systems, face challenges in efficiently and computationally inexpensively retrieving time-series data sets due to their outdated technology, which can lead to overloading when large amounts of data are requested, hindering applications in advanced data analysis such as big data mining.

Method used

A method involving request queries with tags and time ranges, responsiveness scoring, and bulk query generation based on these scores to optimize data retrieval, considering the system's responsiveness, thereby minimizing stress and maximizing throughput.

Benefits of technology

This approach allows for highly efficient and cost-effective retrieval of time-series data from legacy systems, ensuring seamless integration with technologically superior systems for advanced data analysis without overloading the process database.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The present invention relates to a method for retrieving time series data sets from a database system of an industrial plant. The method 200 includes providing 210 a request query indicating time-dependent data values ​​by indicating tags and start and end times of the respective time series data sets, and providing 220 a responsiveness score for the provided request queries, each responsiveness score indicating an expected responsiveness of a process database system associated with the tag. Further, a bulk query is generated 230 based on the responsiveness score, including a query for requesting at least a portion of the time-dependent data values, and all time-dependent data values ​​of all the provided request queries are requested by the bulk query. The bulk query is sent 240, and the time-dependent data values ​​are retrieved 250 from the process database system. This allows for efficient and computationally inexpensive data retrieval.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] FIELD OF THEINVENTION The present invention relates to a computer-implemented method, computing device, data retrieval system, and computer program product for retrieving time series data sets from a process database system of an industrial plant. [Background technology]

[0002] 2. Background of the Invention In modern industrial production processes, a number of sensors are provided that monitor the production of products in an industrial plant. The data generated by the number of sensors is generally stored in the form of time series datasets in a process database system, sometimes called a historian, of the industrial plant. Such time series datasets are each associated with a tag that can be considered as an identifier for the time series dataset and that contains a series of time-dependent data values, e.g., measurements of one or more sensors of the industrial plant. Such time series datasets often contain time-dependent data values ​​over many years during which the sensors are measuring parameters of the industrial production plant. Furthermore, it is very common that the process database system in which the time series datasets are stored has not been updated to the current technology level, but continues to operate at the current technology level as a legacy system. However, today it is often desirable to use the data provided in the time series datasets in other contexts, such as, for example, big data mining, further data analysis in higher-level computing systems such as enterprise control systems. For this purpose, the time series datasets must be retrieved from the process database system as efficiently as possible, taking into account possible limitations of the process database system, e.g., due to its technology level. In particular, simply requesting such a large amount of time-dependent data values ​​would in most cases overload legacy process database systems. It would therefore be advantageous to provide a method that allows for efficient and computationally inexpensive retrieval of time series data sets from the process database systems of industrial plants. Summary of the Invention [Problem to be solved by the invention]

[0003] Summary of the Invention It is an object of the present invention to provide a computer-implemented method, computing device, search system, and computer program product that allows efficient and computationally inexpensive retrieval of time series data sets from process database systems of industrial plants. It is further an object of the present invention to allow efficient one-time or continuous extraction of time series data sets from legacy systems to provide the time series data to technologically advanced systems so that big data analytics of the retrieved time series data is possible. [Means for solving the problem]

[0004] In a first aspect of the present invention, there is provided a computer implemented method for retrieving time series data sets from a process database system of an industrial plant, each time series data set being associated with a respective tag and including a respective series of time dependent data values, the method comprising: i) providing a request query for requesting time dependent data values ​​of the time series data sets, each request query indicating each requested time dependent data value by indicating a) a respective request tag associated with the respective time series data set, and b) a respective start time and a respective end time of the time dependent data values ​​of each time series data set associated with the respective request tag; and ii) querying the process database system for the provided request query. a) providing responsiveness scores for the process database system, each responsiveness score indicative of an expected responsiveness of the process database system with respect to a respective request tag indicated by a respective provided request query; iii) generating a bulk query based on the responsiveness scores such that a) each bulk query includes a query to request at least a portion of the requested time-dependent data values ​​of one or more of the provided request queries, and b) all requested time-dependent data values ​​of all of the provided request queries are requested by the bulk query; iv) sending the bulk query to the process database system; and v) retrieving the time-dependent data values ​​from the process database system in response to the bulk query.

[0005] Because the bulk queries are generated based on the responsiveness scores and the time-dependent data values ​​are retrieved utilizing the bulk queries, the expected responsiveness of the process database system for each tag can be taken into account and the bulk queries can be optimized for highly efficient and computationally inexpensive retrieval of the requested time-dependent data values. Furthermore, the method enables maximizing time-dependent data value throughput when retrieving time-dependent data values ​​from the process database system while minimizing stress on the process database system.

[0006] The time series data sets stored on the process database system of the industrial plant may refer to any series of time-dependent data values ​​associated with a respective tag. Preferably, each time series data set includes time-dependent data values ​​that refer to measurements of sensors provided in the industrial plant for monitoring the production process of the industrial plant. In this preferred embodiment, the tag associated with the time-dependent data values ​​may indicate the identity of the sensor of the industrial plant that provided the respective time-dependent data value. For example, the time series data set may refer to a time series of temperature measurements provided by a temperature sensor in a chemical reaction during the production of a particular product. The temperature sensor may be adapted to provide temperature measurements every few seconds, for example, that are stored on the process database system in association with a tag indicating the identity of the temperature sensor, thus generating the respective time series data set. However, in other embodiments, the series of time-dependent data values ​​may refer to data values ​​measured not only by one sensor, but also by multiple sensors. In this case, the tag associated with the time-dependent data values ​​may indicate multiple sensors or may be completely independent of the source of the time-dependent data values. Generally, in addition to the time-dependent data values, the time series data set also includes a timestamp associated with the time-dependent data values ​​to indicate the time at which the time-dependent data values ​​were measured. Further, optionally, the time series dataset may further include a quality value associated with each time-dependent data value of the time series dataset, the quality value may indicate a measured quality of the respective time-dependent data value. Without limiting the generality or scope of the present teachings, in an embodiment, the time series dataset may refer to an ordered insertion time series dataset defined by the most recently inserted, i.e. stored, time-dependent data value associated with the time series dataset, which is a time-dependent data value associated with a recent timestamp compared to all other timestamps associated with already stored time-dependent data values. Thus, an ordered insertion time series dataset may be considered to refer to a time series dataset in which all time-dependent data values ​​are stored sequentially, i.e. in the order of their associated timestamps.Thus, the most recent time-dependent data value is stored without the delayed insertion of a time-dependent data value associated with a timestamp indicating that a measurement was performed before the already stored time-dependent data value.

[0007] In a first step, the method includes providing a request query for requesting time-dependent data values ​​of the time series dataset. Providing the request query may refer, for example, to receiving the request query from a storage where the request query is already stored and then providing it. However, providing the request query may also refer to receiving the request query from a user input and then providing the request query based on the user input. In general, the request query refers to a query that requests time-dependent data values ​​of the time series dataset, for example, for transmitting the time-dependent data values ​​to another process system or for further analysis of the time-dependent data values.

[0008] In general, the request query indicates the desired requested time-dependent data values ​​by indicating a) a respective request tag associated with the respective time-series data set that contains the requested time-dependent data values, and b) a respective start time and a respective end time of the time-dependent data values ​​of the respective time-series data set. For example, the respective request query may directly include a tag or an identifier of a tag to indicate the respective request tag, or may further include some time identifier indicating a respective start time and a respective end time. For example, the time identifier may refer to a date and time as the respective start time and a respective date and time as the respective end time. However, the time identifier may also refer to a date and time as the respective start time, and may further indicate a time period, e.g., referring to a number or hours, days, months, years, etc., that allows identifying the respective end times together with the respective start times. Furthermore, the time identifier may also be provided in any other manner that allows identifying the respective start times and the respective end times for the time-series data set, e.g., referring to a computer clock time, a timestamp used to encode the time associated with a particular time-dependent data value, etc. In general, the respective request end times and start times refer to the time indicated by the timestamps with which the time-dependent data values ​​are associated. Each start time and each end time thus indicates which time-dependent data values ​​of the time-series data set indicated by the request tag are to be searched. Each request query thus indicates which time-dependent data values ​​of the time-series data set are to be searched.

[0009] In a second step, the method includes providing a responsiveness score of the process database system for the provided request queries. Each responsiveness score generally indicates an expected responsiveness of the process database system with respect to a respective request tag indicated by a respective provided request query. For example, a responsiveness score may be stored in association with each tag on a persistent database and then provided based on the respective request tag. Generally, the expected responsiveness of the process database system may be considered to refer to an expected amount of time-dependent data values ​​of each tag that may be retrieved from the process database system within a given period of time. However, each responsiveness score only indicates an expected responsiveness of the process database system because the actual responsiveness of the process database system may depend on multiple factors, such as a current workload of the process database system, a current capacity of interfaces between the process database systems, a system through which the time-dependent data values ​​are transmitted, etc.

[0010] In a preferred embodiment, each responsiveness score is determined based on the synchronization state of each request tag and / or the data density of the time series data set associated with each request tag. The synchronization state of each request tag indicates which time-dependent data values ​​of the associated time series data set have already been retrieved from the process database system and which time-dependent data values ​​still need to be retrieved from the process database system to obtain a complete time series data set for this request tag. For example, the synchronization state may refer to the end time of the last request query referencing the respective request tag. However, the synchronization state may also refer to the period from the time that may be considered here as the last retrieved time-dependent data value of the respective request tag.

[0011] Preferably, the method further comprises determining a request start time of the request query based on a synchronization state of the request tag indicated by the request query. In particular, it is preferred that the request start time is determined automatically. It is further preferred that the method comprises updating the synchronization state of the request tag after a predefined period of time, and if it is determined that a time-dependent data value is associated with a request tag that has not yet been retrieved, a request query is also generated to request the time-dependent data value that has not yet been retrieved. This allows the retrieved time-dependent data values ​​to be kept up to date.

[0012] The data density of a time series data set refers to the amount of time-dependent data values ​​stored during a given time period associated with a particular tag. Different tags, each of which may reference a sensor, may include different data densities, resulting from, for example, different measurement frequencies of the sensors. For example, a temperature sensor may measure the temperature in a chemical reactor every minute, thus creating a time series data set having a data density of 60 time-dependent data values ​​per hour, while a pressure sensor in a chemical reactor may measure the pressure only every half hour, thus creating a time series data set having a data density of 2 time-dependent data values ​​per hour. Furthermore, in other examples, a sensor may provide time-dependent data values ​​even every few seconds, thus resulting in even higher data densities. Based on the synchronization state and / or the data density of each request tag, an expected responsiveness of the process database system, and thus a respective responsiveness score, may be determined. For example, a predetermined rule may be used to determine the respective responsiveness scores from the synchronization state and / or the data density, and the rule may be based on experience with the process database system or may be based on theoretical considerations. For example, the rules may define that the responsiveness score and therefore the respective expected responsiveness of the process database system is higher the lower the data density, and the in-sync state indicates that only a few time-dependent data values ​​are missing from the time series data set associated with the respective request tag. The respective expected responsiveness score may then be lower the higher the data density associated with the respective tag, and / or the in-sync state of the respective request tag indicates that no time-dependent data values ​​have been retrieved for the respective request tag for an extended period of time. Furthermore, in a preferred embodiment, the respective responsiveness score is determined based only on the data density, and in particular is determined to be equal to the data density of the time-dependent data set associated with the respective request tag.

[0013] Determining the respective responsiveness scores based on the synchronization state and / or data density allows for a very computationally inexpensive determination of the responsiveness scores. Furthermore, the synchronization state and / or data density allow for a very good estimation of the responsiveness of the process database system, and therefore allows for the generation of bulk queries that allow very efficient searching of time-dependent data values.

[0014] However, in other embodiments, the responsiveness score may also be determined based on past experiences related to the responsiveness of the process database system associated with each request tag. For example, if the time-dependent data values ​​associated with each request tag have already been previously retrieved from the process database system, the responsiveness of the process database system in this previous retrieval may be measured and used as a reference for determining the responsiveness score, and it may be expected that the process database system will have the same responsiveness associated with each request tag as during the previous retrieval. Furthermore, if no time-dependent data values ​​have been previously retrieved for each request tag, and furthermore, the data density and synchronization state for each request tag are completely unknown, the responsiveness score may also refer to a predetermined reference responsiveness score. Such a predetermined reference responsiveness score may, for example, refer to an average responsiveness of the process database system measured in previous time-dependent data value retrievals of other tags, or may be provided based on a user's input, or may refer to a reference value of the responsiveness score implemented as a starting point for all request tags for which no further information is provided.

[0015] In a further step, the method includes generating a bulk query based on the responsiveness score. Generally, the bulk query includes a query for requesting at least a portion of the requested time-dependent data values ​​of one or more of the provided request queries. Thus, the bulk query may also be generally considered as a query targeting the time-dependent data values ​​of multiple tags. Furthermore, all the generated bulk queries together include a query for requesting all the requested time-dependent data values ​​of all the provided request queries. Generally, the query of the bulk query refers to only one request tag, i.e., the query of the bulk query is defined in the same way as the request query, indicating the respective request tags and the respective start time and end time. However, the respective start time and the respective end time of the query indicating the request tag may be different from the request start time and end time of the request query associated with the request tag. Thus, the generation of the bulk query may be considered as sorting the requested time-dependent data values ​​into queries forming the bulk query that are more suitable for effectively searching the time-dependent data values ​​of the provided request query than the provided request query itself. In particular, the responsiveness score allows for estimating an expected responsiveness of the process database system, and thus allows for generating bulk queries that include queries that enable the most efficient retrieval of time-dependent data values. For example, generating the bulk queries may include applying predefined rules on how the bulk queries are generated based on the responsiveness scores. Such rules may indicate, for example, that the bulk queries include queries to request time-dependent data values ​​associated with each request tag that has a similar responsiveness score. However, the rules may also indicate that it would be more advantageous for the process database system if the bulk queries included queries for requested time-dependent data values ​​associated with each request tag that includes different responsiveness scores.For example, a rule may indicate that half of the queries shall reference time-dependent data values ​​of respective request tags that have a high responsiveness score, and the other half of the queries shall reference time-dependent data values ​​of respective request tags that have a low responsiveness score, however, other more complex rules may also be applied to generate bulk queries based on responsiveness scores.

[0016] The method further includes transmitting the generated bulk query to a process database system and then retrieving the time-dependent data values ​​from the process database system in response to the bulk query. For example, the retrieved time-dependent data values ​​may be transmitted from the process database system to another storage and / or processing system for storing and / or processing the retrieved time-dependent data values.

[0017] In a preferred embodiment, generating the bulk query includes determining, for each bulk query, a query that includes at least a portion of the time-dependent data values ​​indicated by the request query such that a preconfigurable maximum data point count is not exceeded during retrieval of the time-dependent data values ​​of the bulk query. The maximum data point count refers to a maximum number of time-dependent data values ​​that may be retrieved per query from the process database system. Thus, the bulk query may be generated such that the maximum data point count is not exceeded when retrieving the time-dependent data values ​​of the bulk query.

[0018] Taking this threshold into consideration when generating the bulk query, it can be ensured that during retrieval of time-dependent data values ​​based on the bulk query, no time-dependent data values ​​are lost, i.e., no time-dependent data values ​​are not retrieved due to the bulk query having already reached the maximum data point count of the process database system, and therefore the requested time-dependent data values ​​of the provided request query can be retrieved very efficiently and accurately from the process database system.

[0019] In an embodiment, generating the bulk query includes determining a query of the bulk query such that all determined queries of the bulk query include the same start time. Preferably, generating the bulk query includes sorting each request query based on the start time of each request query, which may also be considered as sorting each request query based on its synchronization state. Based on this sorting, the bulk query that references at least a part of the requested time-dependent data values ​​of the provided request query may be generated such that the resulting queries of the bulk query include the same start time. However, the query of the bulk query may also be generated without sorting each request query in advance. It is further preferred that generating the bulk query includes determining a query of the bulk query such that all determined queries of the bulk query include the same end time. Also in this case, it is preferred to generate the bulk query based on each sorted request query as described above. However, even without sorting, the bulk query may be generated accordingly.

[0020] Providing queries of bulk queries with the same start time and optionally also the same end time has the advantage of significantly reducing the number of accesses to the process database system. This is because data for multiple tags can be retrieved in one process database system access compared to queries, i.e. bulk queries, that include individual start and end times for each tag. Thus, the execution speed of the bulk queries may be significantly increased, resulting in better responsiveness. Furthermore, the amount of query text provided, for example, in Structured Query Language (SQL), transmitted to the process database system may be significantly reduced. For example, if a bulk query includes 1000 queries, and each of these queries has different start and end times, the 1000 start and end times of the bulk queries must be specified, leading to a large communication overhead. Furthermore, in some cases, there may be an upper limit on the number of characters that the query text can include for a particular process database system. Such problems with bulk query text may therefore be avoided when providing queries of bulk queries with the same start and optionally the same end times.

[0021] In a preferred embodiment, the start time of the determined query of the bulk query is determined such that duplicate time-dependent data values ​​are searched for at least one request query when searching for time-dependent data values ​​in response to the bulk query. The duplicate time-dependent data values ​​refer to time-dependent data values ​​that have already been searched during a previous request query that references the same request tag. Thus, the duplicate time-dependent data values ​​have already been sent for further processing and storage. However, by determining the start time of the query of the bulk query such that duplicate time-dependent data values ​​are searched for, it is possible to generate bulk queries including queries that include the same start time, even if the start times of each request query are all different. For this embodiment, it is preferred that the method further includes de-duplication of the searched time-dependent data values ​​of the request query after searching for time-dependent data values ​​in response to the bulk query that includes duplicate time-dependent data values ​​at least for the request query. De-duplication of the searched time-dependent data values ​​of the request query may refer, for example, to determining duplicate time-dependent data values ​​and then removing the duplicate time-dependent data values ​​before storing and / or processing the searched time-dependent data values ​​that are further related to the previously already searched time-dependent data values ​​associated with each tag. Duplicate time-dependent data values ​​may be determined, for example, based on a known synchronization state of each request tag and / or by comparing timestamps, where each time-dependent data value of each request tag is associated with the timestamps of already retrieved time-dependent data values ​​of each request tag.

[0022] Although the bulk queries of this embodiment may contain duplicate time-dependent data values ​​and therefore request more time-dependent data values ​​than necessary for each request query, the advantages of using the same start time and optionally end time far outweigh the disadvantages of having to deal with duplicate time-dependent data values, as already discussed above.

[0023] In a preferred embodiment, the generation of the bulk queries is further based on configurable partitioning parameters that determine the general settings of each bulk query. The configurable partitioning parameters refer to parameters that are pre-configured and can be applied to all bulk queries. In general, the configurable partitioning parameters determine the general settings of the bulk queries. In a preferred embodiment, the configurable partitioning parameters indicate at least one of the maximum number of request tags, the maximum number of time-dependent data values, the minimum time frame for a query, and the maximum time frame for a query that can be requested by a bulk query. Furthermore, the partitioning parameters may also refer to parameters that indicate the processing of the bulk queries. For example, the partitioning parameters may also indicate the maximum number of retries for a query, the maximum processing cycle runtime, the maximum initial load time for a query, etc. Such partitioning parameters are preferably pre-configured based on, for example, knowledge of the configuration of the process database system, the user's experience, etc. However, the partitioning parameters may also be configured by experience with previous bulk query searches. For example, if an error occurs during retrieval of a previous bulk query that prevents all requested time-dependent data values ​​from being retrieved, the partitioning parameters may be reconfigured before generating the next bulk query, e.g., the maximum number of queries allowed in a bulk query may be reduced.

[0024] This has the advantage that the bulk queries can be better adapted to each configuration of the process database system in which the time-dependent data values ​​are searched for. Furthermore, since such global configuration parameters, such as partitioning parameters for the bulk queries, do not have to be determined anew each time a bulk query is generated, but are generally set for all bulk queries, the generation of the bulk queries can be performed more efficiently and computationally inexpensively.

[0025] In an embodiment, the method further includes determining, during or after the search for the time-dependent data value, a responsiveness score for the request tag associated with the request query for which the time-dependent data value is searched, and storing the responsiveness score to be used for future request queries requesting the request tag. In particular, since the actual responsiveness of the process database system is measured during the search for the time-dependent data value, such measurement may be utilized to more accurately determine the responsiveness score. In particular, the actual responsiveness of the process database system is generally expected to be similar to previous responsiveness. Thus, the responsiveness score determined based on the actual responsiveness of the process database system may be stored, for example, on a persistent database, and may thereafter be provided as the responsiveness score when a provided request query references the respective request tag. Preferably, the responsiveness score is determined by measuring an amount of time-dependent data values ​​associated with the request tag that are searched for during a predetermined period of time during the search for the time-dependent data value of the request tag.

[0026] By determining the responsiveness score based on actual measurements of the actual responsiveness of the process database system associated with each request tag, it is possible to very accurately estimate the future responsiveness of the process database system for the request tag. As a result, a more accurate estimate, or responsiveness score, can be provided for each request tag for which time-dependent data values ​​have already been retrieved from the process database system. This thus allows for further optimization of the generated bulk queries, and therefore more effective retrieval of time-dependent data values.

[0027] In an embodiment, the method further includes determining whether a failure occurs during the retrieval of the time-dependent data values ​​of the bulk query, where when it is determined that a failure related to at least one query of the bulk query occurs, the method includes providing the time-dependent data values ​​requested by the query to the step of determining the bulk query as a new request query. Thus, even in the case of a failure, it can be guaranteed that all requested time-dependent data values ​​are eventually retrieved from the process database system. Moreover, since the time-dependent data values ​​for which retrieval has failed are requested again as part of the bulk query, such failures of the time-dependent data value retrieval can also be handled very effectively without further computational costs, for example in an independent process.

[0028] In a further aspect of the invention, a computing device for retrieving time series data sets from a process database system of an industrial plant, each time series data set being associated with a respective tag and comprising a respective series of time dependent data values, the computing device comprising: i) a query providing unit for providing a request query for requesting time dependent data values ​​of the time series data sets, each request query indicating each requested time dependent data value by indicating a) a respective request tag associated with the respective time series data set, and b) a respective start time and a respective end time of the time dependent data values ​​of each time series data set associated with the respective request tag; and ii) a responsiveness score of the process database system for the provided request query. A computing device is presented, the computing device including: a responsiveness score providing unit for providing a respective responsiveness score indicative of an expected responsiveness of the process database system for a respective request tag indicated by a respective provided request query; iii) a bulk query generating unit for generating a bulk query based on the responsiveness scores such that a) each bulk query includes a query for requesting at least a portion of requested time dependent data values ​​of one or more of the provided request queries, and b) all requested time dependent data values ​​of all the provided request queries are requested by the bulk query; iv) a sending unit for sending the bulk query to the process database system; and v) a searching unit for searching for time dependent data values ​​from the process database system in response to the bulk query.

[0029] In a further aspect of the present invention, a data retrieval system is presented that connects to a process database system, the data retrieval system including: i) a persistent database adapted to store a plurality of responsiveness scores of the process database system, each responsiveness score being associated with a tag; and ii) a computing device as described above, wherein a query providing unit is adapted to receive the responsiveness scores from the persistent database and provide the received responsiveness scores.

[0030] In a further aspect of the present invention there is provided a computer program product for retrieving time series data sets from a process database system of an industrial plant, the computer program product comprising program code means for causing a computing device as described above to perform the method as described above.

[0031] It is to be understood that the above-mentioned method, the above-mentioned computing device, the above-mentioned data retrieval system and the above-mentioned computer program product have similar and / or identical preferred embodiments, in particular as defined in the dependent claims.

[0032] It is to be understood that a preferred embodiment of the invention can also be any combination of the dependent claims or the above-mentioned embodiments with the respective independent claim.

[0033] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiment(s) described hereinafter. [Brief description of the drawings]

[0034] [Figure 1] 1 illustrates, in a schematic and exemplary manner, an embodiment of a data retrieval system including a computing device for retrieving a time series data set from a process database system of an industrial plant. [Diagram 2]1 shows a flow chart illustrating an exemplary embodiment of a method for retrieving a time series data set from a process database system of an industrial plant. [Diagram 3] 2 shows a schematic flow chart illustrating exemplary details of an embodiment of a method; [Figure 4] 1 illustrates an exemplary schematic diagram of the integration of a method for retrieving time series data sets from a process database system into a general workflow. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0035] Detailed Description of the Embodiments FIG. 1 illustrates, in a schematic and exemplary manner, a data retrieval system 100 including a computing device 120 for retrieving time series data sets from a process database system 131 and a persistent database 140 of an industrial plant 130 .

[0036] In general, the industrial plant 130 may refer to any technology platform used for industrial purposes. The industrial purpose may be the manufacturing or processing of one or more industrial products, i.e., a manufacturing process or processing carried out by the industrial plant. For example, the industrial purpose may refer to the production of a specific product. The specific product may be any physical product, such as, for example, chemical, biological, pharmaceutical, food, beverage, textile, metal, plastic, or semiconductor. Additionally or alternatively, the specific product may even be a service product, including electricity, heating, air conditioning, waste treatment such as recycling, chemical processing such as disintegration or melting, or incineration. Accordingly, the industrial plant 130 may be one or more of a chemical plant, a process plant, a pharmaceutical plant, a fossil fuel processing facility such as an oil well and / or a natural gas well, a refinery, a petrochemical plant, a fractionation plant, and the like. The industrial plant 130 may even be either a distillery, an incinerator, or a power plant. The industrial plant 130 may even be any combination of the examples given above.

[0037] To carry out the production process, the industrial plant 130 includes a technology platform that is controllable by control parameters implemented on the technology platform by a process control system. The technology platform may include equipment or process units such as heat exchangers, towers such as fractionation towers, furnaces, reaction chambers, catalytic cracking units, storage tanks, settlers, pipelines, stacks, filters, valves, actuators, transducers, circuit breakers, machinery, e.g., any one or more of rotating heavy equipment such as turbines, generators, grinders, compressors, fans, pumps, motors, etc. Furthermore, the industrial plant 130 typically includes a number of sensors 132 that allow the operating parameters of the technology platform to be measured. The measured operating parameters are then stored on a process database system 131 of the industrial plant 130. Furthermore, the operating parameters may also be utilized by the process control system for controlling the production process in the industrial plant 130. The operating parameters measured by the sensors 132 may relate to various process parameters and / or parameters related to the equipment or process units. For example, sensors may be used to measure process parameters such as flow rate in a pipeline, level in a tank, temperature in a furnace, chemical composition of gas, etc., while some sensors may be used to measure turbine vibration, fan speed, valve opening, corrosion in a pipeline, voltage across a transformer, etc. The differences between these sensors may be based not only on the parameters they sense, but also on the sensing principle they employ. Some examples of sensors based on the parameters they sense may include temperature sensors, pressure sensors, radiation sensors such as optical sensors, flow sensors, vibration sensors, displacement sensors, and chemical sensors that detect specific substances such as gases, etc. Examples of sensors employing different sensing principles may include impedance sensors such as piezoelectric sensors, piezoresistive sensors, thermocouples, capacitance sensors, and resistance sensors, etc.

[0038] The sensors 132 generally measure time-dependent data values, i.e., data values ​​associated with the particular time at which they are measured by the sensors 132. It is common to store these time-dependent data values ​​measured by the sensors 132 on the process database system 131 in the form of time-series data sets. The process database system 131 may refer to storage including, for example, dedicated hardware and / or software for storing time-series data sets. However, the process database system 131 may also refer to general storage or any other computing system allowing storage of time-series data sets in particular. Each time-series data set stored on the process database system 131 is associated with a tag, which may be considered as an identifier of the respective time-series data set as well as, optionally, an identifier of the sensor 132 at which the time-dependent data values ​​of each time-series data set are measured. Furthermore, each time-series data set associated with each tag includes the time-dependent data values ​​stored together with a timestamp indicating the time at which each time-dependent data value was measured. Optionally, each time-series data set may also include a quality value for each time-dependent data value indicating the quality of the measurement of each time-dependent data value. Thus, the process database system 131 preferably stores, for each sensor 132 of the industrial plant 130, a respective time series data set that is continuously updated as new time-dependent data values ​​are measured by the sensor 132. Accordingly, based on respective periods between measurements provided by the sensor 132, each time series data set includes a different data density. For example, a temperature sensor may measure temperature every minute and thus include a data density of 60 data values ​​per hour, while a pressure sensor may measure pressure every 10 minutes and thus include a data density of 6 data values ​​per hour.

[0039] Generally, an industrial plant 130 may be integrated into an enterprise control system 110 for managing and controlling the production performed by the industrial plant 130. For the management and control of the industrial plant 130, it is often desirable to retrieve measurement data provided by sensors 132 to a process database system 131, so that the retrieved data may be further processed by other dedicated and often more complex management and control systems, such as the enterprise control system 110. A data retrieval system 100 is provided for retrieving the time series dataset provided in the process control system 131. After retrieving the time series dataset, the data retrieval system 100 may then be adapted to provide, for example, the retrieved time series dataset to the enterprise control system 110. The data retrieval system 100 includes a computing device 120 and a persistent database 140. The computing device 120 includes a query providing unit 121, a responsiveness score providing unit 122, a bulk query generating unit 123, a sending unit 124, and a retrieval unit 125.

[0040] The query providing unit 121 is adapted to provide a request query for requesting time-dependent data values ​​of the time-series dataset. For example, the query providing unit 121 may be connected to an input unit, through which a user may input the request query. However, the request query may also be provided as part of a request from another computing system, for example from the enterprise control system 110, which may communicate the respective request query to the query providing unit 121, which is then adapted to provide the request query. Each request query indicates a respective requested time-dependent data value of the time-series dataset to be retrieved from the process database system 131. In particular, the requested time-dependent data values ​​to be retrieved may be indicated by each request query by indicating a respective request tag associated with each time-dependent data value to be retrieved, and further by indicating a respective time period for which the time-dependent data values ​​are to be retrieved. Each time period may be indicated, for example, by providing a respective start time and a respective end time of each time-dependent data value, where the start time and the end time may indicate a timestamp correlating to the time-dependent data value for which all time-dependent data values ​​are to be retrieved. However, alternatively, start times and periods starting from the start times may also be provided, or end times and periods going back from the end times may be provided to indicate the periods for which the time-dependent data values ​​are searched for. In general, a plurality of request queries are provided by the query providing unit 121.

[0041] The responsiveness score providing unit 122 is then adapted to provide a responsiveness score of the process database system 131 for the provided request query. For example, the responsiveness score providing unit 122 may be adapted to provide the responsiveness score by retrieving the responsiveness score from the persistent database 140 and providing the responsiveness score. The persistent database 140 may be adapted to store a plurality of responsiveness scores, each responsiveness score being associated with each tag. Each responsiveness score is indicative of an expected responsiveness of the process database system 131 related to each tag with which it is associated. In a preferred embodiment, the responsiveness score refers to the data density of the time series data set associated with each tag, with higher data density indicating a higher expected responsiveness of the process database system than lower data density. Applicant has realized that the responsiveness, i.e., response time, of the process database system is linearly related to the amount of time-dependent data values ​​searched. Because the amount of time-dependent data values ​​searched is directly related to the data density, in a fixed query time frame, a higher data density results in an increased response time, thereby indicating a higher responsiveness score. However, in another embodiment, the responsiveness score may additionally or alternatively refer to a synchronization state of the time series data set associated with each tag. Generally, the synchronization state of each time series data set indicates which time-dependent data values ​​of the time series data set have already been retrieved from the process database system 131. For example, the synchronization state may refer to the end time of a previous request query for which time-dependent data values ​​have already been retrieved. Thus, the synchronization state indicates the number of time-dependent data values ​​of the time series data set that still have to be retrieved. Accordingly, a synchronization state indicating a greater amount of time-dependent data for the time series data set associated with a tag indicates a less responsiveness of the process database system 131 associated with this tag, and a synchronization state indicating a smaller amount of time-dependent data values ​​to be retrieved indicates a more responsiveness of the process database system 131. Furthermore, the responsiveness score may also be determined from actual measurements of the responsiveness of the process database system 131 associated with a particular tag.For example, during a previous data retrieval from the process database system 131, an amount of each time-dependent data value associated with a tag retrieved for a predefined period of time, e.g., minutes, tens of minutes, hours, etc., may be measured. This measured amount of time-dependent data values ​​retrieved for a predefined period of time may then be considered as a responsiveness score associated with each tag. In this case, the higher the responsiveness, the more responsive the process database system 131 associated with each tag. The responsiveness scores provided by the responsiveness score providing unit 122, e.g., from the persistent database 140, may then be provided to the bulk query generation unit 123.

[0042] The bulk query generating unit 123 is then adapted to generate bulk queries based on the responsiveness scores. In particular, the bulk queries are generated such that each bulk query includes a query for requesting at least a portion of one or more requested time-dependent data values ​​of the provided request queries, and further such that all requested time-dependent data values ​​of all provided request queries are requested by the bulk query. Furthermore, it is preferred that the bulk queries are generated such that each bulk query includes a query such that a preconfigurable maximum data point count is not exceeded during a search for time-dependent data values ​​associated with the query of the bulk query. The preconfigurable maximum data point count refers, for example, to a maximum amount of time-dependent data values ​​that can be searched from the process database system 131 in a query search. Furthermore, each query of the bulk query may generally only refer to time-dependent data values ​​associated with one request tag. In the following, an exemplary embodiment of how the bulk queries can be generated by the bulk query generating unit 123 is provided in relation to FIG. 3.

[0043] FIG. 3 symbolically illustrates time-dependent data values ​​of multiple request queries in a first state 310. In particular, each bar, such as bar 311, illustrates a time-dependent data value associated with a tag, with the beginning of the bar indicating a start time of the request query and the end of the bar indicating an end time of the request query. Note that in this example, the end times of all request queries are the same, e.g., the end times may refer to the current time, i.e., the most recent time-dependent data value of the time series data set. However, in other examples, the end times of different request queries may be different, and still the same principles may apply. Accordingly, the state 310 illustrated in FIG. 3 generally refers to a state in which the requested time-dependent data values ​​are stored on the process database 131.

[0044] To generate the bulk queries, the bulk query generating unit 123 may then be adapted to sort the request queries according to start times, leading to the state 320 shown in FIG. 3. For example, the sorting may be based directly on the start times, or may be based on the synchronization state of each time series data set indicated by the request queries. The sorting of the request queries allows for much easier and faster generation of the bulk queries, since much simpler rules may be applied to generate the bulk queries based on the responsiveness scores. The generation of the bulk queries may then include applying a predefined rule to generate the bulk queries. For example, the rule may be based on a configurable partitioning parameter indicating the general settings of each bulk query, such as, for example, the maximum number of queries and thus the maximum number of request tags that may be associated with the bulk query, the maximum length of the queries that may be associated with the bulk query, etc. Based on the sorted request queries shown in the state 320, the bulk query generating unit 123 may then be adapted to generate a first bulk query 321 based on the responsiveness scores associated with the tags of each request query by applying the predefined rule and, optionally, by applying the configurable partitioning parameter. For example, in state 320, bulk query 321 is generated by first generating a query for bulk query 321 that corresponds to the tag of the first request query and has a start time of the first request query, but an end time that splits the first request query into two parts. This may be based, for example, on a partitioning parameter indicating a maximum length per query of the bulk query that should not be exceeded. Furthermore, if a bulk query fails in a previous search for the requested time-dependent data value, for example due to a process timeout, the failed bulk query may be split for a retry search, i.e., provided with an end time for the query that splits the bulk query, and then provided again to the process database system as two bulk queries.Then, the bulk query generation unit 123 may be adapted to generate a next query for the bulk query 321 associated with the next request query, i.e. the next request tag, etc. Preferably, as shown in this example, all queries generated to generate the bulk queries 321, 322, 323 include the same start time and, optionally, the same end time. Thus, to search for time-dependent data values ​​of the request queries whose start time is after the start time of at least one other request query whose time-dependent data values ​​are requested in the bulk queries 321, 322, 323, the queries of the bulk queries requesting these time-dependent data values ​​have a start time different from each request query. This leads to a search for duplicate data 324, which refers to time-dependent data that has already been searched in connection with a previous request query and thus already provided to the enterprise control system 110, e.g. as part of a previous search for time-dependent data values. However, generating all the bulk queries 321, 322, 323 with the same start time and optionally the same end time has the advantage that generating the bulk queries is less computationally expensive and that the time-dependent data values ​​of the bulk queries may be searched more effectively. Thus, as shown in state 320, three different bulk queries 321, 322, 323 are generated from the request query, and two bulk queries 321, 323 contain overlapping time-dependent data values ​​324.

[0045] After the bulk queries are generated, the sending unit 124 may be adapted to send the bulk queries 321, 322, 323 to the process database system 131. The searching unit 125 may then be adapted to search for time-dependent data values ​​associated with the bulk queries 321, 322, 323 from the process database system 131 in response to the bulk queries 321, 322, 323. For example, as shown in FIG. 3, the sending and / or searching may include sorting the bulk queries 321, 322, 323 according to the computability of the process database system 131. For example, as shown in FIG. 3, the process database system 131 may be adapted to process multiple bulk queries in parallel, as shown in state 330. The bulk queries 321, 322, 323 may then be sorted into respective parallel processing lanes of the process database system 131, further based on, for example, a current processing and capacity state of the process database system 131. If the retrieved time-dependent data values ​​are found to include duplicate time-dependent data values, the known duplicate retrieved time-dependent data values ​​may be removed before providing the retrieved time-dependent data values, for example, to enterprise control system 110. For example, the start time of the currently retrieved time-dependent data value associated with each tag may be compared to the end time of the already retrieved time-dependent data values, and currently retrieved time-dependent data values ​​between the start and end times may be removed as they most likely refer to duplicate time-dependent data values. The retrieved time-dependent data values ​​may then be further processed or stored, for example, by enterprise control system 110.

[0046] Fig. 2 shows a schematic and exemplary computer-implemented method 200 for retrieving a time series data set from a process database system 131 of an industrial plant 130. In a first step 210, the method 200 comprises providing a request query for requesting time-dependent data values ​​of the time series data set. In particular, the providing of the request query may be performed according to the above description in relation to the request query providing unit 121. In a next step 220, the method 200 comprises providing a responsiveness score of the process database system 131 for the provided request query, e.g. also according to the principles and methods described in relation to the responsiveness score providing unit 122. In a third step 230, bulk queries are generated based on the responsiveness scores, such that a) each bulk query comprises a query for requesting at least a part of one or more requested time-dependent data values ​​of the provided request queries, and b) all requested time-dependent data values ​​of all provided request queries are requested by the bulk query. This step may also be performed further, e.g. in relation to the bulk query generating unit 123 and according to the principles described above in relation to Fig. 3. In a subsequent step 240, the bulk query is sent to the process database system 131, and in step 250, time-dependent data values ​​are retrieved from the process database system 131 in response to the bulk query, and the retrieved time-dependent data values ​​may then be provided to, for example, the enterprise control system 110.

[0047] In the following, a further example of the integration of a method for retrieving time series data sets from a process database system into a general workflow is described in relation to Fig. 4. In a first step shown in Fig. 4, the tag transmission progress, i.e., the synchronization state of the time series data sets associated with the tag, is retrieved from the persistent database together with a learned historian behavior, i.e., a responsiveness score indicative of the responsiveness of the process database system, referred to here as a "historian". Based on the retrieved synchronization state, for example for each tag, a request query can be automatically generated, requesting all time-dependent data values ​​not already retrieved for this tag. This is particularly advantageous in cases where the time-dependent data values ​​are retrieved as continuously as possible, for example to keep the enterprise control system 110 up-to-date. Thus, in a next step, a retrieval strategy can be calculated, in particular by generating a bulk query based on the generated request query and the retrieved responsiveness score. The responsiveness score here refers to the measured, i.e., learned, responsiveness of the process database system associated with a particular tag. The bulk query is then provided to the process database system, the providing of which can include sequencing the bulk query. Further, the retrieval of the time-dependent data values ​​of the bulk query may then include further scheduling and execution of the bulk query, i.e., in this example, in the background of a worker thread provided by the process database system. The scheduling and execution of the bulk query is then performed until a predefined interruption criterion is met. For example, the interruption criterion may refer to the completion of the retrieval of the time-dependent data values ​​associated with the bulk request, or may refer to a failure code indicating that the retrieval of the time-dependent data values ​​of the bulk request has failed. If an interruption criterion is met, for example, that the running bulk request has been terminated, the bulk query backlog is discarded in order to apply the learned historian behavior. This means, for example, that the responsiveness score utilized to generate the bulk query during the current query cycle is updated with more of the current responsiveness score, for example, the responsiveness score being measured during the current query cycle.The process may then be adapted to sleep for a configurable amount of time, for example to allow requests from other systems on the process database system, and then start afresh retrieving the synchronization state and responsiveness score. The request lanes, e.g., work threads, of the process database system associated with the bulk query may be monitored for responsiveness scores during and / or after the bulk query has finished executing, and the amount of time-dependent data values ​​retrieved from the process database system within a predefined period for each tag may be determined. The amount of time-dependent data values ​​retrieved in association with the tag may then be stored as a responsiveness score on a persistent database. From the persistent database, this learned responsiveness score may be retrieved to generate the next bulk query.

[0048] Generally, in the present invention, a request query is defined as a request having a certain start time, end time, and request tag. In this case, the system may be programmed to store the data synchronization state in the database. Furthermore, the system may be programmed to continuously read the previously stored synchronization state from the database and measure the data density of each tag whose synchronization state indicates that the retrieved data is not up-to-date. The measured data density may be considered to refer to the responsiveness score of each tag. In a next step, an optimal sequence of queries, i.e., bulk queries, may be calculated based on the measured data density, e.g., responsiveness score, using an optimization heuristic. The optimal sequence of queries may then be performed with a certain degree of parallelism, also taking into account the current process database system load and past misbehavior / failures. Optionally, the system may be programmed to react to failed requests, i.e., bulk queries, in an intelligent manner, for example, by identifying the reason for failure and determining about an appropriate mitigation strategy. Furthermore, it is preferred that the system continuously learns and thereby updates its retrieval strategy computation methodology, i.e., the rules utilized to generate bulk queries, and accordingly notifies of, for example, sudden increases in data density, and stores this information in a database for persistence.

[0049] In the above embodiment, the retrieved time-dependent data values ​​are provided to an enterprise control system, however, in other embodiments, the retrieved time-dependent data values ​​may be provided to any other computer system or storage for further storage and processing. For example, the retrieved time-dependent data values ​​may be statistically processed to obtain a statistical summary across the processes performed by the industrial plant.

[0050] Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure, and the appended claims.

[0051] In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality.

[0052] A single unit or device may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.

[0053] Procedures such as providing a request query, providing a responsiveness score, generating a bulk query, sending a bulk query, searching for time-dependent data values, etc., performed by one or more units or devices may be performed by any other number of units or devices. These procedures may be implemented as program code means of a computer program and / or as dedicated hardware.

[0054] The computer program product may be stored / distributed on any suitable medium, such as optical storage media and solid state media, and may be supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired / wireless communication systems.

[0055] Any reference signs in the claims should not be construed as limiting the scope of the invention.

[0056] The present invention relates to a method for retrieving time series data sets from a database system of an industrial plant. The method includes providing request queries indicating time-dependent data values ​​by indicating tags and start and end times of the respective time series data sets, and providing responsiveness scores for the provided request queries, each responsiveness score indicating an expected responsiveness of a process database system associated with the tag. Further, a bulk query is generated based on the responsiveness scores, including a query for requesting at least a portion of the time-dependent data values, and all time-dependent data values ​​of all provided request queries are requested by the bulk query. The bulk query is sent to retrieve the time-dependent data values ​​from the process database system. This allows for efficient and computationally inexpensive data retrieval.

Claims

1. 1. A computer-implemented method for retrieving time series data sets from a process database system (131) of an industrial plant (130), each time series data set being associated with a respective tag and including a respective series of time-dependent data values, the method (200) comprising: providing (210) request queries for requesting time dependent data values ​​of the time series data sets, each request query indicating a respective requested time dependent data value by indicating a) a respective request tag associated with a respective time series data set, and b) a respective start time and a respective end time of the time dependent data value of the respective time series data set associated with the respective request tag; providing (220) responsiveness scores of the process database system (131) for the provided request queries, each responsiveness score indicating an expected responsiveness of the process database system (131) for each request tag indicated by each provided request query; - generating (230) bulk queries (321, 322, 323) based on said responsiveness scores such that a) each bulk query (321, 322, 323) comprises a query for requesting at least a portion of the requested time-dependent data values ​​of one or more of said provided request queries, and b) all requested time-dependent data values ​​of all provided request queries are requested by said bulk queries (321, 322, 323); sending (240) said bulk queries (321, 322, 323) to said process database system (131); - retrieving (250) time-dependent data values ​​from said process database system (131) in response to said bulk queries (321, 322, 323); A method comprising:

2. The method of claim 1 , wherein each responsiveness score is determined based on a synchronization state of each request tag and / or a data density of a time series data set associated with each request tag.

3. The method according to claim 1 or 2, wherein during the search for the time-dependent data values ​​of the bulk queries (321, 322, 323), the generating of the bulk queries (321, 322, 323) comprises determining, for each bulk query (321, 322, 323), a query that includes at least a portion of the time-dependent data values ​​indicated by the request query, so as not to exceed a pre-configurable maximum data point count.

4. The method of any one of claims 1 to 3, wherein the generating of bulk queries (321, 322, 323) comprises determining queries of the bulk queries (321, 322, 323) such that all determined queries of the bulk queries (321, 322, 323) include the same start time.

5. 5. The method of claim 4, wherein the start time of the determined query of the bulk query (321, 322, 323) is determined such that when searching for the time-dependent data values ​​in response to the bulk query (321, 322, 323), overlapping time-dependent data values ​​(324) are searched for for at least one request query.

6. 6. The method of claim 5, further comprising, after retrieving the time-dependent data values ​​in response to the bulk query (321, 322, 323) that includes duplicate time-dependent data values ​​(324) for at least one request query, de-duplicating the retrieved time-dependent data values ​​for the request query.

7. The method according to any one of claims 1 to 6, wherein said generating said bulk queries (321, 322, 323) is further based on configurable partitioning parameters determining a general setting of each bulk query (321, 322, 323).

8. The method of claim 7 , wherein the configurable partitioning parameters indicate at least one of a number of request tags that can be requested by a bulk query (321, 322, 323) and a maximum time frame for request tags that can be requested by a bulk query (321, 322, 323).

9. 9. The method of claim 1, further comprising: determining, during or after retrieving the time-dependent data value, the responsiveness score for a request tag associated with a request query for which a time-dependent data value is retrieved; and storing the responsiveness score for use in future request queries that request the request tag.

10. 10. The method of claim 9, wherein the responsiveness score is determined by measuring an amount of time-dependent data values ​​associated with the request tag that are retrieved during a predetermined period of time during the search for the time-dependent data values ​​of the request tag.

11. The method of any one of claims 1 to 10, further comprising determining a request start time of the request query based on a synchronization state of the request tag indicated by the request query.

12. The method according to any one of claims 1 to 11, further comprising: determining whether a failure has occurred during the search for the time-dependent data values ​​of the bulk queries (321, 322, 323), wherein when it is determined that a failure has occurred associated with at least one of the bulk queries (321, 322, 323), the method comprises providing the time-dependent data values ​​requested by the queries to a step of determining the bulk query (321, 322, 323) as a newly requested query.

13. 1. A computing device for retrieving time series data sets from a process database system (131) of an industrial plant (130), each time series data set being associated with a respective tag and including a respective series of time-dependent data values, the computing device (120) comprising: a query providing unit (121) for providing request queries for requesting time dependent data values ​​of said time series datasets, each request query indicating a respective requested time dependent data value by indicating a) a respective request tag associated with a respective time series dataset, and b) a respective start time and a respective end time of said time dependent data value of said respective time series dataset associated with said respective request tag; a responsiveness score providing unit (122) for providing a responsiveness score of the process database system (131) for the provided request queries, each responsiveness score being indicative of an expected responsiveness of the process database system (131) for a respective request tag indicated by each provided request query; a bulk query generation unit (123) for generating bulk queries (321, 322, 323) based on said responsiveness scores such that a) each bulk query (321, 322, 323) comprises a query for requesting at least a part of the requested time-dependent data values ​​of one or more of said provided request queries, and b) all requested time-dependent data values ​​of all provided request queries are requested by said bulk queries (321, 322, 323); a sending unit (124) for sending said bulk queries (321, 322, 323) to said process database system (131); a retrieval unit (125) for retrieving time-dependent data values ​​from said process database system (131) in response to said bulk queries (321, 322, 323); A computing device comprising:

14. A data retrieval system connected to a process database system (131), the data retrieval system (100) comprising: a persistent database (140) adapted to store a plurality of responsiveness scores of said process database system (131), each responsiveness score being associated with a tag; A computing device (120) according to claim 13, wherein the query providing unit is adapted to receive the responsiveness scores from the persistent database and to provide the received responsiveness scores; A data retrieval system comprising:

15. A computer program for retrieving time series data sets from a process database system (131) of an industrial plant (130), said computer program product comprising program code for causing a computing device (120) according to claim 13 to perform the method (200) according to any one of claims 1 to 12.