掌桥专利:专业的专利平台
掌桥专利
首页

目标用户确定方法、装置、设备及存储介质

文献发布时间:2023-06-19 09:24:30


目标用户确定方法、装置、设备及存储介质

技术领域

本申请涉及数据处理技术,尤其涉及一种目标用户确定方法、装置、设备及存储介质。

背景技术

随着经济技术的不断发展,各类摇号技术和应用广泛影响着人们的生活和工作,例如摇号确定中标单位,摇号安排考试考位,摇号决定上车牌资格,摇号分配经济适用房等。

相关技术中,摇号的过程通常是:用户实名获取签号,中签号码由摇号组织方采用随机值算法产生。与中签号码匹配上的用户,将是中签用户。

然而,上述中签号码的产生由摇号组织方产生,其产生的随机性存疑,有可能摇号组织方篡改中签号码,例如摇号组织方知道待抽取的签号,对这些签号进行修改,增加或降低某些签号的中签几率。因此,现有摇号机制难以自证公平、公正。另外,现有用户需实名参与摇号,用户隐私信息可能会被其他人员获知,从而被非法使用,给用户带来一些不良影响。

发明内容

为解决现有技术中存在的问题,本申请提供一种目标用户确定方法、装置、设备及存储介质。

第一方面,本申请实施例提供一种目标用户确定方法,所述方法包括:

获取数据请求,所述数据请求中包括待参与用户对应的随机数;

将所述随机数上传至区块链,所述随机数用于指示所述区块链根据所述随机数的上传顺序,确定所述待参与用户对应的抽签号;

获取所述区块链中的待处理数据,将所述待处理数据发送至至少一个签名终端,所述待处理数据用于指示所述至少一个签名终端对所述待处理数据进行签名,获得至少一个签名;

根据所述至少一个签名,确定待抽取对象,并根据所述抽签号,确定与所述待抽取对象对应的目标用户,向所述目标用户发送通知消息。

在一种可能的实现方式中,所述获取所述区块链中的待处理数据,包括:

根据预设时刻和所述区块链中各个区块的时刻标识,确定目标区块;

根据所述目标区块中存放的数据,获取所述待处理数据。

在一种可能的实现方式中,所述根据所述至少一个签名,确定待抽取对象,包括:

根据所述至少一个签名,获得目标签名;

根据所述目标签名,确定所述待抽取对象。

在一种可能的实现方式中,所述根据所述至少一个签名,获得目标签名,包括:

判断所述至少一个签名的签名时间是否在预设时间段内,其中,所述签名时间根据所述将所述待处理数据发送至至少一个签名终端的时刻和获得所述至少一个签名的时刻确定;

若所述至少一个签名的签名时间在所述预设时间段内,则根据所述至少一个签名,获得所述目标签名。

在一种可能的实现方式中,所述根据所述至少一个签名,获得目标签名,包括:

根据获得所述至少一个签名的时刻,确定所述至少一个签名中获得时刻最晚的预设数目个签名,其中,所述预设数目小于或等于所述至少一个签名的数目;

根据所述预设数目个签名,获得所述目标签名。

在一种可能的实现方式中,所述根据所述至少一个签名,获得目标签名,包括:

对所述至少一个签名进行求和或累乘,获得所述目标签名。

在一种可能的实现方式中,所述根据所述目标签名,确定所述待抽取对象,包括:

根据所述目标签名和所述待参与用户的数目,确定所述待抽取对象。

在一种可能的实现方式中,所述根据所述抽签号,确定与所述待抽取对象对应的目标用户,包括:

根据所述抽签号和所述待参与用户的对应关系,确定与所述待抽取对象对应的目标用户。

在一种可能的实现方式中,所述根据所述目标签名和所述待参与用户的数目,确定所述待抽取对象,包括:

计算所述目标签名对所述待参与用户的数目的余数;

根据所述余数,确定所述待抽取对象。

在一种可能的实现方式中,所述区块链存放所述待参与用户对应的抽签号与所述待参与用户对应的随机数的哈希值的对应关系。

在所述根据所述抽签号,确定与所述待抽取对象对应的目标用户之后,还包括:

获取查询请求,所述查询请求携带待查询用户对应的随机数;

根据所述查询请求,计算所述待查询用户对应的随机数的哈希值,并根据所述对应关系,确定所述目标用户对应的随机数的哈希值;

根据所述待查询用户对应的随机数的哈希值和所述目标用户对应的随机数的哈希值,确定所述待查询用户是否为所述目标用户。

第二方面,本申请实施例提供一种目标用户确定装置,所述装置包括:

第一获取模块,获取数据请求,所述数据请求中包括待参与用户对应的随机数;

上传模块,用于将所述随机数上传至区块链,所述随机数用于指示所述区块链根据所述随机数的上传顺序,确定所述待参与用户对应的抽签号;

第二获取模块,用于获取所述区块链中的待处理数据,将所述待处理数据发送至至少一个签名终端,所述待处理数据用于指示所述至少一个签名终端对所述待处理数据进行签名,获得至少一个签名;

确定模块,用于根据所述至少一个签名,确定待抽取对象,并根据所述抽签号,确定与所述待抽取对象对应的目标用户,向所述目标用户发送通知消息。

在一种可能的实现方式中,所述第二获取模块,具体用于:

根据预设时刻和所述区块链中各个区块的时刻标识,确定目标区块;

根据所述目标区块中存放的数据,获取所述待处理数据。

在一种可能的实现方式中,所述确定模块,具体用于:

根据所述至少一个签名,获得目标签名;

根据所述目标签名,确定所述待抽取对象。

在一种可能的实现方式中,所述确定模块,具体用于:

判断所述至少一个签名的签名时间是否在预设时间段内,其中,所述签名时间根据所述将所述待处理数据发送至至少一个签名终端的时刻和获得所述至少一个签名的时刻确定;

若所述至少一个签名的签名时间在所述预设时间段内,则根据所述至少一个签名,获得所述目标签名。

在一种可能的实现方式中,所述确定模块,具体用于:

根据获得所述至少一个签名的时刻,确定所述至少一个签名中获得时刻最晚的预设数目个签名,其中,所述预设数目小于或等于所述至少一个签名的数目;

根据所述预设数目个签名,获得所述目标签名。

在一种可能的实现方式中,所述确定模块,具体用于:

对所述至少一个签名进行求和或累乘,获得所述目标签名。

在一种可能的实现方式中,所述确定模块,具体用于:

根据所述目标签名和所述待参与用户的数目,确定所述待抽取对象。

在一种可能的实现方式中,所述确定模块,具体用于:

根据所述抽签号和所述待参与用户的对应关系,确定与所述待抽取对象对应的目标用户。

在一种可能的实现方式中,所述确定模块,具体用于:

计算所述目标签名对所述待参与用户的数目的余数;

根据所述余数,确定所述待抽取对象。

在一种可能的实现方式中,所述区块链存放所述待参与用户对应的抽签号与所述待参与用户对应的随机数的哈希值的对应关系。

上述装置还包括:查询模块,用于在所述确定模块根据所述抽签号,确定与所述待抽取对象对应的目标用户之后,获取查询请求,所述查询请求携带待查询用户对应的随机数;

根据所述查询请求,计算所述待查询用户对应的随机数的哈希值,并根据所述对应关系,确定所述目标用户对应的随机数的哈希值;

根据所述待查询用户对应的随机数的哈希值和所述目标用户对应的随机数的哈希值,确定所述待查询用户是否为所述目标用户。

第三方面,本申请实施例提供一种目标用户确定设备,包括:

处理器;

存储器;以及

计算机程序;

其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如第一方面所述的方法的指令。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得服务器执行第一方面所述的方法。

本申请实施例提供的目标用户确定方法、装置、设备及存储介质,该方法通过获取数据请求,该数据请求中包括待参与用户对应的随机数,从而,将该随机数上传至区块链确定待参与用户对应的抽签号,并从区块链上获取待处理数据,将该待处理数据发送至至少一个签名终端进行签名,获得至少一个签名,进而,根据该至少一个签名,确定待抽取对象,并根据上述抽签号,确定与上述待抽取对象对应的目标用户,向目标用户发送通知消息。其中,上述待抽取对象的安全性由区块链和多个签名终端保证,使得任何一方,例如摇号组织方无法篡改待抽取对象,从而,保证后续基于上述待抽取对象确定的目标用户的准确性,提高用户抽取过程中的公平、公正性,而且,本申请实施例无需知道待参与用户的真实信息,只需知道待参与用户对应的随机数,从而保护用户隐私信息,避免用户隐私信息被非法使用。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种目标用户确定系统架构示意图;

图2为本申请实施例提供的一种目标用户确定方法的流程示意图;

图3为本申请实施例提供的另一种目标用户确定系统架构示意图;

图4为本申请实施例提供的另一种目标用户确定方法的流程示意图;

图5为本申请实施例提供的一种目标用户确定装置的结构示意图;

图6为本申请实施例提供的另一种目标用户确定装置的结构示意图;

图7A为本申请实施例提供的目标用户确定设备的一种可能的基本硬件架构图;

图7B为本申请实施例提供的目标用户确定设备的另一种可能的基本硬件架构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”及“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

现有各类摇号技术和应用广泛影响着人们的生活和工作,例如摇号确定中标单位,摇号安排考试考位,摇号决定上车牌资格,摇号分配经济适用房等。相关技术中,摇号的过程通常是:用户实名获取签号,中签号码由摇号组织方采用随机值算法产生。与中签号码匹配上的用户,将是中签用户。

然而,上述中签号码的产生由摇号组织方产生,其产生的随机性存疑,有可能摇号组织方篡改中签号码,例如摇号组织方知道待抽取的签号,对这些签号进行修改,增加或降低某些签号的中签几率。示例性的,以摇号确定中标单位为例,摇号组织方知道参与竞标的各个单位的签号,如果出于某些原因,要增加单位甲的中签几率,则可以对上述各个单位的签号进行调整,例如将上述各个单位中多个单位的签号改为单位甲的中签,从而,增加单位甲的中签几率。因此,现有摇号机制难以自证公平、公正。另外,现有用户需实名参与摇号,用户隐私信息可能会被其他人员获知,从而被非法使用,给用户带来一些不良影响。示例性的,在上述摇号确定中标单位过程中,单位甲实名参与竞标,例如单位甲提供企业一些较为机密信息参与竞标,可能导致单位甲的上述信息被泄露。或者,以摇号安排考试考位为例,考生A实名参与摇号,例如考生A提供真实姓名、学号,甚至身份证号等,可能导致考生A的上述信息被泄露。

因此,本申请实施例提出一种目标用户确定方法,将待参与用户对应的随机数上传至区块链确定抽签号,从而,基于区块链中存储的数据以及多个签名终端,确定待抽取对象,并基于上述抽签号,确定与待抽取对象对应的目标用户,向目标用户发送通知消息。其中,该待抽取对象的安全性由区块链和多个签名终端保证,使得任何一方,例如摇号组织方无法篡改待抽取对象,从而,保证后续基于上述待抽取对象确定的目标用户的准确性,提高用户抽取过程中的公平、公正性,而且,本申请实施例无需知道待参与用户的真实信息,只需知道待参与用户对应的随机数,从而保护用户隐私信息,避免用户隐私信息被非法使用。

可选地,图1为本申请实施例提供的一种目标用户确定系统架构示意图。在图1中,以摇号确定中标单位为例。上述架构包括处理装置11和至少一个签名终端。这里,该至少一个签名终端以包括第一签名终端121、第二签名终端122和第三签名终端123为例。处理装置11可以理解为摇号组织方的服务器,执行整个摇号过程。

可以理解的是,本申请实施例示意的结构并不构成对目标用户确定架构的具体限定。在本申请另一些可行的实施方式中,上述架构可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,具体可根据实际应用场景确定,在此不做限制。图1所示的部件可以以硬件,软件,或软件与硬件的组合实现。

在具体实现过程中,处理装置11首先获取数据请求,该数据请求中包括待参与用户对应的随机数,然后将该随机数上传区块链确定待参与用户对应的抽签号,再从区块链上获取待处理数据,将待处理数据发送至上述至少一个签名终端。其中,为了提高上述摇号确定中标单位的随机性,上述待处理数据可以为任意需要处理的数据,例如上述待处理数据为与上述各个中标单位相关的数据,或者,为与上述各个中标单位不相关的数据。

处理装置11将上述待处理数据发送至上述至少一个签名终端,即上述第一签名终端121、第二签名终端122和第三签名终端123。第一签名终端121、第二签名终端122和第三签名终端123分别对上述待处理数据进行签名。示例性的,以上述待处理数据为m为例,第一签名终端121、第二签名终端122和第三签名终端123可以分别在本地生成私钥sk1,sk2和sk3,然后利用生成的私钥对上述待处理数据为m进行签名,即计算s1=sign(sk1,m),s2=sign(sk2,m)和s3=sign(sk3,m)。其中,签名算法sign可以根据实际情况确定,例如采用RSA、ECDSA签名算法或者国密签名算法等。处理装置11获取上述第一签名终端121、第二签名终端122和第三签名终端123对上述待处理数据的签名,从而,根据这些签名,确定待抽取对象,并根据上述抽签号,确定与上述待抽取对象对应的目标用户,向目标用户发送通知消息。这里,上述待抽取对象的安全性由区块链和多个签名终端保证,使得任何一方,例如摇号组织方无法篡改待抽取对象,从而,保证后续基于上述待抽取对象确定的目标用户,例如中标单位的准确性,提高用户抽取过程中的公平、公正性,而且,本申请实施例无需知道待参与用户的真实信息,只需知道待参与用户对应的随机数,从而保护用户隐私信息,避免用户隐私信息被非法使用。

另外,本申请实施例描述的系统架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

下面以几个实施例为例对本申请的技术方案进行描述,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图2为本申请实施例提供的一种目标用户确定方法的流程示意图,本申请实施例提供了一种目标用户确定方法,该方法可以应用于目标用户确定的处理,且该方法可以由任意执行目标用户确定方法的装置来执行,该装置可以通过软件和/或硬件实现。如图2所示,在图1所示系统架构的基础上,本申请实施例提供的目标用户确定方法包括如下步骤:

S201:获取数据请求,该数据请求中包括待参与用户对应的随机数。

这里,以执行主体为图1中处理装置11为例。待参与用户发送数据请求至处理装置11,例如待参与用户发送一随机数r至处理装置11。上述随机数r可以是每个待参与用户本地生成的一个伪随机数,由用户独自生成。该伪随机数可以是在[0,1]均匀分布的随机数序列。示例性的,图3所示,在图3中以上述待参与用户包括用户1、用户2、用户3、用户4和用户5为例,上述至少一个签名终端12以包括第一签名终端121、第二签名终端122和第三签名终端123为例。

S202:将上述随机数上传至区块链,上述随机数用于指示上述区块链根据上述随机数的上传顺序,确定上述待参与用户对应的抽签号。

在本申请实施例中,上述区块链在接收上述待参与用户对应的随机数后,可以根据其上链顺序,为每一个待参与用户生成一个抽签号,例如有上述五个待参与用户,用户1第一个上链,则上述区块链为该用户生成一个抽签号,例如0。用户2第二个上链,则上述区块链为该用户生成一个抽签号,例如1。如果后续用户3、4和5依次上链,则上述区块链为这些用户依次生成一个抽签号,例如2、3和4。

另外,上述区块链可以存储上述待参与用户的抽签号与待参与用户的对应关系,例如存储用户1的抽签号0与用户1的对应关系。

处理装置11将上述随机数上传至区块链后,该区块链还可以存放上述随机数的哈希值。示例性的,每个待参与用户生成一个随机数r,计算其哈希值,例如利用单向哈希算法SHA3产生哈希值SHA3(r),并上传至上述区块链。

上述区块链可以存储上述待参与用户的抽签号与待参与用户的哈希值的对应关系,例如用户1对应的随机数为r1,该随机数的哈希值为SHA3(r1)。上述区块链存储用户1的抽签号0与用户1的哈希值SHA3(r1)的对应关系。

这里,本申请实施例无需知道待参与用户的真实信息,只需知道待参与用户对应的随机数,从而保护用户隐私信息,避免用户隐私信息被非法使用。

S203:获取上述区块链中的待处理数据,将该待处理数据发送至至少一个签名终端,该待处理数据用于指示上述至少一个签名终端对该待处理数据进行签名,获得至少一个签名。

其中,为了提高本申请实施例中目标用户确定的随机性,上述待处理数据可以为任意需要处理的数据,例如上述待处理数据为与上述待参与用户相关的数据,或者,为与上述待参与用户不相关的数据。

示例性的,上述从区块链上获取待处理数据,可以包括:处理装置11根据预设时刻和上述区块链中各个区块的时刻标识,确定目标区块,从而,根据该目标区块中存放的数据,获取上述待处理数据。

这里,上述预设时刻可以根据实际情况设置,例如t时刻。上述区块链将产生的数据按照一定的时间间隔,分成一个个的区块记录,各个区块上可以根据产生时刻设置相应的时刻标识。处理装置11根据预设时刻,例如t时刻,以及上述各个区块设置的时刻标识,确定目标区块。这样,处理装置11可以获取上述目标区块中存放的数据,作为上述待处理数据,保证一定的公平、公开和不确定性。另外,区块链中存放的数据不易被篡改,进一步提高后续处理结果的公平、公开性。

其中,上述至少一个签名终端的数目可以根据实际情况确定,例如图1中设有第一签名终端121、第二签名终端122和第三签名终端123三个签名终端。

上述处理装置11在从上述区块链上获取上述待处理数据后,将上述待处理数据发送至上述至少一个签名终端。上述至少一个签名终端对上述待处理数据进行签名。示例性的,以上述三个签名终端为例,第一签名终端121、第二签名终端122和第三签名终端123分别对上述待处理数据进行签名。例如上述待处理数据为m,第一签名终端121、第二签名终端122和第三签名终端123分别在本地生成私钥sk1,sk2和sk3,然后利用生成的私钥对上述待处理数据为m进行签名,即计算s1=sign(sk1,m),s2=sign(sk2,m)和s3=sign(sk3,m)。其中,签名算法sign可以采用RSA、ECDSA签名算法或者国密签名算法等。

S204:根据上述至少一个签名,确定待抽取对象,并根据上述抽签号,确定与上述待抽取对象对应的目标用户,向该目标用户发送通知消息。

示例性的,上述处理装置11从上述至少一个签名终端获取上述至少一个签名,并根据上述至少一个签名,获得目标签名,根据该目标签名,确定上述待抽取对象。

其中,上述处理装置11可以对上述至少一个签名进行求和或累乘等统计归并算法等处理,获得目标签名。

这里,本申请实施例通过对获取的签名进行求和或累乘,获得目标签名,增强目标签名的随机性,从而,提高了后续处理结果的公平、公正性。

另外,为了避免在用户抽取过程中,处理装置11多次执行上述用户抽取过程,从而,导致后续确定的结果存在不公平、不公正的问题,例如,处理装置多次执行上述用户抽取过程,得到多个结果,从多个结果中选择某一次的结果作为最终结果,即对结果进行了篡改。本申请实施例设置一预设时间段作为签名窗口,例如设置T时间长度作为签名窗口期。处理装置11判断上述至少一个签名的签名时间是否在上述预设时间段内,即判断是否在上述T时间长度内,其中,上述签名时间根据上述将上述待处理数据发送至至少一个签名终端的时刻和获得上述至少一个签名的时刻确定。例如上述签名时间等于上述获得上述至少一个签名的时刻与上述将上述待处理数据发送至至少一个签名终端的时刻的相减结果。如果上述至少一个签名的签名时间在上述预设时间段内,即在上述T时间长度内,则处理装置11根据上述至少一个签名,获得上述目标签名,否则,处理装置11可以停止操作,并进行相应提示,以便相关人员能够及时处理。

在本申请实施例中,为了进一步提高上述获得的目标签名的随机性,还可以设置签名阈值,例如设置获得时刻最晚的签名的数目。处理装置11在根据上述至少一个签名,获得目标签名时,可以根据获得上述至少一个签名的时刻,确定上述至少一个签名中获得时刻最晚的预设数目个签名,其中,该预设数目小于或等于上述至少一个签名的数目。从而,处理装置11根据上述预设数目个签名,获得上述目标签名。示例性的,以上述第一签名终端121、第二签名终端122和第三签名终端123分别对上述待处理数据m进行签名,即计算s1=sign(sk1,m),s2=sign(sk2,m)和s3=sign(sk3,m)为例,处理装置11根据获取上述三个签名的时刻,确定上述三个签名中获得时刻最晚的两个签名,例如s2和s3是最晚获取的两个签名,则处理装置11根据上述签名s2和s3,获得上述目标签名。

其中,上述处理装置11可以对上述预设数目个签名进行求和或累乘等,例如对上述签名s2和s3进行求和或累乘等,获得目标签名。

这里,本申请实施例上述目标签名的安全性由多个签名终端、区块链、时间窗口机制和签名阈值保证。每个签名终端产生一个独立私钥,因此每个签名终端产生的签名值将不同。通过对区块链t时刻确定的目标区块上的数据进行签名,使得签名终端无法提前计算签名,并难以预测。最后通过时间窗口机制和签名阈值,使得无法提前预测最终的目标签名由哪个几个签名终端提供的签名值构成。因此没有任何单一方可以提前获知上述目标签名,保证后续处理的公平性

在本申请实施例中,区块链存放待参与用户对应的抽签号与待参与用户对应的随机数的哈希值的对应关系。处理装置11在确定与上述待抽取对象对应的目标用户之后,还可以获取查询请求,该查询请求携带待查询用户对应的随机数。从而,处理装置11可以根据上述查询请求,计算上述待查询用户对应的随机数的哈希值,并根据上述对应关系,确定上述目标用户对应的随机数的哈希值,进而,根据上述待查询用户对应的随机数的哈希值和上述目标用户对应的随机数的哈希值,确定上述待查询用户是否为上述目标用户。

这里,处理装置11在确定目标用户后,提供查询功能。用户通过查询目标用户,确定自己是否被抽中。例如,用户输入其随机数r,处理装置11计算该随机数的哈希值,例如利用SHA3哈希计算SHA3(r),然后与上述目标用户对应的随机数的哈希值进行比对确认,如果是则该用户为目标用户,否则就不是。

本申请实施例,通过获取数据请求,该数据请求中包括待参与用户对应的随机数,从而,将该随机数上传至区块链确定待参与用户对应的抽签号,并从区块链上获取待处理数据,将该待处理数据发送至至少一个签名终端进行签名,获得至少一个签名,进而,根据该至少一个签名,确定待抽取对象,并根据上述抽签号,确定与上述待抽取对象对应的目标用户,向目标用户发送通知消息。其中,上述待抽取对象的安全性由区块链和多个签名终端保证,使得任何一方,例如摇号组织方无法篡改待抽取对象,从而,保证后续基于上述待抽取对象确定的目标用户的准确性,提高用户抽取过程中的公平、公正性,而且,本申请实施例无需知道待参与用户的真实信息,只需知道待参与用户对应的随机数,从而保护用户隐私信息,避免用户隐私信息被非法使用。

另外,在本申请实施例在根据上述目标签名,确定上述待抽取对象时,还考虑上述待参与用户的数目,即根据上述目标签名和上述待参与用户的数目,确定上述待抽取对象,从而,根据上述抽签号和上述待参与用户的对应关系,确定与上述待抽取对象对应的目标用户。图4为本申请实施例提出的另一种目标用户确定方法的流程示意图。如图4所示,该方法包括:

S401:获取数据请求,该数据请求中包括待参与用户对应的随机数。

S402:将上述随机数上传至区块链,上述随机数用于指示上述区块链根据上述随机数的上传顺序,确定上述待参与用户对应的抽签号。

S403:获取上述区块链中的待处理数据,将该待处理数据发送至至少一个签名终端,上述待处理数据用于指示上述至少一个签名终端对上述待处理数据进行签名,获得至少一个签名。

其中,步骤S401-S403与上述步骤S201-S203的实现方式相同,此处不再赘述。

S404:根据上述至少一个签名,获得目标签名,计算该目标签名对上述待参与用户的数目的余数。

示例性的,以执行主体为上述处理装置11为例。例如,上述待参与用户的数目为N,上述目标签名为S。处理装置11计算S对N的余数。以上述五个待参与用户:用户1、用户2、用户3、用户4和用户5为例。处理装置11计算S对N的余数,可以得到余数为0、1、2、3和4中任意一个。

S405:根据上述余数,确定上述抽取对象。

这里,处理装置11可以将上述余数作为上述抽取对象。

S406:根据上述抽签号和上述待参与用户的对应关系,确定与上述待抽取对象对应的目标用户,向该目标用户发送通知消息。

