CN108510315B - 一种资源发布方法及相关设备 - Google Patents
一种资源发布方法及相关设备 Download PDFInfo
- Publication number
- CN108510315B CN108510315B CN201810222370.8A CN201810222370A CN108510315B CN 108510315 B CN108510315 B CN 108510315B CN 201810222370 A CN201810222370 A CN 201810222370A CN 108510315 B CN108510315 B CN 108510315B
- Authority
- CN
- China
- Prior art keywords
- resource
- blockchain
- block chain
- issuing transaction
- transaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0214—Referral reward systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0222—During e-commerce, i.e. online transactions
Abstract
本发明实施例公开了一种资源发布方法及相关设备,其中,所述方法包括:区块链管理装置接收来自第一区块链装置的资源发布事务,并对资源发布事务进行校验,若区块链管理装置对资源发布事务校验成功,则区块链管理装置将资源发布事务发布至第一区块链装置所属的区块链网络。采用本发明实施例,区块链管理装置将资源发布事务发布至区块链网络,可以使得区块链网络中的各个区块链装置均存储该资源发布事务,即可以使得资源发布事务的发布对于区块链网络中的所有区块链装置是公平共享的。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种资源发布方法及相关设备。
背景技术
随着商品经济的高速发展,市场竞争日益激烈。相对于直销,目前,商家更加青睐于分销,即将自己的产品信息发布到更多的销售平台,从而借助这些销售平台达到增加客源,提高收益的目的。
在分销过程中,涉及大分销机构和小分销机构(或代理机构)。其中,大分销机构汇集了众多商家的产品资源。大分销机构可以直接提供用户预订,也可以将汇集的产品资源提供给小分销机构进行销售。
一般地,当小分销机构接收到用户的产品预订时,需要通过大分销机构查询产品信息及其产品价格,才能进行预订。可见,小分销机构的销售依赖于大分销机构的产品资源。另外,随着商品直销占比越来越小,销售量巨大的大分销机构形成了事实上的产品资源中心点,极易形成对销售产品的垄断,不利于公平竞争。因此,如何公平共享产品资源成为亟待解决的问题。
发明内容
本发明实施例提供了一种资源发布方法及相关设备,可以使得资源发布事务(即资源信息)的发布对于区块链网络中的所有区块链装置是公平共享的。
第一方面,本发明实施例提供了一种资源发布方法,该方法包括:
区块链管理装置接收来自第一区块链装置的资源发布事务,资源发布事务是第一区块链装置基于来自第一业务装置的资源发布事务请求得到的,第一区块链装置与第一业务装置相对应;区块链管理装置对资源发布事务进行校验;若区块链管理装置对资源发布事务校验成功,则区块链管理装置将资源发布事务发布至第一区块链装置所属的区块链网络,区块链网络至少包括区块链管理装置和第一区块链装置,区块链管理装置是区块链网络中的所有区块链装置根据共识算法选举得到的。
在该技术方案中,区块链管理装置对资源发布事务进行校验,在校验成功的情况下,将资源发布事务发布至第一区块链装置所属的区块链网络,可以提高资源发布事务的可信度。区块链管理装置将资源发布事务发布至第一区块链装置所属的区块链网络,即使得区块链网络中的各个区块链装置均存储该资源发布事务,可以使得资源发布事务(即资源信息)的发布对于区块链网络中的所有区块链装置是公平共享的。通过这种方式,在酒店分销场景下,小分销机构对应的业务装置可以通过小分销机构对应的区块链装置获得酒店资源,也就是说,小分销机构对应的业务装置不用通过大分销机构对应的业务装置(或者大分销机构对应的区块链装置)获得酒店资源,有利于打破大分销机构在酒店分销过程中的垄断地位。
在一种实现方式中,区块链管理装置将资源发布事务发布至第一区块链装置所属的区块链网络的具体实施方式可以为:区块链管理装置根据资源发布事务生成第一区块;区块链管理装置将第一区块发布至第一区块链装置所属的区块链网络。
在该技术方案中,区块链管理装置可以将校验成功的、当前未打包的至少一个资源发布事务打包成一个第一区块,并将第一区块发布至第一区块链装置所属的区块链网络,进而同时完成至少一个资源发布事务在区块链网络上的发布过程,有利于提高资源发布事务的发布效率。
在一种实现方式中,区块链管理装置将第一区块发布至第一区块链装置所属的区块链网络之后,区块链管理装置可以将针对第一区块的持久化通知发送给区块链网络中的各个区块链装置,该持久化通知用于通知各个区块链装置在各个区块链装置本地持久化第一区块。
在该技术方案中,通过第一区块链装置在接收到持久化通知时,才在本地持久化第一区块的方式,可以避免第一区块链装置在未接收到持久化通知时,在本地持久化第一区块的情况(即第一区块链装置持久化所有接收到的信息),有利于提高第一区块链装置的存储空间利用率。
在一种实现方式中,区块链管理装置将资源发布事务发布至第一区块链装置所属的区块链网络之后,区块链管理装置可以向第二业务装置发送资源发布事务通知,该资源发布事务通知用于通知第二业务装置根据资源发布事务更新第二业务装置本地存储的资源,区块链管理装置与第二业务装置相对应。
在该技术方案中,区块链管理装置向第二业务装置发送资源发布事务通知,以使第二业务装置根据资源发布事务更新第二业务装置本地存储的资源,可以使得资源发布事务的发布对于区块链网络中的所有装置(包括区块链装置和业务装置)是公平共享的。例如,当区块链管理装置为小分销机构对应的区块链装置,第二业务装置为小分销机构对应的业务装置时,若酒店发布了新的酒店资源,小分销机构对应的业务装置可以通过资源发布事务通知机制获得该酒店新发布的酒店资息。通过这种方式,可以使得小分销机构的销售不再依赖于大分销机构的资源信息,有利于打破大分销机构对酒店资源的垄断。另外,当第二业务装置接收到资源查询请求时,可以在第二业务装置本地查询该资源查询请求所请求的资源信息,有利于提高查询速度。
第二方面,本发明实施例提供了一种资源发布方法,该方法包括:
第一区块链装置接收来自第一业务装置的资源发布事务请求,第一区块链装置与第一业务装置相对应;第一区块链装置根据资源发布事务请求生成资源发布事务;第一区块链装置将资源发布事务发送至区块链网络中的区块链管理装置,区块链网络至少包括区块链管理装置和第一区块链装置;在资源发布事务被成功发布至区块链网络的情况下,第一区块链装置向第一业务装置发送资源发布事务响应。
在该技术方案中,区块链管理装置是区块链网络中的所有区块链装置根据共识算法选举得到的,因此由区块链管理装置发布的数据的可信度较高。第一区块链装置将资源发布事务发送至区块链网络中的区块链管理装置,以使区块链管理装置将资源发布事务发布至区块链网络,可以提高资源发布事务的可信度。
在一种实现方式中,第一区块链装置将资源发布事务发送至区块链网络中的区块链管理装置之后,第一区块链装置可以接收来自区块链管理装置的与资源发布事务对应的第一区块;第一区块链装置在本地持久化第一区块。
在该技术方案中,第一区块链装置接收来自区块链管理装置的与资源发布事务对应的第一区块,即表明区块链网络针对资源发布事务对应的第一区块达成了共识。第一区块链装置在本地持久化第一区块,即将第一区块永久存储在第一区块链装置中。
在一种实现方式中,第一区块链装置在本地持久化第一区块之前,第一区块链装置可以接收来自区块链管理装置的与第一区块对应的持久化通知。
在该技术方案中,通过第一区块链装置在接收到持久化通知时,才在本地持久化第一区块的方式,可以避免第一区块链装置在未接收到持久化通知时,在本地持久化第一区块的情况(即第一区块链装置持久化所有接收到的信息),有利于提高第一区块链装置的存储空间利用率。
第三方面,本发明实施例提供了一种资源发布方法,该方法包括:
第一业务装置向第一区块链装置发送资源发布事务请求,第一区块链装置与第一业务装置相对应;在资源发布事务请求对应的资源发布事务被区块链管理装置成功发布至第一区块链装置所属的区块链网络的情况下,第一业务装置接收来自第一区块链装置的资源发布事务响应,区块链管理装置是区块链网络中的所有区块链装置根据共识算法选举得到的,区块链网络至少包括区块链管理装置和第一区块链装置。
在该技术方案中,第一业务装置在接收来自第一区块链装置的资源发布事务响应时,第一业务装置可以确定资源发布事务请求对应的资源发布事务已被区块链管理装置成功发布至第一区块链装置所属的区块链网络。
在一种实现方式中,第一业务装置向第一区块链装置发送资源发布事务请求之前,可以接收订单确认请求,订单确认请求包含资源标识和资源标识对应的资源的预订数量;若第一业务装置对订单确认请求所请求的订单确认成功,则第一业务装置根据资源标识对应的资源的可用数量和预订数量,对资源标识对应的资源的可用数量进行更新;第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。
在该技术方案中,在第一业务装置对订单确认请求所请求的订单确认成功的情况下,第一业务装置对资源标识对应的资源的可用数量进行更新,并根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求,进而将更新后的资源标识对应的资源的可用数量发布至区块链网络。在酒店分销场景下,当第一业务装置为酒店时,酒店在对订单确认成功后,可以减少相应房型的房量。相应的,房型的房量发生改变后,区块链管理装置可以发布新的资源发布事务以使区块链网络中的各个区块链装置(以及各个区块链装置对应的业务装置)更新该房型的房量。通过这种方式,可以有效更新区块链网络上存储的资源信息,进一步的,通过业务装置查询资源信息时,可以得到更新后的、准确的资源信息,从而提高资源发布系统的可靠性。另外,第一业务装置对订单确认请求所请求的订单确认成功的情况下,第一业务装置才根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。可以避免第一业务装置在订单确认请求所请求的订单未确认成功的情况下,对该订单确认请求所包含的资源标识对应的资源的可用数量进行更新,并将更新后的资源标识对应的资源的可用数量发布到区块链网络中导致超售等问题的情况,有利于提高资源发布系统的可靠性。
在一种实现方式中,第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求的具体实施方式可以为:若确认成功的订单数量大于预设数量阈值,则第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。
在该技术方案中,在一段时间内接收到的订单确认请求数量较多的情况下,第一业务装置可以对订单确认请求进行批量确认,并对确认成功的订单(即确认成功的累计订单数量大于预设数量阈值)对应的资源的可用数量进行累计更新,根据累计更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。相较每确认成功一个订单,就生成一个资源发布事务请求,通过对订单进行批量确认的方式,可以减少资源发布事务请求的数量。相应的,可以减少发布到区块链网络中的资源发布事务的数量,有利于提高资源发布效率。
在一种实现方式中,第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求的具体实施方式可以为:若对订单确认请求所请求的订单确认成功开始经过预设时长,则第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。
在该技术方案中,在订单确认成功开始经过预设时长时,则第一业务装置生成资源发布事务请求,可以避免在一段时间内接收到的订单确认请求数量较少的情况下,从订单确认成功到生成资源发布事务请求之间的时间太长,进而导致资源发布事务请求对应的资源发布事务不能及时发布到区块链网络,导致订单确认信息同步不及时、查询结果不准确等问题。
在一种实现方式中,第一业务装置向第一区块链装置发送资源发布事务请求之前,第一业务装置可以接收资源释放请求,资源释放请求包含资源标识和资源标识对应的资源的释放数量;第一业务装置根据资源标识对应的资源的可用数量和释放数量,对资源标识对应的资源的可用数量进行更新;第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。
在该技术方案中,在酒店分销场景下,当第一业务装置为酒店资源管理系统对应的业务装置时,资源释放请求可以是客人退房时由酒店资源管理系统对应的业务装置生成的,或者,资源释放请求可以来自于大分销机构和小分销机构对应的业务装置。例如,大分销机构和小分销机构对应的业务装置向酒店资源管理系统对应的业务装置发送资源释放请求,其中,资源释放请求用于请求取消客房订单。第一业务装置在接收到资源释放请求之后,对资源释放请求所包含的资源标识对应的资源的可用数量进行更新(即增加相应房型的房量),并将更新后的可用数量以资源发布事务请求的形式发送给区块链网络,可以最大化酒店收益,还可以有效更新区块链网络上存储的资源信息。
第四方面,本发明实施例提供了一种资源发布装置,该装置具有实现第一方面所述的资源发布方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一种实现方式中,该资源发布装置包括接收模块、校验模块和发布模块1003。其中,接收模块,用于接收来自第一区块链装置的资源发布事务,资源发布事务是第一区块链装置基于来自第一业务装置的资源发布事务请求得到的,第一区块链装置与第一业务装置相对应;校验模块,用于对资源发布事务进行校验;发布模块,用于若对资源发布事务校验成功,则将资源发布事务发布至第一区块链装置所属的区块链网络,区块链网络至少包括区块链管理装置和第一区块链装置,区块链管理装置是区块链网络中的所有区块链装置根据共识算法选举得到的。
第五方面,本发明实施例提供了一种资源发布装置,该装置具有实现第二方面所述的资源发布方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一种实现方式中,该资源发布装置包括接收模块、生成模块、发送模块和发送模块。其中,接收模块,用于接收来自第一业务装置的资源发布事务请求,第一区块链装置与第一业务装置相对应;生成模块,用于根据资源发布事务请求生成资源发布事务;发送模块,用于将资源发布事务发送至区块链网络中的区块链管理装置,区块链网络至少包括区块链管理装置和第一区块链装置;发送模块,还用于在资源发布事务被成功发布至区块链网络的情况下,向第一业务装置发送资源发布事务响应。
第六方面,本发明实施例提供了一种资源发布装置,该装置具有实现第三方面所述的资源发布方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一种实现方式中,该资源发布装置包括发送模块和发送模块。其中,发送模块,用于向第一区块链装置发送资源发布事务请求,第一区块链装置与第一业务装置相对应;发送模块,用于在资源发布事务请求对应的资源发布事务被区块链管理装置成功发布至第一区块链装置所属的区块链网络的情况下,接收来自第一区块链装置的资源发布事务响应,区块链管理装置是区块链网络中的所有区块链装置根据共识算法选举得到的,区块链网络至少包括区块链管理装置和第一区块链装置。
第七方面,本发明实施例提供一种计算机可读存储介质,用于储存为资源发布装置所用的计算机程序指令,其包含用于执行上述第一方面所涉及的程序。
第八方面,本发明实施例提供一种计算机可读存储介质,用于储存为资源发布装置所用的计算机程序指令,其包含用于执行上述第二方面所涉及的程序。
第九方面,本发明实施例提供一种计算机可读存储介质,用于储存为资源发布装置所用的计算机程序指令,其包含用于执行上述第三方面所涉及的程序。
通过实施本发明实施例,可以使得资源发布事务(即资源信息)的发布对于区块链网络中的所有区块链装置是公平共享的,即区块链网络中的所有区块链装置均可以获得新发布的资源信息。进一步的,区块链网络中的所有区块链装置对应的业务装置也可以通过各自的区块链装置获得新发布的资源信息。当任意业务装置(如酒店分销场景中的小分销机构对应的业务装置)接收到资源查询请求时,可以直接在本地查询与资源查询请求相匹配的资源信息,而不用通过其他业务装置(如酒店分销场景中的大分销机构对应的业务装置)获得所请求的资源信息,有利于去除传统分销过程中的中心点,打破垄断,同时还能提高查询效率。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1是现有的一种应用于酒店分销的通信系统的架构示意图;
图2是本发明实施例公开的一种通信系统的架构示意图;
图3是本发明实施例公开的一种资源发布方法的流程示意图;
图4是本发明实施例公开的一种资源发布事务的结构示意图;
图5是本发明实施例公开的另一种资源发布事务的结构示意图;
图6是本发明实施例公开的另一种资源发布方法的流程示意图;
图7是本发明实施例公开的又一种资源发布方法的流程示意图;
图8是本发明实施例公开的又一种资源发布方法的流程示意图;
图9是本发明实施例公开的又一种资源发布方法的流程示意图;
图10是本发明实施例公开的一种资源发布装置的结构示意图;
图11是本发明实施例公开的一种资源发布装置的结构示意图;
图12是本发明实施例公开的一种资源发布装置的结构示意图;
图13是本发明实施例公开的一种资源发布装置的结构示意图;
图14是本发明实施例公开的一种资源发布装置的结构示意图;
图15是本发明实施例公开的一种资源发布装置的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
随着分销模式的提出,各种分销平台迅速上线。一般地,分销平台可以对不同种类的商品进行分销,例如,某网络分销平台可以同时提供酒店、机票或者门票等商品的分销。本发明实施例以酒店分销为例进行说明,并不构成对本发明实施例的限定。
在酒店分销过程中,主要涉及酒店、大分销机构、小分销机构(或代理机构)和终端设备。其中,终端设备可以是接入终端、用户设备(user equipment,UE)、用户单元、用户站、移动站、移动台、远方站、远程终端、移动终端、用户终端、终端、无线通信设备、用户代理或用户装置。接入终端可以是蜂窝电话、无绳电话、会话发起协议(session initiationprotocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备、物联网中的终端设备、虚拟现实设备、未来5G网络中的终端设备或者未来演进的公共陆地移动网络(public land mobilenetwork,PLMN)中的终端设备等。
以图1所示的应用于酒店分销的通信系统的架构示意图为例,酒店可以通过酒店资源管理系统104(Property Management System,PMS)管理酒店的资源,如新增房型或某房型的房量,新增产品及价格等。一般地,酒店可以将客房按舒适程度或用途分成不同的房型,以进行差别销售。酒店还可以对同一房型按不同的服务制定成不同的客房产品,不同产品对应不同的价格。例如,含早房价、不含早房价等。当酒店资源管理系统104接收到预订时,需要实时在酒店资源管理系统104中减少房量,以防超售,造成用户投诉;当酒店资源管理系统104接收到预订取消时,需要及时在酒店资源管理系统104中增加房量,进行销售,减少酒店损失。
一般地,一个酒店的酒店资源可以同步至一个或多个大分销机构以进行销售。同理,大分销机构可以存储一个或多个酒店的酒店资源。需要说明的是,图1所示通信系统的架构示意图以一个大分销机构、一个小分销机构和一个酒店资源管理系统为例,并不构成对本发明实施例的限定。
由图1可知,用户需要预定酒店的客房时,可以通过终端设备101向小分销机构102或者大分销机构103发送资源查询请求。终端设备101接收到返回的查询结果后,可以将查询结果展示在终端设备101中。若终端设备101中显示酒店的客房处于可预订状态,进一步地,用户可以通过操作终端设备101对客房进行下单。当小分销机构102接收到资源查询请求时,需要通过大分销机构103查询酒店资源。当大分销机构103接收到资源查询请求时,可以直接在本地进行查询,并返回查询结果。其中,大分销机构103存储的酒店资源是酒店资源管理系统104通过资源同步机制向其同步的。一般地,酒店资源发生变化时,酒店资源管理系统104都会通过资源同步机制向大分销机构103进行同步。
可见,小分销机构的销售依赖于大分销机构的酒店资源,大分销机构形成了事实上的酒店资源中心点,垄断了酒店资源。若大分销机构私自对某一些销售量高的酒店资源进行加价、强制捆绑销售其他产品、提高酒店佣金等,将严重损害酒店的利益,同时也将使得小分销机构在竞争环境中难以生存。
为了解决上述问题,本发明实施例将区块链技术引入酒店分销系统,提出了一种资源发布方法及相关设备。通过实施本发明实施例可以使得酒店资源的发布对于大、小分销机构是公平共享的,也就是说,当酒店发布新的资源时,大分销机构和小分销机构均可以获得新发布的资源,或者,当酒店更新原有资源时,大分销机构和小分销机构均可以获得更新后的酒店资源。进而,小分销机构可以在本地查询酒店资源,而不用通过大分销机构获得酒店资源。即小分销机构的销售可以不再依赖于大分销机构的酒店资源,小分销机构与大分销机构在酒店分销过程中具有公平的竞争地位,从而打破大分销机构对酒店资源的垄断。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证数据不可篡改和不可伪造的分布式账本。区块链技术实现了去中心化,成为了可信的数字资产存储、转移和交易的基石。酒店资源在计算机系统实现中相当于一种数字资产,引入区块链技术,将酒店资源发布在区块链上,去除事实上的中心节点,可以实现酒店资源在各大、小分销机构上的实时共享和及时更新。
为了更好的理解本发明实施例公开的一种资源发布方法及相关设备,下面首先对本发明实施例适用的通信系统进行描述。
请参见图2,图2是本发明实施例公开的一种通信系统的架构示意图。如图2所示,该通信系统包括至少一个第一业务装置201、至少一个第一区块链装置202、至少一个区块链管理装置203、至少一个第二业务装置204、至少一个第二区块链装置205和至少一个第三业务装置206。其中,第一业务装置201(第二业务装置204/第三业务装置206)可以是酒店资源管理系统、大分销机构或者小分销机构对应的业务装置,第一区块链装置202(区块链管理装置203/第二区块链装置205)可以是酒店资源管理系统、大分销机构或者小分销机构对应的区块链装置。并且第一区块链装置与第一业务装置相对应,区块链管理装置和第二业务装置相对应,第二区块链装置和第三业务装置相对应。
第一区块链装置202、区块链管理装置203和第二区块链装置205组成区块链网络。区块链管理装置(leader)是区块链网络中的所有区块链装置根据共识算法选举得到的,其中,共识算法包括但不限于工作量证明(Proof of Work,PoW)算法、权益证明(Proof ofStake,PoS)算法、授权权益证明(Delegated Proof of Stake,DPoS)算法、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法等。在一种实现方式中,区块链网络中的所有区块链装置可以按照一定的周期选举区块链管理装置。区块链管理装置可以用于对当前在区块链网络中产生的、还未打包的事务进行打包,生成区块,并将区块发布至区块链网络。区块链管理装置可以是区块链网络中的任意一个区块链装置,例如,区块管理装置可以是第一区块链装置,也可以是第二区块链装置,还可以是区块链网络中的其他区块链装置。又如,在酒店分销场景下,区块管理装置可以是酒店资源管理系统对应的区块链装置,也可以是大分销机构对应的区块链装置,也可以是小分销机构对应的区块链装置,还可以是酒店分销过程中涉及的其他参与方对应的区块链装置,本发明实施例对此不作限定。
在酒店分销场景下,假设第一业务装置201是酒店资源管理系统对应的业务装置,第一区块链装置202是酒店资源管理系统对应的区块链装置,第二业务装置204是大分销机构对应的业务装置,区块链管理装置203是大分销机构对应的区块链装置,第三业务装置206是小分销机构对应的业务装置,第二区块链管理装置205是小分销机构对应的区块链装置。若酒店资源管理系统新发布了酒店资源,在现有技术中,在第一业务装置201(即酒店资源管理系统对应的业务装置)和第二业务装置204(即大分销机构对应的业务装置)中均可以查询到新发布的酒店资源,而在第三业务装置206(即小分销机构对应的业务装置)中不能查询到该新发布的酒店资源。而在本发明实施例中,资源发布事务(即酒店资源)被成功发布至区块链网络后,区块链网络中的各个区块链装置和各个区块链装置对应的业务装置可以存储新发布的资源发布事务。也就是说,酒店资源被成功发布至区块链网络后,在第一业务装置201、第二业务装置204和第三业务装置206中均可以查询到该新发布的酒店资源,即小分销机构可以在本地查询酒店资源,而不用通过大分销机构获得酒店资源。可见,在本发明实施例中,酒店、大分销机构、小分销机构可以公平共享酒店资源。
需要说明的是,区块链网络至少包括第一区块链装置202和区块链管理装置203,图2所示区块链网络由第一区块链装置202、区块链管理装置203和第二区块链装置205组成仅用于示例,并不构成对本发明实施例的限定。还需要说明的是,第一业务装置201和第一区块链装置202可以集成于同一个设备,也可以分别集成于不同的设备;同理,区块链管理装置203和第二业务装置204可以集成于同一个设备,也可以分别集成于不同的设备;同理,第二区块链装置205和第三业务装置206可以集成于同一个设备,也可以分别集成于不同的设备。
可以理解的是,本发明实施例描述的通信系统是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
基于图2所示的通信系统的架构示意图,请参见图3,图3是本发明实施例提供的一种资源发布方法的流程示意图,该方法包括但不限于如下步骤:
步骤S301:第一区块链装置接收来自第一业务装置的资源发布事务请求。
具体的,第一业务装置向第一区块链装置发送资源发布事务请求,第一区块链装置接收来自第一业务装置的资源发布事务请求,第一区块链装置与第一业务装置相对应。
其中,第一业务装置可以是酒店资源管理系统对应的业务装置,第一区块链装置可以是酒店资源管理系统对应的区块链装置,区块链管理装置可以是酒店资源管理系统、大分销机构或者小分销机构对应的区块链装置。
在一种实现方式中,当酒店的资源发生变化时,酒店资源管理系统对应的业务装置(即第一业务装置)可以将资源的变化情况(即资源发布事务请求)发送给酒店资源管理系统对应的区块链装置(即第一区块链装置),以使区块链网络中的所有区块链装置得知酒店资源的变化情况,即实现酒店资源的同步。第一区块链装置接收到来自第一业务装置的资源发布事务请求,即表明酒店的资源发生了变化。第一区块链装置可以将酒店的变化情况以事务的形式发布到区块链网络中,以实现资源同步。
步骤S302:第一区块链装置根据资源发布事务请求生成资源发布事务。
在本发明实施例中,酒店资源管理系统对应的业务装置(即第一业务装置)用于处理涉及酒店资源的相关业务,例如,客房预订、客房退订、入住、退房、关房(酒店暂时关闭某房型的入住日期的销售)、开房(酒店重新放开某房型的入住日期的销售)等。酒店资源管理系统对应的区块链装置(即第一区块链装置)用于处理与区块链管理装置之前的交互过程,例如,为了对区块链网络中新增的数据达成共识(即区块链网络中的所有节点认可该新增的数据)所产生的交互过程。在本发明实施例中,第一区块链装置将发生变化的酒店资源以事务的形式发布到区块链网络中。
资源发布事务可以有多种数据结构,如表格、文件等,图4所示的资源发布事务的结构示意图仅用于举例,并不构成对本发明实施例的限定。如图4所示,资源发布事务可以包括但不限于版本、事务类型、事务参数等。其中,事务类型可以包括但不限于新建、变更、取消等类型。事务参数可以包括但不限于酒店号、房型号、房型信息、入住日期对应的可用房量等。酒店号用于唯一标识一个酒店,房型号用于唯一标识酒店中的某一种房型,房型信息用于描述房型的基本信息,如是否配置电脑、房型的文字描述信息或以往住客对该房型的评价信息等。例如,酒店x在y日新装修了两间新的客房,这两间客房的房型A是酒店x的新房型,此时,酒店x发布的资源发布事务的结构示意图可以如图5所示(以房型信息为房型A的文字描述信息为例)。
步骤S303:第一区块链装置将资源发布事务发送至区块链网络中的区块链管理装置。
其中,区块链管理装置可以用于将接收的资源发布事务发布至区块链网络。区块链管理装置是区块链网络中的所有区块链装置根据共识算法选举得到的,因此由区块链管理装置发布的数据的可信度较高。在区块链网络中,在所有事务处理前,都会通过区块链网络的共识算法,在所有区块链装置中定期选举出区块链管理装置。
在一种实现方式中,只有通过区块链管理装置发布的资源发布事务,才可以通过区块链网络达成共识,并分布式存储在所有区块链装置中。
步骤S304:区块链管理装置对资源发布事务进行校验。
具体的,区块链管理装置接收来自第一区块链装置的资源发布事务之后,可以对资源发布事务进行校验。在一种实现方式中,资源发布事务可以包含发送方(即第一区块链装置)的身份信息,区块链管理装置对资源发布事务进行校验的过程中,可以校验资源发布事务的发送方的身份,进而提高发布到区块链网络中的资源发布事务的可信度。例如,资源发布事务可以包含第一区块链装置的数字签名,其中,数字签名是第一区块链装置根据第一区块链装置的私钥,对资源发布事务进行签名处理得到的。区块链管理装置接收来自第一区块链装置的资源发布事务之后,可以根据第一区块链装置的公钥,对数字签名进行校验,若校验成功,则表明资源发布事务的发送方为第一区块链装置。通过这种方式,有利于提高资源发布事务的可信度。
在一种实现方式中,资源发布事务还可以包含第一区块链装置的数字签名和第一区块链装置的数字证书。其中,第一区块链装置的数字证书可以是由区块链网络中的认证装置发送给第一区块链装置的。该数字证书包括但不限于认证装置的数字签名、第一区块链装置的身份信息和第一区块链装置的公钥。需要说明的是,认证装置可以是区块链网络中的任意一个或多个区块链装置,认证装置可以是由区块链网络中的所有区块链装置周期选举的,也可以是固定不变的,本发明实施例对此不作限定。
步骤S305:若区块链管理装置对资源发布事务校验成功,则区块链管理装置将资源发布事务发布至第一区块链装置所属的区块链网络。
具体的,若区块链管理装置对资源发布事务校验成功,则区块链管理装置可以将资源发布事务发送给区块链网络中的各个区块链装置。相应的,区块链网络中的各个区块链装置接收到资源发布事务之后,可以存储资源发布事务。在酒店分销场景下,即表明酒店资源管理系统、大分销机构、小分销机构对应的区块链装置均存储了新发布的酒店资源。相应的,小分销机构对应的业务装置可以通过小分销机构对应的区块链装置获得新发布的酒店资源,而无需通过大分销机构获取该新发布的酒店资源,有利于打破大分销机构在酒店分销过程中的垄断地位。需要说明的是,在区块链网络中的各个区块链装置中均存储该资源发布事务的情况下,表明该资源发布事务被成功发布至第一区块链装置所属的区块链网络。
在一种实现方式中,若区块链管理装置对资源发布事务校验失败,则区块链管理装置可以忽略该资源发布事务。
步骤S306:在资源发布事务被成功发布至区块链网络的情况下,第一区块链装置向第一业务装置发送资源发布事务响应。
具体的,在资源发布事务请求对应的资源发布事务被区块链管理装置成功发布至第一区块链装置所属的区块链网络的情况下,第一区块链装置可以向第一业务装置发送资源发布事务响应,相应的,第一业务装置可以接收来自第一区块链装置的资源发布事务响应。在酒店分销场景下,第一业务装置(即酒店资源管理系统对应的业务装置)接收到来自第一区块链装置(即酒店资源管理系统对应的区块链装置)的资源发布事务响应时,即表明酒店资源已被成功发布至区块链网络。
在一种实现方式中,第一业务装置接收到来自第一区块链装置的资源发布事务响应之后,可以在第一业务装置本地存储资源发布事务响应对应的资源发布事务。例如,若酒店接收到一个订单请求,该订单请求包含的信息为预订一间房型A的客房,酒店可以首先减少房型A的房量,然后将减少后的房量以资源发布事务请求的形式发送给酒店对应的区块链装置。区块链装置可以根据资源发布事务请求生成资源发布事务,然后将资源发布事务发送给区块链管理装置。若区块链管理装置将该资源发布事务成功发布至区块链网络,则表明区块链网络认可并记录了该资源发布事务,即表明区块链网络认可并记录了房型A被预订的这一事实,此时酒店减少后的房量生效。若区块链管理装置未将该资源发布事务成功发布至区块链网络,则表明区块链网络不认可该资源发布事务,此时酒店减少后的房量不能生效,即房型A的房量与接收到该订单请求之前的房量相同。通过所有区块链装置达成共识,在所有区块链装置上记录相同的酒店资源,使得酒店资源不可篡改。
可见,通过实施本发明实施例,可以使得资源发布事务(即资源信息)的发布对于区块链网络中的各个区块链装置是公平共享的,有利于去除传统分销过程中的中心点,打破垄断。
在一种实现方式中,区块链管理装置将资源发布事务发布至第一区块链装置所属的区块链网络之后,区块链管理装置可以向第二业务装置发送资源发布事务通知,资源发布事务通知用于通知第二业务装置根据资源发布事务更新第二业务装置本地存储的资源,区块链管理装置与第二业务装置相对应。
其中,在酒店分销场景下,第二业务装置可以是酒店对应的业务装置,也可以是大分销机构对应的业务装置,还可以是小分销机构对应的业务装置。当区块链管理装置为小分销机构对应的区块链装置,第二业务装置为小分销机构对应的业务装置时,若酒店发布了新的酒店资源,小分销机构对应的业务装置可以通过资源发布事务通知机制获得该酒店新发布的酒店资息。需要说明的是,在第二业务装置接收到资源发布事务通知的情况下,即表明酒店资源发生了变化,为了保证资源的一致性,第二业务装置需要更新本地存储的资源。
通过这种方式,可以使得酒店、大分销机构和小分销机构随时保持资源的一致性。当酒店资源发生变化时,可以通过区块链的同步机制将变化后的酒店资源同步到大分销机构和小分销机构对应的区块链装置,进一步的,可以通过资源发布事务通知机制将变化后的酒店资源同步到大分销机构和小分销机构对应的业务装置,从而实现酒店资源的公平共享。并且,小分销机构对应的业务装置在接收到资源查询请求时,可以直接在本地查询与资源查询请求相匹配的资源信息,而不用通过大分销机构对应的业务装置获得所请求的资源信息,有利于提高查询效率。
需要说明的是,资源发布事务被发布至第一区块链装置所属的区块链网络之后,除了区块链管理装置,区块链网络中的其余区块链装置均可以向对应的业务装置发送资源发布事务通知,以使得区块链网络中的所有区块链装置对应的业务装置根据资源发布事务更新业务装置本地存储的资源。
请参见图6,图6是本发明实施例提供的另一种资源发布方法的流程示意图,该方法包括但不限于步骤S601~步骤S608,步骤S601~步骤S604的执行过程可分别参见图3中步骤S301~步骤S304的具体描述,在此不赘述。其中:
步骤S605:若区块链管理装置对资源发布事务校验成功,则区块链管理装置根据资源发布事务生成第一区块。
具体的,若区块链管理装置对资源发布事务校验成功,则区块链管理装置可以根据来自至少一个区块链装置的至少一个资源发布事务生成第一区块。即区块链管理装置可以将接收到的、还未打包的资源发布事务打包成一个区块,并发布至区块链网络。需要说明的是,区块中包含的资源发布事务均校验成功。在酒店分销场景下,区块链管理装置可以将来自不同酒店的资源信息打包成一个区块,并发布至区块链网络。通过以区块的形式,同时发布至少一个资源发布事务的方式,可以提高资源发布事务的发布效率。
步骤S606:区块链管理装置将第一区块发布至第一区块链装置所属的区块链网络。
具体的,区块链管理装置可以将第一区块发送给区块链网络中的各个区块链装置。相应的,区块链网络中的各个区块链装置接收到第一区块之后,可以存储第一区块。在区块链网络中的各个区块链装置中均存储该资源发布事务对应的第一区块的情况下,表明该资源发布事务被成功发布至第一区块链装置所属的区块链网络。通过这种方式,可以使得资源发布事务的发布对于区块链网络中的各个区块链装置是公平共享的。
步骤S607:第一区块链装置在本地持久化第一区块。
具体的,第一区块链装置接收来自区块链管理装置的与资源发布事务对应的第一区块之后,可以在第一区块链装置本地持久化第一区块,即将第一区块永久存储在第一区块链装置中。需要说明的是,在本发明实施例中,第一区块链装置接收到来自区块链管理装置的与资源发布事务对应的第一区块,即表明区块链网络针对资源发布事务对应的第一区块达成了共识。
步骤S608:在第一区块被成功发布至区块链网络的情况下,第一区块链装置向第一业务装置发送资源发布事务响应。
具体的,第一区块链装置接收来自区块链管理装置的与资源发布事务对应的第一区块之后,可以向第一业务装置发送资源发布事务响应。在一种实现方式中,第一区块链装置可以在本地持久化第一区块之后,向第一业务装置发送资源发布事务响应,本发明实施例对此不作限定。
可见,通过实施本发明实施例,可以使得资源发布事务(即资源信息)的发布对于区块链网络中的各个区块链装置是公平共享的,并且,还可以在区块链网络中同时发布至少一个资源发布事务,有利于提高资源发布事务的发布效率。
请参见图7,图7是本发明实施例提供的又一种资源发布方法的流程示意图,该方法包括但不限于步骤S701~步骤S709,步骤S701~步骤S705、步骤S709的执行过程可分别参见图6中步骤S601~步骤S605、步骤S608的具体描述,在此不赘述。其中:
步骤S706:区块链管理装置将第一区块发布至第一区块链装置所属的区块链网络。
具体的,区块链管理装置可以将第一区块发送给区块链网络中的各个区块链装置,相应的,区块链网络中的各个区块链装置接收到第一区块之后,可以临时存储第一区块。
在一种实现方式中,区块链管理装置将第一区块发送给区块链网络中的各个区块链装置之后,可以对第一区块进行校验。
步骤S707:区块链管理装置将针对第一区块的持久化通知发送给区块链网络中的各个区块链装置。
其中,持久化通知用于通知各个区块链装置在各个区块链装置本地持久化第一区块。在区块链网络中的各个区块链装置中均持久化该资源发布事务对应的第一区块的情况下,表明该资源发布事务被成功发布至第一区块链装置所属的区块链网络。
在一种实现方式中,区块链管理装置可以在第一区块通过区块链网络的校验的情况下,将针对第一区块的持久化通知发送给区块链网络中的各个区块链装置。
步骤S708:第一区块链装置在本地持久化第一区块。
具体的,第一区块链装置接收到来自区块链管理装置的与第一区块对应的持久化通知之后,可以在本地持久化第一区块。需要说明的是,在本发明实施例中,第一区块链装置接收到来自区块链管理装置的与第一区块对应的持久化通知,表明区块链网络针对第一区块达成了共识,即表明区块链网络针对第一区块包含的所有资源发布事务达成了共识。
需要说明的是,在区块链网络中的各个区块链装置中均持久化该资源发布事务对应的第一区块的情况下,表明该资源发布事务被成功发布至第一区块链装置所属的区块链网络。通过这种方式,可以使得资源发布事务的发布对于区块链网络中的各个区块链装置是公平共享的。并且,通过第一区块链装置在接收到持久化通知时,才在本地持久化第一区块的方式,可以避免第一区块链装置在未接收到持久化通知时,在本地持久化第一区块的情况(即第一区块链装置持久化所有接收到的信息),有利于提高第一区块链装置的存储空间利用率。
可见,通过实施本发明实施例,可以使得资源发布事务的发布对于区块链网络中的各个区块链装置是公平共享的,并且,通过资源发布事务通知机制可以提高区块链网络中的各个区块链装置的存储空间利用率。
请参见图8,图8是本发明实施例提供的又一种资源发布方法的流程示意图,该方法包括但不限于步骤S801~步骤S809。其中:
步骤S801:第一业务装置接收订单确认请求,订单确认请求包含资源标识和资源标识对应的资源的预订数量。
具体的,第一业务装置可以接收来自其他业务装置的订单确认请求,订单确认请求包含资源标识和资源标识对应的资源的预订数量。其中,资源标识用于唯一标识被预订的资源,在酒店分销场景下,资源标识可以是房间号。前述其他业务装置包括但不限于图2中的第二业务装置和/或第三业务装置。在酒店分销场景中,前述其他业务装置包括但不限于其他酒店资源管理系统、大分销机构和小分销机构对应的业务装置中的一个或多个业务装置。例如,酒店可以接收来自大分销机构a、大分销机构b和小分销机构c的订单确认请求。
在实际应用中,用户可以通过大、小分销机构对酒店资源进行查询,若酒店还有空房,用户可以通过大、小分销机构对酒店的空房进行预订,即生成订单,然后大、小分销机构可以将生成的订单发送给酒店对应的资源管理系统。相应的,酒店资源管理系统可以对订单进行确认,若订单确认成功,表明用户可以使用该客房。若订单确认失败,则第一业务装置可以向对应的订单确认请求的发送方发送订单响应信息,以提示该订单确认失败。
在一种实现方式中,第一业务装置可以接收根据用户操作生成的订单确认请求。也就是说,当第一业务装置为酒店资源管理系统对应的业务装置时,酒店资源管理系统对应的业务装置除了可以接收来自大分销机构、小分销机构和/或其他酒店资源管理系统对应的业务装置的订单确认请求,还可以接收酒店资源管理系统对应的业务装置自身生成的订单确认请求,例如,用户在前台进行客房预订时,酒店工作人员可以在酒店资源管理系统中减少被预订房型的房量。
步骤S802:若第一业务装置对订单确认请求所请求的订单确认成功,则第一业务装置根据资源标识对应的资源的可用数量和预订数量,对资源标识对应的资源的可用数量进行更新。
在酒店分销场景下,若酒店资源管理系统对应的业务装置(即第一业务装置)接收到订单确认请求,首先需要确认酒店是否还有足够的房量以满足该订单请求,若有,则酒店资源管理系统对应的业务装置成功确认该订单确认请求所请求的订单。相应的,酒店资源管理系统对应的业务装置需要减少被预订的房型的房量,以防超售等问题的发生。例如,订单确认请求包含的内容为预订1间房型a的客房,若酒店中房型a的可用房量为2间,则酒店可以对该订单确认请求所请求的订单确认成功,并将房型a的可用房量更新为1间。若酒店中房型a的可用房量为0间,则酒店对该订单确认请求所请求的订单确认失败,酒店中房型a的可用房量仍然为0间。
第一业务装置对订单确认请求所请求的订单确认成功的情况下,第一业务装置才根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。可以避免第一业务装置在订单确认请求所请求的订单未确认成功的情况下,对该订单确认请求所包含的资源标识对应的资源的可用数量进行更新,并将更新后的资源标识对应的资源的可用数量发布到区块链网络中导致超售等问题的情况,有利于提高资源发布系统的可靠性。
在一种实现方式中,若第一业务装置对订单确认请求所请求的订单确认失败,则第一业务装置可以忽略该订单确认请求,或者,第一业务装置可以向订单确认请求的发送方发送订单确认失败通知。
步骤S803:第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。
由于资源标识对应的资源的可用数量发生了变化,为了实现区块链网络中数据的一致性,区块链管理装置可以发布新的资源发布事务(即更新后的可用房量)以使区块链网络中的各个区块链装置(以及各个区块链装置对应的业务装置)更新该房型的房量。通过这种方式,可以有效更新区块链网络上存储的资源信息,进一步的,通过业务装置查询资源信息时,可以得到更新后的、准确的资源信息,从而提高资源发布系统的可靠性。
在本发明实施例中,只有第一业务装置(即酒店资源管理系统对应的业务装置)对订单确认成功时,才可以对确认成功的订单对应的资源的可用数量进行更新,并将更新后的可用数量以资源发布事务的形式发布到区块链网络中。例如,假设酒店拥有房型a、b、c的客房的可用数量各3间,酒店在一段时间内收到了3个订单确认请求a(预定1间房型a的客房)、b(预定2间房型b的客房)和c(预定1间房型c的客房),并对其中的2个订单a和b确认成功,剩余的一个订单c确认失败。此时,生成的资源发布事务请求所包含的内容可以是:房型a的客房的可用数量为2,房型b的客房的可用数量为2。
需要说明的是,若确认成功的订单所包含的资源标识对应的资源已经存在于区块链上(即在区块链网络中可以查询到与订单所请求的资源相关联的资源信息),则第一区块链装置生成的资源发布事务的事务类型为变更类型。
例如,酒店拥有10间空房,并且将这10间空房的信息登记到了区块链网络上。若用户想要预订其中的一间房间,相应的,酒店会接收到对应的订单确认请求。若酒店对该订单确认成功,则需要减少酒店的可用房量,并将减少后的可用房量以资源发布事务请求的形式发送给酒店对应的区块链装置,酒店对应的区块链装置可以根据资源发布事务请求所包含的资源标识,查询区块链中是否存在与该资源标识相关联的资源信息,进而确定生成的资源发布事务的事务类型。若存在,则事务类型为更改,若不存在,则事务类型为新建。当区块链网络中的各个区块链装置接收到资源发布事务时,可以根据资源发布事务的事务类型,判断是否需要对区块链中存储的酒店资源进行修改(若事务类型为变更,则需要修改;若事务类型为新建,则存储资源发布事务即可,无需修改)。此处,各个区块链装置需要对区块链中存储的酒店资源进行修改,即将酒店的空房修改为9间,以确保从区块链网络中的各个区块链装置中查询得到的酒店的资源信息是准确且一致的。
第一区块链装置通过向区块链网络发送事务类型为变更类型的资源发布事务,可以对在区块链网络的各个区块链装置中存储的酒店资源进行修改。例如,第一区块链装置(即酒店资源管理系统对应的区块链装置)可以向区块链网络发送事务类型为变更类型的资源发布事务,该资源发布事务中包含的信息可以为将酒店某房型的可用房量设置为0,以暂时关闭该房型的销售。一段时间后,第一区块链装置可以发送事务类型为变更类型的资源发布事务,该资源发布事务中包含的信息可以为将该房型的可用房量设置为非0数,以重新开放该房型的销售。
在一种实现方式中,第一区块链装置还可以向区块链网络发送事务类型为取消类型的资源发布事务,以取消已发布的某房型的房量资源。
在一种实现方式中,一旦订单确认请求所请求的订单确认成功,第一区块链装置可以对确认成功的订单对应的资源的可用数量进行更新,并根据更新后的可用数量生成资源发布事务请求。通过这种方式,可以使得资源的变化信息实时地发布到区块链网络中,避免由于订单确认信息延迟,而导致的订单冲突问题(即不同的用户对同一间客房进行了预订),有利于提高资源发布系统的可靠性。
在一种实现方式中,第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求的具体实施方式可以为:若确认成功的订单数量大于预设数量阈值,则第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。
例如,预设数量阈值为3时,若酒店资源管理系统对应的业务装置先后接收到2个订单并对其确认成功,并且更新了订单对应的房型的可用数量(即减少对应房型的可用数量),此时,酒店资源管理系统对应的业务装置可以暂时不发布更新后的可用数量,等待接收第3个订单确认请求。当酒店资源管理系统对应的业务装置接收到第3个订单确认请求并对其确认成功后,酒店资源管理系统对应的业务装置可以根据第3个订单确认请求,对相应的房型的可用数量进行更新,然后将更新后的房型的可用数量以资源发布事务请求的形式发送给酒店资源管理系统对应的区块链装置(即第一区块链装置),以使酒店资源管理系统对应的区块链装置将更新后的房型的可用数量发布至区块链网络。
通过这种方式,在一段时间内接收到的订单确认请求数量较多的情况下,第一业务装置可以对订单确认请求进行批量确认,并对确认成功的订单(即确认成功的累计订单数量大于预设数量阈值)对应的资源的可用数量进行累计更新,根据累计更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。相较每确认成功一个订单,就生成一个资源发布事务请求,通过对订单进行批量确认的方式,可以减少资源发布事务请求的数量。相应的,可以减少发布到区块链网络中的资源发布事务的数量,有利于提高资源发布效率。
需要说明的是,预设数量阈值可以是第一业务装置(即酒店资源管理系统对应的业务装置)设置的,第一业务装置可以根据实际情况改变预设数量阈值。
在另一种实现方式中,第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求的具体实施方式可以为:若对订单确认请求所请求的订单确认成功开始经过预设时长,则第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。
即订单确认成功后,针对该订单对应的资源的可用数量完成更新后,最多经过预设时长的时间,第一业务装置(即酒店资源管理系统对应的业务装置)会将更新后的资源的可用数量以资源发布事务请求的形式发送到区块链网络中。例如,预设时长为2分钟时,在酒店资源管理系统对应的业务装置对某订单确认请求确认成功后,可以进行2分钟的倒计时,在倒计时结束时,酒店资源管理系统对应的业务装置可以将在这2分钟之内确定成功的所有订单确认请求对应的资源的可用数量进行更新,并将更新后的资源的可用数量发送给酒店资源管理系统对应的区块链装置,进而通过酒店资源管理系统对应的区块链装置将更新后的资源的可用数量发布至区块链网络。
通过这种方式,在订单确认成功开始经过预设时长时,第一业务装置生成资源发布事务请求,可以避免在一段时间内接收到的订单确认请求数量较少的情况下,从订单确认成功到生成资源发布事务请求之间的时间太长,进而导致资源发布事务请求对应的资源发布事务不能及时发布到区块链网络,造成订单确认信息同步不及时、查询结果不准确等问题。
需要说明的是,预设时长可以是第一业务装置设置的,第一业务装置可以根据实际情况改变预设时长。例如,若第一业务装置近期接收到的订单确认请求数量较多,则第一业务装置可以将预设时长设置的较小,以确保更新后的资源的可用数量可以更及时的同步到区块链网络中。又如,若第一业务装置近期接收到的订单确认请求数量较少,则第一业务装置可以将预设时长设置的较大,以减少生成资源发布事务请求的数量。
步骤S804~步骤S809的执行过程可分别参见图3中步骤S301~步骤S306的具体描述,在此不赘述。
可见,通过实施本发明实施例,可以使得资源发布事务的发布对于区块链网络中的各个区块链装置是公平共享的。并且,通过第一业务装置对确认成功的订单对应的资源的可用数量进行更新,进一步的,第一区块链装置将更新后的可用数量以资源发布事务的形式发布到区块链网络中的这种方式,可以避免第一业务装置对订单确认失败时,却将确认失败的订单对应的资源的可用数量进行更新,并将更新后的可用数量发布到区块链网络中导致超售等问题,有利于提高酒店资源发布系统的可靠性。
在一种实现方式中,第一业务装置向第一区块链装置发送资源发布事务请求之前,第一业务装置可以接收资源释放请求,资源释放请求包含资源标识和资源标识对应的资源的释放数量;第一业务装置根据资源标识对应的资源的可用数量和释放数量,对资源标识对应的资源的可用数量进行更新;第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。
在酒店分销场景下,资源释放请求可以是客人退房时由酒店资源管理系统对应的业务装置生成的,或者,资源释放请求可以来自于大分销机构和小分销机构对应的业务装置。例如,大分销机构和小分销机构对应的业务装置向酒店资源管理系统对应的业务装置发送资源释放请求,其中,资源释放请求用于请求取消客房订单。客人在酒店前台退房时,酒店应及时增加相应房型的房量,以最大化酒店收益。例如,客人退掉两间房型a的客房,则酒店应在房型a当前的可用房量的基础上,增加两间房间作为更新后的房型a的可用房量。并将更新后的房型a的可用房量发布至区块链网络,以最大化酒店的收益,并保证区块链网络的数据一致性。进一步的,可以提高查询结果的准确度。请参见图9,图9是本发明实施例提供的又一种资源发布方法的流程示意图,该方法包括但不限于步骤S901~步骤S709,步骤S901~步骤S904的执行过程可分别参见图3中步骤S301~步骤S304的具体描述,在此不赘述。其中:
步骤S905:若区块链管理装置对资源发布事务校验成功,则区块链管理装置将资源发布事务发送给区块链网络中的各个区块链装置。
在区块链管理装置对资源发布事务校验成功的情况下,才将资源发布事务发送给区块链网络中的各个区块链装置,可以提高资源发布事务可信度。图9以区块链网络由第一区块链装置、第二区块链装置和区块链管理装置组成为例,因此图9中仅示出区块链管理装置将资源发布事务发送给第一区块链装置和第二区块链装置,相应的,步骤S906~步骤S919中所述区块链网络中的各个区块链装置具体指第一区块链装置和第二区块链装置。需要说明的是,区块链网络至少包括第一区块链装置和第二区块链装置,在其他可行的实现方式中,区块链网络还可以由区块链管理装置、第一区块链装置、第二区块链装置和第三区块链装置组成,本发明实施例对此不作限定。
在一种实现方式中,区块链管理装置接收来自第一区块链装置的资源发布事务之后,可以直接将资源发布事务发送给区块链网络中的各个区块链装置。即区块链管理装置和区块链网络中的各个区块链装置可以同时对资源发布事务进行校验。
步骤S906:区块链网络中的各个区块链装置对资源发布事务进行校验。
区块链网络中的各个区块链装置对资源发布事务进行校验,并将针对资源发布事务的校验结果以事务校验响应的形式发送给区块链管理装置。具体的,区块链网络中的各个区块链装置可以对资源发布事务的发送方的身份进行校验。需要说明的是,不管校验结果为通过或者不通过,区块链网络中的各个区块链装置均可以向区块链管理装置发送事务校验响应。
步骤S907:区块链管理装置接收来自区块链网络中的各个区块链装置的事务校验响应。
其中,来自区块链网络中的各个区块链装置的事务校验响应所包含的针对资源发布事务的校验结果可以是相互独立的,即各个区块链装置针对资源发布事务进行的校验过程可以是不受其他区块链装置影响的。例如,来自第一区块链装置的事务校验响应所包含的针对资源发布事务的校验结果可以是校验通过,来自第二区块链装置的事务校验响应所包含的针对资源发布事务的校验结果可以是校验不通过。
步骤S908:区块链管理装置根据各个事务校验响应,得到事务校验结果。
区块链管理装置可以根据各个事务校验响应,得到事务校验结果,进而确定资源发布事务是否通过区块链网络的校验,即事务校验结果是根据区块链网络中的各个区块链装置返回的事务校验响应共同确定的。通过这种方式,可以使得区块链网络中的各个区块链装置均参与针对资源发布事务的校验过程,有利于提高发布至区块链网络的资源发布事务的可信度。
在一种实现方式中,区块链管理装置可以根据预设规则和各个事务校验响应,得到事务校验结果。例如,当预设规则为少数服从多数,且区块链网络由10个区块链装置组成时,若这10个区块链装置中有6个区块链装置针对资源发布事务返回的事务校验响应包含的校验结果为校验通过,则区块链管理装置可以确定资源发布事务通过区块链网络的校验。需要说明的是,上述举例仅用于说明区块链管理装置基于少数服从多数的原则确定资源发布事务是否通过区块链网络的校验,在其他可行的实现方式中,区块链管理装置还可以基于少数服从多数的原则确定资源发布事务是否通过区块链网络的校验,本发明实施例对此不做限定。
在一种实现方式中,若各个事务校验响应包含的校验结果为校验通过的数量超过第一预设阈值,则区块链管理装置可以确定资源发布事务通过区块链网络的校验。在一种实现方式中,若各个事务校验响应包含的校验结果为校验不通过的数量超过第二预设阈值,则区块链管理装置可以确定资源发布事务不通过区块链网络的校验。其中,第一预设阈值和第二预设阈值可以相等,也可以不相等。
步骤S909:若事务校验结果为校验通过,则区块链管理装置根据资源发布事务生成第一区块。
步骤S909的执行过程可参见图6中步骤S605的具体描述,在此不赘述。
步骤S910:区块链管理装置将第一区块发送给区块链网络中的各个区块链装置。
区块链管理装置将第一区块发送给区块链网络中的各个区块链装置,以使区块链网络中的各个区块链装置对第一区块进行校验,通过这种方式,可以使得区块链网络中的各个区块链装置均参与针对第一区块的校验过程,有利于提高发布至区块链网络的第一区块的可信度。
步骤S911:区块链网络中的各个区块链装置对第一区块进行校验。
区块链网络中的各个区块链装置接收第一区块之后,可以对第一区块进行校验。在一种实现方式中,第一区块可以包含发送方(即区块链管理装置)的身份信息,区块链管理装置对第一区块进行校验的过程中,可以校验第一区块的发送方的身份,进而提高发布到区块链网络中的第一区块的可信度。例如,第一区块可以包含区块链管理装置的数字签名,其中,数字签名是区块链管理装置根据区块链管理装置的私钥,对第一区块进行签名处理得到的。区块链网络中的各个区块链装置接收第一区块之后,可以根据区块链管理装置的公钥,对数字签名进行校验,若校验成功,则表明第一区块的发送方为区块链管理装置。通过这种方式,有利于提高第一区块的可信度。
步骤S912:区块链网络中的各个区块链装置临时存储第一区块。
需要说明的是,步骤S911和步骤S912的执行顺序不分先后,区块链网络中的各个区块链装置接收第一区块之后,可以先执行步骤S911,后执行步骤S912;也可以先执行步骤S912,后执行步骤S911;还可以同时执行步骤S911和步骤S912,本发明实施例对此不作限定。
步骤S913:区块链管理装置接收来自区块链网络中的各个区块链装置的区块校验响应。
区块链网络中的各个区块链装置将针对第一区块的区块校验响应发送给区块链管理装置之后,区块链管理装置可以接收来自区块链网络中的各个区块链装置的区块校验响应。
步骤S914:区块链管理装置根据各个区块校验响应,得到区块校验结果。
其中,区块校验响应是区块链网络中的区块链装置对第一区块进行校验,并得到校验结果之后,根据校验结果发送给区块链管理装置的。区块链管理装置可以根据各个区块校验响应,得到区块校验结果,进而确定第一区块是否通过区块链网络的校验,即区块校验结果是根据区块链网络中的各个区块链装置返回的区块校验响应共同确定的。通过这种方式,可以使得区块链网络中的各个区块链装置均参与针对第一区块的校验过程,有利于提高发布至区块链网络的第一区块的可信度。需要说明的是,不管校验结果为通过或者不通过,区块链装置均可以向区块链管理装置发送区块校验响应。其中,区块校验响应包含针对第一区块的校验结果。
具体的,区块链管理装置可以基于少数服从多数的原则,根据各个区块校验响应,得到区块校验结果。例如,区块链网络由10个区块链装置组成时,若这10个区块链装置中有6个区块链装置针对第一区块返回的区块校验响应包含的校验结果为校验通过,则区块链管理装置可以确定第一区块通过区块链网络的校验。需要说明的是,上述举例仅用于说明区块链管理装置基于少数服从多数的原则确定第一区块是否通过区块链网络的校验,在其他可行的实现方式中,区块链管理装置还可以基于少数服从多数的原则确定第一区块是否通过区块链网络的校验,本发明实施例对此不做限定。
在一种实现方式中,若各个区块校验响应包含的校验结果为校验通过的数量超过第三预设阈值,则区块链管理装置可以确定第一区块通过区块链网络的校验。在一种实现方式中,若各个区块校验响应包含的校验结果为校验不通过的数量超过第四预设阈值,则区块链管理装置可以确定第一区块不通过区块链网络的校验。其中,第三预设阈值和第四预设阈值可以相等,也可以不相等。
步骤S915:若区块校验结果为校验通过,则区块链管理装置在本地持久化第一区块。
步骤S916:区块链管理装置将针对第一区块的持久化通知发送给区块链网络中的各个区块链装置。
其中,持久化通知用于通知各个区块链装置在各个区块链装置本地持久化第一区块。
需要说明的是,步骤S915和步骤S916的执行顺序不分先后,若区块校验结果为校验通过,可以先执行步骤S915,后执行步骤S916;也可以先执行步骤S916,后执行步骤S915;还可以同时执行步骤S915和步骤S916,本发明实施例对此不作限定。
步骤S917:区块链网络中的各个区块链装置在各个区块链装置本地持久化第一区块。
步骤S917的执行过程可参见图7中步骤S708的具体描述,在此不赘述。
步骤S918:第一区块链装置向第一业务装置发送资源发布事务响应。
第一区块链装置在本地持久化第一区块之后(即表明第一区块被成功发布至区块链网络),向第一业务装置发送资源发布事务响应。步骤S918的执行过程可参见图3中步骤S306的具体描述,在此不赘述。
步骤S919:除第一区块链装置之外,区块链网络中的其余区块链装置向对应的业务装置发送资源发布事务通知。
其中,资源发布事务通知用于通知接收到资源发布事务通知的业务装置(即除第一区块链装置之外,区块链网络中的其余区块链装置对应的业务装置)根据第一区块更新本地存储的资源。在酒店分销场景下,接收到资源发布事务通知即表明酒店资源发生了变化,接收到资源发布事务通知的业务装置根据第一区块更新本地存储的资源,可以保持酒店资源的一致性。例如,当第一区块链装置为酒店资源管理系统对应的区块链装置,区块链管理装置为大分销机构对应的区块链装置,第二区块链装置为小分销机构对应的区块链装置时,通过资源发布事务通知机制,可以使得酒店资源管理系统、大分销机构和小分销机构对应的区块链装置,以及酒店资源管理系统、大分销机构和小分销机构对应的业务装置中均存储相同的酒店资源,从而实现酒店资源的公平共享。并且,小分销机构对应的业务装置在接收到资源查询请求时,可以直接在本地查询与资源查询请求相匹配的资源信息,而不用通过大分销机构对应的业务装置获得所请求的资源信息,有利于提高查询效率。
需要说明的是,步骤S918和步骤S919的执行顺序不分先后,可以先执行步骤S918,后执行步骤S919;也可以先执行步骤S919,后执行步骤S918;还可以同时执行步骤S918和步骤S919,本发明实施例对此不作限定。
可见,通过实施本发明实施例,可以使得资源发布事务的发布对于区块链网络中的各个区块链装置是公平共享的。并且,通过区块链网络中的各个区块链装置对资源发布事务进行校验,可以使得区块链网络中的各个区块链装置均参与针对资源发布事务的校验过程,有利于提高发布至区块链网络的资源发布事务的可信度。
请参见图10,图10是本发明实施例提供的一种资源发布装置的结构示意图,该资源发布装置100用于执行图3-图9对应的方法实施例中区块链管理装置所执行的步骤,该资源发布装置100可包括:
接收模块1001,用于接收来自第一区块链装置的资源发布事务,资源发布事务是第一区块链装置基于来自第一业务装置的资源发布事务请求得到的,第一区块链装置与第一业务装置相对应;
校验模块1002,用于对资源发布事务进行校验;
发布模块1003,用于若对资源发布事务校验成功,则将资源发布事务发布至第一区块链装置所属的区块链网络,区块链网络至少包括区块链管理装置和第一区块链装置,区块链管理装置是区块链网络中的所有区块链装置根据共识算法选举得到的。
在一种实现方式中,发布模块1003具体包括生成单元10031和第一发布单元10032,其中,生成单元10031用于根据资源发布事务生成第一区块;第一发布单元10032用于将第一区块发布至第一区块链装置所属的区块链网络。
在一种实现方式中,资源发布装置100还可以包括:
发送模块1004,用于将针对第一区块的持久化通知发送给区块链网络中的各个区块链装置,该持久化通知用于通知各个区块链装置在各个区块链装置本地持久化第一区块。
在一种实现方式中,发送模块1004还用于向第二业务装置发送资源发布事务通知,该资源发布事务通知用于通知第二业务装置根据资源发布事务更新第二业务装置本地存储的资源,区块链管理装置与第二业务装置相对应。
需要说明的是,图10对应的实施例中未提及的内容以及各个模块执行步骤的具体实现方式可参见图3-图9所示实施例以及前述内容,这里不再赘述。
在一种实现方式中,图10中的各个模块所实现的相关功能可以结合处理器与通信接口来实现。参见图11,图11是本发明实施例提供的一种资源发布装置的结构示意图,该资源发布装置110包括处理器1101、存储器1102、通信接口1103,所述处理器1101、所述存储器1102、所述通信接口1103通过一条或多条通信总线连接。
处理器1101被配置为支持资源发布装置执行图3-图9所述方法中区块链管理装置相应的功能。该处理器1101可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。
存储器1102用于存储程序代码等。存储器1102可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM);存储器1102也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1102还可以包括上述种类的存储器的组合。
通信接口1103用于接收和发送数据,例如,通信接口1103用于接收来自第一区块链装置的资源发布事务,或者,通信接口1103用于将针对第一区块的持久化通知发送给区块链网络中的各个区块链装置等。
在本发明实施例中,该资源发布装置110包括多个通信接口,其中,用于发送数据的通信接口和用于接收数据的通信接口可以不为同一个通信接口。
处理器1101可以调用存储器1102中存储的程序代码以执行以下操作:
通过通信接口1103接收来自第一区块链装置的资源发布事务,资源发布事务是第一区块链装置基于来自第一业务装置的资源发布事务请求得到的,第一区块链装置与第一业务装置相对应;
对资源发布事务进行校验;
若对资源发布事务校验成功,则将资源发布事务发布至第一区块链装置所属的区块链网络,区块链网络至少包括区块链管理装置和第一区块链装置,区块链管理装置是区块链网络中的所有区块链装置根据共识算法选举得到的。
进一步地,处理器1101还可以与通信接口1103相配合,执行图3-图9所示实施例中区块链管理装置对应的操作,具体可参见方法实施例中的描述,在此不再赘述。
请参见图12,图12是本发明实施例提供的一种资源发布装置的结构示意图,该资源发布装置120用于执行图3-图9对应的方法实施例中第一区块链装置所执行的步骤,该资源发布装置120可包括:
接收模块1201,用于接收来自第一业务装置的资源发布事务请求,第一区块链装置与第一业务装置相对应;
生成模块1202,用于根据资源发布事务请求生成资源发布事务;
发送模块1203,用于将资源发布事务发送至区块链网络中的区块链管理装置,区块链网络至少包括区块链管理装置和第一区块链装置;
发送模块1203,还用于在资源发布事务被成功发布至区块链网络的情况下,向第一业务装置发送资源发布事务响应。
在一种实现方式中,接收模块1201,还用于接收来自区块链管理装置的与资源发布事务对应的第一区块;
在一种实现方式中,资源发布装置120还可以包括:
持久化模块1204,用于在本地持久化第一区块。
在一种实现方式中,接收模块1201,还用于接收来自区块链管理装置的与第一区块对应的持久化通知。
需要说明的是,图12对应的实施例中未提及的内容以及各个模块执行步骤的具体实现方式可参见图3-图9所示实施例以及前述内容,这里不再赘述。
在一种实现方式中,图12中的各个模块所实现的相关功能可以结合处理器与通信接口来实现。参见图13,图13是本发明实施例提供的一种资源发布装置的结构示意图,该资源发布装置130包括处理器1301、存储器1302、通信接口1303,所述处理器1301、所述存储器1302、所述通信接口1303通过一条或多条通信总线连接。
处理器1301被配置为支持资源发布装置执行图3-图9所述方法中第一区块链装置相应的功能。该处理器1301可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。
存储器1302用于存储程序代码等。存储器1302可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM);存储器1302也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1302还可以包括上述种类的存储器的组合。
通信接口1303用于接收和发送数据,例如,通信接口1303用于接收来自第一业务装置的资源发布事务请求,或者,通信接口1303用于将资源发布事务发送至区块链网络中的区块链管理装置等。
在本发明实施例中,该资源发布装置130包括多个通信接口,其中,用于发送数据的通信接口和用于接收数据的通信接口可以不为同一个通信接口。
处理器1301可以调用存储器1302中存储的程序代码以执行以下操作:
通过通信接口1303接收来自第一业务装置的资源发布事务请求,第一区块链装置与第一业务装置相对应;
根据资源发布事务请求生成资源发布事务;
通过通信接口1303将资源发布事务发送至区块链网络中的区块链管理装置,区块链网络至少包括区块链管理装置和第一区块链装置;
在资源发布事务被成功发布至区块链网络的情况下,通过通信接口1303向第一业务装置发送资源发布事务响应。
进一步地,处理器1301还可以与通信接口1303相配合,执行图3-图9所示实施例中第一区块链装置对应的操作,具体可参见方法实施例中的描述,在此不再赘述。
请参见图14,图14是本发明实施例提供的一种资源发布装置的结构示意图,该资源发布装置140用于执行图3-图9对应的方法实施例中第一业务装置所执行的步骤,该资源发布装置140可包括:
发送模块1401,用于向第一区块链装置发送资源发布事务请求,第一区块链装置与第一业务装置相对应;
接收模块1402,用于在资源发布事务请求对应的资源发布事务被区块链管理装置成功发布至第一区块链装置所属的区块链网络的情况下,接收来自第一区块链装置的资源发布事务响应,区块链管理装置是区块链网络中的所有区块链装置根据共识算法选举得到的,区块链网络至少包括区块链管理装置和第一区块链装置。
在一种实现方式中,接收模块1402,还用于接收订单确认请求,订单确认请求包含资源标识和资源标识对应的资源的预订数量;
在一种实现方式中,资源发布装置140还可以包括:
更新模块1403,用于在订单确认请求所请求的订单被确认成功的情况下,根据资源标识对应的资源的可用数量和预订数量,对资源标识对应的资源的可用数量进行更新;
生成模块1404,用于根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。
在一种实现方式中,生成模块1404,具体用于若确认成功的订单数量大于预设数量阈值,则根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。
在一种实现方式中,生成模块1404,具体用于若对订单确认请求所请求的订单确认成功开始经过预设时长,则根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。
在一种实现方式中,接收模块1402,还用于接收资源释放请求,资源释放请求包含资源标识和资源标识对应的资源的释放数量;更新模块1403,还用于根据资源标识对应的资源的可用数量和释放数量,对资源标识对应的资源的可用数量进行更新;生成模块1404,还用于根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求。
需要说明的是,图14对应的实施例中未提及的内容以及各个模块执行步骤的具体实现方式可参见图3-图9所示实施例以及前述内容,这里不再赘述。
在一种实现方式中,图14中的各个模块所实现的相关功能可以结合处理器与通信接口来实现。参见图15,图15是本发明实施例提供的一种资源发布装置的结构示意图,该资源发布装置150包括处理器1501、存储器1502、通信接口1503,所述处理器1501、所述存储器1502、所述通信接口1503通过一条或多条通信总线连接。
处理器1501被配置为支持资源发布装置执行图3-图9所述方法中第一业务装置相应的功能。该处理器1501可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。
存储器1502用于存储程序代码等。存储器1502可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM);存储器1502也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1502还可以包括上述种类的存储器的组合。
通信接口1503用于接收和发送数据,例如,通信接口1503用于向第一区块链装置发送资源发布事务请求,或者,通信接口1503用于接收来自第一区块链装置的资源发布事务响应等。
在本发明实施例中,该资源发布装置150包括多个通信接口,其中,用于发送数据的通信接口和用于接收数据的通信接口可以不为同一个通信接口。
处理器1501可以调用存储器1502中存储的程序代码以执行以下操作:
通过通信接口1503向第一区块链装置发送资源发布事务请求,第一区块链装置与第一业务装置相对应;
在资源发布事务请求对应的资源发布事务被区块链管理装置成功发布至第一区块链装置所属的区块链网络的情况下,通过通信接口1503接收来自第一区块链装置的资源发布事务响应,区块链管理装置是区块链网络中的所有区块链装置根据共识算法选举得到的,区块链网络至少包括区块链管理装置和第一区块链装置。
进一步地,处理器1501还可以与通信接口1503相配合,执行图3-图9所示实施例中第一业务装置对应的操作,具体可参见方法实施例中的描述,在此不再赘述。
本发明实施例还提供一种计算机可读存储介质,可以用于存储图10或图11所示实施例中资源发布装置所用的计算机软件指令,其包含用于执行上述实施例中为区块链管理装置所设计的程序。
本发明实施例还提供另一种计算机可读存储介质,可以用于存储图12或图13所示实施例中资源发布装置所用的计算机软件指令,其包含用于执行上述实施例中为第一区块链装置所设计的程序。
本发明实施例还提供又一种计算机可读存储介质,可以用于存储图14或图15所示实施例中资源发布装置所用的计算机软件指令,其包含用于执行上述实施例中为第一业务装置所设计的程序。
上述计算机可读存储介质包括但不限于快闪存储器、硬盘、固态硬盘。
本发明实施例还提供一种计算机程序产品,该计算机产品被计算设备运行时,可以执行上述图3-图9实施例中为区块链管理装置所设计的资源发布方法。
本发明实施例还提供一种计算机程序产品,该计算机产品被计算设备运行时,可以执行上述图3-图9实施例中为第一区块链装置所设计的资源发布方法。
本发明实施例还提供一种计算机程序产品,该计算机产品被计算设备运行时,可以执行上述图3-图9实施例中为第一业务装置所设计的资源发布方法。
在本发明实施例中还提供一种芯片,包括处理器和存储器,该存储器用包括处理器和存储器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,该计算机程序用于实现上述方法实施例中的方法。
本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种资源发布方法,其特征在于,包括:
区块链管理装置接收来自第一区块链装置的资源发布事务,所述资源发布事务是所述第一区块链装置基于来自第一业务装置的资源发布事务请求得到的,所述第一区块链装置与所述第一业务装置相对应,所述第一业务装置为酒店管理系统对应的业务装置;
所述区块链管理装置对所述资源发布事务进行校验;
若所述区块链管理装置对所述资源发布事务校验成功,则所述区块链管理装置将所述资源发布事务发布至所述第一区块链装置所属的区块链网络,所述区块链网络至少包括所述区块链管理装置和所述第一区块链装置,所述区块链管理装置是所述区块链网络中的所有区块链装置根据共识算法选举得到的;
其中,资源为酒店客房资源;
其中,所述第一业务装置用于处理涉及酒店资源的相关业务,涉及酒店资源的相关业务包括:客房预订、客房退订、入住、退房、关房或开房;
其中,第一业务装置用于在向第一区块链装置发送资源发布事务请求之前,接收订单确认请求,所述订单确认请求包含资源标识和所述资源标识对应的资源的预订数量;若对所述订单确认请求所请求的订单确认成功,则根据所述资源标识对应的资源的可用数量和所述预订数量,对所述资源标识对应的资源的可用数量进行更新;根据更新后的所述资源标识对应的资源的可用数量,生成所述资源发布事务请求;
其中,第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求包括:若确认成功的订单数量大于预设数量阈值,则根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求;或者,若对所述订单确认请求所请求的订单确认成功开始经过预设时长,则根据更新后的所述资源标识对应的资源的可用数量,生成所述资源发布事务请求;
其中,资源发布事务包含第一区块链装置的数字签名,数字签名是第一区块链装置根据第一区块链装置的私钥,对资源发布事务进行签名处理得到的,其中,区块链管理装置用于接收来自第一区块链装置的资源发布事务之后,根据第一区块链装置的公钥对数字签名进行校验,若校验成功,则表明资源发布事务的发送方为第一区块链装置。
2.根据权利要求1所述的方法,其特征在于,所述区块链管理装置将所述资源发布事务发布至所述第一区块链装置所属的区块链网络,包括:
所述区块链管理装置根据所述资源发布事务生成第一区块;
所述区块链管理装置将所述第一区块发布至所述第一区块链装置所属的区块链网络。
3.根据权利要求2所述的方法,其特征在于,所述区块链管理装置将所述第一区块发布至所述第一区块链装置所属的区块链网络之后,所述方法还包括:
所述区块链管理装置将针对所述第一区块的持久化通知发送给所述区块链网络中的各个区块链装置,所述持久化通知用于通知所述各个区块链装置在所述各个区块链装置本地持久化所述第一区块。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述区块链管理装置将所述资源发布事务发布至所述第一区块链装置所属的区块链网络之后,所述方法还包括:
所述区块链管理装置向第二业务装置发送资源发布事务通知,所述资源发布事务通知用于通知所述第二业务装置根据所述资源发布事务更新所述第二业务装置本地存储的资源,所述区块链管理装置与所述第二业务装置相对应。
5.一种资源发布方法,其特征在于,包括:
第一区块链装置接收来自第一业务装置的资源发布事务请求,所述第一区块链装置与所述第一业务装置相对应,其中,所述第一业务装置为酒店管理系统对应的业务装置;
所述第一区块链装置根据所述资源发布事务请求生成资源发布事务;
所述第一区块链装置将所述资源发布事务发送至区块链网络中的区块链管理装置,所述区块链管理装置是所述区块链网络中的所有区块链装置根据共识算法选举得到的,所述区块链网络至少包括所述区块链管理装置和所述第一区块链装置;
在所述资源发布事务被成功发布至所述区块链网络的情况下,所述第一区块链装置向所述第一业务装置发送资源发布事务响应;
其中,资源为酒店客房资源;
其中,所述第一业务装置用于处理涉及酒店资源的相关业务,涉及酒店资源的相关业务包括:客房预订、客房退订、入住、退房、关房或开房;
其中,第一业务装置用于在向第一区块链装置发送资源发布事务请求之前,接收订单确认请求,所述订单确认请求包含资源标识和所述资源标识对应的资源的预订数量;若对所述订单确认请求所请求的订单确认成功,则根据所述资源标识对应的资源的可用数量和所述预订数量,对所述资源标识对应的资源的可用数量进行更新;根据更新后的所述资源标识对应的资源的可用数量,生成所述资源发布事务请求;
其中,第一业务装置根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求包括:若确认成功的订单数量大于预设数量阈值,则根据更新后的资源标识对应的资源的可用数量,生成资源发布事务请求;或者,若对所述订单确认请求所请求的订单确认成功开始经过预设时长,则根据更新后的所述资源标识对应的资源的可用数量,生成所述资源发布事务请求;
其中,资源发布事务包含第一区块链装置的数字签名,数字签名是第一区块链装置根据第一区块链装置的私钥,对资源发布事务进行签名处理得到的,其中,区块链管理装置用于接收来自第一区块链装置的资源发布事务之后,根据第一区块链装置的公钥对数字签名进行校验,若校验成功,则表明资源发布事务的发送方为第一区块链装置。
6.根据权利要求5所述的方法,其特征在于,所述第一区块链装置将所述资源发布事务发送至区块链网络中的区块链管理装置之后,所述方法还包括:
所述第一区块链装置接收来自所述区块链管理装置的与所述资源发布事务对应的第一区块;
所述第一区块链装置在本地持久化所述第一区块。
7.根据权利要求6所述的方法,其特征在于,所述第一区块链装置在本地持久化所述第一区块之前,所述方法还包括:
所述第一区块链装置接收来自所述区块链管理装置的与所述第一区块对应的持久化通知。
8.一种资源发布方法,其特征在于,包括:
第一业务装置向第一区块链装置发送资源发布事务请求,所述第一区块链装置与所述第一业务装置相对应,其中,所述第一业务装置为酒店管理系统对应的业务装置;
其中,所述第一业务装置用于处理涉及酒店资源的相关业务,涉及酒店资源的相关业务包括:客房预订、客房退订、入住、退房、关房或开房;
在所述资源发布事务请求对应的资源发布事务被区块链管理装置成功发布至所述第一区块链装置所属的区块链网络的情况下,所述第一业务装置接收来自所述第一区块链装置的资源发布事务响应,所述区块链管理装置是所述区块链网络中的所有区块链装置根据共识算法选举得到的,所述区块链网络至少包括所述区块链管理装置和所述第一区块链装置;
其中,资源发布事务包含第一区块链装置的数字签名,数字签名是第一区块链装置根据第一区块链装置的私钥,对资源发布事务进行签名处理得到的,其中,区块链管理装置用于接收来自第一区块链装置的资源发布事务之后,根据第一区块链装置的公钥对数字签名进行校验,若校验成功,则表明资源发布事务的发送方为第一区块链装置;
其中,所述第一业务装置向第一区块链装置发送资源发布事务请求之前,所述方法还包括:
所述第一业务装置接收订单确认请求,所述订单确认请求包含资源标识和所述资源标识对应的资源的预订数量;
若所述第一业务装置对所述订单确认请求所请求的订单确认成功,则所述第一业务装置根据所述资源标识对应的资源的可用数量和所述预订数量,对所述资源标识对应的资源的可用数量进行更新;
所述第一业务装置根据更新后的所述资源标识对应的资源的可用数量,生成所述资源发布事务请求;
其中,所述第一业务装置根据更新后的所述资源标识对应的资源的可用数量,生成所述资源发布事务请求,包括:
若确认成功的订单数量大于预设数量阈值,则所述第一业务装置根据更新后的所述资源标识对应的资源的可用数量,生成所述资源发布事务请求;
其中,所述第一业务装置根据更新后的所述资源标识对应的资源的可用数量,生成所述资源发布事务请求,包括:
若对所述订单确认请求所请求的订单确认成功开始经过预设时长,则所述第一业务装置根据更新后的所述资源标识对应的资源的可用数量,生成所述资源发布事务请求。
9.根据权利要求8所述的方法,其特征在于,所述第一业务装置向第一区块链装置发送资源发布事务请求之前,所述方法还包括:
所述第一业务装置接收资源释放请求,所述资源释放请求包含资源标识和所述资源标识对应的资源的释放数量;
所述第一业务装置根据所述资源标识对应的资源的可用数量和所述释放数量,对所述资源标识对应的资源的可用数量进行更新;
所述第一业务装置根据更新后的所述资源标识对应的资源的可用数量,生成所述资源发布事务请求。
10.一种资源发布装置,其特征在于,包括用于执行如权利要求1~4任一项所述的方法的单元。
11.一种资源发布装置,其特征在于,包括用于执行如权利要求5~7任一项所述的方法的单元。
12.一种资源发布装置,其特征在于,包括用于执行如权利要求8~9任一项所述的方法的单元。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1~4任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求5~7任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求8~9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810222370.8A CN108510315B (zh) | 2018-03-16 | 2018-03-16 | 一种资源发布方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810222370.8A CN108510315B (zh) | 2018-03-16 | 2018-03-16 | 一种资源发布方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108510315A CN108510315A (zh) | 2018-09-07 |
CN108510315B true CN108510315B (zh) | 2019-12-06 |
Family
ID=63375863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810222370.8A Active CN108510315B (zh) | 2018-03-16 | 2018-03-16 | 一种资源发布方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108510315B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033884B (zh) * | 2018-09-10 | 2021-09-17 | 湖南智慧政务区块链科技有限公司 | 不动产业务处理方法及区块链网络 |
CN111028027A (zh) * | 2018-10-10 | 2020-04-17 | 华为技术有限公司 | 一种业务处理方法及装置 |
CN112470150A (zh) * | 2018-10-22 | 2021-03-09 | 松下电器(美国)知识产权公司 | 控制方法、内容管理系统、程序及数据结构 |
CN109600441B (zh) * | 2018-12-14 | 2022-04-29 | 深圳壹账通智能科技有限公司 | 联盟链信息发布控制方法及终端设备 |
CN109376187A (zh) * | 2018-12-17 | 2019-02-22 | 北京京东金融科技控股有限公司 | 一种基于区块链的查询方法和装置 |
CN115345998B (zh) * | 2022-08-24 | 2023-08-25 | 苏州康柏思信息科技有限公司 | 一种基于互联网的门窗模拟家装平台 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105719172A (zh) * | 2016-01-19 | 2016-06-29 | 布比(北京)网络技术有限公司 | 一种信息发布方法及装置 |
CN105808325A (zh) * | 2016-03-03 | 2016-07-27 | 布比(北京)网络技术有限公司 | 一种数据处理的方法及装置 |
CN106100981A (zh) * | 2016-08-22 | 2016-11-09 | 布比(北京)网络技术有限公司 | 社交网络数据交互方法及装置 |
CN107517256A (zh) * | 2017-08-24 | 2017-12-26 | 李昊星 | 信息发布方法以及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170132619A1 (en) * | 2015-11-06 | 2017-05-11 | SWFL, Inc., d/b/a "Filament" | Systems and methods for autonomous device transacting |
-
2018
- 2018-03-16 CN CN201810222370.8A patent/CN108510315B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105719172A (zh) * | 2016-01-19 | 2016-06-29 | 布比(北京)网络技术有限公司 | 一种信息发布方法及装置 |
CN105808325A (zh) * | 2016-03-03 | 2016-07-27 | 布比(北京)网络技术有限公司 | 一种数据处理的方法及装置 |
CN106100981A (zh) * | 2016-08-22 | 2016-11-09 | 布比(北京)网络技术有限公司 | 社交网络数据交互方法及装置 |
CN107517256A (zh) * | 2017-08-24 | 2017-12-26 | 李昊星 | 信息发布方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108510315A (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108510315B (zh) | 一种资源发布方法及相关设备 | |
JP7236991B2 (ja) | ブロックチェーンにより実現される方法及びシステム | |
TWI640937B (zh) | Online payment method and equipment | |
JP2023134665A (ja) | ブロックチェーンが実現される方法及びシステム | |
CN109345259A (zh) | 基于区块链的虚拟资源转移方法、装置、介质及电子设备 | |
CN112200571B (zh) | 基于区块链的资源发放方法、装置及电子设备 | |
CN109314643A (zh) | 事务处理装置、事务处理方法以及用于其的程序 | |
CN110659906B (zh) | 票据信息处理方法、相关设备及介质 | |
WO2015116998A2 (en) | Electronic transfer and obligation enforcement system | |
CN109523045B (zh) | 一种提供差旅服务的方法及设备 | |
US10970780B2 (en) | Zero-knowledge predictions market | |
CN110889762B (zh) | 一种数据处理方法、设备及介质 | |
CN110659887A (zh) | 一种基于区块链的自动交易处理系统和方法 | |
CN109003185A (zh) | 一种智能合约的建立方法、装置、计算设备及存储介质 | |
CN112613877B (zh) | 应用于区块链网络的智能合约触发方法、装置及相关设备 | |
CN112200567A (zh) | 基于区块链的资源管理方法、装置及电子设备 | |
CN112907244B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
US20220156725A1 (en) | Cross-chain settlement mechanism | |
CN110555684A (zh) | 基于区块链系统的账户及系统 | |
CN112200572A (zh) | 基于区块链的资源发放方法、装置及电子设备 | |
CN113239375A (zh) | 基于区块链的隐私要素数据共享系统、方法、计算机设备及介质 | |
CN110659993A (zh) | 一种基于区块链网络的资源管理方法及装置 | |
CN111709857B (zh) | 房源共享方法、装置和电子设备 | |
CN110619566A (zh) | 通过链上数字货币结算的链上质押资产返还系统和方法 | |
CN112511651B (zh) | 一种基于区块链的服务准入方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200427 Address after: Room n14-2-9r, No.101, software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province Patentee after: Nanjing Yibo Software Technology Co., Ltd Address before: 518000 HUAWEI Electric Research Center, Bantian base, Longgang District, Shenzhen, Guangdong, China. Patentee before: SHENZHEN SMARTCOM BUSINESS Co.,Ltd. |
|
TR01 | Transfer of patent right |