本篇文章4287字,读完约11分钟

在投资、研究、投资和护理一体化产品和整体解决方案发布后,基于定量金融领域技术积累的数字动能发布了完全独立的研发,可以实现多业务模块之间的高速稳定通信。xRPC .XRPC是中国第一个面向定量金融的RPC通信框架。它是基于C++的。它可以广泛应用于金融领域中计算能力高、数据传输要求大的多业务通信场景。在台湾实现集中服务和解决业务互联是金融业的核心通信技术。

数字动能出版量化金融C++RPC框架

首先,投资、研究、投资和护理一体化的多服务场景需要分布式通信框架的支持

自成立以来,数字动能一直致力于资产管理业务中定量技术的探索和实践。数字动能利用以金融工程和软件工程为特征的定量技术,在战略集中业务中先后登陆定量战略交易终端AT、iMOM和SMD指数分析系统等定量投资和研究产品。该业务涵盖从定量投资和研究生产、研究和管理到智能投资和手机研究的整个投资和研究产品线。这些产品既相互关联又相互独立。根据我们自己的经验,2017年,数字动力提出了一个大型资本管理业务的投资、研究、投资和对价的综合解决方案。目前,已先后在证券公司、期货公司和公募基金公司获得应用案例。

数字动能出版量化金融C++RPC框架

基于定量科技的数字动能创新步伐没有停止。在实践中,以产品为中心的综合投资、研究、投资和护理解决方案的设计模式将迎来更大的变革。根据投资、研究和投资中定制量大、服务多样化、功能场景复杂的特点,解决方案产品需要解决跨部门、跨服务、多场景服务集成和服务间数据通信的问题。为了构建投资、研究和投资前端、管理中心和业务转型的一体化投资、研究和投资解决方案,一个组合更加灵活、业务粒度更细、开放性更强的集中投资、研究和投资业务平台成为技术实现的难点。解决这些问题的第一个关键技术在于能否构建一个统一的通信模式,既能满足业务/应用之间的通信需求,又能兼顾金融业高速稳定的特点。在定制投资和研究服务模块的开发过程中,服务之间的高速通信是通过约定的分布式通信协议实现的。在行业中广泛使用的RPC通信已成为首选。

数字动能出版量化金融C++RPC框架

二。通用远程过程控制框架介绍

远程产品调用是程序间远程调用的简称。在工业中,远程过程控制被广泛用于实现程序之间的调用。标准的RPC调用过程如图1所示。

图1

如图1所示,在两个程序能够通信之前,必须有一个服务发现机制。传统的方法是双方先约定地址,在每个服务都预先知道对方地址的前提下实现通信。这种方法称为静态路由。静态路由的通信方式一般可以满足简单的程序间调用的要求。然而,随着业务的发展,服务数量的增加使得静态路由难以满足需求。同时,后台服务具有动态上下行的需求,静态路由表更新会导致一系列问题。为了解决静态路由问题,大多数RPC框架引入服务注册来实现动态路由功能。如下图2所示:

数字动能出版量化金融C++RPC框架

图2(注意:该图省略了序列化/反序列化、运行时管理层和传输层的步骤)

动态路由改变了原有的应用模式。当被叫方启动服务时,它首先向服务注册中心注册自己的地址。在呼叫者发起RPC呼叫之前,他只能在服务注册中心获得被呼叫者的地址信息之后发起RPC请求。

三。xRPC框架提案

数字动能解决方案中的投资、研究、投资和保健一体化,一些特殊服务(如反测量、高频数据传输等)。)可能导致硬件资源或网络资源的消耗以及由于频繁的信息传输、大量并发数据和各种类型的信息传输而导致的通信效率的降低。在实践中,我们认为RPC框架应该进一步改进空,数字动能框架小组已经开始改进RPC通信框架,以提高应用程序之间的通信效率和信息交换的稳定性。

数字动能出版量化金融C++RPC框架

四.xRPC的设计目的

A.强量化金融的应用场景(计算力调度、大数据量传输)

需要基于网络层的高速数据传输支持

数据可靠性验证的稳定通信支持

需要为服务/应用程序提供更高效的纯异步并发调用

E.增强型动态路由选择算法

XRPC旨在更好地满足高计算能力、高稳定性和快速传输量化业务场景的需求。通过对传统RPC通信框架的新设计,xRPC深入优化了服务之间的通信稳定性、可靠性和通信性能。XRPC分布式框架协议是一个纯异步的高性能定量金融框架(特别是投资、研究和投资的应用场景)。

数字动能出版量化金融C++RPC框架

xRPC通信模式示意图

V.xRPC框架的特性

1.xRPC有自己的服务注册中心和动态路由方法

与其他RPC框架不同,xRPC也有一个本地缓存的路由表。当应用服务启动时,xPRC协议将要求应用服务在服务注册中心注册其所有服务信息和网络地址。发送请求时,如果本地路由的管理层没有找到相应的服务地址信息,xRPC将首先根据协议在服务注册中心获取相应服务的地址信息,本地路由管理层将长期直接连接到对方的路由管理层。稍后,如果它再次被发送到相同的服务,它将不再需要从服务注册中心获得地址信息,并且双方仍然是连接的,因此能够直接感测另一方的状态,而无需经过服务注册中心。这种方式也可以很好地减轻服务注册中心的压力。

数字动能出版量化金融C++RPC框架

2.xRPC新设计的高性能序列化方法

根据定量金融的服务使用特征,将特定服务场景松散耦合到多个服务之间的交互的直接成本是增加服务之间的通信压力,这使得服务之间的相互调用的性能要求非常高。XPRC在RPC框架中重新设计了序列化方法,并设计了一种高性能的序列化和反序列化方法,以满足量化金融的极高性能要求。

数字动能出版量化金融C++RPC框架

XSerial:一种新的高速RPC序列化方法。

A.数据类型的改进

XRPC新的序列化方法叫做XsSerial,XsSerial目前除了基本类型之外还支持列表、设置和映射。在序列化之前,xSerial可以快速准确地计算出数据序列化后占用的内存大小,并提前申请相应大小的内存,从而避免了在序列化过程中由于序列化和动态扩展内存的动作而造成的性能损失。C++对xsl的使用如下:

数字动能出版量化金融C++RPC框架

B.序列化解析器IDL的改进

就易用性而言,大多数序列化和反序列化方法是编写一个IDL文件,并通过IDL生成各种语言的代码。XSerial也有自己的IDL支持,但是已经有所改进。xSerial的IDL语言将与相应的xRPC本地语言集成。换句话说,如果xRPC运行在C++上,xSerial将提供一个C++解析器来自动扫描C++代码并识别代码以生成序列化。用户不需要编写额外的IDL文件。目前,xSerial的IDL支持本机围棋、C#、JAVA、Matlab和Python。

数字动能出版量化金融C++RPC框架

支持动态代码序列化

XSerial不仅支持静态代码的序列化,还增加了动态代码序列化的使用支持。在xRPC框架的序列化过程中,当生成静态代码时,XsArial生成器将同时生成相应的Json描述,这使得任何第三方应用服务都可以直接调用XsArial的Json描述来动态序列化和反序列化xRPC通信过程中的通信数据。

数字动能出版量化金融C++RPC框架

3.xRPC独特的通信层:接口和通信方式的松耦合设计

就通信而言,它不同于其他RPC框架。通用RPC框架的通信模式是特定的和独特的。同时,通用的RPC框架默认所有应用程序都是独立的进程。XRPC将通信层抽象为接口,使得通信更加灵活。在xRPC中,用户只需要定义接口,具体的通信模式由底层决定。XRPC允许在同一个进程中部署多个应用程序,并自动判断应用程序是否在同一个进程中,并选择是通过内存交互还是通过网络传输信息(如果xRPC使用网络通信,它将基于TCP)。这种设计使得定量金融的一些特定应用场景成为可能,例如某些服务之间的大量数据的高速交换,以完全避免网络之间的通信消耗。

