CN107330604A - 机票风控规则的管理方法及系统 - Google Patents

机票风控规则的管理方法及系统 Download PDF

Info

Publication number
CN107330604A
CN107330604A CN201710495788.1A CN201710495788A CN107330604A CN 107330604 A CN107330604 A CN 107330604A CN 201710495788 A CN201710495788 A CN 201710495788A CN 107330604 A CN107330604 A CN 107330604A
Authority
CN
China
Prior art keywords
rule file
database
rule
groovy
version information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710495788.1A
Other languages
English (en)
Inventor
李文广
尹胜
赖飞
唐亚明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ctrip Travel Network Technology Shanghai Co Ltd
Original Assignee
Ctrip Travel Network Technology Shanghai 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 Ctrip Travel Network Technology Shanghai Co Ltd filed Critical Ctrip Travel Network Technology Shanghai Co Ltd
Priority to CN201710495788.1A priority Critical patent/CN107330604A/zh
Publication of CN107330604A publication Critical patent/CN107330604A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0635Risk analysis of enterprise or organisation activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种机票风控规则的管理方法及系统,所述管理方法包括:S1、更新数据库中规则文件,所述规则文件的内容包含机票风控规则,所述规则文件的类型为Groovy文件;S2、接收外部请求信息,从所述数据库中获取所述外部请求信息对应的规则文件;S3、调用Groovy引擎,执行所述对应的规则文件。本发明利用Groovy动态语言的特征,将风控规则中复杂的逻辑进行数据库配置化,通过数据库中Groovy文件版本的变化,动态获取以及执行数据库中的Groovy文件,从而让规则逻辑的修改能够快速更新、测试以及部署,降低发布的风险,提高产品的迭代速度,同时应用缓存技术,降低因使用动态语言带来的性能降低的影响。

Description

