买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种跨站点的高能物理数据访问方法及系统_中国科学院高能物理研究所_201810384327.1 

申请/专利权人:中国科学院高能物理研究所

申请日:2018-04-26

公开(公告)日:2021-04-06

公开(公告)号:CN110109871B

主分类号:G06F16/13(20190101)

分类号:G06F16/13(20190101);G06F16/172(20190101);G06F16/907(20190101);G06F3/06(20060101);H04L29/08(20060101)

优先权:

专利状态码:失效-未缴年费专利权终止

法律状态:2023.04.04#未缴年费专利权终止;2019.09.03#实质审查的生效;2019.08.09#公开

摘要:本发明公开了一种跨站点的高能物理数据访问方法及系统。本方法为:在每一子站点上设置一元数据服务单元MetaD,各子站点的MetaD分别定期与主站点进行元数据同步更新并为每一元数据对应的文件开辟一物理空间;子站点的缓存模块CacheD根据更新后的元数据信息构造文件元数据信息列表,形成跨站点统一化文件视图;对于任意一子站点B的客户端发出访问请求时,子站点B的MetaD统一化文件视图判断主站点是否存储该访问请求所请求的目标数据块;如果不存在,则子站点B向数据传输模块TransferD发送数据拉取请求;该数据传输模块TransferD在主站点查找对应文件并对其进行数据分块、转码、多流传输至子站点B。

主权项:1.一种跨站点的高能物理数据访问方法,其步骤包括:在每一子站点上设置一元数据服务单元MetaD,各子站点的MetaD分别定期与主站点进行元数据同步更新,并根据每一元数据对应的文件大小在子站点的数据存储集群DataD中的目标存储点预开辟一物理空间,用于缓存对应文件;子站点的缓存模块CacheD根据更新后的元数据信息构造文件元数据信息列表,形成跨站点统一化文件视图;对于任意一子站点B的客户端发出访问请求时,子站点B的元数据服务单元MetaD根据子站点B的统一化文件视图判断主站点是否存储该访问请求所请求的目标数据块;如果存在,则查询该子站点B是否缓存该目标数据块;如果该子站点B缓存该目标数据块,则将其返回给该客户端;否则,该子站点B向子站点B的数据传输模块TransferD发送数据拉取请求;该数据传输模块TransferD根据该数据拉取请求在主站点查找对应文件并对其进行数据分块、转码、多流传输,将该目标数据块推送至子站点B,子站点B根据该目标数据的元数据将该目标数据块写入对应的物理空间。

全文数据:一种跨站点的高能物理数据访问方法及系统技术领域本发明属于数据存储领域,具体涉及一种跨站点的高能物理数据访问方法及系统。背景技术高能物理作为依托大型实验装置的实验科学,具有实验数据量巨大、实验数据跨域共享的模式特点。面对海量实验数据的跨域共享,现今大多系统都采用全文件传输的模式,将数据所属文件全部传输至子站点进行数据分析,如网格计算系统WLCG、分布式文件系统EOS等。这些传统模式的跨域数据共享都受到了网络状况、子站点规模、客户端文件系统复杂语义等方面的限制,很难以低消耗的资源满足高能物理领域中的跨域数据共享,更无法做到高性能的实验数据跨域分析。高能物理领域中,传统跨站点数据访问模型如图1所示。客户端挂载某文件系统后对目标数据进行请求,图中以Event3为例。在本地数据站点进行数据查询后,如果无相应的缓存数据需要从远程站点访问,则向对外接口资源管理层RML发出数据请求。系统采用广播Broadcast的模式向资源管理层记录的相关目标站点发送数据请求,目标站点确认数据所在文件路径后,将数据文件File2通过网格GridFTP等协议传输至本地站点。本地站点提交请求后开始等待,直至发现数据文件后,开始进行相应的科学计算。整个数据计算过程,客户端需要进行长时间的数据等待,文件传输在高网络延时下性能较差。长等待时间无法被一次完整的文件系统语义容忍,所以客户端无法通过实时交互的模式进行数据处理,只能通过批处理的模式进行实验数据分析等操作。整个过程中,消耗了较多的系统资源、网络带宽,且数据处理性能较差。且在实验中往往需要多次访问某一文件中的数据块,本地站点在缓存清理后可能需要多次拉取数据,更加大了本地站点的数据处理压力,浪费了更多的系统资源。发明内容针对现有技术中存在的技术问题,本发明的目的在于提供一种跨站点的高能物理数据访问方法及系统。本发明的技术方案为:一种跨站点的高能物理数据访问方法,其步骤包括:在每一子站点上设置一元数据服务单元MetaD,各子站点的MetaD分别定期与主站点进行元数据同步更新,并根据每一元数据对应的文件大小在子站点的数据存储集群DataD中的目标存储点预开辟一物理空间,用于缓存对应文件;子站点的缓存模块CacheD根据更新后的元数据信息构造文件元数据信息列表,形成跨站点统一化文件视图;对于任意一子站点B的客户端发出访问请求时,子站点B的元数据服务单元MetaD根据子站点B的统一化文件视图判断主站点是否存储该访问请求所请求的目标数据块;如果存在,则查询该子站点B是否缓存该目标数据块;如果该子站点B缓存该目标数据块,则将其返回给该客户端;否则,该子站点B向子站点B的数据传输模块TransferD发送数据拉取请求;该数据传输模块TransferD根据该数据拉取请求在主站点查找对应文件并对其进行数据分块、转码、多流传输,将该目标数据块推送至子站点B,子站点B根据该目标数据的元数据将该目标数据块写入开辟的对应物理空间。每个子站点的用户根据需求的数据不同,挂载主站点的数据源位置不同,各子站点分别从主站点获取设定的元数据,生成对应的统一化文件视图。该客户端为XRootD客户端;所述数据存储集群DataD为多台XRootD服务器构成的数据存储集群。所述缓存模块CacheD中设置一守护进程DP,该守护进程DP以服务的模式实时监控来自指定端口的访问请求。通过基于HASH的并行分布式算法计算该目标数据块的散列位置,在子站点的数据存储集群DataD中的目标存储点以fallocate的方式预开辟该物理空间。一种跨站点的高能物理数据访问系统,其特征在于,包括数据传输模块TransferD和缓存模块CacheD;缓存模块包括元数据服务单元MetaD和数据存储集群DataD;其中,每一子站点上设置一所述元数据服务单元MetaD,各子站点的元数据服务单元MetaD分别定期与主站点进行元数据同步更新,并根据每一元数据对应的文件大小在子站点的数据存储集群DataD中的目标存储点预开辟一物理空间,用于缓存对应文件;每一子站点上设置一所述缓存模块CacheD,用于根据更新后的元数据信息构造文件元数据信息列表,形成跨站点统一化文件视图;对于任意一子站点B的客户端发出访问请求时,子站点B的元数据服务单元MetaD根据子站点B的统一化文件视图判断主站点是否存储该访问请求所请求的目标数据块;如果存在,则查询该子站点B是否缓存该目标数据块;如果该子站点B缓存该目标数据块,则将其返回给该客户端;否则,该子站点B向子站点B的数据传输模块TransferD发送数据拉取请求;该数据传输模块TransferD根据该数据拉取请求在主站点查找对应文件并对其进行数据分块、转码、多流传输,将该目标数据块推送至子站点B,子站点B根据该目标数据的元数据将该目标数据块写入开辟的对应物理空间。本发明构建了一种新型的跨站点高能物理数据访问架构,提供实验数据的高效访问模式。本发明的具体实现是:1通过缓存服务高性能数据库元数据服务提供主站点、本地缓存统一化文件视图。子站点的高性能数据库元数据服务定期与主站点进行元数据同步更新,元数据同步到Metad中并添加bitmap字段,然后通过HASH计算其存储位置并根据文件大小以fallocate模式预开辟物理空间,这样可以方便并加速该文件后续数据块的写入速度。缓存服务根据元数据信息构造文件元数据信息列表,形成跨站点统一化文件视图。2采用流式传输,连续、实时传输数据块,用户不必等待文件下载完毕,快速获取数据流信息,之后以边处理边下载的模式获取后续的数据信息。实现了按需、实时响应传输目标数据块,流式传输模式有效的解决了全文件传输的慢响应问题。在数据传输服务中,文件实体数据经传输服务转码为二进制数据流并切分为小数据块,分块多流并发传输,在子站点进行数据块解码重组后交付缓存服务,从而提供高效的文件流式传输处理方式。3客户端调用系统提供的POSIXAPI,将文件访问复杂语义同时转换为数据传输和数据处理,用户访问远程主站点完全透明化。用户依旧通过本地文件系统FUSE语义访问目标文件,FUSE文件系统调用本系统提供的POSIXAPI进行数据访问,系统接口POSIXAPI首先进行数据请求解析,然后将请求发送至缓存服务进行数据处理,若数据已经缓存至本地直接返回数据,若本地无数据则向远程主站点发送请求,远程主站点通过数据传输系统传输模块将数据传输至缓服务进行缓存并返回值客户端。在本系统中传输模块的服务端部署在主站点,它只负责传输数据、转码文件内容、分块传输等;传输模块的客户端部署在子站点,它负责发送子站点的数据请求、接收请求的数据块、解码文件内容等。4使用基于哈希的并行分布式算法,将数据块散列至XRootD分布式存储服务器上,数据块使用Key-Value存储模型进行存储并使用fallocate模式预分配存储空间,加速数据块定位及访问。5基于HTTP协议进行数据块多流传输,目标数据块传输时同步传输关联数据块,以预读模式加速数据二次访问速度,数据传输性能受网络时延影响较小。与现有技术相比,本发明的积极效果为:本发明采用流式传输,连续、实时传输数据块,用户不必等待文件下载完毕,只需要几秒时延便可以开始获取数据流信息,之后以边处理边下载的模式获取后续的数据信息,流式传输模式可以有效的解决全文件传输的慢响应问题。缓存模块用于加速数据二次访问,将客户端频繁访问的数据存储在离客户端较近、访问速度较快的系统中,以提高数据访问速度。流式传输与缓存都是加速数据跨域访问的有效方式,相比较于传统的全文件预传输,更加适合于数据分析实时性、高效性要求较高的计算模式。附图说明图1为传统高能物理跨站点数据访问模型;图2为本发明的跨站点数据访问系统架构图;图3为本发明的跨站点数据访问流程模块图;图4为本发明的新型跨站点高能物理数据访问流程图。具体实施方式在下述具体实施示例中,结合附图对本发明进行进一步的详细说明。通过足够详细的描述这些实施示例,使得本领域技术人员能够实践本发明。在不脱离本发明的主旨和范围的情况下,可以对实施做出逻辑的、实现的和其他的改变。因此,以下详细说明不应该被理解为限制意义,本发明的范围仅仅由权利要求来限定。本专利申请将流式传输与缓存技术融入高能物理数据管理中,可以有效解决高能物理计算中传统跨域数据访问存在的资源浪费、带宽占用、数据处理效率低下等问题,以其作为核心设计思想,本系统主要有包括三个核心模块:传输模块TransferD、缓存模块CacheD和客户端接口FP,FilePlugin,架构如图2所示。传输模块采用Tornado框架,基于HTTP协议进行跨域数据传输,并应用了数据分块、多流等传输技术。缓存模块中设有一守护进程DP,DaemonProcess、元数据服务MetaD、数据存储集群XRootD-ClusterDataD构成。图3描述了整个跨站点数据访问系统的实现原理。子站点挂载XRootD客户端XRootDClient,XRootD客户端对文件内数据块的访问请求,通过调用FilePluginAPI本系统的访问请求将其转化本系统实现的文件系统相应原子操作getatte、readdir、open、read、close等,并交付缓存服务的守护进程DP,DaemonProcess。守护进程DP以服务的模式Service实时监控来自指定端口Consol;端口的指定由系统部署时配置指定,系统部署运行后即为固定端口,端口为缓存服务器上的消息端口,负责接收来自客户端的请求信息的数据访问请求,如图中使用5010端口。DP将请求处理转化为数据库操作,发送至MetaD查询后返回相应元数据信息。同时系统通过数据库标识bitmap,每个主站点数据源位置的文件信息同步至子站点缓存服务中的元数据服务中后,每个文件的元数据对应一条数据库记录,每条数据库记录中除了文件在主站点的元数据信息外,还有自动生成的bitmap字段,用来辨识文件内数据块是否已经缓存至缓存服务,初始化为全0,每个0标示该文件的一个数据块,比如为1MB,相应位置的数据块缓存后,该文件对应位置的bitmap位修改为1标示已经缓存至缓存服务判断数据块是否已缓存至数据存储集群XRootD-ClusterDataD,若无则在控制流处理的同时从主站点数据源站点拉取目标数据块,控制流为系统对于一次访问请求的响应操作指令集合,包括对于数据块缓存信息的元数据创建及修改、数据块散列存储位置计算、数据块散列存储位置空洞文件开辟、数据块写入对应的预开辟的空洞文件等。通过上述描述的系统逻辑,客户端的访问请求经过子站点缓存模块进行请求分析处理后,从数据类型角度将其转化为元数据业务逻辑和数据块业务逻辑,既数据块对应的目标文件元数据、数据块本身进行创建、修改、删除等操作。从操作内容角度将其转化为数据业务逻辑和数据下载逻辑,既缓存服务对访问请求进行处理后,将其转换为缓存服务上的MetaD查询、修改、插入和数据存储集群中数据块的读取、创建以及远程主站点上的目标数据块的读取、转码、传输和解码。传输模块TransferD提供了多流、高并发的数据块下载模式,请求的文件数据在主站点端由传输服务自动划分为多个数据块,数据块转码为二进制比特流的多个数据包,多数据包通过并发多流的模式,异步并发的将数据包发送至子站点缓存服务,到达缓存服务后由传输服务进行数据包解码。系统中采用上述流式、高并发的数据传输模式,传输性能受网络时延影响较小,并且客户端实现了数据块访问与传输的异步模式,不再需要等待全文件预传输便可进行数据访问,从而实现了高效的前端数据访问模式。数据存储集群服务DataD使用基于哈希的并行分布式算法,将数据散列存储至XRootD存储服务器中,每个文件路径对应一个唯一的哈希键值Key,提供高效的数据块访问速度,系统同时生成与远程数据源站点目标挂载点相同的统一文件视图,远程访问对客户端完全透明化。跨站点数据访问模式针对于数据块设计,系统按需传输、访问目标数据,无需全文件传输,很大程度上提高了数据跨站点访问性能。本发明已经在跨域站点上部署测试,并获得实际效果。方法对跨站点的高能物理数据访问的改进主要集中在数据访问模式,不再使用传统的数据全文件传输后计算的模式。流式传输与缓存的结合使得数据跨域访问性能大幅提高:数据块缓存后,子站点数据访问速度接近本地化访问。数据块未缓存时,多流、高性能、稳定的数据传输与数据预传输方案,使得数据块访问响应时间远低于全文件传输处理。本系统改变了高能物理中跨站点数据访问的原始文件传输模式,在客户端应用层文件系统复杂语义中融入了数据拉取即将文件系统本地的数据读取,转变为向远程主站点发送请求,并通过广域网进行数据传输获取数据、数据散列等操作,以完全透明化、不改变用户操作模式的方式完成数据跨站点访问流程,图4描述了高能物理数据跨站点访问处理流程。实施测试时,系统的子站点与主站点由1000Mbps网络连接。系统通信协议采用HTTP协议,无需额外端口的配置,所有的数据访问请求均由子站点上挂载XRootD客户端的用户提交。实施例中数据源站点即主站点为A,子站点为B,用户为U,访问数据为File1中的Event5。子站点B上缓存服务CacheD由用户指定以文件系统挂载的模式mount将主站点A上目标数据集所在的文件夹挂载至缓存服务目录中,既将目标数据集所包含的文件命名空间同步至缓存服务元数据数据库MetaD中。站点B客户端所发出的访问请求,都查询缓存服务元数据数据库进行处理。主站点A部署系统传输服务后,进行访问请求监听。发现请求后根据请求,对目标数据所在文件进行分块、转码为二进制数据流、多流传输,加速数据的跨站点访问。之后在站点B由传输服务完成数据解码、重组后交付缓存服务进行后续的访问请求相应。系统部署后U访问数据Event5的具体过程如下:1.站点B用户U通过XRootD客户端发出数据Event5访问请求---XrdPosix_Read,其调用系统提供的POSIXAPI,发出数据read请求。2.站点B上缓存服务守护进程ProcessDaemon通过端口Consol:5010监听到该数据请求,通过请求清洗、格式化处理,向MetaD发出元数据查询请求。请求清洗是指系统最初获取的数据请求后,去除一些逻辑错误的元数据请求,比如访问的文件路径不是正确的文件路径表达式。格式化处理是指将文件访问请求转换为数据库的增删改查查语句,然后再传输至元数据数据库。通过这两步骤来减少元数据数据库的压力,保证缓存服务的整体性能。最终的处理结果就是转换为简单的数据库操作。3.MetaD对目标数据块进行元数据查询,若该数据块存在,进行bitmap查询判断数据块是否已经完成缓存,进行步骤4。若无该数据块存在信息,则返回错误码error,结束流程。由于每个子站点都维护自己的缓存服务,每个子站点的用户根据自己需求的数据不同,由自己选择挂载主站点的某个文件夹即数据源位置,所以各个子站点间的元数据不一定是相同的,即文件视图不一定相同。各个子站点挂载的文件视图都是主站点的一部分。子站点在挂载某个文件夹即数据源位置时,就将该文件夹下的文件元数据信息都同步至子站点缓存服务的元数据数据库MetaD了,如果MetaD没有查询到该文件信息,就说明主站点该文件夹目录即数据源位置没有该文件,用户查询的文件不存在,返回错误代码即可。4.若数据块已经完成缓存,MetaD查询其HASH位置,并读取该数据返回客户端,完成数据访问。若数据块未进行缓存,则子站点B根据该数据的元数据将该数据块写入对应的物理空间;其中,子站点B的MetaD会定期与主站点进行元数据同步更新并添加bitmap字段,然后基于HASH的并行分布式算法计算其散列位置,并根据每一元数据对应的文件大小在子站点的数据存储集群DataD中的目标存储点预开辟一物理空间加速同属文件的其他数据块的二次写入,用于缓存对应文件。5.向TransferD发送数据拉取请求,拉取请求信息中是包含数据块所在文件的目录位置、数据块在文件中的起始位置offset、数据块的大小size,请求用户的id,用户所在组的id等信息。由数据传输服务进行数据传输,包括在主站点A进行数据分块、转码、多流传输等,传输后数据推送至站点B缓存服务进行处理,将数据写入开辟的目标空间,修改MetaD中数据块bitmap位值。6.站点B缓存服务将数据buffer返回客户端,实现XRootD客户端FUSE层完整语义,完成数据跨站点访问。实施测试中,客户端以数据流模式访问目标数据,边传输边处理,无需等待数据所属文件本地化,数据处理效率得到有效提高。且整个数据跨站点访问流程完全透明化,客户端行为模式无任何改变。缓存的结合更使得子站点数据块二次访问性能近本地化。整个系统为高能物理计算,提供了一种新型、高效的跨站点数据访问方法。

权利要求:1.一种跨站点的高能物理数据访问方法,其步骤包括:在每一子站点上设置一元数据服务单元MetaD,各子站点的MetaD分别定期与主站点进行元数据同步更新,并根据每一元数据对应的文件大小在子站点的数据存储集群DataD中的目标存储点预开辟一物理空间,用于缓存对应文件;子站点的缓存模块CacheD根据更新后的元数据信息构造文件元数据信息列表,形成跨站点统一化文件视图;对于任意一子站点B的客户端发出访问请求时,子站点B的元数据服务单元MetaD根据子站点B的统一化文件视图判断主站点是否存储该访问请求所请求的目标数据块;如果存在,则查询该子站点B是否缓存该目标数据块;如果该子站点B缓存该目标数据块,则将其返回给该客户端;否则,该子站点B向子站点B的数据传输模块TransferD发送数据拉取请求;该数据传输模块TransferD根据该数据拉取请求在主站点A查找对应文件并对其进行数据分块、转码、多流传输,将该目标数据块推送至子站点B,子站点B根据该目标数据的元数据将该目标数据块写入对应的物理空间。2.如权利要求1所述的方法,其特征在于,每个子站点的用户根据需求的数据不同,挂载主站点的数据源位置不同,各子站点分别从主站点获取设定的元数据,生成对应的统一化文件视图。3.如权利要求1所述的方法,其特征在于,该客户端为XRootD客户端;所述数据存储集群dataD为多台XRootD服务器构成的数据存储集群。4.如权利要求1所述的方法,其特征在于,所述缓存模块CacheD中设置一守护进程DP,该守护进程DP以服务的模式实时监控来自指定端口的访问请求。5.如权利要求1所述的方法,其特征在于,通过基于HASH的并行分布式算法计算该目标数据块的散列位置,在子站点的数据存储集群dataD中的目标存储点以fallocate的方式预开辟该物理空间。6.一种跨站点的高能物理数据访问系统,其特征在于,包括数据传输模块TransferD和缓存模块CacheD;缓存模块包括元数据服务单元MetaD和数据存储集群dataD;其中,每一子站点上设置一所述元数据服务单元MetaD,各子站点的元数据服务单元MetaD分别定期与主站点进行元数据同步更新,并根据每一元数据对应的文件大小在子站点的数据存储集群DataD中的目标存储点预开辟一物理空间,用于缓存对应文件;每一子站点上设置一所述缓存模块CacheD,用于根据更新后的元数据信息构造文件元数据信息列表,形成跨站点统一化文件视图;对于任意一子站点B的客户端发出访问请求时,子站点B的元数据服务单元MetaD根据子站点B的统一化文件视图判断主站点是否存储该访问请求所请求的目标数据块;如果存在,则查询该子站点B是否缓存该目标数据块;如果该子站点B缓存该目标数据块,则将其返回给该客户端;否则,该子站点B向子站点B的数据传输模块TransferD发送数据拉取请求;该数据传输模块TransferD根据该数据拉取请求在主站点A查找对应文件并对其进行数据分块、转码、多流传输,将该目标数据块推送至子站点B,子站点B根据该目标数据的元数据将该目标数据块写入对应的物理空间。7.如权利要求6所述的系统,其特征在于,每个子站点的用户根据需求的数据不同,挂载主站点的数据源位置不同,各子站点分别从主站点获取设定的元数据,生成对应的统一化文件视图。8.如权利要求6所述的系统,其特征在于,该客户端为XRootD客户端;所述数据存储集群dataD为多台XRootD服务器构成的数据存储集群。9.如权利要求6所述的系统,其特征在于,所述缓存模块CacheD中设置一守护进程DP,该守护进程DP以服务的模式实时监控来自指定端口的访问请求。10.如权利要求6所述的系统,其特征在于,子站点通过基于HASH的并行分布式算法计算该目标数据块的散列位置,在子站点的数据存储集群DataD中的目标存储点以fallocate的方式预开辟该物理空间。

百度查询: 中国科学院高能物理研究所 一种跨站点的高能物理数据访问方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。