System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及大数据处理的,尤其是涉及一种基于超大数据量的数据权限计算与碰撞方法。
技术介绍
1、随着软件行业的日益发展,软件项目所涉及的领域越来越多,但是在众多的软件项目中,万变不离其宗的重要属性就是这个软件中所拥有的数据,因此数据治理、数据的管控,几乎成为每一个软件应用不可或缺的一部分,这其中数据权限的管控显得尤为重要,所谓数据权限,就是依托某种规范或者软件开发者根据事先约定的规则,在数据产生的过程中,来给数据打上标识,后续在使用数据的时候,根据数据所拥有的标识作为判断标准,精准的获取当前使用过程中所需要用到的数据。
2、传统的软件工程,在解决数据权限的这些问题的时候,大多只是使用了简单基本的内容关联方式,也就是在用户组织层面,将人与组织的对应关系通过数据主键的关联关系保存下来,在使用的过程中,根据这些关联来判断某个组织与某个人的关系。在有限的数据下,使用这种配置化的方式这是无可厚非的,但是在极大数据量(此处的极大,以10亿条数据为基准)的情况之下,我们不可能手动维护每一个数据的归属标识,并且大数据在关联查询中带来的极大计算延迟在软件领域也是不可接受的(通常行业内约定,一次请求后,响应的最长时间不能超过3秒),这中间还会包括部分的网络耗时,所以留给数据计算的时间将会更少。
技术实现思路
1、为了高效准确的判断数据权限,并且减少数据间的碰撞,本专利技术提供一种基于超大数据量的数据权限计算与碰撞方法。
2、第一方面,一种基于超大数据量的数据权限计算与碰撞方法
3、s1:初始化一组数据,所述一组数据内有n个元素值;
4、s2:预制位数组以及标记摘要算法函数,计算位数组长度m,计算标记摘要算法函数个数 k;
5、s3:利用n个元素值以及k个标记摘要算法函数反推检查位数组长度m是否正确,如果正确,则进行下一步,如果不正确,则返回s2;
6、s4:利用k个标记摘要算法函数将每个元素值均标记至位数组中,形成标记组,其余位数组中未标记部位形成空白组;
7、s5:输入数据以外的元素值a,判断元素值a是否能标记至位数组中的标记组,输出结果。
8、进一步的,所述预制位数组,计算位数组长度m,具体为:
9、;
10、其中,n为元素值个数;m为位数组的长度;p为人为设定的预期误判率。
11、进一步的,所述计算标记摘要算法函数个数 k,具体为:
12、;
13、其中,n为元素值个数;m为位数组的长度。
14、进一步的,所述利用n个元素值以及k个标记摘要算法函数反推检查位数组长度m是否正确,具体为:
15、;
16、将n为元素值个数,p为人为设定的预期误判率以及标记摘要算法函数个数 k带入公式,得到m值,如果该m值与步骤2中的m值相同,则进行下一步,如果不相同,则返回s2。
17、进一步的,所述标记摘要算法函数包括:sha-256算法、cityhash算法、位偏移标记算法以及位操作运算算法,根据所述k值,按顺序选取四个算法中的k个算法完成步骤4。
18、进一步的,所述利用k个标记摘要算法函数将每个元素值均标记至位数组中,具体的:
19、一个元素值经过k个标记摘要算法函数形成k个标记,n个元素值经过k个标记摘要算法函数形成n*k个标记,将n*k个标记值映射至m个位中;
20、每一个标记值映射到一个位数组中的位,位数组中的位有对应标记值映射后变为1,未被映射的为0,变为1的位组成标记组,其余位数组中未标记部位形成空白组。
21、进一步的,所述输入数据以外的元素值a,判断元素值a是否能标记至位数组中的标记组,输出结果,具体为:
22、在初始化的数据范围外选取一个元素值a,利用相同的k个标记摘要算法函数进行标记,形成k个标记值,映射至位数组中,如k个标记值均映射在位数组中标记组内,则数据值a有权限;否则,没有权限。
23、第二方面,一种基于超大数据量的数据权限计算与碰撞系统,包括:
24、初始化模块,被配置为,初始化一组数据,预制位数组以及标记摘要算法函数;
25、核检判断模块,被配置为,利用n个元素值以及k个标记摘要算法函数反推检查位数组长度m是否正确;
26、标记模块,被配置为,利用k个标记摘要算法函数将每个元素值均标记至位数组中,形成标记组,其余位数组中未标记部位形成空白组;
27、权限判别模块,被配置为,输入数据以外的元素值a,判断元素值a是否能标记至位数组中的标记组,输出结果。
28、第三方面,一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行如权利要求1所述的一种基于超大数据量的数据权限计算与碰撞方法。
29、第四方面,一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行一种基于超大数据量的数据权限计算与碰撞方法。
30、综上所述,本专利技术具有如下的有益技术效果:
31、本专利技术通过一种基于超大数据量的数据权限计算与碰撞方法,预先计算得到一个位数组,用于后期元素值映射后进行对照,且该位数组的长度,不宜过长,过长会增大判断时间,也不宜过短,过短会使数据出现碰撞。
32、该方案不但确定位数组的长度,还利用4个标记摘要算法函数对元素值进行标记,大大的提高了标记的概率,将标记值映射至位数组中时,大大降低了碰撞的概率。
本文档来自技高网...【技术保护点】
1.一种基于超大数据量的数据权限计算与碰撞方法,其特征在于:包括:
2.根据权利要求1所述的一种基于超大数据量的数据权限计算与碰撞方法,其特征在于:所述预制位数组,计算位数组长度m,具体为:
3.根据权利要求2所述的一种基于超大数据量的数据权限计算与碰撞方法,其特征在于:所述计算标记摘要算法函数个数 k,具体为:
4.根据权利要求3所述的一种基于超大数据量的数据权限计算与碰撞方法,其特征在于:所述利用n个元素值以及k个标记摘要算法函数反推检查位数组长度m是否正确,具体为:
5.根据权利要求2所述的一种基于超大数据量的数据权限计算与碰撞方法,其特征在于:所述标记摘要算法函数包括:SHA-256算法、CityHash算法、位偏移标记算法以及位操作运算算法,根据所述k值,按顺序选取四个算法中的k个算法完成步骤4。
6.根据权利要求5所述的一种基于超大数据量的数据权限计算与碰撞方法,其特征在于:所述利用k个标记摘要算法函数将每个元素值均标记至位数组中,具体的:
7.根据权利要求6所述的一种基于超大数据量的数据权限计算
8.一种基于超大数据量的数据权限计算与碰撞系统,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行如权利要求1所述的一种基于超大数据量的数据权限计算与碰撞方法。
10.一种终端设备,其特征在于,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行如权利要求1所述的一种基于超大数据量的数据权限计算与碰撞方法。
...【技术特征摘要】
1.一种基于超大数据量的数据权限计算与碰撞方法,其特征在于:包括:
2.根据权利要求1所述的一种基于超大数据量的数据权限计算与碰撞方法,其特征在于:所述预制位数组,计算位数组长度m,具体为:
3.根据权利要求2所述的一种基于超大数据量的数据权限计算与碰撞方法,其特征在于:所述计算标记摘要算法函数个数 k,具体为:
4.根据权利要求3所述的一种基于超大数据量的数据权限计算与碰撞方法,其特征在于:所述利用n个元素值以及k个标记摘要算法函数反推检查位数组长度m是否正确,具体为:
5.根据权利要求2所述的一种基于超大数据量的数据权限计算与碰撞方法,其特征在于:所述标记摘要算法函数包括:sha-256算法、cityhash算法、位偏移标记算法以及位操作运算算法,根据所述k值,按顺序选取四个算法中的k个算法完成步骤4。
6.根据权利要求5...
【专利技术属性】
技术研发人员:王建华,姬泽锟,王先明,蔡尚,张丽,张晓民,张尚斌,徐东方,张昊天,
申请(专利权)人:国核信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。