WO2024048866A1 - 목적 데이터 시각화 방법 및 시스템 - Google Patents

목적 데이터 시각화 방법 및 시스템 Download PDF

Info

Publication number
WO2024048866A1
WO2024048866A1 PCT/KR2022/020925 KR2022020925W WO2024048866A1 WO 2024048866 A1 WO2024048866 A1 WO 2024048866A1 KR 2022020925 W KR2022020925 W KR 2022020925W WO 2024048866 A1 WO2024048866 A1 WO 2024048866A1
Authority
WO
WIPO (PCT)
Prior art keywords
field
target
data
information
scanning
Prior art date
Application number
PCT/KR2022/020925
Other languages
English (en)
French (fr)
Inventor
김옥수
Original Assignee
주식회사 아미크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아미크 filed Critical 주식회사 아미크
Publication of WO2024048866A1 publication Critical patent/WO2024048866A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • G06F16/287Visualization; Browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models

Definitions

  • the explanation below relates to a method and system for visualizing target data, and relates to a method and system for selecting and visualizing data used within an organization, such as ERP data, according to data scanning.
  • ERP Enterprise Resource Planning
  • M&A mergers and acquisitions
  • data cleansing it is necessary to visualize related data in order to accurately select and separate data requiring transfer.
  • data cleansing it is necessary to visualize related data in order to accurately select data to be cleansed, that is, deleted.
  • One embodiment may scan one or more tables in a database and visualize information about at least one of the tables as target data based on the results of the scanning.
  • target data including missing values and information about the fields of the target table that satisfies the selection conditions can be visualized. .
  • information indicating whether the purpose field is a target for cleansing may be visualized.
  • a method for visualizing target data performed by a computer system including at least one processor, comprising: scanning one or more tables in a database and, based on a result of the scanning, selecting one of the tables as target data.
  • a method for visualizing target data is provided, including visualizing information about at least one target table.
  • the structure, size, and number of entries of each of the tables are scanned, and the information about the target table to be visualized includes field information of the target table and information for visualizing the structure of the target table. can do.
  • the scanning step includes scanning the structure of each of the tables and the data of each table, identifying fields of each table, and identifying missing values of the identified fields, and visualizing the target table.
  • the information may include information about at least one target field of the target table and information about missing values of the target field.
  • the scanning step may include grouping the tables into objects, which are minimum processing units, based on dependencies between the tables.
  • the target data visualization method further includes receiving a selection condition for selecting the target data, the selection condition includes at least one field condition of the tables, and the scanning step includes the step of receiving a selection condition for selecting the target data.
  • the step of scanning and visualizing the structure of each of the tables and the data of each table includes, based on the results of the scanning, the target table including a target field that satisfies the field condition and the target. It may include identifying the target field of a table and visualizing the table name of the target table, the field name of the target field, and information about missing values of the target field as the target data.
  • the field condition may represent at least one of an organization field, a period field, and a creator field.
  • the field condition may indicate a specific field name or field value.
  • the information about the missing value may include a first value representing the total number of entries in the target field and a second value representing the number of entries filled with the value of the target field; and at least one of a ratio of the second value to the first value.
  • information indicating whether the target field is a cleansing target may be further visualized as the target data.
  • Information indicating whether the target field is a target for cleansing includes: the number of entries that are subject to cleansing among entries in the target field; a ratio of entries subject to cleansing to entries in the destination field; And it may include at least one of text indicating a determination result as to whether the target field is a cleansing target.
  • the visualizing step may include identifying a subfield of the target field and further visualizing the field name of the subfield and information about missing values of the subfield as the target data.
  • the visualization step distinguishes the field name of the target field corresponding to the upper field of the lower field and the information about the missing value of the target field from the field name of the lower field and the information about the missing value of the lower field. It may include the step of displaying in an area.
  • the step of visualizing may include recommending a purpose field with the lowest missing value among the plurality of target fields, or displaying the target field with the lowest missing value at the top. You can.
  • the scanning step includes receiving a selection condition for selecting the target data.
  • the step of scanning and visualizing the structure of each of the tables and the data of each table includes, based on the results of the scanning, a field corresponding to a combination of fields satisfying the field conditions in the target table. number of entries for each combination of values; and at least one of the ratio of the number of entries of each combination of field values to the total number of entries of the combination of fields can be visualized as the target data.
  • information indicating whether each combination of field values is a target for cleansing may be further visualized as the target data.
  • the target data visualization method further includes providing performance information related to visualization of the target data, wherein the performance information is information indicating expected processing performance when the tables are processed in parallel for visualization of the target data. may include.
  • a computer system in another aspect, includes at least one processor implemented to execute instructions readable by the computer system, wherein the at least one processor scans one or more tables in a database, and performs the scanning.
  • a computer system is provided that, based on the results, visualizes information about at least one of the tables as target data.
  • the structure of one or more tables in the database and the data of each table can be scanned, and the target data selected according to the selection conditions can be visualized. Therefore, it is possible to easily select data that is subject to data transfer for M&A, etc.
  • missing values in the identified fields can be identified and visualized, and used to select the optimal field.
  • FIG. 1 is a diagram illustrating an example of a network environment according to an embodiment.
  • Figure 2 is a block diagram illustrating an example of a computer system, according to one embodiment.
  • Figure 3 is a flowchart showing a method for visualizing target data, according to an embodiment.
  • Figure 4 is a flowchart showing a method of visualizing target data according to selection conditions for selecting target data, according to an embodiment.
  • Figure 5 is a flowchart showing a method of visualizing target data according to relationships between fields, according to an example.
  • FIG. 6 illustrates a method of visualizing table(s) based on results from scanning the structure of the tables, according to an example.
  • Figure 7 shows a method of visualizing information about fields of a target table and information about missing values based on the structure of tables and the results of scanning data of each table, according to an example.
  • Figure 8 shows a method of visualizing information indicating whether each field is subject to cleansing, along with information about fields and missing values of a target table, according to an example.
  • Figure 9 shows a method of visualizing information about field names and missing values of upper and lower fields in separate areas, according to an example.
  • Figure 10 shows a method of visualizing target data when the selection condition for selecting target data is a complex condition representing a combination of fields, according to an example.
  • Figure 11 shows a method of simulating and displaying a task to be processed, according to an example.
  • Figure 12 shows a screen for performing visualization of target data, according to an example.
  • first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.
  • a first component may be named a second component without departing from the scope of rights, and similarly, the second component may also be named a first component.
  • the term and/or includes any of a plurality of related stated items or a combination of a plurality of related stated items.
  • the system for visualizing target data according to embodiments may be implemented by at least one computer system, and the method for visualizing target data according to embodiments may be implemented by at least one computer system included in the system for visualizing target data. It can be performed through .
  • a computer program according to an embodiment may be installed and driven in the computer system, and the computer system may perform a target data visualization method according to the embodiments under control of the driven computer program.
  • the above-described computer program can be combined with a computer system and stored in a computer-readable recording medium to execute the target data visualization method on the computer system.
  • FIG. 1 is a diagram illustrating an example of a network environment according to an embodiment.
  • the network environment in FIG. 1 shows an example including a plurality of electronic devices 110, 120, 130, and 140, a plurality of servers 150 and 160, and a network 170.
  • Figure 1 is an example for explaining the invention, and the number of electronic devices or servers is not limited as in Figure 1.
  • the network environment in FIG. 1 only explains one example of environments applicable to the present embodiments, and the environment applicable to the present embodiments is not limited to the network environment in FIG. 1.
  • the plurality of electronic devices 110, 120, 130, and 140 may be fixed terminals or mobile terminals implemented with a computer system.
  • Examples of the plurality of electronic devices 110, 120, 130, and 140 include smart phones, mobile phones, navigation devices, computers, laptops, digital broadcasting terminals, PDAs (Personal Digital Assistants), and PMPs (Portable Multimedia Players). ), tablet PCs, PCs, laptops, notebooks, etc.
  • the shape of a smartphone is shown as an example of the electronic device 110, but in embodiments, the electronic device 110 actually communicates with other electronic devices through the network 170 using a wireless or wired communication method. It may refer to one of a variety of physical computer systems capable of communicating with (120, 130, 140) and/or servers (150, 160).
  • the communication method is not limited, and may include not only a communication method utilizing a communication network that the network 170 may include (for example, a mobile communication network, wired Internet, wireless Internet, and a broadcast network), but also short-range wireless communication between devices.
  • the network 170 may include a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), and a broadband network (BBN).
  • PAN personal area network
  • LAN local area network
  • CAN campus area network
  • MAN metropolitan area network
  • WAN wide area network
  • BBN broadband network
  • the network 170 may include any one or more of network topologies including a bus network, star network, ring network, mesh network, star-bus network, tree or hierarchical network, etc. Not limited.
  • Each of the servers 150 and 160 is a computer system or a plurality of computers that communicate with a plurality of electronic devices 110, 120, 130, 140 and a network 170 to provide commands, codes, files, content, services, etc. It can be implemented as systems.
  • the server 150 provides services (e.g., archiving service, file distribution service, map service, content provision service) to a plurality of electronic devices 110, 120, 130, and 140 connected through the network 170. , group call service (or voice conference service), messaging service, mail service, social network service, map service, translation service, financial service, payment service, search service, etc.).
  • FIG. 2 is a block diagram illustrating an example of a computer system according to one embodiment.
  • Each of the plurality of electronic devices 110, 120, 130, and 140 described above or each of the servers 150 and 160 may be implemented by the computer system 200 shown in FIG. 2.
  • this computer system 200 may include a memory 210, a processor 220, a communication interface 230, and an input/output interface 240.
  • the memory 210 is a computer-readable recording medium and may include a non-permanent mass storage device such as random access memory (RAM), read only memory (ROM), and a disk drive.
  • RAM random access memory
  • ROM read only memory
  • disk drive non-perishable large-capacity recording devices such as ROM and disk drives may be included in the computer system 200 as a separate permanent storage device that is distinct from the memory 210.
  • an operating system and at least one program code may be stored in the memory 210. These software components may be loaded into the memory 210 from a computer-readable recording medium separate from the memory 210.
  • Such separate computer-readable recording media may include computer-readable recording media such as floppy drives, disks, tapes, DVD/CD-ROM drives, and memory cards.
  • software components may be loaded into the memory 210 through the communication interface 230 rather than a computer-readable recording medium.
  • software components may be loaded into memory 210 of computer system 200 based on computer programs being installed by files received over network 170.
  • the processor 220 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations. Commands may be provided to the processor 220 by the memory 210 or the communication interface 230. For example, processor 220 may be configured to execute received instructions according to program code stored in a recording device such as memory 210.
  • the communication interface 230 may provide a function for the computer system 200 to communicate with other devices (eg, the storage devices described above) through the network 170. For example, requests, commands, data, files, etc. generated by the processor 220 of the computer system 200 according to the program code stored in a recording device such as memory 210 are transmitted to the network ( 170) and can be transmitted to other devices. Conversely, signals, commands, data, files, etc. from other devices may be received by the computer system 200 through the communication interface 230 of the computer system 200 via the network 170. Signals, commands, data, etc. received through the communication interface 230 may be transmitted to the processor 220 or memory 210, and files, etc. may be stored in a storage medium (as described above) that the computer system 200 may further include. It can be stored as a permanent storage device).
  • a storage medium as described above
  • the input/output interface 240 may be a means for interfacing with the input/output device 250.
  • input devices may include devices such as a microphone, keyboard, or mouse, and output devices may include devices such as displays and speakers.
  • the input/output interface 240 may be a means for interfacing with a device that integrates input and output functions, such as a touch screen.
  • the input/output device 250 may be configured as a single device with the computer system 200.
  • computer system 200 may include fewer or more components than those of FIG. 2 . However, there is no need to clearly show most prior art components.
  • the computer system 200 may be implemented to include at least some of the input/output devices 250 described above, or may further include other components such as a transceiver, a database, etc.
  • the computer system 200 is an electronic device that performs a target data visualization method to be described later, and may be, for example, a terminal used by an administrator who manages data. Alternatively, the computer system 200 may be a server that communicates with a terminal used by such an administrator. For example, a screen showing the results of target data visualization, which will be described later with reference to FIGS. 6 to 11, may be displayed through the terminal used by the administrator.
  • Figure 3 is a flowchart showing a method for visualizing target data, according to an embodiment.
  • the data visualization method for the purpose of the embodiment may be performed by the computer system 200 previously described with reference to FIG. 2 .
  • the processor 220 of the computer system 200 may be implemented to execute control instructions according to the code of an operating system included in the memory 210 or the code of at least one computer program.
  • the processor 220 causes the computer system 200 to perform steps 310 to 330 included in the method of FIG. 3 according to control instructions provided by code stored in the computer system 200. can be controlled.
  • data is data used and managed within an organization such as a company, company, etc., and may be data related to the operation of the organization.
  • the data may include, for example, Enterprise Resource Planning (ERP) data.
  • ERP Enterprise Resource Planning
  • Data can be stored and managed within a database managed by the organization, and can be searched according to the administrator's request or need.
  • a database may be held, maintained, and managed by an organization.
  • Data may include multiple tables.
  • data used and managed within the organization of the embodiment may have a data structure in the form of a table.
  • Each table can contain at least one field.
  • a field can have at least one record or entry.
  • a field may be information to identify the type of each field value included in a data record in a table.
  • computer system 200 may scan one or more tables within the database.
  • a database may store data used and managed within the aforementioned organization, and the tables may be included in this data.
  • the computer system 200 may visualize information about at least one of the target tables as target data, based on the results of the scanning in step 310.
  • the target data is selected from data stored in the database and may include a selected table (or object) and/or a field of the selected table (or a field of a table included in the object).
  • the target table may correspond to these selected tables.
  • Visualization of target data may mean visually displaying information related to the target data on a terminal.
  • the terminal on which this information is displayed may be the computer system 200 or a terminal of an administrator that communicates with the computer system 200.
  • computer system 200 may scan the structure of the tables.
  • computer system 200 can scan the structure, size, and number of entries of each of the tables.
  • the scanning in step 312 can be distinguished from analyzing (scanning) the fields of each table or analyzing (scanning) the data of each field.
  • the computer system 200 may include information about the target table, including field information of the target table, and information for visualizing the structure of the target table.
  • Figure 6 illustrates a method of visualizing table(s) based on results from scanning the structure of the tables, according to one example.
  • the computer system 200 can visualize the structure of the target table (AUFK).
  • the target table name to be visualized can be input through the input window 610, and accordingly, the computer system 200 can scan the structure of the table corresponding to the input table name.
  • the computer system 200 may visualize the structure of the target table (AUFK) based on the scanning results.
  • Information to be visualized may include field information 620.
  • Field information 620 may include a list of fields included in the target table (AUFK). Additionally, the field information 620 may further include information about the data element of each field, information about the data type of each field, the length of each field, and a description of each field.
  • Computer system 200 may identify characteristic fields (organization field, period field, name/creator field, etc.) among each field.
  • Characteristic fields can be identified using information such as domain, field description, and field length.
  • the period field can be identified by the 8-digit DATE type (YYYYMMDD)
  • the organization field can be identified by the Company Code description and 4-digit Character type
  • the creator field can be identified by the Entered by description and 12-digit Character type.
  • the computer system 200 can visualize a list of all tables included in the data.
  • the visualized information 650 may include the size of each table, the index size of each table, the total size, the number of entries, etc.
  • the example shown in FIG. 6B may be an example of visualization of target data when the user of the computer system 200 does not designate a specific table, that is, does not enter a specific target table name.
  • computer system 200 may scan the data in each table. That is, the computer system 200 can scan the data of each table along with the respective structures of the tables. At this time, the computer system 200 can identify the fields of each table (315). For example, computer system 200 can identify which fields each table includes and can identify data items (i.e., records or entries) of each field. Computer system 200 may identify missing values for each field (316). In other words, the computer system 200 can determine whether a missing value exists by determining whether a value exists in the data item of each field, and thus calculate the missing value for each field.
  • computer system 200 may visualize information about the target table, including information about at least one target field of the target table and information about missing values in the target field. You can.
  • the target table and target field may be tables and fields selected according to selection conditions that will be described later.
  • Information about a destination field may indicate the total number of data events in that field (i.e., number of data items, number of entries, or number of records).
  • Information about missing values may include information to identify how much missingness exists in the corresponding field. For example, information about missing values may indicate the ratio (%) of the number of data cases for which a value exists to the total number of data cases.
  • a method of visualizing target data, including information about missing values, is explained in more detail with reference to FIGS. 4 and 7 to 11.
  • the computer system 200 may group tables (i.e., tables subject to scanning) into objects based on dependencies between the tables. These objects may correspond to the smallest unit of processing processing.
  • the computer system 200 can determine the relationship between tables through the above-described scanning processes 312 to 316, and group the tables into objects based on dependencies determined according to the relationships between the tables.
  • An object defined in this way may include at least one table, and tables included in the object may have a relationship.
  • the computer system 200 may group data included in the database into objects, which are the minimum processing units, based on dependencies between tables in the database.
  • the computer device 200 may group tables with dependencies within a database into one object, and multiple objects may be defined depending on the database.
  • Dependency between tables can mean that two tables each contain data identified through the same key value. At this time, data identified through the same key value in tables having dependencies may include at least one different field.
  • Grouping of these tables into objects may be performed as a pre-stage for selecting and visualizing data according to selection conditions to be described later. Accordingly, visualization of target data may be performed based on the results of scanning tables grouped into these objects.
  • target data corresponding to selection conditions to be described later can be selected.
  • the computer system 200 searches for the key value of the highest header table among the tables within the object according to the selection condition, sequentially extracts data corresponding to the searched key value according to dependencies between tables within the object, and provides target data.
  • the object can be used for various purposes such as selective archiving, backup, cleansing, transmission, conversion, de-identification and encryption of data, and is subject to selection of target data according to the selection conditions according to these purposes of use. You can.
  • computer system 200 may provide performance information associated with visualization of the target data.
  • the computer system 200 may display such performance information on the screen of the terminal.
  • Performance information may include information indicating expected processing performance when tables are processed in parallel for visualization of target data.
  • the computer system 200 can simulate the selection speed when parallel and distributed processing is performed on the largest table among the tables stored in the database. For the task to be processed, the computer system 200 determines, for example, the maximum possible number of parallel processing, the optimal number of parallel processing (i.e., the number of parallel processing that results in the fastest processing time), and the completion time of the task according to the number of parallel processing. etc. can be simulated. For example, the computer system 200 may simulate and display the results by comparing the case of parallel processing and single processing of the task to be processed.
  • Tasks to be processed may include deletion (cleansing) or migration of data.
  • This operation is a selection operation of data for deletion or migration and may include the aforementioned scanning and visualization operations.
  • the computer system 200 simulates that the performance (processing speed) is best when parallel processing with n processes for the task of deleting or migrating selected data (e.g., the largest table or object). You can make a decision and display the results on the screen.
  • the manager can determine the optimal number of processes for the task to be performed, and thus can efficiently execute the task through the computer system 200.
  • Figure 11 shows a method of simulating and displaying a task to be processed, according to an example.
  • the computer system 200 can simulate tasks to be processed on data as shown in the example and display the results on the screen.
  • the computer system 200 can simulate the parallel processing speed of the task(s) and display it on the screen.
  • first portion 1110 may represent the number of parallel processes for data scanning.
  • the first portion 1110 may include a list of tasks to be simulated.
  • the second part 1120 may represent a table (object in the illustrated example) corresponding to each task.
  • the third part 1130 is a Read Count and may indicate the number of data items in the corresponding table (object) during data scanning.
  • the fourth part 1140 may indicate the number of data hits of the corresponding table (object) according to the conditions of each task.
  • the fifth part 1150 may indicate processing time for each task. That is, the fifth part 1150 may represent the processing time of the table (object) in the corresponding task.
  • the computer system 200 can calculate the maximum number of parallel processing (number of processes) and the optimal number of parallel processing for performing all of the tasks displayed in the first part 1110, and display them on the screen.
  • the computer system 200 may calculate the total processing time as the sum of the processing times based on the processing time in the fifth portion 1150.
  • parallel processing time can be calculated as total processing time / number of parallel processing.
  • the maximum number of parallel processing can be calculated based on the processing time of the table (object) with the maximum processing time. For example, if the processing time of the table (object) with the maximum processing time is 3,000 seconds and the overall processing time is 42,000 seconds, the maximum number of parallel processing may be determined to be 14, which is 42,000 / 3000.
  • the optimal number of parallel processing can be calculated according to the ratio of processor (CPU) resources occupied by one process to processor resources of the entire system. Additionally, the optimal number of parallel processing can be calculated based on a preset appropriate system resource utilization (threshold of utilization). For example, if the processor (CPU) resource utilization per process is 5% and the preset threshold for appropriate system resource utilization is 50%, the optimal number of parallel processing may be determined to be 10, which is 50%/5%.
  • the performance of tasks to be processed can be simulated in advance, thereby maximizing the efficiency of performing tasks.
  • the computer system 200 may first identify information in the database. For example, the computer system 200 can identify the type of database to determine the basic DBMS type for creating a query for data selection, and the computer system 200 can also determine the size of the database. The size of the database can be determined to compare the results after processing the desired task (i.e., simulation (visualization of the targeted data processing)) with the overall size of the database. Additionally, the computer system 200 can determine the database operation period to determine the trend of data increase or decrease. Identification of information in these databases can be helpful in generating the aforementioned visualization (simulation) results.
  • Figure 4 is a flowchart showing a method of visualizing target data according to selection conditions for selecting target data, according to an embodiment.
  • the computer system 200 may receive selection conditions for selecting target data from data stored in the database. Selection conditions may be entered by a user of computer system 200.
  • the selection condition may include at least one field condition of the tables.
  • a field condition may represent a characteristic field.
  • the characteristic field may include at least one of an organization field, a period field, and other characteristic fields.
  • Other characteristic fields may be, for example, generator fields.
  • the computer system 200 may include at least one characteristic field, including (1) a period field whose field value is a range of a specific time or period related to the data, and (2) a business unit, corporation code, plant, sales organization, and department. Containing at least one of the following fields: an organization field with a field value for at least one of the fields; and (3) other characteristic fields with a field value for at least one of region, country code, language, user, document type, customer group, and creator.
  • Field conditions can be set as selection conditions.
  • the period field may include, for example, the creation date, change date, fiscal year, document date, production release date, etc. of table data.
  • a field condition may indicate a specific field name or field value.
  • field conditions include a specific field name representing a business unit or plant (e.g., a field name WERKS representing a plant, a field name LGORT representing a storage location, etc.), a field value representing a specific division or plant (e.g. a code such as C100, P100, etc.) ) may include.
  • the computer system 200 may receive a table name or object name input from the user, or the selection condition may include such a table name or object name. Accordingly, data according to the corresponding table name or object name may be the target for selecting target data.
  • the selection condition may include an organization field as a field condition.
  • the selection condition may include a period field as a field condition.
  • selection conditions are not limited to field conditions and may vary depending on the purpose of data selection, for example.
  • selection conditions may include document number, organization code value, creation period range, creator group, etc.
  • the selected and visualized target data can be used for changes in organizational structure or separation of systems due to business sale.
  • the selected and visualized target data can be used for archiving of past historical data and migration of period data.
  • the selected and visualized target data can be used for backing up, deleting, or migrating specific data.
  • the selection condition is not limited to a characteristic field such as an organization field, and may include a specific value such as the value of a specific field (eg, a specific company code C100).
  • the computer system 200 may scan the structure of each of the tables and the data of each table, based on the received selection conditions. Alternatively, the computer system 200 may scan objects and tables included in the objects based on the received selection conditions. In other words, the scanning in step 310' may be performed after the scanning in step 310 described above.
  • the computer system 200 in step 420, includes a target field that satisfies the field condition based on the result of the scanning in step 310'. You can identify the purpose table and the purpose fields of the target table.
  • computer system 200 may visualize the table name of the identified target table, the field name of the identified target field, and information about missing values in the target field.
  • the computer system 200 may provide information on these plurality of purpose fields, such as the field name of each purpose field and the missing value of each purpose field. Information can be visualized.
  • the computer system 200 may recommend the target field with the lowest missing value among the plurality of target fields, or may distinguish and display the target field with the lowest missing value. For example, the target field with the lowest missing values can be displayed at the top. A plurality of target fields may be displayed sorted in descending order of missing values.
  • FIG. 7 shows a method of visualizing information about fields of a target table and information about missing values based on the structure of tables and the results of scanning data of each table, according to an example.
  • the table name 710 may represent the table name of the target table selected according to the selection condition.
  • the field name 730 may represent the field name of each target field selected according to the selection conditions.
  • Domain name 730 may represent the domain of each target field.
  • the number of data cases 750 may represent the number of data cases (number of records or number of entries) of each target field.
  • the number of data cases 760 may represent the number of data cases (number of records or entries) that are not missing, that is, are not null.
  • the non-missing value ratio 770 may represent the ratio of the number of non-null data cases to the total number of data cases.
  • Information on missing values of target data visualized in the embodiment includes a first value 750 representing the total number of entries in the target field and a second value 760 representing the number of entries filled with the value of the target field; It may include at least one of the ratio 770 of the second value 760 to the first value 750.
  • the number of data cases 760 may be changed to the number of missing data cases, and in this case, the non-missing value ratio 770 may be changed to the missing value ratio.
  • the target fields can be sorted in order of high non-missing value rate 770, and the priority 720 can be output accordingly. Accordingly, the target field with the highest non-missing value rate 770 can be recommended to the user.
  • the field with the highest Not Null% may be selected and recommended. For example, if GSBER (Business Area) and WERKS (Plant) exist as similar organization fields, the Not Null% of GSBER is 74.74%, and the Not Null% of WERKS is 74.27%, so under the selection conditions, GSBER is May be selected and recommended.
  • GSBER Business Area
  • WERKS Plant
  • the example shown in FIG. 7 may show the visualization result of target data when an organization field is set as a field condition included in the selection condition.
  • the field name BUKRS can represent a company
  • GSBERS can represent a division or business area.
  • KOKRS may be a field name indicating a field higher than Company, which may or may not be displayed in the results as shown in FIG. 7 depending on the selection conditions. In the example of Figure 7, rows related to KOKRS are not displayed.
  • computer system 200 may further visualize information indicating whether the target field is subject to cleansing.
  • Information indicating whether the visualized target field is subject to cleansing includes: the number of entries (number of data cases) that are subject to cleansing among the entries (number of data cases) of the target field; Ratio of entries subject to cleansing to entries in the destination field; and text indicating a determination result as to whether the target field is a target for cleansing.
  • Information indicating whether this is a cleansing target can be visualized when 'cleansing target' is included in the selection conditions.
  • the computer system 200 may receive a standard cleansing target (e.g., a specific object or a specific table, etc.) as a selection condition, and accordingly, display information indicating whether the target field is a cleansing target on the screen. there is.
  • a standard cleansing target e.g., a specific object or a specific table, etc.
  • information 850 indicating whether the target field to be visualized is a target for cleansing is a target for cleansing
  • the number 820 (number of data) of entries to be cleansed among the entries in the target field (number of data) is shown.
  • Ratio of entries subject to cleansing to entries in the destination field (830) is shown.
  • ratio 830 may be expressed as a percentage.
  • the example shown in FIG. 8 may be an example of selecting and visualizing target data when separating data into organizations.
  • the selection conditions for selecting data may include field conditions of an organization field, and a cleansing target may be set for a field corresponding to a specific organization value.
  • a cleansing target may be set for a field corresponding to a specific organization value.
  • the number of data 820 may represent the number of data matching a specific value (cleansing condition), and the ratio 830 may represent the ratio of the number of matching data to the total number of data.
  • the text 840 may vary depending on the ratio 830. For example, if the ratio 830 is 100%, the text 840 may be determined as “total” (i.e., indicating that the entire data of the target field is subject to cleansing), and if the ratio 830 is 0% In this case, the text 840 may be determined to be "unable to determine” (i.e., indicating that it cannot be determined whether the data in the destination field is subject to cleansing), and if the ratio 830 is otherwise, the text 840 may be determined to be “unable to determine.” may be determined as "partial” (i.e., indicating that only a portion of the data in the target field is subject to cleansing).
  • the visualization of the target data as in the illustrated example, in the embodiment, it can be intuitively understood whether the target data is subject to cleansing and how much of the target data is subject to cleansing.
  • the computer system 200 may receive selection conditions including field conditions indicating a combination of a plurality of fields included in the target table. That is, the selection condition may include complex field conditions.
  • the computer system 200 may scan the structure of each table and the data of each table based on the selection condition including this complex field condition.
  • the computer system 200 determines the number of entries (number of data items) of each combination of field values corresponding to a combination of fields that satisfy a composite field condition in the target table, based on the results of scanning. ; And at least one of the ratio of the number of entries of each combination of field values to the total number of entries (number of data cases) of the combination of fields can be visualized.
  • the computer system 200 may further visualize information indicating whether each combination of field values is subject to cleansing.
  • Figure 10 shows a method of visualizing target data when the selection condition for selecting target data is a complex condition representing a combination of fields, according to an example.
  • the field names BUKRS and GSBERS corresponding to the organization field were combined as selection conditions and used as a field condition (i.e., a composite field condition).
  • the field name 1010 is BUKRS+GSBERS.
  • the number of entries (number of data cases) of each combination of field values corresponding to a combination of fields that satisfy the complex field condition may be displayed in the Count column.
  • the field value of BUKRS The number of data cases corresponding to the combination of 1200 and the GSBERS field value B110 may be 1,230,670.
  • the ratio of the number of entries for each combination of field values to the total number of entries (number of data items) for the combination of fields can be displayed in the Percent column.
  • the ratio of the number of data cases corresponding to the combination of the field value 1200 of BUKRS and the field value B110 of GSBERS to the total number of data cases of BUKRS+GSBERS may be 21.01%.
  • the number and ratio of data occupied by field value 1200 and field value B110 in the target table AUFK can be displayed.
  • information indicating whether the object is a cleansing target may be displayed for each combination of field values.
  • information indicating whether the object is a cleansing target may be displayed when a cleansing target is set as a selection condition.
  • These complex field conditions can be used as auxiliary conditions to more accurately select target data, considering that the field conditions of the selection condition may be too wide or too narrow.
  • Figure 5 is a flowchart showing a method of visualizing target data according to relationships between fields, according to an example.
  • computer system 200 may identify subfields of the above-described destination field in visualizing the destination data. For example, computer system 200 may identify subfields of the target field from the results of the scanning described above. The computer system 200 may identify subfields of the target field based on dependencies between tables included in the object and/or dependencies between fields identified based on information about each field described with reference to FIG. 6. . Dependencies between fields may be predefined.
  • the computer system 200 may further visualize the field name of the subfield and information about missing values of the subfield as target data.
  • the computer system 200 stores information about the field name of the target field and the missing value of the target field corresponding to the upper field in an area separated from the field name of the lower field and information about the missing value of the lower field. It can be displayed in . If a subfield also exists, information about the field name and missing values of the subfield may also be displayed in a similarly divided area. Redundant explanations regarding this will be omitted.
  • Figure 9 shows a method of visualizing information about field names and missing values of upper and lower fields in separate areas, according to an example.
  • FIG. 9 shows visualization of the selected target data when the selection condition includes “organization field” as a field condition.
  • the first area 920 may visualize target data corresponding to the upper field
  • the second area 930 may visualize target data corresponding to the lower field of the upper field.
  • the field name corresponding to the upper field and information on missing values may be displayed. Additionally, depending on the selection conditions, additional information indicating whether the device is subject to cleansing may be displayed.
  • the field name corresponding to the lower field and information on missing values may be displayed. Additionally, depending on the selection conditions, additional information indicating whether the device is subject to cleansing may be displayed.
  • the third area 930 may be an area that visualizes information corresponding to the recommendation field.
  • the third area 930 may include the field name of the recommended field 912, the number of non-missing values 914 of the recommended field, and the non-missing value ratio 916 of the recommended field.
  • the recommended field can be determined from the parent field and child field in the same row. For example, a recommended field may be determined to have a high ratio of non-missing values and/or a high ratio of data subject to cleansing among the parent and child fields in the same row, and if these numbers are the same, the parent field will be the recommended field. You can.
  • a field with the field name WERKS plant
  • a field with the field name LGORT storage location
  • WERKS plant
  • LGORT storage location
  • LGORT indicates the location of the warehouse within WERKS and can be a subfield of WERKS.
  • LGORT and WERKS were found to have the same ratio of non-missing values and data subject to cleansing.
  • the recommended field displayed in the third area 930 may be WERKS, the upper field.
  • fields in which the non-missing value ratio 916 is not 100% may be separately delivered to the administrator. That is, the computer system 200 may request feedback from the administrator regarding missing values in fields for which the non-missing value rate 916 is not 100%.
  • Figure 12 shows a screen for performing visualization of target data, according to an example.
  • the administrator can visualize information about the target table by entering the table name and scanning for a specific target table. If the table name is not entered, information about the structure of all tables can be visualized. Additionally, the administrator can set the number of processes for parallel processing, task start time, etc.
  • scanning and visualization of data according to the above-described target data visualization method may be performed.
  • the risk of the work (project) to be processed can be reduced and the manager can be supported in sourcing the optimal period, manpower, and resources for the work.
  • devices and components described in embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), etc. , may be implemented using one or more general-purpose or special-purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions.
  • a processing device may execute an operating system (OS) and one or more software applications that run on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
  • OS operating system
  • a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
  • a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include.
  • a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.
  • Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device.
  • Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. It can be embodied in .
  • Software may be distributed over networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer-readable recording media.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination.
  • the medium may continuously store a computer-executable program, or may temporarily store it for execution or download.
  • the medium may be a variety of recording or storage means in the form of a single or several pieces of hardware combined. It is not limited to a medium directly connected to a computer system and may be distributed over a network.
  • Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, And there may be something configured to store program instructions, including ROM, RAM, flash memory, etc. Additionally, examples of other media include recording or storage media managed by app stores that distribute applications, sites or servers that supply or distribute various other software, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이터베이스 내의 하나 이상의 테이블들을 스캐닝하고, 스캐닝의 결과에 기반하여, 목적 데이터로서 테이블들 중 적어도 하나의 목적 테이블에 대한 정보를 시각화하는, 목적 데이터 시각화 방법이 제공된다.

Description

목적 데이터 시각화 방법 및 시스템
아래의 설명은 목적 데이터를 시각화하는 방법 및 시스템에 관한 것으로, 조직 내에서 사용되는 데이터, 예컨대, ERP 데이터 등을 데이터 스캐닝에 따라 선별하여 시각화하는 방법 및 시스템에 관한 것이다.
기업, 회사 등과 같은 조직 내에서는, 조직의 운영과 관련되는 대량의 데이터가 사용 및 관리되고 있다. 이러한 데이터는 조직이 관리하는 데이터베이스 내에 저장되어 관리되고, 필요에 따라 조회된다. 조직의 이러한 데이터는 예컨대, ERP (Enterprise Resource Planning) 데이터를 포함한다.
데이터 관리의 측면에서, 데이터베이스에 저장되고 있는 대량의 데이터는, 예컨대, 데이터의 클렌징(cleansing), 기업인수합병(M&A) 등과 같은 목적에 따라 선별되어야 할 수 있다. 특히, M&A에 있어서는, 이전이 요구되는 데이터를 정확하게 선별 및 분리하기 위해 관련된 데이터를 시각화할 필요가 있다. 또한, 데이터의 클렌징에 있어서도, 클렌징, 즉, 삭제의 대상이 되는 데이터를 정확하게 선별하기 위해 관련된 데이터를 시각화할 필요가 있다.
[선행기술문헌]
한국공개특허 제10-2019-0013425호
일 실시예는, 데이터베이스 내의 하나 이상의 테이블들을 스캐닝하고, 스캐닝의 결과에 기반하여, 목적 데이터로서 테이블들 중 적어도 하나의 목적 테이블에 대한 정보를 시각화할 수 있다.
일 실시예는, 입력되는 선별 조건에 따라, 테이블들의 각각의 구조 및 각 테이블의 데이터를 스캐닝함으로써, 선별 조건을 만족하는 목적 테이블의 필드에 대한 정보와 결측치를 포함하는 목적 데이터를 시각화할 수 있다.
일 실시예는, 입력된 선별 조건을 만족하는 목적 테이블의 목적 필드에 대한 정보를 시각화함에 있어서, 목적 필드가 클렌징 대상인지를 나타내는 나타내는 정보를 시각화할 수 있다.
일 측면에 있어서, 적어도 하나의 프로세서를 포함하는 컴퓨터 시스템에 의해 수행되는 목적 데이터 시각화 방법에 있어서, 데이터베이스 내의 하나 이상의 테이블들을 스캐닝하는 단계 및 상기 스캐닝의 결과에 기반하여, 목적 데이터로서 상기 테이블들 중 적어도 하나의 목적 테이블에 대한 정보를 시각화하는 단계를 포함하는, 목적 데이터 시각화 방법이 제공된다.
상기 스캐닝하는 단계는, 상기 테이블들의 각각의 구조, 크기 및 엔트리 수를 스캐닝하고, 시각화되는 상기 목적 테이블에 대한 정보는, 상기 목적 테이블의 필드 정보와 상기 목적 테이블의 구조를 시각화하기 위한 정보를 포함할 수 있다.
상기 스캐닝하는 단계는, 상기 테이블들의 각각의 구조 및 각 테이블의 데이터를 스캐닝하고, 상기 각 테이블의 필드를 식별하는 단계 및 상기 식별된 필드의 결측치를 식별하는 단계를 포함하고, 시각화되는 상기 목적 테이블에 대한 정보는, 상기 목적 테이블의 적어도 하나의 목적 필드에 대한 정보와 상기 목적 필드의 결측치에 대한 정보를 포함할 수 있다.
상기 스캐닝하는 단계는, 상기 테이블들 간의 종속성에 기반하여 상기 테이블들을 최소 프로세스 처리 단위인 오브젝트로 그룹화하는 단계를 포함할 수 있다.
상기 목적 데이터 시각화 방법은, 상기 목적 데이터를 선별하기 위한 선별 조건을 수신하는 단계를 더 포함하고, 상기 선별 조건은 상기 테이블들의 적어도 하나의 필드 조건을 포함하고, 상기 스캐닝하는 단계는, 상기 선별 조건에 기반하여, 상기 테이블들의 각각의 구조 및 각 테이블의 데이터를 스캐닝하고, 상기 시각화하는 단계는, 상기 스캐닝의 결과에 기반하여, 상기 필드 조건을 만족하는 목적 필드를 포함하는 상기 목적 테이블과 상기 목적 테이블의 상기 목적 필드를 식별하는 단계 및 상기 목적 테이블의 테이블명, 상기 목적 필드의 필드명, 및 상기 목적 필드의 결측치에 대한 정보를, 상기 목적 데이터로서 시각화하는 단계를 포함할 수 있다.
상기 필드 조건은 조직 필드, 기간 필드 및 생성자 필드 중 적어도 하나를 나타낼 수 있다.
상기 필드 조건은 특정 필드명 또는 필드 값을 나타낼 수 있다.
상기 결측치에 대한 정보는, 상기 목적 필드의 전체 엔트리들의 수를 나타내는 제1 값 및 상기 목적 필드의 값이 채워진 엔트리들의 수를 나타내는 제2 값; 및 상기 제1 값에 대한 상기 제2 값의 비율 중 적어도 하나를 포함할 수 있다.
상기 시각화하는 단계는, 상기 목적 필드가 클렌징 대상인지를 나타내는 정보를, 상기 목적 데이터로서 더 시각화할 수 있다.
상기 목적 필드가 클렌징 대상인지를 나타내는 정보는 상기 목적 필드의 엔트리들 중 클렌징 대상이 되는 엔트리들의 수; 상기 목적 필드의 엔트리들에 대한 상기 클렌징 대상이 되는 엔트리들의 비율; 및 상기 목적 필드가 클렌징 대상인지 여부에 대한 판단 결과를 나타내는 텍스트 중 적어도 하나를 포함할 수 있다.
상기 시각화하는 단계는, 상기 목적 필드의 하위 필드를 식별하는 단계 및 상기 하위 필드의 필드명 및 상기 하위 필드의 결측치에 대한 정보를, 상기 목적 데이터로서 더 시각화하는 단계를 포함할 수 있다.
상기 시각화하는 단계는, 상기 하위 필드의 상위 필드에 해당하는 상기 목적 필드의 필드명 및 상기 목적 필드의 결측치에 대한 정보를, 상기 하위 필드의 필드명 및 상기 하위 필드의 결측치에 대한 정보와는 구분된 영역에서 표시하는 단계를 포함할 수 있다.
상기 필드 조건을 만족하는 목적 필드는 복수이고, 상기 시각화하는 단계는, 복수의 목적 필드들 중에서 결측치가 가장 낮은 목적 필드를 추천하거나, 상기 결측치가 가장 낮은 목적 필드를 상단에서 표시하는 단계를 포함할 수 있다.
상기 목적 데이터를 선별하기 위한 선별 조건을 수신하는 단계를 더 포함하고, 상기 선별 조건은 상기 목적 테이블에 포함된 복수의 필드들의 조합을 나타내는 필드 조건을 포함하고, 상기 스캐닝하는 단계는, 상기 선별 조건에 기반하여, 상기 테이블들의 각각의 구조 및 각 테이블의 데이터를 스캐닝하고, 상기 시각화하는 단계는, 상기 스캐닝의 결과에 기반하여, 상기 목적 테이블에서 상기 필드 조건을 만족하는 필드들의 조합에 해당하는 필드 값들의 각 조합의 엔트리들의 수; 및 상기 필드들의 조합의 전체 엔트리들의 수에 대한 상기 필드 값들의 각 조합의 엔트리들의 수의 비율 중 적어도 하나를, 상기 목적 데이터로서 시각화할 수 있다.
상기 시각화하는 단계는, 상기 필드 값들의 각 조합이 클렌징 대상인지를 나타내는 정보를, 상기 목적 데이터로서 더 시각화할 수 있다.
상기 목적 데이터 시각화 방법은, 상기 목적 데이터의 시각화와 연관된 성능 정보를 제공하는 단계를 더 포함하고, 상기 성능 정보는 상기 목적 데이터의 시각화를 위해 상기 테이블들을 병렬 처리하는 경우의 예상 처리 성능을 나타내는 정보를 포함할 수 있다.
다른 일 측면에 있어서, 컴퓨터 시스템에 있어서, 상기 컴퓨터 시스템에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 데이터베이스 내의 하나 이상의 테이블들을 스캐닝하고, 상기 스캐닝의 결과에 기반하여, 목적 데이터로서 상기 테이블들 중 적어도 하나의 목적 테이블에 대한 정보를 시각화하는, 컴퓨터 시스템이 제공된다.
입력되는 선별 조건을 고려하여 데이터베이스 내의 하나 이상의 테이블들의 구조 및 각 테이블의 데이터를 스캐닝할 수 있고, 선별 조건에 따라 선별된 목적 데이터를 시각화할 수 있다. 따라서, M&A 등을 위한 데이터 이전의 대상이 되는 데이터를 용이하게 선별할 수 있다.
입력되는 선별 조건에 따라 식별된 필드의 결측치를 식별하여 시각화할 수 있고, 최적의 필드를 선정하기 위해 활용할 수 있다.
식별된 필드가 클렌징 대상인지를 나타내는 나타내는 정보를 시각화함으로써, 해당 필드가 클렌징 대상에 해당하는지, 해당 필드의 얼마만큼의 데이터가 클렌징되는 지가 직관적으로 파악될 수 있다.
도 1은 일 실시예에 따른, 네트워크 환경의 예를 도시한 도면이다.
도 2는 일 실시예에 따른, 컴퓨터 시스템의 예를 도시한 블록도이다.
도 3은 일 실시예에 따른, 목적 데이터 시각화 방법을 나타내는 흐름도이다.
도 4는 일 실시예에 따른, 목적 데이터를 선별하기 위한 선별 조건에 따라 목적 데이터를 시각화하는 방법을 나타내는 흐름도이다.
도 5는 일 예에 따른, 필드들의 관계에 따라, 목적 데이터를 시각화하는 방법을 나타내는 흐름도이다.
도 6은 일 예에 따른, 테이블들의 구조를 스캐닝함에 따른 결과에 기반하여, 테이블(들)을 시각화하는 방법을 나타낸다.
도 7은 일 예에 따른, 테이블들의 구조 및 각 테이블의 데이터를 스캐닝함에 따른 결과에 기반하여, 목적 테이블의 필드에 대한 정보와 결측치에 대한 정보를 시각화하는 방법을 나타낸다.
도 8은 일 예에 따른, 목적 테이블의 필드에 대한 정보 및 결측치에 대한 정보와 함께, 각 필드가 클렌징 대상인지를 나타내는 정보를 시각화하는 방법을 나타낸다.
도 9는 일 예에 따른, 상위 필드와 하위 필드의 필드명 및 결측치에 대한 정보를 서로 구분된 영역에서 시각화하는 방법을 나타낸다.
도 10은 일 예에 따른, 목적 데이터를 선별하기 위한 선별 조건이 필드들의 조합을 나타내는 복합 조건인 경우에 목적 데이터를 시각화하는 방법을 나타낸다.
도 11은 일 예에 따른, 처리할 작업을 시뮬레이션하여 표시하는 방법을 나타낸다.
도 12는 일 예에 따른, 목적 데이터의 시각화를 수행하기 위한 화면을 나타낸다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
실시예들에 따른 목적 데이터의 시각화를 위한 시스템은 적어도 하나의 컴퓨터 시스템에 의해 구현될 수 있으며, 실시예들에 따른 목적 데이터 시각화 방법은 목적 데이터의 시각화를 위한 시스템에 포함되는 적어도 하나의 컴퓨터 시스템을 통해 수행될 수 있다. 컴퓨터 시스템에는 일 실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 시스템은 구동된 컴퓨터 프로그램의 제어에 따라 실시예들에 따른 목적 데이터 시각화 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 시스템과 결합되어 목적 데이터 시각화 방법을 컴퓨터 시스템에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
도 1은 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다. 또한, 도 1의 네트워크 환경은 본 실시예들에 적용 가능한 환경들 중 하나의 예를 설명하는 것일 뿐, 본 실시예들에 적용 가능한 환경이 도 1의 네트워크 환경으로 한정되는 것은 아니다.
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 시스템으로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC, PC, 랩톱, 노트북 등이 있다. 일례로 도 1에서는 전자 기기(110)의 예로 스마트폰의 형상을 나타내고 있으나, 실시예들에서 전자 기기(110)는 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 물리적인 컴퓨터 시스템들 중 하나를 의미할 수 있다.
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 시스템 또는 복수의 컴퓨터 시스템들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 서비스(일례로, 아카이빙 서비스, 파일 배포 서비스, 지도 서비스, 컨텐츠 제공 서비스, 그룹 통화 서비스(또는 음성 컨퍼런스 서비스), 메시징 서비스, 메일 서비스, 소셜 네트워크 서비스, 지도 서비스, 번역 서비스, 금융 서비스, 결제 서비스, 검색 서비스 등)를 제공하는 시스템일 수 있다.
도 2는 일 실시예에 따른 컴퓨터 시스템의 예를 도시한 블록도이다. 앞서 설명한 복수의 전자 기기들(110, 120, 130, 140) 각각이나 서버들(150, 160) 각각은 도 2를 통해 도시된 컴퓨터 시스템(200)에 의해 구현될 수 있다.
이러한 컴퓨터 시스템(200)은 도 2에 도시된 바와 같이, 메모리(210), 프로세서(220), 통신 인터페이스(230) 그리고 입출력 인터페이스(240)를 포함할 수 있다. 메모리(210)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(210)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 시스템(200)에 포함될 수도 있다. 또한, 메모리(210)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(210)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(210)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(230)를 통해 메모리(210)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(170)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 시스템(200)의 메모리(210)에 로딩될 수 있다.
프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210) 또는 통신 인터페이스(230)에 의해 프로세서(220)로 제공될 수 있다. 예를 들어 프로세서(220)는 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(230)는 네트워크(170)를 통해 컴퓨터 시스템(200)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 시스템(200)의 프로세서(220)가 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(230)의 제어에 따라 네트워크(170)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(170)를 거쳐 컴퓨터 시스템(200)의 통신 인터페이스(230)를 통해 컴퓨터 시스템(200)로 수신될 수 있다. 통신 인터페이스(230)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(220)나 메모리(210)로 전달될 수 있고, 파일 등은 컴퓨터 시스템(200)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
입출력 인터페이스(240)는 입출력 장치(250)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(240)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(250)는 컴퓨터 시스템(200)와 하나의 장치로 구성될 수도 있다.
또한, 다른 실시예들에서 컴퓨터 시스템(200)은 도 2의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(200)은 상술한 입출력 장치(250) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
컴퓨터 시스템(200)은 후술될 목적 데이터 시각화 방법을 수행하는 전자 장치로서, 예컨대, 데이터를 관리하는 관리자가 사용하는 단말일 수 있다. 또는, 컴퓨터 시스템(200)은 이러한 관리자가 사용하는 단말과 통신하는 서버일 수 있다. 관리자가 사용하는 단말을 통해서는, 예컨대, 도 6 내지 도 11을 참조하여 후술되는 목적 데이터 시각화의 결과를 나타내는 화면이 표시될 수 있다.
이상 아래에서는, 도 3 이하의 도면들을 참조하여 컴퓨터 시스템(200)에 의해 수행되는 목적 데이터 시각화 방법에 대해 더 자세하게 설명한다.
이상 도 1을 참조하여 전술된 기술적 특징에 대한 설명은, 도 2에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 3은 일 실시예에 따른, 목적 데이터 시각화 방법을 나타내는 흐름도이다.
실시예의 목적 데이터 시각화 방법은 앞서 도 2를 통해 설명한 컴퓨터 시스템(200)에 의해 수행될 수 있다. 이 때, 컴퓨터 시스템(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 시스템(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 시스템(200)가 도 3의 방법이 포함하는 단계들(310 내지 330)을 수행하도록 컴퓨터 시스템(200)를 제어할 수 있다.
후술될 실시예들에서, 데이터는 기업, 회사 등과 같은 조직 내에서 사용 및 관리되는 데이터로서, 조직의 운영과 관련되는 데이터일 수 있다. 데이터는 예컨대, ERP (Enterprise Resource Planning) 데이터를 포함할 수 있다.
데이터는 조직이 관리하는 데이터베이스 내에 저장되어 관리될 수 있고, 관리자의 요청 또는 필요에 따라 조회될 수 있다. 데이터베이스는 조직이 보유, 유지 및 관리하는 것일 수 있다.
데이터는 복수의 테이블들을 포함할 수 있다. 말하자면, 실시예의 조직 내에서 사용 및 관리되는 데이터는 테이블 형태의 자료 구조를 가질 수 있다. 각 테이블은 적어도 하나의 필드를 포함할 수 있다. 필드는 적어도 하나의 레코드 또는 엔트리(entry)를 가질 수 있다. 필드는 테이블에서 데이터 레코드가 포함하는 각 필드값의 유형을 식별하기 위한 정보일 수 있다.
단계(310)에서, 컴퓨터 시스템(200)은 데이터베이스 내의 하나 이상의 테이블들을 스캐닝할 수 있다. 데이터베이스는 전술한 조직 내에서 사용 및 관리되는 데이터를 저장할 수 있고, 상기 테이블들은 이러한 데이터에 포함되는 것일 수 있다.
단계(320)에서, 컴퓨터 시스템(200)은 단계(310)에서의 스캐닝의 결과에 기반하여, 목적 데이터로서 테이블들 중 적어도 하나의 목적 테이블에 대한 정보를 시각화할 수 있다. 목적 데이터는 데이터베이스에 저장된 데이터 중 선별된 것으로서, 선별된 테이블(또는 오브젝트) 및/또는 선별된 테이블의 필드(또는 오브젝트에 포함된 테이블의 필드)를 포함할 수 있다. 목적 테이블은 이러한 선별된 테이블에 해당할 수 있다. 목적 데이터의 시각화는, 이러한 목적 데이터와 관련된 정보를 단말에서 시각적으로 표시하는 것일 수 있다. 이러한 정보가 표시되는 단말은 컴퓨터 시스템(200)이거나, 컴퓨터 시스템(200)과 통신하는 관리자의 단말일 수 있다.
아래에서는, 단계(310)의 테이블들을 스캐닝하는 방법에 대해 더 자세하게 설명한다.
단계(312)에서, 컴퓨터 시스템(200)은 테이블들의 구조를 스캐닝할 수 있다. 예컨대, 컴퓨터 시스템(200)은 테이블들의 각각의 구조, 크기 및 엔트리 수를 스캐닝할 수 있다. 단계(312)에서의 스캐닝은 각 테이블의 필드를 분석(스캔)하거나 각 필드의 데이터를 분석(스캔)하는 것과는 구분될 수 있다
이러한 스캐닝에 따라, 컴퓨터 시스템(200)은 목적 테이블에 대한 정보로서, 목적 테이블의 필드 정보를 포함하고, 목적 테이블의 구조를 시각화하기 위한 정보를 포함할 수 있다.
관련하여, 도 6은 일 예에 따른, 테이블들의 구조를 스캐닝함에 따른 결과에 기반하여, 테이블(들)을 시각화하는 방법을 나타낸다.
예컨대, 도 6a에서 도시된 것처럼, 컴퓨터 시스템(200)은 목적 테이블(AUFK)의 구조를 시각화 할 수 있다. 도시된 예시에서는, 시각화 하고자하는 목적 테이블명이 입력창(610)을 통해 입력될 수 있고, 이에 따라, 컴퓨터 시스템(200)은 입력된 테이블명에 해당하는 테이블의 구조를 스캐닝할 수 있다. 컴퓨터 시스템(200)은 스캐닝의 결과에 기반하여 목적 테이블(AUFK)의 구조를 시각화 할 수 있다. 시각화 되는 정보는, 필드 정보(620)를 포함할 수 있다. 필드 정보(620)는 목적 테이블(AUFK)이 포함하는 필드들의 리스트를 포함할 수 있다. 또한, 필드 정보(620)는 각 필드의 데이터 요소(data element)에 대한 정보, 각 필드의 데이터 타입에 대한 정보, 각 필드의 길이, 각 필드에 대한 설명 등을 더 포함할 수 있다.
컴퓨터 시스템(200)은 각 필드 중 특성 필드(조직 필드, 기간 필드, 이름/생성자 필드 등)를 식별할 수 있다. 특성 필드는, 도메인, 필드 설명(Field Description), 필드 길이 등의 정보를 이용하여 식별될 수 있다. 예컨대, 기간 필드는 DATE 타입의 8자리(YYYYMMDD)로, 조직 필드는 Company Code 설명과 Character형 4자리에 의해, 생성자 필드는 Entered by 설명과 Character형 12자리에 의해 식별될 수 있다.
한편, 도 6b에서 도시된 것처럼, 컴퓨터 시스템(200)은 데이터가 포함하는 전체 테이블들의 리스트를 시각화할 수 있다. 시각화된 정보(650)는 각 테이블의 크기, 각 테이블의 인덱스 크기, 전체 크기, 엔트리 수 등을 포함할 수 있다. 도 6b에서 도시된 예시는, 컴퓨터 시스템(200)의 사용자가 특정한 테이블을 지정하지 않은 경우, 즉, 특정한 목적 테이블명을 입력하지 않은 경우의 목적 데이터의 시각화의 예시일 수 있다.
단계(314)에서, 컴퓨터 시스템(200)은 각 테이블의 데이터를 스캐닝할 수 있다. 즉, 컴퓨터 시스템(200)은 테이블들의 각각의 구조와 함께 각 테이블의 데이터를 스캐닝할 수 있다. 이 때, 컴퓨터 시스템(200)은 각 테이블의 필드를 식별할 수 있다(315). 예컨대, 컴퓨터 시스템(200)은 각 테이블이 어떠한 필드를 포함하는지를 식별할 수 있고, 각 필드의 데이터 항목들(즉, 레코드들 또는 엔트리들)을 식별할 수 있다. 컴퓨터 시스템(200)은 각 필드의 결측치를 식별할 수 있다(316). 말하자면, 컴퓨터 시스템(200)은 각 필드의 데이터 항목에 값이 존재하는지 여부를 파악함으로써 결측이 존재하는지 여부를 파악할 수 있고, 이에 따라, 각 필드에 대한 결측치를 계산할 수 있다.
이러한 스캐닝에 따라, 컴퓨터 시스템(200)은 목적 테이블에 대한 정보로서, 목적 테이블의 적어도 하나의 목적 필드에 대한 정보와 상기 목적 필드의 결측치에 대한 정보를 포함하여, 목적 테이블에 대한 정보를 시각화할 수 있다. 목적 테이블 및 목적 필드는 후술될 선별 조건에 따라 선별된 테이블 및 필드일 수 있다. 목적 필드에 대한 정보는 해당 필드의 총 데이터 건 수(즉, 데이터 항목 수, 엔트리 수 또는 레코드 수)를 나타낼 수 있다. 결측치에 대한 정보는 해당 필드에서 결측이 얼마나 존재하는지를 식별하기 위한 정보를 포함할 수 있다. 예컨대, 결측치에 대한 정보는 총 데이터 건 수에 대한 값이 존재하는 데이터 건 수의 비율(%)을 나타낼 수 있다.
결측치에 대한 정보를 포함하여 목적 데이터를 시각화하는 방법에 대해서는 도 4 및 도 7 내지 도 11을 참조하여 더 자세하게 설명된다.
단계(318)에서, 컴퓨터 시스템(200)은, 테이블들(즉, 스캐닝의 대상이 되는 테이블들)을 테이블들 간의 종속성에 기반하여 오브젝트로 그룹화할 수 있다. 이러한 오브젝트는 최소 프로세스 처리 단위에 해당할 수 있다. 컴퓨터 시스템(200)은 전술한 스캐닝 프로세스들(312 내지 316)을 통해 테이블들 간의 관계를 파악할 수 있고, 테이블들 간의 관계에 따라 결정되는 종속성에 기반하여 테이블들을 오브젝트로 그룹핑할 수 있다. 이와 같이 정의되는 오브젝트는 적어도 하나의 테이블을 포함할 수 있고, 오브젝트에 포함되는 테이블들은 관계성(relationship)을 가질 수 있다.
말하자면, 컴퓨터 시스템(200)은 데이터베이스 내의 테이블들 간의 종속성을 기준으로 데이터베이스에 포함된 데이터를 최소 프로세스 처리 단위인 오브젝트로 그룹화할 수 있다. 예컨대, 컴퓨터 장치(200)는 데이터베이스 내에서 종속성을 갖는 테이블들은 하나의 오브젝트로 그룹화할 수 있으며, 데이터베이스에 따라 다수의 오브젝트들이 정의될 수 있다. 테이블간의 종속성은 두 테이블이 동일한 키값을 통해 식별되는 데이터를 각각 포함하고 있음을 의미할 수 있다. 이때, 종속성을 갖는 테이블들에서 동일한 키 값을 통해 식별되는 데이터는 적어도 하나의 서로 다른 필드를 포함할 수 있다.
이러한 테이블들의 오브젝트들로의 그룹화는 후술될 선별 조건에 따라 데이터를 선별하여 시각화하기 위한 전단계에서 수행되는 것일 수 있다. 따라서, 목적 데이터의 시각화는 이러한 오브젝트들로의 그룹화된 테이블들을 스캐닝한 결과에 기반하여 이루어지는 것일 수 있다.
오브젝트에서의 테이블들 간의 종속성을 고려하여, 후술될 선별 조건에 대응하는 목적 데이터가 선별될 수 있다. 예컨대, 컴퓨터 시스템(200)은 선별 조건에 따라, 오브젝트 내의 테이블들 중 최상위의 헤더 테이블의 키값을 검색하고, 검색된 키값에 대응하는 데이터를 상기 오브젝트 내의 테이블간의 종속성에 따라 순차적으로 추출하여 목적 데이터를 선별할 수 있다. 말하자면, 오브젝트는, 데이터의 선별적 아카이빙, 백업, 클렌징, 전송, 변환, 비식별화 및 암호화와 같은 다양한 이용 목적에 있어서, 이러한 이용 목적에 따른 선별 조건에 따라 목적 데이터를 선별하기 위한 대상이 될 수 있다.
단계(330)에서, 컴퓨터 시스템(200)은 목적 데이터의 시각화와 연관된 성능 정보를 제공할 수 있다. 예컨대, 컴퓨터 시스템(200)이러한 성능 정보를 단말의 화면에서 표시할 수 있다. 성능 정보는 목적 데이터의 시각화를 위해 테이블들을 병렬 처리하는 경우의 예상 처리 성능을 나타내는 정보를 포함할 수 있다.
예컨대, 컴퓨터 시스템(200)은 데이터베이스에 저장된 테이블 중 가장 크기가 큰 대용량 테이블을 병렬 분산 처리할 경우의 Selection 속도를 시뮬레이션할 수 있다. 컴퓨터 시스템(200)은 처리할 작업에 대해, 예컨대, 가능한 최대 병렬 처리의 개수, 최적의 병렬 처리 개수(즉, 처리 시간이 가장 빠르게 하는 병렬 처리 개수), 및 병렬 처리 개수에 따른 작업의 완료 시간 등을 시뮬레이션할 수 있다. 일례로, 컴퓨터 시스템(200)은 처리할 작업에 대해 병렬로 처리하는 경우과 싱글로 처리하는 경우를 비교하여 결과를 시뮬레이션하여 표시할 수도 있다.
처리할 작업은 데이터의 삭제(클렌징)나 마이그레이션을 포함할 수 있다. 이러한 작업은 상기 삭제나 마이그레이션을 위한 데이터의 선별 작업으로서, 전술한 스캐닝 및 시각화를 위한 작업을 포함할 수 있다.
예컨대, 컴퓨터 시스템(200)은 선별된 데이터(예컨대, 가장 크기가 큰 테이블 또는 오브젝트)을 삭제 또는 마이그레이션하는 작업에 대해, n개의 프로세스로 병렬 처리할 때 성능(처리 속도)이 가장 좋게 된다는 것을 시뮬레이션하여 결정할 수 있고, 그 결과를 화면에 표시할 수 있다.
관리자는 이러한 시뮬레이션의 결과를 확인하는 것을 통해, 수행할 작업을 위한 최적의 프로세스 수 등을 결정할 수 있고, 따라서, 컴퓨터 시스템(200)을 통해 작업을 효율적으로 실행할 수 있다.
관련하여, 도 11은 일 예에 따른, 처리할 작업을 시뮬레이션하여 표시하는 방법을 나타낸다.
컴퓨터 시스템(200)은 도시된 예시와 같이 데이터에 관해 처리할 작업들을 을 시뮬레이션할 수 있고, 결과를 화면 상에서 표시할 수 있다.
컴퓨터 시스템(200)은 작업(들)의 병렬 처리 속도를 시뮬레이션하여 화면 상에 표시할 수 있다.
도시된 예시에서, 제1 부분(1110)은 데이터 스캐닝을 위한 병렬 처리의 수를 나타낼 수 있다. 제1 부분(1110)은 시뮬레이션 되는 작업들의 리스트를 포함할 수 있다. 제2 부분(1120)은 각 작업에 해당하는 테이블(도시된 예시에서는 오브젝트)를 나타낼 수 있다. 제3 부분(1130)은 Read Count로서 데이터 스캐닝 시의 해당 테이블(오브젝트)의 데이터 건 수를 나타낼 수 있다. 제4 부분(1140)은 각 작업에서의 조건에 따라 해당 테이블(오브젝트)의 적중되는 데이터의 건 수를 나타낼 수 있다. 제5 부분(1150)은 각 작업에서의 처리 시간을 나타낼 수 있다. 즉, 제5 부분(1150)은 해당 작업에서의 테이블(오브젝트)의 처리 시간을 나타낼 수 있다.
한편, 컴퓨터 시스템(200)은 제1 부분(1110)에서 표시된 작업들의 전체를 수행하기 위한 최대 병렬 처리 개수(프로세스의 수)와 최적 병렬 처리 개수를 계산할 수 있고, 이를 화면에서 표시할 수 있다.
컴퓨터 시스템(200)은 제5 부분(1150)에서의 처리 시간에 기반하여, 처리 시간들의 합으로서 전체 처리 시간을 계산할 수 있다. 이 때, 병렬 처리 시간은, 전체 처리 시간 / 병렬 처리의 수로 계산될 수 있다. 최대 병렬 처리 개수는, 최대의 처리 시간을 갖는 테이블(오브젝트)의 처리 시간을 기준으로 계산될 수 있다. 예컨대, 최대의 처리 시간을 갖는 테이블(오브젝트)의 처리 시간이 3,000초이고, 전제 처리 시간이 42,000초인 경우 최대 병렬 처리 개수는 42,000 / 3000인 14 개로 결정될 수 있다.
한편, 최적 병렬 처리 개수는, 하나의 프로세스가 차지하는 프로세서(CPU) 자원이 시스템 전체의 프로세서 자원에서 차지하는 비율에 따라 계산될 수 있다. 또한, 최적 병렬 처리 개수는 미리 설정된 적정 시스템 자원 사용률(사용률의 임계치)에 기반하여 계산될 수 있다. 예컨대, 프로세스 당 프로세서(CPU) 자원 사용률이 5%이고, 미리 설정된 적정 시스템 자원 사용률의 임계치가 50%인 경우라면, 최적 병렬 처리 개수는 50%/5%인 10 개로 결정될 수 있다.
이처럼, 실시예에서는, 처리할 작업들의 성능을 미리 시뮬레이션할 수 있음으로써 작업들의 수행의 효율성이 극대화될 수 있다.
한편, 단계(310)에 앞서, 컴퓨터 시스템(200)은 데이터베이스의 정보를 먼저 식별할 수 있다. 예컨대, 컴퓨터 시스템(200)은 데이터 선별을 위한 쿼리 작성을 위한 기본 DBMS 종류를 파악하기 위해 데이터베이스의 종류를 파악할 수 있고, 또한, 컴퓨터 시스템(200)은 데이터베이스의 크기를 파악할 수 있다. 데이터베이스의 크기는 데이터베이스의 전체 크기와 목적된 작업의 처리 후(즉, 시뮬레이션(목적 데이터 처리의 시각화))의 결과를 비교하기 위해 파악될 수 있다. 또한, 컴퓨터 시스템(200)은 데이터 증감의 추이를 파악하기 위해 데이터베이스 운용 기간을 파악할 수 있다. 이러한 데이터베이스의 정보의 식별은 전술한 시각화(시뮬레이션) 결과의 생성에 도움이 될 수 있다.
이상 도 1 및 도 2를 참조하여 전술된 기술적 특징에 대한 설명은, 도 3, 도 6 및 도 11에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 4는 일 실시예에 따른, 목적 데이터를 선별하기 위한 선별 조건에 따라 목적 데이터를 시각화하는 방법을 나타내는 흐름도이다.
단계(410)에서, 컴퓨터 시스템(200)은, 데이터베이스에 저장된 데이터 중에서 목적 데이터를 선별하기 위한 선별 조건을 수신할 수 있다. 선별 조건은 컴퓨터 시스템(200)의 사용자로부터 입력될 수 있다.
선별 조건은 테이블들의 적어도 하나의 필드 조건을 포함할 수 있다. 필드 조건은 특성 필드를 나타내는 것일 수 있다. 특성 필드는 조직 필드, 기간 필드 및 기타 특성 필드 중 적어도 하나를 포함할 수 있다. 기타 특성 필드는 예컨대, 생성자 필드일 수 있다. 예컨대, 컴퓨터 시스템 (200)는 적어도 하나의 특성 필드로서, (1) 데이터와 관련된 특정 시간 또는 기간의 범위를 필드 값으로 갖는 기간 필드, (2) 사업부, 법인코드, 플랜트, 영업 조직 및 부서 중 적어도 하나에 대한 필드 값을 갖는 조직 필드 및 (3) 지역, 국가코드, 언어, 사용자, 문서유형, 고객 그룹 및 생성자 중 적어도 하나에 대한 필드값을 갖는 기타 특성 필드 중 적어도 하나의 필드를 포함하는 필드 조건을 선별 조건으로서 설정할 수 있다. 여기서 기간 필드는 일례로, 테이블 데이터의 생성일, 변경일, 회계연도, 증빙일, 생산출고일 등을 포함할 수 있다.
또는, 필드 조건은 특정 필드명 또는 필드 값을 나타낼 수도 있다. 예컨대, 필드 조건은 사업부나 플랜트를 나타내는 특정 필드명(예컨대, 플랜트를 나타내는 필드명 WERKS, 스토리지 로케이션을 나타내는 필드명 LGORT 등), 특정 사업부나 플랜트를 나타내는 필드 값(예컨대, C100, P100 등의 코드)을 포함할 수 있다.
한편, 선별 조건의 수신에 앞서 컴퓨터 시스템(200)은 사용자로부터 입력되는 테이블명 또는 오브젝트명을 수신할 수 있고, 또는, 선별 조건은 이러한 테이블명 또는 오브젝트명을 포함할 수 있다. 이에 따라, 해당 테이블명 또는 오브젝트명에 따른 데이터가 목적 데이터를 선별하기 위한 대상이 될 수 있다.
아래에서는 선별 조건의 예시에 대해 좀 더 자세하게 설명한다. 예컨대, 기업 분할이나 M&A를 목적으로 데이터를 선별하고자 하는 경우 선별 조건은 필드 조건으로서 조직 필드를 포함할 수 있다. 한편, 아카이빙을 위해 데이터를 선별하고자 하는 경우 선별 조건은 필드 조건으로서 기간 필드를 포함할 수 있다.
선별 조건은 필드 조건에 국한되지 않고, 예컨대, 데이터 선별의 목적에 따라 다양하게 될 수 있다. 일례로, 선별 조건은 전표 번호, 조직 코드의 값, 생성 기간의 범위, 생성자 그룹 등을 포함할 수 있다.
조직 필드를 기준으로 데이터가 선별될 경우, 선별되어 시각화된 목적 데이터는 조직 구조 체계 변경 또는 사업 매각에 따른 시스템의 분리 등에 활용될 있다.
기간 필드를 기준으로 데이터가 선별될 경우, 선별되어 시각화된 목적 데이터는 과거 Historical 데이터의 아카이빙, 기간 데이터 마이그레이션 등 에 활용될 있다.
전표 번호 또는 마스터 코드명을 기준으로 데이터가 선별될 경우, 선별되어 시각화된 목적 데이터는 특정 데이터의 백업, 삭제 또는 마이그레이션 등에 활용될 있다.
기타 다양한 복합 조건이 다양하고 정교한 데이터 선별을 위해 사용될 수 있고, 여러 필드들을 조합한 복합 필드 조건이 선별 조건으로 사용될 수도 있다.
선별 조건은 조직 필드와 같은 특성 필드에 국한되지 않고, 예컨대, 특정 필드의 값(예컨대, 특정 컴퍼니 코드 C100)와 같이 구체적인 값을 포함할 수도 있다.
단계(310')에서, 컴퓨터 시스템(200)은, 수신된 선별 조건에 기반하여, 테이블들의 각각의 구조 및 각 테이블의 데이터를 스캐닝할 수 있다. 또는, 컴퓨터 시스템(200)은 수신된 선별 조건에 기반하여, 오브젝트들 및 오브젝트들에 포함된 테이블들을 스캐닝할 수 있다. 말하자면, 단계(310')에서의 스캐닝은 전술한 단계(310)에서의 스캐닝 후에 수행되는 것일 수 있다.
컴퓨터 시스템(200)은, 선별 조건에 따라 선별되는 목적 데이터를 시각화 함에 있어서, 단계(420)에서, 단계(310')에서의 스캐닝의 결과에 기반하여, 필드 조건을 만족하는 목적 필드를 포함하는 목적 테이블과 해당 목적 테이블의 목적 필드를 식별할 수 있다. 단계(430)에서, 컴퓨터 시스템(200)은 식별된 목적 테이블의 테이블명, 식별된 목적 필드의 필드명, 및 목적 필드의 결측치에 대한 정보를 시각화할 수 있다.
전술한 필드 조건을 만족하는 것으로 선별되는 목적 필드는 복수일 수 있고, 컴퓨터 시스템(200)은 이러한 복수의 목적 필드들에 대한 정보, 예컨대, 각 목적 필드의 필드명 및 각 목적 필드의 결측치에 대한 정보를 시각화할 수 있다. 이 때, 단계(440)에서처럼, 컴퓨터 시스템(200)은 복수의 목적 필드들 중에서 결측치가 가장 낮은 목적 필드를 추천하거나, 결측치가 가장 낮은 목적 필드를 구분하여 표시할 수 있다. 예컨대, 결측치가 가장 낮은 목적 필드는 상단에서 표시될 수 있다. 복수의 목적 필드들은 결측치가 낮은 순으로 정렬되어 표시될 수 있다.
관련하여 도 7은 일 예에 따른, 테이블들의 구조 및 각 테이블의 데이터를 스캐닝함에 따른 결과에 기반하여, 목적 테이블의 필드에 대한 정보와 결측치에 대한 정보를 시각화하는 방법을 나타낸다.
도시된 예시에서, 테이블명(710)은 선별 조건에 따라 선별된 목적 테이블의 테이블명을 나타낼 수 있다. 필드명(730)은 선별 조건에 따라 선별된 각 목적 필드의 필드명을 나타낼 수 있다. 도메인명(730)은 각 목적 필드의 도메인을 나타낼 수 있다. 데이터 건 수(750)는 각 목적 필드의 데이터 건 수(레코드 수 또는 엔트리 수)를 나타낼 수 있다. 데이터 건 수(760)는 결측이 아닌, 즉, null이 아닌 데이터 건 수(레코드 수 또는 엔트리 수)를 나타낼 수 있다. 비결측치 비율(770)은 전체 데이터 건 수에 대한 null이 아닌 데이터 건 수의 비율을 나타낼 수 있다.
실시예에서 시각화되는 목적 데이터의 결측치에 대한 정보는, 목적 필드의 전체 엔트리들의 수를 나타내는 제1 값(750) 및 목적 필드의 값이 채워진 엔트리들의 수를 나타내는 제2 값(760)과; 제1 값(750)에 대한 제2 값(760)의 비율(770) 중 적어도 하나를 포함할 수 있다. 실시예에 따라서는, 데이터 건 수(760)는 결측인 데이터 건 수로 변경될 수 있고, 이 때, 비결측치 비율(770)은 결측치 비율로 변경될 수 있다.
도시된 것처럼, 비결측치 비율(770)이 높은 순서로 목적 필드들은 정렬될 수 있고, 그에 따라 우선 순위(720)가 출력될 수 있다. 따라서, 비결측치 비율(770)이 가장 높은 목적 필드가 사용자에게 추천될 수 있다.
예컨대, 도시된 것처럼, 목적 테이블 AUFK 내에, 목적 필드에 해당하는 유사 조직 필드가 복수인 경우 Not Null%가 가장 높은 필드가 선정되어 추천될 수 있다. 일례로, 유사 조직 필드로 GSBER (비즈니스 에어리어), WERKS (플랜트)가 존재하는 경우라면, GSBER의 Not Null%는 74.74%이고, WERKS의 Not Null%는 74.27%인 바, 해당 선별 조건에서는 GSBER가 선정되어 추천될 수 있다.
도 7에서 도시된 예시는, 선별 조건이 포함하는 필드 조건으로서 조직 필드를 설정한 경우의 목적 데이터의 시각화 결과를 나타낸 것일 수 있다. 구체적으로, 필드명 BUKRS는 컴퍼니(company)를 나타낼 수 있고, GSBERS는 사업부 또는 비즈니스 에어리어를 나타낼 수 있다. 한편, KOKRS 는 컴퍼니보다 상위의 필드를 나타내는 필드명일 수 있으며, 이는 선별 조건에 따라서는 도 7에서와 같은 결과에 표시되거나 표시되지 않을 수 있다. 도 7의 예시에서는 KOKRS와 관련된 행은 표시되지 않았다.
또한, 컴퓨터 시스템(200)은 목적 필드가 클렌징 대상인지를 나타내는 정보를 더 시각화할 수 있다. 시각화되는 목적 필드가 클렌징 대상인지를 나타내는 정보는 목적 필드의 엔트리들(데이터 건 수) 중 클렌징 대상이 되는 엔트리들의 수(데이터 건 수); 목적 필드의 엔트리들에 대한 클렌징 대상이 되는 엔트리들의 비율; 및 목적 필드가 클렌징 대상인지 여부에 대한 판단 결과를 나타내는 텍스트 중 적어도 하나를 포함할 수 있다.
이러한 클렌징 대상인지를 나타내는 정보는 선별 조건에 '클렌징 대상'이 포함된 경우에 시각화될 수 있다. 예컨대, 컴퓨터 시스템(200)은 선별 조건으로서 기준이 되는 클렌징 대상(예컨대, 특정 오브젝트 또는 특정 테이블 등)을 수신할 수 있고, 이에 따라, 목적 필드가 클렌징 대상인지를 나타내는 정보를 화면에서 표시할 수 있다.
관련하여, 도 8은 일 예에 따른, 목적 테이블의 필드에 대한 정보 및 결측치에 대한 정보와 함께, 각 필드가 클렌징 대상인지를 나타내는 정보를 시각화하는 방법을 나타낸다. 도 8에서도 KOKRS와 관련된 행(priority = 3)은 표시되지 않을 수 있다.
도 8에서 도시된 예시에서, 시각화되는 목적 필드가 클렌징 대상인지를 나타내는 정보(850)로서, 목적 필드의 엔트리들(데이터 건 수) 중 클렌징 대상이 되는 엔트리들의 수(820)(데이터 건 수); 목적 필드의 엔트리들에 대한 클렌징 대상이 되는 엔트리들의 비율(830); 및 목적 필드가 클렌징 대상인지 여부에 대한 판단 결과를 나타내는 텍스트(840)가 도시되었다. 도시된 것처럼 비율(830)은 %로 표시될 수 있다.
도 8에서 도시된 예시는, 데이터를 조직으로 분리함에 있어서, 목적 데이터를 선별하여 시각화 한 예시일 수 있다.
이 때, 데이터의 선별을 위한 선별 조건은 조직 필드의 필드 조건을 포함할 수 있고, 특정 조직 값에 해당하는 필드에 대해 클렌징 대상이 설정되었을 수 있다. 도 8에서는 목적 테이블의 각 목적 필드 내에서 삭제될(클렌징될) 데이터 건 수가 시각화(시뮬레이션)되었다.
데이터 건 수(820)는 특정 값(클렌징 조건)에 매칭되는 데이터 건 수를 나타낼 수 있고, 비율(830)은 전체 데이터 건 수 중에서 상기 매칭되는 데이터 건 수의 비율을 나타낼 수 있다. 텍스트(840)는 비율(830)에 따라 다르게 될 수 있다. 예컨대, 비율(830)이 100% 일 경우, 텍스트(840)는 "전체"(즉, 목적 필드의 전체의 데이터가 클렌징 대상이 됨을 나타냄)로 결정될 수 있고, 비율(830)이 0% 일 경우에는 텍스트(840)는 "판단 불가"(즉, 목적 필드의 데이터가 클렌징 대상인지를 판단할 수 없음을 나타냄)로 결정될 수 있고, 비율(830)이 그 이외인 경우에는 텍스트(840)는 "일부"(즉, 목적 필드의 데이터의 일부만이 클렌징 대상이 됨을 나타냄)로 결정될 수 있다.
도시된 예시에서와 같은 목적 데이터의 시각화에 따라, 실시예에서는 목적 데이터가 클렌징 대상이 되는지와 목적 데이터의 얼마만큼이 클렌징 대상이 되는지가 직관적으로 파악될 수 있다.
컴퓨터 시스템(200)은, 목적 데이터를 선별하기 위한 선별 조건을 수신함에 있어서, 목적 테이블에 포함된 복수의 필드들의 조합을 나타내는 필드 조건을 포함하는 선별 조건을 수신할 수 있다. 말하자면, 선별 조건은 복합 필드 조건을 포함할 수 있다.
컴퓨터 시스템(200)은, 이러한 복합 필드 조건을 포함하는 선별 조건에 기반하여, 테이블들의 각각의 구조 및 각 테이블의 데이터를 스캐닝할 수 있다.
컴퓨터 시스템(200)은, 목적 데이터를 시각화함에 있어서, 스캐닝의 결과에 기반하여, 목적 테이블에서 복합 필드 조건을 만족하는 필드들의 조합에 해당하는 필드 값들의 각 조합의 엔트리들의 수(데이터 건 수); 및 필드들의 조합의 전체 엔트리들의 수(데이터 건 수)에 대한 상기 필드 값들의 각 조합의 엔트리들의 수의 비율 중 적어도 하나를 시각화할 수 있다.
또한, 컴퓨터 시스템(200)은 상기 필드 값들의 각 조합이 클렌징 대상인지를 나타내는 정보를 더 시각화할 수 있다.
관련하여, 도 10은 일 예에 따른, 목적 데이터를 선별하기 위한 선별 조건이 필드들의 조합을 나타내는 복합 조건인 경우에 목적 데이터를 시각화하는 방법을 나타낸다.
예컨대, 도 10에서 도시된 예시에서는 선별 조건으로서 조직 필드에 해당하는 필드명 BUKRS와 GSBERS가 조합되어 필드 조건(즉, 복합 필드 조건으로서 사용되었다. 이에 따라, 필드명(1010)에는 BUKRS+GSBERS가 표시될 수 있다. 도시된 것처럼, 복합 필드 조건을 만족하는 필드들의 조합에 해당하는 필드 값들의 각 조합의 엔트리들의 수(데이터 건 수)가 Count 열에서 표시될 수 있다. 예컨대, BUKRS의 필드 값 1200과 GSBERS의 필드 값 B110의 조합에 해당하는 데이터 건 수는 1,230,670일 수 있다.
또한, 필드들의 조합의 전체 엔트리들의 수(데이터 건 수)에 대한 필드 값들의 각 조합의 엔트리들의 수의 비율이 Percent 열에서 표시될 수 있다. 예컨대, 예컨대, 전체 BUKRS+GSBERS의 데이터 건 수에 대한 BUKRS의 필드 값 1200과 GSBERS의 필드 값 B110의 조합에 해당하는 데이터 건 수의 비는 21.01%일 수 있다.
말하자면, 목적 테이블인 AUFK에서 대해 필드 값 1200 및 필드 값 B110의 차지하는 데이터 건 수와 그 비율이 표시될 수 있다.
도 8을 참조하여 전술된 클렌징 대상인지를 나타내는 정보(850)와 유사하게 도 10의 예시에서도 각 필드 값들의 조합에 대해 클렌징 대상인지를 나타내는 정보가 표시될 수 있다. 도 10에서는 텍스트(840)에 대응하는 정보만이 표시되고 있으나, 클렌징 대상인지를 나타내는 정보(850)에 포함된 것과 유사한 정보들은 도 10의 예시에서도 포함될 수 있고, 이와 관련하여 중복되는 설명은 생략한다. 이러한 클렌징 대상인지를 나타내는 정보는 선별 조건으로서 클렌징 대상이 설정된 경우에 표시될 수 있다.
한편, 도 10의 시각화의 결과는 도 8의 예시에서, Priority 4의 BUKRS+GSBER가 선택됨에 따라 표시되는 것일 수도 있다.
이러한 복합 필드 조건은, 선별 조건의 필드 조건이 너무 넓거나 너무 좁게 되는 경우가 있음을 고려하여, 목적 데이터를 보다 정확하게 선별하기 위한 보조 조건으로서 사용될 수 있다.
이상 도 1 내지 도 3, 도 6 및 도 11을 참조하여 전술된 기술적 특징에 대한 설명은, 도 4, 도 7, 도 8 및 도 10에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 5는 일 예에 따른, 필드들의 관계에 따라, 목적 데이터를 시각화하는 방법을 나타내는 흐름도이다.
단계(510)에서, 컴퓨터 시스템(200)은 목적 데이터를 시각화함에 있어서, 전술한 목적 필드의 하위 필드를 식별할 수 있다. 예컨대, 컴퓨터 시스템(200)은 전술한 스캐닝의 결과로부터 목적 필드의 하위 필드를 식별할 수 있다. 컴퓨터 시스템(200)은 오브젝트에 포함된 테이블들 간의 종속성 및/또는 도 6을 참조하여 설명된 각 필드에 대한 정보에 기반하여 파악되는 필드 간의 종속성에 기반하여 목적 필드의 하위 필드를 식별할 수 있다. 필드 간의 종속성은 미리 정의되어 있는 것일 수도 있다.
단계(520)에서, 컴퓨터 시스템(200)은 하위 필드의 필드명 및 하위 필드의 결측치에 대한 정보를 목적 데이터로서 더 시각화할 수 있다.
단계(530)에서, 컴퓨터 시스템(200)은 상위 필드에 해당하는 목적 필드의 필드명 및 목적 필드의 결측치에 대한 정보를, 하위 필드의 필드명 및 하위 필드의 결측치에 대한 정보와는 구분된 영역에서 표시할 수 있다. 하위 필드에 대해 또한 하위 필드가 존재하는 경우, 해당 하위 필드의 필드명 및 결측치에 대한 정보 역시 유사하게 구분된 영역에서 표시될 수 있다. 이에 대해 중복되는 설명은 생략한다.
관련하여, 도 9는 일 예에 따른, 상위 필드와 하위 필드의 필드명 및 결측치에 대한 정보를 서로 구분된 영역에서 시각화하는 방법을 나타낸다.
도 9의 예시에서는, 선별 조건이 필드 조건으로서 "조직 필드"를 포함하는 경우에 있어서, 선별된 목적 데이터의 시각화를 나타낸다.
도시된 예시에서, 제1 영역(920)은 상위 필드에 해당하는 목적 데이터를 시각화 한 것이고, 제2 영역(930)은 상위 필드의 하위 필드에 해당하는 목적 데이터를 시각화 한 것일 수 있다.
제1 영역(920)에서는, 예시된 것처럼, 상위 필드에 해당하는 필드명과 결측치에 대한 정보(즉, 비결측치 비율)이 표시될 수 있다. 또한, 선별 조건에 따라서는 클렌징 대상인지를 나타내는 정보가 더 표시될 수 있다.
제2 영역(930)에서는, 예시된 것처럼, 하위 필드에 해당하는 필드명과 결측치에 대한 정보(즉, 비결측치 비율)이 표시될 수 있다. 또한, 선별 조건에 따라서는 클렌징 대상인지를 나타내는 정보가 더 표시될 수 있다.
제3 영역(930)은, 추천 필드에 해당하는 정보를 시각화하는 영역일 수 있다. 제3 영역(930)은, 추천 필드의 필드명(912), 추천 필드의 비결측치의 수(914) 및 추천 필드의 비결측치 비율(916)을 포함할 수 있다. 추천 필드는 동일한 행의 상위 필드 및 하위 필드 중에서 결정될 수 있다. 예컨대, 추천 필드는 동일한 행의 상위 필드 및 하위 필드 중에서 비결측치 비율이 높은 것 및/또는 클렌징 대상이 되는 데이터의 비율이 높은 것으로 결정될 수 있고, 이러한 수치가 동일한 경우에는 상위 필드가 추천 필드가 될 수 있다.
일례로, 필드명 WERKS (플랜트)의 필드와, 필드명 LGORT (스토리지 로케이션)의 필드는 서로 상위 필드와 하위 필드의 관계에 있을 수 있다. 즉, LGORT 는 WERKS 내의 창고의 위치를 나타내는 바, WERKS의 하위 필드가 될 수 있다. 이 때, LGORT와 WERKS는 비결측치 비율과 클렌징 대상이 되는 데이터의 비율이 동일한 것으로 나타났으며, 이 때, 제3 영역(930)에 표시되는 추천 필드는 상위 필드인 WERKS가 될 수 있다.
한편, 제3 영역(930)에 표시되는 추천 필드들 중에서, 비결측치 비율(916)이 100%가 아닌 필드(예컨대, ZZBUKRS 등)는 관리자에게 별도로 전달될 수 있다. 말하자면, 컴퓨터 시스템(200)은 비결측치 비율(916)이 100%가 아닌 필드의 결측치에 대해 관리자에게 피드백을 요청할 수 있다.
이를 통해, 목적에 따라 선별되는 목적 데이터에 대한 관리자에 의한 관리가 보다 효율적으로 이루어질 수 있다.
이상 도 1 내지 도 4, 도 6 내지 8 및 도 10 및 도 11을 참조하여 전술된 기술적 특징에 대한 설명은, 도 5 및 도 11에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
도 12는 일 예에 따른, 목적 데이터의 시각화를 수행하기 위한 화면을 나타낸다.
도시된 예시에서처럼, 관리자는 테이블명을 입력하여 특정한 목적 테이블에 대한 스캐닝을 실시하여 목적 테이블에 대한 정보를 시각화할 수 있다. 테이블명이 입력되지 않으면 전체 테이블들의 구조에 대한 정보가 시각화될 수 있다. 또한, 관리자는 병렬 처리를 위한 프로세스의 수와, 작업 시작 시간 등을 설정할 수 있다.
설정된 정보에 따라, 전술한 목적 데이터 시각화 방법에 따른, 데이터의 스캐닝 및 시각화가 수행될 수 있다.
이상 도 1 내지 도 11을 참조하여 전술된 기술적 특징에 대한 설명은, 도 12에 대해서도 그대로 적용될 수 있으므로 중복되는 설명은 생략한다.
실시예의 목적 데이터의 시각화 및 시뮬레이션을 통해서는, 처리하고자 하는 작업(프로젝트)의 리스크를 줄일 수 있고, 관리자가 작업을 위해 최적의 기간, 인력 및 자원을 소싱하는 것을 지원할 수 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (18)

  1. 적어도 하나의 프로세서를 포함하는 컴퓨터 시스템에 의해 수행되는 목적 데이터 시각화 방법에 있어서,
    데이터베이스 내의 하나 이상의 테이블들을 스캐닝하는 단계; 및
    상기 스캐닝의 결과에 기반하여, 목적 데이터로서 상기 테이블들 중 적어도 하나의 목적 테이블에 대한 정보를 시각화하는 단계
    를 포함하는, 목적 데이터 시각화 방법.
  2. 제1항에 있어서,
    상기 스캐닝하는 단계는,
    상기 테이블들의 각각의 구조, 크기 및 엔트리 수를 스캐닝하고,
    시각화되는 상기 목적 테이블에 대한 정보는,
    상기 목적 테이블의 필드 정보와 상기 목적 테이블의 구조를 시각화하기 위한 정보를 포함하는, 목적 데이터 시각화 방법.
  3. 제1항에 있어서,
    상기 스캐닝하는 단계는,
    상기 테이블들의 각각의 구조 및 각 테이블의 데이터를 스캐닝하고,
    상기 각 테이블의 필드를 식별하는 단계; 및
    상기 식별된 필드의 결측치를 식별하는 단계
    를 포함하고,
    시각화되는 상기 목적 테이블에 대한 정보는,
    상기 목적 테이블의 적어도 하나의 목적 필드에 대한 정보와 상기 목적 필드의 결측치에 대한 정보를 포함하는, 목적 데이터 시각화 방법.
  4. 제3항에 있어서,
    상기 스캐닝하는 단계는,
    상기 테이블들 간의 종속성에 기반하여 상기 테이블들을 최소 프로세스 처리 단위인 오브젝트로 그룹화하는 단계
    를 포함하는, 목적 데이터 시각화 방법.
  5. 제1항에 있어서,
    상기 목적 데이터를 선별하기 위한 선별 조건을 수신하는 단계
    를 더 포함하고,
    상기 선별 조건은 상기 테이블들의 적어도 하나의 필드 조건을 포함하고,
    상기 스캐닝하는 단계는, 상기 선별 조건에 기반하여, 상기 테이블들의 각각의 구조 및 각 테이블의 데이터를 스캐닝하고,
    상기 시각화하는 단계는,
    상기 스캐닝의 결과에 기반하여, 상기 필드 조건을 만족하는 목적 필드를 포함하는 상기 목적 테이블과 상기 목적 테이블의 상기 목적 필드를 식별하는 단계; 및
    상기 목적 테이블의 테이블명, 상기 목적 필드의 필드명, 및 상기 목적 필드의 결측치에 대한 정보를, 상기 목적 데이터로서 시각화하는 단계
    를 포함하는, 목적 데이터 시각화 방법.
  6. 제5항에 있어서,
    상기 필드 조건은 조직 필드, 기간 필드 및 생성자 필드 중 적어도 하나를 나타내는, 목적 데이터 시각화 방법.
  7. 제5항에 있어서,
    상기 필드 조건은 특정 필드명 또는 필드 값을 나타내는, 목적 데이터 시각화 방법.
  8. 제5항에 있어서,
    상기 결측치에 대한 정보는,
    상기 목적 필드의 전체 엔트리들의 수를 나타내는 제1 값 및 상기 목적 필드의 값이 채워진 엔트리들의 수를 나타내는 제2 값; 및
    상기 제1 값에 대한 상기 제2 값의 비율
    중 적어도 하나를 포함하는, 목적 데이터 시각화 방법.
  9. 제5항에 있어서,
    상기 시각화하는 단계는,
    상기 목적 필드가 클렌징 대상인지를 나타내는 정보를, 상기 목적 데이터로서 더 시각화하는, 목적 데이터 시각화 방법.
  10. 제9항에 있어서,
    상기 목적 필드가 클렌징 대상인지를 나타내는 정보는 상기 목적 필드의 엔트리들 중 클렌징 대상이 되는 엔트리들의 수; 상기 목적 필드의 엔트리들에 대한 상기 클렌징 대상이 되는 엔트리들의 비율; 및 상기 목적 필드가 클렌징 대상인지 여부에 대한 판단 결과를 나타내는 텍스트 중 적어도 하나를 포함하는, 목적 데이터 시각화 방법.
  11. 제5항에 있어서,
    상기 시각화하는 단계는,
    상기 목적 필드의 하위 필드를 식별하는 단계; 및
    상기 하위 필드의 필드명 및 상기 하위 필드의 결측치에 대한 정보를, 상기 목적 데이터로서 더 시각화하는 단계
    를 포함하는, 목적 데이터 시각화 방법.
  12. 제11항에 있어서,
    상기 시각화하는 단계는,
    상기 하위 필드의 상위 필드에 해당하는 상기 목적 필드의 필드명 및 상기 목적 필드의 결측치에 대한 정보를, 상기 하위 필드의 필드명 및 상기 하위 필드의 결측치에 대한 정보와는 구분된 영역에서 표시하는 단계
    를 포함하는, 목적 데이터 시각화 방법.
  13. 제5항에 있어서,
    상기 필드 조건을 만족하는 목적 필드는 복수이고,
    상기 시각화하는 단계는,
    복수의 목적 필드들 중에서 결측치가 가장 낮은 목적 필드를 추천하거나, 상기 결측치가 가장 낮은 목적 필드를 상단에서 표시하는 단계
    를 포함하는, 목적 데이터 시각화 방법.
  14. 제1항에 있어서,
    상기 목적 데이터를 선별하기 위한 선별 조건을 수신하는 단계
    를 더 포함하고,
    상기 선별 조건은 상기 목적 테이블에 포함된 복수의 필드들의 조합을 나타내는 필드 조건을 포함하고,
    상기 스캐닝하는 단계는, 상기 선별 조건에 기반하여, 상기 테이블들의 각각의 구조 및 각 테이블의 데이터를 스캐닝하고,
    상기 시각화하는 단계는,
    상기 스캐닝의 결과에 기반하여, 상기 목적 테이블에서 상기 필드 조건을 만족하는 필드들의 조합에 해당하는 필드 값들의 각 조합의 엔트리들의 수; 및 상기 필드들의 조합의 전체 엔트리들의 수에 대한 상기 필드 값들의 각 조합의 엔트리들의 수의 비율 중 적어도 하나를, 상기 목적 데이터로서 시각화하는, 목적 데이터 시각화 방법.
  15. 제14항에 있어서,
    상기 시각화하는 단계는,
    상기 필드 값들의 각 조합이 클렌징 대상인지를 나타내는 정보를, 상기 목적 데이터로서 더 시각화하는, 목적 데이터 시각화 방법.
  16. 제1항에 있어서,
    상기 목적 데이터의 시각화와 연관된 성능 정보를 제공하는 단계
    를 더 포함하고,
    상기 성능 정보는 상기 목적 데이터의 시각화를 위해 상기 테이블들을 병렬 처리하는 경우의 예상 처리 성능을 나타내는 정보를 포함하는, 목적 데이터 시각화 방법.
  17. 제1항 내지 제16항의 방법을 상기 컴퓨터 시스템에서 실행시키기 위한 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  18. 컴퓨터 시스템에 있어서,
    상기 컴퓨터 시스템에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    데이터베이스 내의 하나 이상의 테이블들을 스캐닝하고, 상기 스캐닝의 결과에 기반하여, 목적 데이터로서 상기 테이블들 중 적어도 하나의 목적 테이블에 대한 정보를 시각화하는, 컴퓨터 시스템.
PCT/KR2022/020925 2022-09-02 2022-12-21 목적 데이터 시각화 방법 및 시스템 WO2024048866A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220111536A KR20240032493A (ko) 2022-09-02 2022-09-02 목적 데이터 시각화 방법 및 시스템
KR10-2022-0111536 2022-09-02

Publications (1)

Publication Number Publication Date
WO2024048866A1 true WO2024048866A1 (ko) 2024-03-07

Family

ID=90098096

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/020925 WO2024048866A1 (ko) 2022-09-02 2022-12-21 목적 데이터 시각화 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR20240032493A (ko)
WO (1) WO2024048866A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100993817B1 (ko) * 2007-12-21 2010-11-12 한국과학기술정보연구원 정보 분석 시스템 및 그 방법
KR101798149B1 (ko) * 2017-04-17 2017-11-16 주식회사 뉴스젤리 데이터 테이블 중 일부 영역 선택을 통한 차트 시각화 방법
KR101950529B1 (ko) * 2011-02-24 2019-02-20 렉시스넥시스, 어 디비젼 오브 리드 엘서비어 인크. 전자 문서를 검색하는 방법 및 전자 문서 검색을 그래픽적으로 나타내는 방법
KR102256814B1 (ko) * 2020-09-10 2021-05-27 주식회사 아미크 목적 데이터 선별 방법 및 시스템
JP2022504865A (ja) * 2018-10-22 2022-01-13 タブロー ソフトウェア,インコーポレイテッド 選択したデータソースのオブジェクトモデルに従ったデータ視覚化の生成

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100993817B1 (ko) * 2007-12-21 2010-11-12 한국과학기술정보연구원 정보 분석 시스템 및 그 방법
KR101950529B1 (ko) * 2011-02-24 2019-02-20 렉시스넥시스, 어 디비젼 오브 리드 엘서비어 인크. 전자 문서를 검색하는 방법 및 전자 문서 검색을 그래픽적으로 나타내는 방법
KR101798149B1 (ko) * 2017-04-17 2017-11-16 주식회사 뉴스젤리 데이터 테이블 중 일부 영역 선택을 통한 차트 시각화 방법
JP2022504865A (ja) * 2018-10-22 2022-01-13 タブロー ソフトウェア,インコーポレイテッド 選択したデータソースのオブジェクトモデルに従ったデータ視覚化の生成
KR102256814B1 (ko) * 2020-09-10 2021-05-27 주식회사 아미크 목적 데이터 선별 방법 및 시스템

Also Published As

Publication number Publication date
KR20240032493A (ko) 2024-03-12

Similar Documents

Publication Publication Date Title
WO2015137641A2 (ko) 계층적인 룰 구조를 가지고 있는 비즈니스 룰 관리 시스템 및 그 표현 방법
WO2010087566A1 (en) Document analysis system
WO2018052257A1 (en) Apparatus and method for managing notification
WO2014065444A1 (ko) 개방형 공중망을 이용한 협업 시스템
WO2018174365A1 (ko) 데이터 테이블의 차트 시각화 방법
WO2018097407A1 (ko) 사용자 정의 erp 펑션 공유 방법 및 시스템
WO2020233060A1 (zh) 事件通知方法、事件通知服务器、存储介质及装置
WO2022108318A1 (ko) 스마트 컨트랙트 코드 취약점 분석 장치 및 방법
WO2017115994A1 (ko) 인공 지능 기반 연관도 계산을 이용한 노트 제공 방법 및 장치
WO2020130418A1 (ko) 협력업체 공급망 리스크 분석 방법
WO2022234876A1 (ko) 아이템 정보 제공 방법 및 그 장치
WO2024048866A1 (ko) 목적 데이터 시각화 방법 및 시스템
WO2022231047A1 (ko) 아이템 리스트 관리 방법 및 그 장치
WO2013008978A1 (ko) 개체 식별 결과 검색 시스템 및 방법
US11436029B2 (en) Help information display system, help information display method, and help information display program
WO2019098428A1 (ko) 사용자 별 확장 가능 관리 테이블을 이용한 erp 펑션 제공 방법 및 이를 수행하는 erp 펑션 제공 시스템
WO2013118971A1 (en) Method and system for completing schedule information, and computer-readable recording medium having recorded thereon program for executing the method
WO2018097361A1 (ko) 사용자 정의 erp 펑션 생성 방법 및 이를 수행하는 컴퓨팅 시스템
JP2004192212A (ja) ファイルの自動格納システム、自動格納プログラム及び自動格納方法
WO2018151536A1 (ko) 멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙 자동 생성 방법 및 장치
WO2021075793A1 (ko) 데이터 베이스에 포함된 데이터를 분석하는 데이터 분석 장치 및 방법
WO2022059941A1 (ko) 기업분할 시 조직 데이터를 선별하여 이관하는 방법 및 시스템
WO2018212536A1 (ko) 콘텐츠의 상세 수치정보 제공장치
JP2000163439A (ja) 電子ファイル検索装置および電子ファイル検索方法
JP2007293746A (ja) ファイル管理システム、ファイル管理プログラム及びファイル管理方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22957542

Country of ref document: EP

Kind code of ref document: A1