CN110134531A - 虚拟资产流转数据的处理方法、装置和计算机设备 - Google Patents

虚拟资产流转数据的处理方法、装置和计算机设备 Download PDF

Info

Publication number
CN110134531A
CN110134531A CN201910371745.1A CN201910371745A CN110134531A CN 110134531 A CN110134531 A CN 110134531A CN 201910371745 A CN201910371745 A CN 201910371745A CN 110134531 A CN110134531 A CN 110134531A
Authority
CN
China
Prior art keywords
message
business processing
message queue
fictitious assets
circulation 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.)
Pending
Application number
CN201910371745.1A
Other languages
English (en)
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.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology 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 Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201910371745.1A priority Critical patent/CN110134531A/zh
Publication of CN110134531A publication Critical patent/CN110134531A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种虚拟资产流转数据的处理方法、装置、计算机设备和存储介质,所述方法包括:接收虚拟资产流转数据的业务处理请求,统计当前需要处理的业务处理请求数量;根据所述业务处理请求数量获取消息队列数量,开启与所述消息队列数量相应的消息队列,并将所述业务处理请求存储至所述消息队列中;根据所述消息队列数量确定进程数量,开启与所述进程数量相应的进程,读取所述消息队列中的业务处理请求并配置给各所述进程进行处理。可以调整消息列队数量,根据消息队列数量确定合适的进程数量,提高消息处理效率且避免资源浪费。

Description

虚拟资产流转数据的处理方法、装置和计算机设备
技术领域
本发明涉及互联网计算机技术领域,具体而言,本发明涉及一种虚拟资产流转数据的处理方法、装置、计算机设备和存储介质。
背景技术
随着网络技术的不断发展,大量的并发的虚拟资产流转数据的处理变得越来越重要,各种网络平台产生的这些数据需要及时快速处理,才能够确保使用效果。以目前热度较高的网络直播平台为例,随着网络直播越来越受到用户的喜爱,用户可通过多种终端观看直播。网络直播的玩法业务众多,各种不同的业务中都涉及对虚拟资产流转数据的处理,例如对副卡、参赛券、金币、能量值等等虚拟资产流转数据的分配、消费等处理。
虚拟资产流转数据目前对于虚拟资产流转数据的流转处理,往往是设置多个消息列队以及多个进程同时进行处理,但消息列队和进程的数量不能及时进行动态调整,会造成消息列队或进程数量开启过多而导致资源浪费,而且也影响了数据处理效率。
发明内容
本发明的目的旨在至少能解决上述的技术缺陷之一,特别是导致资源浪费、且数据处理效率低的技术缺陷。
本发明提供一种虚拟资产流转数据的处理方法,包括如下步骤:
接收虚拟资产流转数据的业务处理请求,统计当前需要处理的业务处理请求数量;
根据所述业务处理请求数量获取消息队列数量,开启与所述消息队列数量相应的消息队列,并将所述业务处理请求存储至所述消息队列中;
根据所述消息队列数量确定进程数量,开启与所述进程数量相应的进程,读取所述消息队列中的业务处理请求并配置给各所述进程进行处理。
在一个实施例中,所述根据所述消息队列数量确定进程数量的步骤,包括:
获取所述进程的线程承载量;其中,所述线程承载量为单个所述进程中所承载的线程数量;
根据所述消息列队数量以及所述线程承载量确定所述进程数量。
在一个实施例中,所述获取所述进程的线程承载量的步骤,包括:
输入测试消息到所述进程中,并持续增加单个所述进程中的线程数量;
获取所述测试消息的查询率和响应时间,根据所述查询率和响应时间确定单个所述进程中的线程数量,根据所述线程数量确定所述进程的线程承载量。
在一个实施例中,所述根据所述消息列队数量以及所述线程承载量确定所述进程数量的步骤,包括:
N=M/T
其中,N为所述进程数量,M为所述消息列队数量;T为所述线程承载量。
在一个实施例中,所述读取所述消息队列中的业务处理请求并配置给各所述进程进行处理的步骤,包括:
创建多个进程集群,将所开启的进程数量的进程配置到各所述进程集群中;其中,各所述进程集群设置有相应的消息处理逻辑;
利用各所述进程集群对所述消息队列中的业务处理请求进行并行处理。
在一个实施例中,所述利用各所述进程集群对所述消息队列中的业务处理请求进行并行处理的步骤,包括:
筛选所述消息队列的业务处理请求中与所述进程集群的消息处理逻辑相匹配的业务处理请求,并按照所述消息处理逻辑对筛选出的业务处理请求进行处理。
在一个实施例中,所述业务处理请求携带有应用标识和令牌信息;
所述按照所述消息处理逻辑对查找到的所述业务处理请求进行处理的步骤之前,还包括:
对筛选出的所述业务处理请求的所述应用标识和令牌信息进行校验;
若所述应用标识与预设应用标识相匹配,且所述令牌信息和预设令牌信相匹配,则执行所述利用各所述进程集群对所述消息队列中的业务处理请求进行并行处理的步骤。
在一个实施例中,所述按照所述消息处理逻辑对筛选出的业务处理请求进行处理的步骤之前,还包括:
获取筛选的业务处理请求到达所述进程集群的时间,按照到达所述进程集群的时间对所述业务处理请求进行重排序。
在一个实施例中,所述消息处理逻辑包括虚拟资产流转数据分配、虚拟资产流转数据消费、虚拟资产流转数据转账和虚拟资产流转数据兑换。
一种虚拟资产流转数据的处理装置,包括:
统计模块,用于接收虚拟资产流转数据的业务处理请求,统计当前需要处理的业务处理请求数量;
队列数量确定模块,用于根据所述业务处理请求数量获取消息队列数量,开启与所述消息队列数量相应的消息队列,并将所述业务处理请求存储至所述消息队列中;
处理模块,用于根据所述消息队列数量确定进程数量,开启与所述进程数量相应的进程,读取所述消息队列中的业务处理请求并配置给各所述进程进行处理。
本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述任一实施例所述的虚拟资产流转数据的处理方法的步骤。
本发明还提供一种计算机可读存储介质,存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述的虚拟资产流转数据的处理方法的步骤。
上述的虚拟资产流转数据的处理方法、系统、计算机设备和存储介质,通过接收虚拟资产流转数据的业务处理请求,统计当前需要处理的业务处理请求数量;根据所述业务处理请求数量获取消息队列数量,开启与所述消息队列数量相应的消息队列,并将所述业务处理请求存储至所述消息队列中;根据所述消息队列数量确定进程数量,开启与所述进程数量相应的进程,读取所述消息队列中的业务处理请求并配置给各所述进程进行处理。该技术方案可以根据业务处理请求的数量调整消息列队数量,避免消息列队开启数量过多造成资源浪费,提高消息处理效率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为一个实施例中虚拟资产流转数据的处理方法的应用环境示意图;
图2为一个实施例中Vcion的系统架构图;
图3为一个实施例中虚拟资产流转数据的处理方法的流程图;
图4为另一个实施例中虚拟资产流转数据的处理方法的流程图;
图5为一个实施例中虚拟资产流转数据的处理方法的流程图;
图6为一个实施例中进程处理业务处理请求的流程图;
图7为另一个实施例中进程处理业务处理请求的流程图;
图8为一个实施例中虚拟资产流转数据分配时序图;
图9为一个实施例中虚拟资产流转数据消费时序图;
图10为一个实施例中虚拟资产流转数据消费迁移时序图;
图11为一个实施例中虚拟资产流转数据的处理装置结构示意图;
图12为一个实施例中计算机设备的内部结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本申请提供的虚拟资产流转数据的处理方法,可以应用于如图1所示的应用环境中。具体的,用户端发送虚拟资产流转数据的业务处理请求到服务器,服务器统计当前需要处理的业务处理请求数量;服务器根据所述业务处理请求数量获取消息队列数量,开启与所述消息队列数量相应的消息队列,并将所述业务处理请求存储至所述消息队列中;服务器根据所述消息队列数量确定进程数量,开启与所述进程数量相应的进程,读取所述消息队列中的业务处理请求并配置给各所述进程进行处理。
本技术领域技术人员可以理解,这里所使用的“用户端”可以是手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、MID(Mobile Internet Device,移动互联网设备)等;“服务器”可以用独立的服务器或者是多个服务器组成的服务器集群来实现;图中X、M和N都表示自然数。
在一个实施例中本申请的虚拟资产流转数据的处理方法,可以采用一种定制的软件系统(即Vcoin系统)形式在图1所示服务器上实现,以对各种不同业务涉及的虚拟资产流转数据统一进行处理,如图2所示,Vcion系统分为第三方业务层、RPC(Remote ProcedureCall,远程过程调用)通道层、应用服务层、存储和流式计算层,Vcion各部分功能具体如下:
(1)第三方业务层是所有调用Vcoin服务的外部业务,各业务通过Vcoin提供的SDK(Software Development Kit,软件开发工具包)在服务器和用户端发起Vcoin服务相关API(Application Programming Interface,应用程序编程接口)的调用;图中n为自然数。
(2)RPC通道层,是第三方业务调用使用RPC请求Vcoin服务的协议通道,目前通过Web(网络)专区支持Http超协议(文本传输协议),通过Service通道专区提供thrift协议(一种接口描述语言和二进制通讯协议)。
(3)Vcoin应用服务集群层,是接收各业务请求的服务层,跨机房部署,第三方应用通过RPC通道层自动路由到同机房的Vcoin应用服务;同时Vcoin提供配置管理平台,第三方业务的运营人员,可以在有权限的业务应用范围内配置各种虚拟货币以及其他业务逻辑数据
(4)存储和实时计算层,Mysql(一种关系型数据库管理系统)存储持久化数据,通过分库、分表实现数据的动态扩容;Redis(一种数据库)存储用户账户的缓存数据,提高访问性能;Spark Stream(流式处理框架,支持可扩展、高吞吐量、容错的实时数据流处理)实时计算集群用于统计各业务的排行榜、生成数据实时报表,最后统计出的数据会写入Mysql和Redis,供第三方业务请求调用。
在一个实施例中,如图3示,提供了一种虚拟资产流转数据的处理方法,以该方法应用于图1中的服务器为例进行说明,可以包括以下步骤:
步骤S202,接收虚拟资产流转数据的业务处理请求,统计当前需要处理的业务处理请求数量。
本步骤中,虚拟资产流转数据可以是直播间各种业务涉及的虚拟货币,例如副卡、金币、能量值、参赛券等等;业务处理请求可以是对虚拟货币的消费、兑换、转账等等请求。
由于业务处理请求数量越大,用于存储业务处理请求的消息列队以及用于处理业务处理请求的进程会随之相应增加,因此,可以先统计业务处理请求数量,以便于对消息列队和进程的开启数量进行调整。
步骤S204,根据业务处理请求数量获取消息队列数量,开启与消息队列数量相应的消息队列,并将业务处理请求存储至消息队列中。
在具体实施过程中,业务请求处理数量和消息列队数量成正相关的关系,可以预设业务请求处理数量和消息列队数量之间的对应关系,然后根据业务处理请求数量查询相应的需开启的消息列队数量。
例如,可以设置业务处理请求数量和消息列队之间的比例,也可以对业务处理请求数量设置不同的数量范围,各数量范围分别设置对应的需开启的消息列队数量。
步骤S206,根据消息队列数量确定进程数量,开启与进程数量相应的进程,读取消息队列中的业务处理请求并配置给各进程进行处理。
具体的,各进程中设置有至少一个线程,业务处理请求从消息列队中进入进程中的线程,由线程进行业务处理,消息列队数量和用于处理业务处理请求的线程的总数量之间的理想关系是相等的,即一个线程负责处理一个消息列队中的业务处理请求。
当线程数大于消息列队数量时,会有线程冗余,即造成资源浪费;当线程数小于消息列队数量时,单个线程会处理多个消息列队中的业务处理请求,处理效率会降低,因此,需要对线程的总数量,也就是对进程的数量进行调整,以提高处理效率的同时,避免资源浪费。
如图4所示,在一个实施例中,步骤S206中的根据消息队列数量确定进程数量的步骤,包括:
步骤S2061,获取进程的线程承载量;其中,线程承载量为单个进程中所承载的线程数量。
在一种实施过程中,获取进程的线程承载量的具体步骤如下:
(1)输入测试消息到进程中,并持续增加单个进程中的线程数量;
(2)获取测试消息的查询率和响应时间,根据查询率和响应时间确定单个进程中的线程数量,根据线程数量确定进程的线程承载量。
在另一种实施过程中,也可以直接将业务处理请求作为测试消息,直接输入到进程中,持续增加单个进程中的线程数量,然后获取业务处理请求的查询率和响应时间,根据查询率和响应时间确定单个进程中的线程数量,从而确定进程的线程承载量,即在对业务处理请求进行处理的同时,动态调整进程数量,可以提高处理效率,更节省时间,同时也可以避免资源浪费。
步骤S2062,根据消息列队数量以及线程承载量确定进程数量。
具体的,步骤S2062的根据消息列队数量以及线程承载量确定进程数量的步骤,可以采用如下公式进行计算:
N=M/T
其中,N为进程数量,M为消息列队数量;T为线程承载量。
根据上述计算方法对进程数量进行调整,使得一个线程可以负责处理一个消息列队中的业务处理请求,避免出现线程冗余,同时可以提高对业务处理请求的处理效率。
上述虚拟资产流转数据的处理方法,通过接收虚拟资产流转数据的业务处理请求,统计当前需要处理的业务处理请求数量;根据业务处理请求数量获取消息队列数量,开启与消息队列数量相应的消息队列,并将业务处理请求存储至消息队列中;可以根据业务处理请求的数量调整消息列队数量,避免消息列队开启数量过多造成资源浪费,同时开启合适数量的消息队列数量可以提高消息处理效率;根据消息队列数量确定进程数量,开启与进程数量相应的进程,读取消息队列中的业务处理请求并配置给各进程进行处理;根据消息队列数量确定合适的进程数量,提高消息处理效率且避免资源浪费。
上述实施例阐述了通过对消息列队数量、进程数量进行调整的方案,下面将进一步详细阐述如何利用进程对消息列队中的业务处理请求进行处理。
参考图4所示,在一个实施例中,步骤S206中的读取消息队列中的业务处理请求并配置给各进程进行处理的步骤,包括:
步骤S2063,创建多个进程集群,将所开启的进程数量的进程配置到各进程集群中;其中,各进程集群设置有相应的消息处理逻辑。
具体的,各进程集群中包含至少一个进程,可以将开启的进程数量的进程平均分配到各进程集群中,也可以根据进程集群对应的消息处理逻辑的重要程度或者复杂程度,将开启的进程数量的进程分配到各进程集群中。
以对虚拟资产流转数据进行业务处理为例,对应的,各进程集群的消息处理逻辑可以是虚拟资产流转数据消费、虚拟资产流转数据兑换、虚拟资产流转数据转账和虚拟资产流转数据分配的逻辑。
如果虚拟资产流转数据兑换和虚拟资产流转数据转账对应的消息处理逻辑更加复杂,那么可以增加虚拟资产流转数据兑换和虚拟资产流转数据转账对应的进程集群所占用的进程数量。
步骤S2064,利用各进程集群对消息队列中的业务处理请求进行并行处理。
在具体实施过程中,所有开启的消息列队中的业务处理请求会并行进入所有的进程集群,然后各进程集群按照相应的消息处理逻辑对业务处理请求进行处理。
结合图5所示,有y个业务处理请求存储于N个消息队列中,N个消息队列中的业务处理请求并行进入p个进程集群进行处理,各进程集群中设置有多个进程,各进程集群设置有相应的消息处理逻辑,图5中的y、N、a、b、c和p都为自然数。
上述实施例中,创建具有不同消息处理逻辑的进程集群,将计算得到的进程数量的进程分配到各进程集群中,各进程集群并行对所有消息列队中的业务处理请求进行相应的逻辑的处理。
下面将结合图6进一步阐述进程对业务处理请求进行处理的具体过程,在一个实施例中,步骤S2064中的利用各进程集群对消息队列中的业务处理请求进行并行处理,包括:
步骤s601,筛选消息队列的业务处理请求中与进程集群的消息处理逻辑相匹配的业务处理请求。
不同的业务处理请求和不同的消息处理逻辑相对应,所有消息列队中的业务处理请求并行进入所有进程集群,因此,可以先筛选出与进程集群的消息处理逻辑相匹配的业务处理请求。
步骤s602,对筛选出的业务处理请求的应用标识和令牌信息进行校验。
在具体实施过程中,对应用标识进行校验具体为查询该业务处理请求中携带的应用标识是否和预设的应用标识相匹配;对令牌信息进行校验的过程具体为发送动态令牌信息到用户端,接收用户端返回的动态令牌信息,和存储的令牌信息进行匹配,当令牌信息和应用标识都校验通过时,执行下一步的步骤;若令牌信息或应用标识校验失败,则返回校验失败的响应到用户端。
步骤s603,获取筛选的业务处理请求到达进程集群的时间,按照到达进程集群的时间对业务处理请求进行重排序。
由于消息处理逻辑依赖于事件发生的准确时间,即消息产生的时间,然而消费者处理消息时是按照消息达到的时间顺序处理,因此要按照事件发生的时间对消息进行重排序。
步骤s604,按照消息处理逻辑对筛选出的业务处理请求进行处理。
对于虚拟资产流转数据的业务处理请求,消息处理逻辑包括虚拟资产流转数据分配、虚拟资产流转数据消费、虚拟资产流转数据转账和虚拟资产流转数据兑换。
上述实施例中,结合图7所示,各个进程对业务处理请求进行处理的具体过程如下:
a、对业务处理请求进行筛选;
b、对筛选出的业务处理请求进行校验;
c、对校验通过的业务处理请求进程重排序;
d、按照消息处理逻辑进行处理。
上述筛选、校验和重排序的步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行,如先进行重排序、校验,再筛选然后按照业务处理逻辑进行处理等等。
如图8所示,针对消息处理逻辑为虚拟资产流转数据分配,以下详细阐述一个本发明的虚拟资产流转数据的处理过程:
(1)用户在业务服务方发送虚拟资产流转数据分配请求到Vcoin应用服务,图中以biz代表分配请求,请求中携带有用户信息和请求令牌的密钥,Vcoin应用服务对请求分配的虚拟资产流转数据类型进行判断,当应用信息无效时,返回不合法,即不存在的响应;
(2)若应用信息合法,Vcoin应用服务生成动态token,将生成的token发送到业务服务方,并存储该token到Mysql数据库中,业务服务方发起虚拟资产流转数据发放请求,请求中携带有流水号(用户的账户信息),还携带有token,校验业务服务方发送的token和Mysql数据库中缓存的token是否一致;
(3)若业务服务方发送的token不存在,那么发放失败;若业务服务方发送的token存在,那么校验用户的账户是否被冻结;若用户的账户被冻结,那么虚拟资产流转数据发送失败;若用户的账户没有被冻结,那么进一步对账户进行风控校验;若用户的账户为高危风险账号,那么虚拟资产流转数据发放失败;
(4)若用户的账户通过token校验、账户冻结校验、风控校验,则执行虚拟资产流转数据发放任务,并更新本地缓存,更新用户缓存,异步更新Mysql数据库缓存,执行对账,虚拟资产流转数据分配任务完成。
上述虚拟资产流转数据的分配过程中,先校验请求分配的虚拟资产流转数据的类型是否合法,当请求分配的虚拟资产流转数据类型合法时,将请求分配的虚拟资产流转数据分配到用户的相应类型的虚拟资产流转数据中。
如图9所示,针对消息处理逻辑为虚拟资产流转数据消费,以下详细阐述一个本发明的虚拟资产流转数据的处理过程:
(1)用户在业务服务方发送虚拟资产流转数据消费请求到Vcoin应用服务,图中以biz代表消费请求,请求中携带有用户信息和请求令牌的密钥,Vcoin应用服务对请求分配的虚拟资产流转数据类型进行判断,当应用信息无效时,返回不合法,即不存在的响应;
(2)若应用信息合法,Vcoin应用服务生成动态token(令牌),将生成的token发送到业务服务方,并存储该token到Mysql数据库中,业务服务方发起虚拟资产流转数据消费请求,请求中携带有流水号,还携带有token,校验业务服务方发送的token和Mysql数据库中缓存的token是否一致;
(3)若业务服务方发送的token不存在,那么发放失败;若业务服务方发送的token存在,那么校验用户的账户是否被冻结;若用户的账户被冻结,那么虚拟资产流转数据发送失败;若用户的账户没有被冻结,那么进一步对账户进行风控校验;若用户的账户为高危风险账号,那么虚拟资产流转数据消费失败;
(4)若用户的账户通过token校验、账户冻结校验、风控校验,则执行虚拟资产流转数据消费任务,通过余额预扣来判断用户的实时余额是否可以满足消费;若余额不足,则返回余额不足的响应,虚拟资产流转数据消费失败;
(5)若余额可以满足消费,执行消费任务,并更新本地缓存,更新用户账户缓存,异步更新Mysql数据库缓存,执行对账,虚拟资产流转数据消费任务完成。
上述虚拟资产流转数据消费过程中,先校验请求消费的虚拟资产流转数据的类型是否合法,当请求消费的虚拟资产流转数据类型合法时,判断余额是否满足消费,并执行消费扣除,可以对多种不同类型的虚拟资产流转数据执行消费任务,提高处理效率。
如图10所示,针对消息处理逻辑为虚拟资产流转数据转账,以下详细阐述一个本发明的虚拟资产流转数据的处理过程:
(1)用户在业务服务方发送虚拟资产流转数据转账请求到Vcoin应用服务,图中以biz代表转账请求,请求中携带有用户信息和请求令牌的密钥,Vcoin应用服务对请求分配的虚拟资产流转数据类型进行判断,当应用信息无效时,返回不合法,即不存在的响应;
(2)若应用信息合法,Vcoin应用服务生成动态token(令牌),将生成的token发送到业务服务方,并存储该token到Mysql数据库中,业务服务方发起虚拟资产流转数据转账请求,请求中携带有流水号和token,校验业务服务方发送的token和Mysql数据库中缓存的token是否一致;
(3)若业务服务方发送的token不存在,那么发放失败;若业务服务方发送的token存在,那么校验发起转账的用户和接收转账的用户是否被冻结;若某一用户的账户被冻结,那么虚拟资产流转数据转账失败;若发起转账的用户和接收转账的用户的账户都没有被冻结,那么进一步对发起转账的用户和接收转账的用户的账户进行风控校验;若某一用户的账户为高危风险账号,那么虚拟资产流转数据转账失败;
(4)若发起转账的用户和接收转账的用户的账户通过token校验、账户冻结校验、风控校验,则执行虚拟资产流转数据转账任务,通过余额预扣来判断用户的实时余额是否可以满足消费;若余额不足,则返回余额不足的响应,消费失败;
(5)若余额可以满足消费,Vcoin应用服务查询转账次数限制;若接收转账的用户接收转账次数超过限制次数,那么返回转账次数超限制的响应到业务服务方;若接收转账的用户接收转账次数没有超过限制次数,执行转账任务,并更新本地缓存,更新发起转账的用户和接收转账的用户的账户缓存,异步更新Mysql数据库缓存,执行对账,虚拟资产流转数据转账任务完成。
上述虚拟资产流转数据的转账过程中,先校验请求消费的虚拟资产流转数据的类型是否合法,当请求消费的虚拟资产流转数据类型合法时,通过token校验发起转账的用户身份,然后判断发起转账的用户余额是否满足转账;若余额满足转账,进一步校验转账次数是否超限制,然后再执行转账任务,通过统一的Vcoin系统对多种不同类型的虚拟资产流转数据执行转账任务,提高处理效率。
如图11所示,图11为一个实施例中虚拟资产流转数据的处理装置的结构示意图,本实施例中提供一种虚拟资产流转数据的处理装置,包括统计模块201、队列数量确定模块202和处理模块203,其中:
统计模块201,用于接收虚拟资产流转数据的业务处理请求,统计当前需要处理的业务处理请求数量;
队列数量确定模块202,用于根据业务处理请求数量获取消息队列数量,开启与消息队列数量相应的消息队列,并将业务处理请求存储至消息队列中;
处理模块203,用于根据消息队列数量确定进程数量,开启与进程数量相应的进程,读取消息队列中的业务处理请求并配置给各进程进行处理。
关于虚拟资产流转数据的处理装置的具体限定可以参见上文中对于虚拟资产流转数据的处理方法的限定,在此不再赘述。上述虚拟资产流转数据的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
如图12所示,图12为一个实施例中计算机设备的内部结构示意图。该计算机设备包括通过装置总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作装置、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种虚拟资产流转数据的处理方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种虚拟资产流转数据的处理方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如下步骤:接收虚拟资产流转数据的业务处理请求,统计当前需要处理的业务处理请求数量;根据业务处理请求数量获取消息队列数量,开启与消息队列数量相应的消息队列,并将业务处理请求存储至消息队列中;根据消息队列数量确定进程数量,开启与进程数量相应的进程,读取消息队列中的业务处理请求并配置给各进程进行处理。
在其中一个实施例中,处理器执行计算机程序时根据个性化信息对分类主题进行重排序的步骤,包括:根据消息队列数量确定进程数量的步骤,包括:获取进程的线程承载量;其中,线程承载量为单个进程中所承载的线程数量;根据消息列队数量以及线程承载量确定进程数量。
在其中一个实施例中,处理器执行计算机程序时获取进程的线程承载量的步骤,包括:输入测试消息到进程中,并持续增加单个进程中的线程数量;获取测试消息的查询率和响应时间,根据查询率和响应时间确定单个进程中的线程数量,根据线程数量确定进程的线程承载量。
在其中一个实施例中,处理器执行计算机程序时根据消息列队数量以及线程承载量确定进程数量的步骤,包括:
N=M/T
其中,N为进程数量,M为消息列队数量;T为线程承载量。
在其中一个实施例中,处理器执行计算机程序时读取消息队列中的业务处理请求并配置给各进程进行处理的步骤,包括:创建多个进程集群,将所开启的进程数量的进程配置到各进程集群中;其中,各进程集群设置有相应的消息处理逻辑;利用各进程集群对消息队列中的业务处理请求进行并行处理。
在其中一个实施例中,处理器执行计算机程序时利用各进程集群对消息队列中的业务处理请求进行并行处理的步骤,包括:筛选消息队列的业务处理请求中与进程集群的消息处理逻辑相匹配的业务处理请求,并按照消息处理逻辑对筛选出的业务处理请求进行处理。
在其中一个实施例中,处理器执行计算机程序时业务处理请求携带有应用标识和令牌信息;按照消息处理逻辑对查找到的业务处理请求进行处理的步骤之前,还包括:对筛选出的业务处理请求的应用标识和令牌信息进行校验;若应用标识与预设应用标识相匹配,且令牌信息和预设令牌信相匹配,则执行按照消息处理逻辑对筛选出的业务处理请求进行处理的步骤。
在其中一个实施例中,处理器执行计算机程序时按照消息处理逻辑对筛选出的业务处理请求进行处理的步骤之前,还包括:获取筛选的业务处理请求到达进程集群的时间,按照到达进程集群的时间对业务处理请求进行重排序。
在其中一个实施例中,处理器执行计算机程序时消息处理逻辑包括虚拟资产流转数据分配、虚拟资产流转数据消费、虚拟资产流转数据转账和虚拟资产流转数据兑换。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如下步骤:接收虚拟资产流转数据的业务处理请求,统计当前需要处理的业务处理请求数量;根据业务处理请求数量获取消息队列数量,开启与消息队列数量相应的消息队列,并将业务处理请求存储至消息队列中;根据消息队列数量确定进程数量,开启与进程数量相应的进程,读取消息队列中的业务处理请求并配置给各进程进行处理。
在其中一个实施例中,计算机可读指令被处理器执行时根据个性化信息对分类主题进行重排序的步骤,包括:根据消息队列数量确定进程数量的步骤,包括:获取进程的线程承载量;其中,线程承载量为单个进程中所承载的线程数量;根据消息列队数量以及线程承载量确定进程数量。
在其中一个实施例中,计算机可读指令被处理器执行时获取进程的线程承载量的步骤,包括:输入测试消息到进程中,并持续增加单个进程中的线程数量;获取测试消息的查询率和响应时间,根据查询率和响应时间确定单个进程中的线程数量,根据线程数量确定进程的线程承载量。
在其中一个实施例中,计算机可读指令被处理器执行时根据消息列队数量以及线程承载量确定进程数量的步骤,包括:
N=M/T
其中,N为进程数量,M为消息列队数量;T为线程承载量。
在其中一个实施例中,计算机可读指令被处理器执行时读取消息队列中的业务处理请求并配置给各进程进行处理的步骤,包括:创建多个进程集群,将所开启的进程数量的进程配置到各进程集群中;其中,各进程集群设置有相应的消息处理逻辑;利用各进程集群对消息队列中的业务处理请求进行并行处理。
在其中一个实施例中,计算机可读指令被处理器执行时利用各进程集群对消息队列中的业务处理请求进行并行处理的步骤,包括:筛选消息队列的业务处理请求中与进程集群的消息处理逻辑相匹配的业务处理请求,并按照消息处理逻辑对筛选出的业务处理请求进行处理。
在其中一个实施例中,计算机可读指令被处理器执行时业务处理请求携带有应用标识和令牌信息;按照消息处理逻辑对查找到的业务处理请求进行处理的步骤之前,还包括:对筛选出的业务处理请求的应用标识和令牌信息进行校验;若应用标识与预设应用标识相匹配,且令牌信息和预设令牌信相匹配,则执行按照消息处理逻辑对筛选出的业务处理请求进行处理的步骤。
在其中一个实施例中,计算机可读指令被处理器执行时按照消息处理逻辑对筛选出的业务处理请求进行处理的步骤之前,还包括:获取筛选的业务处理请求到达进程集群的时间,按照到达进程集群的时间对业务处理请求进行重排序。
在其中一个实施例中,计算机可读指令被处理器执行时消息处理逻辑包括虚拟资产流转数据分配、虚拟资产流转数据消费、虚拟资产流转数据转账和虚拟资产流转数据兑换。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种虚拟资产流转数据的处理方法,其特征在于,包括如下步骤:
接收虚拟资产流转数据的业务处理请求,统计当前需要处理的业务处理请求数量;
根据所述业务处理请求数量获取消息队列数量,开启与所述消息队列数量相应的消息队列,并将所述业务处理请求存储至所述消息队列中;
根据所述消息队列数量确定进程数量,开启与所述进程数量相应的进程,读取所述消息队列中的业务处理请求并配置给各所述进程进行处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述消息队列数量确定进程数量的步骤,包括:
获取所述进程的线程承载量;其中,所述线程承载量为单个所述进程中所承载的线程数量;
根据所述消息列队数量以及所述线程承载量确定所述进程数量。
3.根据权利要求2所述的方法,其特征在于,所述获取所述进程的线程承载量的步骤,包括:
输入测试消息到所述进程中,并持续增加单个所述进程中的线程数量;
获取所述测试消息的查询率和响应时间,根据所述查询率和响应时间确定单个所述进程中的线程数量,根据所述线程数量确定所述进程的线程承载量。
4.根据权利要求2所述的方法,其特征在于,所述根据所述消息列队数量以及所述线程承载量确定所述进程数量的步骤,包括:
N=M/T
其中,N为所述进程数量,M为所述消息列队数量;T为所述线程承载量。
5.根据所述权利要求1所述的方法,其特征在于,所述读取所述消息队列中的业务处理请求并配置给各所述进程进行处理的步骤,包括:
创建多个进程集群,将所开启的进程数量的进程配置到各所述进程集群中;其中,各所述进程集群设置有相应的消息处理逻辑;
利用各所述进程集群对所述消息队列中的业务处理请求进行并行处理。
6.根据所述权利要求5所述的方法,其特征在于,所述利用各所述进程集群对所述消息队列中的业务处理请求进行并行处理的步骤,包括:
筛选所述消息队列的业务处理请求中与所述进程集群的消息处理逻辑相匹配的业务处理请求,并按照所述消息处理逻辑对筛选出的业务处理请求进行处理。
7.根据权利要求6所述的方法,其特征在于,所述业务处理请求携带有应用标识和令牌信息;
所述按照所述消息处理逻辑对查找到的所述业务处理请求进行处理的步骤之前,还包括:
对筛选出的所述业务处理请求的所述应用标识和令牌信息进行校验;
若所述应用标识与预设应用标识相匹配,且所述令牌信息和预设令牌信相匹配,则执行所述按照所述消息处理逻辑对筛选出的业务处理请求进行处理的步骤。
8.根据权利要求6所述的方法,其特征在于,所述按照所述消息处理逻辑对筛选出的业务处理请求进行处理的步骤之前,还包括:
获取筛选的业务处理请求到达所述进程集群的时间,按照到达所述进程集群的时间对所述业务处理请求进行重排序。
9.根据权利要求6所述的方法,其特征在于,所述消息处理逻辑包括虚拟资产流转数据分配、虚拟资产流转数据消费、虚拟资产流转数据转账和虚拟资产流转数据兑换。
10.一种虚拟资产流转数据的处理装置,其特征在于,包括:
统计模块,用于接收虚拟资产流转数据的业务处理请求,统计当前需要处理的业务处理请求数量;
队列数量确定模块,用于根据所述业务处理请求数量获取消息队列数量,开启与所述消息队列数量相应的消息队列,并将所述业务处理请求存储至所述消息队列中;
处理模块,用于根据所述消息队列数量确定进程数量,开启与所述进程数量相应的进程,读取所述消息队列中的业务处理请求并配置给各所述进程进行处理。
11.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,其特征在于,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述虚拟资产流转数据的处理方法的步骤。
12.一种计算机可读存储介质,存储有计算机可读指令,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至9中任一项所述虚拟资产流转数据的处理方法的步骤。
CN201910371745.1A 2019-05-06 2019-05-06 虚拟资产流转数据的处理方法、装置和计算机设备 Pending CN110134531A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910371745.1A CN110134531A (zh) 2019-05-06 2019-05-06 虚拟资产流转数据的处理方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910371745.1A CN110134531A (zh) 2019-05-06 2019-05-06 虚拟资产流转数据的处理方法、装置和计算机设备

Publications (1)

Publication Number Publication Date
CN110134531A true CN110134531A (zh) 2019-08-16

Family

ID=67576469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910371745.1A Pending CN110134531A (zh) 2019-05-06 2019-05-06 虚拟资产流转数据的处理方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN110134531A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750513A (zh) * 2019-09-17 2020-02-04 福建天泉教育科技有限公司 数据库动态扩容的方法、存储介质
CN110888726A (zh) * 2019-11-25 2020-03-17 中冶赛迪重庆信息技术有限公司 一种多任务并发处理方法及系统
CN112445625A (zh) * 2019-08-27 2021-03-05 北京国双科技有限公司 数据处理方法及装置
CN113704297A (zh) * 2021-08-03 2021-11-26 深圳兆日科技股份有限公司 业务处理请求的处理方法、模块及计算机可读存储介质
CN115866039A (zh) * 2022-11-29 2023-03-28 北京达佳互联信息技术有限公司 消息处理方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060107261A1 (en) * 2004-11-18 2006-05-18 Oracle International Corporation Providing Optimal Number of Threads to Applications Performing Multi-tasking Using Threads
US7653905B1 (en) * 2004-09-08 2010-01-26 American Express Travel Related Services Company, Inc. System and method for management of requests
US8205202B1 (en) * 2008-04-03 2012-06-19 Sprint Communications Company L.P. Management of processing threads
CN103810048A (zh) * 2014-03-11 2014-05-21 国家电网公司 一种面向资源利用最优的线程数量自动调整方法及装置
CN104750543A (zh) * 2013-12-26 2015-07-01 杭州华为数字技术有限公司 线程创建方法、业务请求处理方法及相关设备
CN106856475A (zh) * 2015-12-08 2017-06-16 佳能株式会社 授权服务器以及认证协作系统
CN107872398A (zh) * 2017-06-25 2018-04-03 平安科技(深圳)有限公司 高并发数据处理方法、装置及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653905B1 (en) * 2004-09-08 2010-01-26 American Express Travel Related Services Company, Inc. System and method for management of requests
US20060107261A1 (en) * 2004-11-18 2006-05-18 Oracle International Corporation Providing Optimal Number of Threads to Applications Performing Multi-tasking Using Threads
US8205202B1 (en) * 2008-04-03 2012-06-19 Sprint Communications Company L.P. Management of processing threads
CN104750543A (zh) * 2013-12-26 2015-07-01 杭州华为数字技术有限公司 线程创建方法、业务请求处理方法及相关设备
CN103810048A (zh) * 2014-03-11 2014-05-21 国家电网公司 一种面向资源利用最优的线程数量自动调整方法及装置
CN106856475A (zh) * 2015-12-08 2017-06-16 佳能株式会社 授权服务器以及认证协作系统
CN107872398A (zh) * 2017-06-25 2018-04-03 平安科技(深圳)有限公司 高并发数据处理方法、装置及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
文放怀,主编: "优秀生产跟单员", vol. 2005, 广东经济出版社, pages: 90 - 100 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445625A (zh) * 2019-08-27 2021-03-05 北京国双科技有限公司 数据处理方法及装置
CN110750513A (zh) * 2019-09-17 2020-02-04 福建天泉教育科技有限公司 数据库动态扩容的方法、存储介质
CN110888726A (zh) * 2019-11-25 2020-03-17 中冶赛迪重庆信息技术有限公司 一种多任务并发处理方法及系统
CN113704297A (zh) * 2021-08-03 2021-11-26 深圳兆日科技股份有限公司 业务处理请求的处理方法、模块及计算机可读存储介质
CN113704297B (zh) * 2021-08-03 2024-02-23 深圳兆日科技股份有限公司 业务处理请求的处理方法、模块及计算机可读存储介质
CN115866039A (zh) * 2022-11-29 2023-03-28 北京达佳互联信息技术有限公司 消息处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN110134531A (zh) 虚拟资产流转数据的处理方法、装置和计算机设备
EP2923479B1 (en) Method and apparatus for controlling utilization in a horizontally scaled software application
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
CN105103506B (zh) 用于为云计算网络中的非均匀带宽请求分配带宽的方法和系统
Wang et al. Proportional-Share Scheduling for Distributed Storage Systems.
Khazaei et al. Performance of cloud centers with high degree of virtualization under batch task arrivals
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
CN111901249B (zh) 业务限流方法、装置、设备及存储介质
CN106899680A (zh) 多区块链的分片处理方法和装置
CN109298936A (zh) 一种资源调度方法及装置
CN103607424B (zh) 一种服务器连接方法及服务器系统
CN105306277A (zh) 消息队列的消息调度方法及消息调度装置
CN102197386A (zh) 远程计算会话中的文件类型关联
CN110139114A (zh) 虚拟资产数据的处理方法、装置、计算机设备和存储介质
Xiao et al. Edgetoll: A blockchain-based toll collection system for public sharing of heterogeneous edges
CN108829519A (zh) 基于云平台的任务调度方法、云平台及计算机可读存储介质
CN109615022A (zh) 模型上线配置方法和装置
CN106453139A (zh) 数据包调度的方法及装置
CN106992944A (zh) 一种无线虚拟网络中的资源映射方法
CN113181634A (zh) 游戏数据处理方法及装置、系统、电子设备和存储介质
CN108351838A (zh) 使用聚合存储器管理单元(mmu)提供存储器管理功能
CN111222885B (zh) 数据处理请求背书方法、装置、计算机设备及存储介质
CN107122446A (zh) 一种银行多系统间用户手机号码的同步控制方法及系统
CN111124672A (zh) 基于Redis集群的数据分配的方法及相关设备
US7646717B1 (en) Method and apparatus for packet scheduling

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
TA01 Transfer of patent application right

Effective date of registration: 20210115

Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 511442 29 floor, block B-1, Wanda Plaza, Huambo business district, Panyu District, Guangzhou, Guangdong.

Applicant before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190816

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000054

Denomination of invention: Processing method, device and computer equipment of virtual assets circulation data

License type: Common License

Record date: 20210208

EE01 Entry into force of recordation of patent licensing contract
RJ01 Rejection of invention patent application after publication

Application publication date: 20190816