一种资金服务方法及其系统技术方案

技术编号:20969920 阅读:30 留言:0更新日期:2019-04-29 17:26
本发明专利技术公开了一种资金服务的系统设计方法,以及实施这种资金服务的系统,属于系统设计方法领域。本发明专利技术总体架构以领域驱动设计模式为基础,结合单例、工厂等多种设计模式,并设计业务层、基建层等分层设计模式来构建资金通道的系统,其主要模块包括借款人服务模块、内部放款服务模块、外部通知服务模块、公共工具模块、业务逻辑模块等。本发明专利技术针对资方不同业务的特性,通过同步请求处理或异步处理来处理业务逻辑,保证其时效性和合理性,并使用协程并发的处理模式,保证系统的高并发能力。此外本发明专利技术还结合业务使用多种设计模式,提高了效率和代码可读性。本发明专利技术具有极强的扩展性,实现了业务处理的高效性。

A Method and System of Capital Services

The invention discloses a design method of a fund service system and a system for implementing the fund service, belonging to the field of system design method. The overall architecture of the invention is based on the domain-driven design pattern, combining with the design patterns of single case, factory and other design patterns, and designs the layered design patterns of business layer and infrastructure layer to construct the system of capital channel. The main modules include borrower service module, internal lending service module, external notification service module, public tool module, business logic module, etc. According to the characteristics of different businesses of the management, the business logic is processed by synchronous request processing or asynchronous processing to ensure its timeliness and rationality, and the concurrent processing mode of the co-process is used to ensure the high concurrency ability of the system. In addition, the invention also uses a variety of design modes in combination with business to improve efficiency and code readability. The invention has strong expansibility and achieves high efficiency of business processing.

【技术实现步骤摘要】
一种资金服务方法及其系统
本专利技术涉及资金通道设计领域,特别涉及一种资金服务方法和资金服务系统。
技术介绍
为便于理解本
技术实现思路
,现给出缩略语和关键术语如下定义:DDD(Domain-DrivenDesign):领域驱动设计,一套综合软件系统分析和设计的面向对象建模方法;ModernC++:C++11,C++14,C++17标准的C++标准统称;cmq(CloudMessageQueue):分布式消息队列服务Protobuf(GoogleProtocolBuffer):一种轻便高效的结构化数据存储格式zmq(ZeroMQ):一种通信服务的消息队列现有的资金通道系统,是由一个网关服务和多个资金方服务和脚本组成,外部系统请求到网关服务,网关服务会路由到对应的资方服务,资方服务和脚本会根据这些请求的数据和资金接入方做对应的交互和请求。现有方案的存在的技术问题主要是:1、系统不支持同一个借款人在同一个资金方同时借多笔款;2、接入不同的资金方时无法复用之前的服务代码,这样导致很多基本工具代码无法共用,因此不仅会编写许多重复代码,而且代码臃肿不美观;3、另外因业务逻辑不同,所构造的服务系统也不尽相同,难以维护管理。
技术实现思路
本专利技术要解决的技术问题是提供一种资金通道的系统设计方法,通过业务层、基建层的设计步骤,构建资金通道的系统,针对资方不同业务的特性,通过同步请求处理或异步处理,并使用协程并发的处理模式,同时结合业务使用多种设计模式,解决了系统不支持同一个借款人在同一个资金方同时借多笔款的问题,也避免了基本工具代码无法共用,造成编写许多重复代码,同时也造成代码臃肿不美观的问题,同时也便于服务系统的维护管理。为解决上述技术问题,本专利技术的技术方案是:提供一种资金服务方法,所述资金服务包括借款人服务、内部放款服务、外部通知服务、公共工具服务和业务逻辑服务,其中,所述借款人服务,主要负责借款人信息的处理;包括添加借贷人信息、修改借款人信息、查询借贷人信息;所述内部放款服务,主要负责对内部匹配、放款模块交互;包括进件内部流程处理、开户内部流程处理、放款内部流程处理;所述外部通知服务,主要负责接收不同资方外部通知和转发通知;包括进件结果外部通知、开户结果外部通知、放款结果外部通知;所述公共工具服务,主要由各种数据库表操作、加解密一些工具处理;包括数据库处理、加解密处理;所述业务逻辑服务,主要负责对不同资方的业务逻辑处理;包括业务逻辑A、业务逻辑B。进一步地,所述的主要负责接收不同资方外部通知和转发通知的外部通知服务,其设计一个常驻进程负责处理不同资方的业务逻辑,当接收到外部的请求时,通过工厂模式将不同的资方请求跳转至常驻进程不同的业务逻辑处理服务中,并根据状态机去实现不同的业务流程。进一步地,所述的公共工具服务,将所有公共的工具封装为多个工具类,所述的工具类在不改变代码的情况下,供上层的业务逻辑服务、内部放款服务调用。进一步地,所述的工具类包括:数据库表的查询、插入等操作封装为一个数据库处理工具类;加解密处理封装为一个加解密处理工具类;字符串、时间处理函数封装为一个基础工具类。进步一地,所述业务逻辑服务包括:将所有的资方流程抽象为一个基类,每个资金通道子类继承这个基类,并在每个子类中实现其对应资方的业务逻辑;当资金服务请求不同资方时,将由触发器发起流程通知到常驻进程中,并统一并发去请求不同的资方的业务;当不同资方请求资金服务时,通过工厂模式将会跳转至不同的资金通道子类中,并进而在资金通道子类实现业务的逻辑处理。进一步地,所述的业务逻辑服务接入不同资方时:创建一个常驻进程负责不同资方的业务逻辑,当接收不同资方的请求时,通过外部通知服务并使用工厂模式将不同的资方请求跳转至不同的外部接口模块中;在外部接口模块中,不同资方各自实现对应的业务逻辑,并在处理中针对业务逻辑调用内部放款服务,实现内部模块的交互;内部模块交互时,根据业务逻辑处理内部逻辑处理,并调用数据仓库模块处理对应的数据库表;最后处理完业务流程后,需要主动给不同资方发送请求的时候,通过触发器发起任务并跳转至第一步中的常驻进程进行处理。较佳地,所述资金服务方法针对资方不同业务的特性,分为同步请求和异步处理,保证对业务逻辑处理的时效性和合理性。进一步地,所述的外部通知服务模块中负责接收外部资方的通知,当收到通知后,如果业务逻辑能够处理,则同步请求,及时处理;如果业务逻辑并不能即时处理,则使用cmq(CloudMessageQueue:分布式消息队列服务)或者zmq(一种通信服务的消息队列)实现异步处理,实现高效的处理效率。较佳地,所述资金服务方法还包括协程并发的处理模式,保证系统的高并发能力,所述的协程并发的处理模式包括:当多个资方接入的同时,在所述协程并发的处理模式中控制共享资源不加锁,只需要判断状态,保证了协程的执行效率。较佳地,所述资金服务方法结合业务使用多种设计模式,提高效率和代码可读性,所述的多种设计模式包括:在数据库的处理操作、cmq的设计等基础组件中,使用单例模式来实现其类的一个对象成为系统中的唯一实例;在常驻进程中收到不同资方的请求,使用工厂模式来实现跳转至对应的资方业务处理逻辑。较佳地,所述资金服务方系统中,业务逻辑模块增加业务逻辑的方法包括:使用工厂模式,在常驻进程中添加需要增加的业务逻辑。进一步地,所述资金服务包括应用层、业务层和基建层的设计步骤,所述的应用层负责不同进程服务之间的传输通信;所述的业务层负责不同资方的业务逻辑;所述的基建层负责提供稳定的基建环境。一种资金服务系统,包括:借款人服务模块,用于处理借款人信息;包括添加借贷人信息、修改借款人信息、查询借贷人信息;内部放款服务模块,用于完成内部匹配、放款模块交互;包括进件内部流程处理、开户内部流程处理、放款内部流程处理;外部通知服务模块,用于接收不同资方外部通知和转发通知;包括进件结果外部通知、开户结果外部通知、放款结果外部通知;公共工具模块,用于处理各种数据库表操作、加解密一些工具;包括数据库处理、加解密处理;业务逻辑模块,用于处理不同资方的业务逻辑;包括业务逻辑A、业务逻辑B。进一步地,所述外部通知服务模块包括一个常驻进程,负责处理不同资方的业务逻辑,当接收到外部的请求时,通过工厂模式将不同的资方请求跳转至常驻进程,进行不同的业务逻辑处理,并根据状态机去实现不同的业务流程。进一步地,所述公共工具模块将所有公共的工具封装为多个工具类,所述的工具类在不改变代码的情况下,供上层的业务逻辑服务、内部放款服务调用;所述的工具类包括:数据库表的查询、插入等操作封装为一个数据库处理工具类;加解密处理封装为一个加解密处理工具类;字符串、时间处理函数封装为一个基础工具类。进一步地,所述业务逻辑模块处理:将所有的资方流程抽象为一个基类,每个资金通道子类继承这个基类,并在每个子类中实现其对应资方的业务逻辑;当资金服务请求不同资方时,将由触发器发起流程通知到常驻进程中,并统一并发去请求不同的资方的业务;当不同资方请求资金服务时,通过工厂模式将会跳转至不同的资金通道子类中,并进而在资金通道子类实现业务的逻辑处理。进一步地,所述的业务逻辑服务接入不同资方时:创建一个常驻进程负责不同资方的业务逻辑,当接收不同本文档来自技高网...

【技术保护点】
1.一种资金服务方法,所述资金服务包括借款人服务、内部放款服务、外部通知服务、公共工具服务和业务逻辑服务,其特征在于:所述借款人服务,主要负责借款人信息的处理;包括添加借贷人信息、修改借款人信息、查询借贷人信息;所述内部放款服务,主要负责对内部匹配、放款模块交互;包括进件内部流程处理、开户内部流程处理、放款内部流程处理;所述外部通知服务,主要负责接收不同资方外部通知和转发通知;包括进件结果外部通知、开户结果外部通知、放款结果外部通知;所述公共工具服务,主要由各种数据库表操作、加解密一些工具处理;包括数据库处理、加解密处理;所述业务逻辑服务,主要负责对不同资方的业务逻辑处理;包括业务逻辑A、业务逻辑B。

【技术特征摘要】
1.一种资金服务方法,所述资金服务包括借款人服务、内部放款服务、外部通知服务、公共工具服务和业务逻辑服务,其特征在于:所述借款人服务,主要负责借款人信息的处理;包括添加借贷人信息、修改借款人信息、查询借贷人信息;所述内部放款服务,主要负责对内部匹配、放款模块交互;包括进件内部流程处理、开户内部流程处理、放款内部流程处理;所述外部通知服务,主要负责接收不同资方外部通知和转发通知;包括进件结果外部通知、开户结果外部通知、放款结果外部通知;所述公共工具服务,主要由各种数据库表操作、加解密一些工具处理;包括数据库处理、加解密处理;所述业务逻辑服务,主要负责对不同资方的业务逻辑处理;包括业务逻辑A、业务逻辑B。2.根据权利要求1所述的资金服务方法,其特征在于:所述的主要负责接收不同资方外部通知和转发通知的外部通知服务,其设计一个常驻进程负责处理不同资方的业务逻辑,当接收到外部的请求时,通过工厂模式将不同的资方请求跳转至常驻进程不同的业务逻辑处理服务中,并根据状态机去实现不同的业务流程。3.根据权利要求1或2所述的资金服务方法,其特征在于:所述的公共工具服务,将所有公共的工具封装为多个工具类,所述的工具类在不改变代码的情况下,供上层的业务逻辑服务、内部放款服务调用。4.根据权利要求3所述的资金服务方法,其特征在于:所述的工具类包括:数据库表的查询、插入等操作封装为一个数据库处理工具类;加解密处理封装为一个加解密处理工具类;字符串、时间处理函数封装为一个基础工具类。5.根据权利要求4所述的资金服务方法,其特征在于:所述业务逻辑服务包括:将所有的资方流程抽象为一个基类,每个资金通道子类继承这个基类,并在每个子类中实现其对应资方的业务逻辑;当资金服务请求不同资方时,将由触发器发起流程通知到常驻进程中,并统一并发去请求不同的资方的业务;当不同资方请求资金服务时,通过工厂模式将会跳转至不同的资金通道子类中,并进而在资金通道子类实现业务的逻辑处理。6.根据权利要求1、2、4或5中任意一项所述的资金服务方法,其特征在于:所述的业务逻辑服务接入不同资方时:创建一个常驻进程负责不同资方的业务逻辑,当接收不同资方的请求时,通过外部通知服务并使用工厂模式将不同的资方请求跳转至不同的外部接口模块中;在外部接口模块中,不同资方各自实现对应的业务逻辑,并在处理中针对业务逻辑调用内部放款服务,实现内部模块的交互;内部模块交互时,根据业务逻辑处理内部逻辑处理,并调用数据仓库模块处理对应的数据库表;最后处理完业务流程后,需要主动给不同资方发送请求的时候,通过触发器发起任务并跳转至第一步中的常驻进程进行处理。7.根据权利要求3所述的资金服务方法,其特征在于:所述的业务逻辑服务接入不同资方时:创建一个常驻进程负责不同资方的业务逻辑,当接收不同资方的请求时,通过外部通知服务并使用工厂模式将不同的资方请求跳转至不同的外部接口模块中;在外部接口模块中,不同资方各自实现对应的业务逻辑,并在处理中针对业务逻辑调用内部放款服务,实现内部模块的交互;内部模块交互时,根据业务逻辑处理内部逻辑处理,并调用数据仓库模块处理对应的数据库表;最后处理完业务流程后,需要主动给不同资方发送请求的时候,通过触发器发起任务并跳转至第一步中的常驻进程进行处理。8.根据权利要求6或7所述的资金服务方法,其特征在于:针对资方不同业务的特性,分为同步请求和异步处理,保证对业务逻辑处理的时效性和合理性。9.根据权利要求8所述的资金服务方法,其特征在于:所述的外部通知服务模块中负责接收外部资方的通知,当收到通知后,如果业务逻辑能够处理,则同步请求,及时处理;如果业务逻辑并不能即时处理,则使用cmq(CloudMessageQueue:分布式消息队列服务)或者zmq(一种通信服务的消息队列)实现异步处理,实现高效的处理效率。10.根据权利要求6或7所述的资金服务方法,其特征在于:还包括协程并发的处理模式,保证系统的高并发能力,所述的协程并发的处理模式包括:当多个资方接入的同时,在所述协程并发的处理模式中控制共享资源不加锁,只需要判断状态,保证了协程的执行效率。11.根据权利要求6或7所述的资金服务方法,其特征在于:结合业务使用多种设计模式,提高效率和代码可读性,所述的多种设计模式包括:在数据库的处理操作、cmq的设计等基础组件中,使用单例模式来实现其类的一个对象成为系统中的唯一实例;在常驻进程中收到不同资方的请求,使用工厂模式来实现跳转至对应的资方业务处理逻辑。12.根据权利要求6或7所述的资金服务方法,其特征在于:业务逻辑模块增加业务逻辑的方法包括:使用工厂模式,在常驻进程中添加需要增加的业务逻辑。13.根据权利要求1至12中任一项所述的资金服务方法,其特征在于:所述资金服务包括应用层、业务层和基建层的设计步骤,所述的应用层负责不同进程服...

【专利技术属性】
技术研发人员:李如刚张伟
申请(专利权)人:深圳市小赢信息技术有限责任公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1