CN108021360A - 规则处理方法、代码处理方法及相关设备 - Google Patents

规则处理方法、代码处理方法及相关设备 Download PDF

Info

Publication number
CN108021360A
CN108021360A CN201610981847.1A CN201610981847A CN108021360A CN 108021360 A CN108021360 A CN 108021360A CN 201610981847 A CN201610981847 A CN 201610981847A CN 108021360 A CN108021360 A CN 108021360A
Authority
CN
China
Prior art keywords
variable
public
publicly
rtddb
public function
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.)
Granted
Application number
CN201610981847.1A
Other languages
English (en)
Other versions
CN108021360B (zh
Inventor
单卫华
张鹏
董阳
李旭良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610981847.1A priority Critical patent/CN108021360B/zh
Publication of CN108021360A publication Critical patent/CN108021360A/zh
Application granted granted Critical
Publication of CN108021360B publication Critical patent/CN108021360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种规则处理方法、代码处理方法及相关设备,包括:替换原始规则中的逻辑判断结构为变量以生成参考规则;编译参考规则以生成参考代码,并封装参考代码中的代码段为函数以生成基础代码;确定变量中重复的变量为公有变量,以及确定函数中重复的函数为公有函数;在RTDDB集群上部署公有变量、公有函数以及基础代码。实施本发明实施例,有利于提高实时决策系统运行代码的效率。

Description

规则处理方法、代码处理方法及相关设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种规则处理方法、代码处理方法及相关设备。
背景技术
随着大数据技术的发展以及海量数据的膨胀,企业和个人对于数据的实时处理有了更高的要求,实时决策系统就是一种能够实时处理数据并侦测风险的系统,该系统可以通过规则实时预测数据的可靠性,减少不必要的风险造成的损失。
实时决策系统一个典型的应用就是金融风控,例如银行可以通过实时决策系统侦测各种风险,比如信用卡欺诈、盗刷卡等风险交易,由于每次分析侦测必须要在100ms内完成风险评估,故而业务对实时决策系统的实时性处理要求非常苛刻,而应用于金融风控的实时决策系统通常都是采用一组规则集来完成风险侦测,规则集包含的规则数量平均200个,多则上千条规则,因此,如何尽可能的提高实时决策系统对规则的处理性能是本领域技术人员关注的热点问题。
发明内容
本发明提供一种规则处理方法、代码处理方法及相关设备,可以提高实时决策系统运行代码的效率。
第一方面,本发明实施例提供了一种规则处理方法,应用于实时决策系统,所述实时决策系统包括用于提供实时决策服务RTD Service的设备和实时决策数据库RTDDB集群,所述方法包括:
所述用于提供RTD Service的设备替换原始规则中的逻辑判断结构为变量以生成参考规则,所述原始规则用于处理所述实时决策系统所关联的业务环境中的数据;
所述用于提供RTD Service的设备编译所述参考规则以生成参考代码,并封装所述参考代码中的代码段为函数以生成基础代码;
所述用于提供RTD Service的设备确定所述变量的公有变量,以及确定所述函数中的公有函数,所述公有变量在所述变量中出现次数大于或等于2,所述公有函数在所述函数中出现次数大于或等于2;
所述用于提供RTD Service的设备在所述RTDDB集群上部署所述公有变量、所述公有函数以及所述基础代码,所述公有变量用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公有变量值,所述公有函数用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公有函数值,所述公有变量值用于被所述RTDDB集群在运行所述基础代码中的所述公有变量时所调用,所述公有函数值用于被所述RTDDB集群在运行所述基础代码中的所述公有函数时所调用。
由上可见,本发明实施例中,实时决策系统中的用于提供RTD Service的设备通过对原始规则进行处理,得到重复的逻辑判断结构对应的公有变量、重复的代码段对应的公有函数,以及基础代码,并将公有变量、公有函数和基础代码部署在RTDDB集群上,这之后,RTDDB集群运行公有变量以处理所述业务环境中的数据并生成公有变量值,运行公有函数以处理所述业务环境中的数据并生成公有函数值,RTDDB集群在运行基础代码中的公有变量时调用公有变量值,在运行基础代码中的公有函数时调用公有函数值。从而RTDDB集群执行基础代码时,无需重复执行公有变量和公有函数中所有的代码,减少了公有变量和公有函数的运行时长,即原始规则对应的冗余代码不再重复执行,有利于提高代码的执行效率。
在一个可能的设计中,所述用于提供RTD Service的设备在所述RTDDB集群上部署所述公有变量、所述公有函数以及所述基础代码之后,所述方法还包括:
所述用于提供RTD Service的设备获取第一执行过程记录,所述第一执行记录是所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码以处理预存的样本历史数据而生成的;
所述用于提供RTD Service的设备根据所述第一执行过程记录获取所述公有变量和所述公有函数的使用次数;
所述用于提供RTD Service的设备确定使用次数大于第一预设次数阈值的公有变量为公共变量,以及确定使用参数大于第二预设次数阈值的公有函数为公共函数,所述公共变量用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公共变量值,所述公共函数用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公共函数值,所述公共变量值用于被所述RTDDB集群在运行所述基础代码中的所述公共变量时所调用,所述公共函数值用于被所述RTDDB集群在运行所述基础代码中的所述公共函数时所调用。
可见,本可能的设计中,实时决策系统的RTDDB集群运行公有变量、公有函数和基础代码以处理预存的样本历史数据并生成第一执行过程记录,用于提供RTD Service的设备获取第一执行过程记录,然后根据第一执行过程记录获取公有变量和公有函数的使用次数,以及确定使用次数大于第一预设次数阈值的公有变量为公共变量,确定使用参数大于第二预设次数阈值的公有函数为公共函数,再向RTDDB集群发送在运行公共变量和公共函数之后运行基础代码的通知,这之后,RTDDB集群运行公共变量以处理所述业务环境中的数据并生成公共变量值,并运行公共函数以处理所述业务环境中的数据并生成公共函数值,并在运行基础代码中的公共变量时调用公共变量值,在运行基础代码中的公共函数时调用公共函数值。由于公共变量和公共函数是处理预存的与业务环境关联的样本历史数据而确定的,如此,通过仅提前运行该确定的公共变量和公共函数,可以避免提前运行实际不需要运行的公有变量和公有函数,节省代码运行时长,进一步提高实时决策系统的代码运行效率。
在一个可能的设计中,所述用于提供RTD Service的设备确定使用次数大于第一预设次数阈值的公有变量为公共变量,以及确定使用参数大于第二预设次数阈值的公有函数为公共函数之后,所述方法还包括:
所述用于提供RTD Service的设备向所述RTDDB集群发送在运行所述公共变量和所述公共函数之后运行所述基础代码的通知。
在一个可能的设计中,所述用于提供RTD Service的设备在所述RTDDB集群上部署所述公有变量、所述公有函数以及所述基础代码之后,所述方法还包括:
所述用于提供RTD Service的设备获取第二执行过程记录,所述第二执行过程记录是所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码以处理所述业务环境中的数据预设时段而生成的;
所述用于提供RTD Service的设备根据所述第二执行过程记录获取所述公有变量和所述公有函数的使用次数;
所述用于提供RTD Service的设备确定使用次数大于第三预设次数阈值的公有变量为目标公共变量,以及确定使用参数大于第四预设次数阈值的公有函数为目标公共函数,所述目标公有变量用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成目标公共变量值,所述目标公有函数用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成目标公共函数值,所述目标公共变量值用于被所述RTDDB集群在运行所述基础代码中的所述目标公共变量时所调用,所述目标公共函数值用于被所述RTDDB集群在运行所述基础代码中的所述目标公共函数时所调用。
可见,本可能的设计中,RTDDB集群利用业务环境中的数据运行公有变量、公有函数和基础代码预设时段,生成第二执行过程记录,RTDDB集群向用于提供RTD Service的设备发送第二执行过程记录,用于提供RTD Service的设备根据第二执行过程记录获取公有变量和公有函数的使用次数,并确定使用次数大于第三预设次数阈值的公有变量为目标公共变量,以及确定使用参数大于第四预设次数阈值的公有函数为目标公共函数,然后向RTDDB集群发送在运行目标公共变量和目标公共函数之后运行基础代码的通知,RTDDB集群运行目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,并运行目标公共函数以处理所述业务环境中的数据并生成目标公共函数值,然后在运行基础代码中的目标公共变量时调用目标公共变量值,在运行基础代码中的目标公共函数时调用目标公共函数值。由于目标公共变量和目标公共函数是处理业务环境中产生的数据而确定的,如此,通过仅提前运行该确定的目标公共变量和目标公共函数,可以避免提前运行实际不需要运行的公有变量和公有函数,节省代码运行时长,进一步提高实时决策系统的代码运行效率。
在一个可能的设计中,所述用于提供RTD Service的设备根据所述第二执行过程记录,确定所述公有变量中的目标公有变量,以及确定所述公有函数中的目标公有函数之后,所述方法还包括:
所述用于提供RTD Service的设备向所述RTDDB集群发送在运行所述目标公共变量和所述目标公共函数之后运行所述基础代码的通知。
第二方面,本发明实施例提供了一种规则处理方法,应用于实时决策系统,所述实时决策系统包括用于提供实时决策服务RTD Service的设备和实时决策数据库RTDDB集群,所述方法包括:
所述RTDDB集群接收所述用于提供实时决策服务RTD Service的设备部署的公有变量、公有函数以及基础代码,所述公有变量是从参考规则的变量中获取的,所述参考规则是替换原始规则中的逻辑判断结构为所述变量而生成的,所述公有函数是从所述基础代码中的函数中获取的,所述基础代码是封装参考代码中的代码段为函数而生成的,所述参考代码是编译所述参考规则而生成的,所述原始规则用于处理所述实时决策系统所关联的业务环境中的数据;
所述RTDDB集群运行所述公有变量以处理所述业务环境中的数据并生成公有变量值,并运行所述公有函数以处理所述业务环境中的数据并生成公有函数值;
所述RTDDB集群在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值。
由上可见,本发明实施例中,实时决策系统中的用于提供RTD Service的设备通过对原始规则进行处理,得到重复的逻辑判断结构对应的公有变量、重复的代码段对应的公有函数,以及基础代码,并将公有变量、公有函数和基础代码部署在RTDDB集群上,这之后,RTDDB集群运行公有变量以处理所述业务环境中的数据并生成公有变量值,运行公有函数以处理所述业务环境中的数据并生成公有函数值,RTDDB集群在运行基础代码中的公有变量时调用公有变量值,在运行基础代码中的公有函数时调用公有函数值。从而RTDDB集群执行基础代码时,无需重复执行公有变量和公有函数中所有的代码,减少了公有变量和公有函数的运行时长,即原始规则对应的冗余代码不再重复执行,有利于提高代码的执行效率。
在一个可能的设计中,所述RTDDB集群在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值之后,所述方法还包括:
所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码处理预存的样本历史数据并生成第一执行过程记录;
所述RTDDB集群向所述用于提供RTD Service的设备发送所述第一执行过程记录;
所述RTDDB集群接收所述用于提供RTD Service的设备发送的在运行公共变量和公共函数之后运行所述基础代码的通知,所述公共变量是使用次数大于第一预设次数阈值的公有变量,所述公共函数是使用次数大于第二预设次数阈值的公有函数,所述公有变量和所述公有函数的使用次数是所述用于提供RTD Service的设备根据所述第一执行过程记录获取的;
所述RTDDB集群运行所述公共变量以处理所述业务环境中的数据并生成公共变量值,并运行所述公共函数以处理所述业务环境中的数据并生成公共函数值;
所述RTDDB集群在运行所述基础代码中的所述公共变量时调用所述公共变量值,在运行所述基础代码中的所述公共函数时调用所述公共函数值。
可见,本可能的设计中,实时决策系统的RTDDB集群运行公有变量、公有函数和基础代码以处理预存的样本历史数据并生成第一执行过程记录,用于提供RTD Service的设备获取第一执行过程记录,然后根据第一执行过程记录获取公有变量和公有函数的使用次数,以及确定使用次数大于第一预设次数阈值的公有变量为公共变量,确定使用参数大于第二预设次数阈值的公有函数为公共函数,再向RTDDB集群发送在运行公共变量和公共函数之后运行基础代码的通知,这之后,RTDDB集群运行公共变量以处理所述业务环境中的数据并生成公共变量值,并运行公共函数以处理所述业务环境中的数据并生成公共函数值,并在运行基础代码中的公共变量时调用公共变量值,在运行基础代码中的公共函数时调用公共函数值。由于公共变量和公共函数是处理预存的与业务环境关联的样本历史数据而确定的,如此,通过仅提前运行该确定的公共变量和公共函数,可以避免提前运行实际不需要运行的公有变量和公有函数,节省代码运行时长,进一步提高实时决策系统的代码运行效率。
在一个可能的设计中,所述RTDDB集群在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值之后,所述方法还包括:
所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码以处理所述业务环境中的数据预设时段并生成第二执行过程记录;
所述RTDDB集群向所述用于提供RTD Service的设备发送所述第二执行过程记录;
所述RTDDB集群接收所述用于提供RTD Service的设备发送的在运行目标公共变量和目标公共函数之后运行所述基础代码的通知,所述目标公共变量是使用次数大于第三预设次数阈值的公有变量,所述目标公共函数是使用次数大于第四预设次数阈值的公有函数,所述目标公有变量和所述目标公有函数的使用次数是所述用于提供RTD Service的设备根据所述第一执行过程记录获取的;
所述RTDDB集群运行所述目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,并运行所述目标公共函数以处理所述业务环境中的数据并生成目标公共函数值;
所述RTDDB集群在运行所述基础代码中的所述目标公共变量时调用所述目标公共变量值,在运行所述基础代码中的所述目标公共函数时调用所述目标公共函数值。
可见,本可能的设计中,RTDDB集群利用业务环境中的数据运行公有变量、公有函数和基础代码预设时段,生成第二执行过程记录,RTDDB集群向用于提供RTD Service的设备发送第二执行过程记录,用于提供RTD Service的设备根据第二执行过程记录获取公有变量和公有函数的使用次数,并确定使用次数大于第三预设次数阈值的公有变量为目标公共变量,以及确定使用参数大于第四预设次数阈值的公有函数为目标公共函数,然后向RTDDB集群发送在运行目标公共变量和目标公共函数之后运行基础代码的通知,RTDDB集群运行目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,并运行目标公共函数以处理所述业务环境中的数据并生成目标公共函数值,然后在运行基础代码中的目标公共变量时调用目标公共变量值,在运行基础代码中的目标公共函数时调用目标公共函数值。由于目标公共变量和目标公共函数是处理业务环境中产生的数据而确定的,如此,通过仅提前运行该确定的目标公共变量和目标公共函数,可以避免提前运行实际不需要运行的公有变量和公有函数,节省代码运行时长,进一步提高实时决策系统的代码运行效率。
在一个可能的设计中,所述RTDDB集群在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值之后,所述方法还包括:
所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码以处理所述业务环境中的数据预设时段并生成第二执行过程记录;
所述RTDDB集群向所述实时决策系统中的计算节点发送所述第二执行过程记录,所述计算节点与所述RTDDB集群通信连接;
所述RTDDB集群接收所述计算节点发送的在运行目标公共变量和目标公共函数之后,运行所述基础代码的通知,所述目标公共变量是使用次数大于第三预设次数阈值的公有变量,所述目标公共函数是使用次数大于第四预设次数阈值的公有函数,所述目标公有变量和所述目标公有函数的使用次数是所述计算节点根据所述第一执行过程记录获取的;
所述RTDDB集群运行所述目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,运行所述目标公共函数以处理所述业务环境中的数据并生成目标公共函数值;
所述RTDDB集群在运行所述基础代码中的所述目标公共变量时调用所述目标公共变量值,在运行所述基础代码中的所述目标公共函数时调用所述目标公共函数值。
可见,本可能的设计中,RTDDB集群利用业务环境中的数据运行公有变量、公有函数和基础代码预设时段,生成第二执行过程记录,RTDDB集群向计算节点发送第二执行过程记录,计算节点根据第二执行过程记录获取公有变量和公有函数的使用次数,并确定使用次数大于第三预设次数阈值的公有变量为目标公共变量,以及确定使用参数大于第四预设次数阈值的公有函数为目标公共函数,然后向RTDDB集群发送在运行目标公共变量和目标公共函数之后运行基础代码的通知,RTDDB集群运行目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,并运行目标公共函数以处理所述业务环境中的数据并生成目标公共函数值,然后在运行基础代码中的目标公共变量时调用目标公共变量值,在运行基础代码中的目标公共函数时调用目标公共函数值。由于目标公共变量和目标公共函数是处理业务环境中产生的数据而确定的,如此,通过仅提前运行该确定的目标公共变量和目标公共函数,可以避免提前运行实际不需要运行的公有变量和公有函数,节省代码运行时长,进一步提高实时决策系统的代码运行效率。
本发明实施例的第三方面,提供一种规则处理装置,该规则处理装置具有实现上述第一方面的方法设计中用于提供RTD Service的设备的行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
具体来说,该规则处理装置包括处理单元和通信单元,所述处理单元用于替换原始规则中的逻辑判断结构为变量以生成参考规则,所述原始规则用于处理所述实时决策系统所关联的业务环境中的数据;以及用于编译所述参考规则以生成参考代码,并封装所述参考代码中的代码段为函数以生成基础代码;以及用于确定所述变量中的公有变量,以及确定所述函数中的公有函数,所述公有变量在所述变量中出现次数大于或等于2,所述公有函数在所述函数中出现次数大于或等于2;以及用于通过所述通信单元在所述RTDDB集群上部署所述公有变量、所述公有函数以及所述基础代码,所述公有变量用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公有变量值,所述公有函数用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公有函数值,所述公有变量值用于被所述RTDDB集群在运行所述基础代码中的所述公有变量时所调用,所述公有函数值用于被所述RTDDB集群在运行所述基础代码中的所述公有函数时所调用。
在一个可能的设计中,所述处理单元通过所述通信单元在所述RTDDB集群上部署所述公有变量、所述公有函数以及所述基础代码之后,还用于通过所述通信单元获取第一执行过程记录,所述第一执行记录是所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码以处理预存的样本历史数据而生成的;以及用于根据所述第一执行过程记录获取所述公有变量和所述公有函数的使用次数;以及用于确定使用次数大于第一预设次数阈值的公有变量为公共变量,以及确定使用参数大于第二预设次数阈值的公有函数为公共函数,所述公共变量用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公共变量值,所述公共函数用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公共函数值,所述公共变量值用于被所述RTDDB集群在运行所述基础代码中的所述公共变量时所调用,所述公共函数值用于被所述RTDDB集群在运行所述基础代码中的所述公共函数时所调用。
在一个可能的设计中,所述处理单元确定使用次数大于第一预设次数阈值的公有变量为公共变量,以及确定使用参数大于第二预设次数阈值的公有函数为公共函数之后,还用于通过所述通信单元向所述RTDDB集群发送在运行所述公共变量和所述公共函数之后运行所述基础代码的通知。
在一个可能的设计中,所述处理单元通过所述通信单元在所述RTDDB集群上部署所述公有变量、所述公有函数以及所述基础代码之后,还用于通过所述通信单元获取第二执行过程记录,所述第二执行过程记录是所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码以处理所述业务环境中的数据预设时段而生成的;以及用于根据所述第二执行过程记录获取所述公有变量和所述公有函数的使用次数;以及用于确定使用次数大于第三预设次数阈值的公有变量为目标公共变量,以及确定使用参数大于第四预设次数阈值的公有函数为目标公共函数,所述目标公有变量用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成目标公共变量值,所述目标公有函数用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成目标公共函数值,所述目标公共变量值用于被所述RTDDB集群在运行所述基础代码中的所述目标公共变量时所调用,所述目标公共函数值用于被所述RTDDB集群在运行所述基础代码中的所述目标公共函数时所调用。
在一个可能的设计中,所述处理单元根据所述第二执行过程记录,确定所述公有变量中的目标公有变量,以及确定所述公有函数中的目标公有函数之后,还用于通过所述通信单元向所述RTDDB集群发送在运行所述目标公共变量和所述目标公共函数之后运行所述基础代码的通知。
本发明实施例的第四方面,提供一种代码处理装置,该代码处理装置具有实现上述第二方面的方法设计中实时决策数据库RTDDB集群的行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
具体来说,该代码处理装置包括处理单元和通信单元,所处处理单元用于通过所述通信单元接收所述用于提供实时决策服务RTD Service的设备部署的公有变量、公有函数以及基础代码,所述公有变量是从参考规则的变量中获取的,所述参考规则是替换原始规则中的逻辑判断结构为所述变量而生成的,所述公有函数是从所述基础代码中的函数中获取的,所述基础代码是封装参考代码中的代码段为函数而生成的,所述参考代码是编译所述参考规则而生成的,所述原始规则用于处理所述实时决策系统所关联的业务环境中的数据;以及用于运行所述公有变量以处理所述业务环境中的数据并生成公有变量值,并运行所述公有函数以处理所述业务环境中的数据并生成公有函数值;以及用于在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值。
在一个可能的设计中,所述处理单元在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值之后,还用于运行所述公有变量、所述公有函数和所述基础代码处理预存的样本历史数据并生成第一执行过程记录;以及用于通过所述通信单元向所述用于提供RTD Service的设备发送所述第一执行过程记录;以及用于通过所述通信单元接收所述用于提供RTD Service的设备发送的在运行公共变量和公共函数之后运行所述基础代码的通知,所述公共变量是使用次数大于第一预设次数阈值的公有变量,所述公共函数是使用次数大于第二预设次数阈值的公有函数,所述公有变量和所述公有函数的使用次数是所述用于提供RTD Service的设备根据所述第一执行过程记录获取的;以及用于运行所述公共变量以处理所述业务环境中的数据并生成公共变量值,并运行所述公共函数以处理所述业务环境中的数据并生成公共函数值;以及用于在运行所述基础代码中的所述公共变量时调用所述公共变量值,在运行所述基础代码中的所述公共函数时调用所述公共函数值。
在一个可能的设计中,所述处理单元在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值之后,还用于运行所述公有变量、所述公有函数和所述基础代码以处理所述业务环境中的数据预设时段并生成第二执行过程记录;以及用于通过所述通信单元向所述用于提供RTD Service的设备发送所述第二执行过程记录;以及用于通过所述通信单元接收所述用于提供RTDService的设备发送的在运行目标公共变量和目标公共函数之后运行所述基础代码的通知,所述目标公共变量是使用次数大于第三预设次数阈值的公有变量,所述目标公共函数是使用次数大于第四预设次数阈值的公有函数,所述目标公有变量和所述目标公有函数的使用次数是所述用于提供RTD Service的设备根据所述第一执行过程记录获取的;以及用于运行所述目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,并运行所述目标公共函数以处理所述业务环境中的数据并生成目标公共函数值;以及用于在运行所述基础代码中的所述目标公共变量时调用所述目标公共变量值,在运行所述基础代码中的所述目标公共函数时调用所述目标公共函数值。
在一个可能的设计中,所述处理单元在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值之后,还用于运行所述公有变量、所述公有函数和所述基础代码以处理所述业务环境中的数据预设时段并生成第二执行过程记录;以及用于通过所述通信单元向所述实时决策系统中的计算节点发送所述第二执行过程记录,所述计算节点与所述RTDDB集群通信连接;以及用于通过所述通信单元接收所述计算节点发送的在运行目标公共变量和目标公共函数之后,运行所述基础代码的通知,所述目标公共变量是使用次数大于第三预设次数阈值的公有变量,所述目标公共函数是使用次数大于第四预设次数阈值的公有函数,所述目标公有变量和所述目标公有函数的使用次数是所述计算节点根据所述第一执行过程记录获取的;以及用于运行所述目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,运行所述目标公共函数以处理所述业务环境中的数据并生成目标公共函数值;以及用于在运行所述基础代码中的所述目标公共变量时调用所述目标公共变量值,在运行所述基础代码中的所述目标公共函数时调用所述目标公共函数值。
本发明实施例的第五方面,提供一种用于提供实时决策服务RTD Service的设备,用于提供实时决策服务RTD Service的设备包括处理器,所述处理器被配置为支持用于提供实时决策服务RTD Service的设备执行上述第一方面的方法中相应的功能。进一步的,用于提供实时决策服务RTD Service的设备还可以包括通信接口,所述通信接口用于支持用于提供实时决策服务RTD Service的设备与实时决策系统中的实时决策数据库RTDDB集群通信之间的通信。进一步的,用于提供实时决策服务RTD Service的设备还可以包括存储器,所述存储器用于与处理器耦合,其保存用于提供实时决策服务RTD Service的设备必要的程序指令和数据。
本发明实施例的第六方面,提供一种实时决策数据库RTDDB集群,RTDDB集群包括至少两个分布式内存数据库节点,每个分布式内存数据库节点包括处理器,所述处理器被配置为支持RTDDB集群执行上述第二方面的方法中相应的功能。进一步的,分布式内存数据库节点还可以包括通信接口,所述通信接口用于支持RTDDB集群与实时决策系统中的用于提供实时决策服务RTD Service的设备之间的通信。进一步的,分布式内存数据库节点还可以包括存储器,所述存储器用于与处理器耦合,其保存分布式内存数据库节点必要的程序指令和数据。
本申请的第七方面,提供了一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,该计算机执行第一方面或第一方面的任一实现方式所提供的规则处理方法。该计算机程序产品可以为一个软件安装包。
本申请的第八方面,提供了一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,该计算机执行第二方面或第二方面的任一实现方式所提供的代码处理方法。该计算机程序产品可以为一个软件安装包。
可以看出,本发明实施例中,实时决策系统中的用于提供RTD Service的设备通过对原始规则进行处理,得到重复的逻辑判断结构对应的公有变量、重复的代码段对应的公有函数,以及基础代码,并将公有变量、公有函数和基础代码部署在RTDDB集群上,这之后,RTDDB集群运行公有变量以处理所述业务环境中的数据并生成公有变量值,运行公有函数以处理所述业务环境中的数据并生成公有函数值,并且,RTDDB集群在运行基础代码中的公有变量时调用公有变量值,在运行基础代码中的公有函数时调用公有函数值。从而RTDDB集群执行基础代码时,无需重复执行公有变量和公有函数中所有的代码,减少了公有变量和公有函数的运行时长,即原始规则对应的冗余代码不再重复执行,有利于提高代码的执行效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种示例实时决策系统的系统架构图;
图2是本发明实施例提供的一种规则处理及代码方法的流程示意图;
图3是本发明实施例提供的另一种规则处理及代码方法的流程示意图;
图4是本发明实施例提供的另一种规则处理及代码方法的流程示意图;
图5是本发明实施例提供的另一种规则处理及代码方法的流程示意图;
图6A是本发明实施例提供的一种规则处理装置的功能单元组成框图;
图6B是本发明实施例提供的一种RTD Service服务器的结构示意图;
图7A是本发明实施例提供的一种代码处理装置的功能单元组成框图;
图7B是本发明实施例提供的一种RTDDB的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明实施例提供的一种示例实时决策(Real Time Decision,RTD)系统的系统架构图,包括实时决策门户设备、RTD Service服务器、实时决策数据库(Real Time Decision DataBase,RTDDB)集群、计算节点Node(如Node1至Node N)以及访问负载均衡(Access Load Balance,ALB)设备,实时决策门户设备连接RTD Service服务器,RTD Service服务器连接RTDDB集群,RTDDB集群连接Node,Node连接ALB设备;其中,实时决策门户设备运行实时决策门户模块RTD Portal,该RTD Portal用于负责规则的编写、管理功能,RTD Service服务器上部署的RTD Service模块是RTD系统对外提供的一种应用程序接口,采用的是表述性状态转移(Representational State Transfer,Rest)服务Restful架构,该RTD Service模块具体可以运行在Web容器中(比如Tomcat),用于为RTD Portal提供服务,比如规则的编译、部署等功能,实时决策数据库RTDDB集群包括至少两个分布式内存数据库节点,RTDDB集群是规则存储过程的承载集群,用于执行规则存储过程,计算节点Node为虚拟机节点或者物理机,该Node上运行执行器Executor,该Executor用于调度存储过程规则的运行,运行时直接与RTDDB集群进行交互,RTDDB集群执行规则存储过程完成后,会输出规则决策结果,ALB设备上部署的ALB模块用于分配消息、均衡负载。
下面以示例规则Rule1和Rule2为例,对目前相关技术中实时决策系统的规则处理过程进行说明。
Rule1:
Rule2:
注:rule1和rule2中“交易地不在开户所在国家”可以表示为:tradeAddress!=select accountAddress from card_person where person=‘交易人’
实时决策系统在获取到上述Rule1和Rule2后,对Rule1和Rule2后进行编译,得到编译后的代码为如下所示。
上述规则中,存在相同的逻辑判断结构:
交易金额>5000&&交易地(tradeAddress)不在开户所在国家
该逻辑判断结构在编译阶段会重复生成逻辑代码片段,使得该逻辑判断结构在运行时会执行2次,导致实时决策系统的执行性能降低。
此外,上述规则中,还存在相同的逻辑块:
该逻辑块在编译阶段会重复生成逻辑代码片段,使得rule1和rule2在运行时会执行两次,同样会导致实时决策系统的执行性能降低。
如上分析可见,现有实时决策系统仅能够将规则一对一的转换为可运行代码,这使得具有重复的逻辑结构的规则生成的代码会有冗余,实时决策系统运行规则对应的代码时会产生额外的性能损耗。
有鉴于此,本发明实施例提供一种规则处理方法、代码处理方法及相关设备,其中,该规则和代码的处理方法包括:实时决策系统中的用于提供RTD Service的设备通过对原始规则进行处理,得到重复的逻辑判断结构对应的公有变量、重复的代码段对应的公有函数,以及基础代码,并将公有变量、公有函数和基础代码部署在RTDDB集群上,这之后,RTDDB集群运行公有变量以处理所述业务环境中的数据并生成公有变量值,运行公有函数以处理所述业务环境中的数据并生成公有函数值,并且,RTDDB集群在运行基础代码中的公有变量时调用公有变量值,在运行基础代码中的公有函数时调用公有函数值。从而RTDDB集群执行基础代码时,无需重复执行公有变量和公有函数中所有的代码,减少了公有变量和公有函数的运行时长,即原始规则对应的冗余代码不再重复执行,有利于提高代码的执行效率。
下面将基于上面所述的本发明实施例涉及的共性方面,对本发明实施例进一步详细说明。
结合附图2,对本发明实施例提供的规则和代码处理方法进行说明。图2示出了本发明实施例提供的一种规则和代码处理方法,适用于实时决策系统,所述实时决策系统包括用于提供实时决策服务RTD Service的设备和实时决策数据库RTDDB集群,所述用于提供实时决策服务RTD Service的设备例如可以是图1中所示的RTD Service服务器,该方法包括:201~209部分,具体如下:
在201部分,实时决策门户设备获取原始规则;
其中,所述原始规则用于处理实时决策系统所关联的业务环境中产生的数据,如金融风控系统业务环境中产生的信用卡业务数据等。实时决策系统中的所述实时决策门户设备上运行有实时决策门户模块RTD Portal,该RTD Portal用于提供原始规则的录入接口,该录入接口例如可以是显示屏幕上显示的规则信息录入窗口,开发人员可以通过该规则信息录入窗口写入原始规则。例如,用户可以通过RTD Portal提供的规则信息录入窗口写入上述原始规则Rule1和Rule2。
在202部分,所述RTD Service服务器用于提供RTD Service的设备获取所述原始规则,替换所述原始规则中的逻辑判断结构为变量以生成参考规则;
其中,逻辑判断结构为原始规则中的各个分支节点的条件判断表达式。例如,Rule1中的分支节点:if(交易金额>5000&&交易地(tradeAddress)不在开户所在国家)中的逻辑判断结构为条件判断表达式:交易金额>5000&&交易地(tradeAddress)不在开户所在国家。原始规则中的条件判断表达式被替换为变量后的规则成为参考规则。例如Rule1中将条件判断表达式:交易金额>5000&&交易地(tradeAddress)不在开户所在国家为变量1,将条件判断表达式:距离上次交易的时间<1小时&&本次交易地距离上次交易地>100公里替换为变量2之后的规则称为Rule1的参考规则,该Rule1的参考规则具体如下所示:
Rule1:
同理,上述规则Rule2对应的参考规则为:
Rule2:
在203部分,所述RTD Service服务器编译所述参考规则以生成参考代码,并封装所述参考代码中的代码段为函数以生成基础代码;
其中,以Rule1的参考规则为例,RTD Service服务器编译Rule1的参考规则以生成的参考代码如下所示:
封装Rule1的参考代码中的代码段为函数以生成基础代码为:
其中,参考代码中的代码段
被封装为函数f1():
在204部分,所述RTD Service服务器确定所述变量中的公有变量,以及确定所述函数中的公有函数;
其中,所述公有变量在所述变量中出现次数大于或等于2,例如原始规则Rule1和Rule2中条件判断表达式:交易金额>5000&&交易地(tradeAddress)不在开户所在国家对应的变量1的出现次数为2次,则确定变量1为公有变量。同理,所述公有函数在所述函数中出现次数大于或等于2,此处不再赘述。
在205部分,所述RTD Service服务器在所述RTDDB集群上部署所述公有变量、所述公有函数和所述基础代码;
其中,所述公有变量用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公有变量值,所述公有函数用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公有函数值,所述公有变量值用于被所述RTDDB集群在运行所述基础代码中的所述公有变量时所调用,所述公有函数值用于被所述RTDDB集群在运行所述基础代码中的所述公有函数时所调用。
在206部分,所述RTDDB集群运行所述公有变量以处理所述业务环境中的数据并生成公有变量值,运行所述公有函数以处理所述业务环境中的数据并生成公有函数值;
在207部分,所述RTDDB集群在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值。
可以看出,本发明实施例中,实时决策系统中的RTD Service服务器通过对原始规则进行处理,得到重复的逻辑判断结构对应的公有变量、重复的代码段对应的公有函数,以及基础代码,并将公有变量、公有函数和基础代码部署在RTDDB集群上,这之后,RTDDB集群运行公有变量以处理所述业务环境中的数据并生成公有变量值,运行公有函数以处理所述业务环境中的数据并生成公有函数值,RTDDB集群在运行基础代码中的公有变量时调用公有变量值,在运行基础代码中的公有函数时调用公有函数值。从而RTDDB集群执行基础代码时,无需重复执行公有变量和公有函数中所有的代码,减少了公有变量和公有函数的运行时长,即原始规则对应的冗余代码不再重复执行,有利于提高代码的执行效率。
此外,需要注意的,上述实时决策系统在运行上述公有变量、公有函数和基础代码来处理业务环境中产生的实时业务数据时,业务环境产生的实时业务数据可能会使得基础代码中的一些公有变量和公有函数并未被使用到,基于此,本发明实施例进一步提出如下可选示例方案。
在一个示例中,如图3所示,所述RTDDB集群在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值之后,本发明实施例的方法还可以包括:
在208a部分,所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码以处理预存的样本历史数据并生成第一执行过程记录;
在209a部分,所述RTD Service服务器获取所述第一执行过程记录;
在210a部分,所述RTD Service服务器根据所述第一执行过程记录获取所述公有变量和所述公有函数的使用次数;
在211a部分,所述RTD Service服务器确定使用次数大于第一预设次数阈值的公有变量为公共变量,以及确定使用参数大于第二预设次数阈值的公有函数为公共函数;
其中,所述第一预设次数阈值和所述第二预设次数阈值可以根据业务环境中数据处理的实时性要求进行设置,第一预设次数阈值和第二预设次数阈值例如可以是5次、10次、20次、100次等。
在212a部分,所述RTD Service服务器向所述RTDDB集群发送在运行所述公共变量和所述公共函数之后运行所述基础代码的通知。
在213a部分,所述RTDDB集群运行所述公共变量以处理所述业务环境中的数据并生成公共变量值,并运行所述公共函数以处理所述业务环境中的数据并生成公共函数值;
在214a部分,所述RTDDB集群在运行所述基础代码中的所述公共变量时调用所述公共变量值,在运行所述基础代码中的所述公共函数时调用所述公共函数值。
可见,本示例中,实时决策系统的RTDDB集群运行公有变量、公有函数和基础代码以处理预存的样本历史数据并生成第一执行过程记录,RTD Service服务器获取第一执行过程记录,然后根据第一执行过程记录获取公有变量和公有函数的使用次数,以及确定使用次数大于第一预设次数阈值的公有变量为公共变量,确定使用参数大于第二预设次数阈值的公有函数为公共函数,再向RTDDB集群发送在运行公共变量和公共函数之后运行基础代码的通知,这之后,RTDDB集群运行公共变量以处理所述业务环境中的数据并生成公共变量值,并运行公共函数以处理所述业务环境中的数据并生成公共函数值,并在运行基础代码中的公共变量时调用公共变量值,在运行基础代码中的公共函数时调用公共函数值。由于公共变量和公共函数是处理预存的与业务环境关联的样本历史数据而确定的,如此,通过仅提前运行该确定的公共变量和公共函数,可以避免提前运行实际不需要运行的公有变量和公有函数,节省代码运行时长,进一步提高实时决策系统的代码运行效率。
在一个示例中,如图4所示,所述RTDDB集群在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值之后,本发明实施例的方法还可以包括:
在208b部分,所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码以处理所述业务环境中的数据预设时段并生成第二执行过程记录;
其中,所述业务环境是实时决策系统关联的业务环境,如银行金融风控系统中的信用卡业务环境等。
在209b部分,所述RTDDB集群向所述RTD Service服务器发送所述第二执行过程记录;
在210b部分,所述RTD Service服务器根据所述第二执行过程记录获取所述公有变量和所述公有函数的使用次数;
在211b部分,所述RTD Service服务器确定使用次数大于第三预设次数阈值的公有变量为目标公共变量,以及确定使用参数大于第四预设次数阈值的公有函数为目标公共函数;
其中,所述第三预设次数阈值和所述第四预设次数阈值可以根据业务环境中数据处理的实时性要求进行设置,第三预设次数阈值和第四预设次数阈值例如可以是5次、10次、20次、50次等。
在212b部分,所述RTD Service服务器向所述RTDDB集群发送在运行所述目标公共变量和所述目标公共函数之后运行所述基础代码的通知。
在213b部分,所述RTDDB集群运行所述目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,并运行所述目标公共函数以处理所述业务环境中的数据并生成目标公共函数值;
在214b部分,所述RTDDB集群在运行所述基础代码中的所述目标公共变量时调用所述目标公共变量值,在运行所述基础代码中的所述目标公共函数时调用所述目标公共函数值。
可见,本示例中,RTDDB集群利用业务环境中的数据运行公有变量、公有函数和基础代码预设时段,生成第二执行过程记录,RTDDB集群向RTD Service服务器发送第二执行过程记录,RTD Service服务器根据第二执行过程记录获取公有变量和公有函数的使用次数,并确定使用次数大于第三预设次数阈值的公有变量为目标公共变量,以及确定使用参数大于第四预设次数阈值的公有函数为目标公共函数,然后向RTDDB集群发送在运行目标公共变量和目标公共函数之后运行基础代码的通知,RTDDB集群运行目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,并运行目标公共函数以处理所述业务环境中的数据并生成目标公共函数值,然后在运行基础代码中的目标公共变量时调用目标公共变量值,在运行基础代码中的目标公共函数时调用目标公共函数值。由于目标公共变量和目标公共函数是处理业务环境中产生的数据而确定的,如此,通过仅提前运行该确定的目标公共变量和目标公共函数,可以避免提前运行实际不需要运行的公有变量和公有函数,节省代码运行时长,进一步提高实时决策系统的代码运行效率。
在一个示例中,如图5所示,所述RTDDB集群在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值之后,本发明实施例的方法还可以包括:
在208c部分,所述RTDDB集群利用业务环境中的数据运行所述公有变量、所述公有函数和所述基础代码预设时段,生成第二执行过程记录;
其中,所述业务环境是实时决策系统关联的业务环境,如银行金融风控系统中的信用卡业务环境等。
在209c部分,所述RTDDB集群向所述实时决策系统中的计算节点发送所述第二执行过程记录;
在210c部分,所述计算节点根据所述第二执行过程记录获取所述公有变量和所述公有函数的使用次数;
在211c部分,所述计算节点确定使用次数大于第三预设次数阈值的公有变量为目标公共变量,以及确定使用参数大于第四预设次数阈值的公有函数为目标公共函数;
其中,所述第三预设次数阈值和所述第四预设次数阈值可以根据业务环境中数据处理的实时性要求进行设置,第三预设次数阈值和第四预设次数阈值例如可以是5次、10次、20次、50次等。
在212c部分,所述计算节点向所述RTDDB集群发送在运行所述目标公共变量和所述目标公共函数之后运行所述基础代码的通知。
在213c部分,所述RTDDB集群运行所述目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,并运行所述目标公共函数以处理所述业务环境中的数据并生成目标公共函数值;
在214c部分,所述RTDDB集群在运行所述基础代码中的所述目标公共变量时调用所述目标公共变量值,在运行所述基础代码中的所述目标公共函数时调用所述目标公共函数值。
可见,本示例中,RTDDB集群利用业务环境中的数据运行公有变量、公有函数和基础代码预设时段,生成第二执行过程记录,RTDDB集群向计算节点发送第二执行过程记录,计算节点根据第二执行过程记录获取公有变量和公有函数的使用次数,并确定使用次数大于第三预设次数阈值的公有变量为目标公共变量,以及确定使用参数大于第四预设次数阈值的公有函数为目标公共函数,然后向RTDDB集群发送在运行目标公共变量和目标公共函数之后运行基础代码的通知,RTDDB集群运行目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,并运行目标公共函数以处理所述业务环境中的数据并生成目标公共函数值,然后在运行基础代码中的目标公共变量时调用目标公共变量值,在运行基础代码中的目标公共函数时调用目标公共函数值。由于目标公共变量和目标公共函数是处理业务环境中产生的数据而确定的,如此,通过仅提前运行该确定的目标公共变量和目标公共函数,可以避免提前运行实际不需要运行的公有变量和公有函数,节省代码运行时长,进一步提高实时决策系统的代码运行效率。
上述主要从实时决策系统的各个设备之间交互的角度对本发明实施例的方案进行了介绍。可以理解的是,各个设备,例如实时决策门户设备、RTD Service服务器、RTDDB集群、计算节点等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对RTD Service服务器等进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图6A示出了上述实施例中所涉及的规则处理装置(即RTD Service服务器或用于提供RTD Service的设备)的一种可能的结构示意图。规则处理装置600包括:处理单元602和通信单元603。处理单元602用于对规则处理装置的动作进行控制管理,例如,处理单元602用于支持规则处理装置执行图2中的步骤202至205、图3中的步骤202至205以及209a至212a、图4中的步骤202至205以及210b至212b和/或用于本文所描述的技术的其它过程。通信单元603用于支持规则处理装置与实时决策系统中其他设备之间的通信,例如与图1中示出的实时决策门户设备和/或RTDDB集群等之间的通信。规则处理装置还可以包括存储单元601,用于存储规则处理装置的程序代码和数据。
其中,处理单元602可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元603可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口。存储单元601可以是存储器。
当处理单元602为处理器,通信单元603为收发器,存储单元601为存储器时,本发明实施例所涉及的规则处理装置可以为图6B所示的RTD Service服务器。
参阅图6B所示,该RTD Service服务器610包括:处理器612、收发器613、存储器611。可选的,RTD Service服务器610还可以包括总线614。其中,收发器613、处理器612以及存储器611可以通过总线614相互连接;总线614可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。所述总线614可以分为地址总线、数据总线、控制总线等。为便于表示,图6B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述图6A所述的规则处理装置或图6B所示的RTD Service服务器也可以理解为一种用于提供RTD Service的设备的装置,本发明实施例不限定。
在采用集成的单元的情况下,图7A示出了上述实施例中所涉及的代码处理装置(即RTDDB集群中的分布式内存数据库节点)的一种可能的结构示意图。代码处理装置700包括:处理单元702和通信单元703。处理单元702用于对代码处理装置的动作进行控制管理,例如,处理单元702用于支持代码处理装置执行图2中的步骤206、207、图3中的步骤206、207以及208a、213a、214a、图4中的步骤206、207以及208b、213b、214b、图5中的步骤206、207以及208c、213c、214c和/或用于本文所描述的技术的其它过程。通信单元703用于支持代码处理装置与实时决策系统中的其他设备的通信,例如与图1中示出的RTD Service服务器和/或计算节点等之间的通信。代码处理装置还可以包括存储单元701,用于存储代码处理装置的程序代码和数据。
其中,处理单元702可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元703可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口。存储单元701可以是存储器。
当处理单元702为处理器,通信单元703为收发器,存储单元701为存储器时,本发明实施例所涉及的代码处理装置可以为图7B所示的分布式内存数据库节点。
参阅图7B所示,该分布式内存数据库节点710包括:处理器712、收发器713、存储器711。可选的,分布式内存数据库节点710还可以包括总线714。其中,收发器713、处理器712以及存储器711可以通过总线1214相互连接;总线714可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,简称EISA)总线等。所述总线714可以分为地址总线、数据总线、控制总线等。为便于表示,图7B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述图7A所示的代码处理装置或图7B所示的分布式内存数据库节点也可以理解为一种用于RTDDB集群的装置,本发明实施例不限定。
本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,该计算机执行上述任一规则和代码处理方法实施例中记载的RTD Service服务器所执行的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
本发明实施例还提供了另一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,该计算机执行上述任一规则和代码处理方法实施例中记载的RTDDB集群所执行的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种规则处理方法,其特征在于,应用于实时决策系统,所述实时决策系统包括用于提供实时决策服务RTD Service的设备和实时决策数据库RTDDB集群,所述方法包括:
所述用于提供RTD Service的设备替换原始规则中的逻辑判断结构为变量以生成参考规则,所述原始规则用于处理所述实时决策系统所关联的业务环境中的数据;
所述用于提供RTD Service的设备编译所述参考规则以生成参考代码,并封装所述参考代码中的代码段为函数以生成基础代码;
所述用于提供RTD Service的设备确定所述变量中的公有变量,以及确定所述函数中的公有函数,所述公有变量在所述变量中出现次数大于或等于2,所述公有函数在所述函数中出现次数大于或等于2;
所述用于提供RTD Service的设备在所述RTDDB集群上部署所述公有变量、所述公有函数以及所述基础代码,所述公有变量用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公有变量值,所述公有函数用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公有函数值,所述公有变量值用于被所述RTDDB集群在运行所述基础代码中的所述公有变量时所调用,所述公有函数值用于被所述RTDDB集群在运行所述基础代码中的所述公有函数时所调用。
2.根据权利要求1所述的方法,其特征在于,所述用于提供RTD Service的设备在所述RTDDB集群上部署所述公有变量、所述公有函数以及所述基础代码之后,所述方法还包括:
所述用于提供RTD Service的设备获取第一执行过程记录,所述第一执行记录是所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码以处理预存的样本历史数据而生成的;
所述用于提供RTD Service的设备根据所述第一执行过程记录获取所述公有变量和所述公有函数的使用次数;
所述用于提供RTD Service的设备确定使用次数大于第一预设次数阈值的公有变量为公共变量,以及确定使用参数大于第二预设次数阈值的公有函数为公共函数,所述公共变量用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公共变量值,所述公共函数用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成公共函数值,所述公共变量值用于被所述RTDDB集群在运行所述基础代码中的所述公共变量时所调用,所述公共函数值用于被所述RTDDB集群在运行所述基础代码中的所述公共函数时所调用。
3.根据权利要求2所述的方法,其特征在于,所述用于提供RTD Service的设备确定使用次数大于第一预设次数阈值的公有变量为公共变量,以及确定使用参数大于第二预设次数阈值的公有函数为公共函数之后,所述方法还包括:
所述用于提供RTD Service的设备向所述RTDDB集群发送在运行所述公共变量和所述公共函数之后运行所述基础代码的通知。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述用于提供RTD Service的设备在所述RTDDB集群上部署所述公有变量、所述公有函数以及所述基础代码之后,所述方法还包括:
所述用于提供RTD Service的设备获取第二执行过程记录,所述第二执行过程记录是所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码以处理所述业务环境中的数据预设时段而生成的;
所述用于提供RTD Service的设备根据所述第二执行过程记录获取所述公有变量和所述公有函数的使用次数;
所述用于提供RTD Service的设备确定使用次数大于第三预设次数阈值的公有变量为目标公共变量,以及确定使用参数大于第四预设次数阈值的公有函数为目标公共函数,所述目标公有变量用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成目标公共变量值,所述目标公有函数用于被所述RTDDB集群运行以处理所述业务环境中的数据并生成目标公共函数值,所述目标公共变量值用于被所述RTDDB集群在运行所述基础代码中的所述目标公共变量时所调用,所述目标公共函数值用于被所述RTDDB集群在运行所述基础代码中的所述目标公共函数时所调用。
5.根据权利要求4所述的方法,其特征在于,所述用于提供RTD Service的设备根据所述第二执行过程记录,确定所述公有变量中的目标公有变量,以及确定所述公有函数中的目标公有函数之后,所述方法还包括:
所述用于提供RTD Service的设备向所述RTDDB集群发送在运行所述目标公共变量和所述目标公共函数之后运行所述基础代码的通知。
6.一种代码处理方法,其特征在于,应用于实时决策系统,所述实时决策系统包括用于提供实时决策服务RTD Service的设备和实时决策数据库RTDDB集群,所述方法包括:
所述RTDDB集群接收所述用于提供实时决策服务RTD Service的设备部署的公有变量、公有函数以及基础代码,所述公有变量是从参考规则的变量中获取的,所述参考规则是替换原始规则中的逻辑判断结构为所述变量而生成的,所述公有函数是从所述基础代码中的函数中获取的,所述基础代码是封装参考代码中的代码段为函数而生成的,所述参考代码是编译所述参考规则而生成的,所述原始规则用于处理所述实时决策系统所关联的业务环境中的数据;
所述RTDDB集群运行所述公有变量以处理所述业务环境中的数据并生成公有变量值,并运行所述公有函数以处理所述业务环境中的数据并生成公有函数值;
所述RTDDB集群在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值。
7.根据权利要求6所述的方法,其特征在于,所述RTDDB集群在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值之后,所述方法还包括:
所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码处理预存的样本历史数据并生成第一执行过程记录;
所述RTDDB集群向所述用于提供RTD Service的设备发送所述第一执行过程记录;
所述RTDDB集群接收所述用于提供RTD Service的设备发送的在运行公共变量和公共函数之后运行所述基础代码的通知,所述公共变量是使用次数大于第一预设次数阈值的公有变量,所述公共函数是使用次数大于第二预设次数阈值的公有函数,所述公有变量和所述公有函数的使用次数是所述用于提供RTD Service的设备根据所述第一执行过程记录获取的;
所述RTDDB集群运行所述公共变量以处理所述业务环境中的数据并生成公共变量值,并运行所述公共函数以处理所述业务环境中的数据并生成公共函数值;
所述RTDDB集群在运行所述基础代码中的所述公共变量时调用所述公共变量值,在运行所述基础代码中的所述公共函数时调用所述公共函数值。
8.根据权利要求6所述的方法,其特征在于,所述RTDDB集群在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值之后,所述方法还包括:
所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码以处理所述业务环境中的数据预设时段并生成第二执行过程记录;
所述RTDDB集群向所述用于提供RTD Service的设备发送所述第二执行过程记录;
所述RTDDB集群接收所述用于提供RTD Service的设备发送的在运行目标公共变量和目标公共函数之后运行所述基础代码的通知,所述目标公共变量是使用次数大于第三预设次数阈值的公有变量,所述目标公共函数是使用次数大于第四预设次数阈值的公有函数,所述目标公有变量和所述目标公有函数的使用次数是所述用于提供RTD Service的设备根据所述第一执行过程记录获取的;
所述RTDDB集群运行所述目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,并运行所述目标公共函数以处理所述业务环境中的数据并生成目标公共函数值;
所述RTDDB集群在运行所述基础代码中的所述目标公共变量时调用所述目标公共变量值,在运行所述基础代码中的所述目标公共函数时调用所述目标公共函数值。
9.根据权利要求6所述的方法,其特征在于,所述RTDDB集群在运行所述基础代码中的所述公有变量时调用所述公有变量值,在运行基础代码中的所述公有函数时调用所述公有函数值之后,所述方法还包括:
所述RTDDB集群运行所述公有变量、所述公有函数和所述基础代码以处理所述业务环境中的数据预设时段并生成第二执行过程记录;
所述RTDDB集群向所述实时决策系统中的计算节点发送所述第二执行过程记录,所述计算节点与所述RTDDB集群通信连接;
所述RTDDB集群接收所述计算节点发送的在运行目标公共变量和目标公共函数之后,运行所述基础代码的通知,所述目标公共变量是使用次数大于第三预设次数阈值的公有变量,所述目标公共函数是使用次数大于第四预设次数阈值的公有函数,所述目标公有变量和所述目标公有函数的使用次数是所述计算节点根据所述第一执行过程记录获取的;
所述RTDDB集群运行所述目标公共变量以处理所述业务环境中的数据并生成目标公共变量值,运行所述目标公共函数以处理所述业务环境中的数据并生成目标公共函数值;
所述RTDDB集群在运行所述基础代码中的所述目标公共变量时调用所述目标公共变量值,在运行所述基础代码中的所述目标公共函数时调用所述目标公共函数值。
10.一种用于提供实时决策服务RTD Service的设备,其特征在于,应用于实时决策系统,所述用于提供RTD Service的设备包括处理器、通信接口、存储器和总线,所述处理器、所述通信接口和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可执行程序代码,所述通信接口用于与所述实时决策系统中的实时决策数据库RTDDB集群通信;
所述处理器用于调用所述存储器中的可执行程序代码,执行如权利要求1至权利要求5任一项所描述的方法。
11.一种实时决策数据库RTDDB集群,其特征在于,应用于实时决策系统,所述RTDDB集群包括至少两个分布式内存数据库节点,每个分布式内存数据库节点包括处理器、通信接口、存储器和总线,所述处理器、所述通信接口和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可执行程序代码,所述通信接口用于与所述实时决策系统中的用于提供实时决策服务RTD Service的设备通信;
所述处理器用于调用所述存储器中的可执行程序代码,执行如权利要求6至权利要求9任一项所描述的方法。
CN201610981847.1A 2016-11-04 2016-11-04 规则处理方法、代码处理方法及相关设备 Active CN108021360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610981847.1A CN108021360B (zh) 2016-11-04 2016-11-04 规则处理方法、代码处理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610981847.1A CN108021360B (zh) 2016-11-04 2016-11-04 规则处理方法、代码处理方法及相关设备

