本申请涉及区块链
技术领域:
,具体而言,本申请涉及一种投票结果的生成与统计方法、装置及电子设备。
背景技术:
:投票调查在人类生活中扮演着重要的角色,在一些应用场景下,需要进行匿名投票。区块链具有去中心化、透明公开、数据不可修改等优势,越来越受到人们的重视。目前在区块链上进行匿名投票多通过以下方式:第一种,设立审计节点记录投票信息,同时去除投票者的身份信息。第二种,利用盲签名、环签名、同态等密码学等技术发放投票权,利用环签名技术隐藏投票者的身份。上述的第一种匿名投票方式需要设立审计节点,并且依赖审计节点的中立性,否则投票信息将被直接泄露,其不符合区块链去中心化的精神。上述的第二种匿名投票方式通过密码学技术虽然可以达到目的,但需要进行密码学计算,使得投票效率变低,尤其不利于大规模投票情形。因此,现有的区块链上进行匿名投票的方式均存在一定缺陷,亟需提供一种高效、可靠的匿名投票方案。技术实现要素:本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:第一方面,本申请实施例提供了一种投票结果的生成方法,该方法包括:接收投票交易请求,投票交易请求中携带有至少一个投票题目以及对应的投票选项;获取用户对各投票题目的真实投票结果;生成预设题目数量的随机投票结果,并基于真实投票结果以及随机投票结果生成目标投票结果,其中,随机投票结果中的各选项的具有相同的被选择概率。可选地,生成预设题目数量的随机投票结果,包括:从投票题目中随机选取预设题目数量的随机题目;分别为各随机题目确定随机投票结果。可选地,从投票题目中随机选取预设题目数量的随机题目,包括:基于用户的秘密值,投票摘要以及投票题目的题号,从投票题目中随机选取预设题目数量的随机题目。可选地,基于用户的秘密值,投票摘要以及投票题目的题号,从投票题目中随机选取预设题目数量的随机题目,包括:基于用户的秘密值,投票摘要以及投票题目的题号进行哈希运算得到运算结果;基于运算结果的奇偶性,从投票题目中随机选取预设题目数量的随机题目。第二方面,本申请实施例提供了一种投票结果的统计方法,该方法包括:接收多个投票节点发出的对各投票题目的目标投票结果;对各投票节点的目标投票结果进行统计,得到目标投票结果统计值;基于目标投票结果对应的题目总数以及目标投票结果中的随机投票结果所对应的预设题目数量,并基于目标投票结果统计值,确定各投票题目的真实投票结果统计值。可选地,对各投票节点的目标投票结果进行统计,得到目标投票结果统计值,包括:对各投票节点的目标投票结果进行统计,得到各投票题目的初始投票结果统计值;若初始投票结果统计值满足预设条件,则将初始投票结果统计值确定为目标投票结果统计值。可选地,上述方法还包括:若初始投票结果统计值不满足预设条件,则基于不满足预设条件初始投票结果对应的投票题目生成投票请求,并将投票请求发送至区块链。第三方面,本申请实施例提供了一种投票结果的生成装置,该装置包括:请求接收模块,用于接收投票交易请求,投票交易请求中携带有至少一个投票题目以及对应的投票选项;真实投票结果获取模块,用于获取用户对各投票题目的真实投票结果;目标投票结果生成模块,用于生成预设题目数量的随机投票结果,并基于真实投票结果以及随机投票结果生成目标投票结果,其中,随机投票结果中的各选项的具有相同的被选择概率。可选地,目标投票结果生成模块在生成预设题目数量的随机投票结果时,具体用于:从投票题目中随机选取预设题目数量的随机题目;分别为各随机题目确定随机投票结果。可选地,目标投票结果生成模块在从投票题目中随机选取预设题目数量的随机题目时,具体用于:基于用户的秘密值,投票摘要以及投票题目的题号,从投票题目中随机选取预设题目数量的随机题目。可选地,目标投票结果生成模块在基于用户的秘密值,投票摘要以及投票题目的题号,从投票题目中随机选取预设题目数量的随机题目时,具体用于:基于用户的秘密值,投票摘要以及投票题目的题号进行哈希运算得到运算结果;基于运算结果的奇偶性,从投票题目中随机选取预设题目数量的随机题目。第四方面,本申请实施例提供了一种投票结果的统计装置,该装置包括:目标投票结果接收模块,用于接收多个投票节点发出的对各投票题目的目标投票结果;目标投票结果统计模块,用于对各投票节点的目标投票结果进行统计,得到目标投票结果统计值;真实投票结果统计模块,用于对基于目标投票结果对应的题目总数以及目标投票结果中的随机投票结果所对应的预设题目数量,并基于目标投票结果统计值,确定各投票题目的真实投票结果统计值。可选地,目标投票结果统计模块具体用于:对各投票节点的目标投票结果进行统计,得到各投票题目的初始投票结果统计值;若初始投票结果统计值满足预设条件,则将初始投票结果统计值确定为目标投票结果统计值。可选地,上述装置还包括:投票请求广播模块,用于在初始投票结果统计值不满足预设条件时,基于不满足预设条件初始投票结果对应的投票题目生成投票请求,并将投票请求发送至区块链。第五方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;存储器,用于存储操作指令;处理器,用于通过调用操作指令,执行如本申请的第一方面的任一实施方式中所示的投票结果的生成方法或者本申请的第二方面的任一实施方式中所示的投票结果的统计方法。第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请的第一方面的任一实施方式中所示的投票结果的生成方法或者本申请的第二方面的任一实施方式中所示的投票结果的统计方法。本申请实施例提供的技术方案带来的有益效果是:本申请实施提供的方案,通过接收投票交易请求,并获取用户对各投票题目的真实投票结果,生成预设题目数量的随机投票结果,并基于真实投票结果以及随机投票结果生成目标投票结果。本方案中生成的目标投票结果能够用于对投票的统计,从而实现了匿名投票,克服了现有的匿名投票方式中存在的缺陷,同时具有更高效可靠的优点。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。图1为本申请实施例提供的一种投票结果的生成方法的流程示意图;图2为本申请实施例提供的一种投票结果的生成方法的具体实施方式的流程示意图图3为本申请实施例提供的一种投票结果的统计方法的流程示意图;图4为本申请实施例提供的统计投票结果的流程示意图;图5为本申请实施例提供的一种投票结果的生成装置的结构示意图;图6为本申请实施例提供的一种投票结果的统计装置的结构示意图;图7为本申请实施例提供的一种电子设备的结构示意图。具体实施方式下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。本
技术领域:
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。图1示出了本申请实施例提供的一种投票结果的生成方法的流程示意图,如图1所示,该方法主要可以包括:步骤s110:接收投票交易请求,投票交易请求中携带有至少一个投票题目以及对应的投票选项;步骤s120:获取用户对各投票题目的真实投票结果;步骤s130:生成预设题目数量的随机投票结果,并基于真实投票结果以及随机投票结果生成目标投票结果,其中,随机投票结果中的各选项的具有相同的被选择概率。本申请实施例中,用户可以通过客户端发送投票交易请求到区块链节点,投票交易请求中携带的信息可以包括:投票内容(问卷)、可以投票的用户、投票有效时间(起始时间和终止时间)、投票摘要digest、签名。其中,digest=hash(投票内容,可以投票的用户,投票有效时间)。区块链节点在接收到用户发送的投票交易请求时,可以对投票交易请求进行验证,具体而言,可以验证签名是否合法,如不合法,则可以判断交易无效。如合法,则可以继续验证交易内容的合法性。如果合法,则响应客户端;如果不合法,提示交易无效,返回提示信息给客户端。区块链节点在对接收到用户发送的投票交易请求验证通过时,可以将投票交易请求发送至共识节点集,由共识节点处理,打包交易,生成新的区块。新的区块在经共识后,全网广播,发送新的区块给全网节点。区块链中的节点在收到包含该投票请求的经过共识的区块,反馈投票内容已上链的信息给客户端。本申请实施例提供的方法可以应用于投票节点,投票节点在解析出投票交易请求时可进行响应。具体而言,可以在投票之前验证是否在投票有效期内,若不在,投票节点不进行投票;若在则验证发起投票交易请求的用户是否是可投票的用户,若不是,投票节点不进行投票;若是,投票节点进行投票。本申请实施例中,投票节点可以获取用户对各投票题目的真实投票结果,而后生成预设题目数量的随机投票结果,并基于真实投票结果以及随机投票结果生成目标投票结果。由于目标投票结果是基于随机投票结果与真实投票结果生成的,通过目标投票结果进行投票的统计时,能够实现对真实投票结果的隐藏,从而实现匿名投票。本申请实施例中,随机投票结果中的各选项的具有相同的被选择概率,例如,当存在四个投票选项时,各投票选项被选择的概率均为25%。因此在进行投票结果统计时,能够基于随机投票结果对应的预设题目数量来推导真实投票结果,为从目标投票结果中确定出真实投票结果提供了基础。本申请实施例中,由于是通过区块链上的投票节点进行投票,因此能够避免设置审计节点,避免了因审计节点不可靠导致的投票信息泄露。本申请实施例中,投票节点无需通过密码学技术隐藏投票者的身份,也就避免了进行密码学计算,保证投票效率。本申请实施提供的方法,通过接收投票交易请求,并获取用户对各投票题目的真实投票结果,生成预设题目数量的随机投票结果,并基于真实投票结果以及随机投票结果生成目标投票结果。本方案中生成的目标投票结果能够用于对投票的统计,从而实现了匿名投票,克服了现有的匿名投票方式中存在的缺陷,同时具有更高效可靠的优点。本申请实施例的一种可选方式中,生成预设题目数量的随机投票结果,包括:从投票题目中随机选取预设题目数量的随机题目;分别为各随机题目确定随机投票结果。本申请实施例中,可以从投票题目中随机选取预设题目数量的随机题目,并分别为各随机题目确定随机投票结果。由于随机题目是随机选择得出的,因此无法从目标投票结果中区分出真实投票结果以及随机投票结果,依次保证投票结果的匿名性。本申请实施例的一种可选方式中,从投票题目中随机选取预设题目数量的随机题目,包括:基于用户的秘密值,投票摘要以及投票题目的题号,从投票题目中随机选取预设题目数量的随机题目。本申请实施例中,可以在用户注册时,随机生成用户的秘密值,用于计算投票随机值。用户的秘密值由用户自己存储,无需上链。在实际使用中,也可以在每次参与投票时临时生成秘密值。基于用户的秘密值,投票摘要以及投票题目的题号,从投票题目中随机选取预设题目数量的随机题目,包括:基于用户的秘密值,投票摘要以及投票题目的题号进行哈希运算的运算结果;基于运算结果的奇偶性,从投票题目中随机选取预设题目数量的随机题目。本申请实施例的一种可选方式中,基于用户的秘密值,投票摘要以及投票题目的题号,从投票题目中随机选取预设题目数量的随机题目,包括:基于用户的秘密值,投票摘要以及投票题目的题号进行哈希运算得到运算结果;基于运算结果的奇偶性,从投票题目中随机选取预设题目数量的随机题目。本申请实施例中,选取随机题目的具体方式可以为,基于用户的秘密值,投票摘要以及投票题目的题号进行哈希运算的运算结果,基于运算结果的奇偶性,从投票题目中随机选取预设题目数量的随机题目。例如,当题号对应的运算结果的偶数时,该题号对应的题目可以被确定为随机题目,并从投票选项中随机选择投票结果。当题号对应的运算结果的奇数时,该题号对应的题目可以被确定为不是随机题目,可以将该题号对应的真实投票结果作为最终的投票结果。在实际使用中,随机题目的指定方式可以包含多种,例如可以将运算结果除以3,将不能被3整除的运算结果对应的投票题目确定随机题目。作为一个示例,图2中示出了本申请实施例提供的一种投票结果的生成方法的具体实施方式的流程示意图。如图2中所示,投票节点收到新的区块,解析投票交易,响应投票;投票交易信息包括:投票内容(问卷)、可以投票的用户、投票有效时间(起始时间和终止时间)、投票摘要digest、签名。验证是否在投票有效期内,如果是,继续进行下一步验证;否则,节点不投票;验证是否是可投票的用户,如果是,继续下一步,否则,节点不投票。假设整个投票问卷共有m道题,初始化变量i,i=0,i+1为第1道题;如果i<m,则执行下一步;i=i+1;利用投票摘要digest、自己的秘密值secret、题号i,计算第i道题的投票随机值xi=hash(digest,secret,i);判断随机数xi是否为偶数;如果xi为偶数,则选择随机投票;调用random函数生成随机数k,再计算k%n+1,(即k与n进行模运算,运算结果加1),对该结果对应的选项进行投票。例如:某题有4个选项(a、b、c、d),则n=4;调用random函数生成随机数k=8,k%n+1=8%4+1=1,则选择a选项作为随机投票结果。如果xi为奇数,则按自身真实想法投票。循环计算下一笔,直到问卷中所有题号遍历完成;当i≥m,循环结束,整个问卷完成投票,发送投票结果给发起投票的节点。图3示出了本申请实施例提供的一种投票结果的统计方法的流程示意图,如图3所示,该方法主要可以包括:步骤s210:接收多个投票节点发出的对各投票题目的目标投票结果;步骤s220:对各投票节点的目标投票结果进行统计,得到目标投票结果统计值;步骤s230:基于目标投票结果对应的题目总数以及目标投票结果中的随机投票结果所对应的预设题目数量,并基于目标投票结果统计值,确定各投票题目的真实投票结果统计值。本申请实施例中,区块链中的任何节点均可以进行对投票结果的统计,作为一个示例,可以由投票发起节点进行对投票结果的统计。本申请实施例中,可以将进行对投票结果的统计的节点记为投票统计节点,投票统计节点可以统计各投票节点的目标投票结果,并进行统计,得到目标投票结果统计值。由于随机投票结果所对应的预设题目数量可以被预先指定,同时随机投票结果中的各选项的具有相同的被选择概率,因此,随机投票结果统计值可以被预期,从目标投票结果统计值中减去随机投票结果统计值,可以确定出真实投票结果统计值,从而实现对真实投票结果的统计。本申请实施例中,投票统计节点可以在投票终止时间之前,统计用户目标投票结果。在统计了用户的目标投票结果之后,可以验证用户是否在有效时间范围内完成投票,如果未在有效时间范围内完成投票,则视为投票无效,终止投票统计。如果在有效时间范围内完成投票,则可以验证用户是否在有效投票用户集合中,如果用户未在有效投票用户集合中,则终止投票统计。果用户在有效投票用户集合中,则验证统计到的投票信息是否是重复投票,如果是重复投票,则不重复计票(只统计一次),否则,进行计票。在进行投票统计时,可以将投票摘要作为索引值,对问卷中逐个题号的选项进行统计,每个选项的投票结果呈累加状态。例如:投票摘要为digest1,每个题号中的每个选项投票统计结果如表1中所示。表1对表1中的目标投票结果进行统计,得出:题号1:{a:2,b:1},选a的2票,选b的1票。题号2:{a:1,b:1,c:1},选a的1票,选b的1票,选c的1票。题号3:{a:1,b:0,c:0,d:2},选a的1票,选b的0票,选c的0票,选d的2票。表1中的每个选项投票数一栏可以不在统计结果中直接呈现,可以用投票摘要作为索引单独存储。本申请实施提供的方法,通过接收多个投票节点发出的对各投票题目的目标投票结果,并对各投票节点的目标投票结果进行统计,得到目标投票结果统计值,从而基于目标投票结果对应的题目总数以及目标投票结果中的随机投票结果所对应的预设题目数量,并基于目标投票结果统计值,确定各投票题目的真实投票结果统计值。基于本方案,能够实现对真实投票结果的统计,实现了匿名投票,克服了现有的匿名投票方式中存在的缺陷,同时具有更高效可靠的优点。本申请实施例的一种可选方式中,对各投票节点的目标投票结果进行统计,得到目标投票结果统计值,包括:对各投票节点的目标投票结果进行统计,得到各投票题目的初始投票结果统计值;若初始投票结果统计值满足预设条件,则将初始投票结果统计值确定为目标投票结果统计值。目前,现有的匿名投票无法对参与者随意投票(不负责投票)的情况进行甄别,而这种随意投票会对影响投票结果的准确性。本申请实施例中,可以对各投票题目的初始投票结果统计值设定预设条件,当初始投票结果统计不满足预设条件时,可以认为该投票题目的投票结果可能不准确,则可以舍弃该投票题目的投票结果。在实际使用中,预设条件可以设定为参考阈值,认为初始投票结果统计值大于参考阈值时,对应的投票结果是可信的。作为一个示例,参考阈值可以通过如下方式确定:(1)设置该问卷中每道题中的每个选项的参考阈值为p',该示例中,预设题目数量为题目总数的1/2,此时其中可以用理论阈值p=1/2*1/n,作为参考,同时根据参与投票的人数设置p'。其中n为该题选项的总数;表2中为投票结果统计情况:表2选项随机投票真实投票a1/np1b1/np2c1/np3d1/np4………………第n个选项1/npn根据实际统计人数和误差,真实阈值可以略小。例如:该题号共有4个选项(a、b、c、d),随机投票每个选项的概率都为1/4,真实投票的概率分别为p1、p2、p3、p4。所以理论阈值为p=1/2*1/4=0.125。假设有10000个有效节点参与投票,考虑误差,可设置该题的参考阈值p'为0.11,即每个选项的投票比例均需要大于等于0.11。本申请实施例的一种可选方式中,上述方法还包括:若初始投票结果统计值不满足预设条件,则基于不满足预设条件初始投票结果对应的投票题目生成投票请求,并将投票请求发送至区块链。本申请实施例中,可以将初始投票结果统计值不满足预设条件的投票题目确定为无效题目,可以记录无效题目的题号,并将无效题目筛选出来,针对无效题目生成投票请求,并将投票请求发送至区块链,重新统计投票结果。本申请实施例中,可以根据条件概率,计算真实投票结果的统计值。表3选项随机投票真实投票a1/np1b1/np2c1/np3d1/np4………………第n个选项1/npn如表3中所示,p1p2……pn为各投票选项真实投票结果的统计值,n为投票选项的总数。由表3中可以第n个选项的概率(即目标投票结果统计值)为:pn'=0.5*1/n+0.5*pn,根据该公式可以反解出pn,即:作为一个示例,图4中示出了本申请实施例提供的统计投票结果的的流程示意图,如图4中所示:a)输入统计结果表(即统计的目标投票结果);b)问卷共有m道题,初始化变量i,i=0,i+1为第1道题;c)当i<m时,则执行下一步;d)i=i+1;e)第i道题共有n个选项;f)判断第i道题中的每个选项的统计结果是否大于等于参考阈值;如果满足,则该题投票结果属于有效投票,并输出题号以及该题的统计结果;如果不满足,则为无效投票,将无效的题号筛选出来重新生成新的问卷,并重新发起投票请求到区块链网络,重新统计投票结果,完成对整个问卷的投票结果统计;循环计算下一笔,直到问卷所有题号的选项都遍历完成;g)当i≥m,循环结束,整个问卷投票结果检查完成。基于与图1中所示的方法相同的原理,图5示出了本申请实施例提供的一种投票结果的生成装置的结构示意图,如图5所示,该投票结果的生成装置30可以包括:请求接收模块310,用于接收投票交易请求,投票交易请求中携带有至少一个投票题目以及对应的投票选项;真实投票结果获取模块320,用于获取用户对各投票题目的真实投票结果;目标投票结果生成模块330,用于生成预设题目数量的随机投票结果,并基于真实投票结果以及随机投票结果生成目标投票结果,其中,随机投票结果中的各选项的具有相同的被选择概率。本申请实施提供的装置,通过接收投票交易请求,并获取用户对各投票题目的真实投票结果,生成预设题目数量的随机投票结果,并基于真实投票结果以及随机投票结果生成目标投票结果。本方案中生成的目标投票结果能够用于对投票的统计,从而实现了匿名投票,克服了现有的匿名投票方式中存在的缺陷,同时具有更高效可靠的优点。可选地,目标投票结果生成模块在生成预设题目数量的随机投票结果时,具体用于:从投票题目中随机选取预设题目数量的随机题目;分别为各随机题目确定随机投票结果。可选地,目标投票结果生成模块在从投票题目中随机选取预设题目数量的随机题目时,具体用于:基于用户的秘密值,投票摘要以及投票题目的题号,从投票题目中随机选取预设题目数量的随机题目。可选地,目标投票结果生成模块在基于用户的秘密值,投票摘要以及投票题目的题号,从投票题目中随机选取预设题目数量的随机题目时,具体用于:基于用户的秘密值,投票摘要以及投票题目的题号进行哈希运算得到运算结果;基于运算结果的奇偶性,从投票题目中随机选取预设题目数量的随机题目。可以理解的是,本实施例中的投票结果的生成装置的上述各模块具有实现图1中所示的实施例中的投票结果的生成方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述投票结果的生成装置的各模块的功能描述具体可以参见图1中所示实施例中的投票结果的生成方法的对应描述,在此不再赘述。基于与图3中所示的方法相同的原理,图6示出了本申请实施例提供的一种投票结果的统计装置的结构示意图,如图6所示,该投票结果的统计装置40可以包括:目标投票结果接收模块410,用于接收多个投票节点发出的对各投票题目的目标投票结果;目标投票结果统计模块420,用于对各投票节点的目标投票结果进行统计,得到目标投票结果统计值;真实投票结果统计模块430,用于对基于目标投票结果对应的题目总数以及目标投票结果中的随机投票结果所对应的预设题目数量,并基于目标投票结果统计值,确定各投票题目的真实投票结果统计值。本申请实施提供的装置,通过接收多个投票节点发出的对各投票题目的目标投票结果,并对各投票节点的目标投票结果进行统计,得到目标投票结果统计值,从而基于目标投票结果对应的题目总数以及目标投票结果中的随机投票结果所对应的预设题目数量,并基于目标投票结果统计值,确定各投票题目的真实投票结果统计值。基于本方案,能够实现对真实投票结果的统计,实现了匿名投票,克服了现有的匿名投票方式中存在的缺陷,同时具有更高效可靠的优点。可选地,目标投票结果统计模块具体用于:对各投票节点的目标投票结果进行统计,得到各投票题目的初始投票结果统计值;若初始投票结果统计值满足预设条件,则将初始投票结果统计值确定为目标投票结果统计值。可选地,上述装置还包括:投票请求广播模块,用于在初始投票结果统计值不满足预设条件时,基于不满足预设条件初始投票结果对应的投票题目生成投票请求,并将投票请求发送至区块链。可以理解的是,本实施例中的投票结果的统计装置的上述各模块具有实现图3中所示的实施例中的投票结果的统计方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述投票结果的统计装置的各模块的功能描述具体可以参见图3中所示实施例中的投票结果的统计方法的对应描述,在此不再赘述。本申请实施例提供了一种电子设备,包括处理器和存储器;存储器,用于存储操作指令;处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的方法。作为一个示例,图7示出了本申请实施例所适用的一种电子设备的结构示意图,如图7所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。处理器2001可以是cpu(centralprocessingunit,中央处理器),通用处理器,dsp(digitalsignalprocessor,数据信号处理器),asic(applicationspecificintegratedcircuit,专用集成电路),fpga(fieldprogrammablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器2003可以是rom(readonlymemory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(randomaccessmemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、cd-rom(compactdiscreadonlymemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的方法。本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。本申请实施例提供了一种电子设备,与现有技术相比,通过接收投票交易请求,并获取用户对各投票题目的真实投票结果,生成预设题目数量的随机投票结果,并基于真实投票结果以及随机投票结果生成目标投票结果。本方案中生成的目标投票结果能够用于对投票的统计,从而实现了匿名投票,克服了现有的匿名投票方式中存在的缺陷,同时具有更高效可靠的优点。本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的方法。本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。本申请实施例提供了一种计算机可读存储介质,与现有技术相比,通过接收投票交易请求,并获取用户对各投票题目的真实投票结果,生成预设题目数量的随机投票结果,并基于真实投票结果以及随机投票结果生成目标投票结果。本方案中生成的目标投票结果能够用于对投票的统计,从而实现了匿名投票,克服了现有的匿名投票方式中存在的缺陷,同时具有更高效可靠的优点。应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。以上仅是本发明的部分实施方式,应当指出,对于本
技术领域:
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 
技术特征:1.一种投票结果的生成方法,其特征在于,包括:
接收投票交易请求,所述投票交易请求中携带有至少一个投票题目以及对应的投票选项;
获取用户对各所述投票题目的真实投票结果;
生成预设题目数量的随机投票结果,并基于所述真实投票结果以及所述随机投票结果生成目标投票结果,其中,所述随机投票结果中的各选项的具有相同的被选择概率。
2.根据权利要求1所述的方法,其特征在于,所述生成预设题目数量的随机投票结果,包括:
从所述投票题目中随机选取预设题目数量的随机题目;
分别为各所述随机题目确定随机投票结果。
3.根据权利要求2所述的方法,其特征在于,所述从所述投票题目中随机选取预设题目数量的随机题目,包括:
基于用户的秘密值,投票摘要以及投票题目的题号,从所述投票题目中随机选取预设题目数量的随机题目。
4.根据权利要求3所述的方法,其特征在于,所述基于用户的秘密值,投票摘要以及投票题目的题号,从所述投票题目中随机选取预设题目数量的随机题目,包括:
基于用户的秘密值,投票摘要以及投票题目的题号进行哈希运算得到运算结果;
基于所述运算结果的奇偶性,从所述投票题目中随机选取预设题目数量的随机题目。
5.一种投票结果的统计方法,其特征在于,包括:
接收多个投票节点发出的对各投票题目的目标投票结果;
对各所述投票节点的目标投票结果进行统计,得到目标投票结果统计值;
基于目标投票结果对应的题目总数以及所述目标投票结果中的随机投票结果所对应的预设题目数量,并基于所述目标投票结果统计值,确定各所述投票题目的真实投票结果统计值。
6.根据权利要求5所述的方法,其特征在于,所述对各所述投票节点的目标投票结果进行统计,得到目标投票结果统计值,包括:
对各所述投票节点的目标投票结果进行统计,得到各所述投票题目的初始投票结果统计值;
若所述初始投票结果统计值满足预设条件,则将所述初始投票结果统计值确定为目标投票结果统计值。
7.根据权利要求5所述的方法,其特征在于,还包括:
若所述初始投票结果统计值不满足预设条件,则基于不满足预设条件所述初始投票结果对应的所述投票题目生成投票请求,并将所述投票请求发送至区块链。
8.一种投票结果的生成装置,其特征在于,包括:
请求接收模块,用于接收投票交易请求,所述投票交易请求中携带有至少一个投票题目以及对应的投票选项;
真实投票结果获取模块,用于获取用户对各所述投票题目的真实投票结果;
目标投票结果生成模块,用于生成预设题目数量的随机投票结果,并基于所述真实投票结果以及所述随机投票结果生成目标投票结果,其中,所述随机投票结果中的各选项的具有相同的被选择概率。
9.一种投票结果的统计装置,其特征在于,包括:
目标投票结果接收模块,用于接收多个投票节点发出的对各投票题目的目标投票结果;
目标投票结果统计模块,用于对各所述投票节点的目标投票结果进行统计,得到目标投票结果统计值;
真实投票结果统计模块,用于对基于目标投票结果对应的题目总数以及所述目标投票结果中的随机投票结果所对应的预设题目数量,并基于所述目标投票结果统计值,确定各所述投票题目的真实投票结果统计值。
10.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行权利要求1-7中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。
技术总结本申请实施例提供了一种投票结果的生成与统计方法、装置及电子设备。该方法包括:接收投票交易请求,投票交易请求中携带有至少一个投票题目以及对应的投票选项;获取用户对各投票题目的真实投票结果;生成预设题目数量的随机投票结果,并基于真实投票结果以及随机投票结果生成目标投票结果,其中,随机投票结果中的各选项的具有相同的被选择概率。本方案中生成的目标投票结果能够用于对投票的统计,从而实现了匿名投票,克服了现有的匿名投票方式中存在的缺陷,同时具有更高效可靠的优点。
技术研发人员:陈志明;姜鹏;陈晨
受保护的技术使用者:中信银行股份有限公司
技术研发日:2020.11.16
技术公布日:2021.04.06