CN105045834B - 一种uri标识的csv片段的http检索方法 - Google Patents

一种uri标识的csv片段的http检索方法 Download PDF

Info

Publication number
CN105045834B
CN105045834B CN201510374311.9A CN201510374311A CN105045834B CN 105045834 B CN105045834 B CN 105045834B CN 201510374311 A CN201510374311 A CN 201510374311A CN 105045834 B CN105045834 B CN 105045834B
Authority
CN
China
Prior art keywords
csv
segment
row
range
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510374311.9A
Other languages
English (en)
Other versions
CN105045834A (zh
Inventor
许卓明
王骏华
张进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN201510374311.9A priority Critical patent/CN105045834B/zh
Publication of CN105045834A publication Critical patent/CN105045834A/zh
Application granted granted Critical
Publication of CN105045834B publication Critical patent/CN105045834B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开一种URI标识的CSV片段的HTTP检索方法,包括:客户端解析片段URI并获得主资源URI及CSV片段标识符;客户端将CSV片段的选择方式和范围发送给服务端;服务端根据CSV片段的选择方式和范围提取CSV片段;服务端将提取的CSV片段返回给客户端;客户端获取CSV片段并显示或保存。本发明公开的CSV片段的HTTP检索方法,一方面无需对当前HTTP/1.1协议进行扩充;另一方面,不仅支持RFC 7111国际规范《文本/CSV媒体类型URI片段标识符》,而且与客户端下载完整CSV文件后再提取片段的传统技术方案相比,可大大节省网络带宽、缩短通信延时。

Description

一种URI标识的CSV片段的HTTP检索方法
技术领域
本发明涉及互联网通信技术领域中的网络资源HTTP检索方法,尤其涉及一种URI标识的CSV片段的HTTP检索方法。
背景技术
科学领域和电子政务领域的开放数据运动(open data movements)使得万维网(World Wide Web或简称Web)上逗号分隔值(comma-separated values,CSV)格式的表列数据(tabular data)急剧增长,而且CSV文件往往具有巨大的尺寸(总字节数)。这就给需要处理或消费CSV文件中的一部分(a portion of)数据或称片段(fragment)的Web客户端应用带来了很大挑战,因为从服务端检索并下载完整CSV文件后再提取其中片段的传统技术方案需要很大的网络带宽和时间代价。
在Web上使用CSV文件的格式及其互联网媒体类型(Internet media type)由RFC4180规范(参见:Y.Shafranovich.Common Format and MIME Type for Comma-SeparatedValues(CSV)Files.IETF RFC 4180,October 2005.http://tools.ietf.org/html/rfc4180.)所定义。根据这个规范,一个CSV文件以纯文本形式(常用US-ASCII或UTF-8字符编码)来存储由行(row)和列(column)所组成的表列数据;这种表列数据由任意多条记录(record)(即行)所组成,每条记录用换行符(CRLF)来分隔。在每条记录中,有若干个用逗号分隔的字段(field);每条记录包含的字段数必须相等。另外,一个CSV文件还可以包含(即可选的)一个头行(header)作为该文件的第一行,头行中的字段用来给出该CSV文件中其他数据记录的字段名称。
统一资源标识符(Uniform Resource Identifier,URI)是一种用来标识Web资源(包括CSV文件)的简单且可扩展的标准手段。根据URI的RFC 3986规范(参见:T.Berners-Lee,R.Fielding,and L.Masinter.Uniform Resource Identifier(URI):GenericSyntax.IETF RFC3986,January 2005.http://tools.ietf.org/html/rfc3986.),一个URI可选地可包含一个片段标识符(fragment identifier),它以紧跟在主资源标识符(primary resource identifier)后面的“#”来标示,用来标识主资源中的某一个部分(即片段)。一个包含片段标识符的URI语法格式如下:
<协议名>://<主机>/<路径>#<片段标识符>
其中,“<协议名>://<主机>/<路径>”是主资源标识符。
最近发布的RFC 7111规范(参见:M.Hausenblas,E.Wilde,J.Tennison.URIFragment Identifiers for the text/csv Media Type.IETF RFC 7111,January2014.http://tools.ietf.org/html/rfc7111.)进一步定义了采用URI的CSV片段标识机制。根据RFC7111规范,CSV片段标识符可采用三种选择方式:行(row)、列(col)和单元格(cell)。例如,“http://example.org/data.csv#row=1;400-10000”这个URI采用了行选择方式,其标识了主资源(由“http://example.org/data.csv”所标识)中的一个CSV片段,该片段由主资源CSV文件(data.csv)中的第1行及第400-10000行所组成。
具体来说,CSV片段标识符中的行选择方式("row"selections scheme)用来选择主资源CSV文件中的一个特定记录(如“row=2”)或一个连续记录范围(如“row=4-10”)。列选择方式("col"selections scheme)用来选择主资源CSV文件中的一个特定列(如“col=4”)或一个连续列范围(如“col=6-10”)。单元格选择方式("cell"selections scheme)用来选择主资源CSV文件中的一个特定单元格(如“cell=1,3”表示第1行、第3列所在的单元格)或一个单元格范围(如“cell=5,7-10,100”表示从左上单元格“cell=5,7”到右下单元格“cell=10,100”的一个单元格范围)。除了单个的行、列和单元格选择,CSV片段标识符中还可以针对某种选择方式使用多选择(multi-selections),此时需要用“;”来间隔单个的行选择或列选择或单元格选择(如:“row=2;4-10”,“col=4;6-10”,“cell=1,3;5,7-10,100”)。
RFC 7111规范所定义的CSV片段标识机制使得数据发布者(Web服务器)可以用URI来标识一个(可能是具有巨大尺寸的)CSV文件中的一个片段,同时也使得数据消费者(Web客户端应用)有机会通过现有的HTTP协议(参见:R.Fielding,J.Reschke(Editors).Hypertext Transfer Protocol(HTTP/1.1):Message Syntax and Routing.IETFRFC7230,June 2014.https://tools.ietf.org/html/rfc7230.)来直接检索URI标识的CSV片段,然后对获取的CSV片段作进一步处理(如:可视化、数据集成等)。这样,就不需要下载完整的CSV文件,从而降低了网络带宽和时间代价。然而,为了实现以上目标,必须构造出能解析处理URI标识符的CSV片段的客户端(即扩充的HTTP客户端),以及能提取CSV片段后返回请求客户端的服务端(即扩充的HTTP Web服务器)。不幸的是,目前还没有这方面的相关方法或技术方案实现。
因此,为了填补当前技术现状的空白,本发明要解决的技术问题是针对用符合RFC7111规范的URI来标识的CSV片段,提供一种HTTP检索CSV片段的方法(包括:HTTP客户端和服务端的相关处理方法与流程,以及客户端与服务端之间的交互方法)。本发明的方法与客户端下载完整CSV文件后再提取片段的传统技术方案相比,可大大节省网络带宽、缩短通信延时。同时,本发明的方法也无需对当前的HTTP/1.1协议进行扩充改造。
发明内容
本发明的目的旨在针对用符合RFC 7111国际规范《文本/CSV媒体类型URI片段标识符》的URI来标识的CSV片段,提供一种CSV片段的HTTP检索方法(包括:HTTP客户端和服务端的相关处理方法与流程,以及客户端与服务端之间的交互方法)。一方面,本方法无需扩充当前的HTTP/1.1协议;另一方面,本方法由客户端解析CSV片段的URI并把主资源标识符与片段选择参数发送给服务端,再由服务端从主资源中提取相应的CSV片段后返回给客户端,这种方法与客户端下载完整CSV文件后再提取片段的传统技术方案相比,大大节省了网络带宽、缩短了通信延时。
为了解决上述技术问题,本发明公开一种URI标识的CSV片段的HTTP检索方法,包括:步骤S1,客户端解析片段URI并获得主资源URI及CSV片段标识符;步骤S2,客户端将CSV片段的选择方式和范围发送给服务端;步骤S3,服务端根据CSV片段的选择方式和范围提取CSV片段;步骤S4,服务端将提取的CSV片段返回给客户端;步骤S5,客户端获取CSV片段并显示或保存。
所述步骤S1进一步包括:步骤S1-1,以片段URI中的“#”为分割点获取主资源URI和CSV片段标识符;步骤S1-2,判断主资源URI是否符合RFC-3986语法,若否,则报错并终止;步骤S1-3,判断CSV片段标识符是否符合RFC-7111语法,若否,则报错并终止;步骤S1-4,以CSV片段标识符中的“=”为分割点获取CSV片段的选择方式和范围。
所述步骤S3进一步包括:
服务端从客户端HTTP POST请求的消息体中读取CSV片段的选择方式(scheme)和范围(range)的参数值;若为“行(row)”选择方式,则调用行提取算法获取CSV片段;若为“列(col)”选择方式,则调用列提取算法获取CSV片段;若为“单元格(cell)”选择方式,则调用单元格提取算法获取CSV片段。
所述行提取算法的处理步骤如下:
(1)初始化变量fragment为空;
(2)以CSV片段的范围中的“;”为分割点获取若干个行选择范围,并获取每个行选择范围的起始行和结束行参数;
(3)依次针对每个行选择范围执行如下操作:从第一行开始逐行读取CSV文件直至读取到行选择范围的起始行;从该起始行开始逐行读取CSV文件的数据,将其添加到变量fragment中,直到读取完行选择范围的结束行为止;
(4)变量fragment中存储了结果CSV片段。
所述列提取算法的处理步骤如下:
(1)初始化变量fragment为空;
(2)以CSV片段的范围中的“;”为分割点获取若干个列选择范围,并获取每个列选择范围的起始列和结束列参数;
(3)从第一行开始逐行读取CSV文件中的数据,从中依次截取各个列选择范围的起始列和结束列之间的数据,将其添加到变量fragment中,直到读取完CSV文件为止;
(4)变量fragment中存储了结果CSV片段。
所述单元格提取算法的处理步骤如下:
(1)初始化变量fragment为空;
(2)以CSV片段的范围中的“;”为分割点获取若干个单元格选择范围,并获取每个单元格选择范围的起始单元格<行,列>和结束单元格<行,列>参数;
(3)依次针对每个单元格选择范围执行如下操作:从第一行开始逐行读取CSV文件直到读取到起始单元格的行;从起始单元格的行开始截取起始单元格的列和结束单元格的列之间的数据,将其添加到变量fragment中,依次逐行读取CSV文件并针对当前行以同样方式截取数据、添加到变量fragment中,直到读取并处理完结束单元格的行为止;
(4)变量fragment中存储了结果CSV片段。
本发明的技术方案是由客户端与服务端通过传统的HTTP协议(即HTTP/1.1)进行交互实现的,因此无需扩充当前的HTTP协议。本技术方案由客户端解析CSV片段的URI并把主资源标识符与片段选择参数发送给服务端,再由服务端从主资源中提取相应的CSV片段后返回给客户端,这种方法与客户端下载完整CSV文件后再提取片段的传统技术方案相比,大大节省了网络带宽、缩短了通信延时。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1示出了根据本发明技术方案的一种URI标识的CSV片段的HTTP检索方法的流程示意图;
图2示出了根据本发明技术方案的客户端解析片段URI并获得主资源URI及CSV片段标识符的流程示意图。
具体实施方式
下面详细描述本发明的具体实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的概念、对象、要素等或具有相同或类似功能的概念、对象、要素等。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为了解决上述技术问题,本发明是通过以下技术方案实现的:
如图1所示,URI标识的CSV片段的HTTP检索方法,包括如下步骤:
步骤S1,客户端解析片段URI并获得主资源URI及CSV片段标识符,如图2,具体包括:
步骤S1-1,以片段URI中的“#”为分割点获取主资源URI和CSV片段标识符;
步骤S1-2,判断主资源URI是否符合RFC-3986语法,若否,则报错并终止;
步骤S1-3,判断CSV片段标识符是否符合RFC-7111语法,若否,则报错并终止;
步骤S1-4,以CSV片段标识符中的“=”为分割点获取CSV片段的选择方式和范围。
步骤S2,客户端将CSV片段的选择方式和范围发送给服务端,具体如下:
客户端将如下HTTP POST请求发送给服务端:
POST<绝对路径>HTTP/1.1
Accept:*/*
User-Agent:<客户端的版本>
Host:<主机>
Connection:keep-alive
Content-Type:application/x-www-form-urlencoded
Content-Length:<消息体的长度>
scheme=<CSV片段的选择方式>&range=<CSV片段的范围>(注:此行是消息体)
步骤S3,服务端根据CSV片段的选择方式和范围提取CSV片段,具体如下:
服务端从客户端HTTP POST请求的消息体中读取CSV片段的选择方式(scheme)和范围(range)的参数值;若为“行(row)”选择方式,则调用行提取算法获取CSV片段;若为“列(col)”选择方式,则调用列提取算法获取CSV片段;若为“单元格(cell)”选择方式,则调用单元格提取算法获取CSV片段。
所述行提取算法的处理步骤如下:
(1)初始化变量fragment为空;
(2)以CSV片段的范围中的“;”为分割点获取若干个行选择范围,并获取每个行选择范围的起始行和结束行参数;
(3)依次针对每个行选择范围执行如下操作:从第一行开始逐行读取CSV文件直至读取到行选择范围的起始行;从该起始行开始逐行读取CSV文件的数据,将其添加到变量fragment中,直到读取完行选择范围的结束行为止;
(4)变量fragment中存储了结果CSV片段。
所述列提取算法的处理步骤如下:
(1)初始化变量fragment为空;
(2)以CSV片段的范围中的“;”为分割点获取若干个列选择范围,并获取每个列选择范围的起始列和结束列参数;
(3)从第一行开始逐行读取CSV文件中的数据,从中依次截取各个列选择范围的起始列和结束列之间的数据,将其添加到变量fragment中,直到读取完CSV文件为止;
(4)变量fragment中存储了结果CSV片段。
所述单元格提取算法的处理步骤如下:
(1)初始化变量fragment为空。
(2)以CSV片段的范围中的“;”为分割点获取若干个单元格选择范围,并获取每个单元格选择范围的起始单元格<行,列>和结束单元格<行,列>参数。
(3)依次针对每个单元格选择范围执行如下操作:从第一行开始逐行读取CSV文件直到读取到起始单元格的行;从起始单元格的行开始截取起始单元格的列和结束单元格的列之间的数据,将其添加到变量fragment中,依次逐行读取CSV文件并针对当前行以同样方式截取数据、添加到变量fragment中,直到读取并处理完结束单元格的行为止。
(4)变量fragment中存储了结果CSV片段。
步骤S4,服务端将提取的CSV片段返回给客户端,具体如下:
服务端以如下HTTP 200OK响应返回给客户端:
HTTP/1.1200OK
Date:<响应的发送时间>
Content-Length:<CSV片段的长度>
Server:<源服务器版本>
{CSV片段数据}
步骤S5,客户端获取CSV片段并显示或保存,具体如下:
从服务端返回的HTTP 200OK响应的消息体中读取CSV片段数据,并将其进行屏幕显示或保存为文件。
下面以一个具体CSV片段URI为例,来进一步说明本发明技术方案的具体实施方式。
给定一个文本/CSV媒体类型的CSV数据文件Consumer_Complaints.csv,该数据文件是从美国消费者金融保护局官方网站(http://www.consumerfinance.gov/complaintdatabase/)下载的,它的总字节数为58.3MB,包含373378行×14列。将该CSV数据文件作为主资源(其URI为http://dbws.hhu.edu.cn/csv/data/Consumer_Complaints.csv)存储于经扩充的Apache Tomcat Web服务器。设该CSV数据文件的一个CSV片段URI为http://dbws.hhu.edu.cn/csv/data/Consumer_Complaints.csv#row=1-30000,该CSV片段的选择方式是“行”,范围是“1-30000”。
如图1所示,URI标识的CSV片段的HTTP检索方法,包括如下步骤:
步骤S1,客户端解析片段URI并获得主资源URI及CSV片段标识符,如图2,具体包括:
步骤S1-1,以片段URI中的“#”为分割点获取主资源URI和CSV片段标识符。
主资源URI为:http://dbws.hhu.edu.cn/csv/data/Consumer_Complaints.csv
CSV片段标识符为:row=1-30000。
步骤S1-2,判断主资源URI是否符合RFC-3986语法,若否,则报错并终止。
判断结果为:主资源URI符合RFC-3986语法。
步骤S1-3,判断CSV片段标识符是否符合RFC-7111语法,若否,则报错并终止。
判断结果为:CSV片段标识符符合RFC-7111语法。
步骤S1-4,以CSV片段标识符中的“=”为分割点获取CSV片段的选择方式和范围。
CSV片段的选择方式为:行(row)
CSV片段的范围为:1-30000
步骤S2,客户端将CSV片段的选择方式和范围发送给服务端,具体如下:
客户端将如下HTTP POST请求发送给服务端:
POST/csv/data/Consumer_Complaints.csv HTTP/1.1
Accept:*/*
User-Agent:Java/1.7.0_67
Host:dbws.hhu.edu.cn
Connection:keep-alive
Content-Type:application/x-www-form-urlencoded
Content-Length:24
scheme=row&range=1-30000
步骤S3,服务端根据CSV片段的选择方式和范围提取CSV片段,具体如下:
服务端从客户端HTTP POST请求的消息体中读取CSV片段的选择方式(scheme)和范围(range)的参数值,得到CSV片段的选择方式和范围分别为“row”和“1-30000”。于是,调用行提取算法获取CSV片段。
所述行提取算法的处理步骤如下:
(1)初始化变量fragment为空。
(2)以CSV片段的范围中的“;”为分割点获取1个行选择范围“1-30000”,并获取该行选择范围的起始行号“1”和结束行号“30000”。
(3)针对行选择范围“1-30000”执行如下操作:逐行读取CSV文件直至读取到第1行(起始行);从第1行开始逐行读取CSV文件的数据,并将其添加到fragment中,直到读取完第30000行(结束行)为止。
(4)变量fragment中存储了结果CSV片段。
步骤S4,服务端将提取的CSV片段返回给客户端,具体如下:
服务端以如下HTTP 200OK响应返回给客户端:
HTTP/1.1 200OK
Date:Thu,9Apr 2015 07:02:26GMT
Content-Length:4969767
Server:Apache-Coyote/1.1
{CSV片段数据}
步骤S5,客户端获取CSV片段并显示或保存,具体如下:
从服务端返回的HTTP 200OK响应的消息体中读取CSV片段数据,并将其进行屏幕显示。
我们已用Java SE 7.0实现了本发明的以上技术方案,并已在以下特定的网络环境下运行了以上具体实施方式,目的是表明本发明技术方案与传统技术方案(即下载完整CSV文件)相比,节省网络带宽和缩短通信延时的实际效果。我们的具体网络环境配置如下:
服务端:计算机型号:DELL PowerEdge R710;主要硬件配置:Intel(R)Xeon(R)CPUE5640,2.66GHz,12M Cache;Memory 16GB(8×2GB),1066MHz;操作系统:Windows Server2008R2Enterprise 64-bit,Service Pack 1;HTTP Web服务器:Apache Tomcat/7.0.55。
客户端:主要硬件配置:Intel(R)Core(TM)i5-2430M,2.4GHz;Memory 4GB;操作系统:Windows 7Ultimate edition 64-bit。
网络配置:协议为HTTP/1.1;带宽约10Mbps;下载速度约1.24MB/s。
在以上网络环境下,客户端完成检索以上具体实施例中CSV片段的网络带宽代价为4.7MB,是下载完整主资源文件的总带宽代价58.3MB的约8%;客户端检索时间片段的耗时为2.58秒,是下载完整CSV文件的耗时47.08秒的约5%。这些表明,本发明的技术方案比下载完整CSV文件的传统技术方案大大节省了网络带宽,缩短了通信延时,而且,本发明的技术方案无需扩充当前的HTTP协议。
本技术领域技术人员可以理解,本发明中所述的“客户端”与“服务端”是指HTTP/1.1协议(或未来的升级版)的国际标准中所述的“客户端”与“服务端”。根据HTTP/1.1协议,“客户端”是指为发送请求(requests)的目的而与服务端建立连接(connections)的计算机程序,无论该计算机程序以何种方式运行于何种类型的客户端设备;“服务端”是指为响应(respond)客户端请求(requests)的目的而接受连接(connections)或由第三方代理其接受连接的计算机程序,无论该计算机程序以何种方式运行于何种类型的服务端设备。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (2)

1.一种URI标识的CSV片段的HTTP检索方法,其特征在于,包括:
步骤S1,客户端解析片段URI并获得主资源URI及CSV片段标识符;
步骤S2,客户端将CSV片段的选择方式和范围发送给服务端;
步骤S3,服务端根据CSV片段的选择方式和范围提取CSV片段,具体包括:
服务端从客户端HTTP POST请求的消息体中读取CSV片段的选择方式和范围的参数值;
若为“行”选择方式,则调用行提取算法获取CSV片段,所述行提取算法的处理步骤如下:
(1)初始化变量fragment为空;
(2)以CSV片段的范围中的“;”为分割点获取若干个行选择范围,并获取每个行选择范围的起始行和结束行参数;
(3)依次针对每个行选择范围执行如下操作:
从第一行开始逐行读取CSV文件直至读取到行选择范围的起始行;
从该起始行开始逐行读取CSV文件的数据,将其添加到变量fragment中,直到读取完行选择范围的结束行为止;
(4)变量fragment中存储了结果CSV片段;
若为“列”选择方式,则调用列提取算法获取CSV片段,所述列提取算法的处理步骤如下:
(1)初始化变量fragment为空;
(2)以CSV片段的范围中的“;”为分割点获取若干个列选择范围,并获取每个列选择范围的起始列和结束列参数;
(3)从第一行开始逐行读取CSV文件中的数据,从中依次截取各个列选择范围的起始列和结束列之间的数据,将其添加到变量fragment中,直到读取完CSV文件为止;
(4)变量fragment中存储了结果CSV片段;
若为“单元格”选择方式,则调用单元格提取算法获取CSV片段,所述单元格提取算法的处理步骤如下:
(1)初始化变量fragment为空;
(2)以CSV片段的范围中的“;”为分割点获取若干个单元格选择范围,并获取每个单元格选择范围的起始单元格<行,列>和结束单元格<行,列>参数;
(3)依次针对每个单元格选择范围执行如下操作:
从第一行开始逐行读取CSV文件直到读取到起始单元格的行;
从起始单元格的行开始截取起始单元格的列和结束单元格的列之间的数据,将其添加到变量fragment中,依次逐行读取CSV文件并针对当前行以同样方式截取数据、添加到变量fragment中,直到读取并处理完结束单元格的行为止;
(4)变量fragment中存储了结果CSV片段;
步骤S4,服务端将提取的CSV片段返回给客户端;
步骤S5,客户端获取CSV片段并显示或保存。
2.如权利要求1所述的方法,其特征在于,所述步骤S1进一步包括:
步骤S1-1,以片段URI中的“#”为分割点获取主资源URI和CSV片段标识符;
步骤S1-2,判断主资源URI是否符合RFC-3986语法,若否,则报错并终止;
步骤S1-3,判断CSV片段标识符是否符合RFC-7111语法,若否,则报错并终止;
步骤S1-4,以CSV片段标识符中的“=”为分割点获取CSV片段的选择方式和范围。
CN201510374311.9A 2015-06-26 2015-06-26 一种uri标识的csv片段的http检索方法 Active CN105045834B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510374311.9A CN105045834B (zh) 2015-06-26 2015-06-26 一种uri标识的csv片段的http检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510374311.9A CN105045834B (zh) 2015-06-26 2015-06-26 一种uri标识的csv片段的http检索方法

Publications (2)

Publication Number Publication Date
CN105045834A CN105045834A (zh) 2015-11-11
CN105045834B true CN105045834B (zh) 2019-09-10

Family

ID=54452381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510374311.9A Active CN105045834B (zh) 2015-06-26 2015-06-26 一种uri标识的csv片段的http检索方法

Country Status (1)

Country Link
CN (1) CN105045834B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081670A (zh) * 2011-01-20 2011-06-01 张金海 数据过滤方法和数据过滤装置
CN103747065A (zh) * 2013-12-27 2014-04-23 河海大学 客户端http检索全索引容器格式媒体资源时间片段的方法
CN104580389A (zh) * 2014-12-18 2015-04-29 河海大学 URI标识的Ogg格式时间片段的客户端HTTP检索方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2841079B1 (fr) * 2002-06-14 2005-02-25 Canal Plus Technologies Procede de diffusion d'application html
CN102055773B (zh) * 2009-11-09 2013-10-09 华为技术有限公司 实现基于http的流媒体业务的方法、系统和网络设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081670A (zh) * 2011-01-20 2011-06-01 张金海 数据过滤方法和数据过滤装置
CN103747065A (zh) * 2013-12-27 2014-04-23 河海大学 客户端http检索全索引容器格式媒体资源时间片段的方法
CN104580389A (zh) * 2014-12-18 2015-04-29 河海大学 URI标识的Ogg格式时间片段的客户端HTTP检索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
URI Fragment Identifiers for the text/csv Media Type;Hausenblas,et al.;《Ground-based and Airbome Instrumentation for AstronomyⅢ》;20140131;第7735卷(第1期);正文第1,3-10页

Also Published As

Publication number Publication date
CN105045834A (zh) 2015-11-11

Similar Documents

Publication Publication Date Title
FI113129B (fi) Sovellusdatan synkronointi tietoliikennejärjestelmässä
US20020161928A1 (en) Smart agent for providing network content to wireless devices
CN106469044B (zh) 实现页面跳转的方法和装置
US20010044849A1 (en) System for providing network content to wireless devices
CN102487403B (zh) 由服务器端执行js的方法和装置
CN105095280A (zh) 一种浏览器缓存方法和装置
CN110808868B (zh) 测试数据获取方法、装置、计算机设备及存储介质
CN110798445B (zh) 公共网关接口测试方法、装置、计算机设备及存储介质
CN104023046B (zh) 移动终端识别方法和装置
JP2013543189A (ja) Smsを用いて遠隔デバイスを制御する方法及びそのための装置
CN106446113A (zh) 移动大数据解析方法及装置
KR20190058141A (ko) 문서로부터 추출되는 데이터를 생성하는 방법 및 그 장치
CN108076017A (zh) 一种数据包的协议解析方法及装置
CN101916283B (zh) 由动态网页上获取链接信息的方法及其服务器
CN108667768A (zh) 一种网络应用指纹的识别方法及装置
CN108664546A (zh) Xml数据结构转换方法和装置
CN102681996B (zh) 预读方法和装置
CN112910741B (zh) 接口测试方法、装置、计算机设备及存储介质
CN105045834B (zh) 一种uri标识的csv片段的http检索方法
US10404685B2 (en) User security authentication system in internet and method thereof
WO2016058401A1 (zh) 一种超文本传输协议数据还原方法及装置
CN103577578B (zh) 一种标记文件解析方法和装置
CN111797297B (zh) 页面数据处理方法、装置、计算机设备及存储介质
WO2017067373A1 (zh) 数据推送方法及装置
US20120254728A1 (en) Content acquiring method and client terminal

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant