CN112732840A - 一种基于区块链技术的快递物流管理方法及系统 - Google Patents
一种基于区块链技术的快递物流管理方法及系统 Download PDFInfo
- Publication number
- CN112732840A CN112732840A CN202110364977.1A CN202110364977A CN112732840A CN 112732840 A CN112732840 A CN 112732840A CN 202110364977 A CN202110364977 A CN 202110364977A CN 112732840 A CN112732840 A CN 112732840A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- new
- nodes
- value
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Software Systems (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于区块链技术的快递物流管理方法及系统,对应于创建者的方法包括:获取对象;为对象创建原始区块;将原始区块向区块链网络的其他所有节点进行事件广播。对应于参与方的方法包括:接收创建者广播的原始区块并进行本地化存储;且当参与者为对象处理者,方法还包括:生成包含新的业务数据的新区块;将业务数据对其他节点进行事件广播;当参与者为非对象处理者,方法还包括:接收其他节点广播的业务数据;执行挖矿作业;挖矿成功则向其他节点广播新区块或Nonce值;若收到其他节点的广播,则验证新区块或Nonce值的有效性并在验证成功后停止挖矿。本发明可以实现快递物流数据处理的准确性、完整性、安全性。
Description
技术领域
本发明涉及货运物流技术领域,特别是涉及一种基于区块链技术的快递物流管理方法及系统。
背景技术
在电商购物的场景下,为了完成一笔交易,会有多个不同的参与方,具体包括:
(1)电商平台,比如淘宝、天猫、京东等等,作为交易产生的最原始的场所。
(2)卖方,包括电商平台自身,以及数量众多的第三方卖家。
(3)仓库,从电商平台接收订单数据,严格根据客户的购物要求,进行商品的拣选,并且把商品转换为包裹,从而开始启动物流配送的过程。有可能是电商平台运营的仓库,也可能是卖家自己经营的仓库,还有有可能是专门的第三方仓储服务公司。
(4)干线运输,是指从仓库开始,到第一级分拣中心的运输过程,以及从第一级分拣中心,到其他分拣中心的多级运输过程。
(5)本地配送,包裹经过一次或者多次的分拣、转运之后,到达末端配送站,然后由快递员完成最后阶段的配送。
(6)快递柜,比如像顺丰的丰巢,由配送员把包裹投放到快递柜,然后通知最终用户自行拿取包裹,从而完成包裹配送。
(7)买方,在电商平台下达订单,开启整个交易;并且最后通过确认包裹的收货,完成交易。
在上述的这一连串的过程中,不同的参与方,紧密协作,共同完成每一笔交易。在这个过程中,其中的每一步操作,都会产生数据。如何有效地管理这些数据,保证交易能够准确、顺利、高效地完成,是非常关键的问题。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种能够有效管理电商购物所产生的物流数据的基于区块链技术的快递物流管理方法及系统。
技术方案:为实现上述目的,本发明的一种基于区块链技术的快递物流管理方法,其应用于创建者,构成区块链数据的区块的数据格式包括头部数据与业务数据,所述头部数据包括标识符、头部数据哈希值、交易数据哈希值以及Nonce值,所述业务数据与所述交易数据哈希值关联;所述方法包括:
获取对象;其中,所述对象为订单或货物;
为所述对象创建原始区块;
将所述原始区块向区块链网络的其他所有节点进行事件广播。
进一步地,所述方法还包括:
接收其他节点广播的新区块;
根据所述新区块的标识符找到本地存储的、对应于该标识符的区块链数据;
执行挖矿作业;
判断是否挖矿成功,是则向其他所有节点广播所述新区块或所述Nonce值;
判断是否收到其他节点的广播,是则验证所述Nonce值是否有效,若验证有效则将所述新区块进行本地化存储,并停止挖矿作业。
进一步地,当所述对象为订单,所述获取对象包括:
获取原始订单;
判断所述原始订单是否需要拆分;
当所述原始订单不需要拆分,则直接执行后续步骤;
当所述原始订单需要拆分,则将所述原始订单拆分为多个子订单,并依次获取各所述子订单。
进一步地,所述执行挖矿作业包括:
改变所述Nonce值,并进行哈希运算得到新哈希值;
判断所述新哈希值是否符合条件;
所述验证所述Nonce值是否有效包括:
基于所述Nonce值进行哈希运算得到验证哈希值;
判断所述验证哈希值是否符合条件,是则验证有效,否则验证无效。
一种基于区块链技术的快递物流管理系统,构成区块链数据的区块的数据格式包括头部数据与业务数据,所述头部数据包括标识符、头部数据哈希值、交易数据哈希值以及Nonce值,所述业务数据与所述交易数据哈希值关联;所述系统包括:
获取模块,其用于获取对象;其中,所述对象为订单或货物;
创建模块,其用于为所述对象创建原始区块;
第一广播模块,其用于将所述原始区块向区块链网络的其他所有节点进行事件广播。
一种基于区块链技术的快递物流管理方法,其应用于除创建者外的参与者;构成区块链数据的区块的数据格式包括头部数据与业务数据,所述头部数据包括标识符、头部数据哈希值、交易数据哈希值以及Nonce值,所述业务数据与所述交易数据哈希值关联;所述方法包括:接收创建者广播的原始区块并进行本地化存储;
当所述参与者为对象处理者,所述方法还包括:
生成包含新的业务数据的新区块;
将所述新区块对区块链网络的其他节点进行事件广播;
当所述参与者为非对象处理者,所述方法还包括:
接收其他节点广播的新区块;
根据所述新区块的标识符找到本地存储的、对应于该标识符的区块链数据;
执行挖矿作业;
判断是否挖矿成功,是则至少将所述Nonce值向其他所有节点广播;
判断是否收到其他节点的广播,是则验证所述Nonce值是否有效,若验证有效则将所述新区块进行本地化存储,并停止挖矿作业。
进一步地,所述生成包含新的业务数据的新区块之前还包括:
获取所述对象所对应的标识符;
根据所述标识符进行本地查找;
判断是否找到对应于所述对象的区块链数据,是则继续执行后续步骤,否则向所述创建者发送数据查询请求,并接收所述创建者反馈的所述原始区块。
进一步地,所述执行挖矿作业包括:
改变所述Nonce值,并进行哈希运算得到新哈希值;
判断所述新哈希值是否符合条件;
所述验证所述Nonce值是否有效包括:
基于所述Nonce值进行哈希运算得到验证哈希值;
判断所述验证哈希值是否符合条件,是则验证有效,否则验证无效。
进一步地,所述头部数据还包括难度目标值,所述将所述新区块对区块链网络的其他节点进行事件广播之前还包括:
调整所述难度目标值,以使得新区块的平均生成时间大于预设阈值。
一种基于区块链技术的快递物流管理系统,构成区块链数据的区块的数据格式包括头部数据与业务数据,所述头部数据包括标识符、头部数据哈希值、交易数据哈希值以及Nonce值,所述业务数据与所述交易数据哈希值关联;所述系统包括:
第一接收模块,其用于接收创建者广播的原始区块并进行本地化存储;
生成模块,其用于生成包含新的业务数据的新区块;
第二广播模块,其用于将所述新区块对区块链网络的其他节点进行事件广播;
第二接收模块,其用于接收其他节点广播的新区块;
查找模块,其用于根据所述新区块的标识符找到本地存储的、对应于该标识符的区块链数据;
挖矿模块,其用于执行挖矿作业,并判断是否挖矿成功;
第三广播模块,其用于在成功找到新区块后向其他参与者广播所述新区块;
验证模块,其用于判断是否收到其他节点的广播,是则验证所述Nonce值是否有效,若验证有效则将所述新区块进行本地化存储,并停止挖矿作业。
有益效果:本发明的基于区块链技术的快递物流管理方法及系统,提供了对订单及后续货物数据进行收集、存储、验证、检索的整体方案,可以让多个参与方,通过用标准的、开放的、去中心化的信息技术手段来进行协作,实现了一种无需信任中介参与的P2P(Peer-to-peer)交易处理方式,保证了数据处理的准确性、完整性、开放性。
附图说明
附图1为第一实施例之基于区块链技术的快递物流管理方法的流程示意图;
附图2为第二实施例之基于区块链技术的快递物流管理系统的流程示意图;
附图3为第三实施例之基于区块链技术的快递物流管理方法的流程示意图;
附图4为第三实施例中作为对象处理者实施的快递物流管理方法的流程示意图;
附图5为第三实施例中作为对象处理者实施的快递物流管理方法的流程示意图;
附图6为第四实施例之基于区块链技术的快递物流管理系统的流程示意图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
本申请中,区块链网络由若干节点构成,每个节点均配备有用于完成数据存储、计算、验证的计算机。构成区块链网络的节点包括创建者与参与者,创建者是参与区块链网络的各节点中产生原始区块的一方,对于电商系统,创建者是电商平台,对于线下物流,创建者是承揽货物的物流从业者。参与者涉及干线运输、本地配送、快递柜、签收方等。
在电子商务中,客户下单后产生订单,电子商务平台对订单进行处理,仓库根据订单进行分拣、打包等环节中,被处理对象均是订单,而在后续的快递发出、转运、配送等环节中,被处理对象均为货物(其形态可以是包裹、未包装的商品等形态),因此可见,在电子商务的运转全环节中,被处理对象的形态经历了由订单变为货物的转变,为了方便描述电子商务所对应的订单及货物的数据在区块链网络中的运行方法,本申请中,上述“订单”与“货物”均被统一概括为“对象”这一统一名称进行描述,可以理解,当处理对象为创建者或卖方、仓库等参与者时,被处理的“对象”是指订单,当所涉及的参与者为干线运输、本地配送、快递柜、签收方时,被处理的“对象”是指货物。
当然,以下的快递物流管理方法也不局限于基于电子商务的物流,也可以是普通的线下物流,此时,上述“对象”始终为货物本身,基于这种线下物流形式以实施以下的快递物流管理方法也应当视作落入本申请的保护范围。
此外,本申请中涉及的区块链数据由若干标准区块构成,其中,最早生成的区块为原始区块,原始区块与后续对象被处理过程所产生的各新区块均属于标准区块,也即,原始区块与新区块的数据结构均与标准区块的数据结构相同。标准区块的数据结构包括头部数据与业务数据,所述头部数据包括标识符、版本号、头部数据哈希值、交易数据哈希值、时间戳、Nonce值、难度目标值等数据,所述业务数据与所述交易数据哈希值关联,业务数据的具体内容涉及业务发生时间、业务发生地点、数据类型、参与方、业务创建人、备注说明等数据。
区块链网络中包含有很多个对象的处理过程,每一个区块链数据的生命周期都比较短,虽然整个系统中的总的区块链数据的个数非常非常多,但是,在同一时刻,系统所需要处理的区块链数据的数量是非常有限的,也就是等同于当前正在被处理的、交易未完成的那些对象的数量。通过这个做法,就会使得整个系统的吞吐量大大提高,不会被海量的历史数据所拖累。区块链网络的节点也有很多,每个节点不仅记录其直接处理的对象的数据,也记录与自己不相关但与其他节点直接相关的对象的区块链数据。
实施例一
基于上述基础,如附图1所示,本实施例提供了一种基于区块链技术的快递物流管理方法,其应用于创建者,所述方法包括如下步骤S101-S103(值得说明的是,本申请中,各步骤编号不用于限定步骤的执行顺序,顶多只代表一种优选的执行顺序):
步骤S101,获取对象;
步骤S102,为所述对象创建原始区块;
本步骤中,原始区块的数据结构如下表所示:
对上表中各参数具体说明如下:
区块的头部数据包括以下7项:
Shipment ID,其为对象的标识符,这个标识符在整个系统中都是唯一的。而且,Shipment ID由仓库打印出二维码,粘贴在货物的外面,或者制作RFID标签,便于后续环节识别相应的货物。
Version,其为区块的版本号,有时候也称为区块的高度。对于初始区块来说,这个值为0。
Prev Hash,其为前一个区块的头部数据的哈希值,也称为上一个区块的BlockHash,其由SHA-256哈希算法计算得到。对于初始区块来说,这个值为空。可以发现,因为头部数据的Prev Hash记录了上一个区块的Block Hash,这样,可以通过Prev Hash追踪到上一个区块。由于下一个区块的Prev Hash又会指向当前区块,这样,每个区块的Prev Hash都指向自己的上一个区块,这些区块相互串起来,就形成了整个区块链。
Merkle Hash,其记录了本区块包含的业务数据的Merkle哈希值。Merkle Hash被记录在区块头部,它的作用就是,保证交易记录永远无法被恶意修改。Merkle Hash的算法为现有技术,此处不详细描述,从Merkle Hash的计算方法可以看出,修改任意一个交易哪怕一个字节,或者交换两个交易的顺序,都会导致Merkle Hash验证失败,也就会导致这个区块本身是无效的,通过这个特征可有效地防止数据伪造。
Timestamp,其为该区块的创建时间戳,记录了该区块的生成时间。
Bits,其为挖矿的难度目标值,对于初始区块来说,这个值为空。
Nonce,其是为了计算工作量而需要动态变化的值,对于初始区块来说,这个值为空。
区块的业务数据包括以下6项:
DateTime,其为业务的发生时间;
Location,其为业务的发生地点;
Event Type,其为数据类型,对于初始区块来说,这个值是Shipment Created,表示对象数据刚刚被创建。对于其它的区块来说,就是代表每一个业务活动的具体类型,包括:Order Allocated to Warehouse (包括被分配到仓库)、Invoice Printed(面单已打印)、Picking Started(开始拣货)、Picked(完成拣货)、Packing Started(开始包装)、Packed(完成包装)、Be Ready for Loading(准备装车)、Loaded(已装车)、Arrived AtSortation Center(货物到达分拣中心或者转运中心)、Be Ready for Delivery(等待配送)、Being Delivered(正在配送中)、Delivered(配送完成)、Confirmed by End User(最终客户签收)等等。这些具体的字段信息,可以根据实际的业务需要,进行灵活的定义和扩展。
Participant,其为交易数据的参与方,对于初始区块来说,这个值就是电商平台。对于其他区块来说,就表示当前实际对该对象进行处理的参与方的具体编号,这个信息需要电商平台进行统一定义,进行数据的标准化。
Operator,其为业务的创建人,也就是操作工人的姓名或者编号。
Note,其为备注说明,用以详细说明每一个业务数据的补充信息,比如,装车的时候,可以把卡车的车牌号、司机名称等辅助信息,也记录在这个字段里面。
步骤S103,将所述原始区块向区块链的其他所有参与者进行事件广播。
进一步地,在创建原始区块之后,创建者作为参与方也要参与到后续的流程中以与所有参与者形成协作,实时记录其所处理的对象的最新动态,因此所述方法还包括如下步骤S201-S205:
步骤S201,接收其他节点广播的新区块;
本步骤中,业务数据由其他作为对象处理者的参与者产生,如干线运输方承接快递后,会录入时间、地点、参与者、操作工人信息、备注这些信息形成业务数据。
步骤S202,根据所述新区块的标识符找到本地存储的、对应于该标识符的区块链数据;
本步骤中,区块链数据至少包括原始区块,若对象除了被创建者处理过外,还被其他参与者处理过,则区块链数据除了原始区块外还包括若干新区块,新区块排在原始区块后面,每经过一个参与者处理,就会多形成一个新区块。
步骤S203,执行挖矿作业;
本步骤中,创建者进行工作量证明的同时,区块链网络中除了生产新区块的其他节点也都在进行挖矿作业,挖矿作业的作用也即使区块链网络中的各节点进行工作量证明,如此可防止某一个节点把一个对象的整个区块链数据篡改之后,重新进行打包,并向整个网络进行广播,试图更新其它节点的关于这个对象的数据。也即,通过挖矿作业(也即工作量证明),可以防止某个参与方恶意地篡改数据,保证区块链网络的安全性。
步骤S204,判断是否挖矿成功,是则至少将所述Nonce值向其他所有节点广播;
本步骤中,挖矿成功代表创建者比别的节点先一步完成工作量证明,当创建者完成工作量证明,将至少包括Nonce值的数据包向整个区块链网络广播,是为了使其他所有节点马上停止挖矿并完成验证,通过上述挖矿机制,使得各节点无法在短时间内完成挖矿,但是在其中一个节点挖矿成功后其他节点能够在数毫秒之内完成验证,从而降低不必要的计算,保证各节点的计算机运转的同步性。创建者向其他节点广播的数据可以只包含Nonce值,也可以为整个新区块(新区块包含Nonce值)。
步骤S205,判断是否收到其他节点的广播,是则验证所述Nonce值是否有效,若验证有效则将所述新区块进行本地化存储,并停止挖矿作业。
本步骤中,收到其他节点的广播代表其他节点比创建者先一步挖矿成功,则创建者马上对优先挖矿成功的节点广播的数据进行验证,验证成功的话创建者就没有必要继续进行挖矿,只需将新区块加到现有的区块链数据的尾部以完成对新区块的存储。
进一步地,当所述对象为订单,上述步骤S101中所述获取对象包括如下步骤S301-S304:
步骤S301,获取原始订单;
本步骤中,原始订单为客户从电商平台单次下单后直接形成的订单。
步骤S302,判断所述原始订单是否需要拆分,是则进入步骤S303,否则进入步骤S304;
步骤S303,直接进入步骤S102;
步骤S304,将所述原始订单拆分为多个子订单,并依次获取各所述子订单。
上述步骤S301-S304考虑了原始订单包含的商品可能存储在不同的仓库的情形或原始订单包含的商品在同一仓库的不同存储区且不方便合并发出的情形(如订单商品包含了常温储存商品和低温储存商品),将原始订单进行拆分处理,可使订单处置合理。原始订单拆分为多个子订单后,创建者对每个子订单均创建一个原始区块,也即在区块链网络中每个子订单后续均会对应于一个专属的区块链数据。
进一步地,上述步骤S203中所述执行挖矿作业包括如下步骤S401-S402:
步骤S401,改变所述Nonce值,并进行哈希运算得到新哈希值;
步骤S402,判断所述新哈希值是否符合条件;
上述步骤S401-S402循环运行,创建者的计算机不断改变Nonce值,再通过SHA-256哈希算法,就可以计算出该区块的一个新的Block Hash值,而且这个值是完全无规律的256位随机数。通过持续改变Nonce字段值,就可以计算出更多个哈希值,一直循环计算,直到得到出某个特定的满足条件的哈希值的时候,计算才算结束。上述判断是否得到“特定的满足条件的哈希值”的规则如下:判断得到的新哈希值的前面是否有预设数量的连续的0,是则说明新的哈希值符合条件,举例说明如下:
若预设的满足条件的哈希值前面有连续8个0,创建者的计算机进行工作量证明所经历的计算过程如下所示:
hash256(block data, nonce=0) = 291656f37cdcf493c4bb7b926e46fee5c14f9b76aff28f9d00f5cca0e54f376f;
hash256(block data, nonce=1) = f7b2c15c4de7f482edee9e8db7287a6c5def1c99354108ef33947f34d891ea8d;
hash256(block data, nonce=2) = b6eebc5faa4c44d9f5232631f39ddf4211443d819208da110229b644d2a99e12;
hash256(block data, nonce=3) = 00aeaaf01166a93a2217fe01021395b066dd3a81daffcd16626c308c644c5246;
hash256(block data, nonce=4) = 26d33671119c9180594a91a2f1f0eb08bdd0b595e3724050acb68703dc99f9b5;
hash256(block data, nonce=5) = 4e8a3dcab619a7ce5c68e8f4abdc49f98de1a71e58f0ce9a0d95e024cce7c81a;
hash256(block data, nonce=6) = 185f634d50b17eba93b260a911ba6dbe9427b72f74f8248774930c0d8588c193;
hash256(block data, nonce=7) = 09b19f3d32e3e5771bddc5f0e1ee3c1bac1ba4a85e7b2cc30833a120e41272ed;
......;
hash256(block data, nonce=124709132) = 00000000fba7277ef31c8ecd1f3fef071cf993485fe5eab08e4f7647f47be95c。
可见,直到nonce为124709132时,得到的新哈希值前面有8个连续的0,此时满足条件。
对应的,上述步骤S205中所述验证所述Nonce值是否有效包括如下步骤S501-S502:
步骤S501,基于所述Nonce值进行哈希运算得到验证哈希值;
本步骤中的Nonce值为接收到的其他节点广播的数据包中的Nonce值。
步骤S502,判断所述验证哈希值是否符合条件,是则验证有效,否则验证无效。
本步骤中,即判断验证哈希值的的前面是否有预设数量的连续的0。
实施例二
本实施例提供了一种应用于创建者的计算机的基于区块链技术的快递物流管理系统,基于区块链技术的快递物流管理系统可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述基于区块链技术的快递物流管理方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述基于区块链技术的快递物流管理系统在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能,如附图2所示,所述系统包括:
获取模块601,其用于获取对象;其中,所述对象为订单或货物;
创建模块602,其用于为所述对象创建原始区块;
第一广播模块603,其用于将所述原始区块向区块链的其他所有参与者进行事件广播。
此外,上述计算机的基于区块链技术的快递物流管理系统还用于:
接收其他节点广播的新区块;
根据所述新区块的标识符找到本地存储的、对应于该标识符的区块链数据;
执行挖矿作业;
判断是否挖矿成功,是则向其他所有节点广播所述新区块或所述Nonce值;
判断是否收到其他节点的广播,是则验证所述Nonce值是否有效,若验证有效则将所述新区块进行本地化存储,并停止挖矿作业。
其他基于上述商品仓储中的基于区块链技术的快递物流管理系统实现上述基于区块链技术的快递物流管理方法在实施例一中已经详细介绍,可参考实施例一的对应内容,此处不再赘述。
实施例三
本实施例提供了一种基于区块链技术的快递物流管理方法,其应用于区块链网络中的参与者;如附图3所示,所述方法包括如下步骤S701:
步骤S701,接收创建者广播的原始区块并进行本地化存储;
当所述参与者为对象处理者,如附图4所示,所述方法还包括如下步骤S801-S802:
步骤S801,生成包含新的业务数据的新区块;
本步骤中,对象处理者的计算机接收操作者录入的业务数据并生成新区块,操作者录入的业务数据包括时间、地点、参与者、操作工人信息、备注这些信息。生成的新区块举例如下:
步骤S802,将所述新区块对区块链网络的其他节点进行事件广播;
当所述参与者为非对象处理者,如附图5所示,所述方法还包括如下步骤S901-S905:
步骤S901,接收其他节点广播的新区块;
步骤S902,根据所述新区块的标识符找到本地存储的、对应于该标识符的区块链数据;
步骤S903,执行挖矿作业;
步骤S904,判断是否挖矿成功,是则至少将所述Nonce值向其他所有节点广播;
步骤S905,判断是否收到其他节点的广播,是则验证所述Nonce值是否有效,若验证有效则将所述新区块进行本地化存储,并停止挖矿作业。
上述步骤S901-S905与上述实施例一中的步骤S201-S205类似,可参考上述步骤S201-S205的具体描述,此处对步骤S901-S905不再展开说明。
进一步地,所述生成包含新的业务数据的新区块之前还包括如下步骤A1-A3:
步骤A1,获取所述对象所对应的标识符;
步骤A2,根据所述标识符进行本地查找;
步骤A3,判断是否找到对应于所述对象的区块链数据,是则继续执行后续步骤,否则向所述创建者发送数据查询请求,并接收所述创建者反馈的所述原始区块。
通过上述步骤,可防止某个节点由于故障等原因没有能正常保存对应于该对象的数据导致无法在本地查询到相关的区块链数据,保证各节点数据的一致性。
进一步地,上述步骤S903中所述执行挖矿作业包括如下步骤B1-B2:
步骤B1,改变所述Nonce值,并进行哈希运算得到新哈希值;
步骤B2,判断所述新哈希值是否符合条件;
对应地,上述步骤S905中所述验证所述Nonce值是否有效包括如下步骤C1-C2:
步骤C1,基于所述Nonce值进行哈希运算得到验证哈希值;
步骤C2,判断所述验证哈希值是否符合条件,是则验证有效,否则验证无效。
进一步地,所述头部数据还包括难度目标值,所述将所述新区块对区块链网络的其他节点进行事件广播之前还包括如下步骤D1:
步骤D1,调整所述难度目标值,以使得新区块的平均生成时间大于预设阈值。
此处的难度目标值,也即头部数据中的Bits值,难度值目标值越小,说明满足条件的哈希值前面的0越多,计算难度越大。难度目标值是不断变化的,调节难度目标值可保证区块链网络平均每设定时间(如3分钟)产生一个新区块,而难度值在每产生设定数量(如2000个)的新区块后调整一次,以设定时间为3分钟,设定数量为2000个为例,如果新区块平均生成时间小于3分钟,说明全网算力增加,则需要增加计算难度,则调整难度目标值减少,如果区块平均生成时间大于3分钟,说明全网算力减少,则需要降低计算难度,则调整难度目标值增加。因此,难度值随着全网算力的增减会动态调整。
具体地,上述步骤D1包括如下步骤E1-E3:
步骤E1,判断计数值是否达到设定数量;是则进入步骤E2,否则维持所述难度目标值不变;
步骤E2,计算整个区块链网络生成新区块的平均时间,判断所述平均时间相对于设定时间的偏离方向;若平均时间大于设定时间,调整难度目标值增加(对应的计算难度减小);若平均时间小于设定时间,调整难度目标值减小(对应的计算难度变大),进入步骤E3;
步骤E3,将所述计数值清零;
实施例四
本实施例提供了一种应用于参与者基于区块链技术的快递物流管理系统,基于区块链技术的快递物流管理系统可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述基于区块链技术的快递物流管理方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述基于区块链技术的快递物流管理系统在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能,如附图6所示,所述系统包括:
第一接收模块F1,其用于接收创建者广播的原始区块并进行本地化存储;
生成模块F2,其用于生成包含新的业务数据的新区块;
第二广播模块F3,其用于将所述新区块对区块链网络的其他节点进行事件广播;
第二接收模块F4,其用于接收其他节点广播的新区块;
查找模块F5,其用于根据所述新区块的标识符找到本地存储的、对应于该标识符的区块链数据;
挖矿模块F6,其用于执行挖矿作业,并判断是否挖矿成功;
第三广播模块F7,其用于在成功找到新区块后向其他参与者广播所述新区块;
验证模块F8,其用于判断是否收到其他节点的广播,是则验证所述Nonce值是否有效,若验证有效则将所述新区块进行本地化存储,并停止挖矿作业。
上述模块F2-F3在参与者作为对象处理者时发挥作用,上述步骤F4-F8在参与者作为非对象处理者时发挥作用。
其他基于上述商品仓储中的基于区块链技术的快递物流管理系统实现上述基于区块链技术的快递物流管理方法在实施例三中已经详细介绍,可参考实施例三中的对应内容,此处不再赘述。
通过上述各实施例描述的方法或系统,区块链网络的每一个节点都保存了每一个对象的完整区块链数据,拥有了每一个对象的整个生命周期里面每一个处理步骤的数据,而且这个数据是防篡改的。每一个节点都可以利用这个数据为客户提供服务,比如电商平台可以通过系统终端给买方显示对象的实时状态信息。
如果某个货物发生了丢失,那么任意一个参与者都可以拿到该货物当前的最新的区块链数据,从而知道这个货物最后一次的业务数据,也就可以知道目前这个货物是被哪一个节点正在处理,以及时间、地点等详细信息。另外,也可以把退货流程,也纳入到对象的生命周期,采用统一的处理方法。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于区块链技术的快递物流管理方法,其特征在于,其应用于创建者,构成区块链数据的区块的数据格式包括头部数据与业务数据,所述头部数据包括标识符、头部数据哈希值、交易数据哈希值以及Nonce值,所述业务数据与所述交易数据哈希值关联;所述方法包括:
获取对象;其中,所述对象为订单或货物;
为所述对象创建原始区块;
将所述原始区块向区块链网络的其他所有节点进行事件广播。
2.根据权利要求1所述的基于区块链技术的快递物流管理方法,其特征在于,所述方法还包括:
接收其他节点广播的新区块;
根据所述新区块的标识符找到本地存储的、对应于该标识符的区块链数据;
执行挖矿作业;
判断是否挖矿成功,是则向其他所有节点广播所述新区块或所述Nonce值;
判断是否收到其他节点的广播,是则验证所述Nonce值是否有效,若验证有效则将所述新区块进行本地化存储,并停止挖矿作业。
3.根据权利要求1所述的基于区块链技术的快递物流管理方法,其特征在于,当所述对象为订单,所述获取对象包括:
获取原始订单;
判断所述原始订单是否需要拆分;
当所述原始订单不需要拆分,则直接执行后续步骤;
当所述原始订单需要拆分,则将所述原始订单拆分为多个子订单,并依次获取各所述子订单。
4.根据权利要求1所述的基于区块链技术的快递物流管理方法,其特征在于,所述执行挖矿作业包括:
改变所述Nonce值,并进行哈希运算得到新哈希值;
判断所述新哈希值是否符合条件;
所述验证所述Nonce值是否有效包括:
基于所述Nonce值进行哈希运算得到验证哈希值;
判断所述验证哈希值是否符合条件,是则验证有效,否则验证无效。
5.一种基于区块链技术的快递物流管理系统,其特征在于,构成区块链数据的区块的数据格式包括头部数据与业务数据,所述头部数据包括标识符、头部数据哈希值、交易数据哈希值以及Nonce值,所述业务数据与所述交易数据哈希值关联;所述系统包括:
获取模块,其用于获取对象;其中,所述对象为订单或货物;
创建模块,其用于为所述对象创建原始区块;
第一广播模块,其用于将所述原始区块向区块链网络的其他所有节点进行事件广播。
6.一种基于区块链技术的快递物流管理方法,其特征在于,其应用于除创建者外的参与者;构成区块链数据的区块的数据格式包括头部数据与业务数据,所述头部数据包括标识符、头部数据哈希值、交易数据哈希值以及Nonce值,所述业务数据与所述交易数据哈希值关联;所述方法包括:接收创建者广播的原始区块并进行本地化存储;
当所述参与者为对象处理者,所述方法还包括:
生成包含新的业务数据的新区块;
将所述新区块对区块链网络的其他节点进行事件广播;
当所述参与者为非对象处理者,所述方法还包括:
接收其他节点广播的新区块;
根据所述新区块的标识符找到本地存储的、对应于该标识符的区块链数据;
执行挖矿作业;
判断是否挖矿成功,是则至少将所述Nonce值向其他所有节点广播;
判断是否收到其他节点的广播,是则验证所述Nonce值是否有效,若验证有效则将所述新区块进行本地化存储,并停止挖矿作业。
7.根据权利要求6所述的基于区块链技术的快递物流管理方法,其特征在于,所述生成包含新的业务数据的新区块之前还包括:
获取所述对象所对应的标识符;
根据所述标识符进行本地查找;
判断是否找到对应于所述对象的区块链数据,是则继续执行后续步骤,否则向所述创建者发送数据查询请求,并接收所述创建者反馈的所述原始区块。
8.根据权利要求6所述的基于区块链技术的快递物流管理方法,其特征在于,所述执行挖矿作业包括:
改变所述Nonce值,并进行哈希运算得到新哈希值;
判断所述新哈希值是否符合条件;
所述验证所述Nonce值是否有效包括:
基于所述Nonce值进行哈希运算得到验证哈希值;
判断所述验证哈希值是否符合条件,是则验证有效,否则验证无效。
9.根据权利要求6所述的基于区块链技术的快递物流管理方法,其特征在于,所述头部数据还包括难度目标值,所述将所述新区块对区块链网络的其他节点进行事件广播之前还包括:
调整所述难度目标值,以使得新区块的平均生成时间大于预设阈值。
10.一种基于区块链技术的快递物流管理系统,其特征在于,构成区块链数据的区块的数据格式包括头部数据与业务数据,所述头部数据包括标识符、头部数据哈希值、交易数据哈希值以及Nonce值,所述业务数据与所述交易数据哈希值关联;所述系统包括:
第一接收模块,其用于接收创建者广播的原始区块并进行本地化存储;
生成模块,其用于生成包含新的业务数据的新区块;
第二广播模块,其用于将所述新区块对区块链网络的其他节点进行事件广播;
第二接收模块,其用于接收其他节点广播的新区块;
查找模块,其用于根据所述新区块的标识符找到本地存储的、对应于该标识符的区块链数据;
挖矿模块,其用于执行挖矿作业,并判断是否挖矿成功;
第三广播模块,其用于在成功找到新区块后向其他参与者广播所述新区块;
验证模块,其用于判断是否收到其他节点的广播,是则验证所述Nonce值是否有效,若验证有效则将所述新区块进行本地化存储,并停止挖矿作业。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110364977.1A CN112732840A (zh) | 2021-04-06 | 2021-04-06 | 一种基于区块链技术的快递物流管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110364977.1A CN112732840A (zh) | 2021-04-06 | 2021-04-06 | 一种基于区块链技术的快递物流管理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112732840A true CN112732840A (zh) | 2021-04-30 |
Family
ID=75596438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110364977.1A Pending CN112732840A (zh) | 2021-04-06 | 2021-04-06 | 一种基于区块链技术的快递物流管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732840A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108734464A (zh) * | 2018-05-22 | 2018-11-02 | 上海璧碚符木数据科技有限公司 | 一种利用浏览器执行区块链计算任务的方法、装置和浏览器 |
CN109978451A (zh) * | 2019-03-20 | 2019-07-05 | 深圳职业技术学院 | 物流区块链的数据安全处理方法及装置 |
CN110060064A (zh) * | 2019-04-26 | 2019-07-26 | 深圳市网心科技有限公司 | 一种交易信息验证方法及相关装置 |
CN111400734A (zh) * | 2020-03-16 | 2020-07-10 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的智能物流系统 |
CN111723406A (zh) * | 2020-06-08 | 2020-09-29 | 上海朝夕网络技术有限公司 | 一种区块链的共识算法及系统 |
-
2021
- 2021-04-06 CN CN202110364977.1A patent/CN112732840A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108734464A (zh) * | 2018-05-22 | 2018-11-02 | 上海璧碚符木数据科技有限公司 | 一种利用浏览器执行区块链计算任务的方法、装置和浏览器 |
CN109978451A (zh) * | 2019-03-20 | 2019-07-05 | 深圳职业技术学院 | 物流区块链的数据安全处理方法及装置 |
CN110060064A (zh) * | 2019-04-26 | 2019-07-26 | 深圳市网心科技有限公司 | 一种交易信息验证方法及相关装置 |
CN111400734A (zh) * | 2020-03-16 | 2020-07-10 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的智能物流系统 |
CN111723406A (zh) * | 2020-06-08 | 2020-09-29 | 上海朝夕网络技术有限公司 | 一种区块链的共识算法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109583820B (zh) | 一种基于区块链技术的货物跟踪方法 | |
US11783278B2 (en) | Enforcing data consistency in a transportation network | |
CN112053117B (zh) | 一种协同配送的路径规划方法及装置 | |
CN107203859B (zh) | 用于仓库与干线物品交接的信息处理方法和装置 | |
CN107404477A (zh) | 集装箱运营数据发送方法和装置、接收方法和装置 | |
CN115293699A (zh) | 物流数据查询方法及相关装置 | |
CN107122945A (zh) | 应用于跨境电商运输系统的信息处理方法及运输系统 | |
CN112732840A (zh) | 一种基于区块链技术的快递物流管理方法及系统 | |
CN112163811A (zh) | 基于区块链的港航物流远程监控系统 | |
CN114529233A (zh) | 快递包裹退回处理方法、装置、设备及存储介质 | |
CN113095747B (zh) | 基于区块链技术的电子提单流转方法及装置 | |
CN109102228A (zh) | 一种基于云计算的货车运输信息管理系统 | |
CN113077222A (zh) | 基于区块链技术的网络货运平台管理方法及系统 | |
CN113780935A (zh) | 一种智能物流收发系统及方法 | |
CN111353739A (zh) | 动态匹配航运资源的方法、装置、设备和存储介质 | |
CN115239252B (zh) | 铁路货物运输的装载信息的确定方法、装置及设备 | |
CN108470230B (zh) | 货柜派遣作业分配系统与方法 | |
CN111126899A (zh) | 一种仲裁延误的自动处理方法、装置及计算机设备 | |
CN114118924A (zh) | 基于区块链的物流用流转签署方法及系统 | |
CN113393192A (zh) | 一种物品出库方法、装置、设备及存储介质 | |
CN113469429B (zh) | 一种基于区块链的多式联运的货物拼车方法及应用系统 | |
CN108665195A (zh) | 一种物流跟踪方法、移动设备、物流监控设备及移动终端 | |
CN111740955A (zh) | 制证控制方法、系统、服务器和计算机可读存储介质 | |
CN113822608A (zh) | 电商件运输方法、装置、系统、服务器和存储介质 | |
CN114240303A (zh) | 运单处理方法、装置、电子设备及可读介质 |
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 |
Application publication date: 20210430 |
|
RJ01 | Rejection of invention patent application after publication |