WO2012058989A1 - 一种移动终端多用户协同图形编辑的方法及系统 - Google Patents

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

Info

Publication number
WO2012058989A1
WO2012058989A1 PCT/CN2011/080026 CN2011080026W WO2012058989A1 WO 2012058989 A1 WO2012058989 A1 WO 2012058989A1 CN 2011080026 W CN2011080026 W CN 2011080026W WO 2012058989 A1 WO2012058989 A1 WO 2012058989A1
Authority
WO
WIPO (PCT)
Prior art keywords
mobile terminal
file
message
terminal group
server
Prior art date
Application number
PCT/CN2011/080026
Other languages
English (en)
French (fr)
Inventor
沈静博
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012058989A1 publication Critical patent/WO2012058989A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services

Definitions

  • the present invention relates to the field of mobile communications, and in particular, to a method and system for multi-user collaborative graphics editing of a mobile terminal.
  • 3G 3rd-generation third-generation mobile communication technology
  • smartphones are becoming another form of computer mobile terminal.
  • Smartphones have powerful application features that can meet the high-end needs of future wireless business and entertainment. Therefore, while the traditional mobile phone market is maturing and gradually declining, smart phones will become the mainstream products in the future mobile phone market.
  • the increased bandwidth of the mobile phone channel, the increased processing power of the CPU (Central Processing Unit) and the increased memory make it possible for the mobile phone to have various and complex functions.
  • voice interaction that is, traditional voice call, the two parties communicate through voice;
  • Multimedia interaction such as MMS, voice messages, etc.
  • the present invention is to provide a method and system for multi-user collaborative graphics editing of a mobile terminal, which solves the defect that the user cannot use the mobile terminal to perform multi-user collaborative graphics editing in the prior art.
  • the present invention provides a method for multi-user collaborative graphics editing of a mobile terminal, including: After receiving the request of the mobile terminal to establish or join a mobile terminal group, the server records the mobile terminal as a member of the mobile terminal group;
  • the member in the mobile terminal group will be used to describe the information set file of the map meta object and send it to the server, and the server synchronizes the file to other members in the mobile terminal group;
  • the other member parses the received file and displays the primitive object.
  • the above method may further include:
  • the member in the mobile terminal group locks or does not lock the map meta object under the control of the user
  • the other member parsing the received file and displaying the primitive object, specifically: when the other member determines that the map meta object is in an unlock state, performing the received file Parsing and displaying the primitive object;
  • the received file is discarded.
  • the above method may also have the following features:
  • the mobile terminal will be used to describe the information set file of the map meta-object, and specifically includes: the mobile terminal uses the information group used to describe the map meta-object to form a file in an Extensible Markup Language (XML) format.
  • XML Extensible Markup Language
  • the above method may further include:
  • the server After receiving the member withdrawal request in the mobile terminal group, the server deletes the member from the mobile terminal group.
  • the above method may also have the following features:
  • the primitive object is a graphic composed of a single basic primitive or a graphic composed of a plurality of basic primitive combinations.
  • the above method may also have the following features:
  • the message packets exchanged between the server and the mobile terminal are composed of the following two parts: a header and a message body;
  • the header is defined as a six-tuple, including the following fields: ⁇ Version, Msg ID, Date, Time, Source, Destination>; where Version is used to indicate the version information of the message message; Msg ID is the only one of the message.
  • the date is the sending date of the message; the time is the sending time of the message; the source is the identifier of the sender of the message; and the destination is the identifier of the receiver of the message;
  • the message body is defined as a triple, including the following fields: ⁇ Type, Length, Element List >; where Type is used to identify the message type; Length is used to indicate the number of elements included in the subsequent Element List field; Element The value of each element in the List is used to represent the attribute value of the passed object.
  • the above method may also have the following features:
  • the member of the mobile terminal group After the member of the mobile terminal group is used to describe the information set file of the map meta object and sent to the server, if the server does not agree to accept the file according to the optimistic locking algorithm, the file is discarded, and Returning a negative message to the member who sent the file; after receiving the negative message, the member restores the map meta object to a state before the editing.
  • the present invention also provides a system for multi-user collaborative graphics editing of a mobile terminal, comprising: a request receiving device in a server, configured to: after receiving a request for a mobile terminal to establish or join a mobile terminal group, the mobile terminal Recorded as a member of the mobile terminal group;
  • a file sending device in a member of the mobile terminal group, configured to: send a group of information describing the map element object to a file;
  • a file synchronization device in the server, configured to: synchronize the received file to other members in the mobile terminal group;
  • a file receiving device among the members of the mobile terminal group is configured to: parse the received file and display the primitive object.
  • the above system may further include:
  • the primitive locking device in the member of the mobile terminal group is configured to: lock or not lock the map meta-object under the control of the user;
  • the file receiving device is further configured to: when it is determined that the map meta object is not locked by the primitive locking device, parse the received file and display the primitive object; When the object has been locked by the primitive locking device, the received file is discarded.
  • the above system may also have the following features:
  • the file transmitting apparatus is configured to: form a group of information describing the map meta object into a file in an Extensible Markup Language (XML) format.
  • XML Extensible Markup Language
  • the above system may further include:
  • the file synchronization device is further configured to: when the file is disapproved according to the optimistic lock algorithm, discard the file, and return a negative message to the member that sends the file;
  • the message receiving device is configured to: after receiving the negative message, restore the map meta object to a state before the editing.
  • the embodiment of the present invention is applied to the development field, and will be CSCW (Computer Supported
  • Cooperative Work computer support collaborative work
  • mobile application development designed and implemented a J2ME-based smartphone multi-user collaborative graphics editing system, enabling multiple users in different locations to collaborate in real time through their mobile phones.
  • Graphical interaction BRIEF abstract
  • FIG. 1 is a flow chart of a method for implementing multi-user collaborative graphics editing on a mobile terminal in an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a format of a message exchanged between a server and a mobile terminal defined in an embodiment of the present invention
  • FIG. 3 is a flowchart of establishing a connection between a server and a mobile terminal in an embodiment of the present invention
  • FIG. 5 is a diagram of an object serialization method implemented in an embodiment of the present invention. Preferred embodiment of the invention
  • the method of the present invention includes: establishing, by a server, a mobile terminal Or after the request of the mobile terminal group is added, the mobile terminal is recorded as a member of the mobile terminal group; the member of the mobile terminal group is used to describe the information set of the map meta object and sent to the server, and
  • the server synchronizes the file to other members of the mobile terminal group; the other members parse the received file and display the primitive object.
  • the file may be a file in an XML (Extensible Markup Language) format; the primitive object may be a graphic composed of a single basic primitive or a graphic composed of a plurality of basic primitive combinations.
  • the members in the foregoing mobile terminal group may also lock or not lock the local graphic object under the control of the user;
  • the other member parsing the received file and displaying the primitive object, specifically: when the other member determines that the map meta object is in an unlock state, parsing the received file and displaying the Primitive object
  • the received file is discarded.
  • the server deletes the member from the mobile terminal group.
  • the messages exchanged between the server and the mobile terminal can be divided into two types: control messages and data messages.
  • the request for establishing the mobile terminal group, the request message for joining the mobile terminal group, the request for retiring the group, and the like are all control messages, and the file in XML format interacting between the server and the mobile terminal belongs to the data message.
  • a gimmick can be defined as a six-tuple, including the following fields: ⁇ Version, Msg ID, Date, Time, Source, Destination>.
  • the Version is used to indicate the version information of the message; the Msg ID is the unique identifier of the message, and the identifier is given by the mobile terminal or the server; Date is the sending date of the packet; Time is the sending of the packet. Time; Source is the identifier information of the sender of the message, and the value is the port number assigned to the mobile terminal by the server.
  • a genre can be defined as a triple, including the following fields: ⁇ Type, Length, Element List ).
  • Type is used to identify the packet type (refers to the data type, specifically defined by the designer); Length is used to indicate the number of elements included in the subsequent Element List field; the value of each element in the Element List is used to represent An attribute value of the passed object.
  • the transmitted objects can be divided into two categories; one is a primitive object, the other is an object describing the operation of the system, the system refers to a multi-user collaborative graphics editing software, and the operation refers to the operation of the primitive.
  • the object of the primitive is Serialization and deserialization and their transmission cannot be achieved simply by using a normal data stream.
  • the invention uses the XML technology to realize the serialization and deserialization of the object, that is, the XML object is used to describe the primitive object, and the conversion of the primitive object to the text stream and the text stream to the primitive object is completed through the formation and parsing of the XML document. .
  • the text stream can be transmitted between the mobile terminal and the server.
  • the working process of the server includes:
  • the main class contains the program's entry function main ( ).
  • the role of this thread is to monitor whether there are mobile terminals requesting login on each port of the server.
  • the server When it is detected that a mobile terminal requests to establish a connection with the server, the server first establishes a Socket connection with the mobile terminal, then takes out a currently available port number P, and sends the port number P to the mobile terminal; and then starts a thread.
  • ServerSender send thread
  • the thread ServerSender listens for the request sent by the mobile terminal on the port P.
  • an output stream is established in the ServerSender, which is responsible for sending data to the mobile terminal; and simultaneously starting the thread ServerListener (receiving thread), An input stream is established in the thread, and is responsible for receiving and processing data sent by the mobile terminal to the server.
  • ServerSender and ServerListener share a message pair column
  • ServerListener is responsible for inserting the data sent by the received mobile terminal into the message pair column
  • ServerSender is responsible for reading the message in the message queue and processing it.
  • the "group” is implemented by the Group class, which is managed by the Group class, the forwarding of messages within the group, the maintenance of shared objects, and the control of concurrent operations.
  • the server listens for messages sent by the mobile terminal, and starts a "group" month service thread for each group.
  • the "group” month service thread is responsible for managing group users, maintaining shared data, receiving and forwarding user data, and controlling concurrent requests. And resolve conflicts.
  • the workflow of the mobile terminal includes: the user enters the multi-user collaborative graphic editing main interface through the mobile terminal, and after the login server succeeds, the server returns a list of the existing mobile terminal group to the mobile terminal.
  • the user initiates a request to join a mobile terminal group or establish a mobile terminal group according to the list; after the server successfully processes the request, the server sends a file corresponding to the group object corresponding to the joined group to the mobile terminal, by the The mobile terminal performs display.
  • the file is empty.
  • all messages exchanged between the server and the mobile terminal are individual message objects.
  • the message object can be used in the J2SE (Java2 Standard Edition) platform to use the serialization mechanism, but the J2ME platform of the mobile phone does not support the serialization mechanism, so it cannot be passed between the server and the mobile terminal through serialization.
  • Message object To deliver message objects on the J2ME mobile terminal and the J2SE server side, the present invention uses the following method.
  • the invention combines XML technology to implement serialization and deserialization of objects.
  • the interacting party first writes a message object into an XML text stream according to a certain format, and then transmits the text stream on the network; the other party of the interaction receives and parses the XML text stream, and finally completes the object instantiation.
  • This method adds an XML text stream processing layer to the object delivery process, which has a certain impact on performance.
  • due to the cross-platform nature of XML itself powerful description ability and scalability, the performance brought by it is brought about by it. The impact is negligible.
  • the present invention can also use the optimistic locking algorithm, which means that the server compares the version information of the file submitted by the member with the current version information of the local corresponding record, if the version number of the data submitted by the member is greater than the current version number of the local record. , then agree to update, otherwise it is considered to be outdated data.
  • the user first edits the map meta object, and then applies to the server; the server processes the user's application in parallel, and if it agrees to edit, returns a consent message, and The user forwards the file describing the primitive object; if it does not agree, a negative message is returned to restore the mobile terminal to the state before the editing.
  • the optimistic locking algorithm can effectively improve the response speed of the system and reduce the network traffic. At the same time, compared with the operation conversion method, it is simple in calculation and consumes less resources, so it is more suitable for mobile terminals. .
  • the present invention selects a primitive object as a locking unit. First, because the user's operation is basically performed in units of primitive objects, the selection is more natural and easy to implement; second, if it is the attribute of the primitive object (where the attribute refers to the basic elements of the primitive object) The primitives are locked units, and the system maintenance overhead will be too large. Therefore, you choose to lock in the unit of the primitive object.
  • a request receiving device in the server configured to record, after receiving the request of the mobile terminal to establish or join a mobile terminal group, the mobile terminal as a member of the mobile terminal group;
  • a file sending device in the member of the mobile terminal group, configured to send the information group for describing the map meta object to the server; and the file may be a file in an Extensible Markup Language (XML) format;
  • XML Extensible Markup Language
  • a file synchronization device in the server, configured to synchronize the received file to other members of the mobile terminal group
  • a file receiving device among the members of the mobile terminal group is configured to parse the received file and display the above-mentioned primitive object.
  • an element locking device in a member of the mobile terminal group may be included for locking or not locking the map meta object under the control of the user;
  • the file receiving device is configured to, when determining that the map meta object is not locked by the primitive locking device, parse the received file and display the primitive object; and may also be used to determine that the map meta object has been When the above-mentioned primitive locking device is locked, the received file is discarded.
  • the above system may also include a message receiving device among members of the mobile terminal group;
  • the file synchronization device is configured to discard the file when the file is unintentionally accepted according to the optimistic lock algorithm, and return a negative message to the member that sends the file;
  • the message receiving device restores the map meta object to The state before the second edit.
  • the embodiments of the present invention are applied to the field of development, combining CSCW with mobile application development, and designing and implementing a J2ME-based smart phone multi-user collaborative graphics editing system, so that multiple users in different locations can pass their respective The mobile phone cooperates in real time for graphical interaction.

Landscapes

  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

移动终端多用户协同图形编辑的方法及系统。所述系统包括:服务器中的请求接收装置、移动终端组中的成员中的文件发送装置、服务器中的文件同步装置及移动终端组中的成员中的文件接收装置。所述方法包括:服务器在收到移动终端建立或者加入某移动终端组的请求后,将该移动终端记录为该移动终端组的成员;移动终端组中的成员将用于描述本地图元对象的信息组建成文件后发送给服务器,由服务器将该文件同步给该移动终端组中的其它成员;其它成员对接收到的文件进行解析并显示上述图元对象。本发明应用于开发领域,使得处于不同地点的多个用户可以通过各自的手机实时协同合作进行图形交互。

Description

一种移动终端多用户协同图形编辑的方法及系统
技术领域
本发明涉及移动通信领域, 尤其涉及一种移动终端多用户协同图形编辑 的方法及系统。
背景技术
随着 3G ( 3rd-generation第三代移动通信技术 )技术的推动, 智能手机正 在成为另一种形式的计算机移动终端。 智能手机拥有强大的应用功能, 可以 满足未来无线商用和娱乐等高端需求。 因而在传统手机市场走向成熟并逐步 衰退的同时, 智能手机将会成为未来手机市场的主流产品。
手机信道带宽的提高、 CPU ( Central Processing Unit, 中央处理器)处理 能力的增强和内存的增大, 使手机具有多样的、 复杂的功能成为可能。 目前, 1、 语音交互, 即传统的语音通话, 交互双方通过语音进行交流;
2、 文字交互, 比如常用的短信息;
3、 多媒体交互, 如彩信、 语音留言等。
手机上丰富的应用大大拓展了手机的功能, 方便了人们通过手机进行交 流。 但是在某些情况下, 用户要清楚、 简洁和准确的表达和交流思想, 仅仅 通过以上三种交互方式还是不够的, 这时如果能用图形辅助说明则会达到更 好的效果。
发明内容
本发明要提供一种移动终端多用户协同图形编辑的方法及系统, 以解决 现有技术中用户无法使用移动终端进行多用户协同图形编辑的缺陷。
为解决上述问题, 本发明提供了一种移动终端多用户协同图形编辑的方 法, 包括: 服务器在收到移动终端建立或者加入某移动终端组的请求后, 将该移动 终端记录为该移动终端组的成员;
所述移动终端组中的成员将用于描述本地图元对象的信息组建成文件后 发送给所述服务器, 由所述服务器将该文件同步给所述移动终端组中的其它 成员;
所述其它成员对接收到的所述文件进行解析并显示所述图元对象。
优选地, 上述方法还可包括:
所述移动终端组中的成员在用户的控制下对本地图元对象进行锁定或不 锁定;
所述其它成员对接收到的所述文件进行解析并显示所述图元对象, 具体 包括: 当所述其它成员在判断出本地图元对象处于非锁定状态时, 对接收到 的所述文件进行解析并显示所述图元对象;
当所述其它成员在判断出本地图元对象处于锁定状态时, 对接收到的所 述文件进行丟弃。
优选地, 上述方法还可具有以下特征:
所述移动终端将用于描述本地图元对象的信息组建成文件, 具体包括: 所述移动终端将用于描述本地图元对象的信息组建成可扩展标记语言 ( XML )格式的文件。
优选地, 上述方法还可包括:
所述服务器收到所述移动终端组中的成员退组请求后, 将该成员从所述 移动终端组中删除。
优选地, 上述方法还可具有以下特征:
所述图元对象为由单个基本图元构成的图形或由多个基本图元组合构成 的图形。
优选地, 上述方法还可具有以下特征:
所述服务器和移动终端之间交互的消息报文均由以下两部分组成: 报头 和报文体; 才艮头定义为一个六元组, 包括以下字段: 〈 Version, Msg ID, Date, Time, Source, Destination〉;其中, Version用于指明该消息报文的版本信息; Msg ID 为该 文的唯一标识; Date为该 ^艮文的发送日期; Time为该 ^艮文的发送时间; Source为报文发送者的标识信息; Destination为报文接收者的标识信息;
报文体定义为一个三元组,包括以下字段: 〈 Type, Length, Element List >; 其中, Type用于标识报文类型; Length用于表示其后的 Element List字段中 包含的元素个数; Element List中的每一个元素的值用于表示所传对象的属性 值。
优选地, 上述方法还可具有以下特征:
所述移动终端组中的成员将用于描述本地图元对象的信息组建成文件并 发送给所述服务器后, 若所述服务器根据乐观锁算法不同意接受该文件, 则 丟弃该文件, 并向该发送所述文件的成员返回否定消息; 所述成员收到所述 否定消息后, 将本地图元对象恢复到经过此次编辑之前的状态。
本发明还提供了一种移动终端多用户协同图形编辑的系统, 包括: 服务器中的请求接收装置, 其设置为: 在收到移动终端建立或者加入某 移动终端组的请求后, 将该移动终端记录为该移动终端组的成员;
所述移动终端组中的成员中的文件发送装置, 其设置为: 将描述本地图 元对象的信息组建成文件后发送给所述服务器;
所述服务器中的文件同步装置, 其设置为: 将接收到的所述文件同步给 所述移动终端组中的其它成员;
所述移动终端组中的成员中的文件接收装置, 其设置为: 对接收到的所 述文件进行解析并显示所述图元对象。
优选地, 上述系统还可包括:
所述移动终端组中的成员中的图元锁定装置, 设置为: 在用户的控制下 对本地图元对象进行锁定或不锁定;
所述文件接收装置还设置为: 在判断出本地图元对象未被所述图元锁定 装置锁定时, 对接收到的所述文件进行解析并显示所述图元对象; 在判断出 本地图元对象已被所述图元锁定装置锁定时 ,对接收到的所述文件进行丟弃。 优选地, 上述系统还可具有以下特征:
所述文件发送装置设置为: 将描述本地图元对象的信息组建成可扩展标 记语言 (XML )格式的文件。
优选地, 上述系统还可包括:
所述移动终端组中的成员中的消息接收装置;
所述文件同步装置还设置为: 在根据乐观锁算法不同意接受该文件时, 丟弃该文件, 并向该发送所述文件的成员返回否定消息;
所述消息接收装置设置为: 收到所述否定消息后, 将本地图元对象恢复 到经过此次编辑之前的状态。
本发明实施例应用于开发领域, 将 CSCW ( Computer Supported
Cooperative Work, 计算机支持协同工作)与移动应用开发相结合, 设计并实 现了一个基于 J2ME的智能手机多用户协同图形编辑系统, 使得处于不同地 点的多个用户可以通过各自的手机实时地协同合作进行图形交互。 附图概述
图 1是本发明实施例中在移动终端上实现多用户协同图形编辑的方法流 程图;
图 2 是本发明实施例中定义的服务器与移动终端交互消息的格式示意 图;
图 3是本发明实施例中服务器与移动终端建立连接的流程图;
图 4是本发明实施例中移动终端的工作流程图;
图 5是本发明实施例中实现的对象序列化方法图。 本发明的较佳实施方式
下文中将结合附图对本发明的实施例进行详细说明。 需要说明的是, 在 不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互组合。
如图 1所示, 本发明所述方法包括: 服务器在收到移动终端发来的建立 或者加入某移动终端组的请求后,将该移动终端记录为该移动终端组的成员; 上述移动终端组中的成员将用于描述本地图元对象的信息组建成文件后发送 给上述服务器,由上述服务器将该文件同步给上述移动终端组中的其它成员; 上述其它成员对接收到的上述文件进行解析并显示该图元对象。 其中, 该文 件可以为 XML ( Extensible Markup Language, 可扩展标记语言)格式的文件; 该图元对象可以为由单个基本图元构成的图形或由多个基本图元组合构成的 图形。
在具体实现时, 上述移动终端组中的成员还可以在用户的控制下对本地 图元对象进行锁定或不锁定;
则上述其它成员对接收到的上述文件进行解析并显示该图元对象, 具体 包括: 当上述其它成员在判断出本地图元对象处于非锁定状态时, 对接收到 的上述文件进行解析并显示该图元对象;
当上述其它成员在判断出本地图元对象处于锁定状态时, 对接收到的文 件进行丟弃。
此外, 当收到该移动终端组中的成员发来的退组请求后, 上述服务器将 该成员从该移动终端组中删除。
从上述描述可以看出,服务器与移动终端之间交互的消息可以分为两种: 控制消息和数据消息。 其中, 建立移动终端组的请求、 加入移动终端组的请 求消息、 退组请求消息等均属于控制消息, 而服务器与移动终端之间交互的 XML格式的文件属于数据消息。
如图 2所示, 上述两种消息报文均由以下两部分组成: 报头和报文体。 才艮头可定义为一个六元组,包括以下字段: 〈 Version, Msg ID, Date, Time, Source, Destination〉。其中, Version用于指明该消息报文的版本信息; Msg ID 为该报文的唯一标识, 该标识由移动终端或服务器给出; Date为该报文的发 送日期; Time为该报文的发送时间; Source为报文发送者的标识信息, 其值 釆用服务器分配给移动终端的端口号, 值为 0时表示该消息的发送者为服务 器; Destination为报文接收者的标识信息, 值为 0时表示该消息的接收者为 服务器。 才艮文体可定义为一个三元组, 包括以下字段: < Type, Length, Element List ) 。 其中, Type用于标识报文类型 (指数据类型, 具体由设计者定义) ; Length用于表示其后的 Element List字段中包含的元素个数; Element List中 的每一个元素的值用于表示所传对象的一个属性值。 所传对象可分为两类; 一类是图元对象, 另一类是描述系统操作的对象, 系统指多用户协同图形编 辑软件, 操作指对图元的操作动作。
由于移动终端上的 J2ME ( Java 2 Micro Edition )平台不支持图元对象的 序列化操作, 且图元对象的属性可能包含复杂的数据类型 (即非 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 )格式的文件;
服务器中的文件同步装置, 用于将接收到的上述文件同步给上述移动终 端组中的其它成员; 及
移动终端组中的成员中的文件接收装置, 用于对接收到的上述文件进行 解析并显示上述图元对象。
此外, 还可包括移动终端组中的成员中的图元锁定装置, 用于在用户的 控制下对本地图元对象进行锁定或不锁定;
上述文件接收装置用于在判断出本地图元对象未被上述图元锁定装置锁 定时, 对接收到的上述文件进行解析并显示上述图元对象; 还可用于在判断 出本地图元对象已被上述图元锁定装置锁定时, 对接收到的上述文件进行丟 弃。
上述系统还可包括移动终端组中的成员中的消息接收装置;
上述文件同步装置用于在根据乐观锁算法不同意接受该文件时, 丟弃该 文件, 并向该发送上述文件的成员返回否定消息;
消息接收装置用于收到上述否定消息后, 将本地图元对象恢复到经过此 次编辑之前的状态。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序 来指令相关硬件完成, 所述程序可以存储于计算机可读存储介质中, 如只读 存储器、 磁盘或光盘等。 可选地, 上述实施例的全部或部分步骤也可以使用 一个或多个集成电路来实现。 相应地, 上述实施例中的各模块 /单元可以釆用 硬件的形式实现, 也可以釆用软件功能模块的形式实现。 本发明不限制于任 何特定形式的硬件和软件的结合。
工业实用性 本发明实施例应用于开发领域, 将 CSCW与移动应用开发相结合, 设计 并实现了一个基于 J2ME的智能手机多用户协同图形编辑系统, 使得处于不 同地点的多个用户可以通过各自的手机实时地协同合作进行图形交互。

Claims

权 利 要 求 书
1、 一种移动终端多用户协同图形编辑的方法, 包括:
服务器在收到移动终端建立或者加入某移动终端组的请求后, 将该移动 终端记录为该移动终端组的成员;
所述移动终端组中的成员将用于描述本地图元对象的信息组建成文件后 发送给所述服务器, 由所述服务器将该文件同步给所述移动终端组中的其它 成员;
所述其它成员对接收到的所述文件进行解析并显示所述图元对象。
2、 如权利要求 1所述的方法, 其中, 所述方法还包括:
所述移动终端组中的成员在用户的控制下对本地图元对象进行锁定或不 锁定;
所述其它成员对接收到的所述文件进行解析并显示所述图元对象包括: 当所述其它成员在判断出本地图元对象处于非锁定状态时, 对接收到的所述 文件进行解析并显示所述图元对象;
当所述其它成员在判断出本地图元对象处于锁定状态时, 对接收到的所 述文件进行丟弃。
3、 如权利要求 1或 2所述的方法, 其中,
所述移动终端将用于描述本地图元对象的信息组建成文件包括: 所述移 动终端将用于描述本地图元对象的信息组建成可扩展标记语言 (XML )格式 的文件。
4、 如权利要求 1所述的方法, 其中, 所述方法还包括:
所述服务器收到所述移动终端组中的成员退组请求后, 将该成员从所述 移动终端组中删除。
5、 如权利要求 1或 2所述的方法, 其中,
所述图元对象为由单个基本图元构成的图形或由多个基本图元组合构成 的图形。
6、 如权利要求 1、 2或 4中任意一项所述的方法, 其中, 所述服务器和移动终端之间交互的消息报文均由以下两部分组成: 报头 和报文体;
才艮头定义为一个六元组, 包括以下字段: 〈 Version, Msg ID, Date, Time, Source, Destination〉;其中, Version用于指明该消息报文的版本信息; Msg ID 为该 文的唯一标识; Date为该 ^艮文的发送日期; Time为该 文的发送时间; Source为报文发送者的标识信息; Destination为报文接收者的标识信息;
报文体定义为一个三元组,包括以下字段: 〈 Type, Length, Element List >; 其中, Type用于标识报文类型; Length用于表示其后的 Element List字段中 包含的元素个数; Element List中的每一个元素的值用于表示所传对象的属性 值。
7、 如权利要求 1或 2所述的方法, 其中, 还包括:
所述移动终端组中的成员将用于描述本地图元对象的信息组建成文件并 发送给所述服务器后, 若所述服务器根据乐观锁算法不同意接受该文件, 则 丟弃该文件, 并向该发送所述文件的成员返回否定消息; 所述成员收到所述 否定消息后, 将本地图元对象恢复到经过此次编辑之前的状态。
8、 一种移动终端多用户协同图形编辑的系统, 包括:
服务器中的请求接收装置, 其设置为: 在收到移动终端建立或者加入某 移动终端组的请求后, 将该移动终端记录为该移动终端组的成员;
所述移动终端组中的成员中的文件发送装置, 其设置为: 将描述本地图 元对象的信息组建成文件后发送给所述服务器;
所述服务器中的文件同步装置, 其设置为: 将接收到的所述文件同步给 所述移动终端组中的其它成员; 所述移动终端组中的成员中的文件接收装置, 其设置为: 对接收到的所 述文件进行解析并显示所述图元对象。
9、 如权利要求 8所述的系统, 其中, 所述系统还包括:
所述移动终端组中的成员中的图元锁定装置, 设置为: 在用户的控制下 对本地图元对象进行锁定或不锁定;
所述文件接收装置还设置为: 在判断出本地图元对象未被所述图元锁定 装置锁定时, 对接收到的所述文件进行解析并显示所述图元对象; 在判断出 本地图元对象已被所述图元锁定装置锁定时,对接收到的所述文件进行丟弃。
10、 如权利要求 8或 9所述的系统, 其中,
所述文件发送装置还设置为: 将描述本地图元对象的信息组建成可扩展 标记语言 ( XML )格式的文件。
11、 如权利要求 8或 9所述的系统, 其中, 所述系统还包括所述移动终 端组中的成员中的消息接收装置;
所述文件同步装置还设置为: 在根据乐观锁算法不同意接受该文件时, 丟弃该文件, 并向该发送所述文件的成员返回否定消息;
所述消息接收装置设置为: 收到所述否定消息后, 将本地图元对象恢复 到经过此次编辑之前的状态。
PCT/CN2011/080026 2010-11-04 2011-09-22 一种移动终端多用户协同图形编辑的方法及系统 WO2012058989A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010531592.1 2010-11-04
CN2010105315921A CN101984430A (zh) 2010-11-04 2010-11-04 一种移动终端多用户协同图形编辑的方法及系统

Publications (1)

Publication Number Publication Date
WO2012058989A1 true WO2012058989A1 (zh) 2012-05-10

Family

ID=43641599

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/080026 WO2012058989A1 (zh) 2010-11-04 2011-09-22 一种移动终端多用户协同图形编辑的方法及系统

Country Status (2)

Country Link
CN (2) CN106022716A (zh)
WO (1) WO2012058989A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022716A (zh) * 2010-11-04 2016-10-12 中兴通讯股份有限公司 一种移动终端多用户协同图形编辑的方法及系统
CN104794656A (zh) * 2014-01-16 2015-07-22 朱开一 一种应用于社交网络的推荐方法和推荐系统
CN105187360A (zh) * 2014-06-17 2015-12-23 中兴通讯股份有限公司 文档的会议共享方法及装置
CN107404510B (zh) * 2016-05-20 2020-04-07 上海画擎信息科技有限公司 一种终端间轻便化协同编辑共享系统
CN107169835A (zh) * 2017-05-18 2017-09-15 中邮电子商务有限公司 一种多人在线定制同学录的方法
CN108961348A (zh) * 2018-06-11 2018-12-07 商晓磊 以面向对象为基础的即时画图交互方法
CN110334918B (zh) * 2019-06-18 2022-04-19 中国船舶工业系统工程研究院 一种警用协同预案拟制系统
CN110442334B (zh) * 2019-07-15 2023-04-28 北京飞利信电子技术有限公司 一种多人协同图形组态方法、电子设备和服务器
CN110765744B (zh) * 2019-10-22 2024-01-30 思必驰科技股份有限公司 多人协同文档编辑方法及系统
CN112419448A (zh) * 2020-11-17 2021-02-26 北京字跳网络技术有限公司 图形更改方法、装置、系统和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658567A (zh) * 2005-02-21 2005-08-24 华东师范大学 基于互联网的协作绘图方法
US20050216561A1 (en) * 2000-05-02 2005-09-29 International Business Machines Corporation System and method for a computer based cooperative work system
CN101196829A (zh) * 2007-12-27 2008-06-11 电子科技大学 协同编辑中数据冲突模块的加锁方法
CN101984430A (zh) * 2010-11-04 2011-03-09 中兴通讯股份有限公司 一种移动终端多用户协同图形编辑的方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124356B1 (en) * 1999-12-03 2006-10-17 Koninklijke Philips Electronics N.V. Methods for initiating activity in intelligent devices connected to an in home digital network using extensible markup language (XML) for information exchange and systems therefor
CN1300682C (zh) * 2005-01-27 2007-02-14 浙江大学 基于语义锁实现图案协同设计中的语义保持方法
US20070162456A1 (en) * 2005-12-30 2007-07-12 Shai Agassi Method and system for providing context based content for computer applications
CN101055577A (zh) * 2006-04-12 2007-10-17 龙搜(北京)科技有限公司 可扩展标记语言集中器
CN100405360C (zh) * 2006-06-23 2008-07-23 浙江大学 普适环境下协同设计中图形图像的自适应显示方法
CN100483343C (zh) * 2007-11-30 2009-04-29 清华大学 一种基于产品结构树的仿真流程信息建模及维护方法
CN101286865B (zh) * 2008-05-14 2010-11-10 华为技术有限公司 音视频会议中实现电子白板的方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216561A1 (en) * 2000-05-02 2005-09-29 International Business Machines Corporation System and method for a computer based cooperative work system
CN1658567A (zh) * 2005-02-21 2005-08-24 华东师范大学 基于互联网的协作绘图方法
CN101196829A (zh) * 2007-12-27 2008-06-11 电子科技大学 协同编辑中数据冲突模块的加锁方法
CN101984430A (zh) * 2010-11-04 2011-03-09 中兴通讯股份有限公司 一种移动终端多用户协同图形编辑的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SUN, HUAN ET AL.: "Conflict Resolution in Distributed CAD Cooperative Design", CHINESE JOURNAL OF ELECTRONICS, vol. 34, no. 12A, December 2006 (2006-12-01), pages 2459 *

Also Published As

Publication number Publication date
CN106022716A (zh) 2016-10-12
CN101984430A (zh) 2011-03-09

Similar Documents

Publication Publication Date Title
WO2012058989A1 (zh) 一种移动终端多用户协同图形编辑的方法及系统
US9894153B2 (en) Methods and systems for peer-to-peer discovery and connection from a collaborative application session
EP1589722B1 (en) Method, system, and apparatus for enabling near real time collaboration on an electronic document
EP2342883B1 (en) File transfer in conference services
CN104253857B (zh) 背靠背虚拟web实时通信代理以及相关的方法、系统
KR101859235B1 (ko) 범용 플러그 앤 플레이 가능 텔레포니 장치들과 무선 영역 네트워크 장치들 사이의 멀티미디어 회의 시스템 및 방법
CN105723685A (zh) 连接会话的保留
WO2021218795A1 (zh) 一种信息交互方法、装置、服务器、系统及存储介质
CN101163117B (zh) 一种群组管理方法、群组资源共享方法及即时通讯装置
CN103281237A (zh) 一种群组处理方法和装置
JP2017505005A (ja) 複数のソースから単一のシンクへのワイヤレスメディア共有
WO2021218850A1 (zh) 一种信息交互方法、装置、服务器、系统及存储介质
CN101778056B (zh) 一种融合消息业务的会谈历史记录处理方法和系统
CN110113623A (zh) 一种基于sip协议的音视频切片传输平台
CN107395555A (zh) 一种会话管理的方法、设备和系统
CN101848099B (zh) 网络会议系统及其会议实现方法
CN102546201A (zh) 一种实现管理串口服务器的系统及方法
CN102946414B (zh) 一种社会性网络与网络视频的互动信息的同步系统和方法
CN101400020B (zh) 被动加入群组的用户终端获取群组列表的方法、系统及服务器
JPH07297824A (ja) 通信制御装置及び通信制御方法
CN110505070A (zh) 一种三方会话的建立方法及装置
Zhai et al. An improved DDS publish/subscribe automatic discovery algorithm
CN110071925A (zh) 数据传输方法和相应的服务器、计算机可读存储介质
WO2023217089A1 (zh) 数据传输方法、装置、设备、系统及存储介质
CN108737480A (zh) 基于软件媒体服务器的会议级联方法、服务器及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11837515

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11837515

Country of ref document: EP

Kind code of ref document: A1