一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据请求方法、数据处理方法、相关装置、设备及系统与流程

2022-03-09 00:15:26 来源:中国专利 TAG:
1.本发明涉及计算机
技术领域
:,尤其涉及一种数据请求方法、数据处理方法、相关装置、相关设备、前向业务服务系统及计算机可读存储介质。
背景技术
::2.计算机
技术领域
:中,前向业务指的是在终端设备前端打开页面以请求显示页面上数据的业务。目前,随着业务的发展壮大,前向业务需要依赖多方数据进行融合,比如基于推荐、人工运营数据及多个垂直业务方。3.当业务复杂度提升的时候,前向业务服务需要对接更多的业务数据接口来支撑基础业务;这样,会使得前向业务服务的压力逐渐增大,其主要表现在服务稳定性等指标上。同时,前向业务服务的环境比如机器负载也随之增大,当机器负载上升的时候也会影响到前向业务服务的稳定性。4.因此,现有技术中前向业务服务存在服务稳定性比较差的问题。技术实现要素:5.本发明实施例提供一种数据请求方法、数据处理方法、相关装置、相关设备、前向业务服务系统及计算机可读存储介质,以解决现有技术中前向业务服务存在服务稳定性比较差的问题。6.第一方面,本发明实施例提供了一种数据请求方法,所述方法应用于前向业务服务器,包括:7.接收终端设备发送的第一数据请求;其中,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数;8.基于所述第一数据请求,生成第二数据请求;其中,所述第二数据请求中携带有各所述数据接口的请求参数;9.将所述第二数据请求发送给请求分发服务器;10.其中,所述第二数据请求用于供所述请求分发服务器基于各所述数据接口的请求参数生成与所述n个数据接口一一对应的n个第三数据请求,每一所述第三数据请求用于向数据服务器请求一所述数据接口的业务数据。11.第二方面,本发明实施例提供了一种数据处理方法,所述方法应用于前向业务服务器,包括:12.接收请求分发服务器发送的业务数据包;其中,所述业务数据包中包括n个数据接口的业务数据,所述n个数据接口的业务数据为所述请求分发服务器基于与所述n个数据接口一一对应的n个第三数据请求向数据服务器请求获得,所述n个第三数据请求为所述请求分发服务器基于所述前向业务服务器发送的第二数据请求中所述n个数据接口的请求参数生成,所述第二数据请求为所述前向业务服务器基于终端设备发送的第一数据请求生成,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数;13.对所述业务数据包进行拆分,获得各所述数据接口的业务数据;14.将各所述数据接口的业务数据组装后发送给所述终端设备。15.第三方面,本发明实施例提供了一种数据请求方法,所述方法应用于请求分发服务器,包括:16.接收前向业务服务器发送的第二数据请求;其中,所述第二数据请求为基于第一数据请求所生成的数据请求,所述第一数据请求为终端设备发送的数据请求,用于请求n个数据接口的业务数据,n为大于1的正整数,所述第二数据请求中携带有各所述数据接口的请求参数;17.基于所述第二数据请求中各所述数据接口的请求参数,生成与所述n个数据接口一一对应的n个第三数据请求;18.分别向每一所述数据接口对应的数据服务器发送该数据接口的第三数据请求,以请求所述n个数据接口的业务数据。19.第四方面,本发明实施例提供了一种数据处理方法,所述方法应用于请求分发服务器,包括:20.接收n个数据接口中每一数据接口对应的数据服务器发送的业务数据,获得所述n个数据接口的业务数据;其中,所述n个数据接口的业务数据基于所述n个数据接口一一对应的n个第三数据请求向数据服务器请求获得,所述n个第三数据请求基于前向业务服务器发送的第二数据请求中所述n个数据接口的请求参数生成,所述第二数据请求为所述前向业务服务器基于终端设备发送的第一数据请求生成,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数;21.对所述n个数据接口的业务数据进行合并,生成业务数据包;22.将所述业务数据包发送给所述前向业务服务器。23.第五方面,本发明实施例还提供一种数据请求装置,所述装置应用于前向业务服务器,包括:24.第一接收模块,用于接收终端设备发送的第一数据请求;其中,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数;25.第一生成模块,用于基于所述第一数据请求,生成第二数据请求;其中,所述第二数据请求中携带有各所述数据接口的请求参数;26.第一发送模块,用于将所述第二数据请求发送给请求分发服务器;27.其中,所述第二数据请求用于供所述请求分发服务器基于各所述数据接口的请求参数生成与所述n个数据接口一一对应的n个第三数据请求,每一所述第三数据请求用于向数据服务器请求一所述数据接口的业务数据。28.第六方面,本发明实施例还提供一种数据处理装置,所述装置应用于前向业务服务器,包括:29.第二接收模块,用于接收请求分发服务器发送的业务数据包;其中,所述业务数据包中包括n个数据接口的业务数据,所述n个数据接口的业务数据为所述请求分发服务器基于与所述n个数据接口一一对应的n个第三数据请求向数据服务器请求获得,所述n个第三数据请求为所述请求分发服务器基于所述前向业务服务器发送的第二数据请求中所述n个数据接口的请求参数生成,所述第二数据请求为所述前向业务服务器基于终端设备发送的第一数据请求生成,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数;30.拆分模块,用于对所述业务数据包进行拆分,获得各所述数据接口的业务数据;31.第二发送模块,用于将各所述数据接口的业务数据组装后发送给所述终端设备。32.第七方面,本发明实施例还提供一种数据请求装置,所述装置应用于请求分发服务器,包括:33.第三接收模块,用于接收前向业务服务器发送的第二数据请求;其中,所述第二数据请求为基于第一数据请求所生成的数据请求,所述第一数据请求为终端设备发送的数据请求,用于请求n个数据接口的业务数据,n为大于1的正整数,所述第二数据请求中携带有各所述数据接口的请求参数;34.生成模块,用于基于所述第二数据请求中各所述数据接口的请求参数,生成与所述n个数据接口一一对应的n个第三数据请求;35.第三发送模块,用于分别向每一所述数据接口对应的数据服务器发送该数据接口的第三数据请求,以请求所述n个数据接口的业务数据。36.第八方面,本发明实施例还提供一种数据处理装置,所述装置应用于请求分发服务器,包括:37.第四接收模块,用于接收n个数据接口中每一数据接口对应的数据服务器发送的业务数据,获得所述n个数据接口的业务数据;其中,所述n个数据接口的业务数据基于所述n个数据接口一一对应的n个第三数据请求向数据服务器请求获得,所述n个第三数据请求基于前向业务服务器发送的第二数据请求中所述n个数据接口的请求参数生成,所述第二数据请求为所述前向业务服务器基于终端设备发送的第一数据请求生成,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数;38.合并模块,用于对所述n个数据接口的业务数据进行合并,生成业务数据包;39.第四发送模块,用于将所述业务数据包发送给所述前向业务服务器。40.第九方面,本发明实施例还提供一种前向业务服务器,包括第一处理器、第一存储器及存储在所述第一存储器上并可在所述第一处理器上运行的计算机程序,所述计算机程序被所述第一处理器执行时实现上述前向业务服务器侧数据请求方法的步骤,或者实现上述前向业务服务器侧数据处理方法的步骤。41.第十方面,本发明实施例还提供一种请求分发服务器,包括第二处理器、第二存储器及存储在所述第二存储器上并可在所述第二处理器上运行的计算机程序,所述计算机程序被所述第二处理器执行时实现上述请求分发服务器侧数据请求方法的步骤,或者实现上述请求分发服务器侧数据处理方法的步骤。42.第十一方面,本发明实施例还提供一种前向业务服务系统,所述系统包括终端设备、前向业务数据服务器、请求分发服务器和n个数据服务器;其中,43.所述前向业务服务器,用于接收所述终端设备发送的第一数据请求;其中,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数;基于所述第一数据请求,生成第二数据请求;其中,所述第二数据请求中携带有各所述数据接口的请求参数;将所述第二数据请求发送给请求分发服务器;44.所述请求分发服务器,用于接收所述第二数据请求;基于所述第二数据请求中各所述数据接口的请求参数,生成与所述n个数据接口一一对应的n个第三数据请求;分别向每一所述数据接口对应的数据服务器发送该数据接口的第三数据请求,以请求所述n个数据接口的业务数据。45.第十二方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被第一处理器执行时实现上述前向业务服务器侧数据请求方法的步骤,或者实现上述前向业务服务器侧数据处理方法的步骤,或者被第二处理器执行时实现上述请求分发服务器侧数据请求方法的步骤,或者实现上述请求分发服务器侧数据处理方法的步骤。46.本发明实施例中,首先,通过前向业务服务器接收终端设备发送的用于请求n个数据接口的业务数据的第一数据请求;其中,所述n个数据接口为非同源接口;基于所述第一数据请求,生成第二数据请求;其中,所述第二数据请求中携带有各所述数据接口的请求参数;将所述第二数据请求发送给请求分发服务器。然后,通过请求分发服务器接收前向业务服务器发送的第二数据请求;基于所述第二数据请求中各所述数据接口的请求参数,生成与所述n个数据接口一一对应的n个第三数据请求;其中,每个所述第三数据请求用于向数据服务器请求一所述数据接口的业务数据。47.相对于现有技术,本发明实施例在架构上将前向业务服务分为前向业务服务器和请求分发服务器,同时在服务流程上让前向业务服务器和请求分发服务器负责不同的业务职责,使得前向业务服务中不同的业务单元职责更加单一。具体的,在处理多个非同源接口批量请求业务数据时,由请求分发服务器来负责批量请求多个非同源接口的业务数据,使得前向业务服务器不用太关注批量请求多个非同源接口的业务数据所带来的负载压力。而请求分发服务器除了请求数据时操作所带来的处理器压力之外对部署机器没有其他压力,因此,可以从整体上降低前向业务服务的压力,提升前向业务服务的稳定性。附图说明48.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。49.图1是本发明实施例提供的数据请求方法的流程图之一;50.图2是本发明实施例提供的数据处理方法的流程图之一;51.图3是本发明实施例提供的数据请求方法的流程图之二;52.图4是本发明实施例提供的数据处理方法的流程图之二;53.图5是本发明实施例提供的方法时序图;54.图6是本发明实施例提供的数据请求装置的结构图之一;55.图7是本发明实施例提供的数据处理装置的结构图之一;56.图8是本发明实施例提供的数据请求装置的结构图之二;57.图9是本发明实施例提供的数据处理装置的结构图之二;58.图10是本发明实施例提供的前向业务服务系统的结构图;59.图11是本发明实施提供的前向业务服务器的结构图;60.图12是本发明实施提供的请求分发服务器的结构图。具体实施方式61.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。62.下面对本发明实施例提供的方法进行说明。63.需要说明的是,本发明实施例提供的数据请求方法可以应用于前向业务服务系统,该前向业务服务系统包括终端设备、前向业务服务器、请求分发服务器和数据服务器。具体的数据请求流程可以为,用户可以基于终端设备发送第一数据请求,以请求n个数据接口的业务数据;其中,所述n个数据接口为非同源接口。前向业务服务器获取第一数据请求,基于所述第一数据请求,生成第二数据请求,并将所述第二数据请求发送给请求分发服务器。请求分发服务器接收前向业务服务器发送的第二数据请求,基于所述第二数据请求中各所述数据接口的请求参数,生成与所述n个数据接口一一对应的n个第三数据请求。请求分发服务器通过各所述第三数据请求向数据服务器请求所述n个数据接口的业务数据。如此,用户通过前向业务服务系统即可以获取到多个非同源接口的业务数据。64.其中,终端设备可以包括手机、平板电脑(tabletpersonalcomputer)、膝上型电脑(laptopcomputer)、个人数字助理(personaldigitalassistant,简称pda)等、移动上网装置(mobileinternetdevice,mid)或可穿戴式设备(wearabledevice)等。65.参见图1,图1是本发明实施例提供的数据请求方法的流程图之一,所述方法应用于前向业务服务器,如图1所示,包括以下步骤:66.步骤101,接收终端设备发送的第一数据请求;其中,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数;67.步骤102,基于所述第一数据请求,生成第二数据请求;其中,所述第二数据请求中携带有各所述数据接口的请求参数;68.步骤103,将所述第二数据请求发送给请求分发服务器;69.其中,所述第二数据请求用于供所述请求分发服务器基于各所述数据接口的请求参数生成与所述n个数据接口一一对应的n个第三数据请求,每一所述第三数据请求用于向数据服务器请求一所述数据接口的业务数据。70.在步骤101中,用户可以在前向业务服务系统中的终端设备上通过发送一个第一数据请求,来请求获取数据接口的业务数据。比如,用户可以在终端设备上打开一页面,该打开页面的操作即可以为触发第一数据请求的操作,相应的,终端设备在接收到用户打开页面操作的情况下,将第一数据请求发送给前向业务服务器。71.由于页面数据显示的复杂性,通常页面上会显示多种不同类型的数据,这些数据从数据结构上来看都是无关的,因此,在请求获取这些数据时,每种类型的数据可以对应一个数据接口。由于这些数据接口所需要获取的数据从数据结构上来看都是无关的,因此,这些数据接口用于请求获取数据的请求参数从特征上来看也都是无关的,即这些数据接口为非同源接口。72.比如,针对一页面,该页面上包括点赞数据、评论数据和视频数据,这些数据从数据结构上来看都是无关的,因此,可以通过3个数据接口来分别请求获取这些数据,这些数据接口的请求参数从特征上来看也都是无关的。因此,在请求页面上的这些数据时,可以基于各数据接口的请求参数,从对应数据服务器中获取相应数据结构的前向业务数据。73.在这种应用场景下,若用户在终端设备上打开一页面,终端设备在接收到用户打开页面操作的情况下,将第一数据请求发送给前向业务服务器,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口。相应的,前向业务服务器可以接收终端设备发送的第一数据请求。所述第一数据请求中可以包括请求数据的设备标识、用户标识、请求的数据标识、数据接口的签名等参数数据,这些参数数据可以用来构造数据接口的请求参数,以下对此进行详细说明。74.本实施例中,用户可以通过一个数据请求批量请求多个非同源接口的业务数据。相对于现有技术,本实施例能够支持多个非同源接口的业务数据的批量请求。75.在步骤102中,前向业务服务器可以提取第一数据请求中的参数数据,针对每一所述数据接口,基于所述数据接口对应的参数构造规则和所述数据接口对应的参数数据,构造所述数据接口的请求参数。将各所述数据接口的请求参数合并,从而生成第二数据请求,这样,所述第二数据请求中即可以携带各所述数据接口的请求参数。其中,所述数据接口对应的参数构造规则为数据接口对接时提供的规范,其可以预先存储在前向业务服务器中。76.在步骤103中,前向业务服务器生成第二数据请求之后,可以将第二数据请求作为与请求分发服务器通信的接口的参数值发送到请求分发服务器,即前向业务服务器可以将第二数据请求通过与请求分发服务器通信的接口发送到请求分发服务器。其中,请求分发服务器与前向业务服务器之间可以按照约定的通信方式进行通信,比如请求分发服务器与前向业务服务器之间可以通过http接口通信方式进行通信。77.相应的,请求分发服务器接收到所述第二数据请求之后,可以基于所述第二数据请求中各所述数据接口的请求参数,生成与所述n个数据接口一一对应的n个第三数据请求。78.然后,请求分发服务器将这n个第三数据请求并行发送至每一所述数据接口对应的数据服务器。比如,所述n个数据接口分别为数据接口a、数据接口b和数据接口c,数据接口a与数据服务器a对应,数据接口b与数据服务器b对应,数据接口c与数据服务器c对应。所述请求分发服务器可以并行将数据接口a的第三数据请求发送至数据服务器a,将数据接口b的第三数据请求发送至数据服务器b,将数据接口c的第三数据请求发送至数据服务器c,以分别从数据服务器a中请求获取数据接口a的业务数据,从数据服务器b中获取数据接口b的业务数据,从数据服务器c中获取数据接口c的业务数据。79.本实施例中,前向业务服务器通过接收终端设备发送的用于请求n个数据接口的业务数据的第一数据请求;其中,所述n个数据接口为非同源接口;基于所述第一数据请求,生成第二数据请求;其中,所述第二数据请求中携带有各所述数据接口的请求参数;将所述第二数据请求发送给请求分发服务器;其中,所述第二数据请求用于供所述请求分发服务器基于各所述数据接口的请求参数生成与所述n个数据接口一一对应的n个第三数据请求,每一所述第三数据请求用于向数据服务器请求一所述数据接口的业务数据。80.相对于现有技术,本发明实施例在架构上将前向业务服务分为前向业务服务器和请求分发服务器,同时在服务流程上让前向业务服务器和请求分发服务器负责不同的业务职责,使得前向业务服务中不同的业务单元职责更加单一。具体的,在处理多个非同源接口批量请求业务数据时,由请求分发服务器来负责批量请求多个非同源接口的业务数据,使得前向业务服务器不用太关注批量请求多个非同源接口的业务数据所带来的负载压力。而请求分发服务器除了请求数据时操作所带来的处理器压力之外对部署机器没有其他压力,因此,可以从整体上降低前向业务服务的压力,提升前向业务服务的稳定性。81.并且,由于前向业务服务器不用太关注批量请求多个非同源接口的业务数据所带来的负载压力,因此,前向业务服务器的负载能力得以提升。同时,请求分发服务器除了请求数据时操作所带来的处理器压力之外对部署机器没有其他压力,其负载能力也得以提升,这样可以使得前向业务服务本身的处理能力得到提升。如此,可释放一定的资源,无需对负责前向业务服务的机器进行扩容,避免现有技术中在业务高峰期时机器压力增大,其实际能支撑的流量很小;而不在业务高峰期时机器又相对比较空闲的情况出现,从而可以提高前向业务服务的资源利用率。82.可选的,所述步骤102具体包括:83.针对所述n个数据接口中每一数据接口,按照所述数据接口对应的参数构造规则,从所述第一数据请求中构造出所述数据接口的请求参数;并将所述数据接口的请求参数进行合并,生成所述数据接口的请求参数列表;84.对所述n个数据接口的请求参数列表进行封装,生成第二数据请求。85.具体的,前向业务服务器可以从所述第一数据请求中获取每一所述数据接口对应的参数数据,包括请求数据的设备标识、用户标识、请求的数据标识、数据接口的签名。86.针对每一所述数据接口,基于所述数据接口对应的参数构造规则和所述数据接口对应的参数数据,构造所述数据接口的多个请求参数,并将所述数据接口的多个请求参数进行合并,以生成所述数据接口的请求参数列表,比如,数据接口a的请求参数列表为“gv=n&sign=xxx&pid=1&ext=1”。87.将各所述数据接口的请求参数列表进行封装,生成第二数据请求。88.所述将所述n个数据接口的请求参数列表进行封装,生成第二数据请求,包括:89.按照对象简谱json格式对所述n个数据接口的请求参数列表进行封装,获得json数据;其中,所述json数据中包括所述n个数据接口的n个接口标识以及与每个接口标识关联的请求参数列表;90.基于所述json数据生成所述第二数据请求。91.其封装的规则为:每个数据接口可以预设命名空间,该命名空间可以为数据接口的接口标识,对每个数据接口进行封装时以命名空间作为关键词,如data.service1.name表示数据接口a,数据接口的请求参数列表作为关键词对应的值。将封装后的各数据接口的请求参数列表以对象简谱(json,javascriptobjectnotation)格式进行封装,生成第二数据请求。92.封装各数据接口的请求参数列表生成的第二数据请求的数据格式如下:[0093][0094]本实施例中,前向业务服务器通过从第一数据请求中获取每一所述数据接口对应的参数数据,并基于数据接口对应的参数数据,按照各自的参数构造规则分别构架各数据接口的请求参数,并分别将各数据接口的多个请求参数进行合并,生成各数据接口的请求参数列表。同时将多个数据接口的请求参数列表进行封装,生成第二数据请求。如此,可以使前向业务服务器实现多个非同源接口的批量请求。[0095]可选的,所述将所述第二数据请求发送给请求分发服务器,包括:[0096]将所述第二数据请求作为超文本传输协议http接口的参数值,发送给所述请求分发服务器。[0097]如此,可以通过http接口传输多个非同源接口的批量请求。[0098]参见图2,图2是本发明实施例提供的数据处理方法的流程图之一,所述方法应用于前向业务服务器,如图2所示,包括以下步骤:[0099]步骤201,接收请求分发服务器发送的业务数据包;[0100]步骤202,对所述业务数据包进行拆分,获得各所述数据接口的业务数据;[0101]步骤203,将各所述数据接口的业务数据组装后发送给所述终端设备。[0102]其中,所述业务数据包中包括n个数据接口的业务数据,所述n个数据接口的业务数据为所述请求分发服务器基于与所述n个数据接口一一对应的n个第三数据请求向数据服务器请求获得,所述n个第三数据请求为所述请求分发服务器基于所述前向业务服务器发送的第二数据请求中所述n个数据接口的请求参数生成,所述第二数据请求为所述前向业务服务器基于终端设备发送的第一数据请求生成,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数。[0103]本实施例中,各数据服务器在接收到请求分发服务器发送的第三数据请求之后,会根据第三数据请求中的请求参数列表将对应的业务数据返回给请求分发服务器。请求分发服务器收集各数据服务器返回的业务数据,可以将这些业务数据进行合并并压缩,生成业务数据包。[0104]其中,请求分发服务器对业务数据进行合并的方式与前向业务服务器对各数据接口的请求参数列表进行封装的方式类似。即,对每个数据接口进行封装时以命名空间作为关键词,数据接口的业务数据作为关键词对应的值。将封装后的各数据接口的业务数据以json格式进行合并,比如命名空间为data.service1.name的数据接口a的业务数据封装在该数据接口a对应的数据服务器所返回的结果中。各数据接口的业务数据合并后的数据格式如下:[0105][0106][0107]进一步的,各数据接口的业务数据合并之后,生成目标文件,请求分发服务器可以利用gzip的压缩方式将合并后生成的目标文件进行压缩,生成业务数据包。之后,将业务数据包发送给前向业务服务器。[0108]相应的,前向业务服务器接收所述请求分发服务器发送的业务数据包,并对所述业务数据包进行拆分,获得各所述数据接口的业务数据。[0109]具体的,所述对所述业务数据包进行拆分,获得各所述数据接口的业务数据,包括:[0110]对所述业务数据包进行解压,获得目标文件;[0111]基于所述n个数据接口的接口标识对所述目标文件进行拆分,获得所述n个数据接口的目标数据;[0112]针对每个数据接口,从所述数据接口的目标数据中获取所述数据接口的业务数据。[0113]前向业务服务器将各所述数据接口的业务数据组装后发送给所述终端设备。所述终端设备接收到组装的业务数据之后,可以进行渲染并显示。[0114]本实施例中,前向业务服务器通过接收所述请求分发服务器发送的业务数据包;其中,所述业务数据包中包括各所述数据接口的业务数据;对所述业务数据包进行拆分,获得各所述数据接口的业务数据;将各所述数据接口的业务数据组装后发送给所述终端设备。从而在多个非同源接口的批量请求的前提下,可以实现多个非同源接口的业务数据的批量获取。[0115]参见图3,图3是本发明实施例提供的数据请求方法的流程图之二,所述方法应用于请求分发服务器,如图3所示,包括以下步骤:[0116]步骤301,接收前向业务服务器发送的第二数据请求;其中,所述第二数据请求为基于第一数据请求所生成的数据请求,所述第一数据请求为终端设备发送的数据请求,用于请求n个数据接口的业务数据,n为大于1的正整数,所述第二数据请求中携带有各所述数据接口的请求参数;[0117]步骤302,基于所述第二数据请求中各所述数据接口的请求参数,生成与所述n个数据接口一一对应的n个第三数据请求;[0118]步骤303,分别向每一所述数据接口对应的数据服务器发送该数据接口的第三数据请求,以请求所述n个数据接口的业务数据。[0119]在步骤301中,请求分发服务器可以按照与前向业务服务器约定的通信方式如http接口通信方式接收前向业务服务器发送的第二数据请求。[0120]在步骤302中,请求分发服务器可以对所述第二数据请求进行分解,获得各所述数据接口的请求参数,并基于各所述数据接口的请求参数,生成与所述n个数据接口一一对应的n个第三数据请求。如此,请求分发服务器可以从1个数据请求中拆分出n个相互独立的第三数据请求,即拆分出向数据接口对应的数据服务器获取相应数据结构的业务数据的具体请求。其中,第三数据请求中包括数据接口的请求参数,该请求参数与第二数据请求中该数据接口的请求参数一致。[0121]具体的,所述步骤302具体包括:[0122]获取所述第二数据请求中各所述数据接口的请求参数;[0123]针对每一所述数据接口,基于所述数据接口的请求参数,构造所述数据接口的第三数据请求。[0124]另外,每个第三数据请求中还包括对应数据接口的配置信息,该配置信息可以包括数据接口的域名和请求路径等,以通过该配置信息准确地将第三数据请求发送至该数据接口对应的数据服务器。具体的,请求分发服务器可以将数据接口的命名空间作为关键词获取各数据接口相关的配置信息,各数据接口相关的配置信息可以预先存储于请求分发服务器中,以及从第二数据请求中获取各数据接口的请求参数,然后基于各数据接口相关的配置信息和请求参数,构造出与n个数据接口一一对应的n个第三数据请求。[0125]在步骤303中,请求分发服务器构造出n个第三数据请求之后,可以分别向每一所述数据接口对应的数据服务器发送该数据接口的第三数据请求,以请求所述n个数据接口的业务数据。可选的,可以并行地将每个第三数据请求发送给相应数据接口对应的数据服务器。这样,即可以向数据服务器请求相应数据结构的业务数据。[0126]本实施例中,请求分发服务器通过接收前向业务服务器发送的第二数据请求;其中,所述第二数据请求为基于第一数据请求所生成的数据请求,所述第一数据请求为终端设备发送的数据请求,用于请求n个数据接口的业务数据,n为大于1的正整数,所述第二数据请求中携带有各所述数据接口的请求参数;基于所述第二数据请求中各所述数据接口的请求参数,生成与所述n个数据接口一一对应的n个第三数据请求;并分别向每一所述数据接口对应的数据服务器发送该数据接口的第三数据请求,以请求所述n个数据接口的业务数据。[0127]相对于现有技术,本实施例在架构上将前向业务服务分为前向业务服务器和请求分发服务器,同时在服务流程上让前向业务服务器和请求分发服务器负责不同的业务职责,使得前向业务服务中不同的业务单元职责更加单一。具体的,在处理多个非同源接口批量请求业务数据时,由请求分发服务器来负责批量请求多个非同源接口的业务数据,使得前向业务服务器不用太关注批量请求多个非同源接口的业务数据所带来的负载压力。而请求分发服务器除了请求数据时操作所带来的处理器压力之外对部署机器没有其他压力,因此,可以从整体上降低前向业务服务的压力,提升前向业务服务的稳定性。[0128]具体的,请求分发服务器可以基于数据接口的命名空间对所述第二数据请求进行分解,并将数据接口的命名空间作为关键词获取各数据接口的请求参数。同时,还可以将数据接口的命名空间作为关键词获取各数据接口相关的配置信息。[0129]然后,请求分发服务器针对每一所述数据接口,基于所述数据接口的请求参数列表和配置信息,构造所述数据接口的第三数据请求。[0130]本实施例中,请求分发服务器可以从1个数据请求中拆分出n个相互独立的第三数据请求,即拆分出向数据接口对应的数据服务器获取相应数据结构的业务数据的具体请求,并并行向数据服务器请求各数据接口的业务数据。如此,可以实现多个非同源接口的批量请求。[0131]参见图4,图4是本发明实施例提供的数据处理方法的流程图之二,所述方法应用于请求分发服务器,如图4所示,包括以下步骤:[0132]步骤401,接收n个数据接口中每一数据接口对应的数据服务器发送的业务数据,获得所述n个数据接口的业务数据;[0133]步骤402,对所述n个数据接口的业务数据进行合并,生成业务数据包;[0134]步骤403,将所述业务数据包发送给所述前向业务服务器。[0135]其中,所述n个数据接口的业务数据基于所述n个数据接口一一对应的n个第三数据请求向数据服务器请求获得,所述n个第三数据请求基于前向业务服务器发送的第二数据请求中所述n个数据接口的请求参数生成,所述第二数据请求为所述前向业务服务器基于终端设备发送的第一数据请求生成,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数。[0136]请求分发服务器分别基于每个第三数据请求中数据接口的配置信息将该第三数据请求发送给该数据接口对应的数据服务器之后,各数据服务器在接收到请求分发服务器发送的第三数据请求之后,会根据第三数据请求中的请求参数列表将对应的业务数据返回给请求分发服务器。请求分发服务器收集各数据服务器返回的业务数据,可以将这些业务数据进行合并并压缩,生成业务数据包。[0137]具体的,所述对所述n个数据接口的业务数据进行合并,生成业务数据包,包括:[0138]针对每个数据接口,将所述数据接口的业务数据与所述数据接口的接口标识关联,生成所述数据接口的目标数据;[0139]将所述n个数据接口的目标数据进行合并,生成目标文件;[0140]对所述目标文件进行压缩,生成所述业务数据包。[0141]其中,请求分发服务器对业务数据进行合并的方式与前向业务服务器对各数据接口的请求参数列表进行封装的方式类似。即,对每个数据接口进行封装时以命名空间作为关键词,数据接口的业务数据作为关键词对应的值。将封装后的各数据接口的业务数据以json格式进行合并,比如命名空间为data.service1.name的数据接口a的业务数据封装在该数据接口a对应的数据服务器所返回的结果中。[0142]之后,请求分发服务器将业务数据包发送给前向业务服务器。相应的,前向业务服务器接收所述请求分发服务器发送的业务数据包;对所述业务数据包进行拆分,获得各所述数据接口的业务数据;将各所述数据接口的业务数据组装后发送给所述终端设备。如此,在多个非同源接口的批量请求的前提下,可以实现多个非同源接口的业务数据的批量获取。[0143]需要说明的是,本发明实施例中介绍的多种可选的实施方式,彼此可以相互结合实现,也可以单独实现,对此本发明实施例不作限定。[0144]下面举个例子对本发明实施例提供的方法进行详细说明。[0145]参见图5,图5是本发明实施例提供的方法时序图,参见图5所示,前向业务服务系统包括终端设备、前向业务服务器、请求分发服务器和数据服务器。[0146]具体的,首先,用户针对一页面执行打开操作,该页面中包括多种类型的数据,比如点赞数据、评论数据和视频数据,用户想要从这些数据接口对应的数据服务器分别获取该页面的点赞数据、评论数据和视频数据。相应的,终端设备生成第一数据请求,并将第一数据请求发送给前向业务服务器。[0147]其中,所述第一数据请求中包括各所述数据接口的参数数据。[0148]然后,前向业务服务器接收终端设备发送的第一数据请求,并从所述第一数据请求中获取每一所述数据接口对应的参数数据。[0149]接着,前向业务服务器针对每一所述数据接口,基于所述数据接口对应的参数构造规则和所述数据接口对应的参数数据,构造所述数据接口的请求参数,并合并生成请求参数列表。[0150]接着,前向业务服务器将各所述数据接口的请求参数列表进行封装,生成第二数据请求。[0151]接着,前向业务服务器将第二数据请求发送给请求分发服务器。[0152]接着,请求分发服务器接收前向业务服务器发送的第二数据请求,获取所述第二数据请求中各所述数据接口的请求参数。[0153]接着,请求分发服务器针对每一所述数据接口,基于所述数据接口的请求参数,构造所述数据接口的第三数据请求。[0154]接着,请求分发服务器分别向每一所述数据接口对应的数据服务器发送该数据接口的第三数据请求。[0155]接着,请求分发服务器接收各所述数据接口对应的数据服务器发送的业务数据。[0156]接着,请求分发服务器对各所述数据接口对应的业务数据进行合并,生成业务数据包。[0157]接着,请求分发服务器将所述业务数据包发送给所述前向业务服务器。[0158]接着,前向业务服务器接收业务数据包,对所述业务数据包进行拆分,获得各所述数据接口的业务数据。[0159]接着,前向业务服务器将各所述数据接口的业务数据组装后发送给所述终端设备。[0160]最后,终端设备将组装之后的业务数据进行渲染并显示。[0161]下面对本发明实施例提供的装置进行说明。[0162]参见图6,图6是本发明实施例提供的数据请求装置的结构图之一,所述装置应用于前向业务服务器,能实现上述实施例中前向业务服务器侧数据请求方法的细节,并达到相同的效果。如图6所示,数据请求装置600包括:[0163]第一接收模块601,用于接收终端设备发送的第一数据请求;其中,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数;[0164]第一生成模块602,用于基于所述第一数据请求,生成第二数据请求;其中,所述第二数据请求中携带有各所述数据接口的请求参数;[0165]第一发送模块603,用于将所述第二数据请求发送给请求分发服务器;[0166]其中,所述第二数据请求用于供所述请求分发服务器基于各所述数据接口的请求参数生成与所述n个数据接口一一对应的n个第三数据请求,每一所述第三数据请求用于向数据服务器请求一所述数据接口的业务数据。[0167]可选的,所述第一生成模块602,具体用于针对所述n个数据接口中每一数据接口,按照所述数据接口对应的参数构造规则,从所述第一数据请求中构造出所述数据接口的请求参数;并将所述数据接口的请求参数进行合并,生成所述数据接口的请求参数列表;对所述n个数据接口的请求参数列表进行封装,生成第二数据请求。[0168]可选的,所述第一生成模块602,具体用于按照对象简谱json格式对所述n个数据接口的请求参数列表进行封装,获得json数据;其中,所述json数据中包括所述n个数据接口的n个接口标识以及与每个接口标识关联的请求参数列表;基于所述json数据生成所述第二数据请求。[0169]可选的,所述第一发送模块603,具体用于将所述第二数据请求作为超文本传输协议http接口的参数值,发送给所述请求分发服务器。[0170]上述数据请求装置600能实现上述前向业务服务器侧数据请求方法实施例中前向业务服务器实现的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。[0171]参见图7,图7是本发明实施例提供的数据处理装置的结构图之一,所述装置应用于前向业务服务器,能实现上述实施例中前向业务服务器侧数据处理方法的细节,并达到相同的效果。如图7所示,数据处理装置700包括:[0172]第二接收模块701,用于接收请求分发服务器发送的业务数据包;其中,所述业务数据包中包括n个数据接口的业务数据,所述n个数据接口的业务数据为所述请求分发服务器基于与所述n个数据接口一一对应的n个第三数据请求向数据服务器请求获得,所述n个第三数据请求为所述请求分发服务器基于所述前向业务服务器发送的第二数据请求中所述n个数据接口的请求参数生成,所述第二数据请求为所述前向业务服务器基于终端设备发送的第一数据请求生成,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数;[0173]拆分模块702,用于对所述业务数据包进行拆分,获得各所述数据接口的业务数据;[0174]第二发送模块703,用于将各所述数据接口的业务数据组装后发送给所述终端设备。[0175]可选的,拆分模块702,具体用于对所述业务数据包进行解压,获得目标文件;基于所述n个数据接口的接口标识对所述目标文件进行拆分,获得所述n个数据接口的目标数据;针对每个数据接口,从所述数据接口的目标数据中获取所述数据接口的业务数据。[0176]上述数据处理装置700能实现上述前向业务服务器侧数据处理方法实施例中前向业务服务器实现的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。[0177]参见图8,图8是本发明实施例提供的数据请求装置的结构图之二,所述装置应用于请求分发服务器,能实现上述实施例中请求分发服务器侧数据请求方法的细节,并达到相同的效果。如图8所示,数据请求装置800包括:[0178]第三接收模块801,用于接收前向业务服务器发送的第二数据请求;其中,所述第二数据请求为基于第一数据请求所生成的数据请求,所述第一数据请求为终端设备发送的数据请求,用于请求n个数据接口的业务数据,n为大于1的正整数,所述第二数据请求中携带有各所述数据接口的请求参数;[0179]生成模块802,用于基于所述第二数据请求中各所述数据接口的请求参数,生成与所述n个数据接口一一对应的n个第三数据请求;[0180]第三发送模块803,用于分别向每一所述数据接口对应的数据服务器发送该数据接口的第三数据请求,以请求所述n个数据接口的业务数据。[0181]可选的,所述生成模块802,具体用于获取所述第二数据请求中各所述数据接口的请求参数;针对每一所述数据接口,基于所述数据接口的请求参数,构造所述数据接口的第三数据请求。[0182]可选的,所述第三发送模块803,具体用于并行向每一所述数据接口对应的数据服务器发送该数据接口的第三数据请求,以请求所述n个数据接口的业务数据。[0183]上述数据请求装置800能实现上述请求分发服务器侧数据请求方法实施例中请求分发服务器实现的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。[0184]参见图9,图9是本发明实施例提供的数据处理装置的结构图之二,所述装置应用于请求分发服务器,能实现上述实施例中请求分发服务器侧数据处理方法的细节,并达到相同的效果。如图9所示,数据处理装置900包括:[0185]第四接收模块901,用于接收n个数据接口中每一数据接口对应的数据服务器发送的业务数据,获得所述n个数据接口的业务数据;其中,所述n个数据接口的业务数据基于所述n个数据接口一一对应的n个第三数据请求向数据服务器请求获得,所述n个第三数据请求基于前向业务服务器发送的第二数据请求中所述n个数据接口的请求参数生成,所述第二数据请求为所述前向业务服务器基于终端设备发送的第一数据请求生成,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数;[0186]合并模块902,用于对所述n个数据接口的业务数据进行合并,生成业务数据包;[0187]第四发送模块903,用于将所述业务数据包发送给所述前向业务服务器。[0188]可选的,所述合并模块902,具体用于针对每个数据接口,将所述数据接口的业务数据与所述数据接口的接口标识关联,生成所述数据接口的目标数据;将所述n个数据接口的目标数据进行合并,生成目标文件;对所述目标文件进行压缩,生成所述业务数据包。[0189]上述数据处理装置900能实现上述请求分发服务器侧数据处理方法实施例中请求分发服务器实现的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。[0190]参见图10,图10是本发明实施例提供的前向业务服务系统的结构图,所述系统包括终端设备1001、前向业务数据服务器1002、请求分发服务器1003和n个数据服务器1004;其中,[0191]所述前向业务服务器1002,用于接收所述终端设备1001发送的第一数据请求;其中,所述第一数据请求用于请求n个数据接口的业务数据,所述n个数据接口为非同源接口,n为大于1的正整数;基于所述第一数据请求,生成第二数据请求;其中,所述第二数据请求中携带有各所述数据接口的请求参数;将所述第二数据请求发送给请求分发服务器1003;[0192]所述请求分发服务器1003,用于接收所述第二数据请求;基于所述第二数据请求中各所述数据接口的请求参数,生成与所述n个数据接口一一对应的n个第三数据请求;分别向每一所述数据接口对应的数据服务器1004发送该数据接口的第三数据请求,以请求所述n个数据接口的业务数据。[0193]可选的,所述请求分发服务器1003,还用于接收n个数据接口中每一数据接口对应的数据服务器1004发送的业务数据,获得所述n个数据接口的业务数据;对所述n个数据接口的业务数据进行合并,生成业务数据包;将所述业务数据包发送给所述前向业务服务器1002;[0194]所述前向业务服务器1002,还用于接收所述业务数据包;对所述业务数据包进行拆分,获得各所述数据接口的业务数据;将各所述数据接口的业务数据组装后发送给所述终端设备1001。[0195]参见图11,图11是本发明实施提供的前向业务服务器的结构图,如图11所示的前向业务服务器包括:第一处理器1101、第一存储器1102及存储在所述第一存储器1102上并可在所述第一处理器1101上运行的计算机程序,前向业务服务器中的各个组件通过第一总线接口1103耦合在一起,所述计算机程序被所述第一处理器1101执行时实现前向业务服务器侧数据请求方法,或者实现前向业务服务器侧数据处理方法。[0196]优选的,本发明实施例还提供一种前向业务服务器,包括第一处理器、第一存储器及存储在所述第一存储器上并可在所述第一处理器上运行的计算机程序,所述计算机程序被所述第一处理器执行时实现上述前向业务服务器侧任一方法实施例的数据请求方法的各个过程,或者实现上述前向业务服务器侧任一方法实施例的数据处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。[0197]参见图12,图12是本发明实施提供的请求分发服务器的结构图,如图12所示的请求分发服务器包括:第二处理器1201、第二存储器1202及存储在所述第二存储器1202上并可在所述第二处理器1201上运行的计算机程序,请求分发服务器中的各个组件通过第二总线接口1203耦合在一起,所述计算机程序被所述第二处理器1201执行时实现请求分发服务器侧数据请求方法,或者实现请求分发服务器侧数据处理方法。[0198]优选的,本发明实施例还提供一种请求分发服务器,包括第二处理器、第二存储器及存储在所述第二存储器上并可在所述第二处理器上运行的计算机程序,所述计算机程序被所述第二处理器执行时实现上述请求分发服务器侧任一方法实施例的数据请求方法的各个过程,或者实现上述请求分发服务器侧任一方法实施例的数据处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。[0199]本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被第一处理器执行时实现上述前向业务服务器侧数据请求方法的各个过程,或者实现上述前向业务服务器侧数据处理方法的各个过程,或者被第二处理器执行时实现上述请求分发服务器侧数据请求方法的各个过程,或者实现上述请求分发服务器侧任一方法实施例的数据处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。[0200]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。[0201]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。[0202]在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。[0203]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。[0204]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。[0205]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。[0206]以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献