Medical image data transmission method and system, electronic equipment and storage medium

By blocking and encrypting the medical image data to be transmitted, and using multiple transmission channels for transmission, the problems of low efficiency of large-scale small files and complex data integrity verification are solved, and efficient and secure data transmission is achieved.

CN120050272APending Publication Date: 2025-05-27CHINA TELECOM YIKANG TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411952015.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

The prior art is inefficient and complex in data integrity verification when processing the transmission of massive small files, making it difficult to meet the efficient and secure transmission needs of medical image data.

Method used

By monitoring the files to be transferred, extracting file information, performing chunking processing, encrypting the data blocks and sending them through multiple transmission channels, monitoring the transmission status in real time and automatically retransmitting the unsuccessfully sent data blocks.

Benefits of technology

It improves the transmission efficiency of massive small files, ensures the integrity and security of data, and is suitable for the transmission needs of medical imaging data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120050272A_ABST
    Figure CN120050272A_ABST
Patent Text Reader

Abstract

The invention provides a medical image data transmission method and system, electronic equipment and a storage medium. The transmission method comprises the following steps: in response to a to-be-transmitted file monitored by a file sending end, extracting file information of the to-be-transmitted file; performing block processing on the file to be transmitted according to the file information to obtain a plurality of data blocks; the data block is encrypted; and sending the encrypted data block to a file receiving end through a transmission channel. According to the method and the device, the file is partitioned, so that the large file can be partitioned into a plurality of small data blocks for transmission, and particularly for the small file (such as a file less than 1MB), the whole file content can be read at one time for transmission, so that the time consumption of serial file reading is reduced, and the transmission efficiency is improved. Moreover, the data blocks are encrypted (for example, an SM3 password hash algorithm or bit XOR operation is used), so that the data are prevented from being stolen or tampered in the transmission process, and the integrity and security of the data are ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of file transfer, and in particular, to a method, a system, an electronic device, and a storage medium for transmitting medical image data. Background Art

[0002] With the rapid development of medical informatization, the storage and transmission requirements of medical image data (such as DICOM files) are increasing day by day. Medical image data usually has the characteristics of a mixture of large and small files, and small files (such as files smaller than 1 MB) account for a large proportion. Existing file transfer methods often have problems such as low transfer efficiency and complex data integrity verification when dealing with a large number of small files, and it is difficult to meet the efficient and secure transfer requirements in practical applications.

[0003] Traditional file transfer methods mainly rely on a single transfer channel and cannot make full use of network bandwidth, resulting in limited transfer speed. In addition, when existing methods process file encryption and decryption, they usually use general encryption methods such as SSL, which have a large computational overhead and affect the transfer efficiency. For the special requirements of medical image data, such as the parsing and verification of DICOM files, existing methods also lack targeted optimization. How to solve the problem of efficient and secure transfer of a large number of small files in cloud object storage for the above application scenarios is a topic. Summary of the Invention

[0004] The technical problem to be solved by the present disclosure is to overcome the problem of low transfer efficiency of a large number of small files in the prior art, and to provide a method, a system, an electronic device, and a storage medium for transmitting medical image data.

[0005] The present disclosure solves the above technical problems through the following technical solutions:

[0006] The present disclosure provides a method for transmitting medical image data, and the transmission method includes:

[0007] In response to the file sender detecting a file to be transmitted, extracting file information of the file to be transmitted;

[0008] Performing block processing on the file to be transmitted according to the file information to obtain a number of data blocks;

[0009] Encrypting the data blocks;

[0010] Sending the encrypted data blocks to a file receiver through a transmission channel.

[0011] Optionally, before the step of in response to the file sender detecting a file to be transmitted, it includes:

[0012] Monitor the file system of the file sender, and use the target file with incomplete transmission as the file to be transmitted.

[0013] Optionally, perform block processing on the file to be transmitted according to the file information to obtain a number of data blocks, including:

[0014] If the file size of the file to be transmitted is less than or equal to the first threshold, then process the file to be transmitted as one data block;

[0015] And / or,

[0016] If the file size of the file to be transmitted is greater than or equal to the second threshold, then divide the file to be transmitted into a number of data blocks for processing.

[0017] Optionally, encrypting the data block includes:

[0018] If the file to be transmitted corresponds to one data block, then use the SM3 cryptographic hash algorithm to extract the data block digest;

[0019] And / or,

[0020] If the file to be transmitted corresponds to a number of data blocks, then read one by one and use the SM3 cryptographic hash algorithm to extract the data block digest.

[0021] Optionally, before the step of sending the encrypted data block to the file receiver through the transmission channel, it includes:

[0022] Create a number of the transmission channels, and monitor the idle state of each transmission channel;

[0023] Send the encrypted data blocks to the corresponding transmission channels respectively according to the idle state.

[0024] Optionally, sending the encrypted data block to the file receiver through the transmission channel includes:

[0025] During the sending process, monitor the state of the transmission channel in real time. If a transmission interruption is detected, automatically retransmit the data blocks that have not been successfully sent.

[0026] The present disclosure provides a transmission system for medical image data, and the transmission system includes:

[0027] An extraction module, configured to extract the file information of the file to be transmitted in response to the file sender monitoring the file to be transmitted;

[0028] A block division module, configured to perform block processing on the file to be transmitted according to the file information to obtain a number of data blocks;

[0029] An encryption module for encrypting the data block;

[0030] A sending module for sending the encrypted data block to a file receiving end through a transmission channel.

[0031] Optionally, the transmission system further includes:

[0032] A monitoring module for monitoring the file system of the file sending end and using an unfinished transmitted target file as the file to be transmitted.

[0033] Optionally, the chunking module is specifically configured to:

[0034] In response to the file size of the file to be transmitted being less than or equal to a first threshold, using the file to be transmitted as a data block for processing;

[0035] And / or,

[0036] In response to the file size of the file to be transmitted being greater than or equal to a second threshold, dividing the file to be transmitted into several data blocks for processing.

[0037] Optionally, the encryption module is specifically configured to:

[0038] In response to the file to be transmitted corresponding to one data block, using the SM3 cryptographic hash algorithm to extract the data block digest;

[0039] And / or,

[0040] In response to the file to be transmitted corresponding to several data blocks, reading each one and using the SM3 cryptographic hash algorithm to extract the data block digest.

[0041] Optionally, the transmission system further includes:

[0042] A transmission module for creating several of the transmission channels and monitoring the idle state of each of the transmission channels; sending the encrypted data blocks to the corresponding transmission channels according to the idle state.

[0043] Optionally, the sending module is specifically configured to:

[0044] During the sending process, monitoring the state of the transmission channel in real time, and if a transmission interruption is detected, automatically retransmitting the data blocks that have not been successfully sent.

[0045] The present disclosure provides an electronic device, including a memory, a processor, and a computer program stored on the memory and for running on the processor, where when the processor executes the computer program, the transmission method of medical image data described in any one of the above is implemented.

[0046] The present disclosure provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the transmission method of medical image data described in any one of the above is implemented.

[0047] The present disclosure provides a computer program product, including a computer program. When the computer program is executed by a processor, the transmission method of medical image data described in any one of the above is implemented.

[0048] On the basis of conforming to common general knowledge in the art, the above preferred conditions can be combined arbitrarily to obtain various preferred examples of the present disclosure.

[0049] The positive and progressive effects of the present disclosure are as follows: By performing block processing on a file, a large file can be split into multiple small data blocks for transmission. Especially for small files (such as files smaller than 1 MB), the entire file content can be read at one time for transmission, reducing the time-consuming of serial file reading and improving the transmission efficiency. Moreover, the data blocks are encrypted (such as using the SM3 cryptographic hash algorithm or bitwise exclusive OR operation) to prevent the data from being stolen or tampered with during transmission, ensuring the integrity and security of the data. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] Figure 1 is a flowchart of a method for transmitting medical image data provided by an exemplary embodiment of the present disclosure;

[0051] Figure 2 is a flowchart of another method for transmitting medical image data provided by an exemplary embodiment of the present disclosure;

[0052] Figure 3 is a schematic structural diagram of a specific example of a method for transmitting medical image data provided by an exemplary embodiment of the present disclosure;

[0053] Figure 4 is a schematic module diagram of a system for transmitting medical image data provided by an exemplary embodiment of the present disclosure;

[0054] Figure 5 is a schematic structural diagram of an electronic device provided by an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0055] The present disclosure will be further described below by way of examples, but the present disclosure is not limited thereto.

[0056] In the embodiments of the present disclosure, prefix words such as "first" and "second" are only used to distinguish different described objects, and have no restrictive effect on the position, order, priority, quantity, content, etc. of the described objects. In the embodiments of the present disclosure, the use of prefix words such as ordinal numbers to distinguish described objects does not constitute a restriction on the described objects. The statements of the described objects refer to the descriptions in the context of the claims or embodiments, and should not constitute redundant restrictions due to the use of such prefix words. In addition, in the description of this embodiment, unless otherwise specified, the meaning of "a plurality" is two or more.

[0057] In the embodiments of the present disclosure, the processing of the collection, storage, use, processing, transmission, provision, and disclosure of the user's personal information involved all comply with the provisions of relevant laws and regulations and do not violate public order and good customs.

[0058] Embodiment 1

[0059] Figure 1 FIG. is a flowchart of a method for transmitting medical image data provided for an exemplary embodiment of the present disclosure. The transmission method includes:

[0060] Step 101, in response to the file sender detecting a file to be transmitted, extract the file information of the file to be transmitted.

[0061] In this step 101, the file sender needs to continuously or regularly monitor its file system or storage medium to detect whether there are new or to-be-transmitted medical image files. Once a file to be transmitted is detected, the system immediately extracts the metadata or attribute information of the file. This information may include file name, file size, creation time, modification time, file type (such as DICOM format), resolution, patient ID, etc. Extracting file information in this step is for subsequent processing, such as chunking, encryption, transmission path selection, etc. Accurate file information helps ensure data integrity and traceability, and can also perform effective error detection and recovery during the transmission process.

[0062] Here is a specific example: Suppose a large hospital generates a large amount of medical image data (such as X-rays, CTs, MRIs, etc.) every day. These data need to be regularly transmitted from the servers of each department to the hospital's central data center for storage and analysis. The hospital's IT system continuously monitors the servers of each department to find newly generated or marked-to-be-transmitted image files. When a new DICOM file is detected, the system extracts its file name (such as "patient ID_examination date_sequence number.dcm"), size (such as 2MB), creation time (such as 2023-04-01 10:15:30), etc. Based on this information, the system can decide whether to transmit the file as a whole or in chunks according to the size, and select an appropriate encryption method and transmission channel.

[0063] Here is also a specific example: In the telemedicine scenario, a primary hospital may need to transmit the medical imaging data of patients to a remote expert hospital for consultation. The IT system of the primary hospital will monitor its storage devices to find the imaging files to be transmitted to the expert hospital. When a DICOM file to be transmitted is detected, the system will extract relevant information, such as the basic information of the patient (through the tags embedded in the DICOM file), the resolution of the image, the model of the examination device, etc. This information is very important for the remote expert hospital because it can help doctors quickly understand the patient's condition and the quality of the image. At the same time, the extracted information can also be used to verify the integrity and authenticity of the file to ensure that it has not been tampered with during the transmission process.

[0064] In this way, step 101 not only ensures the accurate identification and processing of the file to be transmitted, but also provides important basic information for subsequent data transmission, storage, and management.

[0065] Step 102: Process the file to be transmitted in chunks according to the file information to obtain a number of data blocks.

[0066] In this step 102, the purpose is to improve the flexibility of chunked transmission and adapt to the file transmission requirements of different sizes and network conditions. Chunking can reduce the amount of data transmitted at one time, reduce the risk of transmission failure, and improve the transmission efficiency.

[0067] Optionally, step 102 may specifically include at least one of the following:

[0068] First, in response to the file size of the file to be transmitted being less than or equal to the first threshold, the file to be transmitted is processed as a single data block. Treat the entire file as a single data block. This is applicable to smaller files, simplifies the processing flow, and reduces the additional overhead caused by chunking.

[0069] Second, in response to the file size of the file to be transmitted being greater than or equal to the second threshold, the file to be transmitted is divided into a number of data blocks for processing. This is applicable to larger files, helps to better utilize the network bandwidth, improve the transmission speed, and facilitates parallel transmission and error recovery.

[0070] Here is a specific example: Suppose a hospital needs to transfer a large amount of medical imaging data from various departments to a central data center. On the one hand, for some small DICOM files (such as a few hundred KB), the system can directly transfer them as a data block. This method simplifies the transfer process and reduces the overhead of chunking and recombination. On the other hand, for larger DICOM files (such as ultrasound images of several MB), the system can divide them into several smaller data blocks (such as 1 MB each). In this way, even if a data block has problems during transmission, only that data block needs to be retransmitted, rather than the entire file.

[0071] Here is another specific example: In a telemedicine scenario, a primary hospital needs to transfer a patient's medical imaging data to a remote expert hospital for consultation. On the one hand, for some small imaging files (such as X-ray films), the system can directly transfer them as a data block to ensure fast and efficient transmission to the remote hospital. On the other hand, for larger imaging files (such as CT scans), the system can divide them into several data blocks for transmission. For example, a 5 MB CT scan file can be divided into 5 data blocks of 1 MB each. In this way, each data block can be transmitted independently and can be processed in parallel during transmission, improving the transmission speed and reliability.

[0072] Suppose there is a DICOM file with a size of 3 MB. If the threshold is 1 MB, since the file size (3 MB) is greater than 1 MB, the system can divide it into several data blocks for processing. For example, it can be divided into 3 data blocks of 1 MB each. Each data block can be encrypted, transmitted, and verified independently, improving the flexibility and reliability of transmission.

[0073] Through the above method, step 102 flexibly selects a chunking strategy according to the file size, ensuring the efficiency and reliability of medical imaging data during transmission. The first threshold and the second threshold can be set according to actual needs, making the chunking process more refined and applicable to more medical imaging files of different sizes.

[0074] Step 103: Encrypt the data blocks.

[0075] The purpose of this step 103 is to protect the data from being stolen or tampered with during transmission, ensure the integrity and authenticity of the data, and prevent the data from being damaged or replaced during transmission.

[0076] Optionally, step 103 may specifically include at least one of the following:

[0077] First, in response to the file to be transmitted corresponding to one data block, the SM3 cryptographic hash algorithm is used to extract the data block digest. That is, if the file to be transmitted corresponds to only one data block, the SM3 cryptographic hash algorithm is used to extract the data block digest. SM3 is a cryptographic hash algorithm that can generate a fixed-length digest of data for verifying the integrity of the data.

[0078] Second, in response to the file to be transmitted corresponding to several data blocks, each data block is read one by one and the SM3 cryptographic hash algorithm is used to extract the data block digest. That is, if the file to be transmitted corresponds to multiple data blocks, each data block is read one by one and the SM3 cryptographic hash algorithm is used to extract the digest of each data block. This method ensures that each data block is complete and unmodified during the transmission process.

[0079] Here is a specific example: Suppose a hospital needs to transfer a large amount of medical imaging data from each department to the central data center. On the one hand, for a small DICOM file (such as a few hundred KB), the system can treat it as one data block and use the SM3 algorithm to extract the data block digest. This digest can be transmitted together with the data block, and the receiving end can verify the integrity of the data block by recalculating the digest. On the other hand, for a larger DICOM file (such as a CT scan of several MB), the system divides it into several 1MB data blocks. Each data block uses the SM3 algorithm to extract the digest to ensure that each data block is complete during the transmission process.

[0080] Here is another specific example: In a telemedicine scenario, a primary hospital needs to transfer a patient's medical imaging data to a remote expert hospital for consultation. On the one hand, for a small X-ray film file, the system can treat it as one data block and use the SM3 algorithm to extract the digest. The receiving end can ensure the integrity of the file by verifying the digest. On the other hand, for a larger MRI scan file, the system divides it into several data blocks, and each data block uses the SM3 algorithm to extract the digest. This method ensures that each data block is complete during the transmission process and can be verified independently.

[0081] In addition, regarding encryption algorithms, in addition to the above-mentioned SM3 algorithm, other encryption and digest algorithms can also be used to ensure the security and integrity of data. For example:

[0082] 1. SHA-256: It is a widely used cryptographic hash algorithm that generates a 256-bit digest. It is suitable for scenarios that require high security and can effectively prevent data tampering.

[0083] 2. AES (Advanced Encryption Standard): AES is a symmetric encryption algorithm suitable for encrypting the entire data block or file. It can provide high-strength encryption protection to ensure that data is not stolen during the transmission process.

[0084] 3. RSA (Asymmetric Encryption Algorithm): RSA is suitable for key exchange and digital signature, and can be used to encrypt small data blocks or transmit the keys of symmetric encryption algorithms. It provides a highly secure encryption method, but the encryption and decryption speeds are relatively slow.

[0085] By using these encryption algorithms, the security and integrity of medical image data during transmission can be ensured, preventing the data from being stolen or tampered with. Different algorithms can be selected according to specific security requirements and performance requirements.

[0086] Step 104: Send the encrypted data block to the file receiving end through the transmission channel.

[0087] Optionally, step 104 specifically includes: During the sending process, monitor the status of the transmission channel in real time. If a transmission interruption is detected, automatically retransmit the data block that has not been successfully sent.

[0088] In this step 104, it is necessary to select a suitable transmission channel according to the requirements of data transmission security, speed, and reliability, such as a dedicated line, VPN, or the Internet. Before transmission, it may be necessary to establish a secure connection, such as encrypting the transmission channel through the SSL / TLS protocol. Send the previously encrypted data block to the receiving end through the selected transmission channel. Encryption ensures the confidentiality and integrity of the data during transmission, preventing the data from being stolen or tampered with. During the data transmission process, monitor the status of the transmission channel in real time, including indicators such as network latency and packet loss rate. If a transmission interruption or data block loss is detected, the system should have an automatic retransmission mechanism to resend the data block that has not been successfully transmitted to ensure the complete transmission of the data.

[0089] Here is a specific example: Suppose a large hospital is migrating its image data from an old server to a new server. The hospital uses a high-speed local area network for data transmission within the hospital and encrypts the transmission channel through the SSL / TLS protocol to ensure data security. During the migration process, the system monitors the network status in real time. If a data block is lost during transmission due to network fluctuations, the system will automatically detect it and resend the data block to ensure that all image data can be migrated completely.

[0090] Here is another specific example: In a telemedicine scenario, a primary hospital needs to transmit a patient's medical images to a remote expert for consultation in real time. A dedicated VPN channel is used for data transmission to ensure the security and privacy of the data. During the consultation process, the system monitors the status of the VPN channel in real time. If a transmission interruption occurs for a certain image data block due to network problems, the system will immediately trigger the automatic retransmission mechanism to ensure that the expert can receive the complete image data in real time without affecting the progress of the consultation.

[0091] During the data transmission process, a good communication mechanism is equally important. The following are some optional solutions:

[0092] 1. Status updates and notifications: During the data transmission process, the system can send real-time status updates to relevant personnel, such as transmission progress, encountered problems and their solutions, etc. If a transmission interruption or retransmission occurs, the system can promptly notify relevant personnel to ensure they are aware of the current situation and take corresponding measures.

[0093] 2. Troubleshooting and collaboration: When problems occur during the transmission process, the system can provide troubleshooting guides to help relevant personnel quickly locate and solve problems. At the same time, the system can support multi-person collaboration, enabling multiple relevant personnel to jointly handle transmission problems and improving the efficiency of problem-solving.

[0094] Through these measures, the efficiency, security, and reliability of medical image data during transmission can be ensured, while improving the quality and efficiency of telemedicine services.

[0095] Optionally, referring to Figure 2 it can be known that before step 101, it includes: step 100, monitoring the file system of the file sender and taking the target file with incomplete transmission as the file to be transmitted.

