一种基于区块链的在线教学共识系统及学习记录方法与流程

文档序号:20918121发布日期:2020-05-29 13:47阅读:168来源:国知局
一种基于区块链的在线教学共识系统及学习记录方法与流程

本申请涉及计算机领域,具体涉及一种基于区块链的在线教学共识系统及学习记录方法。



背景技术:

近年来,开放教育资源为广大学习者和教育工作者提供了丰富、开放的学习资源,在不久的将来,在线教学将与线下教学齐头并进,在线教学的比重将会越来越大。然而每个人在不同阶段所选用的在线教学平台不同,相同学习群体所选用的在线教学工具也有不同,这就造成了个体或相同学习群体的在线学习经历无法统一管理,在线教学的成绩考核在跨平台情况下也难以取得互通共识的统一认证。这就为在线教学的资源整合和统筹发展造成了难以克服的鸿沟,进而制约了在线教育的发展。

因此亟需一种可灵活接入各类在线教学平台,为在线教学提供具有共识能力的跨平台互认机制的技术手段。



技术实现要素:

本申请提供一种基于区块链的在线教学共识系统及学习记录方法,以解决由于现有的在线教育平台众多,造成了学习个体或相同学习群体的在线学习经历无法统一管理,同时在线教学的成绩考核在跨平台情况下难以取得互通共识的统一认证,极大制约在线教育的发展的技术问题,以实现灵活接入各类在线教学平台,为在线教学提供具有共识能力的跨平台互认机制的有益效果。

本发明的具体技术方案为:

一种基于区块链的在线教学共识系统,包括在线教学共识系统、在线教学信息规范接口以及若干在线教学平台,所述在线教学共识系统上运行有基于区块链的学习记录程序,与若干在线教学平台共同构成区块链系统,所述在线教学共识系统与若干所述在线教学平台通过网络实现物理互连,所述在线教学共识系统与若干所述在线教学平台通过所述在线教学信息规范接口实现数据互通。

进一步,所述在线教学共识系统包括:

用户服务模块,用于为在线教学平台的用户提供注册、操作记录数据存储;

数据采集模块,与所述用户服务模块数据连接,用于按时间顺序收集用户的学习记录;

信用管理模块,与所述数据采集模块数据连接,用于计算、存储和动态管理各个节点的信用值表;

区块服务模块,与所述信用管理模块数据连接,用于管理区块链系统的共识策略,并接收数据采集模块传来的信息和处理区块业务数据。

进一步,所述网络包括英特网、局域网、自定义协议的自组网络。

进一步,所述区块服务模块包括,包括共识管理模块、分布式计算模块、分布式存储模块;

所述共识管理模块用于管理区块链系统的共识策略,并根据区块链系统的网络状态自动切换最佳共识策略;

所述分布式计算模块用于区块链系统中各节点学习记录的分布式处理,将学习记录拆分为多个带有序号的子数据;

所述分布式存储模块向区块链网络广播子数据和拆分列表,用于学习记录的存储及协议的实现,并将生成的新数据区块发布给所有节点。

一种基于上述基于区块链的在线教学共识系统的共识学习记录方法,包括以下步骤:

s1.以在线教学共识系统和所有接入到系统的在线教学平台为节点,部署区块链系统,采集各节点的在线学习记录,并对区块链系统所有节点的信用值动态管理;

s101:用户服务模块对各在线学习平台的用户数据进行管理,并将数据实时发送至数据采集模块;

s102:信用管理模块计算区块链系统中各节点的信用值情况;

s103:信用管理模块对每个节点的信用值进行动态管理;

s2.共识管理模块对所述区块链系统的共识策略进行管理,确保系统在任何阶段都具有高效的共识机制和响应实时性;

s3.分布式计算模块将数据采集模块传来的学习记录拆分为多个带有序号的子数据,通过分布式存储模块形成与子数据序号对应的节点的唯一识别码的拆分列表,并向区块链的其他节点广播子数据和拆分列表,进一步提高系统安全性;

s301:通过分布式计算模块将学习记录拆分为多个带有序号的子数据;

s302:分布式存储模块形成与子数据序号对应的节点的唯一识别码的拆分列表,并向区块链的其他节点广播子数据和拆分列表。

进一步,s101步骤中,各类在线教学平台将自身平台的用户信息、学习和操作记录等信息打包形成数据包后,通过在线教学信息规范接口将所述数据包发送给在线教学共识系统的用户服务模块,用户服务模块对数据包进行解析后,得到用户信息、所在教学平台的学习和操作记录信息等,然后将所述信息实时发送给数据采集模块;数据采集模块实时收集学习者的学习记录和操作行为数据,当收集达到预设数量的业务数据或者距离上一次收集业务数据达到一定的时间间隔,数据采集模块将所采集的业务数据信息发送给信用管理模块。

进一步,s102步骤中,信用管理模块计算区块链系统中各节点的信用值情况;其中信用值的具体计算方法为,本发明所述区块链系统中,当节点a的区块通过哈希指针连接到了节点b的区块上,那么节点b就是节点a的相邻节点,在计算节点a的当前信用值时,信用管理模块向节点b发起数据请求,询问节点a与节点b历史通信中数据包收发成功率,收到节点b的数据回复后,对节点a的信用值f进行计算,计算方法:

其中,是节点b与节点a的收发成功率,m是节点b在某个时间段内成功发送的来自节点a的数据包数量,n是在某个时间段内节点b收到的来自节点a的数据包数量,,n-1是节点a的邻节点数量,是时间周期数;

采用信用值f的计算方法,信用管理模块将算得区块链系统中每个节点的信用值。

进一步,s103步骤中,信用管理模块对每个节点的信用值进行动态管理,实现信用值动态管理的具体处理过程为:

采用信用消耗机制,节点的信用值会随着时间发生变化,信用消耗是指信用值随着时间而降低,节点的最新信用值计算方法为:,其中,是最新信用值,是上一状态的信用值,是前后两次接收信息的时间间隔;是时间常量,取系统心跳周期;是信用消耗速度,是一个常量,可结合具体情况对进行调整。

进一步,s2步骤中,所述共识管理模块中管理有多种共识策略,可根据系统运行状态自动选择最佳共识策略,具体共识策略设置如下:

可靠性优先策略:可靠性优先策略采用了51%原则,即在区块链中任意节点发起数据请求时,采用区块链系统中所有节点51%以上的节点的共识结果为最终请求结果,可最大程度保证数据的可靠性;但可靠性优先策略将影响系统的响应实时性;

平衡策略:在区块链系统受网络质量影响或通信波峰波谷的冲击影响,为了兼顾可靠性和响应效率,设置有平衡策略,所述平衡策略设置如下:

根据s1步骤所述,信用管理模块中管理有区块链系统中各节点的信用值,对于n个节点的系统来说,与节点k对应的最新信用值记为,n个节点的最新信用值集合记为,按信用值从高到低顺序排序得到集合

平衡策略中,共识结果的产生以集合中取前51%的节点作为共识参与节点,共识参与节点的51%以上共识结果即为最终请求结果,平衡策略将在保证响应效率的前提下,获得最可靠的共识结果;

速度优先策略:

在区块链系统通信环境极端恶劣的情况下,为了获得最优的响应效率,设置有速度优先策略,具体处理过程如下:

从最新信用值排序集合中选取前α(0<α<1)的节点作为共识参与节点,在速度优先的策略下,α应设置为小于平衡策略中的51%,最少要选取信用值最大的节点作为共识参与节点。

进一步,s2步骤中,三种策略的自动切换方法为:

在区块链系统运行过程中,将记录所有节点的数据请求超时事件,对于n个节点的系统来说,设定单位时间,单位为秒),同时设置两个阈值:单位时间内超时事件数阈值为大于0的整数),单位时间内超时节点面积阈值(0<<1),单位时间内超时节点面积=单位时间内有超时的节点数/n,根据系统运行过程中的数据请求超时事件情况,区块链系统将自动切换最佳的共识策略,记时间内超时事件数为,切换策略如下:

本发明至少具有以下有益效果:

(1)采用了基于区块链的在线教学共识系统技术,可与任意符合接口规范的在线教学平台对接,解决了个体或相同学习群体的在线学习经历无法统一管理,在线教学的成绩考核在跨平台情况下也难以取得互通共识的统一认证的问题。

(2)本发明设计有专门的信用管理模块,负责计算和动态维护区块链系统中的节点信用,解决了在不同共识策略要求下,快速选出参与共识决策的节点。

(3)本发明设计有专门的共识管理模块,可预置多种共识策略,以应对不同网络状况下综合可靠性和效率的最优共识策略。

(4)本发明采用了将业务数据拆分为子数据和拆分列表的方法进行区块存储,大大加强了系统的安全性。

附图说明

图1为本发明所述基于区块链的在线教学共识系统的应用逻辑图;

图2为本发明所述在线教学共识系统组成框图;

图3为本发明所述基于区块链的在线教学共识学习记录方法流程图。

具体实施方式

以下将结合说明书附图和具体实施例来详细说明本发明技术方案,需要说明的是,只要不构成冲突,本发明中的各个实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

参照图1,基于区块链的在线教学共识系统的应用逻辑图,整个系统应用从逻辑上主要包括三大部分:在线教学共识系统10、在线教学信息规范接口20以及若干在线教学平台30。所述在线教学共识系统10上运行有本发明所述的基于区块链的学习记录程序,并且和若干在线教学平台30共同构成区块链系统,在线教学共识系统10和若干在线教学平台30通过网络实现物理互连,所述的网络包括但不限于英特网、局域网、自定义协议的自组网络等形式。

在线教学共识系统10与在线教学平台30通过在线教学信息规范接口20实现数据互通,所述在线教学信息规范接口20是一种人为约定的可以实现在线教学共识系统10与在线教学平台30之间互通共识数据的标准规约,凡遵从所述标准规约的节点都可以参与共识数据互通。

参照图2,本发明所述基于区块链的在线教学共识系统由以下部分构成:用户服务模块101、数据采集模块102、信用管理模块103、区块服务模块104。

所述用户服务模块101用于为在线教学平台的用户提供注册、操作记录数据存储等功能;用户服务模块101与数据采集模块102具有数据连接,可以互通数据。

所述数据采集模块102用于按时间顺序收集用户的学习记录;数据采集模块102与信用管理模块103具有数据连接,可以互通数据。数据采集模块还与区块服务模块104具有数据连接,可以互通数据。

所述信用管理模块103用于计算、存储和动态管理各个节点的信用值表;信用管理模块103与区块服务模块104之间具有数据连接,可以互通数据。

所述区块服务模块104用于管理区块链系统的共识策略,并接收数据采集模块传来的信息和处理区块业务数据,包括共识管理模块1041、分布式计算模块1042、分布式存储模块1043;

所述共识管理模块1041用于管理区块链系统的共识策略,并根据区块链系统的网络状态自动切换最佳共识策略;

所述分布式计算模块1042用于区块链系统中各节点学习记录的分布式处理,将学习记录拆分为多个带有序号的子数据;

所述分布式存储模块1043向区块链网络广播子数据和拆分列表,用于学习记录的存储及协议的实现,并将生成的新数据区块发布给所有节点。

作为本发明的一个实施例,

在线学习者通过各类在线教学平台30注册成为在线教学平台的用户,并在所述在线教学平台中进行在线学习,在线教学平台记录用户的学习记录和学习过程中的操作行为。并将用户注册信息以及所述学习记录和操作行为数据打包后按照数据接口标准通过在线教学信息规范接口20将数据发送给在线教学共识系统10;在线教学共识系统10中的用户服务模块101收到在线教学信息规范接口20传来的打包数据后,解析并存储用户注册信息以及本用户的学习记录和操作行为数据,同时将解析后的数据发送给数据采集模块102,数据采集模块102实时收集学习者的学习记录和操作行为数据,当收集达到预设数量的业务数据或者距离上一次收集业务数据达到一定的时间间隔,数据采集模块102将所采集的信息发送给信用管理模块103,所述预设数量的业务数据是为了方便在线教学共识系统计量各在线学习者学习的持续性和质量而人为设置的数量策略,包括但不限于学习者完成的课时数、连续完成的学习任务数、回答问题的数量等。所述距离上一次收集业务数据达到一定的时间间隔是为了方便在线教学共识系统计量各在线学习者学习的持续性和质量而人为设置的时间策略。在本实施例中,预设数量的业务数据采用了综合策略方法,预设数量的业务数据设置为在线学习者连续完成的学习任务数为15,同时距离上一次收集业务数据的时间间隔设置为8小时,数量策略和时间策略可根据在线教学共识系统所属的服务器计算资源高低而指定。

信用管理模块103接收到数据采集模块102发来的信息后,首先计算数据采集模块发来的信息中相关节点的信用值,并动态维护区块链中所有节点的信用值。

共识管理模块1041接收信用管理模块103传来的最新节点信用,并对区块链系统的共识策略进行管理,根据网络状态自动选择最佳共识策略,以确保系统的可靠性和效率。

另一方面,所述数据采集模块还会将采集数据发送至区块服务模块104,所述区块服务模块中的分布式计算模块1042将学习记录拆分为多个带有序号的子数据,分布式存储模块1043形成与子数据序号对应的节点的唯一识别码的拆分列表,并向区块链的其他节点广播子数据和拆分列表,当节点发起数据请求时,按所述拆分列表索引合成新的数据,通过哈希算法生成新数据的哈希值。判断原数据哈希值与新数据哈希值是否相同,若相同,则将新数据转化为原数据输出;否则,更换保存相同序号子数据的节点,重新合成新数据并判断其哈希值是否与原数据哈希值相同,从而确保系统安全。

基于以上在线教学共识系统,本发明还提出了一种共识学习记录方法,参照图3,具体处理步骤如下:

s1.以在线教学共识系统和所有接入到系统的在线教学平台为节点,部署区块链系统,采集各节点的在线学习记录,并对区块链系统所有节点的信用值动态管理。

s101:用户服务模块101对各在线学习平台的用户数据进行管理,并将数据实时发送至数据采集模块102;

各类在线教学平台30将自身平台的用户信息、学习和操作记录等信息打包形成数据包后,通过在线教学信息规范接口20将所述数据包发送给在线教学共识系统的用户服务模块101,用户服务模块101对数据包进行解析后,得到用户信息、所在教学平台的学习和操作记录信息等,然后将所述信息实时发送给数据采集模块102。数据采集模块102实时收集学习者的学习记录和操作行为数据,当收集达到预设数量的业务数据或者距离上一次收集业务数据达到一定的时间间隔,数据采集模块102将所采集的业务数据信息发送给信用管理模块103。

需要说明的是,所述预设数量的业务数据是为了方便在线教学共识系统计量各在线学习者学习的持续性和质量而人为设置的数量策略,包括但不限于学习者完成的课时数、连续完成的学习任务数、回答问题的数量等。所述距离上一次收集业务数据达到一定的时间间隔是为了方便在线教学共识系统计量各在线学习者学习的持续性和质量而人为设置的时间策略。在本实施例中,预设数量的业务数据采用了综合策略方法,预设数量的业务数据设置为在线学习者连续完成的学习任务数为15,同时距离上一次收集业务数据的时间间隔设置为8小时,数量策略和时间策略可根据在线教学共识系统所属的服务器计算资源高低而指定。

采用本发明所述的设置数量和时间计量策略的有益效果是,在保证准确、实时计量每个在线学习者学习质量的前提下,大大降低了区块链系统的读写频率,提高了区块链系统的资源利用效率。

s102信用管理模块103计算区块链系统中各节点的信用值情况。

在区块链系统中,信用管理模块103计算系统中节点a的当前信用值的具体过程如下:

信用管理模块对系统中节点信用值的计算采用“相邻信任”原则,所述“相邻信任原则”是指信用管理模块默认所要计算信用值的节点的区块链相邻节点为可信的。假设本发明所述区块链系统中,节点a的区块通过哈希指针连接到了节点b的区块上,那么节点b就是节点a的相邻节点,需要说明的是,一个节点中可能会有多个区块,因此一个节点就可能有多个邻节点。在计算节点a的当前信用值时,信用管理模块103向节点b发起数据请求,询问节点a与节点b历史通信中数据包收发成功率,收到节点b的数据回复后,对节点a的信用值f进行计算,计算方法:

其中,是节点b与节点a的收发成功率,m是节点b在某个时间段内成功发送的来自节点a的数据包数量,n是在某个时间段内节点b收到的来自节点a的数据包数量,,n-1是节点a的邻节点数量,是时间周期数。

采用信用值f的计算方法,信用管理模块103将算得区块链系统中每个节点的信用值。

信用管理模块103算得某个节点的信用值后,将节点信用值广播给区块链系统中的所有其他节点,信用值信息格式为:

其中,message_q表示一个节点向另一个节点发出的询问请求,询问其邻节点的信用值;message_r表示发出的消息是节点对询问请求的应答;message_b表示发出的消息是用于广播节点信用值信息,node_id表示有恶意行为的节点或者想加入网络进行通信的新节点的ip地址,reu_val是具体的数值,用于表示节点信用度的大小,存储在每个节点信用值表中。

s103:信用管理模块103对每个节点的信用值进行动态管理。

为了降低信用值计算过程中所需的频繁数据请求,在s101步骤所设的时间策略间隔内,信用管理模块103将不会反复通过请求数据来计算某个节点的信用值,而是采用信用值消耗策略,来实现信用值的动态管理,具体处理过程为:

