金融机构|场外通用传输接口行标准

2022年12月7日11:20:35277

随着金融业务持续创新发展,场外业务不断增多,金融机构之间互联互通需求迅速增加。但与场内业务有主导核心机构参与不同,场外业务没有特定核心机构主导参与情况下,在信息技术标准化方面缺乏统一规划、引导、实施,导致场外协议种类繁多,目前统计有数十种之多,协议之间兼容性、扩展性差,业务系统难于互联互通和升级换代,并且增加技术系统设计和实现的复杂度,增大了运维风险,系统建设维护总体成本高,且无法快速响应业务创新。

从监管层到市场各参与方都已充分认识到这一问题,因此提出对场外协议进行统一梳理、规划及设立标准的目标,并向行业专家、学者、业务相关方的人员采集意见与建议。监管层已在2013年起推动并 组织标准体系建设工作,制定《证券期货业数据通信协议应用指南》(简称“《指南》”),《指南》 中提出了数据通信协议演进目标。

《指南》将数据通信协议从逻辑上由高至低分为数据字典、报文类别、 数据格式、传输机制四个层次。

数据通信协议演进目标将协议分为数据字典、报文类别、数据格式、传输机制四个层次。

其中的报文类别数据格式关系紧密,均侧重于业务表述,统称为数据接口;传输机制则侧重于技术实现,通常对应于与业务无关的传输协议,统称为传输接口;数据字典、数据接口和传输接口统称为数据通信协议。

监管层制定了《证券期货业机构间接口标准行业规划》(简称《规划》),《规划》中明确说明了数据接口传输接口各自定位不同,实际承担的功能差别较大,客观上是数据通信协议应用领域的两个维度,存在多个数据接口共用同一个传输接口可能,因此将数据接口与传输接口分离,分别进行规划, 其中总共规划了5项传输接口标准,包括:证券交易传输接口标准,证券结算传输接口标准,期货交易传 输接口标准,期货结算传输接口标准、通用传输接口规范

通用传输接口,属于传输机制层标准,侧重于技术实现,规范接口交互方式、安全加密标准、接口参数及意义等。通用传输接口标准化可提高行业数据通信安全水平和通信效率,降低数据通信成本,它可以与不同的数据接口灵活组合使用。

专业术语缩略语

CSRC 中国证监会 (China Securities Regulatory Commission)

FIX 金融信息交换 (Financial Information Exchange)

STEP 证券交易数据通信协议 (Securities Trading Exchange Protocol)

FAST 适流金融信息交换协议 (FIX Adapted for Streaming)

FIXML 金融信息交换标记语言 (Financial Information Exchange Markup Language)

FIXT 金融信息交换会话协议 (FIX Session Protocol)

SWIFT 环 球 同 业 银 行 金 融 电 讯 协 会 ( Society for Worldwide Interbank Financial Telecommunication)

FTD 期货交易数据通信协议 (Futures Trading Data Exchange Protocol) 

XML 可扩展标记语言 (Extensible Markup Language)

XBRL 可扩展商业报告语言 (Extensible Business Reporting Language)

CSV 逗号分隔值 (Comma Separated Values)

JSON JavaScript对象表示法 (JavaScript Object Notation)

DBF 数据库文件 (DBF DataBase File)

SQL 结构化查询语言 (Structured Query Language) TXT 文本文件 (Text file)

BIN 二进制文件 (Binary file)

协议模型

场外通用传输接口规范是基于应用指南的设计参考模型,并定义了通信连接建立、会话保持、数据 传输,数据校验、加密等机制的接口规范,用户可以使用该接口实现数据透明传输,可以直接对接用户 业务系统,或第三方代理平台系统。

应用指南参考模型仍然是基于TCP/IP参考模型设计,而应用指南参考模型将TCP/IP模型中应用层科学细划分为场外通用传输接口、数据格式、报文类别、数据字典四个子层,应用指南参考模型相比TCP/IP 参考模型更注重业务层的表达,目的在于扩展TCP/IP模型中应用层的灵活性,专业性,适用性,进一步提高标准协议开发效率、应用普及率。如下TCP/IP与应用指南参考模型对比图:

金融机构|场外通用传输接口行标准

连接模式

本文定义两种通信模式,一种是客户端直连服务端的直连模式,另一种是客户端通过中转通讯代理平台与服务端进行连接的代理模式。连接模式图如下:

