CN103902270A - 动态业务建立、管理和处理方法及动态业务*** - Google Patents

动态业务建立、管理和处理方法及动态业务*** Download PDF

Info

Publication number
CN103902270A
CN103902270A CN201210581484.4A CN201210581484A CN103902270A CN 103902270 A CN103902270 A CN 103902270A CN 201210581484 A CN201210581484 A CN 201210581484A CN 103902270 A CN103902270 A CN 103902270A
Authority
CN
China
Prior art keywords
dynamic
service
business
function
script
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
CN201210581484.4A
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.)
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Niuhai Information 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 Niuhai Information Technology (Shanghai) Co Ltd filed Critical Niuhai Information Technology (Shanghai) Co Ltd
Priority to CN201210581484.4A priority Critical patent/CN103902270A/zh
Publication of CN103902270A publication Critical patent/CN103902270A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种动态业务建立、管理和处理方法及动态业务***,其中所述动态业务建立方法包括步骤:S11、建立一主函数和多个业务脚本;S12、所述主函数中加入每个业务脚本的调用函数;S13、所述主函数将每个调用函数关联一业务种类。本发明还提供了管理所述动态业务建立方法建立的动态业务的管理方法、本发明又提供了一种使用所述动态业务建立方法建立的动态业务的处理方法。本发明另提供了一种使用上述动态业务建立、管理和处理方法的动态业务***。本发明通过脚本灵活配置文件和成熟的应用***整合进行的分布式计算和文件处理,从而可以高效和安全的实现应用***中业务内容的修改。

Description

动态业务建立、管理和处理方法及动态业务***
技术领域
本发明涉及一种动态业务建立、管理和处理方法及动态业务***,特别是涉及一种基于脚本的动态业务建立、管理和处理方法及动态业务***。
背景技术
目前大型企业IT(信息技术)应用***都面临这与其合作方的***有互相通信的需求,尤其像业务规模量庞大的电信、金融或证券等国家经济基础相关的行业。
例如第三方在线支付属于金融行业的清算机构,需要和它进行的清算机构多达数十家,开展的业务更是上百种,包括国内外银行、物流***、保险和跨国企业等等。由于各行业的信息技术平台大相径庭,文件这种传统的信息交换方式仍然是第三方在线支付和清算机构之间所主要采用的手段。
但是随着业务高速发展,如何快速安全的修改为这些文件定义的数据模型,且还希望尽可能小的影响核心***的高可用性是摆在面前的一项难题。
从开发人员角度来看,对于现有方案,如果文件格式因业务变化而修改,同时也必须对解析文件的代码进行修改并重新编译、部署和重启,再加上产品测试释放周期的原因发布到生产环境还会需要更长时间,因此代价高且效率低。
从应用***角度来看,基于企业SOA(面向服务的体系结构)计算环境下的核心***承担着巨大的关键性计算任务,修改核心***代码不仅风险大,测试代价高,还可能还会因代码合并带来新的潜在风险,众所周知基于SOA环境下的核心业务***安全稳定对整个SOA生态***尤为重要,所以频繁核心***修改和发布次数或明显降低整个应用***的可用性。
发明内容
本发明要解决的技术问题是为了克服现有技术的应用***中无法可靠、高效地改变***中业务处理内容的缺陷,提供一种动态业务建立、管理和处理方法及动态业务***,通过脚本灵活配置文件和成熟的应用***整合进行的分布式计算和文件处理,从而可以高效和安全的实现应用***中业务内容的修改。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供了一种动态业务建立方法,其特点是,所述动态业务建立方法包括以下步骤:
S11、建立一主函数和多个业务脚本;
S12、所述主函数中加入每个业务脚本的调用函数;
S13、所述主函数将每个调用函数关联一业务种类。
本发明通过为不同的业务种类关联不同的调用函数,从而将各个业务的处理运行分散到不同的脚本中,所以用户只需要通过对脚本进行修改就可以实现对业务处理的修改。
其中本发明中所述主函数对外进行业务处理的函数接口,所述业务脚本包含了具体业务处理流程或内容的程序,通过所述业务脚本正确地处理业务。所述调用函数为在主函数中调用所述业务脚本的函数接口,也就是说,通过运行所述调用函数,能够指向需要处理的业务脚本。
本发明中基于所述调用函数对应脚本能够处理的业务种类将调用函数与所述业务种类关联链接,所以当主函数判断出需要处理的业务的类型时,能够通过调用函数调用对应于所述业务类型的业务脚本。
本发明中所述调用函数关联业务种类是指业务种类和所述调用函数之间存在链接等指向性的关联关系,所述调用函数和所述业务种类的关联关系可以是任意的形式,本发明并不限制其关联的形式。
较佳地,所述业务脚本为grooy脚本、javascript脚本、python脚本、ruby脚本或perl脚本等等。
本发明可以使用任意的脚本语言构成的脚本。上述grooy、javascript、python、ruby和perl均为现有的脚本语言,因此不再赘述。
较佳地,所述主函数和调用函数均为java函数、C函数或C++函数等。
其中所述java、C和C++均为现有的编程语言,所以这里不再赘述。
本发明还提供了一种动态业务管理方法,其特点是,所述动态业务管理方法使用如上所述的动态业务建立方法生成的动态业务,并包括以下步骤:
S21、查找与所述调用函数关联的业务脚本;
S22、通过文本编辑器修改所述业务脚本。
本发明中仅需要对脚本修改,就可以实现业务处理的修改,从而不再需要重新对整个主函数进行重新编译,从而克服了主函数的僵硬性。
本发明所述调用函数关联的业务脚本,是指作为业务脚本对外结构的调用函数和业务脚本之间的联系,其中所述调用函数和业务脚本的具体关联形式可以是任意的。
较佳地,所述步骤S22之后还包括步骤:
更新与所述业务脚本关联的调用函数。
其中修改所述业务脚本后,可能相应地修改所述主函数中调用函数的参数等数据,所以同样需要更新所述主函数中的调用函数的内容。
较佳地,所述步骤文本编辑器为WEB(互联网)编辑器。
本发明还提供了一种动态业务处理方法,其特点是,所述动态业务处理方法处理如上所述的动态业务建立方法和所述动态业务管理方法生成的动态业务,并包含以下步骤:
S31、所述主函数读入待处理的一业务的业务种类;
S32、通过与所述业务种类关联的调用函数调用业务脚本;
S33、通过一脚本解释器解释并执行所述调用函数调用的所述业务脚本。
本发明的动态业务在处理业务时均是通过外部脚本处理的,即每次处理业务时都是重新加载脚本,所以任何时刻所述主函数的业务处理都是采用最新地业务脚本处理的,实现了业务更新的即实现和便捷性。
本发明中所述脚本解释器为现有的任意的脚本语言生成的脚本的内容解释执行器,所以此处不再详细赘述。
较佳地,步骤S33之后还包括以下步骤:
S34、所述主函数反馈输出所述业务脚本的执行结果。
本发明中在业务脚本执行完所述业务后,还是通过主函数返回业务处理结果给外部调用所述主函数的程序、设备或线程等等。
本发明又提供了一种动态业务***,其特点是,所述动态业务***包括一服务器,所述服务器包括多个业务脚本、一脚本解释器和一主函数,所述动态业务***使用如上所述的动态业务处理方法。
为了便于描述,本发明中将所述服务器按照功能划分为各种模块进行分别描述,所以在实施本发明时,可以把各模块的功能在同一个或多个软件和/或硬件中实现。
较佳地,所述服务器中还包括一数据库,所述业务脚本均存储于所述数据库。
优选地,所述服务器中还包括一文件***,所述文件***从所述数据库中加载所述业务脚本。
本发明通过文件***来标准化对所述业务脚本的读取或修改等操作,也就是说,文件***是对外的唯一的能够实现对数据库中脚本操作的接口。
优选地,所述文件***为一NFS***(Network File System,网络文件***)。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
本发明的积极进步效果在于:
本发明的动态业务建立、管理和处理方法及动态业务***,通过脚本灵活配置文件和成熟的应用***整合进行的分布式计算和文件处理,也就是说,应用***以加载脚本的方式进行分布计算。由于待解析的文件种类非常多,且频繁变化,为了减少***发布次数,将解析文本文件的逻辑用脚本实现,然后将脚本以文本方式存储,从而无需重启应用***,也无需发布核心***下完成升级。
而且在这种方式下,用户只需要修改脚本即可以实现业务的修改,所以简化了业务的修改的流程。
附图说明
图1为本发明的较佳实施例的动态业务***的结构框图。
图2为本发明的较佳实施例的动态业务建立的流程图。
图3为本发明的较佳实施例的动态业务管理的流程图。
图4为本发明的较佳实施例的动态业务处理的流程图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
本实施例的采用java语言构成的主函数动态加载groovy业务脚本进行分布计算。由于待解析的文件种类非常多,且频繁变化,为了减少***发布次数,将解析文本文件的逻辑用groovy实现,然后将groovy业务脚本以文本方式存储,所以无需重启,也无需再重新编译主函数来完成升级。
具体地说,如图1所示,本实施例的动态业务***包括一服务器1,其中所述服务器1包含一数据库11、一NFS文件***12、一脚本解释器13、一java主函数14和一WEB编辑器15。所述数据库11中包括多个groovy业务脚本(图中未显示)。所述服务器1中通过如图2所示的动态业务建立方法建立动态业务,具体建立流程如下所述:
步骤S11,建立所述java主函数14和多个groovy业务脚本。其中所述groovy业务脚本均存储于所述数据库11中,所述NFS文件***12用于从所述数据库11中加载所述groovy业务脚本。
步骤S12,所述java主函数14中加入每个groovy业务脚本的调用函数。也就是说,所述java主函数14具有访问所述groovy业务脚本的接口。
步骤S13,所述java主函数14将每个调用函数关联一业务种类。也就是说看,本实施例中将为各个实现不同业务的groovy业务脚本在java主函数14中明确地标注出其实际处理的业务的类型。
此外若所述业务脚本采用如javascript脚本、python脚本、ruby脚本或perl脚本等,所述主函数采用如C函数或C++函数等时,也可以同样使用上述流程建立动态业务。
在本实施例的服务器1中数据库11、NFS文件***12、java主函数14和groovy业务脚本共同组成一动态业务后,当服务器1接收到处理业务的指令说数据时,通过如图4所示的动态业务处理的流程来实现业务的处理,其具体流程吐下所述:
步骤S31,所述java主函数14读入待处理的一业务的业务种类。
步骤S32,通过与所述业务种类关联的调用函数调用groovy业务脚本。也就是说,当java主函数14明确了待处理的业务的类型后,通过预先在java主函数14中明确标注了业务种类的调用函数来调用能够处理所述业务种类的groovy业务脚本。
步骤S33,所述调用函数通过所述脚本解释器13解释并执行所述groovy业务脚本。即所述调用函数通过NFS文件***从所述数据库11中加载需要运行的groovy业务脚本,此后脚本解释器13解释并运行所述NFS文件***加载的groovy业务脚本,因而实现了业务的处理。
步骤34,所述java主函数14反馈输出所述groovy业务脚本的执行结果。最后再所述groovy业务脚本执行完业务后,所述java主函数14将所述groovy业务脚本执行后的结果返回给其他的请求装置或线程等等。
当本实施例中某个groovy业务脚本处理的业务内容发生改变时,可以通过如图3所示的动态业务管理方法来实现业务的修改,其具体包括如下所述的流程:
步骤S21,查找与所述调用函数关联的所述groovy业务脚本。即用户通过调用函数确定需要修改的groovy业务脚本。
步骤S22,通过WEB编辑器15修改所述groovy业务脚本。也就是说,在NFS文件***14从数据库11中加载所述groovy业务脚本,然后用户通过WEB编辑器15以编辑文本的方式修改所述groovy业务脚本的内容。
步骤S23,更新与所述groovy业务脚本关联的调用函数。由于可能相应地修改所述java主函数14中调用函数的参数等数据,所以需要更新所述java主函数14中的调用函数的内容。
通过上述方式可以在不影响java主函数14的运行的情况下,修改业务的内容,例如一计算运费的业务脚本,由于运费经常发生变化,所以建立一个名为fee的groovy业务脚本文件,所述java主函数14需要计算运费的时候读取fee脚本文件到脚本解释器中运行,假如这个脚本文件中一公斤运费5元,当业务逻辑变化的时候,只需要修改这个脚本文件的逻辑改为前两公斤免费,之后每公斤3元等等,既可以实现业务内容的修改,而整个外部的java主函数14不用任何变化和发布,就可以实现业务中运费计算规则的变化了。
所以如上所述,本实施例的动态业务***适合接入了大量的外部应用***的应用平台,例如电信行业等的增值业务***或银行的中间业务平台等,只要接入的合作伙伴越多,开展的业务越复杂,需求的变化越快,本实施例的优势便会愈明显。
通过以上的具体实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM(只读存储器/随机存取存储器)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请的实施例或者实施例的某些部分所述的方法。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (12)

1.一种动态业务建立方法,其特征在于,所述动态业务建立方法包括以下步骤:
S11、建立一主函数和多个业务脚本;
S12、所述主函数中加入每个业务脚本的调用函数;
S13、所述主函数将每个调用函数关联一业务种类。
2.如权利要求1所述的动态业务建立方法,其特征在于,所述业务脚本为grooy脚本、javascript脚本、python脚本、ruby脚本或perl脚本。
3.如权利要求1所述的动态业务建立方法,其特征在于,所述主函数和调用函数均为java函数、C函数或C++函数。
4.一种动态业务管理方法,其特征在于,所述动态业务管理方法使用如权利要求1-3中任一项所述的动态业务建立方法生成的动态业务,并包括以下步骤:
S21、查找与所述调用函数关联的业务脚本;
S22、通过文本编辑器修改所述业务脚本。
5.如权利要求4所述的动态业务管理方法,其特征在于,所述步骤S22之后还包括步骤:
更新与所述业务脚本关联的所述调用函数。
6.如权利要求4或5所述的动态业务管理方法,其特征在于,所述文本编辑器为WEB编辑器。
7.一种动态业务处理方法,其特征在于,所述动态业务处理方法处理如权利要求1-3中任一项所述的动态业务建立方法和如权利要求4-6中任一项所述的动态业务管理方法生成的动态业务,并包含以下步骤:
S31、所述主函数读入待处理的一业务的业务种类;
S32、通过与所述业务种类关联的调用函数调用业务脚本;
S33、通过一脚本解释器解释并执行所述调用函数调用的所述业务脚本。
8.如权利要求7所述的动态业务处理方法,其特征在于,步骤S33之后还包括以下步骤:
S34、所述主函数反馈输出所述业务脚本的执行结果。
9.一种动态业务***,其特征在于,所述动态业务***包括一服务器,所述服务器包括多个业务脚本、一脚本解释器和一主函数,所述动态业务***使用如权利要求7或8所述的动态业务处理方法。
10.如权利要求9所述的动态业务***,其特征在于,所述服务器中还包括一数据库,所述业务脚本均存储于所述数据库。
11.如权利要求10所述的动态业务***,其特征在于,所述服务器中还包括一文件***,所述文件***从所述数据库中加载所述业务脚本。
12.如权利要求11所述的动态业务***,其特征在于,所述文件***为一NFS***。
CN201210581484.4A 2012-12-27 2012-12-27 动态业务建立、管理和处理方法及动态业务*** Pending CN103902270A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210581484.4A CN103902270A (zh) 2012-12-27 2012-12-27 动态业务建立、管理和处理方法及动态业务***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210581484.4A CN103902270A (zh) 2012-12-27 2012-12-27 动态业务建立、管理和处理方法及动态业务***

Publications (1)

Publication Number Publication Date
CN103902270A true CN103902270A (zh) 2014-07-02

Family

ID=50993614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210581484.4A Pending CN103902270A (zh) 2012-12-27 2012-12-27 动态业务建立、管理和处理方法及动态业务***

Country Status (1)

Country Link
CN (1) CN103902270A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182234A (zh) * 2014-08-25 2014-12-03 杭州华为数字技术有限公司 一种业务处理方法和业务***
CN104461522A (zh) * 2014-11-26 2015-03-25 盈世信息科技(北京)有限公司 基于脚本的辅助业务实现方法
CN107273165A (zh) * 2017-06-19 2017-10-20 郑州云海信息技术有限公司 一种实现模块动态调用的***及方法
CN108762745A (zh) * 2018-05-25 2018-11-06 中国光大银行股份有限公司 业务的脚本生成方法及装置
CN109254787A (zh) * 2018-07-18 2019-01-22 东软集团股份有限公司 业务逻辑变更方法、装置、存储介质及电子设备
CN109358842A (zh) * 2018-09-25 2019-02-19 广州城市信息研究所有限公司 一种服务实现方法、电子设备及存储介质
CN110187936A (zh) * 2019-05-31 2019-08-30 口碑(上海)信息技术有限公司 数据回流平台、***及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026632A1 (en) * 2000-07-28 2002-02-28 Airsys Atm Sa Universal computer code generator
CN101056429A (zh) * 2007-05-29 2007-10-17 华为技术有限公司 通用业务***及其实现方法
CN101645013A (zh) * 2009-09-07 2010-02-10 中兴通讯股份有限公司 综合业务管理平台插件式业务管理***及方法
CN102141917A (zh) * 2011-04-02 2011-08-03 南京天溯自动化控制***有限公司 基于IronPython脚本语言的多业务联动实现方法
CN102707934A (zh) * 2011-03-28 2012-10-03 中兴通讯股份有限公司 一种以脚本形式表示增值业务流程的实现方法和***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020026632A1 (en) * 2000-07-28 2002-02-28 Airsys Atm Sa Universal computer code generator
CN101056429A (zh) * 2007-05-29 2007-10-17 华为技术有限公司 通用业务***及其实现方法
CN101645013A (zh) * 2009-09-07 2010-02-10 中兴通讯股份有限公司 综合业务管理平台插件式业务管理***及方法
CN102707934A (zh) * 2011-03-28 2012-10-03 中兴通讯股份有限公司 一种以脚本形式表示增值业务流程的实现方法和***
CN102141917A (zh) * 2011-04-02 2011-08-03 南京天溯自动化控制***有限公司 基于IronPython脚本语言的多业务联动实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李英华: "基于C语言程序的模块化设计", 《保定师范专科学校学报》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182234A (zh) * 2014-08-25 2014-12-03 杭州华为数字技术有限公司 一种业务处理方法和业务***
CN104182234B (zh) * 2014-08-25 2017-10-10 杭州华为数字技术有限公司 一种业务处理方法和业务***
CN104461522A (zh) * 2014-11-26 2015-03-25 盈世信息科技(北京)有限公司 基于脚本的辅助业务实现方法
CN104461522B (zh) * 2014-11-26 2018-05-01 论客科技(广州)有限公司 基于脚本的辅助业务实现方法
CN107273165A (zh) * 2017-06-19 2017-10-20 郑州云海信息技术有限公司 一种实现模块动态调用的***及方法
CN108762745A (zh) * 2018-05-25 2018-11-06 中国光大银行股份有限公司 业务的脚本生成方法及装置
CN108762745B (zh) * 2018-05-25 2022-01-21 中国光大银行股份有限公司 业务的脚本生成方法及装置
CN109254787A (zh) * 2018-07-18 2019-01-22 东软集团股份有限公司 业务逻辑变更方法、装置、存储介质及电子设备
CN109358842A (zh) * 2018-09-25 2019-02-19 广州城市信息研究所有限公司 一种服务实现方法、电子设备及存储介质
CN110187936A (zh) * 2019-05-31 2019-08-30 口碑(上海)信息技术有限公司 数据回流平台、***及方法

