CN114090604A - 请求处理方法及装置 - Google Patents
请求处理方法及装置 Download PDFInfo
- Publication number
- CN114090604A CN114090604A CN202111440065.4A CN202111440065A CN114090604A CN 114090604 A CN114090604 A CN 114090604A CN 202111440065 A CN202111440065 A CN 202111440065A CN 114090604 A CN114090604 A CN 114090604A
- Authority
- CN
- China
- Prior art keywords
- resource transfer
- transfer requests
- requests
- virtual
- request
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
- G06F16/2386—Bulk updating operations
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/06—Asset management; Financial planning or analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开一种请求处理方法及装置,其中,该方法包括:接收针对虚拟产品的多个第一资源转移请求,从多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求;根据多个目标资源转移请求,获得资源转移总数量;按照资源转移总数量从虚拟产品对应的资源集合中获取待转移虚拟资源,并将待转移虚拟资源设置为锁定状态;通过多个预设线程向虚拟产品提供方发送各个目标资源转移请求分别对应的第二资源转移请求;在接收到虚拟产品提供方发送的针对第二资源转移请求的确认反馈时,将待转移虚拟资源设置为解锁状态,并对待转移虚拟资源进行资源转移操作。采用本申请可以提高请求处理效率,满足短时间内处理多个请求的需要。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种请求处理方法及装置。
背景技术
一般人们想获得虚拟产品时,会通过虚拟产品服务方来向虚拟产品提供方发送虚拟资源转移请求。但虚拟产品服务方每天能处理的资源转移数量是有限制的,因此虚拟产品服务方接收多个限定在同一时段完成的资源转移请求后,会先后获得数据库锁,将每个资源转移请求包括的资源转移数量的虚拟资源依次锁定,串行地向虚拟产品提供方发送资源转移请求,从而能保证在数量限制内准确及时地完成针对多个虚拟资源转移请求的资源转移操作。由于每次处理一个虚拟资源转移请求都要等待获得数据库锁,会造成严重的效率问题,无法满足短时间内处理大量请求的要求。
发明内容
本申请实施例提供一种请求处理方法及装置,能够提高请求处理效率,满足短时间内处理多个请求的需要。
第一方面,本申请实施例提供了一种请求处理方法,应用于虚拟产品服务方,该方法包括:
接收多个用户发送的针对虚拟产品的多个第一资源转移请求,从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,每个所述第一资源转移请求包括资源转移数量;
根据所述多个目标资源转移请求,获得资源转移总数量,所述资源转移总数量是所述多个目标资源转移请求包括的资源转移数量的累加值;
按照所述资源转移总数量从所述虚拟产品对应的资源集合中获取待转移虚拟资源,并将所述待转移虚拟资源设置为锁定状态;
通过多个预设线程向虚拟产品提供方发送各个所述目标资源转移请求分别对应的第二资源转移请求,所述第二资源转移请求用于向所述虚拟产品提供方请求允许针对所述待转移虚拟资源的资源转移操作;
在接收到所述虚拟产品提供方发送的针对所述第二资源转移请求的确认反馈时,将所述待转移虚拟资源设置为解锁状态,并对所述待转移虚拟资源进行资源转移操作。
在一种可能的实现方式中,所述从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,包括:
若所述多个第一资源转移请求包括的资源转移数量的累加值小于或等于资源转移上限,则将所述多个第一资源转移请求确定为所述多个目标资源转移请求;
若所述多个第一资源转移请求包括的资源转移数量的累加值大于所述资源转移上限,则确定所述多个第一资源转移请求对应的排列顺序,根据所述排列顺序从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,所述符合预设条件的多个目标资源转移请求包括的资源转移数量的累加值小于或等于所述资源转移上限。
在一种可能的实现方式中,所述排列顺序用于指示包括的资源转移数量越大的第一资源转移请求越先被处理,所述根据所述排列顺序从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,包括:
根据所述排列顺序,对所述多个第一资源转移请求进行排序;
若确定所述多个第一资源转移请求中的前K个第一资源转移请求包括的资源转移数量的累加值小于或等于所述资源转移上限,且前K+1个第一资源转移请求包括的资源转移数量的累加值大于所述资源转移上限,则将所述前K个第一资源转移请求确定为所述多个目标资源转移请求,其中,所述K为正整数。在一种可能的实现方式中,所述通过多个预设线程向虚拟产品提供方发送各个所述目标资源转移请求分别对应的第二资源转移请求之前,还包括:
获取所述多个目标资源转移请求的请求数量;
根据所述请求数量,对所述多个目标资源转移请求进行分组;
所述通过多个预设线程向虚拟产品提供方发送各个所述第一资源转移请求分别对应的第二资源转移请求,包括:
针对所述多个预设线程中的每个预设线程,确定所述预设线程对应的分组,通过所述预设线程向所述虚拟产品提供方发送所述预设线程对应的分组中各个目标资源转移请求分别对应的第二资源转移请求。
在一种可能的实现方式中,所述根据所述请求数量,对所述多个目标资源转移请求进行分组处理,包括:
获取预配置的组容量,并根据所述组容量对所述多个目标资源转移请求进行分组处理,获得多个分组,每个分组包括的目标资源转移请求的数量小于或等于所述组容量。
在一种可能的实现方式中,所述通过所述预设线程向所述虚拟产品提供方发送所述预设线程对应的分组中各个目标资源转移请求分别对应的第二资源转移请求,包括:
获取所述预设线程对应的分组中各个目标资源转移请求分别对应的顺序编号,所述顺序编号用于表示所述目标资源转移请求在所述多个第一资源转移请求中的排列位置;
根据各个所述目标资源转移请求分别对应的顺序编号,通过所述预设线程依次向所述虚拟产品提供方发送各个目标资源转移请求分别对应的第二资源转移请求。
在一种可能的实现方式中,所述第一资源转移请求包括请求账号,所述将所述待转移虚拟资源设置为解锁状态,并对所述待转移虚拟资源进行资源转移操作,包括:
从所述待转移虚拟资源中扣减所述第二资源转移请求包括的资源转移数量的虚拟资源,并将所述第二资源转移请求包括的资源转移数量的虚拟资源转移至所述第二资源转移请求包括的请求账号中,所述第二资源转移请求包括对应的目标资源转移请求中的请求账号。
第二方面,本申请实施例提供一种请求处理装置,包括:
接收单元,用于接收多个用户发送的针对虚拟产品的多个第一资源转移请求;
确定单元,用于从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,每个所述第一资源转移请求包括资源转移数量;
获得单元,用于根据所述多个目标资源转移请求,获得资源转移总数量,所述资源转移总数量是所述多个目标资源转移请求包括的资源转移数量的累加值;
第一设置单元,用于按照所述资源转移总数量从所述虚拟产品对应的资源集合中获取待转移虚拟资源,并将所述待转移虚拟资源设置为锁定状态;
发送单元,用于通过多个预设线程向虚拟产品提供方发送各个所述目标资源转移请求分别对应的第二资源转移请求,所述第二资源转移请求用于向所述虚拟产品提供方请求允许针对所述待转移虚拟资源的资源转移操作;
第二设置单元,用于在接收到所述虚拟产品提供方发送的针对所述第二资源转移请求的确认反馈时,将所述待转移虚拟资源设置为解锁状态,并对所述待转移虚拟资源进行资源转移操作。
在一种可能的设计中,所述确定单元,具体用于:
若所述多个第一资源转移请求包括的资源转移数量的累加值小于或等于资源转移上限,则将所述多个第一资源转移请求确定为所述多个目标资源转移请求;
若所述多个第一资源转移请求包括的资源转移数量的累加值大于所述资源转移上限,则确定所述多个第一资源转移请求对应的排列顺序,根据所述排列顺序从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,所述符合预设条件的多个目标资源转移请求包括的资源转移数量的累加值小于或等于所述资源转移上限。
在一种可能的设计中,所述排列顺序用于指示包括的资源转移数量越大的第一资源转移请求越先被处理,所述确定单元,具体用于:
根据所述排列顺序,对所述多个第一资源转移请求进行排序;
若确定所述多个第一资源转移请求中的前K个第一资源转移请求包括的资源转移数量的累加值小于或等于所述资源转移上限,且前K+1个第一资源转移请求包括的资源转移数量的累加值大于所述资源转移上限,则将所述前K个第一资源转移请求确定为所述多个目标资源转移请求,其中,所述K为正整数。
在一种可能的设计中,所述装置还包括:
获取单元,用于获取所述多个目标资源转移请求的请求数量;
分组单元,用于根据所述请求数量,对所述多个目标资源转移请求进行分组;
所述发送单元,具体用于:
针对所述多个预设线程中的每个预设线程,确定所述预设线程对应的分组,通过所述预设线程向所述虚拟产品提供方发送所述预设线程对应的分组中各个目标资源转移请求分别对应的第二资源转移请求。
在一种可能的设计中,所述分组单元,具体用于:
获取预配置的组容量,并根据所述组容量对所述多个目标资源转移请求进行分组处理,获得多个分组,每个分组包括的目标资源转移请求的数量小于或等于所述组容量。
在一种可能的设计中,所述发送单元,具体用于:
获取所述预设线程对应的分组中各个目标资源转移请求分别对应的顺序编号,所述顺序编号用于表示所述目标资源转移请求在所述多个第一资源转移请求中的排列位置;
根据各个所述目标资源转移请求分别对应的顺序编号,通过所述预设线程依次向所述虚拟产品提供方发送各个目标资源转移请求分别对应的第二资源转移请求。
在一种可能的设计中,所述第一资源转移请求包括请求账号,所述第二设置单元,具体用于:
从所述待转移虚拟资源中扣减所述第二资源转移请求包括的资源转移数量的虚拟资源,并将所述第二资源转移请求包括的资源转移数量的虚拟资源转移至所述第二资源转移请求包括的请求账号中,所述第二资源转移请求包括对应的目标资源转移请求中的请求账号。
第三方面,本申请实施例提供一种电子设备,所述电子设备包括处理器、存储器以及通信接口,所述处理器、存储器和通信接口相互连接,其中,所述通信接口用于接收和发送数据,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行第一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述第一方面所述的方法。
本申请实施例中,接收多个第一资源转移请求后从中确定符合预设条件的多个目标资源转移请求,将多个目标资源转移请求包括的资源转移数量的累加值的虚拟资源作为待转移虚拟资源,并将待转移虚拟资源设置为锁定状态,通过多个预设线程向虚拟产品提供方发送各个目标资源转移请求分别对应的第二资源转移请求,在接收到虚拟产品提供方的确认反馈的情况下进行资源转移操作,减少了虚拟资源的数量数据库的访问次数,并实现了多个请求的并行处理,从而可以提高请求处理效率,满足短时间内处理多个请求的需要。
附图说明
为了说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种请求处理方法的流程示意图;
图2为本申请实施例提供的一种请求处理方法的***示意图;
图3为本申请实施例提供的一种请求处理装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图对本申请作进一步详细描述。
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。
在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。
本申请实施例提供了一种请求处理方法,为了更清楚地描述本申请的方案,下面对本申请涉及的一些附图作进一步介绍。
请参见图1,图1为本申请实施例提供的一种请求处理方法的流程示意图。如图1所示,所述方法可以包括以下步骤101-步骤105。
步骤101,接收多个用户发送的针对虚拟产品的多个第一资源转移请求,从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,每个所述第一资源转移请求包括资源转移数量。
本申请实施例中,上述虚拟产品可以是金融产品,如基金、股票等。如图2所示,第一资源转移请求是指用户发送给虚拟产品服务方,委托该虚拟产品服务方来向虚拟产品提供方请求进行资源转移操作的指令。该虚拟产品服务方可以是经营证券交易的公司,即券商,而该虚拟产品提供方可以是交易所,如上海证券交易所等。每个第一资源转移请求包括的资源转移数量,可以指用户想要进行转移的资源的数量或者额度,例如,某基金的买入金额或买入份额等。
在一些实施例中,从多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,可以包括以下过程:
若所述多个第一资源转移请求包括的资源转移数量的累加值小于或等于资源转移上限,则将所述多个第一资源转移请求确定为所述多个目标资源转移请求;
若所述多个第一资源转移请求包括的资源转移数量的累加值大于所述资源转移上限,则确定所述多个第一资源转移请求对应的排列顺序,根据所述排列顺序从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,所述符合预设条件的多个目标资源转移请求包括的资源转移数量的累加值小于或等于所述资源转移上限。
可以理解的,上述虚拟产品服务方可以接收多个针对该虚拟产品的第一资源转移请求,而虚拟产品服务方在预设时间段内(如每天)能处理的资源转移数量是有限的,该限制(可称为资源转移上限)可以是该虚拟产品服务方根据风险评估后确定的,因此,若接收到的多个第一资源转移请求包括的资源转移数量的累加值小于或等于该资源转移上限,说明该虚拟产品服务方能够在预设时间段内对这些第一资源转移请求均进行处理,所以接收到的多个第一资源转移请求均可以作为上述多个目标资源转移请求;而若接收到的多个第一资源转移请求包括的资源转移数量的累加值大于该资源转移上限,说明该虚拟产品服务方无法在预设时间段内对接收到的所有第一资源转移请求均进行处理,而需要从中确定出能处理的部分第一资源转移请求,作为上述多个目标资源转移请求,当然该多个目标资源转移请求包括的资源转移数量的累加值不能超过限制。具体的,可以对多个第一资源转移请求排序,根据排列顺序从中选择出多个目标资源转移请求。该排列顺序可以用来区分不同第一资源转移请求的重要性程度,从而根据重要性程度来筛选出目标资源转移请求。
在一个实施例中,上述排列顺序可以用于指示包括的资源转移数量越大的第一资源转移请求越先被处理,也就是说,利过第一资源转移请求包括的资源转移数量,来衡量该请求的重要性程度。进一步的,根据该排列顺序从多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求的具体过程可以包括:根据所述排列顺序,对所述多个第一资源转移请求进行排序;若确定所述多个第一资源转移请求中的前K个第一资源转移请求包括的资源转移数量的累加值小于或等于所述资源转移上限,且前K+1个第一资源转移请求包括的资源转移数量的累加值大于所述资源转移上限,则将所述前K个第一资源转移请求确定为所述多个目标资源转移请求,其中,所述K为正整数。可理解的,按照上述排列顺序依次计算第一资源转移请求包括的资源转移数量的累加值,将累加值不超过资源转移上限且包括的资源转移数量相对较大的所有第一资源转移请求(也即按顺序排列的前K个第一资源转移请求)作为上述多个目标资源转移请求,这样可以达到尽量减小未被处理的资源转移请求造成的损失的目的。
可选的,上述排列顺序也可以与第一资源转移请求的其他信息相关,例如,与第一资源转移请求携带的账号的等级高低有关,这样上述排列顺序可以用于指示包括的账号等级越高的第一资源转移请求越先被处理。或者,该排列顺序与该第一资源转移请求的接收时间有关,等等,本申请对此不作限制。也就是说,用于衡量第一资源转移请求的重要性程度的指标不同,对第一资源转移请求进行排序的依据也可以不同。
步骤102,根据所述多个目标资源转移请求,获得资源转移总数量,所述资源转移总数量是所述多个目标资源转移请求包括的资源转移数量的累加值。
本申请实施例中,上述资源转移总数量是上述多个目标资源转移数量的累加值,该资源转移总数量小于或等于上述资源转移上限。
步骤103,按照所述资源转移总数量从所述虚拟产品对应的资源集合中获取待转移虚拟资源,并将所述待转移虚拟资源设置为锁定状态。
本申请实施例中,锁定状态是指不允许对待虚拟资源进行操作,也即将待转移虚拟资源在一定时间内锁定为上述多个目标资源转移请求对应的所有物,保证除上述多个目标资源转移请求之外的其他请求无法从该待转移虚拟资源中获取对应的虚拟资源,示例性的,虚拟产品为基金,则该锁定的过程可以是指证券公司将数据库中一定额度的基金进行冻结,保证该一定额度的基金暂时只与相应的委托请求对应,等待被扣减掉,转移至相应的委托请求包括的账号中。
步骤104,通过多个预设线程向虚拟产品提供方发送各个所述目标资源转移请求分别对应的第二资源转移请求,所述第二资源转移请求用于向所述虚拟产品提供方请求允许针对所述待转移虚拟资源的资源转移操作。
所述第二资源转移请求包括对应的第一资源转移请求中的资源转移数量
在一些实施例中,在执行上述步骤104之前,还可以先执行以下步骤:获取所述多个目标资源转移请求的请求数量,根据所述请求数量,对所述多个目标资源转移请求进行分组处理。
可理解的,针对上述多个目标资源转移请求,对其进行分组处理,可以方便后续执行步骤104,实现通过多线程(也即多个预设线程)并发向虚拟产品服务方发送请求,从而保证能够短时间内并行处理多个用户请求,提高请求处理效率。具体的,对多个目标资源转移请求进行分组后,确定多个预设线程中每个预设线程对应的分组,针对每个预设线程,通过该预设线程向虚拟产品服务方发送该预设线程对应的分组中各个目标资源转移请求分别对应的第二资源转移请求,其中,第一资源转移请求是用户向虚拟产品服务方发送的,其作用是指示虚拟产品服务方向虚拟产品提供方发出第二资源转移请求;而第二资源转移请求是为响应该用户的第一资源转移请求由虚拟产品服务方来向虚拟产品提供方发送的,两者具有对应关系。实际上,目标资源转移请求和第二资源转移请求的目的均是为了请求虚拟产品提供方允许针对上述待转移虚拟资源的资源转移操作,但两者的发送方和接收方均存在区别。
在一些实施例中,根据所述请求数量,对所述多个请求账号进行分组处理的过程具体可以包括:获取预配置的组容量,并根据所述组容量对所述多个目标资源转移请求进行分组处理,获得多个分组,每个分组包括的目标资源转移请求的数量小于或等于所述组容量
可理解的,上述组容量可以与指单线程在一定时间内能处理的请求个数,具体可以通过压力测试获得该组容量,并预先存储在配置数据中,实施本申请时可以直接获取。根据请求数量和组容量,可以确定进行分组处理后获得的分组数量,其中每个分组中包括的目标资源转移请求的数量小于或等于上述组容量,并且每个分组中包括的目标资源转移请求的数量基本相等。根据该分组数量完成分组处理;这样可以保证多个预设线程在并行发送第二资源转移请求时的处理速度基本保持一致。
在一些实施例中,每个预设线程向虚拟产品提供方发送该预设线程对应的分组中各个目标资源转移请求分别对应的第二资源转移请求,同一个分组关联的多个第二资源转移请求不是同时发送的,而是串行发送的。示例性的,可以获取该同一个分组内各个目标资源转移请求分别对应的顺序编号,该顺序编号与上述步骤中的排列顺序有关,实际上可以指示该目标资源转移请求在多个第一资源转移请求中的排列位置。根据该顺序编号,可以通过预设线程依次想虚拟产品提供方发送该分组中各个目标资源转移请求分别对应的第二资源转移请求。在一种可能的实施方式中,针对每个分组,可以直接获取该分组的组标识,以及该分组中目标资源请求的最大顺序编号和最小顺序编号,而分组时每个目标资源转移请求是按顺序排列的,因此获取上述组标识、最大顺序编号和最小顺序编号后,根据顺序推导就可以获得该分组内每个目标资源转移请求对应的顺序编号,从而生成并发送每个目标资源转移请求对应的第二资源转移请求。
步骤105,在接收到所述虚拟产品提供方发送的针对所述第二资源转移请求的确认反馈时,将所述待转移虚拟资源设置为解锁状态,并对所述待转移虚拟资源进行资源转移操作。
本申请实施例中,该确认反馈用于指示所述虚拟产品提供方允许进行所述第二资源转移请求中的资源转移数量的资源转移操作,而将所述待转移虚拟资源设置为解锁状态,可以是指对该待转移虚拟资源进行操作,从所述待转移虚拟资源中扣减所述第二资源转移请求包括的资源转移数量的虚拟资源,可理解的,虚拟产品为基金时,是指从之前冻结的一定额度(该一定额度等于资源转移总数量)的基金中扣减掉目标额度(该目标额度等于第二资源转移请求中的资源转移数量),从而完成基金的委托交易处理的部分过程,保证证券公司针对该基金的交易额度不超出限制。第一资源转移请求包括请求账号,所以目标资源转移请求也包括请求账号,因此对所述待转移虚拟资源进行资源转移操作,可以是指将所述第二资源转移操作包括的资源转移数量的虚拟资源转移至所述第二资源转移请求包括的请求账号中,该第二资源转移请求包括对应的目标资源转移请求中的请求账号。也就是说,将上述资源转移数量的虚拟资源转移到用户的请求账号中,该请求账号可以对应用户在该虚拟产品服务方开设的账户,例如股票账户、基金账户等。将虚拟资源转移至请求账号中,实质上是指将虚拟资源转移到用户的账户中。可理解的,若完成资源转移操作前,出现用户账户余额不足、用户撤回请求或请求响应失败等情况,则按照常规操作进行相应处理,最后该资源转移数量的虚拟资源可能无法转移到用户的请求账号中。
下面结合一个具体的应用场景,对本申请实施例提供的请求处理方法的过程进行介绍。在该应用场景中,多个用户已经与虚拟产品服务方签订了相关协议,向虚拟产品服务方发送第一资源转移请求,请求虚拟产品服务方在达到触发条件的情况下,向虚拟产品提供方发送相应的第二资源转移请求。因此,虚拟产品服务方在确定达到触发条件的情况下,对该多个用户的第一资源转移请求进行处理。该触发条件可以包括定时触发条件。而虚拟产品服务方可以通过调度模块和业务处理模块,来处理请求。
本申请实施例中,业务处理模块将待转移虚拟资源设置为锁定状态后,由上述调度模块对上述多个目标资源转移请求进行分组处理,并获得每个分组的组标识和分组中目标资源转移请求对应的最大顺序编号和最小顺序编号,目标资源转移请求对应的顺序编号用于表示该目标资源转移请求在上述多个第一资源转移请求中的排列位置,该排列位置根据多个第一资源转移请求的排列顺序确定。该调度模块将每个分组的组标识和分组中标资源转移请求对应的最大顺序编号和最小顺序编号通过多个线程发送给业务处理模块,使得业务处理模块能相应通过多个预设线程对分组中包括的目标资源转移请求进行处理,生成各个目标资源转移请求对应的第二资源转移请求,并向虚拟产品提供方进行发送。
可理解的,若不实施本申请,在一种请求处理方法1中,业务处理模块针对每个目标资源转移请求,依次将该目标资源转移请求包括的资源转移数量的虚拟资源设置为锁定状态(每次设置均需要访问数据库和获取数据库锁),接收调度模块发送的每个目标资源转移请求对应的顺序编号,生成第二资源转移请求并向虚拟产品提供方进行发送,因而,访问数据库的次数较多,且调度模块和业务处理模块为生成多个第二资源转移请求需要交互数次(等于目标资源转移请求的个数),而由于需要串行获取数据库锁,请求处理效率低。
而本申请实施例中,调度模块和业务处理模块为生成多个第二资源转移请求需要交互的次数(等于对目标资源转移请求进行分组后的分组个数)相比方法1会大大减少,而将待转移虚拟资源设置为锁定状态,访问数据库的次数比方法1中的数据库访问次数也会减少,而且还可以通过多线程并行地向虚拟产品提供方发送多个第二资源转移请求,从而使得请求处理效率提高,可以满足在短时间内处理多个请求的需要。
本申请实施例中,接收多个第一资源转移请求后从中确定符合预设条件的多个目标资源转移请求,将多个目标资源转移请求包括的资源转移数量的累加值的虚拟资源作为待转移虚拟资源,并将待转移虚拟资源设置为锁定状态,通过多个预设线程向虚拟产品提供方发送各个目标资源转移请求分别对应的第二资源转移请求,在接收到虚拟产品提供方的确认反馈的情况下进行资源转移操作,减少了虚拟资源的数量数据库的访问次数,并实现了多个请求的并行处理,从而可以提高请求处理效率,满足短时间内处理多个请求的需要。
请参见图3,图3为本申请实施例提供的一种请求处理装置的结构示意图。如图3所示,所述装置可以包括:
接收单元11,用于接收多个用户发送的针对虚拟产品的多个第一资源转移请求;
确定单元12,用于从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,每个所述第一资源转移请求包括资源转移数量;
获得单元13,用于根据所述多个目标资源转移请求,获得资源转移总数量,所述资源转移总数量是所述多个目标资源转移请求包括的资源转移数量的累加值;
第一设置单元14,用于按照所述资源转移总数量从所述虚拟产品对应的资源集合中获取待转移虚拟资源,并将所述待转移虚拟资源设置为锁定状态;
发送单元15,用于通过多个预设线程向虚拟产品提供方发送各个所述目标资源转移请求分别对应的第二资源转移请求,所述第二资源转移请求用于向所述虚拟产品提供方请求允许针对所述待转移虚拟资源的资源转移操作;
第二设置单元16,用于在接收到所述虚拟产品提供方发送的针对所述第二资源转移请求的确认反馈时,将所述待转移虚拟资源设置为解锁状态,并对所述待转移虚拟资源进行资源转移操作。
在一种可能的设计中,所述确定单元12,具体用于:
若所述多个第一资源转移请求包括的资源转移数量的累加值小于或等于资源转移上限,则将所述多个第一资源转移请求确定为所述多个目标资源转移请求;
若所述多个第一资源转移请求包括的资源转移数量的累加值大于所述资源转移上限,则确定所述多个第一资源转移请求对应的排列顺序,根据所述排列顺序从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,所述符合预设条件的多个目标资源转移请求包括的资源转移数量的累加值小于或等于所述资源转移上限。
在一种可能的设计中,所述排列顺序用于指示包括的资源转移数量越大的第一资源转移请求越先被处理,所述确定单元12,具体用于:
根据所述排列顺序,对所述多个第一资源转移请求进行排序;
若确定所述多个第一资源转移请求中的前K个第一资源转移请求包括的资源转移数量的累加值小于或等于所述资源转移上限,且前K+1个第一资源转移请求包括的资源转移数量的累加值大于所述资源转移上限,则将所述前K个第一资源转移请求确定为所述多个目标资源转移请求,其中,所述K为正整数。
在一种可能的设计中,所述装置还包括:
获取单元,用于获取所述多个目标资源转移请求的请求数量;
分组单元,用于根据所述请求数量,对所述多个目标资源转移请求进行分组;
所述发送单元15,具体用于:
针对所述多个预设线程中的每个预设线程,确定所述预设线程对应的分组,通过所述预设线程向所述虚拟产品提供方发送所述预设线程对应的分组中各个目标资源转移请求分别对应的第二资源转移请求。
在一种可能的设计中,所述分组单元,具体用于:
获取预配置的组容量,并根据所述组容量对所述多个目标资源转移请求进行分组处理,获得多个分组,每个分组包括的目标资源转移请求的数量小于或等于所述组容量。
在一种可能的设计中,所述发送单元15,具体用于:
获取所述预设线程对应的分组中各个目标资源转移请求分别对应的顺序编号,所述顺序编号用于表示所述目标资源转移请求在所述多个第一资源转移请求中的排列位置;
根据各个所述目标资源转移请求分别对应的顺序编号,通过所述预设线程依次向所述虚拟产品提供方发送各个目标资源转移请求分别对应的第二资源转移请求。
在一种可能的设计中,所述第一资源转移请求包括请求账号,所述第二设置单元16,具体用于:
从所述待转移虚拟资源中扣减所述第二资源转移请求包括的资源转移数量的虚拟资源,并将所述第二资源转移请求包括的资源转移数量的虚拟资源转移至所述第二资源转移请求包括的请求账号中,所述第二资源转移请求包括对应的目标资源转移请求中的请求账号。
请参照图4,图4为本申请实施例提供的一种电子设备的结构示意图,如图4所示,所述装置1000可以包括:至少一个处理器1001,例如CPU,至少一个通信接口1003,存储器1004,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。通信接口1003可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1004可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图4所示,作为一种计算机存储介质的存储器1004中可以包括操作***、网络通信模块以及程序指令。
在图4所示的装置1000中,处理器1001可以用于加载存储器1004中存储的程序指令,并具体执行以下操作:
接收多个用户发送的针对虚拟产品的多个第一资源转移请求,从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,每个所述第一资源转移请求包括资源转移数量;
根据所述多个目标资源转移请求,获得资源转移总数量,所述资源转移总数量是所述多个目标资源转移请求包括的资源转移数量的累加值;
按照所述资源转移总数量从所述虚拟产品对应的资源集合中获取待转移虚拟资源,并将所述待转移虚拟资源设置为锁定状态;
通过多个预设线程向虚拟产品提供方发送各个所述目标资源转移请求分别对应的第二资源转移请求,所述第二资源转移请求用于向所述虚拟产品提供方请求允许针对所述待转移虚拟资源的资源转移操作;
在接收到所述虚拟产品提供方发送的针对所述第二资源转移请求的确认反馈时,将所述待转移虚拟资源设置为解锁状态,并对所述待转移虚拟资源进行资源转移操作。
具体执行步骤可以参见前述实施例的描述,此处不在赘述。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1所示实施例的方法步骤,具体执行过程可参见图1所示实施例的具体说明,在此不进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
Claims (10)
1.一种请求处理方法,其特征在于,应用于虚拟产品服务方,所述方法包括:
接收多个用户发送的针对虚拟产品的多个第一资源转移请求,从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,每个所述第一资源转移请求包括资源转移数量;
根据所述多个目标资源转移请求,获得资源转移总数量,所述资源转移总数量是所述多个目标资源转移请求包括的资源转移数量的累加值;
按照所述资源转移总数量从所述虚拟产品对应的资源集合中获取待转移虚拟资源,并将所述待转移虚拟资源设置为锁定状态;
通过多个预设线程向虚拟产品提供方发送各个所述目标资源转移请求分别对应的第二资源转移请求,所述第二资源转移请求用于向所述虚拟产品提供方请求允许针对所述待转移虚拟资源的资源转移操作;
在接收到所述虚拟产品提供方发送的针对所述第二资源转移请求的确认反馈时,将所述待转移虚拟资源设置为解锁状态,并对所述待转移虚拟资源进行资源转移操作。
2.如权利要求1所述的方法,其特征在于,所述从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,包括:
若所述多个第一资源转移请求包括的资源转移数量的累加值小于或等于资源转移上限,则将所述多个第一资源转移请求确定为所述多个目标资源转移请求;
若所述多个第一资源转移请求包括的资源转移数量的累加值大于所述资源转移上限,则确定所述多个第一资源转移请求对应的排列顺序,根据所述排列顺序从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,所述符合预设条件的多个目标资源转移请求包括的资源转移数量的累加值小于或等于所述资源转移上限。
3.如权利要求2所述的方法,其特征在于,所述排列顺序用于指示包括的资源转移数量越大的第一资源转移请求越先被处理,所述根据所述排列顺序从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,包括:
根据所述排列顺序,对所述多个第一资源转移请求进行排序;
若确定所述多个第一资源转移请求中的前K个第一资源转移请求包括的资源转移数量的累加值小于或等于所述资源转移上限,且前K+1个第一资源转移请求包括的资源转移数量的累加值大于所述资源转移上限,则将所述前K个第一资源转移请求确定为所述多个目标资源转移请求,其中,所述K为正整数。
4.如权利要求2或3所述的方法,其特征在于,所述通过多个预设线程向虚拟产品提供方发送各个所述目标资源转移请求分别对应的第二资源转移请求之前,还包括:
获取所述多个目标资源转移请求的请求数量;
根据所述请求数量,对所述多个目标资源转移请求进行分组;
所述通过多个预设线程向虚拟产品提供方发送各个所述第一资源转移请求分别对应的第二资源转移请求,包括:
针对所述多个预设线程中的每个预设线程,确定所述预设线程对应的分组,通过所述预设线程向所述虚拟产品提供方发送所述预设线程对应的分组中各个目标资源转移请求分别对应的第二资源转移请求。
5.如权利要求4所述的方法,其特征在于,所述根据所述请求数量,对所述多个目标资源转移请求进行分组处理,包括:
获取预配置的组容量,并根据所述组容量对所述多个目标资源转移请求进行分组处理,获得多个分组,每个分组包括的目标资源转移请求的数量小于或等于所述组容量。
6.如权利要求5所述的方法,其特征在于,所述通过所述预设线程向所述虚拟产品提供方发送所述预设线程对应的分组中各个目标资源转移请求分别对应的第二资源转移请求,包括:
获取所述预设线程对应的分组中各个目标资源转移请求分别对应的顺序编号,所述顺序编号用于表示所述目标资源转移请求在所述多个第一资源转移请求中的排列位置;
根据各个所述目标资源转移请求分别对应的顺序编号,通过所述预设线程依次向所述虚拟产品提供方发送各个目标资源转移请求分别对应的第二资源转移请求。
7.如权利要求6所述的方法,其特征在于,所述第一资源转移请求包括请求账号,所述将所述待转移虚拟资源设置为解锁状态,并对所述待转移虚拟资源进行资源转移操作,包括:
从所述待转移虚拟资源中扣减所述第二资源转移请求包括的资源转移数量的虚拟资源,并将所述第二资源转移请求包括的资源转移数量的虚拟资源转移至所述第二资源转移请求包括的请求账号中,所述第二资源转移请求包括对应的目标资源转移请求中的请求账号。
8.一种请求处理装置,其特征在于,包括:
接收单元,用于接收多个用户发送的针对虚拟产品的多个第一资源转移请求;
确定单元,用于从所述多个第一资源转移请求中确定符合预设条件的多个目标资源转移请求,每个所述第一资源转移请求包括资源转移数量;
获得单元,用于根据所述多个目标资源转移请求,获得资源转移总数量,所述资源转移总数量是所述多个目标资源转移请求包括的资源转移数量的累加值;
第一设置单元,用于按照所述资源转移总数量从所述虚拟产品对应的资源集合中获取待转移虚拟资源,并将所述待转移虚拟资源设置为锁定状态;
发送单元,用于通过多个预设线程向虚拟产品提供方发送各个所述目标资源转移请求分别对应的第二资源转移请求,所述第二资源转移请求用于向所述虚拟产品提供方请求允许针对所述待转移虚拟资源的资源转移操作;
第二设置单元,用于在接收到所述虚拟产品提供方发送的针对所述第二资源转移请求的确认反馈时,将所述待转移虚拟资源设置为解锁状态,并对所述待转移虚拟资源进行资源转移操作。
9.一种电子设备,其特征在于,包括处理器、存储器以及通信接口,所述处理器、存储器和通信接口相互连接,其中,所述通信接口用于接收和发送数据,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111440065.4A CN114090604A (zh) | 2021-11-30 | 2021-11-30 | 请求处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111440065.4A CN114090604A (zh) | 2021-11-30 | 2021-11-30 | 请求处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114090604A true CN114090604A (zh) | 2022-02-25 |
Family
ID=80305689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111440065.4A Pending CN114090604A (zh) | 2021-11-30 | 2021-11-30 | 请求处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090604A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115827254A (zh) * | 2023-02-09 | 2023-03-21 | 中国证券登记结算有限责任公司 | 一种资源处理的方法、装置和*** |
-
2021
- 2021-11-30 CN CN202111440065.4A patent/CN114090604A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115827254A (zh) * | 2023-02-09 | 2023-03-21 | 中国证券登记结算有限责任公司 | 一种资源处理的方法、装置和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Mitigating conflicting transactions in hyperledger fabric-permissioned blockchain for delay-sensitive IoT applications | |
CN104486407B (zh) | 编号的生成方法及装置 | |
CN106101080A (zh) | 页面访问控制方法和装置 | |
CN110289999B (zh) | 一种数据处理方法、***及装置 | |
CN111176840B (zh) | 分布式任务的分配优化方法和装置、存储介质及电子装置 | |
CN109729068B (zh) | 基于区块链技术的安全漏洞审计*** | |
CN106095554A (zh) | 在日间联机阶段进行批量数据处理的方法及装置 | |
CN110011930B (zh) | 一种区块链中多联盟链的负载均衡方法及装置 | |
CN110555079B (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN110457128B (zh) | 任务分配方法、装置和*** | |
CN113595926B (zh) | 基于数据中台的api数据传输方法、装置、设备和介质 | |
CN111078436A (zh) | 数据处理的方法、装置、设备及存储介质 | |
CN106131244A (zh) | 一种报文传送方法及装置 | |
CN112202879B (zh) | 中间件管理方法、装置、电子设备和存储介质 | |
CN114090604A (zh) | 请求处理方法及装置 | |
CN116703601B (zh) | 基于区块链网络的数据处理方法、装置、设备及存储介质 | |
CN115829731A (zh) | 一种交易信息处理方法及装置 | |
CN111737000A (zh) | 一种实现负载均衡的方法 | |
CN105787791B (zh) | 业务请求处理方法及装置 | |
CN115239450A (zh) | 财务数据处理方法、装置、计算机设备及存储介质 | |
WO2012017699A1 (ja) | 計算機システム、及び、データ管理方法 | |
CN114338811B (zh) | 交易限流方法、装置、服务器、存储介质及产品 | |
CN113867942B (zh) | 一种卷的挂载方法、***及计算机可读存储介质 | |
US11226825B2 (en) | Dynamic assignment of special tasks in distributed networks | |
CN108600308A (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 |