发明内容
为解决上述技术问题,本发明提出一种基于云计算和医疗大数据的任务处理优化系统,所述任务处理优化系统包括多个任务接收终端、任务属性分析引擎、任务分发组件以及多个边缘计算终端以及通过局域网连接至所述多个边缘计算终端的多个雾计算处理设备。所述任务属性分析引擎从所述任务接收队列中以数据流为单位获取单位数据流处理任务,并分析得到所述数单位数据流处理任务的属性;所述多个任务接收终端接收多个包含医疗数据流的并发数据处理任务,并将所述并发数据处理任务以数据流为单位存储到任务接收队列中;所述任务分发组件基于所述任务属性分析引擎分析得到的所述数据处理任务的属性,从所述任务接收队列中读取单位数据流处理任务将所述并发数据处理任务分发给所述多个边缘计算终端以及通过局域网连接至所述多个边缘计算终端的多个雾计算处理设备。
本发明的技术方案在处理医疗大数据时,充分考虑了医疗大数据本身的时间数据流属性;以数据流为单位对其进行分组处理,从而更好的适应医疗大数据的时间属性要求;此外,本发明的技术方案并不完全依赖云计算服务,而是首先通过雾计算设备处理医疗大数据,其次通过雾计算设备的性能反馈值启动边缘计算设备;如果任务队列依然存在阻塞,才会启动云计算服务,在保证数据处理实时性的同时,极大的降低了数据处理成本。
具体来说,本发明的技术方案具体实现如下:
一种基于云计算和医疗大数据的任务处理优化系统,所述任务处理优化系统包括多个任务接收终端、任务属性分析引擎、任务分发组件;
作为本发明的第一个创新点,所述多个任务接收终端接收多个包含医疗数据流的并发数据处理任务,并将所述并发数据处理任务以数据流为单位存储到任务接收队列中,每个单位的数据流包含时间上连续的数据处理任务;
作为体现上述创新点的关键技术手段,所述多个任务接收终端接收多个包含医疗数据流的并发数据处理任务,并将所述并发数据处理任务以数据流为单位存储到任务接收队列中,具体包括:
对于在时间段[ta,tz]内接收的第i个并发数据处理任务Ai,将所述时间段[ta,tz]划分为n个相邻的子时间段Tn;其中,对于n>1的子时间段每一个子时间段,Tn的时间结束点与Tn+1的时间开始点之差大于预定时间长度值;
将所述发数据处理任务Ai按照所述每个子时间段Tn为单位进行切分,得到n个单位数据流处理任务Ai1,Ai2,…,Ain;
将所述n个单位数据流处理任务Ai1,Ai2,…,Ain存储到所述任务接收队列中。
所述任务属性分析引擎,从所述任务接收队列中以数据流为单位获取单位数据流处理任务,并分析得到所述数单位数据流处理任务的属性,所述属性包括所述单位数据流处理任务的数据量大小、处理时限以及失效时限;
作为本发明的第二个创新点,所述任务处理优化系统还包括多个边缘计算终端以及通过局域网连接至所述多个边缘计算终端的多个雾计算处理设备;
具体的,所述雾计算处理设备为将数据、数据处理和应用程序集中在网络边缘的设备。
所述边缘计算设备为将数据、数据处理和应用程序集中在多个任务接收终端边缘的设备。
作为本发明的再一个创新点,所述任务分发组件基于所述任务属性分析引擎分析得到的所述数据处理任务的属性,将所述并发数据处理任务分发给所述多个边缘计算终端以及通过局域网连接至所述多个边缘计算终端的多个雾计算处理设备;
更具体的,作为上述实现上述创新点的关键技术手段,所述任务分发组件基于所述任务属性分析引擎分析得到的所述数据处理任务的属性,将所述并发数据处理任务分发给所述多个边缘计算终端以及通过局域网连接至所述多个边缘计算终端的多个雾计算处理设备,具体包括如下步骤:
S1:获取当前处于空闲状态的雾计算处理设备的数量Nfog;
S2:从所述任务接收队列中读取H个单位数据流处理任务,分发给所述Nfog个处于空闲状态的雾计算处理设备;
其中,
上式中,CTin为第n个单位数据流处理任务Ain的处理时限;LTin为第n个单位数据流处理任务Ain的失效时限;DAin为第n个单位数据流处理任务Ain的数据量大小;表示向下取整;
S3:计算接收所述单位数据流处理任务的每一个当前雾计算处理设备的回报值;
S4:判断所述回报值是否满足预定条件,如果是,则继续从所述任务接收队列中读取一个单位数据流处理任务分发给所述当前雾计算设备;返回步骤S3;
如果否,则返回步骤S1。
获取每一个雾计算处理设备在多个不同时间段接收的单位数据流处理任务的多个不同回报值Hd;
基于所述多个不同回报值Hd的分布属性,计算启动的边缘计算终端的个数。
其中,所述任务接收队列设置任务队列接受上限值;
当所述并发数据处理任务的数据流单位超过所述上限值时,所述任务接收终端接收所述并发数据处理任务之后,直接将其转发给远端云数据处理系统。
采用上述技术方案,对于医疗大数据的处理并不完全依赖云计算服务,而是首先通过雾计算设备处理医疗大数据,其次通过雾计算设备的性能反馈值启动边缘计算设备;如果任务队列依然存在阻塞,才会启动云计算服务,在保证数据处理实时性的同时,极大的降低了数据处理成本。
本发明的进一步优点将结合说明书附图在具体实施例部分进一步详细体现。
具体实施方式
下面,结合附图以及具体实施方式,对发明做出进一步的描述。
参见图1,图1是本发明一个实施例的基于云计算和医疗大数据的任务处理优化系统的整体框架图。
图1中,所述基于云计算和医疗大数据的任务处理优化系统包括多个任务接收终端、任务属性分析引擎、任务分发组件以及多个边缘计算终端以及通过局域网连接至所述多个边缘计算终端的多个雾计算处理设备。
首先简单解释本实施例中使用到的雾计算、边缘计算以及云计算的相关概念和原理。
“云计算”,是把大量数据放到“云”里去计算或存储,解决诸如电脑或手机存储量不够,或者是运算速度不够快的问题;在终端和数据中心之间再加一层,叫网络边缘层。如再加一个带有存储器的小服务器或路由器,把一些并不需要放到“云”的数据在这一层直接处理和存储,以减少“云”的压力,提高了效率,也提升了传输速率,减低了时延,这个工作原理就是雾计算;
雾计算的原理与云计算类似,都是把数据上传到远程中心进行分析、存储和处理。但是雾计算相比于云计而言算要把所有数据集中运输到同一个中心,雾计算的模式是设置众多分散的中心节点,即所谓“雾节点”来处理,这样能够让运算处理速度更快,更高效得出运算结果。
本实施例中所述雾计算处理设备集上述“雾节点”的硬件实现方式,更具体的,所述雾计算处理设备为将数据、数据处理和应用程序集中在网络边缘的设备。
边缘计算是指利用靠近数据源的边缘地带来完成的运算程序。边缘计算的运算既可以在大型运算设备内完成;也可以在中小型运算设备、本地端网络内完成;用于边缘运算的设备可以是智能手机这样的移动设备、PC、智能家居等家用终端也可以是ATM机、摄像头等终端;
边缘计算和云计算互相协同,它们是彼此优化补充的存在。而边缘计算着眼于实时、短周期数据的分析,更好地支撑本地业务及时处理执行。边缘计算更靠近设备端,也为云端数据采集做出贡献,支撑云端应用的大数据分析,云计算也通过大数据分析输出业务规则下发到边缘处,以便执行和优化处理。实际上这两者都是处理大数据的计算运行方式。但不同的是,这一次,数据不用再传到遥远的云端,在边缘侧就能解决,更适合实时的数据分析和智能化处理,也更加高效而且安全。
在本实施例中,所述边缘计算设备为将数据、数据处理和应用程序集中在多个任务接收终端边缘的设备。
参见图1,多个任务接收终端接收多个包含医疗数据流的并发数据处理任务,并将所述并发数据处理任务以数据流为单位存储到任务接收队列中,每个单位的数据流包含时间上连续的数据处理任务。
所述任务属性分析引擎,从所述任务接收队列中以数据流为单位获取单位数据流处理任务,并分析得到所述数单位数据流处理任务的属性,所述属性包括所述单位数据流处理任务的数据量大小、处理时限以及失效时限。
所述任务分发组件基于所述任务属性分析引擎分析得到的所述数据处理任务的属性,将所述并发数据处理任务分发给所述多个边缘计算终端以及通过局域网连接至所述多个边缘计算终端的多个雾计算处理设备。
所述任务接收队列设置任务队列接受上限值;
当所述并发数据处理任务的数据流单位超过所述上限值时,所述任务接收终端接收所述并发数据处理任务之后,直接将其转发给远端云数据处理系统。
在图1基础上,参见图2,所述多个任务接收终端接收多个包含医疗数据流的并发数据处理任务,并将所述并发数据处理任务以数据流为单位存储到任务接收队列中。
更具体的,对于在时间段[ta,tz]内接收的第i个并发数据处理任务Ai,将所述时间段[ta,tz]划分为n个相邻的子时间段Tn;其中,对于n>1的子时间段每一个子时间段,Tn的时间结束点与Tn+1的时间开始点之差大于预定时间长度值;
将所述发数据处理任务Ai按照所述每个子时间段Tn为单位进行切分,得到n个单位数据流处理任务Ai1,Ai2,…,Ain;
将所述n个单位数据流处理任务Ai1,Ai2,…,Ain存储到所述任务接收队列中。
图2中,示意性的显示了这一过程。
图2中,假设接收的某条医疗数据流从0:00开始,自4:03结束;实际场景中,不一定是在[0:00,4:03]区间段的每个时间节点均会有医疗数据流产生,而是可能会出现间断,但是间断的时间有长有短,并且有些间断并不代表数据本身的中断,而是正常的停顿;而有些间断则代表本条数据流已经完成,成为了一个独立的数据流。
本实施例正是针对医疗大数据的这种时间流属性进行大数据处理,图2中的[0:00,4:03]区间段被分为四个子时间段Ai1-Ai4:
[t1,t2]=[0:00,0:15];
[t3,t4]=[0:40,1:33];
[t5,t6]=[2:13,2:19];
[t7,t8]=[2:58,4:03].
在本实施例中,Tn的时间结束点与Tn+1的时间开始点之差大于预定时间长度值。
例如,预先设定预定时间长度值为20分钟,图2中,Ai1的结束点为0:15,Ai2的开始点为0:40,它们的差值为25。
需要注意的是,在每一个子时间段Ai1-Ai4内部,依然可能存在数据流为空白的停顿区间,但是这些停顿区间的时间长度必然小于20分钟。
在具体实现上,可以根据实际医疗数据流的产生源属性,来设定所述预定时间长度值。
接下来参见图3,所述任务分发组件基于所述任务属性分析引擎分析得到的所述数据处理任务的属性,将所述并发数据处理任务分发给所述多个边缘计算终端以及通过局域网连接至所述多个边缘计算终端的多个雾计算处理设备,具体包括如下步骤:
S1:获取当前处于空闲状态的雾计算处理设备的数量Nfog;
S2:从所述任务接收队列中读取H个单位数据流处理任务,分发给所述Nfog个处于空闲状态的雾计算处理设备;
其中,
上式中,CTin为第n个单位数据流处理任务Ain的处理时限;LTin为第n个单位数据流处理任务Ain的失效时限;DAin为第n个单位数据流处理任务Ain的数据量大小;表示向下取整;
S3:计算接收所述单位数据流处理任务的每一个当前雾计算处理设备的回报值;
S4:判断所述回报值是否满足预定条件,如果是,则继续从所述任务接收队列中读取一个单位数据流处理任务分发给所述当前雾计算设备;返回步骤S3;
如果否,则返回步骤S1。
所述步骤S3计算接收所述单位数据流处理任务的每一个当前雾计算处理设备的回报值,具体包括:
所述回报值Hd按照如下方式计算:
其中,Tj为上一次该雾计算处理设备对于第i个单位数据流处理任务Aij的处理时间;Dj为获取第j个单位数据流处理任务Aij的传输时延;Lj为第j个单位数据流处理任务Aij的大小,j=1,2,……,n。
判断所述回报值是否满足预定条件,如果是,则继续从所述任务接收队列中读取一个单位数据流处理任务分发给所述当前雾计算设备,具体包括:
将单位数据流处理任务Aik发送给当前雾计算处理设备,获取当前雾计算处理设备读取该单位数据流处理任务Aik的时延Dk以及处理时间Tk;
在上述各个实施例中,时延Dk、处理时间Tk、处理时限和失效时限都以分钟为单位,例如处理时限可以预先定义为15min,失效时限可以预先定义为25分钟,但本实施例不对此作出具体限定。数据流大小以MB为单位。
如果Tk+Dk<Hd,则所述回报值满足预定条件;k=1,2,……,n。
接下来参见图4。
所述任务分发组件基于所述任务属性分析引擎分析得到的所述数据处理任务的属性,将所述并发数据处理任务分发给所述多个边缘计算终端以及通过局域网连接至所述多个边缘计算终端的多个雾计算处理设备,进一步包括:
获取每一个雾计算处理设备在多个不同时间段接收的单位数据流处理任务的多个不同所述回报值Hd;
基于所述多个不同所述回报值Hd的分布属性,计算启动的边缘计算终端的个数。
基于所述多个不同所述回报值Hd的分布属性,计算启动的边缘计算终端的个数,具体包括:
将所述多个不同所述回报值Hd按照大小降序排序,得到降序排列后的回报值序列H1-Hm;
设定分布阈值mThreshold,按照如下标准对所述回报值序列进行分组:
每一个分组中的所有回报值两两之间的差值绝对值大小小于所述分布阈值mThreshold;
将得到的分组的组数作为启动的边缘计算终端的个数。
启动所述边缘计算终端后,从所述任务接收队列中读取G个单位数据流处理任务,分发给所述边缘计算终端;
其中,ne为任务接收队列设置的任务队列接受上限值,DE为启动的所述边缘计算终端的个数。
需要注意的是,图2-4所述的流程图仅仅示出了部分处理过程,并不是本申请技术方案的全部。
本发明的技术方案在处理医疗大数据时,充分考虑了医疗大数据本身的时间数据流属性;以数据流为单位对其进行分组处理,从而更好的适应医疗大数据的时间属性要求;此外,本发明的技术方案并不完全依赖云计算服务,而是首先通过雾计算设备处理医疗大数据,其次通过雾计算设备的性能反馈值启动合适数量的边缘计算设备;如果任务队列依然存在阻塞,才会启动云计算服务,在保证数据处理实时性的同时,极大的降低了数据处理成本。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。