Publications (2)

Publication Number Publication Date
CN108021360A true CN108021360A (zh) 2018-05-11
CN108021360B CN108021360B (zh) 2021-03-05

Family

ID=62084728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610981847.1A Active CN108021360B (zh) 2016-11-04 2016-11-04 规则处理方法、代码处理方法及相关设备

Country Status (1)

Country Link
CN (1) CN108021360B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110333851A (zh) * 2019-06-12 2019-10-15 平安科技(深圳)有限公司 代码解耦方法及相关设备
US11989053B2 (en) 2019-01-18 2024-05-21 Samsung Display Co., Ltd. Display device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015681A1 (en) * 2002-04-29 2004-01-22 Hewlett-Packard Development Company L.P. Structuring program code
US20060100858A1 (en) * 2004-11-09 2006-05-11 Mcentee Robert A System and method for generating markup language text templates
CN102231162A (zh) * 2011-07-01 2011-11-02 福建富士通信息软件有限公司 基于业务处理的规则引擎动态配置方法
CN102483701A (zh) * 2010-07-05 2012-05-30 松下电器产业株式会社 程序生成装置、程序生产方法及程序
US8826250B2 (en) * 2010-06-30 2014-09-02 Bioproduction Group Method for just-in-time compilation and execution of code blocks within discrete event simulations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015681A1 (en) * 2002-04-29 2004-01-22 Hewlett-Packard Development Company L.P. Structuring program code
US20060100858A1 (en) * 2004-11-09 2006-05-11 Mcentee Robert A System and method for generating markup language text templates
US8826250B2 (en) * 2010-06-30 2014-09-02 Bioproduction Group Method for just-in-time compilation and execution of code blocks within discrete event simulations
CN102483701A (zh) * 2010-07-05 2012-05-30 松下电器产业株式会社 程序生成装置、程序生产方法及程序
CN102231162A (zh) * 2011-07-01 2011-11-02 福建富士通信息软件有限公司 基于业务处理的规则引擎动态配置方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
管延勇等: "基于VPRS的信息系统近似决策规则优化", 《计算机工程与应用 信息科技》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11989053B2 (en) 2019-01-18 2024-05-21 Samsung Display Co., Ltd. Display device
CN110333851A (zh) * 2019-06-12 2019-10-15 平安科技(深圳)有限公司 代码解耦方法及相关设备
CN110333851B (zh) * 2019-06-12 2023-06-16 平安科技(深圳)有限公司 代码解耦方法及相关设备

