一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据的传输方法及系统与流程

2022-02-22 06:33:25 来源:中国专利 TAG:


1.本技术涉及计算机应用技术领域,更具体的,涉及一种数据的传输方法及系统。


背景技术:

2.大气科学数据多以网络通用数据格式(network common data form,netcdf)或等级划分数据格式(hierarchical data format,hdf)存储,该类文件作为一种自描述的二进制数据格式多用于大气科学的网格数据存储,随着各类气象或海洋数值模式精度的提升以及观测手段、观测点的增加,大气科学数据的体积呈现不断增长的趋势,所以数据存储需要为大气环境数据提供充足的、高可扩展性的的存储环境,同时为数据提供可靠的冗余备份策略。另一方面,由于netcdf和hdf文件提供了一个非常灵活的框架,其格式能够使用者根据需求自己定义,数据之间缺少统一性,加大了传输共享的难度。
3.hadoop是在工业领域十分成功的分布式系统基础框架,是google公司文件系统(google file system,gfs)的java版本开源实现。hadoop针对数据冗余备份、分布式集群的节点管理、负载均衡等问题都有可靠的解决方案。该框架包含两个重要组件,其中之一就是hadoop分布式文件系统(hadoop distributed file system,hdfs)。
4.开源的网络数据访问协议(open-source project for a network data access protocol,opendap)是大气科学领域应用较多的一个数据传输协议,为http协议的一个扩展。存储在云端或本地的hdf、netcdf等数据文件中的结构化数值型数据可通过该协议实现互联网在线访问。opendap对结构化数值建立通用数据模型(common data model,cdm),可对数据集中特定时空格点上的数据,提高了数据访问效率与灵活性。
5.opendap的研究组织开发了一款该协议的解析程序hyrax,然而hyrax不支持对接hdfs,后端程序服务端(back end server,bes)虽然提供访问远程文件系统的接口,但是其前端服务(opendap lightweight frontend server,olfs)并没有明确的接口供用户访问远程文件系统。此外hyrax需要对数据目录建立索引,对于远程文件系统,需要在原始数据的每一个目录下添加一个xml格式的索引文件来指示当前目录中的内容,olfs才能够正确返回数据源目录页面。也就是说当文件系统中有文件增删等操作时需要动态地更新这些索引文件,然而hdfs为了回避并发写造成的问题是不支持修改文件的,所以只能够以删除旧索引添加新索引的方式来更新。频繁的文件操作会带来频繁的索引增删操作,一来操作十分繁琐,二来占用系统资源降低效率。


技术实现要素:

