信息通知方法、系统、设备及计算机可读存储介质技术方案

技术编号:17346047 阅读:19 留言:0更新日期:2018-02-25 11:06
本发明专利技术公开了一种基于观察者模式的信息通知方法、系统、设备及计算机可读存储介质,该基于观察者模式的信息通知方法包括:发布者接收所有订阅者的订阅信息,并基于所述订阅信息获取触发事件和回调方法;发布者基于预设规则加载所有订阅者的回调方法;当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法,以生成回调指令;发布者将所述回调指令发送至对应的订阅者。本发明专利技术节省了加载回调方法的时间,提升了系统功能模块的数据处理速度,进而提高系统的运行效率。

【技术实现步骤摘要】
信息通知方法、系统、设备及计算机可读存储介质
本专利技术涉及信息通知
,尤其涉及一种基于观察者模式的信息通知方法、系统、设备及计算机可读存储介质。
技术介绍
随着信息技术的快速发展,大型系统的开发项目越来越多地呈现出数据功能相互集成相互影响的趋势。系统项目中不同模块之间为维持其正常运行,会通过订阅其他模块的实时的数据变化来调整自身的功能。目前的系统软件设计中通常采用观察者模式来实现数据流的交互,将不同模块分为发布者和订阅者,订阅者订阅发布者,在发布者检测到数据变化时,加载预留在发布者中的回调方法以通知到订阅者。但是,发布者在加载回调方法时会耗费一定的时间,在大型系统的开发项目中,当发布者加载回调方法较多时,所耗费的时间时非常多的。这将大大影响对数据变化极为敏感的订阅者的调整流程,从而拖慢系统的响应速度,降低系统功能模块的数据处理速度,使得系统的运行效率降低。
技术实现思路
本专利技术的主要目的在于提供一种基于观察者模式的信息通知方法、系统、设备及计算机可读存储介质,旨在解决系统功能模块之间的信息通知不及时导致系统公允性效率低下的技术问题。为实现上述目的,本专利技术实施例提供一种基于观察者模式的信息通知方法,所述观察者模式中设置有发布者和订阅者,所述基于观察者模式的信息通知方法包括:发布者接收所有订阅者的订阅信息,并基于所述订阅信息获取触发事件和回调方法;发布者基于预设规则加载所有订阅者的回调方法;当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法,以生成回调指令;发布者将所述回调指令发送至对应的订阅者。优选地,所述当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法的步骤包括:当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法;发布者基于回调方法的数据采集指令采集触发事件中的目标数据;发布者基于回调方法和目标数据生成回调指令。优选地,所述发布者基于预设规则加载所有订阅者的回调方法的步骤还包括:当发布者检测到待加载的回调方法的数量大于第一阈值时,将所有待加载的回调方法进行异步加载。优选地,所述发布者基于预设规则加载所有订阅者的回调方法的步骤之后还包括:发布者调用订阅者的回调方法,生成测试指令,并将测试指令发送至对应的订阅者,以测试回调方法的可用性;当发布者接收到订阅者基于回调指令反馈的测试送达指令时,执行检测触发事件的步骤;当发布者在第一时间内未接收到订阅者基于测试指令反馈的测试送达指令时,输出订阅失败的提示信息。优选地,所述发布者将所述回调指令发送至对应的订阅者的步骤之后还包括:当发布者接收到订阅者基于回调指令反馈的回调送达指令时,重新加载所述订阅者的回调方法,以待后续检测到触发事件时进行调用。优选地,所述发布者将所述回调指令发送至对应的订阅者的步骤之后还包括:当发布者在第二时间内未接收到订阅者基于回调指令反馈的回调送达指令时,重新执行调用所述订阅者的回调方法,直至接收到所述回调送达指令。优选地,所述基于观察者模式的信息通知方法还包括:当发布者检测到订阅者撤销订阅信息时,释放所述订阅者已加载的回调方法,并注销所述订阅者的订阅信息。本专利技术还提供一种信息通知系统,所述信息通知系统包括:获取模块,用于发布者接收所有订阅者的订阅信息,并基于所述订阅信息获取触发事件和回调方法;加载模块,用于发布者基于预设规则加载所有订阅者的回调方法;调用模块,用于当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法,以生成回调指令;发送模块,用于发布者将回调指令发送至对应的订阅者。此外,为实现上述目的,本专利技术还提供一种信息通知设备,所述信息通知设备包括:存储器、处理器,通信总线以及存储在所述存储器上的信息通知程序,所述通信总线用于实现处理器与存储器间的通信连接;所述处理器用于执行所述信息通知程序,以实现以下步骤:发布者接收所有订阅者的订阅信息,并基于所述订阅信息获取触发事件和回调方法;发布者基于预设规则加载所有订阅者的回调方法;当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法,以生成回调指令;发布者将所述回调指令发送至对应的订阅者。优选地,所述当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法的步骤包括:当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法;发布者基于回调方法的数据采集指令采集触发事件中的目标数据;发布者基于回调方法和目标数据生成回调指令。优选地,所述发布者基于预设规则加载所有订阅者的回调方法的步骤还包括:当发布者检测到待加载的回调方法的数量大于第一阈值时,将所有待加载的回调方法进行异步加载。优选地,所述发布者基于预设规则加载所有订阅者的回调方法的步骤之后还包括:发布者调用订阅者的回调方法,生成测试指令,并将测试指令发送至对应的订阅者,以测试回调方法的可用性;当发布者接收到订阅者基于回调指令反馈的测试送达指令时,执行检测触发事件的步骤;当发布者在第一时间内未接收到订阅者基于测试指令反馈的测试送达指令时,输出订阅失败的提示信息。优选地,所述发布者将所述回调指令发送至对应的订阅者的步骤之后还包括:当发布者接收到订阅者基于回调指令反馈的回调送达指令时,重新加载所述订阅者的回调方法,以待后续检测到触发事件时进行调用。优选地,所述发布者将所述回调指令发送至对应的订阅者的步骤之后还包括:当发布者在第二时间内未接收到订阅者基于回调指令反馈的回调送达指令时,重新执行调用所述订阅者的回调方法,直至接收到所述回调送达指令。优选地,所述基于观察者模式的信息通知方法还包括:当发布者检测到订阅者撤销订阅信息时,释放所述订阅者已加载的回调方法,并注销所述订阅者的订阅信息。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:发布者接收所有订阅者的订阅信息,并基于所述订阅信息获取触发事件和回调方法;发布者基于预设规则加载所有订阅者的回调方法;当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法,以生成回调指令;发布者将所述回调指令发送至对应的订阅者。本专利技术的技术方案中,首先发布者接收所有订阅者的订阅信息,并基于所述订阅信息获取触发事件和回调方法;然后发布者基于预设规则加载所有订阅者的回调方法;接着当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法,以生成回调指令;最后发布者将所述回调指令发送至对应的订阅者。本专利技术通过调整观察者模式中发布者的检测加载流程,以预加载形式将将发布者中的回调方法加载在内存中,在需要调用的时候直接调取,而不用临时调用加载相关回调方法,从而节省了加载回调方法的时间,提升了系统功能模块的数据处理速度,进而提高系统的运行效率,达到省性能,省时间,高效率的目的。附图说明图1为本专利技术基于观察者模式的信息通知方法第一实施例的流程示意图;图2为本专利技术基于观察者模式的信息通知方法第二实施例的流程示意图;图3为本专利技术信息通知系统的装置示意图;图4为本专利技术基于观察者模式的信息本文档来自技高网...
信息通知方法、系统、设备及计算机可读存储介质

【技术保护点】
一种基于观察者模式的信息通知方法,其特征在于,所述观察者模式中设置有发布者和订阅者,所述基于观察者模式的信息通知方法包括:发布者接收所有订阅者的订阅信息,并基于所述订阅信息获取触发事件和回调方法;发布者基于预设规则加载所有订阅者的回调方法;当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法,以生成回调指令;发布者将所述回调指令发送至对应的订阅者。

【技术特征摘要】
1.一种基于观察者模式的信息通知方法,其特征在于,所述观察者模式中设置有发布者和订阅者,所述基于观察者模式的信息通知方法包括:发布者接收所有订阅者的订阅信息,并基于所述订阅信息获取触发事件和回调方法;发布者基于预设规则加载所有订阅者的回调方法;当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法,以生成回调指令;发布者将所述回调指令发送至对应的订阅者。2.如权利要求1所述的基于观察者模式的信息通知方法,其特征在于,所述当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法的步骤包括:当发布者检测到所述触发事件时,基于所述触发事件调用已加载的对应订阅者的回调方法;发布者基于回调方法的数据采集指令采集触发事件中的目标数据;发布者基于回调方法和目标数据生成回调指令。3.如权利要求1所述的基于观察者模式的信息通知方法,其特征在于,所述发布者基于预设规则加载所有订阅者的回调方法的步骤还包括:当发布者检测到待加载的回调方法的数量大于第一阈值时,将所有待加载的回调方法进行异步加载。4.如权利要求3所述的基于观察者模式的信息通知方法,其特征在于,所述将所有待加载的回调方法进行异步加载的步骤包括:发布者获取当前所有待加载的回调方法对应的订阅者的活跃程度;当发布者检测到订阅者的活跃程度大于或等于第二阈值时,将所述订阅者的回调方法的优先级设为第一级;当发布者检测到订阅者的活跃程度小于第二阈值时,将所述订阅者的回调方法的优先级设为第二级;发布者加载优先级为第一级的回调方法,并当发布者检测到第一级的回调方法加载完毕时,加载第二级的回调方法。5.如权利要求3所述的基于观察者模式的信息通知方法,其特征在于,所述将所有待加载的回调方法进行异步加载的步骤包括:发布者获取当前所有待加载的回调方法对应的订阅者的付费状况;当发布者检测到订阅者属于付费对象时,将所述订阅者的回调方法的优先...

【专利技术属性】
技术研发人员:周鹏
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:广东,44

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

1