CN102510398A - 一种并发请求处理方法、装置及服务器 - Google Patents

一种并发请求处理方法、装置及服务器 Download PDF

Info

Publication number
CN102510398A
CN102510398A CN2011103297694A CN201110329769A CN102510398A CN 102510398 A CN102510398 A CN 102510398A CN 2011103297694 A CN2011103297694 A CN 2011103297694A CN 201110329769 A CN201110329769 A CN 201110329769A CN 102510398 A CN102510398 A CN 102510398A
Authority
CN
China
Prior art keywords
client
information table
request
data package
business
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.)
Granted
Application number
CN2011103297694A
Other languages
English (en)
Other versions
CN102510398B (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.)
Aerospace Ouhua Information Technology Co ltd
Original Assignee
Aerospace Science and Industry Shenzhen Group 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 Aerospace Science and Industry Shenzhen Group Co Ltd filed Critical Aerospace Science and Industry Shenzhen Group Co Ltd
Priority to CN201110329769.4A priority Critical patent/CN102510398B/zh
Publication of CN102510398A publication Critical patent/CN102510398A/zh
Application granted granted Critical
Publication of CN102510398B publication Critical patent/CN102510398B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明适用于电力系统通信技术领域,提供了一种并发请求处理方法、装置及服务器,所述方法包括:当接收到来自一个或多个客户端的请求数据包时,根据每个请求数据包中的套接字生成相应的客户端号;分别生成每个客户端的信息表,所述信息表与该客户端的客户端号相关联,用于记录与该客户端通信的规约信息;解析每个客户端的请求数据包,并根据与该客户端的客户端号关联的信息表分别进行相应的业务数据处理。本发明根据每个发起业务请求的客户端在请求中所携带的套接字来为各个客户端赋予不同的客户端号,并为每个客户端建立与该客户端进行通信的规约信息表,从而在并发的业务请求处理中将不同的客户端加以区分,实现了对多个请求的并发处理。

Description

一种并发请求处理方法、装置及服务器
技术领域
本发明属于电力系统通信技术领域,尤其涉及一种并发请求处理方法、装置及服务器。
背景技术
在电力系统的通信调度中,对于并发的客户端业务请求,现有服务器端通常采取的策略是为每一个发起请求的客户端分配一个单独的线程,且该线程一直到该客户端与服务器端停止通信后才能被回收,因此,要提高系统的并发业务处理能力,就必须在服务器端与客户端之间创建大量的线程,而通常系统中已创建的大量线程利用率极低,大大耗费了有限的系统资源,同时,随着线程数量的增加,在不同线程间切换的行为也提高了系统的CPU占用率。
发明内容
本发明实施例的目的在于提供一种并发请求处理方法,旨在解决现有的电力系统在通信调度时为每个发起请求的客户端分配一个单独的线程,导致系统资源浪费的问题。
本发明实施例是这样实现的,一种并发请求处理方法,所述方法包括:
当接收到来自一个或多个客户端的请求数据包时,根据每个请求数据包中的套接字生成相应的客户端号,所述客户端号用于唯一标识一客户端;
分别生成每个客户端的信息表,所述信息表与该客户端的客户端号相关联,用于记录与该客户端通信的规约信息;
解析每个客户端的请求数据包,并根据与该客户端的客户端号关联的信息表分别进行相应的业务数据处理。
本发明实施例的另一目的在于提供一种并发请求处理装置,所述装置包括:
客户端号生成单元,用于当接收到来自一个或多个客户端的请求数据包时,根据每个请求数据包中的套接字生成相应的客户端号,所述客户端号用于唯一标识一客户端。
信息表生成单元,用于分别生成每个客户端的信息表,所述信息表与该客户端的客户端号相关联,用于记录与该客户端通信的规约信息;
业务数据处理单元,用于解析每个客户端的请求数据包,并根据与该客户端的客户端号关联的信息表分别进行相应的业务数据处理。
本发明实施例的另一目的在于提供一种服务器,所述服务器包括如上所述的并发请求处理装置。
本发明实施例根据每个发起业务请求的客户端在请求中所携带的套接字来为各个客户端赋予不同的客户端号,并为每个客户端建立与该客户端进行通信的规约信息表,从而在并发的业务请求处理中将不同的客户端加以区分,实现了对多个请求的并发处理。
附图说明
图1是本发明第一实施例提供的并发请求处理系统的系统结构框图;
图2是本发明第二实施例提供的并发请求处理方法的实现流程图;
图3是本发明第三实施例提供的并发请求处理方法的实现流程图;
图4是本发明第四实施例提供的并发请求处理方法的实现流程图。
图5是本发明第五实施例提供的并发请求处理装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例根据每个发起业务请求的客户端在请求中所携带的套接字来为各个客户端赋予不同的客户端号,并为每个客户端建立与该客户端进行通信的规约信息表,从而在并发的业务请求处理中将不同的客户端加以区分,实现了对多个请求的并发处理。
图1示出了本发明第一实施例提供的并发请求处理系统的系统结构框图,为了便于说明,仅示出了与本实施例相关的部分。
参照图1,该并发请求处理系统可以应用于电力系统中,用于电力系统的通信调度、控制,其包括服务器11,以及多个与服务器11连接的客户端12。其中,客户端12通过TCP/IP通信协议与服务器11建立连接并进行通信,向服务器11发起业务请求,且该行为可以由一个或者多个客户端12同时向服务器11发起。服务器11在接收到客户端12的业务请求后,基于IEC 60870-5-104协议对相关的业务请求进行解析,并在业务应用层面将发起请求的不同客户端12进行区分,通过电力系统中相应的传感器子系统13获取到客户端12所请求的相关业务数据后,根据每个客户端的IEC 60870-5-104协议规约信息对业务数据进行封装,再通过TCP/IP协议返回给各个客户端12。
上述关于并发请求处理系统的详细描述将在后续实施例中进行说明,在此不再赘述。
图2示出了本发明第二实施例提供的并发请求处理方法的实现流程,其执行主体为并发请求处理系统中的服务器,其具体实现流程详述如下:
在步骤S201中,当接收到来自一个或多个客户端的请求数据包时,根据每个请求数据包中的套接字生成相应的客户端号,所述客户端号用于唯一标识一客户端。
由于针对每个客户端,其发送的请求数据包中的套接字是唯一的,因此,通过关联该套接字而生成的客户端号也是与该客户端一一对应的,用于区别于其他客户端,以实现对业务请求的并发处理。
在步骤S202中,分别生成每个客户端的信息表,所述信息表与该客户端的客户端号相关联,用于记录与该客户端通信的规约信息。
当接收到来自一客户端的请求数据包后,基于IEC 60870-5-104协议生成该客户端的信息表,同时,该信息表是与其所归属的客户端的客户端号相关联的,以区别于其他客户端的信息表。在本实施例中,信息表按照IEC 60870-5-104协议中的相关规约记录了与客户端进行通信所需要的数据帧信息,例如发送帧数、接收帧数等等。通过为每个客户端建立相应的信息表,在对该客户端进行业务请求处理的时候,即可按照该信息表中记录的数据帧信息来处理相应的业务数据请求。
在步骤S203中,解析每个客户端的请求数据包,并根据与该客户端的客户端号关联的信息表分别进行相应的业务数据处理。
本实施例通过不同的客户端号来对并发请求的客户端进行区分,并通过建立每个客户端各自的信息表来实现一个线程异步并发地处理多个客户端的业务请求,避免了多线程带来的瓶颈问题,提高了服务器端的并发业务请求处理能力。
作为本发明的一个实施例,在步骤S201之前,还需要接收来自客户端的连接请求并进行相关的判定,图3示出了本发明第三实施例提供的并发请求处理方法用于建立与客户端连接的实现流程,详述如下:
在步骤S301中,接收来自一个或多个客户端的连接请求。
在客户端发送给服务器的连接请求中,包含了服务器用于接收客户端数据的IP地址和端口,以便客户端发出的连接请求能够准确地传送到希望送达的服务器,且基于IEC 60870-5-104协议,其端口号固定,为2404。
在步骤S302中,判断每个客户端的IP地址是否位于预设的IP范围内,是则建立与该客户端的连接,否则不建立与该客户端的连接,终止执行步骤。
在本实施例中,服务器根据其预先制定的安全策略来对每个发起连接请求的客户进行IP地址判断,判断其IP地址是否处于安全策略所预设的IP范围内,是则建立起与客户端的连接,并执行步骤S201,否则不建立与该客户端的连接。
在步骤S303中,当与一个或多个客户端建立连接后,通过select函数接收来自每个建立连接的客户端的请求数据包。
在本实施例中,服务器在与客户端建立起连接之后,基于TCP/IP协议,通过select函数来实现多路复用的输入/输出,此时,只需要单个线程即可同时接收来自多个客户端发送的请求数据包,实现业务请求的并发接收。
需要说明的是,接收请求数据包的动作必须在指定时间内完成,该指定时间根据客户端数据包发送的间隔时间设置,例如,若客户端数据包发送的间隔时间为200ms,则接收请求数据包的时间必须小于200ms,以便不影响对下一请求数据包的接收动作。
图4示出了本发明第四实施例提供的并发请求处理方法的实现流程,本实施例是对本发明第二实施例步骤S203的细化,其具体实现流程如下:
在步骤S401中,从请求数据包中解析出业务功能报文,并根据业务功能报文中的业务功能码获取相关的业务数据。
上述步骤的执行基于IEC60870-5-104协议规约,其规定了相关业务功能的业务功能码,因此,通过在业务功能报文中提取出业务功能码,即可根据该业务功能码由相应的传感器子系统中获取到所需的业务数据。
作为本发明的一个实施例,在步骤S401之前,首先需要判断当前是否有紧急的业务数据需要发送,例如一些突发的通信状况,如线路故障、电流过流等,如果有,则在处理此次业务请求之前,先将上述状况相关的业务数据发送给客户端。
在步骤S402中,根据与该客户端的客户端号关联的信息表,对所述业务数据进行处理后发送至客户端。
当获取到所需的业务数据后,即按照该客户端的信息表来对业务数据进行组帧封装,并发送至客户端。
在步骤S403中,根据下一次业务请求的规约信息,对信息表进行更新后保存。
在本实施例中,每个客户端的信息表均只在该客户端首次连接服务器端时建立,建立之后在每次业务请求过程中,只需要更新下一次业务请求时所需要的规约信息即可。因此,在接收到来自一客户端的请求数据包后,可以首先判断该客户端是否为首次连接,是则执行步骤S202,否则只需要从该客户端已建立的信息表中读取出之前保存的相关规约信息即可。
在步骤S404中,当接收到客户端的断开连接请求时,释放连接并删除与该客户端的客户端号关联的信息表。
作为本发明的一个实施例,同时可以对根据该客户端请求数据包中的套接字而生成的客户端号进行删除,以节约系统资源。
图5示出了本发明第五实施例提供的并发请求处理装置的结构,为了便于说明,仅示出了与本实施例相关的部分。
参照图5,该并发请求处理装置运行于如图1所示的并发请求处理系统的服务器中,可以是运行于服务器的硬件单元、软件单元或者软硬件结合的单元,其具体包括:
客户端号生成单元51,当接收到来自一个或多个客户端的请求数据包时,根据每个请求数据包中的套接字生成相应的客户端号,所述客户端号用于唯一标识一客户端。
信息表生成单元52,分别生成每个客户端的信息表,所述信息表与该客户端的客户端号相关联,用于记录与该客户端通信的规约信息;
业务数据处理单元53,解析每个客户端的请求数据包,并根据与该客户端的客户端号关联的信息表分别进行相应的业务数据处理。
其中,业务数据处理单元53具体包括:
业务数据获取单元531,从请求数据包中解析出业务功能报文,并根据业务功能报文中的业务功能码获取相关的业务数据;
业务数据发送单元532,根据与该客户端的客户端号关联的信息表,对所述业务数据进行处理后发送至该客户端;
信息表更新单元533,根据下一次业务请求的规约信息,对信息表进行更新后保存;
信息表读取单元534,当接收到下一个请求数据包时,读取更新后的信息表以进行业务数据处理。
所述装置还包括:
连接请求接收单元54,接收来自一个或多个客户端的连接请求;
判断单元55,判断每个客户端的IP地址是否位于预设的IP范围内,是则建立与该客户端的连接,否则终止执行步骤;
连接建立单元56,通过select函数接收来自每个建立连接的客户端的请求数据包。
以及:
信息表删除单元57,当接收到客户端的断开连接请求时,释放连接并删除与该客户端的客户端号关联的信息表。
本发明实施例基于IEC 60870-5-104协议,根据每个发起业务请求的客户端在请求中所携带的异步套接字来为各个客户端赋予不同的客户端号,并为每个客户端建立各自的有关IEC 60870-5-104协议规约的信息表,从而在并发的业务请求处理中将不同的客户端加以区分,实现了对多个请求的并发处理。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种并发请求处理方法,其特征在于,所述方法包括:
当接收到来自一个或多个客户端的请求数据包时,根据每个请求数据包中的套接字生成相应的客户端号,所述客户端号用于唯一标识一客户端;
分别生成每个客户端的信息表,所述信息表与该客户端的客户端号相关联,用于记录与该客户端通信的规约信息;
解析每个客户端的请求数据包,并根据与该客户端的客户端号关联的信息表分别进行相应的业务数据处理。
2.如权利要求1所述的方法,其特征在于,在所述根据每个请求数据包中的套接字生成相应的客户端号的步骤之前,所述方法还包括:
接收来自一个或多个客户端的连接请求;
判断每个客户端的IP地址是否位于预设的IP范围内,是则建立与该客户端的连接,否则终止执行步骤;
通过select函数接收来自每个建立连接的客户端的请求数据包。
3.如权利要求1所述的方法,其特征在于,所述解析每个客户端的请求数据包,并根据与该客户端的客户端号关联的信息表分别进行相应的业务数据处理的步骤具体包括:
从请求数据包中解析出业务功能报文,并根据业务功能报文中的业务功能码获取相关的业务数据;
根据与该客户端的客户端号关联的信息表,对所述业务数据进行处理后发送至该客户端;
根据下一次业务请求的规约信息,对信息表进行更新后保存。
4.如权利要求3所述的方法,其特征在于,在所述根据下一次业务请求的规约信息,对信息表进行更新后保存的步骤之后,所述方法还包括:
当接收到下一个请求数据包时,读取更新后的信息表以进行业务数据处理。
5.如权利要求1所述的方法,其特征在于,在解析每个客户端的请求数据包,并根据与该客户端的客户端号关联的信息表分别进行相应的业务数据处理的步骤之后,所述方法还包括:
当接收到客户端的断开连接请求时,释放连接并删除与该客户端的客户端号关联的信息表。
6.一种并发请求处理装置,其特征在于,所述装置包括:
客户端号生成单元,用于当接收到来自一个或多个客户端的请求数据包时,根据每个请求数据包中的套接字生成相应的客户端号,所述客户端号用于唯一标识一客户端。
信息表生成单元,用于分别生成每个客户端的信息表,所述信息表与该客户端的客户端号相关联,用于记录与该客户端通信的规约信息;
业务数据处理单元,用于解析每个客户端的请求数据包,并根据与该客户端的客户端号关联的信息表分别进行相应的业务数据处理。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
连接请求接收单元,用于接收来自一个或多个客户端的连接请求;
判断单元,用于判断每个客户端的IP地址是否位于预设的IP范围内,是则建立与该客户端的连接,否则终止执行步骤;
连接建立单元,用于通过select函数接收来自每个建立连接的客户端的请求数据包。
8.如权利要求6所述的装置,其特征在于,所述业务数据处理单元包括:
业务数据获取单元,用于从请求数据包中解析出业务功能报文,并根据业务功能报文中的业务功能码获取相关的业务数据;
业务数据发送单元,用于根据与该客户端的客户端号关联的信息表,对所述业务数据进行处理后发送至该客户端;
信息表更新单元,用于根据下一次业务请求的规约信息,对信息表进行更新后保存;
信息表读取单元,用于当接收到下一个请求数据包时,读取更新后的信息表以进行业务数据处理。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
信息表删除单元,用于当接收到客户端的断开连接请求时,释放连接并删除与该客户端的客户端号关联的信息表。
10.一种服务器,其特征在于,所述服务器包括如权利要求6至9任一项所述的并发请求处理装置。
CN201110329769.4A 2011-10-26 2011-10-26 一种并发请求处理方法、装置及服务器 Expired - Fee Related CN102510398B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110329769.4A CN102510398B (zh) 2011-10-26 2011-10-26 一种并发请求处理方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110329769.4A CN102510398B (zh) 2011-10-26 2011-10-26 一种并发请求处理方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN102510398A true CN102510398A (zh) 2012-06-20
CN102510398B CN102510398B (zh) 2015-01-21

Family

ID=46222451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110329769.4A Expired - Fee Related CN102510398B (zh) 2011-10-26 2011-10-26 一种并发请求处理方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN102510398B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297520A (zh) * 2013-05-23 2013-09-11 中国南方电网有限责任公司 电网运行服务系统和实现方法
CN105071976A (zh) * 2015-09-08 2015-11-18 安一恒通(北京)科技有限公司 数据传输方法和装置
CN109274758A (zh) * 2018-10-17 2019-01-25 北京潘达互娱科技有限公司 一种请求消息的处理方法及计算设备
CN112035501A (zh) * 2020-09-01 2020-12-04 中国银行股份有限公司 用户标识的更新方法、装置和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007335955A (ja) * 2006-06-12 2007-12-27 Toshiba Corp データ通信システム及びデータ通信装置
CN101115050A (zh) * 2006-07-24 2008-01-30 中兴通讯股份有限公司 一种网络业务请求的处理系统及其方法
CN101123620A (zh) * 2007-08-28 2008-02-13 南京联创科技股份有限公司 大量业务的并发请求的电子数据处理的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007335955A (ja) * 2006-06-12 2007-12-27 Toshiba Corp データ通信システム及びデータ通信装置
CN101115050A (zh) * 2006-07-24 2008-01-30 中兴通讯股份有限公司 一种网络业务请求的处理系统及其方法
CN101123620A (zh) * 2007-08-28 2008-02-13 南京联创科技股份有限公司 大量业务的并发请求的电子数据处理的方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297520A (zh) * 2013-05-23 2013-09-11 中国南方电网有限责任公司 电网运行服务系统和实现方法
CN103297520B (zh) * 2013-05-23 2016-03-30 中国南方电网有限责任公司 电网运行服务系统和实现方法
CN105071976A (zh) * 2015-09-08 2015-11-18 安一恒通(北京)科技有限公司 数据传输方法和装置
CN109274758A (zh) * 2018-10-17 2019-01-25 北京潘达互娱科技有限公司 一种请求消息的处理方法及计算设备
CN109274758B (zh) * 2018-10-17 2021-05-18 北京龙之心科技有限公司 一种请求消息的处理方法及计算设备
CN112035501A (zh) * 2020-09-01 2020-12-04 中国银行股份有限公司 用户标识的更新方法、装置和设备
CN112035501B (zh) * 2020-09-01 2023-09-19 中国银行股份有限公司 用户标识的更新方法、装置和设备

Also Published As

Publication number Publication date
CN102510398B (zh) 2015-01-21

Similar Documents

Publication Publication Date Title
US10609550B2 (en) Multi-device monitoring and control using intelligent device channel sharing
CN102761864B (zh) 一种数据传输的方法、系统及设备
US20170339001A1 (en) Methods and apparatuses for pushing a message
CN101848107B (zh) Snmp网元及snmp网元与私有协议网元通信的方法
CN109167762B (zh) 一种iec104报文校验方法及装置
CN104657841A (zh) 快件投递方法、投递处理方法及快递柜终端和服务系统
CN104660409A (zh) 集群环境下系统登录的方法和认证服务器集群
CN102075246A (zh) 获取光网络单元故障信息的方法、系统和光线路终端
CN111294235A (zh) 数据处理方法、装置、网关及可读存储介质
CN102510398A (zh) 一种并发请求处理方法、装置及服务器
CN105190530A (zh) 传输硬件渲染的图形数据
CN107948217B (zh) 交换机系统和通信方法
CN104009961A (zh) 一种PPPoE会话标识分配方法及设备
WO2013078873A1 (zh) 识别应答报文的方法及设备
CN103051484B (zh) 会话业务处理方法、系统和会话边缘控制器
CN108306815A (zh) 一种获取消息的方法、装置、设备及计算机可读存储介质
CN107995315B (zh) 业务板间信息的同步方法、装置、存储介质及计算机设备
CN103716589A (zh) 一种减少nvr实况转发延时的方法和装置
US10506021B2 (en) Method and device for providing communication connection for a plurality of candidate applications in a mobile device
CN104079398A (zh) 一种数据通信方法、装置及系统
CN102055811A (zh) 设备id的写入方法及系统
CN101986647A (zh) Vrrp的兼容方法及装置
CN111935316B (zh) 一种前端设备目录获取方法及装置
CN105577433B (zh) 一种acs集群管理方法、装置和系统
CN110535743B (zh) 一种数据包的处理方法、装置、存储介质及电子装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200702

Address after: 518000 floor 8, building A5, Nanshan Zhiyuan, No. 1001, Xueyuan Avenue, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Aerospace Ouhua Information Technology Co.,Ltd.

Address before: 5, building 4019, block B, Astronautics Hotel, 518000 Shennan Road, Shenzhen, Futian District, Guangdong

Patentee before: AEROSPACE SCIENCE & INDUSTRY SHENZHEN (Group) Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150121

CF01 Termination of patent right due to non-payment of annual fee