移动查询

2024-06-07

移动查询(精选七篇)

移动查询 篇1

随着智能手机的快速普及, 智能手机的应用软件及其需要的服务将有广阔的发展前景。在如今智能手机系统群雄纷争的时代, Google推出Android开源智能手机操作系统, 它采用Linux内核, 系统的开源性使其具有良好的拓展性。Android最大特点的是其开放性体系架构不仅具有非常好的开发调试环境, 而且还支持各种可扩展的用户体验, 包括丰富的图形组件、多媒体支持功能以及强大的浏览器。文中在分析讨论Android手机软件开发技术原理的基础上, 开发出能为用户提供更好的基于Android的天气信息查询软件。

天气信息查询软件是Android移动手机端必备的手机程序之一, 在综合了以往的在线天气系统后, 研究课题增加了一些比较实用的模块。例如:本天气信息查询软件的未来天气分析模块, 为用户提供了未来4天内的天气走向图, 让用户更直观地了解到未来的天气变化情况。公众能够在第一时间方便且快捷地获取最新的气象预报 (预警) 信息, 以便提前预防, 把气象灾害造成的损失降到最低, 方便用户出行。

2 技术原理

2.1 Android平台

Android是Google开发的基于Linux平台的开源手机操作系统的名称, 该平台由操作系统、中间件、用户界面和应用软件组成, 号称是首个为移动终端打造的真正开放和完整的移动软件。Android平台有一个运行在Linux内核之上的Dalvik虚拟机。Dalvik虚拟机在保证API兼容的同时, 针对移动手机进行了大幅优化, 占用资源更小、运行效率更高。应用开发者能够使用Java编程语言, 基于Android SDK平台开发大量的增值应用。

2.2 SAX解析器

SAX即是:Simple API for XML。SAX是一个解析速度快并且占用内存少的XML解析器, 非常适合用于Android等移动设备。SAX解析XML文件采用的是事件驱动, 也就是说, 它并不需要解析完整个文档, 在按内容顺序解析文档的过程中, SAX会判断当前读到的字符是否为XML语法中的某部分, 如果符合就会触发事件。所谓事件, 其实就是一些回调 (callback) 方法, 这些方法 (事件) 定义在ContentHandler接口。

2.3 Json数据格式

XML这种用于表示客户端与服务器间数据交换有效负载的格式, 几乎已经成了Web Services的同义词。然而, 由于Ajax和REST技术的出现影响了应用程序架构, 这迫使人们开始寻求`XML的替代品, 如:JavaScript Object Notation (JSON) 。

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript的一个子集。JSON采用完全独立于语言的文本格式, 但是也使用了类似于C语言家族的习惯 (包括C, C++, C#, Java, JavaScript, Perl, Python等) 。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写, 同时也易于机器解析和生成。

2.4 Achartengine开源绘图库

Achartengine是为Android应用而设计的开源绘图工具库, 可用于绘制多种图表。Achartengine支持的图表类型:折线图、区域图、散点图、时间图、柱状图、饼状图、气泡式图表、环形图、高低交替图。以上每种图表都可以包含多个序列, 可以将X轴以水平或垂直的形式显示, 也支持很多自定义的特性。另外, 图表可以作为view构建, 也可以作为Intent构建———这样可以被用于启动一个Activity。

3 功能描述

整个应用程序应划分为5个部分, 分别是用户界面、后台服务、城市管理、数据库适配器和天气趋势展示。

(1) 后台服务是整个应用程序的核心, 主要是“天气信息数据获取模块”, 负责按照用户设定的时间进行周期性地从WebService中获取天气信息, 这里我们就Google提供的天气信息为例, 并把数据存入数据库。后台服务在程序启动时就由oncreate () 方法启动, 也可由用户界面通过startService () 进行启动, 启动后的后台服务将一直保持运行状态。

(2) 用户界面从数据库中获取天气信息, 而没有直接通过网络访问Google的天气数据。一方面可以避免因网络通信不畅造成界面失去响应;另一方面, 后台服务可以及时更新数据, 以保证数据的准确性。

(3) 城市管理可让用户添加用户所需的城市到数据库, 并可以通过移动定位功能进行用户定位, 把定位得到的城市添加到数据库。

(4) 数据库适配器封装了所有对SQLite数据库操作的方法, 用户界面和后台服务会调用它来实现数据库操作。

(5) 天气趋势图通过折线图更加直观地为用户展现未来几天的天气走向, 包括日间温度、夜间温度。

功能结构图如图1所示。

4 系统实现

4.1 系统主界面效果

主界面显示当天的天气具体情况和未来3天的天气信息, 效果如图2所示。

4.2 天气信息的获取

把城市名称提交到Google weather api, 然后根据其所反馈的XML格式的天气信息, 用SAX解析器来解析这些XML, 提取有用的天气信息以beijing为例。访问Google weather api的URL为:“http://www.google.com/ig/api?hl=zh-cn&weather=beijing”。得到了确切的XML数据后, 用SAX解析器对这个XML进行解析, 构造SAX解析器和XML适配器的代码如下, 其中GoogleWeatherHandler类为继承了DefaultHandler用adapter模式实现了SAX解析器的常用接口:

在完成以上的构造后, 还需要用输入流来读取XML, 并传递给解析器, 代码如下:

最后, 把解析器所读取的数据赋给已经建好的天气对象类WeatherSet, 并把数据存入数据库, 代码如下:

4.3 城市管理模块

主要实现增删用户城市。用户可以把城市名的中文名或拼音填入输入框进行添加, 在“我的城市”列表中, 可以点击城市名进行删除城市操作。添加城市功能主要代码:

显示列表主要代码:

4.4 温度趋势效果

使用aChartEngine开源绘图api进行本功能的折线图的绘制, 效果如图3所示。

(1) 定义曲线名称和坐标点, x1, x2, y1, y2为坐标数据, 类型为double[], 数据从数据库读取:

(2) 创建XYSeries对象, 用于提供绘制的点集合的数据:

定义每条曲线的颜色和每条曲线的点的形状:

曲线图的格式, 包括颜色, 值的范围, 点和线的形状等等, 都封装在XYSeriesRender对象中, 将XYSeriesRender对象封装在XYMultipleSeriesRenderer对象中, 并设置折线图名称, 坐标轴的名称, 坐标轴的起点重点, 坐标轴的颜色, 坐标轴上数字的颜色:

5 结语

在介绍基于Android平台的天气查询软件实现技术原理的基础上, 给出了Android用户界面设计、获取并解析城市列表数据的一种方法。另外软件的天气信息获取也可以通过新浪天气、腾讯天气等WebService服务, 读者还可以在软件功能基础上穿衣指数、晨练指数、洗车指数和天气报警等功能。

参考文献

[1]刘正, 陈强.基于Android的GPS应用中的研究与开发[J].中国西部科技, 2010.

中国移动常用短信查询及常用指令 篇2

1008601余额查询 • 编辑短信“1”发送至10086免费查询。• 拨打1008611查询。• 登陆山东移动网站查询。1008602/1008608 当前话费查询 • 编辑短信“20”发送至10086免费查询。• 拨打1008611查询。• 登陆山东移动网站查询。

1008610包月量查询 • 编辑短信“3”发送至10086免费查询。• 拨打1008611查询。• 登陆山东移动网站查询。

1008603/1008609 上月帐单查询

• 编辑短信“251*两位月份”发送至10086免费查询。• 登陆山东移动网站查询。

1008607话费管家 • 编辑短信“591”发送至10086办理。• 登陆山东移动网站查询。

1008612号码归属地查询 • 编辑短信“23*手机号码”发送至10086免费查询。• 登陆山东移动网站查询。

1008615 GPRS受理专线 • 编辑短信“53”发送至10086办理。登陆山东移动网站办理。

1008616积分查询 • 编辑短信“261”发送至10086查询。• 登陆山东移动网站查询。

1008618本机品牌资费及已开通业务 • 编辑短信“21”发送至10086查询

中国移动指令大全(不用再跑营业厅了~ 1.发送CXBX到10086,查询当月套餐剩余短信条数。

2.发送CXGFX到10086,查询当月飞信GPRS套餐剩余流量。

3.发送CXGTC到10086,查询当月GPRS套餐剩余流量。

4.发送CXCCT到10086,查询当月超级畅听套餐剩余流量。

5.发送CXGLL到10086,查询当月已使用的GPRS流量总和。

6.发送CXDX120,查询当月可选计划“短信120”剩余短信条数。7.发送CXDX500,查询当月可选计划“短信500”剩余短信条数。

8.发送CXCXB,查询当月可选计划“彩信包”剩余彩信条数。

9.发送CXIP1000,查询当月可选计划“IP1000”剩余通话时长。

10.发送CXMDX,查询M计划兑换的“短信包(50条/月)”当月剩余短信条数。

11.发送CXMCX,查询M计划兑换的“彩信包(10条/月)”当月剩余彩信条数。

12.发送CXMG,查询M计划兑换的“10M/月的GPRS流量”剩余流量。

信指令 短信发送端口 办理业务

YE/CXYE

10086

余额查询

KTFX

10086

开通飞信

QXFX

10086

取消飞信

BLHZ

10086

开通短信回执

QXHZ

10086

取消短信回执

BLYY19

10086

办理19元音乐卡套餐

BLYY29

10086

....办理29元音乐卡套餐

BLYY39

10086

办理39元音乐卡套餐

BLYY59

10086

办理59元音乐卡套餐

GPRS5

.10086

办理GPRS5元套餐

GPRS20

10086

办理GPRS20元套餐

GPRS50

10086

办理GPRS50元套餐

GPRS100

.10086

办理GPRS100元套餐

GPRS200

.10086

办理GPRS200元套餐

信指令 短信发送端口 办理业务

CXGPRS5

.10086

查询GPRS5元套餐

CXGPRS20

10086

查询GPRS20元套餐

CXGPRS50

10086

查询GPRS50元套餐

CXGPRS100 10086

....查询GPRS100元套餐 CXGPRS200 10086

....查询GPRS200元套餐

QXGPRS 10086

取消GPRS套餐

KTGPRS 10086

恢复GPRS功能

XGMM 10086

.修改密码

KTHK

10086

开通香港漫游

QXHK

10086

取消香港漫游

KTMC

10086

开通澳门漫游

QXMC

10086

取消澳门漫游

KTTW

10086

开通台湾漫游

QXTW

10086

取消台湾漫游

BLLDXS

10086

开通来电显示

QXLDXS

10086

.取消来电显示

CXLDXS

10086

.查询来电显示

BLHJZY

.10086

.开通呼叫转移

QXHJZY

.10086

.取消呼叫转移

CXHJZY

.10086

.查询呼叫转移

BLHJDD

.10086

.开通呼叫等待

QXHJDD

.10086

.取消呼叫等待

CXHJDD

.10086

.查询呼叫等待

BLZWMS

.10086

.开通中文秘书

QXZWMS

.10086

.取消中文秘书

CXZWMS

.10086

.查询中文秘书

BLLYXX 10086 开通留言信箱

QXLYXX 10086 取消留言信箱

CXLYXX 10086 查询留言信箱

GS+11位号码 10086 查询号码归属地

0000/00000 10086 梦网业务查询与退订

移动查询 篇3

关键词:时空模型,公路网,查询语言,数据类型

有一种种类非常宽泛并且繁多的应用程序,随着时间传达或者改变物体的空间特征。例如:GIS 应用程序包括时间(例如,随着时间改变而改变的区域改变等等),应用于交通工具定位的事实应用程序的传感(汽车,火车,船舶检测,等等)。另外一类是对这些应用程序做时空容量和依赖性方面做加强的应用程序:交互式多媒体文档、虚拟现实应用程序、3D动画效果,等等。以上提及的应用程序领域当前还缺少数据库的支持。设计一个可以把这些领域内有代表性的基元并且可以覆盖以上提及的传统空间应用程序需求的新的应用程序将是一个很大的挑战。

这样的模型可以使以组织实体存储物体成为可能,同时也使在此基础上的时空架构查询成为可能。在这个背景下,想象物体是随着时间移动或者改变的。这些物体在一个随着时间改变的空间范围内。从物体所在的范围内,可能会得到物体的位置,还将得到物体的方位。现在对这些物体之间的关系很感兴趣。这些关系有时间或者空间方面的关系,就像因果关系一样(关系产生的原因,不只是来自于两个交叠的物体,等等)。这也说明了在数据库中捕获物体这些方面的必要性。近来提出的方法有一个问题就是提供一个非常大的数据集和附加操作以至于实施的可能性比较低。一个具体的例子,车队管理包含存储和查询时空对象。假设一个出租车服务器需要一直知道经验不足的出租车司机的连续变化的位置,并且优化他们的服务。潜在的查询服务有以下几种:

(1)到一个指定位置的最近的出租车。

(2)在10分钟之内,那一辆出租车距离一位乘客在5km之内。

(3)出租车A和B在之前的两小时内路线是否有交叉。

(4)假设知道预期的路线,那么在将来的30分钟内出租车A和B是否会距离彼此2km。

用当前的商业数据库产品查询时间、空间数据这样的查询非常难处理。更难处理的问题是,在系统中共存的时间和空间属性和他们之间的关系。在本文中,限定讨论对象为移动点物体,比如,零维物体在公路网中位置的连续变化。这样的物体是普遍存在的,但是相对于离散改变的物体来说,是很难容纳于数据库之中的。通过扩展现有数据库技术来支持以上种类的移动物体的处理对于本文来说是一种挑战。

当前实时世界的时空应用程序需要一种小的、稳健性强的、高级表达能力的、符合现实实施的、以现成的数据库技术为基础的判断集。实施方案应该覆盖判断查询过程计划和附加索引计划。本文将介绍一种以基本公路网为基础的移动点对象模型。定义一种在当前商业数据库或者GIS环境中可以有效执行的并且有合理表达能力的小型的高效判断集。

1 模型

现介绍的模型将作为以后时空查询系统的基础。最初的信息是一幅地图,描绘一种关系。在这个关系里面的每一个元组都代表这一座城市街区,比如,在两个相交部分的道路区域,有如下属性:

折线:街区折线是由一系列的二维坐标点组成:(x1,y1),(x2,y2),…,(xn,yn)。通常街区都是直线段,由两个(x,y)坐标构成。

这种适用于地图的格式是由GDT公司提供的。两条街道的交叉点是四段街道折线的端点。因此,每一幅地图都是以元组代表的曲线图。这幅地图可以用于定位移动物体(出租车)的基础图层。在这里,有一个很重要的概念就是移动物体的轨迹直观的给出了物体在路线和时间上对应的每一个点。

移动物体O的路线是由始发地或者始发点的(x,y)坐标,结束地点或者叫做结束点的(x,y)坐标指定的。在现有的大部分GIS系统中,一个外部的类型程序是很有效的,假设是一个由推理和计算得出的地图上的最短路径。P(O)代表这个路径是由一系列地图上的区域元组给出的。

由于P(O)是在地图曲线表中的路径,一个区域折线的结束点是另外一个区域折线的开始点。因此P(O)所代表的整个路径是一个由L(O)代表的折线段组成。假定路程有一个起始时间,在每一段直线区域L(O)上,计算物体O将要到达区域结束点的时间,并且计算此路径的距离。

道路网络模型,它将一个道路网络表示为:G=(N,E),N是节点集合,E(N×N)表示边集合。结点n(∈N)在二维空间中的位置为pn=(x,y),边e(∈E)连接两个端点ne1和ne2在边e内的位置pe,以0到1之间的范围来表示,连接ne1的一端表示0,连接ne2的一端表示数1。在道路网络罩的移动对象的位置范围为:D(G)=E×p。时间范围由T表示,则一个移动对象可以表示为函数f:TD(G)即在T时刻的位置为D(G)。如图1所示是以这个方法来分割的道路网络模型的一个实例。

按照SQL的DDL报告定义轨迹类型:

CREATE TYPE trajectory AS OBJECT

(SEQUENCE# integer, x integer, y integer, t real,b boolean);

移动物体还有一些额外的属性,比如:COLOR, WEIGHT, DRIVER, 等等。那么移动物体(M_O)的关系可以做如下定义:

CREATE TYPE M_O AS OBJECT

(OBJECT_id integer, T trajectory, color integer, weight integer, driver person_id );

对于属性T ,使用3D空间进行索引,也就是在二维空间和时间维一起的时空索引。寻找物体O轨迹的查询如下:

SELECT M_O.T FROM M_O WHERE OBJECT_id=O;

有时为了方便,使用id代替OBJECT_id。

2 实现在空间数据库环境中判断的设计

商业数据库提供对索引方法提供部分支持是为了加速包含用户自定义操作在内的查询。在IBM DB2中,DB2索引管理器是打开的,所以新的索引类型——索引扩展器可以被定义。包括数据类型需要用的所索引种类索引,条目是如何在列属性中聚合到一起的,索引如何开发能更有效地用于查询。所有这些扩展的应用都是通过SQL的扩展实现的;高水平的API使开发人员更容易的将复杂的、用户定义的索引函数整合到一起。尤其对空间数据来说,这些扩展被用作一种空间扩展器下的叫做网格的空间索引的执行支持。在面对数据库软件商的情况下,研发人员可以用现有的存取方法索引新的数据类型,添加他们自己的新的存取方法。B树索引和R树索引时背提供支持的。B树索引在组织索引信息时是以层级页的方式安排的。Universal Data Option介绍了R树索引,最优化了多维数据。

Pfoser等人提出了一种基于网络的轨迹数据索引方法。这种方法把2 维的道路网络转化成1维的线段,简化了索引结构,但2维道路网络的拓扑信息在转化过程中丢失了,使其无法解决基于网络的信息查询问题。之后出现的FNR-tree 、MON-tree以及NB-tree采用了相似的原理,通过建立一组小型索引结构的方法,简化整个索引结构的维护,同时便于索引方法的实现。Chen等人采用了相似的思想,提出一个动态数据结构,称作自适应单元,这种结构根据相似运动模式将相邻对象分组,然后,在自适应结构基础上建立路网上的空间索引。然而,上述这些方法也同样没有考虑道路网络的拓扑特性,因此,很难解决基于拓扑连通关系的信息查询问题。

Li与Lin提出了一种基于拓扑的混合式索引结构(topology2based mixed index structure, TM IS)。其基本思想是建立一个由多个小的索引结构组成的混合索引结构,其中小的索引结构分别用来索引被道路网络中的结点或弧段分割开的轨迹数据,多个索引结构之间通过网络拓扑关系有效地结合起来,因此被称为基于拓扑的混合索引结构。轨迹数据与道路网络间的紧密关系能够方便索引基于网络的查询的空间条件,多个简单索引结构间的不同组合也能有效地支持时间查询条件。最近提出的GSTree与TM IS结构非常相似,也是通过多个小索引结构的组合完成轨迹数据查询,包括用于索引静态网络的strip trees以及动态时间的interval trees,然而遗憾的是, GSTree目前只能用于回答基于矩形窗口的查询,对基于拓扑连通关系的查询问题没有给出解决方案。

尽管如上文所述,已经出现了一些用于车辆轨迹数据查询的索引结构,但缺乏与之对应的数据查询语言,目前国内外文献中很少发现相关的研究成果,因此,本文后半部分将以TM IS结构为基础对用于车辆轨迹数据的查询语言进行初步探讨。

本文中要处理的问题有两层:第一,定义一个简洁的移动物体数据类型集;第二,设计一个小型的并且高效的查询判断集。在前面已经定义了数据类型。嵌入SQL的查询判断定义声明如下:

SELECT id or their equations <other attributes of T or moving objects relation>

FROM trajectory tables

WHERE TIME [time_instant1, time_instant2] AND /OR

NET_ROUTE [line1, node1, line2, node2,…, linen]AND /OR other standard SQL query conditions

其中:

TIME [time_instant1 , time_instant2]描述了一个时间段(如果time_ instant1 不等于time_ instant2)或者一个时间点(如果time_instant1与time_instant2相等); NET _ROUTE [line1,node1, line2, node2,…,linen]描述了一个由一系列线段和结点构成的网络路径。

通过执行以下两步查询来解决一个如定义所示的查询:

(1)SELECT 1 into temp_table FROM T

WHERE other standard SQL query conditions

(2)SELECT fields or their equations FROM T

WHERE TIME [time_instant1 , time_instant2] AND /OR NET_ROUTE [line1 , line2,…,linen]

根据定义中的TIME条件可以把查询语句分成以下3 类, 其中N代表当前时刻:

(1)对移动对象过去轨迹的查询,时间条件可以代表一个时段或一个时刻,即time_instant1<time_instant2≤t或者time_instant1=time_instant2<t,如计算过去两小时内从结点n1出发经线段l1,l2 到达结点n2的车辆平均旅行时间、某一时刻在线段l1上的车辆数等。

(2)对移动对象现在轨迹的查询,时间条件只可以是一个时刻,即time_instant1=time_instant2=t,如计算现在行驶在线段a1上的车辆数、查找现在距离某加油站100 m之内的车量数等。

(3)对移动对象未来轨迹的查询,时间条件可以代表一个时段或一个时刻,即t≤time_ instant1< time_instant2或者t<time_instant1=time_instant2,如预计接下来两个小时内会进入线段l1 的车辆数、预测接下来两个小时内会从结点n1行驶至结点n2的车辆数等。

3 SQL查询的实现

查询语句的执行过程如下:

首先,找到WHERE子句; 从该子句中发现关键字TIME及NET_ROUTE; 提取关键字后面的查询条件;根据time_instant1及time_instant2 判断查询类型,进而调用相应的索引结构和方法获得结果。根据不同的索引类型,以下给出实现方法描述。

3.1 对移动对象过去轨迹的查询

由于移动对象过去轨迹查询与历史轨迹数据有关,因而涉及动态索引结构LineR-tree和NodeB-tree。如查询t1 至t2间通过线段l1 的车辆数量, 可以应用以下两步骤实现:

(1)找到与线段l1 对应的LineR-tree。

(2)对此LineR-tree应用R-tree搜索算法,查找EnterTime≥t1 且LeaveTime≤ t2 的区域内的记录数目,返回结果。

用定义语言描述如下:

SELECT id FROM T

WHERE TIME [t1, t2] AND NET_ROUTE [l1]

再如查找t1至t2间通过路径(l1, n1, l2, n2,…)的所有车辆,它的空间查询条件为包含一系列线段与结点的路径,其实现过程如下:

(1)取路径中的第一个线段l1 ,查找与该线段对应的LineR-tree。

(2)对此LineR-tree应用R-tree搜索算法,查找EnterTime≥t1 且LeaveTime≤t2 的区域内的记录, 并将它们保存到一个集合中,命名为V。

(3)取路径中下两个元素,结点n1 与线段l2。从Turn table中查找ViaNode为n1、FromLine为l1、ToLine为l2 的记录,查找与该记录对应的NodeB-tree。

(4)对查找出的NodeB-tree使用B-tree搜索算法以选择t1 至t2 间的记录,并把结果保存到一个集合中,命名为C。

(5)比较集合V与集合C。保留共同属于两个集合的记录,将其余记录从集合V中删除。

(6)取路径中的下一个线段,及对应的LineR-tree,重复步骤(2)~(5) ,直到路径中没有剩余线段。

(7)集合V中的记录即为最终结果。

上述步骤中,首先用一个集合存储所有可能的目标,然后逐步将不可能的目标从集合中删除。

用定义语言描述如下:

3.2 对移动对象现在和未来轨迹的查询

移动对象现在轨迹和将来轨迹的查询都涉及动态索引结构RealB-tree。现在时刻是移动对象现在轨迹查询关注的一个特殊的时刻。在多数情况下,它的空间查询条件仅包括一个线段,可以简单地找到其相对应的RealB-tree,然后,应用B-tree的标准搜索算法获得查询结果。在某些情况下, 移动对象现在轨迹的空间查询条件关系到一些结点。如查找现在处于结点n1 的车辆数。对此类查询,可以将其转化为数个移动对象过去轨迹或移动对象将来轨迹查询,如查找刚刚(或即将)从结点n1 通过的各条线上的车辆数。其实,在现实世界中这种查询是很少发生的,因为同时满足短时间(“现在”)和小范围空间(“节点”)的查询结果往往会频繁地变化,相应的查询缺少意义。

移动对象将来轨迹的查询结果是对未来的估计,因此需要对某些变量进行假设,如通行时间、行驶速度、路径选择概率等。如查找接下去的1小时内,进入某网络路径的车辆数,其解决思路如下:

(1)利用递归的方法找出所有可能在1小时内进入该网络路径起点的线段,此处就需要假设各个线段的行驶时间。

(2)找到与这些线段对应的RealB-tree,获知其记录总数。

(3)根据路径选择概率,计算最终进入该路径并最终沿该路径行驶的比例,与记录数相乘即为所求结果。

4 结束语

本文介绍了一种公路网上移动物体的模型。公路网是由电子地图表示的。移动物体轨迹模型和公路网的连接代表了此方面工作的一种创新。提出了面向连通关系的查询的定义、分类及实现方法。面向连通关系的查询的定义是现有SQL的一个延伸,新增了TIME及NET_ROUTE关键词,尤其是NET_ROUTE所指示的网络路径查询条件使这种查询区别于其他查询语言。

根据TIME条件的不同, 这种查询可分类成移动对象过去轨迹查询, 移动对象现在轨迹查询及移动对象将来轨迹查询。针对不同类型的查询,需要调用或组合不同的动态索引结构, 移动对象过去轨迹查询需要ArcR-tree和NodeB-tree,而移动对象现在轨迹查询及移动对象将来轨迹查询需要RealB-tree。在现实世界中,通常会涉及更复杂的查询,如查找车辆从甲地到乙地所采用的不同路径,并比较某一时间段内在每条路径上的平均行驶时间,此类查询是多个基本查询类型的组合,需要多个查询语句描述。目前的编译器尚仅能工作于简单或标准查询类型的查询语句,而且查询的定义结构还相对简单,限制了其描述能力,今后的工作中,将继续完善查询的语言定义。

参考文献

[1]卢炎生,陈刚,潘鹏.基于公路网的移动对象数据库数据模型[J].计算机工程,2007,33(5):36-40.

[2]WOLFSON O,SISTLA A P,CHAMBERLAIN S.Updating and QueryingDatabases that Track Mobile Units[J].Distributed and Parallel DatabaseJournal,1999,28(369):257-283.

[3]宋广军,郝忠孝.一种基于受限网络的移动对象索引[J].计算机科学,2009,36(12):138-141.

[4]纪鹏程,丁治明,陈滨.基于交通路网的移动对象数据库系统的研究和设计[J].计算机应用研究,2007,24(8):278-286.

移动公交离线查询系统的设计与实现 篇4

城市公交由于覆盖面广、经济快捷的特点, 目前仍然是绝大数出行者的首选方式, 也是各地城市政府大力发展的一种交通方式。针对目前的实际情况, 大力发展城市公共交通, 鼓励并吸引市民选择乘公交出行, 将会大大减弱交通压力, 从极大程度改善交通状况。影响城市公交服务水平的因素主要有四个方面:方便性、迅捷性、经济性、舒适性。改善公交服务, 就必须从四个方面综合考虑, 一般各城市采取的措施有:合理布设公交线路网;改善公共交通设施;提高公交车速;将设智能公交系统。

同时在建立在线网络查询公交信息的同时也支持离线查询, 即使在没有网络连接更新的情况下可以利用已经下载存储在手机里的地图使用, 并且能对手机里的地图做进一步的更新, 从而使得信息具有实时性和准确性。

Android是一个真正意义上的开放性移动设备综合平台, 它包括操作系统、用户界面、中间件和一些关键的平台应用, 拥有移动电话工作所需的全部软件。Android最大特点在于它是一个开放的体系架构, 具有非常好的开发和调试环境, 而且还支持各种可扩展的用户体验, Android里面具有非常丰富的图形系统、对多媒体的支持功能和非常强大的浏览器。

1 开发环境及相关技术简介

1.1 系统环境的搭建

本系统是基于Android平台的离线公交线路查询系统, 因此Android平台是首要搭建的平台, 鉴于目前主流的Android系统基本上都在Android4.2版本以上, 因此就选择Android SDK 2.1版本作为开发本系统Android手机客户端的基础。

此外, 本系统使用Android操作系统+SQLITE+谷歌API作为Web端的开发基础。

1.2 软件组成

在Eclipse集成环境下创建一个android的应用软件并命名为“and”, 会生成几个文件夹。文件夹src中主要存放大量的Java源程序, 文件夹res中主要存放界面设计需要的XML文档、界面图片和数据库文件。公交车的活动类主要在busactivity.java程序中, 软件界面设计主要在main.xml文档中。如图1所示

2 系统功能设计及概述

2.1 系统体系结构

手机客户端通过无线网与服务器连接并请求数据。如图2所示。

2.2 模块设计

2.2.1 程序模块划分

地图显示模块、GPS定位模块、查找定位模块、公交查询模块、公交数据下载模块、数据更新模块、地图图层模块。

2.2.2 程序模块功能描述

(1) 地图显示模块—该模块的功能就是实现地图的显示, 并且能够对地图进行拖动、放大、缩小。当用户点击主界面上列表中需要显示地图的item时, 显示谷歌地图, 单机地图界面后能够浮现出放大、缩小按钮, 每次单击放大 (缩小) 按钮都能将地图放大 (缩小) 一个级别, 谷歌地图共有24个级别, 放大级别越高实现结果越详细, 按住屏幕不放就可以拖动地图。

(2) GPS定位模块—本模块利用系统中的GPS服务实现定位, 但是由于模拟器中没有GPS模块, 所以需要通过DDMS虚拟坐标, 模拟卫星获得当前位置并发给手机的过程。获得location以后就可以在地图中找到这个位置, 并将地图更新, 使这个location位于地图中央, 并用红色的圈圈表示出来。

(3) 查找定位模块—本模块实现的功能是在地图中查找用户要查找的点, 并在地图中用红色圆圈标识出来。这个模块从编辑框中捕获用户要查找的地点名以后根据这个地名字符串在地图中查找最相近的location, 找到之后更新地图到相应的GEO-POINT。

(4) 公交查询模块—公交查询模块的主要功能分为三个:车次查询、站点查询、站站查询。车次查询是从数据库中查询某一路公交车的信息, 包括起始时间, 公交路线等, 并且可以在地图中画出这路公交车的通车路线;站点查询可以获得经过某个站点的所有公交车, 查询结果以列表的形式显示, 单击一项会显示该路公交车的详细信息;站站查询与站点查询类似, 是获取在两个站点之间通车的公交车次。

(5) 公交数据下载模块—本模块通过HTTP协议与Web服务器进行连接, 并下载公交数据。手机上通过http协议来获取网页一般会有500ms的延迟, 网页请求过程是手机客户端访问网页的最大瓶颈所在。该模块通过指定URL连接到Tomcat服务器, 从Web服务器上获取所选城市对应的公交数据以数据流的方式下载到手机的SDcard上, 为了减少处理时间, 采用下载与存入数据库并行的方式。

(6) 数据更新模块—本模块实现管理员对于公交数据的管理更新。公交数据是存放在服务器上的, 所以当公交数据需要更新时, 管理员在服务器端更新文件, 手机用户只需要从服务器重新获取新数据即可。

(7) 地图图层模块—该模块主要功能;在谷歌地图上增加图层。例如在地图上画出某一路公交车的行车路线, 在地图上用红色圆圈标识要查找的地点等。

3 地图相关功能模块

3.1 GPS定位模块

具体实现主要功能:

利用GPS服务定位用户的当前位置。如图3所示。

3.2 查找定位模块 (

(1) 模块描述

主要功能以及方法如下:

(1) 主要变量:

private Map View m Map View01:地图视图对象

Map Controller m Map Controller01:控制地图大小以及是否可以拖动的变量

(2) 主要方法:

set On Click Listener (new Button.On Click Listener () ) 对查询按钮单击时间的监听, 当用户单击查询时进行响应。

private Geo Point get Geo By Address (String str Search Address) 以:要查询的地址为参数, 通过地址名在地图中查找这个地址的Geo Point。

(2) 具体实现

系统界面中用了三个控件:Edit Text, Button, Map View。用户在Edit Text中输入要查询的地点名称, 单击查询按钮以后调用get Geo By Address (String str Search Address) 函数进行查询, 将获得的结果传递给refresh Map View By Geo Point (Geo Point gp, Map View mv, int zoom Level, Boolean b If Satellite) , 对显示的地图进行更新, 更新至查询地点, 并用红色圆圈标注要查询的地点。

4 公交查询功能模块

4.1 车次查询模块

该模块的主要功能是:查询某一路车的信息, 包括公交车名, 通车起始时间以及通车路线车次查询模块流程如图4所示。

4.2 站站查询模块

(1) 模块描述

该模块的主要功能是:与站点查询类似, 查询在两个站点之间通车的所有公交车, 查询结果以列表的形式列出, 列表的每一项包括公交车名, 通车起始时间以及通车路线。焦点移到某一项时该路公交车的通车路线以走马灯 (文字从右向左滑动显示) 的效果显示。点击其中的一项, 会显示这一路公交车的详细信息。

模块功能实现类:Stop2StopResult类, Stop2Stop类, showclick类。

(2) 具体实现

点击确定按钮后判断两个Edit Text是否都为空, 若有一个或者两个为空给出提示, 否则在数据库中进行查询, 关键代码:

查询结果为空弹出对话框进行提示, 若不为空就将查询结果显示在stopinfo布局界面中。界面最上方的标题设置为“经过”+stopname+“和”+stopname2+“的公交车有:”。然后对单击事件进行监听, 单击某一项以后该项公交车信息传递给showclick类, 在showclick类中完成公交车详细信息的显示。

5 公交数据下载模块

(1) 模块描述

该模块功能:点击更新公交数据时, 弹出选择城市对话框, 用户点击选择后连接Tomcat服务器, 下载公交数据文件, 同时存入SQLITE数据库。

模块功能实现类Download类, select2download类, databse类和databse Helper类。

(2) 具体实现

用户点击更新公交数据时, 弹出选择城市对话框, 用户点击确定后连接Tomcat服务器, 调用Down Load类中的函数start () 开始下载公交数据文件, 下载同时保存选择的城市名, 传递城市名给databse类, 在databse类的on Create () 函数中调用Devide To Item (filename) 函数, 将文件中的每一辆公交车的信息切分成三段, 并调用add Event (String string, String string1, String string2) 函数将这三段按照字段存入数据库。

6 数据更新模块

(1) 模块描述

本模块完成在地图中添加图层的工作, 例如在地图上画红色的圆圈来标识要查找的地点, 在地图上画公交路线等。

这个模块实现的类:Over Lay, My Over Lay类, 两个类均继承Overlay, Overlay是Android提供的存在地图上添加图层的基类, 只要重载其中的draw函数就可以在地图上画出不同的标志。

(2) 文件说明

(1) Over Lay.java:画出红色圆圈来指定位置。

(2) My Over Lay.java:在某一路公交车的每个途径站点画蓝色的圆圈, 相邻两个站点之间画蓝色的线。

7 软件运行

软件的运行界面如图5所示, 从图中可以看出, 实现的功能有线路查询、站点查询, 软件的界面是北京地图的部分截图, 同时说明查询结果的显示位置。点击menu按钮会有“帮助”“联系我”“退出”按钮。

路线查询如图6所示。输入公交的线路点击“搜索信息”就会出现1路公交车经过的所有站点名称, 在站点查询中输入站点名称, 就会显示经过该站点的所有公交, 如果不存在该路公交或者不存在该站点名称, 则输出“没有您要找的信息”。

8 结束语

本文基于Android移动开发平台, 开发设计了一款公交辅助导航软件系统。该系统基于Android操作系统, 结合SQLite数据库和谷歌地图应用程序编程接口, 通过全球定位系统, 实时定位用户当前位置, 完成公交线路查询、公交站点查询、出行线路规划等功能。能满足用户在不同情况下完成公交信息查询和路线规划。实验结果表明, 该系统能运行于基于Android系统的移动设备, 为用户出行带来了方便。

但由于经验不足能力有限, 所以在功能实现方面还不够完善, 同时也有许多细节问题没有考虑周全。虽然这次研究课题的多数功能已经实现, 系统制作已经完成, 但是研究成果仍显粗糙, 没有很好体现所用技术的优点, 这些会在今后的学习中不断改进。

参考文献

[1]陈旭.电子商务基础[M].重庆:重庆大学出版社.

[2]熊晓旭, 丁玉军, 张丽梅.浏览器一服务器模式管理信息系统可行性研究[J].应用科技, 2000, 27 (9) :20-22.

[3]邓子云, 张赐.JSP网络编程[M].北京:电子工业出版社, 2003.

[4]杜欣然.利用JSP技术开发基于Web的人事工资管理系统[D].大连:大连铁道学院, 2003.

[5]冯燕奎, 赵德奎.JSP实用案例教程[M].北京:清华大学出版社, 2003.

移动查询 篇5

本文基于Android平台, 通过对百度地图API的调用, 结合SQLite数据库, 实现了基于位置服务的移动公交查询系统。系统能够满足用户查询公交路线的需求, 实现地图查看、实时定位、公交路线站点查询、乘车方案查询等功能。

1 系统开发环境

移动公交查询系统的开发环境的主要包括:基本Java环境JDK (Java Develop Kit) 、Eclipse、Android SDK (Software Development Kit, SDK) 、ADT插件 (Android Development Tools, 开发工具包) 和百度地图SDK, 各个组成部分的关系如图1系统开发环境示意图所示。搭建步骤如下:1) 安装JDK基本java环境。2) 安装Eclipse集成开发环境。3) 在Eclipse中安装ADT插件, 并在Eclipse中进行环境设置。4) 在Eclipse环境中按照并配置Android SDK。5) 建立Android虚拟设备 (AVD) 。

2 系统总体设计及数据库设计

2.1 系统总体设计

在需求分析的基础上进行系统总体设计, 移动公交查询系统由地图、导航、系统设置等三个功能模块组成, 如图2移动公交查询系统功能模块图所示。

2.2 数据库设计

在系统的数据库设计中, 对于公交信息、线路信息均通过百度地图API获取并未进行本地存储, 因此系统仅对常用地址采用SQLite数据库[6]进行了存储, 以便于多次查询。常用地址表结构如表1所示。

3 功能模块实现

3.1 地图模块

通过链接 (http://api.map.baidu.com/lbsapi/cloud/geosdk-android-download.htm) 下载百度地图Android SDK的相应开发包[7], 根据百度地图Android SDK来配置Eclipse开发环境。申请获取百度地图移动版的开发密钥, 通过SDK显示百度地图数据接口进行相应的操作, 在系统中显示百度地图。在系统中添加地图事件监听方法, 使用户进行拖动、双击、旋转等操作时可以改变地图的状态。

地图视图切换模块根据百度地图Android SDK提供的三种类型的地图资源:普通矢量地图 (2D、3D) 、卫星图、实时路况图, 在系统中通过map Type方法设置地图类型。

搜索定位功能模块调用百度地图API搜索类Marke Search进行查询, 根据返回的包含经纬度的坐标点, 调用百度地图API的定位类Location Client对该坐标点进行定位。图3显示了系统的定位功能, 图4显示了以上海为关键词进行搜索时城市切换功能。

3.2 公交路线查询模块

路线查询功能模块能提供指定线路的站点信息, 并且在地图上呈现相应的行车路线。该功能通过调用百度地图API中的Bus Line Search类进行查询, 并返回相应路线上节点的相关坐标点集合。调用百度地图API Text Option类根据坐标点集合在地图上进行绘制, 从而在地图上显示出该线路公交的行车路线。图5显示了查询303路公交时, 地图上显示出的303路公交车的行车路线。单击地图下方出现的前后图标按钮, 相应按钮的单击事件通过修改查询索引下标, 调用Text Option类在百度地图上显示出公交站点名称。通过点击向前向后按钮, 即可查看303路公交车的所有站点, 在图5中路线上显示的站点是交警支队, 图6为点击向前按钮后显示的前一站点康园小区站。

3.3 公交乘车方案模块

乘车方案功能模块能根据用户提供的起点和终点, 显示二者之间的所有换乘路线方案, 并且能显示出所有换乘路线中用时最短、距离最短、换乘最少的方案。

根据用户输入的乘车起点和目的站, 在进行查询操作时百度API相关类会传入一个名为on Get TransitRouteResult的类, 该类中封装了公交路线的距离、起点、终点、节点、时间、换乘等公交路线的所有基本信息, 通过比较算法可筛选出距离最短, 换乘最少, 时间最短的乘车路线。图7显示长治学院到西客运中心站的换乘信息, 其中2路车是距离最短、时间最短并且换乘最少的乘车路线。图8显示长治学院到火车站的乘车方案, 其中9路转13路时间最短, 13路距离最短且无需换乘。

3.4 系统设置模块

常用地址功能用来保存经常用到的地址信息, 该功能通过SQLite实现。SQLite继承了SQLite Open Helper类单例模式的实现, 通过SQLite Database数据库工具类, 可以对常用地址信息表进行增删改操作。退出系统功能通过调用android.app.activity类的方法实现。

4 总结与展望

基于百度地图的移动公交查询系统通过对Android API、百度地图Android SDK、数据库SQLite等的应用, 实现了地图显示、定位、公交查询、乘车方案查询等基本功能, 使用户可通过本系统进行合理的乘车安排, 方便出行。系统基于Android平台和百度地图的开放性, 同时利用各种插件开发包的设计实现方法为移动公交查询系统提供了一种解决方案。

摘要:传统公交查询系统的设计与实现局限于Web页面, 这种公交查询系统的移植性和便捷性都比较差。针对移动智能客户端查询公交线路信息的需求日益强烈的问题, 基于Android平台, 通过对百度地图API的调用, 结合SQLite数据库, 实现了基于位置服务的移动公交查询系统。系统能够满足用户查询公交路线的需求, 实现地图查看、实时定位、公交路线站点查询、乘车方案查询等功能。

关键词:公交查询,百度地图,Android SDK,SQLite

参考文献

[1]张永梅, 韩焱, 陈立潮.城市公交查询系统的研究与设计[J].计算机应用, 2005, 25 (2) :422-425.

[2]连剑, 许钦泰, 王永, 等.基于GIS公交查询系统的设计与实现[J].交通运输工程与信息学报, 2009, 7 (3) :68-72.

[3]刘晓艳, 闫宏印.太原市公交查询系统的设计及实现[J].电脑开发与应用, 2008, 21 (4) :70-72.

[4]王进.实时公交查询系统的优化设计和实现[D].北京:北京邮电大学, 2013:32-38.

[5]周继芳.基于J2EE的公交线路查询系统的设计与实现[D].成都:电子科技大学, 2009:23-26.

[6]Grant Allen, Mike Owens, 杨谦, 等.SQLite权威指南[M].北京:电子工业出版社, 2012:5-11.18-23.

[7]Yanlis.LBS云[EB/OL].http://baike.baidu.com/view/9431479.htm?fr=Aladdin, 2015-5-20.

移动查询 篇6

虽然Web服务功能强大, 但主要还是集中于桌面级的应用。随着Web服务在IT领域的普及, 以同样的方式为每个可能的系统提供和处理XML类型的负载的方法已经不再新鲜, 更大的挑战来自于移动应用领域。像PDA和移动电话这些特殊的移动客户端设备, 它们总在不停地访问重要数据, 但却受到内存、显示和高延迟网络的不利影响, 使得Web服务在移动设备中的应用一直处于规范的制定和理论研究阶段。但是随着无线通信技术和移动电子商务的发展, 以及手机等移动通信设备在人们日常生活中的普及, 越来越多的企业和个人开始关注Web服务在移动设备中的应用。在2005年的3GSM大会上, 通信巨头诺基亚宣布在其Series6.0第3版本中将Web服务作为配置中的标准部件, 这将意味着, 未来的诺基亚手机, 都将支持Web服务应用[1]。诺基亚对这项新技术的推动, 无疑将会掀起移动设备上研究Web服务的应用风潮。此外, J2ME (Java 2MicroEdition) 是SUN公司推出的针对嵌入式消费类电子产品的开发平台, 由于其易用性、平台无关性、易移植性等诸多特征使它成为了嵌入式/移动应用平台的王者。而该公司发布的“J2MEWebServices”的技术白皮书, 为人们展示了该技术的概况和现状[2]。因此, 实现移动设备对Web服务的访问将是未来发展的必然趋势。

1 J2ME和Web服务技术的集成

如何真正地将移动设备融入到Web服务中去需要使得PDA、手机等成为Web服务的客户端。Web服务的基础架构是由客户端和服务器组成的。客户端是请求Web服务的软件, J2ME的MIDlet可以成为Web服务的一个客户端, 并且可以访问在共同的Web服务器基础架构中有权限使用的任何Web服务。现阶段使用J2ME应用程序访问Web服务主要有以下三种方式[3]:

(1) 使用REST (RepresentationalStateTransfer, 表现状态传输) 技术。简单来说, REST就是用URL来代表资源, 通过HTTP协议的Get, Post, Put, Delete方法来对资源进行操作, 然后对XML进行解析, 包括对SOAP信封的解析, 获得所需的数据, 所有过程都由程序员自己来做, 很容易出错, 不利于代码复用, 更没有安全性可言。

(2) 使用KSOAPAPI。KSOAPAPI将上述过程自动化, 但客户端需要知道Web服务的接口才可以调用Web服务。它主要应用在未支持JSR 172标准的设备上, 可以通过定义数据类来通过Serializable之类的接口持久化和还原它们自身, 并且使用KSOAPAPI来动态调用适当的方法和创建SOAP信封, 然后使用KXML解析器自动进行解析的, 以供应用程序处理。

(3) 使用MIDP2.0中的JSR 172 (WSA, Web ServiceAPI) 。JSR 172是2004年3月, 由JCP (Java CommunityProcess) 组织定义的规范, 要求移动设备支持MIDP2.0。它把对Web服务调用和XML解析的基本支持集成到设备的运行时环境, 使用JAXP子集API处理XML文档, JAX-RPC子集API调用Web服务。其具体步骤为:根据Web服务的WSDLXML文档生成JSR 172JAX-RPC存根类的实例, 用存根的实例与Web服务进行交互[4]。

从上述的分析可以看出, 使用REST技术访问Web服务需要自己构造请求调用的SOAP消息, 因此比较麻烦;而用JSR 172虽然是移动设备调用Web服务的标准规范, 但一些低级的移动设备不支持它。为了能使更多的设备运行系统, 本文采用了KSOAP方式来调用Web服务, 其优点是快捷, 可以动态的调用Web服务而不用对每个服务生成Stub存根, 缺点是必须在编码前知道Web服务的接口, 但可以通过WSDL文件来获得。

2移动成绩查询系统的设计与实现

2.1系统总体架构

系统采用了Client/Server架构, 以支持J2ME/MIDP的手机为客户端;以Axis和Tomcat为Web服务器, 负责提供对后台数据库进行操作的功能, 为客户端提供相应数据, 系统的架构如图1所示。

2.2 服务器端的设计与实现

在Java环境下, 目前有许多种方式来开发Web服务, 如:IBM的WSDK (WebSphere SDK for Web Services) 、Sun的Java Web服务开发工具包、Apache的xFire和Axis等, 这些开发工具都提供了SOAP消息的传递。因为Axis的核心是一个SOAP处理器, 并且是以Web应用形式发布以Servlet的方式运行的, 因此它运行时还需要一个Web容器, 这里采用了Apache Tomcat。由于单独使用Apache Axis开发和发布Web服务比较麻烦, 而IBM的Eclipse wtp-all-in-one不仅提供了对Axis的集成, 还可以将Tomcat集成进来, 而且是一个集Java编译、运行、调试为一体的开发环境, 操作起来非常方便, 所以系统采用了Eclipse wtp-all-in-one作为整体开发环境。

在服务器端中建立一个Web服务ScoreWS, 实现对学生成绩的查询。该Web服务提供了public String getScore (String stuID, String termName) 方法, 通过输入学生的学号和学期信息参数, 返回该生该学期的成绩。

由于Axis可以将普通的JavaBean发布为Web服务, 在本系统中是将ScoreWS作为JavaBean发布成为Web服务的, 步骤如下:

(1) 在Eclipse中创建一个新项目new->project->web->Dynamic Web Project。

(2) 新建类ScoreWS提供public String getScore (String stuID, String termName) 方法。

(3) 新建一个Server, new->Other->Server将其与Tomcat联系起来, 用于发布Web服务。

(4) 右击ScoreWS, Web Service->Create Web Service, 创建和发布了Web服务。

Web服务ScoreWS类的代码如下所示:

2.3 客户端的设计与实现

客户端主要实现向服务器发送请求, 以调用Web服务实现成绩的查询并返回。

首先用WTK2.2创建一个工程名为WSClientMIDlet。将客户端需要用到第三方的.jar包, 即ksoap-midp.jar和kxml2-min-2.2.2.jar复制到WSClientMIDletlib目录下。这样就可以在应用程序中使用KSOAP。

其次创建SoapObject对象, SoapObject是一个高度抽象化的类, 让无线设备完成SOAP调用。

SoapObject soap = new SoapObject (serviceNamespace, methodName) ;

SoapObject构造函数的两个参数分别是:所调用的Web服务的命名空间和其中的方法。

然后使用addProperty方法调用Web服务中的参数:

接下来就要声明

HttpTransport ht = new HttpTransport (serviceUrl, methodName) ;

这是一个强大的helper类, 来完成Http-call transport process, 它封装了network的一切, 你完全不用考虑序列化消息。方法HttpTransport.call () 自己就能够发送请求给服务器、接收服务器响应并序列化SOAP消息, 如下所示:

还要注意的是, 使用网络连接这种费时操作的时候, 一定要单独开线程进行, 不要直接写在commandAction () 方法里, 否则出现画面被锁住的情况。

最后, 就可以打包发布该MIDP程序了,

2.4 系统运行结果

根据系统的设计和实现, 最终的运行效果如图2所示。

3 结束语

随着3G时代的到来和移动终端设备的普及, 无线应用已经渗入到社会生活的各个方面, 人们的需求也在不断变化。从以前对PC机上应用系统的需求逐渐转向手持移动终端上, 无线应用系统成为企业或个人信息化不可缺少的一部分。本文在结合J2ME和Web服务两种技术的优点基础上, 设计与实现了一个基于移动Web服务的成绩查询系统。最后通过系统的模拟运行, 验证了Web服务在基于J2ME平台的移动设备中应用的可行性, 对类似的应用提供了新的思路和解决方法。

参考文献

[1]当Web Services遇到手机.http://tech.ccidnet.com/art/3089/20060317/482869_1.html, 2008-12-20

[2]JavaTM2Platform.Micro Edition (J2METM) Web Services.A Tech-nical White Paper.Sun Microsystem Corp.July, 2004

[3]程耕国, 覃科.用J2ME/MIDP移动应用程序访问WEB服务.武汉科技大学学报 (自然科学版) , 2006;29 (1) :87—92

移动查询 篇7

1 移动环境下的查询优化算法的改进及模块设计

1. 1 多元连接存储查询改进算法设计

当前常见的多关系半连接算法由于为了减少传输量, 使得这种算法并不完善, 有些以下问题需要解决: 由于在该算法中无法事先知道选择因子, 必须依赖于DDBS的其他算法求出; 算法要多次进行辅助运算。对于这些问题的出现, 在本文中将设计一种并行处理算法, 以达到简单高效的运算效率, 即采用经过改进的最小生成树算法应用到多元连接查询, 这里首先介绍一下什么是最小生成树法: 首先给出一个设定好的多元自然连接查询Q, 所谓最小生成树算法是指寻找一个最佳连接次序, 从而使得查询Q的总代价最小。如何评价一个移动计算环境下的多元连接查询算法的好与坏, 这主要综合考虑其通信费用低及并行性高。提高多元连接查询算法的并行性, 有利于提高整个算法的效率。由于多元连接查询的自身特点, 并行连接对于其影响十分巨大。在此基础上对最小生成树算法进行改进, 使其存在最大量的并行连接操作, 除此以外, 还要保障总代价最小。算法部分主要伪代码如下:

1. 2 算法实现系统结构

图1 为本次所使用系统平台的硬件设置。利用Socket两者可以实现网络通信, 进行移动环境下的无线网络模拟, 在具体编码实现时分为MC Agent和的MSS Agent两个部分, 主要模块设计如下。

2 仿真实验及结果分析

2. 1 数据分析

本次实验中包括众多数据不仅有全局站点信息还有全局表信息, 网络传输代价系数矩阵等。我们利用传统的统计方法来获得这些信息。表1 和表2中给出了本次设计的一些基本参数, 其中依次记录的是表的名称 ( table) 、表的元组总数 ( total) 、属性列的名称 ( Col1, Col2, …) 、该属性列不同值的数量 ( Dif) 、取值的区间[Min, Max]。

选取下面一共8 条sql查询语句 ( 均为链式连接) 作为实验查询语句:

①select * from A, B, C, D, E where A. a = B. a AND B. d = C. d AND D. e = C. e AND D. f = E. f AND A. a >6 AND B. d<20;

2. 2 执行结果分析

分别考察了多连接算法及经改进过的最小生成树算法对于多元连接查询代价的影响。在表3 中给出了实验结果, 除此以外, 并发执行路径在表4 中也给出了相应的结果。普通多连接算法并没实现并行处理的思想, 只是在连接查询中过程中采用了半连接处理, 经过处理后将其传送到指定站点再进行集中装配。显然这种算法同改进后的算法相比, 时间的消耗要多很多。时间消耗是指经过半连接处理后将其送到指定站点这一传输时间所消耗的时间。

通过执行的⑧、⑨和其他sql查询语句进行对比发现, 如果连接的表数较多时, 经改进的算法总代价同普通算法代价无明显区别, 经改进的算法的优势并没有得到体现, 造成这一现象的主要原因是在中间传输过程中浪费的时间较多, 不过并发执行使得响应时间明显缩短。当表的属性列限制条件较多时, 经改进的算法的总代价同普通算法相比明显要少, 从这一点来看其更加适用于查询的实际情况; 不过值得说明的是当限制条件较少时, 经改进的算法同普通算法的总代价相接近。

本文的算法改进是在最小生成树算法的基础上对其进行加权处理从而提高其性能。经改进的最小生成树算法同原最小生成树相比要复杂很多。由于并行连接可以提高响应时间, 此次改进的算法中多处应用到并行连接。不过在使用并行连接的同时不能保证总代价最小 ( 这里所说的总代价是指边上各权值总和) 。但由于最小生成树算法是在权值最小的边中进行选取的, 因而最终结果也不可能是总代价最坏的情况, 相对而言最好的情形则是指并行连接最多, 同时确保总代价为最小。

3 小结

本文在代价模型的基础上将改进的最小生成树算法应用到多元连接查询优化中, 进而设计出了嵌入式移动实时数据库查询优化系统, 利用Visual C++软件进行模拟仿真。得到的最终结果表明: 经改进的最小生成树算法应用到多元连接查询中能够有效提高响应时间, 同时总代价较小。

摘要:移动结构化存储问题一直以来是移动PC产品研究的热点问题。为了更好地处理移动计算环境下断接等问题, 采用多元连接的查询优化算法进行了设计。首先在理论上设计了改进算法在并行连接操作的优势及特点, 同时利用Socket实现了移动Agent和服务器Agent的网络通信;并完成了移动环境下的无线网络模拟平台设计。实验结果表明改进算法传送到指定站点的集中装配消耗时间显著减少, 在表属性列限制条件较多时, 改进算法的总代价与普通算法相比明显要少, 并行连接最多时改进的算法可以确保总代价最小。研究对移动数据存储的稳定性改进具有一定的意义。

关键词:移动,结构化存储,算法,MC Agen模块,MSS Agent模块

参考文献

[1] 吴娓娓, 陈蜀宇.嵌入式移动数据库现状与发展趋势.计算机科学, 2005;12:88—90

[2] 吴震华, 陈纯, 林怀忠.移动环境下查询处理的迁移模型.计算机科学, 2002;07:59—61

[3] 王珊, 丁治明, 张孝.移动数据库及其应用.计算机应用, 2000;09:1—4, 8

[4] 杨健, 王剑, 汪海航, 等.移动云计算环境中基于代理的可验证数据存储方案.计算机应用, 2013;03:743—747, 792

[5] 覃雄派, 王会举, 李芙蓉, 等.数据管理技术的新格局.软件学报, 2013;02:175—197

[6] 李建中.并行数据操作算法和查询优化技术.软件学报, 1994;10 :11—23

[7] Sandra Newbury, Karen A Moriello, Kenneth Kwochka, et al.Use of itraconazole and either lime sulphur or Malaseb Concentrate Rinse?to treat shelter cats naturally infected with Microsporum canis:an open field trial.Veterinary Dermatology, 2011;221:75—79

[8] Hoshino K, Nakane K, Kameyama Y.Influences of teratogenic agents on the manifestation of genetic malformations-effects of the maternal administration of trypan blue during pregnancy on the manifestation of genetic microphthalmia (mc) in mice.Annual report of the Research Institute of Environmental Medicine, Nagoya University, 1972;19:85 —87

[9] Kramer Rita.The Spirit of Resistance:The Life of SOE Agent Harry PeulevéDSO MC.The Journal of Military History, 2009;732:225

[10] Bochicchio, GrantV, Kilbourne, Michael, Keledjian, Kaspar, Hess, John, Scalea, Thomas.Evaluation of a New Hemostatic Agent in a Porcine Grade V Liver Injury Model.The American Surgeon, 2010;763 :317—320

上一篇:阑尾炎腹腔镜手术下一篇:施工参数