一种排行榜同步方法及终端与流程

专利2023-04-03  142



1.本发明涉及数据同步技术领域,特别涉及一种排行榜同步方法及终端。


背景技术:

2.目前,想要进行数据同步时,最常见的方法就是通过redis的主服务器,以及主服务器对应的多个从服务器来进行数据的获取和同步,但是这种数据同步的方法仅支持单个主服务器的架构模式。这种情况会出现当其他地区想要跨区域获取数据时,获取数据的速度以及数据准确性会大幅降低的问题:
3.一方面,若主服务器出现宕机问题,宕机前有一部分数据没有及时同步到从服务器的话,就会导致出现数据不一致的场景;
4.另一方面,数据同步过慢易导致某些业务时长超时,返回异常结果,亦或是直接导致程序出现崩溃的情况,譬如:在某个程序在运行时,用户发起了某种请求,而这时获取的数据是同步之前的数据,用户查看到的数据就会产生差异性,数据不准确或者请求后由于获取数据的时长太长,就有可能导致程序的出错等一系列问题的情况。
5.因此在实现全球排行榜同步之前,如何提升全球数据同步及时性与准确性的是目前急需解决的问题。


技术实现要素:

6.本发明所要解决的技术问题是:提供一种排行榜同步方法及终端,能够提升多区域排行榜数据同步的及时性与准确性。
7.为了解决上述技术问题,本发明采用的技术方案为:
8.一种排行榜同步方法,包括步骤:
9.用户开始课程时,接收用户的课程数据和第一运动数据,并整合至多区域排行榜;
10.根据所述课程数据判断用户正在进行的是否为直播课程,若是,则定时获取不同区域的用户的第二运动数据并同步至多区域排行榜,定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构;
11.否则,获取多区域排行榜信息并存储至本地,根据本地的所述多区域排行榜信息以及用户的第一运动数据进行本地多区域排行榜信息的重构。
12.为了解决上述技术问题,本发明采用的另一种技术方案为:
13.一种排行榜同步终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
14.用户开始课程时,接收用户的课程数据和第一运动数据,并整合至多区域排行榜;
15.根据所述课程数据判断用户正在进行的是否为直播课程,若是,则定时获取不同区域的用户的第二运动数据并同步至多区域排行榜,定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构;
16.否则,获取多区域排行榜信息并存储至本地,根据本地的所述多区域排行榜信息
以及用户的第一运动数据进行本地多区域排行榜信息的重构。
17.本发明的有益效果在于:用户开始课程时,接收用户的课程数据和第一运动数据,并整合至多区域排行榜,从而在课程开始时进行数据同步。不同的课程类型在多区域排行榜进行数据同步的方式也是不同的,若用户正在进行的是直播课程,则定时获取不同区域不同用户的运动数据,并将其上传同步至多区域排行榜,保证此时多区域排行榜数据的实时性和准确性,再定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构,从而实时上送数据,实时进行多区域排行榜的更新;若用户正在进行的不是直播课程,则在开始课程时获取并缓存最新的排行榜内容,后续用户的运动排名按照缓存的内容进行本地比对,能够提高排行榜更新的效率并保证其准确性。
附图说明
18.图1为本发明实施例的一种排行榜同步方法的流程图;
19.图2为本发明实施例的一种排行榜同步终端的示意图;
20.图3为本发明实施例的一种排行榜同步方法的具体步骤流程图;
21.图4为本发明实施例的一种排行榜同步方法的功能模块结构示意图;
22.标号说明:
23.1、一种排行榜同步终端;2、存储器;3、处理器。
具体实施方式
24.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
25.请参照图1、图3和图4,本发明实施例提供了一种排行榜同步方法,包括步骤:
26.用户开始课程时,接收用户的课程数据和第一运动数据,并整合至多区域排行榜;
27.根据所述课程数据判断用户正在进行的是否为直播课程,若是,则定时获取不同区域的用户的第二运动数据并同步至多区域排行榜,定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构;
28.否则,获取多区域排行榜信息并存储至本地,根据本地的所述多区域排行榜信息以及用户的第一运动数据进行本地多区域排行榜信息的重构。
29.从上述描述可知,本发明的有益效果在于:用户开始课程时,接收用户的课程数据和第一运动数据,并整合至多区域排行榜,从而在课程开始时进行数据同步。不同的课程类型在多区域排行榜进行数据同步的方式也是不同的,若用户正在进行的是直播课程,则定时获取不同区域不同用户的运动数据,并将其上传同步至多区域排行榜,保证此时多区域排行榜数据的实时性和准确性,再定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构,从而实时上送数据,实时进行多区域排行榜的更新;若用户正在进行的不是直播课程,则在开始课程时获取并缓存最新的排行榜内容,后续用户的运动排名按照缓存的内容进行本地比对,能够提高排行榜更新的效率并保证其准确性。
30.进一步地,所述接收用户的课程数据和第一运动数据,并整合至多区域排行榜包括:
31.接收用户的课程数据,并实时接收用户的第一运动数据;
32.将实时接收的第一运动数据与本地存储的运动数据进行同步,将同步后的数据整合至云数据库中进行多区域排行榜的同步与展示。
33.由上述描述可知,将运动数据在本地同步后,同步整合至云数据库并进行多区域排行榜的同步,因此通过对本地和云数据库的数据实时同步,使本地中的数据能够第一时间与云数据库中的数据完成同步,从而达到多区域排行榜数据一致的效果,大幅提高了数据的获取速度。
34.进一步地,接收用户的课程数据还包括:
35.将用户的课程数据存储在本地缓存中,若当用户再次开始相同的课程,则从本地缓存中获取对应的课程数据。
36.由上述描述可知,将课程数据存储在本地缓存中,便于再次开始相同的课程的时候,提高课程数据的获取速度,提升用户体验。
37.进一步地,定时获取不同区域的用户的第二运动数据并同步至多区域排行榜,定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构包括:
38.定时获取不同区域的用户的第二运动数据至本地缓存,将本地缓存中的数据定时同步至云数据库并进行多区域排行榜的同步;
39.定时拉取云数据库中同步后的第三运动数据,根据所述第三运动数据对用户的第一运动数据进行同步。
40.由上述描述可知,定时获取不同区域的用户的运动数据并同步至云数据库,能够主动进行各个区域用户运动数据的更新,保证获取到的多区域排行榜的实时性和准确性。
41.进一步地,还包括:
42.用户结束课程时,接收并存储用户的第四运动数据;
43.定时将所述第四运动数据刷新至云数据库中,并进行多区域排行榜的同步。
44.由上述描述可知,当用户结束课程训练后,接收并将用户在本次课程训练中生成的运动数据存储至本地,并且定时刷新至云数据库,进一步保障数据的的一致性和有效性。
45.请参照图2,本发明另一实施例提供了一种排行榜同步终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
46.用户开始课程时,接收用户的课程数据和第一运动数据,并整合至多区域排行榜;
47.根据所述课程数据判断用户正在进行的是否为直播课程,若是,则定时获取不同区域的用户的第二运动数据并同步至多区域排行榜,定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构;
48.否则,获取多区域排行榜信息并存储至本地,根据本地的所述多区域排行榜信息以及用户的第一运动数据进行本地多区域排行榜信息的重构。
49.从上述描述可知,本发明的有益效果在于:用户开始课程时,接收用户的课程数据和第一运动数据,并整合至多区域排行榜,从而在课程开始时进行数据同步。不同的课程类型在多区域排行榜进行数据同步的方式也是不同的,若用户正在进行的是直播课程,则定时获取不同区域不同用户的运动数据,并将其上传同步至多区域排行榜,保证此时多区域
排行榜数据的实时性和准确性,再定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构,从而实时上送数据,实时进行多区域排行榜的更新;若用户正在进行的不是直播课程,则在开始课程时获取并缓存最新的排行榜内容,后续用户的运动排名按照缓存的内容进行本地比对,能够提高排行榜更新的效率并保证其准确性。
50.进一步地,所述接收用户的课程数据和第一运动数据,并整合至多区域排行榜包括:
51.接收用户的课程数据,并实时接收用户的第一运动数据;
52.将实时接收的第一运动数据与本地存储的运动数据进行同步,将同步后的数据整合至云数据库中进行多区域排行榜的同步与展示。
53.由上述描述可知,将运动数据在本地同步后,同步整合至云数据库并进行多区域排行榜的同步,因此通过对本地和云数据库的数据实时同步,使本地中的数据能够第一时间与云数据库中的数据完成同步,从而达到多区域排行榜数据一致的效果,大幅提高了数据的获取速度。
54.进一步地,接收用户的课程数据还包括:
55.将用户的课程数据存储在本地缓存中,若当用户再次开始相同的课程,则从本地缓存中获取对应的课程数据。
56.由上述描述可知,将课程数据存储在本地缓存中,便于再次开始相同的课程的时候,提高课程数据的获取速度,提升用户体验。
57.进一步地,定时获取不同区域的用户的第二运动数据并同步至多区域排行榜,定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构包括:
58.定时获取不同区域的用户的第二运动数据至本地缓存,将本地缓存中的数据定时同步至云数据库并进行多区域排行榜的同步;
59.定时拉取云数据库中同步后的第三运动数据,根据所述第三运动数据对用户的第一运动数据进行同步。
60.由上述描述可知,定时获取不同区域的用户的运动数据并同步至云数据库,能够主动进行各个区域用户运动数据的更新,保证获取到的多区域排行榜的实时性和准确性。
61.进一步地,还包括:
62.用户结束课程时,接收并存储用户的第四运动数据;
63.定时将所述第四运动数据刷新至云数据库中,并进行多区域排行榜的同步。
64.由上述描述可知,当用户结束课程训练后,接收并将用户在本次课程训练中生成的运动数据存储至本地,并且定时刷新至云数据库,进一步保障数据的的一致性和有效性。
65.本发明上述的一种排行榜同步方法及终端,适用于健身软件中,用户在进行课程训练的时候进行运动数据的全球排行榜同步,以下通过具体的实施方式进行说明:
66.实施例一
67.请参照图1、图3和图4,一种排行榜同步方法,包括步骤:
68.s1、用户开始课程时,接收用户的课程数据和第一运动数据,并整合至多区域排行榜。本实施例中,多区域排行榜为全球排行榜。
69.其中步骤s1包括步骤:
70.s11、接收用户的课程数据,并实时接收用户的第一运动数据。
71.在本实施例中,用户的第一运动数据即用户的卡路里数据;用户点击开始播放课程,将用户的课程数据存储在本地缓存中,在用户开始课程训练时客户端会实时获取用户的卡路里数据并上送给服务端。
72.s12、将实时接收的第一运动数据与本地存储的运动数据进行同步,将同步后的数据整合至云数据库中进行多区域排行榜的同步与展示。
73.具体的,服务端通过获取到的卡路里数据与本地缓存中的卡路里数据进行数据同步,并生成全球排行榜进行数据显示。
74.s2、根据所述课程数据判断用户正在进行的是否为直播课程,若是,则定时获取不同区域的用户的第二运动数据并同步至多区域排行榜,定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构。
75.本实施例中,不同区域可以是不同国家,在一些实施例中,不同区域可以是不同省、市等。
76.s21、定时获取不同区域的用户的第二运动数据至本地缓存,将本地缓存中的数据定时同步至云数据库并进行多区域排行榜的同步。
77.具体的,不同的课程类型在全球排行榜进行数据同步的方式也是不同的,在进行直播课训练时,全球排行榜同步方案会定时收集不同地区的不同用户的运动数据,并将这些数据同时上传到本地缓存中,再将本地缓存中的数据定时同步到云数据库中,进行全球排行榜的数据同步操作。
78.s22、定时拉取云数据库中同步后的第三运动数据,根据所述第三运动数据对用户的第一运动数据进行同步。
79.在云数据库进行同步操作之后,本地缓存会重新拉取同步后的数据,此时服务端获取本地缓存中的数据来与用户的运动数据进行同步并下发给客户端,以确保数据的实时性与准确性,这些相关的数据也会提供到往期课程的排行榜数据展示。
80.s23、定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构。
81.s3、否则,获取多区域排行榜信息并存储至本地,根据本地的所述多区域排行榜信息以及用户的第一运动数据进行本地多区域排行榜信息的重构。
82.具体的,在进行往期课训练时,客户端会先获取用户的运动信息发送给服务端,当服务端接收到运动数据后,会根据接收到的用户运动信息与本地缓存中的数据进行全球排行榜的同步并展示。由于是在进行往期课训练,所以全球排行榜数据只获取一次。后续进行排行榜排名数据重构时,都是通过当前的用户运动数据与开始时获取的全球排行榜数据,来重新构建排行榜并展示数据。
83.s4、用户结束课程时,接收并存储用户的第四运动数据,定时将所述第四运动数据刷新至云数据库中,并进行多区域排行榜的同步。
84.在本实施例中,第四运动数据即用户在课程训练中生成的运动数据;
85.具体的,当用户结束课程训练后,客户端会将本次用户在课程训练中生成的运动数据上送至服务端。服务端根据收集到的数据生成运动记录结果,并且在生成运动记录结
果的同时,服务端会将用户本次的运动数据同步到本地缓存中并上送至云数据库中进行数据的存储,并下发同步全球排行榜展示数据。
86.在一些实施例中,在排行榜同步之后在各区域节点定时获取云数据库的数据,并存入各区域节点对应的本地缓存中来保证全球数据展示的一致性与有效性。此时,在云数据库已经对上送的数据进行了同步操作,并且由于用户课程训练期间以及结束训练后都会实时将数据上送至云数据库进行同步,所以各区域节点只需要通过调用对应的定时任务就可以从云数据库中拉取到最新的全球排行榜数据到本地缓存中。此时数据就实现了全球同步且各区域节点已经将云数据库中的相关数据获取到本地缓存中。
87.s5、用户再次请求训练相同课程时,从本地缓存中获取相关的课程数据。
88.具体的,在上述步骤中,本地缓存已经向云数据库发出同步请求,获取到了全球排行榜同步后的数据,此时用户再次发起课程训练请求时,就不需要通过数据访问层来获取所需的数据了,只需要从本地缓存中获取全球排行榜的数据即可。不再需要盲目地对本地数据库进行io的读写操作,使用这种方法大大减少了服务端接口所需的响应时间,提高了软件的执行速度,优化了频繁读写数据的性能。
89.因此,本实施例中的排行榜同步包括两种场景,一种是直播课程实时排行,符合实时变化需求;另一种是周期排行榜,往期课排行榜的周期是按用户参课的这个时间段内为一个周期,所以周期内的数据是固定的,因此当前用户运动数据与开始时获取的数据进行比对来展示排行榜。
90.实施例二
91.请参照图2,一种排行榜同步终端1,包括存储器2、处理器3以及存储在所述存储器2上并可在处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例一的一种排行榜同步方法的各个步骤。
92.综上所述,本发明提供的一种排行榜同步方法及终端,用户开始课程时,接收用户的课程数据和第一运动数据,并整合至多区域排行榜,从而在课程开始时进行数据同步。不同的课程类型在多区域排行榜进行数据同步的方式不同,若用户正在进行直播课程,则定时获取不同区域不同用户的运动数据,并将其上传同步至多区域排行榜,保证此时多区域排行榜数据的实时性和准确性,再定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构,从而实时上送数据,实时进行多区域排行榜的更新;若用户正在进行往期课程,则在开始课程时获取并缓存最新的排行榜内容,后续用户的运动排名按照缓存的内容进行本地比对,能够提高排行榜更新的效率并保证其准确性。上述排行榜同步的方法,主要是通过定时任务对redis与云数据库进行数据实时同步的流程,使redis中的数据能够第一时间与云数据库中的数据完成同步,从而达到多区域排行榜数据一致的效果,大幅提高了数据的获取速度;并且,因为定时任务的原因,每次课程结束后或者课程训练进行的过程中都会将数据上传至redis中,再通过redis与云数据库进行数据同步,所以若redis发生宕机后丢失的数据也能及时通过云数据库同步回来,大幅度降低了数据丢失或者数据不一致的场景,降低了客户端或服务端因为数据不一致而引起数据差异性的概率,本发明能够较好的实现全球多区域排行榜数据同步一致性和准确性。
93.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括
在本发明的专利保护范围内。

技术特征:
1.一种排行榜同步方法,其特征在于,包括步骤:用户开始课程时,接收用户的课程数据和第一运动数据,并整合至多区域排行榜;根据所述课程数据判断用户正在进行的是否为直播课程,若是,则定时获取不同区域的用户的第二运动数据并同步至多区域排行榜,定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构;否则,获取多区域排行榜信息并存储至本地,根据本地的所述多区域排行榜信息以及用户的第一运动数据进行本地多区域排行榜信息的重构。2.根据权利要求1所述的一种排行榜同步方法,其特征在于,所述接收用户的课程数据和第一运动数据,并整合至多区域排行榜包括:接收用户的课程数据,并实时接收用户的第一运动数据;将实时接收的第一运动数据与本地存储的运动数据进行同步,将同步后的数据整合至云数据库中进行多区域排行榜的同步与展示。3.根据权利要求2所述的一种排行榜同步方法,其特征在于,接收用户的课程数据还包括:将用户的课程数据存储在本地缓存中,若当用户再次开始相同的课程,则从本地缓存中获取对应的课程数据。4.根据权利要求1所述的一种排行榜同步方法,其特征在于,定时获取不同区域的用户的第二运动数据并同步至多区域排行榜,定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构包括:定时获取不同区域的用户的第二运动数据至本地缓存,将本地缓存中的数据定时同步至云数据库并进行多区域排行榜的同步;定时拉取云数据库中同步后的第三运动数据,根据所述第三运动数据对用户的第一运动数据进行同步。5.根据权利要求1所述的一种排行榜同步方法,其特征在于,还包括:用户结束课程时,接收并存储用户的第四运动数据;定时将所述第四运动数据刷新至云数据库中,并进行多区域排行榜的同步。6.一种排行榜同步终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:用户开始课程时,接收用户的课程数据和第一运动数据,并整合至多区域排行榜;根据所述课程数据判断用户正在进行的是否为直播课程,若是,则定时获取不同区域的用户的第二运动数据并同步至多区域排行榜,定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构;否则,获取多区域排行榜信息并存储至本地,根据本地的所述多区域排行榜信息以及用户的第一运动数据进行本地多区域排行榜信息的重构。7.根据权利要求6所述的一种排行榜同步终端,其特征在于,所述接收用户的课程数据和第一运动数据,并整合至多区域排行榜包括:接收用户的课程数据,并实时接收用户的第一运动数据;将实时接收的第一运动数据与本地存储的运动数据进行同步,将同步后的数据整合至云数据库中进行多区域排行榜的同步与展示。
8.根据权利要求7所述的一种排行榜同步终端,其特征在于,接收用户的课程数据还包括:将用户的课程数据存储在本地缓存中,若当用户再次开始相同的课程,则从本地缓存中获取对应的课程数据。9.根据权利要求6所述的一种排行榜同步终端,其特征在于,定时获取不同区域的用户的第二运动数据并同步至多区域排行榜,定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构包括:定时获取不同区域的用户的第二运动数据至本地缓存,将本地缓存中的数据定时同步至云数据库并进行多区域排行榜的同步;定时拉取云数据库中同步后的第三运动数据,根据所述第三运动数据对用户的第一运动数据进行同步。10.根据权利要求6所述的一种排行榜同步终端,其特征在于,还包括:用户结束课程时,接收并存储用户的第四运动数据;定时将所述第四运动数据刷新至云数据库中,并进行多区域排行榜的同步。

技术总结
本发明公开了一种排行榜同步方法及终端,用户开始课程时,接收用户的课程数据和第一运动数据,并整合至多区域排行榜,从而在课程开始时进行数据同步。不同的课程类型在多区域排行榜进行数据同步的方式不同,若用户正在进行直播课程,则定时获取不同区域不同用户的运动数据,并将其上传同步至多区域排行榜,保证此时多区域排行榜数据的实时性和准确性,再定时拉取同步后的多区域排行榜信息,并基于用户的第一运动数据进行多区域排行榜的重构,从而实时上送数据并进行多区域排行榜的更新;若用户正在进行往期课程,则在开始课程时获取并缓存最新的排行榜内容,后续用户的运动排名按照缓存的内容进行本地比对,提高排行榜更新效率并保证其准确性。保证其准确性。保证其准确性。


技术研发人员:高孔威 骆少猛 严贤林 陈天豪
受保护的技术使用者:福建野小兽健康科技有限公司
技术研发日:2022.07.25
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-2138.html

最新回复(0)