Method and device for reading more pathological images under fixed bandwidth and readable storage medium

By generating slice unique identifiers and using local preview, webrtc and websocket protocols, the pathological image reading process is optimized, solving the problems of low film reading efficiency and high server pressure under limited bandwidth, and achieving more efficient pathological image reading.

CN119153043AInactive Publication Date: 2024-12-17SHENZHEN SHENGQIANG TECH
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411649079.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-19
Publication Date
2024-12-17
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Under the conditions of limited network bandwidth, the existing pathological image reading methods are inefficient, and the image resources of local and other clients are not fully utilized, resulting in excessive pressure on the server network, affecting the efficiency and number of views.

Method used

By generating slice unique identifiers, local preview, webrtc point-to-point communication or websocket+ custom protocols are used to optimize the viewing process of pathological images, reduce server bandwidth pressure, and improve resource utilization.

Benefits of technology

The reading of more pathological images is achieved under fixed bandwidth, which improves the reading efficiency and fluency of the reading, reduces the burden on the server, and makes full use of local and other clients' resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119153043A_ABST
    Figure CN119153043A_ABST
Patent Text Reader

Abstract

The invention provides a method and device for reading more pathological images under a fixed bandwidth and a readable storage medium, and the method comprises the steps: generating a unique identifier of a slice through a specific algorithm, and carrying out the reading operation according to the position of the slice. Directly reading the slices locally when the slices exist locally; if other clients exist, the information is obtained through Webrtc asynchronous communication after being coordinated by the server; if no, websocket and a user-defined protocol are adopted to access the server for film reading, and data receiving and transmitting are asynchronous. The invention also relates to a film reading device for realizing the method, an electronic device comprising a corresponding program and a storage medium. Through the modes, resources of all parties are fully utilized, the bandwidth pressure of the server is reduced, the film reading efficiency is improved, more pathological image reading is realized under the limited bandwidth, and an efficient and reliable solution is provided for image reading in the field of pathological diagnosis.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of pathological images, and in particular to a method, a device and a readable storage medium for realizing more pathological image reading under a fixed bandwidth. Background Art

[0002] In the field of pathology diagnosis, with the continuous development of digital pathology technology, digital pathology cloud platforms have emerged. Digital pathology cloud platforms provide doctors and scholars with a convenient way to read pathology images, enabling them to remotely obtain and analyze pathology images, which to a certain extent breaks the geographical restrictions and promotes the development of pathology diagnosis and academic exchanges.

[0003] However, in the actual application process, it also faces many technical challenges. On the one hand, network bandwidth is limited in many cases, while the demand for film reading by doctors and scholars is growing. In the existing film reading mode, when the browser requests pathological image data from the server, since pathological images usually have high resolution and complex details, in order to realize functions such as image zooming in, zooming out, and panoramic browsing, it is often necessary to request a lot of tile data at different levels. Each request must go through a complex network interaction process, such as a three-way handshake, which not only consumes a lot of network resources, but also increases the delay of requests and responses. At the same time, the traditional http request method will carry a lot of unnecessary request header information and return response header information, and the server side also needs to spend additional computing resources to process these header information, which further reduces the overall performance of the system, limiting the number of film reading requests that can be processed under limited bandwidth.

[0004] On the other hand, pathological images may not only be stored on the server side, but may also exist locally or on other clients. However, the current film reading system fails to fully utilize these local or other client image resources, resulting in excessive pressure on the server network, which becomes a bottleneck restricting the efficiency and quantity of film reading. For example, when multiple users request film reading at the same time, if they all obtain data from the server, the server's bandwidth and processing power can easily reach the limit, thus affecting the smoothness and timeliness of film reading, and may even cause some users to be unable to read the film normally.

[0005] In summary, under the condition of limited network bandwidth, how to optimize the reading method of pathological images, improve the reading efficiency, make full use of the pathological image resources stored by all parties, and reduce the server network pressure has become a technical problem to be solved urgently. The present invention is aimed at these problems and proposes a method for realizing more pathological image reading under a fixed bandwidth to meet the growing reading demand in the field of pathological diagnosis. Summary of the invention

[0006] The embodiments of the present invention provide a method, device and readable storage medium for realizing more pathological image reading under a fixed bandwidth, which aims to solve the problems of inefficiency of existing request methods and under-utilization of local and other client resources in current technologies, resulting in limited reading efficiency and excessive pressure on server networks.

[0007] The core technology of the present invention is mainly to generate a unique slice identifier, and use local preview, webrtc point-to-point communication or websocket+custom protocol to access the server according to the location of the slice (local, other clients or servers), so as to realize more pathological image reading under fixed bandwidth and reduce server bandwidth pressure.

[0008] In a first aspect, the present invention provides a method for realizing more pathological image reading under a fixed bandwidth, the method comprising the following steps: S00, using an algorithm to create a unique identifier from the slice binary data for accurate slice identification; S10. When there are slices locally, the local reading plug-in saves the location and unique identifier of the local slice after receiving the slice download or scan notification; When the browser initiates a film reading request, the local film reading plug-in interface is called to determine whether the slice to be read already exists locally. If so, local film reading is performed; S20, when other clients have slices, they initiate a query request to the service, and the request parameter includes the unique identifier of the slice. If other clients have the slice and the number of simultaneous reading requests does not exceed the number configured by the server, the server notifies the reading plug-in of the other party to initiate a webrtc link. After receiving the webrtc request, the browser establishes a communication connection with the other client, and sends and receives requests to obtain tiles for reading in an asynchronous manner; Each time a request is sent to webrtc, it carries the request id, the film reading level, the x-coordinate, and the y-coordinate. The request id is uniquely identified by the guid. The request id and the logic function for processing the response instance are stored. When a response is received, the corresponding instance processing function is found according to the request id to process the data. When slices do not exist locally or on other clients, the websocket protocol combined with a custom protocol is used to access the server for film reading; The custom protocol includes the browser initiating a websocket request to the server and transmitting the request parameters after establishing a connection. The request parameters include the slice unique identifier, request id, reading level, x-axis value, and y-axis value. The server receives the request data and processes it and returns the data. The parameters of the returned data include the request id in the header, the 4-byte tile image data length, and the actual image data. The browser disassembles the data packet and places the data in the corresponding position according to x, y, and reading level, and data is sent and received asynchronously.

[0009] Furthermore, in step S00, the slice binary data is generated into a 32-bit string through the md5 algorithm and then added with the Byte size of the slice to obtain a unique identifier.

[0010] Furthermore, in step S20, when sending and receiving requests asynchronously, the request id and the logic function for processing the response instance are stored in the storage medium. When the response data is returned, the corresponding instance processing function is found in the storage medium according to the request id, and the data corresponding to the request id in the storage medium is deleted after the response data is passed into the processing function.

[0011] Furthermore, the server configuration quantity is a parameter that can be adjusted on the server and is used to limit the number of film reading requests allowed simultaneously by a client.

[0012] Furthermore, the unique identifier is used to accurately identify the same slice at different locations, and serves as the basis for identifying the slice identity during local film reading, communication between clients, and server access.

[0013] Furthermore, in step S20, the websocket protocol is used to reduce multiple http requests, three-way handshakes, and the number of connections maintained by the server to improve bandwidth utilization, while reducing the additional request header information and return response header information brought by http requests by combining a custom protocol.

[0014] In a second aspect, the present invention provides a device for reading more pathological images under a fixed bandwidth, comprising: A unique identification creation module creates a unique identification from the slice binary data through an algorithm, which is used to accurately identify the slice; Judgment module, to determine whether the slice exists locally; The execution module saves the location and unique identifier of the local slice after receiving the slice download or scan notification when the slice exists locally. When the browser initiates a film reading request, the local film reading plug-in interface is called to determine whether the slice to be read already exists locally. If so, the local film reading is performed; When other clients have slices, they initiate a query request to the service. The request parameter contains the unique identifier of the slice. If other clients have the slice and the number of simultaneous reading requests does not exceed the server configuration number, the server notifies the reading plug-in of the other party to initiate a webrtc link. After receiving the webrtc request, the browser establishes a communication connection with the other client and sends and receives requests to obtain the tiles for reading in an asynchronous manner. Each time a request is sent to webrtc, it carries the request id, the film reading level, the x-coordinate, and the y-coordinate. The request id is uniquely identified by the guid. The request id and the logic function for processing the response instance are stored. When a response is received, the corresponding instance processing function is found according to the request id to process the data. When slices do not exist locally or on other clients, the websocket protocol combined with a custom protocol is used to access the server for film reading; The custom protocol includes the browser initiating a websocket request to the server and transmitting the request parameters after establishing a connection. The request parameters include the slice unique identifier, request id, reading level, x-axis value, and y-axis value. The server receives the request data and processes it and returns the data. The parameters of the returned data include the request id in the header, the 4-byte tile image data length, and the actual image data. The browser disassembles the data packet and places the data in the corresponding position according to x, y, and reading level, and data is sent and received asynchronously.

[0015] In a third aspect, the present invention provides an electronic device including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the above-mentioned method for realizing more pathological image reading under a fixed bandwidth.

[0016] In a fourth aspect, the present invention provides a readable storage medium, in which a computer program is stored. The computer program includes a program code for controlling a process to execute the process. The process includes implementing more pathological image reading methods under the above-mentioned fixed bandwidth.

[0017] The main contributions and innovations of the present invention are as follows: 1. Optimize the utilization strategy of film reading resources Fully exploit local and client resources: Existing technologies usually rely mainly on servers to provide pathology image reading services, and do not effectively utilize the existing image resources locally or on other clients. The present invention innovatively determines whether the slices exist locally or on other clients during the reading process. If so, images are obtained from these locations for reading first, which greatly reduces the dependence on server resources and improves the overall utilization efficiency of reading resources.

[0018] Intelligent allocation of film reading requests: For slices existing in other clients, the present invention introduces server configuration parameters to control the number of film reading requests allowed by a client at the same time, ensuring that the client network is not excessively occupied while utilizing client resources, and realizing reasonable allocation and efficient utilization of resources among multiple clients.

[0019] 2. Innovative data transmission and communication methods Adopting websocket protocol combined with custom protocol: In view of the problems of multiple requests, large amount of header information transmission and three-way handshake in traditional http requests during the film reading process, which lead to bandwidth waste and performance degradation, the present invention adopts websocket protocol for server access to film reading. At the same time, a custom protocol is designed to accurately transmit the required information, effectively reduce the request header information and return response header information, reduce the server processing burden, significantly improve bandwidth utilization, and enable more effective film reading data to be transmitted under a fixed bandwidth.

[0020] Asynchronous communication mechanism improves efficiency: Whether it is to obtain tiles through webrtc with other clients or to communicate with the server through websocket, the present invention uses asynchronous mode to send and receive requests. By generating a unique identifier for each request and associating a processing function, non-sequential data transmission and reception processing is realized, which greatly improves communication efficiency, reduces user waiting time, and improves the fluency and real-time performance of film reading.

[0021] 3. Generate a unique identifier to achieve precise management Accurately identify slice identities: To solve the identification and management problems of slices at different locations, the present invention creates a reliable unique identifier by converting slice binary data into a 32-bit string using the md5 algorithm and adding the slice Byte size. This identifier runs through various links such as local film reading, communication between clients, and server access, ensuring that the same slice can be accurately identified and processed in a complex film reading environment, avoiding film reading errors or resource waste caused by slice identification errors, and improving the accuracy and stability of the entire film reading system.

[0022] The details of one or more embodiments of the invention are set forth in the following drawings and description so that other features, objects, and advantages of the invention are more readily apparent. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings: Figure 1 This is the basic process of realizing more pathological image reading methods under a fixed bandwidth according to an embodiment of the present invention; Figure 2 is a schematic diagram of the levels of slices according to an embodiment of the present invention; Figure 3 is a schematic diagram of a slice panorama according to an embodiment of the present invention; Figure 4 is a schematic diagram of the overall architecture of a method for realizing more pathological image reading under a fixed bandwidth according to an embodiment of the present invention; Figure 5 is a schematic diagram of the hardware structure of an electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0024] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with one or more embodiments of this specification. Instead, they are merely examples of devices and methods consistent with some aspects of one or more embodiments of this specification as detailed in the appended claims.

[0025] It should be noted that: in other embodiments, the steps of the corresponding method are not necessarily performed in the order shown and described in this specification. In some other embodiments, the steps included in the method may be more or less than those described in this specification. In addition, a single step described in this specification may be decomposed into multiple steps for description in other embodiments; and multiple steps described in this specification may be combined into a single step for description in other embodiments.

[0026] Embodiment 1 The present invention aims to propose a method for reading more pathological images under a fixed bandwidth. The solution of the present invention is described from multiple aspects, such as from the local, client and server aspects: 1. Local Film Reading 1) Generate a unique identifier Suppose there is a pathology slide, whose binary data is processed by the md5 algorithm to generate a 32-bit string, such as "5f4dcc3b5aa765d61d8327deb882cf99", plus the byte size of the slide, assuming it is 1024 bytes, then the unique identifier of the slide is "5f4dcc3b5aa765d61d8327deb882cf991024". This unique identifier is like the "identity card" of the slide, which is used to accurately identify it in the subsequent reading process.

[0027] 2) Local slice storage and notification When the slice is scanned to the local computer through a scanner, the local reading plug-in will receive a notification. The plug-in will record the path where the slice is stored locally, such as "C:\Path\To\Slice\slice1.jpg", and associate the previously generated unique identifier with it and save it.

[0028] 3) Film reading request and local processing like Figure 1When the doctor initiates a reading request for the slice in the browser, the browser will call the local reading plug-in interface. The plug-in searches for the previously saved record based on the slice information in the request and finds that the slice exists locally. Therefore, the slice data is directly read from the local storage path for reading operations. At this time, there is no need to send a request to the server, avoiding occupying the server bandwidth.

[0029] 2. Inter-client Film Reading 1) Ask other clients If the doctor's local computer does not have the required slice, the browser will send a query request to the server, carrying the slice's unique identifier "5f4dcc3b5aa765d61d8327deb882cf991024". The server will search the client list it manages to see if other clients have stored the slice.

[0030] 2) Establish a webrtc connection Assume that the server finds that client A has stored the slice, and the number of simultaneous reading requests by client A does not exceed the number configured by the server (such as 3). The server will notify the reading plug-in of client A to initiate a webrtc connection. After receiving the notification, the reading plug-in of client A establishes a webrtc communication connection with the doctor's browser.

[0031] 3) Asynchronously obtain tile data like Figure 2 and Figure 3 , when the doctor zooms in on the slice in the browser and needs to obtain tile data of a specific level (such as level=3) and coordinates (such as x=10, y=20), the browser will generate a request id, such as "B2" (generated by guid), and then send a request to client A, and the request information includes "B2,3,10,20". At the same time, the browser will store the request id "B2" and the instance logic function that processes the request response (the function is used to place the received tile data in the correct display position). After receiving the request, client A finds the corresponding tile according to its own stored slice data and returns it to the browser. When the browser receives the response, it finds the corresponding instance processing function according to the request id "B2" carried in the response, passes the tile data into the function for processing, and deletes the stored data about "B2" after completion. During the whole process, due to the use of asynchronous mode, the browser can continue to send other requests without waiting for the response of the current request, which improves the efficiency of reading films.

[0032] 3. Server Film Reading 1) Use websocket protocol to connect If neither the local client nor other clients have the required slices, the browser will use the websocket protocol to initiate a reading request to the server. After the browser establishes a websocket connection with the server, it is ready to transmit data.

[0033] 2) Customize protocol transmission request parameters When the doctor needs to obtain the tile at a certain position in the slice (such as level=2,x=5,y=8), the browser sends request parameters to the server according to the custom protocol, including the slice unique identifier "5f4dcc3b5aa765d61d8327deb882cf991024", the request id (assumed to be "C3"), the reading level "2", the x-axis value "5", and the y-axis value "8".

[0034] 3) Server processing and returning data like Figure 4 After receiving the request, the server finds the corresponding slice data according to the slice unique identifier and obtains the tile image data at the specified location. Then it returns the data in the custom protocol format. The data header first contains the request id "C3", followed by 4 bytes indicating the length of the tile image data (assuming it is 100 bytes), and then the actual image data.

[0035] 4) The browser disassembles the data packet and displays it After the browser receives the data returned by the server, it disassembles the data packet according to the custom protocol. First, it reads the request id "C3" in the header, finds the corresponding processing function stored previously (used to place the tile data at the correct reading level and coordinate position), then reads 100 bytes of image data according to the data length, and finally passes the data to the processing function to display the tile in the browser's reading interface. During the entire process, data is sent and received asynchronously, which improves the server's ability to handle multiple reading requests and achieves more efficient reading under limited bandwidth.

[0036] In order to more conveniently understand the solution of the present invention, the following is an explanation of various professional terms in the present invention: Pathology image reading: refers to the process of viewing and analyzing digital pathology slice images. Pathology slices usually contain microscopic structural information such as human tissue cells, and doctors diagnose diseases by reading the slices.

[0037] Digital Pathology Cloud Platform: It is a pathology diagnosis service platform based on cloud computing technology. It digitizes pathology sections and stores them on cloud servers. Doctors can remotely access and process these pathology images through terminals such as web browsers.

[0038] Network bandwidth: refers to the amount of data that can be transmitted over a network per unit of time, usually expressed in units such as bps (bits per second). Limited network bandwidth means that limited data can be transmitted within a certain period of time. If the amount of data transmitted during the film reading process is too large, it will cause problems such as film reading delays.

[0039] Browser request: The browser, as a client, sends a request to the server to obtain data or perform an operation. In pathology image reading, the browser requests pathology slice image data, tile data, etc. from the server.

[0040] http request: HyperText Transfer Protocol (HyperTextTransferProtocol) request is an application layer protocol used for distributed, collaborative and hypermedia information systems, commonly used for data transmission between browsers and servers, but it has some performance issues in the present invention, such as multiple requests, too much header information, etc.

[0041] Tile: In pathology image reading, tile is the smallest unit that constitutes the pathology image, and its position in the image is determined by level, x and y coordinates. By combining tiles of different levels and coordinates, a complete pathology image can be constructed, and when the image is zoomed in or out, tiles of different levels and coordinates are obtained as needed to display a clear image part.

[0042] Three-way handshake: It is the three steps required to establish a connection in the TCP / IP protocol, which is used to ensure a reliable connection between the client and the server. However, in frequent film reading requests, three-way handshake for each request will consume network resources and time, reducing the efficiency of film reading.

[0043] Request header information and return response header information: In http requests and responses, the header information contains various metadata about the request or response, such as request method, URL, status code, server information, etc. In the present invention, much of this header information is unnecessary, which will occupy bandwidth and increase the server processing burden.

[0044] webrtc: Web Real-Time Communication technology is a technology that supports real-time audio, video and data transmission between browsers. In the present invention, it is used to realize point-to-point communication between clients, directly transmit tile data required for film reading, avoid server transfer, and improve transmission efficiency.

[0045] Websocket protocol: a protocol for full-duplex communication on a single TCP connection. Compared with the http protocol, it can continue to transmit data in both directions after the connection is established, reducing the overhead of multiple http requests and three-way handshakes. It is suitable for scenarios where frequent data transmission is required in pathological image reading.

[0046] Customized protocol: A protocol designed in the present invention to more efficiently transmit pathology image reading related data between the browser and the server. The customized protocol can accurately define the format of request and return data, reduce unnecessary information transmission, and improve bandwidth utilization.

[0047] MD5 algorithm: a widely used cryptographic hash function that can convert data of any length into a string of fixed length (32 bits in this invention). It is often used in scenarios such as data integrity verification and identity recognition. In this invention, it is used to generate a unique identifier for pathological sections.

[0048] GUID (Globally Unique Identifier): A globally unique identifier is an identifier consisting of numbers and letters, used to uniquely identify an object in a computer system. In the present invention, it is used to generate a request ID to ensure that each request has a unique identifier, which facilitates data processing in asynchronous communication.

[0049] Level: Indicates the different resolution levels of pathological images. Generally, the higher the level, the clearer the image, but the larger the data volume. During the reading process, tiles of different levels are obtained to display the image part with appropriate clarity according to the user's zoom in or out operation.

[0050] Asynchronous communication: A communication method in which data sending and receiving do not need to be performed in sequence. The sender can continue to send other data without waiting for the receiver's response. After receiving the data, the receiver finds the corresponding processing function based on the identifier in the data for processing, which improves communication efficiency and system responsiveness.

[0051] Embodiment 2 Based on the same concept, the present invention also proposes a device for reading more pathological images under a fixed bandwidth, comprising: A unique identification creation module creates a unique identification from the slice binary data through an algorithm, which is used to accurately identify the slice; Judgment module, to determine whether the slice exists locally; The execution module saves the location and unique identifier of the local slice after receiving the slice download or scan notification when the slice exists locally. When the browser initiates a film reading request, the local film reading plug-in interface is called to determine whether the slice to be read already exists locally. If so, the local film reading is performed; When other clients have slices, they initiate a query request to the service. The request parameter contains the unique identifier of the slice. If other clients have the slice and the number of simultaneous reading requests does not exceed the server configuration number, the server notifies the reading plug-in of the other party to initiate a webrtc link. After receiving the webrtc request, the browser establishes a communication connection with the other client and sends and receives requests to obtain the tiles for reading in an asynchronous manner. Each time a request is sent to webrtc, it carries the request id, the film reading level, the x-coordinate, and the y-coordinate. The request id is uniquely identified by the guid. The request id and the logic function for processing the response instance are stored. When a response is received, the corresponding instance processing function is found according to the request id to process the data. When slices do not exist locally or on other clients, the websocket protocol combined with a custom protocol is used to access the server for film reading; The custom protocol includes the browser initiating a websocket request to the server and transmitting the request parameters after establishing a connection. The request parameters include the slice unique identifier, request id, reading level, x-axis value, and y-axis value. The server receives the request data and processes it and returns the data. The parameters of the returned data include the request id in the header, the 4-byte tile image data length, and the actual image data. The browser disassembles the data packet and places the data in the corresponding position according to x, y, and reading level, and data is sent and received asynchronously.

[0052] Embodiment 3 This embodiment also provides an electronic device, referring to Figure 5 , comprises a memory 404 and a processor 402, wherein the memory 404 stores a computer program, and the processor 402 is configured to run the computer program to execute the steps in any of the above method embodiments.

[0053] Specifically, the processor 402 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiment of the present invention.

[0054] Among them, the memory 404 may include a large capacity memory 404 for data or instructions. For example, but not limitation, the memory 404 may include a hard disk drive (HDD), a floppy disk drive, a solid state drive (SSD), a flash memory, an optical disk, a magneto-optical disk, a tape, or a universal serial bus (USB) drive, or a combination of two or more of these. In appropriate cases, the memory 404 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 404 may be inside or outside the data processing device. In a specific embodiment, the memory 404 is a non-volatile memory. In a specific embodiment, the memory 404 includes a read-only memory (ROM) and a random access memory (RAM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable ROM (Programmable Read-Only Memory, PROM for short), an erasable PROM (Erasable Programmable Read-Only Memory, EPROM for short), an electrically erasable PROM (Electrically Erasable Programmable Read-Only Memory, EEPROM for short), an electrically alterable ROM (Electrically Alterable Read-Only Memory, EAROM for short) or a flash memory (FLASH) or a combination of two or more of these. In appropriate circumstances, the RAM may be a static random access memory (SRAM) or a dynamic random access memory (DRAM), wherein the DRAM may be a fast page mode dynamic random access memory 404 (FPMDRAM), an extended data output dynamic random access memory (EDODRAM), a synchronous dynamic random access memory (SDRAM), etc.

[0055] The memory 404 may be used to store or cache various data files required for processing and / or communication, as well as possible computer program instructions executed by the processor 402 .

[0056] The processor 402 reads and executes the computer program instructions stored in the memory 404 to implement more pathological image reading methods under any fixed bandwidth in the above embodiments.

[0057] Optionally, the electronic device may further include a transmission device 406 and an input / output device 408 , wherein the transmission device 406 is connected to the processor 402 , and the input / output device 408 is connected to the processor 402 .

[0058] The transmission device 406 can be used to receive or send data via a network. Specific examples of the above-mentioned network may include a wired or wireless network provided by a communication provider of the electronic device. In one example, the transmission device includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 406 can be a radio frequency (Radio Frequency, referred to as RF) module, which is used to communicate with the Internet wirelessly.

[0059] Input / output devices 408 are used to input or output information.

[0060] Embodiment 4 This embodiment also provides a readable storage medium, in which a computer program is stored. The computer program includes a program code for controlling a process to execute the process. The process includes implementing more pathological image reading methods under a fixed bandwidth according to the first embodiment.

[0061] It should be noted that the specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementation modes, and this embodiment will not be described in detail here.

[0062] In general, various embodiments may be implemented in hardware or dedicated circuits, software, logic, or any combination thereof. Some aspects of the invention may be implemented in hardware, while other aspects may be implemented in firmware or software executed by a controller, microprocessor, or other computing device, but the invention is not limited thereto. Although various aspects of the invention may be shown and described as block diagrams, flow charts, or using some other graphical representation, it should be understood that, as non-limiting examples, the boxes, devices, systems, techniques, or methods described herein may be implemented in hardware, software, firmware, dedicated circuits or logic, general-purpose hardware or controllers or other computing devices, or some combination thereof.

[0063] Embodiments of the present invention may be implemented by computer software that is executable by a data processor of a mobile device, such as in a processor entity, or by hardware, or by a combination of software and hardware. Computer software or programs (also referred to as program products) including software routines, applets and / or macros may be stored in any device-readable data storage medium, and they include program instructions for performing specific tasks. A computer program product may include one or more computer executable components configured to perform an embodiment when the program is run. One or more computer executable components may be at least one software code or a portion thereof. In addition, at this point, it should be noted that, for example, Figure 1 Any block of the logic flow in the program may represent program steps, or interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, blocks and functions. The software may be stored on physical media such as memory chips or storage blocks implemented within the processor, magnetic media such as hard disk or floppy disks, and optical media such as, for example, DVDs and their data variants, CDs, etc. Physical media are non-transitory media.

[0064] Those skilled in the art should understand that the technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0065] The above embodiments only express several implementation methods of the present invention, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present invention. It should be pointed out that, for those of ordinary skill in the art, several modifications and improvements can be made without departing from the concept of the present invention, and these all belong to the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the attached claims.

Claims

1. Implement more pathology image reading methods under fixed bandwidth, It is characterized in that The following steps are involved: S00, using an algorithm to create a unique identifier from the slice binary data for accurate slice identification; S10. When the slice exists locally, the local reading plug-in saves the location and unique identifier of the local slice after receiving the slice download or scan notification; When the browser initiates a film reading request, the local film reading plug-in interface is called to determine whether the slice to be read already exists locally. If so, local film reading is performed; S20, when the other client has the slice, it initiates a query request to the service, and the request parameter includes the unique identifier of the slice. If the other client has the slice and the reading request does not exceed the number configured by the server, the server notifies the reading plug-in of the other party to initiate a webrtc link. After receiving the webrtc request, the browser establishes a communication connection with the other client, and sends and receives requests to obtain tiles for reading in an asynchronous manner; Each time a request is sent to webrtc, it carries the request id, the film reading level, the x-coordinate, and the y-coordinate. The request id is uniquely identified by the guid. The request id and the logic function for processing the response instance are stored. When a response is received, the corresponding instance processing function is found according to the request id to process the data. When the slice does not exist locally or on other clients, the websocket protocol is used in combination with a custom protocol to access the server for film reading; The custom protocol includes the browser initiating a websocket request to the server and transmitting the request parameters after establishing a connection. The request parameters include the slice unique identifier, request id, reading level, x-axis value, and y-axis value. The server receives the request data and processes it and returns the data. The parameters of the returned data include the request id in the header, the 4-byte tile image data length, and the actual image data. The browser disassembles the data packet and places the data in the corresponding position according to x, y, and reading level, and data is sent and received asynchronously.

2. The method for realizing more pathological image reading under a fixed bandwidth as claimed in claim 1, It is characterized in that In step S00, the slice binary data is generated into a 32-bit string through the md5 algorithm and then added with the Byte size of the slice to obtain a unique identifier.

3. The method for realizing more pathological image reading under fixed bandwidth as claimed in claim 1, It is characterized in that In step S20, in the asynchronous sending and receiving of requests, the request id and the logic function for processing the response instance are stored in the storage medium. When the response data is returned, the corresponding instance processing function is found in the storage medium according to the request id, and the data corresponding to the request id in the storage medium is deleted after the response data is passed into the processing function.

4. The method for realizing more pathological image reading under fixed bandwidth as claimed in claim 1, It is characterized in that The server configuration quantity is a parameter that can be adjusted on the server and is used to limit the number of film reading requests allowed simultaneously by a client.

5. The method for realizing more pathological image reading under a fixed bandwidth as claimed in claim 1, It is characterized in that The unique identifier is used to accurately identify the same slice at different locations, and serves as the basis for identifying the slice identity during local film reading, communication between clients, and server access.

6. A method for realizing more pathological image reading under a fixed bandwidth as claimed in any one of claims 1 to 5, It is characterized in that In step S20, the websocket protocol is used to reduce multiple http requests, three-way handshakes and the number of connections maintained by the server to improve bandwidth utilization, while reducing the additional request header information and return response header information brought by http requests by combining a custom protocol.

7. A device for reading more pathological images under a fixed bandwidth. It is characterized in that include: A unique identification creation module creates a unique identification from the slice binary data through an algorithm, which is used to accurately identify the slice; Judgment module, to determine whether the slice exists locally; The execution module saves the location and unique identifier of the local slice after receiving the slice download or scan notification when the slice exists locally. When the browser initiates a film reading request, the local film reading plug-in interface is called to determine whether the slice to be read already exists locally. If so, local film reading is performed; When other clients have slices, they initiate a query request to the service. The request parameter contains the unique identifier of the slice. If other clients have the slice and the number of simultaneous reading requests does not exceed the server configuration number, the server notifies the reading plug-in of the other party to initiate a webrtc link. After receiving the webrtc request, the browser establishes a communication connection with the other client and sends and receives requests to obtain the tiles for reading in an asynchronous manner. Each time a request is sent to webrtc, it carries the request id, the film reading level, the x-coordinate, and the y-coordinate. The request id is uniquely identified by the guid. The request id and the logic function for processing the response instance are stored. When a response is received, the corresponding instance processing function is found according to the request id to process the data. When slices do not exist locally or on other clients, the websocket protocol combined with a custom protocol is used to access the server for film reading; The custom protocol includes the browser initiating a websocket request to the server and transmitting the request parameters after establishing a connection. The request parameters include the slice unique identifier, request id, reading level, x-axis value, and y-axis value. The server receives the request data and processes it and returns the data. The parameters of the returned data include the request id in the header, the 4-byte tile image data length, and the actual image data. The browser disassembles the data packet and places the data in the corresponding position according to x, y, and reading level, and data is sent and received asynchronously.

8. An electronic device comprising a memory and a processor, It is characterized in that The memory stores a computer program, and the processor is configured to run the computer program to execute the method for reading more pathological images under a fixed bandwidth as described in any one of claims 1 to 6.

9. A readable storage medium, It is characterized in that The readable storage medium stores a computer program, wherein the computer program includes a program code for controlling a process to execute a process, wherein the process includes a method for realizing more pathological image readings under a fixed bandwidth according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Data downloading method and related device

    CN111629075A

  • Web end image data cache control system and method based on IndexedDB

    CN118315031A

  • System and method for rendering an oblique slice through volumetric data accessed via a client-server architecture

    US20070147686A1