一种用于软件分析的并行化分析方法及系统与流程

文档序号:38794776发布日期:2024-07-26 20:11阅读:17来源:国知局
一种用于软件分析的并行化分析方法及系统与流程

本发明涉及软件分析领域,一种用于软件分析的并行化分析方法及系统。


背景技术:

1、随着信息化、数字化和智能化的不断发展,软件已经渗入到人们生活的方方面面,形成的影响也越来越大,在国民经济和国防建设中也具有越来越重要的地位;在此背景下,如何提高软件质量,保证其行为的可信性,是目前需要关注的问题。软件分析技术可深入软件系统内部,细致地考察其结构及各个组成部分,进而发现其各种特性,如性能、正确性和安全性等;软件分析已逐渐发展成为程序语言和软件工程领域的一个重要研究方向,并已影响到信息安全等相关领域。

2、技术的发展给软件的设计和开发也带了了诸多的挑战与机遇,如何在多核处理器和分布式下设计出高可靠性、高性能的软件也成为了学术界以及工业界研究的热门话题。软件分析是一个计算密集型任务,因为它需要运用复杂的算法处理大量的代码和数据;传统的软件分析框架通常采用多线程或者多进程的方式并行化处理,以提高分析的效率,但是在面对大规模的代码库时,往往还是会遇到性能瓶颈,无法满足快速、准确的分析需求,同时其框架也缺乏一定的鲁棒性,比如遇到线程或者进程崩溃时,不能够很好地恢复和处理。


技术实现思路

1、本发明的目的在于克服现有技术的缺点,提供了一种用于软件分析的并行化分析方法及系统,解决了现有技术存在的不足。

2、本发明的目的通过以下技术方案来实现:一种用于软件分析的并行化分析系统,所述系统包括分析主模块、多个分析从模块、中间消息套件模块和监控模块;

3、所述分析主模块:用于wu的组装并通过中间消息套件模块发送给分析从模块,接收中间消息套件模块发送wur并进行处理后得到分析结果,以及用于wu发送速率控制及错误和超时处理,wu为包含分析所需的所有信息的最小独立单元,wur为软件分析wu的结果;

4、所述分析从模块:用于对中间消息套件模块发送的wu进行处理以及将wur通过中间消息套件模块发送给分析主模块;

5、所述中间信息套件模块:连接所述分析主模块和分析从模块,用于wu及wur的发送和接收;

6、所述监控模块:用于监控所有的分析从模块的状态,以及进行错误恢复。

7、所述分析主模块包括wu生成及发送单元、wur接收及处理单元和滑动窗口单元;

8、所述wu生成及发送单元:用于从外部加载需要分析程序的一个片段,按照wu的格式组装成完整的wu,然后通过中间消息套件模块发送到分析从模块中,同时将wu添加到滑动窗口单元用于速率控制、错误恢复以及超时重发;

9、所述wur接收及处理单元:用于从中间消息套件模块中接收wur,按照wur不同的状态分别进行处理,生成缺陷报告或者错误记录;

10、所述滑动窗口单元:用于进行wu发送的速率控制,在出现错误或者wu处理超时时,进行错误恢复。

11、所述中间消息套件模块包括负载均衡单元和连接单元;

12、所述负载均衡单元:用于将wu按照各个分析从模块的负载情况,均衡地分发给不同的分析从模块,保证各个分析模块都保持高效的工作状态;

13、所述连接单元:作为分析主模块和分析从模块的桥接接口,用于开放网络连接端口以实现分析主模块和分析从模块连接。

14、所述监控模块包括定时单元和任务处理单元;

15、所述定时单元:用于根据每个wu的超时时间设置,开启定时,监控wu是否在设定的时间内完成处理;

16、所述任务处理单元:用于根据分析设置或者分析命令选项处理每个独立的wu并返回处理结果wur。

17、一种用于软件分析的并行化分析方法,所述分析方法包括:

18、步骤一、在初始化分析主模块、中间消息套件模块和各个分析从模块后,开启监控模块,通过监控模块实时监控各个分析从模块的状态;

19、步骤二、分析主模块组装wu并通过中间消息套件模块发送出去,同时将发送的wu缓存到滑动窗口单元;

20、步骤三、滑动窗口单元从两个方面监控已经发送的wu,一方面是监控wu发送的速率,当发送的wu数量大于设置的阈值时,则阻塞分析主模块进行发送wu,一方面是超时及重发wu,当发送的wu在设定的时间内没有收到wur时,则重发此wu并增加此wu重发尝试次数,当此wu重发次数超过设置的阈值时,发送超时wur到分析主模块中的wur接收及处理单元;

21、步骤四、中间消息套件模块采用一定的负载均衡策略,将wu发送到不同的软件分析从模块,分析从模块接收wu并解包,然后开启定时器及独立的线程处理wu,最后通过中间消息套件模块将wur发送到分析主模块进行结果分析及存储。

22、所述步骤一具体包括以下内容:

23、分析主模块启动,申请资源,初始化wu生成及发送单元、wur接收及处理单元和滑动窗口单元;

24、初始化中间消息套件模块,开放连接端口供分析主模块及各个分析从模块连接;

25、开启监控模块,根据机器资源或用户配置开启各个分析从模块,并开启实时监控分析从模块状态,如果出现崩溃,则关闭对应的分析从模块,释放资源,最后重启新的分析从模块;

26、启动分析从模块,申请资源,连接中间消息套件模块,开启消息接收循环。

27、所述分析主模块的具体流程步骤包括:

28、启动wu组装发送单元、wur接收及处理单元、滑动窗口单元和监控模块;

29、根据配置或者系统资源启动多个分析从模块;

30、开启组装wu、发送wu、接收wur和处理wur的循环;

31、所有wu分析完毕,wur处理完毕后,释放资源,结束运行。

32、所述分析从模块的具体流程步骤包括:

33、接收wu并进行解包,开启定时模块监控wu处理耗时;

34、开启线程处理wu,wu处理完毕后发送wur,如果超时,则发送超时wur;

35、不断循环接收wu、处理wu和发送wur,直到所有wu分析完成。

36、所述监控模块的具体流程步骤包括:

37、b1、检查所有分析从模块的状态,如果某个出现分析从模块崩溃或者错误,则释放该分析从模块资源,并重启该分析从模块,如果所有分析从模块状态正常,则进入睡眠;

38、b2、当睡眠时间到时,重新执行b1步骤,直至所有任务完成,所有分析从模块退出。

39、所述滑动窗口模块具体流程步骤包括:

40、a1、检查缓存队列是否已满,如果已满,则阻塞新的wu加入,以发送速率控制;

41、a2、检查换成队列中的所有wu是否超时,如果存在超时,则判断是否已经达到重发次数阈值;

42、a3、如果没有达到重发次数阈值,则增加重发次数,重发此wu,如果已经达到重发次数阈值,则删除wu,发送超时wur;

43、a4、重新执行a2-a3步骤,直至所有任务完成,所有wu处理完毕。

44、本发明具有以下优点:

45、1、分析从模块的数量灵活可配,并在此基础上增加了监控模块用于实时监测分析从模块的状态,并能够在分析从模块出现错误的时候能够及时处理并恢复分析从模块。

46、2、引入了滑动处理窗口单元,能够控制消息发送的速率,避免发送速率与处理速率不匹配造成消息处理拥塞,影响整体的效率;同时引入了反馈和重发机制,保证了消息处理的可靠性,当消息丢失或者消息处理超时时,能够快速重发和恢复,保证了整个系统的流畅性及可靠性。

47、3、引入了带有负载均衡的中间消息套件模块,能够保障消息均衡地分配到不同的分析从模块进行处理,最大化利用系统资源。

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