A local differential privacy-based attribute graph collection and release method, system, device and medium
Patent Information
- Application Number
- CN202511521110.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-23
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2045-10-23
AI Technical Summary
[0003]然而,随着下游应用对图数据语义特征要求的提升,现有技术暴露出三方面不足:其一,隐私噪声导致社区划分、局部聚类系数等关键结构特征严重失真,合成图难以直接用于社区发现或基于社区的服务;其二,多数方法在获得扰动度分布后即直接生成图,缺乏利用社区、三角计数等高阶特征的二次优化过程,造成数据可用性进一步下降;其三,节点属性与图结构被割裂处理,合成结果中的属性分布与真实社区结构不一致,破坏了社交网络固有的同质性假设
[0014]与现有技术相比,本发明的有益效果:不仅在隐私保护层面达到了本地差分隐私的严格要求,更在发布的属性图中同时保留了社区结构、三角计数及节点属性同质性等多维度特征,极大提升了合成数据在下游图分析、社区发现及个性化服务等应用中的实用价值。
Smart Images

Figure CN121707548B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of attribute graph collection and publishing technology, and in particular to a method, system, device and medium for attribute graph collection and publishing based on local differential privacy. Background Technology
[0002] In recent years, social network data has been widely used in marketing, disease transmission analysis, and personalized recommendations due to its rich relational and attribute information. To achieve data sharing and analysis while protecting user privacy, Local Differential Privacy (LDP) technology has emerged and has been rapidly applied to the collection and publication of graph-structured data.
[0003] However, as downstream applications increase their requirements for the semantic features of graph data, existing technologies have revealed three shortcomings: First, privacy noise causes serious distortion of key structural features such as community partitioning and local clustering coefficients, making it difficult to directly use the synthesized graph for community discovery or community-based services; Second, most methods directly generate the graph after obtaining the perturbation distribution, lacking a secondary optimization process that utilizes higher-order features such as community and triangulation, further reducing data availability; Third, node attributes and graph structure are treated separately, and the attribute distribution in the synthesized result is inconsistent with the real community structure, undermining the inherent homogeneity assumption of social networks. Summary of the Invention
[0004] To solve the above-mentioned technical problems, the present invention provides the following technical solution: In a first aspect, the present invention provides a method for collecting and publishing attribute graphs based on local differential privacy, including sending target privacy parameters to a client, wherein the target privacy parameters include an adjacency bit perturbation budget, a degree perturbation budget, and a node attribute privacy budget; Receive perturbed data from each client, including data obtained by each client after perturbing the local adjacency bit vector based on the adjacency bit perturbed budget, data obtained after perturbing the local node degree based on the degree perturbed budget, and data obtained after perturbing the local node attribute vector based on the node attribute privacy budget. Based on all perturbed data, estimate the community partitioning of the original graph structure and the triangulation count of each node; Based on community partitioning and triangulation, the target graph structure is obtained; Based on the target graph structure and the perturbed data, the node attributes are optimized to ensure that the distribution of node attributes is consistent with the community division, resulting in the final publishable target attribute graph.
[0005] As a preferred embodiment of the attribute graph collection and publishing method based on local differential privacy of the present invention, wherein: target privacy parameters are sent to the client, including, Set the privacy budget for graph structure, privacy budget for node attributes, and privacy budget percentage for adjacent bit vector perturbation; Calculate the adjacent bit perturbation budget and the degree perturbation budget.
[0006] As a preferred embodiment of the attribute graph collection and publishing method based on local differential privacy of the present invention, wherein: based on all perturbed data, the community division of the original graph structure and the triangular count of each node are estimated, including, Based on all the perturbed data, the perturbed graph adjacency matrix and degree vector are reconstructed; Based on the perturbed graph adjacency matrix and degree vector, the community partitioning of the original graph structure and the triangulation count of each node are estimated.
[0007] As a preferred embodiment of the attribute graph collection and publishing method based on local differential privacy of the present invention, wherein: based on community partitioning and triangulation, the target graph structure is obtained, including, Based on the perturbed graph adjacency matrix and degree vector, a preliminary graph structure is generated; The initial graph structure is iteratively optimized using triangular counting to obtain the target graph structure.
[0008] As a preferred embodiment of the attribute graph collection and publishing method based on local differential privacy of the present invention, the data obtained after perturbing the local adjacency bit vector based on the adjacency bit perturbation budget is obtained by the client using the randomized adjacency bit vector method. The data obtained by perturbing the degree of local nodes based on the degree perturbation budget is obtained by the client using a random jump algorithm; The data obtained by perturbing the local node attribute vector based on the node attribute privacy budget is obtained by the client using a randomized attribute list algorithm.
[0009] As a preferred embodiment of the attribute graph collection and publishing method based on local differential privacy of the present invention, wherein: generating a preliminary graph structure includes, Based on the community division, the degree of the node is assigned as intra-community degree and inter-community degree; Edges within a community are generated based on an intra-community connection probability model, and edges between communities are generated based on an inter-community connection probability model. Among them, the intra-community connectivity probability model and the inter-community connectivity probability model are constructed based on the Chung-Lu model.
[0010] As a preferred embodiment of the attribute graph collection and publishing method based on local differential privacy of the present invention, wherein: iterative optimization of the preliminary graph structure based on triangular counting includes, With triangular counting as the optimization objective, the graph structure is adjusted by performing edge addition and deletion operations; This makes the total triangular count of the optimized graph structure approximate the sum of the triangular counts.
[0011] Secondly, the present invention provides an attribute graph collection and publishing system based on local differential privacy, comprising: a distribution module for distributing target privacy parameters to a client, wherein the target privacy parameters include an adjacency bit perturbation budget, a degree perturbation budget, and a node attribute privacy budget; The receiving module is used to receive perturbed data from each client. The perturbed data includes data obtained by each client after perturbing the local adjacency bit vector based on the adjacency bit perturbed budget, data obtained after perturbing the local node degree based on the degree perturbed budget, and data obtained after perturbing the local node attribute vector based on the node attribute privacy budget. The estimation module is used to estimate the community partitioning of the original graph structure and the triangulation count of each node based on all perturbed data. The first generation module is used to obtain the target graph structure based on community partitioning and triangulation. The second generation module is used to optimize the node attributes based on the target graph structure and the perturbed data, so that the distribution of node attributes is consistent with the community division, and the final publishable target attribute graph is obtained.
[0012] Thirdly, the present invention provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method described above.
[0013] Fourthly, the present invention provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the method described above.
[0014] Compared with existing technologies, the beneficial effects of this invention are: it not only meets the strict requirements of local differential privacy in terms of privacy protection, but also retains multi-dimensional features such as community structure, triangulation count and node attribute homogeneity in the published attribute graph, which greatly enhances the practical value of synthetic data in downstream graph analysis, community discovery and personalized services. Attached Figure Description
[0015] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0016] Figure 1 This is a flowchart illustrating a method for collecting and publishing attribute graphs based on local differential privacy.
[0017] Figure 2 This is an example diagram of graph structure perturbation and recovery using the RABV method. Detailed Implementation
[0018] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of them. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the protection scope of the present invention.
[0019] Example 1, referring to Figure 1 This is the first embodiment of the present invention, which provides a method for collecting and publishing attribute graphs based on local differential privacy, including: S100: Send the target privacy parameters to the client, which include the adjacency bit perturbation budget, degree perturbation budget, and node attribute privacy budget; S200: Receive perturbed data from each client, wherein the perturbed data includes data obtained by each client after perturbing the local adjacency bit vector based on the adjacency bit perturbed budget, data obtained after perturbing the local node degree based on the degree perturbed budget, and data obtained after perturbing the local node attribute vector based on the node attribute privacy budget. S300: Based on all perturbation data, estimate the community division of the original graph structure and the triangulation count of each node; S400: Based on community partitioning and triangulation, the target graph structure is obtained; S500: Based on the target graph structure and the perturbed data, the node attributes are optimized to ensure that the distribution of node attributes is consistent with the community division, thus obtaining the final publishable target attribute graph.
[0020] It should be noted that user nodes in distributed social networks simultaneously hold sensitive friend relationships (graph structure) and personal attributes (such as age, location, and interests). Directly collecting raw data could easily lead to privacy breaches on the scale of Facebook-Cambridge Analytica. On the other hand, while local differential privacy can achieve perturbation at the user end, excessive noise can overwhelm key graph features such as community partitioning and triangulation, causing the synthesized graph to lose its analytical value. Furthermore, the homogeneity between node attributes and community structure (nodes with similar attributes are more likely to form close-knit communities) is often treated separately in existing solutions, resulting in the final attribute graph failing to accurately reflect the semantic relationships of the original network.
[0021] Therefore, to address the aforementioned challenge of balancing privacy protection and structural fidelity, steps S100-S500 are employed. The collection end only needs to broadcast the privacy budget once to enable all clients to complete local perturbation, ensuring that even if an attacker possesses all the data on the server, they cannot infer sensitive individual information. Subsequently, noisy data is used to collaboratively estimate community partitioning and triangulation on the server side, significantly suppressing structural bias caused by random responses. Furthermore, the graph structure is generated and fine-tuned with the community as a constraint, and the node attributes are iteratively optimized using the community consistency index. This ensures that the published target attribute graph strictly satisfies local differential privacy while still retaining the community characteristics and attribute-structure homogeneity of the original network.
[0022] Example 2, refer to Figures 1-2 This is one embodiment of the present invention. Based on the above embodiment, a method for collecting and publishing attribute graphs based on local differential privacy is provided.
[0023] In this embodiment of the application, step S100 sends the target privacy parameters to the client, wherein the target privacy parameters include the adjacency bit perturbation budget, the degree perturbation budget, and the node attribute privacy budget, including the following steps A1-A2: A1: Set the privacy budget for graph structure, node attribute privacy budget, and the privacy budget percentage for adjacency bit vector perturbation; It should be noted that an appropriate graph structure privacy budget should be set at the collection end based on the actual needs of the relevant applications. Node attribute privacy budget The percentage of adjacent bit perturbation in the graph structure privacy budget α and the jump radius r when the perturbation degree is set.
[0024] A2: Calculate the adjacent bit perturbation budget and the degree perturbation budget.
[0025] Specifically, adjacent bit perturbation budget The calculation formula is: ; Furthermore, the degree of disturbance budget The calculation formula is: ; It is understandable that the target privacy parameters sent from the collector to the client include an adjacency bit perturbation budget. Disturbance budget Node attribute privacy budget And the number of nodes n in the graph.
[0026] In one optional implementation, the target privacy parameter being sent to the client in step S100 can be sent via DHT broadcasting and signature verification. Specifically, the collecting end encapsulates the target privacy parameter into an immutable message structure and signs it with its private key. This message is then written as a "key" to a decentralized distributed hash table (DHT); the key name is fixed as " / privacy-budget / ". <epoch>Once each client is online, it can obtain the parameters simply by querying the above keys via DHT; at the same time, the signature is verified using the collector's public key to prevent man-in-the-middle tampering. If the collector needs to dynamically adjust the budget, it only needs to publish the new key-value in the next epoch, and the old key-value will automatically become invalid. The client does not need to maintain a long-term connection.
[0027] In another optional implementation, the target privacy parameters sent to the client in step S100 can also be sent via zero-knowledge token issuance + on-chain contract. That is, the collection end pre-deploys a smart contract on the consortium blockchain. The public interface mintBudget() of the contract requires the private key of the collection end to trigger. After triggering, the contract generates a one-time zero-knowledge token zkToken, which contains encrypted "adjacency bit budget, degree budget, and attribute budget". The client can obtain zkToken by listening to on-chain events or synchronizing with light nodes. Then, the validity of the token is verified by local zero-knowledge proof, and the plaintext budget is decrypted. Once the token is used, it is marked as "consumed" by the contract to prevent replay. The collection end re-mints before the next round of collection.
[0028] In this embodiment of the application, step S200 receives perturbed data from each client. The perturbed data includes data obtained by perturbing the local adjacency bit vector based on the adjacency bit perturbed budget, data obtained by perturbing the local node degree based on the degree perturbed budget, and data obtained by perturbing the local node attribute vector based on the node attribute privacy budget. This includes the following steps B1-B3: B1: The data obtained by perturbing the local adjacency bit vector based on the adjacency bit perturbation budget is obtained by the client using the randomized adjacency bit vector method; It should be noted that in step B1, the social network is modeled as a graph, where each client (user) corresponds to a node in the graph, and the connections between users correspond to the edges between nodes. Each user The connection between him and his neighbors can be represented as an n-dimensional adjacency bit vector. ,in If and only if there exists an edge In the graph structure formed by social networks, this is used to represent users. With users There is a connection between them, the rest are different. , where is the user ID. The n-dimensional adjacency bit vectors of all users can form a user adjacency matrix. This discussion only considers the case where the graph structure of the social network is undirected, meaning the relationships between users are bidirectional.
[0029] Furthermore, to satisfy ε-edge local differential privacy for data collectors, the algorithm is required to process each edge in the graph only once. However, when representing an undirected graph using an adjacency matrix, each edge is represented twice by different elements in the matrix. To satisfy ε-edge local differential privacy, only one element needs to be processed. Also, since the undirected graph matrix is symmetric along the main diagonal, only the upper triangular portion of the adjacency matrix needs to be processed. However, to average communication overhead, the algorithm involves each user in the communication, and each user only processes vector bits within the transmission range t. Therefore, the matrix elements of the upper triangular portion cannot be directly obtained. Instead, after data collection, the symmetry property of the matrix is used to copy some elements from the lower triangular portion to the upper triangular portion, i.e., user numbering is performed. The node needs to process the adjacent bit vector position index range from the (i+1)th bit to the (i+1+t) mod nth bit, and where ; For user ID The node needs to process the adjacent bit vector position index range from the (i+1)th bit to the nth bit and from the 1st bit to the (i+1+t) mod nth bit, where ,like Figure 2 The diagram illustrates an example of perturbation and recovery processing using the Randomized Adjacency Bit Vector (RABV) method. Each row in the diagram corresponds to a user's adjacency bit vector, and then each client processes each bit value within the preceding bit range. Make a privacy budget The random response, with the perturbation formula shown below: (1); After completing the random response of the above formula, the adjacent bit vector within the perturbed processing range is obtained. Then, the client sends the index corresponding to the value of 1 in the perturbed bit vector within the processing range to the collection end.
[0030] B2: The data obtained after perturbing the degree of the local node based on the degree perturbation budget is obtained by the client using a random jump algorithm; It should be noted that the node degree , i.e., node The number of neighboring nodes, through the use of privacy budgets for them. The perturbed degree is obtained by processing the random jump algorithm (RJ) with a jump radius of r. The degree and radius are combined and referred to as the jump domain (JD), therefore it is represented as... For a given Define the following formula for calculating the perturbation function: (2); By perturbing the degree of this node according to the above formula, the perturbed degree can be obtained, and then the client sends the perturbed degree to the collection end.
[0031] B3: The data obtained by perturbing the local node attribute vector based on the node attribute privacy budget is obtained by the client using a randomized attribute list algorithm.
[0032] It should be noted that this invention consistently assumes that user attributes can be converted into binary data representation, and the collected attribute types are uniformly specified by the server. If a user does not have a corresponding attribute type, the corresponding attribute is assigned a value of 0, thereby ensuring that each user has a binary attribute vector of the same dimension. Therefore, each user's attributes can be represented as a w-dimensional attribute vector. ,in Represents a node The The value of the bit attribute, and Then, each element in the user attribute vector is processed using a random response mechanism according to the RAL algorithm. The privacy budget is as shown in the following formula (3). The random response mechanism processes each element in the attribute vector.
[0033] (3); The above formula is used to perturb each element in the attribute vector, and then the client sends the perturbed attribute vector to the collection end.
[0034] In an optional implementation, the perturbed data received from each client in step S200 can be received through a decentralized message queue. That is, the collector pre-installs the same message queue topic name in each client, such as topic=" / ldp-graph-round-epoch". After the client completes the three local perturbations, it packages the triples (RABV - index set, RJ - perturbation degree, RAL - attribute vector) into a protobuf message, encrypts it with a one-time symmetric key K, and publishes the encrypted message to a decentralized message queue (such as MQTT-over-Tor or libp2p-gossipsub). The message header only contains the epoch and the client pseudo ID, without revealing the content. The collector subscribes to the same topic, aggregates all messages by epoch, and decrypts them locally with K to obtain all the perturbed data.
[0035] In another optional implementation, receiving the perturbed data from each client in step S200 can also be done through on-chain anonymous delivery + IPFS storage. That is, the collecting end deploys an anonymous delivery contract on the consortium blockchain; the contract address is public, the client generates a one-time ECDH public key P locally, and uses the collecting end's public key as the ECDH shared key S to encrypt the result (RABV, RJ, RAL) to obtain ciphertext C. The client uploads C to IPFS and obtains the CID; then the contract's submit(cid, P) method is called to write only the CID and P to the on-chain event without any plaintext. The collecting end listens for the event, uses its private key and P to restore the shared key S, and then pulls and decrypts the perturbed data from IPFS according to the CID.
[0036] In this embodiment of the application, step S300, based on all perturbed data, estimates the community division of the original graph structure and the triangulation count of each node, including the following steps C1-C2: C1: Based on all the perturbed data, reconstruct the perturbed graph adjacency matrix and degree vector; It should be noted that the adjacency matrix is constructed by stacking the adjacency vector indices collected at the collection end into an adjacency matrix using an adjacency matrix construction algorithm. Specifically, a matrix with all elements equal to 0 is first initialized. User adjacency matrix Each user The matrix corresponding to the bit vector In the first row of the adjacency matrix, based on the user's corresponding row position in the matrix and the index of the bit with a value of 1 sent by each user, a bit 1 is filled into the corresponding position in the matrix. After traversing the set of indices corresponding to the bit 1 sent by all users, the elements at symmetrical positions are copied along the main diagonal of the adjacency matrix to obtain the perturbed user adjacency matrix representation. Furthermore, the perturbed degree sent by the client... The user IDs are arranged together to form an n-dimensional degree vector. , specific .
[0037] C2: Based on the perturbed graph adjacency matrix and degree vector, estimate the community partitioning of the original graph structure and the triangulation count of each node.
[0038] It should be noted that, on the one hand, a community detection algorithm based on Louvain's idea is used to estimate the community partitioning of the original graph structure. It should also be noted that the input to this algorithm is the perturbed adjacency matrix. and the perturbated degree vector Specifically: First, initialize n communities, each containing only one node. Then, use the Collection-End Module Degree Estimation Algorithm (MEACE) to estimate the module degree of each community. modularity After initializing the modularity of all n communities, the algorithm needs to iterate through each community within the communities. traversing the community At times, try to integrate the community Merging into neighboring communities In Chinese, neighboring communities are the same as communities. With the community There are edge connections between them, then the community is calculated. Modularity gain when moving to each neighboring community When the community is gained, After moving to all neighboring communities and receiving the resulting gains, select the community. Ultimately merged into the community with the largest modularity gain. ,Right now Update the merged community modularity Repeat the above process until any movement within a community no longer increases the total modularity, then obtain a new set of communities. Traverse the new community set. Repeat the previous community merging process for each community until community movement no longer brings modularity gain, at which point the final community partitioning is obtained. , This involves estimating the community partitioning on the original graph structure at the collection end; on the other hand, regarding the estimation of the triangulation counts of each node on the original graph structure, specifically including: dividing the nodes... The unbiased triangular counting estimate is expressed as Then, the formula for estimating the triangular count based on the perturbed adjacency matrix and the perturbed degree vector is shown in formula (4): (4); In the formula: : Represents the probability used in the RABV algorithm to keep the adjacent vector bits unchanged, calculated as follows: (5); : Represents the probability of flipping an adjacent vector bit in the RABV algorithm, calculated as follows: (6); : Represents the nodes in the graph structure as a perturbed adjacency matrix collected by the RABV algorithm. The number of triangular counts.
[0039] : Represents the edge density on the perturbated graph, calculated as follows: (7); That is, the unbiased estimate of the triangular count for each node can be calculated according to formula (4), and the triangular counts of all nodes are put together to form the triangular count set. .
[0040] It should be further noted that the input to the MEACE algorithm is a specific community. The perturbed adjacency matrix, and the perturbed degree vector. The output is the estimated modularity value. The specific processing steps include: (1) from Extract the submatrix containing all nodes in the community. (2) Calculate The number of "1" elements divided by 2 is used as an estimate of the number of edges in the community. (3) Calculate the total number of edges in the entire graph. (4) Computing communities Total degree of the middle node (5) Estimating the community modularity The above process can be used to estimate the modularity of a given community under a given adjacency matrix and degree vector.
[0041] In this embodiment of the application, step S400, based on community partitioning and triangulation, yields the target graph structure, including the following steps D1-D2: D1: Generate a preliminary graph structure based on the perturbed graph adjacency matrix and degree vector; Specifically, step D1 generates the preliminary graph structure, including the following steps D11-D13: D11: Based on the community division, the degree of the node is allocated as intra-community degree and inter-community degree; D12: Generate edges within a community based on the intra-community connection probability model, and generate edges between communities based on the inter-community connection probability model; D13: The intra-community connectivity probability model and the inter-community connectivity probability model are constructed based on the Chung-Lu model.
[0042] It should be noted that the nodes The degree is divided into community degree and community ,in Represents a node The community to which it belongs Indicates community With the community Connected. Further, based on the aforementioned perturbation of the adjacency matrix... and community division Statistics in upper node degree ,node In the community and through nodes ,Community Number of edges connecting to other communities Then, based on the above statistical results and the degree of the nodes... Estimate the degree within the community And the degree between communities The calculation formula is as follows: (8); (9); After completing the above statistics, first calculate the probability of edge generation within a community, and then sample and generate edges within the community. For the same community... Nodes within and nodes The probability of their connection is shown in the following formula: (10); For nodes and nodes They belong to different communities and community At that time, the connection probabilities between nodes are as follows: (11); In the formula: and Representing communities and community The number of nodes included, therefore the denominator This represents all possible connections between two communities. The numerator in the above formula represents the communities. With the community The number of perturbation edges connecting the nodes. Based on the above equations (10) and (11), when synthesizing the graph, first initialize an empty graph without edges, then sample and generate edges within communities, and then sample and generate edges between communities, thereby obtaining the adjacency matrix of the preliminary graph structure. .
[0043] D2: Iteratively optimize the preliminary graph structure based on triangular counting to obtain the target graph structure.
[0044] Specifically, step D2 involves iterative optimization of the preliminary graph structure based on triangular counting, including the following steps D21-D22: D21: Using triangular counting as the optimization goal, the graph structure is adjusted by performing edge addition and deletion operations; D22: and makes the total triangular count of the optimized graph structure approximate the sum of the triangular counts.
[0045] It is understandable that making the total triangular count of the optimized graph structure approximate the sum of the triangular counts means that the difference between the total number of triangular counts on the optimized graph and the estimated total number of triangular counts is less than 10%.
[0046] It should be noted that when performing edge swaps, the process of adding an edge first and then deleting another edge is followed. If the added edge belongs to a community (i.e., both endpoints of the edge belong to the same community), then the deleted edge must also be an edge within a community, but it doesn't have to be in the same community as the deleted edge. Similarly, if the added edge is between two communities (i.e., the two endpoints of the edge belong to different communities), then the deleted edge must also be an edge between communities. Furthermore, when an edge swap reduces the number of triangles within or between communities, the system discards it. In this case, the edge selected for removal is marked as the youngest edge in the graph to ensure it won't be selected again in later iterations. Because the edge swap process may cause the initially formed graph structure to be fragmented, resulting in small, unconnected graph blocks, in order to form a connected graph structure, when broken blocks are found, these broken small blocks are connected to the main graph block. The main graph block is the one containing the most nodes among all blocks. Broken small blocks are connected to the node with the highest degree in the main graph block. If the edge addition operation reduces the total number of triangles in the graph, repeat step D21 to adjust the graph structure. Repeat this process until the total number of triangles exceeds 90% of the estimated total number of triangles and the graph is complete; this will yield the final graph structure. .
[0047] In this embodiment of the application, step S500 optimizes the node attributes based on the target graph structure and the perturbed data to ensure that the distribution of node attributes is consistent with the community division, thereby obtaining the final publishable target attribute graph, including the following steps E1-E4: E1: Execute the CESNA algorithm based on the target graph structure and its corresponding node attributes to obtain node clusters containing node attributes. ; In one alternative implementation, step E1 yields a node cluster containing node attributes. Another approach is through Fed-EM soft clustering. The data collection end first randomly initializes K Gaussian Mixture Model (GMM) parameters θ locally, then distributes θ to all clients. Each client calculates the "soft assignment probability" of belonging to each Gaussian model using only its locally perturbed attribute vector, and then adds noise to the probability vector (satisfying...) The data is sent back to the collection end, which aggregates all probability vectors and updates θ using EM iteratively. After the iteration converges, the collection end can obtain soft clusters containing node attributes (each node belongs to multiple clusters in probabilistic form) without any original attributes leaving the client.
[0048] In another alternative implementation, step E1 yields a node cluster containing node attributes. Another approach is to use approximate spectral clustering based on verifiable random sampling. That is, the collection end uses a verifiable random function (VRF) to sample a batch of representative nodes in each community, and only runs fast spectral clustering on these representative nodes to obtain low-dimensional embeddings. Using community partitioning as a constraint, the attribute vectors of the remaining nodes can be assigned to the nearest representative cluster through local projection. Finally, the "representative node-cluster" table is output, which is to obtain node clusters containing node attributes. At the same time, the computational cost decreases linearly with the sampling ratio and satisfies the condition that differential privacy noise remains unchanged.
[0049] E2: Quantifying Node Clustering Based on Normality Evaluation Metric Consistency with community division; It should be noted that the calculation method for the Normality evaluation index is as follows: (12); In the formula: M represents the graph adjacency matrix; m represents the number of edges in the graph ( ); Used to represent the consistency of attributes within a community. It is important to emphasize that, for a given community... In the subscript, B represents the community. The set of boundary nodes does not belong to the community. However, there is at least one edge connecting it to a node in the community; Used to indicate the distinguishability between communities, where It is the Kronecker function, which is calculated as follows: ,So Otherwise, it equals 0. Based on graph structure. Node attribute vector set and community division Calculate the preliminary Normality index In one alternative implementation, step E2 involves quantizing node clustering. Consistency with community partitioning can also be quantified based on differential private NMI of mutual information. Specifically, the data collector treats the node cluster labels and community partitioning labels output by CESNA as two discrete random variables y and Y, respectively. Locally, ε / 2 noise is added to the joint count table of the two labels using Laplace noise, satisfying local dynamic programming (DP), and the normalized mutual information after adding noise is calculated. The closer the NMI is to 1, the more consistent the cluster and the community are. It can be directly output as a consistency quantification value without the need for additional hyperparameters.
[0050] In another alternative implementation, step E2 quantizes node clustering. Consistency with community partitioning can also be quantified based on the cosine similarity of embeddings in graph neural networks. Specifically, a lightweight GNN is trained on the perturbation graph at the collection end, mapping node attributes to 64-dimensional embeddings z. At the same time, another set of embeddings z' is trained using the community partitioning labels as supervision signals. The cosine similarity matrix between the two embeddings is calculated, and the average of the diagonal of the matrix is taken to obtain the consistency score CosSim. After training, only the CosSim value is published, and the embeddings themselves are not made public, which protects privacy and quantifies the degree of structure-attribute alignment.
[0051] E3: Calculate the attribute center of each community, and flip the attribute vector of the node farthest from the attribute center by one position in the least dissimilar dimension to obtain a new node vector; It should be noted that the computing community attribute vector center point The specific calculation formula is as follows: (13); In the formula: This indicates the number of nodes in the community.
[0052] Furthermore, by traversing the node attribute vectors in the community, we can find those that are related to... The farthest node vector Then modify the vector and the center point vector. The least dissimilar attribute value yields the new node vector. .Notice and If only one attribute is different, recalculate the Normality metric after modifying the attribute to get the value. .
[0053] E4: Iterate through E2-E3 until the increment of the Normality metric is less than the preset convergence threshold. The output is a set of finely tuned node attribute vectors, which serves as the attribute data for the final publishable target attribute graph.
[0054] It should be noted that, through calculation The value is compared to whether it is less than the convergence limit. If it is greater than, repeat the above process until... The value is less than This yields the final node attribute vector, which, when combined with the previous graph structure... The final attribute graph is obtained by combining the fine-tuned node attribute vector X with the preset convergence threshold. The settings are based on actual needs and will not be elaborated here.
[0055] In summary, this invention perturbs the graph structure and attribute data on the client side using Randomized Adjacency Bit Vector (RABV), Random Jump (RJ), and Randomized Attribute List (RAL) algorithms, ensuring user privacy meets strict local differential privacy standards from the source and fundamentally preventing privacy leakage risks. Secondly, the collection end reconstructs the adjacency matrix and degree vector based on the perturbated data, achieving unbiased estimation of the original graph's community partitioning and node triangulation counts, enabling the subsequent synthesis process to accurately preserve key structural features of the original graph. Furthermore, by combining the community partitioning results with the Chung-Lu model to generate a preliminary graph structure, and then iteratively optimizing the graph structure with the estimated triangulation count as the target, the data utility of the synthesized graph in terms of community preservation and local clustering structure is significantly improved. Finally, by performing consistency optimization of node attributes based on the community structure, the node attribute distribution highly matches the community partitioning, enhancing the realism and usability of the attribute graph. In other words, this method not only meets the strict requirements of local differential privacy in terms of privacy protection, but also retains multi-dimensional features such as community structure, triangulation count and node attribute homogeneity in the published attribute graph, which greatly enhances the practical value of synthetic data in downstream graph analysis, community discovery and personalized services.
[0056] Example 3 illustrates a method for collecting and publishing attribute graphs based on local differential privacy. It should be noted that the technical solution of this system for collecting and publishing attribute graphs based on local differential privacy is based on the same concept as the aforementioned method for collecting and publishing attribute graphs based on local differential privacy. Details not described in detail in the system for collecting and publishing attribute graphs based on local differential privacy in this embodiment can be found in the description of the aforementioned method for collecting and publishing attribute graphs based on local differential privacy.
[0057] This embodiment also provides an attribute graph collection and publishing system based on local differential privacy, including: The delivery module is used to deliver target privacy parameters to the client, which include adjacency bit perturbation budget, degree perturbation budget, and node attribute privacy budget. The receiving module is used to receive perturbed data from each client. The perturbed data includes data obtained by each client after perturbing the local adjacency bit vector based on the adjacency bit perturbed budget, data obtained after perturbing the local node degree based on the degree perturbed budget, and data obtained after perturbing the local node attribute vector based on the node attribute privacy budget. The estimation module is used to estimate the community partitioning of the original graph structure and the triangulation count of each node based on all perturbed data. The first generation module is used to obtain the target graph structure based on community partitioning and triangulation. The second generation module is used to optimize the node attributes based on the target graph structure and the perturbed data, so that the distribution of node attributes is consistent with the community division, and the final publishable target attribute graph is obtained.
[0058] This embodiment also provides an electronic device suitable for the collection and publication of attribute graphs based on local differential privacy, comprising: a memory and a processor; the memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions to implement the method for collecting and publishing attribute graphs based on local differential privacy as proposed in the above embodiment.
[0059] This embodiment also provides a storage medium storing a computer program that, when executed by a processor, implements the method for collecting and publishing attribute graphs based on local differential privacy as proposed in the above embodiments.
[0060] The storage medium proposed in this embodiment and the method for collecting and publishing attribute graphs based on local differential privacy proposed in the above embodiments belong to the same inventive concept. Technical details not described in detail in this embodiment can be found in the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.
[0061] Based on the above description of the implementation methods, those skilled in the art can clearly understand that the present invention can be implemented using software and necessary general-purpose hardware, and of course, it can also be implemented using hardware. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as a computer floppy disk, read-only memory (ROM), random access memory (RAM), flash memory, hard disk, or optical disk, etc., including several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods of the various embodiments of the present invention.
[0062] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention, and all such modifications or substitutions should be covered within the scope of the claims of the present invention.< / epoch>
Claims
1. A method for collecting and publishing attribute graphs based on local differential privacy, characterized in that: include, The target privacy parameters are sent to the client, wherein the target privacy parameters include the adjacency bit perturbation budget, the degree perturbation budget, and the node attribute privacy budget; The system receives perturbed data from each client, wherein the perturbed data includes data obtained by each client after perturbing the local adjacency bit vector based on the adjacency bit perturbed budget, data obtained after perturbing the local node degree based on the degree perturbed budget, and data obtained after perturbing the local node attribute vector based on the node attribute privacy budget. Based on all the perturbed data, estimate the community partitioning of the original graph structure and the triangulation count of each node; Based on the community division and the triangulation, the target graph structure is obtained; Based on the target graph structure and the perturbed data, the node attributes are optimized to ensure that the distribution of node attributes is consistent with the community division, thus obtaining the final publishable target attribute graph. The step of estimating the community partitioning of the original graph structure and the triangulation count of each node based on all the perturbed data includes: The perturbed graph adjacency matrix is reconstructed based on the bit index with a value of 1 sent by each client, and the perturbed degrees sent by each client are arranged according to the user number to form the perturbed degree vector. Based on the perturbed graph adjacency matrix and the perturbed degree vector, a community detection algorithm based on Louvain's idea is used to estimate the community partitioning of the original graph structure. The algorithm includes: initializing each node as an independent community, estimating the modularity of each community using a modularity estimation algorithm, traversing the communities and calculating the modularity gain of merging the current community into each neighboring community, selecting the neighboring community with the largest gain for merging, and iterating until the modularity no longer increases to obtain the community partitioning. Furthermore, based on the perturbed graph adjacency matrix and the perturbed degree vector, the triangulation count of each node is estimated according to the following formula: ; In the formula: : Represents the probability used in the RABV algorithm to keep the adjacent vector bits unchanged; : Represents the probability of flipping an adjacent vector bit in the RABV algorithm; : Represents the nodes in the graph structure as a perturbed adjacency matrix collected by the RABV algorithm. The number of triangular counts; : Represents the edge density on the perturbed graph; This represents the total number of nodes. To represent the nodes in the perturbed graph adjacency matrix The degree of observation.
2. The method for collecting and publishing attribute graphs based on local differential privacy as described in claim 1, characterized in that: The sending of target privacy parameters to the client includes, Set the privacy budget for graph structure, privacy budget for node attributes, and privacy budget percentage for adjacent bit vector perturbation; Calculate the adjacent bit perturbation budget and the degree perturbation budget.
3. The method for collecting and publishing attribute graphs based on local differential privacy as described in claim 2, characterized in that: The estimation of community partitioning and triangulation counts of each node based on all the perturbated data includes, Based on all the perturbed data, the perturbed graph adjacency matrix and degree vector are reconstructed; Based on the perturbed graph adjacency matrix and degree vector, the community partitioning of the original graph structure and the triangulation count of each node are estimated.
4. The method for collecting and publishing attribute graphs based on local differential privacy as described in claim 3, characterized in that: The target graph structure obtained based on the community division and the triangulation includes: Based on the perturbated graph adjacency matrix and degree vector, a preliminary graph structure is generated; The preliminary graph structure is iteratively optimized based on the triangular counting to obtain the target graph structure.
5. The method for collecting and publishing attribute graphs based on local differential privacy as described in claim 4, characterized in that: The data obtained by perturbing the local adjacency bit vector based on the adjacency bit perturbation budget is obtained by the client using the randomized adjacency bit vector method; The data obtained by perturbing the local node degree based on the degree perturbation budget is obtained by the client using a random jump algorithm; The data obtained by perturbing the local node attribute vector based on the node attribute privacy budget is obtained by the client using a randomized attribute list algorithm.
6. The method for collecting and publishing attribute graphs based on local differential privacy as described in claim 5, characterized in that: The generation of the preliminary graph structure includes, Based on the community division, the degree of the node is assigned as intra-community degree and inter-community degree; Edges within a community are generated based on an intra-community connection probability model, and edges between communities are generated based on an inter-community connection probability model. The intra-community connection probability model and the inter-community connection probability model are constructed based on the Chung-Lu model.
7. The method for collecting and publishing attribute graphs based on local differential privacy as described in claim 6, characterized in that: The preliminary graph structure is iteratively optimized based on the triangular counting. include, With the triangular counting as the optimization objective, the graph structure is adjusted by performing edge addition and deletion operations; This makes the total triangular count of the optimized graph structure approximate the sum of the triangular counts.
8. A local differential privacy-based attribute graph collection and publishing system, employing the method described in any one of claims 1-7, characterized in that, include: The delivery module is used to deliver target privacy parameters to the client, wherein the target privacy parameters include adjacency bit perturbation budget, degree perturbation budget, and node attribute privacy budget; The receiving module is used to receive perturbed data from each client, wherein the perturbed data includes data obtained by each client after perturbing the local adjacency bit vector based on the adjacency bit perturbing budget, data obtained after perturbing the local node degree based on the degree perturbing budget, and data obtained after perturbing the local node attribute vector based on the node attribute privacy budget. An estimation module is used to estimate the community partitioning of the original graph structure and the triangulation count of each node based on all the perturbed data. The first generation module is used to obtain the target graph structure based on the community division and the triangulation. The second generation module is used to optimize the node attributes based on the target graph structure and the perturbed data, so that the distribution of node attributes is consistent with the community division, and to obtain the final publishable target attribute graph.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Construction method and equipment of link prediction model meeting local differential privacy based on personalized sampling random response graph structure perturbation algorithm, and medium
CN116341003A
Graph diffusion model learning method and device satisfying differential privacy
CN120805974A