计时方法、装置、资源发放系统、计算机设备及存储介质与流程

文档序号:32259781发布日期:2022-11-19 11:32阅读:52来源:国知局
计时方法、装置、资源发放系统、计算机设备及存储介质与流程

1.本公开涉及计算机应用技术领域,具体而言,涉及一种计时方法、装置、资源发放系统、计算机设备及存储介质。


背景技术:

2.在程序应用过程中,通常会存在终端设备上报计时的需求,例如对终端设备的应用程序中某页面的渲染时间进行计时等。当前的终端设备通常采用通过长链接不停发送心跳包的方式来实现计时。但是在这种实施方式下,即便终端设备中的应用程序处于后台运行,用户并非正在使用对应应用程序,终端设备仍会不断向服务器发送心跳包,而服务器只要接收到终端设备发送的心跳包,就会持续计时,这导致了当前的计时方法存在计时不准确的问题。


技术实现要素:

3.本公开实施例至少提供一种计时方法、装置、资源发放系统、计算机设备及存储介质。
4.第一方面,本公开实施例提供了一种计时方法,应用于终端设备;
5.响应于触发计时事件,在多个计时周期中的每个计时周期,执行下述过程:
6.确定当前计时周期对应的当前目标计时时长;其中,所述当前目标计时时长是基于预设计时时长、或者基于所述当前计时周期对应的前一计时周期的计时结果确定的;
7.基于所述当前目标计时时长进行计时;
8.响应于计时达到所述当前目标计时时长,确定所述终端设备在所述当前计时周期的渲染状态变化信息,并基于所述渲染状态变化信息,确定当前计时周期的计时结果,并进入下一计时周期。
9.一种可选的实施方式中,响应于所述当前计时周期为首个计时周期,所述确定当前计时周期对应的当前目标计时时长,包括:
10.接收目标应用程序发送的所述预设计时时长,并将所述预设计时时长确定为所述当前目标计时时长;
11.响应于所述当前计时周期为非首个计数周期,所述确定当前计时周期对应的当前目标计时时长,包括:
12.基于所述前一计时周期的计时结果、以及所述前一计时周期的目标计时时长,确定所述当前目标计时时长。
13.一种可选的实施方式中,所述基于所述前一计时周期的计时结果、以及所述前一计时周期的目标计时时长,确定所述当前目标计时时长,包括:
14.确定所述前一计时周期对应的计时结果所指示的实际计时时长、是否和所述前一计时周期的目标计时时长相等;
15.响应于所述前一计时周期对应的计时结果所指示的实际计时时长、和所述前一计
时周期的目标计时时长相同,将所述预设计时时长确定为所述当前目标计时时长;
16.响应于所述前一计时周期对应的计时结果所指示的实际计时时长、小于所述前一计时周期的目标计时时长,将所述前一计时周期的目标计时时长、和所述前一计时周期对应的计时结果所指示的实际计时时长之间的差值,确定为所述当前目标计时时长。
17.一种可选的实施方式中,所述基于所述当前目标计时时长进行计时,包括:
18.基于所述当前目标计时时长,生成与所述当前目标计时时长对应的计时指令;向计时组件发送所述计时指令,以使得所述计时组件基于所述计时指令中携带的所述当前目标计时时长进行计时。
19.一种可选的实施方式中,所述方法还包括:生成与所述当前目标计时时长对应的延时消息,并将所述延时消息存储至预设存储空间中;所述延时消息中携带有所述当前计时周期对应的计时开始的第一时间戳;
20.所述响应于计时达到所述当前目标计时时长,确定所述终端设备在所述当前计时周期的渲染状态变化信息,并基于所述渲染状态变化信息,确定当前计时周期的计时结果,包括:
21.响应于接收到所述计时组件发送的计时结束信号,从所述预设存储空间中读取所述延时消息,并基于所述延时消息中携带的所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定当前计时周期的计时结果。
22.一种可选的实施方式中,所述基于所述延时消息中携带的所述当前计时周期对应的计时开始的第一时间戳、所述当前目标计时时长、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定当前计时周期的计时结果,包括:
23.响应于在当前计时周期未获得所述终端设备的渲染状态发生变化的渲染状态变化信息,基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳,确定所述计时结果;
24.响应于在当前计时周期获得所述终端设备的渲染状态发生变化的渲染状态变化信息,基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定所述计时结果。
25.一种可选的实施方式中,所述渲染状态变化信息包括:所述渲染状态发生变化时的第三时间戳、以及与所述第三时间戳对应的渲染状态。
26.一种可选的实施方式中,所述响应于在当前计时周期获得所述终端设备的渲染状态发生变化的渲染状态变化信息,基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定所述计时结果,包括:
27.基于所述第三时间戳对应的渲染状态、以及所述第一时间戳、和所述第二时间戳,确定所述终端设备渲染目标页面的目标时段;
28.基于所述目标时段的起始时刻、以及终止时刻,确定所述目标时段对应的渲染时长;
29.基于所述目标时段对应的渲染时长,确定所述计时结果。
30.一种可选的实施方式中,所述计时结果包括:当前计时周期对应的实际计时时长;
31.所述方法还包括:
32.基于所述当前计时周期对应的实际计时时长、以及所述前一计时周期对应的累计计时时长,确定当前计时周期对应的累计计时时长;
33.响应于所述当前计时周期对应的累计计时时长达到预设计时时长,向服务器发送计时请求;所述计时请求中携带有所述当前计时周期对应的累计计时时长,所述计时请求用于指示所述服务器根据所述当前计时周期对应的累计计时时长确定多个计时周期对应的计时总时长达到目标时长后,向所述终端设备发放奖励资源,其中,所述预设计时时长是基于所述服务器发放所述奖励资源所需要的目标时长确定的。
34.一种可选的实施方式中,所述方法还包括:
35.响应于接收到所述服务器发送的计时停止指令,停止计时。
36.第二方面,本公开实施例还提供一种计时装置,应用于终端设备,
37.所述计时装置响应于触发计时事件,在多个计时周期中的每个计时周期,执行下述过程:
38.第一确定模块,用于确定当前计时周期对应的当前目标计时时长;其中,所述当前目标计时时长是基于预设计时时长、或者基于所述当前计时周期对应的前一计时周期的计时结果确定的;
39.计时模块,用于基于所述当前目标计时时长进行计时;
40.第二确定模块,用于响应于计时达到所述当前目标计时时长,确定所述终端设备在所述当前计时周期的渲染状态变化信息,并基于所述渲染状态变化信息,确定当前计时周期的计时结果,并进入下一计时周期。
41.一种可选的实施方式中,所述第一确定模块在响应于所述当前计时周期为首个计时周期,所述确定当前计时周期对应的当前目标计时时长时,用于:
42.接收目标应用程序发送的所述预设计时时长,并将所述预设计时时长确定为所述当前目标计时时长;
43.所述第一确定模块在响应于所述当前计时周期为非首个计数周期,所述确定当前计时周期对应的当前目标计时时长时,用于:
44.基于所述前一计时周期的计时结果、以及所述前一计时周期的目标计时时长,确定所述当前目标计时时长。
45.一种可选的实施方式中,所述第一确定模块在所述基于所述前一计时周期的计时结果、以及所述前一计时周期的目标计时时长,确定所述当前目标计时时长时,具体还用于:
46.确定所述前一计时周期对应的计时结果所指示的实际计时时长、是否和所述前一计时周期的目标计时时长相等;
47.响应于所述前一计时周期对应的计时结果所指示的实际计时时长、和所述前一计时周期的目标计时时长相同,将所述预设计时时长确定为所述当前目标计时时长;
48.响应于所述前一计时周期对应的计时结果所指示的实际计时时长、小于所述前一计时周期的目标计时时长,将所述前一计时周期的目标计时时长、和所述前一计时周期对应的计时结果所指示的实际计时时长之间的差值,确定为所述当前目标计时时长。
49.一种可选的实施方式中,所述计时模块在所述基于所述当前目标计时时长进行计
时时,用于:
50.基于所述当前目标计时时长,生成与所述当前目标计时时长对应的计时指令;向计时组件发送所述计时指令,以使得所述计时组件基于所述计时指令中携带的所述当前目标计时时长进行计时。
51.一种可选的实施方式中,所述计时装置还包括消息生成模块,用于:
52.生成与所述当前目标计时时长对应的延时消息,并将所述延时消息存储至预设存储空间中;所述延时消息中携带有所述当前计时周期对应的计时开始的第一时间戳;
53.在所述第二确定模块响应于计时达到所述当前目标计时时长,确定所述终端设备在所述当前计时周期的渲染状态变化信息,并基于所述渲染状态变化信息,确定当前计时周期的计时结果时,用于:
54.响应于接收到所述计时组件发送的计时结束信号,从所述预设存储空间中读取所述延时消息,并基于所述延时消息中携带的所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定当前计时周期的计时结果。
55.一种可选的实施方式中,所述第二确定模块,在基于所述延时消息中携带的所述当前计时周期对应的计时开始的第一时间戳、所述当前目标计时时长、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定当前计时周期的计时结果时,具体还用于:
56.响应于在当前计时周期未获得所述终端设备的渲染状态发生变化的渲染状态变化信息,基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳,确定所述计时结果;
57.响应于在当前计时周期获得所述终端设备的渲染状态发生变化的渲染状态变化信息,基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定所述计时结果。
58.一种可选的实施方式中,所述第二确定模块,在所述响应于在当前计时周期获得所述终端设备的渲染状态发生变化的渲染状态变化信息,基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定所述计时结果时,具体还用于:
59.基于所述第三时间戳对应的渲染状态、以及所述第一时间戳、和所述第二时间戳,确定所述终端设备渲染目标页面的目标时段;
60.基于所述目标时段的起始时刻、以及终止时刻,确定所述目标时段对应的渲染时长;
61.基于所述目标时段对应的渲染时长,确定所述计时结果。
62.一种可选的实施方式中,所述装置还包括发送模块,在基于所述当前计时周期对应的实际计时时长、以及所述前一计时周期对应的累计计时时长,确定当前计时周期对应的累计计时时长时,用于:
63.响应于所述当前计时周期对应的累计计时时长达到预设计时时长,向服务器发送计时请求;所述计时请求中携带有所述当前计时周期对应的累计计时时长,所述计时请求用于指示所述服务器根据所述当前计时周期对应的累计计时时长确定多个计时周期对应
的计时总时长达到目标时长后,向所述终端设备发放奖励资源,其中,所述预设计时时长是基于所述服务器发放所述奖励资源所需要的目标时长确定的。
64.一种可选的实施方式中,所述装置还包括接收模块,用于:
65.响应于接收到所述服务器发送的计时停止指令,停止计时。
66.第三方面,本公开实施例提供了一种资源发放系统,包括:终端设备、以及服务器;所述终端设备包括第一线程以及第二线程;
67.所述终端设备,用于在多个计时周期中的每个计时周期执行下述过程:
68.所述第一线程响应于接收当前计时周期的计时时长,生成与所述计时时长对应的延时消息、以及计时指令,向所述延时消息队列发送所述延时消息发、以及向计时组件发送所述计时指令;所述第二线程响应于接收到所述计时组件基于所述计时时长进行计时的计时结束信号,从所述延时消息队列中读取所述延时消息,并基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定当前累计计时时长;响应于所述当前累计计时时长达到预设时长阈值,向服务器发送计时请求。
69.第四方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
70.第五方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被渲染时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
71.本公开实施例提供的计时方法,响应于触发计时事件,确定当前计时周期对应的当前目标计时时长,并根据当前目标计时时长进行计时,根据计时达到所述目标计时时长,确定用于表征终端设备在当前计时周期的渲染状态是否发生变化的渲染状态变化信息,并根据渲染状态变化信息确定当前计时周期的计时结果。这样,由于是基于终端设备的渲染状态变化信息来确定当前计时周期的计时结果,因此能够更加准确的统计到应用程序渲染的真实时长,提升计时的准确性。
72.另外,本公开实施例中每个计时周期对应的当前目标计时时长,都是根据前一计时周期的计时结果、或者预设计时时长来确定的,因此在终端设备的渲染环境发生复杂变化的情况下,也能够适应渲染环境的复杂变化,达到准确计时的目的,提升计时的可靠性。
73.关于上述计时装置、资源发放系统、计算机设备、及计算机可读存储介质的效果描述参见上述计时方法的说明,这里不再赘述。
74.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
75.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图
仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
76.图1示出了本公开实施例所提供的一种计时方法的流程图;
77.图2示出了本公开实施例所提供的计时方法中,一种根据渲染状态变化信息确定所述计时结果具体方式的流程图;
78.图3示出了本公开实施例所提供的计时方法中,统计实际计时时长的具体方式的示意图;
79.图4示出了本公开实施例所提供的计时方法中,一种计时的具体示例;
80.图5示出了本公开实施例所提供的计时方法中,另一种计时的具体示例;
81.图6示出了本公开实施例所提供的一种资源发放系统的示意图;
82.图7示出了本公开实施例所提供的一种计时装置的示意图;
83.图8示出了本公开实施例所提供的一种计算机设备示意图。
具体实施方式
84.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
85.经研究发现,在终端设备的很多应用场景下,都存在计时的需求。例如在应用程序为游戏程序的情况下,在用户的游戏角色在游戏界面中登录成功持续一定时长后,会向游戏角色发放一定的游戏资源,在该种情况下,需要对游戏角色登录到游戏界面的时长进行计时;或者,在其他的应用程序中,在触发了某些条件下,该应用程序会跳转至某一特定的页面;该页面渲染展示一定时间后,会向用户发放一定的资源或者奖励,在该种情况下,需要对该特定页面在终端设备中的渲染时长进行计时。当前的计时方法通常采用终端设备周期性向服务器发送心跳包,服务器根据接收到的心跳包对应的时间周期的实施方式来进行计时。但是这种实施方式下,即便应用程序从前台渲染展示切换至处于后台运行,终端设备仍然会在后台运行的情况下向服务器发送心跳包,服务器仍会收到终端设备发送的心跳包,并就行计时。而实际上,应用程序在后台运行的时段,是不需统计到计时中的,因此当前的计时方法存在计时不准确的问题。
86.基于上述研究,本公开提供了一种计时方法、装置、资源发放系统、计算机存储设备及存储介质,应用于终端设备;终端设备会根据其渲染状态变化信息确定当前计时周期的计时结果,针对终端设备的渲染状态是否发生变化,分别确定不同的计时结果,因此能够更加准确的统计到应用程序渲染的真实时长,提升计时的准确性。
87.另外,本公开实施例中每个计时周期对应的当前目标计时时长,都是根据前一计时周期的计时结果、或者预设计时时长来确定的,因此在终端设备的渲染环境发生复杂变化的情况下,也能够适应渲染环境的复杂变化,达到准确计时的目的,提升计时的可靠性。
88.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
89.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
90.为便于对本实施例进行理解,首先对本公开实施例所公开的一种计时方法进行详细介绍,本公开实施例所提供的计时方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该计时方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
91.本公开实施例提供的计时方法可以应用于终端设备中部署的各种应用程序中,响应于触发计时事件,对应用程序中渲染的某个特定的页面的渲染时长进行计时。该应用程序可以是多种类型的应用程序,例如游戏类型、购物类型、金融服务类型等,本公开实施例不做限定。
92.本公开实施例提供的计时方法能够应用于终端设备。一种可能的实施方式中,在终端设备中部署有搭载了本技术计时方法的目标应用程序,其中,目标应用程序在启动后,终端设备会创建用于运行目标应用程序的主线程;主线程能够响应于计时事件被触发,执行本公开实施提供的计时方法。
93.其中,计时事件例如包括预设的目标页面被打开,例如,游戏中的虚拟角色阵亡后需要复活时打开的目标页面、应用程序启动时打开的目标页面、视频播放过程中的目标页面等,具体根据实际应用场景设定,在此不做限制。
94.示例性的,在某游戏程序,当虚拟角色在游戏中阵亡,在弹出界面中包括有复活按钮,用户点击复活按钮时,会跳转到目标页面,用户需在该目标页面停留一定的时长,停留结束后可以给予虚拟角色一次复活机会。此时,可以将跳转到目标页面的作为对计时事件的操作。
95.又例如,在应用程序启动后,若应用程序向用户展示的某个目标页面在展示一定时长后,会向用户发放一定的奖励,则此时可以将该目标页面打开的操作,作为对计时事件的触发。
96.示例性的,可以在目标页面上显示渲染的页面内容、以及计时时间,在计时期间若用户退出目标页面时,则中止计时,用户再次进入目标页面时,则继续计时,直至计时结束发放奖励,用户也可以提前退出目标页面,若用户提前退出目标页面则不发放相应奖励。
97.另外,在本公开的一些实施例中还涉及到第一线程、第二线程、以及延时消息队列,其中:
98.第一线程和第二线程分别用于执行计时过程中的某些步骤,并通过第一线程、第二线程、以及目标应用程序的主线程之间的相互协同,完成计时工作。
99.第一线程和第二线程可以是在需要进行计时的情况下产生的,并在完成计时后被销毁。或者,第一线程和第二线程是在需要计时的应用程序在终端设备中开始运行后就产
生的,并在需要计时的情况下,执行计时的逻辑,在无需计时的情况下计时逻辑停止;随着应用程序的关闭而销毁。
100.在具体的计时过程的每个计时周期中,在计时开始时,第一线程会生成延时消息,并将延时消息存储至延时消息队列中;随着该计时周期结束,在延时消息队列中的延时消息被第二线程读取后,延时消息队列中的延时消息被清除,直至接收到第一线程发送的下一计时周期的延时消息。因此,每当接收新的延时消息时,延时消息队列中已经存在的延时消息已被清空,从而保证提取延时消息时不发生冲突、或者计时的混乱。
101.另外,存储至延时消息队列中的延时消息被第二线程读取后,第二线程基于每个计时周期的渲染状态变化信息,确定每个计时周期计时结果。
102.上述第一线程、第二线程、以及延时消息队列的具体工作过程在下述进行详述。
103.本公开实施例中,每个计时周期对应有目标计时时长,该目标计时时长用于指示一个计时周期需要计时的时长。
104.下面对本公开实施例提供的计时方法加以说明。
105.参见图1所示,为本公开实施例提供的计时方法的流程图,在响应于触发目标事件,在多个计时周期中的每个计时周期,执行至少包括下述s101~s103步骤:
106.s101:确定当前计时周期对应的当前目标计时时长;其中,所述当前目标计时时长是基于预设计时时长、或者基于所述当前计时周期对应的前一计时周期的计时结果确定的。
107.在具体实施例中,不同计时周期的当前目标计时时长可能是相同的,也可能是不同的,具体根据预设计时时长、或者根据当前计时周期对应的前一计时周期的计时结果确定的。
108.在确定当前计时周期的当前目标计时时长时,可以包括但不限于下述a1~a2中的至少一种:
109.a1、当前计时周期为首个计时周期,接收目标应用程序发送的所述预设计时时长,并将所述预设计时时长确定为所述当前目标计时时长。
110.其中,所述预设计时时长是根据实际需求设定的一个固定值,也是在一次完整的计时事件中,包括的至少一个计时周期中确定的当前计时的最大时长,其具体值在此不做具体限制。
111.示例性的,所述目标应用程序发送的预设计时时长可以是由程序开发人员预先设置好,并存储至某个固定的存储空间中的;当响应于计时事件被触发,在执行首个计时周期之前,目标应用程序的主线程建立第一线程,并将目标应用程序的预设计时时长发送给第一线程,第一线程响应于接收到主线程发送的预设计时时长,开始执行首个计时周期,根据预设计时时长生成计时指令、以及延时消息,将计时指令发送给计时组件,并将延时消息存储至延时消息队列中。
112.a2、当前计时周期为非首个计时周期,基于所述前一计时周期的计时结果、以及所述前一计时周期的目标计时时长,确定所述当前目标计时时长。
113.这里,由于当前计时周期为非首个计时周期,也即,在该当前计时周期为第i(i>1)个计时周期的情况下,实际上已经得到了第i-1个计时周期对应的计时结果,该计时结果指示该第i-1个计时周期的实际计时时长。
114.而在第i-1个计时周期计时过程中,可能存在m1-m2两种情况:
115.m1:响应于所述前一计时周期对应的计时结果所指示的实际计时时长、和所述前一计时周期的目标计时时长相同,将所述预设计时时长确定为所述当前目标计时时长。
116.也即,第i-1个计时周期进行计时时,并未发生切出目标页面的情况(也即目标页面被从前台显示切换至后台显示),进而第i-1个计时周期的实际计时时长,和第i-1个计时周期的目标计时时长相等。此时,可以将预设计时时长确定为第i个计时周期对应的当前目标计时时长。
117.示例性的,在目标应用程序执行非首个计时周期时,若计时结果指示的实际计时时长与目标计时时长相等,则表示上一计时周期,目标应用程序完整的执行了目标计时时长,也即,目标应用程序在执行上一计时周期时,没有发生渲染变化。目标应用程序根据上述情况,确定当前计时周期为新的计时周期,第二线程、或者主线程将预设计时时长发送至第一线程,第一线程根据预设计时时长生成计时指令、以及延时消息,用于执行后续动作。
118.m2:响应于所述前一计时周期对应的计时结果所指示的实际计时时长、小于所述前一计时周期的目标计时时长,将所述前一计时周期的目标计时时长、和所述前一计时周期对应的计时结果所指示的实际计时时长之间的差值,确定为所述当前目标计时时长。
119.也即,在第i-1个计时周期进行计时时,发生了切出目标页面的情况,因此上一个计时周期的实际计时长t1,无法达到上一个计时周期的目标计时时长t2。因此,在当前计时周期,如果要将第i-1个计时周期中目标计时时长和实际计时时长之间的计时差值(t2-t1)补回来,则可以将该计时差值(t2-t1)作为当前第i个计时周期对应的当前目标计时时长。
120.示例性的,在目标应用程序执行非首个计时周期时,在第i-1个计时周期的计时结果指示的实际计时时长小于目标计时时长,则表示在上一个计时周期,目标应用程序没有完整的执行目标计时时长,也即,目标应用程序在执行上一计时周期时,渲染状态信息发生了变化。目标应用程序根据上述情况,确定当前计时周期还需要继续执行上一计时周期没有执行完的计时时长,则第二线程或者主线程根据上一计时周期的目标计时时长减去上一计时周期的计时结果指示的实际计时时长,得到当前计时周期的当前目标计时时长。第一线程根据当前目标计时时长生成计时指令、以及延时消息,用于执行后续动作。
121.承接上述s101,本公开实施例提供的计时方法还包括:
122.s102,基于所述当前目标计时时长进行计时。
123.在本公开提供的一个实施例中,提供一种基于当前目标计时时长进行计时的具体方式,包括:基于所述当前目标计时时长,生成与所述当前目标计时时长对应的计时指令;向计时组件发送所述计时指令,以使得所述计时组件基于所述计时指令中携带的所述当前目标计时时长进行计时。
124.其中,计时组件,例如可以是终端设备的操作系统所提供的计时用组件,其可以向终端设备的各个应用程序提供调用的接口;各个应用程序在游计时需求时,可以通过该接口调用对应的计时组件进行计时。
125.示例性的,第一线程在每一个计时周期生成计时指令,并将计时指令发送给计时组件。计时组件响应于接收到第一线程发送的计时指令,基于计时指令中携带的当前计时周期的当前目标计时时长进行计时,并在计时结束后,向所述第二线程发送所述计时结束信号。例如,计时指令中携带的当前计时周期的当前目标计时时长为10秒,则计时组件在接
收到计时指令后开始计时;当计时时长达到10秒后,针对当前计时指令的计时完毕,向第二线程发送计时结束信号。
126.承接上述s102,本公开实施例提供的计时方法还包括:
127.s103,响应于计时达到所述当前目标计时时长,确定所述终端设备在所述当前计时周期的渲染状态变化信息,并基于所述渲染状态变化信息,确定当前计时周期的计时结果,并进入下一计时周期。
128.示例性的,在目标应用程序执行当前计时周期时,第一线程根据当前目标计时时长,生成计时指令,并发送至计时组件,计时组件根据计时指令开始计时,当计时达到当前目标计时时长对应的数值时,计时组件会将计时结束信号发送至第二线程。目标应用程序判断此时终端设备的渲染状态是否发生变化,生成渲染状态变化信息,根据渲染状态变化信息确定当前计时周期的计时结果。
129.此外,若渲染状态信息发生变化,则根据渲染页面的实际渲染时长确定计时结果。
130.在本公开提供的一个实施例中,响应于接收到所述计时组件发送的计时结束信号,从所述预设存储空间中读取所述延时消息,并基于所述延时消息中携带的所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定当前计时周期的计时结果。
131.在具体实施中,计时组件向第二线程发送的计时结束信号,实际上可以视作对第二线程的使能信号。第二线程在接收到该计时结束信号后,从延时消息队列中读取延时消息。这里,延时消息队列可以存储在预设存储空间中,延时消息包括有当前计时周期对应的计时开始的第一时间戳。
132.其中,渲染状态变化信息指在当前计时周期内,终端设备是否响应用户操作,对某个目标页面的渲染状态发生变更的操作,包括但不限于目标页面对应的程序从前台渲染展示切换至后台的第一操作、将目标页面从后台切换至前台渲染展示的第二操作、完全关闭目标页面的第三操作等中的至少一种。其中,对于目标页面对应的程序从前台渲染展示切换至后台的第一操作、以及将目标页面从后台切换至前台渲染展示的第二操作,在一个计时周期内,可能未发生,可能发生一次,也可能发生多次。
133.示例性的,以目标应用程序为游戏为例,用户触发了挂机奖励操作,此时游戏的目标页面进入计时状态,当用户将游戏的目标页面切换到后台运行时,此时终端设备响应于用户的操作将目标页面的渲染状态变更为未渲染,则发生了上述第一操作,当用户切回前台运行时,此时终端设备的渲染状态变更为正在渲染,则发生了上述第二操作。
134.其中,终端设备的渲染状态变化信息可以是主线程在响应终端设备的渲染状态发生变化后,向第二线程发送的。
135.示例性的,主线程可以对终端设备对目标页面的渲染状态进行监测;每当目标页面的渲染状态发生变化后,就能够监测到渲染状态发生变化的具体时间,并将渲染状态发生变化的时间记录为第三时间戳,然后基于第三时间戳生成渲染状态变化信息,发送给第二线程。
136.其中,所述渲染状态变化信息包括:所述渲染状态发生变化时的第三时间戳、以及与所述第三时间戳对应的渲染状态。
137.这里,与第三时间戳对应的渲染状态,用于指示在该第三时间戳对应的时间后,终
端设备是否对目标页面进行渲染。
138.本公开实施例中,如图2所示,还提供一种基于所述延时消息中携带的所述当前计时周期对应的计时开始的第一时间戳、所述当前目标计时时长、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定当前计时周期的计时结果的流程图,包括以下步骤s201~s202,其中:
139.s201:响应于在当前计时周期未获得所述终端设备的渲染状态发生变化的渲染状态变化信息,基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳,确定所述计时结果。
140.其中,目标应用程序在执行当前计时周期时,若第二线程未获得终端设备响应于目标页面的渲染状态发生变化而生成的渲染状态变化信息,则表示当前目标页面的渲染状态处于连续的,则实际计时时长、和当前计时周期中,第一线程接收到的当前目标计时时长是相等的,在该种情况下,可以直接基于时间的第二时间戳、以计当前计时周期对应的计时开始的第一时间戳,确定计时结果,该计时结果指示的实际计时时长。
141.其中,该实际计时时长t满足:
142.t=(t
2-t1)
143.其中,t2表示第二时间戳;t1表示第一时间戳。
144.示例性的,目标应用程序的第一线程根据主线程发送的预设计时时长确定首个计时周期的当前目标计时时长为10秒,在该计时周期内,目标页面未触发中止渲染状态,则确定实际计时时长为10秒,例如,用户在12时30

(分)20

(秒)触发的计时事件,则目标应用程序中的第一线程在根据当前目标计时时长生成延时消息发送至延时消息队列时,记录第一时间戳为12时30

20

,与此同时,第一线程根据当前目标计时时长生成计时指令,发送至计时组件,计时组件根据计时指令开始计时,在计时10秒后停止计时,此时,计时组件将计时停止信号发送至第二线程,第二线程根据接收到计时停止信号,记录第二时间戳,该第二时间戳为12时30

30

,根据第二时间戳减去第一时间戳得到实际计时时长。
145.s202:响应于在当前计时周期获得所述终端设备的渲染状态发生变化的渲染状态变化信息,基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定所述计时结果。
146.其中,渲染状态变化信息包括:渲染状态发生变化时的第三时间戳、以及与所述第三时间戳对应的渲染状态。
147.示例性的,渲染状态发生变化,包括但不限于,将运行目标页面的目标应用程序由前台运行切换至后台运行,和/或,将运行目标页面的目标应用程序由后台运行切换回前台运行;或者,将目标页面关闭/开启。
148.在确定了渲染状态变化信息后,在本公开提供的一个实施例中,基于所述第三时间戳对应的渲染状态、以及所述第一时间戳、和所述第二时间戳,确定所述终端设备渲染目标页面的目标时段;基于所述目标时段的起始时刻、以及终止时刻,确定所述目标时段对应的渲染时长;基于所述目标时段对应的渲染时长,确定所述计时结果。
149.这里,可以基于第三时间戳对应的渲染状态、以及第一时间戳、和第二时间戳,确定终端设备渲染目标页面的目标时段。基于目标时段的起始时刻、以及终止时刻,确定目标时段对应的渲染时长。基于目标时段对应的渲染时长,确定所述计时结果。
150.其中,目标时段,是指在该时段内,对应目标页面在终端设备中渲染的时段。
151.示例性的,目标应用程序执行的当前计时周期的当前目标计时时长设定为10秒,目标应用程序的第一线程根据当前目标时长生成计时指令发送至计时组件,计时组件根据计时指令开始计时,与此同时,第一线程根据当前目标计时时长生成延时消息发送至延时消息队列,并记录开始渲染的第一时间戳,在目标页面开始渲染并经过第4秒时,用户将目标应用程序切换至后台运行,终端设备响应于用户的操作,中止目标页面的渲染状态,此时记录目标页面的渲染状态从正在渲染变更为未渲染的第三时间戳,根据第三时间戳和第一时间戳能够确定目标页面的实际渲染对应的目标时段,该目标时段对应的时长为4秒。
152.通过上述确定目标页面的渲染时长的方式,若在当前计时周期内存在多个目标时段,也即,用户多次进行改变渲染状态的操作,可以将目标时段分别对应的时长进行累加,即可得到在当前计时周期对应的实际计时时长。
153.在本公开提供的一个实施例中,基于所述当前计时周期对应的实际计时时长、以及所述前一计时周期对应的累计计时时长,确定当前计时周期对应的累计计时时长;响应于所述当前计时周期对应的累计计时时长达到预设计时时长,向服务器发送计时请求;所述计时请求中携带有所述当前计时周期对应的累计计时时长,所述计时请求用于指示所述服务器根据所述当前计时周期对应的累计计时时长确定多个计时周期对应的计时总时长达到目标时长后,向所述终端设备发放奖励资源,其中,所述预设计时时长是基于所述服务器发放所述奖励资源所需要的目标时长确定的。
154.这里,若服务器发放所述奖励资源所需要的计时总时长为60秒,那么,预设计时时长可以设置为60秒,或者设置为20秒、10秒、5秒等可以被60秒整除的时长为佳。
155.示例性的,目标应用程序根据用户触发的计时事件打开目标页面,该目标页面渲染30秒后,也即,目标时长达到30秒后,可以向用户所使用的目标应用程序发放资源奖励,如图3所示,在本公开提供的某次计时事件触发资源奖励的计时周期示例图中,上方虚实线段中实线部分表示此时目标页面处于渲染状态,虚线部分表示此时目标页面处于非渲染状态,触发计时请求点表示满足一个计时周期的预设计时时长,下方虚线线段表示为一个计时周期的当前目标计时时长。
156.在第一个计时周期中,假设预设计时时长为10秒,目标应用程序的第一线程根据预设计时时长确定该计时周期的当前目标计时时长,并根据当前目标计时时长生成计时指令发送至计时组件,同时,生成延时消息发送至延时消息队列,延时消息中携带的目标页面开始渲染的第一时间戳为8时20

10

,在经过4秒后,用户将目标应用程序切换至后台运行,终端设备响应于用户操作,中止目标页面的渲染状态,此时记录中止目标页面的渲染状态的第二时间戳为8时20

14

,在经过2秒后,用户将目标应用程序切换至前台运行并直至当前目标计时时长结束,记录恢复渲染状态的第三时间戳为8时20

16

、记录计时周期停止的第四时间戳为8时20

20

,此时,可以得到在第一个计时周期中,目标页面的渲染时长,也即当前计时周期的实际计时时长,也即相对于下一个计时周期的累计计时时长为8秒,第一线程根据实际计时时长,确定第二个计时周期的目标计时时长为2秒。
157.在第二个计时周期中,目标页面开始渲染的第一时间戳为8时20

20

,在经过2秒后,由于当前计时周期的实际计时时长加上前一计时周期的累计计时时长达到预设计时时长。预设计时时长的第五时间戳为8时20

22

,此时,目标应用程序的第二线程向服务器发
送计时请求。
158.服务器收到计时请求后,根据请求次数确定计时总时长,也即,根据预设计时时长为10秒,在请求次数达到3次时,根据请求次数确定的计时总时长达到目标时长后,向终端设备的目标应用程序发放奖励资源。
159.此外,在发放了奖励资源后,计时事件终止,等待用户触发下一次计时事件,因此,服务器发放了奖励资源后,还会发送给计时停止指令,用于停止计时组件计时。
160.在本公开提供的一个实施例中,响应于接收到所述服务器发送的计时停止指令,停止计时。
161.示例性的,目标应用程序响应于接收到服务器发送的计时结束指令,控制计时组件停止计时,消除延时消息队列、并终止第一线程和第二线程,释放系统资源。
162.本公开实施例还提供一进行计时的具体示例,如图4所示,在一种计时方法的具体示例中,终端设备中部署有目标应用程序。
163.在响应于计时事件被触发后,目标应用程序的主线程生成第一线程、第二线程、以及延时消息队列。
164.在首个计时周期开始前,主线程向第一线程发送首个计时周期t,该计时周期t的当前目标计时时长为20秒。
165.第一线程响应于接收到主线程发送的首个计时周期t,基于首个计时周期t的计时时长产生延时消息m,同时记录时间戳t1,并将延时消息m发送至延时消息队列,以及向计时组件发送计时指令,该计时指令中携带了计时周期t信息。
166.计时组件接收到计时指令后,进行计时,并在计时达到计时周期t的计时时长后,向第二线程发送消息处理信号,通知其处理延时消息m。
167.第二线程接收到延时消息m后,根据时间戳t1以及当前终端设备时间戳t2,计算首个计时周期t的累计计时时长,若累计计时时长达到预设计时时长,则向服务器发送计时请求。
168.服务器收到终端设备发送的计时请求后,更新计时的总时长,并判断更新后的总计时时长是否达到目标计时时长设置的10分钟,如果达到,则向终端设备发放奖励。并向第二线程发送终止计时消息,销毁延时消息队列释放资源。
169.第二线程收到服务器发送的终止计时消息,先销毁第一线程,再销毁自身。
170.如图5所示,主线程在延时消息m被第二线程读取之前,接收到中止渲染状态的事件发生,记录中止渲染状态时的时间戳t2,并向第二线程发送目标页面渲染状态改变的第二信号。
171.第二线程接收到计时组件发送的消息处理信号,从延时消息队列中读取延时消息m之后,响应于读取到该消息m,且根据第二信号判断出当前的目标页面的渲染状态为未渲染状态,计算目标时段的渲染时长。
172.将在计时周期t内的所有目标时段的渲染时长相加,得到实际计时时长d。
173.d1:若该实际计时时长d小于预设计时时长,则根据t1=t-d,得到新的计时周期t1,将该计时周期t1发送给第一线程。
174.第一线程响应于接收到新的计时周期t1,根据新的计时周期t1生成新的延时消息m1。
175.d2:若该实际计时时长d等于预设计时时长,则新的计时周期t1的当前目标计时时长为预设计时时长。第一线程响应于接收到新的计时周期t1,生成新的延时消息m2。
176.主线程在m1或m2被第二线程读取前,接收到恢复渲染状态的事件发生的第三信号,记录恢复渲染状态时的第三时间戳t3,并向第二线程发送渲染状态改变的第三信号。
177.第二线程接收到计时组件发送的消息处理信号,从延时消息队列中读取延时消息m1或m2,响应于读取到该消息,且根据第三信号判断出当前目标页面的渲染状态为重新开始渲染状态,基于起始时间戳t1、中止渲染状态的时间戳t2、恢复渲染状态的时间戳t3以及当前终端设备的时间戳t4,确定终端设备渲染目标页面的目标时段,从而确定目标时段对应的渲染时长,基于目标时段对应的渲染时长,得到实际计时时长d。
178.d=(t
4-t3)+(t
2-t1)
179.其中,目标时段,是指在该时段内,对应目标页面在终端设备中渲染的时段。
180.在确定目标时段后,将目标时段分别对应的时长进行累加,即可得到在当前计时周期对应的实际渲染时长。
181.然后,将实际渲染时长、以及当前记录的历史计时时长相加,得到当前累计计时时长d。
182.基于同一发明构思,如图6所示,本公开实施例中还提供了一种资源发放系统,包括:终端设备602、以及服务器601;所述终端设备602包括第一线程603以及第二线程604;终端设备602用于在多个计时周期中的每个计时周期执行下述过程:第一线程603响应于接收当前计时周期的计时时长,生成与计时时长对应的延时消息、以及计时指令,向延时消息队列发送延时消息、以及向计时组件发送计时指令;第二线程604响应于接收到计时组件基于计时时长进行计时的计时结束信号,从延时消息队列中读取延时消息,并基于当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及终端设备602的渲染状态变化信息,确定所述计时结果;响应于当前累计计时时长达到预设计时时长,向服务器601发送计时请求。终端设备602,用于响应于接收到终端设备602发送的计时请求,确定当前目标累计计时时长;响应于当前目标累计计时时长达到预设时长,向终端设备602发放目标资源。
183.本公开实施例中,终端设备602中的第一线程603、第二线程604在执行多个计时周期的具体过程,与上述任一实施例所述的计时方式类似,具体可参见上述图1~图5对应的实施例的具体描述,在此不再赘述。
184.本公开实施例中,终端设备会根据其渲染状态变化信息确定所述计时结果,在当前累计计时时长达到预设计时时长后,才会向服务器发送计时请求,从而能够在终端设备的渲染状态发生变化的情况下,进行精确计时。
185.另外,每个计时周期对应的当前目标计时时长,都是根据前一计时周期的计时结果、以及目标计时时长来确定的,因此在终端设备的渲染环境发生复杂变化的情况下,也能够适应渲染环境的复杂变化,达到准确计时的目的,提升计时的可靠性,也使得基于上述计时方法进行计时,并发放虚拟资源的方式更加的准确。
186.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
187.基于同一发明构思,本公开实施例中还提供了与计时方法对应的计时装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述计时方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
188.参照图7所示,为本公开实施例提供的一种计时装置的示意图,该装置应用于终端设备;
189.所述计时装置包括:
190.第一确定模块701,用于确定当前计时周期对应的当前目标计时时长;其中,所述当前目标计时时长是基于预设计时时长、或者基于所述当前计时周期对应的前一计时周期的计时结果确定的;
191.计时模块702,用于基于所述当前目标计时时长进行计时;
192.第二确定模块703,用于响应于计时达到所述当前目标计时时长,确定所述终端设备在所述当前计时周期的渲染状态变化信息,并基于所述渲染状态变化信息,确定当前计时周期的计时结果,并进入下一计时周期。
193.一种可选的实施方式中,所述第一确定模块701在响应于所述当前计时周期为首个计时周期,所述确定当前计时周期对应的当前目标计时时长时,用于:
194.接收目标应用程序发送的所述预设计时时长,并将所述预设计时时长确定为所述当前目标计时时长;
195.所述第一确定模块701在响应于所述当前计时周期为非首个计数周期,所述确定当前计时周期对应的当前目标计时时长时,具体用于:
196.基于所述前一计时周期的计时结果、以及所述前一计时周期的目标计时时长,确定所述当前目标计时时长。
197.一种可选的实施方式中,所述第一确定模块701在所述基于所述前一计时周期的计时结果、以及所述前一计时周期的目标计时时长,确定所述当前目标计时时长时,具体还用于:
198.确定所述前一计时周期对应的计时结果所指示的实际计时时长、是否和所述前一计时周期的目标计时时长相等;
199.响应于所述前一计时周期对应的计时结果所指示的实际计时时长、和所述前一计时周期的目标计时时长相同,将所述预设计时时长确定为所述当前目标计时时长;
200.响应于所述前一计时周期对应的计时结果所指示的实际计时时长、小于所述前一计时周期的目标计时时长,将所述前一计时周期的目标计时时长、和所述前一计时周期对应的计时结果所指示的实际计时时长之间的差值,确定为所述当前目标计时时长。
201.一种可选的实施方式中,所述计时模块702在所述基于所述当前目标计时时长进行计时时,用于:
202.基于所述当前目标计时时长,生成与所述当前目标计时时长对应的计时指令;向计时组件发送所述计时指令,以使得所述计时组件基于所述计时指令中携带的所述当前目标计时时长进行计时。
203.一种可选的实施方式中,所述计时装置还包括消息生成模块704,用于:
204.生成与所述当前目标计时时长对应的延时消息,并将所述延时消息存储至预设存储空间中;所述延时消息中携带有所述当前计时周期对应的计时开始的第一时间戳;
205.所述第二确定模块703在响应于计时达到所述当前目标计时时长,确定所述终端设备在所述当前计时周期的渲染状态变化信息,并基于所述渲染状态变化信息,确定当前计时周期的计时结果时,用于:
206.响应于接收到所述计时组件发送的计时结束信号,从所述预设存储空间中读取所述延时消息,并基于所述延时消息中携带的所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定当前计时周期的计时结果。
207.一种可选的实施方式中,所述第二确定模块703,在基于所述延时消息中携带的所述当前计时周期对应的计时开始的第一时间戳、所述当前目标计时时长、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定当前计时周期的计时结果时,具体还用于:
208.响应于在当前计时周期未获得所述终端设备的渲染状态发生变化的渲染状态变化信息,基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳,确定所述计时结果;
209.响应于在当前计时周期获得所述终端设备的渲染状态发生变化的渲染状态变化信息,基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定所述计时结果。
210.一种可选的实施方式中,所述第二确定模块703,在所述响应于在当前计时周期获得所述终端设备的渲染状态发生变化的渲染状态变化信息,基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定所述计时结果时,具体还用于:
211.基于所述第三时间戳对应的渲染状态、以及所述第一时间戳、和所述第二时间戳,确定所述终端设备渲染目标页面的目标时段;
212.基于所述目标时段的起始时刻、以及终止时刻,确定所述目标时段对应的渲染时长;
213.基于所述目标时段对应的渲染时长,确定所述计时结果。
214.一种可选的实施方式中,所述装置还包括第一响应模块706,在基于所述当前计时周期对应的实际计时时长、以及所述前一计时周期对应的累计计时时长,确定当前计时周期对应的累计计时时长时,用于:
215.响应于所述当前计时周期对应的累计计时时长达到预设计时时长,向服务器发送计时请求;所述计时请求中携带有所述当前计时周期对应的累计计时时长,所述计时请求用于指示所述服务器根据所述当前计时周期对应的累计计时时长确定多个计时周期对应的计时总时长达到目标时长后,向所述终端设备发放奖励资源,其中,所述预设计时时长是基于所述服务器发放所述奖励资源所需要的目标时长确定的。
216.一种可选的实施方式中,所述装置还包括第二响应模块705,用于:
217.响应于接收到所述服务器发送的计时停止指令,停止计时。
218.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
219.本公开实施例还提供了一种计算机设备,如图8所示,为本公开实施例提供的计算
机设备结构示意图,包括:
220.处理器801和存储器802;所述存储器802存储有处理器801可执行的机器可读指令,处理器801用于执行存储器802中存储的机器可读指令,所述机器可读指令被处理器801执行时,处理器801执行下述步骤:
221.响应于触发计时事件,在多个计时周期中的每个计时周期,执行下述过程:
222.确定当前计时周期对应的当前目标计时时长;其中,所述当前目标计时时长是基于预设计时时长、或者基于所述当前计时周期对应的前一计时周期的计时结果确定的;
223.基于所述当前目标计时时长进行计时;
224.响应于计时达到所述当前目标计时时长,确定所述终端设备在所述当前计时周期的渲染状态变化信息,并基于所述渲染状态变化信息,确定当前计时周期的计时结果,并进入下一计时周期。
225.或者,
226.在多个计时周期中的每个计时周期执行下述过程:
227.所述第一线程响应于接收当前计时周期的计时时长,生成与所述计时时长对应的延时消息、以及计时指令,向所述延时消息队列发送所述延时消息发、以及向计时组件发送所述计时指令;所述第二线程响应于接收到所述计时组件基于所述计时时长进行计时的计时结束信号,从所述延时消息队列中读取所述延时消息,并基于所述当前计时周期对应的计时开始的第一时间戳、当前时间的第二时间戳、以及所述终端设备的渲染状态变化信息,确定当前累计计时时长;响应于所述当前累计计时时长达到预设时长阈值,向服务器发送计时请求。
228.上述存储器802包括内存8021和外部存储器8022;这里的内存8021也称内存储器,用于暂时存放处理器801中的运算数据,以及与硬盘等外部存储器8022交换的数据,处理器801通过内存8021与外部存储器8022进行数据交换。
229.上述指令的具体执行过程可以参考本公开实施例中所述的计时方法的步骤,此处不再赘述。
230.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器渲染时执行上述方法实施例中所述的计时方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
231.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的计时方法的步骤,具体可参见上述方法实施例,在此不再赘述。
232.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
233.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功
能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
234.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
235.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
236.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
237.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1