示例性的,上述提到,上述区块链在接收上述待参与用户的随机数后,可以根据其上链顺序,为每一个待参与用户生成一个抽签号,例如用户1第一个上链,则上述区块链为该用户生成一个抽签号,例如0。用户2第二个上链,则上述区块链为该用户生成一个抽签号,例如1。如果后续用户3、4和5依次上链,则上述区块链为这些用户依次生成一个抽签号,例如2、3和4。上述区块链可以存储上述待参与用户的抽签号与待参与用户的对应关系,例如存储用户1的抽签号0与用户1的对应关系。

处理装置11根据上述抽取对象。例如0、1、2、3、4,以及上述抽签号和上述待参与用户的对应关系,其中,上述待参与用户的标签如上述,可以为上述0、1、2、3、4,确定与上述待抽取对象对应的目标用户,向该目标用户发送通知消息。

本申请实施例在根据上述目标签名,确定上述待抽取对象时,还考虑上述待参与用户的数目,即根据上述目标签名和上述待参与用户的数目,确定上述待抽取对象,从而,根据上述抽签号和上述待参与用户的对应关系,确定与上述待抽取对象对应的目标用户,保证每一个进行用户抽取都会有一个用户被选中,不会出现抽取过程无效的情况,适合应用。另外,本申请实施例中上述待抽取对象的安全性由区块链和多个签名终端保证,使得任何一方,例如摇号组织方无法篡改待抽取对象,从而,保证后续基于上述待抽取对象确定的目标用户的准确性,提高用户抽取过程中的公平、公正性,而且,本申请实施例无需知道待参与用户的真实信息,只需知道待参与用户对应的随机数,从而保护用户隐私信息,避免用户隐私信息被非法使用。

对应于上文实施例的目标用户确定方法,图5为本申请实施例提供的目标用户确定装置的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分。图5为本申请实施例提供的一种目标用户确定装置的结构示意图,该目标用户确定装置50包括:第一获取模块501、上传模块502、第二获取模块503以及确定模块504。这里的目标用户确定装置可以是上述处理装置本身,或者是实现处理装置的功能的芯片或者集成电路。这里需要说明的是,第一获取模块、上传模块、第二获取模块以及确定模块的划分只是一种逻辑功能的划分,物理上两者可以是集成的,也可以是独立的。

其中,第一获取模块501,获取数据请求,所述数据请求中包括待参与用户对应的随机数。

上传模块502,用于将所述随机数上传至区块链,所述随机数用于指示所述区块链根据所述随机数的上传顺序,确定所述待参与用户对应的抽签号。

第二获取模块503,用于获取所述区块链中的待处理数据,将所述待处理数据发送至至少一个签名终端,所述待处理数据用于指示所述至少一个签名终端对所述待处理数据进行签名,获得至少一个签名。

确定模块504,用于根据所述至少一个签名,确定待抽取对象,并根据所述抽签号,确定与所述待抽取对象对应的目标用户,向所述目标用户发送通知消息。

本申请实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本申请实施例此处不再赘述。

图6为本申请实施例在图5实施例的基础上,提供的另一种目标用户确定装置的结构示意图。上述目标用户确定装置50还包括:查询模块505。

在一种可能的实现方式中,所述第二获取模块503,具体用于:

根据预设时刻和所述区块链中各个区块的时刻标识,确定目标区块;

根据所述目标区块中存放的数据,获取所述待处理数据。

在一种可能的实现方式中,所述确定模块504,具体用于:

根据所述至少一个签名,获得目标签名;

根据所述目标签名,确定所述待抽取对象。

在一种可能的实现方式中,所述确定模块504,具体用于:

判断所述至少一个签名的签名时间是否在预设时间段内,其中,所述签名时间根据所述将所述待处理数据发送至至少一个签名终端的时刻和获得所述至少一个签名的时刻确定;

若所述至少一个签名的签名时间在所述预设时间段内,则根据所述至少一个签名,获得所述目标签名。

在一种可能的实现方式中,所述确定模块504,具体用于:

根据获得所述至少一个签名的时刻,确定所述至少一个签名中获得时刻最晚的预设数目个签名,其中,所述预设数目小于或等于所述至少一个签名的数目;

根据所述预设数目个签名,获得所述目标签名。

在一种可能的实现方式中,所述确定模块504,具体用于:

对所述至少一个签名进行求和或累乘,获得所述目标签名。

在一种可能的实现方式中,所述确定模块504,具体用于:

根据所述目标签名和所述待参与用户的数目,确定所述待抽取对象。

在一种可能的实现方式中,所述确定模块504,具体用于:

根据所述抽签号和所述待参与用户的对应关系,确定与所述待抽取对象对应的目标用户。

在一种可能的实现方式中,所述确定模块504,具体用于:

计算所述目标签名对所述待参与用户的数目的余数;

根据所述余数,确定所述待抽取对象。

在一种可能的实现方式中,所述区块链存放所述待参与用户对应的抽签号与所述待参与用户对应的随机数的哈希值的对应关系。

查询模块505,用于在所述确定模块根据所述抽签号,确定与所述待抽取对象对应的目标用户之后,获取查询请求,所述查询请求携带待查询用户对应的随机数;

根据所述查询请求,计算所述待查询用户对应的随机数的哈希值,并根据所述对应关系,确定所述目标用户对应的随机数的哈希值;

根据所述待查询用户对应的随机数的哈希值和所述目标用户对应的随机数的哈希值,确定所述待查询用户是否为所述目标用户。

本申请实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本申请实施例此处不再赘述。

可选地,图7A和7B分别示意性地提供本申请所述目标用户确定设备的一种可能的基本硬件架构。

参见图7A和7B,目标用户确定设备包括至少一个处理器701以及通信接口703。进一步可选的,还可以包括存储器702和总线704。

其中,目标用户确定设备中,处理器701的数量可以是一个或多个,图7A和7B仅示意了其中一个处理器701。可选地,处理器701,可以是中央处理器(Central ProcessingUnit,CPU)、图形处理器(Graphics Processing Unit,GPU)或者数字信号处理(DigitalSignal Process,DSP)。如果目标用户确定设备具有多个处理器701,多个处理器701的类型可以不同,或者可以相同。可选地,目标用户确定设备的多个处理器701还可以集成为多核处理器。

存储器702存储计算机指令和数据;存储器702可以存储实现本申请提供的上述目标用户确定方法所需的计算机指令和数据,例如,存储器702存储用于实现上述目标用户确定方法的步骤的指令。存储器702可以是以下存储介质的任一种或任一种组合:非易失性存储器(例如只读存储器(ROM)、固态硬盘(SSD)、硬盘(HDD)、光盘),易失性存储器。

通信接口703可以为所述至少一个处理器提供信息输入/输出。也可以包括以下器件的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。

可选的,通信接口703还可以用于目标用户确定设备与其它计算设备或者终端进行数据通信。

进一步可选的,图7A和7B用一条粗线表示总线704。总线704可以将处理器701与存储器702和通信接口703连接。这样,通过总线704,处理器701可以访问存储器702,还可以利用通信接口703与其它计算设备或者终端进行数据交互。

在本申请中,目标用户确定设备执行存储器702中的计算机指令,使得目标用户确定设备实现本申请提供的上述目标用户确定方法,或者使得目标用户确定设备部署上述的目标用户确定装置。

从逻辑功能划分来看,示例性的,如图7A所示,存储器702中可以包括第一获取模块501、上传模块502、第二获取模块503以及确定模块504。这里的包括仅仅涉及存储器中所存储的指令被执行时可以分别实现第一获取模块、上传模块、第二获取模块以及确定模块的功能,而不限定是物理上的结构。

示例性的,如图7B所示,存储器702中还可以包括查询模块505。这里的包括仅仅涉及存储器中所存储的指令被执行时可以分别实现第一获取模块、上传模块、第二获取模块、确定模块以及查询模块的功能,而不限定是物理上的结构。

另外,上述的目标用户确定设备除了可以像上述图7A和图7B通过软件实现外,也可以作为硬件模块,或者作为电路单元,通过硬件实现。

本申请提供一种计算机可读存储介质,所述计算机程序产品包括计算机指令,所述计算机指令指示计算设备执行本申请提供的上述目标用户确定方法。

本申请提供一种芯片,包括至少一个处理器和通信接口,所述通信接口为所述至少一个处理器提供信息输入和/或输出。进一步,所述芯片还可以包含至少一个存储器,所述存储器用于存储计算机指令。所述至少一个处理器用于调用并运行该计算机指令,以执行本申请提供的上述目标用户确定方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

相关技术
  • 目标用户的确定方法、装置、电子设备及存储介质
  • 目标用户的确定方法、装置、设备及计算机存储介质
技术分类

06120112153093