CN109754849A - 一种云计算环境中的个人健康流数据处理系统及方法 - Google Patents
一种云计算环境中的个人健康流数据处理系统及方法 Download PDFInfo
- Publication number
- CN109754849A CN109754849A CN201811581836.XA CN201811581836A CN109754849A CN 109754849 A CN109754849 A CN 109754849A CN 201811581836 A CN201811581836 A CN 201811581836A CN 109754849 A CN109754849 A CN 109754849A
- Authority
- CN
- China
- Prior art keywords
- cloud environment
- server
- cluster
- service
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种云计算环境中的个人健康流数据处理系统及方法,系统包括智能客户端、后台服务器、Kafka数据中间系统、方案处理转化服务器、云环境服务器、共享文件系统服务器、云环境数据库、云环境集群、云环境私有仓库、时序数据存储系统;本发明详细研究了慢病实时数据流处理与存储系统的整体架构,然后按照慢病实时数据在系统中的流转过程,依次设计和实现了自定义流处理、数据通道、数据存储和数据展示的方法。本发明提供了一种在云计算环境下,高性能、交互性强的数据处理系统及方法,并具有一定的通用性。
Description
技术领域
本专利属于计算机技术领域,涉及一种数据处理系统及办法,具体涉及一种云计算环境中的个人健康流数据处理系统及方法。
背景技术
随着大数据时代的到来与IOT领域的兴起,慢病健康领域与生俱来的数据量大(Volume),数据变化快(Velocity),数据种类多(Variety)的特点显得更为突出,与此同时人们开始更加关心个人的健康,希望能更好的实时关注自己的健康状况。
当下流行的数据处理引擎更多的是面向开发人员和数据分析人员,比如在健康监控方面,开发人员可能会提供几种类型的监控方案给用户,然而没有相关领域知识的个人用户,在希望能够自定义自己关心的健康状态时确无从下手。因此,在健康数据处理这一垂直领域,设计一种实时流数据处理引擎,并提供强交互性和用户友好的操作方式十分有必要。除此之外,这种数据处理引擎还应该很好的与云计算环境结合,满足数据平台多租户的功能需求。
发明内容
针对现有技术存在的不足,本发明提供了一种在云计算环境下,高性能、交互性强的数据处理系统及方法,并具有一定的通用性。
本发明的系统所采用的技术方案为:一种云计算环境中的个人健康流数据处理系统,其特征在于:包括智能客户端、Kafka数据中间系统、后台服务器、方案处理转化服务器、云环境服务器、共享文件系统服务器、云环境数据库、云环境集群、云环境私有仓库、时序数据存储系统;
所述智能客户端、Kafka数据中间系统、后台服务器、方案处理转化服务器、云环境服务器、共享文件系统服务器、云环境数据库、云环境集群、云环境私有仓库、时序数据存储系统均通过网络连接通信。
本发明的方法所采用的技术方案为:一种云计算环境中的个人健康流数据处理方法,其特征在于,包括以下步骤:
步骤1:用户通过智能客户端提交自己的监控需求;
步骤2:智能客户端将用户的需求信息转化为JSON信息,并向后台服务器发起Ajax请求,作为流数据处理业务;
步骤3:后台服务器将包括监控需求、用户信息的上下文信息以HTTP post请求的方式发送给方案处理转化服务器;
步骤4:方案处理转化服务器解析请求获取监控需求后,生成逻辑和物理执行计划,并以可执行文件和配置文件的形式进行本地存储;
步骤5:将可执行文件和容器配置文件上传到共享文件系统服务器;
步骤6:返回共享文件系统服务器中的文件路径给后台服务器;
步骤7:后台服务器以HTTP调用的方式向云环境服务器请求创建集群镜像;
步骤8:云环境服务器以HTTP形式向云环境集群发布集群镜像创建命令;
步骤9:云环境集群接收到请求,从共享文件系统服务器拉取可执行文件;
步骤10:云环境集群将可执行文件打包成镜像;
步骤11:云环境集群把打包的镜像上传到云环境私有仓库;
步骤12:云环境私有仓库将镜像存储信息返回给云环境集群;
步骤13:云环境集群把镜像信息返回给云环境服务器;
步骤14:云环境服务器把相关的镜像信息存储到云环境数据库中,并将相关信息返回给后台服务器;
步骤15:后台服务器确定镜像创建成功后,向云环境服务器发送部署对应集群服务的请求;
步骤16:云环境服务器接收到请求后,以HTTP形式向云环境集群发布部署命令;
步骤17:云环境集群接收到命令后,向云环境私有仓库请求获取对应镜像;
步骤18:当镜像拉取完毕后,集群以镜像为基础,部署对应服务,将对应服务业务信息返回给云环境服务器;
步骤19:云环境服务器将服务信息存储到云环境数据库,并且把相关信息返回给后台服务器;
步骤20:后台服务器最后根据部署好的云环境服务产生的分析结果,生成可视化的视图,反馈给用户。
作为优选,步骤3中,后台服务器根据流数据处理业务需求定义,生成相应的处理逻辑,具体实现包括以下子步骤:
步骤3.1:定义连接类型、条件和对象;
步骤3.2:定义窗口类型、长度和间隔;
步骤3.3:定义增幅增比;
步骤3.4:定义聚集项和聚集类型;
步骤3.5:定义过滤条件;
步骤3.6:定义选择投影。
作为优选,步骤4中,方案处理转化服务器获取流数据处理业务的JSON描述,首先根据对用户定义的流数据处理业务相关的语义约束,在该处进行数据校验后,筛选出流数据处理业务的基础信息和算子定义,并将用户定义的算子转换为抽象语法树结构;
方案处理转化服务器接收流数据处理业务描述,经过验证转化、语义分析、生成物理计划,生成Kafka数据中间系统stream程序,提供流数据查询服务。
作为优选,所述流数据查询服务,以Kafka数据中间系统中的流数据为全局的数据总线进行实时查询,在流数据查询中,定义数据查询流程和数据访问标准,从而来定义各种满足用户需求的数据操作,包括实时监控报警、自定义查询;
具体实现包括以下子步骤:
步骤4.1:方案处理转化服务器接受后台服务器发来的HTTP Post请求,请求内容为JSON格式,包含用户定义的方案以及用户Id在内的上下文信息;
步骤4.2:解析post请求体中的JSON串,获得其中的方案定义及其上下文;
步骤4.3:方案处理转化服务器将以抽象语法树数据结构表示用户自定义的方案,方便后续逻辑计划生成和语义分析时进行的工作;
步骤4.4:进行校验工作,检查用户定义的方案是否合法,即符合语法规则,同时语义是否合理,即符合语义规则;
若是,则执行下述步骤4.6;
若否,则执行下述步骤4.5;
步骤4.5:将具体的错误信息返回给用户,返回后,用户在原基础上进行修改或重新定义,并回转执行步骤4.1;
步骤4.6:方案通过检验,方案处理转化服务器将进一步对抽象语法树进行语义分析,由于上述的抽象语法树,每个节点都集成了Node类,实现了accept方法,这时使用一个Visitor去遍历抽象语法树的每一个节点,获得每个节点所代表的算子及其具体的定义;
步骤4.7:完成语义分析后,进行基于启发式规则的优化;
步骤4.8:优化后,得到整个流数据处理的操作树,即逻辑计划;
步骤4.9:得到操作树以后,关联从Kafka数据中间系统中获取的元数据信息,生成物理执行计划,查询需要部署后用户触发;
步骤4.10:使用java代码模板引擎,将得到的逻辑计划和代码模板结合,得到流处理的核心源文件,这时得到的是在内存中的源代码文件;
步骤4.11:在java运行时获取相关依赖,对内存中源文件进行打包生成Class文件,同样还是存储在内存中,最后在运行时进行打包生成Jar可执行文件。
作为优选,步骤8中,云环境服务器以HTTP形式向云环境集群发布镜像创建命令,创建云环境服务,云环境集群进而调度资源执行;
在创建云环境服务之前,需要进行云环境部署,云环境部署是启用云镜像的一个必要前提,具体步骤包括:
步骤8.1:创建一个对云环境的直接管理请求,把服务部署需要的镜像信息传递给云环境集群,镜像信息包括镜像名称、镜像版本号、镜像实例数;
步骤8.2:云环境集群根据相关镜像信息到云环境私有仓库中拉去存储的镜像文件;
步骤8.3:以负载均衡的形式在云环境集群上启动镜像实例;
步骤8.4:镜像服务部署完毕,云环境服务器把服务的基本信息返回给后台服务器;
步骤8.5:后台服务器接收这些数据后,会把这些数据存储到云环境数据库中。
作为优选,步骤20中,后台服务器最后根据部署好的云环境服务,对服务进行监控和管理;
具体实现包括以下子步骤:
步骤20.1:为用户服务设置HTTP GET、TCP形式的探活端口,服务部署后通过HTTP请求访问该探活端口,来查探服务是否运行;
步骤20.2:集群监控系统定期发送HTTP GET请求或心跳包来探测服务运行情况;
步骤20.3:集群监控系统通过定期调用云环境集群提供的应用程序接口,获得已部署云环境服务的资源使用情况,以及云环境集群的整体资源使用情况;
步骤20.4:集群监控系统将会依据用户服务的优先级与集群资源的状况决定是否重新部署运行失败的服务,同时将以上获得的信息进行汇总,定期刷新反馈在系统管理界面的展示信息;
步骤20.5:集群维护人员根据管理界面中的服务运行情况与资源信息做进一步的管理决策。
与现有技术相比,本发明具有以下特点:
(1)交互性强,整个业务方案可由用户定制,切合用户自定义的需求,将更多创新的权利交由用户;
(2)具备丰富的流数据处理语义,可以支持多种业务方案的定义,包括数据流的连接、窗口、流数据的聚合,并提供增幅、增比、均值等多种标量函数操作;
(3)强实时性,借助流数据处理系统,能达到在数据生成到处理的毫秒级响应,在慢病健康领域,实时数据流分析,及时发现健康问题十分重要;
(4)高性能,从用户定义的方案解析、校验、逻辑计划、物理计划生成,到最终启动容器资源,执行服务这整个过程将在秒级完成;
(5)高可用性,流数据处理过程中带状态的数据,都将由高可用的中间件做备份存储;
(6)函数即服务(Function as a service),根据用户的需求,动态、即时地创建服务,并且容器可以随时启停,这意味着还将减少基础资源的开销,不使用即可销毁不再占据资源;
(7)契合多租户,在共用的数据中心内以单一系统架构与服务,提供多数客户相同甚至可定制化的服务,并且仍然可以保障客户的数据隔离;
(8)采取微服务架构,方便部署与开发,服务之间更加解耦合;
(9)方案处理转换服务(即健康流数据处理系统)部分作为中间层,其无状态的特点,很容易扩展(scale-out),增强并发处理能力。
附图说明
图1为本发明实施例的系统架构图;
图2为本发明实施例的流数据处理系统及云计算环境下服务间调用的时序图;
图3为本发明实施例的方案处理转化服务的流程图;
图4为本发明实施例的流数据算子组成的操作树(逻辑计划)示意图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
本发明详细研究了慢性病实时数据流处理与存储系统的整体架构,然后按照慢性病实时数据在系统中的流转过程,依次设计和实现了自定义流处理、数据通道、数据存储和数据展示的方法。
为了方便描述,这里把用户定义一个监控方案作为实施场景。在这一场景中,用户希望定义一个方案来监控自己是否有高血压风险,若其在5分钟内收缩压高于140mmhg,舒张压低于85mmhg的情况超过3次(假设采样频率为30秒一次)的时候,能够有警报提示的监控服务。接下来将具体描述如何将用户定义的方案转化为监控服务并实时报警的过程。
请见图1,本发明提供的一种云计算环境中的个人健康流数据处理系统,包括智能客户端、Kafka数据中间系统、后台服务器、方案处理转化服务器、云环境服务器、共享文件系统服务器、云环境数据库、云环境集群、云环境私有仓库、时序数据存储系统;
智能客户端、Kafka数据中间系统、后台服务器、方案处理转化服务器、云环境服务器、共享文件系统服务器、云环境数据库、云环境集群、云环境私有仓库、时序数据存储系统均通过网络连接通信。
请见图2,本发明提供了一种云计算环境中的个人健康流数据处理方法,包括以下步骤:
步骤1:用户通过智能客户端提交自己的监控需求;
步骤2:智能客户端将用户的需求信息转化为JSON信息,并向后台服务器发起Ajax请求,作为流数据处理业务;
步骤3:后台服务器将包括监控需求、用户信息的上下文信息以HTTP post请求的方式发送给方案处理转化服务器;
请见表1,为用户定义相关的操作描述表;后台服务器根据流数据处理业务需求定义,生成相应的处理逻辑,具体实现包括以下子步骤:
步骤3.1:定义连接类型、条件和对象;
步骤3.2:定义窗口类型、长度和间隔;
步骤3.3:定义增幅增比;
步骤3.4:定义聚集项和聚集类型;
步骤3.5:定义过滤条件;
步骤3.6:定义选择投影。
表1为用户定义相关的操作描述表
步骤4:方案处理转化服务器解析请求获取监控需求后,生成逻辑和物理执行计划,并以可执行文件和配置文件的形式进行本地存储;
方案处理转化服务器获取流数据处理业务的JSON描述,首先根据对用户定义的流数据处理业务相关的语义约束,在该处进行数据校验后,筛选出流数据处理业务的基础信息和算子定义,并将用户定义的算子转换为抽象语法树结构;
方案处理转化服务器接收流数据处理业务描述,经过验证转化、语义分析、生成物理计划,生成Kafka数据中间系统stream程序,提供流数据查询服务。
在流数据查询方面,本发明定义了一套数据查询流程和数据访问标准,可以基于这套数据访问方法来定义各种满足用户需求的数据操作,例如监控报警方案(实时观察监控指标是否有大于某阈值的情况)、实时监控(实时可视化流数据)、自定义查询(用户自行选择自己关心的数据)等。本发明以Kafka数据中间系统中的流数据为全局的数据总线进行实时查询,为了方便描述,这里把用户定义一个监控方案作为实施场景,以描述数据查询的具体过程。在这一场景中,用户希望定义一个方案来监控自己是否有高血压风险,若其在5分钟内收缩压高于140mmhg,舒张压低于85mmhg的情况超过3次(假设采样频率为30秒一次)的时候,能够有警报提示的监控服务。接下来将具体描述如何将用户定义的方案转化为监控服务并实时报警的过程,请见图3,具体实现包括以下子步骤:
步骤4.1:方案处理转化服务器接受后台服务器发来的HTTP Post请求,请求内容为JSON格式,包含用户定义的方案以及用户Id在内的上下文信息;
步骤4.2:解析post请求体中的JSON串,获得其中的方案定义及其上下文;
步骤4.3:方案处理转化服务器将以抽象语法树数据结构表示用户自定义的方案,方便后续逻辑计划生成和语义分析时进行的工作;
步骤4.4:进行校验工作,检查用户定义的方案是否合法,即符合语法规则,同时语义是否合理,即符合语义规则;
若是,则执行下述步骤4.6;
若否,则执行下述步骤4.5;
步骤4.5:将具体的错误信息返回给用户,返回后,用户在原基础上进行修改或重新定义,并回转执行步骤4.1;
步骤4.6:方案通过检验,方案处理转化服务器将进一步对抽象语法树进行语义分析,由于上述的抽象语法树,每个节点都集成了Node类,实现了accept方法,这时使用一个Visitor去遍历抽象语法树的每一个节点,获得每个节点所代表的算子及其具体的定义;
步骤4.7:完成语义分析后,进行基于启发式规则的优化;
步骤4.8:优化后,得到整个流数据处理的操作树,即逻辑计划;
得到的操作树示意图可以参见图4;
步骤4.8.1:用户定义的收缩压和舒张压分别对应IoT设备定时采集的流数据源;
步骤4.8.2:经过谓词下推的优化后,得到的是只包含该用户的流数据源;
步骤4.8.3:因为需要同时查看收缩压和舒张压的大小,故先进行连接,得到将测量值合并后的流数据;
步骤4.8.4:为了找出5分钟内是否有超过3次的血压情形发生,使用窗口长度为5分钟,聚合函数为Count计数函数,并在聚合函数处理过程中,判断血压值是否大于指定阈值;
步骤4.8.5:对得到的次数进行过滤,如果超过3次则认定为有危险;
步骤4.8.6:由于用户希望查看警报,将警报位置true,增设一列数值0/1来表达是否有危险;
步骤4.9:得到操作树以后,关联从Kafka数据中间系统中获取的元数据信息,生成物理执行计划,查询需要部署后用户触发;
步骤4.10:使用java代码模板引擎,将得到的逻辑计划和代码模板结合,得到流处理的核心源文件,这时得到的是在内存中的源代码文件;
步骤4.11:在java运行时获取相关依赖,对内存中源文件进行打包生成Class文件,同样还是存储在内存中,最后在运行时进行打包生成Jar可执行文件。
步骤5:将可执行文件和容器配置文件上传到共享文件系统服务器;
步骤6:返回共享文件系统服务器中的文件路径给后台服务器;
步骤7:后台服务器以HTTP调用的方式向云环境服务器请求创建集群镜像;
步骤8:云环境服务器以HTTP形式向云环境集群发布集群镜像创建命令;
云环境服务器以HTTP形式向云环境集群发布镜像创建命令,创建云环境服务,云环境集群进而调度资源执行;
在创建云环境服务之前,需要进行云环境部署,云环境部署是启用云镜像的一个必要前提,具体步骤包括:
步骤8.1:创建一个对云环境的直接管理请求,把服务部署需要的镜像信息传递给云环境集群,镜像信息包括镜像名称、镜像版本号、镜像实例数;
步骤8.2:云环境集群根据相关镜像信息到云环境私有仓库中拉去存储的镜像文件;
步骤8.3:以负载均衡的形式在云环境集群上启动镜像实例;
步骤8.4:镜像服务部署完毕,云环境服务器把服务的基本信息返回给后台服务器;
步骤8.5:后台服务器接收这些数据后,会把这些数据存储到云环境数据库中。
步骤9:云环境集群接收到请求,从共享文件系统服务器拉取可执行文件;
步骤10:云环境集群将可执行文件打包成镜像;
步骤11:云环境集群把打包的镜像上传到云环境私有仓库;
步骤12:云环境私有仓库将镜像存储信息返回给云环境集群;
步骤13:云环境集群把镜像信息返回给云环境服务器;
步骤14:云环境服务器把相关的镜像信息存储到云环境数据库中,并将相关信息返回给后台服务器;
步骤15:后台服务器确定镜像创建成功后,向云环境服务器发送部署对应集群服务的请求;
步骤16:云环境服务器接收到请求后,以HTTP形式向云环境集群发布部署命令;
步骤17:云环境集群接收到命令后,向云环境私有仓库请求获取对应镜像;
步骤18:当镜像拉取完毕后,集群以镜像为基础,部署对应服务,将对应服务业务信息返回给云环境服务器;
步骤19:云环境服务器将服务信息存储到云环境数据库,并且把相关信息返回给后台服务器;
步骤20:后台服务器最后根据部署好的云环境服务产生的分析结果,生成可视化的视图,反馈给用户。
后台服务器最后根据部署好的云环境服务,对服务进行监控和管理;
具体实现包括以下子步骤:
步骤20.1:为用户服务设置HTTP GET、TCP形式的探活端口,服务部署后通过HTTP请求访问该探活端口,来查探服务是否运行;
步骤20.2:集群监控系统定期发送HTTP GET请求或心跳包来探测服务运行情况;
步骤20.3:集群监控系统通过定期调用云环境集群提供的应用程序接口(API),获得已部署云环境服务的资源(如CPU,内存,硬盘等)使用情况,以及云环境集群的整体资源使用情况;
步骤20.4:集群监控系统将会依据用户服务的优先级与集群资源的状况决定是否重新部署运行失败的服务,同时将以上获得的信息进行汇总,定期刷新反馈在系统管理界面的展示信息;
步骤20.5:集群维护人员根据管理界面中的服务运行情况与资源信息做进一步的管理决策。
综上所述,本发明的总体处理流程可以概括成以下几个阶段:
阶段一(流数据处理执行计划的定义与生成)
步骤1:根据数据处理的业务需求定义处理逻辑。
步骤2:校验成功后封装成JSON发送给转化服务。
步骤3:转化服务接收流处理计划描述,经过验证转化、语义分析、生成物理计划,生成Kafka数据中间系统stream程序。
阶段二(云环境中的资源调度和流数据处理计划的部署执行)
步骤4:将打好的jar包附带上一个容器配置文件,一起上传到已搭建的NFS共享文件系统服务器中,将生成jar包的存放路径以HTTP回复的形式告诉后台服务器。
步骤5:智能客户端通过HTTP请求将该路径告知云环境集群,让其进行镜像生成和启动,并最终执行。
阶段三(流数据处理结果的存储与云环境中的资源监控)
步骤6:流处理程序产生的结果数据写回Kafka数据中间系统,并将结果数据持久化保存到时序数据存储系统。
步骤7:实现云环境集群监控系统,对服务进行适当的监控和管理。
在上面描述的流数据处理流程当中,借助高效、可靠的RPC(远程进程通信)手段,定时采集个人用户的慢病医疗信息,发送到高可用,高性能的Kafka数据中间系统中存储,其作为数据处理系统的上游存储系统,具备持久化能力,也提供过期删除的特性。
用户自定义健康监控(数据处理)方案,定义方式简单易操作,完成后点击提交,后台服务会将其转化为特定的格式存储后,以HTTP请求的形式发送到方案处理转化服务中。
该服务将会调用数据处理系统,其将根据收到的HTTP请求中的数据包,进行解析并转化为特定数据结构——抽象语法树(Abstract Syntax Tree)。
接着,系统会对方案的合法性和合理性进行校验,如果非法或语义不合理,将会返回具体的错误信息,方便用户查看与修改方案。
如果合法,系统将会进一步将抽象语法树转化为一个个特定的算子,用来表达最终对流数据的操作,比如连接,过滤,选择,聚集,窗口等在流数据处理中常见的算子。
得到算子后,要将其按一种顺序组合而形成操作树,本发明在这个过程中,会做启发式的优化,比如做一些如谓词下推、常量合并等优化工作,优化后生成的结果,称之为逻辑计划,其作为中间结果,系统还需要为其进行润色处理。
这个润色处理的过程,将会与上文提到的上游中间件系统中,存储的数据视图等由系统采集的元数据信息结合。
使用模板引擎结合预定义的代码模板解析生成物理计划,此时得到在内存中的流数据处理核心源代码程序。
由于系统采用了Java编程语言实现,其会在运行时动态地编译打包一个可执行Jar文件和容器配置文件,上传到共享的文件系统中,与此同时会将该文件的路径回复给后台服务作为请求的响应,以供云计算环境使用。
后台服务在收到应答后,会调用云环境下的微服务模块所暴露的REST接口,将可执行文件的路径,连同构建镜像和服务相关的参数,以HTTP请求的形式一并发送到云环境下的微服务模块,进行服务方案构建。
接着在云计算环境中,所部署得微服务模块会从文件系统中拉取前一阶段编译成功的可执行jar包,然后把jar打包成可以在云环境集群上运行的image镜像文件。同时把生成的镜像上传到私有仓库中,并且把其中产生的相关业务数据存储到云环境数据库中。最后根据这些打包好的镜像文件,在云环境集群上发布对应的service服务,在云环境对用户的数据进行分析,将计算和分析的结果发送到对应的消息队列中同时把服务本身基本信息存储到数据库中,向用户提供身体和生活方面的建议或者警示。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (7)
1.一种云计算环境中的个人健康流数据处理系统,其特征在于:包括智能客户端、Kafka数据中间系统、后台服务器、方案处理转化服务器、云环境服务器、共享文件系统服务器、云环境数据库、云环境集群、云环境私有仓库、时序数据存储系统;
所述智能客户端、Kafka数据中间系统、后台服务器、方案处理转化服务器、云环境服务器、共享文件系统服务器、云环境数据库、云环境集群、云环境私有仓库、时序数据存储系统均通过网络连接通信。
2.一种云计算环境中的个人健康流数据处理方法,其特征在于,包括以下步骤:
步骤1:用户通过智能客户端提交自己的监控需求;
步骤2:智能客户端将用户的需求信息转化为JSON信息,并向后台服务器发起Ajax请求,作为流数据处理业务;
步骤3:后台服务器将包括监控需求、用户信息的上下文信息以HTTP post请求的方式发送给方案处理转化服务器;
步骤4:方案处理转化服务器解析请求获取监控需求后,生成逻辑和物理执行计划,并以可执行文件和配置文件的形式进行本地存储;
步骤5:将可执行文件和容器配置文件上传到共享文件系统服务器;
步骤6:返回共享文件系统服务器中的文件路径给后台服务器;
步骤7:后台服务器以HTTP调用的方式向云环境服务器请求创建集群镜像;
步骤8:云环境服务器以HTTP形式向云环境集群发布集群镜像创建命令;
步骤9:云环境集群接收到请求,从共享文件系统服务器拉取可执行文件;
步骤10:云环境集群将可执行文件打包成镜像;
步骤11:云环境集群把打包的镜像上传到云环境私有仓库;
步骤12:云环境私有仓库将镜像存储信息返回给云环境集群;
步骤13:云环境集群把镜像信息返回给云环境服务器;
步骤14:云环境服务器把相关的镜像信息存储到云环境数据库中,并将相关信息返回给后台服务器;
步骤15:后台服务器确定镜像创建成功后,向云环境服务器发送部署对应集群服务的请求;
步骤16:云环境服务器接收到请求后,以HTTP形式向云环境集群发布部署命令;
步骤17:云环境集群接收到命令后,向云环境私有仓库请求获取对应镜像;
步骤18:当镜像拉取完毕后,集群以镜像为基础,部署对应服务,将对应服务业务信息返回给云环境服务器;
步骤19:云环境服务器将服务信息存储到云环境数据库,并且把相关信息返回给后台服务器;
步骤20:后台服务器最后根据部署好的云环境服务产生的分析结果,生成可视化的视图,反馈给用户。
3.根据权利要求2所述的云计算环境中的个人健康流数据处理方法,其特征在于:步骤3中,后台服务器根据流数据处理业务需求定义,生成相应的处理逻辑,具体实现包括以下子步骤:
步骤3.1:定义连接类型、条件和对象;
步骤3.2:定义窗口类型、长度和间隔;
步骤3.3:定义增幅增比;
步骤3.4:定义聚集项和聚集类型;
步骤3.5:定义过滤条件;
步骤3.6:定义选择投影。
4.根据权利要求2所述的云计算环境中的个人健康流数据处理方法,其特征在于:步骤4中,方案处理转化服务器获取流数据处理业务的JSON描述,首先根据对用户定义的流数据处理业务相关的语义约束,在该处进行数据校验后,筛选出流数据处理业务的基础信息和算子定义,并将用户定义的算子转换为抽象语法树结构;
方案处理转化服务器接收流数据处理业务描述,经过验证转化、语义分析、生成物理计划,生成Kafka数据中间系统stream程序,提供流数据查询服务。
5.根据权利要求4所述的云计算环境中的个人健康流数据处理方法,其特征在于:所述流数据查询服务,以Kafka数据中间系统中的流数据为全局的数据总线进行实时查询,在流数据查询中,定义数据查询流程和数据访问标准,从而来定义各种满足用户需求的数据操作,包括监控报警、实时监控、自定义查询;
具体实现包括以下子步骤:
步骤4.1:方案处理转化服务器接受后台服务器发来的HTTP Post请求,请求内容为JSON格式,包含用户定义的方案以及用户Id在内的上下文信息;
步骤4.2:解析post请求体中的JSON串,获得其中的方案定义及其上下文;
步骤4.3:方案处理转化服务器将以抽象语法树数据结构表示用户自定义的方案,方便后续逻辑计划生成和语义分析时进行的工作;
步骤4.4:进行校验工作,检查用户定义的方案是否合法,即符合语法规则,同时语义是否合理,即符合语义规则;
若是,则执行下述步骤4.6;
若否,则执行下述步骤4.5;
步骤4.5:将具体的错误信息返回给用户,返回后,用户在原基础上进行修改或重新定义,并回转执行步骤4.1;
步骤4.6:方案通过检验,方案处理转化服务器将进一步对抽象语法树进行语义分析,由于上述的抽象语法树,每个节点都集成了Node类,实现了accept方法,这时使用一个Visitor去遍历抽象语法树的每一个节点,获得每个节点所代表的算子及其具体的定义;
步骤4.7:完成语义分析后,进行基于启发式规则的优化;
步骤4.8:优化后,得到整个流数据处理的操作树,即逻辑计划;
步骤4.9:得到操作树以后,关联从Kafka数据中间系统中获取的元数据信息,生成物理执行计划,查询需要部署后用户触发;
步骤4.10:使用java代码模板引擎,将得到的逻辑计划和代码模板结合,得到流处理的核心源文件,这时得到的是在内存中的源代码文件;
步骤4.11:在java运行时获取相关依赖,对内存中源文件进行打包生成Class文件,同样还是存储在内存中,最后在运行时进行打包生成Jar可执行文件。
6.根据权利要求2所述的云计算环境中的个人健康流数据处理方法,其特征在于:步骤8中,云环境服务器以HTTP形式向云环境集群发布镜像创建命令,创建云环境服务,云环境集群进而调度资源执行;
在创建云环境服务之前,需要进行云环境部署,云环境部署是启用云镜像的一个必要前提,具体步骤包括:
步骤8.1:创建一个对云环境的直接管理请求,把服务部署需要的镜像信息传递给云环境集群,镜像信息包括镜像名称、镜像版本号、镜像实例数;
步骤8.2:云环境集群根据相关镜像信息到云环境私有仓库中拉去存储的镜像文件;
步骤8.3:以负载均衡的形式在云环境集群上启动镜像实例;
步骤8.4:镜像服务部署完毕,云环境服务器把服务的基本信息返回给后台服务器;
步骤8.5:后台服务器接收这些数据后,会把这些数据存储到云环境数据库中。
7.根据权利要求2-6任意一项所述的云计算环境中的个人健康流数据处理方法,其特征在于:步骤20中,后台服务器最后根据部署好的云环境服务,对服务进行监控和管理;
具体实现包括以下子步骤:
步骤20.1:为用户服务设置HTTP GET、TCP形式的探活端口,服务部署后通过HTTP请求访问该探活端口,来查探服务是否运行;
步骤20.2:集群监控系统定期发送HTTP GET请求或心跳包来探测服务运行情况;
步骤20.3:集群监控系统通过定期调用云环境集群提供的应用程序接口,获得已部署云环境服务的资源使用情况,以及云环境集群的整体资源使用情况;
步骤20.4:集群监控系统将会依据用户服务的优先级与集群资源的状况决定是否重新部署运行失败的服务,同时将以上获得的信息进行汇总,定期刷新反馈在系统管理界面的展示信息;
步骤20.5:集群维护人员根据管理界面中的服务运行情况与资源信息做进一步的管理决策。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811581836.XA CN109754849B (zh) | 2018-12-24 | 2018-12-24 | 一种云计算环境中的个人健康流数据处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811581836.XA CN109754849B (zh) | 2018-12-24 | 2018-12-24 | 一种云计算环境中的个人健康流数据处理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109754849A true CN109754849A (zh) | 2019-05-14 |
CN109754849B CN109754849B (zh) | 2023-02-24 |
Family
ID=66403106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811581836.XA Active CN109754849B (zh) | 2018-12-24 | 2018-12-24 | 一种云计算环境中的个人健康流数据处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109754849B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113805899A (zh) * | 2021-08-25 | 2021-12-17 | 浪潮卓数大数据产业发展有限公司 | 一种软件自动部署方法 |
CN115543353A (zh) * | 2022-09-19 | 2022-12-30 | 北京三维天地科技股份有限公司 | 一种基于分布式部署架构的系统管理解决方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102868763A (zh) * | 2012-10-08 | 2013-01-09 | 山东省计算中心 | 一种云计算环境下虚拟web应用集群节能的动态调整方法 |
US20130138615A1 (en) * | 2011-11-29 | 2013-05-30 | International Business Machines Corporation | Synchronizing updates across cluster filesystems |
CN106888254A (zh) * | 2017-01-20 | 2017-06-23 | 华南理工大学 | 一种基于Kubernetes的容器云架构及其各模块之间的交互方法 |
CN108055327A (zh) * | 2017-12-15 | 2018-05-18 | 佛山三维二次方科技有限公司 | 基于OpenStack的云计算实验平台 |
CN108810080A (zh) * | 2018-04-24 | 2018-11-13 | 山东大学 | 一种基于Docker Swarm容器集群的网络负载均衡系统及其搭建方法与工作方法 |
-
2018
- 2018-12-24 CN CN201811581836.XA patent/CN109754849B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130138615A1 (en) * | 2011-11-29 | 2013-05-30 | International Business Machines Corporation | Synchronizing updates across cluster filesystems |
CN102868763A (zh) * | 2012-10-08 | 2013-01-09 | 山东省计算中心 | 一种云计算环境下虚拟web应用集群节能的动态调整方法 |
CN106888254A (zh) * | 2017-01-20 | 2017-06-23 | 华南理工大学 | 一种基于Kubernetes的容器云架构及其各模块之间的交互方法 |
CN108055327A (zh) * | 2017-12-15 | 2018-05-18 | 佛山三维二次方科技有限公司 | 基于OpenStack的云计算实验平台 |
CN108810080A (zh) * | 2018-04-24 | 2018-11-13 | 山东大学 | 一种基于Docker Swarm容器集群的网络负载均衡系统及其搭建方法与工作方法 |
Non-Patent Citations (4)
Title |
---|
刘波等: "云环境MMM数据库集群双主多从架构模型构建", 《计算机与数字工程》 * |
柴长安: "用电采集系统云计算技术构架的分析与研究", 《科技创新与应用》 * |
桂浩等: "云架构实验平台的研究与设计", 《中国教育技术装备》 * |
董波等: "云计算集群服务器系统监控方法的研究", 《计算机工程与科学》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113805899A (zh) * | 2021-08-25 | 2021-12-17 | 浪潮卓数大数据产业发展有限公司 | 一种软件自动部署方法 |
CN113805899B (zh) * | 2021-08-25 | 2024-01-26 | 浪潮卓数大数据产业发展有限公司 | 一种软件自动部署方法 |
CN115543353A (zh) * | 2022-09-19 | 2022-12-30 | 北京三维天地科技股份有限公司 | 一种基于分布式部署架构的系统管理解决方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109754849B (zh) | 2023-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12050608B2 (en) | Data pipeline for scalable analytics and management | |
US11616839B2 (en) | Intelligent edge computing platform with machine learning capability | |
US20200401607A1 (en) | Knowledge-intensive data processing system | |
JP6523354B2 (ja) | 改善されたインターフェースを備えるステートマシンビルダー及び状態非依存イベントの処理 | |
US11625381B2 (en) | Recreating an OLTP table and reapplying database transactions for real-time analytics | |
US11182389B2 (en) | Retaining fields from current event or group during stream aggregation | |
JP6581108B2 (ja) | 複数ソースからのデータの処理 | |
US10423881B2 (en) | Systems and methods for semantic inference and reasoning | |
He et al. | Toward ubiquitous healthcare services with a novel efficient cloud platform | |
US7890517B2 (en) | Appliance for enterprise information integration and enterprise resource interoperability platform and methods | |
JP7036597B2 (ja) | ネットワーク上のデータソースへの照会 | |
US10831619B2 (en) | Fault-tolerant stream processing | |
CN107003868B (zh) | 处理包含联合类型操作的查询 | |
CN112349404A (zh) | 基于云-边-端架构的多中心医疗设备大数据云平台 | |
WO2016153790A1 (en) | Knowledge-intensive data processing system | |
US10877971B2 (en) | Logical queries in a distributed stream processing system | |
Mehdipour et al. | Fog computing realization for big data analytics | |
US20160196304A1 (en) | Abstractly implemented data analysis systems and methods therefor | |
WO2019157399A1 (en) | Data pipeline for scalable analytics and management | |
CN109754849A (zh) | 一种云计算环境中的个人健康流数据处理系统及方法 | |
Hallé | From complex event processing to simple event processing | |
US20140359742A1 (en) | Apparatus and Method for Agent Based Ingestion of Data | |
US20140317044A1 (en) | Method And Device for Real-Time Knowledge Processing Based on an Ontology With Temporal Extensions | |
WO2005081963A2 (en) | Appliance for enterprise information integration and enterprise resource interoperability platform and methods | |
US20160171372A1 (en) | Method And Device for Real-Time Knowledge Processing Based on an Ontology With Temporal Extensions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |