ICS35.240.40A11JR中华人民共和国金融行业标准JR/T0066.1—2019代替JR/T0066—2011银行间市场业务数据交换协议第1部分:语法、结构与会话层Interbankmarketinformationexchangeprotocol—Part1:Syntax,structureandsessionlayer2019-01-08发布2019-01-08实施中国人民银行发布JR/T0066.1—2019目次前言................................................................................II1范围..............................................................................12规范性引用文件....................................................................13术语和定义........................................................................14报文语法与结构....................................................................25会话传输.........................................................................146会话管理.........................................................................157会话类报文与组件.................................................................24附录A(规范性附录)域字典.........................................................32参考文献............................................................................37IJR/T0066.1—2019前言JR/T0066《银行间市场业务数据交换协议》分成3部分:——第1部分:语法、结构与会话层;——第2部分:应用层;——第3部分:适流表示层。本部分为JR/T0066的第1部分。本部分依据GB/T1.1—2009给出的规则起草。本部分代替JR/T0066—2011《银行间市场业务数据交换协议》的协议语法结构、会话机制和会话层消息相关内容,未被代替的内容纳入JR/T0066的第2部分。本部分与JR/T0066—2011的替代部分相比,除编辑性修改外主要技术变化如下:——增加了规范性引用文件(见章节2);——修改和新增了部分术语和定义(见章节3,2011版的章节2);——修改了报文语法与结构的内容(见章节4,2011版的第4章节和5.1、5.2、5.3);——修改了会话传输的内容(见章节5,2011版的章节3.1、3.2、3.3、3.4、3.5、3.6和3.7);——修改了会话管理的内容(见章节6,2011版的3.8和3.9);——修改了会话类报文与组件的内容(见章节7,2011版的5.4);——增加了区块链扩展应用以适应国际技术发展(见4.7和7.2.2)。本部分由中国外汇交易中心暨全国银行间同业拆借中心提出。本部分由全国金融标准化技术委员会(SAC/TC180)归口。本部分负责起草单位:中国外汇交易中心暨全国银行间同业拆借中心。本部分参与起草单位:中国人民银行科技司。本部分主要起草人:许再越、姚前、杨富玉、朱荣、叶胜国、姜才康、王成勇、胡剑、李正、陈彬、胡卫平、沈峻、崔嵬、郦永达、余波、曲维民、孙小林、沈薇薇、茅廷、杨帆、夏志江、孙英昊、包晓晶、赵俊锋、卢艳民、崔奇、邓钢轶、严璐祎、沈叶。JR/T0066于2011年6月2日首次发布,本次为第一次修订。IIJR/T0066.1—2019银行间市场业务数据交换协议第1部分:语法、结构与会话层1范围JR/T0066的本部分规定了银行间市场参与方之间进行银行间交易所需的会话层通讯协议(InterbankMarketInformationExchangeProtocolTransport,简称IMIXT),包括报文语法与结构、会话可靠传输规范、会话管理规范、会话类报文与组件等。本部分适用于银行间市场参与方之间的基础会话通讯数据交换。本部分应用于银行间市场机构间的业务数据交换协议(InterbankMarketInformationExchangeProtocol,简称IMIX)报文传输交互,银行间市场机构包括且不限于中介服务机构、会员机构、使用本部分的其他机构等。2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T2659世界各国和地区名称代码GB/T12406表示货币和资金的代码JR/T0066.2—2019银行间市场业务数据交换协议第2部分:应用层3术语和定义下列术语和定义适用于本文件。3.1域界定符fieldseparator报文中所有的域都有一个分隔符来界定分隔。注:分隔符为ASCII码0x01,JR/T0066中域界定符以SOH表示。3.2重复组repeatinggroup由重复次数和若干组同类数据组成的域集合。3.3组件component会话报文和应用报文中,按照一定业务逻辑组成的域集合。3.4报文序号messagesequencenumber1JR/T0066.1—2019报文传输过程中,用于监测报文传输连续性的数值。注:通过该数值判断交换数据是否丢失。3.5心跳heartbeat报文发起方和接收方在报文交换空闲期,通过产生规律性心跳报文保持通讯连接的场景。3.6重复发送possibleduplicate因响应一个重发请求或者不确定对方是否收到已发报文,导致重复发送报文的场景。注:该场景下的报文应设置“可能重复标志”(PossDupFlag=Y)。3.7重新发送possibleresend因发送方或接收方应用需要,由报文发送方重新生成报文并发送的场景。注:该场景下的报文应设置“可能重发标志”(PossResend=Y)。3.8序号重设sequencereset发送方用于设置预期报文序号的报文。序号重设报文有两种模式:序号重设-缺口填补(SeqReset-GapFill)、序号重设-重置(SeqReset-Reset)。注:序号重设-重置(SeqReset-Reset)仅在灾难恢复情况下使用。3.9有效IMIX报文validIMIXmessage按照IMIX协议正确生成的报文。3.10发起方initiator登录报文的发送方。3.11接收方acceptor登录报文的接收方。3.12区块链blockchain一种在对等网络环境下,通过透明和可信规则,构建不可伪造、不可篡改和可追溯的块链式数据结构,实现和管理事务处理的模式。4报文语法与结构4.1数据类型2JR/T0066.1—20194.1.1说明数据类型用于定义数据域的取值类型,JR/T0066使用的数据类型由几个基本的数据类型(整数、浮点数、字符、字符串、数据)和在此基础上扩展的数据类型组成。除“数据”数据类型外,其他数据类型均以ASCII码字符串表示。4.1.2整数int无逗号和小数位的数值,可表示正负(ASCII码字符“-”,“0”至“9”组成)。符号占据一个字符位置。前置字符可置零(例如“00023”=“23”)。整数类型的扩展定义:a)长度Length:以整数表示字节为单位的数据长度,正数;b)重复数NumInGroup:以整数表示重复组的个数,正数;c)报文序号SeqNum:以整数表示报文序号,正数;d)域号TagNum:以整数表示的域号(或称Tag),正数,首位不能为零;e)月日期号DayOfMonth:以整数表示的月份中第几天,取值1至31。4.1.3浮点数float含有可选的小数部分,可表示正负(ASCII码字符“-”,“0”至“9”和“.”组成)。前置字符可置零(例如“0023”=“23”),小数部分后置字符可置零(例如“23.0”=“23.0000”=“23”)。浮点数类型的扩展定义:a)量Qty:股份数量、资产数量等,可有小数部分;b)价格Price:小数位数可变;c)价格偏移量PriceOffset:代表价格偏移量的浮点域;d)金额Amt:典型的价格与数量相乘结果,如成交金额;e)百分比Percentage:小数表示方法,例如.05代表5%。4.1.4字符char除界定符外所有字母字符和标点字符,区分字母大小写。字符类型的扩展定义是布尔Boolean:该域取值有两个字符(“Y”=True/Yes,“N”=False/No)。4.1.5字符串String除界定符外由数字、字母、符号组成的一串字符,区分字母大小写。字符串类型的扩展定义:a)多元值字符串MultipleValueString:用空格分隔(例如10243=D2M3Y3);b)国家Country:取值范围见GB/T2659(例如470=CHN);c)字符串货币类型Currency:取值范围见GB/T12406(例如15=CNY);d)交易所或市场编号Exchange:字符串(例如1301=2);e)年月Month-year:格式YYYYMM,YYYY=0000-9999,MM=01-12(例如200=201710);f)国际标准时时间戳UTCTimestamp:格式YYYYMMDD-HH:MM:SS(秒)或YYYYMMDD-HH:MM:SS.sss(毫秒),YYYY=0000-9999,MM=01-12,DD=01-31,HH=00-23,MM=00-59,SS=00-59(秒),sss=000-999(毫秒)(例如60=20171012-11:40:00或20171012-11:40:00.123);g)国际标准时时间UTCTimeOnly:格式HH:MM:SS或HH:MM:SS.sss,HH=00-23,MM=00-59,SS=00-59(秒),sss=000-999(毫秒)(例如10318=11:40:00或11:40:00.123);3JR/T0066.1—2019h)本地市场日期LocalMktDate:格式YYYYMMDD,YYYY=0000-9999,MM=01-12,DD=01-31(例如916=20171012);i)国际标准时日期UTCDate:格式YYYYMMDD,YYYY=0000-9999,MM=01-12,DD=01-31(例如75=20171012)。4.1.6数据Data无格式和内容限制的原始数据,包含长度域和数据域两个部分,数据域数据可包含域界定符〈SOH〉、特殊符号等,长度域指明数据域的字节数(注意:该字节数的计算不计域界定符〈SOH〉)。示例:1401为长度域,1402为数据域。数据样例:1401=51402=XXSOH=X4.2域4.2.1域的定义域是基本的数据元素。传输过程中,域由域号、等号、域值组成,即域号=域值。域字典部分详细定义了本部分所涉及到的所有域的数据类型和取值范围,见附录A。4.2.2域的使用在报文中,域的使用有三种方式:必需的、非必需的、条件限制选择(即根据其他相关域的存在与否或取值来决定)。条件限制选择域的示例见表1。当628、629、630存在取值时,则627应有值;当628、629、630不存在取值时,则627也可为空。627即为条件限制选择域。表1条件限制选择域的示例域号/嵌套组件名域名必需域627NoHops--628