Equipment scheduling method and device for intelligent warehousing system

By adopting event notification method and memory database storage device status in the intelligent warehousing system, splitting the in-store task into sub-tasks and performing scheduling immediately when all devices are ready, the database pressure problem caused by device interaction is solved and the efficiency of cargo transportation is improved .

CN112541664BActive Publication Date: 2025-01-10MINGDU ZHIYUN (ZHEJIANG) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011409576.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-03
Publication Date
2025-01-10
Estimated Expiration
2040-12-03

AI Technical Summary

Technical Problem

In the intelligent warehousing system, the interaction between devices leads to increased database pressure and low efficiency of cargo transportation, especially when the task paths in and out of warehouses are long and there are many equipment, resulting in too long waiting time for goods, reducing the overall task execution efficiency .

Method used

Use event notification method to trigger device scheduling, store device status information in a memory database, such as redis or Memcached, instead of disk database, split the in-store task into subtasks through task notification process and device status polling module, and split the in-store task into subtasks, and all Execute scheduling immediately when the device is ready to reduce database polling pressure.

Benefits of technology

It significantly reduces the database polling pressure, shortens the time for threads to read and write the database, reduces the time when goods wait for the interactive equipment to pick up the goods and the time when the equipment is in a static state, and improves the overall efficiency of in-store and exit tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112541664B_ABST
    Figure CN112541664B_ABST
Patent Text Reader

Abstract

The present invention discloses a device scheduling method for an intelligent warehousing system. Through the threads of each device, the data information of each device is read through polling, and the current working state of the interactive device is obtained. When a device thread obtains that the working state of its interactive device is in the ready state, it inquires whether each subtask has a to-be-executed subtask that uses its own device as an upstream device or a downstream device. If so, the task notification method of the interactive device corresponding to the subtask is called to adjust the task mark of the interactive device to the first state. When the working state of the device is in the ready state, and the device thread determines that its task mark is in the first state, it inquires whether the to-be-executed subtask of its own device is the interactive device. If a qualified to-be-executed subtask is found, it checks whether the states of all devices in the subtask in the memory database are ready. If all are in the ready state, the scheduling instruction of the own device is issued. This reduces the pressure on the database caused by task polling, reduces the time for goods to wait for the interactive device to pick up goods, and reduces the time for the interactive device to be stationary.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of industrial Internet of Things, and in particular to an equipment scheduling method and device for an intelligent warehousing system. Background Art

[0002] In the field of smart warehousing, especially in smart warehouses, there are a large number of equipment such as stackers, RGVs, conveyors, etc. that are responsible for moving goods in the warehouse. The WCS system is responsible for coordinating all equipment in the warehouse and dispatching and directing various types of equipment to move goods. In a warehousing task, it is often necessary to dispatch multiple devices, and there are interactions between the devices. Therefore, it is necessary to split an warehousing task into multiple subtasks. A subtask often requires two or three devices to collaborate to complete. The equipment responsible for moving goods in the subtask is called the interactive equipment, the starting point of the subtask is called the upstream equipment, and the end point of the subtask is called the downstream equipment. When the equipment is on standby and is in a state where it can immediately execute the scheduling task, it is called the ready state of the equipment.

[0003] In a subtask, RGV moves the goods from conveyor platform A to conveyor platform B. Then RGV is called the interactive device of this subtask. When conveyor platform A or conveyor platform B is in the ready state, the ready state information is written into the database. The interactive device RGV polls the database until it finds that conveyor platform A and conveyor platform B are in the ready state at the same time. Only then will the device be scheduled and the subtask executed. In this processing mode, the RGV device thread polls the database, which will cause great pressure on the database. In addition, the ready state of conveyor platform A and conveyor platform B is written into the database, and the interactive device RGV reads the updated data from the database. During this period, the goods are in the waiting stage. If the inbound and outbound task path is too long and there are too many dispatched devices, a lot of time will be wasted waiting for the equipment to pick up the goods during the transportation of the goods, which greatly reduces the overall execution efficiency of the task. Summary of the invention

[0004] In view of the deficiencies in the prior art, the present invention provides an equipment scheduling method for an intelligent warehousing system, comprising:

[0005] Step S1, splitting the in-and-out task into multiple subtasks, calling the task notification process of each interactive device thread in the first subtask, the task notification process is used to modify the task mark in the device thread memory in a synchronous manner;

[0006] Step S2, the threads of each device poll and read the data information of each device respectively, and obtain the current working state of the interactive device by calling the corresponding device state acquisition algorithm, wherein the working state of the interactive device includes a ready state or an execution state;

[0007] Step S3, when a device thread obtains that the working state of its interactive device is the ready state, it queries each subtask whether there is a to-be-executed subtask that uses its own device as an upstream device or a downstream device, and if so, calls the task notification method of the interactive device corresponding to the subtask to adjust the task mark of the interactive device to the first state;

[0008] Step S4, when the device working state is ready and the device thread determines that its task mark is in the first state, query the own device for the to-be-executed subtask of the interactive device. If a qualified to-be-executed subtask is found, check whether the status of all devices in the subtask in the memory database is ready. If all are in the ready state, issue its own device scheduling instruction to trigger the scheduling of the subtask by its own device, otherwise set the task mark in the thread memory to the second state; if no qualified to-be-executed subtask is found, set the task mark in the thread memory to the second state.

[0009] Preferably, the equipment scheduling method of the intelligent warehousing system further includes:

[0010] Step S5: When the device working state is the ready state and the device thread determines that its task mark is in the second state, the interactive device thread suspends the database polling operation and waits for other devices to call the task notification process of the device.

[0011] Preferably, step S1 includes: extracting the starting point and end point information in the warehousing and warehousing tasks, selecting the optimal cargo route from all optional cargo routes according to the path priority, and decomposing according to the equipment route in the optimal cargo route, decomposing each logistics action to each equipment on the cargo route and forming equipment subtasks and then sending them to the corresponding logistics equipment for execution.

[0012] Preferably, the step S1 specifically includes:

[0013] S11, obtaining information of each receiving port and storage port in the warehouse, as well as information of each logistics equipment running between the receiving port and the storage port, and configuring each equipment route;

[0014] S12, loading each device route configuration into a HashMap data structure. When loading, if a device route configuration is bidirectional and the downstream point is an endpoint or both the upstream and downstream points are intermediate points, then load a corresponding reverse device route configuration. After the loading is completed, the HashMap data structure contains all directed paths of each device route.

[0015] S13, according to any receiving port and storage port information, traverse the equipment route configuration in the HashMap data structure, and obtain all optional cargo routes connected with the receiving port and storage port as two end points, wherein the optional cargo route is composed of multiple equipment routes connected in series.

[0016] Preferably, the equipment route configuration content includes but is not limited to the equipment type number of the upstream point and downstream point of the equipment route, the equipment route endpoint type, the logistics equipment number, and the equipment running direction. The equipment route endpoint type includes a first endpoint type, a second endpoint type, a third endpoint type, and a fourth endpoint type. The first endpoint type is that both the upstream and downstream points are not cargo route endpoints, the second endpoint type is that the upstream point is a cargo route endpoint and the downstream point is not a cargo route endpoint, the third endpoint type is that the upstream point is not a cargo route endpoint and the downstream point is a cargo route endpoint, and the fourth endpoint type is that both the upstream and downstream points are cargo route endpoints.

[0017] The present invention also discloses an equipment scheduling device for an intelligent warehousing system, comprising: a task acquisition module, used to split the in-and-out task into multiple subtasks, calling the task notification process of each interactive device thread in the first subtask, the task notification process is used to modify the task mark in the device thread memory in a synchronous manner; a device status polling module, used to poll and read the data information of each interactive device respectively, and obtain the current working status of the interactive device by calling the corresponding device status acquisition algorithm, the working status of the interactive device includes a ready state or an execution state; a task query module, used to query each subtask whether the corresponding device is used as an upstream device or a downstream device to be executed when the working status of the interactive device is obtained as a ready state. Execute the subtask, if it exists, call the task notification method of the interactive device corresponding to the subtask, and adjust the task mark of the interactive device to the first state; the scheduling instruction sending module is used to query the self-device for the to-be-executed subtask of the interactive device when the working state of the interactive device is the ready state and the device thread determines that its task mark is the first state. If a qualified to-be-executed subtask is queried, check whether the status of all interactive devices in the subtask in the memory database is ready. If all are in the ready state, issue the scheduling instruction of the self-device to trigger the scheduling of the self-device to execute the subtask, otherwise set the task mark in the thread memory to the second state; if no qualified to-be-executed subtask is queried, set the task mark in the thread memory to the second state.

[0018] Preferably, the device status polling module is further configured to suspend the database polling operation and wait for other devices to call the task notification process of the device when the working state of the interactive device is the ready state and its task mark is judged to be the second state.

[0019] The present invention also discloses a server, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any of the above methods when executing the computer program.

[0020] The present invention also discloses 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 steps of any of the above methods are implemented.

[0021] The present invention triggers device scheduling by adopting event notification mode, and stores device status information in memory databases such as redis, Memcached, etc. instead of disk databases such as MYSQL, ORACLE, etc., to improve system performance. When each device is converted to a ready state, it will try to trigger the scheduling of interactive devices in related subtasks; if multiple devices need to be in a ready state at the same time when scheduling interactive devices each time, the interactive device scheduling is triggered immediately when the last device in the subtask is converted to a ready state. This method can greatly reduce the pressure on the database caused by task polling, shorten the time for threads to read and write databases, thereby reducing the time for goods to wait for interactive devices to pick up goods and the time for interactive devices to be stationary. After the subtask is generated, when all devices are in a ready state, the purpose of scheduling is immediately executed, thereby improving the overall efficiency of warehousing.

[0022] Additional aspects and advantages of the present invention will be given in part in the following description and in part will be obvious from the following description, or will be learned through practice of the present invention. 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 this application. 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:

[0024] Figure 1 A schematic flow chart of an equipment scheduling method for an intelligent warehousing system disclosed in an embodiment.

[0025] Figure 2 This is a schematic diagram of a specific flow chart of step S1 disclosed in an embodiment.

[0026] Figure 3 This is a schematic diagram of a specific flow chart of step S13 disclosed in an embodiment. DETAILED DESCRIPTION

[0027] In order to make the purpose, technical solution and advantages of the embodiment of the present invention clearer, the technical solution of the embodiment of the present invention will be clearly and completely described below in conjunction with the drawings of the embodiment of the present invention. Obviously, the described embodiment is a part of the embodiment of the present invention, not all of the embodiments. Based on the described embodiment of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0028] In the present invention, unless otherwise clearly specified and limited, the technical terms or scientific terms used herein shall have the common meanings understood by persons with ordinary skills in the field to which the present invention belongs. The words "first", "second" and similar words used in the patent application specification and claims of the present invention do not indicate any order, quantity or importance, but are only used to distinguish different components. Similarly, words such as "one" or "an" do not indicate a quantity limitation, but indicate the existence of at least one.

[0029] In the intelligent warehouse, the WCS system is responsible for coordinating all the equipment in the warehouse and dispatching and directing the equipment to move the goods. In a warehousing task, it is often necessary to dispatch multiple equipment, and there is interaction between the equipment, so it is necessary to split a warehousing task into multiple subtasks. A subtask often requires two or three devices to collaborate to complete. The equipment responsible for moving the goods in the subtask is called the interactive equipment, the starting point of the subtask is called the upstream equipment, and the end point of the subtask is called the downstream equipment. The state in which the equipment is on standby and can be dispatched immediately is called the ready state of the equipment. Figure 1 The equipment scheduling method of an intelligent warehousing system disclosed in this embodiment is used in a WCS system, and specifically includes:

[0030] Step S1, split the in-and-out task into multiple subtasks, call the task notification process of each interactive device thread in the first subtask, and the task notification process is used to modify the task flag in the device thread memory in a synchronous manner. Specifically, the task notification process can set the task flag taskFlag in the device thread memory to the first state in a synchronous manner to avoid data inconsistency caused by multiple threads operating one taskFlag at the same time.

[0031] In this embodiment, the WCS system adopts a multi-threaded scheduling method. Each device has its own thread, which is responsible for communicating with the device, reading the device status, issuing device scheduling instructions, triggering device scheduling, etc. It is necessary to maintain a volatile-modified Boolean variable taskFlag in the memory of each device thread. taskFlag represents a task flag, and the variable name can be arbitrary. The task flag has a first state and a second state. Here, the task flag is in the first state, that is, the value of taskFlag is designed to be true to indicate that there is a task, and the task flag is in the second state, that is, the value of taskFlag is false to indicate that there is no task.

[0032] In some embodiments, step S1 also includes: extracting the starting point and end point information in the warehousing and warehousing tasks, selecting the optimal cargo route from all optional cargo routes according to the path priority, and decomposing it according to the equipment route in the optimal cargo route, decomposing each logistics action to each equipment on the cargo route and forming equipment subtasks and then sending them to the corresponding logistics equipment for execution.

[0033] As attached Figure 2 As shown, step S1 specifically includes:

[0034] Step S11, obtain the information of each receiving port equipment and storage port equipment in the warehouse, as well as the information of each interactive device running between the receiving port equipment and the storage port equipment, and configure each device route. The device route is the path that the interactive device walks when transporting goods between two sites. The cargo route is the route that the goods pass through when transporting from the starting point to the end point, and the cargo route is formed by connecting the device routes in series.

[0035] Step S12, load each device route configuration into a HashMap data structure. When loading, if a device route configuration is bidirectional and the downstream point is an endpoint or both the upstream and downstream points are intermediate points, then load a corresponding reverse device route configuration. After loading is completed, the HashMap data structure contains all directed paths of each device route.

[0036] The equipment route configuration content includes but is not limited to the equipment type number of the upstream and downstream points of the equipment route, the equipment route endpoint type, the logistics equipment number, and the equipment running direction. The equipment route endpoint type includes a first endpoint type, a second endpoint type, a third endpoint type, and a fourth endpoint type. The first endpoint type is that both the upstream and downstream points are not cargo route endpoints, the second endpoint type is that the upstream point is a cargo route endpoint and the downstream point is not a cargo route endpoint, the third endpoint type is that the upstream point is not a cargo route endpoint and the downstream point is a cargo route endpoint, and the fourth endpoint type is that both the upstream and downstream points are cargo route endpoints.

[0037] Specifically, the equipment route configuration content also includes equipment route grouping identifiers, and equipment routes with the same equipment route grouping identifier are located in different cargo routes, that is, each cargo route contains at most one equipment route with the same equipment route grouping identifier.

[0038] In a specific embodiment, the traditional device route configuration content may be redesigned, and the new device route content may refer to the following configuration method:

[0039] Set the point_up field, which indicates the upstream point or starting point of the equipment route, which is generally the equipment type + equipment number. The field value is specifically expressed as, for example, the warehouse entrance conveyor: 1001, and the conveyor does not need to specify the equipment type.

[0040] Set the point_down field, which indicates the downstream point or end point of the equipment route, which is generally the equipment type + equipment number. The field value is specifically expressed as follows, such as stacker inlet conveyor: 1011. The conveyor does not need to specify the equipment type.

[0041] Set the point_type field, which indicates the type of the two endpoints of the equipment route, indicating the position of the equipment route in the cargo route. The two endpoints of the equipment route may be the endpoints or midpoints of the cargo route, where the endpoints can be the starting point or the end point. The field value is specifically expressed as "0": neither up nor down is the endpoint of the cargo route; "1": up is the endpoint of the cargo route and down is the midpoint; "2": up is the midpoint and down is the endpoint of the cargo route; "3": both up and down are the endpoints of the cargo route.

[0042] The device_type field is set, and the field indicates the type of device walking on the device route, wherein the field value is specifically expressed as, for example, RGV.

[0043] The device_no field is set. This field indicates the device number of the device on the device route and is used together with the device_type field to identify a device. The field value is specifically expressed as: such as "1", and the device_type in the example indicates RGV-1.

[0044] Set the action_type field, which indicates the direction of operation on the device route, where the field value is specifically expressed as "1": one-way operation, from upstream to downstream or from downstream to upstream, depending on the endpoint type configured by point_type; "2": two-way operation.

[0045] Set the path_group field, which indicates the device route grouping. Use integer grouping. Device routes that you do not want to appear on a cargo route at the same time can be configured with the same integer. When calculating the cargo route, the device path in a group will be limited to appear only once.

[0046] The step S12 also includes:

[0047] Step S121, when configuring to load each device route in the HashMap data structure, if the running direction of the loaded first device route is bidirectional and is of the first endpoint type, then load the second device route, the running direction of the second device route is unidirectional and is of the first endpoint type, the upstream point of the second device route is the downstream point of the first device route, and the downstream point of the second device route is the upstream point of the first device route.

[0048] Step S122: if the running direction of the loaded first equipment route is bidirectional and is of the third endpoint type, then load the third equipment route, the running direction of the third equipment route is unidirectional and is of the second endpoint type, the upstream point of the third equipment route is the downstream point of the first equipment route, and the downstream point of the third equipment route is the upstream point of the first equipment route.

[0049] When loading each device route configuration into the HashMap data structure, the new device route is added to the HashMap data structure according to the device route running direction and endpoint type, ensuring that the HashMap data structure can contain all directed paths of each device route after loading is completed.

[0050] Step S13, according to any receiving port and storage port information, traverse the equipment route configuration in the HashMap data structure to obtain all optional cargo routes connected with the receiving port and storage port as two end points, wherein the optional cargo route is composed of multiple equipment routes in series. Figure 3 As shown, step S13 specifically includes the following steps.

[0051] Step S131, according to the information of any receiving port and storage port, select each receiving port as the upstream point of the equipment route in turn, traverse the equipment route configuration in the HashMap data structure, calculate all equipment routes containing the upstream point of the equipment route as the first equipment route group, take the downstream point of the equipment route in the first equipment route group as the upstream point of the next equipment route, traverse the equipment route configuration in the HashMap data structure again, until all equipment routes with each storage port as the downstream point of the equipment route are obtained, forming a cargo route set connecting a receiving port and a storage port formed by connecting multiple equipment routes in series.

[0052] In this embodiment, this step includes calculating the routes from all upstream endpoints to all downstream endpoints: traversing the configuration in the HashMap data structure, starting the calculation from each upstream endpoint, and completing a route calculation until reaching a downstream endpoint, and recording the intermediate paths passed during the calculation process.

[0053] This step also includes: when traversing the device route configuration in the HashMap data structure, when the device route grouping identifier in the device route is the same as any device route grouping identifier that has been added to the cargo route set, the addition operation of the device route is abandoned. By filtering the path_group that has been used in the cargo route, it is ensured that a circular route will not be calculated, resulting in an inability to calculate the result. The device route grouping identifier can be pre-set according to the specific situation. For example, due to reasons such as the handling site or logistics equipment, two device routes cannot appear at the same time in a cargo handling task. In this case, the two device routes can be set to have the same device route grouping identifier to prevent them from being assigned to the same cargo route.

[0054] Step S132, traverse the equipment routes configured as the fourth endpoint type and as bidirectional paths in the HashMap data structure, select each warehouse entrance as the upstream point of the equipment route in turn, obtain all equipment routes with each warehouse entrance as the downstream point of the equipment route, and add them to the cargo route collection.

[0055] In this embodiment, this step includes calculating the route from the downstream endpoint to the downstream endpoint: if it is configured as a downstream point endpoint and is a bidirectional path, the downstream point can be used as the starting point of the route, and the configuration in the HashMap data structure is traversed to start the calculation from the downstream endpoint of the bidirectional path. The calculation method is similar to step S31.

[0056] This step also includes: when traversing the equipment route configuration in the HashMap data structure, when the equipment route grouping identifier in the equipment route is the same as any equipment route grouping identifier that has been added to the cargo route set, abandoning the adding operation of the equipment route.

[0057] Step S133, traverse the equipment routes configured as the fourth endpoint type and unidirectional paths in the HashMap data structure, select the equipment routes with the receiving port as the upstream point of the equipment route and the storage port as the downstream point of the equipment route in turn, and add them as a cargo route to the cargo route set. This step may also include traversing the equipment routes configured as the fourth endpoint type and bidirectional paths in the HashMap data structure, selecting the fourth equipment route with the receiving port as the upstream point of the equipment route and the storage port as the downstream point of the equipment route, and the fifth equipment route with the receiving port as the downstream point of the equipment route and the storage port as the upstream point of the equipment route, and adding the fourth equipment route and the fifth equipment route to the cargo route set.

[0058] This step may also include: when traversing the equipment route configuration in the HashMap data structure, when the equipment route grouping identifier in the equipment route is the same as any equipment route grouping identifier that has been added to the cargo route set, abandoning the operation of adding the equipment route.

[0059] In this embodiment, this step includes calculating the route of the two-endpoint path: if the two-endpoint path is unidirectional, a route is generated from the upstream endpoint to the downstream endpoint containing only one path; if it is bidirectional, a route is also generated from the downstream endpoint to the upstream endpoint containing only one path.

[0060] In some other embodiments, the step S133 may also include: traversing the equipment routes configured as the fourth endpoint type and being bidirectional paths in the HashMap data structure, selecting in turn the equipment routes with the receiving port as the upstream point of the equipment route and the storage port as the downstream point of the equipment route, splitting them into a sixth equipment route which is a one-way path with the receiving port as the upstream point of the equipment route and the storage port as the downstream point of the equipment route, and a seventh equipment route which is a one-way path with the storage port as the upstream point of the equipment route and the cargo receiving port as the downstream point of the equipment route, and adding them to the cargo route collection.

[0061] The cargo route obtained through the above steps is composed of multiple equipment routes connected in series, where the downstream point of the previous equipment route of the cargo route is the same as the upstream point of the next equipment route, ensuring that it can be connected in series to form an executable cargo route. At the same time, the same equipment route grouping identifiers that have been used in the cargo route are filtered to ensure that a circular route will not be calculated, resulting in an inability to calculate the result. The cargo routes of the two endpoints may be formed by multiple path connection methods, and all possible cargo routes will be recorded in the final cargo route collection.

[0062] Step S14, extract the starting point and end point information in the logistics task, select the optimal cargo route from all cargo routes according to the path priority, and decompose it according to the equipment route in the optimal cargo route, decompose each logistics action to each equipment on the cargo route and form an equipment task and then send it to the corresponding interactive device for execution.

[0063] Specifically, the cargo route is determined by the starting point and destination point of the logistics. If there are multiple routes, they can be selected according to the route priority, the equipment status on the route, and other on-site factors. Based on the selected cargo route, the equipment route in the cargo route is decomposed, and a logistics action is decomposed into each device on the cargo route to form an equipment task. Furthermore, based on the mobile site, some equipment tasks are merged, and the equipment tasks (site A, mobile site X) and (mobile site X, site B) are merged into tasks (site A, site B), thereby obtaining the equipment tasks between the two sites. Finally, based on the merged equipment tasks, the equipment is scheduled to transport the goods in sequence.

[0064] The above steps are configured by using the interactive devices located between the upstream point devices and the downstream point devices as mobile sites. By adding mobile sites, the points at both ends of the line are not directly connected but connected to the mobile sites, thereby changing the route calculation method from product to addition, thereby reducing the workload of line configuration. When adding a warehouse entrance or a stacker warehouse entrance, it is only necessary to add the same number of lines to the mobile site. Through the configuration design of adding mobile sites, the intersections of the lines between the sites are refined as mobile sites, the cargo route model is simplified, and the workload of equipment route configuration is reduced. When calculating the cargo route, the mobile sites are merged, and the abstract concept is returned to the actual task without affecting the normal cargo transportation process. Through this scheduling management method, the equipment route configuration is simplified and the workload of equipment route configuration is reduced under the premise of satisfying the WCS system to control logistics.

[0065] Step S2, the threads of each device poll and read the data information of each device respectively, and obtain the current working state of the interactive device by calling the corresponding device state acquisition algorithm, wherein the working state of the interactive device includes a ready state or an execution state.

[0066] Specifically, each device thread including interactive devices, upstream devices and downstream devices will poll and read the data information of the device, and have their own algorithm for calculating the device status. The algorithm determines the current status of the device based on the multiple information data read, whether it is in a ready state or an executing state.

[0067] Step S3, when a device thread obtains that the working state of its interactive device is ready, it queries each subtask whether there is a subtask to be executed that uses its own device as an upstream device or a downstream device. If so, it calls the task notification method of the interactive device corresponding to the subtask to adjust the task mark of the interactive device to the first state.

[0068] Specifically, when the device thread calculates that its own device is in the ready state, it will try to initiate device scheduling. First, it checks each subtask to see if there is a pending subtask that uses its own device as an upstream device or downstream device. If a pending subtask that meets the conditions is found, the task notification method of the logistics device corresponding to the subtask is called, and the taskFlag of the interactive device is set to true.

[0069] Step S4, when the device working state is ready and the device thread determines that its task mark is in the first state, query the own device for the to-be-executed subtask of the interactive device. If a qualified to-be-executed subtask is found, check whether the status of all devices in the subtask in the memory database is ready. If all are in the ready state, issue its own device scheduling instruction to trigger the scheduling of the subtask by its own device, otherwise set the task mark in the thread memory to the second state; if no qualified to-be-executed subtask is found, set the task mark in the thread memory to the second state.

[0070] Specifically, when the device status is ready and the device thread determines that taskFlag is true, the device itself is queried for the subtask to be executed as an interactive device. If a subtask to be executed that meets the conditions is found, the memory database will be checked to see if the status of all devices in the subtask is ready. If all are in the ready state, the device scheduling instruction will be issued to immediately trigger the scheduling of the device itself and execute the subtask. Otherwise, the taskFlag in the thread memory will be set to false; if no subtask to be executed that meets the conditions is found, the taskFlag in the thread memory will be set to false.

[0071] The device scheduling method of the intelligent warehousing system disclosed in some specific embodiments also includes step S5, when the device working state is ready and the device thread determines that its task mark is in the second state, suspending the database polling operation of the interactive device thread and waiting for other devices to call the task notification process of the device.

[0072] Specifically, when the device state is ready and the device thread determines that taskFlag is false, the thread does not need to poll the database, but only needs to wait for other devices to call the task notification method of the device. The subsequent logistics device thread can continue to repeat steps S2 to S5.

[0073] The above disclosed equipment scheduling method embodiment of the intelligent warehousing system is based on a multi-threaded scheduling method, and uses an event notification method to trigger equipment scheduling. The equipment status information is no longer stored in a disk database such as MYSQL, ORACLE, etc., but is stored in a memory database such as redis, Memcached, etc., to improve system performance. When each logistics device is converted to a ready state, it will try to trigger the scheduling of other upstream and downstream logistics devices in the relevant subtasks; if multiple devices need to be in a ready state at the same time when scheduling logistics equipment each time, then when the last logistics device in the subtask is converted to a ready state, the logistics equipment scheduling is triggered immediately. This method can greatly reduce the pressure on the database caused by task polling, shorten the time for threads to read and write the database, thereby reducing the time for goods to wait for logistics equipment to pick up goods and the time for logistics equipment to be stationary. After the subtask is generated, when all devices are in a ready state, the purpose of scheduling is immediately executed, thereby improving the overall efficiency of warehousing.

[0074] In other embodiments, a device scheduling apparatus for an intelligent warehousing system is also disclosed, including: a task acquisition module, used to split the in-and-out warehousing task into multiple subtasks, calling the task notification process of each interactive device thread in the first subtask, and the task notification process is used to modify the task mark in the device thread memory in a synchronous manner; a device status polling module, used to poll and read the data information of each interactive device respectively, and obtain the current working status of the interactive device by calling the corresponding device status acquisition algorithm, and the working status of the interactive device includes a ready state or an execution state; a task query module, used to query each subtask whether the corresponding device is used as an upstream device or a downstream device when the working status of the interactive device is obtained as a ready state. The system is used to query the subtask to be executed of the interactive device for the conditional, and if it exists, call the task notification method of the interactive device corresponding to the subtask to adjust the task mark of the interactive device to the first state; the scheduling instruction sending module is used to query the subtask to be executed of the interactive device itself when the working state of the interactive device is the ready state and the device thread determines that its task mark is the first state, and if the subtask to be executed that meets the conditions is queried, check whether the states of all interactive devices in the subtask in the memory database are ready, and if all are in the ready state, issue the scheduling instruction of its own device to trigger the scheduling of the subtask of its own device, otherwise set the task mark in the thread memory to the second state; if the subtask to be executed that meets the conditions is not queried, set the task mark in the thread memory to the second state.

[0075] Preferably, the device status polling module is further configured to suspend the database polling operation and wait for other devices to call the task notification process of the device when the working state of the interactive device is the ready state and its task mark is judged to be the second state.

[0076] It should be noted that the aforementioned embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments, and the same or similar parts between the embodiments can be referred to each other. At the same time, for the navigation system or navigation method or map generation method described in the above embodiments, the mobile transport platform can be a forklift, various AGVs, or other mobile transport platforms, and the transported objects can also be materials, finished products, or other items in the park.

[0077] In some other specific embodiments, a server is disclosed, which is used for equipment scheduling services of intelligent warehousing systems. The server of this embodiment includes a memory, a processor, and a computer program stored in the memory and executable on the processor, such as warehouse management software such as WCS system software. When the processor executes the computer program, the steps in the above-mentioned equipment scheduling method embodiments of each intelligent warehousing system are implemented.

[0078] Exemplarily, the computer program may be divided into one or more modules / units, which are stored in the memory and executed by the processor to implement the present invention. The one or more modules / units may be a series of computer program instruction segments capable of implementing specific functions, which are used to describe the execution process of the computer program in the server.

[0079] The server may include, but is not limited to, a processor and a memory. Those skilled in the art will appreciate that the schematic diagram is merely an example of a server and does not constitute a limitation on the server device, and may include more or fewer components than shown in the diagram, or a combination of certain components, or different components, for example, the server device may also include input and output devices, network access devices, buses, etc.

[0080] The processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc. The processor is the control center of the server device, and uses various interfaces and lines to connect various parts of the entire server device.

[0081] The memory can be used to store the computer program and / or module, and the processor realizes various functions of the server device by running or executing the computer program and / or module stored in the memory, and calling the data stored in the memory. The memory can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one application required for a function, etc. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (SmartMedia Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0082] If the equipment scheduling method of the intelligent warehousing system is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present invention implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.

[0083] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

[0084] In conclusion, the above is only a preferred embodiment of the present invention, and all equivalent changes and modifications made according to the scope of the patent application of the present invention should fall within the scope of the patent of the present invention.

Claims

1. A method for equipment scheduling of an intelligent warehousing system, characterized in that: include: Step S1, split the in-and-out task into multiple subtasks, call the task notification process of each interactive device thread in the first subtask, and the task notification process is used to modify the task mark in the device thread memory in a synchronous manner; extract the starting point and end point information in the in-and-out task, select the optimal cargo route from all optional cargo routes according to the path priority, and decompose according to the device route in the optimal cargo route, decompose each logistics action to each device on the cargo route and form a device subtask and send it to the corresponding logistics device for execution, specifically including: S11, obtaining information of each receiving port and storage port in the warehouse, as well as information of each logistics equipment running between the receiving port and the storage port, and configuring each equipment route; S12, loading each device route configuration into a HashMap data structure. When loading, if a device route configuration is bidirectional and the downstream point is an endpoint or both the upstream and downstream points are intermediate points, then load a corresponding reverse device route configuration. After the loading is completed, the HashMap data structure contains all directed paths of each device route. S13, according to any receiving port and storage port information, traverse the equipment route configuration in the HashMap data structure, and obtain all optional cargo routes connected with the receiving port and storage port as two end points, wherein the optional cargo route is composed of multiple equipment routes connected in series; Step S2, the threads of each device poll and read the data information of each device respectively, and obtain the current working state of the interactive device by calling the corresponding device state acquisition algorithm, wherein the working state of the interactive device includes a ready state or an execution state; Step S3, when a device thread obtains that the working state of its interactive device is the ready state, it queries each subtask whether there is a to-be-executed subtask that uses its own device as an upstream device or a downstream device, and if so, calls the task notification method of the interactive device corresponding to the subtask to adjust the task mark of the interactive device to the first state; Step S4, when the device working state is ready and the device thread determines that its task mark is in the first state, query the own device for the to-be-executed subtask of the interactive device. If a subtask to be executed that meets the conditions is found, check whether the states of all devices in the subtask in the memory database are ready. If all are in the ready state, issue the own device scheduling instruction to trigger the scheduling of the subtask by the own device. Otherwise, set the task mark in the thread memory to the second state; if no subtask to be executed that meets the conditions is found, set the task mark in the thread memory to the second state.

2. The equipment scheduling method of the intelligent warehousing system according to claim 1 is characterized in that: Also includes: Step S5: When the device working state is the ready state and the device thread determines that its task mark is in the second state, the interactive device thread suspends the database polling operation and waits for other devices to call the task notification process of the device.

3. The equipment scheduling method of the intelligent warehousing system according to claim 2 is characterized in that: The equipment route configuration includes but is not limited to the equipment type number of the upstream and downstream points of the equipment route, the equipment route endpoint type, the logistics equipment number, and the equipment running direction. The equipment route endpoint type includes a first endpoint type, a second endpoint type, a third endpoint type, and a fourth endpoint type. The first endpoint type is that both the upstream and downstream points are not cargo route endpoints, the second endpoint type is that the upstream point is a cargo route endpoint and the downstream point is not a cargo route endpoint, the third endpoint type is that the upstream point is not a cargo route endpoint and the downstream point is a cargo route endpoint, and the fourth endpoint type is that both the upstream and downstream points are cargo route endpoints.

4. An equipment scheduling device for an intelligent warehousing system, characterized in that: include: The task acquisition module is used to split the in-and-out task into multiple subtasks, call the task notification process of each interactive device thread in the first subtask, and the task notification process is used to modify the task mark in the device thread memory in a synchronous manner; extract the starting point and end point information in the in-and-out task, select the optimal cargo route from all optional cargo routes according to the path priority, and decompose it according to the device route in the optimal cargo route, decompose each logistics action to each device on the cargo route and form a device subtask and send it to the corresponding logistics device for execution; Obtain the information of each receiving port and storage port in the warehouse, as well as the information of each logistics equipment running between the receiving port and the storage port, and configure each equipment route; load each equipment route configuration into the HashMap data structure. When loading, if an equipment route is configured as bidirectional and the downstream point is the endpoint or the upstream and downstream points are both intermediate points, then load a corresponding reverse equipment route configuration. After loading, the HashMap data structure contains all directed paths of each equipment route; according to the information of any receiving port and storage port, traverse the equipment route configuration in the HashMap data structure to obtain all optional cargo routes connected with the receiving port and storage port as the two end points, wherein the optional cargo route is composed of multiple equipment routes connected in series; the equipment status polling module is used to poll and read the data information of each interactive device respectively, and obtain the current working status of the interactive device by calling the corresponding equipment status acquisition algorithm, and the working status of the interactive device includes the ready state or the execution state; A task query module, used for querying each subtask whether there is a to-be-executed subtask that uses the corresponding device as an upstream device or a downstream device when the working state of the interactive device is obtained to be a ready state, and if so, calling the task notification method of the interactive device corresponding to the subtask to adjust the task mark of the interactive device to the first state; The scheduling instruction sending module is used to query the self-device for the to-be-executed subtask of the interactive device when the working state of the interactive device is the ready state and the device thread determines that its task mark is the first state. If a subtask to be executed that meets the conditions is queried, check whether the states of all interactive devices in the subtask in the memory database are ready. If all are in the ready state, issue the scheduling instruction of the self-device to trigger the scheduling of the subtask of the self-device, otherwise set the task mark in the thread memory to the second state; if no subtask to be executed that meets the conditions is queried, set the task mark in the thread memory to the second state.

5. The equipment scheduling device for an intelligent storage system according to claim 4, characterized in that: The device status polling module is also configured to suspend the database polling operation and wait for other devices to call the task notification process of the device when the working state of the interactive device is the ready state and its task mark is determined to be in the second state.

6. A server comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 3 are implemented.

7. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 3 are implemented.

Citation Information

Patent Citations

  • Multi-pipeline scheduling method for distributed memory database

    CN109086407A

  • Warehousing task processing method and device, warehousing system and storage medium

    CN110286673A