一种适用于移动医疗的任务调度系统及方法
技术领域
本发明涉及移动医疗技术领域,具体地说是一种适用于移动医疗的任务调度系统及方法。
背景技术
任务调度处理是一类背景性很强的应用问题,而医疗任务因其特殊的行业背景,对敏感信息的处理和任务的时效性有着很高的要求。伴随着移动互联网的不断普及,越来越多的用户开始使用不同的移动设备通过互联网进行就诊、问诊和医疗会议等工作。为了这一系列的移动医疗任务能够被正常的处理,需要结合任务特征进行相应的移动医疗资源调度,从而保证医患之间、医生之间交互所产生的移动医疗任务能够很好的被处理。但是,现有的任务调度方法具有以下缺陷:
1、现有方法应用于移动医疗环境下的任务调度会存在“未分类”问题,即医患间非实时的信息交换和诊疗过程中的实时链接等不同类型的医疗任务未被有效分类,进而导致支撑移动医疗服务的硬件资源分配不均、效率低下。
2、现有的任务调度方法对于移动医疗任务的处理过程并不关心,而仅关注移动医疗任务的处理结果。这样的处理方式无法实现对移动医疗服务过程中的资源实时监测,也就可能会出现大量的异常中断、资源浪费等问题,影响移动医疗服务质量。
发明内容
本发明是为了克服现有技术存在的不足之处,提供一种适用于移动医疗的任务调度系统及方法,以期能充分、均衡利用待分配的移动医疗任务处理资源,并在资源充足的情况下选择最优资源,从而提高移动医疗资源的使用效率和任务处理质量。
本发明为达到上述发明目的,采用如下技术方案:
本发明一种适用于移动医疗的任务调度系统的特点包括:移动医疗任务分发模块、n个移动医疗任务处理模块和移动医疗任务回调模块;
所述移动医疗任务分发模块包括:资源描述单元、资源排程单元、资源匹配器;
每个移动医疗任务处理模块包括:任务分解单元、任务执行单元、任务评价单元;
所述资源描述单元接收外部发送的医疗任务并利用RDA框架进行描述和分类,得到移动诊疗任务和智能医疗任务;再对所述移动诊疗任务和智能医疗任务进行计量,得到相应的资源描述符后,分别与所述移动诊疗任务和智能医疗任务进行打包处理,得到带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务;
所述资源排程单元利用二次排程方法对所述带有资源描述符的移动诊疗任务和有资源描述符的智能医疗任务分别进行任务优先级的标识,得到资源排程表;
所述资源匹配器利用退火算法为所述带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务匹配相应的最优资源;并将所述带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务发送给所述最优资源所对应的医疗任务处理模块;
相应的医疗任务处理模块中的任务分解单元通过工作分解结构词典来描述自身能处理的最小粒度任务,并得到WBS分解结构;从而利用WBS分解结构对所接收的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务进行匹配,若匹配成功,则表示所接收的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务不可分解,否则视为可分解;并根据所述WBS分解结构对可分解的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务进行分解,得到最小粒度的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务;
所述任务执行模块利用所述最优资源分别对所述任务分解单元处理后的移动诊疗任务和智能医疗任务进行相应处理,从而得到智能医疗任务的处理结果;并在处理所述移动诊疗任务的过程中,利用所述任务评价模块进行动态评价,从而得到移动诊疗任务的处理结果;
所述医疗任务回调模块对所述智能医疗任务和移动诊疗任务的处理结果进行判断,若处理结果为成功,则通知相应医疗任务处理单元释放已匹配的最优资源;否则,产生错误码并发送给所述医疗任务分发模块的资源匹配器用于重新匹配资源。
本发明一种适用于移动医疗的任务调度方法的特点是按如下步骤进行:
步骤1、对医疗任务利用RDA框架进行描述和分类,得到移动诊疗任务和智能医疗任务;
步骤2、对所述移动诊疗任务和智能医疗任务进行计量,得到相应的资源描述符后,分别与所述移动诊疗任务和智能医疗任务进行打包处理,得到带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务;
步骤3、用二次排程方法对所述带有资源描述符的移动诊疗任务和有资源描述符的智能医疗任务分别进行任务优先级的标识,得到资源排程表;
步骤4、利用退火算法为所述带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务匹配相应的最优资源;
步骤5、利用WBS分解结构对所述带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务进行匹配,若匹配成功,则表示所接收的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务不可分解,否则视为可分解;
步骤6、根据所述WBS分解结构对可分解的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务进行分解,得到最小粒度的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务;
步骤7、利用所述最优资源分别对所述任务分解模块处理后的移动诊疗任务和智能医疗任务进行相应处理,从而得到智能医疗任务的处理结果;并在处理所述移动诊疗任务的过程中进行动态评价,从而得到移动诊疗任务的处理结果;
步骤8、所述智能医疗任务和移动诊疗任务的处理结果进行判断,若处理结果为成功,则释放已匹配的最优资源;否则,返回步骤4进行重新匹配资源。
与已有技术相比,本发明有益效果体现在:
1、本发明建立的适用于移动医疗的任务调度系统及方法,任务处理环境是位于远程的服务器上的,任务的发起方可以是任一链接到服务器的终端设备,系统根据任务类型分解并匹配最优资源,并根据任务执行状态评价资源的优劣,依据优劣程度调整资源分配,提高了资源利用效率。
2、本发明建立的适用于移动医疗的任务调度系统及方法,其任务调度的方法不受具体的任务类型的限制,对于任务的处理过程采用了先统一后分类的方式,使得平台在应用过程中产生的新类型的任务时,能够在不修改系统的情况下实现扩展。
3、本发明建立的适用于移动医疗的任务调度系统及方法,其移动医疗任务分发模块运用了RDA框架对外部发送过来的医疗进行描述,根据这一通用的框架描述方法,可以将当前任一任务进行分类,从而可以在任务处理之前对任务进行不影响处理效率的预处理,并提高后续步骤处理效率。
4、本发明建立的适用于移动医疗的任务调度系统及方法,其移动医疗任务分发模块中的资源匹配器将使用一种改进的退火算法,将所有的资源的处理结果也作为退火算法中退火时间的一个参数,从而提高在处理过程中产生错误时的退火收敛速度,提高了处理效率。
5、本发明建立的适用于移动医疗的任务调度系统,其移动医疗任务处理模块中的任务分解单元使用了WBS分解结构来对任务进行粒度匹配,并且WBS分解结构对任务的描述方式采用了树级结构的方式将任务自上而下的分割,从而保证了任务在分解时不脱离WBS分解结构,从而使得任务分解不会对任务的正常完成造成影响。
6、本发明建立的适用于移动医疗的任务调度系统及方法,其移动医疗任务处理模块中的任务评价单元对移动诊疗任务不断进行评价,实时监测移动诊疗任务的执行情况,并反馈到移动医疗任务分发模块中,从而提高移动诊疗任务在执行时的成功概率,降低失败风险。
附图说明
图1为本发明系统基本结构图;
图2为本发明方法流程图。
具体实施方式
本实施例中,一种适用于移动医疗的任务调度系统,如图1和图2所示,包括:移动医疗任务分发模块、n个移动医疗任务处理模块和移动医疗任务回调模块;
移动医疗任务分发模块是一类由服务器和网络基础设施做支持的软件,主要用于将外部发起的任务接收后通过对进行描述,得到分类后的任务,从而可以将其放置到排程队列中,最优资源将依据队列处理不同的任务。移动医疗任务分发模块包括:资源描述单元、资源排程单元、资源匹配器;
移动医疗任务处理模块是与移动医疗任务位于不同基础设施中的软件,由多个服务器组与防火墙设施组成,主要用于将移动医疗任务分发模块分发后的任务进行分解,并对分解后的任务进行处理,同时在处理过程中对部分任务进行评价。每个移动医疗任务处理模块包括:任务分解单元、任务执行单元、任务评价单元;
在接受外部任务之前,在当前的移动医疗任务分发模块中已经预置了一套RDA框架信息,资源描述单元接收外部发送的医疗任务并利用RDA框架进行描述和分类,具体的描述方式为:在RDA主目录中找到医疗分类目录,在这个分类目录下根据自己定义的两个基础类型进行任务类型判断,得到移动诊疗任务和智能医疗任务;如果不是这两个任务类型,则不对任务进行分类处理,并将其从任务调度系统中移除。再对移动诊疗任务和智能医疗任务进行计量,计量方式为将待处理的智能医疗任务中说包含的任务文件大小作为首要指标,对于待处理的移动诊疗任务的通信要求作为首要指标,首要指标都分为5个等级,每个等级从高到低分别对应不同的任务计量等级,首要指标和当前时间戳一起组成资源描述符。得到相应的资源描述符后,分别与移动诊疗任务和智能医疗任务进行打包处理,得到带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务;
得到带有资源描述符的对应任务后,资源排程单元利用二次排程方法对带有资源描述符的移动诊疗任务和有资源描述符的智能医疗任务分别进行任务优先级的标识,二次排程方法的将利用资源描述符的首要指标作为第一次排程的参考指标,得到一个排程缓存表后,将时间戳作为优化调整的指标,并更新排程缓存表从而得到资源排程表;
资源排程表将得到一个待处理任务队列,资源匹配器将依据这个资源排程表对任务所需资源进行分配,资源匹配器利用退火算法为带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务匹配相应的最优资源;退火算法的在实现的过程中将n个移动医疗任务处理模块视为一个网状结构,此外任务通过这个服务器所需要耗费的时间视为路径的权值的一部分,这个路径早前任务的完成情况是路径权值的另一部分。退火算法将按照以下步骤进行最优选择操作:
1)选定一个初始资源处理模块,记作,令其为最优资源,当前迭代步数k=0,当前温度.
2)如果在该温度中达到循环停止条件,转到3)。否则从领域N()中随机选择一个邻居,计算出,若,则,否则若exp(-)>random(0,1),则,重复2)
3)k=k+1,,其中表示温度下降的函数,如果满足条件则转4),否则转2)
4)计算出最优资源结果,停止。
5)资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务发送给最优资源所对应的医疗任务处理模块;
相应的医疗任务处理模块中的任务分解单元通过工作分解结构词典来描述自身能处理的最小粒度任务,分解词典中的词语由系统预先定义,在定义的过程中是采用自上而下的方式逐级分解的形式将任务从根进行逐级分解,并得到WBS分解结构;从而利用WBS分解结构对所接收的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务进行匹配,匹配的成功与失败取决于任务匹配到达的层级是否为叶子节点,如果是叶子节点,则视为匹配成功,若匹配成功,则表示所接收的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务不可分解,否则视为可分解;并根据WBS分解结构对可分解的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务进行分解,分解的形式取决于当前的任务所在的任务层级,高层级的任务必然可以通过WBS分解结构向下分解为更小粒度的任务,在分解的过程中保留相同的资源描述符,在分割到叶子节点后将得到最小粒度的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务;
任务执行模块利用最优资源分别对任务分解单元处理后的移动诊疗任务和智能医疗任务进行相应处理,从而得到智能医疗任务的处理结果;并在处理移动诊疗任务的过程中,利用任务评价模块进行动态评价,评价的结果是基于一个动态变化的参数Q来确定的,这个参数在任务执行过程中将不断变化并将有以下的过程来控制:
1)任务的进行的过程中,在网络中抓取通话过程中的数据包分析R-Factor值,其基本计算公式为R=Ro-Is-Id-Ie+A,当R小于50时,Q=Q-5;
2)对于首要指标中等级为i的任务,在限定时间内(30s)中没有得到正确响应的情况下,采用Qn=Qp-(5-i)·10,其中Qp是指当前的Q值,Qn是指下一个计算节点的Q值,通过这个方式不断计算Q的值,当Q小于50时,移动诊疗任务视为失败,否则视为成功,从而得到移动诊疗任务的处理结果;
医疗任务回调模块对智能医疗任务和移动诊疗任务的处理结果进行判断,若处理结果为成功,则通知相应医疗任务处理单元释放已匹配的最优资源;否则,产生错误码并发送给医疗任务分发模块的资源匹配器用于重新匹配资源。具体步骤如下:
本实施例中,如图2所示,一种适用于移动医疗的任务调度方法,按如下步骤进行:
步骤1、对医疗任务利用RDA框架进行描述和分类,得到移动诊疗任务和智能医疗任务;
步骤2、对移动诊疗任务和智能医疗任务进行计量,得到相应的资源描述符后,分别与移动诊疗任务和智能医疗任务进行打包处理,得到带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务;
步骤3、用二次排程方法对带有资源描述符的移动诊疗任务和有资源描述符的智能医疗任务分别进行任务优先级的标识,得到资源排程表;
步骤4、利用退火算法为带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务匹配相应的最优资源;
步骤5、利用WBS分解结构对带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务进行匹配,若匹配成功,则表示所接收的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务不可分解,否则视为可分解;
步骤6、根据WBS分解结构对可分解的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务进行分解,得到最小粒度的带有资源描述符的移动诊疗任务和带有资源描述符的智能医疗任务;
步骤7、利用最优资源分别对任务分解模块处理后的移动诊疗任务和智能医疗任务进行相应处理,从而得到智能医疗任务的处理结果;并在处理移动诊疗任务的过程中进行动态评价,从而得到移动诊疗任务的处理结果;
步骤8、智能医疗任务和移动诊疗任务的处理结果进行判断,若处理结果为成功,则释放已匹配的最优资源;否则,返回步骤4进行重新匹配资源,从而能提高移动医疗环境下的任务调度处理的效率及性能,更好的利用网络资源服务移动医疗任务。