静态代码扫描规则的更新方法和更新装置制造方法及图纸

技术编号:31808108 阅读:21 留言:0更新日期:2022-01-08 11:10
本申请提供了一种静态代码扫描规则的更新方法和更新装置,涉及计算机技术领域,可以提高服务器更新规则和插件的效率。该方法包括:第一服务器获取与第一配置文件中的插件信息对应的多个插件,并获取与第二配置文件中的规则信息对应的多个静态代码扫描规则;每隔第一时长或者基于联机更新指令向至少一个第二服务器中的全部或部分服务器发送多个插件中的至少一个插件和多个静态代码扫描规则中的至少一个静态代码扫描规则,对应地,至少一个第二服务器中的第一目标服务器根据至少一个插件和至少一个静态代码扫描规则,对已有的插件和静态代码扫描规则进行更新,并在更新完成后进行重启。后进行重启。后进行重启。

【技术实现步骤摘要】
静态代码扫描规则的更新方法和更新装置


[0001]本申请涉及计算机
,尤其涉及一种静态代码扫描规则的更新方法和更新装置。

技术介绍

[0002]SonarQube为静态代码检查工具,采用浏览器/服务器(browser/server,B/S)架构,帮助检查代码缺陷,改善代码质量,提高开发速度。
[0003]SonarQube服务器可以使用自带的规则集中的规则对代码进行扫描。具体地,在SonarQube服务器执行扫描任务时,SonarQube服务器根据代码扫描需求和自带的规则集中的规则进行匹配,当匹配成功时,SonarQube服务器使用匹配成功的规则对代码进行扫描。
[0004]但是,在一些特定领域或问题上,代码扫描需求越来越多,SonarQube服务器自带的规则集中的规则无法满足代码扫描需求,用户需要自定义代码扫描规则。另外,不同的代码扫描规则需要不同的插件支持,用户在自定义代码扫描规则的同时,需要同步更新插件。当SonarQube服务器较多,且规则变更比较频繁时,用户需要频繁地使用手动操作对每个SonarQube服务器的规则和插件进行更新,存在操作繁琐、效率较低的问题。

技术实现思路

[0005]本申请提供了一种静态代码扫描规则的更新方法和更新装置,可以提高SonarQube服务器更新规则和插件的效率,减少SonarQube服务器更新规则和插件的手动操作。
[0006]第一方面,本申请提供了一种静态代码扫描规则的更新方法,应用于包括第一服务器和至少一个第二服务器的系统,至少一个第二服务器部署有静态代码检查工具,该方法包括:第一服务器根据第一配置文件中的插件信息,获取与插件信息对应的多个插件;第一服务器根据第二配置文件中的规则信息,获取与规则信息对应的多个静态代码扫描规则;第一服务器每隔第一时长或者基于联机更新指令向至少一个第二服务器中的全部或部分服务器发送多个插件中的至少一个插件和多个静态代码扫描规则中的至少一个静态代码扫描规则。
[0007]本申请提供的静态代码扫描规则的更新方法,第一服务器可以每隔第一时长或者基于联机更新指令向第二服务器发送插件和静态代码扫描规则,可以自动更新第二服务器的插件和静态代码扫描规则,可以降低第一服务器的管理人员和第二服务器的管理人员的沟通成本,避免手动安装插件和规则出现失误而导致的扫描问题的出现,可以提高第二服务器更新规则和插件的效率,减少第二服务器更新规则和插件的手动操作,更加灵活的实现插件和规则的同步管理。
[0008]结合第一方面,在第一方面的某些实现方式中,上述方法还包括:第一服务器判断至少一个第二服务器中的第一目标服务器是否存在与多个插件中的第一插件名称相同的第二插件;在第一目标服务器存在第二插件的情况下,第一服务器判断第二插件的版本是
否低于第一插件的版本;第一服务器每隔第一时长或者基于联机更新指令向至少一个第二服务器中的全部或部分服务器发送多个插件中的至少一个插件和多个静态代码扫描规则中的至少一个静态代码扫描规则,包括:在第二插件的版本低于第一插件的版本的情况下,第一服务器向第一目标服务器发送第一插件。
[0009]本申请提供的静态代码扫描规则的更新方法,第一服务器可以先判断第一目标服务器中已有的插件中是否存在与第一插件名称相同的第二插件,再比较第一插件和第二插件的版本信息,最后决定是否要向第一目标服务器发送第一插件,可以避免第一目标服务器在存在第一插件的情况下,重复更新插件,可以提高第一目标服务器更新插件的效率。
[0010]结合第一方面,在第一方面的某些实现方式中,上述方法还包括:第一服务器判断至少一个第二服务器中的第一目标服务器是否存在规则集;在第一目标服务器存在规则集的情况下,判断规则集中是否包括多个静态代码扫描规则;第一服务器每隔第一时长或者基于联机更新指令向至少一个第二服务器中的全部或部分服务器发送多个插件中的至少一个插件和多个静态代码扫描规则中的至少一个静态代码扫描规则,包括:在规则集中不包括多个静态代码扫描规则中的第一静态代码扫描规则的情况下,第一服务器向第一目标服务器发送第一静态代码扫描规则。
[0011]本申请提供的静态代码扫描规则的更新方法,第一服务器可以先判断第一目标服务器中已有的规则集中是否存在第一静态代码扫描规则,在第一目标服务器中已有的规则集中不存在第一静态代码扫描规则的情况下,第一目标服务器将第一静态代码扫描规则添加到规则集,可以避免第一目标服务器在存在第一静态代码扫描规则的情况下,重复更新第一静态代码扫描规则,可以提高第一目标服务器更新静态代码扫描规则的效率。
[0012]结合第一方面,在第一方面的某些实现方式中,在第一服务器判断至少一个第二服务器中的第一目标服务器是否存在规则集之前,上述方法还包括:第一服务器获取第一目标服务器的统一资源定位器(uniform resource locator,URL)地址和密码信息;第一服务器根据第一目标服务器的URL地址和密码信息,获取第一目标服务器上已有的插件和静态代码扫描规则。
[0013]本申请提供的静态代码扫描规则的更新方法,第一服务器可以获取第一目标服务器的URL地址和密码信息,可以对第一目标服务器进行操作,可以较少第一目标服务器的管理人员的手动操作,且当第一目标服务器数量较多时,可以提高多个第一目标服务器更新插件和静态代码扫描规则的效率。
[0014]结合第一方面,在第一方面的某些实现方式中,规则信息包括多个静态代码扫描规则中每个静态代码扫描规则的规则标识、规则等级以及规则状态。
[0015]第二方面,本申请提供了另一种静态代码扫描规则的更新方法,应用于包括第一服务器和至少一个第二服务器的系统,至少一个第二服务器部署有静态代码检查工具,该方法包括:至少一个第二服务器中的第一目标服务器每隔第一时长或者基于联机更新指令接收来自第一服务器的至少一个插件和至少一个静态代码扫描规则;第一目标服务器根据至少一个插件和至少一个静态代码扫描规则,对第一目标服务器中已有的插件和静态代码扫描规则进行更新;第一目标服务器在更新完成后进行重启。
[0016]结合第二方面,在第二方面的某些实现方式中,上述方法还包括:第一目标服务器检测到用户的第一更新操作,第一更新操作用于更新第一目标服务器的静态代码扫描规
则;第一目标服务器响应于第一更新操作,向第一服务器发送联机更新指令,联机更新指令携带第一目标服务器的URL地址、规则集的名称、以及规则集对应的配置文件的路径。
[0017]本申请提供的静态代码扫描规则的更新方法,第一目标服务器的管理员可以通过简单的手动操作(输入第一目标服务器的URL地址、规则集的名称、以及规则集对应的配置文件的路径)按需更新插件和静态代码扫描规则,可以提高第一目标服务器更新插件和静态代码扫描规则的效率。
[0018]结合第二方面,在第二方面的某些实现方式中,在第一目标服务器根据至少一个插件和至少一个静态代码扫描规则,对第一目标服务器中已有的插件和静态代码扫描规则进行更新之本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种静态代码扫描规则的更新方法,其特征在于,应用于包括第一服务器和至少一个第二服务器的系统,所述至少一个第二服务器部署有静态代码检查工具,所述方法包括:所述第一服务器根据第一配置文件中的插件信息,获取与所述插件信息对应的多个插件;所述第一服务器根据第二配置文件中的规则信息,获取与所述规则信息对应的多个静态代码扫描规则;所述第一服务器每隔第一时长或者基于联机更新指令向所述至少一个第二服务器中的全部或部分服务器发送所述多个插件中的至少一个插件和所述多个静态代码扫描规则中的至少一个静态代码扫描规则。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第一服务器判断所述至少一个第二服务器中的第一目标服务器是否存在与所述多个插件中的第一插件名称相同的第二插件;在所述第一目标服务器存在所述第二插件的情况下,所述第一服务器判断所述第二插件的版本是否低于所述第一插件的版本;所述第一服务器每隔第一时长或者基于联机更新指令向所述至少一个第二服务器中的全部或部分服务器发送所述多个插件中的至少一个插件和所述多个静态代码扫描规则中的至少一个静态代码扫描规则,包括:在所述第二插件的版本低于所述第一插件的版本的情况下,所述第一服务器向所述第一目标服务器发送所述第一插件。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:所述第一服务器判断所述至少一个第二服务器中的第一目标服务器是否存在规则集;在所述第一目标服务器存在规则集的情况下,判断所述规则集中是否包括所述多个静态代码扫描规则;所述第一服务器每隔第一时长或者基于联机更新指令向所述至少一个第二服务器中的全部或部分服务器发送所述多个插件中的至少一个插件和所述多个静态代码扫描规则中的至少一个静态代码扫描规则,包括:在所述规则集中不包括所述多个静态代码扫描规则中的第一静态代码扫描规则的情况下,所述第一服务器向所述第一目标服务器发送所述第一静态代码扫描规则。4.根据权利要求3所述的方法,其特征在于,在所述第一服务器判断所述至少一个第二服务器中的第一目标服务器是否存在规则集之前,所述方法还包括:所述第一服务器获取所述第一目标服务器的统一资源定位器URL地址和密码信息;所述第一服务器根据所述第一目标服务器的URL地址和密码信息,获取所述第一目标服务器上已有的插件和静态代码扫描规则。5.根据权利要求1所述的方法,其特征在于,所述规则信息包括所述多个静态代码扫描规则中每个静态代码扫描规则的规则标识、规则等级以及规则状态。6.一种静态代码扫描规则的更新方法,其特征在于,应用于包括第一服务器和至少一个第二服务器的系统,所述至少一个第二服务器部署有静态代码检查工具,所述方法包括:所述至少一个第二服务器中的第一目标服务器每隔第一时长或者...

【专利技术属性】
技术研发人员:欧建斌温建波黄朝婴李学优
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1