基于J2ME和SYNCML协议的移动PIM系统平台以及数据同步的应用研究

来源 :中国信息化·学术版 | 被引量 : 0次 | 上传用户:yx2207
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】本文针对移动电子商务应用其中重要一种的PIM(Personal information management)个人信息管理应用,设计出了基于J2ME的手机客户端、WEB服务器和后台数据库三层框架结构的移动PIM系统,并对核心SyncML数据同步协议进行了详细的分析,研究了在J2ME平台下实现SyncML中定义的慢同步及双向增量同步逻辑的解决方案。
  【关键词】移动PlM系统 J2ME SyncML协议
  【中图分类号】TN929.53 【文献标识码】A 【文章编号】1672-5158(2013)04-0153-02
  一、引言
  作为移动电子商务应用中重要一种的PIM(Personal informationmanagement)个人信息管理应用,是受到广泛关注的一个新兴领域。移动终端PIM是指用户将移动终端中的信息(通讯录,日程安排等)以无线或者有线方式与电脑或者PIM服务器保持一致,并能使用多种终端、多种接人手段查询和管理信息。由于移动终端操作系统以及各系统HM平台接口的多样性以及PIM协议的私有性使得PIM服务往往只能针对某个单一手机操作系统,PIM服务的通用性和可扩展性受到了移动终端系统软硬件条件的极大的限制。
  本文研究了基于J2ME平台的HM相关技术,设计出了基于J2ME的手机客户端、WEB服务器和后台数据库三层框架结构,并主要对核心SyncML数据同步协议进行了详细的分析,研究了在J2ME平台下实现SyncML中定义的慢同步及双向增量同步逻辑的解决方案,在考虑了移动设备资源缺乏的情况下,实现了J2ME平台移动PIM客户端,初步达到了移动应用程序的易用性和系统的可扩展性的目标。经过深入研究和完善,本文采用MVC设计模式,研究并实现了一个功能稳定、运行可靠的J2ME平台下的PIM个人信息管理系统,符合移动电子商务的应用环境,在支持KVM的移动终端平台上开发的移动PIM系统使得通用性和扩展性问题在解决方案的性能上得到了进一步的提高。
  二、系统框架以及重要设计
  (一)系统总体框架
  模型一视图一控制器(MVC)一种软件设计模式,最近几年逐渐成为Sun公司J2EE平台的设计模式,MVC强制性的使应用程序的输入、处理和输出分开。MVC应用程序分成三个核心部件:模型(Model)、视图(View)、控制器(Control)。MVC标准模式经典的应用就是将JSP+Servlet+Javabean+JDBC技术编写CGI程序,并且用于数据动态加载以及页面响应。它们各自处理自己的任务。视图是移动终端与用户交互的界面。对于旧式的Web应用程序来说,视图完全是由HTML元素组成的界面,随着新的技术已层出不穷,在新式的Web应用程序中,虽然HTML依旧在视图中扮演着重要的角色,但是诸如MacromediaFlash,XHTML,XML/XSL,WML等一些标识语言以及Web services的出现,HTML以及不能满足Web应用的发展。MVC的一大优点是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,作为视图来讲,它只是作为一种输出数据并且允许用户操纵的方式,不管这些数据是联机存储的还是一个通信录或者日程列表。
  PIM移动终端信息管理系统采用内嵌式的程序设计,集成在移动终端的操作系统中,移动终端用户登录平台系统后,通过3G网络访问相应WEB服务器来实现移动商务信息管理功能,获取WEB服务,改变了过去仅依靠WAP或短信动通信技术,使得移动终端用户不受一般电子商务的各种技术限制,能够直接使用移动终端平台进行通信录管理、日志管理、获得PIM同步服务、移动终端交换电子名片,应用等操作,利用高速无线网络的带宽优势,选择等级不同的加密登陆方式,获取3G时代高速移动PIM服务。整个系统在网络传输过程中采用了系统要求的Basic64以及MD5算法进行加密,保证了个人信息的安全。同时,系统平台采用的J2ME技术开发,保证了系统稳定性好,界面友好,操作人性化,易用性好,管理安全等特性。平台总结构图1如下:
  从逻辑构成上讲,PIM系统包括三个部分:服务器端,移动终端,数据库端。
  服务器端:服务器用于实现移动个人信息管理系统的应用功能,并且也为移动终端提供个人数据同步服务和封装管理功能的状态,并且为MIDlet提供系统访问的接口和方法,以及管理信息的途径。Tomcat作为一个开源的servlet容器,是由JAVA进行编写的并能够被不做改变得移植到不同架构、OS平台上,Tomcat服务器及其应用程序符合JSP规范,能够完整实现servlet J2ME PIM系统应用开发设计。
  移动终端:对于具备不同手机软硬件特性,但是支持JVM虚拟机的不同移动终端设备来说,采用J2ME技术能够使应用程序MIDlet在各种手机以及PDA上进行移植和运行,并以此屏蔽掉各移动终端软硬件的差异性。MIDP2.0提供高层用户界面决定PIM终端数据界面的展示方式,RMS接口提供数据的持续性保存以及GCF接口提供网络的连接方式等。移动终端应用程序可以在支持J2ME的手机终端或者PDA上进行手机模拟器软件运行。
  数据库:负责系统对于逻辑数据的管理和存储,实现数据的持续性和一致性。MYSQL数据库具备功能强大、使用方便、运行快速安全的优点,作为本系统采用的数据库,MYSQL数据库使得管理简化,并增强了PIM应用程序所需的可靠性和易用性。系统移动终端的MIDlet容器,提供用户UI并进行人机交互和网络通信发起;WEB服务器作为PIM系统的访问入口,处理移动终端MIDlet的管理和同步请求;由符合JSP规范的servlet调用应用服务器的JavaBean来完成数据逻辑运算,JavaBean使用JDBC方式对数据存储库进行存取访问,然后将运算结果返回Servlet;Servlet经过处理将处理数据结果以返回到移动终端,并通过MIDlet容器中的用户UI界面呈现给用户.系统采用MVC架构有利于系统的维护,以及业务功能的扩展。   (二)服务器端详细设计
  服务器端利用基于J2EE架构的tomcat作为服务器,具体实现如下l 3l:
  1、服务器端需要对同步引擎核心模块进行实现:服务器通过解析客户端发送的SymeML协议数据包并进行XML解析并且判断,包括服务器端和移动终端共同采取的同步类型(双向同步或者慢同步,代码201和200),对认证信息进行校验,解析出客户端发送同步数据源的状态,并在同步初始化过后修改(添加,删除和更新)服务器中相应的数据存储对象。
  2、JDBC用于与1、中的模块进行数据库连接,本系统采用MYSQL数据库.该数据库中保存的信息分为3类:(1)客户端的认证信息、登陆的用户名和密码,客户端的设备类型和设备的属性状态;(2)客户端同步的数据源类型和对应的数据信息(联系人按照vCard格式保存,日程/任务按照iCalender格式来保存);(3)涉及在同步过程中的关于SyenML协议的一些信息,包括同步的同步锚,同步的系统日志,同步过程中对数据源的处理命令。
  3、建立HTTP协议同SymeML同步协议底层的绑定,并且通过使用Java中的通用网络连接框架GCF中的Httpconneetion来实现Http数据传输,达到传输的透明性,同时结合分布式并行处理方式以及多线程调度来保持和多客户端的通信。
  4、对该服务器端进行扩展,利用Javascript的脚本语言和JDBC数据库连接来开发基于Web的应用程序来访问服务器端的数据存储对象,从而也提供客户端对服务器上的数据进行修改以及管理员对整个系统进行维护和管理的功能.由于移动终端的研究应用被作为本平台重点考虑并设计的对象,所以没有过多考虑PC机浏览器部分。
  三、系统数据同步架构
  (一)SyncML同步框架
  作为一个应用层协议,SyncML协议是唯一一种行业通用的移动数据同步化协议,用以真正实现使用任何终端设备均可随时随地访问任何网络数据。本系统通过对SyneML数据同步协议的研究以及二次开发为移动客户端提供PIM信息的数据同步以及交换,通过使用XML在传输层传输数据,减少客户端占用的系统资源和网络资源,提高了效率以及系统的通用性。
  SyncML同步框架由提供数据同步服务的网络服务器端和移动终端以及中间的移动模型框架组成。终端和网络服务器通过常用的网络传输方式进行连接。终端和服务器端通过SyneML表示协议所规定的SyncML接口进行消息通信。移动框架由双向的“同步引擎”、“同步代理”以及“同步适配器”组成。“同步引擎”负责管理整个操作过程.“同步代理”管理“同步引擎”对网络的访问,管理客户端和服务器端的应用进行数据同步的相互通信过程.“同步代理”通过调用“面向同步代理的应用程序接口”完成这些功能.“同步适配器”负责消息的收发过程,在这个过程中A和B双方相互通信,收发SyncML数据包。
  (二)数据同步重要技术
  由于终端和服务器端需要进行同步,所以同步协议的实现需要记录发生在本次同步和前次同步之间所有的数据修改,并且对数据的修改通过替换,增加和删除的操作来实现。
  1.使用同步锚准确记录同步时间范围:
  为了保证同步的完整性和数据一致性,使用了数据库中的同步锚来记录服务器和同步的时间。为了减少耦合性,增强独立性,客户端和服务器分别都有三个同步锚,Last,Next,Stored。Last同步锚对上一次同步发生的时间进行记录,Next同步锚对本次同步发生的时间进行记录,Stored表示服务器端储存的与特定客户端关联的同步锚。初始化同步时,客户端和服务器都将各自的两个同步锚发给对方。同步锚必须在同步正常结束后进行更新,如果同步终端之间的通信没有正常结束,那么终端必须不能更新同步锚,如果通信中断后又重新开始,则Next同步锚的值需要被更新。端关联的同步锚。当然,初始过程的两个包中还包括其它信息,单就同步锚而言,存在一个服务器端的比较,判断当前的同步采取什么方式:如果锚不匹配,服务器判断当前是一个新同步或前次同步失败。处于这种情况下通常会重新执行慢同步。如果锚匹配,则结束同步初始化,开始交换更改数据日志并且更新双方个人信息数据。如果数据成功更新后,服务器及客户端要刷新自己存储的同步锚,做好下次同步的准备。
  2.PIM数据ID在服务器和客户端之间的映射:
  同样源于“耦合性减小,独立性增强”原则,并且双方的ID可能不匹配,服务器端和客户端需要分别产生并且保存GUID全局数据记录ID以及LUID本地数据记录ID,并且由服务器保存并且维护一份GUID-LUID的映射表。也就是说,服务器必须分别记录同一个数据记录在客户端和服务器端的ID。
  客户端保存本地LUID表,服务器端保存全局GUID表和LUID与GUID的映射关系表。LUID是由客户端赋值数据记录的,这意味着即使是服务器端添加了一个新的数据项,在客户端该数据项的LUID仍然是由客户端所指定。而当客户端通过Map命令将数据项的本地ID发回给服务器端,服务器在收到客户端的Map命令进行数据项进行映射后,服务器端就能根据客户端的LUID更新服务器端的LUID-GUID映射表,使得两个ID得到对应。
  3.解决同步中发生冲突
  如果客户端和服务器端对同一个数据项同时实行修改,就会产生冲突。通常情况下,由服务器端的同步引擎提供解决方法,并通知客户端冲突解决结果。由于目前移动3G客户端的软硬件水平加强,本系统主要对智能手机终端应用进行研究,所以客户端也能够有同步引擎并且能够自己解决冲突。
  (三)系统数据同步实现方式
  SyncML协议总共有7种同步类型,用于服务器与客户端不同同步情况以及冲突处理策略,下面重点介绍系统实现并且常用的两种同步的过程:双向增量同步以及慢同步。
  1.双向增量同步作为常用的模式,用于客户端和服务器相互修改并且进行数据交换。同步初始化完成后,客户端首先发送移动终端修改信息到服务器,并将同步锚和修改过的终端数据的信息发到服务器,服务器在收到客户端的个人信息的修改信息之后,根据客户端发送信息处理同步请求,并对收到的修改信息进行分析,最后当同步分析结束之后,将服务器修改的数据信息发给客户端,最后客户端修改并更新其本地数据库,发送到客户端的数据包括服务器对数据的分析结构以及服务器在上次同步结束到本次同步开始这个时间段内所修改数据信息。
  2.慢同步是把客户端和服务器端的不同数据库中的数据逐条进行比较并修改的一种双向同步,是由客户端首先发起的同步方式。实际中,客户端把所有的个人数据信息发到服务器端,由服务器端将数据信息和服务器上的数据进行同步对比。在同步对比后,服务器将客户端需要进行修改的数据信息发回给客户端。客户端需要返回所有服务器增加记录的映射信息。客户端和服务器端的异常都可能导致进行慢同步,比如如客户端或服务器丢失信息的改变记录,产生Guid和Luid的冲突,同步锚丢失等情况。发生异常后在移动终端和服务器端进行慢同步,移动终端初始用Alert命令通知服务器同步类型为Slow Sync。服务器端也会在恢复终端初始化包中会包含一个Alert命令。移动终端接收到之后重新发起Slow Sync。如果客户端或者服务器端在收到正常同步的Alert命令后仍然需要进行慢同步,并同时发送Slow Sync的Alert命令。
其他文献
【摘要】本文重点阐述了C/S、B/S的模式结构和系统特点,对比了二者之间的优势和不足,分析了基于C/S、B/S混合模式网络体系架构的优点,探讨了该结构在网络教育管理体系中的应用,以更好地实现网络教学资源的开发利用与交互共享,提供更灵活的网络教学资源组织与管理功能,更有效的为教学服务。  【关键词】C/S B/S 体系结构 系统 应用  【中图分类号】TP311 【文献标识码】A 【文章编号】167
期刊
【摘要】现代化的企业越来越重视信息科学技术,只有把信息科学技术应用到企业中才能获取更大的效益。现代企业的经济往来,主要是通过合同形式进行的,合同管理作为现代企业法律顾问制度的重要内容之一,能否实施有效管理把好合同关,是现化企业经营管理成败的一个重要因素。显然,完善的合同管理是企业健康运作的一个重要标志。中海油服采办管理系统从操作简便、界面友好、灵活、实用和安全的要求出发,完成对合同信息的录入、跟踪
期刊
【摘要】当今时代,信息像空气,已渗透到人们生活的每一个空间,社区处于社会的最底层,社区信息化建设和信息传播已成为基层政府与人民群众联系最紧密的纽带,成为基层党委政府执政中的一项重要工作和不可缺少的重要内容。从我们在一些实地调查中可以清楚地看到和感受到,信息连接千家万户,信息缺失会带来工作的缺失,引发基层不稳定因素,因此,当下我国的社区无不重视信息的传播。  【关键词】社区 信息传播 居民 数据  
期刊
【摘要】本文通过对OA迁移项目中数据同步和权限设置过程的介绍,分析了一些需要注意的事项,对今后OA系统的管理有着很大的帮助。  【主题词】OA;内网;数据同步;副本;domino;交叉验证;  【中图分类号】TP393 【文献标识码】A 【文章编号】1672-5158(2013)04-0152-01  1、概述  中海油服OA系统搭建在Domino R5上,运行多年,数据库数量和文档数量都已经达到
期刊
【摘要】电子信息工程技术作为现代化技术发展的“第四次浪潮”,对我国国民经济发展的各个方面的影响之深远远远超乎任何人的想像,电子信息工程技术不仅促进了计算机技术更广泛的应用,同时将网络平台的发展变成了人们生活的一部分,更成为我国经济发展的新增长点。本文就电子信息工程的发展简况,发展电子信息工程技术的具体对策进行了理论探讨与分析,旨为促进电子信息工程技术的进一步推广与发展提供一定的参考和建议。  【关
期刊
【摘要】视频会议系统,它是可以让各个地方的人员进行比较远距离的实时的信息沟通,同时展开协同工作的应用系统。这个系统的一个比较重要的目标是将在不同地方的很多个视频会议联接起来,将所有的视频及会议中的人们进行面对面的沟通的一个高效率、实时、真实的,而且比较便利于管理决策的通信技术方法。现在网络技术与计算机通信的发展非常高速,当今的远程会议、商务谈判、远程教学,由于传统的通信方法并不能“面对面”地沟通,
期刊
【中图分类号】F49 【文献标识码】A 【文章编号】1672-5158(2013)04-0156-01  民航空管信息技术工程是从单纯业务应用到提供全行业信息服务,逐步拓展其内涵和外延而逐步形成系统的。民航空管专业信息技术作为社会化整体信息产业的一个组成部分,其实质也不外乎信息资源的应用、开发和信息业务的服务运作。网络作为信息流通和交换的基础,通信、导航、监视、气象、航行情报、航班等基本信息首先提
期刊
【摘要】本文对IPV6协议的特点进行了详细的介绍,并且结合当前移动互联网的特点以及实际情况,对IPv6技术在其中的应用做了探讨。  【关键词】IPv6;移动互联网:应用  【中图分类号】TN929.5 【文献标识码】A 【文章编号】1672-5158(2013)04-0145-01  IPv6是新一代的互联网协议,与IPv4相比,其在地质空间的容量、移动性、安全性、网络服务的质量等方面都有着显著的
期刊
【摘要】在交通行业领域存在着很多的执行标准,这些标准基本上都是以word这种半结构化的数据而存在的。为了进行标准的快速检索和一致性检测,就需要自动化的提取word标准为结构化信息并存入数据库,以便于后续知识数据元的提取进而进行标准比对,得到检测报告。本文采用Jacob技术操作word文档,抽取word为结构化信息并存入Mysql数据库。  【关键词】半结构化数据,数据抽取,Jacob,数据存储,M
期刊
【摘要】随着计算机使用越来越向着专业化的发展,对嵌入式系统的需求也渐渐显示出来。目前对嵌入式系统的研究,对系统的应用具有非常广阔的前景和重要意义。Linux操作系统的源码具有开放性,被越来越多的国内外科研人员用来研究,但Linux系统并不是以嵌入式应用为基础的设计,因此在研究嵌入式Linux操作系统还有很多需要优化的方面。通过对嵌入式Linux操作系统的研究,从而使其满足嵌入式系统所具有的特性。 
期刊