技术特征:
1.一种基于fix协议实现业务的方法,其特征在于,所述方法包括:接收fix报文,所述fix报文为字符串的形式,包含协议号、业务类型和业务数据信息;解析获取fix报文中的协议号和业务类型,抽象封装fix报文;通过自定义注解方式,根据fix报文协议号和业务类型定位具体的业务实施单元,完成fix报文协议号和业务类型的适配;业务实施单元完成业务逻辑处理。2.根据权利要求1所述的基于fix协议实现业务的方法,其特征在于,所述自定义注解包括第一自定义注解和第二自定义注解;所述第一自定义注解注解定义业务实现类,并通过key=value存储业务实现类对象信息,其中,key用于存储协议号和业务类型拼接而成的字符串,value用于存储业务实现类对象值对象信息;所述第一自定义注解还注解定义name属性,其中name=业务类型;所述第二自定义注解包含filed和fieldtype枚举类型两个属性,其中filed值为fix报文中的业务类型,fieldtype涵盖所有fix报文包含实体对应的业务数据。3.根据权利要求1所述的基于fix协议实现业务的方法,其特征在于,所述接收fix报文前,还包括:加载自定义注解的业务实现类,并将所有标记有该注解的类进行缓存。4.根据权利要求1所述的基于fix协议实现业务的方法,其特征在于,所述解析获取fix报文中的协议号和业务类型,包括:截取fix报文header信息,获取fix报文的协议号和业务类型;拆分字符串,完成key=value的分解。5.根据权利要求1所述的基于fix协议实现业务的方法,其特征在于,所述抽象封装fix报文,包括:基于自定义注解,通过key=value模式将fix报文向业务实体object进行转换。6.根据权利要求1所述的基于fix协议实现业务的方法,其特征在于,所述根据fix报文协议号和业务类型定位具体的业务实施单元,包括:根据自定义注解中协议号和业务类型属性定位到从缓存中获取的具体业务实现类对象。7.根据权利要求1所述的基于fix协议实现业务的方法,其特征在于,所述业务实施单元完成业务逻辑处理,包括:根据定位的业务实现类对象,通过动态反射原理,调用对应业务逻辑方法,进行业务逻辑处理;所述业务实现类对象统一继承于一抽象基类,该基类定义统一业务处理步骤。8.根据权利要求1所述的基于fix协议实现业务的方法,其特征在于,所述接收fix报文包括:通过quickfix的消息分流器对各发送端的套接字进行异步非阻塞式监听;接收到fix报文后,根据fix报文消息来源以及报文中携带的会话id查找对应机构的会话信息;检查会话序号是否连续;
若连续,则进入下一步;若不连续,则返回错误报文,并要求发送端重新发送。9.根据权利要求2所述的基于fix协议实现业务的方法,其特征在于,所述方法还包括:当有新的fix报文协议号更新,或有新的业务类型增加时,则同步更新业务实现类。10.一种基于fix协议实现业务的系统,其特征在于,包括以下模块:接收模块:用于接收fix报文;解析模块:用于解析获取fix报文中的协议号和业务类型,抽象封装fix报文;定位模块:用于通过自定义注解方式,根据fix报文协议号和业务类型定位具体的业务实施单元;调用执行模块:用于业务实施单元调用业务逻辑方法,完成业务逻辑处理。
技术总结
本发明公开了一种基于FIX协议实现业务的方法及系统,该方法包括:接收FIX报文;解析获取FIX报文中的协议号和业务类型,抽象封装FIX报文;通过自定义注解方式,根据FIX报文协议号和业务类型定位具体的业务实施单元,完成FIX报文协议号和业务类型的适配;业务实施单元完成业务逻辑处理。本发明采用的是一种基于自定义注解实现的方法,利用模板模式、策略模式及类对象反射原理将业务处理逻辑单元和FIX多协议版本进行解耦,促使业务平台业务逻辑处理与FIX报文解析实现独立,以此完成FIX多协议兼容、多业务种类报文适配的功能。本方法还能降低业务平台的部署运行成本以及业务运行故障发生率。发生率。发生率。
技术研发人员:李江 杨瀚 杨晓晋 杜骁 何当清
受保护的技术使用者:深圳市雁联计算系统有限公司
技术研发日:2022.07.18
技术公布日:2022/9/22