采用信用消耗机制,节点的信用值会随着时间发生变化,信用消耗是指信用值随着时间而降低,节点的最新信用值计算方法为:,其中,是最新信用值,是上一状态的信用值,是前后两次接收信息的时间间隔;是时间常量,取系统心跳周期;是信用消耗速度,是一个常量,可结合具体情况对进行调整。当节点两次发送信息的时间间隔超过时,信用值将会降低。否则,信用值不发生变化。

s2共识管理模块1041对本发明所述区块链系统的共识策略进行管理,确保系统在任何阶段都具有高效的共识机制和响应实时性。

共识管理模块1041中存储有区块链系统的共识策略,信用管理模块103将节点最新信用值发送给区块服务模块104,区块服务模块中的共识管理模块1041将根据系统响应效率自动切换合适的共识策略。以获得共识可靠性和系统响应效率的最佳平衡。

共识管理模块1041中管理有多种共识策略,可根据系统运行状态自动选择最佳共识策略,具体共识策略设置如下:

(1)可靠性优先策略。

可靠性优先策略采用了51%原则,即在区块链中任意节点发起数据请求时,采用区块链系统中所有节点51%以上的节点的共识结果为最终请求结果,可最大程度保证数据的可靠性;但可靠性优先策略将影响系统的响应实时性。

(2)平衡策略

在区块链系统受网络质量影响或通信波峰波谷的冲击影响,为了兼顾可靠性和响应效率,本发明设置有平衡策略。平衡策略设置如下:

根据s1步骤所述,信用管理模块103中管理有区块链系统中各节点的信用值,对于n个节点的系统来说,与节点k对应的最新信用值记为,n个节点的最新信用值集合记为,按信用值从高到低顺序排序得到集合

平衡策略中,共识结果的产生以集合中取前51%的节点作为共识参与节点,共识参与节点的51%以上共识结果即为最终请求结果,平衡策略将在保证响应效率的前提下,获得最可靠的共识结果。

(3)速度优先策略

在区块链系统通信环境极端恶劣的情况下,为了获得最优的响应效率,本发明设置有速度优先策略,具体处理过程如下:

从最新信用值排序集合中选取前α(0<α<1)的节点作为共识参与节点,在速度优先的策略下,α应设置为小于平衡策略中的51%,最少要选取信用值最大的节点作为共识参与节点。

作为本发明的一个实施例,在区块链系统运行过程中,将记录所有节点的数据请求超时事件,对于n个节点的系统来说,设定单位时间,单位为秒),同时设置两个阈值:单位时间内超时事件数阈值为大于0的整数),单位时间内超时节点面积阈值(0<<1),单位时间内超时节点面积=单位时间内有超时的节点数/n。根据系统运行过程中的数据请求超时事件情况,区块链系统将自动切换最佳的共识策略,以提高系统响应效率。在本实施例中,记时间内超时事件数为,切换策略如下:

s3.分布式计算模块1042将数据采集模块102传来的学习记录拆分为多个带有序号的子数据,通过分布式存储模块1043形成与子数据序号对应的节点的唯一识别码的拆分列表,并向区块链的其他节点广播子数据和拆分列表,进一步提高系统安全性。

s301:通过分布式计算模块1042将学习记录拆分为多个带有序号的子数据;

数据采集模块102按照s101步骤所述按照时间策略采集学习记录数据形成数据包,记数据包中包含b个节点的学习数据,每个节点平均字符数为,记一个数据包所包含的节点集合上限系数是控制参数,其计算方法为:

其中,m是一个完整数据包中所有学习者学习记录数据的总字符数,表示第i个节点的字符数。对上限系数c取整,得到上限个数d,将每d个节点划分为一个节点组,每个节点组保存一个完整的学习记录数据,即为子数据,并按时间顺序进行排序。

s302:分布式存储模块1043形成与子数据序号对应的节点的唯一识别码的拆分列表,并向区块链的其他节点广播子数据和拆分列表。

经分布式计算模块处理后得到d维节点组,分布式存储模块1043形成与d个节点子数据序号对应节点的唯一识别码的拆分列表,并向区块链的其他节点广播子数据和拆分列表。获取每个节点的存储上限p和所有节点的总存储上限q,以每个节点p/q的概率将第一个序号的子数据随机配置在节点上存储,按照子数据的序号顺序依次存储至各个节点。

当节点发起数据请求时,按所述拆分列表索引合成新的数据,通过哈希算法生成新数据的哈希值。判断原数据哈希值与新数据哈希值是否相同,若相同,则将新数据转化为原数据输出;否则,更换保存相同序号子数据的节点,重新合成新数据并判断其哈希值是否与原数据哈希值相同,从而确保系统安全。

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