CN110058917B - Cooperative control method and system for dynamic geometric cooperative mapping - Google Patents

Cooperative control method and system for dynamic geometric cooperative mapping Download PDF

Info

Publication number
CN110058917B
CN110058917B CN201910342509.7A CN201910342509A CN110058917B CN 110058917 B CN110058917 B CN 110058917B CN 201910342509 A CN201910342509 A CN 201910342509A CN 110058917 B CN110058917 B CN 110058917B
Authority
CN
China
Prior art keywords
mapping
message
mapping message
client
server
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201910342509.7A
Other languages
Chinese (zh)
Other versions
CN110058917A (en
Inventor
陈联
饶永生
邹宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou University
Original Assignee
Guangzhou University
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 Guangzhou University filed Critical Guangzhou University
Priority to CN201910342509.7A priority Critical patent/CN110058917B/en
Publication of CN110058917A publication Critical patent/CN110058917A/en
Application granted granted Critical
Publication of CN110058917B publication Critical patent/CN110058917B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses a cooperative control method and a system for dynamic geometric cooperative mapping, wherein the method comprises the following steps: the method comprises the steps that a client side obtains a drawing instruction input by a user, generates a first drawing message and sends the first drawing message to a server; the server analyzes and detects the received first mapping message to generate a feedback message, sends the feedback message to the client as the sender of the first mapping message, generates a second mapping message when the first mapping message passes the detection successfully, and sends the second mapping message to all the clients; and the client analyzes the received second mapping message and updates mapping according to the mapping instruction obtained by analysis, and/or analyzes the received feedback message and updates a local mapping message sequence according to the analysis result. The invention greatly simplifies the cooperative control method in cooperative work and effectively ensures the timeliness, consistency and drawing fluency of dynamic geometric cooperative drawing under asynchronous communication.

Description

Cooperative control method and system for dynamic geometric cooperative mapping
Technical Field
The invention relates to the technical field of computer collaborative work, in particular to a collaborative control method and a collaborative control system for dynamic geometric collaborative mapping.
Background
Geometric figures made on a computer screen are called dynamic geometric figures if their geometric relationship can be kept constant during changes and movements. The dynamic geometric figure has two basic characteristics, one is that some objects in the figure can be directly driven by mouse dragging or parameter change; and the other objects which are not dragged or directly driven can automatically adjust the positions of the objects so as to keep the originally set geometric properties of the graph. Geometric drawing boards, super drawing boards and GeoGebra are relatively representative software with a dynamic geometric drawing function and are widely applied to geometric teaching.
CSCW (computer-supported collaboration) refers to "a group of collaborations in a computer-supported environment accomplish a common task". Collaborative mapping is an important research direction for computer-supported collaborative work (CSCW), and how to ensure timeliness, handle user concurrency, and control collaboration is several key issues for collaborative mapping. The dynamic geometric collaborative drawing supports multiple persons to efficiently browse and operate (add, delete and change) the same dynamic geometric figure through a network at the same time, and keeps the states of 'you see i see' and the dynamic geometric attributes are unchanged.
With the development of internet and network distance education, in the face of higher and higher requirements of users on the interactivity of network education software, the internet-based dynamic geometric collaboration mapping software becomes more important and necessary. How to ensure the performance of operator wishes and their concurrency control in dynamic geometric collaborative mapping becomes one of the complex and critical issues.
Disclosure of Invention
The technical problem to be solved by the embodiments of the present invention is to provide a cooperative control method and system for dynamic geometric cooperative mapping, which can simplify the cooperative control method in cooperative work and ensure timeliness, consistency and mapping fluency of dynamic geometric cooperative mapping under asynchronous communication.
In order to solve the above technical problem, an aspect of the present invention provides a cooperative control method for dynamic geometric cooperative mapping, including:
the client acquires a mapping instruction input by a user and sends a generated first mapping message to the server; the first mapping message is generated according to the mapping instruction and the user ID of the corresponding client;
the server analyzes and detects the received first mapping message to generate a feedback message, sends the feedback message to a client as a sender of the first mapping message, generates a second mapping message when the first mapping message passes the detection successfully, and sends the second mapping message to all the clients;
and the client analyzes the received second mapping message and updates mapping according to the mapping instruction obtained by analysis, and/or the client analyzes the received feedback message and updates a local mapping message sequence according to the analysis result.
Further, the analyzing, by the client, the received second mapping message, and updating the mapping according to the mapping instruction obtained by the analyzing includes:
the client analyzes the received second mapping message and judges whether a lost mapping message exists between the current local mapping message sequence and the second mapping message;
if so, sending a lost message reissue request to the server to acquire a lost mapping message reissued by the server;
and if not, updating the drawing according to the drawing instruction obtained by analysis.
Further, the server reissues the loss mapping message to the client, specifically:
and the server searches the lost mapping message of the corresponding client from the mapping message sequence of the server side according to the received lost message reissuing request, and reissues the lost mapping message to the client.
Further, before the updating the drawing according to the drawing instruction obtained by the parsing, the method further includes:
the client judges whether the mapping message to be fed back exists in the local mapping message sequence;
if yes, only when the mapping message to be fed back and the received second mapping message successfully pass uniqueness detection, executing the next step; wherein the uniqueness detection is determined to be successfully passed when it is detected that the two mapping messages do not operate on the same element;
if not, executing the next step.
Further, the server analyzes and detects the received first mapping message to generate a feedback message, sends the feedback message to the client as the sender of the first mapping message, generates a second mapping message when the first mapping message passes the detection successfully, and sends the second mapping message to all the clients, specifically including:
the server analyzes the received first mapping message and carries out the uniqueness detection;
when the first mapping message does not pass the uniqueness detection, generating a failure confirmation feedback message and issuing the failure confirmation feedback message to a client serving as a sender of the first mapping message;
and when the first mapping message successfully passes the uniqueness detection, generating a success confirmation feedback message and issuing the success confirmation feedback message to the client serving as the sender of the first mapping message, and simultaneously, generating a second mapping message according to the analysis result of the first mapping message and issuing the second mapping message to all the clients.
In order to solve the same technical problem, another aspect of the present invention provides a cooperative control method for dynamic geometric cooperative mapping, including:
acquiring a mapping instruction input by a user, sending a generated first mapping message to a server, so that the server returns a feedback message after analyzing and detecting the first mapping message, generates a second mapping message when the first mapping message passes the detection successfully, and sends the second mapping message to all clients; the first mapping message is generated according to the mapping instruction and the user ID of the corresponding client;
and analyzing the received second mapping message and updating the mapping according to the mapping instruction obtained by analyzing, and/or analyzing the received feedback message and updating the local mapping message sequence according to the analysis result.
Further, the analyzing the received second mapping message and updating the mapping according to the mapping instruction obtained by the analyzing includes:
analyzing the received second mapping message, and judging whether a lost mapping message exists between the current local mapping message sequence and the second mapping message;
if so, sending a lost message reissue request to the server to acquire a lost mapping message reissued by the server;
and if not, updating the drawing according to the drawing instruction obtained by analysis.
Further, before the updating the drawing according to the drawing instruction obtained by the parsing, the method further includes:
judging whether a mapping message to be fed back exists in the local mapping message sequence;
if yes, only when the mapping message to be fed back and the received second mapping message successfully pass uniqueness detection, executing the next step; wherein the uniqueness detection is determined to be successfully passed when it is detected that the two mapping messages do not operate on the same element;
if not, executing the next step.
In order to solve the same technical problem, a further aspect of the present invention provides a cooperative control method for dynamic geometric cooperative mapping, including:
receiving a first mapping message sent by a client;
analyzing and detecting the received first mapping message to generate a feedback message, sending the feedback message to a client serving as a sender of the first mapping message, generating a second mapping message when the first mapping message passes the detection successfully, sending the second mapping message to all the clients so that the clients analyze the received second mapping message and/or the feedback message, and updating mapping according to the mapping instruction obtained by analysis and/or updating a local mapping message sequence according to the analysis result of the feedback message.
In order to solve the same technical problem, the invention also provides a collaborative control system of dynamic geometric collaborative drawing, which comprises a client and a server; wherein the content of the first and second substances,
the client is used for acquiring a mapping instruction input by a user and sending the generated first mapping message to the server; the first mapping message is generated according to the mapping instruction and the user ID of the corresponding client;
the server is used for analyzing and detecting the received first mapping message to generate a feedback message, sending the feedback message to the client serving as the sender of the first mapping message, generating a second mapping message when the first mapping message passes the detection successfully, and sending the second mapping message to all the clients;
the client is further used for analyzing the received second mapping message and updating the mapping according to the mapping instruction obtained through analysis, and/or analyzing the received feedback message and updating the local mapping message sequence according to the analysis result.
Compared with the prior art, the embodiment of the invention has the following beneficial effects:
the invention provides a cooperative control method and a system for dynamic geometric cooperative mapping, which combine double mapping instruction sequences of a client and a server, double counters, centralized detection and decentralized detection to ensure timeliness and consistency in the dynamic geometric cooperative mapping under asynchronous communication conditions.
Drawings
Fig. 1 is a schematic flow chart of a cooperative control method of dynamic geometry cooperative mapping according to an embodiment of the present invention;
FIG. 2 is a schematic workflow diagram of a client in the collaborative control system for dynamic geometry collaborative drawing according to an embodiment of the present invention;
fig. 3 is a schematic diagram of a workflow of a server side in a collaborative control system for dynamic geometry collaborative mapping according to an embodiment of the present invention;
FIG. 4 is a schematic workflow diagram of a dynamic geometry co-mapping provided by an embodiment of the present invention;
FIG. 5 is an exemplary illustration of a detailed representation of a dynamic geometry provided by an embodiment of the present invention;
FIG. 6 is another schematic flow chart of the collaborative control method for dynamic geometry collaborative mapping according to an embodiment of the present invention
Fig. 7 is another schematic flow chart of a cooperative control method of dynamic geometry cooperative mapping according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be described clearly and completely with reference to the accompanying drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1-3, an embodiment of the present invention provides a cooperative control method for dynamic geometric cooperative mapping, including:
step S101, a client acquires a mapping instruction input by a user and sends a generated first mapping message to a server; the first mapping message is generated according to the mapping instruction and the user ID of the corresponding client;
step S102, the server analyzes and detects the received first mapping message to generate a feedback message, sends the feedback message to a client terminal which is a sender of the first mapping message, generates a second mapping message when the first mapping message passes the detection successfully, and sends the second mapping message to all the client terminals;
and step S103, the client analyzes the received second mapping message and updates the mapping according to the mapping instruction obtained by analysis, and/or the client analyzes the received feedback message and updates the local mapping message sequence according to the analysis result.
In an embodiment of the present invention, the system is initialized before drawing, wherein the server or the client is respectively initialized. In the invention, a server end is assumed to have two mapping message sequences sG and wG, wherein wG is a message sequence formed by mapping messages sent by a client end and received by the server, sG is a message sequence generated by integrating wG after detection operations such as uniqueness detection, consistency detection and the like are carried out, the number of instruction is sM, and when the message sequence wG is received, sG and wG are empty when the server is initialized, and sM is equal to 0; suppose that the client-side local mapping message sequence is cgs, the number of the instructions is cM, the number of the instructions to be confirmed is wM, cgs are initialized and are null, cM is equal to 0, and wM is equal to 0. After the system is initialized, the client is connected with the server, the server mapping instruction sequence is returned after the connection is successful, the initialized graph is analyzed, and the client is ready.
It can be understood that the server side adopts a "double mapping sequence", one is a primarily received user mapping message sequence wG, the other is a mapping message sequence sG integrated after detection and confirmation is completed, and after the cooperative mapping is completed, sG is a true mapping message sequence (of course, redundant information deletion and other processing are required for finally saving the file).
After the client is ready, a drawing is input through a mouse or a keyboard, a drawing message Gm is generated, and uniqueness detection is carried out on the drawing message Gm and cG hidden deletion. If not, changing the Gm to 'restore deletion', making cG + Gm and wM +1, generating a message and sending the message to the server, wherein the Gm performs uniqueness detection on the 'delete hidden' element in the cG, namely searching whether an element which is not unique to the Gm exists in the 'delete hidden' element of the cG, because in the drawing stage, if the element which is not hidden exists, the client is visible, for example, the midpoint of a line segment exists, a general user does not repeat the midpoint of the line segment, and therefore, the uniqueness detection is performed only on the 'delete hiding'.
In the embodiment of the present invention, it can be understood that the number of the clients may be n, where a user can perform drawing at any time through mouse and keyboard operations at each client, and during drawing, the client acquires a drawing instruction input by the user and sends a drawing message composed of a sender user ID, the drawing instruction, and the like to the server.
The server receives the mapping messages sent by each client, analyzes and detects the mapping messages one by one, and the detection operation can be one or more of uniqueness detection, consistency detection, completeness detection and the like; and after the detection is successfully passed, the server generates a new drawing instruction, encodes and stores the new drawing instruction, and transmits the generated new drawing message to all the clients. It should be noted that, the server detects the mapping message sent by each client, and whether the detection is successful or not, the server generates a feedback message according to the detection result and feeds the feedback message back to the client sending the mapping message, and only after the detection is successful, the server generates a new mapping message and sends the new mapping message to all the clients, so that all the clients perform collaborative mapping. It should be noted that the server side has two mapping message sequences, one is a sequence formed by all messages (first mapping messages) received by the server side from the client side, and the other is a second mapping message sequence generated by integration after uniqueness detection, consistency detection and the like and required to be distributed to the client side.
The client receives the messages sent by the server in real time, the messages received each time can be drawing messages and feedback messages, and the client carries out different processing on the messages respectively. And when a second mapping message sent by the server is received, analyzing the second mapping message and operating according to the analysis result. And if the feedback message is received, processing the feedback message.
It should be noted that, when processing the feedback message, the feedback message is generally classified into success and failure. If the message is a success message, the message is marked as a success confirmation in the local message sequence, the ID attribute is changed, and the message is moved to m-1 in cgs, and meanwhile, cM is cM +1 and wM is wM-1.
If the message fails (the message fails to pass the server uniqueness detection), only the unacknowledged message is marked as a failure acknowledgement, and meanwhile, wM is wM-1.
It should be noted that, in the drawing process, the invention performs instruction completeness detection by setting the server-side double-drawing sequence and the instruction counters of the client and the server, so as to ensure that the instructions are not lost and executed in sequence.
It can be understood that, the technical scheme carries out 'completeness detection' on the counters of the client and the server, and the method is simple and easy to implement. The completeness detection is performed, on the one hand, to prevent loss of messages; on the other hand, unlike other collaborative drawings, because there may be constraints or constrained relationships between elements in a dynamic geometry, the order of drawing instructions is critical (for example, two points a and B must be made first to make a line segment connecting the two points a and B), which also ensures the drawing order.
In this embodiment of the present invention, further, the analyzing, by the client, the received second mapping message, and updating the mapping according to the mapping instruction obtained through the analyzing includes:
the client analyzes the received second mapping message and judges whether a lost mapping message exists between the current local mapping message sequence and the second mapping message;
if so, sending a lost message reissue request to the server to acquire a lost mapping message reissued by the server;
and if not, updating the drawing according to the drawing instruction obtained by analysis.
In the embodiment of the invention, when a client receives a mapping message sent by a server, firstly, an instruction is analyzed, the number m of a newly received instruction Gm is compared with the number cM +1 of locally received instructions, if m is greater than cM +1 (indicating that the missing mapping message exists), the client initiates an instruction (m-cM-1) for applying for obtaining the (cM + 1) to m (namely applying for obtaining the missing mapping message) to the server, and when the missing mapping message is obtained again, the missing mapping messages are processed (supplementary mapping is performed), and then the current new mapping message is processed.
It can be understood that m > cM +1 occurs in the case where the network is unstable, the network delay causes the message transmission to be lost, or the user enters the collaborative map halfway, and the like. The (m-cM-1) instructions between cM +1 and m are messages sent by the server to the client that are not received by the client. As a simple example, suppose that there are only two users (reducing the other detections). The user A does not perform any operation, and the user B firstly makes a point A, then makes a point B and then makes a line segment connecting the points AB on the plane. The user b sends three messages to the server, for example: and P (A, x1, y1), P (B, x2, y2) and L (A, B), wherein the server receives each message, processes the message through a response and sends the message to each client in time, and if the user B receives the first message (m is 1 at the moment), the message is taken as a point A, and cM is 1. If the second message is not received and the third message (m is 3) is received, m is greater than cM is 1, the user b will actively apply for the second message to the server. After receiving the second message, user B responds (here, it acts as point B), and then processes the third message.
In this embodiment of the present invention, further, the server reissues the loss mapping message to the client, specifically:
and the server searches the lost mapping message of the corresponding client from the mapping message sequence of the server side according to the received lost message reissuing request, and reissues the lost mapping message to the client.
It can be understood that, when the server receives the request for reissuing the lost information, it determines that the client specifically lacks the information according to the user ID of the corresponding client, and then generates a corresponding message according to the user parameter and sG, wG, and reissues the message to the corresponding client.
In this embodiment of the present invention, before the updating the mapping according to the parsed mapping instruction, the method further includes:
the client judges whether the mapping message to be fed back exists in the local mapping message sequence;
if yes, only when the mapping message to be fed back and the received second mapping message successfully pass uniqueness detection, executing the next step; wherein the uniqueness detection is determined to be successfully passed when it is detected that the two mapping messages do not operate on the same element;
if not, executing the next step.
In a preferred embodiment, when the client receives a mapping message, after detecting whether the mapping message is lost or not, the client needs to detect whether the mapping message to be fed back locally (unacknowledged message) exists or not, if so, uniqueness detection needs to be performed on the newly acquired mapping message Gm and the mapping message to be fed back, when the uniqueness detection is satisfied, the message Gm is parsed and mapping is performed according to a mapping instruction, the Gm is inserted into cgm after m-1 messages and before the unacknowledged message, and cM is made equal to cM +1, and when the uniqueness detection is not satisfied, mapping is not performed, but there may be attribute modification, and only the Gm is inserted into cgm-1 messages and before the unacknowledged message, and is made equal to cM + 1.
It can be understood that, due to asynchronous communication, after a user message is sent to a server, the server waits for a feedback message to be replied and also waits for receiving a collaborative mapping message sent by another client from the server, and an unacknowledged message (a mapping message to be fed back) exists when the feedback message of the mapping message sent by the server is not received and other mapping messages are received first. In addition, if the user sends two mapping messages to the server in sequence, the user may also receive a feedback message of a message sent later, and at this time, the first message sent earlier is also an unacknowledged message.
In this embodiment of the present invention, further, the server analyzes and detects the received first mapping message to generate a feedback message, sends the feedback message to the client that is the sender of the first mapping message, generates a second mapping message when the first mapping message successfully passes the detection, and sends the second mapping message to all the clients, and specifically includes:
the server analyzes the received first mapping message and carries out the uniqueness detection;
when the first mapping message does not pass the uniqueness detection, generating a failure confirmation feedback message and issuing the failure confirmation feedback message to a client serving as a sender of the first mapping message;
and when the first mapping message successfully passes the uniqueness detection, generating a success confirmation feedback message and issuing the success confirmation feedback message to the client serving as the sender of the first mapping message, and simultaneously, generating a second mapping message according to the analysis result of the first mapping message and issuing the second mapping message to all the clients.
It should be noted that, for a collaborative mapping process, the server has two time message sequences wG and sG. wG is a sequence formed by all messages from the client received by the server, and sG is a sequence of graphics messages distributed to the client, which are generated by integration after the wG detects uniqueness, consistency and the like. For any mapping message wGi from the client, sGm is generated by checking its uniqueness among sG, etc., and the server side counter sM is the sequence number of the current message sGm.
It should be noted that the present invention implements a uniqueness detection strategy for drawing instructions, and in dynamic geometry drawing, many geometric elements are uniquely determined (e.g., the middle point of the segment AB). On one hand, the uniqueness detection completes repeated detection similar to the drawing instruction, and avoids repeated operation of the unique geometric elements or different operations performed by different clients. And on the other hand, the same element is detected to be deleted repeatedly, and the attribute of the same element is repeatedly modified into the latest same attribute value. For example, the user a deletes the point a in the geometric figure and sends a message to the server, if the server accepts the operation but the operation instruction is not yet sent to other users, the user b deletes the point a in the geometric figure and sends a message to the server, and when the server receives the message sent by the user b, the server determines that the message submitted by the user b is the same element deleted according to the sG. The repeated modification of the same element attribute occurs in a similar situation, for example, the name of the modification point A of the user A is 'M', and the name of the modification point A is modified before the user B receives the message from the server.
The uniqueness detection of the drawing instruction mainly occurs when the user A draws a certain step and sends the drawing instruction to the server, the user B also performs the same operation as the user A when not receiving the drawing instruction sent to the server by the user A, and the server detects and feeds back the drawing instruction to the user B after receiving the message of the user B.
The common uniqueness detection of the newly added elements comprises the following steps: making the intersection point of two straight lines, making the constant proportion division point of line segment, making two intersection points of two circles, making a straight line passing through two points, making a parallel line of the straight line passing through one point outside the straight line, making a perpendicular line of the straight line passing through one point, making a tangent line of the circle passing through one point on the circle, making two external tangent lines of the circle passing through one point outside the circle, making the circle passing through three points, and making the circle by taking one point as the center of the circle and taking a fixed length as the radius.
It should be noted that "uniqueness test" and "consistency test" are different. For example, user A makes the midpoint E of segment AB and sends an instruction P (E, A, B, -1) (simplified representation), while user B also makes the plot of midpoint M of segment AB and sends it to server P (M, A, B, -1) when it has not received the server message. If the server receives the drawing message of the user A first, and the server conducts uniqueness detection after receiving the drawing message of the user B, the message of the user B is confirmed to be failed in uniqueness detection. Meanwhile, the user B already makes the midpoint M of the line segment AB locally, the server informs the midpoint E of the line segment AB according to the drawing message of the user A, the user B needs to modify the name of the midpoint to E, and the consistency detection is carried out.
It should be noted that the present invention also implements constraint and conflict detection strategies for the drawing instructions. The constraint and collision detection of dynamic geometry elements occurs mainly in the graph deletion plotting step. For example, in a geometric figure in which line segments AB and CD intersect at point E, user a performs an operation to delete point E, and user b performs a circle having a center at E and a radius at EA before receiving no drawing instruction from user a.
We use the strategy of "hiding" point E instead of actually deleting point E, where hiding is called "delete hiding" and is marked differently from the hiding drawn by the user, and if the user makes the intersection of line segment AB and CD, we only need to restore the point E that was "delete hidden", and the "delete hidden" element can be viewed and restored by undoing the delete operation.
The method greatly simplifies the constraint detection among the dynamic geometric elements, not only ensures the fluency of the drawing of the user, but also ensures the uniqueness of the drawing and the invariance of the geometric properties of the dynamic geometric figure.
Supplementing: it is known that "deletion hiding" may add redundant drawing information, and therefore, when the collaborative drawing is finished and the file is saved, constraint and conflict detection needs to be performed once for "deletion hiding", and instruction information of elements except for constrained elements "deletion hiding" is really deleted. (an unconstrained element is an element that is not a constrained element of any one of the elements).
Referring to fig. 4, the flow of collaborative mapping according to an embodiment of the present invention can be summarized as follows:
(1) drawing and generating a drawing instruction by mouse or keyboard operation at a client;
(2) the client sends the information composed of sender ID, drawing instruction and the like to the server;
(3) the server receives the message from the client, analyzes and detects the message, generates a new drawing instruction, encodes and stores the new drawing instruction;
(4) the server feeds back the received message processing result to the client side which sends the message;
(5) the server sends the generated new message to all the clients;
(6) the client processing the mapping message to the server;
(7) the client processes the feedback message to the server.
It should be noted that the above method or flow embodiment is described as a series of acts or combinations for simplicity, but those skilled in the art should understand that the present invention is not limited by the described acts or sequences, as some steps may be performed in other sequences or simultaneously according to the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are exemplary embodiments and that no single embodiment is necessarily required by the inventive embodiments.
It should be added that the relevant concepts in the dynamic geometry mapping are as follows:
in planar geometry, there are several graphic elements such as points, lines (lines, rays and line segments), circles, triangles, quadrilaterals, etc., where points, lines, circles are the most basic geometric elements.
Generally, the geometric relationships between planar geometric figure elements include point-to-point relationships, point-to-line relationships, point-to-circle relationships, line-to-line relationships, line-to-circle relationships, circle-to-circle relationships, and the like. Specifically, including points on a line, two lines intersecting, parallel, perpendicular, a line tangent to a circle, and so forth, and more generally, these relationships can be attributed to constrained relationships and constrained relationships.
Definition 1: if the activity of element E must result in a series of activities for element F, we call element E to constrain element F. This relationship of element E to element F is referred to as the E to F constraint relationship or as one constraint relationship of E, and element E is referred to as one constraint element of element F. If the activity of element F is limited by element E, we call element F constrained by element E, this relationship of element F to element E is called constrained relationship or one constrained relationship called F, and element F is called one constrained element of element E.
Definition 2: in the dynamic geometry, the element which can be arbitrarily moved on a plane is not limited by any constraint relation and is called as a free element; elements which are limited by a certain constraint relation and can move in a certain range on a plane are called as semi-free elements; constrained by a constraint relationship, an element cannot be moved unless the constraint element movement causes the element to move, and we refer to such an element as a fixed element. In response, we divide the points of the plane into free points, semi-free points, and fixed points.
Referring to fig. 5, the definitions of the above concepts are specifically illustrated below:
dynamic geometry drawing step: two points A and B are respectively made on the plane, then a straight line AB of A, B is made, then a point C is made on the AB, then a circle C is made by taking the length of CB as the radius with the point C as the center of a circle, and the other intersection point of the circle C and the straight line AB is a point D.
Description of the definitions: according to the above drawing steps, the point a and the point B can be freely moved (dragged) in the drawing area, while the point C can be moved only on the straight line AB, and the point D can be moved only in the case where the point C or the point B or the straight line AB is moved. According to the above definition:
points A and B are free points, point C is a semi-free point, and point D is a fixed point;
the point A and the point B are constraint elements of a straight line AB, and the straight line AB is one constraint element of the point A or the point B;
"Point C is on line AB" is a constrained relationship for line AB, and is also a constrained relationship for point C.
The straight line AB is a constraint element of the point C; point C and point B are constraint elements of circle C; the straight line AB and the circle C are the constraint elements for the point D.
Commonly used as a mapping instruction, e.g., to make a point A, P (A, x, y) at any point in the plane, where (x, y) is the coordinate of A; drawing a point A, P (A, C, D, m) on the straight line CD, wherein
Figure BDA0002038650590000131
Making intersection points A, P (A, C, D, E, F) of straight lines CD and EF; making an intersection point a, P (a, C, D, O, m) of the straight line CD and the circle O, wherein m is 0|1 of the first or second intersection point; deletion of point a, del (a); move points A through (x, y), M (A, x, y), and so on.
Referring to fig. 6, in order to solve the same technical problem, another aspect of the present invention provides a cooperative control method for dynamic geometric cooperative mapping, including:
step S201, obtaining a mapping instruction input by a user, sending a generated first mapping message to a server, so that the server returns a feedback message after analyzing and detecting the first mapping message, generating a second mapping message when the first mapping message passes the detection successfully, and sending the second mapping message to all clients; the first mapping message is generated according to the mapping instruction and the user ID of the corresponding client;
and step S202, analyzing the received second mapping message, updating mapping according to the mapping instruction obtained by analysis, and/or analyzing the received feedback message, and updating the local mapping message sequence according to the analysis result.
It can be understood that the embodiment of the present invention can be applied to a client, where the client acquires a mapping instruction input by a user, generates a mapping message, sends the mapping message to a server for analysis and detection, and performs corresponding processing after receiving the mapping message sent by the server or a feedback message returned by the server.
Further, the analyzing the received second mapping message and updating the mapping according to the mapping instruction obtained by the analyzing includes:
analyzing the received second mapping message, and judging whether a lost mapping message exists between the current local mapping message sequence and the second mapping message;
if so, sending a lost message reissue request to the server to acquire a lost mapping message reissued by the server;
and if not, updating the drawing according to the drawing instruction obtained by analysis.
Further, before the updating the drawing according to the drawing instruction obtained by the parsing, the method further includes:
judging whether a mapping message to be fed back exists in the local mapping message sequence;
if yes, only when the mapping message to be fed back and the received second mapping message successfully pass uniqueness detection, executing the next step; wherein the uniqueness detection is determined to be successfully passed when it is detected that the two mapping messages do not operate on the same element;
if not, executing the next step.
Referring to fig. 7, in order to solve the same technical problem, another aspect of the present invention provides a cooperative control method for dynamic geometric cooperative mapping, including:
step S301, receiving a first mapping message sent by a client;
step S302, analyzing and detecting the received first mapping message to generate a feedback message, sending the feedback message to a client as a sender of the first mapping message, generating a second mapping message when the first mapping message passes the detection successfully, sending the second mapping message to all the clients so that the clients analyze the received second mapping message and/or the feedback message, and updating the mapping according to the mapping instruction obtained by analysis and/or updating a local mapping message sequence according to the analysis result of the feedback message.
It can be understood that the embodiment of the present invention can be applied to a server, where the server receives a mapping message sent by a client, then analyzes and detects the mapping message, returns a corresponding feedback message to the client sending the mapping message according to a detection result, and at the same time, generates the mapping message after successfully passing the detection and sends the mapping message to all clients, so that the clients perform collaborative mapping according to the mapping message. In addition, when a message reissuing request sent by the client is received, the mapping message is reissued to the client.
In order to solve the same technical problem, the invention also provides a collaborative control system of dynamic geometric collaborative drawing, which comprises a client and a server; wherein the content of the first and second substances,
the client is used for acquiring a mapping instruction input by a user and sending the generated first mapping message to the server; the first mapping message is generated according to the mapping instruction and the user ID of the corresponding client;
the server is used for analyzing and detecting the received first mapping message to generate a feedback message, sending the feedback message to the client serving as the sender of the first mapping message, generating a second mapping message when the first mapping message passes the detection successfully, and sending the second mapping message to all the clients;
the client is further used for analyzing the received second mapping message and updating the mapping according to the mapping instruction obtained through analysis, and/or analyzing the received feedback message and updating the local mapping message sequence according to the analysis result.
It is to be understood that the above system embodiments correspond to the method embodiment of the present invention, and the cooperative control system of dynamic geometric cooperative mapping provided by the present invention can implement the cooperative control method of dynamic geometric cooperative mapping provided by any method embodiment of the present invention.
In summary, the embodiment of the invention has the following beneficial effects:
the invention provides a cooperative control method and a system for dynamic geometric cooperative mapping, which combine double mapping instruction sequences of a client and a server, double counters, centralized detection and decentralized detection to ensure timeliness and consistency in the dynamic geometric cooperative mapping under asynchronous communication conditions.
While the foregoing is directed to the preferred embodiment of the present invention, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention.

Claims (8)

1. A cooperative control method of dynamic geometric cooperative mapping is characterized by comprising the following steps:
the client acquires a mapping instruction input by a user and sends a generated first mapping message to the server; the first mapping message is generated according to the mapping instruction and the user ID of the corresponding client;
the server analyzes and detects the received first mapping message to generate a feedback message, sends the feedback message to a client as a sender of the first mapping message, generates a second mapping message when the first mapping message passes the detection successfully, and sends the second mapping message to all the clients;
the client analyzes the received second mapping message and updates mapping according to the mapping instruction obtained by analysis, and/or the client analyzes the received feedback message and updates a local mapping message sequence according to the analysis result;
before the step of updating the drawing according to the drawing instruction obtained by the analysis, the method further comprises the following steps:
the client judges whether the mapping message to be fed back exists in the local mapping message sequence;
if yes, only when the mapping message to be fed back and the received second mapping message successfully pass uniqueness detection, executing the next step; wherein the uniqueness detection is determined to be successfully passed when it is detected that the two mapping messages do not operate on the same element;
if not, executing the next step.
2. The cooperative control method for dynamic geometry cooperative mapping according to claim 1, wherein the client parses the received second mapping message, and updates mapping according to a mapping instruction obtained by parsing, and specifically includes:
the client analyzes the received second mapping message and judges whether a lost mapping message exists between the current local mapping message sequence and the second mapping message;
if so, sending a lost message reissue request to the server to acquire a lost mapping message reissued by the server;
and if not, updating the drawing according to the drawing instruction obtained by analysis.
3. The cooperative control method for dynamic geometry cooperative mapping according to claim 2, wherein the server reissues the missing mapping message to the client, specifically:
and the server searches the lost mapping message of the corresponding client from the mapping message sequence of the server side according to the received lost message reissuing request, and reissues the lost mapping message to the client.
4. The cooperative control method of dynamic geometry cooperative mapping according to claim 1, wherein the server parses and detects the received first mapping message to generate a feedback message, sends the feedback message to a client that is a sender of the first mapping message, generates a second mapping message when the first mapping message successfully passes the detection, and sends the second mapping message to all clients, specifically comprising:
the server analyzes the received first mapping message and carries out the uniqueness detection;
when the first mapping message does not pass the uniqueness detection, generating a failure confirmation feedback message and issuing the failure confirmation feedback message to a client serving as a sender of the first mapping message;
and when the first mapping message successfully passes the uniqueness detection, generating a success confirmation feedback message and issuing the success confirmation feedback message to the client serving as the sender of the first mapping message, and simultaneously, generating a second mapping message according to the analysis result of the first mapping message and issuing the second mapping message to all the clients.
5. A cooperative control method of dynamic geometric cooperative mapping is characterized by comprising the following steps:
acquiring a mapping instruction input by a user, sending a generated first mapping message to a server, so that the server returns a feedback message after analyzing and detecting the first mapping message, generates a second mapping message when the first mapping message passes the detection successfully, and sends the second mapping message to all clients; the first mapping message is generated according to the mapping instruction and the user ID of the corresponding client;
analyzing the received second mapping message, updating mapping according to the mapping instruction obtained by analysis, and/or analyzing the received feedback message, and updating a local mapping message sequence according to the analysis result;
before the step of updating the drawing according to the drawing instruction obtained by the analysis, the method further comprises the following steps:
judging whether a mapping message to be fed back exists in the local mapping message sequence;
if yes, only when the mapping message to be fed back and the received second mapping message successfully pass uniqueness detection, executing the next step; wherein the uniqueness detection is determined to be successfully passed when it is detected that the two mapping messages do not operate on the same element;
if not, executing the next step.
6. The cooperative control method for dynamic geometry cooperative mapping according to claim 5, wherein the parsing the received second mapping message and updating the mapping according to the mapping instruction obtained by parsing includes:
analyzing the received second mapping message, and judging whether a lost mapping message exists between the current local mapping message sequence and the second mapping message;
if so, sending a lost message reissue request to the server to acquire a lost mapping message reissued by the server;
and if not, updating the drawing according to the drawing instruction obtained by analysis.
7. A cooperative control method of dynamic geometric cooperative mapping is characterized by comprising the following steps:
receiving a first mapping message sent by a client;
analyzing and detecting the received first mapping message to generate a feedback message, sending the feedback message to a client serving as a sender of the first mapping message, generating a second mapping message when the first mapping message passes the detection successfully, sending the second mapping message to all the clients so that the clients analyze the received second mapping message and/or the feedback message, and updating mapping according to the mapping instruction obtained by analysis and/or updating a local mapping message sequence according to the analysis result of the feedback message;
before updating the drawing according to the drawing instruction obtained by parsing, the client is further configured to:
judging whether a mapping message to be fed back exists in the local mapping message sequence;
if yes, only when the mapping message to be fed back and the received second mapping message successfully pass uniqueness detection, executing the next step; wherein the uniqueness detection is determined to be successfully passed when it is detected that the two mapping messages do not operate on the same element;
if not, executing the next step.
8. The cooperative control system of the dynamic geometric cooperative drawing is characterized by comprising a client and a server; wherein the content of the first and second substances,
the client is used for acquiring a mapping instruction input by a user and sending the generated first mapping message to the server; the first mapping message is generated according to the mapping instruction and the user ID of the corresponding client;
the server is used for analyzing and detecting the received first mapping message to generate a feedback message, sending the feedback message to the client serving as the sender of the first mapping message, generating a second mapping message when the first mapping message passes the detection successfully, and sending the second mapping message to all the clients;
the client is further used for analyzing the received second mapping message and updating the mapping according to the mapping instruction obtained by analysis, and/or analyzing the received feedback message and updating the local mapping message sequence according to the analysis result;
before updating the drawing according to the drawing instruction obtained by parsing, the client is further configured to:
judging whether a mapping message to be fed back exists in the local mapping message sequence;
if yes, only when the mapping message to be fed back and the received second mapping message successfully pass uniqueness detection, executing the next step; wherein the uniqueness detection is determined to be successfully passed when it is detected that the two mapping messages do not operate on the same element;
if not, executing the next step.
CN201910342509.7A 2019-04-24 2019-04-24 Cooperative control method and system for dynamic geometric cooperative mapping Active CN110058917B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910342509.7A CN110058917B (en) 2019-04-24 2019-04-24 Cooperative control method and system for dynamic geometric cooperative mapping

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910342509.7A CN110058917B (en) 2019-04-24 2019-04-24 Cooperative control method and system for dynamic geometric cooperative mapping

Publications (2)

Publication Number Publication Date
CN110058917A CN110058917A (en) 2019-07-26
CN110058917B true CN110058917B (en) 2022-04-01

Family

ID=67321060

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910342509.7A Active CN110058917B (en) 2019-04-24 2019-04-24 Cooperative control method and system for dynamic geometric cooperative mapping

Country Status (1)

Country Link
CN (1) CN110058917B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795193B (en) * 2019-10-30 2023-03-21 成都景中教育软件有限公司 Method for realizing graph degradation in dynamic geometric software

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646235A (en) * 2012-04-01 2012-08-22 杭州格畅科技有限公司 Method, client and server for online collaborative drawing
CN103279279A (en) * 2013-05-20 2013-09-04 南京恒知讯科技有限公司 Electronic drawing board system, data processing method and device based on multi-user collaborative operation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657833B2 (en) * 2000-09-15 2010-02-02 Hartford Fire Insurance Company Real-time single entry multiple carrier interface (SEMCI)
US7324594B2 (en) * 2003-11-26 2008-01-29 Mitsubishi Electric Research Laboratories, Inc. Method for encoding and decoding free viewpoint videos

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646235A (en) * 2012-04-01 2012-08-22 杭州格畅科技有限公司 Method, client and server for online collaborative drawing
CN103279279A (en) * 2013-05-20 2013-09-04 南京恒知讯科技有限公司 Electronic drawing board system, data processing method and device based on multi-user collaborative operation

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Extending Virtual Organizations in the Public Sector: Lessons from CSCW, STS, and Organization Science;Radaphat Chongthammakun等;《2010 43rd Hawaii International Conference on System Sciences》;20100311;全文 *
基于Web智能教育平台关键交互技术研究及应用;陈联;《中国优秀博士学位论文全文数据库信息科技辑》;20061015;第2006年卷(第10期);第I138-11页 *
支持远程协同的动态几何软件的研究与实现;钟贵;《中国优秀硕士学位论文全文数据库信息科技辑》;20120515;第2012年卷(第5期);I138-315 *

Also Published As

Publication number Publication date
CN110058917A (en) 2019-07-26

Similar Documents

Publication Publication Date Title
US11023834B2 (en) Collaborative design systems, apparatuses, and methods
US5924095A (en) Processing distributed transactions in heterogeneous computing environments using two-phase commit
US7853590B2 (en) Remote read-write access to disparate data stores
US6738971B2 (en) Using a resource manager to coordinate the comitting of a distributed transaction
US10331776B2 (en) System and method for convergent document collaboration
KR101581970B1 (en) Multi-client collaboration to access and update structured data elements
US8023934B2 (en) Synchronizing communications and data between mobile devices and servers
US20040133639A1 (en) System and method for collaboration using web browsers
US8639659B2 (en) Method enabling collaborative editing of object in content data, computer system, and computer program product
US20020105548A1 (en) Methods and apparatus for creating a user interface using property paths
US9942286B2 (en) Collaboration platform
CA2624270A1 (en) Interfaces for a productivity suite application and a hosted user interface
CN104025078A (en) Mobile solution for signing and retaining third-party documents
US20100205153A1 (en) Data System Architecture to Analyze Distributed Data Sets
US6901424B1 (en) System and method for creating a sample pool for a web-based survey
CN111651639B (en) Address space management method, device, equipment and medium
CN104217270A (en) Business process application file generating and execution methods, client, device and system
CN110058917B (en) Cooperative control method and system for dynamic geometric cooperative mapping
CN115408715A (en) Heterogeneous data processing system, method and equipment based on block chain and IPFS
CN107465725B (en) Heterogeneous long transaction processing system and method based on client information control system
KR20190020801A (en) Distributed Computing Framework and Distributed Computing Method
US7992091B2 (en) Message-oriented divergence and convergence of message documents
Zhou et al. An analysis of update ordering in distributed replication systems
CN116339715A (en) Front-end page construction method and device, electronic equipment and storage medium
US20180189037A1 (en) Method, apparatus, and computer program product for generating updated network application interfaces

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant