CN101373442B - 一种用于传输用户操作事件的方法 - Google Patents
一种用于传输用户操作事件的方法 Download PDFInfo
- Publication number
- CN101373442B CN101373442B CN2008101982632A CN200810198263A CN101373442B CN 101373442 B CN101373442 B CN 101373442B CN 2008101982632 A CN2008101982632 A CN 2008101982632A CN 200810198263 A CN200810198263 A CN 200810198263A CN 101373442 B CN101373442 B CN 101373442B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- update processing
- intermediate server
- terminal device
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种用于传输用户操作事件的方法,实现本方法的系统包括至少2个终端设备、一个中间服务器,终端设备分别与中间服务器网络连接;终端设备包括依次连接的用户接口模块、采集更新处理模块、逻辑转换模块、缓冲模块、发送接收模块。本发明分层的软件体系结构提高了系统可扩展性,只对系统某一层进行修改,对其它层次的影响较小;基于全局标识的数据表示模型避免了命名冲突;基于混合模式的转发策略降低了服务器负载,减少了网络冲突的发生;基于多线程并发机制的接收发送装置提高了对白板事件的处理和传输性能,集中控制法解决了并发控制问题,能有效地保证数据的实时性和一致性,从而提高工作效率。本发明可广泛应用于各类CSCW系统,实用价值高。
Description
技术领域
本发明涉及通信和计算机网络领域,具体涉及一种用于传输用户操作事件的方法。
背景技术
伴随着计算机科学技术,尤其是通信技术与计算机网络技术的迅猛发展,产生了一个新的研究领域——计算机支持的协同工作(CSCW)。而基于共享的电子白板是典型的CSCW应用。通过使用鼠标、键盘、手写笔和触摸屏等硬件I/O设备,各协作用户可以在电子白板上面绘制图形、键入文本、注释、剪切、复制图片,并同步显示在其他用户的白板界面上,从而达到资源共享、实时交流的目的。如何有效的捕获、组织并打包传输电子白板事件,是促进人们工作交互性和协同性的重要因素。
当前电子白板事件传输的实现局限于网络带宽问题,普遍使用的传输方式为:在一个完整的电子白板操作完成之后,将白板操作的结果传输到其他终端。而这种传输方式的不足是:多用户协同操作电子白板时,其他终端只有在操作终端完成一个完整的操作实体后才能看到操作终端的操作结果,它们无法了解操作终端的实际操作过程。这样无法满足白板系统需要保证数据的实时性和一致性的要求,更无法提高各终端用户的工作效率。
发明内容
本发明的目的在于克服上述现有技术的缺点和不足,提供一种用于传输用户操作事件的方法,本方法能够有效地保证数据的实时性和一致性,有效地提高各终端用户的工作效率。
本发明目的通过下述技术方案实现:一种用于传输用户操作事件的方法,实现本方法的系统包括至少2个终端设备、一个中间服务器,所述的终端设备分别与中间服务器网络连接;
所述的终端设备包括依次连接的用户接口模块、采集更新处理模块、逻辑转换模块、缓冲模块、发送接收模块。
所述的终端设备还可以进一步包括存储模块,所述存储模块与所述的采集更新处理模块连接,用于保存采集更新处理模块所采集的数据和接收的数据。
所述采集更新处理模块包括采集模块和更新处理模块,采集模块和更新处理模块可以分别设置,也可集中设置。
所述缓冲模块包括发送队列、接收队列。
所述发送接收模块包括接收模块和发送模块,接收模块和发送模块可以分别设置,也可以集中设置。
所述的终端设备为电子白板。
上述用于传输用户操作事件的方法,包括以下步骤:
(1)采集更新处理模块通过用户接口模块采集用户的操作事件,并将所述的操作事件转化为终端设备可识别的数据,然后将所述的数据发送给逻辑转换模块;
(2)逻辑转换模块将收到的数据按预设的数据结构进行转换,然后存储到缓冲模块中的发送队列中;
(3)发送接收模块按照预设的机制查询发送队列,如果发送队列不为空,则将发送队列中的数据发送到中间服务器;
(4)中间服务器接收到终端设备发送过来的数据后,按照所述终端设备发送过来的数据到达的先后顺序进行排序并存储,然后再转发到每个终端;
(5)发送接收模块接收来自所述中间服务器的数据,并将数据存储到缓冲模块的接收队列中,然后发送给逻辑转换模块;
(6)逻辑转换模块将接收的数据转换成采集更新处理模块可识别的数据,然后发送给采集更新处理模块;
(7)由采集更新处理模块将数据发送给用户接口模块,并通知用户接口模块显示所更新的数据;
上述步骤(2)中,数据进行转换后存储到缓冲模块中的发送队列之后,逻辑转换模块还同时判断所述的操作事件是否结束,若判断结果为否,则重复步骤(1)、(2),若判断结果为是,则结束本次操作事件的采集。
上述方法中,步骤(1)所述的采集用户的操作事件的具体方法为:对于用户的操作事件,采集器每隔4至7个像素采集一次。
上述方法中,步骤(2)所述的预设的数据结构具体包括:终端号、操作类型、图元对象类型、图元对象、结束符;
所述终端号为由中间服务器统一分配的终端设备标识符;
所述操作类型包括:新建(new)、复制(copy)、剪切(cut)、粘贴(paste)、撤销(undo)、删除(delete)等任意一种;
所述图元对象类型包括:曲线(curve)、直线(1ine)、矩形(rectangle)、圆(circle)、椭圆(ellipse)、文本(text)、图片(picture)等任意一种;
所述图元对象包括白板ID、页面ID、图元对象ID、属性,白板ID表示白板标识符,用于表示图元对象位于哪个白板上;页面ID表示页面标识符,用于表示图元对象位于白板的哪个页面上;图元对象ID表示图元对象标识符,用于表示图元对象本身;属性表示图元对象的属性,包括元素的坐标位、透明度、线条颜色、填充颜色、空心或实心;
所述结束符用于对同一操作事件的数据标识相同的结束符,:逻辑转换模块根据结束符,可以对所述的发送队列或接收队列中的数据进行组合。
上述方法中,步骤(3)中所述的预设的机制为定时检测机制。
上述方法中,步骤(3)所述发送接收模块将发送队列中的数据发送到中间服务器的步骤中,当终端设备与中间服务器连接后,将开启一个发送线程,负责数据的发送。
上述方法中,步骤(5)所述发送接收模块接收来自所述中间服务器的数据,并将数据存储到缓冲模块的接收队列中的步骤中,当终端设备与中间服务器连接后,将开启一个接收线程,负责数据的接收。
本发明电子白板事件合理化传输系统相对于现有技术具有以下优点:
1、本发明系统可广泛应用到各类CSCW系统中去,因此具有很高的实用价值;
2、本发明系统分层的软件体系结构提高了系统的可扩展性,只是对系统某一层进行修改,对其它层次造成的影响相对较小。如对发送模块的数据传输格式进行了修改,只需修改发送队列和逻辑转换模块,而不会影响到上层的采集模块和用户接口模块。
3、基于全局标识的数据表示模型避免了命名冲突;基于混合模式的转发策略较好地降低了服务器负载,并有效减少了网络冲突的发生;
4、基于多线程并发机制的接收发送装置提高了对白板事件的处理和传输的性能,集中控制法解决了并发控制的问题,能够有效地保证数据的实时性和一致性,从而提高了各终端用户的工作效率。
附图说明
图1是本发明系统的总体结构图;
图2是本发明的功能模块结构图;
图3是本发明用于传输用户操作事件的方法的流程图;
图4是本发明的数据包结构图。
具体实施方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例
图1所示为本发明系统的总体结构,一种用于传输用户操作事件的系统,包括:至少两个终端设备、一个中间服务器,所述的终端设备分别与中间服务器网络连接;该终端设备优选电子白板。
图2所示为本发明的功能模块结构,为了区分本发明系统中终端设备的发送和接收过程,所以在图2中将本发明系统相应的功能模块分开绘制。
本发明系统中的电子白板包括依次连接的用户接口模块、采集更新处理模块、逻辑转换模块、缓冲模块、发送接收模块;该终端设备还可以进一步包括存储模块,所述存储模块与所述的采集更新处理模块连接,用于保存采集更新处理模块所采集的数据和接收的数据。
所述采集更新处理模块包括采集模块和更新处理模块,采集模块和更新处理模块可以分别设置于两个硬件中,也可集中设置于一个硬件中。
所述缓冲模块包括发送队列、接收队列。
所述发送接收模块包括接收模块和发送模块,接收模块和发送模块可以分别设置于两个硬件中,也可以集中设置于一个硬件中。
由上述系统实现传输用户操作事件的方法,如图3所示,包括以下步骤:
(1)采集更新处理模块通过用户接口模块采集用户在电子白板上的操作事件,并将所述的操作事件转化为电子白板可识别的数据,然后将所述的数据发送给逻辑转换模块;还可以将所述的电子白板可识别的数据存储到存储模块中;
所述的采集更新处理模块采集用户在电子白板上的操作事件的过程具体为,对于用户的操作事件,采集模块每隔4至7个像素进行一次采集,对整个操作事件需进行多次采集完成;
(2)逻辑转换模块将收到的数据按预设的数据结构进行转换,然后存储到缓冲模块中的发送队列中;
如图4所述,所述预设的数据结构为一个5元数组(TerminalNum,Operation,Type,Object,End),具体如下:
TerminalNum为终端号,由中间服务器统一分配;
Operation为操作类型,可以为New,Copy,Cut,Paste,Undo,Delete中的任意一种操作;
Type为图元对象类型,可以为Curve,Line,Rectangle,Ellipse,Text,Picture等中的任意一种;
Object为图元对象,可以表示为一个4元组描述(WhiteboardID,PageID,ObjectID,Attribute),其中:WhiteboardID表示白板标识符,用于表示图元对象位于哪个白板上;在操作过程中用户可能在其终端设备上打开若干个白板,打开若干个白板的过程类似于WORD程序同时打开若干个WORD文档;PageID表示页面标识符,用于表示图元对象位于白板的哪个页面上,因为某个白板可由若干个页面组成;ObjectID表示图元对象标识符,用于表示图元对象本身;以上所述的WhiteboardID、PageID、ObjectID由终端设备向中间服务器申请;Attribute表示图元对象的属性,其中包括元素的坐标位、透明度、线条颜色、填充颜色、空心或实心等;
End为结束符,用于对同一操作事件的数据标识相同的结束符,从而:逻辑转换模块可以根据结束符将属于同一操作事件的数据进行组合,例如将两个或多个数据包组合成一个大数据包;
(3)发送接收模块按照预设的机制查询发送队列,如果发送队列不为空,则将发送队列中的数据发送到中间服务器;所述的预设的机制为定时检测机制;
(4)中间服务器接收到终端设备发送过来的数据后,按照所述终端设备发送过来的数据到达的先后顺序进行排序并存储,然后再转发到每个终端;
(5)发送接收模块接收来自所述中间服务器的数据,并将数据存储到缓冲模块的接收队列中,然后发送给逻辑转换模块;
(6)逻辑转换模块将接收的数据转换成采集更新处理模块可识别的数据,然后发送给采集更新处理模块;还可以将转换的数据存储到存储模块;
(7)由采集更新处理模块将更新的数据发送给用户接口模块,并通知用户接口模块显示所更新的数据;
上述步骤(2)中,数据进行转换后存储到缓冲模块中的发送队列之后,逻辑转换模块还同时判断所述的操作事件是否结束,若判断结果为否,则重复步骤(1)、(2),若判断结果为是,则结束本次操作事件的采集。
上述方法中,步骤(3)所述发送接收模块将发送队列中的数据发送到中间服务器的步骤中,当终端设备与中间服务器连接后,将开启一个发送线程,负责数据的发送。
上述方法中,步骤(5)所述发送接收模块接收来自所述中间服务器的数据,并将数据存储到缓冲模块的接收队列中的步骤中,当终端设备与中间服务器连接后,将开启一个接收线程,负责数据的接收。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.一种用于传输用户操作事件的方法,其特征在于:实现本方法的系统包括至少2个终端设备、一个中间服务器,所述的终端设备分别与中间服务器网络连接;
所述的终端设备包括依次连接的用户接口模块、采集更新处理模块、逻辑转换模块、缓冲模块、发送接收模块;
本用于传输用户操作事件的方法,包括下述步骤:
(1)采集更新处理模块通过用户接口模块采集用户的操作事件,并将所述的操作事件转化为终端设备可识别的数据,然后将所述的数据发送给逻辑转换模块;
(2)逻辑转换模块将收到的数据按预设的数据结构进行转换,然后存储到缓冲模块中的发送队列中;
(3)发送接收模块按照预设的机制查询发送队列,如果发送队列不为空,则将发送队列中的数据发送到中间服务器;
(4)中间服务器接收到终端设备发送过来的数据后,按照所述终端设备发送过来的数据到达的先后顺序进行排序并存储,然后再转发到每个终端;
(5)发送接收模块接收来自所述中间服务器的数据,并将数据存储到缓冲模块的接收队列中,然后发送给逻辑转换模块;
(6)逻辑转换模块将接收的数据转换成采集更新处理模块可识别的数据,然后发送给采集更新处理模块;
(7)由采集更新处理模块将数据发送给用户接口模块,并通知用户接口模块显示所更新的数据;
上述步骤(2)中,数据进行转换后存储到缓冲模块中的发送队列之后,逻辑转换模块还同时判断所述的操作事件是否结束,若判断结果为否,则重复步骤(1)、(2),若判断结果为是,则结束本次操作事件的采集;
步骤(1)所述的采集用户的操作事件的具体方法为:对于用户的操作事件,采集器每隔4至7个像素采集一次;
步骤(2)所述的预设的数据结构具体包括:终端号、操作类型、图元对象类型、图元对象、结束符;
所述终端号为由中间服务器统一分配的终端设备标识符;
所述操作类型包括:new、copy、cut、paste、undo、delete中的任意一种;
所述图元对象类型包括:curve、line、rectangle、circle、ellipse、text、picture中的任意一种;
所述图元对象包括白板ID、页面ID、图元对象ID、属性,白板ID表示白板标识符,用于表示图元对象位于哪个白板上;页面ID表示页面标识符,用于表示图元对象位于白板的哪个页面上;图元对象ID表示图元对象标识符,用于表示图元对象本身;属性表示图元对象的属性,包括元素的坐标位、透明度、线条颜色、填充颜色、空心或实心;
所述结束符用于对同一操作事件的数据标识相同的结束符;
步骤(3)中所述的预设的机制为定时检测机制。
2.根据权利要求1所述的一种用于传输用户操作事件的方法,其特征在于:所述的终端设备为电子白板。
3.根据权利要求1或2所述的一种用于传输用户操作事件的方法,其特征在于:所述的终端设备还包括用于保存采集更新处理模块所采集或接收的数据的存储模块,所述存储模块与所述的采集更新处理模块连接。
4.根据权利要求1或2所述的一种用于传输用户操作事件的方法,其特征在于:所述采集更新处理模块包括采集模块和更新处理模块,采集模块和更新处理模块分别设置或集中设置;所述缓冲模块包括发送队列、接收队列;所述发送接收模块包括接收模块和发送模块,接收模块和发送模块分别设置或集中设置。
5.根据权利要求1所述用于传输用户操作事件的方法,其特征在于:逻辑转换模块根据结束符对所述的发送队列或接收队列中的数据进行组合。
6.根据权利要求1所述用于传输用户操作事件的方法,其特征在于:步骤(3)所述将发送队列中的数据发送到中间服务器的步骤中,当终端设备与中间服务器连接后,将开启一个发送线程,负责数据的发送;步骤(5)所述发送接收模块接收来自所述中间服务器的数据,并将数据存储到缓冲模块的接收队列中的步骤中,当终端设备与中间服务器连接后,将开启一个接收线程,负责数据的接收。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101982632A CN101373442B (zh) | 2008-09-02 | 2008-09-02 | 一种用于传输用户操作事件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101982632A CN101373442B (zh) | 2008-09-02 | 2008-09-02 | 一种用于传输用户操作事件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101373442A CN101373442A (zh) | 2009-02-25 |
CN101373442B true CN101373442B (zh) | 2011-11-09 |
Family
ID=40447617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101982632A Expired - Fee Related CN101373442B (zh) | 2008-09-02 | 2008-09-02 | 一种用于传输用户操作事件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101373442B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289340A (zh) * | 2010-06-21 | 2011-12-21 | 中国电信股份有限公司 | 数据稽核平台及方法 |
CN102035835A (zh) * | 2010-12-13 | 2011-04-27 | 山东科技大学 | 一种基于协同工作的交互式电子白板系统 |
CN102156445B (zh) * | 2011-03-01 | 2012-09-26 | 上海维宏电子科技股份有限公司 | 数控系统中实现端口逻辑诊断的方法 |
CN102646235A (zh) * | 2012-04-01 | 2012-08-22 | 杭州格畅科技有限公司 | 在线协同绘画的方法、客户端及服务器 |
CN102982015A (zh) * | 2012-11-06 | 2013-03-20 | 陆昀 | 利用电子白板制作电子课件的方法及相应的展现方法 |
CN107247570A (zh) * | 2017-06-08 | 2017-10-13 | 青岛七十六信息科技有限公司 | 一种在线同图协同操作方法、装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1443006A (zh) * | 2003-01-16 | 2003-09-17 | 浙江南望图像信息产业有限公司 | 一种智能控制视频会议的混音系统及控制会议进程的方法 |
US20050033729A1 (en) * | 1999-10-25 | 2005-02-10 | Microsoft Corporation | System and method for unified registration information collection |
CN1822596A (zh) * | 2006-03-23 | 2006-08-23 | 杭州华为三康技术有限公司 | 一种客户/服务器架构中的数据处理方法 |
CN101022540A (zh) * | 2006-02-13 | 2007-08-22 | 中兴通讯股份有限公司 | 一种服务器/客户端架构下的视频监控系统及方法 |
US20070233812A1 (en) * | 2006-03-31 | 2007-10-04 | Microsoft Corporation | Common communication framework for network objects |
-
2008
- 2008-09-02 CN CN2008101982632A patent/CN101373442B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050033729A1 (en) * | 1999-10-25 | 2005-02-10 | Microsoft Corporation | System and method for unified registration information collection |
CN1443006A (zh) * | 2003-01-16 | 2003-09-17 | 浙江南望图像信息产业有限公司 | 一种智能控制视频会议的混音系统及控制会议进程的方法 |
CN101022540A (zh) * | 2006-02-13 | 2007-08-22 | 中兴通讯股份有限公司 | 一种服务器/客户端架构下的视频监控系统及方法 |
CN1822596A (zh) * | 2006-03-23 | 2006-08-23 | 杭州华为三康技术有限公司 | 一种客户/服务器架构中的数据处理方法 |
US20070233812A1 (en) * | 2006-03-31 | 2007-10-04 | Microsoft Corporation | Common communication framework for network objects |
Also Published As
Publication number | Publication date |
---|---|
CN101373442A (zh) | 2009-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101373442B (zh) | 一种用于传输用户操作事件的方法 | |
CN101408877B (zh) | 树节点加载系统及其方法 | |
CN100531055C (zh) | 数据同步系统及其方法 | |
CN103338252B (zh) | 一种分布式数据库并发存储虚拟请求机制的实现方法 | |
CN104158699B (zh) | 一种基于优先级和分段的数据采集方法 | |
CN110109996A (zh) | 一种工业互联网设备实时数据采集与存储方法及系统 | |
CN102646235A (zh) | 在线协同绘画的方法、客户端及服务器 | |
CN105930121B (zh) | 多客户端的笔迹同步方法和系统 | |
CN101807207A (zh) | 一种基于内容差异比较的文档共享方法 | |
CN102469064A (zh) | 通信实现方法及通信设备 | |
CN101060537A (zh) | 一种通信网络仿真工具的实时视景显示平台及其实现方法 | |
CN103902244B (zh) | 显示画面的方法及系统 | |
CN100450105C (zh) | 一种基于java消息服务的同步消息接口实现方法 | |
CN102902669A (zh) | 基于互联网系统的分布式信息抓取方法 | |
CN110134534A (zh) | 基于nio针对大数据分布式系统进行消息处理优化的系统及方法 | |
CN101702121A (zh) | Windows系统中程序网络流速控制装置 | |
CN101834765B (zh) | 一种远程文件传输的系统及方法 | |
CN101262645A (zh) | 基于无线pda的移动生产监控系统 | |
CN102833180A (zh) | 一种分享微博消息的方法和系统 | |
CN102281181A (zh) | 扩展端口桥设备中实现多播转发的方法、装置及系统 | |
CN110351780A (zh) | 一种基于编码缓存的通信方法、系统及存储介质 | |
CN105407044B (zh) | 一种基于nfs的云存储网关系统的实现方法 | |
CN107908454A (zh) | 一种基于多页签的多窗口分组的联动方法及装置 | |
CN101089852A (zh) | 一种支持多语种操作系统的方法 | |
CN107169100A (zh) | 一种电动汽车远程监控通信服务系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 510670 Guangdong Province, Guangzhou high tech Industrial Development Zone Kezhu Road No. 233 Patentee after: Wei Chong group Limited by Share Ltd Address before: 510663 Guangzhou province high tech Industrial Development Zone, Guangdong, Cai road, No. 6, No. Patentee before: Guangdong Weichuangshixun Science and Technology Co., Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111109 Termination date: 20170902 |
|
CF01 | Termination of patent right due to non-payment of annual fee |