一种移动终端多用户协同图形编辑的方法及系统与流程

文档序号:13145873阅读:181来源:国知局
本案是专利申请201010531592.1的分案申请。原申请的申请日为:2010年11月4日,申请号为:201010531592.1,发明创造名称为:一种移动终端多用户协同图形编辑的方法及系统。技术领域本发明涉及移动通信领域,尤其涉及一种移动终端多用户协同图形编辑的方法及系统。

背景技术:
随着3G(3rd-generation第三代移动通信技术)技术的推动,智能手机正在成为另一种形式的计算机移动终端。智能手机拥有强大的应用功能,可以满足未来无线商用和娱乐等高端需求。因而在传统手机市场走向成熟并逐步衰退的同时,智能手机将会成为未来手机市场的主流产品。手机信道带宽的提高、CPU(CentralProcessingUnit,中央处理器)处理能力的增强和内存的增大,使手机具有多样的、复杂的功能成为可能。目前,智能手机上的应用根据支持用户之间交互方式的不同可分为以下几类:1、语音交互,即传统的语音通话,交互双方通过语音进行交流;2、文字交互,比如常用的短信息;3、多媒体交互,如彩信、语音留言等。手机上丰富的应用大大拓展了手机的功能,方便了人们通过手机进行交流。但是在某些情况下,用户要清楚、简洁和准确的表达和交流思想,仅仅通过以上三种交互方式还是不够的,这时如果能用图形辅助说明则会达到更好的效果。

技术实现要素:
本发明要提供一种移动终端多用户协同图形编辑的方法及系统,以解决现有技术中用户无法使用移动终端进行多用户协同图形编辑的缺陷。为解决上述问题,本发明提供了一种移动终端多用户协同图形编辑的方法,包括:一种移动终端多用户协同图形编辑的方法,基于J2ME平台,使用XML技术实现图元对象的序列化和反序列化,包括:移动终端组中的成员将用于描述本地图元对象的信息组建成可扩展标记语言XML格式的文件,利用XML文件来描述图元对象,通过XML文档的组建和解析,完成图元对象到文本流的转换,之后通过J2ME平台提供的输入流将XML文件发送给服务器,由所述服务器将该XML文件同步给所述移动终端组中的其它成员;所述图元对象为由单个基本图元构成的图形或由多个基本图元组合构成的图形;所述其它成员对接收到的所述XML文件进行解析,完成文本流到图元对象的转换,并显示所述图元对象。进一步地,所述方法还包括:所述移动终端组中的成员在用户的控制下对本地图元对象进行锁定或不锁定;所述其它成员对接收到的所述文件进行解析并显示所述图元对象,具体包括:当所述其它成员在判断出本地图元对象处于非锁定状态时,对接收到的所述文件进行解析并显示所述图元对象;当所述其它成员在判断出本地图元对象处于锁定状态时,对接收到的所述文件进行丢弃。进一步地,所述服务器和移动终端之间交互的消息报文均由以下两部分组成:报头和报文体;报头定义为一个六元组,包括以下字段:〈Version,MsgID,Date,Time,Source,Destination〉;其中,Version用于指明该消息报文的版本信息;MsgID为该报文的唯一标识;Date为该报文的发送日期;Time为该报文的发送时间;Source为报文发送者的标识信息;Destination为报文接收者的标识信息;报文体定义为一个三元组,包括以下字段:〈Type,Length,ElementList〉;其中,Type用于标识报文类型;Length用于表示其后的ElementList字段中包含的元素个数;ElementList中的每一个元素的值用于表示所传对象的属性值。进一步地,还包括:所述移动终端组中的成员将用于描述本地图元对象的信息组建成文件并发送给所述服务器后,若所述服务器根据乐观锁算法不同意接受该文件,则丢弃该文件,并向该发送所述文件的成员返回否定消息;所述成员收到所述否定消息后,将本地图元对象恢复到经过此次编辑之前的状态。进一步地,所述服务器在收到移动终端建立或者加入某移动终端组的请求后,将该移动终端记录为该移动终端组的成员;所述服务器收到所述移动终端组中的成员退组请求后,将该成员从所述移动终端组中删除。本发明还提供了一种移动终端多用户协同图形编辑的系统,包括:基于J2ME平台,使用XML技术实现图元对象的序列化和反序列化,包括:移动终端组中的成员中的文件发送装置,用于将用于描述本地图元对象的信息组建成可扩展标记语言XML格式的文件,利用XML文件来描述图元对象,通过XML文档的组建和解析,完成图元对象到文本流的转换,之后通过J2ME平台提供的输入流将XML文件发送给服务器,服务器中的文件同步装置,用于将该XML文件同步给所述移动终端组中的其它成员;所述图元对象为由单个基本图元构成的图形或由多个基本图元组合构成的图形;移动终端组中的成员中的文件接收装置,用于对接收到的所述XML文件进行解析,完成文本流到图元对象的转换,并显示所述图元对象。进一步地,所述系统还包括:所述移动终端组中的成员中的图元锁定装置,用于在用户的控制下对本地图元对象进行锁定或不锁定;所述文件接收装置,用于对接收到的所述文件进行解析并显示所述图元对象,具体包括:当所述文件接收装置在判断出本地图元对象处于非锁定状态时,对接收到的所述文件进行解析并显示所述图元对象;还用于在判断出本地图元对象处于锁定状态时,对接收到的所述文件进行丢弃。进一步地,所述系统还包括,所述移动终端组中的成员中的消息接收装置;所述文件发送装置用于将用于描述本地图元对象的信息组建成文件并发送给所述服务器后,若所述服务器中的文件同步装置用于在根据乐观锁算法不同意接受该文件时,则丢弃该文件,并向该发送所述文件的成员返回否定消息;所述消息接收装置用于收到所述否定消息后,将本地图元对象恢复到经过此次编辑之前的状态。进一步地,服务器中的请求接收装置,用于在收到移动终端建立或者加入某移动终端组的请求后,将该移动终端记录为该移动终端组的成员;还用于收到所述移动终端组中的成员退组请求后,将该成员从所述移动终端组中删除。本发明应用于开发领域,将CSCW(ComputerSupportedCooperativeWork,计算机支持协同工作)与移动应用开发相结合,设计并实现了一个基于J2ME的智能手机多用户协同图形编辑系统,使得处于不同地点的多个用户可以通过各自的手机实时地协同合作进行图形交互。附图说明图1是本发明实施例中在移动终端上实现多用户协同图形编辑的方法流程图;图2是本发明实施例中定义的服务器与移动终端交互消息的格式示意图;图3是本发明实施例中服务器与移动终端建立连接的流程图;图4是本发明实施例中移动终端的工作流程图;图5是本发明实施例中实现的对象序列化方法图。具体实施方式下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。如图1所示,本发明所述方法包括:服务器在收到移动终端发来的建立或者加入某移动终端组的请求后,将该移动终端记录为该移动终端组的成员;上述移动终端组中的成员将用于描述本地图元对象的信息组建成文件后发送给上述服务器,由上述服务器将该文件同步给上述移动终端组中的其它成员;上述其它成员对接收到的上述文件进行解析并显示该图元对象。其中,该文件可以为XML(ExtensibleMarkupLanguage,可扩展标记语言)格式的文件;该图元对象可以为由单个基本图元构成的图形或由多个基本图元组合构成的图形。在具体实现时,上述移动终端组中的成员还可以在用户的控制下对本地图元对象进行锁定或不锁定;则上述其它成员对接收到的上述文件进行解析并显示该图元对象,具体包括:当上述其它成员在判断出本地图元对象处于非锁定状态时,对接收到的上述文件进行解析并显示该图元对象;当上述其它成员在判断出本地图元对象处于锁定状态时,对接收到的文件进行丢弃。此外,当收到该移动终端组中的成员发来的退组请求后,上述服务器将该成员从该移动终端组中删除。从上述描述可以看出,服务器与移动终端之间交互的消息可以分为两种:控制消息和数据消息。其中,建立移动终端组的请求、加入移动终端组的请求消息、退组请求消息等均属于控制消息,而服务器与移动终端之间交互的XML格式的文件属于数据消息。如图2所示,上述两种消息报文均由以下两部分组成:报头和报文体。报头可定义为一个六元组,包括以下字段:〈Version,MsgID,Date,Time,Source,Destination〉。其中,Version用于指明该消息报文的版本信息;MsgID为该报文的唯一标识,该标识由移动终端或服务器给出;Date为该报文的发送日期;Time为该报文的发送时间;Source为报文发送者的标识信息,其值采用服务器分配给移动终端的端口号,值为0时表示该消息的发送者为服务器;Destination为报文接收者的标识信息,值为0时表示该消息的接收者为服务器。报文体可定义为一个三元组,包括以下字段:〈Type,Length,ElementList〉。其中,Type用于标识报文类型(指数据类型,具体由设计者定义);Length用于表示其后的ElementList字段中包含的元素个数;ElementList中的每一个元素的值用于表示所传对象的一个属性值。所传对象可分为两类;一类是图元对象,另一类是描述系统操作的对象,系统指多用户协同图形编辑软件,操作指对图元的操作动作。由于移动终端上的J2ME(Java2MicroEdition)平台不支持图元对象的序列化操作,且图元对象的属性可能包含复杂的数据类型(即非Java基本数据类型),所以对图元对象的序列化及反序列化及其传输,不能简单的使用一般的数据流来实现。本发明使用XML技术实现对象的序列化和反序列化,即利用XML文件来描述来图元对象,通过XML文档的组建和解析,完成图元对象到文本流和文本流到图元对象的转换。同时,通过J2ME平台提供的输入流(Inputstream),可以实现移动终端和服务器端之间文本流的传输。在具体实现时,如图3所示,服务器的工作过程包括:首先在服务器上建立一个WBServer类。作为主类,它含有程序的入口函数main()。在WBServer类中启动一个线程HelloThread,该线程的作用是监听服务器的各端口上是否有移动终端请求登录。当监听到有移动终端请求与服务器建立连接时,服务器首先与该移动终端建立Socket连接,然后取出一个当前可用的端口号P,并将该端口号P发送给上述移动终端;然后再启动一个线程ServerSender,同时关闭与移动终端的Socket连接。线程ServerSender在端口P上监听移动终端发来的请求,当移动终端与服务器在端口P再次建立Socket连接后,在ServerSender建立输出流,负责发送数据给移动终端;同时启动线程ServerListener,在该线程中建立输入流,负责接收和处理移动终端发送给服务器的数据。也就是说,服务器为每一个移动终端分别启动两个线程:ServerSender和ServerListener。ServerSender和ServerListener共享一个消息对列,ServerListener负责将接收到的移动终端发来的数据插入到消息对列;而ServerSender负责读取消息队列中的消息并进行处理。这两个线程分别处理服务器端的输入和输出数据,是为了提高服务器对移动终端的响应速度,以及使用户的使用更加自然。用户通过移动终端登录服务器后,可以建立一个新组或者加入一个现存的组进行讨论。“组”由Group类实现,由Group类管理组内的用户、组内消息的转发、共享对象的维护以及控制并发操作。服务器监听移动终端发来的消息,并对应每一个组启动一个“组”服务线程,由“组”服务线程负责管理组用户,维护共享数据,接收并转发用户数据,控制并发请求以及消解冲突。在具体实现时,如图4所示,移动终端的工作流程包括:用户通过移动终端进入多用户协同图形编辑主界面,在登录服务器成功后,服务器会向该移动终端返回现有移动终端组列表,用户根据该列表发起加入某移动终端组或建立某移动终端组的请求;服务器在处理上述请求成功后,向该移动终端发送其加入的组对应的描述图元对象的信息的文件,由该移动终端进行显示。当然,当该移动终端发起的是建立移动终端组的请求时,该文件为空。在本发明中,服务器和移动终端之间交互的所有消息都是一个个的消息对象。如图5所示,消息对象的传递在J2SE(Java2标准版)平台下可以采用序列化机制,但是手机的J2ME平台不支持序列化机制,因此无法通过序列化在服务器和移动终端之间传递消息对象。要在J2ME移动终端和J2SE服务器端传递消息对象,本发明采用以下方法。本发明结合XML技术,实现对象的序列化和反序列化。交互的一方先将一个消息对象按照一定的格式写成一个XML文本流,然后将该文本流在网络上传输;交互的另一方接收端并解析该XML文本流,最后完成该对象的实例化。这种方法在对象传递过程中增加了XML文本流处理层,对性能会造成一定影响,但由于XML本身的跨平台特性、强大的描述能力以及可扩展性等优点,使得由它带来的性能影响微不足道。此外,本发明还可采用乐观锁算法,意指服务器会根据成员提交的文件的版本信息与本地对应记录的当前版本信息进行比对,如果成员提交的数据版本号大于本地记录的当前版本号,则同意予以更新,否则认为是过期数据。应用到本发明,即:用户先编辑本地图元对象后,再向服务器申请;服务器并行处理用户的申请,若同意编辑,则返回同意消息,并向其它用户转发该描述图元对象的文件;若不同意,则返回否定消息使移动终端恢复到此次编辑前的状态。在同组用户不是很多的情况下采用乐观锁算法,可以有效提高系统的响应速度,降低网络通信量;同时与操作转化法相比,它计算简单,占用资源少,所以更适合于移动终端使用。本发明选择图元对象作为加锁单位。一是因为用户的操作基本都是以图元对象为单位进行,这样选择比较自然,而且易于实现;二是如果是以图元对象的属性(其中,该属性是指组成图元对象的各基本图元)为加锁单位,系统维护开销将比太大。因此选择以图元对象为单位进行加锁。本实施例中移动终端多用户协同图形编辑的系统,包括:服务器中的请求接收装置,用于在收到移动终端建立或者加入某移动终端组的请求后,将该移动终端记录为该移动终端组的成员;移动终端组中的成员中的文件发送装置,用于将用于描述本地图元对象的信息组建成文件后发送给上述服务器;其中,该文件可为可扩展标记语言(XML)格式的文件;服务器中的文件同步装置,用于将接收到的上述文件同步给上述移动终端组中的其它成员;及移动终端组中的成员中的文件接收装置,用于对接收到的上述文件进行解析并显示上述图元对象。此外,还可包括移动终端组中的成员中的图元锁定装置,用于在用户的控制下对本地图元对象进行锁定或不锁定;上述文件接收装置用于在判断出本地图元对象未被上述图元锁定装置锁定时,对接收到的上述文件进行解析并显示上述图元对象;还可用于在判断出本地图元对象已被上述图元锁定装置锁定时,对接收到的上述文件进行丢弃。上述系统还可包括移动终端组中的成员中的消息接收装置;上述文件同步装置用于在根据乐观锁算法不同意接受该文件时,丢弃该文件,并向该发送上述文件的成员返回否定消息;消息接收装置用于收到上述否定消息后,将本地图元对象恢复到经过此次编辑之前的状态。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1