CN112532334B - 一种时间同步的方法、装置及电子设备 - Google Patents
一种时间同步的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112532334B CN112532334B CN202110187217.8A CN202110187217A CN112532334B CN 112532334 B CN112532334 B CN 112532334B CN 202110187217 A CN202110187217 A CN 202110187217A CN 112532334 B CN112532334 B CN 112532334B
- Authority
- CN
- China
- Prior art keywords
- time
- local
- server
- error
- determining
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明提供了一种时间同步的方法、装置及电子设备,其中,该方法包括:向教室服务器发起同步请求,并确定本地发起时间;接收教室服务器返回的响应消息,并确定本地接收时间,响应消息包括服务器响应时间;根据本地发起时间、本地接收时间和服务器响应时间确定本地客户端与教室服务器之间的时间误差,并根据时间误差确定目标时间;根据目标时间执行相应的操作。通过本发明实施例提供的时间同步的方法、装置及电子设备,在不关注网络延迟具体大小的情况下,可以方便准确地确定本地客户端与教室服务器之间的时间误差,进而使得本地客户端可以确定与教室服务器的服务器时间相匹配的目标时间。不仅计算简单,而且准确度较高。
Description
技术领域
本发明涉及线上教育技术领域,具体而言,涉及一种时间同步的方法、装置、电子设备及计算机可读存储介质。
背景技术
在线上教育的场景中,多个客户端会同时接入服务器,在某些情况下需要所有的客户端时间同步,或者交互操作。例如在考试时,或者老师设置一个倒计时等。但因为存在时区或者网络延迟等问题,直接使用客户端的时间或直接使用服务器的时间,均会导致多个客户端相互之间的时间不一致,例如倒计时的进度不一致,从而产生某些客户端已经计时结束,有的客户端还在计时中的现象。
虽然客户端可以与其他的时间服务器进行时间同步,但由于不同的客户端也存在不同的网络延迟,甚至某些客户端不能接入时间服务器,传统的时间同步方案仍不能有效实现多个客户端之间的时间同步。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种时间同步的方法、装置、电子设备及计算机可读存储介质。
第一方面,本发明实施例提供了一种时间同步的方法,包括:
向教室服务器发起同步请求,并确定发起所述同步请求的本地发起时间,所述教室服务器用于同时连接多个客户端;
接收所述教室服务器返回的用于响应所述同步请求的响应消息,并确定接收到所述响应消息的本地接收时间,所述响应消息包括所述教室服务器响应所述同步请求的服务器响应时间;
根据所述本地发起时间、所述本地接收时间和所述服务器响应时间确定所述本地客户端与所述教室服务器之间的时间误差,并根据所述时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间;以及
根据所述目标时间执行相应的操作;
所述根据所述时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间,包括:
通过在不同时间发起多个所述同步请求,以确定多个时间误差,并根据多个所述时间误差确定所述本地客户端与所述教室服务器之间的目标时间误差;以及
根据所述目标时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间;
其中,所述根据多个所述时间误差确定所述本地客户端与所述教室服务器之间的目标时间误差,包括:
第二方面,本发明实施例还提供了一种时间同步的装置,包括:
同步模块,用于向教室服务器发起同步请求,并确定发起所述同步请求的本地发起时间,所述教室服务器用于同时连接多个客户端;
接收模块,用于接收所述教室服务器返回的用于响应所述同步请求的响应消息,并确定接收到所述响应消息的本地接收时间,所述响应消息包括所述教室服务器响应所述同步请求的服务器响应时间;
处理模块,用于根据所述本地发起时间、所述本地接收时间和所述服务器响应时间确定所述本地客户端与所述教室服务器之间的时间误差,并根据所述时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间;以及
操作模块,用于根据所述目标时间执行相应的操作;
所述处理模块根据所述时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间,包括:
通过在不同时间发起多个所述同步请求,以确定多个时间误差,并根据多个所述时间误差确定所述本地客户端与所述教室服务器之间的目标时间误差;以及
根据所述目标时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间;
其中,所述处理模块根据多个所述时间误差确定所述本地客户端与所述教室服务器之间的目标时间误差,包括:
第三方面,本发明实施例提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现上述任意一项所述的时间同步的方法中的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的时间同步的方法中的步骤。
本发明实施例提供的时间同步的方法、装置、电子设备及计算机可读存储介质,利用发起同步请求以及接收教室服务器的响应消息,可以确定本地发起时间、本地接收时间和服务器响应时间,进而在不关注本地客户端与教室服务器之间网络延迟具体大小的情况下,可以方便准确地确定本地客户端与教室服务器之间的时间误差,进而使得本地客户端可以确定与教室服务器的服务器时间相匹配的目标时间。该时间同步的方式不需要确定上行时延和/或下行时延,不仅计算简单,而且可以避免引入计算上行时延和/或下行时延的误差,准确度较高;接入教室服务器的所有客户端均可实现与服务器时间的同步,使得不同客户端所确定的目标时间基本一致,适用于线上教育的场景。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1示出了本发明实施例所提供的一种时间同步的方法的流程图;
图2示出了本发明实施例所提供的一种时间同步的装置的结构示意图;
图3示出了本发明实施例所提供的一种用于执行时间同步的方法的电子设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
图1示出了本发明实施例所提供的一种时间同步的方法的流程图。该方法由本地客户端执行,如图1所示,该方法包括:
步骤101:向教室服务器发起同步请求,并确定发起同步请求的本地发起时间,教室服务器用于同时连接多个客户端。
本发明实施例中,教室服务器为能够支持同时接入多个客户端(包括本地客户端),使得多个客户端可以接入同一个教室服务器,从而基于该教室服务器能够实现线上教育的功能。例如,教室服务器可以建立一个虚拟的教室,本地客户端可以接入该虚拟教室,其他的一个或多个客户端也可以接入该虚拟教室,使得该本地客户端和其他的客户端位于同一个虚拟教室内,可以模拟真实的授课场景。其中,该本地客户端可以为学生使用的客户端,也可以是老师使用的客户端。
本发明实施例中,本地客户端第一次接入教室服务器,或者本地客户端需要进行时间同步时,例如当前的场景需要进行时间同步,或者本地客户端的时间系统被调整了(如该时间系统被调快了10分钟等),本地客户端向教室服务器发送同步请求。并且,由于本地客户端本身具有自己的时间系统,该时间系统可以确定本地客户端的本地时间;再向教室服务器发送同步请求的同时,也可以确定本地客户端的时间系统对应的时间点,并将该时间点称为本地发起时间。
步骤102:接收教室服务器返回的用于响应同步请求的响应消息,并确定接收到响应消息的本地接收时间,响应消息包括教室服务器响应同步请求的服务器响应时间。
本发明实施例中,教室服务器在接收到本地客户端发起的同步请求之后,响应该同步请求,并向本地客户端发送相应的响应消息;同时,教室服务器本身也具有自己的时间系统,该时间系统一般是比较准确的时间(即使该时间系统不能表示真实的时间,对本实施例的后续处理也不存在影响),教室服务器在生成响应消息的同时,还可以根据教室服务器的时间系统确定当前的时间,该时间即为服务器响应时间,并将该服务器响应时间作为响应消息的一部分下发至本地客户端。本地客户端在接收到响应消息时,与上述确定本地发起时间的过程相似,本地客户端基于本地的时间系统可以确定接收到该响应消息的本地时间,即本地接收时间。
步骤103:根据本地发起时间、本地接收时间和服务器响应时间确定本地客户端与教室服务器之间的时间误差,并根据时间误差和本地客户端的本地时间确定与教室服务器的服务器时间相匹配的目标时间。
本发明实施例中,在确定本地发起时间、本地接收时间和服务器响应时间之后,根据上述三个参数可以确定本地客户端的本地时间与教室服务器的服务器时间之间的差值,即本地客户端与教室服务器之间的时间误差。由于该时间误差可以表示本地客户端的本地时间与教室服务器的服务器时间之间的差值,故根据时间误差和本地客户端的本地时间,可以确定教室服务器的服务器时间,本实施例中将所确定的教室服务器的服务器时间称为目标时间,该目标时间是与教室服务器的服务器时间相匹配的,二者基本一致。
具体地,上述步骤103中“根据本地发起时间、本地接收时间和服务器响应时间确定本地客户端与教室服务器之间的时间误差”具体包括:
本发明实施例中,同步请求通过上行通道发送到教室服务器、或者响应消息通过下行通道发送至本地客户端,该两个发送过程均不是能够立即实现的,其还会受到网络延迟的影响。因此,在本地客户端在本地发起时间向教室服务器发送同步请求之后,需要经过一段时间A,教室服务器才可以接收到该同步请求,该段时间A设为上行时延TA;其中,由于教室服务器响应该同步请求的处理过程很短,可以认为教室服务器在服务器响应时间T接收到该同步请求。同样的,教室服务器在服务器响应时间T向本地客户端发送响应消息之后,也需要经过一段时间B,本地客户端才可以在本地接收时间接收到该响应消息,该段时间B设为下行时延TB。
本发明实施例中,将教室服务器的服务器时间与本地客户端的本地时间之间的差值作为时间误差。在上行发送同步请求的过程,对于本地客户端,其在本地发起时间时发送同步请求;经过上行时延TA后,即在时教室服务器接收到该同步请求,而此时教室服务器的服务器时间为服务器响应时间T。因此,此时的教室服务器的服务器时间(即T)与本地客户端的本地时间(即)之间的差值为该时间误差,即。
同样地,在下行发送响应消息的过程,对于教室服务器,其在服务器响应时间T时发送响应消息;经过下行时延TB后,即在时本地客户端接收到该响应消息,而此时本地客户端的本地时间为本地接收时间。因此,此时的教室服务器的服务器时间(即)与本地客户端的本地时间(即)之间的差值也为该时间误差,即。
本发明实施例不需要确定本地客户端与教室服务器之间的网络延迟具体大小,即不需要确定上行时延TA与下行时延TB,通过本地发起时间、本地接收时间和服务器响应时间即可方便、准确地确定本地客户端与教室服务器之间的时间误差,进而使得本地客户端可以比较准确地确定教室服务器的服务器时间。
步骤104:根据目标时间执行相应的操作。
本发明实施例中,本地客户端在确定与教室服务器的服务器时间相匹配的目标时间之后,即能够以该目标时间为基准执行相应的操作。例如,当前为线上考试的场景,且教室服务器设置12:00考试结束;本地客户端可以间隔地或者实时执行上述步骤101-104以确定目标时间,并可以将该目标时间显示给使用该本地客户端的用户。在目标时间为12:00时,无论本地客户端的本地时间为多少,均结束考试。
本发明实施例提供的一种时间同步的方法,利用发起同步请求以及接收教室服务器的响应消息,可以确定本地发起时间、本地接收时间和服务器响应时间,进而在不关注本地客户端与教室服务器之间网络延迟具体大小的情况下,可以方便准确地确定本地客户端与教室服务器之间的时间误差,进而使得本地客户端可以确定与教室服务器的服务器时间相匹配的目标时间。该时间同步的方式不需要确定上行时延和/或下行时延,不仅计算简单,而且可以避免引入计算上行时延和/或下行时延的误差,准确度较高;接入教室服务器的所有客户端均可实现与服务器时间的同步,使得不同客户端所确定的目标时间基本一致,适用于线上教育的场景。
在上述实施例的基础上,上述步骤103“根据时间误差和本地客户端的本地时间确定与教室服务器的服务器时间相匹配的目标时间”包括:
步骤B1:通过在不同时间发起多个同步请求,以确定多个时间误差,并根据多个时间误差确定本地客户端与教室服务器之间的目标时间误差。
步骤B2:根据目标时间误差和本地客户端的本地时间确定与教室服务器的服务器时间相匹配的目标时间。
本发明实施例中,本地客户端每发送一个同步请求,即可获得教室服务器反馈的一个响应请求,从而可以确定一组“本地发起时间、本地接收时间和服务器响应时间”,进而确定一个时间误差;本实施例中可以直接根据该时间误差确定目标时间。或者,如上述步骤B1所示,也可以通过多个时间误差最终确定一个时间误差,即目标时间误差。
具体地,本地客户端并不是同时发送多个同步请求,而是在不同时间发送多个同步请求,以能够确定在不同时间点,本地客户端与教室服务器之间的时间误差。通过多个时间误差确定本地客户端与教室服务器之间的目标时间误差,之后基于该目标时间误差来确定目标时间,可以减少因一个时间误差异常而导致最终确定的目标时间错误的问题,可以进一步提高所确定的目标时间的准确度。
可选地,上述步骤B1“根据多个时间误差确定本地客户端与教室服务器之间的目标时间误差”包括:
本发明实施例中,若本地客户端发起了n个同步请求,则可以确定n个时间误差。其中,可以以上述步骤A1所示的方式确定该时间误差,即。为方便描述,本实施例将第i个时间误差具体定义为:;相应的,为第i个同步请求对应的服务器响应时间,为第i个同步请求对应的本地发起时间,为第i个同步请求对应的本地接收时间。进而,可以将n个时间误差的平均值作为所需的目标时间误差,以提高后续处理过程的精度。
或者,由于网络延迟是实时变化的,故每次同步请求所确定的时间误差也是实时变化的;在基于多个时间误差确定目标时间误差时,可能会因为之前的时间误差与当前真实的时间误差之间的差异较大,导致最终确定的目标时间误差与当前真实的时间误差之间的差异也较大。本发明实施例为每个时间误差设置调整系数,以使得目标时间误差与最新的时间误差之间的关联度最大。具体地,上述步骤B1“根据多个时间误差确定本地客户端与教室服务器之间的目标时间误差”包括:
本发明实施例中,按照时间顺序确定n个时间误差。具体地,先确定第1个时间误差,之后确定第2个时间误差,以此类推,最后确定第n个时间误差,即第n个时间误差是最新的时间误差。其中,第i个时间误差所对应的时间可以为第i个同步请求的生成时间,即本地发起时间;也可以为第i个同步请求对应的服务器响应时间、或本地接收时间,本实施例对此不做限定。
本发明实施例中,为每个时间误差设置相应的调整系数,且;由于n为定值,i越大,该调整系数也越大,即第i个时间误差对应的调整系数越大,故第i个时间误差与目标时间误差之间的关联度也越大;即,越后确定的时间误差(较新的时间误差)越能影响目标时间误差的取值,该目标时间误差与其也越相关,从而使得最终确定的目标时间误差具有更好的时效性,即使之前确定的时间误差(如第1个时间误差等)与当前真实的时间误差的差异较大,由于之前的时间误差的调整系数较小,其对目标时间误差的影响也较小。此外,该调整系数的导数是与i正相关的函数,即i越大,调整系数的导数也越大,故随着i的增大,不仅调整系数本身在增大,该调整系数的增大趋势也在变大,使得相应的时间误差与目标时间误差更加相关。
在上述实施例的基础上,若根据时间误差直接确定目标时间,则上述步骤103“根据时间误差和本地客户端的本地时间确定与教室服务器的服务器时间相匹配的目标时间”包括:
步骤C1:将教室服务器的服务器时间与本地客户端的本地时间之间的差值作为本地客户端与教室服务器之间的时间误差。
步骤C2:将本地客户端的本地时间与时间误差之和作为与教室服务器的服务器时间相匹配的目标时间。
或者,若根据多个时间误差确定目标时间误差,之后基于该目标时间误差来确定目标时间,则上述步骤103“根据时间误差和本地客户端的本地时间确定与教室服务器的服务器时间相匹配的目标时间”包括:
步骤D1:将教室服务器的服务器时间与本地客户端的本地时间之间的差值作为本地客户端与教室服务器之间的时间误差。
步骤D2:将本地客户端的本地时间与目标时间误差之和作为与教室服务器的服务器时间相匹配的目标时间。
本发明实施例中,如上述步骤A1所示,本地客户端与教室服务器之间的时间误差指的是服务器时间与本地时间之间的差值,在确定时间误差之后,即可确定目标时间。具体地,以上述步骤C2为例,由于时间误差指的是服务器时间减去本地时间后所确定的差值,故本地时间加上该时间误差所确定的时间即为此时相应的服务器时间,该时间称为目标时间。在时间误差完全正确的情况下,该目标时间即为真实的服务器时间;但在实际情况下该时间误差本身难免也会存在微小的误差,故此时确定的目标时间与真实的服务器时间也不完全相同,但二者基本相似,可以将目标时间代替为服务器时间;与传统的时间同步方案相比,仍然可以提高时间同步的精度和准确度。
本发明实施例提供的一种时间同步的方法,利用发起同步请求以及接收教室服务器的响应消息,可以确定本地发起时间、本地接收时间和服务器响应时间,进而在不关注本地客户端与教室服务器之间网络延迟具体大小的情况下,可以方便准确地确定本地客户端与教室服务器之间的时间误差,进而使得本地客户端可以确定与教室服务器的服务器时间相匹配的目标时间。该时间同步的方式不需要确定上行时延和/或下行时延,不仅计算简单,而且可以避免引入计算上行时延和/或下行时延的误差,准确度较高;接入教室服务器的所有客户端均可实现与服务器时间的同步,使得不同客户端所确定的目标时间基本一致,适用于线上教育的场景。利用逐渐增大、且增大趋势也变大的调整系数对不同时刻生成的时间误差进行调整,使得所确定的目标时间误差与较新的时间误差具有更高的关联度,在提高目标时间误差准确度的同时,也可以保证较好的时效性。
上文详细描述了本发明实施例提供的时间同步的方法,该方法也可以通过相应的装置实现,下面详细描述本发明实施例提供的时间同步的装置。
图2示出了本发明实施例所提供的一种时间同步的装置的结构示意图。如图2所示,该时间同步的装置包括:
同步模块21,用于向教室服务器发起同步请求,并确定发起所述同步请求的本地发起时间,所述教室服务器用于同时连接多个客户端;
接收模块22,用于接收所述教室服务器返回的用于响应所述同步请求的响应消息,并确定接收到所述响应消息的本地接收时间,所述响应消息包括所述教室服务器响应所述同步请求的服务器响应时间;
处理模块23,用于根据所述本地发起时间、所述本地接收时间和所述服务器响应时间确定所述本地客户端与所述教室服务器之间的时间误差,并根据所述时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间;
操作模块24,用于根据所述目标时间执行相应的操作。
在上述实施例的基础上,所述处理模块23根据所述本地发起时间、所述本地接收时间和所述服务器响应时间确定所述本地客户端与所述教室服务器之间的时间误差,包括:
在上述实施例的基础上,所述处理模块23根据所述时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间,包括:
通过在不同时间发起多个所述同步请求,以确定多个时间误差,并根据多个所述时间误差确定所述本地客户端与所述教室服务器之间的目标时间误差;
根据所述目标时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间。
在上述实施例的基础上,所述处理模块23根据多个所述时间误差确定所述本地客户端与所述教室服务器之间的目标时间误差,包括:
在上述实施例的基础上,所述处理模块23根据多个所述时间误差确定所述本地客户端与所述教室服务器之间的目标时间误差,包括:
在上述实施例的基础上,所述处理模块23根据所述时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间,包括:
将所述教室服务器的服务器时间与所述本地客户端的本地时间之间的差值作为所述本地客户端与所述教室服务器之间的时间误差;
将所述本地客户端的本地时间与所述时间误差之和作为与所述教室服务器的服务器时间相匹配的目标时间。
在上述实施例的基础上,所述处理模块23根据所述时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间,包括:
将所述教室服务器的服务器时间与所述本地客户端的本地时间之间的差值作为所述本地客户端与所述教室服务器之间的时间误差;
将所述本地客户端的本地时间与所述目标时间误差之和作为与所述教室服务器的服务器时间相匹配的目标时间。
此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述时间同步的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
具体的,参见图3所示,本发明实施例还提供了一种电子设备,该电子设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。
在本发明实施例中,该电子设备还包括:存储在存储器1150上并可在处理器1120上运行的计算机程序,计算机程序被处理器1120执行时实现上述时间同步的方法实施例的各个过程。
收发器1130,用于在处理器1120的控制下接收和发送数据。
本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。
总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、外围总线、加速图形端口(Accelerate Graphical Port,AGP)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(Industry Standard Architecture,ISA)总线、微通道体系结构(Micro Channel Architecture,MCA)总线、扩展ISA(Enhanced ISA,EISA)总线、视频电子标准协会(Video Electronics Standards Association,VESA)、外围部件互连(Peripheral Component Interconnect,PCI)总线。
处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD)、可编程逻辑阵列(Programmable Logic Array,PLA)、微控制单元(Microcontroller Unit,MCU)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存(FlashMemory)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
总线1110还可以将,例如外围设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机系统的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网(Internet)、公共交换电话网(PSTN)、普通老式电话业务网(POTS)、蜂窝电话网、无线网络、无线保真(Wi-Fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(GSM)系统、码分多址(CDMA)系统、全球微波互联接入(WiMAX)系统、通用分组无线业务(GPRS)系统、宽带码分多址(WCDMA)系统、长期演进(LTE)系统、LTE频分双工(FDD)系统、LTE时分双工(TDD)系统、先进长期演进(LTE-A)系统、通用移动通信(UMTS)系统、增强移动宽带(Enhance Mobile Broadband,eMBB)系统、海量机器类通信(massive Machine Type of Communication,mMTC)系统、超可靠低时延通信(UltraReliable Low Latency Communications,uRLLC)系统等。
应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存(Flash Memory)。
易失性存储器包括:随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如:静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。
在本发明实施例中,存储器1150存储了操作系统1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
具体而言,操作系统1151包含各种系统程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器(Media Player)、浏览器(Browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机系统可执行指令。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述时间同步的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。
在本申请所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。
所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例所述方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。
在本发明实施例的描述中,所属技术领域的技术人员应当知道,本发明实施例可以实现为方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的系统、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存(Flash Memory)、光纤、光盘只读存储器(CD-ROM)、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行系统、装置、器件使用或与其结合使用。
上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(Radio Frequency,RF)或者以上任意合适的组合。
可以以汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,例如:Java、Smalltalk、C++,还包括常规的过程式程序设计语言,例如:C语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(LAN)或广域网(WAN),可以连接到用户计算机,也可以连接到外部计算机。
本发明实施例通过流程图和/或方框图描述所提供的方法、装置、电子设备。
应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种时间同步的方法,由本地客户端执行,其特征在于,包括:
向教室服务器发起同步请求,并确定发起所述同步请求的本地发起时间,所述教室服务器用于同时连接多个客户端;
接收所述教室服务器返回的用于响应所述同步请求的响应消息,并确定接收到所述响应消息的本地接收时间,所述响应消息包括所述教室服务器响应所述同步请求的服务器响应时间;
根据所述本地发起时间、所述本地接收时间和所述服务器响应时间确定所述本地客户端与所述教室服务器之间的时间误差,并根据所述时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间;以及
根据所述目标时间执行相应的操作;
所述根据所述时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间,包括:
通过在不同时间发起多个所述同步请求,以确定多个时间误差,并根据多个所述时间误差确定所述本地客户端与所述教室服务器之间的目标时间误差;以及
根据所述目标时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间;
其中,所述根据多个所述时间误差确定所述本地客户端与所述教室服务器之间的目标时间误差,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述目标时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间,包括:
将所述教室服务器的服务器时间与所述本地客户端的本地时间之间的差值作为所述本地客户端与所述教室服务器之间的时间误差;
将所述本地客户端的本地时间与所述目标时间误差之和作为与所述教室服务器的服务器时间相匹配的目标时间。
4.一种时间同步的装置,设置在本地客户端侧,其特征在于,包括:
同步模块,用于向教室服务器发起同步请求,并确定发起所述同步请求的本地发起时间,所述教室服务器用于同时连接多个客户端;
接收模块,用于接收所述教室服务器返回的用于响应所述同步请求的响应消息,并确定接收到所述响应消息的本地接收时间,所述响应消息包括所述教室服务器响应所述同步请求的服务器响应时间;
处理模块,用于根据所述本地发起时间、所述本地接收时间和所述服务器响应时间确定所述本地客户端与所述教室服务器之间的时间误差,并根据所述时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间;以及
操作模块,用于根据所述目标时间执行相应的操作;
所述处理模块根据所述时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间,包括:
通过在不同时间发起多个所述同步请求,以确定多个时间误差,并根据多个所述时间误差确定所述本地客户端与所述教室服务器之间的目标时间误差;以及
根据所述目标时间误差和所述本地客户端的本地时间确定与所述教室服务器的服务器时间相匹配的目标时间;
其中,所述处理模块根据多个所述时间误差确定所述本地客户端与所述教室服务器之间的目标时间误差,包括:
5.一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至3中任一项所述的时间同步的方法中的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的时间同步的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110187217.8A CN112532334B (zh) | 2021-02-18 | 2021-02-18 | 一种时间同步的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110187217.8A CN112532334B (zh) | 2021-02-18 | 2021-02-18 | 一种时间同步的方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112532334A CN112532334A (zh) | 2021-03-19 |
CN112532334B true CN112532334B (zh) | 2021-05-04 |
Family
ID=74975694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110187217.8A Active CN112532334B (zh) | 2021-02-18 | 2021-02-18 | 一种时间同步的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112532334B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546932A (zh) * | 2022-02-23 | 2022-05-27 | 地平线征程(杭州)人工智能科技有限公司 | 多处理单元的时间同步方法、装置、存储介质及电子设备 |
CN116032949B (zh) * | 2023-03-29 | 2023-06-16 | 成都数之联科技股份有限公司 | 时间同步方法、装置、电子设备和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915308A (zh) * | 2016-07-08 | 2016-08-31 | 腾讯科技(深圳)有限公司 | 一种时间同步方法、装置及系统 |
WO2018213481A1 (en) * | 2017-05-16 | 2018-11-22 | Sportscastr.Live Llc | Systems, apparatus, and methods for scalable low-latency viewing of integrated broadcast commentary and event video streams of live events, and synchronization of event information with viewed streams via multiple internet channels |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495202A (zh) * | 2018-12-20 | 2019-03-19 | 北京明朝万达科技股份有限公司 | 一种时间同步方法及装置 |
WO2020181152A1 (en) * | 2019-03-05 | 2020-09-10 | Farrokh Shokooh | Utility network project modeling & management |
-
2021
- 2021-02-18 CN CN202110187217.8A patent/CN112532334B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915308A (zh) * | 2016-07-08 | 2016-08-31 | 腾讯科技(深圳)有限公司 | 一种时间同步方法、装置及系统 |
WO2018213481A1 (en) * | 2017-05-16 | 2018-11-22 | Sportscastr.Live Llc | Systems, apparatus, and methods for scalable low-latency viewing of integrated broadcast commentary and event video streams of live events, and synchronization of event information with viewed streams via multiple internet channels |
Also Published As
Publication number | Publication date |
---|---|
CN112532334A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112532334B (zh) | 一种时间同步的方法、装置及电子设备 | |
CN111581627A (zh) | 一种数据处理方法、装置及电子设备 | |
CN112422591B (zh) | 一种传输视频流数据的方法、装置及电子设备 | |
WO2014093699A1 (en) | Loading a re-directed web page on a web browser of a client device in a communications system | |
CN112565834B (zh) | 一种控制输出数据的方法、装置及电子设备 | |
CN112383807B (zh) | 一种在线教育的方法、装置及电子设备 | |
WO2023077857A1 (zh) | 一种防御方法、装置、电子设备及存储介质 | |
CN112135177A (zh) | 数据流同步方法及装置 | |
JP2023504092A (ja) | ビデオ再生ページ表示方法、装置、電子機器及び媒体 | |
CN114067800A (zh) | 语音识别方法、装置和电子设备 | |
US11367452B2 (en) | Adaptive bitrate coding for spatial audio streaming | |
CN112559449B (zh) | 一种数据转换处理的方法、装置及电子设备 | |
CN111526381B (zh) | 一种优化直播资源的方法、装置及电子设备 | |
CN114445510A (zh) | 一种图像优化方法、装置、电子设备和存储介质 | |
US11252524B2 (en) | Synthesizing a headphone signal using a rotating head-related transfer function | |
CN111865611A (zh) | 一种数据上链定序的方法、装置及电子设备 | |
CN112565918B (zh) | 一种接管非实时数据的方法、装置及电子设备 | |
CN113423009A (zh) | 一种视频进度调整方法、装置及电子设备 | |
CN112468679B (zh) | 一种同步播放音视频课件的方法、装置及电子设备 | |
CN113466877A (zh) | 一种实时物体检测的方法、装置及电子设备 | |
CN113055699A (zh) | 一种同步用户分组的方法、装置及电子设备 | |
CN113838488B (zh) | 音频播放包生成方法、装置和音频播放方法、装置 | |
CN116382977A (zh) | 一种应用于数据通信的复位检测方法、系统及电子设备 | |
CN112465717B (zh) | 脸部图像处理模型训练方法、装置、电子设备和介质 | |
KR20190033983A (ko) | 오디오장치 및 그 오디오장치의 제어방법 |
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 |