开源组件的数据校验方法及装置与流程

文档序号:34056831发布日期:2023-05-05 17:43阅读:76来源:国知局
开源组件的数据校验方法及装置与流程

本技术涉及开源组件的数据校验,具体涉及一种开源组件的数据校验方法及装置。


背景技术:

1、现代软件开发,针对开源组件安全数据的校验,就是分析开源组件数据是否正确。目前存在一些针对数据采集阶段进行数据校验的方法。目前的数据校验方法在判断数据的任一个指标的采集出现问题(比如,未采集到或采集到的数据指标不符合要求等)时,基本都是采取同样的处理方式进行预警操作。然而,在某些情况下,对于组件的一些指标而言,当出现未采集到等情况时,可能是该组件不存在相应的指标,这样该组件数据就会直接被误认为问题组件数据,而不会进入下一阶段(数据同步阶段),进而影响数据校验的准确性,进一步会影响数据更新的合理性。而且,对于组件的一些指标而言,即便是采集到的数据指标不符合要求,但其实对数据的后续处理基本没有影响,但目前的校验方法使得该些组件数据并不会进入下一阶段,进而影响数据更新的合理性。

2、另外,目前的数据校验方法都没有针对数据的全流程校验,即在数据采集阶段、数据同步阶段、数据清洗阶段以及数据升级阶段均进行数据校验,但实际上在每一个阶段数据均可能出现问题,因此现有的数据校验方法无法保证最终获取到的数据均为没有问题的数据。


技术实现思路

1、本技术的目的在于提供一种开源组件的数据校验方法、装置、电子设备及计算机可读存储介质,能够解决上述至少一技术问题。

2、为实现上述目的,本技术提供了一种提供了一种开源组件的数据校验方法,包括:

3、将当前次数据采集阶段采集到的各条组件数据划分为必填数据和非必填数据,所述必填数据包括所述组件数据中的组件名称、组件发布时间,所述非必填数据包括所述组件数据中的组件许可信息和组件版本信息;

4、确定每条所述组件数据中的所述必填数据是否在当前次采集被采集到;

5、如果结果为否,则将该条所述组件数据记录到异常数据存储设备并进行第一等级的预警操作;

6、如果结果为是,则将该条所述组件数据记录到正常数据存储设备,且确定当前次采集到的所述组件许可信息是否存在于预设许可库中,确定当前次采集到的所述组件版本信息是否存在于预设版本库中,以及确定当前次采集到的所述组件发布时间符合设定格式;

7、如果当前次采集到的所述组件许可信息不存在于预设许可库中,则在正常数据存储设备的组件表中对其进行标记,以及记录至异常数据存储设备并进行第二等级的预警操作,所述第一等级高于第二等级;

8、如果当前次采集到的所述组件版本信息不存在于预设版本库中,则在正常数据存储设备的组件表中对其进行标记,以及记录至异常数据存储设备并进行第二等级的预警操作;

9、如果当前次采集到的所述组件发布时间不符合设定格式,则在正常数据存储设备的组件表中对其进行标记,以及记录至所述异常数据存储设备并进行所述第二等级的预警操作。

10、可选地,所述方法还包括:

11、所述数据采集阶段采集到的各条漏洞数据具有关联属性,所述关联属性为漏洞影响的组件及组件版本范围的信息;

12、确定每条所述漏洞数据的关联属性是否为空,如果结果为否,则将该条漏洞数据记录到正常数据存储设备,如果结果为是,则将该条漏洞数据记录到异常数据存储设备并进行第一等级的预警操作。

13、可选地,在数据同步阶段,将正常数据存储设备存储的数据进行数据同步后,还包括变化量比较步骤:

14、将所述组件数据的变化量分别与第一上限阈值和第一下限阈值进行比较,如果所述组件数据的变化量大于所述第一上限阈值或者小于所述第二下限阈值,则发出警告信息;

15、将所述漏洞数据的变化量分别与第二上限阈值和第二下限阈值进行比较,如果所述漏洞数据的变化量大于所述第二上限阈值或者小于所述第二下限阈值,则发出警告信息。

16、可选地,在数据清洗阶段,将数据同步后的数据进行数据清洗时建立组件与漏洞关系表,建立组件与许可关系表,以及在用于记录所述组件数据的组件表中记录每一组件的各组件版本对应的漏洞数量;

17、在数据清洗后,所述方法还包括:

18、确定所述组件表中每一组件的各组件版本对应的漏洞数量是否与所述组件与漏洞关系表中对应组件版本的数据行数相等,如果结果为否,则发出警告信息;以及

19、确定所述组件表中每一组件许可信息是否存在于所述组件与许可关系表,如果结果为否,则发出警告信息。

20、可选地,在数据清洗后,所述方法还包括:

21、确定各条所述组件数据的关键字段是否为空,如果结果为是,则发出警告信息。

22、可选地,在数据清洗后,所述方法还包括:

23、利用预先建立并定期维护的所述基准数据库的数据对清洗后的数据进行校验,如果清洗后的数据存在与所述基准数据库中的数据不一致的数据,则发出警告信息。

24、可选地,所述方法还包括:

25、在数据清洗阶段完成数据清洗后,统计相较当前次清洗前的第一数据变化量以及抽样检查清洗后数据的内容;

26、在清洗后的数据完成数据升级后,统计相较当前次升级前的第二数据变化量以及抽样检查升级后数据的内容,所述抽样检查的升级后数据和所述抽样检查的清洗后数据一致;

27、确定所述第二数据变化量和所述第一数据变化量是否一致以及所述抽样检查的升级后数据的内容与所述抽样检查的清洗后数据的内容是否相同;

28、如果结果为否,则发出警告信息。

29、为实现上述目的,本技术还提供了一种开源组件的数据校验装置,包括:

30、划分模块,用于将当前次数据采集阶段采集到的各条组件数据划分为必填数据和非必填数据,所述必填数据包括所述组件数据中的组件名称、组件发布时间,所述非必填数据包括所述组件数据中的组件许可信息和组件版本信息;

31、确定模块,用于确定每条所述组件数据中的所述必填数据是否在当前次采集被采集到;

32、记录及预警模块,用于如果结果为否,则将该条所述组件数据记录到异常数据存储设备并进行第一等级的预警操作;

33、记录及确定模块,用于如果结果为是,则将该条所述组件数据记录到正常数据存储设备,且确定当前次采集到的所述组件许可信息是否存在于预设许可库中,确定当前次采集到的所述组件版本信息是否存在于预设版本库中,以及确定当前次采集到的所述组件发布时间符合设定格式;

34、第一标记及记录模块,用于如果当前次采集到的所述组件许可信息不存在于预设许可库中,则在正常数据存储设备的组件表中对其进行标记,以及记录至异常数据存储设备并进行第二等级的预警操作,所述第一等级高于第二等级,所述预设许可库根据惯用许可站点进行维护;

35、第二标记及记录模块,用于如果当前次采集到的所述组件版本信息不存在于预设版本库中,则在正常数据存储设备的组件表中对其进行标记,以及记录至异常数据存储设备并进行第二等级的预警操作,所述预设版本库根据惯用开源站点进行维护;

36、第三标记及记录模块,如果当前次采集到的所述组件发布时间不符合设定格式,则在正常数据存储设备的组件表中对其进行标记,以及所述异常数据存储设备并进行所述第二等级的预警操作。

37、为实现上述目的,本技术还提供了一种电子设备,包括:

38、处理器;

39、存储器,其中存储有所述处理器的可执行指令;

40、其中,所述处理器配置为经由执行所述可执行指令来执行如前所述的开源组件的数据校验方法。

41、为实现上述目的,本技术还提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现如前所述的开源组件的数据校验方法。

42、本技术还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行如上所述的开源组件的数据校验方法。

43、本技术将数据采集阶段采集到的每条组件数据划分为必填数据和非必填数据,只要当前次采集能够采集到必填数据,不管非必填数据的采集情况如何,即将该条组件数据记录在正常数据存储设备,进而可以进入下一阶段的处理,避免因为非必填数据未采集到或采集到的数据不符合要求而使该条组件数据没有被记录在正常数据存储设备而无法进入下一阶段的处理,进而可以有效提升本地组件数据更新的合理性。另外,在当前次采集到必填数据的前提下,如果当前次采集到的组件许可信息不存在于预设许可库中,则在正常数据存储设备的组件表中对其进行标记,以及记录至异常数据存储设备并进行第二等级的预警操作,如果当前次采集到的组件版本信息不存在于预设版本库中,则在正常数据存储设备的组件表中对其进行标记,以及记录至异常数据存储设备并进行第二等级的预警操作,如果当前次采集到的组件发布时间不符合设定格式,则在正常数据存储设备的组件表中对其进行标记,以及异常数据存储设备并进行第二等级的预警操作,也就是说,本技术在采集到的非必填数据存在上述不符合要求但不影响组件数据后续处理的情况下,既可以在正常数据存储设备的组件表中对其进行标记,又可以记录至异常数据存储设备以进行预警操作,便于提醒开发人员。

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