Intelligent bim model component open use compliance early warning method and system
Patent Information
- Application Number
- CN202611080316.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-21
- Publication Date
- 2026-10-09
AI Technical Summary
然而,在面对海量第三方访问请求的高并发场景下,全量监控的计算开销较大,需要对所有维度的使用数据进行持续的存储和计算处理,对系统资源造成持续的存储和计算压力
[0020]由此可知,以取模运算实现了环形连续采样,当起始序号加上偏移量超出N-1时,自动回到使用数据序列的首部继续获取,避免了因起始序号靠近序列末尾而无法取满L维数据的问题。这种环形机制保证了在任何起始序号下都能稳定获取到连续的L维BIM模型构件使用数据,确保每次合规分析具备相同的数据维度规模,便于后续智能分析的标准化处理。
Smart Images

Figure CN122884772A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of data security and relates to a method and system for early warning of compliance in the open use of intelligent BIM model components. Background Technology
[0002] In the open-access system for Building Information Modeling (BIM) model components, the platform makes a vast number of BIM model components available to various third-party applications, developers, and end-users for retrieval, access, download, and integration. During this process, the system continuously generates multi-dimensional BIM model component usage data, such as component retrieval frequency, Application Programming Interface (API) call frequency, license verification pass rate, download token verification volume, component file transfer traffic, number of repeated downloads of a single component from the same Internet Protocol (IP) address, and user authentication failure rate. The core task of open-access compliance early warning is that the system needs to promptly identify abnormal behavior patterns from this multi-dimensional usage data to determine whether there are risks of non-compliant use.
[0003] Currently, the most common approach is full-scale monitoring, which involves the system collecting and analyzing all dimensions of usage data generated by the BIM model component open system. However, in high-concurrency scenarios with massive third-party access requests, full-scale monitoring incurs significant computational overhead, requiring continuous storage and computational processing of usage data across all dimensions, thus placing continuous storage and computational pressure on system resources. Summary of the Invention
[0004] In view of this, in order to solve the above problems, the present invention provides a method and system for early warning of compliance in the open use of intelligent BIM model components.
[0005] To achieve the above objectives, the present invention provides the following technical solution:
[0006] Firstly, a method for intelligent early warning of compliance in the open use of BIM model components is provided. This method is applied to a processing terminal connected to an open BIM model component system. The method includes: the processing terminal receiving an early warning service request message, which requests an early warning of compliance in the open use of BIM model components to be executed; in response to the early warning service request message, the processing terminal, based on a pseudo-random method, obtains L-dimensional BIM model component usage data from the open BIM model component system within each time window; where L is an integer greater than or equal to 1, and for different time windows within a scheduling cycle, the processing terminal obtains BIM model component usage data of different dimensions from the open BIM model component system; for time windows in different scheduling cycles, the processing terminal can obtain BIM model component usage data of the same dimension from the open BIM model component system; the processing terminal intelligently analyzes the L-dimensional BIM model component usage data to determine whether there is a risk of non-compliant use in the open use of BIM model components.
[0007] Therefore, it can be seen that the processing terminal obtains L-dimensional BIM model component usage data from the BIM model component open system in each time window using a pseudo-random method, rather than obtaining the full N-dimensional BIM model component usage data. Since only L-dimensional data needs to be collected and analyzed each time, the computational overhead is significantly lower than full monitoring, reducing the continuous pressure on system resources, which is especially suitable for high-concurrency scenarios with a large number of third-party accesses. Different time windows within the same scheduling cycle obtain usage data of different dimensions, allowing the observation perspective of compliance monitoring to change dynamically with the switching of time windows. A persistent non-compliant usage behavior will eventually be captured by the observation dimension covered by a certain window during the perspective jumps across multiple time windows, thus ensuring both detection accuracy and reliability.
[0008] Optionally, the BIM model component usage data that can be monitored by the BIM model component open system is N-dimensional BIM model component usage data, where N is an integer greater than L. The N-dimensional BIM model component usage data is sorted according to data correlation to form an N-dimensional BIM model component usage data sequence. The processing terminal obtains L-dimensional BIM model component usage data from the BIM model component open system in each time window based on a pseudo-random method. This includes: for the k-th time window, where k is a positive integer starting from 1: the processing terminal determines the starting sequence number in the N-dimensional BIM model component usage data sequence in a pseudo-random manner based on the sequence number of the k-th time window, and the processing terminal determines the sequence number of the continuous L-dimensional BIM model component usage data corresponding to the starting sequence number and aggregation level L in the N-dimensional BIM model component usage data; the processing terminal obtains the continuous L-dimensional BIM model component usage data generated by the BIM model component open system in the k-th time window based on the sequence number of the L-dimensional BIM model component usage data.
[0009] Therefore, the N-dimensional BIM model component usage data that can be monitored by the BIM model component open system is sorted according to data correlation to form an N-dimensional BIM model component usage data sequence. This ensures that usage data with sequential or causal relationships in the business process of third-party BIM component calls are adjacent to each other in the sequence. For example, according to the order of the third-party call chain, usage data of dimensions such as API authentication, license verification, component retrieval, component download triggering, download token verification, and file traffic are arranged sequentially. For each time window, the processing terminal determines the starting sequence number in a pseudo-random manner, and then determines the sequence number of continuous L-dimensional usage data based on the aggregation level L. This continuous acquisition method ensures that the L-dimensional usage data acquired each time has local correlation in the third-party call process space, which facilitates the detection of transmission patterns of non-compliant usage behavior by utilizing the adjacency relationship between indicators in subsequent analysis. Since the determination of the starting sequence number is pseudo-random, the distribution of usage data dimensions acquired by different early warning services in different time windows is different, ensuring that multi-dimensional monitoring can be covered.
[0010] Optionally, the processing terminal determines the starting sequence number in the N-dimensional BIM model component usage data sequence in a pseudo-random manner based on the sequence number of the k-th time window. This includes: the processing terminal calculating the sequence number of the k-th time window, the business identifier of the BIM model component open system, and N in a pseudo-random manner to obtain the starting sequence number in the N-dimensional BIM model component usage data sequence. The business identifier of the BIM model component open system is information determined by the processing terminal based on the relevant information of the early warning service request message and the relevant information of the BIM model component open system, which can be used to uniquely identify the service requested by the BIM model component open system through the early warning service request message.
[0011] Therefore, the processing terminal calculates the starting sequence number in a pseudo-random manner, combining the time window number, the business identifier of the BIM model component open system, and N. Since the business identifier is a unique identifier determined based on information from the early warning service request message and information from the BIM model component open system, the starting sequence number remains consistent for the same business identifier and the same time window number, ensuring the determinism of dimension mapping and the feasibility of historical baseline comparison. Simultaneously, the pseudo-random characteristic allows different business identifiers or different time window numbers to generate differentiated starting sequences, achieving automatic differentiated allocation of monitoring dimensions among various early warning services, thereby improving the efficiency of compliance monitoring for different third-party usage scenarios.
[0012] Optionally, the sequence number of the k-th time window, the business identifier of the BIM model component open system, N, and the starting sequence number of the N-dimensional BIM model component usage data sequence satisfy the following relationship:
[0013] startIdx = (HMAC(Y_ID||Win_ID)) mod N; or,
[0014] startIdx=(HMAC(Y_ID||Win_ID,Salt))modN;
[0015] Where startIdx is the starting sequence number in the data sequence of N-dimensional BIM model components, HMAC() represents hash function operation, Y_ID is the business identifier of the BIM model component open system, || represents connection, Win_ID is the sequence number of the k-th time window, Salt is the key generated by the processing terminal, which is used to enhance the unpredictability of the mapping, and mod represents modulo operation.
[0016] Therefore, by introducing the HMAC hash function, a pseudo-random mapping is performed between the time window sequence number and the business identifier, and the modulo operation is used to constrain the result to the index range of the N-dimensional data sequence. Since HMAC operations produce the same output for the same input, the starting sequence number calculated by the same early warning service within the same time window remains stable, ensuring the consistency of cross-cycle data collection and the comparability of historical baseline values. Simultaneously, the pseudo-random nature of HMAC allows different inputs to produce differentiated outputs, and each early warning service is allocated to different dimensions of usage data within different time windows, achieving diversified coverage of monitoring dimensions and decoupling of monitoring between different third-party business objects. Further introducing a key (Salt) can enhance the unpredictability of the mapping and improve system security.
[0017] Optionally, the sequence number, starting sequence number, and aggregation level L of the data used in the L-dimensional BIM model components satisfy the following relationship:
[0018] Idx(j) = (startIdx + j) mod N;
[0019] Where Idx(j) is the sequence number of the L-dimensional BIM model component data, j is an integer from 0 to L-1, startIdx is the starting sequence number in the N-dimensional BIM model component data sequence, and mod is the modulo operation.
[0020] Therefore, it can be seen that the modulo operation achieves continuous circular sampling. When the starting sequence number plus the offset exceeds N-1, it automatically returns to the beginning of the data sequence to continue acquisition, avoiding the problem of not being able to acquire all L-dimensional data due to the starting sequence number being close to the end of the sequence. This circular mechanism ensures that continuous L-dimensional BIM model component usage data can be stably acquired under any starting sequence number, ensuring that each compliance analysis has the same data dimension scale, which facilitates the standardized processing of subsequent intelligent analysis.
[0021] Optionally, the business identifier of the BIM model component open system, the relevant information of the early warning service request message, and the relevant information of the BIM model component open system satisfy the following relationship:
[0022] Y_ID= HMAC(warn-service|node-id|db);
[0023] Wherein, Y_ID is the business identifier of the BIM model component open system, HMAC() represents hash function operation, warn-service is the relevant information of the warning service request message, | represents concatenation, node-id is the device identifier of the BIM model component open system in the relevant information of the BIM model component open system, and db is the configuration information of the BIM model component open system in the relevant information of the BIM model component open system.
[0024] Therefore, the business identifier of the BIM model component open system is generated by concatenating information related to the early warning service request message, the device identifier of the BIM model component open system, and configuration information, followed by an HMAC hash operation. Because these attribute information originates from the early warning service request and the inherent characteristics of the BIM model component open system itself, the business identifier possesses stability and uniqueness. Business identifiers for different early warning services are different from each other, while those for the same early warning service remain consistent if the attributes remain unchanged. This provides a reliable identity input basis for the hash mapping function, ensuring the consistency and accuracy of the starting sequence number in cross-period calculations and avoiding dimension mapping errors caused by identifier confusion.
[0025] Optionally, the aggregation level L is associated with the service level corresponding to the early warning service request message, with different service levels corresponding to different values of aggregation level L. For example, for early warning services involving core BIM component assets or high-value authorized content, a larger L value can be assigned, resulting in more dimensions of usage data acquired in a single transaction and more comprehensive compliance detection, meeting the high-precision requirements for identifying non-compliant usage risks of core assets. For general early warning services, a smaller L value can be assigned, reducing computational overhead while ensuring basic detection capabilities. This mechanism of configuring aggregation level L differently based on service level ensures that the depth of usage data acquisition matches the importance of the business, balancing the detection needs of compliance early warnings with the resource utilization efficiency of a large-scale BIM component open system.
[0026] Optionally, the processing terminal intelligently analyzes the usage data of L-dimensional BIM model components to determine whether there are non-compliant usage risks in the open use of BIM model components. This includes: the processing terminal determining the difference between the usage data of the i-th dimension of the BIM model component and the historical baseline value of the i-th dimension in the L-dimensional BIM model component usage data, obtaining L differences as i traverses from 1 to L; the processing terminal individually analyzing the values of each of the L differences to determine whether there are abnormal BIM model component usage data in the L-dimensional BIM model component usage data; and the processing terminal analyzing the correlation of the L-dimensional BIM model component usage data through a transfer function to determine whether there are related abnormal BIM model component usage data in the L-dimensional BIM model component usage data. Abnormal BIM model component usage data indicates that the open use of BIM model components may involve non-compliant usage risks.
[0027] Therefore, the processing terminal employs a dual-path detection strategy during the intelligent analysis phase. The first path analyzes the difference between the usage data of each BIM model component in each dimension and its historical baseline value to determine if there are independent, abrupt anomalies, such as a sudden surge in calls to a specific API interface while other dimensions in adjacent call chains show no significant changes. This effectively identifies single-point non-compliant operations targeting specific stages. The second path analyzes the usage data of adjacent dimensions using a transmission function to determine if there are correlated anomalies, identifying non-compliant usage patterns that propagate along the third-party call chain. Since the N-dimensional usage data is sorted according to the data relevance of the third-party call process, adjacent dimensions have natural causal or temporal relationships in the business process (e.g., component download trigger volume is adjacent to download token verification volume, and token verification volume is adjacent to file transfer traffic). Therefore, it can effectively detect non-compliant usage behaviors propagating along the call chain, such as the causal transmission pattern from "bypassing token verification" to "abnormal file traffic." The dual-path detection strategy combines the identification capabilities of both single-point abrupt and causal transmission non-compliant usage risks, improving the comprehensiveness and accuracy of compliance warnings.
[0028] Optionally, the transmission function satisfies the following relationship:
[0029] C_i=d_i×d_i+1×P(d_i,d_i+1);
[0030] Where C_i is the result of the transmission function operation, d_i represents the i-th difference among L differences, and d_i+1 represents the (i+1)-th difference among L differences. If d_i>0 and d_i+1>0, then P=1; otherwise, P=0.
[0031] Therefore, the transmission function quantifies the transmission strength by multiplying the deviation values of two adjacent dimensions and sets a positive anomaly condition (the function only starts calculating when the current values of both dimensions are higher than the historical baseline values). When the usage data of both adjacent dimensions deviates significantly from the baseline, the product amplifies the anomaly score, producing a high transmission index, indicating a clear non-compliant usage transmission chain in the call chain; when only one dimension is abnormal or both are normal, the transmission index is zero, avoiding misjudgments due to accidental fluctuations in a single dimension. This function has a simple structure and is computationally efficient, accurately depicting the abnormal transmission relationship between adjacent links in the third-party call process, providing a quantitative basis for locating the starting point and transmission path of non-compliant usage behavior.
[0032] In a second aspect, a processing terminal is provided, including a memory and a processor, wherein the memory is used to store computer programs and the processor is used to execute the computer programs to implement the method of the first aspect.
[0033] Thirdly, an early warning system is provided, comprising a processing terminal and a BIM model component open system, wherein the processing terminal and the BIM model component open system are configured to execute the method as described in the first aspect.
[0034] The objectives and other advantages of this invention can be realized and obtained through the following description. Attached Figure Description
[0035] To make the objectives, technical solutions, and advantages of the present invention clearer, the preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings, wherein:
[0036] Figure 1 A schematic diagram of the architecture of an early warning system provided by the present invention;
[0037] Figure 2 A flowchart of a compliance early warning method for open use of intelligent BIM model components provided by the present invention;
[0038] Figure 3 This is a schematic diagram of the structure of an electronic device provided by the present invention. Detailed Implementation
[0039] The following specific examples illustrate the implementation of the present invention. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of the present invention. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other. The accompanying drawings are for illustrative purposes only, representing only schematic diagrams and not actual physical objects, and should not be construed as limiting the present invention. To better illustrate the embodiments of the present invention, some parts in the drawings may be omitted, enlarged, or reduced, and do not represent the actual product form.
[0040] like Figure 1 The diagram shown illustrates the architecture of an early warning system provided in this application embodiment. The system includes a processing terminal and a BIM model component open system. The processing terminal and the BIM model component open system establish a communication connection via a wired or wireless network.
[0041] In this embodiment, the processing terminal can be a standalone physical server, a server cluster consisting of multiple physical servers, or a virtual machine (VM) instance or container instance on a cloud computing platform. The processing terminal includes at least one processor and one memory. The processor can be, for example, a central processing unit (CPU), a graphics processing unit (GPU), a field-programmable gate array (FPGA), or an application-specific integrated circuit (ASIC). The memory stores the computer program, and the processor executes the computer program to implement the intelligent BIM model component open use compliance early warning method provided in this embodiment.
[0042] In this embodiment, the BIM model component open system refers to an information technology system that opens BIM model components to various third parties for retrieval, access, download, and integration. The BIM model component open system may include multiple monitored devices, which can be physical machines, virtual machines, or containers. Each monitored device runs an operating system (OS) and various applications (APPs), generating multi-dimensional BIM model component usage data during operation. This BIM model component usage data includes, but is not limited to, one or more of the following indicators: component retrieval count, application programming interface (API) call frequency, license verification pass rate, download token verification volume, component file transfer traffic, number of repeated downloads of a single component using the same Internet Protocol (IP) address, and user authentication failure rate. The processing terminal obtains the aforementioned BIM model component usage data from the BIM model component open system through a data acquisition agent program deployed on the monitored device or through the APIs opened by the BIM model component open system.
[0043] like Figure 2 As shown in the embodiments of this application, a compliance early warning method for the open use of intelligent BIM model components is provided, which is applied to the system described in the above embodiments.
[0044] The specific process of this method is as follows:
[0045] S201, Process the terminal's request message for obtaining early warning service.
[0046] Information used to indicate the target business object may include a combination of one or more attributes such as the target business object's service name, node identifier, and namespace.
[0047] In specific implementations, the sources for obtaining early warning service request messages can include any of the following: 1) Initiated by compliance auditors through the user interface provided by the processing terminal. For example, on the compliance audit management console, compliance auditors select the target business object for which compliance early warning needs to be executed and trigger the "Execute Early Warning" operation, and the processing terminal generates the corresponding early warning service request message accordingly. 2) Automatically generated by the processing terminal based on a preset compliance inspection strategy. For example, the processing terminal is configured with a timed inspection strategy, which automatically generates early warning service request messages for registered business objects according to a preset time period (such as every 5 minutes or every hour), realizing periodic open use compliance early warnings. 3) When the BIM model component open system detects preset non-compliant use behavior characteristics, it sends an early warning request to the processing terminal, triggering the processing terminal to generate an early warning service request message. For example, if the BIM model component open system detects that the number of times a certain IP address repeatedly downloads a single component within a unit of time exceeds a preset threshold, it proactively sends an early warning request carrying the target component identifier and IP address information to the processing terminal.
[0048] After receiving the early warning service request message, the processing terminal parses the information of the target business object carried in the message to determine the target business object for which an open usage compliance early warning needs to be issued. Furthermore, the processing terminal can also obtain information such as the business identifier and service level corresponding to the target business object based on the parsing results, providing an input basis for subsequent steps to obtain BIM model component usage data using a pseudo-random method.
[0049] S202, in response to the early warning service request message, the processing terminal obtains L-dimensional BIM model component usage data from the BIM model component open system in each time window using a pseudo-random method.
[0050] Where L is an integer greater than or equal to 1.
[0051] For different time windows within a scheduling cycle, the processing terminal obtains BIM model component usage data of different dimensions from the BIM model component open system. For time windows in different scheduling cycles, the processing terminal can obtain BIM model component usage data of the same dimension from the BIM model component open system.
[0052] For example, a scheduling cycle refers to the time span required for the processing terminal to complete at least one round of data acquisition and coverage of all N-dimensional BIM model component usage data from the N-dimensional BIM model component usage data sequence using a hash function. In other words, a scheduling cycle begins with the first time window, at which point the processing terminal maps to a certain set of L-dimensional BIM model component usage data using a hash function. As the time window number continuously increments, the starting number of the mapping changes continuously in the N-dimensional sequence until the m-th time window ends. When the processing terminal determines that the union of the L-dimensional BIM model component usage data sequences acquired within these m time windows has covered all N-dimensional BIM model component usage data, these m time windows together constitute a complete scheduling cycle. The next scheduling cycle then begins, the time window number restarts from 1, and the processing terminal begins a new round of N-dimensional data acquisition and coverage.
[0053] Due to the pseudo-random nature of hash functions, the number of time windows m required to complete full coverage in different scheduling cycles may vary slightly, but this difference has little statistical impact. That is, each scheduling cycle independently completes a full coverage collection of data on the components of the N-dimensional BIM model.
[0054] Furthermore, adjacent time windows can overlap. Overlapping means that two adjacent time windows partially overlap in time. For example, the k-th time window is 1 minute long, covering time t to t+60 seconds, and the (k+1)-th time window starts at time t+30 seconds, covering time t+30 seconds to t+90 seconds, with a 30-second overlap. The advantage of using an overlapping design is that when a non-compliant usage behavior happens to briefly appear at the boundary between two non-overlapping time windows, it may not be fully captured in either window due to the boundary segmentation; overlapping time windows can effectively cover such boundary scenarios. In addition, the overlapping design also makes the sampling of BIM model component usage data smoother. It is understood that the degree of overlap of time windows can be configured according to actual needs, and this application does not impose specific limitations on this.
[0055] In this embodiment, the BIM model component usage data that can be monitored by the BIM model component open system has N dimensions, where N is an integer greater than L. This N-dimensional BIM model component usage data is not arranged randomly, but rather sorted according to data relevance to form an N-dimensional BIM model component usage data sequence. Data relevance sorting refers to arranging usage data with business process associations or causal relationships during third-party calls to BIM model components adjacent to each other in the sequence. Several possible data relevance sorting methods are listed below.
[0056] 1) Sort by third-party call chain topology.
[0057] In a BIM model component open system, a complete use of a third-party component typically requires sequential calls to multiple service nodes. The processing terminal can arrange BIM model component usage data according to the order of the third-party application in the call chain. For example, a typical call chain for a BIM component open platform is: API Gateway → User Authentication Service → License Verification Service → Component Retrieval Service → Component Details Viewing Service → Download Token Verification Service → Component File Transfer Service. The BIM model component usage data generated by each service node (such as API authentication request rate, API authentication failure rate, number of valid license verifications, license verification failure rate, number of component keyword searches, number of component details interface calls, download token verification pass rate, actual component file size, etc.) are then arranged sequentially according to this call chain. After this sorting, adjacent BIM model component usage data correspond to adjacent service nodes in the call chain. When a non-compliant usage behavior propagates along the call chain (e.g., bypassing license verification and directly triggering a large number of component downloads), the abnormal indicators on the propagation path are in adjacent positions in the sequence, which is beneficial for the propagation function to detect them.
[0058] 2) Sorted by the entire lifecycle process of component use.
[0059] The processing terminal can use the complete lifecycle of BIM model components, from discovery by a third party to final download and use, as the basis for sorting. For example, the sorting can be as follows: Component search and browsing stage indicators (number of component keyword searches, component list browsing time, number of component detail page visits, etc.); Component authorization and licensing stage indicators (number of license verification requests, license verification pass rate, number of authorization token applications, number of authorization token verifications passed, etc.); Component download and transmission stage indicators (number of component download requests, number of times a single component is repeatedly downloaded by the same IP, component file transfer traffic, data transfer rate, etc.); Component usage feedback stage indicators (number of component citations, number of component ratings and comments, number of component problem reports, etc.). This sorting method ensures that the transmission relationship of third-party usage behavior between different stages of the lifecycle naturally presents an adjacent relationship in the indicator sequence. For example, when an IP bypasses authorization token verification and directly downloads a component, the data in the adjacent dimensions of authorization token verification pass rate and component download request number will exhibit an abnormal "low at the beginning and high at the end" break pattern, which is easily detected by the transmission function.
[0060] 3) Group and sort by compliance risk type.
[0061] The processing terminal can group and arrange BIM model component usage data according to the corresponding compliance risk type. For example, the grouping can be as follows: access behavior compliance indicators (API call frequency, interval between requests from the same IP, number of concurrent requests per user session, number of remote login detections, etc.), authorized usage compliance indicators (license verification failure rate, number of access attempts after license expiration, number of components accessed without authorization, number of token reuse detections, etc.), data security compliance indicators (number of components downloaded in a single instance, number of batch download detections, proportion of crawler-related requests, abnormal traffic peaks, etc.), and content integrity compliance indicators (number of component file hash verification failures, number of component digital signature verification failures, number of component metadata tampering detections, etc.). This sorting ensures that indicators within the same type of compliance risk are adjacent, facilitating the transmission function's ability to capture abnormal transmission chains within the same risk type. For example, in the data security compliance indicators, the number of components downloaded in a single instance, the number of batch download detections, and the proportion of crawler-related requests are adjacent. When automated crawling occurs, these three indicators often show abnormalities simultaneously, resulting in a high transmission exponent for the transmission function.
[0062] 4) Sort by resource dependency.
[0063] The processing terminal can arrange the underlying infrastructure indicators, middleware indicators, and upper-layer business indicators of the BIM model component open system according to their dependencies. For example, they can be arranged in the following order: computing resource indicators (CPU utilization, memory usage, system load, etc.), storage resource indicators (disk I / O rate, disk queue length, storage latency, etc.), network resource indicators (network throughput, network latency, packet loss rate, etc.), component service middleware indicators (component index database query latency, component cache hit rate, component file storage read rate, etc.), and third-party usage business indicators (component retrieval response latency, component download success rate, component call error rate, etc.). This sorting method ensures that the path of underlying resource anomalies propagating to upper-layer business naturally presents an adjacent relationship in the indicator sequence. For example, when a decrease in storage resource performance leads to a reduction in component file read rate, which in turn causes an increase in component download response latency, these three dimensions of indicators will be in adjacent or close positions in the sequence.
[0064] It is understandable that the above sorting methods can be used individually or in combination. For example, first sort by the third-party call chain topology, and then sort by resource dependency or compliance risk type within each major category. After sorting, the usage data of adjacent BIM model components have a natural correlation in the third-party call process or business logic, providing a foundation for subsequent transmission function analysis of the transmission patterns of non-compliant usage behaviors between adjacent indicators.
[0065] For the k-th time window, where k is a positive integer starting from 1, the processing terminal executes the following procedure:
[0066] First, the processing terminal determines the starting sequence number.
[0067] The processing terminal determines the starting sequence number in the N-dimensional BIM model component usage data sequence in a pseudo-random manner based on the sequence number of the k-th time window. Specifically, the processing terminal calculates the sequence number Win_ID of the k-th time window, the business identifier Y_ID of the BIM model component open system, and N in a pseudo-random manner to obtain the starting sequence number startIdx in the N-dimensional BIM model component usage data sequence.
[0068] The business identifier Y_ID of the BIM model component open system is determined by the processing terminal based on relevant information from the early warning service request message and relevant information from the BIM model component open system. It uniquely identifies the business object requested by the BIM model component open system through the early warning service request message. A specific generation method satisfies the following relationship:
[0069] Y_ID=HMAC(warn-service|node-id|db), which can be represented as follows:
[0070] Y_ID=HMAC(K_Y,warn-service|node-id|db);
[0071] Here, HMAC() represents a hash-based message authentication code operation, K_Y is a key pre-set in the processing terminal for generating business identifiers, warn-service is the relevant information of the warning service request message (such as the service name of the target business object), "|" represents string concatenation, node-id is the device identifier of the BIM model component open system in the relevant information of the BIM model component open system, and db is the configuration information of the BIM model component open system in the relevant information of the BIM model component open system (such as the database connection string).
[0072] In its implementation, HMAC operations use K_Y as the key and the concatenated string "warn-service|node-id|db" as the input message, outputting a fixed-length authentication code. The processing terminal can extract a preset portion (e.g., the first 64 bits) of this authentication code as the Y_ID. Because the input messages for HMAC operations originate from the inherent characteristics of the business objects and the BIM model component open system itself, and because the same input always produces the same output when the key K_Y remains unchanged, the generated Y_ID is stable and unique. That is, the Y_ID remains unchanged for the same business object when its attributes remain constant, while different business objects generate different Y_IDs due to their different attributes.
[0073] It should be noted that the above method for generating Y_ID is merely an example and is not intended to limit this application. In other possible implementations, Y_ID can also be obtained by directly performing a hash operation on the combination of the above attribute information, or by using other identifier generation methods that can uniquely identify business objects.
[0074] The calculation of the starting index startIdx satisfies the following relationship:
[0075] startIdx=(HMAC(Y_ID||Win_ID))modN, which can be specifically represented as follows:
[0076] startIdx=(HMAC(K_S,Y_ID||Win_ID))modN;
[0077] Wherein, HMAC() represents hash-based message authentication code operation, K_S is the key generated by the processing terminal for mapping index calculation, Y_ID is the business identifier of the BIM model component open system, "||" represents data concatenation, Win_ID is the sequence number of the k-th time window, mod represents modulo operation, and N is the total number of dimensions of the data sequence used by the BIM model component.
[0078] In its implementation, the HMAC operation uses K_S as the key and the concatenated Y_ID and Win_ID as the input message, outputting a fixed-length message authentication code. The processing terminal converts this message authentication code into an integer and takes the modulo N to obtain a start number startIdx ranging from 0 to N-1. Due to the deterministic nature of the HMAC operation, the same Y_ID and the same Win_ID will always generate the same startIdx; due to the pseudo-random nature of the HMAC operation, the startIdx generated by different Y_IDs or different Win_IDs exhibits a uniform distribution within the range of 0 to N-1.
[0079] Optionally, to further enhance the unpredictability of the mapping, an additional random factor Salt can be introduced into the HMAC operation. In this case, the generation of the starting index satisfies the following relationship:
[0080] startIdx=(HMAC(Y_ID||Win_ID||Salt))modN, which can be specifically represented as follows:
[0081] startIdx=(HMAC(K_S,Y_ID||Win_ID||Salt))modN;
[0082] Salt is a random parameter generated by the processing terminal and can be dynamically updated in each scheduling cycle or time window. Introducing Salt enhances the security of the scheme, meaning that even if an attacker knows Y_ID and Win_ID, they cannot predict the mapping result without knowing Salt and the key K_S. It should be noted that in the Salt-introduced implementation, the processing terminal needs to record the Salt value used in each scheduling cycle or time window to reproduce the same mapping relationship during subsequent historical data backtracking.
[0083] It is understood that the above-described hash function operation using HMAC is merely an example. Other possible implementations may also employ a secure hash algorithm (such as SHA-256) to directly hash the concatenated data, or other hash functions with pseudo-random characteristics; this application does not impose specific limitations on these methods. Any function capable of generating pseudo-random output based on input parameters and producing the same output for the same input can be used as the implementation method for hash function operation in this scheme.
[0084] To facilitate understanding, the following concrete example illustrates the working mechanism of pseudo-random mapping. Assume the BIM model component open system generates N=12 dimensional BIM model component usage data, and an example sorted by third-party call chain topology is shown in Table 1.
[0085] Table 1
[0086] 0 API authentication request rate Access Compliance 1 API authentication failure rate Access Compliance 2 Number of valid license verifications Authorization and compliance 3 License verification failure rate Authorization and compliance 4 Number of keyword searches for components Search behavior class 5 Number of times the component details interface is called Search behavior class 6 Download token verification pass count Download license 7 Number of component download requests Download behavior class 8 Number of times a single component is downloaded repeatedly by the same IP address Download behavior class 9 Component file actual flow size Data transfer class 10 Abnormal fluctuations in data traffic Data transfer class 11 Batch download behavior detection count Data transfer class
[0087] Assuming the early warning service request message corresponds to "component ordering and downloading service," its business identifier Y_ID, after HMAC operation, has a lower 64 bits of 20240519. The aggregation level L=4. The time window granularity is 1 minute; in the first minute, Win_ID=1, in the second minute, Win_ID=2, and so on.
[0088] In the first time window (Win_ID=1), calculate HMAC(20240519||1)mod12. Assuming the result is 2, then startIdx=2. According to the circular continuous sampling formula Idx(j)=(2+j)mod12, j iterates from 0 to 3, and the sequence numbers of the BIM model component usage data are obtained as follows: 2, 3, 4, 5. That is, the 4D BIM model component usage data obtained in the first time window are: number of valid license verifications, license verification failure rate, number of component keyword searches, and number of component detail interface calls.
[0089] In the second time window (Win_ID=2), calculate HMAC(20240519||2)mod12. Assuming the result is 8, then startIdx=8. The sampled serial numbers are 8, 9, 10, and 11, which means that the 4D BIM model component usage data obtained in the second time window includes: the number of times a single component is repeatedly downloaded by the same IP, the actual traffic size of the component file, abnormal fluctuations in data traffic, and the number of times batch download behavior is detected.
[0090] In the third time window (Win_ID=3), calculate HMAC(20240519||3)mod12. Assuming the result is 5, then startIdx=5. The sampled serial numbers are 5, 6, 7, and 8, meaning the 4D BIM model component usage data obtained in the third time window includes: component details interface call count, download token verification success rate, component download request count, and the number of times a single component is repeatedly downloaded by the same IP address.
[0091] As can be seen from the above example, in the first to third time windows, the processing terminal acquired BIM model component usage data with serial numbers 2-5, 8-11, and 5-8, respectively. The union of the serial numbers covered by the three windows is {2,3,4,5,6,7,8,9,10,11}, covering 10 dimensions of the 12-dimensional BIM model component usage data. As the time windows continue to advance, the remaining serial numbers 0 and 1 will also be covered in the mapping of subsequent windows. Thus, although each time window only acquires L=4-dimensional BIM model component usage data, the pseudo-random mapping mechanism, through perspective jumps across multiple time windows, can effectively cover N-dimensional BIM model component usage data within a limited time window. Simultaneously, due to the pseudo-randomness of the mapping, the observation perspectives of each time window are evenly distributed across different regions of the N-dimensional indicator space, ensuring balanced monitoring of different categories of usage data (access compliance, authorization compliance, download behavior, data transmission, etc.).
[0092] It should be noted that N=12 in the above example is only for illustrative purposes. In actual deployment, N may be hundreds or even thousands of dimensions, and the analysis depth L can also be configured to larger values such as 8 or 16 depending on the business level. The values of N and L do not affect the effectiveness of the solution.
[0093] Then, the processing terminal determines the sequence number of the data used for the L-dimensional BIM model components.
[0094] The processing terminal determines the sequence number of the continuous L-dimensional BIM model component usage data corresponding to the starting sequence number startIdx and the aggregation level L in the N-dimensional BIM model component usage data. Specifically, the sequence number, starting sequence number, and aggregation level L of the L-dimensional BIM model component usage data satisfy the following relationship:
[0095] Idx(j) = (startIdx + j) mod N;
[0096] Where Idx(j) is the index of the j-th dimension BIM model component usage data in the N-dimensional BIM model component usage data sequence, j is an integer from 0 to L-1, startIdx is the starting index of the N-dimensional BIM model component usage data sequence, and mod is the modulo operation.
[0097] This formula implements circular continuous sampling using modulo operations. When the value of startIdx+j exceeds N-1, the modulo operation automatically returns it to the beginning of the sequence to continue counting. For example, assuming N=12, startIdx=10, and L=4, when j traverses from 0 to 3, Idx(j) is successively: 10mod12=10, 11mod12=11, 12mod12=0, 13mod12=1, that is, obtaining the BIM model component usage data corresponding to serial numbers 10, 11, 0, and 1. Taking the sequence in Table 1 as an example, this obtains abnormal fluctuations in data flow, the number of batch download behavior detections, the API authentication request rate, and the API authentication failure rate. This circular mechanism ensures that continuous L-dimensional BIM model component usage data can be stably obtained regardless of the starting serial number's position in the sequence, avoiding the problem of not being able to obtain full L-dimensional data due to the starting serial number being close to the end of the sequence.
[0098] The third step is to obtain the usage data of BIM model components.
[0099] The processing terminal obtains continuous L-dimensional BIM model component usage data generated by the BIM model component open system within the k-th time window based on the sequence number of the L-dimensional BIM model component usage data. It should be understood that for each dimension of the L-dimensional BIM model component usage data, the processing terminal can collect data corresponding to that dimension at multiple sampling time points within the k-th time window, obtaining multiple sample values. Then, the maximum, minimum, or average value is selected as the representative value of that dimension's BIM model component usage data within this time window. For example, if the duration of the k-th time window is 1 minute, the processing terminal can collect data every 10 seconds, collecting a total of 6 sample values. The average of these 6 sample values is then taken as the value of that dimension's BIM model component usage data within the k-th time window, thus smoothing out the impact of instantaneous fluctuations.
[0100] The aggregation level L is associated with the service level of the early warning service request message, with different service levels corresponding to different values of aggregation level L. For example, for early warning service request messages involving core BIM component assets or high-value authorized content, the service level is "Core" (P0), and the value of L can be 8, to obtain more dimensions of BIM model component usage data for in-depth compliance analysis, covering the complete call chain from authorization verification to data transmission; for relatively important early warning service request messages, the service level is "Important" (P1), and the value of L can be 6; for general early warning service request messages, the service level is "General" (P2), and the value of L can be 4, to reduce computational overhead while ensuring basic compliance detection capabilities. The correspondence between service levels and L values can be pre-configured in the configuration file of the processing terminal, or it can be dynamically adjusted by compliance auditors through the user interface provided by the processing terminal.
[0101] S203, process terminal intelligent analysis of L-dimensional BIM model component usage data to determine whether there are non-compliant usage risks in the open use of BIM model components.
[0102] In this embodiment, the processing terminal uses two detection strategies to intelligently analyze the acquired L-dimensional BIM model component usage data.
[0103] Detection Strategy 1) Independently analyze the deviations in each dimension.
[0104] The processing terminal determines the difference d_i between the usage data of the i-th dimension of the BIM model component and the historical baseline value of the i-th dimension. As i iterates through values 1 to L, L differences d_1, d_2, ..., d_L are obtained. The historical baseline value can be statistically obtained from the usage data of the same dimension of the BIM model component acquired within the same time window in the historical scheduling cycle. For example, the average usage data of that dimension of the BIM model component within the past 30 time windows with the same number can be taken as the historical baseline value. The difference d_i reflects the degree of deviation between the current value of the usage data of that dimension of the BIM model component and the historical normal level. The processing terminal analyzes the values of each of the L differences individually. When a difference exceeds a preset single-dimensional deviation threshold, it is determined that the usage data of that dimension of the BIM model component is abnormal. This independent analysis can effectively detect sudden anomalies in a specific metric. For example, if a third-party application suddenly spikes its calls to the component download interface without triggering a search, while other adjacent metrics (such as the number of component keyword searches and the number of component detail interface calls) remain unchanged, this may indicate an uncompliant use behavior of bypassing the normal search process to directly download components in bulk. The single-dimensional deviation threshold can be set to 1.0, 1.5, or 2.0 (depending on the standard deviation multiple of the historical baseline).
[0105] Detection strategy 2) Analyze the abnormal correlations between adjacent dimensions through the transfer function.
[0106] The processing terminal analyzes the correlation of L-dimensional BIM model component usage data using a transfer function to determine whether there are any related BIM model component usage data anomalies. The transfer function satisfies the following relationship:
[0107] C_i=d_i×d_{i+1}×P(d_i,d_{i+1});
[0108] Where C_i is the result of the transmission function, representing the anomaly transmission index between the data used by the i-th dimension BIM model component and the data used by the (i+1)-th dimension BIM model component; d_i represents the i-th difference among the L differences, and d_{i+1} represents the (i+1)-th difference among the L differences; if d_i>0 and d_{i+1}>0, then P=1, otherwise P=0.
[0109] The logic of the transmission function is as follows: the transmission strength is calculated by multiplying the deviations of two consecutive BIM model components in a positive anomaly state (i.e., the current values are both higher than the historical baseline values) only if the usage data of the two components are both in a positive anomaly state. The larger the product, the more significant the transmission relationship. If the usage data of a BIM model component in a certain dimension is abnormal but the usage data of the BIM model component in its subsequent dimensions is normal, or if both are normal, the transmission index is directly set to zero.
[0110] To facilitate understanding, the working mechanism of dual-path detection will be explained below through a specific scenario.
[0111] Continuing with the example in S202, assume that the 4D BIM model component usage data obtained in the second time window includes: the number of times a single component is repeatedly downloaded by the same IP address, the actual traffic volume of the component file, abnormal fluctuations in data traffic, and the number of times batch download behavior is detected. Calculate the differences between each and the historical baseline values, assuming we get d_8=0.2 (normal fluctuations in the number of times a single component is repeatedly downloaded by the same IP address), d_9=3.2 (significantly high actual traffic volume of the component file), d_10=3.8 (significantly high abnormal fluctuations in data traffic), and d_11=3.5 (significantly high number of times batch download behavior is detected).
[0112] In detection strategy 1, the processing terminal analyzes each difference individually: d_8=0.2 does not exceed the single-dimensional deviation threshold, and it is determined that the number of times a single component is repeatedly downloaded by the same IP is normal; d_9=3.2, d_10=3.8, and d_11=3.5 all exceed the single-dimensional deviation threshold, and it is determined that there are abnormal fluctuations in the actual traffic and data traffic of the component file and abnormalities in the number of batch download behaviors detected.
[0113] In detection strategy 2, the processing terminal calculates the transmission index of adjacent dimensions:
[0114] For d_8 and d_9: d_8=0.2>0 and d_9=3.2>0, P=1, C_8=0.2×3.2×1=0.64, the conduction intensity is low.
[0115] For d_9 and d_10: d_9=3.2>0 and d_10=3.8>0, P=1, C_9=3.2×3.8×1=12.16, the conduction intensity is significant.
[0116] For d_10 and d_11: d_10=3.8>0 and d_11=3.5>0, P=1, C_10=3.8×3.5×1=13.3, the conduction intensity is significant.
[0117] The calculation results show that C_9 and C_10 exhibit high transmission exponents, indicating that the abnormal signal is transmitted sequentially along the path of "actual component file traffic → abnormal data traffic fluctuations → number of batch download detections." This closely matches the causal chain in actual open BIM model component usage scenarios, where third-party applications perform batch downloads, resulting in a sudden increase in file transfer traffic, aggravated traffic fluctuations, and a simultaneous increase in the number of batch download detections. Based on this, the processing terminal determined that the open BIM model component system exhibits transmission-type non-compliant usage behavior, and the starting point of the transmission chain—the actual component file traffic—is the root cause of this non-compliant usage behavior, prompting compliance auditors to focus on whether there is unauthorized batch data export in the file transfer process.
[0118] In contrast, if in the L-dimensional BIM model component usage data obtained in another time window, only d_10=3.8 is abnormally high, while d_9 and d_11 are normal, then the transmission indices C_9 and C_10 are both 0. The processing terminal will determine that this anomaly is an independent, sudden anomaly, rather than a causal, non-compliant usage behavior. In this case, it may be due to a data traffic spike caused by instantaneous fluctuations in the network environment. Compliance auditors can directly investigate the abnormal indicator itself without tracing the dependencies of upstream and downstream call chains.
[0119] Therefore, the dual-path detection strategy takes into account both the identification capabilities of independent, abrupt, and causal non-compliant usage behaviors. Anomalies in BIM model component usage data indicate that the open use of BIM model components poses a risk of non-compliant use. After determining the presence of risk, the processing terminal can generate corresponding alarm information, alerting compliance auditors to the risk type and transmission chain, assisting them in quickly locating the root cause of the non-compliant usage behavior.
[0120] In summary, the processing terminal acquires L-dimensional BIM model component usage data from the BIM model component open system in each time window using a pseudo-random method, rather than acquiring the full N-dimensional BIM model component usage data. Since only L-dimensional data needs to be collected and analyzed each time, the computational overhead is significantly lower than full-scale monitoring, reducing the continuous pressure on system resources, making it particularly suitable for high-concurrency scenarios with a large number of third-party accesses. Different time windows within the same scheduling cycle acquire usage data from different dimensions, allowing the perspective of compliance monitoring to dynamically change with the time window switching. A persistent non-compliant usage behavior will eventually be captured by the observation dimension covered by a particular window during the perspective jumps across multiple time windows, thus ensuring both detection accuracy and reliability.
[0121] Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Exemplarily, the electronic device may be a terminal, or a chip (system) or other component or assembly that can be disposed in the terminal. Figure 3 As shown, the electronic device 200 may include a processor 201. Optionally, the electronic device 200 may also include a memory 202 and / or a transceiver 203. The processor 201 is coupled to the memory 202 and the transceiver 203, for example, via a communication bus.
[0122] The following is combined Figure 3 A detailed description of each component of the electronic device 200 is provided below:
[0123] The processor 201 is the control center of the electronic device 200. It can be a single processor or a collective term for multiple processing elements. For example, the processor 201 can be one or more central processing units (CPUs), application-specific integrated circuits (ASICs), or one or more integrated circuits configured to implement the embodiments of this application, such as one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs).
[0124] Optionally, the processor 201 can perform various functions of the electronic device 200 by running or executing software programs stored in the memory 202 and calling data stored in the memory 202, such as performing the aforementioned functions. Figure 2 The method shown.
[0125] In a specific implementation, as one example, the processor 201 may include one or more CPUs, for example... Figure 3 CPU0 and CPU1 are shown in the diagram.
[0126] In a specific implementation, as one example, the electronic device 200 may also include multiple processors, for example... Figure 3 The processor 201 shown is an example. Each of the processors 201 can be a single-core processor or a multi-core processor. Here, "processor" can refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).
[0127] The memory 202 is used to store the software program that executes the solution of this application, and the processor 201 controls its execution. The specific implementation method can be referred to the above method embodiment, and will not be repeated here.
[0128] Optionally, the memory 202 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory 202 may be integrated with the processor 201 or exist independently, and may be accessed through the interface circuit of the electronic device 200. Figure 3 (Not shown in the image) is coupled to processor 201, but this embodiment does not specifically limit this.
[0129] Transceiver 203 is used for communication with other electronic devices. For example, if electronic device 200 is a terminal, transceiver 203 can be used to communicate with a network device or with another terminal device. As another example, if electronic device 200 is a network device, transceiver 203 can be used to communicate with a terminal or with another network device.
[0130] Optionally, transceiver 203 may include a receiver and a transmitter. Figure 3 (Not shown separately). The receiver is used to implement the receiving function, and the transmitter is used to implement the transmitting function.
[0131] Optionally, the transceiver 203 can be integrated with the processor 201, or it can exist independently and be connected via the interface circuit of the electronic device 200. Figure 3 (Not shown in the image) is coupled to processor 201, but this embodiment does not specifically limit this.
[0132] Understandable, Figure 3 The structure of the electronic device 200 shown does not constitute a limitation on the electronic device. Actual electronic devices may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0133] Furthermore, the technical effects of the electronic device 200 can be referred to the technical effects of the methods described in the above-described method embodiments, and will not be repeated here.
[0134] It should be understood that the processor in the embodiments of this application can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.
[0135] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0136] The above embodiments can be implemented, in whole or in part, by software, hardware (such as circuits), firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive.
[0137] It should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. A and B can be singular or plural. Additionally, the character " / " in this article generally indicates an "or" relationship between the preceding and following related objects, but it can also represent an "and / or" relationship. Please refer to the context for a more accurate understanding.
[0138] In this application, "at least one" means one or more, and "more than one" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0139] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0140] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0141] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0142] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0143] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0144] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0145] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0146] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A compliance early warning method for the open use of intelligent BIM model components, characterized in that, The method is applied to a processing terminal, which is connected to a BIM model component open system. The method includes: The processing terminal obtains an early warning service request message, which requests that the open use compliance early warning be executed on the BIM model component open system. In response to the early warning service request message, the processing terminal obtains L-dimensional BIM model component usage data from the BIM model component open system in each time window using a pseudo-random method; L is an integer greater than or equal to 1. For different time windows within a scheduling cycle, the processing terminal obtains BIM model component usage data of different dimensions from the BIM model component open system. For time windows in different scheduling cycles, the processing terminal can obtain BIM model component usage data of the same dimension from the BIM model component open system. The processing terminal intelligently analyzes the usage data of the L-dimensional BIM model components to determine whether there are any risks of non-compliant use in the open use of the BIM model components.
2. The method according to claim 1, characterized in that, The BIM model component open system can monitor N-dimensional BIM model component usage data, where N is an integer greater than L. This N-dimensional BIM model component usage data is sorted according to data correlation to form an N-dimensional BIM model component usage data sequence. The processing terminal, based on a pseudo-random method, obtains L-dimensional BIM model component usage data from the BIM model component open system within each time window, including: For the k-th time window, where k is a positive integer starting from 1: The processing terminal determines the starting sequence number in the N-dimensional BIM model component usage data sequence in a pseudo-random manner based on the sequence number of the k-th time window, and the processing terminal determines the sequence number of the continuous L-dimensional BIM model component usage data corresponding to the starting sequence number and aggregation level L in the N-dimensional BIM model component usage data. The processing terminal obtains the continuous L-dimensional BIM model component usage data generated by the BIM model component open system within the k-th time window based on the sequence number of the L-dimensional BIM model component usage data.
3. The method according to claim 2, characterized in that, The processing terminal determines the starting sequence number in the data sequence for the N-dimensional BIM model components using a pseudo-random method based on the sequence number of the k-th time window, including: The processing terminal calculates the sequence number of the k-th time window, the business identifier of the BIM model component open system, and N in a pseudo-random manner to obtain the starting sequence number in the N-dimensional BIM model component usage data sequence. The business identifier of the BIM model component open system is information determined by the processing terminal based on the relevant information of the early warning service request message and the relevant information of the BIM model component open system, which can be used to uniquely identify the service requested by the BIM model component open system through the early warning service request message.
4. The method according to claim 3, characterized in that, The sequence number of the k-th time window, the business identifier of the BIM model component open system, N, and the starting sequence number in the N-dimensional BIM model component usage data sequence satisfy the following relationship: startIdx = (HMAC(Y_ID||Win_ID)) mod N; or, startIdx=(HMAC(Y_ID||Win_ID,Salt))modN; Wherein, startIdx is the starting sequence number in the data sequence used by the N-dimensional BIM model component, HMAC() represents hash function operation, Y_ID is the business identifier of the open system of the BIM model component, || represents connection, Win_ID is the sequence number of the k-th time window, Salt is the key generated by the processing terminal, the key is used to enhance the unpredictability of the mapping, and mod represents modulo operation.
5. The method according to claim 3, characterized in that, The sequence number of the data used by the L-dimensional BIM model component, the starting sequence number, and the aggregation level L satisfy the following relationship: Idx(j) = (startIdx + j) mod N; Where Idx(j) is the sequence number of the L-dimensional BIM model component data, j is an integer from 0 to L-1, startIdx is the starting sequence number in the N-dimensional BIM model component data sequence, and mod is the modulo operation.
6. The method according to claim 3, characterized in that, The business identifier of the BIM model component open system, the relevant information of the early warning service request message, and the relevant information of the BIM model component open system satisfy the following relationship: Y_ID= HMAC(warn-service|node-id|db); Wherein, Y_ID is the business identifier of the BIM model component open system, HMAC() represents hash function operation, warn-service is the relevant information of the warning service request message, | represents concatenation, node-id is the device identifier of the BIM model component open system in the relevant information of the BIM model component open system, and db is the configuration information of the BIM model component open system in the relevant information of the BIM model component open system.
7. The method according to claim 3, characterized in that, The value of the aggregation level L is associated with the service level corresponding to the early warning service request message, and different service levels correspond to different values of the aggregation level L.
8. The method according to any one of claims 1-7, characterized in that, The processing terminal intelligently analyzes the usage data of the L-dimensional BIM model components to determine whether the open use of the BIM model components poses any risk of non-compliant use, including: The processing terminal determines the difference between the i-th dimension BIM model component usage data and the i-th dimension historical baseline value in the L-dimensional BIM model component usage data, and obtains L differences by traversing from 1 to L in the case of i. The processing terminal analyzes the values of the L differences individually to determine whether there are any abnormal BIM model component usage data in the L-dimensional BIM model component usage data; and the processing terminal analyzes the correlation of the L-dimensional BIM model component usage data through a transfer function to determine whether there are any related abnormal BIM model component usage data in the L-dimensional BIM model component usage data. The abnormality of the BIM model component usage data indicates that the open use of the BIM model component has a risk of non-compliant use.
9. The method according to claim 8, characterized in that, The transfer function satisfies the following relationship: C_i=d_i×d_i+1×P(d_i,d_i+1); Where C_i is the result of the transmission function, d_i represents the i-th difference among the L differences, d_i+1 represents the (i+1)-th difference among the L differences, and if d_i>0 and d_i+1>0, then P=1; otherwise, P=0.
10. An early warning system, characterized in that, The system includes a processing terminal and a BIM model component open system, the processing terminal and the BIM model component open system being configured to perform the method as described in any one of claims 1 to 9.