本发明涉及计算机数据处理,具体涉及一种防止数据冲击的隔离方法、装置及存储介质。
背景技术:
1、计算机系统处理外部系统数据往往会有如下问题:
2、1)突发流量,比如某一时刻来了内部处理速度的100倍的数量;
3、2)无用数据,从外部来的大量数据,其实不需要传递到内部处理;
4、3)单条数据超大,包含很多无用字段信息;
5、4)优先级不一样的数据同时过来,导致优先级高的数据被其他低优先级数据阻塞;
6、5)相同数据短时间多次流入,导致需要多次处理相同数据。
7、这些数据问题导致数据处理端处理压力过大,导致系统宕机,影响系统性能。
技术实现思路
1、本发明针对上述现有技术中一个或多个技术缺陷,提出了如下技术方案。
2、一种防止数据冲击的隔离方法,该方法包括:
3、数据获取步骤,从外部数据源端获取要发送至目标数据处理端的数据集合;
4、识别步骤,判断所述数据集合中的每条数据记录中是否具有隔离字段,如果是,则进行数据隔离处理,如果否,则从将该数据记录从所述数据集合中删除;
5、数据隔离处理步骤,根据预先设置的数据分类规则及标识规则对具有隔离字段的每条数据记录进行分类得到类别信息,并设置该数据记录的唯一标识,读取数据过滤规则,基于所述过滤规则判断所述数据记录是否需要过滤数据,如果是,则在所述数据记录中插入或者更新数据标识为过滤数据,并将所述数据记录中的数据体舍弃,如果所述数据记录不是过滤数据,则读取字段精简规则,基于所述字段精简规则对所述数据记录的字段进行精简;
6、缓存步骤,对经过数据处理后的数据记录使用类别信息与唯一标识查询所述数据是否已存在缓存数据库中,如果否,则将所述数据记录插入所述缓存数据库中,如果是,则读取数据变化字段设置规则,基于所述数据变化字段设置规则识别所述数据记录是否发生变化,如果是,则在所述缓存数据库中更新所述数据记录。
7、更进一步地,所述缓存数据库具有数据访问接口,所述目标数据处理端通过所述数据访问接口从所述缓存数据库获取数据进行处理。
8、更进一步地,从外部数据源端获取到要发送至目标数据处理端的数据集合后,判断所述数据集合中的数据记录是否属于突发流量数据、无用数据、单条超大数据或重复数据,如果是,则在所述数据记录上设置隔离字段。
9、更进一步地,在数据隔离处理过程中,使用动态处理策略进行数据处理,所述动态处理策略为:
10、设ti为时间窗口,ni为时间窗口ti内数据记录的数量;
11、平均时间窗口速度vn公式1为:,m为参与平均计算的时间窗口个数,n为当前时间窗口的编号,其中,n-m>1,
12、计算平均加速度an公式2为:,
13、当-sh≤an≤sh表示速度稳定,|an|越趋向与0时,代表速度越稳定,其中,sh为稳定系数;
14、当an<-sh,表示处理速度减少;
15、当sh<an,表示处理速度增加;
16、平均资源速度pn公式3为:,其中,kn为第n个时间窗口正在使用的资源数量;
17、计算出数据处理的进入速度in_vn,出去速度out_vn,以及数据出去速度的加速度out_an;
18、对所述out_vn进行动态调速;
19、当out_vn<in_vn且-sh≤out_vn≤sh,表明出去速度达到了瓶颈,出去资源使用是kn,计算平均资源速度pn,此时pn为单位资源最高处理速度ph,当kn未达到最高可使用资源kh时,使用资源加1:kn+1=kn+1,如此反复直到达到资源限制阈值;
20、当时,当kn>0时,使用资源减1:kn+1=kn-1,如此反复直到达到最低资源配置值。
21、更进一步地,所述资源为线程。
22、更进一步地,所述稳定系数sh的计算方式为:
23、;
24、其中,为常数。
25、更进一步地,所述数据记录是否为重复数据的判断方式为:
26、整体判断方式:将所述整个数据记录序列化成文本,记录上一次md5值,当前md5与上一次对比,如果相同,是重复数据,如果不同,则为非重复数据;
27、字段判断方式:
28、将需要判断的数据记录的字段记为f1,f2…fi;
29、j为数据记录第几次出现,f11,f12…f1j为f1字段第1-j次出现时的md5值;
30、fij为字段fi第j次的md5值;
31、;
32、第j次数据是否重复公式为:
33、 ;
34、其中,j>1,eq为等于操作符。
35、本发明还提出了一种防止数据冲击的隔离装置,该装置包括:
36、数据获取单元,从外部数据源端获取要发送至目标数据处理端的数据集合;
37、识别单元,判断所述数据集合中的每条数据记录中是否具有隔离字段,如果是,则进行数据隔离处理,如果否,则从将该数据记录从所述数据集合中删除;
38、数据隔离处理单元,根据预先设置的数据分类规则及标识规则对具有隔离字段的每条数据记录进行分类得到类别信息,并设置该数据记录的唯一标识,读取数据过滤规则,基于所述过滤规则判断所述数据记录是否需要过滤数据,如果是,则在所述数据记录中插入或者更新数据标识为过滤数据,并将所述数据记录中的数据体舍弃,如果所述数据记录不是过滤数据,则读取字段精简规则,基于所述字段精简规则对所述数据记录的字段进行精简;
39、缓存单元,对经过数据处理后的数据记录使用类别信息与唯一标识查询所述数据是否已存在缓存数据库中,如果否,则将所述数据记录插入所述缓存数据库中,如果是,则读取数据变化字段设置规则,基于所述数据变化字段设置规则识别所述数据记录是否发生变化,如果是,则在所述缓存数据库中更新所述数据记录。
40、更进一步地,所述缓存数据库具有数据访问接口,所述目标数据处理端通过所述数据访问接口从所述缓存数据库获取数据进行处理。
41、更进一步地,从外部数据源端获取到要发送至目标数据处理端的数据集合后,判断所述数据集合中的数据记录是否属于突发流量数据、无用数据、单条超大数据或重复数据,如果是,则在所述数据记录上设置隔离字段。
42、更进一步地,在数据隔离处理过程中,使用动态处理策略进行数据处理,所述动态处理策略为:
43、设ti为时间窗口,ni为时间窗口ti内数据记录的数量;
44、平均时间窗口速度vn公式1为:,m为参与平均计算的时间窗口个数,n为当前时间窗口的编号,其中,n-m>1,
45、计算平均加速度an公式2为:,
46、当-sh≤an≤sh表示速度稳定,|an|越趋向与0时,代表速度越稳定,其中,sh为稳定系数;
47、当an<-sh,表示处理速度减少;
48、当sh<an,表示处理速度增加;
49、平均资源速度pn公式3为:,其中,kn为第n个时间窗口正在使用的资源数量;
50、计算出数据处理的进入速度in_vn,出去速度out_vn,以及数据出去速度的加速度out_an;
51、对所述out_vn进行动态调速;
52、当out_vn<in_vn且-sh≤out_vn≤sh,表明出去速度达到了瓶颈,出去资源使用是kn,计算平均资源速度pn,此时pn为单位资源最高处理速度ph,当kn未达到最高可使用资源kh时,使用资源加1:kn+1=kn+1,如此反复直到达到资源限制阈值;
53、当时,当kn>0时,使用资源减1:kn+1=kn-1,如此反复直到达到最低资源配置值。
54、更进一步地,所述稳定系数sh的计算方式为:
55、;
56、其中,为常数。
57、更进一步地,所述数据记录是否为重复数据的判断方式为:
58、整体判断方式:将所述整个数据记录序列化成文本,记录上一次md5值,当前md5与上一次对比,如果相同,是重复数据,如果不同,则为非重复数据;
59、字段判断方式:
60、将需要判断的数据记录的字段记为f1,f2…fi;
61、j为数据记录第几次出现,f11,f12…f1j为f1字段第1-j次出现时的md5值;
62、fij为字段fi第j次的md5值;
63、;
64、第j次数据是否重复公式为:
65、;
66、其中,j>1,eq为等于操作符。
67、本发明还提出了一种计算机可读存储介质,所述存储介质上存储有计算机程序代码,当所述计算机程序代码被计算机执行时执行上述之任一的方法。
68、本发明的技术效果在于:本发明的一种防止数据冲击的隔离方法、装置及存储介质,该方法包括:数据获取步骤s101,从外部数据源端获取要发送至目标数据处理端的数据集合;识别步骤s102,判断所述数据集合中的每条数据记录中是否具有隔离字段,如果是,则进行数据隔离处理,如果否,则从将该数据记录从所述数据集合中删除;数据隔离处理步骤s103,根据预先设置的数据分类规则及标识规则对具有隔离字段的每条数据记录进行分类得到类别信息,并设置该数据记录的唯一标识,读取数据过滤规则,基于所述过滤规则判断所述数据记录是否需要过滤数据,如果是,则在所述数据记录中插入或者更新数据标识为过滤数据,并将所述数据记录中的数据体舍弃,如果所述数据记录不是过滤数据,则读取字段精简规则,基于所述字段精简规则对所述数据记录的字段进行精简;缓存步骤s104,对经过数据处理后的数据记录使用类别信息与唯一标识查询所述数据是否已存在缓存数据库中,如果否,则将所述数据记录插入所述缓存数据库中,如果是,则读取数据变化字段设置规则,基于所述数据变化字段设置规则识别所述数据记录是否发生变化,如果是,则在所述缓存数据库中更新所述数据记录。本发明中,逐步的对待处理的数据记录进行数据体删除、字段精简等一系列操作,降低数据的大小,提高后续数据处理的效率,并在插入内存数据库时,根据数据变化字段设置规则识别所述数据记录是否发生变化,如果是,则在所述缓存数据库中更新所述数据记录,确保了数据库存储的数据为最新数据,这是本发明的重要发明点,从而防止大数据量对目标数据处理端造成数据冲击,导致系统宕机的风险;本发明中,提出了在数据隔离处理过程的动态处理策略,使用该动态处理策略进行数据处理,可以将大流量、积压、等等的数据进行快速处理后存入数据库,本发明中研究出了数据处理速度计算方式、加速度处理方式、平均资源速度、稳定系数sh,通过该些具体的计算方式,可以将大流量数据进行平稳处理,避免对目标数据处理端造成冲击,并可以根据数据量动态调度资源,避免资源浪费及资源不够的确定,本发明中提出了数据是否重复的两种判断方式,一个全部数据判断,另一个是字段判断,字段数据判断适应的情况是仅判断一些数据记录的字段对应的数据是否相同进行判断,即抽样判断,该种判断方式速度快,适用大量数据的判断,并提出了是否重复的具体计算方式。