CN110852603A - 高吞吐量的风控数据处理方法、装置、设备及存储介质 - Google Patents
高吞吐量的风控数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110852603A CN110852603A CN201911084478.6A CN201911084478A CN110852603A CN 110852603 A CN110852603 A CN 110852603A CN 201911084478 A CN201911084478 A CN 201911084478A CN 110852603 A CN110852603 A CN 110852603A
- Authority
- CN
- China
- Prior art keywords
- callback function
- event
- monitored
- operating system
- queue
- 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
Images
Classifications
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0635—Risk analysis of enterprise or organisation activities
-
- 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/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明属于互联网风控技术领域,公开了一种高吞吐量的风控数据处理方法、装置、设备及存储介质。该方法包括:通过接收业务***中的初始回调函数队列,对所述初始回调函数队列中对应的事件回调函数进行处理,根据所述处理结果选取待处理事件回调函数,将所述请求回调函数加入事件轮询队列,并从所述事件轮询队列中遍历操作***事件信号列表,然后判断所述操作***事件信号列表中的目标数据信息是否存在数据变动,所述目标数据信息为所述请求回调函数对应的数据信息,最后若所述目标数据信息存在数据变动,则判定所述请求回调函数完成处理。通过上述方式,提高了业务***的负载能力和响应速度,从而提高了用户体验。
Description
技术领域
本发明涉及互联网风控技术领域,尤其涉及一种高吞吐量的风控数据处理方法、装置、设备及存储介质。
背景技术
在目前的企业风控技术领域,用户每次访问企业的业务***时,业务***都需要将本次请求相关的信息发送给风控***,并等待风控***进行运算,在风控***运算完成并给予判定结果之前,业务***将持续处于等待状态,无法处理下一个用户的访问请求。由于接入了风控***,导致企业的业务***处理的负载能力被大幅度降低,此外,业务***还会在某个威胁情报库中对用户的特征数据进行查找匹配,由于数据库查询是一个非常缓慢的操作,此时业务***对用户的响应速度就会非常缓慢,直接影响到了产品的用户体验。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种高吞吐量的风控数据处理方法、装置、设备及存储介质,旨在解决在现有技术下,业务***由于接入风控***所带来的负载能力降低和响应延迟的技术问题。
为实现上述目的,本发明提供了一种高吞吐量的风控数据处理方法,所述方法包括以下步骤:
接收业务***中的初始回调函数队列,对所述初始回调函数队列中对应的事件回调函数进行处理;
根据所述处理结果选取待处理事件回调函数,并将所述待处理事件回调函数作为请求回调函数;
将所述请求回调函数加入事件轮询队列,并从所述事件轮询队列中遍历操作***事件信号列表;
判断所述操作***事件信号列表中的目标数据信息是否存在数据变动,所述目标数据信息为所述请求回调函数对应的数据信息;
若所述目标数据信息存在数据变动,则判定所述请求回调函数完成处理。
优选地,所述接收业务***中的初始回调函数队列的步骤之后,还包括:
获取所述初始回调函数队列中对应的事件回调函数;
根据所述事件回调函数,获取所述事件回调函数对应的对象的地址、待监听的文件描述符、返回数据的地址和监听的操作***信号;
根据所述对象的地址、所述待监听的文件描述符、所述返回数据的地址和所述监听的操作***信号建立操作***事件信号表;
其中,所述数据信息包括:所述待监听的文件描述符和/或所述返回数据的地址和/或所述监听的操作***信号。
优选地,所述对所述初始回调函数队列中对应的事件回调函数进行处理的步骤,包括:
在所述初始回调函数队列中,对所述事件回调函数进行遍历;
判断所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址是否存在信息变动和/或所述监听的操作***信号是否被发出;
若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址存在数据变动和/或所述监听的操作***信号被发出,则判定所述事件回调函数完成处理;
若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述初始回调函数队列中选取所述事件回调函数。
优选地,所述对所述事件回调函数进行遍历的步骤,包括:
根据所述操作***信号列表获取所述事件回调函数对应的待监听的文件描述符;
根据所述待监听的文件描述符查找相对应的调用接口;
在所述调用接口中,对所述事件回调函数进行遍历。
优选地,所述判断所述操作***信号列表中的目标数据信息是否存在数据变动,所述目标数据信息为所述请求回调函数对应的数据信息的步骤,包括:
根据所述操作***信号列表,获取所述请求回调函数对应的对象的地址、待监听的文件描述符、返回数据的地址和监听的操作***信号;
根据所述待监听的文件描述符查找相对应的调用接口;
根据所述事件轮询队列,在所述调用接口中对所述请求回调函数进行遍历;
判断所述请求回调函数对应的待监听的文件描述符和/或返回数据的地址是否存在信息变动和/或所述监听的操作***信号是否被发出。
优选地,所述判断所述请求回调函数对应的待监听的文件描述符和/或返回数据的地址是否存在信息变动和/或所述监听的操作***信号是否被发出的步骤之后,还包括:
若所述请求回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述事件轮询队列中选取所述请求回调函数;
将所述选取的请求回调函数重新加入所述事件轮询队列中,直至所述请求回调函数对应的待监听的文件描述符和/或返回数据的地址存在数据变动和/或所述监听的操作***信号被发出。
优选地,所述将所述请求回调函数加入事件轮询队列的步骤,包括:
根据所述初始回调函数队列,对所述请求回调函数进行排序;
根据所述排序结果,将所述请求回调函数依次加入事件轮询队列。
此外,为实现上述目的,本发明还提出一种高吞吐量的风控数据处理装置,所述装置包括:接收模块,用于接收业务***中的初始回调函数队列,对所述初始回调函数队列中对应的事件回调函数进行处理;
选取模块,用于根据所述处理结果选取待处理事件回调函数,并将所述待处理事件回调函数作为请求回调函数;
加入模块,用于将所述请求回调函数加入事件轮询队列,并从所述事件轮询队列中遍历操作***事件信号列表;
判断模块,用于判断所述操作***事件信号列表中的目标数据信息是否存在数据变动,所述目标数据信息为所述请求回调函数对应的数据信息;
判定模块,用于若所述目标数据信息存在数据变动,则判定所述请求回调函数完成处理。
此外,为实现上述目的,本发明还提出一种电子设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的高吞吐量的风控数据处理程序,所述高吞吐量的风控数据处理程序配置为实现如上述任一项所述的高吞吐量的风控数据处理方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有高吞吐量的风控数据处理程序,所述高吞吐量的风控数据处理程序被处理器执行时实现如上述任一项所述的高吞吐量的风控数据处理方法的步骤。
本发明通过接收业务***中的初始回调函数队列,对所述初始回调函数队列中对应的事件回调函数进行处理,根据所述处理结果选取待处理事件回调函数,并将所述待处理事件回调函数作为请求回调函数,然后将所述请求回调函数加入事件轮询队列,并从所述事件轮询队列中遍历操作***事件信号列表,判断所述操作***事件信号列表中的目标数据信息是否存在数据变动,所述目标数据信息为所述请求回调函数对应的数据信息,若所述目标数据信息存在数据变动,则判定所述请求回调函数完成处理,若所述目标数据信息未存在数据变动,则将所述请求回调函数重新加入事件轮询队列中,并对所述请求回调函数重新进行处理,直至存在数据变动,通过上述的方法,提高了业务***的负载能力,从而也提高了业务***的响应速度。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
图2为本发明高吞吐量的风控数据处理方法第一实施例的流程示意图;
图3为本发明高吞吐量的风控数据处理方法第二实施例的流程示意图;
图4为本发明高吞吐量的风控数据处理装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的电子设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及高吞吐量的风控数据处理程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在电子设备中,所述电子设备通过处理器1001调用存储器1005中存储的高吞吐量的风控数据处理程序,并执行本发明实施例提供的高吞吐量的风控数据处理方法。
本发明实施例提供了一种高吞吐量的风控数据处理方法,参照图2,图2为本发明一种高吞吐量的风控数据处理方法第一实施例的流程示意图。
本实施例中,所述高吞吐量的风控数据处理方法包括以下步骤:
步骤S10:接收业务***中的初始回调函数队列,对所述初始回调函数队列中对应的事件回调函数进行处理。
需要说明的是,根据企业业务***的需求,预先定义由业务标识及相应处理函数组成的事件轮询队列,之后根据业务***所传入的业务标识,在业务***中获取事件回调函数,并将所述事件回调函数加入初始回调函数队列中,之后所述业务***将根据所述初始回调函数队列的顺序,将所述事件回调函数传递给风控数据处理装置,进行处理。
应理解的是,在所述事件回调函数传递给风控数据处理装置时,所述业务***会重新获取新一批的事件回调函数,从而不用等待所述风控数据处理的判定结果,从而避免了阻塞等待导致的负载能力降低,响应延迟加大的问题。
此外,需要说明的是,在所述风控数据处理装置接收业务***中的初始回调函数队列之后,获取所述初始回调函数队列中的事件回调函数对应的对象的地址、待监听的文件描述符、返回数据的地址和监听的操作***信号,并根据所述对象的地址、待监听的文件描述符、返回数据的地址和监听的操作***信号建立操作***事件信号列表。
此外,应理解的是,在所述风控处理装置进行处理时,需对所述初始回调函数队列中的事件回调函数进行遍历,之后获取所述事件回调函数对应的待监听的文件描述符,根据所述待监听的文件描述符查找所述事件回调函数相对应的接口,例如,如果是读数据操作,则是相应读接口;如果是外部风控***调用,则是相应的调用接口等,之后将所述外部调用接口中的数据信息同步到当前内存中,从而减少每次从外部数据库中进行查找的延迟,然后并根据所述操作***事件信号列表判断所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址在预设时间阈值范围内是否存在信息变动和/或所述监听的操作***信号是否被发出,若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址在预设时间阈值范围内存在数据变动和/或所述监听的操作***信号被发出,则判定所述事件回调函数完成处理;若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述初始回调函数队列中选取所述事件回调函数。
此外,为了便于理解,以下进行举例说明:
假设,所述初始回调函数队列中包含3件事件回调函数,将所述3件事件回调函数分别命名为a、b、c,将它们按照所述初始回调函数队列传递给所述风控数据处理装置中进行处理,在进行a处理时,在风控处理装置中进行处理,并查找到所述事件回调函数对应的调用接口,并存在所述待监听的文件描述符和/或返回数据的地址和/或所述监听的操作***信号被发出,则所述事件回调函数a处理完成,在进行b处理时,在风控处理装置中进行处理时,并查找到所述事件回调函数对应的调用接口进行记录,同时未存在所述待监听的文件描述符和/或返回数据的地址和/或所述监听的操作***信号未被发出,则将所述事件回调函数b在所述初始回调函数队列中选取出来,在进行c处理时,在风控处理装置中进行处理时,并查找到所述事件回调函数对应的调用接口进行记录,同时未存在所述待监听的文件描述符和/或返回数据的地址和/或所述监听的操作***信号未被发出,则将所述事件回调函数c在所述初始回调函数队列中选取出来。
步骤S20:根据所述处理结果选取待处理事件回调函数,并将所述待处理事件回调函数作为请求回调函数。
需要说明的是,将所述待处理事件回调函数根据所述处理结果进行选取,将选取出来的事件回调函数作为请求回调函数,同时将业务***传入的外包部参数作为请求回调函数的实际参数传入。
此外,为了便于理解以下进行举例说明:
根据上述举例可知,将所述事件回调函数b和c从所述初始回调函数队列中选取出来,所述事件回调函数b和c,作为请求回调函数。
步骤S30:将所述请求回调函数加入事件轮询队列,并从所述事件轮询队列中遍历操作***事件信号列表。
需要说明的是,根据所述初始回调函数队列,对所述请求回调函数进行排序,并根据所述排序结果,将所述请求回调函数依次加入事件轮询队列中,并为其注册特定的操作***信号,并加入***时间信号列表中,并在所述事件轮询队列中,根据排序结果查看操作***事件信号列表,其中所述操作***事件信号列表中包括事件回调函数对应的对象的地址、待监听的文件描述符和返回数据的地址和所述监听的操作***信号。
此外,应理解的是,为了便于理解,以下进行举例说明:
根据上述中的举例,所述请求回调函数b和c在所述初始回调函数队列中的顺序为b、c,则按所述顺序依次加入事件轮询队列中,所述事件轮询队列中的顺序也为b、c,之后按照b和c的顺序,查看所述请求回调函数b和c对应的顺序循环查看所述操作***事件信号列表。
步骤S40:判断所述操作***事件信号列表中的目标数据信息是否存在数据变动,所述目标数据信息为所述请求回调函数对应的数据信息。
需要说明的是,根据所述操作***事件信号列表,获取所述请求回调函数对应的对象的地址、待监听的文件描述符、返回数据的地址和所述监听的操作***信号,根据所述待监听的文件描述符查找相对应的调用接口,根据所述事件轮询队列,在所述调用接口中对所述请求回调函数进行遍历,并判断所述请求回调函数对应的待监听的文件描述符和返回数据的地址是否存在信息变动和/或所述监听的操作***信号是否被发出,并将所述待监听的文件描述符和返回数据的地址和所述监听的操作***信号作为数据信息。
此外,应理解的是,所述风控处理装置会按照先入先出的原则,逐个对所述事件轮询队列中的请求回调函数进行处理,在查找到相对应的调用接口后,对所述请求回调函数进行判断,在预设时间阈值范围内,查看所述操作***事件信号列表中所述请求回调函数对应的返回数据的地址和待监听的文件描述符是否存在数据返回或者完成数据处理和/或所述监听的操作***信号是否被发出,若存在数据返回或完成数据处理和/或所述监听的操作***信号被发出,则将所述返回的风控判定的结果返回给业务***。
此外,需要说明的是,在进行数据处理时,不需要等待风控处理装置中的判定结果,直接执行下一个所述请求回调函数的处理。
步骤S50:若所述目标数据信息存在数据变动,则判定所述请求回调函数完成处理。
需要说明的是,在所述操作***事件信号列表中进行循环遍历,若所述请求回调函数对应的数据信息存在数据变动和/或所述监听的操作***信号被发出,则判定所述请求回调函数完成处理,若所述请求回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述事件轮询队列中选取所述请求回调函数。
本实施例通过接收业务***中的初始回调函数队列,对所述初始回调函数队列中对应的事件回调函数进行处理,根据所述处理结果选取待处理事件回调函数,并将所述待处理事件回调函数作为请求回调函数,根据所述操作***事件信号列表,获取所述请求回调函数对应的对象的地址、待监听的文件描述符和返回数据的地址和所述监听的操作***信号,根据所述待监听的文件描述符查找相对应的调用接口,根据所述事件轮询队列,在所述调用接口中对所述请求回调函数进行遍历,之后判断所述请求回调函数对应的待监听的文件描述符和返回数据的地址是否存在信息变动和/或所述监听的操作***信号是否被发出,若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述初始回调函数队列中选取所述事件回调函数,将所述选取的事件回调函数加入事件轮询队列,并将所述选取的事件回调函数作为请求回调函数,在所述事件轮询队列中,判断所述请求回调函数对应的数据信息是否存在数据变动,若所述请求回调函数对应的数据信息存在数据变动,则判定所述请求回调函数完成处理,实现了业务***的负载能力和响应速度的提高,从而大大提高了用户体验。
参考图3,图3为本发明一种高吞吐量的风控数据处理方法第二实施例的流程示意图。
基于上述第一实施例,本实施例高吞吐量的风控数据处理方法在所述步骤S10,还包括:
步骤S101:获取所述初始回调函数队列中对应的事件回调函数。
步骤S102:根据所述事件回调函数,获取所述事件回调函数对应的对象的地址、待监听的文件描述符、返回数据的地址和监听的操作***信号。
步骤S103:根据所述对象的地址、所述待监听的文件描述符、所述返回数据的地址和所述监听的操作***信号建立操作***事件信号表。
步骤S104:在所述初始回调函数队列中,根据所述操作***事件信号列表获取所述事件回调函数对应的待监听的文件描述符。
步骤S105:根据所述待监听的文件描述符查找相对应的调用接口。
步骤S106:在所述调用接口中,对所述事件回调函数进行遍历。
步骤S107:判断所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址是否存在信息变动和/或所述监听的操作***信号是否被发出。
步骤S108:若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址存在数据变动和/或所述监听的操作***信号被发出,则判定所述事件回调函数完成处理。
步骤S109:若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述初始回调函数队列中选取所述事件回调函数。
需要说明的是,根据企业业务***的需求,预先定义由业务标识及相应处理函数组成的事件轮询队列,之后根据业务***所传入的业务标识,在业务***中获取事件回调函数,并将所述事件回调函数加入初始回调函数队列中,之后所述业务***将根据所述初始回调函数队列的顺序,将所述事件回调函数传递给风控数据处理装置,进行处理。
应理解的是,在所述事件回调函数传递给风控数据处理装置时,所述业务***会重新获取新一批的事件回调函数,从而不用等待所述风控数据处理的判定结果,从而避免了阻塞等待导致的负载能力降低,响应延迟加大的问题。
此外,需要说明的是,在所述风控数据处理装置接收业务***中的初始回调函数队列之后,获取所述初始回调函数队列中的事件回调函数对应的对象的地址、待监听的文件描述符、返回数据的地址和监听的操作***信号,并根据所述对象的地址、待监听的文件描述符、返回数据的地址和监听的操作***信号建立操作***事件信号列表。
此外,应理解的是,在所述风控处理装置进行处理时,需对所述初始回调函数队列中的事件回调函数进行遍历,之后获取所述事件回调函数对应的待监听的文件描述符,根据所述待监听的文件描述符查找所述事件回调函数相对应的接口,例如,如果是读数据操作,则是相应读接口;如果是外部风控***调用,则是相应的调用接口等,之后将所述外部调用接口中的数据信息同步到当前内存中,从而减少每次从外部数据库中进行查找的延迟,然后并根据所述操作***事件信号列表判断所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址在预设时间阈值范围内是否存在信息变动和/或所述监听的操作***信号是否被发出,若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址在预设时间阈值范围内存在数据变动和/或所述监听的操作***信号被发出,则判定所述事件回调函数完成处理;若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述初始回调函数队列中选取所述事件回调函数。
此外,为了便于理解,以下进行举例说明:
假设,所述初始回调函数队列中包含3件事件回调函数,将所述3件事件回调函数分别命名为a、b、c,将它们按照所述初始回调函数队列传递给所述风控数据处理装置中进行处理,在进行a处理时,在风控处理装置中进行处理,并查找到所述事件回调函数对应的调用接口,并存在所述待监听的文件描述符和/或返回数据的地址和/或所述监听的操作***信号被发出,则所述事件回调函数a处理完成,在进行b处理时,在风控处理装置中进行处理时,并查找到所述事件回调函数对应的调用接口进行记录,同时未存在所述待监听的文件描述符和/或返回数据的地址和/或所述监听的操作***信号未被发出,则将所述事件回调函数b在所述初始回调函数队列中选取出来,在进行c处理时,在风控处理装置中进行处理时,并查找到所述事件回调函数对应的调用接口进行记录,同时未存在所述待监听的文件描述符和/或返回数据的地址和/或所述监听的操作***信号未被发出,则将所述事件回调函数c在所述初始回调函数队列中选取出来。
本实施例通过本实施例通过获取初始回调函数队列中对应的事件回调函数,根据所述事件回调函数,获取所述事件回调函数对应的对象的地址、待监听的文件描述符、返回数据的地址和监听的操作***信号,根据所述对象的地址、所述待监听的文件描述符、所述返回数据的地址和所述监听的操作***信号建立操作***事件信号列表,在所述初始回调函数队列中,根据所述操作***事件信号列表,获取所述事件回调函数对应的待监听的文件描述符,根据所述待监听的文件描述符查找相对应的调用接口,在所述调用接口中,对所述事件回调函数进行遍历,判断所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址是否存在信息变动和/或所述监听的操作***信号是否被发出,若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址存在数据变动和/或所述监听的操作***信号被发出,则判定所述事件回调函数完成处理,若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述初始回调函数队列中选取所述事件回调函数,从而提高了业务***的负载能力。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有高吞吐量的风控数据处理程序,所述高吞吐量的风控数据处理程序被处理器执行时实现如上文所述的高吞吐量的风控数据处理方法的步骤。
参照图4,图4为本发明高吞吐量的风控数据处理装置第一实施例的结构框图。
如图4所示,本发明实施例提出的高吞吐量的风控数据处理装置包括:接收模块4001,用于接收业务***中的初始回调函数队列,对所述初始回调函数队列中对应的事件回调函数进行处理;选取模块4002,用于根据所述处理结果选取待处理事件回调函数,并将所述待处理事件回调函数作为请求回调函数;加入模块4003,用于将所述请求回调函数加入事件轮询队列,并从所述事件轮询队列中遍历操作***事件信号列表;判断模块4004,用于判断所述操作***事件信号列表中的目标数据信息是否存在数据变动,所述目标数据信息为所述请求回调函数对应的数据信息;判定模块4005,用于若所述目标数据信息存在数据变动,则判定所述请求回调函数完成处理。
所述接收模块4001接收业务***中的初始回调函数队列,对所述初始回调函数队列中对应的事件回调函数进行处理的操作。
需要说明的是,根据企业业务***的需求,预先定义由业务标识及相应处理函数组成的事件轮询队列,之后根据业务***所传入的业务标识,在业务***中获取事件回调函数,并将所述事件回调函数加入初始回调函数队列中,之后所述业务***将根据所述初始回调函数队列的顺序,将所述事件回调函数传递给风控数据处理装置,进行处理。
应理解的是,在所述事件回调函数传递给风控数据处理装置时,所述业务***会重新获取新一批的事件回调函数,从而不用等待所述风控数据处理的判定结果,从而避免了阻塞等待导致的负载能力降低,响应延迟加大的问题。
此外,需要说明的是,在所述风控数据处理装置接收业务***中的初始回调函数队列之后,获取所述初始回调函数队列中的事件回调函数对应的对象的地址、待监听的文件描述符、返回数据的地址和监听的操作***信号,并根据所述对象的地址、待监听的文件描述符、返回数据的地址和监听的操作***信号建立操作***事件信号列表。
此外,应理解的是,在所述风控处理装置进行处理时,需对所述初始回调函数队列中的事件回调函数进行遍历,之后获取所述事件回调函数对应的待监听的文件描述符,根据所述待监听的文件描述符查找所述事件回调函数相对应的接口,例如,如果是读数据操作,则是相应读接口;如果是外部风控***调用,则是相应的调用接口等,之后将所述外部调用接口中的数据信息同步到当前内存中,从而减少每次从外部数据库中进行查找的延迟,然后并根据所述操作***事件信号列表判断所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址在预设时间阈值范围内是否存在信息变动和/或所述监听的操作***信号是否被发出,若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址在预设时间阈值范围内存在数据变动和/或所述监听的操作***信号被发出,则判定所述事件回调函数完成处理;若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述初始回调函数队列中选取所述事件回调函数。
此外,为了便于理解,以下进行举例说明:
假设,所述初始回调函数队列中包含3件事件回调函数,将所述3件事件回调函数分别命名为a、b、c,将它们按照所述初始回调函数队列传递给所述风控数据处理装置中进行处理,在进行a处理时,在风控处理装置中进行处理,并查找到所述事件回调函数对应的调用接口,并存在所述待监听的文件描述符和/或返回数据的地址和/或所述监听的操作***信号被发出,则所述事件回调函数a处理完成,在进行b处理时,在风控处理装置中进行处理时,并查找到所述事件回调函数对应的调用接口进行记录,同时未存在所述待监听的文件描述符和/或返回数据的地址和/或所述监听的操作***信号未被发出,则将所述事件回调函数b在所述初始回调函数队列中选取出来,在进行c处理时,在风控处理装置中进行处理时,并查找到所述事件回调函数对应的调用接口进行记录,同时未存在所述待监听的文件描述符和/或返回数据的地址和/或所述监听的操作***信号未被发出,则将所述事件回调函数c在所述初始回调函数队列中选取出来。
所述选取模块4002根据所述处理结果选取待处理事件回调函数,并将所述待处理事件回调函数作为请求回调函数的操作。
需要说明的是,将所述待处理事件回调函数根据所述处理结果进行选取,将选取出来的事件回调函数作为请求回调函数,同时将业务***传入的外包部参数作为请求回调函数的实际参数传入。
此外,为了便于理解以下进行举例说明:
根据上述举例可知,将所述事件回调函数b和c从所述初始回调函数队列中选取出来,所述事件回调函数b和c,作为请求回调函数。
所述加入模块4003将所述请求回调函数加入事件轮询队列,并从所述事件轮询队列中遍历操作***事件信号列表的操作。
需要说明的是,根据所述初始回调函数队列,对所述请求回调函数进行排序,并根据所述排序结果,将所述请求回调函数依次加入事件轮询队列中,并为其注册特定的操作***信号,并加入***时间信号列表中,并在所述事件轮询队列中,根据排序结果查看操作***事件信号列表,其中所述操作***事件信号列表中包括事件回调函数对应的对象的地址、待监听的文件描述符和返回数据的地址和所述监听的操作***信号。
此外,应理解的是,为了便于理解,以下进行举例说明:
根据上述中的举例,所述请求回调函数b和c在所述初始回调函数队列中的顺序为b、c,则按所述顺序依次加入事件轮询队列中,所述事件轮询队列中的顺序也为b、c,之后按照b和c的顺序,查看所述请求回调函数b和c对应的顺序循环查看所述操作***事件信号列表。
所述判断模块4004判断所述操作***事件信号列表中的目标数据信息是否存在数据变动,所述目标数据信息为所述请求回调函数对应的数据信息的操作。
需要说明的是,根据所述操作***事件信号列表,获取所述请求回调函数对应的对象的地址、待监听的文件描述符、返回数据的地址和所述监听的操作***信号,根据所述待监听的文件描述符查找相对应的调用接口,根据所述事件轮询队列,在所述调用接口中对所述请求回调函数进行遍历,并判断所述请求回调函数对应的待监听的文件描述符和返回数据的地址是否存在信息变动和/或所述监听的操作***信号是否被发出,并将所述待监听的文件描述符和返回数据的地址和所述监听的操作***信号作为数据信息。
此外,应理解的是,所述风控处理装置会按照先入先出的原则,逐个对所述事件轮询队列中的请求回调函数进行处理,在查找到相对应的调用接口后,对所述请求回调函数进行判断,在预设时间阈值范围内,查看所述操作***事件信号列表中所述请求回调函数对应的返回数据的地址和待监听的文件描述符是否存在数据返回或者完成数据处理和/或所述监听的操作***信号是否被发出,若存在数据返回或完成数据处理和/或所述监听的操作***信号被发出,则将所述返回的风控判定的结果返回给业务***。
此外,需要说明的是,在进行数据处理时,不需要等待风控处理装置中的判定结果,直接执行下一个所述请求回调函数的处理。
所述判定模块4005若所述目标数据信息存在数据变动,则判定所述请求回调函数完成处理的操作。
需要说明的是,在所述操作***事件信号列表中进行循环遍历,若所述请求回调函数对应的数据信息存在数据变动和/或所述监听的操作***信号被发出,则判定所述请求回调函数完成处理,若所述请求回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述事件轮询队列中选取所述请求回调函数。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
本实施例通过接收业务***中的初始回调函数队列,对所述初始回调函数队列中对应的事件回调函数进行处理,根据所述处理结果选取待处理事件回调函数,并将所述待处理事件回调函数作为请求回调函数,根据所述操作***事件信号列表,获取所述请求回调函数对应的对象的地址、待监听的文件描述符和返回数据的地址和所述监听的操作***信号,根据所述待监听的文件描述符查找相对应的调用接口,根据所述事件轮询队列,在所述调用接口中对所述请求回调函数进行遍历,之后判断所述请求回调函数对应的待监听的文件描述符和返回数据的地址是否存在信息变动和/或所述监听的操作***信号是否被发出,若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述初始回调函数队列中选取所述事件回调函数,将所述选取的事件回调函数加入事件轮询队列,并将所述选取的事件回调函数作为请求回调函数,在所述事件轮询队列中,判断所述请求回调函数对应的数据信息是否存在数据变动,若所述请求回调函数对应的数据信息存在数据变动,则判定所述请求回调函数完成处理,实现了业务***的负载能力和响应速度的提高,从而大大提高了用户体验。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的高吞吐量的风控数据处理方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种高吞吐量的风控数据处理方法,其特征在于,所述方法包括:
接收业务***中的初始回调函数队列,对所述初始回调函数队列中对应的事件回调函数进行处理;
根据所述处理结果选取待处理事件回调函数,并将所述待处理事件回调函数作为请求回调函数;
将所述请求回调函数加入事件轮询队列,并从所述事件轮询队列中遍历操作***事件信号列表;
判断所述操作***事件信号列表中的目标数据信息是否存在数据变动,所述目标数据信息为所述请求回调函数对应的数据信息;
若所述目标数据信息存在数据变动,则判定所述请求回调函数完成处理。
2.如权利要求1所述的方法,其特征在于,所述接收业务***中的初始回调函数队列的步骤之后,还包括:
获取所述初始回调函数队列中对应的事件回调函数;
根据所述事件回调函数,获取所述事件回调函数对应的对象的地址、待监听的文件描述符、返回数据的地址和监听的操作***信号;
根据所述对象的地址、所述待监听的文件描述符、所述返回数据的地址和所述监听的操作***信号建立操作***事件信号表;
其中,所述数据信息包括:所述待监听的文件描述符和/或所述返回数据的地址和/或所述监听的操作***信号。
3.如权利要求2所述的方法,其特征在于,所述对所述初始回调函数队列中对应的事件回调函数进行处理的步骤,包括:
在所述初始回调函数队列中,对所述事件回调函数进行遍历;
判断所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址是否存在信息变动和/或所述监听的操作***信号是否被发出;
若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址存在数据变动和/或所述监听的操作***信号被发出,则判定所述事件回调函数完成处理;
若所述事件回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述初始回调函数队列中选取所述事件回调函数。
4.如权利要求3所述的方法,其特征在于,所述对所述事件回调函数进行遍历的步骤,包括:
根据所述操作***信号列表获取所述事件回调函数对应的待监听的文件描述符;
根据所述待监听的文件描述符查找相对应的调用接口;
在所述调用接口中,对所述事件回调函数进行遍历。
5.如权利要求2所述的方法,其特征在于,所述判断所述操作***信号列表中的目标数据信息是否存在数据变动,所述目标数据信息为所述请求回调函数对应的数据信息的步骤,包括:
根据所述操作***信号列表,获取所述请求回调函数对应的对象的地址、待监听的文件描述符、返回数据的地址和监听的操作***信号;
根据所述待监听的文件描述符查找相对应的调用接口;
根据所述事件轮询队列,在所述调用接口中对所述请求回调函数进行遍历;
判断所述请求回调函数对应的待监听的文件描述符和/或返回数据的地址是否存在信息变动和/或所述监听的操作***信号是否被发出。
6.如权利要求5所述的方法,其特征在于,所述判断所述请求回调函数对应的待监听的文件描述符和/或返回数据的地址是否存在信息变动和/或所述监听的操作***信号是否被发出的步骤之后,还包括:
若所述请求回调函数对应的待监听的文件描述符和/或返回数据的地址未存在数据变动和/或所述监听的操作***信号未被发出,则从所述事件轮询队列中选取所述请求回调函数;
将所述选取的请求回调函数重新加入所述事件轮询队列中,直至所述请求回调函数对应的待监听的文件描述符和/或返回数据的地址存在数据变动和/或所述监听的操作***信号被发出。
7.如权利要求1所述的方法,其特征在于,所述将所述请求回调函数加入事件轮询队列的步骤,包括:
根据所述初始回调函数队列,对所述请求回调函数进行排序;
根据所述排序结果,将所述请求回调函数依次加入事件轮询队列。
8.一种高吞吐量的风控数据处理装置,其特征在于,所述装置包括:
接收模块,用于接收业务***中的初始回调函数队列,对所述初始回调函数队列中对应的事件回调函数进行处理;
选取模块,用于根据所述处理结果选取待处理事件回调函数,并将所述待处理事件回调函数作为请求回调函数;
加入模块,用于将所述请求回调函数加入事件轮询队列,并从所述事件轮询队列中遍历操作***事件信号列表;
判断模块,用于判断所述操作***事件信号列表中的目标数据信息是否存在数据变动,所述目标数据信息为所述请求回调函数对应的数据信息;
判定模块,用于若所述目标数据信息存在数据变动,则判定所述请求回调函数完成处理。
9.一种电子设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的高吞吐量的风控数据处理程序,所述高吞吐量的风控数据处理程序配置为实现如权利要求1至7中任一项所述的高吞吐量的风控数据处理方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有高吞吐量的风控数据处理程序,所述高吞吐量的风控数据处理程序被处理器执行时实现如权利要求1至7任一项所述的高吞吐量的风控数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911084478.6A CN110852603B (zh) | 2019-11-07 | 2019-11-07 | 高吞吐量的风控数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911084478.6A CN110852603B (zh) | 2019-11-07 | 2019-11-07 | 高吞吐量的风控数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110852603A true CN110852603A (zh) | 2020-02-28 |
CN110852603B CN110852603B (zh) | 2022-07-15 |
Family
ID=69599062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911084478.6A Active CN110852603B (zh) | 2019-11-07 | 2019-11-07 | 高吞吐量的风控数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110852603B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749024A (zh) * | 2020-12-28 | 2021-05-04 | 深兰人工智能(深圳)有限公司 | 用于多传感器的数据分发方法及装置 |
CN117311912A (zh) * | 2023-11-30 | 2023-12-29 | 成都融见软件科技有限公司 | 一种基于交互调试的数据交互方法、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090083455A1 (en) * | 2007-09-21 | 2009-03-26 | Mitel Networks Corporation | Centralized polling service |
CN104932932A (zh) * | 2014-03-20 | 2015-09-23 | 腾讯科技(深圳)有限公司 | 一种业务异步处理方法、装置和*** |
CN106293969A (zh) * | 2016-08-09 | 2017-01-04 | 上海盈方微电子有限公司 | Linux进程间通讯方法及装置、进程退出监听方法 |
CN108449405A (zh) * | 2018-03-13 | 2018-08-24 | 平安科技(深圳)有限公司 | 事件提醒方法、装置、计算机设备和存储介质 |
CN108665174A (zh) * | 2018-05-16 | 2018-10-16 | 中国平安人寿保险股份有限公司 | 风险预警方法、装置、计算机设备以及存储介质 |
-
2019
- 2019-11-07 CN CN201911084478.6A patent/CN110852603B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090083455A1 (en) * | 2007-09-21 | 2009-03-26 | Mitel Networks Corporation | Centralized polling service |
CN104932932A (zh) * | 2014-03-20 | 2015-09-23 | 腾讯科技(深圳)有限公司 | 一种业务异步处理方法、装置和*** |
CN106293969A (zh) * | 2016-08-09 | 2017-01-04 | 上海盈方微电子有限公司 | Linux进程间通讯方法及装置、进程退出监听方法 |
CN108449405A (zh) * | 2018-03-13 | 2018-08-24 | 平安科技(深圳)有限公司 | 事件提醒方法、装置、计算机设备和存储介质 |
CN108665174A (zh) * | 2018-05-16 | 2018-10-16 | 中国平安人寿保险股份有限公司 | 风险预警方法、装置、计算机设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
范毅: "基于事件驱动模型的计算机博弈***战斗平台设计", 《山西科技》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749024A (zh) * | 2020-12-28 | 2021-05-04 | 深兰人工智能(深圳)有限公司 | 用于多传感器的数据分发方法及装置 |
CN117311912A (zh) * | 2023-11-30 | 2023-12-29 | 成都融见软件科技有限公司 | 一种基于交互调试的数据交互方法、存储介质及电子设备 |
CN117311912B (zh) * | 2023-11-30 | 2024-02-02 | 成都融见软件科技有限公司 | 一种基于交互调试的数据交互方法、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110852603B (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885786B (zh) | 数据缓存处理方法、装置、电子设备及可读存储介质 | |
CN111163072B (zh) | 机器学习模型中特征值的确定方法、装置及电子设备 | |
CN109564566B (zh) | 对调用应用的发现以用于控制文件水化行为 | |
CN107807841B (zh) | 服务器模拟方法、装置、设备及可读存储介质 | |
CN110852603B (zh) | 高吞吐量的风控数据处理方法、装置、设备及存储介质 | |
CN111737300A (zh) | 业务处理方法、装置、设备及计算机可读存储介质 | |
CN112860953A (zh) | 图数据库的数据导入方法、装置、设备及存储介质 | |
CN111736761A (zh) | 数据分发方法、装置、存储***及计算机可读存储介质 | |
CN112084021A (zh) | 教育***的界面配置方法、装置、设备及可读存储介质 | |
CN113535439B (zh) | 业务请求处理方法、装置、设备及存储介质 | |
CN110955460A (zh) | 一种服务进程启动方法、装置、电子设备和存储介质 | |
CN114329260A (zh) | 页面跳转方法、装置、终端及存储介质 | |
CN112950370A (zh) | 业务处理方法、装置、设备及存储介质 | |
CN111078571A (zh) | 模拟响应的测试方法、终端设备及计算机可读存储介质 | |
CN112256654A (zh) | 一种文档共享方法及装置 | |
CN112256820A (zh) | 一种文档定位方法及装置 | |
CN110704498A (zh) | 数据提取方法、装置、设备及计算机可读存储介质 | |
CN114090269B (zh) | 业务调度均衡方法、装置、设备及存储介质 | |
US10313438B1 (en) | Partitioned key-value store with one-sided communications for secondary global key lookup by range-knowledgeable clients | |
CN112559920B (zh) | 基于跳转指令的hook方法、装置、设备及存储介质 | |
CN111131534B (zh) | 域名规则的处理方法、设备及计算机可读存储介质 | |
CN109308653B (zh) | 避免客户端访问服务器拥堵的方法、终端及存储介质 | |
CN115437804A (zh) | 消息服务处理方法、装置、设备及存储介质 | |
CN112416547A (zh) | 应用程序的调用方法、装置、终端设备和可读存储介质 | |
CN116456032A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |