流式系统的数据完整性验证方法、电子设备及存储介质技术方案

技术编号:34338669 阅读:59 留言:0更新日期:2022-07-31 03:29
本申请提供一种流式系统的数据完整性验证方法、电子设备及存储介质,该方法包括:获取系统数据处理模块的输入消息数据和输出消息数据,并获取预生成密钥;对输出消息数据进行预处理,得到与输出消息数据对应的验证标签;基于目标输入数据、验证标签以及预生成密钥进行数据完整性验证,目标输入数据为数据流标识符与验证标签一致的输入消息数据。本申请提供的方法能够解决现有技术中消息数据本身的完整性得不到验证的缺陷,实现流式实时数据完整性验证,保障流式消息数据在整个生命周期的全局完整性和一致性。局完整性和一致性。局完整性和一致性。

【技术实现步骤摘要】
流式系统的数据完整性验证方法、电子设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种流式系统的数据完整性验证方法、电子设备及存储介质。

技术介绍

[0002]数据完整性是保障大数据分析和计算准确性的基本前提,是数据安全领域的一个重要研究方向。大数据主要的计算模式分为批量离线计算和流式实时计算两种,其中批量计算主要面向静态持久化数据,通常先把数据存储,然后将数据和计算逻辑分配到分布式计算节点进行计算;而流式实时计算则主要面向数据流,无需将全部数据存储起来,而是在内存中对一定时间段内的流动数据直接进行数据运算。
[0003]现有技术中,流式计算系统会采用消息确认机制来检查每条消息能否被完整处理,但现有技术存在以下缺点:
[0004]由于流式计算过程未被进行持久化,无法查看历史消息的处理路径,使得消息数据不完整问题很难被发现,消息数据本身的完整性得不到验证,而且将复杂验证计算设置于消息确认机制上运行,容易影响消息实时计算的效率。

技术实现思路

[0005]本申请提供一种流式系统的数据完整性验证方法、电子设备及存储介质,用以解决现有技术中消息数据本身的完整性得不到验证的缺陷,实现流式实时数据完整性验证,保障流式消息数据在整个生命周期的全局完整性和一致性。
[0006]本申请第一方面提供一种流式系统的数据完整性验证方法,包括:
[0007]获取系统数据处理模块的输入消息数据和输出消息数据,并获取预生成密钥;
[0008]对输出消息数据进行预处理,得到与输出消息数据对应的验证标签;
[0009]基于目标输入数据、验证标签以及预生成密钥进行数据完整性验证,目标输入数据为数据流标识符与验证标签一致的输入消息数据。
[0010]在一种实施例中,获取预生成密钥之前,包括:
[0011]基于KeyGen算法以及安全参数确定预生成密钥,预生成密钥包括第一密钥和第二密钥;安全参数为描述预生成密钥的加密程度的预设参数。
[0012]在一种实施例中,对输出消息数据进行预处理,包括:
[0013]通过TagGen算法,基于第一密钥和第二密钥确定输出消息数据对应的验证标签;验证标签包括消息标识ID以及会话标识ID;
[0014]通过第一公式计算验证标签,第一公式为:
[0015][0016]其中,MID为消息标识ID,SID
i
为会话标识ID,i为小于或等于n的正整数,n为会话总数,k1为第一密钥,k2为第二密钥,f为伪随机函数,为输出消息数据,
为验证标签。
[0017]在一种实施例中,基于目标输入数据、验证标签以及预生成密钥进行数据完整性验证,包括:
[0018]通过VerifTag算法,基于第二密钥、验证标签以及目标输入数据确定第一验证中间值,并且基于第一密钥、消息标识ID以及会话标识ID确定第二验证中间值;
[0019]基于第一验证中间值以及第二验证中间值进行数据完整性验证。
[0020]在一种实施例中,基于第二密钥、验证标签以及目标输入数据确定第一验证中间值,包括:
[0021]通过第二公式计算第一验证中间值,第二公式为:
[0022][0023]其中,a为第一验证中间值,为目标输入数据。
[0024]在一种实施例中,基于第一密钥、消息标识ID以及会话标识ID确定第二验证中间值,包括:
[0025]通过第三公式计算第二验证中间值,第三公式为:
[0026][0027]其中,b为第二验证中间值。
[0028]在一种实施例中,基于第一验证中间值以及第二验证中间值进行数据完整性验证,包括:
[0029]若第一验证中间值和第二验证中间值相等,则数据完整性验证通过;
[0030]若第一验证中间值和第二验证中间值不相等,则数据完整性验证不通过。
[0031]在一种实施例中,基于目标输入数据、验证标签以及预生成密钥进行数据完整性验证之后,包括:
[0032]若数据完整性验证不通过,则根据消息标识ID将错误数据流消息从消息队列中调出,并且将错误数据流消息对应的原始数据流消息进行重放处理。
[0033]本申请第二方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述流式系统的数据完整性验证方法。
[0034]本申请第三方面提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述流式系统的数据完整性验证方法。
[0035]本申请提供的流式系统的数据完整性验证方法、电子设备及存储介质,通过获取系统数据处理模块的输入消息数据和输出消息数据,并获取预生成密钥,对输出消息数据进行预处理,得到与输出消息数据对应的验证标签,基于目标输入数据、验证标签以及预生成密钥进行数据完整性验证,其中,目标输入数据为数据流标识符与验证标签一致的输入消息数据,从而实现流式实时数据完整性验证,保障流式消息数据在整个生命周期的全局完整性和一致性,进而确保大数据分析的准确性。
附图说明
[0036]为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037]图1是本申请实施例提供的流式系统的数据完整性验证方法的流程示意图之一;
[0038]图2是本申请实施例提供的流式系统的数据完整性验证方法的流程示意图之二;
[0039]图3是本申请提供的电子设备的结构示意图。
具体实施方式
[0040]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0041]图1是本申请实施例提供的流式系统的数据完整性验证方法的流程示意图之一。请参阅图1,本申请实施例提供的流式系统的数据完整性验证方法,可以包括:
[0042]步骤101、获取系统数据处理模块的输入消息数据和输出消息数据,并获取预生成密钥。
[0043]系统数据处理模块是设置于流式系统中的用于分析处理数据流的模块,流式系统即是流式计算系统,能够对大规模流动数据在不断变化的运动过程中实时地进行分析,捕捉到可能有用的信息,并把结果发送到下一计算节点。
[0044]在本申请实施例中,在每一个系统数据处理模块的数据输入端和数据输出端均设置数据采集点,从而实现对每一个系统数据处理模块的输入消息数据和输出消息数据进行实时采集,用于对每一个系统数据处理模块进行数据完整性验证。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流式系统的数据完整性验证方法,其特征在于,包括:获取系统数据处理模块的输入消息数据和输出消息数据,并获取预生成密钥;对所述输出消息数据进行预处理,得到与所述输出消息数据对应的验证标签;基于目标输入数据、所述验证标签以及所述预生成密钥进行数据完整性验证,所述目标输入数据为数据流标识符与所述验证标签一致的输入消息数据。2.根据权利要求1所述的流式系统的数据完整性验证方法,其特征在于,所述获取预生成密钥之前,包括:基于KeyGen算法以及安全参数确定所述预生成密钥,所述预生成密钥包括第一密钥和第二密钥;所述安全参数为描述所述预生成密钥的加密程度的预设参数。3.根据权利要求2所述的流式系统的数据完整性验证方法,其特征在于,所述对所述输出消息数据进行预处理,包括:通过TagGen算法,基于所述第一密钥和所述第二密钥确定所述输出消息数据对应的验证标签;所述验证标签包括消息标识ID以及会话标识ID;通过第一公式计算所述验证标签,所述第一公式为:其中,MID为所述消息标识ID,SID
i
为所述会话标识ID,i为小于或等于n的正整数,n为会话总数,k1为所述第一密钥,k2为所述第二密钥,f为伪随机函数,为所述输出消息数据,为所述验证标签。4.根据权利要求3所述的流式系统的数据完整性验证方法,其特征在于,所述基于目标输入数据、所述验证标签以及所述预生成密钥进行数据完整性验证,包括:通过VerifTag算法,基于所述第二密钥、所述验证标签以及所述目标输入数据确定第一验证中间值,并且基于所述第一密钥、所述消息标识ID以及所述会话标识ID确定第二验证中间值;基于所述第一验证中间值以及所述第二验证中间值进行所述数据完...

【专利技术属性】
技术研发人员:王宏远朱婉婷李亚芳祖宝开
申请(专利权)人:北京工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1