发明内容
基于此,有必要针对上述技术问题,提供一种不影响生产运行且能够满足大量数据验证需求的变量生成方法、变量生成装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种变量生成方法,所述方法包括:
响应于变量生成指令,在变量旁路环境生成旁路变量;
确定与所述变量生成指令匹配的时间点,对存储的与所述时间点对应的原始数据进行回放计算,获得回放计算结果;
基于所述回放计算结果对所述旁路变量进行验证,获得验证结果;
基于所述验证结果配置变量生产环境,以在所述变量生产环境生成业务变量,所述业务变量用以提供给业务系统使用。
在一些实施例中,所述方法还包括:
在获取到报文的情况下,将获取的与所述报文对应的原始数据进行存储。
在一些实施例中,所述将获取的与所述报文对应的原始数据进行存储,包括:将获取的与所述报文对应的原始数据存储至变量旁路系统数据库;
所述对存储的与所述时间点对应的原始数据进行回放计算,获得回放计算结果,包括:对所述变量旁路系统数据库中,与所述时间点对应的原始数据进行回放计算,获得回放计算结果。
在一些实施例中,所述基于所述回放计算结果对所述旁路变量进行验证,获得验证结果,包括:
将所述回放计算结果存储至所述变量旁路系统数据库,并在所述变量旁路系统数据库中,基于所述回放计算结果对所述旁路变量进行验证,获得验证结果。
在一些实施例中,所述基于所述验证结果配置变量生产环境,以在所述变量生产环境生成业务变量,包括:
在所述验证结果为验证通过的情况下,将所述旁路变量的配置信息导入到所述变量生产环境,以在所述变量生产环境生成业务变量。
在一些实施例中,所述基于所述验证结果配置变量生产环境,以在所述变量生产环境生成业务变量,包括:
在所述验证结果为不通过的情况下,在所述变量旁路环境重新生成旁路变量,并返回所述确定与所述变量生成指令匹配的时间点的步骤,直至获得的验证结果为验证通过,将最后一次旁路变量的配置信息导入到所述变量生产环境,以在所述变量生产环境生成业务变量。
在一些实施例中,所述变量旁路环境与所述变量生产环境的环境配置相同。
第二方面,本申请还提供了一种变量生成装置,所述装置包括:
变量修改模块,用于响应于变量生成指令,在变量旁路环境生成旁路变量;
回放模块,用于确定与所述变量生成指令匹配的时间点,对存储的与所述时间点对应的原始数据进行回放计算,获得回放计算结果;
验证模块,用于基于所述回放计算结果对所述旁路变量进行验证,获得验证结果;
变更模块,用于基于所述验证结果配置变量生产环境,以在所述变量生产环境生成业务变量,所述业务变量用以提供给业务系统使用。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述任一实施例中的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述任一实施例中的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述任一实施例中的方法的步骤。
上述变量生成方法、装置、计算机设备、存储介质和计算机程序产品,其在接收到变量生成指令时,是先在变量旁路环境生成旁路变量,且在生成旁路变量后,是对与该变量生成指令匹配的时间点对应的原始数据进行回放计算,即基于存储的用以进行变量计算的原始数据进行回放计算,以获得回放计算结果,并在基于回放计算结果对旁路变量进行验证,结合验证结果来配置变量生产环境,从而在不影响变量的生产运行的情况下,能够用存储的原始数据对变量进行验证,结合验证结果再修改变量生产环境,以在变量生产环境生成业务变量,从而能够使用用以生成变量的原始数据对变量进行验证,而且能够重复回放,能够满足大量数据验证的需求。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的变量生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以执行各种业务处理过程,业务处理过程中需要使用的数据,可以从终端102本地获取,也可以是从服务器104获取,例如服务器104可以是从数据存储系统获取数据,提供给终端102。也可以是服务器104执行业务处理过程,服务器104执行的业务处理过程,可以是在服务器104本地进行,也可以是结合与终端102的交互过程进行,例如服务器104在接收到终端102的指示的情况下,执行相关的处理过程。另一些实施例中,终端102与服务器104进行交互的过程中,也可以是终端102和服务器分别执行相应的业务处理过程。其中,终端102和服务器104在执行业务处理的过程中,可以是终端102将进行业务处理的结果提供给服务器104,服务器104执行进一步的业务处理,也可以是服务器104将执行业务处理的结果返回给终端102,终端102执行进一步的业务处理。
其中,在终端102与服务器104进行业务处理的过程中,会需要使用到各种变量来执行各种处理,并在这个过程中可能会涉及到新的变量的生成以及已生成的变量的变更,因此验证新生成的变量或者变更的变量是否达到预期是这个过程中的一个比较重要的内容。在传统的方式中,是在变量生产环境使用小部分灰度流量数据对变量进行验证,这种验证方式简单便捷,能够立即看到效果。但是,这种方式会造成噪声放大,特别是在计算机金融技术的环境,由于金融业务的特殊性,如果变量错误,会导致风险放大,即便是一小部分流量,也会造成无法弥补的损失。而且,在需要大量数据验证的情况下,也无法满足大量数据验证的需求。基于此,本申请实施例提供的技术方案,将用以进行生成变量的原始数据进行存储,并搭建变量旁路环境,在需要生成新的变量或者对已生成的变量进行变更时,先在变量旁路环境生成旁路变量,并在生成后,用存储的历史的原始数据进行回放计算,并用回放计算结果对旁路变量进行验证,再结合验证结果配置变量生产环境,以在所述变量生产环境生成提供给业务系统使用的业务变量。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种变量生成方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤S101和步骤S102。
步骤S101:响应于变量生成指令,在变量旁路环境生成旁路变量。
其中,变量生成指令,是用以触发生成变量的指令,其中该触发生成变量的指令,可以是生成新的变量的指令,也可以是对已存在的变量进行变更的指令。其中,变量生成指令可以是基于外部设备的信息触发,例如接收到终端设备的报文时,也可以是基于服务器内部的处理机制的触发,例如服务器在产生某一个业务处理节点处理完成的信息时确定获取到变量生成指令,再例如在间隔一定时长或者达到某个预设时间点时,确定获取到变量生成指令。
变量旁路环境是搭建的独立于变量生产环境的平台。其中,该变量旁路环境可以与变量生产环境的环境配置相同,以使得能够在与变量生产环境相同的环境生成变量、进行变量修改和变量验证,以确保验证的准确性。
步骤S102:确定与所述变量生成指令匹配的时间点,对存储的与所述时间点对应的原始数据进行回放计算,获得回放计算结果。
其中,与变量生成指令匹配的时间点,可以基于进行变量计算时需要使用到的数据的时长进行设定,基于技术实际需要可以做不同的设定。例如,在一些实施例中,可以基于业务系统中计算获得各变量的数据的时长,设置一个固定的时长,并结合该时长确定与变量生成指令匹配的时间点。在一些实施例中,可以是针对各变量,分别设置该变量匹配的时间点,该变量匹配的时间点即为变量生成指令匹配的时间点。
存储的与所述时间点对应的原始数据,包括在业务系统的业务流程的处理过程中,所获取到的原始数据,这些原始数据可以包括服务器自己生成的数据,也可以包括从外部获取的数据。另一方面,这些原始数据可以包括业务系统的业务流程过程中的所有原始数据,在本申请的一些实施例中,这些原始数据可以仅包含业务系统的业务流程过程中,与变量计算相关的原始数据。
回放计算,是指按照存储的原始数据的存储时间的顺序进行一系列的计算,其中处理过程包含处理方式和处理顺序。
步骤S103:基于所述回放计算结果对所述旁路变量进行验证,获得验证结果。
基于回放计算结果对旁路变量进行验证,以验证变量旁路环境中生成的旁路变量是否符合预期。其中,在对旁路变量进行验证时,具体采用的验证方式可以采用各种可能的对变量进行验证方式进行,本申请实施例不做具体限定。
步骤S104:基于所述验证结果配置变量生产环境,以在所述变量生产环境生成业务变量,所述业务变量用以提供给业务系统使用。
其中,获得的验证结果,可以是验证通过,也可以是验证不通过。从而可以基于验证结果的不同进行变量的变更。
如上所述的变量生成方法,其在接收到变量生成指令时,是先在变量旁路环境生成旁路变量,且在生成旁路变量后,是对与该变量生成指令匹配的时间点对应的原始数据进行回放计算,即基于存储的用以进行变量计算的原始数据进行回放计算,以获得回放计算结果,并在基于回放计算结果对旁路变量进行验证,结合验证结果来配置变量生产环境,从而在不影响变量的生产运行的情况下,能够用存储的原始数据对变量进行验证,结合验证结果再修改变量生产环境,以在变量生产环境生成业务变量,从而能够使用用以生成变量的原始数据对变量进行验证,而且能够重复回放,能够满足大量数据验证的需求。
根据本申请的一些实施例,参考图3所示,所述方法还包括:
步骤S100:在获取到报文的情况下,将获取的与所述报文对应的原始数据进行存储。
其中,获取的保温,可以是从外部设备接收到的报文,例如接收到终端设备的预定类型的报文时,如登录请求的报文、业务指示的报文等。获取的与所述报文对应的原始数据,可以是从终端设备接收到的报文中携带的数据,也可以是基于接收到的报文,结合服务器内部的处理机制主动从其他服务器或数据库获取的数据。
在一些实施例中,所述将进行变量计算的原始数据进行存储,包括:将进行变量计算的原始数据存储至变量旁路系统数据库。
此时,上述对存储与所述时间点对应的原始数据进行回放计算,获得回放计算结果,包括:对所述变量旁路系统数据库中,与所述时间点对应的原始数据进行回放计算,获得回放计算结果。
变量旁路系统数据库是用以存储进行变量计算的原始数据的数据库,以供变量旁路系统使用。具体的数据库的类型不限,例如在一些实施例中可以是分布式数据库。
在一些实施例中,上述基于所述回放计算结果对所述旁路变量进行验证,获得验证结果,包括:
将所述回放计算结果存储至所述变量旁路系统数据库,并在所述变量旁路系统数据库中,基于所述回放计算结果对所述旁路变量进行验证,获得验证结果。
从而,在获得回放计算结果后,是将回放计算结果存储至变量旁路系统数据库,并在变量旁路系统数据库中,对旁路变量进行验证,有助于提高验证过程的稳定性和准确性。
在一些实施例中,所述基于所述验证结果配置变量生产环境,以在所述变量生产环境生成业务变量,包括:
在所述验证结果为验证通过的情况下,将所述旁路变量的配置信息导入到所述变量生产环境,以在所述变量生产环境生成业务变量。
从而,在验证结果为验证通过的情况下,说明旁路变量符合预期,从而可以将旁路变量的配置信息导入变量生产环境,使得在变量生成环境生成提供给业务系统使用的业务变量。应当理解的是,由于是将旁路变量的配置信息导入变量生产环境,从而变量生产环境的配置信息与变量旁路系统的配置信息是相同的,因此,最终在变量生产系统中生产的业务变量,与在变量旁路系统中生成的符合预期的旁路变量相同,即在变量生产系统中生产的业务变量,也会是符合预期的变量,因而提供给业务系统的业务变量是符合预期的业务变量,能够确保业务系统的业务处理的准确性。
在一些实施例中,上述基于所述验证结果配置变量生产环境,以在所述变量生产环境生成业务变量,包括:
在所述验证结果为不通过的情况下,在所述变量旁路环境重新生成旁路变量,并返回所述确定与所述变量生成指令匹配的时间点的步骤,直至获得的验证结果为验证通过,将最后一次旁路变量的配置信息导入到所述变量生产环境,以在所述变量生产环境生成业务变量。
从而,验证结果为不通过的情况下,说明生成的旁路变量不符合预期,因此,需要在变量旁路环境重新修改变量,即生成新的旁路变量,重新执行上述确定与所述变量生成指令匹配的时间点,对存储的与所述时间点对应的原始数据进行回放计算,获得回放计算结果,基于所述回放计算结果对所述旁路变量进行验证的一系列步骤,直至获得的验证结果为验证通过,即直至旁路变量符合预期,然后将最后一次旁路变量的配置信息导入到所述变量生产环境,以在所述变量生产环境生成业务变量。
基于如上所述的实施例,以下结合具体应用过程进行举例说明。在各种业务处理平台,会涉及到多个不同的业务处理节点,在各个业务节点的业务处理完毕后,可以进行最终的处理,例如在计算机金融技术领域,可以进行风险决策。
其中,各个业务处理节点或者最终处理决策节点,在具体进行处理时需要基于对应的各种变量进行,其使用到的各种变量,可以在变量平台进行生产。变量平台生成的变量,可以实时提供给业务系统使用,也可以是在业务系统需要时,业务系统再从变量平台取用。
参考图4、图5所示,本申请实施例提供的变量平台,搭建有两个完全一样的平台环境:变量生产环境和变量旁路环境。其中,变量生产环境和变量旁路环境都可以是基于风险数据平台建立,其中,风险数据平台在本申请实施例中也可称之为变量计算系统平台或者变量计算平台。其中,变量生产环境构成平台主路,变量旁路环境构成平台旁路。其中,变量旁路环境作为变量生产环境的仿真环境,可以是与变量生产环境相同的设置,例如使用与变量生产环境完全一样的代码与配置。业务系统需要使用的业务变量,在变量生产环境中生成。
参考图4所示,业务系统可能会涉及多个不同的业务处理节点,这些处理节点会按照一定的处理流程按时序进行触发,例如t1时刻的登录、t2时刻的实名验证、t3时刻的资信请求、t4时刻的补充资料、t5时刻的借款请求、t6时刻的**事件,应当理解的是,在其他类型的业务系统中,也可以是包含其他的业务处理节点。其中,在各业务处理节点会涉及到各种数据,例如在t1的登录节点会接收到用户终端登录数据,登录数据中可能包含用户的用户标识、登录时的环境信息、设备信息和其他信息,以及基于登录数据从外部环境或者相关数据库获取的与该用户标识关联的其他数据或者历史数据,再例如在t4时刻接收到的资信数据等。这些数据都可以使用到变量生产系统中以生成业务系统中需要使用的变量。例如,可以基于这些原始数据实时计算出变量,以进行风险决策,获得风险决策的决策结果。在每一个业务处理节点,业务系统都会和变量平台进行交互,每次交互会调用变量平台以将这些原始数据上传到变量平台和/或查询变量平台计算的变量。
在本申请实施例中,各业务处理节点涉及到的这些数据会同时会按照时间顺序录制并存储到变量旁路系统数据库中,变量旁路系统数据库具体可以是分布式数据库。
在一些实施例中,在需要生成新的变量时,或者在需要对已有的变量进行变更时,会触发变量生成指令,从而基于变量生成指令,在变量旁路环境生成旁路变量,并确定与变量生成指令匹配的时间点,对变量旁路系统数据库中,与该时间点对应的原始数据进行回放计算,获得回放计算结果,并将回放计算结果存储至所述变量旁路系统数据库,并在所述变量旁路系统数据库中,基于所述回放计算结果对所述旁路变量进行验证,获得验证结果。若验证通过,则将所述旁路变量的配置信息导入到所述变量生产环境,以在所述变量生产环境生成业务变量。若验证不通过,则在所述变量旁路环境重新生成旁路变量,并返回所述确定与所述变量生成指令匹配的时间点的步骤,直至获得的验证结果为验证通过,将最后一次旁路变量的配置信息导入到所述变量生产环境,以在所述变量生产环境生成业务变量,供业务系统使用。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的变量生成方法的变量生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个变量生成装置实施例中的具体限定可以参见上文中对于变量生成方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种变量生成装置,包括:变量修改模块601、回放模块602、验证模块603、变更模块604,其中:
变量修改模块601,用于响应于变量生成指令,在变量旁路环境生成旁路变量;
回放模块602,用于确定与所述变量生成指令匹配的时间点,对存储的与所述时间点对应的原始数据进行回放计算,获得回放计算结果;
验证模块603,用于基于所述回放计算结果对所述旁路变量进行验证,获得验证结果;
变更模块604,用于基于所述验证结果配置变量生产环境,以在所述变量生产环境生成业务变量,所述业务变量用以提供给业务系统使用。
在其中一些实施例中,还包括:
存储模块,用于在获取到报文的情况下,将获取的与所述报文对应的原始数据进行存储。
在其中一些实施例中:
存储模块,用于将获取的与所述报文对应的原始数据存储至变量旁路系统数据库;
回放模块602,用于对所述变量旁路系统数据库中,与所述时间点对应的原始数据进行回放计算,获得回放计算结果。
在其中一些实施例中,验证模块603,用于将所述回放计算结果存储至所述变量旁路系统数据库,并在所述变量旁路系统数据库中,基于所述回放计算结果对所述旁路变量进行验证,获得验证结果。
在其中一些实施例中,变更模块604,用于在所述验证结果为验证通过的情况下,将所述旁路变量的配置信息导入到所述变量生产环境,以在所述变量生产环境生成业务变量。
在其中一些实施例中,变更模块604,用于在所述验证结果为不通过的情况下,在所述变量旁路环境重新生成旁路变量,并返回所述确定与所述变量生成指令匹配的时间点的步骤,直至获得的验证结果为验证通过,将最后一次旁路变量的配置信息导入到所述变量生产环境,以在所述变量生产环境生成业务变量。
在其中一些实施例中,变量旁路环境与所述变量生产环境的环境配置相同。
上述变量生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据,例如用以进行变量计算的原始数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种变量生成方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种变量生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7、8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如上所述任一实施例中的方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上所述任一实施例中的方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述任一实施例中的方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。