1 .一种流数据处理方法,其特征在于包括:
获取数据源和用于处理所述数据源的复杂算子的描述信息;
判断所述数据源的数据类型是批量数据还是实时流数据;
根据所述复杂算子的描述信息解析所述复杂算子,得到与所述复杂算子对应的多个简
单算子及所述多个简单算子的嵌套关系,其中,所述简单算子包括无状态简单算子和有状
态简单算子,且各所述有状态简单算子均包括预先配置的第一接口和第二接口,所述第一
接口用于批量数据的运算,所述第二接口用于实时流数据的运算,且相同的有状态简单算
子的第一接口和第二接口对内容相同的数据源有相同的运算结果;
按照所述嵌套关系实例化所述多个简单算子,得到多个算子实例,其中,当所述数据源
的数据类型为所述批量数据时,基于所述第一接口实例化所述有状态简单算子的算子实
例,当所述数据源的数据类型为所述实时流数据时,基于所述第二接口实例化所述有状态
简单算子的算子实例;
使用所述多个算子实例处理所述数据源,得到所述复杂算子的运算结果。
2.根据权利要求1所述的流数据处理方法,其特征在于,按照所述嵌套关系实例化所述
多个简单算子,得到所述多个算子实例包括:
生成与所述复杂算子对应的缓存空间;
生成与所述多个简单算子对应的多个算子实例,并根据所述嵌套关系在所述缓存空间
中为各所述算子实例分配用于存储算子实例的输入数据、中间结果和运算结果的固定存储
空间。
3 .根据权利要求1所述的流数据处理方法,其特征在于,按照所述嵌套关系实例化所述
多个简单算子,得到所述多个算子实例还包括:
删除所述多个算子实例中相同的算子实例。
4 .根据权利要求1所述的流数据处理方法,其特征在于,使用所述多个算子实例处理所
述数据源,得到所述复杂算子的运算结果包括:
当所述数据源的数据类型为所述批量数据时,采用批处理引擎加载所述多个算子实例
以处理所述数据源,得到所述复杂算子的运算结果;
当所述数据源的数据类型为所述实时流数据时,采用流处理引擎加载所述多个算子实
例以处理所述数据源,得到所述复杂算子的运算结果。
5 .根据权利要求2所述的流数据处理方法,其特征在于,使用所述多个算子实例处理所
述数据源,得到所述复杂算子的运算结果包括:
获取输入数据,并将所述输入数据写入到所述缓存空间中相应的固定存储空间;
当检测到所述缓存空间的任一用于存储输入数据的固定存储空间的数据发生变化时,
使用与发生变化的固定存储空间对应的目标算子实例处理所述输入数据,得到与所述输入
数据对应的中间结果和运算结果,并将该中间结果和运算结果存储到用于存储所述目标算
子实例的中间结果和运算结果的固定存储空间;其中,用于存储某一算子实例的运算结果
的固定存储空间与用于存储另一算子实例的输入数据的固定存储空间相同。
6 .一种流数据处理系统,其特征在于包括:
获取模块,用于获取数据源和用于处理所述数据源的复杂算子的描述信息;
解析模块,用于根据所述复杂算子的描述信息解析所述复杂算子,得到与所述复杂算
权 利 要 求 书
1/2 页
2
评论