CN111314280B - 一种基于多用户大数据量的慢系统数据实时读取更新方法 - Google Patents
一种基于多用户大数据量的慢系统数据实时读取更新方法 Download PDFInfo
- Publication number
- CN111314280B CN111314280B CN201911189585.5A CN201911189585A CN111314280B CN 111314280 B CN111314280 B CN 111314280B CN 201911189585 A CN201911189585 A CN 201911189585A CN 111314280 B CN111314280 B CN 111314280B
- Authority
- CN
- China
- Prior art keywords
- data
- updating
- reading
- time
- incomplete
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于多用户大数据量的慢系统数据实时读取更新方法,步骤为:1、每个客户端每次向服务器端请求固定的若干条数据,且每隔固定时间读取一次;2、客户端对数据解析,并保存未完结数据的ID;3、客户端判断当前未完结数据条数,若不超过最大条数限制,则执行步骤5,否则分批次读取并更新未完结数据,执行步骤4;4、将未完结的数据分组,每超过最大条数限制,则增加一组;5、每隔固定时间向服务器请求未完结数据最新状态;6、根据步骤1~5不断读取并更新数据,若读取完毕,则减少5中请求未完结数据的时间间隔;7、重复步骤1~6,不断读取和更新数据。与现有技术相比,本发明具有快速有效,确保状态更新等优点。
Description
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种基于多用户大数据量的慢系统数据实时读取更新方法。
背景技术
数据是系统设计时无法避免的问题,数据的传输充斥在系统的各个方面。在互联网时代,人们可以通过更快的物理传输通道,更好的数据协议,更精简的数据结构,来获得更快的数据传输。然而,随之而来的成本的提高,甚至在追求极限传输速度的路上,付出的成本是几何级数增加的。但是,在更多的情况下,用户只是需要一个能够保证性能的简单的多客户端数据传输功能,而无需过高的成本。
HTTP是一个简单的请求-响应协议,它通常运行在TCP之上,是一种可靠的数据传输方式。但其在传输数据方面,弱点也比较明显。相对于各种专门的数据传输协议而言,其传输速度偏慢。与此同时,HTTP发展很多年,网上有众多现成的解决方案,很方便地就能部署HTTP服务。在某些系统中,为了节约时间和人力成本,会选择将所有对外服务都集中在HTTP服务上,同样包括数据传输服务。
然而,若每个客户端一次性读取全部数据,接着再持续大量更新,则必然会造成服务器巨大的压力。客户端一旦增多,超过服务器负载,每个客户端都需要排队等待数据响应,数据不但不能实时获取,反而需要超长的排队等候时间,严重时甚至会导致服务器的崩溃。此外,对于客户端获取的数据,由于其状态是实时更新的,若需要更新状态,则必须重新再拉取一遍数据,造成了大量数据带宽的浪费,增加了数据通道的拥堵程度。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于多用户大数据量的慢系统数据实时读取更新方法。
本发明的目的可以通过以下技术方案来实现:
一种基于多用户大数据量的慢系统数据实时读取更新方法,包括如下步骤:
S1、数据包括完结数据和未完结数据,完结数据为状态不会再次发送变化的数据,未完结数据包括状态在将来继续发生变化的数据,未完结数据会持续更新,直至其更新为完结状态的数据。当多个客户端同时请求大量数据时,令每个客户端每次向服务器端请求固定的若干条数据,每个客户端每次请求的数据的时间为1秒内,且每隔固定时间读取一次。
优选地,每个客户端每次在1秒内请求的数据不超过1万条。
S2、客户端对请求获取的数据进行解析,并将其中的未完结数据的ID进行保存。
S3、客户端对当前未完结数据条数进行判断,若该条数不超过最大条数限制,则执行步骤S5,若超过最大条数限制,则分批次读取并更新未完结数据,执行步骤S4。最大条数限制根据系统响应的速度以及数据总量综合获取。
S4、将未完结的数据分组,每超过最大条数限制,则增加一组,然后按分组多批次执行步骤S5。
S5、每隔固定时间向服务器请求未完结的数据最新状态。固定时间根据需求确定,固定时间不超过10s。
S6、根据步骤S1~步骤S5不断读取并更新数据,并对读取的数据进行检测,若读取完毕,则减少步骤S5中请求未完结数据的时间间隔。具体地:
按照步骤S1到步骤S5不断读取并更新数据,同时检测步骤S1读取到的数据条数,若步骤S1读取的数据条数少于固定的若干条数据,则表明现存数据已经基本读取完毕,此时减少步骤S5中请求未完结数据的时间间隔。
S7、重复步骤S1~步骤S6,不断读取和更新数据。
与现有技术相比,本发明具有以下有益效果:
一、在多个客户端同时请求大量数据时,本发明方法通过令每个客户端(用户)每次只拉取少量数据,可保证各个用户都能得到及时响应,减缓了服务器的压力,大大降低了排队等候时间;
二、本发明方法在拉取一批数据后记录未完结状态的数据,同时,在拉取下一批数据时,同时再向服务器拉取上一批未完结状态数据的最新状态,此外,每次拉取未完结状态的数据时,也会进行数量/流量控制,对于传输速度相对较慢的系统,可以快速、有效地为多个客户端传输大量数据;
三、本发明方法对每个未完结的数据都进行记录,可确保其状态能一直得到更新,直到其变成完结状态,避免了数据丢失现象;另外,对拉取未完结状态数据的过程进行了限流,将其对服务器造成的负担控制在合理范围内;
四、在拉取数据时,数据本身不断地在进行增加和更新,将数据分成三个部分,某一时刻前的数据存量,数据存量中未完结的数据,某一时刻后的数据增量,基于上述内容,本发明根据数据条数是否超过固定条数限制判断读取是否结束,在数据存量基本读取完毕时,本发明通过适时缩短未完结数据的读取间隔来降低数据更新的速度,减少对服务器的数据访问负担,间接地让服务器能更快响应其他客户端地数据请求,进而加快了整体数据实时读取更新的速度。
附图说明
图1为本发明实施例中基于多用户大数据量的慢系统数据实时读取更新方法的流程示意图;
图2为本发明实施例中基于多用户大数据量的慢系统数据实时读取更新方法的工作原理示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
本发明方法应用于拉去数据的处理,具体地,在拉取数据时,数据本身不断地在进行增加和更新。可以将数据分成三个部分,某一时刻前的数据存量、数据存量中未完结的数据、某一时刻后的数据增量。
数据包含完结和未完结两种类型。未完结的数据会持续更新(实时状态由服务器维护),直到其变为完结状态的数据。完结状态的数据所有信息都不会再改变。
本发明的任务是获取所有历史数据信息和实时新数据,同时更新未完结状态的信息。
如图1所示,本发明涉及一种基于多用户大数据量的慢系统数据实时读取更新方法,包括如下步骤:
步骤一、多个客户端同时请求大量数据时,控制每个客户端(用户)每次在1秒内只拉取少量数据,保证各个用户都能得到及时响应。即每个客户端每次向服务器端请求固定的若干条数据(x条数据),且每隔固定时间读取一次。优选地,每个客户端(用户)每次在1秒内拉取的数据不超过1万条。
步骤二、客户端解析收到的数据,将其中的未完结数据的ID保存起来。
步骤三、客户端判断当前未完结数据的条数,如果不超过最大条数限制(y条),则进入步骤五;如果超过限制,则要分批次读取并更新未完结数据,防止瞬时流量过大,进入步骤四。最大条数限制根据系统响应的速度,以及数据总量综合考虑。
步骤四、将未完结的数据分组,每超过最大条数限制(y条),则增加一组,然后按组,在步骤五中多批次向服务器请求读取未完结的数据最新状态。
步骤五、每隔固定时间向服务器请求未完结的数据最新状态。固定时间根据需求确定,不超过10s。
步骤六、按照步骤一到步骤五不断地读取并更新数据,同时检测步骤一读取到的数据条数,如果发现数据条数少于x条(见步骤一),说明现存数据已经基本读取完毕,此时可减少步骤五中请求未完结数据的时间间隔。
步骤七、重复上述步骤一~步骤六,持续不断地读取和更新数据。
本实施例以3个客户端同时向1个服务器端请求数据的情况为例,结合图1对以下同步控制步骤进行详细描述:
客户端要读取的数据量巨大,并且还在不断增加(可能高达几个G字节),多个客户端同时读取(需要控制流量,否则客户端的响应会变慢),未完结的数据需要实时更新(数据分为完结数据和未完结数据,完结数据表示该数据状态不会再变化,未完结数据则可能会在将来继续变化)。
本发明方法先定量分批次读取数据,同时记录未完结的数据id,每隔几个批次同时去读取更新未完结的数据。当数据基本读取完毕时,增加未完结数据的读取更新速度。
假设3个客户端要同时从服务器端读取100万条存量数据(容量1G字节左右),并且新的数据还在不断产生,针对这个情况,描述以下几个主要步骤:
S1、每个客户端每次向服务器端请求1万条数据(10M字节),每两次间隔5s(根据需求确定间隔时间)。
S2、客户端解析收到的数据,将其中的未完结数据ID保存起来(假设每个批次有1000条未完结数据)。
S3,客户端判断当前未完结数据条数,如果不超过1万条,则进入步骤S5;如果超过1万条,则要分批次读取并更新未完结数据,防止瞬时流量过大,进入步骤S4。
S4、将未完结数据分组,每超过1万条分一组,然后按组,在步骤S5中多批次向服务器请求读取未完结的数据最新状态。
S5、每隔10s(根据需求确定间隔时间)向服务器请求未完结的数据最新状态。
S6、按照步骤S1~S5不断地读取并更新数据,同时检测步骤S1读取到的数据条数,如果发现数据条数少于1万,说明现存数据已经基本读取完毕,此时可减少步骤S5中请求未完结数据的时间间隔。
S7、重复上述步骤S1-S6,持续不断地读取和更新数据。
如果不再需要数据更新,手动停止/结束程序。
如图2所示,本发明中多个客户端向同一个服务器请求数据。一方面通过A路径增量分批次读取数据(见步骤S1),另一方面,通过B路径读取和更新未完结数据(见步骤S5)。通过两条路径保证数据的持续更新。
本发明采用客户机/服务器(C/S)模式,在数据传输比较慢的系统中,协调了多个客户机的数据读取和更新,保证每隔客户机都能快速获取数据,并且实时更新数据。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种基于多用户大数据量的慢系统数据实时读取更新方法,其特征在于,该方法包括下列步骤:
1)当多个客户端同时请求大量数据时,令每个客户端每次向服务器端请求固定的若干条数据,且每隔固定时间读取一次;
2)客户端对请求获取的数据进行解析,并将其中的未完结数据的ID进行保存;
3)客户端对当前未完结数据条数进行判断,若该条数不超过最大条数限制,则执行步骤5),若超过最大条数限制,则分批次读取并更新未完结数据,执行步骤4);
4)将未完结的数据分组,按分组多批次执行步骤5);
5)每隔固定时间向服务器请求未完结的数据最新状态;
6)根据步骤1)~步骤5)不断读取并更新数据,并对读取的数据进行检测,若读取完毕,则减少步骤5)中请求未完结数据的时间间隔;具体地:
按照步骤1)到步骤5)不断读取并更新数据,同时检测步骤1)读取到的数据条数,若步骤1)读取的数据条数少于固定的若干条数据,则表明现存数据已经基本读取完毕,此时减少步骤5)中请求未完结数据的时间间隔;
7)重复步骤1)~步骤6),不断读取和更新数据。
2.根据权利要求1所述的一种基于多用户大数据量的慢系统数据实时读取更新方法,其特征在于,数据包括完结数据和未完结数据,完结数据为状态不会再次发生 变化的数据,未完结数据包括状态在将来继续发生变化的数据,未完结数据会持续更新,直至其更新为完结状态的数据。
3.根据权利要求1所述的一种基于多用户大数据量的慢系统数据实时读取更新方法,其特征在于,步骤1)中,每个客户端每次请求的数据的时间为1秒内。
4.根据权利要求1所述的一种基于多用户大数据量的慢系统数据实时读取更新方法,其特征在于,步骤4)中进行分组的具体内容为:
将未完结的数据分组,每超过最大条数限制,则增加一组,然后按分组多批次执行步骤5)。
5.根据权利要求3所述的一种基于多用户大数据量的慢系统数据实时读取更新方法,其特征在于,每个客户端每次在1秒内请求的数据不超过1万条。
6.根据权利要求1所述的一种基于多用户大数据量的慢系统数据实时读取更新方法,其特征在于,步骤5)中,固定时间根据需求确定,固定时间不超过10s。
7.根据权利要求1所述的一种基于多用户大数据量的慢系统数据实时读取更新方法,其特征在于,最大条数限制根据系统响应的速度以及数据总量综合获取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911189585.5A CN111314280B (zh) | 2019-11-28 | 2019-11-28 | 一种基于多用户大数据量的慢系统数据实时读取更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911189585.5A CN111314280B (zh) | 2019-11-28 | 2019-11-28 | 一种基于多用户大数据量的慢系统数据实时读取更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111314280A CN111314280A (zh) | 2020-06-19 |
CN111314280B true CN111314280B (zh) | 2022-05-27 |
Family
ID=71146638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911189585.5A Active CN111314280B (zh) | 2019-11-28 | 2019-11-28 | 一种基于多用户大数据量的慢系统数据实时读取更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111314280B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826085A (zh) * | 2009-12-30 | 2010-09-08 | 厦门市美亚柏科信息股份有限公司 | 一种基于ajax的网页在线导入/导出大文件的方法 |
CN105681252A (zh) * | 2014-11-18 | 2016-06-15 | 中兴通讯股份有限公司 | 一种基于客户端侧数据的处理方法及装置 |
CN108989471A (zh) * | 2018-09-05 | 2018-12-11 | 郑州云海信息技术有限公司 | 网络系统中日志的管理方法和装置 |
CN110162570A (zh) * | 2019-04-17 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 区块链数据的分次获取方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8200764B2 (en) * | 2006-12-19 | 2012-06-12 | International Business Machines Corporation | System and method for achieving highly scalable real-time collaboration applications using HTTP |
-
2019
- 2019-11-28 CN CN201911189585.5A patent/CN111314280B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826085A (zh) * | 2009-12-30 | 2010-09-08 | 厦门市美亚柏科信息股份有限公司 | 一种基于ajax的网页在线导入/导出大文件的方法 |
CN105681252A (zh) * | 2014-11-18 | 2016-06-15 | 中兴通讯股份有限公司 | 一种基于客户端侧数据的处理方法及装置 |
CN108989471A (zh) * | 2018-09-05 | 2018-12-11 | 郑州云海信息技术有限公司 | 网络系统中日志的管理方法和装置 |
CN110162570A (zh) * | 2019-04-17 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 区块链数据的分次获取方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111314280A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246229B (zh) | 一种分发资源获取请求的方法和装置 | |
US9984013B2 (en) | Method, controller, and system for service flow control in object-based storage system | |
CN111510395B (zh) | 业务消息上报方法、装置、设备及介质 | |
CN108696374B (zh) | 更新客户端配置的方法和装置 | |
CN102202050B (zh) | 预期响应预高速缓存 | |
CN111030945B (zh) | 容灾方法、容灾网关、存储介质、装置以及系统 | |
WO2016044329A1 (en) | Real-time, low memory estimation of unique client computers communicating with a server computer | |
CN112199174A (zh) | 消息发送的控制方法、装置、电子设备及计算机可读存储介质 | |
US10044833B2 (en) | Data processing method and apparatus used for terminal application | |
CN110020046B (zh) | 一种数据抓取方法及装置 | |
CN109510850B (zh) | 浏览请求的处理方法、装置及系统 | |
CN116319569A (zh) | 网络参数更新方法、网络参数更新装置、介质及电子设备 | |
CN111314280B (zh) | 一种基于多用户大数据量的慢系统数据实时读取更新方法 | |
CN108521382A (zh) | 一种消息发送方法、装置及系统 | |
CN107817944B (zh) | 一种数据处理方法及存储设备 | |
CN104780120A (zh) | 一种局域网中文件传输的方法和装置 | |
CN112631963A (zh) | 缓存数据管理方法、装置、设备及存储介质 | |
CN109688421B (zh) | 请求消息处理方法、装置及系统、服务器、存储介质 | |
CN109428901B (zh) | 消息处理方法以及消息处理装置 | |
CN114827281B (zh) | 一种网络请求的发送及接收方法、系统及装置 | |
CN110995796A (zh) | 一种基于专线的数据传输方法及装置 | |
CN106899510B (zh) | 一种基于iSCSI协议的传输速率控制方法和装置 | |
CN113645324A (zh) | 一种基于队列的ip分配方法及系统 | |
JPH10289219A (ja) | クライアント・サーバシステム、キャッシュ管理方法及び記録媒体 | |
JP2001125749A (ja) | 外部記憶装置ドライバプログラムを記録した記録媒体、及び外部記憶装置アクセス機能を有する計算機 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 786, zone B, floor 7, No. 348, Gongyuan Road, Qingpu District, Shanghai 201700 Patentee after: Shanghai Xiaoyong Private Equity Fund Management Co.,Ltd. Address before: Room 786, zone B, floor 7, No. 348, Gongyuan Road, Qingpu District, Shanghai 201700 Patentee before: Shanghai Xiaoyong Asset Management Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |