APP下载

基于北斗的渔业交易信息服务的研究与实现

2014-12-13王明灯,苏凯雄

现代电子技术 2014年23期
关键词:信息服务安卓

王明灯,苏凯雄

摘  要: 为了解决目前渔业供需信息实时性不高的难题,使供需信息能通过渔业信息服务平台实现统一的信息收集、整合和发布,提出了一种基于北斗短报文的渔业交易信息服务应用的设计方案。该方案采用基于北斗的安卓船载终端,利用北斗一代的短报文技术实现实时供货量信息的发送,经由北斗地面服务站和Internet将信息数据传送到渔业交易信息服务中心的Web服务器。服务器通过对信息的处理和对用户需求的响应,提升渔业市场的运作效率。

关键词: 北斗短报文; 渔业交易; 信息服务; 安卓; Web

中图分类号: TN927+.2?34                    文献标识码: A                        文章编号: 1004?373X(2014)23?0017?04

Abstract: In order to solve the problems about low real?time efficiency of the supply and demand of fishery information interaction, the design project of the fishery information service platform based on Beidou short message is proposed to realize unified information collection, integration and release of the supply and demand information. The Android ship terminal based on Beidou is adopted in this scheme to deliver the real?time supply information by Beidou short message technology. The fisheries trading information is transmit to the Web server of the fisheries trading information service center through Beidou ground stations and the Internet. The server processes the information and responds the needs of users, so as to promote the operation efficiency of fishery market.

Keywords: Beidou short message; fishery trading; information service; Android; Web

0  引  言

随着近几年北斗产业的迅速崛起,基于北斗系统的行业应用层出不穷。北斗一代的双向短报文通信技术作为北斗系统区别于国外其他导航系统的核心优势,渐渐成为远洋数据通信的首选通信方式[1]。

目前,我国的渔业市场信息化程度还有待提高,渔业市场信息服务时效性不强,先进的信息技术并未在渔业生产过程中得到充分应用[2]。为了解决目前渔业的供需信息实时性不高的难题,结合基于北斗、GPS的船载终端在渔船安全救助系统的应用趋势,本文拟提出一种基于北斗短报文的渔业交易信息服务应用的设计方案。该方案采用基于安卓的北斗船载终端,利用北斗一代的短报文技术实现实时供货量信息、需求信息、预定交易等信息的交互,经由北斗地面服务站和Internet将信息数据传送到渔业交易信息服务中心的Web服务器,服务器实时地处理信息,响应用户的需求,较大程度上促进了供需信息的交互,有效提升了渔业市场的运作效率。

1 总体框架

本方案采用了图1所示的基于北斗短报文的渔业交易信息服务的总体框架。系统主要利用北斗一代短报文通信和多种网络通信手段相结合,提供现代化渔业供需信息交互的增值信息服务:实现渔民用户实时的供货信息发布和采购用户的需求信息发布,实现渔业交易信息服务中心对交易信息的收集、整合、更新、存储、搜索和推荐。通过该系统,采购用户可实时获得渔业供货及对应的价格信息,通过预定、在线支付或线下支付的方式完成,使交易市场能高效地运作。该系统由北斗卫星导航系统、搭载在渔船上的船载北斗通信终端、北斗地面运营中心、渔业交易信息服务中心、连通Internet的网络设备以及各个对应的通信链路组成。

1.1  船载北斗短报文通信简述

北斗卫星导航系统是我国自主建设、独立运行,并与世界其他卫星导航系统兼容共用的全球卫星导航系统。北斗短报文通信是指北斗终端和北斗卫星或北斗地面服务站之间能够直接通过卫星信号进行双向的信息传递。这意味着更为广域的信息传递,比如海洋、沙漠、地震灾区等普通移动通信信号不能覆盖到,北斗终端就可以通过短报文进行紧急通信[3]。

<;E:\LIHUI\12月\12.4\现代电子技术201423\Image\04t1.tif>;

图1 基于北斗短报文的渔业交易信息服务的总体框架

本方案采用基于安卓的船载北斗通信终端进行远程信息交互。利用北斗的短报文通信功能,渔船用户向渔业交易信息服务中心发送货物的多个状态信息,经由渔业交易信息服务中心接收来自采购方的交互信息,实现了实时的货物信息提交、货物预定功能和交易双方的信息交互。

1.2  渔业交易信息服务简述

渔业交易信息服务中心配置于海洋渔业管理服务部门,负责所属用户的入网注册、渔业交易信息服务、服务计费等,具备与北斗运营地面站、移动通信网络、Internet网络相连接的接口。该方案的用户主要是渔业交易买方和卖方,买方用户通过手机或PC端经由因特网、渔业交易信息中心获取信息服务。渔业交易信息服务中心由Web服务器、移动客户端服务器、关系型数据库构成,负责交易信息的收集、整合、更新、存储、搜索和推荐,通过互联网或手机客户端实现实时的渔业有关产品的电子交易。

通过针对性地考察和分析渔业交易市场及其业务逻辑,结合目前典型的电子商务交易平台设计,本课题设计的系统功能要求如下:

(1) 完善的业务数据信息管理;

(2) Web端和移动手机客户端拥有美观友好的操作界面,能保证易用性;

(3) 数据库安全,防止恶意SQL注入;

(4) 具备不同种类的模糊查询,可按不同种类查看海鲜的供需信息;

(5) 海产品销售排行和评价系统;

(6) 海产品物流跟踪插件,如提供物流公司及订单号;

(7) 系统的可扩展性、容错性、稳定性。

2 关键软件处理流程

本文着重讨论渔业交易应用下的北斗短报文和信息服务管理的设计与实现。

2.1 船载终端上北斗短报文的设计与实现

2.1.1  报文数据定义

北斗短报文遵循北斗用户机用户接口协议格式,指令以$开头,以ASCII编码。短报文的发送和接收在协议中指令头被分别解析为TXSQ和TXXX,长度、用户地址、信息内容及校验和所占数据空间如表1所示。

通过北斗一代的短报文通信功能,船载终端可以实现如下功能:渔市行情、渔业交易信息,紧急报警,渔船分组管理,响应控制中心的控制指令,向监管中心发送位置信息报告,作业渔船对外的通信,为渔船提供天气预报、潮汐情况、台风警报等。

为了规范短报文信息参数的注入和提取,需定义短报文中变长数据段的参数格式。一条短报文的“电文内容”数据段需要的参数为条目ID、海鲜名称、报价、时间戳、联系方式、销售状态。条目ID指一条供货/采购信息,使用ID方式确定其惟一性,通过该条目中时间戳和联系方式的合并哈希码算法来惟一确定该ID,有利于大数据条目搜索;海鲜名称是填写具体的货物名称;报价是渔船用户对于具体货物相应的报价,以元/斤作为统一单位;时间戳是指该条目的更新时间,可以从北斗的RMC卫星参数信息指令中获取UTC参数段提取日期和时间,对该时间戳进行数据填充;联系方式指渔船用户或采购方用户的手机号码;销售状态通常有3种,分别是待售、已预定、已售出,用来实时更新服务器的数据库,为双方用户提供实时的状态信息。需求的电文内容数据段大体类似于供货的内容,不再赘述。供需电文内容格式示例如表2,表3所示。

2.1.2  短报文通信软件处理流程

短报文的信息处理分为两部分:发送和接收。在发送部分,通过NewMessageActivity活动定义新建信息界面,此时会弹出弹窗,要求填入海鲜名称、报价、销售状态、指定服务中心地址等参数作为供货电文内容字段。指定服务中心地址的填写有两种方式:一是指该渔船附近的指挥机地址,通过附近的北斗指挥机转发短报文到服务中心;二是指服务中心接收机地址,直接与渔船终端进行通信。

电文内容较长时,采用半字节数据压缩算法。该算法是在一种原半字节压缩算法的基础上改进的算法,压缩比达50%,在一定程度上缓解了北斗地面运营服务站传输数据的压力。此时各字段已经获取到相应数据,通过Array数组将其组装成符合协议的通信申请指令。一般来说,海鲜名称繁多,若按逐条指令发送信息,不仅服务成本增加,而且不利于搜索管理。因此,通常采用一个条目ID下,实例化HashMap对象组装多项海鲜名称及其对应的报价,然后才是时间戳及后面的数据段,以此种方法封装电文内容,并压缩较长的电文内容,较好地解决了同一时间下分次发送信息的窘境。

接收部分通过判断指令头,进行循环冗余校验,接收并解析通信信息指令。对电文内容字段进行半字节解压缩算法处理,提取所需参数。这里采用MVC开发模式进行数据处理。开启AsyncTask,判断信息的时间戳间隔是否满足更新条件,默认每1 min更新一次数据。在AsyncTask的doInBackground()方法下,获取HashMap的数据对象,在onPostExecute()方法下加载数据到SimpleAdapter,与SQLite的数据做匹配。若条目是新的,则调用updateSQLite;若条目已存在,则舍弃该信息。在ReceiveBoxActivity中通过SimpleAdapter适配器加载数据,以ListView的形式显示已接收到的条目信息。短报文软件处理流程如图2所示。

2.2 渔业交易信息服务的信息管理设计

本文设计的渔业交易信息服务平台可通过电脑网页或Android手机客户端访问,后面可根据实际需要推出iOS、WPhone的客户端。Web浏览的网页发布采用动态的HTML网页方式,数据库的数据采集主要通过调用北斗地面运营中心提供的数据接口,读取来自渔船用户的短报文并将报文信息转换为特定的数据列表项存入数据库。服务器后台是基于PHP+APache+mysql的、采用B/S模式的Web应用系统。通常,C/S模式适合在局域网内用户不多的情况下使用,而B/S模式适合轻客户端设计,具有开发维护方便、管理成本低、跨平台访问等优势,降低了服务器与访问者之间的耦合,使访问方式更为灵活。服务平台总体框架如图3所示。

<;E:\LIHUI\12月\12.4\现代电子技术201423\Image\04t2.tif>;

图2 北斗短报文软件处理流程

<;E:\LIHUI\12月\12.4\现代电子技术201423\Image\04t3.tif>;

图3 渔业交易信息服务平台的总体框架

该框架包括服务层、业务逻辑层和数据层三层结构。服务层由基于Server的动态HTML网页实现,除了用户注册、服务计费功能,还负责为用户提供渔业交易供需信息显示、预订和搜索,如海鲜名称搜索,区域模式搜索等功能。业务逻辑层分为两类,一是根据用户申请,经Apache Server执行MySQL程序操作数据库,返回所需数据;二是监听来自北斗地面运营中心的数据,负责将获得的供需信息数据进行收集、整合分类、更新、搜索。数据层负责信息数据的存储,包括供货数据库、需求数据库、历史数据库、注册用户管理。注册用户管理及供货数据库E?R图结构如图4所示。

服务层负责向用户呈现实时的渔业供需信息,其开发方式与购物网站大同小异;业务逻辑层与数据层的交互是该平台的设计核心;数据层采用比较成熟的MySQL数据库,存储了供需双方的用户信息表、渔业供需信息表,在PHP中使用MySQL提供的API对其进行操作。

<;E:\LIHUI\12月\12.4\现代电子技术201423\Image\04t4.tif>;

图4 注册用户管理及供货数据库E?R图结构

首先,使用mysql_connect 函数对数据库进行连接,其函数原型为:resource mysql_connect ( [string server [, string username [, string password [,bool new_link [,int client_flags]]]]]),该函数参数Server指出MySQL服务器的地址,通常是本地服务器和远程服务器,用字符串表示。其次,选择数据库表。本平台包括4个数据库:供货数据库、需求数据库、历史数据库、注册用户管理。若买家用户需要获取当前的供货数据,Server将根据请求,执行mysql_select_db()函数以激活供货数据库SupplyInfo.db,其函数原型为:bool mysql_select_db(string database_name [,resource link_identifier]),然后基于该数据库进行后续的查询操作,查询函数的原型为:resource mysql_query(string query [,resource link_identifier])。当返回响应数据后,考虑数据库的安全性,需要使用mysql_close函数关闭被打开的数据库连接。因此,渔业供货信息的收集就是通过对供货数据库中相应的数据表进行写入操作。在写入前通过区域分类算法(switch)将供货信息按地理区域进行分类,分别写入区域数据表,并通过字符串匹配算法按海鲜名称进行分类,实现对信息的整合分类。同样地,需求信息的收集也是数据表写入的过程。渔业信息的查询则是先根据用户提交的请求,选择相应的数据库表进行遍历查询,将匹配的信息条目显示出来。通过对数据表条目的修改和删除,实现对供需信息的修改和删除。由于该平台涉及到大规模数据查询,为了避免普通查找算法中二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,出于对系统性能的优化,采用多叉树结构的多路查找树算法。

为了满足用户对供需信息的实时性要求,数据库的实时更新是很有必要的。平台的服务器调用北斗地面运营中心提供的数据接口进行通信,为了提高数据库的安全性,应该定期为数据库进行维护与备份,保证稳定地提供实时的供需信息。系统数据库的备份采用一周进行一次系统备份,3天进行一次直接备份。对这些信息的历史记录通常是在数据库中设定默认时间周期,将72 h以上的历史数据写入History_SupplyInfo的数据表中,实现对信息的历史存储。

3 系统测试结果

为验证本方案的可行性,可通过Android客户端访问渔业交易信息服务平台,对实时的渔业供应信息进行查询,并对心仪的商品下订单。系统测试结果如图5所示。图5(a)是对加州鲈和黑鱼进行鱼价查询,在Android客户端中根据界面提示,依次点击供应信息、鱼价查询,在搜索条件编辑框输入“加州鲈 黑鱼”,点击搜索,将显示各卖家提供的加州鲈、黑鱼的产品信息列表,继续点击列表项即可查看其详细信息。图5(b)是用户的订单列表,继续点击列表项即可查看其详细信息。

<;E:\LIHUI\12月\12.4\现代电子技术201423\Image\04t5.tif>;

图5 Android客户端访问服务平台的测试效果

为了测试本方案的实时性能,通过12台北斗一体机定时提交既定信息来模拟船上用户提交供货信息,然后不断刷新Android客户端的最新供应信息界面。通过反复多次的实验,在新信息发布之后,客户端接收并显示新信息的平均时延是6 s。造成时延的原因有多方面,一方面是北斗通信链路和移动互联网通信链路本身通信时长限制,另一方面是客户端使用MVC框架,刷新数据需要零点几秒。不同于军事、电力等对实时性的高精度要求,从渔业信息实时性的可容忍度来讲,该平台的信息更新时延是可以忽略的,因此可认为本方案能为用户提供实时的渔业供需信息。

4 结  语

本文结合渔业交易信息现代化的发展需求,提出了一种基于北斗短报文的渔业交易信息服务应用的设计方案。采用基于安卓的北斗船载终端,利用北斗一代的短报文、Web服务器、MySQL数据库管理、Android应用软件等技术,实现实时供货量信息、需求信息、预定交易等信息的交互。测试表明,本设计方案具备可行性,能实现供需信息的收集、整合、分类、搜索查询等功能,基本满足双方用户的需求。相对于现阶段渔业交易信息交互通常需要数小时的时差,本方案数秒的时延基本可以忽略,即平台具有良好的实时性。因此,可基于本方案开发一套完善的现代化渔业交易信息服务平台,能较大地促进渔业信息交互,有效提升渔业市场的运作效率,对渔业现代信息化的发展有重要意义。

参考文献

[1] 赵学洋,李海红.船用北斗/GPS双星座导航体系构建的探讨[J].航海技术,2013(2):39?41.

[2] 潘兴蕾,于文明,吕俊霖.新型渔业信息服务模式的探索与构建[J].农业图书情报学刊,2013(9):182?184.

[3] 应士君,王坤,刘卫,等.基于北斗二代系统的船载定位终端[J].上海海事大学学报,2012(3):1?4.

[4] 王同合,岳春生,门葆红,等.一种嵌入式北斗导航终端定位数据快速存取方法[C]//第三届中国卫星导航学术年会电子文集—S07北斗/GNSS用户终端技术.广州:第三届中国卫星导航学术年会,2012:35?39.

[5] GEER D. Eclipse becomes the dominant Java IDE [J]. Compu?ter, 2005; 38: 16?18.

[6] ABLESON W F. COLLINS C, SEN R. Unlocking Android: a developer′s guide [M]. Greenwich:Manning Publications Co, 2010.

[7] 王石,杨英娜.精通PHP+MySQL应用开发[M].北京:人民邮电出版社,2006.

[8] PAUL H.精通HTML语义、标准和样式[M].杨明军,译.北京:人民邮电出版社,2008.

[9] 王立华,孙璐,孙英泽,等.渔业科学数据共享平台建设研究[J].中国海洋大学学报:自然科学版,2010(S1):201?206.

[10] MELONI J C. PHP, MySQL和Apache编程导学[M].王洪大,李军,译.北京:机械工业出版社,2008.

图2 北斗短报文软件处理流程

<;E:\LIHUI\12月\12.4\现代电子技术201423\Image\04t3.tif>;

图3 渔业交易信息服务平台的总体框架

该框架包括服务层、业务逻辑层和数据层三层结构。服务层由基于Server的动态HTML网页实现,除了用户注册、服务计费功能,还负责为用户提供渔业交易供需信息显示、预订和搜索,如海鲜名称搜索,区域模式搜索等功能。业务逻辑层分为两类,一是根据用户申请,经Apache Server执行MySQL程序操作数据库,返回所需数据;二是监听来自北斗地面运营中心的数据,负责将获得的供需信息数据进行收集、整合分类、更新、搜索。数据层负责信息数据的存储,包括供货数据库、需求数据库、历史数据库、注册用户管理。注册用户管理及供货数据库E?R图结构如图4所示。

服务层负责向用户呈现实时的渔业供需信息,其开发方式与购物网站大同小异;业务逻辑层与数据层的交互是该平台的设计核心;数据层采用比较成熟的MySQL数据库,存储了供需双方的用户信息表、渔业供需信息表,在PHP中使用MySQL提供的API对其进行操作。

<;E:\LIHUI\12月\12.4\现代电子技术201423\Image\04t4.tif>;

图4 注册用户管理及供货数据库E?R图结构

首先,使用mysql_connect 函数对数据库进行连接,其函数原型为:resource mysql_connect ( [string server [, string username [, string password [,bool new_link [,int client_flags]]]]]),该函数参数Server指出MySQL服务器的地址,通常是本地服务器和远程服务器,用字符串表示。其次,选择数据库表。本平台包括4个数据库:供货数据库、需求数据库、历史数据库、注册用户管理。若买家用户需要获取当前的供货数据,Server将根据请求,执行mysql_select_db()函数以激活供货数据库SupplyInfo.db,其函数原型为:bool mysql_select_db(string database_name [,resource link_identifier]),然后基于该数据库进行后续的查询操作,查询函数的原型为:resource mysql_query(string query [,resource link_identifier])。当返回响应数据后,考虑数据库的安全性,需要使用mysql_close函数关闭被打开的数据库连接。因此,渔业供货信息的收集就是通过对供货数据库中相应的数据表进行写入操作。在写入前通过区域分类算法(switch)将供货信息按地理区域进行分类,分别写入区域数据表,并通过字符串匹配算法按海鲜名称进行分类,实现对信息的整合分类。同样地,需求信息的收集也是数据表写入的过程。渔业信息的查询则是先根据用户提交的请求,选择相应的数据库表进行遍历查询,将匹配的信息条目显示出来。通过对数据表条目的修改和删除,实现对供需信息的修改和删除。由于该平台涉及到大规模数据查询,为了避免普通查找算法中二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,出于对系统性能的优化,采用多叉树结构的多路查找树算法。

为了满足用户对供需信息的实时性要求,数据库的实时更新是很有必要的。平台的服务器调用北斗地面运营中心提供的数据接口进行通信,为了提高数据库的安全性,应该定期为数据库进行维护与备份,保证稳定地提供实时的供需信息。系统数据库的备份采用一周进行一次系统备份,3天进行一次直接备份。对这些信息的历史记录通常是在数据库中设定默认时间周期,将72 h以上的历史数据写入History_SupplyInfo的数据表中,实现对信息的历史存储。

3 系统测试结果

为验证本方案的可行性,可通过Android客户端访问渔业交易信息服务平台,对实时的渔业供应信息进行查询,并对心仪的商品下订单。系统测试结果如图5所示。图5(a)是对加州鲈和黑鱼进行鱼价查询,在Android客户端中根据界面提示,依次点击供应信息、鱼价查询,在搜索条件编辑框输入“加州鲈 黑鱼”,点击搜索,将显示各卖家提供的加州鲈、黑鱼的产品信息列表,继续点击列表项即可查看其详细信息。图5(b)是用户的订单列表,继续点击列表项即可查看其详细信息。

<;E:\LIHUI\12月\12.4\现代电子技术201423\Image\04t5.tif>;

图5 Android客户端访问服务平台的测试效果

为了测试本方案的实时性能,通过12台北斗一体机定时提交既定信息来模拟船上用户提交供货信息,然后不断刷新Android客户端的最新供应信息界面。通过反复多次的实验,在新信息发布之后,客户端接收并显示新信息的平均时延是6 s。造成时延的原因有多方面,一方面是北斗通信链路和移动互联网通信链路本身通信时长限制,另一方面是客户端使用MVC框架,刷新数据需要零点几秒。不同于军事、电力等对实时性的高精度要求,从渔业信息实时性的可容忍度来讲,该平台的信息更新时延是可以忽略的,因此可认为本方案能为用户提供实时的渔业供需信息。

4 结  语

本文结合渔业交易信息现代化的发展需求,提出了一种基于北斗短报文的渔业交易信息服务应用的设计方案。采用基于安卓的北斗船载终端,利用北斗一代的短报文、Web服务器、MySQL数据库管理、Android应用软件等技术,实现实时供货量信息、需求信息、预定交易等信息的交互。测试表明,本设计方案具备可行性,能实现供需信息的收集、整合、分类、搜索查询等功能,基本满足双方用户的需求。相对于现阶段渔业交易信息交互通常需要数小时的时差,本方案数秒的时延基本可以忽略,即平台具有良好的实时性。因此,可基于本方案开发一套完善的现代化渔业交易信息服务平台,能较大地促进渔业信息交互,有效提升渔业市场的运作效率,对渔业现代信息化的发展有重要意义。

参考文献

[1] 赵学洋,李海红.船用北斗/GPS双星座导航体系构建的探讨[J].航海技术,2013(2):39?41.

[2] 潘兴蕾,于文明,吕俊霖.新型渔业信息服务模式的探索与构建[J].农业图书情报学刊,2013(9):182?184.

[3] 应士君,王坤,刘卫,等.基于北斗二代系统的船载定位终端[J].上海海事大学学报,2012(3):1?4.

[4] 王同合,岳春生,门葆红,等.一种嵌入式北斗导航终端定位数据快速存取方法[C]//第三届中国卫星导航学术年会电子文集—S07北斗/GNSS用户终端技术.广州:第三届中国卫星导航学术年会,2012:35?39.

[5] GEER D. Eclipse becomes the dominant Java IDE [J]. Compu?ter, 2005; 38: 16?18.

[6] ABLESON W F. COLLINS C, SEN R. Unlocking Android: a developer′s guide [M]. Greenwich:Manning Publications Co, 2010.

[7] 王石,杨英娜.精通PHP+MySQL应用开发[M].北京:人民邮电出版社,2006.

[8] PAUL H.精通HTML语义、标准和样式[M].杨明军,译.北京:人民邮电出版社,2008.

[9] 王立华,孙璐,孙英泽,等.渔业科学数据共享平台建设研究[J].中国海洋大学学报:自然科学版,2010(S1):201?206.

[10] MELONI J C. PHP, MySQL和Apache编程导学[M].王洪大,李军,译.北京:机械工业出版社,2008.

图2 北斗短报文软件处理流程

<;E:\LIHUI\12月\12.4\现代电子技术201423\Image\04t3.tif>;

图3 渔业交易信息服务平台的总体框架

该框架包括服务层、业务逻辑层和数据层三层结构。服务层由基于Server的动态HTML网页实现,除了用户注册、服务计费功能,还负责为用户提供渔业交易供需信息显示、预订和搜索,如海鲜名称搜索,区域模式搜索等功能。业务逻辑层分为两类,一是根据用户申请,经Apache Server执行MySQL程序操作数据库,返回所需数据;二是监听来自北斗地面运营中心的数据,负责将获得的供需信息数据进行收集、整合分类、更新、搜索。数据层负责信息数据的存储,包括供货数据库、需求数据库、历史数据库、注册用户管理。注册用户管理及供货数据库E?R图结构如图4所示。

服务层负责向用户呈现实时的渔业供需信息,其开发方式与购物网站大同小异;业务逻辑层与数据层的交互是该平台的设计核心;数据层采用比较成熟的MySQL数据库,存储了供需双方的用户信息表、渔业供需信息表,在PHP中使用MySQL提供的API对其进行操作。

<;E:\LIHUI\12月\12.4\现代电子技术201423\Image\04t4.tif>;

图4 注册用户管理及供货数据库E?R图结构

首先,使用mysql_connect 函数对数据库进行连接,其函数原型为:resource mysql_connect ( [string server [, string username [, string password [,bool new_link [,int client_flags]]]]]),该函数参数Server指出MySQL服务器的地址,通常是本地服务器和远程服务器,用字符串表示。其次,选择数据库表。本平台包括4个数据库:供货数据库、需求数据库、历史数据库、注册用户管理。若买家用户需要获取当前的供货数据,Server将根据请求,执行mysql_select_db()函数以激活供货数据库SupplyInfo.db,其函数原型为:bool mysql_select_db(string database_name [,resource link_identifier]),然后基于该数据库进行后续的查询操作,查询函数的原型为:resource mysql_query(string query [,resource link_identifier])。当返回响应数据后,考虑数据库的安全性,需要使用mysql_close函数关闭被打开的数据库连接。因此,渔业供货信息的收集就是通过对供货数据库中相应的数据表进行写入操作。在写入前通过区域分类算法(switch)将供货信息按地理区域进行分类,分别写入区域数据表,并通过字符串匹配算法按海鲜名称进行分类,实现对信息的整合分类。同样地,需求信息的收集也是数据表写入的过程。渔业信息的查询则是先根据用户提交的请求,选择相应的数据库表进行遍历查询,将匹配的信息条目显示出来。通过对数据表条目的修改和删除,实现对供需信息的修改和删除。由于该平台涉及到大规模数据查询,为了避免普通查找算法中二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,出于对系统性能的优化,采用多叉树结构的多路查找树算法。

为了满足用户对供需信息的实时性要求,数据库的实时更新是很有必要的。平台的服务器调用北斗地面运营中心提供的数据接口进行通信,为了提高数据库的安全性,应该定期为数据库进行维护与备份,保证稳定地提供实时的供需信息。系统数据库的备份采用一周进行一次系统备份,3天进行一次直接备份。对这些信息的历史记录通常是在数据库中设定默认时间周期,将72 h以上的历史数据写入History_SupplyInfo的数据表中,实现对信息的历史存储。

3 系统测试结果

为验证本方案的可行性,可通过Android客户端访问渔业交易信息服务平台,对实时的渔业供应信息进行查询,并对心仪的商品下订单。系统测试结果如图5所示。图5(a)是对加州鲈和黑鱼进行鱼价查询,在Android客户端中根据界面提示,依次点击供应信息、鱼价查询,在搜索条件编辑框输入“加州鲈 黑鱼”,点击搜索,将显示各卖家提供的加州鲈、黑鱼的产品信息列表,继续点击列表项即可查看其详细信息。图5(b)是用户的订单列表,继续点击列表项即可查看其详细信息。

<;E:\LIHUI\12月\12.4\现代电子技术201423\Image\04t5.tif>;

图5 Android客户端访问服务平台的测试效果

为了测试本方案的实时性能,通过12台北斗一体机定时提交既定信息来模拟船上用户提交供货信息,然后不断刷新Android客户端的最新供应信息界面。通过反复多次的实验,在新信息发布之后,客户端接收并显示新信息的平均时延是6 s。造成时延的原因有多方面,一方面是北斗通信链路和移动互联网通信链路本身通信时长限制,另一方面是客户端使用MVC框架,刷新数据需要零点几秒。不同于军事、电力等对实时性的高精度要求,从渔业信息实时性的可容忍度来讲,该平台的信息更新时延是可以忽略的,因此可认为本方案能为用户提供实时的渔业供需信息。

4 结  语

本文结合渔业交易信息现代化的发展需求,提出了一种基于北斗短报文的渔业交易信息服务应用的设计方案。采用基于安卓的北斗船载终端,利用北斗一代的短报文、Web服务器、MySQL数据库管理、Android应用软件等技术,实现实时供货量信息、需求信息、预定交易等信息的交互。测试表明,本设计方案具备可行性,能实现供需信息的收集、整合、分类、搜索查询等功能,基本满足双方用户的需求。相对于现阶段渔业交易信息交互通常需要数小时的时差,本方案数秒的时延基本可以忽略,即平台具有良好的实时性。因此,可基于本方案开发一套完善的现代化渔业交易信息服务平台,能较大地促进渔业信息交互,有效提升渔业市场的运作效率,对渔业现代信息化的发展有重要意义。

参考文献

[1] 赵学洋,李海红.船用北斗/GPS双星座导航体系构建的探讨[J].航海技术,2013(2):39?41.

[2] 潘兴蕾,于文明,吕俊霖.新型渔业信息服务模式的探索与构建[J].农业图书情报学刊,2013(9):182?184.

[3] 应士君,王坤,刘卫,等.基于北斗二代系统的船载定位终端[J].上海海事大学学报,2012(3):1?4.

[4] 王同合,岳春生,门葆红,等.一种嵌入式北斗导航终端定位数据快速存取方法[C]//第三届中国卫星导航学术年会电子文集—S07北斗/GNSS用户终端技术.广州:第三届中国卫星导航学术年会,2012:35?39.

[5] GEER D. Eclipse becomes the dominant Java IDE [J]. Compu?ter, 2005; 38: 16?18.

[6] ABLESON W F. COLLINS C, SEN R. Unlocking Android: a developer′s guide [M]. Greenwich:Manning Publications Co, 2010.

[7] 王石,杨英娜.精通PHP+MySQL应用开发[M].北京:人民邮电出版社,2006.

[8] PAUL H.精通HTML语义、标准和样式[M].杨明军,译.北京:人民邮电出版社,2008.

[9] 王立华,孙璐,孙英泽,等.渔业科学数据共享平台建设研究[J].中国海洋大学学报:自然科学版,2010(S1):201?206.

[10] MELONI J C. PHP, MySQL和Apache编程导学[M].王洪大,李军,译.北京:机械工业出版社,2008.

猜你喜欢

信息服务安卓
iPhone不卡的秘密曝光:安卓也能享受
MIPS安卓平台上ARM二进制翻译系统
文物表情包
安卓系统或成智能汽车标配
微信平台在公共图书馆信息服务中的应用
一种基于安卓系统的手机侧抓包分析方法
智慧社区信息服务绩效评价研究
公共图书馆科技创新服务探析
农业高校图书馆专利信息服务研究
基于价值共创共享的信息服务生态系统协同机制研究