A data processing system comprising one or more processors, the data processing system comprising:
- a definition information storage part for storing definition information, which includes information denoting a lifetime of input data in a data stream, which is a stream of input data including a time-denoting timestamp and an operation target value, and an operation method;
- wherein the one or more processors are configured with:
- a reproduction control part configured to perform a reproduction, which is the outputting of output data including a result of an operation that uses an operation-target value(s) within either one or multiple input data;
- and
- a data input part configured to acquire from the data stream, in reverse chronological order, input data, with this acquisition being performed beginning with input data including a timestamp denoting a latest time from among input data including a timestamp denoting times prior to a certain reference time, and to input the acquired input data to the reproduction control part,
- wherein the reproduction control part is configured to perform the following processing:
- (a) adding inputted input data to a dataset of input data;
- (b) performing an operation by an operation method denoted by the definition information using an operation-target value(s) in the one or multiple input data in the dataset;
- (c) determining whether or not outputting is possible based on the lifetime denoted by the definition information;
- (d) creating output data including a timestamp, which is based on a timestamp(s) within the one or multiple input data and the lifetime, and the operation result;
- and
- (e) outputting, in a case where the result in the (c) is affirmative, the output data created in the (d), wherein:
- the lifetime is specified in accordance with either a time period, or the number of pieces of latest data, which is the maximum number of pieces of input data capable of being put in a dataset, and
- the reproduction control part includes an input processing part, a dataset storage part, an operation processing part, an output processing part, an output determination part, and an output data creation part, and wherein
- in the (a), the input processing part is configured to input input data inputted from the data input part to the dataset storage part, and the dataset storage part adds the inputted input data to the dataset;
- in the (b), the operation processing part is configured to create internal data, which includes a timestamp(s) in either one or multiple input data in the data set, and the result of an operation that uses an operation-target value(s) within this one or multiple input data;
- in the (c), the output determination part is configured to determine whether or not output is possible;
- in the (d), the output data creation part is configured to create the output data;
- and
- in the (e), in a case where the result in the (c) is affirmative, the output processing part is configured to output the output data created in the (d),
- the output data creation part stores the internal data created in the (b), and
- (A) in a case where the lifetime is specified in accordance with a time period:
- in the (a), the input processing part is configured to correct a time, which is denoted by a timestamp in the inputted input data, to an extinction time in the forward order, which is a time computed by adding this time to the lifetime, and the dataset storage part is configured to add input data including the post-correction timestamp to a dataset;
- in the (c), the output determination part is configured to determine that output is possible when input data initially added to the dataset having become extinct;
- in the (d), the output data creation part is configured to create output data, which includes a timestamp in the latest internal data, and an operation result in the immediately preceding internal data, and
- (B) in a case where the lifetime is specified in accordance with the number of pieces of latest data:
- in the (c), the output determination part is configured to determine that output is possible when input data corresponding to the number of pieces of latest data in the dataset have been inputted;
- and
- in the (d), the output data creation part is configured to create output data including the timestamp stored earliest from among the stored timestamps, and the operation result in the latest internal data.