CN112951385A - Data access method and equipment for PACS image storage system - Google Patents

Data access method and equipment for PACS image storage system Download PDF

Info

Publication number
CN112951385A
CN112951385A CN202110279356.3A CN202110279356A CN112951385A CN 112951385 A CN112951385 A CN 112951385A CN 202110279356 A CN202110279356 A CN 202110279356A CN 112951385 A CN112951385 A CN 112951385A
Authority
CN
China
Prior art keywords
storage node
available storage
list
storage nodes
management server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110279356.3A
Other languages
Chinese (zh)
Inventor
汤钦华
侯晋
李波
宓林晖
袁骏毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Chest Hospital
Original Assignee
Shanghai Chest Hospital
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Chest Hospital filed Critical Shanghai Chest Hospital
Priority to CN202110279356.3A priority Critical patent/CN112951385A/en
Publication of CN112951385A publication Critical patent/CN112951385A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/20ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Radiology & Medical Imaging (AREA)
  • Software Systems (AREA)
  • Epidemiology (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention aims to provide a data access method and equipment for a PACS image storage system, which determine a list of currently available storage nodes by a management server based on heartbeat messages of all storage nodes, wherein the management server selects the currently available storage nodes in turn by polling from the list based on access requests of PACS image data and returns IP addresses corresponding to FTP servers of the selected currently available storage nodes to service workstations, so that different currently available storage nodes can be allocated to PACS requests from different service workstations, and when part of the storage nodes are in failure, other available storage nodes can still provide data access service, thereby realizing high-performance and fault-tolerant access of the PACS image data and ensuring high availability of data read-write performance and service systems.

Description

Data access method and equipment for PACS image storage system
Technical Field
The invention relates to the field of computers, in particular to a data access method and equipment for a PACS image storage system.
Background
Medical imaging is an important support for modern medicine. Diagnostic image files generated by the radioactive medical equipment and the cardiovascular imaging equipment are written into the network storage equipment for diagnostic analysis of a radiology reader and a doctor. PACS (Picture Archiving and Communication Systems, meaning image Archiving and Communication Systems) image files are typically several hundred KB to several MB in size, resulting in thousands of images per examination. With the increasing resolution of medical imaging diagnostic equipment, the data volume of PACS images is on a rapid growth trend. The PACS image storage system is generally composed of a plurality of storage nodes, and the purposes of capacity expansion and fault tolerance are achieved.
When a doctor diagnoses, the doctor needs to read files from a PACS image storage device and then displays the files in a drawing mode on a workstation. During peak hours, up to several hundred stations may concurrently read data from the image storage device, placing significant performance pressure on the storage device.
Disclosure of Invention
The invention aims to provide a data access method and equipment for a PACS image storage system.
According to an aspect of the present invention, there is provided a data access method for a PACS image storage system, the method including:
each storage node periodically sends heartbeat messages to a management server, wherein each storage node is used for storing PACS image data;
the management server adds the storage nodes into a list of the current available storage nodes or deletes the storage nodes from the list of the current available storage nodes based on the heartbeat messages of the storage nodes;
the client sends an access request of the storage node to the management server;
the management server sequentially polls and selects the current available storage node from the list of the current available storage node based on the access request of the client, and returns the IP address corresponding to the FTP server of the selected current available storage node to the client;
and the client establishes TCP connection with the corresponding FTP server based on the received IP address, and accesses the corresponding current available storage node through the client and the FTP server establishing the TCP connection.
Further, in the above method, adding, by the management server, the storage node to the list of currently available storage nodes based on the heartbeat message of each storage node includes:
step S211, the management server records the received heartbeat message sent by each storage node into a history message queue corresponding to each storage node, where each heartbeat message includes: storing node numbers and heartbeat time, wherein only M heartbeat messages sent by each storage node which are received recently are recorded in the history message queue, and M is a positive integer;
in step S212, the management server determines whether each storage node belongs to the list of currently available storage nodes,
step S213, if all the storage nodes belong to the list of the current available storage nodes, returning to the step S211;
step S214, if a storage node belongs to the list of all storage nodes and does not belong to the list of the current available storage node, the management server judges whether N heartbeat messages with continuous recent heartbeat time sent by the storage node are received or not based on the historical message queue corresponding to the storage node, wherein M is larger than or equal to N, and the current available storage node is selected from the list of all storage nodes;
step S215, if the storage server receives N heartbeat messages with continuous recent heartbeat time sent by the storage node, adding the storage node to the tail of the list Lon of the current available storage node, and returning to step S211;
step S216, if the storage server does not receive N heartbeat messages with consecutive recent heartbeat time sent by the storage node, returning to step S211.
Further, in the above method, the deleting, by the management server, the storage node from the list of currently available storage nodes based on the heartbeat message of each storage node includes:
step S221, the management server periodically judges whether N heartbeat messages with continuous recent heartbeat time sent by each storage node in the list of the current available storage nodes are received or not based on a historical message queue corresponding to each storage node, wherein M is greater than or equal to N, and N is a positive integer;
step S222, if the management server receives N heartbeat messages with continuous recent heartbeat time respectively sent by all storage nodes in the list of the current available storage nodes, returning to step S221;
step S223, if the management server does not receive N heartbeat messages with continuous recent heartbeat time sent by one or more storage nodes in the list of the current available storage nodes, determining whether the number of received heartbeat messages sent by the one or more storage nodes respectively in a preset recent time period T is greater than K, where K is a positive integer;
step S224, if the number of heartbeat messages respectively sent by the one or more storage nodes received by the management server within the preset recent time period T is more than K, returning to the step S221;
step S225, if the number of heartbeat messages respectively sent by the one or more storage nodes received by the management server within the preset recent time period T is less than or equal to K, deleting the one or more storage nodes from the list Lon of the current available storage nodes, and returning to step S221.
Further, in the above method, the sending, by the client, the access request of the storage node to the management server includes:
and the service workstation sends an access request of the storage node to the management server.
Further, in the above method, the step of sequentially polling and selecting, by the management server, a current available storage node from the list of the current available storage nodes based on the access request of the client, and returning an IP address corresponding to the FTP server of the selected current available storage node to the client includes:
and the management server sequentially polls and selects the current available storage node from the list of the current available storage node based on the access request of the service workstation, and returns the IP address corresponding to the FTP server of the selected current available storage node to the service workstation.
Further, in the above method, the establishing, by the client, a TCP connection with the corresponding FTP server based on the received IP address, and accessing the corresponding current available storage node through the client and the FTP server that establishes the TCP connection includes:
the service workstation establishes TCP connection with a corresponding FTP server based on the received IP address;
the service workstation sends a user name of the service workstation to the FTP server through the established TCP connection;
after receiving the user name of the service workstation, the FTP server sends a unique character string which changes randomly along with the time to the service workstation;
the service workstation adds a preset password corresponding to the user name of the service workstation after the unique character string randomly changing along with the time to obtain a first addition result, performs MD5 calculation on the first addition result to obtain a first character string of MD5, and sends the first character string of MD5 to the FTP server;
the FTP server adds a preset password corresponding to the user name of the service workstation after the unique character string which randomly changes along with the time to obtain a second addition result, and MD5 calculation is carried out on the second addition result to obtain a second character string of MD 5;
the FTP server compares the received first string of MD5 with the calculated second string of MD5,
if the comparison result is consistent, the FTP server keeps the TCP connection so as to allow the service workstation to read the PACS image data of the corresponding current available storage node through the FTP server;
and if the comparison result is inconsistent, the FTP server closes the TCP connection.
Further, in the above method, the sending, by the client, the access request of the storage node to the management server includes:
the checking equipment transmits the PACS image data to a DICOM gateway through a DICOM protocol and a network;
and the DICOM gateway sends an access request of the storage node to the management server.
Further, in the above method, the step of sequentially polling and selecting, by the management server, a current available storage node from the list of the current available storage nodes based on the access request of the client, and returning an IP address corresponding to the FTP server of the selected current available storage node to the client includes:
and the management server sequentially polls and selects the current available storage node from the list of the current available storage node based on the access request of the DICOM gateway, and returns the IP address corresponding to the FTP server of the selected current available storage node to the DICOM gateway.
Further, in the above method, the establishing, by the client, a TCP connection with the corresponding FTP server based on the received IP address, and accessing the corresponding current available storage node through the client and the FTP server that establishes the TCP connection includes:
the DICOM gateway establishes TCP connection with a corresponding FTP server based on the received IP address;
the DICOM gateway sends a user name of the DICOM gateway to the FTP server through the established TCP connection;
after receiving the user name of the DICOM gateway, the FTP server sends a unique character string which changes randomly along with time to the DICOM gateway;
the DICOM gateway adds a preset password corresponding to the user name of the DICOM gateway after the unique character string which randomly changes along with the time to obtain a third addition result, MD5 calculation is carried out on the third addition result to obtain a third character string of MD5, and the third character string of MD5 is sent to the FTP server;
the FTP server adds a preset password corresponding to the user name of the DICOM gateway after the unique character string which randomly changes along with the time to obtain a fourth addition result, and MD5 calculation is carried out on the fourth addition result to obtain a fourth character string of MD 5;
the FTP server compares the received third string of MD5 with the calculated fourth string of MD5,
if the comparison result is consistent, the FTP server keeps the TCP connection so as to allow the DICOM gateway to write PACS image data into the corresponding current available storage node through the FTP server;
and if the comparison result is inconsistent, the FTP server closes the TCP connection.
According to another aspect of the present invention, there is also provided a computer readable medium having computer readable instructions stored thereon, the computer readable instructions being executable by a processor to implement the method of any one of the above.
Compared with the prior art, the method and the system have the advantages that the management server determines the list of the current available storage nodes based on the heartbeat messages of all the storage nodes, the management server selects the current available storage nodes in sequence from the list in a polling mode based on the access request of the PACS image data, and returns the IP addresses corresponding to the FTP servers of the selected current available storage nodes to the service workstations, so that different current available storage nodes can be allocated to the PACS requests from different service workstations, and when some storage nodes are in fault, other available storage nodes can still provide data access service; the service workstation establishes TCP connection with a corresponding FTP server based on the received IP address, and accesses the current available storage node through the service workstation and the FTP server establishing the TCP connection, thereby realizing the access of high-performance and fault-tolerant PACS image data, and ensuring the data read-write performance and the high availability of a service system.
Drawings
Other features, objects and advantages of the invention will become more apparent upon reading of the detailed description of non-limiting embodiments made with reference to the following drawings:
FIG. 1 is a diagram illustrating a medical PACS image data storage system network topology according to an embodiment of the present application;
FIG. 2 illustrates a flow diagram of heartbeat message processing according to an embodiment of the present application;
fig. 3 shows a flowchart of a periodic check of the management server according to an embodiment of the present application.
The same or similar reference numbers in the drawings identify the same or similar elements.
Detailed Description
The present invention is described in further detail below with reference to the attached drawing figures.
In a typical configuration of the present application, the terminal, the device serving the network, and the trusted party each include one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include non-transitory computer readable media (transient media), such as modulated data signals and carrier waves.
The invention provides a data access method for a PACS image storage system, which comprises the following steps:
step S1, each storage node periodically sends heartbeat messages to the management server, wherein each storage node is used for storing PACS image data;
here, the storage node sends heartbeat information to the management server periodically, and a typical period may be 1 second;
the PACS image storage system of the invention comprises: the system comprises a client, a management server, a plurality of storage nodes and FTP servers corresponding to the storage nodes;
as shown in fig. 1, the client may include: a service workstation and an inspection device;
the inspection apparatus may include: examination apparatuses such as CT, MRI, ultrasound, and the like;
the service workstation may include: a radiologist workstation, an outpatient physician workstation, and a hospital doctor workstation;
the storage node may include: storage node 1, storage node 2, …, storage node N;
each storage node is provided with an FTP server;
step S2, the management server adds the storage node into the list Lon of the current available storage node or deletes the storage node from the list of the current available storage node based on the heartbeat message of each storage node;
here, each storage node periodically sends heartbeat information to the management server service, and the management server judges whether each storage node is in a normal working state according to historical heartbeat information of the storage node and organizes the normal storage nodes into a list set of current available nodes;
when the storage node fails, the heartbeat information cannot be sent to the management server, and after a certain time period, the management server deletes the failed storage node from the list of the current available nodes;
step S3, the client sends the access request of the storage node to the management server;
step S4, the management server polls and selects the current available storage node from the list of the current available storage node in turn based on the access request of the client, and returns the IP address corresponding to the FTP server of the selected current available storage node to the client;
here, the access request may be, for example, a read or write request for PACS image data of each storage node;
before accessing a corresponding small number of storage nodes through an FTP server, a client firstly sends an access request of the storage nodes to a management server, after receiving the request, the management server selects one current available storage node from a list of the current available storage node in sequence by using a polling method, and takes an IP address of the FTP server corresponding to the current available storage node as a response, so that the access requests from different clients can be allocated to different current available storage nodes;
for example, the currently available storage node selected by the management server in the last polling is storage node 1, and then the currently available storage node selected by the management server in the next polling is next storage node 2 in the list of the currently available storage nodes;
and step S5, the client establishes TCP connection with the corresponding FTP server based on the received IP address, and accesses the corresponding current available storage node through the client and the FTP server establishing the TCP connection.
The management server determines a list of currently available storage nodes based on heartbeat messages of all the storage nodes, and the management server selects the currently available storage nodes in sequence by polling from the list based on access requests of the PACS image data and returns IP addresses corresponding to FTP servers of the selected currently available storage nodes to the service workstations, so that different currently available storage nodes can be allocated to PACS requests from different service workstations, and when some storage nodes are in fault, other available storage nodes can still provide data access service; the service workstation establishes TCP connection with a corresponding FTP server based on the received IP address, and accesses the current available storage node through the service workstation and the FTP server establishing the TCP connection, thereby realizing the access of high-performance and fault-tolerant PACS image data, and ensuring the data read-write performance and the high availability of a service system.
As shown in fig. 2, in an embodiment of the data access method for a PACS image storage system according to the present invention, in step S2, the adding, by the management server, a storage node into a list of currently available storage nodes based on a heartbeat message of each storage node includes:
step S211, the management server records the received heartbeat messages sent by each storage node into a history message queue corresponding to each storage node, wherein each heartbeat message comprises a storage node number and heartbeat time, only M heartbeat messages sent by each storage node which are received recently are recorded in the history message queue, and M is a positive integer;
the management server always records only M heartbeat messages sent by each storage node which are received recently, and after the historical message queue exceeds the M heartbeat messages, the new heartbeat message can cover the heartbeat message with the oldest heartbeat time in the M heartbeat messages so as to ensure that only useful M heartbeat messages with the recent time are stored in the historical message queue, and the data storage space is saved;
for example, the storage node should periodically send heartbeat messages to the management server at an interval period of 1 second, and the management server may sequentially record M (5) heartbeat messages received by the storage node 1 as follows:
storage node 1, heartbeat time: 9: 01;
storage node 1, heartbeat time: 9: 02;
storage node 1, heartbeat time: 9: 03;
storage node 1, heartbeat time: 9: 06;
storage node 1, heartbeat time: 9: 18;
it can be seen that: heartbeat time: 9:01, heartbeat time: 9:02 and heartbeat time: 9:03 continuous; heartbeat time: 9:03 and heartbeat time: 9:06 is discontinuous; heartbeat time: 9:06 and heartbeat time: 9:18 is also not continuous.
For example, the storage node 2 should periodically send heartbeat messages to the management server at an interval period of 1 second, and the management server may sequentially record M (5) heartbeat messages received by the storage node 2 as follows:
storage node 2, heartbeat time: 14: 18;
storage node 2, heartbeat time: 14: 19;
storage node 2, heartbeat time: 14: 23;
storage node 2, heartbeat time: 14: 24;
storage node 2, heartbeat time: 14: 25;
here, it can be seen that the heartbeat time: 14:19 and heartbeat time: 14:23 is discontinuous; heartbeat time: 14:18 and heartbeat time: 14:19 is continuous; heartbeat time: 14:23, heartbeat time: 14:23 and heartbeat time: 14:24 is also continuous;
in step S212, the management server determines whether each storage node belongs to the list of currently available storage nodes,
step S213, if all the storage nodes belong to the list of the current available storage nodes, returning to the step S211;
step S214, if there is a list L of all storage nodes to which the storage node belongsallIf the current available storage node does not belong to the list of the current available storage nodes, the management server judges whether N heartbeat messages with continuous recent heartbeat time, which are sent by the storage node, are received or not based on a historical message queue corresponding to the storage node, wherein M is greater than or equal to N, and the current available storage node is selected from the list of all the storage nodes;
here, the management server maintains 2 lists: a list of all storage nodes and a list of currently available storage nodes; the list of all storage nodes is not empty, and the list of the current available storage nodes may be empty or may include all or part of the storage nodes in the list of all storage nodes;
step S215, if the storage server receives N heartbeat messages with continuous recent heartbeat time sent by the storage node, adding the storage node to the tail of the list Lon of the current available storage node, and returning to step S211;
step S216, if the storage server does not receive N heartbeat messages with consecutive recent heartbeat time sent by the storage node, returning to step S211.
For example, the storage node 2 belongs to a list of all storage nodes and does not belong to the list of currently available storage nodes, N is 3, M is 5, the storage nodes periodically send heartbeat messages to the management server at an interval period of 1 second, and the management server may sequentially and respectively record M (5) heartbeat messages received by the storage node 1 as follows:
storage node 2, heartbeat time: 14: 18;
storage node 2, heartbeat time: 14: 19;
storage node 2, heartbeat time: 14: 23;
storage node 2, heartbeat time: 14: 24;
storage node 2, heartbeat time: 14: 25;
then, storage node 2, heartbeat time: 14:23, heartbeat time: 14:24, heartbeat time: 14:25 (heartbeat time continuation), which indicates that the storage server receives N ═ 3 heartbeat messages sent by the storage node in a recent heartbeat time continuation mode, and adds the storage node to the tail of the list Lon of currently available storage nodes.
As shown in fig. 3, in an embodiment of the data access method for a PACS image storage system according to the present invention, in step S2, the removing, by the management server, a storage node from the list of currently available storage nodes based on the heartbeat message of each storage node includes:
step S221, the management server periodically judges whether N heartbeat messages with continuous recent heartbeat time sent by each storage node in the list of the current available storage nodes are received or not based on a historical message queue corresponding to each storage node, wherein M is greater than or equal to N, and N is a positive integer;
here, the management server may check the historical heartbeat record of each storage node in the list of currently available storage nodes for a period of 1 second;
step S222, if the management server receives N heartbeat messages with continuous recent heartbeat time respectively sent by all storage nodes in the list of the current available storage nodes, returning to step S221;
step S223, if the management server does not receive N heartbeat messages with continuous recent heartbeat time sent by one or more storage nodes in the list of the current available storage nodes, determining whether the number of received heartbeat messages sent by the one or more storage nodes respectively in a preset recent time period T is greater than K, where K is a positive integer;
here, K may be a positive integer of N or less;
step S224, if the number of heartbeat messages respectively sent by the one or more storage nodes received by the management server within the preset recent time period T is more than K, returning to the step S221;
step S225, if the number of heartbeat messages respectively sent by the one or more storage nodes received by the management server within the preset recent time period T is less than or equal to K, deleting the one or more storage nodes from the list Lon of the current available storage nodes, and returning to step S221.
For example, storage node 1 belongs to a list of all storage nodes and to the list of currently available storage nodes, N is 3, M is 5, T is 6 seconds, and K is 3; the storage node should periodically send heartbeat messages to the management server at an interval period of 1 second, and the management server may sequentially record M (5) heartbeat messages received by the storage node 1 as follows:
storage node 1, heartbeat time: 9: 01;
storage node 1, heartbeat time: 9: 02;
storage node 1, heartbeat time: 9: 03;
storage node 1, heartbeat time: 9: 06;
storage node 1, heartbeat time: 9: 18;
it can be seen that: heartbeat time: 9:01, heartbeat time: 9:02 and heartbeat time: 9:03 continuous; heartbeat time: 9:03 and heartbeat time: 9:06 is discontinuous; heartbeat time: 9:06 and heartbeat time: 9:18 is also not continuous.
Due to the heartbeat time: 9:03 and heartbeat time: 9:06 is discontinuous; heartbeat time: 9:06 and heartbeat time: 9:18 is also discontinuous, so the heartbeat time of the recent N-3 heartbeat messages is discontinuous, so the management server does not receive the recent 3 heartbeat messages sent by one or more storage nodes in the list of the currently available storage nodes; and within a preset recent time period T of 6 seconds, the heartbeat time for receiving only 1 heartbeat message is 9:18, so that the number of heartbeat messages respectively sent by the one or more storage nodes received by the management server is 1, and if the number of heartbeat messages is less than or equal to K equal to 3, the storage node 1 is deleted from the list Lon of the current available storage nodes.
In this embodiment, when a storage node fails and cannot send heartbeat information to the management server, and after a certain time, the management server may delete the node from the available node set, and the client no longer accesses the storage node.
In addition, when the failed storage node returns to normal, the storage node sends heartbeat information to the management server, and the management server can add the storage node into the list of the current available storage node again.
In an embodiment of the data access method for the PACS image storage system according to the present invention, in step S3, the sending, by the client, the access request of the storage node to the management server includes:
the service workstation sends an access request of the storage node to the management server;
step S4, the management server sequentially polls and selects the current available storage node from the list of the current available storage node based on the access request of the client, and returns the IP address corresponding to the FTP server of the selected current available storage node to the client, including:
the management server sequentially polls and selects the current available storage node from the list of the current available storage node based on the access request of the service workstation, and returns the IP address corresponding to the FTP server of the selected current available storage node to the service workstation;
step S5, the client establishes a TCP connection with the corresponding FTP server based on the received IP address, and accesses the corresponding current available storage node through the client and the FTP server that establishes the TCP connection, including:
step S511, the service workstation establishes TCP connection with the corresponding FTP server based on the received IP address;
step S512, the service workstation sends the user name of the service workstation to the FTP server through the established TCP connection;
here, the user name of the service workstation may be, for example: "USER xxx";
step S513, after receiving the user name of the service workstation, the FTP server sends a unique character string which changes randomly along with time to the service workstation;
here, the unique character string that changes randomly with time may be, for example: "331 computer md5 yyy", the length of the unique character string randomly changing along with time can be 8-128 bytes;
step S514, the service workstation adds a preset password corresponding to the user name of the service workstation after the unique character string randomly changing along with the time to obtain a first addition result, performs MD5 calculation on the first addition result to obtain a first character string of MD5, and sends the first character string of MD5 to the FTP server;
after adding a password corresponding to a user name xxx of the service workstation after the character string 'yyy', the service workstation calculates MD5 and sends the character string of MD5 to the FTP server;
step S515, the FTP server adds a preset password corresponding to the user name of the service workstation after the unique string randomly changing with time to obtain a second addition result, and performs MD5 calculation on the second addition result to obtain a second string of the MD 5;
step S516, the FTP server compares the received first character string of the MD5 with the calculated second character string of the MD5,
step S517, if the comparison result is consistent, the FTP server keeps the TCP connection, so as to allow the service workstation to read the PACS image data of the corresponding current available storage node through the FTP server;
step S518, if the comparison result is inconsistent, the FTP server closes the TCP connection.
The FTP server may perform the same calculation according to a locally configured user name and password, if the calculated second character string of the MD5 is the same as the first character string of the MD5 sent by the service workstation, the TCP connection is maintained, and a "230 Logged on" message may also be sent to the service workstation, and subsequently, the service workstation may read PACS image data from the corresponding currently available storage node through the FTP server by using a standard FTP command; otherwise, the TCP connection is closed and "530 log in Authentication Error" may also be sent to the service workstation.
The improved FTP protocol of the embodiment is adopted between the service workstation and the storage node to read and write data, so that the password can be prevented from being transmitted on the network in a plaintext mode.
As shown in fig. 1, in an embodiment of the data access method for a PACS image storage system according to the present invention, in step S3, the sending, by the client, an access request of a storage node to the management server includes:
step S31, the checking device sends the PACS image data to the DICOM gateway through the DICOM protocol and the network;
step S32, the DICOM gateway sends an access request of a storage node to the management server;
step S4, the management server sequentially polls and selects the current available storage node from the list of the current available storage node based on the access request of the client, and returns the IP address corresponding to the FTP server of the selected current available storage node to the client, including:
the management server sequentially polls and selects the current available storage nodes from the list of the current available storage nodes based on the access request of the DICOM gateway, and returns the IP addresses corresponding to the FTP servers of the selected current available storage nodes to the DICOM gateway;
step S5, the client establishes a TCP connection with the corresponding FTP server based on the received IP address, and accesses the corresponding current available storage node through the client and the FTP server that establishes the TCP connection, including:
step S521, the DICOM gateway establishes TCP connection with a corresponding FTP server based on the received IP address;
step S522, the DICOM gateway sends the user name of the DICOM gateway to the FTP server through the established TCP connection;
here, the user name of the DICOM gateway may be, for example: "USER xxx";
step S523, after receiving the user name of the DICOM gateway, the FTP server sends a unique character string which changes randomly along with time to the DICOM gateway;
here, the unique character string that changes randomly with time may be, for example: "331 computer md5 yyy", the length of the unique character string randomly changing along with time can be 8-128 bytes;
step S524, the DICOM gateway adds a preset password corresponding to the user name of the DICOM gateway after the unique character string randomly changing with time to obtain a third addition result, performs MD5 calculation on the third addition result to obtain a third character string of MD5, and sends the third character string of MD5 to the FTP server;
the DICOM gateway adds a password corresponding to a user name xxx of the DICOM gateway after a character string of yyy, calculates MD5, and sends the character string of MD5 to the FTP server;
step S525, the FTP server adds a preset password corresponding to the user name of the DICOM gateway after the unique string randomly changing with time to obtain a fourth addition result, and performs MD5 calculation on the fourth addition result to obtain a fourth string of MD 5;
step S526, the FTP server compares the received third character string of MD5 with the calculated fourth character string of MD5,
step S527, if the comparison result is consistent, the FTP server keeps the TCP connection so as to allow the DICOM gateway to write PACS image data into the corresponding current available storage node through the FTP server;
in step S528, if the comparison result is inconsistent, the FTP server closes the TCP connection.
In this case, data generated by various medical examination apparatuses are transmitted to the DICOM gateway via the network by the DICOM protocol, and the DICOM gateway writes the data into the storage node.
The FTP server can perform the same calculation according to a locally configured user name and password, if the calculated third character string of the MD5 is the same as the fourth character string of the MD5 sent by the DICOM gateway, the TCP connection is maintained, a '230 Logged on' message can be sent to the DICOM gateway, and then the DICOM gateway can read the PACS image data of the corresponding current available storage node through the FTP server by using a standard FTP command; otherwise, the TCP connection is closed, and "530 Login Authentication Error" may also be sent to the DICOM gateway.
The improved FTP protocol of the embodiment is adopted between the DICOM gateway and the storage node to read and write data, so that the password can be prevented from being transmitted on the network in a clear text manner.
According to another aspect of the present invention, there is also provided a computer readable medium having computer readable instructions stored thereon, the computer readable instructions being executable by a processor to implement the method of any one of the above.
For details of embodiments of each device and storage medium of the present invention, reference may be made to corresponding parts of each method embodiment, and details are not described herein again.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.
It should be noted that the present invention may be implemented in software and/or in a combination of software and hardware, for example, as an Application Specific Integrated Circuit (ASIC), a general purpose computer or any other similar hardware device. In one embodiment, the software program of the present invention may be executed by a processor to implement the steps or functions described above. Also, the software programs (including associated data structures) of the present invention can be stored in a computer readable recording medium, such as RAM memory, magnetic or optical drive or diskette and the like. Further, some of the steps or functions of the present invention may be implemented in hardware, for example, as circuitry that cooperates with the processor to perform various steps or functions.
In addition, some of the present invention can be applied as a computer program product, such as computer program instructions, which when executed by a computer, can invoke or provide the method and/or technical solution according to the present invention through the operation of the computer. Program instructions which invoke the methods of the present invention may be stored on a fixed or removable recording medium and/or transmitted via a data stream on a broadcast or other signal-bearing medium and/or stored within a working memory of a computer device operating in accordance with the program instructions. An embodiment according to the invention herein comprises an apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein the computer program instructions, when executed by the processor, trigger the apparatus to perform a method and/or solution according to embodiments of the invention as described above.
It will be evident to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned. Furthermore, it is obvious that the word "comprising" does not exclude other elements or steps, and the singular does not exclude the plural. A plurality of units or means recited in the apparatus claims may also be implemented by one unit or means in software or hardware. The terms first, second, etc. are used to denote names, but not any particular order.

Claims (10)

1. A data access method for a PACS image storage system, wherein the method comprises:
each storage node periodically sends heartbeat messages to a management server, wherein each storage node is used for storing PACS image data;
the management server adds the storage nodes into a list of the current available storage nodes or deletes the storage nodes from the list of the current available storage nodes based on the heartbeat messages of the storage nodes;
the client sends an access request of the storage node to the management server;
the management server sequentially polls and selects the current available storage node from the list of the current available storage node based on the access request of the client, and returns the IP address corresponding to the FTP server of the selected current available storage node to the client;
and the client establishes TCP connection with the corresponding FTP server based on the received IP address, and accesses the corresponding current available storage node through the client and the FTP server establishing the TCP connection.
2. The method of claim 1, wherein the management server adding storage nodes to a list of currently available storage nodes based on heartbeat messages for each storage node comprises:
step S211, the management server records the received heartbeat message sent by each storage node into a history message queue corresponding to each storage node, where each heartbeat message includes: storing node numbers and heartbeat time, wherein only M heartbeat messages sent by each storage node which are received recently are recorded in the history message queue, and M is a positive integer;
in step S212, the management server determines whether each storage node belongs to the list of currently available storage nodes,
step S213, if all the storage nodes belong to the list of the current available storage nodes, returning to the step S211;
step S214, if a storage node belongs to the list of all storage nodes and does not belong to the list of the current available storage node, the management server judges whether N heartbeat messages with continuous recent heartbeat time sent by the storage node are received or not based on the historical message queue corresponding to the storage node, wherein M is larger than or equal to N, and the current available storage node is selected from the list of all storage nodes;
step S215, if the storage server receives N heartbeat messages with continuous recent heartbeat time sent by the storage node, adding the storage node to the tail of the list Lon of the current available storage node, and returning to step S211;
step S216, if the storage server does not receive N heartbeat messages with consecutive recent heartbeat time sent by the storage node, returning to step S211.
3. The method of claim 2, wherein the management server removing storage nodes from the list of currently available storage nodes based on heartbeat messages for each storage node comprises:
step S221, the management server periodically judges whether N heartbeat messages with continuous recent heartbeat time sent by each storage node in the list of the current available storage nodes are received or not based on a historical message queue corresponding to each storage node, wherein M is greater than or equal to N, and N is a positive integer;
step S222, if the management server receives N heartbeat messages with continuous recent heartbeat time respectively sent by all storage nodes in the list of the current available storage nodes, returning to step S221;
step S223, if the management server does not receive N heartbeat messages with continuous recent heartbeat time sent by one or more storage nodes in the list of the current available storage nodes, determining whether the number of received heartbeat messages sent by the one or more storage nodes respectively in a preset recent time period T is greater than K, where K is a positive integer;
step S224, if the number of heartbeat messages respectively sent by the one or more storage nodes received by the management server within the preset recent time period T is more than K, returning to the step S221;
step S225, if the number of heartbeat messages respectively sent by the one or more storage nodes received by the management server within the preset recent time period T is less than or equal to K, deleting the one or more storage nodes from the list Lon of the current available storage nodes, and returning to step S221.
4. The method of claim 1, wherein a client sends a storage node access request to the management server, comprising:
and the service workstation sends an access request of the storage node to the management server.
5. The method according to claim 4, wherein step S4, the managing server sequentially polls and selects the currently available storage node from the list of currently available storage nodes based on the access request of the client, and returns the IP address corresponding to the FTP server of the selected currently available storage node to the client, and the method comprises:
and the management server sequentially polls and selects the current available storage node from the list of the current available storage node based on the access request of the service workstation, and returns the IP address corresponding to the FTP server of the selected current available storage node to the service workstation.
6. The method of claim 5, wherein the client establishing a TCP connection with a corresponding FTP server based on the received IP address and accessing a corresponding currently available storage node through the client with the FTP server establishing the TCP connection comprises:
the service workstation establishes TCP connection with a corresponding FTP server based on the received IP address;
the service workstation sends a user name of the service workstation to the FTP server through the established TCP connection;
after receiving the user name of the service workstation, the FTP server sends a unique character string which changes randomly along with the time to the service workstation;
the service workstation adds a preset password corresponding to the user name of the service workstation after the unique character string randomly changing along with the time to obtain a first addition result, performs MD5 calculation on the first addition result to obtain a first character string of MD5, and sends the first character string of MD5 to the FTP server;
the FTP server adds a preset password corresponding to the user name of the service workstation after the unique character string which randomly changes along with the time to obtain a second addition result, and MD5 calculation is carried out on the second addition result to obtain a second character string of MD 5;
the FTP server compares the received first string of MD5 with the calculated second string of MD5,
if the comparison result is consistent, the FTP server keeps the TCP connection so as to allow the service workstation to read the PACS image data of the corresponding current available storage node through the FTP server;
and if the comparison result is inconsistent, the FTP server closes the TCP connection.
7. The method of claim 1, wherein a client sends a storage node access request to the management server, comprising:
the checking equipment transmits the PACS image data to a DICOM gateway through a DICOM protocol and a network;
and the DICOM gateway sends an access request of the storage node to the management server.
8. The method of claim 7, wherein the managing server sequentially polls and selects the currently available storage node from the list of the currently available storage nodes based on the access request of the client, and returns the IP address corresponding to the FTP server of the selected currently available storage node to the client, and the method comprises:
and the management server sequentially polls and selects the current available storage node from the list of the current available storage node based on the access request of the DICOM gateway, and returns the IP address corresponding to the FTP server of the selected current available storage node to the DICOM gateway.
9. The method of claim 8, wherein the client establishing a TCP connection with a corresponding FTP server based on the received IP address and accessing a corresponding currently available storage node through the client with the FTP server establishing the TCP connection comprises:
the DICOM gateway establishes TCP connection with a corresponding FTP server based on the received IP address;
the DICOM gateway sends a user name of the DICOM gateway to the FTP server through the established TCP connection;
after receiving the user name of the DICOM gateway, the FTP server sends a unique character string which changes randomly along with time to the DICOM gateway;
the DICOM gateway adds a preset password corresponding to the user name of the DICOM gateway after the unique character string which randomly changes along with the time to obtain a third addition result, MD5 calculation is carried out on the third addition result to obtain a third character string of MD5, and the third character string of MD5 is sent to the FTP server;
the FTP server adds a preset password corresponding to the user name of the DICOM gateway after the unique character string which randomly changes along with the time to obtain a fourth addition result, and MD5 calculation is carried out on the fourth addition result to obtain a fourth character string of MD 5;
the FTP server compares the received third string of MD5 with the calculated fourth string of MD5,
if the comparison result is consistent, the FTP server keeps the TCP connection so as to allow the DICOM gateway to write PACS image data into the corresponding current available storage node through the FTP server;
and if the comparison result is inconsistent, the FTP server closes the TCP connection.
10. A computer readable medium having computer readable instructions stored thereon which are executable by a processor to implement the method of any one of claims 1 to 9.
CN202110279356.3A 2021-03-16 2021-03-16 Data access method and equipment for PACS image storage system Pending CN112951385A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110279356.3A CN112951385A (en) 2021-03-16 2021-03-16 Data access method and equipment for PACS image storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110279356.3A CN112951385A (en) 2021-03-16 2021-03-16 Data access method and equipment for PACS image storage system

Publications (1)

Publication Number Publication Date
CN112951385A true CN112951385A (en) 2021-06-11

Family

ID=76230055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110279356.3A Pending CN112951385A (en) 2021-03-16 2021-03-16 Data access method and equipment for PACS image storage system

Country Status (1)

Country Link
CN (1) CN112951385A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726764A (en) * 2022-06-08 2022-07-08 广东迅维信息产业股份有限公司 Business service disaster recovery method and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726764A (en) * 2022-06-08 2022-07-08 广东迅维信息产业股份有限公司 Business service disaster recovery method and system

Similar Documents

Publication Publication Date Title
US11614867B2 (en) Distributed storage system-based data processing method and storage device
JP5276278B2 (en) Adaptive selection method of image streaming mode
KR100350141B1 (en) An application interface to a media server and a method of implementing the same
EP1229457B1 (en) Image storage and display system
US8275752B2 (en) Data backup method through distributed network, involves generating data segment copies to transmit to peer storage servers based on metadata with segment distribution matrix by calculating redundancy corresponding to data segments
US20070124541A1 (en) Self-optimizing caching system and method for data records
CN106790629A (en) Data synchronization unit and its realize the method for data syn-chronization, client access system
CN104156361A (en) Method and system for achieving data synchronization
JP2002334011A (en) System and method for image transfer, and program
CN101154235A (en) Image storage apparatus
CN102298547A (en) Data backup method and device
CN114979158B (en) Resource monitoring method, system, equipment and computer readable storage medium
CN108347459A (en) A kind of high in the clouds data quick storage method and device
CN114844809B (en) Multi-factor arbitration method and device based on network heartbeat and kernel disk heartbeat
CN112951385A (en) Data access method and equipment for PACS image storage system
CN111399760B (en) NAS cluster metadata processing method and device, NAS gateway and medium
CN116257186A (en) Data object erasure code storage method, device, equipment and medium
CN107516048B (en) Method and equipment for controlling file access in distributed file system
CN109254958B (en) Distributed data reading and writing method, device and system
CN111435323B (en) Information transmission method, device, terminal, server and storage medium
CN109656677A (en) The system and method for creating the virtual disk image being used together with remote computer
CN111400327B (en) Data synchronization method and device, electronic equipment and storage medium
US10866756B2 (en) Control device and computer readable recording medium storing control program
CN114490540B (en) Data storage method, medium, device and computing equipment
JPWO2004025948A1 (en) Information management method, information management system, and information transfer device included in the system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination