Permission processing method and system, server, storage medium and program product

By building a permission segmentation coordinate system that integrates confidentiality and sensitivity levels, access permissions in medical data sharing scenarios are updated in multiple levels, which solves the problems of inefficiency and resource waste caused by generalization of access permissions in the existing technology, and achieves refined data management and efficient data sharing.

CN120449172APending Publication Date: 2025-08-08CHINA MOBILE CHENGDU INFORMATION & TELECOMM TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410174157.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-02-06
Publication Date
2025-08-08

AI Technical Summary

Technical Problem

In the medical data sharing scenario, the access rights to all medical data in the prior art are generalized, resulting in low data sharing efficiency and waste of resources.

Method used

By building a permission segmentation coordinate system that integrates confidentiality and sensitivity levels, multiple levels of updates are made to the access rights of data nodes and attribute data based on the user's confidentiality and sensitivity levels to generate refined data access rights.

Benefits of technology

It realizes refined data permission management in different categories of data, user roles and usage scenarios, improves the efficiency and flexibility of data sharing, and avoids waste of resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120449172A_ABST
    Figure CN120449172A_ABST
Patent Text Reader

Abstract

The invention provides a permission processing method and system, a server, a computer storage medium and a computer program product. The method comprises the following steps: receiving a data access request sent by a client; determining a data generation rule according to the user information and the request specification, and querying the graph structure according to the data generation rule to obtain first topological information; determining a confidentiality level corresponding to the user, and updating the access authority of the data node in the first topological information according to the confidentiality level to obtain second topological information; determining a sensitivity level corresponding to the user, and updating the access permission of the attribute data in the second topological information according to the sensitivity level to obtain target topological information; and returning accessible data corresponding to the target topological information to the client.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a permission processing method, system, server, computer storage medium, and computer program product. Background Art

[0002] Currently, with the continuous deepening of informatization, more and more medical data is being retained and managed in digital form. The value of medical data needs to be realized through data sharing. Specifically, through the sharing of medical data, doctors and medical teams can obtain more comprehensive and accurate patient information, thereby improving the accuracy of diagnosis and the effectiveness of treatment plans. It also helps medical institutions and health departments better evaluate and monitor the quality and safety of health services. In addition, sharing medical data can provide a rich source of data for scientific research, promote the progress of medical research and innovation, and promote cooperation and communication between medical institutions, improving the overall level of medical care and promoting industry development.

[0003] In related technologies, in the sharing scenario of medical data, for different data accessors, the data usually has only two situations: being accessible or not accessible. That is, the access rights for all medical data are generalized. However, if this high-level protection method is selected for all medical data, it will not only reduce the efficiency and flexibility of data sharing, but also cause waste of data resources. Therefore, how to effectively handle the permissions of medical data is a technical problem that needs to be solved. Summary of the Invention

[0004] The present application provides a permission processing method, system, server, computer storage medium and computer program product.

[0005] The technical solution of this application is achieved as follows:

[0006] This application provides a permission processing method, which is applied to a server and includes:

[0007] receiving a data access request sent by the client; the data access request includes user information and request specifications;

[0008] Determining a data generation rule based on the user information and the request specification, and querying a graph structure based on the data generation rule to obtain first topology information; the graph structure includes a plurality of data nodes, and each data node includes a plurality of attribute data;

[0009] Determining a confidentiality level corresponding to the user, and updating access rights of data nodes in the first topology information according to the confidentiality level to obtain second topology information;

[0010] Determining a sensitivity level corresponding to the user, and updating access rights to attribute data in the second topology information according to the sensitivity level to obtain target topology information;

[0011] The accessible data corresponding to the target topology information is returned to the client; the target topology information is used to represent the data access permission of the user.

[0012] This application provides a rights processing system, which includes a client and a server, wherein:

[0013] The client is configured to send a data access request to the server; the data access request includes user information and a request specification;

[0014] The server is used to determine data generation rules based on the user information and request specifications, and query the graph structure based on the data generation rules to obtain first topology information; determine the confidentiality level corresponding to the user, and update the access rights of the data nodes in the first topology information according to the confidentiality level to obtain second topology information; determine the sensitivity level corresponding to the user, and update the access rights of the attribute data in the second topology information according to the sensitivity level to obtain target topology information; return the accessible data corresponding to the target topology information to the client; the target topology information is used to characterize the data access rights of the user; the graph structure includes multiple data nodes, and each data node includes multiple attribute data.

[0015] The present application provides a server, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, the permission processing method provided by one or more of the aforementioned technical solutions is implemented.

[0016] The present invention provides a computer storage medium storing a computer program; after the computer program is executed, it can implement the permission processing method provided by one or more of the above-mentioned technical solutions.

[0017] The present application provides a computer program product, including a computer program, which, when executed by a processor, implements the permission processing method provided by one or more of the aforementioned technical solutions.

[0018] An embodiment of the present application provides a permission processing method, system, server, computer storage medium and computer program product, wherein the method is applied to a server, and the method includes: receiving a data access request sent by the client; the data access request includes user information and a request specification; the server is used to determine a data generation rule based on the user information and the request specification, and query a graph structure based on the data generation rule to obtain first topology information; the graph structure includes multiple data nodes, and each data node includes multiple attribute data; determining the confidentiality level corresponding to the user, and updating the access rights of the data nodes in the first topology information according to the confidentiality level to obtain second topology information; determining the sensitivity level corresponding to the user, and updating the access rights of the attribute data in the second topology information according to the sensitivity level to obtain target topology information; returning accessible data corresponding to the target topology information to the client; the target topology information is used to characterize the data access rights of the user.

[0019] It can be seen that in the embodiment of the present application, the user's data access rights are updated at multiple levels from the two dimensions of confidentiality level and sensitivity level. In this way, for different categories of data, user roles and data usage scenarios, the user's corresponding data access rights are different, which realizes a more refined data permission classification and solves the problem of data resource waste caused by the generalization of user data access rights; improves the efficiency and flexibility of users in obtaining data in data sharing scenarios, and better meets application needs. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 A schematic diagram of the structure of a permission processing system provided in an embodiment of the present application;

[0021] Figure 2 A schematic diagram of the structure of another permission processing system provided in an embodiment of the present application;

[0022] Figure 3 A schematic diagram of a permission division coordinate system provided in an embodiment of the present application;

[0023] Figure 4 A schematic diagram of a topology structure in first topology information provided in an embodiment of the present application;

[0024] Figure 5 A schematic diagram of a topology structure in second topology information provided in an embodiment of the present application;

[0025] Figure 6 A flowchart of a permission processing method provided in an embodiment of the present application;

[0026] Figure 7A flowchart of another permission processing method provided in an embodiment of the present application;

[0027] Figure 8 A schematic diagram of the structure of the server provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] The technical solutions in this application will be described clearly and completely below in conjunction with the accompanying drawings in this application.

[0029] The present application will be further described in detail below in conjunction with the accompanying drawings and examples. It should be understood that the embodiments provided herein are merely intended to explain the present application and are not intended to limit the present application. In addition, the embodiments provided below are partial embodiments for implementing the present application, rather than providing all embodiments for implementing the present application. In the absence of conflict, the technical solutions described in the present application may be implemented in any combination.

[0030] It should be noted that, in this application, the terms "comprises," "includes," or any other variants thereof are intended to encompass non-exclusive inclusion, such that a method or apparatus comprising a series of elements includes not only the elements explicitly stated, but also other elements not explicitly listed, or elements inherent to the implementation of the method or apparatus. In the absence of further restrictions, an element defined by the phrase "comprising a ..." does not exclude the presence of other related elements (such as steps in a method or units in an apparatus, for example, a unit may be part of a processor, part of a program or software, etc.) in the method or apparatus comprising the element.

[0031] The term "and / or" herein simply describes an association relationship between associated objects, indicating that three relationships can exist. For example, "A and / or B" can represent the existence of three situations: A alone, A and B simultaneously, and B alone. Furthermore, the term "at least one" herein refers to any combination of at least two of any one or more of a plurality of items. For example, "at least one of A, B, and C" can represent any one or more elements selected from the set consisting of A, B, and C.

[0032] For example, the permission processing method provided in this application includes a series of steps, but the permission processing method provided in this application is not limited to the recorded steps. Similarly, the permission processing system provided in this application includes a series of modules, but the permission processing system provided in this application is not limited to including the modules explicitly recorded, and may also include modules that need to be set up to obtain relevant information or perform processing based on information.

[0033] An embodiment of the present application provides a permission processing system, which can be applied to business scenarios with data permission processing requirements, for example, it can be a sharing scenario of medical data or financial data, etc., and the embodiment of the present application is not limited to this; the following is an example of a sharing scenario of medical data.

[0034] It's important to emphasize that medical data sharing should be conducted in compliance with relevant privacy laws and regulations, and that necessary security measures should be implemented to protect personal privacy. However, different types of medical data have varying values for privacy protection. Applying the same high-level protection measures to all medical data would compromise practical application efficiency and waste data resources. Therefore, a permissions management system is needed that can manage data access permissions using differentiated policies for different data types, data users, and data usage scenarios.

[0035] Figure 1 A schematic diagram of the structure of a permission processing system provided in an embodiment of the present application is shown in FIG. Figure 1 As shown, the permission processing system may include a client 10, a server 11 and a database 12; the server 11 is respectively connected to the client 10 and the database 12 for communication, and the server 11 may include a permission control module 110, a data generation module 111 and a privacy processing module 112.

[0036] For example, a client generally refers to a computer or device that uses client software or an application such as a browser to initiate a request to a server. The client type is not limited here and can be, for example, a personal computer or a mobile terminal. Mobile terminals can be, for example, mobile phones, tablet computers, personal digital assistants, wearable devices, and other hardware devices with various operating systems, touch screens, and / or displays.

[0037] For example, the server is used to receive requests sent by the client, process the requests and return corresponding data or services; the server is the core implementation component of the permission processing system, see Figure 2The permission control module included in the permission processing system has three permission control units, namely: the first-level permission control unit, the second-level permission control unit and the third-level permission control unit; among them, the first-level permission control unit is responsible for controlling the client's access to the database; the second-level permission control unit is responsible for executing the confidentiality permission control logic; the third-level permission control unit is responsible for executing the sensitivity permission control logic. The data generation module included in the permission processing system is responsible for generating corresponding topology information based on data access requests. The privacy processing module included in the permission processing system has two update units, namely: the topology update unit and the attribute update unit; among them, the topology update unit is responsible for updating the access rights of the level data nodes according to the confidentiality level; the attribute update unit is responsible for further updating the access rights of the attribute data in the data node according to the sensitivity level, and generating accessible data under the access rights.

[0038] Exemplarily, the database stores a graph structure constructed from raw business data. The graph structure includes multiple data nodes, each of which includes multiple attribute data. Here, the raw business data is related to the application scenario of the permissions processing system. For example, in the scenario of sharing medical data, the raw business data can be raw medical data. The following uses raw medical data as an example for explanation.

[0039] Exemplarily, raw medical data refers to information related to the health status, medical services and medical care of each patient; it may include but is not limited to: patient identity information (such as the patient's name, gender, age, contact information and other basic identity information), medical records and clinical records (such as the patient's medical history, diagnosis results, treatment plan, surgical records, drug prescriptions, etc.), medical imaging data (such as X-rays, CT scans, magnetic resonance imaging and other medical imaging data, used for diagnosis and treatment), laboratory results (such as blood tests, urine analysis, pathological examinations and other laboratory test results, used to assess the patient's physiological state and disease diagnosis), health monitoring data (such as monitoring data of physiological parameters such as blood pressure, heart rate, body temperature, blood sugar, respiratory rate, as well as data collected by health equipment and sensors), health survey and questionnaire data (such as health questionnaires filled out by patients, medical history surveys, etc.), etc.

[0040] In an embodiment of the present application, when the original business data is original medical data, permission processing for the original medical data can be implemented based on Fast Healthcare Interoperability Resources (FHIR); wherein, FHIR is a set of specifications created by the Health Level 7 (HL7) standard to achieve convenient and fast medical data exchange. FHIR decouples and reconstructs all medical data related to medical health into resources (Resource), and stores resources as the smallest data unit in the FHIR server. FHIR Release 4 has released a total of 145 resources, and one resource corresponds to a data structure of one medical information. For example, Observation defines the data structure that describes symptom information, Care Plan defines the data structure that describes the treatment plan, and so on. FHIR also defines the association relationship between resources based on reference (Reference), and one resource can reference another resource according to the rules. The FHIR standard itself has standardized the issues of which resources can establish reference relationships and which resource the reference relationship points from. It should be noted that a resource is an independent data body, which includes many attributes related to this resource.

[0041] For example, when the original business data is original medical data, each data node of the graph structure in the database corresponds to each resource in FHIR, and the multiple attribute data included in each data node correspond to each attribute included in the relevant resource.

[0042] In an embodiment of the present application, the database also stores a predetermined authority partitioning coordinate system, which is used to represent the confidentiality level division results of each data node in the graph structure, as well as the sensitivity level division results of each attribute data in each data node; the following takes the original medical data as an example to illustrate the method of determining the authority partitioning coordinate system.

[0043] For example, given that raw medical data has the characteristics of a wide range of applications, multiple usage scenarios, and high security requirements, and that the division of data access rights is often multi-dimensional and multi-level, FHIR defines a coding system for describing data confidentiality, which divides data confidentiality into the following six levels: Low (Low), Unrestricted (U), Moderate (M), Normal (N), Restricted (R), and Very restricted (V). In addition, the relevant standards also define a hierarchical method for describing data sensitivity, which divides data sensitivity into the following five levels based on the importance of the data, the risk level, and the potential damage and impact on the data subject: Level 1 (data that can be fully disclosed), Level 2 (data that can be accessed and used on a larger scale), Level 3 (data that can be accessed and used on a medium scale), Level 4 (data that can be accessed and used on a smaller scale), and Level 5 (data that can be accessed and used only on a very small scale and under strictly restricted conditions).

[0044] In the embodiment of the present application, based on the above confidentiality level and sensitivity level, a permission division coordinate system integrating the two dimensions of confidentiality and sensitivity is constructed. The permission division coordinate system is used to define and manage data permission levels, such as Figure 3 As shown, the radius coordinate axis in the permission partitioning coordinate system represents the confidentiality level, and the angular coordinate axis represents the sensitivity level. The radius coordinate axis is divided into 6 confidentiality levels, corresponding to the above-mentioned L, U, M, N, R, and V respectively; the angular coordinate axis is divided into 5 sensitivity levels, among which 0° to 72° corresponds to the above-mentioned level 1, 72° to 144° corresponds to the above-mentioned level 2, 144° to 216° corresponds to the above-mentioned level 3, 216° to 288° corresponds to the above-mentioned level 4, and 288° to 0° corresponds to the above-mentioned level 5. In this permission partitioning coordinate system, the access rights of each attribute data included in each data node in the graph structure can be projected into a sector interval, and the sector interval can be expressed as S = θr 2 / 2, where r represents the distance from the point corresponding to the attribute data to the coordinate origin, and θ represents the angle between the point and the radius coordinate axis.

[0045] For example, by Figure 3 As can be seen, the original medical data is divided into various resources in FHIR with attributes as the smallest data unit, and these smallest data units are projected into the permission partitioning coordinate system. The figure shows some attributes of some resources in FHIR and marks the intervals in which they are located. For example, the interval in which O-code (resource: Observation, attribute: code) is located can be expressed as S = θr 2 / 2, where 0<r<M, 0<θ<72°.

[0046] The following combination Figure 1 and Figure 2 The permission handling system shown and Figure 3 The permission division coordinate system shown in the figure provides an exemplary description of the permission processing process, where:

[0047] The client is used to send data access requests to the server; the data access request includes user information and request specifications;

[0048] The server is used to determine data generation rules based on user information and request specifications, and query the graph structure based on the data generation rules to obtain first topology information; determine the confidentiality level corresponding to the user, update the access rights of the data nodes in the first topology information according to the confidentiality level, and obtain second topology information; determine the sensitivity level corresponding to the user, update the access rights of the attribute data in the second topology information according to the sensitivity level, and obtain target topology information; return the accessible data corresponding to the target topology information to the client; the target topology information is used to characterize the user's data access rights.

[0049] Exemplarily, the user interacts with the server through the client; when the user has data access needs, he can log in to the client and initiate a data access request on the logged-in client. After receiving the user's data access request, the client will send the data access request to the server. At this time, the server can receive the data access request.

[0050] In an embodiment of the present application, a data access request includes at least user information and a request specification; wherein the user information may include some information related to the user, including but not limited to the user name, password, user role, and token information when the user logs in to the client.

[0051] For example, user roles are related to the application scenario of the permission processing system. For example, in a medical data sharing scenario, user roles can be patients, medical staff, pharmaceutical companies, insurers, or researchers. The token information is an identifier given to the user by the client based on factors such as the user's data usage scenario. It is primarily used to identify the user's data usage scenario. The request specification can include specification information related to data generation rules.

[0052] It can be understood that data usage scenarios are related to user roles. If the user roles of client users are different, their data usage scenarios will be different to a certain extent; data usage scenarios can include scientific research use, clinical use, statistical use, etc.

[0053] In the embodiment of the present application, after the server receives the data access request sent by the client, the first-level permission control unit of the permission control module may process the data access request.

[0054] In some embodiments, the permission control module includes a first-level permission control unit; the permission control module is used to: parse user information through the first-level permission control unit, and verify the user's access permission based on the access information obtained by the analysis to obtain a verification result; when the verification result indicates that the verification is passed, the request specification is parsed through the first-level permission control unit, and the data generation rules obtained by the analysis are sent to the data generation module.

[0055] Here, the access information may include information such as user name and password; illustratively, the permission control module first parses the user information in the data access request through the first-level permission control unit to obtain access information, and then verifies the user's access authority based on the access information to obtain a verification result.

[0056] Exemplarily, the process of verifying user access rights may be: obtaining a preset access permission table; the access permission table stores multiple preset access information that allows access; using the access information obtained by parsing to query the access permission table, if it is determined according to the query result that the same preset access information exists in the access permission table, then the verification result indicates that the verification is successful, indicating that the user has access rights, and subsequent operations can be continued at this time; conversely, if it is determined according to the query result that the same preset access information does not exist in the access permission table, then the verification result indicates that the verification is unsuccessful, indicating that the user does not have access rights, and the current process ends at this time.

[0057] Furthermore, when the verification result indicates that the verification is passed, the first-level permission control unit continues to parse the request specification, and after the parsing is completed, sends the parsed data generation rules to the data generation module for further processing.

[0058] In an embodiment of the present application, after receiving the data generation rule, the data generation module can query the graph structure according to the data generation rule to obtain first topology information. Here, the first topology information may include a topology structure composed of at least one data node in the graph structure and attribute data of each data node.

[0059] Exemplarily, the data generation rule may include a central node and a query depth; wherein the central node points to a data node of a graph structure in the database, and the query depth defines the number of data nodes extending outward from the central node.

[0060] In some embodiments, the data generation module is used to: after receiving the data generation rules, use the central node as the starting data node, query each data node in the graph structure according to the query depth, obtain first topology information, and return the first topology information to the authority control module.

[0061] For example, see Figure 2 The data generation module includes a topological growth unit. After receiving the data generation rules, the topological growth unit executes a topological growth algorithm to implement query operations on the graph structure. The topological growth algorithm is an algorithm related to the central node and the query depth. Specifically, the topological growth algorithm uses the central node as the starting data node, and queries each data node that has a reference association with the starting data node in the graph structure of the database. The starting data node is continuously extended through the queried data nodes until the step size between the extended data node and the central node is greater than the query depth, thereby obtaining the final topological structure. The topological structure includes at least one data node. The topological structure and the attribute data included in each data node in the at least one data node together constitute the above-mentioned first topological information. Furthermore, after obtaining the first topological information, the data generation module returns the first topological information to the authority control module.

[0062] For example, assuming that data node 1 (Observation) is the central node and the query depth is 3, the topological structure obtained by the topological growth unit performing the topological growth algorithm is as follows: Figure 4 As shown in the figure, it can be seen that, with data node 1 (Observation) as the central node, after the first round of query, extended data nodes 2, 3, and 4 can be obtained. After the second round of query, extended data nodes 5, 6, and 7 can be obtained. After the third round of query, extended data node 6 can be obtained. It should be noted that each data node in this topological structure includes multiple attribute data. Taking data node 1 (Observation) as an example, it can include multiple attribute data such as O-code, O-value, and O-specific.

[0063] In some embodiments, the database also stores a confidentiality level rule table, which includes a mapping relationship between multiple preset user roles and multiple preset confidentiality levels; the authority control module is also used to parse the user information through the secondary authority control unit after receiving the first topology information, and send the user role obtained by the analysis to the privacy processing module; the privacy processing module is used to query the confidentiality level rule table according to the received user role to obtain the confidentiality level corresponding to the user.

[0064] In an embodiment of the present application, after receiving the first topology information returned by the data generation module, the permission control module can continue processing by the secondary permission control unit of the permission control module. For example, the secondary permission control unit parses the user role from the user information and sends the user role to the privacy processing module to request confidentiality and privacy processing.

[0065] Exemplarily, after receiving the user role of the client user, the privacy processing module can query the confidentiality level rule table in the database based on the user role. After querying the corresponding confidentiality level, the database returns the confidentiality level, which is the confidentiality level corresponding to the user. At this time, the privacy processing module can obtain the confidentiality level corresponding to the user. For example, if the user role of the client user is the patient himself, then he can have the highest confidentiality level V; if the user role of the client user is a research institution with an authorization agreement, then he can have confidentiality level R or other confidentiality levels. It should be noted that the mapping relationship between the preset user roles and the preset confidentiality levels in the confidentiality level rule table can be customized by the system.

[0066] For example, assuming that the user role is a researcher, the confidentiality level rule table defines the confidentiality level of the user role as R. Figure 3 In the permission partitioning coordinate system shown, r=R is drawn, and the accessible data corresponding to each data node falling in the interval 0<r<R can be obtained.

[0067] For example, each data node in the first topology information has a corresponding confidentiality level, and its confidentiality level is based on the lowest level of each attribute data included in it, for example, see Figure 3 According to the intervals where the three attribute data O-code, O-value, and O-specimen are located, the confidentiality level M of the interval where O-code and O-value are located is the lowest. At this time, it can be determined that the confidentiality level of the data node Observation is M.

[0068] In some embodiments, the privacy processing module is also used to obtain a permission partitioning coordinate system, update the access rights of the data nodes in the first topology information according to the confidentiality level and permission partitioning coordinate system corresponding to the user, obtain the second topology information, and return the second topology information to the permission control module.

[0069] Exemplarily, the privacy processing module includes a topology update unit. When the database returns the confidentiality level to the privacy processing module, it also returns the permission partition coordinate system. After the privacy processing module obtains the confidentiality level and permission partition coordinate system corresponding to the user, the topology update unit executes a topology reconstruction algorithm. The algorithm updates the access rights of the data nodes in the above-mentioned first topology information based on these two parts of information, obtains the second topology information, and returns the second topology information to the permission control module. The following is an exemplary description of the process of updating the first topology information.

[0070] For example, it is assumed that the topology structure in the first topology information is as follows: Figure 4 As shown, the confidentiality level of the user is R, and the topology update unit is based on Figure 3 The permission partitioning coordinate system shown in FIG1 is used to determine the data nodes that fall within the interval r>R. Assuming that the data nodes include data node 2 (Molecular Sequence) and data node 4 (Imaging Study), it means that the user does not have the access rights to these two data nodes. By executing the attribute reconstruction algorithm, the data nodes 2 and 4 of the topological structure in the first topological information can be hidden to obtain the updated topological structure, as shown in FIG1 . Figure 5 As shown; the updated topology structure includes at least one data node, and the updated topology structure and the attribute data included in each data node in the at least one data node together constitute the above-mentioned second topology information.

[0071] In some embodiments, the database also stores a sensitivity level rule table, which includes a mapping relationship between multiple preset token information and multiple preset sensitivity levels; the authority control module is also used to parse the user information through the three-level authority control unit after receiving the second topology information, and send the parsed token information to the privacy processing module; the privacy processing module is also used to query the sensitivity level rule table according to the received token information to obtain the sensitivity level corresponding to the user.

[0072] In an embodiment of the present application, after receiving the second topology information returned by the privacy processing module, the permission control module can continue processing by the third-level permission control unit of the permission control module. For example, the third-level permission control unit parses the token information from the user information and sends the token information to the privacy processing module to request confidentiality privacy processing.

[0073] Here, the token information is mainly used to identify the user's data usage scenario; after receiving the token information, the privacy processing module can query the sensitivity level rule table in the database based on the token information. After querying the corresponding sensitivity level, the database returns the sensitivity level, which is the sensitivity level corresponding to the user. At this time, the privacy processing module can obtain the sensitivity level corresponding to the user. For example, the user role of the client user is a scientific researcher, and his data usage scenario is scientific research. The corresponding sensitivity level can be defined as: Level 1 plaintext interval; Level 2 to 4 desensitized interval; Level 5 and above prohibited access interval. It should be noted that the mapping relationship between the preset token information and the preset sensitivity level in the sensitivity level rule table can be customized by the system.

[0074] Exemplarily, the sensitivity level corresponding to the user defines the relationship between the sensitivity level and the attribute data in the second topology information, that is, at this sensitivity level, which attribute data in the sensitivity intervals can be obtained in plain text, which attribute data in the sensitivity intervals need to be obtained in an anonymized manner, and which attribute data in the sensitivity intervals cannot be obtained.

[0075] In some embodiments, the privacy processing module is also used to obtain a permission segmentation coordinate system, update the access rights of the attribute data in the second topology information according to the user's corresponding sensitivity level and the permission segmentation coordinate system, obtain the target topology information, and return the target topology information to the permission control module.

[0076] Exemplarily, the privacy processing module includes an attribute updating unit. When the database returns the sensitivity level to the privacy processing module, it also returns the permission segmentation coordinate system. After the privacy processing module obtains the confidentiality level and permission segmentation coordinate system corresponding to the user, the attribute updating unit executes an attribute reconstruction algorithm. The algorithm updates the access rights of the data attributes in the above-mentioned second topology information based on these two parts of information, obtains the target topology information, and returns the target topology information to the permission control module. The following is an exemplary explanation of the update process of the second topology information.

[0077] For example, it is assumed that the topology structure in the second topology information is as follows: Figure 5 As shown, the sensitivity level corresponding to the user can be defined as: Level 1 plain text interval; Level 2 to 4 desensitization interval; Level 5 and above prohibited access interval; attribute update unit according to Figure 3 The authority split coordinate system shown, find Figure 5The intervals where the attribute data of each data node in the topological structure shown are located are judged in turn by executing the attribute reconstruction algorithm to determine whether the intervals where the attribute data of each data node are located are plain text intervals, desensitized intervals and prohibited access intervals. If it is determined that the interval where a certain attribute data is located is a plain text interval, no processing is performed; if it is determined that the interval where a certain attribute data is located is a desensitized interval, the attribute data needs to be desensitized; if it is determined that the interval where a certain attribute data is located is a prohibited access interval, the attribute data is deleted; by performing the above processing on the attribute data contained in each data node in the topological structure, the target topology information can be obtained; the target topology information is used to characterize the user's data access rights, and the data access rights are the maximum rights that the user can have to access the database.

[0078] In some embodiments, the permission control module is further configured to, after receiving the target topology information, determine the accessible data corresponding to the target topology information, and return the accessible data corresponding to the target topology information to the client.

[0079] Exemplarily, the accessible data corresponding to the target topology information is all data that the user's own permissions can access; in an embodiment of the present application, after receiving the target topology information returned by the privacy processing module, the permission control module can determine the accessible data corresponding to the target topology information, and return the accessible data corresponding to the target topology information to the client to complete the response to the data access request sent by the client. At this time, the user can obtain all data that the user's own permissions can access.

[0080] It can be seen that in the embodiment of the present application, on the basis of the polar coordinate system, the permission segmentation standards of the two dimensions of confidentiality and sensitivity are integrated to construct a permission segmentation coordinate system for defining and managing permission levels, and the user's data access rights are divided into multiple levels through the permission segmentation coordinate system, that is, for different categories of data, data users and data usage scenarios, different strategies can be adopted to manage data acquisition permissions, thereby achieving more refined data classification and avoiding the problem of data resource waste caused by "one size fits all"; in addition, the embodiment of the present application combines the permission processing system to give an overall process of permission processing, and disassembles each functional module, which is conducive to transformation and reproduction; the topological growth algorithm, topological reconstruction algorithm, and attribute reconstruction algorithm involved in the implementation process of the data management system are beneficial to the data characteristics of the graph structure, and can also perform top-down (from data nodes to attribute data) layered processing of the confidentiality and sensitivity of the data, which can improve the efficiency of data retrieval and information filtering of the graph structure, and is conducive to application and practice in big data scenarios.

[0081] In order to better reflect the purpose of this application, further explanation is given based on the above embodiments of this application.

[0082] Figure 6 A flowchart of a permission processing method provided in an embodiment of the present application is shown in FIG. Figure 6 As shown, the process may include:

[0083] Step 20: The client sends a data access request to the server.

[0084] Step 21: The first-level permission control unit verifies the access permission.

[0085] For example, after receiving the data access request sent by the client, the server may verify the user's access authority by means of the first-level authority control unit of the authority control module. The corresponding process has been described in the above embodiment and will not be repeated here.

[0086] Step 22: Send data generation rules.

[0087] For example, when the user's access authority verification is passed, the first-level authority control unit continues to parse the request specification, and after the parsing is completed, sends the parsed data generation rules to the data generation module for further processing.

[0088] Step 23: Determine first topology information according to the data generation rule. This step may include:

[0089] Step 230: Taking the central node as the starting data node, query each data node that has a reference association with the starting data node;

[0090] Step 231: Return each found data node to the data generation module;

[0091] Step 232: Extend the central node according to the returned data nodes until the step length between the extended data nodes and the central node is greater than the query depth, and obtain the final topological structure. The topological structure and the attribute data of each data node in the topological structure are determined as the first topological information.

[0092] Step 24: Return the first topology information to the authority control module.

[0093] Step 25: The secondary permission control unit parses the user role.

[0094] Illustratively, after receiving the first topology information returned by the data generation module, the permission control module may continue processing by a secondary permission control unit of the permission control module, and the secondary permission control unit parses the user information to obtain the user role.

[0095] Step 26: Send the user role to the privacy processing module.

[0096] Step 27: Query the confidentiality level rule table.

[0097] Illustratively, after receiving the user role, the privacy processing module may query the confidentiality level rule table in the database according to the user role to determine the confidentiality level corresponding to the user.

[0098] Step 28: The database returns the confidentiality level corresponding to the user to the privacy processing module.

[0099] Step 29: Update the first topology information according to the confidentiality level to obtain the second topology information.

[0100] Step 30: Return the second topology information to the authority control module.

[0101] Step 31: The third-level authority control unit parses the token information.

[0102] Step 32: Send the token information to the privacy processing module.

[0103] Step 33: Query the sensitivity level rule table.

[0104] Exemplarily, after receiving the token information, the privacy processing module may query the sensitivity level rule table in the database according to the data usage scenario identified by the token information to determine the sensitivity level corresponding to the user.

[0105] Step 34: The database returns the user's corresponding sensitivity level to the privacy processing module.

[0106] Step 35: Update the second topology information according to the sensitivity level to obtain target topology information.

[0107] Step 36: Return the target topology information to the authority control module.

[0108] Step 37: Return the accessible data corresponding to the target topology information to the client.

[0109] It should be noted that the above steps 20 to 37 describe the interaction process between various functional modules in the permission processing system. The specific implementation of the interaction process has been described in the above embodiment and will not be repeated here to avoid repetition.

[0110] It can be seen that the embodiment of the present application provides an end-to-end permission processing system, based on which a more refined data security classification can be achieved, and the efficiency and flexibility of users in obtaining access to data can be effectively improved in big data sharing scenarios.

[0111] Figure 7 This is a flowchart of another permission processing method provided by an embodiment of the present application. This method can be applied to the server of the above permission processing system, such as Figure 7 As shown, the method includes the following steps:

[0112] Step 300: Receive a data access request sent by a client; the data access request includes user information and request specifications;

[0113] Step 301: Determine a data generation rule based on user information and request specifications, and query the graph structure based on the data generation rule to obtain first topology information;

[0114] Step 302: Determine the confidentiality level corresponding to the user, and update the access rights of the data nodes in the first topology information according to the confidentiality level to obtain the second topology information;

[0115] Step 303: Determine the sensitivity level corresponding to the user, and update the access rights of the attribute data in the second topology information according to the sensitivity level to obtain the target topology information;

[0116] Step 304: Return the accessible data corresponding to the target topology information to the client.

[0117] It should be noted that the above embodiment has already described the interaction between the functional modules in the permission processing system and the permission processing flow, and to avoid repetition, it will not be repeated here.

[0118] An embodiment of the present application further provides a computer storage medium having computer program instructions stored thereon. When the computer program instructions are executed by a processor, the processor executes any one of the permission processing methods of the aforementioned embodiments.

[0119] Specifically, the computer program instructions corresponding to a permission processing method in this embodiment can be stored on a storage medium such as a CD, a hard disk, or a USB flash drive. When the computer program instructions corresponding to a permission processing method in the storage medium are read or executed by a server, any one of the permission processing methods in the aforementioned embodiments is implemented.

[0120] Based on the same technical concept as the above embodiment, see Figure 8 , which shows a server 400 provided in an embodiment of the present application, which may include: a memory 401 and a processor 402; wherein,

[0121] Memory 401, used to store computer programs and data;

[0122] The processor 402 is configured to execute a computer program stored in the memory to implement any one of the permission processing methods in the aforementioned embodiments.

[0123] In actual applications, the above-mentioned memory 401 can be a volatile memory (volatile memory), such as RAM; or a non-volatile memory (non-volatile memory), such as ROM, flash memory, hard disk drive (HDD) or solid-state drive (SSD); or a combination of the above types of memory, and provide instructions and data to the processor 402.

[0124] The processor 402 may be at least one of an ASIC, a DSP, a DSPD, a PLD, an FPGA, a CPU, a controller, a microcontroller, and a microprocessor. It is understood that for different medical systems, the electronic device used to implement the processor function may also be other, and this embodiment of the application does not specifically limit this.

[0125] In some embodiments, the embodiments of the present application further provide a computer program product, including a computer program, which implements any one of the permission processing methods of the aforementioned embodiments when executed by a processor.

[0126] In some embodiments, the functions or modules included in the device provided in the embodiments of the present application can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments. For the sake of brevity, it will not be repeated here.

[0127] The above description of the various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced with each other and will not be repeated herein for the sake of brevity.

[0128] The methods disclosed in the various method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0129] The features disclosed in the various product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0130] The features disclosed in the various method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.

[0131] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of hardware embodiments, software embodiments, or embodiments combining software and hardware. Furthermore, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage and optical storage, etc.) containing computer-usable program code.

[0132] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0133] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0134] The above are merely preferred embodiments of the present application and are not intended to limit the scope of protection of the present application.

Claims

1. A permission processing method, characterized in that: Applied to a server, the method includes: Receive a data access request sent by a client; the data access request includes user information and request specifications; Determining a data generation rule based on the user information and the request specification, and querying a graph structure based on the data generation rule to obtain first topology information; the graph structure includes a plurality of data nodes, and each data node includes a plurality of attribute data; Determining a confidentiality level corresponding to the user, and updating access rights of data nodes in the first topology information according to the confidentiality level to obtain second topology information; Determining a sensitivity level corresponding to the user, and updating access rights to attribute data in the second topology information according to the sensitivity level to obtain target topology information; The accessible data corresponding to the target topology information is returned to the client; the target topology information is used to represent the data access permission of the user.

2. The method according to claim 1, characterized in that The determining of data generation rules according to the user information and request specifications includes: Parsing the user information and verifying the user's access rights based on the access information obtained from the parsing to obtain a verification result; the access information includes a user name and password; When the verification result indicates that the verification is passed, the request specification is parsed to obtain the data generation rule.

3. The method according to claim 2, characterized in that The data generation rule includes a central node and a query depth; querying the graph structure according to the data generation rule to obtain the first topology information includes: Taking the central node as a starting data node, querying each data node in the graph structure according to the query depth to obtain the first topology information.

4. The method according to claim 3, characterized in that Determining the confidentiality level corresponding to the user includes: Parsing the user information to obtain the user role; The confidentiality level rule table is queried according to the user role to obtain the confidentiality level corresponding to the user; the confidentiality level rule table includes a mapping relationship between multiple preset user roles and multiple preset confidentiality levels.

5. The method according to claim 3 or 4, characterized in that The updating of the access rights of the data nodes in the first topology information according to the confidentiality level to obtain the second topology information includes: Obtain a permission partitioning coordinate system, and update the access rights of the data nodes in the first topology information according to the confidentiality level corresponding to the user and the permission partitioning coordinate system to obtain the second topology information; the permission partitioning coordinate system is used to represent the division results of the confidentiality level of each data node in the graph structure.

6. The method according to claim 5, characterized in that Determining the sensitivity level corresponding to the user includes: Parsing the user information to obtain token information; the token information is used to identify the user's data usage scenario; The sensitivity level rule table is queried according to the token information to obtain the sensitivity level corresponding to the user; the sensitivity level rule table includes a mapping relationship between multiple preset token information and multiple preset sensitivity levels.

7. The method according to claim 5, characterized in that The authority division coordinate system is also used to represent the division result of the sensitivity level of each attribute data in each data node; The updating of the access rights to the attribute data in the second topology information according to the sensitivity level to obtain target topology information includes: The permission division coordinate system is obtained, and the access rights of the attribute data in the second topology information are updated according to the sensitivity level corresponding to the user and the permission division coordinate system to obtain the target topology information.

8. The method according to any one of claims 1 to 4, characterized in that The returning the accessible data corresponding to the target topology information to the client includes: Determine the accessible data corresponding to the target topology information, and return the accessible data corresponding to the target topology information to the client.

9. A rights processing system, characterized in that: The system includes a client and a server, wherein: The client is configured to send a data access request to the server; the data access request includes user information and a request specification; The server is used to determine data generation rules based on the user information and request specifications, and query the graph structure based on the data generation rules to obtain first topology information; determine the confidentiality level corresponding to the user, and update the access rights of the data nodes in the first topology information according to the confidentiality level to obtain second topology information; determine the sensitivity level corresponding to the user, and update the access rights of the attribute data in the second topology information according to the sensitivity level to obtain target topology information; return the accessible data corresponding to the target topology information to the client; the target topology information is used to characterize the data access rights of the user; the graph structure includes multiple data nodes, and each data node includes multiple attribute data.

10. The system according to claim 9, characterized in that The system also includes the database, which stores the graph structure, the confidentiality level rule table, the authority division coordinate system and the sensitivity level rule table; the confidentiality level rule table includes a mapping relationship between multiple preset user roles and multiple preset confidentiality levels, the authority division coordinate system is used to represent the confidentiality level division results of each data node in the graph structure, and the sensitivity level rule table includes a mapping relationship between multiple preset token information and multiple preset sensitivity levels.

11. A server, characterized in that: The server includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, the method according to any one of claims 1 to 8 is implemented.

12. A computer storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

13. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the computer program implements the method according to any one of claims 1 to 8.