首页 / 专利库 / 一般法律 / 服务水平协议 / 一种基于HTTP协议的电子资源服务可用性自动化监测方法

一种基于HTTP协议的电子资源服务可用性自动化监测方法

阅读:495发布:2020-05-17

专利汇可以提供一种基于HTTP协议的电子资源服务可用性自动化监测方法专利检索,专利查询,专利分析的服务。并且一种基于HTTP协议的 电子 资源服务可用性自动化监测方法,包含三个阶段:服务 访问 行为特征自动化采集;服务访问行为特征存储;服务访问行为模拟与判别。本 发明 可用于监测通过HTTP协议提供电子资源检索及下载服务的网络服务运行状态,应用包括高等院校及科研院所用于对所购买文献 数据库 服务进行的监测。本发明在无需人工分析电子资源服务网页代码,也无需获得电子资源 服务器 控制权限的情况下,完成针对基于HTTP协议的电子资源服务可用性的监测信息采集与监测实施。使用监测功能的用户完全不需要对检索页面代码进行任何人工分析即可自动完成对于检索Form表单所有信息及下载文件的真实网络地址的采集,具有极高的自动化 水 平。,下面是一种基于HTTP协议的电子资源服务可用性自动化监测方法专利的具体信息内容。

1.一种自动化监测基于HTTP协议的电子资源服务可用性的监测方法,包含三个阶段:
服务访问行为特征自动化采集;服务访问行为特征存储;服务访问行为模拟与判别;其特征在于以下步骤,
(1)第一个阶段:服务访问行为特征自动化采集;
使用网络设备底层驱动程序接口获得用户在通过浏览器访问电子资源服务的过程中所产生的所有网络数据报文;基于对所抓取网络报文的分析,根据用户的简单设置自动获取服务访问行为的特征信息,即在监测过程中需要生成的网络报文信息;通过分析用户向电子资源服务器发出的请求报文,自动分析在进行检索服务监测时需要的监测信息;
在自动分析请求报文时,首先判断请求报文是否为Ajax请求报文,在当前TCP数据包的负载不是Ajax请求报文的情况下,依据用户选定的检索字符串及HTTP请求方法的不同,分三大类情况对报文采用相应的分析方案:
a)TCP数据包的负载是HTTP报文,而HTTP报文采用的是GET请求方法且包含和检索字符串,;
b)TCP数据包的负载是HTTP报文,而HTTP报文采用的是POST请求方法,且POST请求整体仅使用一个TCP数据包,同时包含检索字符串;
c)TCP数据包的负载是HTTP报文,而HTTP报文采用的是POST请求方法,且POST请求整体使用多个TCP数据包,需要对多个数据包重组后,判别包含检索字符串;
对于在数据包内容分析判断过程中发现不属于以上三类情况的数据包均不处理,转而继续处理后续的数据包,直至获得所有所需的行为特征信息后终止所有的数据包抓取与分析工作;
通过响应报文分析,得到电子资源下载行为的特征信息,核心为自动找到用户在服务访问行为特征采集阶段所点击下载的电子资源的下载URL地址;在分析响应报文过程中,为获得下载文件地址,对于一个TCP响应报文分为四种情形进行分析:
a)对于HTTP响应报文,首先判断是否是仅使用一个TCP数据包;若满足则在适时使用GZIP压缩的情况下,通过正则表达式获取文件下载地址;在获得所有所需的行为特征信息后终止所有的数据包抓取与分析工作;
b)若HTTP响应报文使用了多个TCP数据包,并且使用了chunked编码方式,则在确认HTTP响应未使用GZIP压缩的情况下直接分析当前TCP数据包中内容,并在获得所有所需的行为特征信息后终止所有的数据包抓取与分析工作;
c)若HTTP响应报文使用了多个TCP数据包,并且使用了chunked编码方式,同时又使用GZIP方式对HTTP报文负载内容进行了压缩,则需要在汇集HTTP响应报文所包含的所有TCP数据包后通过GZIP解压缩获得HTTP报文中的负载内容;然后,再利用正则表达式获取HTTP负载中包含的文件下载URL地址;在获得所有所需的行为特征信息后终止所有的数据包抓取与分析工作;
d)若HTTP响应报文使用了多个TCP数据包,并且未使用chunked编码方式,则在汇集HTTP响应报文所包含的所有TCP数据包后,通过TCP数据包重组获得完整的HTTP响应报文;然后,根据报文是否经过GZIP压缩的判断结果,在必要情况下进行GZIP解压缩,最终得到HTTP报文的负载内容,并利用正则表达式获取HTTP负载中包含的文件下载URL地址;在获得所有所需的行为特征信息后终止所有的数据包抓取与分析工作;
(2)服务访问行为特征存储
对于电子资源检索服务而言,服务访问行为特征的核心是检索过程中所产生的包含检索字符串的HTTP报文的头部信息及可能存在的POST表单信息;对于电子资源下载服务而言,服务访问行为特征的核心是电子资源的下载地址;
在使用数据库或类似的具有结构化特点的数据存储方式中,需要存储的信息包含:针对检索访问行为的HTTP请求报文的报文头部中的所有键值对信息;针对检索访问行为的HTTP请求报文的报文负载中对应于POST表单的所有键值对信息;
(3)服务访问行为模拟与判别,分为5种类型监测:
a)监测服务器网络接口设备可用性监测,监测是否是由于监测服务器本身的网络接口设备存在故障造成电子资源服务无法访问;
b)监测服务器所在网络网关可用性监测,监测是否是由于监测服务器所在网络问题造成电子资源服务无法访问;
c)电子资源服务器选定网页的可用性;通过连接获取设定URL的对应网页,根据电子资源服务器的响应状态信息获取选定网页的可用性状态;
d)电子资源服务器检索服务可用性;使用存储的服务行为特征信息构造HTTP请求报文发送至电子资源服务器,通过分析响应报文的内容判别检索服务请求是否返回了正常的响应信息,从而判断检索服务可用性状态;
e)电子资源服务器文件下载服务可用性;通过连接获取设定URL的对应文件,根据电子资源服务器的响应状态信息获取选定网页的可用性状态。

说明书全文

一种基于HTTP协议的电子资源服务可用性自动化监测方

技术领域

[0001] 本发明涉及一种基于HTTP协议的电子资源服务可用性自动化监测方法,用于监测通过HTTP协议提供电子资源检索及下载服务的网络服务运行状态。

背景技术

[0002] 当前Web技术已经深入人类的日常生活,已经存在大量的通过HTTP协议对外提供电子资源检索及下载服务的网络服务,其中的典型代表就是各类文献数据库资源平台,如ACM,SCI-E,Springer Link等。出于教学研究的需求,很多高等院校及科研机构都会购买大量的文献数据库。然而,受网络环境不稳定性及网络服务可用性的影响,国内院校及科研机构对于文献数据库的访问时常会出现页面访问异常、搜索服务功能异常或资源下载服务功能异常等情况,直接损害了文献数据库购买者的消费权益。人工定期监测方法耗时耗,效率低。
[0003] 现有技术中,对于电子资源服务可用性的监测方案按对所监测服务器的控制权可分为两大类:
[0004] 第一类方案是在可控制与操作电子资源服务器及附属网络设备的情况下对网络服务进行的可用性监测,其实现方式通常是监测网络服务器的CPU、内存及硬盘等设备的使用情况以及交换机等网络基础服务设施的运行状态。此类方式仅适用于监测自建的电子资源服务,如院校及科研院所自身的图书馆OPAC系统等。
[0005] 第二类方案是从电子资源服务购买者度出发,在无法获得电子资源服务器控制权限的情况下进行电子资源服务可用性的监测。已有技术通过人工分析网页源代码方式获取对应检索条件的控件名称,然后通过定制网页Form表单中对应控件取值的方式提交检索请求,最后通过判断电子资源服务器能否按预想方式正确返回响应信息来实现监测。此种方式的不足之处在于需要通过人工读取网页源代码来获取相应控件的名称,而当前的各个电子资源服务网站的设计框架和控件命名规则往往并不一致,这就要求使用此种监测方案的用户应具有较高的专业平,自动化程度低,使用难度高,易用性差,难以普及应用。

发明内容

[0006] 本发明要解决的技术问题是如何从电子资源服务购买者角度出发,在无需人工分析电子资源服务网页代码,也无需获得电子资源服务器控制权限的情况下,以一种自动化程度高、易用性强的方式完成针对基于HTTP协议的电子资源服务可用性的监测信息采集与监测实施,所监测的电子资源服务类型包括通过HTTP协议提供的电子资源检索服务及电子资源下载服务。
[0007] 为了解决上述问题,本发明以网络协议分析方法为核心,分为三个阶段:服务访问行为特征自动化采集;服务访问行为特征存储;服务访问行为模拟与判别(即监测);具体如下:
[0008] 1)服务访问行为特征自动化采集,这是本发明的核心内容。
[0009] 如图2所示,本发明所采用的服务访问行为特征采集方案使用网络设备底层驱动程序接口获得用户在通过浏览器访问电子资源服务的过程中所产生的所有网络数据报文。基于对所抓取网络报文的分析,本方案根据用户的简单设置自动获取服务访问行为的特征信息,即在监测过程中需要生成的网络报文信息。
[0010] 用户使用本方案进行服务访问行为特征采集的操作过程如图3所示。
[0011] 用户首先设置选定的电子资源服务网站URL、选定的检索字符串及选定网站中下载文件所对应的链接显示字符(如文献数据库检索结果用于下载全文的超链接所对应的显示文字,如“Full Text”等),然后启动服务访问行为特征采集程序。在启动服务访问行为特征采集程序后,用户的后续网络操作均被行为特征采集程序记录。
[0012] 此时,用户只需按照常规的操作方式检索并下载电子资源即可:通过任意一款网页浏览器打开选定的电子资源服务网站,输入选定的检索字符串并确认检索,在网站所返回的检索页面中选定某一资源,通过点击下载资源的超链接文字执行下载操作。
[0013] 在用户完成检索及下载电子资源的操作后,通过服务访问行为特征采集程序的命令停止对用户网络操作的采集。此时服务访问行为特征采集程序即可生成对应于用户刚才所进行操作的服务访问行为特征。
[0014] 采用本发明的方案,在整个的监测信息采集过程中用户所进行的操作是任何具有最基本上网经验的人员都能完成的操作,完全不需要用户对检索页面代码进行任何人工分析即可自动完成对于检索Form表单所有信息及下载文件的真实网络地址的采集,保证了本方案具有极高的自动化水平,在保证方案具有通用性的前提下最大程度上降低了进行监测信息采集的技术难度,保证了方案具有最好的易用性。
[0015] 本方案持续不断地抓取网络报文直至在分析过程中获得相应特征信息(如检索行为特征或下载文件的URL地址等)后停止。在此过程中,仅对用户服务访问过程中产生的,数据长度大于0的TCP协议报文进行分析处理,并将报文中“源IP地址”为本机地址的报文作为请求报文,将报文中“目的IP地址”为本机地址的报文作为响应报文。对于每个需要分析的数据包,分别采用不同策略进行处理:
[0016] (1)请求报文处理
[0017] 通过请求报文分析,可以得到检索行为的特征信息。如图4所示,本方案首先判断请求报文是否为Ajax请求报文,在当前TCP数据包的负载不是Ajax请求报文的情况下,依据用户选定的检索字符串及HTTP请求方法的不同,分三大类情况对报文采用相应的分析方案:
[0018] a)TCP数据包的负载是HTTP报文,而HTTP报文采用的是GET请求方法且包含和检索字符串,。
[0019] b)TCP数据包的负载是HTTP报文,而HTTP报文采用的是POST请求方法,且POST请求整体仅使用一个TCP数据包,同时包含检索字符串。
[0020] c)TCP数据包的负载是HTTP报文,而HTTP报文采用的是POST请求方法,且POST请求整体使用多个TCP数据包,需要对多个数据包重组后,判别包含检索字符串。
[0021] 对于在数据包内容分析判断过程中发现不属于以上三类情况的数据包均不处理,转而继续处理后续的数据包,直至获得所有所需的行为特征信息后终止所有的数据包抓取与分析工作。
[0022] (2)响应报文处理
[0023] 通过响应报文分析,可以得到电子资源下载行为的特征信息,核心是找到用户在服务访问行为特征采集阶段所点击下载的电子资源的下载URL地址。需要注意的是,一次检索及下载过程会产生多个不同的HTTP响应消息,而一个响应消息的内容又有可能使用一个或多个TCP响应报文中。
[0024] 本发明需要对所有TCP数据包按照其与HTTP请求的应答对应关系进行汇集。需要注意的是,若多个TCP数据包同样对应同一HTTP请求,则在HTTP响应报文没有使用chunked编码方式时,需要将这些TCP数据包需要通过重组形成完整的HTTP响应报文后再进行分析。
[0025] 如图5所示,本方案对于一个TCP响应报文分为四种情形进行分析:
[0026] a)对于HTTP响应报文,首先判断是否是仅使用一个TCP数据包。若是,则根据报文是否经过GZIP压缩的判断结果,在必要情况下进行GZIP解压缩,最终得到HTTP报文的负载内容,并利用正则表达式获取HTTP负载中包含的文件下载URL地址(如果该地址在HTTP报文负载中确实存在的话)。在获得所有所需的行为特征信息后终止所有的数据包抓取与分析工作。
[0027] b)若HTTP响应报文使用了多个TCP数据包,并且使用了chunked编码方式,则在确认HTTP响应未使用GZIP压缩的情况下直接分析当前TCP数据包中内容,并在获得所有所需的行为特征信息后终止所有的数据包抓取与分析工作。
[0028] c)若HTTP响应报文使用了多个TCP数据包,并且使用了chunked编码方式,同时又使用GZIP方式对HTTP报文负载内容进行了压缩,则需要在汇集HTTP响应报文所包含的所有TCP数据包后通过GZIP解压缩获得HTTP报文中的负载内容。然后,再利用正则表达式获取HTTP负载中包含的文件下载URL地址(如果该地址在HTTP报文负载中确实存在的话)。在获得所有所需的行为特征信息后终止所有的数据包抓取与分析工作。
[0029] d)若HTTP响应报文使用了多个TCP数据包,并且未使用chunked编码方式,则在汇集HTTP响应报文所包含的所有TCP数据包后,通过TCP数据包重组获得完整的HTTP响应报文。然后,根据报文是否经过GZIP压缩的判断结果,在必要情况下进行GZIP解压缩,最终得到HTTP报文的负载内容,并利用正则表达式获取HTTP负载中包含的文件下载URL地址(如果该地址在HTTP报文负载中确实存在的话)。在获得所有所需的行为特征信息后终止所有的数据包抓取与分析工作。
[0030] 2)服务访问行为特征存储
[0031] 对于电子资源检索服务而言,服务访问行为特征的核心是检索过程中所产生的包含检索字符串的HTTP报文的头部信息及可能存在的POST表单信息。对于电子资源下载服务而言,服务访问行为特征的核心是电子资源的下载地址。
[0032] 因此,在使用数据库或类似的具有结构化特点的数据存储方式中,需要存储的信息包含:针对检索访问行为的HTTP请求报文的报文头部中的所有键值对信息(这其中包含了GET请求方式下的检索字符串相关信息);针对检索访问行为的HTTP请求报文的报文负载中对应于POST表单的所有键值对信息(如果存在的话);电子资源下载地址。
[0033] 3)服务访问行为模拟与判别(即监测)。如图6所示,分为5种类型的监测:
[0034] a)监测服务器网络接口设备可用性监测,监测是否是由于监测服务器本身的网络接口设备存在故障造成电子资源服务无法访问。
[0035] b)监测服务器所在网络网关可用性监测,监测是否是由于监测服务器所在网络问题造成电子资源服务无法访问。
[0036] c)电子资源服务器选定网页的可用性。通过连接获取设定URL的对应网页,根据电子资源服务器的响应状态信息获取选定网页的可用性状态。
[0037] d)电子资源服务器检索服务可用性。使用存储的服务行为特征信息构造HTTP请求报文发送至电子资源服务器,通过分析响应报文的内容判别检索服务请求是否返回了正常的响应信息,从而判断检索服务可用性状态。
[0038] e)电子资源服务器文件下载服务可用性。通过连接获取设定URL的对应文件,根据电子资源服务器的响应状态信息获取选定网页的可用性状态。
[0039] 本发明从电子资源服务购买者角度出发,在无需人工分析电子资源服务网页代码,也无需获得电子资源服务器控制权限的情况下,以一种自动化程度高、易用性强的方式完成针对基于HTTP协议的电子资源服务可用性的监测信息采集与监测实施。使用监测功能的用户完全不需要对检索页面代码进行任何人工分析即可自动完成对于检索Form表单所有信息及下载文件的真实网络地址的采集,具有极高的自动化水平,在保证方案具有通用性的前提下最大程度上降低了进行监测信息采集的技术难度,保证了方案具有最好的易用性及很好的推广应用前景。
[0040] 对电子资源服务器服务可用性监测所需设置信息的自动化采集。所自动采集的信息可用于监测电子资源检索服务及电子资源下载服务。自动化监测电子资源服务器监测网站页面的可用性、检索服务的可用性、下载服务的可用性。为防止误报,自动监测监测服务器本地网络环境的状态,包括监测服务器自身网络接口设备的状态及所处网络的网关可用性状态。扩展开发可提供对于可用性监测日志的分析功能。附图说明
[0041] 图1为本发明总体流程图
[0042] 图2为服务访问行为特征采集过程总体原理框图
[0043] 图3为服务访问行为特征采集操作流程图。
[0044] 图4为请求报文处理程序流程图。
[0045] 图5为响应报文处理程序流程图。
[0046] 图6为电子资源服务监测流程图。

具体实施方式

[0047] 以下结合技术方案和附图详细叙述本发明的具体实施方式。
[0048] 1)服务访问行为特征自动化采集
[0049] a)网络设备底层驱动程序接口
[0050] 采用Winpcap免费网络底层驱动程序及相应的开发库文件获取通过指定网络设备的网络报文数据包。在Java语言环境中,可使用Jpcap类库获得底层的网络报文数据包,可以获得TCP数据包所包含的源IP地址、目的IP地址、顺序号、确认号、紧急数据标志、确认号有效标志、传送强制功能标志、请求连接重设标志、顺序号确认标志、发送结束标志、窗口大小、紧急数据指针和数据等信息。
[0051] b)网络报文内容的解析
[0052] 传输HTTP协议数据内容的TCP数据包负载可以使用Java的标准类String转换为字符串,之后可以使用Java标准的正则表达式类Pattern进行解析,亦可直接使用String类的字符串函数进行分析。对于使用GZIP方法压缩的HTTP数据,可以使用Java工具类java.util.zip.GZIPInputStream进行解压缩后转换为字符串,然后再进行后续处理。
[0053] c)对于HTTP报文属性的判定。
[0054] 如果HTTP报文头部包含“Transfer-Encoding:chunked”,则表明HTTP报文使用chunked编码。如果HTTP报文头部包含“Content-Encoding:gzip”,则表明HTTP报文负载内容使用gzip进行压缩。如果HTTP报文头部包含“X-Requested-With”,则可认为当前HTTP请求为Ajax请求。
[0055] d)响应报文重组。
[0056] 对于由多个TCP数据包构成的响应报文,如果该报文没有采用chunked编码,则需要将所有TCP数据包临时存储,并在确认获得报文的所有数据包后(根据HTTP数据包头部信息中Content-length与已获的数据包中的数据长度的对比可知是否获得所有数据包),依据各个数据包中的序列号(sequence)将所有TCP数据包排序,然后依次将各TCP数据包中的内容拼接到同一个字节数组中,接着将字节数组转换为字符串(在报文经过GZIP压缩时需要必要的解压缩操作)。最后对得到的字符串进行针对HTTP协议的字符分析操作。
[0057] e)用给定HTTP请求头部信息和POST表单信息验证所抓取行为特征可用性。
[0058] 可 以 使 用 Apache类 库 中 的 org.apache.http.impl.client.HttpClients类 构 造 并 发 送 网 络 请 求,针 对 其 返 回 的 org.apache.http.client.methods.CloseableHttpResponse类对象,可以获得响应的内容,通过内容是否包含关键性信息(如Content-Type取值为text/xml)或响应状态码(如200)或响应状态信息(如“OK”或“ok”)可判断所抓取行为特征的可用性。
[0059] 2)服务访问行为特征存储
[0060] 报文头部及报文负载中表格信息的所有键值对信息可以通过使用Java标准字符串类String的字符串取子串函数、字符串分割函数、字符查找函数组合得到。在存储时亦可将整个头部信息及表格信息直接以整体字符串形式进行存储,将键值对信息提取工作放置在监测实施阶段的初始化过程中完成。
[0061] 所有行为特征信息及用户设置信息可以存储在JSON文件或数据库中,亦可使用JSON文件进行所有行为特征信息及用户设置信息的传输(比如在监测信息采集端将监测设置信息上传至监测服务器的场景中)。
[0062] 3)服务访问行为模拟与判别
[0063] a)监测服务器网络接口设备可用性监测方法
[0064] 调 用 java.net.InetAddress.isReachable(int timeout) 访 问 本 机 地 址“127.0.0.1”,通过查看响应是否超时判断监测服务器网络接口设备可用性。
[0065] b)监测服务器所在网络网关可用性监测方法
[0066] 通过程序ping监测服务器所使用的主DNS服务器,查看响应时间是否超时来判断监测服务器所在网络网关可用性。
[0067] c)电子资源服务器选定网页的可用性监测方法
[0068] 配合使用org.apache.http.client.methods.HttpGet类及org.apache.http.impl.client.CloseableHttpClient类的对象构造对选定网页的GET请求,通过网络响应所返回的org.apache.http.client.methods.CloseableHttpResponse中的信息查找响应报文中是否包含关键性响应状态码(如200)或响应状态信息(如“OK”或“ok”),以此判断选定网页的可用性。
[0069] d)电子资源服务器检索服务可用性监测方法
[0070] 根据先前所采集的监测信息,判别所监测电子资源服务器检索服务所使用的请求方式(GET请求或POST请求),然后依据先前所采集到的监测信息,配合使用org.apache.http.client.methods包中的HttpGet类、HttpPost类及org.apache.http.impl.client.CloseableHttpClient类的对象,生成相应的HTTP请求,通过网络响应所返回的org.apache.http.client.methods.CloseableHttpResponse中的信息查找响应报文中是否包含关键性响应状态码(如200)或响应状态信息(如“OK”或“ok”),以此判断检索服务的可用性。
[0071] e)电子资源服务器文件下载服务可用性监测方法
[0072] 依据先前采集的文件下载地址,配合使用
[0073] org.apache.http.client.methods.HttpGet 类 及 org.apache.http.impl.client.
[0074] CloseableHttpClient类的对象构造对选定文件的GET请求,通过网络响应所返回的org.apache.http.client.methods.CloseableHttpResponse中的信息查找响应报文中是否包含关键性响应状态码(如200)或响应状态信息(如“OK”或“ok”),以此判断下载服务的可用性。
[0075] 使用本方案可开发基于桌面应用程序的监测系统,亦可开发基于B/S模式的监测服务器系统及对应移动客户端。对于所属领域的技术人员而言,在上述说明的基础上还可以做出其他不同形式的变化或变动。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