Distributed storage query method, system, device and equipment for medical image data
By conducting data communication between the first server and the second server, distributed storage of medical image data is realized, the problems of file loss and inability to retrieve in the prior art are solved, the stability and availability of data are improved, and real-time query and efficient storage are realized.
Patent Information
- Application Number
- CN202510112665.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-23
- Publication Date
- 2025-06-20
AI Technical Summary
The prior art has problems such as file loss and inability to retrieve in terms of storage and query of medical image data, resulting in low file availability and inability to conduct real-time queries and efficient storage of large numbers of small files.
By performing data communication between the first server and the second server, distributed storage of medical image data is realized. When the network state of the first server is connected, data is received and stored, and then when the network state of the second server is connected, data is sent to the second server for storage, thereby realizing synchronous storage of data.
It reduces the risk of medical imaging data storage, improves the stability and availability of data storage, and realizes real-time query and efficient storage.
Smart Images

Figure CN120179707A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and particularly to a distributed storage and query method, system, device and equipment for medical image data. Background Art
[0002] With the development of technology, medical imaging devices are increasingly widely used in clinical practice. How to efficiently store medical images is of crucial importance. Currently, hospital systems use a single-machine storage method for medical images. When transmitting medical images, once the instance network is disconnected, files will be lost or unable to be retrieved, resulting in low file availability.
[0003] Some distributed file storage systems can handle file storage in their respective fields, but they cannot fully support the transmission, storage, retrieval, etc. of medical images, and cannot perform real-time queries, nor can they efficiently store a large number of small files. Summary of the Invention
[0004] In view of the above problems, the present application provides a distributed storage and query method, system, device, electronic device and storage medium for medical image data, which can reduce the risk of file storage and improve the stability and availability of medical image file storage.
[0005] In a first aspect, the present application provides a distributed storage and query method for medical image data. A first server and a second server can communicate with each other and perform distributed storage. The method is applied to the first server and includes: receiving medical image data to be stored when the network communication state of the first server is in a connectable state; storing the medical image data to be stored in the first server; and sending the medical image data to be stored to the second server for storage when it is determined that the network communication state of the second server is in a connectable state.
[0006] In the technical solution of the embodiments of the present application, the medical image data is distributedly stored through data communication between the first server and the second server. When the network communication state of the first server is in a connectable state, the first server receives the medical image data and stores it. Then, when it is determined that the network communication state of the second server is in a connectable state, the first server sends the medical image data to be stored to the second server for storage, so as to ensure that the first server and the second server synchronously store the medical image data, which can reduce the risk of medical image data storage and improve the stability and availability of medical image data storage.
[0007] In some embodiments, when it is determined that the network communication status of the second server is in a connectable state, sending the medical image data to be stored to the second server for storage includes: performing a connectivity detection on the second server to obtain a detection result; when the detection result indicates that the network communication status of the second server is in a connectable state, establishing a data communication with the second server and sending the medical image data to be stored to the second server for storage.
[0008] In some embodiments, the method further includes: when the detection result indicates that the network communication status of the second server is in a non-connectable state, outputting an alarm signal indicating that the second server is not connectable.
[0009] In some embodiments, storing the medical image data to be stored in the first server includes: parsing the medical image data to be stored to generate medical image parsing data, where the medical image parsing data includes at least one of the structure data of the medical image file, patient information, and medical diagnosis and treatment identification information; storing the medical image parsing data in the first server.
[0010] In some embodiments, the method further includes: creating an index based on the medical image data to be stored to generate index information; storing the index information in the first server, where the index information is stored in association with the medical image parsing data.
[0011] In some embodiments, the method further includes: when the network communication status of the first server is in a connectable state, receiving a query message; based on the query message, performing a retrieval based on the index information to obtain the medical image parsing data corresponding to the query message, and outputting the medical image parsing data.
[0012] On the other hand, the present application provides a method for querying medical image data, which is applied to a client. The client can perform data communication with the first server, and the first server can execute the method of any of the above embodiments; the method includes: when the network communication status of the first server is in a connectable state, sending a first query message to the first server; receiving the medical image data output by the first server in response to the first query message.
[0013] In the technical solution of the embodiments of the present application, the client can perform data communication with the first server, and when the network communication status of the first server is in a connectable state, send a first query message of the medical image data to be queried to the first server, and then receive the query result output by the first server, so as to query the corresponding medical image data, and can efficiently query the medical image data.
[0014] In some embodiments, the method further includes: when the network communication state of the first server is in a non-connectable state, sending second query information to the second server; receiving the medical image data output by the second server in response to the second query information.
[0015] On the other hand, the present application provides a distributed storage query system for medical image data. The system includes multiple servers, and each server can execute the method of any one of the above embodiments.
[0016] On the other hand, the present application provides a distributed storage query device for medical image data. The first server and the second server can perform data communication and distributed storage. The device is applied to the first server and includes: a first receiving module, configured to receive medical image data to be stored when the network communication state of the first server is in a connectable state; a storage module, configured to store the medical image data to be stored in the first server; a first sending module, configured to send the medical image data to be stored to the second server for storage when it is determined that the network communication state of the second server is in a connectable state.
[0017] On the other hand, the present application provides a query device for medical image data. The device is applied to a client, and the client can perform data communication with the first server. The first server can execute the method of any one of the above embodiments. The device includes: a second sending module, configured to send first query information to the first server when the network communication state of the first server is in a connectable state; a second receiving module, configured to receive the medical image data output by the first server in response to the first query information.
[0018] On the other hand, the present application provides an electronic device, including a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the method of any one of the above embodiments are implemented.
[0019] On the other hand, the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method of any one of the above embodiments are implemented.
[0020] The above description is only an overview of the technical solution of the present application. In order to be able to understand the technical means of the present application more clearly, it 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 understandable, the specific embodiments of the present application are specifically listed below. Description of the Drawings
[0021] Upon reading the following detailed description of the preferred embodiments, various other advantages and benefits will become apparent to those of ordinary skill in the art. The drawings are only for the purpose of illustrating the preferred embodiments and are not considered to be a limitation of the present application. Moreover, in all the drawings, the same reference numerals are used to represent the same components. In the drawings:
[0022] Figure 1 Shows the flowchart of the distributed storage query method for medical image data according to an embodiment of the present application;
[0023] Figure 2 Shows the schematic diagram of the basic functional units of the server according to an embodiment of the present application;
[0024] Figure 3 Shows the schematic diagram of connectivity detection according to an embodiment of the present application;
[0025] Figure 4 Shows the schematic diagram of the storage of medical image data according to an embodiment of the present application;
[0026] Figure 5 Shows the flowchart of the query method for medical image data according to an embodiment of the present application;
[0027] Figure 6 Shows the schematic diagram of the query of medical image data according to an embodiment of the present application;
[0028] Figure 7 Shows the schematic diagram of the distributed storage system for medical image data according to an embodiment of the present application;
[0029] Figure 8 Shows the block diagram of the distributed storage query device for medical image data according to an embodiment of the present application;
[0030] Figure 9 Shows the block diagram of the query device for medical image data according to an embodiment of the present application;
[0031] Figure 10 Shows the schematic diagram of the electronic device according to an embodiment of the present application. Detailed Embodiments
[0032] Hereinafter, embodiments of the technical solutions of the present application will be described in detail with reference to the drawings. The following embodiments are only used to illustrate the technical solutions of the present application more clearly and thus are only examples and should not be used to limit the protection scope of the present application.
[0033] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the technical field to which this application belongs; the terms used herein are for the purpose of describing specific embodiments only and are not intended to limit this application; the terms "including" and "having" and any variations thereof in the specification and claims of this application and the above description of the drawings are intended to cover non-exclusive inclusion.
[0034] In the description of the embodiments of this application, technical terms such as "first" and "second" are only used to distinguish different objects and cannot be understood as indicating or implying relative importance or implicitly indicating the quantity, specific order, or primary-secondary relationship of the indicated technical features. In the description of the embodiments of this application, the meaning of "a plurality" is more than two, unless otherwise specifically defined.
[0035] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in connection with the embodiments can be included in at least one embodiment of this application. The phrase does not necessarily refer to the same embodiment at every occurrence in the specification, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art will explicitly and implicitly understand that the embodiments described herein can be combined with other embodiments.
[0036] In the description of the embodiments of this application, the term "and / or" is merely a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " herein generally represents an "or" relationship between the associated objects before and after.
[0037] In the description of the embodiments of this application, the term "a plurality" refers to more than two (including two). Similarly, "multiple groups" refers to more than two groups (including two groups), and "multiple pieces" refers to more than two pieces (including two pieces).
[0038] In the description of the embodiments of this application, the orientation or positional relationship indicated by technical terms such as "center", "longitudinal", "transverse", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc. is based on the orientation or positional relationship shown in the drawings, and is only for the convenience of describing the embodiments of this application and simplifying the description, rather than indicating or implying that the indicated device or element must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the embodiments of this application.
[0039] In the description of the embodiments of the present application, unless otherwise clearly specified and limited, technical terms such as "installation", "connection", "connection", "fixation" should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or integrated; it can also be a mechanical connection or an electrical connection; it can be directly connected, or indirectly connected through an intermediate medium, and can be the communication inside two components or the interaction relationship between two components. For those of ordinary skill in the art, the specific meanings of the above terms in the embodiments of the present application can be understood according to specific situations.
[0040] With the development of technology, medical imaging equipment is increasingly widely used clinically. How to efficiently store medical images is of crucial importance. Currently, the hospital system uses a single-machine method to store medical images. When transmitting medical images, once the instance network breaks, the files will be lost or cannot be retrieved, resulting in low file availability.
[0041] There are many distributed file storage systems, such as HDFS (Hadoop Distributed File System), GFS (Google File System), Lustre (Distributed Parallel File System), etc., which can handle stored files in their respective fields. However, they cannot well support the transmission, storage, retrieval, etc. of medical images, and cannot perform real-time queries and efficiently store a large number of small files.
[0042] In view of this, the present application proposes a distributed storage and query method for medical image data, which can effectively solve the problems of file loss and inability to retrieve caused by the existing medical image storage method, reduce the risk of file storage, and improve the stability and availability of medical image data storage.
[0043] The embodiment of the present application provides a distributed storage and query method for medical image data. The medical image data is distributedly stored through data communication between the first server and the second server. When the network communication state of the first server is in a connectable state, the first server receives the medical image data and stores it. Then, when it is determined that the network communication state of the second server is in a connectable state, the first server sends the medical image data to be stored to the second server for storage, so as to ensure that the first server and the second server synchronously store the medical image data, which can reduce the risk of file storage and improve the stability and availability of medical image data storage.
[0044] When there are multiple servers, the user sends medical image data to any server in a connectable state for storage, and this server sends the medical image data to be stored to the other connectable servers for storage, so as to ensure that the other servers synchronously store the medical image data, reduce the risk of storing files on a single machine, and improve the stability and availability of medical image data storage.
[0045] Figure 1 The flowchart of the distributed storage and query method for medical image data according to an embodiment of the present application is shown.
[0046] As Figure 1 shown, the distributed storage and query method 100 for medical image data provided by the embodiment of the present application includes steps S110 to S130. This method is executed, for example, by any one of multiple servers, for example, by the first server.
[0047] Taking multiple servers as an example, when the servers include server A and server B, the first server can be one of the multiple servers (such as server A), and the second server can be the remaining servers (such as server B). When the servers include server A, server B, and server C, the first server can be one of the multiple servers (such as server A), and the second server can be the remaining servers (such as at least one of server B and server C).
[0048] Step S110, when the network communication state of the first server is in a connectable state, receive the medical image data to be stored.
[0049] Exemplarily, the server can be installed and configured on different computers, and network connectivity and data transmission are carried out through a communication protocol. The first server is connected to the user terminal by real-time reading of connection information. The connection information can be, for example, the IP address, port, and AE_TITLE (device identifier) of the first server. The user terminal can be, for example, a medical instrument, software and hardware equipment, etc. Based on the network connectivity state, the first server can receive medical image data automatically sent by an external device or receive the medical image data to be stored manually sent by the user terminal. For example, the medical image data can be received in the common Dicom format for medical images.
[0050] Step S120, store the medical image data to be stored in the first server.
[0051] Exemplarily, the medical image data includes at least one of the structural data of the medical image file, patient information, and medical diagnosis and treatment identification information, and the received medical image data is stored in the first server.
[0052] Step S130: When it is determined that the network communication status of the second server is in a connectable state, send the medical image data to be stored to the second server for storage.
[0053] Exemplarily, establish network connectivity with the second server through the first server, that is, create communication between the two instances. When it is determined that the network communication status of the second server is in a connectable state, the first server sends the medical image data containing the above information to the second server for storage, so as to ensure that the second server can synchronously store the medical image data and improve the stability and availability of the storage of medical image data.
[0054] The embodiment of the present application provides a method for distributed storage and query of medical image data. The medical image data is distributedly stored through data communication between the first server and the second server. When the network communication status of the first server is in a connectable state, the first server receives the medical image data and stores it. Then, when it is determined that the network communication status of the second server is in a connectable state, the first server sends the medical image data to be stored to the second server for storage, so as to ensure that the first server and the second server synchronously store the medical image data. The medical image data to be stored only needs to be sent to any one of the servers, and the server automatically sends the stored data to the other servers for automatic distributed storage, effectively improving the storage efficiency, reducing the risk of file storage, and improving the stability and availability of the storage of medical image data.
[0055] In another example, each server includes multiple functional units to support the availability of the entire distributed storage function. Taking three servers as an example, to ensure the availability of the distributed function, it is required to install three servers on at least three computers respectively, receive different data information, perform corresponding distributed storage or query the stored files.
[0056] Exemplarily, storing the medical image data to be stored in the first server includes: first, parsing the medical image data to be stored to generate medical image parsing data, where the medical image parsing data includes at least one of the structure data of the medical image file, patient information, and medical diagnosis and treatment identification information; then storing the medical image parsing data in the first server.
[0057] In the technical solution of the embodiment of the present application, when the network communication status of the first server is in a connectable state, the medical image data sent by the user is parsed to extract important information and generate medical image general format data that meets the requirements of storage and query, and then the parsed data is stored, which can efficiently store and query medical image data and improve the stability and availability of the storage of medical image data.
[0058] First, an example of the basic functional units of the server is described in conjunction with Figure 2 Figure 1 shows a schematic diagram of the basic functional units of the server according to an embodiment of the present application.
[0059] Figure 2 Figure 1 shows a schematic diagram of the basic functional units of the server according to an embodiment of the present application.
[0060] Exemplarily, the server may include a heartbeat unit, a warning unit, a transmission unit, a parsing unit, a storage unit, a retrieval unit, and a configuration unit.
[0061] The heartbeat unit is used to create protocol communication between each instance (the first server and the second server), monitor the network connectivity of each instance. Once it is found that a certain instance cannot be detected by all other instances for heartbeat or respiration (that is, the instance cannot survive and the network connectivity of the server is lost), the information of this server is handed over by other instances to their own warning units.
[0062] The warning unit is used to send an alarm when receiving the information that the heartbeat of a certain instance is lost; the transmission unit is used to transmit image data in accordance with the DICOM protocol commonly used in medical images.
[0063] The parsing unit is used to parse the medical image data sent by the user received by the transmission unit and create a file index, and send the parsing information and the index information to the storage unit for processing. The parsing information may be, for example, at least one of the structural data of the medical image file, user information (patient information, such as patient name), and examination number (medical diagnosis and treatment identification information). The index information may be, for example, the examination number (medical diagnosis and treatment identification information) and the patient name.
[0064] The storage unit is used to store the information of the medical image file, the index information, and the file path.
[0065] The retrieval unit is used to extract the index according to the index information and determine the retrieval rule. For example, it can retrieve according to the patient name.
[0066] The configuration unit is used to obtain the configuration information of the server, such as the IP address, port, AE_TITLE, heartbeat monitoring time, heartbeat loss reconnection times, etc. of the instance node. By storing medical image data distributively and querying in real time through each functional unit, it is possible to efficiently store medical image data and improve the stability and availability of medical image data storage.
[0067] Exemplarily, while parsing the medical image data to be stored, an index may also be created according to the medical image data to be stored to generate index information; and the index information is stored in the first server, where the index information is stored in association with the medical image parsing data.
[0068] Specifically, the index information can be, for example, the examination number (medical diagnosis and treatment identification information) related to the stored medical image data, the patient's name (patient information), etc. The parsing unit of the first server creates an index based on the medical image data, generates index information, stores the index information in the storage unit of the first server, and then the retrieval unit extracts the index according to the index information for retrieving the medical image data.
[0069] In the technical solution of the embodiment of the present application, while parsing the received medical image data to be stored, an index is created according to the medical image data, index information is generated, and the index information is associated and stored with the medical image parsing data in the first server for the user to read and query the stored medical image data in real time, which can efficiently store the medical image data and improve the stability and availability of the medical image data storage.
[0070] Then, when it is determined that the network communication state of the second server is in a connectable state, the first server sends the medical image data to be stored to the second server for storage.
[0071] Exemplarily, first, a connectivity detection is performed on the second server. For example, the first server can create a communication instance, and the second server can create another communication instance. The connectivity detection can be, for example, directly creating a communication between the two instances through the heartbeat unit of the first server and performing a heartbeat detection, or the heartbeat unit of the first server can obtain the instance heartbeat of the second server through other remaining servers to obtain the detection result; when the detection result indicates that the network communication state of the second server is in a connectable state, that is, when the first server can directly detect the heartbeat of the second server, or when the first server can detect the heartbeat of the second server through the remaining servers, the first server establishes a data communication with the second server and sends the medical image data to be stored to the second server for storage.
[0072] In addition, the method for performing a connectivity detection on the server is not limited to the above one. It is also possible to detect the network connectivity of the server through other general network communication methods before transmitting the medical image data for fault troubleshooting. For example, a detection instruction can be sent to the second server, and based on the response received from the second server, the network communication state of the second server can be obtained, which will not be elaborated here.
[0073] The following describes how the first server establishes a data communication with the second server and performs a distributed storage of the medical image data. Refer to the following text Figure 3 and Figure 4 .
[0074] Figure 3Shows the connectivity detection schematic diagram of the embodiment of the present application.
[0075] As Figure 3 shown, Server 1, Server 2, and Server 3 are three servers. The servers can directly communicate and connect based on http (Hypertext Transfer Protocol). When the http connection between Server 1 and Server 3 is disconnected, the status (returned status) of Server 3 recorded by Server 1 at this time is 0, and the status of Server 1 recorded by Server 3 is 0; the http connections between Server 1 or Server 3 and Server 2 are not disconnected, then Server 2 records the statuses of Server 1 and Server 3 as 1; Server 1 obtains the status of Server 3 as 1 through Server 2. Based on the "or" relationship, 1||0 = 1, that is, Server 1 is connected to Server 3 or Server 2 is connected to Server 3. Therefore, correct the status of Server 3 recorded by this node and reset it to 1 (similarly for Server 3, correct the status of Server 1 to 1). Currently, a complete communication can still be established among the three servers for distributed storage.
[0076] And when the http connection between Server 2 and Server 3 is also disconnected, Server 2 records the status of Server 3 as 0, and Server 1 also records the status of Server 3 as 0. Based on the "or" relationship, 0||0 = 0. At this time, it is considered that the heartbeat of Server 3 is lost, that is, Server 3 cannot perform network connectivity.
[0077] Figure 4 Shows the medical image data storage schematic diagram of the embodiment of the present application.
[0078] As Figure 4 shown, the first server reads the connection information of each server in the configuration information in real time. Server 1, Server 2, and Server 3 are three servers, and 192.168.1.1:8080:dcm, 192.168.1.2:8081:dcm, 192.168.1.3:8082:dcm are the connection information of each server. Dicom is a file in the general format of medical image data.
[0079] The user sends medical image data to any server in a network-connected state. This server serves as the first server. For example, if Server 1 is used as the first server, the transmission unit of Server 1 directly receives the medical image data to be stored, and then sends it to the parsing unit, storage unit, and retrieval unit for processing in sequence, so that the medical image data is stored in Server 1 (the first server).
[0080] Then, obtain the configuration information of Server 2 and Server 3 (the second server) through the configuration unit of Server 1 (the first server), and perform heartbeat detection on their respective connections. If both Server 2 and Server 3 are in a network-connected state, send the medical image data to be stored to Server 2 and Server 3 for storage through the transmission unit of Server 1, so as to ensure that the medical image data is synchronously stored on Server 2 and Server 3, improve the storage efficiency, reduce the risk of file storage, and improve the stability and availability of medical image data storage.
[0081] Exemplarily, in the case where the detection result indicates that the network communication state of the second server is in a non-connected state, an alarm signal indicating that the second server cannot be connected is output.
[0082] In the technical solution of the embodiment of the present application, when the heartbeat of the second server cannot be detected by the first server, that is, when the heartbeat detection result indicates that the network communication state of the second server is in a non-connected state, the first server sends the network connection information of the second server to its own warning unit, and the warning unit of the first server outputs an alarm signal indicating that the second server cannot be connected to the user side, which can timely process the server with network anomalies, reduce the risk of file storage, and improve the stability and availability of medical image data storage.
[0083] In another example, the first server can query medical image data. First, in the case where the network communication state of the first server is in a connectable state, receive the query information; then, based on the query information, perform a retrieval based on the index information to obtain the medical image analysis data corresponding to the query information, and output the medical image analysis data.
[0084] In the technical solution of the embodiment of the present application, when the first server is in a network-connected state, it receives the query information, performs a data file retrieval through the retrieval unit, generates and outputs a file stream according to the retrieved data information (medical image analysis data), so that the output end can read and query the medical image data accordingly, improving the availability of the medical image data.
[0085] Figure 5 Shows the flowchart of the method for querying medical image data according to the embodiment of the present application.
[0086] As Figure 5 shown, the method 500 for querying medical image data provided by the embodiment of the present application includes steps S510 to S520. This method can be executed by the client. The client can send the query information to any one of multiple servers. Taking the client sending the query information to the first server as an example.
[0087] Step S510: When the network communication status of the first server is in a connectable state, send the first query information to the first server.
[0088] Exemplarily, the first query information matches the index information stored in the first server. The first query information can be, for example, the query conditions for medical image data sent via the http protocol (Hypertext Transfer Protocol), c-find protocol (query service protocol), c-get protocol (acquisition service protocol), Dicom protocol, or ftp protocol (File Transfer Protocol) based on a pre-designed C-STORE (columnar storage system) database. When the network communication status of the first server is in a connectable state, send the query information to the first server to obtain medical image data.
[0089] Step S520: Receive the medical image data output by the first server in response to the first query information.
[0090] Exemplarily, the client sends query information to the first server and receives the relevant medical image data retrieved by the first server based on the query information. For example, it can receive the medical images or medical image addresses sent by the first server using the C-SCU protocol (consumer service protocol).
[0091] In the technical solution of the embodiments of the present application, by establishing network connectivity between the client and the first server and sending the first query information, the first server satisfies the method in the above-described implementation manner, and thus receives the relevant medical image data output by the first server based on the first query information, enabling real-time query of the stored medical image data and improving the stability and availability of medical image data storage.
[0092] Exemplarily, when the network communication status of the first server is in a non-connectable state, send the second query information to the second server; then receive the medical image data output by the second server in response to the second query information.
[0093] The following specifically describes how the client queries the medical image data stored in the server. Refer to the following text. Figure 6 .
[0094] Figure 6 Shows a schematic diagram of medical image data query in the embodiments of the present application.
[0095] As Figure 6As shown, when the client API (Application Programming Interface) performs a file query, it establishes a network connection to the server device 1 (the first server). In the case where the network communication status of the first server is in a non-connectable state, it establishes a data communication with the server device 2 (the second server), sends a query message to the server device 2, and performs a data retrieval through the retrieval unit of the server device 2. If the retrieval is successful, it receives the medical image file containing the medical image or the medical image address returned by the transmission unit of the server device 2.
[0096] In the technical solution of the embodiment of the present application, in the case where the network communication status of the first server is in a non-connectable state, by sending a second query message to the second server and receiving the retrieved medical image data, it is possible to query the stored medical image data in real time, improving the stability and availability of the storage of medical image data.
[0097] Figure 7 The figure shows a schematic diagram of a distributed storage query system for medical image data according to an embodiment of the present application.
[0098] The embodiment of the present application provides a distributed storage query system 700 for medical image data. The system includes multiple servers, such as the first server 710, the second server 720, the third server 730, ……, and each server can execute the method of any of the above embodiments.
[0099] Figure 8 The figure shows a block diagram of a distributed storage query device for medical image data according to an embodiment of the present application.
[0100] The embodiment of the present application provides a distributed storage query device 800 for medical image data. The first server and the second server can perform data communication and distributed storage. The device is applied to the first server. Please refer to Figure 8 The distributed storage query device 800 for medical image data includes:
[0101] A first receiving module 810, configured to receive the medical image data to be stored in the case where the network communication status of the first server is in a connectable state.
[0102] A storage module 820, configured to store the medical image data to be stored in the first server.
[0103] A first sending module 830, configured to send the medical image data to be stored to the second server for storage in the case where it is determined that the network communication status of the second server is in a connectable state.
[0104] Exemplarily, the first receiving module 830 is further configured to: perform connectivity heartbeat detection on the second server to obtain a detection result; in the case that the detection result indicates that the network communication state of the second server is in a connectable state, establish data communication with the second server, and send the medical image data to be stored to the second server for storage.
[0105] Exemplarily, the distributed storage and query device 800 for medical image data further includes: an alarm output module, configured to output an alarm signal indicating that the second server is not connectable in the case that the detection result indicates that the network communication state of the second server is in a non-connectable state.
[0106] The storage module 820 is further configured to: parse the medical image data to be stored to generate medical image parsing data, where the medical image parsing data includes at least one of the structure data of the medical image file, patient information, and medical diagnosis and treatment identification information; store the medical image parsing data to the first server.
[0107] Exemplarily, the distributed storage and query device 800 for medical image data further includes: an index generation module, configured to create an index based on the medical image data to be stored to generate index information; an index storage module, configured to store the index information to the first server, where the index information is stored in an associated manner with the medical image parsing data.
[0108] Exemplarily, the distributed storage and query device 800 for medical image data further includes: a query information receiving module, configured to receive query information in the case that the network communication state of the first server is in a connectable state; a retrieval module, configured to retrieve based on the query information and the index information to obtain the medical image parsing data corresponding to the query information, and output the medical image parsing data.
[0109] Figure 9 The block diagram of the query device for medical image data according to an embodiment of the present application is shown.
[0110] An embodiment of the present application provides a query device 900 for medical image data, where the client can perform data communication with the first server. Please refer to Figure 9 The query device 900 for medical image data includes:
[0111] A second sending module 910, configured to send first query information to the first server in the case that the network communication state of the first server is in a connectable state.
[0112] A second receiving module 920, configured to receive the medical image data output by the first server in response to the first query information.
[0113] Exemplarily, the query device 900 for medical image data further includes: a third sending module, configured to send second query information to the second server when the network communication state of the first server is in an unreachable state; and a third receiving module, configured to receive the medical image data output by the second server in response to the second query information.
[0114] An embodiment of the present application provides an electronic device, including a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the method in any of the above embodiments are implemented.
[0115] An embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method in any of the above embodiments are implemented.
[0116] Figure 10 A schematic diagram of the electronic device according to an embodiment of the present application is shown.
[0117] An embodiment of the present application provides an electronic device, including a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the method in any of the above embodiments is implemented.
[0118] As Figure 10 shown, for ease of understanding, an embodiment of the present application shows a specific electronic device 1000.
[0119] The electronic device 1000 is intended to represent various forms of digital computers, such as, a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as, a personal digital processor, a cellular phone, a smart phone, a wearable device, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0120] As Figure 10 shown, the device 1000 includes a computing unit 1001, which can execute various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 1002 or the computer program loaded from the storage unit 1008 into the random access memory (RAM) 1003. In the RAM 1003, various programs and data required for the operation of the electronic device 1000 can also be stored. The computing unit 1001, the ROM 1002, and the RAM 1003 are connected to each other through a bus 1004. The input / output (I / O) interface 1005 is also connected to the bus 1004.
[0121] Multiple components in the electronic device 1000 are connected to the I / O interface 1005. The multiple components include: an input unit 1006, such as a keyboard, a mouse, etc.; an output unit 1007, such as various types of displays, speakers, etc.; a storage unit 1008, such as a magnetic disk, an optical disc, etc.; and a communication unit 1009, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 1009 allows the electronic device 1000 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0122] The computing unit 1001 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1001 include but are not limited to a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1001 executes the various methods described above. For example, in some embodiments, any one or more of the methods described above can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as the storage unit 1008. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 1000 via the ROM 1002 and / or the communication unit 1009. When the computer program is loaded into the RAM 1003 and executed by the computing unit 1001, one or more steps of any one or more of the methods described above can be executed. Alternatively, in other embodiments, the computing unit 1001 can be configured to execute any one or more of the methods described above by any other suitable means (e.g., by means of firmware).
[0123] Note that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a definite sequence list of executable instructions for implementing logical functions, and can be specifically implemented in any computer-readable medium for use by an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor, or other systems that can fetch and execute instructions from the instruction execution system, apparatus, or device), or in combination with these instruction execution systems, apparatus, or devices. For the purposes of this application, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transport a program for use by or in combination with an instruction execution system, apparatus, or device. More specific examples (non-exhaustive list) of computer-readable media include the following: an electrical connection portion with one or more wirings (electronic device), a portable computer diskette (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable medium can even be paper or other suitable media on which a program can be printed, because the program can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpretation, or other suitable processing as necessary, and then stored in a computer memory.
[0124] It should be understood that various parts of the present application can be implemented using hardware, software, firmware, or a combination thereof. In the above-described embodiments, multiple steps or methods can be implemented using software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented using hardware, as in another embodiment, any one or a combination of the following techniques well known in the art can be used: discrete logic circuits having logic gate circuits for implementing logical functions on data signals, application-specific integrated circuits having suitable combinational logic gate circuits, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), and the like.
[0125] In the description of the present application, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples", etc. means that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. In the present application, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples.
[0126] In the description of the present application, it should be understood that the orientation or positional relationships indicated by the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc. are based on the orientation or positional relationships shown in the drawings, and are only for the convenience of describing the present application and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and thus should not be construed as a limitation to the present application.
[0127] In addition, the terms "first", "second", etc. used in the embodiments of the present application are only for descriptive purposes and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated in this embodiment. Thus, the features defined with the terms "first", "second", etc. in the embodiments of the present application may explicitly or implicitly indicate that at least one such feature is included in this embodiment. In the description of the present application, the meaning of the word "plurality" is at least two or more than two, such as two, three, four, etc., unless otherwise specifically defined in the embodiments.
[0128] In the present application, unless otherwise clearly specified or limited in the embodiments, the terms "mounted", "connected", "coupled" and "fixed" etc. appearing in the embodiments should be understood in a broad sense. For example, the connection can be a fixed connection, a detachable connection, or an integral one. It can be understood that it can also be a mechanical connection, an electrical connection, etc.; of course, it can also be a direct connection, or an indirect connection through an intermediate medium, or it can be the communication inside two elements, or the interaction relationship between two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present application can be understood according to specific implementation situations.
[0129] In the present application, unless otherwise clearly specified and limited, the first feature being "on" or "under" the second feature may be that the first and second features are in direct contact, or the first and second features are in indirect contact through an intermediate medium. Moreover, the first feature being "above", "over" and "on top of" the second feature may be that the first feature is directly above or obliquely above the second feature, or merely indicates that the first feature has a higher horizontal height than the second feature. The first feature being "under", "beneath" and "underneath" the second feature may be that the first feature is directly below or obliquely below the second feature, or merely indicates that the first feature has a lower horizontal height than the second feature.
Claims
1. A distributed storage query method for medical image data, characterized in that: The first server and the second server can communicate data and perform distributed storage. The method is applied to the first server, and the method includes: When the network communication state of the first server is in a connectable state, receiving the medical image data to be stored; Storing the medical image data to be stored in the first server; When it is determined that the network communication status of the second server is in a connectable state, the medical image data to be stored is sent to the second server for storage.
2. The method according to claim 1, characterized in that The step of sending the medical image data to be stored to the second server for storage when it is determined that the network communication state of the second server is in a connectable state comprises: Performing a connectivity test on the second server to obtain a test result; When the detection result indicates that the network communication status of the second server is in a connectable state, data communication is established with the second server, and the medical image data to be stored is sent to the second server for storage.
3. The method according to claim 2, characterized in that The method further comprises: When the detection result indicates that the network communication state of the second server is in a disconnected state, an alarm signal indicating that the second server is in a disconnected state is output.
4. The method according to any one of claims 1 to 3, characterized in that: The storing the medical image data to be stored in the first server includes: Parsing the medical image data to be stored to generate the medical image parsing data, wherein the medical image parsing data includes at least one of the structural data of the medical image file, the patient information, and the medical diagnosis and treatment identification information; The medical image parsing data is stored in the first server.
5. The method according to claim 4, characterized in that The method further comprises: Creating an index according to the medical image data to be stored, and generating index information; The index information is stored in the first server, wherein the index information is stored in association with the medical image analysis data.
6. The method according to claim 5, characterized in that The method further comprises: When the network communication state of the first server is in a connectable state, receiving query information; According to the query information, a search is performed based on the index information to obtain medical image analysis data corresponding to the query information, and the medical image analysis data is output.
7. A method for querying medical image data, characterized in that: Applied to a client, the client can communicate data with a first server, and the first server can execute the method according to any one of claims 1 to 6; the method comprises: When the network communication state of the first server is in a connectable state, sending first query information to the first server; Receive medical imaging data output by the first server in response to the first query information.
8. The method according to claim 7, characterized in that The method further comprises: When the network communication status of the first server is in a disconnected state, sending a second query message to the second server; Receive the medical imaging data output by the second server in response to the second query information.
9. A distributed storage and query system for medical image data, characterized in that: The system comprises a plurality of servers, each of which is capable of executing the method according to any one of claims 1-6.
10. A distributed storage and query device for medical image data, characterized in that: The first server end and the second server end are capable of performing data communication and distributed storage, and the device is applied to the first server end, and the device includes: A first receiving module, configured to receive the medical image data to be stored when the network communication state of the first server is in a connectable state; A storage module, used for storing the medical image data to be stored in the first server; The first sending module is used to send the medical image data to be stored to the second server for storage when it is determined that the network communication status of the second server is in a connectable state.
11. A medical image data query device, characterized in that: Applied to a client, the client can communicate data with a first server, and the first server can execute the method according to any one of claims 1 to 6; the device comprises: A second sending module, configured to send first query information to the first server when the network communication state of the first server is in a connectable state; The second receiving module is used to receive the medical imaging data output by the first server in response to the first query information.
12. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.
13. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.