CN108377229B - 数据处理方法、发送终端、服务器及接收终端 - Google Patents

数据处理方法、发送终端、服务器及接收终端 Download PDF

Info

Publication number
CN108377229B
CN108377229B CN201810064822.4A CN201810064822A CN108377229B CN 108377229 B CN108377229 B CN 108377229B CN 201810064822 A CN201810064822 A CN 201810064822A CN 108377229 B CN108377229 B CN 108377229B
Authority
CN
China
Prior art keywords
data
identification code
preset
writing data
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
CN201810064822.4A
Other languages
English (en)
Other versions
CN108377229A (zh
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 Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics Co Ltd
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 Shiyuan Electronics Thecnology Co Ltd, Guangzhou Shirui Electronics Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201810064822.4A priority Critical patent/CN108377229B/zh
Publication of CN108377229A publication Critical patent/CN108377229A/zh
Application granted granted Critical
Publication of CN108377229B publication Critical patent/CN108377229B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种数据处理方法、发送终端、服务器及接收终端,所述方法包括:获取当前书写数据,并判断所述当前书写数据中是否包含已发送的数据;若是,则将所述已发送的数据从所述当前书写数据中删除,并根据预设标识生成算法,将删除后的书写数据转换为预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器;若否,则根据所述预设的标识生成算法,将所述当前书写数据转化为所述预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器。本发明中的数据处理方法、发送终端、服务器及接收终端,即使在数据量庞大时,也能够将这些数据同步发送。

Description

数据处理方法、发送终端、服务器及接收终端
技术领域
本发明涉及电子通讯技术领域,特别涉及一种数据处理方法、发送终端、服务器及接收终端。
背景技术
电子白板是汇集了尖端电子技术、软件技术等多种高科技手段研发的高新技术产品,它通过应用电磁感应原理,结合计算机和投影机,可以实现无纸化办公及教学。电子白板由普通白板发展而来,最早出现的电子白板为复印型电子白板,随着技术的发展及市场的需要,出现了交互式的电子白板。
在视频会议应用中,一般需要电子白板实现远程同步的功能,即要求不同议室的两个或更多的电子白板之间能够实现笔迹书写的实时同步。同步的过程为,在书写过程中,源白板会将触摸移动过程中的点数据回调给应用,应用再将这些数据转发给其它接收白板,从而实现笔迹书写的实时同步。
现有技术当中,目前使用的电子白板能够支持多到十指书写,每秒可产生1000左右的点数据,由于数据量庞大,目前使用的数据处理方法无法将这1000左右的点数据同步发送给其它电子白板,导致其它电子白板在渲染书写笔记时出现卡顿现象。
发明内容
基于此,本发明的目的是提供一种数据处理方法、发送终端、服务器及接收终端,以使在数据量庞大时,也能够将这些数据同步发送。
根据本发明实施例的一种数据处理方法,应用于发送终端,包括:
获取当前书写数据,并判断所述当前书写数据中是否包含已发送的数据;
若是,则将所述已发送的数据从所述当前书写数据中删除,并根据预设标识生成算法,将删除后的书写数据转换为预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器;
若否,则根据所述预设的标识生成算法,将所述当前书写数据转化为所述预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器,所述预设码位的精简识别码为简化描述对应的书写数据的通用唯一识别码。
上述的数据处理方法,通过将获取到的当前书写数据中的一些重复的数据(如点的颜色、粗细等)删除,并通过所述预设标识生成算法,将书写数据转化为所述预设码位的精简识别码,以简化描述该书写数据,这样无疑降低了整个数据量,即使在数据量庞大(如每秒1000个点数据)时,所述发送终端仍然能够将这些数据同步发送。
另外,根据本发明上述实施例的一种数据处理方法,还可以具有如下附加的技术特征:
进一步地,在所述获取当前书写数据的步骤之前,还包括:
建立所述电子白板与所述服务器的socket连接,并将所述socket设置成非阻塞及禁用nagle算法的模式。
进一步地,所述将所述预设码位的精简识别码发送给服务器的步骤包括:
判断所述socket的缓冲区是否存在未发送给所述服务器的数据;
若是,则将所述预设码位的精简识别码按照时间的先后顺序依序存储到所述缓冲区当中;
若否,则调用所述socket,以将所述预设码位的精简识别码发送给服务器。
进一步地,在所述将所述预设码位的精简识别码按照时间的先后顺序依序存储到所述缓冲区当中的步骤之后,还包括:
持续监听所述socket是否处于可写状态;
若是,则调用所述socket,以将所述缓冲区中的数据按照时间的先后顺序依序发送给所述服务器;
当检测到所述缓冲区中不存在未发送给所述服务器的数据时,停止监听所述socket是否处于可写状态。
根据本发明实施例的一种数据处理方法,应用于服务器,包括:
接收发送终端发送的预设码位的精简识别码,并将所述预设码位的精简识别码分发到每一个无锁队列当中;
将每一个所述无锁队列中的所述预设码位的精简识别码发送给对应的接收终端。
另外,根据本发明上述实施例的一种数据处理方法,还可以具有如下附加的技术特征:
进一步地,在所述接收发送终端发送的预设码位的精简识别码,并将所述预设码位的精简识别码分发到每一个无锁队列当中的步骤之前,还包括:
对建立连接的每一个所述接收终端分别建立并绑定一个所述无锁队列。
根据本发明实施例的一种数据处理方法,应用于接收终端,包括:
接收服务器发送的预设码位的精简识别码,并将所述预设码位的精简识别码进行解析还原,以得到所述预设码位的精简识别码描述的书写数据;
判断所述书写数据中是否存在已删除的数据;
若否,则将所述书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记;
若是,则引用上一次渲染到所述接收终端上的对应的数据来补充所述书写数据中被删除的数据,并将补充后的书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记。
根据本发明实施例的一种发送终端,包括:
数据获取模块,用于获取当前书写数据,并判断所述当前书写数据中是否包含已发送的数据;
第一数据处理模块,用于当判断到所述当前书写数据中包含已发送的数据时,将所述已发送的数据从所述当前书写数据中删除,并根据预设标识生成算法,将删除后的书写数据转换为预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器;
第二数据处理模块,用于当判断到所述当前书写数据中不包含已发送的数据时,根据所述预设的标识生成算法,将所述当前书写数据转化为所述预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器,所述预设码位的精简识别码为简化描述对应的书写数据的通用唯一识别码。
根据本发明实施例的一种服务器,包括:
队列分发模块,用于接收发送终端发送的预设码位的精简识别码,并将所述预设码位的精简识别码分发到每一个无锁队列当中;
数据转发模块,用于将每一个所述无锁队列中的所述预设码位的精简识别码发送给对应的接收终端。
根据本发明实施例的一种接收终端,包括:
数据接收模块,用于接收服务器发送的预设码位的精简识别码,并将所述预设码位的精简识别码进行解析还原,以得到所述预设码位的精简识别码描述的书写数据;
判断模块,用于判断所述书写数据中是否存在已删除的数据;
第一数据渲染模块,用于当判断到所述书写数据中不存在已删除的数据时,将所述书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记;
第二数据渲染模块,用于当判断到所述书写数据中存在已删除的数据时,引用上一次渲染到所述接收终端上的对应的数据来补充所述书写数据中被删除的数据,并将补充后的书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记。
附图说明
图1为本发明第一实施例中的数据处理方法的流程图。
图2为本发明第二实施例中的数据处理方法的流程图。
图3为本发明第二实施例中的数据发送的具体实施流程图。
图4为本发明第三实施例中的数据处理系统的结构示意图。
主要元件符号说明:
Figure BDA0001556407000000041
Figure BDA0001556407000000051
以下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
请参阅图1,所示为本发明第一实施例中的数据处理方法,应用于数据处理系统,所述数据处理系统包括发送终端、服务器及至少一个接收终端,所述发送终端及所述接收终端均为电子白板,其中,基于所述数据处理方法,所述接收终端通过所述服务器可与所述发送终端实现笔记的同步显示。具体地,所述数据处理方法包括步骤S01至步骤S03。
步骤S01,所述发送终端获取当前书写数据,并判断所述当前书写数据中是否包含已发送的数据。
举例来说,当用户采用书写笔在所述发送终端上画一条直线时,首先将触发一个书写事件,所述发送终端将不断的获取因书写笔的移动而产生的当前书写点的数据。因此所述当前书写数据即为当前书写点的数据,该数据包括当前书写点的坐标、颜色、大小(粗细)等。
可以理解的,由于所述发送终端每次在获取书写点的数据时,都会获取该书写点的全面数据,这就导致前后获取的两个书写点的数据将存在重复的情况。例如,当用户采用书写笔在所述发送终端上画一条直线时,若该直线的颜色及粗细都是一致的,那么组成该直线的每个书写点的颜色及粗细也必然一致,这就导致了所述发送终端获取的所有书写点的数据中均存在重复的颜色及粗细数据。由于所述发送终端实现数据的同步发送,即每获取一次书写数据发送一下,因此所述步骤S01通过判断所述当前书写数据中是否包含已发送的数据的方式,来判断所述当前书写数据是否与之前获取的书写数据存在重复的数据。
其中,当判断到所述当前书写数据中是包含已发送的数据时,则依次执行步骤S02及步骤S04至步骤S07,当判断到所述当前书写数据中不包含已发送的数据时,则依次执行步骤S03至步骤S07。
步骤S02,所述发送终端将所述已发送的数据从所述当前书写数据中删除,并根据预设标识生成算法,将删除后的书写数据转换为预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器。
可以理解的,被删除的数据通常为颜色及粗细数据,删除数据的目的在于减小数据量。
其中,所述预设码位的精简识别码为简化描述对应的书写数据的通用唯一识别码,且所述预设码位的精简识别码可为5位精简识别码,即可以为5位的通用唯一识别码。
需要指出的是,为了确保数据传输的稳定性及可靠性,通常会将获取的所述当前书写数据转化为通用唯一识别码(Universally Unique Identifier,简称UUID)后在进行数据发送,而转化过程由标识生成算法来完成。
然而,目前采用的用于描述书写数据的通用唯一识别码通常为32位的编码,为了减少数据量,所述数据处理方法通过修改标识生成算法,以得到所述预设标识生成算法,并根据所述标识生成算法将删除后的书写数据转换为所述预设码位的精简识别码,即转化为5位的通用唯一识别码,以减少数据量。
步骤S03,所述发送终端根据所述预设的标识生成算法,将所述当前书写数据转化为所述预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器。
可以理解的,在判断到所述当前书写数据中不包含已发送的数据时,直接根据所述预设的标识生成算法,将所述当前书写数据转化为5位的通用唯一识别码。
步骤S04,所述服务器接收所述发送终端发送的预设码位的精简识别码,并将所述预设码位的精简识别码分发到每一个无锁队列当中。
步骤S05,所述服务器将每一个所述无锁队列中的所述预设码位的精简识别码发送给对应的接收终端。
具体实施时,所述服务器可以对每个与其建立连接的接收终端,建立一个所述无锁队列,并将当前建立无锁队列与当前与所述服务器建立连接的接收终端建立绑定关系,以使该无锁队列中的数据都将发生至该接收终端上,以使数据发生混乱,且有利于提高数据的发送速率。
此外,还需要指出的是,所述服务器在接收到一个识别码时,将同步发送给每个无锁队列,并使每个无锁队列通过将该识别码发送给对应的接收终端,以使每个接收终端同时接收到给识别码,以最终实现笔记的同步显示。
步骤S06,所述接收终端接收所述服务器发送的预设码位的精简识别码,并将所述预设码位的精简识别码进行解析还原,以得到所述预设码位的精简识别码描述的书写数据。
可以理解的,将所述预设码位的精简识别码进行解析还原的过程可以采用所述预设标识生成算法对应的还原规则来完成。
步骤S07,所述接收终端判断所述书写数据中是否存在已删除的数据。
可以理解的,由于在发送书写数据时,将一些重复的数据进行了删除,这就将导致所述接收终端接收到的一些书写数据不完整,存在已删除的数据(如颜色数据、粗细数据等)。
其中,当判断到所述书写数据中不存在已删除的数据时,则执行步骤S08,当判断到所述书写数据中存在已删除的数据时,则执行步骤S09。
步骤S08,所述接收终端将所述书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记。
可以理解的,当判断到所述书写数据中不存在已删除的数据时,代表所述书写数据完整,此时则可以直接调用上层应用对所述书写数据进行渲染,以使所述接收终端显示所述书写数据对应的书写笔记。
举例来说,当用户采用书写笔在所述发送终端上开始画一个圆时,所述发送终端将获取到圆的起点书写数据,经数据传输后,所述接收终端接收到所述圆的起点书写数据,由于所述圆的起点书写数据为该次书写(画圆)的第一个书写数据,不存在已删除的数据,此时,所述接收终端可以直接对所述圆的起点书写数据进行渲染,以使所述接收终端在相应的位置上显示圆的起点。
步骤S09,所述接收终端引用上一次渲染到所述接收终端上的对应的数据来补充所述书写数据中被删除的数据,并将补充后的书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记。
可以理解的,由于已删除的数据为已经发送的数据,换言之,已删除的数据可以直接引用在所述接收终端上进行了渲染的数据(如颜色、粗细等)。例如,当所述发送终端获取到上述圆的第二个点的书写数据时,所述圆的第二个点的书写数据中的颜色及粗细数据,必然会和所述圆的起点书写数据中的颜色及粗细数据重复,因此所述发送终端会将所述圆的第二个点的书写数据中的颜色及粗细数据删除,当发生到所述接收终端上时,所述圆的第二个点的书写数据是缺少颜色及粗细数据的,此时在进行渲染时,直接采用所述圆的起点书写数据中的颜色及粗细数据。
综上,本发明上述实施例当中的数据处理方法,通过将获取到的当前书写数据中的一些重复的数据(如点的颜色、粗细等)删除,并通过所述预设标识生成算法,将书写数据转化为所述预设码位的精简识别码,以简化描述该书写数据,这样无疑降低了整个数据量,即使在数据量庞大(如每秒1000个点数据)时,所述发送终端仍然能够将这些数据同步发送。不仅如此,通过对每个接收终端建立一个无锁队列,确保数据在发送过程当中,不会发生混乱,同时也提高了数据发送的速率,进一步确保了数据的同步发送。
请参阅图2,所示为本发明第二实施例中的数据处理方法,应用于数据处理系统,所述数据处理系统包括发送终端、服务器及至少一个接收终端,所述发送终端及所述接收终端均为电子白板,其中,基于所述数据处理方法,所述接收终端通过所述服务器可与所述发送终端实现笔记的同步显示。具体地,所述数据处理方法包括步骤S11至步骤S22。
步骤S11,所述发送终端建立与所述服务器的socket连接,并将socket设置成非阻塞及禁用nagle算法的模式。
可以理解的,将socket设置成非阻塞是为了避免出现当网络阻塞时,阻塞业务线程,从而让出当前cpu,导致业务处理性能降低的现象,提高socket的收发效率。将socket设置成禁用nagle算法的模式(即设置socket中的no_delay选项为true)是为了避免tcp协议层将小包延迟发送,提高socket的收发效率。
步骤S12,所述接收终端建立与所述服务器的socket连接,并将socket设置成非阻塞及禁用nagle算法的模式。
步骤S13,所述服务器对建立连接的每一个所述接收终端分别建立并绑定一个无锁队列。
步骤S14,所述发送终端获取当前书写数据,并判断所述当前书写数据中是否包含已发送的数据。
其中,当判断到所述当前书写数据中是包含已发送的数据时,则依次执行步骤S15及步骤S17至步骤S20,当判断到所述当前书写数据中不包含已发送的数据时,则依次执行步骤S16至步骤S20。
步骤S15,所述发送终端将所述已发送的数据从所述当前书写数据中删除,并根据预设标识生成算法,将删除后的书写数据转换为预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器。
步骤S16,所述发送终端根据所述预设的标识生成算法,将所述当前书写数据转化为所述预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器。
其中,所述预设码位的精简识别码为简化描述对应的书写数据的通用唯一识别码。
请查阅图3,所述发送终端将所述预设码位的精简识别码发送给服务器的步骤可以按照图3中的流程图进行具体实施,包括步骤S161至步骤S166。
步骤S161,所述发送终端判断所述socket的缓冲区是否存在未发送给所述服务器的数据。
其中,所判断的socket为与发送终端和服务器连接的socket。
其中,当判断到所述socket的缓冲区存在未发送给所述服务器的数据时,则执行步骤S163至步骤S164,当判断到所述socket的缓冲区不存在未发送给所述服务器的数据时,则执行步骤S162。
步骤S162,所述发送终端调用所述socket,以将所述预设码位的精简识别码发送给服务器。
可以理解的,当socket的缓冲区不存在数据时,代表socket处于可写状态,此时可以直接调用socket,将数据发送给服务器。
步骤S163,所述发送终端将所述预设码位的精简识别码按照时间的先后顺序依序存储到所述缓冲区当中。
可以理解的,当socket的缓冲区存在数据时,代表socket处于不可写状态,此时当前的数据(所述预设码位的精简识别码)将按照时间的先后顺序依序存储到所述缓冲区当中。
步骤S164,所述发送终端持续监听所述socket是否处于可写状态。
需要指出的是,当socket处于可写状态时,socket的状态值将标记为可写,此时所述发送终端的系统根据socket的状态值即可监听到所述socket是否可写。
其中,当监听到所述socket处于可写状态时,则执行步骤S165至步骤S166,当未监听到所述socket处于可写状态时,则不动作,继续监听。
步骤S165,所述发送终端调用所述socket,以将所述缓冲区中的数据按照时间的先后顺序依序发送给所述服务器。
步骤S166,当检测到所述缓冲区中不存在未发送给所述服务器的数据时,停止监听所述socket是否处于可写状态。
可以理解的,当数据发送速率高于产生频率时,缓冲区一定时间后就不再有数据,此时不再监听socket的可写事件。
步骤S17,所述服务器接收所述发送终端发送的预设码位的精简识别码,并将所述预设码位的精简识别码分发到每一个无锁队列当中。
步骤S18,所述服务器将每一个所述无锁队列中的所述预设码位的精简识别码发送给对应的接收终端。
步骤S19,所述接收终端接收所述服务器发送的预设码位的精简识别码,并将所述预设码位的精简识别码进行解析还原,以得到所述预设码位的精简识别码描述的书写数据。
步骤S20,所述接收终端判断所述书写数据中是否存在已删除的数据。
当判断到所述书写数据中不存在已删除的数据时,则执行步骤S21,当判断到所述书写数据中存在已删除的数据时,则执行步骤S22。
步骤S21,所述接收终端将所述书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记。
步骤S22,所述接收终端引用上一次渲染到所述接收终端上的对应的数据来补充所述书写数据中被删除的数据,并将补充后的书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记。
综上,本实施例当中的数据处理方法相较于第一实施例当中的数据处理方法,其通过设置将socket设置成非阻塞及禁用nagle算法的模式,提高了socket的收发效率,进一步地确保了所述发送终端上的书写数据能够同步发送。此外,在发送数据的过程当中,当发现socket的缓冲区存在数据时,将持续监听socket是否处于可写状态,使得在发现socket处于可写状态时,能够第一时间调用socket进行数据传输。
本发明另一方面还提供一种数据处理系统,请查阅图4,所述为本发明第三实施例中的数据处理系统,所述数据处理系统包括包括发送终端10、服务器20及至少一个接收终端30,所述发送终端10及所述接收终端30均为电子白板。
其中,所述发送终端10包括:
数据获取模块11,用于获取当前书写数据,并判断所述当前书写数据中是否包含已发送的数据;
第一数据处理模块12,用于当判断到所述当前书写数据中包含已发送的数据时,将所述已发送的数据从所述当前书写数据中删除,并根据预设标识生成算法,将删除后的书写数据转换为预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器;
第二数据处理模块13,用于当判断到所述当前书写数据中不包含已发送的数据时,根据所述预设的标识生成算法,将所述当前书写数据转化为所述预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器,所述预设码位的精简识别码为简化描述对应的书写数据的通用唯一识别码。
进一步地,所述发送终端10还包括:
连接建立模块14,用于建立与所述服务器的socket连接,并将所述socket设置成非阻塞及禁用nagle算法的模式。
进一步地,所述第一数据处理模块12及所述第二数据处理模块13均包括:
数据判断单元121,用于判断所述socket的缓冲区是否存在未发送给所述服务器的数据;
数据存储单元122,用于当判断到所述socket的缓冲区存在未发送给所述服务器的数据时,将所述预设码位的精简识别码按照时间的先后顺序依序存储到所述缓冲区当中;
数据发送单元123,用于当判断到所述socket的缓冲区不存在未发送给所述服务器的数据时,调用所述socket,以将所述预设码位的精简识别码发送给服务器。
进一步地,所述第一数据处理模块12及所述第二数据处理模块13均还包括:
状态监听单元124,用于在将所述预设码位的精简识别码按照存储到所述缓冲区当中后,持续监听所述socket是否处于可写状态;
当监听到所述socket处于可写状态时,所述发送单元123调用所述socket,以将所述缓冲区中的数据按照时间的先后顺序依序发送给所述服务器;
监听停止单元125,用于当检测到所述缓冲区中不存在未发送给所述服务器的数据时,停止监听所述socket是否处于可写状态。
其中,所述服务器20包括:
队列分发模块21,用于接收发送终端发送的预设码位的精简识别码,并将所述预设码位的精简识别码分发到每一个无锁队列当中;
数据转发模块22,用于将每一个所述无锁队列中的所述预设码位的精简识别码发送给对应的接收终端。
进一步地,所述服务器20还包括:
队列建立模块23,用于对建立连接的每一个所述接收终端分别建立并绑定一个所述无锁队列。
其中,所述接收终端30包括:
数据接收模块31,用于接收服务器发送的预设码位的精简识别码,并将所述预设码位的精简识别码进行解析还原,以得到所述预设码位的精简识别码描述的书写数据;
判断模块32,用于判断所述书写数据中是否存在已删除的数据;
第一数据渲染模块33,用于当判断到所述书写数据中不存在已删除的数据时,将所述书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记;
第二数据渲染模块34,用于当判断到所述书写数据中存在已删除的数据时,引用上一次渲染到所述接收终端上的对应的数据来补充所述书写数据中被删除的数据,并将补充后的书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (7)

1.一种数据处理方法,应用于发送终端,其特征在于,包括:
获取当前书写数据,并判断所述当前书写数据中是否包含已发送的数据;
若是,则将所述已发送的数据从所述当前书写数据中删除,并根据预设标识生成算法,将删除后的书写数据转换为预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器;
若否,则根据所述预设的标识生成算法,将所述当前书写数据转化为所述预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器,所述预设码位的精简识别码为简化描述对应的书写数据的通用唯一识别码,所述预设码位的精简识别码为5位精简识别码。
2.根据权利要求1所述的数据处理方法,其特征在于,在所述获取当前书写数据的步骤之前,还包括:
建立与所述服务器的socket连接,并将所述socket设置成非阻塞及禁用nagle算法的模式。
3.根据权利要求2所述的数据处理方法,其特征在于,所述将所述预设码位的精简识别码发送给服务器的步骤包括:
判断所述socket的缓冲区是否存在未发送给所述服务器的数据;
若是,则将所述预设码位的精简识别码按照时间的先后顺序依序存储到所述缓冲区当中;
若否,则调用所述socket,以将所述预设码位的精简识别码发送给服务器。
4.根据权利要求3所述的数据处理方法,其特征在于,在所述将所述预设码位的精简识别码按照时间的先后顺序依序存储到所述缓冲区当中的步骤之后,还包括:
持续监听所述socket是否处于可写状态;
若是,则调用所述socket,以将所述缓冲区中的数据按照时间的先后顺序依序发送给所述服务器;
当检测到所述缓冲区中不存在未发送给所述服务器的数据时,停止监听所述socket是否处于可写状态。
5.一种数据处理方法,应用于接收终端,其特征在于,包括:
接收服务器发送的预设码位的精简识别码,并将所述预设码位的精简识别码进行解析还原,以得到所述预设码位的精简识别码描述的书写数据,所述预设码位的精简识别码为5位精简识别码;
判断所述书写数据中是否存在已删除的数据;
若否,则将所述书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记;
若是,则引用上一次渲染到所述接收终端上的对应的数据来补充所述书写数据中被删除的数据,并将补充后的书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记。
6.一种发送终端,其特征在于,包括:
数据获取模块,用于获取当前书写数据,并判断所述当前书写数据中是否包含已发送的数据;
第一数据处理模块,用于当判断到所述当前书写数据中包含已发送的数据时,将所述已发送的数据从所述当前书写数据中删除,并根据预设标识生成算法,将删除后的书写数据转换为预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器;
第二数据处理模块,用于当判断到所述当前书写数据中不包含已发送的数据时,根据所述预设的标识生成算法,将所述当前书写数据转化为所述预设码位的精简识别码,并将所述预设码位的精简识别码发送给服务器,所述预设码位的精简识别码为简化描述对应的书写数据的通用唯一识别码,所述预设码位的精简识别码为5位精简识别码。
7.一种接收终端,其特征在于,包括:
数据接收模块,用于接收服务器发送的预设码位的精简识别码,并将所述预设码位的精简识别码进行解析还原,以得到所述预设码位的精简识别码描述的书写数据,所述预设码位的精简识别码为5位精简识别码;
判断模块,用于判断所述书写数据中是否存在已删除的数据;
第一数据渲染模块,用于当判断到所述书写数据中不存在已删除的数据时,将所述书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记;
第二数据渲染模块,用于当判断到所述书写数据中存在已删除的数据时,引用上一次渲染到所述接收终端上的对应的数据来补充所述书写数据中被删除的数据,并将补充后的书写数据渲染到所述接收终端上,以使所述接收终端显示所述书写数据对应的书写笔记。
CN201810064822.4A 2018-01-23 2018-01-23 数据处理方法、发送终端、服务器及接收终端 Active CN108377229B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810064822.4A CN108377229B (zh) 2018-01-23 2018-01-23 数据处理方法、发送终端、服务器及接收终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810064822.4A CN108377229B (zh) 2018-01-23 2018-01-23 数据处理方法、发送终端、服务器及接收终端

Publications (2)

Publication Number Publication Date
CN108377229A CN108377229A (zh) 2018-08-07
CN108377229B true CN108377229B (zh) 2021-08-17

Family

ID=63015630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810064822.4A Active CN108377229B (zh) 2018-01-23 2018-01-23 数据处理方法、发送终端、服务器及接收终端

Country Status (1)

Country Link
CN (1) CN108377229B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021000843A1 (zh) * 2019-07-04 2021-01-07 广州虎牙科技有限公司 一种直播数据处理方法、系统、电子设备及存储介质
CN110727361A (zh) * 2019-09-30 2020-01-24 厦门亿联网络技术股份有限公司 一种信息交互方法、交互系统和应用

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101587399A (zh) * 2009-02-09 2009-11-25 鑫能源科技(深圳)有限公司 电子书写设备及电子书写系统
CN103336633A (zh) * 2013-05-31 2013-10-02 傅有军 一种电子白板
CN105554157A (zh) * 2016-01-21 2016-05-04 广州视睿电子科技有限公司 数据同步方法、装置及系统
CN106326343A (zh) * 2016-08-05 2017-01-11 重庆锐畅科技有限公司 一种基于音视频数据关联同步的电子白板数据共享系统
CN106406576A (zh) * 2015-07-29 2017-02-15 中强光电股份有限公司 同时形成实体笔迹及电子笔迹的方法、套件及触控笔
CN206516113U (zh) * 2016-03-08 2017-09-22 深圳市千新科技实业有限公司 一种智能电子白板黑板教学系统
CN107391016A (zh) * 2017-07-20 2017-11-24 联想(北京)有限公司 手写输入笔迹校准方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105978870B (zh) * 2016-05-06 2020-03-03 北京大生在线科技有限公司 一种教学系统中笔迹实时分享的方法及装置
US10347215B2 (en) * 2016-05-27 2019-07-09 Adobe Inc. Multi-device electronic signature framework

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101587399A (zh) * 2009-02-09 2009-11-25 鑫能源科技(深圳)有限公司 电子书写设备及电子书写系统
CN103336633A (zh) * 2013-05-31 2013-10-02 傅有军 一种电子白板
CN106406576A (zh) * 2015-07-29 2017-02-15 中强光电股份有限公司 同时形成实体笔迹及电子笔迹的方法、套件及触控笔
CN105554157A (zh) * 2016-01-21 2016-05-04 广州视睿电子科技有限公司 数据同步方法、装置及系统
CN206516113U (zh) * 2016-03-08 2017-09-22 深圳市千新科技实业有限公司 一种智能电子白板黑板教学系统
CN106326343A (zh) * 2016-08-05 2017-01-11 重庆锐畅科技有限公司 一种基于音视频数据关联同步的电子白板数据共享系统
CN107391016A (zh) * 2017-07-20 2017-11-24 联想(北京)有限公司 手写输入笔迹校准方法及系统

Also Published As

Publication number Publication date
CN108377229A (zh) 2018-08-07

Similar Documents

Publication Publication Date Title
US9288438B2 (en) Communication control system and control device
CN109474688A (zh) 即时通信网络请求消息的发送方法、装置、设备和介质
CN107122148B (zh) 远程协作方法及系统
CN108965932B (zh) 一种连麦窗口展示方法及装置
CN104639424B (zh) 一种数据传输方法及相关设备、系统
CN108377229B (zh) 数据处理方法、发送终端、服务器及接收终端
CN110611735A (zh) 移动终端远程控制方法、装置、系统以及存储介质
CN110266582B (zh) 一种消息推送方法、系统、服务器及通信终端
CN101606360B (zh) 唯一的压缩的呼叫标识符
CN109889922A (zh) 流媒体数据的转发方法、装置、设备和存储介质
CN112689020B (zh) 一种消息传输方法、消息中间件、电子设备及存储介质
CN104639501A (zh) 一种数据流传输的方法、设备及系统
CN111866544B (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN102025730B (zh) 基于http协议的数据传输装置及其实现方法
AU2018403361B2 (en) Data transmission
CN108289165B (zh) 一种基于手机控制相机的实现方法、装置及终端设备
CN113900976B (zh) 联邦学习中dma连接建立方法
KR102462716B1 (ko) Api를 이용한 이동통신메시지 재전송 시스템 및 방법
CN114173319A (zh) 跨平台实现通话的方法、装置、云手机平台及存储介质
CN113923167A (zh) 联邦学习中数据传输优化方法
CN106101604A (zh) 多媒体传输方法、装置及多媒体盒子
CN114077409A (zh) 投屏方法及装置、电子设备和计算机可读介质
CN105306870A (zh) 文件的处理方法及装置
CN109348303A (zh) 一种弹幕消息的分发方法、装置、终端和存储介质
CN113452948B (zh) 会议终端的控制方法、装置、设备及存储介质

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