Cell culture system

By designing a cell culture system that includes task operation, equipment management, cell information identification and data management modules, the problem of operator timing entry in traditional cell culture methods leads to destruction, and automated and efficient cell culture is achieved.

CN119913041APending Publication Date: 2025-05-02LEAD HEALTHCARE TECHNOLOGY (GUANGZHOU) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411996666.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

The existing cell culture method requires operators to enter the cell culture interval regularly, resulting in the destruction of cell culture conditions, low production efficiency and low quality.

Method used

Design a cell culture system, including task operation module, equipment management module, cell information identification module and data management module, to realize automated cell culture task flow analysis, equipment control, cell growth status analysis and equipment status management.

Benefits of technology

The automation and status tracking of cell culture are realized, the quality and production efficiency of cell culture are improved, the production cost is reduced, and the accessibility of cellular drugs is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119913041A_ABST
    Figure CN119913041A_ABST
Patent Text Reader

Abstract

The invention is applicable to the technical field of computers, and provides a cell culture system, which comprises a task operation module for analyzing a cell culture task flow to obtain node information of each task node, and executing each task node according to the node information of each task node; the device management module controls a target device corresponding to any task node to execute a set operation; when executing the task node corresponding to the cell culture, the cell information identification module analyzes the culture cells in the cell culture box and determines the growth state of the culture cells; and the data management module determines current state information of the target equipment and generates a to-be-executed task associated with the target equipment according to the current state information. The cell culture system provided by the invention can realize automatic culture of the cells and state tracking of the cell culture process, and improves the culture quality and production efficiency of the cells.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of computer technology, and in particular, relates to a cell culture system. Background Art

[0002] The formal term for cell culture in biology is cell culture technology, that is, cell cloning technology. By obtaining a large number of cells or their metabolites through cell culture, we can study cell signal transduction, anabolism, cell growth and reproduction, etc. The existing cell culture method is usually completed by manual operation, so the operator needs to enter the cell culture room regularly, which will inevitably break the constructed cell culture conditions. In addition, manual operation is also prone to low cell culture production efficiency and low cell culture quality. Summary of the invention

[0003] The embodiment of the present application provides a cell culture system, which can solve the problems existing in the prior art that an operator needs to enter a cell culture room at regular intervals, and the problems of low cell culture production efficiency and low cell culture quality.

[0004] In a first aspect, the present application provides a cell culture system, comprising:

[0005] Optionally, a task running module is used to parse the cell culture task flow, obtain node information of each task node, and execute each task node according to the node information of each task node, the cell culture task flow includes at least one task to be executed, and each task to be executed includes at least one task node;

[0006] The device management module is used to control the target device corresponding to any task node to perform the set operation;

[0007] A cell information recognition module is used to analyze the cultured cells in the cell culture box and determine the growth status of the cultured cells when executing the task node corresponding to the cell culture;

[0008] The data management module is used to determine the current state information of the target device and generate a to-be-executed task associated with the target device according to the current state information.

[0009] Optionally, the task running module is specifically used to:

[0010] Parsing the cell culture task flow to obtain a node relationship graph; the node relationship graph is composed of a plurality of task nodes;

[0011] Determine the node information of each of the task nodes according to the node relationship diagram; the node information of each of the task nodes includes corresponding parent node information and child node information;

[0012] Execute each of the task nodes according to the parent node information and the child node information corresponding to each of the task nodes.

[0013] Optionally, executing each of the task nodes according to the parent node information and the child node information corresponding to each of the task nodes includes:

[0014] If the parent node information of the first node indicates that there is no parent node, the first node is executed; the first node is any one of the multiple task nodes;

[0015] Based on the child node information of the first node, a parent node number subtraction operation is performed on the parent node information of at least one first child node; at least one first child node is a child node of the first node;

[0016] If the parent node information of the second child node is no parent node, the second child node is executed; the second child node is any one of at least one of the first child nodes;

[0017] The first node is updated according to the second child node, and the step of subtracting the number of parent nodes from the parent node information of at least one first child node based on the child node information of the first node and subsequent steps are returned to execute until each of the task nodes is executed.

[0018] Optionally, the current status information includes the number of devices and the internal environment of the devices, and the data management module is specifically used to:

[0019] When the number of devices is less than a set threshold, generating a task to be executed for performing a consumables replenishment operation on the target device;

[0020] When waste exists in the internal environment of the equipment, a pending task of a waste dumping operation is performed on the target equipment.

[0021] Optionally, the cell information recognition module is specifically used for:

[0022] acquiring a cell image comprising the cultured cells;

[0023] Analyzing the cell image to obtain analysis results of the cultured cells in different dimensions;

[0024] The growth status of the cultured cells is determined according to the analysis results of the different dimensions.

[0025] Optionally, after determining the growth state of the cultured cells according to the analysis results of the different dimensions, the method further includes:

[0026] determining the culture quality of the cultured cells according to the growth status of the cultured cells;

[0027] A task to be executed associated with the cultured cells is generated according to the culture quality.

[0028] Optionally, the data management module is further used to:

[0029] Initialize the database connection object queue of the connection pool;

[0030] When executing a task node corresponding to accessing a database, if there is an available connection object in the database connection object queue, the available connection object is used;

[0031] After use, the available connection object is released so that the available connection object is returned to the connection pool.

[0032] Optionally, the cell culture system further comprises: a communication management module;

[0033] The communication management module is used to communicate with multiple clients by using IO multiplexing technology.

[0034] Optionally, the communication management module is specifically used for:

[0035] The IO multiplexing technology is used to receive task requests sent by multiple clients; the task requests carry the tasks to be executed and the scheduled execution time;

[0036] Each of the tasks to be executed and the corresponding scheduled execution time are associated and stored in a workflow task table; the workflow task table is stored in a database, and the workflow task table includes all the tasks to be executed.

[0037] Optionally, the task running module is further used to:

[0038] Determine the running status of the current task flow;

[0039] If the running state is an idle state, obtaining the workflow task table from the database;

[0040] Execute the to-be-executed task corresponding to the earliest scheduled execution time in the workflow task table.

[0041] A second aspect of the embodiments of the present application provides a cell culture method, comprising:

[0042] Parsing the cell culture task flow to obtain node information of each task node, and executing each task node according to the node information of each task node, wherein the cell culture task flow includes at least one task to be executed, and each task to be executed includes at least one task node;

[0043] Control the target device corresponding to any task node to perform the set operation;

[0044] When executing a task node corresponding to cell culture, analyzing the cultured cells in the cell culture box to determine the growth status of the cultured cells;

[0045] Determine current status information of the target device, and generate a to-be-performed task associated with the target device according to the current status information.

[0046] A third aspect of an embodiment of the present application provides a cell culture device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the cell culture method as described in any one of the second aspects above is implemented.

[0047] A fourth aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the cell culture method as described in any one of the second aspects above is implemented.

[0048] A fifth aspect of the embodiments of the present application provides a computer program product. When the computer program product is run on a computer, the computer is enabled to execute the cell culture method described in any one of the second aspects.

[0049] Compared with the prior art, the cell culture system provided in the embodiment of the present application has the following beneficial effects:

[0050] 1. The cell culture system provided in this application can realize automatic culture of cells and status tracking of the cell culture process, thereby improving the cell culture quality and production efficiency.

[0051] 2. The cell culture system provided in this application realizes the standardization of the cell culture process and improves the consistency of cell culture between batches.

[0052] 3. The cell culture system provided in this application can solve the risks brought by traditional manual on-site operations and the limitations of frequent destruction of cell culture conditions, while significantly reducing production costs, increasing efficiency, reducing costs and improving quality in the field of cell therapy, and improving the accessibility of cell drugs.

[0053] 4. The embodiment of the present application breaks down a complex task flow into various task nodes, simplifying the process. At the same time, each task node can be executed according to the node information of each task node, thereby ensuring the accuracy of process execution.

[0054] 5. This application can achieve accurate management of each device during task execution. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0056] Figure 1 is a schematic diagram of the structure of a cell culture system provided in one embodiment of the present application;

[0057] Figure 2 It is a node relationship diagram provided by an embodiment of the present application;

[0058] Figure 3 is a schematic structural diagram of a cell culture system provided in another embodiment of the present application;

[0059] Figure 4 is a schematic structural diagram of a cell culture system provided in yet another embodiment of the present application;

[0060] Figure 5 It is a physical structure diagram of a cell culture system provided in one embodiment of the present application. DETAILED DESCRIPTION

[0061] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0062] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0063] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0064] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.

[0065] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0066] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0067] In practical applications, the formal term for cell culture in biology is cell culture technology, that is, cell cloning technology. A large number of cells or their metabolites can be obtained through cell culture, which can be used to study cell signal transduction, anabolism, cell growth and reproduction, etc. At the same time, with the development of biotechnology, the market demand for cell culture technology continues to grow. In addition, cell culture technology is used in the preparation of biotechnology drugs, with a high cure rate and a wide range of treatments. However, the current mainstream cell culture method is completed through manual operation, which is also limited to manual operation. As a result, the cell culture production efficiency is low and the normalized quality of the cells cannot be guaranteed. For example, there is a problem of poor consistency in cell culture between batches and the inability to standardize the cell culture process.

[0068] In addition, in order to ensure the controllability and reliability of cell culture, the environment for cell culture often requires special requirements, such as temperature, humidity, CO2 concentration, and other ultraviolet disinfection. At the same time, according to different cell types (drug viruses required by some experiments), it is also necessary to consider environmental pollution, infection of the environment by specific virus cells, and post-treatment of bacteria disinfection. Therefore, whether it is from the perspective of time, manpower and economic costs, or from the perspective of the risk of pollution, once the cell culture environment is constructed, it should not be destroyed for as long as possible. However, different cell types determine that the growth of cells has different requirements for culture fluid and environmental sensitivity. The current method of artificially culturing cells requires the operator to enter the cell culture room regularly to replenish the consumables required for cell culture, handle the waste generated during the process, and observe the growth status of the cells. Due to the need to enter the cell culture room, the constructed cell culture conditions will inevitably be broken.

[0069] To solve the above problems, the present invention provides a cell culture system that is fully automated, consistent, quality-controlled, safe, and has high production efficiency. It can solve the risks brought about by traditional manual on-site operations and the limitations of frequent destruction of cell culture conditions, while greatly reducing production costs, thereby increasing efficiency and quality in the field of cell therapy and improving the accessibility of cell drugs.

[0070] See also Figure 1 , Figure 1 It is a schematic diagram of the structure of a cell culture system provided in one embodiment of the present application.

[0071] For ease of explanation, only the parts related to this embodiment are shown, which are described in detail as follows:

