CN102156944A - 一种实现银企互联的数据处理方法及系统 - Google Patents
一种实现银企互联的数据处理方法及系统 Download PDFInfo
- Publication number
- CN102156944A CN102156944A CN2010101120055A CN201010112005A CN102156944A CN 102156944 A CN102156944 A CN 102156944A CN 2010101120055 A CN2010101120055 A CN 2010101120055A CN 201010112005 A CN201010112005 A CN 201010112005A CN 102156944 A CN102156944 A CN 102156944A
- Authority
- CN
- China
- Prior art keywords
- bank
- data
- enterprise
- configuration file
- transaction
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实现银企互联的数据处理系统,包括:接入适配器,用于接收企业发送的企业端报文数据,并将企业端报文数据解释为客户代码、交易代码以及交易数据;格式转换装置,用于将交易数据中的多个字段映射到多个内存变量,并将所述内存变量中对应的字段拼装成定长格式,生成具有定长格式的银行端交易数据;银行通讯组件,用于将银行端交易数据发送给目标系统进行处理,生成业务处理数据。本发明还公开了一种实现银企互联的数据处理的方法。通过实施本发明的实现银企互联的数据处理方法及系统,保证了银行系统的业务处理单一性和兼容性,提高了代码的复用性,降低了系统扩展以及维护的复杂性和难度。
Description
技术领域
本发明涉及金融系统中的数据交换领域,尤其涉及一种实现银企互联的数据处理方法及系统。
背景技术
如今,大的集团企业为了规范财务运作、追求资金运用效率,投产了企业资源计划(ERP,Enterprise Resource Planning)系统,并要求ERP系统与主办银行进行对接,由银行为公司提供集中收付款、资金归集、票据托管以及委托贷款等现金管理服务。
但是,在现有的银行与企业互联系统中,要求企业必须严格按照银行的要求进行指令格式的编码,这给使用不同ERP系统的企业带来开发上的很大不便。为了体现以客户为中心,要求银行的业务处理系统必须能够处理各种大集团使用的不同ERP系统所发出的不同编码格式的指令。这将导致银行面临与各种系统进行通讯和数据交换的压力,即银行需要处理不同的通讯方式和交易报文。随着与银行直连企业的不断增加,银行业务处理系统将需要不断扩展报文处理模块,重复开发和改造将以几何级数增长,最终达到一种难以维护的状态。
发明内容
本发明实施例提供一种实现银企互联的数据处理系统,包括:接入适配器,用于接收企业发送的企业端报文数据,并将所述的企业端报文数据解释为客户代码、交易代码以及交易数据;格式转换装置,用于将所述交易数据中的多个字段映射到多个内存变量,并将所述内存变量中对应的字段拼装成定长格式,生成具有定长格式的银行端交易数据;银行通讯组件,用于将所述的银行端交易数据发送给目标系统进行处理,生成业务处理数据。
本发明实施例还提供一种实现银企互联的数据处理方法,包括:接收企业发送的企业端报文数据,并将所述的企业端报文数据解释为客户代码、交易代码以及交易数据;将所述交易数据中的多个字段映射到多个内存变量,并将所述内存变量中对应的字段拼装成定长格式,生成具有定长格式的银行端交易数据;将所述的银行端交易数据发送给目标系统进行处理,生成业务处理数据。
通过实施本发明的实现银企互联的数据处理方法及系统,使客户系统与银行系统之间的通讯方式、交易报文格式相互透明,保证了银行系统的业务处理单一性和兼容性,提高了代码的复用性,降低了系统扩展以及维护的复杂性和难度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明实施例的实现银企互联的数据处理系统的结构示意图;
图2为图1所示实施例的实现银企互联的数据处理系统中的格式转换装置的结构示意图;
图3为本发明实施例的企业通过网络和本发明的实现银企互联的数据处理系统,与银行进行对接的网络架构图;
图4为本发明实施例的实现银企互联的数据处理方法的流程图;
图5为本发明的实现银企互联的数据处理方法的实施例一的方法流程图;
图6为本发明的实现银企互联的数据处理方法的实施例二中的转账交易数据在银行端的定长格式示意图;
图7为本发明的实现银企互联的数据处理方法的实施例二中生成的银行端交易数据;
图8为本发明的实现银企互联的数据处理方法的实施例二中的银行业务处理系统生成的业务处理数据的定长格式示意图;
图9为本发明的实现银企互联的数据处理方法的实施例二中的银行业务处理系统生成的业务处理数据。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
图1为本发明实施例的实现银企互联的数据处理系统的结构示意图。如图所示:本发明实施例的数据处理系统由接入适配器101、格式转换装置102、银行通讯组件103、企业通讯组件104和相应的配置文件构成。其中,配置文件包括:企业接入配置文件库105中的本企业的接入配置文件、企业格式转换配置文件库106的本企业的格式转换配置文件、银行通讯组件配置文件和企业通讯组件配置文件,其中银行通讯组件配置文件是各企业共用的。
接入适配器101可以是一个HTTPS、HTTP或SOCKET等的服务端,用于接收企业发起的报文数据,并保存到接收字段中,系统启动时接入适配器101根据企业接入配置文件库105为各类企业启动监听线程,使它们处于监听状态。
图1中企业接入配置文件库105存放了各类企业的不同通讯协议的接入配置文件,其中通讯协议是指HTTPS、HTTP或SOCKET等;企业格式转换配置文件库106为每个企业建立一目录,企业目录中又按交易为每个交易建立一目录,每个交易目录中存放了该交易的格式转换配置文件。企业接入配置文件库105是接入适配器101的配置文件集,其中的每个配置文件包括接入适配器名称、接入适配器的类路径、接入适配器类属性、接收字段名。接入适配器101根据类路径和属性启动该类的实例进行监听。HTTPS接入适配器具有监听端口、通讯证书私钥文件、私钥文件的密码三个属性;HTTP接入适配器和SOCKET接入适配器均只有监听端口一个属性。接入适配器是可以扩展的,如果企业需要特殊的通讯方式可以根据企业的需求开发特定的接入适配器类。
数据处理系统要求企业ERP系统和银行发送的报文数据中必须包含三部分内容:客户代码、交易代码和交易数据。客户代码是指银行给企业的唯一标识,银行按客户代码区分不同企业;交易代码是指交易数据对应的代码,银行根据交易代码调用对应的交易处理模块对交易数进行处理;交易数据即银行处理交易时要用到的数据。因此,在本发明实施例中,银行可以与企业约定,不同通讯方式有所不同,但内容是相同的,都包括:接口版本号、客户代码、交易代码、客户交易数据和交易数据签名等信息。接入适配器101将得到的接收字段中的数据解释为客户代码、交易代码和交易数据,同时用客户代码加上交易代码组成系统交易代码,将这些内容和当前目录输出到格式转换装置102中。
如图2所示,为图1所示实施例的实现银企互联的数据处理系统中的格式转换装置的结构示意图。如图所示,格式转换装置102根据接入适配器101传入的系统交易代码和目录信息装入转换配置文件,然后根据配置文件和交易数据完成格式转换,最终将转换后的交易数据发给相应的目标系统。其包括:配置文件读入装置1021、组件调度装置1022、拆包组件1023、报文映射装置1024、拼包组件1025、通讯组件1026、组件配置存储装置1027和报文格式转换存储装置1028。
图1中所示的企业格式转换配置文件库106是格式转换装置102的配置文件集,其中的每个具体交易的配置文件均由工作流配置文件和报文映射配置文件组成。
工作流配置文件记录了各组件结点,组件结点的内容包括:组件的类路径和组件需要用到的各属性。组件调度装置1022根据类路径和属性执行该类的实例方法,组件是可以扩展的,根据企业的特殊需求可以单独为其开发组件,调用组件只需要将该组件配置到工作流中即可。
报文映射配置文件记录了报文分析的类路径和报文字段与系统字段的映射关系,拆包组件1023和拼包组件1025调用报文映射装置1024根据报文映射文件进行指令的拆包和拼包操作。
配置文件读入装置1021根据传入的目录和系统交易代码分别调用组件配置存储装置1027和报文格式转换存储装置1028,将企业格式转换配置文件库106中对应企业目录下系统交易代码子目录中的工作流配置文件和报文映射配置文件读入到对应的这两个存储装置中。
组件调度装置1022根据组件配置存储装置1027中的内容进行组件调度。组件配置存储装置1027记录的组件一般包含:拆包组件1023、拼包组件1025和通讯组件1026。
拆包组件1023调用报文映射装置1024进行字段映射,报文映射装置1024将交易数据按报文格式转换存储装置1028中的报文映射配置文件进行字段的映射。
拼包组件1025调用报文映射装置1024,将上一步得到的映射字段按报文格式转换存储装置1028中的报文映射配置文件重新组成新的交易数据;从而实现将接入适配器101中得到的交易数据转换为银行端格式的交易数据,或将银行通讯组件103中得到的交易数据转换为企业端格式的交易数据。
通讯组件1026调用银行通讯组件103或企业通讯组件104,将新的交易数据发送给银行或企业。
图1中的银行通讯组件103用于与目标系统进行数据交换,系统启动时该组件与目标系统建立连接。银行通讯组件103的银行通讯组件配置文件包括交换数据字段名、各客户代码对应的企业目录、目标系统的IP地址和端口等信息。
银行通讯组件103有发送和接收两个动作。发送:格式转换装置102调用银行通讯组件103时将要发送的数据放到交换数据字段中,并调用发送方法将该字段中的数据发送出去;接收:银行通讯组件103收到目标系统的数据时首先将数据放到交换数据字段中,然后解释收到的数据,从中获取客户代码、交易代码和交易数据,并以客户代码、交易代码和标志位作为系统交易代码,此标志位用于区分接入适配器101过来的系统交易代码,银行通讯组件103首先根据客户代码从银行通讯组件配置文件中获取企业目录,同时将企业目录和系统交易代码传给格式转换装置102。
企业通讯组件104用于将数据发送给对应企业。企业通讯组件104的企业通讯组件配置文件内容包括发送字段名、各企业结点,其中企业结点的内容又包括客户代码、企业ERP系统IP地址、端口及通讯协议。企业通讯组件104根据客户代码获取对应的企业结点,按企业结点中的信息创建与企业ERP系统的连接,最终将发送字段中的数据发送出去。
图3为本发明实施例的企业通过网络和本发明的实现银企互联的数据处理系统,与银行进行对接的网络架构图。
其中企业ERP系统1通过网络2与银行的数据处理系统3相连,数据处理系统3通过网络4与银行业务处理系统5相连。其中网络2可以是DDN、VNP专线或Internet,网络4为银行内部网。
企业ERP系统1用于发送交易指令和接收银行返回的处理结果。数据处理系统3用于通讯协议和交易数据格式的转换。使用与银行约定的通讯协议,企业ERP系统1发送企业格式的交易数据到数据处理系统3,数据处理系统3进行处理后,以银行内部通讯协议和交易格式将数据发送银行业务处理系统5。对银行业务处理系统5反馈的数据,数据处理系统3亦进行转换后,再反馈企业ERP系统1。银行业务处理系统5处理银行内部交易数据格式数据,并将处理结果反馈给数据处理系统3。
图4为本发明实施例的实现银企互联的数据处理方法的流程图,如图所示:
步骤S101,接收企业发送的企业端报文数据,并将企业端报文数据解释为客户代码、交易代码以及交易数据;
步骤S102,将交易数据中的多个字段映射到多个内存变量,并将所述内存变量中对应的字段拼装成定长格式,生成具有定长格式的银行端交易数据;
步骤S103,将银行端交易数据发送给目标系统进行处理,生成业务处理数据。
实施例一:
图5为本发明的实现银企互联的数据处理方法的实施例一的方法流程图。其具体步骤如下:
步骤201:接入适配器101接收企业ERP系统发过来的报文数据,接收完数据后首先将数据保存到接收字段中,其次将数据解释为三部分内容:客户代码、交易代码和交易数据,并由客户代码和交易代码组成系统交易代码,最后将当前企业目录和系统交易代码传给格式转换装置102;
步骤202:配置文件读入装置1021根据企业目录和系统交易代码,调用组件配置存储装置1027和报文格式转换存储装置1028,装入企业目录中系统交易代码子目录下的格式转换配置文件;
步骤203:组件调度装置1022按组件配置存储装置1027中的工作流配置文件调用拆包组件1023,该组件调用报文映射装置1024,报文映射装置1024根据报文格式转换存储装置1028中的报文映射配置文件,将交易数据拆分成对应的映射字段;
步骤204:组件调度装置1022按组件配置存储装置1027中的工作流配置文件调用拼包组件1025,该组件调用报文映射装置1024,报文映射装置1024根据报文格式转换存储装置1028中的报文映射配置文件,将上一步得到的各字段重新拼成银行格式的交易数据,并将客户代码、交易代码和转换后的交易数据拼成银行端格式的报文数据;
步骤205:组件调度装置1022按组件配置存储装置1027中的工作流配置文件调用通讯组件1026,该组件按属性调用银行通讯组件103;
步骤206:银行通讯组件103将报文数据发送给银行业务处理系统5;
步骤207:银行业务处理系统根据交易代码,调用相应处理模块进行业务处理;
步骤208:银行业务处理系统5将处理结果返回给数据处理系统;
步骤209:银行通讯组件103将接收到的银行结果数据保存到交换数据字段中,将数据解释为客户代码、交易代码、交易数据和系统交易代码,其中系统交易代码由客户代码、交易代码和标志位组成;
银行通讯组件103根据客户代码从银行通讯组件配置文件中获取企业目录,同时将企业目录和系统交易代码传给格式转换装置102;
步骤210:配置文件读入装置1021根据企业目录和系统交易代码,装入企业目录中系统交易代码子目录下的格式转换配置文件;
步骤211:组件调度装置1022按组件配置存储装置1027中的工作流配置文件调用拆包组件1023,该组件调用报文映射装置1024,报文映射装置1024根据报文格式转换存储装置1028中的报文映射配置文件,将交易数据拆分成对应的映射字段;
步骤212:组件调度装置1022按组件配置存储装置1027中的工作流配置文件调用拼包组件1025,该组件调用报文映射装置1024,报文映射装置1024根据报文格式转换存储装置1028中的报文映射配置文件,将上一步得到的各字段重新拼成企业格式的交易数据,并将客户代码、交易代码和转换后的交易数据拼成企业端格式的报文数据;
步骤213:组件调度装置1022按组件配置存储装置1027中的工作流配置文件调用通讯组件1026,该组件按属性调用企业通讯组件104;
步骤214:企业通讯组件104根据企业通讯组件配置文件,获取对应客户代码的企业结点,按照企业结点信息建立与对应企业的连接,并将报文数据发送给企业ERP系统。
实施例二:
企业K001采用http接入,其http请求格式为:version=<接口版本号>&group_code=<客户代码>&tran_code=<交易代码>&body=<客户交易数据>&signature=<交易数据签名>。
本实施例以企业K001做一次转账的数据处理流程为例,转账交易数据企业端的格式采用XML存储格式,表示如下:
<?xml version=″1.0″encoding=″GB2312″?>
<CMS>
<eb>
<in>
<AccNo>本方账号</AccNo>
<AccName>本方账户名称</AccName>
<RecAccNo>对方账号</RecAccNo>
<RecAccName>对方账户名称</RecAccName>
<CurrType>币种</CurrType>
<PayAmt>金额</PayAmt>
</in>
</eb>
</CMS>
转账交易数据银行端的定长格式表示为图6所示。
在本实施例中,接入适配器101接收到的ERP系统传来的数据解释为:客户代码K001,交易代码J001。接入适配器是负责与企业ERP系统通讯的模块,在本实施例中,接入适配器是一个http通讯服务端,监听http请求,企业端通过http请求发过来的数据格式为“version=<接口版本号>&group_code=<客户代码>&tran_code=<交易代码>&body=<客户交易数据>&signature=<交易数据签名>”。
交易数据在此采用XML存储格式为:
<?xml version=″1.0″encoding=″GB2312″?>
<CMS>
<eb>
<in>
<AccNo>1234567</AccNo>
<AccName>张三</AccName>
<RecAccNo>8912345</RecAccNo>
<RecAccName>李四</RecAccName>
<CurrType>CNY</CurrType>
<PayAmt>3000000</PayAmt>
</in>
</eb>
</CMS>
利用本发明实施例的数据处理流程如下:
http接入适配器可以得到所需的客户代码K001、交易代码J001和交易数据,再根据客户代码K001和交易代码J001,从企业接入配置文件库105中读入对应的接入配置文件,所述对应的接入配置文件的关键信息表示如下:
<Business Description=″″Name=″K客户″Directory=″K001″>
<Trades Description=″交易管理″Name=″交易管理″Directory=″trades″>
<Trade Description=″转账″Name=″J001″Directory=″KJ001″/>
</Trades>
</Business>
则可根据上述的接入配置文件得到对应的企业目录信息为(K001/trades/KJ001)。另外,接入适配器还将客户代码加上交易代码,生成系统交易代码K001+J001。此后,将得到的企业目录信息(K001/trade/KJ001)、系统交易代码K001+J001以及以XML格式存储的交易数据发送给格式转换装置102进行数据格式的转换。
配置文件读入装置1021根据企业目录(K001/trades/KJ001)和系统交易代码K001+J001,将企业格式转换配置文件库106中对应的工作流配置文件和报文映射配置文件读入到组件配置存储装置1027和报文格式转换存储装置1028中。
其中,组件配置存储装置1027包括拆包组件body_unpack.xml、拼包组件body_pack.xml以及通讯组件。
其中,body_unpack.xml为拆包文件,负责对企业交易数据进行拆分处理,其内容为:
<?xml version=″1.0″encoding=″GB2312″?>
-<MessageMap>
-<Message Type=″XML报文″ClassName=″com.bank.CMS.CMSXmlAnalyzer″>
<Parameter Name=″编码″Value=″gb2312″/>
<Parameter Name=″根路径″Value=″CMS″/>
-<Field defaultValue=″″FieldName=″AccNo″FieldType=″String″>
<Parameter Name=″路径″Value=″/CMS/eb/in/AccNo″/>
<Method Name=″DataFieldValidate.validateLength″Parameter=″,34″/>
</Field>
-<Field defaultValue=″″FieldName=″AccName″FieldType=″String″>
<Parameter Name=″路径″Value=″/CMS/eb/in/AccName″/>
<Method Name=″DataFieldValidate.validateLength″Parameter=″,60″/>
</Field>
-<Field defaultValue=″″FieldName=″RecAccNo″FieldType=″String″>
<Parameter Name=″路径″Value=″/CMS/eb/in/RecAccNo″/>
<Method Name=″DataFieldValidate.validateLength″Parameter=″,34″/>
</Field>
-<Field defaultValue=″″FieldName=″RecAccName″FieldType=″String″>
<Parameter Name=″路径″Value=″/CMS/eb/in/RecAccName″/>
<Method Name=″DataFieldValidate.validateLength″Parameter=″,60″/>
</Field>
-<Field defaultValue=″″FieldName=″CurrType″FieldType=″String″>
<Parameter Name=″路径″Value=″/CMS/eb/in/CurrType″/>
<Method Name=″DataFieldValidate.validateLength″Parameter=″3,3″/>
</Field>
-<Field defaultValue=″0″FieldName=″PayAmt″FieldType=″String″>
<Parameter Name=″路径″Value=″/CMS/eb/in/PayAmt″/>
<Method Name=″DataFieldValidate.validateLength″Parameter=″,17″/>
</Field>
</Message>
</MessageMap>
根据body_unpack.xml文件对企业端交易数据进行处理,首先可以调用CMSXmlAnalyzer解释器将交易数据映射到对应的FieldName中,如将交易数据中的/CMS/eb/in/AccNo的内容映射到配置文件指定的内存变量AccNo中,解析此字段内容的同时会调用DataFieldValidate.validateLength方法进行长度检查,验证用户输入的string类型是否处于有效长度之内。在本实施例中,
-<Field defaultValue=″″FieldName=″AccNo″FieldType=″String″>
<Parameter Name=″路径″Value=″/CMS/eb/in/AccNo″/>
<Method Name=″DataFieidValidate.validateLength″Parameter=″,34″/>
</Field>
解释为将/CMS/eb/in/AccNo路径中的内容,即字段“1234567”映射到内存变量AccNo中,内存变量AccNo内存为34个字节,因此长度检查通过,可以存入。
body_pack.xml为拼包文件,负责将body_unpack.xml拆包组件解析出来的数据打包为银行端的数据格式,其内容为:
<?xml version=″1.0″encoding=″GB2312″?>
-<MessageMap>
-<Message Type=″定长报文″ClassName=″com.bank.CMS.FixAnalyzer″>
-<Field defaultValue=″″FieldName=″AccNo″FieldType=″String″>
____<PackExpr Expr=″${AccNo}″/>
<Parameter Name=″长度″Value=″34″/>
<Method Name=″StringFormat.fillChar″Parameter=″右,34,”″/>
</Field>
-<Field defaultValue=″″FieldName=″AccName″FieldType=″String″>
____<PackExpr Expr=″${AccName}″/>
<Parameter Name=″长度″Value=″140″/>
<Method Name=″StringFormat.fillChar″Parameter=″右,60,”″/>
</Field>
-<Field defaultValue=″″FieldName=″RecAccNo″FieldType=″String″>
____<PackExpr Expr=″${RecAccNo}″/>
<Parameter Name=″长度″Value=″34″/>
<Method Name=″StringFormat.fillChar″Parameter=″右,34,”″/>
</Field>
-<Field defaultValue=″″FieldName=″RecAccName″FieldType=″String″>
____<PackExpr Expr=″${RecAccName}″/>
<Parameter Name=″长度″Value=″140″/>
<Method Name=″StringFormat.fillChar″Parameter=″右,60,”″/>
</Field>
-<Field defaultValue=″″FieldName=″CurrType″FieldType=″String″>
____<PackExpr Expr=″${CurrType}″/>
<Parameter Name=″长度″Value=″3″/>
<Method Name=″StringFormat.fillChar″Parameter=″右,3,”″/>
</Field>
-<Field defaultValue=″″FieldName=″PayAmt″FieldType=″String″>
____<PackExpr Expr=″${PayAmt}″/>
<Parameter Name=″长度″Value=″17″/>
<Method Name=″StringFormat.fillChar″Parameter=″左,17,’0’″/>
</Field>
</Message>
</MessageMap>
根据body_pack.xml可以调用FixAnalyzer解释器将内存变量中的数值拼装为定长格式;在本实施例中:
-<Field defaultValue=″″FieldName=″AccNo″FieldType=″String″>
____<PackExpr Expr=″${AccNo}″/>
<Parameter Name=″长度″Value=″34″/>
<Method Name=″StringFormat.fillChar″ Parameter=″右,34,”″/>
</Field>
解释为将内存AccNo中的数据拼装为34位的字符,不足进行右补空格处理。
-<Field defaultValue=″″FieldName=″PayAmt″FieldType=″String″>
____<PackExpr Expr=″${PayAmt}″/>
<Parameter Name=″长度″Value=″17″/>
<Method Name=″StringFormat.fillChar″Parameter=″左,17,’0’″/>
</Field>
解释为将内存PayAmt中的数据拼装成17位的字符,不足则左补0处理。
因此,本实施例中,对于上述的企业端源交易数据:
<?xml version=″1.0″encoding=″GB2312″?>
<CMS>
<eb>
<in>
<AccNo>1234567</AccNo>
<AccName>张三</AccName>
<RecAccNo>8912345</RecAccNo>
<RecAccName>李四</RecAccName>
<CurrType>CNY</CurrType>
<PayAmt>3000000</PayAmt>
</in>
</eb>
</CMS>
在经过拆包和拼包转换后,形成的银行端的交易数据如图7所示。即:本方帐号为“1234567”,长度为34个字节,每个数字占一个字节,不足则右补27个空格;本方帐号名称“张三”,长度为60个字节,每个汉字占两个字节,不足则右补56个空格;对方帐号为“8912345”,长度为34个字节,每个数字占一个字节,不足则右补27个空格;本方帐号名称“李四”,长度为60个字节,每个汉字占两个字节,不足则右补56个空格;币种为“CNY”,长度为3个字节;金额为“3000000”,长度为17个字节,每个数字占一个字节,不足则左补10个0。
反之,通过相应的配置文件,可以将银行端格式的数据转换为企业端格式数据。
银行端进行业务处理后返回相应的处理结果,银行端的业务处理数据存储为定长格式如图8所示。
而企业端的格式采用XML存储格式,如下所示:
<?xml version=″1.0″encoding=″GB2312″?>
<CMS>
<eb>
<out>
<TransOk>成功失败标志</TransOk>
<ErrNo>错误代码</ErrNo>
<ErrMsg>错误描述</ErrMsg>
</out>
</eb>
</CMS>
首先,银行通讯组件103将银行处理结果数据解释为客户代码、交易代码、交易数据和系统交易代码,其中系统交易代码由客户代码、交易代码和标志位组成。银行通讯组件103根据客户代码从银行通讯组件配置文件中获取企业目录信息为(K001/trades/KJ001)。此后,银行通讯组件103将企业目录信息和系统交易代码以及交易数据传给格式转换装置102进行处理。
配置文件读入装置1021根据企业目录(K001/trades/KJ001)和系统交易代码K001+J001,将企业格式转换配置文件库106中对应的工作流配置文件和报文映射配置文件读入到组件配置存储装置1027和报文格式转换存储装置1028中。
其中,组件配置存储装置1027包括对银行处理数据的拆包文件return_unpack.xml和拼包文件retum_pack.xml。
其中,return_unpack.xml为拆包文件,负责对银行端生成的业务处理数据进行拆分处理,其内容为:
<?xml version=″1.0″encoding=″GB2312″?>
-<MessageMap>
-<Message Type=″定长报文″ClassName=″com.bank.CMS.FixAnalyzer″>
-<Field defaultValue=″″FieldName=″TransOk″FieldType=″String″>
<Parameter Name=″长度″Value=″1″/>
</Field>
-<Field defaultValue=″″FieldName=″ErrNo″FieldType=″String″>
<Parameter Name=″长度″Value=″8″/>
</Field>
-<Field defaultValue=″″FieldName=″ErrMsg″FieldType=″String″>
<Parameter Name=″长度″Value=″60″/>
</Field>
</Message>
</MessageMap>
根据return_unpack.xml可以调用FixAnalyzer解释器将业务数据根据各字段的长度映射到对应的FieldName中。如将交易数据中的第1位的内容映射到配置文件指定的内存变量TransOk中,第2-9位的内容映射到内存变量ErrNo中,第10-69位的内容映射到内存变量ErrMsg中。
return_pack.xml为拼包文件,负责将return_unpack.xml拆包组件解析出来的数据打包为企业端的数据格式,其内容为:
<?xml version=″1.0″encoding=″GB2312″?>
-<MessageMap>
-<Message Type=″XML报文″ClassName=″com.bank.CMS.CMSXmlAnalyzer″>
<Parameter Name=″编码″Value=″gb2312″/>
<Parameter Name=″根路径″Value=″CMS″/>
-<Field defaultValue=″″″″FieldName=″TransOk″FieldType=″String″>
<Parameter Name=″路径″Value=″/CMS/eb/out/TransOk″/>
<PackExpr Expr=″${TransOk}″/>
</Field>
-<Field defaultValue=″″″″FieldName=″ErrNo″FieldType=″String″>
<Parameter Name=″路径″Value=″/CMS/eb/out/ErrNo″/>
<PackExpr Expr=″${ErrNo}″/>
</Field>
-<Field defaultValue=″″″″FieldName=″ErrMsg″FieldType=″String″>
<Parameter Name=″路径″Value=″/CMS/eb/out/ErrMsg″/>
<PackExpr Expr=″${ErrMsg}″/>
<Method Name=″StringFormat.trim″Parameter=″″/>
</Field>
</Message>
</MessageMap>
根据return_pack.xml可以调用CMSXmlAnalyzer解释器将内存变量中的数值拼装为XML格式;在本实施例中:
-<Field defaultValue=″″″″FieldName=″ErrMsg″FieldType=″String″>
<Parameter Name=″路径″Value=″/CMS/eb/out/ErrMsg″/>
<PackExpr Expr=″${ErrMsg}″/>
<Method Name=″StringFormat.trim″Parameter=″″/>
</Field>
解释为将内存ErrMsg中的数据调用StringFormat.trim函数清空左右空格后拼装到XML的/cms/eb/out/ErrMsg节点。
因此,本实施例中,银行处理系统处理后的业务处理数据如图9所示,成功失败标志为“1”,占一个字节;错误代码为“93004101”,占8个字节,无须补零;错误描述为“帐户余额不足”,占12个字节,由于字段长度为60个字节,因此需要右补58个空格。其表示形式如图9所示。在经过拆包和拼包转换后,得到的企业端交易数据为XML存储格式,表示如下:
<cms>
<eb>
<out>
<TransOk>1</TransOk>
<ErrNo>93004101</ErrNo>
<ErrMsg>帐户余额不足</ErrMsg>
</out>
</eb>
</cms>
通过实施本发明的实现银企互联的数据处理方法及系统,使客户系统和银行处理系统之间的通讯方式、交易报文格式相互透明,很好地解决了银行业务处理系统与不同通讯方式、不同指令格式的客户系统进行直联交互的问题,使用客户无需按银行规定的指令格式对企业系统进行改造,为客户提供了灵活的解决方案,体现了以客户为中心的银行服务理念,增强了银行的核心竞争力;另外,作为银行也不必因为客户的系统通讯方式不同、指令格式不同而不断地改造业务处理系统,避免银行业务处理系统最终因为客户个性化服务太多而无法维护。通过本发明,银行系统只要简单地制定一套统一的、标准的通讯方式和指令格式,就可以实现与各类客户系统进行对接,实现数据交互,因此保证了银行系统的业务处理单一性和兼容性,提高了代码的复用性,降低了系统扩展以及维护的复杂性和难度。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种实现银企互联的数据处理系统,其特征在于,所述的数据处理系统包括:
接入适配器,用于接收企业发送的企业端报文数据,并将所述的企业端报文数据解释为客户代码、交易代码以及交易数据;
格式转换装置,用于将所述交易数据中的多个字段映射到多个内存变量,并将所述内存变量中对应的字段拼装成定长格式,生成具有定长格式的银行端交易数据;
银行通讯组件,用于将所述的银行端交易数据发送给目标系统进行处理,生成业务处理数据。
2.如权利要求1所述的实现银企互联的数据处理系统,其特征在于,所述的数据处理系统还包括:
企业接入配置文件库,用于储存多个企业对应的接入配置文件;所述的接入适配器根据所述的企业接入配置文件库生成所述企业对应的企业目录。
3.如权利要求1所述的实现银企互联的数据处理系统,其特征在于,所述的数据处理系统还包括:
企业格式转换配置文件库,用于储存多个企业对应的转换配置文件;所述的格式转换装置根据所述的企业格式转换配置文件库生成所述的银行端交易数据。
4.如权利要求1所述的实现银企互联的数据处理系统,其特征在于,所述的数据处理系统还包括:
银行通讯组件配置文件库,用于储存所述目标系统的IP地址和端口信息;所述的银行通讯组件根据所述的银行通讯组件配置文件库将所述的银行端交易数据发送给目标系统进行处理。
5.如权利要求1所述的实现银企互联的数据处理系统,其特征在于,所述的数据处理系统还包括:
企业通讯组件,用于将所述的业务处理数据发送给所述企业。
6.如权利要求5所述的实现银企互联的数据处理系统,其特征在于,所述的数据处理系统还包括:
企业通讯组件配置文件库,用于储存所述企业的IP地址、端口信息以及通讯协议;所述的企业通讯组件根据所述的企业通讯组件配置文件库将所述的业务处理数据发送给所述企业。
7.如权利要求6所述的实现银企互联的数据处理系统,其特征在于,所述的格式转换装置还用于将所述的业务处理数据生成企业端业务数据;所述的企业通讯组件将所述的业务处理数据发送给所述企业。
8.如权利要求3所述的实现银企互联的数据处理系统,其特征在于,所述的格式转换配置文件库包括工作流配置文件和报文映射配置文件。
9.一种实现银企互联的数据处理方法,其特征在于,所述的数据处理方法包括:
接收企业发送的企业端报文数据,并将所述的企业端报文数据解释为客户代码、交易代码以及交易数据;
将所述交易数据中的多个字段映射到多个内存变量,并将所述内存变量中对应的字段拼装成定长格式,生成具有定长格式的银行端交易数据;
将所述的银行端交易数据发送给目标系统进行处理,生成业务处理数据。
10.如权利要求9所述的实现银企互联的数据处理方法,其特征在于,所述的数据处理方法还包括:
根据所述的业务处理数据,生成企业端业务数据;
将所述的企业端业务数据发送给所述企业。
11.如权利要求9所述的实现银企互联的数据处理方法,其特征在于,所述的数据处理方法还包括:
接收企业发送的企业端报文数据,并根据预存的多个企业对应的接入配置文件,生成所述企业对应的企业目录。
12.如权利要求9所述的实现银企互联的数据处理方法,其特征在于,所述的将所述交易数据中的多个字段映射到多个内存变量,并将所述内存变量中对应的字段拼装成定长格式,生成具有定长格式的银行端交易数据,包括:
根据预存的多个企业对应的转换配置文件,生成所述的银行端交易数据。
13.如权利要求9所述的实现银企互联的数据处理方法,其特征在于,所述的将所述银行端交易数据发送给目标系统进行处理包括:
根据预存的所述目标系统的IP地址和端口信息,将所述的银行端交易数据发送给目标系统进行处理。
14.如权利要求10所述的实现银企互联的数据处理方法,其特征在于,所述的将所述企业端业务数据发送给所述企业包括:
根据预存的企业的IP地址、端口信息以及通讯协议,将所述的企业端业务数据发送给所述企业。
15.如权利要求12所述的实现银企互联的数据处理方法,其特征在于,所述的转换配置文件包括工作流配置文件和报文映射配置文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101120055A CN102156944A (zh) | 2010-02-11 | 2010-02-11 | 一种实现银企互联的数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101120055A CN102156944A (zh) | 2010-02-11 | 2010-02-11 | 一种实现银企互联的数据处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102156944A true CN102156944A (zh) | 2011-08-17 |
Family
ID=44438428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101120055A Pending CN102156944A (zh) | 2010-02-11 | 2010-02-11 | 一种实现银企互联的数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102156944A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546833A (zh) * | 2012-03-05 | 2012-07-04 | 浪潮集团山东通用软件有限公司 | 银企互连统一接入平台 |
CN102880669A (zh) * | 2012-09-05 | 2013-01-16 | 华为软件技术有限公司 | 一种基于文件的业务处理方法和装置 |
CN103093342A (zh) * | 2013-01-11 | 2013-05-08 | 北京掌上汇通科技发展有限公司 | 一种联机交易处理平台及其交易处理方法 |
CN106506283A (zh) * | 2016-12-08 | 2017-03-15 | 用友网络科技股份有限公司 | 银行和企业对接系统的业务测试方法和装置 |
CN106503974A (zh) * | 2017-01-04 | 2017-03-15 | 泰康保险集团股份有限公司 | 交易数据处理方法及装置 |
CN106534045A (zh) * | 2015-09-10 | 2017-03-22 | 银联国际有限公司 | 一种可配置化的金融报文转换装置及其转换方法 |
CN106685982A (zh) * | 2017-01-13 | 2017-05-17 | 中国工商银行股份有限公司 | 一种外部报文处理方法及系统 |
CN107528839A (zh) * | 2017-08-18 | 2017-12-29 | 深圳乐信软件技术有限公司 | 一种接口报文的配置方法及装置 |
CN108595391A (zh) * | 2018-04-28 | 2018-09-28 | 中国建设银行股份有限公司 | 一种数据信息转换方法和装置 |
WO2020006903A1 (zh) * | 2018-07-02 | 2020-01-09 | 平安科技(深圳)有限公司 | 财务数据交互方法、装置、计算机设备和存储介质 |
CN111161048A (zh) * | 2019-12-28 | 2020-05-15 | 浙江物产信息技术有限公司 | 一种资金归集自动过账的应用方法及装置 |
CN111209281A (zh) * | 2020-01-06 | 2020-05-29 | 泰康保险集团股份有限公司 | 年金数据处理方法、装置、介质及电子设备 |
CN113673979A (zh) * | 2021-08-24 | 2021-11-19 | 国家电投香港财资管理有限公司 | 一种境外司库管理系统 |
-
2010
- 2010-02-11 CN CN2010101120055A patent/CN102156944A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546833A (zh) * | 2012-03-05 | 2012-07-04 | 浪潮集团山东通用软件有限公司 | 银企互连统一接入平台 |
CN102880669A (zh) * | 2012-09-05 | 2013-01-16 | 华为软件技术有限公司 | 一种基于文件的业务处理方法和装置 |
CN103093342A (zh) * | 2013-01-11 | 2013-05-08 | 北京掌上汇通科技发展有限公司 | 一种联机交易处理平台及其交易处理方法 |
CN106534045A (zh) * | 2015-09-10 | 2017-03-22 | 银联国际有限公司 | 一种可配置化的金融报文转换装置及其转换方法 |
CN106506283B (zh) * | 2016-12-08 | 2020-01-21 | 用友网络科技股份有限公司 | 银行和企业对接系统的业务测试方法和装置 |
CN106506283A (zh) * | 2016-12-08 | 2017-03-15 | 用友网络科技股份有限公司 | 银行和企业对接系统的业务测试方法和装置 |
CN106503974A (zh) * | 2017-01-04 | 2017-03-15 | 泰康保险集团股份有限公司 | 交易数据处理方法及装置 |
CN106685982A (zh) * | 2017-01-13 | 2017-05-17 | 中国工商银行股份有限公司 | 一种外部报文处理方法及系统 |
CN107528839A (zh) * | 2017-08-18 | 2017-12-29 | 深圳乐信软件技术有限公司 | 一种接口报文的配置方法及装置 |
CN108595391A (zh) * | 2018-04-28 | 2018-09-28 | 中国建设银行股份有限公司 | 一种数据信息转换方法和装置 |
WO2020006903A1 (zh) * | 2018-07-02 | 2020-01-09 | 平安科技(深圳)有限公司 | 财务数据交互方法、装置、计算机设备和存储介质 |
CN111161048A (zh) * | 2019-12-28 | 2020-05-15 | 浙江物产信息技术有限公司 | 一种资金归集自动过账的应用方法及装置 |
CN111161048B (zh) * | 2019-12-28 | 2021-07-09 | 物产中大数字科技有限公司 | 一种资金归集自动过账的应用方法及装置 |
CN111209281A (zh) * | 2020-01-06 | 2020-05-29 | 泰康保险集团股份有限公司 | 年金数据处理方法、装置、介质及电子设备 |
CN113673979A (zh) * | 2021-08-24 | 2021-11-19 | 国家电投香港财资管理有限公司 | 一种境外司库管理系统 |
CN113673979B (zh) * | 2021-08-24 | 2022-07-08 | 国家电投香港财资管理有限公司 | 一种境外司库管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102156944A (zh) | 一种实现银企互联的数据处理方法及系统 | |
US10552448B2 (en) | Systems and methods for event driven object management and distribution among multiple client applications | |
US20170293503A1 (en) | System for transforming large scale electronic processing using application block chain and multi-structured data stores | |
CN101404671B (zh) | 用于配置电信服务提供商架构的方法和装置 | |
US6904598B2 (en) | COBOL metamodel | |
CN101577718B (zh) | 多网银适配系统 | |
US20120124584A1 (en) | Event-Based Orchestration in Distributed Order Orchestration System | |
US20020091533A1 (en) | Technique for automated e-business services | |
US20050015619A1 (en) | Integration infrastrucuture | |
EP2182478A1 (en) | Method and server cluster for MapReducing FLOW services and large documents | |
US20070288254A1 (en) | System and method for exchanging transaction information using images | |
CN114445010B (zh) | 一种基于区块链的多式联运系统和方法 | |
CN101877158A (zh) | 一种银行前置业务平台及其运行处理方法 | |
CN112115190A (zh) | 一种接口报文的转换方法、装置及系统 | |
CN201716767U (zh) | 一种银行前置业务平台 | |
Ferreira | Enterprise systems integration | |
CN104580073B (zh) | 一种用于在异构系统之间实现消息传递的方法和装置 | |
CN111800434A (zh) | 一种多渠道资产对接平台及其工作方法 | |
US20090171758A1 (en) | Architectural design for physical inventory application software | |
WO2011150600A1 (zh) | 企业服务总线及企业服务总线的消息处理方法 | |
CN109756418A (zh) | 一种融合货币协议的电子邮件系统、邮件发送、接收方法 | |
CN103957188A (zh) | 一种对称的双向解耦的企业服务描述方法及服务调度系统 | |
CN106027534A (zh) | 一种基于Netty实现金融报文处理系统 | |
Ariffin et al. | The design and implementation of trade finance application based on hyperledger fabric permissioned blockchain platform | |
CN101706934A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110817 |