数字动能出版量化金融C++RPC框架

4.xRPC使用特性:请求启动只能基于调用框架

XRPC调用不同于其他RPC调用。xRPC调用必须基于调用框架来启动请求,这将完全避免常见的回调问题。通过一个专栏,了解xRPC如何解决这个问题:

A.发送单个RPC请求

发送多个连续的请求

从上图可以看出(注意:忽略异常和最后),在发送“你好”之后,在其返回函数中,只要调用下一个方法并且传入调用下一个RPC的请求的参数,就可以继续启动下一个RPC请求。例如,这里调用SayHello2,在SayHello2的返回函数中调用SayHello3。这种编写方法使得解决回调问题和使代码更易维护成为可能。

数字动能出版量化金融C++RPC框架

同时发送多个请求

同时发送多个RPC请求使用BPParallelRPC作为调用框架,因此同时发送的三个请求可以在Then函数中分别取出每个RPC的请求结果。

通过介绍xRPC使用的方法,上面解释了为什么RPC请求必须通过调用框架来启动,这样RPC的定义只需要定义一次。下面的使用只需要替换调用RPC的调用框架,而不需要修改RPC的定义。同时,每个RPC请求将在RPC请求管理器中注册,后者将管理RPC的重新传输和超时。

数字动能出版量化金融C++RPC框架

XRPC是金融业唯一的纯C++分布式RPC框架

第六,为什么定量金融需要一个分布式沟通框架

高速稳定的分布式通信框架是实现中长期服务的关键技术。

服务国有化的实质是解决多个服务可以通过一个中心站互联的问题。因此,在服务中心的设计中,首先要考虑的核心问题是如何快速连接多部门、多场景的各种服务,实现相互沟通。解决这个问题的关键是要有一个稳定高效的分布式通信框架。目前,国内提供商业分布式框架解决方案的科技公司很少,国内面向金融业的分布式框架更是少之又少,如蚂蚁金服的SofaRPC分布式解决方案。SOFARPC起源于阿里的HSF,是蚂蚁金服最近开发的一个高度可扩展、高性能和生产级的Java远程过程控制框架。它致力于简化应用程序之间的RPC调用,并为应用程序提供方便、透明、稳定和高效的点对点远程服务调用方案。

数字动能出版量化金融C++RPC框架

与SofaRPC相比,xRPC框架具有更高效的执行性能、更轻的重量和更灵活的调用方法。他根据定量金融传输的要求设计了具体的场景,并在动态路由、串行化方法和通信层协议方面设计了大量的场景。这是一个稳定和高速的C++ RPC框架。随着量化金融领域数字动能的技术积累,xRPC更适合量化金融、投资、研究和投资领域的高计算能力和海量数据传输场景,能够满足不同服务之间快速信息交换的需求,如回溯测试执行、实时报价订阅、金融数据访问、复杂金融指数计算、要素生产等。随着数字动能自主开发的C++RPC分布式通信框架的到来,意味着其投资、研究、投资和关怀集成产品和方案将从面向产品方案的实施转向台湾集中业务的投资、研究、投资和关怀的战略转型。拥有分布式通信框架技术是衡量一家金融技术公司在其业务(技术)中是否掌握了台湾和中国的核心技术的关键。数字动能已经在商业中心和台湾拥有核心技术,能够在多个企业之间实现高速稳定的通信。

数字动能出版量化金融C++RPC框架

有关xRPC的更多技术细节,请通过以下方式联系我们:

电话:400-1860-552

:Contact@bitpower.com.cm邮箱

来源:罗马观察报

标题:数字动能出版量化金融C++RPC框架

地址:http://www.l7k9.com/gcbyw/566.html