6.为了解决以上问题,本技术提出一种数据的传输方法及系统。
7.第一方面,本技术提供一种数据的传输方法,所述传输方法包括:
8.用户客户端向数据访问协议(data access protocol,dap)转换器发送数据访问请求;
9.所述dap转换器将所述数据访问请求转换为查询指令,将所述查询指令发送至后
端程序(back end server,bes)客户端;
10.所述bes客户端向bes服务端发送所述查询指令;所述bes服务端根据所述查询指令在hdfs获取查询结果,将所述查询结果发送至所述bes客户端;
11.所述bes客户端对所述查询结果进行协议转换处理,得到处理结果;
12.将所述处理结果发送至用户客户端。
13.优选地,所述dap转换器将所述数据访问请求转换为查询指令包括:
14.对所述数据访问请求进行解析,获取所述数据访问请求中的若干参数;根据所述若干参数按照规定的语法规则生成所述查询指令;所述查询指令包括所述若干参数中每个参数分别对应的查询指令片段。
15.优选地,所述bes客户端向bes服务端发送所述查询指令;所述bes服务端根据所述查询指令获取查询结果,将所述查询结果发送至所述bes客户端包括:
16.所述bes客户端与所述bes服务端建立点对点传输协议;
17.所述bes客户端将所述查询指令通过所述点对点传输协议发送至所述bes服务端;
18.所述bes服务端根据所述查询指令获取查询结果,将所述查询结果发送至所述bes客户端;
19.所述bes客户端接收并处理所述所述查询结果。
20.优选地,所述bes客户端与所述bes服务端建立点对点传输协议包括:
21.所述bes客户端向所述bes服务端发送传输控制协议连接请求;
22.所述bes服务端接受请求,传输控制协议连接建立;
23.所述bes客户端发送连接请求给所述bes服务端,申请建立点对点传输协议;其中,所述连接请求包括代表请求点对点协议连接的标识符;
24.所述bes服务端收到所述连接请求,向所述bes客户端返回标识符确定请求结果。
25.第二方面,本技术提供一种数据的传输系统,所述传输系统包括:
26.用户客户端,用于向dap转换器发送数据访问请求;
27.dap转换器,用于将所述数据访问请求转换为查询指令,将所述查询指令发送至bes客户端;
28.bes客户端,用于向bes服务端发送所述查询指令;
29.bes服务端,用于根据所述查询指令获取查询结果,将所述查询结果发送至所述bes客户端;
30.所述bes客户端还用于对所述查询结果进行协议转换处理,得到处理结果;
31.所述dap转换器还用于将所述处理结果发送至用户客户端。
32.优选地,所述将所述数据访问请求转换为查询指令包括:
33.对所述数据访问请求进行解析,获取所述数据访问请求中的若干参数;根据所述若干参数按照规定的语法规则生成所述查询指令;所述查询指令包括所述若干参数中每个参数分别对应的查询指令片段。
34.优选地,所述bes客户端向bes服务端发送所述查询指令;所述bes服务端根据所述查询指令获取查询结果,将所述查询结果发送至所述bes客户端包括:
35.所述bes客户端与所述bes服务端建立点对点传输协议;
36.所述bes客户端将所述查询指令通过所述点对点传输协议发送至所述bes服务端;
37.所述bes服务端根据所述查询指令获取查询结果,将所述查询结果发送至所述bes客户端;
38.所述bes客户端接收并处理所述所述查询结果。
39.优选地,所述bes客户端与所述bes服务端建立点对点传输协议包括:
40.所述bes客户端向所述bes服务端发送传输控制协议连接请求;
41.所述bes服务端接受请求,传输控制协议连接建立;
42.所述bes客户端发送连接请求给服务端,申请建立点对点传输协议;其中,所述连接请求包括代表请求点对点协议连接的标识符;
43.所述bes服务端收到所述连接请求,向所述bes客户端返回标识符确定请求结果。
44.第三方面,本技术提供一种计算设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时,执行管道数字化管理方法。
45.第四方面,本技术提供一种计算机可读存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行管道数字化管理方法。
46.本发明提出一种数据的传输方法及系统,解决了hyrax不支持对接hdfs的问题,可以让数据的存储和管理更加便捷,降低数据共享的难度。
47.附图书说明
48.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
49.图1为本技术实施例中提供的技术方案的应用示意图;
50.图2为本技术实施例中提供的方法示意图;
51.图3为本技术实施例中提供的数据访问协议转换器的示意图;
52.图4为本技术实施例中提供的系统示意图;
53.图5为本技术实施例中提供的一种计算机设备结构示意图。
具体实施方式
54.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
56.图1为本技术实施例中提供的技术方案的应用示意图。如图1所示,用户可以输入需要查询的数据,本方案的查询方法可以通过dap和gateway这两个接口将opendap协议和hdfs结合在一起,可以对存储于hdfs上的数据进行查询。此外,需要说明的是,在本技术中,主要以大气环境数据为例来进行描述。可以理解的是,大气环境数据可以等同的替换为其它各种可能的业务场景中的数据。
57.图2为本技术实施例中提供的方法示意图。如图2所示,在一个可能的实施例中,本技术的数据传输方法包括:
58.s201:用户客户端向dap转换器发送数据访问请求。
59.在一种可能的实施方式中,用户客户端向dap转换器发送的数据访问请求是url请求。具体格式为:
60.http://《hostname》:《port》/《space》/《path》.《type》?《constraints》
61.其中,hostname标识请求的ip地址,port标识请求的端口,space标识数据的访问方式,访问方式可以包括本地访问以及远程访问,path标识大气科学数据在hdfs上的访问路径,constraints标识执行操作时所需要的参数。
62.举例来说,用户客户端发送的一个请求格式具体可以示例为:
63.http://192.168.1.1:10000/gateway/nc/data/hello.nc.nc?pm25[0:1:443][0:1:381]
[0064]
其中,192.168.1.1对应格式中的《hostname》;10000对应格式中的《port》;gateway对应格式中的《space》;/nc/data/hello.nc对应格式中的《path》;.nc对应格式中的《type》;pm25[0:1:443][0:1:381]对应格式中的《constraints》。本条请求的意思是:远程访问hdfs上目录/nc/data下的hello.nc文件,提取其中pm25变量中范围在[0,441][0,381]内的所有数据。
[0065]
s202:dap转换器将数据访问请求转换为查询指令,将查询指令发送至bes客户端;
[0066]
图3为本技术实施例中提供的dap转换器的示意图。请参考图3,在一种可能的实施方式中,dap转换器将数据访问请求转换为查询指令包括:
[0067]
通过url解析器对数据访问请求进行解析,获取数据访问请求中的若干参数;根据若干参数按照规定的语法规则生成查询指令;查询指令包括若干参数中每个参数分别对应的查询指令片段。生成的查询指令为xml格式。
[0068]
举例来说,将一个具体的请求http://192.168.1.1:10000/gateway/nc/data/hello.nc.nc?pm25[0:1:443][0:1:381]转换为查询指令,后生成的查询指令部分格式如下:
[0069][0070]
其中,gateway对应指令中的space="gateway";
[0071]
/nc/data/hello.nc对应指令中的resourceid;
[0072]
.nc对应指令中的returntype;
[0073]
pm25[1:0:443][1:0:381]对应指令中的constraintexpression。
[0074]
上述指令的意思是:远程访问hdfs上目录/nc/data下的hello.nc文件,提取其中pm25变量中范围在[0,441][0,381]内的所有数据,并以netcdf文件的格式返回。
[0075]
s203:bes客户端向bes服务端发送查询指令;bes服务端根据查询指令在hdfs上获取查询结果,将查询结果发送至bes客户端。
[0076]
bes客户端将xml格式的查询指令发送至bes服务端,bes服务端首先根据查询指令中的resourceid,通过gateway访问hello.nc文件,然后根据constraintexpression提取需要查询的数据,将提取到的数据转换为returntype对应的数据格式.nc,生成查询结果,将查询结果返回给bes客户端。
[0077]
具体的,bes服务端根据查询指令在hdfs获取查询结果。本技术通过如下格式的http请求即可访问获取hdfs上的文件:
[0078]
http://《hostname》:《port》/《operation》/《path》?《params》,
[0079]
其中,hostname表征hdfs的主机路径,port表征hdfs的端口,operarion表征访问操作,参数包括download(代表获取数据)和upload(代表上传数据),path表征大气环境数据在hdfs上的访问路径,params表征执行操作时所需要的参数。
[0080]
用于处理该请求的就是gateway接口。gateway接口包括routers、services和hdfs客户端。其中,routers负责分发请求,services负责解析参数并向hdfs客户端发送参数,
hdfs客户端负责接收参数并根据参数进行响应,将响应结果返回给bes服务端。
[0081]
在一种可能的实施方式中,bes客户端向bes服务端发送查询指令包括:
[0082]
s2031:bes客户端与bes服务端建立点对点传输协议。
[0083]
bes服务端是独立运行的c/s架构的服务程序。在运行后等待接收bes客户端发送的查询指令,根据查询指令进行查询数据并将查询结果返回给bes客户端。
[0084]
在一个较为具体的实施例中,bes客户端与bes服务端建立点对点传输协议包括:
[0085]
s20311:bes客户端向bes服务端发送传输控制协议连接请求。
[0086]
s20312:bes服务端接受请求,传输控制协议连接建立。
[0087]
在一个更为具体的实施例中,bes服务端设置了ssl安全协议和加密传输,则bes服务端需要bes客户端提供验证信息。当验证信息通过时,传输控制协议连接建立。当验证信息连接超时或者验证失败时,bes客户端会直接退出,传输控制协议连接建立失败。
[0088]
s20313:bes客户端发送连接请求给bes服务端,申请建立点对点传输协议;其中,连接请求包括代表请求点对点协议连接的标识符。表1为标识符的信息与描述。
[0089]
表1
[0090][0091]
s20314:bes服务端收到连接请求,向bes客户端返回标识符确定请求结果。
[0092]
举例来说,bes客户端发送包含标识符“pptclient_testing_connection”的请求给bes服务端,申请建立ppt协议连接。bes服务端在接收到请求后,根据自身状况返回一个标识符来表示请求结果。当返回的标识符为“pptserver_connection_ok”时,表示bes服务端接受请求,可以进行ppt协议传输;当返回的标识符为“ppt_protocol_undefined”时,表示bes服务端因为繁忙等原因导致协议不可用;当返回的标识符为“pptserver_authenticate”时,表示bes服务端设置了ssl安全协议,需要进入验证阶段。
[0093]
s2032:bes客户端将查询指令通过点对点传输协议发送至bes服务端。
[0094]
具体的,bes客户端将xml格式的查询指令通过ppt协议传送至bes服务端。
[0095]
s204:bes客户端对查询结果进行协议转换处理,得到处理结果;将处理结果发送至用户客户端。
[0096]
示例性的,bes客户端将bes服务端返回的数据转换为returntype对应的数据格式.nc,生成查询结果。接着,将查询结果返回给用户客户端。
[0097]
本技术通过dap和gateway这两个接口将opendap协议和hdfs存储结合在一起,这
memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器520可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器520中,并由处理器510来调用执行。
[0118]
输入/输出接口530用于连接输入/输出模块,以实现信息输入及输出。输入/输出模ss块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0119]
通信接口540用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0120]
总线550包括一通路,在设备的各个组件(例如处理器510、存储器520、输入/输出接口530和通信接口540)之间传输信息。
[0121]
需要说明的是,尽管上述设备仅示出了处理器510、存储器520、输入/输出接口530、通信接口540以及总线550,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0122]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0123]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0124]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献