System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及规则匹配,具体涉及一种业务规则的匹配方法及装置、电子设备、存储介质。
技术介绍
1、在航空业务快速发展的时代,为了满足用户和航司的要求,构建了一个个业务服务来提供相关的服务,每个业务服务都有对应的规则,根据用户的需求和航司能够提供的服务进行规则的判断,最终选择出最优的业务服务为用户响应服务。
2、现有的业务规则匹配技术方案,是基于第三方存储介质中存储的业务规则,进行规则查询和匹配。
3、但是,现有的业务规则匹配方式中存在匹配耗时过长和成本过高的问题,是目前需要解决的问题。
技术实现思路
1、有鉴于此,本专利技术实施例提供一种业务规则的匹配方法及装置、电子设备、存储介质,以实现降低成本同时缩短业务规则的匹配耗时的目的。
2、为实现上述目的,本专利技术实施例提供如下技术方案:
3、本专利技术实施例第一方面公开了一种业务规则的匹配方法,适用于包含内存模型的业务系统,所述内存模型中预先存储有各个业务服务对应规则数据的二进制机器码,所述方法包括:
4、当接收到业务请求时,对所述业务请求进行解析,得到规则匹配信息;
5、查询所述规则数据中是否有与所述规则匹配信息匹配的第一规则数据;
6、若是,则调用所述第一规则数据对应的业务服务为用户提供服务;
7、若否,针对所述规则匹配信息中的每一属性的属性值,若所述属性值满足通配符的替换条件,则将所述属性值替换为所述通配符,得到替换后的规则匹配信息
8、若所述规则数据中存在与替换后的规则匹配信息匹配的第二规则数据,则调用所述第二规则数据对应的业务服务为用户提供服务。
9、优选的,所述查询所述规则数据中是否有与所述规则匹配信息匹配的第一规则数据,包括:
10、将所述规则匹配信息中各个属性的属性值合并得到合并值;
11、利用离散算法对所述合并值进行处理,得到所述规则匹配信息对应的二进制机器码;
12、针对每一规则数据对应的二进制机器码,与所述规则匹配信息对应的二进制机器码进行与运算;
13、基于与运算的结果,查询所述规则数据中是否存在二进制机器码等于所述规则数据对应的二进制机器码的第一规则数据。
14、优选的,在针对每一规则数据对应的二进制机器码,与所述规则匹配信息对应的二进制机器码进行与运算之前,还包括:
15、若所述规则匹配信息对应的二进制机器码,与所述规则数据对应的二进制机器码长度不一致,则对所述规则匹配信息对应的二进制机器码进行补0处理。
16、优选的,所述规则匹配信息至少包括第一属性和第二属性的属性值,所述针对所述规则匹配信息中的每一属性的属性值,若所述属性值满足通配符的替换条件,则将所述属性值替换为所述通配符,得到替换后的规则匹配信息,包括:
17、查询第一候选值集合中,是否存在与所述规则匹配信息中第一属性的属性值一致的候选值;所述第一候选值集合通过将所述规则数据的第一属性的属性值作为候选值构成;
18、若是,则将所述规则匹配信息中第一属性的属性值与第二属性的属性值合并,得到合并值;
19、若否,则当所述第一候选值集合中存在通配符时,将所述规则匹配信息的第一属性的属性值替换为所述通配符后,与所述第二属性的属性值合并,得到合并值;
20、查询第二候选值集合中,是否存在与所述合并值一致的候选值;所述第二候选值集合由所述规则数据的第一属性的属性值与第二属性的属性值合并得到的候选值构成;
21、若否,则当所述第二候选值集合中存在通配符时,将所述规则匹配信息的第二属性的属性值替换为所述通配符,得到替换后的规则匹配信息;
22、若是,将所述合并值对应的规则匹配信息作为替换后的规则匹配信息。
23、优选的,还包括:
24、当获取到规则基础数据,从所述规则基础数据中提取出构建规则数据所需的关键属性值;
25、利用离散算法将所述关键属性值转换为二进制机器码,得到用于更新的规则数据;
26、当所述内存模型中待更新的规则数据未处于规则匹配过程中时,将用于更新的规则数据替换待更新的规则数据。
27、本专利技术实施例第二方面公开了一种业务规则的匹配装置,适用于包含内存模型的业务系统,所述内存模型中预先存储有各个业务服务对应规则数据的二进制机器码,所述装置包括:
28、解析单元,用于当接收到业务请求时,对所述业务请求进行解析,得到规则匹配信息;
29、查询单元,用于查询所述规则数据中是否有与所述规则匹配信息匹配的第一规则数据;
30、第一调用单元,用于若所述规则数据中有与所述规则匹配信息匹配的第一规则数据,则调用所述第一规则数据对应的业务服务为用户提供服务;
31、替换单元,用于当所述规则数据中没有与所述规则匹配信息匹配的第一规则数据时,针对所述规则匹配信息中的每一属性的属性值,若所述属性值满足通配符的替换条件,则将所述属性值替换为所述通配符,得到替换后的规则匹配信息;
32、第二调用单元,用于若所述规则数据中存在与替换后的规则匹配信息匹配的第二规则数据,则调用所述第二规则数据对应的业务服务为用户提供服务。
33、优选的,所述查询单元,包括:
34、合并子单元,用于将所述规则匹配信息中各个属性的属性值合并得到合并值;
35、处理子单元,用于利用离散算法对所述合并值进行处理,得到所述规则匹配信息对应的二进制机器码;
36、与运算子单元,用于针对每一规则数据对应的二进制机器码,与所述规则匹配信息对应的二进制机器码进行与运算;
37、第一查询子单元,用于基于与运算的结果,查询所述规则数据中是否存在二进制机器码等于所述规则数据对应的二进制机器码的第一规则数据。
38、优选的,还包括:
39、补全单元,用于若所述规则匹配信息对应的二进制机器码,与所述规则数据对应的二进制机器码长度不一致,则对所述规则匹配信息对应的二进制机器码进行补0处理。
40、本专利技术实施例第三方面公开了一种电子设备,包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,所述程序用于实现如本专利技术实施例第一方面公开的任一所述的业务规则的匹配方法。
41、本专利技术实施例第四方面公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行本专利技术实施例第一方面公开的任一所述的业务规则的匹配方法。
42、基于上述本专利技术实施例提供的一种业务规则的匹配方法及装置、电子设备、存储介质,当接收到业务请求时,对所述业务请求进行解析,得到规则匹配信息;查询所述规则数据中是否有与所述规则匹配信息匹配的第一规则数据;若是,则调用所述第一规本文档来自技高网...
【技术保护点】
1.一种业务规则的匹配方法,其特征在于,适用于包含内存模型的业务系统,所述内存模型中预先存储有各个业务服务对应规则数据的二进制机器码,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述查询所述规则数据中是否有与所述规则匹配信息匹配的第一规则数据,包括:
3.根据权利要求2所述的方法,其特征在于,在针对每一规则数据对应的二进制机器码,与所述规则匹配信息对应的二进制机器码进行与运算之前,还包括:
4.根据权利要求1所述的方法,其特征在于,所述规则匹配信息至少包括第一属性和第二属性的属性值,所述针对所述规则匹配信息中的每一属性的属性值,若所述属性值满足通配符的替换条件,则将所述属性值替换为所述通配符,得到替换后的规则匹配信息,包括:
5.根据权利要求1至4任一所述的方法,其特征在于,还包括:
6.一种业务规则的匹配装置,其特征在于,适用于包含内存模型的业务系统,所述内存模型中预先存储有各个业务服务对应规则数据的二进制机器码,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述查询单元,包括:<
...【技术特征摘要】
1.一种业务规则的匹配方法,其特征在于,适用于包含内存模型的业务系统,所述内存模型中预先存储有各个业务服务对应规则数据的二进制机器码,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述查询所述规则数据中是否有与所述规则匹配信息匹配的第一规则数据,包括:
3.根据权利要求2所述的方法,其特征在于,在针对每一规则数据对应的二进制机器码,与所述规则匹配信息对应的二进制机器码进行与运算之前,还包括:
4.根据权利要求1所述的方法,其特征在于,所述规则匹配信息至少包括第一属性和第二属性的属性值,所述针对所述规则匹配信息中的每一属性的属性值,若所述属性值满足通配符的替换条件,则将所述属性值替换为所述通配符,得到替换后的规则匹配信息,包括:
5.根据权利要求1至4任一所述的方法,其特征在于...
【专利技术属性】
技术研发人员:李一鸣,贾永强,张宏海,杨永凯,崔斌豪,智强,张凯,王英华,
申请(专利权)人:中国民航信息网络股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。