CN109656574A - 交易时延度量方法、装置、计算机设备及存储介质 - Google Patents

交易时延度量方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN109656574A
CN109656574A CN201811423638.0A CN201811423638A CN109656574A CN 109656574 A CN109656574 A CN 109656574A CN 201811423638 A CN201811423638 A CN 201811423638A CN 109656574 A CN109656574 A CN 109656574A
Authority
CN
China
Prior art keywords
unit
timestamp
time delay
plug
network packet
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.)
Granted
Application number
CN201811423638.0A
Other languages
English (en)
Other versions
CN109656574B (zh
Inventor
何志东
苗咏
禹春雷
黄敏龙
赵楠
李云翀
周基鑫
邹胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huarui Distributed Technology Co.,Ltd.
Original Assignee
Shenzhen Huarui Financial Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Huarui Financial Technology Co Ltd filed Critical Shenzhen Huarui Financial Technology Co Ltd
Priority to CN201811423638.0A priority Critical patent/CN109656574B/zh
Publication of CN109656574A publication Critical patent/CN109656574A/zh
Application granted granted Critical
Publication of CN109656574B publication Critical patent/CN109656574B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps

Abstract

本发明实施例公开了一种交易时延度量方法、装置、计算机设备及存储介质,其中所述方法包括若接收到时延监控插件安装请求,控制交易系统中的至少一个功能服务器安装时延监控插件;当交易系统接收到交易请求时,通过控制所述时延监控插件调用预设抓包工具以获取相应的功能服务器所接收到的网络数据包以及发送出去的网络数据包;通过控制所有的时延监控插件解析所获取的网络数据包,以生成相应的时间戳;将获取的每个网络数据包的时间戳存储在预设配置文件中;根据预设规则调用配置文件的时间戳以计算得到相应的交易时延数据。本发明具备一定的通用性,可准确客观地对交易时间进行计算和度量,能够有效提高用户的使用体验度。

Description

交易时延度量方法、装置、计算机设备及存储介质
技术领域
本发明涉及数据处理领域,尤其涉及一种交易时延度量方法、装置、计算机设备及存储介质。
背景技术
证券交易所服务器交易系统的交易竞价原则是价格优先、时间优先,即同等价格下,先到先得,因此证券交易竞争的本质是时延的竞争,时延大小是衡量券商交易系统性能最重要指标,较低的时延能够抢占交易队列前排,给客户创造巨大的交易优势。
精准科学的时延度量方案,对于衡量交易系统的性能极为重要,目前证券市场券商主流的核心交易系统架构包含接入网关、交易引擎、报盘服务等多个组件模块,这些组件模块分布于不同的物理服务器,想精确科学地度量时延难度较大,目前行业内的方案都有自身的缺陷。
目前行业内较为先进的时延度量方案是交易系统自身为每一个订单维护一个全局的ID,然后根据业务需要,在订单相应的业务处理流程输出时间戳,根据时间戳统计每一段时延大小。该方案优点是度量精确,而且可根据系统自身的需求统计任意一段时延,缺点是时延度量方案与应用系统强相关,统计的时延也只能为应用系统本身做参考,无法与其他交易系统横向比较,不具有通用性。
行业内另外一种时延度量方案是由订单管理系统去度量,该订单管理系统为每个订单维护全局的ID,记录下订单的发出时间戳,等待订单确认经过交易系统回到订单管理系统,记录接收的时间戳,从而统计回路时延。该方案的优势是相对通用,任何交易系统可以作为一个黑盒,统计回路时延;但是缺陷是无法统计上行时延(时间优先更关注的是订单上行到达交易所服务器的时延,而不是整个回路的时延),另外也没办法统计每个环节的处理时延,再就是回路时延没法排除交易所服务器的时间,从而统计出来的回路时延不具有参考价值。
发明内容
本发明实施例提供一种交易时延度量方法、装置、计算机设备及存储介质,不仅能够通用于各种交易系统,还可准确客观地计算出相应的交易时延,提高用户的使用体验度。
第一方面,本发明实施例提供了一种交易时延度量方法,该方法包括:
若接收到时延监控插件安装请求,控制交易系统中的至少一个功能服务器安装时延监控插件;
当交易系统接收到交易请求时,通过控制所述时延监控插件调用预设抓包工具以获取相应的功能服务器所接收到的网络数据包以及发送出去的网络数据包;
通过控制所有的时延监控插件解析所获取的网络数据包,以生成相应的时间戳,其中一个网络数据包对应一个时间戳;
将获取的每个网络数据包的时间戳存储在预设配置文件中;
根据预设规则调用配置文件的时间戳以计算得到相应的交易时延数据。
第二方面,本发明实施例还提供了一种交易时延度量装置,该装置包括:
插件安装单元,用于若接收到时延监控插件安装请求,控制交易系统中的至少一个功能服务器安装时延监控插件;
数据包获取单元,用于当交易系统接收到交易请求时,通过控制所述时延监控插件调用预设抓包工具以获取相应的功能服务器所接收到的网络数据包以及发送出去的网络数据包;
数据包解析单元,用于通过控制所有的时延监控插件解析所获取的网络数据包,以生成相应的时间戳,其中一个网络数据包对应一个时间戳;
时间戳存储单元,用于将获取的每个网络数据包的时间戳存储在预设配置文件中;
时延计算单元,用于根据预设规则调用配置文件的时间戳以计算得到相应的交易时延数据。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述方法。
本发明实施例提供了一种交易时延度量方法、装置、计算机设备及存储介质。其中,所述方法包括:若接收到时延监控插件安装请求,控制交易系统中的至少一个功能服务器安装时延监控插件;当交易系统接收到交易请求时,通过控制所述时延监控插件调用预设抓包工具以获取相应的功能服务器所接收到的网络数据包以及发送出去的网络数据包;通过控制所有的时延监控插件解析所获取的网络数据包,以生成相应的时间戳,其中一个网络数据包对应一个时间戳;获取的每个网络数据包的时间戳存储在配置文件中;根据预设规则调用配置文件的时间戳以计算得到相应的交易时延数据。本发明实施例由于不依赖特定的交易系统,也不依赖于特定的服务器或者主机系统,具备一定的通用性,故可准确客观地对交易时间进行计算和度量,同时,其还具备一定的扩展性,能够统计计算交易系统的任意节点的时延数据,有效地提高了用户的使用体验度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种交易时延度量方法的流程示意图;
图1a是本发明实施例提供的一种交易时延度量方法的应用场景示意图;
图1b是本发明实施例提供的一种交易时延度量方法的另一应用场景示意图;
图2是本发明实施例提供的一种交易时延度量方法的子流程示意图;
图3是本发明实施例提供的一种交易时延度量方法的子流程示意图;
图4是本发明实施例提供的一种交易时延度量装置的示意性框图;
图5是本发明实施例提供的一种交易时延度量装置的数据包解析单元的示意性框图;
图6是本发明实施例提供的一种交易时延度量装置的生成单元的示意性框图;
图7是本发明实施例提供的一种计算机设备结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
请参阅图1,图1是本发明实施例提供的一种交易时延度量方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图1所示,该方法的步骤包括步骤S101~S104。
S101,若接收到时延监控插件安装请求,控制交易系统中的至少一个功能服务器安装时延监控插件。
在本实施例中,若终端接收到由需要对交易系统进行时延监控的用户发出的时延监控插件安装请求,则表明此时终端可以根据该时延监控插件安装请求控制交易系统中的至少一个功能服务器安装时延监控插件。交易系统可以包括多个功能服务器,可以根据用户检测时延的具体需求来确定需要安装时延监控插件的功能服务器。
另外,不同的交易系统都有自身的外部接口,而外部接口的能够接收的交易请求的字段结构设计一般是有差异的,为了能够实现时延监控的通用性,除了可以采用在交易系统的功能服务器上安装时延监控插件,还可以在相应的配置文件中加载时延监控的代码。
作为进一步的实施例,如图1a所示,所述交易系统10的功能服务器至少包括接入网关服务器11、中间处理服务器12以及报盘服务器13,所述接入网关服务器11用于接收订单管理系统20发送的交易请求并发送给中间处理服务器12进行处理以得到交易订单,所述报盘服务器13用于将交易订单上报给到交易所服务器30。作为可选的,中间处理服务器12可以包括交易引擎服务器以及风控系统服务器等功能服务器。
其中,所述步骤S101具体可以包括控制所述接入网关服务器以及报盘服务器安装时延监控插件。当接入网关服务器以及报盘服务器均安装时延监控插件时,能够计算交易请求在交易系统的接入网关服务器和报盘服务器中产生的时延,也可以计算交易请求在交易系统产生的总的时延等。
S102,当交易系统接收到交易请求时,通过控制所述时延监控插件调用预设抓包工具以获取相应的功能服务器所接收到的网络数据包以及发送出去的网络数据包。
在本实施例中,当用户通过订单管理系统发起交易请求时,若终端检测到交易系统接收到交易请求,此时终端可以通过控制所述时延监控插件调用预设抓包工具在交易系统进行抓包操作。例如,可以控制每个安装有时延监控插件的功能服务器调用预设抓包工具来获取该功能服务器所接收到的网络数据包以及该功能服务器发送出去的网络数据包。
其中,预设抓包工具是指预先设置的能够拦截查看网络数据包内容的软件。作为可选的,该预设抓包工具可以是TcpDump。TcpDump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。TcpDump是Linux中强大的网络数据采集分析工具之一。用简单的话来定义Tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。
作为互联网上经典的的系统管理员必备工具,Tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一。Tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。Tcpdump存在于基本的FreeBSD系统中,由于它需要将网络接口设置为混杂模式,普通用户不能正常执行,但具备Root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。
S103,通过控制所有的时延监控插件解析所获取的网络数据包,以生成相应的时间戳,其中一个网络数据包对应一个时间戳。
在本实施例中,当获取了网络数据包之后,终端可以通过控制所有的时延监控插件均来解析所有的网络数据包,并根据所解析的网络数据包生成相应的时间戳。其中,时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。
在一实施例中,如图1b所述时延监控插件40可以包括消息解析器41以及时间戳生成器42。例如,终端50能够控制时延监控插件40通过预设抓包工具来抓取交易系统10的接入网关服务器11的接收到的和发送出去的网络数据包。同理,其他的功能服务器所安装的时延监控插件也能在终端50的控制下通过预设抓包工具进行网络数据包的抓取。故,如图2所示,所述步骤S103具体可以包括步骤S201~S202。
S201,通过控制所有的时延监控插件的消息解析器解析所获取的网络数据包以得到相应的中间数据。
在本实施例中,消息解析器能够对所获取的网络数据包进行解析,终端通过控制所有的时延监控插件的消息解析器解析网络数据包可以得到相应的中间数据。即每个时间监控插件都包括一个消息解析器,消息解析器所解析的网络数据包为该消息解析器所的对应的功能服务器所接收到的网络数据包和发送出去的网络数据包,从而得到相应的中间数据。
S202,通过控制所有的时延监控插件的时间戳生成器获取相应的中间数据,以生成相应的时间戳,其中,所述时间戳包括全局ID、时间点以及时间信息。
在本实施例中,时间戳生成器能够根据中间数据的内容生成相应的时间戳。终端通过控制所有的时延监控插件的时间戳生成器获取相应的中间数据,可以得到相应的功能服务器所接收到的或者发送出去的网络数据包的时间戳。
在一实施例中,如图3所示,每个中间数据均包括全局ID以及时间信息,所述步骤S202具体可以包括步骤S301~S304。
S301,通过控制所有的时延监控插件的时间戳生成器获取相应的中间数据。其中,终端能够控制所有的时延监控插件的时间戳生成器获取由消息解析器解析后得到的中间数据,从而便于进行后续处理。
S302,控制所述时间戳生成器根据所述中间数据确定相应的网络数据包的发送方向和消息类型。
其中,终端还可以控制时间戳生成器根据所述中间数据确定相应的网络数据包的发送方向和消息类型。时延监控代理通过预设抓包工具得到的网络数据局包在被解析后所生成的中间数据能够包括全局ID和精准的时间信息。全局ID是目前市场主流的交易系统一般都包含的全局的委托ID,是每笔订单请求在交易系统中的唯一的标识信息,其可以是全局的唯一字段,从而增强时延监控插件的通用性。
再者,交易系统作为证券交易系统,其中流通的与订单请求相对应的订单消息作为网络数据包具有一个特点,订单请求所包括的全局ID会在其原数据包以及衍生数据包中全链路维持,因此不仅是交易系统根据订单请求所生成的订单消息,还是交易系统接收到从交易所服务器返回来的委托确认,我们仍可追溯其原订单ID,从而实现全链路的时延监控。再者,当预设抓包工具为Tcpdump时,其抓取的网络数据包是自带跟时间戳相关的信息内容的,该信息内容能够精确反应网络数据包进入功能服务器的网卡以及出去功能服务器的网卡的时间,而且进度是纳秒级的,对于微妙级的组件处理时延精度是足够的。
S303,控制所述时间戳生成器根据所述发送方向和消息类型确定相应的时间点。其中,所述发送方向是指接收和发送,而消息类型是指订单消息和委托确认。发送方向和消息类型都可以根据网络数据包中的消息内容进行解析确定。
例如,如图1a和图1b所示,接入网关服务器接收的消息可以包括订单消息以及委托确认,故发送的消息也包括订单消息以及委托确认,此时如下表1所示:
时间点 接收 发送
订单消息 t1 t2
委托确认 t2’ t1’
表1
故通过上表中的发送方向和消息类型就可以确定网络数据包的时间点。
具体的,订单请求从订单管理系统经过网络传输到接入网关服务器后变为订单消息,需要指出的是本实施例中的订单消息以及委托确认均为网络数据包,时延监控插件记录时间点t1;而当订单消息从接入网关服务器发出时,时延监控插件记录时间点t2;订单消息进入报盘服务器时,时延监控插件记录时间点t3;订单消息从报盘服务器发出给交易所服务器时,时延监控插件记录时间点t4;订单消息进入交易所服务器后,交易所服务器会依据该订单消息进行处理并生成委托确认,同时交易所服务器会将委托确认发送进入报盘服务器时,时延监控插件记录时间点t4′;委托确认离开报盘服务器时,时延监控插件记录时间点t3′;委托确认进入接收网关服务器时,时延监控插件记录时间点t2′;委托确认离开接收网关服务器时,时延监控插件记录时间点t1′。
S304,将每个中间数据的全局ID、时间信息以及根据其所确定的时间点作为相应的网络数据包的时间戳。其中,时间戳可以包括全局ID、时间信息以及时间点,具体的可以根据具体情况进行相应的确认。
S104,将获取的每个网络数据包的时间戳存储在预设配置文件中。
在本实施例中,为了方便进行统计管理,需要将获取到的每个网络数据包的时间戳都存储在预设配置文件。
S105,根据预设规则调用配置文件的时间戳以计算得到相应的交易时延数据。
在本实施例中,预设规则可以根据用户的需求进行相应的设置,以便于计算得到相应的交易时延数据。例如,如图1a所示,根据统计需求,交易系统的回路时延可以是:(t1-t1’)-(t4’-t4);交易系统委托上行时延可以是:(t4-t1);网关上行内部处理时延可以是:(t2-t1)。
作为进一步的实施例,所述步骤S101之前还包括:
步骤S101a,根据精确时间协议控制交易系统的所有功能服务器进行时间同步调整。
在本实施例中,因为涉及到跨服务器统计时延信息,例如,交易系统的上行时延为(t4-t1),此时需要将接入网关服务器和报盘服务器的时钟同步到1微秒以内。目前的精确时间协议(PTP)已经可以把服务器之间的系统时间同步至300ns以内,能够使得交易系统内部的时延计算结果更为精准。
综上,本实施例不依赖特定的交易系统,也不依赖于特定的服务器或者主机系统,具备一定的通用性,故可准确客观地对交易时间进行计算和度量,同时,其还具备一定的扩展性,能够统计计算交易系统的任意节点的时延数据,有效地提高了用户的使用体验度。
本领域普通技术员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
请参阅图4,对应上述一种交易时延度量方法,本发明实施例还提出一种交易时延度量装置,该装置100包括:插件安装单元101、数据包获取单元102、数据包解析单元103、时间戳存储单元104以及时延计算单元105。
所述插件安装单元101,用于若接收到时延监控插件安装请求,控制交易系统中的至少一个功能服务器安装时延监控插件。
在本实施例中,若终端接收到由用户发出的时延监控插件安装请求,则表明此时可以根据该时延监控插件安装请求控制交易系统中的至少一个功能服务器安装时延监控插件。交易系统可以包括多个功能服务器,可以根据用户检测时延的具体需求来确定需要安装时延监控插件的功能服务器。
作为进一步的实施例,如图1a所示,所述交易系统10的功能服务器至少包括接入网关服务器11、中间处理服务器12以及报盘服务器13,所述接入网关服务器11用于接收订单管理系统20发送的交易请求并发送给中间处理服务器12进行处理以得到交易订单,所述报盘服务器13用于将交易订单上报给到交易所服务器30。作为可选的,中间处理服务器12可以包括交易引擎服务器以及风控系统服务器等功能服务器。
其中所述插件安装单元101具体可以用于控制所述接入网关服务器以及报盘服务器安装时延监控插件。当接入网关服务器以及报盘服务器均安装时延监控插件时,能够计算交易请求在交易系统的接入网关服务器和报盘服务器中产生的时延,也可以计算交易请求在交易系统产生的总的时延等。
所述数据包获取单元102,用于当交易系统接收到交易请求时,通过控制所述时延监控插件调用预设抓包工具以获取相应的功能服务器所接收到的网络数据包以及发送出去的网络数据包。
在本实施例中,当用户通过订单管理系统发起交易请求时,若终端检测到交易系统接收到交易请求,此时终端可以通过控制所述时延监控插件调用预设抓包工具在交易系统进行抓包操作。例如,可以控制每个安装有时延监控插件的功能服务器调用预设抓包工具来获取该功能服务器所接收到的网络数据包以及该功能服务器发送出去的网络数据包。其中,预设抓包工具是指预先设置的能够拦截查看网络数据包内容的软件。作为可选的,该预设抓包工具可以是TcpDump。
所述数据包解析单元103,用于通过控制所有的时延监控插件解析所获取的网络数据包,以生成相应的时间戳,其中一个网络数据包对应一个时间戳。
在本实施例中,当获取了网络数据包之后,终端可以通过控制所有的时延监控插件均来解析所有的网络数据包,并根据所解析的网络数据包生成相应的时间戳。其中,时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。
在一实施例中,如图1b所述时延监控插件40可以包括消息解析器41以及时间戳生成器42。例如,终端50能够控制时延监控插件40通过预设抓包工具来抓取交易系统10的接入网关服务器11的接收到的和发送出去的网络数据包。同理,其他的功能服务器所安装的时延监控插件也能在终端50的控制下通过预设抓包工具进行网络数据包的抓取。故,如图5所示,所述数据包解析单元103具体可以包括调整单元201以及生成单元202。
所述调整单元201,用于通过控制所有的时延监控插件的消息解析器解析所获取的网络数据包以得到相应的中间数据。
在本实施例中,消息解析器能够对所获取的网络数据包进行解析,终端通过控制所有的时延监控插件的消息解析器解析网络数据包可以得到相应的中间数据。即每个时间监控插件都包括一个消息解析器,消息解析器所解析的网络数据包为该消息解析器所的对应的功能服务器所接收到的网络数据包和发送出去的网络数据包,从而得到相应的中间数据。
所述生成单元202,用于通过控制所有的时延监控插件的时间戳生成器获取相应的中间数据,以生成相应的时间戳,其中,所述时间戳包括全局ID、时间点以及时间信息。
在本实施例中,时间戳生成器能够根据中间数据的内容生成相应的时间戳。终端通过控制所有的时延监控插件的时间戳生成器获取相应的中间数据,可以得到相应的功能服务器所接收到的或者发送出去的网络数据包的时间戳。
在一实施例中,如图6所示,每个中间数据均包括全局ID以及时间信息,所述生成单元202具体可以包括获取单元301、第一确定单元302、第二确定单元303以及处理单元304。
所述获取单元301,用于通过控制所有的时延监控插件的时间戳生成器获取相应的中间数据。其中,终端能够控制所有的时延监控插件的时间戳生成器获取由消息解析器解析后得到的中间数据,从而便于进行后续处理。
所述第一确定单元302,用于控制所述时间戳生成器根据所述中间数据确定相应的网络数据包的发送方向和消息类型。
其中,终端还可以控制时间戳生成器根据所述中间数据确定相应的网络数据包的发送方向和消息类型。时延监控代理通过预设抓包工具得到的网络数据局包在被解析后所生成的中间数据能够包括全局ID和精准的时间信息。全局ID是目前市场主流的交易系统一般都包含的全局的委托ID,是每笔订单请求在交易系统中的唯一的标识信息,其可以是全局的唯一字段,从而增强时延监控插件的通用性。
再者,交易系统作为证券交易系统,其中流通的与订单请求相对应的订单消息作为网络数据包具有一个特点,订单请求所包括的全局ID会在其原数据包以及衍生数据包中全链路维持,因此不仅是交易系统根据订单请求所生成的订单消息,还是交易系统接收到从交易所服务器返回来的委托确认,我们仍可追溯其原订单ID,从而实现全链路的时延监控。再者,当预设抓包工具为Tcpdump时,其抓取的网络数据包是自带跟时间戳相关的信息内容的,该信息内容能够精确反应网络数据包进入功能服务器的网卡以及出去功能服务器的网卡的时间,而且进度是纳秒级的,对于微妙级的组件处理时延精度是足够的。
所述第二确定单元303,用于控制所述时间戳生成器根据所述发送方向和消息类型确定相应的时间点。
其中,所述发送方向是指接收和发送,而消息类型是指订单消息和委托确认。发送方向和消息类型都可以根据网络数据包中的消息内容进行解析确定。
例如,如图1a和图1b所示,接入网关服务器接收的消息可以包括订单消息以及委托确认,故发送的消息也包括订单消息以及委托确认,此时如下表1所示:
时间点 接收 发送
订单消息 t1 t2
委托确认 t2’ t1’
表1
故通过上表中的发送方向和消息类型就可以确定网络数据包的时间点。
所述处理单元304,用于将每个中间数据的全局ID、时间信息以及根据其所确定的时间点作为相应的网络数据包的时间戳。其中,时间戳可以包括全局ID、时间信息以及时间点,具体的可以根据具体情况进行相应的确认。
时间戳存储单元104,用于将获取的每个网络数据包的时间戳存储在预设配置文件中。
在本实施例中,为了方便进行统计管理,需要将获取到的每个网络数据包的时间戳都存储在预设配置文件。
时延计算单元105,用于根据预设规则调用配置文件的时间戳以计算得到相应的交易时延数据。
在本实施例中,预设规则可以根据用户的需求进行相应的设置,以便于计算得到相应的交易时延数据。例如,如图1a所示,根据统计需求,交易系统的回路时延可以是:(t1-t1’)-(t4’-t4);交易系统委托上行时延可以是:(t4-t1);网关上行内部处理时延可以是:(t2-t1)。
作为进一步的实施例,所述插件安装单元101之前还包括:
时间同步单元101a,用于根据精确时间协议控制交易系统的所有功能服务器进行时间同步调整。
在本实施例中,因为涉及到跨服务器统计时延信息,例如,交易系统的上行时延为(t4-t1),此时需要将接入网关服务器和报盘服务器的时钟同步到1微秒以内。目前的精确时间协议(PTP)已经可以把服务器之间的系统时间同步至300ns以内,能够使得交易系统内部的时延计算结果更为精准。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述交易时延度量装置100和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
由以上可见,在硬件实现上,以上插件安装单元101、数据包获取单元102、数据包解析单元103、时间戳存储单元104以及时延计算单元105等可以以硬件形式内嵌于或独立于寿险报案的装置中,也可以以软件形式存储于交易时延度量装置的存储器中,以便处理器调用执行以上各个单元对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
上述交易时延度量装置可以实现为一种计算机程序的形式,计算机程序可以在如图7所示的计算机设备上运行。
图7为本发明一种计算机设备的结构组成示意图。该设备可以是终端,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。
参照图7,该计算机设备400包括通过系统总线401连接的处理器402、存储器、内存储器404和网络接口405,其中,存储器可以包括非易失性存储介质403和内存储器404。
该非易失性存储介质403可存储操作系统4031和计算机程序4032,该计算机程序4032被执行时,可使得处理器402执行一种交易时延度量方法。
该处理器402用于提供计算和控制能力,支撑整个计算机设备400的运行。
该内存储器404为非易失性存储介质403中的计算机程序4032的运行提供环境,该计算机程序4032被处理器402执行时,可使得处理器402执行一种交易时延度量方法。
该网络接口405用于与其它设备进行网络通信。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备400的限定,具体的计算机设备400可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器402用于运行存储在存储器中的计算机程序4032,以实现上述实施例中的交易时延度量方法。
应当理解,在本申请实施例中,处理器402可以是中央处理单元(CentralProcessing Unit,CPU),该处理器402还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,该计算机程序被处理器执行时使处理器执行如上述实施例中的交易时延度量方法。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种交易时延度量方法,其特征在于,所述方法包括:
若接收到时延监控插件安装请求,控制交易系统中的至少一个功能服务器安装时延监控插件;
当交易系统接收到交易请求时,通过控制所述时延监控插件调用预设抓包工具以获取相应的功能服务器所接收到的网络数据包以及发送出去的网络数据包;
通过控制所有的时延监控插件解析所获取的网络数据包,以生成相应的时间戳,其中一个网络数据包对应一个时间戳;
将获取的每个网络数据包的时间戳存储在预设配置文件中;
根据预设规则调用配置文件的时间戳以计算得到相应的交易时延数据。
2.如权利要求1所述的方法,其特征在于,所述通过控制所有的时延监控插件解析所获取的网络数据包,以生成相应的时间戳的步骤,包括:
通过控制所有的时延监控插件的消息解析器解析所获取的网络数据包以得到相应的中间数据;
通过控制所有的时延监控插件的时间戳生成器获取相应的中间数据,以生成相应的时间戳,其中,所述时间戳包括全局ID、时间点以及时间信息。
3.如权利要求2所述的方法,其特征在于,每个中间数据均包括全局ID以及时间信息,所述通过控制所有的时延监控插件的时间戳生成器获取相应的中间数据,以生成相应的时间戳的步骤,包括:
通过控制所有的时延监控插件的时间戳生成器获取相应的中间数据;
控制所述时间戳生成器根据所述中间数据确定相应的网络数据包的发送方向和消息类型;
控制所述时间戳生成器根据所述发送方向和消息类型确定相应的时间点;
将每个中间数据的全局ID、时间信息以及根据其所确定的时间点作为相应的网络数据包的时间戳。
4.如权利要求1所述的方法,其特征在于,所述控制交易系统中的至少一个功能服务器安装时延监控插件的步骤之前,还包括:
根据精确时间协议控制交易系统的所有功能服务器进行时间同步调整。
5.如权利要求1所述的方法,其特征在于,所述交易系统的功能服务器至少包括接入网关服务器、中间处理服务器以及报盘服务器,所述接入网关服务器用于接收订单管理系统发送的交易请求并发送给中间处理服务器进行处理以得到交易订单,所述报盘服务器用于将交易订单上报给到交易所服务器,所述控制交易系统中的至少一个功能服务器安装时延监控插件的步骤,包括:
控制所述接入网关服务器以及报盘服务器安装时延监控插件。
6.一种交易时延度量装置,其特征在于,所述装置包括:
插件安装单元,用于若接收到时延监控插件安装请求,控制交易系统中的至少一个功能服务器安装时延监控插件;
数据包获取单元,用于当交易系统接收到交易请求时,通过控制所述时延监控插件调用预设抓包工具以获取相应的功能服务器所接收到的网络数据包以及发送出去的网络数据包;
数据包解析单元,用于通过控制所有的时延监控插件解析所获取的网络数据包,以生成相应的时间戳,其中一个网络数据包对应一个时间戳;
时间戳存储单元,用于将获取的每个网络数据包的时间戳存储在预设配置文件中;
时延计算单元,用于根据预设规则调用配置文件的时间戳以计算得到相应的交易时延数据。
7.如权利要求6所述的装置,其特征在于,所述数据包解析单元,包括:
调整单元,用于通过控制所有的时延监控插件的消息解析器解析所获取的网络数据包以得到相应的中间数据;
生成单元,用于通过控制所有的时延监控插件的时间戳生成器获取相应的中间数据,以生成相应的时间戳,其中,所述时间戳包括全局ID、时间点以及时间信息。
8.如权利要求7所述的装置,其特征在于,所述生成单元,包括:
获取单元,用于通过控制所有的时延监控插件的时间戳生成器获取相应的中间数据;
第一确定单元,用于控制所述时间戳生成器根据所述中间数据确定相应的网络数据包的发送方向和消息类型;
第二确定单元,用于控制所述时间戳生成器根据所述发送方向和消息类型确定相应的时间点;
处理单元,用于将每个中间数据的全局ID、时间信息以及根据其所确定的时间点作为相应的网络数据包的时间戳。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行如权利要求1-5中任一项所述的方法。
CN201811423638.0A 2018-11-27 2018-11-27 交易时延度量方法、装置、计算机设备及存储介质 Active CN109656574B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811423638.0A CN109656574B (zh) 2018-11-27 2018-11-27 交易时延度量方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811423638.0A CN109656574B (zh) 2018-11-27 2018-11-27 交易时延度量方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN109656574A true CN109656574A (zh) 2019-04-19
CN109656574B CN109656574B (zh) 2021-10-29

Family

ID=66111603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811423638.0A Active CN109656574B (zh) 2018-11-27 2018-11-27 交易时延度量方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN109656574B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434904A (zh) * 2020-10-23 2021-03-02 国网山东省电力公司日照供电公司 一种电力网络中电力数据通信验证系统
CN113095935A (zh) * 2021-03-16 2021-07-09 深圳华锐金融技术股份有限公司 交易订单处理方法、装置、计算机设备和存储介质
CN113095936A (zh) * 2021-03-18 2021-07-09 深圳华锐金融技术股份有限公司 委托订单处理方法、装置、计算机设备和存储介质
CN113110983A (zh) * 2021-04-01 2021-07-13 深圳华锐金融技术股份有限公司 交易系统时延的处理方法、装置、计算机设备和存储介质
CN113139870A (zh) * 2021-04-30 2021-07-20 东吴在线(上海)金融信息服务有限公司 一种债券行情获取与交易方法、系统、存储介质及计算机设备
CN113904960A (zh) * 2021-12-06 2022-01-07 上海金仕达软件科技有限公司 测量数据传输延时的方法、装置、系统及存储介质
CN115168080A (zh) * 2022-09-08 2022-10-11 深圳华锐分布式技术股份有限公司 分布式系统时延度量方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772174B1 (ko) * 2006-10-18 2007-11-01 한국전자통신연구원 마이크로 엔진의 타임스탬프를 이용한 라인카드의 네트워크시간 제공방법
CN103368790A (zh) * 2013-06-21 2013-10-23 冯轶 一种针对电子交易系统的性能延迟监测方法及其系统
CN108809766A (zh) * 2018-06-22 2018-11-13 北京奇艺世纪科技有限公司 一种获取rtt的方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772174B1 (ko) * 2006-10-18 2007-11-01 한국전자통신연구원 마이크로 엔진의 타임스탬프를 이용한 라인카드의 네트워크시간 제공방법
CN103368790A (zh) * 2013-06-21 2013-10-23 冯轶 一种针对电子交易系统的性能延迟监测方法及其系统
CN108809766A (zh) * 2018-06-22 2018-11-13 北京奇艺世纪科技有限公司 一种获取rtt的方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐小林: "" IP网络时延特征测量及分析研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434904A (zh) * 2020-10-23 2021-03-02 国网山东省电力公司日照供电公司 一种电力网络中电力数据通信验证系统
CN113095935A (zh) * 2021-03-16 2021-07-09 深圳华锐金融技术股份有限公司 交易订单处理方法、装置、计算机设备和存储介质
CN113095936A (zh) * 2021-03-18 2021-07-09 深圳华锐金融技术股份有限公司 委托订单处理方法、装置、计算机设备和存储介质
CN113110983A (zh) * 2021-04-01 2021-07-13 深圳华锐金融技术股份有限公司 交易系统时延的处理方法、装置、计算机设备和存储介质
CN113139870A (zh) * 2021-04-30 2021-07-20 东吴在线(上海)金融信息服务有限公司 一种债券行情获取与交易方法、系统、存储介质及计算机设备
CN113139870B (zh) * 2021-04-30 2023-01-31 东吴在线(上海)金融信息服务有限公司 一种债券行情获取与交易方法、系统、存储介质及计算机设备
CN113904960A (zh) * 2021-12-06 2022-01-07 上海金仕达软件科技有限公司 测量数据传输延时的方法、装置、系统及存储介质
CN115168080A (zh) * 2022-09-08 2022-10-11 深圳华锐分布式技术股份有限公司 分布式系统时延度量方法、装置、设备及介质

Also Published As

Publication number Publication date
CN109656574B (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
CN109656574A (zh) 交易时延度量方法、装置、计算机设备及存储介质
US10965772B2 (en) Interface invocation method and apparatus for hybrid cloud
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
US8547855B1 (en) Method and apparatus to schedule multiple probes for active or passive monitoring of networks
CN109951576A (zh) 由计算设备提供的服务的健康状况监视
US20190364103A1 (en) Method and device for load balancing, and storage medium
CN104702462A (zh) 网络测试系统
WO2017131774A1 (en) Log event summarization for distributed server system
CN105743962A (zh) 端对端数据中心性能控制
US20140089493A1 (en) Minimally intrusive cloud platform performance monitoring
CN108900640A (zh) 节点调用链路生成方法、装置、计算机设备及存储介质
CN102929773A (zh) 信息采集方法和装置
CN108718347A (zh) 一种域名解析方法、系统、装置及存储介质
CN112350854B (zh) 一种流量故障定位方法、装置、设备及存储介质
US9935853B2 (en) Application centric network experience monitoring
CN104598300A (zh) 分布式业务流程定制方法及系统
CN110705893A (zh) 一种业务节点管理方法、装置、设备以及存储介质
CN108366176A (zh) 一种终端应用的计费方法、装置及系统
US20130227115A1 (en) Method for determining whether a communications service route is operating pursuant to a service level agreement
CN115426284A (zh) 一种网络质量探测方法、装置、终端设备以及存储介质
CN112751722B (zh) 数据传输质量监控方法和系统
US10616081B2 (en) Application aware cluster monitoring
US20170223136A1 (en) Any Web Page Reporting and Capture
CN110198246B (zh) 一种流量监控的方法及系统
CN114598622A (zh) 数据监控方法及装置、存储介质、计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 2301, building 5, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong 518000

Applicant after: SHENZHEN ARCHFORCE FINANCIAL TECHNOLOGY Co.,Ltd.

Address before: 603-604, block a, Tianjing building, Tian'an Digital City, Shatou street, Futian District, Shenzhen, Guangdong 518000

Applicant before: SHENZHEN ARCHFORCE FINANCIAL TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Room 2301, building 5, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong 518000

Patentee after: Shenzhen Huarui Distributed Technology Co.,Ltd.

Address before: Room 2301, building 5, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong 518000

Patentee before: SHENZHEN ARCHFORCE FINANCIAL TECHNOLOGY Co.,Ltd.