Program, information processing method, and information processing device
A program manages tabular data with versions and layouts, enabling efficient conversion to semi-structured data, addressing format inconsistencies and enhancing data utilization.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2026-03-12
AI Technical Summary
Data creators modify tabular data formats based on experiment type and number, making it difficult for data users to efficiently utilize experimental data.
A program that manages tabular data with assigned versions and layouts, updating and saving these associations, converting to semi-structured data, and storing with version information.
Improves convenience in managing tabular data and layouts, ensuring efficient use and version tracking of experimental data.
Smart Images

Figure 2026044186000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a program, an information processing method, and an information processing device. [Background technology]
[0002] Patent Document 1 discloses a device that converts data in a spreadsheet format into data in a semi-structured data format. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-146923 Summary of the Invention [Problem to be solved by the invention]
[0004] In order to efficiently use experimental data and other data, data users such as data scientists often request that data creators, such as researchers who input the experimental data, input the data into a predetermined tabular data format. However, data creators sometimes modify the tabular data format depending on the type and number of experiments, making it difficult to efficiently use the data.
[0005] One aspect of the present disclosure provides a more convenient program or the like that manages tabular data and a layout that defines the relationships between the elements of the tabular data. [Means for solving the problem]
[0006] The program of the first aspect is a program that causes a computer to execute a process of saving tabular data with a version assigned and a layout that defines the relationships between elements of the tabular data, and when an update to the tabular data is received, saving the updated tabular data and layout in association with the new version.
[0007] The program of the second aspect is the program according to the first aspect, which outputs semi-structured data based on the updated tabular data and layout, and stores the output semi-structured data in association with the new version.
[0008] A third aspect of the program is the program according to the second aspect, which, when the semi-structured data is output, stores information indicating that the semi-structured data has been output in association with the new version.
[0009] A fourth aspect of the program is the program according to the second or third aspect, which deletes a semi-structured file that stores the semi-structured data associated with the table format data before updating.
[0010] A fifth aspect of the present invention is a program according to any one of the first to fourth aspects, which receives a specification of the version and reads out the tabular data and the layout corresponding to the specified version.
[0011] The program of the sixth aspect is a program according to any one of the first to fifth aspects, which saves the file name of the tabular data, the date and time of registration, the name of the person who registered, and comments in association with the new version.
[0012] A program according to a seventh aspect is a program according to any one of the first to sixth aspects, which outputs a version list screen that displays a list of saved versions together with a preview image of the layout of each version.
[0013] The information processing method of a first aspect is an information processing method that stores tabular data with a version assigned and a layout that defines the relationships between each element of the tabular data, and when an update to the tabular data is received, stores the updated tabular data and layout in association with the new version.
[0014] An information processing device according to a first aspect includes a control unit that stores tabular data with a version assigned and a layout that defines the relationships between elements of the tabular data, and when an update to the tabular data is received, stores the updated tabular data and layout in association with the new version. [Effects of the Invention]
[0015] One aspect of the present disclosure can improve convenience when managing tabular data and a layout that defines the relationships between the elements of the tabular data. [Brief explanation of the drawings]
[0016] [Figure 1] 1 is a schematic diagram of a system according to one aspect of the present disclosure. [Figure 2] FIG. 2 is a block diagram illustrating an example of the configuration of a server device. [Figure 3] FIG. 10 is a diagram illustrating an example of the configuration of a master table. [Figure 4] FIG. 10 is a diagram illustrating an example of the configuration of a lower version table. [Figure 5] FIG. 10 is a diagram illustrating an example of the configuration of a property table. [Figure 6] FIG. 2 is a block diagram illustrating an example of the configuration of a terminal device. [Figure 7] FIG. 10 is a screen diagram showing an example of a layout editing screen. [Figure 8] 10 is a flowchart illustrating an example of a process performed by a server device. [Figure 9]10 is a flowchart illustrating an example of an overwrite save process. [Figure 10] 10 is a flowchart illustrating an example of a master table update process. [Figure 11] 10 is a flowchart illustrating an example of a semi-structuring related process. [Figure 12] FIG. 10 is an explanatory diagram showing changes in a management database that are made during processing. [Figure 13] FIG. 10 is a screen diagram showing an example of a table format file list screen. [Figure 14] FIG. 10 is a screen diagram showing an example of a version management screen. [Figure 15] FIG. 10 is a screen diagram showing another example of the version management screen. [Figure 16] 10 is a flowchart of a process for a selected version. [Figure 17] 10 is a flowchart illustrating an example of a version deletion process. [Figure 18] FIG. 10 is an explanatory diagram showing changes in a management database that are made during processing. DETAILED DESCRIPTION OF THE INVENTION
[0017] Hereinafter, a system that is an example of a program, an information processing device, and an information processing method according to one aspect of the present disclosure will be described in detail with reference to the drawings. In the description, like elements will be given like reference numerals, and duplicated descriptions will be omitted as appropriate.
[0018] 1 is a schematic diagram of a system according to one aspect of the present disclosure. The system according to the embodiment of the present disclosure includes an information processing device 1 and an information processing terminal 2, which can transmit and receive information via a network 3 such as the Internet. The system according to the embodiment of the present disclosure can be a system for converting tabular data into semi-structured data.
[0019] The information processing device 1 is an information processing device that processes, stores, and transmits and receives various types of information. The information processing device 1 may be configured as, for example, a server device, a personal computer, a tablet terminal, a smartphone, or the like. The information processing device 1 may be configured as a plurality of information processing devices, or may be configured as one of a plurality of virtual devices (virtual machines) configured within one information processing device. In the embodiment of the present disclosure, the information processing device 1 will be referred to as a server device 1 to avoid complication of explanation. However, the information processing device 1 is not limited to a server device, and may be configured as any of the above-mentioned types of information processing devices.
[0020] The information processing terminal 2 can display or download via the network 3 the tabular data file stored in the server device 1 and edit it, etc. The information processing terminal 2 can also perform an operation to upload the edited tabular data back to the server device 1 and save it as a tabular file. The information processing terminal 2 can also upload the tabular file stored in the information processing terminal 2 via the network 3 and save it as a new file or overwrite it in the server device 1. Here, tabular data or files can be referred to as being synonymous with spreadsheet format data or files.
[0021] The information processing terminal 2 may be, for example, an information processing device such as a personal computer, a smartphone, a mobile phone, a wearable device, a tablet, etc. In the embodiment of the present disclosure, in order to avoid complicated explanation, the information processing terminal 2 will be referred to as a terminal device 2.
[0022] 2 is a block diagram showing an example of the configuration of the server device 1. The server device 1 can be an information processing device configured mainly with electronic circuits using semiconductor circuit elements. The server device 1 has a control unit 11, a communication unit 12, a reading unit 13, and a storage unit 14. The control unit 11, the communication unit 12, the reading unit 13, and the storage unit 14 are communicatively connected via a bus 19 or the like. Note that the server device 1 may have another configuration, such as one that does not have the reading unit 13.
[0023] The control unit 11 can be configured to have one or more of a processing device such as a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), a GPU (Graphics Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), and a quantum processor. The control unit 11 reads out and executes a program (or program product) 1P stored in the storage unit 14.
[0024] The communication unit 12 is a communication module for performing communication-related processing, and can send and receive information to and from the terminal device 2 and the like via the network 3. The reading unit 13 can read a portable storage medium 15 such as a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disc)-ROM, or a USB (registered trademark) memory. The control unit 11 may read the program 1P from the portable storage medium 15 via the reading unit 13 and store it in the storage unit 14. The control unit 11 may also download the program 1P from another computer via the network 3 and store it in the storage unit 14.
[0025] The storage unit 14 includes a volatile storage unit such as a RAM (Random Access Memory), and a non-volatile storage unit such as a ROM (Read Only Memory), an HDD (Hard Disk Drive), and a flash memory. As shown in Fig. 2, the storage unit 14 stores, for example, a program 1P and tabular linked data 6. The program 1P is a program executed by the control unit 11. In this embodiment, the program 1P may also be referred to as a program product 1P.
[0026] The tabular linked data 6 is composed of a management database 7, a tabular file storage unit 62, a layout file storage unit 63, and a semi-structured file storage unit 64. The management database 7 has a master table 71, a lower version table 72, and a property table 73. The management database 7 stores information on which layout file, stored in the layout file storage unit 63, a tabular file stored in the tabular file storage unit 62 is linked to, and which semi-structured file, stored in the semi-structured file storage unit 64, a tabular file is linked to.
[0027] The management database 7 also manages the versions of the tabular files. Each table will be described in detail in the explanation of Figures 3 to 5. In this embodiment, a database is used to manage the tabular files, layout files, and semi-structured files, as well as their versions, but they may also be managed using spreadsheets or text files.
[0028] The tabular file storage unit 62 stores files of tabular data (hereinafter referred to as "tabular files"). The layout file storage unit 63 stores files (hereinafter referred to as "layout files") that store layouts for converting tabular files into semi-structured data. Layouts will be described later. The semi-structured file storage unit 64 stores files of semi-structured data converted using the layouts (hereinafter referred to as "semi-structured files").
[0029] Here, in this embodiment, semi-structured data can refer to data written in, for example, JSON (JavaScript (registered trademark) Object Notation) format, XML (eXtensible Markup Language) format, etc. Furthermore, in this embodiment, semi-structured data can be data in which a combination of data names and data contents associated with the names is explicitly defined and written, and in which inclusion relationships are written in a nested format. Furthermore, in this embodiment, semi-structured data cannot be managed as a single relational database or tabular data, but may be data that is structured to a certain extent.
[0030] FIG. 3 is a diagram showing an example of the configuration of the master table 71. As shown in this diagram, the master table 71 has columns for master identifier, latest version, tabular file, property identifier, layout file, semi-structured state, and semi-structured file. The master identifier identifies each record in the master table 71 and stores a unique numeric or character string value for each record. The latest version is a number representing the current latest version. For example, when a record is added during new creation, the latest version can be saved as 1, and each time an updated file is saved, a value incremented by 1 can be saved.
[0031] The tabular file column stores the storage location (file path) of the tabular file. The property identifier column stores a key value when referencing the property table 73 described later. The layout file column stores the storage location (file path) of the saved layout file.
[0032] The semi-structured status column stores a value indicating whether a semi-structured file has been generated. Specifically, it can indicate, for example, either "Completed" or "Not Completed." "Completed" indicates that semi-structured processing has been performed and a semi-structured file has been saved, while "Not Completed" may indicate that semi-structured processing has not been performed and a semi-structured file has not been saved. The semi-structured status column may also store a status indicating "File Editing or Running," which indicates that editing cannot be performed because a tabular file or layout file is being edited or semi-structured processing is in progress. The semi-structured file column stores the storage location (file path) of the saved semi-structured file.
[0033] The master table 71 allows the extraction of a layout file of a layout applied to a saved tabular file and a semi-structured file output using that layout file, using the master identifier or the saved location (file path) of the tabular file as a key. If no layout has been created, the layout file column can be left blank. If no semi-structured file has been created, the semi-structured file column can be left blank.
[0034] FIG. 4 is a diagram showing an example of the configuration of lower version table 72. As shown in this diagram, lower version table 72 has columns for lower version identifier, master identifier, version, tabular file, property identifier, and layout file. The lower version identifier identifies each record in lower version table 72 and is a unique value for each record. The master identifier column corresponds to the master identifier of master table 71 and stores a value indicating which record in master table 71 the record corresponds to. In addition, by using the master identifier to extract lower version table 72, it is possible to refer to information on each lower version that has the same master identifier.
[0035] The version column stores the version value. The larger the version value, the newer the version. The tabular file column stores the storage location (file path) of the tabular file related to the corresponding version. The property identifier column stores the property identifier related to the corresponding version. The property identifier, like the property identifier of the master table, is a key value when referencing the property table 73 described below. The layout file column stores the storage location (file path) of the layout file related to the corresponding version.
[0036] 5 is a diagram showing an example of the configuration of the property table 73. As shown in this diagram, the property table 73 has columns for property identifier, title, registrant, registration date and time, and comment. The property identifier column identifies each record in the property table 73 and is a unique value for each record. The title column can store, for example, a file name.
[0037] The registrant column can store the name and account name of the user who last saved the corresponding version. The registration date column can store the date and time when the corresponding version was last saved. The comment column allows users such as registrants to freely store text, for example, memos about the contents recorded in the table file at the time of registration or later.
[0038] In this way, the server device 1 executing the program 1P stores the file name of the tabular data, the date and time of registration, the name of the person who registered, and comments in association with the new version. This allows the user to easily understand what version each version is, for example, as shown in Fig. 14 (described later), and allows the user to efficiently use the layout of the previous version.
[0039] 6 is a block diagram showing an example of the configuration of the terminal device 2. Here, the terminal device 2 can be an information processing device configured mainly with electronic circuits using semiconductor circuit elements. The terminal device 2 may have a control unit 21, a communication unit 22, a reading unit 23, a storage unit 24, a display unit 26, and an input unit 27. The control unit 21, the communication unit 22, the reading unit 23, the storage unit 24, the display unit 26, and the input unit 27 are connected to each other via a bus 29 or the like so as to be able to communicate with each other.
[0040] The control unit 21 can be configured to have one or more of a processing device such as a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), a GPU (Graphics Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), a quantum processor, etc. The control unit 21 reads out and executes a program stored in the storage unit 24.
[0041] The communication unit 22 is a communication module for performing communication-related processing, and can send and receive information to and from the server device 1, etc., via the network 3. The reading unit 23 can read a portable storage medium 25, such as a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disc)-ROM, or a USB (registered trademark) memory. The control unit 21 can read a program and / or data from the portable storage medium 25 via the reading unit 23 and store it in the storage unit 24. The control unit 21 can also download a program from another computer via the network 3, etc., and store it in the storage unit 24.
[0042] The storage unit 24 includes a volatile storage device such as a random access memory (RAM), and a non-volatile storage device such as a read only memory (ROM), a hard disk drive (HDD), and a flash memory. The display unit 26 may be a liquid crystal display, an organic electroluminescence (EL) display, or the like. The input unit 27 may be an input device such as a keyboard, a mouse, a touch panel, or a camera.
[0043] Here, the layout will be explained. Fig. 7 is a screen diagram showing an example of a layout editing screen 200. The layout editing screen 200 is a screen that the server device 1 displays on the display unit 26 of the terminal device 2 via the network 3. The layout editing screen 200 has an operation button area 210 and a layout editing area 220.
[0044] The operation button area 210 has a Save button 211, an Undo button 212, a Redo button 213, a Key-Value button 214, a Multiple cell button 215, a Table button 216, and an Order button 217. Each button executes a function provided by the user of the terminal device 2 when operated (for example, by clicking with a mouse).
[0045] The Save button 211 provides a function for saving as a layout file the type, position, size, orientation, etc. of one or more perspective objects (described later) placed in the layout editing area 220. The Undo button 212 provides a function for canceling the most recent operation performed in the layout editing area 220. The Redo button 213 provides a function for redoing the operation most recently canceled by the Undo button 212. The Key-Value button 214, Multiple cell button 215, Table button 216, and Order button 217 will be explained together with the explanation of the layout editing area 220 below.
[0046] The layout editing area 220 displays tabular data and also displays a layout on the tabular data. Tabular data can be saved in a tabular file or can be saved content. Tabular data is composed of columns and rows, and data elements (or components) are located at the intersections of the rows and columns and are called cells. A cell is identified by sequentially specifying the column, which is identified by an alphabet, and the row, which is identified by a number (e.g., "cell A1"). In FIG. 7, for example, the character string "Laboratory Equipment" is saved as the value of cell B3, and the character string "Tammann Tube" is saved as the value of cell D3.
[0047] The layout is depicted mainly with bold lines and arrows in FIG. 7. In this embodiment, the elements that make up the layout are called parse objects. In this embodiment, the parse object includes a cell parser 91, a header connector 92, a sequence connector 93, and a table parser 95. However, the layout may include parse objects other than these. Also, the layout may not include any or all of these parse objects. The cell parser 91 identifies one cell. In FIG. 7, for example, the cell parser 91 is placed in cell B3, cell D3, cell B6, cell D6, cell F6, cell C16, cell C18, and cell C20.
[0048] A header connector 92 is an arrow extending from a cell parser 91 that specifies a cell indicating a header to a cell parser 91 or table parser 95 that contains the content of the header. A header connector 92 connects two cell parsers 91, or connects a cell parser 91 and a table parser 95. In Figure 7, the header connector 92 is represented by an arrow with a triangular tip that extends from cell B3 to cell D3, for example. The header connector 92 may indicate an inclusion relationship.
[0049] The Key-Value button 214 can provide the placement of the header connector 92 along with the preceding and following cell parsers 91. For example, a user can click the Key-Value button 214, and then click cells B3 and D3 in order to place the cell parser 91 in cells B3 and D3, and then place a header connector 92 connecting cell B3 to cell D3. In addition, when placing a table parser 95 ahead of the header connector 92, the user may first place the table parser 95, select the Key-Value button 214, click the cell that will become the header, and then select the table parser 95, thereby placing the header connector 92 with the table parser 95 at its end.
[0050] Furthermore, a header connector 92 may connect three or more cell parsers 91 in series. In Fig. 7, for example, a header connector 92 extends from cell B6 to cell D6, and a header connector 92 further extends from cell D6 to cell F6. The final header connector 92 may be connected to a table parser 95. As with a header connector 92 connecting two cell parsers 91, even when three or more cell parsers 91 are connected in series, the header connector 92 can represent a header, an inclusion relationship, or the like.
[0051] The Multiple cell button 215 can provide for the placement of multiple header connectors 92 along with the cell parsers 91 connected by them. For example, a user operates the Multiple cell button 215 by clicking or the like, and then clicks cells B6, D6, and F6 in turn. This places cell parsers 91 in cells B6, D6, and F6, and further places header connectors 92 connecting cell B6 to cell D6 and cell D6 to cell F6.
[0052] In this case, the end of cell specification may be indicated by clicking the last cell and then again clicking the Multiple cell button 215. Also, when placing a table parser 95 ahead of the last header connector 92, the table parser 95 may be placed first, the Multiple cell button 215 may be selected, multiple cells may be clicked to become headers, and then the table parser 95 may be selected last, thereby placing a header connector 92 with the table parser 95 at its end.
[0053] The table parser 95 is a parse object that specifies a table whose data content is structured by rows and columns. The table parser 95 is composed of an entire table section 951 that indicates the entire table and a table data section 952 that indicates the data portion. The entire table section 951 that is not included in the table data section 952 can be determined to be a header area and an index area.
[0054] 7, the entire table portion 951 of the table parser 95 is represented by a rectangle with cell B9 and cell D13 as the diagonal vertices, and the table data portion 952 is represented by a rectangle with cell C10 to cell D13 as the diagonal vertices. Here, the entire table portion 951 and the table data portion 952 are distinguished from each other by black triangles at the top left and bottom right of the table data portion 952.
[0055] The Table button 216 can provide the placement of the table parser 95. For example, the user operates the Table button 216 by clicking or the like, and then specifies the entire table portion 951, which is the area showing the entire table (for example, dragging from cell B9 to cell D13). Next, the table parser 95 can be placed by specifying the table data portion 952, which shows the data portion (for example, dragging from cell C10 to cell D13).
[0056] The order connectors 93 are parse objects that connect cell parsers 91 together, and represent the order in the direction indicated by the arrow. In Fig. 7, for example, the order connectors 93 are shown as arrows extending from cell C16 to cell C18 and from cell C18 to cell C20 for the cell parsers 91 arranged in cell C16, cell C18, and cell C20. In order to distinguish the order connectors 93 from the header connectors 92, in this embodiment, each of the order connectors 93 has a V-shaped arrow at the end.
[0057] The Order button 217 can provide the placement of multiple order connectors 93 together with the cell parsers 91 connected by them. For example, a user operates the Order button 217 by clicking or the like, and then clicks cells C16, C18, and C20 in that order. This places cell parsers 91 in cells C16, C18, and C20, and further places order connectors 93 connecting cell C16 to cell C18 and cell C18 to cell C20.
[0058] These parse objects are included in the layout corresponding to the tabular data, and are saved as a layout file in the layout file saving unit 63 by clicking the save button 211 or other operation. The master table 71 can also save the file path of the corresponding layout file in the record of the corresponding tabular file. The layout file may save layout structural information by converting each parse object arranged in the tabular data into a character string or the like. For example, the layout structural information can be saved in the layout file by describing the header connector 92 extending from cell B3 to cell D3 using a predetermined grammar such as "Header: B3: D3."
[0059] The server device 1 converts the tabular data into semi-structured data based on the above-mentioned parse objects. For example, a header connector 92 extending from the cell parser 91 of cell B3 to the cell parser 91 of cell D3 can be written in JSON format as follows: {"key": "Laboratory equipment", "value": [{"key": "Tammann tube"}]} By performing such conversion to create semi-structured data, necessary information can be easily extracted by searching among tabular data with different layouts.
[0060] Furthermore, rules for converting parse objects other than the header connector 92 into semi-structured data can be defined as appropriate. The rules for converting into semi-structured data do not have to be rules for converting into JSON format, but may be rules for converting into XML format or other rules for converting into semi-structured data. Parse objects are not limited to the cell parser 91, header connector 92, order connector 93, and table parser 95, and can be defined as appropriate, and rules for converting each parse object into semi-structured data can be defined as appropriate.
[0061] Fig. 8 is a flowchart showing an example of processing by the server device 1. The server device 1 executes, for example, the processing shown in the flowchart of Fig. 8 (hereinafter referred to as "save processing S10") based on instructions from the program 1P. The program 1P is a program that manages the tabular linked data 6 of Fig. 2. The server device 1 that executes the program 1P saves, overwrites, deletes, etc., the tabular files, layout files, and semi-structured files in the tabular linked data 6, and updates the management database 7, based on instructions received from the terminal device 2 via the network 3.
[0062] Here, the user of the terminal device 2 can operate the terminal device 2 to open and edit a tabular file stored in the tabular file storage unit 62 of the server device 1 on the server device 1, and save the file under the same file name in the tabular file storage unit 62. Alternatively, the user can download the tabular file stored in the tabular file storage unit 62 of the server device 1 to the terminal device 2, edit and write the file to write experimental data or the like, and then upload the file back to the server device 1 and save it in the tabular file storage unit 62. Alternatively, the user of the terminal device 2 can operate the terminal device 2 to upload a tabular file stored in the memory unit 24 of the terminal device 2 and save it in the tabular file storage unit 62.
[0063] 8, the server device 1 determines whether or not an instruction to save a tabular file has been received (step S11). If an instruction to save tabular data has not been received (step S11: NO), the process of step S11 is repeated. If an instruction to save a tabular file has been received (step S11: YES), the server device 1 determines whether the type of save is "no change to content," "overwrite save," or "new save" for the file (step S12).
[0064] If the result is "no content change" (step S12: no content change), the process ends. If the result is "overwrite save" (step S12: overwrite save), the process proceeds to overwrite save process S20. The overwrite save process S20 will be described in detail in the description of FIG. 9. When the overwrite save process S20 ends, the process proceeds to master table update process S30. The master table update process S30 will be described in detail in the description of FIG. 10. When the master table update process S30 ends, the process proceeds to semi-structured related process S40. When the semi-structured related process S40 ends, the process ends. The semi-structured related process S40 will be described in detail in the description of FIG. 11.
[0065] Here, "overwriting and saving" includes a case where a user of terminal device 2 operates terminal device 2 to open, edit, and save a tabular file stored in tabular file storage unit 62 of server device 1 on server device 1, for example. "Overwriting and saving" also includes a case where a user of terminal device 2 operates terminal device 2 to download a tabular file stored in tabular file storage unit 62 of server device 1 to terminal device 2, edit the downloaded tabular file, and then upload it back to server device 1 and save it in tabular file storage unit 62. "Overwriting and saving" may also include a case where a user of terminal device 2 operates terminal device 2 to upload a tabular file stored in memory unit 24 of terminal device 2 and save it in tabular file storage unit 62 as a file that is recognized as being identical to the already saved file.
[0066] Here, "overwrite save" in the tabular linked data 6 means saving a file that is already treated as the same file in the tabular file saving unit 62, but the files can be saved as different files in the tabular file saving unit 62. In other words, as shown in the overwrite save process S20 described later, in this embodiment, "overwrite save" means saving a file that is different from the already saved file as a higher version, and does not mean that the already saved tabular file is erased by overwriting.
[0067] If "save as new" is selected in step S12 (step S12: save as new), the tabular file is saved (step S13). Next, a new record is added to the master table 71, and the file path of the tabular file saved in the tabular file column is entered (step S14), and the process proceeds to master table update process S30. The master table update process S30 will be described in detail in the description of FIG. 10. When the master table update process S30 is completed, the process proceeds to semi-structured related process S40. When the semi-structured related process S40 is completed, the process ends. The semi-structured related process S40 will be described in detail in the description of FIG. 11.
[0068] 9 is a flowchart showing an example of the overwrite save process S20. The server device 1 can execute the overwrite save process S20 based on a command from the program 1P. In the overwrite save process S20, the server device 1 first adds a new record to the lower version table 72, copies the record in the master table 71 to be overwritten, and pastes it into the corresponding column of the new record (step S21). Specifically, the server device 1 adds a new record to the lower version table 72, assigns and inputs a unique lower version identifier to the added record, and copies and pastes the master identifier, latest version, tabular file, property identifier, and layout file columns of the corresponding record in the master table 71 into the master identifier, version, tabular file, property identifier, and layout file columns of the lower version table 72, respectively (for example, FIG. 12, step S102).
[0069] The tabular file is then saved (step S22). Here, even if the file is overwritten, the edited or uploaded tabular file can be saved with a file name different from that of the saved file. The file name of the saved file can also be changed to a file name different from that of the edited or uploaded tabular file. The edited or uploaded tabular file may also be saved in a folder different from that of the saved file. In this embodiment, the value of the latest version column calculated in step S23 plus 1 is added to the end of the file name, followed by an underscore (_), to prevent the saved file from being overwritten (for example, FIG. 12, step S103).
[0070] Next, the file path of the saved tabular file is entered into the tabular file column of the corresponding record in the master table 71, and a value incremented by 1 is entered into the latest version column of the master table 71 and saved (step S23).
[0071] If a file path is stored in the layout file column of master table 71, the layout file of that file path is copied and the file path of the copy destination is stored in the layout file column of master table 71 (step S24). In this embodiment, as with tabular files, the file name of the layout file is followed by an underscore (_) and the latest version number to prevent overwriting of an already saved file (for example, FIG. 12, step S103).
[0072] If it is determined that the layout file cannot be used as is due to a change in the format of the table file, the layout file may be converted to conform to the format of the table file. The layout file may be converted by the program 1P of the server device 1, which recognizes the conversion of the table file format, or the layout file may be modified according to instructions from the user via the terminal device 2 and the network 3 by displaying a screen such as that shown in Figure 7.
[0073] In this way, the server device 1 stores versioned tabular data and a layout that defines the relationships between the elements of the tabular data, and when an update to the tabular data is received, it can store the updated tabular data and layout in association with the new version. As a result, even when semi-structured data is output using tabular data whose data format has been changed, the tabular data and layout are stored in the new version, so even if the layout before the change is changed, the tabular data and layout before the change can be saved and the tabular data or layout before the change can be used.
[0074] Here, version upgrades can be performed when editing and saving an existing tabular file, or when uploading a tabular file by overwriting it. When creating a new tabular file, it is saved as the first version. Also, copying and pasting a tabular file can be considered to be saved as the first version because it is saved as a separate file. By copying and pasting any version of a tabular file, it is possible to reuse the previous version of the tabular file and its layout.
[0075] Furthermore, if a file path is stored in the semi-structured file column of master table 71, the semi-structured file for that file path is deleted (step S25), and the overwrite save process S20 is terminated. In this way, server device 1 can delete the semi-structured file that stores the semi-structured data associated with the pre-update tabular data. This saves only the semi-structured data of the latest tabular file, so files used as search targets, etc., can be kept up to date and incorrect information based on outdated information can be prevented from being used.
[0076] 10 is a flowchart showing an example of the master table update process S30. The server device 1 may execute the master table update process S30 based on instructions from the program 1P. In the master table update process S30, the server device 1 leaves the semi-structured file column of the corresponding record in the master table 71 blank, and saves the semi-structured state column as unimplemented (step S31). Next, a new record is added to the property table 73, a new unique property identifier is assigned and entered, and the title, registrant's name, registration date and time, and comments are entered into the respective columns and saved (step S32).
[0077] Here, the title can be the file name or any other name that is easy for the user to use. The registrant name can be a name, account name, or any other name used by the user. The registration date and time can be, for example, the date and time the tabular file was saved. The comment can be text that the user can write freely, or a memo can be entered to identify the tabular file.
[0078] Finally, the property identifier of the added property table 73 is saved in the property identifier field of the added record of the master table 71 (step S33), and the master table update process S30 is terminated (FIG. 12, steps S104 and S105).
[0079] 11 is a flowchart showing an example of the semi-structured related processing S40. The server device 1 may execute the semi-structured related processing S40 based on a command from the program 1P. In the semi-structured related processing S40, the server device 1 determines whether there is a layout linked to the tabular file (step S41). Here, whether there is a layout can be determined by, for example, the server device 1 referring to the layout file column in the master table 71 and determining whether a file path is saved or whether a file exists at that file path.
[0080] If it is determined that there is no layout (step S41: NO), it is determined whether or not to edit the layout (step S45). Here, the server device 1 may inquire of the user of the terminal device 2 via the network 3 and the terminal device 2 whether or not to edit the layout. If the layout is not to be edited (step S45: NO), the process ends. If the layout is to be edited (step S45: YES), a function that allows the user to edit the layout is provided (step S46).
[0081] Here, the layout editing function may be, for example, to display the layout editing screen 200 in Fig. 7 and provide the function described above in Fig. 7. When the layout editing is completed, the process returns to step S41 and repeats the process.
[0082] If it is determined that a layout exists (step S41: YES), it is determined whether or not to create a semi-structured file (step S42). Whether or not to create semi-structured data may be determined, for example, if a file path exists in the semi-structured file column of master table 71. Alternatively, server device 1 may inquire of terminal device 2 via network 3 about whether or not to create semi-structured data, and determine whether or not to create semi-structured data based on the response from the user's operation of terminal device 2.
[0083] If semi-structured data is not to be created (step S42: NO), the process proceeds to the judgment of step S45 described above. If semi-structured data is to be created (step S42: YES), the server device 1 converts the tabular file into semi-structured data according to the description in the layout file and creates a semi-structured file (step S43). Next, the file path of the created semi-structured file is entered into the semi-structured file column of the corresponding record in master table 71, and "completed" is entered into the semi-structured status column (step S44), thereby terminating the semi-structured related processing S40.
[0084] As described above, according to this embodiment, semi-structured data can be output based on the updated tabular data and layout, and the output semi-structured data can be saved in association with a new version. This allows software that uses semi-structured data to use the latest version of semi-structured data. Furthermore, when semi-structured data is output, a message indicating that the semi-structured data has been output can be saved in association with a new version. This makes it possible to determine whether the semi-structured data is usable. In this case, the message indicating that the semi-structured data has been output can be saved in association with only the latest version.
[0085] 12 is an explanatory diagram showing changes made to the management database 7 during processing. Changes made to the master table 71, lower version table 72, and property table 73 during the above-mentioned overwrite save processing S20 and master table update processing S30 will be described with reference to FIG.
[0086] First, at the start of the overwrite save process S20, for the master identifier 111001 of the management database 7, as shown in S101 of Figure 12, the latest version column of the record in the master table 71 is 5, and the lower version table 72 contains records of versions 1 to 4.
[0087] Next, a new record is added to the lower version table 72, and the record in the master table 71 to be overwritten is copied and pasted into the corresponding column of the new record (Figure 9, step S21). A record with master identifier 111001 and a value of 5 in the version column is added to the lower version table 72 (Figure 12, step S102).
[0088] Next, the file path of the newly saved tabular file is entered into the tabular file column of the corresponding record (master identifier 111001) in master table 71, and a value obtained by adding 1 to the latest version column is entered and saved (FIG. 9, step S22).If there is a file path in the layout file column of master table 71, the layout file is copied and the file path of the copy destination is saved in the layout file column of master table 71 (FIG. 9, step S24).
[0089] Here, since the layout file contains the file "Experimental Results E_5.lod" (FIG. 12, step S101), "Experimental Results E_5.lod" is copied and saved as "Experimental Results E_6.lod", and the file path of the save location is saved in the layout file column of master table 71. Next, the semi-structured file column of the corresponding record in master table 71 is left blank, the semi-structured state column is set to not implemented, and the record is saved (FIG. 10, step S31), and the corresponding record in master table 71 (master identifier 111001) becomes a new record with the value of the latest version column set to 6 (FIG. 12, step S103).
[0090] Next, add a record to property table 73, assign and enter a new unique property identifier, and enter and save the title, registrant name, registration date and time, and comments in the respective columns (Figure 10, step S32). A record with a new property identifier (P110101) will then be added to property table 73 (Figure 12, step S104).
[0091] When the property identifier of the added property table 73 is saved in the property identifier column of the added record in master table 71 (FIG. 10, step S33), the corresponding record in master table 71 (master identifier 111001) is saved as a record indicating a state in which semi-structuring has not been implemented. After this, when a semi-structured file is created in semi-structuring-related processing S40, the file path of the semi-structured file is entered in the semi-structured file column, and "Implemented" is entered and saved in the semi-structured status column.
[0092] In this manner, in this embodiment, each time a different tabular file is saved, the previous version of the tabular file is saved together with the layout, so even if the layout of the previous version is needed but the tabular file is saved and the layout is changed, the layout and tabular data of the previous version can be used.
[0093] The list information of each tabular file stored as described above can be displayed on the display unit 26 of the terminal device 2 by the server device 1 based on the operation of the user of the terminal device 2. Fig. 13 is a screen diagram showing an example of a tabular file list screen 300. As shown in this figure, the tabular file list screen 300 displays a list of each tabular file, and has a file name area 301, a file update date and time area 302, and a semi-structured status area 303.
[0094] The file name area 301 displays the file name of a tabular file stored in the tabular linked data 6. The file update date and time area 302 displays the date and time when the file was last changed and saved. The file update date and time area 302 can be displayed based on the registration date and time of the property table 73, for example.
[0095] The semi-structured status area 303 displays whether a semi-structured file has been output. The semi-structured status area 303 may also indicate whether a semi-structured file is currently being output or edited. This allows a user to determine whether the corresponding tabular file can be edited. The semi-structured status area 303 can be displayed based on the semi-structured status column of the master table 71.
[0096] Furthermore, the information about each version stored as described above can be displayed on the display unit 26 of the terminal device 2 by the server device 1 based on the operation of the user of the terminal device 2. For example, a version management screen for each tabular file (FIGS. 14 and 15) can be displayed from the tabular file list screen 300 of FIG. 13. Specifically, the user of the terminal device 2 may operate an input device such as a mouse to right-click on a tabular file on the tabular file list screen 300 to display a screen prompting the user to proceed to the version management screen, and then the version management screen for each tabular file (FIGS. 14, 15, etc.) may be displayed.
[0097] 14 is a diagram showing an example of a version management screen 100. The version management screen 100 has a version list display area 101, a process selection display 102, an OK button 103, and a cancel button 104.
[0098] The version list display area 101 displays a list of versions managed by one master identifier. The process selection display 102 is a display for allowing the user to select the process to be performed on the version selected by the user's operation. The OK button 103 is a button for confirming the selected process, and the Cancel button 104 is a button that is operated to cancel the selected process or to return to the original screen from the version management screen 100.
[0099] The example of version list display area 101 in Figure 14 shows the version of data associated with the master identifier value "111001" in master table 71 in Figure 3 and lower version table 72 in Figure 4. When searching for the master identifier value "111001" in master table 71 in Figure 3 and lower version table 72 in Figure 4, records of version 5 and versions 1 to 4 are extracted. The property identifiers of these records are P11005 and P11001 to P11004, respectively, and version list display area 101 shows the values extracted from property table 73 using these property identifiers.
[0100] 14 refers to and displays the property identifiers P11001 to P11005 of the property table 73. The version list display area 101 displays the latest version column of the master table 71 and the version column of the lower version table 72, and can also display the title, registrant, registration date, and comments of the corresponding record in the property table 73. In this way, in this embodiment, a list of the latest and previous versions of tabular files can be displayed, allowing the user to check the version history at a glance.
[0101] The process selection display 102 is a display for selecting the process to be performed on the selected version. On the screen of FIG. 14, for example, the display may be made by clicking the "..." portion of the corresponding version with an input device such as a mouse. As shown in this figure, the process selection display 102 may display a display for selecting the process of viewing, deleting, creating a copy, downloading, and changing a comment. The processes shown here are merely examples, and may include any of them, or none of them.
[0102] Fig. 15 is a screen diagram showing another example of the version management screen 100. The version management screen 100 in Fig. 15 has a version list display area 106, and one of the differences from the version list display area 101 in Fig. 14 is that it has a layout preview field. The server device 1 can create and display, in the layout preview field, a preview image 107 that indicates the placement position of each perspective object from the layout file linked to each tabular file.
[0103] In this way, the server device 1 can output a version list screen that displays a list of saved versions along with a preview image 107 of the layout of each version. This allows the user to grasp an overview of each layout of a version at a glance, allowing the user to easily select the version they want to use. The display of the version list display area 106 is the same as that described in FIG. 14, so a duplicated description will be omitted. The process selection display 102 is also the same as that described in FIG. 14, so a duplicated description will be omitted.
[0104] 16 is a flowchart of the processing for the selected version. As shown in this flowchart, the server device 1 first determines whether there has been a request for processing for the selected version (step S61). If there has been no request (step S61: NO), the processing of step S61 is repeated. If there has been a request (step S61: YES), the type of processing for the version is determined (step S62).
[0105] If the type of processing is reference (see step S62), the server device 1 reads out and displays the tabular file and layout file of the selected version (step S63). Specifically, the server device 1 acquires the file paths from the columns of the tabular file and layout file in the master table 71 or the lower version table 72 that correspond to the property identifier corresponding to the selected version, and reads out and displays the files stored in the file paths.
[0106] In this case, the screen displayed on the display unit 26 of the terminal device 2 may be, for example, a layout editing screen 200 as shown in FIG. 7. After the screen is displayed, the layout editing process described above with reference to FIG. 7 can be performed based on the operation of the user of the terminal device 2, and the process can be terminated based on the operation of the user. Note that the server device 1 may display a screen such as the layout editing screen 200 on the terminal device 2 but may not provide an editing function. In this way, the server device 1 can accept the specification of a version and read out tabular data and a layout corresponding to the specified version. This allows the layout corresponding to this version to be reused, thereby reducing the burden on the user of creating a new layout.
[0107] If the type of processing is deletion (step S62: deletion), the version deletion processing S70 is executed, and the processing ends. The version deletion processing S70 will be described in detail in the explanation of FIG. 17. If the type of processing is creation of a copy (step S62: creation of a copy), first, the destination storage location and file name of the copy destination are determined (step S64). The server device 1 can inquire of the user via the terminal device 2 and determine the destination storage location and file name based on the response. Next, the save processing S10 described using FIG. 8 is executed. Here, in the save processing S10, the type of save (step S12) can be executed as "save as new file". When the save processing S10 ends, the processing ends.
[0108] If the type of processing is download (step S62: download), the selected version of the tabular file is sent to the terminal device 2, and the processing ends. If the type of processing is comment change (step S62: change comment), the contents of the comment column in the property table 73 are displayed on the terminal device 2 so that they can be edited, and when an edit and confirmation operation by the user is accepted, the contents of the comment column in the property table 73 are updated and saved (step S67). For example, a text box may be configured to display the contents saved in the comment column in the property table 73 as the contents before editing, and when a save instruction is accepted after editing by the user of the terminal device 2, the comment column in the property table 73 is saved with the edited contents.
[0109] 17 is a flowchart showing an example of the version deletion process S70. As shown in this figure, in the version deletion process S70, it is first determined whether the latest version is to be deleted among versions having the same master identifier (step S71). If the latest version is to be deleted (step S71: YES), each file of the latest version is deleted (step S72).
[0110] In other words, the latest version of the tabular file, the layout file (if any) linked to the tabular file, and the semi-structured file (if any) linked to the tabular file are deleted. These files can be deleted by specifying the file paths of the tabular file column, layout file column, and semi-structured file column in master table 71.
[0111] Next, the record in property table 73 that corresponds to the property identifier of the corresponding record in master table 71 is deleted (step S73, for example, FIG. 18 (S202, property table 73, property identifier P110005 deleted)). Also, for the version one level lower than the latest, they are copied from lower version table 72 and pasted into the corresponding columns in master table 71, the semi-structured file column is left blank, and the semi-structured state is set to not implemented and saved (step S74).
[0112] In other words, the contents of the version, tabular file, property identifier, and layout file columns, which are the contents of the version one level lower than the latest, are pasted into the corresponding master identifier column in master table 71 (for example, Figure 18 (S202, master table 71). Also, the semi-structured file column of the record with the corresponding master identifier in master table 71 is left blank, and the semi-structured state column is set to unimplemented and saved. Finally, the corresponding record in the lower version table 72 that was the source of the copy in step S74 is deleted (step S75), and the processing ends.
[0113] If the latest version is not to be deleted (step S71: NO), the file of the specified version is deleted (step S76). The file of the specified version can be deleted by specifying the file paths in the tabular file column and the layout file column of the lower version table 72. Next, the record in the property table 73 that corresponds to the property identifier of the corresponding record in the lower version table 72 is deleted (step S77). Finally, the corresponding record in the lower version table 72 is deleted (step S78), and the process ends.
[0114] 18 is an explanatory diagram showing changes made to the management database 7 during processing. The changes made to the master table 71, lower version table 72, and property table 73 during the deletion of the latest version in the above-mentioned version deletion process S70 (step S71: YES) will be described with reference to FIG.
[0115] First, at the start of the version deletion process S70, for the master identifier 111001 of the management database 7, as shown in S201 of Fig. 18, the latest version column of the record in the master table 71 is 5, and the lower version table 72 contains records of versions 1 to 4. Also, the property table 73 stores records (property identifiers P110005 and P110001 to P110004) corresponding to the latest version 5 and versions 1 to 4, respectively.
[0116] In the process of deleting the latest version, in the management database 7, the server device 1 deletes the record in the property table 73 that corresponds to the property identifier of the corresponding record in the master table 71 (FIG. 17, step S73). As a result, the record corresponding to the latest version is deleted from the property table 73 (FIG. 18, S202, property table 73, property identifier P110005 deleted).
[0117] Next, the contents of the version one level lower than the latest are copied from the lower version table 72 and pasted into the corresponding columns of the master table 71, the semi-structured file columns are left blank, the semi-structured state is set as not implemented, and the record is saved (Figure 17, step S74).Then, the record of the version one level lower (version 4) is copied to the master table 71 and becomes the latest version (Figure 18, S202, master table 71).
[0118] Furthermore, when the copy source record in lower version table 72 is deleted (FIG. 17, step S75), versions 1 to 3 remain in lower version table 72 (FIG. 18, S202, lower version table 72).
[0119] In the above embodiment, the program 1P and the tabular linked data 6 are stored in the storage unit 14 of the server device 1, and the control unit 11 of the server device 1 executes the processing of the program 1P. However, for example, the program 1P and the tabular linked data 6 may be stored in the storage unit 24 of the terminal device 2, and the control unit 21 of the terminal device 2 may execute the processing of the program 1P standalone without using the network 3. Furthermore, the terminal device 2 and the server device 1 may operate in cooperation with each other by executing part of the program 1P on the terminal device 2 and executing other parts of the program 1P on the server device 1.
[0120] As described above, the program 1P, the information processing method related to the program 1P, and the information processing device (server device) 1 according to the embodiment of the present disclosure can improve convenience by managing tabular data and a layout that defines the relationships between the elements of the tabular data. Furthermore, convenience can be improved when tabular data is converted into more versatile semi-structured data for use.
[0121] Furthermore, according to the program 1P, the information processing method related to the program 1P, and the information processing device (server device) 1 of the presently disclosed embodiment, even when semi-structured data is output in tabular data whose data format has been changed, the tabular data and layout are saved in a new version, so even if the layout before the change is changed, the tabular data and layout before the change can be saved, and the tabular data or layout before the change can be used.
[0122] The program of Program 1P can be referred to as a program product, software, or software product, and these may be provided on a recording medium or in the form of distribution via a communication network.
[0123] The embodiments of the present disclosure are illustrative in all respects and are not restrictive. The scope of the present invention is not defined by the above disclosure but is defined by the claims, and it is intended to include all modifications within the meaning and scope of the claims.
[0124] Furthermore, the sequences shown in the above-described embodiments are not limited, and the order of each process may be changed within a range consistent with the present invention, and multiple processes may be executed in parallel. The entity that performs each process is not limited, and the process of each device may be executed by another device within a range consistent with the present invention.
[0125] The matters described in each embodiment can be combined with each other. Furthermore, the independent claims and dependent claims described in the claims can be combined with each other in any and all combinations, regardless of the reference format. Furthermore, the claims do not use a multi-claim format in which a multiple claim, which is a claim that references two or more claims, further references a multiple claim (multi-multi claim), but may be combined in the form of a multi-multi claim that references all of the higher-level claims. [Explanation of symbols]
[0126] 1. Information processing device (server device) 11 Control section 12 Communications Department 13 Reading unit 14 Storage section 15 Portable storage media 19 Bus 1P Program (Program Product) 2. Information processing terminal (terminal device) 21 Control section 22 Communications Department 23 Reading unit 24 Memory section 25 Portable storage media 26 Display section 27 Input section 29 Bus 3 Network 6. Tabular linked data 62 Tabular file storage section 63 Layout file storage section 64 Semi-structured File Storage 7 Management Database 71 Master Table 72 Lower Version Table 73 Property Table 91 Cell Parser 92 Heading Connector 93 Order Connector 95 Table Parser 951 Whole table 952 Table Data Section 100 Version Management Screen 101 Version list display area 102 Processing selection display 103 OK button 104 Cancel button 200 Layout editing screen 210 Operation button area 211 Save button 212 Undo button 213 Redo button 214 Key-Value Buttons 215 Multiple cell button 216 Table button 217 Order button 220 Layout Editing Area 300 Table format file list screen 301 Filename Area 302 File Update Date and Time Field 303 Semi-structured state domain
Claims
1. storing the tabular data with the assigned version and a layout that defines the relationships between the elements of the tabular data; When an update of the tabular data is received, the updated tabular data and the layout are stored in association with a new version. A program that causes a computer to perform a process.
2. outputting semi-structured data based on the updated tabular data and the layout; The output semi-structured data is stored in association with the new version. The program according to claim 1.
3. When the semi-structured data is output, a message indicating that the semi-structured data has been output is stored in association with the new version. The program according to claim 2.
4. The semi-structured file storing the semi-structured data associated with the tabular data before the update is deleted. The program according to claim 2 or 3.
5. Accept the specification of the version, Read the tabular data and the layout corresponding to the specified version. The program according to claim 1.
6. The file name of the tabular data, the date and time of registration, the name of the person who registered, and comments are stored in association with the new version. The program according to claim 1.
7. Output a version list screen that displays a list of saved versions along with a preview image of the layout for each version. The program according to claim 1.
8. storing the tabular data with the assigned version and a layout that defines the relationships between the elements of the tabular data; When an update of the tabular data is received, the updated tabular data and the layout are stored in association with a new version. Information processing methods.
9. A control unit is provided, the control unit storing the tabular data with the assigned version and a layout that defines the relationships between the elements of the tabular data; When an update of the tabular data is received, the updated tabular data and the layout are stored in association with a new version. Information processing device.
Citation Information
Patent Citations
Table-XML conversion device and method, and program for making computer implement the method
JP2005339019A
Document management device, document management method, and document management program
JP2009064243A
Assessment program, assessment device, and assessment method
WO2017199309A1
Specification input / output device, specification input / output system, and specification input / output method
JP2017146923A