合同结算方法、装置、设备及存储介质与流程

文档序号:28487538发布日期:2022-01-15 01:40阅读:138来源:国知局
合同结算方法、装置、设备及存储介质与流程

1.本发明涉及数据处理领域,尤其涉及一种合同结算方法、装置、设备及存储介质。


背景技术:

2.随着人们对各类财产安全以及人身安全的注重,各大保险行业不断兴起,时刻保护这人们的生命和财产安全,
3.frs17,是指国际财务报告准则,是一系列以原则性为基础的准则,它只规定了宽泛的规则而不是约束到具体的业务处理,该准则中的第17条准则涉及保险合同,会将保单层级转变为合同组层级,每个保单都会对应一个合同组。在该准则的约束下,对保险合同做数据汇总的时候就不会按照保单维度而是按照险种、合同组的维度。合同分组是一个大的接口,也是被调方,后面会有准备金,财务都会去调这个接口,通过这个接口来给对应的保单,匹配出对应的合同组编号。
4.因为财务和精算每个月都需要做月结,在现有计算中,对合同组的匹配通常是以财务和精算作为调用当,去接口中匹配所有的合同组数据,这样匹配的精准度低,同时由于合同组数据的维度高,数据量大,导致匹配效率同样低下。


技术实现要素:

5.本发明的主要目的在于解决现有的合同组数据匹配效率和精确度低的技术问题。
6.本发明第一方面提供了一种合同结算方法,包括:根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表;建立与所述输入表对应的合同存储队列,其中,所述合同存储队列用于接收所述合同组数据;当所述合同存储队列中的合同组数据满足预设条件时,将所述合同存储队列中的合同组数据移入所述输入表中;当接收到关联方发送的合同结算请求时,确定所述合同结算请求对应的数据匹配逻辑;根据所述数据匹配逻辑调用sql语句,将所述合同结算请求中的请求参数与所述输入表进行匹配,得到匹配结果数据,并根据所述匹配结果数据进行数据结算,得到合同结算结果;将所述合同结算结果写入所述输出表中。
7.可选的,在本发明第一方面的第一种实现方式中,所述根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表包括:根据所述合同组数据的数据类型,确定所述数据库的数据库类型;根据所述数据库的数据库类型,确定所述数据库的结构信息;根据所述结构信息进行表创建,获得所述数据库对应的输入表和输出表。
8.可选的,在本发明第一方面的第二种实现方式中,所述根据所述数据匹配逻辑调用sql语句,将所述合同结算请求中的请求参数与所述输入表进行匹配,得到匹配结果数据,并根据所述匹配结果数据进行数据结算,得到合同结算结果包括:解析所述合同结算请求,得到所述合同结算请求中的请求参数;将所述请求参数传入所述数据匹配逻辑中,得到对应的sql语句;调用所述sql语句将所述请求参数与所述输入表匹配,得到匹配结果数据;根据所述匹配结果数据进行数据结算,得到合同结算结果。
9.可选的,在本发明第一方面的第三种实现方式中,所述请求参数包括保单号、主附约号、险种和营业数据,所述调用所述sql语句将所述请求参数与所述输入表匹配,得到匹配结果数据包括:根据调用所述sql语句将所述保单号、主附约号、险种和营业数据作为匹配条件与所述输入表进行一次匹配;若一次匹配失败,则将保单号、主附约号和营业数据作为匹配条件与所述输入表进行二次匹配;若二次匹配失败,则将保单号、主附约号作为匹配条件与所述输入表进行三次匹配;若三次匹配失败,则根据所述险种从各预设的配置表中查询对应的字段和合同组编号,根据所述字段和合同组编号查询对应的合同组数据作为匹配结果数据;若一次匹配成功或二次匹配成功或三次匹配成功,则将输入表中匹配成功的合同组数据作为匹配结果数据。
10.可选的,在本发明第一方面的第四种实现方式中,在所述根据所述数据匹配逻辑调用sql语句,将所述合同结算请求中的请求参数与所述输入表进行匹配,得到匹配结果数据,并根据所述匹配结果数据进行数据结算,得到合同结算结果之前,还包括:定义sql语句以及定义的sql语句的执行阶段以及sql执行函数;根据定义的sql语句的执行阶段调用所述sql执行函数,通过所述sql执行函数将定义的sql语句放入所述数据库中执行,生成执行日志,并返回执行结果;判断所述执行结果与预设结果是否一致;若不一致,则对定义的sql语句进行标记。
11.可选的,在本发明第一方面的第五种实现方式中,所述在将所述合同结算结果写入所述输出表中之后,还包括:判断所述输出表中是否存在重复的合同结算结果;若是,则将重复的合同结算结果从所述输出表中删除。
12.可选的,在本发明第一方面的第六种实现方式中,在所述将所述合同结算结果写入所述输出表中之后,还包括:判断所述合同结算结果写入所述输出表是否成功;若写入成功,则将所述合同结算结果对应的合同组数据从所述合同存储队列中删除;若写入失败,则将所述合同结算结果对应的合同组数据读入所述合同存储队列的末尾。
13.本发明第二方面提供了一种合同结算装置,包括:建表模块,用于根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表;队列建立模块,用于建立与所述输入表对应的合同存储队列,其中,所述合同存储队列用于接收所述合同组数据;数据迁移模块,用于当所述合同存储队列中的合同组数据满足预设条件时,将所述合同存储队列中的合同组数据移入所述输入表中;逻辑确定模块,用于当接收到关联方发送的合同结算请求时,确定所述合同结算请求对应的数据匹配逻辑;匹配模块,用于根据所述数据匹配逻辑调用sql语句,将所述合同结算请求中的请求参数与所述输入表进行匹配,得到匹配结果数据,并根据所述匹配结果数据进行数据结算,得到合同结算结果;结果写入模块,用于将所述合同结算结果写入所述输出表中。
14.可选的,在本发明第二方面的第一种实现方式中,所述建表模块具体包括:根据所述合同组数据的数据类型,确定所述数据库的数据库类型;根据所述数据库的数据库类型,确定所述数据库的结构信息;根据所述结构信息进行表创建,获得所述数据库对应的输入表和输出表。
15.可选的,在本发明第二方面的第二种实现方式中,所述匹配模块具体包括:解析单元,用于解析所述合同结算请求,得到所述合同结算请求中的请求参数;参数传入单元,用于将所述请求参数传入所述数据匹配逻辑中,得到对应的sql语句;参数匹配单元,用于调
用所述sql语句将所述请求参数与所述输入表匹配,得到匹配结果数据;结算单元,用于根据所述匹配结果数据进行数据结算,得到合同结算结果。
16.可选的,在本发明第二方面的第三种实现方式中,所述请求参数包括保单号、主附约号、险种和营业数据,所述参数匹配单元具体用于:根据调用所述sql语句将所述保单号、主附约号、险种和营业数据作为匹配条件与所述输入表进行一次匹配;若一次匹配失败,则将保单号、主附约号和营业数据作为匹配条件与所述输入表进行二次匹配;若二次匹配失败,则将保单号、主附约号作为匹配条件与所述输入表进行三次匹配;若三次匹配失败,则根据所述险种从各预设的配置表中查询对应的字段和合同组编号,根据所述字段和合同组编号查询对应的合同组数据作为匹配结果数据;若一次匹配成功或二次匹配成功或三次匹配成功,则将输入表中匹配成功的合同组数据作为匹配结果数据。
17.可选的,在本发明第二方面的第四种实现方式中,所述合同结算装置还包括语句检验模块,所述语句检验模块具体用于:定义sql语句以及定义的sql语句的执行阶段以及sql执行函数;根据定义的sql语句的执行阶段调用所述sql执行函数,通过所述sql执行函数将定义的sql语句放入所述数据库中执行,生成执行日志,并返回执行结果;判断所述执行结果与预设结果是否一致;若不一致,则对定义的sql语句进行标记。
18.可选的,在本发明第二方面的第五种实现方式中,所述合同结算装置还包括结果删除模块,所述结果删除模块具体用于:所述在将所述合同结算结果写入所述输出表中之后,还包括:判断所述输出表中是否存在重复的合同结算结果;若是,则将重复的合同结算结果从所述输出表中删除。
19.可选的,在本发明第二方面的第六种实现方式中,所述合同结算装置还包括结果判断模块,所述结果判断模块具体用于:判判断所述合同结算结果写入所述输出表是否成功;若写入成功,则将所述合同结算结果对应的合同组数据从所述合同存储队列中删除;若写入失败,则将所述合同结算结果对应的合同组数据读入所述合同存储队列的末尾。
20.本发明第三方面提供了一种合同结算设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述合同结算设备执行上述的合同结算方法的步骤。
21.本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的合同结算方法的步骤。
22.本发明的技术方案中,通过根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表;建立与所述输入表对应的合同存储队列,其中,所述合同存储队列用于接收所述合同组数据;当所述合同存储队列中的合同组数据满足预设条件时,将所述合同存储队列中的合同组数据移入所述输入表中;当接收到关联方发送的合同结算请求时,确定所述合同结算请求对应的数据匹配逻辑;根据所述数据匹配逻辑调用sql语句,将所述合同结算请求中的请求参数与所述输入表进行匹配,得到匹配结果数据,并根据所述匹配结果数据进行数据结算,得到合同结算结果;将所述合同结算结果写入所述输出表中。本方法根据合同组数据的数据类型生成不同的输入表和输出表,用以区分不同的调用方,不同调用方可以同一时间来调用接口,满足多个调用方的需求,提高匹配的效率和精准度。
附图说明
23.图1为本发明实施例中合同结算方法的第一个实施例示意图;
24.图2为本发明实施例中合同结算方法的第二个实施例示意图;
25.图3为本发明实施例中合同结算方法的第三个实施例示意图;
26.图4为本发明实施例中合同结算方法的第四个实施例示意图;
27.图5为本发明实施例中合同结算装置的一个实施例示意图;
28.图6为本发明实施例中合同结算装置的另一个实施例示意图;
29.图7为本发明实施例中合同结算设备的一个实施例示意图。
具体实施方式
30.本发明的技术方案中,通过根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表;建立与所述输入表对应的合同存储队列,其中,所述合同存储队列用于接收所述合同组数据;当所述合同存储队列中的合同组数据满足预设条件时,将所述合同存储队列中的合同组数据移入所述输入表中;当接收到关联方发送的合同结算请求时,确定所述合同结算请求对应的数据匹配逻辑;根据所述数据匹配逻辑调用sql语句,将所述合同结算请求中的请求参数与所述输入表进行匹配,得到匹配结果数据,并根据所述匹配结果数据进行数据结算,得到合同结算结果;将所述合同结算结果写入所述输出表中。本方法根据合同组数据的数据类型生成不同的输入表和输出表,用以区分不同的调用方,不同调用方可以同一时间来调用接口,满足多个调用方的需求,提高匹配的效率和精准度。
31.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
32.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中合同结算方法的第一个实施例包括:
33.101、根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表;
34.可以理解的是,本发明的执行主体可以为合同结算装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
35.在实际应用中,所述数据库可以为mysql、dm、oracle、sql server、postgresql、gaussdb或gbase,在本实施例中,以oracle为例,本发明对数据库的类型不做限定。
36.在本实施例中,客户签署保险后,生成保单,每个保单都会对应一个合同组,合同组数据中包括了不同的数据类型,例如保单号、险种、保单金额等不同的业务需要不同的数
据,根据不同的数据类型构建输入表和输出表,需要调用合同组数据满足业务需求的调用方根据需要的数据类型,从数据库的接口中获取合同组数据,通过区分出不同的调用方,不同的调用方可以同一时间来调用这一个接口,能够满足多个调用方的需求,提高接口匹配效率。
37.102、建立与输入表对应的合同存储队列,其中,合同存储队列用于接收合同组数据;
38.在本实施例中,大量的合同组数据被存储线程连续不断地写到指定文件夹的文件中,文件需设置合适的容量,并建立与之对应的文件存储队列,该文件存储队列即为合同存储队列,合同存储队列存储有存储合同组数据的文件,每个文件对应不同类型的合同组数据。
39.103、当合同存储队列中的合同组数据满足预设条件时,将合同存储队列中的合同组数据移入输入表中;
40.在本实施例中,所述合同组数据写入指定文件夹的文件中,合同存储队列中的合同组数据满足预设条件时,将所述合同存储队列中的合同组数据移入所述输入表中,其中,预设条件可以是对所述文件设置预设长度,并建立所述文件的文件存储队列。当所述文件存储队列中的合同组数据中文件中的合同组数据达到预设长度时,建立所述文件读入队列与所述输入表的对应关系,并将所述合同组数据移入所述输入表。
41.104、当接收到关联方发送的合同结算请求时,确定合同结算请求对应的数据匹配逻辑;
42.在实际应用中,关联方主要包括负责财务和精算的需要应用到合同组数据的部门或机构,精算部门负责保险精算,保险精算是指运用数学、统计学、金融学、保险学及人口学等学科的知识与原理去解决商业保险与各种社会保障业务中的需要计算的项目,如死亡率的测定、生命表的构造、费率的匣定、准备金的计提以及业务盈余的分配等,以此保证保险经营的稳定性和安全性,财务部门需要对合同中涉及财务的合同组数据进行汇总和统计。
43.在本实施例中,财务和精算需要对月结,精算和财务对不同的合同组数据有不同的要求,例如精算针对的内容是商业保险与各种社会保障业务中的需要计算的项目,需要的数据根据项目的不同而不同,根据不同的调用方和业务需求,预设了不同的数据匹配逻辑,不同的调用方可以通过调用对应的数据匹配逻辑来调用数据库的接口,能够满足多个调用方的需求,提高接口匹配效率。
44.105、根据数据匹配逻辑调用sql语句,将合同结算请求中的请求参数与输入表进行匹配,得到匹配结果数据,并根据匹配结果数据进行数据结算,得到合同结算结果;
45.在本实施例中,oracle数据库接收并解析所述数据请求消息,得到请求参数,所述请求参数包括但不限于待调用的匹配过程名、待请求的维度信息、请求日期、定时查询时间,待请求的维度信息包括需要进行结算的请求参数,包括保单号、主附约号、险种和营业数据等。所述定时查询时间为数据匹配逻辑调用匹配过程的时间,用于数据匹配逻辑何时调用匹配过程进行数据更新。用户通过设置所述定时查询时间,可以自定义从oracle数据库中读取数据的时间间隔及频率。
46.在本实施例中,在获取到请求参数之后,数据匹配逻辑根据所述请求参数中的存储函数名获取目标过程,将待请求的维度信息传入所述目标过程,以启动所述目标过程。在
这里,所述匹配过程为oracle数据库中原生的匹配过程,能够根据数据匹配逻辑对oracle数据库中的数据进行加工处理,比如增、删、改操作,并将匹配结果输出。oracle数据库可以通过表的方式来记录所有的匹配过程,所述数据匹配逻辑根据请求参数从所述输入表表中读取对应的合同组数据,系统在获得合同组数据后进行对应的数据结算,即得到合同结算结果。
47.106、将合同结算结果写入输出表中。
48.在本实施例中,输出表是合同分组匹配接口的结果表,这个表里面放置的是匹配之后进行结算的合同结算结果,关联方直接从这个结果取出需要的数据,或者系统定时将输出表中的合同结算结果发送至对应的关联方。
49.在本实施例中,通过根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表;建立与所述输入表对应的合同存储队列,其中,所述合同存储队列用于接收所述合同组数据;当所述合同存储队列中的合同组数据满足预设条件时,将所述合同存储队列中的合同组数据移入所述输入表中;当接收到关联方发送的合同结算请求时,确定所述合同结算请求对应的数据匹配逻辑;根据所述数据匹配逻辑调用sql语句,将所述合同结算请求中的请求参数与所述输入表进行匹配,得到匹配结果数据,并根据所述匹配结果数据进行数据结算,得到合同结算结果;将所述合同结算结果写入所述输出表中。本方法根据合同组数据的数据类型生成不同的输入表和输出表,用以区分不同的调用方,不同调用方可以同一时间来调用接口,满足多个调用方的需求,提高匹配的效率和精准度。
50.请参阅图2,本发明实施例中合同结算方法的第二个实施例包括:
51.201、根据合同组数据的数据类型,确定数据库的数据库类型;
52.在本实施例中,对不同的合同组数据可以根据不同数据库的特点设置对应的数据库类型,本实施例不做限定。
53.202、根据数据库的数据库类型,确定数据库的结构信息;
54.203、根据结构信息进行表创建,获得数据库对应的输入表和输出表;
55.在本实施例中,数据库类型包括mysql、dm、oracle、sql server、postgresql、gaussdb或gbase,在本实施例中,在确定数据库类型的同时,还会获取到数据库的模式信息,其中模式信息中包含了新创建表在数据库中的存储位置,以及连接信息中包含了数据库的用户登录信息。
56.在本实施例中,结构信息中包括字段名称、字段类型、字段长度、字段精度、字段默认值和空值标识,可以对数据库中的源表进行结构提取,从而获取源表的结构信息,例如,获取的源表a的结构信息包括:字段名称id,字段类型为bigint,字段长度为20;字段名称name,字段类型为varchar,字段长度为255;字段名称sex,字段类型为char,字段长度为1;字段名称birthday,字段类型为date,字段长度为默认值,当然用户可以根据实际需要进行限定,本技术实施方式中并不限定默认值的具体数值。
57.在本实施例中,根据字段类型和表的结构信息进行表创建获得输入表和输出表,可以包括:将数据库中表的字段类型,以及所对应的表中的字段名称、字段长度和字段精度进行组装,获得数据库模式定义语言;根据数据库模式定义语言进行创建获得输入表和输出表。
58.204、建立与输入表对应的合同存储队列,其中,合同存储队列用于接收合同组数
据;
59.205、当合同存储队列中的合同组数据满足预设条件时,将合同存储队列中的合同组数据移入输入表中;
60.206、当接收到关联方发送的合同结算请求时,确定合同结算请求对应的数据匹配逻辑;
61.207、根据数据匹配逻辑调用sql语句,将合同结算请求中的请求参数与输入表进行匹配,得到匹配结果数据,并根据匹配结果数据进行数据结算,得到合同结算结果;
62.208、将合同结算结果写入输出表中;
63.209、判断输出表中是否存在重复的合同结算结果;
64.210、若是,则将重复的合同结算结果从输出表中删除。
65.本实施例在上一实施例的基础上,详细描述了根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表的过程,通过根据合同组数据的数据类型,确定数据库的数据库类型;根据数据库的数据库类型,确定数据库的结构信息;根据结构信息进行表创建,获得数据库对应的输入表和输出表。本实施例通过不同的数据类型,构建根据合同组数据的数据类型生成不同的输入表和输出表,用以区分不同的调用方,不同调用方可以同一时间来调用接口,满足多个调用方的需求,提高匹配的效率和精准度。
66.请参阅图3,本发明实施例中合同结算方法的第三个实施例包括:
67.301、根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表;
68.302、建立与输入表对应的合同存储队列,其中,合同存储队列用于接收合同组数据;
69.303、当合同存储队列中的合同组数据满足预设条件时,将合同存储队列中的合同组数据移入输入表中;
70.304、当接收到关联方发送的合同结算请求时,确定合同结算请求对应的数据匹配逻辑;
71.305、解析合同结算请求,得到合同结算请求中的请求参数;
72.在本实施例中,oracle数据库接收并解析所述数据请求消息,得到请求参数,所述请求参数包括但不限于待调用的匹配过程名、待请求的维度信息、请求日期、定时查询时间,待请求的维度信息包括需要进行结算的请求参数,包括保单号、主附约号、险种和营业数据等。所述定时查询时间为数据匹配逻辑调用匹配过程的时间,用于数据匹配逻辑何时调用匹配过程进行数据更新。用户通过设置所述定时查询时间,可以自定义从oracle数据库中读取数据的时间间隔及频率。
73.306、将请求参数传入数据匹配逻辑中,得到对应的sql语句;
74.在本实施例中,在本实施例中,在获取到请求参数之后,接口匹配过程逻辑根据所述请求参数中的存储函数名获取目标过程,将待请求的维度信息传入所述目标过程,以启动所述目标过程。在这里,所述匹配过程为oracle数据库中原生的匹配过程,能够根据接口匹配过程逻辑对oracle数据库中的数据进行加工处理,比如增、删、改操作,并将匹配过程结果输出。从所述请求参数中获取匹配过程名,根据所述匹配过程名获取所述匹配过程的结构化查询语言sql代码,通过sql代码执行匹配过程。oracle数据库可以通过表的方式来
记录所有的匹配过程,所述接口匹配过程逻辑根据请求参数从所述输入表中读取对应的合同组数据。
75.307、根据调用sql语句将保单号、主附约号、险种和营业数据作为匹配条件与输入表进行一次匹配;
76.308、若一次匹配失败,则将保单号、主附约号和营业数据作为匹配条件与输入表进行二次匹配;
77.309、若二次匹配失败,则将保单号、主附约号作为匹配条件与输入表进行三次匹配;
78.310、若三次匹配失败,则根据险种从各预设的配置表中查询对应的字段和合同组编号,根据字段和合同组编号查询对应的合同组数据作为匹配结果数据;
79.在本实施例中,创建合同分组匹配的接口逻辑,匹配的基本逻辑如下:首先是按照保单+主附约号+险种+营业数据进行匹配,如果按照上述规则匹配不到那么考虑用保单+主附约号+营业数据进行匹配。如果还是匹配不到的话那么就按照保单+险种+营业数据进行匹配,如果以上还是匹配不到那么就将这个营业数据的条件去掉去匹配。如果依然还是匹配不到对应的结果,那么就按照险种去各个配置表中找到拼接合同组的字段然后去合同分组的结果表匹配出对应的合同分组编号出来。这段匹配逻辑放到oracle里面按照不同的分支利用sql语句实现匹配。
80.311、若一次匹配成功或二次匹配成功或三次匹配成功,则将输入表中匹配成功的合同组数据作为匹配结果数据;
81.312、根据匹配结果数据进行数据结算,得到合同结算结果;
82.313、将合同结算结果写入所述输出表中。
83.本实施例在前实施例的基础上,详细描述了根据所述数据匹配逻辑调用sql语句,将所述合同结算请求中的请求参数与所述输入表进行匹配,得到匹配结果数据,并根据所述匹配结果数据进行数据结算,得到合同结算结果的过程,通过解析所述合同结算请求,得到所述合同结算请求中的请求参数;将所述请求参数传入所述数据匹配逻辑中,得到对应的sql语句;调用所述sql语句将所述请求参数与所述输入表匹配,得到匹配结果数据。本实施例中请求参数包括保单号、主附约号、险种和营业数据,通过这些请求参数进行多次匹配,在一次匹配成功的情况下不需要进行后续匹配过程,节省进行数据匹配的计算机资源,提高匹配效率。
84.请参阅图4,本发明实施例中合同结算方法的第四个实施例包括:
85.401、根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表;
86.402、建立与输入表对应的合同存储队列,其中,合同存储队列用于接收合同组数据;
87.403、当合同存储队列中的合同组数据满足预设条件时,将合同存储队列中的合同组数据移入输入表中;
88.404、当接收到关联方发送的合同结算请求时,确定合同结算请求对应的数据匹配逻辑;
89.405、定义sql语句以及定义的sql语句的执行阶段以及sql执行函数;
90.406、根据定义的sql语句的执行阶段调用sql执行函数,通过sql执行函数将定义的sql语句放入数据库中执行,生成执行日志,并返回执行结果;
91.407、判断执行结果与预设结果是否一致;
92.408、若不一致,则对定义的sql语句进行标记;
93.在本实施例中,根据不同的业务需求,定义不同的被执行的sql语句,例如本实施例中应用到对合同组数据进行结算。在利用sql执行函数执行sql语句的同时,初始化执行日志并对执行日志进行数据更新定义初始日志函数的参数,并调用初始日志函数对sql的执行日志信息进行初始化和数据更新;参数包括调用脚本名称、执行参数、步骤编码、被执行的sql语句、开始时间和/或执行说明,记录sql语句的执行日志由于后续进行错误排查。
94.在本实施例中,若执行结果与预设结果是否一致,则说明sql语句出现错误,可以将执行结果按照多个维度进行展示,以便监控、分析和优化。
95.409、根据数据匹配逻辑调用sql语句,将合同结算请求中的请求参数与输入表进行匹配,得到匹配结果数据,并根据匹配结果数据进行数据结算,得到合同结算结果;
96.410、将合同结算结果写入输出表中;
97.411、判断匹配结果数据写入输出表是否成功;
98.412、若写入成功,则将合同结算结果对应的合同组数据从合同存储队列中删除;
99.413、若写入失败,则将合同结算结果对应的合同组数据读入合同存储队列的末尾。
100.在本实施例中,匹配结果数据写入输出表可能失败,例如数据库连接未成功,数据库损坏等原因,则需要将未写入的匹配结果数据的合同组数据重新读入合同存储队列中,待数据库连接成功或数据库修复后,再从合同存储队列中写入数据至输入表和输出表。
101.本实施例在前实施例的基础上,增加了对sql语句进行检验的过程,定义sql语句以及sql语句的执行阶段以及sql执行函数;根据sql语句的执行阶段调用sql执行函数,通过sql执行函数将sql语句放入数据库中执行,生成执行日志,并返回执行结果;判断执行结果与预设结果是否一致;若不一致,则对sql语句进行标记。本方法通过对sql语句进行检验,将检验的执行结果和预设结果进行比较,不一致,则说明需要对该sql语句进行调整修改,保证sql语句在应用时的准确性。
102.上面对本发明实施例中合同结算方法进行了描述,下面对本发明实施例中合同结算装置进行描述,请参阅图5,本发明实施例中合同结算装置一个实施例包括:
103.建表模块501,用于根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表;
104.队列建立模块502,用于建立与所述输入表对应的合同存储队列,其中,所述合同存储队列用于接收所述合同组数据;
105.数据迁移模块503,用于当所述合同存储队列中的合同组数据满足预设条件时,将所述合同存储队列中的合同组数据移入所述输入表中;
106.逻辑确定模块504,用于当接收到关联方发送的合同结算请求时,确定所述合同结算请求对应的数据匹配逻辑;
107.匹配模块505,用于根据所述数据匹配逻辑调用sql语句,将所述合同结算请求中的请求参数与所述输入表进行匹配,得到匹配结果数据,并根据所述匹配结果数据进行数
据结算,得到合同结算结果;
108.结果写入模块506,用于将所述合同结算结果写入所述输出表中。
109.本发明实施例中,所述合同结算装置运行上述合同结算方法,所述合同结算装置通过根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表;建立与所述输入表对应的合同存储队列,其中,所述合同存储队列用于接收所述合同组数据;当所述合同存储队列中的合同组数据满足预设条件时,将所述合同存储队列中的合同组数据移入所述输入表中;当接收到关联方发送的合同结算请求时,确定所述合同结算请求对应的数据匹配逻辑;将所述合同结算请求中的请求参数与所述输入表进行匹配,得到匹配结果数据,并根据所述匹配结果数据进行数据结算,得到合同结算结果;将所述合同结算结果写入所述输出表中。本方法根据合同组数据的数据类型生成不同的输入表和输出表,用以区分不同的调用方,不同调用方可以同一时间来调用接口,满足多个调用方的需求,提高匹配的效率和精准度。
110.请参阅图6,本发明实施例中合同结算装置的第二个实施例包括:
111.建表模块501,用于根据待接收的合同组数据的数据类型,在数据库中建立对应的输入表和输出表;
112.队列建立模块502,用于建立与所述输入表对应的合同存储队列,其中,所述合同存储队列用于接收所述合同组数据;
113.数据迁移模块503,用于当所述合同存储队列中的合同组数据满足预设条件时,将所述合同存储队列中的合同组数据移入所述输入表中;
114.逻辑确定模块504,用于当接收到关联方发送的合同结算请求时,确定所述合同结算请求对应的数据匹配逻辑;
115.匹配模块505,用于根据所述数据匹配逻辑调用sql语句,将所述合同结算请求中的请求参数与所述输入表进行匹配,得到匹配结果数据,并根据所述匹配结果数据进行数据结算,得到合同结算结果;
116.结果写入模块506,用于将所述合同结算结果写入所述输出表中。
117.在本实施例中,所述建表模块501具体包括:
118.根据所述合同组数据的数据类型,确定所述数据库的数据库类型;
119.根据所述数据库的数据库类型,确定所述数据库的结构信息;
120.根据所述结构信息进行表创建,获得所述数据库对应的输入表和输出表。
121.在本实施例中,所述匹配模块505具体包括:
122.解析单元5051,用于解析所述合同结算请求,得到所述合同结算请求中的请求参数;
123.参数传入单元5052,用于将所述请求参数传入所述数据匹配逻辑中,得到对应的sql语句;
124.参数匹配单元5053,用于调用所述sql语句将所述请求参数与所述输入表匹配,得到匹配结果数据;
125.结算单元5054,用于根据所述匹配结果数据进行数据结算,得到合同结算结果;
126.在本实施例中,所述请求参数包括保单号、主附约号、险种和营业数据,所述参数匹配单元5053具体用于:
127.根据调用所述sql语句将所述保单号、主附约号、险种和营业数据作为匹配条件与所述输入表进行一次匹配;
128.若一次匹配失败,则将保单号、主附约号和营业数据作为匹配条件与所述输入表进行二次匹配;
129.若二次匹配失败,则将保单号、主附约号作为匹配条件与所述输入表进行三次匹配;
130.若三次匹配失败,则根据所述险种从各预设的配置表中查询对应的字段和合同组编号,根据所述字段和合同组编号查询对应的合同组数据作为匹配结果数据;
131.若一次匹配成功或二次匹配成功或三次匹配成功,则将输入表中匹配成功的合同组数据作为匹配结果数据。
132.在本实施例中,所述合同结算装置还包括语句检验模块507,所述语句检验模块507具体用于:
133.定义sql语句以及定义的sql语句的执行阶段以及sql执行函数;
134.根据定义的sql语句的执行阶段调用所述sql执行函数,通过所述sql执行函数将定义的sql语句放入所述数据库中执行,生成执行日志,并返回执行结果;
135.判断所述执行结果与预设结果是否一致;若不一致,则对定义的sql语句进行标记。
136.在本实施例中,所述合同结算装置还包括结果删除模块,所述结果删除模块508具体用于:
137.判断所述输出表中是否存在重复的匹配结果数据;
138.若是,则将重复的匹配结果数据从所述输出表中删除。
139.在本实施例中,所述合同结算装置还包括结果判断模块509,所述结果判断模块509具体用于:
140.判断所述合同结算结果写入所述输出表是否成功;
141.若写入成功,则将所述合同结算结果对应的合同组数据从所述合同存储队列中删除;
142.若写入失败,则将所述合同结算结果对应的合同组数据读入所述合同存储队列的末尾。
143.本实施例在上一实施例的基础上,详细描述了各个模块的具体功能以及部分模块的单元构成,通过新增的模块,根据合同组数据的数据类型生成不同的输入表和输出表,用以区分不同的调用方,不同调用方可以同一时间来调用接口,满足多个调用方的需求,提高匹配的效率和精准度。
144.上面图5和图6从模块化功能实体的角度对本发明实施例中的中合同结算装置进行详细描述,下面从硬件处理的角度对本发明实施例中合同结算设备进行详细描述。
145.图7是本发明实施例提供的一种合同结算设备的结构示意图,该合同结算设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括
一个或一个以上模块(图示没标出),每个模块可以包括对合同结算设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在合同结算设备700上执行存储介质730中的一系列指令操作,以实现上述合同结算方法的步骤。
146.合同结算设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如windows serve,mac os x,unix,linux,freebsd等等。本领域技术人员可以理解,图7示出的合同结算设备结构并不构成对本技术提供的合同结算设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
147.本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述合同结算方法的步骤。
148.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
149.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
150.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1