CN112800095B - 一种数据处理方法、装置、设备及存储介质 - Google Patents
一种数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112800095B CN112800095B CN202110396849.5A CN202110396849A CN112800095B CN 112800095 B CN112800095 B CN 112800095B CN 202110396849 A CN202110396849 A CN 202110396849A CN 112800095 B CN112800095 B CN 112800095B
- Authority
- CN
- China
- Prior art keywords
- condition
- service
- rule set
- target
- field
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种数据处理方法、装置、设备及存储介质,所述方法包括获取目标业务数据和目标业务校验信息,目标业务校验信息包括多个按序排列的条件校验节点,每个条件校验节点与预设业务规则中的条件字段相对应;确定目标业务数据对应的初始业务规则集合;遍历多个条件校验节点;基于当前遍历到的条件校验节点对应的条件字段,对目标业务数据进行条件校验,得到条件校验结果;基于条件校验结果更新初始业务规则集合;在遍历结束时,将当前更新后的初始业务规则集合中的业务规则,作为与目标业务数据相匹配的目标业务规则。利用本申请提供的技术方案能够快速准确地确定与目标业务数据相匹配的业务规则,提升数据处理的效率,降低内存占用。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种数据处理方法、装置、设备及存储介质。
背景技术
随着业务的不断增长,企业***中往往需要大量的业务规则,当有数据输入时,可以根据业务规则自动确定如何对输入的数据进行响应或处理,为了更加科学合理地对数据进行针对性的处理,需要根据数据的不同情况配置大量的业务规则,且随着业务需求的不断更新,业务规则的数量也变得越来越庞大。
当检测到数据输入时,若将数据与大量的业务规则逐个比较匹配需要耗费大量的时间和计算量,给服务器带来较大的性能压力,因此,需要提供更加可靠高效的方案。
发明内容
为了解决现有技术的问题,本申请提供了一种数据处理方法、装置、设备及存储介质。所述技术方案如下:
本申请一方面提供了一种数据处理方法,所述方法包括:
获取目标业务数据和目标业务校验信息,所述目标业务校验信息包括多个按序排列的条件校验节点,每个条件校验节点与预设业务规则中的条件字段相对应;
确定所述目标业务数据对应的初始业务规则集合;
遍历所述多个按序排列的条件校验节点;
基于当前遍历到的条件校验节点对应的条件字段,对所述目标业务数据进行条件校验,得到条件校验结果;
基于所述条件校验结果更新所述初始业务规则集合;
在遍历结束时,将当前更新后的初始业务规则集合中的业务规则,作为与所述目标业务数据相匹配的目标业务规则。
本申请另一方面提供了一种数据处理装置,所述装置包括:
业务数据获取模块,用于获取目标业务数据和目标业务校验信息,所述目标业务校验信息包括多个按序排列的条件校验节点,每个条件校验节点与预设业务规则中的条件字段相对应;
初始业务规则集合确定模块,用于确定所述目标业务数据对应的初始业务规则集合;
遍历模块,用于遍历所述多个按序排列的条件校验节点;
条件校验模块,用于基于当前遍历到的条件校验节点对应的条件字段,对所述目标业务数据进行条件校验,得到条件校验结果;
初始业务规则集合更新模块,用于基于所述条件校验结果更新所述初始业务规则集合;
目标业务规则确定模块,用于在遍历结束时,将当前更新后的初始业务规则集合中的业务规则,作为与所述目标业务数据相匹配的目标业务规则。
本申请另一方面提供了一种数据处理设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由上述处理器加载并执行以实现如上述的数据处理方法。
本申请另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的数据处理方法。
本申请提供的数据处理方法、装置、设备及存储介质,具有如下技术效果:
本申请通过获取目标业务数据和目标业务校验信息,该目标业务校验信息包括多个按序排列的条件校验节点,每个条件校验节点与预设业务规则中的条件字段相对应,每个条件校验节点进行一个条件字段的条件校验,能够快速准确地进行规则匹配,且减少服务器的内存占用和性能压力;通过遍历多个按序排列的条件校验节点,基于当前遍历到的条件校验节点对应的条件字段,对目标业务数据进行条件校验,得到条件校验结果,更新初始业务规则集合;在遍历结束时,将当前更新后的初始业务规则集合中的业务规则,作为与目标业务数据相匹配的目标业务规则,能够有序快速地确定与目标业务数据相匹配的业务规则,提升数据处理的效率。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种应用环境的示意图;
图2是本申请实施例提供的一种数据处理方法的流程示意图;
图3是本申请实施例提供的另一种数据处理方法的流程示意图;
图4是本申请实施例提供的另一种数据处理方法的流程示意图;
图5是本申请实施例提供的另一种数据处理方法的流程示意图;
图6是本申请实施例提供的另一种数据处理方法的流程示意图;
图7是本申请实施例提供的业务规则表的创建页面的示意图;
图8是本申请实施例提供的另一种数据处理方法的流程示意图;
图9是本申请实施例提供的另一种数据处理方法的流程示意图;
图10是本申请实施例提供的一种数据处理装置示意图;
图11是本申请实施例提供的一种用于实现数据处理方法的服务器的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
如本申请所公开的数据处理方法,其所涉及到的数据可保存在区块链上,例如目标业务数据可保存在区块链上。
请参阅图1,图1是本申请提供的一种应用环境示意图,如图1所示,该应用环境可以包括客户端01和服务器02。
在本申请实施例中,客户端01可以用于向服务器02发送目标规则匹配请求,上述的目标规则匹配请求携带有目标业务数据和目标业务校验标识,以使服务器02根据该目标业务校验标识从多个业务校验信息中确定出目标业务校验信息,并使服务器02利用上述的目标业务校验信息对目标业务数据进行条件校验,确定与该目标业务数据相匹配的目标业务规则。客户端01还可以接收服务器02发送的目标业务数据对应的业务处理策略信息,并根据上述对应的业务处理策略信息执行该目标业务数据对应的业务处理。在实际应用中,客户端02可以包括但不限于智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能可穿戴设备(例如,智能手表)等终端设备,以及网络设备和防火墙等。
在本申请实施例中,服务器02可以用于获取目标业务数据和目标业务校验信息,根据上述的目标业务校验信息对目标业务数据进行条件校验,确定与该目标业务数据相匹配的目标业务规则,并根据上述的目标业务规则确定该目标业务数据对应的业务处理策略信息;服务器02还可以获取原始业务规则集,根据上述的原始业务规则集生成目标业务校验信息。可选的,服务器02可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network 内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
请参照图1,在实际应用中,客户端01可以向服务器02发送目标规则匹配请求,上述的目标规则匹配请求携带有目标业务数据和目标业务校验标识,服务器02可以根据该目标业务校验标识从多个业务校验信息中确定出目标业务校验信息,该目标业务校验信息可以包括多个按序排列的条件校验节点,且每个条件校验节点与预设业务规则中的条件字段相对应,然后,服务器02可以确定该目标业务数据对应的初始业务规则集合,遍历上述多个按序排列的条件校验节点,基于当前遍历到的条件校验节点对应的条件字段,对该目标业务数据进行条件校验,得到条件校验结果,基于该条件校验结果更新上述的初始业务规则集合,在遍历结束时,将当前更新后的初始业务规则集合中的业务规则,作为与该目标业务数据相匹配的目标业务规则,根据上述的目标业务规则确定该目标业务数据对应的业务处理策略信息,接着,服务器02可以将上述对应的业务处理策略信息发送到客户端01,客户端01可以根据上述对应的业务处理策略信息执行该目标业务数据对应的业务处理。
在本申请实施例中,上述的客户端01以及服务器02可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
图2是本申请实施例提供的一种数据处理方法的流程图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的***或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201:获取目标业务数据和目标业务校验信息。
在本申请实施例中,上述的目标业务数据可以表征需要进行规则匹配的原始数据,通过确定出与该目标业务数据相匹配的业务规则,能够利用与该目标业务数据相匹配的业务规则进行相应的业务处理。例如,在进行饮食健康评估时,上述的目标业务数据可以为目标用户输入的用户信息及饮食数据,确定出与该目标业务数据相匹配的业务规则,根据相匹配的业务规则得到饮食健康等级以及食物推荐信息。
具体地,该目标业务校验信息可以包括多个按序排列的条件校验节点,在一个实施例中,上述多个按序排列的条件校验节点可以为多个根据条件区分指标排序的条件校验节点,例如,多个按照条件区分指标从大到小的顺序排列的条件校验节点;其中,该目标业务校验信息中的每个条件校验节点与预设业务规则中的一个条件字段相对应。在本申请实施例中,上述的目标业务校验信息为一个单链表,单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素,单链表中每个节点仅存储本身需要存储的数据和下一个节点的地址,相邻节点之间通过指针链接,内存占用低,且有利于降低服务器的性能压力,且为C++语言编写,规则引擎是一种嵌入在应用程序中的组件,它可以将业务规则从业务代码中剥离出来,使用预先定义好的语义规范来实现这些剥离出来的业务规则;规则引擎通过接受输入的数据,进行业务规则的评估,并做出业务决策;利用单链表有利于实现规则引擎,确定与目标业务数据相匹配的业务规则,匹配效率较高,且有利于降低服务器内存占用,减少服务器的性能压力,C++语言编写有利于灵活快速地集成到各种C++框架中,且可编译为动态链接库,供其他语言调用,提升业务规则校验信息的适用性。
在本申请实施例中,请参照图3,上述的获取目标业务数据和目标业务校验信息可以包括:
S301:接收客户端发送的目标规则匹配请求。
具体地,该目标规则匹配请求可以携带有该目标业务数据和目标业务校验标识。该目标规则匹配请求可以为响应于规则匹配触发操作生成的,例如,跳转至预设活动页面,或检测到预设控件的触发(例如用户点击进行饮食健康评估的控件),然后,客户端可以获取目标业务数据(例如获取用户信息以及输入的饮食数据)。由于业务需求的不同,服务器可以存储大量不同的业务校验信息(单链表),例如用于进行饮食健康评估的业务校验信息,用于进行睡眠质量评估的业务校验信息等,在生成该目标规则匹配请求可以根据预设活动页面或预设控件确定对应的目标业务校验标识,该目标业务校验标识可以为由数字和字母等组成的标识码,例如,table1,该目标业务校验标识可以用于使得服务器从多个业务校验信息中确定出该目标业务校验信息。
S303:根据该目标业务校验标识从多个业务校验信息中确定出该目标业务校验信息。
在本申请实施例中,每个业务校验信息可以包括对应的业务校验标识,例如,该目标规则匹配请求携带的目标业务校验标识为table1时,服务器可以根据该目标业务校验标识从多个业务校验信息中确定出业务校验标识为table1的业务校验信息,作为该目标业务校验信息。
通过接收客户端发送的目标规则匹配请求,根据该目标业务校验标识从多个业务校验信息中确定出该目标业务校验信息,有利于提升业务规则匹配的实时性和可靠性。
S203:确定该目标业务数据对应的初始业务规则集合。
在本申请实施例中,该目标业务数据对应的初始业务规则集合可以包括该目标业务校验信息对应的全部业务规则,在一个实施例中,该目标业务校验信息可以为获取包括多个预设业务规则的原始业务规则集,并按照条件字段进行分类合并处理得到的,确定该目标业务数据对应的初始业务规则集合时,可以将该原始业务规则集中的全部业务规则作为上述的初始业务规则集合,例如,上述的初始业务规则集合可以为{1,2,3,4,5,6},其中的数字表示业务规则的标识,即依次代表业务规则1、业务规则2…业务规则6。
通过确定该目标业务数据对应的初始业务规则集合,有利于后续利用目标业务校验信息对初始业务规则集合进行多次更新,得到与该目标业务数据相匹配的业务规则,提升规则匹配的可靠性。
S205:遍历上述多个按序排列的条件校验节点。
在本申请实施例中,可以遍历上述多个按序排列的条件校验节点,以对目标业务数据进行全面可靠的条件校验,提升规则匹配的可靠性;在一个具体的实施例中,上述多个按序排列的条件校验节点可以为多个根据条件区分指标排序的条件校验节点,例如,多个按照条件区分指标从大到小的顺序排列的条件校验节点,其中,条件区分指标可以表征该条件校验节点对业务数据的区分度,条件区分指标越大,表示该条件校验节点对业务数据的区分度越大,在该条件校验节点能够遍历的字段取值越少,即该条件校验节点能够更好地对业务数据进行筛选,有利于提升条件校验的效率,进而提升业务规则匹配的效率,降低服务器的计算压力,提升数据吞吐量,能够一次对大量的业务数据进行条件校验,进而实现业务规则匹配。
S207:基于当前遍历到的条件校验节点对应的条件字段,对该目标业务数据进行条件校验,得到条件校验结果。
在本申请实施例中,业务规则可以包括多个条件字段,每个条件字段可以表征业务规则的一种条件类型,例如,在进行饮食健康评估时,业务规则的条件字段可以包括但不限于:性别、年龄小于或等于、年龄大于或等于、食物种类。该目标业务校验信息中的每个条件校验节点与预设业务规则中的一个条件字段相对应,通过在遍历到任一条件校验节点时,基于当前遍历到的条件校验节点对应的条件字段,对该目标业务数据进行条件校验,得到条件校验结果,可以确定目标业务数据当前命中的业务规则(与该目标业务数据相匹配的业务规则),每个条件校验节点进行一个条件字段的校验,提升规则匹配的效率和灵活性,且使得目标业务校验信息的结构简单清晰,较为轻量,降低服务器的内存占用及性能压力。
在本申请实施例中,上述的每个条件校验节点可以包括对应的条件字段的至少一个预设映射信息,每个预设映射信息表征对应的字段取值与业务规则间的映射信息,例如,条件字段为性别时,字段取值可以包括男和女,且男对应的业务规则为1,2,和3,女对应的业务规则为4,5和6,该条件字段的至少一个预设映射信息(此时即两个预设映射信息)可以表示为:“性别=男:{1,2,3};性别=女:{4,5,6}”。
请参照图4,上述的基于当前遍历到的条件校验节点对应的条件字段,对该目标业务数据进行条件校验,得到条件校验结果可以包括:
S401:根据上述当前遍历到的条件校验节点对应的条件字段,确定该目标业务数据中对应的第一业务属性信息。
在本申请实施例中,上述的目标业务数据可以包括多个业务属性信息,例如,性别、年龄等;可以根据上述当前遍历到的条件校验节点对应的条件字段,确定该目标业务数据中对应的第一业务属性信息,例如,当前遍历到的条件校验节点对应的条件字段为性别,则可以从该目标业务数据中确定出性别这个业务属性信息(例如,性别:男),将性别这个业务属性信息作为该目标业务数据中对应的第一业务属性信息。
通过根据上述当前遍历到的条件校验节点对应的条件字段,确定该目标业务数据中对应的第一业务属性信息,能够结合目标业务数据中对应的业务属性信息进行条件校验,提升条件校验的可靠性。
S403:确定上述的第一业务属性信息所满足的第一字段取值。
在本申请实施例中,由于上述的每个条件校验节点可以包括对应的条件字段的至少一个预设映射信息,每个预设映射信息表征对应的字段取值与业务规则间的映射信息,可以在这个条件校验节点遍历其包括的多个字段取值,确定上述的第一业务属性信息所满足的第一字段取值;在上述实施例中,上述的第一业务属性信息性别:男,则可以根据确定上述的第一业务属性信息所满足的第一字段取值为男。
S405:根据上述当前遍历到的条件校验节点对应的条件字段的至少一个预设映射信息,确定该第一字段取值对应的业务规则集合。
在本申请实施例中,由于上述的每个条件校验节点可以包括对应的条件字段的至少一个预设映射信息,每个预设映射信息表征对应的字段取值与业务规则间的映射信息,可以根据上述当前遍历到的条件校验节点对应的条件字段的至少一个预设映射信息,确定该第一字段取值对应的业务规则集合,例如此时上述的第一业务属性信息所满足的第一字段取值为男,则可以根据当前遍历到的条件校验节点对应的条件字段(此时为性别)的至少一个预设映射信息(性别=男:{1,2,3};性别=女:{4,5,6}),确定字段取值为男对应的业务规则集合,此时字段取值为男对应的业务规则集合为{1,2,3}。
根据上述当前遍历到的条件校验节点对应的条件字段的至少一个预设映射信息,能够快速准确地在一个节点确定该第一字段取值对应的业务规则集合,仅需经过一个节点,即可完成一个条件字段的条件校验,有利于提升规则匹配的效率,降低服务器的性能压力。
S407:将上述对应的业务规则集合作为上述的条件校验结果。
在本申请实施例中,上述对应的业务规则集合中的业务规则为该目标业务数据在当前遍历到的条件校验节点命中的业务规则;根据上述当前遍历到的条件校验节点对应的条件字段的至少一个预设映射信息,确定该第一字段取值对应的业务规则集合之后,可以将上述对应的业务规则集合作为上述的条件校验结果,例如,此时根据上述的至少一个预设映射信息,可以确定字段取值为男对应的业务规则集合为{1,2,3},{1,2,3}即基于当前遍历到的条件校验节点对应的条件字段(性别),对该目标业务数据进行条件校验,得到的条件校验结果,这个条件校验结果为该目标业务数据在当前遍历到的条件校验节点所命中的业务规则。
通过基于当前遍历到的条件校验节点对应的条件字段,对该目标业务数据进行条件校验,得到条件校验结果,能够在一个条件校验节点进行一个条件字段的校验,即每个条件校验节点负责一个条件类型的校验,有利于合理有序地进行规则匹配,提升规则匹配的效率,降低服务器内存占用和性能压力。
S209:基于上述的条件校验结果更新该初始业务规则集合。
在本申请实施例中,可以在基于当前遍历到的条件校验节点对应的条件字段,对该目标业务数据进行条件校验,得到条件校验结果之后,基于上述的条件校验结果更新该初始业务规则集合;具体地,基于上述的条件校验结果更新该初始业务规则集合可以包括:取该条件校验结果和该初始业务规则集合的交集,将得到的交集作为更新后的初始业务规则集合;例如,此时该初始业务规则集合为{1,2,3,4,5,6},该条件校验结果为{1,2,3},取该条件校验结果和该初始业务规则集合的交集,得到的交集为{1,2,3},此时可以将这个交集({1,2,3})作为更新后的初始业务规则集合。
通过基于上述的条件校验结果更新该初始业务规则集合,能够合理有序地在进行每个条件字段的校验后更新该目标业务数据所命中的业务规则,提升业务规则匹配的可靠性。
S211:在遍历结束时,将当前更新后的初始业务规则集合中的业务规则,作为与所述目标业务数据相匹配的目标业务规则。
在本申请实施例中,每次基于当前遍历到的条件校验节点对应的条件字段,对该目标业务数据进行条件校验,得到条件校验结果之后,会基于上述的条件校验结果更新初始业务规则集合,在上述实施例中,初始业务规则更新后为{1,2,3},遍历到下一个条件校验节点(例如这下一个节点对应的条件字段为年龄小于或等于,目标业务数据中对应的业务属性信息为年龄=17,其中一个预设映射信息(字段取值与业务规则间的映射信息)为“年龄小于或等于18:{1,3,4}”,此时目标业务数据在这个条件校验节点得到的条件校验结果为{1,3,4},对这个条件校验结果{1,3,4}和当前的初始业务规则集合({1,2,3})取交集,得到的交集为{1,3},此时可以将这个交集({1,3})作为更新后的初始业务规则集合,以此类推,直到遍历上述多个按序排列的条件校验节点结束,即该目标业务数据经过了预设业务规则中全部条件字段的条件校验,当前更新后的初始业务规则集合中的业务规则即该目标业务数据最终命中的业务规则(经过全部条件字段的校验后命中的业务规则),可以将当前更新后的初始业务规则集合中的业务规则,作为与所述目标业务数据相匹配的目标业务规则。
通过遍历上述多个按序排列的条件校验节点,当遍历到任一条件校验节点时,基于当前遍历到的条件校验节点对应的条件字段,对该目标业务数据进行条件校验,得到条件校验结果,能够在一个条件校验节点进行一个条件字段的校验,合理有序地进行规则匹配,提升规则匹配的效率,降低服务器内存占用和性能压力;最终在遍历结束时,将当前更新后的初始业务规则集合中的业务规则,作为与所述目标业务数据相匹配的目标业务规则,有利于提升业务规则匹配的可靠性。
在本申请实施例中,请参照图5,在基于上述的条件校验结果更新上述的初始业务规则集合之后,上述方法还可以包括:
S501:检测更新后的初始业务规则集合是否为空。
在本申请实施例中,更新后的初始业务规则集合可能为空,例如,条件校验结果为{1,3,4},而当前的初始业务规则集合为{2,6},则对这个条件校验结果和当前的初始业务规则集合取交集,得到的交集为空集,即此时更新后的初始业务规则集合为空。
S503:当上述更新后的初始业务规则集合为空时,访问当前遍历到的条件校验节点的上一个条件校验节点。
在本申请实施例中,可以利用深度优先搜索的方式进行目标业务校验信息的遍历,按照条件校验节点的顺序遍历目标业务校验信息中的条件校验节点。在一些实施例中,条件校验节点中的字段取值为相互排他的,不包含重合部分,例如性别只有男或女;而在另一些实施例中,条件校验节点中的字段取值可能包含重合部分,例如,条件字段为年龄小于或等于时,该条件字段的至少一个预设映射信息(此时即三个预设映射信息)可以表示为:“年龄小于或等于18:{2,6};年龄小于或等于20:{1,3};年龄小于或等于25:{4,5}”。而在确定第一业务属性信息所满足的第一字段取值时,可以在这个条件校验节点遍历其包括的多个字段取值,当遍历到该第一业务属性信息所满足的任一字段取值时,将其作为该第一业务属性信息所满足的第一字段取值。例如,此时目标业务数据中年龄这个业务属性信息为17,则遍历到年龄小于或等于18这个字段取值时,即可将其作为第一业务属性信息所满足的第一字段取值,且可以根据“年龄小于或等于18:{2,6}”这个映射信息,确定此时的条件校验结果为{2,6}。将年龄小于或等于这个条件节点作为上一个条件校验节点,假设此时更新后的初始业务规则集合为{2,6},当前遍历到的条件校验节点(例如对应的条件字段为身高大于或等于)得到的条件校验结果为{1,3,4},此时交集为空,即更新后的初始业务规则集合为空,则可以返回访问当前遍历到的条件校验节点的上一个条件校验节点(对应的条件字段为年龄小于或等于的条件校验节点),且在返回访问当前遍历到的条件校验节点的上一个条件校验节点时,将初始业务规则集合回退到上一个条件校验节点更新前的状态(假设此时年龄小于或等于这个条件字段对应的条件校验节点为该目标业务校验信息中的第一个条件校验节点,则初始业务规则集合回退到上一个条件校验节点更新前的状态为{1,2,3,4,5,6})。在上一个条件校验节点重新确定该目标业务数据所满足的字段取值,得到条件校验结果,重新对初始业务规则集合进行更新。
S505:根据上述的上一个条件校验节点对应的条件字段,确定该目标业务数据中对应的第二业务属性信息。
在本申请实施例中,根据上述的上一个条件校验节点对应的条件字段,确定该目标业务数据中对应的第二业务属性信息的具体过程与步骤S401类似,例如,此时上一个条件校验节点对应的条件字段为年龄,小于或等于,确定所述目标业务数据中对应的第二业务属性信息为年龄。
S507:确定上述的第二业务属性信息所满足的第二字段取值。
具体地,上述的第二字段取值与上述的上一个条件校验节点的第一字段取值不同;在上述实施例中,上一个条件校验节点的第一字段取值为年龄小于或等于18,该条件字段的至少一个预设映射信息可以表示为:“年龄小于或等于18:{2,6};年龄小于或等于20:{1,3};年龄小于或等于25:{4,5}”,此时可以在这个条件校验节点继续遍历其包括的多个字段取值,当遍历到下一个该第二业务属性信息所满足的字段取值时,将其作为上述的第二字段取值,此时上述的第二字段取值可以为年龄小于或等于20。
S509:根据上述上一个条件校验节点对应的条件字段的至少一个预设映射信息,确定该第二字段取值对应的业务规则集合。
在上述实施例中,上述上一个条件校验节点对应的条件字段的至少一个预设映射信息可以表示为:“年龄小于或等于18:{2,6};年龄小于或等于20:{1,3};年龄小于或等于25:{4,5}”,上述的第二字段取值可以为年龄小于或等于20,可以根据上述至少一个预设映射信息,确定该第二字段取值对应的业务规则集合为{1,3}。
S511:将该第二字段取值对应的业务规则集合作为上述的条件校验结果。
在本申请实施例中,此时可以将该第二字段取值对应的业务规则集合({1,3})作为上述的条件校验结果,且初始业务规则集合回退到更新前的状态为{1,2,3,4,5,6}。此时可以根据这个条件校验结果重新对初始业务规则集合进行更新,得到更新后的初始业务规则集合为{1,3},将其作为此时的初始业务规则集合,深搜下一条件校验节点。
在本申请实施例中,若匹配失败(更新后的初试业务规则集合为空)后直接从第一个条件校验节点重新进行业务规则匹配会带来大量重复的数据处理和访问,带来时间和计算资源的浪费,给服务器带来不必要的负载压力;通过在基于上述的条件校验结果更新上述的初始业务规则集合之后,检测更新后的初始业务规则集合是否为空,当上述更新后的初始业务规则集合为空时,返回访问当前遍历到的条件校验节点的上一个条件校验节点并将初始业务规则集合回退到上一个条件校验节点更新前的状态,在上一个条件校验节点重新确定该目标业务数据所满足的字段取值,得到条件校验结果,重新对初始业务规则集合进行更新,有利于快速准确地确定目标业务数据命中的业务规则,且有利于提升业务规则匹配的全面性和可靠性,降低服务器的负载压力。
在本申请实施例中,请参照图6,上述方法还可以包括:
S601:获取原始业务规则集。
具体地,该原始业务规则集可以包括多个预设业务规则,且每个预设业务规则包括多个条件字段的字段取值。在本申请实施例中,上述的获取原始业务规则集可以包括:
1)响应于业务规则表的创建操作,创建初始业务规则表。
请参照图7,图7是本申请实施例提供的业务规则表的创建页面示意图,上述业务规则表的创建页面可以包括业务规则表描述添加区域和条件字段配置区域,且条件字段配置区域可以包括条件字段添加控件和条件字段的多个字段属性配置框,条件字段的字段属性可以包括但不限于条件字段的字段名、字段功能描述、字段数据类型和字段操作符,其中,字段数据类型可以包括但不限于整数、字符串、布尔值和日期;字段操作符可以包括但不限于==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于或等于)、<=(小于或等于)和in(在这些值之中),也可快速扩展位运算和函数操作。上述的字段属性配置框可以对应包括字段名输入框、字段功能描述输入框、字段数据类型复选框和字段操作符复选框。能够在业务规则表的创建页面灵活添加多个条件字段并配置字段属性信息,根据多个配置好的条件字段创建上述的初始业务规则表。在本申请实施例中,上述的初始业务规则表可以采用JSON数组的格式存储,其中的每个配置好的条件字段为一条JSON数据,JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,层次结构简洁清晰,有利于计算机进行解析和生成,且采用JSON格式存储有利于提升数据的网络传输效率。
在本申请实施例中,还可以响应于该初始业务规则表的字段配置查询指令,展示该初始业务规则表的条件字段配置信息,在条件字段配置信息的展示页面可以展示当前已配置的条件字段和相应的字段属性信息,以便进行数据检查,提升条件字段配置的准确性,进而提升规则匹配的可靠性。
2)响应于业务规则配置操作,根据上述的初始业务规则表生成多个预设业务规则,根据上述多个预设业务规则生成上述的原始业务规则集。
具体地,上述的业务规则配置操作可以为根据业务规则需求信息发出的;上述的初始业务规则表包括多个配置到字段属性信息的条件字段,此时可以响应于业务规则配置操作,填写每个条件字段的字段取值,生成多个预设业务规则;请参照表1,表1所示的原始业务规则集包括3个预设业务规则,饮食健康等级和食物推荐两列的信息为规则对应的结果(业务处理策略信息)。在本申请实施例中,原始业务规则集在数据库中也可采用JSON数组的格式存储,其中每个预设业务规则为一条JSON数据。
表1:
通过响应于业务规则配置操作,根据上述的初始业务规则表生成多个预设业务规则,根据上述多个预设业务规则生成上述的原始业务规则集,有利于灵活高效地生成多个预设业务规则。在一些实施例中,还可以根据业务规则需求新增、更新或删除预设业务规则,更新上述的原始业务规则集,服务器会获取更新后的原始业务规则集重新生成业务校验信息(单链表)。
S603:对每个条件字段中相同的字段取值进行合并处理,得到上述每个条件字段中的每个字段取值对应的业务规则集合。
通过响应于业务规则配置操作,根据上述的初始业务规则表生成多个预设业务规则,根据上述多个预设业务规则生成上述的原始业务规则集,有利于灵活高效地生成多个预设业务规则。在一些实施例中,还可以根据业务规则需求新增、更新或删除预设业务规则,更新上述的原始业务规则集,服务器会获取更新后的原始业务规则集重新生成业务校验信息(单链表)。
S603:对每个条件字段中相同的字段取值进行合并处理,得到上述每个条件字段中的每个字段取值对应的业务规则集合。
通过响应于业务规则配置操作,根据上述的初始业务规则表生成多个预设业务规则,根据上述多个预设业务规则生成上述的原始业务规则集,有利于灵活高效地生成多个预设业务规则。在一些实施例中,还可以根据业务规则需求新增、更新或删除预设业务规则,更新上述的原始业务规则集,服务器会获取更新后的原始业务规则集重新生成业务校验信息(单链表)。
S603:对每个条件字段中相同的字段取值进行合并处理,得到上述每个条件字段中的每个字段取值对应的业务规则集合。
在本申请实施例中,每个条件字段可能存在相同的字段取值,以上述的表1为例,可以对性别这个条件字段中相同的字段取值进行合并处理,得到性别这个条件字段中的每个字段取值对应的业务规则集合,即性别=男对应的业务规则集合为{1,2},性别=女对应的业务规则集合为{3,4};而对于年龄大于或等于这个条件字段,合并处理后得到年龄大于或等于18这个字段取值对应的业务规则集合为{1,2,3,4}。通过对每个条件字段中相同的字段取值进行合并处理,有利于节省存储空间,且有利于提升条件校验时的校验速度。
在本申请实施例中,可以利用Bitset数组存储每个字段取值对应的业务规则集合(包含至少一个业务规则标识),Bitset本质上是一个bit数组,一个字节有8个bit,利用Bitset数组存储能够大大节省存储空间,同时支持位运算,提升条件校验的效率。
S605:根据上述每个字段取值和对应的业务规则集合,生成对应的预设映射信息。
在本申请实施例中,可以根据上述每个字段取值和对应的业务规则集合,生成对应的预设映射信息,每个预设映射信息可以表征对应的字段取值与业务规则间的映射信息,例如,上述性别这个条件字段的字段取值包括男和女,男这个字段取值对应的业务规则集合为{1,2},则根据性别为男这个字段取值和对应的业务规则集合,生成的对应的预设映射信息为“性别=男:{1,2}”,女这个字段取值对应的业务规则集合为{3,4},则根据性别为女这个字段取值和对应的业务规则集合,生成的对应的预设映射信息为“性别=女:{3,4}”。
S607:根据上述每个条件字段的至少一个预设映射信息生成对应的条件校验节点。
例如,此时在性别这个条件字段,上述的至少一个预设映射信息可以表示为:“性别=男:{1,2};性别=女:{3,4}”,可以根据上述性别这个条件字段的至少一个预设映射信息,生成对应的条件校验节点,该条件校验节点后续可以用于对性别这个条件字段进行条件校验。在本申请实施例中,可以根据上述每个条件字段的至少一个预设映射信息生成对应的条件校验节点,将一个条件字段的信息按序集成在一个条件校验节点,结构简洁清晰,有利于降低服务器的内存占用;且使得一个条件校验节点能够进行一个条件字段的校验,即每个条件校验节点负责一个条件类型的校验,有利于合理有序地进行规则匹配,提升规则匹配的效率,降低服务器性能压力。
S609:根据上述多个条件字段对应的条件校验节点生成该目标业务校验信息。
在本申请实施例中,可以根据上述多个条件字段对应的条件校验节点生成该目标业务校验信息,上述的目标业务校验信息为一个单链表,单链表中的每个条件校验节点对应预设业务规则的一个条件字段,条件校验节点的数量与业务规则的数量无关,仅与条件字段的数量相关,结构简洁清晰,能够在每个条件校验节点进行一个条件字段的校验,有利于提升业务规则匹配的效率,且减少服务器的内存占用,降低服务器的性能压力。
在本申请实施例中,请参照图8,上述的根据上述多个条件字段对应的条件校验节点生成该目标业务校验信息可以包括:
S801:根据上述每个条件字段的字段取值数量确定上述每个条件校验节点的条件区分指标。
其中,条件区分指标可以表征该条件校验节点对业务数据的区分度;在本申请实施例中,可以基于每个条件校验节点对应的条件字段的字段取值个数计算该条件校验节点的条件区分指标,例如,取字段取值个数的倒数作为上述的条件区分指标。以表1为例,性别这个条件字段的字段取值共2个(男和女),年龄大于或等于这个条件字段的字段取值共1个(年龄大于或等于18),年龄小于或等于这个条件字段的字段取值共3个,食物类型这个条件字段的字段取值共4个,则对这4个条件校验节点按照条件区分指标从大到小的顺序排列依次为:年龄大于或等于对应的条件校验节点、性别对应的条件校验节点、年龄小于或等于对应的条件校验节点、食物类型对应的条件校验节点。在本申请实施例中,条件区分指标越大,表示该条件校验节点对业务数据的区分度越大,在该条件校验节点能够遍历的字段取值越少,即该条件校验节点能够更好地对业务数据进行筛选。
S803:根据上述多个条件字段对应的条件校验节点的条件区分指标对上述多个条件字段对应的条件校验节点进行排序,得到该目标业务校验信息。
具体地,上述的根据上述多个条件字段对应的条件校验节点的条件区分指标对上述多个条件字段对应的条件校验节点进行排序,得到所述目标业务校验信息可以包括:对上述多个条件字段对应的条件校验节点按照条件区分指标从大到小的顺序排列,得到该目标业务校验信息。
通过根据上述多个条件字段对应的条件校验节点的条件区分指标对上述多个条件字段对应的条件校验节点进行排序,得到该目标业务校验信息,有利于提升条件校验的效率,进而提升业务规则匹配的效率,降低服务器的计算压力,提升数据吞吐量,能够一次对大量的业务数据进行条件校验,进而实现业务规则匹配。
在本申请实施例中,请参照图9,上述方法还可以包括:
S901:根据该目标业务规则确定该目标业务数据对应的业务处理策略信息。
在本申请实施例中,每个业务规则还可以包括相应的业务处理策略信息,上述的业务处理策略信息可以表征业务数据命中该业务规则后的结果数据;例如,在进行饮食健康评估时,上述的业务处理策略信息可以包括饮食健康等级以及食物推荐信息。
S903:将上述对应的业务处理策略信息发送到客户端,以使上述的客户端根据上述对应的业务处理策略信息执行该目标业务数据对应的业务处理。
在本申请实施例中,客户端可以根据上述对应的业务处理策略信息执行该目标业务数据对应的业务处理,在上述实施例中,客户端接收到该目标业务数据对应的业务处理策略信息(饮食健康等级以及食物推荐信息)后,可以以报表形式对其进行展示,并根据食物推荐信息确定出对应食物的链接。
通过根据该目标业务规则确定该目标业务数据对应的业务处理策略信息,以及将上述对应的业务处理策略信息发送到客户端,以使上述的客户端根据上述对应的业务处理策略信息执行该目标业务数据对应的业务处理,有利于灵活可靠地执行该目标业务数据对应的业务处理。
由以上本申请实施例提供的技术方案可见,本申请实施例通过遍历多个按序排列的条件校验节点,当遍历到任一条件校验节点时,基于当前遍历到的条件校验节点对应的条件字段,对该目标业务数据进行条件校验,得到条件校验结果,能够在一个条件校验节点进行一个条件字段的校验,有利于合理有序地进行规则匹配,提升规则匹配的效率,降低服务器内存占用和性能压力;最终在遍历结束时,将当前更新后的初始业务规则集合中的业务规则,作为与所述目标业务数据相匹配的目标业务规则,有利于提升业务规则匹配的可靠性。通过在基于上述的条件校验结果更新上述的初始业务规则集合之后,检测更新后的初始业务规则集合是否为空,当上述更新后的初始业务规则集合为空时,返回访问当前遍历到的条件校验节点的上一个条件校验节点并将初始业务规则集合回退到上一个条件校验节点更新前的状态,在上一个条件校验节点重新确定该目标业务数据所满足的字段取值,得到条件校验结果,重新对初始业务规则集合进行更新,有利于快速准确地确定目标业务数据命中的业务规则,且有利于提升业务规则匹配的全面性和可靠性,降低服务器的负载压力。通过根据上述多个条件字段对应的条件校验节点的条件区分指标对上述多个条件字段对应的条件校验节点进行排序,得到该目标业务校验信息,有利于提升条件校验的效率,进而提升业务规则匹配的效率,降低服务器的计算压力,提升数据吞吐量,能够一次对大量的业务数据进行条件校验,进而实现业务规则匹配。
本申请实施例还提供了一种数据处理装置,如图10所示,所述装置可以包括:
业务数据获取模块1010,用于获取目标业务数据和目标业务校验信息,所述目标业务校验信息包括多个按序排列的条件校验节点,每个条件校验节点与预设业务规则中的条件字段相对应;
初始业务规则集合确定模块1020,用于确定所述目标业务数据对应的初始业务规则集合;
遍历模块1030,用于遍历所述多个按序排列的条件校验节点;
条件校验模块1040,用于基于当前遍历到的条件校验节点对应的条件字段,对所述目标业务数据进行条件校验,得到条件校验结果;
初始业务规则集合更新模块1050,用于基于所述条件校验结果更新所述初始业务规则集合;
目标业务规则确定模块1060,用于在遍历结束时,将当前更新后的初始业务规则集合中的业务规则,作为与所述目标业务数据相匹配的目标业务规则。
在本申请实施例中,上述的每个条件校验节点包括对应的条件字段的至少一个预设映射信息,每个预设映射信息表征对应的字段取值与业务规则间的映射信息;上述的条件校验模块1040可以包括:
第一业务属性信息确定单元,用于根据所述当前遍历到的条件校验节点对应的条件字段,确定所述目标业务数据中对应的第一业务属性信息;
第一字段取值单元,用于确定所述第一业务属性信息所满足的第一字段取值;
第一业务规则集合确定单元,用于根据所述当前遍历到的条件校验节点对应的条件字段的至少一个预设映射信息,确定所述第一字段取值对应的业务规则集合;
第一条件校验结果确定单元,用于将所述对应的业务规则集合作为所述条件校验结果。
在本申请实施例中,上述装置还可以包括:
初始业务规则集合检测单元,用于在基于所述条件校验结果更新所述初始业务规则集合之后,检测更新后的初始业务规则集合是否为空;
节点访问单元,用于当所述更新后的初始业务规则集合为空时,访问当前遍历到的条件校验节点的上一个条件校验节点;
第二业务属性信息确定单元,用于根据所述上一个条件校验节点对应的条件字段,确定所述目标业务数据中对应的第二业务属性信息;
第二字段取值确定单元,用于确定所述第二业务属性信息所满足的第二字段取值,所述第二字段取值与所述上一个条件校验节点的第一字段取值不同;
第二业务规则集合确定单元,用于根据所述上一个条件校验节点对应的条件字段的至少一个预设映射信息,确定所述第二字段取值对应的业务规则集合;
第一条件校验结果确定单元,用于将所述第二字段取值对应的业务规则集合作为所述条件校验结果。
在本申请实施例中,上述装置还可以包括:
原始业务规则集获取单元,用于获取原始业务规则集,所述原始业务规则集包括多个预设业务规则,且每个预设业务规则包括多个条件字段的字段取值;
合并处理单元,用于对每个条件字段中相同的字段取值进行合并处理,得到所述每个条件字段中的每个字段取值对应的业务规则集合;
映射信息生成单元,用于根据所述每个字段取值和对应的业务规则集合,生成对应的预设映射信息;
条件校验节点生成单元,用于根据所述每个条件字段的至少一个预设映射信息生成对应的条件校验节点;
目标业务校验信息生成单元,用于根据所述多个条件字段对应的条件校验节点生成所述目标业务校验信息。
具体地,上述的目标业务校验信息生成单元可以包括:
条件区分指标确定单元,用于根据所述每个条件字段的字段取值数量确定所述每个条件校验节点的条件区分指标;
节点排序单元,用于根据所述多个条件字段对应的条件校验节点的条件区分指标对所述多个条件字段对应的条件校验节点进行排序,得到所述目标业务校验信息。
在本申请实施例中,上述的业务数据获取模块1010可以包括:
目标规则匹配请求接收单元,用于接收客户端发送的目标规则匹配请求,所述目标规则匹配请求携带有所述目标业务数据和目标业务校验标识;
目标业务校验信息确定单元,用于根据所述目标业务校验标识从多个业务校验信息中确定出所述目标业务校验信息。
在本申请实施例中,上述装置还可以包括:
业务处理策略信息确定模块,用于根据所述目标业务规则确定所述目标业务数据对应的业务处理策略信息;
业务处理策略信息发送模块,用于将所述对应的业务处理策略信息发送到客户端,以使所述客户端根据所述对应的业务处理策略信息执行所述目标业务数据对应的业务处理。
所述的装置实施例中的装置与方法实施例基于同样地申请构思。
本申请实施例提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的数据处理方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行,即上述计算机设备可以包括移动终端、计算机终端、服务器或者类似的运算装置。其中,上述的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。以运行在服务器上为例,图11是本申请实施例提供的一种用于实现上述数据处理方法的服务器的硬件结构框图。如图11所示,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(CentralProcessing Units,CPU)1110(处理器1110可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1130,一个或一个以上存储应用程序1123或数据1122的存储介质1120(例如一个或一个以上海量存储设备)。其中,存储器1130和存储介质1120可以是短暂存储或持久存储。存储在存储介质1120的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1110可以设置为与存储介质1120通信,在服务器1100上执行存储介质1120中的一系列指令操作。服务器1100还可以包括一个或一个以上电源1160,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1140,和/或,一个或一个以上操作***1121,例如,,, ,等等。
处理器1110可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
输入输出接口1140可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1100的通信供应商提供的无线网络。在一个实例中,输入输出接口1140包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1140可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
操作***1121可以包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
本领域普通技术人员可以理解,图11所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1100还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。
本申请的实施例还提供了一种计算机可读存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种数据处理方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的数据处理方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
由上述本申请提供的数据处理方法、装置、设备、存储介质或计算机程序的实施例可见,本申请中通过遍历多个按序排列的条件校验节点,当遍历到任一条件校验节点时,基于当前遍历到的条件校验节点对应的条件字段,对该目标业务数据进行条件校验,得到条件校验结果,能够在一个条件校验节点进行一个条件字段的校验,有利于合理有序地进行规则匹配,提升规则匹配的效率,降低服务器内存占用和性能压力;最终在遍历结束时,将当前更新后的初始业务规则集合中的业务规则,作为与所述目标业务数据相匹配的目标业务规则,有利于提升业务规则匹配的可靠性。通过在基于上述的条件校验结果更新上述的初始业务规则集合之后,检测更新后的初始业务规则集合是否为空,当上述更新后的初始业务规则集合为空时,返回访问当前遍历到的条件校验节点的上一个条件校验节点并将初始业务规则集合回退到上一个条件校验节点更新前的状态,在上一个条件校验节点重新确定该目标业务数据所满足的字段取值,得到条件校验结果,重新对初始业务规则集合进行更新,有利于快速准确地确定目标业务数据命中的业务规则,且有利于提升业务规则匹配的全面性和可靠性,降低服务器的负载压力。通过根据上述多个条件字段对应的条件校验节点的条件区分指标对上述多个条件字段对应的条件校验节点进行排序,得到该目标业务校验信息,有利于提升条件校验的效率,进而提升业务规则匹配的效率,降低服务器的计算压力,提升数据吞吐量,能够一次对大量的业务数据进行条件校验,进而实现业务规则匹配。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种数据处理方法,其特征在于,所述方法包括:
获取目标业务数据和目标业务校验信息,所述目标业务校验信息包括多个按序排列的条件校验节点,每个条件校验节点与预设业务规则中的条件字段相对应;所述每个条件校验节点包括对应的条件字段的至少一个预设映射信息,每个预设映射信息表征对应的字段取值与业务规则间的映射信息;
确定所述目标业务数据对应的初始业务规则集合;
遍历所述多个按序排列的条件校验节点;
根据当前遍历到的条件校验节点对应的条件字段,确定所述目标业务数据中对应的第一业务属性信息;
确定所述第一业务属性信息所满足的第一字段取值;
根据所述当前遍历到的条件校验节点对应的条件字段的至少一个预设映射信息,确定所述第一字段取值对应的业务规则集合;
将所述对应的业务规则集合作为所述条件校验结果;
基于所述条件校验结果更新所述初始业务规则集合;
检测更新后的初始业务规则集合是否为空;
当所述更新后的初始业务规则集合为空时,访问当前遍历到的条件校验节点的上一个条件校验节点;根据所述上一个条件校验节点对应的条件字段,确定所述目标业务数据中对应的第二业务属性信息;确定所述第二业务属性信息所满足的第二字段取值,所述第二字段取值与所述上一个条件校验节点的第一字段取值不同;根据所述上一个条件校验节点对应的条件字段的至少一个预设映射信息,确定所述第二字段取值对应的业务规则集合;将所述第二字段取值对应的业务规则集合作为所述条件校验结果;将所述初始业务规则集合回退到更新前的状态,根据所述条件校验结果重新更新所述初始业务规则集合;
在遍历结束时,将当前更新后的初始业务规则集合中的业务规则,作为与所述目标业务数据相匹配的目标业务规则。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取原始业务规则集,所述原始业务规则集包括多个预设业务规则,且每个预设业务规则包括多个条件字段的字段取值;
对每个条件字段中相同的字段取值进行合并处理,得到所述每个条件字段中的每个字段取值对应的业务规则集合;
根据所述每个字段取值和对应的业务规则集合,生成对应的预设映射信息;
根据所述每个条件字段的至少一个预设映射信息生成对应的条件校验节点;
根据所述多个条件字段对应的条件校验节点生成所述目标业务校验信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述多个条件字段对应的条件校验节点生成所述目标业务校验信息包括:
根据所述每个条件字段的字段取值数量确定所述每个条件校验节点的条件区分指标;
根据所述多个条件字段对应的条件校验节点的条件区分指标,对所述多个条件字段对应的条件校验节点进行排序,得到所述目标业务校验信息。
4.根据权利要求1所述的方法,其特征在于,所述获取目标业务数据和目标业务校验信息包括:
接收客户端发送的目标规则匹配请求,所述目标规则匹配请求携带有所述目标业务数据和目标业务校验标识;
根据所述目标业务校验标识从多个业务校验信息中确定出所述目标业务校验信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述目标业务规则确定所述目标业务数据对应的业务处理策略信息;
将所述对应的业务处理策略信息发送到客户端,以使所述客户端根据所述对应的业务处理策略信息执行所述目标业务数据对应的业务处理。
6.一种数据处理装置,其特征在于,所述装置包括:
业务数据获取模块,用于获取目标业务数据和目标业务校验信息,所述目标业务校验信息包括多个按序排列的条件校验节点,每个条件校验节点与预设业务规则中的条件字段相对应;所述每个条件校验节点包括对应的条件字段的至少一个预设映射信息,每个预设映射信息表征对应的字段取值与业务规则间的映射信息;
初始业务规则集合确定模块,用于确定所述目标业务数据对应的初始业务规则集合;
遍历模块,用于遍历所述多个按序排列的条件校验节点;
条件校验模块,用于根据当前遍历到的条件校验节点对应的条件字段,确定所述目标业务数据中对应的第一业务属性信息;确定所述第一业务属性信息所满足的第一字段取值;根据所述当前遍历到的条件校验节点对应的条件字段的至少一个预设映射信息,确定所述第一字段取值对应的业务规则集合;将所述对应的业务规则集合作为所述条件校验结果;
初始业务规则集合更新模块,用于基于所述条件校验结果更新所述初始业务规则集合;
初始业务规则集合检测单元,用于检测更新后的初始业务规则集合是否为空;
节点访问单元,用于当所述更新后的初始业务规则集合为空时,访问当前遍历到的条件校验节点的上一个条件校验节点;
第二业务属性信息确定单元,用于根据所述上一个条件校验节点对应的条件字段,确定所述目标业务数据中对应的第二业务属性信息;
第二字段取值确定单元,用于确定所述第二业务属性信息所满足的第二字段取值,所述第二字段取值与所述上一个条件校验节点的第一字段取值不同;
第二业务规则集合确定单元,用于根据所述上一个条件校验节点对应的条件字段的至少一个预设映射信息,确定所述第二字段取值对应的业务规则集合;
第一条件校验结果确定单元,用于将所述第二字段取值对应的业务规则集合作为所述条件校验结果;
所述初始业务规则集合更新模块,还用于在所述更新后的初始业务规则集合为空时,将所述初始业务规则集合回退到更新前的状态,根据所述第一条件校验结果确定单元的条件校验结果重新更新所述初始业务规则集合;
目标业务规则确定模块,用于在遍历结束时,将当前更新后的初始业务规则集合中的业务规则,作为与所述目标业务数据相匹配的目标业务规则。
7.一种数据处理设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1至5任一所述的数据处理方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1至5任一所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110396849.5A CN112800095B (zh) | 2021-04-13 | 2021-04-13 | 一种数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110396849.5A CN112800095B (zh) | 2021-04-13 | 2021-04-13 | 一种数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112800095A CN112800095A (zh) | 2021-05-14 |
CN112800095B true CN112800095B (zh) | 2021-07-13 |
Family
ID=75816967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110396849.5A Active CN112800095B (zh) | 2021-04-13 | 2021-04-13 | 一种数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112800095B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282624B (zh) * | 2021-05-25 | 2024-05-14 | 北京达佳互联信息技术有限公司 | 规则匹配方法、装置、电子设备及存储介质 |
CN113240351A (zh) * | 2021-06-28 | 2021-08-10 | 平安信托有限责任公司 | 业务数据一致性检查方法、装置、电子设备及介质 |
CN113377785B (zh) * | 2021-08-16 | 2021-11-02 | 宜科(天津)电子有限公司 | 一种工业数据的处理*** |
CN113886199B (zh) * | 2021-08-31 | 2024-04-19 | 联想(北京)有限公司 | 一种数据处理方法及装置 |
CN113837584B (zh) * | 2021-09-17 | 2024-04-12 | 平安养老保险股份有限公司 | 业务处理***和基于业务处理***的异常数据处理方法 |
CN113986384A (zh) * | 2021-10-28 | 2022-01-28 | 数字天堂(北京)网络技术有限公司 | 基于客户端和云端的处理装置、方法、设备和存储介质 |
CN114611155B (zh) * | 2022-03-15 | 2022-12-13 | 云粒智慧科技有限公司 | 一种数据治理节点的校验方法、装置、设备及介质 |
CN115185616B (zh) * | 2022-09-14 | 2022-12-13 | 深圳依时货拉拉科技有限公司 | 业务规则引擎装置及业务规则引擎的处理方法 |
CN117422585B (zh) * | 2023-12-15 | 2024-05-17 | 中山市三乐电子有限公司 | 电感生产制造控制***的状态监控方法及*** |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060253205A1 (en) * | 2005-05-09 | 2006-11-09 | Michael Gardiner | Method and apparatus for tabular process control |
WO2015036817A1 (en) * | 2013-09-15 | 2015-03-19 | Yogesh Chunilal Rathod | Structured updated status, requests, user data & programming based presenting & accessing of connections |
CN104731800B (zh) * | 2013-12-20 | 2018-10-23 | ***股份有限公司 | 数据分析装置 |
CN109634956A (zh) * | 2018-11-16 | 2019-04-16 | 王亚萍 | 一种税务业务报文规则校验引擎的搭建方法及*** |
CN111061678B (zh) * | 2019-12-10 | 2023-05-23 | 深圳奇迹智慧网络有限公司 | 业务数据处理方法、装置、计算机设备和存储介质 |
CN111711623A (zh) * | 2020-06-15 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 一种数据校验的方法及装置 |
CN112100250B (zh) * | 2020-11-23 | 2021-03-16 | 支付宝(杭州)信息技术有限公司 | 数据处理方法及装置 |
CN112445874A (zh) * | 2020-12-10 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 一种节点信息校验方法、装置、设备及存储介质 |
-
2021
- 2021-04-13 CN CN202110396849.5A patent/CN112800095B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112800095A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112800095B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111459993B (zh) | 基于行为分析的配置更新方法、装置、设备及存储介质 | |
CN110795697B (zh) | 逻辑表达式的获取方法、装置、存储介质以及电子装置 | |
CN109445768B (zh) | 数据库脚本生成方法、装置、计算机设备及存储介质 | |
CN107480268A (zh) | 数据查询方法及装置 | |
CN113835874A (zh) | 深度学习业务调度方法、***、终端及存储介质 | |
CN110866029A (zh) | sql语句构建方法、装置、服务器及可读存储介质 | |
CN111475494A (zh) | 一种海量数据处理方法、***、终端及存储介质 | |
CN113672375B (zh) | 资源分配预测方法、装置、设备及存储介质 | |
CN114090838A (zh) | 大数据可视化展示的方法、***、电子装置和存储介质 | |
CN115599359A (zh) | 一种代码生成方法、装置、设备及介质 | |
CN115905630A (zh) | 一种图数据库查询方法、装置、设备及存储介质 | |
CN111639077A (zh) | 数据治理方法、装置、电子设备、存储介质 | |
CN108154024A (zh) | 一种数据检索方法、装置及电子设备 | |
CN113886419A (zh) | Sql语句处理方法、装置、计算机设备及存储介质 | |
CN115687810A (zh) | 网页搜索方法、装置及相关设备 | |
CN112835921A (zh) | 慢查询处理方法、装置、电子设备及存储介质 | |
CN111159213A (zh) | 一种数据查询方法、装置、***和存储介质 | |
CN113792232B (zh) | 页面特征计算方法、装置、电子设备、介质及程序产品 | |
CN115168509A (zh) | 风控数据的处理方法及装置、存储介质、计算机设备 | |
CN115455006A (zh) | 数据处理方法、数据处理装置、电子设备及存储介质 | |
CN114328486A (zh) | 基于模型的数据质量核查方法及装置 | |
CN114281549A (zh) | 数据的处理方法及装置 | |
CN114115796A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN113868138A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40043827 Country of ref document: HK |