一种基于webservice的数据获取及绘图方法

文档序号:6516354阅读:324来源:国知局
一种基于webservice的数据获取及绘图方法
【专利摘要】一种基于webservice的数据获取及绘图方法,属计算机绘图【技术领域】,智能终端通过远程调用webservice接口,获取数据信息,将相应的数据以曲线的形式表现出来。其特点有:智能终端通过webservice接口调用数据信息,避免了通过JDBC方式直接访问数据库,保证了数据的安全性;对不同智能终端进行权限划分,实现了数据的层次管理,保密性和可靠性得到有效提高;智能终端可以设置更改访问的ip地址和端口号,调用数据更加方便快捷;Webservice接口将结果集打包成Arraylist,避免了数据库资源的长期占用,又提高了获取数据的效率;此法可设定所要查询数据的日期和时间间隔,查询结果更加精确有效。
【专利说明】—种基于webservice的数据获取及绘图方法
【技术领域】
[0001]本发明涉及计算机绘图【技术领域】,具体是涉及一种基于webservice的数据获取及绘图方法。
【背景技术】
[0002]Webservice是一项跨平台的服务,它使不同机器之间可以相互交换数据,而不去关乎它们所使用的平台、语言以及内部协议,Webservice使用xml传送结构化的数据,soap协议来实现远程调用。如今,这种技术被广泛地应用在PC和手机终端上,但在权限设置、数据库资源利用以及数据的显示等方面仍存在一些不足之处。例如,北京林业大学的邬海波和吴保国老师在Computer Knowledge and Technology电脑知识与技术杂志上发表的《基于 WebService 的多源数据库访问方法》(ISSN1009-3044, Vol.5, N0.31, November2009, pp.8628-8631),该文提供一种以WebService技术为基础,通过Java平台开发的远程多源数据库数据访问方法。用Java语言编写服务,Axis2框架发布WebService, JSON格式处理数据交换,通过WebService、Java、JS0N、Axis2等关键技术的应用,实现跨平台的远程数据访问服务。该方法的权限设置主要体现在在数据库操作(select、insert、update、delete等操作)上,而并未将具体的不同区域数据与终端相关联,该方法采用JSON格式来处理数据交换,虽然高效简洁,但却引用了第三方软件,而且JSON更多的应用于浏览器,在手机终端上存在诸多限制。此外,该类方法在实时数据的显示,用曲线细致地描绘变化趋势等方面并未详述。

【发明内容】

[0003]本发明针对以上这些缺点,提供一种基于webservice的数据实时获取并可以绘制曲线的方法,能够根据需求合理地设置权限,有效地利用数据库资源,并且更加细致的处理和展示获取的数据。
[0004]本发明的技术方案如下:
[0005]—种基于webservice的数据实时获取并绘制曲线的方法,主要包括智能终端、数据库和接口三部分,接口和数据库封装在服务器端,接口通过connection方法完成和数据库之间的通信,智能终端通过网络调用webservice接口,该方法步骤如下:
[0006]1、webservice根据需求将不同的sql封装起来,从而形成不同功能的接口,不同功能的接口之间通过方法名来进行唯一标识,这些功能接口主要包括landing (登陆接口,作用是进行身份验证)、real-timeData (实时数据接口,作用是用来获取数据库的实时数据)、historyData (历史数据接口,作用是从数据库获取具体时间的数据信息,为绘制曲线的功能提供数据源)、alertData(实时报警接口,作用是将最新报警信息传递给智能终端)、historyAlert (历史报警接口,作用是将报警的历史数据传递给智能终端),接口发布完成后,智能终端根据webservice提供的方法名、命名空间和url地址三个参数实现调用;
[0007]2、进行权限的设置,首先在建立数据库时,将不同范围的数据信息与不同的智能终端相连接,也就是说,每一个终端都有自己相对应的数据范围,它们之间通过智能终端的登录名来标识,其次,在编写Webservice接口时,每个接口要引入两个变量,UserName和password (用户名和密码),这两个变量需要从终端获取,终端调用接口获取数据时,须将这两个变量的值传递给接口,然后接口根据这两个变量的值去访问数据库;智能终端部分的设置是在用户登陆成功后,用SharedPerferences保存用户名,每次调用webservice接口的时候,用户名都作为一个参数传递,综上,权限的设置需要数据库、接口、智能终端三部分共同完成;
[0008]3、实现智能终端更改ip地址和端口号,方法是在智能终端设置两个全局变量,即“IP”和“PORT”两个变量,用来记录通信要使用的ip地址和端口号,然后使用SharedPerferences方法来存储这两个变量的具体数值,从而实现在智能终端设置页面中可以更改ip地址和端口号;
[0009]4、Webservice接口以Arraylist数组形式打包数据,最终封装成List,实现方法是,Webservice接口从数据库获取结果集后,按行读取数据,每一行的数据内容作为一个String型数据,然后封装在数组Array I i st中,所有行数据信息封装完成后,将整个Li st作为一个变量传递给智能终端,注意:这里要传送的List变量,需要创建XML文件,用methodname和return-type componentType方法对传送变量进行说明定义;
[0010]5、智能终端显示实时数据,方法是在智能终端上采用Thread类单独开辟一个线程来监视实时数据的变化,采用定时访问数据库的方法,通过方法名、命名空间和url地址三个参数访问real-timeData接口,得到要显示的实时数据,之后采用安卓的Handler处理主线程和子线程之间的通信,将得到的数据实时显示在智能终端上;
[0011]6、通过webservice接口访问数据库时,将输入的日期和时间间隔作为变量值,以String型数据传递给hiStoryData接口(历史数据接口), historyData接口通过sql语句访问数据库,然后返回XML文件到智能终端,智能终端解析接口返回的XML文件,使用HashMap存储要绘制的点,采用Google的开源图标库AChartEngine进行绘图。
[0012]所述的connection方法是java连接数据库的一类方法。
[0013]所述的sql是访问和操作数据库的一门语言。
[0014]所述的url地址是由ip地址和端口号构成的网络地址。
[0015]所述的SharedPerferences方法是安卓平台提供的一个轻量级的存储类。
[0016]所述的Arraylist是java中用来存储数据的动态数组。
[0017]所述的List是java中用来处理数据类库中的一个类。
[0018]所述的method name和return-type componentType方法分别是用来定义方法名和返回List中的数据类型。
[0019]本发明方法的优点如下:
[0020]1、智能终端只需远程调用webservice接口,而不需要知道数据库的内部结构,避免了通过JDBC方式直接访问数据库,保证了数据库数据的安全性;
[0021]2、智能终端有明显的权限划分,用不同的用户名和密码加以标识,终端只能访问自己权限范围内的数据,而不能查看超出自己权限的部分,使数据管理更加条理化、结构化的同时,又增加了数据的保密性和可靠性;
[0022]3、智能终端根据不同需要更改访问服务器的ip地址和端口号,也就是说,智能终端与服务器之间是一对多的关系,工作人员能查看不同数据库的数据信息,有效的调高了工作效率,节省了劳动力;
[0023]4、Webservice接口以Arraylist数组形式打包数据,最终封装成List,智能终端以map形式接收并读取数据,而不是一条一条单独从数据库获取数据信息,提高了获取数据的效率;与此同时,接口与数据库之间的连接在sql查询到所需数据后就立即断开,避免了数据库资源的长期占用;
[0024]5、数据库将一些数据比如报警信息,主动传送给相应权限的智能终端,使其及时作出相应处理;智能终端根据自己的需求查看相应的历史数据,并绘制曲线,从而直观的显示数据的变化趋势;
[0025]6、智能终端在查看数据时,设定所要查询数据的日期和时间间隔,从而使查看结果更加精确有效,避免了数据的冗余性,又节省了资源。
【具体实施方式】
[0026]下面结合实施例对本发明作进一步说明,但不限于此。
[0027]实施例:
[0028]一种基于webservice的数据实时获取并绘制曲线的方法,主要包括智能终端、数据库和接口三部分,接口和数据库封装在服务器端,接口通过connection方法完成和数据库之间的通信,智能终端通过网络调用webservice接口,该方法步骤如下:
[0029]1、webservice根据需求将不同的sql封装起来,从而形成不同功能的接口,不同功能的接口之间通过方法名来进行唯一标识,这些功能接口主要包括landing (登陆接口,作用是进行身份验证)、real-timeData (实时数据接口,作用是用来获取数据库的实时数据)、historyData (历史数据接口,作用是从数据库获取具体时间的数据信息,为绘制曲线的功能提供数据源)、alertData (实时报警接口,作用是将最新报警信息传递给智能终端)historyAlert (历史报警接口,作用是将报警的历史数据传递给智能终端),接口发布完成后,智能终端根据webservice提供的方法名、命名空间和url地址三个参数实现调用;
[0030]2、进行权限的设置,首先在建立数据库时,将不同范围的数据信息与不同的智能终端相连接,也就是说,每一个终端都有自己相对应的数据范围,它们之间通过智能终端的登录名来标识,其次,在编写Webservice接口时,每个接口要引入两个变量,UserName和password (用户名和密码),这两个变量需要从终端获取,终端调用接口获取数据时,须将这两个变量的值传递给接口,然后接口根据这两个变量的值去访问数据库;智能终端部分的设置是在用户登陆成功后,用SharedPerferences保存用户名,每次调用webservice接口的时候,用户名都作为一个参数传递,综上,权限的设置需要数据库、接口、智能终端三部分共同完成;
[0031]3、实现智能终端更改ip地址和端口号,方法是在智能终端设置两个全局变量,即“IP”和“PORT”两个变量,用来记录通信要使用的ip地址和端口号,然后使用SharedPerferences方法来存储这两个变量的具体数值,从而实现在智能终端设置页面中可以更改ip地址和端口号;
[0032]4、Webservice接口以Arraylist数组形式打包数据,最终封装成List,实现方法是,Webservice接口从数据库获取结果集后,按行读取数据,每一行的数据内容作为一个String型数据,然后封装在数组Array I i st中,所有行数据信息封装完成后,将整个Li st作为一个变量传递给智能终端,注意:这里要传送的List变量,需要创建XML文件,用methodname和return-type componentType方法对传送变量进行说明定义;
[0033]5、智能终端显示实时数据,方法是在智能终端上采用Thread类单独开辟一个线程来监视实时数据的变化,采用定时访问数据库的方法,通过方法名、命名空间和url地址三个参数访问real-timeData接口,得到要显示的实时数据,之后采用安卓的Handler处理主线程和子线程之间的通信,将得到的数据实时显示在智能终端上;
[0034]6、通过webservice接口访问数据库时,将输入的日期和时间间隔作为变量值,以String型数据传递给historyData接口(历史数据接口),historyData接口通过sql语句访问数据库,然后返回XML文件到智能终端,智能终端解析接口返回的XML文件,使用HashMap存储要绘制的点,采用Google的开源图标库AChartEngine进行绘图。
【权利要求】
1.一种基于webservice的数据实时获取并绘制曲线的方法,主要包括智能终端、数据库和接口三部分,接口和数据库封装在服务器端,接口通过connection方法完成和数据库之间的通信,智能终端通过网络调用webservice接口,该方法步骤如下: 1)webservice根据需求将不同的sql封装起来,从而形成不同功能的接口,不同功能的接口通过方法名来进行唯一标识,这些功能接口主要包括I an d i n g即登陆接口、real-timeData即实时数据接口、historyData即历史数据接口、alertData即实时报警接口、historyAlert即历史报警接口,接口发布完成后,智能终端根据webservice提供的方法名、命名空间和url地址三个参数实现调用; 2)进行权限的设置,首先在建立数据库时,将不同范围的数据信息与不同的智能终端相连接,也就是说,每一个终端都有自己相对应的数据范围,它们之间通过智能终端的登录名来标识,其次,在编写Webservice接口时,每个接口要引入两个变量:userName即用户名和password即密码,这两个变量需要从终端获取,终端调用接口获取数据时,须将这两个变量的值传递给接口,然后接口根据这两个变量的值去访问数据库;智能终端部分的设置是在用户登陆成功后,用SharedPerferences保存用户名,每次调用webservice接口的时候,用户名都作为一个参数传递,综上,权限的设置需要数据库、接口、智能终端三部分共同完成; 3)实现智能终端更改ip地址和端口号,方法是在智能终端设置两个全局变量,即“IP”和“PORT”两个变量,用来记录通信要使用的ip地址和端口号,然后使用SharedPerferences方法来存储这两个变量的具体数值,从而实现在智能终端设置页面中可以更改ip地址和端口号; 4)Webservice接口以Arraylist数组形式打包数据,最终封装成List,实现方法是,Webservice接口从数据库获取结果集后,按行读取数据,每一行的数据内容作为一个String型数据,然后封装在数组Array I i st中,所有行数据信息封装完成后,将整个Li st作为一个变量传递给智能终端,注意:这里要传送的List变量,需要创建XML文件,用methodname和return-type componentType方法对传送变量进行说明定义; 5)智能终端显示实时数据,方法是在智能终端上采用Thread类单独开辟一个线程来监视实时数据的变化,采用定时访问数据库的方法,通过方法名、命名空间和url地址三个参数访问real-timeData接口,得到要显示的实时数据,之后采用安卓的Handler处理主线程和子线程之间的通信,将得到的数据实时显示在智能终端上; 6)通过webservice接口访问数据库时,将输入的日期和时间间隔作为变量值,以String型数据传递给historyData接口,historyData接口通过sql语句访问数据库,然后返回XML文件到智能终端,智能终端解析接口返回的XML文件,使用HashMap存储要绘制的点,采用Google的开源图标库AChartEngine进行绘图。
【文档编号】G06F17/30GK103530401SQ201310502651
【公开日】2014年1月22日 申请日期:2013年10月23日 优先权日:2013年10月23日
【发明者】朱维红, 王凯, 杨宝华, 丁少, 田晓亮, 罗璐璐 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1