1.一种居民户籍信息管理方法,其特征在于,所述方法应用于预设的居民户籍信息管理区块链中,所述居民户籍信息管理区块链包括一条主区块链及两条以上的次区块链,每条所述次区块链中包括一个主节点和至少一个次节点,所述主区块链中包括各条所述次区块链的主节点,所述方法包括:第一节点接收用户终端发送的居民户籍信息,所述第一节点为任意一个所述次节点;
所述第一节点根据所述居民户籍信息生成第一区块,并在所述第一节点所属的次区块链中广播所述第一区块;
所述第一节点所属的次区块链中的各个次节点根据所述第一区块更新本地的居民户籍信息数据库;
所述第一节点将所述居民户籍信息转发至第二节点,所述第二节点为所述第一节点所属的次区块链的主节点;
所述第二节点根据所述居民户籍信息生成第二区块,并在所述主区块链中广播所述第二区块;
所述主区块链中的各个主节点根据所述第二区块更新本地的居民户籍信息数据库。
2.根据权利要求1所述的居民户籍信息管理方法,其特征在于,在第一节点接收用户终端发送的居民户籍信息之前,还包括:所述第一节点接收所述用户终端发送的居民户籍信息存储请求,所述居民户籍信息存储请求中包括身份标识;
所述第一节点提取所述居民户籍存储请求中的身份标识,并在本地的居民户籍信息数据库中查询所述身份标识;
若所述第一节点在本地的居民户籍信息数据库中查询到所述身份标识,则向所述用户终端发送居民户籍信息已存在的消息;
若所述第一节点在本地的居民户籍信息数据库中未查找到所述身份标识,则向所述第二节点发送第一协同处理请求,所述第一协同处理请求中包括所述身份标识;
所述第二节点在接收到所述第一节点发送的所述第一协同处理请求后,在本地的居民户籍信息数据库中查询所述身份标识;
若所述第二节点在本地的居民户籍信息数据库查询到所述身份标识,则向所述第一节点发送居民户籍信息已存在的消息。
3.根据权利要求2所述的居民户籍信息管理方法,其特征在于,所述在本地的居民户籍信息数据库中查询所述身份标识包括:根据下式分别使用K个相互独立的哈希函数对所述身份标识进行哈希运算:HashKeyk=HASHk(Identity)
其中,Identity为所述身份标识,HASHk为序号为k的哈希函数,HashKeyk为运算得到的序号为k的哈希值,1≤k≤K,K为大于1的整数;
获取与本地的居民户籍信息数据库对应的查询数组,所述查询数组为预设的用于表征特定数据是否存储在本地的居民户籍信息数据库中的数组;
判断所述查询数组是否满足以下判断条件:对任意一个k的取值,等式ARRAY[HashKeyk]==Value_1均成立,其中,ARRAY为所述查询数组,Value_1为预设的第一数值;
若所述查询数组不满足所述判断条件,则判定在本地的居民户籍信息数据库中未查询到所述身份标识。
4.根据权利要求3所述的居民户籍信息管理方法,其特征在于,所述查询数组的预设过程包括:当本地的居民户籍信息数据库中尚未存储任何居民户籍信息时,对任意一个m的取值,均执行以下赋值操作:ARRAY[m]=Value_2
其中,1≤m≤M,M为所述查询数组中的元素个数,Value_2为预设的第二数值;
当本地的居民户籍信息数据库中新增了一条居民户籍信息时,提取所述居民户籍信息中的身份标识;
根据下式分别使用K个相互独立的哈希函数对所述身份标识进行哈希运算:HashKeyExistk=HASHk(IdentityExist)其中,IdentityExist为所述身份标识,HashKeyExistk为运算得到的序号为k的哈希值;
对任意一个k的取值,均执行以下赋值操作:
ARRAY[HashKeyExistk]=Value_1。
5.根据权利要求1至4中任一项所述的居民户籍信息管理方法,其特征在于,还包括:所述第一节点接收用户终端发送的居民户籍信息查询请求,所述居民户籍信息查询请求中包括身份标识;
所述第一节点提取所述居民户籍查询请求中的身份标识,并在本地的居民户籍信息数据库中查询所述身份标识;
若所述第一节点在本地的居民户籍信息数据库中查询到所述身份标识,则向所述用户终端发送与所述身份标识对应的居民户籍信息;
若所述第一节点在本地的居民户籍信息数据库中未查找到所述身份标识,则向所述第二节点发送第二协同处理请求,所述第二协同处理请求中包括所述身份标识;
所述第二节点在接收到所述第一节点发送的所述第二协同处理请求后,在本地的居民户籍信息数据库中查询所述身份标识;
若所述第二节点在本地的居民户籍信息数据库查询到所述身份标识,则向所述第一节点发送与所述身份标识对应的居民户籍信息;
所述第一节点向所述用户终端转发所述居民户籍信息。
6.一种服务器,其特征在于,所述服务器应用于预设的居民户籍信息管理区块链中的第一节点中,所述居民户籍信息管理区块链包括一条主区块链及两条以上的次区块链,每条所述次区块链中包括一个主节点和至少一个次节点,所述主区块链中包括各条所述次区块链的主节点,所述第一节点为任意一个所述次节点,所述服务器包括:居民户籍信息接收模块,用于接收用户终端发送的居民户籍信息;
第一区块生成模块,用于根据所述居民户籍信息生成第一区块;
第一区块广播模块,用于在所述第一节点所属的次区块链中广播所述第一区块,以使所述第一节点所属的次区块链中的各个次节点根据所述第一区块更新本地的居民户籍信息数据库;
第一转发模块,用于将所述居民户籍信息转发至第二节点,所述第二节点为所述第一节点所属的次区块链的主节点,以使所述第二节点根据所述居民户籍信息生成第二区块,并在所述主区块链中广播所述第二区块。
7.根据权利要求6所述的服务器,其特征在于,还包括:存储请求接收模块,用于接收所述用户终端发送的居民户籍信息存储请求,所述居民户籍信息存储请求中包括身份标识;
第一提取模块,用于提取所述居民户籍存储请求中的身份标识;
第一查询模块,用于在本地的居民户籍信息数据库中查询所述身份标识;
消息发送模块,用于若在本地的居民户籍信息数据库中查询到所述身份标识,则向所述用户终端发送居民户籍信息已存在的消息;
第一协同处理请求发送模块,用于若在本地的居民户籍信息数据库中未查找到所述身份标识,则向所述第二节点发送第一协同处理请求,以使所述第二节点在本地的居民户籍信息数据库中查询所述身份标识,所述第一协同处理请求中包括所述身份标识。
8.根据权利要求7所述的服务器,其特征在于,所述第一查询模块包括:哈希运算单元,用于根据下式分别使用K个相互独立的哈希函数对所述身份标识进行哈希运算:HashKeyk=HASHk(Identity)
其中,Identity为所述身份标识,HASHk为序号为k的哈希函数,HashKeyk为运算得到的序号为k的哈希值,1≤k≤K,K为大于1的整数;
查询数组获取单元,用于获取与本地的居民户籍信息数据库对应的查询数组,所述查询数组为预设的用于表征特定数据是否存储在本地的居民户籍信息数据库中的数组;
条件判断单元,用于判断所述查询数组是否满足以下判断条件:对任意一个k的取值,等式ARRAY[HashKeyk]==Value_1均成立,其中,ARRAY为所述查询数组,Value_1为预设的第一数值;
第一判定单元,用于若所述查询数组不满足所述判断条件,则判定在本地的居民户籍信息数据库中未查询到所述身份标识。
9.根据权利要求8所述的服务器,其特征在于,还包括:第一赋值模块,用于当本地的居民户籍信息数据库中尚未存储任何居民户籍信息时,对任意一个m的取值,均执行以下赋值操作:ARRAY[m]=Value_2
其中,1≤m≤M,M为所述查询数组中的元素个数,Value_2为预设的第二数值;
身份标识提取模块,用于当本地的居民户籍信息数据库中新增了一条居民户籍信息时,提取所述居民户籍信息中的身份标识;
哈希运算单元,用于根据下式分别使用K个相互独立的哈希函数对所述身份标识进行哈希运算:HashKeyExistk=HASHk(IdentityExist)其中,IdentityExist为所述身份标识,HashKeyExistk为运算得到的序号为k的哈希值;
第二赋值模块,用于对任意一个k的取值,均执行以下赋值操作:ARRAY[HashKeyExistk]=Value_1。
10.根据权利要求6至9中任一项所述的服务器,其特征在于,还包括:查询请求接收模块,用于接收用户终端发送的居民户籍信息查询请求,所述居民户籍信息查询请求中包括身份标识;
第二提取模块,用于提取所述居民户籍查询请求中的身份标识;
第二查询模块,用于在本地的居民户籍信息数据库中查询所述身份标识;
户籍信息发送模块,用于若所述第一节点在本地的居民户籍信息数据库中查询到所述身份标识,则向所述用户终端发送与所述身份标识对应的居民户籍信息;
第二协同处理请求发送模块,用于若在本地的居民户籍信息数据库中未查找到所述身份标识,则向所述第二节点发送第二协同处理请求,以使所述第二节点在本地的居民户籍信息数据库中查询所述身份标识,所述第二协同处理请求中包括所述身份标识;
第二转发模块,用于向所述用户终端转发所述第二节点发送的与所述身份标识对应的居民户籍信息。