Also Published As

Publication number Publication date
CN108021360B (zh) 2021-03-05

Similar Documents

Publication Publication Date Title
US8825798B1 (en) Business event tracking system
CN102314336B (zh) 一种数据处理方法和系统
CN105608366B (zh) 用户权限控制方法和装置
CN113269547B (zh) 数据处理方法、装置、电子设备和存储介质
JP4272186B2 (ja) 回収代行システム
CN106062711A (zh) 复合控件
CN104951977A (zh) 基于累积金额的银行卡使用方法和装置
CN107729452A (zh) 网页加载方法、装置、电子设备及计算机可读存储介质
CN107924335A (zh) 供应商网络中图形处理的虚拟化
CN108021360A (zh) 规则处理方法、代码处理方法及相关设备
CN101446906B (zh) 一种调度多批处理任务的方法及系统
CN104050193A (zh) 生成报文的方法和实现该方法的数据处理系统
CN103810249A (zh) 一种兼容多个验印厂商算法的方法和系统
CN110689418B (zh) 账单生成方法及装置
CN108733536A (zh) 监控管理系统及方法
JP6797956B2 (ja) 推計装置、推計方法およびプログラム
US20230130853A1 (en) Systems and techniques for securely processing disparate data sets in spreadsheets
CN111161052A (zh) 银行作业数据的处理方法及装置
US20230061813A1 (en) Systems and methods for programmable payments enabled by triggers based on mutual validation
CN112541765A (zh) 用于检测可疑交易的方法和装置
CN109614416A (zh) 一种基于数据统计分析的发票管理方法及装置
JPWO2018167983A1 (ja) 経営情報システム、方法、およびプログラム
CN110648219B (zh) 一种银行交易系统标准化输入区的方法和装置
CN109213979A (zh) 对电子表格进行筛选的方法、装置、电子设备及存储介质
US9342541B1 (en) Presentation oriented rules-based technical architecture display framework (PORTRAY)

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220215

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right