CN106101022B - 一种数据请求处理方法和系统 - Google Patents

一种数据请求处理方法和系统 Download PDF

Info

Publication number
CN106101022B
CN106101022B CN201610428912.8A CN201610428912A CN106101022B CN 106101022 B CN106101022 B CN 106101022B CN 201610428912 A CN201610428912 A CN 201610428912A CN 106101022 B CN106101022 B CN 106101022B
Authority
CN
China
Prior art keywords
data
request
node
chained list
time
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
CN201610428912.8A
Other languages
English (en)
Other versions
CN106101022A (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.)
Zhuhai Gotech Intelligent Technology Co Ltd
Original Assignee
Zhuhai Gotech Intelligent Technology 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 Zhuhai Gotech Intelligent Technology Co Ltd filed Critical Zhuhai Gotech Intelligent Technology Co Ltd
Priority to CN201610428912.8A priority Critical patent/CN106101022B/zh
Publication of CN106101022A publication Critical patent/CN106101022A/zh
Application granted granted Critical
Publication of CN106101022B publication Critical patent/CN106101022B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9015Buffering arrangements for supporting a linked list

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种数据请求处理方法和系统,该方法包括:每接收到一个数据请求时,根据该数据请求从数据文本中读取待发送的数据信息,存入数据库,并在第一链表中新增一个节点,节点内容包括:为该数据信息分配的一个唯一的标识和为该数据请求设置的超时时间;响应该数据请求,包括:将所述标识指向的数据信息返回发送该数据请求的终端,并判断在所述超时时间内是否接收到所述终端发回的反馈;若是,将所述标识指向的数据信息从数据库中删除并将所述节点从第一链表中删除;若否,将所述节点移到第二链表,以停止响应该数据请求,直至再次接收到该数据请求时,将所述节点移回第一链表,并再次响应该数据请求,以提高服务器响应大量数据请求的能力。

Description

