[发明专利]一种检测软件定义网络中数据竞争的预测性方法有效
申请号: | 202010135830.0 | 申请日: | 2020-03-02 |
公开(公告)号: | CN111431737B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 陆公正 | 申请(专利权)人: | 苏州市职业大学 |
主分类号: | H04L41/147 | 分类号: | H04L41/147;H04L41/40;G06F11/36 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 叶涓涓 |
地址: | 215000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 检测 软件 定义 网络 数据 竞争 预测 方法 | ||
本发明提出了一种检测软件定义网络中数据竞争的预测性方法,首先记录事件迹;其次针对每个事件迹文件,根据各约束的编码规则,构建RC约束、MHB约束、AN约束以及CP约束;随后调用约束求解器SMT检查约束文件的可满足性,针对约束公式求解其是否满足,如果约束文件可满足,则表示迹中的事件存在数据竞争;如果约束文件不满足则采用约束求解器SMT检测分析的事件迹是否存在合理性迹,如果存在,则在满足RC约束、MHB约束和AN约束的前提下重排序分析的事件迹,针对每个合理性迹重复编码和求解是否满足约束公式。本发明方法具有更高的数据竞争检测能力,能够检测到更多的竞争,且具有较好的可扩展性。
技术领域
本发明属于计算机软件技术领域,涉及程序分析技术,具体涉及检测软件定义网络中数据竞争的预测性方法。
背景技术
软件定义网络(Software Defined Networks,SDN)是一种便于网络管理和可以由可编程网络配置的新型网络典范。SDN由控制平面和数据平面组成。控制平面对于数据包如何发送作出决定,而数据平面根据控制平面作出的决定发送数据包。控制平面和数据平面是相互独立的。SDN控制器基于如OpenFlow这样的北面接口实现控制逻辑来计算、维护和填充网络中每个SDN交换机的转发流表。
SDN控制器是整个网络的核心,在异步和分布式环境开发可靠的控制器软件是至关重要的。然而,由于异步性会导致比如数据竞争这样的并发缺陷,使得开发这样高度异步的软件是很困难的。在SDN中数据包的转发和消息传送非常频繁,数据包和OpenFlow消息之间会存在大量的数据竞争。
在SDN中,并发缺陷会发生在两个地方:(1)控制平面内(控制器软件是多线程的或分布式的);(2)控制平面和数据平面之间的接口(两个事件并发地访问交换机中相同的流表,且至少有一个事件是控制器产生的写事件)。SDN中的并发缺陷很难检测到,因为它们只在特定的事件序列中暴露。然而,检测这些缺陷又是很重要的,因为它们会导致丢包、增加包转发的延时以及交换机和控制器上的处理负载。这些问题都会大大地降低SDN的性能。
第一类并发缺陷被Xu等进行了研究,他们使用SDN控制器的Happen-Before因果模型进行数据竞争检测。第二类并发缺陷可以被动态分析器SDNRacer检测到,该分析器也是使用事件间的Happen-Before关系来进行数据竞争检测。
但是基于Happen-Before的方法具有有限的检测能力并会导致误报。究其原因,是因为既有方法只是在执行迹(也就是原始迹)上检测数据竞争,只考虑了并发线程在执行时的交互。
发明内容
为解决上述问题,我们经过研究发现,基于Happen-Before的方法只能检测观察到的事件迹(即分析的事件迹)中的数据竞争,主要思想是在Happen-Before图(描述事件间Happen-Before关系的图)中的两个并发事件之间是否存在路径,如果不存在路径,则两个事件不存在Happen-Before关系,即它们之间存在数据竞争,否则它们之间不存在数据竞争。如果我们在某些约束条件下重排序观察到的事件迹中的事件,存在Happen-Before关系的两个并发事件可能在重排序的迹中形成数据竞争。但基于Happen-Before的方法不能找到这样的数据竞争。
基于上述研究,本发明提出了一种检测软件定义网络中数据竞争的预测性方法(SDN-Predict),以软件定义网络中的控制器软件作为研究对象,采用预测性分析技术检测控制器软件生成的事件迹中存在的数据竞争。在满足读一致性约束、Must Happen Before约束和异步不确定性约束的条件下,重排序分析的事件迹,把事件之间的约束编码成一阶逻辑公式,通过SMT约束求解器Z3求解公式的可满足性,根据公式是否可满足来分析两个并发事件之间是否存在数据竞争,最后使用SDNRacer中提出的过滤规则过滤无害的数据竞争。
为了达到上述目的,本发明提供如下技术方案:
一种检测软件定义网络中数据竞争的预测性方法,包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州市职业大学,未经苏州市职业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010135830.0/2.html,转载请声明来源钻瓜专利网。