CN111538483A - 一种数据处理方法、设备、服务器及可读存储介质 - Google Patents

一种数据处理方法、设备、服务器及可读存储介质 Download PDF

Info

Publication number
CN111538483A
CN111538483A CN202010221631.1A CN202010221631A CN111538483A CN 111538483 A CN111538483 A CN 111538483A CN 202010221631 A CN202010221631 A CN 202010221631A CN 111538483 A CN111538483 A CN 111538483A
Authority
CN
China
Prior art keywords
event
integral
information
preset
target
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
Application number
CN202010221631.1A
Other languages
English (en)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202010221631.1A priority Critical patent/CN111538483A/zh
Publication of CN111538483A publication Critical patent/CN111538483A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Landscapes

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

Abstract

本发明实施例公开了一种数据处理方法、设备、服务器及可读存储介质,其中,该方法包括:根据预设的事件处理逻辑确定代码处理逻辑,并根据代码处理逻辑生成Groovy脚本,以及将Groovy脚本存储于指定目录中;当监测到业务事件时,获取业务事件的源代码,并调用Groovy脚本处理该源代码,以得到业务事件的源代码对应的事件信息;如果根据事件信息确定业务事件满足积分条件,则根据事件信息确定待添加的目标积分,其中,事件信息包括积分信息和用户信息;在用户信息对应的目标用户的原始积分的基础上添加目标积分,以对目标用户的原始积分进行更新。通过这种实施方式,可以提高事件处理的效率,满足用户对事件处理的快节奏需求。

Description

