CN106790444A - 网络数据交互方法和装置 - Google Patents

网络数据交互方法和装置 Download PDF

Info

Publication number
CN106790444A
CN106790444A CN201611110194.6A CN201611110194A CN106790444A CN 106790444 A CN106790444 A CN 106790444A CN 201611110194 A CN201611110194 A CN 201611110194A CN 106790444 A CN106790444 A CN 106790444A
Authority
CN
China
Prior art keywords
request
sub
bag
merging
son
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.)
Pending
Application number
CN201611110194.6A
Other languages
English (en)
Inventor
贺凯
李晓旺
蔡晓鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201611110194.6A priority Critical patent/CN106790444A/zh
Publication of CN106790444A publication Critical patent/CN106790444A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种网络数据交互方法和装置,上述方法包括:获取待处理的子请求;将所述子请求合并成合并请求包;将所述合并请求包发送给服务器;接收所述服务器返回的与所述合并请求包对应的合并响应包。上述网络数据交互方法,将待处理的子请求的子请求包合并生成合并请求包,将合并请求包一次性发给服务器,再接收服务器返回的与上述合并请求包对应的合并响应包。通过将子请求包合并发送的形式,实现一次性发送多个子请求的子请求包和接收多个子响应包,从而实现提高单位时间内传递的子请求包、子响应包的数量,提高了网络数据交互的效率。

Description

网络数据交互方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种网络数据交互方法和装置。
背景技术
随着互联网技术的发展,越来越多用户通过网络来从事社会活动,网络中数据交互量也在迅速增加,大量的网络请求由终端传递给服务器,服务器再将网络请求的响应返回终端。
传统的网络数据交互方法,多采用长连接单路串行的方式来处理网络请求,在一个连接上逐一发送多个请求包,每个请求包单独通过网络交互来获取数据,以此完成整个页面数据的请求。在页面数据的请求包较多时,这种网络数据交互方式需要耗费大量的时间,导致网络中数据交互的效率低下。
发明内容
基于此,有必要针对传统的网络数据交互方法中数据交互效率低下的问题,提供一种提高网络数据交互效率的网络数据交互方法和装置。
一种网络数据交互方法,包括:
获取待处理的子请求;
将所述子请求合并成合并请求包;
将所述合并请求包发送给服务器;
接收所述服务器返回的与所述合并请求包对应的合并响应包。
一种网络数据交互方法,包括:
若接收到合并请求包,对所述合并请求包进行拆分,获取子请求的子请求包,所述子请求的子请求包中包括子请求标识;
根据所述子请求的子请求包中子请求标识查找所述子请求的子请求包对应的业务服务器,将所述子请求的子请求包发送给对应的业务服务器,获取所述业务服务器返回的所述子请求的子请求包对应的子响应包;
对所述子响应包进行合并,生成合并响应包;
将所述合并响应包返回终端。
一种网络数据交互装置,包括:
获取模块,用于获取待处理的子请求;
第一合并模块,用于将所述子请求合并成合并请求包;
发送模块,用于将所述合并请求包发送给服务器;
接收模块,用于接收所述服务器返回的与所述合并请求包对应的合并响应包。
一种网络数据交互装置,包括:
第二拆分模块,用于若接收到合并请求包,对所述合并请求包进行拆分,获取子请求的子请求包,所述子请求的子请求包中包括子请求标识;
第二响应模块,用于根据所述子请求的子请求包中子请求标识查找所述子请求的子请求包对应的业务服务器,将所述子请求的子请求包发送给对应的业务服务器,获取所述业务服务器返回的所述子请求的子请求包对应的子响应包;
第二合并模块,用于对所述子响应包进行合并,生成合并响应包;
返回模块,用于将所述合并响应包返回终端。
上述网络数据交互方法和装置,将待处理的子请求的子请求包合并生成合并请求包,将合并请求包一次性发给服务器,再接收服务器返回的与上述合并请求包对应的合并响应包。通过将子请求包合并发送的形式,实现一次性发送多个子请求的子请求包和接收多个子响应包,从而实现提高单位时间内传递的子请求包、子响应包的数量,提高了网络数据交互的效率。
附图说明
图1为一个实施例中网络数据交互方法的应用环境示意图;
图2A为一个实施例中终端的内部结构示意图;
图2B为一个实施例中服务器的内部结构示意图;
图3为一个实施例中网络数据交互方法的流程图;
图4为另一个实施例中网络数据交互方法的流程图;
图5为一个实施例中图3中步骤S302的流程图;
图6为一个实施例中图3中步骤S304的流程图;
图7为另一个实施例中网络数据交互方法的流程图;
图8为一个实施例中网络数据交互方法的原理图;
图9为一个实施例中网络数据交互装置的结构框图;
图10为另一个实施例中网络数据交互装置的结构框图;
图11为另一个实施例中网络数据交互装置的结构框图;
图12为另一个实施例中网络数据交互装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一响应模块称为第二响应模块,且类似地,可将第二响应模块称为第一响应模块。第一响应模块和第二响应模块两者都是响应模块,但其不是同一响应模块。
图1为一个实施例中网络数据交互方法的应用环境示意图。如图1所示,该应用环境包括终端110、接入服务器120和业务服务器130,终端110和接入服务器120之间通过网络连接通信、接入服务器120和业务服务器130之间通过网络连接通信。终端110将待处理的子请求的子请求包合并生成合并请求包(如将请求1、请求2、请求3……、请求N合并)发送给接入服务器120,接入服务器120将接收到的合并请求包拆分为子请求包(如将合并请求包拆分成请求1、请求2、请求3……、请求N),并将各子请求包发送给对应的业务服务器130,业务服务器130对接收到的子请求包作出响应,并将子请求包对应的子响应包返回接入服务器120,接入服务器120将各子响应包(如响应1、响应2、……、响应N)合并成合并响应包发送给终端110,终端110根据合并响应包中各子请求包对应的子响应包对各子请求作出响应。其中,终端110可为能够连接网络通信的智能手机、平板电脑、可穿戴式设备和个人数字助理等;接入服务器120可为一台或多台计算机等;业务服务器130可为一台或多台计算机等。在一个实施例中,接入服务器120和业务服务器130可为同一服务器中的不同结构,接入服务器120为服务器中接入层,业务服务器130为服务器中服务层,其中,服务层可包括不同的服务,针对不同的子请求作出不同的响应。
图2A为一个实施例中终端的内部结构示意图。如图2A所示,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口、显示屏和输入装置。其中,终端的非易失性存储介质存储有操作系统,还包括一种网络数据交互装置,该网络数据交互装置用于实现一种网络数据交互方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存储器为非易失性存储介质中的网络数据交互装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种网络数据交互方法。网络接口用于与服务器进行网络通信,如发送网络请求至服务器,接收服务器返回的网络请求的响应包等。终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。本领域技术人员可以理解,图2A中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图2B为一个实施例中服务器的内部结构示意图。如图2B所示,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作系统、数据库和网络数据交互装置,数据库中存储有请求路由表,该网络数据交互装置用于实现适用于服务器的一种网络数据交互方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存储器为非易失性存储介质中的网络数据交互装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种网络数据交互方法。该服务器的网络接口用于据以与外部的终端通过网络连接通信,比如接收终端发送的合并请求包以及向终端返回合并响应包等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图2B中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3为一个实施例中网络数据交互方法的流程图。如图3所示,一种网络数据交互方法,运行于图1的终端上,包括:
S302,获取待处理的子请求。
具体地,待处理的子请求是指终端中逻辑无关的接口请求,即终端中没有前后依赖关系的接口请求。如页面中A区域包含有文字信息和图片信息,其中文字信息需要通过接口1来进行数据交互,图片信息需要通过接口2来进行数据交互,则页面中A区域的文字信息请求和图片信息请求之间不具有依赖关系,即是逻辑无关的接口请求;若页面中A区域的文字信息和图片信息均需要通过接口1来进行数据交互,则A区域的文字信息请求和图片信息请求为具有依赖关系,不是逻辑无关的接口请求。
S304,将子请求合并成合并请求包。
具体地,合并请求包是指终端根据预设的请求合并/拆分协议将逻辑无关的接口请求合并生成的请求包。其中,请求合并/拆分协议是指终端和服务器共同遵循的一组拆分请求和合并请求的约定。例如,根据预设的请求合并/拆分协议,终端在合并子请求时,合并请求包中需包括各子请求的请求体和对应的子请求标识、合并请求包的标示字段等。服务器在拆分合并请求包时,根据预设的请求合并/拆分协议,可将子请求标识与子请求的请求体一一对应拆分,再合并成完整的子请求包。其中,子请求标识是指用于唯一标识子请求的请求体的值;通俗来说,子请求标识可作为子请求的请求体的索引,根据子请求标识可查找对应的子请求的请求体。例如,以key:value(键:值)的形式来表示子请求标识和子请求的请求体之间的对应关系,其中key存储子请求的【模块名/方法名】字段的值,则可设置子请求1的子请求标识与子请求1的请求体之间的对应关系为m1.req1:body1。
S306,将合并请求包发送给服务器。
具体地,终端与服务器之间建立单一长连接,并通过单一长连接将合并请求包发送给服务器。其中,长连接是指一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
S308,接收服务器返回的与合并请求包对应的合并响应包。
具体地,合并响应包是指服务器根据预设的请求合并/拆分协议将合并请求包中各子请求包对应的子响应包合并生成的响应包。合并响应包中包括合并响应包标示字段、子响应标识和子响应标识对应的子响应的响应体。其中,终端可根据响应包中标示字段的值是否为预设值来检测接收到的响应包是否为合并响应包。例如,设置合并响应包中【模块名/方法名】字段的预设值为【merger/multi-req】,若接收到的响应包的【模块名/方法名】字段的值为【merger/multi-req】,则接收到的响应包为合并响应包。子响应标识是用于唯一标识子响应的响应体的值;通俗来讲,子响应标识可作为子响应的响应体的索引,根据子响应标识可查找对应的子响应的响应体。其中,为表明子请求包与子请求包对应的子响应包之间的对应关系,可设置子请求包的子请求标识与子请求包对应的子响应包的子响应标识为相同的值。例如,以子请求包中【模块名/方法名】字段的值作为子请求标识、以子响应包中【模块名/方法名】字段的值作为子响应标识,设置子请求包1的【模块名/方法名】字段的值为m1.req1,对应的可设置子响应包1的【模块名/方法名】字段的值为m1.req1。
本实施例中所说的服务器可为接入服务器或者具有接入和服务功能的服务器。
上述网络数据交互方法,将待处理的子请求的子请求包合并生成合并请求包,将合并请求包一次性发给服务器,再接收服务器返回的与上述合并请求包对应的合并响应包。通过将子请求包合并发送的形式,实现一次性发送多个子请求的子请求包和接收多个子响应包,从而实现提高单位时间内传递的子请求包、子响应包的数量,提高了网络数据交互的效率。
图4为另一个实施例中网络数据交互方法的流程图。如图4所示,一种网络数据交互方法,运行于图1的终端上,包括:
S402,获取待处理的子请求。
具体地,待处理的子请求是指终端中逻辑无关的接口请求,即终端中没有前后依赖关系的接口请求。如页面中A区域包含有文字信息和图片信息,其中文字信息需要通过接口1来进行数据交互,图片信息需要通过接口2来进行数据交互,则页面中A区域的文字信息请求和图片信息请求之间不具有依赖关系,即是逻辑无关的接口请求;若页面中A区域的文字信息和图片信息均需要通过接口1来进行数据交互,则A区域的文字信息请求和图片信息请求为具有依赖关系,不是逻辑无关的接口请求。
S404,将子请求合并成合并请求包。
具体地,合并请求包是指终端根据预设的请求合并/拆分协议将逻辑无关的接口请求合并生成的请求包。其中,请求合并/拆分协议是指终端和服务器共同遵循的一组拆分请求和合并请求的约定。例如,根据预设的请求合并/拆分协议,终端在合并子请求时,合并请求包中需包括各子请求的请求体和对应的子请求标识、合并请求包的标示字段等。服务器在拆分合并请求包时,根据预设的请求合并/拆分协议,可将子请求标识与子请求的请求体一一对应拆分,再合并成完整的子请求包。其中,子请求标识是指用于唯一标识子请求的请求体的值;通俗来说,子请求标识可作为子请求的请求体的索引,根据子请求标识可查找对应的子请求的请求体。例如,以key:value(键:值)的形式来表示子请求标识和子请求的请求体之间的对应关系,其中key存储子请求的【模块名/方法名】字段的值,则可设置子请求1的子请求标识与子请求1的请求体之间的对应关系为m1.req1:body1。
S406,将合并请求包发送给服务器。
具体地,终端与服务器之间建立单一长连接,并通过单一长连接将合并请求包发送给服务器。其中,长连接是指一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
S408,接收服务器返回的与合并请求包对应的合并响应包。
具体地,合并响应包是指服务器根据预设的请求合并/拆分协议将合并请求包中各子请求包对应的子响应包合并生成的响应包。合并响应包中包括合并响应包标示字段、子响应标识和子响应标识对应的子响应的响应体。其中,终端可根据响应包中标示字段的值是否为预设值来检测接收到的响应包是否为合并响应包。例如,设置合并响应包中【模块名/方法名】字段的预设值为【merger/multi-req】,若接收到的响应包的【模块名/方法名】字段的值为【merger/multi-req】,则接收到的响应包为合并响应包。子响应标识是用于唯一标识子响应的响应体的值;通俗来讲,子响应标识可作为子响应的响应体的索引,根据子响应标识可查找对应的子响应的响应体。其中,为表明子请求包与子请求包对应的子响应包之间的对应关系,可设置子请求包的子请求标识与子请求包对应的子响应包的子响应标识为相同的值。例如,以子请求包中【模块名/方法名】字段的值作为子请求标识、以子响应包中【模块名/方法名】字段的值作为子响应标识,设置子请求包1的【模块名/方法名】字段的值为m1.req1,对应的可设置子响应包1的【模块名/方法名】字段的值为m1.req1。
S410,对合并响应包进行拆分,获取子请求对应的子响应包。
具体地,终端根据预设的请求合并/拆分协议对合并响应包进行拆分,获取合并响应包标示字段、各子响应包的响应体和对应的子响应标识,再将子响应包标识和对应的子响应的响应体合并生成子响应包。
S412,根据子请求对应的子响应包对子请求作出相应的响应。
具体地,终端根据子响应包中子响应标识可查找对应的子请求,并根据子响应包对子请求作出响应。
本实施例中,终端对接收到的合并响应包进行拆分,获取子请求对应的子响应包,可实现一次性对多个子请求作出响应,提高了终端对子请求作出响应的效率,使得终端对子请求具有更快的响应速度。
图5为一个实施例中图3中步骤S302的流程图。如图5所示,在一个实施例中,上述S302获取待处理的子请求包括:
S502,获取子请求的接口信息。
具体地,子请求的接口信息是指子请求在终端和服务器之间进行数据交互时所使用的接口的信息。如页面中A区域包含有文字信息和图片信息,其中文字信息需要通过接口1来进行数据交互,图片信息需要通过接口2来进行数据交互,则对页面中A区域的响应需要通过接口1和接口2来进行数据交互,可记录对页面中A区域的请求的接口信息为接口1和接口2。
S504,对子请求的接口信息进行处理,获取逻辑无关的子请求。
具体地,终端对子请求的接口信息进行分类,获取没有前后逻辑关系的子请求作为待处理的子请求。
本实施例中,终端将逻辑无关的子请求合并为一类,生成合并请求包,可以实现在一次网络数据交互中传递多个逻辑无关的子请求,而无需单个传递子请求,降低了终端与服务器交互的次数,提升了服务器的支撑能力。
图6为一个实施例中图3中步骤S304的流程图。如图6所示,在一个实施例中,上述S304将子请求合并成合并请求包包括:
S602,获取用于表示合并请求包的标示字段预设值和预设的合并请求包的公共信息。
具体地,合并请求包的标示字段预设值是合并请求包的身份标识,用于判断请求包是否为合并请求包。例如,设置合并请求包中【模块名/方法名】字段的预设值为【merger/multi-req】,则可根据请求包中【模块名/方法名】字段的值是否为【merger/multi-req】来判断请求包是否为合并请求包。合并请求包的公共信息是指网络请求相关的业务信息,如终端版本信息、终端设备信息、登陆鉴权信息和网络信息等。
S604,生成子请求的请求体对应的子请求标识。
具体地,子请求标识是指用于唯一标识子请求的请求体的值;通俗来说,子请求标识可作为子请求的请求体的索引,根据子请求标识可查找对应的子请求的请求体。例如,以key:value(键:值)的形式来表示子请求标识和子请求的请求体之间的对应关系,其中key存储子请求的【模块名/方法名】字段的值,则可设置子请求1的子请求标识与子请求1的请求体之间的对应关系为m1.req1:body1、子请求2的子请求标识与子请求2的请求体之间的对应关系为m2.req2:body2、子请求3的子请求标识与子请求3的请求体之间的对应关系为m3.req3:body3。
S606,将用于表示合并请求包的标示字段预设值、合并请求包的公共信息、子请求标识和子请求标识对应的子请求的请求体合并成合并请求包。
具体地,终端根据预设的请求合并/拆分协议将合并请求包的标示字段预设值、合并请求包的公共信息、子请求标识和子请求标识对应的子请求的请求体合并成合并请求包。
本实施例中,终端将子请求包合并成合并请求包,合并请求包中包括合并标示字段,以使服务器将合并请求包与其他请求包区分开来,有利于服务器针对不同类型的请求包进行不同的处理。
图7为另一个实施例中网络数据交互方法的流程图。如图7所示,在一个实施例中,一种网络数据交互方法,运行于图1中的接入服务器上,包括:
S702,若接收到合并请求包,对合并请求包进行拆分,获取子请求的子请求包,子请求的子请求包中包括子请求标识。
具体地,服务器根据预设的请求合并/拆分协议对合并请求包进行拆分,获取子请求标识和子请求标识对应的子请求的请求体、合并请求的标示字段和合并请求包的公共信息,再将子请求的标识、子请求标识对应的子请求的请求体和合并请求包的公共信息合并生成子请求包。
S704,根据子请求的子请求包中子请求标识查找子请求的子请求包对应的业务服务器,将子请求的子请求包发送给对应的业务服务器,获取业务服务器返回的子请求的子请求包对应的子响应包。
具体地,终端根据子请求包中子请求标识在请求路由表中查找对应的业务服务器。其中,请求路由表是指路由器或者其他互联网网络设备上存储的一张路由信息表,该表中存有到达特定网络终端的路径,根据请求路由表可查询发送到特定目的地址的信息具体该发送到哪个下一跳。其中,路由信息是指请求路由表记载的子请求标识与业务服务器标识之间的对应关系,业务服务器标识可为业务服务器的IP(Internet Protocol,网络之间互联的协议)地址、业务服务器的域名或其他能在数据传输时唯一标识业务服务器身份的信息。例如,以子请求包中【模块名/方法名】字段的值来表示路由信息,设置请求路由表中m1.req1对应1号业务服务器、m2.req2对应2号业务服务器、m3.req3对应3号业务服务器,则可根据子请求包中【模块名/方法名】字段的值来查找对应的业务服务器,并将子请求发送给对应的业务服务器。
S706,对子响应包进行合并,生成合并响应包。
具体地,服务器生成子响应体对应的子响应标识,并根据预设的请求合并、拆分协议将子响应标识、子响应标识对应的子响应体和合并响应包的标示字段合并生成合并响应包。其中,为表明子请求与子请求对应的子响应包之间的对应关系,可设置子请求标识与子请求对应子响应标识为相同的值。例如,以子请求包中【模块名/方法名】字段的值作为子请求标识、以子响应包中【模块名/方法名】字段的值作为子响应标识,设置子请求包1的【模块名/方法名】字段的值为m1.req1,对应的可设置子响应包1的【模块名/方法名】字段的值为m1.req1。
S708,将合并响应包返回终端。
具体地,服务器通过终端和服务器之间的单一长连接将合并响应包返回给终端,以使终端根据合并响应包中子请求对应的子响应包对子请求作出响应。
上述网络数据交互方法,服务器接收到合并请求包后,将合并请求包进行拆分,获取合并请求包中子请求包,再将子请求包发送给对应的业务服务器,并将业务服务器返回的子请求对应的子响应包合并生成合并响应包发送给终端。实现一次性接收多个子请求包和发送多个子响应包,从而实现提高单位时间内传递的子请求包、子响应包的数量,提高了网络数据交互的效率。
在一个实施例中,上述网络数据交互方法还包括:检测接收到的请求包中标示字段是否为预设值;若是,则请求包为合并请求包。
具体地,服务器根据请求包中标示字段的值来判断接收到的请求包是否为合并请求包。例如,设置合并请求包中【模块名/方法名】字段的预设值为【merger/multi-req】,则可根据请求包中【模块名/方法名】字段的值是否为【merger/multi-req】来判断请求包是否为合并请求包。
本实施例中,服务器根据请求包中标示字段的值来检测接收到的请求包是否为合并请求包,有利于服务器将合并请求包与其他请求包区分开来,并针对不同类型的请求包进行不同的处理。
在一个实施例中,上述S702若接收到合并请求包,对合并请求包进行拆分,获取子请求的子请求包,子请求的子请求包中包括子请求标识包括:
若接收到合并请求包,对合并请求包进行拆分,获取合并请求包的标示字段、合并请求包的公共信息、子请求标识和子请求的请求体;将合并请求包的公共信息、子请求标识和对应的子请求的请求体拼装成子请求包。
具体地,服务器根据预设的请求合并/拆分协议对合并请求包进行拆分,再将合并请求包的公共信息、子请求标识和对应的子请求的请求体拼装成子请求包。
本实施例中,服务器将接收到的合并请求包进行拆分,获取合并请求包中子请求包,有利于不同的业务服务器同时处理不同的子请求,提高了服务器处理子请求的效率。
在一个实施例中,上述S704根据子请求的子请求包中子请求标识查找子请求的子请求包对应的业务服务器,将子请求的子请求包发送给对应的业务服务器,获取业务服务器返回的子请求的子请求包对应的子响应包括:
获取子请求包中子请求标识;在预存的请求路由表中查找与子请求标识对应的业务服务器;将所述子请求的子请求包发送给对应的业务服务器,获取所述业务服务器返回的所述子请求的子请求包对应的子响应包。
具体地,请求路由表存储在接入服务器,接入服务器可根据子请求包中子请求标识在请求路由表中查找对应的业务服务器。其中,请求路由表是指路由器或者其他互联网网络设备上存储的一张路由信息表,该表中存有到达特定网络终端的路径,根据请求路由表可查询发送到特定目的地址的信息具体该发送到哪个下一跳。
本实施例中,接入服务器存储有请求路由表,接入服务器可根据接子请求标识在请求路由表中查找对应的业务服务器,使得接入服务器可将不用的子请求发送给不同的业务服务器同时处理,提高了服务器对子请求作出响应的效率。
为了进一步说明网络数据交互方法的实现过程,下面结合网络数据交互方法的原理图进行描述。图8为一个实施例中网络数据交互方法的原理图。如图8所示,接入服务器接收到终端发送的合并请求包,上述合并请求包中包括合并请求包标示字段、合并请求包的公共信息、各子请求标识和子请求标识对应的子请求体。例如,合并请求包标识字段为module(模块名)和method(方法名),合并请求包标识字段module的预设值为merger,method的预设值为multi_req。子请求标识m1:req1对应的子请求体为body1;子请求标识m2:req2对应的子请求体为body2等。接入服务器根据预设的请求合并/拆分协议对合并请求包进行拆分,并将合并请求包的公共信息、子请求标识和子请求标识对应的子请求体合并生成子请求包。其中,接入服务器可根据子请求包中子请求标识进行路由寻址,查找子请求包应发送的业务服务器。例如,根据子请求标识中【模块名/方法名】字段的值进行路由寻址,子请求包中【模块名/方法名】字段的值为m3.req3,在接入服务器存储的请求路由表中查找【模块名/方法名】字段的值m3.req3对应的业务服务器的编号为svr3,则接入服务器可将【模块名/方法名】字段的值为m3.req3的子请求包发送给编号为svr3的业务服务器。业务服务器可对接收到的子请求包作出响应,并将子请求包对应的子响应包返回接入服务器。接入服务器根据预设的请求合并/拆分协议对接收到的子响应包进行合并,生成合并响应包,其中合并响应包中包括合并响应包标示字段、各子响应标识和子响应标识对应的子响应体。接入服务器再通过终端与服务器之间的单一长连接将合并响应包发送给终端,以使终端根据接收到的合并响应包中各子响应包对各子请求作出相应的响应。
图9为一个实施例中网络数据交互装置的结构框图。如图9所示,一种网络数据交互装置,运行于图1的终端上,为实现图3的网络数据交互方法所架构的虚拟装置,包括:
获取模块902用于获取待处理的子请求;
第一合并模块904用于将子请求合并成合并请求包;
发送模块906用于将合并请求包发送给服务器;
接收模块908用于接收服务器返回的与合并请求包对应的合并响应包。
上述网络数据交互装置,将待处理的子请求的子请求包合并生成合并请求包,将合并请求包一次性发给服务器,再接收服务器返回的与上述合并请求包对应的合并响应包。通过将子请求包合并发送的形式,实现一次性发送多个子请求的子请求包和接收多个子响应包,从而实现提高单位时间内传递的子请求包、子响应包的数量,提高了网络数据交互的效率。
在一个实施例中,获取模块902还用于获取子请求的接口信息;对子请求的接口信息进行处理,获取逻辑无关的子请求。
在一个实施例中,第一合并模块904还用于获取用于表示合并请求包的标示字段预设值和预设的合并请求包的公共信息;生成子请求的请求体对应的子请求标识;将用于表示合并请求包的标示字段预设值、合并请求包的公共信息、子请求标识和子请求标识对应的子请求的请求体合并成合并请求包。
图10为另一个实施例中网络数据交互装置的结构框图。如图10所示,在一个实施例中,上述网络数据交互装置,包括获取模块1002、第一合并模块1004、发送模块1006、接收模块1008、第一拆分模块1010和第一响应模块1012。其中获取模块1002、第一合并模块1004、发送模块1006和接收模块1008与图9中对应的模块功能相同。
第一拆分模块1010用于对合并响应包进行拆分,获取子请求对应的子响应包;
第一响应模块1012用于根据子请求对应的子响应包对子请求作出相应的响应。
图11为另一个实施例中网络数据交互装置的结构框图。如图11所示,一种网络数据交互装置,运行于图1的接入服务器上,为实现图7的网络数据交互方法所架构的虚拟装置,包括:
第二拆分模块1102用于若接收到合并请求包,对合并请求包进行拆分,获取子请求的子请求包,子请求的子请求包中包括子请求标识;
第二响应模块1104用于根用于根据所述子请求的子请求包中子请求标识查找所述子请求的子请求包对应的业务服务器,将所述子请求的子请求包发送给对应的业务服务器,获取所述业务服务器返回的所述子请求的子请求包对应的子响应包;
第二合并模块1106用于对子响应包进行合并,生成合并响应包;
返回模块1108用于将合并响应包返回终端。
上述网络数据交互装置,服务器接收到合并请求包后,将合并请求包进行拆分,获取合并请求包中子请求包,再将子请求包发送给对应的业务服务器,并将业务服务器返回的子请求对应的子响应包合并生成合并响应包发送给终端。实现一次性接收多个子请求包和发送多个子响应包,从而实现提高单位时间内传递的子请求包、子响应包的数量,提高了网络数据交互的效率。
在一个实施例中,第二拆分模块1102还用于若接收到合并请求包,对合并请求包进行拆分,获取合并请求包的标示字段、合并请求包的公共信息、子请求标识和子请求的请求体;将合并请求包的公共信息、子请求标识和对应的子请求的请求体拼装成子请求包。
在一个实施例中,第二响应模块1104还用于获取子请求包中子请求标识;在预存的请求路由表中查找与子请求标识对应的业务服务器;将子请求的子请求包发送给对应的业务服务器,获取业务服务器返回的子请求的子请求包对应的子响应包。
图12为另一个实施例中网络数据交互装置的结构框图。如图12所示,在一个实施例中,上述网络数据交互装置,包括第二拆分模块1202、第二响应模块1204、第二合并模块1206、返回模块1208和检测模块1210,其中,第二拆分模块1202、第二响应模块1204、第二合并模块1206和返回模块1208与图10中对应的模块功能相同。
检测模块1210用于检测接收到的请求包中标示字段是否为预设值;若是,则请求包为合并请求包。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种网络数据交互方法,其特征在于,包括:
获取待处理的子请求;
将所述子请求合并成合并请求包;
将所述合并请求包发送给服务器;
接收所述服务器返回的与所述合并请求包对应的合并响应包。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述合并响应包进行拆分,获取所述子请求对应的子响应包;
根据所述子请求对应的子响应包对所述子请求作出相应的响应。
3.根据权利要求1所述的方法,其特征在于,所述获取待处理的子请求包括:
获取子请求的接口信息;
对子请求的接口信息进行处理,获取逻辑无关的子请求。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述将所述子请求合并成合并请求包包括:
获取用于表示合并请求包的标示字段预设值和合并请求包的公共信息;
生成所述子请求的请求体对应的子请求标识;
将所述用于表示合并请求包的标示字段预设值、所述合并请求包的公共信息、所述子请求标识和所述子请求标识对应的子请求的请求体合并成合并请求包。
5.一种网络数据交互方法,其特征在于,包括:
若接收到合并请求包,对所述合并请求包进行拆分,获取子请求的子请求包,所述子请求的子请求包中包括子请求标识;
根据所述子请求的子请求包中子请求标识查找所述子请求的子请求包对应的业务服务器,将所述子请求的子请求包发送给对应的业务服务器,获取所述业务服务器返回的所述子请求的子请求包对应的子响应包;
对所述子响应包进行合并,生成合并响应包;
将所述合并响应包返回终端。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
检测接收到的请求包中标示字段是否为预设值;若是,则所述请求包为合并请求包。
7.根据权利要求5所述的方法,其特征在于,所述若接收到合并请求包,对所述合并请求包进行拆分,获取子请求的子请求包,所述子请求的子请求包中包括子请求标识,包括:
若接收到合并请求包,对所述合并请求包进行拆分,获取合并请求包的标示字段、合并请求包的公共信息、子请求标识和子请求的请求体;
将所述合并请求包的公共信息、子请求标识和对应的子请求的请求体拼装成子请求包。
8.根据权利要求5至7中任一项所述的方法,其特征在于,所述根据所述子请求的子请求包中子请求标识查找所述子请求的子请求包对应的业务服务器,将所述子请求的子请求包发送给对应的业务服务器,获取所述业务服务器返回的所述子请求的子请求包对应的子响应包包括:
获取子请求包中子请求标识;
在预存的请求路由表中查找与所述子请求标识对应的业务服务器;
将所述子请求的子请求包发送给对应的业务服务器,获取所述业务服务器返回的所述子请求的子请求包对应的子响应包。
9.一种网络数据交互装置,其特征在于,包括:
获取模块,用于获取待处理的子请求;
第一合并模块,用于将所述子请求合并成合并请求包;
发送模块,用于将所述合并请求包发送给服务器;
接收模块,用于接收所述服务器返回的与所述合并请求包对应的合并响应包。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第一拆分模块,用于对所述合并响应包进行拆分,获取所述子请求对应的子响应包;
第一响应模块,用于根据所述子请求对应的子响应包对所述子请求作出相应的响应。
11.根据权利要求9所述的装置,其特征在于,所述获取模块还用于获取子请求的接口信息;对子请求的接口信息进行处理,获取逻辑无关的子请求。
12.根据权利要求9至11中任一项所述的装置,其特征在于,所述第一合并模块还用于获取用于表示合并请求包的标示字段预设值和合并请求包的公共信息;生成所述子请求的请求体对应的子请求标识;将所述用于表示合并请求包的标示字段预设值、所述合并请求包的公共信息、所述子请求标识和所述子请求标识对应的子请求的请求体合并成合并请求包。
13.一种网络数据交互装置,其特征在于,包括:
第二拆分模块,用于若接收到合并请求包,对所述合并请求包进行拆分,获取子请求的子请求包,所述子请求的子请求包中包括子请求标识;
第二响应模块,用于根据所述子请求的子请求包中子请求标识查找所述子请求的子请求包对应的业务服务器,将所述子请求的子请求包发送给对应的业务服务器,获取所述业务服务器返回的所述子请求的子请求包对应的子响应包;
第二合并模块,用于对所述子响应包进行合并,生成合并响应包;
返回模块,用于将所述合并响应包返回终端。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
检测模块,用于检测接收到的请求包中标示字段是否为预设值;若是,则所述请求包为合并请求包。
15.根据权利要求13所述的装置,其特征在于,所述第二拆分模块还用于若接收到合并请求包,对所述合并请求包进行拆分,获取合并请求包的标示字段、合并请求包的公共信息、子请求标识和子请求的请求体;将所述合并请求包的公共信息、子请求标识和对应的子请求的请求体拼装成子请求包。
16.根据权利要求13至15中任一项所述的装置,其特征在于,所述第二响应模块还用于获取子请求包中子请求标识;在预存的请求路由表中查找与所述子请求标识对应的业务服务器;将所述子请求的子请求包发送给对应的业务服务器,获取所述业务服务器返回的所述子请求的子请求包对应的子响应包。
CN201611110194.6A 2016-12-06 2016-12-06 网络数据交互方法和装置 Pending CN106790444A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611110194.6A CN106790444A (zh) 2016-12-06 2016-12-06 网络数据交互方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611110194.6A CN106790444A (zh) 2016-12-06 2016-12-06 网络数据交互方法和装置

Publications (1)

Publication Number Publication Date
CN106790444A true CN106790444A (zh) 2017-05-31

Family

ID=58878327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611110194.6A Pending CN106790444A (zh) 2016-12-06 2016-12-06 网络数据交互方法和装置

Country Status (1)

Country Link
CN (1) CN106790444A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107818009A (zh) * 2017-10-17 2018-03-20 北京人大金仓信息技术股份有限公司 一种基于分布式事务的代理处理的方法
CN108040116A (zh) * 2017-12-22 2018-05-15 努比亚技术有限公司 消息推送方法、路由器及计算机可读存储介质
CN108076483A (zh) * 2018-01-30 2018-05-25 努比亚技术有限公司 合并通信方法、移动终端、服务器及计算机可读存储介质
CN109710878A (zh) * 2018-12-28 2019-05-03 北京百佑科技有限公司 数据交互方法及服务器
CN109842646A (zh) * 2017-11-27 2019-06-04 北京京东尚科信息技术有限公司 网络请求的处理方法和装置
CN112286587A (zh) * 2020-06-29 2021-01-29 上海柯林布瑞信息技术有限公司 数据可视化页面加载方法及装置、服务器、客户端、介质
CN115190173A (zh) * 2022-07-08 2022-10-14 迈普通信技术股份有限公司 一种网络通信方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571715A (zh) * 2010-12-27 2012-07-11 腾讯科技(深圳)有限公司 多维数据查询方法及系统
CN102984266A (zh) * 2012-12-05 2013-03-20 杭州勒卡斯广告策划有限公司 一种数据交互处理方法及装置
CN103401909A (zh) * 2013-07-24 2013-11-20 迈普通信技术股份有限公司 基于bs的数据交互方法与系统、客户端及服务器
US9411862B1 (en) * 2013-12-03 2016-08-09 Google Inc. Systems and methods for dynamic sharding of hierarchical data
CN105847355A (zh) * 2016-03-23 2016-08-10 重庆秒银科技有限公司 数据合并处理系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571715A (zh) * 2010-12-27 2012-07-11 腾讯科技(深圳)有限公司 多维数据查询方法及系统
CN102984266A (zh) * 2012-12-05 2013-03-20 杭州勒卡斯广告策划有限公司 一种数据交互处理方法及装置
CN103401909A (zh) * 2013-07-24 2013-11-20 迈普通信技术股份有限公司 基于bs的数据交互方法与系统、客户端及服务器
US9411862B1 (en) * 2013-12-03 2016-08-09 Google Inc. Systems and methods for dynamic sharding of hierarchical data
CN105847355A (zh) * 2016-03-23 2016-08-10 重庆秒银科技有限公司 数据合并处理系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107818009A (zh) * 2017-10-17 2018-03-20 北京人大金仓信息技术股份有限公司 一种基于分布式事务的代理处理的方法
CN109842646A (zh) * 2017-11-27 2019-06-04 北京京东尚科信息技术有限公司 网络请求的处理方法和装置
CN108040116A (zh) * 2017-12-22 2018-05-15 努比亚技术有限公司 消息推送方法、路由器及计算机可读存储介质
CN108040116B (zh) * 2017-12-22 2022-05-20 努比亚技术有限公司 消息推送方法、路由器及计算机可读存储介质
CN108076483A (zh) * 2018-01-30 2018-05-25 努比亚技术有限公司 合并通信方法、移动终端、服务器及计算机可读存储介质
CN109710878A (zh) * 2018-12-28 2019-05-03 北京百佑科技有限公司 数据交互方法及服务器
CN112286587A (zh) * 2020-06-29 2021-01-29 上海柯林布瑞信息技术有限公司 数据可视化页面加载方法及装置、服务器、客户端、介质
CN115190173A (zh) * 2022-07-08 2022-10-14 迈普通信技术股份有限公司 一种网络通信方法、装置、设备及存储介质
CN115190173B (zh) * 2022-07-08 2024-02-23 迈普通信技术股份有限公司 一种网络通信方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN106790444A (zh) 网络数据交互方法和装置
US11271892B2 (en) Network communication method and system, device, and storage medium
US20210120076A1 (en) Method, apparatus and system for transmitting data
KR101620881B1 (ko) 사용자 관심 프로파일들의 프라이버시 보호된 클러스터링을 위한 방법 및 장치
CN105939239B (zh) 虚拟网卡的数据传输方法及装置
JP6960993B2 (ja) アプリケーション間のデータ共有方法及びウェブブラウザ
US8028089B2 (en) On-deck detection for a web site
CN113507393B (zh) 数据加速传输方法、装置、计算机设备和存储介质
JP7483929B2 (ja) 共同トレーニングモデルを評価するための方法及び装置
CN110785970A (zh) 使网页的机器人创建自动化的技术
CN107547391A (zh) 一种报文传输方法和装置
CN105577651A (zh) 服务提供方法及装置
CN103037360B (zh) 基于lisp的映射请求响应、信息获取方法及相应设备
CN113242331B (zh) 不同类型的地址转换方法、装置、计算机设备及存储介质
CN115658348B (zh) 微服务调用方法、相关装置及存储介质
CN104660597A (zh) 三层认证方法、装置及三层认证交换机
CN106878052A (zh) 一种用户迁移方法和装置
CN104182402A (zh) 浏览器界面地址栏输入控制方法及系统
CN103139162A (zh) 一种网络账号的登陆方法及设备
CN107483565A (zh) 一种服务后台识别方法、代理服务器及计算机存储介质
WO2012043899A1 (ko) 자동차용 앱스토어 서비스 시스템 및 방법
US20160164969A1 (en) Personal Computer Network, Mobile Connection and Searching Systems
CN104090650A (zh) 在单机中实现多人操作的控制系统与方法
CN108737350A (zh) 一种信息处理方法及客户端
CN112667508A (zh) 基于自定义Mock平台的Mock方法、系统、装置及存储介质

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531

RJ01 Rejection of invention patent application after publication