一种标题栏数据展示方法及***
技术领域
本发明涉及数据处理技术领域,具体涉及一种标题栏数据展示方法及***。
背景技术
在客户端的页面直播列表中,通常会涉及到标题栏,标题栏中的数据通常由多级标题数据组成,比如,整个标题栏中的数据由二级标题数据和三级标题数据共同组成。而对于二级标题数据和三级标题数据的获取是分别向服务器发送网络请求,得到服务器返回的二级标题数据和三级标题数据。然后需要对二级标题数据和三级标题数据进行合并,展示于页面的标题栏中。
传统的实现方式是对每一个网络请求设计一个布尔值,当布尔值为ture时,表明网络请求完成,当布尔值为false时,表明网络请求未完成。同时需要开启一个定时器来监控所有布尔值的变化,当所有的布尔值均为true时,才能对所有级别的标题数据进行合并。
采用这种方式时,当网络请求的数量很多时,设计的布尔值的数量也很多,使得程序维护起来比较复杂,同时因为开启了定时器导致***资源开销增大。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的标题栏数据展示方法及***。
根据本发明的第一方面,提供了一种标题栏数据展示方法,包括:
S1,通过消息驱动器监控各个网络请求完成的状态信息,其中,每一个网络请求用于向服务器请求标题栏中各级标题数据;
S2,将接收到服务器针对每一个网络请求返回的各级标题数据缓存到配置的数据包装组件中;
S3,当通过消息驱动器确定所有的网络请求完成时,触发数据包装组件对缓存的各级标题数据进行组装,并将组装后的各级标题数据展示于标题栏中。
本发明的有益效果为:通过在客户端中设计消息驱动器来完成标题栏各级标题数据的同步请求过程,并且设计数据包装组件来统一对各级标题数据进行组装处理,使得开发程序更加简洁明了,以及减少***资源开销。
在上述技术方案的基础上,本发明还可以作如下改进。
进一步的,所述标题栏中的每一级标题数据对应一个网络请求,所述网络请求用于向服务器请求对应级别的标题数据。
进一步的,所述步骤S1之前还包括:
在所述消息驱动器内部配置每一个网络请求的回调函数,以使得所述消息驱动器通过每一个回调函数监控各个网络请求完成的状态信息。
进一步的,所述步骤S1还包括:
在所述消息驱动器中设计静态全局变量count,该静态全局变量count用来表示所有网络请求中未完成的网络请求数量。
进一步的,所述步骤S2还包括:
当接收到服务器针对网络请求返回的对应级别的标题数据后,消息驱动器基于该网络请求的回调函数将静态全局变量count逐一递减。
相应地,所述步骤S3中通过如下方式确定所有的网络请求完成:
消息驱动器判定所述静态全局变量count是否为0,若为0,则确定所有的网络请求均完成,否则,继续执行步骤S2,直到静态全局变量为0。
进一步的,所述步骤S2还包括:
配置数据包装组件,并在数据包装组件中设计数据处理函数;
所述步骤S3进一步包括:
当消息驱动器确定所有的网络请求均完成时,向数据包装组件发送所有网络请求均已完成的消息,以便数据包装组件根据接收的消息调用数据处理函数对缓存中的各级标题数据进行组装处理。
进一步的,所述数据包装组件根据接收的消息调用数据处理函数对缓存中的各级标题数据进行组装处理进一步包括:
数据包装组件调用数据处理函数对各级标题数据进行组合,形成组装后的标题数据,并将组装后的标题数据传递给用户界面层,实现在标题栏中对组装后的标题数据的展示。
根据本发明的第二方面,还提供了一种标题栏数据展示***,包括消息驱动器和数据包装组件;
所述消息驱动器,用于监控各个网络请求完成的状态信息,其中,每一个网络请求用于向服务器请求标题栏中各级标题数据;还用于当确定所有的网络请求完成时,触发数据包装组件;
数据包装组件,用于缓存针对每一个网络请求返回的各级标题数据;还用于根据所述消息驱动器的触发,对缓存的各级标题数据进行组装,并将组装后的各级标题数据展示于标题栏中。
根据本发明的第三方面,提供了一种标题栏数据展示方法的设备,包括处理器、存储器和总线;
所述处理器和存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上各实施方法。
根据本发明的第四方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上各实施方法。
附图说明
图1为本发明一个实施例的标题栏数据展示方法流程图;
图2为本发明另一个实施例的标题栏数据展示***连接框图;
图3为本发明又一个实施例的标题栏数据展示***整体连接框图;
图4为本发明再一个实施例的标题栏数据展示方法的设备连接框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
参见图1,提供了本发明一个实施例的标题栏数据展示方法,包括:S1,通过消息驱动器监控各个网络请求完成的状态信息,其中,每一个网络请求用于向服务器请求标题栏中各级标题数据;S2,将接收到服务器针对每一个网络请求返回的各级标题数据缓存到配置的数据包装组件中;S3,当通过消息驱动器确定所有的网络请求完成时,触发数据包装组件对缓存的各级标题数据进行组装,并将组装后的各级标题数据在展示于标题栏中。
在客户端的页面直播列表中,通常会涉及到标题栏,标题栏中的数据通常由多级标题数据组成,比如,整个标题栏中的数据由二级标题数据和三级标题数据共同组成。而对于二级标题数据和三级标题数据的获取是分别向服务器发送网络请求,得到服务器返回的二级标题数据和三级标题数据。然后需要对二级标题数据和三级标题数据进行合并,展示于页面的标题栏中。传统的实现方式是对每一个网络请求设计一个布尔值,并同时开启一个定时器来监控所有布尔值的变化,当所有的布尔值均为true时,对所有级别的标题数据进行合并。当网络请求的数量很多时,设计的布尔值的数量很多,同时因为开启了定时器导致***资源开销增大。
基于上述问题,本实施例提供了一套标题栏数据展示方法,能够减小***开销。该方法的具体实现为,在客户端中配置消息驱动器,通过消息驱动器监控所有网络请求完成的状态信息,其中,为标题栏中的每一级标题设置一个网络请求,客户端通过每一个网络请求向服务器请求对应级别的标题数据。服务器接收到网络请求后,向客户端返回相应级别的标题数据。在客户端中还配置一个数据包装组件,客户端将服务器返回的各级标题数据缓存到数据包装组件中。当消息驱动器确定标题栏中各级标题对应的网络请求均已完成时,即标题栏中各级标题数据均已得到时,消息驱动器触发数据包装组件对缓存的所有级别的标题数据进行组装处理,并将组装后的数据在标题栏中进行展示。
本实施例通过在客户端设计消息驱动器来完成标题栏各级标题数据的同步请求过程,并且通过设计数据包装组件来统一对各级标题数据进行组装处理,使得开发程序更加简洁明了,以及减少***资源开销。
在上述实施例的基础上,本发明的一个实施例中,所述标题栏中的每一级标题数据对应一个网络请求,所述网络请求用于向服务器请求对应级别的标题数据。
在本实施例的应用场景下,标题栏中包括多级标题数据,比如,整个标题栏中的数据由二级标题数据和三级标题数据组成。每一级标题对应的一个网络请求,每一个网络请求是用来向服务器对应级别的标题数据,其中,每一个网络请求是相互独立的。
在上述各实施例的基础上,本发明的另一个实施例中,所述步骤S1之前还包括:在所述消息驱动器内部配置每一个网络请求的回调函数,以使得所述消息驱动器通过每一个回调函数监控各个网络请求完成的状态信息。
在客户端中配置的消息驱动器与各个网络请求为强耦合关系,具体为消息驱动器内部持有每一个网络请求的回调函数,即当网络请求完成了向服务器的请求后,会通过回调函数向消息驱动器告知网络请求完成的状态信息,这样消息驱动器就能够得知每一个网络请求的状态信息。本实施例中,设计消息驱动器与每一个网络请求为强耦合关系,这样消息驱动器就能够直接得知每一个网络请求是否完成的状态信息。
在上述各个实施例的基础上,本发明的另一个实施例中,所述步骤S1还包括:在所述消息驱动器中设计静态全局变量count,该静态全局变量count用来表示所有网络请求中未完成的网络请求数量。
由于各级标题均对应有一个网络请求,因此,对于整个标题栏,会有多个网络请求,只有当所有的网络请求均完成时,才能够对所有级别的标题数据进行合并。在判断所有的网络请求是否均完成时,传统的方案是为每一个网络请求定义一个布尔值,当网络请求成功完成时,将该网络请求的布尔值设置为true。然后开启一个定时器,定时对所有的布尔值进行扫描,当扫描到所有的布尔值全部为ture时,表明所有的数据请求都已经完成,此时才能够对所有级别的数据进行组合。
传统的方案需要维系多个布尔值,当网络请求数量较多时,布尔值的数量也较多,使得程序维护比较复杂,同时因为开启了定时器对所有的布尔值进行监控导致***资源开销增大。
而在本实施例中,在消息驱动器中设计了一个静态全局变量count,这个全局静态变量表示所有网络请求中未完成的网络请求的数量。比如,初始状态下,标题栏中有3级标题数据,对应有3个网络请求,那么静态全局变量的初始值为3。当任意一个网络请求完成时,会通过回调函数通知消息驱动器该网络请求已完成,此时消息驱动器将静态全局变量count的数值减1,并将服务器返回的对应级别的标题数据缓存于数据包装组件中。然后再判定静态全局变量count的值是否为0,若为0,表示所有的网络请求均已完成,否则,并非所有的网络请求均已完成。如果静态全局变量count的值不为0,则继续等待,当下一个网络请求完成时,继续将静态全局变量count的值减1,再重新判断静态全局变量count的值是否为0,重复上述的步骤,直到静态全局变量count的值为0。
本实施例通过设计消息驱动器的方式来有效解决多个网络请求同步的问题,并且在消息驱动器中设计静态全局变量count来记录网络请求访问成功的次数,当静态全局变量count的值为0时,表明所有的网络请求均已完成。只需要设计一个静态全局变量即可监控所有的网络请求是否已完成,相比传统的为每一个网络请求均配置一个布尔值,以及开启定时器的方案,使得程序更加简洁明了,节约了***开销。
在上述各实施例的基础上,本发明的另一个实施例中,所述步骤S2还包括:配置数据包装组件,并在数据包装组件中设计数据处理函数;所述步骤S3进一步包括:当消息驱动器确定所有的网络请求均完成时,向数据包装组件发送消息,以便数据包装组件根据接收的消息调用数据处理函数对缓存的各级标题数据进行组装处理。
当消息驱动器中的静态全局变量count的值为0时,消息驱动器会向数据包装组件发送所有网络请求均已完成的消息,数据包装组件接收到消息后,对缓存的所有级别的标题数据并合并。
在传统进行数据组装的过程中,为每一个网络请求返回的各级标题数据均涉及一个处理函数,通过处理函数对对应级别的标题数据进行处理,然后将处理后的数据进行组装,这样在多个不同的处理函数中处理各级标题数据,使得数据整合非常繁琐。而本实施例中对各级标题数据具体合并的实现为,在数据包装组件中设计数据处理函数handleData,该数据处理函数handleData用来处理数据业务组装。当消息驱动器中的静态全局变量count的值为0时,数据包装组件调用数据处理函数handleData来对各级标题数据进行组装处理,具体的组装过程为,数据包装组件调用数据处理函数筛选出各级标题数据中需要的数据信息,并将数据信息组合在一起,形成组装后的标题数据,再将组装后的标题数据传递给用户界面层,实现在标题栏中对组装后的标题数据的展示。其中,在标题栏中是以各级标题数据的形式进行展示的。
参见图2,提供了本发明的另一个实施例的标题栏数据展示***,包括消息驱动器21和数据包装组件22。
所述消息驱动器21,用于监控各个网络请求完成的状态信息,其中,每一个网络请求用于向服务器请求标题栏中各级标题数据;还用于当确定所有的网络请求完成时,触发数据包装组件23。
数据包装组件22,用于缓存针对每一个网络请求返回的各级标题数据;还用于根据所述消息驱动器21的触发,对缓存的各级标题数据进行组装,并将组装后的各级标题数据展示于标题栏中。
参见图3,提供了本发明的又一个实施例的标题栏数据展示******,在上述实施例的基础上,标题栏数据展示***还包括配置模块23。
配置模块23,用于在消息驱动器21内部配置每一个网络请求的回调函数,以使得所述消息驱动器21通过每一个回调函数监控各个网络请求完成的状态信息。
配置模块24,还用于在消息驱动器21中设计静态全局变量count,该静态全局变量count用来表示所有网络请求中未完成的网络请求数量.
消息驱动器21,还用于当客户端接收到服务器针对网络请求返回的对应级别的标题数据后,基于该网络请求的回调函数将静态全局变量count逐一递减;以及还用于判定静态全局变量count是否为0,若为0,则确定所有的网络请求均完成,否则,调用存储模块22,直到静态全局变量为0。
配置模块23,还用于在客户端中配置数据包装组件22,并在数据包装组件中22设计数据处理函数。
相应地,消息驱动器21,还用于当确定所有的网络请求均完成时,向数据包装组件22发送所有网络请求均已完成的消息。
数据包装组件22,还用于根据接收的消息调用数据处理函数对缓存的各级标题数据进行组装处理。
参见图4,示出本申请实施例的标题栏数据展示方法的设备的结构框图。
参照图4,标题栏数据展示方法的设备包括:处理器(processor)401、存储器(memory)402和总线403;其中,所述处理器401和存储器402通过所述总线403完成相互间的通信。
所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:通过消息驱动器监控各个网络请求完成的状态信息,其中,每一个网络请求用于向服务器请求标题栏中各级标题数据;将接收到服务器针对每一个网络请求返回的各级标题数据缓存到配置的数据包装组件中;当通过消息驱动器确定所有的网络请求完成时,触发数据包装组件对缓存的各级标题数据进行组装,并将组装后的各级标题数据展示于标题栏中。
本发明公开一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,该计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述对应实施例所提供的标题栏数据展示方法,例如包括:通过消息驱动器监控各个网络请求完成的状态信息,其中,每一个网络请求用于向服务器请求标题栏中各级标题数据;将接收到服务器针对每一个网络请求返回的各级标题数据缓存到配置的数据包装组件中;当通过消息驱动器确定所有的网络请求完成时,触发数据包装组件对缓存的各级标题数据进行组装,并将组装后的各级标题数据展示于标题栏中。
本发明还提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述对应实施例所提供的标题栏数据展示方法,例如包括:通过消息驱动器监控各个网络请求完成的状态信息,其中,每一个网络请求用于向服务器请求标题栏中各级标题数据;将接收到服务器针对每一个网络请求返回的各级标题数据缓存到配置的数据包装组件中;当通过消息驱动器确定所有的网络请求完成时,触发数据包装组件对缓存的各级标题数据进行组装,并将组装后的各级标题数据展示于标题栏中。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的标题栏数据展示方法的设备等实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分方法。
本发明提供的一种标题栏数据展示方法及***,通过在客户端中设计消息驱动器来完成标题栏各级标题数据的同步请求过程,并且设计数据包装组件来统一对各级标题数据进行组装处理,使得开发程序更加简洁明了,以及减少***资源开销。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。