一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于分布式账本的MAAS平台上的交易安全性的制作方法

2021-12-08 02:38:00 来源:中国专利 TAG:

基于分布式账本的maas平台上的交易安全性
1.对相关申请的交叉引用/通过引用并入
2.本技术要求于2019年5月1日提交的美国临时专利申请序列no.62/841,528的优先权,其全部内容通过引用并入本文。
技术领域
3.本公开的各种实施例涉及移动即服务(maas)和分布式账本技术。更具体而言,本公开的各种实施例涉及用于在基于分布式账本的maas平台上实现交易安全性的系统和方法。


背景技术:

4.许多运输提供商通过基于封闭平台的基础设施提供其服务。例如,运输提供商可以具有分离的票务基础设施(诸如检票口和销售点(pos)设备)或分离的应用(诸如票预订应用或叫车应用)用于创建、支付或管理旅行。
5.随着运输供应商数量的增加,需要maas平台,该平台可以提供统一的网关来创建、支付和管理可能依赖多个运输供应商的服务的旅行。典型的maas平台可以包括多个运输提供商(诸如航空公司、叫车公司、汽车租赁公司、拼车公司、铁路网络公司,或它们的组合)的参与。通常,maas平台上的每个运输提供商都具有封闭的基础设施,与其它运输提供商的基础设施具有最小连接性或没有连接性。由于连接性有限,单个运输提供商可能具有与共同计费、路线规划、收入分享等相关联的信任和隐私问题。
6.通过将所描述的系统与本公开的一些方面进行比较,常规和传统方法的限制和缺点对于本领域技术人员将变得显而易见,如在本技术的剩余部分并参考附图所阐述的。


技术实现要素:

7.如在权利要求中更完整阐述的,基本如至少一个图所示和/或结合至少一个图所描述的,提供了用于在基于分布式账本的maas平台上实现交易安全性的系统和方法。
8.可以通过阅读以下对本公开的详细描述以及附图来理解本公开的这些和其它特征以及优点,在附图中,相同的参考标记始终表示相同的部分。
附图说明
9.图1是根据本公开的实施例的用于在移动即服务(maas)平台上实现交易安全性的示例性网络环境的图。
10.图2是图示根据本公开的实施例的用于基于来自发布者节点的交易请求来更新分布式账本的节点上的交易数据的示例性操作的序列图。
11.图3是图示根据本公开的实施例的用于在来自发布者节点的交易请求上应用订户节点的信息访问策略的示例性操作的序列图。
12.图4是图示根据本公开的实施例的用于通过分布式账本履行交易请求的操作序列
的序列图。
13.图5是图示根据本公开的实施例的与针对订户节点的各种操作状态的事务请求的处置相关联的操作序列的序列图。
14.图6是图示根据本公开的实施例的订户节点、分布式账本的节点、与分布式账本相关联的对方节点和与分布式账本相关联的共识节点的示例性实施方式的框图。
15.图7是根据本公开的实施例的示例性消息代理设备的框图。
16.图8是根据本公开的实施例的示例性订户节点的框图。
17.图9是根据本公开的实施例的示例性发布者节点的框图。
18.图10是根据本公开的实施例的示例性的基于maas的系统的框图。
19.图11是图示根据本公开的实施例的用于安全交易处理的示例性方法的流程图。
具体实施方式
20.以下描述的实施方式可以在用于在移动即服务(maas)平台上实现交易安全性的所公开的系统和方法中找到。所公开的系统可以是联合运输管理系统,该系统可以促进多个同质或异质运输提供商及其基础设施(诸如检票口、应用和/或pos设备)在公共maas平台上操作以提供各种运输服务。每个运输提供商都可以享有安全数据所有权,并且可以通过分布式账本控制相关交易数据的共同使用。这可以增强各种运输提供商之间的连接性。
21.通过在运输提供商之间共享it基础设施,每个单独的运输提供商都可以节省与信息技术(it)基础设施的所有权以及运营和基础设施扩展的资本支出相关的成本。此外,基于与相关运输提供商相关联的分布式账本上的交易数据记录,分布式账本可以促进maas运输服务的运输提供商之间的收入共享,相关运输提供商可以是与maas运输服务相关联的交易的一方。
22.本公开的示例性方面提供了一种系统,该系统包括消息代理设备,该消息代理设备可以被配置为经由托管在消息代理设备上的应用编程接口(api)网关将从运输提供商的发布者节点接收到的交易请求路由到运输提供商的订户节点。运输提供商可以是与maas运输服务相关联的多个运输提供商之一。发布者节点可以包括例如运输提供商的预订应用、检票口或销售点(pos)设备。
23.在交易请求被递送到订户节点之前,api网关可以对被路由的交易请求应用安全性规则的集合以验证交易请求。运输提供商的订户节点可以与分布式账本(例如,基于区块链的账本)的节点相关联,该节点可以存储状态对象,该状态对象可以包括maas运输服务的交易数据。分布式账本的节点可以接收经验证的交易请求并且可以基于接收到的交易请求更新存储在分布式账本的节点上的交易数据。
24.图1是根据本公开的实施例的用于在移动即服务(maas)平台上实现交易安全性的示例性网络环境的图。参考图1,示出了网络环境100。网络环境100包括与maas运输服务的多个运输提供商相关联的第一发布者节点102a、第二发布者节点102b和第n发布者节点102n(以下统称为多个发布者节点102)。
25.网络环境100还可以包括消息代理设备104,其可以托管应用编程接口(api)网关106。网络环境100还可以包括与多个运输提供商相关联的第一订户节点108a、第二订户节点108b和第n订户节点108n(以下统称为多个订户节点108)。图1中的发布者节点、api代理
和订户节点的数量仅作为示例给出。在不偏离本公开的范围的情况下,本公开还可以适用于更多或更少数量的发布者节点、api代理和订户节点。
26.消息代理设备104可以被配置为通过合适的发布

订阅网络协议(诸如但不限于基于消息队列遥测运输(mqtt)的消息传递协议、基于高级消息队列协议(amqp)的消息传递协议或基于面向消息的中间件(mom)的消息传递框架)与多个发布者节点102中的每一个和多个订户节点108中的每一个通信。
27.多个订户节点108中的每一个可以托管来自多个api代理110的对应api代理,以提供对应订户节点和api网关106之间的接口。例如,第一订户节点108a可以托管第一api代理110a,第二订户节点108b可以托管第二api代理110b,并且第n订户节点108n可以托管第n api代理110n。
28.多个订户节点108中的每一个可以与分布式账本112的对应节点相关联。例如,第一订户节点108a可以与第一节点112a相关联,第二订户节点108b可以与第二节点112b相关联,并且第n订户节点108n可以与第n节点112n相关联。
29.网络环境100还可以包括对方节点114和共识节点116,对方节点114和共识节点116的每一个都可以与分布式账本112相关联。例如,分布式账本112可以包括对方节点114(也称为maas提供商节点)和共识节点116。在实施例中,分布式账本112的至少两个节点可以存储与运输服务相关联的交易数据118。运输服务可以与多个运输提供商中的一个或多个和/或用户120相关联,他们可以通过统一的maas接口或多个发布者节点102利用运输服务。
30.例如,交易数据118可以包括状态对象的集合,诸如第一状态对象118a(也称为初始状态对象)和第二状态对象118b(即,与初始状态对象的更新后的版本对应)。每个状态对象可以存储交易数据118的版本,该版本可以包括智能合约、合约代码(或交易各方同意的交易规则)和状态特性(可以在交易数据118基于来自发布者节点的交易请求被更新时被更新)。
31.多个发布者节点102中的每个发布者节点可以包括合适的逻辑、电路系统、代码和/或接口,其可以被配置为通过消息代理设备104向多个订户节点108中的一个或多个订户节点发布交易请求。每个发布者节点可以基于与maas交易相关联的事件(诸如与由一个或多个运输提供商的服务组成的旅行相关联的运输服务的创建、开始或结束)的发生来发布交易请求。多个发布者节点102的示例可以包括但不限于与发布者节点相关联的乘车预订应用、检票口或销售点(pos)设备。
32.在实施例中,多个发布者节点102中的每一个可以安装在与运输提供商相关联的运输服务终端处。运输服务终端的运输服务界面可以与可以基于来自用户120的用户输入触发与maas交易相关联的事件的用户界面对应。
33.作为示例而非限制,第一发布者节点102a可以提供用户界面,第一发布者节点102a可以通过该用户界面从用户120接收用户输入。接收到的用户输入可以指示为用户120创建基于maas的运输服务的请求。响应于这样接收到的用户输入,第一发布者节点102a可以生成交易请求,该交易请求可以包括与针对用户120的基于maas的运输服务的创建相关联的创建消息。可替代地,当用户120发起基于maas的运输服务时,第一发布者节点102a可以生成交易请求,该交易请求可以包括可以与针对用户120的基于maas的运输服务的开始
对应的上车消息。作为示例,这种基于maas的运输服务的发起可以与事件检测相关联,例如当用户120通过铁路检票口(第一发布者节点102a)进入以登上火车(与运输提供商相关联的)或当出租车乘坐开始时。可替代地,当用户120完成对基于maas的运输服务的使用时,第一发布者节点102a可以生成交易请求,该交易请求可以包括可以与针对用户120的基于maas的运输服务的完成对应的下车消息。作为示例,基于maas的运输服务的这种完成可以与事件检测相关联,诸如当用户120在下(与运输提供商相关联的)火车之后通过电子铁路出口门(第一发布者节点102a)离开时或当出租车乘坐结束时。
34.消息代理设备104可以包括合适的逻辑、电路系统、代码和/或接口,其可以被配置为将交易请求从多个发布者节点102路由到多个订户节点108。消息代理设备104还可以被配置为托管api网关106以执行被路由的交易请求的安全性过滤。例如,消息代理设备104可以从第一运输提供商的第一发布者节点102a接收与多模式运输服务相关联的第一交易请求。另外,消息代理设备104可以经由api网关106将第一交易请求路由到第一运输提供商的第一订户节点108a。消息代理设备104的示例可以包括但不限于应用服务器、云服务器、大型机服务器、数据库服务器、文件服务器、web服务器或其它类型的服务器。
35.api网关106可以包括合适的逻辑、代码和/或接口,其可以被配置为对由消息代理设备104路由的交易请求应用安全性规则的集合。api网关106可以基于安全性规则的集合应用来验证交易请求并且可以将经验证的交易请求转发到一个或多个订户节点。作为示例,api网关106可以被配置为基于安全性规则的集合对接收到的第一交易请求的应用来验证来自第一发布者节点102a的被路由的第一交易请求。基于第一交易请求的验证,api网关106可以将第一交易请求转发到第一订户节点108a或者在第一交易请求未通过验证的情况下丢弃第一交易请求。作为另一个示例,api网关106可以被配置为基于第一订户节点108a的操作状态(例如,活动/非活动状态)来保持路由到第一订户节点108a的事务请求。另外,api网关106可以基于第一订户节点108a的操作状态是活动的确定而将由api网关106保持的交易请求重新路由到第一订户节点108a。在一个实施例中,api网关106可以被实现为可以部署或托管在消息代理设备104上的软件应用。
36.多个订户节点108中的每一个可以包括合适的逻辑、电路系统、代码和/或接口,其可以被配置为从多个发布者节点102中的一个或多个发布者节点接收交易请求。例如,第一运输提供商的第一订户节点108a可以与消息代理设备104注册并订阅以从同一运输提供商(即,第一运输提供商)的第一发布者节点102a接收交易请求。在这种场景中,由第一发布者节点102a发布的交易请求可以由消息代理设备104经由api网关106路由,api网关106可以在将交易请求路由到第一订户节点108a之前验证交易请求。订户节点的实施方式的示例可以包括但不限于web服务器、边缘设备、边缘节点、云服务器、基于云的服务器的集群、工作站或任何具有雾计算能力的计算设备或系统。
37.多个api代理110中的每一个可以包括合适的逻辑、电路系统、代码和/或接口,其可以被配置为维护与多个订户节点108中的对应订户节点相关联的操作状态信息。api代理(例如,第一api代理110a)可以被配置为如果交易请求符合与订户节点关联的运输提供商的信息访问策略(例如,业务规则或约束)则将交易请求传递到对应的订户节点(诸如第一订户节点108a)。每个api代理可以被实现为订户节点上或通信耦合到订户节点的另一个节点(例如,边缘节点)上的基于服务器的应用。
38.在实施例中,分布式账本112可以是分散式和分布式数据库系统,其可以维护数据操作或交易的不可变记录。数据操作的集合可以分组在一起作为块,并且还可以链接到数据操作的前一块以形成多个块的链。数据操作的所有块可以以分散方式存储,由此分布式账本112的至少两个参与者或节点可以存储与其中至少两个参与者或节点可以参与的一个或多个交易相关联的多个块的子集。另外,分布式账本112可以包括操作系统(例如,java虚拟机(jvm)),其可以允许在多方(例如,(一个或多个)移动性提供商节点(也称为运输提供商节点,诸如第一运输提供商的第一节点112a)和对方节点114(即,maas供应商节点))之间部署智能合约。
39.作为示例而非限制,分布式账本112可以是corda区块链、以太坊区块链或超级账本区块链。分布式账本112(例如,corda区块链)可以存储可以被分布式账本112跟踪的不可变状态对象的集合。状态对象可以包括交易数据,诸如各方之间的智能合约、合约代码(交易的规则)以及包括具有特定状态值的状态特性的内容。智能合约可以包括条件的集合,在这些条件下,智能合约的多方可以同意彼此交互。智能合约可以在分布式账本112的一个或多个节点上运行并且可以管理状态对象之间的过渡以生成交易。智能合约可以编写一次,重复用于大量状态对象,并且可以通过加密散列的方式引用管理法律条文。
40.分布式账本112可以使用安全密码散列来识别各方和数据,并且还可以将状态对象链接到状态对象的先前版本以提供出处链。一组当事方之间的交易可以存储在分布式账本112上,使得只有与该交易相关联的一组当事方才可以能够查看该交易。与交易相关联的一方可以将交易的当前状态对象存储在保险库(与分布式账本112相关联的数据库)中。有资格查看或处理交易(例如,验证交易)的另一方可以从保险库中检索交易的当前状态对象。此外,分布式账本112的每个状态对象可以包括参与相关联的交易的各方或节点之间的智能合约。
41.在分布式账本112上,参与者或节点(例如,第一节点112a)可以通过更新输入状态对象(例如,第一状态对象118a)的状态特性来更新交易以产生输出状态对象(例如,第二状态对象118b)。更新后的交易由此可以创建出处链(其可以与交易数据118相关联)。分布式账本112可以基于更新后的交易的有效性的确定和更新后的交易的唯一性的确定来为更新后的交易提供共识。在实施例中,与更新后的交易相关联的节点的参与者可以通过与交易相关联的智能合约和验证逻辑的独立执行来确定更新后的交易的有效性。另外,与分布式账本112相关联的共识节点(例如,共识节点116)可以基于不存在通过使用与当前交易相同的输入状态对象达成共识的其它交易的检查来确定更新后的交易的唯一性。
42.根据实施例,分布式账本112可以与可以包括客户端侧接口(前端)和服务器侧接口(后端)的分散式应用相关联。分散式应用可以被配置为实现与区块链相关联的工作流(例如,图6中讨论的corda流)以在分布式账本112的节点(诸如分布式账本112的第一节点112a)上记录交易。客户端侧接口可以托管在多个订户节点108中的每一个上,并且客户端侧接口可以被配置为加载到与订户节点相关联的客户端上。例如,分散式应用的客户端侧接口可以是远程过程调用(rpc)客户端,其可以配置在每个订户节点和对方节点114(即,maas提供商节点)上。分散式应用的服务器侧接口可以在分布式账本112的与对应订户节点和对方节点114相关联的每个节点上运行。
43.在实施例中,来自发布者节点的交易请求可以发起移动性提供商节点(诸如分布
式账本112的第一节点112a)与maas提供商节点(即,对方节点114)之间的maas交易。分布式账本112可以存储两方(即,移动性提供商节点(例如,第一移动性提供商的第一节点112a)和maas提供商节点(即,对方节点114))之间的maas交易的记录。
44.在多个maas提供商的情况下,网络环境100可以包括多个maas提供商节点,每个节点可以与某个maas提供商相关联并且包括在相应maas提供商的分离的分布式账本中。在某些场景中,多个maas提供商节点可以被包括在公共分布式账本中,诸如分布式账本112。
45.在实施例中,第一节点112a可以是分布式账本112的许多数据库节点中的一个并且可以被配置为经由第一订户节点108a从api网关106接收经验证的第一交易请求。第一节点112a可以被配置为基于接收到的第一交易请求中的交易消息更新与分布式账本112相关联的初始状态对象(例如,第一状态对象118a)以输出更新后的状态对象(例如,第二状态对象118b)。第一节点112a还可以被配置为构建交易,该交易可以包括初始状态对象(例如,具有初始交易数据的第一状态对象118a)和更新后的状态对象(例如,具有更新后的交易数据的第二状态对象118b)。
46.对方节点114可以与maas提供商相关联并且也可以被称为maas提供商节点。在实施例中,对方节点114可以包括合适的逻辑、电路系统、代码和/或接口,其可以被配置为处理由多个订户节点108中的订户节点接收的交易请求。共识节点116可以包括合适的逻辑、电路系统、代码和/或接口,其可以被配置为对与分布式账本112相关联的交易进行公证。
47.在操作中,第一运输提供商的第一发布者节点102a可以经由第一发布者节点102a的用户界面(例如,如图9中所示)从用户120接收输入。该输入可以包括基于与用户120相关联的行程计划来创建运输服务(即,maas服务)的请求。运输服务可以是一个或多个同质或异质运输提供商的单独服务供应的组合。例如,maas提供商的检票口、叫车应用或pos终端可以经由输入从用户120接收创建多模式运输服务(例如,公共汽车、出租车和航班的组合)的请求。在本文中,多模式运输服务可以包括例如火车服务、公共汽车服务、计程车/出租车服务、地铁服务、飞机服务、车队服务、叫车服务、汽车共享服务、拼车服务、汽车租赁服务、自行车共享服务或其组合。
48.在实施例中,第一发布者节点102a可以被配置为基于来自用户120的输入生成第一交易请求。第一交易请求可以包括可以与创建消息对应的交易消息。例如,创建消息可以包括运输提供商的细节、与运输服务相关联的行程计划/路线、源地点、目的地地点,或源地点和目的地地点之间的中间地点。创建消息还可以包括与用户120预订的整个运输服务包相关联的支付细节。
49.第一发布者节点102a可以在可以与运输提供商的运输服务(例如,公共汽车、出租车和航班)相关联的所有订户节点处传输包括创建消息的第一交易请求。基于在相关联的运输提供商的订户节点处接收到创建消息,分布式账本112的对应节点可以创建初始状态对象并将初始状态对象存储在分布式账本112上。
50.在另一个实施例中,当为用户120启动运输服务时,与运输提供商相关联的发布者节点(例如,第一发布者节点102a)可以通过消息代理设备104向运输提供商的订户节点(诸如第一订户节点108a)传输包括上车消息的交易请求。
51.在另一个实施例中,当为用户120完成运输服务时,发布者节点(诸如第一发布者节点102a)可以向订户节点(诸如第一订户节点108a)传输可以包括下车消息的交易请求。
52.第一发布者节点102a可以被配置为将第一交易请求传输到消息代理设备104。消息代理设备104可以被配置为从第一发布者节点102a接收交易请求并且经由api网关106将第一交易请求路由到第一运输提供商的第一订户节点108a。api网关106可以被配置为基于规则的集合在接收到的第一交易请求上的应用来验证被路由的第一交易请求。例如,api网关106可以基于对第一交易请求是否具有有效签名、与合法ip地址相关联、不与和网络攻击相关联的恶意行为对应和/或不是由机器人发送的确定来对接收到的第一交易请求执行安全性过滤。api网关106提供的安全性过滤可以确保只有合法的交易请求被传递到订户节点。通过代理端处的安全性过滤,每个个体订户节点可以能够跳过用于过滤非法交易请求的检查,从而产生更好的消息/交易处置能力。api网关106(或消息代理设备104)可以被配置为基于第一交易请求的验证将第一交易请求传输到第一订户节点108a。api网关106还可以提供控制机构以启用、禁用或监视交易请求流量。
53.在实施例中,第一api代理110a可以被配置为从api网关106接收经验证的第一交易请求。第一api代理110a可以确定经验证的第一交易请求是否符合与第一订户节点108a相关联的运输提供商的信息访问策略。信息访问策略可以与运输提供商的业务规则或约束对应。如果经验证的第一交易请求符合信息访问策略,那么第一api代理110a可以将经验证的第一交易请求传递到第一订户节点108a。因此,可以通过第一api代理110a实现交易请求的特定于运输提供商或特定于订户节点的过滤。
54.第一订户节点108a可以被配置为从第一api代理110a接收经验证的第一交易请求并将经验证的第一交易请求传输到第一节点112a。第一节点112a可以检索用于运输服务的第一状态对象118a并且可以基于接收到的第一交易请求来更新包括在第一状态对象118a中的交易数据。交易数据可以与信息相关联,诸如但不限于票务信息、订阅信息、支付信息、收入共享信息或运输服务信息。
55.在示例性场景中,可以为用户120的排定的行程计划创建运输服务,以在上午11:00乘坐公共汽车到机场,在下午1:00从机场登机,然后是晚上8:00从机场乘坐出租车到宾馆。对于公共汽车乘坐,当用户120开始乘坐公共汽车时,与公共汽车乘坐提供商相关联的发布者节点可以向公共汽车乘坐提供商的订户节点传输交易请求。交易请求可以包括上车消息,该消息包括旅行的细节(诸如上车或下车地点、上车时间等)、订阅细节或用户细节。当用户120在旅程结束下车时,与公共汽车乘坐提供商相关联的发布者节点可以再次向公共汽车乘坐提供商的订户节点传输交易请求。交易请求可以包括下车消息,该消息包括旅行细节(诸如旅行时间、下车地点等)、订阅细节、旅行账单或用户细节。对于上车消息或下车消息中的每一个,订户节点可以将上车消息或下车消息传递到其分布式账本112的节点。分布式账本112的节点可以基于上车消息或下车消息更新初始状态对象以产生具有更新后的交易数据的新状态对象。
56.例如,如果初始状态对象的状态特性包括(多程)运输服务的总支付金额500美元(usd),那么新状态对象的更新后的交易数据可以包括总支付金额和与公共汽车乘坐提供商相关联的旅行的10美元的账单金额。类似地,对于运输服务的所有其它旅行(航班和到宾馆的出租车),用于航班提供商和出租车乘坐提供商的分布式账本112的相应节点可以按照用户120可以完成乘坐飞机的旅行和乘坐出租车的旅行的次序顺序地更新新状态对象。在最后一个旅行结束时,对方节点114(即,maas提供商节点)可以读取状态对象(以最后更新
者为准)来为公共汽车乘坐提供商、航班提供商和出租车乘坐提供商中的每一个结算付款。
57.在所描述的实施例中,运输服务可以由同质运输提供商(例如,多个出租车乘坐提供商公司)或异质运输提供商(多模式运输提供商)通过同质的一组设备、应用或检票口,或各种运输提供商的异质的一组检票口、应用和pos设备来提供。
58.每个运输提供商可以通过分布式账本112享有交易数据118的安全数据所有权。由于本公开的maas平台是使用分布式账本112实现的,因此每个运输提供商可以在分布式账本112上拥有节点。与运输提供商相关联的分布式账本112的节点可以存储与运输提供商相关的交易数据。对方节点114(即,maas提供商节点)也可以存储相同的交易数据。这可以确保maas提供商和运输提供商之间数据的安全所有权。这也可以增强各种运输提供商之间的连接性。通过在运输提供商之间共享信息技术(it),与每个运输提供商维护其自己的封闭平台it基础设施时的成本相比,与每个运输提供商拥有的it基础设施相关的成本可以更低。基于分布式账本112上的交易数据记录,分布式账本112可以促进多个运输提供商的票务管理、订阅管理、支付管理、收入共享和/或运输服务管理。
59.图2是图示根据本公开的实施例的用于基于来自发布者节点的交易请求来更新分布式账本的节点上的交易数据的示例性操作的序列图。图2结合图1中的元素进行解释。参考图2,示出了图示从202到212的操作序列的序列图200。操作的序列可以由网络环境100的各种元素执行,诸如但不限于由第一发布者节点102a、消息代理设备104、api网关106、第一订户节点108a或分布式账本112的第一节点112a执行。
60.在202处,第一运输提供商的第一发布者节点102a可以发起第一交易请求。在实施例中,第一发布者节点102a可以通过第一发布者节点102a的ui从用户120接收输入。输入可以包括发起(或创建)与运输服务相关联的交易的请求。例如,输入可以包括用户120的组合一个或多个运输提供商(例如,出租车服务提供商、公共汽车服务提供商和地铁铁路服务提供商)的单独服务供应以从第一地点行驶到第二地点的请求。基于来自用户120的这种输入,第一发布者节点102a可以被配置为生成可以包括创建消息的第一交易请求。例如,创建消息(例如,记录的第一实例)可以包括与运输服务相关联的行程计划/路线,诸如源地点、目的地地点以及源和目的地地点之间的中间地点。创建消息还可以包括与用户120预订的整个运输服务包相关联的支付细节。创建消息可以被用于在分布式账本112上创建初始状态对象。表1中列出了创建消息的字段的示例,如下所示:
61.创建消息(记录的第一实例)字段描述mode交易的模式

订阅/通过transaction type交易的类型

创建消息pass/subscription id用于maas服务的通过/订阅的idsubscription status用户持有的订阅的类型transportation provider(s)(一个或多个)运输提供商的名称transaction time交易的时间party可以与之进行交易的maas提供商名称one time pass/subscription id通过或订阅的一次性idlocation交易的地点,如果没有站idstation id交易的站id,如果地点不存在
62.表1:创建消息的示例性字段及其描述
63.在表1中,创建消息包括交易的模式,其可以是“通过”交易(其中用户120可以具有运输服务的单程票)或“订阅”交易(其中用户120可以与maas提供商付费订阅以在特定时间间隔内使用运输服务)。交易类型字段可以指示第一交易请求与创建消息对应。通过/订阅id字段可以指示用户120的通过或订阅的id,而订阅状态字段可以指示用户120持有的订阅的状态(例如,过期/有效)。创建消息还可以包括可以与所创建的maas服务相关联的运输提供商的名称以及可与其进行交易的maas提供商的名称。另外,创建消息可以包括交易时间(即,创建消息的时间戳)、用于通过或订阅的一次性id、交易的地点和交易的站id(如果地点字段不存在)。
64.在一个场景中,当发起与第一运输提供商相关联的旅行时,第一运输提供商的第一发布者节点102a可以向消息代理设备104传输可以包括针对第一订户节点108a的上车消息的第一交易请求。例如,运输服务可以与用户120在上午11:00乘坐公共汽车到机场、在下午1:00登上航班并且在晚上8:00乘坐出租车的排定的计划对应。当用户120开始乘坐出租车时,与出租车提供商相关联的发布者节点可以生成具有与出租车提供商相关联的对应上车消息的交易请求。上车消息可以包括诸如出租车旅程的开始时间和出租车的当前地点之类的细节。上车消息可以被用于基于第一运输提供商(例如,出租车服务提供商)在分布式账本112的相关联节点上的第一交易请求来创建更新后的状态对象。表2中列出了上车消息的字段的示例,如下所示:
[0065][0066]
[0067]
表2:上车消息的示例性字段及其描述
[0068]
表2的示例性字段与表1中所示的字段相似。因此,为简洁起见,在本公开中省略了对此类示例性字段的描述。
[0069]
在与第一运输提供商相关联的旅行结束的场景中,第一发布者节点102a(或第一运输提供商的另一个发布者节点)可以发起可以包括下车消息的交易请求。参考运输服务的以上示例,当用户120在出租车旅程结束时走下出租车时,与出租车提供商相关联的发布者节点可以生成具有与出租车提供商相关联的对应下车消息的交易请求。下车消息可以包括诸如出租车旅程的完成时间和出租车的当前地点(即,目的地)之类的细节。下车消息可以被用于在分布式账本112的相关联节点上创建与第一运输提供商(例如,出租车服务提供商)的交易请求相关联的另一个更新后的状态对象。表3中列出了下车消息的字段的示例,如下所示:
[0070][0071][0072]
表3:下车消息的示例性字段及其描述
[0073]
表3的示例性字段与表1中所示的字段相似。因此,为简洁起见,在本公开中省略了对此类示例性字段的描述。
[0074]
在204处,第一发布者节点102a可以将第一交易请求传输到消息代理设备104。消息代理设备104可以从第一发布者节点102a接收第一交易请求。
[0075]
在206处,消息代理设备104可以经由api网关106将第一交易请求路由到第一运输提供商的第一订户节点108a。在实施例中,多个订户节点108中的每一个可以通过将相关联的订阅请求传输到消息代理设备104来订阅一个或多个交易请求。例如,在mqtt消息作为交易请求的情况下,订户节点可以订阅某个话题以接收包括那个话题的交易请求。另外,发布
者节点可以将消息作为对消息代理设备104处的某些话题的交易请求进行发布或传输。话题可以与mqtt消息的主题对应,该主题可以指示消息的内容的类型并且可以被用于对mqtt消息进行寻址和路由。消息代理设备104可以基于第一交易请求中包括的交易消息中的信息以及经由api网关106从多个订户节点108接收到的订阅请求来路由第一交易请求。
[0076]
例如,在表1中,第一交易请求中包括的交易消息指示运输提供商(例如,第一运输提供商)的名称。在第一订户节点108a订阅与第一运输提供商(例如,出租车供应商)相关联的交易请求的情况下,消息代理设备104可以经由api网关106将第一交易请求路由到第一运输提供商(即,出租车供应商)的第一订户节点108a。
[0077]
在208处,api网关106可以对被路由的第一交易请求执行安全性过滤以验证交易请求。对于安全性过滤,可以基于安全性规则的集合来检查被路由的第一交易请求的有效性,如本文所述。
[0078]
安全性规则的集合可以包括检查交易请求是否与有效范围的ip地址中的ip地址相关联的第一规则。安全性规则的集合还可以包括检查交易请求是否与和网络攻击相关联的恶意行为对应的第二规则以及检查从其接收交易请求的发布者节点是否是机器人的第三规则。安全性规则的集合可以包括检查与交易请求相关联的消息签名是否有效的第四规则以及基于客户端(即,发布者节点)的真实性和授权的核实来验证交易请求的第五规则,以基于相关联的唯一id、ip地址或访问令牌向移动性提供商(诸如第一节点112a)提交交易请求。按以上次序(从第一规则到第五规则)应用这安全性规则的集合可以是有益的,因为它可以导致对各种开放系统互连(osi)模型层(诸如网络层,然后是运输/会话层和表示/应用层)上的交易请求进行安全性过滤。
[0079]
在一个实施例中,api网关106可以被配置为基于被路由的第一交易请求与有效范围的ip地址中的ip地址相关联的确定来验证被路由的第一交易请求。例如,第一发布者节点102a可以在第一交易请求的交易消息中嵌入与第一发布者节点102a相关联的源ip地址。api网关106可以维护一系列有效的列入白名单的ip地址,这些ip地址可以与多个运输提供商相关联。如果与第一发布者节点102a相关联的源ip地址在有效的列入白名单的ip地址的范围内,那么可以验证被路由的第一交易请求。
[0080]
在另一个实施例中,api网关106可以被配置为基于被路由的第一交易请求与和网络攻击相关联的恶意行为对应的确定来丢弃被路由的第一交易请求。作为一个示例,api网关106可以基于某个时间段内从第一用户节点108a接收到交易请求(包括第一交易请求)的高频率来确定第一交易请求是否与拒绝服务(dos)攻击对应。作为另一个示例,api网关106可以基于与第一交易请求相关联的参数来确定第一交易请求是否与跨站请求伪造(xsrf)攻击对应。此类参数的示例可以包括但不限于与第一交易请求相关联的统一资源定位符(url)、消息报头或cookies。如果确定第一交易请求与dos攻击或xrsf攻击相关联,那么api网关106可以丢弃第一交易请求。此外,在一些实施例中,api网关106可以将第一发布者节点102a(或相关联的客户端id或ip地址范围)添加到列入黑名单的发布者的列表中,其中每个发布者都可以被禁止向消息代理设备104发布消息(或交易请求)。
[0081]
在另一个实施例中,api网关106可以被配置为基于第一发布者节点102a是机器人的确定来丢弃被路由的第一交易请求。例如,api网关106可以使用入侵检测系统来检测与第一交易请求相关联的第一发布者节点102a是否是机器人。入侵检测系统可以使用基于异
常的入侵检测技术、基于签名的入侵检测技术或基于域名服务(dns)的入侵检测技术中的一种或多种来检测第一发布者节点102a是机器人。
[0082]
在另一个实施例中,api网关106可以通过使用基于质询

响应的机器人检测技术来检测第一发布者节点102a是否是机器人。例如,当相应发布者节点最初与消息代理设备104注册或打开tcp/ip端口时,消息代理设备104可以与每个发布者节点共享唯一代码。当接收到第一交易请求时,api网关106可以向第一发布者节点102a传输请求唯一代码的质询问题。在与第一交易请求相关联的第一发布者节点102a不能用唯一代码回复的情况下,api网关106可以确定第一发布者节点102a是机器人。
[0083]
在一个实施例中,api网关106可以被配置为基于被路由的第一交易请求是用有效签名签署的确定来验证被路由的第一交易请求。例如,第一发布者节点102a可以使用与第一发布者节点102a相关联的私钥来用签名(例如,消息认证代码或校验和)签署第一交易请求。api网关106可以基于与第一发布者节点102a相关联的公钥来验证签名。公钥可以是api网关106和/或消息代理设备104已知的。这种验证可以确保第一交易请求(包括交易消息)不被恶意实体篡改。
[0084]
在一个实施例中,api网关106可以被配置为针对特定的移动性/运输提供商基于客户端(即,发布者节点,诸如第一发布者节点102a)的真实性和授权的核实来验证被路由的第一交易请求。作为示例,api网关106可以基于唯一id、ip地址或与第一交易请求相关联的访问令牌来核实传输第一交易请求的第一发布者节点102a的真实性和授权。ip地址可以作为源ip地址被包括在第一交易请求中并且访问令牌可以被嵌入在第一交易请求中的交易消息的报头中。api网关106可以被配置为基于ip地址与发布者的被授权的ip地址的列表的比较来核实第一发布者节点102a的授权。此外或可替代地,api网关106还可以基于访问令牌与由api网关106发布的被授权的访问令牌的集合的比较来核实授权。在实施例中,授权的核实可以与交易消息的发送者(例如,第一发布者节点102a)作为授权发送者的核实对应。
[0085]
在实施例中,唯一id可以嵌入在第一交易请求中的交易消息的报头中。每个交易请求可以与具有特定序列号或唯一id的交易消息一起被接收。api网关106可以被配置为基于接收交易消息的唯一id与先前交易消息的唯一id的比较来核实第一交易请求的真实性。在实施例中,真实性的核实可以与交易消息的完整性的核实对应。第一交易请求的真实性和授权的核实在网络环境100包括多个移动性提供商和多个maas提供商的场景中可以是有用的。
[0086]
在210处,api网关106可以将经验证的第一交易请求传输到第一订户节点108a。第一交易请求可以基于第一交易请求的验证结果(即,作为对第一交易请求应用规则的集合的结果)被传输到第一订户节点108a。
[0087]
在212处,第一订户节点108a可以将经验证的第一交易请求传输到第一节点112a。第一节点112a可以从第一订户节点108a接收经验证的第一交易请求。
[0088]
在214处,第一节点112a可以基于接收到的经验证的第一交易请求来更新存储在分布式账本112的第一节点112a上的交易数据(例如,交易数据118)。例如,在图4中进一步解释第一节点112a上的交易数据的更新。
[0089]
图3是图示根据本公开的实施例的用于在来自发布者节点的交易请求上应用订户
节点的信息访问策略的示例性操作的序列图。图3结合图1和2中的元素进行解释。参考图3,示出了图示从302到308的操作序列的序列图300,其可以由网络环境100的各种元素执行,诸如但不限于由api网关106、第一api代理110a和第一订户节点108a执行。
[0090]
在302处,api网关106可以验证被路由的第一交易请求。例如,在图2的208处解释了基于对第一交易请求应用安全性规则的集合对被路由的第一交易的验证。在304处,api网关106可以将经验证的第一交易请求传输到第一api代理110a。
[0091]
在306处,第一api代理110a可以从api网关106接收经验证的第一交易请求并且可以对经验证的第一交易请求应用第一订户节点108a的信息访问策略。
[0092]
在实施例中,信息访问策略可以包括与运输服务相关联的业务规则和约束。作为示例而非限制,如果与第一订户节点108a相关联的第一节点112a处于排定的维护或未排定的维护中,那么与运输服务相关联的第一策略可以要求第一api代理110a丢弃或保持交易请求。类似地,如果与交易请求相关联的运输提供商取消包括在运输服务中的旅行,那么与运输服务相关联的第二策略可以要求第一api代理110a丢弃交易请求。
[0093]
在另一个实施例中,业务规则和约束可以特定于与第一订户节点108a相关联的第一运输提供商。作为示例而非限制,第一运输提供商的第一业务规则可以要求在第一运输提供商运营的一天中的某个时间或一周中的某一天提供与交易请求相关联的运输服务。类似地,第一运输提供商的第二业务规则可以包括与和第一运输提供商提供的行程服务相关联的可服务地点、成本模型、旅行定价、支付模式、订阅类型、促销优惠或优惠券相关联的约束。第一api代理110a可以检查交易消息是否符合第一运输提供商的信息访问策略。
[0094]
在308处,第一api代理110a可以基于第一交易请求是否符合第一运输提供商的信息访问策略而将第一交易请求传输到第一订户节点108a。第一订户节点108a可以从第一api代理110a接收第一交易请求。
[0095]
图4是图示根据本公开的实施例的用于通过分布式账本履行交易请求的操作序列的序列图。图4结合图1、2和3中的元素进行解释。参考图4,示出了图示可以从402到426的操作序列的序列图400,其可以由网络环境100的各种元素执行,诸如但不限于由分布式账本112的第一节点112a、第一订户节点108a、对方节点114和共识节点116执行。
[0096]
在402处,第一节点112a可以存储第一状态对象。在实施例中,第一节点112a可以将第一状态对象428(描绘为s1)存储为包括分布式账本112上的交易数据的初始状态对象。例如,可以最初从第一发布者节点102a接收包括创建消息(如也在图2中描述的)的交易请求。第一发布者节点102a可以将包括创建消息的第一交易请求传输到与基于maas的运输服务相关联的运输提供商(例如,公共汽车、出租车和航班)的所有相关订户节点。在接收第一交易请求的每个订户节点处,分布式账本112的相应节点可以在相应节点上创建并存储初始状态对象。
[0097]
作为一个示例,状态对象可以包括识别(基于maas的)运输服务协定的各方(即,运输提供商和maas服务供应商)的信息。状态对象还可以包括各方可以同意的智能合约。对于更新状态对象的每个交易请求,智能合约可以强制执行交易请求必须遵守的规则,以便智能合约允许更新。
[0098]
例如,其中一个规则可以规定,个体运输提供商的旅行账单金额不应当超过用户为整个(基于maas的)运输服务支付的总费用。另一个规则可以规定,个体运输提供商对旅
行收取的费用不应当超过可从用户为整个(基于maas的)运输服务支付的总付款中扣除其它运输提供商的旅行账单之后剩余的余额。另一个规则可以规定,旅行账单应当高于最小值但低于设定的阈值金额,以避免对旅行向用户收费不足或收费过高而错误生成的账单。在各个运输提供商同意用户120为整个(基于maas的)运输服务支付的总付款的百分比份额的情况下,另一个规则可以规定,个体运输提供商不应当收取超过基于百分比份额的金额的金额。
[0099]
在一个实施例中,状态对象可以包括交易数据,诸如状态特性。状态特性可以包括细节,诸如与不同运输提供商相关的付款细节、旅行细节、旅行状态(例如,用户已利用以及尚未利用的旅行)、票务信息、账单信息。
[0100]
在404处,第一订户节点108a可以将经验证的第一交易请求(例如,在图2的208处验证)传输到第一节点112a。在至少一个实施例中,第一订户节点108a可以包括远程过程调用(rpc)服务器,该服务器可以被配置为生成对第一节点112a处的关联rpc客户端的交易调用。交易调用可以基于包括在经验证的第一交易请求中的交易消息而生成。例如,交易消息可以与上车消息或下车消息对应。
[0101]
在图4中,第一订户节点108a被示为处置在第一节点112a上发起交易的呼叫,但是,本公开可以不限于此,并且在一些实施例中,第一订户节点108a可以负责并发控制、线程管理、处理资源和处置与第一交易请求相关联的协议。此外或可替代地,第一订户节点108a可以负责存储用户所采取的路线、票务信息(例如,通过和订阅)的管理、旅行的跟踪、用户简档的管理、用户趋势/偏好的管理,以及处置基于地点的服务。在实施例中,存储的路线、票务信息、用户的被跟踪旅行以及与基于地点的服务相关的信息可以被用于基于用户偏好和用户简档向用户进行智能路线选择的未来推荐。
[0102]
在406处,第一节点112a可以更新第一状态对象428(s1)以产生第二状态对象430(描绘为s2)。在实施例中,第一节点112a可以从第一节点112a检索第一状态对象428(即,s1)并产生更新后的状态对象作为第二状态对象430(即,s2)。例如,第一交易请求可以包括可以在用户120可以登上出租车并开始出租车旅程时生成的上车消息。第一节点112a可以通过更新初始状态对象的交易数据(例如,状态特性)来更新初始状态对象(例如,第一状态对象428,描绘为s1)以产生更新后的状态对象(例如,第二状态对象430,描绘为s2)。在示例中,第一节点112a可以更新交易数据(例如,状态特性),诸如与出租车服务提供商相关的细节、为了交易要汇给出租车服务提供商和maas提供商的金额,以及交易的当前状态。当前状态可以包括例如用户120已经利用的服务的指示和尚未被利用的服务的指示。
[0103]
在408处,第一节点112a可以构建与第一交易请求相关联的交易434a。例如,为了构建交易434a,第一节点112a可以生成交易构建器表单并且用第一状态对象428(即,s1)、命令432和第二状态对象430(即,s2)填充交易构建器表单。命令432可以包括与第一状态对象428(即,s1)到第二状态对象430(即,s2)的过渡相关联的指令或代码。每个状态对象可以包括相关联的智能合约。例如,第一状态对象428(即,s1)可以包括第一智能合约428a(描绘为c1)并且第二状态对象430(即,s2)可以包括第二智能合约430a(描绘为c2)。
[0104]
在410处,第一节点112a可以签署构建的交易434a。在实施例中,第一节点112a可以将代表第一节点112a(或第一运输提供商)的第一签名436(描绘为sig1)附加到构建的交易434a以产生签署的交易434b。
[0105]
在412处,第一节点112a可以核实签署的交易434b。在实施例中,第一节点112a可以执行第一智能合约428a和第二智能合约430a两者。可以基于第一智能合约428a(即,c1)的执行的第一结果与第二智能合约430a(即,c2)的执行的第二结果相匹配的确定来核实签署的交易434b。
[0106]
在414处,第一节点112a可以将经核实的交易434b传输到对方节点114(其是maas提供商节点)。对方节点114可以从第一节点112a接收经核实并签署的交易434b。
[0107]
在416处,对方节点114可以对经验证的交易434b进行会签。在实施例中,对方节点114可以将代表对方节点114的第二签名438(描绘为sig2)附加到经核实的交易434b以产生会签的交易434c。
[0108]
在418处,对方节点114可以将会签的交易434c传输到第一节点112a。第一订户节点108a可以从对方节点114接收会签的交易434c。
[0109]
在420处,第一节点112a可以将会签的交易434c传输到共识节点116。共识节点116可以从第一节点112a接收会签的交易434c。
[0110]
在422处,共识节点116可以对会签的交易434c进行公证。在实施例中,共识节点116可以将代表共识节点116的第三签名440(描绘为sig3)附加到会签的交易434c以产生经公证的交易434d。
[0111]
在424处,共识节点116可以将经公证的交易434d传输到第一节点112a。第一节点112a可以从共识节点116接收经公证的交易434d。
[0112]
在426处,第一节点112a可以将经公证的交易434d作为记录存储在分布式账本112的第一节点112a上,以在分布式账本112上记录交易数据的更新。在实施例中,经公证的交易434d可以包括第一节点112a和对方节点114可以访问的更新后的交易数据。例如,交易数据可以包括与用于运输服务的票务信息、订阅信息、支付信息、收入共享信息或运输服务信息中的一个或多个相关联的状态特性。maas提供商可以使用更新后的交易数据中的收入共享信息来为运输提供商结算付款。
[0113]
在实施例中,分布式账本112的节点可以通过将数字签名或密码签名(基于节点可能已知的校验和或公钥/私钥)附加到交易来签署交易。例如,共识节点116可以通过将与共识节点116的私钥相关联的数字签名附加到会签的交易434c来公证会签的交易434c。具有共识节点116的公钥的任何节点都可以能够核实共识节点116的数字签名。
[0114]
在一个或多个实施例中,对方节点114和共识节点116可以在云服务器或边缘节点上实现。maas提供商(即,maas公司)可以使用对方节点114来合并与由一个或多个运输提供商提供的运输服务相关联的交易。每个订户节点和分布式账本112的对应节点可以一起构成与对应运输提供商相关联的运输提供商节点。运输提供商节点可以在云服务器或电信设施的it基础设施的边缘节点上实现。由于在用户流量或交易流量附近存在此类节点,这可以有助于增加交易吞吐量。
[0115]
在图4中,为更新第一状态对象428的单个交易请求提供从402到426的操作序列。在典型的基于maas的运输服务的履行中,可以经由不同的发布者节点向运输提供商的相应订户节点提供一系列交易请求,每个订户节点都可以在分布式账本112的相应节点上调用交易以通过重复从402到426的操作序列来更新先前更新过的状态对象(例如,第二状态对象430)。
[0116]
图5是图示根据本公开的实施例的与针对订户节点的各种操作状态的交易请求的处置相关联的操作序列的序列图。图5结合图1、2、3和4中的元素进行解释。参考图4,示出了图示从502到510的操作序列的序列图400,其可以由网络环境100的各种元素执行,诸如但不限于由api网关106、第一api代理110a和第一订户节点108a执行。
[0117]
在502处,api网关106可以从消息代理设备104接收第一交易请求(如在图2的206处被路由的)。第一交易请求可以由消息代理设备104经由api网关106路由到第一运输提供商的第一订户节点108a。
[0118]
在504处,第一订户节点108a可以将其操作状态传输到第一api代理110a。在某些实施例中,第一api代理110a可以连续地或周期性地监视第一订户节点108a的操作状态并且可以存储第一订户节点108a的操作状态。操作状态可以包括可以指示第一订户节点108a是处于活动状态还是非活动状态的信息。在第一订户节点108a处于非活动状态的情况下,处于操作状态的信息还可以指示非活动状态的原因/条件,诸如第一订户节点108a的排定的维护、意外维护或未排定的维护。例如,由于服务器固件升级或网络故障,与出租车服务提供商相关联的订户节点可以处于非活动状态。由于分布式账本112的相关联节点的停机时间,订户节点也可以处于非活动状态。
[0119]
在506处,第一api代理110a可以将第一订户节点108a的操作状态传输到api网关106。在实施例中,可以基于第一订户节点108a的操作状态是非活动状态的确定来传输操作状态。api网关106还可以接收多个订户节点108中的其它订户节点的操作状态。
[0120]
在508处,api网关106可以基于第一订户节点108a的操作状态保持第一交易请求。例如,在第一订户节点108a的操作状态由于排定或未排定的维护而处于非活动状态的情况下,api网关106可以保持或存储第一交易请求。在某些实施例中,如果大多数或所有节点的操作状态是不活动的,那么api网关106可以保持或丢弃来自所有其它发布者节点的进一步交易请求并单独通知每个此类发布者节点停止发布更多交易请求,直到节点的操作状态改变。
[0121]
在510处,第一订户节点108a可以将第一订户节点108a的更新后的操作状态传输到第一api代理110a。在512处,第一api代理110a可以将第一订户节点108a的更新后的操作状态传输到api网关106。
[0122]
在514处,api网关106可以基于第一订户节点108a的更新后的操作状态将所保持的(或存储的)第一交易请求路由(或重新路由)到第一订户节点108a。例如,如果更新后的操作状态被确定为活动状态,那么api网关106可以将第一交易请求重新路由到第一订户节点108a。
[0123]
由于api网关106在订户节点的非活动状态期间保持交易请求,并且当订户节点在操作上变为活动时将交易请求重新路由到订户节点,因此,尽管对订户节点进行计划内、计划外或意外的维护,但仍可确保交易请求向订户节点的递送。在某些实施例中,多个订户节点可以与单个运输提供商相关联。在目标订户节点在操作上处于非活动状态的情况下,api网关106可以将交易请求(最初为目标订户节点发布)重新路由到可能在操作上处于活动状态的同一运输提供商的另一个订户节点。
[0124]
在一些实施例中,api网关106可以将第一交易请求递送到第一api代理110a,而不管第一订户节点108a的操作状态如何。在这种情况下,第一api代理110a可以在保持来自第
一订户节点108a的第一交易请求的同时监视第一订户节点108a的操作状态,直到第一订户节点108a的当前操作状态改变为活动状态。当第一订户节点108a在操作上处于活动状态时,第一api代理110a可以将保持的第一交易请求转发到第一订户节点108a。
[0125]
图6是图示根据本公开的实施例的订户节点、分布式账本的节点、与分布式账本相关联的对方节点和与分布式账本相关联的共识节点的示例性实施方式的框图。图6结合图1、2、3、4和5中的元素进行解释。参考图6,示出了第一订户节点108a、分布式账本112的第一节点112a、对方节点114和共识节点116的框图600。
[0126]
在图6中,第一发布者节点102a可以与mqtt发布者(即,mqtt客户端)对应,其可以将第一交易请求作为mqtt消息传输到消息代理设备104。消息代理设备104可以与mqtt消息代理对应,其可以经由api网关106将第一交易请求路由到第一订户节点108a。第一订户节点108a可以是mqtt订户(也是mqtt客户端),其可以根据基于mqtt的消息传递协议接收第一交易请求。
[0127]
第一订户节点108a可以包括mqtt订户模块602和远程过程调用(rpc)客户端模块604(例如,异步rpc客户端),其中每一个都可以在基于java的平台606上执行。mqtt订户模块602可以接收第一交易请求(即,mqtt消息)并且可以通过到分布式账本112的第一节点112a的一个或多个rpc调用将接收到的第一交易请求转发到rpc客户端模块604。
[0128]
在实施例中,分布式账本112的第一节点112a可以包括rpc服务器模块608和corda流模块610,它们中的每一个可以在基于java平台的corda区块链612上执行。在第一节点112a处,rpc服务器模块608可以通过rpc客户端模块604的一个或多个rpc调用从rpc客户端模块604接收第一交易请求。分布式账本112的第一节点112a可以包括可以在基于postgres的数据库平台616上运行的关系数据库(rdb)模块614。rdb模块614可以根据java数据库连接性(jdbc)api从rpc服务器模块608接收数据库查询。
[0129]
在实施例中,对方节点114还可以包括模块,每个模块可以与第一节点112a的模块相似。虽然未在图6中示出,但是共识节点116还可以包括模块,每个模块可以与第一节点112a的模块相似。
[0130]
在操作中,第一节点112a可以将第一状态对象428(即,s1)存储在第一节点112a的rdb模块614中,如图4的402中所解释的。第一订户节点108a可以被配置为将第一交易请求(由mqtt订户模块602作为mqtt消息接收)从消息代理设备104(经由api网关106)传输到第一节点112a(如图4的404中所解释的)。作为示例,第一订户节点108a的rpc客户端模块604可以通过一个或多个rpc调用将接收到的第一交易请求传输到rpc服务器模块608,rpc服务器模块608可以将第一交易请求传递到第一节点112a的corda流模块610。
[0131]
首先,第一节点112a的corda流模块610可以更新第一状态对象428(即,s1)以产生第二状态对象430(即,s2),如在图4的406处所解释的。此后,第一节点112a的corda流模块610可以基于第一交易请求构建交易434a(如图4的408处所解释的),对构建的交易434a进行签名以生成签署的交易434b(如在图4的410处所解释的),并核实签署的交易434b(如图4的412处所解释的)。corda流模块610可以将经核实的交易434b传输到对方节点114(如图4的414处所解释的)。对方节点114的corda流模块可以对经核实的交易434b进行会签以生成会签的交易434c(如图4的416处所解释的)并且将会签的交易434c传输到第一节点112a(如图4的418处所解释的)。第一节点112a的corda流模块610可以将会签的交易434c传输到共
识节点116(如图4的420中所解释的)。共识节点116的corda流模块可以对会签的交易434c进行公证以产生经公证的交易434d(如图4中所解释的)并且可以将经公证的交易434d传输回第一节点112a(如图4的424中所解释的)。第一节点112a的corda流模块610可以通过第一节点112a的rdb模块614将经公证的交易434d存储为交易记录。经公证的交易434d可以包括第一节点112a和对方节点114可访问的更新后的交易数据。
[0132]
本领域普通技术人员将理解的是,图6的每个模块可以与执行相应模块的既定操作集合的软件程序或软件程序在其上运行以执行相应模块的既定操作集合的电路系统对应,如图6中所述。
[0133]
图7是根据本公开的实施例的示例性消息代理设备的框图。图7结合图1、2、3、4、5和6中的元素进行解释。参考图7,示出了图1的消息代理设备104的框图700。消息代理设备104包括电路系统702、存储器704、输入/输出(i/o)设备706和网络接口708。api网关106可以托管在消息代理设备104上。
[0134]
电路系统702可以被配置为通过使用网络接口708与多个发布者节点102和多个订户节点108通信。电路系统702可以包括合适的逻辑、电路系统、接口和/或代码,其可以被配置为执行要由消息代理设备104和api网关106执行的操作的指令。电路系统702的实施方式的示例可以包括中央处理单元(cpu)、基于x86的处理器、精简指令集计算(risc)处理器、专用集成电路(asic)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、协处理器、其它处理器和/或其组合。
[0135]
存储器704可以包括合适的逻辑、电路系统、代码和/或接口,其可以被配置为存储可由电路系统702执行的指令。存储器704的实施方式的示例可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、硬盘驱动器(hdd)和/或安全数字(sd)卡。
[0136]
i/o设备706可以包括合适的逻辑、电路系统和/或接口,其可以被配置为接收输入并基于接收到的输入提供输出。i/o设备706可以包括各种输入和输出设备,其可以被配置为与电路系统702通信。i/o设备706的示例可以包括但不限于触摸屏、键盘、鼠标、操纵杆、显示设备、麦克风或扬声器。
[0137]
网络接口708可以包括合适的逻辑、电路系统、接口和/或代码,其可以被配置为经由一个或多个通信网络(未示出)启用消息代理设备104、多个发布者节点102和多个订户节点108之间的通信。网络接口708可以实现已知技术以支持与一个或多个通信网络的有线或无线通信。
[0138]
网络接口708可以包括但不限于天线、调频(fm)收发器、射频(rf)收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编码器

解码器(codec)芯片组、订户身份模块(sim)卡和/或本地缓冲器。网络接口708可以经由无线通信与网络(诸如互联网、内联网和/或无线网络(诸如蜂窝电话网络、无线局域网(lan)和/或城域网(man)))通信。无线通信可以使用多种通信标准、协议和技术中的任何一种,诸如长期演进(lte),全球移动通信系统(gsm),增强型数据gsm环境(edge),宽带码分多路接入(w

cdma),码分多址(cdma),时分多址(tdma),蓝牙,无线保真(wi

fi)(e.118g.、ieee 802.11a、ieee 802.11b、ieee 802.11g和/或ieee 802.11n),互联网协议语音(voip),wi

max,用于电子邮件、即时消息传递和/或短消息服务(sms)的协议。
[0139]
如图1、2、3、4、5和6中描述的,由消息代理设备104执行的功能或操作可以由电路
系统702执行。例如,在图1、2、3、4、5和6中详细描述了由电路系统702执行的操作。
[0140]
图8是根据本公开的实施例的示例性订户节点的框图。图8结合图1、2、3、4、5、6和7中的元素进行解释。参考图8,示出了第一订户节点108a的框图800。第一订户节点108a包括电路系统802、存储器804、i/o设备806和网络接口808。第一订户节点108a还可以包括可以托管在第一订户节点108a上的第一api代理110a。
[0141]
电路系统802可以被配置为通过使用网络接口808与消息代理设备104和第一节点112a通信。电路系统802可以包括合适的逻辑、电路系统、接口和/或代码,其可以被配置为执行要由第一订户节点108a和第一api代理110a执行的操作的指令。电路系统802的实施方式的示例可以包括cpu、基于x86的处理器、risc处理器、asic处理器、cisc处理器、gpu、协处理器或其组合。
[0142]
存储器804可以包括合适的逻辑、电路系统、代码和/或接口,其可以被配置为存储可由电路系统802执行的指令。存储器804的实施方式的示例可以包括但不限于ram、rom、hdd和/或sd卡。
[0143]
i/o设备806可以包括合适的逻辑、电路系统和/或接口,其可以被配置为接收输入并基于接收到的输入提供输出。i/o设备806可以包括各种输入和输出设备,其可以被配置为与电路系统802通信。i/o设备806的示例可以包括但不限于触摸屏、键盘、鼠标、操纵杆、显示设备、麦克风和扬声器。
[0144]
网络接口808可以包括合适的逻辑、电路系统、接口和/或代码,其可以被配置为经由一个或多个通信网络启用第一订户节点108a、消息代理设备104和第一节点112a之间的通信。网络接口808可以实现已知技术以支持与一个或多个通信网络的有线或无线通信。网络接口808的功能可以与例如在图7中所描述的网络接口708的功能相同。因此,为简洁起见,本公开中省略了网络接口808的描述。
[0145]
如图1、2、3、4、5和6中所述,由第一订户节点108a执行的功能或操作可以由电路系统802执行。例如,在图1、2、3、4、5和6中详细描述了由电路系统802执行的操作。
[0146]
图9是根据本公开的实施例的示例性发布者节点的框图。图9结合图1、2、3、4、5、6、7和8中的元素进行解释。参考图9,示出了第一发布者节点102a的框图900。第一发布者节点102a包括电路系统902、存储器904、i/o设备906和网络接口912。i/o设备906可以包括显示设备908和ui 910。
[0147]
电路系统902可以被配置为通过使用网络接口912与消息代理设备104通信。电路系统902可以包括合适的逻辑、电路系统、接口和/或代码,其可以被配置为执行要由第一发布者节点102a执行的操作的指令。电路系统902的实施方式的示例可以包括cpu、基于x86的处理器、risc处理器、asic处理器、cisc处理器、gpu、协处理器或其组合。
[0148]
存储器904可以包括合适的逻辑、电路系统、代码和/或接口,其可以被配置为存储可由电路系统902执行的指令。存储器904的实施方式的示例可以包括但不限于ram、rom、hdd和/或sd卡。
[0149]
i/o设备906可以包括合适的逻辑、电路系统和/或接口,其可以被配置为接收输入并基于接收到的输入提供输出。i/o设备906可以包括各种输入和输出设备,其可以被配置为与电路系统902通信。i/o设备906的示例可以包括但不限于触摸屏、键盘、鼠标、操纵杆、显示设备(例如,显示设备908)、麦克风和扬声器。
[0150]
显示设备908可以包括合适的逻辑、电路系统和接口,其可以被配置为显示ui 910,用户(诸如用户120)可以能够通过该ui请求新的运输服务、发起运输服务,或关闭运输服务。例如,显示设备908可以与pos、智能电话或检票口的显示器对应。
[0151]
网络接口912可以包括合适的逻辑、电路系统、接口和/或代码,其可以被配置为启用第一发布者节点102a和消息代理设备104之间的通信。网络接口912可以实现已知技术以支持与通信网络的有线或无线通信。网络接口912的功能可以与例如在图7中所描述的网络接口708的功能相同。因此,为简洁起见,本公开中省略了网络接口912的描述。
[0152]
如图1、2、3、4、5和6中所述,由第一发布者节点102a执行的功能或操作可以由电路系统902执行。例如,在图1、2、3、4、5和6中详细描述了由电路系统902执行的操作。
[0153]
图10是根据本公开的实施例的示例性基于maas的系统的框图。图10结合图1、2、3、4、5、6、7、8和9中的元素进行解释。参考图10,示出了系统1002的框图1000。系统1002包括多个发布者节点102、消息代理设备104和多个订户节点108。消息代理设备104可以托管api网关106并且多个订户节点108中的每一个可以托管多个api代理110中的对应api代理。例如,在图1、2、3、4、5、6、7、8和9中详细解释了系统1002的每个实体的操作。
[0154]
图11是图示根据本公开的实施例的用于安全交易处理的示例性方法的流程图。图11结合图1、2、3、4、5、6、7、8、9和10中的元素进行描述。参考图11,示出了流程图1100。流程图1100的示例性方法可以由任何计算系统执行,例如由图1的第一节点112a、消息代理设备104、api网关106和第一订户节点108a执行。流程图1100的示例性方法可以在1102开始并前进到1104。
[0155]
在1104处,可以接收包括创建消息的初始交易请求。在实施例中,第一订户节点108a可以被配置为从第一发布者节点102a接收初始交易请求。初始交易请求可以包括创建包括与运输服务相关联的交易数据的第一状态对象428(即,s1)的创建消息。在实施例中,可以根据从1108到1114的操作来接收然后验证初始交易请求。在验证之后,第一订户节点108a可以接收经验证的初始交易请求并且将经验证的初始交易请求发送到分布式账本112的第一节点112a,以用于存储和创建用于用户120的新运输服务的记录实例,如1106处所解释的。
[0156]
在1106处,可以存储包括与运输服务相关联的交易数据的第一状态对象428(即,s1)。在实施例中,可以与第一订户节点108a相关联的分布式账本112的第一节点112a可以被配置为存储第一状态对象428(即,s1)。第一节点112a可以接收包括用于新运输服务的创建消息的初始交易请求,并且在第一节点112a中创建用于用户120的新运输服务的新记录。第一节点112a中的新记录可以与第一状态对象428(即,s1)对应。例如,在图4中解释了第一状态对象428的细节。
[0157]
在1108处,可以从第一运输的第一发布者节点102a接收与运输服务相关联的第一交易请求。在实施例中,消息代理设备104可以被配置为从第一发布者节点102a接收第一交易请求。
[0158]
在1110处,第一交易请求可以经由api网关106被路由到第一运输提供商的第一订户节点108a。在实施例中,消息代理设备104可以被配置为经由api网关106将第一交易请求路由到第一订户节点108a。
[0159]
在1112处,可以基于对接收到的第一交易请求应用安全性规则的集合来验证被路
由的第一交易请求。在实施例中,api网关106可以被配置为基于对接收到的第一交易请求应用安全性规则的集合来验证被路由的第一交易请求。例如,在图2中解释了基于安全性规则的集合对接收到的第一交易请求的安全性过滤。
[0160]
在1114处,可以经由第一订户节点108a从api网关106接收经验证的第一交易请求。在实施例中,分布式账本112的第一节点112a可以被配置为经由第一订户节点108a从api网关106接收经验证的第一交易请求。
[0161]
在1116处,可以基于接收到的第一交易请求来更新存储在第一节点112a上的交易数据。在实施例中,第一节点112a可以被配置为基于接收到的第一交易请求来更新存储在第一节点112a上的交易数据。在实施例中,第一节点112a可以将初始状态对象(例如,第一状态对象428)更新为更新后的状态对象(例如,第二状态对象430)。例如,更新后的状态对象可以与基于接收到的交易请求对初始状态对象中包括的状态特性的更新对应。例如,在图4中解释了存储在第一节点112a上的交易数据的更新。控制可以进一步传递到结束。
[0162]
虽然流程图1100被图示为离散操作,诸如1104、1106、1108、1110、1112、1114和1116,但本公开不限于此。因而,在某些实施例中,在不偏离所公开的实施例的本质的情况下,取决于特定实施方式,此类离散操作可以被进一步划分为附加操作、组合为更少的操作或被消除。
[0163]
本公开的示例性方面可以包括一种系统,该系统可以包括消息代理设备(诸如消息代理设备104),该消息代理设备包括被配置为接收与来自多个运输提供商中的第一运输提供商的第一发布者节点(诸如第一发布者节点102a)的运输服务相关联的第一交易请求的电路系统(诸如电路系统202)。电路系统202可以被配置为经由托管在消息代理设备104上的api网关(诸如api网关106)将第一交易请求路由到与接收到的第一交易请求相关联的第一运输提供商的第一订户节点(诸如第一订户节点108a)。api网关106可以被配置为基于对接收到的第一交易请求应用安全性规则的集合来验证被路由的第一交易请求。第一订户节点108a可以与分布式账本(诸如分布式账本112)的第一节点(诸如第一节点112a)相关联。第一节点112a可以被配置为存储可以包括与运输服务相关联的交易数据的第一状态对象(诸如第一状态对象428)。第一节点112a可以被配置为经由第一订户节点108a从api网关106接收经验证的第一交易请求并且基于接收到的第一交易请求更新存储在第一节点112a上的交易数据。
[0164]
在实施例中,第一发布者节点102a可以是但不限于第一运输提供商的乘车预订应用、检票口或销售点(pos)中的一个。
[0165]
在实施例中,分布式账本112可以包括与maas提供商相关联的移动即服务(maas)提供商节点。该系统还可以包括与多个maas提供商相关联的多个分布式账本。多个分布式账本中的每一个可以包括对应maas提供商的maas提供商节点。
[0166]
在实施例中,api网关106还可以被配置为基于被路由的第一交易请求与有效范围的互联网协议(ip)地址中的ip地址相关联的确定来验证被路由的第一交易请求。另外,api网关106可以被配置为基于被路由的第一交易请求与和网络攻击相关联的恶意行为对应的确定来丢弃被路由的第一交易请求。此外,api网关106可以被配置为基于第一发布者节点是机器人的确定来丢弃被路由的第一交易请求。api网关106可以被配置为基于被路由的第一交易请求用有效签名进行签署的确定来验证被路由的第一交易请求。api网关106可以被
配置为基于第一发布者节点102a的真实性和授权的核实来验证被路由的第一交易请求。
[0167]
在实施例中,安全性规则的集合可以包括以下一个或多个:确定被路由的第一交易请求是否与有效范围的互联网协议(ip)地址中的ip地址相关联的第一规则,确定被路由的第一交易请求是否与和网络攻击相关联的恶意行为对应的第二规则,确定第一发布者节点102a是否是机器人的第三规则,确定被路由的第一交易请求是否用有效签名进行签署的第四规则以及基于第一发布者节点102a的真实性和授权的核实来验证被路由的第一交易请求的第五规则。
[0168]
在实施例中,该系统还可以包括托管在第一订户节点108a上的api代理(诸如第一api代理110a)。api网关106可以被配置为从第一api代理110a接收与第一订户节点108a相关联的操作状态。接收到的操作状态可以指示第一订户节点108a的排定的维护、意外维护或未排定的维护中的一个。api网关106可以被配置为基于接收到的操作状态保持被路由的第一交易请求。可替代地,api网关106可以被配置为基于第一订户节点108a的操作状态是活动的确定而将第一交易请求重新路由到第一订户节点108a。
[0169]
在实施例中,第一api代理110a可以被配置为经由api网关106接收经验证的第一交易请求。第一api代理110a可以被配置为基于经验证的第一交易请求符合第一订户节点108a的信息访问策略的确定而将经验证的第一交易请求传递到第一订户节点108a。信息访问策略可以包括与运输服务相关联的业务规则和约束。
[0170]
在实施例中,第一节点112a可以被配置为经由第一订户节点108a从api网关106接收经验证的第一交易请求并且基于接收到的第一交易请求中的交易消息更新第一状态对象以输出第二状态对象(诸如第二状态对象430)。第一节点112a还可以被配置为构建包括第一状态对象和第二状态对象的交易。
[0171]
第一节点112a还可以被配置为签署构建的交易434a并核实签署的交易434b。签署的交易434b的核实可以基于确定第一状态对象428中包括的第一智能合约的第一执行结果与第二状态对象430中包括的第二智能合约的第二执行结果相匹配。第一节点112a可以被配置为与对方节点(诸如对方节点114)共享经核实的交易。
[0172]
在实施例中,对方节点114被配置为会签共享的交易并且与第一节点112a共享会签的交易434c。在实施例中,该系统还可以包括共识节点(诸如共识节点116),该共识节点可以被配置为从第一节点112a接收会签的交易434c,对接收到的会签的交易434c进行公证以包括共识节点116的签名并与第一节点112a共享经公证的交易434d。在实施例中,第一节点112a可以被配置为存储经公证的交易434d。经公证的交易可以包括分布式账本112的第一节点112a和对方节点114可以访问的更新后的交易数据。
[0173]
在实施例中,接收到的第一交易请求可以包括以下之一:与针对用户(诸如用户120)的运输服务的创建相关联的创建消息、与针对用户120的运输服务的开始相关联的上车消息,或与运输服务的完成相关联的下车消息。交易数据可以与和运输服务相关联的票务信息、订阅信息、支付信息、收入共享信息或运输服务信息中的一个或多个相关联。
[0174]
本公开可以用硬件或硬件和软件的组合来实现。本公开可以以集中式方式、以至少一个计算机系统或以分布式的方式来实现,其中不同的元件可以分布在多个互连的计算机系统上。适于执行本文描述的方法的计算机系统或其它装置可能是合适的。硬件和软件的组合可以是具有计算机程序的通用计算机系统,该计算机程序在被加载和执行时可以控
制计算机系统,以使其执行本文描述的方法。本公开可以用包括还执行其它功能的集成电路的一部分的硬件来实现。
[0175]
本公开还可以被嵌入计算机程序产品中,该计算机程序产品包括使得能够实现本文描述的方法的所有特征,并且当其被加载到计算机系统中时,能够执行这些方法。在本上下文中,计算机程序是指以任何语言、代码或符号表示的指令集的任何表达,这些指令旨在使具有信息处理能力的系统直接执行特定功能,或者在以下中的一个或两者之后执行特定功能:a)转换成另一种语言、代码或符号;b)以不同的物质形式复制。
[0176]
虽然参考某些实施例描述了本公开,但是本领域技术人员将理解,在不偏离本公开的范围的情况下,可以进行各种改变并且可以替换等同物。此外,在不偏离本公开的范围的情况下,可以做出许多修改以使特定情况或材料适于本公开的教导。因此,意图是本公开不限于所公开的特定实施例,而是本公开将包括落入所附权利要求的范围内的所有实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献