CN105635083A - 基于服务器和客户端架构的业务处理方法及业务处理系统 - Google Patents
基于服务器和客户端架构的业务处理方法及业务处理系统 Download PDFInfo
- Publication number
- CN105635083A CN105635083A CN201410646146.3A CN201410646146A CN105635083A CN 105635083 A CN105635083 A CN 105635083A CN 201410646146 A CN201410646146 A CN 201410646146A CN 105635083 A CN105635083 A CN 105635083A
- Authority
- CN
- China
- Prior art keywords
- request
- result
- server
- client
- business processing
- 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
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于服务器和客户端架构的业务处理方法及业务处理系统,其中该方法包括:所述客户端发送业务处理请求;所述服务器接收并存储所述业务处理请求;所述服务器发送第一响应消息至所述客户端,该第一响应消息包括所述业务处理请求的标识;以及所述服务器基于所述业务处理请求对业务进行处理,并保存处理结果。通过本发明上述的业务处理方法及系统,能够将并发处理的业务进行异步处理拆分,避免并发请求形成耗时间占资源的排队阻塞,从而提高了服务器并发处理能力。
Description
技术领域
本发明涉及通信领域,具体地,涉及一种基于服务器和客户端架构的业务处理方法及业务处理系统。
背景技术
在客户端与服务器的通信过程中,客户端向服务器主动发起请求,并等待服务器的响应,由此完成一个生命周期。如果服务器对响应的处理速度足够快,则服务器可以从容应对多个请求,实现平稳运行。但是,如果服务器端的业务处理比较复杂且耗时(即,此时服务器端的业务处理需要较长的时间,客户端一直占用与服务器的连接资源用于等待),那么必定会造成客户端的请求等待、排队、淤积,使得服务器的并发处理能力降低,从而引发一系列的问题:比如服务超时、客户端始终得不到响应、服务器超载等等,最终还可能导致资源耗尽、崩溃死机等严重后果。
发明内容
本发明的目的是提供一种基于服务器和客户端架构的业务处理方法及业务处理系统,以解决现有技术中服务器并发处理能力低的问题。
为了实现上述目的,本发明提供一种基于服务器和客户端架构的业务处理方法,其中该方法包括:所述客户端发送业务处理请求;所述服务器接收并存储所述业务处理请求;所述服务器发送第一响应消息至所述客户端,该第一响应消息包括所述业务处理请求的标识;以及所述服务器基于所述业务处理请求对业务进行处理,并保存处理结果。
本发明还提供一种业务处理系统,该系统包括客户端和服务器,其中:所述客户端用于发送业务处理请求;所述服务器包括:接收装置,用于接收并存储所述业务处理请求,发送装置,用于发送第一响应消息至所述客户端,该第一响应消息包括所述业务处理请求的标识;以及处理装置,用于基于所述业务处理请求对业务进行处理,并保存处理结果。
通过上述技术方案,服务器从所述客户端接收并存储业务处理请求,并且发送第一响应消息至客户端,这样客户端就不会再继续占用连接资源来等待处理结果,避免了不必要的等待、排队,之后服务器基于业务处理请求对业务进行处理,并保存处理结果。由此,通过将并发处理的业务进行异步处理拆分,避免并发请求形成耗时间占资源的排队阻塞,从而提高了服务器并发处理能力。也就是,无需改变原有业务逻辑,通过解耦方法来提高服务器的吞吐量。
本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是根据本发明一种实施方式的基于服务器和客户端架构的业务处理方法的流程图;
图2是根据本发明一种实施方式的业务处理系统的方框图;以及
图3是根据本发明一种实施方式的服务器的方框图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1是根据本发明一种实施方式的基于服务器和客户端架构的业务处理方法的流程图。
如图1所示,本发明提供的一种基于服务器和客户端架构的业务处理方法包括:
S100,所述客户端发送业务处理请求;
S102,所述服务器接收并存储所述业务处理请求;
S104,所述服务器发送第一响应消息至所述客户端,该第一响应消息包括所述业务处理请求的标识;以及
S106,所述服务器基于所述业务处理请求对业务进行处理,并保存处理结果。
通过服务器从所述客户端接收并存储业务处理请求,并且发送第一响应消息至客户端(即,解耦),这样客户端就不会再继续占用连接资源来等待处理结果,避免了不必要的等待、排队,之后服务器基于业务处理请求对业务进行处理,并保存处理结果。由此,通过将并发处理的业务进行异步处理拆分,避免并发请求形成耗时间占资源的排队阻塞,从而提高了服务器并发处理能力和吞吐量。也就是,无需改变原有业务逻辑,通过解耦方法来提高服务器的吞吐量。
在本发明中,解耦指的是将并发处理的业务进行异步处理拆分,服务器端对客户端的请求即刻返回,而实质性的耗时、耗资源的业务处理由服务器端的专门的工作线程逐一进行处理。在这种情况下,无论业务处理有多缓慢,由于没有阻塞和占用,客户端都无从察觉,而服务器的吞吐量已经得以提升。
其中,该方法还包括:
S108,所述客户端发送请求处理结果的请求,其中所述请求处理结果的请求包括所述业务处理请求的标识;
S110,所述服务器接收所述请求处理结果的请求;
S112,所述服务器基于所述请求处理结果的请求判断是否存在与所述业务处理请求的标识对应的处理结果,如果是,转至步骤S114,否则转至步骤S116;
S114,在判断为存在的情况下,所述服务器将该处理结果发送给所述客户端;
S116,在判断为不存在的情况下,所述服务器发送表示不存在所述处理结果的第二响应消息至所述客户端,并继续接收所述客户端在未接收到所述处理结果的情况下在下一个轮询时间节点发送的所述请求处理结果的请求。
也就是,如果服务器已经处理完毕,客户端发送请求后就可以获得处理结果,否则客户端将在到达下一个轮询时间节点时再次请求。可以看出,服务器对处理结果的请求也是立即响应并返回的,客户端几乎不需要等待。
通过将客户端发起的业务处理请求与请求处理结果的请求进行异步处理拆分,即,从业务处理请求与请求处理结果的请求统一并发到服务器(相同的后台服务)改为分别将两类请求分发到服务器(两个分离的后台服务),由此,由于两类请求复杂程度基本相当,分开后可以加倍服务器后台处理容量。
根据本发明一种实施方式,所述业务处理请求包括表示业务类型的信息。
对于待处理的业务通常可以分为两种:依赖第三方服务的业务和不依赖第三方服务的业务,其中不依赖于第三方服务的业务可控性较高,一旦出现问题,其排查速度较快、所需恢复时间较短;而依赖于第三方服务的业务,故障排查涉及面广,链路长,复杂度高,往往比较困难,恢复需要的时间较长。因此,通过将表示业务类型的信息包括在业务处理请求中可以对不依赖第三方服务的业务和依赖第三方服务的业务进行区分。由此,可以避免相互的恶性干扰,其中一类服务的异常不会导致另一类服务的不可用,进而可以保证不依赖第三方服务的那些业务得以顺利处理,而不会位列于关于依赖第三方服务的请求之后,从而能够降低可能发生淤积队列的成员数量,降低配对阻塞风险。
根据本发明一种实施方式,所述处理结果保存在数据库或缓存中。优选地,所示处理结果保存在缓存中。由此,通过缓存的方式保存处理结果,可以大大提高对处理结果的访问速度,进一步降低排队率。
图2是根据本发明一种实施方式的业务处理系统的方框图。图3是根据本发明一种实施方式的服务器的方框图。
如图2和图3所示,本发明一种实施方式提供的业务处理系统包括客户端20和服务器22,其中:所述客户端20用于发送业务处理请求;所述服务器22包括:接收装置220,用于接收并存储所述业务处理请求;发送装置222,用于发送第一响应消息至所述客户端20,该第一响应消息包括所述业务处理请求的标识;以及处理装置224,用于基于所述业务处理请求对业务进行处理,并保存处理结果。
通过服务器22的接收装置220从所述客户端20接收并存储业务处理请求,由发送装置222发送第一响应消息至客户端20,这样客户端20就不会再继续占用连接资源来等待处理结果,避免了不必要的等待、排队,之后服务器22的处理装置224基于业务处理请求对业务进行处理,并保存处理结果。由此,通过将并发处理的业务进行异步处理拆分,避免并发请求形成耗时间占资源的排队阻塞,从而提高了服务器并发处理能力和吞吐量。
根据本发明一种实施方式,所述客户端20还用于发送请求处理结果的请求,其中所述请求处理结果的请求包括所述业务处理请求的标识;所述接收装置220还用于接收所述请求处理结果的请求;所述处理装置224还用于基于所述请求处理结果的请求判断是否存在与所述业务处理请求的标识对应的处理结果;在判断为存在的情况下,所述发送装置222还用于将该处理结果发送给所述客户端20;在判断为不存在的情况下,所述发送装置222还用于发送表示不存在所述处理结果的第二响应消息至所述客户端20,并且所述接收装置220还用于继续接收所述客户端20在未接收到所述处理结果的情况下在下一个轮询时间节点发送的所述请求处理结果的请求。
通过将客户端发起的业务请求与请求处理结果的请求进行异步处理拆分,即,从业务处理请求与请求处理结果的请求统一并发到服务器改为分别将两类请求分发到服务器,由此,由于两类请求复杂程度基本相当,分开后可以加倍服务器后台处理容量。
根据本发明一种实施方式,所述业务处理请求包括表示业务类型的信息。
根据本发明一种实施方式,所述处理结果保存在数据库或缓存中。优选地,所示处理结果保存在缓存中。由此,通过缓存的方式保存处理结果,可以大大提高对处理结果的访问速度,进一步降低排队率。
本发明上述的基于服务器和客户端架构的业务处理方法及业务处理系统可以应用于例如网络发票系统,由此可以提高网络发票系统的并发容量。也就是,无论是由专门的工作线程来逐一处理耗时复杂业务,还是将依赖第三方服务的业务和不依赖第三方服务的业务分开部署,还是将客户端的业务处理请求和客户端的请求处理结果的请求分到不同的后台服务,都无需改变原有的业务逻辑,通过解耦方法就可以提高网络发票系统的吞吐量。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (8)
1.一种基于服务器和客户端架构的业务处理方法,其中,该方法包括:
所述客户端发送业务处理请求;
所述服务器接收并存储所述业务处理请求;
所述服务器发送第一响应消息至所述客户端,该第一响应消息包括所述业务处理请求的标识;以及
所述服务器基于所述业务处理请求对业务进行处理,并保存处理结果。
2.根据权利要求1所述的方法,其中,该方法还包括:
所述客户端发送请求处理结果的请求,其中所述请求处理结果的请求包括所述业务处理请求的标识;
所述服务器接收所述请求处理结果的请求;
所述服务器基于所述请求处理结果的请求判断是否存在与所述业务处理请求的标识对应的处理结果;
在判断为存在的情况下,所述服务器将该处理结果发送给所述客户端;
在判断为不存在的情况下,所述服务器发送表示不存在所述处理结果的第二响应消息至所述客户端,并继续接收所述客户端在未接收到所述处理结果的情况下在下一个轮询时间节点发送的所述请求处理结果的请求。
3.根据权利要求2所述的方法,其中,所述业务处理请求包括表示业务类型的信息。
4.根据权利要求1-3中任一项权利要求所述的方法,其中,所述处理结果保存在数据库或缓存中。
5.一种业务处理系统,该系统包括客户端和服务器,其中:
所述客户端用于发送业务处理请求;
所述服务器包括:
接收装置,用于接收并存储所述业务处理请求;
发送装置,用于发送第一响应消息至所述客户端,该第一响应消息包括所述业务处理请求的标识;以及
处理装置,用于基于所述业务处理请求对业务进行处理,并保存处理结果。
6.根据权利要求5所述的系统,其中,
所述客户端还用于发送请求处理结果的请求,其中所述请求处理结果的请求包括所述业务处理请求的标识;
所述接收装置还用于接收所述请求处理结果的请求;
所述处理装置还用于基于所述请求处理结果的请求判断是否存在与所述业务处理请求的标识对应的处理结果;
在判断为存在的情况下,所述发送装置还用于将该处理结果发送给所述客户端;
在判断为不存在的情况下,所述发送装置还用于发送表示不存在所述处理结果的第二响应消息至所述客户端,并且所述接收装置还用于继续接收所述客户端在未接收到所述处理结果的情况下在下一个轮询时间节点发送的所述请求处理结果的请求。
7.根据权利要求6所述的系统,其中,所述业务处理请求包括表示业务类型的信息。
8.根据权利要求5-7中任一项权利要求所述的系统,其中,所述处理结果保存在数据库或缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410646146.3A CN105635083A (zh) | 2014-11-14 | 2014-11-14 | 基于服务器和客户端架构的业务处理方法及业务处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410646146.3A CN105635083A (zh) | 2014-11-14 | 2014-11-14 | 基于服务器和客户端架构的业务处理方法及业务处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105635083A true CN105635083A (zh) | 2016-06-01 |
Family
ID=56049581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410646146.3A Pending CN105635083A (zh) | 2014-11-14 | 2014-11-14 | 基于服务器和客户端架构的业务处理方法及业务处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105635083A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339440A (zh) * | 2016-08-22 | 2017-01-18 | 东软集团股份有限公司 | 异步任务查询方法及设备 |
CN106713455A (zh) * | 2016-12-22 | 2017-05-24 | 北京锐安科技有限公司 | 一种处理客户端请求的系统、方法及装置 |
CN106911557A (zh) * | 2017-01-17 | 2017-06-30 | 腾讯科技(深圳)有限公司 | 消息传输方法和装置 |
CN107071058A (zh) * | 2017-05-24 | 2017-08-18 | 深圳市可可卓科科技有限公司 | 异步数据上传处理方法及系统 |
CN110557398A (zh) * | 2019-09-12 | 2019-12-10 | 金蝶软件(中国)有限公司 | 服务请求控制方法、装置、系统、计算机设备和存储介质 |
CN110995780A (zh) * | 2019-10-30 | 2020-04-10 | 北京文渊佳科技有限公司 | Api调用方法、装置、存储介质及电子设备 |
CN111488373A (zh) * | 2020-03-24 | 2020-08-04 | 支付宝(杭州)信息技术有限公司 | 用于处理请求的方法和系统 |
CN112099864A (zh) * | 2020-09-24 | 2020-12-18 | 中国建设银行股份有限公司 | 一种异步数据的处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1830192A (zh) * | 2003-07-31 | 2006-09-06 | 国际商业机器公司 | 用于异步地处理请求的方法、系统和程序产品 |
US20060259545A1 (en) * | 2005-05-14 | 2006-11-16 | International Business Machines Corporation | Method, Apparatus and Computer Program for Facilitating Communication Between a Client Application and a Server Application |
JP2008052358A (ja) * | 2006-08-22 | 2008-03-06 | Toshiba Corp | 非同期リクエスト伝達システム |
CN101543070A (zh) * | 2007-04-10 | 2009-09-23 | 电子部品研究院 | 异步多媒体检索的方法 |
CN102404367A (zh) * | 2010-09-13 | 2012-04-04 | 深圳市财付通科技有限公司 | 一种异步通信方法及系统 |
CN102771101A (zh) * | 2009-12-15 | 2012-11-07 | 国际商业机器公司 | 保证异步客户端服务器事务 |
-
2014
- 2014-11-14 CN CN201410646146.3A patent/CN105635083A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1830192A (zh) * | 2003-07-31 | 2006-09-06 | 国际商业机器公司 | 用于异步地处理请求的方法、系统和程序产品 |
US20060259545A1 (en) * | 2005-05-14 | 2006-11-16 | International Business Machines Corporation | Method, Apparatus and Computer Program for Facilitating Communication Between a Client Application and a Server Application |
JP2008052358A (ja) * | 2006-08-22 | 2008-03-06 | Toshiba Corp | 非同期リクエスト伝達システム |
CN101543070A (zh) * | 2007-04-10 | 2009-09-23 | 电子部品研究院 | 异步多媒体检索的方法 |
CN102771101A (zh) * | 2009-12-15 | 2012-11-07 | 国际商业机器公司 | 保证异步客户端服务器事务 |
CN102404367A (zh) * | 2010-09-13 | 2012-04-04 | 深圳市财付通科技有限公司 | 一种异步通信方法及系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339440A (zh) * | 2016-08-22 | 2017-01-18 | 东软集团股份有限公司 | 异步任务查询方法及设备 |
CN106713455A (zh) * | 2016-12-22 | 2017-05-24 | 北京锐安科技有限公司 | 一种处理客户端请求的系统、方法及装置 |
CN106911557A (zh) * | 2017-01-17 | 2017-06-30 | 腾讯科技(深圳)有限公司 | 消息传输方法和装置 |
CN107071058A (zh) * | 2017-05-24 | 2017-08-18 | 深圳市可可卓科科技有限公司 | 异步数据上传处理方法及系统 |
CN110557398A (zh) * | 2019-09-12 | 2019-12-10 | 金蝶软件(中国)有限公司 | 服务请求控制方法、装置、系统、计算机设备和存储介质 |
CN110557398B (zh) * | 2019-09-12 | 2022-05-17 | 金蝶软件(中国)有限公司 | 服务请求控制方法、装置、系统、计算机设备和存储介质 |
CN110995780A (zh) * | 2019-10-30 | 2020-04-10 | 北京文渊佳科技有限公司 | Api调用方法、装置、存储介质及电子设备 |
CN111488373A (zh) * | 2020-03-24 | 2020-08-04 | 支付宝(杭州)信息技术有限公司 | 用于处理请求的方法和系统 |
CN111488373B (zh) * | 2020-03-24 | 2023-09-22 | 支付宝(杭州)信息技术有限公司 | 用于处理请求的方法和系统 |
CN112099864A (zh) * | 2020-09-24 | 2020-12-18 | 中国建设银行股份有限公司 | 一种异步数据的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105635083A (zh) | 基于服务器和客户端架构的业务处理方法及业务处理系统 | |
CN110958281B (zh) | 基于物联网的数据传输方法及通信装置 | |
CN109873736A (zh) | 一种微服务监控方法及系统 | |
CN101222374B (zh) | 一种实现业务升级的系统、装置及方法 | |
CN101848107B (zh) | Snmp网元及snmp网元与私有协议网元通信的方法 | |
CN113746928B (zh) | 跨云服务调用方法、装置和系统 | |
CN101453404A (zh) | 一种实现负载均衡的方法及装置 | |
CN113259415B (zh) | 一种网络报文处理方法、装置及网络服务器 | |
CN110234140B (zh) | 一种通信方法、装置、实体及存储介质 | |
CN102571947A (zh) | 一种代理处理数据的方法、装置和系统 | |
CN112491944A (zh) | 边缘应用发现方法及装置、边缘应用服务支持方法及装置 | |
CN101809950A (zh) | 为移动通信网络的控制平面实施负载均衡的方法和设备 | |
CN107872396A (zh) | 具有超时控制的通信方法、处理设备、终端设备和服务器 | |
CN113391979A (zh) | 监控数据展示的处理方法、设备、系统及存储介质 | |
CN110875887A (zh) | 一种基于mqtt协议的通信交互方法及通信交互系统 | |
US20210258872A1 (en) | A method of and a device for operating network gateway services in a service based telecommunications system | |
US9537735B2 (en) | Data collection method, mobile terminal and data storage device | |
CN110674172A (zh) | 数据查询方法及装置 | |
CN101605301A (zh) | 一种进行多节点事务处理的集群系统及请求消息分发方法 | |
WO2024032450A1 (zh) | 一种通信方法及通信模组 | |
US20090172122A1 (en) | Message Transmission Method, Message Transmission Device, and Storage Medium Recorded with Message Transmission Program | |
CN107547643A (zh) | 一种负载分担方法和装置 | |
CN105025042B (zh) | 一种确定数据信息的方法及系统、代理服务器 | |
CN114024968B (zh) | 一种基于中间设备的报文发送方法、装置和电子设备 | |
CN113783963B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160601 |
|
RJ01 | Rejection of invention patent application after publication |