WO2023106608A1 - 개인정보 침해를 방지하기 위한 빅데이터 분석 장치, 동작 방법 및 비-일시적 컴퓨터 판독가능 저장 매체 - Google Patents

개인정보 침해를 방지하기 위한 빅데이터 분석 장치, 동작 방법 및 비-일시적 컴퓨터 판독가능 저장 매체 Download PDF

Info

Publication number
WO2023106608A1
WO2023106608A1 PCT/KR2022/015745 KR2022015745W WO2023106608A1 WO 2023106608 A1 WO2023106608 A1 WO 2023106608A1 KR 2022015745 W KR2022015745 W KR 2022015745W WO 2023106608 A1 WO2023106608 A1 WO 2023106608A1
Authority
WO
WIPO (PCT)
Prior art keywords
queries
query
sub
personal information
user
Prior art date
Application number
PCT/KR2022/015745
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
Priority claimed from KR1020210187449A external-priority patent/KR20230085035A/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Publication of WO2023106608A1 publication Critical patent/WO2023106608A1/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/24Querying
    • G06F16/242Query formulation
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Definitions

  • the following descriptions relate to a big data analysis device, an operating method, and a non-transitory computer readable storage medium for preventing invasion of personal information.
  • a method of operating a big data analysis apparatus may include receiving a user query.
  • the method may include an operation of decomposing the received user query into a plurality of sub-queries.
  • the method may include an operation of identifying first sub-queries configured to refer to personal information among the plurality of sub-queries.
  • the method may include an operation of restructuring the first sub-queries into second sub-queries independent of the personal information, based on a component accessible to the personal information.
  • the method may include generating a reconfigured query by merging the second sub-queries and sub-queries other than the first sub-queries configured to refer to the personal information among the plurality of sub-queries.
  • An apparatus for analyzing big data includes a query interface for receiving a user input, a query reconstruction module for decomposing a query into sub-queries or merging sub-queries, and performing an operation on a requested query. It may include a query engine for outputting result data and a natural language interpretation module for generating filtering conditions to be used for sub queries.
  • the big data analysis device may be configured to receive a user query through the query interface.
  • the big data analysis apparatus may be configured to decompose the received user query into a plurality of sub-queries.
  • the big data analysis apparatus may be configured to identify first sub-queries configured to refer to personal information among the plurality of sub-queries through the query reconstruction module.
  • the big data analysis apparatus may be configured to reconstruct the first sub-queries into second sub-queries independent of the personal information based on a component accessible to the personal information through the query reconstruction module.
  • the big data analysis apparatus merges and reconstructs the second sub-queries and the remaining sub-queries except for the first sub-queries configured to refer to the personal information among the plurality of sub-queries through the query reconstruction module.
  • a non-transitory computer readable storage medium may store one or more programs.
  • the one or more programs when executed by a processor of an electronic device having at least one memory configured to store instructions for executing a query interface, a query reconstruction module, a query engine, and a natural language interpretation module, the query interface Through, it may be configured to receive a user query.
  • the one or more programs when executed by the processor, decompose the received user query into a plurality of sub-queries through the query reconstruction module, and through the query reconstruction module, one of the plurality of sub-queries. It may be configured to identify first sub-queries configured to refer to information.
  • the one or more programs when executed by the processor, reconfigure the first sub-queries into second sub-queries independent of the personal information based on a component accessible to the personal information through the query reconstruction module.
  • the one or more programs when executed by the processor, through the query reconstruction module, other than the second sub-queries and the first sub-queries configured to refer to the personal information among the plurality of sub-queries. It can be configured to merge subqueries to create a restructured query.
  • a big data analysis apparatus, operation method, and non-transitory computer readable recording medium that are robust against personal information protection violations improve existing platforms that have limitations in use in terms of security and personal information protection, Efficient analysis can be performed without fear of infringement on users' personal information. Accordingly, it is possible to provide a solution to respond to rapidly changing market conditions by increasing the productivity of analysis of vast amounts of personal information and enabling quick decision-making based on data.
  • FIG. 1 is a block diagram of an electronic device in a network environment, according to various embodiments.
  • FIG. 2 illustrates an example of a system including an electronic device and a server device, according to various embodiments.
  • FIG. 3 is a simplified block diagram of a database storage device, in accordance with various embodiments.
  • FIG. 4 is a simplified block diagram of a big data analysis device according to various embodiments.
  • FIG. 5 is a flowchart illustrating a method of operating a big data analysis device according to various embodiments.
  • FIG. 6 is a flowchart illustrating a method of operating a big data analysis apparatus according to various embodiments.
  • FIG. 7 is a flowchart illustrating an operating method of a query reconstruction module for reconstructing second sub-queries, according to various embodiments.
  • FIG. 1 illustrates an example of an electronic device 101 in a network environment 100 according to various embodiments.
  • an electronic device 101 may access a server device 202 in a network environment 100 .
  • the electronic device 101 may request access to the server device 202 to perform data analysis using user data stored in a database.
  • the electronic device 101 may access the server device 202 through a server based computing (SBC) access network 110 or access the server device 202 through a general access network 120.
  • SBC server based computing
  • the electronic device 101 may access the server device 202 through the SBC access network 110 .
  • the electronic device 101 may have permission to access data having a personal information attribute among user data stored in the database of the server device 202 .
  • the electronic device 101 via the SBC access network 110 may acquire a personal information reader role.
  • the electronic device 101 may access the server device 202 through the general access network 120 .
  • the electronic device 101 cannot have permission to access data having a personal information attribute among user data stored in the database of the server device 202 .
  • the electronic device 101 via the general access network 120 requests to retrieve data having a personal information attribute, the request may be rejected. Accordingly, the electronic device 101 desiring to perform data analysis using user data including personal information attributes may be forced to go through the SBC access network 110 .
  • the electronic device 101 is shown based on access to the server device 202 based on logical network separation of the SBC method using the SBC access network 110 and the general access network 120, but is limited thereto. it is not going to be According to various embodiments, the electronic device 101 first drives a local access network capable of accessing data corresponding to personal information properties among user data stored in a database of a server device 202 inside the electronic device 101. It is possible to separate an operating system (OS) and a second OS that drives an external access network accessible to data other than data corresponding to personal information attributes among user data stored in the database of the server device 202 . That is, the electronic device 101 may use logical network separation based on a CBC (client based computing) method.
  • OS operating system
  • CBC client based computing
  • FIG. 2 illustrates an example system 200 that includes an electronic device 201, a server device 202, and a user service server device 203, according to various embodiments.
  • a system 200 may include an electronic device 201 , a server device 202 and a user service server device 203 .
  • the electronic device 201 may correspond to the electronic device 101 of FIG. 1 .
  • Server device 202 may correspond to server 108 of FIG. 1 .
  • the electronic device 201 may transmit a user query to the server device 202 .
  • the user query may refer to a set of languages in which a client (eg, the electronic device 201) requests specific data of a desired condition among data stored in the server device 202.
  • a user query may be based on a structured query language (SQL) for managing and processing data in a database system (DBMS).
  • SQL structured query language
  • DBMS database system
  • the server device 202 may process the user query and output a result data set.
  • the result data set may correspond to a set of data that satisfies a condition desired by the client among data stored in the database.
  • server device 202 may include database storage device 210 .
  • the database storage device 210 may include raw data for user data obtained in the course of providing a service and a database that converts the raw data into a common format and manages the raw data.
  • the database storage device 210 may include data for compliance with privacy protection.
  • the database storage device 210 may include information on revision history of legal terms and conditions related to personal information processing.
  • the database storage device 210 may include information on a review result of the legal terms and conditions. Information on the revision history of the legal agreement or information on the review result may be stored as metadata.
  • the server device 202 may include a big data analysis device 220 .
  • the big data analysis device 220 may receive the user query and determine whether there is a possibility of personal information protection violation of the user query.
  • the big data analysis apparatus 220 may decompose the user query into a plurality of sub-queries, and determine the possibility of personal information protection violation based on reference factors of the sub-queries.
  • the big data analysis device 220 may convert the user query into a personal information-independent reconstruction query when it is identified that at least one sub-query among the sub-queries has a possibility of violating personal information protection.
  • the big data analysis device 220 For example, if there is a sub query including an analysis function using a column corresponding to personal information as a key for partitioning among the sub queries, the big data analysis device 220 A subquery may be reconstructed to refer to a nested structure table restructured by denormalization according to a column corresponding to the personal information. For another example, the big data analysis device 220 searches (selects) a column corresponding to the personal information from among the plurality of sub-queries, or aggregates using a column corresponding to the personal information as a dimension. You can identify subqueries that contain functions.
  • the big data analysis device 220 may create an aggregation function having authority to access a column corresponding to the personal information, and control the aggregation operation to be delegated.
  • An aggregation function having the right to access may be referred to as an authorized aggregation function.
  • the user service server device 203 may provide information related to user services to the server device 202 .
  • the user service may include at least a CS counseling service and a user-customized advertisement service.
  • the information related to the user service may include user data obtained in a process of providing the user service.
  • user data obtained in the process of providing the user service may include information for identifying a user who requested CS counseling.
  • the information for identifying the user may include at least a device identifier (DEVICE_ID) and a user identifier (USER_ID).
  • DEVICE_ID device identifier
  • USER_ID user identifier
  • user data obtained in the process of providing the user service may include information for providing a user-customized advertisement service.
  • the information for providing the user-customized advertisement service may include at least a user identifier (USER_ID), a purchased product (BUY_PRODUCT), a purchased type (BUSINESS_CATEGORY), and a purchase history (BUY_HISTORY). That is, the user service server device 203 may provide the user data obtained in the process of providing the user service to the server device 202 .
  • the user data may be stored in the database storage device 210 and used to analyze user data by the big data analysis device 220 .
  • the information related to the user service may include information on terms and conditions of the user service and information on a legal review opinion.
  • the terms and conditions information may include contents of the terms and conditions in which the user agrees to be provided with the CS counseling service and contents of the terms and conditions in which the user agrees to be provided with the user-customized advertisement service.
  • the user service server device 203 may provide the server device 202 with terms and conditions information for each of a plurality of services that can be provided to the user.
  • Legal review opinion information may include information to prevent violation of the Personal Information Protection Act.
  • the big data analysis device 220 may combine and analyze user data acquired through different user services. Combining and analyzing user data that is not based on legal review opinions may violate privacy laws.
  • the legal review opinion information may include information for instructing to exclude the device identifier (DEVICE_ID) from available information when combining the CS counseling service and the customized advertisement service. That is, the user service server device 203 may provide the user data obtained in the process of providing the user service to the server device 202 .
  • the user data may be stored in the database storage device 210 and used to analyze user data by the big data analysis device 220 .
  • FIG. 3 is a simplified block diagram of a database storage device 210 according to various embodiments.
  • the database storage device 210 may include a privacy notice (PN) storage 212, a user rights (UR) storage 214, a nested structure table storage 216, and a data warehouse 218.
  • PN privacy notice
  • UR user rights
  • the PN repository 212 may store information about terms and conditions for compliance with privacy protection, information about revision history of the terms and conditions, information about laws of privacy protection, and legal review opinions on the laws. It may contain at least information about.
  • the PN storage 212 may include history information for managing the history of personal information processing policies notified to users for each type of service.
  • the PN repository 212 may store the information as metadata.
  • the PN storage 212 may store terms and conditions for complying with personal information protection for each service type and legal review opinions for each of the above terms as metadata.
  • the UR repository 214 may store metadata for managing requested user rights on a service-by-service basis.
  • the UR storage 214 may store user rights requested for the first service as first right information.
  • the UR storage 214 may store user rights requested for the second service as second right information.
  • the first rights information may be different from the second rights information.
  • the user may request a processing restriction right for a first service, and may not request the processing restriction right for a second service.
  • the right to restrict processing may be a right to restrict use but to suspend deletion when there is a need to preserve personal information for proof of accuracy and legality of processing. That is, the UR storage 214 may store the right to personal information requested by the user for each service as metadata.
  • the database storage device 210 may include a nested structure table storage 216 .
  • the nested structure table storage 216 may refer to a table in which a plurality of tables including user data are restructured based on pre-specified columns.
  • the pre-designated column may refer to at least one column among a plurality of columns having a personal information attribute.
  • the nested structure table storage 216 may store a table in which the raw data is restructured based on the user ID (USER_ID), and a table in which the raw data is restructured according to the device identifier (DEVICE_ID) may be stored.
  • USER_ID user ID
  • DEVICE_ID device identifier
  • the device identifier DEVICE_ID includes an international mobile equipment identity (IMEI), a mobile equipment identifier (MEID), an electronic serial number (ESN), a pseudo ESN (pESM), a serial number, and a media access control (MAC) address. , and at least one of a universally unique identifier (UUID).
  • the nested structure table storage 216 may store a table in which the row data is restructured according to the user ID (USER_ID) and then restructured according to the device identifier (DEVICE_ID).
  • database storage 210 may include data warehouse 218 .
  • the data warehouse 218 may process raw data including user data and store a special type of database used for data analysis.
  • the data warehouse 218 may further include a personal information attribute tag management module (not shown).
  • the data warehouse 218 may tag the collected user data according to columns corresponding to privacy attributes.
  • FIG. 4 is a simplified block diagram of a big data analysis device 220 according to various embodiments.
  • the big data analysis device 220 may include a query engine 222, a query reconstruction module 224, a natural language interpretation module 226, and a function integration module 228.
  • the query engine 222 may perform the final query converted from the user query by the query reconstruction module 224.
  • the query engine 222 may output a result data set as a result of performing the final query.
  • the result data set may include data of a condition requested by a user query.
  • the query engine 222 according to an embodiment may perform a final query reconstructed from the query reconstruction module 224 so as not to infringe personal information.
  • query reconstruction module 224 may transform user queries.
  • the query restructuring module 224 includes an analytic function in which the user query retrieves a personal information attribute column, includes an aggregation function having a personal information attribute column as a dimension, or uses a personal information attribute column as a partitioning key. In response to identifying what it does, it may determine a transformation of the user query. For example, the query reconstruction module 224 may decompose a user query into a plurality of sub-queries and identify at least one sub-query including an analysis function among the sub-queries.
  • the query restructuring module 224 refers to the nested structure table from the nested structure table storage 216. subqueries can be restructured to The nested structure table may be a table reorganized based on a column corresponding to a personal information attribute set as a partitioning key by the analysis function.
  • the query reconstruction module 224 may decompose a user query into a plurality of sub-queries and identify at least one sub-query including an aggregate function from among the sub-queries.
  • the query reconstruction module 224 When the aggregation function included in the at least one sub-query is a function that uses a column having a personal information attribute as a reference factor, the query reconstruction module 224 generates a permitted aggregation function through the function integration module 228, and You can delegate execution to permission aggregation functions.
  • the natural language interpretation module 226 may generate subqueries for filtering conditions based on the legal terms and metadata about the legal review opinions of the terms and conditions. Although not shown, the natural language interpretation module 226 receives metadata from the PN storage 212 and the UR storage 214, and generates a rule based on the metadata. A PN interpreter (not shown) and UR It may further include an interpreter (not shown). The natural language interpretation module 226 may further include a condition generator (not shown) for generating a predicate in a query from rules generated through the PN interpreter (not shown) and the UR interpreter (not shown). For example, the terms and conditions for service provision (consent_version) may be amended to add contents agreeing to analysis of combination with other services.
  • the terms before the revision may be 'version1', and the terms after the revision may be 'version2'. Since the natural language interpretation module 226 must perform combination analysis with other services only for users who have agreed to the revised terms and conditions, it can create conditional statements corresponding to WHERE clauses that perform filtering conditions.
  • the WHERE clause is a conditional statement injected into a reconfiguration query and may indicate the filtering condition.
  • the natural language interpretation module 226 may generate sub-queries for filtering conditions based on metadata about the range of user rights. For example, when the natural language interpretation module 226 receives metadata indicating that the processing restriction right of the user is activated from the UR storage 214, subqueries of filtering conditions for preventing modification of user data are generated. can do.
  • the function integration module 228 may be a module for generating a function that instead performs an operation of an aggregation function that refers to personal information attributes.
  • a function that performs the above operation instead may be referred to as a permission aggregation function.
  • the permission aggregation function may have an access right to a column corresponding to the personal information attribute.
  • the big data analysis device 220 can prevent direct reference to personal information properties by performing aggregation operations instead of using the permission aggregation function generated through the function integration module 228 and obtaining the result in the form of a sub-query.
  • the permission aggregation function may be similar to setuid that grants special permission in a Unix-type operating system (eg, Linux).
  • the function integration module 228 may perform natural language processing based on a neural network.
  • the neural network network includes a Convolution Neural Network (CNN), such as GoogleNet, AlexNet, and VGG Network, a Region with Convolution Neural Network (R-CNN), a Region Proposal Network (RPN), a Recurrent Neural Network (RNN), and a Stacking Network (S-DNN).
  • CNN Convolution Neural Network
  • R-CNN Region with Convolution Neural Network
  • RPN Region Proposal Network
  • RNN Recurrent Neural Network
  • S-DNN Stacking Network
  • S-SDNN State-Space Dynamic Neural Network
  • Deconvolution Network DBN (Deep Belief Network)
  • RBM Restricted Boltzman Machine
  • Fully Convolutional Network etc. It is not limited to this.
  • FIG. 5 is a flowchart illustrating an operating method of the big data analysis device 220 according to various embodiments.
  • the big data analysis apparatus 220 generates and stores nested structure tables in which tables including columns of personal information attributes are restructured according to personal information attributes based on the collected user data.
  • the big data analysis device 220 may receive user data obtained in the process of providing a user service from the user service server device 203 .
  • the user data may be a table including both data corresponding to personal information attributes and data not corresponding to personal information attributes.
  • the big data analysis device 220 may restructure the table into a nested structure table.
  • a nested structure table restructured according to the partitioning key is created and stored in the nested structure table storage 216.
  • the big data analysis device 220 transforms the table structure of the received user data into the personal information property so as to perform aggregation by an analysis function having no personal information property by converting a sub-query to refer to a nested structure table.
  • a restructured nested structure table can be created and managed.
  • the nested structure table may be provided in the form of a view.
  • the big data analysis device 220 may convert and store collected information on terms and conditions and information on legal review opinions into metadata for generating conditional sentences to be injected into sub queries through natural language analysis.
  • the big data analysis device 220 provides information on the terms and conditions of the user service previously provided from the user service server device 203 and information on legal review opinions on the terms and conditions. can receive
  • the big data analysis device 220 may use the natural language interpretation module 226 to convert the terms and conditions information and the legal review opinion information into metadata.
  • the metadata may be used to generate conditional statements to be injected into a reconfiguration query.
  • the big data analysis device 220 may receive a user query from the electronic device 201.
  • the electronic device 201 may correspond to the electronic device 101 of FIG. 1 .
  • the big data analysis device 220 may provide the user query to the query reconstruction module 224 of the big data analysis device 220 to determine whether the user query is based on the personal information attribute column.
  • the user query received by the query reconstruction module 224 may correspond to the table below.
  • the big data analysis device 220 may decompose the user query into a plurality of sub-queries.
  • the query reconstruction module 224 may decompose the user query into a plurality of sub-queries.
  • the plurality of sub queries may include at least some of sub queries including an analytic function and sub queries including an aggregation function. Referring to Table 1, the query reconstruction module 224 analyzes the user query, identifies that it directly refers to guid and device_id, which are columns corresponding to personal information properties, and identifies to be decomposed into sub-queries.
  • the big data analysis apparatus 220 may identify first sub-queries referring to personal information among a plurality of sub-queries.
  • the plurality of sub queries may include sub queries including an analytic function.
  • the query reconstruction module 224 may identify a column that is a criterion (eg, key) for partitioning of the analytic function.
  • a column serving as a criterion for partitioning of the analytic function may have a personal information attribute.
  • the plurality of sub queries may include sub queries including an aggregate function. For example, if a reference factor of a subquery including an aggregate function in the SELECT clause or a reference factor of a subquery including an aggregate function in the GROUP BY clause corresponds to a column having a privacy attribute, the result of the subquery is still referenced. Since it has personal information properties corresponding to the factor, it can violate the law for personal information protection. Accordingly, the query reconstruction module 224 may identify first sub-queries referring to personal information among a plurality of sub-queries.
  • the big data analysis apparatus 220 may convert the first sub-queries into second sub-queries independent of personal information.
  • the query reconstruction module 224 may re-write the first sub-queries into the second sub-queries based on a component accessible to the personal information.
  • the first sub-queries may correspond to sub-queries including an analytic function. Violation of the law may be caused based on the fact that the column of the criterion partitioned by the analytic function has a personal information attribute.
  • the query reconstruction module 224 may request the database storage device 210 for a nested structure table reorganized according to columns having attributes of the personal information. For example, a column partitioned by the analytic function may be a user level column.
  • the information on the user level may correspond to personal information properties.
  • the query reconstruction module 224 may request the database storage device 210 for the reorganized nested structure table according to the column of the user level, and refer to the reorganized nested structure table according to the column of the user level.
  • the big data analysis device 220 does not group by directly referring to the column of the user level, thereby eliminating the possibility of personal information protection violation.
  • the first sub-queries may correspond to sub-queries including an aggregate function. If the reference factor of the aggregation function is a column having a personal information attribute, a violation of laws for protecting personal information may be caused.
  • the query reconstruction module 224 may use the function aggregation module 228 to generate a sub-query including an authorized aggregation function.
  • a reference factor of the aggregation function may be a column of a user level.
  • the query restructuring module 224 uses the function integration module 228 to avoid a subquery including an aggregation function that refers to a user level column because the result of the subquery includes user level information. You can create permission aggregation functions.
  • the permitted aggregation function may be a function for delegating the execution of an aggregation function that uses a column of a user level as a reference factor.
  • the query reconstruction module 224 does not directly refer to columns of the personal information attribute, and the sub-query including the permitted aggregation function may provide only context necessary for aggregation.
  • the big data analysis apparatus 220 may generate a reconstructed query by merging second sub-queries with remaining sub-queries except for the first sub-queries among the plurality of sub-queries.
  • the remaining sub-queries other than the first sub-queries may be sub-queries independent of columns corresponding to personal information attributes. Therefore, in the reconstruction query generated by the big data analysis device 220, the remaining sub-queries independent of the column corresponding to the personal information and the second sub-queries indirectly referencing the column corresponding to the personal information are merged. Therefore, it is possible to block the possibility of violating the law on personal information protection.
  • FIG. 6 is a flowchart illustrating an operating method of the big data analysis device 220 according to various embodiments.
  • the big data analysis device 220 may obtain metadata from the PN storage 212 and the UR storage 214 of the database storage device 210 .
  • the PN repository 212 may include metadata about revision history and review opinions of legal terms and conditions related to the processing of personal information.
  • the UR repository 214 may store metadata for managing requested user rights for each service.
  • the big data analysis device 220 may obtain filtering conditional sentences corresponding to the obtained metadata based on the natural language analysis module 226.
  • the conditional statements may be configured to be injected into a reorganization query to perform the filtering.
  • the natural language interpretation module 226 may generate subqueries for filtering conditions based on metadata received from the PN repository 212 and the UR repository 214 .
  • the terms and conditions for service provision may be amended to add contents agreeing to analysis of combination with other services.
  • the terms before the revision may be 'version1', and the terms after the revision may be 'version2'.
  • the natural language interpretation module 226 Since the natural language interpretation module 226 needs to perform combination analysis with other services only for users who have agreed to the revised terms and conditions, it can create conditional statements in the WHERE clause that perform filtering conditions. For another example, when the user of the electronic device 101 intends to perform a combination analysis with an existing service and another service (eg, customer consultation service), the laws of country A, which is one of the countries providing the other service, can only utilize counseling history information provided after 201B, and can be changed so that only phone numbers and e-mail addresses can be used when searching user information. In this case, the natural language interpretation module 226 may generate subqueries for limiting the consultation history information generation time since 201B as the first filtering condition and phone numbers and e-mails as information that can be inquired as the second filtering condition. there is.
  • the natural language interpretation module 226 may generate subqueries for limiting the consultation history information generation time since 201B as the first filtering condition and phone numbers and e-mails as information that can be inquired as the second
  • the big data analysis apparatus 220 may generate a final query by injecting the conditional statement of the WHERE clause for the filtering into the reconstruction query.
  • the final query generated by the query reconstruction module 224 may be as shown in the table below.
  • the natural language interpretation module 226 generates a conditional statement in the WHERE clause in order to limit users who have agreed to the terms after the revision, and injects the generated conditional statement at the end of the reconstruction query ( or adding). Since the final query is limited to the case where the terms for service provision (consent_version) are the terms after revision (version2), the violation of personal information protection is prevented by performing a combination analysis on users of the terms and conditions (version1) before revision. The possibility of occurrence may be blocked.
  • the big data analysis device 220 may obtain a result data set for the user query by injecting the final query into the query engine 222. Referring to FIGS.
  • the query reconstruction module 224 transforms and reorganizes subqueries based on at least a column having personal information into equivalent subqueries that do not directly refer to the column. By creating a query, you can block the possibility of violating the law for privacy protection.
  • the query reconstruction module 224 generates a conditional statement for filtering based on the UR storage 214 and the PN storage 212, and injects the generated conditional statement into the reconstruction query to generate a final query, The possibility of personal information protection violations that may occur due to changes in contents or amendments to laws can also be blocked.
  • the WHERE clause is automatically injected as a filtering condition, so users do not have to worry about infringement of personal information without any extra effort in the data analysis process. It is possible to obtain a result data set that does not exist.
  • FIG. 7 is a flowchart illustrating an operating method of the query reconstruction module 224 for reconstructing second sub-queries, according to various embodiments.
  • the query reconstruction module 224 may identify analysis queries among the first sub-queries.
  • the analysis query may refer to a sub query including an analysis function.
  • the query reconstruction module 224 may identify whether the analysis queries use partitioning based on personal information.
  • Query reconstruction module 224 may identify attributes of columns that correspond to keys of partitioning for an analytic function. According to an embodiment, when a column corresponding to a partitioning key for an analysis query does not correspond to a personal information attribute, it is possible to determine the existence of an aggregation query using the personal information attribute as a reference factor.
  • the aggregate query may refer to a sub query including an aggregate function. If the partitioning keys for each of the analysis queries do not all correspond to the privacy attribute, the results of the analysis queries do not correspond to the privacy attribute as well. Accordingly, operation 750 may be performed to perform only determination of the reference factor of the aggregate query.
  • the analysis query is executed through the query engine 222.
  • the results of analysis queries may include personal information properties as they are.
  • the query reconstruction module 224 converts the analysis queries into aggregate queries to refer to the nested structure table for which the partitioning is completed based on the personal information, and in operation 740 identifies between the converted aggregate queries and the first sub-queries. Subqueries other than the analytic query can be merged. For example, referring back to Table 1 above, a user query may directly refer to guid and device_id, which are columns corresponding to personal information properties. The query restructuring module 224 may combine guids that refer to the same column based on the GROUP BY clause.
  • the database storage device 210 combines table 1 of the first service and table 2 of the second service through the JOIN clause to combine the same column (guid) according to the GROUP BY clause to denormalize )can do.
  • the denormalization table may correspond to the table below.
  • guid device_id device_type abc123 111111 Mobile abc123 222222 Mobile abc123 333333 Airconditioner xyz987 444444 Mobile xyz987 555555 TV xyz987 666666 TV
  • rows having the same guid value may be generated as a group by comparing the contents of the guid column while executing the GROUP BY clause.
  • the database storage device 210 creates and stores a nested structure table based on the guid column can A nested structure table based on guid can correspond to the table below.
  • guid device_id device_type abc123 111111 Mobile 222222 Mobile 333333 Airconditioner xyz987 444444 Mobile 555555 TV 666666 TV
  • the query restructuring module 224 refers to a nested table based on the guid column, it can assume that groups are classified based on guid even if there is no GROUP BY clause, so the GROUP BY clause can be deleted.
  • the JOIN clause you can identify that the guid column values corresponding to the partitioning keys of Table 1 and Table 2 are being compared in the ON clause.
  • a violation of the privacy protection law may occur.
  • a combination by a JOIN clause can be removed by referring to a nested structure table, similar to the GROUP BY clause of the guid column.
  • the generated nested structure table may have a form of an authorized view, and thus, additional overhead may not occur in generating the nested structure table.
  • Results of removing subqueries referring to columns corresponding to personal information attributes through operations 730 to 740 may correspond to the table below.
  • the JOIN clause and the ON clause referring to the guid column in the GROUP BY clause can be removed by referring to the nested structure table (customer_service_table1_table2_nested).
  • the query reconstruction module 224 may identify a reference factor for each aggregate function including a SELECT clause.
  • an aggregate function that includes a SELECT clause that directly refers to the guid column and the device_id column may cause violation of privacy laws. Accordingly, the query reconstruction module 224 may determine that there is an aggregate query referencing personal information.
  • the query reconstruction module 224 may generate a reconstruction query including a permission aggregation query having rights to the personal information referenced via the functional integration module 228 .
  • function integration module 228 may generate the permission aggregation query in response to a request from query reconstruction module 224 .
  • the permission aggregation query may be a sub query including an aggregation function having access rights to columns corresponding to personal information attributes. Referring to Table 5, an aggregation function including a SELECT clause that directly refers to a guid column and a device_id column can delegate a query to the permission aggregation query to avoid a possibility of personal information violation.
  • the permission aggregation query may perform aggregation based on a guid column corresponding to a personal information attribute and a device_id column corresponding to a personal information attribute according to a category dimension.
  • the reconstruction query generated through operation 760 may correspond to the table below.
  • the subquery modified to use the permission aggregation function may delegate execution to the dynamically generated permission aggregation function without directly referring to the guid column and the device_id column having personal information attributes.
  • the changed sub-query may receive a result from the permission aggregation function in the form of a sub-query.
  • a method of operating a big data analysis apparatus includes receiving a user query, decomposing the received user query into a plurality of sub-queries, and including the plurality of sub-queries. An operation of identifying first sub-queries configured to refer to personal information among queries, and restructuring the first sub-queries into second sub-queries independent of the personal information based on a component accessible to the personal information. and generating a reconfigured query by merging the second sub-queries and sub-queries other than the first sub-queries configured to refer to the personal information among the plurality of sub-queries. .
  • the method of operating the big data analysis apparatus includes generating filtering conditions related to the personal information, generating a final query by adding the generated filtering conditions to the reconstruction query, and The method may further include an operation of injecting a final query into a query engine to acquire data about an analysis result of big data.
  • the filtering conditions may include conditions for preventing legal violations related to the personal information and conditions for not exceeding the user's consent range related to the personal information.
  • the first sub-queries include analytic queries using an analytic function including partitioning based on the personal information, and analytic queries using an aggregation function not including partitioning based on the personal information.
  • the reconstructing of the second sub-queries may include the operation of identifying the analysis queries among the first sub-queries and the nested data including pre-partitioned data based on the personal information. ) table, and converting the analysis queries, and a component capable of accessing the personal information may correspond to the nested table.
  • the restructuring of the second sub-queries may include identifying sub-queries referring to the personal information among the converted analysis queries and the aggregation queries; An operation of converting into sub-queries that provide a context for the personal information through an authorized aggregation function that delegates the execution, and the sub-queries that are converted to provide the context and merging sub-queries other than the first sub-queries configured to refer to personal information among the plurality of sub-queries, wherein the component capable of accessing the personal information includes the permitted aggregation function can correspond to
  • the filtering conditions include a sub-query obtained by converting natural language representing information on the law related to the personal information and information on the range of consent of the user related to the personal information based on an AI (artificial intelligence) model.
  • AI artificial intelligence
  • the personal information may correspond to information accessible through a separate network distinct from the network to which the big data analysis device is connected.
  • the overlapping table may correspond to a table obtained by restructuring a table including the big data based on each data representing the attribute of the personal information among the big data.
  • the big data analysis apparatus includes a query interface for receiving a user input, a query reconstruction module for decomposing a query into sub-queries or merging sub-queries, and a query for a requested query. It includes a query engine for performing calculations and outputting result data, and a natural language interpretation module for generating sub-queries for filtering conditions, wherein the big data analysis device receives a user query through the query interface, and Decomposing a received user query into a plurality of sub-queries, identifying first sub-queries configured to refer to personal information among the plurality of sub-queries through the query reconstruction module, and through the query reconstruction module, Based on the component accessible to the personal information, the first sub-queries are reconstructed into second sub-queries independent of the personal information, and through the query reconstruction module, the second sub-queries and the plurality of sub-queries are reconfigured.
  • a reconstruction query may be generated by merging sub-queries other than the first sub-queries configured to refer to the personal information among sub-que
  • the big data analysis apparatus generates filtering conditions related to the personal information through a natural language interpretation module, provides the generated conditions to the query reconstruction module, and through the query reconstruction module, the A final query may be generated by adding the generated filtering conditions to the reconstruction query, and data for an analysis result corresponding to the final query may be obtained through the query engine.
  • the filtering conditions may include conditions for preventing legal violations related to the personal information and conditions for not exceeding the user's consent range related to the personal information.
  • the first sub-queries include analytic queries using an analytic function including partitioning based on the personal information, and aggregation queries using an aggregation function not including partitioning based on the personal information.
  • the query reconstruction module identifies the analysis queries among the first sub-queries, and refers to a nested structure table including data restructured in advance based on the personal information.
  • a component capable of transforming analytics queries and accessing the personal information may be configured to correspond to the nested table.
  • the query reconstruction module identifies subqueries that refer to the personal information among the converted analysis queries and the aggregation queries, and grants permission to perform the identified subqueries.
  • converted into subqueries that provide a context for the personal information through an authorized aggregation function and personal information among the subqueries converted to provide the context and the plurality of subqueries may be configured to merge the remaining sub-queries except for the first sub-queries configured to refer to, and a component capable of accessing the personal information may correspond to the permitted aggregation function.
  • the filtering conditions include an artificial intelligence (AI) model included in the natural language interpretation module for natural language representing information on laws related to the personal information and information on a range of consent of a user related to the personal information. Subqueries converted based on can be included.
  • AI artificial intelligence
  • the personal information may correspond to information accessible through a separate network distinct from the network to which the big data analysis device is connected.
  • the overlapping table may correspond to a table obtained by restructuring a table including the big data based on each data representing the attribute of the personal information among the big data.
  • a non-transitory computer readable storage medium storing one or more programs according to an embodiment as described above is configured to execute a query interface, a query reconstruction module, a query engine, and a natural language interpretation module.
  • a processor of an electronic device having at least one memory configured to store instructions for storing instructions, a user query is received through the query interface, and the received user query is converted into a plurality of received user queries through the query reconstruction module.
  • a reconstruction query may be generated by merging sub-queries other than the first sub-queries configured to refer to information.
  • the processor when executing the instructions,
  • filtering conditions related to the personal information are generated, through the query reconstruction module, a final query is generated by adding the generated filtering conditions to the reconstruction query, and through the query engine, the It may be configured to obtain data about analysis results corresponding to the final query.
  • Electronic devices may be devices of various types.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a camera
  • a wearable device e.g., a smart bracelet
  • first, second, or first or secondary may simply be used to distinguish that component from other corresponding components, and may refer to that component in other respects (eg, importance or order) is not limited.
  • a (e.g. first) component is said to be “coupled” or “connected” to another (e.g. second) component, with or without the terms “functionally” or “communicatively”.
  • the certain component may be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logical blocks, parts, or circuits.
  • a module may be an integrally constructed component or a minimal unit of components or a portion thereof that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • a storage medium eg, internal memory 136 or external memory 138
  • a machine eg, electronic device 101
  • a processor eg, the processor 120
  • a device eg, the electronic device 101
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • the storage medium is a tangible device and does not contain a signal (e.g. electromagnetic wave), and this term refers to the case where data is stored semi-permanently in the storage medium. It does not discriminate when it is temporarily stored.
  • a signal e.g. electromagnetic wave
  • the method according to various embodiments disclosed in this document may be included and provided in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • a computer program product is distributed in the form of a device-readable storage medium (eg CD-ROM (compact disc read only memory)), or through an application store (eg Play Store) or on two user devices (eg. It can be distributed (eg downloaded or uploaded) online, directly between smart phones.
  • a device-readable storage medium eg CD-ROM (compact disc read only memory)
  • an application store eg Play Store
  • It can be distributed (eg downloaded or uploaded) online, directly between smart phones.
  • at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.
  • each component (eg, module or program) of the above-described components may include a single object or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. there is.
  • one or more components or operations among the aforementioned corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg modules or programs
  • the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by a corresponding component of the plurality of components prior to the integration. .
  • the operations performed by a module, program or other component are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations are executed in a different order. may be added, omitted, or one or more other actions may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

일(an) 실시예에 따른 빅데이터 분석 장치의 동작 방법은, 사용자 쿼리를 수신하는 동작과, 상기 수신된 사용자 쿼리를 복수의 서브 쿼리들로 분해하는 동작과, 상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 제1 서브 쿼리들을 식별하는 동작과, 상기 개인 정보에 접근 가능한 컴포넌트에 기반하여, 상기 제1 서브 쿼리들을 상기 개인 정보에 독립적인 제2 서브 쿼리들로 재구성하는 동작과, 상기 제2 서브 쿼리들과, 상기 복수의 서브 쿼리들 중 상기 개인 정보를 참조하도록 구성된 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하여 재구성 쿼리를 생성하는 동작을 포함할 수 있다.

Description

개인정보 침해를 방지하기 위한 빅데이터 분석 장치, 동작 방법 및 비-일시적 컴퓨터 판독가능 저장 매체
아래의 설명들은 개인정보 침해를 방지하기 위한 빅데이터 분석 장치, 동작 방법 및 비-일시적 컴퓨터 판독가능 저장 매체에 관한 것이다.
O2O(online to offline), 메타버스(metaverse)를 포함하는 비대면(contactless) 서비스 상에서 유저들의 온라인 활동이 날로 증가하고 있다. 증가된 온라인 활동에 따라, 방대한 개인정보들이 클라우드 환경을 통해 수집되고 있다.
한편, 수집된 개인정보에 대한 유출, 오남용 및 불법 유통의 우려를 해소하기 위하여, 국가별로 개인정보에 대한 규제를 강화하는 노력이 심화되고 있다. 예를 들어, 한국의 경우 데이터 3법(개인정보보호법, 정보통신망법, 신용정보법)을 제정하였으며, 유럽 연합의 경우 GDPR(general data protection regulation), 미국의 경우 CCPA(California customer privacy act)를 제정하는 등 국가별로 개인정보 보호를 위한 규제들이 작동하고 있다.
법률로 강제되는 수준의 개인정보 보호 장치를 갖춘 망분리된 환경에서 유저들에 대한 빅데이터를 분석하는 플랫폼의 이용 주체인 사용자는 다양한 기능을 포함하는 대화형 분석 인터페이스를 제공받을 수 없다. 이에 따라, 빅데이터 분석 장치를 포함하는 플랫폼의 사용은 소원해졌으며, 데이터 기반의 조직 문화를 구축하는데 방해가 되고 있다. 망분리된 환경은, 유저 데이터 분석을 위한 다양한 기능들의 활용을 원천적으로 차단하여 유저 인사이트 발굴을 어렵게 하거나 데이터 분석을 시간 소모적인 작업으로 만듦으로써 생산성에 악영향을 끼치고 있다.
또한, 유저가 사용하는 다양한 서비스로부터 수집된 데이터를 결합하여 분석하기 위하여, 서비스 각각의 약관과 법률 검토 내용을 숙지하고 이를 데이터 분석 로직에 반영하는 노력이 요구된다. 하지만 개인정보 보호를 강화하기 위한 잦은 법률 개정 등을 고려하면, 개인정보 보호를 완벽히 준수하는 데이터 분석 로직을 만들어내는 데는 사용자의 많은 비용 및 시간이 소요되며, 이에 대한 검증도 쉽지 않아 개인정보 보호 침해의 위험 역시 존재하는 단점이 있다.
본 문서에서 이루고자 하는 기술적 과제는 상술한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
일(an) 실시예에 따른 빅데이터 분석 장치의 동작 방법은, 사용자 쿼리를 수신하는 동작을 포함할 수 있다. 상기 방법은, 상기 수신된 사용자 쿼리를 복수의 서브 쿼리들로 분해하는 동작을 포함할 수 있다. 상기 방법은 상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 제1 서브 쿼리들을 식별하는 동작을 포함할 수 있다. 상기 방법은 상기 개인 정보에 접근 가능한 컴포넌트에 기반하여, 상기 제1 서브 쿼리들을 상기 개인 정보에 독립적인 제2 서브 쿼리들로 재구성하는 동작을 포함할 수 있다. 상기 방법은 상기 제2 서브 쿼리들과, 상기 복수의 서브 쿼리들 중 상기 개인 정보를 참조하도록 구성된 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하여 재구성 쿼리를 생성하는 동작을 포함할 수 있다.
일 실시예에 따른 빅데이터 분석 장치는, 사용자 입력을 수신하기 위한 쿼리 인터페이스와, 쿼리를 서브 쿼리들로 분해하거나, 서브 쿼리들을 병합하기 위한 쿼리 재구성 모듈과, 요청된 쿼리에 대한 연산을 수행하여 결과 데이터를 출력하기 위한 쿼리 엔진과, 서브 쿼리들에 사용될 필터링 조건들을 생성하는 자연어 해석 모듈을 포함할 수 있다. 상기 빅데이터 분석 장치는, 상기 쿼리 인터페이스를 통해, 사용자 쿼리를 수신하도록 구성될 수 있다. 상기 빅데이터 분석 장치는, 상기 수신된 사용자 쿼리를 복수의 서브 쿼리들로 분해하도록 구성될 수 있다. 상기 빅데이터 분석 장치는, 상기 쿼리 재구성 모듈을 통해, 상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 제1 서브 쿼리들을 식별하도록 구성될 수 있다. 상기 빅데이터 분석 장치는, 상기 쿼리 재구성 모듈을 통해, 상기 개인 정보에 접근 가능한 컴포넌트에 기반하여, 상기 제1 서브 쿼리들을 상기 개인 정보에 독립적인 제2 서브 쿼리들로 재구성하도록 구성될 수 있다. 상기 빅데이터 분석 장치는, 상기 쿼리 재구성 모듈을 통해, 상기 제2 서브 쿼리들과, 상기 복수의 서브 쿼리들 중 상기 개인 정보를 참조하도록 구성된 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하여 재구성 쿼리를 생성하도록 구성될 수 있다.
일 실시예에 따른 비일시적 컴퓨터 판독가능 저장 매체(non-transitory computer readable storage medium)는, 하나 이상의 프로그램들을 저장할 수 있다. 상기 하나 이상의 프로그램들은, 쿼리 인터페이스, 쿼리 재구성 모듈, 쿼리 엔진, 및 자연어 해석 모듈을 실행하기 위한 인스트럭션들을 저장하도록 구성된 적어도 하나의 메모리를 가지는(with) 전자 장치의 프로세서에 의해 실행될 시, 상기 쿼리 인터페이스를 통해, 사용자 쿼리를 수신하도록 구성될 수 있다. 상기 하나 이상의 프로그램들은, 상기 프로세서에 의해 실행될 시, 상기 쿼리 재구성 모듈을 통해, 상기 수신된 사용자 쿼리를 복수의 서브 쿼리들로 분해하고, 상기 쿼리 재구성 모듈을 통해, 상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 제1 서브 쿼리들을 식별하도록 구성될 수 있다. 상기 하나 이상의 프로그램들은, 상기 프로세서에 의해 실행될 시, 상기 쿼리 재구성 모듈을 통해, 상기 개인 정보에 접근 가능한 컴포넌트에 기반하여, 상기 제1 서브 쿼리들을 상기 개인 정보에 독립적인 제2 서브 쿼리들로 재구성하도록 구성될 수 있다. 상기 하나 이상의 프로그램들은, 상기 프로세서에 의해 실행될 시, 상기 쿼리 재구성 모듈을 통해, 상기 제2 서브 쿼리들과, 상기 복수의 서브 쿼리들 중 상기 개인 정보를 참조하도록 구성된 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하여 재구성 쿼리를 생성하도록 구성될 수 있다.
일 실시예에 따른, 개인정보 보호 위반에 강건한 빅데이터 분석 장치, 동작 방법 및 비-일시적 컴퓨터 판독가능 기록 매체는, 보안과 개인정보 보호의 관점에서 활용의 한계를 내재한 기존 플랫폼을 개선하여, 유저들의 개인정보에 대한 침해의 우려 없이 효율적인 분석을 수행하도록 할 수 있다. 이에 따라, 방대한 개인정보에 대한 분석 생산성을 높여, 데이터 기반의 빠른 의사결정을 가능케 하여 빠르게 변화하는 시장 상황에 대응하기 위한 솔루션을 제공할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예들에 따른, 전자 장치와 서버 장치를 포함하는 시스템의 예를 도시한다.
도 3은 다양한 실시예들에 따른, 데이터베이스 저장 장치의 간소화된(simplified) 블록도(block diagram)이다.
도 4는 다양한 실시예들에 따른 빅데이터 분석 장치의 간략화된 블록도이다.
도 5는 다양한 실시예들에 따른, 빅데이터 분석 장치의 동작 방법을 나타내는 순서도이다.
도 6은 다양한 실시예들에 따른, 빅데이터 분석 장치의 동작 방법을 나타내는 순서도이다.
도 7은 다양한 실시예들에 따른, 제2 서브 쿼리들을 재구성하는 쿼리 재구성 모듈의 동작 방법을 나타내는 순서도이다.
도 1은 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 일 예를 도시한다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 서버 장치(202)에게 액세스할 수 있다. 예를 들어, 전자 장치(101)는 데이터베이스에 저장된 유저 데이터를 이용한 데이터 분석을 수행하기 위하여 서버 장치(202)에게 액세스를 요청할 수 있다.
일 실시예에 따라, 전자 장치(101)는 SBC(server based computing) 접속망(110)을 통해 서버 장치(202)에게 액세스할 수도 있고, 일반 접속망(120)을 통해 서버 장치(202)에게 액세스할 수도 있다. 예를 들어, 전자 장치(101)는 SBC 접속망(110)을 통해 서버 장치(202)에 액세스할 수 있다. 이 때, 전자 장치(101)는 서버 장치(202)의 데이터베이스에 저장된 유저 데이터들 중 개인정보 속성을 갖는 데이터에 액세스할 수 있는 권한을 가질 수 있다. 예를 들어, SBC 접속망(110)을 경유하는 전자 장치(101)는 개인정보 리더 역할(reader role)을 획득할 수 있다.
일 실시예에 따라, 전자 장치(101)는 일반 접속망(120)을 통해 서버 장치(202)에 액세스할 수 있다. 이 때, 전자 장치(101)는 서버 장치(202)의 데이터베이스에 저장된 유저 데이터들 중 개인정보 속성을 갖는 데이터에 액세스할 수 있는 권한을 가질 수 없다. 일반 접속망(120)를 경유하는 전자 장치(101)가 개인정보 속성을 갖는 데이터의 조회를 요청하는 경우, 상기 요청은 거절(reject)될 수 있다. 따라서, 개인정보 속성을 포함하는 유저 데이터를 이용한 데이터 분석을 수행하고자 하는 전자 장치(101)는 SBC 접속망(110)을 경유하도록 강제될 수 있다.
전술한 실시예에서는, 전자 장치(101)는 서버 장치(202)에게 SBC 접속망(110) 및 일반 접속망(120)을 이용한 SBC 방식의 논리적 망분리에 기반하여 액세스하는 것을 기준으로 도시되었으나, 이에 제한되는 것은 아니다. 다양한 실시예들에 따라, 전자 장치(101)는 전자 장치(101)의 내부에 서버 장치(202)의 데이터베이스에 저장된 유저 데이터 중 개인정보 속성에 상응하는 데이터에 액세스 가능한 로컬 접속망을 구동하는 제1 OS(operating system), 서버 장치(202)의 데이터베이스에 저장된 유저 데이터 중 개인정보 속성에 상응하는 데이터를 제외한 나머지 데이터들에 액세스 가능한 외부 접속망을 구동하는 제2 OS를 분리할 수 있다. 즉, 전자 장치(101)는 CBC(client based computing) 방식에 기반한 논리적 망분리를 이용할 수도 있다.
도 2는 다양한 실시예들에 따른, 전자 장치(201)와 서버 장치(202) 및 유저 서비스 서버 장치(203)를 포함하는 시스템(200)의 예를 도시한다.
도 2를 참조하면, 시스템(200)은 전자 장치(201), 서버 장치(202) 및 유저 서비스 서버 장치(203)를 포함할 수 있다. 전자 장치(201)는 도 1의 전자 장치(101)에 상응할 수 있다. 서버 장치(202)는 도 1의 서버(108)에 상응할 수 있다.
일 실시예에 따라, 전자 장치(201)는 서버 장치(202)에게 사용자 쿼리를 송신할 수 있다. 상기 사용자 쿼리는, 서버 장치(202)에 저장된 데이터 중 클라이언트(예를 들어, 전자 장치(201))가 원하는 조건의 특정 데이터를 요청하는 언어의 집합을 지칭할 수 있다. 예를 들어, 사용자 쿼리는 데이터베이스 시스템(database system, DBMS)에서 자료를 관리 및 처리하기 위한 구조적 질의 언어(structured query language, SQL)에 기반할 수 있다.
일 실시예에 따라, 서버 장치(202)는 상기 사용자 쿼리를 처리하여 결과 데이터 셋(set)을 출력할 수 있다. 상기 결과 데이터 셋은, 데이터베이스에 저장된 데이터 중 상기 클라이언트가 원하는 조건을 만족하는 데이터의 집합에 상응할 수 있다.
일 실시예에 따라, 서버 장치(202)는 데이터베이스 저장 장치(210)를 포함할 수 있다. 데이터베이스 저장 장치(210)는 서비스 제공 과정에서 획득한 유저 데이터에 대한 로우(raw) 데이터 및 상기 로우 데이터를 공통의 형식으로 변환하여 관리하는 데이터베이스를 포함할 수 있다. 또한, 데이터베이스 저장 장치(210)는 개인정보 보호를 준수하기 위한 데이터를 포함할 수 있다. 예를 들어, 데이터베이스 저장 장치(210)는 개인정보 처리에 관련된 법률 약관의 개정 이력에 대한 정보를 포함할 수 있다. 데이터베이스 저장 장치(210)는 상기 법률 약관에 대한 검토 결과에 대한 정보를 포함할 수 있다. 상기 법률 약관의 개정 이력에 대한 정보 또는 상기 검토 결과에 대한 정보는 메타데이터로 저장될 수 있다.
일 실시예에 따라, 서버 장치(202)는 빅데이터 분석 장치(220)를 포함할 수 있다. 빅데이터 분석 장치(220)는 상기 사용자 쿼리를 수신하여, 상기 사용자 쿼리의 개인정보 보호 위반의 가능성이 있는지 판단할 수 있다. 예를 들어, 빅데이터 분석 장치(220)는 상기 사용자 쿼리를 복수의 서브 쿼리들로 분해하고, 상기 서브 쿼리들의 참조 인자에 기반하여 개인정보 보호 위반의 가능성을 판단할 수 있다. 빅데이터 분석 장치(220)는 상기 서브 쿼리들 중 적어도 하나의 서브 쿼리가 개인정보 보호를 위반할 가능성이 식별되는 경우, 상기 사용자 쿼리를 개인정보에 독립적인(independent) 재구성 쿼리로 변환할 수 있다. 예를 들어, 서브 쿼리들 중 개인정보에 상응하는 컬럼(column)을 파티셔닝(partitioning)의 키(key)로 사용하는 분석 함수를 포함하는 서브 쿼리가 존재하는 경우, 빅데이터 분석 장치(220)는 상기 개인정보에 상응하는 컬럼에 따라 역정규화(denormalization)하여 재구조화된 중첩 구조 테이블(nested structure table)을 참조하도록 서브 쿼리를 재구성할 수 있다. 다른 예를 들어, 빅데이터 분석 장치(220)는 상기 복수의 서브 쿼리들 중 상기 개인정보에 상응하는 컬럼을 조회(select)하거나, 상기 개인정보에 상응하는 컬럼을 차원(dimension)으로 사용하는 집계 함수를 포함하는 서브 쿼리를 식별할 수 있다. 이 경우, 빅데이터 분석 장치(220)는 상기 개인정보에 상응하는 컬럼에 액세스할 권한을 갖는 집계 함수를 생성하여 집계 연산을 대행(delegation)하도록 제어할 수 있다. 상기 액세스할 권한을 갖는 집계 함수는, 허가된(authorized) 집계 함수로 지칭될 수 있다. 서버 장치(202)에 포함되는 데이터베이스 저장 장치(210) 및 빅데이터 분석 장치(220)의 세부 구성은 후술하기로 한다.
일 실시예에 따라, 유저 서비스 서버 장치(203)는 서버 장치(202)에게 유저 서비스와 관련된 정보를 제공할 수 있다. 상기 유저 서비스는, CS 상담 서비스, 유저 맞춤 광고 서비스를 적어도 포함할 수 있다. 일 실시예에 따라, 상기 유저 서비스와 관련된 정보는, 상기 유저 서비스를 제공하는 과정에서 획득된 유저 데이터를 포함할 수 있다. 예를 들어, 상기 유저 서비스를 제공하는 과정에서 획득된 유저 데이터는, CS 상담을 요청한 유저를 식별하기 위한 정보를 포함할 수 있다. 상기 유저를 식별하기 위한 정보는, 장치 식별자(DEVICE_ID), 유저 식별자(USER_ID)를 적어도 포함할 수 있다. 다른 예를 들어, 상기 유저 서비스를 제공하는 과정에서 획득된 유저 데이터는 유저 맞춤 광고 서비스를 제공하기 위한 정보를 포함할 수 있다. 상기 유저 맞춤 광고 서비스를 제공하기 위한 정보는, 유저 식별자(USER_ID), 구매 상품(BUY_PRODUCT), 구매 업종(BUSINESS_CATEGORY), 구매 이력(BUY_HISTORY)을 적어도 포함할 수 있다. 즉, 유저 서비스 서버 장치(203)는, 상기 유저 서비스를 제공하는 과정에서 획득된 상기 유저 데이터를 서버 장치(202)에게 제공할 수 있다. 상기 유저 데이터는, 데이터베이스 저장 장치(210)에 저장되어 빅데이터 분석 장치(220)에 의해 유저 데이터를 분석하는 데에 사용될 수 있다.
일 실시예에 따라, 상기 유저 서비스와 관련된 정보는, 상기 유저 서비스에 대한 약관 정보 및 법률 검토의견 정보를 포함할 수 있다. 예를 들어, 상기 약관 정보는, 유저가 CS 상담 서비스를 제공받는 것을 동의한 약관에 대한 내용, 유저가 유저 맞춤 광고 서비스를 제공받는 것을 동의한 약관 내용을 포함할 수 있다. 유저 서비스 서버 장치(203)는 유저에게 제공할 수 있는 복수의 서비스들 각각에 대한 약관 정보를 서버 장치(202)에게 제공할 수 있다. 법률 검토의견 정보는, 개인정보 보호 법률을 위반을 방지하기 위한 정보를 포함할 수 있다. 예를 들어, 빅데이터 분석 장치(220)는 서로 다른 유저 서비스를 통해 각각 획득된 유저 데이터를 결합하여 분석할 수 있다. 법률 검토의견에 기반하지 않은 유저 데이터의 결합 및 분석은, 개인정보 보호 법률 위반의 여지가 있다. 예를 들어, 유저 맞춤 광고 서비스와 CS 상담 서비스를 통해 각각 획득된 유저 데이터를 결합 분석하는 경우, CS 상담 서비스를 통해 획득된 유저 데이터 중 전화번호는 상기 결합 분석에 이용할 수 있으나, 장치 식별자(DEVICE_ID)는 상기 결합 분석에 이용하는 것이 법률 위반을 야기할 수 있다. 이 경우, 법률 검토의견 정보는, CS 상담 서비스와 유저 맞춤 광고 서비스를 결합 시, 유저 데이터 중 장치 식별자(DEVICE_ID)는 이용 가능한 정보에서 제외할 것을 지시하기 위한 정보를 포함할 수 있다. 즉, 유저 서비스 서버 장치(203)는, 상기 유저 서비스를 제공하는 과정에서 획득된 상기 유저 데이터를 서버 장치(202)에게 제공할 수 있다. 상기 유저 데이터는, 데이터베이스 저장 장치(210)에 저장되어 빅데이터 분석 장치(220)에 의해 유저 데이터를 분석하는 데에 사용될 수 있다.
도 3은 다양한 실시예들에 따른, 데이터베이스 저장 장치(210)의 간소화된(simplified) 블록도(block diagram)이다.
도 3을 참조하면, 데이터베이스 저장 장치(210)는 PN(privacy notice) 저장소(212), UR(user right) 저장소(214), 중첩 구조 테이블 저장소(216) 및 데이터 웨어하우스(218)를 포함할 수 있다.
일 실시예에 따라, PN 저장소(212)는 개인정보 보호를 준수하기 위한 약관에 대한 정보, 상기 약관의 개정 히스토리에 대한 정보, 개인정보 보호의 법률에 대한 정보, 상기 법률에 대한 법리적 검토 의견에 대한 정보를 적어도 포함할 수 있다. 예를 들어, PN 저장소(212)는 서비스 종류별로 유저에게 고지된 개인정보 처리방침의 이력을 관리하는 히스토리 정보를 포함할 수 있다. 일 실시예에 따라, PN 저장소(212)는 상기 정보들을 메타데이터로 저장할 수 있다. 예를 들어, PN 저장소(212)는 서비스 종류별 개인정보 보호를 준수하기 위한 약관들, 상기 약관들 각각에 대한 법리적 검토 의견들을 메타데이터로 저장할 수 있다.
일 실시예에 따라, UR 저장소(214)는 서비스별로 요청된 유저 권리를 관리하기 위한 메타데이터를 저장할 수 있다. 예를 들어, UR 저장소(214)는 제1 서비스에 대하여 요청된 유저 권리를 제1 권리 정보로 저장할 수 있다. UR 저장소(214)는 제2 서비스에 대하여 요청된 유저 권리를 제2 권리 정보로 저장할 수 있다. 일 실시예에 따라, 상기 제1 권리 정보는 상기 제2 권리 정보와 서로 상이할 수 있다. 예를 들어, 유저는 제1 서비스에 대하여 처리제한권을 요청할 수 있고, 제2 서비스에 대하서 상기 처리제한권을 요청하지 않을 수 있다. 상기 처리제한권은, 개인정보의 정확성, 처리의 합법성 등에 대하여 증빙을 위해 보존 필요성이 있는 경우, 이용을 제한하되 삭제를 보류할 수 있도록 요구할 수 있는 권리일 수 있다. 즉, UR 저장소(214)는 각각의 서비스별로 유저가 요청한 개인정보에 대한 권리를 메타데이터로 저장할 수 있다.
일 실시예에 따라, 데이터베이스 저장 장치(210)는 중첩 구조 테이블 저장소(216)를 포함할 수 있다. 중첩 구조 테이블 저장소(216)는 유저 데이터들을 포함하는 복수의 테이블들을, 미리 지정된 컬럼을 기준으로 재구조화한 테이블을 지칭할 수 있다. 미리 지정된 컬럼은, 개인정보 속성을 가지는 복수의 컬럼들 중 적어도 하나의 컬럼을 지칭할 수 있다. 예를 들어, 중첩 구조 테이블 저장소(216)는 상기 로우 데이터를 유저 아이디(USER_ID)를 기준으로 재구조화한 테이블을 저장할 수 있고, 상기 로우 데이터를 장치 식별자(DEVICE_ID)에 따라 재구조화한 테이블을 저장할 수도 있다. 상기 장치 식별자(DEVICE_ID)는, IMEI(international mobile equipment identity), MEID(mobile equipment identifier), ESN(electronic serial number), pESM(pseudo ESN), 시리얼 넘버(serial number), MAC(media access control) 주소, 및 UUID(universally unique identifier) 중 적어도 하나를 포함할 수 있다. 또한, 중첩 구조 테이블 저장소(216)는 상기 로우 데이터를 유저 아이디(USER_ID)에 따라 재구조화한 이후, 다시 장치 식별자(DEVICE_ID)에 따라 다시 재구조화한 테이블을 저장할 수도 있다.
일 실시예에 따라, 데이터베이스 저장 장치(210)는 데이터 웨어하우스(218)를 포함할 수 있다. 데이터 웨어하우스(218)는 유저 데이터를 포함하는 로우 데이터를 가공하여 데이터 분석에 사용되는 특별한 유형의 데이터베이스를 저장할 수 있다. 예를 들어, 데이터 웨어하우스(218)는 개인정보 속성 태그 관리 모듈(미도시)을 더 포함할 수 있다. 데이터 웨어하우스(218)는 수집된 유저 데이터를 개인정보 속성에 상응하는 컬럼들에 따라 태그할 수 있다.
도 4는 다양한 실시예들에 따른 빅데이터 분석 장치(220)의 간략화된 블록도이다.
도 4를 참조하면, 빅데이터 분석 장치(220)는 쿼리 엔진(222), 쿼리 재구성 모듈(224), 자연어 해석 모듈(226), 및 기능 통합 모듈(228)을 포함할 수 있다.
일 실시예에 따라, 쿼리 엔진(222)은 쿼리 재구성 모듈(224)에 의해 사용자 쿼리로부터 변환된 최종 쿼리를 수행할 수 있다. 쿼리 엔진(222)은 상기 최종 쿼리에 대한 수행 결과로서, 결과 데이터 셋(set)을 출력할 수 있다. 상기 결과 데이터 셋은, 사용자 쿼리가 요청한 조건의 데이터를 포함할 수 있다. 일 실시예에 따른 쿼리 엔진(222)은 쿼리 재구성 모듈(224)로부터 개인정보의 침해 우려가 없도록 재구성된 최종 쿼리를 수행할 수 있다.
일 실시예에 따라, 쿼리 재구성 모듈(224)은 사용자 쿼리를 변환할 수 있다. 쿼리 재구성 모듈(224)은 상기 사용자 쿼리가 개인정보 속성의 컬럼을 조회하거나, 개인정보 속성의 컬럼을 차원으로 하는 집계 함수를 포함하거나, 개인정보 속성의 컬럼을 파티셔닝의 키로 사용하는 분석 함수를 포함하는 것을 식별함에 응답하여, 상기 사용자 쿼리의 변환을 결정할 수 있다. 예를 들어, 쿼리 재구성 모듈(224)은 사용자 쿼리를 복수의 서브 쿼리들로 분해하고, 상기 분해된 서브 쿼리들 중 분석 함수를 포함하는 적어도 하나의 서브 쿼리를 식별할 수 있다. 상기 적어도 하나의 서브 쿼리에 포함되는 분석 함수가 개인정보 속성을 갖는 컬럼을 기준으로 파티셔닝하는 분석 함수에 상응하는 경우, 쿼리 재구성 모듈(224)은 중첩 구조 테이블 저장소(216)으로부터 중첩 구조 테이블을 참조하도록 서브 쿼리를 재구성할 수 있다. 상기 중첩 구조 테이블은 상기 분석 함수가 파티셔닝의 키로 설정한 개인정보 속성에 상응하는 컬럼을 기준으로 재조직된 테이블일 수 있다. 다른 예를 들어, 쿼리 재구성 모듈(224)은 사용자 쿼리를 복수의 서브 쿼리들로 분해하고, 상기 분해된 서브 쿼리들 중 집계 함수를 포함하는 적어도 하나의 서브 쿼리를 식별할 수 있다. 상기 적어도 하나의 서브 쿼리에 포함되는 집계 함수가 개인정보 속성을 갖는 컬럼을 참조 인자로 하는 함수인 경우, 쿼리 재구성 모듈(224)은 기능 통합 모듈(228)을 통해 허가 집계 함수를 생성하고, 상기 허가 집계 함수에게 실행을 위임할 수 있다.
자연어 해석 모듈(226)은 법률 약관과 약관의 법률 검토 의견에 대한 메타데이터에 기반하여, 필터링 조건들을 위한 서브 쿼리들을 생성할 수 있다. 미 도시되었으나, 자연어 해석 모듈(226)은 PN 저장소(212) 및 UR 저장소(214)로부터 메타데이터를 수신하고, 상기 메타데이터에 기반하여 규칙(rule)을 생성하는 PN 인터프리터(미도시) 및 UR 인터프리터(미도시)를 더 포함할 수 있다. 자연어 해석 모듈(226)은 상기 PN 인터프리터(미도시) 및 UR 인터프리터(미도시)를 통해 생성된 규칙으로부터 쿼리에 조건(predicate)을 생성하는 조건 생성기(미도시)를 더 포함할 수 있다. 예를 들어, 서비스 제공을 위한 약관(consent_version)은 타 서비스와의 결합 분석에 동의하는 내용을 추가하도록 개정될 수 있다. 개정 이전의 약관은 'version1'이고, 개정 이후의 약관은 'version2'일 수 있다. 자연어 해석 모듈(226)은 개정 이후의 약관에 동의한 유저에 한하여 타 서비스와의 결합 분석을 수행해야 하므로, 필터링 조건을 수행하는 WHERE 절에 상응하는 조건문을 생성할 수 있다. 상기 WHERE 절은 재구성 쿼리에 주입되는 조건문으로서, 상기 필터링 조건을 나타낼 수 있다. 자연어 해석 모듈(226)은 유저 권리의 범위에 대한 메타데이터에 기반하여, 필터링 조건들을 위한 서브 쿼리들을 생성할 수 있다. 예를 들어, 자연어 해석 모듈(226)은 UR 저장소(214)로부터 유저의 처리제한권이 활성화되어 있음을 지시하는 메타데이터를 수신한 경우, 유저 데이터의 변경을 방지하기 위한 필터링 조건의 서브 쿼리들을 생성할 수 있다.
기능 통합 모듈(228)은, 개인정보 속성을 참조하는 집계 함수의 연산을 대신 수행하는 함수를 생성하기 위한 모듈일 수 있다. 상기 연산을 대신 수행하는 함수는, 허가 집계 함수로 지칭될 수 있다. 상기 허가 집계 함수는, 개인정보 속성에 상응하는 컬럼에 대한 액세스 권한을 가질 수 있다. 빅데이터 분석 장치(220)는 기능 통합 모듈(228)을 통해 생성된 허가 집계 함수를 통해 집계 연산을 대신 수행하고, 수행 결과를 서브 쿼리의 형태로 획득하여 개인정보 속성을 직접 참조하는 것을 방지할 수 있다. 예를 들어, 상기 허가 집계 함수는, 유닉스 계열의 운영체제(예를 들어, 리눅스)에서 특수 권한을 부여하는 setuid와 유사할 수 있다. 다양한 실시예들에 따라, 기능 통합 모듈(228)은 신경망 네트워크에 기반하여 자연어 처리를 수행할 수 있다. 상기 신경망 네트워크는, GoogleNet, AlexNet, VGG Network 등과 같은 CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restricted Boltzman Machine), Fully Convolutional Network, 등 다양한 종류의 모델들을 포함할 수 있으나 이에 제한되지는 않는다.
도 5는 다양한 실시예들에 따른, 빅데이터 분석 장치(220)의 동작 방법을 나타내는 순서도이다.
도 5를 참조하면, 동작 500에서, 빅데이터 분석 장치(220)는 수집된 유저 데이터에 기반하여 개인정보 속성의 컬럼들을 포함하는 테이블들을 개인정보 속성에 따라 재구조화한 중첩 구조 테이블들을 생성 및 저장할 수 있다. 도 2를 함께 참조하면, 빅데이터 분석 장치(220)는 유저 서비스 서버 장치(203)로부터 유저 서비스를 제공하는 과정에서 획득된 유저 데이터를 수신할 수 있다. 상기 유저 데이터는, 개인정보 속성에 상응하는 데이터와 개인정보 속성에 상응하지 않는 데이터를 모두 포함하는 테이블일 수 있다. 빅데이터 분석 장치(220)는 개인정보 속성에 상응하는 데이터를 포함하는 유저 데이터의 테이블을 수신함에 응답하여, 상기 테이블을 중첩 구조 테이블로 재구조화할 수 있다. 예를 들어, 분석 함수의 파티셔닝의 키가 개인정보 속성에 상응하는 컬럼을 직접 참고하는 경우, 상기 파티셔닝의 키에 따라 상기 테이블을 재구조화한 중첩 구조 테이블을 생성하여 중첩 구조 테이블 저장소(216)에 저장할 수 있다. 구체적으로, 빅데이터 분석 장치(220)는 중첩 구조 테이블을 참조하도록 서브 쿼리를 변환함으로써 개인정보 속성을 갖지 않는 분석 함수에 의한 집계를 수행할 수 있도록 상기 수신된 유저 데이터의 테이블 구조를 개인정보 속성에 상응하는 컬럼들을 기준으로 역정규화함으로써 재구조화된 중첩 구조 테이블을 생성하고 관리할 수 있다. 상기 중첩 구조 테이블은, 뷰(view)의 형태로 제공될 수도 있다.
동작 505에서, 빅데이터 분석 장치(220)는 수집된 약관에 대한 정보 및 법률 검토의견에 대한 정보를 자연어 분석을 통해 서브 쿼리에 주입될 조건문을 생성하기 위한 메타데이터로 변환 및 저장할 수 있다. 도 2를 함께 참조하면, 빅데이터 분석 장치(220)는 빅데이터 분석 장치(220)는 유저 서비스 서버 장치(203)로부터 기 제공된 유저 서비스에 대한 약관 정보 및 상기 약관에 대한 법률 검토의견 정보를 제공받을 수 있다. 빅데이터 분석 장치(220)는, 자연어 해석 모듈(226)을 이용하여, 상기 약관 정보 및 상기 법률 검토의견 정보를 메타데이터로 변환할 수 있다. 상기 메타데이터는, 재구성 쿼리에 주입될 조건문을 생성하기 위해 이용될 수 있다.
동작 510에서, 빅데이터 분석 장치(220)는 전자 장치(201)로부터 사용자 쿼리를 수신할 수 있다. 전자 장치(201)는 도 1의 전자 장치(101)에 상응할 수 있다. 빅데이터 분석 장치(220)는 상기 사용자 쿼리가 개인정보 속성의 컬럼에 기반하는지 여부를 판단하기 위하여, 빅데이터 분석 장치(220)의 쿼리 재구성 모듈(224)에게 상기 사용자 쿼리를 제공할 수 있다. 예를 들어, 쿼리 재구성 모듈(224)이 수신한 상기 사용자 쿼리는 아래의 표에 상응할 수 있다.
SELECT cnt AS dvc_cnt, COUNT(*) cnt FROM (
SELECT guid, category, COUNT(DISTINCT device_id) AS cnt
FROM customer_service_table1 t1
JOIN customer_service_table2 t2
ON t1.guid = t2.guid
GROUP BY guid
동작 520에서, 빅데이터 분석 장치(220)는 사용자 쿼리를 복수의 서브 쿼리들로 분해할 수 있다. 상기 개인정보 속성의 컬럼에 적어도 기반하는 상기 사용자 쿼리를 쿼리 엔진(222)으로 제출(submit) 및 실행되는 경우, 개인정보 보호 위반이 야기될 수 있다. 쿼리 재구성 모듈(224)은 상기 사용자 쿼리를 복수의 서브 쿼리들로 분해할 수 있다. 예를 들어, 복수의 서브 쿼리들은, 분석 함수를 포함하는 서브 쿼리들 및 집계 함수를 포함하는 서브 쿼리들 중 적어도 일부를 포함할 수 있다. 상기 표 1을 참조하면, 쿼리 재구성 모듈(224)은 상기 사용자 쿼리를 분석하여 개인정보 속성에 상응하는 컬럼인 guid와 device_id를 직접적으로 참조하고 있음을 식별하고, 서브 쿼리들로 분해할 것을 식별할 수 있다.동작 530에서, 빅데이터 분석 장치(220)는 복수의 서브 쿼리들 중 개인정보를 참조하는 제1 서브 쿼리들을 식별할 수 있다. 일 실시예에 따라, 복수의 서브 쿼리들은, 분석 함수를 포함하는 서브 쿼리들을 포함할 수 있다. 쿼리 재구성 모듈(224)은 분석 함수의 파티셔닝의 기준(예: 키)이 되는 컬럼을 식별할 수 있다. 상기 분석 함수의 파티셔닝의 기준이 되는 컬럼은 개인정보 속성을 가질 수 있다. 예를 들어, 파티셔닝의 기준이 되는 컬럼이 유저를 식별할 수 있는 정보(예: 주민등록번호, 이름, 거주 관할 구역, 유저 아이디 등등)에 상응하는 경우, 상기 개인정보 속성을 가지는 컬럼을 직접(direct) 참조하게 되므로, 개인정보 보호를 위한 법률을 위반할 수 있다. 일 실시예에 따라, 복수의 서브 쿼리들은, 집계 함수를 포함하는 서브 쿼리들을 포함할 수 있다. 예를 들어, SELECT 절의 집계 함수를 포함하는 서브 쿼리의 참조 인자 또는 GROUP BY 절의 집계 함수를 포함하는 서브 쿼리의 참조 인자가 개인정보 속성을 가지는 컬럼에 상응하는 경우, 상기 서브 쿼리의 결과는 여전히 참조 인자에 상응하는 개인정보 속성을 갖기 때문에 개인정보 보호를 위한 법률을 위반할 수 있다. 따라서, 쿼리 재구성 모듈(224)은 복수의 서브 쿼리들 중 개인정보를 참조하는 제1 서브 쿼리들을 식별할 수 있다.
동작 540에서, 빅데이터 분석 장치(220)는 제1 서브 쿼리들을 개인정보에 독립적인 제2 서브 쿼리들로 변환할 수 있다. 쿼리 재구성 모듈(224)은 상기 제1 서브 쿼리들을 상기 개인정보에 접근 가능한 컴포넌트에 기반하여 상기 제2 서브 쿼리들로 재작성(re-write)할 수 있다. 일 실시예에 따라, 상기 제1 서브 쿼리들은 분석 함수를 포함하는 서브 쿼리들에 상응할 수 있다. 상기 분석 함수가 파티셔닝하는 기준의 컬럼이 개인정보 속성을 갖는 것에 기반하여 상기 법률 위반이 야기될 수 있다. 따라서, 쿼리 재구성 모듈(224)은 데이터베이스 저장 장치(210)에게 상기 개인정보의 속성을 갖는 컬럼에 따라 재조직된 중첩 구조 테이블을 요청할 수 있다. 예를 들어, 상기 분석 함수가 파티셔닝 하는 컬럼은 유저 등급의 컬럼일 수 있다. 상기 유저 등급에 대한 정보는, 개인정보 속성에 상응할 수 있다. 쿼리 재구성 모듈(224)은 유저 등급의 컬럼에 따라 재조직된 중첩 구조 테이블을 데이터베이스 저장 장치(210)에게 요청하고, 유저 등급의 컬럼에 따라 재조직된 중첩 구조 테이블을 참조할 수 있다. 이 경우, 빅데이터 분석 장치(220)는 상기 유저 등급의 컬럼을 직접적으로 참조하여 그룹핑(grouping)하지 않으므로, 개인정보 보호 위반의 가능성을 제거할 수 있다. 일 실시예에 따라, 상기 제1 서브 쿼리들은 집계 함수를 포함하는 서브 쿼리들에 상응할 수 있다. 상기 집계 함수의 참조 인자가 개인정보 속성을 갖는 컬럼인 경우, 개인정보 보호를 위한 법률 위반이 야기될 수 있다. 따라서, 쿼리 재구성 모듈(224)은 기능 통합 모듈(228)을 이용하여 허가 집계 함수(authorized aggregation function)를 포함하는 서브 쿼리를 생성할 수 있다. 예를 들어, 상기 집계 함수의 참조 인자가 유저 등급의 컬럼일 수 있다. 쿼리 재구성 모듈(224)은 유저 등급의 컬럼을 참조하는 집계 함수를 포함하는 서브 쿼리는, 서브 쿼리의 결과가 유저 등급에 대한 정보를 포함하기 때문에, 이를 회피하기 위하여 기능 통합 모듈(228)을 통해 허가 집계 함수를 생성할 수 있다. 상기 허가 집계 함수는, 유저 등급의 컬럼을 참조 인자로 하는 집계 함수의 수행을 대행(delegation)하기 위한 함수일 수 있다. 쿼리 재구성 모듈(224)은 개인정보 속성의 컬럼을 직접 참조하지 않고, 상기 허가 집계 함수를 포함하는 서브 쿼리가 집계의 수행에 필요한 컨텍스트만 제공할 수 있다.
동작 550에서, 빅데이터 분석 장치(220)는 복수의 서브 쿼리들 중 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들과 제2 서브 쿼리들을 병합하여 재구성 쿼리를 생성할 수 있다. 상기 복수의 서브 쿼리들 중 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들은, 개인정보 속성에 상응하는 컬럼에 독립적인 서브 쿼리들일 수 있다. 따라서, 빅데이터 분석 장치(220)가 생성한 상기 재구성 쿼리는, 개인정보에 상응하는 컬럼에 독립적인 상기 나머지 서브 쿼리들과 개인정보에 상응하는 컬럼을 간접적으로 참조하는 상기 제2 서브 쿼리들이 병합된 것이므로, 개인정보 보호에 대한 법률 위반의 가능성을 차단할 수 있다.
도 6은 다양한 실시예들에 따른, 빅데이터 분석 장치(220)의 동작 방법을 나타내는 순서도이다.
도 6을 참조하면, 동작 610에서, 빅데이터 분석 장치(220)는 데이터베이스 저장 장치(210)의 PN 저장소(212) 및 UR 저장소(214)로부터 메타데이터를 획득할 수 있다. 예를 들어, PN 저장소(212)는 개인정보 처리에 관련된 법률 약관의 개정 이력 및 검토 의견에 대한 메타데이터를 포함할 수 있다. UR 저장소(214)는 서비스별로 요청된 유저 권리를 관리하기 위한 메타데이터를 저장할 수 있다.
동작 620에서, 빅데이터 분석 장치(220)는 자연어 해석 모듈(226)에 기반하여 상기 획득된 메타데이터에 상응하는 필터링 조건문들을 획득할 수 있다. 상기 조건문들은 재구성 쿼리에 주입되어 상기 필터링을 수행하도록 구성될 수 있다. 자연어 해석 모듈(226)은 PN 저장소(212) 및 UR 저장소(214)로부터 수신된 메타데이터에 기반하여, 필터링 조건들을 위한 서브 쿼리들을 생성할 수 있다. 예를 들어, 서비스 제공을 위한 약관(consent_version)은 타 서비스와의 결합 분석에 동의하는 내용을 추가하도록 개정될 수 있다. 개정 이전의 약관은 'version1'이고, 개정 이후의 약관은 'version2'일 수 있다. 자연어 해석 모듈(226)은 개정 이후의 약관에 동의한 유저에 한하여 타 서비스와의 결합 분석을 수행해야 하므로, 필터링 조건을 수행하는 WHERE 절의 조건문을 생성할 수 있다. 다른 예를 들어, 전자 장치(101)의 사용자가 기존 서비스와 타 서비스(예를 들어, 고객 상담 서비스)와 결합 분석을 수행하고자 할 때, 상기 타 서비스의 제공 국가들 중 하나인 A 국가의 법률은 201B년 이후에 제공된 상담 이력 정보만 활용 가능하며, 유저 정보를 조회할 때에 전화번호 및 전자메일 주소만 활용 가능하도록 변경될 수 있다. 이 경우, 자연어 해석 모듈(226)은 제1 필터링 조건으로 상담 이력 정보의 생성 시점은 201B년 이후, 제2 필터링 조건으로 조회 가능한 정보는 전화번호 및 전자메일에 한정하기 위한 서브 쿼리들을 생성할 수 있다.
동작 630에서, 빅데이터 분석 장치(220)는 재구성 쿼리에 상기 필터링을 위한 상기 WHERE 절의 조건문을 주입하여 최종 쿼리를 생성할 수 있다. 예를 들어, 쿼리 재구성 모듈(224)에 의해 생성되는 최종 쿼리는 하기의 표와 같을 수 있다.
SELECT cnt AS dvc_cnt, COUNT(*) cnt FROM (
SELECT authorized_count(
'COUNT_DISTINCT', -- aggregation function
['guid', 'category'], -- dimension
'device_id' -- metric
FROM customer_service_table1_table_2_nested
WHERE consent_version = 'version2'
)
상기 표 2를 참조하면, 자연어 해석 모듈(226)은 개정 이후의 약관에 동의한 유저들로 한정하기 위하여, WHERE 절의 조건문을 생성하고, 상기 생성된 조건문을 재구성 쿼리의 마지막에 주입(injection)(또는 추가)하는 것을 알 수 있다. 상기 최종 쿼리는, 서비스 제공을 위한 약관(consent_version)이 개정 이후의 약관(version2)인 경우에 한정하고 있으므로, 개정 이전의 약관(version1)의 유저에 대한 결합 분석을 수행함으로써 개인정보 보호의 위반이 발생할 가능성을 차단할 수 있다.동작 640에서, 빅데이터 분석 장치(220)는 상기 최종 쿼리를 쿼리 엔진(222)에 주입하여 사용자 쿼리에 대한 결과 데이터 셋을 획득할 수 있다. 도 5 및 도 6을 참조하면, 쿼리 재구성 모듈(224)은 개인정보의 속성을 갖는 컬럼에 적어도 기반하는 서브 쿼리들을 상기 컬럼을 직접적으로 참조하지 않는 동치(equivalent)의 서브 쿼리들로 변환하여 재구성 쿼리를 생성함으로써 개인정보 보호를 위한 법률 위반의 가능성을 차단할 수 있다. 또한, 쿼리 재구성 모듈(224)은 UR 저장소(214) 및 PN 저장소(212)에 기반한 필터링을 수행하기 위한 조건문을 생성하고, 상기 생성된 조건문을 상기 재구성 쿼리에 주입하여 최종 쿼리를 생성함으로써, 약관 내용의 변경이나, 법률의 개정으로 인해 발생할 수 있는 개인정보 보호 위반의 가능성 또한 차단할 수 있다. 예를 들어, 타 서비스와 결합 분석을 위해, 타 서비스의 테이블을 결합하는 과정에서 상기 WHERE 절이 필터링 조건으로서 자동적으로 주입(Injection)되므로, 사용자는 데이터 분석 과정에서 별도의 노력 없이도 개인정보의 침해 우려 없는 결과 데이터 셋을 획득할 수 있다.
도 7은 다양한 실시예들에 따른, 제2 서브 쿼리들을 재구성하는 쿼리 재구성 모듈(224)의 동작 방법을 나타내는 순서도이다.
도 7을 참조하면, 동작 710에서, 쿼리 재구성 모듈(224)은 제1 서브 쿼리들 중 분석 쿼리들을 식별할 수 있다. 상기 분석 쿼리는, 분석 함수를 포함하는 서브 쿼리를 지칭할 수 있다.
동작 720에서, 쿼리 재구성 모듈(224)은 분석 쿼리들이 개인정보에 기반한 파티셔닝을 이용하는지 식별할 수 있다. 쿼리 재구성 모듈(224)은 분석 함수에 대한 파티셔닝의 키에 상응하는 컬럼의 속성을 식별할 수 있다. 일 실시예에 따라, 분석 쿼리에 대한 파티셔닝의 키에 상응하는 컬럼이 개인정보 속성에 상응하지 않는 경우, 개인정보 속성을 참조 인자로 하는 집계 쿼리의 존재를 판단할 수 있다. 상기 집계 쿼리는, 집계 함수를 포함하는 서브 쿼리를 지칭할 수 있다. 분석 쿼리들 각각에 대한 파티셔닝 키가 모두 개인정보 속성에 상응하지 않는 경우, 상기 분석 쿼리들의 결과는 마찬가지로 개인정보 속성에 상응하지 않는다. 따라서, 집계 쿼리의 참조 인자에 대한 판단만 수행하도록 동작 750을 수행할 수 있다. 일 실시예에 따라, 분석 쿼리에 대한 파티셔닝 키에 상응하는 컬럼이 개인정보 속성에 상응하는 경우(예를 들어, 파티셔닝 키가 유저 아이디(USER_ID)), 쿼리 엔진(222)을 통해 상기 분석 쿼리를 수행하는 경우, 분석 쿼리들의 결과는 개인정보 속성을 그대로 포함할 수 있다.
동작 730에서, 쿼리 재구성 모듈(224)은 개인정보에 기반한 파티셔닝이 완료된 중첩 구조 테이블을 참조하도록 분석 쿼리들을 집계 쿼리들로 변환하고, 동작 740에서 변환된 집계 쿼리들과 제1 서브 쿼리들 중 식별된 분석 쿼리를 제외한 나머지 서브 쿼리를 병합할 수 있다. 예를 들어, 상기 표 1을 다시 참조하면, 사용자 쿼리는 개인정보 속성에 상응하는 컬럼인 guid와 device_id를 직접적으로 참조할 수 있다. 쿼리 재구성 모듈(224)은, 동일한 컬럼을 참조하는 guid를 GROUP BY 절에 기반하여 결합할 수 있다.
비교 예에 따라, 데이터베이스 저장 장치(210)는 GROUP BY 절에 따라 동일한 컬럼(guid)을 결합하기 위하여 JOIN 절을 통한 제1 서비스의 테이블 1과 제2 서비스의 테이블 2를 결합하여 역정규화(denormalization)할 수 있다. 역정규화 테이블은 아래의 표에 상응할 수 있다.
guid device_id device_type
abc123 111111 Mobile
abc123 222222 Mobile
abc123 333333 Airconditioner
xyz987 444444 Mobile
xyz987 555555 TV
xyz987 666666 TV
비교 예에 따라, 쿼리 재구성 모듈(224)이 상기 역정규화 테이블을 참조하는 경우, GROUP BY 절을 실행하면서 guid 컬럼의 내용을 비교하여 동일한 guid 값을 가지는 행(row)들을 그룹으로 생성할 수 있다. 다만, 이를 위해서는 개인정보 속성을 갖는 guid 컬럼이 참조되므로 개인정보 보호를 위한 법률은 위반될 수 있다.일 실시예에 따라, 데이터베이스 저장 장치(210)는 guid 컬럼에 기반한 중첩 구조 테이블을 생성 및 저장할 수 있다. guid에 기반한 중첩 구조 테이블을 아래의 표에 상응할 수 있다.
guid device_id device_type
abc123 111111 Mobile
222222 Mobile
333333 Airconditioner
xyz987 444444 Mobile
555555 TV
666666 TV
쿼리 재구성 모듈(224)은 guid 컬럼에 기반한 중첩 구조 테이블을 참조하는 경우, GROUP BY 절이 없더라도 guid를 기준으로 그룹이 구분되어 있음을 추정할 수 있으므로, GROUP BY 절을 삭제할 수 있다.표 1을 다시 참조하면, JOIN 절의 경우 ON 절에서 테이블 1 및 테이블 2의 파티셔닝 키에 해당하는 guid 컬럼 값을 비교하고 있음을 식별할 수 있다. 다만, guid 컬럼 값의 비교를 위해 guid 컬럼 값을 참조하는 경우, 개인정보 보호를 위한 법률 위반이 발생할 수 있다. 일 실시예에 따라, JOIN 절에 의한 결합은, 상기 guid 컬럼의 GROUP BY 절과 마찬가지로, 중첩 구조 테이블을 참조함으로써 제거될 수 있다. 이 경우, 생성되는 중첩 구조 테이블은 허가된 뷰(authorized view)의 형태를 가질 수 있고, 따라서, 상기 중첩 구조 테이블을 생성하는데 추가적인 오버헤드는 발생하지 않을 수 있다. 동작 730 내지 동작 740을 통해 개인정보 속성에 상응하는 컬럼을 참조하는 서브 쿼리들을 제거한 결과는 아래의 표에 상응할 수 있다.
SELECT cnt AS dvc_cnt, COUNT(*) AS cnt FROM (
SELECT guid, category, COUNT(DISTINCT device_id) AS cnt
FROM customer_service_table1_table_2_nested
상기 표 5를 참조하면, GROUP BY 절에서 guid 컬럼을 참조하는 JOIN 절 및 ON 절은 중첩 구조 테이블(customer_service_table1_table2_nested)을 참조함으로써 제거될 수 있다.동작 750에서, 쿼리 재구성 모듈(224)은 병합된 집계 쿼리들 중 개인정보를 참조하는 집계 쿼리가 존재하는지 식별할 수 있다. 상기 표 5를 다시 참조하면, 쿼리 재구성 모듈(224)은 SELECT 절을 포함하는 집계 함수마다 참조 인자를 식별할 수 있다. 상기 표 5에서 guid 컬럼과 device_id 컬럼을 직접 참조하는 SELECT 절을 포함하는 집계 함수는 개인정보 보호의 법률 위반을 야기할 수 있다. 따라서, 쿼리 재구성 모듈(224)은 개인정보를 참조하는 집계 쿼리가 존재하는 것으로 판단할 수 있다.
동작 760에서, 쿼리 재구성 모듈(224)은 기능 통합 모듈(228)을 통해 참조하는 개인정보에 대한 권한을 갖는 허가 집계 쿼리를 포함하여 재구성 쿼리를 생성할 수 있다. 일 실시예에 따라, 기능 통합 모듈(228)은 쿼리 재구성 모듈(224)로부터 요청에 응답하여 상기 허가 집계 쿼리를 생성할 수 있다. 상기 허가 집계 쿼리는, 개인정보 속성에 상응하는 컬럼에 대한 액세스 권한을 가지는 집계 함수를 포함하는 서브 쿼리일 수 있다. 표 5를 참조하면, guid 컬럼 및 device_id 컬럼을 직접적으로 참조하는 SELECT 절을 포함하는 집계 함수는, 상기 허가 집계 쿼리에게 질의를 위임하여 개인정보 위반 가능성을 회피할 수 있다. 예를 들어, 상기 허가 집계 쿼리는, 개인정보 속성에 상응하는 guid 컬럼 및 카테고리의 차원에 따라 개인정보 속성에 상응하는 device_id 컬럼을 기준(metric)으로 집계를 수행할 수 있다. 동작 760을 통해 생성된 재구성 쿼리는 아래의 표에 상응할 수 있다.
SELECT cnt AS dvc_cnt, COUNT(*) cnt FROM (
SELECT authorized_count(
'COUNT_DISTINCT',
['guid', 'category'],
'device_id'
FROM customer_service_table1_table_2_nested
상기 표 6을 참조하면, 허가 집계 함수를 사용하도록 변경된 서브 쿼리는 개인정보 속성을 갖는 guid 컬럼 및 device_id 컬럼을 직접적으로 참조하지 않고 동적으로 생성된 상기 허가 집계 함수에게 실행을 위임할 수 있다. 상기 변경된 서브 쿼리는, 상기 허가 집계 함수로부터 결과를 서브 쿼리의 형태로 수신할 수 있다. 상술한 바와 같은 일(an) 실시예에 따른 빅데이터 분석 장치의 동작 방법은, 사용자 쿼리를 수신하는 동작과, 상기 수신된 사용자 쿼리를 복수의 서브 쿼리들로 분해하는 동작과, 상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 제1 서브 쿼리들을 식별하는 동작과, 상기 개인 정보에 접근 가능한 컴포넌트에 기반하여, 상기 제1 서브 쿼리들을 상기 개인 정보에 독립적인 제2 서브 쿼리들로 재구성하는 동작과, 상기 제2 서브 쿼리들과, 상기 복수의 서브 쿼리들 중 상기 개인 정보를 참조하도록 구성된 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하여 재구성 쿼리를 생성하는 동작을 포함할 수 있다.
일 실시예에 따른, 상기 빅데이터 분석 장치의 동작 방법은, 상기 개인 정보와 관련된 필터링 조건들을 생성하는 동작과, 상기 생성된 필터링 조건들을 상기 재구성 쿼리에 추가하여 최종 쿼리를 생성하는 동작과, 상기 최종 쿼리를 쿼리 엔진에 주입하여 빅데이터에 대한 분석 결과에 대한 데이터를 획득하는 동작을 더 포함할 수 있다.
일 실시예에 따른, 상기 필터링 조건들은, 상기 개인 정보와 관련된 법률 위반을 방지하기 위한 조건들 및 상기 개인 정보와 관련된 유저의 동의 범위를 벗어나지 않기 위한 조건들을 포함할 수 있다.
일 실시예에 따른, 상기 제1 서브 쿼리들은, 상기 개인 정보에 기반하여 파티셔닝(partitioning)을 포함하는 분석 함수를 이용하는 분석 쿼리들, 및 상기 개인 정보에 기반하여 파티셔닝을 포함하지 않는 집계 함수를 이용하는 집계 쿼리들을 포함할 수 있다.
일 실시예에 따른, 상기 제2 서브 쿼리들로 재구성하는 동작은, 상기 제1 서브 쿼리들 중 상기 분석 쿼리들을 식별하는 동작과, 상기 개인 정보에 기반하여 미리 파티셔닝된 데이터를 포함하는 중첩(nested) 테이블을 참조하여 상기 분석 쿼리들을 변환하는 동작을 더 포함할 수 있고, 상기 개인 정보에 접근 가능한 컴포넌트는, 상기 중첩 테이블에 상응할 수 있다.
일 실시예에 따른, 상기 제2 서브 쿼리들로 재구성하는 동작은, 상기 변환된 분석 쿼리들 및 상기 집계 쿼리들 중 상기 개인 정보를 참조하는 서브 쿼리들을 식별하는 동작과, 상기 식별된 서브 쿼리들의 수행을 대행(delegate)하는 허가된 집계 함수(authorized aggregation function)를 통해 상기 개인 정보에 대한 컨텍스트(context)를 제공하는 서브 쿼리들로 변환하는 동작과, 상기 컨텍스트를 제공하도록 변환된 상기 서브 쿼리들과 상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하는 동작을 더 포함할 수 있고, 상기 개인 정보에 접근 가능한 컴포넌트는, 상기 허가된 집계 함수에 상응할 수 있다.
일 실시예에 따른, 상기 필터링 조건들은, 상기 개인 정보와 관련된 법률에 대한 정보 및 상기 개인 정보와 관련된 유저의 동의 범위에 대한 정보를 나타내는 자연어를 AI(artificial intelligence) 모델에 기반하여 변환한 서브 쿼리들을 포함할 수 있다.
일 실시예에 따른, 상기 개인 정보는, 상기 빅데이터 분석 장치가 연결되는 네트워크와 구별되는 별도의 네트워크를 통해 액세스 가능한 정보에 상응할 수 있다.
일 실시예에 따른, 상기 중첩 테이블은, 상기 빅데이터 중 상기 개인 정보의 속성을 나타내는 데이터 각각을 기준으로 상기 빅데이터를 포함하는 테이블을 재구조화한 테이블에 상응할 수 있다.
상술한 바와 같은 일 실시예에 따른 빅데이터 분석 장치는, 사용자 입력을 수신하기 위한 쿼리 인터페이스와, 쿼리를 서브 쿼리들로 분해하거나, 서브 쿼리들을 병합하기 위한 쿼리 재구성 모듈과, 요청된 쿼리에 대한 연산을 수행하여 결과 데이터를 출력하기 위한 쿼리 엔진과, 필터링 조건들을 위한 서브 쿼리들을 생성하는 자연어 해석 모듈을 포함하고, 상기 빅데이터 분석 장치는, 상기 쿼리 인터페이스를 통해, 사용자 쿼리를 수신하고, 상기 수신된 사용자 쿼리를 복수의 서브 쿼리들로 분해하고, 상기 쿼리 재구성 모듈을 통해, 상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 제1 서브 쿼리들을 식별하고, 상기 쿼리 재구성 모듈을 통해, 상기 개인 정보에 접근 가능한 컴포넌트에 기반하여, 상기 제1 서브 쿼리들을 상기 개인 정보에 독립적인 제2 서브 쿼리들로 재구성하고, 상기 쿼리 재구성 모듈을 통해, 상기 제2 서브 쿼리들과, 상기 복수의 서브 쿼리들 중 상기 개인 정보를 참조하도록 구성된 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하여 재구성 쿼리를 생성하도록 구성될 수 있다.
일 실시예에 따른, 상기 빅데이터 분석 장치는, 자연어 해석 모듈을 통해, 상기 개인 정보와 관련된 필터링 조건들을 생성하여 상기 생성된 조건들을 상기 쿼리 재구성 모듈에게 제공하고, 상기 쿼리 재구성 모듈을 통해, 상기 생성된 필터링 조건들을 상기 재구성 쿼리에 추가하여 최종 쿼리를 생성하고, 상기 쿼리 엔진을 통해, 상기 최종 쿼리에 상응하는 분석 결과에 대한 데이터를 획득하도록 구성될 수 있다.
일 실시예에 따른, 상기 필터링 조건들은, 상기 개인 정보와 관련된 법률 위반을 방지하기 위한 조건들 및 상기 개인 정보와 관련된 유저의 동의 범위를 벗어나지 않기 위한 조건들을 포함할 수 있다.
일 실시예에 따른, 상기 제1 서브 쿼리들은, 상기 개인 정보에 기반하여 파티셔닝을 포함하는 분석 함수를 이용하는 분석 쿼리들, 및 상기 개인 정보에 기반하여 파티셔닝을 포함하지 않는 집계 함수를 이용하는 집계 쿼리들을 포함할 수 있다.
일 실시예에 따른, 상기 쿼리 재구성 모듈은, 상기 제1 서브 쿼리들 중 상기 분석 쿼리들을 식별하고, 상기 개인 정보에 기반하여 미리 재구조화된 데이터를 포함하는 중첩(nested) 구조 테이블을 참조하도록 상기 분석 쿼리들을 변환하고, 상기 개인 정보에 접근 가능한 컴포넌트는 상기 중첩 테이블에 상응하도록 구성될 수 있다.
일 실시예에 따른, 상기 쿼리 재구성 모듈은, 상기 변환된 분석 쿼리들 및 상기 집계 쿼리들 중 상기 개인 정보를 참조하는 서브 쿼리들을 식별하고, 상기 식별된 서브 쿼리들의 수행을 대행(delegate)하는 허가된 집계 함수(authorized aggregation function)를 통해 상기 개인 정보에 대한 컨텍스트(context)를 제공하는 서브 쿼리들로 변환하고, 상기 컨텍스트를 제공하도록 변환된 상기 서브 쿼리들과 상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하도록 구성될 수 있고, 상기 개인 정보에 접근 가능한 컴포넌트는, 상기 허가된 집계 함수에 상응할 수 있다.
일 실시예에 따른, 상기 필터링 조건들은, 상기 개인 정보와 관련된 법률에 대한 정보 및 상기 개인 정보와 관련된 유저의 동의 범위에 대한 정보를 나타내는 자연어를 상기 자연어 해석 모듈에 포함되는 AI(artificial intelligence) 모델에 기반하여 변환한 서브 쿼리들을 포함할 수 있다.
일 실시예에 따른, 상기 개인 정보는, 상기 빅데이터 분석 장치가 연결되는 네트워크와 구별되는 별도의 네트워크를 통해 액세스 가능한 정보에 상응할 수 있다.
일 실시예에 따른, 상기 중첩 테이블은, 상기 빅데이터 중 상기 개인 정보의 속성을 나타내는 데이터 각각을 기준으로 상기 빅데이터를 포함하는 테이블을 재구조화한 테이블에 상응할 수 있다.
상술한 바와 같은 일 실시예에 따른 하나 이상의 프로그램들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체(non-transitory computer readable storage medium)는, 쿼리 인터페이스, 쿼리 재구성 모듈, 쿼리 엔진, 및 자연어 해석 모듈을 실행하기 위한 인스트럭션들을 저장하도록 구성된 적어도 하나의 메모리를 가지는(with) 전자 장치의 프로세서에 의해 실행될 시, 상기 쿼리 인터페이스를 통해, 사용자 쿼리를 수신하고, 상기 쿼리 재구성 모듈을 통해, 상기 수신된 사용자 쿼리를 복수의 서브 쿼리들로 분해하고, 상기 쿼리 재구성 모듈을 통해, 상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 제1 서브 쿼리들을 식별하고, 상기 쿼리 재구성 모듈을 통해, 상기 개인 정보에 접근 가능한 컴포넌트에 기반하여, 상기 제1 서브 쿼리들을 상기 개인 정보에 독립적인 제2 서브 쿼리들로 재구성하고, 상기 쿼리 재구성 모듈을 통해, 상기 제2 서브 쿼리들과, 상기 복수의 서브 쿼리들 중 상기 개인 정보를 참조하도록 구성된 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하여 재구성 쿼리를 생성하도록 구성될 수 있다.
일 실시예에 따른, 상기 프로세서는, 상기 인스트럭션들을 실행할 시,
상기 자연어 해석 모듈을 통해, 상기 개인 정보와 관련된 필터링 조건들을 생성하고, 상기 쿼리 재구성 모듈을 통해, 상기 생성된 필터링 조건들을 상기 재구성 쿼리에 추가하여 최종 쿼리를 생성하고, 상기 쿼리 엔진을 통해, 상기 최종 쿼리에 상응하는 분석 결과에 대한 데이터를 획득하도록 구성될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"로 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: CD-ROM(compact disc read only memory))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어쪠)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱(heuristic)하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 빅데이터 분석 장치의 동작 방법에 있어서,
    사용자 쿼리를 수신하는 동작과,
    상기 수신된 사용자 쿼리를 복수의 서브 쿼리들로 분해하는 동작과,
    상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 제1 서브 쿼리들을 식별하는 동작과,
    상기 개인 정보에 접근 가능한 컴포넌트에 기반하여, 상기 제1 서브 쿼리들을 상기 개인 정보에 독립적인 제2 서브 쿼리들로 재구성하는 동작과,
    상기 제2 서브 쿼리들과, 상기 복수의 서브 쿼리들 중 상기 개인 정보를 참조하도록 구성된 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하여 재구성 쿼리를 생성하는 동작을 포함하는,
    방법.
  2. 청구항 1에 있어서,
    상기 개인 정보와 관련된 필터링 조건들을 생성하는 동작과,
    상기 생성된 필터링 조건들을 상기 재구성 쿼리에 추가하여 최종 쿼리를 생성하는 동작과,
    상기 최종 쿼리를 쿼리 엔진에 주입하여 빅데이터에 대한 분석 결과에 대한 데이터를 획득하는 동작을 더 포함하는,
    방법.
  3. 청구항 2에 있어서,
    상기 필터링 조건들은,
    상기 개인 정보와 관련된 법률 위반을 방지하기 위한 조건들 및 상기 개인 정보와 관련된 유저의 동의 범위를 벗어나지 않기 위한 조건들을 포함하는,
    방법.
  4. 청구항 1 내지 청구항 3 중 어느 하나에 있어서,
    상기 제1 서브 쿼리들은,
    상기 개인 정보에 기반하여 파티셔닝(partitioning)을 포함하는 분석 함수를 이용하는 분석 쿼리들, 및
    상기 개인 정보에 기반하여 파티셔닝을 포함하지 않는 집계 함수를 이용하는 집계 쿼리들을 포함하는,
    방법.
  5. 청구항 4에 있어서,
    상기 제2 서브 쿼리들로 재구성하는 동작은,
    상기 제1 서브 쿼리들 중 상기 분석 쿼리들을 식별하는 동작과,
    상기 개인 정보에 기반하여 미리 파티셔닝된 데이터를 포함하는 중첩(nested) 테이블을 참조하여 상기 분석 쿼리들을 변환하는 동작을 더 포함하고,
    상기 개인 정보에 접근 가능한 컴포넌트는, 상기 중첩 테이블에 상응하는,
    방법.
  6. 청구항 5에 있어서,
    상기 제2 서브 쿼리들로 재구성하는 동작은,
    상기 변환된 분석 쿼리들 및 상기 집계 쿼리들 중 상기 개인 정보를 참조하는 서브 쿼리들을 식별하는 동작과,
    상기 식별된 서브 쿼리들의 수행을 대행(delegate)하는 허가된 집계 함수(authorized aggregation function)를 통해 상기 개인 정보에 대한 컨텍스트(context)를 제공하는 서브 쿼리들로 변환하는 동작과,
    상기 컨텍스트를 제공하도록 변환된 상기 서브 쿼리들과 상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하는 동작을 더 포함하고,
    상기 개인 정보에 접근 가능한 컴포넌트는, 상기 허가된 집계 함수에 상응하는,
    방법.
  7. 청구항 3 내지 청구항 6 중 어느 하나에 있어서,
    상기 필터링 조건들은,
    상기 개인 정보와 관련된 법률에 대한 정보 및 상기 개인 정보와 관련된 유저의 동의 범위에 대한 정보를 나타내는 자연어를 AI(artificial intelligence) 모델에 기반하여 변환한 서브 쿼리들을 포함하는,
    방법.
  8. 청구항 1 내지 청구항 7 중 어느 하나에 있어서,
    상기 개인 정보는,
    상기 빅데이터 분석 장치가 연결되는 네트워크와 구별되는 별도의 네트워크를 통해 액세스 가능한 정보에 상응하는,
    방법.
  9. 청구항 8에 있어서,
    상기 중첩 테이블은,
    상기 빅데이터 중 상기 개인 정보의 속성을 나타내는 데이터 각각을 기준으로 상기 빅데이터를 포함하는 테이블을 재구조화한 테이블에 상응하는,
    방법.
  10. 빅데이터 분석 장치에 있어서,
    사용자 입력을 수신하기 위한 쿼리 인터페이스와, 쿼리를 서브 쿼리들로 분해하거나, 서브 쿼리들을 병합하기 위한 쿼리 재구성 모듈과, 요청된 쿼리에 대한 연산을 수행하여 결과 데이터를 출력하기 위한 쿼리 엔진과, 필터링 조건들을 위한 서브 쿼리들을 생성하는 자연어 해석 모듈을 포함하고,
    상기 빅데이터 분석 장치는,
    상기 쿼리 인터페이스를 통해, 사용자 쿼리를 수신하고,
    상기 수신된 사용자 쿼리를 복수의 서브 쿼리들로 분해하고,
    상기 쿼리 재구성 모듈을 통해, 상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 제1 서브 쿼리들을 식별하고,
    상기 쿼리 재구성 모듈을 통해, 상기 개인 정보에 접근 가능한 컴포넌트에 기반하여, 상기 제1 서브 쿼리들을 상기 개인 정보에 독립적인 제2 서브 쿼리들로 재구성하고,
    상기 쿼리 재구성 모듈을 통해, 상기 제2 서브 쿼리들과, 상기 복수의 서브 쿼리들 중 상기 개인 정보를 참조하도록 구성된 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하여 재구성 쿼리를 생성하도록 구성되는,
    장치.
  11. 청구항 10에 있어서,
    상기 빅데이터 분석 장치는,
    자연어 해석 모듈을 통해, 상기 개인 정보와 관련된 필터링 조건들을 생성하여 상기 생성된 조건들을 상기 쿼리 재구성 모듈에게 제공하고,
    상기 쿼리 재구성 모듈을 통해, 상기 생성된 필터링 조건들을 상기 재구성 쿼리에 추가하여 최종 쿼리를 생성하고,
    상기 쿼리 엔진을 통해, 상기 최종 쿼리에 상응하는 분석 결과에 대한 데이터를 획득하도록 구성되는,
    장치.
  12. 청구항 11에 있어서,
    상기 필터링 조건들은,
    상기 개인 정보와 관련된 법률 위반을 방지하기 위한 조건들 및 상기 개인 정보와 관련된 유저의 동의 범위를 벗어나지 않기 위한 조건들을 포함하는,
    장치.
  13. 청구항 10 내지 청구항 12 중 어느 하나에 있어서,
    상기 제1 서브 쿼리들은,
    상기 개인 정보에 기반하여 파티셔닝을 포함하는 분석 함수를 이용하는 분석 쿼리들, 및
    상기 개인 정보에 기반하여 파티셔닝을 포함하지 않는 집계 함수를 이용하는 집계 쿼리들을 포함하는,
    장치.
  14. 청구항 13에 있어서,
    상기 쿼리 재구성 모듈은,
    상기 제1 서브 쿼리들 중 상기 분석 쿼리들을 식별하고,
    상기 개인 정보에 기반하여 미리 파티셔닝된 데이터를 포함하는 중첩(nested) 테이블을 참조하여 상기 분석 쿼리들을 변환하고,
    상기 개인 정보에 접근 가능한 컴포넌트는 상기 중첩 테이블에 상응하는,
    장치.
  15. 하나 이상의 프로그램들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체(non-transitory computer readable storage medium)에 있어서, 상기 하나 이상의 프로그램들은, 쿼리 인터페이스, 쿼리 재구성 모듈, 쿼리 엔진, 및 자연어 해석 모듈을 실행하기 위한 인스트럭션들을 저장하도록 구성된 적어도 하나의 메모리를 가지는(with) 전자 장치의 프로세서에 의해 실행될 시,
    상기 쿼리 인터페이스를 통해, 사용자 쿼리를 수신하고,
    상기 쿼리 재구성 모듈을 통해, 상기 수신된 사용자 쿼리를 복수의 서브 쿼리들로 분해하고,
    상기 쿼리 재구성 모듈을 통해, 상기 복수의 서브 쿼리들 중 개인 정보를 참조하도록 구성되는 제1 서브 쿼리들을 식별하고,
    상기 쿼리 재구성 모듈을 통해, 상기 개인 정보에 접근 가능한 컴포넌트에 기반하여, 상기 제1 서브 쿼리들을 상기 개인 정보에 독립적인 제2 서브 쿼리들로 재구성하고,
    상기 쿼리 재구성 모듈을 통해, 상기 제2 서브 쿼리들과, 상기 복수의 서브 쿼리들 중 상기 개인 정보를 참조하도록 구성된 상기 제1 서브 쿼리들을 제외한 나머지 서브 쿼리들을 병합하여 재구성 쿼리를 생성하도록 구성된,
    비일시적 컴퓨터 판독가능 저장 매체.
PCT/KR2022/015745 2021-12-06 2022-10-17 개인정보 침해를 방지하기 위한 빅데이터 분석 장치, 동작 방법 및 비-일시적 컴퓨터 판독가능 저장 매체 WO2023106608A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0173322 2021-12-06
KR20210173322 2021-12-06
KR10-2021-0187449 2021-12-24
KR1020210187449A KR20230085035A (ko) 2021-12-06 2021-12-24 개인정보 침해를 방지하기 위한 빅데이터 분석 장치, 동작 방법 및 비-일시적 컴퓨터 판독가능 저장 매체

Publications (1)

Publication Number Publication Date
WO2023106608A1 true WO2023106608A1 (ko) 2023-06-15

Family

ID=86730628

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/015745 WO2023106608A1 (ko) 2021-12-06 2022-10-17 개인정보 침해를 방지하기 위한 빅데이터 분석 장치, 동작 방법 및 비-일시적 컴퓨터 판독가능 저장 매체

Country Status (1)

Country Link
WO (1) WO2023106608A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060085908A (ko) * 2005-01-25 2006-07-28 마이크로소프트 코포레이션 쿼리 상세화 시스템 및 방법
US20140130175A1 (en) * 2012-11-08 2014-05-08 Microsoft Corporation Data Leakage Detection in a Multi-Tenant Data Architecture
US9195744B2 (en) * 2008-07-25 2015-11-24 International Business Machines Corporation Protecting information in search queries
KR101863268B1 (ko) * 2013-05-08 2018-05-31 페이스북, 인크. 온라인 소셜 네트워크에서 검색 질의를 위한 근사적 프라이버시 인덱싱
KR20200133927A (ko) * 2019-05-21 2020-12-01 주식회사 포지큐브 인공지능 서비스 이용을 위한 망 분리 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060085908A (ko) * 2005-01-25 2006-07-28 마이크로소프트 코포레이션 쿼리 상세화 시스템 및 방법
US9195744B2 (en) * 2008-07-25 2015-11-24 International Business Machines Corporation Protecting information in search queries
US20140130175A1 (en) * 2012-11-08 2014-05-08 Microsoft Corporation Data Leakage Detection in a Multi-Tenant Data Architecture
KR101863268B1 (ko) * 2013-05-08 2018-05-31 페이스북, 인크. 온라인 소셜 네트워크에서 검색 질의를 위한 근사적 프라이버시 인덱싱
KR20200133927A (ko) * 2019-05-21 2020-12-01 주식회사 포지큐브 인공지능 서비스 이용을 위한 망 분리 장치

Similar Documents

Publication Publication Date Title
US8335778B2 (en) System and method for semantic search in an enterprise application
Hammer et al. Semantic integrity in a relational data base system
US11568079B2 (en) Secure data point matching in a multiple tenant database system
Agrawal et al. Foundations of uncertain-data integration
US9286393B2 (en) Performing a function on rows of data determined from transitive relationships between columns
US20220138172A1 (en) Method and system for distributed data storage with eternal integrity guarantees
CN114328504A (zh) 数据联合查询方法、装置、设备及计算机可读存储介质
US20130080466A1 (en) Query servicing with access path security in a relational database management system
US11100152B2 (en) Data portal
CN112417492A (zh) 基于数据分类分级的服务提供方法
US20220335156A1 (en) Dynamic Data Dissemination Under Declarative Data Subject Constraint
CN114840521A (zh) 数据库的权限管理和数据保护方法、装置、设备和存储介质
WO2023106608A1 (ko) 개인정보 침해를 방지하기 위한 빅데이터 분석 장치, 동작 방법 및 비-일시적 컴퓨터 판독가능 저장 매체
CN110928963A (zh) 针对运维业务数据表的列级权限知识图谱构建方法
CN114238273A (zh) 数据库管理方法、装置、设备及存储介质
CN115185973A (zh) 一种数据资源共享方法、平台、装置及存储介质
KR20230085035A (ko) 개인정보 침해를 방지하기 위한 빅데이터 분석 장치, 동작 방법 및 비-일시적 컴퓨터 판독가능 저장 매체
Cisco The OQL Language
Cisco The OQL Language
Cisco The OQL Language
Cisco The OQL Language
Cisco The OQL Language
Abdelgawad et al. Synthesizing and Analyzing Attribute-Based Access Control Model Generated from Natural Language Policy Statements
Li et al. Fedsa: A data federation platform for law enforcement management
Schwab et al. A Framework for DSL-Based Query Classification Using Relational and Graph-Based Data Models

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: 22904442

Country of ref document: EP

Kind code of ref document: A1