一种数据请求处理方法和系统
技术领域
本发明涉及互联网技术领域,更具体地说,涉及一种数据请求处理方法和系统。
背景技术
在分布式系统中,服务器根据前端发来的数据请求返回数据信息,并在前端发回反馈后判定此项数据请求已响应完毕。但是,当所述服务器同时响应的数据请求变多时,所述服务器的数据处理速度也将变慢,而与此同时仍不断有新的数据请求涌入,致使所述服务器同时响应的数据请求越来越多,一旦所述服务器同时响应的数据请求的数量超过所述服务器的最大承受量时,很有可能导致服务器系统瘫痪。
因此,如何有效提高服务器响应大量数据请求的能力,已成为本领域亟待解决的问题。
发明内容
有鉴于此,本发明提供一种数据请求处理方法和系统,以提高服务器响应大量数据请求的能力。
一种数据请求处理方法,包括:
每接收到一个数据请求时,根据所述数据请求从数据文本中读取待发送的数据信息,存入数据库中,并在预先创建的第一链表中新增一个节点,所述节点内容包括:为所述数据库中当前存入的数据信息分配的一个唯一的标识,和为所述数据请求设置的超时时间;
响应所述数据请求,包括:将所述节点包含的标识所指向的数据信息返回发送所述数据请求的终端,并判断在所述节点包含的超时时间内是否接收到所述终端发回的反馈;
若是,将所述节点包含的标识所指向的数据信息从所述数据库中删除,并将所述节点从所述第一链表中删除;
若否,将所述节点移到预先创建的第二链表中,以停止响应所述数据请求;直至再次接收到所述数据请求时,将所述节点从所述第二链表移回所述第一链表中,并再次响应所述数据请求。
其中,所述数据库存放在外存储器上。
可选地,所述每接收到一个数据请求时,根据所述数据请求从数据文本中读取待发送的数据信息前,还包括:将数据文本导入内存。
其中,所述数据库为MySQL数据库。
可选地,所述再次响应所述数据请求前,还包括:更新所述节点包含的超时时间。
一种数据请求处理系统,包括预处理单元、请求响应单元、请求未超时处理单元和请求超时处理单元,其中:
所述预处理单元,用于在每接收到一个数据请求时,根据所述数据请求从数据文本中读取待发送的数据信息,存入数据库中,并在预先创建的第一链表中新增一个节点,所述节点内容包括:为所述数据库中当前存入的数据信息分配的一个唯一的标识,和为所述数据请求设置的超时时间;
所述请求响应单元,用于将所述节点包含的标识所指向的数据信息返回发送所述数据请求的终端;并判断在所述节点包含的超时时间内是否接收到所述终端发回的反馈,若是,触发所述请求未超时处理单元,若否,触发所述请求超时处理单元;
所述请求未超时处理单元,用于将所述节点包含的标识所指向的数据信息从所述数据库中删除,并将所述节点从所述第一链表中删除;
所述请求超时处理单元,用于将所述节点移到预先创建的第二链表中,以停止响应所述数据请求;直至再次接收到所述数据请求时,将所述节点从所述第二链表移回所述第一链表中,并触发所述请求响应单元。
其中,所述数据库存放在外存储器上。
可选地,所述数据请求处理系统还包括:读取单元,用于在所述预处理单元开始接收各数据请求前,首先将数据文本导入内存。
其中,所述数据库为MySQL数据库。
可选地,所述请求超时处理单元在触发所述请求响应单元前,还需要先更新所述节点包含的超时时间。
从上述的技术方案可以看出,在本发明中,服务器在响应各数据请求的同时还检测各数据请求是否响应超时,若某数据请求响应超时就对该数据请求做出标记,等待下次接收到该数据请求时再重新响应,这样可以将服务器同时响应的数据请求控制在一定数量内,以避免某些数据请求占用太长时间而导致服务器同时响应的数据请求不断积累并最终造成服务器超负荷崩溃,提高了服务器响应大量数据请求的能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种数据请求处理方法流程图;
图2为本发明实施例公开的一种数据请求处理系统示意图;
图3为本发明实施例公开的又一种数据请求处理系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为参见图1,本发明实施例公开了一种数据请求处理方法,应用于服务器,以提高所述服务器响应大量数据请求的能力,包括:
步骤101:每接收到一个数据请求时,首先根据所述数据请求从数据文本中读取待发送的数据信息,存入数据库中。
所述数据库(所述数据库可以采用MySQL、Oracle、DB2或SQL Server等数据库,但考虑到MySQL数据库为开放源代码的数据库,应用最为广泛,因此本实施例以MySQL数据库作为优选)用于管理正在处理的数据信息。所述数据文本为最原始的数据文件,所述服务器根据接收到的每一个数据请求从所述数据文本中读取到的待发送的数据信息都要存入所述数据库中,之后才能对所述数据信息进行后续处理。
优选的,为提高读取速度,在所述步骤101执行之前,可先将所述数据文本导入内存,但并不局限。
优选的,所述数据库存放在外存储器上,以避免突然断电时发生数据丢失。
步骤102:在预先创建的第一链表中新增一个节点,本节点内容包括:为所述数据库中当前存入的数据信息分配的一个唯一的标识,和为所述数据请求设置的超时时间;
步骤103:将本节点包含的标识所指向的数据信息返回发送所述数据请求的终端;
列在所述第一链表上的各节点所对应的数据请求都是所述服务器当前正在响应的数据请求,若服务器当前正在响应的数据请求数量过多,很容易造成服务器超负荷崩溃。
步骤104:判断在本节点包含的超时时间内是否接收到所述终端发回的反馈;若在本节点包含的超时时间内接收到所述终端发回的反馈,进入步骤107;若没有接收到则进入步骤105。
从所述服务器根据接收到的数据请求返回数据信息,到所述服务器接收到发送所述数据请求的终端发回反馈,需要一定的时间,这段时间称为所述数据请求的响应时间。本实施例针对接收到的各个数据请求均设置了最大响应时间(所述最大响应时间又称为超时时间),对于任一数据请求来说,若服务器对该数据请求的实际响应时间超出该数据请求的最大响应时间,则视为该数据请求响应超时。
步骤105:将本节点移到预先创建的第二链表中,以停止响应所述数据请求;
步骤106:当再次接收到所述数据请求时,将本节点从所述第二链表移回所述第一链表中,返回步骤103。
对于所述第一链表中的任一节点来说,若该节点对应的数据请求超时,则服务器就将该节点从所述第一链表转移到所述第二链表中,列在所述第二链表上的各节点所对应的数据请求都是上次响应超时的数据请求,需等待下次接收到这一数据请求时再重新响应,以避免某些个数据请求占用太长时间而导致服务器同时处理的数据请求不断积累并最终造成服务器超负荷崩溃。
可选地,所述返回步骤103之前,还包括:更新本节点包含的超时时间。具体分析如下:所述服务器再次接收到所述数据请求时,也可以根据实际需要适当缩短或延长所述服务器上次响应所述数据请求时设置的超时时间,那么此时就需要在返回步骤103之前先更新本节点包含的超时时间。
需要说明的是,本实施例中各节点包含的超时时间指的是允许服务器响应对应数据请求的最大时长;而基于相同的发明构思,本领域技术人员可以想到的是:也可以将各节点包含的超时时间改为允许服务器响应对应数据请求的截止时刻,只是这样在每次接收到上次响应超时的数据请求时,都必须要重新设置其节点包含的截止时刻。
步骤107:将本节点包含的标识所指向的数据信息从所述数据库中删除,并将本节点从所述第一链表中删除;至此,此数据请求响应完毕。
由上述描述可以看出,在本实施例中,服务器在响应各数据请求的同时还检测各数据请求是否响应超时,若某数据请求响应超时就对该数据请求做出标记,等待下次接收到该数据请求时再重新响应,这样可以将服务器同时响应的数据请求控制在一定数量内,以避免某些个数据请求占用太长时间而导致服务器同时响应的数据请求不断积累并最终造成服务器超负荷崩溃,从而提高了服务器响应大量数据请求的能力。
此外,参见图2,本发明实施例公开了一种数据请求处理系统,以提高服务器响应大量数据请求的能力,包括预处理单元100、请求响应单元200、请求未超时处理单元300和请求超时处理单元400,其中:
预处理单元100,用于在每接收到一个数据请求时,根据所述数据请求从数据文本中读取待发送的数据信息,存入数据库中,并在预先创建的第一链表中新增一个节点,所述节点内容包括:为所述数据库中当前存入的数据信息分配的一个唯一的标识,和为所述数据请求设置的超时时间;
请求响应单元200,用于将所述节点包含的标识所指向的数据信息返回发送所述数据请求的终端;并判断在所述节点包含的超时时间内是否接收到所述终端发回的反馈,若是,触发请求未超时处理单元300,若否,触发请求超时处理单元400;
请求未超时处理单元300,用于将所述节点包含的标识所指向的数据信息从所述数据库中删除,并将所述节点从所述第一链表中删除;
请求超时处理单元400,用于将所述节点移到预先创建的第二链表中,以停止响应所述数据请求;直至再次接收到所述数据请求时,将所述节点从所述第二链表移回所述第一链表中,并触发请求响应单元200。
可选地,参见图3,所述数据请求处理系统还包括:读取单元500,用于在预处理单元100开始接收各数据请求前,首先将数据文本导入内存,以提高读取速度。
优选的,所述数据库存放在外存储器上。
优选的,所述数据库为MySQL数据库。
综上所述,在本发明中,服务器在响应各数据请求的同时还检测各数据请求是否响应超时,若某数据请求响应超时就对该数据请求做出标记,等待下次接收到该数据请求时再重新响应,这样可以将服务器同时响应的数据请求控制在一定数量内,以避免某些数据请求占用太长时间而导致服务器同时响应的数据请求不断积累并最终造成服务器超负荷崩溃,提高了服务器响应大量数据请求的能力。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明实施例的精神或范围的情况下,在其它实施例中实现。因此,本发明实施例将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种数据请求处理方法,其特征在于,包括:
每接收到一个数据请求时,根据所述数据请求从数据文本中读取待发送的数据信息,存入数据库中,并在预先创建的第一链表中新增一个节点,所述节点内容包括:为所述数据库中当前存入的数据信息分配的一个唯一的标识,和为所述数据请求设置的超时时间;
响应所述数据请求,包括:将所述节点包含的标识所指向的数据信息返回发送所述数据请求的终端,并判断在所述节点包含的超时时间内是否接收到所述终端发回的反馈;
若是,将所述节点包含的标识所指向的数据信息从所述数据库中删除,并将所述节点从所述第一链表中删除;
若否,将所述节点移到预先创建的第二链表中,以停止响应所述数据请求;直至再次接收到所述数据请求时,将所述节点从所述第二链表移回所述第一链表中,更新所述节点包含的超时时间,然后再次响应所述数据请求。
2.根据权利要求1所述的数据请求处理方法,其特征在于,所述数据库存放在外存储器上。
3.根据权利要求1所述的数据请求处理方法,其特征在于,所述每接收到一个数据请求时,根据所述数据请求从数据文本中读取待发送的数据信息前,还包括:将数据文本导入内存。
4.根据权利要求1所述的数据请求处理方法,其特征在于,所述数据库为MySQL数据库。
5.一种数据请求处理系统,其特征在于,包括预处理单元、请求响应单元、请求未超时处理单元和请求超时处理单元,其中:
所述预处理单元,用于在每接收到一个数据请求时,根据所述数据请求从数据文本中读取待发送的数据信息,存入数据库中,并在预先创建的第一链表中新增一个节点,所述节点内容包括:为所述数据库中当前存入的数据信息分配的一个唯一的标识,和为所述数据请求设置的超时时间;
所述请求响应单元,用于将所述节点包含的标识所指向的数据信息返回发送所述数据请求的终端;并判断在所述节点包含的超时时间内是否接收到所述终端发回的反馈,若是,触发所述请求未超时处理单元,若否,触发所述请求超时处理单元;
所述请求未超时处理单元,用于将所述节点包含的标识所指向的数据信息从所述数据库中删除,并将所述节点从所述第一链表中删除;
所述请求超时处理单元,用于将所述节点移到预先创建的第二链表中,以停止响应所述数据请求;直至再次接收到所述数据请求时,将所述节点从所述第二链表移回所述第一链表中,更新所述节点包含的超时时间,然后触发所述请求响应单元。
6.根据权利要求5所述的数据请求处理系统,其特征在于,所述数据库存放在外存储器上。
7.根据权利要求5所述的数据请求处理系统,其特征在于,所述数据请求处理系统还包括:读取单元,用于在所述预处理单元开始接收各数据请求前,首先将数据文本导入内存。
8.根据权利要求5所述的数据请求处理系统,其特征在于,所述数据库为MySQL数据库。
CN201610428912.8A 2016-06-15 2016-06-15 一种数据请求处理方法和系统 Active CN106101022B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610428912.8A CN106101022B (zh) 2016-06-15 2016-06-15 一种数据请求处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610428912.8A CN106101022B (zh) 2016-06-15 2016-06-15 一种数据请求处理方法和系统