[0072] like Figure 1 As shown, the cell culture system 1 includes: a task operation module 11, an equipment management module 12, a cell information identification module 13 and a data management module 14. Among them:

[0073] The task running module 11 is used to parse the cell culture task flow, obtain the node information of each task node, and execute each task node according to the node information of each task node. The cell culture task flow includes at least one task to be executed, and each task to be executed includes at least one task node.

[0074] The device management module 12 is used to control the target device corresponding to any task node to perform a setting operation.

[0075] The cell information identification module 13 is used to analyze the cultured cells in the cell culture box and determine the growth status of the cultured cells when executing the task node corresponding to the cell culture.

[0076] The data management module 14 is used to determine the current state information of the target device and generate a to-be-executed task associated with the target device according to the current state information.

[0077] In the embodiment of the present application, after detecting the cell culture task flow, the task running module 11 can parse the cell culture task flow, that is, disassemble the cell culture task flow to obtain each task node corresponding to the cell culture task flow. Afterwards, the task running module 11 can determine the node information of each task node according to the dependency relationship between each task node. Among them, the cell culture task flow includes at least one task to be executed, and each task to be executed includes at least one task node.

[0078] It should be noted that the above-mentioned cell culture task flow can be abstracted into any collection of related and sequential tasks organized according to logical relationships such as time sequence, process requirements, and business requirements in order to achieve a specific requirement.

[0079] In some possible embodiments, the cell culture task flow may be a specific cell culture experiment, such as cell passaging, cell fluid replacement, and drug screening, or may be cell information identification, consumables replenishment, and waste dumping and transfer.

[0080] Among them, consumables are used to describe various equipment needed in the cell culture system, such as T75, T75 tray, 96-well plate, single-well plate, cleaning solution tray, 5ml tip head box, 5ml tip head box cover, 300ul tip head box cover, 300ul tip head box cover, centrifuge tube and centrifuge tube rack, etc.

[0081] In one embodiment of the present application, the task execution module 11 can specifically execute each task node through the following steps, which are described in detail as follows:

[0082] Parsing the cell culture task flow to obtain a node relationship graph; the node relationship graph is composed of a plurality of task nodes;

[0083] Determine the node information of each of the task nodes according to the node relationship diagram; the node information of each of the task nodes includes corresponding parent node information and child node information;

[0084] Execute each of the task nodes according to the parent node information and the child node information corresponding to each of the task nodes.

[0085] In this embodiment, the task running module can parse the cell culture task flow, that is, disassemble the cell culture task flow to obtain each task node corresponding to the cell culture task flow. Afterwards, the task running module can generate a node relationship graph based on the dependency relationship between each task node. The node relationship graph is composed of multiple task nodes.

[0086] For example, see Figure 2 , Figure 2 is a node relationship diagram provided by an embodiment of the present application. Figure 2 As shown, the node relationship diagram includes multiple task nodes, such as A, B, C, D, E, F, S, T, X, Y, etc. The arrow between any two task nodes is used to describe the dependency relationship between the two task nodes.

[0087] It should be noted that there is no circular dependency between the task nodes, such as A depends on B, and B depends on A.

[0088] In this embodiment, the task running module can determine the node information of each task node according to the generated node relationship diagram. Wherein, the node information of each task node includes the corresponding parent node information and child node information. The parent node information includes the parent node name and the number of parent nodes, and the child node information includes the child node name and the number of child nodes.

[0089] It should be noted that the parent node is used to describe the node that a task node directly depends on, that is, the task node can only be executed after its corresponding parent node is executed.

[0090] Subnodes are used to describe the nodes that a task node directly depends on, that is, after the task node is executed, its corresponding subnode can be executed.

[0091] Based on this, the task running module can execute each task node according to the parent node information and child node information corresponding to each task node.

[0092] It should be noted that each task node can only be independent on a single core and a single thread, and each task node can implement parallel execution or serial execution according to its own node information, so as to ensure that task nodes with dependencies can be called and executed in the correct order under as many parallel processing conditions as possible, thereby improving work efficiency.

[0093] In one embodiment of the present application, the task running module can specifically implement the steps according to the following steps, and execute each task node according to the parent node information and the child node information corresponding to each task node, as detailed as follows:

[0094] If the parent node information of the first node indicates that there is no parent node, the first node is executed; the first node is any one of the multiple task nodes;

[0095] Based on the child node information of the first node, a parent node number subtraction operation is performed on the parent node information of at least one first child node; at least one first child node is a child node of the first node;

[0096] If the parent node information of the second child node is no parent node, the second child node is executed; the second child node is any one of at least one of the first child nodes;

[0097] The first node is updated according to the second child node, and the step of subtracting the number of parent nodes from the parent node information of at least one first child node based on the child node information of the first node and subsequent steps are returned to execute until each of the task nodes is executed.

[0098] In this embodiment, when the task running module detects that the parent node information of the first node is no parent node, that is, the number of parent nodes is zero, it indicates that the first node can be executed at this time. Therefore, the task running module can put the first node into the node thread pool so that the node thread pool runs the first node.

[0099] It should be noted that the number of the first node may be one or more.

[0100] At the same time, the task running module can perform a parent node number reduction operation on the parent node information of at least one first child node based on the child node information of the first node, that is, reduce the number of parent nodes in the at least one first child node by one. Wherein, at least one first child node is a child node of the first node.

