Method and device for sharing whiteboard in conference, electronic equipment and storage medium
By using SVG format to share the drawing content and operation sequences on the whiteboard in the video conferencing system, the problem of low collaboration efficiency in the existing technology is solved, the undo and recovery functions are realized, and the user experience and collaboration efficiency are improved.
Patent Information
- Application Number
- CN202510060156.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-15
- Publication Date
- 2025-05-09
AI Technical Summary
The shared whiteboard function in the existing video conferencing system has low collaboration efficiency and cannot realize functions such as undo or back.
By sharing the drawing content, drawer identification and operation sequence on the whiteboard using Scalable Vector Graphics (SVG) format, undo or back functions are achieved.
Improves collaboration efficiency, allowing users to easily undo or restore to previous drawing states, enhancing operational ease and transparency of teamwork.
Smart Images

Figure CN119966962A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of conferences, and in particular, to a method, device, electronic device and storage medium for sharing a whiteboard in a conference. Background Art
[0002] With the popularity of online video conferencing, in order to improve the effect of online communication, sharing whiteboards in online video conferencing has become a very important function.
[0003] The shared whiteboard function in the existing video conferencing system usually requires the painter to send the image data of the whiteboard to the server, and the server distributes the image data to other clients for sharing. This method of sharing by transmitting the whiteboard image is less efficient.
[0004] Therefore, how to provide a collaborative and efficient whiteboard sharing method becomes a technical problem that needs to be solved. Summary of the invention
[0005] An embodiment of the present application aims to provide a method, device, electronic device and storage medium for sharing a whiteboard in a meeting. The technical solution of the embodiment of the present application can improve the collaboration efficiency.
[0006] In a first aspect, an embodiment of the present application provides a method for sharing a whiteboard in a conference, which is applied to a signaling server, and the method includes: obtaining drawing information in a scalable vector graphics (SVG) format drawn on a local shared whiteboard sent by a first client, the drawing information including drawing content, a drawer identifier and an operation sequence, and the first client is any one of the clients participating in the shared whiteboard; sending the drawing information to a second client so that the second client loads the drawing content on the local shared whiteboard, and the second client includes clients participating in the shared whiteboard except the first client.
[0007] The embodiment of the present application can realize functions such as undo or back, and improve collaboration efficiency by sharing information such as content drawn on a shared whiteboard, a drawer identifier, and an operation sequence using scalable vector graphics SVG.
[0008] In one embodiment, before obtaining drawing information in scalable vector graphics SVG format drawn on a local shared whiteboard sent by the first client, the method also includes: sending sharing information to clients participating in the shared whiteboard, the sharing information including shared content saved in the last meeting and a drawer identifier and an operation sequence of each operation corresponding to the shared content, so that the clients participating in the shared whiteboard can load the shared content on the local shared whiteboard.
[0009] In one embodiment, the method further includes: receiving information of a modification operation in SVG format on a local shared whiteboard sent by a third client, the modification operation including an undo operation or a back operation; sending the information of the modification operation to a fourth client so that the fourth client loads the modification operation on the local shared whiteboard, the fourth client including clients participating in the shared whiteboard except the third client.
[0010] In a second aspect, an embodiment of the present application provides a method for sharing a whiteboard in a meeting, which is applied to a first client, and the method includes: generating drawing information in a scalable vector graphic SVG format drawn on a local shared whiteboard, the drawing information including drawing content, an identifier of the drawer, and an operation sequence, and the operation sequence is determined based on an existing historical serial number of the current shared content; sending the drawing information to a signaling server so that the signaling server sends the drawing information to a second client, so that the second client loads the drawing content on the local shared whiteboard, and the second client includes clients participating in the shared whiteboard except the first client.
[0011] In one embodiment, before generating drawing information in a scalable vector graphic SVG format drawn on a local shared whiteboard, the method further includes: loading shared content in the shared information saved in a previous meeting on the local shared whiteboard, the shared information including the shared content and a drawer identifier and an operation sequence of each operation corresponding to the shared content; wherein the shared content information is stored locally, or the shared content information is sent by a signaling server.
[0012] In one embodiment, the method further includes: sending information of a modification operation in SVG format on a local shared whiteboard to a signaling server, wherein the modification operation includes an undo operation or a back operation; or; receiving information of a modification operation sent by a signaling server, wherein the modification operation includes an undo operation or a back operation, and loading the modification operation on the local shared whiteboard.
[0013] In a third aspect, an embodiment of the present application provides a device for sharing a whiteboard in a meeting, which is applied to a signaling server, and the device includes: an acquisition unit, used to acquire drawing information in a scalable vector graphic SVG format drawn on a local shared whiteboard sent by a first client, the drawing information including drawing content, a drawer identifier and an operation sequence, and the first client is any one of the clients participating in the shared whiteboard; a sending unit, used to send the drawing information to a second client, so that the second client loads the drawing content on the local shared whiteboard, and the second client includes clients participating in the shared whiteboard except the first client.
[0014] In one embodiment, the sending unit is also used to send sharing information to the clients participating in the shared whiteboard before the acquiring unit acquires the drawing information in the scalable vector graphics SVG format drawn on the local shared whiteboard sent by the first client, the sharing information including the shared content saved in the last meeting and the drawer identifier and operation sequence of each operation corresponding to the shared content, so that the clients participating in the shared whiteboard can load the shared content on the local shared whiteboard.
[0015] In one embodiment, the acquisition unit is also used to receive information about modification operations in SVG format on a local shared whiteboard sent by a third client, the modification operation including an undo operation or a back operation; the sending unit is also used to send the information about the modification operation to a fourth client so that the fourth client loads the modification operation on the local shared whiteboard, and the fourth client includes clients participating in the shared whiteboard except the third client.
[0016] In a fourth aspect, an embodiment of the present application provides a device for sharing a whiteboard in a meeting, which is applied to a first client, and the device includes: a determination unit, which is used to generate drawing information in a scalable vector graphic SVG format drawn on a local shared whiteboard, the drawing information including drawing content, an identifier of the client and an operation sequence, and the operation sequence is determined based on an existing historical serial number of the current shared content; a sending unit, which is used to send the drawing information to a signaling server, so that the signaling server sends the drawing information to a second client, so that the second client loads the drawing content on the local shared whiteboard, and the second client includes clients participating in the shared whiteboard except the first client.
[0017] In one embodiment, the determination unit is also used to load shared content in the shared information saved in the last meeting on the local shared whiteboard before generating drawing information in the scalable vector graphics SVG format drawn on the local shared whiteboard, the shared information including the shared content and the drawer identifier and operation sequence of each operation corresponding to the shared content; wherein the shared content information is stored locally, or the shared content information is sent by a signaling server.
[0018] In one embodiment, the sending unit is also used to send information about modification operations in SVG format on a local shared whiteboard to a signaling server, wherein the modification operation includes an undo operation or a back operation; or, the device also includes a receiving unit, which is used to receive information about modification operations sent by the signaling server, wherein the modification operation includes an undo operation or a back operation, and load the modification operation on the local shared whiteboard.
[0019] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, can implement the method described in the first aspect and any embodiment of the first aspect or the method described in the second aspect and any embodiment of the second aspect.
[0020] In the sixth aspect, an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, it can implement the method described in the first aspect and any embodiment of the first aspect or the method described in the second aspect and any embodiment of the second aspect.
[0021] In the seventh aspect, an embodiment of the present application provides a computer program product, wherein the computer program product includes a computer program, wherein when the computer program is executed by a processor, it can implement the method described in the first aspect and any embodiment of the first aspect or the method described in the second aspect and any embodiment of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the technical solution of an embodiment of the present application, the drawings required for use in an embodiment of the present application will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0023] Figure 1 A schematic diagram of a conference system scenario provided for an embodiment of the present application;
[0024] Figure 2 A flow chart of a method for sharing a whiteboard in a meeting provided for one embodiment of the present application;
[0025] Figure 3 A schematic diagram of a device for sharing a whiteboard in a meeting provided by one embodiment of the present application;
[0026] Figure 4 A schematic diagram of a device for sharing a whiteboard in a meeting provided in yet another embodiment of the present application;
[0027] Figure 5 A schematic diagram of an electronic device is provided for one embodiment of the present application. DETAILED DESCRIPTION
[0028] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0029] The shared whiteboard function in the existing video conferencing system usually requires the painter to send the image data of the whiteboard to the server, and the server distributes the image data to other clients for sharing. This method of sharing by transmitting the whiteboard image is less efficient.
[0030] Specifically, because the existing technology transmits image data, the clients participating in the sharing cannot implement functions such as undo or back off, which affects the efficiency of collaboration.
[0031] In view of the above problems, an embodiment of the present application provides a method for sharing a whiteboard in a meeting. By sharing information such as the content drawn on the shared whiteboard, the drawer identification, and the operation sequence using scalable vector graphics SVG, functions such as undo or back can be implemented, thereby improving collaboration efficiency.
[0032] In order to facilitate understanding and description, the following describes the execution process and actions of the real-time communication method of the present application in a real-time communication system as an example rather than a limitation.
[0033] The following is combined with Figure 1 The overall structure of a conference system provided by an embodiment of the present application is exemplarily described.
[0034] like Figure 1 As shown, one embodiment of the present application provides an online conference system including: multiple clients and a signaling server.
[0035] In an embodiment of the present application, the signaling server may also be called a control end or a management end. The signaling server is used to perform signaling interaction with the client to transmit and realize a shared whiteboard between the clients. There may be multiple communication methods for signaling interaction between the signaling server and the client, such as using WebSocket or XMLHttpRequest to exchange each other's token information, but the embodiment of the present application is not limited to this.
[0036] Optionally, the conference system in the embodiment of the present application may further include a media server, which may be used to forward media data streams between clients.
[0037] The client in the embodiment of the present application may also be referred to as a user end or user equipment or terminal equipment. In the real-time example of the present application, the terminal equipment may be installed with a browser, and real-time communication may be performed through the browser, or an APP or applet may be installed, and real-time communication may be performed through the APP or applet. The terminal equipment in the present application may include a smart phone, a tablet computer, (personal digital assistant, PDA personal digital assistant), a computer, a game console, a wearable device, a tablet computer (portable android device, PAD), etc., and the embodiment of the present application is not limited thereto.
[0038] It should be understood that the operating system running on the electronic device can be a mobile version of Android, Ubuntu mobile version, Tizen and other Linux kernel-based operating systems as well as desktop operating systems such as Windows, Mac OS, Linux, etc., but the present invention is not limited to this.
[0039] It should be understood that Figure 1 In the communication system scenario shown in , only two clients are illustrated, but the embodiments of the present application are not limited to this. In an actual real-time communication scenario, the number of clients may include any number, depending on the actual situation.
[0040] It should be understood that Figure 1 The video conferencing system shown may be a WebRTC-based conferencing system. The corresponding communication architecture may be a mesh architecture (under which the system may not have a media server), a multipoint conferencing unit (MCU) architecture, or a selective forwarding unit (SFU) architecture, but the embodiments of the present application are not limited thereto.
[0041] The following is combined with Figure 2 A method for sharing a whiteboard in a meeting provided by an embodiment of the present application is exemplarily described.
[0042] like Figure 2 The method shown is applied to Figure 1 In the conference system shown, Figure 2 The methods shown include:
[0043] 210. The first client generates drawing information in SVG format drawn on the local shared whiteboard.
[0044] The drawing information includes drawing content, a drawer's identifier and an operation sequence, and the operation sequence is determined based on an existing historical sequence number of the currently shared content.
[0045] It should be understood that in the embodiment of the present application, each client participating in the sharing has a shared whiteboard locally. In the embodiment of the present application, the signaling server can forward the drawing information in SVG format corresponding to the client's operation on the local whiteboard to other clients participating in the shared whiteboard, thereby realizing whiteboard sharing among multiple clients.
[0046] Specifically, in an embodiment of the present application, at the beginning of sharing, a whiteboard will be created locally for each client participating in the sharing, for example, an empty whiteboard. Each client can also have an empty SVG locally. When each client draws on the local whiteboard, it will send the drawn SVG information to the signaling server through signaling, for example, WebSocket signaling, and the signaling server will forward it to other clients so that other clients can load it on the local whiteboard. In this way, the sharing of the whiteboard is realized. It should be understood that the information of the drawer in the SVG information can be, for example, a user name or a user ID, and the embodiment of the present application is not limited to this. The operation sequence can be a specific operation ranking or a specific stroke ranking. For example, the operation sequence is 8, which can represent the 8th drawing, or the 8th stroke. The operation sequence is determined based on the existing historical sequence number of the current shared content. For example, if it is an empty whiteboard, the operation sequence can be sorted from 1. If there is already drawn content on the whiteboard before, the new sharing can continue to be sorted based on the previous sorting.
[0047] It should be understood that in the embodiment of the present application, the drawing information may also be referred to as an SVG tag SVG file or SVG image. In the embodiment of the present application, the drawing information may refer to an SVG graphic code or file directly embedded in HTML, which may be used to define graphics in a shared whiteboard.
[0048] Specifically, SVG (Scalable Vector Graphics) is a 2D vector graphics format based on XML syntax that can be used to describe two-dimensional graphics and images. Compared with traditional raster images (such as JPEG, PNG, etc.), SVG uses mathematical descriptions to define graphics, so it can be scaled and enlarged losslessly without distortion or loss of clarity. SVG supports interactivity and animation effects, making it a very powerful and flexible graphics format.
[0049] It should be understood that the first client in the embodiment of the present application can be any client participating in the sharing, and the embodiment of the present application is not limited thereto. The first client can also be a client that joins the sharing later. In the case where the first client joins, after the first client joins the sharing, a whiteboard is first created locally, and the signaling server sends the current shared content, that is, the existing historical SVG information, to the first client. The first client loads the existing historical SVG information, and then synchronizes the whiteboard sharing with other clients.
[0050] It should be understood that in the embodiment of the present application, the signaling server will store historical SVG information so that when a new client joins, the SVG information will be sent to the client so that the shared information loaded locally by the client is consistent with that of other clients.
[0051] The SVG information stored in the signaling server may include the SVG information that has been shared in this meeting, and may also include the SVG information shared in previous historical meetings. After starting the meeting again, the client can continue to share the whiteboard based on the shared SVG information of the previous meeting, and the corresponding operation sequence can be continued to be sorted based on the previous operation sequence. If there is no historical SVG information, the client will start sharing from an empty SVG whiteboard, and the operation sequence can be sorted from 1.
[0052] Correspondingly, in the case of historical conference shared SVG information, as another embodiment, before the first client generates drawing information in scalable vector graphics SVG format drawn on the local shared whiteboard, the method may further include:
[0053] The first client loads the shared content in the shared information saved in the last meeting on the local shared whiteboard, where the shared information includes the shared content and the identifier of the drawer and the operation sequence of each operation corresponding to the shared content;
[0054] The shared content information is stored locally, or the shared content information is sent by a signaling server. If the shared content information of the previous meeting is only available locally, it can be directly loaded locally when the whiteboard is started in this meeting, which can improve loading efficiency.
[0055] If the shared content information sent by the signaling server is loaded, the signaling server will send the shared information to the clients participating in the shared whiteboard. In this case, all terminals participating in the sharing receive the information sent by the signaling server, and the reliability and credibility will be higher.
[0056] 220. The first client sends drawing information to the signaling server.
[0057] Correspondingly, the signaling server obtains drawing information in the scalable vector graphics SVG format drawn on the local shared whiteboard sent by the first client.
[0058] 230. The signaling server sends drawing information.
[0059] Specifically, the signaling server sends the drawing information to the second client, wherein the second client includes a client other than the first client among the clients participating in the shared whiteboard.
[0060] 240. The second client loads the drawing content on the local shared whiteboard.
[0061] Specifically, after the second client obtains the drawing content, it will be loaded on the local shared whiteboard. At the same time, the second client also locally saves the drawer and operation sequence of the drawing content, so that the whiteboards of the first client and the second client are synchronized and shared.
[0062] Furthermore, since in the embodiment of the present application, the client knows the drawer of each drawing and the operation sequence, the embodiment of the present application can implement operations such as rollback, reversal or withdrawal of the whiteboard.
[0063] Correspondingly, as another embodiment, the method may further include: a signaling server receives information about a modification operation in SVG format on a local shared whiteboard sent by a third client, the modification operation including an undo operation or a back operation; the signaling server sends the information about the modification operation to a fourth client, so that the fourth client loads the modification operation on the local shared whiteboard, and the fourth client includes clients participating in the shared whiteboard except the third client.
[0064] It should be understood that the third client can be any client participating in the sharing, and the embodiment of the present application is not limited thereto, that is, any client can modify the content on the shared whiteboard. Alternatively, the third client can also be a client with only modification authority.
[0065] For example, if the first client modifies the content on the shared whiteboard, the method may further include the first client sending information of the modification operation in SVG format on the local shared whiteboard to the signaling server, where the modification operation includes an undo operation or a back operation.
[0066] Alternatively, as a receiver, the first client receives modifications to the whiteboard content by other clients. Correspondingly, the method may also include the first client receiving information about modification operations sent by a signaling server, wherein the modification operations include undo operations or back operations, and loading the modification operations on a local shared whiteboard.
[0067] The above embodiments of the present application may have the following beneficial effects:
[0068] By saving the drawing content as an SVG file, the previous drawing state can be restored when closing and reopening the whiteboard, ensuring that the user can work continuously without losing important drawing content. It should be understood that the SVG file protected here can be named with the conference ID for local storage, and the embodiments of the present application are not limited to this.
[0069] By saving the information of the drafter and the sequence of operations, each stroke of the drawing process can be recorded and identified, which improves the traceability of operations and the transparency of collaboration. Team members can clearly understand the source and sequence of each drawn object, which is convenient for management and review.
[0070] By loading locally stored SVG files, the waiting time for each drawing is reduced, and the drawer can be clearly marked when the stroke is selected, which enhances the efficiency of team collaboration. Users do not need to redraw when starting the whiteboard, saving time.
[0071] The embodiment of the present application records all operations by operation sequence numbers, and can realize unlimited undo and redo functions, so that users can edit drawing content more flexibly, improve drawing flexibility and operation convenience. Users can easily restore to any previous state, reducing the impact of misoperation.
[0072] By recording the identification function of the drafter, team collaboration is made more transparent and orderly. Each stroke is accompanied by the information of the drafter, allowing team members to easily track and communicate, ensuring that every step of the project progress is clearly visible.
[0073] The embodiment of the present application uses the SVG format to enable efficient storage and parsing of drawing data, which not only saves storage space but also ensures the integrity and accuracy of the data. The system can quickly parse the SVG file and restore the drawing content, improving the system's response speed and user experience.
[0074] Please refer to Figure 3 , Figure 3 A block diagram showing a composition of an apparatus for sharing a whiteboard in a meeting provided by an embodiment of the present application. Figure 3 The device 300 shown can be a signaling server or a module in a signaling server. It should be understood that the device 300 corresponds to the signaling server in the above method embodiment, and can execute each step performed by the signaling server involved in the above method embodiment. The specific functions of the device 300 can be found in the description above. To avoid repetition, the detailed description is appropriately omitted here.
[0075] Figure 3The device 300 shown includes at least one software function module that can be stored in a memory or fixed in the device in the form of software or firmware. Figure 3 The device 300 shown includes: an acquisition unit 310, used to acquire drawing information in a scalable vector graphic SVG format drawn on a local shared whiteboard sent by a first client, the drawing information including drawing content, a drawer identifier and an operation sequence, and the first client is any one of the clients participating in the shared whiteboard; a sending unit 320, used to send the drawing information to a second client, so that the second client loads the drawing content on the local shared whiteboard, and the second client includes clients participating in the shared whiteboard except the first client.
[0076] In one embodiment, the sending unit is also used to send sharing information to the clients participating in the shared whiteboard before the acquiring unit acquires the drawing information in the scalable vector graphics SVG format drawn on the local shared whiteboard sent by the first client, the sharing information including the shared content saved in the last meeting and the drawer identifier and operation sequence of each operation corresponding to the shared content, so that the clients participating in the shared whiteboard can load the shared content on the local shared whiteboard.
[0077] In one embodiment, the acquisition unit is also used to receive information about modification operations in SVG format on a local shared whiteboard sent by a third client, the modification operation including an undo operation or a back operation; the sending unit is also used to send the information about the modification operation to a fourth client so that the fourth client loads the modification operation on the local shared whiteboard, and the fourth client includes clients participating in the shared whiteboard except the third client.
[0078] Please refer to Figure 4 , Figure 4 A block diagram showing a composition of an apparatus for sharing a whiteboard in a meeting provided by an embodiment of the present application. Figure 4 The device 400 shown can be a first client or a module in the first client. It should be understood that the device 400 corresponds to the first client in the above method embodiment and can execute the various steps performed by the first client involved in the above method embodiment. The specific functions of the device 400 can be found in the description above. To avoid repetition, the detailed description is appropriately omitted here.
[0079] Figure 4 The device 400 shown includes at least one software function module that can be stored in a memory or fixed in the device in the form of software or firmware. Figure 4The device 400 shown includes: a determination unit 410, used to generate drawing information in a scalable vector graphic SVG format drawn on a local shared whiteboard, the drawing information including drawing content, an identifier of the client and an operation sequence, the operation sequence being determined based on an existing historical serial number of the current shared content; a sending unit 420, used to send the drawing information to a signaling server so that the signaling server sends the drawing information to a second client, so that the second client loads the drawing content on the local shared whiteboard, the second client including clients participating in the shared whiteboard except the first client.
[0080] In one embodiment, the determination unit is also used to load shared content in the shared information saved in the last meeting on the local shared whiteboard before generating drawing information in the scalable vector graphics SVG format drawn on the local shared whiteboard, the shared information including the shared content and the drawer identifier and operation sequence of each operation corresponding to the shared content; wherein the shared content information is stored locally, or the shared content information is sent by a signaling server.
[0081] In one embodiment, the sending unit is also used to send information about modification operations in SVG format on a local shared whiteboard to a signaling server, wherein the modification operation includes an undo operation or a back operation; or, the device also includes a receiving unit, which is used to receive information about modification operations sent by the signaling server, wherein the modification operation includes an undo operation or a back operation, and load the modification operation on the local shared whiteboard.
[0082] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the device described above can refer to the corresponding process in the aforementioned method, and will not be described in detail here.
[0083] like Figure 5 As shown, an embodiment of the present application provides an electronic device 500, which includes: a memory 510, a processor 520, and a computer program stored in the memory 510 and executable on the processor 520, wherein the processor 520 reads the program from the memory 510 through a bus 530 and executes the program to implement the method executed by the signaling server or the method executed by the first client in any of the above embodiments. Optionally, Figure 5 The device shown may also include a transceiver, which may be used to send and / or receive data streams. Figure 5 The device shown may also include a collector, which may be used to collect audio / video data. The optional electronic device 500 may also include other input devices or other hardware devices, etc., but the embodiments of the present application are not limited thereto.
[0084] Processor 520 can process digital signals and can include various computing structures, such as complex instruction set computer structure, reduced instruction set computer structure, or a structure that implements a combination of multiple instruction sets. In some examples, processor 520 can be a microprocessor.
[0085] The memory 510 may be used to store instructions executed by the processor 520 or data related to the execution of instructions. These instructions and / or data may include codes for implementing some functions or all functions of one or more modules described in the embodiments of the present application. The processor 520 of the disclosed embodiment may be used to execute instructions in the memory 510 to implement the method performed by the signaling server or the method performed by the first client shown above. The memory 510 includes a dynamic random access memory, a static random access memory, a flash memory, an optical memory, or other memory known to those skilled in the art.
[0086] An embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, can implement a method executed by a signaling server or a method executed by a first client in any of the above methods provided in the above embodiments.
[0087] An embodiment of the present application further provides a computer program product, which includes a computer program, wherein when the computer program is executed by a processor, it can implement the method executed by the signaling server or the method executed by the first client in any of the above methods provided in the above embodiments.
[0088] It should be noted that the processor in the embodiment of the present invention (eg, Figure 5The processor in the embodiment of the present invention may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above method embodiment may be completed by an integrated logic circuit of hardware in the processor or an instruction in software form. The above processor may be a general processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The methods, steps and logic block diagrams disclosed in the embodiments of the present invention may be implemented or executed. The general processor may be a microprocessor or the processor may be any conventional processor, etc. The software module may be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0089] It can be understood that the memory in the embodiment of the present invention (for example, Figure 5The memory in the memory may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the nonvolatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0090] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
[0091] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0092] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, or can be electrical, mechanical or other forms of connection.
[0093] In short, the above is only a preferred embodiment of the technical solution of the present invention, and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for sharing a whiteboard in a meeting, characterized in that: Applied to a signaling server, the method comprises: Acquire drawing information in a scalable vector graphic (SVG) format drawn on a local shared whiteboard sent by a first client, the drawing information including drawing content, a drawer identifier, and an operation sequence, wherein the first client is any one of the clients participating in the shared whiteboard; The drawing information is sent to a second client so that the second client loads the drawing content on a local shared whiteboard, wherein the second client includes a client other than the first client among clients participating in the shared whiteboard.
2. The method according to claim 1, characterized in that Before obtaining the drawing information in the scalable vector graphics SVG format drawn on the local shared whiteboard sent by the first client, the method further includes: The shared information is sent to the client participating in the shared whiteboard, wherein the shared information includes the shared content saved in the last meeting and the drawer identification and operation sequence of each operation corresponding to the shared content, so that the client participating in the shared whiteboard can load the shared content on the local shared whiteboard.
3. The method according to claim 1 or 2, characterized in that: The method further comprises: receiving information of a modification operation in SVG format on a local shared whiteboard sent by a third client, wherein the modification operation includes an undo operation or a back operation; The information of the modification operation is sent to a fourth client so that the fourth client loads the modification operation on a local shared whiteboard. The fourth client includes clients participating in the shared whiteboard except the third client.
4. A method for sharing a whiteboard in a meeting, characterized in that: Applied to a first client, the method includes: Generate drawing information in a scalable vector graphic SVG format drawn on a local shared whiteboard, the drawing information including drawing content, a drawer's identifier, and an operation sequence, wherein the operation sequence is determined based on an existing historical sequence number of the current shared content; The drawing information is sent to a signaling server so that the signaling server sends the drawing information to a second client so that the second client loads the drawing content on a local shared whiteboard. The second client includes clients participating in the shared whiteboard except the first client.
5. The method according to claim 4, characterized in that Before generating drawing information in a scalable vector graphic SVG format drawn on the local shared whiteboard, the method further includes: Loading the shared content in the shared information saved in the last meeting on the local shared whiteboard, wherein the shared information includes the shared content and the identifier of the drawer and the operation sequence of each operation corresponding to the shared content; The shared content information is stored locally, or the shared content information is sent by a signaling server.
6. The method according to claim 4 or 5, characterized in that: The method further comprises: Sending information of a modification operation in SVG format on a local shared whiteboard to a signaling server, wherein the modification operation includes an undo operation or a back operation; or, Receive information about a modification operation sent by a signaling server, where the modification operation includes an undo operation or a back operation, and load the modification operation on a local shared whiteboard.
7. A device for sharing a whiteboard in a meeting, characterized in that: Applied to a signaling server, the device comprises: An acquiring unit, configured to acquire drawing information in a scalable vector graphic (SVG) format drawn on a local shared whiteboard and sent by a first client, wherein the drawing information includes drawing content, a drawer identifier, and an operation sequence, and the first client is any one of the clients participating in the shared whiteboard; The sending unit is used to send the drawing information to a second client so that the second client loads the drawing content on a local shared whiteboard. The second client includes clients participating in the shared whiteboard except the first client.
8. A device for sharing a whiteboard in a meeting, characterized in that: Applied to a first client, the device comprises: A determination unit, configured to generate drawing information in a scalable vector graphic (SVG) format drawn on a local shared whiteboard, wherein the drawing information includes drawing content, an identifier of the client, and an operation sequence, wherein the operation sequence is determined based on an existing historical sequence number of the current shared content; The sending unit is used to send the drawing information to the signaling server, so that the signaling server sends the drawing information to the second client, so that the second client loads the drawing content on the local shared whiteboard, and the second client includes the clients participating in the shared whiteboard except the first client.
9. An electronic device, characterized in that: The method comprises a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the computer program executes the method according to any one of claims 1 to 6 when being run by the processor.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program executes the method according to any one of claims 1 to 6 when executed by a processor.