一种结合公有链和私有链的网约车方法及***
技术领域
本发明涉及网约车技术领域,尤其涉及一种结合公有链和私有链的网约车方法及***。
背景技术
网约车作为一种新兴的出行方式,不仅能够随时随地满足乘客的出行需要,而且能够大幅度提高机动车的利用效率。但随着市场规模的高速扩大,用户安全需求的日益增加,商业化、中心化的网约车平台也带来诸多利益冲突,例如社会、政策、法律和监管问题。现有的网约车平台主要利用网约车平台维护的中心化数据库提供网约车服务,存在信息不透明、易被篡改等缺点,容易出现行程信息不透明导致的安全问题,计费信息不透明导致的利益问题等,而针对司机恶意行为也未能采取有效的预防及处理措施,成为行业饱受诟病的痛点。
发明内容
本发明提供一种结合公有链和私有链的网约车方法及***,以克服现有技术的缺陷,本发明能够利用区块链的去中心化和信息不可篡改特征,结合公有链和私有链的智能合约处理交易订单,确保信息透明化、不易被篡改,从而避免出现行程信息不透明导致的安全问题以及计费信息不透明导致的利益问题。
为了解决上述技术问题,第一方面,本发明一实施例提供一种结合公有链和私有链的网约车方法,包括:
通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,创建交易订单;
将所述乘客、所述司机和所述乘客添加的紧急联系人作为节点,生成所述交易订单专用的私有链;
通过私有链的智能合约将所述交易订单的基本信息上传至公有链,并在私有链记录所述交易订单的行程信息;
在所述行程信息为异常信息时,通过私有链的智能合约向所述乘客和/或所述紧急联系人发送通知消息;
在结算所述交易订单时,根据公有链的智能合约所设定的计费标准计算订单费用,向所述乘客收取所述订单费用;
在完成所述交易订单时,通过私有链的智能合约获取所述乘客的评价信息,并将所述交易订单的所有信息上传至公有链。
进一步地,在所述通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,创建交易订单之前,还包括:
通过公有链的智能合约将所述司机的注册信息上传至公有链;其中,所述注册信息包括资质信息和车辆信息;
通过公有链的智能合约判断所述司机的信用是否达标,并在所述司机信用未达标时修改所述司机的服务权限。
进一步地,所述在私有链记录所述交易订单的行程信息,具体为:
根据预设周期获取所述行程信息,并在私有链记录所述行程信息;其中,所述行程信息包括所述乘客的实时位置和所述司机的实时位置。
进一步地,所述在所述行程信息为异常信息时,通过私有链的智能合约向所述乘客和/或所述紧急联系人发送通知消息,包括:
在所述乘客的实时位置与所述司机的实时位置之间的偏差距离超过预设阈值时,通过私有链的智能合约向所述乘客和/或所述紧急联系人发送通知消息。
进一步地,在所述通过私有链的智能合约将所述交易订单的基本信息上传至公有链,并在私有链记录所述交易订单的行程信息之后,还包括:
接收所述紧急联系人发起的查询请求,向所述紧急联系人发送所述行程信息。
第二方面,本发明一实施例提供一种结合公有链和私有链的网约车***,包括:
交易订单创建模块,用于通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,创建交易订单;
私有链生成模块,用于将所述乘客、所述司机和所述乘客添加的紧急联系人作为节点,生成所述交易订单专用的私有链;
行程信息记录模块,用于通过私有链的智能合约将所述交易订单的基本信息上传至公有链,并在私有链记录所述交易订单的行程信息;
通知消息发送模块,用于在所述行程信息为异常信息时,通过私有链的智能合约向所述乘客和/或所述紧急联系人发送通知消息;
订单费用收取模块,用于在结算所述交易订单时,根据公有链的智能合约所设定的计费标准计算订单费用,向所述乘客收取所述订单费用;
订单信息上传模块,用于在完成所述交易订单时,通过私有链的智能合约获取所述乘客的评价信息,并将所述交易订单的所有信息上传至公有链。
进一步地,所述交易订单创建模块,还用于在所述通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,创建交易订单之前,通过公有链的智能合约将所述司机的注册信息上传至公有链;其中,所述注册信息包括资质信息和车辆信息;通过公有链的智能合约判断所述司机的信用是否达标,并在所述司机信用未达标时修改所述司机的服务权限。
进一步地,所述在私有链记录所述交易订单的行程信息,具体为:
根据预设周期获取所述行程信息,并在私有链记录所述行程信息;其中,所述行程信息包括所述乘客的实时位置和所述司机的实时位置。
进一步地,所述在所述行程信息为异常信息时,通过私有链的智能合约向所述乘客和/或所述紧急联系人发送通知消息,包括:
在所述乘客的实时位置与所述司机的实时位置之间的偏差距离超过预设阈值时,通过私有链的智能合约向所述乘客和/或所述紧急联系人发送通知消息。
进一步地,所述行程信息记录模块,还用于在所述通过私有链的智能合约将所述交易订单的基本信息上传至公有链,并在私有链记录所述交易订单的行程信息之后,接收所述紧急联系人发起的查询请求,向所述紧急联系人发送所述行程信息。
本发明的实施例,具有如下有益效果:
通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,创建交易订单,在交易订单创建成功后,将乘客、司机和乘客添加的紧急联系人作为节点,生成交易订单专用的私有链,以通过私有链的智能合约将交易订单的基本信息上传至公有链,并在私有链记录交易订单的行程信息,使得在行程信息为异常信息时,可通过私有链的智能合约向乘客和/或紧急联系人发送通知消息,在结算交易订单时,根据公有链的智能合约所设定的计费标准计算订单费用,向乘客收取所述订单费用,在完成交易订单时,通过私有链的智能合约获取乘客的评价信息,并将交易订单的所有信息上传至公有链。相比于现有技术,本发明能够利用区块链的去中心化和信息不可篡改特征,结合公有链和私有链的智能合约处理交易订单,即通过公有链的智能合约创建交易订单、结算交易订单,通过交易订单专用的私有链的智能合约记录交易订单的所有信息,确保信息透明化、不易被篡改,从而避免出现行程信息不透明导致的安全问题以及计费信息不透明导致的利益问题。
附图说明
图1为本发明第一实施例中的一种结合公有链和私有链的网约车方法的流程示意图;
图2为本发明第二实施例中的一种结合公有链和私有链的网约车***的结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,文中的步骤编号,仅为了方便具体实施例的解释,不作为限定步骤执行先后顺序的作用。本实施例提供的方法可以由相关的服务器执行,且下文均以服务器作为执行主体为例进行说明。
如图1所示,第一实施例提供一种结合公有链和私有链的网约车方法,包括步骤S1~S6:
S1、通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,创建交易订单。
S2、将乘客、司机和乘客添加的紧急联系人作为节点,生成交易订单专用的私有链。
S3、通过私有链的智能合约将交易订单的基本信息上传至公有链,并在私有链记录交易订单的行程信息。
S4、在行程信息为异常信息时,通过私有链的智能合约向乘客和/或紧急联系人发送通知消息。
S5、在结算交易订单时,根据公有链的智能合约所设定的计费标准计算订单费用,向乘客收取订单费用。
S6、在完成交易订单时,通过私有链的智能合约获取乘客的评价信息,并将交易订单的所有信息上传至公有链。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。区块链具有去中心化、信息不可篡改等基本特征。其中,区块链包括公有链和私有链。
智能合约的理念可以追溯到1995年,几乎与互联网(world wide web)同时出现。因为比特币打下基础而受到广泛赞誉的密码学家尼克·萨博(Nick Szabo)首次提出了"智能合约"这一术语。从本质上讲,这些自动合约的工作原理类似于其它计算机程序的if-then语句。智能合约只是以这种方式与真实世界的资产进行交互。当一个预先编好的条件被触发时,智能合约执行相应的合同条款。
在步骤S1中,乘客通过输入出发地、目的地、出发时间等需求信息,在公有链发起约车请求,通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,从而创建交易订单。
在步骤S2中,当交易订单创建成功时,将乘客、司机和乘客添加的紧急联系人作为节点生成交易订单专用的私有链,以在私有链部署智能合约,实现记录交易订单的所有信息。
在步骤S3中,通过私有链的智能合约将交易订单的基本信息,比如乘客、司机、出发地和目的地等信息上传至公有链,并在私有链记录交易订单的行程信息,比如乘客的实时位置、司机的实时位置和时间戳等信息,不仅能够通过公有链对交易订单进行监管,还能够在乘客、司机和紧急联系人之间共享交易订单的行程信息。
在步骤S4中,当行程信息为异常信息时,通过私有链的智能合约向乘客和/或紧急联系人发送通知消息,使得乘客和/或紧急联系人能够及时做出应对措施。
在步骤S5中,利用公有链的智能合约预先设定计费标准,以当结算交易订单时,根据公有链的智能合约所设定的计费标准计算订单费用,向乘客收取订单费用,能够避免计费标准被任意更改,保障乘客利益。
在步骤S6中,当完成交易订单时,通过私有链的智能合约获取乘客的评价信息,并将交易订单的所有信息上传至公有链,使得公有链的智能合约可结合司机在此次交易订单中的相关信息更新司机的信用。
通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,创建交易订单,在交易订单创建成功后,将乘客、司机和乘客添加的紧急联系人作为节点,生成交易订单专用的私有链,以通过私有链的智能合约将交易订单的基本信息上传至公有链,并在私有链记录交易订单的行程信息,使得在行程信息为异常信息时,可通过私有链的智能合约向乘客和/或紧急联系人发送通知消息,在结算交易订单时,根据公有链的智能合约所设定的计费标准计算订单费用,向乘客收取所述订单费用,在完成交易订单时,通过私有链的智能合约获取乘客的评价信息,并将交易订单的所有信息上传至公有链。
本实施例能够利用区块链的去中心化和信息不可篡改特征,结合公有链和私有链的智能合约处理交易订单,即通过公有链的智能合约创建交易订单、结算交易订单,通过交易订单专用的私有链的智能合约记录交易订单的所有信息,确保信息透明化、不易被篡改,从而避免出现行程信息不透明导致的安全问题以及计费信息不透明导致的利益问题。
在优选的实施例当中,在所述通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,创建交易订单之前,还包括:通过公有链的智能合约将司机的注册信息上传至公有链;其中,注册信息包括资质信息和车辆信息;通过公有链的智能合约判断司机的信用是否达标,并在司机信用未达标时修改司机的服务权限。
司机通过输入资质信息、车辆信息等注册信息完成注册,通过公有链的智能合约将司机的注册信息上传至公有链,并判断司机的信用是否达标,以在司机信用未达标时修改司机的服务权限,比如增加订单押金、一定时间内禁止接收订单、封禁司机账户等。
在优选的实施例当中,所述在私有链记录所述交易订单的行程信息,具体为:根据预设周期获取行程信息,并在私有链记录行程信息;其中,行程信息包括乘客的实时位置和司机的实时位置。
通过定期获取乘客的实时位置和司机的实时位置等行程信息,将定期获取的行程信息记录在私有链,能够及时更新交易订单的行程信息。
在优选的实施例当中,所述在行程信息为异常信息时,通过私有链的智能合约向乘客和/或紧急联系人发送通知消息,包括:在乘客的实时位置与司机的实时位置之间的偏差距离超过预设阈值时,通过私有链的智能合约向乘客和/或紧急联系人发送通知消息。
当乘客的实时位置与司机的实时位置之间的偏差距离超过预设阈值时,存在两种情况:(1)乘客未上车,司机就开始订单,此时已经开始计费;(2)乘客已下车,司机未结束订单,此时仍在计费,即在上述两种情况下,认为行程信息为异常信息,通过私有链的智能合约向乘客发送通知消息,比如使用强提醒方式通知乘客,向乘客确认是否已上车或下车。另外,当乘客的实时位置与司机的实时位置之间的偏差距离未超过预设阈值,但乘客的实时位置或司机的实时位置却偏离目的地时,认为行程信息为异常信息,通过私有链的智能合约向乘客发送通知消息,比如使用强提醒方式通知乘客,提醒乘客现已偏离目的地,并提醒乘客询问司机是否更换行车路线。若是,则认为行程信息为正常信息。当多次提醒乘客,乘客长时间未回答时,通过私有链的智能合约向紧急联系人发送通知消息,比如由网约车平台后台拨打紧急联系人电话,向紧急联系人警示风险并提醒紧急联系人尽快联系乘客确认情况。若无法联系到紧急联系人,则将交易订单的相关信息,包括司乘双方信息及实时位置发送给警方作为追踪线索。其中,强提醒方式根据异常情况的紧急程度而确定,可递进式地采取手机振动、短信提醒、电话提醒等方式。
在优选的实施例当中,在所述通过私有链的智能合约将交易订单的基本信息上传至公有链,并在私有链记录交易订单的行程信息之后,还包括:接收紧急联系人发起的查询请求,向紧急联系人发送行程信息。
通过接收紧急联系人发起的查询请求,向紧急联系人发送行程信息,能够使紧急联系人随时获取交易订单的行程信息,保障乘客安全。
如图2所示,第二实施例提供一种结合公有链和私有链的网约车***,包括:交易订单创建模块21,用于通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,创建交易订单;私有链生成模块22,用于将乘客、司机和乘客添加的紧急联系人作为节点,生成交易订单专用的私有链;行程信息记录模块23,用于通过私有链的智能合约将交易订单的基本信息上传至公有链,并在私有链记录交易订单的行程信息;通知消息发送模块24,用于在行程信息为异常信息时,通过私有链的智能合约向乘客和/或紧急联系人发送通知消息;订单费用收取模块25,用于在结算交易订单时,根据公有链的智能合约所设定的计费标准计算订单费用,向乘客收取订单费用;订单信息上传模块26,用于在完成交易订单时,通过私有链的智能合约获取乘客的评价信息,并将交易订单的所有信息上传至公有链。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。区块链具有去中心化、信息不可篡改等基本特征。其中,区块链包括公有链和私有链。
智能合约的理念可以追溯到1995年,几乎与互联网(world wide web)同时出现。因为比特币打下基础而受到广泛赞誉的密码学家尼克·萨博(Nick Szabo)首次提出了"智能合约"这一术语。从本质上讲,这些自动合约的工作原理类似于其它计算机程序的if-then语句。智能合约只是以这种方式与真实世界的资产进行交互。当一个预先编好的条件被触发时,智能合约执行相应的合同条款。
通过交易订单创建模块21,乘客通过输入出发地、目的地、出发时间等需求信息,在公有链发起约车请求,通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,从而创建交易订单。
通过私有链生成模块22,当交易订单创建成功时,将乘客、司机和乘客添加的紧急联系人作为节点生成交易订单专用的私有链,以在私有链部署智能合约,实现记录交易订单的所有信息。
通过行程信息记录模块23,通过私有链的智能合约将交易订单的基本信息,比如乘客、司机、出发地和目的地等信息上传至公有链,并在私有链记录交易订单的行程信息,比如乘客的实时位置、司机的实时位置和时间戳等信息,不仅能够通过公有链对交易订单进行监管,还能够在乘客、司机和紧急联系人之间共享交易订单的行程信息。
通过通知消息发送模块24,当行程信息为异常信息时,通过私有链的智能合约向乘客和/或紧急联系人发送通知消息,使得乘客和/或紧急联系人能够及时做出应对措施。
通过订单费用收取模块25,利用公有链的智能合约预先设定计费标准,以当结算交易订单时,根据公有链的智能合约所设定的计费标准计算订单费用,向乘客收取订单费用,能够避免计费标准被任意更改,保障乘客利益。
通过订单信息上传模块26,当完成交易订单时,通过私有链的智能合约获取乘客的评价信息,并将交易订单的所有信息上传至公有链,使得公有链的智能合约可结合司机在此次交易订单中的相关信息更新司机的信用。
通过交易订单创建模块21,通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,创建交易订单,通过私有链生成模块22,在交易订单创建成功后,将乘客、司机和乘客添加的紧急联系人作为节点,生成交易订单专用的私有链,通过行程信息记录模块23,通过私有链的智能合约将交易订单的基本信息上传至公有链,并在私有链记录交易订单的行程信息,通过通知消息发送模块24,在行程信息为异常信息时,通过私有链的智能合约向乘客和/或紧急联系人发送通知消息,通过订单费用收取模块25,在结算交易订单时,根据公有链的智能合约所设定的计费标准计算订单费用,向乘客收取所述订单费用,通过订单信息上传模块26,在完成交易订单时,通过私有链的智能合约获取乘客的评价信息,并将交易订单的所有信息上传至公有链。
本实施例能够利用区块链的去中心化和信息不可篡改特征,结合公有链和私有链的智能合约处理交易订单,即通过公有链的智能合约创建交易订单、结算交易订单,通过交易订单专用的私有链的智能合约记录交易订单的所有信息,确保信息透明化、不易被篡改,从而避免出现行程信息不透明导致的安全问题以及计费信息不透明导致的利益问题。
在优选的实施例当中,所述交易订单创建模块21,还用于在所述通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,创建交易订单之前,通过公有链的智能合约将司机的注册信息上传至公有链;其中,注册信息包括资质信息和车辆信息;通过公有链的智能合约判断司机的信用是否达标,并在司机信用未达标时修改司机的服务权限。
通过交易订单创建模块21,司机通过输入资质信息、车辆信息等注册信息完成注册,通过公有链的智能合约将司机的注册信息上传至公有链,并判断司机的信用是否达标,以在司机信用未达标时修改司机的服务权限,比如增加订单押金、一定时间内禁止接收订单、封禁司机账户等。
在优选的实施例当中,所述在私有链记录交易订单的行程信息,具体为:根据预设周期获取行程信息,并在私有链记录行程信息;其中,行程信息包括乘客的实时位置和司机的实时位置。
通过定期获取乘客的实时位置和司机的实时位置等行程信息,将定期获取的行程信息记录在私有链,能够及时更新交易订单的行程信息。
在优选的实施例当中,所述在行程信息为异常信息时,通过私有链的智能合约向乘客和/或紧急联系人发送通知消息,包括:在乘客的实时位置与司机的实时位置之间的偏差距离超过预设阈值时,通过私有链的智能合约向乘客和/或紧急联系人发送通知消息。
当乘客的实时位置与司机的实时位置之间的偏差距离超过预设阈值时,存在两种情况:(1)乘客未上车,司机就开始订单,此时已经开始计费;(2)乘客已下车,司机未结束订单,此时仍在计费,即在上述两种情况下,认为行程信息为异常信息,通过私有链的智能合约向乘客发送通知消息,比如使用强提醒方式通知乘客,向乘客确认是否已上车或下车。另外,当乘客的实时位置与司机的实时位置之间的偏差距离未超过预设阈值,但乘客的实时位置或司机的实时位置却偏离目的地时,认为行程信息为异常信息,通过私有链的智能合约向乘客发送通知消息,比如使用强提醒方式通知乘客,提醒乘客现已偏离目的地,并提醒乘客询问司机是否更换行车路线。若是,则认为行程信息为正常信息。当多次提醒乘客,乘客长时间未回答时,通过私有链的智能合约向紧急联系人发送通知消息,比如由网约车平台后台拨打紧急联系人电话,向紧急联系人警示风险并提醒紧急联系人尽快联系乘客确认情况。若无法联系到紧急联系人,则将交易订单的相关信息,包括司乘双方信息及实时位置发送给警方作为追踪线索。其中,强提醒方式根据异常情况的紧急程度而确定,可递进式地采取手机振动、短信提醒、电话提醒等方式。
在优选的实施例当中,所述行程信息记录模块23,还用于在所述通过私有链的智能合约将交易订单的基本信息上传至公有链,并在私有链记录交易订单的行程信息之后,接收紧急联系人发起的查询请求,向紧急联系人发送行程信息。
通过行程信息记录模块23,接收紧急联系人发起的查询请求,向紧急联系人发送行程信息,能够使紧急联系人随时获取交易订单的行程信息,保障乘客安全。
综上所述,实施本发明的实施例,具有如下有益效果:
通过公有链的智能合约接收乘客发起的约车请求,并根据预设算法匹配司机,创建交易订单,在交易订单创建成功后,将乘客、司机和乘客添加的紧急联系人作为节点,生成交易订单专用的私有链,以通过私有链的智能合约将交易订单的基本信息上传至公有链,并在私有链记录交易订单的行程信息,使得在行程信息为异常信息时,可通过私有链的智能合约向乘客和/或紧急联系人发送通知消息,在结算交易订单时,根据公有链的智能合约所设定的计费标准计算订单费用,向乘客收取所述订单费用,在完成交易订单时,通过私有链的智能合约获取乘客的评价信息,并将交易订单的所有信息上传至公有链。本实施例能够利用区块链的去中心化和信息不可篡改特征,结合公有链和私有链的智能合约处理交易订单,即通过公有链的智能合约创建交易订单、结算交易订单,通过交易订单专用的私有链的智能合约记录交易订单的所有信息,确保信息透明化、不易被篡改,从而避免出现行程信息不透明导致的安全问题以及计费信息不透明导致的利益问题。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
本领域普通技术人员可以理解实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。