CN105827541A - 用于联机交易的数据报文处理方法和系统 - Google Patents
用于联机交易的数据报文处理方法和系统 Download PDFInfo
- Publication number
- CN105827541A CN105827541A CN201610207708.3A CN201610207708A CN105827541A CN 105827541 A CN105827541 A CN 105827541A CN 201610207708 A CN201610207708 A CN 201610207708A CN 105827541 A CN105827541 A CN 105827541A
- Authority
- CN
- China
- Prior art keywords
- file
- response message
- message
- threshold
- text
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- 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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/52—Network services specially adapted for the location of the user terminal
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供用于联机交易的数据报文处理方法和系统。该方法包括:服务方响应请求方发送的请求报文,得到第一响应报文;所述服务方判断所述第一响应报文是否超过第一阈值,若超过第一阈值,则将所述第一响应报文写入文件,并将所述文件的位置信息填充到第二响应报文,并将所述第二响应报文返回给所述请求方;若未超过第一阈值,则将所述第一响应报文返回给所述请求方。根据本发明,能够提高数据报文传输效率,改善联机交易系统的性能。
Description
技术领域
本发明涉及数据处理领域,更为具体而言,涉及一种用于联机交易的数据报文处理方法和系统。
背景技术
在企业级应用内部有很多应用组件,联机交易使用超文本传输协议(HyperTextTransportProtocol,HTTP)报文在不同应用组件之间进行数据传输。对于某些应用场景,例如,批量数据查询,返回的结果集可能很大,这样的场景下如果仍然使用HTTP报文返回查询结果,会占用大量的网络带宽,而且报文的解析也会花费大量的时间,严重影响性能。
对于比较大的查询结果,现有的处理方案是通过请求方和服务方约定采用交易带附件的联机交易形式,也就是服务方将查询结果写入文件后通过文件传输组件进行传输,然后通过联机交易返回文件存储路径和文件名的信息,请求方收到报文后,解析文件的存储路径和文件名后到文件传输服务器下载,然后再进行相应的报文处理。现有的上述联机交易方式不管服务方返回的结果集有多大,均需要以交易带附件的方式进行传输,对不同返回结果的灵活性、适应性较差。当结果集比较小的情况下,使用交易带附件的联机交易方式比使用HTTP报文传输性能要慢很多。
发明内容
为解决上述技术问题,本发明提供了一种数据报文处理方法和系统,与现有的仅采用HTTP报文或统一转为附件的报文处理方案相比,在报文发送之前,根据预设的阈值对报文大小进行判断,将大于阈值的报文转为附件,显著改善了大报文对网络带宽的占用,提高了大报文的数据处理效率;将小于阈值的报文直接进行发送,避免了转为附件的复杂报文处理,改善了小报文的数据处理效率,通过对不同大小报文的区分处理,改善了联机交易中报文的数据处理效率。
根据本发明实施方式的第一方面,提供了一种用于联机交易的数据报文处理方法,该方法可包括:服务方响应请求方发送的请求报文,得到第一响应报文;所述服务方判断所述第一响应报文是否超过第一阈值,若超过第一阈值,则将所述第一响应报文写入文件,并将所述文件的位置信息填充到第二响应报文,并将所述第二响应报文返回给所述请求方;若未超过第一阈值,则将所述第一响应报文返回给所述请求方。
在本发明的一些实施方式中,所述文件包括可扩展标记语言XML文件或自定义文件,其中,所述自定义文件包括所述自定义文件的标识以及文件内容格式。
在本发明的一些实施方式中,所述将所述第一响应报文写入文件包括:将所述第一响应报文中指定的标签下的内容写入XML文件。
在本发明的一些实施方式中,所述自定义文件的文件内容格式包括文本格式。
在本发明的一些实施方式中,所述文本格式包括text文本格式,所述自定义文件还包括:指定text文本文件中的注释行的注释标签以及指示text文本文件中字段之间的分隔符。
在本发明的一些实施方式中,所述文本格式包括字段定长的文本格式,所述自定义文件还包括:用于指示字段定长为二进制定长或字符串定长的指示标志。
在本发明的一些实施方式中,所述文本格式包括逗号分隔值csv文本格式。
在本发明的一些实施方式中,所述自定义文件还包括以下的一项或多项:所述自定义文件单次处理的记录的数量、最大限值、编码格式以及类别class,其中,所述类别存储该文件内容的Javabean。
在本发明的一些实施方式中,所述将所述文件的位置信息填充到第二响应报文包括:根据与配置第一响应报文不同的第二报文配置规则将所述文件的位置信息填充到第二响应报文的交易带附件通用域,所述第二报文配置规则要求包含交易带附件通用域。
在本发明的一些实施方式中,所述方法还包括:在服务方得到所述第一响应报文之后,判断所述第一响应报文是否超过第一阈值之前,判断所述第一响应报文的转附件标志是否为打开,若打开,则继续判断所述第一响应报文是否超过第一阈值,若关闭,则将所述第一响应报文返回给所述请求方。
在本发明的一些实施方式中,所述方法还包括:在所述请求方发送请求报文之前,判断待发送的请求报文是否超过第二阈值,若超过第二阈值,则将待发送的请求报文写入第二文件,并将所述第二文件的位置信息填充到所述请求报文,并将所述请求报文发送到所述服务方;若未超过第二阈值,则将待发送的请求报文作为所述请求报文发送到所述服务方。
在本发明的一些实施方式中,所述第二文件包括XML文件或自定义文件,其中,所述自定义文件包括所述自定义文件的标识以及文件内容格式。
根据本发明实施方式的第二方面,提供了一种用于联机交易的数据报文处理系统,所述系统包括:请求方,用于发送请求报文;服务方,用于:响应请求方发送的请求报文,得到第一响应报文,判断所述第一响应报文是否超过第一阈值,若超过第一阈值,则将所述第一响应报文写入文件,并将所述文件的位置信息填充到第二响应报文,并将所述第二响应报文返回给所述请求方;若未超过第一阈值,则将所述第一响应报文返回给所述请求方。
在本发明的一些实施方式中,所述文件包括可扩展标记语言XML文件或自定义文件,其中,所述自定义文件包括所述自定义文件的标识以及文件内容格式。
在本发明的一些实施方式中,所述服务方将所述第一响应报文写入文件包括:将所述第一响应报文中指定的标签下的内容写入XML文件。
在本发明的一些实施方式中,所述自定义文件的文件内容格式包括文本格式。
在本发明的一些实施方式中,所述文本格式包括text文本格式,所述自定义文件还包括:指定text文本文件中的注释行的注释标签以及指示text文本文件中字段之间的分隔符。
在本发明的一些实施方式中,所述文本格式包括字段定长的文本格式,所述自定义文件还包括:用于指示字段定长为二进制定长或字符串定长的指示标志。
在本发明的一些实施方式中,所述文本格式包括逗号分隔值csv文本格式。
在本发明的一些实施方式中,所述自定义文件还包括以下的一项或多项:所述自定义文件单次处理的记录的数量、最大限值、编码格式以及类别class,其中,所述类别存储该文件内容的Javabean。
在本发明的一些实施方式中,所述服务方将所述文件的位置信息填充到第二响应报文包括:
根据与配置第一响应报文不同的第二报文配置规则将所述文件的位置信息填充到第二响应报文的交易带附件通用域,所述第二报文配置规则要求包含交易带附件通用域。
在本发明的一些实施方式中,所述服务方还用于:在得到所述第一响应报文之后,判断所述第一响应报文是否超过第一阈值之前,判断所述第一响应报文的转附件标志是否为打开,若打开,则继续判断所述第一响应报文是否超过第一阈值,若关闭,则将所述第一响应报文返回给所述请求方。
在本发明的一些实施方式中,所述请求方还用于:在发送请求报文之前,判断待发送的请求报文是否超过第二阈值,若超过第二阈值,则将待发送的请求报文写入第二文件,并将所述第二文件的位置信息填充到所述请求报文,并将所述请求报文发送到所述服务方;若未超过第二阈值,则将待发送的请求报文作为所述请求报文发送到所述服务方。
在本发明的一些实施方式中,所述第二文件包括XML文件或自定义文件,其中,所述自定义文件包括所述自定义文件的标识以及文件内容格式。
根据本发明的用于联机交易的数据报文处理方法和系统,能够提高报文传输的效率,改善联机交易系统的性能。
附图说明
图1是根据本发明一种实施方式的用于联机交易的数据报文处理方法的流程示意图。
图2是根据本发明一种实施方式的用于联机交易的数据报文处理方法的流程示意图。
图3是根据本发明一种实施方式的用于联机交易的数据报文处理系统的结构示意图。
具体实施方式
以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和设计。
本发明实施方式提供的用于联机交易的数据报文处理方法和系统可应用于各种不同的联机交易系统,例如,银行等金融机构的联机交易系统。在联机交易系统中,一般对数据报文传输的实时性要求较高。
本发明实施方式中的请求方可以是联机交易系统中发送查询等请求的一方,服务方可以是联机交易系统中对请求方的查询请求进行处理并返回查询结果的一方。
下面结合附图对本发明的实施方式进行描述,在下面描述的实施方式中,数据报文的处理是在java框架下。
图1是根据本发明一种实施方式的用于联机交易的数据报文处理方法的流程示意图。图2是根据本发明一种实施方式的用于联机交易的数据报文处理方法的流程示意图。
参见图1,本发明的用于联机交易的数据报文处理方法可包括步骤S11、S12、S13和S14,下面分别对各个步骤进行具体描述,需要说明的是,本文中提到的第一或第二等类似描述,仅为了使描述更为清楚,不应理解为对本发明的限定。
在步骤S11中,服务方响应请求方发送的请求报文,得到第一响应报文。在java框架下,可以通过相应的报文处理器来对相应的报文进行处理。在服务方一侧,响应报文处理器会将针对请求报文的响应结果对应的javabean转换成HTTP报文作为第一响应报文,这一过程也称为BeantoXml。在请求方一侧,请求报文处理器会将接收的HTTP格式的响应报文转换为对应的javabean,这一过程称为XmltoBean。
在本发明的一些实施方式中,用于联机交易的数据报文处理方法在步骤S11之后,步骤S12之前,还可以包括:判断步骤S11中得到的第一响应报文的转附件标志是否为打开,若报文中转附件的标识为打开,则继续判断所述第一响应报文是否超过第一阈值,若报文中转附件的标识为关闭,则将所述第一响应报文返回给所述请求方。通过在报文中设置转附件标识,可以自定义地打开和关闭报文超长转为附件的功能,改善了报文数据传输的灵活性。
在步骤S12中,服务方判断第一响应报文是否超过第一阈值,若超过第一阈值,则执行步骤S13,将所述第一响应报文写入文件,并将所述文件的位置信息填充到第二响应报文,并将所述第二响应报文返回给所述请求方;若未超过第一阈值,则执行步骤S14,将所述第一响应报文返回给所述请求方。第一阈值可以根据联机交易系统中一定时间段内响应报文的统计平均值以及联机交易系统的硬件资源(例如,CPU、内存等)进行确定,而且第一阈值的大小可以定期更新,也可以根据预估的响应结果进行相应的设置。本发明通过设置阈值的方式对不同大小的报文分别处理,对于超长的大报文,转换为文件的方式进行处理,与统一采用HTTP报文的处理方式相比,提高了超长报文的数据处理效率,改善了超长报文传输的实时性;对于相对而言较小的报文,直接以HTTP报文形式进行发送,不进行转换文件的复杂操作,与统一采用转为文件的处理方式相比,提高了较小报文的数据处理效率,改善了小报文传输的实时性。
在步骤S13中,在响应报文超过第一阈值时,将第一响应报文写入的文件可以包括扩展标记语言(ExtensiveMarkupLanguage,XML)文件或自定义文件。也就是说,将超过阈值的超长的响应报文写入文件时,可以使用XML文件格式,也可以使用自定义文件格式。在使用XML文件格式的情形下,将第一响应报文写入文件可包括:将第一响应报文中由应用指定的标签(例如,<ENTITY>)下的内容写入XML文件。
本发明还可以将超长的响应报文写入到自定义文件。本发明实施方式的自定义文件可以将响应报文中列表(list)形式的数据以平铺的方式写入文件。每一个文件格式配置信息对应file-format节点,file-format节点的属性可包括:自定文件的标识id,该标识是唯一的,用于标识该自定义文件;文件内容格式,用于指定自定义文件的文件内容格式,文件内容格式可以是文本格式,具体而言,其值可包括:text,一般文本文件;csv,逗号分隔值格式的文本文件;fixed-length-text,字段定长文本文件。
在文件内容格式为text文本格式的情形下,自定义文件还可包括下列项目:指定text文本文件中的注释行的注释标签comment-tag以及指示text文本文件中字段之间的分隔符separator。comment-tag,只对text类型文件有效,例如文本文件中可以使用“#”标识当前行为注释行,不做内容解析。Separator,也只对text类型文件有效,文本中字段之间的分隔符,如果分隔符为非显示ASCII字符,则可使用“[ASCII+字符值]”表示。
在文件内容格式为字段定长的文本格式的情形下,自定义文件还可包括用于指示字段定长为二进制定长或字符串定长的指示标志binary。
在一些实施方式中,自定义文件的文件内容格式还可包括XML格式,在文件内容格式为XML格式的情形下,自定义文件还可包括根标签root-tag,其只对XML类型文件有效,可用于指定XML文件的root节点名称。
在一些实施方式中,自定义文件除了包括上述的项目中的一些或全部,例如可以只包括其中的comment-tag和separator,还可以包括:单次处理的记录的数量、最大限值、编码格式以及类别class等中的一项或多项。单次处理的记录的数量process-unit,可以指一个自定义文件一次可以容纳的查询记录等的数量;最大限值max-file-size,最大文件大小,如果读取或写入的数据超过该最大限值,则提示文件操作失败;编码格式encoding,该自定义文件的编码格式,如果未配置该信息,则使用系统默认编码;类别class,自定义文件中的可选项目,存储文件内容的JavaBean。该Bean中支持三个属性赋值,即header区的name属性,body区的name属性,footer区的name属性。三个属性的类型依赖于各区的属性配置,如果区的type属性设置为“row-text”,则对应属性必须是java.util.List;如果区的type属性设置为“row-map”,且未配置该区的class属性,则对应属性必须是java.util.Map,如果配置了class属性,则对应属性为该class类型;如果区的type属性设置为“field”,则必须配置该区的class属性,并且对应属性必须是该class类型。本发明的文件可以采用自定义的文件格式,方便应用灵活地进行扩展。
步骤S13中,将响应报文的相应内容写入文件,记录文件名,将文件保存到对应的文件服务器,并记录文件保存的路径以及文件服务器的地址信息(例如,IP地址和端口等)等位置信息,然后将文件名、文件保存的路径、文件服务器的地址信息等文件的位置信息填充到第二响应报文。将文件的位置信息填充到第二响应报文可包括:根据与配置第一响应报文的第二报文配置规则(与未转换为文件之前的长报文相比而言短的报文转换规则)将文件的位置信息填充到第二响应报文的交易带附件通用域,同时将第一响应报文中没有写入到文件的那些信息写入第二响应报文的相应域,从而按照第二报文配置规则(短的报文配置规则)组装第二响应报文,例如,HTTP格式的数据报文。第二报文配置规则要求,与配置第一响应报文的规则不同,必须包含交易带附件通用域,用于填充文件的路径以及文件名等文件的位置信息,而配置第一响应报文的报文配置规则不要求必须包含交易带附件通用域。
服务方使用短的报文转换规则,将请求的结果转换为短的第二响应报文并返回给请求方。在请求方的报文转换处理器中,会识别和解析第二响应报文的交易带附件通用域,获得文件的位置信息(例如,文件服务器的IP和端口、文件路径和文件名)。处理器自动调用文件传输组件的文件下载接口到服务方的文件服务器下载相应的文件,对应用透明,减少了应用程序的编程复杂度。
在本发明的一些实施方式中,请求方发送请求报文之前,可以判断待发送的报文是否超过第二阈值,如果待发送的请求报文超过(大于或等于)第二阈值,则将待发送的请求报文写入第二文件,并将第二文件的位置信息填充所述请求报文,并将该请求报文发送到服务方;若待发送的请求报文未超过第二阈值,则将待发送的请求报文作为所述请求发送到服务方。本发明除了在响应报文超过预定阈值之后转为文件,通过短的报文配置规则进行处理之外,还可以采用与响应报文类似的方式,将超过预定阈值的待发送请求报文转为文件,使用短的报文配置规则进行组装。本发明提供的请求报文的上述处理方式,对于请求方的输入项比较多,发送给请求方的请求报文较长的情形尤其有用,对不同大小的请求报文分别处理,能够显著改善请求报文的数据处理效率。
需要说明的是,请求报文写入的文件可包括XML文件或自定义文件。请求报文的转换处理中,所采用的文件、文件写入的处理以及短的报文的配置规则等可以与响应报文采用的相似或相同,在此不再赘述。
下面以图2所示的响应报文超长为例描述本发明的用于联机交易的数据报文处理方法。
步骤S101,服务方将根据请求报文得到的查询结果从javabean转换为XML(即BeanToXml),得到HTTP报文;S102,判断HTTP报文的转附件标志是打开还是关闭,若关闭,则执行步骤S103,将HTTP报文返回给请求方;若打开,则执行步骤S104,判断HTTP报文是否超过阈值,若未超过阈值,则执行步骤S103,若超过阈值,则执行步骤S105,将HTTP报文中的应用指定的标签的内容写入文件,并记录文件存储的位置信息;步骤S106,封装报文的交易带附件通用域;步骤S107,使用短报文配置规则将文件的位置信息填充到封装好的交易带附件通用域,然后执行步骤S103,将按照短报文配置规则转换得到的响应报文返回给请求方;步骤S108,请求方将服务方返回的响应报文进行XmlToBean报文转换;步骤S109,判断转换后的报文的转附件标志是打开还是关闭,若打开,则执行步骤S110,解析交易带附件通用域,然后执行步骤S112,判断报文是否为带附件,若不带附件,则执行步骤S111,请求方进行相应的业务处理,若带附件,则执行步骤S113,根据交易带附件通用域中的文件的位置信息从服务方文件服务器下载文件;接着,步骤S114,将文件转换为对应的报文;S115,将转换后的报文进行XmlToBean处理,然后执行步骤S111。
在图2所示的实施方式中,在判断报文在判断报文大小时已经完成了一次JavaBean到Xml的报文转换过程。如果判断报文长度超过阀值需要写文件时,还需要按照短报文配置规则将响应对象转换为短报文再返回给请求方,相当于多了一次报文转换的过程。为了优化两次报文转换的问题,本发明提供了两种转换模式,应用可以通过配置来选择不同的模式:模式一:先判断响应报文大小,再决定是否写文件。先按照原报文配置规则将JavaBean转换为报文,转换完成后判断报文大小,如果不超过阀值,则直接将报文返回给请求方,如果超过阀值,则将响应报文写入文件,再使用短报文配置规则进行第二次报文转换,将短报文返回给请求方。模式二:不判断响应报文大小,直接写文件。在进行报文转换之前,先将响应结果写入文件,再根据短报文转换规则进行报文转换后返回给请求方。使用该模式可以避免进行二次报文转换。当应用预估该交易的大部分返回结果都超过阀值时,推荐使用模式二,可以避免进行第二次报文转换,提升效率。
上面结合具体实施方式描述了本发明的用于联机交易的数据报文处理方法,下面将结合具体实施方式描述本发明的用于联机交易的数据报文处理系统。
图3是根据本发明一种实施方式的用于联机交易的数据报文处理系统的结构示意图。
如图3所示,本发明的用于联机交易的数据报文系统可包括请求方21和服务方22,二者之间通过数据报文进行交互。而且,请求方21和服务方22中均可以设置相应的报文处理器,进行报文的处理。
请求方21向服务方22发送请求报文。服务方21响应请求方发送的请求报文,得到第一响应报文。在java框架下,请求方21和服务方22可以通过相应的报文处理器来对相应的报文进行处理。在服务方22一侧,响应报文处理器会将针对请求报文的响应结果对应的javabean转换成HTTP报文作为第一响应报文,这一过程也称为BeantoXml。在请求方一侧,请求报文处理器会将接收的HTTP格式的响应报文转换为对应的javabean,这一过程称为XmltoBean。
在本发明的一些实施方式中,服务方22在得到第一响应报文之后,判断第一响应报文是否超过第一阈值之前,还会判断第一响应报文的转附件标志是否为打开,若报文中转附件的标识为打开,则继续判断所述第一响应报文是否超过第一阈值,若报文中转附件的标识为关闭,则将所述第一响应报文返回给所述请求方。通过在报文中设置转附件标识,可以自定义地打开和关闭报文超长转为附件的功能,改善了报文数据传输的灵活性。
服务方22判断第一响应报文是否超过第一阈值,若超过第一阈值,则将所述第一响应报文写入文件,并将所述文件的位置信息填充到第二响应报文,并将所述第二响应报文返回给所述请求方;若未超过第一阈值,则将所述第一响应报文返回给所述请求方。第一阈值可以根据联机交易系统中一定时间段内响应报文的统计平均值以及联机交易系统的硬件资源(例如,CPU、内存等)进行确定,而且第一阈值的大小可以定期更新,也可以根据预估的响应结果进行相应的设置。本发明通过设置阈值的方式对不同大小的报文分别处理,对于超长的大报文,转换为文件的方式进行处理,与统一采用HTTP报文的处理方式相比,提高了超长报文的数据处理效率,改善了超长报文传输的实时性;对于相对而言较小的报文,直接以HTTP报文形式进行发送,不进行转换文件的复杂操作,与统一采用转为文件的处理方式相比,提高了较小报文的数据处理效率,改善了小报文传输的实时性。
服务方22在响应报文超过第一阈值时,将第一响应报文写入的文件可以包括XML文件或自定义文件。也就是说,将超过阈值的超长的响应报文写入文件时,可以使用XML文件格式,也可以使用自定义文件格式。在使用XML文件格式的情形下,将第一响应报文写入文件可包括:将第一响应报文中由应用指定的标签(例如,<ENTITY>)下的内容写入XML文件。
本发明还可以将超长的响应报文写入到自定义文件。本发明实施方式的自定义文件可以将响应报文中列表(list)形式的数据以平铺的方式写入文件。每一个文件格式配置信息对应file-format节点,file-format节点的属性可包括:自定文件的标识id,该标识是唯一的,用于标识该自定义文件;文件内容格式,用于指定自定义文件的文件内容格式,文件内容格式可以是文本格式,具体而言,其值可包括:text,一般文本文件;csv,逗号分隔值格式的文本文件;fixed-length-text,字段定长文本文件。
在文件内容格式为text文本格式的情形下,自定义文件还可包括下列项目:指定text文本文件中的注释行的注释标签comment-tag以及指示text文本文件中字段之间的分隔符separator。comment-tag,只对text类型文件有效,例如文本文件中可以使用“#”标识当前行为注释行,不做内容解析。Separator,也只对text类型文件有效,文本中字段之间的分隔符,如果分隔符为非显示ASCII字符,则可使用“[ASCII+字符值]”表示。
在文件内容格式为字段定长的文本格式的情形下,自定义文件还可包括用于指示字段定长为二进制定长或字符串定长的指示标志binary。
在一些实施方式中,自定义文件的文件内容格式还可包括XML格式,在文件内容格式为XML格式的情形下,自定义文件还可包括根标签root-tag,其只对XML类型文件有效,可用于指定XML文件的root节点名称。
在一些实施方式中,自定义文件除了包括上述的项目中的一些或全部,例如可以只包括其中的comment-tag和separator,还可以包括:单次处理的记录的数量、最大限值、编码格式以及类别class等中的一项或多项。单次处理的记录的数量process-unit,可以指一个自定义文件一次可以容纳的查询记录等的数量;最大限值max-file-size,最大文件大小,如果读取或写入的数据超过该最大限值,则提示文件操作失败;编码格式encoding,该自定义文件的编码格式,如果未配置该信息,则使用系统默认编码;类别class,自定义文件中的可选项目,存储文件内容的JavaBean。该Bean中支持三个属性赋值,即header区的name属性,body区的name属性,footer区的name属性。三个属性的类型依赖于各区的属性配置,如果区的type属性设置为“row-text”,则对应属性必须是java.util.List;如果区的type属性设置为“row-map”,且未配置该区的class属性,则对应属性必须是java.util.Map,如果配置了class属性,则对应属性为该class类型;如果区的type属性设置为“field”,则必须配置该区的class属性,并且对应属性必须是该class类型。
服务方22将响应报文的相应内容写入文件,记录文件名,将文件保存到对应的文件服务器,并记录文件保存的路径以及文件服务器的地址信息(例如,IP地址和端口等)等位置信息,然后将文件名、文件保存的路径、文件服务器的地址信息等文件的位置信息填充到第二响应报文。服务方22将文件的位置信息填充到第二响应报文可包括:根据与配置第一响应报文的第二报文配置规则(与未转换为文件之前的长报文相比而言短的报文转换规则)将文件的位置信息填充到第二响应报文的交易带附件通用域,同时将第一响应报文中没有写入到文件的那些信息写入第二响应报文的相应域,从而按照第二报文配置规则(短的报文配置规则)组装第二响应报文,例如,HTTP格式的数据报文。第二报文配置规则要求,与配置第一响应报文的规则不同,必须包含交易带附件通用域,用于填充文件的路径以及文件名等文件的位置信息,而配置第一响应报文的报文配置规则不要求必须包含交易带附件通用域。
服务方22使用短的报文转换规则,将请求的结果转换为短的第二响应报文并返回给请求方21。在请求方21的报文转换处理器中,会识别和解析第二响应报文的交易带附件通用域,获得文件的位置信息(例如,文件服务器的IP和端口、文件路径和文件名)。处理器自动调用文件传输组件的文件下载接口到服务方的文件服务器下载相应的文件。
在本发明的一些实施方式中,请求方21发送请求报文之前,可以判断待发送的报文是否超过第二阈值,如果待发送的请求报文超过(大于或等于)第二阈值,则将待发送的请求报文写入第二文件,并将第二文件的位置信息填充所述请求报文,并将该请求报文发送到服务方22;若待发送的请求报文未超过第二阈值,则将待发送的请求报文作为所述请求报文发送到服务方22。本发明除了在响应报文超过预定阈值之后转为文件,通过短的报文配置规则进行处理之外,还可以采用与响应报文类似的方式,将超过预定阈值的待发送请求报文转为文件,使用短的报文配置规则进行组装。本发明提供的请求报文的上述处理方式,对于请求方的输入项比较多,发送给请求方的请求报文较长的情形尤其有用,对不同大小的请求报文分别处理,能够显著改善请求报文的数据处理效率。
需要说明的是,请求报文写入的文件可包括XML文件或自定义文件。请求报文的转换处理中,所采用的文件、文件写入的处理以及短的报文的配置规则等可以与响应报文采用的相似或相同,在此不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。
Claims (24)
1.一种用于联机交易的数据报文处理方法,其特征在于,所述方法包括:
服务方响应请求方发送的请求报文,得到第一响应报文;
所述服务方判断所述第一响应报文是否超过第一阈值,
若超过第一阈值,则将所述第一响应报文写入文件,并将所述文件的位置信息填充到第二响应报文,并将所述第二响应报文返回给所述请求方;
若未超过第一阈值,则将所述第一响应报文返回给所述请求方。
2.根据权利要求1所述的方法,其特征在于,所述文件包括可扩展标记语言XML文件或自定义文件,其中,所述自定义文件包括所述自定义文件的标识以及文件内容格式。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一响应报文写入文件包括:
将所述第一响应报文中指定的标签下的内容写入XML文件。
4.根据权利要求2所述的方法,其特征在于,所述自定义文件的文件内容格式包括文本格式。
5.根据权利要求4所述的方法,其特征在于,所述文本格式包括text文本格式,所述自定义文件还包括:指定text文本文件中的注释行的注释标签以及指示text文本文件中字段之间的分隔符。
6.根据权利要求4所述的方法,其特征在于,所述文本格式包括字段定长的文本格式,所述自定义文件还包括:用于指示字段定长为二进制定长或字符串定长的指示标志。
7.根据权利要求4所述的方法,其特征在于,所述文本格式包括逗号分隔值csv文本格式。
8.根据权利要求2所述的方法,其特征在于,所述自定义文件还包括以下的一项或多项:所述自定义文件单次处理的记录的数量、最大限值、编码格式以及类别class,其中,所述类别存储该文件内容的Javabean。
9.根据权利要求2至8中任一项所述的方法,其特征在于,所述将所述文件的位置信息填充到第二响应报文包括:
根据与配置第一响应报文不同的第二报文配置规则将所述文件的位置信息填充到第二响应报文的交易带附件通用域,所述第二报文配置规则要求包含交易带附件通用域。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在服务方得到所述第一响应报文之后,判断所述第一响应报文是否超过第一阈值之前,判断所述第一响应报文的转附件标志是否为打开,若打开,则继续判断所述第一响应报文是否超过第一阈值,若关闭,则将所述第一响应报文返回给所述请求方。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述请求方发送请求报文之前,判断待发送的请求报文是否超过第二阈值,
若超过第二阈值,则将待发送的请求报文写入第二文件,并将所述第二文件的位置信息填充到所述请求报文,并将所述请求报文发送到所述服务方;
若未超过第二阈值,则将待发送的请求报文作为所述请求报文发送到所述服务方。
12.根据权利要求11所述的方法,其特征在于,所述第二文件包括XML文件或自定义文件,其中,所述自定义文件包括所述自定义文件的标识以及文件内容格式。
13.一种用于联机交易的数据报文处理系统,其特征在于,所述系统包括:
请求方,用于发送请求报文;
服务方,用于:响应请求方发送的请求报文,得到第一响应报文,判断所述第一响应报文是否超过第一阈值,
若超过第一阈值,则将所述第一响应报文写入文件,并将所述文件的位置信息填充到第二响应报文,并将所述第二响应报文返回给所述请求方;
若未超过第一阈值,则将所述第一响应报文返回给所述请求方。
14.根据权利要求13所述的系统,其特征在于,所述文件包括可扩展标记语言XML文件或自定义文件,其中,所述自定义文件包括所述自定义文件的标识以及文件内容格式。
15.根据权利要求14所述的系统,其特征在于,所述服务方将所述第一响应报文写入文件包括:
将所述第一响应报文中指定的标签下的内容写入XML文件。
16.根据权利要求14所述的系统,其特征在于,所述自定义文件的文件内容格式包括文本格式。
17.根据权利要求16所述的系统,其特征在于,所述文本格式包括text文本格式,所述自定义文件还包括:指定text文本文件中的注释行的注释标签以及指示text文本文件中字段之间的分隔符。
18.根据权利要求16所述的系统,其特征在于,所述文本格式包括字段定长的文本格式,所述自定义文件还包括:用于指示字段定长为二进制定长或字符串定长的指示标志。
19.根据权利要求16所述的系统,其特征在于,所述文本格式包括逗号分隔值csv文本格式。
20.根据权利要求14所述的系统,其特征在于,所述自定义文件还包括以下的一项或多项:所述自定义文件单次处理的记录的数量、最大限值、编码格式以及类别class,其中,所述类别存储该文件内容的Javabean。
21.根据权利要求14至20中任一项所述的系统,其特征在于,所述服务方将所述文件的位置信息填充到第二响应报文包括:
根据与配置第一响应报文不同的第二报文配置规则将所述文件的位置信息填充到第二响应报文的交易带附件通用域,所述第二报文配置规则要求包含交易带附件通用域。
22.根据权利要求13所述的系统,其特征在于,所述服务方还用于:在得到所述第一响应报文之后,判断所述第一响应报文是否超过第一阈值之前,判断所述第一响应报文的转附件标志是否为打开,若打开,则继续判断所述第一响应报文是否超过第一阈值,若关闭,则将所述第一响应报文返回给所述请求方。
23.根据权利要求13所述的系统,其特征在于,所述请求方还用于:在发送请求报文之前,判断待发送的请求报文是否超过第二阈值,
若超过第二阈值,则将待发送的请求报文写入第二文件,并将所述第二文件的位置信息填充到所述请求报文,并将所述请求报文发送到所述服务方;
若未超过第二阈值,则将待发送的请求报文作为所述请求报文发送到所述服务方。
24.根据权利要求23所述的系统,其特征在于,所述第二文件包括XML文件或自定义文件,其中,所述自定义文件包括所述自定义文件的标识以及文件内容格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610207708.3A CN105827541A (zh) | 2016-04-06 | 2016-04-06 | 用于联机交易的数据报文处理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610207708.3A CN105827541A (zh) | 2016-04-06 | 2016-04-06 | 用于联机交易的数据报文处理方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105827541A true CN105827541A (zh) | 2016-08-03 |
Family
ID=56526486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610207708.3A Pending CN105827541A (zh) | 2016-04-06 | 2016-04-06 | 用于联机交易的数据报文处理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105827541A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534267A (zh) * | 2016-10-19 | 2017-03-22 | 中国银行股份有限公司 | 文件上传解析方法及装置 |
CN110161431A (zh) * | 2018-02-12 | 2019-08-23 | 西门子公司 | 变频器监控数据的处理方法、装置和存储介质 |
CN111222937A (zh) * | 2018-11-27 | 2020-06-02 | 北京嘀嘀无限科技发展有限公司 | 共享服务用户数据处理方法、装置、电子设备及存储介质 |
CN114244829A (zh) * | 2021-12-14 | 2022-03-25 | 中国建设银行股份有限公司 | 一种基于拦截器的交易带附件双轨并行处理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964816A (zh) * | 2010-09-26 | 2011-02-02 | 用友软件股份有限公司 | 在b/s架构软件系统中浏览数据的方法和系统 |
CN103281394A (zh) * | 2013-06-07 | 2013-09-04 | 北京奇虎科技有限公司 | 文件获取方法、节点服务器和系统 |
CN103533017A (zh) * | 2013-06-18 | 2014-01-22 | 中国南方电网有限责任公司 | 服务调用方法和系统 |
CN104111950A (zh) * | 2013-04-19 | 2014-10-22 | 腾讯科技(深圳)有限公司 | 网页图片加载方法及加载装置 |
CN104166527A (zh) * | 2013-05-16 | 2014-11-26 | 上海联影医疗科技有限公司 | 一种应用程序用户界面的扩展方法 |
WO2015187275A1 (en) * | 2014-06-01 | 2015-12-10 | Apple Inc. | A dual server system for sending a large email attachment |
-
2016
- 2016-04-06 CN CN201610207708.3A patent/CN105827541A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964816A (zh) * | 2010-09-26 | 2011-02-02 | 用友软件股份有限公司 | 在b/s架构软件系统中浏览数据的方法和系统 |
CN104111950A (zh) * | 2013-04-19 | 2014-10-22 | 腾讯科技(深圳)有限公司 | 网页图片加载方法及加载装置 |
CN104166527A (zh) * | 2013-05-16 | 2014-11-26 | 上海联影医疗科技有限公司 | 一种应用程序用户界面的扩展方法 |
CN103281394A (zh) * | 2013-06-07 | 2013-09-04 | 北京奇虎科技有限公司 | 文件获取方法、节点服务器和系统 |
CN103533017A (zh) * | 2013-06-18 | 2014-01-22 | 中国南方电网有限责任公司 | 服务调用方法和系统 |
WO2015187275A1 (en) * | 2014-06-01 | 2015-12-10 | Apple Inc. | A dual server system for sending a large email attachment |
Non-Patent Citations (1)
Title |
---|
程学先: "《数据库系统原理与应用》", 31 March 2014 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534267A (zh) * | 2016-10-19 | 2017-03-22 | 中国银行股份有限公司 | 文件上传解析方法及装置 |
CN110161431A (zh) * | 2018-02-12 | 2019-08-23 | 西门子公司 | 变频器监控数据的处理方法、装置和存储介质 |
CN110161431B (zh) * | 2018-02-12 | 2023-02-17 | 西门子公司 | 变频器监控数据的处理方法、装置和存储介质 |
US11650896B2 (en) | 2018-02-12 | 2023-05-16 | Siemens Aktiengesellschaft | Method and a device for processing frequency converter monitoring data and a storage medium |
CN111222937A (zh) * | 2018-11-27 | 2020-06-02 | 北京嘀嘀无限科技发展有限公司 | 共享服务用户数据处理方法、装置、电子设备及存储介质 |
CN111222937B (zh) * | 2018-11-27 | 2023-12-01 | 北京嘀嘀无限科技发展有限公司 | 共享服务用户数据处理方法、装置、电子设备及存储介质 |
CN114244829A (zh) * | 2021-12-14 | 2022-03-25 | 中国建设银行股份有限公司 | 一种基于拦截器的交易带附件双轨并行处理方法及系统 |
CN114244829B (zh) * | 2021-12-14 | 2024-03-22 | 中国建设银行股份有限公司 | 一种基于拦截器的交易带附件双轨并行处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110022289B (zh) | 数据传输方法、装置及系统 | |
US8473595B2 (en) | Method and system to automatically adapt web services from one protocol/idiom to another protocol/idiom | |
US7725577B2 (en) | Method and system to adaptively manage the quality of service of interactions between smart item networks and enterprise applications | |
CN105827541A (zh) | 用于联机交易的数据报文处理方法和系统 | |
CN108769109A (zh) | 一种物联网异构设备数据的统一处理方法及系统 | |
CA2685892A1 (en) | Xml push and remote execution of a wireless applications | |
CN104994122A (zh) | 一种基于json数据协议的业务通讯方法 | |
EP3852340A1 (en) | Data request method based on http protocol, and server | |
CN108446105B (zh) | 一种轻量级API Server开发框架及开发方法 | |
US8027435B2 (en) | Method and system for protocol embedded automated test control | |
US8966108B2 (en) | Portable data carrier comprising a CAT interpreter | |
CN107204961B (zh) | 接口报文中需转义字符的处理方法和装置 | |
US20090172122A1 (en) | Message Transmission Method, Message Transmission Device, and Storage Medium Recorded with Message Transmission Program | |
CN109995782B (zh) | 一种信息处理方法、设备、系统及计算机存储介质 | |
CN105354269B (zh) | 基于反向代理及内容过滤的Web应用语言本地化方法和系统 | |
AU2018373682B2 (en) | Method for remote management of a device connected to a residential gateway | |
CN113918245A (zh) | 一种数据调用方法、装置、设备及计算机可读存储介质 | |
CN112769741B (zh) | 一种消息通信方法及电子设备 | |
KR101630506B1 (ko) | 이기종 출력 장치를 위한 출력 보안 방법 | |
CN112866294A (zh) | 一种多协议适配方法、装置及可读存储介质 | |
EP1528467A2 (en) | Method and system for delivery of data objects to components in a distributed system, using multiple data type representations | |
US8799351B1 (en) | Communicating multiple files in markup language documents | |
CN114329457A (zh) | 通信方法及设备 | |
US8001464B1 (en) | Segmentation of markup language documents | |
CN107635009A (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: 20160803 |
|
RJ01 | Rejection of invention patent application after publication |