[0096] The purpose of this step 100 is to monitor the file system of the file sender in real time or periodically to identify newly generated or modified files. Ensure that all files that need to be transmitted, including newly created files and previously incompletely transmitted files, can be promptly discovered and processed. Mark the target file with incomplete transmission as the file to be transmitted to ensure that these files will not be missed during subsequent transmission processes. This processing method helps improve the integrity and reliability of data transmission and avoid file loss caused by transmission interruptions or other reasons.

[0097] Here is a specific example: Suppose a hospital is migrating its image data from an old server to a new server. The hospital's IT system monitors the file system of the old server in real time to identify newly generated or modified image files. If a file transmission is interrupted due to network problems during the migration process, the system will mark this file as the file to be transmitted. When the network resumes, the system will automatically add this file back to the transmission queue to ensure that all image data can be migrated completely.

[0098] Here is also a specific example: In the scenario of telemedicine, primary hospitals need to transmit patients' medical images to remote experts in real time for consultation. The IT system of the primary hospital monitors the image storage system in real time to identify newly generated or modified image files. If the transmission of a certain image file is interrupted due to network fluctuations during the consultation process, the system will mark the file as a file to be transmitted. When the network is stable, the system will automatically re-transmit the file to ensure that the expert can receive the complete image data without affecting the progress of the consultation.

[0099] In the process of data transmission, a good communication mechanism is equally important. The following are some optional solutions:

[0100] 1. Status update and notification: The system can send real-time status updates of file transmission to relevant personnel, including newly discovered files to be transmitted, transmission progress, problems encountered and solutions. If a transmission interruption or retransmission occurs, the system can notify relevant personnel in a timely manner to ensure that they are aware of the current situation and take corresponding measures.

[0101] 2. Collaboration and troubleshooting: When problems occur during the transmission process, the system can provide troubleshooting guides to help relevant personnel quickly locate and solve problems. At the same time, the system can support multi-person collaboration, enabling multiple relevant personnel to jointly handle transmission problems and improve the efficiency of problem-solving.

[0102] Through these measures, the efficiency, security, and reliability of medical image data during transmission can be ensured, while improving the quality and efficiency of telemedicine services.

[0103] Optionally, before the step of sending the encrypted data block to the file receiving end through the transmission channel in step 104, it includes: creating a number of transmission channels and monitoring the idle status of each transmission channel; sending the encrypted data block to the corresponding transmission channel according to the idle status.

[0104] Among them, creating several transmission channels, specifically creating multiple persistent channels, is to improve the efficiency of data transmission. In the scenario of medical image data transmission, especially when faced with a large number of small files (such as numerous small DICOM files) or large files (such as high-resolution MRI scan files), a single channel may become a bottleneck, and multiple channels can process data transmission tasks in parallel. The pre-queue created together with each channel is a temporary storage area. When the queue manager processes data, it first stores the data packets that can be directly sent in the pre-queue. This is like a transfer station where data is sorted and prepared here before being actually sent through the channel, making the data transmission more orderly and efficient. To ensure the security of the channel, it is very necessary to conduct authentication when the channel is established. In medical data transmission, this data often contains patients' privacy information (such as patient identity, health status, etc.), and it is necessary to prevent malicious attackers from establishing illegal channels to steal or tamper with data. If a channel fails to pass the authentication or does not complete the authentication within the specified time, this channel will be disconnected. This helps to avoid the occupation of precious network resources and server resources by malicious channel connections and ensures that the legitimate data transmission process is not interfered with.

[0105] Here is a specific example: Suppose a large hospital group has multiple branches and needs to share medical image data among the branches. The hospital's information system creates multiple persistent channels for the transmission of different types of image data, such as a channel specifically for transmitting X-ray images, a channel for CT images, etc. For each channel, a pre-queue is created. When the image data of a certain branch needs to be transmitted to other branches, the queue manager will first sort the data into appropriate data packets and put them into the pre-queue. For example, multiple small DICOM files are packed in a certain order or large files are block-processed and then put into the queue. When the channel is established, an authentication method based on digital certificates is adopted. Each branch's server has its own unique digital certificate. When attempting to establish a channel, both sides verify the validity of each other's digital certificates. If a connection request from a suspicious external source attempts to establish a channel and fails to provide a legitimate digital certificate during the authentication process, it will be rejected, thus protecting the security of the internal medical image data of the hospital.

[0106] Here is also a specific example: Each primary medical institution needs to connect to the regional medical imaging cloud platform to upload patients' medical imaging data. The cloud platform creates multiple persistent channels for these institutions to meet the data transmission requirements at different times (such as peak hours and off-peak hours). The pre-queue plays a buffering role in this process. For example, during the morning rush hour, a large number of primary medical institutions upload imaging data simultaneously. The queue manager will first store the data in the pre-queue and send the data packets to the channel for transmission in an orderly manner according to the first-in, first-out principle. When a primary medical institution first connects to the cloud platform, a strict authentication process is required. The cloud platform will verify various aspects of the institution's identity information, device information, etc. If an illegal device attempts to establish a channel to access the cloud platform, it will be identified and the connection will be refused during the authentication process to prevent malicious devices from occupying the resources of the cloud platform or stealing the imaging data on the platform.

[0107] Based on the above steps, here is a specific example:

[0108] As Figure 3 shown, this example is a schematic diagram of the architecture of an ultra-fast transmission tool for massive small file cloud object storage based on Netty, including the following functional modules and operation processes:

[0109] I. File Scanning and Monitoring Service (S101)

[0110] 1. Initial configuration and functions. The file scanning and monitoring service sets the scanning directory and incremental monitoring directory during initialization, which includes the scanning service and the monitoring service. The scanning service focuses on migrating historical data, while the monitoring service is responsible for tracking the migration requirements of incremental data.

[0111] 2. Scanning Discovery Service (S1011)

[0112] In a hospital scenario, imaging files are often large in scale. For the possible special situations of imaging files on the hospital side, such as extremely large file sizes, during the process of scanning historical data to solve the problem of interrupted rescan, a level-order traversal binary tree algorithm based on time order is adopted. This algorithm helps to efficiently locate and scan historical imaging data to ensure the complete migration of data.

[0113] 3. File Incremental Monitoring Service (S1021)

[0114] Monitor the generation of new files. Once a new file is found, immediately store the metadata of the file in a dedicated data file in real time. This helps to promptly understand the files that need to be transmitted and prepare for the subsequent transmission process.

[0115] II. Storage Management Service (S103)

[0116] 1. Meta-Information Storage (S1031)

[0117] Efficiently integrate and store the massive file data element information obtained from the scan discovery service and the incremental file data element information obtained from the file incremental monitoring service. This integration and storage method can optimize the data structure and facilitate subsequent data calls and management.

[0118] 2. Metadata Information Reporting (S1032)

[0119] Report the stored metadata information to the receiving party. This operation plays a crucial role after the file data upload is completed. The receiving party can use this metadata information to verify the integrity and consistency of the file to ensure that the file is not damaged or tampered with during the transmission process.

[0120] III. Reading the Stored Metadata (S201)

[0121] Perform persistent processing on the massive metadata information. Considering the requirements of efficient storage and reading, an embedded unstructured storage method is adopted in the specific implementation. This method can meet the storage requirements of massive data and has high efficiency when reading data.

[0122] IV. Multi-channel Upload Management Service (S301)

[0123] 1. Channel Creation and Management

[0124] This module is responsible for creating and managing multiple persistent channels to achieve data transmission. When creating each channel, a pre-queue is created. As a temporary storage area, the queue manager will store the directly sendable data packets in the pre-queue when processing data transmission. This is like a transfer station for data transmission, enabling the data to be integrated and prepared orderly before being actually sent through the channel.

[0125] To ensure the security and effectiveness of the channel, authentication is required when the channel is established. Only the channels that pass the authentication can be used for data transmission. If the authentication fails or the authentication cannot be completed within the specified time, this channel will be disconnected. This measure can effectively prevent malicious channel connections from occupying valuable network resources and server resources, thus ensuring the smooth progress of legitimate data transmission processes.

[0126] 2. Queue Manager (S3011)

[0127] The queue manager is a background service listening thread. When the upload channel is idle, it will push the send data in the pre-queue to the upload channel and change the data status to uploading. If the set capacity of the pre-queue is insufficient, the queue manager will read the corresponding file metadata information from the repository and mark these data as pending upload status to ensure the continuity of the data transmission process.

[0128] 3. File Size Judgment and Processing (S3012 - S3013)

[0129] After reading the file metadata, it is necessary to judge the file size. If it is judged that this file is a small file (by default, less than 1M, or it can be set according to actual needs), then read all the contents of the file into memory. The advantage of doing this is that it can reduce the time-consuming of serially reading the file when sending data on the upload channel, and use the national cryptography algorithm SM3 to extract the file digest. This digest is used to verify the integrity of the file on the server side. The complete metadata of a small file includes file name, location path, size, file content (byte code), and SM3 digest information.

[0130] If it is judged as a large file, considering that reading the entire content of the large file into memory may cause a memory overflow situation, and large files are relatively infrequent in file opening and closing operations, so real-time reading and sending of data for large files has little impact on the file upload speed. The complete metadata of a large file includes file name, location path, file handle, and size. Since the file is large, calculating the SM3 digest is also time-consuming, so calculate the SM3 digest while uploading, share the read content blocks, and minimize the calculation link to the greatest extent.

[0131] 4. Upload Channel Pre - queue (S3014) and High - speed Upload Channel (S3021)

[0132] When the high - speed upload channel is idle, the queue manager will push the metadata in the pre - queue to this channel. This channel first sends the metadata of the file to be sent, including file name, size, location path, file type, file creation time, file modification time, etc. Then, according to the metadata, judge whether the file is a small file. If it is a small file, to avoid channel blockage, it will be sent 8192 bytes at a time. After the entire file is sent, finally send the SM3 digest information of the file, which is used for the server to verify the file integrity after receiving. If it is judged as a large file, then obtain the file handle of the metadata. To efficiently read the file content, read 8192 - byte data with the file pointer each time. The sending of this 8192 - byte data and the calculation of the SM3 digest information run in parallel. After sending, loop to read and send until the file ends. At this time, the entire file sending ends and the calculation result of SM3 is also completed. Finally, send the SM3 digest information of the file, and its function is the same as when sending a small file.

[0133] 5. Channel Data Encryption (S3014)

[0134] To prevent data theft or tampering during transmission, whether it is a large file or a small file (essentially the transmission of 8012 - byte data), a bit - exclusive - OR operation is negotiated with the receiving end for encryption (it can also be configured as the SSL method according to requirements). This encryption method not only ensures data security but also takes into account the need for efficient transmission and minimizes computational overhead.

[0135] V. File Receiver (S401) and Related Operations

[0136] 1. File Integrity Check (S401)

[0137] The file receiver needs to check the integrity and consistency of the file data sent by the sender. During reception, it may be necessary to perform operations such as parsing DICOM files to ensure that the received file can be used normally and the data is accurate.

[0138] 2. Channel Data Decryption (S4011)

[0139] After receiving the data, to reduce the blocking time and minimize calculations as much as possible, the corresponding bit - exclusive - OR operation is performed on the negotiated bits for decryption (it can also be configured as the SSL method). This decryption method corresponds to the encryption method at the sending end and can quickly restore the original data.

[0140] 3. Receiving Channel (S4012)

[0141] At this time, the received data is plain - text data, corresponding to the upload channel. For each file, first the meta - information of the file is transmitted, then the file content, and finally the SM3 digest of the file. Finally, an ACK confirmation message for the file is sent to the sender, indicating that the file has been successfully received.

[0142] VI. File Storage (S501)

[0143] The storage and migration of files are related to the protocol, which may be local storage, cloud storage, or other forms. In the receiving channel, it can be stored in real - time in 8192 - byte chunks, or other efficient storage methods can be adopted according to specific circumstances to ensure that the files can be properly saved and are convenient for subsequent calls and management.

[0144] In summary, through the efficient migration of multi - type image data, an enhanced multi - level data security protection mechanism, an optimized customized communication protocol, and an efficient parallel asynchronous data processing technology, the present invention has achieved a significant improvement in the transmission speed and security of image data. Compared with traditional image transmission technologies, it has made breakthrough progress in both technical performance and security indicators, bringing significant technical advantages and innovation value.

[0145] Example 2

[0146] Corresponding to the foregoing embodiments of the method for transmitting medical image data, the present disclosure also provides an embodiment of a system for transmitting medical image data.

[0147] Figure 4 FIG. is a schematic diagram of modules of a system for transmitting medical image data provided by an exemplary embodiment of the present disclosure. The system includes:

[0148] The present disclosure provides a system for transmitting medical image data. The transmission system includes:

[0149] An extraction module 21, configured to extract file information of a file to be transmitted in response to the file sender detecting the file to be transmitted;

[0150] A chunking module 22, configured to perform chunking processing on the file to be transmitted according to the file information to obtain a plurality of data chunks;

[0151] An encryption module 23, configured to encrypt the data chunks;

[0152] A sending module 24, configured to send the encrypted data chunks to the file receiver through a transmission channel.

[0153] Optionally, the transmission system further includes:

[0154] A monitoring module, configured to monitor the file system of the file sender and use the target file with incomplete transmission as the file to be transmitted.

[0155] Optionally, the chunking module 22 is specifically configured to:

[0156] In response to the file size of the file to be transmitted being less than or equal to a first threshold, use the file to be transmitted as one data chunk for processing;

[0157] And / or,

[0158] In response to the file size of the file to be transmitted being greater than or equal to a second threshold, divide the file to be transmitted into a plurality of data chunks for processing.

[0159] Optionally, the encryption module 23 is specifically configured to:

[0160] In response to the file to be transmitted corresponding to one data chunk, use the SM3 cryptographic hash algorithm to extract the data chunk digest;

[0161] And / or,

[0162] In response to the file to be transmitted corresponding to a plurality of data chunks, read and use the SM3 cryptographic hash algorithm to extract the data chunk digest one by one.

[0163] Optionally, the transmission system further includes:

[0164] A transmission module, configured to create a plurality of transmission channels and monitor the idle status of each transmission channel; and send the encrypted data blocks to the corresponding transmission channels according to the idle status.

[0165] Optionally, the sending module 24 is specifically configured to:

[0166] During the sending process, monitor the status of the transmission channel in real time. If a transmission interruption is detected, automatically retransmit the data blocks that have not been successfully sent.

[0167] For the system embodiments, since they basically correspond to the method embodiments, the relevant parts can refer to the partial descriptions of the method embodiments. The system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated. The components as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the present disclosure solution.

[0168] Embodiment 3

[0169] Figure 5 The structure diagram of an electronic device shown in an exemplary embodiment of the present disclosure. The electronic device includes a memory, a processor, and a computer program stored on the memory and configured to run on the processor. When the processor executes the computer program, it implements the method for transmitting medical image data described in any of the above embodiments. Figure 5 The shown electronic device 90 is merely an example and should not impose any limitation on the functions and usage scope of the embodiments of the present disclosure.

[0170] As Figure 5 shown, the electronic device 90 can be presented in the form of a general computing device. For example, it can be a server device. The components of the electronic device 90 may include, but are not limited to: at least one of the above processors 91, at least one of the above memories 92, and a bus 93 connecting different system components (including the memory 92 and the processor 91).

[0171] The bus 93 includes a data bus, an address bus, and a control bus.

[0172] The memory 92 may include volatile memory, such as a random access memory (RAM) 921 and / or a cache memory 922, and may further include a read-only memory (ROM) 923.

[0173] The memory 92 may also include a program tool 925 (or utility) having a set (at least one) of program modules 924. Such program modules 924 include, but are not limited to: an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include the implementation of a network environment.

[0174] The processor 91 executes various functional applications and data processing by running computer programs stored in the memory 92, such as the method for transmitting medical image data provided in any of the above embodiments.

[0175] The electronic device 90 can also communicate with one or more external devices 94 (such as a keyboard, a pointing device, etc.). Such communication can be carried out through the input / output (I / O) interface 95. Moreover, the electronic device 90 can also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through the network adapter 96. As shown in the figure, the network adapter 96 communicates with other modules of the electronic device 90 through the bus 93. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in combination with the electronic device 90, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID (redundant array of independent disks) systems, tape drives, and data backup storage systems, etc.

[0176] It should be noted that, although several units / modules or sub-units / modules of the electronic device are mentioned in the above detailed description, such a division is merely exemplary and not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more units / modules described above can be embodied in one unit / module. Conversely, the features and functions of one unit / module described above can be further divided and embodied by multiple units / modules.

[0177] Embodiment 4

[0178] The embodiments of the present disclosure also provide a computer-readable storage medium, on which a computer program is stored. When the program is executed by a processor, it implements the method for transmitting medical image data provided in any of the above embodiments.

[0179] Among them, the more specific forms that the readable storage medium can adopt can include, but are not limited to: portable disks, hard disks, random access memories, read-only memories, erasable programmable read-only memories, optical storage devices, magnetic storage devices, or any suitable combination of the above.

[0180] Embodiment 5

[0181] An embodiment of the present disclosure further provides a computer program product, including a computer program, which implements the method for transmitting medical image data described in any one of the above when executed by a processor.

[0182] Among them, the program code for executing the computer program product of the present disclosure can be written in any combination of one or more programming languages, and the program code can be executed entirely on the user device, partially on the user device, executed as an independent software package, partially on the user device and partially on a remote device, or entirely on a remote device.

[0183] Although the specific embodiments of the present disclosure have been described above, those skilled in the art should understand that this is only an example, and the protection scope of the present disclosure is defined by the appended claims. Without departing from the principles and essence of the present disclosure, those skilled in the art can make various changes or modifications to these embodiments, but these changes and modifications all fall within the protection scope of the present disclosure.

Claims

1. A method for transmitting medical image data, characterized in that: The transmission method comprises: In response to the file sending end detecting the file to be transmitted, extracting the file information of the file to be transmitted; Divide the file to be transmitted into blocks according to the file information to obtain a plurality of data blocks; encrypting the data block; The encrypted data block is sent to the file receiving end through a transmission channel.

2. The transmission method according to claim 1, characterized in that: The step of responding to the file sending end detecting the file to be transmitted includes: The file system of the file sending end is monitored, and the target file that has not been completely transmitted is used as the file to be transmitted.

3. The transmission method according to claim 1, characterized in that: The file to be transmitted is processed into blocks according to the file information to obtain a plurality of data blocks, including: In response to a file size of the to-be-transmitted file being less than or equal to a first threshold, processing the to-be-transmitted file as a data block; and / or, In response to the file size of the to-be-transmitted file being greater than or equal to a second threshold, the to-be-transmitted file is divided into a plurality of data blocks for processing.

4. The transmission method according to claim 1, characterized in that: The step of encrypting the data block comprises: In response to the file to be transmitted corresponding to a data block, extracting a summary of the data block using an SM3 cryptographic hash algorithm; and / or, In response to the file to be transmitted corresponding to a number of data blocks, the data block digests are read one by one and extracted using the SM3 cryptographic hash algorithm.

5. The transmission method according to claim 1, characterized in that: Before the step of sending the encrypted data block to the file receiving end through the transmission channel, the method includes: Creating a plurality of the transmission channels, and monitoring the idle state of each of the transmission channels; The encrypted data blocks are sent to corresponding transmission channels respectively according to the idle state.

6. The transmission method according to claim 1, characterized in that: The step of sending the encrypted data block to the file receiving end through a transmission channel includes: The status of the transmission channel is monitored in real time during the transmission process. If a transmission interruption is detected, the data block that was not successfully sent is automatically retransmitted.

7. A medical image data transmission system, characterized in that: The transmission system comprises: An extraction module, configured to extract file information of a file to be transmitted in response to the file transmitting end detecting the file to be transmitted; A block division module, used for performing block processing on the file to be transmitted according to the file information to obtain a plurality of data blocks; An encryption module, used for encrypting the data block; The sending module is used to send the encrypted data block to the file receiving end through the transmission channel.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and used to run on the processor, characterized in that: When the processor executes the computer program, the method for transmitting medical image data according to any one of claims 1 to 6 is implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method for transmitting medical image data according to any one of claims 1 to 6 is implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the method for transmitting medical imaging data according to any one of claims 1 to 6 is implemented.