CN111782262A - 数据动态发布方法、装置、系统、设备及存储介质 - Google Patents
数据动态发布方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN111782262A CN111782262A CN202010615468.7A CN202010615468A CN111782262A CN 111782262 A CN111782262 A CN 111782262A CN 202010615468 A CN202010615468 A CN 202010615468A CN 111782262 A CN111782262 A CN 111782262A
- Authority
- CN
- China
- Prior art keywords
- rule
- client
- service
- rule set
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 238000001514 detection method Methods 0.000 claims abstract description 76
- 230000000977 initiatory effect Effects 0.000 claims abstract description 21
- 238000009826 distribution Methods 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 13
- 230000002452 interceptive effect Effects 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000000875 corresponding effect Effects 0.000 description 286
- 238000007726 management method Methods 0.000 description 62
- 230000009471 action Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及人工智能领域,应用于对规则数据动态发布,提供一种数据动态发布方法、装置、系统、设备及存储介质。本方法通过获取用户输入的规则配置信息,并基于预置规则模板,生成服务对应的多条规则,得到对应多个第一规则集和规则集的版本号;根据客户端的IP信息,向客户端发起心跳检测获取客户端中服务对应的多个第二规则集的版本号;判断同一服务对应的第一规则集的版本号是否大于第二规则集的版本号,若是,则将第一规则集推送至客户端,以供客户端动态替换同一服务对应的第二规则集。本发明无需强依赖于class类文件即可将规则动态发布至对应客户端,提高了规则发布效率。此外,本发明还涉及区块链技术,各规则集可存储于区块链中。
Description
技术领域
本发明涉及人工智能领域,尤其涉及一种数据动态发布方法、装置、系统、设备及存储介质。
背景技术
规则引擎,最早来源于人工智能领域内的专家系统,专家系统使用知识库处理业务数据并推断相关的结论。规则引擎是在生产运行环境执行一组商业规则的软件系统,它使得政策规则可以脱离应用代码进行定义、测试、执行以及维护。规则引擎使用符合特定语法的规则语言进行规则的定义,通常规则和应用代码分离,并且使用申明式的方式告诉“需要做什么”,而不是“怎么做”,规则引擎接收数据输入、解释业务规则、并根据业务规则做出相应的决策。
随着复杂企业级项目的开发以及随着外部条件的不断变化,目前迫切需要将商业决策者的商业逻辑和应用开发者的技术决策分离开来,并把这些商业决策放在中心数据库或其他统一位置,使得系统中的业务规则在运行的过程中就动态的修改和管理。但是现有的规则配置方式不够易用,这就导致利用现有规则引擎中在制定对应的规则时,客户端负担重,系统复杂度高,无法满足各个市场的业务需求。
发明内容
本发明的主要目的在于解决现有的规则配置和发布需要依赖于class类文件,其实现复杂度高且不够灵活的技术问题。
本发明第一方面提供了一种数据动态发布方法,包括:
获取用户输入的规则配置信息;
基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号;
采集各客户端的IP信息,并基于所述客户端的IP信息,向所述客户端发起心跳检测,查询所述客户端中所述服务对应的多个第二规则集的版本号;
判断同一服务对应的所述第一规则集的版本号是否大于所述第二规则集的版本号;
若是,则通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端,以供所述客户端动态更改对应服务的第二规则集。
可选地,在本发明第一方面的第一种实现方式中,所述获取用户输入的规则配置信息包括:
采集用户在数据发布界面上的触控操作,基于所述触控操作与实体领域之间的对应关系,确定用户所选择的实体领域;
根据所述实体领域,调取对应的规则配置页面,并显示与所述数据发布界面中,以供用户进行规则编辑;
解析编辑后的规则配置页面中各规则项目的编辑信息,得到与所述实体领域对应的规则配置信息。
可选地,在本发明第一方面的第二种实现方式中,所述基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号包括:
根据所述实体领域,从预置规则模板库中获取与所述规则配置信息对应的预置规则模板;
根据所述规则模板,生成所述规则配置信息对应的多个规则字符串,其中,所述规则模板中携带有基于规则条件确定对应规则结果的执行逻辑;
基于所述规则字符串,生成多个目标规则,得到对应第一规则集和所述第一规则集的版本号。
可选地,在本发明第一方面的第三种实现方式中,所述采集各客户端的IP信息,并基于所述客户端的IP信息,向所述客户端发起心跳检测,查询所述客户端中所述服务对应的多个第二规则集的版本号包括:
基于所述客户端的IP信息,向所述客户端发起心跳检测请求,所述心跳检测请求用于控制所述客户端返回心跳数据,以判断所述客户端的工作状态;
当接收到所述客户端返回的心跳数据时,调用预置的规则查询指令,查询所述客户端在当前时刻所使用的第二规则集的版本号,其中所述心跳数据为所述客户端根据所述心跳检测请求生成的所述客户端基于所述第二规则集产生的交互数据。
可选地,在本发明第一方面的第四种实现方式中,所述当接收到所述客户端返回的心跳数据时,调用预置的规则查询指令,查询所述客户端在当前时刻所使用的第二规则集的版本号包括:
接收所述客户端发送的第二心跳检测请求,并判断所述心跳数据中是否存在有效心跳数据;
若存在,则对所述心跳数据进行解析,提取所述客户端对外发送的多条心跳数据队列;
根据所述第二心跳检测请求对多条心跳数据队列进行筛选,确定所述客户端对应的目标心跳数据队列,并从所述目标心跳数据队列中提取出待消费心跳数据;
调用预置的规则查询指令,将所述规则查询指令写入所述待消费心跳数据中,并返回给所述客户端,查询所述客户端中所述服务对应的多个第二规则集的版本号。
本发明第二方面提供了一种数据动态发布方法,所述数据动态发布方法包括:
获取用户输入的规则配置信息;
基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号;
采集各客户端的IP信息,并基于所述客户端的IP信息,向所述客户端发起心跳检测,查询所述客户端中所述服务对应的多个第二规则集的版本号;
判断同一服务对应的所述第一规则集的版本号是否大于所述第二规则集的版本号;
若是,则通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端;
对所述客户端的IP信息进行解析,得到所述客户端携带的map对象;
获取所述map对象对应的key值,并基于所述key值确定对应的目标规则的编码;
基于所述编码,从所述第一规则集中匹配与所述客户端对应的目标规则;
对所述目标规则进行解析,得到所述目标规则对应的接收对象;
判断所述key值与所述接收对象对应的实体属性是否一致;
若一致,则将所述key值对应的value值传入所述目标规则并执行,以实现对所述客户端中的规则进行更改。
本发明第三方面提供了一种数据动态发布装置,包括:
获取模块,用于获取用户输入的规则配置信息;
生成模块,用于基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号;
查询模块,用于采集各客户端的IP信息,并基于所述客户端的IP信息,向所述客户端发起心跳检测,查询所述客户端中所述服务对应的多个第二规则集的版本号;
判断模块,用于判断同一服务对应的所述第一规则集的版本号是否大于所述第二规则集的版本号;
更改模块,用于当所述第一规则集的版本号大于所述第二规则集的版本号时,通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端,以供所述客户端动态更改对应服务的第二规则集。
可选地,在本发明第三方面的第一种实现方式中,所述获取模块具体用于:
采集用户在数据发布界面上的触控操作,基于所述触控操作与实体领域之间的对应关系,确定用户所选择的实体领域;
根据所述实体领域,调取对应的规则配置页面,并显示与所述数据发布界面中,以供用户进行规则编辑;
解析编辑后的规则配置页面中各规则项目的编辑信息,得到与所述实体领域对应的规则配置信息。
可选地,在本发明第三方面的第二种实现方式中,所述生成模块具体用于:
根据所述实体领域,从预置规则模板库中获取与所述规则配置信息对应的预置规则模板;
根据所述规则模板,生成所述规则配置信息对应的多个规则字符串,其中,所述规则模板中携带有基于规则条件确定对应规则结果的执行逻辑;
基于所述规则字符串,生成多个目标规则,得到对应第一规则集和所述第一规则集的版本号。
可选地,在本发明第三方面的第三种实现方式中,所述查询模块包括:
判断单元,用于基于所述客户端的IP信息,向所述客户端发起心跳检测请求,所述心跳检测请求用于控制所述客户端返回心跳数据,以判断所述客户端的工作状态;
查询单元,用于当接收到所述客户端返回的心跳数据时,调用预置的规则查询指令,查询所述客户端在当前时刻所使用的第二规则集的版本号,其中所述心跳数据为所述客户端根据所述心跳检测请求生成的所述客户端基于所述第二规则集产生的交互数据。
可选地,在本发明第三方面的第四种实现方式中,所述判断单元具体用于:
接收所述客户端发送的第二心跳检测请求,并判断所述心跳数据中是否存在有效心跳数据;
若存在,则对所述心跳数据进行解析,提取所述客户端对外发送的多条心跳数据队列;
根据所述第二心跳检测请求对多条心跳数据队列进行筛选,确定所述客户端对应的目标心跳数据队列,并从所述目标心跳数据队列中提取出待消费心跳数据;
调用预置的规则查询指令,将所述规则查询指令写入所述待消费心跳数据中,并返回给所述客户端,查询所述客户端中所述服务对应的多个第二规则集的版本号。
本发明第四方面提供了一种数据动态发布系统,包括:管理端和至少一个客户端;
所述管理端,用于获取用户输入的规则配置信息;基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号;采集各客户端的IP信息,并基于各所述客户端的IP信息,分别向对应的述客户端发起心跳检测,查询客户端中所述服务对应的多个第二规则集的版本号;判断同一服务对应的所述第一规则集的版本号是否大于所述第二规则集的版本号;若大于,则通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端;
所述客户端,用于在接收到所述管理端发送的第一规则集后,对其自身的IP信息进行解析,得到所述客户端携带的map对象;获取所述map对象对应的key值,并基于所述key值确定对应的目标规则的编码;基于所述编码,从所述第一规则集中匹配与所述客户端对应的目标规则;对所述目标规则进行解析,得到所述目标规则对应的接收对象;判断所述key值与所述接收对象对应的实体属性是否一致;若一致,则将所述key值对应的value值传入所述目标规则并执行,以实现对所述客户端中的规则进行更改。
本发明第五方面提供了一种数据动态发布设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据动态发布设备执行上述第一方面提供的数据动态发布方法;
或者,
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据动态发布设备执行上述第二方面提供的数据动态发布方法。
本发明的第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面提供的数据动态发布方法或者使得计算机执行上述第二方面提供的数据动态发布方法。
本发明提供的技术方案中,通过获取用户输入的规则配置信息,并基于预置规则模板,生成服务对应的多条规则,得到对应多个第一规则集和规则集的版本号;根据客户端的IP信息,向客户端发起心跳检测以获取客户端中服务对应的多个第二规则集的版本号;判断同一服务对应的第一规则集的版本号是否大于第二规则集的版本号,若是,则将第一规则集推送至客户端,以供客户端动态替换同一服务对应的第二规则集。本发明无需强依赖于class类文件即可将规则动态发布至对应客户端,提高了规则发布效率。
附图说明
图1为本发明数据动态发布方法的第一个实施例示意图;
图2为本发明数据动态发布方法的第二个实施例示意图;
图3为本发明数据动态发布方法的第三个实施例示意图;
图4为本发明数据动态发布方法的第四个实施例示意图;
图5为本发明数据动态发布方法的第五个实施例示意图;
图6为本发明数据动态发布装置的第一个实施例示意图;
图7为本发明数据动态发布装置的第二个实施例示意图;
图8为本发明数据动态发布系统的一个实施例示意图;
图9为本发明数据动态发布设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种数据动态发布方法、装置、系统、设备及存储介质。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明数据动态发布方法的第一个实施例包括:
101、获取用户输入的规则配置信息;
在本发明实施例中,规则配置信息由用户自行定义,用户可以根据业务的需要编辑对应的规则配置信息,规则配置信息可以包括以下内容:
a.规则的触发条件、风险FLAG、权重以及颜色等等;
b.针对a中的内容进行制定的条件配置信息,其中,条件配置信息由逻辑运算符构成。
需要说明的是,现有的规则引擎中的规则,用户无法对规则结合自己的业务类型进行灵活配置,规则配置方式不够易用,规则的发布强依赖于class类文件,需要分发class类文件到客户端,导致客户端负担重,系统复杂度高。
本发明实施例中的规则,可以根据业务的需要由用户自行编辑规则对应的规则配置信息,以制定出满足自身业务内容的规则。
规则引擎可以通过降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本,由推理引擎发展而来,它可以将业务规则从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。规则引擎可以接收数据输入,解释业务规则,并根据业务规则做出业务决策。承载规则引擎的设备称为规则引擎服务器。
目前,规则引擎的一种实现方式为:在规则引擎服务器上预先设置与业务对应的业务规则;业务规则为一系列与业务对应的规则条件的组合。在规则引擎服务器接收业务规则中的规则条件对应的输入参数后,调用业务规则来对输入参数进行逻辑判断,从而获得规则结果(也即业务决策)。
例如,以“业务”为识别登录用户是否为正常用户为例,则可以预先在规则引擎服务器上设置与正常用户对应的业务规则;假设业务规则具有一个规则条件,该规则条件为:本次登陆地点与上次登陆地点一致(本次登录地==上次登陆地点)。那么,规则引擎服务器可以接收输入参数:本次登录地点和上次登陆地点;然后调用操作符“==”来判断本次登录地点和上次登陆地点是否一致,若一致则输出登录用户为正常用户(规则结果)。
本实施例中,配置信息可以是用户通过可视化界面输入的,该配置信息可以包括规则条件属性值和规则结果属性值,该规则条件属性值和规则结果属性值可以组成业务规则表达式,理解为,在满足一定规则条件属性值(Conditions)时执行规则结果属性值(对应动作action)。该业务规则表达式可以是Drools语言。此外,该配置信息还可以是用户在可视化界面中选择相应的属性并输入属性值的,即该可视化界面中显示有规则条件属性的选择窗口和规则结果属性的选择窗口,用户在规则条件属性的选择窗口选择规则条件的属性并输入相应的属性值,以及用户在规则结果属性的选择窗口选择规则结果的属性并输入相应的属性值,从而完成配置信息的输入。其中,配置信息中还可以包括该事件的事件类型、业务规则优先级、有效期等。
102、基于预置规则模板与规则配置信息,生成服务对应的多条规则,得到服务对应的多个第一规则集和第一规则集的版本号;
本实施例中,获取用户输入的规则配置信息,并根据预置的规则模板生成与规则配置数据对应的规则,并根据生成的多个规则,得到对应的第一规则集和该第一规则集对应的版本号,并存储至管理端的数据库。
多个目标规则的集合,就构成对应的规则集。规则主要分普通规则和循环规则,其中,普通规则主体可以理解为是由如果、那么、否则三个部分构成的规则,点击规则名可以对规则名进行修改,修改完成后鼠标点击页签处离开焦点就完成了规则名的修改确认;点击“添加属性”链接可以为当前规则定义相关属性。无论是普通规则还是循环规则都支持下面这些属性。规则名及属性定义完成后,接下来就可以开始配置规则的主体部分,首先是“如果”部分,在“如果”部分当中可以添加若干条件,添加完条件后,就可以通过鼠标点击以向导方式设置条件。规则的属性包括:优先级、生效日期、失效日期、是否启用、允许调试信息输出、互斥组、执行组和允许循环触发等。
规则的理论基础是:设置一个或多个条件(conditions),当满足这些条件时会触发一个或多个操作(actions)。比如,在第一个规则当中条件满足时执行两个动作,不满足执行一个动作;第二个规则条件满足的话执行两个动作,不满足什么也不做。
本实施例中,规则模板为预先设置于某业务系统中具有通过规则条件确定规则结果的执行逻辑,一种实现方式中,可以针对不同的业务场景设置不同的规则模板,将该多个规则模板存储至业务系统中。可以预先在业务系统的Classes路径中创建一个用于存放规则模板的规则文件,并将创建的多个规则模板存储至该规则文件中。在确定配置信息对应的规则模板时,可以基于配置信息对应的业务场景,确定该配置信息对应的规则模板。
另一种实现方式中,可以针对多个业务系统设置一个规则模板,该规则模板具有高抽象性,可以适用于不同的业务场景。
在创建规则模板时,可以依据Drools规则引擎进行创建,具体的,规则条件和规则结果可以采用Drools语言,Drools语言可以支持运算符、比较操作符、正则表达式等。规则模板中包括属性(attributes)、规则条件以及规则结果,规则模板中的规则条件由一个或多个条件组成,当所有条件都满足时,则规则结果被执行。规则模板中的规则条件和规则结果为空值,用于在生成规则字符串时,为用户输入的配置信息提供相应的逻辑模板。
103、采集各客户端的IP信息,并基于客户端的IP信息,向客户端发起心跳检测,查询客户端中服务对应的多个第二规则集的版本号;
本实施例中,该处理流程具体是有一个统一对规则集进行管理的管理端执行,在管理端采集客户端对应的IP信息后,根据各个客户端的IP信息向各个客户端发起心跳检测,通过该心跳检测实现对客户端的工作状态进行检测,该工作状态包括单向通信故障、双向通信故障和正常通信三种;通过发起心跳检测请求以获取各个客户端中各个服务(此处“服务”是指业务系统中包含的各个业务场景)对应的多个第二规则集的版本号。IP信息包括IP地址,其中,IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
心跳检测就是:发送方(客户端)按照一定规则(周期性发送、空闲发送等等)向接收方(管理端)发送固定格式的消息,接收方(管理端)收到消息后回复一个固定格式的消息,如果长时间没有收到,比如心跳周期的3倍,则认为当前连接失效,将其断开。
心跳检测是可以相互的,比如客户端向管理端发起,管理端向客户端发起,本实施例是站在管理端来写的。从管理端记录了客户端的IP信息,向每个客户端发起心跳检测,在实际应用中,管理端向客户端进行心跳检测的动作叫做推模式;从客户端向管理端发起检测时,在实际应用中,客户端向管理端进行心跳检测的动作叫做拉模式;合起来,这就是推/拉两种模式来保障规则配置信息及时更新到最新的规则配置信息(即规则集)。
本实施例中,规则引擎服务器接收客户端发送的访问请求,该访问请求可以是通过客户端的相应接口发送的请求,其中,客户端的个数可以是一个,也可以是多个,例如,大于或等于2个。
在一些实施例中,客户端通过规则引擎提供的客户端Jar包调用应用程序接口(Application Programming Interface,API),通过远程过程调用(Remote ProcedureCall,RPC)协议访问规则引擎服务器,例如,可以基于Hessian RPC调用通信技术进行访问,也可以根据应用需要采用其他RPC调用技术进行访问。调用请求可包括,但不限于,下述的一种或多种:添加规则、更新规则、查询规则、添加规则组、添加规则到规则组、从规则组中删除规则、根据数据类型获取操作符列表、获取所有的数据类型及每个数据类型支持的操作符列表、根据规则组ID查询该规则组内包含的规则列表、查询所有的规则组、校验指定规则组下规则、判断输入数据是否满足指定规则、对输入的规则依次进行校验和获取指定规则数据项列表。
104、判断同一服务对应的第一规则集的版本号是否大于第二规则集的版本号;
本实施例中,根据管理端中各个服务对应的第一规则集的版本号,判断同一服务对应的第一规则集的版本号是否大于第二规则集对应的版本号。判断各个客户端对应第二规则集的版本号是否小于管理端中的第一规则集的版本号。
通俗的说,每个客户端都会有多个服务,每个服务(业务场景)均对应有一个规则集。此处需要说明的是,一个服务可以对应多个规则集,但是每个规则集只能对应一个服务。通过客户端的IP地址,对该客户端重对应的规则集进行解析,得到它对应规则集的版本号,管理端会比对版本号来判断,管理端每更新一次规则集(规则配置),就会递增版本号。通过比对版本号来判断是否是最新的。
本实施例中,由于管理端每更新一次规则集(规则配置),就会递增版本号。通过比对版本号来判断是否是最新的。判断客户端对应的第二规则集的版本号,是否小于管理端第一规则集的版本号。
规则集(Rule Set)就是产生式存储器中存放的规则的集合,这里的规则是以产生式的形式进行表示的,分为前件部分和后件部分。
规则集也叫决策集,在URule Pro当中是由一组普通规则和循环规则构成的规则集合,是使用频率最高的一种业务规则实现方式。
在URule Pro中规则有两种类型,分别是普通规则和循环规则。所谓的普通规则是指一种由如果、那么、否则三个部分构成的规则;而循环规则顾名思义就是可循环的规则,它允许指定一个集合类型的对象,对这个集合中每个对象进行循环迭代,在循环体中则是若干个由如果、那么、否则构成的普通规则。
105、若是,则通过所述服务对应的客户端的IP信息,将第一规则集推送至对应的客户端,以供客户端动态更改对应服务的第二规则集。
本实施例中,若客户端对应的第二规则集的版本号小于管理端对应第一规则集,则说明客户端对应的第二规则集不是最新的规则集,这时,就可以根据服务对应的客户端的IP信息,将管理端配置更新的第一规则集及时推送对应的各客户端,也即,将客户端的规则配置信息及时更新到最新的规则配置信息(即规则集)。通过轮询来实现的,比如客户端向管理端发起,管理端向客户端发起。其中从客户端向管理端发起检测时,这种模式叫做拉模式。管理端记录了客户端的IP信息,向每个客户端发起心跳检测,这种模式叫做推模式。合起来,这就是推/拉两种模式来保障规则配置信息及时更新到最新的规则配置信息(即规则集)。
“管理端”向各个“客户端”发起心跳检测,发送心跳检测的内容就带有版本号,此处直接就会比对,管理端直接就知道客户端对应的第二规则集是否最新版本的(最新配置的规则),如果不是最新的,就把管理端配置好的最新版本的规则集返回给客户端,加载到这个“客户端”内存中,及时更新对应的配置规则,构建知识库。
本发明实施例中,通过获取用户输入的规则配置信息,并基于预置规则模板,生成不同服务对应的多条规则,得到对应多个第一规则集和规则集的版本号;根据客户端的IP信息,向客户端发起心跳检测以获取客户端中各服务对应的多个第二规则集的版本号;判断同一服务对应的第一规则集的版本号是否大于第二规则集的版本号,若是,则将第一规则集推送至客户端,以供客户端动态替换同一服务对应的第二规则集。本发明无需强依赖于class类文件即可将规则动态发布至对应客户端,提高了规则发布效率。需要强调的是,为进一步保证上述规则集中各服务对应的多条规则的私密和安全性,上述各服务对应的多条规则还可以存储于一区块链的节点中。
请参阅图2,本发明数据动态发布方法的第二个实施例包括:
201、采集用户在数据发布界面上的触控操作,基于触控操作与实体领域之间的对应关系,确定用户所选择的实体领域;
本实施例中,提供一个或多个实体领域供用户选择,一个或多个实体领域中对应一条或者多条规则,每一条规则均对应相关的操作,为用户提供相对应的规则的编辑操作,采集用户在数据发布界面上的触控操作,根据触控操作与实体领域之间的对应关系,确定用户输入相对应的规则配置信息。
202、根据实体领域,调取对应的规则配置页面,并显示与数据发布界面中,以供用户进行规则编辑;
本实施例中,根据实体领域,调取对应的规则配置页面,并显示与数据发布界面中,以供用户进行规则编辑。在一个业务系统中会有多个实体领域对应多个业务场景,每个业务场景又分别对应多个业务规则,所以,首先要先提供一个或多个实体领域以供用户选择,确定待配置规则对应的领域实体。
配置规则的过程:首先要确定业务系统对应的业务场景,进一步地,配置对应的领域实体:根据领域实体配置具体规则,并确定配置规则触发条件的动作。
比如,1、系统中定义一个用户的领域实体:如User,其中,这个领域实体有很多属性,比如用户的年龄user.age,性别等属性;
2、规则内容:用户年龄不能小于18岁(user.age>18);
3、触发规则条件的动作:如果用户小于18岁,贷款审核不通过。配置信息最终会转换为drl脚本内容通过网络传输给规则引擎的客户端。
203、解析编辑后的规则配置页面中各规则项目的编辑信息,得到与实体领域对应的规则配置信息;
本实施例中,根据用户所选择的操作生成相对应的规则配置页面,一条规则对应一个规则配置页面,比如,用户选择了“开户时长”规则并点击编辑操作后进入该条规则的规则配置页面,在该配置页面中,用户可以编辑该规则的配置信息如标签值、风险FLAG、权重以及颜色等,其中,规则的配置信息中如标签值、风险FLAG、权重以及颜色等可以由用户自行选择或者定义,另外,用户还可以编辑规则的条件配置信息。
将用户在规则配置页面上输入的针对规则的编辑内容作为规则的配置信息,不同的规则配置页面上输入的规则配置信息不相同。
204、基于预置规则模板与规则配置信息,生成服务对应的多条规则,得到服务对应的多个第一规则集和第一规则集的版本号;
205、采集各客户端的IP信息,并基于客户端的IP信息,向客户端发起心跳检测,查询客户端中服务对应的多个第二规则集的版本号;
206、判断同一服务对应的第一规则集的版本号是否大于第二规则集的版本号;
207、若是,则通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端,以供所述客户端动态更改对应服务对应的第二规则集。
本实施例中步骤204-207与第一实施例中的步骤102-105类似,此处不再赘述。
本发明实施例中,详细的介绍了获取用户输入的规则配置信息的过程。通过获取用户输入的规则配置信息,并基于预置规则模板,生成不同服务对应的多条规则,得到对应多个第一规则集和规则集的版本号;根据客户端的IP信息,向客户端发起心跳检测以获取客户端中各服务对应的多个第二规则集的版本号;判断同一服务对应的第一规则集的版本号是否大于第二规则集的版本号,若是,则将第一规则集推送至客户端,以供客户端动态替换同一服务对应的第二规则集。本发明无需强依赖于class类文件即可将数据动态发布至对应客户端,提高了规则发布效率。
请参阅图3,本发明数据动态发布方法的第三个实施例包括:
301、获取用户输入的规则配置信息;
302、根据实体领域,从预置规则模板库中获取与规则配置信息对应的预置规则模板;
本实施例中,根据实体领域,从预置规则模板库中获取与规则配置信息对应的预置规则模板。规则模板为预先设置于业务系统中具有通过规则条件确定规则结果的执行逻辑,一种实现方式中,可以针对不同的业务场景设置不同的规则模板,将该多个规则模板存储至对应业务系统中。
可以预先在业务系统的Classes路径中创建一个用于存放规则模板的规则文件,并将创建的多个规则模板存储至该规则文件中。在确定配置信息对应的规则模板时,可以基于配置信息对应的业务场景,确定该配置信息对应的规则模板。
另一种实现方式中,可以针对多个业务系统设置一个规则模板,该规则模板具有高抽象性,可以适用于不同的业务场景。
在创建规则模板时,可以依据Drools规则引擎进行创建,具体的,规则条件和规则结果可以采用Drools语言,Drools语言可以支持运算符、比较操作符、正则表达式等。规则模板中包括属性(attributes)、规则条件、规则结果,规则模板中的规则条件由一个或多个条件组成,当所有条件都满足时,则规则结果被执行。规则模板中的规则条件和规则结果为空值,用于在生成规则字符串时,为用户输入的配置信息提供相应的逻辑模板。
303、根据规则模板,生成规则配置信息对应的多个规则字符串,其中,规则模板中携带有基于规则条件确定对应规则结果的执行逻辑;
本实施例中,根据规则配置信息对应的规则模板,将对应的规则条件属性值和规则结果属性值对应匹配至规则模板的规则条件和规则结果中,从而生成具有实际执行逻辑的规则字符串,也即规则。规则模板是对各业务场景进行抽象后的模板。
例如,规则条件属性值是“客户为小型或微型企业、授信额度为100万以上且1000万以下”,规则结果属性值为“计提免税、还款方式为等额本金(RPT-02)、宽限期为0天”,则对应的规则条件为:
cust.scopein(‘3’,‘4’)&&cust.creditbusiness>1000000&&cust.creditbusiness<10000000;
对应的规则结果为:
loan.vatflag=1&&loan.paymethod=‘RPT-02’&&loan.graceday=0。
再例如规则条件属性值是“客户历史逾期累计超过15天,或者连续逾期天数超过7天,或者当前有逾期借据”,规则结果属性值是“放款借据宽限期为0,且还款期数为3期,还款方式为等额本金(RPT-02)”,则对应的规则条件为:
cust.alloverdays>15||cust.conoverdays>7||cust.existover==‘true’;
对应的规则结果为:
loan.graceday=0&&loan.period=3&&loan.paymethod=‘RPT-02’。
上述实施例中,获取用户输入的配置信息,且根据配置信息调用对应的规则模板,该规则模板是预先设置于业务系统中具有通过规则条件确定规则结果的执行逻辑,则生成的规则是指示具体规则条件属性值和规则结果属性值的执行逻辑,业务系统可以根据该规则字符串执行相应的逻辑。该规则模板是对不同业务场景进行抽象后的模板,用户可以仅配置业务的规则条件属性值和规则结果属性值。
304、基于规则字符串,生成多个目标规则,得到对应第一规则集和第一规则集的版本号;
本实施例中,根据规则字符串,生成多个目标规则,得到对应第一规则集和第一规则集的版本号,并将第一规则集缓存于管理端的本地缓存。
规则集(Rule Set)就是产生式存储器中存放的规则的集合,这里的规则是以产生式的形式进行表示的,分为前件部分和后件部分。此处,规则集也叫决策集,在URule Pro当中是由一组普通规则和循环规则构成的规则集合,是使用频率最高的一种业务规则实现方式。
本实施例中,规则字符串是指示具体规则条件属性值和规则结果属性值的执行逻辑,银行业务系统可以根据该规则字符串执行相应的逻辑。业务系统可以根据该规则字符串执行相应的逻辑。
本实施例中,目标规则是根据用户的需求,通过配置信息(一个或多个目标条件与对应的执行动作)和规则模板按照一定的逻辑生成的规则。比如,目标规则可为“如果保障计划为978险种,且计算被保人累计意外住院日额超过500,则发送提示信息”,其中“保障计划为978险种”和“计算被保人累计意外住院日额超过500”为规则条件,“发送提示信息”为所需执行的动作。规则条件中包含保障计划和被保人两个业务对象,且可通过时间运算控件调用相应的运算函数计算被保人累计意外住院日额。规则条件中包含“保障计划为978险种”和“被保人累计意外住院日额超过500”两个条件项,可通过逻辑符“与”将两个条件项作为并列关系,得到编辑后的目标条件。针对“是否发送提示信息”的规则项选择动作属性数据“发送提示信息”,得到编辑后的目标动作。通过目标条件和目标动作则可自动化生成目标规则。
305、采集各客户端的IP信息,并基于客户端的IP信息,向客户端发起心跳检测,查询客户端中服务对应的多个第二规则集的版本号;
306、判断同一服务对应的第一规则集的版本号是否大于第二规则集的版本号;
307、若是,则通过服务对应的客户端的IP信息,将第一规则集推送至对应的客户端,以供客户端动态更改对应服务的第二规则集。
本实施例中步骤305-307与第一实施例中的步骤103-105类似,此处不再赘述。
本发明实施例提供了详细的通过预置规则模板与规则配置信息,生成不同服务对应的多条规则,得到各服务对应的多个第一规则集和第一规则集对应的版本号的过程。本方案属于人工智能领域,通过本方案能够推动社会进步和发展,规则引擎的整体架构管理端和客户端解耦合,管理端的规则配置更加简单易用,规则的发布无需强依赖于class类文件,可将规则动态发布至对应客户端,提高了规则发布效率。
请参阅图4,本发明数据动态发布方法的第四个实施例包括:
401、获取用户输入的规则配置信息;
402、基于预置规则模板与规则配置信息,生成服务对应的多条规则,得到服务对应的多个第一规则集和所述第一规则集的版本号;
403、基于客户端的IP信息,向客户端发起心跳检测请求,心跳检测请求用于控制客户端返回心跳数据,以判断客户端的工作状态;
本实施例中,根据客户端对应的IP信息,分别向各个客户端发起心跳检测,心跳检测请求用于控制客户端返回心跳数据,以判断客户端的工作状态。管理端和客户端一直保持心跳检测,通过轮询的方式检测管理端的规则是否有更新;当管理端有配置更新的规则,通过采集的客户端IP信息,将对应配置更新的规则集推送到客户端。
心跳检测是指发送方按照一定规则(周期性发送、空闲发送等等)向接收方发送固定格式的消息,接收方收到消息后回复一个固定格式的消息,如果长时间没有收到,比如心跳周期的3倍,则认为当前连接失效,将其断开。其中,发送方可以是客户端或者服务端,根据实际情况而定,此处是管理端作为发送方。主要应用场景:判断长连接是否存活:当长连接没有流量时,无法判断是通信异常引起还是通信正常没有业务流量引起,通过发送心跳包进行判断。
轮询:概括来说是服务端定时主动的去与要监控状态的客户端(或者叫其他系统)通信,询问当前的某种状态,客户端返回状态信息;若客户端没有返回或返回错误、失效信息、则认为该客户端已经宕机,然后服务端自己内部把这个客户端的状态保存下来(宕机或者其他);若客户端正常,则返回正常状态;如果客户端宕机或者返回的是定义的失效状态那么当前的客户端状态是能够及时的监控到的;如果客户端宕机之后重启了那么当服务端定时来轮询的时候,还是可以正常的获取返回信息,把其状态重新更新。
404、当接收到客户端返回的心跳数据时,调用预置的规则查询指令,查询客户端在当前时刻所使用的第二规则集的版本号,其中心跳数据为客户端根据心跳检测请求生成的客户端基于第二规则集产生的交互数据;
本实施例中,当接收到客户端返回的心跳数据时,调用预置的规则查询指令,查询客户端在当前时刻所使用的第二规则集的版本号,其中心跳数据为客户端根据心跳检测请求生成的客户端基于第二规则集产生的交互数据。
接收客户端根据心跳检测请求所反馈的心跳数据。心跳数据可表示客户端与管理端的连接状态的数据。
具体实现中,各个客户端分别向管理端的某中间件设备定时发送心跳数据,例如,每隔5秒发送一次心跳数据,该心跳数据可以携带有客户端内存中存储规则集的版本号,IP信息,名称标识和当前时间戳,例如带有标识node1-20190911134525的心跳数据,表示被监控节点1在2019年9月11日13时45分25秒时刻的心跳数据,管理端的某中间件设备接收各个客户端定时发送的心跳数据。实际应用中,可以在管理端对应中间件设备中设置消息交换器,通过消息交换器接收各个客户端定时发送的心跳数据。
405、接收客户端发送的第二心跳检测请求,并判断心跳数据中是否存在有效心跳数据;
本实施例中,根据接收到的心跳数据,生成对应的多条心跳数据队列。具体实现中,管理端的某中间件设备在接收到各个客户端发送的心跳数据后,可按照预设的消息分发规则,将该心跳数据分别添加至预设的多条消息队列,形成多条心跳数据队列。实际应用中,可将管理端对应中间件设备接收的心跳数据添加至每一条消息队列,得到相同的多条心跳数据队列。
406、若存在,则对心跳数据进行解析,提取客户端对外发送的多条心跳数据队列;
本实施例中,当接收到客户端发送的心跳检测请求时,确定该客户端对应的目标心跳数据队列,并从该目标心跳数据队列中提取出待消费心跳数据。
在得到心跳数据队列后,管理端中的某中间件设备便开始等待检测中心的心跳检测请求。当接收到心跳检测请求后,首先确定各客户端所对应的目标心跳数据队列,其中,每个客户端对应一个心跳数据队列。在确定目标心跳数据队列后,从目标心跳数据队列中提取出待消费心跳数据。可选地,可通过定时投递的方法,从目标心跳数据队列中定时地提取待消费心跳数据,返回给客户端进行消费,实现客户端对心跳数据的异步消费。
407、根据第二心跳检测请求对多条心跳数据队列进行筛选,确定客户端对应的目标心跳数据队列,并从目标心跳数据队列中提取出待消费心跳数据;
在得到心跳数据队列后,管理端中的某中间件设备便开始等待检测中心的心跳检测请求。当接收到心跳检测请求后,首先确定各客户端所对应的目标心跳数据队列,其中,每个客户端对应一个心跳数据队列。
408、调用预置的规则查询指令,将所述规则查询指令写入所述待消费心跳数据中,并返回给所述客户端,查询所述客户端中所述服务对应的多个第二规则集的版本号;
本实施例中,将待消费心跳数据返回给对应客户端,并获取客户端中各服务对应的多个第二规则集的版本号。其中,由于发送心跳检测的内容中就带有版本号,所以通过识别到的对应客户端内存中规则集的版本号,管理端直接可以确定客户端的规则集是否最新。如果不是,就把配置好的最新版本的规则集推送至客户端,及时更新客户端重各服务对应的规则,构建知识库。
本实施例中,确定客户端内存中的第二规则集的版本号是否小于管理端最新配置好的第一规则集的版本号。由于管理端每更新一次规则集(规则配置),就会递增版本号,所以管理端会比对版本号,通过比对版本号来判断客户端重的规则集是否是最新的。
409、判断同一服务对应的第一规则集的版本号是否大于所述第二规则集的版本号;
410、若是,则通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端,以供所述客户端动态更改对应服务对应的第二规则集。
本实施例中步骤409-410与第一实施例中的步骤104-105类似,此处不再赘述。
在本发明实施例中,详细描述采集各客户端的IP信息,并基于客户端的IP信息,向客户端发起心跳检测以获取客户端中各服务对应的多个第二规则集的版本号的过程。本方案属于人工智能领域,通过本方案能够推动社会进步和发展,规则引擎的整体架构管理端和客户端解耦合,管理端的规则配置更加简单易用,规则的发布无需强依赖于class类文件,可将数据动态发布至对应客户端,提高了规则发布效率。
请参阅图5,本发明数据动态发布方法的第五个实施例,该方法主要是从双端的角度来说明,双端指的是管理端和客户端,管理端在检测到需要进行规则集的更新时,通过以下处理流程与客户端进行交互,从而实现规则集的同步更改,该方法具体包括:
501、获取用户输入的规则配置信息;
502、基于预置规则模板与规则配置信息,生成服务对应的多条规则,得到服务对应的多个第一规则集和所述第一规则集的版本号;
503、采集各客户端的IP信息,并基于客户端的IP信息,向客户端发起心跳检测,查询客户端中服务对应的多个第二规则集的版本号;
504、判断同一服务对应的第一规则集的版本号是否大于第二规则集的版本号;
505、若是,则通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端,以供所述客户端动态更改对应服务对应的第二规则集;
506、对客户端的IP信息进行解析,得到客户端携带的map对象;
本实施例中,通过对各个客户端IP信息进行解析,得到该客户端携带的map对象。map作为key-value存储的容器,key值装User对象的属性,比如年龄age,value会存储具体的值来替换实体对象。比如“领域实体”可以是“用户”,“用户订购的产品”,“幸运用户”。以“用户”为例,key值装(也可以说是“对应”)“用户”这个对象的属性,比如“年龄age”,“性别”,“户籍”,“学历”;value储存(也可以说是“对应”)具体的值;比如,“年龄:18”,“性别:女”,“学历:本科、硕士”,“户籍:湖北、河南”等。
map对象是指一个集合实例,map类似于目录和章节一样,目录对应章节,目录不能道重复,重复了就不知道自己要找的东西是什么,但是章节内容有重复就没什么关系。map对象就相当于一内本书,一本你现在拿在手里的那本struts2,有目录和章节。map对象里的元素就是一个键(key)一个值(value)匹配存储的,键是不能重复的,但键对应的值可以重复。map就像是一条街道,门牌号就相当于map里一个元素的Key(键),而答门里面住的人(物)就相当于map每一个元素的value(值),不过,属map对象的存储是无序的。
507、获取map对象对应的key值,并基于key值确定对应的目标规则的编码;
本实施例中,获取map对象中携带的key值及与该key值对应目标规则的编码。规则执行会传入与客户端对应的map对象与目标规则的编码,由于知识库(“知识库”是一个规则存储数据库)里面有非常多的规则,规则的编码是表示执行哪个规则的标识,也可以说是规则对应的主键,根据这个编码,可以从“知识库”查询并匹配出该待执行规则。
管理端规则更新后,生成对应的规则集;将该规则集推送至客户端内存,并在客户端的drools中重新构建知识库,相当于把之前构建的(用于存储配置好的规则)的知识库,同步更新,其中,知识库是指用于存储配置好的规则的数据库。
508、基于编码,从第一规则集中匹配与客户端对应的目标规则;
本实施例中,根据该目标规则对应的编码,从该第一规则集中匹配对应的规则。一个业务系统中会有多个业务场景,分别又包含多条业务规则,为了将这些规则区分开,每一条规则在配置生成时都会被分配一个对应的编码作为该规则的标识,也可以叫做标识编码。
将带执行规则的标识编码作为“关键字”,从第一规则集中“查询”该规则,得到对应的规则。
509、对目标规则进行解析,得到目标规则对应的接收对象;
本实施例中,对目标规则进行解析,得到对应的接收对象。接收对象是指的传入的对象,比如,定义一个规则“用户年龄不能小于18”,其中,接收对象就是指传入的比较对象,如传入一个用户年龄为19的,这就是接收对象,属性名就是定义的属性,如年龄、性别等。
510、判断key值与接收对象对应的实体属性是否一致;
本实施例中,判断map对象中的key值与目标规则中接收对象的属性是否一致。
本发明实施例使用由map对象代替class类文件,不需要强制分发到客户端,减少客户端负担以及系统复杂度。只要key值和接收对象的属性名一致即可通过map类型接收。
511、若一致,则将key值对应的value值传入目标规则并执行,以实现对客户端中的规则进行更改。
本实施例中,若map对象中的key值与目标规则中接收对象的属性一致,则将key值对应的value值传入目标规则并根据该目标规则对应的执行方法,确定规则中每个条件的执行结果及规则的执行结果,根据规则中各个条件的执行顺序,依次执行各个条件,得到对应的执行结果。
本实施例中步骤501-505与第一实施例中的步骤101-105类似,此处不再赘述。
本发明实施例在上一实施例基础上,增加本系统中客户端对生成的新的规则集同步更新存储的详细过程,分别对目标规则进行解析,得到目标规则对应的接收对象并判断key值与接收对象对应的实体属性是否一致,若是,则将key值对应的value值传入目标规则并执行。本方案属于人工智能领域,通过本方案能够推动社会进步和发展,规则引擎的整体架构管理端和客户端解耦合,管理端的规则配置更加简单易用,规则的发布无需强依赖于class类文件,可将规则动态发布至对应客户端,提高了规则发布效率。
上面对本发明实施例中数据动态发布方法进行了描述,下面对本发明实施例中数据动态发布装置进行描述,请参阅图6,本发明数据动态发布装置的第一个实施例包括:
获取模块601,用于获取用户输入的规则配置信息;
生成模块602,用于基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号;
查询模块603,用于采集各客户端的IP信息,并基于所述客户端的IP信息,向所述客户端发起心跳检测,查询所述客户端中所述服务对应的多个第二规则集的版本号;
判断模块604,用于判断同一服务对应的所述第一规则集的版本号是否大于所述第二规则集的版本号;
更改模块605,用于若是,则通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端,以供所述客户端动态更改对应服务的第二规则集。
本发明实施例中,通过获取用户输入的规则配置信息,并基于预置规则模板,生成不同服务对应的多条规则,得到对应多个第一规则集和规则集的版本号;根据客户端的IP信息,向客户端发起心跳检测以获取客户端中各服务对应的多个第二规则集的版本号;判断同一服务对应的第一规则集的版本号是否大于第二规则集的版本号,若是,则将第一规则集推送至客户端,以供客户端动态替换同一服务对应的第二规则集。本发明无需强依赖于class类文件即可将规则动态发布至对应客户端,提高了规则发布效率。需要强调的是,为进一步保证上述规则集中各服务对应的多条规则的私密和安全性,上述各服务对应的多条规则还可以存储于一区块链的节点中。
请参阅图7,本发明数据动态发布装置的第二个实施例包括:
获取模块601,用于获取用户输入的规则配置信息;
生成模块602,用于基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号;
查询模块603,用于采集各客户端的IP信息,并基于所述客户端的IP信息,向所述客户端发起心跳检测,查询所述客户端中所述服务对应的多个第二规则集的版本号;
判断模块604,用于判断同一服务对应的所述第一规则集的版本号是否大于所述第二规则集的版本号;
更改模块605,用于若是,则通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端,以供所述客户端动态更改对应服务的第二规则集;
可选地,所述获取模块601具体用于:
采集用户在数据发布界面上的触控操作,基于所述触控操作与实体领域之间的对应关系,确定用户所选择的实体领域;
根据所述实体领域,调取对应的规则配置页面,并显示与所述数据发布界面中,以供用户进行规则编辑;
解析编辑后的规则配置页面中各规则项目的编辑信息,得到与所述实体领域对应的规则配置信息。
可选地,所述生成模块602具体用于:
根据所述实体领域,从预置规则模板库中获取与所述规则配置信息对应的预置规则模板;
根据所述规则模板,生成所述规则配置信息对应的多个规则字符串,其中,所述规则模板中携带有基于规则条件确定对应规则结果的执行逻辑;
基于所述规则字符串,生成多个目标规则,得到对应第一规则集和所述第一规则集的版本号。
可选地,所述查询模块603包括:
判断单元6031,用于基于所述客户端的IP信息,向所述客户端发起心跳检测请求,所述心跳检测请求用于控制所述客户端返回心跳数据,以判断所述客户端的工作状态;
查询单元6032,用于当接收到所述客户端返回的心跳数据时,调用预置的规则查询指令,查询所述客户端在当前时刻所使用的第二规则集的版本号,其中,所述心跳数据为所述客户端根据所述心跳检测请求生成的所述客户端基于所述第二规则集产生的交互数据。
可选地,所述查询单元6032具体还用于:
接收所述客户端发送的第二心跳检测请求,并判断所述心跳数据中是否存在有效心跳数据;
若存在,则对所述心跳数据进行解析,提取所述客户端对外发送的多条心跳数据队列;
根据所述第二心跳检测请求对多条心跳数据队列进行筛选,确定所述客户端对应的目标心跳数据队列,并从所述目标心跳数据队列中提取出待消费心跳数据;
调用预置的规则查询指令,将所述规则查询指令写入所述待消费心跳数据中,并返回给所述客户端,查询所述客户端中所述服务对应的多个第二规则集的版本号。
如图8所示,本发明实施例还提供一种数据动态发布系统,用于实现上述实施例提供的数据动态发布方法,所述系统包括:
管理端701,用于获取用户输入的规则配置信息;基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号;采集各客户端702的IP信息,并基于各所述客户端702的IP信息,分别向对应的述客户端702发起心跳检测,查询客户端702中所述服务对应的多个第二规则集的版本号;判断同一服务对应的所述第一规则集的版本号是否大于所述第二规则集的版本号;若大于,则通过所述服务对应的客户端702的IP信息,将所述第一规则集推送至对应的客户端702;
客户端702,用于在接收到所述管理端701发送的第一规则集后,对其自身的IP信息进行解析,得到所述客户端702携带的map对象;获取所述map对象对应的key值,并基于所述key值确定对应的目标规则的编码;基于所述编码,从所述第一规则集中匹配与所述客户端702对应的目标规则;对所述目标规则进行解析,得到所述目标规则对应的接收对象;判断所述key值与所述接收对象对应的实体属性是否一致;若一致,则将所述key值对应的value值传入所述目标规则并执行,以实现对所述客户端702中的规则进行更改。
在本实施例中,所述管理端701具体采用上述实施例提供的数据动态发布装置的结构来实现,所述管理端701具体结构与如图5所示的相同,这里不再重复赘述。
在实际应用中,所述管理端701可以连接多个客户端702,比如,通过有线或无线等连接方式进行连接。管理端701向客户端702发起心跳检测请求,检测客户端702是否发生宕机,若无,则根据客户端702的IP信息,对客户端702进行解析,得到客户端702携带第二规则集的版本号,以判断客户端702携带的第二规则集是否为最新版本,若否,则将管理端701的第一规则集推送至对应客户端702。客户端702根据自身携带的map对象,根据map对象中携带的key值,确定客户端702对应规则的编码,根据规则的编码,从第一规则集中得到客户端702需要的目标规则。
本发明实施例中,通过获取用户输入的规则配置信息,并基于预置规则模板,生成不同服务对应的多条规则,得到对应多个第一规则集和规则集的版本号;根据客户端的IP信息,向客户端发起心跳检测以获取客户端中各服务对应的多个第二规则集的版本号;判断同一服务对应的第一规则集的版本号是否大于第二规则集的版本号,若是,则将第一规则集推送至客户端,以供客户端动态替换同一服务对应的第二规则集。本发明无需强依赖于class类文件即可将规则动态发布至对应客户端,提高了规则发布效率。需要强调的是,为进一步保证上述规则集中各服务对应的多条规则的私密和安全性,上述各服务对应的多条规则还可以存储于一区块链的节点中。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
上面图6和图7从模块化功能实体的角度对本发明实施例中的数据动态发布装置进行详细描述,下面从硬件处理的角度对本发明实施例中数据动态发布设备进行详细描述。
图9是本发明实施例提供的一种数据动态发布设备的结构示意图,该数据动态发布设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据动态发布设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在数据动态发布设备800上执行存储介质830中的一系列指令操作。
数据动态发布设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图9示出的数据动态发布设备结构并不构成对数据动态发布设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述各实施例提供的数据动态发布方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据动态发布方法,其特征在于,所述数据动态发布方法包括:
获取用户输入的规则配置信息;
基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号;
采集各客户端的IP信息,并基于所述客户端的IP信息,向所述客户端发起心跳检测,查询所述客户端中所述服务对应的多个第二规则集的版本号;
判断同一服务对应的所述第一规则集的版本号是否大于所述第二规则集的版本号;
若是,则通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端,以供所述客户端动态更改对应服务的第二规则集。
2.根据权利要求1所述的数据动态发布方法,其特征在于,所述获取用户输入的规则配置信息包括:
采集用户在数据发布界面上的触控操作,基于所述触控操作与实体领域之间的对应关系,确定用户所选择的实体领域;
根据所述实体领域,调取对应的规则配置页面,并显示与所述数据发布界面中,以供用户进行规则编辑;
解析编辑后的规则配置页面中各规则项目的编辑信息,得到与所述实体领域对应的规则配置信息。
3.根据权利要求1所述的数据动态发布方法,其特征在于,所述基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号包括:
根据所述实体领域,从预置规则模板库中获取与所述规则配置信息对应的预置规则模板;
根据所述规则模板,生成所述规则配置信息对应的多个规则字符串,其中,所述规则模板中携带有基于规则条件确定对应规则结果的执行逻辑;
基于所述规则字符串,生成多个目标规则,得到对应第一规则集和所述第一规则集的版本号。
4.根据权利要求1-3中任一项所述的数据动态发布方法,其特征在于,所述采集各客户端的IP信息,并基于所述客户端的IP信息,向所述客户端发起心跳检测,查询所述客户端中所述服务对应的多个第二规则集的版本号包括:
基于所述客户端的IP信息,向所述客户端发起心跳检测请求,所述心跳检测请求用于控制所述客户端返回心跳数据,以判断所述客户端的工作状态;
当接收到所述客户端返回的心跳数据时,调用预置的规则查询指令,查询所述客户端在当前时刻所使用的第二规则集的版本号,其中,所述心跳数据为所述客户端根据所述心跳检测请求生成的所述客户端基于所述第二规则集产生的交互数据。
5.根据权利要求4所述的数据动态发布方法,其特征在于,所述当接收到所述客户端返回的心跳数据时,调用预置的规则查询指令,查询所述客户端在当前时刻所使用的第二规则集的版本号包括:
接收所述客户端发送的第二心跳检测请求,并判断所述心跳数据中是否存在有效心跳数据;
若存在,则对所述心跳数据进行解析,提取所述客户端对外发送的多条心跳数据队列;
根据所述第二心跳检测请求对多条心跳数据队列进行筛选,确定所述客户端对应的目标心跳数据队列,并从所述目标心跳数据队列中提取出待消费心跳数据;
调用预置的规则查询指令,将所述规则查询指令写入所述待消费心跳数据中,并返回给所述客户端,查询所述客户端中所述服务对应的多个第二规则集的版本号。
6.一种数据动态发布方法,其特征在于,所述数据动态发布方法包括:
获取用户输入的规则配置信息;
基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号;
采集各客户端的IP信息,并基于所述客户端的IP信息,向所述客户端发起心跳检测,查询所述客户端中所述服务对应的多个第二规则集的版本号;
判断同一服务对应的所述第一规则集的版本号是否大于所述第二规则集的版本号;
若是,则通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端;
对所述客户端的IP信息进行解析,得到所述客户端携带的map对象;
获取所述map对象对应的key值,并基于所述key值确定对应的目标规则的编码;
基于所述编码,从所述第一规则集中匹配与所述客户端对应的目标规则;
对所述目标规则进行解析,得到所述目标规则对应的接收对象;
判断所述key值与所述接收对象对应的实体属性是否一致;
若一致,则将所述key值对应的value值传入所述目标规则并执行,以实现对所述客户端中的规则进行更改。
7.一种数据动态发布装置,其特征在于,所述数据动态发布装置包括:
获取模块,用于获取用户输入的规则配置信息;
生成模块,用于基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号;
查询模块,用于采集各客户端的IP信息,并基于所述客户端的IP信息,向所述客户端发起心跳检测,查询所述客户端中所述服务对应的多个第二规则集的版本号;
判断模块,用于判断同一服务对应的所述第一规则集的版本号是否大于所述第二规则集的版本号;
更改模块,用于当所述第一规则集的版本号大于所述第二规则集的版本号时,通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端,以供所述客户端动态更改对应服务的第二规则集。
8.一种数据动态发布系统,其特征在于,所述数据动态发布系统包括:管理端和至少一个客户端;
所述管理端,用于获取用户输入的规则配置信息;基于预置规则模板与所述规则配置信息,生成服务对应的多条规则,得到所述服务对应的多个第一规则集和所述第一规则集的版本号;采集各客户端的IP信息,并基于各所述客户端的IP信息,分别向对应的述客户端发起心跳检测,查询客户端中所述服务对应的多个第二规则集的版本号;判断同一服务对应的所述第一规则集的版本号是否大于所述第二规则集的版本号;若大于,则通过所述服务对应的客户端的IP信息,将所述第一规则集推送至对应的客户端;
所述客户端,用于在接收到所述管理端发送的第一规则集后,对其自身的IP信息进行解析,得到所述客户端携带的map对象;获取所述map对象对应的key值,并基于所述key值确定对应的目标规则的编码;基于所述编码,从所述第一规则集中匹配与所述客户端对应的目标规则;对所述目标规则进行解析,得到所述目标规则对应的接收对象;判断所述key值与所述接收对象对应的实体属性是否一致;若一致,则将所述key值对应的value值传入所述目标规则并执行,以实现对所述客户端中的规则进行更改。
9.一种数据动态发布设备,其特征在于,所述数据动态发布设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据动态发布设备执行如权利要求1-5中任一项所述的数据动态发布方法;
或者,所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据动态发布设备执行如权利要求6所述的数据动态发布方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的数据动态发布方法;
或者,所述计算机程序被处理器执行时实现如权利要求6所述的数据动态发布方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615468.7A CN111782262B (zh) | 2020-06-30 | 2020-06-30 | 数据动态发布方法、装置、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615468.7A CN111782262B (zh) | 2020-06-30 | 2020-06-30 | 数据动态发布方法、装置、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782262A true CN111782262A (zh) | 2020-10-16 |
CN111782262B CN111782262B (zh) | 2024-05-14 |
Family
ID=72760867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010615468.7A Active CN111782262B (zh) | 2020-06-30 | 2020-06-30 | 数据动态发布方法、装置、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782262B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113435731A (zh) * | 2021-06-23 | 2021-09-24 | 成都房联云码科技有限公司 | 一种住房保障动态监管系统 |
CN113656139A (zh) * | 2021-08-27 | 2021-11-16 | 上海云轴信息科技有限公司 | 一种界面的规则添加方法及设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040249720A1 (en) * | 2003-05-12 | 2004-12-09 | Wookey Michael J. | Dynamic rule deployment for a scaleable services rule engine |
CN103793223A (zh) * | 2013-12-27 | 2014-05-14 | 远光软件股份有限公司 | 一种规则创建方法及系统 |
WO2015130763A1 (en) * | 2014-02-28 | 2015-09-03 | Travelpiece Craig | Rules engine combined with message routing |
CN107632842A (zh) * | 2017-09-26 | 2018-01-26 | 携程旅游信息技术(上海)有限公司 | 规则配置和发布方法、系统、设备及存储介质 |
CN109284106A (zh) * | 2018-07-18 | 2019-01-29 | 平安科技(深圳)有限公司 | 业务规则的发布管理方法、电子装置及可读存储介质 |
CN109783107A (zh) * | 2019-01-10 | 2019-05-21 | 深圳市小赢信息技术有限责任公司 | 一种可视化的规则生成方法、装置及电子设备 |
CN110008081A (zh) * | 2019-02-21 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种交互数据处理方法及装置 |
CN110162333A (zh) * | 2019-05-10 | 2019-08-23 | 中信银行股份有限公司 | 基于Drools规则引擎的多业务场景策略管理平台 |
CN110442341A (zh) * | 2019-07-23 | 2019-11-12 | 平安国际智慧城市科技股份有限公司 | 应用程序的界面配置方法、装置及终端设备 |
CN110764913A (zh) * | 2019-10-28 | 2020-02-07 | 卫盈联信息技术(深圳)有限公司 | 基于规则调用的数据计算方法、客户端及可读存储介质 |
CN110941419A (zh) * | 2019-11-27 | 2020-03-31 | 北京天元创新科技有限公司 | 一种基于规则引擎的运营配置实现方法及系统 |
-
2020
- 2020-06-30 CN CN202010615468.7A patent/CN111782262B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040249720A1 (en) * | 2003-05-12 | 2004-12-09 | Wookey Michael J. | Dynamic rule deployment for a scaleable services rule engine |
CN103793223A (zh) * | 2013-12-27 | 2014-05-14 | 远光软件股份有限公司 | 一种规则创建方法及系统 |
WO2015130763A1 (en) * | 2014-02-28 | 2015-09-03 | Travelpiece Craig | Rules engine combined with message routing |
CN107632842A (zh) * | 2017-09-26 | 2018-01-26 | 携程旅游信息技术(上海)有限公司 | 规则配置和发布方法、系统、设备及存储介质 |
CN109284106A (zh) * | 2018-07-18 | 2019-01-29 | 平安科技(深圳)有限公司 | 业务规则的发布管理方法、电子装置及可读存储介质 |
CN109783107A (zh) * | 2019-01-10 | 2019-05-21 | 深圳市小赢信息技术有限责任公司 | 一种可视化的规则生成方法、装置及电子设备 |
CN110008081A (zh) * | 2019-02-21 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种交互数据处理方法及装置 |
CN110162333A (zh) * | 2019-05-10 | 2019-08-23 | 中信银行股份有限公司 | 基于Drools规则引擎的多业务场景策略管理平台 |
CN110442341A (zh) * | 2019-07-23 | 2019-11-12 | 平安国际智慧城市科技股份有限公司 | 应用程序的界面配置方法、装置及终端设备 |
CN110764913A (zh) * | 2019-10-28 | 2020-02-07 | 卫盈联信息技术(深圳)有限公司 | 基于规则调用的数据计算方法、客户端及可读存储介质 |
CN110941419A (zh) * | 2019-11-27 | 2020-03-31 | 北京天元创新科技有限公司 | 一种基于规则引擎的运营配置实现方法及系统 |
Non-Patent Citations (2)
Title |
---|
DARIJO RACA等: "Sizing Network Buffers: An HTTP Adaptive Streaming Perspective", 《2016 IEEE 4TH INTERNATIONAL CONFERENCE ON FUTURE INTERNET OF THINGS AND CLOUD WORKSHOPS (FICLOUDW)》, 8 October 2016 (2016-10-08), pages 369 * |
乔文娟: "数据服务平台的设计与实现", 《CNKI优秀硕士学位论文全文库 信息科技辑》, no. 01, 15 January 2020 (2020-01-15), pages 138 - 392 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113435731A (zh) * | 2021-06-23 | 2021-09-24 | 成都房联云码科技有限公司 | 一种住房保障动态监管系统 |
CN113435731B (zh) * | 2021-06-23 | 2022-07-01 | 成都房联云码科技有限公司 | 一种住房保障动态监管系统 |
CN113656139A (zh) * | 2021-08-27 | 2021-11-16 | 上海云轴信息科技有限公司 | 一种界面的规则添加方法及设备 |
CN113656139B (zh) * | 2021-08-27 | 2024-06-04 | 上海云轴信息科技有限公司 | 一种界面的规则添加方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111782262B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Klusch | Intelligent information agents: agent-based information discovery and management on the Internet | |
EP1760588B1 (en) | Event-based coordination of process-oriented composite applications | |
Gao et al. | SDTIOA: modeling the timed privacy requirements of IoT service composition: a user interaction perspective for automatic transformation from BPEL to timed automata | |
US20170337095A1 (en) | Service based information technology platform | |
US9020949B2 (en) | Method and system for centralized issue tracking | |
US20030229884A1 (en) | Interaction manager template | |
US20070150075A1 (en) | Process model transformation for event-based coordination of composite applications | |
WO2005111850A2 (en) | End-user application customization using rules | |
WO2002017183A2 (en) | System and method for analysing a transactional monitoring system | |
SG191557A1 (en) | Methods and systems for service discovery and selection | |
US11665247B2 (en) | Resource discovery agent computing device, software application, and method | |
CN111782262B (zh) | 数据动态发布方法、装置、系统、设备及存储介质 | |
Zimmermann et al. | Interface responsibility patterns: processing resources and operation responsibilities | |
EP1189160A1 (en) | Method and system for transforming session data | |
Alagar et al. | A framework for developing context-aware systems | |
CN113360210A (zh) | 数据对账方法、装置、计算机设备和存储介质 | |
US20120078967A1 (en) | Integration of a Framework Application and a Task Database | |
EP1730684A1 (en) | Distributed computer | |
Farsi et al. | QoS-aware framework for performance enhancement of SOA in enterprise IT environments | |
CN100543673C (zh) | 一种基于本体的反射式体系结构自演化方法 | |
De Nicola et al. | A formal approach to the engineering of domain-specific distributed systems | |
Alonso et al. | Processes in electronic commerce | |
Mondal et al. | Choosing a middleware for web-integration of a legacy application | |
Raj et al. | QoWS analysis for web service selection using WS monitoring tool | |
Ye et al. | Middleware support for internetware: a service perspective |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210220 Address after: Room 201, building a, No.1 Qianwan 1st Road, Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong Province (settled in Shenzhen Qianhai business secretary Co., Ltd.) Applicant after: Shenzhen saiante Technology Service Co.,Ltd. Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000 Applicant before: Ping An International Smart City Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |