Enterprise multi-agent data collaborative governance method based on spatiotemporal knowledge graph
Patent Information
- Application Number
- CN202611435001.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-16
- Publication Date
- 2026-10-20
AI Technical Summary
[0002]在跨企业多主体数据协同场景中,不同企业主体之间需要根据业务事由共享数据,例如供应链金融中银行依据融资申请访问上下游企业的交易和物流数据,现有协同治理方法通常采用基于角色或基于属性的访问控制方式确定授权范围,授权范围在授权时根据数据提供方预设的规则一次划定,被授权方在授权有效期内可访问规则覆盖的数据,企业协同过程中业务数据持续产生,新产生的数据与授权事由之间通过业务事件的先后顺序和空间位置的邻接关系形成关联,部分新数据与授权事由存在因果关联,部分新数据与授权事由无因果关联,采用预设规则划定授权范围时,规则以数据的类别或归属主体或固定时间区间为授权依据,无法区分新数据与授权事由之间因果关联的远近,与授权事由无因果关联的新数据可能因落入预设类别而被授权访问,与授权事由有因果关联的新数据可能因不在预设时间区间内而无法被授权方访问,授权范围与业务数据之间的实际关联程度不匹配,数据提供方需要人工审核新增数据的授权或频繁调整预设规则,增加了跨企业数据协同的管理成本,为了解决这一技术问题,于是我们提供了基于时空知识图谱的企业多主体数据协同治理方法
本发明通过在时空知识图谱中以触发授权的业务事件节点为授权锚点节点,沿时序因果边和空间拓扑边进行有向图遍历,将数据实体节点到达授权锚点节点的最短路径代价确定为时空因果可达距离,并与根据数据敏感级别确定的可达距离阈值比较以判定访问授权,解决了现有静态规则授权无法区分数据与授权事由之间因果关联远近的问题。
Smart Images

Figure FT_1
Abstract
Description
Technical Field
[0001] This invention relates to the field of data collaborative governance technology, and more specifically, to a multi-entity data collaborative governance method for enterprises based on spatiotemporal knowledge graphs. Background Technology
[0002] In cross-enterprise, multi-entity data collaboration scenarios, different enterprise entities need to share data based on business objectives. For example, in supply chain finance, banks access transaction and logistics data of upstream and downstream enterprises based on financing applications. Existing collaboration governance methods typically use role-based or attribute-based access control to determine the scope of authorization. The scope of authorization is defined once based on rules preset by the data provider during authorization. The authorized party can access the data covered by the rules within the authorization validity period. During the enterprise collaboration process, business data is continuously generated. The newly generated data is associated with the authorized objectives through the sequence of business events and the adjacency of spatial locations. Some new data has a causal relationship with the authorized objectives, while some new data does not have a causal relationship with the authorized objectives. When defining the scope of authorization using preset rules, these rules are based on data categories, ownership entities, or fixed time intervals. This fails to distinguish the degree of causal relationship between new data and the authorized event. New data with no causal relationship to the authorized event may be authorized for access because it falls into a preset category, while new data with a causal relationship to the authorized event may not be accessible to the authorized party because it is not within a preset time interval. The degree of correlation between the scope of authorization and the actual business data is mismatched. Data providers need to manually review the authorization of new data or frequently adjust preset rules, which increases the management cost of cross-enterprise data collaboration. To solve this technical problem, we provide an enterprise multi-entity data collaboration governance method based on spatiotemporal knowledge graphs. Summary of the Invention
[0003] The purpose of this invention is to provide a multi-entity data collaborative governance method for enterprises based on spatiotemporal knowledge graphs, so as to solve the problems mentioned in the background art.
[0004] To achieve the above objectives, one of the objectives of this invention is to provide a method for collaborative data governance among multiple entities in an enterprise based on spatiotemporal knowledge graphs, comprising the following steps: S1. Obtain business data from multiple enterprise entities, extract business event nodes, data entity nodes, spatial location nodes, and temporal causal edges between business event nodes with causal direction and spatial topological edges between spatial location nodes with adjacency direction, and construct a spatiotemporal knowledge graph. S2. When detecting cross-enterprise entity data authorization events, the business event node that triggers the data authorization event is determined as the authorization anchor node, and the reachable distance threshold is determined according to the sensitivity level of the data involved. S3. Traverse the directed graph from the authorized anchor node along the causal direction of the temporal causal edge and the adjacency direction of the spatial topology edge. Use the sum of the normalized level of the event time difference between adjacent nodes and the normalized level of the entity spatial distance as the path cost of a single edge. Calculate the shortest path cost from each data entity node to the authorized anchor node as its spatiotemporal causal reachability. S4. When receiving an access request from a data requester, locate the data entity node indicated by the access request, read the spatiotemporal causal reachability, generate an authorization token to allow access if the spatiotemporal causal reachability does not exceed the reachability threshold, otherwise deny access. S5. When adding new nodes and edges in the spatiotemporal knowledge graph, the spatiotemporal causal reachability distance of newly added data entity nodes is recalculated. Nodes that do not exceed the reachability distance threshold are automatically included in the authorization scope.
[0005] Compared with the prior art, the beneficial effects of the present invention are as follows: This invention solves the problem that existing static rule-based authorization cannot distinguish the causal relationship between data and authorization events by using the business event node that triggers authorization as the authorization anchor node in the spatiotemporal knowledge graph, traversing the directed graph along temporal causal edges and spatial topological edges, determining the shortest path cost from the data entity node to the authorization anchor node as the spatiotemporal causal reachability distance, and comparing it with the reachability distance threshold determined according to the data sensitivity level to determine access authorization.
[0006] The authorization boundary is determined by the shortest causal path between the data and the authorization reason. Data that is sequential in time and adjacent in space to the authorization reason is automatically authorized, while data that has no causal relationship with the authorization reason is not authorized. The scope of authorization is consistent with the actual degree of correlation between the business data, avoiding authorization that is too broad or too narrow due to preset category rules.
[0007] When the spatiotemporal knowledge graph is updated incrementally, the spatiotemporal causal reachability distance is recalculated only on the local subgraph formed by the affected nodes. New data that meets the threshold conditions is automatically included in the authorization scope and the authorized party is notified. There is no need for the data provider to manually approve each item, which reduces the management cost of cross-enterprise data collaboration.
[0008] The reachability threshold is negatively correlated with the data sensitivity level. The higher the sensitivity level, the smaller the threshold. The authorized scope of highly sensitive data narrows as the sensitivity level increases, which promotes data sharing while controlling the exposure scope of highly sensitive data. Attached Figure Description
[0009] Figure 1 This is a flowchart illustrating the overall workflow of the present invention. Detailed Implementation
[0010] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0011] Please see Figure 1 As shown, this embodiment provides a multi-entity data collaborative governance method for enterprises based on spatiotemporal knowledge graphs, including the following steps: S1. Obtain business data from multiple enterprise entities, extract business event nodes, data entity nodes, spatial location nodes, and temporal causal edges between business event nodes with causal direction and spatial topological edges between spatial location nodes with adjacency direction, and construct a spatiotemporal knowledge graph. S2. When detecting cross-enterprise entity data authorization events, the business event node that triggers the data authorization event is determined as the authorization anchor node, and the reachable distance threshold is determined according to the sensitivity level of the data involved. S3. Traverse the directed graph from the authorized anchor node along the causal direction of the temporal causal edge and the adjacency direction of the spatial topology edge. Use the sum of the normalized level of the event time difference between adjacent nodes and the normalized level of the entity spatial distance as the path cost of a single edge. Calculate the shortest path cost from each data entity node to the authorized anchor node as its spatiotemporal causal reachability. S4. When receiving an access request from a data requester, locate the data entity node indicated by the access request, read the spatiotemporal causal reachability, generate an authorization token to allow access if the spatiotemporal causal reachability does not exceed the reachability threshold, otherwise deny access. S5. When adding new nodes and edges in the spatiotemporal knowledge graph, the spatiotemporal causal reachability distance of newly added data entity nodes is recalculated. Nodes that do not exceed the reachability distance threshold are automatically included in the authorization scope.
[0012] Structured parsing of business data is the initial step in building a spatiotemporal knowledge graph. Business data generated by multiple enterprise entities during collaboration exists in various formats, including JSON, XML, CSV, and text log formats. The purpose of structured parsing is to separate three types of information from business data of different formats: text fields, time fields, and location fields. Text fields carry business semantic content, time fields record the time when business events occurred, and location fields record the location of business events. Structured parsing uses a format recognizer to read the file header features of business data to determine the data format, and then calls the parser corresponding to the data format to extract the field content. For JSON format business data, text fields, time fields, and location fields are extracted according to key name matching rules. For XML format business data, text, time, and location fields are extracted according to tag path rules. For CSV format business data, text, time, and location fields are extracted according to column name mapping rules. For business data whose format cannot be automatically recognized, text, time, and location fields are extracted from the text content by matching regular expression patterns. During extraction, the source path and resolution confidence of each field are recorded simultaneously. The resolution confidence reflects the probability that the field content is correctly extracted. Fields with a resolution confidence of less than 0.6 are marked as fields to be manually reviewed, while fields with a resolution confidence of 0.6 or higher are entered into subsequent processing stages. This ensures that business data of different formats can be uniformly parsed into three types of fields, avoiding field omissions or misalignments due to format differences.
[0013] After text field extraction, the data is input into a Named Entity Recognition (NER) model adjusted using enterprise collaboration domain corpus. The NER model is based on the BERT model, which is pre-trained on a general corpus and then adjusted using the enterprise collaboration domain corpus. This corpus includes supply chain collaboration text, logistics waybill text, equipment maintenance work order text, and cross-enterprise settlement text. During the adjustment process, a domain feature consistency constraint term is added to the standard cross-entropy loss function. The adjustment loss function is expressed as follows: ; in the formula This represents the total number of characters in the training samples. This represents the total number of entity label categories. Indicates the first The character belongs to the first The true indicative value of each label, The model predicts the first... The character belongs to the first The probability value of each label. This represents the weight coefficient of the domain feature consistency constraint term and has a value of 0.3. Indicates the first The hidden state vector of each character in the domain adjustment encoder. Indicates the first The hidden state vector of each character in the general pre-trained encoder The squared L2 norm of a vector, the dimensions of the domain feature consistency constraint term and the dimensions of the cross-entropy loss function are expressed through weight coefficients. The loss value is unified to a dimensionless value. The domain feature consistency constraint allows the adjusted model to retain general semantic understanding ability while learning domain features. The named entity recognition model encodes the text field character by character and outputs the entity label sequence for each character. The event trigger word, entity name and entity attribute are obtained by decoding the label sequence. The event trigger word is the core verb or noun that identifies the occurrence of the business event. The entity name is the name of the data object involved in the business data. The entity attribute is the key-value pair that describes the characteristics of the data object. The model also outputs the entity confidence score of each recognition result. Recognition results with an entity confidence score lower than 0.7 are filtered out. Recognition results with an entity confidence score greater than or equal to 0.7 enter the event type matching stage.
[0014] After the event trigger words are identified, they are matched with a pre-built event type dictionary to determine the event type. The event type dictionary stores multiple event types and a set of trigger words for each type. The trigger word set includes various expressions of the event type in enterprise collaboration scenarios. The matching process employs a multi-feature matching method that integrates literal similarity and semantic similarity, while also incorporating time consistency enhancement. Let the identified event trigger words be... The first in the event type dictionary The set of trigger words corresponding to each event type is ,in Indicates the first The number of trigger words corresponding to each event type is determined by first calculating the word similarity between the event trigger word and each trigger word in the trigger word set. The word similarity is obtained based on edit distance normalization, and the calculation formula is as follows: ; in the formula Event trigger words With the set of trigger words Trigger words The edit distance is the minimum number of single-character edit operations required to convert one string to another. Event trigger words The length of the characters, Indicates trigger word The length of the characters, The larger of the two string lengths is used as the normalized denominator. Edit distance and character length are both expressed in units of character count. The literal similarity value ranges from 0 to 1; when two strings are identical, the literal similarity is 1. Semantic similarity is then calculated based on literal similarity. Semantic similarity is obtained by inputting the event trigger word and trigger words from the trigger word set into a semantic encoding model to obtain semantic vectors, and then calculating the cosine similarity. The formula is as follows: ; in the formula Event trigger words semantic vectors, Indicates trigger word semantic vectors, This represents the dot product of two semantic vectors. The L2 norm of the semantic vector of the event trigger word. Let L2 be the semantic vector of the trigger word. Both the dot product and the L2 are units of the sum of squares of the dimensions of the semantic vectors. Dividing them yields a dimensionless value. Semantic similarity ranges from 0 to 1; higher semantic similarity indicates closer semantic meanings between the two words. A weighted fusion of literal similarity and semantic similarity yields a comprehensive matching score for each trigger word. The maximum comprehensive matching score between all trigger words in the trigger word set and the event trigger word is then taken as the match score between the event trigger word and the trigger word. The matching degree of each event type is calculated using the following formula: ; in the formula The weighting coefficient representing word literal similarity is set to 0.4. The weight coefficient for semantic similarity is 0.6. The reason semantic similarity is weighted higher than literal similarity is that in enterprise collaboration scenarios, the same event type often has multiple different textual expressions. Semantic similarity is better at capturing trigger words with different expressions but the same meaning. After obtaining the matching degree between event trigger words and each event type, a time field consistency enhancement factor is further introduced. The time field consistency enhancement factor reflects the degree of consistency between the time field and the typical time pattern of the event type. Let the event occurrence time obtained from the time field parsing be... , No. The typical time patterns of each event type are set as follows: The typical time pattern set stores the time distribution characteristics of this event type in historical business data. These time distribution characteristics include monthly range, weekday distribution, and hourly segment distribution. The formula for calculating the time field consistency enhancement factor is as follows: ; in the formula This represents the time consistency enhancement factor and has a value of 0.15. This is an indicator function that indicates when the event occurs. Falling into A collection of typical time patterns for each event type The time indicator function takes a value of 1 otherwise, and the final matching degree is calculated using the formula after adding the time field consistency enhancement factor. ; Final match The value is dimensionless. When the event occurrence time matches the typical time pattern of the event type, the final match score is increased by 15% from the base match score. All event types in the event type dictionary are traversed and the final match score is calculated. The event type with the highest final match score is selected as the candidate event type. The formula for determining the candidate event type is as follows: ; When the final matching degree of a candidate event type is greater than or equal to the preset matching threshold of 0.75, the candidate event type is determined as the event type corresponding to the event trigger word. When the final matching degree of a candidate event type is less than 0.75, the event trigger word is marked as an unmatched event and sent to the manual annotation queue. The manual annotation results are written back to the event type dictionary to enrich the trigger word set. Literal similarity solves the matching problem of different spellings of the same trigger word, semantic similarity solves the matching problem of different trigger words expressing the same meaning, and the time consistency enhancement factor uses the auxiliary information provided by the time field to correct the matching results. The three features complement each other, enabling event type matching to maintain stable matching ability in the multi-expression environment of enterprise collaboration scenarios.
[0015] Once the event type is determined, three types of nodes are constructed. Structured records containing event trigger words, event type, and time fields are designated as business event nodes. Each business event node is assigned a unique node identifier, generated by concatenating the enterprise entity code, timestamp, and random sequence number. Structured records containing entity names and entity attributes are designated as data entity nodes. Each data entity node is assigned a unique data identifier, generated by concatenating the enterprise entity code, data type code, and sequence number. The location field does not directly participate in the construction of business event nodes and data entity nodes; instead, it is input into a geocoding service to obtain spatial location information. After receiving the location field text, the geocoding service returns multiple geocoding candidate results. Each geocoding... The geocoding candidate results include latitude and longitude coordinates, administrative division codes, and service confidence scores. The latitude and longitude coordinates consist of latitude and longitude values, both in degrees. The administrative division codes are taken according to the national administrative division coding standards. The service confidence score reflects the degree of certainty the geocoding service has about the returned results. Considering that the geocoding service may return results deviating from the actual location when the location field is incomplete or ambiguous, a business context space consistency check is introduced on top of the service confidence score. This check calculates the spatial distance between the geocoding candidate result and the confirmed spatial location nodes of the same enterprise entity within adjacent time windows. The spatial distance is calculated using the semi-sine formula. Let the latitude of the geocoding candidate result be... Longitude is The latitude of the spatial location node has been confirmed as follows: Longitude is Earth's radius is taken The formula for calculating spatial distance is: meter. ; In the formula, latitude and longitude values are converted from angles to radians before calculation. The conversion relationship between angles and radians is that the radian value equals the angle value multiplied by... Divide by 180, and as well as These are the sine, cosine, and arcsine functions, respectively, and the Earth's radius. The unit is meters, spatial distance The unit is meters. After obtaining the spatial distance, the business context consistency score is calculated using the following formula: ; in the formula Indicates the first Spatial distance between each geocoding candidate result and the confirmed spatial location node The unit is meters. This represents the distance to the normalized reference and is set to 50,000 meters. and The dimensions are consistent, and the ratio is dimensionless. The business context consistency score is 1 when the spatial distance is 0 meters, and 0.5 when the spatial distance is 50,000 meters. The larger the spatial distance, the lower the business context consistency score. The service confidence score and the business context consistency score are weighted and fused to obtain the comprehensive confidence score of the geocoding candidate results. The calculation formula is as follows: ; in the formula Indicates the first Service confidence of each geocoding candidate result This represents the weighting coefficient for service confidence and has a value of 0.7. The weighting coefficient for the business context consistency score is 0.3. Both the service confidence score and the business context consistency score are dimensionless values. The weighted and fused comprehensive confidence score is also a dimensionless value. All geocoding candidate results are traversed and the comprehensive confidence score is calculated. The geocoding candidate result with the highest comprehensive confidence score is taken as the spatial location information corresponding to the location field. When the highest comprehensive confidence score is less than 0.6, the location field is marked as a field to be manually reviewed. When the highest comprehensive confidence score is greater than or equal to 0.6, the structured record containing latitude and longitude coordinates and administrative division code is determined as a spatial location node. The spatial location node is also assigned a unique location identifier. The business context spatial consistency verification uses the spatial continuity characteristics of the business activities of the same enterprise entity to correct the deviation results returned by the geocoding service when the address description is incomplete or ambiguous, thereby improving the positioning accuracy of the spatial location node.
[0016] After the three types of nodes are constructed, business event nodes, data entity nodes, and spatial location nodes are written into the graph database according to node identifiers, data identifiers, and location identifiers. This provides the node foundation for the subsequent extraction of temporal causal edges and spatial topological edges, as well as the construction of the spatiotemporal knowledge graph. Through a complete process of structured parsing, named entity recognition, event type matching, and geocoding, the business data of multiple enterprise entities are transformed into three types of nodes with a unified structure. The time field, event trigger words, and event type contained in the business event nodes provide the causal judgment basis for the extraction of temporal causal edges. The entity name and entity attributes contained in the data entity nodes provide the source for the extraction of data content features in the subsequent authorization determination. The latitude and longitude coordinates and administrative division codes contained in the spatial location nodes provide the coordinate basis for the extraction of spatial topological edges and the calculation of entity spatial distances. The information carried by the three types of nodes is called one by one in subsequent steps, forming a complete data link from business data to spatiotemporal knowledge graph nodes.
[0017] After the three types of nodes are extracted, edges need to be established between the nodes to form a spatiotemporal knowledge graph. The extraction of edges is divided into two lines: temporal causal edges and spatial topological edges. Temporal causal edges describe the relationship between business event nodes in terms of time sequence and causal logic, while spatial topological edges describe the relationship between spatial location nodes in terms of geographical adjacency and business flow. The two types of edges together constitute the topological structure of the spatiotemporal knowledge graph.
[0018] First, the event occurrence time corresponding to each business event node is extracted from the business data. The event occurrence time was parsed from the time field and stored in the business event nodes during the node extraction stage. The event occurrence time of each business event node is directly read and converted into a Unix timestamp in seconds. The Unix timestamp is the total number of seconds from January 1, 1970, 00:00:00 to the event occurrence time. After unifying the time unit, time fields of different formats can be directly compared. All business event nodes are sorted in ascending order according to the order of their occurrence times, forming a business event node sequence. Two business event nodes with adjacent times in the sequence are paired. Adjacent times mean that there are no other business event nodes between the two business event nodes in the sequence. The process continues sequentially, taking the first... The first business event node and the first A business event node pair consists of several business event nodes. Starting from 1, the total number of business event nodes is reduced by 1. For each business event node, the causal relationship confidence score is obtained from the pre-trained causal relationship discrimination model.
[0019] The causal relationship discrimination model does not rely solely on temporal sequence to determine causality. Instead, it integrates three dimensions—time interval features, semantic causal features, and entity overlap features—for comprehensive discrimination. Let the first business event node in a business event node pair be... The business event node that occurs after i is , The time of the event was , The time of the event was , and The units are all seconds. The time interval characteristic reflects the temporal proximity of two business event nodes. The shorter the time interval, the higher the probability of a causal relationship. The time interval characteristic is calculated using an exponential decay function, as shown in the formula: ; in the formula This represents the time difference between the occurrence of two business event nodes, in seconds. This represents the time decay constant, in seconds. Based on the average transmission cycle of business events in enterprise collaboration scenarios being set to 86400 seconds, the time interval characteristic is 1 when the time interval is 0 seconds, and 1 when the time interval is 86400 seconds. It is approximately equal to 0.368. When the time interval approaches infinity, the time interval characteristic approaches 0. In the dimensional analysis of the exponential decay function, both the numerator and denominator are seconds, the ratio is a dimensionless value, and the result of the exponential operation is a dimensionless value.
[0020] Semantic causal features reflect whether there is causal logic between two business event nodes at the semantic level. The event trigger words and event types of the earlier business event node are concatenated with those of the later business event node to form a causal pair text. This causal pair text is then input into a BERT-based causal semantic encoding model. The model is adjusted on a causal-annotated corpus in the enterprise collaboration domain to output semantic causal features. , The value range is from 0 to 1. The closer the value is to 1, the stronger the semantic causal logic between the two business event nodes. Entity overlap reflects the degree of overlap of the data entities associated with two business event nodes. Let the set of data entities associated with the earlier business event node be... The set of data entities associated with the subsequent business event nodes is The data entity set consists of the data entity nodes involved in the business data by the business event nodes. The entity overlap feature is calculated using the Jaccard coefficient, and the formula is as follows: ; in the formula This represents the number of elements in the intersection of two sets of data entities. It represents the number of elements in the union of two sets of data entities. Both the numerator and denominator are the number of data entities. The ratio is a dimensionless value, ranging from 0 to 1. The entity overlap feature is 1 when the data entities associated with the two business event nodes completely overlap, and 0 when they do not overlap completely.
[0021] The causal confidence score is obtained by weighted fusion of time interval features, semantic causal features, and entity overlap features, followed by a logistic function mapping. The formula is as follows: ; in the formula For logistic functions, and as well as These are the weights of time interval features, semantic causal features, and entity overlap features, respectively. The bias term, weights, and biases are obtained by training on a causal annotation dataset in the enterprise collaboration domain. After training... The value is 0.3. The value is 0.5. The value is 0.2. The reason why the semantic causal feature weight is higher than the time interval feature weight and the entity overlap feature weight is that semantic causality is the main basis for judging causal relationship, while time interval and entity overlap serve as auxiliary evidence. All three features are dimensionless values, and the weighted sum is also a dimensionless value. After being mapped by the logistic function, the confidence of the causal relationship ranges from 0 to 1.
[0022] After obtaining the causal confidence score, it is compared with a preset causal threshold, which is set to 0.65. When the causal confidence score is greater than the preset causal threshold, a temporal causal edge is established between the earlier and later business event nodes. The direction of the temporal causal edge is from the earlier business event node to the later business event node. The causal confidence score is recorded as an edge attribute on the temporal causal edge. The causal confidence score is used as the edge weight of the temporal causal edge in the subsequent directed graph traversal to participate in the calculation of the normalization level of the event time difference. When the causal confidence score is less than or equal to the preset causal threshold, no temporal causal edge is established, and the two business event nodes only maintain a temporal adjacency relationship without having a causal relationship.
[0023] After the temporal causal edges are established, spatial topology edges are extracted. Spatial coordinates corresponding to each spatial location node are extracted from the business data. These spatial coordinates were obtained by the geocoding service and stored in the spatial location nodes during the node extraction stage. The spatial coordinates include latitude and longitude values, both in degrees. The spatial distance between any two spatial location nodes is calculated using the semi-sine versine formula. Let the two spatial location nodes be... and , The latitude is Longitude is , The latitude is Longitude is Earth's radius is taken The formula for calculating spatial distance is: meter. ; In the formula, latitude and longitude values are converted from angle units to radians before calculation, and spatial distances are considered. The unit is meters.
[0024] Building upon spatial distance, a consistency feature for business flow direction is further introduced. This business flow direction is extracted from the logistics route and business direction fields recorded in the business data. The business flow direction reflects the actual flow direction of goods or services between two spatial location nodes. Let's assume the direction extracted from the business data is... arrive The business flow direction angle is The direction angle of business flow is measured clockwise from due north as 0 degrees, with the unit being degrees. Simultaneously, the angle from... point to The initial azimuth of the great circle is the angle from the Earth's surface to the center of the circle. point to The shortest path in The angle between the tangent direction at a given point and true north is the formula for calculating the initial azimuth of the great circle. ; in the formula The function is a two-parameter arctangent function. The calculation result is converted from radians to degrees, with the unit being degrees. The difference between the business flow direction angle and the initial azimuth angle of the great circle reflects the degree of consistency between the business flow direction and the spatial direction. The formula for calculating the direction consistency factor is: ; in the formula The difference between two direction angles is expressed in degrees. The cosine function requires the angle input to be in radians. Before calculation, the angle difference is converted to radians. The direction consistency factor is 1 when the business flow direction is completely consistent with the initial azimuth angle of the great circle. The direction consistency factor is 0 when the angle between the two is 90 degrees. The direction consistency factor is 0 when the angle between the two is greater than 90 degrees. The direction consistency factor is a dimensionless value.
[0025] The adjacency strength is obtained by multiplying the spatial distance attenuation factor and the orientation consistency factor, using the following formula: ; in the formula This is the distance attenuation constant, expressed in meters. It is set to 100,000 meters based on the average spatial distribution radius of business entities in enterprise collaboration scenarios. and The dimensions are consistent, the ratio is dimensionless, the result of the exponent operation is dimensionless, the adjacency strength is dimensionless, the value range is 0 to 1, the adjacency strength is 1 when the spatial distance is 0 meters and the directions are completely consistent, and the adjacency strength decreases when the spatial distance increases or the direction deviates.
[0026] After obtaining the adjacency strength, it is compared with a preset adjacency threshold, which is set to 0.3. When the adjacency strength is greater than the preset threshold, a spatial topology edge is established between the two spatially located nodes. The adjacency direction of the spatial topology edge is consistent with the business flow direction, that is, when the business flow direction is from... arrive Spacetime topology edges point to When the business flow direction is from arrive Spacetime topology edges point to The adjacency strength is recorded as an edge attribute on the spatial topology edge. The adjacency strength is used as the edge weight of the spatial topology edge in subsequent directed graph traversal and participates in the normalization level calculation of the entity spatial distance. When the adjacency strength is less than or equal to the preset adjacency threshold, no spatial topology edge is established.
[0027] After all temporal causal edges and spatial topology edges are established, business event nodes, data entity nodes, spatial location nodes, and temporal causal edges and spatial topology edges are written into the graph database. The graph database adopts a graph database that supports attribute graph models. During writing, a globally unique identifier is assigned to each node, and the start node identifier, end node identifier, edge type, and edge attributes are recorded for each edge. After writing, the spatiotemporal knowledge graph is constructed. In the spatiotemporal knowledge graph, business event nodes form causal chains through temporal causal edges, spatial location nodes form location adjacency networks through spatial topology edges, and data entity nodes form associations with business event nodes and spatial location nodes. Loaded on causal chains and positional adjacency networks, the causal confidence recorded on temporal causal edges provides a causal weight basis for the normalization level calculation of event time differences in subsequent directed graph traversal. The adjacency strength recorded on spatial topological edges provides a spatial weight basis for the normalization level calculation of entity spatial distances in subsequent calculations. The edge attributes of both types of edges are directly called in the subsequent calculation of spatiotemporal causal reachability, making the determination of authorization boundaries depend not only on topological connectivity but also on edge strength information. The edges in the spatiotemporal knowledge graph are not binary connections but weighted directed edges with causal strength and spatial strength, providing a quantitative basis for subsequent authorization determination based on spatiotemporal causal reachability.
[0028] Cross-enterprise data authorization events are received through the event bus of the collaborative governance platform. The event bus adopts a publish-subscribe model. When data providers from multiple enterprise entities initiate cross-enterprise data sharing, they publish data authorization events to the event bus. Data authorization events are transmitted in a structured message format, which includes a message header and a message body. The message header stores the authorization event identifier, message publication time, and message source entity identifier. The message body stores the authorized entity identifier, authorization event description, and authorized data scope. The authorization event identifier is a globally unique identifier, generated by concatenating the data provider's enterprise code, authorization initiation timestamp, and a random string. The authorized entity identifier is the unified social credit code of the enterprise entity authorized to access the data. The authorization event description is a description of the authorization reason and the associated business background by the data provider in natural language. After receiving a data authorization event, the message body is first parsed. The authorization event identifier, authorized entity identifier, and authorization event description are extracted from the message body through field mapping. After parsing, the authorization anchor node determination process begins.
[0029] The determination of the authorization anchor node is divided into two stages: exact matching and semantic matching. The exact matching is executed preferentially, and the semantic matching is started after the exact matching fails.
[0030] In the exact matching stage, a business event node whose node identifier is consistent with the authorization event identifier is searched in the spatio-temporal knowledge graph according to the authorization event identifier. The node identifier is a unique identifier assigned to each business event node when the business event node is extracted from the business data. A hash index is established for the node identifier when the business event node is written into the graph database. The hash index takes the node identifier as the key and the storage address of the business event node in the graph database as the value. The time complexity of querying the hash index according to the authorization event identifier is When the hash index returns a storage address, it indicates that the exact matching is successful, and the business event node corresponding to the storage address is directly read as the authorization anchor node. When the hash index returns a null value, it indicates that the exact matching fails. The cases of exact matching failure include three situations: the coding rule of the authorization event identifier is inconsistent with that of the node identifier, no clear event identifier is carried in the authorization event description, and the business event node that occurred earlier than the authorization event has not been entered into the graph database. After the exact matching fails, the process enters the semantic matching stage.
[0031] In the semantic matching stage, the authorization event time and the authorization event type are first extracted from the authorization event description. The authorization event time is obtained by performing time expression recognition on the authorization event description. The time expression recognition adopts a combination of a regular expression and a time semantic parsing model. The regular expression matches time strings in formats such as "YYYY年MM月DD日", "MM月DD日" and "YYYY-MM-DD". The time semantic parsing model recognizes relative time expressions such as "yesterday", "last Friday" and "3 days ago", and converts them into absolute time in combination with the message publishing time of the data authorization event. The authorization event type is obtained by inputting the authorization event description into an event type classification model. The event type classification model is trained on the event type corpus in the enterprise collaboration field, outputs the probability distribution that the authorization event description belongs to each event type, and takes the event type with the maximum probability as the authorization event type.
[0032] After the authorization event time and the authorization event type are extracted, pre-screening of the candidate set is performed. The pre-screening of the candidate set takes the authorization event type as a filtering condition, traverses the business event nodes in the spatio-temporal knowledge graph, and filters out the business event nodes with the event type consistent with the authorization event type to form a candidate business event node set. The pre-screening of the candidate set narrows the calculation range of semantic matching from all business event nodes to the business event nodes with consistent event types, which reduces the calculation amount of semantic matching.
[0033] Let the authorization event description be , the th business event node in the candidate business event node set is , The event description is The event description is a natural language description extracted and stored in the business event node along with the business data. First, the semantic vector similarity between the authorized event description and the event description is calculated. Then, the authorized event description and the event description are input into a semantic encoding model to obtain the authorized event semantic vector and the event description semantic vector, respectively. The semantic encoding model uses a BERT model adjusted on an enterprise collaboration domain corpus, taking the last layer of the BERT model. Vectors are used as semantic vectors, and semantic vector similarity is calculated using cosine similarity, with the formula being: ; in the formula A semantic vector representing the description of an authorization event. A semantic vector representing an event description. This represents the dot product of two semantic vectors. and Let represent the L2 norms of the two semantic vectors respectively. The dimensions of the dot product and the L2 norm are the square roots of the sum of the squares of the dimensions of the semantic vectors. The ratio is a dimensionless value. The semantic vector similarity ranges from 0 to 1.
[0034] Temporal proximity is calculated based on semantic vector similarity. Temporal proximity reflects the closeness of the authorized event time and the event occurrence time of the business event node on the timeline. Let the authorized event time be... Business event nodes The time of the event was , and The units are all seconds. Time proximity is calculated using an exponential decay function, as shown in the formula: ; in the formula This represents the absolute difference between the authorized event time and the event occurrence time, in seconds. This represents the authorization matching time constant, in seconds. Based on the maximum reasonable delay between authorized events and business events in enterprise collaboration scenarios, which is 259,200 seconds (3 days), the time proximity is 1 when the time difference is 0 seconds, and 1 when the time difference is 259,200 seconds. It is approximately equal to 0.368, and the value of time proximity ranges from 0 to 1.
[0035] Event type consistency is guaranteed during the candidate set pre-screening stage. All business event nodes in the candidate business event node set have the same event type as the authorized event type, and the event type consistency value is 1. If no business event nodes with the same event type are selected during the candidate set pre-screening stage, the filtering conditions are relaxed, and business event nodes with inconsistent event types are included in the candidate set and the event type consistency is set to 0.
[0036] The comprehensive matching score is obtained by weighting and fusing semantic vector similarity, temporal proximity, and event type consistency. The formula is as follows: ; in the formula This indicates consistency of event types; the value is 1 when event types are consistent and 0 when they are inconsistent. and as well as These are the weights for semantic vector similarity, temporal proximity, and event type consistency, respectively. The value is 0.5. The value is 0.2. The value is 0.3, and the sum of the three weights is 1. The reason why the semantic vector similarity weight is higher than the temporal proximity weight and the event type consistency weight is that semantic matching is the main basis for determining the authorized anchor node, while temporal proximity and event type consistency are auxiliary constraints. All three features are dimensionless values, and the comprehensive matching degree after weighted fusion is a dimensionless value with a value range of 0 to 1.
[0037] Iterate through all business event nodes in the candidate business event node set and calculate the comprehensive matching degree. Select the business event node with the highest comprehensive matching degree as the candidate trigger node. The formula for determining the candidate trigger node is as follows: ; When the overall matching degree of a candidate trigger node is greater than the preset matching threshold of 0.7, the candidate trigger node is determined as the trigger node. When the overall matching degree of a candidate trigger node is less than or equal to 0.7, the semantic matching is deemed to have failed. After the semantic matching fails, the data authorization event is transferred to the manual review queue, and the administrator of the data provider manually designates the trigger node. The manual designation result is written back to the spatiotemporal knowledge graph and used as a training sample to update the semantic encoding model.
[0038] After a successful exact match or semantic match, the found or determined business event node is designated as the authorization anchor node. The authorization anchor node is the starting point for subsequent directed graph traversal. After the authorization anchor node is determined, the authorized subject identifier is associated with the authorization anchor node and stored. The association storage is achieved by creating an authorization relationship edge between the authorization anchor node and the authorized subject identifier in the graph database. The authorization relationship edge records the authorization event identifier and the authorization effective time. The authorization effective time is taken from the message publication time of the data authorization event. The authorized subject identifier is called in subsequent access request authentication and authorization change message push. During access request authentication, the requester identifier in the access request is read and compared with the authorized subject identifier associated with the authorization anchor node. Only when the requester identifier and the authorized subject identifier are consistent will the determination of the spatiotemporal causal reachability distance continue. When the authorization scope is automatically expanded, the authorization change message is pushed to the corresponding enterprise entity according to the authorized subject identifier associated with the authorization anchor node.
[0039] The two-level matching mechanism, which combines exact matching and semantic matching, enables the determination of authorized anchor nodes through hash indexes during the identification specification process. The system achieves rapid location of time complexity by integrating semantic vector similarity, temporal proximity, and event type consistency in the event of non-standard or missing identifiers. The introduction of temporal proximity avoids the misselection of semantically similar but time-disparate business event nodes as authorized anchor nodes. The introduction of event type consistency further constrains the matching range. The three features complement each other, enabling the determination of authorized anchor nodes to maintain a matching accuracy of over 0.9 in enterprise multi-entity collaborative scenarios. After the authorized anchor node is determined, the association storage between the authorized entity identifier and the authorized anchor node provides the subject basis for subsequent access request authentication and automatic expansion of the authorization scope.
[0040] After the authorized anchor node is determined, the reachable distance threshold needs to be determined based on the sensitivity level of the data involved in the data authorization event. The reachable distance threshold is the critical value used to determine whether a data entity node is within the authorization range during subsequent directed graph traversal. The determination of the reachable distance threshold is divided into two steps: sensitivity level identification and threshold mapping.
[0041] Parse the data identifier and data content summary of the data involved from the message body of the data authorization event. The data identifier is a unique number assigned to the data by the data provider, and the data content summary is a textual description of the data content by the data provider. The data content summary usually includes information such as data type, data subject, and data time range.
[0042] Based on the data identifier, the corresponding data entity node is located in the spatiotemporal knowledge graph. When the data entity node is written to the graph database, a hash index is created using the data identifier as the key. The hash index is then used to... Within the time complexity, the data entity node is located. After location, the data content features extracted along with the data entity node from the business data are read. The data content features include a list of data field names, the number of data rows, the number of data columns, and the data format. The data content features are stored in the attributes of the data entity node in the form of structured key-value pairs.
[0043] After the data content summary and data content features are read, they are input into a pre-trained sensitivity level recognition model. The sensitivity level recognition model adopts a dual-path fusion architecture, with the first path being the summary semantic encoding path and the second path being the feature embedding path.
[0044] The abstract semantic encoding path inputs a data content summary into a BERT model adjusted on a corpus in the field of enterprise data security, and takes the last layer of the BERT model. The vector, as a semantic vector for the summary, is denoted as... , The dimension is 768.
[0045] The feature embedding path maps discrete features in the data content features into dense vectors through an embedding layer, and directly inputs standardized continuous features after transformation by a multilayer perceptron to obtain the feature embedding vector, denoted as . , The dimension is 128.
[0046] The summary semantic vector and feature embedding vector are fused using a cross-attention mechanism. This mechanism uses the summary semantic vector as the query and the feature embedding vector as the key and value. The formula for calculating the fusion weight is as follows: ; in the formula and The weight matrix is a learnable matrix. For query vector, For key vectors, Let be the dimension of the key vector. The value is 128. The scaling factor is used to prevent the dot product result from exceeding the numerical range, which would cause the gradient of the softmax function to approach zero. The softmax function normalizes the weights into a probability distribution. For attention weights, It is a dimensionless value.
[0047] The formula for calculating the fusion vector is as follows: ; in the formula The weight matrix is a learnable matrix. For value vectors, The attention-weighted feature information is added to the summary semantic vector to obtain the fusion vector. The fusion vector contains both semantic information of the data content summary and structural information of the data content features.
[0048] The fused vector, after being transformed by the output layer, is then processed by the softmax function to obtain the sensitivity level probability distribution, as shown in the formula. ; in the formula This is the output layer weight matrix. This is the output layer bias vector. For the probability distribution of sensitivity levels, This represents the total number of sensitivity levels, which are divided into five levels: Level 1 is Public, Level 2 is Internal, Level 3 is Secret, Level 4 is Confidential, and Level 5 is Top Secret. This indicates that the data in question belongs to the first... The probability of each level is used to determine the sensitivity level of the data involved, and the level with the highest probability is selected as the sensitivity level. The formula is as follows: ; When the maximum probability is less than 0.5, the data involved is marked as having a pending sensitivity level and sent for manual review. The results of the manual review are used as training samples to update the sensitivity level identification model. When the maximum probability is greater than or equal to 0.5, the sensitivity level is determined as the level with the highest probability.
[0049] After the sensitivity level is determined, a pre-established level threshold mapping table is queried. The level threshold mapping table stores the correspondence between 5 sensitivity levels and 5 baseline reachable distance thresholds. Level 1 Public corresponds to a baseline reachable distance threshold of 10, Level 2 Internal corresponds to a baseline reachable distance threshold of 8, Level 3 Secret corresponds to a baseline reachable distance threshold of 5, Level 4 Confidential corresponds to a baseline reachable distance threshold of 3, and Level 5 Top Secret corresponds to a baseline reachable distance threshold of 1. The baseline reachable distance threshold is a dimensionless integer value. The larger the baseline reachable distance threshold, the wider the authorized scope.
[0050] Based on the baseline reachable distance threshold, a further adjustment for cascading propagation risk is introduced. Cascading propagation risk reflects the range of data entity nodes propagating outward along temporal causal edges and spatial topological edges in the spatiotemporal knowledge graph. The wider the propagation range, the greater the impact of data leakage. Therefore, the authorized scope should be narrowed, and the data entity node to which the access point is set is... Data entity nodes The out-degree in the spatiotemporal knowledge graph is The out-degree is from the data entity node. The number of adjacent nodes directly reachable from the starting point along the causal direction of the temporal causal edge and the adjacency direction of the spatial topological edge, and the total number of nodes in the spatiotemporal knowledge graph. The formula for calculating the cascading propagation risk coefficient is: ; in the formula and Both are the number of nodes, and the ratio is a dimensionless value ranging from 0 to 1. When the out-degree is 0, the cascading propagation risk coefficient is 0. When the out-degree is equal to the total number of nodes minus 1, the cascading propagation risk coefficient approaches 1.
[0051] The formula for calculating the final reachable distance threshold is as follows: ; in the formula Sensitivity levels in the level threshold mapping table The corresponding baseline reachable distance threshold, Indicates the risk contraction coefficient. The value is 0.3. The calculation result is rounded down to an integer. When the calculation result is less than 1, it is taken as 1. The reachable distance threshold is a dimensionless integer value. When the cascading propagation risk coefficient is 0, the final reachable distance threshold is equal to the baseline reachable distance threshold. The larger the cascading propagation risk coefficient, the smaller the final reachable distance threshold.
[0052] Once the final reachable distance threshold is determined, it is passed to the directed graph traversal stage. During the directed graph traversal, the spatiotemporal causal reachable distance of each data entity node is compared with the final reachable distance threshold. Data entity nodes whose spatiotemporal causal reachable distance is less than or equal to the final reachable distance threshold are within the authorized range, while data entity nodes whose spatiotemporal causal reachable distance is greater than the final reachable distance threshold are not within the authorized range.
[0053] After determining the reachability threshold, a directed graph traversal is performed starting from the authorized anchor node. The purpose of the directed graph traversal is to calculate the shortest path cost from each data entity node in the spatiotemporal knowledge graph to the authorized anchor node. The shortest path cost is the spatiotemporal causal reachability distance. The directed graph traversal is implemented using the Dijkstra algorithm based on a priority queue. Initialization is performed before the traversal begins. Initialization includes creating a path cost record table for each node in the spatiotemporal knowledge graph. The path cost record table uses the node identifier as the key and the path cost value as the value. The path cost of the authorized anchor node is initialized to 0, and the path cost of all other nodes is initialized to infinity. Infinity is represented in a computer by a value greater than any possible path cost. In this invention, it is set to 999999. At the same time, a min-heap priority queue is initialized as the traversal queue. The min-heap priority queue is sorted in ascending order of node path cost. The authorized anchor node is added to the traversal queue.
[0054] After initialization, the traversal loop is entered. Each time, the node with the minimum path cost is taken from the traversal queue as the current node. After taking the current node, the neighboring nodes of the current node are searched along the causal direction of the temporal causal edge and the adjacency direction of the spatial topology edge. The neighboring node is a node that can be directly reached from the current node through a temporal causal edge or a spatial topology edge. For each neighboring node, the edge type between the current node and the neighboring node is determined. The edge type is divided into two types: temporal causal edge and spatial topology edge.
[0055] When the edge between the current node and its adjacent node is a temporally causal edge, both the current node and the adjacent node are business event nodes. The event occurrence times of the two business event nodes are read. These event occurrence times are extracted along with the business event nodes from the business data, and are in seconds. The difference between the two event occurrence times is calculated, also in seconds. This time difference is then input into a pre-established time difference level table to retrieve the normalized level of the event time difference. The time difference level table is established using a logarithmic hierarchical method, and the calculation formula for the logarithmic hierarchical method is as follows: ; in the formula This indicates the time difference between events, in seconds. Indicates the reference time interval. The value is 3600 seconds, which is equivalent to 1 hour. and The dimensions are consistent, and the ratio is a dimensionless value. It is a logarithmic function with base 2. This is the floor function. This indicates the maximum level and has a value of 5. The normalization level is a dimensionless integer representing the time difference between events. The normalization level is 1 when the time difference is between 0 and 3600 seconds, 2 when it is between 3600 and 10800 seconds, 3 when it is between 10800 and 25200 seconds, 4 when it is between 25200 and 54000 seconds, and 5 when it is above 54000 seconds. The logarithmic classification results in a faster increase in level when the time difference is small and a slower increase in level when the time difference is large, which conforms to the nonlinear law of causal propagation decaying over time. The normalization level of the spatial distance between entities corresponding to the temporal causal edge is 0.
[0056] The temporal causal edge records the causal relationship confidence score. This confidence score is calculated by the causal relationship discrimination model and stored in the edge attributes when the temporal causal edge is established. The path cost of a single temporal causal edge is obtained by dividing the sum of the normalized levels of the event time difference and the normalized levels of the entity spatial distance by the causal relationship confidence score. The formula is as follows: ; in the formula Indicates the confidence level of a causal relationship. This is a dimensionless value, ranging from 0 to 1. The lower the confidence level of the causal relationship, the greater the cost of a single edge path, indicating that edges with low confidence levels of causal relationships are assigned a higher cost in the authorized distance calculation.
[0057] When the edge between the current node and its neighboring node is a spatial topology edge, both the current node and the neighboring node are spatial location nodes. The spatial coordinates of the two spatial location nodes are read. These coordinates are the location information extracted along with the spatial location nodes from the business data. The spatial coordinates include latitude and longitude values. The entity spatial distance is calculated based on these two coordinates, in meters. The entity spatial distance is then input into a pre-established spatial distance level table to obtain the normalized level of the entity spatial distance. The spatial distance level table is established using a logarithmic hierarchical method, and the calculation formula is as follows: ; in the formula Represents spatial distance in meters. Indicates the reference spatial distance. The value is 1000 meters. and The dimensions are consistent, and the ratio is a dimensionless value. The normalization level for the spatial distance of entities is a dimensionless integer. The normalization level is 1 when the spatial distance of entities is between 0 and 1000 meters, 2 when it is between 1000 and 3000 meters, 3 when it is between 3000 and 7000 meters, 4 when it is between 7000 and 15000 meters, and 5 when it is above 15000 meters. The normalization level for the event time difference corresponding to the spatial topological edge is 0.
[0058] The adjacency strength is recorded on the spatial topology edge. This strength is calculated from spatial distance decay and directional consistency when the spatial topology edge is established and stored in the edge attributes. The path cost of a single edge is obtained by dividing the sum of the normalized level of the event time difference and the normalized level of the entity spatial distance by the adjacency strength. The formula is as follows: ; in the formula Indicates adjacency strength. It is a dimensionless value, ranging from 0 to 1. The lower the adjacency strength, the greater the cost of a single edge path.
[0059] After calculating the path cost of a single edge, the cumulative path cost is obtained by adding the path cost of the current node to the path cost of the single edge, using the following formula: ; in the formula This represents the path cost recorded for the current node. For temporal causal edge taking For spatial topology edge taking , This represents the cumulative path cost from the authorized anchor node through the current node to the adjacent node. Both the path cost and the cumulative path cost are dimensionless values.
[0060] The cumulative path cost is compared with the path cost recorded by the neighboring node. If the neighboring node has not recorded a path cost (i.e., the path cost is still infinite), or the cumulative path cost is less than the path cost recorded by the neighboring node, the path cost of the neighboring node is updated to the cumulative path cost, and the neighboring node is added to the traversal queue. If the neighboring node is already in the traversal queue, the position of the neighboring node in the min-heap is updated to maintain the min-heap property. If the cumulative path cost is greater than or equal to the path cost recorded by the neighboring node, neither update nor add to the queue.
[0061] Repeat the steps from retrieving the current node to updating the path cost. Each time, the node with the smallest path cost is retrieved from the traversal queue and expanded until the traversal queue is empty. An empty traversal queue means that the shortest path cost has been calculated for all nodes reachable from the authorized anchor node.
[0062] After the traversal is complete, the path cost recorded in the path cost record table for each data entity node is the shortest path cost from the authorized anchor node to each data entity node. The shortest path cost is determined as the spatiotemporal causal reachability distance of the corresponding data entity node. The spatiotemporal causal reachability distance is a dimensionless value. The smaller the spatiotemporal causal reachability distance, the closer the data entity node is to the authorized anchor node in terms of temporal causality and spatial topology. The larger the spatiotemporal causal reachability distance, the more distant the data entity node is from the authorized anchor node in terms of temporal causality and spatial topology. The spatiotemporal causal reachability distance is passed to the access request determination stage and compared with the reachability distance threshold.
[0063] Directed graph traversal based on priority queues ensures that each expanded node is the one with the minimum path cost. When a node is removed from the traversal queue, its path cost is already the shortest path cost and does not need to be updated again. The time difference level table and spatial distance level table adopt logarithmic hierarchical rather than nonlinear hierarchical hierarchical, so that the differences in close distance in time and space are reflected in the level while the differences in far distance are compressed, which conforms to the nonlinear decay law of causal propagation. Causal relationship confidence and adjacency strength are incorporated as edge weights into the path cost calculation, so that edges with low causal relationship confidence or low adjacency strength are assigned higher costs in the authorized distance calculation. The authorized range extends along the paths with high causal relationship confidence and high adjacency strength. The spatiotemporal causal reachability distance reflects not only topological distance but also causal strength and spatial compactness.
[0064] In directed graph traversal, the path cost of a single edge is obtained by adding the normalized level of the event time difference and the normalized level of the entity spatial distance. The calculation of the normalized level requires a preset time base value, a preset distance base value, and a preset level upper limit. The preset time base value and the preset distance base value are adaptively determined based on the statistical characteristics of existing edges in the spatiotemporal knowledge graph, and the preset level upper limit is fixed at 10.
[0065] The preset time base value is determined by traversing all temporal causal edges in the spatiotemporal knowledge graph, reading the event occurrence times of the two business event nodes connected by each temporal causal edge, calculating the event time difference for each pair of business event nodes, and taking the median of all event time differences as the preset time base value. The formula is as follows: ; in the formula Indicates the first The time difference between two business event nodes connected by a time-series causal edge, in seconds. This represents the total number of temporally ordered causal edges. This indicates the median operation. This represents the preset time base value, in seconds. The median is not affected by extreme values and can reflect the typical time interval for business event transmission in enterprise collaboration scenarios.
[0066] The preset distance benchmark value is determined by traversing all spatial topological edges in the spatiotemporal knowledge graph, reading the spatial coordinates of the two spatial location nodes connected by each spatial topological edge, calculating the entity spatial distance for each pair of spatial location nodes based on the spatial coordinates, and taking the median of all entity spatial distances as the preset distance benchmark value. The formula is as follows: ; in the formula Indicates the first The spatial distance between two spatially located nodes connected by a spatial topological edge, in meters. This represents the total number of edges in the spatial topology. This indicates the preset distance reference value, in meters.
[0067] The preset time baseline value and preset distance baseline value are calculated once when the spatiotemporal knowledge graph is initialized, and recalculated when the incremental update of the spatiotemporal knowledge graph reaches a preset ratio. The preset ratio is 0.2, that is, when the number of new edges reaches 20% of the number of existing edges, the baseline value is recalculated.
[0068] After determining the baseline value, the normalization level of the event time difference is calculated. The event occurrence time of two adjacent business event nodes is obtained. The event occurrence time is the time information extracted along with the business event node from the business data. Both event occurrence times are in seconds. The difference between the two event occurrence times is calculated, and the event time difference is in seconds. The event time difference is divided by the preset time baseline value to obtain the time difference ratio. The formula is as follows: ; in the formula This indicates the time difference between events, in seconds. This represents the preset time base value, in seconds, with the numerator and denominator having the same dimensions. The time difference ratio is a dimensionless value. The time difference ratio is rounded up using a ceiling function, which rounds the time difference ratio to the nearest integer towards positive infinity. After rounding up, the ratio is limited to within a preset upper limit, resulting in the normalized level of the event time difference. The formula is as follows: ; in the formula The ceiling function represents rounding up. This indicates the preset level cap, with a value of 10. The normalization level of the event time difference is represented by a dimensionless positive integer. When the event time difference is 0 seconds, the time difference ratio is 0, rounded up to 0, and the normalization level of the event time difference is 0. When the event time difference is greater than 0 and less than or equal to the preset time base value, the time difference ratio is between 0 and 1, rounded up to 1, and the normalization level of the event time difference is 1. When the event time difference is more than 10 times the preset time base value, the time difference ratio is greater than or equal to 10, and the normalization level of the event time difference is limited to 10.
[0069] The normalization level of entity spatial distance is calculated using the same method. The spatial coordinates of two adjacent spatial location nodes are obtained. These spatial coordinates are the location information extracted along with the spatial location nodes from the business data. The spatial coordinates include latitude and longitude values. The entity spatial distance is calculated using the semi-versus formula based on the two spatial coordinates. The entity spatial distance is in meters. The distance ratio is obtained by dividing the entity spatial distance by a preset distance benchmark value. The formula is as follows: ; in the formula Represents spatial distance in meters. This represents a preset distance baseline value, in meters, with the numerator and denominator having the same dimensions. The distance ratio is a dimensionless value. The distance ratio is rounded up and limited to a preset upper limit to obtain the normalized level of the physical space distance. The formula is as follows: ; in the formula The normalization level of the physical spatial distance is represented by a dimensionless positive integer. When the physical spatial distance is 0 meters, the distance ratio is 0, rounded up to 0, and the normalization level of the physical spatial distance is 0. When the physical spatial distance is greater than 0 and less than or equal to the preset distance benchmark value, the distance ratio is between 0 and 1, rounded up to 1, and the normalization level of the physical spatial distance is 1. When the physical spatial distance is more than 10 times the preset distance benchmark value, the distance ratio is greater than or equal to 10, and the normalization level of the physical spatial distance is limited to 10.
[0070] For temporally causal edges, the normalization level of the event time difference is calculated using the formula above, and the normalization level of the entity spatial distance is 0. For spatial topological edges, the normalization level of the entity spatial distance is calculated using the formula above, and the normalization level of the event time difference is 0. The path cost of a single edge is obtained by adding the normalization level of the event time difference to the normalization level of the entity spatial distance, using the following formula: ; in the formula The path cost of a single edge is represented by a dimensionless positive integer. The path cost of a temporally causal edge is equal to the normalized level of the event time difference, and the path cost of a spatially topological edge is equal to the normalized level of the entity spatial distance. During directed graph traversal, there may be multiple paths from an authorized anchor node to a data entity node. Each path consists of several temporally causal edges and spatially topological edges. The sum of the path costs of each path is the sum of the path costs of all individual edges on that path, as shown in the formula: ; in the formula Indicates the number of edges on the path. Indicates the first path The path cost of a single edge. This represents the cumulative sum of path costs, and is a dimensionless value.
[0071] For each data entity node, retain the sum of the path costs of all paths from the authorized anchor node to the data entity node that has the minimum sum. The shortest path cost is determined through relaxation updates. Let the current node be... Adjacent nodes are Current node The path cost is ,side The cost of a single edge path is Passing through the current node Reaching adjacent nodes The cost of the candidate path is When adjacent nodes The path cost was not recorded or the cost of the candidate path was less than that of the adjacent nodes. When the path cost has been recorded, neighboring nodes will be considered. The path cost is updated to the candidate path cost, and the formula is: ; After the directed graph traversal is completed, the path cost is recorded for each data entity node. This is the shortest path cost from the authorized anchor node to the data entity node. The shortest path cost is determined as the spatiotemporal causal reachability distance of the data entity node. The spatiotemporal causal reachability distance is passed to the access request determination stage and compared with the reachability distance threshold.
[0072] The median adaptive determination of the benchmark value enables the normalization level to adapt to the time rhythm and spatial scale of different enterprise collaboration scenarios. The business rhythm of manufacturing based on days and the business rhythm of finance based on hours are respectively given different preset time benchmark values. The same-city collaboration and cross-province collaboration are respectively given different preset distance benchmark values. Rounding up ensures that when the time difference is greater than 0 or the distance is greater than 0, at least 1 level of path cost is contributed. This avoids the path cost being 0 when the time difference or distance approaches 0, which would lead to unconstrained expansion of the authorization scope. The upper limit of the level uniformly limits the time difference or distance that exceeds the benchmark value by more than 10 times to 10 levels to avoid extreme values that would cause the path cost to be unbalanced. The relaxation update of the shortest path cost ensures that each data entity node retains the minimum path cost accumulation from the authorized anchor node. The spatiotemporal causal reachability distance reflects the shortest causal path distance between the data entity node and the authorized anchor node.
[0073] After the directed graph traversal is completed, the spatiotemporal causal reachability distance of each data entity node has been calculated and stored in the graph database. When a data requester initiates cross-enterprise data access, the collaborative governance platform receives the data requester's access request. The access request is transmitted in a structured message format, carrying the requested data identifier, the requester identifier, and the access request time. The requested data identifier is the unique number of the data that the data requester wishes to access, and the requester identifier is the unified social credit code of the enterprise to which the data requester belongs.
[0074] Upon receiving an access request, the request is first parsed. The request data identifier and the requester identifier are extracted from the access request through field mapping. After parsing, the requester is authenticated. The requester authentication compares the requester identifier with the authorized entity identifier stored in the authorization anchor node. If the requester identifier and the authorized entity identifier match, the authentication is successful. If the requester identifier and the authorized entity identifier do not match, the authentication fails. If the authentication fails, an access denial message containing "the requester is not authorized" is returned directly, and the process does not proceed to the next judgment process.
[0075] After successful authentication, the corresponding data entity node is located in the spatiotemporal knowledge graph based on the requested data identifier. When the data entity node is written to the graph database, a hash index is created using the data identifier as the key. The hash index is then used to... Within time complexity, the system locates the data entity node. If the data entity node is not found based on the requested data identifier, it returns a denied access message containing "requested data does not exist". After finding the data entity node, it reads the spatiotemporal causal reachability distance calculated and stored in the directed graph traversal. The spatiotemporal causal reachability distance is the shortest path cost from the authorized anchor node to the data entity node. The spatiotemporal causal reachability distance is compared with the reachability distance threshold. The reachability distance threshold is determined after sensitivity level identification and cascading propagation risk adjustment and is stored in the attributes of the authorized anchor node.
[0076] When the spatiotemporal causal reachability distance is less than or equal to the reachability distance threshold, the access request is deemed successful and an authorization token is generated. The authorization token is the credential for the data requester to access authorized data within the token's validity period. The generation process of the authorization token includes two steps: token content assembly and digital signature.
[0077] The token content includes a token identifier, a requester identifier, a request data identifier, a spatiotemporal causal reachability distance, a token issuance time, and a token validity period. The token identifier is generated using a universally unique identifier, a 128-bit identifier, ensuring that each generated authorization token has a unique identifier. The token issuance time is taken from the current system time of the collaborative governance platform. The token validity period is dynamically calculated based on the spatiotemporal causal reachability distance. The token validity period is negatively correlated with the spatiotemporal causal reachability distance; the smaller the spatiotemporal causal reachability distance, the longer the token validity period, and vice versa. The formula is as follows: ; in the formula This indicates the maximum token validity period, with a value of 86400 seconds, or 24 hours. This indicates the minimum token validity period, with a value of 3600 seconds, or 1 hour. This represents the spatiotemporal causal reachability distance of a data entity node, and is a dimensionless value. This represents the reachable distance threshold, which is a dimensionless value. and The ratio is a dimensionless value. The unit is seconds. The numerator is seconds multiplied by a dimensionless value, and the denominator is also a dimensionless value. The result is in seconds. This indicates the token's validity period in seconds. When the time-space causal reachability is 0, the token's validity period is 86400 seconds. When the time-space causal reachability is equal to the reachability threshold, the token's validity period is 3600 seconds. The token's validity period is an integer number of seconds.
[0078] After the token content is assembled, the authorization token is digitally signed. The digital signature is implemented using an asymmetric encryption algorithm. A key pair is pre-generated for the collaborative governance platform, including a signing private key and a verification public key. The signing private key is securely stored by the collaborative governance platform and not disclosed to external parties, while the verification public key is distributed to each enterprise entity. The digital signature process involves concatenating the token content into a plaintext string according to the field order, calculating the SHA256 hash value of the plaintext string to obtain a digest, and encrypting the digest using the signing private key to obtain the digital signature. The formula is as follows: ; in the formula This represents the plaintext string resulting from concatenating the token content. This refers to the SHA256 hash function. Indicates the use of a signing private key The signature operation, This indicates a digital signature, which is appended to the authorization token and returned to the data requester.
[0079] After receiving the authorization token, the data requester carries the authorization token when accessing the corresponding data entity node. When the collaborative governance platform receives subsequent access requests, it first verifies the digital signature using the verification public key. The verification process involves decrypting the digital signature using the verification public key to obtain a digest, and simultaneously recalculating the SHA256 hash value of the token content. The two digests are compared to see if they match. If the digests match, the digital signature verification is successful; if the digests do not match, the authorization token has been tampered with and access is denied. After the digital signature verification is successful, the token validity period is checked. The token issuance time is added to the token validity period to obtain the token expiration time. If the current system time has not exceeded the token expiration time, the token validity period verification is successful; if the current system time has exceeded the token expiration time, the authorization token has expired and access is denied. After both the digital signature and the token validity period are verified, the data requester is allowed to access the data entity node corresponding to the requested data identifier.
[0080] When the spatiotemporal causal reachability distance is greater than the reachability distance threshold, the access request is deemed unsuccessful. An access rejection message containing the rejection reason is generated and returned to the data requester. The rejection reason includes the spatiotemporal causal reachability distance and reachability distance threshold of the data entity node requested by the data requester, as well as the judgment result. The format of the rejection reason is "Spatiotemporal causal reachability distance is X, exceeding the reachability distance threshold Y, access is rejected", where X is the value of the spatiotemporal causal reachability distance and Y is the value of the reachability distance threshold. The access rejection message also includes the identifier of the data entity node adjacent to the data entity node to be accessed and whose spatiotemporal causal reachability distance is less than or equal to the reachability distance threshold as an access suggestion. The access suggestion is determined by searching in the spatiotemporal knowledge graph for data entity nodes that are directly connected to the data entity node to be accessed by an edge and whose spatiotemporal causal reachability distance is less than or equal to the reachability distance threshold. When there is no data entity node that meets the conditions, the access suggestion field is empty.
[0081] The dynamic calculation method, which negatively correlates token validity with spatiotemporal causal reachability, allows data closely related to the authorization reason to have a longer access window, while data less related to the authorization reason has a shorter access window. This ensures business access for the data requester while shortening the exposure time of the less related data. Digital signatures ensure that the authorization token is not tampered with during transmission, and the signing private key is kept by the collaborative governance platform, avoiding the need for each enterprise entity to manage keys separately. The return of spatiotemporal causal reachability and reachability threshold in the access denial message allows the data requester to know the reason for the access denial. Access suggestions provide the data requester with accessible alternative data, reducing the situation where the data requester repeatedly initiates access requests.
[0082] Once the spatiotemporal knowledge graph is constructed, it is not static. New business data is continuously generated during enterprise collaboration. After node and edge extraction, the new business data is incrementally written into the spatiotemporal knowledge graph. Incremental writing may introduce new business event nodes, data entity nodes, and spatial location nodes, as well as new temporal causal edges and spatial topological edges. New nodes and edges may provide existing data entity nodes with shorter paths from authorized anchor nodes, or they may cause new data entity nodes to fall into the authorized range. Therefore, it is necessary to recalculate the spatiotemporal causal reachability distance of the affected nodes after incremental updates.
[0083] The collaborative governance platform monitors incremental update events of the spatiotemporal knowledge graph through the change notification mechanism of the graph database. The graph database publishes incremental update events when nodes or edges are written. The incremental update events include a list of newly added node identifiers and a list of newly added edges. Each newly added edge in the list records the start node identifier, the end node identifier, and the edge type.
[0084] Upon receiving an incremental update event, newly added nodes and edges are identified. Newly added nodes are those corresponding to the list of newly added node identifiers in the incremental update event, and newly added edges are those corresponding to the list of newly added edges in the incremental update event. Determining affected nodes involves two steps: First, all newly added nodes are added to the affected node set. Second, each newly added edge is traversed, checking its starting and ending nodes. If one end of the newly added edge is a newly added node and the other end is an existing node, the existing node is added to the affected node set. If both ends of the newly added edge are either newly added nodes or both are existing nodes, then the newly added nodes at both ends have already been added in the first step, and the existing nodes are not added. The formula for the affected node set is: ; in the formula Represents the set of newly added nodes. This represents an existing set of nodes. This represents the newly added set of edges. Indicates a starting node as Termination node is The newly added edge, This represents the set of affected nodes. After determining the set of affected nodes, a local subgraph is constructed. The node set of the local subgraph includes authorized anchor nodes and affected nodes. The edge set of the local subgraph includes newly added edges connecting nodes in the local subgraph and existing edges whose endpoints are both in the local subgraph node set. The formula is... ; ; in the formula Indicates the authorized anchor node, This represents the set of all edges in a spatiotemporal knowledge graph. This represents the set of nodes in a local subgraph. Let the set of edges of a local subgraph be denoted as . When it is found during the traversal that the path from the authorized anchor node to the affected node passes through a node that is not in the local subgraph node set, the node on the path is added to the local subgraph node set and the edge connecting these nodes is added to the local subgraph edge set.
[0085] After constructing the local subgraph, a directed graph traversal is performed on it. The traversal starts from the authorized anchor node and proceeds along the causal direction of the temporal causal edges and the adjacency direction of the spatial topological edges. Before traversal, path costs are initialized: the path cost of the authorized anchor node is initialized to 0; the path cost of newly added nodes among the affected nodes is initialized to infinity; the path cost of existing nodes among the affected nodes is initialized to the spatiotemporal causal reachable distance recorded before the incremental update; and the path cost of unaffected nodes added to the local subgraph is initialized to the spatiotemporal causal reachable distance recorded before the incremental update. Existing nodes are initialized with their original spatiotemporal causal reachable distance because newly added nodes and edges can only provide new paths and will not delete or change existing paths; the shortest path cost of existing nodes can only become shorter, not longer. A min-heap priority queue is initialized, and authorized anchor nodes and existing nodes among the affected nodes are added to the priority queue.
[0086] During the traversal, the node with the smallest path cost is taken from the priority queue as the current node. The adjacent nodes of the current node are searched along the temporal causal edges and spatial topology edges in the local subgraph. For each edge, the path cost of a single edge is calculated. The path cost of a single edge is the sum of the normalized level of the event time difference and the normalized level of the entity spatial distance. The calculation method of the normalization level is the same as that of the full directed graph traversal, that is, the event time difference is divided by the preset time base value and rounded up and restricted to the upper limit of the preset level, and the entity spatial distance is divided by the preset distance base value and rounded up and restricted to the upper limit of the preset level. The normalized level of the entity spatial distance of the temporal causal edge is 0, and the normalized level of the event time difference of the spatial topology edge is 0.
[0087] The candidate path cost is obtained by adding the path cost of the current node to the path cost of a single edge. This candidate path cost is then compared to the path costs already recorded by neighboring nodes. If the candidate path cost is less than the path cost already recorded by a neighboring node, the neighboring node's path cost is updated to the candidate path cost, and the neighboring node is added to a priority queue. If the candidate path cost is greater than or equal to the path cost already recorded by a neighboring node, neither update nor add the node to the queue. The relaxation update formula is as follows: ; in the formula Indicates the current node Path cost, Representing an edge The cost of a single edge path, Indicates adjacent nodes The path cost.
[0088] In local subgraph traversal, there is a pruning condition. When the current node is an unaffected node added to the local subgraph, the path cost of the unaffected node is not updated in this traversal. It is only used as a transit node in the path and does not continue to expand from the unaffected node to nodes not in the local subgraph. When the current node is an existing node among the affected nodes and the path cost of the current node has not been updated in this traversal, that is, the path cost of the current node is still equal to the spatiotemporal causal reachability distance before the incremental update, it does not continue to expand from the current node to adjacent nodes. The reason is that the path cost of the current node has not become shorter, and the candidate path cost to the adjacent node through the current node will not be less than the existing path cost of the adjacent node. Continuing to expand will not produce a shorter path. The pruning condition reduces the computational cost of local subgraph traversal.
[0089] Repeat the steps of retrieving the current node, finding neighboring nodes, calculating path costs, and performing relaxation updates until the priority queue is empty. After traversal, classify the data entity nodes in the affected nodes. For newly added data entity nodes in the affected nodes, which have no spatiotemporal causal reachability before the incremental update, the shortest path cost calculated by the local subgraph traversal is determined as the spatiotemporal causal reachability of the newly added data entity node and stored in the data entity node's attributes. For existing data entity nodes in the affected nodes, compare the recalculated shortest path cost in the local subgraph traversal with the original spatiotemporal causal reachability of the existing data entity node. When the recalculated shortest path cost is less than the original spatiotemporal causal reachability, update the existing data entity node's spatiotemporal causal reachability to the recalculated shortest path cost. When the recalculated shortest path cost is greater than or equal to the original spatiotemporal causal reachability, keep the original spatiotemporal causal reachability unchanged. The formula for the update condition is as follows: ; in the formula This represents the cost of the shortest path calculated by traversing a local subgraph. This represents the spatiotemporal causal reachability recorded before the incremental update. This represents the updated spatiotemporal causal reachability. The updated spatiotemporal causal reachability is passed to the automatic authorization scope expansion process and compared with the reachability threshold to determine whether newly added data entity nodes are automatically included in the authorization scope and whether the authorization status of existing data entity nodes has changed.
[0090] Local subgraph traversal avoids re-performing a full directed graph traversal of all nodes in the spatiotemporal knowledge graph after each incremental update. The affected node set only includes newly added nodes and existing nodes directly adjacent to the newly added nodes. The computational scope is reduced from the entire graph to the local subgraph. Existing nodes use their original spatiotemporal causal reachability distance as the initial value to ensure that incremental updates do not lose existing computational results. Pruning conditions further reduce redundant relaxation operations. The characteristic that newly added nodes and edges can only provide shorter paths means that the update logic only needs to compare the cost of the new and old paths. Incremental updates based on spatiotemporal causal reachability distance ensure that the authorization scope is dynamically adjusted with the growth of the spatiotemporal knowledge graph.
[0091] After the spatiotemporal causal reachability distance of newly added data entity nodes in incremental updates is calculated, it is necessary to determine whether the newly added data entity nodes should be automatically included in the authorization scope based on the comparison result between the spatiotemporal causal reachability distance and the reachability distance threshold. Automatic inclusion in the authorization scope allows the authorized party to access the newly added data that is closely related to the authorization reason in terms of temporal causality and spatial topology without the need for the data provider to approve it one by one after the authorization anchor node is determined.
[0092] Read the spatiotemporal causal reachability of the newly added data entity nodes recalculated during the local subgraph traversal, compare the spatiotemporal causal reachability with the reachability threshold, which is stored in the attribute of the authorized anchor node, and the comparison result is divided into two cases.
[0093] The first scenario involves a spatiotemporal causal reachability distance less than or equal to the reachability threshold. In this case, an authorization flag is set on the newly added data entity node. The authorization flag is stored as a key-value pair in the attributes of the new data entity node. The authorization flag includes an authorization status field, an authorization anchor node identifier field, and an authorization time field. The authorization status field is set to true to indicate authorization. The authorization anchor node identifier field records the node identifier of the authorization anchor node. The authorization time field takes the current system time of the collaborative governance platform. The formula for setting the authorization flag is as follows: ; in the formula Indicates the addition of a new data entity node The spacetime causality can reach a distance. Indicates the reachable distance threshold. This indicates an indicator function that takes the value 1 when the condition is true and 0 when the condition is false. This indicates that an authorization flag has been set. This indicates that no authorization flag is set.
[0094] After the authorization flag is set, the data identifier of the newly added data entity node is added to the authorized data list. The data identifier is a unique identifier assigned to each data entity node when extracting data entity nodes from business data. The authorized data list is a list of identifiers of authorized data entity nodes stored in association with the authorized anchor node. The authorized data list is initialized when the authorized anchor node is determined. The initial authorized data list contains the data identifiers of data entity nodes whose spatiotemporal causal reachability distance is less than or equal to the reachability distance threshold during the full directed graph traversal. Before adding the data identifier to the authorized data list, it is first checked whether the data identifier already exists in the authorized data list. The check method is to create a hash set for the authorized data list, using the data identifier as the key. The system performs deduplication within time complexity, ensuring that data identifiers are not added repeatedly if they already exist, and appended to the authorized data list if they do not exist. The deduplication process guarantees the idempotency of authorized change messages, and duplicate incremental update events will not cause the same data identifier to be added to the authorized data list repeatedly.
[0095] After a data identifier is added to the authorized data list, the version number of the authorized data list is updated. The version number increments by 1 each time, using the following formula: ; The version number is used by the authorized party to identify the update status of the authorized data list. After the authorized data list is updated, the authorized party identifier associated with the authorized anchor node is read. The authorized party identifier is the authorized entity identifier parsed from the data authorization event that triggered the authorized anchor node. The authorized party identifier is associated with and stored with the authorized anchor node when the authorized anchor node is determined. The authorized party identifier and the data identifier newly added to the authorized data list are assembled into an authorization change message. The authorization change message includes a message type field, an authorized party identifier field, a data identifier field, a spatiotemporal causal reachability field, a change time field, and a change sequence number field. The message type field is set to "Authorization Added". The spatiotemporal causal reachability field records the spatiotemporal causal reachability of the newly added data entity node. The change time field takes the current system time of the collaborative governance platform. The change sequence number is a monotonically increasing integer, incrementing by 1 with each authorization change message sent. The formula is as follows: ; The change sequence number is used by the authorized party to sort and deduplicate authorization change messages. When the authorized party receives an authorization change message with a change sequence number less than or equal to the processed sequence number, it will discard it directly.
[0096] Once the authorization change message is assembled, it is sent to the enterprise entity corresponding to the authorized party identifier. The sending method is to publish the authorization change message to the message queue corresponding to the authorized party identifier through the event bus of the collaborative governance platform. The authorized party subscribes to its own message queue and receives the authorization change message. The sending of the authorization change message adopts an acknowledgment mechanism. After receiving the authorization change message, the authorized party returns an acknowledgment receipt. If the collaborative governance platform does not receive an acknowledgment receipt within a preset time, it will resend the authorization change message. If no acknowledgment receipt is received after 3 resends, a sending failure log is recorded and an alarm is generated.
[0097] The second scenario is when the spatiotemporal causal reachability distance is greater than the reachability distance threshold. In this case, no authorization flag is set on the newly added data entity node, and the data identifier is not added to the authorized data list. The newly added data entity node remains in an unauthorized state and no authorization change message is sent to the authorized party. If the spatiotemporal causal reachability distance of the unauthorized newly added data entity node decreases to less than or equal to the reachability distance threshold due to new nodes and edges in subsequent incremental updates, then an authorization flag is set in the subsequent incremental update determination and it is added to the authorized data list.
[0098] The mechanism of automatically including data in the authorization scope allows the authorization scope to expand dynamically as business data grows. New data that is closely related to the authorization reason in terms of temporal causality and spatial topology can be accessed by the authorized party without manual approval from the data provider, reducing manual operations in cross-enterprise data collaboration. The hash set deduplication and change sequence number of the authorized data list ensure the idempotency and orderliness of authorization changes. The confirmation mechanism and resend mechanism ensure the delivery of authorization change messages. New data entity nodes whose spatiotemporal causal reachability distance is greater than the reachability distance threshold remain in an unauthorized state and are continuously judged in subsequent incremental updates, ensuring that the authorization scope is continuously adjusted with the evolution of the spatiotemporal knowledge graph.
[0099] The foregoing has shown and described the basic principles, main features, and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The embodiments and descriptions in the specification are merely preferred examples and are not intended to limit the invention. Various changes and modifications can be made to the invention without departing from its spirit and scope, and all such changes and modifications fall within the scope of the present invention as claimed. The scope of protection of the present invention is defined by the appended claims and their equivalents.
Claims
1. A multi-entity data collaborative governance method for enterprises based on spatiotemporal knowledge graphs, characterized by: Includes the following steps: S1. Obtain business data from multiple enterprise entities, extract business event nodes, data entity nodes, spatial location nodes, and temporal causal edges between business event nodes with causal direction and spatial topological edges between spatial location nodes with adjacency direction, and construct a spatiotemporal knowledge graph. S2. When detecting cross-enterprise entity data authorization events, the business event node that triggers the data authorization event is determined as the authorization anchor node, and the reachable distance threshold is determined according to the sensitivity level of the data involved. S3. Traverse the directed graph from the authorized anchor node along the causal direction of the temporal causal edge and the adjacency direction of the spatial topology edge. Use the sum of the normalized level of the event time difference between adjacent nodes and the normalized level of the entity spatial distance as the path cost of a single edge. Calculate the shortest path cost from each data entity node to the authorized anchor node as its spatiotemporal causal reachability. S4. When receiving an access request from a data requester, locate the data entity node indicated by the access request, read the spatiotemporal causal reachability, generate an authorization token to allow access if the spatiotemporal causal reachability does not exceed the reachability threshold, otherwise deny access. S5. When adding new nodes and edges in the spatiotemporal knowledge graph, the spatiotemporal causal reachability distance of newly added data entity nodes is recalculated. Nodes that do not exceed the reachability distance threshold are automatically included in the authorization scope.
2. The enterprise multi-entity data collaborative governance method based on spatiotemporal knowledge graph as described in claim 1, characterized in that: The business data is structured and parsed to obtain text, time, and location fields. The text fields are input into a named entity recognition model adjusted based on enterprise collaboration domain corpus to identify event trigger words, entity names, and entity attributes. The event trigger words are matched with a pre-built event type dictionary to obtain event types. Structured records containing the event trigger words, event types, and time fields are identified as business event nodes, and structured records containing the entity names and entity attributes are identified as data entity nodes. The location field is input into a geocoding service to obtain latitude and longitude coordinates and administrative division codes. Structured records containing the latitude and longitude coordinates and administrative division codes are identified as spatial location nodes.
3. The enterprise multi-entity data collaborative governance method based on spatiotemporal knowledge graph as described in claim 1, characterized in that: The event occurrence time corresponding to each business event node is extracted from the business data. The business event nodes are sorted according to the order of their occurrence times. The business event nodes with adjacent times after sorting are input into a pre-trained causal relationship discrimination model to obtain the causal relationship confidence score. When the causal relationship confidence score is greater than a preset causal threshold, a temporal causal edge is established between the two business event nodes, pointing from the earlier business event node to the later business event node. The spatial coordinates corresponding to each spatial location node are extracted from the business data. The spatial distance between any two spatial location nodes is calculated based on the spatial coordinates. When the spatial distance is less than a preset adjacency threshold, a spatial topology edge with an adjacency direction is established between the two spatial location nodes according to the business flow direction recorded in the business data. The business event nodes, data entity nodes, spatial location nodes, temporal causal edges, and spatial topology edges are written into a graph database to construct the spatiotemporal knowledge graph.
4. The enterprise multi-entity data collaborative governance method based on spatiotemporal knowledge graph as described in claim 1, characterized in that: The system receives data authorization events across enterprise entities, parses out the authorization event identifier, the authorized entity identifier, and the authorization event description from the data authorization event, searches for a business event node in the spatiotemporal knowledge graph whose node identifier matches the authorization event identifier. The node identifier is a unique identifier assigned to each business event node when extracting the business event node from the business data. If no matching business event node is found, the system performs semantic similarity calculation between the authorization event description and the event description extracted together when extracting each business event node from the business data. The business event node with the highest semantic similarity and greater than a preset matching threshold is determined as the trigger node. The found or determined business event node is determined as the authorization anchor node, and the authorized entity identifier is associated and stored with the authorization anchor node.
5. The enterprise multi-entity data collaborative governance method based on spatiotemporal knowledge graph as described in claim 1, characterized in that: The data identifier and data content summary of the data involved are parsed from the data authorization event. The corresponding data entity node is located in the spatiotemporal knowledge graph according to the data identifier. The data content features extracted together when extracting the data entity node from the business data are read. The data content summary and the data content features are input into a pre-trained sensitivity level recognition model to obtain the sensitivity level of the data involved in the data authorization event. The pre-established level threshold mapping table is queried according to the sensitivity level to obtain the reachable distance threshold. The level threshold mapping table stores the correspondence between multiple sensitivity levels and multiple reachable distance thresholds.
6. The enterprise multi-entity data collaborative governance method based on spatiotemporal knowledge graph as described in claim 1, characterized in that: Initialize the traversal queue, add the authorized anchor node to the traversal queue and set the path cost of the authorized anchor node to zero. Retrieve the current node from the traversal queue, and search for the neighboring nodes of the current node along the causal direction of the temporal causal edge and the adjacency direction of the spatial topology edge. When the edge between the current node and the neighboring node is a temporal causal edge, read the event occurrence time of the two business event nodes, calculate the difference between the two event occurrence times, and query the pre-established time difference level table to obtain the normalization level of the event time difference. Set the normalization level of the entity spatial distance to zero. The event occurrence time is the time information extracted along with the business event node from the business data. When the edge between the current node and the neighboring node is a spatial topology edge, read the spatial coordinates of the two spatial location nodes, and based on the two... The spatial coordinates are used to calculate the entity spatial distance and a pre-established spatial distance level table is consulted to obtain the normalized level of the entity spatial distance. The normalized level of the event time difference is set to zero. The spatial coordinates are the location information extracted along with the spatial location nodes from the business data. The sum of the normalized level of the event time difference and the normalized level of the entity spatial distance is determined as the path cost of a single edge. The path cost of the current node is added to the path cost of the single edge to obtain the cumulative path cost. If the adjacent node has not recorded a path cost or the cumulative path cost is less than the path cost already recorded by the adjacent node, the path cost of the adjacent node is updated to the cumulative path cost and the adjacent node is added to the traversal queue. The steps from retrieving the current node to updating the path cost are repeated until the traversal queue is empty.
7. The enterprise multi-entity data collaborative governance method based on spatiotemporal knowledge graph as described in claim 1, characterized in that: The event occurrence times of two adjacent business event nodes are obtained, and the difference between the two event occurrence times is calculated to obtain the event time difference. The event time difference is divided by a preset time benchmark value to obtain the time difference ratio. The time difference ratio is rounded up and limited to within a preset level upper limit to obtain the normalized level of the event time difference. The event occurrence time is the time information extracted along with the business event node from the business data. The spatial coordinates of two adjacent spatial location nodes are obtained, and the physical spatial distance is calculated based on the two spatial coordinates. The physical spatial distance is divided by a preset distance benchmark value to obtain the distance ratio. The distance ratio is then rounded up and limited to within a preset level upper limit to obtain the normalized level of the event time difference. The normalized level of the entity spatial distance is obtained by rounding up and limiting it to the upper limit of the preset level. The spatial coordinates are the location information extracted together when extracting the spatial location node from the business data. The normalized level of the event time difference is added to the normalized level of the entity spatial distance to obtain the path cost of a single edge. During the directed graph traversal, for each data entity node, the sum of the path costs of all paths from the authorized anchor node to the data entity node with the smallest sum is retained. The sum is determined as the shortest path cost from the data entity node to the authorized anchor node.
8. The enterprise multi-entity data collaborative governance method based on spatiotemporal knowledge graph as described in claim 1, characterized in that: The request data identifier and requester identifier are parsed from the access request. Based on the request data identifier, the corresponding data entity node is located in the spatiotemporal knowledge graph. The spatiotemporal causal reachability distance of this data entity node, calculated and stored in S3, is read. This spatiotemporal causal reachability distance is compared with a reachability distance threshold. If the spatiotemporal causal reachability distance is less than or equal to the reachability distance threshold, an authorization token is generated, containing a token identifier, the requester identifier, the request data identifier, the spatiotemporal causal reachability distance, the token issuance time, and a pre-set token validity period. The authorization token is digitally signed using a pre-stored signing private key and returned to the data requester. The data requester carries the authorization token during subsequent accesses. After verifying the digital signature and the token validity period, access to the corresponding data entity node is allowed. If the spatiotemporal causal reachability distance is greater than the reachability distance threshold, an access denial message containing a denial reason is generated and returned to the data requester.
9. The enterprise multi-entity data collaborative governance method based on spatiotemporal knowledge graph as described in claim 1, characterized in that: The system monitors incremental update events of the spatiotemporal knowledge graph, identifies newly added nodes and edges from these events, and identifies the newly added nodes and existing nodes directly adjacent to them via the newly added edges as affected nodes. Starting from the authorized anchor node, a directed graph traversal is performed on the local subgraph formed by the affected nodes and the edges connecting them, along the causal direction of the temporal causal edge and the adjacency direction of the spatial topology edge. The path cost of a single edge is calculated using the sum of the normalized level of the event time difference between adjacent nodes and the normalized level of the entity spatial distance. The system calculates the shortest path cost from each data entity node in the affected nodes to the authorized anchor node. For newly added data entity nodes in the affected nodes, the calculated shortest path cost is determined as the spatiotemporal causal reachability of the newly added data entity node. For existing data entity nodes in the affected nodes, if the recalculated shortest path cost is less than the original spatiotemporal causal reachability of the existing data entity node, the spatiotemporal causal reachability of the existing data entity node is updated to the recalculated shortest path cost.
10. The enterprise multi-entity data collaborative governance method based on spatiotemporal knowledge graph according to claim 1, characterized in that: The spatiotemporal causal reachability distance of the newly added data entity node is compared with the reachability distance threshold. For newly added data entity nodes whose spatiotemporal causal reachability distance is less than or equal to the reachability distance threshold, an authorization flag is set on the newly added data entity node, and the data identifier of the newly added data entity node is added to the authorized data list. The data identifier is a unique identifier assigned to each data entity node when the data entity node is extracted from the business data. The authorized data list is a list of identifiers of authorized data entity nodes stored in association with the authorized anchor node. The authorized party identifier associated with the authorized anchor node is read. The authorized party identifier is parsed from the data authorization event that triggered the authorized anchor node. The authorized party identifier and the newly added data identifier in the authorized data list are assembled into an authorization change message. The authorization change message is sent to the enterprise entity corresponding to the authorized party identifier. For newly added data entity nodes whose spatiotemporal causal reachability distance is greater than the reachability distance threshold, no authorization flag is set and they are not added to the authorized data list.