会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 分布式账本 / 用于货运系统的分布式账本技术

用于货运系统的分布式账本技术

申请号 CN201810911053.7 申请日 2018-08-10 公开(公告)号 CN110019534A 公开(公告)日 2019-07-16
申请人 埃森哲环球解决方案有限公司; 发明人 金叶松; T·A·阿格拉瓦尔; A·S·哈斯奈因; M·J·文道森;
摘要 本公开涉及用于货运系统的分布式账本技术。一种系统可以接收由跟踪设备创建跟踪更新。跟踪更新包括地理位置信息,其指示跟踪设备当前地理位置。系统可以在区块链中标识智能合约,其包括被配置为计算跟踪度量的可执行逻辑。响应于接收到跟踪更新,系统可以使用可执行逻辑来确定跟踪度量。系统可以将数据块添加到区块链。数据块可以包括跟踪度量和地理位置信息。系统可以将该区块链与被存储在区块链数据库中的多个区块链进行同步。
权利要求

1.一种方法,包括:

由与区块链数据库通信的服务器节点接收由车辆跟踪设备创建的车辆跟踪更新,所述车辆跟踪更新包括地理位置信息,所述地理位置信息指示所述车辆跟踪设备的地理位置;

在被存储在数据库中的区块链中标识智能合约,所述智能合约包括目的地标识符以及可执行逻辑,所述可执行逻辑被配置为确定跟踪度量;

响应于对所述车辆跟踪更新的接收,通过以下来确定所述跟踪度量:基于所述车辆跟踪更新的所述地理位置信息和被包括在所述区块链的先前数据块中的先前地理位置信息的比较,使用所述可执行逻辑计算所述跟踪度量;

将数据块添加到所述区块链,所述数据块包括所述跟踪度量和所述地理位置信息;

通过使用所述可执行逻辑和所述车辆跟踪更新检测以下条件中的至少一个条件被满足,确定与所述车辆跟踪设备相关联的装运已经到达对应于所述目的地标识符的目的地:针对被包括在所述智能合约中的预定时间量,所述车辆跟踪设备已经保持固定,或者所述车辆跟踪设备被定位在地理区域中,所述地理区域由所述智能合约标识;以及将所述区块链与被存储在所述服务器节点远程的区块链数据库中的多个区块链同步。

2.根据权利要求1所述的方法,还包括:

响应于所述装运已经到达所述目的地的确定,生成包括所述跟踪度量的报告;以及向终端设备发送被配置为使得所述终端设备显示包括所述跟踪度量的界面的链接。

3.根据权利要求2所述的方法,其中所述方法包括:响应于所确定的所述跟踪度量,确定与到所述目的地的所述装运的运输相关联的运输成本。

4.根据权利要求1所述的方法,还包括:

接收货运合约参数,所述货运合约参数包括所述可执行逻辑;

响应于对所述货运合约参数的接收,生成所述智能合约;以及在所述区块链上存储起源数据块,所述起源数据块包括所述智能合约。

5.根据权利要求1所述的方法,其中添加数据块还包括:标识所述区块链的先前数据块中的跟踪表;

利用所述跟踪度量更新所述跟踪表;以及

将更新的跟踪表包括在所述数据块中,所述更新的跟踪表包括所述跟踪度量。

6.根据权利要求1所述的方法,其中标识所述智能合约还包括:在所述区块链中标识包括所述智能合约的合约数据块;以及从所述合约数据块提取所述可执行逻辑。

7.根据权利要求1所述的方法,其中所述区块链包括第一区块链,所述方法还包括:基于所述可执行逻辑和所述车辆跟踪更新,确定与所述车辆跟踪设备相关联的装运已经从与所述第一区块链相关联的第一运送者被传送到与第二区块链相关联的第二运送者;

在所述装运已经被传送到所述第二运送者的确定之后,从所述车辆跟踪设备接收多个附加的车辆跟踪更新;以及将多个数据块添加到所述第二区块链,所述多个数据块包括对应于所述附加的车辆跟踪更新的跟踪信息。

8.一种系统,包括:

处理器,所述处理器被配置为:

接收由跟踪设备创建的跟踪更新,所述跟踪更新包括地理位置信息,所述地理位置信息指示所述跟踪设备的地理位置;

响应于对所述跟踪更新的接收,使用被存储在区块链中的智能合约的可执行逻辑来确定所述跟踪度量;

将数据块添加到所述区块链,所述数据块包括所述跟踪度量;以及将所述区块链与被存储在被配置在相应的服务器节点处的相应的区块链数据库中的多个区块链同步。

9.根据权利要求8所述的系统,其中所述处理器还被配置为:标识所述区块链上的起源数据块,所述起源数据块包括所述智能合约。

10.根据权利要求8所述的系统,其中所述处理器还被配置为:接收货运合约参数,所述货运合约参数包括所述可执行逻辑;

响应于对所述货运合约参数的接收,生成所述智能合约;以及在所述区块链上存储合约数据块,所述合约数据块包括所述智能合约。

11.根据权利要求8所述的系统,其中所述数据块与数据块类型相关联,其中所述处理器还被配置为:向终端设备传递用于显示与相应的数据块类型相关联的多个标签的第一指令;

从所述终端设备接收选择输入消息,所述选择输入消息指示对所述数据块类型的选择;以及响应于对所述选择输入消息的接收,向所述终端设备传递用于显示被包括在所述数据块中的信息的第二指令,所述信息包括所述跟踪度量。

12.根据权利要求8所述的系统,其中所述区块链包括第一区块链,并且所述智能合约包括第一智能合约,其中所述处理器还被配置为:标识包括第二智能合约的第二区块链;

利用对应于所述第二智能合约的标识符来将所述跟踪设备重新编程;

从所述跟踪设备接收附加的跟踪更新,所述附加的跟踪更新;以及将所述附加的跟踪更新存储在所述第二区块链中。

13.根据权利要求8所述的系统,其中所述处理器还被配置为:基于所述可执行逻辑和所述跟踪更新,确定与所述跟踪设备相关联的装运已经到达目的地;以及响应于所述装运已经到达所述目的地的确定,使得所述跟踪设备停止发送跟踪更新。

14.根据权利要求8所述的系统,其中所述智能合约包括对应于地理区域的地理区域参数,其中所述处理器还被配置为:使用所述可执行逻辑和所述跟踪更新来确定所述跟踪设备被定位在所述地理区域内;

以及

响应于所述跟踪设备被定位在所述地理区域内的确定,增加所述跟踪度量,所述跟踪度量包括滞留时间度量。

15.一种非暂态计算机可读存储介质,其包括计算机可执行指令,所述计算机可执行指令由处理器可执行,所述计算机可执行指令包括:可执行用于接收由跟踪设备创建的跟踪更新的指令,所述跟踪更新包括地理位置信息,所述地理位置信息指示所述跟踪设备的地理位置;

可执行用于响应于对所述跟踪更新的接收而使用被存储在区块链中的智能合约来确定所述跟踪度量的指令;

可执行用于将数据块添加到所述区块链的指令,所述数据块包括所述跟踪度量;以及可执行用于将所述区块链与被存储在区块链数据库中的多个区块链同步的指令。

16.根据权利要求15所述的非暂态计算机可读存储介质,其中所述计算机可执行指令还包括:由所述处理器可执行用于标识所述区块链上的合约数据块的指令,所述合约数据块包括所述智能合约。

17.根据权利要求15所述的非暂态计算机可读存储介质,其中所述计算机可执行指令还包括:由所述处理器可执行用于基于所述可执行逻辑和跟踪更新来确定装运已经被传送到运送者的指令;以及由所述处理器可执行用于响应于所述装运已经被传送到所述运送者的确定而使得所述跟踪设备发送跟踪更新的指令。

18.根据权利要求15所述的非暂态计算机可读存储介质,其中所述计算机可执行指令还包括:由所述处理器可执行用于取回所述区块链的先前数据块中的跟踪表的指令;

由所述处理器可执行用于利用所述跟踪度量来更新从所述先前数据块取回的所述跟踪表的指令;以及由所述处理器可执行用于将更新的跟踪表包括在所述数据块中的指令,所述更新的跟踪表包括所述跟踪度量。

19.根据权利要求15所述的非暂态计算机可读存储介质,其中由所述处理器可执行用于将所述区块链同步的所述指令还包括:由所述处理器可执行用于向被配置有区块链数据库的多个远程服务器节点传递所述数据块的指令,所述区块链数据库包括远程区块链,所述远程区块链包括所述智能合约。

20.根据权利要求15所述的非暂态计算机可读存储介质,其中所述智能合约包括目的地标识符,其中所述计算机可执行指令还包括:由所述处理器可执行用于使用所述智能合约来确定与所述跟踪设备相关联的装运已经到达对应于所述目的地标识符的目的地的指令;

由所述处理器可执行用于响应于所述装运已经到达所述目的地的确定而生成包括所述跟踪度量的报告的指令;以及由所述处理器可执行用于向终端设备传递链接的指令,所述链接被配置为使得所述终端设备显示包括所述跟踪度量的界面。

说明书全文

用于货运系统的分布式账本技术

[0001] 相关申请的交叉引用
[0002] 本申请要求于2017年9月11日提交的美国临时申请号62/556,994的权益,其全部内容通过引用并入本文。

技术领域

[0003] 本公开涉及分布式信息管理,并且特别地涉及利用分布式账本技术管理运输和物流信息。

背景技术

[0004] 由卡车、火车、飞机、船或者其他运输方法所提供的运输服务可以涉及用于用于运输货运的各方之间的协议。跟踪货运的运输的传统方法可能包含低效的过程、不准确的数据采集和/或阻碍的系统。在一些货运订单审计和支付(FBAP)系统中,运输服务提供商可以提交运送信息以满足运送协议的条款和条件。由于当前市场方案中的缺陷,因而运送信息可以是未经证实并且累积的。此外,FBAP过程的传统方法可能易于频繁的错误、手动的麻烦和/或不能够以适时的方式高效地采集并且处理信息。

附图说明

[0005] 实施例可以参考以下附图和说明书而被更好地理解。附图中的部件不必按比例绘制。此外,在附图中,相同附图标记贯穿不同的视图指定对应的部分。
[0006] 图1图示了系统的示例。
[0007] 图2图示了用于系统的服务器节点的示例。
[0008] 图3图示了用于系统的智能合约的示例。
[0009] 图4A-C图示了用于系统的区块链的示例。
[0010] 图5图示了系统的用例的示例。
[0011] 图6图示了用于系统的流程逻辑的第一示例。
[0012] 图7图示了用于系统的流程逻辑的第二示例。
[0013] 图8图示了用于系统的流程逻辑的第三示例。
[0014] 图9图示了用于系统的流程逻辑的第四示例。
[0015] 图10A-B图示了用于系统的显示界面的第一示例。
[0016] 图11图示了用于系统的显示界面的第二示例。
[0017] 图12图示了用于系统的显示界面的第三示例。
[0018] 图13图示了用于系统的显示界面的第四示例。
[0019] 图14图示了系统的示例。

具体实施方式

[0020] 商品的商业化管理、跟踪和运输可以生成被记录在分布式位置处的账本中的大量信息。例如,具有重要的运输事务的公司可以通过卡车、铁路、飞机、船和其他运输方法生成与商品或者其他货物(包括散装)的运送或者运输有关的事务和其他信息。对于运输服务而言,在一个示例中,运输提供商可以提交货运账单。每个货运账单可以包括与在跨多个位置的货运的运送之前、期间和/或之后发生的事件有关的多行项目。运输管理的分布式性质、维持事务的完整性的复杂性(包括货运订单、合约、费率和账单)在运输管理中涉及的大量的人导致差异、延迟和其他低效。在许多情况下,托运人或者请求运输服务的客户或者其他方可以手动地审计用于准确的账单并且调节被存储在许多位置中的数据。在一些示例中,审计可以包括匹配的集运、递送、发行的商品、接收到的商品、附属费用、燃油附加费、罚款/费用、和/或其他信息。由于FBAP未被感知为用于许多公司的核心竞争力,因而外部服务提供商常常将账单匹配到合约和费率卡、提供审计服务和资金支付。备选地或者附加地,其他争论常常由托运人或者运输客户的货运订单部门调节,从而要求附加的时间和资源。
[0021] 在一些情况下,供应链伙伴可以与其横向的上游和下游伙伴相互作用。这些相互作用中的许多相互作用涉及仅在公司平台上存储和利用的系统。信息独立地被存储在每个系统上,其引起显著的低效。在此包括用于管理分布式账本的系统和方法。用于该文档的主要示例覆盖货运或者运输管理,然而,方案可以适用于其他供应链系统和功能。除了其他技术改进,所包括的方法和系统改进数字数据流,使控制分散并且创建用于事务信息的事实的单个源。可以提供的下文所提供的系统、方法和示例可以扩展到供应链功能,包括但不限于供求管理、采购、采购管理、存货仓库管理、订单实现、运输、物流和制造。
[0022] 提供了用于管理分布式账本的系统和方法。在此所描述的系统和方法可以适于货运管理,或者更通常地适于其中信息被管理在账本上的任何系统。下文所描述的系统和方法不应当被视为限于货运管理中的主要示例的封闭平台,而是用于供应链功能内的区块链的方法的系统。通过介绍的示例,系统可以接收由跟踪设备所创建的跟踪更新。跟踪更新包括指示跟踪设备的当前地理位置的地理位置信息。系统可以在区块链中标识智能合约,其包括被配置为计算跟踪度量的可执行逻辑。系统可以响应于对跟踪更新的接收而使用可执行逻辑确定跟踪度量。系统可以将数据块添加到区块链。数据块可以包括跟踪度量和地理位置信息。系统可以使区块链与被存储在区块链数据库中的多个区块链同步。
[0023] 下文所描述的系统和方法的一个感兴趣的特征可以在于,区块链平台可以提供账本数据和历史的出处。在分布式账本中利用区块链可以导致增长的共享数字数据流,其用作用于事务信息的事实的单个源。例如,账本数据可以跨复制的分布式节点而被实时存储。通过例如货运订单审计和支付(FBAP)过程利用区块链可以使信息的传输安全、使分布式账本分散和/或使信息的调节自动化。例如,托运人、运送者和其他方可以依赖于分布式账本而不必手动地调节账单。在一些示例中,共享对附加事务的增长链的访问可以消除来自采购、采购管理、整体规划、实现和/或运输的其他阶段的昂贵的调节。区块链可以防止费率的共谋、以及由运送者造成的其他信息。另外,区块链可以防止信息的复制并且提供FBAP和/或调节过程的事实的单个源。
[0024] 备选地或者附加地,智能合约、货运费率、实时地理位置和/或与装运有关的其他信息可以被存储在分布式账本中。智能合约或者区块链可以包括实现运输管理活动的自执行逻辑。自执行逻辑可以增加计算系统之间的内聚性并且减少来自人工介入或者非一致数据的差错。在一些示例中,公司可以通过将自执行逻辑存储在分布式账本中来减少外部货运订单处理。例如,智能合约可以包括计算账单行项目的逻辑和/或包括与FBAP过程有关的其他逻辑。备选地或者附加地,跟踪信息可以由被存储在分布式账本中的自执行逻辑自动地评价以生成和/或更新账单,发送紧急通知和/或控制原点与目的地之间的装运的流动。
[0025] 下面所描述的系统和方法可以提供用于多伙伴供应链对等合作的新方法。下面所描述的系统和方法的技术改进中的一个改进在于,节点之间的通信、数据事务和决策点中的低效可以被大幅改进。合作的新方法和系统借助于使分散节点、分布式账本和智能合约一起在一个平台中而向当前工具和技术提供显著的增强。所描述的系统和方法提供为供应链创建更灵活、敏捷和抗差错的合作工具的蓝图或者模板。
[0026] 系统和方法可以提供允许其他业务功能中的可扩展性的模块方法并且提供待引入分布式账本和智能合约中的附加功能。系统和方法作为整体是灵活的平台,其允许引入新过程并且包含对当前特征的改进和修改。在下面所描述的系统和方法中使附加的益处、效率和改进明显。因此,在此所描述的系统和方法提供现有市场方案上的改进。
[0027] 图1图示了系统100的示例。系统100可以包括服务器节点102A-C、终端设备104A-B和跟踪设备107。终端设备104A-B可以与服务器节点102A-C中的一个或多个进行通信。终端设备104A-B可以包括托运人设备104A、运送者设备104B和/或与服务器节点102A-C中的一个或多个进行通信的任何其他电子设备。托运人设备104A可以与托运人105相关联,并且运送者设备104B可以与运送者106相关联。跟踪设备107可以被包括有装运108或者在其附近。跟踪设备107将跟踪更新109传递到服务器节点102A-C中的一个或多个。
[0028] 服务器节点102A-C可以包括与网络通信的任何节点。服务器节点102A-C可以经由网络与彼此、终端设备104A-B、跟踪设备107和/或任何其他设备进行通信。服务器节点102A-C中的一个或多个可以包括物理控制堆栈110和/或区块链数据库112。物流控制堆栈
110可以处理与货运运输和管理有关的信息和/或事件。物流控制堆栈110可以与区块链数据库112相互作用以建立并且管理用于一个或多个装运的分布式账本。备选地或者附加地,物流控制堆栈110可以与区块链数据库112相互作用以进行操作和/或提供用户界面。在一些示例中,物流控制堆栈110可以生成一个或多个区块链114、将信息添加到区块链114、执行被存储在区块链114上的逻辑、传递被存储在区块链114上的信息和/或以其他方式管理区块链114。备选地或者附加地,物流控制堆栈可以与区块链数据库112、跟踪设备107、终端设备102A-B中的一个或多个和/或服务节点A-C中的一个或多个进行通信。在一些示例中,物流控制堆栈110可以包括中间件服务,其使用被包括在区块链114和/或跟踪更新109中的信息实现监测、维护和操作。中间件服务可以与区块链数据库112、其他服务节点和/或旧系统通信,其中信息被输入到区块链数据库112。备选地或者附加地,物流控制堆栈110可以将一个或多个客户端数据库与服务器节点102A-C桥接。例如,物流控制堆栈110可以查询客户端数据库并且生成用于区块链114的数据块。例如,物流控制堆栈110可以标识客户端数据库中的现有货运订单、合约和其他信息,并且将货运订单、合约和其他信息包括在区块链
114中。
[0029] 终端设备104A-B可以包括在服务器节点102A-C远程的设备。在一些实施例中,终端设备104A-B可以与账户相关联。例如,托运人设备104A和/或托运人105可以与第一账户标识符相关联。备选地或者附加地,运送者设备104B和/或运送者106可以与第二账户标识符相关联。账户标识符可以被存储在区块链数据库中,账户仓库被包括在服务器节点104A-C中的一个或多个中和/或被包括在外部系统中。
[0030] 在一些示例中,终端设备104A-B可以与可用于物流控制堆栈110或者由物流控制堆栈110管理的账户相关联。终端设备104A-B可以包括例如托运人设备104A、运送者设备104B、或者能够与服务器节点102A-C中的一个或多个通信的任何其他系统或者设备。托运人设备104A可以包括与航运公司相关联的设备和/或航运公司的账户标识符。运送者设备
104B可以包括与运送者公司相关联的设备和/或运送者公司的账户标识符。物流控制堆栈
110可以管理或者访问与航运公司、运送者公司和/或装运108的运输中所涉及的任何其他公司相关联的账户。物流控制堆栈110可以取决于账户限制特征或者对特征的有限访问。例如,可用于托运人设备104A的特征可以与可用于运送者设备104B的特征不同。
[0031] 如在此所描述的,托运人105和运送者106可以指代相应类型的各方。托运人可以负责销售、制造、零售或者以其他方式期望运送装运108。托运人105可以包括装运组织、装运组织中的用户和/或与装运组织相关联的机器。运送者可以负责提供运输装运108的服务。运送者106可以包括运送者组织、或者运送者组织中的用户和/或与运送者组织相关联的机器。在一些示例中,一个或多个运送者可以与一个或多个运送者订合约以运输装运。例如,运送者106可以在地理位置之间运输装运108。备选地或者附加地,装运108可以在与运送者105订合约的多个运送者之间进行切换。虽然图1将托运人105和运送者106图示为用于系统100的两个类型的各方,但是其他类型的各方也可以存在,包括例如管理者、中间人和/或基础设施。
[0032] 跟踪设备107可以包括能够传递一个或多个装运的状态和/或位置的任何设备。例如,跟踪设备107可以传递装运108的位置或者与装运108有关的事件。备选地或者附加地,跟踪设备107可以传递离开位置和/或到达位置的装运。在其他示例中,跟踪设备107可以在装运的传送之前、期间和/或之后传递装运的实时状态。在一些示例中,跟踪设备107可以接收地理定位信息、确定地理定位和/或确定沿着航运路线的装运108的进展。跟踪设备107可以包括移动电话、传感器、平板电脑、车辆导航系统或者任何其他电子跟踪设备。
[0033] 在一些实施例中,跟踪设备107可以被定位有装运108并且可以从原点118行进到目的地120。例如,跟踪设备107可以物理地被附接到正被运送的商品。备选地或者附加地,跟踪设备107可以物理地被附接到运输商品的车辆。在其他示例中,跟踪设备107可以被包括在运输车辆的电子系统中。例如,跟踪设备107可以被包括在车辆导航系统中。跟踪设备107可以与全球定位系统(GPS)、移动服务提供商或者地理定位服务的任何其他源通信以接收地理定位信息。
[0034] 备选地或者附加地,跟踪设备107可以被包括有多个跟踪设备,其被配置为跟踪装运。跟踪设备可以是固定的或者移动的。例如,跟踪设备可以扫描RFID信息或者装运上或者附近的其他传感器。跟踪设备107可以将与装运有关的地理定位更新传递到服务器节点102A-C中的一个或多个。例如,物流控制堆栈110可以响应于从跟踪设备107接收到的地理位置更新而将块添加到区块链114。
[0035] 备选地或者附加地,跟踪设备107采集的位置和路由信息可以被传递并且视觉或者图形地被表示在用户界面上。图形表示可以描绘在何处装运在该时间点处,或者地理位置可以当信息被传送时被示出在用户界面上,或者地理位置可以被格式化以图示由装运采取的路线。除了其他意图、用法或者目的之外,图形表示可以针对物流堆栈中的托运人或者运送者而被格式化、被操纵、被存储以用于数据分析、“控制塔”目的、装运的重新路由、导航校正、路由优化、账单创建、或者审计目的。
[0036] 装运108可以包括被运输的货运。装运108可以包括车辆、容器、有形商品和/或任何对象或者机器。装运108可以从一个位置被运输到另一个和/或在各方之间传送。例如,装运可以在卡车、船、航空器或者运输的任何其他方法之间传送。跟踪设备107可以被定位在装运108附近、上、中或一起。在其他示例中,跟踪设备107可以被定位在原点、目的地或者沿着航运路线的任何位置处。而且,跟踪设备跟踪的装运量可以随时间变化。在一些示例中,跟踪设备可以跟随装运108。例如,跟踪设备107可以跟踪的单个或多个装运。另外,被用于跟踪装运108的跟踪设备的数目可以变化。装运108可以由运送者106的代理人传送和/或包括运送者106的代理人。例如,装运108可以由卡车或者某种其他形式的车辆传送、由运送者106拥有和/或操作。
[0037] 在一些示例中,跟踪设备107可以接收配置信息。跟踪设备107可以通过物流控制堆栈110而被实时配置。在一些示例中,跟踪设备107可以被配置有装运108的唯一标识符或者多个装运的唯一标识符。备选地或者附加地,跟踪设备107可以被配置有其中跟踪设备被配置为跟踪装运的位置。在一些示例中,跟踪设备107可以被配置有装运108应当采取的路线。备选地或者附加地,跟踪设备107可以接收对用于装运108的路线、到达时间、出发时间或者与装运108有关的任何其他信息的更新。跟踪设备107可以通过改变跟踪设备107的配置而对配置信息的接收者作出响应。
[0038] 跟踪更新108可以包括标识跟踪设备107和/或装运108的位置的任何信息。备选地或者附加地,跟踪更新108可以包括跟踪更新被生成或者与引起跟踪更新有关的事件发生的日期和/或时间。在一些示例中,跟踪更新109可以包括坐标或者任何其他类型的位置信息。备选地或者附加地,跟踪更新109可以包括沿着旅行路线的进展信息和/或跟踪设备107的历史地理位置。在一些示例中,跟踪更新109可以包括装运的唯一标识符。备选地或者附加地,跟踪更新109可以包括被用于配置跟踪设备107的配置信息。区块链数据库112可以包括存储和/或管理一个或多个区块链的仓库。区块链数据库112可以包括存储并且管理区块链114的数据结构和程序。在一些示例中,服务器节点120A-C中的每一个可以包括区块链数据库112的实例。区块链数据库112可以遵守用于插入、删除、验证或者以其他方式管理区块链114的协议。区块链数据库112和/或与区块链数据库112通信的其他部件可以跨其他服务器节点102A-C使区块链114同步。例如,服务器节点102A-C可以包括第一服务器节点102A、第二服务器节点102B和第三服务器节点102C。对第一服务器节点102A处的区块链114的修改可以与第二服务器节点102B和/或第三服务器节点102C同步。
[0039] 在一些示例中,跟踪设备107可以包括车辆跟踪设备。车辆跟踪设备可以包括跟踪被配置有装运108的车辆的跟踪设备107的示例。备选地或者附加地,装运108可以包括车辆和车辆正拖运的商品。车辆跟踪设备可以包括被包括在车辆中或者被定位在车辆附近的跟踪设备的示例。例如,跟踪设备可以是用于卡车、船、火车、航空器和/或任何其他类型的车辆的导航系统。备选地或者附加地,车辆跟踪设备可以包括与车辆的一个或多个操作相关联的移动设备。例如,车辆跟踪设备可以包括被配置有与物流控制堆栈110通信的应用的移动设备。车辆跟踪设备可以传递车辆跟踪更新。车辆跟踪更新可以是与在其中车辆跟踪设备被配置为跟踪的车辆的跟踪更新109的示例。
[0040] 区块链114可以包括跨多个分布式节点存储信息的分布式账本。区块链114可以包括添加在一起形成区块链114的数据块。区块链114可以提供增长的共享数字数据流,其用作运送者106、托运人105和/或在商品的装运中涉及的任何其他方之间的事实的源。区块链114的数据块可以包括起源数据块(即,区块链的初始数据块)。例如,起源块可以是在托运人与运送者之间订合约的初始货运费率。连续的数据块可以随时间被添加到区块链114。区块链可以提供信息的编年账本。连续的数据块中的一个或多个可以包括先前的数据块的散列。对区块链114上的一个或多个数据块的修改可以引起被存储在连续的数据块中的散列信息中的不一致性。不一致性可以由区块链数据库112检测。区块链数据库112可以防止对区块链114上的先前地添加或者现有信息的修改。备选地或者附加地,区块链数据库112可以利用其他服务器节点验证区块链114。在一些示例中,除非大多数或者某个其他预定义数目的服务器节点102A-C同意修改,否则对区块链114的修改可以被禁止。
[0041] 在一些示例中,区块链114可以包括智能合约116。智能合约116可以包括在促进、验证和/或实施合约的义务或者履行的协议下组织的信息。智能合约116可以被包括在区块链114中以帮助管理并且跟踪商品的运输和/或执行FBAP过程。例如,智能合约116可以包括或者基于托运人105与运送者106之间的合约货运费率。装运费率可以属于对于货运运输提供的服务。智能合约116可以包括托运人105与运送者106之间的条文、条款、条件或者其他义务。在一些示例中,智能合约116可以包括被配置为实施货运合约的义务或者其他条款的指令和/或逻辑。备选地或者附加地,智能合约116可以包括被配置为检测在货运合约下的义务的完成或者默认的指令和/或逻辑。在其他示例中,智能合约116可以包括被配置为进行以下各项的指令和/或逻辑:执行货运合约的条款、执行在货运合约下发生的计算机实现的活动、监测信息、和/或对货运合约有关的事件(诸如装运中断或者绕路和嬉戏)进行响应。
[0042] 智能合约116可以包括与一个或多个托运人与一个或多个运送者之间的协议或者提出协议有关的条款和逻辑。智能合约116可以定义一个或多个原点位置、一个或多个目的地、一个或多个装运和/或可以被包括在货运合约中的任何其他参数。智能合约116可以包括监测货运合约的条款的履行的自执行逻辑。
[0043] 智能合约116和/或区块链114可以包括由服务器节点102A-C中的任一个可执行的规则、指令和/或逻辑。智能合约116和/或区块链114可以包括自执行逻辑,其检测信息、执行计算机实现的动作或者对在一方或多方之间提出或者达成协议的任何方式的事件作出响应。自执行逻辑可以被实现在服务器节点102A-C中的任一个上,而不管特定操作系统、硬件或各服务器节点102A-C的其他硬件或者软件约束。因此,自执行逻辑可以对于在其中自执行逻辑被评价或者被执行的硬件、操作系统和/或平台不可知的。由于自执行逻辑被存储在区块链114中,因而对自执行逻辑的未授权改变被最小化并且容易被检测。对自执行逻辑的授权改变被记录在区块链上,使得区块链将所有改变的可审计的记录提供到自执行逻辑和/或授权改变的各方。
[0044] 在一些示例中,智能合约116可以包括被用于计算跟踪度量的指令、规则和/或逻辑。跟踪逻辑可以包括基于智能合约116的自执行逻辑计算的度量和/或被存储在区块链114中的其他逻辑。智能合约116的自执行逻辑可以将预定逻辑应用到输入值(诸如行进距离、行进时间、位置、权重或者与装运108有关的任何其他参数)。自执行逻辑可以基于输入值来计算一个或多个跟踪度量。备选地或者附加地,自执行逻辑可以包括或者访问被用于计算跟踪度量的预定费率。
[0045] 在一些示例中,跟踪度量可以包括运输成本。运输成本可以包括货运价格、滞留价格和/或燃料价格。货运价格可以包括归因于在时间和/或距离上运输货运的成本。滞留价格可以包括在一段时间内滞留货运的成本。燃料价格可以包括在行进的距离上燃料的价格。备选地或者附加地,运输成本可以包括基于智能合约的自执行逻辑计算的任何其他成本。
[0046] 区块链114可以包括一个或多个智能合约和/或各种类型的智能合约的组合。备选地或者附加地,智能合约116可以被存储在区块链114的一个或多个数据块中。物流控制堆栈110可以评估被包括在智能合约116中的信息。在一些示例中,物流控制堆栈110可以访问被包括在智能合约116中的逻辑以执行智能合约116的条款。在一些示例中,智能合约116可以被包括在区块链114的起源数据块中。例如,区块链数据库112可以包括对应于各种智能合约的多个区块链。在其他示例中,智能合约116可以被添加到在其他方案下创建和组织的区块链。例如,区块链数据库112可以创建单独地对应于一个或多个相应的托运人、一个或多个相应的运送者、一个或多个相应的装运、一个或多个相应的原点和/或一个或多个相应的目的地的区块链。智能合约116可以被包括在区块链114的前述示例中的任一个中。
[0047] 原点118可以包括其中装运108的责任被传送给运送者106的地点。目的地120可以包括其中装运108的责任被传送远离运送者106的地点。原点118和/或目的地120可以包括地理位置和/或地理区域。例如,当跟踪设备107移动离开或者移动到地理边界(诸如地理区域和/或地理位置)时,跟踪设备107可以传递跟踪更新109。备选地或者附加地,原点118和/或目的地120可以包括建筑、码头、车辆、集装箱和/或任何其他位置或者边界。装运108可以从原点118被传送到一个或多个运送者运营商,并且然后到目的地120。用于确定用于原点118、一个或多个运送者运营商与目的地120之间的有效传送的情况的逻辑可以被定义在智能合约116的逻辑中。
[0048] 备选地或者附加地,装运108的传送可以基于对应于装运的商品的所有权的有效传送。有效传送可以被定义在合约术语中或者在如在托运人105与运送者106和/或收货人之间的协议中所确定的国际贸易术语中。跟踪设备107和/或一个或多个智能合约可以确定商品的所有权的有效传送。
[0049] 在一些示例中,智能合约116可以定义原点118和/或目的地120的描述。例如,智能合约116可以定义地理边界(诸如地理区域)。在一些示例中,物流控制堆栈110可以将跟踪设备107的地理位置与地理边界相比较来确定何时装运108的责任被传送到或者远离运送者106。备选地或者附加地,物流控制堆栈110可以接收被传递到跟踪设备107或者任何其他设备的传送信息。传送信息可以指示事件发生,诸如提货单被传送到运送者106。智能合约116可以包括由物流控制堆栈110所执行的逻辑,物流控制堆栈110评估传送信息以确定装运108的责任是否被传送到或者离开运送者106。
[0050] 服务器节点102A-C、物流控制堆栈110、客户端终端104A-B、跟踪设备107、原点118和/或目的地120可以经由网络122通信。在一些示例中,网络122可以包括允许的网络。备选地或者附加地,网络122可以是允许的对等网络。例如,托运人105和/或运送者106的允许可以经由网络122控制。对被存储在区块链114上的信息或者由物流控制堆栈110所提供的逻辑的访问可以基于网络122的允许而被控制。因此,在一些示例中,区块链114可以未提供公共访问,并且查看并且添加数据到区块链114的能力可以基于网络的允许而被控制。
[0051] 物流控制堆栈110和/或区块链数据库112可以创建和/或管理针对货运和物流管理定制的专用区块链。专用区块链可以提供有效地跟踪一个或多个装运。备选地或者附加地,专用区块链可以被定制到被包括在专用区块链中的智能合约。专用区块链可以包括针对智能合约116定制的数据块的类型和/或区块链114的目的。
[0052] 图2图示了用于系统100的服务器节点的示例。服务器节点可以包括区块链数据库112和物流控制堆栈110。区块链114可以包括指定类型的数据块。例如,区块链114可以包括一个或多个数据块类型,包括例如合约块202、一致块204、订单块206、跟踪块208、传送块
210、报告块212、后处理块214、和/或针对区块链114定制的任何其他类型的块。
[0053] 合约块202可以包括与货运合约或者与货运服务有关的其他合约有关的信息。例如,合约块202可以包括智能合约116。合约块202可以是区块链114的起源块。在其他示例中,其他数据块可以在合约块202之前。在许多示例中,区块链数据库112可以包括针对每个合约块202和/或智能合约116的分离的区块链。
[0054] 区块链114可以包括一个或多个一致块204。一致块204可以包括一致信息。一致信息可以包括被存储在区块链114上的批准的指示。例如,托运人105或者运送者106可以提出智能合约116。运送者106可以批准智能合约116。一致块204可以存储由运送者106和/或托运人105做出的批准的指示。在另一示例中,任何方可以批准、不批准或者反对智能合约116。与批准、不批准和/或反对有关的信息可以被存储在一致块204中。在一些示例中,物流控制堆栈110可以禁止智能合约116的条款的执行,直到合约块202的一致块已经被添加到区块链114。
[0055] 区块链114可以包括一个或多个订单块。订单块206可以包括与被放置在智能合约116下的货运订单有关的信息。例如,智能合约116可以标识与运费相关联的多个原点/目的地组合。托运人105、运送者106可以放置对应于原点/目的地组合中的一个的订单。运送者
106可以接受或者拒绝订单。在一些示例中,订单块206可以表示区块链114中的分叉。因此,被添加到区块链114的后续的数据块可以链接回到订单块206。区块链114可以包括具有相应的订单块的多个分叉。相应的订单块中的每个订单块可以链接回到合约块202。备选地或者附加地,区块链114的起源块可以包含所有合约参数与原点-目的地组合以及相关联的运费。智能合约116可以利用驱动的合约参数英里来应用商业逻辑,或者基于如由跟踪设备所跟踪的跟踪更新109所确定的其他信息。
[0056] 区块链114可以包括一个或多个跟踪块。跟踪块208可以包括对应于一个或多个装运的跟踪信息。例如,跟踪块208可以包括对应于装运108的地理位置的地理信息。附加地或者备选地,跟踪块208可以包括与在某个时刻处的装运108的进展有关的度量。例如,跟踪块208可以包括指示装运108已经从原点118进展和/或到目的地120的度量或者其他信息。
[0057] 区块链114可以包括一个或多个传送块。传送块210可以包括与装运108的传送有关的信息。例如,传送块210可以包括指示装运108已经离开原点118和/或到达目的地120的信息。备选地或者附加地,传送块210可以包括指示装运108从第一运送者被传送到第二运送者的信息。传送块210可以包括接收装运108的一方和/或发布装运108的一方的账户标识符或者其他标识信息。备选地或者附加地,传送块可以包括与一个或多个装运的风险、负债、保险、国际贸易术语有关的信息。
[0058] 区块链114可以包括一个或多个报告块。报告块212可以包括对应于装运108的历史概要事件。备选地或者附加地,报告块212可以包括基于被存储在区块链114中的事件的订合约方的义务的概要。例如,报告块212可以包括具有根据被包括在智能合约116中的逻辑计算的一个或多个度量的账单。在一些示例中,智能合约116可以包括布局信息。布局信息可以包括定义账单上的信息或者报告的任何其他示例可以如何被组织的方案。在一些示例中,布局信息可以包括XML、HTML或者任何其他类型的指令,其被配置为将信息布置在界面上。布局信息可以生成报告,并且报告可以被存储在报告块212中。
[0059] 区块链114可以包括一个或多个后处理块。后处理块214可以包括与智能合约116的义务的履行有关的事务信息402。例如,智能合约116可以包括托运人105必须为运输装运108支付运送者106的条款。后处理块214可以包括指示托运人106被通知义务的信息。备选地或者附加地,后处理块214可以包括指示运送者106针对被提供给托运人105的货运服务而被支付的信息。在其他示例中,后处理块214可以包括与在智能合约116中定义的义务的通知和/或满意有关的任何信息。
[0060] 在其他示例中,区块链114可以包括注册块(未示出在图2中),注册块可以包括对应于跟踪设备107的注册信息。例如,跟踪设备107可以将包括设备标识符的注册消息发送到物流控制堆栈110。物流控制堆栈110可以将注册块添加到区块链114。注册块可以包括对应于跟踪设备107的注册信息。例如,注册块可以包括跟踪设备107的设备标识符。
[0061] 在一些示例中,区块链114上的一个或多个数据块可以包括基于被包括在智能合约116中的逻辑而生成的状态标识符。例如,智能合约116可以包括用于更新装运108的状态的规则。物流控制堆栈110可以执行智能合约116的逻辑以评估区块链114上的信息和/或由物流控制堆栈110接收到的其他信息以确定装运108的状态。物流控制堆栈110可以在区块链114上存储标识装运108的状态的状态指示符。智能合约116可以包括多个预定义状态指示符,并且物流控制堆栈110可以选择预定状态指示符中的一个或多个。
[0062] 物流控制堆栈110可以与区块链114通信以执行由物流控制堆栈110接收到的请求。使用用于区块链114的各种类型的数据块,物流控制堆栈110可以创建各种区块链,这取决于从被配置为跟踪装运108的设备(诸如跟踪设备107(图1))接收到的信息。在一些示例中,物流控制堆栈110可以执行智能合约116。创建、监测和/或存储在此所描述的各种类型的数据块。
[0063] 图3图示了用于系统100的智能合约116的示例。智能合约116可以包括一个或多个合约参数302和可执行逻辑304。合约参数302可以包括表示合约的条款和限定的信息。合约参数302可以包括定义、测量度量、阈值、费率值或者表示合约中的条款或者定义的任何其他值。表1列出了合约参数的示例。
[0064] 表1-示例合约参数
[0065]
[0066] 可执行逻辑304可以包括代表合约的条款和条件的指令和/或规则。可执行逻辑304可以包括监测被定义在合约中的事件的指令。备选地或者附加地,可执行逻辑304可以包括响应于检测到的事件而执行被定义在合约中的动作的指令。可执行逻辑304可以被执行以实现用于进行与管理分布式账本有关的活动的逻辑。例如,可执行逻辑304可以基于所提供的服务,提供费率的自动计算。备选地或者附加地,追踪和跟踪信息可以由被存储在分布式账本上的自执行逻辑自动地评估以生成和/或更新账单。
[0067] 在一些示例中,可执行逻辑304可以包括跟踪逻辑306。跟踪逻辑306可以包括计算或者更新与一个或多个装运的跟踪有关的度量的可执行逻辑。包括除了其他度量之外,跟踪逻辑306可以确定行进的合格距离的逻辑。行进的合格距离可以包括由智能合约116授权的行进的距离。跟踪逻辑306可以增加针对沿着行进路径行进的英里和/或在距行进路径预定距离内行进的英里的合格英里行进度量。行进路径可以包括原点位置与目的地位置之间的行进路径。在一些示例中,行进路径可以被预定在智能合约116中。
[0068] 跟踪逻辑306可以抑制增加针对未授权绕路行进的合格英里。在一个示例中,跟踪逻辑306可以接收当前位置参数并且将当前位置参数与距行进路径的预定授权距离相比较。跟踪逻辑306可以确定距离行进远离或者离开、预定行进路径超过预定授权距离。跟踪逻辑306可以不增加响应于未授权绕路行进的合格英里。备选地或者附加地,跟踪逻辑306可以增加不合格英里行进度量。
[0069] 除了其他方面之外,跟踪逻辑306还可以确定合格滞留时间和/或空闲时间。合格滞留时间可以包括一个或多个装运由于未由运送者106引起的积压或者延迟同时装运仍然在运送者的运输下的时间。在一些示例中,滞留适用于运送者106的合格空闲时间。滞留还可以在运送者106装运拾取或者在原点地点处时发生。空闲时间可以包括装运由于嬉戏或者绕道保持固定的时间。
[0070] 为了确定合格滞留时间,跟踪逻辑306可以将装运108的地理位置与许可滞留区域相比较。许可滞留区域可以包括运送者被许可保持空闲的地理区域。例如,许可滞留区域可以包括在目的地位置或者其他地理位置(诸如原点)周围的地理区域。当目的地位置可以通过装运的接收变得积压时,输入装运可以在许可滞留区域内保持固定。跟踪逻辑306可以响应于被定义在跟踪逻辑306中的规则而增加滞留时间。例如,跟踪逻辑306可以接收跟踪设备107的当前地理位置、在目的地位置处的可用加载区域的数目、跟踪设备107已经保持空闲的时间量和/或其他相关信息,并且基于规则确定空闲时间是否是合格滞留时间。备选地或者附加地,跟踪逻辑306可以响应于检测到装运、装运的运送者和/或跟踪设备107被定位在好的位点、被传送到另一运输方法、被上载/卸载和/或延迟的任何其他检测原因,而增加合格检测时间。
[0071] 在其他示例中,跟踪逻辑306可以基于被提供到跟踪逻辑306的参数和/或被定义在智能合约116中的合约参数来计算各种度量。表2列出了由伪代码表示的可执行逻辑的示例。
[0072] 表2-度量计算
[0073]
[0074] 区块链方案的智能合约可以提供优化卡车拖车或者装运集装箱中的货物的放置和容量的算法能力。这可以适于其中托运人(即,运输服务提供商的客户)具有小于整车装载(LTL)或者整集装箱装载(LCL)并且运输服务提供商可以将若干不同的客户的货物上载到一个分立装运单元(诸如整车装载(FTL)或者整集装箱装载(FCL))。当卡车、船只、飞机、火车、拖车和集装箱具有体积和重量容量约束时,智能合约可以结合物流控制堆栈被编程,以考虑个体装运的重量和尺寸容量并且将他们连结到最少数目的拖车或者集装箱中,同时遵守运输的模式和运输方法(例如,拖车或者集装箱)的物理容量约束。
[0075] 物流控制堆栈110可以从跟踪设备107和/或被定位在装运108上或附近的其他传感器接收重量信息。跟踪逻辑308可以将重量信息存储在区块链114上。跟踪逻辑308可以计算与装运的重量有关的跟踪度量,包括例如装运的重量中的改变和/或与装运的重量有关的成本。例如,跟踪逻辑308可以执行用于LTL装运的以下计算:
[0076] 计费重量=体积重量或者实际重量中的较大者
[0077] 体积重量=(高*宽*长)/(体积装运因子)
[0078] 装运价格=计费重量*每计费费率的费率
[0079] 在一些示例中,当装运108包括LTL装运时,计费重量、体积重量和/或装运价格可以被添加到区块链。
[0080] 可执行逻辑304可以附加地包括传送逻辑308。传送逻辑308可以包括确定装运108何时已经实现智能合约116中限定的义务和/或一致块中的合约条款的逻辑。备选地或者附加地,装运实现基于国际贸易术语以及一致块中的合约条款。例如,传送逻辑308可以包括逻辑,其结合一致块中的合约条款确定当装运108已经到达目的地并且商品接收已经发出并且运送者从装运义务释放时装运完成。备选地或者附加地,竞争逻辑可以包括响应于装运108被传送到另一运送者而确定装运完成的逻辑。在一些示例中,传送逻辑308可以响应于装运108被定位在对应于目的地的地理位置处和/或地理区域中而确定装运完成。备选地或者附加地,传送逻辑308可以响应于装运108被定位在对应于目的地的地理位置处和/或地理区域中大于预定时间量而确定装运完成。预定时间量可以被包括在智能合约116中。
[0081] 在一个示例中,装运108可以从第一运送者被传送到第二运送者。第一运送者可以包括例如地面运输并且第二运送者可以包括例如空中运输。传送逻辑308可以响应于装运108被传送到用于第二运送者的地理区域(诸如上载区域)而确定装运针对第一运送者完成。上载区域可以包括上载码头、航运轨道、集装箱或者任何领域范围区域。
[0082] 备选地或者附加地,传送逻辑可以使用GPS数据和地理围栏,以在装运108移动通过运输的不同的模式时跟踪商品的所有权和责任,例如在装运的责任的原点处并且当商品通过装货码头到拖车/集装箱中时商品的所有权移动到卡车公司;在海运装卸港处,一旦拖车/集装箱在船的轨道上移动,海运运送者就保留用于来自卡车公司的装运的责任。运送者与托运人之间的所有权和责任的传送基于一致的国际贸易术语。
[0083] 可执行逻辑304可以附加地包括报告逻辑310。报告逻辑310可以包括确定如何将报告信息创建、格式化和/或传递到外部系统、用户和/或设备的逻辑。报告信息可以包括从区块链114所采集的信息和/或基于被存储在区块链114中的信息所生成的信息。例如,报告逻辑310可以包括从区块链114上的数据块中的一个或多个采集信息的逻辑。报告逻辑310可以执行对数据的附加计算和/或修改。例如,报告逻辑310可以包括跟踪逻辑306,其包括例如在表2中定义的跟踪逻辑306。在一些示例中,报告逻辑310根据预定义报告格式组织信息。在一些示例中,预定义报告格式在智能合约116通过例如客户端设备被添加到区块链114时被创建。因此,预定义报告格式可以被存储在智能合约116和/或区块链114上的任何数据块中。在一些示例中,报告逻辑310可以包括生成账单的逻辑。账单可以包括先前地所讨论的跟踪度量中的任一个。
[0084] 可执行逻辑304可以附加地或者备选地包括通知逻辑312。通知逻辑312可以包括可执行用于通知用户和/或系统某些事件已经发生或者检测的规则。例如,通知逻辑312可以包括响应于装运108保持固定比预定时间更长而通知用户的逻辑。备选地或者附加地,通知逻辑312可以包括响应于装运108行进太远离行进路线而通知用户的逻辑。在一些示例中,通知逻辑312可以包括通知用户装运108将到达目的地位置的逻辑。备选地或者附加地,通知逻辑可以包括通知用户装运108在途中是否固定超过预定分钟数的逻辑。智能合约116可以包括被用于执行通知的标识符、地址和联系信息。另外,智能合约116可以包括通知方法,倾向例如文本、语音、电子邮件或者任何其他形式的通信信道。物流控制堆栈110可以将通知的记录存储在区块链114上的一个或多个数据块中。
[0085] 备选地或者附加地,当卡车远离相应的原点或者目的地特定数目的分钟或者英里时,通知可以被发送到原点118、目的地120或者任何其他位置处的用户。在一些示例中,GPS、地理位置和区块链功能变为用于位置人员协调入站和出站卡车的“空中交通控制”系统,优化卡车的序列并且协调交通的平稳流动。
[0086] 使用各种类型的数据块,合约参数302和/或可执行逻辑304、区块链114包括各种种类的数据块。
[0087] 图4A-C图示了用于系统100的区块链114的示例。数据块401(分别地被示出在图4A、图4B和图4C中的部分)可以包括事务信息402。事务信息402可以包括描述事件的日志。
事件可以包括例如费率合约的创建、费率合约的批准、货运订单的创建、货运订单的接受、跟踪更新109的接收、账单的加载、交付、创建、账单的接受、账单的支付、登记、签出、发出的商品、商品、收据、空闲事件、驾驶英里、交付的证据和/或与装运108有关的任何其他类型的信息的接收。备选地或者附加地,事务信息402可以包括账户的标识信息、事务发生的时间和/或与事务有关的任何其他信息。
[0088] 数据块401可以包括编码404。编码404可以包括被包括在一个或多个先前的数据块中的信息的编码版本。例如,编码404可以包括一个或多个先前的数据块的散列。备选地或者附加地,编码404可以包括包括一个或多个先前的数据块的地址的指针。数据块可以使用默克尔树或者适于区块链技术的任何其他类型的数据结构来进行组织。本领域的普通技术人员将理解到,区块链114的其他变型可以存在并且被包括在被图示在图4A-C中的区块链114的块中的信息可以变化。
[0089] 参考图4A,区块链114可以包括数据块的第一集合401A-D。数据块的第一集合401A-D可以包括第一数据块401A。第一数据块401A可以包括参考图2先前地所描述的合约块202的示例。第一数据块401A的事务信息402可以指示货运合约在区块链114上被创建。事务信息402可以包括与货运合约相关联的账户和/或用户的标识符。例如,事务信息402信息可以包括使得合约块202被创建的用户和/或账户的标识符。
[0090] 数据块的第一集合401A-D可以包括第二数据块401B。第二数据块可以包括参考图2先前地讨论的一致块204的示例。第二数据块的事务信息402可以指示一方(诸如托运人
105或者运送者106)批准智能合约116。事务信息402可以包括该方(批准货运合约的账户和/或用户)的标识信息。
[0091] 数据块的第一集合401A-D可以包括第三数据块401C。第三数据块401C可以包括参考图2先前地讨论的订单块206的示例。第三数据块401C可以包括装货单参数410。装货单参数410可以包括货运订单的细节。例如,装运单参数可以标识被包括在智能合约116中的信息。例如,货运订单参数可以包括合约标识符、装运标识符、原点和/或目的地120(参见图1)的标识符、或者标识被包括在智能合约116中的信息的任何其他信息。
[0092] 数据块的第一集合401A-D可以包括第四数据块401D。第四数据块401D可以包括参考图2先前地讨论的一致块204的第二示例。第四数据块401D可以包括事务信息402,其指示一方同意由第三数据块401C所标识的货运订单。例如,第四数据块401D可以响应于托运人105和/或运送者106批准货运订单而被创建。
[0093] 当信息被存储在区块链114上时,智能合约116和/或系统100中的其他逻辑可以检测事件、执行计算和/或生成附加数据。例如,如参考图1所讨论的,跟踪设备107可以传递跟踪更新。跟踪更新和/或与跟踪更新有关的信息可以被存储作为区块链114上的一个或多个数据块。备选地或者附加地,智能合约116的可执行逻辑304可以被执行以监测用于由智能合约116所标识的事件的跟踪更新。备选地或者附加地,可执行逻辑304可以创建被存储在数据块401中的信息。
[0094] 参考图4B,区块链114可以包括数据块的第二集合401E-G。数据块的第二集合401E-G可以包括参考图2先前地所描述的跟踪块208的示例。被包括在数据块的第二集合
401E-G中的一个或多个数据块可以包括跟踪信息412A-C和/或货运表414A-C。
[0095] 跟踪信息412A-B可以包括描述在某个时刻处和/或在时间间隔期间的装运108的位置的信息。例如,跟踪信息412A-B可以包括装运108的地理位置、自从先前的跟踪事件被添加到区块链114行进的英里数、从原点位置行进的英里的数量、装运108的历史行进路径和/或可以标识装运108的当前位置和/或装运108已经在何处的任何其他信息。
[0096] 货运表414A-C可以包括跟踪度量和描述从原点118和/或到目的地120的装运108的进展的其他信息。跟踪度量可以基于跟踪更新109或者与装运108有关的其他信息而被直接地插入到货运表414A-C中的一个或多个中。备选地或者附加地,跟踪度量可以是计算值。例如,跟踪逻辑306或者被包括在智能合约116中的其他可执行逻辑可以生成跟踪度量中的一个或多个。表3列出了可以被包括在货运表中的信息的示例。
[0097] 表3-货运表
[0098]
[0099]
[0100] 表3提供了货运表的非限制性示例。总的来说,货运表可以包括在装运108的生命周期期间跟踪的任何度量。备选地或者附加地,货运表可以包括被用于执行跟踪度量的计算的任何信息。例如,燃料费率或者其他可变成本可以在装运的过程中变化。货运表可以包括被用于计算一个或多个跟踪度量的一个或多个变化的成本。因此,数据块401E-401G中的每一个可以是跟踪度量的信息、以及用于在特定时刻处计算跟踪度量的信息。区块链114作为整体可以提供跟踪度量的详细历史账本。
[0101] 区块链114可以附加地包括第八数据块401H。第八数据块401H可以包括参考图1先前地讨论的传送块210的示例。第八数据块的事务信息402可以指示与各方之间的装运108的传送有关的时间、位置和/或其他信息。例如,传送块210可以包括RFID扫描或者通过托运人105、运送者106或者另一方与物流控制堆栈110的其他交互的接收。
[0102] 区块链114可以包括在装运108已经到达目的地和/或在检测到与装运108有关的其他事件时货运合约的条款和条件如何被实现的信息。
[0103] 参考图4C,区块链114可以包括数据块的第三集合401I-L。数据块的第三集合401I-L可以包括区块链114的第九数据块401I。第九数据块401I可以包括参考图1先前地所描述的报告块212的示例。第九数据块401I可以包括报告416。报告416可以包括被存储在区块链114上的任何信息。报告416的示例可以包括账单、收据、状态更新或者任何其他类型的信息概要。例如,报告416可以包括被包括在货运表414A-C中的任何信息。备选地或者附加地,报告416可以包括针对报告416所生成的新货运表。例如,智能合约116的可执行逻辑304可以在装运108已经到达目的地120之后生成用于报告416的货运表。备选地或者附加地,报告416可以包括任何跟踪度量、合约参数或者被存储在区块链114上的任何其他信息。
[0104] 数据块的第三集合401I-L可以包括第十数据块401J。第十数据块可以包括参考图2先前地讨论的一致块204的第三示例。第十数据块401J的事务信息402可以包括用户批准、不批准或者提出报告416的修改的指示。例如,第十数据块401J的事务信息402可以包括批准账单、不批准账单或者提出对账单的修改。
[0105] 数据块的第三集合401I-L可以包括第十一数据块401L。第十一数据块L可以包括参考图2先前地所描述的后处理块214的示例。例如,第十一数据块401L的事务信息402可以包括用于运送服务的支付已经被接收的指示。第十一数据块401L的事务信息可以包括支付被提交的时间。备选地或者附加地,第十一数据块的事务信息402可以包括账户信息或者与支付有关的其他标识信息。
[0106] 数据块的第三集合401I-L可以包括第十二数据块401K。第十二数据块401K可以包括参考图1所描述的一致块204的第四示例。第十二数据块401K的事务信息402可以指示用于运送服务的支付被接受。
[0107] 数据块401A-K可以表示贯穿运送过程的生命周期一个或多个装运的历史。应当理解,在图4A-C中所描述的区块链114仅是许多可能的区块链和数据块的布置的一个示例。例如,区块链114可以包括用于跟踪从多个原点到多个目的地的一个或多个装运的许多数据块。备选地或者附加地,区块链114可以包括多个分叉。在一些示例中,多个分叉中的每个分叉可以对应于分离的货运订单。例如,每个分叉可以包括用于跟踪相应装运的分离的数据块。
[0108] 图5图示了系统100的用例的示例。在502处,运送者设备104B或者与服务器节点102A-C中的一个或多个通信的任何其他类型的电子设备可以引起智能合约116的创建。在一些示例中,物流控制堆栈110可以将指令(诸如用于应用的HTML或者参数)传递到运送者设备104B。运送者设备104B可以将参数传递给物流控制堆栈110并且物流控制堆栈110可以创建智能合约116。物流控制堆栈110可以将合约数据块添加到区块链114。例如,物流控制堆栈110可以使得区块链数据库112将第一数据块401A添加到区块链114。
[0109] 在504处,托运人105或者另一方可以批准和/或拒绝智能合约116。托运人的批准或者不批准的记录可以被存储在区块链114上以创建智能合约116的协商和/或修改的完整记录。区块链114可以包括一致块204。例如,第二数据块401B(图4B)可以被存储在区块链114上。第二数据块401B可以包括指示智能合约116的批准的事务信息402。因此,托运人的批准或者不批准可以有助于与智能合约116有关的数据块的成长历史。在其他示例中,对智能合约116的修改、买方还价或者对运送智能合约的任何其他更新可以被存储在区块链114上。还应当理解,在其他示例中,托运人设备104A可以创建智能合约116。备选地或者附加地,合约信息可以从外部系统(诸如客户端数据库)被输入到服务器节点102A-C中的一个或多个。
[0110] 在506处,托运人设备104A可以使得货运订单被创建。货运订单可以标识在各方之间先前地批准的智能合约116的条款。物流控制堆栈110可以使得订单块206被添加到区块链114。例如,第三数据块401C(图4A)可以被添加到区块链114。第三数据块401C可以包括装货单参数410。除了其他信息之外,装货单参数可以定义装运108的原点118、装运108的目的地、装运108的描述、交货时间、作业标识符和与在此所描述的装运108有关的其他细节。
[0111] 在508处,运送者106可以接受货运订单。例如,运送者设备104B可以与物流控制堆栈110和/或区块链数据库112通信,以将指示托运人105已接受货运订单的数据块存储在区块链114上。物流控制堆栈110可以使得另一个一致块204被添加到区块链114。例如,物流控制堆栈110可以将第四数据块401D(图4A)添加到区块链114。备选地或者附加地,运送者106可以拒绝货运订单。与货运订单的任何交互可以被添加在区块链114上作为被添加到事务的成长列表的数据块。
[0112] 在510处,跟踪设备107可以将跟踪更新109传递到服务器节点102A-C中的一个或多个。跟踪更新109可以包括标识在智能合约116中所标识的一个或多个装运的地理位置的信息和/或装货单参数410。当地理信息从跟踪设备107被接收时,被包括在智能合约116中的可执行逻辑304或者区块链114上的任何其他智能合约可以处理跟踪更新109。一个或多个跟踪块可以被添加到区块链114。例如,数据块401E-G(图4B)可以响应于接收到一个或多个跟踪更新而被添加到区块链114。
[0113] 在512处,托运人设备可以对通知和由物流控制堆栈110所生成的其他信息作出响应。例如,物流控制堆栈110可以监测区块链114和/或从跟踪设备107、终端设备104A-B和/或外部系统接收到的信息。在一些示例中,物流控制堆栈110可以执行被存储在一个或多个区块链上的一个或多个智能合约的可执行逻辑304。例如,物流控制堆栈110可以执行智能合约116的通知逻辑312以生成通知。物流控制堆栈110可以将通知发送到用户、账户或者在智能合约116中所标识的其他接收者。在一些示例中,托运人设备104A可以传递对接收到的信息的确认。
[0114] 在514处,运送者设备104B可以使得报告在区块链114上被创建。例如,运送者设备104B可以从物流控制堆栈110接收显示指令以显示一个或多个装运的当前状态。用户可以确定装运108被完成并且使得账单或者报告416的任何其他示例被创建。账单可以被存储在区块链114上。例如,账单可以被包括在第九数据块401I(图4C)中并且被添加到区块链114。
备选地或者附加地,物流控制堆栈110可以监测区块链114和/或接收到的信息以确定是否生成账单。例如,物流控制堆栈110可以执行传送逻辑308或者可执行逻辑304(图3)的任何其他示例以确定如何并且何时生成账单。
[0115] 在516处,托运人设备可以接受账单或者其他类型的报告。例如,物流控制堆栈110可以将托运人105接收到的确认接收到账单中。备选地或者附加地,托运人设备104可以批准账单并且物流控制堆栈110可以接收批准消息。物流控制堆栈110可以将描述账单的接受的另一个一致块204添加到区块链114。例如,第十数据块401J(图4C)可以被添加到区块链114。在其他示例中,与账单有关的调节、修改、拒绝和其他布置可以被添加到区块链114。
[0116] 在518处,托运人设备可以使得一个或多个后处理数据块被添加到代表用于所提供的服务的支付的区块链114。例如,托运人设备104A和/或支付系统可以将支付信息传递到物流控制堆栈110。支付信息可以表示用于提供的装运服务的支付。例如,第十一数据块401L(图4C)可以被添加到区块链114。在320处,托运人设备104A可以接受和/或确认支付,并且指示支付已被接受和/或确认的另一个一致块204可以被添加到区块链114。例如,第十二数据块401K(图4C)可以被添加到区块链114。
[0117] 图6图示了用于系统100的流程逻辑的第一示例。物流控制堆栈110可以接收跟踪更新109(602)。跟踪更新109可以由跟踪设备107创建。物流控制堆栈110可以标识智能合约116。智能合约116可以包括被配置为计算一个或多个跟踪度量的可执行逻辑和/或指令(604)。
[0118] 物流控制堆栈110可以使用智能合约116确定跟踪度量(606)。例如,物流控制堆栈110执行跟踪逻辑306,或者被包括在智能合约116中的其他可执行逻辑。在一些示例中,物流控制堆栈110可以响应于对跟踪更新109的接收,执行跟踪逻辑306或者可执行逻辑的其他示例。更一般地,当跟踪设备107和/或其他设备将信息发送到物流控制堆栈110时,可执行逻辑304可以使得数据块被添加到区块链114。数据块可以包括根据可执行逻辑304所生成的信息。在一个示例中,为了确定跟踪度量,物流控制堆栈110可以标识被添加在区块链
114中的先前的数据块,先前的数据块包括先前的地理位置信息。物流控制堆栈110可以将当前地理位置信息和先前的地理位置信息应用到跟踪逻辑306。例如,跟踪逻辑306可以包括程序、公式或者接收参数的某个其他算法。物流控制堆栈110可以基于被包括在数据块中的地理位置信息和/或被包括在先前数据块中的先前地理位置信息的比较,计算跟踪度量。
[0119] 物流控制堆栈110可以将数据块添加到区块链114,数据块包括跟踪度量(608)。备选地或者附加地,数据块可以包括对应于跟踪设备107的当前地理位置的地理位置信息。在一些示例中,物流控制堆栈110可以在区块链114的先前的数据块中标识跟踪表(例如,跟踪表414A-C(图4B)中的一个或多个)。物流控制堆栈110可以利用跟踪度量更新跟踪表。备选地或者附加地,物流控制堆栈110可以生成更新的跟踪表。物流控制堆栈110可以包括数据块中的更新的跟踪表。更新的跟踪表可以包括基于先前的数据块和由跟踪设备107所提供的跟踪更新109的比较而计算的更新的跟踪度量。
[0120] 物流控制堆栈110可以确定与跟踪设备107相关联的装运108已经到达目的地120(610)。物流控制堆栈110可以确定在智能合约116中所标识的一个或多个条件被完成和/或被满足。例如,物流控制堆栈可以确定跟踪设备107已经针对被包括在智能合约116中的预定时间量保持固定。备选地或者附加地,物流控制堆栈110可以确定跟踪设备107被定位在由智能合约116所标识的地理区域中。如先前地讨论的,在一些示例中,智能合约116的可执行逻辑可以包括传送逻辑308。物流控制堆栈110可以执行传送逻辑308(610)。例如,物流控制堆栈110可以响应于对跟踪更新109的接收而执行传送逻辑308以确定装运已经到达目的地120。
[0121] 物流控制堆栈110可以基于被包括在区块链114中的信息来生成报告416(图4C)(612)。例如,报告可以包括一个或多个跟踪度量。在一个示例中,报告416可以包括账单,其包括在此所描述的跟踪度量中的任一个。物流控制堆栈110可以响应于确定装运108已经到达目的地而生成报告416。
[0122] 物流控制堆栈110可以传递报告416(614)。例如,物流控制堆栈110可以将报告416传递到接收者。接收者可以被标识在智能合约116中或者在区块链114上的任何数据块中。在一些示例中,物流控制堆栈110可以生成被配置为使得远程设备显示界面的链接。界面可以包括跟踪度量。
[0123] 物流控制堆栈110可以使区块链114同步(616)。例如,物流控制堆栈110可以将区块链114与被存储在服务器节点远程的数据库中的多个区块链同步。物流控制堆栈110可以将区块链同步消息接收和/或传递到一个或多个远程服务器节点。区块链同步消息可以包括区块链114的全部或部分。例如,新数据块可以被添加到区块链114并且区块链同步消息可以包括新数据块。在一些示例中,区块链114的同步可以包括在没有其他服务器节点的同意的情况下将编辑限于数据块。例如,区块链数据库112可以在其将许可数据块的修改之前要求大多数服务器节点的同意。
[0124] 图7图示了用于系统100的流程逻辑的第二示例。物流控制堆栈110可以接收货运合约参数(702)。例如,终端设备104A-B中的一个或多个可以将货运合约参数传递到一个或多个服务器节点。货运合约参数可以包括参考图1先前地讨论的合约参数302和/或可执行逻辑304。
[0125] 物流控制堆栈110可以响应于对货运合约参数的接收而生成智能合约116(704)。物流控制堆栈110可以将智能合约116存储在数据块中(706)。在一些示例中,物流控制堆栈
110可以创建用于智能合约116的区块链114并且将智能合约116存储在区块链114的起源数据块中。例如,区块链数据库112可以包括具有相应的起源块的多个区块链。相应的起源块可以包括相应的智能合约。
[0126] 在一些示例中,物流控制堆栈110可以与跟踪设备交互来对跟踪设备进行配置。跟踪设备的配置可以被存储在区块链上。例如,物流控制堆栈110可以利用装运标识符、目的地信息、路由信息、对应于运送者106的账户信息和/或属于装运108的任何其他信息或者跟踪设备107可以跟踪的附加装运来更新跟踪设备。
[0127] 图8图示了用于系统100的流程逻辑的第三示例。物流控制堆栈110可以从区块链114取回智能合约116(802)。物流控制堆栈110可以基于智能合约116确定事件的发生(804)。例如,智能合约的可执行逻辑304可以利用其他信息被执行以确定装运108被传送到运送者106。备选地或者附加地,智能合约的可执行逻辑304可以利用其他信息被执行以确定装运108从运送者被传送到目的地120。备选地或者附加地,物流控制堆栈可以确定与装运108有关的事件的任何发生和/或针对装运108所提供的服务。
[0128] 物流控制堆栈可以响应于事件的发生的确定而将跟踪设备107重新编程。例如,物流控制堆栈110可以向跟踪设备107传递注册消息。注册消息可以包括区块链的标识符、智能合约和/或与区块链相关联的任何其他信息。备选地或者附加地,注册消息可以包括许可跟踪设备与服务器节点102A-C中的一个或多个和/或区块链114通信的认证信息。认证信息可以与托运人105和/或另一方相关联。跟踪设备107可以包括来自跟踪更新109的注册消息的信息。物流控制堆栈可以基于来自注册消息的信息,许可和/或拒绝对区块链114的修改。
[0129] 备选地或者附加地,控制消息可以指示跟踪设备开始和/或停止跟踪更新的通信。例如,物流控制堆栈110可以将合约参数302、可执行逻辑304和/或被包括在智能合约116中的其他信息传递到跟踪设备107。由于可执行逻辑304可以自执行并且对于由跟踪设备107所施加的硬件或者软件约束不可知,因而可执行逻辑可以执行在任何种类的跟踪设备上。
可执行逻辑304可以通知跟踪设备何时开始跟踪、停止跟踪或者物流控制堆栈110期望的信息的类型。
[0130] 在另一示例中,控制消息可以指示跟踪修改行进路线、来自原点118的出发时间和/或在目的地120处的到达时间。例如,物流控制堆栈110可以操作为监测用于跟踪从跟踪设备接收到的信息的一个或多个区块链的交通控制系统。物流控制堆栈110可以基于被存储在一个或多个区块链中的信息,确定交通模式、瓶颈和调度上载/卸载时间。备选地或者附加地,物流控制堆栈110可以基于被存储在一个或多个区块链中的信息,确定对行进路线、出发时间和/或到达时间的修改。物流控制堆栈110可以经由被发送到一个或多个跟踪设备或者与用于装运108的操作者通信的另一电子设备来传递修改。
[0131] 物流控制堆栈110可以向区块链114添加包括跟踪设备信息的数据块(808)。跟踪设备107信息可以包括跟踪设备107的注册消息、控制消息和/或任何其他信息。因此,区块链114可以包括跟踪设备107如何被编程和/或哪个跟踪设备被用于跟踪装运108的记录。
[0132] 图9图示了用于系统100的流程逻辑的第四示例。物流控制堆栈110可以显示一个或多个事务类型(902)。例如,显示界面可以传递用于显示一个或多个事务类型的指令。在一些示例中,物流控制堆栈110可以生成显示界面,其包括与相应的事务类型标识符相关联的一个或多个标签。
[0133] 物流控制堆栈110可以接收选择输入消息(904)。选择输入消息可以指示相应的事务类型标识符中的一个或多个。例如,选择输入可以包括指向被显示在显示界面上的一个或多个事务类型标识符的信号。
[0134] 物流控制堆栈110可以标识与事务类型标识符相关联的数据块(906)。物流控制堆栈110可以显示被包括在数据块中的信息(908)。例如,物流控制堆栈110可以显示智能合约116(图1)、装货单参数410(图4A)、一个或多个货运表414A-B(图4B)、跟踪信息412A-C、事务信息402、报告416(图4C)和/或可以被包括在区块链114中的任何其他信息,如在此所描述的。
[0135] 图10A-B图示了用于系统100的显示界面1002的第一示例。参考图10A,显示界面1002可以包括可选择的图标、按钮、文本或者任何其他类型的可选择的信息。例如,显示界面1002可以包括与数据块类型相关联的一个或多个标签1004。选择标签1004中的任一个可以显示对应于标签1004的类型的一个或多个数据块。参考图1的讨论描述了各种类型的数据块。标签1004中的一个或多个的选择可以导致区块链信息被显示用于一个或多个数据块。参考图10B,在一些示例中,显示界面1002可以示出区块链流路径。区块链流路径1006可以包括可以被选择以显示与可选择的数据块有关的信息的可选择的块。区块链流路径1006可以图示根据被存储在区块链数据库112中的区块链链接在一起的多个数据块。备选地或者附加地,显示界面1002可以包括显示在区块链114上发生的历史事务的事务历史表1008。
在一些示例中,数据块、事务和/或订单可以基于原点/目的地而过滤。例如,显示界面1002可以包括允许区块链114上的信息基于原点/目的地和/或被存储在智能合约或者区块链
114中的任何其他参数而被过滤。图11图示了用于系统100的显示界面1002的第二示例。物流控制堆栈110可以显示显示界面1002和/或将显示界面传递到终端设备104A-B中的一个或多个。终端设备104A-B可以与显示界面104A-B交互,如下面所描述的。
[0136] 在一个示例中,托运人设备104A可以记录到物流控制堆栈110中。托运人设备104A可以具有由物流控制堆栈110管理或者访问的账户。托运人设备104A可以显示在托运人105与一个或多个运送者之间做出的合约。例如,显示器包括显示一个或多个智能合约和/或合约标识符的表。在一些示例中,每行可以对应于分离并且不同的区块链。备选地或者附加地,每行可以包括来自区块链114中的一个或多个数据块的信息。
[0137] 图12图示了用于系统100的显示界面1002的第三示例。显示界面1002可以显示装货单和/或装货单的相应状态。订单的相应状态可以基于被存储在数据块114中的信息而被更新。在一些示例中,状态信息可以被存储在区块链114上的数据块中。在其他示例中,物流控制堆栈110可以针对对应于事件的一个或多个一致数据块而搜索区块链。例如,状态“批准的”可以指代指示智能合约116被批准的一致数据块被添加到区块链114。
[0138] 图13图示了用于系统100的显示界面1002的第四示例。如在图13中所图示的,对应于装运的状态被同步,并且实时做出任何更新。用户可能能够选择货运订单中的一个或多个。显示界面1002可以提示用户接受或者拒绝订单。当用户接受或者拒绝订单时,物流控制堆栈110可以将指示接受或者拒绝的数据块添加到区块链114。例如,物流控制堆栈110可以将参考图1所描述的一致数据块添加到区块链114。
[0139] 显示界面可以附加地包括分配按钮。分配按钮可以使得用户能够将驾驶员分配给装运单。当驾驶员被选择时,物流控制堆栈110可以将指示驾驶员被分配给货运订单的数据块添加到区块链114。备选地或者附加地,物流控制堆栈110可以将指示货运订单的状态已经改变的数据块添加到区块链114。例如,当驾驶员被分配给货运订单时,货运订单的状态可以改变到“在运送中”。
[0140] 可以利用附加的、不同的或者更少的部件来实现系统。在流程图中所图示的逻辑可以包括比所图示的附加的、不同的或者更少的操作。所图示的操作可以以与所图示的不同的次序来执行。可以利用比所图示的附加的、不同的或者更少的部件来实现系统100。
[0141] 图14图示了系统100的示例。系统100可以包括处理器1302和存储器1304。处理器1302可以与存储器1304通信。在一个示例中,处理器1302还可以与附加元件(诸如网络接口(未示出))通信。处理器1302的示例可以包括通用处理器、中央处理单元、微控制器、服务器、专用集成电路(ASIC)、数字信号处理器、现场可编程门阵列(FPGA)和/或数字电路、模拟电路或其某种组合。
[0142] 处理器1302可以是可操作以执行逻辑的一个或多个设备。逻辑可以包括被存储在存储器1304中或者在其他存储器中的可执行指令或者计算机代码,其当由处理器1302执行时,使得处理器1302执行由系统100的逻辑所实现的特征。计算机代码可以包括利用处理器1302可执行的指令。
[0143] 存储器1304可以是用于存储并且取回数据或其组合的任何设备。存储器1304可以包括非易失性存储器和/或易失性存储器,诸如随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM)或者闪速存储器。备选地或者附加地,存储器1304可以包括光学、磁性(硬驱动)或者任何其他形式的数据存储设备。
[0144] 存储器1304可以包括系统中的部件中的至少一个,包括例如服务器节点102A-C中的一个或多个、物流控制堆栈110、区块链数据库112、区块链114、智能合约116和/或在此所描述的任何其他子部件。另外,存储器1304可以包括先前地所讨论的任何其他部件和/或在此所描述的系统100的其他部件。
[0145] 可以以许多不同的方式来实现系统100。例如,系统100的每个部件可以包括电路或者电路装置。每个电路或者电路装置可以是硬件或者硬件和软件的组合。电路可以包括系统100、和/或在此所描述的系统的其他部件和子部件。例如,电路可以包括物流控制堆栈110、区块链数据库112、区块链114、智能合约116和/或在此所描述的任何其他部件或者子部件。例如,每个电路或者电路可以包括专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字逻辑电路、模拟电路、分立电路的组合、门或者任何其他类型的硬件或其组合。备选地或者附加地,每个电路可以包括存储器硬件,诸如存储器1304的部分,例如,其包括利用处理器1302或者其他处理器1302可执行用于实现电路装置的特征中的一个或多个特征的指令。当电路中的任一个包括包含利用处理器1302可执行的指令的存储器1304的部分时,电路装置可以或可以不包括处理器1302。在一些示例中,每个电路装置可以仅是存储器1304或者其他物理存储器的一部分,其包括利用处理器1302或者其他处理器可执行用于在没有包括任何其他硬件的电路装置的情况下实现对应的电路的特征的指令。由于每个电路包括至少一些硬件,甚至当所包括的硬件包括软件时,每个电路装置可以可交换地被称为硬件电路装置。
[0146] 一些特征被示出被存储在计算机可读存储介质中(例如,作为计算机可执行指令或者数据结构被实现在存储器中的逻辑)。系统100和其逻辑和数据结构的全部或部分可以被存储在一种或多种类型的计算机可读存储介质上、跨其分布或者从其读取。计算机可读存储介质的示例可以包括硬盘、软盘、CD-ROM、闪盘驱动器、高速缓存、易失性存储器、非易失性存储器、RAM、闪速存储器或者任何其他类型的计算机可读存储介质或者存储介质。计算机可读存储介质可以包括任何类型的非暂态计算机可读介质,诸如CD-ROM、易失性存储器、非易失性存储器、ROM、RAM或者任何其他适合的存储设备。
[0147] 系统100的处理能力可以被分布在多个实体中间(诸如在多个处理器和存储器中间),可选地包括多个分布式处理系统。参数、数据库和其他数据结构可以分离地被存储和管理、可以被并入单个存储器或者数据库中、可以以许多不同的方式逻辑地并且物理地被组织,并且可以利用不同的类型的数据结构(诸如链接表、散列表或者隐式存储机制)而被实现。逻辑(诸如程序或者电路)可以被组合或者分离在多个程序中间、跨若干存储器和处理器分布,并且可以被实现在库(诸如共享库(例如,动态链接库(DLL)))中。
[0148] 不管所描述的特定实现如何,所有讨论实际上是说明性的而不是限制性的。例如,虽然实现的所选择的方面、特征或者部件被描绘为被存储在(一个或多个)存储器中,但是(一个或多个)系统的全部或部分可以被存储在其他计算机可读存储介质(例如,二级存储设备(诸如硬盘、闪速存储器驱动器、软盘和CD-ROM))上、跨其分布或者从其读取。成为,各种模块、电路装置和屏幕显示功能仅是这样的功能的一个示例,并且包含类似功能的任何其他配置是可能的。
[0149] 用于实现上文讨论的过程、方法和/或技术的相应的逻辑、软件或者指令可以被提供在计算机可读存储介质上。在附图中所图示或者在此所描述的功能、动作或者任务可以响应于被存储在计算机可读介质中或上的逻辑或者指令的一个或多个集合而被执行。功能、动作或者任务独立于特定类型的指令集、存储介质、处理器或者处理策略,并且可以由单独或者组合操作的软件、硬件、集成电路、固件、微代码等来执行。同样地,处理策略可以包括多处理、多任务、并行处理等。在一个示例中,指令被存储在用于由本地或者远程系统读取的可移除的介质设备上。在其他示例中,逻辑或者指令被存储在用于通过计算机网络或者通过电话线传送的远程位置中。在其他示例中,逻辑或者指令被存储在给定计算机、中央处理单元(“CPU”)、图形处理单元(“GPU”)或者系统内。
[0150] 另外,虽然上文描述了特定部件,但是在此所描述的方法、系统和制造品可以包括附加、更少或者不同的部件。例如,处理器1302可以被实现为微处理器、微控制器、专用集成电路(ASIC)、离散逻辑或者其他类型的电路或者逻辑的组合。类似地,存储器可以是DRAM、SRAM、Flash或者任何其他类型的存储器。标志、数据、数据库、表、实体和其他数据结构可以分离地被存储和被管理、可以被并入单个存储器或者数据库中、可以被分布或者可以以许多不同的方式逻辑地并且物理地被组织。部件可以独立地操作或者是执行相同程序或者不同程序的相同装置的一部分。部件可以驻留在分离的硬件上,诸如分离的可移除的电路板,或者共享公用硬件,诸如相同存储器和用于实现来自存储器的指令的处理器。程序可以是单个程序的部分、分离的程序或者跨数个存储器和处理器而被分布。
[0151] 第二动作可以被认为是“响应于”第一动作,而不管第二动作是直接地还是间接地起因于第一动作。第二动作可以在比第一动作基本上更晚的时间发生并且仍然响应于第一操作。类似地,第二动作可以被认为是响应于第一动作,即使中间动作在第一动作与第二动作之间发生,并且即使中间动作中的一个或多个直接地使得第二动作被执行。例如,如果第一动作设定标志并且第三动作每当标志被设定时稍后发起第二动作,那么第二动作可以是响应于第一动作。