机票风控规则的管理方法及系统
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种机票风控规则的管理方法及系统。
背景技术
现在越来越多的人通过网络定购机票,很多机票定购网站制定风控规则实现对机票的管理,现有的风控系统中,为了适应不同的业务变化,通常采取重新发布规则系统的方法或者改变简单阈值的配置系统方法。
现在的风控规则在产品根据经验归纳总结的情况下,风控规则的频繁变换在所难免,重新发布系统对生产线而言风险较大,同时配置系统修改的值只是一些简单的阈值,无法应对风控规则的频繁变化。
发明内容
本发明要解决的技术问题是为了克服现有技术中应对风控规则的频繁变化,重新发布系统对生产线而言风险较大的缺陷,提供一种机票风控规则的管理方法及系统。
本发明是通过下述技术方案来解决上述技术问题:
一种机票风控规则的管理方法,所述管理方法包括:
S1、更新数据库中规则文件,所述规则文件的内容包含机票风控规则,所述规则文件的类型为Groovy文件;
S2、接收外部请求信息,从所述数据库中获取所述外部请求信息对应的规则文件;
S3、调用Groovy引擎,执行所述对应的规则文件。
较佳地,步骤S2包括:
S21、保存所述数据库中的规则文件至本地;
S22、接收外部请求信息,从本地获取所述外部请求信息对应的规则文件。
较佳地,步骤S1还包括:
更新所述数据库中规则文件的版本信息;
步骤S21包括:
S211、保存所述数据库中的规则文件和所述规则文件对应的版本信息至本地;
S212、定期获取所述数据库中的版本信息,与本地版本信息作比较是否相同,若否,则保存所述数据库中的版本信息对应的规则文件至本地。
较佳地,步骤S3还包括:
将所述对应的规则文件缓存至内存。
一种机票风控规则的管理系统,所述管理系统包括数据库、更新模块、查询模块和执行模块;
所述数据库包括规则文件,所述规则文件的内容包含机票风控规则,所述规则文件的类型为Groovy文件;
所述更新模块用于更新所述数据库中规则文件;
所述查询模块用于接收外部请求信息,从所述数据库中获取所述外部请求信息对应的规则文件;
所述执行模块用于调用Groovy引擎,执行所述对应的规则文件。
较佳地,所述查询模块还用于保存所述数据库中的规则文件至本地,接收外部请求信息,从本地获取所述外部请求信息对应的规则文件。
较佳地,所述更新模块还用于更新所述数据库中规则文件的版本信息;
所述查询模块还用于保存所述数据库中的规则文件和所述规则文件对应的版本信息至本地,定期获取所述数据库中的版本信息,与本地版本信息作比较是否相同,若否,则保存所述数据库中的版本信息对应的规则文件至本地。
较佳地,所述执行模块还用于将所述对应的规则文件缓存至内存。
为了应对频繁变化的规则,本发明引入了Groovy(一种编程语言)这一动态语言,在不重新发规则的情况下,无缝地修改、增加和删除。
Groovy语言是在Java(一种编程语言)平台上的、具有像Python(一种编程语言)、Ruby(一种编程语言)和Smalltalk(一种编程语言)语言特性的灵活动态语言,Groovy保证了这些特性,并且可以像Java语法一样被Java开发者使用。Java虚拟机可以动态执行该Groovy文件,不需要Java语言的再编译、再部署,又能与Java语言的良好兼容,而且该语言与Java语言相似,减少了学习的成本,可以快速上手。
本发明的积极进步效果在于:
本发明利用Groovy动态语言的特征,将风控规则中复杂的逻辑进行数据库配置化,通过数据库中Groovy文件版本的变化,动态获取以及执行数据库中的Groovy文件,从而让规则逻辑的修改能够快速更新、测试以及部署,降低发布的风险,提高产品的迭代速度,同时应用缓存技术,降低因使用动态语言带来的性能降低的影响。
附图说明
图1为本发明实施例1的机票风控规则的管理方法的流程图。
图2为本发明实施例2的机票风控规则的管理方法的流程图。
图3为本发明实施例3的机票风控规则的管理方法的流程图。
图4为本发明实施例4的机票风控规则的管理系统的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例提供一种机票风控规则的管理方法,所述管理方法包括:
步骤101、更新数据库中规则文件,所述规则文件的内容包含机票风控规则,所述规则文件的类型为Groovy文件;
步骤102、接收外部请求信息,从所述数据库中获取所述外部请求信息对应的规则文件;
步骤103、调用Groovy引擎,执行所述对应的规则文件。
本实施例通过更新数据库中Groovy文件,根据外部请求信息动态获取以及执行数据库中的Groovy文件,从而让规则逻辑的修改能够快速更新、测试以及部署,降低发布的风险,提高产品的迭代速度。
实施例2
本实施例提供一种机票风控规则的管理方法,本实施例与实施例1相比,区别在于,如图2所示,本实施例的管理方法的步骤102包括:
步骤1021、保存所述数据库中的规则文件至本地;
步骤1022、接收外部请求信息,从本地获取所述外部请求信息对应的规则文件。
本实施例通过将数据库中的规则文件先保存在本地,当接收到外部请求信息时,从本地获取所述外部请求信息对应的规则文件,避免频繁操作数据库,减少与数据库交互时间,提高运行效率。
优选地,步骤103还包括:
将所述对应的规则文件缓存至内存。
调用Groovy引擎,执行所述对应的规则文件过程,Groovy规则文件对象在使用时都会重新生成,对虚拟机的垃圾回收造成一定的压力,导致Java的性能会降低。本发明对Groovy的源码增加了一层包装,增加包装的内容主要是修改Groovy引擎之前使用的逻辑,包装前执行groovy文件时,每次都会被Groovy引擎动态翻译成字节码,加载到内存中,GroovyPerm(永久代)区满了的话会触发Full Gc(收集生命周期短的区域和生命周期比较长的区域对整个堆进行垃圾回收)来回收无用的脚本,增加了加载和垃圾回收的时间。包装后,Groovy规则文件经过编译之后生成Java字节码,被Groovy引擎加载到内存,该Groovy文件的字节码内容就会被缓存起来,下次再对同一个文件进行执行时,直接从内存中取出,然后执行。通过对Groovy规则文件对象进行缓存,减少对象的生存和垃圾回收操作,使整体的系统有了2倍的性能提升。
实施例3
本实施例提供一种机票风控规则的管理方法,本实施例与实施例2相比,如图3所示,区别在于本实施例的管理方法的步骤101还包括:
更新所述数据库中规则文件的版本信息;
步骤1021包括:
步骤10211、保存所述数据库中的规则文件和所述规则文件对应的版本信息至本地;
步骤10212、定期获取所述数据库中的版本信息;
步骤10213、将上步骤获得的版本信息与本地版本信息作比较是否相同,若否,则执行步骤10214,若是,则返回步骤10212。
步骤10214、保存所述数据库中的版本信息对应的规则文件至本地。
本实施例通过使用规则文件的版本信息对规则文件进行管理,当版本信息有变化更新时,再从数据库获取新版本的规则文件保存至本地,避免了版本信息没有更新时重复从数据库获取规则文件并保存至本地的动作,更进一步减少与数据库交互时间,提高运行效率。
实施例4
本实施例提供一种机票风控规则的管理系统,如图4所示,所述管理系统包括数据库201、更新模块202、查询模块203和执行模块204;
所述数据库201包括规则文件,所述规则文件的内容包含机票风控规则,所述规则文件的类型为Groovy文件;
所述更新模块202用于更新所述数据库201中规则文件;
所述查询模块203用于接收外部请求信息,从所述数据库201中获取所述外部请求信息对应的规则文件;
所述执行模块204用于调用Groovy引擎,执行所述对应的规则文件。
优选地,所述查询模块203还用于保存所述数据库201中的规则文件至本地,接收外部请求信息,从本地获取所述外部请求信息对应的规则文件。
优选地,所述更新模块202还用于更新所述数据库201中规则文件的版本信息;
所述查询模块203还用于保存所述数据库201中的规则文件和所述规则文件对应的版本信息至本地,定期获取所述数据库201中的版本信息,与本地版本信息作比较是否相同,若否,则保存所述数据库201中的版本信息对应的规则文件至本地。
优选地,所述执行模块204还用于将所述对应的规则文件缓存至内存。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (8)

1.一种机票风控规则的管理方法,其特征在于,所述管理方法包括:
S1、更新数据库中规则文件,所述规则文件的内容包含机票风控规则,所述规则文件的类型为Groovy文件;
S2、接收外部请求信息,从所述数据库中获取所述外部请求信息对应的规则文件;
S3、调用Groovy引擎,执行所述对应的规则文件。
2.如权利要求1所述的管理方法,其特征在于,步骤S2包括:
S21、保存所述数据库中的规则文件至本地;
S22、接收外部请求信息,从本地获取所述外部请求信息对应的规则文件。
3.如权利要求2所述的管理方法,其特征在于,步骤S1还包括:
更新所述数据库中规则文件的版本信息;
步骤S21包括:
S211、保存所述数据库中的规则文件和所述规则文件对应的版本信息至本地;
S212、定期获取所述数据库中的版本信息,与本地版本信息作比较是否相同,若否,则保存所述数据库中的版本信息对应的规则文件至本地。
4.如权利要求1所述的管理方法,其特征在于,步骤S3还包括:
将所述对应的规则文件缓存至内存。
5.一种机票风控规则的管理系统,其特征在于,所述管理系统包括数据库、更新模块、查询模块和执行模块;
所述数据库包括规则文件,所述规则文件的内容包含机票风控规则,所述规则文件的类型为Groovy文件;
所述更新模块用于更新所述数据库中规则文件;
所述查询模块用于接收外部请求信息,从所述数据库中获取所述外部请求信息对应的规则文件;
所述执行模块用于调用Groovy引擎,执行所述对应的规则文件。
6.如权利要求5所述的管理系统,其特征在于,所述查询模块还用于保存所述数据库中的规则文件至本地,接收外部请求信息,从本地获取所述外部请求信息对应的规则文件。
7.如权利要求6所述的管理系统,其特征在于,所述更新模块还用于更新所述数据库中规则文件的版本信息;
所述查询模块还用于保存所述数据库中的规则文件和所述规则文件对应的版本信息至本地,定期获取所述数据库中的版本信息,与本地版本信息作比较是否相同,若否,则保存所述数据库中的版本信息对应的规则文件至本地。
8.如权利要求5所述的管理系统,其特征在于,所述执行模块还用于将所述对应的规则文件缓存至内存。
CN201710495788.1A 2017-06-26 2017-06-26 机票风控规则的管理方法及系统 Pending CN107330604A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710495788.1A CN107330604A (zh) 2017-06-26 2017-06-26 机票风控规则的管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710495788.1A CN107330604A (zh) 2017-06-26 2017-06-26 机票风控规则的管理方法及系统

Publications (1)

Publication Number Publication Date
CN107330604A true CN107330604A (zh) 2017-11-07

Family

ID=60197094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710495788.1A Pending CN107330604A (zh) 2017-06-26 2017-06-26 机票风控规则的管理方法及系统

Country Status (1)

Country Link
CN (1) CN107330604A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768715A (zh) * 2018-05-22 2018-11-06 烽火通信科技股份有限公司 接入网管的业务配置适配方法及系统
CN109408481A (zh) * 2018-11-06 2019-03-01 北京字节跳动网络技术有限公司 日志采集规则的更新方法、装置、电子设备及可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464895A (zh) * 2009-01-21 2009-06-24 阿里巴巴集团控股有限公司 一种更新内存数据的方法、系统和装置
CN103841167A (zh) * 2012-11-27 2014-06-04 中国移动通信集团公司 一种用户数据同步方法及设备
CN104133827A (zh) * 2013-09-29 2014-11-05 腾讯科技(深圳)有限公司 一种数据库更新方法和更新系统
CN105791331A (zh) * 2014-12-15 2016-07-20 阿里巴巴集团控股有限公司 业务处理方法及装置
CN106325854A (zh) * 2016-08-11 2017-01-11 上海浦东发展银行股份有限公司信用卡中心 一种基于Groovy的规则引擎系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464895A (zh) * 2009-01-21 2009-06-24 阿里巴巴集团控股有限公司 一种更新内存数据的方法、系统和装置
CN103841167A (zh) * 2012-11-27 2014-06-04 中国移动通信集团公司 一种用户数据同步方法及设备
CN104133827A (zh) * 2013-09-29 2014-11-05 腾讯科技(深圳)有限公司 一种数据库更新方法和更新系统
CN105791331A (zh) * 2014-12-15 2016-07-20 阿里巴巴集团控股有限公司 业务处理方法及装置
CN106325854A (zh) * 2016-08-11 2017-01-11 上海浦东发展银行股份有限公司信用卡中心 一种基于Groovy的规则引擎系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768715A (zh) * 2018-05-22 2018-11-06 烽火通信科技股份有限公司 接入网管的业务配置适配方法及系统
CN109408481A (zh) * 2018-11-06 2019-03-01 北京字节跳动网络技术有限公司 日志采集规则的更新方法、装置、电子设备及可读介质

Similar Documents

Publication Publication Date Title
CN110704037B (zh) 一种规则引擎实现方法及装置
US8380680B2 (en) Piecemeal list prefetch
US11176099B2 (en) Lockless synchronization of LSM tree metadata in a distributed system
CN102073512B (zh) 一种java集群应用系统代码装载及升级装置和方法
US11327744B2 (en) Equivalency of revisions on modern version control systems
CN107682436A (zh) 一种更新文件的方法、装置和设备
CN108037946A (zh) 一种应用程序热更新的方法、系统及服务器
CN106897411A (zh) 基于Spark技术的ETL系统及其方法
US20080177694A1 (en) Incremental repair of query plans
CN102081546A (zh) 通过分隔额外信息来内存优化虚拟机代码的方法和系统
US10922213B2 (en) Embedded quality indication data for version control systems
US9135572B2 (en) Method and arrangement for processing data
CN111176717B (zh) 生成安装包的方法、装置及电子设备
US9355250B2 (en) Method and system for rapidly scanning files
CN112835975B (zh) 一种在区块链中部署、更新、调用智能合约的方法
CN108090360B (zh) 一种基于行为特征的安卓恶意应用分类方法及系统
CN110795315A (zh) 监控业务的方法和装置
CN107330604A (zh) 机票风控规则的管理方法及系统
CN105447167A (zh) 分布式系统中节点缓存数据的处理方法及装置
CN111443901A (zh) 一种基于Java反射的业务扩展方法及装置
US20190147047A1 (en) Object-level image query and retrieval
CN107544916B (zh) 一种缓存方法及存储设备
CN110309184B (zh) 一种航空运价数据的缓存方法及系统
US20120254133A1 (en) Method for binary persistence in a system providing offers to subscribers
US8898625B2 (en) Optimized storage of function variables

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171107

RJ01 Rejection of invention patent application after publication