模块间冲突检测方法、装置及服务器制造方法及图纸

技术编号:10435903 阅读:137 留言:0更新日期:2014-09-17 12:51
本发明专利技术提供了一种模块间冲突检测方法、装置及服务器。该方法包括建立冲突表,其中冲突表用于表示注册到钩子HOOK点的模块间是否存在冲突;依据冲突表检测第一模块与第二模块间是否存在冲突,其中,第一模块与第二模块为注册到同一HOOK点的模块,并且第一模块与第二模块均为使能的模块,通过本发明专利技术,解决了相关技术中存在的注册于同一HOOK点的模块之间会存在冲突,导致引起流程不可预测的缺陷的问题,进而达到了有效检测模块间的冲突,避免了流程中不可预测的缺陷的出现,既保证了系统能够针对用户的请求输出正确的请求结果,又能防止系统出现损坏甚至崩溃的严重后果,进而有效提高用户体验的效果。

【技术实现步骤摘要】
模块间冲突检测方法、装置及服务器
本专利技术涉及通信领域,具体而言,涉及模块间冲突检测方法、装置及服务器。
技术介绍
在内容分发网络(ContentDeliveryNetwork,简称为CDN)领域中,通过在原生流程中插入一定数量的钩子HOOK点,能够实现超文本传输协议(HypertextTransferProtocol,简称为HTTP)流程控制;同时在每个钩子函数中注册一定数量的模块MODULE,可以实现功能插入。通过HOOK+MODULE的方式,可以满足不同业务场景的需求。图1是相关技术中HOOK与MODULE的关系图,在相关技术中,HOOK点与MOUDLE之间存在如下流程关系:(1)在原生流程中插入一定数量的HOOK点;(2)根据不同业务场景,开发一定数量的模块MODULE,每个模块实现一个或多个HOOK点,模块在加载时以注册的方式挂入相应的HOOK点;(3)同一个HOOK点,有一个或多个模块实现该HOOK点;(4)网民HTTP请求到达CDN时,CDN服务器根据配置参数,决定适用于该请求的模块列表并使能enable;(5)CDN服务器在处理HTTP请求的流程中,每到达一个HOOK点时,仅进入挂在该HOOK点下的、且已经使能的模块列表,并逐一执行使能模块对该HOOK点的实现;(6)根据CDN服务器配置,不同的HTTP请求到达同一个HOOK点时,使能的模块列表可能不同。但是在相关技术中,注册于同一个HOOK点的模块之间可能会存在冲突,例如:模块A和模块B都实现了HOOK点h,其中模块A中的实现要求添加一个HTTP头部headerX,而模块B中的实现要求删除一个HTTP头部headerX。假设网民发起了一次HTTP请求,并且根据CDN服务器配置正好同时使能模块A和模块B,则在HOOK点h就出现了冲突,流程变得不可预测。因此,在相关技术中存在着注册于同一HOOK点的模块之间会存在冲突,以致引起流程不可预测的缺陷,针对该缺陷并未提出有效的解决方案。
技术实现思路
本专利技术提供了一种模块间冲突检测方法、装置及服务器,以至少解决相关技术中存在的注册于同一HOOK点的模块之间会存在冲突,导致引起流程不可预测的缺陷的问题。根据本专利技术的一个方面,提供了一种模块间冲突检测方法,包括:建立冲突表,其中所述冲突表用于表示注册到钩子HOOK点的模块间是否存在冲突;依据所述冲突表检测第一模块与第二模块间是否存在冲突,其中,所述第一模块与所述第二模块为注册到同一HOOK点的模块,并且所述第一模块与所述第二模块均为使能的模块。优选地,在建立所述冲突表之前还包括:获取所述每个HOOK点的访问控制列表,其中,所述访问控制列表包括所有注册到所述每个HOOK点的模块编号信息及注册到所述每个HOOK点的模块在所述每个HOOK点的兼容性信息;获取所述每个模块所注册的HOOK点编号信息表,其中,所述每个模块可以注册多个HOOK点;依据所述访问控制列表和所述HOOK点编号信息表生成所有HOOK点与所有模块的二维对应关系表。优选地,建立所述冲突表包括:依据所述访问控制列表与所述二维对应关系表建立所述冲突表。优选地,在所述第一模块与所述第二模块间存在冲突的情况下,还包括:依据所述二维对应关系表定位发生冲突的HOOK点;输出包含所述第一模块、所述第二模块、所述发生冲突的HOOK点的三元组信息。优选地,所述模块间冲突检测方法还包括:依次去能所述三元组信息中的模块;对所述发生冲突的HOOK点下的其他使能模块进行冲突检测;当去能所有注册于所述发生冲突的HOOK点下的使能的模块后,检测结果为冲突依然存在时,执行宕机待修复的操作。根据本专利技术的另一方面,提供了一种模块间冲突检测装置,包括:建立模块,用于建立冲突表,其中,其中所述冲突表用于表示注册到钩子HOOK点的模块间是否存在冲突;第一检测模块,用于依据所述冲突表检测第一模块与第二模块间是否存在冲突,其中,所述第一模块与所述第二模块为注册到同一HOOK点的模块,并且所述第一模块与所述第二模块均为使能的模块。优选地,所述模块间冲突检测装置还包括:第一获取模块,用于获取所述每个HOOK点的访问控制列表,其中,所述访问控制列表包括所有注册到所述每个HOOK点的模块编号信息及注册到所述每个HOOK点的模块在所述每个HOOK点的兼容性信息;第二获取模块,用于获取所述每个模块所注册的HOOK点编号信息表,其中,所述每个模块可以注册多个HOOK点;生成模块,用于依据所述访问控制列表和所述HOOK点编号信息表生成所有HOOK点与所有模块的二维对应关系表。优选地,所述建立模块包括:建立单元,用于依据所述访问控制列表与所述二维对应关系表建立所述冲突表。优选地,所述模块间冲突检测装置还包括:定位模块,用于当所述第一检测模块的检测结果为所述第一模块与所述第二模块间存在冲突的情况下,依据所述二维对应关系表定位发生冲突的HOOK点;输出模块,用于输出包含所述第一模块、所述第二模块、所述发生冲突的HOOK点的三元组信息。优选地,所述模块间冲突检测装置还包括:去能模块,用于依次去能所述三元组信息中的模块;第二检测模块,用于对所述发生冲突的HOOK点下的其他使能模块进行冲突检测;执行模块,用于当去能所有注册于所述发生冲突的HOOK点下的使能的模块后,检测结果为冲突依然存在时,执行宕机待修复的操作。根据本专利技术人的再一方面,提供了一种服务器,包括上述任一项所述的模块间冲突检测装置。通过本专利技术,采用建立冲突表,其中所述冲突表用于表示注册到钩子HOOK点的模块间是否存在冲突;依据所述冲突表检测第一模块与第二模块间是否存在冲突,其中,所述第一模块与所述第二模块为注册到同一HOOK点的模块,并且所述第一模块与所述第二模块均为使能的模块。解决了相关技术中存在的注册于同一HOOK点的模块之间会存在冲突,导致引起流程不可预测的缺陷的问题,进而达到了有效检测模块间的冲突,避免了流程中不可预测的缺陷的出现,既保证了系统能够针对用户的请求输出正确的请求结果,又能防止系统出现损坏甚至崩溃的严重后果,进而有效提高用户体验的效果。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是相关技术中HOOK与MODULE的关系图;图2是根据本专利技术实施例的模块冲突检测方法的流程图;图3是根据本专利技术实施例的模块间冲突检测装置的结构框图;图4是根据本专利技术实施例的模块间冲突检测装置的优选结构框图一;图5是根据本专利技术实施例的模块间冲突检测装置中建立模块32的结构框图;图6是根据本专利技术实施例的模块间冲突检测装置的优选结构框图二;图7是根据本专利技术实施例的模块间冲突检测装置的优选结构框图三;图8是根据本专利技术实施例的服务器。具体实施方式下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。在本实施例中提供了一种模块间冲突检测方法,图2是根据本专利技术实施例的模块冲突检测方法的流程图,如图2所示,该流程包括如下步骤:步骤S202,建立冲突表,其中冲突表用于表示注册到钩子HOOK点的模块间是否存在冲突;步骤S204,依据冲突表本文档来自技高网
...
模块间冲突检测方法、装置及服务器

【技术保护点】
一种模块间冲突检测方法,其特征在于,包括:建立冲突表,其中所述冲突表用于表示注册到钩子HOOK点的模块间是否存在冲突;依据所述冲突表检测第一模块与第二模块间是否存在冲突,其中,所述第一模块与所述第二模块为注册到同一HOOK点的模块,并且所述第一模块与所述第二模块均为使能的模块。

【技术特征摘要】
1.一种模块间冲突检测方法,其特征在于,包括:建立冲突表,其中所述冲突表用于表示注册到钩子HOOK点的模块间是否存在冲突;依据所述冲突表检测第一模块与第二模块间是否存在冲突,其中,所述第一模块与所述第二模块为注册到同一HOOK点的模块,并且所述第一模块与所述第二模块均为使能的模块,在建立所述冲突表之前还包括:获取所述每个HOOK点的访问控制列表,其中,所述访问控制列表包括所有注册到所述每个HOOK点的模块编号信息及注册到所述每个HOOK点的模块在所述每个HOOK点的兼容性信息;获取所述每个HOOK点的模块所注册的HOOK点编号信息表,其中,所述每个HOOK点的模块可以注册多个HOOK点;依据所述访问控制列表和所述HOOK点编号信息表生成所有HOOK点与所有HOOK点的模块的二维对应关系表,建立所述冲突表包括:依据所述访问控制列表与所述二维对应关系表建立所述冲突表。2.根据权利要求1所述的方法,其特征在于,在所述第一模块与所述第二模块间存在冲突的情况下,还包括:依据所述二维对应关系表定位发生冲突的HOOK点;输出包含所述第一模块、所述第二模块、所述发生冲突的HOOK点的三元组信息。3.根据权利要求2所述的方法,其特征在于,还包括:依次去能所述三元组信息中的模块;对所述发生冲突的HOOK点下的其他使能模块进行冲突检测;当去能所有注册于所述发生冲突的HOOK点下的使能的模块后,检测结果为冲突依然存在时,执行宕机待修复的操作。4.一种模块间冲突检测装置,其特征在于,包括:建立模块,用于建立冲突表,其中,所述冲突表用于表示注册到钩子HOOK点的模...

【专利技术属性】
技术研发人员:周超勇
申请(专利权)人:北京蓝汛通信技术有限责任公司
类型:发明
国别省市:北京;11

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

1