CN114035705B - 一种基于Socket消息的智慧屏数据处理方法 - Google Patents
一种基于Socket消息的智慧屏数据处理方法 Download PDFInfo
- Publication number
- CN114035705B CN114035705B CN202111307962.8A CN202111307962A CN114035705B CN 114035705 B CN114035705 B CN 114035705B CN 202111307962 A CN202111307962 A CN 202111307962A CN 114035705 B CN114035705 B CN 114035705B
- Authority
- CN
- China
- Prior art keywords
- electronic pen
- instruction
- data
- module
- client
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 67
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000012544 monitoring process Methods 0.000 claims description 61
- 230000004044 response Effects 0.000 claims description 47
- 239000000284 extract Substances 0.000 claims description 13
- 238000003491 array Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 14
- 230000000694 effects Effects 0.000 abstract description 4
- 230000007246 mechanism Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/04162—Control or interface arrangements specially adapted for digitisers for exchanging data with external devices, e.g. smart pens, via the digitiser sensing hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
Abstract
本发明实施例涉及一种基于Socket消息的智慧屏数据处理方法,智慧屏包括应用层模块、服务器端模块和客户端模块;所述方法包括:服务器端模块接收来自应用层模块的Socket消息生成第一应用层消息并对第一应用层消息进行应用层控制指令识别;若第一应用层消息被识别为应用层控制指令,则执行对应的应用层指令处理流程;接收来自客户端模块的Socket消息生成第一客户端消息,并对第一客户端消息进行客户端控制指令识别;若第一客户端消息被识别为客户端控制指令,则执行对应的客户端指令处理流程。通过本发明,可以解决笔迹与屏显数据间严重滞后的问题,可以避免笔迹数据丢失的情况,提高数据传输效率、增强实时同步效果。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种基于Socket消息的智慧屏数据处理方法。
背景技术
智慧屏是一种带有操作系统和存储空间的电子屏幕。当把智慧屏用于网络教学时,常规的会由智慧屏、电子笔和远程服务器构成设备互联网络,并通过远程服务器处理智慧屏与电子笔之间的数据交互流程。但在实际应用中我们会发现,由远程服务器参与的数据交互过程,受网络条件的影响,常常会出现电子笔的笔迹数据与智慧屏的屏显数据间存在严重滞后的情况,极端情况下甚至会出现笔迹数据丢失无法屏显的情况。
发明内容
本发明的目的,就是针对现有技术的缺陷,提供一种基于Socket消息的智慧屏数据处理方法、电子设备及计算机可读存储介质,首先在智慧屏侧加载应用层模块、服务器端模块和客户端模块,使服务器端模块分别与应用层模块和客户端模块连接,客户端模块与电子笔连接;然后,基于Socket消息建立应用层模块、服务器端模块、客户端模块和电子笔之间的数据传送和处理机制。如此一来,将传统由远程服务器参与的智慧屏-电子笔数据交互的处理过程完全由本地智慧屏来主导完成,既可以解决因网络原因造成的笔迹数据与屏显数据间严重滞后的问题,也可以避免出现笔迹数据丢失的情况;另外直接采用Socket消息机制进行数据传输,还可以解决因使用上层网络协议导致的冗余数据过多、有效数据传输效率不高的问题,起到提高数据传输效率、增强笔迹、屏显数据实时同步效果的作用。
为实现上述目的,本发明实施例第一方面提供了一种基于Socket消息的智慧屏数据处理方法,智慧屏包括应用层模块、服务器端模块和客户端模块,所述服务器端模块分别与所述应用层模块和所述客户端模块连接,所述客户端模块与电子笔连接;所述方法包括:
所述服务器端模块接收来自所述应用层模块的Socket消息生成第一应用层消息,并对所述第一应用层消息进行应用层控制指令识别;若所述第一应用层消息被识别为应用层控制指令,则执行对应的应用层指令处理流程;所述应用层控制指令包括服务启动指令、应用层心跳指令、签到指令、练习指令、考试指令和笔迹查询指令;
接收来自所述客户端模块的Socket消息生成第一客户端消息,并对所述第一客户端消息进行客户端控制指令识别;若所述第一客户端消息被识别为客户端控制指令,则执行对应的客户端指令处理流程;所述客户端控制指令包括客户端心跳指令、电子笔连接指令和电子笔断开指令。
优选的,所述若所述第一应用层消息被识别为应用层控制指令,则执行对应的应用层指令处理流程,具体包括:
所述服务器端模块在当所述第一应用层消息为所述服务启动指令时,对本地的服务器端主控程序进行复位,并向所述客户端模块发送携带了客户端复位指令的Socket消息;
当所述第一应用层消息为所述应用层心跳指令时,记录当前系统时间作为第一心跳时间数据并保存;并在规定的第一响应时间间隔内将携带了预设的应用层心跳响应数据的Socket消息向所述应用层模块回发;
当所述第一应用层消息为所述签到指令、所述练习指令或所述考试指令时,从所述签到指令、所述练习指令或所述考试指令中提取开始/结束标记信息生成第一标记数据,提取电子笔标识序列生成第一电子笔标识数据序列,其中,所述第一电子笔标识数据序列包括多个第一电子笔标识数据;
若所述第一标记数据为开始标记,则由所述第一电子笔标识数据序列生成启动笔迹监听指令,并向所述客户端模块发送携带了所述启动笔迹监听指令的Socket消息,并对所述客户端模块返回的Socket消息进行持续监听,并在持续监听时从每次返回的Socket消息中获得与各个所述第一电子笔标识数据对应的第一电子笔实时数据并其存入对应的第一电子笔消息队列中,并按先进先出原则从各个所述第一电子笔消息队列中逐个或逐批提取出所述第一电子笔实时数据封装成对应的第一电子笔批次数据,并由各个所述第一电子笔标识数据和对应的所述第一电子笔批次数据组成对应的第一电子笔迹数组,并将所有所述第一电子笔迹数组封装在Socket消息中向所述应用层模块回发;
若所述第一标记数据为结束标记,则由所述第一电子笔标识数据序列生成结束笔迹监听指令,并向所述客户端模块发送携带了所述结束笔迹监听指令的Socket消息,并停止对所述客户端模块的持续监听;
当所述第一应用层消息为所述笔迹查询指令时,由所述笔迹查询指令中提取出第二电子笔标识数据和第一笔迹查询参数组生成历史笔迹查询指令;并将携带了所述历史笔迹查询指令的Socket消息向所述客户端模块发送;并从所述客户端模块返回的Socket消息中提取出查询结果数据组装生成历史笔迹查询响应数据;并将携带了所述历史笔迹查询响应数据的Socket消息向所述应用层模块回发。
进一步的,所述方法还包括:
所述服务器端模块在未处理任何应用层控制指令时,定期计算当前系统时间与最近的所述第一心跳时间数据的时间间隔生成第一间隔数据;若所述第一间隔数据超出预设的应用层心跳间期阈值,则主动断开与所述应用层模块的连接;
所述应用层模块在执行非应用层心跳指令的其他应用层控制指令的处理流程时,停止向所述服务器端模块发送所述应用层心跳指令;在未执行任何所述其他应用层控制指令的处理流程时,定期向所述服务器端模块发送所述应用层心跳指令,并在接收到所述服务器端模块回发的所述应用层心跳响应数据时记录当前系统时间作为第二心跳时间数据并保存;
所述应用层模块在未执行任何应用层控制指令的处理流程时,定期计算当前系统时间与最近的所述第二心跳时间数据的时间间隔生成第二间隔数据;若所述第二间隔数据超出预设的第一服务器端心跳间期阈值,则主动断开与所述服务器端模块的连接,并重新向所述服务器端模块发送携带了所述服务启动指令的Socket消息。
进一步的,所述方法还包括:
所述应用层模块在执行所述签到指令、所述练习指令或所述考试指令时,若当前执行的所述签到指令、所述练习指令或所述考试指令的所述开始/结束标记信息为开始标记,则从所述服务器端模块回发的Socket消息中提取出所有所述第一电子笔迹数组,其中,所述第一电子笔迹数组包括所述第一电子笔标识数据和所述第一电子笔批次数据;并向本地与各个所述第一电子笔标识数据对应的第二电子笔消息队列中,添加对应的所述第一电子笔批次数据;并按先进先出原则,从各个所述第二电子笔消息队列中逐个或逐批提取出所述第一电子笔批次数据进行笔迹显示信息转换处理,生成对应的第一电子笔显示数据并显示;
所述应用层模块在执行所述笔迹查询指令时,从所述服务器端模块回发的Socket消息中提取出所述历史笔迹查询响应数据,并对所述历史笔迹查询响应数据进行笔迹显示信息转换处理,生成对应的第二电子笔显示数据并显示。
进一步的,所述方法还包括:
所述客户端模块在接收到从所述服务器端模块发送的所述客户端复位指令时,对本地的客户端主控程序进行复位;
所述客户端模块在接收到从所述服务器端模块发送的所述启动笔迹监听指令时,从所述启动笔迹监听指令中提取出所述第一电子笔标识数据序列;并通过与各个所述第一电子笔标识数据对应的电子笔监听通道对对应的所述电子笔进行持续监听;并在持续监听中将每次返回的实时笔迹信息作为所述第一电子笔实时数据,将每次返回实时笔迹信息的时间作为第一电子笔时间数据,并将所述第一电子笔时间数据和所述第一电子笔实时数据组成第一电子笔历史数据组存于本地,并将携带了所述第一电子笔实时数据的Socket消息向所述服务器端模块回发;
所述客户端模块在接收到从所述服务器端模块发送的所述结束笔迹监听指令时,从所述结束笔迹监听指令中提取出所述第一电子笔标识数据序列;并根据所述第一电子笔标识数据序列,停止对各个所述第一电子笔标识数据对应的所述电子笔的持续监听;
所述客户端模块在接收到从所述服务器端模块发送的所述历史笔迹查询指令时,从所述历史笔迹查询指令中提取出所述第二电子笔标识数据和所述第一笔迹查询参数组,其中,所述第一笔迹查询参数组包括第一起始时间数据和第一结束时间数据;由所述第一起始时间数据和所述第一结束时间数据组成查询时间范围,将本地存储介质中所述第一电子笔时间数据满足所述查询时间范围的所述第一电子笔历史数据组记为匹配数据组,按时间先后提取所有所述匹配数据组的所述第一电子笔实时数据构成所述查询结果数据;并将携带了所述查询结果数据的Socket消息向所述服务器端模块回发。
优选的,所述若所述第一客户端消息被识别为客户端控制指令,则执行对应的客户端指令处理流程,具体包括:
所述服务器端模块在当所述第一客户端消息为所述客户端心跳指令时,记录当前系统时间作为第三心跳时间数据并保存;并在规定的第二响应时间间隔内将携带了预设的客户端心跳响应数据的Socket消息向所述客户端模块回发;
当所述第一客户端消息为所述电子笔连接指令时,从所述电子笔连接指令获取电子笔标识信息作为第三电子笔标识数据,并在本地创建与所述第三电子笔标识数据对应的所述第一电子笔消息队列;并由所述第三电子笔标识数据组装生成应用层电子笔连接指令;并将携带了所述应用层电子笔连接指令的Socket消息向所述应用层模块发送;
当所述第一客户端消息为所述电子笔断开指令时,从所述电子笔断开指令获取电子笔标识信息作为第四电子笔标识数据,并将本地与所述第四电子笔标识数据对应的所述第一客户端消息队列删除;并由所述第四电子笔标识数据组装生成应用层电子笔断开指令;并将携带了所述应用层电子笔断开指令的Socket消息向所述应用层模块发送。
进一步的,所述方法还包括:
所述服务器端模块在未处理任何客户端控制指令时,定期计算当前系统时间与最近的所述第三心跳时间数据的时间间隔生成第三间隔数据;若所述第三间隔数据超出预设的客户端心跳间期阈值,则主动断开与所述客户端模块的连接;并重新向所述客户端模块发送携带了客户端复位指令的Socket消息;
所述客户端模块在执行非客户端心跳指令的其他客户端控制指令的处理流程时,停止向所述服务器端模块发送所述客户端心跳指令;在未执行任何所述其他客户端控制指令的处理流程时,定期向所述服务器端模块发送所述客户端心跳指令,并在接收到返回的携带了所述客户端心跳响应数据的Socket消息时,记录当前系统时间作为第四心跳时间数据并保存;
所述客户端模块在未执行任何客户端控制指令的处理流程时,定期计算当前系统时间与最近的所述第四心跳时间数据的时间间隔生成第四间隔数据;若所述第四间隔数据超出预设的第二服务器端心跳间期阈值,则主动断开与所述服务器端模块的连接。
进一步的,所述方法还包括:
所述客户端模块在接收到从所述电子笔发送的电子笔连接申请指令时,根据所述电子笔连接申请指令中的电子笔标识信息封装生成所述电子笔连接指令,并建立与当前电子笔对应的电子笔监听通道;并将携带了所述电子笔连接指令的Socket消息向所述服务器端模块发送;
所述客户端模块在接收到从所述电子笔发送的电子笔断开申请指令时,根据所述电子笔断开申请指令中的电子笔标识信息封装生成所述电子笔断开指令,并关闭与当前电子笔对应的电子笔监听通道;并将携带了所述电子笔断开指令的Socket消息向所述服务器端模块发送;
所述应用层模块在接收到所述服务器端模块发送的所述应用层电子笔连接指令时,从所述电子笔连接指令中提取出所述第三电子笔标识数据;并在本地创建与所述第三电子笔标识数据对应的第二电子笔消息队列;
所述应用层模块在接收到所述服务器端模块发送的所述应用层电子笔断开指令时,从所述应用层电子笔断开指令中提取出所述第四电子笔标识数据;并将本地与所述第四电子笔标识数据对应的所述第二电子笔消息队列删除。
本发明实施例第二方面提供了一种电子设备,包括:存储器、处理器和收发器;
所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以实现上述第一方面所述的方法步骤;
所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。
本发明实施例第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行上述第一方面所述的方法的指令。
本发明实施例提供了一种基于Socket消息的智慧屏数据处理方法、电子设备及计算机可读存储介质,首先在智慧屏侧加载应用层模块、服务器端模块和客户端模块,使服务器端模块分别与应用层模块和客户端模块连接,客户端模块与电子笔连接;然后,基于Socket消息建立应用层模块、服务器端模块、客户端模块和电子笔之间的数据传送和处理机制。如此一来,将传统由远程服务器参与的智慧屏-电子笔数据交互的处理过程完全由本地智慧屏来主导完成,既解决了因网络原因造成的笔迹数据与屏显数据间严重滞后的问题,也避免了笔迹数据丢失的情况;另外直接采用Socket消息机制进行数据传输,还解决了因使用上层网络协议导致的冗余数据过多、有效数据传输效率不高的问题,提高了有效数据传输效率,增强了笔迹数据与屏显数据的实时同步效果。
附图说明
图1为本发明实施例一提供的一种基于Socket消息的智慧屏数据处理方法示意图;
图2为本发明实施例一提供的智慧屏数据处理功能模块示意图;
图3为本发明实施例二提供的一种电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例一提供的一种基于Socket消息的智慧屏数据处理方法示意图,该方法适用的智慧屏上的数据处理功能模块如图2为本发明实施例一提供的智慧屏数据处理功能模块示意图所示包括应用层模块、服务器端模块和客户端模块,其中,服务器端模块分别与应用层模块和客户端模块连接,客户端模块与电子笔连接;该方法则如图1所示主要包括如下步骤:
步骤1,服务器端模块接收来自应用层模块的Socket消息生成第一应用层消息,并对第一应用层消息进行应用层控制指令识别;若第一应用层消息被识别为应用层控制指令,则执行对应的应用层指令处理流程;
其中,应用层控制指令包括服务启动指令、应用层心跳指令、签到指令、练习指令、考试指令和笔迹查询指令;
具体包括:步骤11,服务器端模块接收来自应用层模块的Socket消息生成第一应用层消息,并对第一应用层消息进行应用层控制指令识别;
步骤12,若第一应用层消息被识别为应用层控制指令,则执行对应的应用层指令处理流程;
具体包括:步骤121,当第一应用层消息为服务启动指令时,对本地的服务器端主控程序进行复位,并向客户端模块发送携带了客户端复位指令的Socket消息;
进一步的,客户端模块在接收到从服务器端模块发送的客户端复位指令时,对本地的客户端主控程序进行复位;
这里,若服务器端模块接收到应用层模块发送的服务启动指令,说明智慧屏上层应用需要对所有数据处理功能模块进行复位/启动,因此,服务器端模块在进行自身复位的同时还向客户端模块客户端复位指令以使其也进行同步的复位/启动;
步骤122,当第一应用层消息为应用层心跳指令时,记录当前系统时间作为第一心跳时间数据并保存;并在规定的第一响应时间间隔内将携带了预设的应用层心跳响应数据的Socket消息向应用层模块回发;
这里,本发明实施例为保证应用层模块、服务器端模块和客户端模块在没有任何控制指令交互时彼此间数据通道能随时保持畅通,特定在三者之间基于心跳通信原理定制了一套心跳机制;
该心跳机制要求:
1)应用层模块或客户端模块要定期向服务器端模块发送对应的心跳指令(应用层心跳指令、客户端心跳指令),服务器端模块也应在限定的响应时间内回发对应的心跳响应数据(应用层心跳响应数据、客户端心跳响应数据);
2)应用层模块或客户端模块会对每次心跳响应数据的接收时间进行记录,并定期通过当前时间与上一次心跳响应数据接收时间的时间间隔来判断是否发生数据通道阻塞;若应用层模块侧判断出数据通道阻塞,则会断开与服务器端模块连接的当前数据通道,并通过向服务器端模块重发服务启动指令来对所有模块的间的数据通道进行重建;若客户端模块侧判断出数据通道阻塞,则会断开与服务器端模块连接的当前数据通道,并等待服务器端模块向自身重发客户端复位指令来对服务器端模块与客户端模块间数据通道进行重建;
3)服务器端模块对每次接收应用层模块或客户端模块发送的心跳指令的接收时间进行记录,并定期通过当前时间与上一次心跳指令接收时间的时间间隔来判断是否发生数据通道阻塞;若服务器端模块侧判断出与应用层模块间数据通道阻塞,则会断开与应用层模块连接的当前数据通道,并等待应用层模块向自身重发服务启动指令来对所有模块的间的数据通道进行重建;若服务器端模块侧判断出与客户端模块间数据通道阻塞,则会断开与客户端模块连接的当前数据通道,并向客户端模块重发客户端复位指令来对服务器端模块与客户端模块间数据通道进行重建;
这里,基于上述心跳机制要求,步骤122就是服务器端模块在对每次接收应用层模块发送的应用层心跳指令的接收时间进行记录,并在限定的响应时间内向应用层模块回发对应的应用层心跳响应数据;
进一步的,服务器端模块在未处理任何应用层控制指令时,定期计算当前系统时间与最近的第一心跳时间数据的时间间隔生成第一间隔数据;若第一间隔数据超出预设的应用层心跳间期阈值,则主动断开与应用层模块的连接;
这里,基于上述心跳机制要求,上述服务器端模块在未处理任何应用层控制指令时的处理步骤是在通过当前时间与上一次心跳指令接收时间的时间间隔来判断是否发生数据通道阻塞,当第一间隔数据超出预设的应用层心跳间期阈值时说明服务器端模块与应用层模块间发生数据通道阻塞,需要断开与应用层模块连接的当前数据通道;这时,因为服务器端模块切断了与应用层模块的连接,自然在应用层模块侧也会发现服务器端模块已经超时,自然就会向服务器端模块发送服务启动指令来对所有模块的间的数据通道进行重建;
需要说明的是,应用层模块在执行非应用层心跳指令的其他应用层控制指令的处理流程时,停止向服务器端模块发送应用层心跳指令;在未执行任何其他应用层控制指令的处理流程时,定期向服务器端模块发送应用层心跳指令,并在接收到服务器端模块回发的应用层心跳响应数据时记录当前系统时间作为第二心跳时间数据并保存;
这里,基于上述心跳机制要求,应用层模块若与服务器端模块正在执行非应用层心跳指令的其他应用层控制指令(服务启动指令、签到指令、练习指令、考试指令和笔迹查询指令),彼此间的数据通道显然是畅通的,所以这个处理过程中无需发送应用层心跳指令对通道是否阻塞进行探查,所以此时会停止向服务器端模块发送应用层心跳指令;另外,应用层模块若与服务器端模块之间没有执行任何其他应用层控制指令(服务启动指令、签到指令、练习指令、考试指令和笔迹查询指令)时,彼此间的数据通道是否畅通是未知的,这时就需要通过定期发送应用层心跳指令来对通道是否阻塞进行探查,第二心跳时间数据为应用层模块对每次应用层心跳响应数据接收时间的记录数据;
进一步的,应用层模块在未执行任何应用层控制指令的处理流程时,定期计算当前系统时间与最近的第二心跳时间数据的时间间隔生成第二间隔数据;若第二间隔数据超出预设的第一服务器端心跳间期阈值,则主动断开与服务器端模块的连接,并重新向服务器端模块发送携带了服务启动指令的Socket消息;
这里,基于上述心跳机制要求,上述应用层模块在未执行任何应用层控制指令的处理流程时的处理步骤是在通过当前时间与上一次心跳响应数据接收时间的时间间隔来判断是否发生数据通道阻塞,当第二间隔数据超出预设的第一服务器端心跳间期阈值时说明服务器端模块与应用层模块间发生数据通道阻塞,需要断开与服务器端模块连接的当前数据通道;这时,为了重建数据通道,应用层模块会向服务器端模块发送服务启动指令来对所有模块的间的数据通道进行重建;
步骤123,当第一应用层消息为签到指令、练习指令或考试指令时,从签到指令、练习指令或考试指令中提取开始/结束标记信息生成第一标记数据,提取电子笔标识序列生成第一电子笔标识数据序列,其中,第一电子笔标识数据序列包括多个第一电子笔标识数据;若第一标记数据为开始标记,则由第一电子笔标识数据序列生成启动笔迹监听指令,并向客户端模块发送携带了启动笔迹监听指令的Socket消息,并对客户端模块返回的Socket消息进行持续监听,并在持续监听时从每次返回的Socket消息中获得与各个第一电子笔标识数据对应的第一电子笔实时数据并将其存入对应的第一电子笔消息队列中,并按先进先出原则从各个第一电子笔消息队列中逐个或逐批提取出第一电子笔实时数据封装成对应的第一电子笔批次数据,并由各个第一电子笔标识数据和对应的第一电子笔批次数据组成对应的第一电子笔迹数组,并将所有第一电子笔迹数组封装在Socket消息中向应用层模块回发;若第一标记数据为结束标记,则由第一电子笔标识数据序列生成结束笔迹监听指令,并向客户端模块发送携带了结束笔迹监听指令的Socket消息,并停止对客户端模块的持续监听;
需要说明的是,客户端模块在接收到从服务器端模块发送的启动笔迹监听指令时,从启动笔迹监听指令中提取出第一电子笔标识数据序列;并通过与各个第一电子笔标识数据对应的电子笔监听通道对对应的电子笔进行持续监听;并在持续监听中将每次返回的实时笔迹信息作为第一电子笔实时数据,将每次返回实时笔迹信息的时间作为第一电子笔时间数据,并将第一电子笔时间数据和第一电子笔实时数据组成第一电子笔历史数据组存于本地,并将携带了第一电子笔实时数据的Socket消息向服务器端模块回发;
需要说明的是,客户端模块在接收到从服务器端模块发送的结束笔迹监听指令时,从结束笔迹监听指令中提取出第一电子笔标识数据序列;并根据第一电子笔标识数据序列,停止对各个第一电子笔标识数据对应的电子笔的持续监听;
需要说明的是,应用层模块在执行签到指令、练习指令或考试指令时,若当前执行的签到指令、练习指令或考试指令的开始/结束标记信息为开始标记,则从服务器端模块回发的Socket消息中提取出所有第一电子笔迹数组,其中,第一电子笔迹数组包括第一电子笔标识数据和第一电子笔批次数据;并向本地与各个第一电子笔标识数据对应的第二电子笔消息队列中,添加对应的第一电子笔批次数据;并按先进先出原则,从各个第二电子笔消息队列中逐个或逐批提取出第一电子笔批次数据进行笔迹显示信息转换处理,生成对应的第一电子笔显示数据并显示;
这里,若服务器端模块接收到应用层模块发送的签到指令、练习指令或考试指令,可以从签到指令、练习指令或考试指令的开始/结束标记信息中获知当次命令是要开始还是结束对应的签到、练习或考试操作;开始/结束标记信息为开始标记意味着当次命令是要开始对应的签到、练习或考试操作,开始/结束标记信息为结束标记意味着当次命令是要结束当前的签到、练习或考试操作;
在当次命令是要开始对应的签到、练习或考试操作时,服务器端模块会向与多个电子笔连接的客户端模块发送启动笔迹监听指令,客户端模块在接收到启动笔迹监听指令后,会对指令中第一电子笔标识数据序列对应的各个电子笔实时发生的书写笔迹进行持续监听,并将监听结果作为第一电子笔实时数据向服务器端模块持续发送;而服务器端模块采用收发同步的处理方式将接收到的第一电子笔实时数据持续向应用层模块回发以提高数据传输效率,具体的,服务器端模块一方面将接收到的第一电子笔实时数据存入对应的第一电子笔消息队列中,另一方面按先进先出原则持续的从第一电子笔消息队列中提取单个或批量第一电子笔实时数据组成第一电子笔批次数据,并持续将第一电子笔标识数据+第一电子笔批次数据构成的第一电子笔迹数组向应用层模块回发;应用层模块在接收第一电子笔迹数组时也采用类似收发同步的处理方式对接收到的第一电子笔迹数组持续进行笔迹显示信息转换处理生成对应的第一电子笔显示数据并显示,具体的,应用层模块一方面将接收到的第一电子笔迹数组中的第一电子笔批次数据存入与第一电子笔标识数据对应的第二电子笔消息队列中,另一方面按先进先出原则持续的从第二电子笔消息队列中提取单个或批量第一电子笔标识数据组成第一电子笔批次数据进行笔迹显示信息转换处理从而得到可用于显示的第一电子笔显示数据;
在当次命令是要结束当前的签到、练习或考试操作时,服务器端模块会向与多个电子笔连接的客户端模块发送结束笔迹监听指令,并停止对客户端模块的持续监听;而客户端模块在接收到结束笔迹监听指令后,也会对指令中第一电子笔标识数据序列对应的各个电子笔停止持续监听;
步骤124,当第一应用层消息为笔迹查询指令时,由笔迹查询指令中提取出第二电子笔标识数据和第一笔迹查询参数组生成历史笔迹查询指令;并将携带了历史笔迹查询指令的Socket消息向客户端模块发送;并从客户端模块返回的Socket消息中提取出查询结果数据组装生成历史笔迹查询响应数据;并将携带了历史笔迹查询响应数据的Socket消息向应用层模块回发;
其中,第一笔迹查询参数组包括第一起始时间数据和第一结束时间数据。
需要说明的是,客户端模块在接收到从服务器端模块发送的历史笔迹查询指令时,从历史笔迹查询指令中提取出第二电子笔标识数据和第一笔迹查询参数组;由第一起始时间数据和第一结束时间数据组成查询时间范围,将本地存储介质中第一电子笔时间数据满足查询时间范围的第一电子笔历史数据组记为匹配数据组,按时间先后提取所有匹配数据组的第一电子笔实时数据构成查询结果数据;并将携带了查询结果数据的Socket消息向服务器端模块回发。
需要说明的是,应用层模块在执行笔迹查询指令时,从服务器端模块回发的Socket消息中提取出历史笔迹查询响应数据,并对历史笔迹查询响应数据进行笔迹显示信息转换处理,生成对应的第二电子笔显示数据并显示。
这里,若服务器端模块接收到应用层模块发送的笔迹查询指令,说明要对指定电子笔的历史笔记数据进行获取,由前述步骤123中客户端模块在接收到从服务器端模块发送的启动笔迹监听指令时的技术实现可知,客户端模块在本地会对各个电子笔的历史数据按时间进行存储,存储格式为第一电子笔历史数据组(第一电子笔时间数据,第一电子笔实时数据);当服务器端模块接收到笔迹查询指令后,会将由第二电子笔标识数据和第一笔迹查询参数组构成的历史笔迹查询指令向客户端模块发送;客户端模块在接收到历史笔迹查询指令之后,从与第二电子笔标识数据对应的所有第一电子笔历史数据组中,选择时间参数也就是第一电子笔时间数据满足查询时间范围[第一起始时间数据,第一结束时间数据]的一个或多个第一电子笔历史数据组记为匹配数据组,并按时间先后依次提取各个匹配数据组的第一电子笔实时数据就可以拼接出查询时间范围内当前电子笔的书写轨迹数据也就是查询结果数据;客户端模块将查询结果数据发回服务器端模块,服务器端模块则将查询结果数据作为历史笔迹查询响应数据向应用层模块发回;应用层模块在得到历史笔迹查询响应数据之后,对其进行笔迹显示信息转换处理从而得到可用于显示的第二电子笔显示数据。
步骤2,接收来自客户端模块的Socket消息生成第一客户端消息,并对第一客户端消息进行客户端控制指令识别;若第一客户端消息被识别为客户端控制指令,则执行对应的客户端指令处理流程;
其中,客户端控制指令包括客户端心跳指令、电子笔连接指令和电子笔断开指令;
具体包括:步骤21,接收来自客户端模块的Socket消息生成第一客户端消息,并对第一客户端消息进行客户端控制指令识别;
步骤22,若第一客户端消息被识别为客户端控制指令,则执行对应的客户端指令处理流程;
具体包括:步骤221,服务器端模块在当第一客户端消息为客户端心跳指令时,记录当前系统时间作为第三心跳时间数据并保存;并在规定的第二响应时间间隔内将携带了预设的客户端心跳响应数据的Socket消息向客户端模块回发;
这里,基于上述步骤122中阐述的心跳机制要求,步骤221就是服务器端模块在对每次接收客户端模块发送的客户端心跳指令的接收时间进行记录,并在限定的响应时间内向客户端模块回发对应的客户端心跳响应数据;
需要说明的是,服务器端模块在未处理任何客户端控制指令时,定期计算当前系统时间与最近的第三心跳时间数据的时间间隔生成第三间隔数据;若第三间隔数据超出预设的客户端心跳间期阈值,则主动断开与客户端模块的连接;并重新向客户端模块发送携带了客户端复位指令的Socket消息;
这里,基于上述步骤122中阐述的心跳机制要求,上述服务器端模块在未处理任何客户端控制指令时的处理步骤是在通过当前时间与上一次心跳指令数据接收时间的时间间隔来判断是否发生数据通道阻塞,当第三间隔数据超出预设的客户端心跳间期阈值时说明服务器端模块与客户端模块间发生数据通道阻塞,需要断开与客户端模块连接的当前数据通道;这时,为了重建数据通道,服务器端模块会向客户端模块发送客户端复位指令来对服务器端与客户端模块间的数据通道进行重建;
需要说明的是,客户端模块在执行非客户端心跳指令的其他客户端控制指令的处理流程时,停止向服务器端模块发送客户端心跳指令;在未执行任何其他客户端控制指令的处理流程时,定期向服务器端模块发送客户端心跳指令,并在接收到返回的携带了客户端心跳响应数据的Socket消息时,记录当前系统时间作为第四心跳时间数据并保存;
这里,基于上述步骤122中阐述的心跳机制要求,客户端模块若与服务器端模块正在执行非客户端心跳指令的其他客户端控制指令(电子笔连接指令和电子笔断开指令),彼此间的数据通道显然是畅通的,所以这个处理过程中无需发送客户端心跳指令对通道是否阻塞进行探查,所以此时会停止向服务器端模块发送客户端心跳指令;另外,客户端模块若与服务器端模块之间没有执行任何其他客户端控制指令(电子笔连接指令和电子笔断开指令)时,彼此间的数据通道是否畅通是未知的,这时就需要通过定期发送客户端心跳指令来对通道是否阻塞进行探查,第四心跳时间数据为客户端模块对每次客户端心跳响应数据接收时间的记录数据;
需要说明的是,客户端模块在未执行任何客户端控制指令的处理流程时,定期计算当前系统时间与最近的第四心跳时间数据的时间间隔生成第四间隔数据;若第四间隔数据超出预设的第二服务器端心跳间期阈值,则主动断开与服务器端模块的连接;
这里,基于上述步骤122中阐述的心跳机制要求,上述客户端模块在未执行任何客户端控制指令的处理流程时的处理步骤是在通过当前时间与上一次心跳响应数据接收时间的时间间隔来判断是否发生数据通道阻塞,当第四间隔数据超出预设的第二服务器端心跳间期阈值时说明服务器端模块与客户端模块间发生数据通道阻塞,需要断开与服务器端模块连接的当前数据通道;这时,因为客户端模块切断了与服务器端模块的连接,自然在服务器端模块侧也会发现客户端模块已经超时,自然就会向客户端模块发送客户端复位指令来对对服务器端与客户端模块间的数据通道进行重建;
步骤222,当第一客户端消息为电子笔连接指令时,从电子笔连接指令获取电子笔标识信息作为第三电子笔标识数据,并在本地创建与第三电子笔标识数据对应的第一电子笔消息队列;并由第三电子笔标识数据组装生成应用层电子笔连接指令;并将携带了应用层电子笔连接指令的Socket消息向应用层模块发送;
需要说明的是,客户端模块在接收到从电子笔发送的电子笔连接申请指令时,根据电子笔连接申请指令中的电子笔标识信息封装生成电子笔连接指令,并建立与当前电子笔对应的电子笔监听通道;并将携带了电子笔连接指令的Socket消息向服务器端模块发送;
需要说明的是,应用层模块在接收到服务器端模块发送的应用层电子笔连接指令时,从电子笔连接指令中提取出第三电子笔标识数据;并在本地创建与第三电子笔标识数据对应的第二电子笔消息队列;
这里,若服务器端模块从客户端模块接收到的客户端控制指令是电子笔连接指令,意味着之前有电子笔向客户端模块发送了电子笔连接申请指令,客户端模块在为当前电子笔创建本地电子笔监听通道的同时,将当前申请连接的电子笔的电子笔标识信息封装成电子笔连接指令发送至服务器端模块;服务器端模块随后将电子笔标识信息作为第三电子笔标识数据;并在本地创建对应的第一电子笔消息队列,该第一电子笔消息队列用于在处理签到指令、练习指令或考试指令时,于服务器端模块侧为持续接收的笔迹数据做收发同步的消息队列;并同时将第三电子笔标识数据构成应用层电子笔连接指令向应用层模块发送;应用层模块从接收到的应用层电子笔连接指令中提取出第三电子笔标识数据,并在本地创建对应的第二电子笔消息队列,该第二电子笔消息队列用于在处理签到指令、练习指令或考试指令时,于应用层模块侧为持续接收的笔迹数据做收发同步的消息队列;
步骤223,当第一客户端消息为电子笔断开指令时,从电子笔断开指令获取电子笔标识信息作为第四电子笔标识数据,并将本地与第四电子笔标识数据对应的第一客户端消息队列删除;并由第四电子笔标识数据组装生成应用层电子笔断开指令;并将携带了应用层电子笔断开指令的Socket消息向应用层模块发送。
需要说明的是,客户端模块在接收到从电子笔发送的电子笔断开申请指令时,根据电子笔断开申请指令中的电子笔标识信息封装生成电子笔断开指令,并关闭与当前电子笔对应的电子笔监听通道;并将携带了电子笔断开指令的Socket消息向服务器端模块发送;
需要说明的是,应用层模块在接收到服务器端模块发送的应用层电子笔断开指令时,从应用层电子笔断开指令中提取出第四电子笔标识数据;并将本地与第四电子笔标识数据对应的第二电子笔消息队列删除。
这里,若服务器端模块从客户端模块接收到的客户端控制指令是电子笔断开指令,意味着之前有电子笔向客户端模块发送了电子笔断开申请指令,客户端模块在关闭之前为当前电子笔创建的本地电子笔监听通道的同时,将当前申请连接的电子笔的电子笔标识信息封装成电子笔断开指令发送至服务器端模块;服务器端模块随后将电子笔标识信息作为第四电子笔标识数据;并在本地将之前为第四电子笔标识数据对应的电子笔创建的第一电子笔消息队列删除;并同时将第四电子笔标识数据构成应用层电子笔断开指令向应用层模块发送;应用层模块从接收到的应用层电子笔断开指令中提取出第四电子笔标识数据,并在本地将之前为第四电子笔标识数据对应的电子笔创建的第二电子笔消息队列删除。
图3为本发明实施例二提供的一种电子设备的结构示意图。该电子设备可以为前述的终端设备或者服务器,也可以为与前述终端设备或者服务器连接的实现本发明实施例方法的终端设备或服务器。如图3所示,该电子设备可以包括:处理器301(例如CPU)、存储器302、收发器303;收发器303耦合至处理器301,处理器301控制收发器303的收发动作。存储器302中可以存储各种指令,以用于完成各种处理功能以及实现前述方法实施例描述的处理步骤。优选的,本发明实施例涉及的电子设备还包括:电源304、系统总线305以及通信端口306。系统总线305用于实现元件之间的通信连接。上述通信端口306用于电子设备与其他外设之间进行连接通信。
在图3中提到的系统总线305可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(Non-Volatile Memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、图形处理器(Graphics Processing Unit,GPU)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中提供的方法和处理过程。
本发明实施例还提供一种运行指令的芯片,该芯片用于执行前述方法实施例描述的处理步骤。
本发明实施例提供了一种基于Socket消息的智慧屏数据处理方法、电子设备及计算机可读存储介质,首先在智慧屏侧加载应用层模块、服务器端模块和客户端模块,使服务器端模块分别与应用层模块和客户端模块连接,客户端模块与电子笔连接;然后,基于Socket消息建立应用层模块、服务器端模块、客户端模块和电子笔之间的数据传送和处理机制。如此一来,将传统由远程服务器参与的智慧屏-电子笔数据交互的处理过程完全由本地智慧屏来主导完成,既解决了因网络原因造成的笔迹数据与屏显数据间严重滞后的问题,也避免了笔迹数据丢失的情况;另外直接采用Socket消息机制进行数据传输,还解决了因使用上层网络协议导致的冗余数据过多、有效数据传输效率不高的问题,提高了有效数据传输效率,增强了笔迹数据与屏显数据的实时同步效果。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于Socket消息的智慧屏数据处理方法,其特征在于,智慧屏包括应用层模块、服务器端模块和客户端模块,所述服务器端模块分别与所述应用层模块和所述客户端模块连接,所述客户端模块与电子笔连接;所述方法包括:
所述服务器端模块接收来自所述应用层模块的Socket消息生成第一应用层消息,并对所述第一应用层消息进行应用层控制指令识别;若所述第一应用层消息被识别为应用层控制指令,则执行对应的应用层指令处理流程;所述应用层控制指令包括服务启动指令、应用层心跳指令、签到指令、练习指令、考试指令和笔迹查询指令;
所述若所述第一应用层消息被识别为应用层控制指令,则执行对应的应用层指令处理流程,具体包括:
所述服务器端模块在当所述第一应用层消息为所述服务启动指令时,对本地的服务器端主控程序进行复位,并向所述客户端模块发送携带了客户端复位指令的Socket消息;
当所述第一应用层消息为所述应用层心跳指令时,记录当前系统时间作为第一心跳时间数据并保存;并在规定的第一响应时间间隔内将携带了预设的应用层心跳响应数据的Socket消息向所述应用层模块回发;
当所述第一应用层消息为所述签到指令、所述练习指令或所述考试指令时,从所述签到指令、所述练习指令或所述考试指令中提取开始/结束标记信息生成第一标记数据,提取电子笔标识序列生成第一电子笔标识数据序列,其中,所述第一电子笔标识数据序列包括多个第一电子笔标识数据;
若所述第一标记数据为开始标记,则由所述第一电子笔标识数据序列生成启动笔迹监听指令,并向所述客户端模块发送携带了所述启动笔迹监听指令的Socket消息,并对所述客户端模块返回的Socket消息进行持续监听,并在持续监听时从每次返回的Socket消息中获得与各个所述第一电子笔标识数据对应的第一电子笔实时数据并将其存入对应的第一电子笔消息队列中,并按先进先出原则从各个所述第一电子笔消息队列中逐个或逐批提取出所述第一电子笔实时数据封装成对应的第一电子笔批次数据,并由各个所述第一电子笔标识数据和对应的所述第一电子笔批次数据组成对应的第一电子笔迹数组,并将所有所述第一电子笔迹数组封装在Socket消息中向所述应用层模块回发;
若所述第一标记数据为结束标记,则由所述第一电子笔标识数据序列生成结束笔迹监听指令,并向所述客户端模块发送携带了所述结束笔迹监听指令的Socket消息,并停止对所述客户端模块的持续监听;
当所述第一应用层消息为所述笔迹查询指令时,由所述笔迹查询指令中提取出第二电子笔标识数据和第一笔迹查询参数组生成历史笔迹查询指令;并将携带了所述历史笔迹查询指令的Socket消息向所述客户端模块发送;并从所述客户端模块返回的Socket消息中提取出查询结果数据组装生成历史笔迹查询响应数据;并将携带了所述历史笔迹查询响应数据的Socket消息向所述应用层模块回发;
接收来自所述客户端模块的Socket消息生成第一客户端消息,并对所述第一客户端消息进行客户端控制指令识别;若所述第一客户端消息被识别为客户端控制指令,则执行对应的客户端指令处理流程;所述客户端控制指令包括客户端心跳指令、电子笔连接指令和电子笔断开指令;
所述若所述第一客户端消息被识别为客户端控制指令,则执行对应的客户端指令处理流程,具体包括:
所述服务器端模块在当所述第一客户端消息为所述客户端心跳指令时,记录当前系统时间作为第三心跳时间数据并保存;并在规定的第二响应时间间隔内将携带了预设的客户端心跳响应数据的Socket消息向所述客户端模块回发;
当所述第一客户端消息为所述电子笔连接指令时,从所述电子笔连接指令获取电子笔标识信息作为第三电子笔标识数据,并在服务器端模块本地创建与所述第三电子笔标识数据对应的所述第一电子笔消息队列;并由所述第三电子笔标识数据组装生成应用层电子笔连接指令;并将携带了所述应用层电子笔连接指令的Socket消息向所述应用层模块发送;
当所述第一客户端消息为所述电子笔断开指令时,从所述电子笔断开指令获取电子笔标识信息作为第四电子笔标识数据,并将服务器端模块本地与所述第四电子笔标识数据对应的第一客户端消息队列删除;并由所述第四电子笔标识数据组装生成应用层电子笔断开指令;并将携带了所述应用层电子笔断开指令的Socket消息向所述应用层模块发送。
2.根据权利要求1所述的基于Socket消息的智慧屏数据处理方法,其特征在于,所述方法还包括:
所述服务器端模块在未处理任何应用层控制指令时,定期计算当前系统时间与最近的所述第一心跳时间数据的时间间隔生成第一间隔数据;若所述第一间隔数据超出预设的应用层心跳间期阈值,则主动断开与所述应用层模块的连接;
所述应用层模块在执行非应用层心跳指令的其他应用层控制指令的处理流程时,停止向所述服务器端模块发送所述应用层心跳指令;在未执行任何所述其他应用层控制指令的处理流程时,定期向所述服务器端模块发送所述应用层心跳指令,并在接收到所述服务器端模块回发的所述应用层心跳响应数据时记录当前系统时间作为第二心跳时间数据并保存;
所述应用层模块在未执行任何应用层控制指令的处理流程时,定期计算当前系统时间与最近的所述第二心跳时间数据的时间间隔生成第二间隔数据;若所述第二间隔数据超出预设的第一服务器端心跳间期阈值,则主动断开与所述服务器端模块的连接,并重新向所述服务器端模块发送携带了所述服务启动指令的Socket消息。
3.根据权利要求1所述的基于Socket消息的智慧屏数据处理方法,其特征在于,所述方法还包括:
所述应用层模块在执行所述签到指令、所述练习指令或所述考试指令时,若当前执行的所述签到指令、所述练习指令或所述考试指令的所述开始/结束标记信息为开始标记,则从所述服务器端模块回发的Socket消息中提取出所有所述第一电子笔迹数组,其中,所述第一电子笔迹数组包括所述第一电子笔标识数据和所述第一电子笔批次数据;并向应用层模块本地与各个所述第一电子笔标识数据对应的第二电子笔消息队列中,添加对应的所述第一电子笔批次数据;并按先进先出原则,从各个所述第二电子笔消息队列中逐个或逐批提取出所述第一电子笔批次数据进行笔迹显示信息转换处理,生成对应的第一电子笔显示数据并显示;
所述应用层模块在执行所述笔迹查询指令时,从所述服务器端模块回发的Socket消息中提取出所述历史笔迹查询响应数据,并对所述历史笔迹查询响应数据进行笔迹显示信息转换处理,生成对应的第二电子笔显示数据并显示。
4.根据权利要求1所述的基于Socket消息的智慧屏数据处理方法,其特征在于,所述方法还包括:
所述客户端模块在接收到从所述服务器端模块发送的所述客户端复位指令时,对客户端模块本地的客户端主控程序进行复位;
所述客户端模块在接收到从所述服务器端模块发送的所述启动笔迹监听指令时,从所述启动笔迹监听指令中提取出所述第一电子笔标识数据序列;并通过与各个所述第一电子笔标识数据对应的电子笔监听通道对对应的所述电子笔进行持续监听;并在持续监听中将每次返回的实时笔迹信息作为所述第一电子笔实时数据,将每次返回实时笔迹信息的时间作为第一电子笔时间数据,并将所述第一电子笔时间数据和所述第一电子笔实时数据组成第一电子笔历史数据组存于客户端模块本地,并将携带了所述第一电子笔实时数据的Socket消息向所述服务器端模块回发;
所述客户端模块在接收到从所述服务器端模块发送的所述结束笔迹监听指令时,从所述结束笔迹监听指令中提取出所述第一电子笔标识数据序列;并根据所述第一电子笔标识数据序列,停止对各个所述第一电子笔标识数据对应的所述电子笔的持续监听;
所述客户端模块在接收到从所述服务器端模块发送的所述历史笔迹查询指令时,从所述历史笔迹查询指令中提取出所述第二电子笔标识数据和所述第一笔迹查询参数组,其中,所述第一笔迹查询参数组包括第一起始时间数据和第一结束时间数据;由所述第一起始时间数据和所述第一结束时间数据组成查询时间范围,将客户端模块本地存储介质中所述第一电子笔时间数据满足所述查询时间范围的所述第一电子笔历史数据组记为匹配数据组,按时间先后提取所有所述匹配数据组的所述第一电子笔实时数据构成所述查询结果数据;并将携带了所述查询结果数据的Socket消息向所述服务器端模块回发。
5.根据权利要求1所述的基于Socket消息的智慧屏数据处理方法,其特征在于,所述方法还包括:
所述服务器端模块在未处理任何客户端控制指令时,定期计算当前系统时间与最近的所述第三心跳时间数据的时间间隔生成第三间隔数据;若所述第三间隔数据超出预设的客户端心跳间期阈值,则主动断开与所述客户端模块的连接;并重新向所述客户端模块发送携带了客户端复位指令的Socket消息;
所述客户端模块在执行非客户端心跳指令的其他客户端控制指令的处理流程时,停止向所述服务器端模块发送所述客户端心跳指令;在未执行任何所述其他客户端控制指令的处理流程时,定期向所述服务器端模块发送所述客户端心跳指令,并在接收到返回的携带了所述客户端心跳响应数据的Socket消息时,记录当前系统时间作为第四心跳时间数据并保存;
所述客户端模块在未执行任何客户端控制指令的处理流程时,定期计算当前系统时间与最近的所述第四心跳时间数据的时间间隔生成第四间隔数据;若所述第四间隔数据超出预设的第二服务器端心跳间期阈值,则主动断开与所述服务器端模块的连接。
6.根据权利要求1所述的基于Socket消息的智慧屏数据处理方法,其特征在于,所述方法还包括:
所述客户端模块在接收到从所述电子笔发送的电子笔连接申请指令时,根据所述电子笔连接申请指令中的电子笔标识信息封装生成所述电子笔连接指令,并建立与当前电子笔对应的电子笔监听通道;并将携带了所述电子笔连接指令的Socket消息向所述服务器端模块发送;
所述客户端模块在接收到从所述电子笔发送的电子笔断开申请指令时,根据所述电子笔断开申请指令中的电子笔标识信息封装生成所述电子笔断开指令,并关闭与当前电子笔对应的电子笔监听通道;并将携带了所述电子笔断开指令的Socket消息向所述服务器端模块发送;
所述应用层模块在接收到所述服务器端模块发送的所述应用层电子笔连接指令时,从所述电子笔连接指令中提取出所述第三电子笔标识数据;并在应用层模块本地创建与所述第三电子笔标识数据对应的第二电子笔消息队列;
所述应用层模块在接收到所述服务器端模块发送的所述应用层电子笔断开指令时,从所述应用层电子笔断开指令中提取出所述第四电子笔标识数据;并将应用层模块本地与所述第四电子笔标识数据对应的所述第二电子笔消息队列删除。
7.一种电子设备,其特征在于,包括:存储器、处理器和收发器;
所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以实现权利要求1-6任一项所述的方法步骤;
所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行权利要求1-6任一项所述的方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111307962.8A CN114035705B (zh) | 2021-11-05 | 2021-11-05 | 一种基于Socket消息的智慧屏数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111307962.8A CN114035705B (zh) | 2021-11-05 | 2021-11-05 | 一种基于Socket消息的智慧屏数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114035705A CN114035705A (zh) | 2022-02-11 |
CN114035705B true CN114035705B (zh) | 2024-02-13 |
Family
ID=80136525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111307962.8A Active CN114035705B (zh) | 2021-11-05 | 2021-11-05 | 一种基于Socket消息的智慧屏数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114035705B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572709A (zh) * | 2009-06-01 | 2009-11-04 | 杭州华三通信技术有限公司 | 套接字连接的切换方法、系统、服务器和客户端设备 |
KR100930961B1 (ko) * | 2009-08-18 | 2009-12-10 | 주식회사 피플앤텍 | 이동 단말의 필기 처리 방법 및 그 이동 단말 |
CN106406731A (zh) * | 2016-09-06 | 2017-02-15 | 东莞优闪电子科技有限公司 | 原笔迹书写同屏显示方法及系统 |
CN109032390A (zh) * | 2018-08-01 | 2018-12-18 | 广州视源电子科技股份有限公司 | 笔迹数据缓存方法、装置、设备和存储介质 |
CN110912870A (zh) * | 2019-10-18 | 2020-03-24 | 北京字节跳动网络技术有限公司 | 一种电子白板数据的同步方法、装置、介质和电子设备 |
CN111262920A (zh) * | 2020-01-13 | 2020-06-09 | 深圳市鸿合创新信息技术有限责任公司 | 一种数据同步方法及交互式电子白板、服务器 |
CN113434081A (zh) * | 2021-07-26 | 2021-09-24 | 江苏省诚信教学设备有限公司 | 可施行人机交互方便教学信息交流的教学系统及使用方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392282B2 (en) * | 2001-03-14 | 2008-06-24 | International Business Machines Corporation | Method for ensuring client access to messages from a server |
EP1519299A1 (en) * | 2003-09-29 | 2005-03-30 | Alcatel | Method, system, client, server and computer software product for distributed handwriting recognition |
US20180300302A1 (en) * | 2017-04-15 | 2018-10-18 | Microsoft Technology Licensing, Llc | Real-Time Collaboration Live Ink |
-
2021
- 2021-11-05 CN CN202111307962.8A patent/CN114035705B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572709A (zh) * | 2009-06-01 | 2009-11-04 | 杭州华三通信技术有限公司 | 套接字连接的切换方法、系统、服务器和客户端设备 |
KR100930961B1 (ko) * | 2009-08-18 | 2009-12-10 | 주식회사 피플앤텍 | 이동 단말의 필기 처리 방법 및 그 이동 단말 |
CN106406731A (zh) * | 2016-09-06 | 2017-02-15 | 东莞优闪电子科技有限公司 | 原笔迹书写同屏显示方法及系统 |
CN109032390A (zh) * | 2018-08-01 | 2018-12-18 | 广州视源电子科技股份有限公司 | 笔迹数据缓存方法、装置、设备和存储介质 |
CN110912870A (zh) * | 2019-10-18 | 2020-03-24 | 北京字节跳动网络技术有限公司 | 一种电子白板数据的同步方法、装置、介质和电子设备 |
CN111262920A (zh) * | 2020-01-13 | 2020-06-09 | 深圳市鸿合创新信息技术有限责任公司 | 一种数据同步方法及交互式电子白板、服务器 |
CN113434081A (zh) * | 2021-07-26 | 2021-09-24 | 江苏省诚信教学设备有限公司 | 可施行人机交互方便教学信息交流的教学系统及使用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114035705A (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109474688B (zh) | 即时通信网络请求消息的发送方法、装置、设备和介质 | |
CN110049134B (zh) | 客服聊天方法、装置、客服端、服务器及存储介质 | |
WO2015169186A1 (en) | File transmission method and system | |
CN110912805B (zh) | 消息读取状态的同步方法、终端、服务端及系统 | |
CN111405531A (zh) | 一种提高通信质量的方法、介质、终端和装置 | |
CN114035705B (zh) | 一种基于Socket消息的智慧屏数据处理方法 | |
CN108632136A (zh) | 巡河数据处理方法及装置 | |
CN111818010B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN109729061A (zh) | 消息处理方法、装置、设备及可读存储介质 | |
CN106341433A (zh) | 一种服务系统、信号服务器和对讲服务器 | |
CN110417875B (zh) | 一种云服务器之间的对接方法、系统、设备及存储介质 | |
CN112463413A (zh) | 一种车站终端数据交互的方法及系统 | |
CN112838980A (zh) | 一种消息处理方法、系统、装置、电子设备及存储介质 | |
CN112351070A (zh) | 文件传输方法、装置、存储介质及电子设备 | |
CN115514682B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN108289165B (zh) | 一种基于手机控制相机的实现方法、装置及终端设备 | |
CN108924773B (zh) | 消息处理方法及装置 | |
CN114050986B (zh) | 信令跟踪方法、装置、设备及存储介质 | |
CN111404842A (zh) | 数据传输方法、装置及计算机存储介质 | |
CN115348333A (zh) | 基于udp双端通信交互的数据传输方法、系统及设备 | |
CN114338584B (zh) | 消息撤回方法和消息传输系统 | |
CN106598599B (zh) | 一种程序的执行方法和设备 | |
CN210274135U (zh) | 一种远程连接系统 | |
CN115277613A (zh) | 一种基于业务的机器人聊天系统 | |
CN113535436A (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 | ||
CB02 | Change of applicant information |
Address after: Room 1002, floor 10, block B, No. 18, Zhongguancun Street, Haidian District, Beijing 100044 Applicant after: Beijing Biyun shuchuang Technology Co.,Ltd. Address before: Room 1002, floor 10, block B, No. 18, Zhongguancun Street, Haidian District, Beijing 100044 Applicant before: Beijing yundie Zhixue Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |