A method for transmitting railway BIM model files based on distributed storage
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING JIAOTONG UNIV
- Filing Date
- 2024-12-27
- Publication Date
- 2026-05-26
AI Technical Summary
In the storage and transmission of railway BIM models, the current centralized storage method leads to loading difficulties and low utilization efficiency, which limits the widespread application of BIM models throughout their entire life cycle.
By employing distributed storage and multiplexing methods, railway BIM model files are lightweightly decomposed into multiple sub-files, which are distributed and stored on various edge server nodes. The index query is optimized through the BIMdex index model to achieve fast positioning and parallel transmission.
It significantly improves data transmission efficiency and loading speed, meets the application requirements of railway BIM models in multi-terminal, high-concurrency scenarios, and enhances the system's fault tolerance and data reliability.
Smart Images

Figure CN120091017B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of railway information storage technology, and in particular to a method for transmitting railway BIM (Building Information Modeling) model files based on distributed storage. Background Technology
[0002] Railway BIM models are enormous in size due to the inclusion of three-dimensional geometric information and attribute data. Currently, intelligent processing of BIM data for complex high-speed railway network topology is one of the main directions for the intelligent development of high-speed railway construction and operation. The data storage strategies for large-scale railway BIM models and the mechanisms for lightweighting and sharing BIM models are summarized below:
[0003] Regarding large-scale BIM data storage architecture, technologies such as cloud computing, edge computing, and distributed computing are used to process and store BIM data, given its massive volume. For example, existing technologies include solutions that have designed a BIM-based big data storage framework based on research into commonly used BIM data standards and Hadoop storage mechanisms. Other solutions propose a cloud-based BIM server framework capable of dynamically merging and splitting building models. Still others have developed a cloud-based BIM data integration and management platform, supporting various stakeholders in distributively creating, storing, managing, and applying BIM data according to their own data needs, achieving data transfer and sharing. A further solution proposes a cloud-based BIMCloud framework to support collaboration and information sharing among project stakeholders. Additionally, some solutions utilize graph databases and graph theory to automatically convert IFC models into attribute graph database workflows through analysis. Related research has also proposed using a cloud-edge collaboration model to address transmission latency caused by using only cloud servers. For instance, existing technologies have proposed a cloud-edge collaborative system that bakes light and shadow maps in the cloud and integrates the results with the terminal scene. However, when there is a large amount of real-time data transmission and processing, the collaboration between the cloud and the edge is not ideal. In summary, research on processing and storing BIM data using cloud computing, edge computing, and distributed technologies is still in the exploratory stage, and further research is needed.
[0004] In existing BIM models, due to their massive data volume, in order to improve the application effect of BIM in the design, construction, operation and maintenance stages, and to facilitate the efficient sharing, scheduling and transmission of BIM data, it is necessary to reduce the size of the model (such as reducing geometric elements such as points and surfaces) to achieve lightweight BIM models.
[0005] One existing centralized storage solution for railway BIM source files involves designers uploading a completed BIM model (e.g., a railway line or a station) directly to a cloud server. The cloud server stores this model file, which is enormous due to its large size as it contains the 3D geometric information and attribute data of all components. When a device requires the source file, the cloud server transmits the corresponding source file to the device for loading and rendering.
[0006] Another existing centralized storage solution for lightweight railway BIM files involves offline lightweighting of the BIM files before uploading them to the cloud server. The lightweighted model data volume is significantly reduced, making it suitable for scenarios with relatively limited end-device performance or network constraints. When needed, end-devices can quickly load the lightweight model files retrieved from the cloud server, thereby improving transmission and loading efficiency.
[0007] Another existing distributed storage solution for BIM source files involves introducing edge servers between cloud servers and end devices. Based on the cloud-edge collaboration mechanism, BIM source files are pre-deployed to multiple edge servers according to a certain strategy. When needed, the end devices can retrieve the source files from the corresponding edge servers. These solutions optimize resource allocation and task offloading by distributing source files and enabling data access and processing across different nodes.
[0008] The existing solutions described above mainly rely on centralized storage and single-path download for storing large-scale railway BIM models. This makes loading the original files of large-scale BIM models difficult and inefficient, thus limiting the widespread application of BIM models throughout their entire lifecycle. Summary of the Invention
[0009] This invention provides a method for transmitting railway BIM models based on distributed storage and multiplexing, so as to effectively improve the transmission efficiency of railway BIM file data.
[0010] To achieve the above objectives, the present invention adopts the following technical solution.
[0011] A method for transmitting railway Building Information Modeling (BIM) model files based on distributed storage, comprising:
[0012] The railway BIM model file to be deployed is decomposed into multiple sub-files using a lightweight approach.
[0013] The sub-files are uploaded to the cloud server, which then distributes the sub-files across various edge server nodes. The cloud server transmits a list of lightweight railway BIM model sub-files to the gateway. This list contains the file name, identifier, and BIMdex address index information of each sub-file.
[0014] The gateway samples the list of lightweight railway BIM model sub-files output by the cloud server, records the storage node location, access frequency and data size of each sub-file, and organizes the sampling results into a training dataset.
[0015] Construct a BIMdex index model, and train the BIMdex index model using the training dataset to obtain a trained BIMdex index model.
[0016] The trained BIMdex index model is deployed locally on the gateway. When the end device sends a file request carrying a file identifier to the gateway, the BIMdex index model in the gateway queries the list of sub-files of the lightweight railway BIM model according to the file identifier, obtains the BIMdex address index corresponding to the file identifier, and returns the queried BIMdex address index to the end device.
[0017] Preferably, the method further includes:
[0018] Cloud servers centrally store BIM folder information Each BIM folder It contains n sub-BIM files of different sizes obtained by decomposing a lightweight railway BIM model file. Total size of each BIM folder Represented as a set The size of each sub-file in the BIM folder is denoted as . ;
[0019] After the terminal device obtains the BIM file index, it sends requests for sub-files to different edge server nodes in parallel. When a request is received, the corresponding Elasticsearch node checks whether its own cache contains the required sub-file. If it exists, it returns the file directly; otherwise, it forwards the request to the cloud server. The cloud server sends the file to the end device through the edge server node and caches the corresponding sub-file in the edge server node. The end device then aggregates and stores the sub-files returned by each edge server.
[0020] Preferably, the method further includes:
[0021] When an end device requests all sub-files contained in a BIM folder from the gateway, the gateway checks whether an index for the BIM folder has been allocated to the end devices in that region. If not, the gateway allocates BIMdex address indexes for each sub-file in the BIM folder to the end devices in that region based on load balancing. These BIMdex address indexes point to k Elasticsearch (ES) nodes, meaning the sub-files in the BIM folder are distributed and stored across k ES nodes. Each ES node stores... .
[0022] Preferably, the construction of the BIMdex index model, which involves training the BIMdex index model using the training dataset to obtain a trained BIMdex index model, includes:
[0023] A BIMdex index model is constructed, which adopts a recursive model index structure. The gateway regularly samples the list of lightweight railway BIM model sub-files output by the cloud server, records the storage node location, access frequency and data size of each lightweight railway BIM model sub-file, and organizes the sampling results into a training dataset.
[0024] Using the training dataset, a recursive model index is established through a supervised learning algorithm. The BIMdex index model is trained using an incremental training mechanism. The input of the BIMdex index model is the filename of the lightweight railway BIM model sub-file, and the output is the BIMdex address index of the file stored on each edge server node, thus obtaining the trained BIMdex index model.
[0025] When file migration and node state changes occur, the BIMdex index model is retrained and updated. When the BIMdex index model fails to index or prediction fails, the system reverts to a retrieval mechanism based on a traditional tree index.
[0026] As can be seen from the technical solutions provided by the embodiments of the present invention above, the present invention proposes a method for rapid loading of BIM models based on distributed storage and multiplexing technology to significantly improve data transmission efficiency. By distributing sub-files of the same railway BIM data model across multiple physical nodes and combining load balancing technology, the present invention improves the system's fault tolerance and data reliability, effectively solves the latency problem caused by centralized storage, and achieves faster access speeds and higher data throughput.
[0027] Additional aspects and advantages of the invention will be set forth in part in the description which follows, and will become apparent from the description or may be learned by practice of the invention. Attached Figure Description
[0028] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0029] Figure 1 A system architecture diagram for a distributed storage and multiplexing scenario provided by an embodiment of the present invention;
[0030] Figure 2 This is a schematic diagram of lightweight decomposition of a BIM model provided in an embodiment of the present invention;
[0031] Figure 3 A distributed storage flowchart is provided for an embodiment of the present invention;
[0032] Figure 4 A multiplexing flowchart provided in an embodiment of the present invention;
[0033] Figure 5 A schematic diagram of a BIMdex index model provided in an embodiment of the present invention;
[0034] Figure 6 The flowchart illustrates a method for rapid loading of railway BIM models based on distributed storage and multiplexing, as provided in this embodiment of the invention. Detailed Implementation
[0035] Embodiments of the present invention are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and should not be construed as limiting the present invention.
[0036] Those skilled in the art will understand that, unless specifically stated otherwise, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. It should be further understood that the term “comprising” as used in this specification means the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. It should be understood that when we say an element is “connected” or “coupled” to another element, it can be directly connected or coupled to the other element, or there may be intermediate elements. Furthermore, “connected” or “coupled” as used herein can include wireless connections or couplings. The term “and / or” as used herein includes any and all combinations of one or more of the associated listed items.
[0037] It will be understood by those skilled in the art that, unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. It should also be understood that terms such as those defined in general dictionaries should be understood to have the same meaning as in the context of the prior art, and should not be interpreted in an idealized or overly formal sense unless defined as herein.
[0038] To facilitate understanding of the embodiments of the present invention, the following will provide further explanation and description with reference to the accompanying drawings and several specific embodiments. These embodiments do not constitute a limitation on the embodiments of the present invention.
[0039] This invention proposes a distributed storage and method for railway BIM models by introducing multiple edge servers in addition to cloud servers. The same BIM file is lightweightly decomposed into multiple smaller files, which are distributed and stored on various edge nodes. When an end device needs to access a BIM file, it can pull different sub-files from multiple edge servers in parallel and aggregate them locally to generate a complete file. The distributed storage and retrieval process of small files is further optimized by designing BIMdex indexing technology. BIMdex generates an efficient index structure based on the dynamic access patterns of railway BIM data, significantly reducing the time overhead of index queries and enabling end devices to quickly locate target data. This method significantly improves data transmission efficiency and loading speed, meeting the application requirements of railway BIM models in multi-terminal, high-concurrency scenarios, and providing strong support for efficient data access and resource scheduling.
[0040] By applying multiplexing technology, this invention further optimizes data transmission. Large files are split into multiple smaller files for distributed storage, enabling parallel transmission of these sub-files via different paths. This allows multiple data sources to be transmitted concurrently to the output channel, significantly improving transmission efficiency and meeting the high-efficiency transmission requirements of large-scale BIM data. Furthermore, this invention designs BIMdex, which, through modeling railway BIM data access patterns, significantly reduces index query time, effectively improves the retrieval efficiency of small files in a distributed storage environment, and enhances index performance in scenarios with high concurrency transmission of multiple small files, providing strong support for loading large-scale railway BIM models.
[0041] This invention, in its embodiments, addresses the distributed storage and multiplexing scenarios of railway BIM data, and designs, for example... Figure 1The distributed storage and multiplexing system architecture shown comprises three levels: cloud servers, Elasticsearch (ES) (Edge Server), and end devices, coordinated and scheduled by a gateway. This forms a multi-layered network structure for data transmission and processing, addressing the needs of efficient storage, transmission, and real-time access to massive amounts of data in railway engineering projects. The cloud servers centrally store BIM folder information. Each BIM folder It contains n sub-BIM files of different sizes obtained by decomposing a lightweight railway BIM model file. That is, each BIM folder Each railway BIM model file corresponds to a specific railway line, to accommodate different transmission requirements. Figure 2 This is a schematic diagram of lightweight decomposition of a BIM model provided in an embodiment of the present invention; simultaneously, the total size of each BIM folder... Represented as a set For each BIM folder, the size of its sub-files is denoted as... This allows the gateway to allocate resources based on content size and transmission requirements. Elasticsearch (ES) resides between the cloud server and the end devices. Multiple ES instances form a cluster. The cloud server connects to multiple geographically distributed ES instances, transmitting data via high-bandwidth backhaul links to ensure transmission speed and real-time content updates. The end devices request sub-files from the ES instance based on the BIM address index returned by the gateway, aggregate and load each sub-file locally, and finally display them to the user.
[0042] In the terminal A collection of devices consisting of individual terminal devices Among them, terminal equipment Connect several edge server nodes within its network coverage area. The cache capacity of each edge node is denoted as . The storage for cloud servers and end devices are respectively... and The total file size is S, which satisfies This design ensures that in every time period Within the system, data can be transmitted in parallel from different ES nodes to end devices as needed, enabling efficient multiplexing and rapid response in railway engineering scenarios.
[0043] In terms of distributed deployment, this embodiment of the invention uses a cloud-edge-device architecture to distribute the data storage and transmission pressure of railway BIM data. The gateway, as the system core, manages all BIM data files, responds to file access requests, and performs unified scheduling to ensure fast and efficient content transmission. Figure 3 A distributed storage flowchart is provided for an embodiment of the present invention, such as Figure 3As shown in A, when the cloud server uploads and updates a certain BIM folder, the gateway will update the total BIM file list so that a BIMdex can be created for that folder in the future.
[0044] Figure 3 Diagram B illustrates how, when a device in a certain region requests a BIM folder (i.e., requests all sub-files contained within that BIM folder), the gateway checks whether an index for that BIM folder has been allocated to the device in that region. If not, it allocates BIMdex address indexes for each sub-file in the BIM folder to the device in that region based on load balancing. These BIMdex address indexes point to k Elasticsearch (ES) nodes, meaning the sub-files in the BIM folder are distributed and stored across k ES nodes. Each ES node stores... This reduces the caching pressure on a single edge node and disperses traffic.
[0045] The processing flowchart of a railway BIM model transmission method based on distributed storage and multiplexing provided in this embodiment of the invention includes the following processing steps;
[0046] Step S10: First, the railway BIM model file to be deployed is decomposed into lightweight railway BIM model sub-files (hereinafter referred to as sub-files), which reduces the computing and storage resources required to deploy the entire railway BIM model file on resource-constrained terminal devices.
[0047] Step S20: Upload the lightweight railway BIM model sub-files obtained in Step S10 to the cloud server. The cloud server transmits a list of lightweight railway BIM model sub-files to the gateway. This list includes information such as the file name, identifier, BIMdex address index, and data size of each lightweight railway BIM model sub-file. The BIMdex address index can be the address index of each edge server node. After the lightweight decomposition of a railway BIM model, each lightweight railway BIM model sub-file can correspond to a different BIMdex address index, realizing the distributed storage of each sub-file of a railway BIM model at different addresses. The list of lightweight railway BIM model sub-files also includes the name and hierarchical structure information of each BIM folder storing the lightweight railway BIM model sub-files. The gateway receives and stores the list of lightweight railway BIM model sub-files sent by the cloud server.
[0048] Step S30: To optimize file indexing and access efficiency, this invention constructs the BIMdex index model. This BIMdex index model combines machine learning techniques, using linear regression models and neural networks to learn and simulate the distribution of data to predict the position of data records in the sorted array. Overall, BIMdex adopts a recursive model indexing structure, gradually narrowing the search range through multi-stage model prediction, thereby improving the efficiency and accuracy of indexing. This structure allows for the use of different types of models at different stages to adapt to changes in data distribution.
[0049] The system designs and manages access paths for lightweight railway BIM model sub-files, generating an efficient index structure for these sub-files. This significantly reduces the time overhead of index queries, enabling end devices to quickly locate target data. Specifically, the BIMdex index model achieves rapid location of the split lightweight railway BIM model sub-files and efficient mapping of storage nodes by sampling data distribution, handling index updates and invalidations, and retrieving indexes.
[0050] Step S31: Data distribution sampling. The gateway samples the list of lightweight railway BIM model sub-files output by the cloud server in a regular manner, records the storage node location, access frequency and data size of each sub-file (i.e., lightweight railway BIM model sub-file), and organizes the sampling results into a training dataset.
[0051] Step S32: Train the BIMdex index model using the above training dataset to obtain the trained BIMdex index model.
[0052] A recursive model index is built using the training dataset described above through a supervised learning algorithm. The input to the BIMdex index model is the filename of the subfile (i.e., the lightweight railway BIM model subfile), and the output is the BIMdex address index where the file is stored on each edge server node. The BIMdex index model adopts an incremental training mechanism, continuously optimizing index performance by adding the latest access data in real time, and outputting the BIMdex address index.
[0053] Step S33: Deploy the trained BIMdex index model to the local gateway to ensure that index requests can be responded to quickly.
[0054] Step S34: Maintain the BIMdex index model, set trigger conditions (file migration and node status change), retrain and update the BIMdex index model to ensure its accuracy and consistency. When the index fails or prediction fails, the system will fall back to a retrieval mechanism based on a traditional tree index to ensure the reliability of file access.
[0055] Step S35: Index Lookup. When the terminal device sends a file request carrying a file identifier to the gateway, the BIMdex index model in the gateway queries the list of sub-files of the lightweight railway BIM model based on the file identifier, obtains the BIMdex address index corresponding to the file identifier, and returns the queried BIMdex address index to the terminal device. The terminal device performs a binary search within the maximum prediction error range based on the BIMdex address index returned by the gateway to finally locate the actual storage location of the requested file.
[0056] Step S40: When the end device requests a certain BIM folder, the gateway determines whether the folder name exists in the BIM master file list output in s20. If it does, it determines whether to create an index for each sub-file in the BIM folder. If not, it distributes the index according to load balancing and stores each sub-file in the BIM folder on multiple geographically distributed edge servers. At the same time, it creates the BIMdex address index obtained in s30 for each sub-file and returns the BIMdex address index to the end device.
[0057] Step S50: The terminal device determines the BIMdex address index of the sub-file in the requested BIM folder based on the BIMdex index returned in step S40, and requests the sub-file from multiple edge servers. Each edge server checks whether it has cached the corresponding sub-file; if not, it pulls it from the cloud server and caches it locally, transmitting it to the terminal device in parallel from different edge servers. The terminal device then aggregates and generates a complete railway BIM model file. This achieves multiplexing and transmission of multiple small BIM files to the terminal device. Figure 4 This is a multiplexing flowchart provided in an embodiment of the present invention.
[0058] Step S60: Based on the complete railway BIM model file obtained in step S50, render and display the model. Render the complete BIM model file and display it to the user.
[0059] Regarding multiplexing and caching optimization, the method employed in this invention can meet the rapid response requirements of BIM data in railway engineering scenarios. For example... Figure 1 and Figure 4 As shown, the system achieves parallel content download by establishing distributed, multi-path transmission between the cloud, edge, and endpoints, thereby significantly reducing system response time. Specifically, after the endpoint device obtains the BIM file index, it can send requests to different ES nodes in parallel to retrieve sub-files. The corresponding Elasticsearch (ES) node checks if its own cache contains the required sub-file. If it does, it returns the file directly; otherwise, it forwards the request to the cloud server. The cloud server then sends the file to the end device through the ES node and caches the corresponding sub-file in the ES node. Finally, the end device aggregates and caches the files.
[0060] To further optimize file indexing and access efficiency, this invention proposes a BIMdex indexing model. This model combines machine learning techniques to dynamically manage and schedule the distribution and access paths of lightweight railway BIM model sub-files. The specific implementation scheme is as follows:
[0061] a. Data distribution sampling:
[0062] The gateway samples the distribution pattern of lightweight railway BIM model sub-files in the edge server list data, and records the storage node location, access frequency and data size of each sub-file.
[0063] The sampling results are organized into a training dataset to provide a foundation for subsequent index model training.
[0064] b. Index model training:
[0065] Using sampled data, a recursive model index is built through a supervised learning algorithm, such as... Figure 5 As shown.
[0066] The model takes the filename of the sub-file as input and outputs the address index of where the file is stored on each edge server node.
[0067] The overall approach uses a neural network model as the data fitting model, employing gradient descent training to minimize prediction error. Figure 5 As shown in (b) of the diagram.
[0068] To adapt to dynamically changing access patterns, the model employs an incremental training mechanism, continuously optimizing indexing performance by adding the latest access data in real time.
[0069] c. Model Deployment:
[0070] Deploy the trained indexing model to the gateway to ensure that indexing requests can be responded to quickly.
[0071] d. Index update and invalidation handling:
[0072] Set trigger conditions (file migration and node status change), retrain and update the index model to ensure the accuracy and consistency of the index.
[0073] When an index fails or a prediction fails, the system will fall back to a retrieval mechanism based on a traditional tree index to ensure the reliability of file access.
[0074] e. Index lookup:
[0075] When an end device sends a file request, the BIMdex module predicts the address of the file storage node based on the file identifier.
[0076] Based on the returned prediction results, a binary search is performed within the maximum prediction error range to finally locate the actual storage location of the target file.
[0077] The relevant algorithms are established as follows.
[0078] Algorithm 1: BIMdex Indexing Algorithm Input: Railway sub-file gateway data Output: BIMdex index 1. Train BIMdex(sampled data, model parameters) 2. R := Initialize index model() Initialize the BIMdex model. 3. D := Data sampling(sampled data) Collect and preprocess the data distribution sampling results. 4. for data_sample in D do 5. Train BIMdex model(R, data_sample) Build a recursive model index layer using supervised learning. 6. Incrementally update model(R, real-time data) Optimize index performance for recursive access patterns. 7. Deploy model(R) Ensure fast response to index requests on the gateway. 8. Return R
[0079] Algorithm 2: Index Maintenance Algorithm Input: Index before update Output: Index after update 1. Index Maintenance (R) 2. if Triggering condition (file migration, node state change) then 3. Retrain the index model (R, Update data) Handle the change and retrain to ensure accuracy. 4. else if the index fails (R, Prediction) then 5. Fallback to tree-based index () Use traditional indexing mechanisms to ensure reliability. 6. Return the updated index
[0080] Algorithm 3: Index Lookup Algorithm Input: The file to be predicted. Output: File location. 1. function Predict file location(request) 2. P := R. Predict file node(request) Predict the file's storage node address based on the request. 3. Actual location := Binary search(P) Accurately locate the file within the maximum error range. 4. return actual location
[0081] The processing flow of a rapid loading method for railway BIM models based on distributed storage and multiplexing provided in this embodiment of the invention is as follows: Figure 6 As shown, the processing steps include the following: When a terminal device requests a BIM file, it first checks its local cache; if no cache is found, it initiates an index request to the gateway. The gateway returns the address index of the allocated Elasticsearch (ES) node where the file is located, based on a distributed storage strategy. The terminal device then uses this index to request the file from the corresponding ES node. Finally, the terminal device uses multiplexing technology to retrieve the corresponding sub-files from each ES node, aggregates them, and displays them to the user.
[0082] The goal of this invention is to reduce system transmission time and improve overall speed. Ideally, necessary files would be cached on the end devices. However, end devices have limited capacity, so they cannot cache all files. Storing all files on a cloud server is also affected by network bandwidth. With a fixed uplink bandwidth on the cloud server, the more devices accessing the cloud server simultaneously, the less bandwidth each device receives. Therefore, multiple edge servers are deployed between the cloud server and the end devices, distributing multiple lightweight railway BIM model sub-files. When an end device requests a file, it is multiplexed from each edge server and transmitted to the end device, thereby improving the overall system speed.
[0083] The time frame can be divided into several stages, including the time from the cloud server to the edge server. Transmission time from edge server to end device The transmission time of this scheme is denoted as . The time it takes for the cloud server to transmit data to the end device Furthermore, some operations involved in the transmission process are at the millisecond level (such as the time it takes for the end device to send a request to the gateway, the gateway's processing time, the gateway's request for a file index from the cloud server, the cloud server's processing time for the request, the cloud server's return of the file index to the gateway, the time it takes for the end device to send a request to the edge server, and the time it takes for the edge server to send a request to the cloud server). These can be ignored in the overall calculation, and the file loading time is negligible. This is outside the scope of this invention, so as to focus on the time consumption in the main transmission process.
[0084] Considering the large number of devices served by the cloud server and its limited bandwidth, the uplink bandwidth for a specific request on the cloud server is set to... The edge server serves relatively few devices, so the uplink bandwidth of the edge server for a given request is... ,satisfy And each ES node Same. For a given folder The following are several transmission times:
[0085] (4-1)
[0086] (4-2)
[0087] (4-3)
[0088] The transmission time for a single terminal device is:
[0089] (4-4)
[0090] If multiple devices access the BIM file within a certain time period, this can be converted into n accesses. The total system time is then:
[0091] (4-5)
[0092] (4-6)
[0093] In this invention, ES nodes use the same configuration, so when allocating edge servers and establishing BIMdex, each ES node undertakes approximately the same tasks. When n→∞, Since the constant term can be ignored, therefore:
[0094] (4-7)
[0095] Obviously This demonstrates that the transmission speed of the present invention is superior to other methods.
[0096] This invention validates the method of fetching lightweight sub-files via edge servers by developing a system based on Vue.js and Electron. Taking a 157MB BIM file of the electromechanical components of a large railway station as an example, the large file was lightweightly divided into 50 smaller files, with a total size of 91.8MB, and distributed across three edge servers. The overall download time was only about 3.72 seconds, the rendering time was about 17.28 seconds, and the total loading time was 21 seconds. Compared to the traditional centralized storage and transmission of large files, the download time is significantly improved, decreasing from 39.72 seconds to 3.72 seconds, a speedup of 90.63%. The overall loading speed is improved by 78.88%. The experimental results verify the efficiency and practicality of this method. Overall, this invention successfully achieves efficient distributed storage and multiplexed transmission of railway BIM data, significantly improving responsiveness and loading efficiency in multi-task concurrent scenarios.
[0097] In summary, the distributed storage of this invention improves system reliability. Traditional centralized storage systems suffer from single points of failure in data access and processing. This invention, through distributed storage, disperses sub-file data of the same railway BIM model file across multiple physical nodes, effectively enhancing the system's fault tolerance and data reliability. This meets the requirements of railway projects for data stability and continuity.
[0098] Under high concurrency conditions, traditional centralized transmission methods are prone to bottlenecks. This invention innovatively introduces multiplexing technology, enabling multiple edge nodes to process data requests in parallel, thereby ensuring rapid transmission of railway BIM models. Compared to other solutions that distribute storage across multiple files to improve transmission speed, this invention achieves the goal of accelerating transmission by distributing storage for the same file. A BIMdex was designed to enable rapid loading and accurate retrieval of railway BIM models. The data transmission path was effectively optimized, significantly improving transmission speed and overall throughput, thereby greatly reducing transmission latency and providing technical support for the rapid loading of railway BIM data on different terminals.
[0099] Those skilled in the art will understand that the accompanying drawings are merely schematic diagrams of one embodiment, and the modules or processes shown in the drawings are not necessarily essential for implementing the present invention.
[0100] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that the present invention can be implemented by means of software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of the present invention.
[0101] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for apparatus or system embodiments, since they are basically similar to method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments. The apparatus and system embodiments described above are merely illustrative. 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 modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0102] The above description is merely a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for transmitting a railway building information modeling (BIM) model file based on distributed storage, characterized in that, include: The railway BIM model file that needs to be deployed is decomposed into multiple sub-files in a lightweight manner; The sub-files are uploaded to the cloud server, which then distributes the sub-files across various edge server nodes. The cloud server transmits a list of lightweight railway BIM model sub-files to the gateway. This list contains the file name, identifier, and BIMdex address index information of each sub-file. The gateway samples the list of lightweight railway BIM model sub-files output by the cloud server, records the storage node location, access frequency and data size of each sub-file, and organizes the sampling results into a training dataset. Constructing a BIMdex index model, and training the BIMdex index model using the training dataset to obtain a trained BIMdex index model, including: A BIMdex index model is constructed, which adopts a recursive model index structure. The gateway regularly samples the list of lightweight railway BIM model sub-files output by the cloud server, records the storage node location, access frequency and data size of each lightweight railway BIM model sub-file, and organizes the sampling results into a training dataset. Using the training dataset, a recursive model index is established through a supervised learning algorithm. The BIMdex index model is trained using an incremental training mechanism. The input of the BIMdex index model is the filename of the lightweight railway BIM model sub-file, and the output is the BIMdex address index of the file stored on each edge server node, thus obtaining the trained BIMdex index model. When file migration and node status changes occur, the BIMdex index model is retrained and updated. When the index of the BIMdex index model fails or prediction fails, the system reverts to a retrieval mechanism based on a traditional tree index. Deploy the trained BIMdex index model locally on the gateway; When the terminal device sends a file request carrying a file identifier to the gateway, the BIMdex index model in the gateway queries the list of sub-files of the lightweight railway BIM model according to the file identifier, obtains the BIMdex address index corresponding to the file identifier, and returns the queried BIMdex address index to the terminal device. The terminal device performs a binary search within the maximum prediction error range according to the BIMdex address index returned by the gateway, and finally locates the actual storage location of the requested file. When an end device requests a BIM folder from the gateway, the gateway checks whether the folder name exists in the BIM master file list. If it does, it checks whether to create an index for each sub-file in the BIM folder. If not, it distributes the index according to load balancing and stores each sub-file in the BIM folder on multiple geographically distributed edge servers. At the same time, it creates a BIMdex address index for each sub-file and returns the BIMdex address index to the end device. The terminal device determines the BIMdex address index of the sub-file in the requested BIM folder based on the returned BIMdex index, requests the sub-file from multiple edge servers, and each edge server checks whether it has cached the corresponding sub-file. If it has not cached it, it pulls it from the cloud server and caches it locally. The sub-files are transmitted to the terminal device in parallel from different edge servers. The terminal device then aggregates the data to generate a complete railway BIM model file.
2. The method of claim 1, wherein, The method further includes: Cloud server stores BIM folder information centrally Each BIM folder Contains n sub-BIM files of different sizes obtained by decomposing a railway BIM model file after lightening Total size of each BIM folder Indicated as a set The size of the sub-file in each BIM folder is recorded as ; After the terminal device obtains the BIM file index, it sends requests for sub-files to different edge server nodes in parallel. When a request is received, the corresponding Elasticsearch node checks whether its own cache contains the required sub-file. If it exists, it returns the file directly; otherwise, it forwards the request to the cloud server. The cloud server sends the file to the end device through the edge server node and caches the corresponding sub-file in the edge server node. The end device then aggregates and stores the sub-files returned by each edge server.
3. The method according to claim 2, characterized in that, The method further includes: When a device in a certain area requests all sub-files contained in a BIM folder from the gateway, the gateway checks whether an index for the BIM folder has been allocated to the device in that area. If not, the gateway allocates BIMdex address indexes for each sub-file in the BIM folder to the device in that area based on load balancing. These BIMdex address indexes point to k Elasticsearch (ES) nodes, meaning the sub-files in the BIM folder are distributed and stored across k ES nodes. Each ES node stores... .