Disclosure of Invention
The purpose of the invention is as follows: aiming at the problems in the prior art, the invention provides an access control method based on origin graph abstraction, which is used for solving the problems of data security and private data leakage and incapability of ensuring information integrity in user access control.
The invention discloses an access control method based on origin graph abstraction,
the method comprises the following steps: defining a data model, namely a PROV model, according to a W3C origin working group, utilizing the PROV model to enable a user to carry out standardized description on origin information of data in various systems, and extracting the relationship among the entity En, the activity Act, the used and wasGeneratedBy from the PROV model to establish an origin map based on the PROV model;
step two: on the basis of the origin graph obtained in the step one, four kinds of abstract operation operations of closing, expanding, replacing and deleting are proposed, formal definition and perfection are carried out, and an abstract graph meeting PROV constraint conditions is obtained;
step three: defining a series of access rules, including an access target, an access result and access elements, and formally defining the elements, marking the abstract graph obtained in the step two by using the access rules, and proposing two evaluation strategies of refusing priority and allowing priority;
step four: and finally obtaining an access view of the access of the corresponding user corresponding authority by the marked node set obtained in the third step through an optimal partitioning algorithm and a graph conversion algorithm.
Further, the node grouping in the second step is an editing operation for defining a graph, namely how to remove the specified node from the original source graph to generate a new effective source graph; the abstract graph refers to a series of nodes specified by a user are regarded as a group and then replaced by a new abstract node, and meanwhile, a new graph is obtained by modifying the relationship between the nodes and the new abstract node.
Further, the step of constructing the abstract map conforming to the PROV constraint condition in the step two is specifically as follows:
step 1.1: the PROV provenance graph research only comprises the relationships between an entity En and an active Act and between a used and a wasGeneratedBy, the operation is carried out as a homogeneous group aiming at the fact that abstract nodes are all of the same type, and the operation is carried out as a heterogeneous group aiming at the fact that the abstract nodes are not of the same type;
wherein, the homogeneous grouping replaces the new abstract node and the original node through four operations of closure, expansion, replacement and deletion, and forms the mutual relation between the new nodes;
step 1.2: the agent nodes at the periphery of the origin graph are analyzed and processed, and the packet operation related to the agent nodes is divided into three cases:
A) homogeneous packets containing only Ag proxy types: replacing the new abstract node and the original node through four operations of closure, expansion, replacement and deletion, and forming the interrelation between the new nodes;
B) heterogeneous packets containing two types, entity En and active Act: when the new abstract node type is an entity En, modifying the proxy node to ensure that the relationship between proxy nodes adjacent to the abstract node is wat; when the new abstract node type is the active Act, modifying the proxy node to ensure that the relationship between the proxy nodes adjacent to the abstract node is waw;
C) the heterogeneous packet contains three types of entity En, active Act and agent Ag: when the new abstract node type is an entity En, modifying the proxy node to ensure that the relationship between proxy nodes adjacent to the abstract node is wat; when the new abstract node type is the active Act, modifying the proxy node to ensure that the relationship between the proxy nodes adjacent to the abstract node is waw; when the new abstract node type is the proxy Ag, mapping the proxy relation to the abstract graph;
step 1.3: deleting some isolated proxy nodes which are generated in the step and are isolated from other nodes;
step 1.4: further modifying the abstract diagram through the following four constraint conditions to obtain a final correct abstract diagram;
the four constraints are:
1) if an entity is generated by two or more activities, then these activities need to occur simultaneously;
2) the entity must be generated before it can be used;
3) the activity using entity must occur in the process of the activity;
4) the activity generation entity must occur in the course of the activity occurring.
The access rule in the third step is further composed of an access target, an access result, and a conversion element:
a) accessing a target: the access target element is used for defining which resources a specific user can access under which conditions, and consists of a theme matching the rule, a record and a limiting condition and a use range for accessing the element;
wherein Subject refers to a set of accessing users;
recording Record refers to accessing the resource;
the constraint restiction is used for defining a series of conditions allowed to be used by the rule;
the use Scope defines whether the rule is convertible or not; the convertible representation indicates that the rule applies to all matching nodes and their ancestor nodes in the graph, and the non-convertible representation indicates that the rule applies only to matching nodes in the graph.
b) Accessing a result: the access result element is used to specify an expected result when the policy applies and the rule matches part of the information in the origin graph; the results are divided into four categories:
absolute allowed limits means that the user can access all information in the graph without being influenced by other rules;
deny access means that part of the information in the map cannot be accessed by the user of the subject;
allowing the Necessary permission if Necessary means that a certain constraint condition is required for the user of the subject to access partial information, so that an explicit access permission policy is required;
the permission access Permit is used for describing that when no other rule refuses to access the element, the user of the subject can access partial information in the graph;
c) conversion element
The conversion element allows a data manager to specify the manner in which the origin graph is converted, specifies which nodes need to be hidden and the specific operation applied to the nodes, generates a conversion graph according to the authority of the user, and obtains a query result according to the graph; wherein the conversion element is composed of three parts: a conversion type, a conversion level, and a converted element tag.
Further, the optimal partition algorithm in the fourth step includes the following specific steps: firstly, calculating an external reason set and an external influence set of each element in a set of abstract nodes to obtain an empty reason set and an empty influence set, and then arranging the elements in a descending order according to the sum of the external reason and the number of the external influence elements of each element; and traversing the sorted set, selecting a node as a seed node, traversing elements behind the set, judging whether the two nodes can meet the condition of the same partition, if so, adding the node into the set as the element of the same partition, and deleting the element in the set.
Further, the specific steps of the step four middle map conversion algorithm are as follows: if one element abstraction level in the partition is hidden, or all elements of the partition are marked to be empty, or the partition is an empty reason set or an empty result set, deleting the partition, otherwise, carrying out replacement operation, namely taking marks of all nodes of the partition as marks of a new abstraction node to obtain a required access view.
Aiming at the problem of access control in data privacy protection, the invention introduces an access control method which is analyzed respectively from three aspects of origin graph abstraction, access control model establishment and access view generation, and the feasible and effective verification of the method is carried out.
Compared with the prior art, the invention has the advantages that: the problem of access control in data privacy is solved, and different access views are corresponding to the authority of the user, so that the access result not only ensures safety, but also ensures completeness.
Detailed Description
The invention is further elucidated with reference to the drawings and the detailed description, the flow being shown in fig. 1.
An access control method based on an origin graph abstract model comprises the following steps: firstly, establishing an origin abstract model based on node grouping based on an origin graph constructed by a PROV model; secondly, on the basis of a PGgu/ea original graph, four operations of closure, expansion, replacement and deletion are provided, formal definition and perfection are carried out, and an abstract graph meeting PROV constraint conditions is obtained; then, an access control model based on abstraction of a PROV (provider oriented programming) provenance graph is provided, a frame graph is shown in FIG. 2, access rules and elements thereof are formally defined, two evaluation strategies of priority rejection and priority permission are provided, and implementation schemes thereof are discussed in detail; finally, the view of the access of the corresponding authority of the corresponding user is obtained according to the graph abstraction algorithm.
The origin graph abstraction refers to a series of nodes specified by a user as a group and then replaced by a new abstract node, and a new graph is obtained by modifying the relationship between the nodes (including the new abstract node).
The role of origin graph abstraction can be roughly divided into two categories: firstly, ensuring the safety of origin information in the data exchange or data access process, and abstracting sensitive information or private data to generate an access view corresponding to a corresponding authority user; and secondly, the requirements of different users on different attention degrees of origin information are met, some users need to know complete origin information, some users only need to know partial important information, the importance definitions of different users on the information are different, and different access views can be generated according to the attention degrees of the users through the criticality of the nodes and the origin graph abstraction technology.
The simplest abstraction is to delete a node and the edges associated with the node directly. However, abstracting in this way does not generally guarantee the validity of the generated graph. Therefore, a series of operations need to be defined to convert the origin graph so as to ensure the effectiveness of generating the graph, and therefore the invention provides an origin abstract model based on node grouping.
1. PGgu/ea origin map abstraction
(1) Homogeneous grouping
The main task of the node grouping is to define the editing operation of the graph, i.e. how to get a given node from the graph G e PGgu/eaRemoving to generate a new effective PROV graph G' E PGgu/ea。
The main idea of the grouping operation is: using (V, E) E PG
gu/ea(V represents a set of nodes and E represents a set of edges between nodes) and a subset of the set of nodes V
Rewriting the graph to generate a new graph G' E PG
gu/ea. The rewriting is V
grAs a group, is replaced by a new node, simultaneously with V
grThe associated relationship is also replaced with a new relationship.
Closing operation: suppose the origin graph G ═ V, E ∈ PG
gu/eaAnd has a set
For any two vertex pairs v in the set
i,v
j∈V
grIf there is a v in graph G
iTo v
jConnected directed edges, then the set will be
Defined as all points on the path. V
grThe path closure operation in graph G is defined as:
and (3) expanding operation: suppose that graph G ∈ PG ═ V, E ∈gu/eaAnd the set t belongs to { En, Act }.
In the process of generating the abstract graph, nodes in the abstract set in the original graph are replaced by a new node, the relationship among partial nodes in the graph needs to be deleted, and meanwhile, a series of relationships need to be introduced to connect the abstract nodes with the nodes related to the abstract nodes in the graph.
Let graph G be (V, E),
is a set of nodes requiring abstraction, v, obtained by an extension operation
newRepresenting the replaced abstract node. The replace function is to V'
grSubstitution to v
newAnd v is
newThe nodes are connected to their associated nodes in the graph according to a certain pattern.
Due to V'grIs replaced by a new node, therefore V 'in graph G needs to be deleted'grAnd V \ V'grThe following classifications define these relationships.
1) V is to beout(V'gr) Is defined as V 'to be deleted in graph G'grOf (2), i.e. from V'grIs led out to V \ V'grThe set of middle edges is defined as:
vout(V′gr)={(v,v′)|v∈V′gr,v′∈V\V′gr} (3)
2) v is to bein(V'gr) Is defined as V 'to be deleted in graph G'grI.e. from V \ V'grIs introduced to V'grA set of edges defined as:
vin(V′gr)={(v,v')|v'∈V′gr,v∈V\V′gr} (4)
3) v is to beint(V'gr) Is defined as V 'to be deleted in graph G'grInner side of (2), V'grEdges between internal nodes, defined as:
vint(V′gr)={(v,v')|v,v'∈V′gr} (5)
due to the addition of new nodes v in the generated abstract graphnewIn order to ensure the connectivity and validity of the graph, v is requirednewAnd V \ V'grAdd edges of appropriate relationships between them.
1) V'out(V′gr) Defined as requiring an added leading edge, i.e. from vnewIs led out to V \ V'grThe set of middle edges is defined as:
2) v'in(V′gr) Defined as requiring an added lead-in edge, i.e. from V \ V'grIntroduction into vnewA set of edges defined as:
the replace function assigns each to vout(V'gr) Is replaced with the same type of edge arc (v)newV) while each belonging to vin(V'gr) Is replaced by an edge arc (v, v) of the same typenew) Those belonging to vintIs followed by node V'grAre deleted altogether.
We can easily prove that the relationship types of the nodes and edges in the new abstract graph obtained by the replacement operation are correct. From the above, it is clear that V 'is obtained by the expanding operation'grAll end points in the set are of type t ∈ { En, Act }, and the newly constructed node vnewIs also of type t e { En, Act }, and is therefore defined by vnewFrom V'grWithout generating node type inconsistency(ii) a condition; meanwhile, because the newly introduced edges are all replaced by the same type of edges, the edges with inconsistent types cannot be introduced. It can be seen that the substitution operation ensures the correctness of the type. The following formally defines the replacement operation:
and (3) replacement operation: in the graph G, V isgrSubstitution to vnewIs given by the formula
vout(Vgr)、vin(Vgr)、vint(Vgr) For edges to be deleted in the figure
v'out(Vgr)、v'in(Vgr) For newly introduced edges in the figure
And (3) deleting operation: let graph G be (V, E),
is the set of points to be deleted. Generating a new origin graph G ' ═ (V ', E ') by the delete operation, where:
by the above definitions, we can define PGgu/eaHomogeneous grouping operation in the model:
homogeneous grouping operation: let graph G ═ V, E ∈ PGgu/ea,VgrE.g. V is a set of nodes of the same type, VnewIs a VgrType of new node (v)new=type(Vgr) Homogenous grouping is defined as:
Grouphom(G,Vgr,vnew)=replace(extend(pclos(Vgr,V),V,type(Vgr)),vnew,G) (10)
(2) heterogeneous grouping
The heterogeneous packet is VgrGrouping operation when nodes of different types are contained in the network, because type (V) cannot be passedgr) The function is obtainedThe type of the node, and therefore the type of the replacement node, needs to be specified, and the abstract graph generated by the specified type will be different. We call the heterogeneous grouping operation t-grouping, where t ∈ { En, Act }. When the specified type is En, the system is called e-grouping, and when the specified type is Act, the system is called a-grouping.
Heterogeneous grouping operation: let graph G ═ V, E ∈ PGgu/ea,Vgr∈V,t∈{En,Act},vnewIf the node is a newly designated node of t type, the heterogeneous group is defined as:
Group(G,Vgr,vnew,t)=replace(extend(pclos(Vgr,V),V,t),vnew,G) (11)
2、PGgu+/eaAgorigin graph abstraction
We add proxy (Ag) type nodes and relationships related thereto to PG
gu/eaThe study is carried out in the figure. The proxy node is an important component of the PROV model, which can be a human or a software system, that is responsible for the execution of activities. The relationship between the entity and the agent is wasAttributedto (wat), denoted as
The relationship between the activity and the agent is wasAssociatedwith (waw), denoted as
The relationship between the agents is actideOnBehalfOf (abo), which is expressed as
It follows that these new relationships are all binary relationships (the PROV model allows abo relationships to contain an additional optional activity, which we have temporarily left out for simplicity), so that the new origin graph can still be represented as a directed graph G (V, E), where V (En ∪) isAct ∪ Ag, E is set of edges, we use the notation PG
gu+/eaAgRepresenting a graph containing all node types and relationships. In the same way, PG
gu+/eaAgThe graph formed by the model is called PG
gu+/eaAgFigure (a).
It can be seen from the visual observation of fig. 3 that all edges associated with a proxy node always serve as the end point of a directed edge, and the proxy nodes (shaded) are all on the outer layer of the directed graph, so the proxy nodes can be regarded as part of the periphery of the origin graph. Therefore, we break the packet operations associated with the proxy into the following three parts:
1)
this is the case for homogeneous packets. At this time, it is necessary to increase
Grouping operation, ag-grouping operation and PG, because the agents are only related by a delegation relationship
gu/eaHomogeneous grouping operation in the model is similar, and PG can be obtained through analysis
gu/eaDefinition of homogeneous grouping operations in model for PGs
gu+/eaAgThe ag-grouping operation in the model is fully applicable.
2)
This is the case for heterogeneous packets. Nodes involved in abstraction are all inside the origin graph, and these nodes may be related to proxy nodes through waw or wat relations, so that the PG needs to be paired
gu/eaHeterogeneous grouping operations in the model are modified appropriately.
In order to ensure that no relationship is introduced in error, partial relationships need to be deleted when a replacement operation is performed. As shown in fig. 4 (a), to avoid introducing a wrong waw relationship, we delete it in the process of performing an e-grouping operation; similarly, in (b) of FIG. 4, we delete the wat relation during the execution of the a-grouping operation. In (c1) and c (2) in fig. 4, the illegal waw relationship is deleted after the e-grouping operation is performed.
In summary, when the new node type is En, that is, after the e-grouping operation is performed, the relationship between the proxy nodes adjacent to the abstract node can only be wat; when the new node type is Act, i.e. after performing an a-grouping operation, the relationship between the agent nodes adjacent to the abstract node can only be waw. The replacement operation is redefined as follows:
3)
this is the case for heterogeneous packets. All types of nodes are involved at this time. However, since the proxy nodes are all at the outer layer of the graph, this situation can be considered as an e-grouping or a-grouping operation that may involve a combined node type of proxy nodes, but the new abstract node cannot be a proxy type.
When V isgrWhen { e, ag3}, performing an e-grouping operation results in the result shown in fig. 5. Pclos (V) by closure operationgr) Get intermediate results (b) in fig. 5, and the final abstract results are shown in fig. 5 (c). Obviously, the abo (ag4, ag3) relationship should not be mapped onto the final graph. Analysis shows that the main reason causing the result is to replace theta 'in the function'in(V′gr) Introduces an erroneous relationship.
Next, we modify the replace operation to ensure that no false relationships are introduced. To avoid introducing false dependencies we are on θ'in(V′gr) The function is modified and the new definition is as follows:
i.e. mapping proxy relationships into abstract graphs only if the abstract node is of the proxy type.
Through the two new replacement operations defined above, it is ensured that no error relationship is introduced into the generated origin graph, but some relationships are simply deleted, so that some nodes in the graph G' are isolated from other nodes in the graph, isolated nodes are generated, and a simple function is provided to delete isolated proxy nodes.
Removing isolated nodes: let graph G ═ V, E ∈ PGgu+/eaAgThe isolated nodes in the graph can be represented as: isolated (g) { V ∈ V | type (V) ═ Ag ^ Lo ∈ V. ((V', V)) ∈ E ∈ V ∈ E }, the definition of removing the orphaned proxy node is as follows:
remIsolated(V,E)=(V\isolated(G),E) (14)
3. source graph abstraction satisfying timing constraints
A legal PROV graph needs to satisfy two types of constraints simultaneously: type constraints and timing constraints. In the process of defining the node grouping operation, only formal type constraints are considered, and timing constraints are not considered.
Briefly, timing constraints include the following conditions:
(1) if an entity is generated by two or more activities, then these activities need to occur simultaneously;
(2) the entity must be generated before it can be used;
(3) the activity using entity must occur in the process of the activity;
(4) the activity generation entity must occur in the course of the activity occurring.
In order to ensure that the generated abstract graph meets the time sequence constraint condition (1), the time sequence condition of the graph generated by the e-grouping operation needs to be verified, if an abstract node in the generated abstract graph is related to a plurality of active nodes, the active nodes related to the abstract node need to be grouped, then a-grouping operation is carried out, and the nodes are abstracted into one active node. The specific definition is as follows:
strict grouping operation: let graph G ═ V, E ∈ PG
gu+/eaAg,V
gr∈V,v
newIs a new node of En type, G ' (V ', E ') -Group (G, V)
gr,v
new,t),
Is node v on graph G' and newly generated
newA set of associated active nodes, then
When the grouping operation is a homogenous a-grouping operation, strict t-grouping coincides with t-grouping.
Loops may be introduced in the process of abstracting the origin graph, which will have a great influence on the origin graph. To better address this problem, we redefine the usage events and generation events of the abstract nodes.
The abstract node generates an event: let VgrE.g. V and VnewIs replacing VgrGenerates activity a, then:
next, we define an abstract node vnewOf use event, i.e. VgrThe event used first in the node is specifically defined as follows:
the abstract node uses events: let Vgre.V, G ═ V ', E' is a new abstract graph, VnewE.V' is a new abstract node. If there is an activity a ∈ V', cause used (a, V)new) If true, then:
although the validity of the relationship in the generated graph can be ensured well by the above definitions, it is understood from both definitions that the original graph V is required if the use of the abstract node and the generation relationship are established at the same timegrAll entities in (a) can be used after being generated, and therefore, additional constraint relations need to be added.
An access control model: 1. an access rule is composed of an access target, an access result and a conversion element:
(1) accessing a target
The access target element is used to define which resources a particular user can access under what circumstances, and consists of the subject of the matching rule, the record, and the restrictions (optional) and scope of use (optional) to access the element.
Topic refers to a collection of accessing users.
Record (Record) refers to an access resource.
Constraints (constraints) are used to define a series of conditions that the rule allows to be used.
The usage Scope (Scope) defines whether the rule is convertible or not. The convertible representation indicates that the rule applies to all matching nodes and their ancestor nodes in the graph, and the non-convertible representation indicates that the rule applies only to matching nodes in the graph.
(2) Accessing results
The access result element is used to specify the expected result that is obtained when the policy applies and the rule matches part of the information in the provenance graph. The results are divided into four categories:
absolute permission (Absolute permit) means that the user can access all the information in the graph without being affected by other rules.
Denial of access (Deny) means that some of the information in the graph cannot be accessed by the user of the topic.
Allowing (recessary permission) when Necessary means that the user of the subject needs certain constraints to access part of the information, and therefore needs an explicit access permission policy.
The allowed access (Permit) is used to describe that the user of the topic may access part of the information in the graph when no other rule denies access to the element.
(3) Conversion element
The transformation element allows the data manager to specify in what manner the origin graph is to be transformed, and specifies which nodes need to be hidden and the specific operations to apply to those nodes. And generating a conversion graph according to the authority of the user, and obtaining a query result according to the graph.
The conversion element consists of three parts: a conversion type, a conversion level, and a converted element tag.
2. The evaluation policy algorithm is not only used to determine whether a resource is accessible, but also to construct a view that satisfies the user's security constraints. During the evaluation of the rules, a set of nodes associated with the policy are generated, and then the nodes are used to generate the security access view. The evaluation strategy is to mark the origin graph by using a series of access rules, the order of the access rules is different, and the processing mode is different, so that a denial priority evaluation strategy and an allowance priority evaluation strategy are proposed:
(1) denial of priority evaluation policy
The main idea of the rejection priority evaluation strategy is as follows: firstly, marking nodes which accord with rules in an original graph G according to absolute access permission, access rejection, access permission if necessary and access permission rules, then marking uncovered nodes, and finally generating an access view, wherein the specific steps are shown in (a) in an algorithm flow chart 6 and are as follows; a) using an absoutePermit function to mark nodes in the original graph G which accord with the fully-allowed access rule;
b) because the processes of rejecting the access rule and allowing the access rule if necessary are the same, the marking of the nodes matching the two rules can be completed by using the same function denynecePermit ();
c) function updateForDeny) is used to implement the extension of the matching nodes and the permit () function is used to label the nodes in the graph that meet the allowed access rules.
d) For the deny-first access control policy, all uncovered nodes deny access, so all uncovered nodes are added to the set R and the abstraction level is defined as hidden, while the node information is marked as empty, which is done by the completeR (G, dlevs, dlabels, R, covered) function.
e) And generating an accessible view according to the marking information and the set of the disallowed access nodes by using a viewGeneration function.
(2) Enabling prioritized evaluation of policies
The allow priority assessment policy is about the same idea as the deny priority assessment policy, but the order of rule matching is different. And allowing the priority evaluation policy to mark nodes in the graph which accord with the rules according to the sequence of absolutely allowing access, allowing access if necessary, allowing access and denying access rules, and finally generating an access view. Since the uncovered nodes in the permission preference policy are allowed to access, the marking is not required to be carried out again.
The algorithm flowchart is shown in fig. 6 (b), and includes the following specific steps:
a) using an absoutePermit function to mark nodes in the original graph G which accord with the fully-allowed access rule;
b) the necPermit () function is to record the abstraction level and the label simultaneously according to the node which allows the rule to mark the graph and does not allow the access when necessary;
c) the function permit () and the deny () are respectively used for marking the node which allows the access rule to be matched and marking the node which does not allow the access rule to be matched;
d) since the uncovered nodes in the permission preference evaluation strategy are allowed to be accessed, the marking does not need to be carried out again, namely, the viewGeneration function only needs to generate the accessible view according to the marking information and the set of nodes which are not allowed to be accessed
And (3) generating an access view: reasonably partitioning a set R of nodes needing abstraction to ensure that the generated abstract view maintains the relationship among the nodes, and providing three algorithms:
(1) optimal partitioning algorithm
First, several concepts are involved in the partitioning process:
external causes (external causes), i.e. the reason the current node is the external node.
External effects (external effects) that the current node is generated by an external node.
The constraint is a boolean expression that is satisfied by all elements of the partition defined for computing the optimal partition. The following are two constraints:
RESTR.1: nodes in a set are not allowed to have soft dependencies.
RESTR.2: all nodes in a partition have the same evaluation attributes.
The method comprises the steps of obtaining a set of nodes needing abstraction according to an evaluation strategy, carrying out appropriate partition simplified abstraction processes on the nodes, and providing an optimal partition algorithm. The main idea of the algorithm is divided into two stages:
in the first stage, an external reason set and an external influence set of each element in the R are calculated firstly, so that an empty reason set and an empty influence set are obtained, and then the elements are arranged in a descending order according to the sum of the external reason and the number of the external influence elements of each element.
And in the second stage, traversing the sorted set, selecting a node as a seed node, traversing elements behind the set, judging whether the two nodes can meet the condition of the same partition, if so, adding the node into the set as the element of the same partition, and deleting the element in the set.
(2) Graph transformation algorithm
The graph transformation algorithm refers to a process of abstracting or hiding all the partitions according to the marking information to generate an abstract graph. The main idea of the algorithm is that if one element abstraction level in a partition is hidden, or all elements of the partition are marked to be empty, or the partition is an empty reason set or an empty result set, the partition is deleted, otherwise, a replacement operation is performed, that is, the marks of all nodes of the partition are used as the marks of a new abstraction node, and a required access view is obtained.
(3) Graph generation algorithm
Calculating the optimal partition condition of a user, obtaining two limit conditions according to limit rules 1 and 2 provided in the optimal partition algorithm, and calling an optimal partition function optimalPartition () and a graph transformation function () to obtain an access view.
And (3) experimental verification: the experiment is mainly divided into three steps:
(1) description of origin map
(2) Marking and partitioning a graph according to access rules and evaluation policies
(3) Generating abstract drawings
The origin graph is described first. As shown in fig. 7, the evolution process of the electronic medical record of the two-visit experience of a patient is described.
The first visit was made by a general practitioner (ag3) for the patient (ag1) and the diagnosis was recorded in detail by the EHR system (ag 2). First, a new project creation process (a1) is performed based on the patient's previous electronic medical records (v19-e1), resulting in a new electronic medical record (v20-e 2). After the patient is diagnosed in detail, the doctor prescribes the patient (e3) and a blood test chart (e4), and updates the electronic medical record to generate a new version of the record (v21-e 5). The laboratory technician (ag5) prepares the instrument according to the blood test table while taking measurements with the laboratory system (ag4) (a3), finally generates a laboratory condition report (e6), while notifying the blood test report creation activity (a 5). The blood test report creation activity is used to generate a blood test report (e7) and a new electronic medical record (v 22-e 9). Clinical trial investigators (ag6) generated electronic case report forms (e8) using laboratory condition reports (e6) and blood test reports (e 7).
The second visit was treated by the general practitioner (ag7) for the patient (ag7) and the diagnostic procedure was recorded in detail by the EHR system (ag 8). First, a new project creation process (a6) is performed based on the patient's previous electronic medical records (v 12-e 9), resulting in a new electronic medical record (v 23-e 10). Subsequently, the physician uses a decision support system (DSS Tool ag10) to obtain a series of diagnostic cues (e11) through the new medical record (v 23-e 10), and then uses these cues to compare (a8) with the clinical outcome database (e12) in the system, thereby providing the physician with a diagnostic recommendation (e13) through which the physician can obtain the final diagnostic outcome (e 15). The doctor generates a new prescription according to the diagnosis result (e16) and updates the electronic medical record system to generate a new electronic medical record (v 24-e 17).
Next, when the user is a patient, the upper graph is marked and partitioned according to the defined access rules and evaluation strategies, and the result of partitioning is shown in FIG. 8.
And obtaining a set R of points needing abstraction according to the access rules and the rejection priority evaluation strategy, wherein the set R is { a3, a4, a7, a8, e6, e8, e11, e12, e13, ag4, ag5, ag6 and ag10 }. And obtaining the external reasons and the external influence sets of the R sets according to the default causal relationship, as shown in the table 1. The partitioning result is { { e11, e12, e13, a7, a8, ag10}, { a4, e8, ag6}, { a3, e6, ag4, ag5} } obtained according to the partitioning algorithm.
TABLE 1 set of external causes and external influences for partitioning elements
Finally, a user access view is obtained according to the result obtained by partitioning and the marking information thereof, as shown in fig. 9.
According to the access rule, the patient has no right to access any information related to the automatic recommendation, so the parts of the automatic recommendation are marked in the marking stage, the abstraction level is set as hidden, the contents are deleted in the finally generated access view, the a9 and the a6 are directly connected, and the relation is defined as c, namely the causal relation exists between the two nodes.
According to the access rule, the patient does not have the right to access origin information in the experimental process, but the patient knows the process, so that the information of the experimental part is marked in the marking stage, the abstraction level is set as abstraction, the node is divided into two parts of contents of a clinical experiment and a Laboratory through partitioning, the contents are respectively abstracted into a clinical Trial node and a Laboratory node, the nodes are connected through a causal relationship, according to the abstraction model, the clinical Trial node and the e7 node are still in a used relationship, and the clinical Trial node and the e4 node are still in a used relationship.
The above description is only an example of the present invention and is not intended to limit the present invention. All equivalents which come within the spirit of the invention are therefore intended to be embraced therein. Details not described herein are well within the skill of those in the art.