CN116561018B - 一种业务系统造数方法、装置、终端设备及存储介质 - Google Patents
一种业务系统造数方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN116561018B CN116561018B CN202310848699.6A CN202310848699A CN116561018B CN 116561018 B CN116561018 B CN 116561018B CN 202310848699 A CN202310848699 A CN 202310848699A CN 116561018 B CN116561018 B CN 116561018B
- Authority
- CN
- China
- Prior art keywords
- scene
- sub
- business
- date
- service
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 143
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 230000008569 process Effects 0.000 claims abstract description 108
- 238000012545 processing Methods 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims description 13
- 238000010276 construction Methods 0.000 claims 1
- 238000012360 testing method Methods 0.000 abstract description 25
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000005520 cutting process Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Computational Linguistics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及数据处理技术领域,提供了一种业务系统造数方法、装置、终端设备及存储介质,该方法包括:根据流程ID获取流程场景表对应的业务流程明细表;按照业务流程明细表的顺序依次获取子场景对应的造数任务,并执行造数任务,获得各个子场景下的造数结果;其中,在执行每一个子场景的造数任务前,调取对应业务流程明细表中业务日期,并将其保存至本地缓存;在执行子场景的造数任务时,若调用子场景中的会计日期,则获取本地缓存中的业务日期作为子场景的会计日期。本申请在测试环境实现了将存储的会计日期与业务场景的强依赖性解耦,让测试人员能够同时对不同的业务场景同步进行测试。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种业务系统造数方法、装置、终端设备及存储介质。
背景技术
在银行信贷核心系统中,所有业务处理均依赖于核心系统的会计日期,该日期对核心系统来说至关重要。目前会计日期存储在数据库表中,正常情况下该日期在银行每日的日终处理任务后切换到新的日期。由于会计日期在系统中是唯一的,且所有交易强依赖于该全局变量,而现实测试场景中,往往又是多个测试人员并行测试,由于各自负责模块和测试场景的不同,会造成多名测试人员同一时间段内,对系统会计日期进行争抢的状况,从而导致测试效率低下。
现有技术方案:在所有的信贷核心相关的联机接口中,统一冗余一个日期字段,测试人员在测试的时候,可以通过该字段指定系统会计日期,代码内通过判断该字段是否有值,来确定是否需要从数据库中获取会计日期。这种方案虽然解决了测试人员的痛点,提升了测试的效率,但是同时也带来了新的问题——即对原有代码逻辑具有侵入性,而且由于新增的日期字段在真实业务场景中不应该存在,所以也增加了产生生产漏洞的几率。
发明内容
有鉴于此,本申请实施例提供一种业务系统造数方法、装置、终端设备及存储介质,可以有效解决测试效率底下的问题等。
第一方面,本申请实施例提供一种业务系统造数方法,包括:
根据流程ID获取流程场景表对应的业务流程明细表,其中,一个流程场景表对应至少一个业务流程明细表,一个所述业务流程明细表对应一个子场景;
按照所述业务流程明细表的顺序依次获取所述子场景对应的造数任务,并执行所述造数任务,获得各个子场景下的造数结果;
其中,在执行每一个子场景的造数任务前,调取对应所述业务流程明细表中业务日期,并将其保存至本地缓存;在执行所述子场景的造数任务时,若调用子场景中的会计日期,则获取所述本地缓存中的所述业务日期作为所述子场景的会计日期。
在一些实施例中,在执行每一个子场景的造数任务前,调取对应所述业务流程明细表中业务日期,并将其保存至本地缓存;在执行所述子场景的造数任务时,若调用子场景中的会计日期,则获取所述本地缓存中的所述业务日期作为所述子场景的会计日期,包括:
调用所述子场景对应的业务接口;
判断所述子场景对应的所述业务流程明细表是否有业务日期;
若有,则将所述业务日期作为本地变量保存至本地缓存中;
在执行所述子场景的造数任务时,若所述业务系统接收到调用系统当前的会计日期的请求,则拦截所述调用系统当前的会计日期的请求,并将所述本地缓存中的所述业务日期作为会计日期进行返回。
在一些实施例中,所述根据流程ID获取流程场景表对应的业务流程明细表,包括:
根据所述流程ID判断是否有包含所述流程ID的流程场景表;
若有,则根据所述流程ID判断是否有包含所述流程ID的业务流程明细表。
在一些实施例中,所述根据所述流程ID判断是否有包含所述流程ID的业务流程明细表之后,还包括:
根据所述流程场景表中包含的子场景判断是否包含每个子场景对应的业务流程明细表;
若有,则根据业务系统的流程顺序判断业务流程明细表的顺序是否正确。
在一些实施例中,所述按所述业务流程明细表的顺序依次执行所述子场景的造数任务之前,还包括:
根据所述子场景和配置的基本业务参数,模拟生成所述子场景需要的调用参数。
在一些实施例中, 在执行第一个所述子场景的造数任务前,初始化流程实例,其中所述流程实例包括子场景ID、执行到哪个步骤、执行结果和结果描述;
每执行完一个子场景,在执行下一个子场景时,需更新流程实例。
在一些实施例中,每执行完一个子场景的造数任务后,删除所述本地缓存中的业务日期。
在一些实施例中,若所述子场景为多线程场景,在执行所述子场景的造数任务时包括:
调用所述子场景对应的业务接口;
第一线程获取了所述业务流程明细表中的所述业务日期,并执行所述第一线程对应的造数任务;
保存所述第一线程对应所述业务日期为初始业务日期;
当除所述第一线程外的其他线程获取所述业务流程明细表中的所述业务日期时,将与所述初始业务日期返回给获取所述业务流程明细表中的所述业务日期的线程;
所述初始业务日期根据执行完成的各个线程的最后的日期进行更新。
第二方面,本申请实施例提供一种业务系统造数装置,包括:
获取模块,用于根据流程ID获取流程场景表对应的业务流程明细表,其中,一个流程场景表对应至少一个业务流程明细表,一个所述业务流程明细表对应一个子场景;
执行模块,用于按照所述业务流程明细表的顺序依次获取所述子场景对应的造数任务,并执行所述造数任务,获得各个子场景下的造数结果;
其中,在执行每一个子场景的造数任务前,调取对应所述业务流程明细表中业务日期,并将其保存至本地缓存;在执行所述子场景的造数任务时,若调用子场景中的会计日期,则获取所述本地缓存中的所述业务日期作为所述子场景的会计日期。
第三方面,本申请实施例提供一种终端设备,所述终端设备包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施上述的业务系统造数方法。
第四方面,本申请实施例提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上执行时,实施上述的业务系统造数方法。
本申请的实施例具有如下有益效果:本申请通过在执行每一个子场景前,调取对应所述业务流程明细表中业务日期,并将其保存至本地缓存,在执行所述子场景的造数任务时,若需要调用子场景中的会计日期时,则获取所述本地缓存中的所述业务日期作为所述子场景的会计日期,这样在测试环境实现了将存储的会计日期与业务场景的强依赖性解耦,让测试人员能够同时对不同的业务场景同步进行测试,而不需要像现有技术一样随时要关注数据库会计日期值。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例的一种业务系统造数方法的第一流程示意图;
图2示出了本申请实施例的一种业务系统造数方法的第二流程示意图;
图3示出了本申请实施例的一种业务系统造数方法的第三流程示意图;
图4示出了本申请实施例的一种业务系统造数方法的第四流程示意图;
图5示出了本申请实施例的一种业务系统造数方法的第五流程示意图;
图6示出了本申请实施例的业务系统造数装置的一种结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则这里使用的所有术语(包括技术术语和科学术语)具有与本申请的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本申请的各种实施例中被清楚地限定。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互结合。
下面结合一些具体的实施例来对该业务系统造数方法进行说明。
图1示出了本申请实施例的业务系统造数方法的第一流程示意图。示范性地,该业务系统造数方法包括:
步骤S100,根据流程ID获取流程场景表对应的业务流程明细表,其中,一个流程场景表对应至少一个业务流程明细表,一个所述业务流程明细表对应一个子场景。
其中,流程场景表包括但不限于流程ID、包含的子场景、每个子场景对应的场景ID、创建时间、创建人等,可以理解的是,一个配置的流程场景表中可以包含多个子场景,如可以配置一个授信放款还款流程场景表。
业务流程明细表包括但不限于流程ID、场景ID、基本业务参数、业务日期、创建日期、创建人等。
一个流程场景表可以对应多个业务流程明细表,在正常造数任务执行中,如果流程场景表中包括多个子场景,那么每个子场景都应该对应一个业务流程明细表,否则,则执行造数任务时,会返回造数失败的信息。如配置了一个授信放款还款流程场景表,则会包含授信的业务流程明细表、放款的业务流程明细表和还款的业务流程明细表。流程场景表及对应的业务流程明细表举例说明如下:
表1:授信放款还款流程场景表:
则对应上述授信放款还款流程场景表对应的授信的业务流程明细表、放款的业务流程明细表和还款的业务流程明细表如下:
表2:授信的业务流程明细表
表3:放款的业务流程明细表
表4:还款的业务流程明细表
可以理解的是,上述授信放款还款流程场景表、授信的业务流程明细表、放款的业务流程明细表和还款的业务流程明细表仅仅是一个示例,具体的表格内容根据实际需要设置。
在步骤S100前,需要启动造数模块,具体地服务注册到业务zookeeper(ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务)上,Apollo(消息代理工具)等配置和业务系统保持一致,保证造数模块作为外挂系统,能正常调度到测试环境各业务接口,其中,各业务接口对应银行信贷系统中的各个业务,如授信、放款、还款等业务,这样可以保证在测试时,不用影响正常的业务系统。
在一些实施方式中,如图2,所述,步骤S100包括子步骤S110~S120:
步骤S110,根据所述流程ID判断是否有包含所述流程ID的流程场景表。
获取测试人员提供的流程ID,根据获取的流程ID查询是否有包含所述流程ID的流程场景表,如果没有,则说明没有配置该流程ID的流程场景表,或者是测试人员给错了流程ID,这时则返回校验失败的结果。
步骤S120,若有,则根据所述流程ID判断是否有包含所述流程ID的业务流程明细表。
本步骤S110中,如果步骤S110中根据流程ID查询到对应的流程场景表,则根据流程ID查询是否有包含所述流程ID的业务流程明细表。如果没有对应的业务流程明细表,则返回校验失败的结果。如果有对应的业务流程明细表后,如图3所示,包括步骤S130~S140:
步骤S130,根据所述流程场景表中包含的子场景判断是否包含每个子场景对应的业务流程明细表。
具体地,根据判断包含流程ID的所有业务流程明细表是否与流程场景表中包含的子场景对应。如流程场景表为授信放款还款流程场景表,业务流程明细表需包括授信的业务流程明细表、放款的业务流程明细表和还款的业务流程明细表。如果业务流程明细表中没有对应流程场景表中的所有子场景,则返回校验失败的结果。
步骤S140,若有,则根据业务系统的流程顺序判断业务流程明细表的顺序是否正确。
其中,流程顺序为信贷系统中正常业务应该的业务顺序,比如在借贷业务中,一般的顺序为授信、放款、入账、还款,还款不可能在放款前面,如果配置的业务流程明细表,还款的业务流程明细表在放款的业务流程明细表前面,则肯定是错误的,则会返回错误的结果。如表2~4中所示,可以通过表中的执行顺序进行判断业务流程明细表的排列。
需要说明的是,在根据业务系统的流程顺序判断业务流程明细表的顺序是否正确后,还包括:判断各个所述业务流程明细表中的业务日期是否符合正常的业务流程,如授权放款还款场景中,授信的业务流程明细表中的业务日期应该早于放款的业务流程明细表中的业务日期,放款的业务流程明细表中的业务日期应该早于还款的业务流程明细表中的业务日期。如果授信的业务流程明细表中的业务日期为2022.05.06,放款的业务流程明细表中的业务日期为2022.03.26,则明显不符合银行信贷的业务流程,这种配置肯定是错误的。
可以理解的是,在配置流程场景表后,对应的业务流程明细表中的参数需与银行正常信贷业务流程匹配。
如果根据业务系统的流程顺序判断业务流程明细表的顺序是正确的,则执行步骤S200。
在一些实施方式中,在步骤S200前,还包括:根据所述子场景和配置的基本业务参数,模拟生成所述子场景需要的调用参数。
具体地,根据子场景和子场景对应的业务流程明细表中配置的基本业务参数,自动模拟构造该子场景业务接口所需要的调用参数。如:在授信场景下,在业务流程明细表中配置的基本业务参数为征信档位,则造数模块自动模拟生成授信企业、企业法人等信息。
步骤S200,按照所述业务流程明细表的顺序依次获取所述子场景对应的造数任务,并执行造数任务,获得各个子场景下的造数结果。
其中,在执行第一个所述子场景对应的造数任务时,初始化流程实例,其中所述流程实例包括但不限于子场景ID、执行到哪个步骤、执行结果和结果描述,每执行完一个子场景,在执行下一个子场景时,需更新流程实例,直到所有的子场景造数任务执行完毕。例如,执行授信时,流程实例中当前场景ID为授信的场景ID,流程实例内容为授信接口(业务接口)的请求参数,接口调用成功则实例状态为成功,若调用失败则实例状态为失败,错误信息为具体失败的原因,且此时整个造数过程终止,这样测试人员根据当前的流程实例就能很清晰的知道是执行到了哪一步出现了错误、出现错误的原因等。
其中,在执行每一个子场景的造数任务前,调取对应所述业务流程明细表中业务日期,并将其保存至本地缓存;在执行所述子场景的造数任务时,若调用子场景中的会计日期,则获取所述本地缓存中的所述业务日期作为所述子场景的会计日期。
如需执行授信场景,然后再执行放款场景,配置的授信场景的业务日期为2023-01-01,放款场景的业务日期为2023-01-10,则在授信场景造数成功后,执行放款场景的造数任务时,将系统本地缓存的业务日期改为2023-01-10,然后才去执行放款的造数任务。
具体地,如图4所示,包括:
步骤S210,调用所述子场景对应的业务接口。
具体地,每一个子场景对应一个业务接口(api接口),在执行某子场景的造数任务时,需要调用该子场景对应的业务接口。
步骤S220,判断所述子场景对应的所述业务流程明细表是否有业务日期。
具体地,查询业务流程明细表是否有业务日期这个参数,如果没有,则返回造数失败。
步骤S230,若有,则将所述业务日期作为本地变量保存至本地缓存中。
本步骤中,如果业务流程明细表有业务日期这个参数,则将该业务日期作为本地变量保存至本地缓存中。
步骤S240,在执行所述子场景的造数任务时,若所述业务系统接收到调用系统当前的会计日期的请求,则拦截所述调用系统当前的会计日期的请求,并将所述本地缓存中的所述业务日期作为会计日期进行返回。
具体地,在执行所述子场景的造数任务时,若有需要查询调用系统当前会计日期时,拦截调用系统当前的会计日期,直接将保存在本地缓存中的业务流程明细表中的业务员日期返回,全局替换掉系统的会计日期,这样就实现了不同测试人员可以同时使用不同的会计日期进行测试的效果。比如两个测试人员同时进行测试,一个测试人员测试授信和放款场景,另一个测试人员测试还款的场景。两个测试人员可以根据需要配置不同的业务日期,比如测试授信场景,测试人员可以将业务日期配置为2023.05.06,放款的业务日期配置为2023.05.26;另一个测试人员如果也在进行测试,同时也是测试的授信和放款场景,则可以将授权的业务日期配置为2022.06.28,还款的业务日期配置为2022.08.03,两个测试人员的测试任务互不影响。
需要说明的是,每执行完一个子场景的造数任务后,删除所述本地缓存中的业务日期。在一些实施方式中,如图5所示,若所述子场景为多线程场景,在执行所述子场景的造数任务时,包括步骤S260~S290:
步骤S260,第一线程获取了所述业务流程明细表中的所述业务日期,并执行所述第一线程对应的造数任务。
步骤S270,保存所述第一线程对应所述业务日期为初始业务日期。
步骤S280,当除所述第一线程外的其他线程获取所述业务流程明细表中的所述业务日期时,将所述初始业务日期返回给获取所述业务流程明细表中的所述业务日期的线程。
步骤S290,所述初始业务日期根据执行完成的各个线程的最后的日期进行更新。
具体地,如果子场景为多线程场景,在执行该子场景的造数任务时,第一线程(第一个线程)在执行造数任务时,获取所述业务流程明细表中的所述业务日期,然后将该业务日期保存,定义为初始业务日期,在其他线程执行造数任务时,均会获取初始业务日期作为该线程的业务日期,且所述初始业务日期根据执行完成的各个线程的最后的日期进行更新。这样就保证了不同线程的业务日期的一致性。
例如在资产证券化这个场景中,可能包含一批符合要求的借款,将这些借款打包进行处理,在处理过程中,如果一个一个的借款处理,则太慢,这时,就可以将这些借款分10批进行同时处理,这样就可以使用多线程场景,在第一线程执行时业务日期为2023.01.01,则将2023.01.01作为初始业务日期,在第一线程执行结束后,业务日期跑到了2023.01.05,则初始业务日期也为2023.01.05,其他的线程在执行时,获取初始业务日期进行造数任务,初始业务日期会根据这些线程中完成后最后的日期进行更新。
在一些可实施方式中,如果子场景为银行的日终任务场景,则如果获取到子场景为日终任务,则启动连续切日处理流程,其中连续切日处理流程,在配置业务日期参数时,会配置业务日期的初始日期和结束日期,在执行造数场景时,刚开始执行该日终任务时,本地缓存的业务日期为初始日期,每执行完一日的任务,需要将本地缓存中的业务日期更改为的下一日时,自动在上一个业务日期的基础上加一日,直到结束日期为止。如在日终任务时,例如需要从2023-01-01连续日终跑批至2023-02-01,在每日处理完利息计提、五级分类评估下发等一些列任务后,将系统业务日期从T日切换到T+1日,造数系统支持连续切日的配置,具体执行中,会在01-01的日终完成后,将本地缓存的业务日期设置为01-02,如此循环,直到日期变更到02-01。
本申请通过在执行每一个子场景前,调取对应所述业务流程明细表中业务日期,并将其保存至本地缓存,在执行所述子场景的造数任务时,若需要调用子场景中的会计日期时,则获取所述本地缓存中的所述业务日期作为所述子场景的会计日期,这样在测试环境实现了将存储的会计日期与业务场景的强依赖性解耦,让测试人员能够同时对不同的业务场景同步进行测试,而不需要像之前一样随时要关注数据库会计日期值。另外本申请通过自动模拟需要的调用参数,减少了测试人员的工作量,替测试人员实现自动化测试打下了基础,另外本申请通过流程实例,在造数出现问题后,能很快的找出问题。极大的提高了测试效率,间接缩短了项目的研发周期,进一步达成了快速上线、快速响应的目标。进一步地,本申请将造数系统(造数模块)作为外挂的系统,在造数时,调用对应场景的业务接口,使得测试环境和生产环境做到了完全的隔离,杜绝了因代码改动引起生产漏洞的可能性,保证了银行业务系统的稳定运行。
图6示出了本申请实施例的业务系统造数装置的一种结构示意图。示范性地,该业务系统造数装置包括:
获取模块110,用于根据流程ID获取流程场景表对应的业务流程明细表,其中,一个流程场景表对应至少一个业务流程明细表,一个所述业务流程明细表对应一个子场景。
执行模块120,用于按照所述业务流程明细表的顺序依次获取所述子场景对应的造数任务,并执行所述造数任务,获得各个子场景下的造数结果。
其中,在执行每一个子场景的造数任务前,调取对应所述业务流程明细表中业务日期,并将其保存至本地缓存;在执行所述子场景的造数任务时,若调用子场景中的会计日期,则获取所述本地缓存中的所述业务日期作为所述子场景的会计日期。
可以理解,本实施例的装置对应于上述实施例的业务系统造数方法,上述实施例中的可选项同样适用于本实施例,故在此不再重复描述。
本申请还提供了一种终端设备,示范性地,该终端设备包括处理器和存储器,其中,存储器存储有计算机程序,处理器通过运行所述计算机程序,从而使终端设备执行上述的业务系统造数方法或者上述业务系统造数装置中的各个模块的功能。
其中,处理器可以是一种具有信号的处理能力的集成电路芯片。处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)及网络处理器(Network Processor,NP)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件中的至少一种。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器用于存储计算机程序,处理器在接收到执行指令后,可相应地执行所述计算机程序。
本申请还提供了一种可读存储介质,用于储存上述终端设备中使用的所述计算机程序。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (11)
1.一种业务系统造数方法,其特征在于,包括:
根据流程ID获取流程场景表对应的业务流程明细表,其中,一个流程场景表对应至少一个业务流程明细表,一个所述业务流程明细表对应一个子场景;
按照所述业务流程明细表的顺序依次获取所述子场景对应的造数任务,并执行所述造数任务,获得各个子场景下的造数结果;
其中,在执行每一个子场景的造数任务前,调取对应所述业务流程明细表中业务日期,并将其保存至本地缓存;在执行所述子场景的造数任务时,若调用子场景中的会计日期,则获取所述本地缓存中的所述业务日期作为所述子场景的会计日期。
2.根据权利要求1所述的业务系统造数方法,其特征在于,所述在执行每一个子场景的造数任务前,调取对应所述业务流程明细表中业务日期,并将其保存至本地缓存;在执行所述子场景的造数任务时,若调用子场景中的会计日期,则获取所述本地缓存中的所述业务日期作为所述子场景的会计日期,包括:
调用所述子场景对应的业务接口;
判断所述子场景对应的所述业务流程明细表是否有业务日期;
若有,则将所述业务日期作为本地变量保存至本地缓存中;
在执行所述子场景的造数任务时,若所述业务系统接收到调用系统当前的会计日期的请求,则拦截所述调用系统当前的会计日期的请求,并将所述本地缓存中的所述业务日期作为会计日期进行返回。
3.根据权利要求1或2所述的业务系统造数方法,其特征在于,所述根据流程ID获取流程场景表对应的业务流程明细表,包括:
根据所述流程ID判断是否有包含所述流程ID的流程场景表;
若有,则根据所述流程ID判断是否有包含所述流程ID的业务流程明细表。
4.根据权利要求3所述的业务系统造数方法,其特征在于,所述根据所述流程ID判断是否有包含所述流程ID的业务流程明细表之后,还包括:
根据所述流程场景表中包含的子场景判断是否包含每个子场景对应的业务流程明细表;
若有,则根据业务系统的流程顺序判断业务流程明细表的顺序是否正确。
5.根据权利要求1所述的业务系统造数方法,其特征在于,所述按照所述业务流程明细表的顺序依次获取所述子场景对应的造数任务,并执行所述造数任务,获得各个子场景下的造数结果之前,还包括:
根据所述子场景和配置的基本业务参数,模拟生成所述子场景需要的调用参数。
6.根据权利要求1所述的业务系统造数方法,其特征在于,
在执行第一个所述子场景的造数任务前,初始化流程实例,其中所述流程实例包括子场景ID、执行到哪个步骤、执行结果和结果描述;
每执行完一个子场景,在执行下一个子场景时,更新流程实例。
7.根据权利要求1所述的业务系统造数方法,其特征在于,每执行完一个子场景的造数任务后,删除所述本地缓存中的业务日期。
8.根据权利要求1所述的业务系统造数方法,其特征在于,若所述子场景为多线程场景,在执行所述子场景的造数任务时包括:
调用所述子场景对应的业务接口;
第一线程获取了所述业务流程明细表中的所述业务日期,并执行所述第一线程对应的造数任务;
保存所述第一线程对应所述业务日期为初始业务日期;
当除所述第一线程外的其余线程获取所述业务流程明细表中的所述业务日期时,将所述初始业务日期返回给获取所述业务流程明细表中的所述业务日期的线程;
所述初始业务日期根据执行完成的各个线程的最后的日期进行更新。
9.一种业务系统造数装置,其特征在于,包括:
获取模块,用于根据流程ID获取流程场景表对应的业务流程明细表,其中,一个流程场景表对应至少一个业务流程明细表,一个所述业务流程明细表对应一个子场景;
执行模块,用于按照所述业务流程明细表的顺序依次获取所述子场景对应的造数任务,并执行所述造数任务,获得各个子场景下的造数结果;
其中,在执行每一个子场景的造数任务前,调取对应所述业务流程明细表中业务日期,并将其保存至本地缓存;在执行所述子场景的造数任务时,若调用子场景中的会计日期,则获取所述本地缓存中的所述业务日期作为所述子场景的会计日期。
10.一种终端设备,其特征在于,所述终端设备包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施权利要求1-8中任一项所述的业务系统造数方法。
11.一种可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上执行时,实施根据权利要求1-8中任一项所述的业务系统造数方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310848699.6A CN116561018B (zh) | 2023-07-12 | 2023-07-12 | 一种业务系统造数方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310848699.6A CN116561018B (zh) | 2023-07-12 | 2023-07-12 | 一种业务系统造数方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116561018A CN116561018A (zh) | 2023-08-08 |
CN116561018B true CN116561018B (zh) | 2023-09-01 |
Family
ID=87493306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310848699.6A Active CN116561018B (zh) | 2023-07-12 | 2023-07-12 | 一种业务系统造数方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116561018B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815145A (zh) * | 2019-01-18 | 2019-05-28 | 中国农业银行股份有限公司 | 一种批量程序测试方法及装置 |
CN113010443A (zh) * | 2021-05-07 | 2021-06-22 | 中国工商银行股份有限公司 | 基于金融核心交易场景的数据库测试数据生成方法及装置 |
CN114219645A (zh) * | 2021-12-28 | 2022-03-22 | 中国农业银行股份有限公司 | 会计日期切换方法、装置、设备、可读存储介质及产品 |
CN114936914A (zh) * | 2022-06-16 | 2022-08-23 | 卢克虎 | 一种财务会计智能服务系统、方法及电子设备 |
CN115147202A (zh) * | 2022-09-05 | 2022-10-04 | 江苏苏宁银行股份有限公司 | 一种银行业账务处理系统、方法及装置 |
CN115269348A (zh) * | 2022-07-25 | 2022-11-01 | 中国银行股份有限公司 | 一种数据处理方法、装置、设备及介质 |
CN116032789A (zh) * | 2022-12-26 | 2023-04-28 | 海通证券股份有限公司 | 时间戳获取方法及装置、计算机可读存储介质、终端 |
-
2023
- 2023-07-12 CN CN202310848699.6A patent/CN116561018B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815145A (zh) * | 2019-01-18 | 2019-05-28 | 中国农业银行股份有限公司 | 一种批量程序测试方法及装置 |
CN113010443A (zh) * | 2021-05-07 | 2021-06-22 | 中国工商银行股份有限公司 | 基于金融核心交易场景的数据库测试数据生成方法及装置 |
CN114219645A (zh) * | 2021-12-28 | 2022-03-22 | 中国农业银行股份有限公司 | 会计日期切换方法、装置、设备、可读存储介质及产品 |
CN114936914A (zh) * | 2022-06-16 | 2022-08-23 | 卢克虎 | 一种财务会计智能服务系统、方法及电子设备 |
CN115269348A (zh) * | 2022-07-25 | 2022-11-01 | 中国银行股份有限公司 | 一种数据处理方法、装置、设备及介质 |
CN115147202A (zh) * | 2022-09-05 | 2022-10-04 | 江苏苏宁银行股份有限公司 | 一种银行业账务处理系统、方法及装置 |
CN116032789A (zh) * | 2022-12-26 | 2023-04-28 | 海通证券股份有限公司 | 时间戳获取方法及装置、计算机可读存储介质、终端 |
Also Published As
Publication number | Publication date |
---|---|
CN116561018A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221726A (zh) | 一种测试数据生成方法、装置、存储介质和智能设备 | |
CN109408262B (zh) | 一种业务数据处理方法及相关设备 | |
CN113312259B (zh) | 一种接口测试方法及装置 | |
CN110162322A (zh) | 一种升级方法及装置 | |
CN110046086B (zh) | 用于测试的期望数据生成方法及装置和电子设备 | |
CN113220598B (zh) | 系统的测试方法、装置、设备、介质及程序产品 | |
CN114003510A (zh) | 基于Mock服务的脚本测试方法、装置、设备及介质 | |
CN116561018B (zh) | 一种业务系统造数方法、装置、终端设备及存储介质 | |
CN111367694B (zh) | 事件处理方法、服务器及计算机存储介质 | |
CN113254352B (zh) | 测试案例的测试方法、装置、设备及存储介质 | |
CN116302889A (zh) | 功能模块的性能测试方法、装置和服务器 | |
CN109840213B (zh) | 一种gui测试的测试数据创建方法、装置、终端及存储介质 | |
CN116521572B (zh) | 网页脚本可视化验证方法、系统、终端设备和存储介质 | |
CN110928788B (zh) | 服务验证方法及设备 | |
CN116188190B (zh) | 一种高并发支付系统多批次半实时对账方法及系统 | |
CN111429132B (zh) | 一种业务处理方法和装置 | |
CN114066465A (zh) | 系统交易限额控制方法及装置 | |
CN118820045A (zh) | 资源日历服务测试方法、装置、电子设备及存储介质 | |
CN116881167A (zh) | 测试案例的生成方法及相关装置 | |
CN118607669A (zh) | 人工智能模型的单元测试用例生成方法、训练方法和设备 | |
CN118708635A (zh) | 批量数据处理方法、装置、电子设备和可读存储介质 | |
CN114201400A (zh) | 代码调试方法、装置、计算机可读存储介质及服务器 | |
CN113379452A (zh) | 一种手机银行客户流失预警方法及系统 | |
CN117725914A (zh) | 业务数据报表的正确性验证方法、装置、设备及介质 | |
CN112749075A (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 |