CN110851159A - 业务规则更新方法、装置、计算机设备和存储介质 - Google Patents

业务规则更新方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110851159A
CN110851159A CN201911050248.8A CN201911050248A CN110851159A CN 110851159 A CN110851159 A CN 110851159A CN 201911050248 A CN201911050248 A CN 201911050248A CN 110851159 A CN110851159 A CN 110851159A
Authority
CN
China
Prior art keywords
rule
updated
code
version
updating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911050248.8A
Other languages
English (en)
Other versions
CN110851159B (zh
Inventor
叶海宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dasou Vehicle Software Technology Co Ltd
Original Assignee
Zhejiang Dasou Vehicle Software Technology 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 Zhejiang Dasou Vehicle Software Technology Co Ltd filed Critical Zhejiang Dasou Vehicle Software Technology Co Ltd
Priority to CN201911050248.8A priority Critical patent/CN110851159B/zh
Publication of CN110851159A publication Critical patent/CN110851159A/zh
Application granted granted Critical
Publication of CN110851159B publication Critical patent/CN110851159B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)

Abstract

本发明涉及一种业务规则更新方法、装置、计算机设备和存储介质,所述方法包括:当监听到分布式服务组件接收到的规则版本发生变化时,接收所述分布式服务组件发出的业务场景下至少一个规则对应的规则更新消息;根据所述规则更新消息获取更新后的规则所对应的更新后的规则代码,将所述更新后的规则代码缓存到数据库;利用所述更新后的规则代码对内存进行更新,通过在内存中调用所述更新后的规则代码执行更新后的规则。采用本方法使得业务系统能够快速的自动更新业务规则代码,节省人工更新代码中不必要的操作环节。

Description

业务规则更新方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种业务规则更新方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,业务系统提供了各种业务功能。业务功能通过业务规则的代码可以实现。
在传统方式中,业务系统经常需要变更业务规则。有时候只是一个小的业务规则的变化,也需要经过完整的人工操作的流程,给开发人员增加了不必要的工作,降低了业务规则的更新效率。因此,如何减不必要的人工工作,提高业务规则更新效率成为目前需要解决的一个技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少不必要的人工工作,提高业务规则更新效率的业务规则更新方法、装置、计算机设备和存储介质。
一种业务规则更新方法,所述方法包括:
当监听到分布式服务组件接收到的规则版本发生变化时,接收所述分布式服务组件发出的业务场景下至少一个规则对应的规则更新消息;
根据所述规则更新消息获取更新后的规则所对应的更新后的规则代码,将所述更新后的规则代码缓存到数据库;
利用所述更新后的规则代码对内存进行更新,通过在内存中调用所述更新后的规则代码执行更新后的规则。
在其中一个实施例中,所述分布式服务组件包括Zookeeper,所述方法还包括:
通过页面代码编辑器接收更新后的规则代码,存入数据库;
将所述更新后的规则代码对应的规则版本设置为当前使用版本;
将所述Zookeeper中将更新前的规则版本变更为所述当前使用版本。
在其中一个实施例中,所述通过页面代码编辑器接收更新后的规则代码后,所述方法还包括:
接收测试请求,对所述测试请求返回测试页面;
接收所述测试页面中的测试参数,执行所述测试请求;
当所述执行测试请求的返回值和预期结果一致,保存所述更新后的规则代码至数据库。
在其中一个实施例中,所述根据所述规则更新消息获取更新后的规则所对应的更新后的规则代码包括:
在所述规则更新消息中提取与所述更新后的规则对应的场景标识、版本标识;所述版本标识为当前使用版本;
根据所述场景标识、所述当前使用版本获取所述更新后的规则代码。
在其中一个实施例中,所述方法还包括:
当所述更新后的规则代码在执行过程中出现异常时,获取更新前的规则代码对应的可用版本;
从当前使用版本回退至更新前的规则代码对应的可用版本。
在其中一个实施例中,所述方法还包括:
当接收到业务请求时,根据所述业务请求执行更新后的规则代码所对应的业务场景;
通过业务系统调用更新后的规则代码执行所述业务请求;
根据所述业务方请求中包含的场景标识,规则标识匹配到终端提供的相应的业务场景调用接口;
当所述业务方调用并执行相应的业务场景时,所述业务系统通过规则引擎解析相应的规则代码,执行所述规则对应的业务场景;
对所述业务场景所对应的规则调用次数进行统计。
一种业务规则更新装置,所述装置包括:
接收模块,用于当监听到分布式服务组件接收到的规则版本发生变化时,接收所述分布式服务组件发出的业务场景下至少一个规则对应的规则更新消息;
更新模块,用于根据所述规则更新消息获取更新后的规则所对应的更新后的规则代码,将所述更新后的规则代码缓存到本地磁盘;
调用模块,用于利用所述更新后的规则代码对内存进行更新,通过在内存中调用所述更新后的规则代码执行更新后的规则。
在其中一个实施例中,所述接收模块还用于通过页面代码编辑器接收更新后的规则代码,存入数据库;所述更新模块还用于将所述更新后的规则代码对应的规则版本设置为当前使用版本;将所述Zookeeper中更新前的规则版本变更为所述当前使用版本。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序以实现以下步骤:
当监听到分布式服务组件接收到的规则版本发生变化时,接收所述分布式服务组件发出的业务场景下至少一个规则对应的规则更新消息;
根据所述规则更新消息获取更新后的规则所对应的更新后的规则代码,将所述更新后的规则代码缓存到数据库;
利用所述更新后的规则代码对内存进行更新,通过在内存中调用所述更新后的规则代码执行更新后的规则。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当监听到分布式服务组件接收到的规则版本发生变化时,接收所述分布式服务组件发出的业务场景下至少一个规则对应的规则更新消息;
根据所述规则更新消息获取更新后的规则所对应的更新后的规则代码,将所述更新后的规则代码缓存到数据库;
利用所述更新后的规则代码对内存进行更新,通过在内存中调用所述更新后的规则代码执行更新后的规则。
上述规则更新方法、装置、计算机设备和存储介质,通过对分布式服务组件接收的数据进行监听,当监听到分布式服务组件接收到的规则发生变化时,接收所述分布式服务组件发出的业务场景下至少一个规则对应的规则更新消息。如果业务场景下有多条规则更新,可以接收到多个业务规则更新消息。根据所述规则更新消息获取更新后的规则代码,将所述更新后的规则代码缓存到本地磁盘。通过在内存中调用所述更新后的规则代码执行更新后的规则。由此,通过分布式服务组件来通知场景标识、规则标识的变更到业务系统,这样使得规则的变化全都由系统触发而自动更新,从而快速实现了业务系统中规则代码的自动更新,提高了规则的更新效率。
附图说明
图1为一个实施例中规则更新方法的应用环境图;
图2为一个实施例中规则更新方法的流程图;
图3为一个实施例中规则更新过程的示意图;
图4为一个实施例中规则更新装置的结构示意图;
图5为另一个实施例中规则更新装置的结构示意;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的业务规则更新方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104包括业务系统、分布式服务组件和消息中间件,分布式服务组件包括Zookeeper。业务系统与分布式服务组件保存长链接,并监听分布式服务组件中的数据变化,当监听到分布式服务组件中规则版本发生变化时,分布式服务组件将规则更新消息发送到业务系统。服务器104接收终端102发送的规则更新消息,并根据规则更新消息更新分布式服务组件中对应的场景标识、规则所对应的规则版本。分布式服务组件中有业务场景下规则版本发生变化,业务系统接收到分布式服务组件发送的规则更新消息,根据规则更新消息获取场景标识,规则所对应的规则版本,通过http(HyperText Transfer Protocol,超文本传输协议)请求获取终端102在页面编辑器更新后的规则代码。服务器104执行更新后的规则代码。实现了规则的自动更新。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种规则更新方法,以该方法应用于图1中的服务器为例进行说明,具体包括:
步骤202,当监听到分布式服务组件接收到的规则版本发生变化时,接收分布式服务组件发出的业务场景下至少一个规则对应的规则更新消息。
业务系统对分布式服务组件中的数据变化进行监听。当分布式服务组件接收到终端规则更新消息时,分布式服务组件获取规则更新消息中的场景标识、规则标识,根据场景标识将相应业务场景下规则标识对应的规则版本更新为规则更新消息中规则标识对应的规则版本。当业务系统监听到分布式服务组件中的规则版本发生变化时,分布式服务组件把业务场景下至少一个业务规则对应的规则更新消息发送至业务系统。
步骤204,根据规则更新消息获取更新后的规则所对应的更新后的规则代码,将更新后的规则代码缓存到本地磁盘。
分布式服务组件将规则更新消息发送到业务系统,业务系统获取规则更新消息中的场景标识、规则标识,根据场景标识、规则标识获取对应的更新后的规则版本。根据获取到的更新后的规则版本通过http请求从终端更新后的规则代码所对应的代码块中获取更新后的规则代码。
步骤206,利用更新后的规则代码对内存进行更新,通过在内存中调用更新后的规则代码执行更新后的规则。
当需要执行业务规则时,通过获取业务方的业务请求数据中包含的场景标识、规则标识,调用终端提供的相应接口就可执行相应的业务场景。当代码执行到对应的业务场景的时候,业务系统会通过规则引擎解析内存中保存的更新后的规则代码,并执行相应业务场景下更新后的规则代码。
在传统的方式,业务规则更新时,需要通过开发人员编写代码,人工对代码进行编译、测试以及发布。所有工作流程均由人工操作完成,给开发人员增加了不必要的工作,降低了业务规则的更新效率。
本实施例中,通过业务系统监听分布式服务组件的数据变化,当分布式服务组件中业务规则发生变化时,发送业务规则更新消息到业务系统,业务系统根据规则更新消息中的最新版本号通过http请求从规则平台管理后台获取最新的规则代码。并把最新规则代码保存到业务系统所在的本地磁盘中,同时更新业务系统所占用的内存中对应的规则代码。由此,通过规则更新消息的传送,使得业务系统自动更新规则代码到业务系统所在的本地磁盘中,并同时更新业务系统所占用的内存中对应的规则代码。节省了不必要的人工操作环节,提高业务规则更新效率。
在一个实施例中,分布式服务组件包括Zookeeper,该方法还包括:通过页面代码编辑器接收更新后的规则代码,存入数据库;将更新后的规则代码对应的规则版本设置为当前使用版本;将Zookeeper中更新前的规则版本变更为当前使用版本。
本实施例中,规则代码为已有代码,终端选择规则场景下需要修改更新的对应的规则代码,通过页面在线代码编辑器修改成相应业务逻辑的规则代码,将更新后的规则代码保存至数据库,同时生成新的规则版本并保存到数据库中。将更新后的规则代码对应的规则版本设置为当前使用版本,将Zookeeper中保存的更新前的规则版本变更为当前使用版本。通过页面代码编辑器编辑修改规则代码将更新的规则代码保存生成新版本,并保存到数据库,将新版本设置为当前使用版本后,将更新后的规则代码所对应的规则版本同步到Zookeeper中。由此,通过页面代码编辑器接收更新后的规则代码,将更新后的规则代码对应的新版本设置为当前使用版本,并同时更新Zookeeper中对应的规则版本信息,实现了规则版本信息的同步更新。
在另一个实施例中,规则代码为新增代码,终端通过新增创建一个业务场景,在业务场景下通过新增创建规则。其中,一个业务场景包含场景编码、场景名称、场景说明、规则等,一条规则包含规则编码、规则名称、规则说明、代码块等,代码块的填写采用CodeMirror(在线代码编辑器)编写。进一步的,一个业务场景可以支持多个相同逻辑的规则,并对多个规则进行优先级的排序。由此,通过对一个业务场景下的多个规则进行优先级的排序,实现了多个规则按优先级高低的合理使用。
在一个实施例中,通过页面代码编辑器接收更新后的规则代码后,该方法还包括:接收测试请求,对测试请求返回测试页面;接收测试页面中的测试参数,执行测试请求;当执行测试请求的返回值和预期结果一致,保存更新后的规则代码至数据库。
本实施例中,终端获取服务器返回的测试页面,在测试页面中输入测试参数,测试参数包括参数名和参数值等。服务器获取测试页面中输入的测试参数,根据测试参数执行相应的测试请求。服务器将测试结果返回测试页面,当测试页面中测试结果的返回值与预期结果一致,将更新后的规则代码保存到数据库。如果测试结果与预期结果不一致,则重新修改规则代码并进行测试。由此,通过服务器获取测试请求并测试、验证规则代码的执行结果,节省了不必要的工作环节,提高了规则代码更新后的测试效率,保证了规则代码更新后的准确性。
在另一个实施例中,还可以对规则代码进行批量测试,打开单元测试参数页面,填写批量测试的参数名、参数值、返回值。填写好批量测试所需的测试参数后执行测试,在单元测试参数页面中输出所有执行情况,当所有数据通过测试时,将更新后的规则代码保存至数据库。如果测试不通过,分析测试结果,定位出错的规则代码,并修改重测。由此,通过服务器进行批量测试,验证更新后的规则代码的执行结果,节省了不必要的工作,提高了规则代码的测试效率,保证规则代码更新后的准确率。
在一个实施例中,根据规则更新消息获取更新后的规则所对应的更新后的规则代码包括:在规则更新消息中提取与更新后的规则对应的场景标识、版本标识;版本标识为当前使用版本;根据场景标识、当前使用版本获取更新后的规则代码。
本实施例中,业务系统监听Zookeeper中的数据变化情况,当Zookeeper有规则版本更新变化时,Zookeeper将规则更新消息发送到业务系统,规则更新消息包含有场景标识、规则对应的版本标识,业务系统根据更新消息包含的场景标识、规则对应的版本标识获取更新后的规则版本通过http请求方式从终端获取更新后的规则代码。业务系统将获取到的规则更新消息对应的规则编码和当前使用版本对应的更新后的规则代码保存到业务系统所在的本地磁盘,并同时更新业务系统所占用的内存中对应的规则代码。由此,通过获取规则更新消息包含的场景标识、规则对应的版本标识来获取更新后的规则代码,并保存到业务系统对应的本地磁盘和内存中,通过Zookeeper来通知规则标识、场景标识的变更到各业务系统,使得规则的变化都由系统触发而自动更新,节省人工操作环节,提高了规则更新的效率。
以业务场景为考试分数转换为例对上述实施例进行说明。如图3所示,图3中包括更新前的规则代码302、更新后的规则代码304、更新前的规则版本信息306、更新后的规则版本信息308。其中,更新前的版本信息包括,场景编码:scene_score2chinese,规则编码:rule_score2chinese,规则版本:rule_2019070200000,当前使用版本:rule_2019070200000。更新后的版本信息包括,场景编码:scene_score2chinese,规则编码:rule_score2chinese,规则版本:rule_2019071600000,当前使用版本:rule_2019071600000。
具体的,将上述规则代码302修改后保存生成更新后的规则代码304,更新后的规则代码304生成新的规则版本rule_2019071600000,将修改后的规则代码保存到数据库。终端将新的规则版本rule_2019071600000设置为当前使用版本时,Zookeeper下路径为/scene/scene_score2chinese/rule_score2chinese的值由当前的rule_2019070200000修改为rule_2019071600000。由于Zookeeper中的当前使用版本的数据有变化,则监听Zookeeper数据变化的业务系统将会收到规则更新消息通知。业务系统根据规则更新消息中包含的场景标识、版本标识,从Zookeeper中获取场景编码为scene_score2chinese下规则编码为rule_score2chinese对应的最新版本rule_2019071600000,根据最新版本通过http请求从终端获取最新的规则代码。之后业务系统会将规则编码rule_score2chinese和当前使用版本rule_2019071600000的规则代码保存到业务系统所在的本地磁盘中,并同时更新业务系统所占用的内存中对应的规则代码。规则更新成功后,当执行规则时,执行的就是更新后的规则代码。
在另一个实施例中,业务系统规则代码的更新,还可以通过消息队列与http接口调用的方式实现。进入终端,选择规则场景下需要修改更新的对应的规则代码,通过页面在线代码编辑器编辑成需要的规则代码,把更新后的规则代码保存至数据库,同时生成新的规则版本并保存到数据库中。将更新后的规则代码对应的规则版本设置为当前使用版本。终端将规则更新消息发送到消息中间件,业务系统监听到消息中间件有新的消息,并通过消息中间件获取规则更新消息,从规则更新消息中提取场景标识,版本标识。根据场景标识,版本标识获取对应的规则版本,根据获取的规则版本通过http请求方式从终端获取规则版本对应的更新后的规则代码。业务系统将获取到的规则更新消息中规则标识对应的规则编码和当前使用版本对应的更新后的规则代码保存到业务系统所在的本地磁盘,并同时更新业务系统所占用的内存中对应的规则代码。由此,通过获取规则更新消息包含的场景标识、版本标识来获取更新后的规则代码,并保存到业务系统对应的本地磁盘和内存中,通过消息中间件接收终端发送的规则更新消息,并把规则更新消息转发到业务系统,使得规则的更新变化全部由系统触发而自动更新,节省人工操作环节,提高了规则更新的效率。
在一个实施例中,当更新后的规则代码在执行过程中出现异常时,获取更新前的规则代码对应的可用版本;从当前使用版本回退至更新前的规则代码对应的可用版本。
本实施例中,当业务系统在执行更新后的规则代码出现异常时,可在终端管理的规则版本中将更新前的可用版本设置为当前使用版本。进一步的,更新前的可用版本可以是多个历史版本中的任一可用版本。由此,通过规则的多版本控制,防止了编写规则出错只能再次修改的情况,实现了规则版本的灵活控制。
在一个实施例中,当接收到业务请求时,根据业务请求执行更新后的规则代码所对应的业务场景;通过业务系统调用更新后的规则代码执行业务请求;根据业务方请求中包含的场景标识,规则标识匹配到终端提供的相应的业务场景调用接口;当业务方调用并执行相应的业务场景时,业务系统通过规则引擎解析相应的规则代码,执行规则对应的业务场景;对业务场景所对应的规则调用次数进行统计。
本实施例中,当接收到业务方发送的业务请求时,根据业务请求中包含的场景标识,规则标识,匹配到终端提供的相应的业务场景的调用接口。当业务方调用到并执行相应的业务场景时,业务系统通过规则引擎解析相应的规则代码,执行业务场景下对应的规则代码。由此,通过规则引擎解析规则代码,使得业务方能够调用接口执行相应的场景。业务方请求调用成功后,终端对每个业务场景和业务场景所对应的规则的执行情况,保存到数据库中,对数据库中保存的数据进行统计。由此,通过对业务场景所对应的规则调用次数进行统计,方便终端对规则的管理。
在一个实施例中,如图4所示,提供了一种规则更新装置,包括:接收模块402,更新模块404,调用模块406,其中:
接收模块402,用于当监听到分布式服务组件接收到的规则版本发生变化时,接收分布式服务组件发出的业务场景下至少一个规则对应的规则更新消息。
更新模块404,用于根据规则更新消息获取更新后的规则所对应的更新后的规则代码,将更新后的规则代码缓存到数据库。
调用模块406,用于利用更新后的规则代码对内存进行更新,通过在内存中调用更新后的规则代码执行更新后的规则。
在一个实施例中,接收模块402还用于通过页面代码编辑器接收更新后的规则代码,存入数据库;更新模块404还用于将更新后的规则代码对应的规则版本设置为当前使用版本;将Zookeeper中更新前的规则版本变更为当前使用版本。
在一个实施例中,接收模块402还用于接收测试请求,对测试请求返回测试页面;接收测试页面中的测试参数,执行测试请求;更新模块404,还用于当执行测试请求的返回值和预期结果一致,保存更新后的规则代码至数据库。
在一个实施例中,接收模块402,还用于在规则更新消息中提取与更新后的规则对应的场景标识、版本标识;版本标识为当前使用版本;根据场景标识、当前使用版本获取更新后的规则代码。
在一个实施例中,接收模块402,还用于当更新后的规则代码在执行过程中出现异常时,获取更新前的规则代码对应的可用版本;从当前使用版本回退至更新前的规则代码对应的可用版本。
在一个实施例中,如图5所示,接收模块502还用于当接收到业务请求时,根据业务请求执行更新后的规则代码所对应的业务场景;调用模块506还用于通过业务系统调用更新后的规则代码执行业务请求;根据业务方请求中包含的场景标识,规则标识匹配到终端提供的相应的业务场景调用接口;该装置还包括:
执行模块508,用于当业务方调用并执行相应的业务场景时,业务系统通过规则引擎解析相应的规则代码,执行规则代码所对应的业务场景;统计模块510,用于对业务场景所对应的规则调用次数进行统计。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务规则更新方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例提供的业务规则更新方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种业务规则更新方法,所述方法包括:
当监听到分布式服务组件接收到的规则版本发生变化时,接收所述分布式服务组件发出的业务场景下至少一个规则对应的规则更新消息;
根据所述规则更新消息获取更新后的规则所对应的更新后的规则代码,将所述更新后的规则代码缓存到数据库;
利用所述更新后的规则代码对内存进行更新,通过在内存中调用所述更新后的规则代码执行更新后的规则。
2.根据权利要求1所述的方法,其特征在于,所述分布式服务组件包括Zookeeper,所述方法还包括:
通过页面代码编辑器接收更新后的规则代码,存入数据库;
将所述更新后的规则代码对应的规则版本设置为当前使用版本;
将所述Zookeeper中将更新前的规则版本变更为所述当前使用版本。
3.根据权利要求2所述的方法,其特征在于,所述通过页面代码编辑器接收更新后的规则代码后,所述方法还包括:
接收测试请求,对所述测试请求返回测试页面;
接收所述测试页面中的测试参数,执行所述测试请求;
当所述执行测试请求的返回值和预期结果一致,保存所述更新后的规则代码至数据库。
4.根据权利要求1所述的方法,其特征在于,所述根据所述规则更新消息获取更新后的规则所对应的更新后的规则代码包括:
在所述规则更新消息中提取与所述更新后的规则对应的场景标识、版本标识;所述版本标识为当前使用版本;
根据所述场景标识、所述当前使用版本获取所述更新后的规则代码。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述更新后的规则代码在执行过程中出现异常时,获取更新前的规则代码对应的可用版本;
从当前使用版本回退至更新前的规则代码对应的可用版本。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到业务请求时,根据所述业务请求执行更新后的规则代码所对应的业务场景;
通过业务系统调用更新后的规则代码执行所述业务请求;
根据所述业务方请求中包含的场景标识,规则标识匹配到终端提供的相应的业务场景调用接口;
当所述业务方调用并执行相应的业务场景时,所述业务系统通过规则引擎解析相应的规则代码,执行所述规则代码所对应的业务场景;
对所述业务场景所对应的规则调用次数进行统计。
7.一种业务规则更新装置,其特征在于,所述装置包括:
接收模块,用于当监听到分布式服务组件接收到的规则版本发生变化时,接收所述分布式服务组件发出的业务场景下至少一个规则对应的规则更新消息;
更新模块,用于根据所述规则更新消息获取更新后的规则所对应的更新后的规则代码,将所述更新后的规则代码缓存到数据库;
调用模块,用于利用所述更新后的规则代码对内存进行更新,通过在内存中调用所述更新后的规则代码执行更新后的规则。
8.根据权利要求7所述的装置,其特征在于,所述接收模块还用于通过页面代码编辑器接收更新后的规则代码,存入数据库;所述更新模块还用于将所述更新后的规则代码对应的规则版本设置为当前使用版本;将所述Zookeeper中更新前的规则版本变更为所述当前使用版本。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201911050248.8A 2019-10-31 2019-10-31 业务规则更新方法、装置、计算机设备和存储介质 Active CN110851159B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911050248.8A CN110851159B (zh) 2019-10-31 2019-10-31 业务规则更新方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911050248.8A CN110851159B (zh) 2019-10-31 2019-10-31 业务规则更新方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110851159A true CN110851159A (zh) 2020-02-28
CN110851159B CN110851159B (zh) 2023-01-10

Family

ID=69599569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911050248.8A Active CN110851159B (zh) 2019-10-31 2019-10-31 业务规则更新方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110851159B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000350A (zh) * 2020-07-29 2020-11-27 新华三大数据技术有限公司 一种动态规则更新方法、装置及存储介质
CN112596758A (zh) * 2020-11-30 2021-04-02 新华三大数据技术有限公司 一种OSDMap的版本更新方法、装置、设备和介质
CN112799951A (zh) * 2021-02-04 2021-05-14 上海云轴信息科技有限公司 用于计费系统的生成自动测试用例的方法与设备
CN113342918A (zh) * 2021-08-02 2021-09-03 四川省林业和草原调查规划院 森林资源一张图质检逻辑规则更新方法、系统及云平台
CN113554414A (zh) * 2021-07-05 2021-10-26 金蝶软件(中国)有限公司 业务规则更新方法、装置、计算机设备和存储介质
CN113641690A (zh) * 2021-08-10 2021-11-12 南威软件股份有限公司 一种跨应用缓存更新方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150365308A1 (en) * 2014-06-13 2015-12-17 International Business Machines Corporation Automatic transformation of messages between service versions
CN106899666A (zh) * 2017-02-21 2017-06-27 阿里巴巴集团控股有限公司 一种针对业务标识的数据处理方法及装置
CN107180338A (zh) * 2017-05-22 2017-09-19 深圳市小牛在线互联网信息咨询有限公司 业务执行方法、装置、存储介质及计算机设备
US20170322777A1 (en) * 2013-10-16 2017-11-09 Jpmorgan Chase Bank, N.A. Presentation Oriented Rules-based Technical Architecture Display Framework
CN107632842A (zh) * 2017-09-26 2018-01-26 携程旅游信息技术(上海)有限公司 规则配置和发布方法、系统、设备及存储介质
CN109325058A (zh) * 2018-09-03 2019-02-12 中国平安人寿保险股份有限公司 规则批量比对方法、装置、计算机设备和存储介质
CN109358874A (zh) * 2018-09-26 2019-02-19 中国平安人寿保险股份有限公司 业务规则更新方法、装置、计算机设备和存储介质
CN109766124A (zh) * 2018-12-26 2019-05-17 深圳左邻永佳科技有限公司 业务开发方法、装置、计算机设备和存储介质
CN109787882A (zh) * 2018-12-28 2019-05-21 广东益萃网络科技有限公司 消息推送方法、装置、计算机设备及存储介质
CN109918079A (zh) * 2019-01-31 2019-06-21 平安科技(深圳)有限公司 规则引擎系统的规则更新方法、装置和计算机设备
CN110297620A (zh) * 2019-05-17 2019-10-01 苏宁易购集团股份有限公司 一种基于Drools的动态规则维护和生成的方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170322777A1 (en) * 2013-10-16 2017-11-09 Jpmorgan Chase Bank, N.A. Presentation Oriented Rules-based Technical Architecture Display Framework
US20150365308A1 (en) * 2014-06-13 2015-12-17 International Business Machines Corporation Automatic transformation of messages between service versions
CN106899666A (zh) * 2017-02-21 2017-06-27 阿里巴巴集团控股有限公司 一种针对业务标识的数据处理方法及装置
CN107180338A (zh) * 2017-05-22 2017-09-19 深圳市小牛在线互联网信息咨询有限公司 业务执行方法、装置、存储介质及计算机设备
CN107632842A (zh) * 2017-09-26 2018-01-26 携程旅游信息技术(上海)有限公司 规则配置和发布方法、系统、设备及存储介质
CN109325058A (zh) * 2018-09-03 2019-02-12 中国平安人寿保险股份有限公司 规则批量比对方法、装置、计算机设备和存储介质
CN109358874A (zh) * 2018-09-26 2019-02-19 中国平安人寿保险股份有限公司 业务规则更新方法、装置、计算机设备和存储介质
CN109766124A (zh) * 2018-12-26 2019-05-17 深圳左邻永佳科技有限公司 业务开发方法、装置、计算机设备和存储介质
CN109787882A (zh) * 2018-12-28 2019-05-21 广东益萃网络科技有限公司 消息推送方法、装置、计算机设备及存储介质
CN109918079A (zh) * 2019-01-31 2019-06-21 平安科技(深圳)有限公司 规则引擎系统的规则更新方法、装置和计算机设备
CN110297620A (zh) * 2019-05-17 2019-10-01 苏宁易购集团股份有限公司 一种基于Drools的动态规则维护和生成的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000350A (zh) * 2020-07-29 2020-11-27 新华三大数据技术有限公司 一种动态规则更新方法、装置及存储介质
CN112596758A (zh) * 2020-11-30 2021-04-02 新华三大数据技术有限公司 一种OSDMap的版本更新方法、装置、设备和介质
CN112596758B (zh) * 2020-11-30 2022-08-30 新华三大数据技术有限公司 一种OSDMap的版本更新方法、装置、设备和介质
CN112799951A (zh) * 2021-02-04 2021-05-14 上海云轴信息科技有限公司 用于计费系统的生成自动测试用例的方法与设备
CN113554414A (zh) * 2021-07-05 2021-10-26 金蝶软件(中国)有限公司 业务规则更新方法、装置、计算机设备和存储介质
CN113342918A (zh) * 2021-08-02 2021-09-03 四川省林业和草原调查规划院 森林资源一张图质检逻辑规则更新方法、系统及云平台
CN113342918B (zh) * 2021-08-02 2021-11-02 四川省林业和草原调查规划院 森林资源一张图质检逻辑规则更新方法、系统及云平台
CN113641690A (zh) * 2021-08-10 2021-11-12 南威软件股份有限公司 一种跨应用缓存更新方法
CN113641690B (zh) * 2021-08-10 2023-10-27 南威软件股份有限公司 一种跨应用缓存更新方法

Also Published As

Publication number Publication date
CN110851159B (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
CN110851159B (zh) 业务规则更新方法、装置、计算机设备和存储介质
CN109474578B (zh) 报文消息校验方法、装置、计算机设备和存储介质
CN109062788B (zh) 测试用例生成方法、装置、计算机设备和存储介质
CN111193609B (zh) 应用异常的反馈方法、装置及应用异常的监控系统
CN109408371A (zh) 软件缺陷分析录入方法、装置、计算机设备和存储介质
CN109992473B (zh) 应用系统的监控方法、装置、设备及存储介质
US10397281B2 (en) Method, system and server for self-healing of electronic apparatus
CN110928653A (zh) 跨集群任务的执行方法、装置、计算机设备和存储介质
CN112181423B (zh) 基于配置文件的项目构建方法、装置、计算机设备及介质
CN111782519A (zh) 测试方法、装置和电子设备
CN112631686A (zh) 数据处理方法、装置、计算机设备和存储介质
CN114936136A (zh) 业务流程监控方法、装置、计算机设备及存储介质
CN110674028A (zh) 故障注入方法及其装置、业务服务系统
CN112035186A (zh) H5页面的预加载及跳转方法、装置、设备及介质
CN111797026A (zh) 测试用例生成方法、装置、计算机设备及存储介质
CN112527600A (zh) 监控日志处理方法、装置、设备及存储介质
CN110727581A (zh) 崩溃定位方法与电子设备
CN112100078A (zh) 一种生成接口测试用例的方法、装置及设备
CN110750443A (zh) 网页测试的方法、装置、计算机设备及存储介质
CN110737548B (zh) 数据请求方法和服务器
CN111416857A (zh) 客户端崩溃处理方法、装置、系统、设备和存储介质
CN112637085B (zh) 流量录制方法、装置、计算机设备和存储介质
CN114610413A (zh) 基于Java的同异步任务的执行方法、装置、设备及存储介质
CN110737426B (zh) 程序块创建方法、装置、计算机设备和存储介质
CN110166528B (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