一种数据处理方法、设备、服务器及可读存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、设备、服务器及可读存储介质。
背景技术
目前,常采用开源业务规则引擎Drools处理业务事件如积分事件,其中,Drools是一种具有易于访问企业策略、易于调整以及易于管理的开源业务规则引擎。
然而引擎Drools只能处理简单逻辑规则的业务事件,对于复杂多变的业务规则的业务事件Drools的语句格式无法很友好地处理,如果规则增加的话,除了需要解决本身业务处理的逻辑,还需要导入Drools的文件,并需要重新加载才能支持新规则,即引擎Drools与业务事件之间存在较强的耦合性,以及实现步骤过于复杂,处理效率较低。
发明内容
本发明实施例提供了一种数据处理方法、设备、服务器及可读存储介质,可以提高事件处理的效率,满足用户对事件处理的快节奏需求。
第一方面,本发明实施例提供了一种数据处理方法,包括:
根据预设的事件处理逻辑确定代码处理逻辑,并根据所述代码处理逻辑生成Groovy脚本,以及将所述Groovy脚本存储于指定目录中,其中,所述预设的事件处理逻辑是通过所述代码处理逻辑实现的;
当监测到业务事件时,获取所述业务事件的源代码,并调用所述指定目录中的Groovy脚本处理所述业务事件的源代码,以得到所述业务事件的源代码对应的事件信息;
如果根据所述事件信息确定所述业务事件满足积分条件,则根据所述业务事件的事件信息确定待添加的目标积分,其中,所述事件信息包括积分信息和用户信息;
在所述用户信息对应的目标用户的原始积分的基础上添加所述目标积分,以对所述目标用户的原始积分进行更新。
进一步地,所述Groovy脚本包括脚本路径、脚本调用方法、逻辑规则中的任意一种或多种;所述调用所述指定目录中的Groovy脚本处理所述业务事件的源代码,包括:
获取所述指定目录中的Groovy脚本中包括的脚本路径、脚本调用方法、逻辑规则中的任意一种或多种;
根据所述Groovy脚本中包括的脚本路径、脚本调用方法、逻辑规则中的任意一种或多种,处理所述业务事件的源代码,以得到所述业务事件的源代码对应的事件信息。
进一步地,所述如果根据所述事件信息确定所述业务事件满足积分条件,则根据所述业务事件的事件信息确定待添加的目标积分之前,还包括:
获取所述处理结果中所述业务事件的积分信息,其中,所述积分信息包括业务事件的发生时间、积分添加次数、已积分值中的至少一项;
根据所述积分信息确定所述业务事件是否满足积分条件。
进一步地,所述根据所述积分信息确定所述业务事件是否满足积分条件,包括:
判断所述业务事件的发生时间是否在预设的有效时间范围内;
如果判断判断出所述业务事件的发生时间在预设的有效时间范围内,则判断在预设的有效时间范围内所述业务事件的积分添加次数是否小于预设次数阈值;
如果判断出在预设的有效时间范围内所述业务事件的积分添加次数小于预设次数阈值,则判断在预设的有效时间范围内所述业务事件的已积分值是否小于预设分数阈值;
如果判断出在预设的有效时间范围内所述业务事件的已积分值小于预设分数阈值,则确定所述业务事件满足所述积分条件。
进一步地,所述事件信息包括用户信息;所述根据所述业务事件的事件信息确定待添加的目标积分,包括:
获取所述业务事件的用户信息中包括的用户等级;
根据预设的等级与积分规则的对应关系,确定与所述用户等级对应的目标积分规则;
根据所述目标积分规则确定待添加的目标积分。
进一步地,所述根据所述目标积分规则确定待添加的目标积分,包括:
根据所述目标积分规则确定所述业务事件在预设的有效时间范围内的积分阈值;
获取所述业务事件在所述预设的有效时间范围内的已积分值;
根据所述业务事件在预设的有效时间范围内的积分阈值以及所述已积分值确定所述待添加的目标积分。
进一步地,所述根据所述业务事件在预设的有效时间范围内的积分阈值以及所述已积分值确定所述待添加的目标积分,包括:
获取所述业务事件的积分信息中待添加的积分值;
判断所述在预设的有效时间范围内的积分阈值与已积分值的差值是否大于或等于待添加的积分值;
如果判断结果为是,则确定所述待添加的积分值为所述待添加的目标积分;
如果判断结果为否,则确定所述差值为所述待添加的目标积分。
第二方面,本发明实施例提供了一种数据处理设备,该数据处理设备包括用于执行上述第一方面的数据处理方法的单元。
第三方面,本发明实施例提供了一种服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持数据处理设备执行上述方法的计算机程序,所述计算机程序包括程序,所述处理器被配置用于调用所述程序,执行上述第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述第一方面的方法。
本发明实施例可以根据预设的事件处理逻辑确定代码处理逻辑,并根据代码处理逻辑生成Groovy脚本,以及将Groovy脚本存储于指定目录中,当监测到业务事件时可以获取业务事件的源代码,并调用指定目录中的Groovy脚本处理该业务事件的源代码以得到业务事件的源代码对应的事件信息,如果根据事件信息确定该业务事件满足积分条件,则根据该业务事件的事件信息确定待添加的目标积分,并在该业务事件的用户信息对应的目标用户的原始积分的基础上添加目标积分,以对目标用户的原始积分进行更新。基于Groovy代码不仅与Java兼容性强,也可以使用其他非Java语言编写的库的特性,使用Groovy这种语言可以不必编写过多的代码,同时又具有闭包和动态语言中的其他特性,因此,通过调用Groovy脚本处理业务事件的源代码时,即便是处理复杂多变的业务事件,也无须调整Groovy脚本代码,以及导入其余文件进行重新加载,实现了业务事件与引擎之间的解耦,可以提高事件处理的效率,满足用户对事件处理的快节奏需求。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据处理方法的示意流程图;
图2是本发明实施例提供的一种数据处理设备的示意框图;
图3是本发明实施例提供的一种服务器的示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的数据处理方法可以由一种数据处理设备执行,其中,所述数据处理设备可以设置在服务器上。在某些实施例中,所述数据处理设备可以安装在服务器上;在某些实施例中,所述数据处理设备可以在空间上独立于所述服务器;在某些实施例中,所述数据处理设备可以是所述服务器的部件,即所述服务器包括数据处理设备。
本发明实施例中,数据处理设备可以根据预设的事件处理逻辑确定代码处理逻辑,并根据所述代码处理逻辑生成Groovy脚本,以及将所述Groovy脚本存储于指定目录中,当监测到业务事件时,获取所述业务事件的源代码,并调用所述指定目录中的Groovy脚本处理所述业务事件的源代码,以得到所述业务事件的源代码对应的事件信息;如果根据所述事件信息确定所述业务事件满足积分条件,则可以根据所述业务事件的事件信息确定待添加的目标积分,在所述用户信息对应的目标用户的原始积分的基础上添加所述目标积分,以对所述目标用户的原始积分进行更新。通过调用Groovy脚本处理所述业务事件的源代码,可以实现业务事件与Groovy之间的解耦,可以提高事件处理的效率,满足用户对事件处理的快节奏需求。
下面结合附图对本发明实施例的数据处理方法进行示意性说明。
请参见图1,图1是本发明实施例提供的一种数据处理方法的示意流程图,如图1所示,该方法可以由数据处理设备执行,所述数据处理设备的具体解释如前所述,此处不再赘述。具体地,本发明实施例的所述方法包括如下步骤。
S101:根据预设的事件处理逻辑确定代码处理逻辑,并根据所述代码处理逻辑生成Groovy脚本,以及将所述Groovy脚本存储于指定目录中。
本发明实施例中,数据处理设备可以根据预设的事件处理逻辑确定代码处理逻辑,并根据所述代码处理逻辑生成Groovy脚本,以及将所述Groovy脚本存储于指定目录中,其中,所述预设的事件处理逻辑是通过所述代码处理逻辑实现的。在某些实施例中,所述预设的事件处理逻辑可以是用户预先通过梳理业务事件的积分条件确定的。
在某些实施例中,所述Groovy是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,也可以用作纯粹的脚本语言。Groovy代码能够与Java代码很好地结合,也能用于扩展现有代码。由于其运行在Java虚拟机(Java Virtual Machine,JVM)上的特性,Groovy也可以使用其他非Java语言编写的库,使用该种语言可以不必编写过多的代码,同时又具有闭包和动态语言中的其他特性。
可见,通过生成Groovy脚本有助于后续调用Groovy脚本对用户事件进行处理,以提高处理效率。
在一个实施例中,在根据所述代码处理逻辑生成Groovy脚本时,可以获取代码处理逻辑的先后顺序即优先级,并根据所述代码处理逻辑的先后顺序为所述Groovy脚本中的逻辑代码添加优先级标签,以用于标识处理的先后顺序。
可见,通过为所述Groovy脚本中的逻辑代码添加优先级标签的实施方式,有助于在调用Groovy脚本对用户事件进行处理时根据优先级标签确定代码处理的优先级,有助于提高事件处理效率。
在某些实施例中,所述Groovy脚本包括脚本路径、脚本调用方法、逻辑规则中的任意一种或多种信息。在某些实施例中,所述脚本路径包括但不限于脚本名称,所述逻辑规则包括但不限于优先级、规则对象、条件信息、逻辑运算符等。
在一个实施例中,所述逻辑规则是按照指定格式传入所述Groovy脚本的,其中,一个规则对象包含一个规则对象列表List、条件信息、逻辑运算符等。在某些实施例中,所述条件信息包含规则key值,参数key值,参数value值,参数运算符;在某些实施例中,所述逻辑运算符包括“and”、“or”、“single”。
在一些实施例中,当逻辑运算符为“and”时,可以遍历规则对象列表List中的每一个规则对象,如果遍历结果为true,则可以继续遍历,再次调用Groovy脚本的脚本调用方法;如果结果为false,则可以设置错误码,并跳出。
在一些实施例中,当逻辑运算符为“or”时,可以遍历规则对象列表List中的每一个规则对象,如果结果为true,则可以跳出循环,并清空错误码;如果结果为false,则可以设置错误码,再次调用Groovy脚本的脚本调用方法。
在一些实施例中,当逻辑运算符为“single”时,表示没有包含其他逻辑关系,可以调用Groovy脚本的相关信息进行处理,脚本返回成功或失败的结果。
S102:当监测到业务事件时,获取所述业务事件的源代码,并调用所述指定目录中的Groovy脚本处理所述业务事件的源代码,以得到所述业务事件的源代码对应的事件信息。
本发明实施例中,数据处理设备可以在监测到业务事件时,获取所述业务事件的源代码,并调用所述指定目录中的Groovy脚本处理所述业务事件的源代码,以得到所述业务事件的源代码对应的事件信息。在某些实施例中,所述业务事件可以是预设的包括积分的用户事件。在某些实施例中,所述业务事件包括事件信息,所述事件信息包括积分信息和用户信息,所述用户信息包括用户姓名、账号、身份信息、联系方式、用户操作信息、账户信息等,本发明实施例不做具体限定。
在一些实施例中,数据处理设备在调用所述指定目录中的Groovy脚本处理所述业务事件的源代码时,可以获取所述指定目录中的Groovy脚本中包括的脚本路径、脚本调用方法、逻辑规则中的任意一种或多种;并根据所述Groovy脚本中包括的脚本路径、脚本调用方法、逻辑规则中的任意一种或多种,处理所述业务事件的源代码,以得到所述业务事件的源代码对应的事件信息。
S103:如果根据所述事件信息确定所述业务事件满足积分条件,则根据所述业务事件的事件信息确定待添加的目标积分,其中,所述事件信息包括积分信息和用户信息。
本发明实施例中,数据处理设备如果根据所述事件信息确定所述业务事件满足积分条件,则可以根据所述业务事件的事件信息确定待添加的目标积分,其中,所述事件信息包括积分信息和用户信息。
在一个实施例中,数据处理设备在如果根据所述事件信息确定所述业务事件满足积分条件,则根据所述业务事件的事件信息确定待添加的目标积分之前,可以获取所述事件信息中包括的积分信息,其中,所述积分信息包括业务事件的发生时间、积分添加次数、已积分值中的至少一项;并根据所述积分信息,确定所述业务事件是否满足积分条件。
在某些实施例中,所述积分条件中包括预设的有效时间范围、预设次数阈值、预设分数阈值等任意一种或多种;在某些实施例中,所述预设的有效时间范围是从业务事件发生开始的指定时间范围;在某些实施例中,所述预设次数阈值是预设的有效时间范围内指定的次数阈值,所述预设分数阈值是预设的有效时间范围内指定的分数阈值。
在一个示例中,所述预设的有效时间范围为从业务事件发生时刻开始的24小时内;在一个示例中,所述预设次数阈值为在业务事件发生时刻开始的24小时内限定积分次数为2次;在一个示例中,所述预设分数阈值为在业务事件发生时刻开始的24小时内限定积分分数为200分,即在24小时内的积分不能超过200分。在其他实施例中,还可以是其他预设的有效时间范围、预设次数阈值、预设分数阈值等,本发明实施例在此不做具体限定。
在一个实施例中,数据处理设备在根据所述积分信息确定所述业务事件是否满足积分条件时,可以根据逻辑规则包括的逻辑处理的优先级确定所述业务事件是否满足积分条件。
在一个实施例中,所述逻辑规则包括的逻辑处理的优先级可以为业务事件的发生时间、积分添加次数、已积分值;在一个实施例中,所述逻辑规则包括的逻辑处理的优先级可以为业务事件的发生时间、已积分值、积分添加次数。本发明实施例对逻辑规则包括的逻辑处理的优先级不做具体限定。
在一个实施例中,数据处理设备在根据所述积分信息确定所述业务事件是否满足积分条件时,可以判断所述业务事件的发生时间是否在预设的有效时间范围内,如果判断出所述业务事件的发生时间在预设的有效时间范围内,则可以确定所述业务事件的发生时间满足积分条件。
例如,假设预设的有效时间范围为24小时h,如果所述业务事件的发生时刻为2019年10月1日中午12:00,当前时刻为2019年10月3日中午12:00,则可以确定所述业务事件的发生时间为48h,业务事件的发生时间48h大于预设的有效时间范围24h,因此可以确定所述业务事件的发生时间不满足积分条件。
又例如,假设预设的有效时间范围为24小时h,如果所述业务事件的发生时刻为2019年10月1日中午12:00,当前时刻为2019年10月2日上午9:00,则可以确定所述业务事件的发生时间为21h,业务事件的发生时间21h小于预设的有效时间范围24h,因此可以确定所述业务事件的发生时间满足积分条件。
在一个实施例中,在确定所述业务事件的发生时间满足积分条件时,可以进一步判断在预设的有效时间范围内所述业务事件的积分添加次数是否小于预设次数阈值,如果判断出在预设的有效时间范围内所述业务事件的积分添加次数小于预设次数阈值,则可以确定在预设的有效时间范围内所述业务事件的积分添加次数满足积分条件。
例如,假设预设次数阈值为2次,预设的有效时间范围为24h,如果在24h内所述业务事件的积分添加次数为1次,则可以确定所述业务事件的积分添加次数1次小于预设次数阈值2次,因此可以确定所述业务事件的积分添加次数满足积分条件。
在一个实施例中,当确定在预设的有效时间范围内所述业务事件的积分添加次数满足积分条件时,可以进一步判断在预设的有效时间范围内所述业务事件的已积分值是否小于预设分数阈值,如果判断出在预设的有效时间范围内所述业务事件的已积分值小于预设分数阈值,则可以确定所述业务事件满足所述积分条件。
例如,假设预设分数阈值为200分,预设时间范围为24h,如果所述业务事件在24h内的积分数值为100分,则可以确定在预设时间范围内所述业务事件的积分数值100分小于预设分数阈值200分,即可以确定所述业务事件的积分数值满足积分条件。
在一个实施例中,如果确定出所述确定所述业务事件的发生时间、积分添加次数、积分数值中任意一项不满足积分条件,则可以确定所述业务事件不满足积分条件,并输出提示信息,所述提示信息用于提示用户所述积分时间不满足积分条件的原因,有助于用户了解不满足积分条件的原因。
在一个实施例中,数据处理设备根据所述业务事件的积分信息,确定所述业务事件是否满足积分条件时,可以判断所述业务事件的发生时间是否在预设的有效时间范围内,如果判断出所述业务事件的发生时间在预设的有效时间范围内,则可以确定所述业务事件的发生时间满足积分条件;进一步地,可以判断在预设的有效时间范围内所述业务事件的已积分值是否小于预设分数阈值,如果判断出在预设的有效时间范围内所述业务事件的已积分值小于预设分数阈值,则可以确定所述业务事件的已积分值满足所述积分条件;进一步地,可以判断在预设的有效时间范围内所述业务事件的积分添加次数是否小于预设次数阈值,如果判断出在预设的有效时间范围内所述业务事件的积分添加次数小于预设次数阈值,则可以确定所述业务事件满足积分条件。
在一个实施例中,所述事件信息包括用户信息;所述数据处理设备根据所述业务事件的事件信息确定待添加的目标积分时,可以获取所述业务事件的用户信息中包括的用户等级,并根据预设的等级与积分规则的对应关系,确定与所述用户等级对应的目标积分规则,以及根据所述目标积分规则确定待添加的目标积分。在某些实施例中,所述目标积分规则可以为n倍积分,其中,n可以为任意大于0的正数,即包括小数、正整数等;在一个示例中,所述积分规则为0.1倍积分。
在一个实施例中,数据处理设备根据所述目标积分规则确定待添加的目标积分时,可以根据所述目标积分规则确定所述业务事件在预设的有效时间范围内的积分阈值,并获取所述业务事件在所述预设的有效时间范围内的已积分值,以及根据所述业务事件在预设的有效时间范围内的积分阈值以及所述已积分值确定所述待添加的目标积分。
在一个实施例中,数据处理设备根据所述业务事件在预设的有效时间范围内的积分阈值以及所述已积分值确定所述待添加的目标积分时,可以获取所述业务事件的积分信息中待添加的积分值,并判断所述在预设的有效时间范围内的积分阈值与已积分值的差值是否大于或等于待添加的积分值,如果判断结果为是,则可以确定所述待添加的积分值为所述待添加的目标积分,如果判断结果为否,则可以确定所述差值为所述待添加的目标积分。
例如,假设预设分数阈值为200分,已积分值为100分,如果确定的所述业务事件的目标积分规则为0.1倍积分,用户信息中包括的消费金额为1000元,则可以确定待添加的积分值为1000*0.1=100分,由于所述业务事件的预设分数阈值200与已积分值100的差值为100,则可以确定该差值100等于所述待添加的积分值100,因此,可以确定所述待添加的目标积分为100分。
又例如,假设预设分数阈值为200分,已积分值为100分,如果确定的所述业务事件的目标积分规则为0.2倍积分,用户信息中包括的消费金额为1000元,则可以确定待添加的积分值为1000*0.2=200分,由于所述业务事件的预设分数阈值200与已积分数值100的差值为100,则可以确定该差值100小于所述待添加的积分值200,因此,可以确定该差值100为所述待添加的目标积分。
S104:在所述用户信息对应的目标用户的原始积分的基础上添加所述目标积分,以对所述目标用户的原始积分进行更新。
本发明实施例中,数据处理设备可以在所述用户信息对应的目标用户的原始积分的基础上添加所述目标积分,以对所述目标用户的原始积分进行更新。
例如,假设确定的目标积分为100分,原始积分为100分,则可以将目标积分100分添加到原始积分100分上,得到更新后的积分为200分。
本发明实施例中,数据处理设备可以根据预设的事件处理逻辑确定代码处理逻辑,并根据所述代码处理逻辑生成Groovy脚本,以及将所述Groovy脚本存储于指定目录中,当监测到业务事件时,可以获取所述业务事件的源代码,并调用所述指定目录中的Groovy脚本处理所述业务事件的源代码,并调用指定目录中的Groovy脚本处理该业务事件的源代码以得到业务事件的源代码对应的事件信息,如果根据事件信息确定该业务事件满足积分条件,则根据该业务事件的事件信息确定待添加的目标积分,并在该业务事件的用户信息对应的目标用户的原始积分的基础上添加目标积分,以对目标用户的原始积分进行更新。通过这种实施方式,可以提高事件处理的效率,满足用户对事件处理的快节奏需求。
本发明实施例还提供了一种数据处理设备,该数据处理设备用于执行前述任一项所述的方法的单元。具体地,参见图2,图2是本发明实施例提供的一种数据处理设备的示意框图。本实施例的数据处理设备包括:生成单元201、监测单元202、确定单元203、添加单元204。
生成单元201,用于根据预设的事件处理逻辑确定代码处理逻辑,并根据所述代码处理逻辑生成Groovy脚本,以及将所述Groovy脚本存储于指定目录中,其中,所述预设的事件处理逻辑是通过所述代码处理逻辑实现的;
监测单元202,用于当监测到业务事件时,获取所述业务事件的源代码,并调用所述指定目录中的Groovy脚本处理所述业务事件的源代码,以得到所述业务事件的源代码对应的事件信息;
确定单元203,用于如果根据所述事件信息确定所述业务事件满足积分条件,则根据所述业务事件的事件信息确定待添加的目标积分,其中,所述事件信息包括积分信息和用户信息;
添加单元204,用于在所述用户信息对应的目标用户的原始积分的基础上添加所述目标积分,以对所述目标用户的原始积分进行更新。
进一步地,所述Groovy脚本包括脚本路径、脚本调用方法、逻辑规则中的任意一种或多种;所述监测单元202调用所述指定目录中的Groovy脚本处理所述业务事件的源代码时,具体用于:
获取所述指定目录中的Groovy脚本中包括的脚本路径、脚本调用方法、逻辑规则中的任意一种或多种;
根据所述Groovy脚本中包括的脚本路径、脚本调用方法、逻辑规则中的任意一种或多种,处理所述业务事件的源代码,以得到所述业务事件的源代码对应的事件信息。
进一步地,所述确定单元203如果根据所述事件信息确定所述业务事件满足积分条件,则根据所述业务事件的事件信息确定待添加的目标积分之前,还用于:
获取所述处理结果中所述业务事件的积分信息,其中,所述积分信息包括业务事件的发生时间、积分添加次数、已积分值中的至少一项;
根据所述积分信息确定所述业务事件是否满足积分条件。
进一步地,所述确定单元203根据所述积分信息确定所述业务事件是否满足积分条件时,具体用于:
判断所述业务事件的发生时间是否在预设的有效时间范围内;
如果判断判断出所述业务事件的发生时间在预设的有效时间范围内,则判断在预设的有效时间范围内所述业务事件的积分添加次数是否小于预设次数阈值;
如果判断出在预设的有效时间范围内所述业务事件的积分添加次数小于预设次数阈值,则判断在预设的有效时间范围内所述业务事件的已积分值是否小于预设分数阈值;
如果判断出在预设的有效时间范围内所述业务事件的已积分值小于预设分数阈值,则确定所述业务事件满足所述积分条件。
进一步地,所述事件信息包括用户信息;所述确定单元203根据所述业务事件的事件信息确定待添加的目标积分时,具体用于:
获取所述业务事件的用户信息中包括的用户等级;
根据预设的等级与积分规则的对应关系,确定与所述用户等级对应的目标积分规则;
根据所述目标积分规则确定待添加的目标积分。
进一步地,所述添加单元204根据所述目标积分规则确定待添加的目标积分时,具体用于:
根据所述目标积分规则确定所述业务事件在预设的有效时间范围内的积分阈值;
获取所述业务事件在所述预设的有效时间范围内的已积分值;
根据所述业务事件在预设的有效时间范围内的积分阈值以及所述已积分值确定所述待添加的目标积分。
进一步地,所述添加单元204根据所述业务事件在预设的有效时间范围内的积分阈值以及所述已积分值确定所述待添加的目标积分时,具体用于:
获取所述业务事件的积分信息中待添加的积分值;
判断所述在预设的有效时间范围内的积分阈值与已积分值的差值是否大于或等于待添加的积分值;
如果判断结果为是,则确定所述待添加的积分值为所述待添加的目标积分;
如果判断结果为否,则确定所述差值为所述待添加的目标积分。
本发明实施例中,数据处理设备可以根据预设的事件处理逻辑确定代码处理逻辑,并根据所述代码处理逻辑生成Groovy脚本,以及将所述Groovy脚本存储于指定目录中,当监测到业务事件时,可以获取所述业务事件的源代码,并调用所述指定目录中的Groovy脚本处理所述业务事件的源代码,并调用指定目录中的Groovy脚本处理该业务事件的源代码以得到业务事件的源代码对应的事件信息,如果根据事件信息确定该业务事件满足积分条件,则根据该业务事件的事件信息确定待添加的目标积分,并在该业务事件的用户信息对应的目标用户的原始积分的基础上添加目标积分,以对目标用户的原始积分进行更新。通过这种实施方式,可以提高事件处理的效率,满足用户对事件处理的快节奏需求。
参见图3,图3是本发明实施例提供的一种服务器的示意框图。如图所示的本实施例中的服务器可以包括:一个或多个处理器301;一个或多个输入设备302,一个或多个输出设备303和存储器304。上述处理器301、输入设备302、输出设备303和存储器304通过总线305连接。存储器304用于存储计算机程序,所述计算机程序包括程序,处理器301用于执行存储器304存储的程序。其中,处理器301被配置用于调用所述程序执行:
根据预设的事件处理逻辑确定代码处理逻辑,并根据所述代码处理逻辑生成Groovy脚本,以及将所述Groovy脚本存储于指定目录中,其中,所述预设的事件处理逻辑是通过所述代码处理逻辑实现的;
当监测到业务事件时,获取所述业务事件的源代码,并调用所述指定目录中的Groovy脚本处理所述业务事件的源代码,以得到所述业务事件的源代码对应的事件信息;
如果根据所述事件信息确定所述业务事件满足积分条件,则根据所述业务事件的事件信息确定待添加的目标积分,其中,所述事件信息包括积分信息和用户信息;
在所述用户信息对应的目标用户的原始积分的基础上添加所述目标积分,以对所述目标用户的原始积分进行更新。
进一步地,所述Groovy脚本包括脚本路径、脚本调用方法、逻辑规则中的任意一种或多种;所述处理器301调用所述指定目录中的Groovy脚本处理所述业务事件的源代码时,具体用于:
获取所述指定目录中的Groovy脚本中包括的脚本路径、脚本调用方法、逻辑规则中的任意一种或多种;
根据所述Groovy脚本中包括的脚本路径、脚本调用方法、逻辑规则中的任意一种或多种,处理所述业务事件的源代码,以得到所述业务事件的源代码对应的事件信息。
进一步地,所述处理器301如果根据所述事件信息确定所述业务事件满足积分条件,则根据所述业务事件的事件信息确定待添加的目标积分之前,还用于:
获取所述处理结果中所述业务事件的积分信息,其中,所述积分信息包括业务事件的发生时间、积分添加次数、已积分值中的至少一项;
根据所述积分信息确定所述业务事件是否满足积分条件。
进一步地,所述处理器301根据所述积分信息确定所述业务事件是否满足积分条件时,具体用于:
判断所述业务事件的发生时间是否在预设的有效时间范围内;
如果判断判断出所述业务事件的发生时间在预设的有效时间范围内,则判断在预设的有效时间范围内所述业务事件的积分添加次数是否小于预设次数阈值;
如果判断出在预设的有效时间范围内所述业务事件的积分添加次数小于预设次数阈值,则判断在预设的有效时间范围内所述业务事件的已积分值是否小于预设分数阈值;
如果判断出在预设的有效时间范围内所述业务事件的已积分值小于预设分数阈值,则确定所述业务事件满足所述积分条件。
进一步地,所述事件信息包括用户信息;所述处理器301根据所述业务事件的事件信息确定待添加的目标积分时,具体用于:
获取所述业务事件的用户信息中包括的用户等级;
根据预设的等级与积分规则的对应关系,确定与所述用户等级对应的目标积分规则;
根据所述目标积分规则确定待添加的目标积分。
进一步地,所述处理器301根据所述目标积分规则确定待添加的目标积分时,具体用于:
根据所述目标积分规则确定所述业务事件在预设的有效时间范围内的积分阈值;
获取所述业务事件在所述预设的有效时间范围内的已积分值;
根据所述业务事件在预设的有效时间范围内的积分阈值以及所述已积分值确定所述待添加的目标积分。
进一步地,所述处理器301根据所述业务事件在预设的有效时间范围内的积分阈值以及所述已积分值确定所述待添加的目标积分时,具体用于:
获取所述业务事件的积分信息中待添加的积分值;
判断所述在预设的有效时间范围内的积分阈值与已积分值的差值是否大于或等于待添加的积分值;
如果判断结果为是,则确定所述待添加的积分值为所述待添加的目标积分;
如果判断结果为否,则确定所述差值为所述待添加的目标积分。
本发明实施例中,服务器可以根据预设的事件处理逻辑确定代码处理逻辑,并根据所述代码处理逻辑生成Groovy脚本,以及将所述Groovy脚本存储于指定目录中,当监测到业务事件时,可以获取所述业务事件的源代码,并调用所述指定目录中的Groovy脚本处理所述业务事件的源代码,并调用指定目录中的Groovy脚本处理该业务事件的源代码以得到业务事件的源代码对应的事件信息,如果根据事件信息确定该业务事件满足积分条件,则根据该业务事件的事件信息确定待添加的目标积分,并在该业务事件的用户信息对应的目标用户的原始积分的基础上添加目标积分,以对目标用户的原始积分进行更新。通过这种实施方式,可以提高事件处理的效率,满足用户对事件处理的快节奏需求。
应当理解,在本发明实施例中,所称处理器301可以是中央处理单元(CenSralProcessing UniS,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigiSalSignal Processor,DSP)、专用集成电路(ApplicaSion Specific InSegraSed CircuiS,ASIC)、现成可编程门阵列(Field-Programmable GaSe Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备302可以包括触控板、麦克风等,输出设备303可以包括显示器(LCD等)、扬声器等。
该存储器304可以包括只读存储器和随机存取存储器,并向处理器301提供指令和数据。存储器304的一部分还可以包括非易失性随机存取存储器。例如,存储器304还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器301、输入设备302、输出设备303可执行本发明实施例提供的图1所述的方法实施例中所描述的实现方式,也可执行本发明实施例图2所描述的数据处理设备的实现方式,在此不再赘述。
本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现图1所对应实施例中描述的数据处理方法,也可实现本发明图2所对应实施例的数据处理设备,在此不再赘述。
所述计算机可读存储介质可以是前述任一实施例所述的数据处理设备的内部存储单元,例如数据处理设备的硬盘或内存。所述计算机可读存储介质也可以是所述数据处理设备的外部存储设备,例如所述数据处理设备上配备的插接式硬盘,智能存储卡(SmarSMedia Card,SMC),安全数字(Secure DigiSal,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述数据处理设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述数据处理设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的部分实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
根据预设的事件处理逻辑确定代码处理逻辑,并根据所述代码处理逻辑生成Groovy脚本,以及将所述Groovy脚本存储于指定目录中,其中,所述预设的事件处理逻辑是通过所述代码处理逻辑实现的;
当监测到业务事件时,获取所述业务事件的源代码,并调用所述指定目录中的Groovy脚本处理所述业务事件的源代码,以得到所述业务事件的源代码对应的事件信息;
如果根据所述事件信息确定所述业务事件满足积分条件,则根据所述业务事件的事件信息确定待添加的目标积分,其中,所述事件信息包括积分信息和用户信息;
在所述用户信息对应的目标用户的原始积分的基础上添加所述目标积分,以对所述目标用户的原始积分进行更新。
2.根据权利要求1所述的方法,其特征在于,所述Groovy脚本包括脚本路径、脚本调用方法、逻辑规则中的任意一种或多种;所述调用所述指定目录中的Groovy脚本处理所述业务事件的源代码,包括:
获取所述指定目录中的Groovy脚本中包括的脚本路径、脚本调用方法、逻辑规则中的任意一种或多种;
根据所述Groovy脚本中包括的脚本路径、脚本调用方法、逻辑规则中的任意一种或多种,处理所述业务事件的源代码,以得到所述业务事件的源代码对应的事件信息。
3.根据权利要求2所述的方法,其特征在于,所述如果根据所述事件信息确定所述业务事件满足积分条件,则根据所述业务事件的事件信息确定待添加的目标积分之前,还包括:
获取所述事件信息中包括的积分信息,其中,所述积分信息包括业务事件的发生时间、积分添加次数、已积分值中的至少一项;
根据所述积分信息确定所述业务事件是否满足积分条件。
4.根据权利要求3所述的方法,其特征在于,所述根据所述积分信息确定所述业务事件是否满足积分条件,包括:
判断所述业务事件的发生时间是否在预设的有效时间范围内;
如果判断出所述业务事件的发生时间在预设的有效时间范围内,则判断在预设的有效时间范围内所述业务事件的积分添加次数是否小于预设次数阈值;
如果判断出在预设的有效时间范围内所述业务事件的积分添加次数小于预设次数阈值,则判断在预设的有效时间范围内所述业务事件的已积分值是否小于预设分数阈值;
如果判断出在预设的有效时间范围内所述业务事件的已积分值小于预设分数阈值,则确定所述业务事件满足所述积分条件。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述事件信息包括用户信息;所述根据所述业务事件的事件信息确定待添加的目标积分,包括:
获取所述业务事件的用户信息中包括的用户等级;
根据预设的等级与积分规则的对应关系,确定与所述用户等级对应的目标积分规则;
根据所述目标积分规则确定待添加的目标积分。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标积分规则确定待添加的目标积分,包括:
根据所述目标积分规则确定所述业务事件在预设的有效时间范围内的积分阈值;
获取所述业务事件在所述预设的有效时间范围内的已积分值;
根据所述业务事件在预设的有效时间范围内的积分阈值以及所述已积分值确定所述待添加的目标积分。
7.根据权利要求6所述的方法,其特征在于,所述根据所述业务事件在预设的有效时间范围内的积分阈值以及所述已积分值确定所述待添加的目标积分,包括:
获取所述业务事件的积分信息中待添加的积分值;
判断所述在预设的有效时间范围内的积分阈值与已积分值的差值是否大于或等于待添加的积分值;
如果判断结果为是,则确定所述待添加的积分值为所述待添加的目标积分;
如果判断结果为否,则确定所述差值为所述待添加的目标积分。
8.一种数据处理设备,其特征在于,包括用于执行如权利要求1-7任一项权利要求所述的方法的单元。
9.一种服务器,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序,所述处理器被配置用于调用所述程序,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-7任一项所述的方法。
CN202010221631.1A 2020-03-25 2020-03-25 一种数据处理方法、设备、服务器及可读存储介质 Pending CN111538483A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010221631.1A CN111538483A (zh) 2020-03-25 2020-03-25 一种数据处理方法、设备、服务器及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010221631.1A CN111538483A (zh) 2020-03-25 2020-03-25 一种数据处理方法、设备、服务器及可读存储介质

Publications (1)

Publication Number Publication Date
CN111538483A true CN111538483A (zh) 2020-08-14

Family

ID=71952203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010221631.1A Pending CN111538483A (zh) 2020-03-25 2020-03-25 一种数据处理方法、设备、服务器及可读存储介质

Country Status (1)

Country Link
CN (1) CN111538483A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116308522A (zh) * 2023-03-03 2023-06-23 深圳市优讯信息技术有限公司 一种快速计算积分的实现方法、系统
CN116911919A (zh) * 2023-07-14 2023-10-20 浪潮智慧科技有限公司 一种积分系统及方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126215A (zh) * 2016-06-17 2016-11-16 深圳市麦斯杰网络有限公司 业务规则脚本生成方法及装置
CN106648564A (zh) * 2015-10-30 2017-05-10 阿里巴巴集团控股有限公司 一种用于采集业务数据的方法和装置
US20170249130A1 (en) * 2016-02-26 2017-08-31 Oracle International Corporation Method for static security enforcement of a dsl
CN107133039A (zh) * 2017-04-28 2017-09-05 九次方大数据信息集团有限公司 规则引擎的构建方法和装置
WO2017150841A1 (ko) * 2016-03-04 2017-09-08 삼성전자(주) 전자장치, 어플리케이션 실행 시스템 및 그 제어방법
CN108008944A (zh) * 2017-11-29 2018-05-08 千寻位置网络有限公司 规则引擎响应方法及系统、规则引擎、服务终端、存储器
CN109086031A (zh) * 2018-06-28 2018-12-25 阿里巴巴集团控股有限公司 一种基于规则引擎的业务决策方法和装置
CN109636317A (zh) * 2018-11-23 2019-04-16 山东中创软件工程股份有限公司 业务控制方法、装置、系统及存储介质
CN109766124A (zh) * 2018-12-26 2019-05-17 深圳左邻永佳科技有限公司 业务开发方法、装置、计算机设备和存储介质
CN110457902A (zh) * 2019-06-25 2019-11-15 平安银行股份有限公司 银行系统的静态源代码扫描方法、装置及计算机存储介质
CN110825488A (zh) * 2019-09-29 2020-02-21 山东中创软件工程股份有限公司 一种业务处理方法、装置及电子设备和存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648564A (zh) * 2015-10-30 2017-05-10 阿里巴巴集团控股有限公司 一种用于采集业务数据的方法和装置
US20170249130A1 (en) * 2016-02-26 2017-08-31 Oracle International Corporation Method for static security enforcement of a dsl
WO2017150841A1 (ko) * 2016-03-04 2017-09-08 삼성전자(주) 전자장치, 어플리케이션 실행 시스템 및 그 제어방법
CN106126215A (zh) * 2016-06-17 2016-11-16 深圳市麦斯杰网络有限公司 业务规则脚本生成方法及装置
CN107133039A (zh) * 2017-04-28 2017-09-05 九次方大数据信息集团有限公司 规则引擎的构建方法和装置
CN108008944A (zh) * 2017-11-29 2018-05-08 千寻位置网络有限公司 规则引擎响应方法及系统、规则引擎、服务终端、存储器
CN109086031A (zh) * 2018-06-28 2018-12-25 阿里巴巴集团控股有限公司 一种基于规则引擎的业务决策方法和装置
CN109636317A (zh) * 2018-11-23 2019-04-16 山东中创软件工程股份有限公司 业务控制方法、装置、系统及存储介质
CN109766124A (zh) * 2018-12-26 2019-05-17 深圳左邻永佳科技有限公司 业务开发方法、装置、计算机设备和存储介质
CN110457902A (zh) * 2019-06-25 2019-11-15 平安银行股份有限公司 银行系统的静态源代码扫描方法、装置及计算机存储介质
CN110825488A (zh) * 2019-09-29 2020-02-21 山东中创软件工程股份有限公司 一种业务处理方法、装置及电子设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张宁: "从0到1:构建强大且易用的规则引擎", pages 1 - 15, Retrieved from the Internet <URL:https://tech.meituan.com/2017/06/09/maze-framework.html> *
张晓鹏 等: "规则引擎技术在RFID中间件中的应用研究", 潍坊学院学报, no. 02, 15 March 2009 (2009-03-15), pages 36 - 38 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116308522A (zh) * 2023-03-03 2023-06-23 深圳市优讯信息技术有限公司 一种快速计算积分的实现方法、系统
CN116911919A (zh) * 2023-07-14 2023-10-20 浪潮智慧科技有限公司 一种积分系统及方法
CN116911919B (zh) * 2023-07-14 2024-02-13 浪潮智慧科技有限公司 一种积分系统及方法

Similar Documents

Publication Publication Date Title
CN103559118B (zh) 一种基于aop与注解信息系统的安全审计方法
CN110704037B (zh) 一种规则引擎实现方法及装置
CN110780870A (zh) 一种业务执行方法、装置、设备及存储介质
CN109117609B (zh) 一种请求拦截方法及装置
CN111538483A (zh) 一种数据处理方法、设备、服务器及可读存储介质
CN116560896B (zh) 一种异常补偿方法、装置、设备及存储介质
CN112560022A (zh) 一种系统接口调用的检测方法及装置
CN112527414A (zh) 一种基于前端的数据处理方法、装置、设备及存储介质
CN111831365A (zh) 接口路由转发方法、系统、计算机设备及可读存储介质
CN109522457A (zh) 数据获取方法及装置
CN110704131B (zh) 一种html5应用调用原生应用的方法和装置
CN111324645B (zh) 区块链的数据处理方法及装置
CN111737368A (zh) 一种数据处理方法、装置、设备及介质
CN112866265B (zh) 一种csrf攻击防护方法及装置
CN116263717A (zh) 基于事件的订单业务处理方法及装置
CN108874625B (zh) 信息处理方法及装置、电子设备、存储介质
CN108920219B (zh) 一种基于开放平台的业务处理方法及装置
CN112416701A (zh) 业务数据的监控方法、装置、计算机设备和可读存储介质
CN113760398A (zh) 接口调用方法、服务器、系统以及存储介质
CN109684846A (zh) 一种文件提取方法及装置
CN111950770A (zh) 一种管理资源返还辅助策略的方法、装置和电子设备
CN111131471B (zh) 一种业务系统的运行方法、装置和电子设备
Arts et al. Applying rewriting techniques to the verification of Erlang processes
CN114661509A (zh) 基于客户参数进行字段校验的方法、装置、终端设备及存储介质
CN115033397A (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