基于区块链的用户处理方法、装置、服务器及存储介质与流程

文档序号:17376710发布日期:2019-04-12 23:23阅读:177来源:国知局
基于区块链的用户处理方法、装置、服务器及存储介质与流程
本发明实施例涉及区块链
技术领域
,尤其涉及一种基于区块链的用户处理方法、装置、服务器及存储介质。
背景技术
:在寻求产品用户增长,扩大产品影响力的各种方法中,依靠老用户邀请新用户能更好的借助用户裂变的方式增进产品的用户增长和日活跃用户数量的增长。为了增强老用户邀请新用户的动力,通常采用一系列的激励政策来促进拉新。例如,按照邀请有效新用户的数量,分层级给予奖励。但是目前新用户数据、老用户数据及奖励等均是通过中心化平台承载,信息透明度和公信力不足;且如果平台作假,难以发现,具有单点风险。技术实现要素:本发明实施例提供了一种基于区块链的用户处理方法、装置、服务器及存储介质,基于区块链去中心化、公信力强及不可篡改等特性对用户处理,解决了由单一平台对用户处理存在单点风险、公信力弱等问题,保证了用户处理结果的公开性和可靠性,提高了用户处理的公信力。第一方面,本发明实施例提供了一种基于区块链的用户处理方法,由业务应用服务节点执行,该方法包括:获取新用户账户数据,以及邀请新用户注册的老用户账户数据;根据所述新用户账户数据以及所述老用户账户数据,对账户关系进行处理;根据处理结果,产生链上事务处理请求,向区块链网络发送所述链上事务处理请求。第二方面,本发明实施例提供了一种基于区块链的用户处理装置,配置于业务应用服务节点中,该装置包括:账户数据获取模块,用于获取新用户账户数据,以及邀请新用户注册的老用户账户数据;账户关系处理模块,用于根据所述新用户账户数据以及所述老用户账户数据,对账户关系进行处理;请求产生处理模块,用于根据处理结果,产生链上事务处理请求,向区块链网络发送所述链上事务处理请求。第三方面,本发明实施例还提供了一种服务器,该服务器包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任意所述的基于区块链的用户处理方法。第四方面,本发明实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任意所述的基于区块链的用户处理方法。本发明实施例提供的基于区块链的用户处理方法、装置、服务器及存储介质,通过根据获取的新用户账户数据以及邀请新用户注册的老用户账户数据,对账户关系进行处理;而后根据处理结果产生链上事务处理请求,并发送至区块链网络,以使区块链网络处理该链上事务处理请求。相比于现有的技术方案,本方案基于区块链去中心化、公信力强及不可篡改等特性对用户处理,解决了由单一平台对用户处理存在单点风险、公信力弱等问题,保证了用户处理结果的公开性和可靠性,提高了用户处理的公信力。附图说明图1是本发明实施例一提供的一种基于区块链的用户处理方法的流程图;图2是本发明实施例二提供的一种基于区块链的用户处理方法的流程图;图3是本发明实施例三提供的一种基于区块链的用户处理方法的流程图;图4是本发明实施例四提供的一种基于区块链的用户处理方法的流程图;图5a是本发明实施例五提供的一种基于区块链的用户处理方法的流程图;图5b是本发明实施例五提供的一种基于区块链实现用户处理的系统架构图;图6是本发明实施例六提供的一种基于区块链的用户处理装置的结构框图;图7是本发明实施例七提供的一种服务器的结构示意图。具体实施方式下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。实施例一图1为本发明实施例一提供的一种基于区块链的用户处理方法的流程图,本实施例可适用于在通过老用户邀请新用户来寻求产品用户增长的场景下,基于区块链技术来进行用户处理的情况。该方法可以由本发明实施例提供的配置在业务应用服务节点上的基于区块链的用户处理装置来执行。该装置可采用硬件和/或软件的方式实现。其中,业务应用服务节点可以是能够提供用户处理的服务器节点,其可以是区块链节点,也可以不是区块链节点,但是可以通过区块链节点提供的接口与该区块链节点进行交互,参与到区块链网络中。参见图1,该方法具体包括:s110,获取新用户账户数据,以及邀请新用户注册的老用户账户数据。本实施例中,对于某一应用而言,新用户是指未注册过该应用的用户;对应的,老用户是指已注册过该应用的用户。未注册用户可以通过老用户提供的推广二维码、推广页面、推广地址、推荐明信片等注册应用成为新用户。可选的,一个老用户可以同时邀请一个或多个新用户。账户数据可以包括账户标识以及图像等;账户标识是指用于唯一识别某一账户的标志,可以是账户id(如帐户名、手机号等)。新用户账户数据可以包括新用户账户id;老用户账户数据可以包括老用户账户id。例如,当某一应用的老用户想要邀请未注册用户注册该应用时,可以触发邀请机制如点击邀请按键等;业务应用服务节点根据老用户的触发操作,读取老用户账户数据,并依据老用户账户数据生成推广地址(如链接地址),例如http://xxx.com/ms?master_uid=1,其中,master_uid=1用于唯一标识老用户账户,是老用户账户id。老用户将该推广地址发送给未注册用户,未注册用户可以根据推广地址进入注册页面,而后可以使用手机号通过手机号注册系统提交手机号获得短信验证码,并提交注册为新用户,且在该应用的用户中心设置该手机号关联的账户id,如1111,进而完成新用户账户注册操作。可选的,该应用的用户中心可默认设置该手机号关联的账户id,新用户可以根据需求重新设置账户id以及个人图像等。本实施例中,在新用户注册过程中,业务应用服务节点可以直接获取新用户账户数据,以及获取邀请新用户注册的老用户账户数据。例如可以是,业务应用服务节点可以获取推广地址注册的新用户账户数据,以及可以从推广地址中获取邀请新用户注册的老用户账户数据等。s120,根据新用户账户数据以及老用户账户数据,对账户关系进行处理。本实施例中,账户关系是指新用户账户与老用户账户之间的关系,可以包括邀请关系。示例性的,账户关系具体可以以账户关系数据形式体现。可选的,对账户关系进行处理具体可以为对账户关系数据进行处理,例如可以是根据账户关系数据确定老用户账户邀请新用户账户的数量,以及确定老用户账户的奖励等级等。具体的,在获取新用户账户数据,以及邀请新用户注册的老用户账户数据之后,也就是说新用户完成注册之后,可以根据新用户账户数据以及老用户账户数据,对账户关系进行处理。s130,根据处理结果,产生链上事务处理请求,向区块链网络发送链上事务处理请求。本实施例中,链上事务处理请求用于请求区块链网路该链上事务请求进行处理,生成事务数据,并将事务数据存储于区块链中。可选的,可以将处理结果作为事务产生智能合约的参数,进而产生链上事务处理请求;还可以是按照特定的链上事务处理请求产生模板,在产生处理结果后,将处理结果添加至链上事务处理请求模板的特定字段中,进而产生链上事务处理请求等。可选的,为了提高处理结果的安全性,可以先对处理结果进行加密处理,而后根据加密的处理结果产生链上事务处理请求。对处理结果进行加密时,业务应用服务节点可以是采用自身私钥对处理结果进行加密,还可以采用哈希加密如sha256或md5sum,也可以采用其他加密算法对处理结果进行加密,如数据加密标准(dataencryptionstandard,des)算法等,对此本实施例不做限定。可选的,若业务应用服务节点是区块链网络中的节点,则可以直接将根据处理结果所产生的链上事务处理请求发送至区块链网络;若业务应用服务节点不是区块链网络中的节点,则业务应用服务节点可以通过区块链节点提供的接口,与该区块链节点进行交互,参与到区块链网络中,进而将根据处理结果所产生的上链事务处理请求发送至区块链网络。具体的,业务应用服务节点可根据处理结果,产生链上事务处理请求,而后向区块链网络发送链上事务处理请求,以请求区块链网络对该链上事务处理请求进行处理生成事务数据并写入区块链中。需要说明的是,本实施例中在新用户注册过程中,只获取新用户账户数据,以及获取邀请新用户注册的老用户账户数据;在新用户注册之后执行上链操作即步骤s120及s130,也就是说,将用户注册过程与上链操作做异步处理,可以避免处理上链操作,导致注册速度降低的情况出现。本发明实施例提供的技术方案,通过根据获取的新用户账户数据以及邀请新用户注册的老用户账户数据,对账户关系进行处理;而后根据处理结果产生链上事务处理请求,并发送至区块链网络,以使区块链网络处理该链上事务处理请求。相比于现有的技术方案,本方案基于区块链去中心化、公信力强及不可篡改等特性对用户处理,解决了由单一平台对用户处理存在单点风险、公信力弱等问题,保证了用户处理结果的公开性和可靠性,提高了用户处理的公信力。实施例二图2为本发明实施例二提供的一种基于区块链的用户处理方法的流程图,本实施例在上述实施例的基础上,进一步地对根据新用户账户数据以及老用户账户数据,对账户关系进行处理进行解释说明。参见图2,该方法具体包括:s210,获取新用户账户数据,以及邀请新用户注册的老用户账户数据。s220,根据新用户账户数据以及老用户账户数据,建立新用户账户与老用户账户之间的邀请关系数据。本实施例中,邀请关系数据是邀请关系的一种具体体现形式,可以包括新用户账户id以及老用户账户id,还可以包括关系处理状态等。其中关系处理状态即为邀请关系数据处理状态,可以包括未处理和已处理等。例如,老用户账户id为1,新用户账户id为1111,则新用户账户与老用户账户之前的邀请关系数据可以采用表1所示的形式表示。表1邀请关系数据徒弟账户id师父账户id关系处理状态11111未处理具体的,在获取新用户账户数据,以及邀请新用户注册的老用户账户数据之后,可以根据新用户账户数据和老用户账户数据,建立新用户账户与老用户账户之前的邀请关系数据。s230,根据新用户账户与老用户账户之间的邀请关系数据,确定老用户账户邀请的新用户信息和激励元素。本实施例中,新用户信息可以包括老用户账户邀请的新用户账户数量、新用户活跃度以及新用户账户数据等。其中,每个新用户账户的活跃度可以根据预设时长内新用户登录次数、每次登录时长、浏览信息数量、互动数量(例如评论、点赞等)以及发信息数量等确定;可选的,对于一个老用户账户而言,可以将与其关联的每个新用户账户的活跃度累加得到新用户活跃度。激励元素可以是用于激励老用户账户积极主动邀请新用户账户的奖励,例如可以包括积分、勋章以及代金券等中的至少一个。可选的,一个新用户账户可唯一关联一个老用户账户,因此,一个新用户账户与老用户账户之间的邀请关系数据具有唯一性。具体的,可以根据新用户账户与老用户账户之间的邀请关系数据中老用户账户id,统计同一老用户账户id所关联的邀请关系数据的数量,确定老用户账户邀请的新用户账户数量;可以通过监听邀请关系数据中新用户账户id,确定新用户活跃度等,进而确定老用户账户邀请的新用户信息;可根据新用户信息确定激励元素,具体可以根据新用户信息中的新用户账户数量、新用户活跃度等确定。示例性的,根据新用户账户与老用户账户之间的邀请关系数据,确定老用户账户的激励元素可以包括:根据新用户账户与老用户账户之间的邀请关系数据,确定老用户账户邀请的新用户账户数量和/或新用户活跃度;根据新用户账户数量和/或活跃度,确定老用户账户的激励元素。可选的,可预先设置激励元素等级,不同新用户账户数量对应不同激励元素等级;例如,在激励元素包括勋章和积分的情况下,激励元素等级可通过积分个数和勋章材质体现,新用户账户数量与激励元素之间的对应关系可以如表2所示。表2新用户账户数量与激励元素之间的对应关系新用户账户数量勋章积分(个数)1铁质勋章52-10铜质勋章1011-20银质勋章1521-30金质勋章2031-50铂金勋章3051-100钻石勋章40101-200双钻勋章50201-500三钻勋章60501-1000五钻勋章70可选的,还可设置不同新用户活跃度,对应不同激励元素等级;进一步的,在激励元素包括至少两个(如积分和勋章等),且新用户账户数量相同的情况下,若新用户活跃度越高,则可以调整至少一个激励元素等级或数量,例如保持积分个数不变,增加勋章的个数或调整勋章材质等。具体的,可以根据新用户账户与老用户账户之间的邀请关系数据,确定老用户账户邀请的新用户账户数量,而后根据新用户账户数量确定老用户账户的激励元素。例如,老用户账户1邀请的新用户账户数量为30,则可以确定该老用户账户的激励元素为积分20,以及金质勋章一枚。还可以根据新用户账户与老用户账户之间的邀请关系数据,确定老用户账户邀请的新用户账户数量和新用户活跃度,而后根据新用户账户数量和新用户活跃度确定老用户账户的激励元素。例如,老用户账户1邀请的新用户账户数量为30,新用户活跃度为100;老用户账户2邀请的新用户账户数量为30,新用户活跃度为120,则可以确定老用户账户1所获得的激励元素等级或数量小于老用户账户1所获得的激励元素等级或数量。s240,根据老用户账户邀请的新用户信息和激励元素,产生链上事务处理请求,向区块链网络发送链上事务处理请求。具体的,业务应用服务节点可根据老用户账户邀请的新用户信息和激励元素,产生链上事务处理请求,而后向区块链网络发送链上事务处理请求,以请求区块链网络对该链上事务处理请求进行处理生成事务数据并写入区块链中。本发明实施例提供的技术方案,通过根据获取的新用户账户数据以及邀请新用户注册的老用户账户数据,建立新用户账户与老用户账户之间的邀请关系数据,进而确定老用户账户邀请的新用户信息和激励元素;而后根据老用户账户邀请的新用户信息和激励元素,产生链上事务处理请求,并发送至区块链网络,以使区块链网络处理该链上事务处理请求。相比于现有的技术方案,本方案基于区块链去中心化、公信力强及不可篡改等特性对用户处理,解决了由单一平台对用户处理存在单点风险、公信力弱等问题,保证了用户处理结果(例如老用户账户邀请的新用户信息和激励元素)的公开性和可靠性,提高了用户处理的公信力。实施例三图3为本发明实施例三提供的一种基于区块链的用户处理方法的流程图,本实施例在上述实施例的基础上,又进一步地对根据新用户账户数据以及老用户账户数据,对账户关系进行处理进行解释说明。本实施例提供了一种基于消息队列处理账户关系的方案。参见图3,该方法具体包括:s310,获取通过老用户推广页面注册的新用户账户数据,以及老用户推广页面中包括的老用户账户数据。本实施例中,老用户推广页面可以是根据老用户账户数据以及应用本身等生成的一种用户可直接注册的页面,还可以是根据老用户账户数据生成推广地址(如链接地址),并将该推广地址添加至应用介绍页面中(如底部),进而生成老用户推广页面。例如,当某一应用的老用户想要邀请未注册用户注册该应用时,可以触发邀请机制如点击邀请按键等;业务应用服务节点根据老用户的触发操作,读取老用户账户数据,并依据老用户账户数据以及应用本身等生成的一种用户可直接注册的页面;老用户将该推广地址发送给未注册用户,未注册用户可以根据老用户推广页面上的提示,使用手机号通过手机号注册系统提交手机号获得短信验证码并提交,进而注册为新用户,之后,新用户需在用户中心设置该手机号关联的账户id,如1111,进而完成注册。可选的,手机号注册系统中可以存储新用户手机号与老用户账户id之间的关联数据例如可以采用表3所示的形式表示。表3关联数据手机号老用户账户idxxx1本实施例中,在新用户注册过程中,业务应用服务节点可以获取通过老用户推广页面注册的新用户账户数据,以及可以从老用户推广页面中获取邀请新用户注册的老用户账户数据等。s320,将新用户账户数据作为消息内容,推送到新用户消息队列中。本实施例中,为了避免处理上链操作,导致注册速度降低的情况出现,本实施例中采用消息队列将用户注册过程与上链操作做异步处理。消息队列(messagequeue)可以是一种应用程序对应用程序的通信方法;应用程序可通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。新用户消息队列是指专门用于存储新用户账户数据的队列。消息内容可以是新用户账户数据本身,或者新用户账户数据和新用户其他信息如新用户手机号;消息内容还可以是对新用户账户数据,或者新用户账户数据和新用户其他信息编码形成。具体的,业务应用服务节点在执行步骤s310获取到新用户账户数据及老用户账户数据之后,若新用户账户数据的格式与新用户消息队列存储消息内容格式一致,则可以直接将新用户账户数据作为消息内容推送到新用户消息队列中;若新用户账户数据的格式与新用户消息队列存储消息内容格式不一致,则还可以是先对新用户账户数据进行编码,而后将编码后的新用户账户数据作为消息内容推送到新用户消息队列中。s330,通过新用户消息队列推送的消息内容,确定新用户账户关联的老用户账户数据。具体的,由于新用户账户数据与新用户手机号是关联设置的,因此可以通过新用户消息队列推送的消息内容,确定新用户账户数据关联的新用户手机号,而后可以将新用户手机号为触发机制,触发手机号注册系统依据新用户手机号查找关联老用户账户id,进而确定新用户账户关联的老用户账户数据。此外,若步骤s320是将新用户账户数据及新用户手机号作为消息内容推送到新用户消息队列中的,则可以以新用户消息队列推送的消息内容为触发机制,触发手机号注册系统从消息内容中获取新用户手机号,而后依据新用户手机号查找关联老用户账户id,进而确定新用户账户关联的老用户账户数据。s340,依据确定的新用户账户关联的老用户账户数据,建立新用户账户与老用户账户之前的邀请关系数据。具体的,在确定新用户账户关联的老用户账户数据之后,可依据确定的新用户账户关联的老用户账户数据,建立新用户账户与老用户账户之前的邀请关系数据,如表1所示的形式表示。s350,根据新用户账户与老用户账户之间的邀请关系数据,确定老用户账户邀请的新用户信息和激励元素。s360,根据老用户账户邀请的新用户信息和激励元素,产生链上事务处理请求,向区块链网络发送链上事务处理请求。本发明实施例提供的技术方案,在获取到新用户账户数据以及邀请新用户注册的老用户账户数据之后,可将新用户账户数据作为消息内容推送到新用户消息队列中;而后通过新用户消息队列推送的消息内容确定新用户账户关联的老用户账户数据,以建立新用户账户与老用户账户之间的邀请关系数据,进而确定老用户账户邀请的新用户信息和激励元素;而后根据老用户账户邀请的新用户信息和激励元素,产生链上事务处理请求,并发送至区块链网络,以使区块链网络处理该链上事务处理请求。相比于现有的技术方案,本方案基于区块链去中心化、公信力强及不可篡改等特性对用户处理,解决了由单一平台对用户处理存在单点风险、公信力弱等问题,保证了用户处理结果(例如老用户账户邀请的新用户信息和激励元素)的公开性和可靠性,提高了用户处理的公信力。此外,采用消息队列将用户注册过程与上链操作做异步处理,避免了处理上链操作,导致注册速度降低的情况出现。实施例四图4为本发明实施例四提供的一种基于区块链的用户处理方法的流程图,本实施例在上述实施例的基础上,进一步的对根据处理结果,产生链上事务处理请求,向区块链网络发送链上事务处理请求进行解释说明。参见图4,该方法具体包括:s410,获取新用户账户数据,以及邀请新用户注册的老用户账户数据。s420,根据新用户账户数据以及老用户账户数据,建立新用户账户与老用户账户之间的邀请关系数据。s430,根据新用户账户与老用户账户之间的邀请关系数据,确定老用户账户邀请的新用户信息和激励元素。s440,将老用户账户邀请的新用户信息和激励元素作为消息内容,推送到老账户消息队列中。本实施例中,消息内容可以包括老用户账户邀请的新用户信息和激励元素;示例性的,消息内容中还可以包括上链状态以及老用户账户数据,其中,上链状态可以包括未上链、已上链以及正在上链中等。可选的,消息内容可以是老用户账户邀请的新用户信息、激励元素以及上链状态等直接组合而成,还可以是对老用户账户邀请的新用户信息、激励元素以及上链状态等按照特定的编码方式编码而形成。与新用户消息队列相类似,老用户消息队列是指专门用于存储上述消息内容(如老用户账户邀请的新用户信息和激励元素)的队列。具体的,业务应用服务节点在执行步骤s430确定老用户账户邀请的新用户信息和激励元素之后,若确定老用户账户邀请的新用户信息和激励元素等直接组合的格式与老用户消息队列存储消息内容格式一致,则可以直接将确定老用户账户邀请的新用户信息和激励元素等一并作为消息内容推送到老用户消息队列中;若确定老用户账户邀请的新用户信息和激励元素等直接组合的格式与老用户消息队列存储消息内容格式不一致,则还可以是先对老用户账户邀请的新用户信息和激励元素等进行编码,而后将编码后的老用户账户邀请的新用户信息和激励元素等一并作为消息内容推送到老用户消息队列中。s450,通过老账户消息队列,产生包括老用户账户邀请的新用户信息和激励元素的链上事务处理请求。具体的,在将老用户账户邀请的新用户信息和激励元素作为消息内容,推送到老账户消息队列中之后,可通过老账户消息队列,产生包括老用户账户邀请的新用户信息和激励元素的链上事务处理请求,而后向区块链网络发送该链上事务处理请求,以请求区块链网络对该链上事务处理请求进行处理生成事务数据并写入区块链中。示例性的,为了便于后续查询区块链网络对链上事务处理请求处理情况,区块链网络可以将根据链上事务处理请求生成的事务数据的标识信息反馈给老账户消息队列,老账户消息队列可基于事务数据的标识信息查询依据该链上事务处理请求所产生的事务数据是否成功上链,若否,则重新执行步骤s440和s450的操作,直至依据事务数据的标识信息查询确定依据该链上事务处理请求所产生的事务数据成功上链为止;若是,则可以显示成功上链信息,以便用户直观获知。其中,事务数据的标识信息是一种用于唯一表示事务数据的标志性信息,如可以是事务数据id;由于链上事务处理请求是通过老账户消息队列,基于老用户账户邀请的新用户信息和激励元素等产生,且老用户账户id具有唯一性,因此,事务数据id可以是老用户账户id。本发明实施例提供的技术方案,在获取到新用户账户数据以及邀请新用户注册的老用户账户数据之后,可将新用户账户数据作为消息内容推送到新用户消息队列中;而后通过新用户消息队列推送的消息内容确定新用户账户关联的老用户账户数据,以建立新用户账户与老用户账户之间的邀请关系数据,进而确定老用户账户邀请的新用户信息和激励元素;而后通过老账户消息队列,产生包括老用户账户邀请的新用户信息和激励元素的链上事务处理请求,并发送至区块链网络,以使区块链网络处理该链上事务处理请求。相比于现有的技术方案,本方案基于区块链去中心化、公信力强及不可篡改等特性对用户处理,解决了由单一平台对用户处理存在单点风险、公信力弱等问题,保证了用户处理结果(例如老用户账户邀请的新用户信息和激励元素)的公开性和可靠性,提高了用户处理的公信力。此外,采用消息队列执行上链操作,进而使用户注册过程与执行上链操作解耦,避免了处理上链操作,导致注册速度降低的情况出现。实施例五图5a为本发明实施例五提供的一种基于区块链的用户处理方法的流程图,图5b为本发明实施例五提供的一种基于区块链实现用户处理的系统架构图;本实施例在上述实施例的基础上,提供了一种优选示例。参见图5a和5b,该方法具体包括:s510,获取老用户账户数据生成推广地址。当某一应用的老用户想要邀请未注册用户注册该应用时,可以触发邀请机制如点击邀请按键等;业务应用服务节点根据老用户的触发操作,从用户中心读取老用户账户数据如图5b中的操作1,并依据老用户账户数据生成推广地址(如链接地址),例如http://xxx.com/ms?master_uid=1,其中,master_uid=1用于唯一标识老用户账户,是老用户账户id。老用户将该推广地址发送给未注册用户。s520,获取通过推广地址注册的新用户账户数据,以及邀请新用户注册的老用户账户数据。未注册用户可以根据推广地址进入注册页面,而后可以使用手机号通过手机号注册系统提交手机号获得短信验证码,并提交注册为新用户如图5b中的操作2;此时,手机号注册系统中可以存储新用户手机号与老用户账户id之间的关联数据例如可以采用表3所示的形式表示。之后,新用户需在用户中心设置该手机号关联的账户id,如1111,进而完成新用户账户注册操作。如图5b中的操作3。业务应用服务节点在新用户注册过程中,可以直接通过推广地址注册的新用户账户数据,以及可以从推广地址中获取邀请新用户注册的老用户账户数据等。s530,将新用户账户数据和新用户手机号写入日志文件中。业务应用服务节点在执行步骤s530之后,可将新用户账户数据和新用户手机号写入日志文件中做备份处理如图5b中的操作4,而后执行步骤s540的操作;也可直接执行步骤s540的操作。s540,将新用户账户数据和新用户手机号作为消息内容,推送到新用户消息队列中。具体的,如图5b中的操作5,业务应用服务节点从日志文件获取新用户账户数据和新用户手机号,将新用户账户数据和新用户手机号作为消息内容,推送到新用户消息队列中。s550,通过新用户消息队列推送的消息内容,确定新用户账户关联的老用户账户数据,并依据确定的新用户账户关联的老用户账户数据,建立新用户账户与老用户账户之前的邀请关系数据。具体的,如图5b中的操作6,业务应用服务节点可以以新用户消息队列推送的消息内容为触发机制,触发手机号注册系统从消息内容中获取新用户手机号,而后依据新用户手机号查找关联老用户账户id,进而确定新用户账户关联的老用户账户数据。接着参见图5b中的7操作,业务应用服务节点通过新老关联系统依据确定的新用户账户关联的老用户账户数据,建立新用户账户与老用户账户之前的邀请关系数据,如表1所示的形式表示。s560,根据新用户账户与老用户账户之间的邀请关系数据,确定老用户账户邀请的新用户信息和激励元素。s570,将老用户账户邀请的新用户信息和激励元素作为消息内容,推送到老账户消息队列中。具体的,接着参见图5b中的操作8和9,业务应用服务节点通过激励系统根据新用户账户与老用户账户之间的邀请关系数据,确定老用户账户邀请的新用户信息和激励元素。而后业务应用服务节点通过激励系统将老用户账户邀请的新用户信息和激励元素作为消息内容,推送到老账户消息队列中。s580,通过老账户消息队列,产生包括老用户账户邀请的新用户信息和激励元素的链上事务处理请求。参见图5b中的操作10,业务应用服务节点通过老账户消息队列,产生包括老用户账户邀请的新用户信息和激励元素的链上事务处理请求,向区块链网络发送该链上事务处理请求;而后区块链网络对该链上事务处理请求进行处理生成事务数据,并根据链上事务处理请求生成的事务数据的标识信息反馈给老账户消息队列;参见图5b中的操作11,老账户消息队列可基于事务数据的标识信息查询依据该链上事务处理请求所产生的事务数据是否成功上链,若否,则重新执行操作9至11,直至依据事务数据的标识信息查询确定依据该链上事务处理请求所产生的事务数据成功上链为止并更新操作9中消息内容中的上链状态,而后参见图5b中的操作12老账户消息队列将成功上链消息反馈给激励系统,以使激励系统通过显示方式向用户展示成功上链信息(可包括存储于区块链中的地址等),激励系统向老用户消息队列反馈从消息队列中滤除与该事务标识相关的消息内容等;若是,则直接执行图5b中的操作12。本发明实施例提供的技术方案,在获取到新用户账户数据以及邀请新用户注册的老用户账户数据之后,可将新用户账户数据作为消息内容推送到新用户消息队列中;而后通过新用户消息队列推送的消息内容确定新用户账户关联的老用户账户数据,以建立新用户账户与老用户账户之间的邀请关系数据,进而确定老用户账户邀请的新用户信息和激励元素;而后通过老账户消息队列,产生包括老用户账户邀请的新用户信息和激励元素的链上事务处理请求,并发送至区块链网络,以使区块链网络处理该链上事务处理请求。相比于现有的技术方案,本方案基于区块链去中心化、公信力强及不可篡改等特性对用户处理,解决了由单一平台对用户处理存在单点风险、公信力弱等问题,保证了用户处理结果(例如老用户账户邀请的新用户信息和激励元素)的公开性和可靠性,提高了用户处理的公信力。此外,采用消息队列执行上链操作,进而使用户注册过程与执行上链操作解耦,避免了处理上链操作,导致注册速度降低的情况出现。实施例六图6为本发明实施例六提供的一种基于区块链的用户处理装置的结构框图,该装置可配置于业务应用服务器节点中。该装置可执行本发明任意实施例所提供的基于区块链的用户处理方法,具备执行方法相应的功能模块和有益效果。如图6所示,该装置可以包括:账户数据获取模块610,用于获取新用户账户数据,以及邀请新用户注册的老用户账户数据;账户关系处理模块620,用于根据新用户账户数据以及老用户账户数据,对账户关系进行处理;请求产生处理模块630,用于根据处理结果,产生链上事务处理请求,向区块链网络发送链上事务处理请求。本发明实施例提供的技术方案,通过根据获取的新用户账户数据以及邀请新用户注册的老用户账户数据,对账户关系进行处理;而后根据处理结果产生链上事务处理请求,并发送至区块链网络,以使区块链网络处理该链上事务处理请求。相比于现有的技术方案,本方案基于区块链去中心化、公信力强及不可篡改等特性对用户处理,解决了由单一平台对用户处理存在单点风险、公信力弱等问题,保证了用户处理结果的公开性和可靠性,提高了用户处理的公信力。示例性的,账户关系处理模块620可以包括:关系数据建立单元,用于根据新用户账户数据以及老用户账户数据,建立新用户账户与老用户账户之间的邀请关系数据;信息元素确定单元,用于根据新用户账户与老用户账户之间的邀请关系数据,确定老用户账户邀请的新用户信息和激励元素。示例性的,账户数据获取模块610可具体用于:获取通过老用户推广页面注册的新用户账户数据,以及老用户推广页面中包括的老用户账户数据。示例性的,关系数据建立单元可具体用于:将新用户账户数据作为消息内容,推送到新用户消息队列中;通过新用户消息队列推送的消息内容,确定新用户账户关联的老用户账户数据;依据确定的新用户账户关联的老用户账户数据,建立新用户账户与老用户账户之前的邀请关系数据。示例性的,信息元素确定单元可具体用于:根据新用户账户与老用户账户之间的邀请关系数据,确定老用户账户邀请的新用户账户数量和/或新用户活跃度;根据新用户账户数量和/或活跃度,确定老用户账户的激励元素。示例性的,请求产生处理模块630可具体用于:将老用户账户邀请的新用户信息和激励元素作为消息内容,推送到老账户消息队列中;通过所述老账户消息队列,产生包括老用户账户邀请的新用户信息和激励元素的链上事务处理请求。示例性的,消息内容中还可以包括消息的上链状态。实施例七图7为本发明实施例七提供的一种服务器的结构示意图,图7示出了适于用来实现本发明实施例实施方式的示例性服务器的框图。图7显示的服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。服务器70典型可以是具备用户处理功能的业务应用服务器。如图7所示,服务器70以通用计算设备的形式表现。服务器70的组件可以包括但不限于:一个或者多个处理器或者处理单元701,系统存储器702,连接不同系统组件(包括系统存储器702和处理单元701)的总线703。总线703表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。服务器70典型地包括多种计算机系统可读介质。这些介质可以是任何能够被服务器70访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。系统存储器702可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)704和/或高速缓存存储器705。服务器70可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统706可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线703相连。系统存储器702可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。具有一组(至少一个)程序模块707的程序/实用工具708,可以存储在例如系统存储器702中,这样的程序模块707包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块707通常执行本发明实施例所描述的实施例中的功能和/或方法。服务器70也可以与一个或多个外部设备709(例如键盘、指向设备、显示器710等)通信,还可与一个或者多个使得用户能与该服务器70交互的设备通信,和/或与使得该服务器70能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口711进行。并且,服务器70还可以通过网络适配器712与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图7所示,网络适配器712通过总线703与服务器70的其它模块通信。应当明白,尽管图中未示出,可以结合服务器70使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。处理单元701通过运行存储在系统存储器702中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的基于区块链的用户处理方法。实施例八本发明实施例八还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时用于执行一种基于区块链的用户处理方法,该方法包括:获取新用户账户数据,以及邀请新用户注册的老用户账户数据;根据所述新用户账户数据以及所述老用户账户数据,对账户关系进行处理;根据处理结果,产生链上事务处理请求,向区块链网络发送所述链上事务处理请求。本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1