Publications (2)

Publication Number Publication Date
CN106101022A CN106101022A (zh) 2016-11-09
CN106101022B true CN106101022B (zh) 2019-08-23

Family

ID=57235734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610428912.8A Active CN106101022B (zh) 2016-06-15 2016-06-15 一种数据请求处理方法和系统

Country Status (1)

Country Link
CN (1) CN106101022B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936921A (zh) * 2017-04-06 2017-07-07 福建新大陆软件工程有限公司 一种网络请求缓冲处理方法及系统
CN107342915B (zh) * 2017-06-20 2020-04-21 杭州高锦科技有限公司 基于自适应轮询的设备管理方法
CN108984121B (zh) * 2018-07-03 2021-04-20 深圳忆联信息系统有限公司 保障请求优先级的方法、装置及计算机设备
EP3644196B1 (en) * 2018-10-26 2022-05-11 Tata Consultancy Services Limited Systems and methods for storing data in an integrated array and linked list based structure
CN110688532B (zh) * 2019-09-03 2022-06-21 视联动力信息技术股份有限公司 一种事务管理方法和装置
CN111381951B (zh) * 2020-03-06 2023-06-30 北京思特奇信息技术股份有限公司 一种系统架构中脏数据处理方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141318A (zh) * 2007-05-28 2008-03-12 中兴通讯股份有限公司 一种事件合成的方法及其装置
CN101771614A (zh) * 2010-01-15 2010-07-07 瑞斯康达科技发展股份有限公司 一种dhcp路径追踪方法及一种dhcp中继设备
CN102510395A (zh) * 2011-10-21 2012-06-20 合一网络技术(北京)有限公司 一种基于P2SP的flash视频调度方法
CN102521339A (zh) * 2011-12-08 2012-06-27 北京京东世纪贸易有限公司 用于动态访问数据源的系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5391551B2 (ja) * 2008-01-28 2014-01-15 ソニー株式会社 認証システム、サーバ装置および認証方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141318A (zh) * 2007-05-28 2008-03-12 中兴通讯股份有限公司 一种事件合成的方法及其装置
CN101771614A (zh) * 2010-01-15 2010-07-07 瑞斯康达科技发展股份有限公司 一种dhcp路径追踪方法及一种dhcp中继设备
CN102510395A (zh) * 2011-10-21 2012-06-20 合一网络技术(北京)有限公司 一种基于P2SP的flash视频调度方法
CN102521339A (zh) * 2011-12-08 2012-06-27 北京京东世纪贸易有限公司 用于动态访问数据源的系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于感知的分布式文件系统拥塞控制机制》;姚莹莹;《中国优秀硕士学位论文全文数据库信息科技辑》;20140615(第6期);全文

Also Published As

Publication number Publication date
CN106101022A (zh) 2016-11-09

Similar Documents

Publication Publication Date Title
CN106101022B (zh) 一种数据请求处理方法和系统
US9047312B1 (en) System and method for deletion of extraneous delete marker objects
US20070185720A1 (en) Sequencing updates to business objects
CN106506663B (zh) 一种号码分配方法、服务器及系统
CN106453667B (zh) 更新缓存数据的方法及装置
CN103209223A (zh) 分布式应用会话信息共享方法、系统和应用服务器
US10996996B2 (en) Implementing multiple content management service operations
US10191909B2 (en) File system creating and deleting apparatus and driving method thereof
CN104601702B (zh) 集群远程过程调用方法及系统
CN105468707A (zh) 一种基于缓存的数据处理方法及装置
CN110489696B (zh) 缓存更新方法、装置及电子设备、存储介质
CN105893607A (zh) 页面数据管理方法、装置及数据服务器
WO2022041812A1 (zh) 一种数据处理方法、相关设备及计算机可读存储介质
CN110535928A (zh) 一种区块链的java智能合约的事件推送方法
CN110880091A (zh) 一种微服务的流程处理方法和设备
US20030093413A1 (en) Access manager for databases
CN101699436A (zh) 资源管理的方法、装置和系统
CN113127564B (zh) 一种参数同步方法和装置
US20140006348A1 (en) Opportunistic clearing of sync states associated with a database
CN105357306B (zh) 多平台数据共享系统及其数据共享方法
CN109101310B (zh) 一种页面刷新方法及装置
CN104360850B (zh) 一种业务代码处理方法及装置
US8615769B2 (en) Data processing system, data processing method, and data processing program
CN105760396B (zh) 一种网页加载方法及装置
TWI287725B (en) Specifying parameters for selective return to an invoker

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant