CN110515725A - 业务请求处理方法、计算机存储介质、服务器以及系统 - Google Patents
业务请求处理方法、计算机存储介质、服务器以及系统 Download PDFInfo
- Publication number
- CN110515725A CN110515725A CN201910749092.6A CN201910749092A CN110515725A CN 110515725 A CN110515725 A CN 110515725A CN 201910749092 A CN201910749092 A CN 201910749092A CN 110515725 A CN110515725 A CN 110515725A
- Authority
- CN
- China
- Prior art keywords
- service request
- terminal equipment
- result
- server
- replies
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0226—Incentive systems for frequent usage, e.g. frequent flyer miles programs or point systems
- G06Q30/0233—Method of redeeming a frequent usage reward
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/549—Remote execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及互联网技术领域,公开一种业务请求处理方法、计算机存储介质、服务器以及系统,该方法首先接收第一终端设备发送的业务请求,该业务请求携带所述第一终端设备流水标识号,然后根据该业务请求,向第一终端设备返回所述业务请求应答结果,其中,业务请求应答结果包括第一应答结果或第二应答结果,当业务请求应答结果为第一应答结果时,异步向第二终端设备发送该业务请求,以使第二终端设备返回业务请求处理结果,最后根据业务请求处理结果和流水标识号,更新本地流水记录。因此,该方法通过接收业务请求时,同步返回应答结果,同时异步处理业务请求的操作,可以对业务请求处理快速响应,处理效率更快,减小服务器的流量压力。
Description
技术领域
本发明涉及互联网技术领域,涉及一种业务请求处理方法、计算机存储介质、服务器及系统。
背景技术
随着互联网技术的发展,用户群也来越多,业务量也随着用户群的增加而增大,一条业务请求就相当于一条流量,那么系统面临高并发流量的压力,业务请求就不会得到快速响应,甚至使得系统面临宕机的危险。
发明内容
本发明实施例的一个目的旨在提供一种业务请求处理方法计算机存储介质、服务器及系统,以提高业务请求处理的效率。
为了解决上述技术问题,本发明提供以下技术方案:
在第一方面,本发明实施例提供一种业务请求处理方法,应用于服务器,所述方法包括:
接收第一终端设备发送的业务请求,所述业务请求携带所述第一终端设备流水标识号;
根据所述业务请求,向所述第一终端设备返回所述业务请求应答结果,所述业务请求应答结果包括第一应答结果或第二应答结果;
当所述业务请求应答结果为所述第一应答结果时,异步向第二终端设备发送所述业务请求,以使所述第二终端设备返回所述业务请求处理结果;
根据所述业务请求处理结果和所述第一终端设备流水标识号,更新本地流水记录,所述本地流水记录用于记录所述第一终端设备的业务请求处理结果。
可选地,所述根据所述业务请求,向所述第一终端设备返回所述业务请求应答结果,包括:
根据所述业务请求,判断所述服务器的线程池的可运行容量是否达到容量上限;
若是,向所述第一终端设备返回所述第二应答结果;
若否,向所述第一终端设备返回所述第一应答结果。
可选地,所述方法还包括:将所述业务请求应答结果写入区块链。
可选地,所述方法还包括:当所述业务请求应答结果为所述第二应答结果时,暂停异步向所述第二终端设备发送所述业务请求。
可选地,所述当所述业务请求应答结果为所述第一应答结果,异步向所述第二终端设备发送所述业务请求,以使所述第二终端设备返回所述业务请求处理结果,包括:
当所述业务请求应答结果为所述第一应答结果时,运行调用线程;
通过所述调用线程,异步向所述第二终端设备发送所述业务请求;
接收所述第二终端设备返回的所述业务请求处理结果。
可选地,所述接收第一终端设备发送的业务请求,所述业务请求携带所述第一终端设备流水标识号,包括:
验证所述业务请求是否合法;
若合法,返回根据所述业务请求,向所述第一终端设备返回所述业务请求应答结果的步骤;
若非法,丢弃所述业务请求。
可选地,所述根据所述业务请求处理结果和所述第一终端设备流水标识号,更新本地流水记录包括:
根据所述第一终端设备流水标识号,获取所述本地流水记录;
根据所述业务请求处理结果,更新所述本地流水记录。
在第二方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质上存储有业务请求处理程序,所述业务请求处理程序被处理器执行时执行上述任一项所述的业务请求处理方法的步骤。
在第三方面,本发明实施例提供一种服务器,所述服务器包括:
至少一个处理器;以及
与所述至少一个处理通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令程序,所述指令程序被所述至少一个处理器执行,以使所述至少一个处理器执行上述的方法。
在第四方面,本发明实施例提供一种业务请求处理系统,包括:若干第一终端设备和第二终端设备;以及如上所述的服务器,所述服务器分别与每个所述第一终端设备和所述第二终端设备通信连接。
基于上述技术方案,本发明实施例提供了一种业务请求处理方法,应用于服务器,首先接收第一终端设备发送的业务请求,该业务请求携带所述第一终端设备流水标识号,然后根据该业务请求,向第一终端设备返回所述业务请求应答结果,其中,业务请求应答结果包括第一应答结果或第二应答结果,当业务请求应答结果为第一应答结果时,异步向第二终端设备发送该业务请求,以使第二终端设备返回业务请求处理结果,最后根据业务请求处理结果和第一终端设备流水标识号,更新本地流水记录,本地流水记录用于记录所述第一终端设备的业务请求处理结果。因此,该方法通过接收业务请求时,同步返回应答结果,同时异步处理业务请求的操作,可以对业务请求处理快速响应,工作可靠,处理效率更快,减小服务器的流量压力。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种业务请求处理系统的结构示意图;
图2是本发明实施例提供的一种业务请求处理的工作流程示意图;
图3是本发明方法实施例提供的一种业务请求处理方法的流程示意图;
图4是图3中步骤301流程示意图;
图5是图3中步骤302流程示意图;
图6是图3中步骤303流程示意图;
图7是图3中步骤304流程示意图;
图8是本发明实施例提供的一种业务请求处理装置的结构示意图;
图9是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例提供的业务请求处理方法,可以在任何合适类型、具有运算能力的电子设备中执行,诸如业务请求处理系统、业务请求处理设备、服务器、台式计算机、智能手机、平板电脑以及其他电子产品中。
在一些实施例中,电子设备可被构造成任意合适形状,并应用在任何合适的业务场所,例如,电子设备可以是具有业务请求处理功能的业务系统,业务系统可以执行下文所阐述的业务请求处理方法,当商户向业务系统发生一个业务请求时,例如:请求兑换鼓励金等,业务系统根据该业务请求,首先同步返回一个业务请求应答结果,然后异步调用第三方接口,向第三方发送该业务请求,此处第三方可以是某个具体的银行,将该业务请求发送给第三方,由第三方处理该业务请求并返回处理结果。
请参阅图1,图1是本发明实施例提供的一种业务请求处理系统的结构示意图。如图1所示,业务请求处理系统包括至少一个第一终端设备10、服务器20以及第二终端设备30。
服务器20位于网络侧端为用户提供服务的服务设备,
此处的服务器可以是一个物理服务器或者多个物理服务器虚拟而成的一个逻辑服务器。服务器也可以是多个可互联通信的服务器组成的服务器群,且各个功能模块可分别分布在服务器群中的各个服务器上。
第一终端设备10可以是平板电脑、笔记本电脑、智能手机等用户设备。在本发明实际应用中,通过与服务器20建立通信连接,用户可以通过第一终端设备10访问服务器20,实现第一终端设备10的各种功能,用户可以通过第一终端设备10向服务器20发送业务请求。
在一些实施例中,第一终端设备10可以是安装在如上述所述设备上的应用程序,
服务器20分别与第一终端设备10、第二终端设备30通过网络通讯,第一终端设备10可以向服务器20发送业务请求,服务器20接收该业务请求以后,首先同步返回业务请求应答结果,同时异步调用第二终端设备30接口,向第二终端设备30发送该业务请求,由第二终端设备30处理该业务请求,并将业务请求处理结果发送给服务器20,再由服务器20根据结果进行本地逻辑调整,例如,用户通过第一终端设备10向服务器20发送业务请求,该业务请求可以是请求兑换100元鼓励金,服务器20若可以受理该业务请求,则会同步向第一终端设备10返回业务请求应答结果,以告知第一终端设备10服务器20对该业务请求受理成功,同时,服务器20将该业务请求发送给第二终端设备30,该第二终端设备30可以是银行,银行对该业务请求进行处理,将100元鼓励金兑换成现金100元,并将该100元打到用户账户,然后将该处理结果发送给服务器20,该处理结果中包含一些兑换金额、兑换状态等数据,服务器20根据该处理结果进行一些更新内部存储的本地流水记录,该本地流水记录用于记录业务处理结果。
本发明实施例提供一种业务请求处理方法,应用于服务器,使得服务器对业务请求响应加快,处理业务请求的效率加快。
请参阅图2,图2是本发明实施例提供的一种业务请求处理的工作流程图:
如图2所示,该业务请求处理方法200,包括:
步骤201:第一终端设备向服务器发送业务请求。
第一终端设备有多个,每个商户对应一个第一终端设备,因此每一个第一终端设备对应一个流水标识号,用于标识该第一终端设备的业务请求,商户通过第一终端设备向服务器发送业务请求,该业务请求携带有该第一终端设备的流水标识号,例如,发送一个兑换鼓励金的请求,那么该服务器就是指业务系统。业务系统不会接收所有商户的业务请求,只会接收与业务系统有合作的商户的业务请求,所以在第一终端设备向业务系统发送一个业务请求以后,业务系统会判断该业务请求是否合法,若是,代表是与该业务系统有合作的商户发送的业务请求,那么业务系统,也就是服务器会根据业务请求触发向第一终端设备返回业务请求应答结果的指令,向第一终端设备返回业务请求应答结果,若否,代表该业务请求不是与业务系统合作的商户发送的业务请求,那么业务系统就会丢弃该业务请求。
步骤202:服务器向第一终端设备同步返回业务请求应答结果。
业务请求应答结果包括第一应答结果或第二应答结果,服务器为了控制接收业务请求的数量,根据线程池容量上限的判断结果,返回不同的业务请求应答结果,具体地,服务器会判断自身的线程池的可运行容量是否达到容量上限,若是,代表服务器自身的线程池没有线程可以处理该业务请求,所以服务器就会向第一终端设备返回第二应答结果,以告知第一终端设备服务器未受理该业务请求,并且服务器会暂停后续的操作,若否,也就是没有达到容量上限时,服务器就会向第一终端设备返回第一应答结果,以告知第一终端设备服务器已经受理该业务请求。这样的操作可以使得服务器控制业务请求数量,不会使得业务请求数量超过服务器负荷,保证服务器不会出现负荷过高,系统运行风险过大的现象,保证了系统的持续可用性。
步骤203:当业务请求应答结果为第一应答结果时,服务器异步向第二终端设备发送业务请求。
服务器同步返回业务请求第一应答结果,同时,服务器内部开启调用线程,通过调用线程异步调用第二终端设备接口,向当业务请求是商户请求兑换鼓励金时,该第二终端设备可以是与商户合作的银行,服务器通过第二终端设备的接口向第二终端设备发送该业务请求,由第二终端设备处理该业务请求。若服务器同步返回业务请求第二应答结果,服务器就会暂停异步向第二终端设备发送业务请求。
步骤204:第二终端设备向服务器返回业务请求处理结果。
第二终端设备接收该业务请求以后,会对该业务请求进行逻辑处理,业务请求不同,处理的方式和结果也不同,例如:若业务请求是商户请求兑换鼓励金,那么第二终端设备是与商户合作的银行,银行接收到该业务请求之后,会将鼓励金兑换成现金100元,并将该100元打到商户账户,并且会将该处理结果以一定方式告知商户,比如短信、电话等方式。银行向商户告知业务请求处理结果的同时,会将该业务请求处理结果返回给服务器,具体地,第二终端设备通过调用线程向服务器发送该业务请求处理结果,该业务请求处理结果包含有兑换金额,兑换状态和流水标识号等数据。
步骤205:服务器更新本地流水记录。
每一个第一终端设备或者每一个商户都对应一个流水记录,每一个流水记录以流水标识号区分,且存储在服务器。服务器接收到业务请求处理结果以后,先根据流水标识号,从内部存储器获取与流水标识号对应的本地流水记录,该本地流水记录用于记录与流水标识号对应的第一终端设备的业务请求执行结果,然后服务器根据返回的业务请求处理结果,更新对应的本地流水记录,具体地,若是商户兑换鼓励金的业务请求,服务器会更改本地流水记录中的鼓励金金额,兑换的现金金额,剩余鼓励金金额等数据,以及将此次兑换状态更新为“成功”。
在传统技术中,处理业务请求就会使得每一个业务请求处理的时间很长,服务器对业务请求的处理响应较慢,进而降低服务器处理业务请求的效率,使得服务器面临高并发流量的压力,甚至使得服务器面临宕机危险。
然而,在本发明实施例中,上述步骤中的同步返回业务请求第一应答结果和通过调用线程异步向第二终端设备发送业务请求是同时进行的,因此,该方法可以使得第一终端设备不必等待过长时间才能得到结果,系统响应速度也加快,系统的处理效率也得到提高,且可以减小系统面临的流量压力。
请参阅图3,图3是本发明实施例提供的一种业务请求处理方法的流程示意图,
如图3所示,该业务请求处理方法300可以包括以下步骤:
步骤301、接收第一终端设备发送的业务请求,同步返回业务请求应答结果,所述业务请求携带所述第一终端设备流水标识号。
商户通过第一终端设备向服务器发送一个业务请求,每一个第一终端设备都对应一个流水标识号,所以业务请求中携带有该第一终端设备的流水标识号,以告知服务器是哪一个第一终端设备发送的业务请求。
步骤302、根据所述业务请求,向所述第一终端设备返回所述业务请求应答结果,所述业务请求应答结果包括第一应答结果或第二应答结果。
服务器接收业务请求以后,服务器会同步返回业务请求应答结果,该应答结果是告知第一终端设备该业务请求是否受理成功,所以业务请求应答结果包括第一应答结果或第二应答结果,若服务器返回第一应答结果,代表服务器对该业务请求受理成功,并异步启动后续的操作,若服务器返回第二应答结果,代表服务器对该业务请求受理未成功,并且暂停后续的异步操作。服务器还会将该业务请求应答结果写入区块链,以作为后续操作的判断依据。
步骤303、当所述业务请求应答结果为所述第一应答结果时,异步向第二终端设备发送所述业务请求,以使所述第二终端设备返回所述业务请求处理结果。
服务器同步返回业务请求第一应答结果的同时,会内部启动调用线程,通过该调用线程异步调用第二终端设备接口,将该业务请求发送给第二终端设备,第二终端设备对该业务请求进行处理,并将业务请求处理结果再返回给服务器。
步骤304、根据所述业务请求处理结果和所述第一终端设备流水标识号,更新本地流水记录,所述本地流水记录用于记录所述第一终端设备的业务请求处理结果。
首先服务器根据第一终端流水标识号,在本地存储器中获取与该流水标识号对应的本地流水记录,该本地流水记录是用于记录关于对应的第一终端设备的所有业务请求处理结果,包括处理数据、处理结果以及处理状态等,服务器根据第二终端设备返回的业务请求处理结果,更新该本地流水记录的数据。
本实施例通过一种的业务请求处理方法,应用于服务器,所述方法包括:首先接收第一终端设备发送的业务请求,该业务请求携带所述第一终端设备流水标识号,然后根据该业务请求,向第一终端设备返回所述业务请求应答结果,其中,业务请求应答结果包括第一应答结果或第二应答结果,当业务请求应答结果为第一应答结果时,异步向第二终端设备发送该业务请求,以使第二终端设备返回业务请求处理结果,最后根据业务请求处理结果和第一终端设备流水标识号,更新本地流水记录,本地流水记录用于记录所述第一终端设备的业务请求处理结果。因此,该方法通过接收业务请求时,同步返回应答结果,同时异步处理业务请求的操作,可以对业务请求处理快速响应,处理效率更快,减小服务器的流量压力。
在一些实施例中,请参阅图4,步骤301包括:
步骤3011、验证所述业务请求是否合法。
很多商户通过对应的第一终端设备与服务器合作,只有合作的第一终端设备才有可能被受理,其他未合作的商户或者其他设备的业务请求,服务器均不受理,因此,在接收业务请求以后,服务器首先判断该业务请求是否合法。
步骤3012、若合法,返回根据所述业务请求,向所述第一终端设备返回所述业务请求应答结果的步骤。
若合法,代表该业务请求来自与服务器合作的第一终端设备,那么服务器再向第一终端设备返回该业务请求应答结果,以告知第一终端设备是否被受理。
步骤3013、若非法,丢弃所述业务请求。
若非法,则代表该业务请求不是来自与服务器合作的第一终端设备,那么服务器会直接丢弃该业务请求,不再进行后续的操作。一条业务请求代表一条流量,这样可以直接控制一些流量数,避免一些无用业务请求占用服务器资源,影响服务器处理其他业务请求的速度。
在一些实施例中,请参阅图5,步骤302包括:
步骤3021:根据所述业务请求,判断所述服务器的线程池的可运行容量是否达到容量上限。
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程,但线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。因此线程池是有容量限制的,所以服务器接收该业务请求以后时,服务器先判断线程池的可运行容量是否达到容量上限,根据目前线程池的可运行容量来处理该业务请求,以确定向第一终端设备返回的业务请求应答结果。
步骤3022:若是,向所述第一终端设备返回所述第二应答结果。
当线程池的容量达到其容量上限,代表服务器目前启动了最大数目的线程来处理其他任务,服务器就无法处理该业务请求,无法启动后续的操作,那么服务器就会向第一终端设备返回第二应答结果,以告知第一终端设备该业务请求未受理成功,第二应答结果的形式可以是任意形式,第一终端设备与服务器可以事先约定好一种形式,来表示第二应答结果,例如可以直接在第一终端设备屏幕上显示“未受理”等字样,或者显示具体的数字等形式。第一终端设备可以稍候再次发送业务请求。
步骤3023:若否,向所述第一终端设备返回所述第一应答结果。
若线程池的容量没有达到容量上限,则服务器就会受理该业务请求,并进行下一步的操作。若服务器受理了该业务请求,则同样会同步返回一个业务请求应答结果,该业务请求应答结果是第一应答结果,以告知第一终端设备该业务请求已经受理成功,第一终端设备就无需再等待处理结果,进而可以处理其他事情,而第一应答结果的形式也可以是任意形式,可以是汉字显示或者数字显示等,优选地,第一应答结果和第二应答结果的形式一样,这样第一终端设备和服务器只需约定一种应答结果的形式即可。
在一些实施例中,服务器会将业务请求应答结果写入区块链。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。
在一些实施例中,请参阅图6,步骤303包括:
步骤3031、当所述业务请求应答结果为所述第一应答结果时,运行调用线程。
服务器同步返回业务请求第一应答结果的同时,其会内部开启调用线程,用于处理该业务请求。但第一终端设备无需等待处理结果,内部开启调用线程是异步操作。
步骤3032、通过所述调用线程,异步向所述第二终端设备发送所述业务请求。
第二终端设备有很多接口,服务器通过调用线程,调用其中一个接口以传送和接收数据。服务器通过第二终端设备的接口,将该业务请求发送给第二终端设备,然后第二终端设备会对该业务请求进行相关的处理,并将处理的数据和处理的状态等处理结果返回给服务器。
步骤3033、接收所述第二终端设备返回的所述业务请求处理结果。
服务器通过调用线程接收该业务请求处理结果,并对其进行逻辑调整,具体地,对该业务请求处理结果进行记录、更新内部存储等操作。
在一些实施例中,该方法还包括当该业务请求应答结果为第二应答结果时,暂停异步向第二终端设备发送业务请求。也就是,若服务器未受理该业务请求,则会暂停向第二终端设备发送业务请求,暂停后续的操作。
在一些实施例中,请参阅图7,步骤304包括:
步骤3041、根据所述第一终端设备流水标识号,获取所述本地流水记录。
每一个第一终端设备都对应一个本地流水记录,通过流水标识号区分各个本地流水记录,服务器根据该流水标识号,获取与该流水标识号对应的本地流水记录。
步骤3042、根据所述业务请求处理结果,更新所述本地流水记录。
请参阅图8,图8是本发明实施例提供一种业务请求处理装置的结构示意图,如图8所示,该装置400包括接收模块401、返回模块402、发送模块403以及更新模块404,其中接收模块401用于接收第一终端设备发送的业务请求,所述业务请求携带所述第一终端设备流水标识号;返回模块402用于根据所述业务请求,向所述第一终端设备返回所述业务请求应答结果,所述业务请求应答结果包括第一应答结果或第二应答结果;发送模块403用于当所述业务请求应答结果为所述第一应答结果时,异步向第二终端设备发送所述业务请求,以使所述第二终端设备返回所述业务请求处理结果;更新模块404用于根据所述业务请求处理结果和所述第一终端设备流水标识号,更新本地流水记录,所述本地流水记录用于记录所述第一终端设备的业务请求处理结果。
请继续参阅图8,该装置400还包括:写入模块405,用于将所述业务请求应答结果写入区块链。
请继续参阅图8,该装置400还包括:暂停模块406,用于当所述业务请求应答结果为所述第二应答结果时,暂停异步向所述第二终端设备发送所述业务请求。
其中,请继续参阅图8,接收模块401包括:验证单元4011,用于验证所述业务请求是否合法;第一返回单元4012,用于返回根据所述业务请求,向所述第一终端设备返回所述业务请求应答结果的步骤;丢弃单元4013,用于丢弃所述业务请求。
其中,请继续参阅图8,返回模块402包括:判断单元4021,用于根据所述业务请求,判断所述服务器的线程池的可运行容量是否达到容量上限;第二返回单元4022,用于向所述第一终端设备返回所述第二应答结果;第三返回单元4023,用于向所述第一终端设备返回所述第一应答结果。
其中,请继续参阅图8,发送模块403包括:
运行单元4031,用于当所述业务请求应答结果为所述第一应答结果时,运行调用线程。
发送单元4032,用于通过所述调用线程,异步向所述第二终端设备发送所述业务请求。
接收单元4034,用于接收所述第二终端设备返回的所述业务请求处理结果。
其中,请继续参阅图8,步骤404包括:
获取单元4041、用于根据所述第一终端设备流水标识号,获取所述本地流水记录。
更新单元4042、用于根据所述业务请求处理结果,更新所述本地流水记录。
值得说明的是,上述装置内的模块之间的信息交互、执行过程等内容,由于与本发明的方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种业务请求处理装置,该装置首先接收第一终端设备发送的业务请求,该业务请求携带所述第一终端设备流水标识号,然后根据该业务请求,向第一终端设备返回所述业务请求应答结果,其中,业务请求应答结果包括第一应答结果或第二应答结果,当业务请求应答结果为第一应答结果时,异步向第二终端设备发送该业务请求,以使第二终端设备返回业务请求处理结果,最后根据业务请求处理结果和第一终端设备流水标识号,更新本地流水记录,本地流水记录用于记录所述第一终端设备的业务请求处理结果。因此,该方法通过接收业务请求时,同步返回应答结果,同时异步处理业务请求的操作,可以对业务请求处理快速响应,处理效率更快,减小服务器的流量压力。
请参阅图9,图9是本发明实施例提供执行上述业务请求处理方法的电子设备500的硬件结构示意图,如图9所示,该电子设备500包括:
一个或多个处理器501以及存储器502,图9中以一个处理器501为例。
处理器501和存储器502可以通过总线或者其他方式连接,图9中以通过总线连接为例。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的业务请求处理方法对应的程序指令/模块(例如,附图8所示的各个模块)。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例业务请求处理方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据业务请求处理装置的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至业务请求处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器502中,当被所述一个或者多个处理器501执行时,执行上述任意方法实施例中的业务请求处理方法,例如,执行以上描述的图2至图7的方法步骤,实现图8中的各模块和各单元的功能。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例的电子设备以多种形式存在,包括但不限于:
(1)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(2)其他具有数据交互功能的电子装置。
本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图2至图7的方法步骤,实现图8中的各模块和各单元的功能。
本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时时,使所述计算机执行上述任意方法实施例中的业务请求处理方法,例如,执行以上描述的图2至图7的方法步骤,实现图8中的各模块和各单元的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施例的描述,本领域普通技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种业务请求处理方法,应用于服务器,其特征在于,所述方法包括:
接收第一终端设备发送的业务请求,所述业务请求携带所述第一终端设备流水标识号;
根据所述业务请求,向所述第一终端设备返回所述业务请求应答结果,所述业务请求应答结果包括第一应答结果或第二应答结果;
当所述业务请求应答结果为所述第一应答结果时,异步向第二终端设备发送所述业务请求,以使所述第二终端设备返回所述业务请求处理结果;
根据所述业务请求处理结果和所述第一终端设备流水标识号,更新本地流水记录,所述本地流水记录用于记录所述第一终端设备的业务请求处理结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述业务请求,向所述第一终端设备返回所述业务请求应答结果,包括:
根据所述业务请求,判断所述服务器的线程池的可运行容量是否达到容量上限;
若是,向所述第一终端设备返回所述第二应答结果;
若否,向所述第一终端设备返回所述第一应答结果。
3.根据权利要求2所述的方法,其特征在于,还包括:
将所述业务请求应答结果写入区块链。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述业务请求应答结果为所述第二应答结果时,暂停异步向所述第二终端设备发送所述业务请求。
5.根据权利要求1所述的方法,其特征在于,所述当所述业务请求应答结果为所述第一应答结果,异步向所述第二终端设备发送所述业务请求,以使所述第二终端设备返回所述业务请求处理结果,包括:
当所述业务请求应答结果为所述第一应答结果时,运行调用线程;
通过所述调用线程,异步向所述第二终端设备发送所述业务请求;
接收所述第二终端设备返回的所述业务请求处理结果。
6.根据权利要求1所述的方法,其特征在于,所述接收第一终端设备发送的业务请求,包括:
验证所述业务请求是否合法;
若合法,返回根据所述业务请求,向所述第一终端设备返回所述业务请求应答结果的步骤;
若非法,丢弃所述业务请求。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述根据所述业务请求处理结果和所述第一终端设备流水标识号,更新本地流水记录包括:
根据所述第一终端设备流水标识号,获取所述本地流水记录;
根据所述业务请求处理结果,更新所述本地流水记录。
8.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有业务请求处理程序,所述业务请求处理程序被处理器执行时执行如权利要求1至7任一项所述的业务请求处理方法的步骤。
9.一种服务器,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令程序,所述指令程序被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-权利要求7任意一项所述的业务请求处理方法的步骤。
10.一种业务请求处理系统,其特征在于,包括:
若干第一终端设备和第二终端设备;以及
如权利要求9所述的服务器,所述服务器分别与每个所述第一终端设备和所述第二终端设备通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910749092.6A CN110515725A (zh) | 2019-08-14 | 2019-08-14 | 业务请求处理方法、计算机存储介质、服务器以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910749092.6A CN110515725A (zh) | 2019-08-14 | 2019-08-14 | 业务请求处理方法、计算机存储介质、服务器以及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110515725A true CN110515725A (zh) | 2019-11-29 |
Family
ID=68625103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910749092.6A Pending CN110515725A (zh) | 2019-08-14 | 2019-08-14 | 业务请求处理方法、计算机存储介质、服务器以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515725A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478755A (zh) * | 2020-04-03 | 2020-07-31 | 上海银欣高新技术发展股份有限公司 | 异步数据通讯方法、介质、设备及异步数据通讯系统 |
CN111859082A (zh) * | 2020-05-27 | 2020-10-30 | 伏羲科技(菏泽)有限公司 | 标识解析方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099989A (zh) * | 2014-04-24 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 用于处理业务请求及获取业务处理结果的方法、装置和系统 |
CN107395380A (zh) * | 2016-05-16 | 2017-11-24 | 中兴通讯股份有限公司 | 一种业务处理方法及系统 |
-
2019
- 2019-08-14 CN CN201910749092.6A patent/CN110515725A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099989A (zh) * | 2014-04-24 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 用于处理业务请求及获取业务处理结果的方法、装置和系统 |
CN107395380A (zh) * | 2016-05-16 | 2017-11-24 | 中兴通讯股份有限公司 | 一种业务处理方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478755A (zh) * | 2020-04-03 | 2020-07-31 | 上海银欣高新技术发展股份有限公司 | 异步数据通讯方法、介质、设备及异步数据通讯系统 |
CN111859082A (zh) * | 2020-05-27 | 2020-10-30 | 伏羲科技(菏泽)有限公司 | 标识解析方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103544064B (zh) | 云计算方法、云管理平台和客户端 | |
CN104461744B (zh) | 一种资源分配方法及装置 | |
CN103870314B (zh) | 一种单节点同时运行不同类型虚拟机的方法及系统 | |
CN105024865B (zh) | 云联合即服务 | |
CN108282527B (zh) | 生成服务实例的分布式系统和方法 | |
CN107493310A (zh) | 一种云资源处理方法及云管理平台 | |
CN109710400A (zh) | 线程资源分组的方法及装置 | |
CN103679401B (zh) | 一种流程控制方法、服务器、客户端及系统 | |
CN107948006A (zh) | 一种虚拟化网络功能的编排方法及装置 | |
CN108920948A (zh) | 一种反欺诈流式计算装置及方法 | |
CN109285071A (zh) | 一种基于区块链的数据处理平台及数据处理方法 | |
CN106506620A (zh) | 一种云桌面智能终端管理系统 | |
CN107690822A (zh) | 网络管理 | |
CN106161537A (zh) | 远程过程调用的处理方法、装置、系统及电子设备 | |
CN109614209A (zh) | 一种任务处理方法、应用服务器及系统 | |
CN107920138A (zh) | 一种用户统一标识生成方法、装置及系统 | |
CN108063824A (zh) | 一种云服务系统及构建方法 | |
CN110515725A (zh) | 业务请求处理方法、计算机存储介质、服务器以及系统 | |
CN110083661A (zh) | 一种区块链系统的扩容方法、区块链系统、终端设备及存储介质 | |
CN112416585A (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN109542608A (zh) | 一种基于混合排队网络的云仿真任务调度方法 | |
CN110162407A (zh) | 一种资源管理方法及装置 | |
CN102136967A (zh) | 一种业务状态管理方法、装置和系统 | |
CN109242469A (zh) | 基于近场通信的资源转移方法、系统,资源转移终端 | |
CN109685532A (zh) | 自助办税方法、装置、存储介质及电子设备 |
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 |