一种处理用户数据的方法及装置的制造方法_2

文档序号:8265850阅读:来源:国知局
用于块链网络的任意网络节点的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
[0033]为了使本发明实施例更加易于理解,首先对块链网络进行简单介绍。如图1所示的块链网络100,是由若干个网络节点所组成的基于P2P (Peer to Peer,对等计算)技术去中心化的对等网络。其中,一个网络节点可以表现为运行于终端设备之上的一个应用或客户端。块链网络中的每个网络节点都维护着一串使用密码学方法相关联产生的区块链,以及,一份账户列表。各个网络节点之间通过广播来获取最新的区块数量以及区块信息,从而保证各个网络节点之间的区块链以及账户列表是同步维护的。例如,如图2所示的区块链在程序代码上的实现可以如下所示:
[0034]struct Block{
[0035]hash HASH(S[η])
[0036]hash S[n_l]
[0037]};
[0038]其中,区块链的每个区块中的头部中包含一个HASH(S[n]),其中S[n]是下一次生产区块时将产生的密钥。同时当前区块也包含上一个区块的密钥S[n-1]。由于区块链中已确认的区块中,会保存被证明为用户信用量的拥有者的用户信用量转移历史记录item,后面产生的区块头中包含之前区块产生的区块哈希值,不可以逆转,如此,便形成了用户信用量转移历史记录不可逆转的区块链。
[0039]下面,结合图3,对本发明实施例提供的应用于块链网络的任意网络节点的处理用户数据的方法流程进行介绍。如图3所示,该方法可以包括:
[0040]S310、经由第一指定接口,接收用户通过第一客户端发出的导出请求,其中,所述导出请求涉及将所述用户在所述第一客户端的第一用户信用量导出到所述块链网络的第一账户。
[0041]其中,所述第一指定接口,是应用本发明实施例提供的方法的网络节点所提供的应用程序接口,是对本发明实施例方法所实现的功能的抽象。所述第一指定接口的相关定义、协议的内容不限。例如,所述第一指定接口的协议中,可以规定了所述导出请求应携带的数据内容,如第一用户信用量、第一账户的相关信息如第一账户的账号等,以及这些数据内容的格式,如数据长度、等等。
[0042]其中,用户在第一客户端的第一用户信用量在导出到第一账户之前,可以保存在所述块链网络的原始账户中。该原始账户可以在初始创建所述块链网络时创建,其中,可以设置有一定数量的用户信用量作为基本信用量。
[0043]一些可能的实施方式中,原始账户中的用户信用量的拥有者可以为服务器侧。当用户在第一客户端通过某种方式,如交换等方式使服务器侧将所述第一用户信用量赋予所述用户之后,所述第一用户信用量即成为所述用户在第一客户端的第一用户信用量。进而,用户可以通过第一客户端向服务器侧发出将所述第一用户信用量导出到块链网络的第一账户的导出请求。服务器侧通过调用第一指定接口向应用本发明实施例方法的网络节点发出所述导出请求。应用本发明实施例方法的网络节点经由所述第一指定接口接收所述导出请求,确定需要将服务器侧的原始账户中的第一用户信用量转移到第一用户所要求的第一账户中。以网络游戏场景为例,所述第一客户端可以为网络游戏客户端。应用本发明实施例方法的网络节点可以配置于网络游戏服务器侧。所述经由第一指定接口,接收用户通过第一客户端发出的导出请求,具体可以经由第一指定接口,接收网络游戏服务器侧转发的所述用户通过网络游戏客户端发出的导出请求。
[0044]另一些可能的实施方式中,原始账户中的用户信用量的拥有者可以为所述第一客户端。进而,用户可以通过第一客户端直接向应用本发明实施例方法的网络节点发出将所述第一用户信用量导出到块链网络的第一账户的导出请求。其中,所述第一账户可以是所述块链网络的网络节点所维护的账户列表中的一条记录。该第一账户可以是发出所述导出请求的用户的账户,也可以是其他用户的账户。以网络游戏场景为例,所述第一客户端可以为网络游戏客户端。应用本发明实施例方法的网络节点可以与所述网络游戏客户端配置于同一终端设备之上。或者,应用本发明实施例方法的网络节点可以与所述网络游戏客户端配置于可通过网络连接的不同终端设备之上。
[0045]其中,所述第一用户信用量可以以各种表现形式出现,如,第一用户信用量可以为游戏币,用户积分、现实金融系统中的法币如人民币,美元、等等。
[0046]一些可能的实施方式中,本发明实施例提供的方法还可以设置有对不同信用量类型的用户信用量进行相互转换的网关。例如,不同信用量类型可以包括:游戏币、用户积分、法币等等。所述网关可以将游戏币按照一定比例转换为用户积分,或,将用户积分按照一定比例转换为法币、等等。例如,所述网关所设置的转换关系可以为:块链网络内流通的信用量类型所对应的用户信用量=(块链网络的抵押金总量/第一客户端对应系统的抵押金总量)*第一用户信用量。当接收到用户通过第一客户端发出的导出请求时,可以利用所述网关将所述第一用户信用量转换为所述块链网络内流通的信用量类型所对应的用户信用量。在该实施方式中,不同客户端对应的不同信用量类型的用户信用量可以通过该网关按比例换算转换为同一信用量类型的用户信用量,以便用户信用量在块链网络内具有通用性。
[0047]S320、将所述导出请求在所述块链网络的其他网络节点间进行广播。
[0048]其中,所述将导出请求在块链网络的其他网络节点间进行广播的具体实现方式不限,可以参照基于P2P技术的对等网络广播消息的一般实施方式实现。例如,可以通过相邻网络节点接力的方式将所述导出请求广播到全块链网络。
[0049]S330、响应于接收到其他网络节点对所述导出请求的确认,将所述用户在所述第一客户端的第一用户信用量转移到所述块链网络的所述第一账户中。
[0050]例如,如果用户在第一客户端有100个用户积分,用户想将第一客户端保存在账户A中的20个用户积分转移给块链网络中的账户B,则用户可以通过第一客户端发出导出20个用户积分到账户B的导出请求,应用本发明实施例方法的网络节点在经过上述S310-S330,可以将账户A中的20个用户积分转移到账户B中,使得账户A中扣除20个用户积分,剩余80个用户积分,使得账户B中添加20个用户积分。
[0051]可见,由于应用本发明实施例方法的网络节点提供了可供调用的第一指定接口,因此,可以经由第一指定接口,接收用户通过第一客户端发出的涉及导出用户信用量到所述块链网络的第一账户的导出请求,将所述导出请求在所述块链网络的其他网络节点间进行广播。由于块链网络的区块链中的用户信用量转移历史记录不可逆转,因此,其他网络节点可以根据区块链中的历史记录进行导出请求涉及的用户信用量的转移是否可确认的计算,从而应用本发明实施例方法的网络节点在接收到其他网络节点对所述导出请求的确认时,可以确定将第一用户信用量转移到块链网络的第一账户不会发生双花现象。在将第一用户信用量转移到区块链网络中的第一账户之后,使得用户信用量不会留在服务器侧成为垃圾数据。对于用户来说,其用户信用量可以在块链网络的账户之间自由转移,不再需要服务器侧来管理,即使与客户端对应的服务器侧停止服务,也不会对用户的利益造成损害,为用户带来了更好的体验。
[0052]一些可能的实施方式中,本发明实施例提供的方法还可以包括:
[0053]S340、经由第二指定接口,接收第二客户端发出的导入请求,其中,所述导入请求涉及将所述第一账户的第二用户信用量导入到第二客户端的第二账户。
[0054]一些可能的实施方式中,本发明实施例提供的方法还可以设置有对不同信用量类型的用户信用量进行相互转换的网关。当接收到用户通过第二客户端发出的导入请求时,利用所述网关将所述第二用户信用量转换为所述第二客户端内流通的信用量类型所对应的用户信用量。
[0055]S341、将所述导入请求在所述块链网络的其他网络节点间进行广播。
[0056]S342、响应于接收到其他网络节点对所述导入请求的确认,将所述第二用户信用量从所述第一账户中扣除,并向所述第二客户端发出将所述第二用户信用量导入到第二客户端的第二账户的确认消息。
[0057]需要注意的是,本发明实施例提到的步骤S340、S341以及S342在图3中以虚线绘制,以表示这些步骤不是本发明实施例提供的方法的必要步骤。不过,可以理解的是,在本发明实施例提供的方法包括这些步骤时,应用本发明实施例方法的网络节点可以通过第二指定接口,将如网上商城、话费充值等第三方应用接入块链网络,进而,将用户信用量按照第二指定接口所定义的协议转移到这些第三方应用中使用。
[0058]本发明一些可能的实施方式中,为了确保区块网络中账户的安全,每个账户均具有对应的一对公钥与私钥。在得到其他网络节点对导出请求或导入请求的确认而需要将用户信用量从块链网络的一个账户转移到块链网络的另一个账户时,可以从导出请求或导入请求中获取其携带的公钥。其中,所述公钥可以由需要被转移的用户信用量、需要被转移到的另一账户的账号等信息经过md5、sha256等多种加密算法加密得
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1