采用规则引擎对复杂数据进行批量处理的方法

文档序号:6611064阅读:411来源:国知局
专利名称:采用规则引擎对复杂数据进行批量处理的方法
技术领域
本发明涉及对复杂数据进行批量处理的方法,尤其是采用规则引擎对复杂数据进行批量 处理的方法。二、 背景技术随着通讯市场的不断扩张,中国移动的手机用户数量己经达到了 3.547亿。用户产生的海量业 务数据给运营商的业务运营系统带来极大压力。业务运营支撑系统对业务处理也越来越复杂,计费 帐务、渠道酬金、积分管理、考核管理、友情提醒等等都需要处理大批量的数据,并且处理的过程 非常繁琐、复杂。目前大部分公司采用的处理是通过表格计算方式。表格方式预先定义好几种计算 模式,通过表格化的参数配置完成对复杂计算的处理。这种模式计算方式单一,而且配置复杂不利 于维护。三、 发明内容本发明目的是提出一种采用规则引擎通过灵活配置对复杂数据进行批量处理的方法,提 出的规则引擎就是根据以上情况产生的一个数据处理平台,它是提供对后台计算类型的应用逻辑进 行灵活定制的一般框架的组件。规则配置非常灵活,可以批量或者根据不同的需要单独配置一套规 则。本发明引入规则组件的目的应用程序的可定制性(特别是后台计算程序)复杂数据进行髙效 的批量处理。本发明的技术解决方案是采用规则引擎对复杂数据进行批量处理的方法,建立规则引擎 规则引擎由数据导换,规则处理,公式处理三个模块组成,每一个模块都可以单独存在进行数据处 理;规则处理模块中配置规则公式的步骤是引入规则概念用于描述应用中可定制部分的逻辑,为适应不同的情形,规则有两种形式 脚本和可执行模块(动态链接库)。对于逻辑复杂和对效率要求高,可使用预先用高级语言(C/C++) 编译好的动态链接库;对于逻辑简单,可定制性要求高的,可使用脚本;引入规则参数概念为减少对相似规则需要重复创建规则的麻烦而引入,可定义规则的定制 参数如规则"话费大于n元的用户数"中的n;为兼顾执行效率和配置简单性和可定制能力,脚本语言采用类C语言的语法,在脚本中可直 接使用'$'前缀访问规则的各种参数;规则处理引擎流程:l脚本对应参数、2公式对应脚本、同时进入2-l、 3公式加载、4公式编 译、5可执行公式缓存、6初始化输入缓冲,调用可执行组成缓冲计算,结果写入缓冲、7规则输 出;2-1是根据规则类型进入规则、2-2规则加载、2-3规则调用后亦进入6初始化输入缓冲;规则引擎中数据导换流程:l数据格式及对应关系定义和外部数据、2数据转换、3格式化数据、 4计算、5结果输出;2-1同时从规则定义、2-2进入编辑规则、2-3可执行规则、2-4进入4;规则引擎中数据导换流程:l数据格式及对应关系定义和外部数据、2数据转换、3格式化数据、 4计算、5结果输出;2-1同时从规则定义、2-2进入编辑规则、2-3可执行规则、2-4进入4。
规则引擎是一个数据处理平台,主要是处理计算、统计类业务。规则引擎可以根据不同的业 务配置不同类型的规则,业务越繁琐,规则引擎起到的作用就越强大,规则处理模块中配置规则公 式(公式处理)可以应用于不同的业务要求中,也可以只处理单独一种特殊的业务。规则引擎处理大批量数据也有自己的优势,所有的常用数据都是常驻共享内存,这样可以更 加方便简单的处理大批量的数据,数据的处理速度也会更快。引入规则组件的目的应用程序的可定制性(特别是后台计算程序)数据导换,公式处理,规则处理每个模块构成规则组件;规则组件包含以下功能* 规则类型的创建和维护规则类型数据的输入;* 规则的创建和维护脚本型规则的定义和编辑;* 用户对应用进行配置的接口査询符合条件的规则类型、规则;创建和维护规则实例, 选择并配置相关规则。规则组件不包含以下功能加载数据源纠错的功能;公式脚本纠错的功能;不支持函数解析; 实现于规则体中的特定业务逻辑有益效果提出一种采用规则引擎通过灵活配置对复杂数据进行批量处理的方法,提出的 规则引擎就是根据以上情况产生的一个数据处理平台,它是提供对后台计算类型的应用逻辑进行灵 活定制的一般框架的组件。规则配置非常灵活,可以批量或者根据不同的需要单独配置一套规则。 本发明引入规则组件的目的应用程序的可定制性(特别是后台计算程序)复杂数据进行高效的批 量处理。四

图1是本发明框图, 图2是规则处理引擎流程图,图3是规则引擎中数据导换流程图, 图4是公式处理流程图,图5是配置统计主环节6是配置统计附属环节(统计信息来源表)图,图7是统计规则配置图, 图8脚是本配置和规则定义图,第一列树列出了统计流程配置的变量, 图9是配置特殊规则图(用于限定进行公式处理的数据范围),图10是配置计算流程图, 图11是配置计算规则,如规则定义图,图12是公式定义图, 图13是脚本配置图,图14是配置规则参数图 五具体实施方式
规则是规则的应用领域(分类),如以下的规则域酬金计算、话费计算、积分计算、友情 提醒等。规则域的创建和维护,除定义规则类型的名称外,还包含规则类型的参数维护。规则类型 参数是指区分不同规则所定义的类型。(规则参数定义的是用户对规则的定制参数)。规则类型 参数维护只定义参数的名称、类型。规则的创建和维护,除定义规则的名称、所属规则类型、描述等基本信息外,还包含规则参 数的维护。规则参数维护包括定义参数的名称、类型,具体的值公式教本(参数)定义。对于脚本 型规则输入规则脚本正文;对于可执行模块性规则从己有的模块中选择一个模块。
规则引擎由规则部分和公式部分两大块组成。规则部分是规则引擎组件提供给外部的一个接口,根据不同模块的调用,接口的定义也相对 应的进行不同的参数配置。公式部分是规则引擎组件内部处理的核心内容,根据外部接口传入的参数把符合条件的规则 加载到共享内存,通过对公式教本的处理把结果输出到相关的缓存或者结果表。规则引擎中数据导换流程图如图3所示1数据格式及对应关系定义和外部数据、2数据转换、3格式化数据、4计算、5结果输出; 2-1同时从规则定义、2-2进入编辑规则、2-3可执行规则、2-4进入4。规则引擎的数据源是通过规整后的外部数据和接U部分定义的参数组成。 编译规则过滤后得到可用数据,计算后输出计算结果。公式处理流程如图4所示公式对应脚本、可执行公式缓存来源于公式处理流程l公式脚本 参数,公式脚本、内部变量定义、外部变量定义进入2、 2读取公式、3词组分析、4词组验证、 5语法分析、6接口输出、7公式四元式组缓存和公式输出变量缓存。公式组件是采用类C的编程方式形成脚本,基本的规则如下1 、 支持基本的条件控制2 、 支持基本的赋值语句3、 支持复杂公式脚本的注释描述,人大增加了脚本的可读性4 、 支持存储过程的调用主要功能介绍变量注册公式可识别的所有自定义变量在系统中的建权过程;所有以特殊字符($)开头的变 量系统均认为是自定义变量,当公式进行初始化时,自动检测公式脚本中的自定义变量是否在系统 中已建权,否则初始化失败。,C]定义变量不仅是公式所需特殊资料的数据来源,同时也是公式输出计算结果的接口。每一 个自定义变量在系统中均独立占用一块存储空间,每次需要调用公式前都需要对该存储空间进行赋 值初始化,调用完毕后,再扫描有变化的存储块进行输出操作。公式词组分析词组分析即将公式脚本块分解成包含自定义变量、临时变量、系统关键字、常量、及操作符的字符流。生成四元式四元式是一种比较普遍采用的中间代码形式。四元式的四个组成成分是算符op,第一和第二运算对象ARG1和ARG2及结果对象RESULT。运算对象和结果对象有时指用户自己定 义的变量,有时指编译程序引进的临时变量。这里生成四元式就是将词组分析后的字符流处理生成 便于机器识别的四元式组。生成可执行公式缓存四元式组即是简单的机器汇编码,当生成后,存入一块不被更改的缓 存中,便于大量调用。 公式脚本规范<公式> ::=<语句块〉<语句块> ::= <语句>1<复合语句><语句> ::= <赋值语句〉|<条件语句〉|<空语句>
〈复合语句〉'「 {<语句块〉}')' <赋值语句> ::= <变量〉=<表达式〉;〈条件语句〉=if(〈表达式〉)〈语句块〉lif(〈表达式〉)〈语句块〉else〈语句块〉 <空语句〉 =';'<表达式〉在〈赋值语句〉中遇到';'为结尾,在〈条件语句〉中')'无'('可匹配为结尾; 〈备注〉 以"/*"开头,"*/"结尾的语句块. 举例说明根据渠道类型获取相对应的放号酬金基数,进行放号酬金计算。 /* $渠道类型($放号酬金、$当月放号数同)为自定义变量,由配置变量环节关联到相关表的 指定字段*/ (相当于流程中规则参数) ifU渠道类型=102) iAtemp为临时变量;$01($02,$03同)为规则配置的该公式第一个入参,其值由配置决定, 若未配置,系统默认为0处理*/ temp = $01;Else ifU渠道类型=101) {temp = $02; Else {te即=$03; $放号酬金=te即^当月放号数; 例子与流程的某一步的对应关系,需求描述长沙开户业务,商旅套餐、98套餐、家园卡乡镇通、老乡镇通(神州行.家园卡)、$家园卡大灵 通在网品牌用户当月通话费在5.00元以上则发放酬金,G001每个奖励2.00元,G001每个奖励1.00元。环境准备:开户用户资料模板表template_reward_open(数据库实体)IDTABLE_NAMECOL—NAMECOL一P'COL—TY EPARCHY—CODESTATE1035TEMPLATE—REW雄—0PSTAT—MONTH0誦*F0A]036TEMPLATE—腦ARD—OPMONTH1誦沐F0A1037TEMPLATE—REWARD—OPCH_N02誦*兩1038TEMPLATE_REWARD—OPSTEP—NO3誦*FOA1039TEMPLATE—REWARD—OPUSER_ID4CHARFOA卿TEMPLATE—RE丽D—OPCUSTjD5C腿FOA1041TEMPLATE—REWARD—OPACCT—ID6C匿FOA1042TEMPLATE—REWARD_OP腿ND—CODEC證*FOA1043TEMPLATE—R腿RDJ)PPRODUCTJD8國FOA薩TEMPLATE—REW細—0PCITY—CODE9C隱FOA统计及计算结果存放模板表template一chnl一rwd一result(数据库实体)EPARCHYTYPE TABLE—丽ECOL一MAMECOL—POSC0L一TYPE—CODESTATEPTEMPLATE—CHNL_RWD—RESULSTALMO訓0C匿氺FOA1083PTEMPLATE—CHNL—RTO—RESULREPORT—ID1C臓*FOA1084PTEMPLATE—CHNL—RTO—RESULEPARCHY一CODE2CHAR承FOA1085PTEMPLATE_CHNL—RWD—RESULCHANNEL_ID3CHAR氺FOA1086PTEMPLATE一CHNL—RWD—RESULCITY—CODE4CHAR*FOA1087PTEMPLATE—CHNL—RTO—RESULCHANNEL—CODE5CHAR*FOA1088PTEMPLATE—CHNL—RWD一RESULCHANNEL—STAR6NUM*FOA扁9PTEMPLATE_CHNL—KWD—RESULCHANNEL—TYPE7NUM*FOA1090PTEMPLATE一CHNL——,—RESULCHANNEL—KIND8NUM*FOA1091PTEMPLATE—CHNL—RWD—RESULCHANNEL—LEVEL9NUM*FOA1092PTEMPLATE—CHNL—RWD—RESULCITY—FLAG10CHARFOA1093PTEMPLATE—CHNL—RWD—RESULDEPART—NAME11CHAR*FOA1094PTEMPLATE—CHNL—RTO—RESULAREA—KIND12CHAR*FOA1095PTEMPLATE—CHNL—RWD_RESULCHANNEL JQND_NAM13CHAR*FOA1096PTEMPLATE—CHNL_RTO_RESIILAREA—NAME14CHAR*FOA1097PTEMPLATE—CHNL—RTO—RESULSOI15CHAR*FOA1098PTF肌ATE一CHNL一RWD—RESULS0216CHARFOA1099PTEMPLATE—CHNL—RWD—RESULS0317CHAR*FOA1100PTEMPLATE—CHNL—RWD—RESULS0418CHAR*FOA1101PTEMPLATE一CHNL—RWD—RESULS0519CHAR水FOA1102PTEMPLATE一CHNL—RWD—RESUL1120NUM*FOA1103PTEMPLATE—CHNL—RWD—RESUL1221醒*FOA1104PTEMPLATE—CHNL—RWD—RESUL1322■*FOA■U05PTEMPLATE—CHNL—RTO—RESUL1423醒*FOA1106PTEMPLATE—CHNL_RTO—RESUL1524麵*FOA1107PTEMPLATE—CHNL—RTO—RESUL1625NUM*FOA1108PTEMPLATE—CHNL—RWD—RESUL1726匪承FOA1109PTEMPLATE—CHNL—RWD—RESUL1827■*FOA1110PTEMPLATE_CHNL_RWD—RESUL1928麵*FOA1111PTEMPLATE—CHNL—RWD—RESUL11029隱*FOA1112PTEMPLATE—CHNL—.RWD—RESUL11130誦*FOA1113PTEMPLATE—CHNL—RWD_RESUL11231醒*FOA1114PTEMPLATE—CHNL_RTO—RESUL11332誦氺FOA1115PTEMPLATE一CHNL—RWD—RESUL11433隨*FOA1116PTEMPLATE—CHNL一RWD—RESUL11534NUM*FOA* 配置变量定义(输入、输出统一定义)a) 长沙开户用户变量定义。
IDPARAM—NAMECODESCH—ID STATE36701035TEMPLATE—REWARD—OPEN.STAT—MONTH$用户资料.STATJWNTHREWARD_OPEN—073 FOA36711036TEMPLATE—REWARD—OPEN. MO圃 用户资料.MONTHRE爾D一0PEN一073 FOA36721037TEMPLATE—REWARD一OPEN. CH—NO豕用户资料.CH一NOREWARD—OPEN—073 FOA36731038TEMPLATE—REWARD—OPEN. STEP—NO求用户资料.STEP—NOREWARD—OPEN—073 FOA36741039TEMPLATE—REWARD—OPEN.USER—ID$用户资料.USER—IDREWARD—OPEN—073 FOA36751040TEMPLATE—REWARD—OPEN. CUST—ID$用户资料.CUST—IDREWARD—0PEN一073 FOA36761041TEMPLATE—RE難D—OPEN. ACCT一ID$用户资料.ACCT—IDREWARD—OPEN—073FOA36771042TEMPLATE—REWARD—OPEN. BRAND—CODE求用户资料.BRANDj:ODEREWARD_OPENJ)73FOA36781043TEMPLATE—画ARD—OPEN. PRODUCTjD豕用户资料.PRODUC乙IDREWARD—OPEN—073卩OA36791044TEMPLATE一REWARD一OPEN. CITY—CODE$用户资料.CITY—CODEREWARD—OPEN—073FOA36801045TEMPLATE_REWARD—OPEN.USER—TYPE—COD$用户资料.USERJTYPE—CODEREffARD_OPEN—073FOA3681藤TEMPLATE_REWARD—OPEN. SERIAL—隨BER$用户资料.SERIAL—NUMBERREWARD_OPEN—073FOA36821047TEMPLATE—REWARD—OPEN. ACCT—TAG$用户资料.ACCT—TAGREWARDJDPEN—073FOA36831048TEMPLATE—REWARD_OPEN.PREPAY—TAG$用户资料.PREPAY_TAGREWARD—OPEN—073FOA36841049TEMPLATE—REWARD—OPEN. IN—DATES用户资料.IN—DATEREWARD_OPEN—073FOA3685J050TEMPLATE—REWARD—OPEN. OPEN—DATE$用户资料.OPEN_DATEREWARD—OPEN—073FOA36861051TEMPLATE—REWARD—OPEN. IN—DEPART—ID$用户资料.IN_DEPART—IDREWARD—OPEN—073FOA36871052TEMPLATE—REWARD—OPEN. DEVELOP—DEPAR$用户资料.DEVELOP—DEPART—11REWARD—OPEN—073FOA36881053TEMPLATE—REWARD—OPEN.IN—STAFF—ID$用户资料.IN—STAFF—IDREWARD—OPEN—073FOA36891054TEMPLATE—REWARD—OPEN.DEVELOP—STAFF$用户资料.DEVELOP—STAFF_IDREWARD—OPEN—073FOA36901055TEMPLATE—REWARD—OPEN.REMOVE—TAG$用户资料.REMOVE—TAG,ARD一OPEN一073FOA36911056TEMPLATE—REWARD—OPEN.DESTROY—TIME$用户资料.DESTROY—TIMEREWARD—OPEN—073FOA36921057TEMPLATE—REWARD—OPEN. PRE—DESTROY—T豕用户资料.PRE—DESTROY—TIMEREWARD_OPEM—073FOA3靴1058TEMPUTE_REWARD—OPEN. FIRST—CALL—TI$用户资料.FIRST—CALLJT工MEREWARD—OPEN—073FOA36941059TEMPLATE_REWARD_OPEN. LAST一STOP一TIM$用户资料.LAST—STOP—TIMEREWARD—OPEN—073FOA36951060TEMPLATE—RE丽D—OPEN. OPEN—MODE$用户资料.OPEN—MODEREWARDJ3PEN一073FOA36961061TEMPLATE—REWARD—OPEN. USER—STATE—CO$用户资料.USER_STATE_CODEREWARD—OPEN—073FOA36971062TEMPLATEJ EWARD_OPEN. PAY—MODE—CODE$用户资料.PAY—MODE—CODEREWARD—OPEM—073FOA36981063TEMPLATEJ EW励一OPEN. FEE—SUM吝用户资料.FEE一SUMREWARD_GPEN_073FOA36991064TEMPLATE—REWARD—OPEN.麵l$用户资料.当月通话费REWARD—OPEN—073FOA37001065TEMPLATE—REWARD—OPEN.NUM2$用户资料.预存编码RE画D一OPEN—073FOA37011066TEMPLATE—REWARD—OPEN. NUM3$用户资料.入网l月标志REWARD—OPEN_073FOA37021067TEMPLATE_REWARD_OPEN. NUM4$用户资料.入网2月标志REWARD—OPEN—073FOAb) 长沙开户计算变量计算结果定义PARAJ ID PARAM—NAME CODE STATE
35591082TEMPLATp—CHNL—RWD_RESULT.STAT—MONTHS渠道开户.STATJV!ONTHF0A35601083TEMPLATE_CHNL—RWD—RESUUT.REPORT」DS渠道开户.REPORTJDFOA35611084TEMPLATE一CHNL一RWD一RESULT-EPARCHY一CODE$渠道开户.EPARCHY—CODEF0A3562醒TEMPLATE_CHNL—RWD一RESULT-CHANNEL」D$渠道开户.CHANNEL jDFOA356310肪TEMPLATE_CHNL_RWD—RESULT.CITY—CODES渠道开户.CITY—CODEFOA35641087TEMPLATE一CHNLJWD一RESULT.CHANNEL一CODE$渠道开户.CHANNEL—CODEFOA35651088TEMPLATC—CHNL_RWD_RESULT.CHANNEL_STAR$渠道开户.CHANNEL—STARFOA35661089TEMPLATE—CHNL一RWD RESULT-CHANNEL—TYPE$渠道开户.CHANNEL_TYPEFOA3567画TEMPLATE_CHNL—RWD—RESULT.CHANNEL—KINDS渠道开户.CHANNELJGND歸3568腿TEMPIATE—CHNL—RV/D—RESULT.CHANNEL—LEVEL$渠道开户.CHANNEL—LEVELFOA35691092TEMPLATE一CHNL—RWD一RESULT.CITY一FLAGS渠道开户.CITY—FLAGFOA3570,TEMPLATE—CHNL—RWD一RESULT.DEPART一NAMES渠道开户.DEPART1NAMEFOA35711094TEMPLATE—CHNL_RWD—RESULT.AREA—KINDS渠道开户.AREAJONDFOA35721095TEMPLATE_CHNL_RWD_RESULT-CHANNEL_,D_NAI$渠道开户.CHANNELJCINDJMFOA3573廳TEMPLATE一CHNL一RWD一RESULT.AREA_NAMES渠道开户.AREAJMAMEFOA3579"02 ■TEMPLATE—CHNL一RWD一RESULT.I I$商旅套餐全cntFOA35801103TEMPLATE—CHNL一RWD一RESULT.12S98套餐全cntFOA358 J1104TEMPLATE_CHNL—RWD—RESULT.I3S家园卡乡镇通cntFOA35821105TEMPLATE_CHNL_RWD_RESULT.I4S老乡镇通神.家cntFOA3583賜TEMPLATE一CHNL一RWD—RESULT.I5S家园卡大灵通cntFOA35841107TEMPLATE—CHNL—RWD—RESULT.I6S商旅套餐全ratcFOA35851108TEMPLATE—CHNL—RWD—RESULT."$98套餐全rateFOA35861109TEMPLATE一CHNL一RWD-RESULT,8S家园卡乡镇通rateFOA35871110TEMPLATE—CHNL_RWD_R£SULT.19S老乡镇通神,家rateFOA3588miT£MPLATE_CHNL_RWD—RESULT.I10S家园卡大灵通rateFOA3589川2TEMPLATE—CHNL一RWE)一RESULT.U 1S商旅套餐全feeFOA35901113TEMPLATE_CKNL_R WD一RESULT.Il 2$98套餐全feeFOA35911114TEMPLATE_CHNL_RWD_RESULT.113S家园卡乡镇通feeFOA35921115TEMPLATE一CHNL一RWD一RESULT.n 4S老乡镇通祌.家fee歸35931116TEMPLATE—CHNL—RWD一RESULT.n 5S家园卡大灵通feeFOA參配置统计流程a)配置统计主环节(结果放置表)图5b)配置统计附属环节(统计信息来源表)如图6所示 配置统计规则如图7a)规则定义公式定义如图8,第一列树列出了统计流程配置的变量
公式脚本具体如下if ($用户资料.BRAND—CODE == 〃G001〃 && $用户资料.PRODUCT—ID == 31001711) 3商旅套餐全cnt = S商旅套餐全cnt + 1;if ($川户资利、BRAND—CODE == "G001" && $用户资料.PRODUCT—ID == 31001712) 豕98套餐全cnt = W8套餐全cnt + 1;if ($用户资料.BRAND—CODE == 〃G004〃 && $用户资料.PRODUCT—ID = 31100004) S家园卡乡镇通cnt = S家园卡乡镇通cnt + 1; /*预存 */if^ffi户资料.BRAND—CODE == 〃G004〃 && $用户资料.预存编码==31000302) 求老乡镇通神.家cnt = S老乡镇通神.家cnt + 1;if(S用户资判、BRANDj:ODE == 〃G011" && $用户资料.PRODUCT—ID == 31000014) S家闶卡大灵通cnt = S家园卡火灵通cnt + 1;b)配置特殊规则(用丁-限定进行公式处理的数据范闱)如图9* 配置计算流程如图10* 配置计算规则如图11a) 规则定义b) 公式定义如图12脚本具体如图13:求商旅套餐全rate = $05*$01/100; S商旅套餐全fee = $05*$01/100 * S商旅套餐全cnt; S98套餐全rate = $06*$01/100; S98套餐全fee = $06*$01/100 *求98套餐全cnt; $家园P乡镇通rate = $07*$01/100; S家闶卡乡镇通fee = $07*$01/则*豕家闶卡乡镇通cnt; $老乡镇通神.家rate = $08*$01/100; $老乡镇通神.家fee = $08*$01/100 * $老乡镇通神.家cnt; 3家园卡人灵通rate = $09*$01/100; 多家闶卡大灵通fee = $09*$01/100 * S家园卡大灵通cnt;
权利要求
1、采用规则引擎对复杂数据进行批量处理的方法,其特征是建立规则引擎规则引擎由数据导换,规则处理,公式处理三个模块组成,每一个模块都可以单独存在进行数据处理;规则处理模块中配置规则公式的步骤是引入规则概念用于描述应用中可定制部分的逻辑,引入规则参数概念定义规则的定制参数;规则处理引擎流程1根据脚本对应参数、2公式对应脚本、同时进入2-1、3公式加载、4公式编译、5可执行公式缓存、6初始化输入缓冲,调用可执行组成缓冲计算,结果写入缓冲、7规则输出;2-1是根据规则类型进入规则、2-2规则加载、2-3规则调用后亦进入6初始化输入缓冲;规则引擎中数据导换流程1数据格式及对应关系定义和外部数据、2数据转换、3格式化数据、4计算、5结果输出;2-1同时从规则定义、2-2进入编辑规则、2-3可执行规则、2-4进入4;规则引擎中数据导换流程1数据格式及对应关系定义和外部数据、2数据转换、3格式化数据、4计算、5结果输出;2-1同时从规则定义、2-2进入编辑规则、2-3可执行规则、2-4进入4。
2、 根据权利耍求1所述的采用规则引擎对复杂数据进行批量处理的方法,其特征是用于描述 应用中可定制部分的逻辑,为适应不同的情形,规则有两种形式脚本和可执行模块;对于逻辑复 杂,使用预先用高级语言(C/C++)编译好的动态链接库;对于逻辑简单,可定制性耍求高的,使用脚本。
3、 根据权利要求2所述的采用规则引擎对复杂数据进行批量处理的方法,其特征是脚本语言 采用类C语言的语法,在脚本中可直接使用'$'前缀访问规则的各种参数。
全文摘要
采用规则引擎对复杂数据进行批量处理的方法,建立规则引擎规则引擎由数据导换,规则处理,公式处理三个模块组成,每一个模块都可以单独存在进行数据处理;规则处理模块中配置规则公式的步骤是引入规则概念用于描述应用中可定制部分的逻辑,引入规则参数概念定义规则的定制参数;规则处理引擎流程1根据脚本对应参数、2公式对应脚本、同时进入2-1、3公式加载、4公式编译、5可执行公式缓存、6初始化输入缓冲,调用可执行组成缓冲计算,结果写入缓冲、7规则输出;2-1是根据规则类型进入规则、2-2规则加载、2-3规则调用后亦进入6初始化输入缓冲;另还包括规则引擎中数据导换流程和规则引擎中数据导换流程。
文档编号G06F17/30GK101158956SQ20071013087
公开日2008年4月9日 申请日期2007年8月21日 优先权日2007年8月21日
发明者昊 吴, 胡维龙, 蔺万坚 申请人:南京联创科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1