[0101] Afterwards, the task execution module may execute the second child node when detecting that the parent node information of the second child node is no parent node, that is, the number of parent nodes is zero. The second child node is any one of the at least one first child node.

[0102] At the same time, the task running module can update the first node according to the second child node, and continue to execute the step of subtracting the number of parent nodes from the parent node information of at least one first child node based on the child node information of the first node and subsequent steps until each task node is executed.

[0103] In this embodiment, the task running module can sequentially update and maintain the number of parent nodes and the number of child nodes in the node information corresponding to each task node, so that all task nodes that meet the conditions are executed serially or in parallel. The task running module can continuously iterate according to the above loop logic to maximize the execution of the tasks to be executed in the correct order under parallel processing.

[0104] In the embodiment of the present application, the device management module 12 is used to maintain the control and communication of each device used in the entire cell culture system, so that the cell culture system has data read and write operations for each device. Therefore, when the task running module 11 executes any task node, the device management module 12 can control the target device corresponding to the any task node to perform the setting operation.

[0105] The target equipment includes but is not limited to: cell culture incubators, robotic arms, centrifuges, etc.

[0106] The setting operation can be specifically set according to actual needs and is not limited here.

[0107] In the embodiment of the present application, when the task running module 11 is executing on the task node corresponding to cell culture, the cell information identification module 13 can analyze the cultured cells in the cell culture incubator to determine the growth status of the cultured cells, thereby realizing real-time tracking and detection of the entire cell culture process.

[0108] In one embodiment of the present application, the cell information identification module 13 can specifically determine the generation state of the cell by following the following steps, which are described in detail as follows:

[0109] acquiring a cell image comprising the cultured cells;

[0110] Analyzing the cell image to obtain analysis results of the cultured cells in different dimensions;

[0111] The growth status of the cultured cells is determined according to the analysis results of the different dimensions.

[0112] In this embodiment, the cell information recognition module can obtain cell images of cultured cells through a microscope, wherein the cell images include multiple images.

[0113] It should be noted that when photographing the culture information through a microscope, the cultured cells need to be taken out of the cell culture incubator.

[0114] In this embodiment, the cell information recognition module can analyze the cell image by using the existing cell recognition algorithm to obtain analysis results of the cultured cells in different dimensions.

[0115] Among them, different dimensions include: cell confluence, cell count, cell distribution, cell size, shape and outline.

[0116] It should be noted that the analysis results of different dimensions are used to describe the specific data corresponding to different dimensions.

[0117] In this embodiment, the cell information recognition module can compare the analysis results of different dimensions with the expected results of different dimensions one by one, so as to determine the growth status of the cultured cells.

[0118] In another embodiment of the present application, the cell information identification module can also determine the culture quality of the cultured cells according to the growth status of the cultured cells, that is, determine whether the cultured cells need to continue to be supplemented with nutrient solution, and then determine whether it is necessary to continue to culture the cultured cells, or to subculture the cultured cells, or to directly terminate the culture of the cultured cells.

[0119] Based on this, the cell information recognition module can generate pending tasks associated with the cultured cells according to the culture quality of the cultured cells, wherein the pending tasks associated with the cultured cells include but are not limited to: continuing culture, passage and termination.

[0120] Afterwards, the task running module may continue to parse the to-be-executed tasks associated with the cultured cells, so as to continue to execute the task nodes corresponding to the to-be-executed tasks associated with the cultured cells.

[0121] In the embodiment of the present application, since the state of the target device will affect the cell culture process, the data management module 14 can realize real-time detection of the target device to determine the current state information of the target device, and generate the to-be-executed tasks associated with the target device according to the current state information. The current state information includes the number of devices and the internal environment of the device.

[0122] Based on this, the task running module may continue to parse the to-be-executed tasks associated with the target device to execute the task nodes corresponding to the to-be-executed tasks associated with the target device.

[0123] In one embodiment of the present application, the current status information may include the number of devices and the internal environment of the devices. Therefore, the data management module 14 is specifically used to:

[0124] When the number of devices is less than a set threshold, generating a task to be executed for performing a consumables replenishment operation on the target device;

[0125] When waste exists in the internal environment of the equipment, a pending task of a waste dumping operation is performed on the target equipment.

[0126] In this embodiment, when the data management module detects that the number of target devices is less than the set threshold, it indicates that the number of target devices is insufficient and the target devices need to be supplemented. Therefore, the data management module can generate a task to be executed for performing a consumables supplement operation on the target devices. The set threshold can be determined according to actual needs and is not limited here.

[0127] Based on this, the task running module can continue to parse the above-mentioned tasks to be executed to execute the task nodes corresponding to the tasks to be executed associated with the target device, thereby realizing the replenishment of consumables for the target device.

[0128] In this embodiment, when the data management module detects that there is waste in the internal environment of the target device, it indicates that the target device needs to be dumped to avoid the impact of the waste on other tasks. Therefore, the data management module can generate a pending task to perform the waste dumping operation on the target device.

[0129] Based on this, the task running module can continue to parse the above-mentioned tasks to be executed to execute the task nodes corresponding to the tasks to be executed associated with the target device, thereby realizing the waste dumping of the target device.

[0130] In another embodiment of the present application, the data management module 14 is further used to:

[0131] Initialize the database connection object queue of the connection pool;

[0132] When executing a task node corresponding to accessing a database, if there is an available connection object in the database connection object queue, the available connection object is used;

[0133] After use, the available connection object is released so that the available connection object is returned to the connection pool.

[0134] In this embodiment, the data management module can realize the reading of persistent data, as well as the persistent write storage of result data and part of the log generated during the task execution process. Since the cell culture system may work under the demand of multi-threaded concurrent access to the database, the data management module can use the connection pool to dynamically process and select the database connection object to complete the persistent processing. First, the data management module can initialize the database connection object queue of the connection pool and set the upper and lower limits of the connection object queue. Then when there is a session object request, that is, when executing the task node corresponding to the access database, the data management module can parse the session object request, and when there is an available connection object in the database connection object queue, obtain the available connection object from the database connection object queue.

[0135] It should be noted that when the available connection object is zero and the connection objects in the connection object queue do not exceed the upper limit of the connection object queue, the data management module can dynamically create a new database connection object to obtain an available connection object.

[0136] Afterwards, the data management module can determine whether the available connection object has been used up according to the database connection object usage identifier requested by the session object, and release the occupied available connection object after use, so that the available connection object is returned to the connection pool. This can avoid the performance consumption of frequent creation and release of database connection objects while meeting the needs of multi-threaded data access, ensure the data access security of the database system, and improve the operating efficiency and the processing performance, stability and persistence of the database connection.

[0137] In another embodiment of the present application, the data management module can also perform database maintenance on the basic geometric properties of the consumables (such as three-dimensional dimensions of length, width and height, material, number of wells, hole spacing, horizontal or vertical distribution, etc.).

[0138] Specifically, when executing different tasks to be executed, the data management module can obtain the image of the consumables configured for the task to be executed through the camera, and determine the model of the consumables based on the consumables image. Afterwards, the data management module can automatically obtain the information of the consumables (such as the end position of the robot arm movement, the stroke and torque of the gripper, etc.) from the consumables maintenance data table in the database based on the model.

[0139] In this embodiment, when adding or reducing consumables, there is no need to modify the program code, only the consumable maintenance data table needs to be maintained, thereby conveniently realizing automatic matching and identification of consumables. Only the parameters in the data table need to be modified or updated, without the need to update the system software, to achieve compatibility with different consumables, thereby improving the versatility and adaptability of the cell culture system.

[0140] From the above, it can be seen that the cell culture system provided in the embodiment of the present application parses the cell culture task flow through the task running module, obtains the node information of each task node, and executes each task node according to the node information of each task node; the device management module controls the target device corresponding to any task node to perform the set operation; when executing the task node corresponding to the cell culture, the cell information identification module analyzes the cultured cells in the cell culture box to determine the growth status of the cultured cells; the data management module determines the current status information of the target device, and generates the tasks to be executed associated with the target device according to the current status information. The cell culture system provided in the present application can realize the automatic culture of cells and the status tracking of the cell culture process, thereby improving the culture quality and production efficiency of cells.

[0141] See also Figure 3 , Figure 3 FIG. 1 is a schematic diagram of the structure of a cell culture system provided in another embodiment of the present application. Figure 3 As shown, in this embodiment, the cell culture system 1 may further include: a communication management module 15 .

[0142] The communication management module 15 is used to communicate with multiple clients by using IO multiplexing technology.

[0143] Specifically, the communication management module 15 may use IO multiplexing technology to receive task requests sent by multiple clients, wherein the task request carries the task to be executed and the scheduled execution time.

[0144] Afterwards, the communication management module 15 can associate each task to be executed and the corresponding scheduled execution time and store it in a workflow task table. The workflow task table is stored in a database and includes all tasks to be executed.

[0145] Based on this, in one embodiment of the present application, the task execution module can determine the execution state of the current task flow when it is executed, wherein the execution state includes but is not limited to: running and idle state.

[0146] In this embodiment, when the task running module detects that the above-mentioned running state is an idle state, it means that other task flows can be executed at this time. Therefore, the task running module can obtain the workflow task table from the database and execute the to-be-executed task corresponding to the earliest scheduled execution time in the workflow task table.

[0147] As can be seen from the above, the cell culture system provided in this embodiment optimizes the network connection processing of the cell culture system by using IO multiplexing technology, realizes a single thread to handle multiple connections concurrently, fully utilizes the resource scheduling of the cell culture system, reduces the frequency of context switching, or the additional overhead of locking and unlocking operations to ensure the thread safety of shared resources when multiple threads access concurrently. Thus, under the same resource conditions, the overall performance of concurrency and response of the cell culture system is improved.

[0148] Please continue reading Figure 3 The cell culture system 1 may further include a log recording module 16 and an interface management module 17 .

[0149] It should be noted that the above-mentioned log recording module 16 is an existing log recording technology and will not be described in detail here.

[0150] The above-mentioned interface management module 17 is an existing interface management technology and will not be described in detail here.

[0151] In some possible embodiments, the interface management module 17 may abstract the common properties of various devices in the cell culture system and formulate a top-level communication control protocol to implement configuration of different devices accessing the cell culture system.

[0152] In some other possible embodiments, the interface management module 17 may further include a conversion interface. Through the conversion interface, the interface management module 17 can be compatible with the communication diversity of different individual devices, open a unified interface protocol to the outside, and facilitate the replacement, update and addition of various devices.

[0153] See also Figure 4 , Figure 4 FIG. 1 is a schematic diagram of the structure of a cell culture system provided in yet another embodiment of the present application. Figure 4 As shown, the cell culture system 1 in this embodiment may include: a server 10, multiple clients 20 (only three are shown in the figure) and multiple device ends 30 (only three are shown in the figure). Figure 5 , Figure 5 It is a physical structure diagram of a cell culture system provided in one embodiment of the present application.

[0154] In this embodiment, a plurality of clients 20 are respectively connected to the server 10 in communication. The above communication connection mode can be a wired communication connection or a wireless communication connection, which is not limited here.

[0155] Each client 20 includes but is not limited to devices such as notebooks, desktop computers, and computers.

[0156] It should be noted that each client 20 can be installed locally, or deployed in a corresponding remote system through a network cable, and connected to the server 10 to achieve remote interaction.

[0157] In this embodiment, the service end 10 can be connected to each device end 30 through a bus.

[0158] It should be noted that each device end 30 includes but is not limited to equipment such as a cell culture box, a manipulator, a consumable tower, and a safety cabinet.

[0159] In this embodiment, the server 10 includes Figure 1 and Figure 3 The task running module 11, the device management module 12, the cell information identification module 13, the data management module 14, the communication management module 15, the log recording module 16 and the interface management module 17 mentioned in the embodiment.

[0160] It should be noted that each client 20 is an existing client technology, which will not be described in detail here.

[0161] In some possible embodiments, each client 20 may include a service control module, a user management module, a UI interaction module, a configuration module, an interface management module, an exception handling module, a communication module, and the like.

[0162] In this embodiment, each client 20 can communicate data with the server 10 through the network to control all devices on the device end 30 that complete the cell culture automation process. Each client 20 is an application that provides users with functions such as remotely creating new tasks to be executed, obtaining the steps and detailed parameters of the current task and the culture status of cells in real time. The server 10 responds to client connection requests, parses commands, and converts them into communications with hardware to complete the correct execution of the task flow composed of the tasks to be executed, and finally performs persistent storage of data.

[0163] In some possible embodiments, users can remotely create and edit new tasks to be executed in the office or other places according to the experimental arrangement, save them, and make an appointment with the server for the execution time of the tasks to be executed by going online. After that, the server can automatically start the tasks to be executed according to the above-mentioned scheduled execution time, which greatly improves the convenience of user experimental operation and the efficiency of system use.

[0164] It should be noted that the cell culture system in this embodiment can support multiple users to log in online at the same time through the network, compile tasks to be executed according to the preset task flow, apply to the server for the effective time period for running tasks, and realize automatic execution of tasks to be executed according to the scheduled time.

[0165] It can be seen from the above that the cell culture system provided in this embodiment is deployed through the network communication structure between the client and the server, so that the device end and the operating experiment personnel are physically separated. The cell culture system can be realized without entering a laboratory with special requirements on the environment. The operation steps, detailed parameters, cell growth status of the task to be executed can be viewed remotely through remote interaction with the server in real time, and alarm information of various levels can be received and released, thereby achieving the purpose of long-term unattended operation.

[0166] The following will be combined Figure 1 to Figure 5 The specific working principles of the communication management module, task execution module and data management module in the server are described as follows:

[0167] Communication management module: The client and the server communicate through TCP socket. The communication management module is implemented based on the select method of the IO multiplexing model and includes the following steps:

[0168] 1. Server socket creation:

[0169] 1.1. Create a socket, create a supported protocol address family AF_INET, the type is stream or frame, and the protection protocol is IPPROTO_TCP general;

[0170] 1.2. Initialize and set the sockaddr_in object, any available IP address and port number;

[0171] 1.3. Establish a binding association between the listening socket and the sockaddr_in object;

[0172] 1.4. Enable the listening property of the listening socket and set the maximum number of listening connections.

[0173] 2. Construction of the select mode of the IO multiplexing model (read set detection), entrusting the status detection of the monitored fd to the system kernel management:

[0174] 2.1. Create rdset and initialize the read set for detection: FD_ZERO(&rdset);

[0175] 2.2. Set the listening socket to the detected read set: FD_SET;

[0176] 2.3. Loop to receive the access of the client socket: Use the select to entrust the kernel to detect the status of the file descriptors in the read set, set the number of IO objects to be detected, and the maximum value is 1024; optionally set the set to be detected: read, write and exception; set the timeout time, with an accuracy of ms;

[0177] 2.4. The timeout period needs to be reset for each loop; at the same time, since the kernel may modify the detected collection value, a temporary copy of the detected collection object needs to be made for each loop as input and output parameter input;

[0178] 2.5.Select is in blocking mode by default, checking whether there is data in the read buffer;

[0179] 2.6. A signal (event) occurs: the data in rdset is rewritten by the kernel, and only the flag bits of the changed file descriptions are kept as 1, and those that have not changed are changed to 0. That is to say, as long as the flag bit corresponding to the fd in rdset is 1-> there is data in the buffer;

[0180] 2.7. After the signal is triggered, first determine whether it is the connection socket fd that the server listens to, and whether there is a new client socket connection request. If there is, accept the connection request in a non-blocking manner, obtain a valid file descriptor fd, and add the file descriptor fd to the read set rdset, so that it can get the cache and kernel detection status in the next round of select detection;

[0181] 2.8. Each socket connection established by the client corresponds to a file descriptor fd. From the monitored file descriptor set, determine (FD_ISSET) whether the read buffer of each fd has data. If there is data in the buffer, start receiving data processing. If it cannot be received in one time, and there is still data in the read buffer corresponding to the file descriptor fd, in the next round of select detection, the kernel will also mark this file descriptor buffer as having data, and the data processing interface will continue to read once, and repeat this cycle until the buffer data is read. The kernel will then modify the value of the file descriptor fd to 0, and then execute step 2.5.;

[0182] 2.9. The data read from the buffer is sequentially pushed into the message queue for receiving data, and the data parsing thread independently performs packet sticking, packet splitting and other parsing of the socket data packet;

[0183] 2.10.When select returns 0, timeout processing is required.

[0184] 2.11. When select returns -1, the kernel detects an error and needs to be handled according to the cause of the error. If it is a signal interrupt, you can directly jump to step 2.5. and continue execution; other errors require error handling, writing to the log, and exiting the application.

[0185] Task operation module: By decomposing the complex cell culture automation process into task nodes with single actions and establishing dependencies between task nodes, the culture workflow tasks can be completed in an orderly and efficient manner. Specifically, the following steps are included:

[0186] 1. Task work data structure creation:

[0187] 1.1. Create a task chain container std::vector to store task workflows, create a polling thread to detect the task chain container, and the daemon thread queries whether there is a task chain that needs to be executed; set the status used to identify the current state of the task executor: idle, running, ready, etc.

[0188] 1.2. Initialize the executor of the task workflow task chain, which can load and execute the task chain built in the task chain container;

[0189] 1.3. Construct the dependency relationship between each node in the task chain of the task workflow;

[0190] 1.4. The atomic Boolean variable atomic for different states of a single node in the workflow, enumeration values ​​of execution results, and whether an exception has occurred;

[0191] 1.5. Create a child thread to independently run the execution of the experimental task workflow;

[0192] 2. Specific analysis and operation of task workflow:

[0193] 2.1. Read the status flag to determine the running status of the current task flow. If the status value is running, continue to wait and poll; if it is idle, execute the next step;

[0194] 2.2. Query the workflow task table from the database. This table records all the tasks that need to be executed in the client's appointment plan, sorts them in ascending order by appointment time, and selects the latest one for analysis;

[0195] 2.3. Construct nodes in the task chain: read all information of each node from the task record table, and customize a data structure to store vector <nodeparam>, including the node execution order, specific operation parameters (position, coordinates, speed, etc.), device binding objects, lists of all parent nodes directly dependent on the node and all child nodes directly dependent on the node, and counters (marking how many parent nodes the node still depends on that have not been executed), etc.; and set execution process control operations and different jumps based on execution results (whether to terminate the execution of the entire workflow task chain immediately);

[0196] 2.4. Build a task chain: Serialize the task points built in step 2.3. and add the start node, completion node, and abnormal error node of the work chain;

[0197] 2.5. At this step, the task workflow analysis preparation work is completed, and the specific execution begins. The executor is called: First, a node set that does not depend on any node is found from the task chain, generally as the start node designed in step 2.4. The characteristic of this node is that the parent node (dependent node) must be NULL. It is removed from the task chain and thrown into the thread pool as the first execution task node;

[0198] 2.6. After the node is executed, it will actively call back the main program and reply with a signal. After receiving the signal, it will access one of the node information in step 2.3.: the list of all node child nodes that depend on this node. After receiving the notification, the parent node counter of each node in the list is maintained at -1.

[0199] 2.7. After the execution thread is finished, it will recycle and check all the remaining nodes in the task chain, and judge each counter. When the number is 0, it means that the nodes it depends on have been executed. Then it will be removed from the task chain and directly thrown into the execution thread pool;

[0200] 2.8. Execute steps 2.6.-2.7. repeatedly; finally all nodes are removed from the task chain and the execution is completed;

[0201] 2.9. The task chain can be set to blocking and non-blocking operation modes: Blocking mode: wait until all nodes in the task chain are executed before running further; Non-blocking mode: create a child thread and execute steps 2.5.-2.8. synchronously;

[0202] 2.10. Task nodes can also be designed to be parallel or serial;

[0203] Data management module: System business data, result data generated during the experiment, and some log data need to be persistently stored. This module is implemented based on the database connection pool. It includes the following steps:

[0204] 1. Connection pool data structure creation:

[0205] 1.1. To ensure the thread safety of connection pool object creation, first create a specific implementation class of the connection pool, and use the singleton mode to create a specific connection pool object managed by the connection pool, and return the static method GetInstance of the connection pool class object pointer. Manage the creation of a container std::list that stores database connections<sql::Connection*> , used to allocate, recycle and release connection objects;

[0206] 1.2. Create a global mutex to protect the connection pool and ensure uniqueness when accessing the connection object container;

[0207] 1.3. Set the number status used to identify the connection pool list: available, not full and can be created, full (exceeding the maximum number of connections set by the system), etc.

[0208] 1.4. The connection pool stores different states of the connection pool, enumeration values ​​of the execution results, and atomic Boolean variables atomic to indicate whether an exception has occurred;

[0209] 1.5. Set the connection parameter values: current number of connections, minimum number of connections, maximum number of connections, and database connection parameters.

[0210] 2. Specific allocation, release and return of connection pool:

[0211] 2.1. Create a global connection pool implementation class object pointer connPool, and obtain the only specific class object by calling the static method GetInstance in singleton mode;

[0212] 2.2. When creating a connection object, initialize and create a database connection with the preset minimum number of connections;

[0213] 2.3. After creating a new connection object, apply for an exclusive lock and lock the global mutex: then push the newly created connection object into the connection container std::list and set the status to available;

[0214] 2.4. Each time a connection object is added, the current number of connections is increased by 1 to determine whether it is greater than the minimum number of connections. If it is satisfied, the locked mutex is unlocked to release the exclusive right and exit the loop;

[0215] 2.5. Loop steps 2.2.-2.4. to complete the connection pool List initialization;

[0216] 2.6. When a business requests a database connection, the system also checks whether there is an available connection in the list. If there is, the most suitable connection will be allocated and returned, and the availability of the acquired connection will be further determined. If the connection has been closed, it will be deleted and a new connection will be established to modify the status. If there is no connection that can be allocated in the list, it is necessary to determine whether the connection objects currently maintained by the list are less than the maximum number of connections, and then execute step 2.4. Create a new connection. If the number of connections currently maintained by the list has reached the maximum number of connections, a timeout is required to wait for an available connection to be released. If the maximum waiting time is reached and the right to use the connection is still not obtained, an exception will be thrown;

[0217] 2.7. Release the connection. For the exclusive connection applied for, first determine whether the number of references to the connection exceeds the set value (availability judgment). If it exceeds, delete the connection from the connection pool list. Otherwise, put it back into the list for use by other requests.

[0218] 2.8. Destroy the connection pool: When the application exits, during resource recovery, first loop close all connections in the connection pool, and then clear the connections in the connection pool

[0219] 2.9. All operations on the connection management container list must be locked before entering. After use, the corresponding unlocking operations must be performed on all branches that jump out.

[0220] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0221] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0222] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.< / nodeparam>

Claims

1. A cell culture system, characterized in that: include: A task running module, used to parse the cell culture task flow, obtain node information of each task node, and execute each task node according to the node information of each task node, wherein the cell culture task flow includes at least one task to be executed, and each task to be executed includes at least one task node; The device management module is used to control the target device corresponding to any task node to perform the set operation; A cell information recognition module is used to analyze the cultured cells in the cell culture box and determine the growth status of the cultured cells when executing the task node corresponding to the cell culture; The data management module is used to determine the current state information of the target device and generate a to-be-executed task associated with the target device according to the current state information.

2. The cell culture system according to claim 1, characterized in that The task running module is specifically used for: Parsing the cell culture task flow to obtain a node relationship graph; the node relationship graph is composed of a plurality of task nodes; Determine the node information of each of the task nodes according to the node relationship diagram; the node information of each of the task nodes includes corresponding parent node information and child node information; Execute each of the task nodes according to the parent node information and the child node information corresponding to each of the task nodes.

3. The cell culture system according to claim 2, characterized in that The executing each of the task nodes according to the parent node information and the child node information corresponding to each of the task nodes includes: If the parent node information of the first node indicates that there is no parent node, the first node is executed; the first node is any one of the multiple task nodes; Based on the child node information of the first node, a parent node number subtraction operation is performed on the parent node information of at least one first child node; at least one first child node is a child node of the first node; If the parent node information of the second child node is no parent node, the second child node is executed; the second child node is any one of at least one of the first child nodes; The first node is updated according to the second child node, and the step of subtracting the number of parent nodes from the parent node information of at least one first child node based on the child node information of the first node and subsequent steps are returned to execute until each of the task nodes is executed.

4. The cell culture system according to claim 1, characterized in that The current status information includes the number of devices and the internal environment of the devices. The data management module is specifically used to: When the number of devices is less than a set threshold, generating a task to be executed for performing a consumables replenishment operation on the target device; When waste exists in the internal environment of the equipment, a pending task of a waste dumping operation is performed on the target equipment.

5. The cell culture system according to claim 1, characterized in that The cell information recognition module is specifically used for: acquiring a cell image comprising the cultured cells; Analyzing the cell image to obtain analysis results of the cultured cells in different dimensions; The growth status of the cultured cells is determined according to the analysis results of the different dimensions.

6. The cell culture system according to claim 5, characterized in that After determining the growth status of the cultured cells according to the analysis results of the different dimensions, the method further includes: determining the culture quality of the cultured cells according to the growth status of the cultured cells; A task to be executed associated with the cultured cells is generated according to the culture quality.

7. The cell culture system according to claim 1, wherein The data management module is also used for: Initialize the database connection object queue of the connection pool; When executing a task node corresponding to accessing a database, if there is an available connection object in the database connection object queue, the available connection object is used; After use, the available connection object is released so that the available connection object is returned to the connection pool.

8. The cell culture system according to any one of claims 1 to 7, characterized in that: The cell culture system further comprises: a communication management module; The communication management module is used to communicate with multiple clients by using IO multiplexing technology.

9. The cell culture system according to claim 8, characterized in that The communication management module is specifically used for: The IO multiplexing technology is used to receive task requests sent by multiple clients; the task requests carry the tasks to be executed and the scheduled execution time; Each of the tasks to be executed and the corresponding scheduled execution time are associated and stored in a workflow task table; the workflow task table is stored in a database, and the workflow task table includes all the tasks to be executed.

10. The cell culture system according to claim 9, characterized in that The task running module is also used for: Determine the running status of the current task flow; If the running state is an idle state, obtaining the workflow task table from the database; Execute the to-be-executed task corresponding to the earliest scheduled execution time in the workflow task table.