《一种物联网动态页面实时信息采集方法.pdf》由会员分享,可在线阅读,更多相关《一种物联网动态页面实时信息采集方法.pdf(12页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103092936 A(43)申请公布日 2013.05.08CN103092936A*CN103092936A*(21)申请号 201310005966.X(22)申请日 2013.01.08G06F 17/30(2006.01)(71)申请人华北电力大学(保定)地址 071003 河北省保定市永华北大街619号(72)发明人孔英会 沈丹凤(74)专利代理机构石家庄冀科专利商标事务所有限公司 13108代理人李羡民 高锡明(54) 发明名称一种物联网动态页面实时信息采集方法(57) 摘要一种物联网动态页面实时信息采集方法,所述方法分为四个部分,涉及四个模块,这四个模。
2、块分别是加载页面模块、获取页面HTML模块、解析所得HTML模块和数据存储模块,加载页面模块通过网络链接地址加载外部页面,并将加载的动态页面传递给获取HTML模块,由获取HTML模块获取该页面的HTML文档,同时将所获得的HTML文档传递给解析HTML模块,解析HTML模块通过定位技术从得到的HTML文档中解析出所需要的文本内容,并将这些文本内容传给数据存储模块进行存储。本发明实现了物联网实体动态信息的实时获取及存储,而且不需要连接服务器上的数据库,具有良好的可扩展性,能满足物联网海量数据量的处理要求。(51)Int.Cl.权利要求书1页 说明书7页 附图3页(19)中华人民共和国国家知识产权。
3、局(12)发明专利申请权利要求书1页 说明书7页 附图3页(10)申请公布号 CN 103092936 ACN 103092936 A1/1页21.一种物联网动态页面实时信息采集方法,其特征是,所述方法分为四个部分,涉及四个模块,这四个模块分别是加载页面模块、获取页面HTML模块、解析所得HTML模块和数据存储模块;其中,加载页面模块通过网络链接地址加载外部页面,并将加载的动态页面传递给获取HTML模块,由获取HTML模块获取该页面的HTML文档,同时将所获得的HTML文档传递给解析HTML模块,解析HTML模块通过定位技术从得到的HTML文档中解析出所需要的文本内容,并将这些文本内容传给数据。
4、存储模块进行存储。2.根据权利要求1所述的一种物联网动态页面实时信息采集方法,其特征是,所述方法具体按以下步骤进行:1)首先通过“Watir:Browser.new”创建一个浏览器实例,从而来模拟浏览器的操作,通过“goto(http:/10.14.11.100/sh/index.jsp)”方法加载到物联网智能家居动态页面;2)在Watir模拟浏览器的过程中,通过“onclick”方法模拟点击操作,对步骤1)中加载的页面实现翻页功能,通过“li(:id, mainlevel_02).links0.click”方法实现模拟点击翻页操作;3)通过IFrame框架的src属性使Watir定位到“js。
5、p/wsd.jsp”,即用方法“.frame(:src, jsp/wsd.jsp)”实现定位,其中“jsp/wsd.jsp”即为步骤2)中翻页后动态显示实时跳变数据的JS模块;4)利用Watir的等待机制以及Ruby的休眠机制来控制等待加载动态页面的时间,即通过“.wait”方法和“sleep()”方法实现等待;5)Watir通过“.frame.html”方法获取步骤3)中框架下的HTML文档;6)Nokogiri通过“Nokogiri:HTML.parse”方法爬取步骤5)获得的HTML文档,并进行解析;7)Nokogiri通过“.css(div.shiduqu div.shidu).tex。
6、t”方法对步骤6)中爬取的HTML文档实现CSS Selector定位功能,返回文本内容;8)利用Ruby中的File类创建文档,用来存储步骤7)中返回的文本数据,通过“File.new(“#i.txt“,“w“)”方法实现创建txt文档,并将内容写入文档中, 其中“#i”即为文档名,通过变量i来控制;9)判断是否执行循环条件,从而实现循环存储的功能,即每循环一次就创建一个新的文档。权 利 要 求 书CN 103092936 A1/7页3一种物联网动态页面实时信息采集方法技术领域0001 本发明涉及一种基于Watir的可实时获取物联网实体信息的方法,属于数据处理技术领域。背景技术0002 物联。
7、网(Internet Of Things)泛指“物物相连的互联网”。它的核心和基础是互联网,是在互联网基础上延伸和扩展的网络,其用户端延伸和扩展到了任何物品与物品之间。物联网把任何物品与互联网相连接,进行信息交换和通信。随着嵌入式传感器在各领域的广泛应用,物联网技术已经逐渐融入到人们的生活中。物联网的应用非常广泛,遍及智能交通、环境保护、仓储物流、公共安全、工业检测、平安家居等,几乎涉及到生活中的任何一个领域。物联网包含了海量的实体,这些实体每时每刻都会有新的状态,例如,通过传感器感知室内各种状况,温度,湿度还有光照程度等,感知道路的实时拥堵信息等。要实现对物联网的智能控制以及扩展对物联网的应。
8、用,就必须对这些海量实体的实时信息进行搜索分析,从这些海量实体返回的实时状态数据中搜寻得到有用的信息。例如,通过传感器感知的室内状况,搜索出特定温度的房间;通过道路的实时拥堵信息查找到不拥挤的道路;通过包裹传来的信息搜索受损的包裹等等。而获取物联网实体实时信息是这一切的前提条件。物联网实体信息通过网页实时发布,如何通过现有的互联网在动态网页上采集到这些实时跳变的数据成为了物联网研究领域的重要课题之一。0003 根据网页中是否含有浏览器执行脚本,将网页分为静态网页和动态网页。静态网页的主体内容及其内部包含的超链接网络地址分别以文本信息和统一资源标识符(URL)的方式直接嵌入网页源文件的标记中。而。
9、动态网页中除了包含少量静态URL外,还含有大量必须通过浏览器执行脚本才能得到的超链接网络地址和网页主体内容。物联网实体实时信息发布就是通过动态页面实现,物联网实验平台将传感器感知到的信息使用Push方式推送到服务器端,通过JavaScript脚本动态加载到网页中,从而使页面数据实时更新,房间内的温度,湿度,光照一有变化,马上就能反映到页面上。0004 对于静态网页,可以使用传统的网络爬虫抓取页面,通过HTML标记识别的方法,实现页面主体内容与其所含超链接网络地址的提取功能。但对于动态网页,传统的网络爬虫无法获取页面内容,更不能用传统的HTML标记方法提取到页面中实时跳变的数据。动态页面内容的获。
10、取方法有多种,但均不能实时获取页面跳变的数据。文献“金晓鸥,钟宝燕,李翔所著的基于Rhino的JavaScript动态页面解析研究与实现J计算机技术与发展,2008,18(02):01-04,50.”中所述的方法脚本解释引擎Rhino无法识别JavaScript脚本片段中包含的HTML DOM(文件对象模型,是W3C组织推荐的处理可扩展置标语言的标准编程接口),在把动态网页脚本片段传递给Rhino前,需要先对脚本片段中的HTML DOM实现本地创建,给出每个HTML DOM的方法和属性描述。所述方法用时长且对于大量JavaScript加载网页来说非常繁琐。文献“万久士,李翔,林祥所著的基于JS。
11、Sh的动态网页获取研究与实现J信息安全与通信保密2010(04):93-95”中的基于JSSh(Javascript Shell 说 明 书CN 103092936 A2/7页4Server)的方案一次HTTP请求仅获取一次DOM信息,请求等待回应耗时长,无法满足实时动态的要求。0005 综上所述,对于物联网实时动态页面数据的获取,在应对页面数据的动态性的同时要保证获取数据的实时性,以及所得到的数据对后续搜索分析工作的可扩展性。但是目前的网络爬虫或者页面采集工具无法实现动态数据的实时抓取,同时所得到的数据格式单一,可扩展性差。发明内容0006 本发明的目的在于针对现有技术之弊端,提供一种物联网。
12、动态页面实时信息采集方法,以实现物联网动态页面信息的实时抓取。0007 本发明所述问题是以下述技术方案实现的: 一种物联网动态页面实时信息采集方法,所述方法分为四个部分,涉及四个模块,这四个模块分别是加载页面模块、获取页面HTML模块、解析所得HTML模块和数据存储模块;其中,加载页面模块通过网络链接地址加载外部页面,并将加载的动态页面传递给获取HTML模块,由获取HTML模块获取该页面的HTML文档,同时将所获得的HTML文档传递给解析HTML模块,解析HTML模块通过定位技术从得到的HTML文档中解析出所需要的文本内容,并将这些文本内容传给数据存储模块进行存储。0008 上述物联网动态页面。
13、实时信息采集方法,所述方法具体按以下步骤进行:1)首先通过“Watir:Browser.new”创建一个浏览器实例,从而来模拟浏览器的操作,通过“goto(http:/10.14.11.100/sh/index.jsp)”方法加载到物联网智能家居动态页面;2)在Watir模拟浏览器的过程中,通过“onclick”方法模拟点击操作,对步骤1)中加载的页面实现翻页功能,通过“li(:id, mainlevel_02).links0.click”方法实现模拟点击翻页操作;3)通过IFrame框架的src属性使Watir定位到“jsp/wsd.jsp”,即用方法“.frame(:src, jsp/ws。
14、d.jsp)”实现定位,其中“jsp/wsd.jsp”即为步骤2)中翻页后动态显示实时跳变数据的JavaScript模块;4)利用Watir的等待机制以及Ruby的休眠机制来控制等待加载动态页面的时间,即通过“.wait”方法和“sleep()”方法实现等待;5)Watir通过“.frame.html”方法获取步骤3)中框架下的HTML文档;6)Nokogiri通过“Nokogiri:HTML.parse”方法爬取步骤5)获得的HTML文档,并进行解析;7)Nokogiri通过“.css(div.shiduqu div.shidu).text”方法对步骤6)中爬取的HTML文档实现CSS Se。
15、lector定位功能,返回文本内容;8)利用Ruby中的File类创建文档,用来存储步骤7)中返回的文本数据,通过“File.new(“#i.txt“,“w“)”方法实现创建txt文档,并将内容写入文档中, 其中“#i”即为文档名,通过变量i来控制;9)判断是否执行循环条件,从而实现循环存储的功能,即每循环一次就创建一个新的文档。说 明 书CN 103092936 A3/7页50009 本发明实现了物联网实体动态信息的实时获取及存储,而且不需要连接服务器上的数据库,具有良好的可扩展性,能满足物联网海量数据量的处理要求。附图说明0010 下面结合附图对本发明作进一步说明。0011 图1是物联网实。
16、时数据获取模块框架图;图2是物联网动态页面五大模块的HTML片段;图3是IFrame下的HTML文档片段;图4是本发明的流程图。具体实施方式0012 本发明中需要用到Web自动化测试框架Watir,Ruby解析XML、HTML库Nokogiri,CSS Selector等技术,这些技术分别描述如下:1)自动化测试工具WatirWatir全称为“Web Application Testing in Ruby”,是一个使用 Ruby 实现的开源Web 自动化测试框架,相对于那些庞大的商业工具来说,它小巧,灵活,提供了很多功能。Watir可以模拟对IE进行各种操作,如:点击链接、填写表单、点击按钮及。
17、页面校验。Watir可扩展使用Ruby的所有类库。文中采用Watir加载物联网动态页面,所需页面元素定位等操作。0013 2)HTML/XML的Ruby库Nokogiri关于Ruby解析XML,HTML的插件有很多,其中最出名的有Hpricot和Nokogiri。Nokogiri的速度比目前应用广泛的Hpricot要快许多。经过Benchmark测试表明,Nokogiri在加载XML文档的速度是Hpricot的7倍,在XPath(XML路径语言)搜索的速度是Hpricot的5倍,而在CSS选择器的搜索上面是Hpricot的1.62倍。因此Nokogiri被认为有可能取代Hpricot的新一代R。
18、uby的解析库,他能够解析HTML/XML文件,能够提供XPath支持,CSS选择器支持。0014 3)CSS Selector CSS Selector可以粗略分成几类基本的类型:ID选择器(#id),Class选择器(.class),类型(type)选择器(p),Combinators,属性(Attribute)选择器,Pseudo Classes选择器等。这些都是单一的选择器,可以在应用中把它们组合起来,如:div#id, div:last-child。0015 可以把CSS selector分成两大类,第一类是选择(selector),从根据给定的selector从DOM树找到相关的元。
19、素节点放到结果集中来。第二类是筛选(filter)。在结果集中判断该元素是否满足表达式。这样就完全可以使用JS(JavaScript)的原有直接或间接对DOM元素进行引用的方法,如div#id就可以变成先找到div的元素,之后判断其元素的id是否等于id,如果不等于就从结果集中删除掉。类型选择器,Combinators统一称为元素选择器,其形式如下:*,E F,EF,E+F,EF,E/F,E。对于ID选择器和Class选择器,它们可以在selector字符串的起始位置,也可以完成选择(selector)功能。当它们不在起始位置上,如div#id,div.class时他们就是筛选器。对于ID选择。
20、器,它有专门的函数来说 明 书CN 103092936 A4/7页6处理,是选择(selector)器。对Class选择器,它是筛选器,特殊情况就是对于*标签取到元素集进行筛选。 其它如属性(Attribute)选择器,Pseudo Classes都是筛选器,只能附在一个元素或多个元素后面。特殊情况就是对于*标签取到元素集进行筛选。0016 本发明针对华北电力大学现代无线通信实验室(物联网实验平台)所提出,但其应用广泛,可以扩展到任何物联网平台及物联网应用层。0017 物联网实验平台中有一个智能家居子系统,该智能家居房间内有电灯,空调,窗帘等实体,与它们相关联的为各种功能的传感器,来感知这些实。
21、体的实时信息,有感知光照强度的光照传感器,感知屋内温湿度的温湿度传感器等。这些传感器将感知到的屋内实体实时信息通过无线通信传输到协调器,协调器通过串口将这些实时数据传到服务器上,数据实时存储到服务器上的数据库中保存,同时服务器上通过网页JavaScript动态加载调用串口传来的数据,使得这些数据能实时动态地显示在网页上。实时动态显示的数据包括各个位置的温度,湿度,光照数据以及实时时间。采用这种方式显示的物联网实体信息实时性强,能真实反映实体每时每刻的状态。0018 本发明从客户端出发,对于任何一个能连上互联网的客户端,通过本发明都能实现实体动态信息的实时获取及存储。同时这种获取方法不需要连接服。
22、务器上的数据库,因此可扩展性很好。0019 本发明主要分为四大模块,加载页面模块,获取页面HTML模块,解析所得HTML模块,数据存储模块。这四个模块联系紧密且分工明确。其中加载页面模块和数据存储模块提供与外界联系的接口。加载页面模块通过网络链接地址加载外部页面,传递给获取HTML模块,获取HTML模块针对加载页面模块传递过来的动态页面获取该页面的HTML文档,同时将所获得的HTML文档传递给解析HTML模块,解析HTML模块从得到的HTML文档中通过定位技术解析出所需要的文本内容,将解析出来的内容给数据存储模块进行数据存储。针对本发明的各种应用就是在数据存储模块上进行扩展的。四大模块之间的关。
23、系如图1所示。0020 1)加载页面及框架模块本发明首先用Watir加载物联网动态页面,Watir能模拟浏览器的各种操作。本发明中通过“Watir:Browser.new”创建一个浏览器实例,从而来模拟浏览器的操作。通过“goto(http:/10.14.11.100/sh/index.jsp)”方法加载到物联网智能家居动态页面。其中http:/10.14.11.100/sh/index.jsp即为物联网智能家居动态页面的链接地址。若要针对其他物联网动态页面,只需将该链接替换为替他链接地址即可。0021 物联网动态页面包含智能家居,温湿度,数据浏览,温度策略,光照策略五大块。需要采集的数据位于。
24、温湿度模块下面,在进入物联网动态页面后,必须执行翻页操作才能浏览温湿度模块下的实时跳变数据。翻页操作并不改变页面链接地址,但是页面内容却发生了变化。在实际浏览器中,通过鼠标执行点击翻页操作。但在Watir模拟浏览器的过程中,只有通过“onclick”方法模拟点击操作,从而实现翻页功能。物联网动态页面的五大块通过五个“li”节点表示,相应的HTML片段如图2所示:温湿度模块为第二块,处于第二个“li”标签中,在这个“li”标签下的“a”标签中的“onclick=“hrefControl(jsp/wsd.jsp);”即表示点击操作来调用动态显示实时跳变数据的JS模块。在Watir模拟浏览器点击中,。
25、“a”标签以及“li”标签均不支持点击,因此,定位到“li”标签中的id号“mainlevel_02”,从而对“a”标签下的第一个链接进行点击说 明 书CN 103092936 A5/7页7操作,即通过“li(:id, mainlevel_02).links0.click”方法实现模拟点击翻页操作。0022 温湿度模块下有框架结构,即IFrame框架,实时跳变数据的JS模块位于IFrame框架结构中,用Watir加载的动态网页必须用Watir定位到IFrame框架下才能取出框架下的HTML文档供Nokogiri解析。Watir通过Locator类中的normalize_specifiers!和。
26、matchwithspecifiers方法实现定位,normalize_specifiers!方法的作用是构造specifiers,specifiers为定位对象所要用到的“标识”。matchwithspecifiers方法的作用是判断元素是否符合specifiers所定义的特征。本发明中通过IFrame框架的src属性使Watir定位到“jsp/wsd.jsp”,即用方法“.frame(:src, jsp/wsd.jsp)”实现定位,其中“jsp/wsd.jsp”即为动态显示实时跳变数据的JS模块。0023 2)获取HTML模块在软件设计中,由于通过JavaScript从服务器上调用物联网动。
27、态显示内容在客户端显示需要一定的时间。因此,虽然完成了对于物联网动态页面的加载定位,但在实际中仍需要考虑到动态页面加载所需的时间。本发明中通过Watir的等待机制以及Ruby的休眠机制来控制等待加载动态页面的时间,即通过“.wait”方法和“sleep()”方法实现。在完成Watir加载定位之后,通过“.frame.html”方法获取框架下的HTML文档。0024 3)解析HTML模块本发明采用Nokogiri对获得的HTML文档进行解析。Nokogiri通过“Nokogiri:HTML.parse”方法爬取获得的HTML文档,并进行解析。Nokogiri 提供了 XPath 及CSS Sel。
28、ector方式来寻找文档里的节点。本发明中通过 CSS Selector 来找页面上所需内容的节点,取回该时刻的页面文本信息。并通过周期循环模式抓取物联网动态页面上的数据,单次获取时间短,稳定性高,实时性好,能很好的实现对动态信息的实时采集。0025 CSS Selector可以粗略分成几类基本的类型:ID选择器(#id),Class选择器(.class),类型(type)选择器(p),Combinators,属性(Attribute)选择器,Pseudo Classes选择器等。这些都是单一的选择器,可以在应用中把它们组合起来,如:div#id, div:last-child。本方案中用到的。
29、是Class选择器,如图3所示,由于class值为“shidu”的有同名,首先定位到在IFrame框架下Class值为“shiduqu”的节点,再往下一级选择到class值为“shidu”的节点。返回class值为“shidu”的所有文本内容。即通过“.css(div.shiduqu div.shidu).text”方法实现CSS Selector定位功能,返回文本内容。0026 4)数据存储模块本发明中对于获得的物联网动态页面信息的存储十分灵活,可以实现各种格式的数据存储。0027 在Ruby中,可以使用IO类来实现访问文件系统、读取文件、写入文件、和删除文件等功能。File类是IO类的子类。
30、,本发明中通过File类创建文档,用来存储数据。即通过“File.new(“#i.txt“,“w“)”方法实现创建txt文档,并将内容写入文档中。 其中“#i”即为文档名,通过变量i来控制,从而实现循环存储的功能,即每循环一次就创建一个新的文档。0028 另外,也可将获得的数据存入数据库中,这样易于管理。Ruby通过使用开发式的统一数据库接口DBI(Database Interface,数据库接口层)与数据库驱动插件连接,以实现对数据库的访问和操作数据。因此,对于采集的物联网实体实时信息,可以使用数据库存说 明 书CN 103092936 A6/7页8储,这样更能满足物联网海量数据的需求。所以。
31、,在数据存储方面,本发明灵活实用,扩展性很好。0029 本发明软件流程图如图4所示,本发明中采用周期循环操作抓取数据,周期大小可自由控制,最小周期可达13毫秒;循环条件也是自由限定,可以从循环时间,循环次数等方面控制循环抓取的时间长短,尚未达到循环条件时则继续抓取数据直到达到循环条件为止。0030 本发明中针对物联网动态实时信息的获取主要包括以下步骤:1) 首先通过“Watir:Browser.new”创建一个浏览器实例,从而来模拟浏览器的操作。通过“goto(http:/10.14.11.100/sh/index.jsp)”方法加载到物联网智能家居动态页面。0031 2) 在Watir模拟浏。
32、览器的过程中,通过“onclick”方法模拟点击操作,对步骤1)中加载的页面实现翻页功能。通过“li(:id, mainlevel_02).links0.click”方法实现模拟点击翻页操作。0032 3) 通过IFrame框架的src属性使Watir定位到“jsp/wsd.jsp”,即用方法“.frame(:src, jsp/wsd.jsp)”实现定位,其中“jsp/wsd.jsp”即为步骤2)中翻页后动态显示实时跳变数据的JS模块。0033 4) 利用Watir的等待机制以及Ruby的休眠机制来控制等待加载动态页面的时间,即通过“.wait”方法和“sleep()”方法实现等待。0034 。
33、5) Watir通过“.frame.html”方法获取步骤3)中框架下的HTML文档。0035 6) Nokogiri通过“Nokogiri:HTML.parse”方法爬取步骤5)获得的HTML文档,并进行解析。0036 7) Nokogiri通过“.css(div.shiduqu div.shidu).text”方法对步骤6)中爬取的HTML文档实现CSS Selector定位功能,返回文本内容。0037 8) 利用Ruby中的File类创建文档,用来存储步骤7)中返回的文本数据。通过“File.new(“#i.txt“,“w“)”方法实现创建txt文档,并将内容写入文档中。 其中“#i”即。
34、为文档名,通过变量i来控制。0038 9) 判断是否执行循环条件,从而实现循环存储的功能,即每循环一次就创建一个新的文档。0039 本发明的特点:1) 本发明从客户端出发,对于任何一个能连上互联网的客户端,通过本发明都能实现实体动态信息的实时获取及存储。同时这种获取方法不需要连接服务器上的数据库,因此可扩展性很好。针对实时跳变的物联网页面,能实现实时跳变数据的抓取功能,及时获得物联网实体实时信息。0040 2) 本发明分成四大模块;其中,加载页面模块,获取页面HTML模块,解析所得HTML模块,数据存储模块。模块之间联系密切,衔接性好,各模块分工明确,给人一目了然的感觉。同时第一个与最后一个模。
35、块与外界的接口简单易操作,易于扩展到各种应用。0041 3)本发明利用Watir自动化测试框架模拟浏览器的各种操作。通过“Watir:Browser.new”创建一个浏览器实例来加载物联网动态页面。物联网动态页面包含智能家居,温湿度,数据浏览,温度策略,光照策略五大块。用Watir模拟浏览器点击操说 明 书CN 103092936 A7/7页9作翻页至温湿度块,该块包含一个IFrame,IFrame下显示实时动态数据。Watir加载页面时,页面中的IFrame相当于另外的页面,需要先定位到IFrame,从而获取框架下的HTML文档。本发明中通过IFrame框架的src属性使Watir定位到“j。
36、sp/wsd.jsp”,即用方法“.frame(:src, jsp/wsd.jsp)”实现定位,其中“jsp/wsd.jsp”即为动态显示实时跳变数据的JS模块。0042 4)本发明中通过Watir的等待机制以及Ruby的休眠机制来控制等待加载动态页面的时间,即通过“.wait”方法和“sleep()”方法实现。在完成Watir加载定位之后,通过“.frame.html”方法获取框架下的HTML文档。0043 5) Nokogiri通过“Nokogiri:HTML.parse”对获得的HTML文档进行解析。Nokogiri 提供了 XPath 及CSS Selector方式来寻找文档里的节点。。
37、本方案中通过 CSS Selector 来找页面上所需内容的节点,取回该时刻的页面文本信息。CSS Selector可以粗略分成几类基本的类型:ID选择器(#id),Class选择器(.class),类型(type)选择器(p),Combinators,属性(Attribute)选择器,Pseudo Classes选择器等。本方案中仅用到Class选择器(.class),通过“doc.css(div.shiduqu div.shidu).text”方法获得定位区域中的文本内容。0044 6)通过循环加载物联网动态页面的对应框架,周期获取框架下的HTML文档,代码循环实现速度快,通过Ruby内部。
38、休眠等待机制可灵活控制周期大小,最小周期可达13毫秒,能实现无遗漏的获取页面数据。0045 7) 利用Ruby语言的灵活性,获取的物联网动态页面信息能实现各种格式的存储,从简单的记事本格式到链接数据库存入数据库,都可以实现。本发明中通过File类创建文档,用来存储数据。即通过“File.new(“#i.txt“,“w“)”方法实现创建txt文档,并将内容写入文档中。 其中“#i”即为文档名,通过变量i来控制,从而实现循环存储的功能,即每循环一次就创建一个新的文档。0046 8) 另外,Ruby通过使用开发式的统一数据库接口DBI(Database Interface,数据库接口层)与数据库驱动插件连接,以实现对数据库的访问和操作数据。因此,对于采集的物联网实体实时信息,可以使用数据库存储,这样更能满足物联网海量数据的需求,同时能应对后续对海量数据的搜索分析操作。所以,在数据存储方面,本发明灵活实用,扩展性很好。说 明 书CN 103092936 A1/3页10图1图2说 明 书 附 图CN 103092936 A10。