CN111161437A - General receiving, subscribing and distributing method and system for logistics box codes - Google Patents

General receiving, subscribing and distributing method and system for logistics box codes Download PDF

Info

Publication number
CN111161437A
CN111161437A CN201911229648.5A CN201911229648A CN111161437A CN 111161437 A CN111161437 A CN 111161437A CN 201911229648 A CN201911229648 A CN 201911229648A CN 111161437 A CN111161437 A CN 111161437A
Authority
CN
China
Prior art keywords
box
box code
code
codes
receiving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911229648.5A
Other languages
Chinese (zh)
Inventor
张彬
来彬彬
顾龙成
胡仁超
王根村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Suning Logistics Co ltd
Original Assignee
Jiangsu Suning Logistics Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Suning Logistics Co ltd filed Critical Jiangsu Suning Logistics Co ltd
Priority to CN201911229648.5A priority Critical patent/CN111161437A/en
Publication of CN111161437A publication Critical patent/CN111161437A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00016Relations between apparatus, e.g. franking machine at customer or apparatus at post office, in a franking system
    • G07B17/0008Communication details outside or between apparatus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00185Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
    • G07B17/00314Communication within apparatus, personal computer [PC] system, or server, e.g. between printhead and central unit in a franking machine
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00733Cryptography or similar special procedures in a franking system
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00016Relations between apparatus, e.g. franking machine at customer or apparatus at post office, in a franking system
    • G07B17/0008Communication details outside or between apparatus
    • G07B2017/00153Communication details outside or between apparatus for sending information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a general receiving, subscribing and distributing method and a general receiving, subscribing and distributing system for logistics box codes.A general box code data structure is adopted to store operation state data of each box code, and box code receiving, box code subscribing and box code issuing are completed; wherein, the case sign indicating number is received: inserting the box code information in the queue into a database by using the algorithm peak clipping based on the lock-free queue; and (3) subscribing the box code: using groovy expression to realize the subscription of the box code by taking the attribute of the box code as dimension; and (3) issuing a box code: and (4) clipping peaks by using an algorithm based on a lock-free queue and smoothly transmitting box code information in the queue. The invention realizes smooth receiving/distributing of information such as logistics box code information, box code state and the like in a high concurrency environment.

Description

General receiving, subscribing and distributing method and system for logistics box codes
Technical Field
The invention belongs to the technical field of enterprise logistics, and particularly relates to a general receiving, subscribing and dispatching method and system for a logistics box code.
Background
The box code is one of the core entity carriers of logistics, and the information of the box code in the current logistics industry is scattered in each subsystem of the complicated logistics, so that the box code is not convenient to manage, and meanwhile, valuable data are collected in a centralized manner and are also difficult to realize.
Traditional box code circulation is rigidly distributed among all logistics operation systems, box codes cannot be flexibly distributed according to idle and busy hours of operation, and impact on downstream operation can be caused when loads of upstream and downstream systems are different. And at present, a universal box code data structure is lacked, and the new three-party logistics box code access is difficult to be compatible.
Disclosure of Invention
The invention aims to provide a general receiving, subscribing and dispatching method and a general receiving, subscribing and dispatching system for logistics box codes.
The technical solution for realizing the purpose of the invention is as follows: a general receiving, subscribing and distributing method for logistics box codes is characterized in that a general box code data structure is adopted to store operation state data of each box code, and box code receiving, box code subscribing and box code issuing are completed; wherein
Receiving box codes: inserting the box code information in the queue into a database by using the algorithm peak clipping based on the lock-free queue;
and (3) subscribing the box code: using groovy expression to realize the subscription of the box code by taking the attribute of the box code as dimension;
and (3) issuing a box code: and (4) clipping peaks by using an algorithm based on a lock-free queue and smoothly transmitting box code information in the queue.
A general receiving, subscribing and distributing system for logistics box codes comprises:
the receiving module is used for performing peak clipping processing on the box code message by using a lock-free queue, deploying the box code message to a distributed willfly cluster, and adding a ZK cluster and a service management cluster after starting;
the box code subscription management module is used for deploying a groovy expression as a rule engine to the distributed willfly cluster, and adding the ZK cluster after starting;
and the box code issuing module performs current limiting processing on the box code message by using the lock-free queue, deploys the box code message to the distributed willfly cluster, and adds the ZK cluster after starting.
Compared with the prior art, the invention has the following remarkable advantages: (1) the performance quality is improved: the box code service realizes smooth receiving in a high concurrency environment and distributes information such as logistics box code information and box code states; (2) system decoupling, reduction research and development cost: before using the box code service, when a new operation system or other systems need to be accessed, main operation systems such as storage, transportation, allocation, charging and the like need to be coordinated to develop respective box code issuing functions, and only the required box code related indexes need to be configured after the box code system is adopted, so that the box code can be obtained in real time; (3) high availability and maintainability: if the downstream operating system encounters a fault and cannot process the box code data, the receiving can be immediately stopped without worrying about the loss of the upstream operating data, the box code receiving processing is restarted after the recovery, and the issuing threshold value of the box code system can be flexibly adjusted when the processing capacity of the downstream operating system encounters a bottleneck, so that the downstream operating system is not impacted; (4) traceability: when meeting business disputes and needing arbitration, the upstream and downstream systems can acquire box code information approved by both senders through the box code system.
Drawings
Fig. 1 is a schematic diagram of box code service and logistics periphery.
Fig. 2 is a schematic diagram of bin code reception.
Fig. 3 is a schematic diagram of box code issuing.
Fig. 4 is a schematic diagram of a threshold comparison process during box code reception.
FIG. 5 is a schematic view of a configuration operation interface.
Detailed Description
A general receiving, subscribing and distributing method for logistics box codes adopts a general box code data structure to store operation state data of each box code, and completes box code receiving, box code subscribing and box code issuing, wherein
Receiving box codes: inserting the box code information in the queue into a database by using the algorithm peak clipping based on the lock-free queue;
and (3) subscribing the box code: using groovy expression to realize the subscription of the box code by taking the attribute of the box code as dimension;
and (3) issuing a box code: and (4) clipping peaks by using an algorithm based on a lock-free queue and smoothly transmitting box code information in the queue.
Further, the lock-free queue algorithm for thread security specifically includes:
defining an object array with thread safety;
head and tail of the initialized queue both point to the 0 subscript of the array;
and (3) queue put operation: if the tail is smaller than the length of the array, the head position of the array is put, the tail is automatically increased by 1 and the operation is returned to be successful, otherwise, the operation is returned to be failed;
queue get operation: if the head is equal to tail, then returning a null object, otherwise, taking and setting the object at the tail position to null, and increasing the head by 1 and returning the object.
Furthermore, all operations in the lock-free queue algorithm are atomic operations, when the lock-free queue algorithm is used, put operations write data, and get operations read data.
Furthermore, when the box codes are received, comparing the size N of the box code message containing the inner layer box codes with the maximum threshold value M of the single box code containing the inner layer box codes, and if N is larger than M, inserting the box code message into the database by adopting a ready-made safe lock-free queue algorithm; if N is less than or equal to M, splitting the data into a plurality of inner layer box codes and inserting the inner layer box codes into the database.
Further, by using a groovy expression, the attribute of the box code is used as a dimension to realize the subscription of the box code, which specifically comprises:
the attributes of the box code include a box code type (boxType), whether the box is (isWorkBin), a packing object (packagObject), an inner-layer box code number (items. size), an origin station (originSite), a source system (originSys), and a carrier (lifnr), and if a certain system needs to subscribe all box codes containing inner-layer box codes, a box BaseInfo.items. size () >0 expression is defined as a rule, a groove engine filters the box code information, and then the box codes conforming to the rule are issued.
Furthermore, when the box code is issued, the algorithm based on the lock-free queue is used for peak clipping and the box code information in the queue is smoothly issued.
Furthermore, the universal box code data structure takes a box code number as a main key and is divided into a box code head and box codes items, wherein the box code head is the basic attribute of the box code, and the box codes items are the detailed information set of the inner-layer package of the box code. The method comprises reading the information of the container terminal
boxCode box
addTag: adding a list mark, adding a list to the X mark, and adding a list to the null mark
BOL BOL number
boxLife: box stacking finished running water
boxType: case code type, 61-delivery package, 62-customer package, 63-shipping package, 64-bulk package, 65-shipping package, 66-merge customer package, 71-return delivery package, 72-return customer package, 81-delivery difference label, 82-return difference label
boxWeight: case weight
cPTrackingNum CP cooperative express number
date of date
destination
expired date
if the ifWorkbin is the bin 1-bin; 0-non-bin
imodel operation identification, wherein: d-deletion; i-insertion; u-update
items:
InnerBox, next layer of packaging
InnerItem nexine packaging line item number
InnerType inner layer packaging type, 01-box code; 02 delivery order
InStockSit warehousing site
lifnr express company number
ManageSysOrder scheduling System sheet number
next site of nextStation
number, i.e. number of goods packed in box
number Unit
orderMon Men number
originSite originator
originSys-derived system
packageObject wraps object: 01-B2B; 02-B2C; 03-returning to the factory; 04-procurement intermodal transportation
PackArea packing region
pack height Package height/Box height
PackLength Package Length/case Length
Number of packNum packing materials
packType packing material type
packavVolume packing volume/box volume
packagdidth package width/box width
person of person
plan unpacking ground for planSplit
product commodity
product name
product num box number
ScanFlage code scanning identification warehouse notification allocation
sonmutag master-slave designation, numerator/denominator format
Assembling and disassembling box identification by using split sign, and carrying out X-boxing; y-unpacking
taskloder task sheet number
time
unit: fixed value CM N
volume unit of volume: fixed value CCM (cubic centimeter)
weight Unit: fixed value KG (kilogram)
zkeyMot face single master coding
zkeySon face singleton coding
Further, the present invention automatically adjusts the receive and dispatch throughput based on the time period and the amount of data received in the bin during that period.
The invention also provides a general receiving, subscribing and distributing system for the logistics box codes, which comprises the following steps:
the receiving module is used for performing peak clipping processing on the box code message by using a lock-free queue, deploying the box code message to a distributed willfly cluster, and adding a ZK cluster and a service management cluster after starting;
the box code subscription management module is used for deploying a groovy expression as a rule engine to the distributed willfly cluster, and adding the ZK cluster after starting;
and the box code issuing module performs current limiting processing on the box code message by using the lock-free queue, deploys the box code message to the distributed willfly cluster, and adds the ZK cluster after starting.
Deploying Mysql clusters and Redis clusters of box code service, storing box code data in a box code master table in a mode of performing hash operation on box codes and performing branch table routing, providing distributed lock and rule issuing caching capacity by Redis, and deploying hbase clusters as data archiving;
the box code receiving module and the box code issuing module have mutual compensation capacity, when the Mysql is abnormal in single-point downtime during storing the received box code data, the Redis stores abnormal data and puts the box codes into a warehouse again after the Mysql is recovered through a scheduling task; and when the Redis downtime can not read the issuing rule, reading the issuing rule through Mysql.
The present invention will be described in detail with reference to examples.
Examples
A general receiving, subscribing and distributing method for logistics box codes comprises three parts of box code receiving, subscribing specific box codes and box code issuing:
(1) box code receiving
The box code system is a nested structure, for example, a container is a box code, the interior of the container contains a large number of inner-layer box codes, and the box code information of the whole container cannot be split in order to ensure the convenience of box code acquisition, so that the size of the whole box code message is very large, if a plurality of containers simultaneously have box code state changing operations such as outbound and inbound, extremely large IO pressure is generated on a database in a short time, the box code service utilizes an algorithm based on a lock-free queue to peak and enables the box code information in the queue to be smoothly inserted into the database to solve the problem, and the box code receiving process is shown in fig. 2.
(2) Subscribing to a particular case code
The box codes are used as public data of a logistics large system, each subsystem needs to extract a part of specific box codes needed by the subsystem, and business requirements are changeable at any time, so that box codes are extracted according to specific business rules flexibly and in real time, box code service utilizes groovy expressions to realize specific business subscription of the box codes according to the attributes of the box codes and the dimensions, for example, after-sale logistics systems only need to subscribe returned goods delivery packages (71 codes) and returned goods customer packages (72 codes), only the expressions of the box codes (71,72) need to be configured in the box code service, and if the customers need the returned goods packages (62 codes), the formulas are changed into the box codes (71,72,62) to be immediately effective. The configuration operational interface is shown in fig. 5.
(3) Box code issuing
At present, a producer (production end) issues data through a message queue, a consumer (consumption end) solves the problem of peak performance by itself, or the consumer (consumption end) depends on the message queue to store data which cannot be processed in time, for example, a new system with TPS design capacity of only 200 subscribes a large number of box codes, and the consequence is that the new system is down or a message cluster bears pressure; the box code service of the invention solves the problem by peak clipping based on the algorithm of the lock-free queue and smoothly issuing the box code information in the queue, and the box code issuing process is shown in figure 3.
The invention designs a data structure of the universal logistics box code, so that plug and play can be realized when any third-party logistics and operation system and big data analysis system are accessed.
The code data structure of the general logistics box is as follows:
Figure BDA0002303181170000061
Figure BDA0002303181170000071
Figure BDA0002303181170000081
in the table, Y represents a required fill, and N represents not a required entry.
The lock-free queue algorithm realizes the separation of the write queue and the read queue safely in a queue, the receiving and the warehousing of the message object nodes are not influenced mutually, the problem is solved by utilizing the characteristic of the lock-free queue, and as shown in figure 4, the method for processing the receiving box code is as follows:
a) the number of inner layer box codes under the common operation box code within 1 second is less than 200 (configurable), and data is normally recorded.
b) The number of inner layer box codes under large-scale operation box codes (such as cage cars and containers) in 1 second is more than 200 (configurable), and the inner layer box codes are stored in a lock-free queue and are delayed for processing according to the rate of 100 (configurable) box codes in 1 second.
c) The threshold values of the scenes are configured, and can be configured according to the hardware condition of the system and take effect in real time.
The lock-free queue algorithm for thread security is as follows:
(1) defining an object array with thread safety;
(2) both head and tail of the initialized queue point to the 0 index of the array;
(3) if the tail is smaller than the length of the array, putting the head position of the array, automatically increasing the tail by 1 and returning to the operation success, otherwise, returning to the operation failure;
(4) the get method for realizing the queue comprises the following steps: if the head is equal to tail, then returning a null object, otherwise, taking and setting the object at the tail position to null, and increasing the head by 1 and returning the object.
When the method is used, put operation writes data, and get operation reads data.
The technical scheme of the invention can solve the following technical problems:
general case code data structure: the logistics box yard all has a different case yard operation state data in each system from storage circulation to transportation, and the packing unit system can receive each case yard operation state data to the storage of general case yard data structure is automatically dispatched to the low reaches destination.
The box code service realizes smooth receiving in a high concurrency environment and distributes information such as logistics box code information and box code states; receiving end: the single day can support the state of 3000 ten thousand boxes and more than 1 hundred million boxes; the following ends are initiated: 1 hundred million box codes and box code state subscription and issuing can be supported on a single day, and performance problems of high IO (input/output) of a database, CPU (central processing unit) local, memory overflow and the like are avoided;
before using the box code service, each time a new operation system or other systems need to be accessed, the main operation systems such as storage, transportation, allocation, charging and the like need to be coordinated to develop respective box code issuing functions, and only the required box code related indexes need to be configured after the box code system is adopted, so that the box code can be obtained in real time, as shown in fig. 1.
Smooth receive and dispatch: according to the time period and the data volume of the receiving box code in the period, the receiving and dispatching throughput is automatically adjusted to keep the receiving and dispatching throughput within a reasonable performance interval, and idle running and blocking of system hardware resources are avoided.
The compensation mechanism comprises: and (4) supporting the logistics operation system to supplement and send the lost box code information.
Arbitration capability: and an accurate box code and box code state data interface is provided for upstream and downstream operation, and the upstream and downstream systems can acquire box code information approved by both parties through the box code system when meeting service disputes and needing arbitration.
Access configuration: and each operating system or data analysis system can obtain corresponding operating data through the configuration of the rule engine.
If the downstream operation system encounters a fault and cannot process the box code data, the receiving can be immediately stopped without worrying about the loss of the upstream operation data, the box code receiving processing is restarted after the recovery, and when the processing capacity of the downstream operation system encounters a bottleneck, the issuing threshold value of the box code system can be flexibly adjusted, so that the downstream operation system is ensured not to be impacted.
The following describes specific steps of the dispatch process of the present invention with reference to application examples:
step 1, deploying Mysql clusters and Redis clusters of box code service, wherein a single node adopts a master node and a slave node and comprises a plurality of nodes, a box code master table stores box code data in a mode of performing hash operation on box codes and performing sub-table routing, Redis provides capabilities of distributed locking, rule issuing, caching and the like, deploying hbase clusters as data archiving, Mysql only retains box code data in two months, and periodically archiving two monthly data into hbase through a scheduling task.
And 2, the receiving module performs peak clipping processing on the box code message by using a lock-free queue, makes the box code receiving module into a war packet, deploys the war packet to the distributed willfly cluster, and adds the ZK cluster and the service management cluster after starting.
And 3, the box code subscription management module uses the groovy expression as a rule engine, makes the subscription management module into a war package, deploys the war package to the distributed willfly cluster, and adds the ZK cluster after starting.
And 4, the issuing module performs current limiting processing on the box code message by using a lock-free queue, and the box code receiving module is packaged into a war packet, deployed to the distributed willfly cluster, and added into the ZK cluster after being started.
Step 5, configuring a subscription rule in the box code subscription module, for example, if the after-sales system only needs the customer-related box code-returned delivery package (71 code) and returned customer package (72 code), then configuring a rule expression boxType in (71,72) to immediately obtain such box code, if the service tps of the after-sales system processing box code is 500, configuring the ZK parameter as _ box _ base _ send _ size of the after-sales receiving box code threshold as 500, and thus issuing the ZK parameter without impact on the after-sales system.
Step 6, the box code receiving and issuing modules have high availability and the capacity of mutual compensation, for example, when the Mysql is abnormal in single point downtime during storing the received box code data, the Redis stores abnormal data and puts the box codes into a warehouse again after the Mysql is recovered through a scheduling task; when the Redis downtime can not read the issuing rule, the issuing rule can be read through Mysql; therefore, the receiving and the issuing of the box codes are ensured to the maximum extent, and data cannot be lost when a single point of application is down.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the embodiments provided herein may include non-volatile and/or volatile memory, among others. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus Direct RAM (RDRAM), direct bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (10)

1. A general receiving, subscribing and distributing method for logistics box codes is characterized in that a general box code data structure is adopted to store operation state data of each box code, and box code receiving, box code subscribing and box code issuing are completed, wherein
Receiving box codes: adopting an algorithm based on a lock-free queue to carry out peak clipping, and inserting box code information in the queue into a database;
and (3) subscribing the box code: using groovy expression to realize the subscription of the box code by taking the attribute of the box code as dimension;
and (3) issuing a box code: and (4) clipping peaks by adopting an algorithm based on a lock-free queue and smoothly transmitting box code information in the queue.
2. The method for universal receiving, subscribing and dispatching logistics box codes as recited in claim 1, wherein the lock-free queue-based algorithm is specifically:
defining an object array with thread safety;
head and tail of the initialized queue both point to the 0 subscript of the array;
and (3) queue put operation: if the tail is smaller than the length of the array, the head position of the array is put, the tail is automatically increased by 1 and the operation is returned to be successful, otherwise, the operation is returned to be failed;
queue get operation: if the head is equal to tail, then returning a null object, otherwise, taking and setting the object at the tail position to null, and increasing the head by 1 and returning the object.
3. The method for dispatching universal receiving subscriptions of logistics box codes as recited in claim 2, wherein all operations in the algorithm based on the lock-free queue are atomic operations, and when in use, put operations write data and get operations read data.
4. The universal receiving, subscribing and dispatching method for logistics box codes according to claim 1, characterized in that, when receiving the box codes, the box code message size N containing the inner layer box codes is compared with the maximum threshold value M of the single box code containing the inner layer box codes, if N > M, the ready-made safe lock-free queue algorithm is adopted to insert into the database; if N is less than or equal to M, splitting the data into a plurality of inner layer box codes and inserting the inner layer box codes into the database.
5. The universal receiving subscription distribution method of logistics box codes as claimed in claim 1, wherein the attributes of box codes include box code type, whether bin is present, packaging object, number of inner layer box codes, origin station, origin system and carrier.
6. The method for distributing generic receiving subscriptions for logistics box codes according to claim 1, wherein the generic box code data structure is divided into a box code head and box codes items by taking a box code number as a primary key, the box code head is a basic attribute of the box code, and the box codes items is a detailed information set of an inner package of the box code.
7. The universal receiving subscription distribution method for logistics box codes as recited in claim 1, wherein the receiving and distribution throughput is automatically adjusted according to the time period and the amount of the logistics box codes within the time period.
8. A general receiving, subscribing and distributing system for logistics box codes is characterized by comprising the following components:
the receiving module is used for performing peak clipping processing on the box code message by using a lock-free queue, deploying the box code message to a distributed willfly cluster, and adding a ZK cluster and a service management cluster after starting;
the box code subscription management module is used for deploying a groovy expression as a rule engine to the distributed willfly cluster, and adding the ZK cluster after starting;
and the box code issuing module performs current limiting processing on the box code message by using the lock-free queue, deploys the box code message to the distributed willfly cluster, and adds the ZK cluster after starting.
9. The system for universal receiving, subscribing and dispatching logistics box codes as recited in claim 8, wherein Mysql and Redis clusters of box code services are deployed, the box code master table stores the box code data in a manner of hash operation sub-base sub-table routing on the box codes, the Redis provides distributed lock, rule issuing caching capability, and the hbase cluster is deployed for data archiving.
10. The system for universal receiving, subscribing and dispatching logistics box codes according to claim 9, wherein the box code receiving module and the box code issuing module have mutual compensation capability, and when Mysql saves the received box code data and has a single point downtime anomaly, the Redis saves the anomaly data and puts the box codes in storage again after the Mysql is restored through the scheduling task; and when the Redis downtime can not read the issuing rule, reading the issuing rule through Mysql.
CN201911229648.5A 2019-12-04 2019-12-04 General receiving, subscribing and distributing method and system for logistics box codes Pending CN111161437A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911229648.5A CN111161437A (en) 2019-12-04 2019-12-04 General receiving, subscribing and distributing method and system for logistics box codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911229648.5A CN111161437A (en) 2019-12-04 2019-12-04 General receiving, subscribing and distributing method and system for logistics box codes

Publications (1)

Publication Number Publication Date
CN111161437A true CN111161437A (en) 2020-05-15

Family

ID=70556383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911229648.5A Pending CN111161437A (en) 2019-12-04 2019-12-04 General receiving, subscribing and distributing method and system for logistics box codes

Country Status (1)

Country Link
CN (1) CN111161437A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1705947A (en) * 2003-10-24 2005-12-07 微软公司 Service discovery and publication
CN104468818A (en) * 2014-12-24 2015-03-25 福建江夏学院 Service processing system and method for internet of things
CN107888682A (en) * 2017-11-09 2018-04-06 北京许继电气有限公司 Heterogeneous system data interactive method and system based on industrial interconnection platform
CN107943992A (en) * 2017-12-01 2018-04-20 宁波瓜瓜农业科技有限公司 The distributed storage method of electric business platform base merchandise news
CN109617829A (en) * 2018-11-01 2019-04-12 阿里巴巴集团控股有限公司 A kind of processing method of service request data, apparatus and system
CN109684416A (en) * 2018-11-13 2019-04-26 国电南京自动化股份有限公司 A kind of high concurrent real-time history data storage system
CN110008241A (en) * 2019-03-01 2019-07-12 北京招通致晟科技有限公司 Fine granularity exchange system and method based on data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1705947A (en) * 2003-10-24 2005-12-07 微软公司 Service discovery and publication
CN104468818A (en) * 2014-12-24 2015-03-25 福建江夏学院 Service processing system and method for internet of things
CN107888682A (en) * 2017-11-09 2018-04-06 北京许继电气有限公司 Heterogeneous system data interactive method and system based on industrial interconnection platform
CN107943992A (en) * 2017-12-01 2018-04-20 宁波瓜瓜农业科技有限公司 The distributed storage method of electric business platform base merchandise news
CN109617829A (en) * 2018-11-01 2019-04-12 阿里巴巴集团控股有限公司 A kind of processing method of service request data, apparatus and system
CN109684416A (en) * 2018-11-13 2019-04-26 国电南京自动化股份有限公司 A kind of high concurrent real-time history data storage system
CN110008241A (en) * 2019-03-01 2019-07-12 北京招通致晟科技有限公司 Fine granularity exchange system and method based on data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
熊静等: "《物流信息管理》", 31 May 2017, 国防工业出版社 *

Similar Documents

Publication Publication Date Title
US7979359B1 (en) System and method for selectively applying an item sortation process
US9235822B2 (en) Optimization of packaging sizes
Altinkemer et al. Parallel savings based heuristics for the delivery problem
Dantzig et al. The truck dispatching problem
CN110599067A (en) Storage allocation method, storage medium and electronic equipment
CN104104738A (en) FTP-based (file transfer protocol-based) data exchange system
CN105096174A (en) Transaction matching method and transaction matching system
Moura et al. A two‐stage packing problem procedure
CN107341624A (en) A kind of processing method and processing device of business datum
CN104118626A (en) Modular general logistical box structure
CN104504030A (en) Indexing method for power dispatching automation mass messages
CN111161437A (en) General receiving, subscribing and distributing method and system for logistics box codes
CN108549659A (en) A kind of data warehouse management system and management method
Choi et al. Container scheduling: Complexity and algorithms
Alinaghian et al. Enhancement of inventory management approaches in vehicle routing-cross docking problems
CN109102228B (en) Freight train information management system based on cloud calculates
CN110717718A (en) Goods assembly method and device based on big data platform
CN114547113A (en) Mass data account checking system, method, network equipment and storage medium
Fan et al. Single bounded parallel-batch machine scheduling with an unavailability constraint and job delivery
Avella et al. A decomposition approach for a very large scale optimal diversity management problem
KR101872070B1 (en) Apparatus for distributing goods based on production rate, method thereof, and computer recordable medium storing the method
CN113962619A (en) Freight shift determination method and device for waybill, electronic equipment and storage medium
CN110288287A (en) A kind of sub-argument method and system of warehoused cargo
Leung et al. A hybrid RFID case-based system for handling air cargo storage location assignment operations in distribution centers
Asadilari et al. A heuristic algorithm to solve a layout problem of sea containers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200515