在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:CSharpFlink开源软件地址:https://gitee.com/wxzz/CSharpFlink开源软件介绍:CSharpFlinka real-time computing framework 技术博客 https://www.cnblogs.com/lsjwq/ github地址:https://github.com/wxzz/CSharpFlink gitee地址:https://gitee.com/wxzz/CSharpFlink 作者QQ:504547114 技术QQ群:54256083 1 项目背景 我们有一个全国性质的面向工业的公有云平台,通过专线或4G的链路方式实时向平台传输数据,每天处理1亿条左右的数据量,为现场用户提供实时的在线服务和离线数据分析服务。现在已经上线稳定运行有将近3年的时间。同时也为工业企业提供私有云建设服务。 2 应用场景主要面向物联网、工业互联网私有云或公有云平台建设过程中的数据点实时聚合和表达式计算。应用场景包括:
3 框架特点主要特点主要是根据我们多年的物联网、工业项目经验的提炼和总结,满足实现应用场景,特点包括:
4 框架结构框架结构组件的基本示意,如下图: 5 代码目录说明使用VS2019进行工程开发,工程解决方案文件为:CSharpFlink.sln,代码目录说明如下:
6 配置文件说明配置文件默认为:cfg\global.cfg,可以自定义指定配置文件,参见:命令行操作说明。配置文件说明,如下:
7 任务部署说明二次开发参见:二次开发说明。开发好的任务,测试通过后,把程序集(.dll)复制到“tasks”目录下,例如工程TestTask项目测试、编译通过后,可以部署到“tasks”目录下,运行“CSharpFlink”主程序会自动加载和调用。 可以自定义指定任务程序集,参见:命令行操作说明。 8 命令行操作说明命令行运行“CSharpFlink”程序,支持自定义指定配置文件或任务程序集,说明如下: -h 显示命令行帮助。 -c 加载指定配置文件。 例如:CSharpFlink -c c:/my.cfg -t 加载任务程序集。 例如:CSharpFlink -t c:/mytask.dll 例如: dotnet CSharpFlink.dll -c c:/master.cfg -t c:/mytask.dll 9 部署说明“release”目录下是编译好的程序,把“CSharpFlink v1.0”分别复制到不同的路径下,分别修改“cfg\global.cfg”配置文件中“NodeType”参数为:Master和Slave,修改主节点程序“tasks\tasks.cfg”文件中的任务数,分别运行不同目录下的“dotnet CSharpFlink.dll”。 “TestTask.dll”源代码,参见:二次开发说明。 10 二次开发说明二次开发主要针对数据源、计算过程和数据计算结果存储,大致过程如下:
11 单机10万数据点计算应用(事例展示)普通PC机10万数据点秒级计算,CPU:4核 I5-7400 2.7GHz,内存:16G,随机数据点时间窗口和计算算子,主节点CPU和内存使用情况:15%-35%、1500MB-2048MB, 工作节点CPU和内存使用情况:0.1%-2.5%、18MB-30MB。 本机部署1个主节点,10个计算节点。主节点生成10万个数据点的计算任务,每个数据点1秒钟产生一个新数据,计算时间窗口的最大值、最小值、平均值或和值。 部署结构,如下图: 进程显示,如下图: 运行效果,如下图: iNeuOS工业互联网公众号: |
请发表评论