CN105931054A - 一种交易请求处理方法、网关设备、代理设备及业务设备 - Google Patents
一种交易请求处理方法、网关设备、代理设备及业务设备 Download PDFInfo
- Publication number
- CN105931054A CN105931054A CN201510987896.1A CN201510987896A CN105931054A CN 105931054 A CN105931054 A CN 105931054A CN 201510987896 A CN201510987896 A CN 201510987896A CN 105931054 A CN105931054 A CN 105931054A
- Authority
- CN
- China
- Prior art keywords
- message
- built
- business
- data base
- business device
- 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
Classifications
-
- 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
- G06Q30/00—Commerce
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1045—Proxies, e.g. for session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及数据处理技术领域,尤其涉及提供一种交易请求处理方法、网关设备、代理设备及业务设备,用以解决现有技术中存在的无法有效地解决大量交易请求造成的数据库或系统压力大及处理速度慢的问题,包括:网关设备接收交易请求报文,并转换为内部报文,然后转发至与网关设备连接的多个代理设备中的一个,由代理设备将接收到的内部报文分发至与代理设备连接的多个业务设备中的一个,然后由业务设备对接收到的内部报文进行处理,并将处理结果存储到与业务设备对应的数据库中,该方法可以提高处理速度和减轻单个处理系统的压力,同时对处理结果分散存储到不同的数据库中,可以减少单个数据库的存储压力,并且提高了处理速度。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种交易请求处理方法、网关设备、代理设备及业务设备。
背景技术
随着现代互联网的发展,系统交易量有呈爆发式增长的趋势。以手机后台系统为例,在繁忙阶段,后台交易量可以轻易突破千笔/秒,向万笔每/秒发展,系统应用和核心数据库随之面临着越来越高的负载压力。
现有技术,为了处理大量交易请求造成的数据库或系统压力大的问题以及处理速度慢的问题,一般采用升级核心数据库主机、提升磁盘存储性能的方式来解决。这种方式往往意味着投入大量资金,而且随着交易增长,投入成本呈几何级数增长,后续扩展成本越来越高昂。
综上所述,现有技术无法有效地解决大量交易请求造成的数据库或系统压力大及处理速度慢的问题。
发明内容
本发明提供一种交易请求处理方法、网关设备、代理设备及业务设备,用以解决现有技术中存在的无法有效地解决大量交易请求造成的数据库或系统压力大及处理速度慢的问题。
一方面,本发明实施例提供一种交易请求处理方法,包括:
网关设备接收交易请求报文,并根据预先设定的报文格式,确定与所述交易请求报文对应的内部报文;
所述网关设备将所述内部报文转发至与所述网关设备连接的多个代理设备中的一个,以使所述代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,所述业务设备用于处理接收到的内部报文并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库。
可选地,所述预先设定的报文格式包含多个属性对,其中每个属性对包含属性和属性值;
所述网关设备根据预先设定的报文格式,确定与所述交易请求报文对应的内部报文,包括:
所述网关设备按照所述预先设定的报文格式中属性对的顺序,确定一个目标属性对;
所述网关设备从所述交易请求报文中确定与所述目标属性对中的属性对应的属性值;
所述网关设备将所述目标属性的属性和确定的属性值,作为所述内部报文中的一个属性对,并置于所述内部报文中。
另一方面,本发明实施例提供一种网关设备,包括:
确定单元,用于接收交易请求报文,并根据预先设定的报文格式,确定与所述交易请求报文对应的内部报文;
第一转发单元,用于将所述内部报文转发至与所述网关设备连接的多个代理设备中的一个,以使所述代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,所述业务设备用于处理接收到的内部报文并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库。
可选地,所述预先设定的报文格式包含多个属性对,其中每个属性对包含属性和属性值;
所述确定单元,具体用于:
按照所述预先设定的报文格式中属性对的顺序,确定一个目标属性对;
从所述交易请求报文中确定与所述目标属性对中的属性对应的属性值;
将所述目标属性的属性和确定的属性值,作为所述内部报文中的一个属性对,并置于所述内部报文中。
一方面,本发明实施例提供一种交易请求处理方法,包括:
代理设备接收网关设备发送的内部报文,所述内部报文是由所述网关设备根据预先设定的报文格式及接收到的交易请求报文生成的;
所述代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,以使所述业务设备对接收到的内部报文进行处理并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库。
可选地,所述代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,包括:
所述代理设备根据所述内部报文的类型及内部报文类型与业务设备的对应关系,确定与所述内部报文类型对应的所有业务设备;
所述代理设备通过预先设定的哈希算法,从确定的所有业务设备中选择一个业务设备,并将所述内部报文转发到选择的业务设备。
另一方面,本发明实施例提供一种代理设备,包括:
接收单元,用于接收网关设备发送的内部报文,所述内部报文是由所述网关设备根据预先设定的报文格式及接收到的交易请求报文生成的;
第二转发单元,用于根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,以使所述业务设备对接收到的内部报文进行处理并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库。
可选地,所述第二转发单元,具体用于:
根据所述内部报文的类型及内部报文类型与业务设备的对应关系,确定与所述内部报文类型对应的所有业务设备;
通过预先设定的哈希算法,从确定的所有业务设备中选择一个业务设备,并将所述内部报文转发到选择的业务设备。
一方面,本发明实施例提供一种交易请求处理方法,包括:
业务设备接收代理设备转发的内部报文,并对所述内部报文进行处理,其中所述内部报文是由网关设备根据预先设定的报文格式及接收到的交易请求报文生成的;
所述业务设备根据业务设备与数据库的对应关系,将对所述内部报文的处理结果存储至与所述业务设备对应的数据库。
可选地,所述业务设备根据业务设备与数据库的对应关系,将对所述内部报文的处理结果存储至与所述业务设备对应的数据库之后,还包括:
所述业务设备将所述报文的处理结果存储至跨机共享内存,其中所述跨机共享内存用于存储所有业务设备对应的数据库中的部分或者全部数据。
可选地,所述业务设备将所述报文的处理结果存储至跨机共享内存,包括:
若所述报文的处理结果的大小不超过设定大小,则所述业务设备根据所述报文的处理结果对应的数据库,确定所述跨机共享内存中与所述数据库对应的存储位置;
所述业务设备将所述报文的处理结果存储于确定的所述跨机共享内存中与所述数据库对应的存储位置上。
可选地,该方法还包括:
所述业务设备删除所述跨机共享内存中存储时长超过设定时长的所有数据。
另一方面,本发明实施例提供一种业务设备,包括:
处理单元,用于接收代理设备转发的内部报文,并对所述内部报文进行处理,其中所述内部报文是由网关设备根据预先设定的报文格式及接收到的交易请求报文生成的;
存储单元,用于根据业务设备与数据库的对应关系,将对所述内部报文的处理结果存储至与所述业务设备对应的数据库。
可选地,所述存储单元,还用于:
将所述报文的处理结果存储至跨机共享内存,其中所述跨机共享内存用于存储所有业务设备对应的数据库中的部分或者全部数据。
可选地,所述存储单元,还用于:
若所述报文的处理结果的大小不超过设定大小,则根据所述报文的处理结果对应的数据库,确定所述跨机共享内存中与所述数据库对应的存储位置;
将所述报文的处理结果存储于确定的所述跨机共享内存中与所述数据库对应的存储位置上。
可选地,所述业务设备还包括:
删除单元,用于删除所述跨机共享内存中存储时长超过设定时长的所有数据。
本发明实施例提供的方法,网关设备接收交易请求报文,并转换为内部报文,然后转发至与网关设备连接的多个代理设备中的一个,由代理设备将接收到的内部报文分发至与代理设备连接的多个业务设备中的一个,然后由业务设备对接收到的内部报文进行处理,并将处理结果存储到与业务设备对应的数据库中,从而该方法可以对接收到的大量交易请求进行格式统一,以及进行并发处理,可以提高处理速度和减轻单个处理系统的压力,同时对处理结果分散存储到不同的数据库中,可以减少单个数据库的存储压力,并且提高了处理速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所适用的系统架构图;
图2为本发明实施例提供的一种交易请求处理方法流程图;
图3为本发明实施例提供的另一种交易请求处理方法流程图;
图4为本发明实施例提供的另一种交易请求处理方法流程图;
图5为本发明实施例提供的一种交易请求处理方法完整交互流程图;
图6为本发明实施例提供的一种网关设备;
图7为本发明实施例提供的一种代理设备;
图8为本发明实施例提供的一种业务设备。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例所适用的系统架构图,其中包含多个网关设备,m个代理设备,n个业务设备,其中m,n的具体取值根据实际需要而定,并且网关设备的数量,图1中只是示例性给出两个网关设备,实际数量视需要而定。
一个网关设备与多个代理设备关联,一个代理设备与多个业务设备关联,一个业务设备与一个或多个数据库关联,本发明中以一个业务设备至于一个数据库关联为例进行说明,即业务设备与数据库是一一对应的关系。
在本发明中,网关设备可以是一台服务器或者是一台服务器中的网关设备,主要用于根据接收到的交易请求报文,得到内部报文,即进行报文格式转换,;代理设备可以是一台服务器或者一台服务器中的一个独立设备,主要用于对接收到的报文进行转发;业务设备可以是一台服务器或者是一台服务器中的一个独立设备,主要用于对接收到的报文进行处理,并将处理结果存储到相应的数据库中。
并且图1中的系统架构图还包含一个跨机共享内存,主要用于存储所有数据库的部分或者所有数据,以便可以快速获取需要的数据。
下面结合说明书附图对本发明实施例作进一步详细描述,如图2所示,为本发明实施例提供的交易请求处理方法,包括:
步骤201、网关设备接收交易请求报文,并根据预先设定的报文格式,确定与所述交易请求报文对应的内部报文;
步骤202、所述网关设备将所述内部报文转发至与所述网关设备连接的多个代理设备中的一个,以使所述代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,所述业务设备用于处理接收到的内部报文并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库。
上述步骤201中,网关设备接收到交易请求报文,并根据预先设定的报文格式,确定与所述交易请求报文对应的内部报文,其中,预先设定的报文格式视实际需要而定。对于预先设定的报文格式,总体有以下要求:需要包含可以区分不同交易类型的关键信息;需要方便高效、快捷地存取;具有较高的打包、解包性能。
本发明实施例提供一种预先设定的报文格式及根据预先设定的报文格式,确定与交易请求报文对应的内部报文的方法如下:
可选地,所述预先设定的报文格式包含多个属性对,其中每个属性对包含属性和属性值;
所述网关设备根据预先设定的报文格式,确定与所述交易请求报文对应的内部报文,包括:
所述网关设备按照所述预先设定的报文格式中属性对的顺序,确定一个目标属性对;
所述网关设备从所述交易请求报文中确定与所述目标属性对中的属性对应的属性值;
所述网关设备将所述目标属性的属性和确定的属性值,作为所述内部报文中的一个属性对,并置于所述内部报文中。
上述方法,预先设定的报文格式包含多个属性对,每个属性对包含属性和属性值,例如属性对(TranSeq,071165),属性对(TermId,85011123),属性对(ProdId,s100002),其中TranSeq,TermId,ProdId均为属性,例如分别表示流水号,终端号,商品标识,071165,85011123,s100002分别为属性值,因而最终生成的内部报文是由一个或者多数属性对构成。
比如,接收到的交易请求报文为(TranSeq,TermId,ProdId,071165,85011123,s100002),则根据预先设定的报文格式及交易请求报文,生成的内部报文为:(TranSeq,071165,TermId,85011123,ProdId,s100002)。下面给出一种实际应用中使用的内部报文的格式的规则:
对于String类型(字符串类型),其序列化的规则为:
S:字符串长度:字符串内容;
例如,字符串abcd序列化后的串为S:4:abcd。
对于array类型(数组类型),其序列化规则为:
A:数组长度n:n个序列化后的属性对;
例如,数组array(a=>"hello",b=>"world")序列化后的串为A:2:S:1:aS:5:helloS:1:bS:5:world,其中数组array包含两个属性对,第一个属性对的属性为a,属性的字符串长度为1,属性值为字符串“hello”,属性值的字符串长度为5;第二个属性对的属性为b,属性的字符串长度为1,属性值为字符串“world”,属性值的字符串长度为5。
再比如,实际的生产报文为:
A:14:S:6:msg_stS:1:1
S:4:typeS:2:00
S:9:rec_countS:1:0
S:13:result_stringS:2:OK
S:6:resultS:1:0
S:13:start_ts__endS:26:2015-12-06-05.00.21.165556
S:8:error_cdS:2:-2
S:4:rowsS:1:0:
S:3:cmdS:13:apns_batchMsg
S:2:opS:9:qryBatMsg
S:6:rec_stS:1:1
S:11:limit_beginS:1:0
S:15:start_ts__startS:26:1970-01-01-00.00.00.000000
S:11:limit_countS:1:1
上述内部报文中,为1个数组,其中包含14个属性对,例如第一个属性对的属性为msg_st,属性的字符串长度为6,属性值为1,属性值的字符串长度为1。需要说明的是,上述内部报文在实际应用中是一个完整的长串,即字符与字符之间没有空格键,回车键等格式字符,上述格式只是为了方便阅览,因而添加了一些回车键。这种报文格式的特点在于支持数组和嵌套表达,而且机器处理效率极高。
需要特别说明的是,上述预先设定的内部报文格式只是作为一个具体的例子加以说明本发明方案,实际应用中,不限于此格式。
上述步骤202中,所述网关设备将所述内部报文转发至与所述网关设备连接的多个代理设备中的一个,如图1所示,假设网关设备1连接了100个代理设备,则网关设备1可以随机地将内部报文转发至其中任意一个代理设备,或者是根据当前连接的100个代理设备的负载均衡情况,将内部报文转发至相对比较空闲的某个代理设备。
对于代理设备,则根据接收到的内部报文的类型,将所述内部报文转发至与代理设备连接的多个业务设备中的一个,例如,代理设备A连接了200个业务设备,代理设备A在接收到某个内部报文之后,首先根据内部报文的类型,比如根据内部报文中的某个关键字段,确定可以处理该内部报文的所有业务设备,然后从确定的可以处理该内部报文的所有业务设备中再选择一个业务设备,来处理该内部报文。其中,根据根据内部报文的关键字段,如以上面的内部为例进行说明,其第9个属性对为:S:3:cmdS:13:apns_batchMsg,该属性cmd就是表示内部报文类型的属性,其属性值可以取值为:apns_batchMsg、apns_onlMsg、apns_swtMsg,因而可以根据该属性对应的属性值,来确定该内部报文的类型,从而代理设备可以确定哪些业务设备可以处理该内部报文。
对于业务设备,则是在接收到代理设备转发的内部报文之后,就对该内部报文进行处理并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库,如图1所示,以业务设备与数据库是一一对应的关系为例,业务设备1将业务设备1处理内部报文之后得到的处理结果都存放于数据库1中,业务设备1将业务设备2处理内部报文之后得到的处理结果都存放于数据库2中,等等。
本发明实施例网关设备接收交易请求报文,并转换为内部报文,然后转发至与网关设备连接的多个代理设备中的一个,由代理设备将接收到的内部报文分发至与代理设备连接的多个业务设备中的一个,然后由业务设备对接收到的内部报文进行处理,并将处理结果存储到与业务设备对应的数据库中,从而该方法可以对接收到的大量交易请求进行格式统一,以及进行并发处理,可以提高处理速度和减轻单个处理系统的压力,同时对处理结果分散存储到不同的数据库中,可以减少单个数据库的存储压力,并且提高了处理速度。
如图3所示,为本发明实施例提供的另一种交易请求处理方法流程图,包括:
步骤301、代理设备接收网关设备发送的内部报文,所述内部报文是由所述网关设备根据预先设定的报文格式及接收到的交易请求报文生成的;
步骤302、所述代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,以使所述业务设备对接收到的内部报文进行处理并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库。
上述步骤301中,代理设备接收网关设备发送的内部报文,其中,内部报文是由网关设备根据预先设定的报文格式及接收到的交易请求报文生成的,其中,网关设备根据预先设定的报文格式及接收到的交易请求报文生成内部报文的方式可参照以上描述,在此不再赘述。
上述步骤302中,代理设备根据根据接收到的内部报文的类型,将内部报文转发至与代理设备连接的多个业务设备中的一个,其中转发的方式不限,可以是随机转发,也可以是根据业务设备的负载情况,将接收到的内部报文转发至相对较空闲的业务设备进行处理。
可选地,所述代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,包括:
所述代理设备根据所述内部报文的类型及内部报文类型与业务设备的对应关系,确定与所述内部报文类型对应的所有业务设备;
所述代理设备通过预先设定的哈希算法,从确定的所有业务设备中选择一个业务设备,并将所述内部报文转发到选择的业务设备。
上述方法,代理设备接收到一个内部报文之后,首先根据内部报文的类型,比如根据内部报文中的某个关键字段,确定可以处理该内部报文的所有业务设备,然后从确定的可以处理该内部报文的所有业务设备中再选择一个业务设备,来处理该内部报文。其中,根据根据内部报文的关键字段,如以上面的内部为例进行说明,其第9个属性对为:S:3:cmdS:13:apns_batchMsg,该属性cmd就是表示内部报文类型的属性,其属性值可以取值为:apns_batchMsg、apns_onlMsg、apns_swtMsg,因而可以根据该属性对应的属性值,来确定该内部报文的类型,从而代理设备可以确定哪些业务设备可以处理该内部报文。
代理设备主要就是用于实现内部报文的转发,因而为了保证代理设备的高效性,实际应用中,可以采取同步方式,将内部报文转发至业务设备,因为异步方式会产生更多的连接请求,从而影响转发效率,而同步方式可占用比较少的连接请求,因此相对更加高效。
如图4所示,为本发明实施例提供的另一种交易请求处理方法流程图,包括:
步骤401、业务设备接收代理设备转发的内部报文,并对所述内部报文进行处理,其中所述内部报文是由网关设备根据预先设定的报文格式及接收到的交易请求报文生成的;
步骤402、所述业务设备根据业务设备与数据库的对应关系,将对所述内部报文的处理结果存储至与所述业务设备对应的数据库。
上述步骤401中,业务设备接收代理设备转发的内部报文并进行处理。
上述步骤402中,业务设备根据业务设备与数据库的对应关系,将对内部报文的处理结果存储至与自身对应的数据库,例如业务设备与数据库是一一对应的关系,或者一个业务设备也可以对应多个数据库,即将内部报文的处理结果存储至多个数据库中。本发明以业务设备与数据库一一对应为例进行说明。参照图1,业务设备1将内部报文处理结果存储至数据库1,业务设备2将内部报文处理结果存储至数据库2,等等。
由于可能一笔完整的交易包含多个交易请求报文,并且是由多个业务设备分别处理的,因而处理的结果也是存储到了多个不同的数据库中,因而一笔完整交易的处理结果一般都会分散存储到多个数据库,从而在将内部报文处理结果存储至相应的数据库之后,当需要访问数据库中的报文处理结果时,可以从多个数据库中进行查找,然后进行组装,从而减轻了每一个单独的数据库的数据访问压力,减小了死锁发生的概率,减小了系统压力和数据库压力,提高了系统性能。
当然,由于将内部报文处理结果分散存储至多个数据库,所以有可能造成在数据库访问时,需要访问多个数据库,造成一定的访问性能下降,因而为了提高用户查询性能,本发明还增加了一个跨机共享内存。
可选地,所述业务设备根据业务设备与数据库的对应关系,将对所述内部报文的处理结果存储至与所述业务设备对应的数据库之后,还包括:
所述业务设备将所述报文的处理结果存储至跨机共享内存,其中所述跨机共享内存用于存储所有业务设备对应的数据库中的部分或者全部数据。
上述方法,业务设备在将报文处理结果存储至对应的数据库之后,还家那个报文处理结果存储至跨机共享内存,其中所述跨机共享内存用于存储所有业务设备对应的数据库中的部分或者全部数据。
第一种实现方式是,跨机共享内存存储所有数据库中的所有数据,即实现所有数据库的完全拷贝,从而用户需要查询数据库时,可以直接从跨机共享内存中获取需要的数据,因而跨机共享内存的读取速度要远远高于数据库,因而可以提高用户查询的速率和效率。
当然,由于实际应用中,可能所有的数据库的数据总量比较大,跨机共享内存中无法存储所有的数据库中的数据库,因而可以使用第二种实现方式,具体地:
所述业务设备将所述报文的处理结果存储至跨机共享内存,包括:
若所述报文的处理结果的大小不超过设定大小,则所述业务设备根据所述报文的处理结果对应的数据库,确定所述跨机共享内存中与所述数据库对应的存储位置;
所述业务设备将所述报文的处理结果存储于确定的所述跨机共享内存中与所述数据库对应的存储位置上。
上述方法,只存储不超过设定大小的报文处理结果,例如小于5兆的报文处理结果在存储到相应数据库的同时也存储到跨机共享内存,从而可以减小跨机共享内存的存储总量,具体地,在存储时,可以为每个数据库预先划定存储区域,因而在将某个报文处理结果存储至跨机共享内存时,可以根据数据库,先确定跨机共享内存的相应位置,然后将报文处理结果存储至确定的相应位置。
上述第二种方式可以部分减少跨机共享内存的存储数据总量,但随着时间的推移,跨机共享内存中的数据总量还是会比较大,因而可以通过第三种方式来实现跨机共享内存的报文处理结果的存储,即所述业务设备删除所述跨机共享内存中存储时长超过设定时长的所有数据。例如只保留最近一个月的报文处理结果,或者只保留最近三个月的报文处理结果等,从而可以进一步地减少跨机共享内存的存储数据总量。
对于上述第二种方式和第三种方式,由于跨机共享内存中没有存储所有的报文处理结果,因而用户需要查询报文处理结果时,可以首先访问跨机共享内存,若查找到了,则返回结果,如果没有查找到,则访问相应的数据库进行查询,并返回查询结果。
下面对本发明实施例提供的交易请求处理方法做详细描述,如图5所示,为本发明实施例提供的交易请求处理方法完整交互流程图。
步骤501、网关设备接收交易请求报文,并根据预先设定的报文格式,确定与所述交易请求报文对应的内部报文;
步骤502、网关设备将所述内部报文转发至与所述网关设备连接的多个代理设备中的一个;
步骤503、代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个;
步骤504、业务设备用于处理接收到的内部报文;
步骤505、业务设备将报文处理结果存储至数据库以及跨机共享内存中。
基于相同的技术构思,本发明实施例还提供一种网关设备。本发明实施例提供的网关设备如图6所示。
确定单元601,用于接收交易请求报文,并根据预先设定的报文格式,确定与所述交易请求报文对应的内部报文;
第一转发单元602,用于将所述内部报文转发至与所述网关设备连接的多个代理设备中的一个,以使所述代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,所述业务设备用于处理接收到的内部报文并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库。
可选地,所述预先设定的报文格式包含多个属性对,其中每个属性对包含属性和属性值;
所述确定单元601,具体用于:
按照所述预先设定的报文格式中属性对的顺序,确定一个目标属性对;
从所述交易请求报文中确定与所述目标属性对中的属性对应的属性值;
将所述目标属性的属性和确定的属性值,作为所述内部报文中的一个属性对,并置于所述内部报文中。
基于相同的技术构思,本发明实施例还提供一种代理设备。本发明实施例提供的代理设备如图7所示。
接收单元701,用于接收网关设备发送的内部报文,所述内部报文是由所述网关设备根据预先设定的报文格式及接收到的交易请求报文生成的;
第二转发单元702,用于根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,以使所述业务设备对接收到的内部报文进行处理并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库。
可选地,所述第二转发单元702,具体用于:
根据所述内部报文的类型及内部报文类型与业务设备的对应关系,确定与所述内部报文类型对应的所有业务设备;
通过预先设定的哈希算法,从确定的所有业务设备中选择一个业务设备,并将所述内部报文转发到选择的业务设备。
基于相同的技术构思,本发明实施例还提供一种业务设备。本发明实施例提供的业务设备如图8所示。
处理单元801,用于接收代理设备转发的内部报文,并对所述内部报文进行处理,其中所述内部报文是由网关设备根据预先设定的报文格式及接收到的交易请求报文生成的;
存储单元802,用于根据业务设备与数据库的对应关系,将对所述内部报文的处理结果存储至与所述业务设备对应的数据库。
可选地,所述存储单元802,还用于:
将所述报文的处理结果存储至跨机共享内存,其中所述跨机共享内存用于存储所有业务设备对应的数据库中的部分或者全部数据。
可选地,所述存储单元802,还用于:
若所述报文的处理结果的大小不超过设定大小,则根据所述报文的处理结果对应的数据库,确定所述跨机共享内存中与所述数据库对应的存储位置;
将所述报文的处理结果存储于确定的所述跨机共享内存中与所述数据库对应的存储位置上。
可选地,所述业务设备还包括删除单元803,用于删除所述跨机共享内存中存储时长超过设定时长的所有数据。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (16)
1.一种交易请求处理方法,其特征在于,包括:
网关设备接收交易请求报文,并根据预先设定的报文格式,确定与所述交易请求报文对应的内部报文;
所述网关设备将所述内部报文转发至与所述网关设备连接的多个代理设备中的一个,以使所述代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,所述业务设备用于处理接收到的内部报文并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库。
2.如权利要求1所述的方法,其特征在于,所述预先设定的报文格式包含多个属性对,其中每个属性对包含属性和属性值;
所述网关设备根据预先设定的报文格式,确定与所述交易请求报文对应的内部报文,包括:
所述网关设备按照所述预先设定的报文格式中属性对的顺序,确定一个目标属性对;
所述网关设备从所述交易请求报文中确定与所述目标属性对中的属性对应的属性值;
所述网关设备将所述目标属性的属性和确定的属性值,作为所述内部报文中的一个属性对,并置于所述内部报文中。
3.一种交易请求处理方法,其特征在于,包括:
代理设备接收网关设备发送的内部报文,所述内部报文是由所述网关设备根据预先设定的报文格式及接收到的交易请求报文生成的;
所述代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,以使所述业务设备对接收到的内部报文进行处理并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库。
4.如权利要求3所述的方法,其特征在于,所述代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,包括:
所述代理设备根据所述内部报文的类型及内部报文类型与业务设备的对应关系,确定与所述内部报文类型对应的所有业务设备;
所述代理设备通过预先设定的哈希算法,从确定的所有业务设备中选择一个业务设备,并将所述内部报文转发到选择的业务设备。
5.一种交易请求处理方法,其特征在于,包括:
业务设备接收代理设备转发的内部报文,并对所述内部报文进行处理,其中所述内部报文是由网关设备根据预先设定的报文格式及接收到的交易请求报文生成的;
所述业务设备根据业务设备与数据库的对应关系,将对所述内部报文的处理结果存储至与所述业务设备对应的数据库。
6.如权利要求5所述的方法,其特征在于,所述业务设备根据业务设备与数据库的对应关系,将对所述内部报文的处理结果存储至与所述业务设备对应的数据库之后,还包括:
所述业务设备将所述报文的处理结果存储至跨机共享内存,其中所述跨机共享内存用于存储所有业务设备对应的数据库中的部分或者全部数据。
7.如权利要求6所述的方法,其特征在于,所述业务设备将所述报文的处理结果存储至跨机共享内存,包括:
若所述报文的处理结果的大小不超过设定大小,则所述业务设备根据所述报文的处理结果对应的数据库,确定所述跨机共享内存中与所述数据库对应的存储位置;
所述业务设备将所述报文的处理结果存储于确定的所述跨机共享内存中与所述数据库对应的存储位置上。
8.如权利要求6所述的方法,其特征在于,该方法还包括:
所述业务设备删除所述跨机共享内存中存储时长超过设定时长的所有数据。
9.一种网关设备,其特征在于,包括:
确定单元,用于接收交易请求报文,并根据预先设定的报文格式,确定与所述交易请求报文对应的内部报文;
第一转发单元,用于将所述内部报文转发至与所述网关设备连接的多个代理设备中的一个,以使所述代理设备根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,所述业务设备用于处理接收到的内部报文并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库。
10.如权利要求9所述的网关设备,其特征在于,所述预先设定的报文格式包含多个属性对,其中每个属性对包含属性和属性值;
所述确定单元,具体用于:
按照所述预先设定的报文格式中属性对的顺序,确定一个目标属性对;
从所述交易请求报文中确定与所述目标属性对中的属性对应的属性值;
将所述目标属性的属性和确定的属性值,作为所述内部报文中的一个属性对,并置于所述内部报文中。
11.一种代理设备,其特征在于,包括:
接收单元,用于接收网关设备发送的内部报文,所述内部报文是由所述网关设备根据预先设定的报文格式及接收到的交易请求报文生成的;
第二转发单元,用于根据接收到的内部报文的类型,将所述内部报文转发至与所述代理设备连接的多个业务设备中的一个,以使所述业务设备对接收到的内部报文进行处理并根据业务设备与数据库的对应关系,将处理结果存放至相应的数据库。
12.如权利要求11所述的代理设备,其特征在于,所述转发单元,具体用于:
根据所述内部报文的类型及内部报文类型与业务设备的对应关系,确定与所述内部报文类型对应的所有业务设备;
通过预先设定的哈希算法,从确定的所有业务设备中选择一个业务设备,并将所述内部报文转发到选择的业务设备。
13.一种业务设备,其特征在于,包括:
处理单元,用于接收代理设备转发的内部报文,并对所述内部报文进行处理,其中所述内部报文是由网关设备根据预先设定的报文格式及接收到的交易请求报文生成的;
存储单元,用于根据业务设备与数据库的对应关系,将对所述内部报文的处理结果存储至与所述业务设备对应的数据库。
14.如权利要求13所述的业务设备,其特征在于,所述存储单元,还用于:
将所述报文的处理结果存储至跨机共享内存,其中所述跨机共享内存用于存储所有业务设备对应的数据库中的部分或者全部数据。
15.如权利要求14所述的业务设备,其特征在于,所述存储单元,还用于:
若所述报文的处理结果的大小不超过设定大小,则根据所述报文的处理结果对应的数据库,确定所述跨机共享内存中与所述数据库对应的存储位置;
将所述报文的处理结果存储于确定的所述跨机共享内存中与所述数据库对应的存储位置上。
16.如权利要求14所述的业务设备,其特征在于,所述业务设备还包括:
删除单元,用于删除所述跨机共享内存中存储时长超过设定时长的所有数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510987896.1A CN105931054A (zh) | 2015-12-24 | 2015-12-24 | 一种交易请求处理方法、网关设备、代理设备及业务设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510987896.1A CN105931054A (zh) | 2015-12-24 | 2015-12-24 | 一种交易请求处理方法、网关设备、代理设备及业务设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105931054A true CN105931054A (zh) | 2016-09-07 |
Family
ID=56840320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510987896.1A Pending CN105931054A (zh) | 2015-12-24 | 2015-12-24 | 一种交易请求处理方法、网关设备、代理设备及业务设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105931054A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108717384A (zh) * | 2018-05-18 | 2018-10-30 | 阿里巴巴集团控股有限公司 | 一种数据备份方法及装置 |
CN111131400A (zh) * | 2019-12-04 | 2020-05-08 | 浪潮软件股份有限公司 | 一种基于网关的服务代理系统及方法 |
CN113467971A (zh) * | 2021-06-29 | 2021-10-01 | 未鲲(上海)科技服务有限公司 | 业务处理方法、装置、设备及存储介质 |
CN114785854A (zh) * | 2022-04-21 | 2022-07-22 | 中国工商银行股份有限公司 | 业务请求处理方法、装置、设备、存储介质及产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009007A (zh) * | 2006-01-25 | 2007-08-01 | 广东省电信有限公司研究院 | 用于电信的综合电子交易业务系统和实现方法 |
CN101022431A (zh) * | 2007-03-09 | 2007-08-22 | 中国移动通信集团福建有限公司 | 接口网关及接口网关的数据处理方法 |
CN102546442A (zh) * | 2012-03-09 | 2012-07-04 | 北京神州数码思特奇信息技术股份有限公司 | 通信协议转换技术 |
-
2015
- 2015-12-24 CN CN201510987896.1A patent/CN105931054A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009007A (zh) * | 2006-01-25 | 2007-08-01 | 广东省电信有限公司研究院 | 用于电信的综合电子交易业务系统和实现方法 |
CN101022431A (zh) * | 2007-03-09 | 2007-08-22 | 中国移动通信集团福建有限公司 | 接口网关及接口网关的数据处理方法 |
CN102546442A (zh) * | 2012-03-09 | 2012-07-04 | 北京神州数码思特奇信息技术股份有限公司 | 通信协议转换技术 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108717384A (zh) * | 2018-05-18 | 2018-10-30 | 阿里巴巴集团控股有限公司 | 一种数据备份方法及装置 |
CN111131400A (zh) * | 2019-12-04 | 2020-05-08 | 浪潮软件股份有限公司 | 一种基于网关的服务代理系统及方法 |
CN111131400B (zh) * | 2019-12-04 | 2022-08-16 | 浪潮软件股份有限公司 | 一种基于网关的服务代理系统及方法 |
CN113467971A (zh) * | 2021-06-29 | 2021-10-01 | 未鲲(上海)科技服务有限公司 | 业务处理方法、装置、设备及存储介质 |
CN114785854A (zh) * | 2022-04-21 | 2022-07-22 | 中国工商银行股份有限公司 | 业务请求处理方法、装置、设备、存储介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11853389B2 (en) | Methods and apparatus for sorting data | |
US20180239800A1 (en) | Data query method and apparatus | |
CN105931054A (zh) | 一种交易请求处理方法、网关设备、代理设备及业务设备 | |
CN106874348A (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN105138649B (zh) | 数据的搜索方法、装置及终端 | |
CN107463709A (zh) | 一种基于多数据源的etl处理方法及装置 | |
CN108268216B (zh) | 数据处理方法、装置及服务器 | |
CN101420484B (zh) | 用于移动终端的壁纸显示方法以及移动终端 | |
CN106570097A (zh) | 序列生成方法及装置 | |
CN107613529A (zh) | 消息处理方法以及基站 | |
CN103581358A (zh) | Ip地址列表匹配方法及装置 | |
CN107229747A (zh) | 一种基于流式处理框架的大规模数据处理装置及方法 | |
WO2021120952A1 (zh) | 面向列的存储方法、装置、设备及计算机可读存储介质 | |
CN104346345A (zh) | 数据的存储方法及装置 | |
CN105550246A (zh) | Android平台下加载网络图片的系统及方法 | |
CN105320662B (zh) | 网页生成方法及装置 | |
CN105117401A (zh) | 一种并行传输图片的方法、装置及系统 | |
CN107679142A (zh) | 一种文件拷贝方法、服务器、网络设备及存储介质 | |
CN101789991A (zh) | 获取变更数据信息的方法、装置及移动终端 | |
CN104484400B (zh) | 数据查询处理方法及装置 | |
CN105204883B (zh) | 一种插件加载处理方法及装置 | |
CN110221778A (zh) | 酒店数据的处理方法、系统、存储介质以及电子设备 | |
CN109921945A (zh) | 一种无nginx的请求转发在应用层的分流方法及其装置 | |
CA3142143A1 (en) | Method and apparatus for correlating data tables based on kv database | |
CN109309858A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160907 |
|
RJ01 | Rejection of invention patent application after publication |