业务规则模型的回溯测试方法、装置、系统及决策引擎转让专利

申请号 : CN202111504329.8

文献号 : CN114168565B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李渊

申请人 : 北京宇信科技集团股份有限公司

摘要 :

本发明提供业务规则模型的回溯测试方法、装置、系统及决策引擎,该方法包括:从服务器获取待测试的业务规则模型的历史输入数据和历史输出数据;历史输入数据作为输入参数对所述待测试的业务规则模型进行回溯测试计算,获得当前计算结果,将所述当前计算结果和对应的历史输出数据对比后得到一致程度;将各历史输出数据对应的多个一致程度写入所述服务器。该方法可利用历史生产数据对指定规则模型进行测试。

权利要求 :

1.一种业务规则模型的回溯测试方法,应用于决策引擎中,其特征在于,包括:

从服务器获取待测试的业务规则模型的一批历史数据,所述一批历史数据包括多笔历史数据,每笔历史数据包括历史输入数据和历史输出数据;

将历史输入数据作为输入参数对所述待测试的业务规则模型进行回溯测试计算,获得当前计算结果,将所述当前计算结果和对应的历史输出数据对比后得到一致程度;

其中,将所述当前计算结果和对应的历史输出数据对比后得到一致程度的步骤包括:

当历史输出数据的第一组输出参数的数量和当前计算结果的第二组输出参数的数量一致,并且第一组输出参数与第二组输出参数的同名参数的参数值均一致时,确定本笔历史数据的一致程度是第一程度;

当历史输出数据的第一组输出参数的数量小于当前计算结果的第二组输出参数的数量,并且第二组输出参数包含第一组输出参数,第二组输出参数与第一组输出参数中同名参数对应的参数值相同时,确定本笔历史数据的一致程度是第二程度;

当历史输出数据的第一组输出参数的数量大于当前计算结果的第二组输出参数的数量,并且第一组输出参数包含第二组输出参数,第一组输出参数与第二组输出参数中同名参数对应的参数值相同时,确定本笔历史数据的一致程度是第三程度;

当历史输出数据的第一组输出参数的数量和当前计算结果的第二组输出参数的数量一致,并且半数及以上的同名参数的参数值对应相同时,确定本笔历史数据的一致程度是第四程度;

当历史输出数据的第一组输出参数的数量和当前计算结果的第二组输出参数的数量一致,并且半数以下的同名参数的值对应相同时,确定本笔历史数据的一致程度是第五程度;

当历史输出数据的第一组输出参数的数量、参数名、参数值和当前计算结果的第二组输出参数的数量、参数名、参数值均不相同时,确定本笔历史数据的一致程度是第六程度;

当本笔历史数据的测试结果的一致程度为第一程度、第二程度或第三程度时,确定本笔历史数据通过回溯测试;

将本批历史数据及其对应的多个一致程度以及每笔历史数据是否通过回溯测试的指示信息写入所述服务器。

2.根据权利要求1所述的方法,其特征在于,所述的从服务器获取待测试的业务规则模型的历史输入数据和历史输出数据的步骤具体包括:按照设定的时间范围,分批次从ES服务器取出待测试的业务规则模型的已上线版本运行产生的多笔历史数据。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

响应于进度查询请求,向页面端设备返回当前业务规则模型的回溯测试的执行进度;

和/或,

响应于结果查询请求,向页面端设备返回已完成回溯测试的业务规则模型的测试结果数据;所述测试结果数据包括:已完成回溯测试的业务规则模型对应的历史数据的总笔数,通过回溯测试的历史数据的笔数,以及通过率;所述通过率是通过回溯测试的历史数据的笔数与已完成回溯测试的业务规则模型对应的历史数据的总笔数的比值。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于结果查询请求,向页面端设备返回已完成回溯测试的业务规则模型的测试结果页面;其中,所述测试结果页面中包括:第一显示区域,其显示总统计信息,所述总统计信息包括:已完成回溯测试的业务规则模型的数量,参与回溯测试的历史数据的第一总条数,通过回溯测试的历史数据的第一通过条数,以及总通过率,所述总通过率是所述第一通过条数与所述第一总条数的比值;

页签,用于响应于用户的切换指令,切换业务规则模型;

第二显示区域,用于响应于用户对所述页签发出的切换指令,显示用户选中的业务规则模型对应的基本信息和子统计信息;所述基本信息包括:模型库ID、规则集ID、规则ID、规则名、版本号、用户选中的业务规则模型中通过回溯测试的历史数据的第二通过条数,用户选中的业务规则模型对应的历史数据的第二总条数,以及子通过率,所述子通过率是所述第二通过条数与所述第二总条数的比值;

第一交互控件,用于响应于用户操作,显示用户选中的多个输入参数对应的标签;

第二交互控件,用于响应于用户操作,显示用户选中的多个输出参数对应的标签;

第三显示区域,用于通过分页方式显示参与回溯测试的历史数据,在每一页中针对每条参与回溯测试的历史数据,显示用户选中的多个输入参数和多个输出参数分别对应参数值,所述多个输出参数包括:历史输出数据的第一组输出参数和回溯测试计算产生的当前计算结果的第二组输出参数;以及,在每一页中显示每条参于回溯测试的历史数据的一致程度。

5.一种业务规则模型的回溯测试装置,应用于决策引擎中,其特征在于,包括:

取数模块,用于从服务器获取待测试的业务规则模型的一批历史数据,所述一批历史数据包括多笔历史数据,每笔历史数据包括历史输入数据和历史输出数据;

处理模块,用于将历史输入数据作为输入参数对所述待测试的业务规则模型进行回溯测试计算,获得当前计算结果,将所述当前计算结果和对应的历史输出数据对比后得到一致程度;

所述处理模块,具体用于:

当历史输出数据的第一组输出参数的数量和当前计算结果的第二组输出参数的数量一致,并且第一组输出参数与第二组输出参数的同名参数的参数值均一致时,确定本笔历史数据的一致程度是第一程度;

当历史输出数据的第一组输出参数的数量小于当前计算结果的第二组输出参数的数量,并且第二组输出参数包含第一组输出参数,第二组输出参数与第一组输出参数中同名参数对应的参数值相同时,确定本笔历史数据的一致程度是第二程度;

当历史输出数据的第一组输出参数的数量大于当前计算结果的第二组输出参数的数量,并且第一组输出参数包含第二组输出参数,第一组输出参数与第二组输出参数中同名参数对应的参数值相同时,确定本笔历史数据的一致程度是第三程度;

当历史输出数据的第一组输出参数的数量和当前计算结果的第二组输出参数的数量一致,并且半数及以上的同名参数的参数值对应相同时,确定本笔历史数据的一致程度是第四程度;

当历史输出数据的第一组输出参数的数量和当前计算结果的第二组输出参数的数量一致,并且半数以下的同名参数的值对应相同时,确定本笔历史数据的一致程度是第五程度;

当历史输出数据的第一组输出参数的数量、参数名、参数值和当前计算结果的第二组输出参数的数量、参数名、参数值均不相同时,确定本笔历史数据的一致程度是第六程度;

判定模块,用于当本笔历史数据的测试结果的一致程度为第一程度、第二程度或第三程度时,确定本笔历史数据通过回溯测试;

写入模块,用于将本批历史数据及其对应的多个一致程度以及每笔历史数据是否通过回溯测试的指示信息写入所述服务器。

6.根据权利要求5所述的装置,其特征在于,所述取数模块,具体用于按照设定的时间范围,分批次从ES服务器取出待测试的业务规则模型的已上线版本运行产生的多笔历史数据。

7.一种决策引擎,其特征在于,包括:

规则管理模块,用于对业务规则模型进行增加、删除、修改和查询;

规则设计和编辑模型,用于对业务规则模型进行编辑;

规则仿真测试模块,用于对编辑好的业务规则模型进行仿真测试;所述规则仿真测试模块包括权利要求5或6所述的业务规则模型的回溯测试装置;

规则计算模块,用于根据给定输入参数对指定业务规则模型进行回溯测试计算,获得输出结果。

8.一种业务规则模型的回溯测试系统,其特征在于,包括:页面端设备,第一服务器和第二服务器;

所述页面端设备,用于向所述第一服务器发送对指定业务规则模型进行测试的测试请求;以及向所述第二服务器发送获取结果查询请求;

所述第一服务器,用于响应于所述测试请求,从第二服务器获取待测试的业务规则模型的一批历史数据,所述一批历史数据包括多笔历史数据,每笔历史数据包括历史输入数据和历史输出数据;将历史输入数据作为输入参数对所述待测试的业务规则模型进行回溯测试计算,获得当前计算结果,将所述当前计算结果和对应的历史输出数据对比后得到一致程度;其中,将所述当前计算结果和对应的历史输出数据对比后得到一致程度包括:当历史输出数据的第一组输出参数的数量和当前计算结果的第二组输出参数的数量一致,并且第一组输出参数与第二组输出参数的同名参数的参数值均一致时,确定本笔历史数据的一致程度是第一程度;当历史输出数据的第一组输出参数的数量小于当前计算结果的第二组输出参数的数量,并且第二组输出参数包含第一组输出参数,第二组输出参数与第一组输出参数中同名参数对应的参数值相同时,确定本笔历史数据的一致程度是第二程度;当历史输出数据的第一组输出参数的数量大于当前计算结果的第二组输出参数的数量,并且第一组输出参数包含第二组输出参数,第一组输出参数与第二组输出参数中同名参数对应的参数值相同时,确定本笔历史数据的一致程度是第三程度;当历史输出数据的第一组输出参数的数量和当前计算结果的第二组输出参数的数量一致,并且半数及以上的同名参数的参数值对应相同时,确定本笔历史数据的一致程度是第四程度;当历史输出数据的第一组输出参数的数量和当前计算结果的第二组输出参数的数量一致,并且半数以下的同名参数的值对应相同时,确定本笔历史数据的一致程度是第五程度;当历史输出数据的第一组输出参数的数量、参数名、参数值和当前计算结果的第二组输出参数的数量、参数名、参数值均不相同时,确定本笔历史数据的一致程度是第六程度;当本笔历史数据的测试结果的一致程度为第一程度、第二程度或第三程度时,确定本笔历史数据通过回溯测试;将本批历史数据及其对应的多个一致程度以及每笔历史数据是否通过回溯测试的指示信息写入所述服务器;

所述第二服务器,用于响应于结果查询请求,向所述页面端返回已完成回溯测试的业务规则模型的测试结果。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机 程序被处理器执行时实现如权利要求1‑4中任意一项所述的业务规则模型的回溯测试方法。

10.一种计算机设备,其特征在于,其包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1‑4中任一所述的业务规则模型的回溯测试方法。

说明书 :

业务规则模型的回溯测试方法、装置、系统及决策引擎

技术领域

[0001] 本发明涉及计算机软件技术领域,应用于金融IT业,具体涉及业务规则模型的回溯测试方法、装置、系统及决策引擎。

背景技术

[0002] 决策引擎是一款业务规则运营管理产品,由推理引擎发展而来,实现了将业务规则从应用程序代码中分离出来以满足频繁变化的业务规则需求。
[0003] 在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
[0004] 现有市场上的类似产品大都满足业务规则变化的需求,但并不能进行数据的辅助分析。在统计分析手段中,利用生产数据对待上线的规则或模型进行测试是很常见且有意义的一种,但现有方式主要是手动将数据下载,后利用三方工具进行,使用三方工具有一定的学习成本,还需要将实际数据加工成指定的结构,而且被测规则模型也需要转化格式。

发明内容

[0005] 有鉴于此,本发明实施例的目的在于提供一种业务规则模型的回溯测试方法、装置、系统及决策引擎,以进行数据的辅助分析。
[0006] 第一方面,本发明实施例提供了一种业务规则模型的回溯测试方法,应用于决策引擎中,其包括:
[0007] 从服务器获取待测试的业务规则模型的历史输入数据和历史输出数据;
[0008] 将历史输入数据作为输入参数对所述待测试的业务规则模型进行回溯测试计算,获得当前计算结果,将所述当前计算结果和对应的历史输出数据对比后得到一致程度;
[0009] 将各历史输出数据对应的多个一致程度写入所述服务器。
[0010] 第二方面,本发明实施例提供了一种业务规则模型的回溯测试装置,应用于决策引擎中,其包括:
[0011] 取数模块,用于从服务器获取待测试的业务规则模型的历史输入数据和历史输出数据;
[0012] 处理模块,用于将历史输入数据作为输入参数对所述待测试的业务规则模型进行回溯测试计算,获得当前计算结果,将所述当前计算结果和对应的历史输出数据对比后得到一致程度;
[0013] 写入模块,用于将各历史输出数据对应的多个一致程度写入所述服务器。
[0014] 第三方面,本发明实施例提供了一种决策引擎,其包括:
[0015] 规则管理模块,用于对业务规则模型进行增加、删除、修改和查询;
[0016] 规则设计和编辑模型,用于对业务规则模型进行编辑;
[0017] 规则仿真测试模块,用于对编辑好的业务规则模型进行仿真测试;所述规则仿真测试模块包括权利上述的业务规则模型的回溯测试装置;
[0018] 规则计算模块,用于根据给定输入参数对指定业务规则模型进行回溯测试计算,获得输出结果。上述指定输入参数是从回溯测试装置获得的。
[0019] 可选地,规则计算模块,还用于向所述规则仿真测试模块反馈回溯测试计算结果。
[0020] 可选地,规则计算模块,用于规则模型计算,回溯测试装置调用此模块,得到给定输入参数下指定规则模型的输出参数结果。
[0021] 第四方面,本发明实施例提供了一种业务规则模型的回溯测试系统,其包括:页面端设备,第一服务器和第二服务器;
[0022] 所述页面端设备,用于向所述第一服务器发送对指定业务规则模型进行测试的测试请求;以及向所述第二服务器发送获取结果查询请求;
[0023] 所述第一服务器,用于响应于所述测试请求,从第二服务器获取待测试的业务规则模型的历史输入数据和历史输出数据;将历史输入数据作为输入参数对所述待测试的业务规则模型进行回溯测试计算,获得当前计算结果,将所述当前计算结果和对应的历史输出数据对比后得到一致程度;将各历史输出数据对应的多个一致程度写入所述第二服务器;
[0024] 所述第二服务器,用于响应于结果查询请求,向所述页面端返回已完成回溯测试的业务规则模型的测试结果。
[0025] 第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面所述的任意一种业务规则模型的回溯测试方法。
[0026] 第六方面,本发明实施例提供了一种计算机设备,其包括:
[0027] 一个或多个处理器;
[0028] 存储装置,用于存储一个或多个程序;
[0029] 当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如第一方面所述的任意一种业务规则模型的回溯测试方法。
[0030] 上述技术方案具有如下有益效果:
[0031] 1、利用历史生产数据对指定规则模型进行测试,用户无需造数,并可以借此观察验证模型的拟生产表现。
[0032] 2、将回溯测试工具集成到如决策引擎等业务规则模型管理工具中,用户无需再借助三方工具进行;
[0033] 3、支持百万级大数据量。

附图说明

[0034] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035] 图1A是本发明实施例的一种业务规则模型的回溯测试方法的流程图;
[0036] 图1B是本发明实施例的另一种业务规则模型的回溯测试方法的流程图;
[0037] 图2A是本发明实施例的一种业务规则模型的回溯测试装置的功能框图;
[0038] 图2B是本发明实施例的另一种业务规则模型的回溯测试装置的功能框图;
[0039] 图3是本发明实施例的一种业务规则模型的回溯测试系统的功能框图;
[0040] 图4是本发明实施例的任务执行时序图;
[0041] 图5是本发明实施例的计算结果展示的页面;
[0042] 图6A是本发明实施例的回溯测试工具和决策引擎平台的关系示意图;
[0043] 图6B是本发明实施例的决策引擎的详细功能框图;
[0044] 图7是本发明实施例的计算机可读存储介质的功能框图;
[0045] 图8是本发明实施例的计算机设备的功能框图。

具体实施方式

[0046] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047] 本发明实施例提供一种集成在决策引擎内,可利用已产生的历史数据对现有规则模型进行的回溯测试的方法和工具,避免利用三方工具进行测试。
[0048] 本发明实施例涉及基于决策引擎对传统金融业务规则进行回溯测试及分析的技术。
[0049] 以下内容都是基于现有决策引擎产品之上的增量部分做介绍,决策引擎相当于一个容纳了很多业务模型和工具的Web端图形化模型开发及管理平台,本发明实施例是其中的工具,为其内置的业务模型服务。
[0050] 在业务规则模型中,业务是为了强调金融场景的业务性,规则强调传统性的规则(例如评分卡、决策表),模型也包含规则的意思,但更多指代非传统的规则,例如机器学习中的关联模型,聚类模型等。
[0051] 实施例一
[0052] 图1A是本发明实施例的一种业务规则模型的回溯测试方法的流程图。如图1A所示,该方法应用于决策引擎中,其包括如下步骤:
[0053] S110、从服务器获取待测试的业务规则模型的历史输入数据和历史输出数据。
[0054] 具体地,本步骤可以从服务器获取待测试的业务规则模型的一批历史数据,一批历史数据包括多笔历史数据,每笔历史数据包括:历史输入数据和历史输出数据。
[0055] S120、将历史输入数据作为输入参数对所述待测试的业务规则模型进行回溯测试计算,获得当前计算结果,将所述当前计算结果和对应的历史输出数据对比后得到一致程度。
[0056] 具本地,本步骤可以针对每一笔历史数据执行如下回溯测试处理,直到本批历史数据中的全部历史数据均完成回溯测试处理,得到本批历史数据对应的多个一致程度;其中,回溯测试处理包括:将当前的一笔历史数据中的历史输入数据作为输入参数对待测试的业务规则模型进行回溯测试计算,获得当前计算结果(回溯测试计算结果),将当前计算结果和本笔历史数据中的历史输出数据对比后得到本笔历史数据的一致程度。
[0057] 具体地,回溯测试计算过程通过调用决策引擎平台的规则计算模块提供的模型计算接口完成,调用需要传入模型基本信息(包括模型Id和版本号)和输入参数信息,计算模块根据模型基本信息定位到规则计算模块中指定模型ID和版本号的模型,后编译运行(模型文件存储的是文本,需要经过词法和语法分析编译成二进制程序)得到输出(该笔数据的计算结果)。举例如下:假设现在回溯测试任务执行中,并已拿到一批历史生产数据,这时每一笔数据的计算过程如下,回溯测试装置会将被测模型的ID和版本号作为基本信息和该笔数据的历史输入数据作为输入参数信息,一起提供给规则计算模块进行计算,同步拿到计算结果后,在回溯测试装置中将计算结果和该笔生产数据的输出对比得到一致程度,完成一笔计算。
[0058] S130、将各历史输出数据对应的多个一致程度写入所述服务器。
[0059] 在一些实施例中,可以将本批历史数据及其对应的多个一致程度写入服务器。
[0060] 在另一些实施例中,将当前计算结果(回溯测试计算结果)及其对应的一致程度作为一组数据写入服务器中,该服务器(后文中的ES服务器)根据回溯测试计算结果、一致程度匹配到相应的一笔历史数据,将匹配到的一笔历史数据与相应的回溯测试计算结果、一致程度对应构建映射关系并进行存储。
[0061] 在另一些实施例中,将历史输出数据、该历史输出数据对应的当前计算结果,以及该历史输出数据与其对应的当前计算结果两者之间的一致程度作为一组数据(建立对应关系后)写入该服务器中。
[0062] 在又一些实施例中,将每笔历史数据对应的历史输入数据、历史输出数据、回溯测试计算结果、一致程度作为一组数据写入服务器中。
[0063] 上述技术方案描述了回溯测试的测试数据的来源和构成,区别于通过人造数据进行测试的一般测试方法,本发明实施例利用历史生产数据对指定规则模型进行测试,其优点在于:一方面对目标模型进行测试时无需人工造数;另一方面,在利用历史生产数据对目标模型进行测试时,无需手动获取并整理生产数据。本发明实施例所指的“生产数据”定义如下:其是生产线上的非决策引擎服务调用决策引擎的模型计算接口产生的结果数据。
[0064] 进一步地,S120中将所述当前计算结果和对应的历史输出数据对比后得到一致程度的步骤包括:根据历史输出数据与当前计算结果中的输出参数的数量、参数名、参数值的比对结果,得到一致程度。
[0065] 进一步地,在步骤S120中,将当前计算结果和本笔历史数据中的历史输出数据对比后得到本笔历史数据的一致程度,具体包括如下中的至少一项:
[0066] 当历史输出数据的第一组输出参数的数量和回溯测试计算产生的当前计算结果的第二组输出参数的数量一致,并且第一组输出参数与第二组输出参数的同名参数的参数值均一致时,确定本笔历史数据的一致程度是第一程度;
[0067] 当历史输出数据的第一组输出参数的数量小于回溯测试计算产生的当前计算结果的第二组输出参数的数量,且第二组输出参数包含第一组输出参数,第二组输出参数与第一组输出参数中同名参数对应的参数值相同时,确定本笔历史数据的一致程度是第二程度;
[0068] 当历史输出数据的第一组输出参数的数量大于回溯测试计算产生的当前计算结果的第二组输出参数的数量,并且第一组输出参数包含第二组输出参数,第一组输出参数与第二组输出参数中同名参数对应的参数值相同时,确定本笔历史数据的一致程度是第三程度;
[0069] 当历史输出数据的第一组输出参数的数量和回溯测试计算产生的当前计算结果的第二组输出参数的数量一致,并且半数及以上的同名参数的参数值对应相同时,确定本笔历史数据的一致程度是第四程度;
[0070] 当历史输出数据的第一组输出参数的数量和回溯测试计算产生的当前计算结果的第二组输出参数的数量一致,并且半数以下的同名参数的值对应相同时,确定本笔历史数据的一致程度是第五程度;
[0071] 当历史输出数据的第一组输出参数的数量、参数名、参数值和回溯测试计算产生的当前计算结果的第二组输出参数的数量、参数名、参数值均不相同时,确定本笔历史数据的一致程度是第六程度。
[0072] 本发明实施例的上述技术方案定义了“一致程度”来衡量一笔数据测试结果的准确程度,其有益技术效果在于,对各种可能的测试结果进行了规范和统一,为回溯测试的结果统计提供了条件。
[0073] 在一些实施例中,步骤S110具体可以包括:按照设定的时间范围,分批次从ES服务器取出待测试的业务规则模型的已上线版本运行产生的多笔历史数据。其优点在于,通过分批次取数,实现大数据量的测试需要。
[0074] 在一些实施例中,如图1B所示,上述方法还可以包括步骤S125:当本笔历史数据的测试结果的一致程度为第一程度、第二程度或第三程度时,确定本笔历史数据通过回溯测试。其优点在于,通过将第一程度、第二程度、或者第三程度确定为通过,统计此三种程度的数据量及其占比,可得总通过量和通过率。
[0075] 在一些实施例中,如图1B所示,上述步骤S130可替换为步骤S130’,其包括:将本批历史数据及其对应的多个一致程度、以及每笔历史数据是否通过回溯测试的指示信息写入服务器。
[0076] 在一些实施例中,如图1B所示,该方法还可以包括如下步骤:
[0077] S140、响应于进度查询请求,向页面端设备返回当前业务规则模型的回溯测试的执行进度;和/或,
[0078] S150、响应于结果查询请求,向页面端设备返回已完成回溯测试的业务规则模型的测试结果数据;测试结果数据包括:已完成回溯测试的业务规则模型对应的历史数据的总笔数,通过回溯测试的历史数据的笔数,以及通过率;通过率是通过回溯测试的历史数据的笔数与已完成回溯测试的业务规则模型对应的历史数据的总笔数的比值。
[0079] 上述技术方案的优点在于,进度查询在大数据量下用于把控执行情况;结果查询用于测试结果信息反馈,并为业务规则模型调整提供参考。举个例子:如果被测模型版本是面向新用户开发,但需要对上一年的旧用户有90%的兼容性,则业务规则模型开发人员需要关注回溯测试结果的通过率是否达到90%,如果是,则从统计学意义上讲达到了兼容性要求,如果否,则没达到。
[0080] 在一些实施例中,该方法还可以包括:响应于结果查询请求,向页面端设备返回已完成回溯测试的业务规则模型的测试结果页面;其中,测试结果页面中包括:
[0081] 第一显示区域,其显示总统计信息,总统计信息包括:已完成回溯测试的业务规则模型的数量,参与回溯测试的历史数据的第一总条数,通过回溯测试的历史数据的第一通过条数,以及总通过率,总通过率是第一通过条数与第一总条数的比值;
[0082] 页签,用于响应于用户的切换指令,切换业务规则模型;
[0083] 第二显示区域,用于响应于用户对页签发出的切换指令,显示用户选中的业务规则模型对应的基本信息和子统计信息;基本信息包括:模型库ID、规则集ID、规则ID、规则名、版本号、用户选中的业务规则模型中通过回溯测试的历史数据的第二通过条数,用户选中的业务规则模型对应的历史数据的第二总条数,以及子通过率,子通过率是第二通过条数与第二总条数的比值;
[0084] 第一交互控件,用于响应于用户操作,显示用户选中的多个输入参数对应的标签;
[0085] 第二交互控件,用于响应于用户操作,显示用户选中的多个输出参数对应的标签;
[0086] 第三显示区域,用于通过分页方式显示参与回溯测试的历史数据,在每一页中针对每条参与回溯测试的历史数据,显示用户选中的多个输入参数和多个输出参数分别对应参数值,多个输出参数包括:历史输出数据的第一组输出参数和回溯测试计算产生的当前计算结果的第二组输出参数;以及,在每一页中显示每条参于回溯测试的历史数据的一致程度。
[0087] 上述技术方案的优点在于,页面展示满足对总测试结果和任务涉及各个模型的测试结果的信息查看需要,关键指标“通过率”给出了目标业务规则模型的测试结果度量;每笔数据的具体执行情况,给业务规则模型调整方向提供参考。
[0088] 实施例二
[0089] 图2A是本发明实施例的一种业务规则模型的回溯测试装置的功能框图。如图2A所示,其应用于决策引擎中,装置200包括:
[0090] 取数模块210,用于从服务器获取待测试的业务规则模型的历史输入数据和历史输出数据。
[0091] 在一些实施例中,取数模块210,用于从服务器获取待测试的业务规则模型的一批历史数据,一批历史数据包括多笔历史数据,每笔历史数据包括:历史输入数据和历史输出数据。
[0092] 处理模块220,用于将历史输入数据作为输入参数对所述待测试的业务规则模型进行回溯测试计算,获得当前计算结果,将所述当前计算结果和对应的历史输出数据对比后得到一致程度。
[0093] 在一些实施例中,处理模块220,用于将每一笔历史数据中的历史输入数据作为输入参数对待测试的业务规则模型进行回溯测试计算,获得当前计算结果,将当前计算结果和本笔历史数据中的历史输出数据对比后得到本笔历史数据的一致程度;循环执行回溯测试计算和对比,直至得到本批历史数据对应的多个一致程度。
[0094] 写入模块230,用于将各历史输出数据对应的多个一致程度写入所述服务器。
[0095] 在一些实施例中,写入模块230,用于将本批历史数据及其对应的多个一致程度写入服务器。
[0096] 在一些实施例中,处理模块220,具体用于根据历史输出数据与当前计算结果中的输出参数的数量、参数名、参数值的比对结果,得到一致程度。
[0097] 在一些实施例中,处理模块220,具体用于执行如下中的至少一项:
[0098] 当历史输出数据的第一组输出参数的数量和回溯测试计算产生的当前计算结果的第二组输出参数的数量一致,并且第一组输出参数与第二组输出参数的同名参数的参数值均一致时,确定本笔历史数据的一致程度是第一程度;
[0099] 当历史输出数据的第一组输出参数的数量小于回溯测试计算产生的当前计算结果的第二组输出参数的数量,并且第二组输出参数包含第一组输出参数,第二组输出参数与第一组输出参数中同名参数对应的参数值相同时,确定本笔历史数据的一致程度是第二程度;
[0100] 当历史输出数据的第一组输出参数的数量大于回溯测试计算产生的当前计算结果的第二组输出参数的数量,且第一组输出参数包含第二组输出参数,第一组输出参数与第二组输出参数中同名参数对应的参数值相同时,确定本笔历史数据的一致程度是第三程度;
[0101] 当历史输出数据的第一组输出参数的数量和回溯测试计算产生的当前计算结果的第二组输出参数的数量一致,并且半数及以上的同名参数的参数值对应相同时,确定本笔历史数据的一致程度是第四程度;
[0102] 当历史输出数据的第一组输出参数的数量和回溯测试计算产生的当前计算结果的第二组输出参数的数量一致,并且半数以下的同名参数的值对应相同时,确定本笔历史数据的一致程度是第五程度;
[0103] 当历史输出数据的第一组输出参数的数量、参数名、参数值和回溯测试计算产生的当前计算结果的第二组输出参数的数量、参数名、参数值均不相同时,确定本笔历史数据的一致程度是第六程度。
[0104] 在一些实施例中,取数模块210,具体可以用于按照设定的时间范围,分批次从ES服务器取出待测试的业务规则模型的已上线版本运行产生的多笔历史数据。
[0105] 图2B是本发明实施例的另一种业务规则模型的回溯测试装置的功能框图。如图2B所示,在一些实施例中,该装置200’还可以包括:通过判定模块225,用于当本笔历史数据的一致程度为第一程度、第二程度或第三程度时,确定本笔历史数据通过回溯测试。
[0106] 在一些实施例中,该装置200’还可以包括:
[0107] 进度反馈模块240,用于响应于进度查询请求,向页面端设备返回当前业务规则模型的回溯测试的执行进度;和/或,
[0108] 结果反馈模块250,用于响应于结果查询请求,向页面端设备返回已完成回溯测试的业务规则模型的测试结果数据;测试结果数据包括:已完成回溯测试的业务规则模型对应的历史数据的总笔数,通过回溯测试的历史数据的笔数,以及通过率;通过率是通过回溯测试的历史数据的笔数与已完成回溯测试的业务规则模型对应的历史数据的总笔数的比值。
[0109] 在一些实施例中,该装置200’还可以包括:结果反馈模块250,具体用于:响应于结果查询请求,向页面端设备返回已完成回溯测试的业务规则模型的测试结果页面;其中,测试结果页面中包括:
[0110] 第一显示区域,其显示总统计信息,总统计信息包括:已完成回溯测试的业务规则模型的数量,参与回溯测试的历史数据的第一总条数,通过回溯测试的历史数据的第一通过条数,以及总通过率,总通过率是第一通过条数与第一总条数的比值;
[0111] 页签,用于响应于用户的切换指令,切换业务规则模型;
[0112] 第二显示区域,用于响应于用户对页签发出的切换指令,显示用户选中的业务规则模型对应的基本信息和子统计信息;基本信息包括:模型库ID、规则集ID、规则ID、规则名、版本号、用户选中的业务规则模型中通过回溯测试的历史数据的第二通过条数,用户选中的业务规则模型对应的历史数据的第二总条数,以及子通过率,子通过率是第二通过条数与第二总条数的比值;
[0113] 第一交互控件,用于响应于用户操作,显示用户选中的多个输入参数对应的标签;
[0114] 第二交互控件,用于响应于用户操作,显示用户选中的多个输出参数对应的标签;
[0115] 第三显示区域,用于通过分页方式显示参与回溯测试的历史数据,在每一页中针对每条参与回溯测试的历史数据,显示用户选中的多个输入参数和多个输出参数分别对应参数值,多个输出参数包括:历史输出数据的第一组输出参数和回溯测试计算产生的当前计算结果的第二组输出参数;以及,在每一页中显示每条参于回溯测试的历史数据的一致程度。
[0116] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0117] 实施例三
[0118] 图3是本发明实施例的一种业务规则模型的回溯测试系统的功能框图。如图3所示,其包括:页面端设备,第一服务器和第二服务器;
[0119] 页面端设备,用于向第一服务器发送对指定业务规则模型进行测试的测试请求;以及向第二服务器发送获取结果查询请求;
[0120] 第一服务器,用于响应于测试请求,从第二服务器获取待测试的业务规则模型的一批历史数据,一批历史数据包括多笔历史数据,每笔历史数据包括:历史输入数据和历史输出数据;将每一笔历史数据中的历史输入数据作为输入参数对待测试的业务规则模型进行回溯测试计算,获得当前计算结果,将当前计算结果和本笔历史数据中的历史输出数据对比后得到本笔历史数据的一致程度;循环执行回溯测试计算和对比,直至得到本批历史数据对应的多个一致程度;将本批历史数据及其对应的多个一致程度写入第二服务器;
[0121] 第二服务器,用于响应于结果查询请求,向页面端返回已完成回溯测试的业务规则模型的测试结果。
[0122] 以下对上述各实施例的技术方案进行更加详细的描述:
[0123] 一、Web端管理测试任务和执行记录。
[0124] 使用者在决策引擎平台中完成以下步骤实现对指定业务规则模型进行测试:
[0125] (1)新建测试任务:需要填写任务名称和备注,选择指定时间区间的生产数据,选择一个或多个编辑态或定版的规则(配套决策引擎内维护的规则);上述规则例如为金融业务规则;
[0126] (2)点击执行测试任务;
[0127] (3)等待测试任务执行完成,查看任务执行结果;
[0128] (4)任务执行结果中显示总量和各个规则的执行结果,执行结果包括三个主要指标:总数据量、通过量及通过率(每一笔数据执行的结果都会做标识);
[0129] (5)使用者可以使用表格查看最多1万笔数据的详细情况。
[0130] 下文描述如何判定通过。
[0131] 为了度量回溯测试的结果,本发明实施例引入“一致程度”的概念,对每一笔数据的计算结果而言,可概括为以下6种情况中的一种,其描述了数据结果的一致程度:
[0132] “全部一致”:相同输入下,历史生产数据和回溯测试计算产生的输出参数的数量和对应参数值均完全一致。
[0133] “历史一致”:相同输入下,回溯测试计算产生的输出参数的数量更多,但能完全包含(同名参数值也相同)历史输出(指历史生产数据);参阅下边的例子中的第二种情况和第三种情况。
[0134] “当前一致”:相同输入下,历史生产数据产生的输出参数更多,但能完全包含当前回溯测试计算产生的输出;
[0135] “多数一致”:半数及以上的输出参数的值对应相同;
[0136] “少数一致”:半数以下相同;
[0137] “均不一致”:输出完全不同(参数名不同,或参数名对应相同但参数值对应不同)。
[0138] 当一笔数据运算结果的一致程度为“全部一致”、“历史一致”、“当前一致”时,记为通过。
[0139] 以下举例进行说明:
[0140] 考虑模型M,现上线了V1版本,并运行一段时间产生了N笔数据,这些数据的输入参数均为IN1‑IN5,输出参数为OUT1‑OUT5,每笔数据的10个参数值不完全相同,具有随机性。
[0141] 现业务人员因需求变动,在开发V2版本的模型,需要使用回溯测试观察分析V2版本:
[0142] 第一种情况:若V2的输出参数仍然为OUT1‑OUT5,此时的输出结果属于“全部一致”、“多数一致”、“少数一致”、“均不一致”四种一致程度中的一种。如果V2兼容V1,为“全部一致”,如果V2相较于V1改动了部分参数,导致V2下OUT5的值始终和V1的输出不一致,OUT1至OUT14一致,那么此时仍有4个输出参数值(半数及以上)相同,即为“多数一致”,以此类推,当只有半数以下相同为“少数一致”,所有输出均不相同为“均不一致”。
[0143] 第二种情况:若V2新增一个输出参数OUT6,并修改了一部分参数,那么输出对比结果可能出现除了“全部一致”和“当前一致”外的另外4种情况中的一种。如果V2兼容V1时,历史输出数据的5个输出值和V2的前5个输出值是一致的,只多了一个输出参数OUT6,此时即为“历史一致”;当OUT1‑OUT5中有一个输出值不一样时,此时加上OUT6共6个参数中有两个不一样了,这时不一致的参数占2/6,则为“多数一致”;若OUT1‑OUT5中有三个输出参数的值不一致时,这时不一致参数占4/6,则为“少数一致”;如果OUT1‑ OUT 5输出值全不一致,则为“均不一致”。
[0144] 第三种情况,反之,V2减少了一个输出参数,那么类比第二种情况,只是结果中可能出现“当前一致”,而非“历史一致”。
[0145] 前三种情况都属V2的输出参数变动;
[0146] 第四种情况,若V2输入参数个数出现变动,则关键看是否影响到了输出参数的个数以及值,可以套用第一种情况、第二种情况、第三种情况的例子来理解。本发明实施例涉及的业务模型多传参和少传参都是可以正常运算并结束的,少传参可能会导致输出参数也变少。
[0147] 二、任务执行。
[0148] 图4是本发明实施例的任务执行时序图。如图4所示,软硬件配置:硬件使用搭载例如但不限于centos系统的标准服务器即可,后台软件(后台是服务端,是在硬件服务器上运行的程序)部署上,提供C端页面展示、数据查询和计算功能,此部分包含实现本发明实施例所用的程序;ES服务器例如为ElasticSearch 6.0开源搜索引擎,可单节点或多节点,提供数据存储和查询功能,生产数据是存储在此服务器上。其中,CentOS是免费的、开源的、可以重新分发的开源操作系统,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一。
[0149] 任务执行开始,后台在数据库中维护一条执行记录,并在计算中及时更新执行进度,图1中未绘出该数据库,该数据库用于页面信息维护管理,属于决策引擎平台提供。
[0150] 创建执行记录后,按以下过程依次对任务中的业务规则模型进行测试:
[0151] S1、取数步骤:按照设定或指定的时间范围从ES服务器取出该业务规则模型的已上线版本运行产生的输入数据和输出数据。由于数据量有可能很大,默认采用例如1000笔/批次分批取数(可设置),其中每笔数据包含历史输入数据和历史输出数据。
[0152] S2、计算步骤:取出数据后,将每一笔数据的历史输入数据作为当前输入对被测规则进行计算,计算结果和历史输出数据对比后得到输出一致程度。对比算法参考上述对“如何判定通过”的解释,对比结果属于6种一致程度的一种。上述对比算法是计算“一致程度”的程序编码实现,具体逻辑可以是用if‑else的逻辑判断当前输出结果属于6种一致程度中的哪一种。
[0153] S3、存数步骤:循环计算(循环执行步骤S2)可得到该批数据的一致程度结果,将该批数据中的每一笔数据的一致程度结果和其输出结果一次性地异步写入ES服务器。
[0154] S4、循环执行上述步骤S1取数、步骤S2计算、步骤S3存数的过程,可将该业务规则模型的指定时间范围内的数据全部计算完毕。
[0155] S5、按上述步骤S1‑S4循环执行任务指定的每个业务规则模型即可完成任务,每计算完一个业务规则模型更新一次执行进度。在一个示例中,页面端定期刷新执行进度,后台向页面端返回当前的任务执行进度。在另一个示例中,后台主动向页面端反馈当前的任务执行进度,即每计算完一个业务规则模型更新一次任务执行进度,并主动地向页面端反馈。
[0156] 在一个示例中,请求查询结果的查询请求先发给后台,后台再转发给ES服务器,这里转发的原因是出于安全考虑,将ES服务器和前台(页面端)做网络隔离,会限制部分类型的请求,只转发查询类请求。
[0157] 在另一个示例中,请求查询结果的查询请求不经后台转发,而是直接发送给ES服务器进行查询数据,即直接请求ES服务器。
[0158] 由于ES服务器本生是分布式高可用数据引擎,支持上亿数据的存储和查询,本发明利用ES优异的数据服务能力,经测试至少可提供百万级别的数据测试需求,能力上限取决于ES服务的部署节点数及运算能力。
[0159] 第三、结果展示的数据收集。
[0160] 图5是本发明实施例的计算结果展示的页面。如图5所示,计算结果均存在ES服务器,使用ES服务器提供的查询和聚合功能实现数据统计,其中数据量和表格数据使用查询语句实现,通过率使用聚合功能实现。在图5中,页头51展示所有规则合计统计量,包括本次任务涉及规则模型数量,通过数量,总测试数量,通过率;右侧tab页签52可切换不同规则模型,切换后,可查看对应规则模型的独立结果53,包括通过条数,总条数,通过率,以及在区域54显示输入参数和显示输出参数,通过标签的形式供用户选择相应的输入或输出参数,在区域55分页展示前10000笔运算数据的输入输出详情。该计算结果展示页面还具有如下功能:
[0161] 差异显著性提示功能:如标记56所示,当历史结果与当前结果不一致时,将发生不一致的历史结果与当前结果均进行差异显著性提示,例如进行字体加粗、下划线、改变颜色(例如标红)、改变底色、增加方框或者椭圆形框的处理。
[0162] 一致程度显示功能:如标记57所示,在界面的最右侧显示每笔数据的一致程度,并且对不同的一致程度进行差异化显示。差异化显示包括为不同的一致程度设置具有差异的颜色,为相同的一致程度设置相同的颜色。例如对全部一致的字体统一设置为绿色,对多数一致的字体统一设置为橙色。进一步地,在一致程度显示项中设置筛选功能,可响应于用户指令,筛选出上述六类中的某一类一致程度的数据进行显示。
[0163] 结果对比功能:如标记54所示,用户可以决定显示哪些输入参数和输出参数,便于重点关注或显示用户期望的输入参数和输出参数。具体地,用户通过选中多个输入参数的标签和选中多个输出参数的标签,从而控制在页面上显示上述被选中的多个输入参数和多个输出参数的值。
[0164] 图6A是本发明实施例的决策引擎与回溯测试工具之间的关系示意图。如图6A所示,示出了决策引擎的模块架构,所有模块组合构成了决策引擎,回溯测试为其中的一个模块,隶属于规则仿真测试模块。规则的管理和运算执行是引擎的其他模块负责。具体地,该决策引擎包括:规则管理模块、规则设计和编辑模块、规则仿真测试模块和规则计算模块。其中,规则管理模块用于业务规则模型的增加、删除、修改、查询;规则设计和编辑模型用于进行规则模型的编辑,有文本、表格、图形化拖拽等多种编辑方式;规则仿真测试模块用于对编辑好的规则模型进行仿真测试,一般测试通过后即可发版;规则计算模块负责模型计算,主要为生产模型(区别于开发阶段的模型,特指发布到生产环境的模型)提供计算服务,另外也承担了仿真测试的计算需要。
[0165] 图6B是本发明实施例的决策引擎的详细功能框图。如图6B所示,在该决策引擎中,各模块的逻辑结构如下:
[0166] 规则管理模块,其包括如下中的至少一个:常量管理子模块(管理规则模型用到的全局常量,例如性别,就可以作为常量管理起来)、语法校验子模块(用于使用词法和语法分析进行语法检查)、参数管理子模块(用于管理模型输入输出参数等)、版本控制子模块(模型版本管理,多人协同开发版本控制)、生命周期子模块(主要用于管理模型运行和模型停用)、部署管理子模块(用于将模型部署到生产环境)、规则因子子模块(规则因子就是参数,此模块为统一的参数库)、函数管理子模块(一个公共函数库,管理可被模型引用的全局函数)、模型库(管理pmml,py模型等)和规则库(管理传统规则模型)。
[0167] 规则设计和编辑模块,其包括如下中的至少一个:角色管理子模块、用户管理子模块、权限管理子模块、规则设计器(从用户角度提供便于实现业务需求的规则模型编辑设计程序)、规则编译器(将编辑态的模型编译成运行态模型)、业务规则文件(传统规则)、业务模型文件(例如pmml,py模型等)。
[0168] 规则仿真测试模块,其包括如下中的至少一个:规则仿真子模块(用于单笔仿真,对编辑态模型执行编译运行过程)、批量仿真子模块(用于大量测试)、回溯测试子模块、旁路测试子模块、轨迹跟踪子模块(模型执行过程可视化溯源)。
[0169] 规则计算模块,其包括如下中的一个或多个:规则执行文件、决策引擎执行器、API子模块(封装接口方法,定义调用入参出参)、REST子模块(封装成Restful风格的接口,基于HTTP协议)、消息队列MQ子模块(使用消息队列进行接口消费)、webservice子模块(通过IP和端口向外提供服务)。
[0170] 本发明实施例的上述技术方案具有如下有益技术效果:
[0171] 1、业务人员可登录网页系统进行回溯测试任务的管理和历史执行结果的即时查看;
[0172] 2、任务执行在后台执行,可同时执行多个任务,每个任务可包含多个被测规则或模型;
[0173] 3、可对百万级的数据进行回溯测试,可查看至多1万笔数据的运算详情;
[0174] 4、显示总体计算结果,包括测试数据量,测试结果。
[0175] 实施例四
[0176] 如图7所示,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现任意一种所述的业务规则模型的回溯测试方法的各步骤。
[0177] 所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0178] 实施例五
[0179] 本发明实施例还提供了一种电子设备,如图8所示,包括一个或多个处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信。
[0180] 存储器803,用于存放计算机程序;
[0181] 处理器801,用于执行存储器803上所存放的程序时,实现任意一种业务规则模型的回溯测试方法各步骤。
[0182] 处理器801可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0183] 存储器803可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器803可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器803可包括可移除或不可移除(或固定)的介质。在特定实施例中,存储器803是非易失性固态存储器。在特定实施例中,存储器803包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
[0184] 通信总线804包括硬件、软件或两者,用于将上述部件彼此耦接在一起。举例来说,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI‑Express(PCI‑X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
[0185] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0186] 虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
[0187] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0188] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0189] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0190] 本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。