首页> 中国专利> 一种基于区块链的航空物流电子运单管理方法

一种基于区块链的航空物流电子运单管理方法

摘要

本发明的实施例公开一种基于区块链的航空物流电子运单管理方法,该方法采用电子运单数据上联盟链的方式,更快的同步电子运单数据,通过联盟链可以把整个物流环中的各个企业及政府机关连接起来,各参与方通过共识算法对电子运单数据进行确认和拒绝,利用区块链数据不可篡改性,使得航空运单信息能被各节点信任,管理电子运单在各个参与方的节点之间流转,解决了各参与方对于电子运单数据的共识和流转问题。

著录项

  • 公开/公告号CN112199732A

    专利类型发明专利

  • 公开/公告日2021-01-08

    原文格式PDF

  • 申请/专利权人 东方航空物流股份有限公司;

    申请/专利号CN202010902246.3

  • 发明设计人 王岩;张凯;张叶;

    申请日2020-09-01

  • 分类号G06F21/64(20130101);G06Q10/08(20120101);G06Q50/30(20120101);

  • 代理机构11257 北京正理专利代理有限公司;

  • 代理人付生辉

  • 地址 200335 上海市长宁区空港六路199号

  • 入库时间 2023-06-19 09:29:07

说明书

技术领域

本发明涉及,更具体地,涉及一种基于区块链的航空物流电子运单管理方法、计算设备及存储介质。

背景技术

航空货运无纸化问题至今一直是整个行业讨论的焦点。电子运单在最近几年才刚开始推行,但电子运单由于需要在网络中流转,而各个单位的系统不同,且需要对数据相互信任,导致电子运单一直很难推行下去。因此需要有一个方法,通过比较简单的方式来在各个单位中传递电子运单信息,提供更精确及时的货运单数据,避免关键信息被恶意篡改,降低数据冗余度,对提高货运业务效率以及加快企业国际化进程大有助益。

公开号为CN 110298610 A的专利,通过连接快递公司和客户,利用区块链的不可篡改性特点保证快递物流信息的真实,根据私有链的特性,保证了快递物流信息系统的实时性。

公开号为CN 109829673 A的专利,使用区块链技术搭建了一个物流货物状态追踪系统,由于区块链提供了多个备份,保证了数据的完整性和不可篡改性及货物状态的可追溯性。但上述系统和方案,都是对数据的进行备份和货物状态的追溯,保证数据真实性。且适用对象仅仅是一个企业对应其客户,或者供一个企业内部货物管理使用,用传统的中心化系统也可以完全实现,可以由一个企业开发供各个客户使用,利用区块链技术搭建系统意义不大。但物流上下游产业比较多,并会涉及到多个参与方,而各个参与方都有各自的系统,各方都需要对运单信息进行确认才能执行后续操作,因此上述方案并不适用于航空类的运输单证管理。

发明内容

为了解决航空物流中各参与方对于电子运单数据的共识和流转的问题,本申请在第一方面提供一种基于区块链的航空物流电子运单管理方法,该方法包括以下步骤:

S100、构建联盟链,所述联盟链的节点至少包括航空运输公司节点、海关节点、委托方节点和收货方节点;

S105、预案请求发起节点发起预案请求并基于联盟链的预定的背书策略向联盟链中对应的背书节点提交所述预案请求;

S110、所述背书节点对接收的预案请求进行签名校验,若通过校验,则转到步骤S115;

S115、所述背书节点调用智能合约,判断所述预案请求是电子运单查询请求还是写入操作请求,生成结果集并将所述结果集返回所述预案请求发起节点;

S120、若所述请求是写入操作请求,则转到S125,若所述请求是电子运单查询请求,则转到S130;

S125、所述预案请求发起节点收集到所有背书节点的返回后,对电子运单按时间顺序进行排序并生成区块从而向联盟链中的确认节点进行广播,进而转到S135;

S130、所述预案请求发起节点收集到所有背书节点的返回后,查询区块以获得结果;

S135、所述确认节点对接收的区块进行检验从而将标记有状态的区块写入所述联盟链。

在一种可能的实现方式中,该方法还包括:

对于不同的联盟链节点属于一个或多个通道的成员,其中所述航空运输公司节点和海关节点加入多个通道。

在一种可能的实现方式中,所述S125进一步包括:

所述预案请求发起节点收集到所有背书节点的返回后,根据初始预案请求中的读写结果集、所有背书节点的签名和通道号进行排序并生成区块从而将所述区块广播给该通道中的成员。

在一种可能的实现方式中,所述步骤S105进一步包括所述预案请求发起节点使用Fabric的SDK打包所述预案,并使用私钥进行签名。

在一种可能的实现方式中,所述智能合约配置为包含设置主体和阙值,其中

所述主体为指定的联盟链中的节点;

所述阙值接受两个输入,分别为阈值L和若干个P的集合n,只要电子运单涉及的交易中包含了n中t个成员的背书则认为交易合法。

在一种可能的实现方式中,步骤S115进一步包括所述背书节点生成写操作结果集和查询操作结果集并将所述写操作结果集和查询操作结果集返回所述预案请求发起节点。

在一种可能的实现方式中,步骤S135进一步包括

S1350、所述确认节点检查所述电子运单是新生成的还是之前已有,检验各个电子运单的背书签名是否合法,以及背书的数量是否满足所述背书策略的要求,如果没有通过检验,则返回步骤S105,否则,转到S1335;

S1355、所述确认节点校验交易的读结果集是否和当前账本中的版本一致,如果没有改变,表示交易中所述写结果集中对数据的修改有效,将该交易标注为有效,交易的写结果集更新到状态数据库中;如果当前账本的数据和读结果集版本不一致,则将该交易标注为无效,不更新状态数据库,从而将所述区块中的交易数据标注成“有效”或“无效”后封装成标记有状态的区块以写入所述联盟链。

在一种可能的实现方式中,在步骤S135之后,该方法还包括

向联盟链中的节点返回一个HASH值,其中所述节点通过该HASH值,查询已存在于联盟链上的电子运单。

本申请的第二方面提供一种计算机设备,该计算机设备包括处理器和存储有程序的存储器,所述程序被处理器执行时实现本申请第一方面提供的基于区块链的航空物流电子运单管理方法。

本申请的第三方面提供一种存储介质,存储有程序,所述程序被执行时实现本申请第一方面提供的基于区块链的航空物流电子运单管理方法。

本发明的有益效果如下:

电子运单在企业与政府机关各单位中流转时,需要保证很高的实时性和真实性。例如海关、安检口等,对运单内容,和数量需要核对,且对运单信息的不可篡改性,要求非常高。而未来各单位都将使用统一的电子运单作为结算和核对依据。企业之间需要进行运单的传输和金额的核对,企业包括检查合同条款,审核批准。但现在,如果需要把电子运单信息在各个系统中流转,需要建立一个系统,对接每一个参与的单位,开放量很大,且对电子运单数据的真实性不可控。根据本说明的运用区块链技术的航空物流运输单证管理方法,采用电子运单数据上联盟链的方式,更快的同步电子运单数据,通过联盟链可以把整个物流环中的各个企业及政府机关连接起来,各参与方通过共识算法对电子运单数据进行确认和拒绝,利用区块链数据不可篡改性,使得航空运单信息能被各节点信任,管理电子运单在各个参与方的节点之间流转,解决了各参与方对于电子运单数据的共识和流转问题。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明。

图1示出根据本发明的一个实施例的管理方法的流程图。

图2示出根据本发明的一个实施例的联盟链的结构示意图。

图3示出根据本发明的一个实施例的电子运单的非关键数据链下存储的示意图。

图4示出实现根据本发明的一个实施例的管理方法的联盟链中每个节点的示例性硬件架构图。

具体实施方式

为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

电子运单在企业与政府机关各单位中流转时,需要保证很高的实时性和真实性。例如海关、安检口等,对运单内容,和数量需要核对,且对运单信息的不可篡改性,要求非常高。而未来各单位都将使用统一的电子运单作为结算和核对依据。企业之间需要进行运单的传输和金额的核对,企业包括检查合同条款,审核批准。但现在,如果需要把电子运单信息在各个系统中流转,需要建立一个系统,对接每一个参与的单位,开放量很大,且对电子运单数据的真实性不可控。而通过运用区块链技术,采用电子运单数据上链,通过联盟链可以把整个物流环中的各个企业及政府机关连接起来,更快的同步电子运单数据,利用区块链数据不可篡改性,使得航空运单信息能被各节点信任。

因此,如图1所示,本申请的一个实施例提出一种基于区块链的航空物流电子运单管理方法,该方法包括

S100、构建联盟链,所述联盟链的节点至少包括航空运输公司节点、海关节点、委托方节点和收货方节点。

如图2所示,搭建多个联盟链节点。本实施例可以采用Hyperledger Fabric技术搭建。

所述多个联盟链节点,包括但不限于航空运输公司,海关,委托企业和收货企业。在一些具体场景中,还可以包括第三方代理。

每个节点的组件都会包含客户端,背书节点,证书节点和排序节点。客户端将操作节点的启动和停止。

在一个优选示例中,为了使各个委托运输企业,收货企业只能看到自己相关的数据,因此提供一个通道来进行隐私保护。而海关,航空运输公司作为节点则可以参与多个通道。

S105、预案请求发起节点发起预案请求并基于联盟链的预定的背书策略向联盟链中对应的背书节点提交所述预案请求。

一般情况下,电子运单将由委托运输企业(即图2中的委托公司)发起。

联盟链的委托运输企业节点发起电子运单生成或查询请求,该发起请求的请求将使用Fabric的SDK打包整个请求预案,并使用私钥进行签名。

委托运输单位的客户端会将整个预案交到自己的背书节点中,背书中的策略会定义需要注意的关键节点背书后,点在运单才能有效,应用端根据背书策略选择相应的背书节点,提交预案。

需要说明的是,在背书阶段中,各个联盟链节点中的背书节点会对客户端发来的电子运单进行合法性检验,客户端通过调用智能合约向一个或多个背书节点发出背书请求。

运用区块链技术的单证管理办法则不仅仅需要关键背书节点进行确认,还需编写、调用智能合约对电子运单内容进行检验。一般背书阶段的智能合约包含设置主体和阙值来制定背书策略,存放在特定的地址中,供客户端调用。

对于航空单证管理办法,将指定由哪些联盟链节点成员进行背书。阙值接受两个输入,分别为阈值L和若干个P的集合n,只要交易中包含了n中t个成员的背书则认为交易合法。例如,T(1,‘A’,‘B’,’C’)则需要A,B中任意成员背书。T(1,‘A’,T(2,‘B’,‘C’))则需要A成员背书或B,C成员同时背书。

比如对于包含特定商品的电子运单,需要委托公司,航空公司和海关的背书。客户端只有收集到了足够的支持后,广播出去的交易才有效。

随后按照预案,根据查询或者生成电子运单的请求,调用智能合约,进行电子运单查询或者写入的操作。该智能合约的读取和写入只是模拟执行,不会对实际账本进行修改,把写操作归入一个结果集,待用。

S110、所述背书节点对接收的预案请求进行签名校验,若通过校验,则转到步骤S115;否则回到步骤S105。

该委托节点配置的客户端会将整个预案交到背书节点中,背书中的策略会定义哪些关键节点背书后,运单才能有效,应用端根据背书策略选择相应的背书节点,提交预案。

S115、所述背书节点调用智能合约,判断所述预案请求是电子运单查询请求还是写入操作请求,生成结果集并将所述结果集返回所述预案请求发起节点。

背书节点收到附带电子运单的预案后,首先检验签名是否合法,然后根据签名者的身份,确认其是否有相关权限。

随后按照预案,根据查询或者生成电子运单的请求,调用智能合约,进行电子运单查询或者写入的操作。所有智能合约的读取和写入只是模拟执行,不会对实际账本进行修改,把写操作归入一个结果集,待用。所有背书节点将两个结果集返回初始共识节点,也就是一开始的电子运单发起方。

S120、若所述请求是写入操作请求,则转到S125,若所述请求是电子运单查询请求,则转到S130。如果二者均不是,则流程转回S105。

S125、所述预案请求发起节点收集到所有背书节点的返回后,对电子运单按时间顺序进行排序并生成区块从而向联盟链中的确认节点进行广播,进而转到S135。

该初始共识节点收到响应后,检查背书节点的签名以及比较各背书节点的结果是否一致。如果是查询电子运单,那么直接可以通过查询区块,来获得结果。如果是生成电子运单的请求,则该共识节点,收集到满足背书策略的背书响应数量后,把初始预案中的读写结果集,所有背书节点的签名和通道号发给排序节点。

排序节点在收到各个节点发来的预案后,并不检查交易的全部内容,而是按照交易中的通道号对交易分类排序,然后把相同通道的交易打包成数据块(blob),也就是区块。区块广播的条件可以自行设置,例如,当电子运单发起量超过某个阙值,或者设定一个间隔时间,触发广播。

S130、所述预案请求发起节点收集到所有背书节点的返回后,查询区块以获得结果;

S135、所述确认节点对接收的区块进行检验从而将标记有状态的区块写入所述联盟链。

确认节点收到数据块后,逐笔检查区块中的电子运单。先检查交易的合法性,然后检查该电子运单是新生成的还是之前已有,需要更新的。然后调用VSCC(ValidationSystem Chaincode)的系统链码检验交易的背书签名是否合法,以及背书的数量是否满足背书策略的要求。

接下来进行多版本并发控制MVCC的检查,即校验交易的读集(Read Set)是否和当前账本中的版本一致(即没有变化)。如果没有改变,说明交易写集(Write Set)中对数据的修改有效,把该交易标注为有效,交易的写集更新到状态数据库中。

如果当前账本的数据和读集版本不一致,则该交易被标注为无效,不更新状态数据库。数据块中的交易数据在标注成“有效”或“无效”后封装成区块(block)写入账本的区块链中。

最终该电子运单关键数据写入区块链后,会返回一个HASH值,通过该HASH值,未来可以查询已存在于联盟链上的电子运单。所有节点数据流转规则及步骤可以参照图3。

本发明的另一个实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述基于区块链的航空物流电子运单管理方法。如图4所示,适于用来实现本实施例提供的服务器的计算机系统,包括中央处理单元(CPU),其可以根据存储在只读存储器(ROM)中的程序或者从存储部分加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有计算机系统操作所需的各种程序和数据。CPU、ROM以及RAM通过总线被此相连。输入/输入(I/O)接口也连接至总线。

以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。

特别地,提据本实施例,上文流程图描述的过程可以被实现为计算机软件程序。例如,本实施例包括一种计算机程序产品,其包括有形地包含在计算机可读介质上的计算机程序,上述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。

附图中的流程图和示意图,图示了本实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或示意图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,示意图和/或流程图中的每个方框、以及示意和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括用例联盟链生成模块、预案请求发起模块、查询模块等。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本发明的基于区块链的航空物流电子运单管理方法。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号