CN108710631B - 一种数据获取的方法、装置及设备 - Google Patents

一种数据获取的方法、装置及设备 Download PDF

Info

Publication number
CN108710631B
CN108710631B CN201810284827.8A CN201810284827A CN108710631B CN 108710631 B CN108710631 B CN 108710631B CN 201810284827 A CN201810284827 A CN 201810284827A CN 108710631 B CN108710631 B CN 108710631B
Authority
CN
China
Prior art keywords
data acquisition
time
requests
acquisition request
server
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.)
Active
Application number
CN201810284827.8A
Other languages
English (en)
Other versions
CN108710631A (zh
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201810284827.8A priority Critical patent/CN108710631B/zh
Publication of CN108710631A publication Critical patent/CN108710631A/zh
Application granted granted Critical
Publication of CN108710631B publication Critical patent/CN108710631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本说明书公开一种数据获取的方法、装置及设备,该方法中可以将确定出的第一数量的第一数据获取请求发送给服务器,其中,该第一数量不大于浏览器限制的在同一时间针对同一域名发送数据获取请求的数量,而后,可以将从发送该第一数据获取请求的第一时刻,到接收服务器返回的与该第一数据获取请求对应的数据的第二时刻之间所确定出的需要向服务器发送的第二数据获取请求,合并为第二数量的第三数据获取请求,并在接收到该服务器返回的与该第一数据获取请求对应的数据时,将合并得到的第三数据获取请求发送给服务器,以进行数据获取,其中,第二数量小于第二数据获取请求的数量。

Description

一种数据获取的方法、装置及设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种数据获取的方法、装置及设备。
背景技术
当前,用户可以通过诸如手机、电脑等终端上安装的浏览器,对各个网址进行访问,以获取所需的信息。
在实际应用中,浏览器在同一时间针对同一域名所发送的数据获取请求有数量限制,超出数量限制的数据获取请求将会被阻塞。具体的,用户在执行业务的过程中,将通过终端中安装的浏览器在短时间内向服务器发送了大量的数据获取请求。其中,若浏览器确定同一时间需要向服务器发送的数据获取请求的数量超出预设的数量(该预设的数量即为浏览器在同一时间针对同一域名所限制的发送数据获取请求的数量),则浏览器只能将一部分数据获取请求发送给服务器,而另一部分数据获取请求将被暂停发送。当接收到服务器针对接收到的数据获取请求所返回的数据时,浏览器会将之前暂停发送的数据获取请求发送给服务器,以从服务器中获取这些数据获取请求对应的数据。
基于现有技术,需要更为快捷、效率的数据获取方式。
发明内容
本说明书提供一种数据获取的方法,用以解决现有技术的数据获取方式效率低下,给用户带来不便的问题。
本说明书提供了一种数据获取的方法,包括:
向服务器发送第一数量的第一数据获取请求,所述第一数量不大于浏览器限制的在同一时间或指定时间间隔内针对同一域名发送数据获取请求的数量;
将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求;所述第一时刻为发送所述第一数据获取请求的时刻,所述第二时刻为接收所述服务器返回的与所述第一数据获取请求对应的数据的时刻,所述第二数量小于所述第二数据获取请求的数量;
在所述第二时刻后向所述服务器发送所述第三数据获取请求。
本说明书提供一种数据获取的装置,用以解决现有技术的数据获取方式效率低下,给用户带来不便的问题。
本说明书提供了一种数据获取的装置,包括:
第一发送模块,向服务器发送第一数量的第一数据获取请求,所述第一数量不大于所述装置限制的在同一时间或指定时间间隔内针对同一域名发送数据获取请求的数量;
合并模块,将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求;所述第一时刻为发送所述第一数据获取请求的时刻,所述第二时刻为接收所述服务器返回的与所述第一数据获取请求对应的数据的时刻,所述第二数量小于所述第二数据获取请求的数量;
第二发送模块,在所述第二时刻后向所述服务器发送所述第三数据获取请求。
本说明书提供一种数据获取的设备,用以解决现有技术的数据获取方式效率低下,给用户带来不便的问题。
本说明书提供了一种数据获取的设备,包括一个或多个存储器以及处理器,所述存储器存储程序,并且被配置成由所述一个或多个处理器执行以下步骤:
向服务器发送第一数量的第一数据获取请求,所述第一数量不大于所述设备限制的在同一时间或指定时间间隔内针对同一域名发送数据获取请求的数量;
将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求;所述第一时刻为发送所述第一数据获取请求的时刻,所述第二时刻为接收所述服务器返回的与所述第一数据获取请求对应的数据的时刻,所述第二数量小于所述第二数据获取请求的数量;
在所述第二时刻后向所述服务器发送所述第三数据获取请求。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书一个或多个实施例中,可以将确定出的第一数量的第一数据获取请求发送给服务器,其中,该第一数量不大于浏览器限制的在同一时间针对同一域名发送数据获取请求的数量,而后,可以将从发送该第一数据获取请求的第一时刻,到接收服务器返回的与该第一数据获取请求对应的数据的第二时刻之间所确定出的需要向服务器发送的第二数据获取请求,合并为第二数量的第三数据获取请求,并在接收到该服务器返回的与该第一数据获取请求对应的数据时,将合并得到的第三数据获取请求发送给服务器,以进行数据获取,其中,第二数量小于第二数据获取请求的数量。
由于通过将数据获取请求进行合并的方式,可以有效的提高同一时间或指定时间间隔内从服务器中获取数据的数量,即,极大的提高了数据获取的效率,从而给用户提高了快捷的数据获取方式。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书提供的数据获取的过程示意图;
图2为本说明书提供的将两个第二数据获取请求进行合并的示意图;
图3为本说明书提供的整个数据获取的过程示意图;
图4为本说明提供的数据获取的装置示意图;
图5为本说明书提供的数据获取的设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
图1为本说明书提供的数据获取的过程示意图,具体包括以下步骤:
S100:向服务器发送第一数量的第一数据获取请求,所述第一数量不大于浏览器限制的在同一时间或指定时间间隔内针对同一域名发送数据获取请求的数量。
在本说明书中,用户可以通过在终端中安装的浏览器输入网址,以通过浏览器获取该网址对应的网页,并进行浏览。由于该网页中包含大量的图片、广告链接等信息,因此,浏览器在加载该网页的过程中,需要通过向服务器发送数据获取请求的方式,从服务器中获取这些信息,以渲染在该网页中呈现给用户。其中,这里提到的终端可以是指手机、电脑等设备。
浏览器在加载网页的过程中,可以根据网页中需要呈现的各个信息的排版顺序,确定出第一数量的第一数据获取请求。其中,由于浏览器在同一时间内针对同一域名发送的数据获取请求的数量存在限制,因此,该第一数量应不大于浏览器限制的在同一时间或指定时间间隔内(如一段时间内)针对同一域名发送数据获取请求的数量。
S102:将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求;所述第一时刻为发送所述第一数据获取请求的时刻,所述第二时刻为接收所述服务器返回的与所述第一数据获取请求对应的数据的时刻,所述第二数量小于所述第二数据获取请求的数量。
浏览器将上述确定出的第一数量的第一数据获取请求发送给服务器,到接收服务器针对该第一数量的第一数据获取请求所返回的数据的这段时间中,浏览器还将持续加载该网页。若在加载该网页的这段时间中,浏览器确定出还需要向的服务器发送数据获取请求,则浏览器可以将这些还需发送给服务器的数据获取请求进行合并,得到合并的数据获取请求,进而在接收到服务器针对该第一数量的第一数据获取请求所返回的数据时,将合并的数据获取请求发送给服务器,以进行数据获取。
为了方便描述,可以将浏览器发送第一数量的第一数据获取请求的时刻称之为是第一时刻,将浏览器接收服务器返回的与该第一数量的第一数据获取请求相对应的数据的时刻称之为是第二时刻。而对于在该第一时刻和该第二时刻之间确定出的需要向服务器发送的数据获取请求则可以称之为是第二数据获取请求,后续将各第二数据获取请求进行合并得到的数据获取请求可以称之为是第三数据获取请求。这里的“第一”、“第二”、“第三”仅为区分不同阶段的数据获取请求,没有其他的含义。
在本说明书中,浏览器可以在到达第二时刻(即接收到服务器返回的与第一数量的第一数据获取请求相对应的数据)时,将在第一时刻和第二时刻之间确定出的第二数据获取请求进行合并,得到第二数量的第三数据获取请求,进而在后续过程中将第二数量的第三数据获取请求发送给服务器。其中,由于本说明书提供的数据获取的方法意在采用合并数据获取请求的方式,缩减获取一定数量的数据时向服务器发送数据获取请求的数量。因此,浏览器可以将确定出的若干第二数据获取请求合并为一个第三数据获取请求,也可以将合并为多个第三数据获取请求,只要保证合并得到的第三数据获取请求的数量(即这里提到的第二数量)小于确定出的第二数据获取请求的数量即可。
具体的,若是浏览器在该第一时刻和第二时刻之间,确定出需要向服务器发送若干第二数据获取请求,则可以将确定出的若干第二数据获取请求进行缓存。当浏览器接收到服务器针对第一数量的第一数据获取请求所返回的数据时(即到达第二时刻时),则可以将缓存的若干第二数据获取请求进行合并,得到第二数量的第三数据获取请求,并在后续过程中,通过得到的第二数量的第三数据获取请求从服务器获取数据。
在本说明书中,浏览器也可以在该第一时刻到该第二时刻之间的这段时间中,每确定出一个第二数据获取请求,即将该第二数据获取请求与已在该第一时刻到该第二时刻之间确定出的其他第二数据获取请求进行合并,得到第三数据获取请求。而后,在确定到达第二时刻时,则可将得到的第三数据获取请求发送给服务器,以从服务器获取数据。
例如,假设在第一时刻到第二时刻之间的这段时间中,浏览器先确定出第二数据获取请求1,则可将该第二数据获取请求1进行缓存。而后,浏览器在第一时刻到第二时刻的这段时间中,又相继确定出第二数据获取请求2,则可将该第二数据获取请求1和第二数据获取请求2进行合并,得到第三数据获取请求1。若浏览器在第一时刻到第二时刻之间的这段时间中,又确定出第二数据获取请求3,则可将该第二数据获取请求3与该第三数据获取请求1进行合并,得到第三数据获取请求2,以此类推。
即,浏览器在第一时刻到第二时刻之间的这段时间中,每确定出一个第二数据获取请求,即可将该第二数据获取请求与浏览器在第一时刻到第二时刻之间的这段时间中已经合并得到的第三数据获取请求进行再次合并。
浏览器在加载网页的过程中,确定出的需要向服务器发送的数据获取请求通常都是以统一资源定位符(Uniform Resource Locator,URL)的形式出现的。在实际应用中,URL是由多个部分组成的,通常包括:域名部分、虚拟目录部分、文件名部分、锚部分、参数部分等。浏览器在加载一个网页时,向服务器发送的获取该网页中数据的数据获取请求中都包含有相同的域名部分,而由于各数据获取请求获取的具体数据各不相同,因此,各数据获取请求中除域名部分以外的其他部分也可能不尽相同。
基于此,在本说明书中,浏览器在合并各第二数据获取请求的过程中,可以针对每个第二数据获取请求,确定出该第二数据获取请求中包含的域名部分以及除域名部分以外的其他部分。而后,按照预设的合并规则,将确定出的各第二数据获取请求对应的其他部分进行合并,并根据合并得到的结果以及各第二数据获取请求相同的域名部分,得到第三数据获取请求,如图2所示。
图2为本说明书提供的将两个第二数据获取请求进行合并的示意图。
例如,假设浏览器确定出的两个第二数据获取请求如下所示:
第二数据获取请求A:https://xxx.alipay.com/request/1?param1=a&param2=b;
第二数据获取请求B:https://xxx.alipay.com/request/2?param2=c&param3=d。
从上述两个第二数据获取请求中可以看出,这两个第二数据获取请求的域名部分:https://xxx.alipay.com彼此相同。而对于这两个第二数据获取请求中除域名部分以外的其他部分来说,浏览器可以通过预设的合并规则,分别转换为相应的字符串,并将得到的这两个字符串按照这两个第二数据获取请求所对应的数据在该网页中的排版顺序,分别添加这两个第二数据获取请求共同的域名部分之后,从而得到如图2所示的第三数据获取请求。
在图2所示的合并得到的第三数据获取请求中,r[0]=%2Frequest%2F1%3Fparam1%3Da%26param2%3Db为浏览器根据预设的合并规则,将第二数据获取请求A中除域名部分以外的其他部分进行转换后得到的字符串,r[1]=%2Fre quest%2F2%3Fparam2%3Dc%26param3%3Dd为浏览器根据预设的合并规则,将第二数据获取请求B中除域名部分以外的其他部分进行转换后得到的字符串。这两个字符串通过符号&进行连接,并按照顺序添加在这两个第二数据获取请求共同的域名部分之后,得到合并后的第三数据获取请求。
浏览器可以将该合并得到的第三数据获取请求在后续过程中发送给服务器,以从服务器中获取到第二数据获取请求A和B所需的数据,并渲染在该网页中。同理,浏览器可以通过上述方式,将两个以上的第二数据获取请求进行合并,得到相应的第三数据获取请求,在此就不详细举例说明了。
浏览器加载一个网页时向服务器发送的各第二数据获取请求中,除了域名部分以外,端口部分、虚拟目录部分等也可能是相同的。因此,在本说明书中,浏览器在合并第二数据获取请求的过程中,也可以先确定出各第二数据获取请求中,从域名部分开始字符连续相同的相同部分,并将去除该相同部分后所剩的部分称之为不同部分。而后,可以根据预设的合并规则,将第二数据获取请求中不同部分进行合并,并根据合并得到的结果以及确定出的各第二数据获取请求中的相同部分,得到第三数据获取请求。具体的过程与上述示例基本类似,在此就不再进行详细说明了。
上述提到的第一数据获取请求、第二数据获取请求以及第三数据获取请求可以是Ajax形式的请求,当然,也可以其他形式的请求。而对于不同形式的请求来说,浏览器可以按照相应的语言规范,进行数据获取请求的合并,在此就不再进行详细描述了。
需要说明的是,若是浏览器不限制合并第二数据获取请求的数量,则当合并的第二数据获取请求的数量较多时,将导致得到的第三数据获取请求过长,进而可能导致服务器解析该第三数据获取请求时较为困难。因此,在本说明书中,浏览器可以将在第一时刻到第二时刻之间确定出的设定数量的第二数据获取请求进行合并,以得到相应的第三数据获取请求。其中,该设定数量可以根据实际需求而定。
S104:在所述第二时刻后向所述服务器发送所述第三数据获取请求。
在本说明书中,浏览器在接收到服务器针对上述第一数量的第一数据获取请求所返回的数据时,则可以将合并得到的第二数量的第三数据获取请求发送给服务器。服务器则可以通过解析第二数量的第三数据获取请求,确定出需要向浏览器返回的数据,继而将确定出的数据打包返回给浏览器。
浏览器接收到服务器返回的数据包后,可以按照该数据包中包含的各数据的标识,将各数据分别在上述网页中进行渲染,以呈现给用户进行浏览。
以图2中合并得到的第三数据获取请求为例,服务器可以通过解析该第三数据获取请求中r[0]=%2Frequest%2F1%3Fparam1%3Da%26param2%3Db以及r[1]=%2Frequest%2F2%3Fparam2%3Dc%26param3%3Dd这两部分字符串,确定出需要向浏览器返回的数据,进而可以将确定出的数据打包成数据包返回给浏览器进行渲染、呈现。
从上述方法中可以看出,通过将数据获取请求进行合并的方式,可以有效的提高同一时间从服务器中获取数据的数量。换句话说,对于一个网页来说,浏览器加载该网页时需要从服务器中获取到的数据的数量是固定。在现有技术中,由于浏览器同一时间向同一域名发送数据获取请求的数量有限,所以,浏览器需要向服务器发送多轮数据获取请求,才能完成整个网页的加载过程。
而对于本说明书提供的数据获取的方法来说,由于浏览器可以在第一时刻和第二时刻之间,将确定出的多个第二数据获取请求进行合并。所以,在向服务器获取数据的总数量不变的情况下,可以极大的减少向服务器发送数据获取请求的轮数。也就是相对于现有技术来说,可以通过向服务器发送一个数据获取请求,获取到更多的数据。这样则极大的提高了数据获取的效率,使得浏览器加载网页更加迅速。
需要说明的是,浏览器在向服务器发送第二数量的第三数据获取请求,到接收服务器针对该第二数量的第三数据获取请求所返回的数据的这段时间,还将确定出若干数据获取请求,则浏览器可以按照与上述相同的方式,将这段时间确定出的若干数据获取请求进行合并,并在接收到服务器针对该第二数量的第三数据获取请求所返回的数据时,将合并得到的数据获取请求发送给服务器,以此类推。
在本说明书中,第一时刻和第二时刻是一个相对的概念,浏览器发送第一数据获取请求是的时刻可以称之为是第一时刻,相应的,接收服务器返回的与第一数据获取请求对应的数据的时刻可以称之为是第二时刻。同理,浏览器后续发送第三数据获取请求的时刻也可以称之为是第一时刻,而接收服务器返回的与第三数据获取请求对应的数据的时刻相应的也可以称之为是第二时刻。
换句话说,服务器发送数据获取请求以及从服务器中获取该数据获取请求的数据的这段时间可以称之为是一个周期。一个周期的起始时间可以称之为是第一时刻,结束时间可以称之为第二时刻。在一个周期起始阶段发送的数据获取请求可以称之为是第一数据获取请求。在一个周期中确定出的数据获取请求可以称之为是第二数据获取请求。将第二数据获取请求进行合并得到的数据获取请求可以称之为是第三数据获取请求。
为了更加清楚的说明本说明书提供的数据获取方法,下面将以一个实例,对整个数据获取的过程进行描述,如图3所示。
图3为本说明书提供的整个数据获取的过程示意图。
在本说明书中,浏览器中可以设置有一个调度器,该调度器可以脚本程序的形式存在。浏览器在加载网页的过程中,该调度器可以确定出该网页加载过程中所要呈现的信息,并针对确定出的浏览器需要呈现的信息,确定出的相应的数据获取请求。该调度器可以指示该浏览器,将确定出的数据获取请求发送给服务器,以从服务器中获取该数据获取请求所对应的数据。
具体的,调度器确定浏览器在加载网页的过程中,需要从服务器中获取数据A,则可以确定出数据获取请求1,并通过浏览器将该数据获取请求1发送给服务器(这里的数据获取请求1即为上述提到的第一数据获取请求)。
在获取数据A的过程中(即在上述提到的第一时刻到第二时刻之间),调度器确定出浏览器后续需要从服务器获取数据B、C、D,因此可以确定出数据获取请求2~4,并将这三个数据获取请求进行缓存(这里提到的数据获取请求2~4即是在上述第一时刻到第二时刻之间确定出的第二数据获取请求)。
在接收到服务器返回的数据A(即到达上述提到的第二时刻)后,调度器可以将缓存的数据获取请求2~4进行合并,得到数据获取请求5,并将该数据获取请求5通过浏览器发送给服务器,以从服务器中获取数据B~D,并将获取到的这些数据进行渲染。
以上为本说明书的一个或多个实施例提供的数据获取的方法,基于同样的思路,本说明书还提供了相应的数据获取的装置,如图4所示。
图4为本说明书提供的一种数据获取的装置示意图,具体包括:
第一发送模块401,向服务器发送第一数量的第一数据获取请求,所述第一数量不大于所述装置限制的在同一时间或指定时间间隔内针对同一域名发送数据获取请求的数量;
合并模块402,将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求;所述第一时刻为发送所述第一数据获取请求的时刻,所述第二时刻为接收所述服务器返回的与所述第一数据获取请求对应的数据的时刻,所述第二数量小于所述第二数据获取请求的数量;
第二发送模块403,在所述第二时刻后向所述服务器发送所述第三数据获取请求。
所述第一数据获取请求包括:Ajax请求;所述第二数据获取请求包括:Ajax请求;所述第三数据获取请求包括:Ajax请求。
所述合并模块402,将确定出的所述第二数据获取请求进行缓存;在所述第二时刻后,将缓存的所述第二数据获取请求进行合并,得到所述第二数量的第三数据获取请求。
所述合并模块402,在所述第一时刻到所述第二时刻之间,每当确定出一个第二数据获取请求时,则将该第二数据获取请求与已在所述第一时刻到所述第二时刻之间确定出的其他第二数据获取请求进行合并,得到所述第三数据获取请求。
所述合并模块402,当所述第二数据获取请求为统一资源定位符URL时,针对确定出的每个第二数据获取请求,确定出该第二数据获取请求中包含的域名部分以及其他部分,其中,各第二数据获取请求中包含的域名部分相同;按照预设的合并规则,将确定出的各第二数据获取请求对应的其他部分进行合并,并根据合并得到的结果以及所述域名部分,得到所述第三数据获取请求。
其中,上述提到的第一发送模块401和第二发送模块403可以是同一模块,浏览器可以通过该模块向服务器发送第一数据获取请求或是第三数据获取请求。
基于上述说明的数据获取的方法,本说明书还对应提供了一种用于数据获取的设备,如图5所示。该设备包括一个或多个存储器以及处理器,所述存储器存储程序,并且被配置成由所述一个或多个处理器执行以下步骤:
向服务器发送第一数量的第一数据获取请求,所述第一数量不大于所述设备限制的在同一时间或指定时间间隔内针对同一域名发送数据获取请求的数量;
将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求;所述第一时刻为发送所述第一数据获取请求的时刻,所述第二时刻为接收所述服务器返回的与所述第一数据获取请求对应的数据的时刻,所述第二数量小于所述第二数据获取请求的数量;
在所述第二时刻后向所述服务器发送所述第三数据获取请求。
在本说明书的一个或多个实施例中,可以将确定出的第一数量的第一数据获取请求发送给服务器,其中,该第一数量不大于浏览器限制的在同一时间针对同一域名发送数据获取请求的数量,而后,可以将从发送该第一数据获取请求的第一时刻,到接收服务器返回的与该第一数据获取请求对应的数据的第二时刻之间所确定出的需要向服务器发送的第二数据获取请求,合并为第二数量的第三数据获取请求,并在接收到该服务器返回的与该第一数据获取请求对应的数据时,将合并得到的第三数据获取请求发送给服务器,以进行数据获取,其中,第二数量小于第二数据获取请求的数量。
由于通过将数据获取请求进行合并的方式,可以有效的提高同一时间或指定时间间隔内从服务器中获取数据的数量,即,极大的提高了数据获取的效率,从而给用户提高了快捷的数据获取方式。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书一个或多个实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (9)

1.一种数据获取的方法,包括:
向服务器发送第一数量的第一数据获取请求,所述第一数量不大于浏览器限制的在同一时间或指定时间间隔内针对同一域名发送数据获取请求的数量;
将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求;所述第一时刻为发送所述第一数据获取请求的时刻,所述第二时刻为接收所述服务器返回的与所述第一数据获取请求对应的数据的时刻,所述第二数量小于所述第二数据获取请求的数量;
在所述第二时刻后向所述服务器发送所述第三数据获取请求;
将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求,具体包括:
将确定出的所述第二数据获取请求进行缓存;
在所述第二时刻后,将缓存的所述第二数据获取请求进行合并,得到所述第二数量的第三数据获取请求;在所述第一时刻到所述第二时刻之间,每确定出一个所述第二数据获取请求,将该第二数据获取请求与在第一时刻到第二时刻之间已经合并得到的第三数据获取请求进行再次合并。
2.如权利要求1所述的方法,所述第一数据获取请求包括:Ajax请求;所述第二数据获取请求包括:Ajax请求;所述第三数据获取请求包括:Ajax请求。
3.如权利要求1所述的方法,将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求,具体包括:
在所述第一时刻到所述第二时刻之间,每当确定出一个第二数据获取请求时,则将该第二数据获取请求与已在所述第一时刻到所述第二时刻之间确定出的其他第二数据获取请求进行合并,得到所述第三数据获取请求。
4.如权利要求1~3任一所述的方法,将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求,具体包括:
当所述第二数据获取请求为统一资源定位符URL时,针对确定出的每个第二数据获取请求,确定出该第二数据获取请求中包含的域名部分以及其他部分,其中,各第二数据获取请求中包含的域名部分相同;
按照预设的合并规则,将确定出的各第二数据获取请求对应的其他部分进行合并,并根据合并得到的结果以及所述域名部分,得到所述第三数据获取请求。
5.一种数据获取的装置,包括:
第一发送模块,向服务器发送第一数量的第一数据获取请求,所述第一数量不大于所述装置限制的在同一时间或指定时间间隔内针对同一域名发送数据获取请求的数量;
合并模块,将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求;所述第一时刻为发送所述第一数据获取请求的时刻,所述第二时刻为接收所述服务器返回的与所述第一数据获取请求对应的数据的时刻,所述第二数量小于所述第二数据获取请求的数量;
第二发送模块,在所述第二时刻后向所述服务器发送所述第三数据获取请求;
所述合并模块,将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求,具体包括:
将确定出的所述第二数据获取请求进行缓存;
在所述第二时刻后,将缓存的所述第二数据获取请求进行合并,得到所述第二数量的第三数据获取请求;在所述第一时刻到所述第二时刻之间,每确定出一个所述第二数据获取请求,将该第二数据获取请求与在第一时刻到第二时刻之间已经合并得到的第三数据获取请求进行再次合并。
6.如权利要求5所述的装置,所述第一数据获取请求包括:Ajax请求;所述第二数据获取请求包括:Ajax请求;所述第三数据获取请求包括:Ajax请求。
7.如权利要求5所述的装置,所述合并模块,在所述第一时刻到所述第二时刻之间,每当确定出一个第二数据获取请求时,则将该第二数据获取请求与已在所述第一时刻到所述第二时刻之间确定出的其他第二数据获取请求进行合并,得到所述第三数据获取请求。
8.如权利要求5~7任一所述的装置,所述合并模块,当所述第二数据获取请求为统一资源定位符URL时,针对确定出的每个第二数据获取请求,确定出该第二数据获取请求中包含的域名部分以及其他部分,其中,各第二数据获取请求中包含的域名部分相同;按照预设的合并规则,将确定出的各第二数据获取请求对应的其他部分进行合并,并根据合并得到的结果以及所述域名部分,得到所述第三数据获取请求。
9.一种数据获取的设备,设备包括一个或多个存储器以及处理器,所述存储器存储程序,并且被配置成由所述一个或多个处理器执行以下步骤:
向服务器发送第一数量的第一数据获取请求,所述第一数量不大于所述设备限制的在同一时间或指定时间间隔内针对同一域名发送数据获取请求的数量;
将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求;所述第一时刻为发送所述第一数据获取请求的时刻,所述第二时刻为接收所述服务器返回的与所述第一数据获取请求对应的数据的时刻,所述第二数量小于所述第二数据获取请求的数量;
在所述第二时刻后向所述服务器发送所述第三数据获取请求;
将第一时刻到第二时刻之间确定出的需要向所述服务器发送的第二数据获取请求合并为第二数量的第三数据获取请求,具体包括:
将确定出的所述第二数据获取请求进行缓存;
在所述第二时刻后,将缓存的所述第二数据获取请求进行合并,得到所述第二数量的第三数据获取请求;在所述第一时刻到所述第二时刻之间,每确定出一个所述第二数据获取请求,将该第二数据获取请求与在第一时刻到第二时刻之间已经合并得到的第三数据获取请求进行再次合并。
CN201810284827.8A 2018-04-02 2018-04-02 一种数据获取的方法、装置及设备 Active CN108710631B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810284827.8A CN108710631B (zh) 2018-04-02 2018-04-02 一种数据获取的方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810284827.8A CN108710631B (zh) 2018-04-02 2018-04-02 一种数据获取的方法、装置及设备

Publications (2)

Publication Number Publication Date
CN108710631A CN108710631A (zh) 2018-10-26
CN108710631B true CN108710631B (zh) 2021-12-24

Family

ID=63866528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810284827.8A Active CN108710631B (zh) 2018-04-02 2018-04-02 一种数据获取的方法、装置及设备

Country Status (1)

Country Link
CN (1) CN108710631B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102279862A (zh) * 2011-05-10 2011-12-14 中兴通讯股份有限公司 基于Ajax的数据处理装置及方法
CN102387206A (zh) * 2011-10-20 2012-03-21 镇江睿泰信息科技有限公司 一种Web服务并发请求合成方法及系统
CN103237048A (zh) * 2013-03-13 2013-08-07 山西省电力公司大同供电分公司 电力系统中b/s架构的实时告警系统及其实时告警方法
CN107103004B (zh) * 2016-02-23 2020-11-06 创新先进技术有限公司 网页中的数据处理方法、装置及系统
CN107402938B (zh) * 2016-05-22 2021-07-13 阿里巴巴(中国)有限公司 页面展示方法、装置和客户端设备

Also Published As

Publication number Publication date
CN108710631A (zh) 2018-10-26

Similar Documents

Publication Publication Date Title
CN111639289B (zh) 一种网页加载方法及装置
CN108712454B (zh) 一种文件处理方法、装置及设备
CN107786630B (zh) 一种web应用包处理方法、装置及设备
CN107479868B (zh) 一种界面加载方法、装置及设备
CN102567516B (zh) 脚本加载方法及装置
CN110298194B (zh) 基于区块链的文件处理方法、装置、设备及存储介质
CN111639278B (zh) 一种网页加载方法及装置
CN107038041B (zh) 数据处理方法、错误码动态兼容方法、装置和系统
CN111241040B (zh) 信息获取方法、装置、电子设备及计算机存储介质
CN105824830B (zh) 一种显示页面的方法、客户端及设备
CN112364277A (zh) 一种网页加载方法及装置
CN112631679B (zh) 一种微应用的预加载方法及装置
CN117312394B (zh) 一种数据访问方法、装置、存储介质及电子设备
CN111240788A (zh) 一种小程序页面的生成方法、装置及设备
CN111538667A (zh) 一种页面测试的方法及装置
CN114547024A (zh) 一种sql语句风险检测方法、装置、设备及介质
CN110602163B (zh) 文件上传方法及装置
CN112214250A (zh) 一种应用程序组件的加载方法和装置
CN108710631B (zh) 一种数据获取的方法、装置及设备
CN110874322B (zh) 一种用于应用程序的测试方法及测试服务器
CN112579938B (zh) 一种页面加载方法、装置、存储介质及电子设备
CN110858238A (zh) 一种数据处理的方法和装置
CN108428189B (zh) 一种社交资源处理方法、设备以及可读介质
CN112698882A (zh) 一种页面组件加载方法及装置
CN112925527B (zh) 一种调用方法、装置、存储介质及电子设备

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
TA01 Transfer of patent application right

Effective date of registration: 20201021

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201021

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant