业务规则公式化的数据处理方法和系统与流程

文档序号:12366740
业务规则公式化的数据处理方法和系统与流程
本发明涉及数据处理
技术领域
,尤其涉及一种业务规则公式化的数据处理方法和系统。
背景技术
:在许多数据处理系统中,数据处理过程都会受到数据来源和业务规则的影响,例如金融行业的资产托管业务,数据来源自不同的交易所、登记结算机构以及相关市场机构,对这样的异构数据需按照相关业务规则进行清洗、筛选、汇总等以完成日间交易数据处理。这种场景的特点是数据来源多,实时性要求高,数据处理要求类似统计分析系统,计算过程复杂多变,并且部分数据来源有问题时需要快速反复重新处理。对于这种情况,目前的做法是通过将多种接口的数据导入到数据处理系统中,然后按照预先分析好的业务规则对数据逐条清洗,将清洗后的数据按目标条件进行分类、汇总等计算,得出计算结果。另一种做法是通过实时数据仓库处理来实现。第一种数据处理方法,每次数据接口和业务规则变化时都需要变更系统程序,带来较大维护成本,灵活性较差;第二种方法的实时数据仓库投入成本较大,实时数据仓库的软硬件建设投入成本较大,且对数据处理量和吞吐量有较大限制,通常会有一定的数据处理延迟,难以适应业务需求的变化。技术实现要素:本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种业务规则公式化的数据处理方法,该方法可以提高系统灵活性。本发明的另一个目的在于提出一种业务规则公式化的数据处理系统。为达到上述目的,本发明实施例提出的业务规则公式化的数据处理方法,包括:接收数据处理请求;根据所述数据处理请求获取对应的规则表达式;根据所述规则表达式对所述数据处理请求对应的数据进行处理。本发明实施例提出的,通过根据数据处理请求获取对应的规则表达式,并根据规则表达式对数据处理请求对应的数据进行处理,由于规则表达式是根据数据处理请求获取,而不是固化在数据处理系统的系统程序当中,因此在处理不同需求的数据处理请求,或者,处理逻辑发生变化时,可直接修改与该数据处理请求对应的规则表达式,无需变更系统程序,操作更方便,提高了系统的灵活性,降低了系统维护成本。为达到上述目的,本发明实施例提出的业务规则公式化的数据处理系统,包括:接收模块,用于获取数据处理请求;获取模块,用于根据所述数据处理请求获取对应的规则表达式;处理模块,用于根据所述规则表达式对所述数据处理请求对应的数据进行处理。本发明实施例提出的,通过根据数据处理请求获取对应的规则表达式,并根据规则表达式对数据处理请求对应的数据进行处理,由于规则表达式是根据数据处理请求获取,而不是固化在数据处理系统的系统程序当中,因此在处理不同需求的数据处理请求,或者,处理逻辑发生变化时,可直接修改与该数据处理请求对应的规则表达式,无需变更系统程序,操作更方便,提高了系统的灵活性,降低了系统维护成本。为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明一个实施例的业务规则公式化的数据处理方法的流程示意图;图2是本发明另一实施例提出的业务规则公式化的数据处理方法的流程示意图;图3是根据本发明一个实施例实际应用于数据处理流程的示意图;图4是根据本发明一个实施例在银行的资产托管平台系统中应用的示意图;图5是根据本发明一个实施例的公式计算引擎的具体实现程序的类的示意图;图6是本发明另一实施例的业务规则公式化的数据处理系统的结构示意图;图7是本发明另一实施例的业务规则公式化的数据处理系统的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面参考附图描述根据本发明实施例的业务规则公式化的数据处理方法和系统。图1是本发明一实施例提出的业务规则公式化的数据处理方法的流程示意图,该方法包括:S101:接收数据处理请求。具体地,数据处理系统可以先接收数据处理请求,根据数据处理请求来建立具体的数据处理任务。所述数据处理请求可以是人工输入的,也可以是其他系统发出的,还可以是数据处理系统根据预设的策略自动生成的,具体的情况还可以有多种,在此不再一一列举。S102:根据所述数据处理请求获取对应的规则表达式。具体地,数据处理系统可以根据接收到的数据处理请求确定要处理的数据和要对这些数据进行何种处理,所述规则表达式即为进行这些处理所需使用到的公式或函数等具体的表达式。例如在银行的托管系统中,数据处理系统接收到数据处理请求,要求计算当日的证券业务的总成交额,那么根据该数据处理请求即可确定要处理的数据是当日的证券业务的成交额数据,对成交额数据采用加法公式进行求和运算即为处理方法,对应的规则表达式也可以由此确定。在具体的实施过程中,可以将数据清洗、筛选、汇总等多个处理步骤对应的规则分类,总结得到不同的规则表达式。规则表达式的具体形式可以按照实际需求适配成多种形式,例如在本发明的一个优选实施例中,可采用Excel公式的语法形式提供给使用者,采用这种形式利于参数配置人员快速上手和系统外校验,需要理解的是,在具体实现过程中也可以实现规则表达式的校验。规则表达式可以是预先存储在规则库中的,此时可根据数据处理请求从规则库中获取对应的规则表达式;也可以在数据处理过程中根据实际需求修改或添加规则表达式。S103:根据所述规则表达式对所述数据处理请求对应的数据进行处理。在实际应用中,数据处理请求对应的数据可以有多种来源。例如,从不同的 数据接口导入的数据,这些数据往往要经过前期的数据清洗,去除其中重复导入的数据、不符合预设要求的数据、格式不支持的数据等,得到待处理的数据集。数据处理系统可以从所述数据集中获取与所述数据处理请求对应的数据,根据所述规则表达式进行处理。在一些具体的实施例中,数据处理请求中也可以包括待处理的数据,此时,数据处理系统可直接根据相应的规则表达式对所述待处理的数据进行处理。本实施例通过根据数据处理请求获取对应的规则表达式,并根据规则表达式对数据处理请求对应的数据进行处理,由于规则表达式是根据数据处理请求获取,而不是固化在数据处理系统的系统程序当中,因此在处理不同需求的数据处理请求,或者,处理逻辑发生变化时,可直接修改与该数据处理请求对应的规则表达式,无需变更系统程序,操作更方便,提高了系统的灵活性,降低了系统维护成本。图2是根据本发明另一实施例提出的业务规则公式化的数据处理方法的流程示意图,该方法包括:S201:接收数据处理请求。具体地,数据处理系统可以先接收数据处理请求,根据数据处理请求来建立具体的数据处理任务。所述数据处理请求可以是人工输入的,也可以是其他系统发出的,还可以是数据处理系统根据预设的运营办法自动生成的,具体的情况还可以有多种,在此不再一一列举。S202:根据所述数据处理请求获取对应的规则表达式。具体地,可以预先整理各种业务规则对应的规则表达式,建立规则库,在需要进行数据处理时,根据数据处理请求从规则库中获取对应的规则表达式。其中,所述数据处理请求中包括业务属性,业务属性例如是存款业务、贷款业务、证券业务、债券业务、融资业务等,对应不同需求的数据处理请求,业务属性还可以有多种,在此不再一一列举。在本发明的一个实施例中,可根据数据处理请求中的业务属性获取对应的业务规则,然后根据所述业务规则获取对应的规则表达式。具体而言,每个业务规则都可以公式化为具体的规则表达式,例如筛选符合预设条件的数据可以对应条件规则表达式,对指定的数据进行运算可以对应计算规则表达式,对批量数据进行汇总可以对应汇总规则表达式等。规则表达式的具体表现形式可以有多种,本实施例将以规则表达 式是Excel公式的语法形式为例进行说明。在本发明的一个实施例中,可以根据业务规则的分类得到不同类型的规则表达式,进而建立规则库。在具体实施例中可以分析出信息判断类、逻辑处理类、文本处理类、数学计算类、日期时间类、统计查询类、业务自定义等共计七大类基本规则库,各类型的规则表达式样例及其功能如表1所示。通过对规则库中的规则表达式分类,可以方便规则表达式的查找和规则库的维护。具体的规则库类型可以根据具体业务规则和数据概念模型等辅助工具的分析进行设计,不仅限于本方案所列举的类型。需要理解的是,在数据处理过程前期,可以先分析各种数据来源、数据接口,梳理其中的业务需求,形成数据处理主体流程和规则库。由于规则库与数据处理主流程可以分别进行维护,因此规则库中的规则表达式可以随时添加和/或修改,具体可以根据业务规则调整规则库中的规则表达式,和/或,根据业务需求添加新的规则表达式到规则库中。例如,当某一业务规则变化时,对应的规则表达式也可能需要进行调整,具体可以是对原来对应的规则表达式进行修改,也可以是添加新的规则表达式到规则库中,以便于根据变化后的业务规则调用,还可以根据该变化后的业务规则调用规则库中已有的其他表达式,具体的调整方式可以是灵活的,在此不再赘述。表1No.类型规则表达式样例功能说明1信息判断类type(Objectvalue)判断对应值的类型2逻辑处理类and(Object[]booleans)对一组逻辑计算单元进行“与”操作的逻辑判断3文本处理类concatenate(Object[]texts)对相关文本进行拼接4数学计算类abs(Objectvalue)对给出值进行取绝对值的判断5日期时间类monthOf(Stringdate)对给定日期计算对应月份6统计查询类average(Object[]numbers)对一组数据计算平均值7自定义类QGZR(Datedate)按给出的日期取工作日S203:获取所述数据处理请求对应的数据。在实际应用中,数据处理请求对应的数据可以有多种来源。例如,来自各交 易所的数据文件和各类金融机构自定义的接口文档,可先通过前置程序对这些从不同数据接口导入的各类型的数据文件进行数据清洗,去除其中重复导入的数据、不符合预设要求的数据、格式不支持的数据等,得到规范化后的待处理的数据集。数据处理系统可以从所述数据集中获取与所述数据处理请求对应的数据,进入数据处理主流程进行处理。在另外一些实施例中,数据处理请求中也可以包括待处理的数据。S204:根据数据处理请求中的业务规则确定所述数据中相关的业务项。具体地,在一组待处理的数据当中,根据业务规则,参与数据处理的内容可能仅仅是该数据中的一部分,根据业务规则可以确定需要对该数据的哪一部分进行处理。例如一条交易记录数据包括证券代码、交易时间、成交金额、成交量、流水号、股东代码等多项内容,在所述数据处理请求是计算该组证券业务数据的过户费时,根据对应的业务规则“过户费为成交金额的0.05%”,那么与当前数据处理流程相关的业务项即为成交金额。S205:将所述业务项代入所述规则表达式,得到处理结果。具体地,可以将相关的业务项的内容作为参数代入到与业务规则对应的规则表达式中进行处理,得到处理结果。例如,对于计算证券业务过户费的请求,监管机构预设的业务规则为“成交金额的0.05%”,那么根据业务规则即可确定要调用的规则表达式为a*0.05%,代入a运算的数据是“成交金额”,其中0.05%为预设参数。在本发明的一个实施例中,规则表达式可以包括条件规则表达式、计算规则表达式、汇总规则表达式中的至少一种,可以根据所述条件规则表达式对所述数据进行筛选;和/或根据所述计算规则表达式对所述数据进行计算;和/或根据所述汇总规则表达式对所述数据进行汇总。具体而言,数据处理系统可以将传统的固化处理流程分解为例如清洗、筛选、计算、汇总等多个阶段,对应每个阶段的业务规则调用相应的规则表达式进行数据处理,从而分步完成数据处理的主流程。需要理解的是,根据不同的数据处理请求调用的规则表达式可能会相同。下面以银行的托管平台系统为例对本发明的实施例进行说明。如图3所示,托管平台系统中的数据来源众多,可采用集中多线程入库的方式,将初步加工的源数据导入到数据库中。数据处理系统中嵌入公式计算引擎,在接收到数据处理请求后,数据处理系统读取数据库中的源数据,按照维护人员设置的业务规 则,公式计算引擎调用对应的规则表达式对数据进行处理。按上述业务场景,对于数据处理的筛选、计算和汇总可按照如下的方式:对每一条数据使用相关的条件规则表达式进行筛选,筛选出满足需求的数据集;对每个因子的计算可使用计算规则表达式,逐条按计算规则表达式计算出相应的属性值;对数据集进行汇总可使用汇总规则表达式,得到对应的属性数据的汇总。具体应用如图4所示,以第一行为例,通过预设的条件规则表达式判断数据中属性名为[ZQDM]的值的前6位是否为“200401”或者“200402”,从而筛选出这些数据中“证券代码”为“200401”和“200402”的数据;然后对于待选得到的这些满足条件的数据,按照预设的业务规则调用对应的多个规则表达式,处理得出[YWLB]为“023”拼合上属性名为[BS]的值,以及[LX]等多个输出项的值,图4中费率设置一栏对应的即为规则表达式。根据规则表达式和参数计算输出结果的过程可通过公式计算引擎来完成。公式计算引擎可读取各种业务规则对应的规则表达式,每一个规则表达式都可以作为一个基本的计算单元,然后由至少一个计算单元组成公式计算引擎。规则表达式是实现各种功能的规则公式化后的原型,以Excel公式的语法形式为例,如需要把两个字符串拼接在一起,那么公式就会写成concatenate(“aaa”,“bbb”),而这些功能就在每个计算单元中实现。图5是根据本发明一个实施例具体实现公式计算引擎的类图。如图5所示,公式计算引擎由计算服务类(ExpressionServices)作为核心类,通过计算缓冲池(ExpressionPool)根据业务规则动态配置各类型规则表达式(Expression),调用计算执行实体(ExpressionExecuter)根据规则表达式完成对数据的处理。其中,计算缓冲池的处理过程可预编译出规则表达式实体,从而可以在大量重复计算时能有效减少运行开销,提高公式计算引擎的效率。其中,计算缓冲池(ExpressionPool)中即为实现所述规则库的实体。每个规则表达式对应的计算单元在创建后都会存放在计算缓冲池(ExpressionPool)中。在之后的数据处理过程中,如果要调用的是相同的规则表达式而只是参数不一样,那么就无需重新编译规则表达式,而是直接修改参数并执行相应的计算单元,从而可以加快执行效率。例如:原先监管机构对过户费的业务规则为“成交金额的0.05%”,假定某交易所将过户费收取规则修改为“当日收盘价的0.05%”,按传统的数据处理方法必须先变更固化在系统中的程序逻辑,然后再经过业务测试后投产,难以快速响应,而采用本发明实施例的方法后,则只需要根据变更后的过户费收取规则更改对应的规 则表达式的参数即可。本实施例通过根据中的业务属性获取对应的业务规则及其对应的规则表达式,并根据规则表达式对数据处理请求对应的数据进行处理,由于规则表达式是根据数据处理请求获取,而不是固化在数据处理系统的系统程序当中,因此在处理不同需求的数据处理请求,或者,处理逻辑发生变化时,可直接修改与该数据处理请求对应的规则表达式,无需变更系统程序,操作更方便,提高了系统的灵活性,降低了系统维护成本。本实施例能在业务规则变化时添加或调整规则表达式,动态维护规则库,有效适应数据来源复杂、业务规则变化频繁的业务场景,增强了系统的可扩展性,此外,还可以将复杂的数据处理流程分解为多个阶段,分步完成数据处理的主流程,以满足各种复杂的数据处理需求,避免系统扩展导致的系统效能下降。为了实现上述实施例,本发明还提出一种业务规则公式化的数据处理系统。图6是本发明另一实施例的业务规则公式化的数据处理系统的结构示意图。如图6所示,该系统包括:接收模块100、获取模块200和处理模块300。具体地,接收模块100用于获取数据处理请求。接收模块100可以先接收数据处理请求,根据数据处理请求来建立具体的数据处理任务。所述数据处理请求可以是人工输入的,也可以是其他系统发出的,还可以是数据处理系统根据预设的策略自动生成的,具体的情况还可以有多种,在此不再一一列举。获取模块200用于根据所述数据处理请求获取对应的规则表达式。获取模块200可以根据接收到的数据处理请求确定要处理的数据和要对这些数据进行何种处理,所述规则表达式即为进行这些处理所需使用到的公式或函数等具体的表达式。例如在银行的托管系统中,接收模块100接收到数据处理请求,要求计算当日的证券业务的总成交额,那么获取模块200根据该数据处理请求即可确定要处理的数据是当日的证券业务的成交额数据,对成交额数据采用加法公式进行求和运算即为处理方法,对应的规则表达式也可以由此确定。在具体的实施过程中,可以将数据清洗、筛选、汇总等多个处理步骤对应的规则分类,总结得到不同的规则表达式。规则表达式的具体形式可以按照实际需求适配成多种形式,例如在本发明的一个优选实施例中,可采用Excel公式的语法形式提供给使用者,采用这种形式利于参数配置人员快速上手和系统外校验,需要理解的是,在具体实现过程中也可以实现规则表达式的校验。规则表达式可以是预先存储在规则库中的,此时可根据数据处理请求从规则库中获取对应的规则表达式;也可以在数据处 理过程中根据实际需求修改或添加规则表达式。处理模块300用于根据所述规则表达式对所述数据处理请求对应的数据进行处理。在实际应用中,数据处理请求对应的数据可以有多种来源。例如,从不同的数据接口导入的数据,这些数据往往要经过前期的数据清洗,去除其中重复导入的数据、不符合预设要求的数据、格式不支持的数据等,得到待处理的数据集。处理模块300可以从所述数据集中获取与所述数据处理请求对应的数据,根据所述规则表达式进行处理。在一些具体的实施例中,数据处理请求中也可以包括待处理的数据,此时,处理模块300可直接根据相应的规则表达式对所述待处理的数据进行处理。本实施例通过根据数据处理请求获取对应的规则表达式,并根据规则表达式对数据处理请求对应的数据进行处理,由于规则表达式是根据数据处理请求获取,而不是固化在数据处理系统的系统程序当中,因此在处理不同需求的数据处理请求,或者,处理逻辑发生变化时,可直接修改与该数据处理请求对应的规则表达式,无需变更系统程序,操作更方便,提高了系统的灵活性,降低了系统维护成本。图7是本发明另一实施例的业务规则公式化的数据处理系统的结构示意图。如图7所示,该系统包括:接收模块100、获取模块200、第一获取单元210、第二获取单元220、处理模块300、提取单元310、处理单元320、规则库400和调整模块500,其中,获取模块200包括第一获取单元210、第二获取单元220,处理模块300包括提取单元310、处理单元320。具体地,规则库400与所述获取模块100相连,所述获取模块100根据所述数据处理请求从所述规则库400中获取规则表达式。更具体地,可以预先整理各种业务规则对应的规则表达式,建立规则库,在需要进行数据处理时,获取模块100根据数据处理请求从规则库400中获取对应的规则表达式。所述数据处理请求中包括业务属性,业务属性例如是存款业务、贷款业务、证券业务、债券业务、融资业务等,对应不同需求的数据处理请求,业务属性还可以有多种,在此不再一一列举。进一步地,所述获取模块200,包括:第一获取单元210,用于获取所述业务属性对应的业务规则;第二获取单元220,用于根据所述业务规则从所述规则库中获取对应的规则表达式。具体而言,每个业务规则都可以公式化为具体的规则表达式,例如筛选符合预设条件的数据可以对应条件规则表达式,对指定的数据进行运算可以对 应计算规则表达式,对批量数据进行汇总可以对应汇总规则表达式等。规则表达式的具体表现形式可以有多种,本实施例将以规则表达式是Excel公式的语法形式为例进行说明。在本发明的一个实施例中,可以根据业务规则的分类得到不同类型的规则表达式,进而建立规则库。在具体实施例中可以分析出信息判断类、逻辑处理类、文本处理类、数学计算类、日期时间类、统计查询类、业务自定义等共计七大类基本规则库,各类型的规则表达式样例及其功能如表1所示。通过对规则库中的规则表达式分类,可以方便规则表达式的查找和规则库的维护。具体的规则库类型可以根据具体业务规则和数据概念模型等辅助工具的分析进行设计,不仅限于本方案所列举的类型。需要理解的是,在数据处理过程前期,可以先分析各种数据来源、数据接口,梳理其中的业务需求,形成数据处理主体流程和规则库。由于规则库与数据处理主流程可以分别进行维护,因此规则库中的规则表达式可以随时添加和/或修改,更具体地,调整模块500可以根据业务规则调整所述规则库中的规则表达式,和/或,根据业务需求添加新的规则表达式到所述规则库中。例如,当某一业务规则变化时,对应的规则表达式也可能需要进行调整,具体可以是对原来对应的规则表达式进行修改,也可以是添加新的规则表达式到规则库中,以便于根据变化后的业务规则调用,还可以根据该变化后的业务规则调用规则库中已有的其他表达式,具体的调整方式可以是灵活的,在此不再赘述。所述处理模块300包括:提取单元310用于根据所述业务规则提取所述数据中相应的业务项;处理单元320用于将所述业务项代入所述规则表达式,得到处理结果。更具体地,在一组待处理的数据当中,根据业务规则,参与数据处理的内容可能仅仅是该数据中的一部分,根据业务规则可以确定需要对该数据的哪一部分进行处理。例如一条交易记录数据包括证券代码、交易时间、成交金额、成交量、流水号、股东代码等多项内容,在所述数据处理请求是计算该组证券业务数据的过户费时,提取单元310根据对应的业务规则“过户费为成交金额的0.05%”可确定对应的业务项即为成交金额。然后处理单元320可以将相关的业务项的内容作为参数代入到与业务规则对应的规则表达式中进行处理,得到处理结果。例如,对于计算证券业务过户费的请求,监管机构预设的业务规则为“成交金额的0.05%”,那么根据业务规则即可确定要调用的规则表达式为a*0.05%,代入a运算的数据是“成交金额”,其中0.05%为预设参数。进一步地,规则表达式可以包括条件规则表达式、计算规则表达式、汇总规则表达式中的至少一种,所述处理模块300具体用于:根据所述条件规则表达式对所述数据进行筛选;和/或根据所述计算规则表达式对所述数据进行计算;和/或根据所述汇总规则表达式对所述数据进行汇总。具体而言,可以将传统的固化处理流程分解为例如清洗、筛选、计算、汇总等多个阶段,对应每个阶段的业务规则调用相应的规则表达式进行数据处理,从而分步完成数据处理的主流程。需要理解的是,根据不同的数据处理请求调用的规则表达式可能会相同。下面以银行的托管平台系统为例对本发明的实施例进行说明。如图3所示,托管平台系统中的数据来源众多,可采用集中多线程入库的方式,将初步加工的源数据导入到数据库中。处理模块300可通过公式计算引擎实现,在接收模块100接收到数据处理请求后,数据处理系统读取数据库中的源数据,按照维护人员设置的业务规则,公式计算引擎调用对应的规则表达式对数据进行处理。按上述业务场景,对于数据处理的筛选、计算和汇总可按照如下的方式:对每一条数据使用相关的条件规则表达式进行筛选,筛选出满足需求的数据集;对每个因子的计算可使用计算规则表达式,按计算规则表达式计算出相应的属性值;对数据集进行汇总可使用汇总规则表达式,得到对应的属性数据的汇总。具体应用如图4所示,以第一行为例,通过预设的条件规则表达式判断数据中属性名为[ZQDM]的值的前6位是否为“200401”或者“200402”,从而筛选出这些数据中“证券代码”为“200401”和“200402”的数据;然后对于待选得到的这些满足条件的数据,按照预设的业务规则调用对应的多个规则表达式,处理得出[YWLB]为“023”拼合上属性名为[BS]的值,以及[LX]等多个输出项的值,图4中费率设置一栏对应的即为规则表达式。公式计算引擎可读取各种业务规则对应的规则表达式,每一个规则表达式都可以作为一个基本的计算单元,然后由至少一个计算单元组成公式计算引擎。规则表达式是实现各种功能的规则公式化后的原型,以Excel公式的语法形式为例,如需要把两个字符串拼接在一起,那么公式就会写成concatenate(“aaa”,“bbb”),而这些功能就在每个计算单元中实现。图5是根据本发明一个实施例具体实现公式计算引擎的类图。如图5所示,公式计算引擎由计算服务类(ExpressionServices)作为核心类,通过计算缓冲池(ExpressionPool)根据业务规则动态配置各类型规则表达式(Expression),调用计算执行实体(ExpressionExecuter)根据规则表达式完成对数据的处理。其中,计算缓冲池的处理过程可预编译出规则表达式实体,从而可以在大量重复计算时能有效减少运行开销,提高公式计算引擎的效率。其中,计算缓冲池(ExpressionPool)中即为实现所述规则库400的实体。每个规则表达式对应的计算单元在创建后都会存放在计算缓冲池(ExpressionPool)中。在之后的数据处理过程中,如果要调用的是相同的规则表达式而只是参数不一样,那么就无需重新编译规则表达式,而是直接修改参数并执行相应的计算单元,从而可以加快执行效率。例如:原先监管机构对过户费的业务规则为“成交金额的0.05%”,假定某交易所将过户费收取规则修改为“当日收盘价的0.05%”,按传统的数据处理方法必须先变更固化在系统中的程序逻辑,然后再经过业务测试后投产,难以快速响应,而采用本发明实施例的方法后,则只需要根据变更后的过户费收取规则更改对应的规则表达式的参数即可。本实施例通过根据中的业务属性获取对应的业务规则及其对应的规则表达式,并根据规则表达式对数据处理请求对应的数据进行处理,由于规则表达式是根据数据处理请求获取,而不是固化在数据处理系统的系统程序当中,因此在处理不同需求的数据处理请求,或者,处理逻辑发生变化时,可直接修改与该数据处理请求对应的规则表达式,无需变更系统程序,操作更方便,提高了系统的灵活性,降低了系统维护成本。本实施例能在业务规则变化时添加或调整规则表达式,动态维护规则库,有效适应数据来源复杂、业务规则变化频繁的业务场景,增强了系统的可扩展性,此外,还可以将复杂的数据处理流程分解为多个阶段,分步完成数据处理的主流程,以满足各种复杂的数据处理需求,避免系统扩展导致的系统效能下降。需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属
技术领域
的技术人员所理解。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可 编程门阵列(PGA),现场可编程门阵列(FPGA)等。本
技术领域
的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页1 2 3 
再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1