Detailed Description
Exemplary embodiments of the present invention are described below with reference to the accompanying drawings, in which various details of embodiments of the invention are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
As will be appreciated by one skilled in the art, embodiments of the present invention may be embodied as a system, apparatus, device, method, or computer program product. Accordingly, the present disclosure may be embodied in the form of: entirely hardware, entirely software (including firmware, resident software, micro-code, etc.), or a combination of hardware and software.
Fig. 1 is a schematic diagram of main steps of a generation method of a grouping task according to a first embodiment of the present invention.
As shown in fig. 1, the method for generating a grouping task of the present embodiment mainly includes steps S101 to S103 as follows.
Step S101: and configuring relevant attributes of the tasks to be generated, wherein the relevant attributes comprise grouping attributes and task attributes of the tasks to be generated.
Configuring grouping attributes of tasks to be generated specifically comprises: and configuring the corresponding relation between the grouping attribute name and the grouping field name of the task to be generated. The corresponding relation between the configured grouping attribute name and the grouping field name can be stored in a task grouping configuration table.
The task attributes may include variable attributes, and configuring the task attributes of the task to be generated may include: and configuring the corresponding relation between the variable attribute and the attribute value searching information.
The attribute value lookup information may be an SQL (structured query language) statement, which is used to lookup the attribute value set, and the corresponding relationship between the variable attribute and the attribute value lookup information is configured, that is, the corresponding relationship between the variable attribute and the corresponding attribute value set is determined, when a condition needs to be dynamically changed according to a business requirement, the dynamic corresponding relationship between the variable attribute and the corresponding attribute value set can be implemented by modifying the configuration, specifically, only the SQL statement in the configuration needs to be modified, so that when a task is generated, a filtering condition generated by the task is dynamically changed.
A variable attribute refers to an attribute of a task that may have an attribute value that may change dynamically. For example, in an e-commerce warehouse system, in a non-sales promotion period, the source bin where the sales order generation task needs to pick is a picking bin, and then the attribute value set corresponding to the bin screening attribute (a task attribute) of the sales order generation task is a picking bin set. In a large promotion period, the source storage positions required to be picked by the sales order generation task can be picking positions and storage positions, and the attribute value set corresponding to the storage position screening attribute of the sales order generation task needs to be changed into a set of the picking positions and the storage positions. The attribute value corresponding to the bin screening attribute is dynamically changed according to the service requirement, and the attribute is called as a variable attribute.
The storage positions refer to goods shelves for storing goods in the warehouse, and a plurality of storage positions exist under a certain storage area; the picking position refers to a storage position used for picking goods and storing in the warehouse; the storage position refers to a storage position used for storing goods in the warehouse.
The task attributes may further include non-variable attributes, and configuring the task attributes of the task to be generated may further include: configuring attribute values of the non-variable attributes.
The non-variable attribute is relative to the concept of the variable attribute, and refers to an attribute whose attribute value in the task does not need to be dynamically changed, and still takes the e-commerce warehouse system as an example, the non-variable attribute is, for example: the source document type attribute has an attribute value of "sales shipment", a priority attribute, and an attribute value of "1" (priority refers to the order of priority production of different orders, and generally the sales order has the highest priority), and so on.
Step S102: and generating the task according to the configured task attribute.
Step S102 may specifically include determining whether the task to be generated satisfies the generation condition according to the configured attribute value of the task attribute;
and under the condition that the task to be generated meets the generation condition, executing the operation of generating the task on the task to be generated.
For the variable attribute, the step of determining whether the task to be generated meets the generation condition according to the configured attribute value of the task attribute may specifically include:
searching information through the attribute value, and searching the attribute value set of the corresponding variable attribute;
and judging whether an attribute value matched with the attribute value of the task to be generated exists in the searched attribute value set, if so, the task to be generated meets the generation condition, and otherwise, the task to be generated does not meet the generation condition.
For example, the attribute value of the bin screening attribute of a certain sales order generation task is a storage bit, and if the storage bit screening attribute is found out according to the configured bin screening attribute and the storage bit is not included in the attribute value set, the task is determined not to satisfy the generation condition, and is filtered out and cannot generate the task. If the attribute value set is found to include the storage bit according to the configured storage bit screening attribute, the task can be normally generated.
The embodiment of the invention ensures that the task attribute value can be dynamically changed along with the change of the service. For example, in a non-sales promotion period, the source storage position of the sales order generation task, which needs to be picked, is a picking position, so that attribute value search information corresponding to the storage position screening attribute of the task can be configured as an SQL statement for searching the picking position, and the attribute value set searched correspondingly is a picking position set; in a large promotion period, the source storage positions of the sales order generation tasks needing goods picking are the picking positions and the storage positions, attribute value searching information corresponding to the storage position screening attributes of the tasks can be modified into SQL sentences used for searching the picking positions and the storage positions, and attribute value sets correspondingly searched are the picking positions and the storage position sets. The embodiment of the invention only needs to modify the configuration when the task attribute value is changed, can dynamically change the filtering condition generated by the task without modifying codes or re-online systems, better adapts to the service change requirement, reduces the system maintenance and upgrading cost and has good expandability.
For the non-variable attribute, the step of determining whether the task to be generated meets the generation condition according to the configured attribute value of the task attribute may specifically include:
and judging whether the configured attribute value of the non-variable attribute is equal to the attribute value of the task to be generated, if so, the task to be generated meets the generation condition, otherwise, the task to be generated does not meet the generation condition.
The attribute value of the non-variable attribute is not dynamically variable relative to the variable attribute, however, the embodiment of the invention supports multiple related attribute configurations (different attribute values can be configured for the non-variable attribute in different related attributes), and selects a required related attribute configuration according to the service when generating the task, so that the configuration of the non-variable attribute can better adapt to the requirement of service change, and the system maintenance and upgrading cost is reduced.
The determining whether an attribute value matching the attribute value of the task to be generated exists in the searched attribute value set may be used as a first filtering condition for whether the task to be generated is allowed to be generated, determining whether the configured attribute value of the non-variable attribute is equal to the attribute value of the task to be generated, and may be used as a second filtering condition for whether the task to be generated is allowed to be generated, and when the task attribute of the task to be generated is configured, and the variable attribute and the non-variable attribute are both configured, determining whether the task to be generated meets the generation condition, and determining with reference to the first filtering condition and the second filtering condition at the same time, that is, when the task attribute to be generated meets: and if the attribute value matched with the attribute value of the task to be generated exists in the searched attribute value set, and the configured attribute value of the non-variable attribute is equal to the attribute value of the task to be generated, the task to be generated can be judged to meet the generation condition, otherwise, the task to be generated does not meet the generation condition.
Step S103: and grouping the generated tasks according to the configured grouping attributes to obtain grouping tasks.
The step of grouping the generated tasks according to the configured grouping attributes may specifically include:
reading a corresponding grouping field name according to the grouping attribute name of the task to be generated, specifically, obtaining the grouping field name corresponding to the grouping attribute name of the task to be generated from a task grouping configuration table storing the corresponding relation between the grouping attribute name and the grouping field name;
and reading the grouping field value of the generated task corresponding to the grouping field name, and grouping the generated task according to the grouping field value.
The packet field names in the task packet configuration table, and the generated packet field values for the tasks, need to be saved to the database. The attributes in the task table can be dynamically added according to a java reflection mechanism, and corresponding fields in the task table are generated according to the grouping field names and are inserted into the database. All the generated tasks put into the List < Task > (namely, the Task table) are circularly compared with the current Task and the next Task, two Map data structures are respectively assembled, the grouping field names in the Map data structures and the corresponding grouping field values of the generated tasks are stored in a key-value form, the key is the grouping field name, and the value is the corresponding grouping field value. And comparing whether the value values corresponding to the keys in the two maps are consistent or not, and combining the two tasks into a taskGroup (task group) in a consistent manner.
The grouping attribute and the task attribute of the embodiment of the invention can be configured according to the service requirement, thereby overcoming the defect that the prior art can only modify codes and re-online the system when the filtering condition needs to be changed.
The generation method of the grouping task of the present invention is further described below by taking the e-commerce logistics warehousing system as an example.
In the e-commerce logistics warehousing system, a task refers to some basic operations of a warehouse on goods, such as: warehousing commodities, namely a shelving task; the commodity is delivered out of the warehouse, namely, a task of putting the commodity off the shelf; moving the commodity, namely moving the task; the isolation of the goods is an isolation task, and the present embodiment takes a sales export task as an example.
FIG. 2 is a task engine interface diagram according to a second embodiment of the present invention. The task engine is used for configuring and storing the relevant attributes of the tasks to be generated.
As shown in fig. 2, the task to be generated is a sales delivery task, and both the goods screener and the storage place screener are task attributes, where the goods screener represents a goods screening attribute, and the storage place screener represents a storage place screening attribute, the task engine is only configured with the storage place screener, and the goods screener is configured to be empty (indicating that no goods screening attribute is configured), and the attribute values of the storage place screening attribute are "storage place and picking place", which are obtained through a data screener configuration table corresponding to the storage place screener. The data filter configuration table (or called data filter table, mst _ data _ filter table) stores the corresponding relationship between the configured storage location screening attribute and the attribute value lookup information, the attribute value lookup information is used for looking up the attribute value set, and the corresponding storage location information can be obtained according to the SQL condition configured in the data filter configuration table, which is described in detail in the introduction of fig. 3 to the data filter configuration table below.
The group names 1, 2, 3, 4 and 5 are all group attributes, wherein only the group field names of the group names 1, 2 and 3 are configured in the task engine: "wave _ no", "section _ no", "zone _ no". The group attributes indicating the configuration of the sales export task include group name 1, group name 2, and group name 3. Packet names and packet field names may be dynamically added if traffic demands change.
Some non-variable attributes are also configured in the task engine according to business needs, including: the type of the source document is 'sales delivery', the priority is '1' (the priority refers to the order of preferential production of different orders, and usually the priority of the sales order is highest), 'yes' is not thrown again, 'manual release' of a release mode, 'on-shelf' of a task type, 'quantity of commodities in a stock area' of the maximum number of tasks, and the like, and information such as a task engine number, a task engine description, and the like, and some attributes (such as a goods owner and the like) which are not needed for the current sales delivery task can not be configured.
According to the method, tasks such as picking, shelving, moving, replenishing and the like and task groups (grouping tasks) can be generated through a dynamic and configurable task engine according to specific services, so that the expandability of the system is improved, and the warehouse production and picking efficiency is greatly improved.
FIG. 3 is a diagram illustrating a configuration table of a data filter according to a third embodiment of the present invention.
As shown in fig. 3, the data filter configuration table of this embodiment includes a warehouse code (for identifying a warehouse corresponding to this data filter configuration table), a filter code (for identifying this data filter configuration table), a filter code description, a shipper (for example, an e-commerce platform self-service merchant or a third party merchant, this is an embodiment, this item is empty, which indicates not configured), a source table, a complete statement, a remark (this embodiment is not configured), and other configurable items. The filter code is described as a storage bit filter, which indicates that the data filter configuration table is used for setting the corresponding relationship between the task attribute of the storage bit filter and the attribute value lookup information. The source table represents a source database table that stores attribute values. The complete statement is an SQL statement, that is, attribute value lookup information, which is used to lookup the attribute value set, and the configuration value (SQL statement) of the complete statement in this embodiment is merely an example, which indicates that the attribute value set of the task attribute of the storage bit filter is looked up from the mst _ location table (database table name) through the SQL statement. And storing the configuration values of the items. When the task generating condition needs to be changed, only the SQL statement needs to be modified.
It will be appreciated by those skilled in the art that depending on the actual service, a plurality of different data filter configuration tables may be configured in accordance with the above-described method.
The embodiment of the invention can store the corresponding relation between the grouping attribute name and the grouping field name of the task to be generated through the task grouping configuration table. Fig. 4 is a diagram of a task grouping configuration table according to a fourth embodiment of the present invention.
As shown in fig. 4, the task grouping configuration table (task _ group _ attribute table) is configured with a group name 1, a group name 2, a group name 3, and corresponding group field names "wave _ no", "section _ no", and "zone _ no", where "wave _ no" represents a warehouse delivery order number, "section _ no" represents a warehouse number, "zone _ no" represents a depot number, the depot number is a number of a vehicle to which the order delivery of the e-commerce system is delivered, the warehouse number is a number of the warehouse, and the depot number is a depot number where a product is stored in the warehouse. When grouping tasks, it is necessary to record, in addition to the group field names and the corresponding group field values of the tasks (here, the tasks 1 to 3 are taken as examples) in the database, the group field names and the corresponding group field values are, for example:
task1:wave_no:"wave_2018091601",section_no:"1",zone_no='A',
task2:wave_no:"wave_2018091601",section_no:"1",zone_no=’B’,
task3:wave_no:"wave_2018091601",section_no:"2",zone_no='c',
when the generated tasks are grouped, because the field values of zone _ no of task1 and task2 are different, and the field values of section _ no and zone _ no of task2 and task13 are different, the tasks with the same grouping field values can be automatically calculated and divided into three groups according to a rule of grouping the tasks into one group. Assuming that the sales export task of this embodiment is one of task1 to task3, the group of sales export tasks may be determined, all tasks to be generated are grouped according to the above method, and finally, a grouping task is generated.
Fig. 5 is a schematic diagram of a generation flow of a grouping task according to a fifth embodiment of the present invention. As shown in fig. 5, the generation flow of the grouping task is specifically as follows: first, a data filter configuration table and a task grouping configuration table are configured (step S501), then a task engine is configured (including configuring the data filter configuration table and other attributes displayed by a task engine interface) (step S502), attribute values of the attributes configured in the task engine are read (step S503), a task is generated according to the attribute values, and the generated task is grouped (step S504). Wherein, generating tasks and grouping the generated tasks need to read the contents configured in the data filter configuration table and the task grouping configuration table.
In this embodiment, if a certain attribute value corresponds to an attribute (variable attribute) that dynamically changes a condition, SQL corresponding to the attribute may be used as a query for a conditional access task engine, and the corresponding statement may be in the following form, for example: select from _ fragment _ engine field in ($ { locationSql }) to find the attribute value corresponding to the attribute of the dynamically changing condition through the data filter configuration table. When the task is generated, if the non-variable attribute meets the condition value equality (namely the attribute value of the task to be generated is equal to the configured attribute value), the task can be generated.
The task attribute and the grouping attribute of the embodiment can be flexibly configured and dynamically expanded, the dynamic change business requirements are adapted, the goods picking efficiency of the warehouse is improved, and the expandability of the system is enhanced. The embodiment of the invention is not only suitable for warehouse e-commerce logistics warehousing systems, but also suitable for other systems with production tasks, different systems only need to set corresponding task attributes and task group names, and the realization principle can be universal.
Fig. 6 is a schematic diagram of main blocks of a grouping task generation apparatus according to an embodiment of the present invention.
As shown in fig. 6, the grouping task generating device 600 of the present embodiment mainly includes: an attribute configuration module 601, a task generation module 602, and a task grouping module 603.
The attribute configuration module 601 is configured to configure relevant attributes of the task to be generated, where the relevant attributes include a grouping attribute and a task attribute for configuring the task to be generated.
The task attribute includes a variable attribute, and the attribute configuration module 601 may include a first task attribute configuration unit: the method is used for configuring the corresponding relation between the variable attribute and the attribute value searching information.
The task attribute includes a non-variable attribute, and the attribute configuration module 601 may further include a second task attribute configuration unit: for configuring attribute values of non-variable attributes.
The attribute configuration module 601 may further include a grouping attribute configuration unit configured to: configuring the corresponding relation between the grouping attribute name and the grouping field name of the task to be generated
And a task generating module 602, configured to generate a task according to the configured task attribute.
The task generating module 602 may include a first judging unit configured to:
searching information through the attribute value, and searching the attribute value set of the corresponding variable attribute;
and judging whether an attribute value matched with the attribute value of the task to be generated exists in the attribute value set, if so, the task to be generated meets the generation condition, otherwise, the task to be generated does not meet the generation condition.
The task generating module 602 may further include a second judging unit, configured to:
and whether the configured attribute value of the non-variable attribute is equal to the attribute value of the task to be generated or not, if so, the task to be generated meets the generation condition, otherwise, the task to be generated does not meet the generation condition.
The task generating module 602 may be specifically configured to: judging whether the task to be generated meets the generation condition or not according to the configured attribute value of the task attribute; and executing the operation of generating the task to be generated under the condition that the task to be generated meets the generating condition.
And a task grouping module 603, configured to group the generated tasks according to the configured grouping attributes to obtain grouping tasks.
The task grouping module 603 may be specifically configured to: reading a corresponding grouping field name according to the grouping attribute name of the task to be generated; and reading the grouping field value of the generated task corresponding to the grouping field name, and grouping the generated task according to the grouping field value.
In addition, in the embodiment of the present invention, the detailed implementation of the grouping task generating device has been described in detail in the above grouping task generating method, and therefore, the repeated content will not be described again.
Fig. 7 shows an exemplary system architecture 700 of a method or apparatus for generating a grouped task to which an embodiment of the present invention can be applied.
As shown in fig. 7, the system architecture 700 may include terminal devices 701, 702, 703, a network 704, and a server 705. The network 704 serves to provide a medium for communication links between the terminal devices 701, 702, 703 and the server 705. Network 704 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
A user may use the terminal devices 701, 702, 703 to interact with a server 705 over a network 704, to receive or send messages or the like. Various communication client applications, such as a search-type application, etc. (for example only), may be installed on the terminal devices 701, 702, 703.
The terminal devices 701, 702, 703 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
The server 705 may be a server providing various services, such as a background management server (for example only) providing support for websites browsed by users using the terminal devices 701, 702, 703. The background management server can analyze and process the received data such as the query request and feed back the processing result to the terminal equipment.
It should be noted that the method for generating the grouping task provided by the embodiment of the present invention is generally executed by the server 705, and accordingly, the generating device for the grouping task is generally disposed in the server 705.
It should be understood that the number of terminal devices, networks, and servers in fig. 7 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring now to FIG. 8, shown is a block diagram of a computer system 800 suitable for use in implementing a server according to embodiments of the present application. The server shown in fig. 8 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
As shown in fig. 8, the computer system 800 includes a Central Processing Unit (CPU)801 that can perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)802 or a program loaded from a storage section 808 into a Random Access Memory (RAM) 803. In the RAM 803, various programs and data necessary for the operation of the system 800 are also stored. The CPU 801, ROM 802, and RAM 803 are connected to each other via a bus 804. An input/output (I/O) interface 805 is also connected to bus 804.
The following components are connected to the I/O interface 805: an input portion 806 including a keyboard, a mouse, and the like; an output section 807 including a signal such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage portion 808 including a hard disk and the like; and a communication section 809 including a network interface card such as a LAN card, a modem, or the like. The communication section 809 performs communication processing via a network such as the internet. A drive 810 is also connected to the I/O interface 805 as necessary. A removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 810 as necessary, so that a computer program read out therefrom is mounted on the storage section 808 as necessary.
In particular, according to the embodiments of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication section 809 and/or installed from the removable medium 811. The computer program executes the above-described functions defined in the system of the present application when executed by the Central Processing Unit (CPU) 801.
It should be noted that the computer readable medium shown in the present invention can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present application, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In this application, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present invention may be implemented by software or hardware. The described modules may also be provided in a processor, which may be described as: a processor includes an attribute configuration module, a task generation module, and a task grouping module. The names of these modules do not in some cases form a limitation on the module itself, for example, the attribute configuration module may also be described as a "module for configuring relevant attributes of a task to be generated".
As another aspect, the present invention also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be separate and not incorporated into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to comprise: configuring relevant attributes of a task to be generated, wherein the relevant attributes comprise a grouping attribute and a task attribute of the task to be generated; generating a task according to the configured task attribute; and grouping the generated tasks according to the configured grouping attributes to obtain grouping tasks.
According to the technical scheme of the embodiment of the invention, the tasks are generated according to the configured task attributes, and the generated tasks are grouped according to the configured grouping attributes to obtain the grouping tasks. The dynamic configuration of the task attribute and the grouping attribute is realized, when the task attribute value and the grouping attribute are changed, only the configuration needs to be modified, the grouping task can be flexibly generated without modifying codes and re-online of the system, the filtering condition can be dynamically changed when the task attribute value is changed, the service change requirement is adapted, the system maintenance and upgrading cost is reduced, the expandability is good, and the task production efficiency is high.
The above-described embodiments should not be construed as limiting the scope of the invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions can occur, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.