基于区块链系统的投票方法、装置、设备及存储介质制造方法及图纸

技术编号:24893499 阅读:21 留言:0更新日期:2020-07-14 18:19
本申请公开了一种基于区块链系统的投票方法、装置、设备及存储介质,属于区块链技术领域。本申请通过响应于投票指令,获取投票指令携带的目标候选用户的第一账户标识、投票用户的第二账户标识以及目标投票项目的项目标识;对投票用户的投票资格进行校验,以确保各个候选用户所获得选票的有效性;响应于校验通过,触发资源转移事件,将第二账户中的目标资源转移至第一账户,完成投票;再将资源转移事件的描述信息存储至区块链系统的区块链上。应用上述技术方案,以在区块链系统中进行资源转移的形式来进行投票,由区块链记录投票信息,根据区块链的分布式存储、去中心化的特征,可以有效避免出现单点故障,提高数据安全性。

【技术实现步骤摘要】
基于区块链系统的投票方法、装置、设备及存储介质
本申请涉及区块链
,特别涉及一种基于区块链系统的投票方法、装置、设备及存储介质。
技术介绍
随着互联网技术的发展,电子投票逐渐代替传统的投票方式,被广泛应用在日常生活中。当开始一个投票项目时,用户可以通过电子投票系统进行线上投票,在投票项目结束时,由电子投票系统自动统计票数,或者由系统管理进行票数统计,得到投票结果。但是,在上述投票过程中,应用的电子投票系统通常是采用传统的系统架构设计,部署在单一的服务器中,容易被攻击而发生单点故障,进而导致投票数据丢失、用户数据泄漏等问题,投票的安全性较低。
技术实现思路
本申请实施例提供了一种基于区块链系统的投票方法、装置、设备及存储介质,可以提高投票的安全性,避免数据丢失。该技术方案如下:一方面,提供了一种基于区块链系统的投票方法,该方法包括:响应于投票指令,获取该投票指令携带的目标候选用户的第一账户标识、投票用户的第二账户标识以及目标投票项目的项目标识;对该投票用户的投票资格进行校验;响应于校验通过,触发资源转移事件,该资源转移事件用于指示将第二账户中的目标资源转移至第一账户,该目标资源的数量用于指示投票数量;将该资源转移事件的描述信息存储至该区块链系统的区块链上,该资源转移事件的描述信息包括该目标投票项目的项目标识、该第一账户标识、该第二账户标识以及该目标资源的数量。一方面,提供了一种基于区块链系统的投票装置,该装置包括:获取模块,用于响应于投票指令,获取该投票指令携带的目标候选用户的第一账户标识、投票用户的第二账户标识以及目标投票项目的项目标识;校验模块,用于对该投票用户的投票资格进行校验;资源转移模块,用于响应于校验通过,触发资源转移事件,该资源转移事件用于指示将第二账户中的目标资源转移至第一账户,该目标资源的数量用于指示投票数量;存储模块,用于将该资源转移事件的描述信息存储至该区块链系统的区块链上,该资源转移事件的描述信息包括该目标投票项目的项目标识、该第一账户标识、该第二账户标识以及该目标资源的数量。在一种可能实现方式中,该分配模块,用于响应于对该目标投票项目的候选用户添加指令,为各个候选用户分配该第一账户标识;该存储模块,用于将该各个候选用户的该第一账户标识存储至该目标数据库中。在一种可能实现方式中,该获取模块,用于响应于对该目标投票项目的投票用户添加指令,获取该投票用户添加指令所携带的各个投票用户的邮箱地址;该分配模块,用于为该各个投票用户分配该第二账户标识以及该目标资源以及投票页面的网络地址,该投票页面用于提供对该目标项目进行投票的功能;该存储模块,用于将该各个投票用户的该第二账户标识、该邮箱地址以及该网络地址存储至该目标数据库中。在一种可能实现方式中,该装置还包括:节点确定模块,用于确定该投票用户添加指令的指令发送节点;验证模块,用于基于该各个投票用户的邮箱地址以及该投指令发送节点,对该投票用户添加指令进行验证;若验证通过,则执行为该各个投票用户分配该第二账户标识、该目标资源以及投票页面的网络地址的步骤。在一种可能实现方式中,该验证模块用于:判断该指令发送节点是否为管理员节点;若该指令发送节点不是该管理员节点,则验证失败;若该指令发送节点是该管理员节点,则判断该各个投票用户的邮箱地址与该目标数据库中存储的邮箱地址是否相同;若相同,则验证失败;若不同,则验证通过。在一种可能实现方式中,该获取模块,用于基于该第二账户标识,从该目标数据库中获取该投票用户对应的网络地址;该装置还包括判断模块,用于判断该投票指令所对应投票页面的网络地址与该投票用户对应的网络地址是否相同;若相同,则执行对该投票用户的投票资格进行校验的步骤;若不同,则执行向该投票用户发送投票无效的提示信息的步骤。在一种可能实现方式中,该目标数据库中存储有该投票用户的投票状态信息,该投票状态信息用于指示该投票用户是否已在该目标投票项目中进行投票。在一种可能实现方式中,该校验模块用于:基于该第二账户标识,从该目标数据库中获取该投票用户的投票状态信息;基于该投票状态信息,确定该投票用户是否已在该目标投票项目中进行投票;若该投票用户已投票,则校验失败;若该投票用户未投票,则校验通过。在一种可能实现方式中,该存储模块用于:响应于该目标资源转移完成,生成该资源转移事件的描述信息;将该资源转移事件的描述信息广播至该区块链系统的各个节点;若包含该资源转移事件的描述信息的区块共识通过,则将该区块储至该区块链系统的区块链上。在一种可能实现方式中,该获取模块,用于响应于该目标投票项目的有效期结束,基于各个候选用户的第一账户标识,获取该各个候选用户对应的该目标资源的数量;该装置还包括选票确定模块,用于基于该各个候选用户对应的该目标资源的数量以及目标转换标准,确定该各个候选用户对应的选票数量;该装置还包括发送模块,用于将该各个候选用户对应的选票数量发送给该各个候选用户以及各个投票用户。一方面,提供了一种计算机设备,该计算机设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器加载并执行以实现该基于区块链系统的投票方法所执行的操作。一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现该基于区块链系统的投票方法所执行的操作。本申请实施例提供的技术方案,通过响应于投票指令,获取投票指令携带的目标候选用户的第一账户标识、投票用户的第二账户标识以及目标投票项目的项目标识;对投票用户的投票资格进行校验,以确保各个候选用户所获得选票的有效性;响应于校验通过,触发资源转移事件,将第二账户中的目标资源转移至第一账户,以完成投票;再将资源转移事件的描述信息存储至区块链系统的区块链上,由于存储在区块链上的数据不可篡改的特征,可以确保投票数据不会丢失,确保用户数据安全。应用上述技术方案,以在区块链系统中进行资源转移的形式来进行投票,由区块链记录投票信息,根据区块链的分布式存储、去中心化的特征,可以有效避免出现单点故障,提高数据安全性。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的一种区块链系统100的示意图;图2是本申请实施例提供的一种基于区块链系统的投票创建方法的流程图;图3是本申请实施例提供的一种账户地址生成方法的示意图;图4是本申请实施例提供的一种钱包本文档来自技高网...

【技术保护点】
1.一种基于区块链系统的投票方法,其特征在于,应用于区块链系统中的节点设备,所述方法包括:/n响应于投票指令,获取所述投票指令携带的目标候选用户的第一账户标识、投票用户的第二账户标识以及目标投票项目的项目标识;/n对所述投票用户的投票资格进行校验;/n响应于校验通过,触发资源转移事件,所述资源转移事件用于指示将第二账户中的目标资源转移至第一账户,所述目标资源的数量用于指示投票数量;/n将所述资源转移事件的描述信息存储至所述区块链系统的区块链上,所述资源转移事件的描述信息包括所述目标投票项目的项目标识、所述第一账户标识、所述第二账户标识以及所述目标资源的数量。/n

【技术特征摘要】
1.一种基于区块链系统的投票方法,其特征在于,应用于区块链系统中的节点设备,所述方法包括:
响应于投票指令,获取所述投票指令携带的目标候选用户的第一账户标识、投票用户的第二账户标识以及目标投票项目的项目标识;
对所述投票用户的投票资格进行校验;
响应于校验通过,触发资源转移事件,所述资源转移事件用于指示将第二账户中的目标资源转移至第一账户,所述目标资源的数量用于指示投票数量;
将所述资源转移事件的描述信息存储至所述区块链系统的区块链上,所述资源转移事件的描述信息包括所述目标投票项目的项目标识、所述第一账户标识、所述第二账户标识以及所述目标资源的数量。


2.根据权利要求1所述的方法,其特征在于,所述响应于投票指令,获取所述投票指令携带的目标候选用户的第一账户标识、投票用户的第二账户标识以及目标投票项目的项目标识之前,所述方法还包括:
接收对所述目标投票项目的创建指令,所述创建指令携带有所述目标投票项目的有效期信息;
为所述目标投票项目分配项目标识;
将所述投票项目的项目标识以及所述有效期信息,存储至目标数据库中,所述目标数据库用于存储所述目标投票项目的项目信息。


3.根据权利要求2所述的方法,其特征在于,所述将所述投票项目的项目标识以及所述有效期信息,存储至目标数据库中之后,所述方法还包括:
响应于对所述目标投票项目的候选用户添加指令,为各个候选用户分配所述第一账户标识;
将所述各个候选用户的所述第一账户标识存储至所述目标数据库中。


4.根据权利要求2所述的方法,其特征在于,所述将所述投票项目的项目标识以及所述有效期信息,存储至目标数据库中之后,所述方法还包括:
响应于对所述目标投票项目的投票用户添加指令,获取所述投票用户添加指令所携带的各个投票用户的邮箱地址;
为所述各个投票用户分配所述第二账户标识、所述目标资源以及投票页面的网络地址,所述投票页面用于提供对所述目标项目进行投票的功能;
将所述各个投票用户的所述第二账户标识、所述邮箱地址以及所述网络地址存储至所述目标数据库中。


5.根据权利要求4所述的方法,其特征在于,所述为所述各个投票用户分配所述第二账户标识、所述目标资源以及投票页面的网络地址之前,所述方法还包括:
确定所述投票用户添加指令的指令发送节点;
基于所述各个投票用户的邮箱地址以及所述指令发送节点,对所述投票用户添加指令进行验证;
若验证通过,则执行为所述各个投票用户分配所述第二账户标识、所述目标资源以及投票页面的网络地址的步骤。


6.根据权利要求5所述的方法,其特征在于,所述基于所述各个投票用户的邮箱地址以及所述指令发送节点,对所述投票用户添加指令进行验证,包括:
判断所述指令发送节点是否属于管理员节点;
若所述指令发送节点不属于所述管理员节点,则验证失败;
若所述指令发送节点属于所述管理员节点,则判断所述各个投票用户的邮箱地址与所述目标数据库中存储的邮箱地址是否相同;
若相同,则验证失败;若不同,则验证通过。


7.根据权利要求4所述的方法,其特征在于,所述响应于投票页面投票指令,获取所述投票指令携带的目标候选用户的第一账户标识、投票用户的第二账户标识以及目标投票项目的项目标识之后,所述方法还包括:
基于所述第二账户标识,从所述目标数据库中获取所述投票用户对应的网络地址;
判断所述投票指令所对应投票页面的网络地址与所述投票用户对应的网...

【专利技术属性】
技术研发人员:庄尔悦刘啸南王金华
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1