一种学生信息存储方法、计算机可读存储介质及终端设备与流程

文档序号:15257670发布日期:2018-08-24 20:53阅读:257来源:国知局

本发明属于区块链技术领域,尤其涉及一种学生信息存储方法、计算机可读存储介质及终端设备。



背景技术:

目前通常使用的学生信息存储方式可以分为两类,一类是集中式存储,这种方式会将所有的学生信息集中存储在一个服务器中,但是这种存储方式在被黑客侵入或者发生故障时极易发生学生信息被篡改或者损坏的情况,安全性较低;另一类是分布式存储,这种方式会将学生信息分布存储在多个服务器中,也即形成了多套备份,有效地提高了信息的安全性,但是由于这种方式是以冗余度来换取安全性,在学生信息较多的情况下,会浪费大量的存储资源。



技术实现要素:

有鉴于此,本发明实施例提供了一种学生信息存储方法、计算机可读存储介质及终端设备,以解决现有的集中式存储安全性较低,以及分布式存储浪费大量的存储资源的问题。

本发明实施例的第一方面提供了一种学生信息存储方法,所述方法应用于预设的学生信息存储区块链中的任意一个节点,所述学生信息存储区块链包括两条以上的子区块链,所述学生信息存储区块链中的任意一个节点属于一条以上的所述子区块链,所述方法包括:

接收目标终端发送的学生信息,所述学生信息由与所述目标终端对应的预设的第一私钥签名;

使用预设的第一公钥对所述学生信息进行解签,得到解签后的学生信息,所述第一公钥和所述第一私钥属于同一密钥对;

确定所述解签后的学生信息的数据类型;

根据预设的数据类型对应关系从所述学生信息存储区块链中选取与所述数据类型对应的子区块链,所述数据类型对应关系用于指示所述数据类型与所述子区块链之间的对应关系;

若所述学生信息存储区块链中存在与所述数据类型对应的子区块链,则将与所述数据类型对应的子区块链确定为目标子区块链;

根据所述解签后的学生信息生成用于在所述目标子区块链中存储的目标区块;

在所述目标子区块链中广播所述目标区块,以使所述目标子区块链中的各个节点根据所述目标区块更新本地存储的学生信息。

本发明实施例的第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如下步骤:

接收目标终端发送的学生信息,所述学生信息由与所述目标终端对应的预设的第一私钥签名;

使用预设的第一公钥对所述学生信息进行解签,得到解签后的学生信息,所述第一公钥和所述第一私钥属于同一密钥对;

确定所述解签后的学生信息的数据类型;

根据预设的数据类型对应关系从所述学生信息存储区块链中选取与所述数据类型对应的子区块链,所述数据类型对应关系用于指示所述数据类型与所述子区块链之间的对应关系;

若所述学生信息存储区块链中存在与所述数据类型对应的子区块链,则将与所述数据类型对应的子区块链确定为目标子区块链;

根据所述解签后的学生信息生成用于在所述目标子区块链中存储的目标区块;

在所述目标子区块链中广播所述目标区块,以使所述目标子区块链中的各个节点根据所述目标区块更新本地存储的学生信息。

本发明实施例的第三方面提供了一种学生信息存储终端设备,所述终端设备应用于预设的学生信息存储区块链中的任意一个节点,所述学生信息存储区块链包括两条以上的子区块链,所述学生信息存储区块链中的任意一个节点属于一条以上的所述子区块链,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:

接收目标终端发送的学生信息,所述学生信息由与所述目标终端对应的预设的第一私钥签名;

使用预设的第一公钥对所述学生信息进行解签,得到解签后的学生信息,所述第一公钥和所述第一私钥属于同一密钥对;

确定所述解签后的学生信息的数据类型;

根据预设的数据类型对应关系从所述学生信息存储区块链中选取与所述数据类型对应的子区块链,所述数据类型对应关系用于指示所述数据类型与所述子区块链之间的对应关系;

若所述学生信息存储区块链中存在与所述数据类型对应的子区块链,则将与所述数据类型对应的子区块链确定为目标子区块链;

根据所述解签后的学生信息生成用于在所述目标子区块链中存储的目标区块;

在所述目标子区块链中广播所述目标区块,以使所述目标子区块链中的各个节点根据所述目标区块更新本地存储的学生信息。

本发明实施例与现有技术相比存在的有益效果是:本发明实施例应用于预设的学生信息存储区块链中的任意一个节点,所述学生信息存储区块链包括两条以上的子区块链,所述学生信息存储区块链中的任意一个节点属于一条以上的所述子区块链,具体地,本发明实施例接收目标终端发送的学生信息;使用预设的第一公钥对所述学生信息进行解签,得到解签后的学生信息;确定所述解签后的学生信息的数据类型;根据预设的数据类型对应关系从所述学生信息存储区块链中选取与所述数据类型对应的子区块链;若所述学生信息存储区块链中存在与所述数据类型对应的子区块链,则将与所述数据类型对应的子区块链确定为目标子区块链;根据所述解签后的学生信息生成用于在所述目标子区块链中存储的目标区块;在所述目标子区块链中广播所述目标区块,以使所述目标子区块链中的各个节点根据所述目标区块更新本地存储的学生信息。通过本发明实施例,一方面,每个子区块链中的节点存储相同的学生信息,即各种数据类型的学生信息也都存在多个备份,整体的安全性较高,另一方面,将不同数据类型的学生信息分别存储在不同的子区块链中,大大降低了整体的冗余度,减少了对于存储资源的消耗。

附图说明

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

图1为本发明实施例中一种学生信息存储方法的一个实施例流程图;

图2为本发明实施例中对广播的目标区块进行核对的示意流程图;

图3为本发明实施例中一种学生信息存储装置的一个实施例结构图;

图4为本发明实施例中一种学生信息存储终端设备的示意框图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例中的学生信息存储方法应用于预设的学生信息存储区块链中的任意一个节点,所述学生信息存储区块链包括两条以上的子区块链,所述学生信息存储区块链中的任意一个节点属于一条以上的所述子区块链。

这些节点可以是学校、校外教育机构、教育监管机构等机构用于存储学生信息的服务器。例如,学校部署的节点分别为节点11、节点12和节点13,这三个节点分别配置有子区块链a、子区块链b和子区块链c;校外教育机构x部署的节点分别为节点21和节点22,这两个节点分别配置有子区块链a和子区块链b;校外教育机构y部署的节点分别为节点31和节点32,这两个节点分别配置有子区块链a和子区块链c;教育监管机构部署的节点分别为节点41、节点42和节点43,这三个节点分别配置有子区块链a、子区块链b和子区块链c。

请参阅图1,本发明实施例中一种学生信息存储方法的一个实施例可以包括:

步骤s101、接收目标终端发送的学生信息。

所述学生信息是指由当前节点所服务的学生通过其终端发送的数据,例如,该学生信息可以是某学生发起的培训申请。

为了进一步提高学生信息存储过程的安全性,避免接收到恶意人员伪装发来的学生信息,所述学生信息可以由与所述目标终端对应的预设的第一私钥进行签名。

步骤s102、使用预设的第一公钥对所述学生信息进行解签,得到解签后的学生信息。

所述第一公钥和所述第一私钥属于同一密钥对。所述密钥对是在该学生在当前节点注册时由当前节点生成的,在密钥对生成后,当前节点保存其中的第一公钥,并将第一私钥发送给学生使用的所述目标终端进行保存。

步骤s103、确定所述解签后的学生信息的数据类型。

例如,数据类型a1可以为学生个人基本数据(姓名、性别、生日、籍贯等等),数据类型a2可以为学生成绩数据,数据类型b可以为在校外教育机构x的培训记录,数据类型c可以为在校外教育机构y的培训记录等等。

步骤s104、根据预设的数据类型对应关系从所述学生信息存储区块链中选取与所述数据类型对应的子区块链。

所述数据类型对应关系用于指示所述数据类型与所述子区块链之间的对应关系。

考虑到合作的多家机构之间对不同数据类型的学生信息的共享需求不同,例如,四家机构合作,其中两家机构需要共享数据类型a2的学生信息,该四家机构需要共享数据类型a1的学生信息,因此为了更好地隔离不同数据类型的学生信息的存储权限,可以按照学生信息的数据类型,将不同数据类型的学生信息存储到不同的子区块链上。

步骤s105、判断所述学生信息存储区块链中是否存在与所述数据类型对应的子区块链。

若所述学生信息存储区块链中存在与所述数据类型对应的子区块链,则执行步骤s106,若所述学生信息存储区块链中不存在与所述数据类型对应的子区块链,则执行步骤s107。

步骤s106、将与所述数据类型对应的子区块链确定为目标子区块链;

步骤s107、将所述学生信息存储区块链中预设的默认子区块链确定为所述目标子区块链;

为了便于多个机构之间不受数据类型的限制来共享数据,还可以配置一条共享的默认子区块链,该默认子区块链用于存储多个机构之间共享的学生信息,例如,对于具有普遍共享需求的学生个人基本数据或学生成绩数据等学生信息,均可以存储到默认子区块链中。

步骤s108、根据所述解签后的学生信息生成用于在所述目标子区块链中存储的目标区块。

具体地,获取本地存储的所述目标子区块链的链尾区块,所述链尾区块为最新添加入所述目标子区块链中的区块,所述目标子区块链的每个区块均包括区块头和区块主体;对所述链尾区块的区块头进行特征运算,得到第一特征值;对所述解签后的学生信息进行特征运算,得到第二特征值;根据所述第一特征值和所述第二特征值生成所述目标区块的区块头,并根据所述解签后的学生信息生成所述目标区块的区块主体。

步骤s109、在所述目标子区块链中广播所述目标区块,以使所述目标子区块链中的各个节点根据所述目标区块更新本地存储的学生信息。

需要注意的是,步骤s108和步骤s109采取的是由当前节点来进行目标区块生成以及广播的工作。在本实施例的另一种实现中,也可以由其它节点来进行目标区块生成以及广播的工作,具体地,当前节点可以从所述目标子区块链选取一个节点作为目标节点;将所述解签后的学生信息发送至所述目标节点,以使所述目标节点根据所述解签后的学生信息生成所述目标区块,并在所述目标子区块链中广播所述目标区块。

优选地,在所述目标子区块链中广播所述目标区块之后,所述学生信息存储方法还可以包括如图2所示的对广播的所述目标区块进行核对的过程:

步骤s201、接收所述目标子区块链中的各个节点反馈的对所述目标区块进行核对后的核对结果。

所述目标子区块链中的各个节点在接收到广播的所述目标区块后,各自独立地对其进行校验,即各自在本地重新进行一次目标区块的生成过程,并将本地生成的结果与所述目标区块进行对比,若两者一致,则向当前节点反馈正确的核对结果,若两者不一致,则向当前节点反馈错误的核对结果。

步骤s202、统计所述核对结果为正确的个数以及所述核对结果为错误的个数。

步骤s203、判断所述目标子区块链预设的节点总个数、所述核对结果为正确的个数以及所述核对结果为错误的个数是否满足预设的判定条件。

在本实施例中,将所述目标子区块链预设的节点总个数用total_num表示,将所述核对结果为正确的个数用pos_num表示,将所述核对结果为错误的个数用neg_num表示,则所述判定条件可表示为:

其中,η1和η2均为预设的阈值。

若满足所述判定条件,则执行步骤s204,若不满足所述判定条件,则执行步骤s205。

步骤s204、向所述核对结果为错误的节点下发存储所述目标区块的指令。

即基于共识机制,在满足所述判定条件的情况下,则可以判定所述目标区块是正确的,反馈核对结果为错误的节点可能存在故障,其核对结果将被忽略,向其下发存储所述目标区块的指令,强制其存储所述目标区块。

步骤s205、向所述核对结果为正确的节点下发删除所述目标区块的指令。

即基于共识机制,在不满足所述判定条件的情况下,则可以判定所述目标区块是不正确的,反馈核对结果为正确的节点可能存在故障,其核对结果将被忽略,向其下发删除所述目标区块的指令,强制其删除所述目标区块。

综上所述,本发明实施例应用于预设的学生信息存储区块链中的任意一个节点,所述学生信息存储区块链包括两条以上的子区块链,所述学生信息存储区块链中的任意一个节点属于一条以上的所述子区块链,具体地,本发明实施例接收目标终端发送的学生信息;使用预设的第一公钥对所述学生信息进行解签,得到解签后的学生信息;确定所述解签后的学生信息的数据类型;根据预设的数据类型对应关系从所述学生信息存储区块链中选取与所述数据类型对应的子区块链;若所述学生信息存储区块链中存在与所述数据类型对应的子区块链,则将与所述数据类型对应的子区块链确定为目标子区块链;根据所述解签后的学生信息生成用于在所述目标子区块链中存储的目标区块;在所述目标子区块链中广播所述目标区块,以使所述目标子区块链中的各个节点根据所述目标区块更新本地存储的学生信息。通过本发明实施例,一方面,每个子区块链中的节点存储相同的学生信息,即各种数据类型的学生信息也都存在多个备份,整体的安全性较高,另一方面,将不同数据类型的学生信息分别存储在不同的子区块链中,大大降低了整体的冗余度,减少了对于存储资源的消耗。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

对应于上文实施例所述的一种学生信息存储方法,图3示出了本发明实施例提供的一种学生信息存储装置的一个实施例结构图,所述装置应用于所述学生信息存储区块链中的任意一个节点。

本实施例中,一种学生信息存储装置可以包括:

学生信息接收模块301,用于接收目标终端发送的学生信息,所述学生信息由与所述目标终端对应的预设的第一私钥签名;

学生信息解签模块302,用于使用预设的第一公钥对所述学生信息进行解签,得到解签后的学生信息,所述第一公钥和所述第一私钥属于同一密钥对;

数据类型确定模块303,用于确定所述解签后的学生信息的数据类型;

对应关系查询模块304,用于根据预设的数据类型对应关系从所述学生信息存储区块链中选取与所述数据类型对应的子区块链,所述数据类型对应关系用于指示所述数据类型与所述子区块链之间的对应关系;

第一确定模块305,用于若所述学生信息存储区块链中存在与所述数据类型对应的子区块链,则将与所述数据类型对应的子区块链确定为目标子区块链;

目标区块生成模块306,用于根据所述解签后的学生信息生成用于在所述目标子区块链中存储的目标区块;

目标区块广播模块307,用于在所述目标子区块链中广播所述目标区块,以使所述目标子区块链中的各个节点根据所述目标区块更新本地存储的学生信息。

进一步地,所述学生信息存储装置还可以包括:

核对结果接收模块,用于接收所述目标子区块链中的各个节点反馈的对所述目标区块进行核对后的核对结果;

核对结果统计模块,用于统计所述核对结果为正确的个数以及所述核对结果为错误的个数;

存储指令下发模块,用于若所述目标子区块链预设的节点总个数、所述核对结果为正确的个数以及所述核对结果为错误的个数满足预设的判定条件,则向所述核对结果为错误的节点下发存储所述目标区块的指令;

删除指令下发模块,用于若所述目标子区块链预设的节点总个数、所述核对结果为正确的个数以及所述核对结果为错误的个数不满足所述判定条件,则向所述核对结果为正确的节点下发删除所述目标区块的指令。

进一步地,所述学生信息存储装置还可以包括:

目标节点选取模块,用于从所述目标子区块链选取一个节点作为目标节点;

学生信息发送模块,用于将所述解签后的学生信息发送至所述目标节点,以使所述目标节点根据所述解签后的学生信息生成所述目标区块,并在所述目标子区块链中广播所述目标区块。

进一步地,所述目标区块生成模块可以包括:

链尾区块获取单元,用于获取本地存储的所述目标子区块链的链尾区块,所述链尾区块为最新添加入所述目标子区块链中的区块,所述目标子区块链的每个区块均包括区块头和区块主体;

第一特征运算单元,用于对所述链尾区块的区块头进行特征运算,得到第一特征值;

第二特征运算单元,用于对所述解签后的学生信息进行特征运算,得到第二特征值;

目标区块生成单元,用于根据所述第一特征值和所述第二特征值生成所述目标区块的区块头,并根据所述解签后的学生信息生成所述目标区块的区块主体。

进一步地,所述学生信息存储装置还可以包括:

第二确定模块,用于若所述学生信息存储区块链中不存在与所述数据类型对应的子区块链,则将所述学生信息存储区块链中预设的默认子区块链确定为所述目标子区块链。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

图4示出了本发明实施例提供的一种学生信息存储终端设备的示意框图,为了便于说明,仅示出了与本发明实施例相关的部分。

在本实施例中,所述学生信息存储终端设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该学生信息存储终端设备4可包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机可读指令42,例如执行上述的学生信息存储方法的计算机可读指令。所述处理器40执行所述计算机可读指令42时实现上述各个学生信息存储方法实施例中的步骤,例如图1所示的步骤s101至s109。或者,所述处理器40执行所述计算机可读指令42时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至307的功能。

示例性的,所述计算机可读指令42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令42在所述学生信息存储终端设备4中的执行过程。

所述处理器40可以是中央处理单元(centralprocessingunit,cpu),还可以是其它通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器41可以是所述学生信息存储终端设备4的内部存储单元,例如学生信息存储终端设备4的硬盘或内存。所述存储器41也可以是所述学生信息存储终端设备4的外部存储设备,例如所述学生信息存储终端设备4上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器41还可以既包括所述学生信息存储终端设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机可读指令以及所述学生信息存储终端设备4所需的其它指令和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。

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

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干计算机可读指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储计算机可读指令的介质。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1