建立用于移动医疗服务的分布式时空多维索引方法与流程

文档序号:14874889发布日期:2018-07-07 05:16阅读:516来源:国知局
本发明属于数据索引领域,涉及一种建立用于移动医疗服务的分布式时空多维索引方法。技术背景移动医疗服务前景巨大,它不仅充分利用医疗资源,而且缓解了社会医疗服务压力,满足患者的就医需求,正在迅速成为医学领域的一个新应用前景。移动医疗服务通常被视为互联网+智慧医疗领域的典型代表,是私人和公共医疗服务模式的结合。如何提高医疗服务的效率以及如何充分利用医疗资源,一直是社会各界关心的问题。传统索引方法是对整个连接的移动医疗资源进行线性或连续扫描,以便找到可能为查询提供答案的适当资源。移动医疗服务查询作为一项复杂的社会服务,不同于数据库和web查询。它常常需要高效、可伸缩、分布式和多维的时空索引解决方案,帮助其从基础数据库提取医疗资源信息,以响应来自更高级别移动健康应用程序和医疗服务的请求。传统索引方法只能单一维度的索引多媒体数据,例如:谷歌的搜索引擎可以有效地索引文本数据,而大部分的社交网络主要可以索引图形数据。但是移动医疗服务索引除了对医疗资源的基本内容进行索引外,还需要根据移动医疗服务环境的查询应用需求来支持时空数据。对大规模移动数据和资源进行索引的关键技术主要包括:建立分布式的高效索引和支持多维时空大数据索引。移动医疗服务索引结构应该是可伸缩和动态的,用于移动医疗服务的分布式时空多维索引方法期望更高效的处理医疗资源大数据,远高于需要接收的病人查询的医疗资源数据。然而,提高时空索引的效率和可扩展性并不简单。因此,分布式索引算面临十分具有挑战性的问题,如顺序计算和复杂索引以及查询类型的支持等。技术实现要素:为了解决上述
背景技术
:中存在的问题,本发明提出如下方案:一种建立用于移动医疗服务的分布式时空多维索引方法,建立基于区域中心的网格索引;及建立倒排时空双索引,所述倒排时空双索引包括倒排的时间索引和倒排的空间索引。进一步的,建立基于区域中心的网格索引的方法是采用基于代表单元格的预索引的方式,按各医疗区域中的中心位置所在的单元格建立倒排索引。进一步的,采用基于代表单元格的预索引的方式,按各医疗区域中的中心位置所在的单元格建立倒排索引的索引的方法如下:给一个作为输入的移动医疗服务的多维的数据集对象p,按基于医疗区域的网格划分方法将数据进行分区,在同一分区,为每一个医疗区域标记一个代表该区域的中心单元格ccm,mapreduce把输入文件进行分片,形成独立的文件分片,批量的mapper并行的运行处理每一个数据分片,每一个数据分片中,分别建立子索引,最后通过默认的空reducer来进行归并处理。在每一个mapper中,按顺序从文件中读取输入的分片,按照顺序的方式对每一行记录进行扫描以获取每个点的空间位置坐标信息,并计算得到点所对应映射的单元格编号,并加入到其倒排表中,map函数输出非空的单元格编号,把所有的数据点映射到网格索引的单元格中,得到医疗服务区域中所有的包含医疗资源的网格单元格cn。进一步的,建立倒排时空双索引的方法是:建立时间最小和空间距离最短排序的两个子索引队列,以ccm为中心轮圈遍历的方式来进行排序与输出操作,一轮轮的按顺序读取单元格ccm周围的区域;每个reducer获得到mapper的输出后,把中心单元格ccm相同的数据归约到一起,最后reduce的输出为中心单元格ccm及该单元格内所包含的时间和空间队列,形成最终的倒排时空双索引,并输出到分布式文件系统中。进一步的,建立空间网格索引队列方法如下:以单元格ccm的中心为圆的起点,以为初始半径调用circletrip算法进行画圈,如果与之相关的单元格非空,就把它加到ccm.ld(cn)中去,第一轮结束后,第二轮以δ为半径增量继续遍历,直到所有的非空单元格遍历算法结束,从中心格的中心点依次扩张的顺序进行遍历,先得到的结果是空间距离最短的单元格,然后距离依次递增,得到的是按空间距离大小降序排列,轮圈的半径按空间距离长短确定进一步的,建立时间网格索引队列的方法和空间的是类似的,不过在扩展半径时要考虑以最短单位时间为标准(比如说堵车或修路的情况,最短空间可能时间并不是最短,这里按单位时间为半径进行扩展画圈),其它与空间均相同,而空间索引的轮圈半径是按空间距离来确定的(不考虑修路,堵车的情况)。进一步的,建立时间网格索引队列方法如下:以单元格ccm的中心为圆的起点,以为初始半径调用circletrip算法进行画圈,如果与之相关的单元格非空,就把它加到ccm.ld(cn)中去,第一轮结束后,第二轮以δ为半径增量继续遍历,直到所有的非空单元格遍历算法结束,从中心格的中心点依次扩张的顺序进行遍历,先得到的结果是空间距离最短的单元格,然后距离依次递增,得到的是按空间距离大小降序排列,轮圈的半径按时间长短确定。进一步的,网格索引的更新方法,当数据点发生变化时,如果数据点只在单元格内产生移动,无需更新索引项,如果数据点在相邻格间移动,只需要更新局部的索引顺序,如果增加新的单元格,只需在有序的队列进执行插入操作。进一步的,我们对时间和空间双索引,进行skyline计算,调用skyline查询算法(skyline查询算法采用经典的算法就可以,这里不再复述),计算即满足时间又满足空间的索引项,所以只要数据集不为空,就始终能将相对最佳的医疗服务资源派送给患者,并调用相关资源,求出实际满足用户要求最好的结果.有益效果:这种基于时间和空间最小的skyline查询计算框架,可以最大程度地满足医疗就诊患者的高并发需求,可以实时高效地提供大规模移动医疗资源服务。同时因为skyline查询是多结果集的形式,所以只要数据集不为空,就始终能将相对最佳的医疗服务资源派送给患者,避免了查询结果为空的情况,可以极大地提高用户的满意度。附图说明图1为mm共享服务框架示意图;图2是基于网格的索引示意图;图3是倒医学区指数示意图;图4是时间空间索引示意图;图5为时空索引网格示意图;图6为imknn的执行时间以及vknn和ivknn比较示意图。具体实施方式实施例1:本发明提供了建立用于移动医疗服务的分布式时空多维索引方法,以提高医疗服务的效率,充分利用医疗资源。本发明也针对现有技术中存在的查询方法中的不足进行了改进,用以提高准确度和实时性,从而实现多维索引。为了实现上述目的,本发明所采用的技术方案是:首先,对分布式索引方法现状进行了研究综述。然后,提出了一种新的分布式高效索引方法,该方法允许在分布式环境中对移动医疗资源进行时空高维索引。第三,进行大数据实验,有力的证明该索引方法的有效性和可扩展性,同时也证明该方法确实能够有效地支持时间和空间查询。移动医疗服务系统由实时患者呼叫系统、无线网络通讯接口,时空倒排索引维护系统,移动医疗查询系统,调度系统和医疗资源反馈系统六个模块组成。。其中,医疗资源反馈系统主要指移动医疗服务机构或可以接受出诊任务的医生,通常该系统模块生成的数据信息比较大,而且它的状态和时空数据也一直在不断更新。参考图1。医疗资源反馈系统是为用户快速查询最优时空索引的系统,同时,它也不断更新自已的多维数据信息(包括时间和空间数据等)。从而满足不同时间、不同空间病人对医疗资源的需求。此外,服务中心负责持续监测和更新患者的医疗救助请求信息,以及现有的医疗资源是否满足病人需求的信息,以及其他相关信息状态。这几类信息在连接到系统后,不断地通过时间窗口内的无线网络通讯接口(例如,每40分钟一次),定期传送到移动医疗共享服务中心。执行步骤如下:倒排时空双索引:对于医疗服务资源的快速移动查询。移动医疗服务做了以下工作来扩展和改进现有的网格索引结构,并设计了一种新的倒排时空双索引结构;(1)基于区域中心的网格索引。参考附图2。在实际应用中,在每个医学区域的中心建立了一个倒排索引,区域中心的单元格位置不会随着时间的推移而改变,因此可以在离线的情况下建立分布式索引,并定期离线更新。在实时查询中,发起查询服务请求的患者可以直接读取医疗中心的内置网格索引,执行空间时间查询算法,如skyline或knn等。(2)倒排时空索引(idi):患者在提出查询请求时往往更关心提供医疗资源服务的时间和空间效率,因此将mci设置为一个网格单元。每个单元都有一些用于移动医疗查询服务的内部数据结构。参考图3,每一个网格单元mci都有两个倒排的子索引:一个倒排的时间索引<mcm,lt(cn)>和一个倒排的空间索引<mcm,ld(cn)>。每个网格单元mci保持两个倒排:倒排时间索引<mcm,lt(cn)>和倒排空间索引的<mcm,ld(cn)>。值得注意的是,如果患者有其它需求,可以建立基于其它属性的(比如说医疗服务质量,专科种类、数量等)索引单元格单元,形成多索引结构。(3)基于单元格属性的索引结构:因为在持续查询中,因为点的信息经常发生更新,所以点对点之间的大量比较计算会严重影响索引与查询效率,因此,在新的索引结构中,将医疗中心单元i(mci)设置为索引对象。其中ci是mci周围的一个非空单元。参考图4,mc1,mc1,mc1(g1,g2,g3)的时间索引表明从mci时刻最近的网格是g1;mc2的空间索引,ld(g4,g5,g6)表明mc2最近的网格单元是g4。值得注意的是,由于网络空间的限制,最近的的单元并不代表最近的空间。例如,mc1的时间索引mc1(g2,g9,g3),表明从时间和空间两个mc1最近的单元g2。原因是g1的区域有交通堵塞。同样,mc1,mc2,mc2(g6,g7,g8)的时间指数表明mc2在时间和空间上的最近的单元是g6。为了避免耦合,为了更好地分割分布式并发查询,只在医疗领域建立倒排索引。这种基于时间和空间最小索引的skyline查询计算框架,可以最大程度地满足医疗就诊患者的高并发需求,可以实时高效地提供大规模移动医疗资源服务。同时因为skyline查询是多结果集的形式,所以只要数据集不为空,就始终能将相对最佳的医疗服务资源派送给患者,避免了查询结果为空的情况,可以极大地提高用户的满意度。用于移动医疗服务的分布式时空多维索引方法,是包含在分布式环境下,基于移动医疗服务的倒排时空索引结构,涉及对大数据的分布式多维索引,能处理线上线下多时空大数据及时性问题。建立空间网格索引队列方法如下:circlecelltrip算法可以用来一轮轮的按顺序读取单元格ccm周围的区域。以单元格ccm的中心为圆的起点,以为初始半径调用circletrip算法进行画圈,如果与之相关的单元格非空,把它加到倒排的空间索引中去,第一轮结束后,第二轮以δ为半径增量继续遍历,直到所有的非空单元格遍历完算法结束。建立时间网格索引队列方法如下:时间网格索引与空间网格索引类似,与空间网格的不同在于圆的扩展的半径大小由单位时间τ(注意τ的初始值要递增。其它和空间网格遍历算法相同,不再重复。最后map函数将以键值对的方式输出队列结果集<ccm,ld(cn)>和<ccm,lt(cn)>到分布式文件系统中ccm,ld(cn)是ccm的空间索引,ccm,lt(cn)是ccm的时间索引,cc3的时间索引cc3.lt,(c2,c5,c9)表示离cc3时间上最近的单元格是c2,空间索引cc3.ld(c4,c5,c8)表示离cc3空间上最近的单元格是c4。本发明公开了一种用于建立用于移动医疗服务的分布式时空多维索引方法。利用反向时空索引结构,通过医学区域划分的方法,建立分布式高效索引和支持多维时空数据集。移动医疗服务(mm)系统以离线形式、分布式地建立基于倒排网格的时间与空间双索引结构,并根据时间和空间的距离,按从小到大的顺序,建立静态医疗查询的倒排网格索引。同时该系统随时准备快速地为用户的查询请求提供响应服务。当医疗资源状态或时空数据信息发生变化时,该时空索引会通过调度方案模块自动进行局部网格索引更新该方法。在大规模时空数据集上进行了评估,结果表明,该系统能够有效地实现移动医疗资源的索引,其可扩展性优于现有的医疗应用方法。节省社会医疗资源(包括医疗设施和医务人员),满足高峰时间患者更多的就诊需求,特别是在需要或不方便的时候。并且满足移动医疗在分布式、可扩展、高效等方面的需求。参考图5,一个因心脏病突发需要急救的患者,在发起移动呼叫请求时,除了要联系最近的心脏科医院之外,还要以最短的时间被送到救护地点。而实际中,往往距离最短的医院往往因为交通拥塞或绕路到达等原因不能在最短时间内到达。移动医疗服务查询的目的是当患者发起移动端的服务请求或呼叫时,能够快速的将满足患者需求的多个医疗服务资源查询结果提供给用户进行选择。例如,对于一个突发疾病的急诊患者来说,需要满足的查询要求一般是要求有两个:(1)找到空间距离患者所在位置最近的医院或诊所;(2)医院出诊的医生能够在最短的时间内到达患者所在的位置并提供医疗服务。实施例2:通过实验研究影响算法性能的因素。主要进行了深入的实验,对idi进行了最先进的空间算法的评估,并对idi进行了详细的研究。首先介绍实验设置的细节,包括数据集、默认参数和系统环境,然后对性能进行评估,并分析实验结果。(1)设置和配置:用32个服务器构建服务器集群。每个服务器由双核amd2.0ghzcpu、73gbscsi硬盘和8gb内存组成,并安装了ubuntu10.10服务器操作系统和hadoop1.2。每个从节点集群上运行一个tasktracker和datanode维护进程运行。dfs块默认大小是64mb。在同一个节点集群上应用两个解决方案。在实验中,使用了真实的数据集(rds),大连的医疗车辆gps数据集,包括110个系统的医疗救护车和城市的交通状况,近1.8亿个数据点。原始数据在解压前约为10gb。在这个实验中,使用了150万个数据点的子集。每个数据点包含7个维度,并表示被跟踪的车辆的停车行为。同时,采用随机生成器生成的人工数据集。在表中详细描述了人工数据集,它遵循了从2到5的维度和从128k到4096k的基数(即超过400万点)的统一和zipf分布。参考如下表:数据集对象(数字)描述rds(真实数据)1,500、000医疗车gps数据与城市交通状况sds(综合组)4,700000服从均匀分布和zipf分布(2)结果和讨论:比较了一些基于mapreduce的索引结构,包括mrtreeindex(mrtree),基于voronoidigram的mrv索引,倒排voronoi(mriv)索;,以及由设计的医学区域倒排时间空间索引(mrits)。参考图5实施例3:创建索引效率有明显提高:首先通过改变从2到32的集群节点的数量来评估构建mrits和mriv、mrtree和mrv索引的效率。参考图6,说明了节点数据变化对rsd和sds数据集构建索引时间的影响。随着集群节点的增长,这三个索引结构几乎线性增加。然而,mrits的构建时间与mriv、mrtree和mrv的节点数量相比是最短的。特别是当节点数为8和16时,mrits比mriv快50%,比mrtree快6倍,比mrv快4倍。这是因为在现有的医学区域的基础上,直接将倒立的医学区域时间空间指数划分,不需要预先计算,只需要进行网格索引过程。基于r-tree和voronoi的索引结构需要进行复杂的构建过程。由于离线预索引的方法,的索引过程不包括创建索引的过程,只需要把建立医学领域的代表点的时间计算在内(通常是指一个地区可以通过查询数据库获得的医院或社区医院的结果)。上述实验结果也表明,的mrist索引的建立时间极短。这是因为只需要对单元格进行索引,而不是每个数据点,这大大减少了数据索引计算量。mrist索引方法简单,容易合并和拆分。总之,mrits索引索引的海量空间数据的最适合的方法。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1