用于流式计算的规则更新方法、装置及流式计算系统制造方法及图纸

技术编号:24352395 阅读:35 留言:0更新日期:2020-06-03 01:52
本说明书的实施例提供用于流式计算的规则更新方法、装置及流式计算系统。该流式计算系统包括规则配置平台、规则管理器、分布式文件服务器、任务调度器、资源管理器和至少一个任务执行器节点。任务调度器定期向规则管理器发送增量更新规则查询请求。规则管理器响应于增量更新规则查询请求而从规则配置平台获取规则列表数据。任务调度器使用规则列表数据中的文件存储路径地址,获取进入上线状态的增量更新业务规则的可执行文件。任务调度器基于增量更新业务规则的可执行文件构建规则执行器实例,并将所构建的规则执行器实例广播给各个任务执行器节点以进行规则执行器更新。各个任务执行器节点使用更新后的规则执行器来运行后续任务。

Rule updating method, device and flow computing system for flow computing

【技术实现步骤摘要】
用于流式计算的规则更新方法、装置及流式计算系统
本说明书的实施例通常涉及流式计算领域,更具体地,涉及用于流式计算的规则更新方法、装置及流式计算系统。
技术介绍
流式计算系统(例如,流式实时分布式计算)被广泛地应用于在线和近线海量数据处理。现有的流式计算系统(也可以称为流式计算框架),比如storm、sparkstreaming、flink等,都是在服务启动时已经编排好数据的处理逻辑算法(即,业务规则),并且不能进行动态更新。如果想要更新处理逻辑算法,则需要重新部署重启服务后才能生效。然而,许多安全应用场景要求能够7/24小时实时监测威胁,并且针对多变的风险形势提供应对措施。由此,如何能够在不停止服务的情况下进行业务规则快速更新是亟待解决的问题。
技术实现思路
鉴于上述问题,本说明书的实施例提供了一种用于流式计算的规则更新方法、装置、流式计算引擎及系统。利用该方法及系统,能够在不停止服务的情况下实现业务规则的快速更新。根据本说明书的实施例的一个方面,提供了一种用于流式计算的规则更新方法,所述规则更新方法由流式计算引擎中的任务调度器执行,所述规则更新方法包括:获取进入上线状态的增量更新业务规则的可执行文件,所述可执行文件是对所述增量更新业务规则进行编译打包后生成的;基于所述增量更新业务规则的可执行文件构建规则执行器实例;以及将所构建的规则执行器实例广播给所述流式计算引擎中的各个任务执行器节点以进行规则执行器更新,所述各个任务执行器节点使用更新后的规则执行器来运行任务。可选地,在上述方面的一个示例中,获取进入上线状态的增量更新业务规则的可执行文件可以包括:从规则管理器获取进入上线状态的增量更新业务规则的规则列表数据,所述规则列表数据包括所述增量更新业务规则的可执行文件在分布式文件服务器中的文件存储路径地址;以及根据所述文件存储路径地址来从所述分布式文件服务器中下载所述增量更新业务规则的可执行文件。可选地,在上述方面的一个示例中,从规则管理器获取所述增量更新业务规则的规则列表数据可以包括:向规则管理器定期发送规则列表数据获取请求,所述规则列表数据获取请求用于获取进入上线状态的增量更新业务规则的规则列表数据;以及从所述规则管理器接收响应于所述规则列表数据获取请求而获取的规则列表数据。可选地,在上述方面的一个示例中,所述增量更新业务规则是基于业务规则配置数据生成的业务规则脚本文件,以及基于所述增量更新业务规则的可执行文件构建规则执行器实例可以包括:将所述增量更新业务规则的可执行文件加载到虚拟机中来构建规则执行器实例。可选地,在上述方面的一个示例中,所述规则列表数据可以是通过所述规则管理器响应于所述规则列表数据获取请求查询规则配置平台而获取的。可选地,在上述方面的一个示例中,所述上线状态包括试运行、灰度发布和正式运行,其中,在所述上线状态是试运行或灰度发布时,在各个任务执行器节点处创建试运行规则缓存或灰度发布规则缓存,所构建的规则执行器实例被存储在试运行规则缓存或灰度发布规则缓存中,在所述上线状态是正式运行时,所构建的规则执行器实例被使用来更新各个任务执行器节点处的规则仓储。可选地,在上述方面的一个示例中,所述增量更新业务规则是在可视化规则配置平台处基于业务指标配置的,所述业务指标是基于业务规则代码逻辑抽象出的。根据本说明书的实施例的另一方面,提供一种用于流式计算的规则更新装置,所述规则更新装置应用于流式计算引擎中的任务调度器,所述规则更新装置包括:文件获取单元,获取进入上线状态的增量更新业务规则的可执行文件,所述可执行文件是对所述增量更新业务规则进行编译打包后生成的;执行器实例构建单元,基于所述增量更新业务规则的可执行文件构建规则执行器实例;以及执行器实例广播单元,将所构建的规则执行器实例广播给所述流式计算引擎中的各个任务执行器节点以进行规则执行器更新,所述各个任务执行器节点使用更新后的规则执行器来运行任务。可选地,在上述方面的一个示例中,所述可执行文件获取单元可以包括:规则列表数据获取模块,从规则管理器获取进入上线状态的增量更新业务规则的规则列表数据,所述规则列表数据包括所述增量更新业务规则的可执行文件在分布式文件服务器中的文件存储路径地址;以及文件下载模块,根据所述文件存储路径地址来从所述分布式文件服务器中下载所述增量更新业务规则的可执行文件。可选地,在上述方面的一个示例中,所述规则列表数据模块向规则管理器定期发送规则列表数据获取请求,所述规则列表数据获取请求用于获取进入上线状态的增量更新业务规则的规则列表数据;以及从所述规则管理器接收响应于所述规则列表数据获取请求而获取的规则列表数据。可选地,在上述方面的一个示例中,所述规则列表数据是通过所述规则管理器响应于所述规则列表数据获取请求查询规则配置平台而获取的。根据本说明书的实施例的另一方面,提供一种流式计算引擎,包括:任务调度器,包括如上所述的用于流式计算的规则更新装置,用于进行任务调度以及流式计算中的规则更新;资源管理器,响应于所述任务调度器的资源申请请求,为所述任务调度器所调度的任务分配资源,并将所分配的资源分发给对应的任务执行器;以及至少一个任务执行器节点,使用所述资源管理器分配的资源来基于本地规则仓储中的规则执行器实例运行所述任务调度器所调度的任务。根据本说明书的实施例的另一方面,提供一种流式计算系统,包括:规则配置平台;规则管理器;分布式文件系统;以及如上所述的流式计算引擎。根据本说明书的实施例的另一方面,提供一种电子设备,包括:一个或多个处理器,以及与所述一个或多个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的用于流式计算的规则更新方法。根据本说明书实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的用于流式计算的规则更新方法。附图说明通过参照下面的附图,可以实现对于本说明书的实施例内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。图1示出了根据本说明书的实施例的流式计算系统的方框图;图2示出了根据本说明书的实施例的任务调度器的方框图;图3示出了根据本说明书的实施例的用于流式计算的规则更新方法的流程图;图4示出了根据本说明书的实施例的文件系统单元的一个实现示例的方框图;图5示出了根据本说明书的实施例的业务规则生命周期状态流转图;图6示出了根据本说明书的实施例的流式计算过程的一个示例的整体流程示意图;图7示出了根据本说明书的实施例的用于实现流式计算中的业务规则更新过程的电子设备的方框图。具体实施方式现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明本文档来自技高网...

【技术保护点】
1.一种用于流式计算的规则更新方法,所述规则更新方法由流式计算引擎中的任务调度器执行,所述规则更新方法包括:/n获取进入上线状态的增量更新业务规则的可执行文件,所述可执行文件是对所述增量更新业务规则进行编译打包后生成的;/n基于所述增量更新业务规则的可执行文件构建规则执行器实例;以及/n将所构建的规则执行器实例广播给所述流式计算引擎中的各个任务执行器节点以进行规则执行器更新,所述各个任务执行器节点使用更新后的规则执行器来运行任务。/n

【技术特征摘要】
1.一种用于流式计算的规则更新方法,所述规则更新方法由流式计算引擎中的任务调度器执行,所述规则更新方法包括:
获取进入上线状态的增量更新业务规则的可执行文件,所述可执行文件是对所述增量更新业务规则进行编译打包后生成的;
基于所述增量更新业务规则的可执行文件构建规则执行器实例;以及
将所构建的规则执行器实例广播给所述流式计算引擎中的各个任务执行器节点以进行规则执行器更新,所述各个任务执行器节点使用更新后的规则执行器来运行任务。


2.如权利要求1所述的规则更新方法,其中,获取进入上线状态的增量更新业务规则的可执行文件包括:
从规则管理器获取进入上线状态的增量更新业务规则的规则列表数据,所述规则列表数据包括所述增量更新业务规则的可执行文件在分布式文件服务器中的文件存储路径地址;以及
根据所述文件存储路径地址来从所述分布式文件服务器中下载所述增量更新业务规则的可执行文件。


3.如权利要求2所述的规则更新方法,其中,从规则管理器获取所述增量更新业务规则的规则列表数据包括:
向规则管理器定期发送规则列表数据获取请求,所述规则列表数据获取请求用于获取进入上线状态的增量更新业务规则的规则列表数据;以及
从所述规则管理器接收响应于所述规则列表数据获取请求而获取的规则列表数据。


4.如权利要求1所述的规则更新方法,其中,所述增量更新业务规则是基于业务规则配置数据生成的业务规则脚本文件,以及
基于所述增量更新业务规则的可执行文件构建规则执行器实例包括:
将所述增量更新业务规则的可执行文件加载到虚拟机中来构建规则执行器实例。


5.如权利要求3所述的规则更新方法,其中,所述规则列表数据是通过所述规则管理器响应于所述规则列表数据获取请求查询规则配置平台而获取的。


6.如权利要求1所述的规则更新方法,其中,所述上线状态包括试运行、灰度发布和正式运行,
其中,在所述上线状态是试运行或灰度发布时,在各个任务执行器节点处创建试运行规则缓存或灰度发布规则缓存,所构建的规则执行器实例被存储在试运行规则缓存或灰度发布规则缓存中,
在所述上线状态是正式运行时,所构建的规则执行器实例被使用来更新各个任务执行器节点处的规则仓储。


7.如权利要求1所述的规则更新方法,其中,所述增量更新业务规则是在可视化规则配置平台处基于业务指标配置的,所述业务指标是基于业务规则代码逻辑抽象出的。


8.一种用于流式计算的规则更新装置,所述规则更新装置应用于流式计算引擎中的任务...

【专利技术属性】
技术研发人员:邬浩艳尹攀
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1