CN111343239A - 通信请求处理方法、通信方法、通信请求处理装置以及交易系统 - Google Patents
通信请求处理方法、通信方法、通信请求处理装置以及交易系统 Download PDFInfo
- Publication number
- CN111343239A CN111343239A CN202010085211.5A CN202010085211A CN111343239A CN 111343239 A CN111343239 A CN 111343239A CN 202010085211 A CN202010085211 A CN 202010085211A CN 111343239 A CN111343239 A CN 111343239A
- Authority
- CN
- China
- Prior art keywords
- communication
- communication request
- thread group
- processing
- data
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 465
- 238000012545 processing Methods 0.000 title claims abstract description 98
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 57
- 230000004044 response Effects 0.000 claims abstract description 45
- 230000008569 process Effects 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 20
- 239000000306 component Substances 0.000 description 38
- 230000006870 function Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 241001137251 Corvidae Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000008358 core component Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/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/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种通信请求处理方法、通信方法、通信请求处理装置以及交易系统,通信请求处理方法包括:创建通信请求对象,通信请求对象包括通信线程组和工作线程组;在获取通信请求的情况下,根据通信请求对象创建对象服务;对象服务调用通信线程组,以建立通信连接,并将通信连接中的通信数据发送至工作线程组;工作线程组对通信数据进行处理,得到通信结果。通过将建立通信连接和通信数据处理解耦的方式来提高并发能力。不仅减少了线程数量,还降低了应用层中资源的需求,为交易系统之间提供了稳定可靠的通信处理能力,以及较快的通信响应速度。
Description
技术领域
本发明属于互联网通信领域,尤其涉及通信请求处理领域。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着移动互联网的交易系统之间交易量的不断攀升,交易系统之间的通信访问越来越多。然而,由于各个交易系统中通信请求的并发能力有限,所以,在海量并发通信请求时,会导致通信服务响应变慢,硬件资源需求量大,资源过度消耗。
发明内容
针对上述现有技术中存在的问题,提出了一种通信请求处理方法、通信方法、通信请求处理装置、交易系统以及电子设备,以解决现有技术中的一个或多个技术问题。
第一方面,提供了一种通信请求处理方法,包括:
创建通信请求对象,通信请求对象包括通信线程组和工作线程组;
在获取通信请求的情况下,根据通信请求对象创建对象服务;
对象服务调用通信线程组,以建立通信连接,并将通信连接中的通信数据发送至工作线程组;
工作线程组对通信数据进行处理,得到通信结果。
本实施方式中,通过将建立通信连接和通信数据处理解耦的方式来提高并发能力。不仅减少了线程数量,还降低了应用层中资源的需求,为交易系统之间提供了稳定可靠的通信处理能力,以及较快的通信响应速度。
在一种实施方式中,还包括:
在工作线程组对通信数据进行处理之后,等待通信结果的情况下,工作线程组将通信请求对象设置为等待状态;
在工作线程组接收应答数据的情况下,重新唤醒通信请求对象,应答数据是服务端根据通信结果生成的。
本实施方式中,将线程的占用转换为内存占用,提高了线程的利用率,使用较少的通信线程和工作线程就能够完成海量的通信请求处理。
在一种实施方式中,还包括:
工作线程组接收应答数据,并将应答数据和通信结果发送至交易服务节点,以使交易服务节点利用应答数据进行交易处理。
在一种实施方式中,还包括:
在通信结果为通信失败或通信超时的情况下,工作线程组根据预设调用次数重新调用通信请求。
本实施方式中,通过设置预设调用次数,在通信失败或通信超时的情况下,能够判断是否需要重新调用通信请求以及重新调用的次数,以保证通信请求成功。
在一种实施方式中,还包括:
统计通信性能指标,通信性能指标包括预设时间段内的通信请求的总数量、通信请求的成功数、通信请求的失败数、通信请求单次处理的耗时以及通信成功率。
本实施方式中,统计结果可用来协助统计分析一段时间内通信服务节点的通信质量,可用于日常监控、性能测试等场景。
第二方面,提供了一种通信方法,包括:
创建异步通信请求处理组件,异步通信请求处理组件用于执行上述任一项的通信请求处理方法;
交易服务节点调用异步通信请求处理组件,建立与服务端之间的通信连接。
第三方方面,提供了一种通信请求处理装置,包括:
通信请求对象创建模块,用于创建通信请求对象,通信请求对象包括通信线程组和工作线程组;
对象服务创建模块,用于在获取通信请求的情况下,根据通信请求对象创建对象服务;
通信连接模块,用于对象服务调用通信线程组,以建立通信连接,并将通信连接中的通信数据发送至工作线程组;
通信请求处理模块,用于工作线程组对通信数据进行处理,得到通信结果。
在一种实施方式中,还包括:
通信请求对象状态设置模块,用于在工作线程组对通信数据进行处理之后,等待通信结果的情况下,工作线程组将通信请求对象设置为等待状态;
通信请求对象唤醒模块,用于在工作线程组接收应答数据的情况下,重新唤醒通信请求对象,应答数据是服务端根据通信结果生成的。
在一种实施方式中,还包括:
应答数据发送模块,用于工作线程组接收应答数据,并将应答数据和通信结果发送至交易服务节点,以使交易服务节点利用应答数据进行交易处理。
在一种实施方式中,还包括:
通信请求重调模块,用于在通信结果为通信失败或通信超时的情况下,工作线程组根据预设调用次数重新调用通信请求。
在一种实施方式中,还包括:
通信性能指标统计模块,用于统计通信性能指标,通信性能指标包括预设时间段内的通信请求的总数量、通信请求的成功数、通信请求的失败数、通信请求单次处理的耗时以及通信成功率。
第四方面,提供了一种交易系统,包括:
异步通信请求处理组件,异步通信请求处理组件包括上述任一项的通信请求处理装置;
交易服务节点,用于调用异步通信请求处理组件,建立与服务端之间的通信连接。
在一种实施方式中,还包括多个计算节点,计算节点之间通过统一的通信服务调用协议互相调用。
在一种实施方式中,异步通信请求处理组件包括适用于通信服务调用协议的接口。
上述申请中的一个实施例具有如下优点或有益效果:因为在客户端采用通信线程组建立通信连接,采用工作线程组对通信数据进行处理,得到通信结果的技术手段,所以克服了通信连接建立和通信数据处理都在由一个线程独占去完成,导致并发量完全取决于线程池大小的技术问题,进而明显提高了客户端中单个通信服务节点的并发处理能力,为交易系统之间提供了稳定可靠的通信处理能力,以及较快的通信响应速度的技术效果。
应当理解,上述说明仅是本发明技术方案的概述,以便能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施。为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举例说明本发明的具体实施方式。
附图说明
通过阅读下文的示例性实施例的详细描述,本领域普通技术人员将明白本文所述的优点和益处以及其他优点和益处。附图仅用于示出示例性实施例的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的标号表示相同的部件。在附图中:
图1是根据本申请实施例提供的一种通信请求处理方法的流程示意图;
图2是根据本申请实施例提供一种通信请求处理方法的场景图;
图3是根据本申请实施例提供的另一种通信请求处理方法的流程示意图;
图4是根据本申请实施例提供的一种通信方法的流程示意图;
图5是根据本申请实施例提供的一种通信系统的结构框图;
图6是根据本申请实施例提供的一种通信请求处理装置的结构框图;
图7是根据本申请实施例提供的另一种通信请求处理装置的结构框图;
图8是用来实现本申请实施例的一种通信请求处理方法的电子设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本发明中,应理解,诸如“包括”或“具有”等术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不旨在排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在的可能性。
另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
实施例一
在一种具体实施方式中,如图1所示,提供了一种通信请求处理方法的流程图,通信请求处理方法包括:
步骤S10:创建通信请求对象,通信请求对象包括通信线程组和工作线程组;
步骤S20:在获取通信请求的情况下,根据通信请求对象创建对象服务;
步骤S30:对象服务调用通信线程组,以建立通信连接,并将通信连接中的通信数据发送至工作线程组;
步骤S40:工作线程组对通信数据进行处理,得到通信结果。
在网络交易活动等场景下,客户端和服务端需要建立通信连接(通信链路),通信连接(通信链路)建立后,传输本次通信请求需要传递的数据,即完成一次通信请求。其中,客户端可以包括浏览器、银行交易系统等。服务端可以包括第三方支付系统、另一银行交易系统等。通信请求可以包括Http(超文本传输协议,Hyper Text Transfer Protocol)请求,或者Https(以安全为目标的Http通道,Hyper Text Transfer Protocol over SecureSocket Layer)请求等。尤其在大型的网络营销活动中,有高并发的通信请求需要处理的情况下,本实施方式提供了一种应用于客户端的通信请求处理方法。如图2所示,具体的通信请求处理流程如下:
TCP(传输控制协议,Transmission Control Protocol)握手建立连接成功后,客户端开始向服务端发送通信请求。
首先,在客户端的通信服务节点的应用层中,创建通信请求对象。通信请求对象可以包括异步httpclient实例(AsyncHttpClient实例),用于异步处理Http请求。异步HttpClient提供支持Http协议的客户端编程工具包,包括Http请求的地址、内容、请求类型、Http Head(请求页面首部)等。Http请求的类型可以包括GET和POST两种类型。GET(获取)类型是客户端向服务端获取数据,POST(提交)类型是客户端向服务端提交数据。
在创建异步httpclient实例的过程中,完成了创建线程池、Http请求参数的设置、创建通信请求重发机制以及添加拦截器。
在一种示例中,线程池中设置两个线程组:通信线程组和工作线程组。通信线程组负责通信连接的建立和维护。例如,使用Reactor(反应器)模式对通信连接进行管理,负责连接的创建使用和回收,在建立Socket(套接字)底层通信时分配通信线程来建立连接。工作线程组负责从通信线程组读取和写入通信数据,对通信连接上的通信数据进行相应的处理。例如,协议解析、报文内容解析等。
Http请求参数可以由客户端的交易服务节点根据交易需求进行设置。Http请求参数可包括:线程池的最大线程数、单个通信服务节点可使用的最大通信连接数、Socket(套接字)底层通信的相关参数、通信连接超时时间、通信处理超时时间、Http Head(请求页面首部)中的参数、最大允许等待通信请求数等等。当交易服务节点没有设置以上参数时,提供默认参数。例如,默认参数可以包括最大连接数1万,默认超时连接时间10秒,默认的通信超时时间10秒等。
创建通信请求重发机制,根据通信结果判断是否需要重发通信请求,以及重发通信请求的次数。拦截器用于对需要传输的数据做相应的编码和解码操作。例如:对Http请求的内容做URL(统一资源定位符,Uniform Resource Locator)编码,对接收到的应答数据做URL解码。
然后,调用POST(提交)或者GET(获取)等类型的Http请求,并将其传入实现了PostBack接口的类,PostBack接口主要用于回调通信请求成功或通信请求失败。由于通信请求对象定义了通信请求的处理逻辑,所以,在调用Http请求之后,根据通信请求对象中包含的通信请求的内容创建一组对象服务,例如AsyncHttpRequest实例。AsyncHttpRequest实例实现了Runnable(可运行状态)接口,用于发送Http请求。将AsyncHttpRequest实例提交至线程池处理。
AsyncHttpRequest实例调用DefaultHttpClient的excute(执行)方法来完成Http请求的处理。具体的过程为:对象服务提取通信请求对象至工作线程组,工作线程组对通信请求对象进行解析,得到通信请求的地址和内容。对象服务根据通信请求的地址调用通信线程组,建立通信连接,并在通信连接中写入或者读取通信数据。工作线程启动之后会不断扫描通信连接上返回的通信数据,每扫描到通信数据,通信线程组将通信数据发送至工作线程组,工作线程组对扫描到的通信数据进行相应的处理,这个过程会一直持续到通信服务进程停止。工作线程组对通信数据进行处理后,得到通信结果。通信结果包括通信成功、通信失败、通信超时、成功的应答报文、通信失败的原因等。
通信请求处理完成之后,ResponseHandlerInterface实例接收通信结果。调用sendResponseMessage(发送通信结果)方法,将通信结果发送至交易服务节点,完成一次通信请求。完成对虚拟机内存的释放,例如,通信请求对象的释放,以及对通信线程组和工作线程组的释放。
本实施方式中,在通信请求的高并发访问的场景下,异步httpclient实例将建立通信连接、数据处理分离,解决了从建立通信连接到数据发送以及数据接收都是由一个线程独占去完成的,并发量完全取决于线程池大小的技术问题。通过将建立通信连接和通信数据处理解耦的方式来提高并发能力。不仅减少了线程数量,还降低了应用层中资源的需求,使得通信服务节点可以承载海量的通信请求并发访问,为处理海量高并发交易提供很大的支持。明显提高了单个通信服务节点的并发处理能力,为交易系统之间提供了稳定可靠的通信处理能力,以及较快的通信响应速度。
在一种实施方式中,如图3所示,还包括:
步骤S50:在工作线程组对通信数据进行处理之后,等待通信结果的情况下,工作线程组将通信请求对象设置为等待状态;
步骤S60:在工作线程组接收应答数据的情况下,重新唤醒通信请求对象,应答数据是服务端根据通信结果生成的。
由于在等待通信结果时需要占用线程和通信链路,对线程和通信链路都不会释放,直到整个处理结束。在本实施方式中,可以将Http通信处理的逻辑封装到通信请求对象,例如Handler(异步消息处理)中,每获取一个通信请求,在虚拟机中实例化一个Handler对象。在工作线程组中一个工作线程处理完Handler对象,等待通信结果的情况下,此工作线程组将Handler对象设置为等待状态。具体操作方式可以为将通信线程组中被占用的通信线程、工作线程组中的工作线程的状态设置为空闲状态,从而将其标记为可用。使得此工作线程释放,可以处理下一个Handler对象。当工作线程组中的工作线程接收到应答数据时,再重新唤醒Handler对象来进行后续处理。
本实施方式中,将线程的占用转换为内存占用,提高了线程的利用率,使用较少的通信线程和工作线程就能够完成海量的通信请求处理。
在一种实施方式中,如图3所示,还包括:
步骤S70:工作线程组接收应答数据,并将应答数据和通信结果发送至交易服务节点,以使交易服务节点利用应答数据进行交易处理。
在一种示例中,客户端中包括通信服务节点和交易服务节点。通信服务节点包括在客户端中完成对外通信服务功能的计算节点,是客户端与服务端之间的通信桥梁。交易服务节点包括用于处理交易逻辑的计算节点,例如,创建订单、创建交易流水,交易权限检查等。服务端接收请求后,解析Http请求,处理完交易逻辑,返回应答数据给客户端。交易服务节点需要利用应答数据进行交易处理。
在一种实施方式中,如图3所示,还包括:
步骤S80:在通信结果为通信失败或通信超时的情况下,工作线程根据预设调用次数重新调用通信请求。
在一种示例中,可以根据客户端和服务端的约定设定通信请求的预设调用次数。通信结果为Http请求通信失败或通信超时的时候,客户端判断是否需要继续重调通信请求,如果需要重调通信请求,在预设时间段内,重新多次调用通信请求,直到通信请求处理成功为止。
本实施方式中,通过设置预设调用次数,在通信失败或通信超时的情况下,能够判断是否需要重新调用通信请求以及重新调用的次数,以保证通信请求成功。
在一种实施方式中,还包括:
统计通信性能指标,通信性能指标包括预设时间段内的通信请求的总数量、通信请求的成功数、通信请求的失败数、通信请求单次处理的耗时以及通信成功率。
在一种示例中,在Http请求发起直至接收应答数据的过程中,实时采集通信性能指标,并由统计模块进行汇总统计和运算。通信性能指标可以通过调用API(ApplicationProgramming Interface,应用程序接口)接口来获取。
统计通信性能指标的具体过程为:首先,设置全局的计数器集合,在计数器用来统计预设时间段内以及全局的通信数据。在数据采集阶段,预设时间段可以默认设置为3秒,即每3秒采集一次,也可以设置为其他的时间周期,或者从服务器启动开始,采集通信请求总数量、通信请求的成功数、失败数。当每个Http请求对象创建时,记录开始获取Http请求的时间,作为通信请求处理的开始时间,记录通信处理完成时的时间,作为通信请求处理的结束时间,通过相减得到通信请求单次处理的耗时。然后,在数据计算阶段,根据通信处理结果统计加3秒内的或总体的各种数据,例如,全局计数器中的通信请求数的数量、通信请求的成功数、失败数、通信请求单次处理的耗时。根据通信请求单次处理的耗时和时间周期计算通信总耗时。利用统计的数据计算通信请求的总数量、总成功数量、总失败数量、成功率、平均耗时、TP95、TP99等。TP95就是满足百分之九十五的网络请求所需要的最低耗时。TP99就是满足百分之九十九的网络请求所需要的最低耗时。统计结果可用来协助统计分析一段时间内通信服务节点的通信质量,可用于日常监控、性能测试等场景。
在一种实施方式中,还包括:
在创建通信请求对象时,利用安全检查模块对Http请求进行安全检查,如访问权限检查、外系统IP白名单控制、针对域名的流量控制等。对Http请求的校验,包括验证服务器端证书、验证双向证书、不验证证书等。
实施例二
在另一种具体实施方式中,如图4所示,提供了一种通信方法,包括:
步骤S100:创建异步通信请求处理组件,异步通信请求处理组件用于执行任一项的通信请求处理方法;
步骤S200:交易服务节点调用异步通信请求处理组件,建立与服务端之间的通信连接。
如图5所示,本交易系统(客户端)包括交易服务节点(通信服务调用方)和通信服务节点,交易服务节点通过调用通信服务节点中的异步通信请求处理组件,来建立本交易系统与外部交易系统(外系统、服务端)之间的通信连接。
本交易系统可以分为前置层、网关层、服务层、通信层,其中各层都由一定数量的计算节点组成,计算节点上部署相应的应用。计算节点之间通过内部协议进行互相调用,具体的通信服务调用协议可以为UPHEAD和MAGPIE,交易服务节点按需选择即可。本交易系统对内部使用内部协议的服务,对外部使用Http Client客户端。
一种示例中,通信服务节点通过管理组件将客户端的资源进行统一依赖管理。提供的管理组件包括如下功能:
采用异步通信请求处理组件,用于实现底层的通信访问,执行实施例一中的通信请求处理方法。异步通信请求处理组件可以是对异步通信请求处理组件是Apache(阿帕奇)Http Async Client的相关功能组件,包括:Http Core组件、Http Components组件、HttpClient组件,以及对这些组件的封装。Http Core组件和Http Components组件是一组对Http协议的实现,用于创建和定制Http客户端,支持非阻塞式IO(输入/输出,input/output)模型。Http Core、Http Components以及Http Client实现了基于NIO(全新的IO流)的Http通信调用,而直接使用需要设置大量的Http协议以及底层Socket协议的相关参数以及编写相应的回调函数来处理通信应答,并且对通信连接无法建立、通信处理超时等异常情况进行处理。
管理组件的功能可发布为Http服务或TCP服务。Http请求解析器、TCP请求解析器、在接收到通信服务调用协议(UPHEAD、MAGPIE)调用时体现。
当然,本实施方式还可以使用JDK(Java SE Development kit,开发工具包)的NIO(全新的IO流)包,来实现Http服务或TCP服务。
本实施方式中,通信服务节点引入异步通信请求处理组件,交易服务节点仅需要按照提供的内部协议接口进行一次服务调用即可完成对外系统的通信连接。使得交易服务节点无需了解Http通信协议的实现细节,以及如何提供海量高并发的Http通信负载能力,均由通信服务节点负责完成。异步通信请求处理组件无需复杂的编码,且封装了符合客户端的内部调用规范的调用接口,供各种应用计算节点来进行方便的调用,更便于完成和外部交易系统之间的通信连接。
实施例三
在另一种具体实施方式中,如图6所示,提供了一种通信请求处理装置10,包括:
通信请求对象创建模块110,用于创建通信请求对象,通信请求对象包括通信线程组和工作线程组;
对象服务创建模块120,用于在获取通信请求的情况下,根据通信请求对象创建对象服务;
通信连接模块130,用于对象服务调用通信线程组,以建立通信连接,并将通信连接中的通信数据发送至工作线程组;
通信请求处理模块140,用于工作线程组对通信数据进行处理,得到通信结果。
在一种实施方式中,如图7所示,提供了一种通信请求处理装置20,还包括:
通信请求对象状态设置模块150,用于在工作线程组对通信数据进行处理之后,等待通信结果的情况下,工作线程组将通信请求对象设置为等待状态;
通信请求对象唤醒模块160,用于在工作线程组接收应答数据的情况下,重新唤醒通信请求对象,应答数据是服务端根据通信结果生成的。
在一种实施方式中,如图7所示,还包括:
应答数据发送模块170,用于工作线程组接收应答数据,并将应答数据和通信结果发送至交易服务节点,以使交易服务节点利用应答数据进行交易处理。
在一种实施方式中,如图7所示,还包括:
通信请求重调模块180,用于在通信结果为通信失败或通信超时的情况下,工作线程组根据预设调用次数重新调用通信请求。
在一种实施方式中,还包括:
通信性能指标统计模块,用于统计通信性能指标,通信性能指标包括预设时间段内的通信请求的总数量、通信请求的成功数、通信请求的失败数、通信请求单次处理的耗时以及通信成功率。
实施例四
在一种具体实施方式中,提供了一种交易系统,如图5所示,包括:
异步通信请求处理组件,异步通信请求处理组件包括上述任一项的通信请求处理装置;
交易服务节点,用于调用异步通信请求处理组件,建立与服务端之间的通信连接。
在一种实施方式中,还包括多个计算节点,计算节点之间通过统一的通信服务调用协议互相调用。
在一种实施方式中,异步通信请求处理组件包括适用于通信服务调用协议的接口。
本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图8所示,是根据本申请实施例的一种通信请求处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的一种通信请求处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的一种通信请求处理方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的一种通信请求处理方法对应的程序指令/模块(例如,附图6所示的通信请求对象创建模块110、对象服务创建模块120、通信连接模块130、通信请求处理模块140)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的一种通信请求处理方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种通信请求处理方法的电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至通信请求处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一种通信请求处理方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与一种通信请求处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(Liquid Cr10stal Displa10,LCD)、发光二极管(LightEmitting Diode,LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路(Application Specific Integrated Circuits,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(programmable logic device,PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode Ra10 Tube,阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (16)
1.一种通信请求处理方法,其特征在于,包括:
创建通信请求对象,所述通信请求对象包括通信线程组和工作线程组;
在获取通信请求的情况下,根据所述通信请求对象创建对象服务;
所述对象服务调用所述通信线程组,以建立通信连接,并将所述通信连接中的通信数据发送至所述工作线程组;
所述工作线程组对所述通信数据进行处理,得到通信结果。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述工作线程组对所述通信数据进行处理之后,等待所述通信结果的情况下,所述工作线程组将所述通信请求对象设置为等待状态;
在所述工作线程组接收应答数据的情况下,重新唤醒所述通信请求对象,所述应答数据是服务端根据所述通信结果生成的。
3.根据权利要求1所述的方法,其特征在于,还包括:
所述工作线程组接收应答数据,并将所述应答数据和所述通信结果发送至交易服务节点,以使所述交易服务节点利用所述应答数据进行交易处理。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述通信结果为通信失败或通信超时的情况下,所述工作线程组根据预设调用次数重新调用所述通信请求。
5.根据权利要求1所述的方法,其特征在于,还包括:
统计通信性能指标,所述通信性能指标包括预设时间段内的所述通信请求的总数量、所述通信请求的成功数、所述通信请求的失败数、所述通信请求单次处理的耗时以及通信成功率。
6.一种通信方法,其特征在于,包括:
创建异步通信请求处理组件,所述异步通信请求处理组件用于执行权利要求1~5任一项所述的通信请求处理方法;
交易服务节点调用所述异步通信请求处理组件,建立与服务端之间的通信连接。
7.一种通信请求处理装置,其特征在于,包括:
通信请求对象创建模块,用于创建通信请求对象,所述通信请求对象包括通信线程组和工作线程组;
对象服务创建模块,用于在获取通信请求的情况下,根据所述通信请求对象创建对象服务;
通信连接模块,用于所述对象服务调用所述通信线程组,以建立通信连接,并将所述通信连接中的通信数据发送至所述工作线程组;
通信请求处理模块,用于所述工作线程组对所述通信数据进行处理,得到通信结果。
8.根据权利要求7所述的装置,其特征在于,还包括:
通信请求对象状态设置模块,用于在所述工作线程组对所述通信数据进行处理之后,等待所述通信结果的情况下,所述工作线程组将所述通信请求对象设置为等待状态;
通信请求对象唤醒模块,用于在所述工作线程组接收应答数据的情况下,重新唤醒所述通信请求对象,所述应答数据是服务端根据所述通信结果生成的。
9.根据权利要求7所述的装置,其特征在于,还包括:
应答数据发送模块,用于所述工作线程组接收应答数据,并将所述应答数据和所述通信结果发送至交易服务节点,以使所述交易服务节点利用所述应答数据进行交易处理。
10.根据权利要求7所述的装置,其特征在于,还包括:
通信请求重调模块,用于在所述通信结果为通信失败或通信超时的情况下,所述工作线程组根据预设调用次数重新调用所述通信请求。
11.根据权利要求7所述的装置,其特征在于,还包括:
通信性能指标统计模块,用于统计通信性能指标,所述通信性能指标包括预设时间段内的所述通信请求的总数量、所述通信请求的成功数、所述通信请求的失败数、所述通信请求单次处理的耗时以及通信成功率。
12.一种交易系统,其特征在于,包括:
异步通信请求处理组件,所述异步通信请求处理组件包括权利要求7~11任一项所述的通信请求处理装置;
交易服务节点,用于调用所述异步通信请求处理组件,建立与服务端之间的通信连接。
13.根据权利要求12所述的系统,其特征在于,还包括多个计算节点,所述计算节点之间通过统一的通信服务调用协议互相调用。
14.根据权利要求13所述的系统,其特征在于,所述异步通信请求处理组件包括适用于所述通信服务调用协议的接口。
15.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010085211.5A CN111343239B (zh) | 2020-02-10 | 2020-02-10 | 通信请求处理方法、通信方法、通信请求处理装置以及交易系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010085211.5A CN111343239B (zh) | 2020-02-10 | 2020-02-10 | 通信请求处理方法、通信方法、通信请求处理装置以及交易系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111343239A true CN111343239A (zh) | 2020-06-26 |
CN111343239B CN111343239B (zh) | 2022-11-04 |
Family
ID=71183402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010085211.5A Active CN111343239B (zh) | 2020-02-10 | 2020-02-10 | 通信请求处理方法、通信方法、通信请求处理装置以及交易系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111343239B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015559A (zh) * | 2020-09-03 | 2020-12-01 | 深圳虹川科技有限公司 | 基于http协议的异步实时数据更新系统及方法 |
CN114629885A (zh) * | 2021-01-05 | 2022-06-14 | 亚信科技(中国)有限公司 | 一种业务请求的处理方法、装置、电子设备及存储介质 |
CN116055545A (zh) * | 2023-01-17 | 2023-05-02 | 三维通信股份有限公司 | 基站与服务器的连接控制方法和装置、存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6782537B1 (en) * | 1999-09-23 | 2004-08-24 | International Business Machines Corporation | Establishing a communicator across multiple processes in a multithreaded computing environment |
US7373640B1 (en) * | 2003-07-31 | 2008-05-13 | Network Appliance, Inc. | Technique for dynamically restricting thread concurrency without rewriting thread code |
CN102025650A (zh) * | 2010-06-04 | 2011-04-20 | 西本新干线股份有限公司 | 企业服务总线的消息处理系统和消息处理方法 |
US20110213949A1 (en) * | 2010-03-01 | 2011-09-01 | Sonics, Inc. | Methods and apparatus for optimizing concurrency in multiple core systems |
CN102916953A (zh) * | 2012-10-12 | 2013-02-06 | 青岛海信传媒网络技术有限公司 | 基于tcp连接实现并发服务的方法及装置 |
US8392669B1 (en) * | 2008-03-24 | 2013-03-05 | Nvidia Corporation | Systems and methods for coalescing memory accesses of parallel threads |
US20130232322A1 (en) * | 2012-03-05 | 2013-09-05 | Michael Fetterman | Uniform load processing for parallel thread sub-sets |
CN103428272A (zh) * | 2013-07-16 | 2013-12-04 | 无限极(中国)有限公司 | 一种中间件线程的监控调度系统及方法 |
CN105786447A (zh) * | 2014-12-26 | 2016-07-20 | 乐视网信息技术(北京)股份有限公司 | 服务器处理数据的方法、装置及服务器 |
CN106886453A (zh) * | 2017-02-20 | 2017-06-23 | 恒生电子股份有限公司 | 用于异步多道的信息处理方法、装置和系统 |
CN108647104A (zh) * | 2018-05-15 | 2018-10-12 | 北京五八信息技术有限公司 | 请求处理方法、服务器及计算机可读存储介质 |
CN108965359A (zh) * | 2017-05-19 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 通信方法、通信装置、可读介质和电子设备 |
US20190065246A1 (en) * | 2017-08-24 | 2019-02-28 | Dropbox, Inc. | Large-scale asynchronous event processor |
CN110113374A (zh) * | 2019-03-15 | 2019-08-09 | 平安科技(深圳)有限公司 | 流媒体服务器执行任务方法、装置及存储介质、终端设备 |
CN110457119A (zh) * | 2019-07-19 | 2019-11-15 | 上海易点时空网络有限公司 | 异步处理回调方法及装置 |
-
2020
- 2020-02-10 CN CN202010085211.5A patent/CN111343239B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6782537B1 (en) * | 1999-09-23 | 2004-08-24 | International Business Machines Corporation | Establishing a communicator across multiple processes in a multithreaded computing environment |
US7373640B1 (en) * | 2003-07-31 | 2008-05-13 | Network Appliance, Inc. | Technique for dynamically restricting thread concurrency without rewriting thread code |
US8392669B1 (en) * | 2008-03-24 | 2013-03-05 | Nvidia Corporation | Systems and methods for coalescing memory accesses of parallel threads |
US20110213949A1 (en) * | 2010-03-01 | 2011-09-01 | Sonics, Inc. | Methods and apparatus for optimizing concurrency in multiple core systems |
CN102025650A (zh) * | 2010-06-04 | 2011-04-20 | 西本新干线股份有限公司 | 企业服务总线的消息处理系统和消息处理方法 |
US20130232322A1 (en) * | 2012-03-05 | 2013-09-05 | Michael Fetterman | Uniform load processing for parallel thread sub-sets |
CN102916953A (zh) * | 2012-10-12 | 2013-02-06 | 青岛海信传媒网络技术有限公司 | 基于tcp连接实现并发服务的方法及装置 |
CN103428272A (zh) * | 2013-07-16 | 2013-12-04 | 无限极(中国)有限公司 | 一种中间件线程的监控调度系统及方法 |
CN105786447A (zh) * | 2014-12-26 | 2016-07-20 | 乐视网信息技术(北京)股份有限公司 | 服务器处理数据的方法、装置及服务器 |
CN106886453A (zh) * | 2017-02-20 | 2017-06-23 | 恒生电子股份有限公司 | 用于异步多道的信息处理方法、装置和系统 |
CN108965359A (zh) * | 2017-05-19 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 通信方法、通信装置、可读介质和电子设备 |
US20190065246A1 (en) * | 2017-08-24 | 2019-02-28 | Dropbox, Inc. | Large-scale asynchronous event processor |
CN108647104A (zh) * | 2018-05-15 | 2018-10-12 | 北京五八信息技术有限公司 | 请求处理方法、服务器及计算机可读存储介质 |
CN110113374A (zh) * | 2019-03-15 | 2019-08-09 | 平安科技(深圳)有限公司 | 流媒体服务器执行任务方法、装置及存储介质、终端设备 |
CN110457119A (zh) * | 2019-07-19 | 2019-11-15 | 上海易点时空网络有限公司 | 异步处理回调方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015559A (zh) * | 2020-09-03 | 2020-12-01 | 深圳虹川科技有限公司 | 基于http协议的异步实时数据更新系统及方法 |
CN114629885A (zh) * | 2021-01-05 | 2022-06-14 | 亚信科技(中国)有限公司 | 一种业务请求的处理方法、装置、电子设备及存储介质 |
CN114629885B (zh) * | 2021-01-05 | 2024-12-03 | 亚信科技(中国)有限公司 | 一种业务请求的处理方法、装置、电子设备及存储介质 |
CN116055545A (zh) * | 2023-01-17 | 2023-05-02 | 三维通信股份有限公司 | 基站与服务器的连接控制方法和装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111343239B (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9794334B2 (en) | Systems and methods to process a request received at an application program interface | |
EP1308844B1 (en) | System and method for monitoring an application on a server | |
CN111741026B (zh) | 一种跨链事务请求处理方法、装置、设备以及存储介质 | |
US8291047B2 (en) | Screen scraping interface | |
CN111343239B (zh) | 通信请求处理方法、通信方法、通信请求处理装置以及交易系统 | |
CN110083455B (zh) | 图计算处理方法、装置、介质及电子设备 | |
CN101334742B (zh) | 一种Java EE应用服务器并发处理方法 | |
US8538793B2 (en) | System and method for managing real-time batch workflows | |
CA3000422A1 (en) | Workflow service using state transfer | |
JP2021136031A (ja) | ブロックチェーンのトランザクション処理方法、装置、機器及び媒体 | |
CN111260474A (zh) | 跨区块链的资产交易方法、装置、设备、系统和存储介质 | |
CN110413822A (zh) | 离线图像结构化分析方法、装置、系统和存储介质 | |
US8380788B2 (en) | System and method for providing user context support in a native transaction platform | |
CN111200606A (zh) | 深度学习模型任务处理方法、系统、服务器及存储介质 | |
CN112819638A (zh) | 交易判重的方法、装置、设备和计算机可读介质 | |
CN114968286A (zh) | 微服务发布方法、装置、存储介质及电子设备 | |
Chen et al. | QoS evaluation of JMS: An empirical approach | |
US11210205B2 (en) | Application debugging | |
CN118350814B (zh) | 分布式跨协议回调交易的生成方法、装置、介质和设备 | |
CN114637583A (zh) | 长交易处理方法、装置、设备及存储介质 | |
CN101295269A (zh) | 一种基于事务的构件交互同步的方法 | |
CN117692518A (zh) | 一种服务调度方法、装置、设备及存储介质 | |
CN118644371A (zh) | 数字政务操作系统、服务流程的构建方法、设备及介质 | |
WO2025074404A1 (en) | Method and system for automatic scaling of one or more nodes | |
WO2025069110A1 (en) | Method and system for providing virtual network function information at a policy execution engine |
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 |