Distributed storage and management method and system for clinical multi-source and multi-modal data
By combining FastDFS and MySQL, efficient distributed storage and management of multi-source and multi-modal data is achieved, solving the problems of high metadata overhead and data silos in traditional storage systems, and improving the stability and efficiency of the system.
Patent Information
- Application Number
- CN202511362812.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-23
- Publication Date
- 2026-01-09
AI Technical Summary
Traditional storage systems suffer from high metadata overhead and low storage efficiency when processing small files. Heterogeneous data is difficult to access in a unified manner, forming data silos. Static sharding strategies can lead to hot nodes, causing system performance instability.
By employing the FastDFS distributed file system and MySQL metadata database, multimodal clinical data is preprocessed to generate integrated metadata, which is then written into the MySQL metadata database. The uniqueness of files is verified using MD5 values, thereby achieving distributed storage and management of files.
It improves the storage efficiency, sharing and collaboration capabilities, and system performance stability of clinical multi-source and multimodal data, and solves the problems of high metadata overhead, data silos, and hot nodes.
Smart Images

Figure CN121301430A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of distributed storage and big data technology, and in particular to a distributed storage and management method and system for clinical multi-source multi-modal data. BACKGROUND
[0002] Currently, the storage and management of clinical multi-source multi-modal data faces many challenges. When dealing with small files, the traditional storage system has too much metadata overhead, resulting in low storage efficiency and affecting the overall I / O throughput capacity. Data from different sources cannot be accessed uniformly due to protocol heterogeneity, forming data islands and hindering data sharing and collaboration. In addition, static sharding strategies can easily cause hot node problems, resulting in significant differences in node load and affecting system performance and stability. These problems seriously restrict the efficient use and management of clinical multi-modal data.
[0003] Therefore, there is an urgent need to provide a technical solution to solve the above problems. SUMMARY
[0004] To solve the above technical problems, the present application provides a distributed storage and management method and system for clinical multi-source multi-modal data.
[0005] In a first aspect, the present application provides a distributed storage and management method for clinical multi-source multi-modal data, and the technical solution of the method is as follows: Receiving multi-modal clinical data from multiple heterogeneous data sources, and preprocessing the multi-modal clinical data to obtain a preprocessing data packet containing a binary file, a source identifier and preliminary metadata; Determining the data type and label information of the binary file, and assembling the source identifier, the data type, the label information and the preliminary metadata to generate integrated metadata; Writing the binary file into a FastDFS distributed file system, obtaining the file identifier, storage group and storage path of the binary file in the FastDFS distributed file system, and calculating the MD5 value of the binary file; According to the file identifier, the storage group, the storage path, the MD5 value and the integrated metadata, generating complete metadata and writing it into a MySQL metadata database; In the process of writing the complete metadata into the MySQL metadata database, if the complete metadata fails to be written, a deletion operation of the file corresponding to the file identifier in the FastDFS distributed file system is triggered; In response to a data query request, searching in the MySQL metadata database according to the query condition, obtaining the target file identifier that meets the query condition, and generating a file access address based on the target file identifier and returning it to the user end.
[0006] The clinical multi-source multi-modal data distributed storage and management method has the following beneficial effects: The method can solve the problems of large metadata overhead, low storage efficiency, difficulty in unified access of heterogeneous data, data island, and unstable system performance caused by hot nodes due to static sharding strategy of the traditional storage system, and improve the storage efficiency, sharing and collaboration ability, and system performance stability of the clinical multi-source multi-modal data.
[0007] Based on the above scheme, the clinical multi-source multi-modal data distributed storage and management method can be further improved as follows.
[0008] In an optional manner, the preprocessing manner includes at least one of format conversion, format verification, permission verification, and data standardization.
[0009] In an optional manner, the step of determining the data type and the label information of the binary file includes: According to the file extension or the file header information of the binary file, the data type of the binary file is identified; Based on the manual label carried by the user terminal during uploading and the automatic label generated by identifying the binary file, the label information is formed.
[0010] In an optional manner, the method further includes: According to the MD5 value, it is queried whether the same MD5 value exists in the MySQL metadata database; If it exists, the original file identifier of the stored file is obtained, the manual label carried by the user terminal during uploading is merged and updated with the original label of the stored file, and the original file identifier is returned to the user terminal.
[0011] In an optional manner, the method further includes: In response to a data update request, the corresponding metadata in the MySQL metadata database is updated, and the file corresponding to the file identifier in the metadata in the FastDFS distributed file system is synchronously updated.
[0012] In an optional manner, the method further includes: In response to a data deletion request, the deletion field of the corresponding metadata in the MySQL metadata database is set to 1, and the file corresponding to the file identifier in the metadata in the FastDFS distributed file system is deleted, and if the deletion fails, the deletion field is restored to 0.
[0013] In an alternative mode, the step of searching in the MySQL meta-database according to the query condition comprises: parsing the source identifier, data type and label condition in the query condition and combining to form an SQL query statement; executing the SQL query statement by using the joint index and JSON index established in the MySQL meta-database, and obtaining the target file identifier meeting the query condition.
[0014] In a second aspect, the application provides a distributed storage and management system for clinical multi-source multi-modal data, and the technical scheme of the system is as follows: comprising a processing module, an integration module, an acquisition module, a generation module, a triggering module and a management module; The processing module is used for receiving multi-modal clinical data from multiple heterogeneous data sources, and pre-processing the multi-modal clinical data to obtain a pre-processed data package containing a binary file, a source identifier and preliminary metadata; The integration module is used for determining the data type and label information of the binary file, and assembling the source identifier, the data type, the label information and the preliminary metadata to generate integrated metadata; The acquisition module is used for writing the binary file into a FastDFS distributed file system, acquiring the file identifier, storage group and storage path of the binary file in the FastDFS distributed file system, and calculating the MD5 value of the binary file; The generation module is used for generating complete metadata according to the file identifier, storage group, storage path, MD5 value and integrated metadata, and writing the complete metadata into a MySQL meta-database; The triggering module is used for triggering a deletion operation of a file corresponding to the file identifier in the FastDFS distributed file system if the complete metadata fails to be written into the MySQL meta-database during the process of writing the complete metadata into the MySQL meta-database; The management module is used for searching in the MySQL meta-database according to a query condition in response to a data query request, acquiring a target file identifier meeting the query condition, and generating a file access address based on the target file identifier and returning the file access address to a user end.
[0015] The distributed storage and management system for clinical multi-source multi-modal data has the following beneficial effects: The system of the present application can solve the problems of large metadata overhead, low storage efficiency, difficulty in unified access of heterogeneous data forming data islands, and unstable system performance caused by hot nodes due to static sharding strategy in the process of processing small files in the traditional storage system, and improve the storage efficiency, sharing and collaboration ability, and system performance stability of clinical multi-source multi-modal data.
[0016] In a third aspect, a technical solution of an electronic device of the present application is as follows: The processor executes the program to implement the steps of the distributed storage and management method of clinical multi-source multi-modal data of the present application.
[0017] In a fourth aspect, a technical solution of a computer readable storage medium provided by the present application is as follows: The computer readable storage medium stores instructions, and when the computer readable storage medium reads the instructions, the computer readable storage medium executes the steps of the distributed storage and management method of clinical multi-source multi-modal data of the present application.
[0018] The above description is only a summary of the technical solutions of the present application, in order to more clearly understand the technical means of the present application, the specific embodiments of the present application can be implemented according to the content of the specification, and in order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the following specific embodiments of the present application are described. BRIEF DESCRIPTION OF DRAWINGS
[0019] The accompanying drawings are only used to show the embodiments and are not considered as limiting the present application. Moreover, the same reference signs are used to represent the same parts throughout the drawings. In the drawings: Figure 1 A flowchart of an embodiment of a distributed storage and management method of clinical multi-source multi-modal data of the present application; Figure 2 A structural schematic diagram of an embodiment of a distributed storage and management system of clinical multi-source multi-modal data of the present application; Figure 3 A structural schematic diagram of an embodiment of an electronic device of the present application. DETAILED DESCRIPTION
[0020] Exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments described herein.
[0021] Figure 1A flowchart of an embodiment of a clinical multi-source multi-modal data distributed storage and management method provided by the present application is shown, which can be executed by electronic devices such as terminal devices or servers. Among them, the terminal device can be any fixed or mobile terminal such as user equipment (User Equipment, UE), mobile device, user terminal, terminal, cellular phone, cordless phone, personal digital assistant (Personal Digital Assistant, PDA), handheld device, computing device, vehicle-mounted device, wearable device, etc. The server can be a single server or a server cluster composed of multiple servers. Any electronic device can realize the clinical multi-source multi-modal data distributed storage and management method by calling the computer readable instructions stored in the memory through the processor. As shown in Figure 1 includes the following steps: S1, receiving multi-modal clinical data from multiple heterogeneous data sources, and preprocessing the multi-modal clinical data to obtain a preprocessing data package containing binary files, source identifiers and preliminary metadata.
[0022] Among them, the heterogeneous data source refers to the data source with different data formats, protocols or structures; for example, the structured database table from the hospital HIS system, the DICOM image file of the PACS system, the blood analysis report of the laboratory department, and the time series data set of the respiratory department sensor. Multi-modal clinical data refers to clinical data with various forms; for example, the multi-modal clinical data composed of the electronic medical record text, chest CT scan image, blood test report and blood oxygen saturation monitoring data of the same patient. The preprocessing data package refers to the data set after preliminary processing, containing binary content and description information; for example, a data package containing CT image binary data, source identifier "CT_Source_02" and metadata segment containing file size and format. The binary file refers to a data file composed of binary encoding, which is not a pure text format; for example, a DICOM format image file generated by a chest CT examination. The source identifier refers to a string code that uniquely identifies the data source; for example, the string "LIS_DB_02" represents the data from the second database of the laboratory information system. The preliminary metadata refers to the descriptive information segment extracted or generated in the preprocessing stage; for example, a JSON object segment containing the original file name "chest_ct.dcm" and the file size "3072000".
[0023] S2, determine the data type and label information of the binary file, and assemble the source identifier, the data type, the label information and the preliminary metadata to generate integrated metadata.
[0024] Wherein, the data type refers to: the data category divided according to the file content or format; for example, the "image" type identified by the file extension ".dcm". The label information refers to: a set of labels used to describe the characteristics of the data; for example, the "pneumonia screening" manually labeled by the user and the "pulmonary ground glass shadow" automatically identified by AI together constitute a JSON array label. The integrated metadata refers to: intermediate metadata assembled from preliminary metadata and other information; for example, a JSON object containing source identification, data type, label information, file name and file size.
[0025] S3, write the binary file to the FastDFS distributed file system, obtain the file identifier, storage group and storage path of the binary file in the FastDFS distributed file system, and calculate the MD5 value of the binary file.
[0026] Wherein, the FastDFS distributed file system refers to: an open source lightweight distributed file storage system; for example, a cluster system composed of a group of Tracker and Storage servers, used to store medical image files. The file identifier refers to: a unique file access path assigned by the distributed file system; for example, the string "group2 / M00 / 00 / 01 / rBABCd5678EF.dcm". The storage group refers to: the logical division of the storage group in FastDFS; for example, the storage group named "group2", containing multiple Storage nodes as backups. The storage path refers to: the virtual path of the file in the storage group; for example, the string "M00 / 00 / 01 / rBABCd5678EF.dcm", which maps to the physical path of the storage node. The MD5 value refers to: the file hash value calculated by the MD5 algorithm; for example, the string "a1b2c3d4e5f678901234567890abcdef" is used to verify the file integrity and deduplicate.
[0027] For the FastDFS distributed file system, it needs to be noted that: 1) Cluster architecture: composed of a cluster of Tracker servers and a cluster of Storage servers, where the number of Tracker servers is not less than 2, and the Storage servers are divided into storage groups, each group not less than 2; 2) Tracker server: responsible for performing the scheduling, load balancing and state monitoring of the Storage nodes, it itself does not store file data, the state information of each node in the cluster is synchronized through the heartbeat mechanism to avoid single point failure; 3) Storage server: deployed by storage groups, each node in the same storage group stores the same file data to realize redundant backup, and different storage groups store different file data to realize horizontal expansion; when a single file needs to be stored, the Tracker server assigns a specific storage group and storage node, and the target Storage node stores the file in the local disk and synchronizes it to other nodes in the same group; 4) File identification format: adopts the structure of "storage group name / virtual path / file name", for example, group1 / M00 / 00 / 00 / wKjTyHXxABCd1234.jpg, where M00 represents the virtual path of the Storage node (mapped to the actual physical storage directory of the node), 00 / 00 is a two-level subdirectory (used to distribute file storage to avoid too many files in a single directory), and wKjTyHXxABCd1234.jpg is the actual file name generated by the system.
[0028] S4, according to the file identification, the storage group, the storage path, the MD5 value and the integrated metadata, generate complete metadata and write into the MySQL meta database.
[0029] Among them, the MySQL meta database refers to: a relational database used to store file metadata; for example, a database named "multimodal_storage" containing a file_metadata table.
[0030] It should be noted that the core table of the MySQL meta database is file_metadata (metadata table), and the table structure is as shown in Table 1: Table 1: S5, in the process of writing the complete metadata into the MySQL meta database, if the complete metadata fails to write, a delete operation of the file corresponding to the file identification in the FastDFS distributed file system is triggered.
[0031] Among them, the delete operation refers to: the action of removing the file when storage fails; for example, when the metadata fails to write into MySQL, the corresponding file stored in FastDFS is automatically deleted.
[0032] S6, in response to a data query request, searching in the MySQL meta database according to the query condition, obtaining the target file identification meeting the query condition, and generating a file access address based on the target file identification and returning it to the user end.
[0033] Wherein, the data query request refers to a data retrieval request initiated by a user; for example, a user requests to retrieve all image data with a "pneumonia" label. The query condition refers to a filtering parameter specified during retrieval; for example, the condition set {source: "CT_Source_02", data type: "image", label: "ground glass shadow"}. The target file identifier refers to a list of file identifiers in the query result that meet the conditions. The file access address refers to a complete URL that can access the file via HTTP; for example, "http: / / fdfs.example.com / group2 / M00 / 00 / 01 / rBABCd5678EF.dcm". The user end refers to a client device or application that initiates a request or receives a result; for example, a clinical diagnosis workstation software used by a respiratory physician.
[0034] The technical solution of the embodiment can solve the problems of large metadata overhead, low storage efficiency, difficulty in unified access of heterogeneous data forming data islands, and unstable system performance caused by hot nodes due to static sharding strategy in traditional storage systems, thereby improving the storage efficiency, sharing and collaboration ability, and system performance stability of clinical multi-source multi-modal data.
[0035] In an optional manner, the pre-processing manner includes at least one of format conversion, format verification, permission verification, and data standardization.
[0036] Wherein, the format conversion refers to the process of converting data into an internal standard format; for example, converting an XML format inspection report into a unified JSON format within the system. The format verification refers to the process of verifying that the data format conforms to the specification; for example, verifying whether the uploaded image file is a valid DICOM format. The permission verification refers to the process of verifying whether the data source has the right to access the system; for example, checking whether the Source ID in the request header exists in the pre-authorized list. The data standardization refers to the process of converting data into a unified specification; for example, converting text data of different encodings into UTF-8 encoding.
[0037] In the above optional manner, the flexibility and standardization capability of data processing are further improved, and through multiple preprocessing methods such as format conversion, verification, and permission verification, the quality and availability of multi-source multi-modal data are ensured.
[0038] In an optional manner, the step of determining the data type and label information of the binary file includes: According to the file extension or file header information of the binary file, the data type of the binary file is identified.
[0039] Wherein, the file extension refers to the suffix part after the dot in the file name; for example, the extension of the file "chest_ct.dcm" is "dcm". The file header information refers to the binary signature data at the starting position of the file; for example, the 128-byte reserved field at the beginning of the DICOM file header and the 4-byte prefix "DICM".
[0040] Based on the manual label carried by the user terminal during uploading and the automatic label generated by identifying the binary file, the label information is formed.
[0041] Wherein, the manual label refers to the descriptive label manually input by the user during uploading; for example, the label "right upper lobe of lung" input by the user during uploading the image. The automatic label refers to the label automatically generated by analyzing the file content; for example, the label "lung nodule detection" generated by analyzing the image through an AI image recognition model.
[0042] In the above optional mode, the intelligent level of data management is further enhanced, and the data type and characteristics are accurately identified and described through comprehensive file extension, file header information, and manual and automatic labels, which facilitates subsequent data retrieval and analysis.
[0043] In an optional mode, it further comprises: According to the MD5 value, it is queried in the MySQL metadata database whether the same MD5 value exists.
[0044] If it exists, the original file identifier corresponding to the stored file is obtained, the manual label carried by the user terminal during uploading is merged and updated with the original label of the stored file, and the original file identifier is returned to the user terminal.
[0045] Wherein, the stored file refers to the file with the same MD5 value that already exists in the system; for example, the image file with MD5 value "a1b2…cdef" already exists in FastDFS. The original file identifier refers to the unique identifier of the stored file in the system; for example, the existing file identifier "group2 / M00 / 00 / 01 / rBABCd5678EF.dcm". The original label refers to the current label set associated with the stored file; for example, the existing label list of the stored file "initial diagnosis", "2023 annual".
[0046] In the above optional mode, the data storage efficiency and deduplication capability are further optimized, the MD5 value verification mechanism is used to avoid repeated storage of the same file, storage resources are saved, and the label information is updated to maintain the dynamics and accuracy of the data.
[0047] In an optional mode, it further comprises: In response to the data update request, the corresponding metadata in the MySQL metadata database is updated, and the file corresponding to the file identifier in the metadata in the FastDFS distributed file system is synchronously updated.
[0048] The data update request refers to an operation of modifying existing data metadata or content, for example, modifying the label of a file to "recheck confirmation".
[0049] In the optional mode, the data update mechanism is further improved, the synchronization update of the metadata database and the distributed file system is realized, the consistency and timeliness of the data are ensured, and the changing needs of clinical data are met.
[0050] In an optional mode, the method further comprises: In response to the data deletion request, the deletion field of the corresponding metadata in the MySQL metadata database is set to 1, and the file corresponding to the file identifier in the metadata in the FastDFS distributed file system is deleted. If the deletion fails, the deletion field is restored to 0.
[0051] The data deletion request refers to an operation of deleting existing data, for example, deleting a CT image data uploaded repeatedly. The deletion field refers to a flag field for logical deletion, for example, the is_deleted field in the file_metadata table, 1 indicating that the data has been deleted.
[0052] In the optional mode, the safety and reliability of data deletion are further improved, the deletion flag is restored in time when the deletion operation fails, data loss is prevented, and the integrity and stability of data management are ensured.
[0053] In an optional mode, the step of searching in the MySQL metadata database according to the query condition comprises: The source identifier, data type and label condition in the query condition are parsed and combined to form an SQL query statement.
[0054] The label condition refers to a condition containing label filtering in the query, for example, the condition "JSON_CONTAINS(tags, '"ground glass shadow"') in the SQL query. The SQL query statement refers to a structured query statement for database query, for example, "SELECT file_id FROM file_metadata WHERE source_id='CT_Source_02' AND modal_type='IMAGE'".
[0055] The SQL query statement is executed by using the joint index and the JSON index established in the MySQL meta database to obtain the target file identifier meeting the query condition.
[0056] The joint index refers to a database index created based on multiple fields, for example, an idx_source_modal index created based on source_id and modal_type fields in a MySQL table. The JSON index refers to a database index created for a JSON type field, for example, a JSON index created for a tags field in MySQL 8.0 to accelerate tag query.
[0057] In the optional manner, the speed and accuracy of data query are further improved. By constructing the joint index and the JSON index, the target file is quickly located, the response efficiency is improved, and the demand for efficient data retrieval is met.
[0058] It should be noted that the embodiment adopts a hierarchical system architecture, includes a data access layer, a business logic layer and a storage layer, and is constructed based on a MySQL meta database and a FastDFS distributed file system dual storage engine. The business logic layer is used to realize cooperative processing and consistency control between metadata and file data. The system architecture specifically includes: 1) The data access layer is used to receive multi-modal clinical data from multiple heterogeneous data sources, and pre-process the multi-modal clinical data. 2) The business logic layer is used to classify, generate labels and perform deduplication processing on the pre-processed data, and control synchronization between metadata and file data. 3) The storage layer is used to persistently store data, wherein the MySQL meta database stores file metadata, the FastDFS distributed file system stores original files, and the Nginx server is configured to provide file access services based on the HTTP protocol.
[0059] Figure 2 An embodiment of a structure schematic diagram of a distributed storage and management system 200 for clinical multi-source multi-modal data provided by the application is shown. As shown in the figure, Figure 2 The system 200 includes a processing module 210, an integration module 220, an acquisition module 230, a generation module 240, a triggering module 250 and a management module 260. The processing module 210 is used to receive multi-modal clinical data from multiple heterogeneous data sources, and pre-process the multi-modal clinical data to obtain a pre-processed data packet containing a binary file, a source identifier and preliminary metadata. The integration module 220 is configured to determine the data type and label information of the binary file, and assemble the source identifier, the data type, the label information and the preliminary metadata to generate integrated metadata. The acquisition module 230 is configured to write the binary file into a FastDFS distributed file system, acquire a file identifier, a storage group and a storage path of the binary file in the FastDFS distributed file system, and calculate an MD5 value of the binary file. The generation module 240 is configured to generate complete metadata according to the file identifier, the storage group, the storage path, the MD5 value and the integrated metadata, and write the complete metadata into a MySQL metadata database. The triggering module 250 is configured to, in the process of writing the complete metadata into the MySQL metadata database, if the writing of the complete metadata fails, trigger a deletion operation of a file corresponding to the file identifier in the FastDFS distributed file system. The management module 260 is configured to, in response to a data query request, search in the MySQL metadata database according to a query condition, acquire a target file identifier meeting the query condition, and generate a file access address based on the target file identifier and return the file access address to a user terminal.
[0060] In an optional manner, the preprocessing manner includes at least one of format conversion, format verification, permission verification and data standardization.
[0061] In an optional manner, the integration module 220 is specifically configured to: identify the data type of the binary file according to a file extension or file header information of the binary file; The label information is composed of a manual label carried by the user terminal during uploading and an automatic label generated by identifying the binary file.
[0062] In an optional manner, the method further includes a query module, and the query module is configured to: query whether there is an identical MD5 value in the MySQL metadata database according to the MD5 value; if there is, acquire an original file identifier corresponding to a stored file, merge and update the manual label carried by the user terminal during uploading and an original label of the stored file, and return the original file identifier to the user terminal.
[0063] In an optional manner, the method further includes an update module, and the update module is configured to: In response to the data update request, corresponding metadata in the MySQL meta-database is updated, and a file corresponding to a file identifier in the metadata in the FastDFS distributed file system is synchronously updated.
[0064] In an alternative way, the system further comprises a deletion module, wherein the deletion module is configured to: In response to the data deletion request, a deletion field of corresponding metadata in the MySQL meta-database is set to 1, and a file corresponding to a file identifier in the metadata in the FastDFS distributed file system is deleted, and if the deletion fails, the deletion field is restored to 0.
[0065] In an alternative way, the step of searching in the MySQL meta-database according to the query condition comprises: The source identifier, data type, and label condition in the query condition are parsed and combined to form an SQL query statement; The SQL query statement is executed by using a joint index and a JSON index established in the MySQL meta-database, and the target file identifier meeting the query condition is obtained.
[0066] It should be noted that the beneficial effects of the clinical multi-source multi-modal data distributed storage and management system 200 provided in the above embodiments are the same as those of the clinical multi-source multi-modal data distributed storage and management method, which will not be repeated here. In addition, when the system realizes its functions, only the division of the above functional modules is exemplified, and in actual application, the above functions can be completed by different functional modules according to needs, that is, the system is divided into different functional modules according to actual conditions to complete all or part of the above described functions. In addition, the system and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be repeated here.
[0067] Among them, the clinical multi-source multi-modal data distributed storage and management system 200 of the application can be a computer program (including program code) running in a computer device, for example, the clinical multi-source multi-modal data distributed storage and management system 200 of the application is an application software, which can be used to execute the corresponding steps in the clinical multi-source multi-modal data distributed storage and management method of the application.
[0068] In some embodiments, the distributed storage and management system 200 for clinical multi-source multimodal data of the present invention can be implemented in a combination of hardware and software. As an example, the distributed storage and management system 200 for clinical multi-source multimodal data of the present invention can be a processor in the form of a hardware decoding processor, which is programmed to execute the distributed storage and management method for clinical multi-source multimodal data of the present invention. For example, the processor in the form of a hardware decoding processor can be one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.
[0069] The modules described in the embodiments of this invention can be implemented in software or hardware. The names of the modules are not, in some cases, limiting the scope of the module itself.
[0070] An electronic device according to an embodiment of the present invention includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements any of the above-mentioned distributed storage and management methods for clinical multi-source multimodal data. That is, an electronic device according to an embodiment of the present invention may include, but is not limited to: a processor and a memory; the memory is used to store the computer program; the processor is used to execute the distributed storage and management method for clinical multi-source multimodal data shown in any embodiment of the present invention by calling the computer program.
[0071] In one alternative embodiment, an electronic device is provided, such as Figure 3 As shown, Figure 3 The illustrated electronic device 4000 includes a processor 4001 and a memory 4003. The processor 4001 and the memory 4003 are connected, for example, via a bus 4002. Optionally, the electronic device 4000 may further include a transceiver 4004, which can be used for data interaction between the electronic device and other electronic devices, such as sending and / or receiving data. It should be noted that in practical applications, the transceiver 4004 is not limited to one type, and the structure of the electronic device 4000 does not constitute a limitation on the embodiments of the present invention.
[0072] The processor 4001 can be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array) or other programmable logic device, transistor logic device, hardware component, or any combination thereof. It can implement or execute various exemplary logical blocks, modules and circuits described in connection with the present disclosure. The processor 4001 can also be a combination of computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0073] The bus 4002 can include a path for transmitting information between the above-mentioned components. The bus 4002 can be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. The bus 4002 can be divided into an address bus, a data bus, a control bus, etc. For convenience of representation, Figure 3 Only one bus 4002 is represented by a thick line in the middle, but it does not mean that there is only one bus or only one type of bus.
[0074] The memory 4003 can be a ROM (Read Only Memory) or other type of static storage device that can store static information and instructions, a RAM (Random Access Memory) or other type of dynamic storage device that can store information and instructions, an EEPROM (Electrically Erasable Programmable Read Only Memory), a CD-ROM (Compact Disc Read Only Memory) or other optical disk storage, an optical disk storage (including a compact disk, a laser disk, an optical disk, a digital versatile disk, a Blu-ray disk, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but not limited to this.
[0075] The memory 4003 is configured to store application code (computer program) for implementing the scheme of the present application, and the processor 4001 is configured to control the execution. The processor 4001 is configured to execute the application code stored in the memory 4003 to implement the content shown in the foregoing method embodiments.
[0076] The electronic device can also be a terminal device, and the terminal device can be any terminal device that can install an application and access a webpage through the application, including at least one of a smartphone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, a smart television, and a smart vehicle device.
[0077] It should be noted that, Figure 3 The electronic device shown is only an example and should not limit the functions and use range of the embodiments of the present application.
[0078] The computer readable storage medium of the embodiment of the present application, the computer readable storage medium stores a computer program, and the computer program is executed by the processor to realize any one of the above-mentioned distributed storage and management methods of clinical multi-source multi-modal data.
[0079] Optionally, the computer readable storage medium can be a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a compact disc read-only memory (Compact Disc Read-Only Memory, CD-ROM), a magnetic tape, a floppy disk, and an optical data storage device, etc.
[0080] In the exemplary embodiments, a computer program product or computer program is also provided, which includes computer instructions stored in a computer readable storage medium. The processor of the electronic device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to make the electronic device execute the above-mentioned distributed storage and management method of clinical multi-source multi-modal data.
[0081] Computer program code for carrying out operations of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0082] It should be understood that the flowchart and block diagrams in the drawings illustrate the architecture, functionality, and operation of possible implementations of various embodiments of the present application. In this regard, each block in the flowchart and block diagrams can represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations thereof, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or combinations of hardware and software.
[0083] The computer readable storage medium of embodiments of the present application can be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer readable storage medium can include, but are not limited to, the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present application, the computer readable storage medium can be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
[0084] The computer readable storage medium described above bears one or more programs, when the one or more programs are executed by the electronic device, the electronic device executes the method shown in the above embodiment.
[0085] The above description is merely exemplary of the application and the application principles used. It should be understood by those skilled in the art that the disclosed scope of the application is not limited to the technical solutions formed by the specific combinations of the above technical features, and should also cover other technical solutions formed by any combinations of the above technical features or equivalent features without departing from the disclosed concept. For example, the above features can be replaced with the technical features disclosed in the application (but not limited to) having similar functions to form technical solutions.
[0086] It should be noted that the terms "first", "second" and the like in the specification and claims of the present application are used to distinguish similar objects, and represent a specific order or sequence. The order of use of similar objects can be interchanged under appropriate circumstances, so that the embodiments of the application described herein can be implemented in an order other than that illustrated or described.
[0087] Those skilled in the art know that the application can be implemented as a system, a method or a computer program product, so the application can be specifically implemented as follows: it can be a complete hardware, a complete software (including firmware, resident software, microcode, etc.), or a combination of hardware and software, which is generally referred to as "circuit", "module" or "system" in this paper. In addition, in some embodiments, the application can also be implemented as a computer program product in one or more computer readable media, which contains computer readable program code.
[0088] Although the embodiments of the application have been shown and described above, it should be understood that the above embodiments are exemplary and cannot be understood as limiting the application, and those skilled in the art can make changes, modifications, replacements and variations to the above embodiments within the scope of the application.
Claims
1. A method for distributed storage and management of clinical multi-source multi-modal data, characterized in that, The application comprises the following steps: Receiving multi-modal clinical data from multiple heterogeneous data sources, and preprocessing the multi-modal clinical data to obtain a preprocessing data package containing a binary file, a source identifier and preliminary metadata; Determining the data type and label information of the binary file, and assembling the source identifier, the data type, the label information and the preliminary metadata to generate integrated metadata; Writing the binary file into a FastDFS distributed file system, obtaining the file identifier, storage group and storage path of the binary file in the FastDFS distributed file system, and calculating the MD5 value of the binary file; Generating complete metadata according to the file identifier, the storage group, the storage path, the MD5 value and the integrated metadata, and writing the complete metadata into a MySQL metadata database; During the process of writing the complete metadata into the MySQL metadata database, if the complete metadata fails to be written, a deletion operation of the file corresponding to the file identifier in the FastDFS distributed file system is triggered; In response to a data query request, searching in the MySQL metadata database according to a query condition, obtaining a target file identifier meeting the query condition, and generating a file access address based on the target file identifier and returning the file access address to a user terminal.
2. The method for distributed storage and management of clinical multi-source multi-modal data according to claim 1, characterized in that, The preprocessing mode comprises at least one of format conversion, format verification, permission verification and data standardization.
3. The method for distributed storage and management of clinical multi-source multi-modal data according to claim 1, characterized in that, The step of determining the data type and label information of the binary file comprises: According to the file extension or file header information of the binary file, the data type of the binary file is identified; Based on the manual label carried by the user terminal during uploading and the automatic label generated by identifying the binary file, the label information is formed.
4. The method for distributed storage and management of clinical multi-source multi-modal data according to claim 3, characterized in that, Further comprising: According to the MD5 value, it is queried in the MySQL metadata database whether the same MD5 value already exists; If it exists, the original file identifier corresponding to the stored file is obtained, the manual label carried by the user terminal during uploading is merged and updated with the original label of the stored file, and the original file identifier is returned to the user terminal.
5. The method for distributed storage and management of clinical multi-source multi-modal data according to claim 1, characterized in that, Further comprising: In response to a data update request, the corresponding metadata in the MySQL metadata database is updated, and the file corresponding to the file identifier in the metadata in the FastDFS distributed file system is synchronously updated.
6. The method for distributed storage and management of clinical multi-source multi-modal data according to claim 1, characterized in that, Further comprising: In response to a data deletion request, the deletion field of the corresponding metadata in the MySQL metadata database is set to 1, and the file corresponding to the file identifier in the metadata in the FastDFS distributed file system is deleted, if the deletion fails, the deletion field is restored to 0.
7. The method for distributed storage and management of clinical multi-source multi-modal data according to claim 1, characterized in that, The step of searching in the MySQL metadata database according to a query condition comprises: Parsing the source identifier, data type and label condition in the query condition and combining to form a SQL query statement; Using the joint index and JSON index established in the MySQL metadata database to execute the SQL query statement, and obtaining the target file identifier meeting the query condition.
8. A distributed storage and management system for clinical multi-source multi-modal data, characterized in that, The application comprises the following steps: The processing module, the integration module, the acquisition module, the generation module, the triggering module and the management module; The processing module is configured to receive multi-modal clinical data from multiple heterogeneous data sources, and pre-process the multi-modal clinical data to obtain pre-processed data packets containing binary files, source identifiers and preliminary metadata; The integration module is configured to determine data types and label information of the binary files, and assemble the source identifiers, the data types, the label information and the preliminary metadata to generate integrated metadata; The acquisition module is configured to write the binary files into a FastDFS distributed file system, acquire file identifiers, storage groups and storage paths of the binary files in the FastDFS distributed file system, and calculate MD5 values of the binary files; The generation module is configured to generate complete metadata according to the file identifiers, the storage groups, the storage paths, the MD5 values and the integrated metadata, and write the complete metadata into a MySQL metadata database; The triggering module is configured to, in the process of writing the complete metadata into the MySQL metadata database, if the writing of the complete metadata fails, trigger a deletion operation of a file corresponding to the file identifier in the FastDFS distributed file system; The management module is configured to, in response to a data query request, search in the MySQL metadata database according to a query condition, acquire a target file identifier meeting the query condition, and generate a file access address based on the target file identifier and return the file access address to a user terminal.
9. An electronic device, comprising: The electronic device includes a processor coupled with a memory, and the memory stores at least one computer program, which is loaded and executed by the processor, so that the electronic device implements the distributed storage and management method of clinical multi-source multi-modal data according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores at least one computer program, which is loaded and executed by the processor, so that the computer readable storage medium implements the distributed storage and management method of clinical multi-source multi-modal data according to any one of claims 1 to 7.