一种基于LUA脚本的前置网络数据采集调度方法与流程

摘要: 本发明涉及边缘计算与网络通信,尤其涉及一种基于lua脚本的前置网络数据采集调度方法。背景技术:1、在物联网、工业互联网及实时数据分析场景中,前置采集节点需要从异...
一种基于LUA脚本的前置网络数据采集调度方法与流程

本发明涉及边缘计算与网络通信,尤其涉及一种基于lua脚本的前置网络数据采集调度方法。

背景技术:

1、在物联网、工业互联网及实时数据分析场景中,前置采集节点需要从异构数据源持续获取原始报文,并对报文进行解析、归一化与转发处理。该类前置采集节点通常受限于较低的中央处理器主频、较小的可用内存和有限的功耗预算,且部署位置分散,运维难度较高。在该类场景下,采集任务的目标地址、采集周期、传输协议以及解析处理逻辑往往随业务需求而频繁变更,这就要求前置采集节点不仅能够稳定地执行采集任务,还能够在不中断业务的情况下完成采集任务的增删改与处理逻辑的升级。

2、现有技术中,针对前置网络数据采集与调度大致存在以下几类方案。第一类是基于静态编译的固化采集系统,该类系统将采集任务清单、传输协议栈与解析处理逻辑全部在固件编译期固化,当数据源地址或协议发生变更时,需要重新编译并烧录固件,并伴随业务中断;该类方案的缺点是部署周期长、运维复杂度高,无法满足在线变更的需求。第二类是基于重量级解释器的脚本化采集系统,该类系统将采集任务和处理逻辑下沉到通用高级语言重量级解释器中执行,能够支持一定程度的脚本热更新;该类方案的缺点是解释器自身资源占用较高,在内存小于128兆字节、中央处理器主频小于500兆赫兹的边缘节点上难以稳定运行,且垃圾回收抖动会使采集周期产生明显波动。第三类是基于通用数据采集代理的动态配置系统,该类系统通过配置文件监听机制对输入源进行动态加载和切换,并通过过滤器脚本对数据进行转换;该类方案的缺点是仅支持配置层面的动态切换,更新过程缺少事务化的封装,更新失败时易造成本地缓存数据丢失或重复发送,且未对运行时资源占用进行约束。第四类是基于流式编排平台的可视化采集系统,该类系统通过图形化的流编排接口在边缘网关上部署和更新数据流;该类方案的缺点是编排引擎本身较为重量,且更新过程中无法对采集任务在执行过程中产生的本地缓存数据与发送确认游标值进行一致性保护,更新失败时存在数据污染风险。在上述场景中,前置采集节点采集的数据需先写入本地缓存再向远端发送,并分别以写入位置游标与远端确认位置游标记录采集进度与发送进度;当采集任务或处理逻辑进行运行时动态调整时,若上述游标与本地缓存数据之间的对应关系失步,将导致数据丢失、重复发送或乱序发送。综上所述,现有技术尚未有效解决前置采集节点在资源受限条件下进行采集任务与处理逻辑运行时动态调整时本地缓存数据与发送确认游标值无法保持一致性这一客观存在的技术问题。

技术实现思路

1、本发明所要解决的技术问题在于,提供一种基于lua脚本的前置网络数据采集调度方法,以解决前置采集节点在资源受限条件下进行采集任务与处理逻辑运行时动态调整时本地缓存数据与发送确认游标值无法保持一致性的技术问题。

2、为了解决上述技术问题,本发明实施例第一方面公开了一种基于lua脚本的前置网络数据采集调度方法,所述方法包括:

3、s1,获取采集任务配置信息集、脚本更新事务包信息和节点运行时上下文信息;

4、s2,对所述采集任务配置信息集和所述节点运行时上下文信息进行调度处理,得到采集结果数据信息集和更新后节点运行时上下文信息;

5、s3,对所述脚本更新事务包信息、所述采集结果数据信息集和所述更新后节点运行时上下文信息进行事务处理,得到目标节点运行时上下文信息。

6、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述采集任务配置信息集和所述节点运行时上下文信息进行调度处理,得到采集结果数据信息集和更新后节点运行时上下文信息,包括:

7、s21,对所述采集任务配置信息集和所述节点运行时上下文信息进行处理,得到任务状态信息集;

8、s22,对所述采集任务配置信息集、所述任务状态信息集和所述节点运行时上下文信息进行计算处理,得到调度紧迫度信息集;

9、s23,对所述调度紧迫度信息集和所述任务状态信息集进行处理,得到原始采集报文信息;

10、s24,对所述原始采集报文信息进行解析归一化处理,得到结构化采集数据信息;

11、s25,对所述结构化采集数据信息和所述节点运行时上下文信息进行处理,得到采集结果数据信息集和更新后节点运行时上下文信息。

12、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述采集任务配置信息集和所述节点运行时上下文信息进行处理,得到任务状态信息集,包括:

13、s211,对所述采集任务配置信息集进行字段解析处理,得到字段解析结果信息集;

14、s212,对所述字段解析结果信息集进行字段校验处理,得到字段校验结果信息集;

15、s213,对所述字段校验结果信息集和所述节点运行时上下文信息进行任务注册处理,得到任务状态信息集。

16、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述采集任务配置信息集、所述任务状态信息集和所述节点运行时上下文信息进行计算处理,得到调度紧迫度信息集,包括:

17、利用边缘资源感知调度紧迫度计算模型,对所述采集任务配置信息集、所述任务状态信息集和所述节点运行时上下文信息进行计算处理,得到调度紧迫度信息集;

18、其中,所述边缘资源感知调度紧迫度计算模型为:

19、;

20、;

21、;

22、;

23、式中,为所述调度紧迫度信息集中第j个调度紧迫度值,所述调度紧迫度信息集包括若干个所述调度紧迫度值;为所述采集任务配置信息集中第j个采集任务配置信息中的截止期值;为所述采集任务配置信息集中第j个采集任务配置信息中的权重值;r为所述节点运行时上下文信息中的资源占用率值;为所述任务状态信息集中第j个任务状态信息中的上次执行时距值;为预设的截止期下限保护值;为非线性调制指数;为时距抑制系数;j的取值范围为1至n,n为所述采集任务配置信息集中所述采集任务配置信息的数量,n为正整数。

24、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述调度紧迫度信息集和所述任务状态信息集进行处理,得到原始采集报文信息,包括:

25、s231,对所述调度紧迫度信息集中所述调度紧迫度值进行最大值计算处理,得到最大调度紧迫度值;

26、s232,对所述最大调度紧迫度值和所述任务状态信息集进行匹配处理,得到待处理采集任务;

27、s233,对所述待处理采集任务进行协程创建处理,得到独立采集协程;

28、s234,对所述独立采集协程进行对象池分配处理,得到分配后采集协程;

29、s235,对所述分配后采集协程进行协程执行处理,得到原始采集报文信息。

30、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述结构化采集数据信息和所述节点运行时上下文信息进行处理,得到采集结果数据信息集和更新后节点运行时上下文信息,包括:

31、s251,对所述结构化采集数据信息进行环形缓冲写入处理,得到环形缓冲后采集数据信息;

32、s252,对所述环形缓冲后采集数据信息进行水位判定处理,得到水位判定结果信息;

33、s253,对所述环形缓冲后采集数据信息、所述节点运行时上下文信息和所述水位判定结果信息进行落盘补发处理,得到采集结果数据信息集和更新后节点运行时上下文信息。

34、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述脚本更新事务包信息、所述采集结果数据信息集和所述更新后节点运行时上下文信息进行事务处理,得到目标节点运行时上下文信息,包括:

35、s31,对所述脚本更新事务包信息进行校验处理,得到校验结果信息;

36、s32,对所述脚本更新事务包信息、所述更新后节点运行时上下文信息和所述校验结果信息进行验证处理,得到验证结果信息;

37、s33,对所述更新后节点运行时上下文信息和所述验证结果信息进行计算处理,得到任务安全切换点判定值;

38、s34,判断所述任务安全切换点判定值是否大于预设的切换点判定阈值,得到第一判断结果;

39、当所述第一判断结果为是时,对所述更新后节点运行时上下文信息进行切换处理,得到切换后的运行时上下文信息;

40、当所述第一判断结果为否时,确定所述更新后节点运行时上下文信息为所述节点运行时上下文信息,执行s2;

41、s35,对所述切换后的运行时上下文信息和所述验证结果信息进行计算处理,得到事务回滚一致性值;

42、s36,判断所述事务回滚一致性值是否等于0,得到第二判断结果;

43、当所述第二判断结果为是时,确定所述切换后的运行时上下文信息为目标节点运行时上下文信息;

44、当所述第二判断结果为否时,对所述切换后的运行时上下文信息进行回滚处理,得到回滚后的运行时上下文信息和告警上报结果信息,并确定所述回滚后的运行时上下文信息为所述目标节点运行时上下文信息。

45、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述脚本更新事务包信息进行校验处理,得到校验结果信息,包括:

46、s311,对所述脚本更新事务包信息进行远程接收处理,得到接收后事务包信息;

47、s312,对所述接收后事务包信息进行校验值比对处理,得到校验值比对结果信息;

48、s313,对所述接收后事务包信息和所述校验值比对结果信息进行兼容性比对处理,得到校验结果信息。

49、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述脚本更新事务包信息、所述更新后节点运行时上下文信息和所述校验结果信息进行验证处理,得到验证结果信息,包括:

50、s321,对所述脚本更新事务包信息和所述更新后节点运行时上下文信息进行影子启动处理,得到影子启动后上下文信息;

51、s322,对所述影子启动后上下文信息进行验证窗口设定处理,得到验证窗口配置信息;

52、s323,对所述影子启动后上下文信息和所述验证窗口配置信息进行验证结果统计处理,得到验证结果信息。

53、作为一种可选的实施方式,在本发明实施例第一方面中,所述对所述切换后的运行时上下文信息进行回滚处理,得到回滚后的运行时上下文信息和告警上报结果信息,包括:

54、s361,对所述切换后的运行时上下文信息进行运行时角色互换处理,得到回滚后的运行时上下文信息;

55、s362,对所述回滚后的运行时上下文信息和所述事务回滚一致性值进行告警上报处理,得到告警上报结果信息。

56、与现有技术相比,本发明实施例具有以下有益效果:

57、本发明实施例中,获取采集任务配置信息集、脚本更新事务包信息和节点运行时上下文信息;对所述采集任务配置信息集和所述节点运行时上下文信息进行调度处理,得到采集结果数据信息集和运行时更新后节点运行时上下文信息;对所述脚本更新事务包信息、所述采集结果数据信息集和所述运行时更新后节点运行时上下文信息进行事务处理,得到目标节点运行时上下文信息。可见,本技术将“采集调度过程持续维护本地缓存游标值与发送确认游标值”和“脚本热更新事务以所述本地缓存游标值与所述发送确认游标值作为切换点判定与回滚判据的输入”统一到同一处理链路之中,使得脚本与配置的运行时动态调整与本地采集数据的一致性保障被串接为一条以“运行时动态调整一致性保障”为目的的统一处理链路,实现了在前置采集节点上无需重启即可完成采集任务的增删改和处理逻辑升级,并保障了运行时动态调整过程中本地缓存数据与发送确认游标值之间的一致性。