一种基于区块链和智能合约的存储客房和订单数据的方法与流程

文档序号:15493689发布日期:2018-09-21 21:11阅读:932来源:国知局

本发明涉及数据存储以及住宿业领域,尤指一种基于区块链和智能合约的存储客房和订单数据的方法。



背景技术:

住宿业概念包括所有提供住宿服务的行业,比如旅馆、酒店、青年旅舍、民宿、公寓、短租房、房车出租等。

在现有的住宿业管理方式中,不同商家和平台的客房数据和订单数据都是独立的,所以如果一个住宿业商家在多个预订平台发布自己的客房信息的话,由于各个平台数据无法互通,所以需要在多个平台之间频繁的重复操作更改客房数据,来保证客房信息的准确性,防止订单时间冲突造成客户无法入住,而频繁的人工操作不但实时性差,还容易出错。

而不同平台和商家之间由于隐私、安全、保密、互信等问题无法形成一个统一的客房和订单数据中心,这是住宿业信息共享一个最大障碍,本方法通过区块链和智能合约技术的透明性、去中心化、安全性等特性构建一个面向住宿行业的数据信息共享互信体系,彻底解决这一难题。



技术实现要素:

本发明要解决的技术问题是克服现有技术的缺点,提供一种在住宿行业内通过区块链技术和智能合约技术为基础存储客房数据和订单数据的方法,通过这种方法的应用,可以利用区块链技术的去中心化信任机制解决住宿行业中不同商家、不同预订平台、不同客房管理系统之间的信息共享和数据互信问题。

为了解决上述技术问题,本发明提供了如下的技术方案:

本发明提供一种基于区块链和智能合约的存储客房和订单数据的方法,所述方法将由客房信息形成的区块链作为主链,将订单信息以智能合约的形式作为侧链执行,包括以下操作步骤:

s1:将所有参与者都看作是一个体系;该体系的客房管理系统和预订平台的服务器作为一个记账节点,每个记账节点都会对收到订单和客房数据进行验证、记录并向其他记账节点进行广播;

s2:每个客房信息和订单信息的数据都视作一个区块,每个区块中都存储有对应的id号和上个区块的特征码,特征码是上个区块数据经过加密换算之后得到的一串数据;每个客房都有一个对应的侧链来存储此客房的订单信息;存储客房信息的区块和每个客房所对应的订单信息区块都按照区块链的原理存储,并相互验证,不可篡改数据;

s3:根据s1中命名的每个区块的id号和特征码,而且该区块中的还存储有上一个区块的id号和特征码;通过该方法将所有独立的单个区块根据id号和特征码形成具有关联关系的区块链;

s4:客房信息和订单信息的数据核心关键值存入区块链中,而其他数据仍然存储在对应的记账节点管理系统的私有数据库内;

s5:上述s1-s4中涉及的加密算法和数据存储结构为开源的,任何人或者机构在获得身份id和私钥之后都可以按照公布的算法和数据结构对自己的管理系统或预订平台做二次开发加入该体系;

s6:使用者根据自身的id号和特征码,并通过记账节点管理系统的客房信息找到对应客房的订单信息,又通过该订单信息,可查找其他客房订单消息;由于区块中的数据被更改之后,其特征码也会变动,所以会被其关联区块验证非法,基于这样的验证机制,整个区块链体系中的数据无法被篡改和伪造,具有极大的安全性和唯一性;

s7:数据并发冲突的处理机制,一个记账节点想要行使记账权对其他记账节点广播记账信息之前,先要向其他记账节点发送记账权锁定请求,其他记账节点在得到锁定记账权请求之后,如果不和其他记账节点记账权形成冲突的话,反馈临时记账密钥,并且暂时不再接受其他记账请求,直到锁定被释放,想要行使记账权的记账节点得到过半数记账节点记账密钥之后,才可以向所有其他记账节点广播记账信息。

作为本发明的一种优选技术方案,定义所述智能合约为存储有执行机制和相关数据的集合,此集合为若干区块通过区块链式进行存储,智能合约将按照其执行机制改变其执行状态,并把执行状态的变化向其他记账节点进行广播,其他记账节点收到广播后进行合法性验证、保存并向其它记账节点进行广播。

作为本发明的一种优选技术方案,该广播采用p2p协议,p2p协议为点对点通讯协议。

作为本发明的一种优选技术方案,在所有的客房形成区块链式系统,该链式系统中有m个客房信息,则对应的客房订单信息有m条链式订单信息。

本发明所达到的有益效果是:本发明在传统的数据库的数据存储方式上有所改变,他在传统数据库每条数据都是独立的基础上,将区块链的数据存储形成相互关联的链式结构,在每个区块上的记录中都存有上一条区块的特征码,这样每条数据之间都会形成相互验证,一旦数据被篡改,特征码会发生变化,而这个数据就会被其他人识别为无效;因此用区块链的形式存储数据是无法篡改的。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。

在附图中:

图1为本发明整体结构示意图;

图2为本发明整体流程步骤图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

在本发明的描述中,需要说明的是,术语“竖直”、“上”、“下”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

实施例:如图1-2所示,本发明提供一种基于区块链和智能合约的存储客房和订单数据的方法,所述方法将由客房信息形成的区块链作为主链,将订单信息以智能合约的形式作为侧链执行,包括以下操作步骤:

s1:将所有参与者都看作是一个体系;该体系的客房管理系统和预订平台的服务器作为一个记账节点,每个记账节点都会对收到订单和客房数据进行验证、记录并向其他记账节点进行广播;

s2:每个客房信息和订单信息的数据都视作一个区块,每个区块中都存储有对应的id号和上个区块的特征码,特征码是上个区块数据经过加密换算之后得到的一串数据;每个客房都有一个对应的侧链来存储此客房的订单信息;存储客房信息的区块和每个客房所对应的订单信息区块都按照区块链的原理存储,并相互验证,不可篡改数据;

s3:根据s1中命名的每个区块的id号和特征码,而且该区块中的还存储有上一个区块的id号和特征码;通过该方法将所有独立的单个区块根据id号和特征码形成具有关联关系的区块链;

s4:客房信息和订单信息的数据核心关键值存入区块链中,而其他数据仍然存储在对应的记账节点管理系统的私有数据库内;

s5:上述s1-s4中涉及的加密算法和数据存储结构为开源的,任何人或者机构在获得身份id和私钥之后都可以按照公布的算法和数据结构对自己的管理系统或预订平台做二次开发加入该体系;

s6:使用者根据自身的id号和特征码,并通过记账节点管理系统的客房信息找到对应客房的订单信息,又通过该订单信息,可查找其他客房订单消息;由于区块中的数据被更改之后,其特征码也会变动,所以会被其关联区块验证非法,基于这样的验证机制,整个区块链体系中的数据无法被篡改和伪造,具有极大的安全性和唯一性;

s7:数据并发冲突的处理机制,由于住宿行业对数据存取的时效性要求很高,所以必须通过技术手段来保证存取效率并且可以防止并发冲突,一个记账节点想要行使记账权对其他记账节点广播记账信息之前,先要向其他记账节点发送记账权锁定请求,其他记账节点在得到锁定记账权请求之后,如果不和其他记账节点记账权形成冲突的话,反馈临时记账密钥,并且暂时不再接受其他记账请求,直到锁定被释放,想要行使记账权的记账节点得到过半数记账节点记账密钥之后,才可以向所有其他记账节点广播记账信息。

定义所述智能合约为存储有执行机制和相关数据的集合,此集合为若干区块通过区块链式进行存储,智能合约将按照其执行机制改变其执行状态,并把执行状态的变化向其他记账节点进行广播,其他记账节点收到广播后进行合法性验证、保存并向其它记账节点进行广播;该广播采用p2p协议,p2p协议为点对点通讯协议;在所有的客房形成区块链式系统,该链式系统中有m个客房信息,则对应的客房订单信息有m条链式订单信息。

具体地:整个管理体系中的客房管理系统和预订平台的服务器作为一个记账节点,每个记账节点都会对收到订单和客房数据进行验证、记录并向其他记账节点进行广播;p2p协议为点对点通讯协议;其中客房信息形成的区块链作为主链,将订单信息以智能合约的形式作为侧链执行;现将每个客房信息和订单信息的数据都视作一个区块,每个区块中都存储有上一个区块的id号和特征码,特征码是上个区块数据经过加密换算之后得到的一串数据。通过这样的设计不同区块之间就会以id号和特征码形成具有关联关系的区块链;由于区块中的数据被更改之后其特征码也会变动,所以会被其关联区块验证非法,基于这样的验证机制,整个区块链体系中的数据无法被篡改和伪造,具有极大的安全性和唯一性特征。

最后应说明的是:以上仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1