金融机构|场外通用传输接口行标准

接口功能

场外通用传输接口规范适用于按JR/T 0111-2014规划设计的业务协议,实现消息传输,传输接口本身不涉及业务层具体内容,不再解释上层数据,属于透明传输。场外通用传输接口规范主要定义传输连接的建立、维护机制,包括认证机制、校验机制、审核机 制、加密机制等,以及传输数据模式机制,传输数据具体接口规范,传输数据相关约束等。

交互方式

此规范既支持一对一传输模式,又支持一对多传输模式,其中一对一传输模式客户端与服务端双方 都可以向对方发送消息。

一对一交互模式,消息内容只发给单一接收者,如下图:

金融机构|场外通用传输接口行标准

一对多传输模式是指多个客户端一起向服务端订阅消息的模式,消息内容有多接收者,如下图:

金融机构|场外通用传输接口行标准

通信机制

1. 会话过程

客户端与服务端的经典会话流程图如下:

金融机构|场外通用传输接口行标准

通信模式分为3步完成:

(1)会话建立:客户端向服务端主动发起会话连接,连接建立之后,由客户端向服务端发起登录请 求,然后由服务端返回登录确认,完成会话建立;

(2)数据传输:会话建立之后,客户端可向服端发送心跳消息,流控消息,注销消息;客户端之间 可发送实时消息、文件类消息、主题类消息;

(3)会话注销:客户端向服务端发送注销请求,服务端确认注销后会话终止。

2. 断开机制

断开方式共有3种:

(1) 客户端或服务端发送注销请求后,主动断开连接;

(2)客户端或服务端超时未收到心跳报文时,则主动断开与对端的连接;

(3)异常情况下直接断开连接。

3. 连续机制 

客户端与服务端使用心跳机制保持会话连续性,两端在未发送数据时,需间隔15秒向对端发送一次心跳,如果连续60秒未收到心跳报文,则认为客户端与服务器断开连接,客户端与服务端需要关闭连接, 并且由客户端再次发起连接

4. 校验机制 

消息数据的完整性通过两种方式来验证:验证消息长度、消息尾的校验值。

5.  消息超时机制

每个发送报文都有一个发送时间,并且可以设置超时时间标志位,当接收方收到报文时,先进行时 间比较,如果报文超时,则将报文丢弃。

6. 流速控制机制 

提供可以限制对端发送消息包的速率接口功能。

编码约定

字节对齐:报文头按字节对齐,大端字节序表示。

字符编码:报文头采用ASCII进行编码,其中整数为大端字节序表示;报文体采用二进制进行编码。

类型定义

INT64:表示64位的整数,共8个字节,大端字节序表示;

INT32:表示32位的整数,共4个字节,大端字节序表示;

INT16:表示16位整数,共2个字节,大端字节序表示;

CHAR:表示1个字节;

TEXT(X):表示文本,X表示字节长度,左对齐,不足长度,后面以0x00填充;

BIN(X):表示二进制,X表示字节长度;

BLOB:表示按照块长度(4字节)+块内容(变长二进制,由块长度指定)方式定义的数据块,BLOB结构图如下:

金融机构|场外通用传输接口行标准

报文定义

1. 报文结构

报文由三部分组成,即固定长度报文头(MsgHeader)、不固定长度报文体(MsgCtx)、固定长度报文尾(MsgTail),如图所示:

金融机构|场外通用传输接口行标准

其中,固定长度报文头为29字节;不固定长度报文体最大为100M字节,即范围为0~100000000字节;固定长度报文尾为4字节。

2. 报文定义

固定报文头(MsgHeader):

金融机构|场外通用传输接口行标准

固定报文尾(MsgTail):

金融机构|场外通用传输接口行标准

不定长报文体(MsgCtx)是指具体报文中包含的字段内容,一般包含业务报文头(BizHeader)和其它字段内容。业务报文头结构表:

金融机构|场外通用传输接口行标准 金融机构|场外通用传输接口行标准

报文类型汇总

1. 消息分类

按照功能性质,消息可分为两类:管理控制消息业务交换消息。消息与命令码的对照关系:

金融机构|场外通用传输接口行标准

管理类控制消息,用于会话控制,功能列表见表:

金融机构|场外通用传输接口行标准

业务交换类消息,指客户端与服务器之间的信息交换消息类型,内容见表:

金融机构|场外通用传输接口行标准

2. 管理控制类

用户登录请求:用户登录消息必须是客户端发送的第一个消息,客户端只有完成登录确认后,才能建立会话,并且 处理其它消息。

用户登录应答:用户登录应答消息是服务端收到登录请求后,返回给客户端的认证结果。服务端认证用户合法性。对于非法登录请求,服务端给出失败的错误码,并断开本次会话。

用户注销请求:客户端向服务端发送注销请求,要求对方结束会话,双方都可以要求对方结束会话,如果未收到用 户注销应答,将会根据会话超时机制终止会话。

用户注销应答:注销请求的服务端收到注销请求后,向对方返回应答消息,然后终止会话。

流控请求:流控功能用于设置对方向本方发送消息的速率。

流控应答:由请求响应方返回执行流控操作的结果。

心跳请求:客户端与服务端之间通过心跳消息实时监控上线状态。心跳消息不需要确认,会话双方均需要发送心跳消息。要求间隔固定时间如1min发送心跳1次。

3. 实时消息类

实时消息类包含实时消息请求、实时消息应答两类报文

实时消息请求:当会话建立之后,客户端或服务端都可以通过该报文向对方发送实时消息报文,消息的请求和应答 异步完成的。

实时消息应答:实时消息的应答报文,由实时消息请求报文中业务报文头中的业务标志指定是否需要应答报文。

广播消息:服务端通过该报文向全网广播实时消息。

4. 文件传输类

文件传输类报文包含4个报文:文件任务请求、文件任务应答、文件数据请求、文件数据应答。当会话建立之后,客户端与服务端可以相互发送文件传输类消息。

文件任务请求:会话建立之后,发送方向接收方发送文件任务请求报文,告之待发送的文件摘要信息。

文件任务应答:对文件任务请求报文进行应答,确认已收到文件任务摘要信息

文件数据请求:当文件接收方收到文件任务请求后,通过该报文向对方请求文件数据,需要1个或多个请求交互才 能完成文件数据传输。

文件数据应答:通过该报文应答方将文件数据发给请求方。

5. 主题传输类

主题传输类报文,包括主题发布请求报文,主题发布应答报文,主题订阅请求报文,主题订阅应 答报文,主题消息报文。 主题由服务端进行发布,由客户端进行订阅。

主题发布请求报文:主题发布方通过该报文定期向订阅方发布主题信息,如每天广播1次。

主题发布应答报文:客户端反馈收到服务端主题发布请求应答。

主题订阅请求报文:客户端向服务端发送主题订阅请求。

主题订阅应答报文:服务端反馈执行用户主题订阅请求的相关结果。

主题订阅应答报文:服务端反馈执行用户主题订阅请求的相关结果。

约束

1. 传输效率

场外通用传输接口适用于广域网数据传输,传输链路物理带宽小于等于100Mbit/秒,数据传输效率 不低于物理网络带宽80%。

2. 传输时延

场外通用传输接口在客户端与服务端之间的传输时延在毫秒级。

3. 传输有序性

消息从一个客户端到服务端需保证有序性,即从客户端先发送的消息先达到服务端,后发送的消息 后到达服务端。

4. 传输可靠性

本文描述通信双方采用TCP连接,在会话层使用SSL协议;不支持其他(如UDP)连接。

附录

错误返回码(RetCode)对照表,供参考:

金融机构|场外通用传输接口行标准

结尾语

这是前两年我负责上报到证标委的一个JR/TX金融行业标准项目,共同起草方有证监会信息中心、沪深交易所、中证信息、中国结算、恒生等多家单位,感谢同行的支持配合,如今此标准已发布。

彼期间,我工作中的对接客户覆盖了几乎所有的境内机构总部及少数境外金融机构,中国金融行业起步晚,在行业标准尤其是场外市场这块很不成熟,线上线下、纸质版电子版各类交互传输标准不一 给跨机构间沟通造成了很大的负担,希望此标准对金融行业场外市场的标准化起到了一点指导作用。

  • 特别声明:本文由互联网用户自行发布,仅供参考,不作为投资建议。股市有风险,炒股需谨慎!
  • 本文链接:https://www.gpboke.com/14645.html