首页 / 专利库 / 电脑零配件 / 固件 / 软件 / 一种基于区块链的提议处理方法、装置及电子设备

一种基于链的提议处理方法、装置及电子设备

阅读:263发布:2023-05-28

专利汇可以提供一种基于链的提议处理方法、装置及电子设备专利检索,专利查询,专利分析的服务。并且本 申请 实施例 提供一种基于 区 块 链 的提议处理方法、装置及 电子 设备。其中,方法包括:响应于第一用户发起的目标提议,对所述目标提议进行分析,得到所述第一用户提议的问题和所述问题的候选答案;查询区块链是否记录有所述问题的既定答案;若查询命中,则拒绝所述目标提议和/或将所述区块链记录的所述问题的既定答案反馈至所述第一用户;若查询未命中,则向所述区块链的多个区块链 节点 发起针对所述目标提议的多方共识,并在所述多方共识通过后,接受所述目标提议,以及将所述候选答案作为所述问题的既定答案记录至所述区块链中。,下面是一种基于链的提议处理方法、装置及电子设备专利的具体信息内容。

1.一种基于链的提议处理方法,包括:
基于第一用户发起的目标提议,对所述目标提议进行分析,得到所述第一用户提议的问题和所述问题的候选答案;其中,所述目标提议携带有所述问题和所述候选答案;
查询区块链是否记录有所述问题的既定答案;
若查询命中,则拒绝所述目标提议;
若查询未命中,则向所述区块链的多个区块链节点发起针对所述目标提议的多方共识;以及,
若所述多方共识通过后,则接受所述目标提议,将所述候选答案作为所述问题的既定答案记录至所述区块链中。
2.根据权利要求1所述的方法,还包括:
若查询命中,将所述区块链记录的所述问题的既定答案反馈至所述第一用户。
3.根据权利要求1所述的方法,还包括:
基于第二用户发起的针对所述问题的编辑请求或删除请求,判断区块链是否记录有所述问题的既定答案以及该既定答案是否由所述第三用户提议获得的;
若所述区块链记录有所述问题的既定答案,且该既定答案是由所述第三用户提议获得的,则向所述第三用户开启用于编辑或删除所述区块链记录的该既定答案的功能。
4.根据权利要求1所述的方法,还包括:
在将所述候选答案作为所述问题的既定答案记录至所述区块链中后,周期性判断所述既定答案针对所述问题的有效性,并在判断出所述既定答案针对所述问题失效后,删除所述区块链记录的所述问题的既定答案。
5.根据权利要求1-4任一项所述的方法,
所述目标提议包括:第一用户占用目标资源的提议;
所述问题包括:所述目标资源是否被占用的问题;
所述候选答案包括:所述目标资源被所述第一用户占用的答案。
6.根据权利要求1-4任一项所述的方法,
将所述候选答案作为所述问题的既定答案记录至所述区块链中,包括:
将所述问题、所述问题的既定答案和所述问题的类别关联记录至所述区块链中;其中,所述问题的类别作为检索所述区块链中记录的所述问题的既定答案的索引。
7.根据权利要求1-4任一项所述的方法,
所述目标提议是所述第一用户通过以下任意一种接口所发起:
长文本传输协议接口、远程过程调用协议接口和软件开发工具包接口。
8.一种基于区块链的信息反馈装置,包括:
提议分析模块,基于第一用户发起的目标提议,对所述目标提议进行分析,得到所述第一用户提议的问题和所述问题的候选答案;其中,所述目标提议携带有所述问题和所述候选答案;
答案查询模块,查询区块链是否记录有所述问题的既定答案;
第一提议处理模块,若查询命中,则拒绝所述目标提议;
第二提议处理模块,若查询未命中,则向所述区块链的多个区块链节点发起针对所述目标提议的多方共识;
数据上链模块,若所述多方共识通过,接受所述目标提议,将所述候选答案作为所述问题的既定答案记录至所述区块链中。
9.一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
基于第一用户发起的目标提议,对所述目标提议进行分析,得到所述第一用户提议的问题和所述问题的候选答案;其中,所述目标提议携带有所述问题和所述候选答案;
查询区块链是否记录有所述问题的既定答案;
若查询命中,则拒绝所述目标提议;
若查询未命中,则向所述区块链的多个区块链节点发起针对所述目标提议的多方共识;以及,
若所述多方共识通过后,则接受所述目标提议,将所述候选答案作为所述问题的既定答案记录至所述区块链中。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
基于第一用户发起的目标提议,对所述目标提议进行分析,得到所述第一用户提议的问题和所述问题的候选答案;其中,所述目标提议携带有所述问题和所述候选答案;
查询区块链是否记录有所述问题的既定答案;
若查询命中,则拒绝所述目标提议;
若查询未命中,则向所述区块链的多个区块链节点发起针对所述目标提议的多方共识;以及,
若所述多方共识通过后,则接受所述目标提议,将所述候选答案作为所述问题的既定答案记录至所述区块链中。

说明书全文

一种基于链的提议处理方法、装置及电子设备

技术领域

[0001] 本申请实施例涉及区块链技术领域,尤其涉及一种基于区块链的提议处理方法、装置及电子设备。

背景技术

[0002] 分布式系统是由地理上和物理上分散的各自独立的多个节点(如服务器、处理单元等)组成的系统。这些节点连接在一起实现对不同资源的使用。对于分布式系统来说,系统内的多个节点并行运行,在同一时刻可能存在多个节点或同一节点的多个进程对同一资源发起并发占用,若不进行有序控制,将会导致各种反常状况发生。举个简单的例子:在提供飞机票订购服务的分布式系统中,如果用户A和用户B购买了同一航班同一座位的飞机票,则会产生资源互斥的问题,引发飞机票不可订购,或者用户A和用户B购买飞机票的进程损坏等现象。
[0003] 针对上述问题,目前的解决方法是引用分布式来有序控制同一资源的并发访问。具体来说,当同一资源被多个进程访问时,只有获得该资源的分布式锁的进程能够进行访问。而分布式锁是单独为分布式系统在某一应用场景中所开发的程序,逻辑比较复杂且不具有泛用性,不易于搭建和维护。有鉴于此,如何以更简单的方式在分布式系统中实现锁服务,是当前急需解决的技术问题。发明内容
[0004] 本申请实施例目的是提供一种基于区块链的提议处理方法、装置及电子设备,能够以简单的方式在分布式系统中实现锁服务。
[0005] 为了实现上述目的,本申请实施例是这样实现的:
[0006] 第一方面,提供一种基于区块链的提议处理方法,包括:
[0007] 响应于第一用户发起的目标提议,对所述目标提议进行分析,得到所述第一用户提议的问题和所述问题的候选答案;
[0008] 查询区块链是否记录有所述问题的既定答案;
[0009] 若查询命中,则拒绝所述目标提议和/或将所述区块链记录的所述问题的既定答案反馈至所述第一用户;
[0010] 若查询未命中,则向所述区块链的多个区块链节点发起针对所述目标提议的多方共识,并在所述多方共识通过后,接受所述目标提议,以及将所述候选答案作为所述问题的既定答案记录至所述区块链中。
[0011] 第二方面,提供一种基于区块链的提议处理装置,包括:
[0012] 分析模块,响应于第一用户发起的目标提议,对所述目标提议进行分析,得到所述第一用户提议的问题和所述问题的候选答案;
[0013] 查询模块,查询区块链是否记录有所述问题的既定答案;
[0014] 第一提议处理模块,若查询命中,则拒绝所述目标提议和/或将所述区块链记录的所述问题的既定答案反馈至所述第一用户;
[0015] 第二提议处理模块,若查询未命中,则向所述区块链的多个区块链节点发起针对所述目标提议的多方共识,并在所述多方共识通过后,接受所述目标提议,以及将所述候选答案作为所述问题的既定答案记录至所述区块链中。
[0016] 第三方面,提供一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
[0017] 响应于第一用户发起的目标提议,对所述目标提议进行分析,得到所述第一用户提议的问题和所述问题的候选答案;
[0018] 查询区块链是否记录有所述问题的既定答案;
[0019] 若查询命中,则拒绝所述目标提议和/或将所述区块链记录的所述问题的既定答案反馈至所述第一用户;
[0020] 若查询未命中,则向所述区块链的多个区块链节点发起针对所述目标提议的多方共识,并在所述多方共识通过后,接受所述目标提议,以及将所述候选答案作为所述问题的既定答案记录至所述区块链中。
[0021] 第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
[0022] 响应于第一用户发起的目标提议,对所述目标提议进行分析,得到所述第一用户提议的问题和所述问题的候选答案;
[0023] 查询区块链是否记录有所述问题的既定答案;
[0024] 若查询命中,则拒绝所述目标提议和/或将所述区块链记录的所述问题的既定答案反馈至所述第一用户;
[0025] 若查询未命中,则向所述区块链的多个区块链节点发起针对所述目标提议的多方共识,并在所述多方共识通过后,接受所述目标提议,以及将所述候选答案作为所述问题的既定答案记录至所述区块链中。
[0026] 本申请实施例的方案采用区块链记录问题和对应的既定答案。若用户提议已有的问题和对应的候选答案,则可以从区块链查询相应的既定答案以决策是否接受用户提议。若用户提议的是全新的问题和对应的候选答案,则可以利用区块链的多方共识技术决定是否接受用户提议,并在接受后将用户提议的候选答案作为提议的问题的既定答案记录至区块链中。在实际应用中,可以将分布式系统的资源占用抽象成“资源是否可以被占用”的问题和“资源被谁占用或者资源已被占用”的答案。显然,这种方式下,区块链针对一个问题记录有唯一有效的既定答案,因此通过区块链决策是否接受用户对资源发起的占用提议,可实现分布式锁的功能。一方面,区块链是已有的数据库结构,不需要为分布式系统单独开发和维护分布锁程序,可降低实施成本并提高泛用性。另一方面,多方共识决定问题的既定答案可以使分布式系统去中心化,保证提议采用的公平性。
附图说明
[0027] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0028] 图1为本申请实施例提供的提议处理方法的第一种流程示意图。
[0029] 图2为本申请实施例提供的提议处理方法的第二种流程示意图。
[0030] 图3为本申请实施例提供的提议处理装置的结构示意图。
[0031] 图4为本申请实施例提供的电子设备的结构示意图。

具体实施方式

[0032] 为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0033] 如前所述,现有的分布式系统引用分布式锁,来防止不同的进程同时访问相同资源所产生的冲突或干扰。而分布式锁逻辑复杂,不易搭建和维护,具有较低的实用性。为此,本申请旨在提供一种以更为简单的方式在分布式系统中实现锁服务的技术方案。
[0034] 图1是本申请实施例基于区块链的提议处理方法的流程图。图1所示的方法可以由下文相对应的装置执行,包括:
[0035] 步骤S102,基于第一用户发起的目标提议,对目标提议进行分析,得到第一用户提议的问题和问题的候选答案。
[0036] 其中,目标提议携带有上述问题和上述候选答案。目标提议可以但不限于包括:第一用户占用目标资源的提议。对应分析获得的问题可以包括:“目标资源是否被占用?”。针对“目标资源是否被占用?”的候选答案可以包括:“第一用户占用目标资源”。
[0037] 为便于理解,下面对本步骤进行示例性介绍:
[0038] 当第一用户需要占用目标资源时,可以发起“我(第一用户)是否可以占用目标资源”的提议。本步骤对“我(第一用户)是否可以占用目标资源”进行语义分析,确定第一用户提议的问题是“目标资源是否被占用”以及第一用户提议的候选答案“(若目标资源没有被占用)我占用目标资源”。
[0039] 应理解,分析问题和答案的方式可以由分布式系统实际提供的服务确定,由于并不唯一,本申请实施例不作具体限定。
[0040] 步骤S104,查询区块链是否记录有问题的既定答案。
[0041] 其中,分布式系统通过区块链记录先前已经确定的问题的既定答案。具体地,本步骤可以将确定的既定答案与对应的问题关联存储在区块链的区块中。
[0042] 还是以步骤S102中所举示例作为介绍:
[0043] 若目标资源在第一用户发起目标提议前已被占用,则区块链来会记录目标资源的占用状态。该占用状态即为“目标资源是否被占用”的既定答案。
[0044] 步骤S106,若查询命中,则拒绝目标提议。
[0045] 在本申请实施例中,一个问题仅对应有唯一有效的答案,即既定答案。显然,若第一用户提议的问题存在既定答案,则不能再采纳第一用户发起的目标提议。
[0046] 还是以步骤S102中所举示例作为介绍:
[0047] 若区块链已有“目标资源是否被占用?”的既定答案,则可以表示其他用户已经抢先占用了目标资源,考虑到目标资源占用的互斥性,应拒绝第一用户发起的目标提议,或者在不接受第一用户占用目标资源的前提下,将“目标资源已被占用”的信息告知给第一用户。
[0048] 此外,本步骤在查询命中后还可以将区块链记录的问题的既定答案反馈至第一用户。
[0049] 步骤S108,若查询未命中,则向区块链的多个区块链节点发起针对目标提议的多方共识。
[0050] 应理解,多方共识的目的是多个区块链节点就第一用户所提出的目标提议达成共识,如果未达共识,则表示不认可第一用户所提出的候选答案,则是可以拒绝由第一用户发起的目标提议。如果达成共识,则表示认可第一用户所提出的候选答案,因此将候选答案作为目标提议中问题的既定答案记录至区块链中。
[0051] 还是以步骤S102中所举示例作为介绍:
[0052] 假设通过区块链未查询到既定答案,则表示“目标资源未被占用”,此时多个区块链节点就第一用户是否可以占用目标资源进行多方共识。其中,多方共识通过,则表示接受第一用户占用目标资源。多方共识未通过,则表示拒绝第一用户占用目标资源。
[0053] 步骤S110,若多方共识通过后,则接受目标提议,将候选答案作为上述问题的既定答案记录至区块链中。
[0054] 还是以步骤S102中所举示例作为介绍:
[0055] 若多个区块链节点认可第一用户占用目标资源,则本步骤将“目标资源已被(第一用户)占用”作为“目标资源是否可以占用”的既定答案,存储至区块链中。后续其他用户发起占用目标资源的提议时,可以从区块链中查询到“目标资源已被(第一用户)占用”,从而拒绝其他用户发起的占用目标资源的提议。
[0056] 基于图1所示的提议处理方法可以知道:本申请实施例的方案采用区块链记录问题和对应的既定答案。若用户提议已有的问题和对应的候选答案,则可以从区块链查询相应的既定答案以决策是否接受用户提议。若用户提议的是全新的问题和对应的候选答案,则可以利用区块链的多方共识技术决定是否接受用户提议,并在接受后将用户提议的候选答案作为提议的问题的既定答案记录至区块链中。在实际应用中,可以将分布式系统的资源占用抽象成“资源是否可以被占用”的问题和“资源被谁占用或者资源已被占用”的答案。显然,这种方式下,区块链针对一个问题记录有唯一有效的既定答案,因此通过区块链决策是否接受用户对资源发起的占用提议,可实现分布式锁的功能。一方面,区块链是已有的数据库结构,不需要为分布式系统单独开发和维护分布锁程序,可降低实施成本并提高泛用性。另一方面,多方共识决定问题的既定答案可以使分布式系统去中心化,保证提议采用的公平性。
[0057] 可选地,在上述基础之上,提议后被选为既定答案的用户可以对区块链中记录的该既定答案进行编辑或删除。即,本申请实施例的方法还包括:
[0058] 步骤S112,基于第二用户发起的针对所述问题的编辑请求或删除请求,判断区块链是否记录有上述问题的既定答案以及该既定答案是否由第三用户提议获得的。
[0059] 步骤S114,若区块链记录有上述问题的既定答案,且该既定答案是由第三用户提议获得的,则向第三用户开启用于编辑或删除区块链记录的该既定答案的功能。
[0060] 以目标资源占用为例,提议后被选为既定答案的用户即占用目标资源的用户,该用户如果不想继续占用目标资源时,可以主动通过操作删掉区块链记录的既定答案,从而使目标资源重新回到空闲状态,能够被其他用户所使用。
[0061] 此外,用户占用分布式系统中的资源也可以具有时效。本实施例的方法在将候选答案作为问题的既定答案记录至区块链中后,周期性判断既定答案针对问题的有效性,并在判断出既定答案针对问题失效后,删除区块链记录的问题的既定答案。
[0062] 以目标资源占用为例,某一用户占用目标资源的有效时长为一周,当占用时间达到一周后,则本申请实施例的方法可以主动删除区块链中针对该目标资源已被占用的既定答案,以目标资源处于空闲状态。
[0063] 下面对本申请实施例的方法进行详细介绍。
[0064] 本申请实施例的方法利用区块链来实现分布式锁的功能。具体地,将资源占用(也可以是资源访问)抽象成问题和答案,通过区块链的多方共识来决定问题唯一有效的既定答案并进行记录。当用户针对某一资源发起占用的提议时,抽象提取用户提议的问题,并尝试从区块链中查询该问题的既定答案。若查询命中,则基于既定答案决策是否接受用户发起的提议。若查询未命中,则通过区块链的多方共识方式,决定是否接受用户的提议,并在接受后将用户提议的候选答案作为提议的问题的既定答案记录至区块链中。
[0065] 其中,方法的执行主体可以但不限于是分布式系统中的任意节点。作为可行的一种方案,分布式系统中的节点也作为区块链中的区块链节点,以参与多方共识。
[0066] 对应的执行流程如图2所示,包括:
[0067] 步骤S201,接收第一用户发起的占用目标资源的目标提议。
[0068] 步骤S202,对目标提议进行分析,确定第一用户提议的问题和该问题对应的候选答案。
[0069] 在本步骤中,可以确定第一用户在目标提议中的意图,以确定第一用户提议的问题和对应候选答案。显然,第一用户发起目标提议的意图是为了占用目标资源,因此第一用户提议的问题可以但不限是“目标资源是否被占用?”,对应的候选答案(第一用户的需求)可以但不限是“由第一用户占用目标资源”。
[0070] 步骤S203,判断区块链中是否记录有“目标资源是否被占用”的既定答案。是,则执行步骤S204;否,则执行步骤S205。
[0071] 步骤S204,拒绝第一用户发起的目标提议,和/或,将区块链记录的“目标资源是否被占用”的既定答案反馈至第一用户。
[0072] 如前所述,查询命中则表示先前已经接受了其他用户占用目标资源的提议,因此可以直接拒绝第一用户发起提议。
[0073] 可选地,既定答案可以反馈更多的信息,比如是哪一个用户占用了目标资源和/或占用目标资源的有效时间。第一用户接受到了既定答案后,可以了解目标资源的占用情况,以便后续有需求时,重新再发起占用目标资源的提议。
[0074] 步骤S205,连接区块链中的目标区块链节点,向区块链的多个区块链节点发起针对目标提议的多方共识。
[0075] 其中,分布式系统的节点可以视为区块链中的区块链节点。因此本步骤中,可以由分布式系统的节点负责达到针对目标提议的多方共识。
[0076] 步骤S206,判断多方共识是否通过。是,则执行步骤S207;否,则执行步骤S210。
[0077] 步骤S207,判断目标区块链节点是否被选为区块链中的记账节点。是,则执行步骤S208;否,则执行步骤S209。
[0078] 步骤S208,在目标区块链节点对应的子区块链中添加记录有以候选答案作为问题的既定答案的区块,并将区块广播至区块链中的其他区块链节点。
[0079] 具体地,区块的区块头可以配置有用于检索既定答案的索引字段。作为其中一个可行方案:本申请实施例的方法可以将问题编译成字符串,由字符串作为区块头的索引字段。对应地,既定答案可以有是字符串+答案内容的组成结构。
[0080] 步骤S209,接收区块链中的其他节点所广播的记录有以候选答案作为问题的既定答案的区块,并将该区块添加至目标区块链节点对应的子区块链中。
[0081] 步骤S210,拒绝第一用户发起的目标提议,并告知第一用户目标提议未被审核通过。
[0082] 当然,实际应用中,复杂系统可能有多种不同领域和需求的共识问题,为了方便扩展及管理,防止不同领域的问题与答案相互混淆,可以在区块链中对问题进行空间化。即,本申请实施例的方法在确定问题的既定答案后,将问题、问题的既定答案和问题的类别关联记录至区块链中。问题的类别作为检索区块链中记录的问题的既定答案的索引。
[0083] 举例介绍:
[0084] 假设第一用户发起的目标提议为“周末团建去爬山”,则问题可以为“周末干什么?”,问题的类别为“团建”,提议的问题的候选答案是“周末去爬山”。如果通过多方共识,通过了目标提议,则可以将问题“周末干什么?”、问题类型“团建”、既定答案“周末去爬山”三个维度关联记录至区块链,形成空间化的数据结构。
[0085] 后续在搜索“周末干什么”的既定答案时,可以具体引入问题类型“团建”作为检索字段,从而精确查找到“周末去爬山”。
[0086] 同理,假设第一用户发起的目标提议为“周末加班去培训”,则问题可以为“周末干什么?”,问题的类别为“加班”,提议的问题的候选答案是“周末去培训”。如果通过多方共识,通过了目标提议,则可以将问题“周末干什么?”、问题类型“加班”、既定答案“周末去培训”三个维度关联记录至区块链,形成空间化数据结果。
[0087] 后续在搜索“周末干什么”的既定答案时,可以具体引入问题类型“加班”作为检索字段,从而精确查找到“周末去培训”的加班答案,而不是上述“周末去爬山”的团建答案。
[0088] 以上是对本申请实施例的方法的原理介绍。应理解,在不脱离本文上述原理基础之上,还可以进行适当的变化,这些变化也应视为本申请实施例的保护范围。比如,任何由问题和答案构成的提议都适用于本申请实施例的方法,其中,上文所述的解决分布式系统的资源占用问题仅是方案所实现的其中一种技术效果。
[0089] 下面结合实际的应用场景,对本申请实施例的方法进行详细介绍。
[0090] 在本应用场景中,分布式系统向用户开放不同种类的用户接口,比如:超文本传输协议接口、远程过程调用协议接口和软件开发工具包接口等,以为用户提供飞机票订购服务。
[0091] 假设用户A希望购买2019-2-4号CA01的L01座位的飞机票,则可以通过上述任意一种接口发起“我是否可以占有2019-2-4号CA01的L01座位”的提议。
[0092] 对于分布系统,不同接口对应有不同的购票平台,其他用户也可以通过任意的购票平台购买2019-2-4号CA01的L01座位的飞机票。假设用户A通过网页浏览器(即超文本传输协议接口)发起“我是否可以占有2019-2-4号CA01的L01座位”的提议,则网页浏览器的节点需要确定2019-2-4号CA01的L01座位的占用状态。
[0093] 具体地,网页浏览器的节点可以将用户A发起的“谁可以占有2019-2-4号CA01的L01座位”的提议抽象为“2019-2-4号CA01的L01座位是否被占有”的问题,以及“用户A占有2019-2-4号CA01的L01座位”的候选答案。
[0094] 应理解,“用户A占有2019-2-4号CA01的L01座位”是用户A为了购买飞机票提议的,并不是“谁可以占有2019-2-4号CA01的L01座位”的唯一答案。对于购买相同飞机票的其他用户来讲,提议的候选答案可以是“其他用户占有2019-2-4号CA01的L01座位”。对于本应用场景来讲,需要从这些候选答案中确定一个作为“谁可以占有2019-2-4号CA01的L01座位”的唯一有效的既定答案。
[0095] 网页浏览器的节点在抽象获取问题和候选答案后,从区块链中查询“谁可以占有2019-2-4号CA01的L01座位”的既定答案。
[0096] 这个查询过程用于告知用户A是否可以购买2019-2-4号CA01的L01座位的飞机票。
[0097] 如果查询命中,则表明2019-2-4号CA01的L01座位的已被占用,则告知用户A无法购买2019-2-4号CA01的L01座位的飞机票的结果。
[0098] 如果未查询命中,则需要向其他购票平台发起“用户A是否可以购买2019-2-4号CA01的L01座位的飞机票”的多方共识。这个多方共识过程可以公平性地验证用户A是否有资质购买2019-2-4号CA01的L01座位的飞机票。
[0099] 一旦多方共识通过,则表示其他购票平台认可用户A购买2019-2-4号CA01的L01座位的飞机票的提议,并将用户A提议的“用户A占有2019-2-4号CA01的L01座位”的候选答案作为“谁可以占有2019-2-4号CA01的L01座位”的既定答案。基于区块链的数据上链机制,负责记账的区块链节点生成记录既定答案的区块,所有购票平台在各自的子区块链中添加该区块。
[0100] 一旦“用户A占有2019-2-4号CA01的L01座位”的既定答案成功上链,其他用户不管是通过哪个购票平台发起购买2019-2-4号CA01的L01座位的飞机票的提议不会被通过。
[0101] 此外,用户A作为2019-2-4号CA01的L01座位的占有者,具有对区块链中记录的“谁可以占有2019-2-4号CA01的L01座位?”重新编辑的权利。比如,用户A可以发起退票操作,将“用户A占有2019-2-4号CA01的L01座位”的既定答案从区块链中删除,从而释放2019-2-4号CA01的L01座位的资源。
[0102] 此外,若用户A未发起退票,则在2019-2-4号CA01航班结束后,用户A购买的飞机票不再具有时效,分布式系统可以删掉区块链中记录有“用户A占有2019-2-4号CA01的L01座位”的既定答案。
[0103] 此外,其他用户也可以通过任何购票平台的接口,向区块链查询2019-2-4号CA01的L01座位是否被占用。
[0104] 综上所述,本申请实施例的方法通过区块链技术实现了分布式系统的锁服务。其中,通过区块链的多方共识算法可以保证用户提议能够被公平地处理,且少于一半的区块链节点不可用时,也能够保证多方共识正常执行。此外,用户提议在绝大部分的应用场景中都可以被抽象成问题和答案,因此本申请实施例的方案具有较高的通用性,且便于分布式系统拓展新的业务能。此外,用户可以通过分布式系统提供的任何平台接口发起提议,各平台接口在区块链中搭建的区块链节点极为灵活,使得方案实施更具有实用性。
[0105] 与上述方法相对应地,如图3所示,本申请实施例还提供一种基于区块链的信息反馈装置300,包括:
[0106] 提议分析模块310,基于第一用户发起的目标提议,对所述目标提议进行分析,得到所述第一用户提议的问题和所述问题的候选答案;其中,所述目标提议携带有所述问题和所述候选答案。
[0107] 答案查询模块320,若查询命中,则拒绝所述目标提议。
[0108] 第一提议处理模块330,若查询命中,则拒绝所述目标提议和/或将所述区块链记录的所述问题的既定答案反馈至所述第一用户。
[0109] 第二提议处理模块340,若查询未命中,则向所述区块链的多个区块链节点发起针对所述目标提议的多方共识。
[0110] 数据上链模块350,若所述多方共识通过后,接受所述目标提议,将所述候选答案作为所述问题的既定答案记录至所述区块链中。
[0111] 基于图3所示的提议处理装置可以知道:本申请实施例的方案采用区块链记录问题和对应的既定答案。若用户提议已有的问题和对应的候选答案,则可以从区块链查询相应的既定答案以决策是否接受用户提议。若用户提议的是全新的问题和对应的候选答案,则可以利用区块链的多方共识技术决定是否接受用户提议,并在接受后将用户提议的候选答案作为提议的问题的既定答案记录至区块链中。在实际应用中,可以将分布式系统的资源占用抽象成“资源是否可以被占用”的问题和“资源被谁占用或者资源已被占用”的答案。显然,这种方式下,区块链针对一个问题记录有唯一有效的既定答案,因此通过区块链决策是否接受用户对资源发起的占用提议,可实现分布式锁的功能。一方面,区块链是已有的数据库结构,不需要为分布式系统单独开发和维护分布锁程序,可降低实施成本并提高泛用性。另一方面,多方共识决定问题的既定答案可以使分布式系统去中心化,保证提议采用的公平性。
[0112] 可选地,若答案查询模块320查询命中,则第一提议处理模块330还可以将所述区块链记录的所述问题的既定答案反馈至所述第一用户。
[0113] 可选地,本申请实施例的装置还包括:
[0114] 第一处理模块,基于第二用户发起的针对所述问题的编辑请求或删除请求,判断区块链是否记录有所述问题的既定答案以及该既定答案是否由所述第三用户提议获得的。以及,若所述区块链记录有所述问题的既定答案,且该既定答案是由所述第三用户提议获得的,则向所述第三用户开启用于编辑或删除所述区块链记录的该既定答案的功能。
[0115] 可选地,本申请实施例的装置还包括:
[0116] 第二处理模块,在将所述候选答案作为所述问题的既定答案记录至所述区块链中后,周期性判断所述既定答案针对所述问题的有效性,并在判断出所述既定答案针对所述问题失效后,删除所述区块链记录的所述问题的既定答案。
[0117] 可选地,所述目标提议包括:第一用户占用目标资源的提议。所述问题包括:所述目标资源是否被占用的问题。所述候选答案包括:所述目标资源被所述第一用户占用的答案。
[0118] 可选地,数据上链模块具体将所述问题、所述问题的既定答案和所述问题的类别关联记录至所述区块链中;其中,所述问题的类别作为检索所述区块链中记录的所述问题的既定答案的索引。
[0119] 可选地,所述目标提议是所述第一用户通过以下任意一种接口所发起:
[0120] 长文本传输协议接口、远程过程调用协议接口和软件开发工具包接口。
[0121] 显然,本申请实施例的装置可以作为上述图1所示的方法的执行主体,因此该装置能够实现方法在图1和图2所实现的功能。由于原理相同,本文不再赘述。
[0122] 图4是本申请的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
[0123] 处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0124] 存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
[0125] 处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成问答对数据挖掘装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
[0126] 基于第一用户发起的目标提议,对所述目标提议进行分析,得到所述第一用户提议的问题和所述问题的候选答案;其中,所述目标提议携带有所述问题和所述候选答案;
[0127] 查询区块链是否记录有所述问题的既定答案;
[0128] 若查询命中,则拒绝所述目标提议;
[0129] 若查询未命中,则向所述区块链的多个区块链节点发起针对所述目标提议的多方共识;以及,
[0130] 若所述多方共识通过后,则接受所述目标提议,将所述候选答案作为所述问题的既定答案记录至所述区块链中。
[0131] 基于图4所示的电子设备额可以知道:本申请实施例的方案采用区块链记录问题和对应的既定答案。若用户提议已有的问题和对应的候选答案,则可以从区块链查询相应的既定答案以决策是否接受用户提议。若用户提议的是全新的问题和对应的候选答案,则可以利用区块链的多方共识技术决定是否接受用户提议,并在接受后将用户提议的候选答案作为提议的问题的既定答案记录至区块链中。在实际应用中,可以将分布式系统的资源占用抽象成“资源是否可以被占用”的问题和“资源被谁占用或者资源已被占用”的答案。显然,这种方式下,区块链针对一个问题记录有唯一有效的既定答案,因此通过区块链决策是否接受用户对资源发起的占用提议,可实现分布式锁的功能。一方面,区块链是已有的数据库结构,不需要为分布式系统单独开发和维护分布锁程序,可降低实施成本并提高泛用性。另一方面,多方共识决定问题的既定答案可以使分布式系统去中心化,保证提议采用的公平性。
[0132] 上述如本申请图1所示实施例揭示的提议处理方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0133] 应理解,本申请实施例的电子设备可以实现上述装置在图1和图2所示的实施例的功能,本文不再赘述。
[0134] 当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0135] 此外,本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下方法:
[0136] 基于第一用户发起的目标提议,对所述目标提议进行分析,得到所述第一用户提议的问题和所述问题的候选答案;其中,所述目标提议携带有所述问题和所述候选答案;
[0137] 查询区块链是否记录有所述问题的既定答案;
[0138] 若查询命中,则拒绝所述目标提议;
[0139] 若查询未命中,则向所述区块链的多个区块链节点发起针对所述目标提议的多方共识;以及,
[0140] 若所述多方共识通过后,则接受所述目标提议,将所述候选答案作为所述问题的既定答案记录至所述区块链中。
[0141] 应理解,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使上文所述的提议处理装置实现图1和图2所示实施例的功能,本文不再赘述。
[0142] 本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0143] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0144] 以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