This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2017-129399, filed on Jun. 30, 2017; the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to a visualization management device, a data management device, a data visualization system, a visualization management method, and a program product.
In various fields such as research and development, performance analysis, production management, and marketing, a system for visualizing collected data (big data) is used. For example, there is a device that creates graphs based on numerical data given as time-series data and displays these graphs, wherein a first graph indicating a result of aggregation of numerical data within an arbitrary aggregation period in a chronological order, a second graph indicating an aggregated result related to a first attribute in the aggregation period indicated in the first graph, and a third graph indicating an aggregated result related to a second attribute in the aggregation period indicated in the first graph are displayed, and the second graph and the third graph are updated according to an operation of changing the aggregation period in the first graph.
When data sources as visualization targets and terminal devices (renderers) that cause visualization screens to be displayed exist in a distributed manner, a server (such as a visualization management device and a cloud service) that centrally manages information related to these data sources and renderers is required. Further, when such data sources are large scale devices, data to be transmitted to renderers needs to be aggregated according to need. If all of such aggregating processes are performed by a server, the load on the server may be excessive. Further, when aggregating processes are performed, the contents of data are read by the server, and thus the risk of information leakage is increased. In order to solve these problems, it is effective to distribute aggregating processes; however, in some conventional techniques, it is difficult to achieve the distribution of processes and central management of information at the same time.
The data management device 2 is an information processing device that manages data (original data) handled as a visualization target, and can be a general-purpose PC (Personal Computer) or a storage server, for example. The data management device 2 includes a data source 11 and a data processor 12. The data source 11 is a database that stores therein original data by using an appropriate storage device. The original data can be, for example, raw data (big data) collected by a predetermined method (such as an experiment and sensor detection). The data processor 12 is configured by using an appropriate integrated circuit, performs a predetermined process (such as an aggregating process) on the original data in the data source 11, and generates aggregate data. The aggregate data includes visualization data (small data) as a rendering target, header data indicating characteristics of attribute values included in the original data for each attribute (column), and the like. The data processor 12 according to the present embodiment generates, according to a request transmitted from the server 4, aggregate data from the original data.
The terminal device 3 is an information processing device that displays a visualization screen, and can be a PC, a tablet terminal, or a smartphone, for example. The terminal device 3 includes a data renderer 21. The data renderer 21 displays a visualization screen on an output device (a display, for example) by rendering visualization data generated by the data processor 12 of the data management device 2. Further, the data renderer 21 performs setting related to the visualization screen according to an operation by a user to create customization information indicating setting contents.
The server 4 is an information processing device that mediates communication between the data management device 2 and the terminal device 3, and can be a server computer or cloud services, for example. The server 4 includes a mediating processor 22. The mediating processor 22 centrally manages information related to the data management device 2 (the data source 11 and the data processor 12) and information related to the terminal device 3 (the data renderer 21). Further, the mediating processor 22 creates a request according to customization information and screen configuration information (indicating a screen configuration of a visualization screen) received from the terminal device 3, and transmits the created request to the data management device 2 (the data processor 12). Further, the mediating processor 22 receives aggregate data (visualization data or header data) from the data management device 2, and transfers the received aggregate data to the terminal device 3.
The network 5 is a computer network that enables communication among a plurality of information processing devices. In the present embodiment, it is assumed that the data management device 2 and the terminal device 3 are arranged in a local environment that is relatively close to a user, and the server 4 is arranged in a remote environment using a remote server or cloud services and the like. In this case, communication between the data management device 2 and the server 4 and communication between the terminal device 3 and the server 4 are respectively established in an individual manner via a communication network such as the Internet/Intranet. The data management device 2 and the terminal device 3 can be directly connected to each other via a LAN (Local Area Network).
The system configuration of the data visualization system 1 is not limited to the example described above. While
The respective units 101 to 105 are realized by one or plural integrated circuits. The respective units 101 to 105 can be also realized by causing a processor such as the CPU 31 to execute a program, that is, realized by software. Further, the respective units 101 to 105 can be also realized by a processor such as a dedicated IC (Integrated Circuit), that is, realized by hardware. Furthermore, the respective units 101 to 105 can be realized by using software and hardware at the same time. When a plurality of processors are used, each of the processors can realize any one of the respective units 101 to 105 or can realize two or more of the respective units 101 to 105.
The extracting unit 101 extracts original data from the data source 11 according to a request transmitted from the server 4.
The header-data generation unit 102 generates header data from original data extracted by the extracting unit 101 according to a request (a header data request) transmitted from the server 4. The header data is information indicating characteristics (an attribute value type and an attribute value range) of an attribute value of each column (each attribute) included in the original data. For example, when the column (attribute) is “temperature”, its attribute value is, for example, [10° C., 100° C.], and when the column is “room”, its attribute value is, for example, [room A, room B, room C]. The attribute value type indicates characteristics (type) of such an attribute value, and for example, when the column is “temperature”, the type of its attribute value can be regarded as “numerical”, and when the column is “room”, the type of the attribute value can be regarded as “nominal”. Such header data is used when a user operates the terminal device 3 to set data mapping of a chart. For example, it is possible to perform processes such as automatically excluding a column having an attribute value type of “nominal” from candidates of data mapping.
The visualization-data generation unit 103 generates visualization data from original data extracted by the extracting unit 101 according to a request (a visualization data request) transmitted from the server 4. The visualization-data generation unit 103 includes an aggregation unit ill. The aggregation unit 111 aggregates original data (big data) according to a received request, and generates visualization data (small data). The visualization data is data handled as a target of a rendering process of creating a visualization screen based on the original data.
The encryption unit 104 encrypts header data generated by the header-data generation unit 102 and visualization data generated by the visualization-data generation unit 103.
The communication unit 105 establishes communication with the server 4 via the network 5. The communication unit 105 receives a request transmitted from the server 4, and transmits encrypted header data or encrypted visualization data as a response to the request to the server 4. Further, the communication unit 105 can perform a predetermined authenticating process when communication with the server 4 is established.
The respective units 121 to 124 are realized by one or plural integrated circuits. The respective units 121 to 124 can be also realized by causing a processor such as the CPU 31 to execute a program, that is, realized by software. Further, the respective units 121 to 124 can be also realized by a processor such as a dedicated IC (Integrated Circuit), that is, realized by hardware. Furthermore, the respective units 121 to 124 can be realized by using software and hardware at the same time. When a plurality of processors are used, each of the processors can realize any one of the respective units 121 to 124 or can realize two or more of the respective units 121 to 124.
The setting unit 121 receives operations of a user, performs various setting processes related to a visualization screen, and creates customization information indicating setting contents. The setting unit 121 includes a data-source selection unit 131, a chart selection unit 132, a header-data acquisition unit 133, a data-mapping setting unit 134, and a display-condition setting unit 135. The data-source selection unit 131 causes a user to select a data source 11 to be handled as a visualization target. At this time, a data source list having been transmitted from the server 4 is used. The data source list is information indicating data sources 11 that are selectable as visualization targets. The chart selection unit 132 causes a user to select a chart type (for example, a bar chart, a line chart, and the like). The header-data acquisition unit 133 acquires header data having been generated by the header-data generation unit 102 of the data processor 12. The data-mapping setting unit 134 causes a user to select a column corresponding to the chart selected by the chart selection unit 132. At this time (when a column corresponding to the chart is set), header data having been acquired by the header-data acquisition unit 133 is used. The display-condition setting unit 135 causes a user to set display conditions (for example, position and size of chart, numerical range of column, and the like) of a visualization screen. It is possible to configure that the display-condition setting unit 135 displays a setting screen for setting display conditions and causes a user to select display conditions, or that the display-condition setting unit 135 sets display conditions without displaying the setting screen and according to operations of a user with respect to the chart while the user is unaware of the setting performed by the display-condition setting unit 135. For example, it is possible to set display conditions automatically according to operations of a user such that the user uses an input device such as a mouse to select his interest or ranges. The setting unit 121 creates customization information including contents set by these functional units, that is, customization information including the data source 11, the chart type, setting of data mapping (setting of columns), display conditions, and the like.
The decoding unit 122 decodes header data and visualization data that are encrypted by the encryption unit 104 of the data processor 12.
By performing rendering on the decoded visualization data, the drawing processing unit 123 creates a visualization screen and displays the created visualization screen on an output device.
The communication unit 124 establishes communication with the server 4 via the network 5. The communication unit 124 transmits a data-source list request and customization information to the server 4, and receives a data source list, encrypted header data, and encrypted visualization data from the server 4. Further, the communication unit 124 can perform a predetermined authenticating process when communication with the server 4 is established.
The respective units 141 to 145 are realized by one or plural integrated circuits. The respective units 141 to 145 can be also realized by causing a processor such as the CPU 31 to execute a program, that is, realized by software. Further, the respective units 141 to 145 can be also realized by a processor such as a dedicated IC (Integrated Circuit), that is, realized by hardware. Furthermore, the respective units 141 to 145 can be realized by using software and hardware at the same time. When a plurality of processors are used, each of the processors can realize any one of the respective units 141 to 145 or can realize two or more of the respective units 141 to 145.
The data-source-information management unit 141 manages information related to data sources 11 that can be selected as visualization targets. The data-source-information management unit 141 determines, for example, data sources 11 in the data management device 2 being connected to the server 4 as “active” data sources 11 that can be selected as visualization targets. Accordingly, the data sources 11 can be managed centrally and dynamically to add new “active” data sources and to delete “inactive” data sources.
The screen-configuration-information management unit 142 manages screen configuration information related to a screen configuration of a visualization screen to be displayed on each terminal device 3 based on customization information transmitted from the terminal device 3. The screen-configuration-information management unit 142 stores screen configuration information of each visualization screen in an appropriate storage unit (for example, the nonvolatile memory 34), and updates the screen configuration information stored in the storage unit according to change of customization information. Accordingly, the state of the visualization screen being displayed on the terminal device 3 can be managed centrally and dynamically.
The data-source-list creation unit 143 creates, according to a data-source-list request transmitted from the data renderer 21 and based on information managed by the data-source-information management unit 141, a data source list indicating data sources 11 that is “active” (can be currently selected as visualization targets).
The request creation unit 144 creates a request to the data management device 2 (the data processor 12) based on customization information transmitted from the terminal device 3 and screen configuration information managed by the screen-configuration-information management unit 142. The created request includes a header data request and a visualization data request.
The communication unit 145 establishes communication between the data management device 2 and the terminal device 3 via the network 5. The communication unit 145 includes a reception unit 151, a transmission unit 152, and a transfer unit 153. The reception unit 151 receives a data-source-list request and customization information transmitted from the terminal device 3. The transmission unit 152 transmits a data source list to the terminal device 3 (the data renderer 21), and transmits requests (a header data request and a visualization data request) to the data management device 2 (the data processor 12). The transfer unit 153 relays encrypted header data and encrypted visualization data transmitted from the data management device 2 to the terminal device 3.
When the data management device 2 accesses the server 4 (the mediating processor 22) (S1), the server 4 deploys the data processor program 51 to the data management device 2 as an access source (S2), and the data management device 2 installs the received data processor program 51 therein to realize the functions of the data processor 12 in the device itself (S3). When the terminal device 3 accesses the server 4 (S4), the server 4 transmits the data renderer program 52 to the terminal device 3 as the access source (S5), and the terminal device 3 installs the received data renderer program 52 therein to realize the functions of the data renderer 21 in the device itself (S6). The server 4 creates and updates the screen configuration information 45 of each visualization screen 41 based on customization information transmitted from the data renderer 21 (S7).
Upon reception of the request, the data processor 12 extracts original data corresponding to the request from the data source 11 (S105), and generates header data or visualization data (S106). Subsequently, the data processor 12 encrypts the generated header data or generated visualization data (S107), and transmits the encrypted header data or encrypted visualization data to the mediating processor 22 as a response to the request (S108). The mediating processor 22 relays the received encrypted header data or encrypted visualization data to the data renderer 21 as a transmission source of the customization information (S109). The data renderer 21 decodes the received encrypted header data or encrypted visualization data (S110).
According to the processes described above, header data and visualization data are generated by the data processor 12, and are acquired by the terminal device 3 in an encrypted state. At this time, the server 4 only relays the encrypted data from the data processor 12 to the data renderer 21, and thus it is possible to decrease the risk of information leakage and the like in the server 4.
Referring back to the flowchart of
Referring back to the flowchart of
Thereafter, the data renderer 21 creates customization information indicating the setting contents described above and transmits the created customization information to the server 4 (S205), and acquires visualization data generated by the data processor 12 via the server 4 (S206). The acquisition of the visualization data is performed with the process illustrated in the sequence diagram of
Thereafter, when the user changes display conditions on the displayed visualization screen 41 (YES at Step S209), the data renderer 21 transmits customization information indicating the changed setting contents (S205), and then a process of displaying a visualization screen 41 corresponding to the changed setting contents is performed (S206 to S208). The display conditions are, for example, chart type, position and size of chart, column type, and range of data in which columns are visualized. When the display conditions are not changed (NO at Step S209), this routine is ended. Due to the processes at Steps S205 to S209, a loop of screen update with an interaction operation is constituted.
Upon reception of the header data request from the mediating processor 22, the data processor 12 extracts original data from the data source 11 (S305), and generates header data (S306). Subsequently, the data processor 12 encrypts the generated header data (S307), and transmits the encrypted header data to the mediating processor 22 (S308).
The mediating processor 22 relays the encrypted header data received from the data processor 12 to the data renderer 21 (S309). The data renderer 21 decodes the encrypted header data received from the mediating processor 22 (S310), and displays a setting screen for setting data mapping on a display of the terminal device 3 based on the decoded header data (S311). The user 10 performs an operation of setting data mapping via the setting screen (S312). The setting screen for setting data mapping at Step S311 is created based on the information included in the header data, that is, the type of attribute value (such as numerical or nominal/ordinal) of each column included in the original data of the data source 11 selected by the user and the range of the attribute value. By referring to the header data, it is possible that the data renderer 21 excludes columns that cannot be the target of data mapping (for example, nominal columns) from options and presents selectable columns (for example, numerical columns) and ranges thereof to the user on a setting screen and the like. Due to this configuration, the user 10 can appropriately perform setting of data mapping (selection of columns, adjustment of narrowing-down ranges, and the like) according to the chart type.
Upon reception of the visualization data request from the mediating processor 22, the data processor 12 extracts original data from the data source 11 based on the information included in the visualization data request (S316), and generates visualization data (S317). At this time, the aggregation unit 111 performs an aggregating process of aggregating original data based on the size of chart, narrowing-down conditions, resolutions of screen areas to be displayed, and the like. Subsequently, the data processor 12 encrypts the generated visualization data (S318), and transmits the encrypted visualization data to the mediating processor 22 (S319).
The mediating processor 22 transfers the encrypted visualization data received from the data processor 12 to the data renderer 21 (S320). The data renderer 21 decodes the encrypted visualization data received from the mediating processor 22 (S321), renders the decoded visualization data (S322), and displays the visualization screen 41 on a display of the terminal device 3 (S323).
Subsequently, when the user 10 performs an operation of changing the display conditions (such as narrowing-down conditions, data mapping, arrangement position of chart) on the visualization screen 41 (S324), the processes described above are performed again based on the changed display conditions, and an updated visualization screen 41 is displayed (S325).
The data-mapping setting screen 85 according to this example is an example of a case where “scatter chart” is selected by a user as the chart type. In order to create a scatter chart, it is necessary that three columns, which are an X-axis, a Y-axis, and a color, are selected and that the attribute value types of all of the columns are numerical. Therefore, “room” of which attribute value type is nominal, is not included in the options of the respective axes of the data-mapping setting screen 85 (in this example, options can be selected in a pull-down manner). In this manner, by creating the data-mapping setting screen 85 based on the header data 82, it is possible to prevent users from performing wrong setting of data mapping.
The visualization data 83 is information created by aggregating the original data 81 based on setting contents of data mapping, display conditions, and the like. The visualization data 83 is aggregated such that a chart is displayed appropriately based on, for example, the numerical ranges of columns set by a user, the size of chart, characteristics (resolution) of display, and the like. While a specific method of such an aggregating process is not particular limited to any method, for example, it is possible to use the mean value, the maximum value, the minimum value, and the like of a plurality of attribute values so that a plurality of pieces of data mapped on the same position (the same display coordinate) on a screen are aggregated as one piece of data. The visualization screen 41 can be created by rendering the visualization data 83 aggregated in this manner.
A program for realizing the functions of the data visualization system 1 described above can be distributed while being recorded in a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, a DVD, and the like as a file of an installable formant or an executable format. Further, the program can be provided while being downloaded from a predetermined storage device being connected to a network to a predetermined computer, or can be provided in a predetermined information processing device while being incorporated in a ROM and the like in advance. The program can be constituted by a plurality of modules that realize at least a part of functions of the respective functional units illustrated in
As described above, according to the present embodiment, because the data processor 12 that generates aggregate data (visualization data or header data) from original data (big data) corresponding to a request from the server 4 is provided to correspond to the data source 11, it is possible to distribute aggregating processes of the original data. Therefore, it is possible to realize central management of information processing devices (the data management device 2 and the terminal device 3 on a user side) by the server 4. Further, when aggregating processes are performed, it is possible to avoid the risk that the original data is read remotely by the server 4, and thus it is possible to decrease the risk of information leakage. In the present embodiment, there has been described an example in which an encrypting process is performed by the data processor 12 and a decoding process is performed by the data renderer 21; however, such encrypting process and decoding process are not always necessary to perform especially when the server 4 is in local environment along with data management device 2 and the terminal device 3. Even when the encrypting process and the decoding process are not performed, the basic configurations and the flow of data processing of the data visualization system 1 according to the present embodiment are not changed, and effects described above can be obtained.
While other embodiments are described below with reference to the drawings, parts identical to those of the first embodiment or parts having operational effects identical to those of the first embodiment are denoted by like reference characters and redundant explanations thereof may be omitted.
Upon reception of the request and the route information, the data processor 12 extracts original data corresponding to the request from the data source 11 (S406), and generates visualization data (S407). Subsequently, the data processor 12 establishes communication with the data renderer 21 (the terminal device 3) based on the route information (S408), and directly transmits the visualization data to the data renderer 21 (S409). The data renderer 21 displays the visualization screen 41 based on the received visualization data (S410).
In the above descriptions, there has been described an example in which visualization data is directly transmitted from the data processor 12 (the data management device 2) to the data renderer 21 (the terminal device 3); however, it is also possible to configure that not only visualization data, but also header data is directly transmitted from the data processor 12 (the data management device 2) to the data renderer 21 (the terminal device 3).
According to the present embodiment, aggregate data (visualization data and header data) generated by the data management device 2 (the data processor 12) can be transmitted to the terminal device 3 (the data renderer 21) without relayed via the server 4. Due to this configuration, it is possible to further decrease the risk of information leakage. Further, it is possible to maintain high security without providing any the encryption unit 104 of the data processor 12 and the decoding unit 122 of the data renderer 21 that encrypts and decodes visualization data and header data.
The data-sharing determination unit 315 determines whether sharing (data sharing) of aggregate data can be performed between a terminal device 3 as a transmission source and another terminal device 3, based on a comparison between screen configuration information 45 corresponding to the terminal device 3 (in this example, the first terminal device 3-1) as the transmission source of customization information and screen configuration information 45 corresponding to another terminal device 3 (in this example, the second terminal device 3-2). The data-sharing determination unit 315 is configured by cooperation of the CPU 31, the RAM 32, the nonvolatile memory 34, and the like. The route-information acquisition unit 316 acquires route information for establishing communication among a plurality of terminal devices 3 that are determined to be capable of performing data sharing by the data-sharing determination unit 315. The route information may include, for example, an IP address, a port number, and the like of another terminal device 3 that is determined to be capable of performing data sharing. The route-information acquisition unit 316 is configured by cooperation of the CPU 31, the RAM 32, the communication I/F 36, and the like. The transmission unit 152 according to the present embodiment transmits a request to the data management device 2 (the data processor 12), and transmits route information to terminal devices 3 (any one or both of the first terminal device 3-1 and the second terminal device 3-2) that are capable of performing data sharing of route information.
Upon reception of the route information, the first data renderer 21-1 establishes communication with the second data renderer 21-2 based on an IP address and the like included in the route information (S506). The second data renderer 21-2 directly transmits visualization data to the first data renderer 21-1 via a corresponding communication path (S507). The first data renderer 21-1 displays the visualization screen 41 based on the received visualization data (S508).
When predetermined items match with each other between the first screen configuration information 45 (S1) and the nth screen configuration information 45 (Sn) (YES at Step S604), the data-sharing determination unit 315 determines that data sharing can be performed between the first data renderer 21-1 (R1) and the nth data renderer 21-n (Rn) (S605), and transmits route information including an IP address, a port number, and the like of the nth data renderer 21-n (Rn) to the first data renderer 21-1 (R1) (S606). The predetermined items can be, for example, a chart ID, information within chart, and the like (see
Meanwhile, when predetermined items do not match with each other between the first screen configuration information 45 (S1) and the nth screen configuration information (Sn) (NO at Step S604), it is determined whether all of the data renderers 21-2 to 21-n (the terminal devices 3-2 to 3-n) being connected to the mediating processor 311 (the server 4) have been determined (S607). When all of the data renderers 21-2 to 21-n have been determined (YES at Step S607), the data-sharing determination unit 315 determines that the first data renderer 21-1 (R1) cannot perform data sharing with any of the data renderers 21-2 to 21-n (S608). Meanwhile, when determination on all of the data renderers 21-2 to 21-n has not been made (NO at Step S607), the data-sharing determination unit 315 increments the value of n (S609), and performs Step S603 again.
In the above descriptions, an example in which visualization data is shared among a plurality of data renderers 21 (the terminal devices 3) has been described; however, it is also possible to configure that not only visualization data, but also header data is shared among these data renderers 21.
According to the present embodiment, when aggregate data (visualization data or header data) can be shared among a plurality of terminal devices 3 (the data renderers 21), transmission and reception of aggregate data are performed directly among these terminal devices 3. For example, when aggregate data required by the first data renderer 21-1 is already held in the second data renderer 21-2, the aggregate data is directly transmitted from the second data renderer 21-2 to the first data renderer 21-1. Accordingly, it is not necessary to cause the data processor 12 to newly generate aggregate data, and thus, for example, in a case where the same visualization screen 41 is viewed by a plurality of terminal devices 3, it is possible to reduce the processing load on the data processor 12. Further, because the number of times of processes of transmitting aggregate data and the like to the server 4 can be reduced, it is possible to decrease the risk of information leakage.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2017-129399 | Jun 2017 | JP | national |