Similar Documents

Publication Publication Date Title
US10824948B2 (en) Decision tables and flow engine for building automated flows within a cloud based development platform
CN103902270A (zh) 动态业务建立、管理和处理方法及动态业务***
CN102375731B (zh) 一种免编码集成应用软件平台***
US8196126B2 (en) Methods and systems for dynamically generating and optimizing code for business rules
CN105022630B (zh) 一种组件管理***及组件管理方法
CN101989294B (zh) 分布式文件解析方法
CN113360676A (zh) 一种基于知识图谱确定企业潜在关系的方法及装置
WO2024060725A1 (zh) 一种飞机工装变更方法、装置、设备及存储介质
CN110807016A (zh) 一种应用于金融业务的数据仓库构建方法、装置和电子设备
CN113128978A (zh) 一种数据结算方法、装置、***及存储介质
da Silva et al. SPReaD: service-oriented process for reengineering and DevOps: Developing microservices for a Brazilian state department of taxation
CN103455476B (zh) 网络信息的处理方法和抽象语法树的建立方法及其装置
KR20190023682A (ko) 기업 업무 관련 소프트웨어에서의 이기종 시스템 간의 대용량 데이터변환 처리
US20180321932A1 (en) Method, device and related system for dynamically repairing application
EP3624027A1 (en) Decision tables and flow engine for building automated flows within a cloud based development platform
CN115439078A (zh) 一种基于业务动态生成审核***
Shuttleworth Translation management systems
CN112181407B (zh) 业务实现处理方法及装置、***、电子设备和存储介质
CN113364806A (zh) 一种服务接口迁移的校验方法及装置
Masuda et al. Direction of digital it and enterprise architecture
CN111273893A (zh) 金融数据处理方法、装置、计算机设备及存储介质
EP2601627B1 (en) Transaction processing system and method
CN113542323A (zh) 业务处理方法、装置、设备及计算机可读存储介质
CN111353766A (zh) 分布式业务***的业务流程处理***及方法
CN111061789A (zh) 一种智能电网基建信息管理***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160919

Address after: East Building 11, 100195 Beijing city Haidian District xingshikou Road No. 65 west Shan creative garden district 1-4 four layer of 1-4 layer

Applicant after: Beijing Jingdong Shangke Information Technology Co., Ltd.

Address before: 201203 Shanghai city Pudong New Area Zu Road No. 295 Room 102

Applicant before: Niuhai Information Technology (Shanghai) Co., Ltd.

RJ01 Rejection of invention patent application after publication

Application publication date: 20140702

RJ01 Rejection of invention patent application after publication