CN113342860A - 基于通用接口的指标计算方法、装置、设备和存储介质 - Google Patents
基于通用接口的指标计算方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN113342860A CN113342860A CN202110741781.XA CN202110741781A CN113342860A CN 113342860 A CN113342860 A CN 113342860A CN 202110741781 A CN202110741781 A CN 202110741781A CN 113342860 A CN113342860 A CN 113342860A
- Authority
- CN
- China
- Prior art keywords
- index calculation
- parameters
- index
- logic
- 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
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 261
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000004590 computer program Methods 0.000 claims description 29
- 238000001914 filtration Methods 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000018109 developmental process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000032683 aging Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及人工智能技术领域,尤其是一种基于通用接口的指标计算方法、装置、设备和存储介质。所述方法包括:通过通用接口获取页面所发送的调用请求,所述调用请求携带有页面标识和必选参数;通过通用接口查询数据库中是否存在与所述页面标识对应的定制化参数;当所述数据库中存在与所述页面标识对应的定制化参数,则获取所述定制化参数;通过通用接口根据所述定制化参数和所述必选参数调用指标计算逻辑计算得到对应的指标值。采用本方法能够减少代码维护成本,此外,本申请还涉及区块链技术,必选参数、定制化参数、指标计算逻辑可存储于区块链节点中。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种基于通用接口的指标计算方法、装置、设备和存储介质。
背景技术
随着计算机技术的发展,出现了越来越多的智能卡片,各个web页面中的各种智能指标卡片的数量为几十个,每个卡片都对应后端的不同的http接口。
然而这样的设计方式,耗费的软件开发和测试人力是非常大的,并且后期增加新需求进行相应修改,会耗费很大的精力去做代码维护修改。且随着软件功能的不断完善,耗费的人力的增加往往不是线性的,而是呈指数级的。例如若是软件功能的新需求为前端的页面的请求参数进行了修改,则需要研发人员对后端的代码进行对应的修改,修改量非常巨大。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低代码维护成本的基于通用接口的指标计算方法、装置、设备和存储介质。
一种基于通用接口的指标计算方法,所述方法包括:
通过通用接口获取页面所发送的调用请求,所述调用请求携带有页面标识和必选参数;
通过通用接口查询数据库中是否存在与所述页面标识对应的定制化参数;
当所述数据库中存在与所述页面标识对应的定制化参数,则获取所述定制化参数;
通过通用接口根据所述定制化参数和所述必选参数调用指标计算逻辑计算得到对应的指标值。
在其中一个实施例中,所述通过通用接口获取页面所发送的调用请求之前,包括:
获取通用业务逻辑需求;
提取所述通用业务逻辑需求对应的待增加必选参数;
对所述待增加必选参数进行配置得到必选参数,根据所述必选参数配置页面的调用请求。
在其中一个实施例中,所述通过通用接口查询数据库中是否存在与所述页面标识对应的定制化参数之前,还包括:
获取定制需求,所述定制需求携带用页面标识和定制化参数;
配置所述定制化参数的值;
建立配置完成的所述定制化参数与所述页面标识的关联关系。
在其中一个实施例中,所述必选参数包括计算结果的开始日期、结束日期、产品、计算周期以及指标;所述通过通用接口根据所述定制化参数和所述必选参数调用指标计算逻辑计算得到对应的指标值,包括:
根据所述指标调用指标计算逻辑,根据所述开始日期、结束日期和产品获取指标计算数据;
根据所述计算周期将所述指标计算数据进行切分,并将切分后的指标计算数据依次输入至所述指标计算逻辑中得到指标值。
在其中一个实施例中,所述根据所述指标调用指标计算逻辑,包括:
获取指标计算逻辑依赖树,根据所述指标计算逻辑依赖树确定各个指标计算逻辑对应的执行顺序;
所述根据所述开始日期、结束日期和产品获取指标计算数据,包括:
根据所述开始日期、结束日期和产品从数据库提取全量数据存储至缓存中,并对缓存中的数据进行预处理得到指标计算数据;
所述根据所述计算周期将所述指标计算数据进行切分,并将切分后的指标计算数据依次输入至所述指标计算逻辑中得到指标值,包括:
根据所述计算周期对所述指标计算数据进行过滤处理,以得到当前指标计算逻辑所对应的待处理数据;
将所述待处理数据输入至指标计算逻辑中得到指标值。
一种基于通用接口的指标计算装置,所述装置包括:
接收模块,用于通过通用接口获取页面所发送的调用请求,所述调用请求携带有页面标识和必选参数;
查询模块,用于通过通用接口查询数据库中是否存在与所述页面标识对应的定制化参数;
参数获取模块,用于当所述数据库中存在与所述页面标识对应的定制化参数,则获取所述定制化参数;
计算模块,用于通过通用接口根据所述定制化参数和所述必选参数调用指标计算逻辑计算得到对应的指标值。
在其中一个实施例中,所述装置还包括:
第一需求获取模块,用于获取通用业务逻辑需求;
提取模块,用于提取所述通用业务逻辑需求对应的待增加必选参数;
第一配置模块,用于对所述待增加必选参数进行配置得到必选参数。
在其中一个实施例中,所述装置还包括:
第二需求获取模块,用于获取定制需求,所述定制需求携带用页面标识和定制化参数;
第二配置模块,用于配置所述定制化参数的值;建立配置完成的所述定制化参数与所述页面标识的关联关系。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任意一个实施例中的方法的步骤。
一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一个实施例中的方法的步骤。
上述基于通用接口的指标计算方法、装置、设备和存储介质,调用请求是由统一的接口来接收的,也就是说所有的页面卡片都对应一个通用接口,这样仅需要配置定制化参数、必选参数与对应的指标计算逻辑的关系即可,从而在增加新需求的时候,仅需要修改配置关系以及定制化参数即可,减少了修改量,不用因页面显示指标的各不相同而有不同程序代码分支,统一维护节省开发成本。
附图说明
图1为一个实施例中基于通用接口的指标计算方法的应用场景图;
图2为一个实施例中基于通用接口的指标计算方法的流程示意图;
图3为一个实施例中的基于通用接口的指标计算方法的时序图;
图4为一个实施例中基于通用接口的指标计算装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于通用接口的指标计算方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。其中服务器104可以是包括多个的,多个服务器104分别是对应于不同的系统或者是不同的页面的,其中服务器104可以是一个,该服务器104中包括多个页面,每个页面均包括多个卡片以计算不同的指标,其中为了减少代码维护量,将该些页面对应的指标的计算逻辑的调用请求统一至一个通用接口,该通用接口为面向后端该些服务器的页面的对应的实现逻辑的,这样服务器104通过通用接口获取页面所发送的调用请求,调用请求携带有页面标识和必选参数,服务器104通过通用接口查询数据库中是否存在与页面标识对应的定制化参数,当数据库中存在与页面标识对应的定制化参数,则获取定制化参数,这样服务器104通过通用接口根据定制化参数和必选参数调用指标计算逻辑计算得到对应的指标值,这样调用请求是由统一的接口来接收的,也就是说所有的页面卡片都对应一个通用接口,这样仅需要配置定制化参数、必选参数与对应的指标计算逻辑的关系即可,从而在增加新需求的时候,仅需要修改配置关系以及定制化参数即可,减少了修改量,不用因页面显示指标的各不相同而有不同程序代码分支,统一维护节省开发成本。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于通用接口的指标计算方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202:通过通用接口获取页面所发送的调用请求,调用请求携带有页面标识和必选参数。
具体地,通用接口是指所有页面统一调用的接口,该接口是面向后端内部实现逻辑的唯一一个接口。
页面标识是唯一表示一个页面的标识,其与用户相关,不同的用户所对应的页面标识不相同,其中用户是以公司团体为单位的,一个公司团体向其所面向的客户提供一页面,该页面上提供不同的服务,因此页面标识可以通过用户标识表示,当一个用户存在多个页面的时候,页面标识可以通过页面编码和用户标识共同标识。
必选参数是页面上必须要存在的参数,其用于后续指标计算逻辑的调用和指标计算数据的选取。其中该必选参数可以至少包括计算结果的开始日期、计算结果的结束日期、计算的产品(可以是至少一个)、计算周期(可以是至少一个)以及指标(可以是至少一个)。其中必选参数,也即调用请求的请求参数是面向内部功能的,是所有指标计算接口的共同点。在本实施例中,必选参数是需要以各种周期(比如近一月、近一年、成立以来)为计算数据的滑动窗口,计算一个日期范围内的每一天某些投资产品(股票、基金、债券等)的各种技术指标的基础。
在实际使用中,终端接收到输入的或者是选择的必选参数,然后获取到页面标识,根据页面标识和必选参数生成调用请求,并调用通用接口,以使得通用接口接收到页面所发送的调用请求,并进行解析得到页面标识和必选参数。
S204:通过通用接口查询数据库中是否存在与页面标识对应的定制化参数。
S206:当数据库中存在与页面标识对应的定制化参数,则获取定制化参数。
具体地,定制化参数可以是单独某个用户的某个页面所需要的参数,其他的用户的页面或者是该用户的其他页面并不需要该参数,该定制化参数是随着指标的增多,也即业务逻辑需求或者是用户定制的增加所增加的参数。
具体地,在金融领域,该定制化参数可以包括基准、无风险收益率以及年化相关指标的年化天数等。其中有的指标,比如超额收益率,需要有基准收益率才能计算,一般股票或基金默认可以是沪深300,但用户也有需要指定成其他指数等作为基准的,这时候需要用该参数。有些指标,比如夏普比率,需要无风险收益率才能计算,需要指定无风险收益率为1年定存或3年定存等。
需要再次强调的是不同页面的接口请求所需的定制化参数通常是不同的,并不全都使用默认的,但因指标计算逻辑的内部功能的实现,可以做到和这些参数一一映射,所以对于内部指标计算逻辑,不用因页面显示指标的各不相同而有不同程序代码分支,统一维护节省开发成本。
其中,对于定制化参数可以是通过数据库配置实现的,例如在数据库中存在配置文件,当接收到调用请求时,则根据调用请求所携带的页面标识查询内存中的配置文件,以判断是否存在定制化参数。可选地,在服务器启动后,将该配置文件读取至内存,这样查询的时候在内存中查询,可以提高查询的效率。
S208:通用接口根据定制化参数和必选参数调用指标计算逻辑计算得到对应的指标值。
具体地,需要说明的是参数是和指标计算逻辑一一映射的,其中指标计算逻辑是与指标对应的,因此通用接口先根据调用请求中的指标确定对应的指标计算逻辑,然后根据各个指标计算逻辑所需要的参数从定制化参数和必选参数中选取对应的参数,最后将所选取的参数输入至对应的指标计算逻辑中进行计算即可以得到指标值。
也就是说,指标计算逻辑是在后部的,其不需要修改,若是新增,则仅需要增加对应的指标计算逻辑即可,不会因页面显示的指标的不同而存在代码的分支。而对于必选参数和定制化参数其是通过数据库配置的。其中对于指标计算逻辑所需要的参数均在指标计算逻辑新增的时候与其所需要的参数建立关联关系,从而实现参数和指标计算逻辑的一一映射,若是新增指标计算逻辑时,其所对应的参数并不存在,则在数据库中配置对应的参数。优选地,若是该新增指标计算逻辑是所有的用户都需要的,也即是通用的,则可以将对应的参数配置为必选参数,若是新增指标计算逻辑是部分用户需要的,则将对应的参数配置为定制化参数。
可选地,通用接口的返回值,即某个投资产品在某个周期下某一天的某个指标值的数组,也即所计算得到的指标值,通用接口通过。查询对应的页面以进行返回。
其中需要说明的是,上述通用接口可以是http接口,该接口是面上后端内部实现逻辑的惟一一个通用接口的方式,通过该接口调用后端的不同的配置,以达到减少开发、测试工作量的目的;以及对不同客户的定制版本,无需前端请求参数做定制,后端代码也无需拆分成多个分支,只需数据库中相应的配置值不同,即可满足需求,进一步减少了不同客户版本的代码开发、维护、测试人力。
上述基于通用接口的指标计算方法,调用请求是由统一的接口来接收的,也就是说所有的页面卡片都对应一个通用接口,这样仅需要配置定制化参数、必选参数与对应的指标计算逻辑的关系即可,从而在增加新需求的时候,仅需要修改配置关系以及定制化参数即可,减少了修改量,不用因页面显示指标的各不相同而有不同程序代码分支,统一维护节省开发成本。
在其中一个实施例中,上述通过通用接口获取页面所发送的调用请求之前,包括:获取通用业务逻辑需求;提取通用业务逻辑需求对应的待增加必选参数;对待增加必选参数进行配置得到必选参数,根据所述必选参数配置页面的调用请求。
具体地,业务逻辑需求是指所有的用户会使用的业务逻辑,例如新增指标的计算,比如所有的用户需要计算超额收益率,此时提取业务逻辑需求所对应的必选参数,其中包括指标以及对应的指标计算参数,也就是说必选参数新增了对应的指标和指标计算参数。
其中,对于超额收益率所对应的指标计算参数为基准,因此必选参数增加了基准等,从而可以配置调用请求增加基准,或者是在数据库中进行配置,从而不修改前端的数据。这样每次接收到调用请求后,还需要根据页面标识查询是否存在其他的必选参数,若是存在,获取该些必选参数,以便于后续指标计算时的完整。
另外需要说明的是,针对必选参数的配置可以是在页面发送调用请求之前。
上述实施例中,根据业务逻辑需求可以在数据库中配置新的必选参数,而不需要修改代码等,对于指标计算逻辑,不用因页面显示指标的各不相同而有不同程序代码分支,统一维护节省开发成本
在其中一个实施例中,上述通过通用接口查询数据库中是否存在与页面标识对应的定制化参数之前,还包括:获取定制需求,定制需求携带用页面标识和定制化参数;配置定制化参数的值;建立配置完成的定制化参数与页面标识的关联关系。
具体地,定制需求是针对不同用户的指标计算的需求,因此该定制需求携带有页面标识和定制化参数,从而根据页面标识和定制化参数在数据库中配置对应的页面标识所对应的记录,以完成定制需求。
比如,针对annual_yield_day_cnt参数值,各个用户若没有定制需求,默认值是250,个别用户存在定制需求:所有页面中计算年化指标的该参数值是243或365。该技术方案结合通用接口的设计,通过数据库配置类似如下表1的数据,其中“是否强制设置”列,表示如果http请求参数已经有指定该参数值时,是否用数据库配置的值替换为参数值。
需要说明的是,对于定制化参数的配置可以是在接收页面发送调用请求之前,这样可以避免在执行过程中配置,导致处理错误或者处理效率降低。
上述实施例中,可以通过数据可配置实现不同用户的定制版本差异,前后端的代码无需任何变动和需要对不同用户的不同处理分支。
在其中一个实施例中,必选参数包括计算结果的开始日期、结束日期、产品、计算周期以及指标;通用接口根据定制化参数和必选参数调用指标计算逻辑计算得到对应的指标值,包括:根据指标调用指标计算逻辑,根据开始日期、结束日期和产品获取指标计算数据;根据计算周期将指标计算数据进行切分,并将切分后的指标计算数据依次输入至指标计算逻辑中得到指标值。
具体地,必选参数包括计算结果的开始日期、结束日期、产品、计算周期以及指标,其中产品、计算周期以及指标都可以包括1个或者是至少两个。
通用接口在接收到调用请求后,先根据指标获取到对应的指标计算逻辑,并根据开始日期、结束日期、产品来确定指标计算数据,其中这两个步骤可以是并行处理的,即通过一个线程去获取指标计算逻辑,另外的线程根据开始日期、结束日期、产品来确定指标计算数据。其中可选地,通用接口可以根据开始日期、结束日期、产品获取到全量的数据,即先根据产品确定初始数据,然后根据各个指标对应的开始日期、结束日期来计算最大跨度,也即最小开始日期和最大结束日期,进而从初始数据中提取到对应的指标计算数据。其中可选地,该指标计算数据提取后可以按照行列索引的方式进行存储,这样当使用具体的指标计算逻辑进行计算的时候,可以根据计算周期以及行列索引从指标计算数据中提取出当前数据,以输入至指标计算逻辑中进行计算得到指标值。
每个指标计算逻辑,会有配置所需的DataLoader获取原始数据的函数,以及DataProcessor获取预处理数据的函数,并且会在所有指标计算逻辑执行之前,按先加载数据、后预处理数据(预处理函数也有配置先后数据,比如上面提到的用0填充预处理操作,先于加1累乘操作)的顺序执行,并将结果记录到内存中(本次计算执行完成后即可释放内存)。这样的话,各个指标计算逻辑都能共享这些原始数据和预处理数据,避免重复读数据库和重复计算。
在其中一个实施例中,根据指标调用指标计算逻辑,包括:获取指标计算逻辑依赖树,根据指标计算逻辑依赖树确定各个指标计算逻辑对应的执行顺序;根据开始日期、结束日期和产品获取指标计算数据,包括:根据开始日期、结束日期和产品从数据库提取全量数据存储至缓存中,并对缓存中的数据进行预处理得到指标计算数据;根据计算周期将指标计算数据进行切分,并将切分后的指标计算数据依次输入至指标计算逻辑中得到指标值,包括:根据计算周期对指标计算数据进行过滤处理,以得到当前指标计算逻辑所对应的待处理数据;将待处理数据输入至指标计算逻辑中得到指标值。
具体地,指标计算逻辑依赖树是根据指标计算逻辑依赖关系预先生成的对指标计算逻辑执行顺序进行排序的表示,其中每个指标对应一个指标计算逻辑,其中可选地,在服务开始时,服务器先将该指标计算逻辑依赖树读取至内存中,预先确定被依赖的指标计算逻辑先进行计算。
其中,若是本次所需要计算的指标是部分指标,则根据指标计算逻辑依赖树获取到部分指标所对应的目标指标计算逻辑,然后遍历该指标计算逻辑依赖树以获取到对应的目标指标计算逻辑的执行顺序,可选地,服务器先确定指标对应的初始指标计算逻辑,然后根据指标计算逻辑依赖树来获取其他的指标计算逻辑,直至所获取的指标计算逻辑不再依赖其他指标计算逻辑,则获取到所确定的所有的指标计算逻辑作为目标指标计算逻辑,并根据依赖关系确定执行顺序。
若是本次所需计算的是所有的指标,则直接获取到指标计算逻辑依赖树,并获取指标计算逻辑依赖树中所有的指标计算逻辑作为目标指标计算逻辑,然后根据目标指标计算逻辑的依赖关系确定执行顺序。
具体地,全量数据是指目标指标计算逻辑执行所需要的全量数据。在其中一个实施例中,服务器根据目标指标计算逻辑确定所需要的数据,并全量从数据库加载至缓存中。其中若是本次所需计算的是所有的指标或者本次所需要计算的指标是部分指标,服务器均可以将对应周期内的全量的数据加载至缓存中,后续再根据指标计算逻辑来进行过滤处理,这样使得数据仅读取一次即可,后续指标计算逻辑的计算进需要从缓存中读取,提高处理效率。
其中,全量数据可以是服务器综合各个指标计算逻辑所需要的数据,具体的包括获取所需要的数据对应的产品,并计算该产品对应的数据最大的周期以得到全量数据的范围。也就是说全量数据最后表示为产品以及该产品对应的最大周期。
服务器将所需要的全量数据读取至缓存中,这样服务器按照指标计算逻辑的执行顺序依次从缓存中提取对应的数据,然后进行计算得到指标数据。
其中可选地,在缓存中存储的数据可以是DataFrame数据,这样通过行列索引的方式进行数据的切片以读取到对应的数据进行计算,速度更快。
行索引一般是指日期,列索引是产品的编号,对应的值为具体的数据的值,例如产品某日的日收益率。
其中,过滤是针对具体的指标计算逻辑来说的,比如一次计算任务,需要计算1个股票上一个交易日的近1年、近2年、成立以来共3个周期维度的累计收益率和波动率,这涉及两个指标计算逻辑。服务器先从数据库中取出原始的成立以来的每个交易日的日收益率数据,缓存起来,后面再计算这3个周期维度的2个指标计算逻辑,不必从数据库中取数据,从内存中取更快。近1年只需取内存中最近一年的数据,近2年只需取最近两年,这就是过滤全局(最大的周期,这里例子中是成立以来)数据后的局部数据,过滤操作可以让计算量少一些,尤其是在计算滚动多天的量、同时计算多个投资产品的量比较大的情况下。除了原始数据的过滤,预处理数据也是会被过滤的。过滤的方式一般是用pandas DataFrame的行列索引,进行切片,以提高数据读取速度。
上述实施例中,先获取到全量数据,这样在指标计算逻辑执行的时候,仅需要根据行列索引获取到指标计算逻辑所需要的数据进行计算,避免多次重复对数据进行预处理,减少了资源的占用。
具体地,结合图3所示,图3为一个实施例中的基于通用接口的指标计算方法的时序图,在该实施例中,主要包括终端、通用接口以及数据库。
其中,终端用于接收用户输入的指标计算请求,并根据该指标计算请求生成调用请求,该调用请求是http请求,该调用请求至少包括开始日期、结束日期、产品、计算周期以及指标这几个必选参数,终端将该调用请求发送给通用接口。
通用接口为面向后端的接口,该通用接口根据调用请求中的页面标识去查询数据库中的配置以获取到对应的差异化参数。然后根据定制化参数和必选参数获取指标计算逻辑以备用,此外通用接口还根据定制化参数和必选参数从数据库中读取数据进行缓存,其对缓存的数据进行预处理以满足指标计算逻辑的调用,最后通用接口迭代执行该些指标计算逻辑,通过指标计算逻辑从缓存中获取对应的数据进行处理得到最后的指标值。
需要强调的是,为进一步保证上述定制化参数、必选参数以及指标计算逻辑的私密和安全性,上述定制化参数、必选参数以及指标计算逻辑还可以存储于一区块链的节点中。
应该理解的是,虽然图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种基于通用接口的指标计算装置,包括:接收模块100、查询模块200、参数获取模块300和计算模块400,其中:
接收模块100,用于通用接口获取页面所发送的调用请求,调用请求携带有页面标识和必选参数;
查询模块200,用于通用接口查询数据库中是否存在与页面标识对应的定制化参数;
参数获取模块300,用于当数据库中存在与页面标识对应的定制化参数,则获取定制化参数;
计算模块400,用于通用接口根据定制化参数和必选参数调用指标计算逻辑计算得到对应的指标值。
在其中一个实施例中,上述的基于通用接口的指标计算装置包括:
第一需求获取模块,用于获取通用业务逻辑需求;
提取模块,用于提取通用业务逻辑需求对应的待增加必选参数;
第一配置模块,用于对待增加必选参数进行配置得到必选参数。
在其中一个实施例中,上述的基于通用接口的指标计算装置包括:
第二需求获取模块,用于获取定制需求,定制需求携带用页面标识和定制化参数;
第二配置模块,用于配置定制化参数的值;建立配置完成的定制化参数与页面标识的关联关系。
在其中一个实施例中,必选参数包括计算结果的开始日期、结束日期、产品、计算周期以及指标;上述计算模块400包括:
数据获取模块,用于根据指标调用指标计算逻辑,根据开始日期、结束日期和产品获取指标计算数据;
指标值计算模块400,用于根据计算周期将指标计算数据进行切分,并将切分后的指标计算数据依次输入至指标计算逻辑中得到指标值。
在其中一个实施例中,上述数据获取模块用于获取指标计算逻辑依赖树,根据指标计算逻辑依赖树确定各个指标计算逻辑对应的执行顺序;
上述指标值计算模块400用于根据开始日期、结束日期和产品从数据库提取全量数据存储至缓存中,并对缓存中的数据进行预处理得到指标计算数据;根据计算周期对指标计算数据进行过滤处理,以得到当前指标计算逻辑所对应的待处理数据;将待处理数据输入至指标计算逻辑中得到指标值。
关于基于通用接口的指标计算装置的具体限定可以参见上文中对于基于通用接口的指标计算方法的限定,在此不再赘述。上述基于通用接口的指标计算装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储必选参数、定制化参数以及指标计算逻辑。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于通用接口的指标计算方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:通用接口获取页面所发送的调用请求,调用请求携带有页面标识和必选参数;通用接口查询数据库中是否存在与页面标识对应的定制化参数;当数据库中存在与页面标识对应的定制化参数,则获取定制化参数;通用接口根据定制化参数和必选参数调用指标计算逻辑计算得到对应的指标值。
在一个实施例中,处理器执行计算机程序时所实现的通过通用接口获取页面所发送的调用请求之前,包括:获取通用业务逻辑需求;提取通用业务逻辑需求对应的待增加必选参数;对待增加必选参数进行配置得到必选参数,根据必选参数配置页面的调用请求。
在一个实施例中,处理器执行计算机程序时所实现的通过通用接口查询数据库中是否存在与页面标识对应的定制化参数之前,还包括:获取定制需求,定制需求携带用页面标识和定制化参数;配置定制化参数的值;建立配置完成的定制化参数与页面标识的关联关系。
在一个实施例中,处理器执行计算机程序时所实现的必选参数包括计算结果的开始日期、结束日期、产品、计算周期以及指标;处理器执行计算机程序时所实现的通用接口根据定制化参数和必选参数调用指标计算逻辑计算得到对应的指标值,包括:根据指标调用指标计算逻辑,根据开始日期、结束日期和产品获取指标计算数据;根据计算周期将指标计算数据进行切分,并将切分后的指标计算数据依次输入至指标计算逻辑中得到指标值。
在一个实施例中,处理器执行计算机程序时所实现的根据指标调用指标计算逻辑,包括:获取指标计算逻辑依赖树,根据指标计算逻辑依赖树确定各个指标计算逻辑对应的执行顺序;处理器执行计算机程序时所实现的根据开始日期、结束日期和产品获取指标计算数据,包括:根据开始日期、结束日期和产品从数据库提取全量数据存储至缓存中,并对缓存中的数据进行预处理得到指标计算数据;处理器执行计算机程序时所实现的根据计算周期将指标计算数据进行切分,并将切分后的指标计算数据依次输入至指标计算逻辑中得到指标值,包括:根据计算周期对指标计算数据进行过滤处理,以得到当前指标计算逻辑所对应的待处理数据;将待处理数据输入至指标计算逻辑中得到指标值。
在一个实施例中,提供了一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:通用接口获取页面所发送的调用请求,调用请求携带有页面标识和必选参数;通用接口查询数据库中是否存在与页面标识对应的定制化参数;当数据库中存在与页面标识对应的定制化参数,则获取定制化参数;通用接口根据定制化参数和必选参数调用指标计算逻辑计算得到对应的指标值。
在一个实施例中,计算机程序被处理器执行时所实现的通过通用接口获取页面所发送的调用请求之前,包括:获取通用业务逻辑需求;提取通用业务逻辑需求对应的待增加必选参数;对待增加必选参数进行配置得到必选参数,根据必选参数配置页面的调用请求。
在一个实施例中,计算机程序被处理器执行时所实现的通过通用接口查询数据库中是否存在与页面标识对应的定制化参数之前,还包括:获取定制需求,定制需求携带用页面标识和定制化参数;配置定制化参数的值;建立配置完成的定制化参数与页面标识的关联关系。
在一个实施例中,计算机程序被处理器执行时所实现的必选参数包括计算结果的开始日期、结束日期、产品、计算周期以及指标;计算机程序被处理器执行时所实现的通用接口根据定制化参数和必选参数调用指标计算逻辑计算得到对应的指标值,包括:根据指标调用指标计算逻辑,根据开始日期、结束日期和产品获取指标计算数据;根据计算周期将指标计算数据进行切分,并将切分后的指标计算数据依次输入至指标计算逻辑中得到指标值。
在一个实施例中,计算机程序被处理器执行时实现的根据指标调用指标计算逻辑,包括:获取指标计算逻辑依赖树,根据指标计算逻辑依赖树确定各个指标计算逻辑对应的执行顺序;计算机程序被处理器执行时所实现的根据开始日期、结束日期和产品获取指标计算数据,包括:根据开始日期、结束日期和产品从数据库提取全量数据存储至缓存中,并对缓存中的数据进行预处理得到指标计算数据;计算机程序被处理器执行时所实现的根据计算周期将指标计算数据进行切分,并将切分后的指标计算数据依次输入至指标计算逻辑中得到指标值,包括:根据计算周期对指标计算数据进行过滤处理,以得到当前指标计算逻辑所对应的待处理数据;将待处理数据输入至指标计算逻辑中得到指标值。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于通用接口的指标计算方法,其特征在于,所述方法包括:
通过通用接口获取页面所发送的调用请求,所述调用请求携带有页面标识和必选参数;
通过通用接口查询数据库中是否存在与所述页面标识对应的定制化参数;
当所述数据库中存在与所述页面标识对应的定制化参数,则获取所述定制化参数;
通过通用接口根据所述定制化参数和所述必选参数调用指标计算逻辑计算得到对应的指标值。
2.根据权利要求1所述的方法,其特征在于,所述通过通用接口获取页面所发送的调用请求之前,包括:
获取通用业务逻辑需求;
提取所述通用业务逻辑需求对应的待增加必选参数;
对所述待增加必选参数进行配置得到必选参数,根据所述必选参数配置页面的调用请求。
3.根据权利要求1所述的方法,其特征在于,所述通过通用接口查询数据库中是否存在与所述页面标识对应的定制化参数之前,还包括:
获取定制需求,所述定制需求携带用页面标识和定制化参数;
配置所述定制化参数的值;
建立配置完成的所述定制化参数与所述页面标识的关联关系。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述必选参数包括计算结果的开始日期、结束日期、产品、计算周期以及指标;所述通过通用接口根据所述定制化参数和所述必选参数调用指标计算逻辑计算得到对应的指标值,包括:
根据所述指标调用指标计算逻辑,根据所述开始日期、结束日期和产品获取指标计算数据;
根据所述计算周期将所述指标计算数据进行切分,并将切分后的指标计算数据依次输入至所述指标计算逻辑中得到指标值。
5.根据权利要求4所述的方法,其特征在于,所述根据所述指标调用指标计算逻辑,包括:
获取指标计算逻辑依赖树,根据所述指标计算逻辑依赖树确定各个指标计算逻辑对应的执行顺序;
所述根据所述开始日期、结束日期和产品获取指标计算数据,包括:
根据所述开始日期、结束日期和产品从数据库提取全量数据存储至缓存中,并对缓存中的数据进行预处理得到指标计算数据;
所述根据所述计算周期将所述指标计算数据进行切分,并将切分后的指标计算数据依次输入至所述指标计算逻辑中得到指标值,包括:
根据所述计算周期对所述指标计算数据进行过滤处理,以得到当前指标计算逻辑所对应的待处理数据;
将所述待处理数据输入至指标计算逻辑中得到指标值。
6.一种基于通用接口的指标计算装置,其特征在于,所述装置包括:
接收模块,用于通过通用接口获取页面所发送的调用请求,所述调用请求携带有页面标识和必选参数;
查询模块,用于通过通用接口查询数据库中是否存在与所述页面标识对应的定制化参数;
参数获取模块,用于当所述数据库中存在与所述页面标识对应的定制化参数,则获取所述定制化参数;
计算模块,用于通过通用接口根据所述定制化参数和所述必选参数调用指标计算逻辑计算得到对应的指标值。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一需求获取模块,用于获取通用业务逻辑需求;
提取模块,用于提取所述通用业务逻辑需求对应的待增加必选参数;
第一配置模块,用于对所述待增加必选参数进行配置得到必选参数。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二需求获取模块,用于获取定制需求,所述定制需求携带用页面标识和定制化参数;
第二配置模块,用于配置所述定制化参数的值;建立配置完成的所述定制化参数与所述页面标识的关联关系。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110741781.XA CN113342860A (zh) | 2021-06-30 | 2021-06-30 | 基于通用接口的指标计算方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110741781.XA CN113342860A (zh) | 2021-06-30 | 2021-06-30 | 基于通用接口的指标计算方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113342860A true CN113342860A (zh) | 2021-09-03 |
Family
ID=77481926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110741781.XA Pending CN113342860A (zh) | 2021-06-30 | 2021-06-30 | 基于通用接口的指标计算方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342860A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849103A (zh) * | 2021-10-13 | 2021-12-28 | 京东科技信息技术有限公司 | 物模型映射方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506888A (zh) * | 2017-07-07 | 2017-12-22 | 中国科学院计算机网络信息中心 | 一种通用的在线服务平台定制化评估方法和系统 |
CN109408032A (zh) * | 2018-11-01 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种bios客制化快速实现方法、装置、终端及存储介质 |
CN111858596A (zh) * | 2020-07-22 | 2020-10-30 | 广东电网有限责任公司 | 数据获取方法、装置、计算机设备和存储介质 |
CN112416619A (zh) * | 2020-11-23 | 2021-02-26 | 平安普惠企业管理有限公司 | 一种接口配置方法、设备、终端及存储介质 |
-
2021
- 2021-06-30 CN CN202110741781.XA patent/CN113342860A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506888A (zh) * | 2017-07-07 | 2017-12-22 | 中国科学院计算机网络信息中心 | 一种通用的在线服务平台定制化评估方法和系统 |
CN109408032A (zh) * | 2018-11-01 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种bios客制化快速实现方法、装置、终端及存储介质 |
CN111858596A (zh) * | 2020-07-22 | 2020-10-30 | 广东电网有限责任公司 | 数据获取方法、装置、计算机设备和存储介质 |
CN112416619A (zh) * | 2020-11-23 | 2021-02-26 | 平安普惠企业管理有限公司 | 一种接口配置方法、设备、终端及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849103A (zh) * | 2021-10-13 | 2021-12-28 | 京东科技信息技术有限公司 | 物模型映射方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112380213B (zh) | 信息采集方法、装置、计算机设备和存储介质 | |
CN109933617B (zh) | 一种数据处理方法、装置以及相关设备和介质 | |
CN110659298B (zh) | 财务数据处理方法、装置、计算机设备和存储介质 | |
CN112100219A (zh) | 基于数据库查询处理的报表生成方法、装置、设备和介质 | |
CN110727526B (zh) | 大数据计算任务的处理方法和系统 | |
CN111797604A (zh) | 报表生成方法、装置、设备及计算机可读存储介质 | |
CN112948504B (zh) | 数据采集方法、装置、计算机设备和存储介质 | |
CN113220657A (zh) | 数据处理方法、装置及计算机设备 | |
CN110766520A (zh) | 多系统多店铺订单融合方法、装置、计算机设备和存储介质 | |
CN113342860A (zh) | 基于通用接口的指标计算方法、装置、设备和存储介质 | |
CN110457401B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN109325058B (zh) | 规则批量比对方法、装置、计算机设备和存储介质 | |
CN113918532A (zh) | 画像标签聚合方法、电子设备及存储介质 | |
CN113780673A (zh) | 离职预测模型的训练方法、装置及离职预测方法、装置 | |
CN109271431B (zh) | 数据抽取方法、装置、计算机设备及存储介质 | |
CN116797345A (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
CN112597162B (zh) | 数据集采集方法、系统、设备及存储介质 | |
CN112559221B (zh) | 智能名单处理方法、系统、设备及存储介质 | |
CN110619275A (zh) | 信息推送方法、装置、计算机设备和存储介质 | |
CN113343577B (zh) | 一种基于机器学习的参数优化方法、装置、设备及介质 | |
CN114511314A (zh) | 一种支付账户管理的方法、装置、计算机设备和存储介质 | |
CN112732819A (zh) | 基于etl的数据处理方法、装置、设备和存储介质 | |
CN109656948B (zh) | 位图数据处理方法、装置、计算机设备和存储介质 | |
CN114116761A (zh) | 变量加工方法、装置、计算机设备和存储介质 | |
CN113157754A (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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Huang Qiangsheng Inventor after: Li Yatao Inventor before: Liu Kejia Inventor before: Chen Zhe Inventor before: Zhao Chenxing Inventor before: Huang Ruihua Inventor before: Sun Yasong |
|
CB03 | Change of inventor or designer information | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210903 |
|
WD01 | Invention patent application deemed withdrawn after publication |