CN106371846A - 基于网络数据和消息中间件的快速开发方法和业务系统 - Google Patents

基于网络数据和消息中间件的快速开发方法和业务系统 Download PDF

Info

Publication number
CN106371846A
CN106371846A CN201610805206.0A CN201610805206A CN106371846A CN 106371846 A CN106371846 A CN 106371846A CN 201610805206 A CN201610805206 A CN 201610805206A CN 106371846 A CN106371846 A CN 106371846A
Authority
CN
China
Prior art keywords
data
service
message
network
network data
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.)
Pending
Application number
CN201610805206.0A
Other languages
English (en)
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.)
SHANGHAI NETIS TECHNOLOGIES Co Ltd
Original Assignee
SHANGHAI NETIS TECHNOLOGIES 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 SHANGHAI NETIS TECHNOLOGIES Co Ltd filed Critical SHANGHAI NETIS TECHNOLOGIES Co Ltd
Priority to CN201610805206.0A priority Critical patent/CN106371846A/zh
Publication of CN106371846A publication Critical patent/CN106371846A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于网络数据和消息中间件的快速开发方法和业务系统,包括:其采用网络镜像的方法得到焦点服务的网络数据,利用分析方法得到服务数据从而形成新的数据源,以统一的消费方式提供给其他软件和系统消费和使用。因此,本发明屏蔽了实际服务化环境中存在的各种焦点服务的差异,消费者以统一的方式进行消费,最简单情况下只需要支持一种消费方式,就能得到系统中的所有被镜像的焦点服务的数据,因而,大大简化了消费这种数据源的软件所需的开发和调试等成本。

Description

基于网络数据和消息中间件的快速开发方法和业务系统
技术领域
本发明涉及软件系统,具体地,涉及基于网络数据和消息中间件的快速开发方法和业务系统。
背景技术
如何在网络化环境和服务化环境中,加速软件开发,加速业务系统上线是一个非常困难但又非常重要的问题。目前还没有好的解决方案。
一方面,软件系统一直朝着服务化、微服务化不断演变。这是一种追求专业化,进行功能解耦,进而提高效率的发展带来的必然趋势。同时这种变化还带来更好的维护性,更高的可用性等好处。另一方面,目前虚拟化技术和容器技术的蓬勃发展,加速了这种趋势:服务被划分得越来越细,每个服务变得越来越轻量,以易于调度,可以被快速地创建、迁移、或者销毁,从而适应跟随计算资源和网络资源等变化而变化的需求,提供可靠的、高质量的整体业务能力。同时,显而易见的,这种服务化主要都是基于网络通讯进行的,也是网络化的。
而对于真实的业务需求来说,服务化和微服务化带来的只是处理流程的改变,但实际的输入数据并不能减少。举例来说,一次用户网购的交易,非服务化系统和服务化系统,同样都需要用户个人数据(包括用户标识和认证信息,信用卡信息等)、商户数据、商品的信息数据、交易数据(包括消费的时间和金额等)等等。同时对于服务化系统来说,这些数据一般不是单一数据源提供的,而是多个不同的服务提供。因此,处理这些数据之前,首先需要进行多种不同的服务调用,可能得到多种不同格式和不同组织方式的数据,然后需要进行大量的规整工作,最后才能进行计算和处理。这个事实,可以从如今数不胜数的序列化方法(例如XML/SOAP、JSON/BSON、ProtocolBuffer、Messagepack、JVM序列化等等)和数不胜数的消息中间件(ActiveMQ、RebbitMQ、Apache Qpid、ZeroMQ、Kafka、Redis、Apache Akka等等)中观察到。同时有更多数不胜数的用户自定义协议运行在共有或者私有网络上。所以,软件开发中面临着大量不同数据源带来的亟待解决的复杂性。同时,随着服务的细分和增加,这种复杂性是几何级数增加的。
消息中间件的使用,或者说是某些消息中间件的流行和普及,一定程度降低数据源的复杂度。因为这些消息中间件一方面规范使用双方各自的通讯模型,譬如“队列模型”(queuing)或者“发布者/订阅者模型”(publish-subscribe),另一方面统一了底层的传输通讯,譬如提供若干种序列化方法并定义了传输协议。所以,消息中间件的使用,事实上是减少了自定义(包括服务调用模型、或者序列化方法、或者通讯协议等等)的非通用的数据源。
但对于软件开发来说,数据源的复杂性仍旧在多个层面上没有解决:
1)数据源仍然非常复杂。这是因为一方面已经存在大量的自定义协议形成的非通用数据源,另一方面即使是中间件,或者非常流行的中间件,也有多达几十种。因此,开发一个使用在网络化和服务化环境中的软件或者系统,往往还是非常复杂:需要梳理和理解所需的数据源该如何取得,然后需要集成或者开发大量通用或者非通用的数据获取模块,然后还有大量个案的不可避免的系统间联调。随着系统上线,复杂的数据源支持,加剧了维护的难度和成本。
2)数据在源源不断地生成,但没有提供给外部第三方使用的有效接口。一方面这是因为有些数据源可能是封闭的,并没有将数据提供给第三方来消费和处理的数据能力。另一方面是由于局限于该数据源的处理能力和机制,有些数据有时间延迟、准确性、或者精确性的局限性。也就是有说,数据源可以提供数据,但提供的数据都有缺陷,譬如要么是过滤的、要么只有统计、要么是时间延迟的、要么颗粒度大。这两种原因情况下,开发需要消费这些数据源的软件,都需要和数据提供方进行商讨,等待数据源的改造。所以这个开发过程会非常延缓和耗时。同时这种改造很大程度上对现有数据源造成影响。
3)数据处理能力匹配的问题。譬如上游数据源提供了非常大量的数据,或者存在波峰波谷的差异,而开发的软件来不及消费这些数据的话,就需要增加各种机制来处理,譬如丢弃、譬如缓存和后处理等等。这大大带来了开发软件的复杂性和可靠性。
4)数据源使用的副作用。譬如,对于数据源带来了处理性能下降的问题,有譬如有些数据会改变数据源的自身状态等等。因此实际开发过程中往往要搭建一个复杂的测试环境,来模拟真实环境,从而进行开发。显然这种方案首先是成本很高,同时模拟数据和真实环境比总有区别,还是不能避免将来系统运行在真实环境中的问题。
5)数据源依赖性带来的矛盾。一旦数据源的服务发生改变,所有依赖这个服务的数据的系统都可能需要调整或者改动。即使这个改变是向下兼容的,不影响之前的使用,但消费这些数据源的软件或者系统如果不做相应的改变,进行开发,一般无法获得上游服务升级带来的优势。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于网络数据和消息中间件的快速开发方法和业务系统。本发明要解决的技术问题体现在以下几点:
1)本发明对于服务化环境,采用网络镜像的方法(譬如物理交换机镜像或复制,或者虚拟交换机的镜像或复制等)得到焦点服务(用户关注的需要作为数据源提供数据的服务)的网络数据报文,利用分析方法(譬如协议报文解码、统计分析、数据挖掘、机器学习、流计算分析等)得到服务数据(譬如通讯数据、交易数据、业务数据等)从而形成新的数据源,以统一的消费方式(譬如各种消息中间件等)提供给其他软件和系统消费和使用。因此,本发明屏蔽了实际服务化环境中存在的各种焦点服务的差异(譬如模型和通讯),本发明的消费者(使用本发明提供的数据作为数据源消费端的软件或者系统)以统一的方式进行消费,最简单情况下只需要支持一种消费方式(譬如集成或者开发某一种消息中间件),就能得到系统中的所有被镜像的焦点服务的数据,因而,大大简化了消费这种数据源的软件所需的开发和调试等成本。
2)本发明提供的统一的消费方式数据源,大大降低了基于这个数据源开发的软件和系统的复杂性,从而提高了软件和系统可靠性,同时减少了后续维护成本。
3)本发明是通过网络镜像的方法得到焦点服务的网络数据报文,然后分析和处理形成新的数据源,因此本发明是旁路的,对现有服务化环境的业务没有影响。因此,本发明也不受制于现有焦点服务是否提供数据能力。因此,本发明没有数据时延、准确性、或者精确性的局限性。
4)本发明是真实环境内的旁路系统,因此采用本发明的方法进行开发,不需要另建测试系统,进行模拟真实环境的高成本投入,完全可以在生产环境直接上线运行和调试。
5)本发明可以在得到镜像网络数据之后和在分析得到服务数据之后,可配置地,进行网络数据的存储和服务数据的存储,然后按需以批量的方式再次分析计算后或者直接,输出给本发明的消费者(使用本发明提供的数据作为数据源消费端的软件或者系统)进行处理。因此以统一的方案支持按需回放,一方面解决了数据源和消费者之间的处理性能或者处理空间的失配问题带来的复杂性(因此消费者不需要进行诸如“削峰填谷”的冗余设计和处理),另一方面提供了使用方面多个场景(开发、测试、验收、系统上线等)的灵活性,从而提高了开发速度和效率。
根据本发明提供的一种基于网络数据和消息中间件的快速开发方法,包括:
网络镜像步骤:对服务进行网络镜像,得到镜像的网络数据;
基于网络数据和消息中间件的快速开发方法,还包括:
-消息中间件输出步骤:通过消息中间件提供所述网络数据和/或服务数据;和/或
-直接输出步骤:将服务数据直接输出给数据库;
基于网络数据和消息中间件的快速开发方法,进一步还包括:
-数据分析步骤;和/或
-网络数据存储步骤;
其中:
数据分析步骤:对所述网络数据进行分析,得到服务数据,将服务数据作为新的数据源;
网络数据存储步骤:对所述网络数据进行存储,并将存储的所述网络数据作为按需回放数据提供给数据分析步骤进行分析或者提供给消息中间件进行发送。
优选地,包括:
服务数据存储步骤:存储分析得到的服务数据,并将存储的所述服务数据作为按需回放数据提供给消息中间件进行发送。
优选地,所述数据分析步骤包括:
协议报文解码子步骤:从网络数据的网络数据报文中分析得到协议的消息;
交易分析子步骤:根据焦点服务的业务特征,将所述协议的消息关联成服务的交易;
统计分析子步骤:将所述协议的消息和所述服务的交易进行统计分析,得到服务数据。
优选地,在网络镜像步骤中,根据服务的物理和/或虚拟配置信息进行网络的镜像设置,仅将需要镜像的网络数据,复制到镜像端口或者线路上;
服务的配置信息包括如下任一种或任多种信息:
-服务端的标识;
-服务端的标识、服务端口;
-服务端的标识、服务端口、客户端的IP地址范围;
服务的配置信息还包括VLAN或者MPLS;
其中,所述服务端的标识是指服务端的IP地址或者主机名。
优选地,具有如下任一种或任多种技术特征:
-所述服务是指焦点服务,其中,所述焦点服务是指用户需要作为数据源提供数据的服务;
-所述数据分析步骤包括:数据挖掘子步骤;其中,所述数据挖掘子步骤:对协议的消息、服务的交易、服务数据,进行分析;
-在数据分析步骤中,根据服务对所述网络数据进行过滤;
-在消息中间件输出步骤中,根据服务对所述网络数据进行过滤。
根据本发明提供的一种基于网络数据和消息中间件的业务系统,包括:
网络镜像模块:对服务进行网络镜像,得到镜像的网络数据;
基于网络数据和消息中间件的业务系统,还包括:
-消息中间件输出模块:通过消息中间件提供所述网络数据和/或服务数据;和/或
-直接输出模块:将服务数据直接输出给数据库;
基于网络数据和消息中间件的业务系统,进一步还包括:
-数据分析模块;和/或
-网络数据存储模块;
其中:
数据分析模块:对所述网络数据进行分析,得到服务数据,将服务数据作为新的数据源;
网络数据存储模块:对所述网络数据进行存储,并将存储的所述网络数据作为按需回放数据提供给数据分析模块进行分析或者提供给消息中间件进行发送。
优选地,包括:
服务数据存储模块:存储分析得到的服务数据,并将存储的所述服务数据作为按需回放数据提供给消息中间件进行发送。
优选地,所述数据分析模块包括:
协议报文解码子模块:从网络数据的网络数据报文中分析得到协议的消息;
交易分析子模块:根据焦点服务的业务特征,将所述协议的消息关联成服务的交易;
统计分析子模块:将所述协议的消息和所述服务的交易进行统计分析,得到服务数据。
优选地,在网络镜像模块中,根据服务的物理和/或虚拟配置信息进行网络的镜像设置,仅将需要镜像的网络数据,复制到镜像端口或者线路上;
服务的配置信息包括如下任一种或任多种信息:
-服务端的标识;
-服务端的标识、服务端口;
-服务端的标识、服务端口、客户端的IP地址范围;
服务的配置信息还包括VLAN或者MPLS;
其中,所述服务端的标识是指服务端的IP地址或者主机名。
优选地,具有如下任一种或任多种技术特征:
-所述服务是指焦点服务,其中,所述焦点服务是指用户需要作为数据源提供数据的服务;
-所述数据分析模块包括:数据挖掘子模块;其中,所述数据挖掘子模块:对协议的消息、服务的交易、服务数据,进行分析;
-在数据分析模块中,根据服务对所述网络数据进行过滤;
-在消息中间件输出模块中,根据服务对所述网络数据进行过滤。
与现有技术相比,本发明具有如下的有益效果:
1)本发明为本发明的数据消费者屏蔽了焦点服务作为原始数据源的复杂性。消费者无需处理大量的协议格式、消息模型、序列化方式,可以一种通用中间件方式消费各种数据。
2)本发明拓展了数据源。无论焦点服务是否有能力提供数据的能力,是否有能力提供满足实时性、准确性、精确性需求的数据,通过本发明,都可以提供符合需求的数据。
3)本发明是完全旁路的方法,因此不响应现有系统,不需要另建测试系统,进行模拟真实环境的高成本投入,完全可以在生产环境直接上线运行和调试。同时,数据比模拟环境更准确。
4)本发明的按需回放场景,一方面解决了数据源和消费者之间的处理性能或者处理空间的失配问题带来的复杂性(因此消费者不需要进行诸如“削峰填谷”的冗余设计和处理),另一方面提供了使用方面多个场景(开发、测试、验收、系统上线等)的灵活性。
以上几点都降低了使用本发明的软件和系统的复杂度,大大加速了开发和调试成本和速度,加速了上线速度,减少了后期维护成本。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为实时流程框图。
图2为网络镜像模块初始化框图。
图3为网络镜像模块镜像数据框图。
图4为数据分析模块分析服务数据框图。
图5为消息中间件输出模块输出服务数据框图。
图6为网络数据存储模块存储的网络数据(即网络存储数据)按需回放流程框图。
图7为服务数据存储模块存储的服务数据(即服务存储数据)按需回放流程框图。
图8为物理环境实施图。
图9为虚拟化环境实施图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明提供的基于网络数据和消息中间件的业务系统,包括如下模块:
1.网络镜像模块,其用于对焦点服务进行网络镜像。在物理环境中,网络镜像模块采用交换机镜像或者镜像设备来实现;在虚拟化环境中,网络镜像模块采用虚拟交换机镜像方法来实现。网络镜像模块对网络数据(网络数据包或者网络数据报文)进行镜像后,输出镜像的网络数据给数据分析模块;同时如果有按需回放需求,也可同时发送给网络数据存储模块。
2.网络数据存储模块,是可选模块,用于存储网络数据。网络数据存储模块接收网络镜像模块镜像的网络数据,进行存储。然后,在本发明的消费者(使用本发明提供的数据作为数据源消费端的软件或者系统)需要时,输入查询条件,进行检索和回放,将网络数据再次发生给数据分析模块。
3.数据分析模块,其用于对网络数据进行分析。该数据分析模块接收直接来自网络镜像模块实时的网络数据,或者经网络数据存储模块回放的网络数据,利用分析方法计算得到服务数据。分析的方法包括(但不限于):协议报文解码、统计分析、数据挖掘、机器学习等。分析得到的服务数据包括(但不限于):通讯数据(例如通讯双方的主机、IP等)、交易数据(例如交易的类型、请求、响应等)、业务数据等(例如按照一定统计间隔(譬如一秒或者一分钟等),统计得到的交易笔数、交易成功率、交易响应率、交易响应时间等),从而形成新的数据源。该数据分析模块生成的服务数据输出给消息中间件输出模块。同时如果有按需回放,也可同时发送给服务数据存储模块。
4.服务数据存储模块,是可选模块,用于存储分析得到的服务数据。该服务数据存储模块接收数据分析模块计算的服务数据,进行存储。按在本发明的消费者(使用本发明提供的数据作为数据源消费端的软件或者系统)的需求,输入查询条件,进行检索和回放,将服务数据再次发生给消息中间件输出模块。
5.消息中间件输出模块,其用于将服务数据发送给本发明的消费者(使用本发明提供的数据作为数据源消费端的软件或者系统)。该消息中间件输出模块接收直接来自数据分析模块实时或者按需的服务数据,或者经服务数据存储模块回放的服务数据,使用通用中间件来发送数据。通用中间件包括(但不限于):ActiveMQ、RebbitMQ、Apache Qpid、ZeroMQ、Kafka、Redis、Apache Akka等等。另一种简化的特例是将服务数据发送到各种数据库,包括(但不限于):MySQL、Postgre、SQLSERVER、Oracle DB、DB2等。
其中:数据分析模块包括如下模块:
3.1.协议报文解码子模块,使用网络数据协议分析方法,从网络数据报文中分析得到各个协议的消息,其中包括通讯数据(例如通讯双方的主机、IP等)、交易数据(例如交易的类型、请求、响应等)等。
3.2.交易分析子模块,使用关联分析的方法,根据焦点服务的业务特征,将协议报文解码子模块得到的消息关联成服务的交易,并分析得到响应时间、交易成功或者失败的信息、错误情况的错误码、交易渠道等信息。
3.3.统计分析子模块,使用统计分析的方法,同时将协议报文解码子模块和交易分析子模块得到的消息和服务的交易进行统计分析。例如按一定的时间间隔(譬如一秒、一分钟、十五分钟、一小时、一天、一周、一个月、一年等),进行包括(但不限于)交易笔数、交易成功率、交易响应率、交易响应时间等服务数据统计分析。这些服务数据往往可以作为表征焦点服务运行情况的指标。
3.4.数据挖掘子模块,使用启发式方法和机器学习等方法,对于协议报文解码子模块、交易分析子模块和统计分析子模块得到的消息、服务的交易、服务数据,进行综合分析,进行包括(但不限于)告警、报表等的分析。
本发明提供的基于网络数据和消息中间件的快速开发方法,实际上包含了3个工作流程:
流程1:实时流程。本发明的主要工作流程。从镜像焦点服务的网络数据开始,经过分析处理,然后使用消息中间件为本发明的消费者提供数据。同时,根据配置,如果有按需回放的需求,为流程2提供网络数据存储,和为流程3提供服务数据存储。有按需回放的需求包括(但不限于):
1)焦点服务的数据源和最终希望消费这些数据的消费者之间在处理性能或者处理空间产生失配问题。一般需要消费者进行过“削峰填谷”的冗余设计和处理,带来复杂性。
2)各种开发、测试、验收、系统上线等场景的实际灵活性需求。
流程2:网络存储数据按需回放流程。根据按需回放的需求,从流程1存储的网络数据中检索网络数据,并再次进行分析处理,然后通过消息中间件输出。
流程3:服务存储数据按需回放流程。根据按需回放的需求,从流程1存储的服务数据中检索服务,然后直接通过消息中间件输出。
对于流程2和流程3的,可以根据实际情况选择:
1)网络数据的数据量往往大于服务数据量,因此流程2需要使用的存储空间一般大于流程3。
2)流程2在执行时还需要进行数据分析,所以需要的计算开销比流程3更大,延迟也更大。
3)但流程2可以不断变化配置和参数,得到多组不同的服务数据,比流程3有更多的灵活性。
4)在流程1执行中,流程2对应的网络存储数据按需回放流程可以选择不继续后续分析执行流程,从而减少计算开销,比流程3性能更好。
本发明的流程1:实时流程,参考图1实时流程框图,包括如下步骤:
步骤101:读取配置。本发明的各个模块都可以读取配置,从而来控制模块的执行过程。
步骤102:网络镜像模块初始化。本发明根据所处实际网络环境是物理环境或者是虚拟环境,结合焦点服务的配置信息,进行网络的镜像设置,从而减少通过镜像导出的流量,优化系统。简单地将网络数据全部导出,在后续环节进行过滤也是可以的,譬如在数据分析环节、或者消息中间件输出环节,根据焦点服务进行过滤。
步骤103:网络镜像模块镜像数据。网络数据也可称作网络数据包,或者网络数据报文。网络镜像的操作实际可由物理网络设备或者虚拟网络设备完成。
步骤104:根据按需回放的配置判断是否需要存储网络数据。
步骤105:网络数据存储模块存储网络数据。存储的方式可以任意的,包括(但不限于):文件、数据库、云存储系统等。
步骤106:判断是否要继续执行后续流程。使用网络存储数据按需回放的场景下,可以不需要继续执行后续流程。
步骤107:数据分析模块对网络数据进行分析,产生服务数据。分析的方法包括(但不限于):协议报文解码、统计分析、数据挖掘、机器学习等。分析得到的服务数据包括(但不限于):通讯数据(例如通讯双方的主机、IP等)、交易数据(例如交易的类型、请求、响应等)、业务数据等(例如按照一定统计间隔(譬如一秒或者一分钟等),统计交易笔数、交易成功率、交易响应率、交易响应时间等),从而形成新的数据源。
步骤108:根据按需回放的配置判断是否需要存储服务数据。
步骤109:服务存储数据模块存储服务数据。存储的方式可以任意的,包括(但不限于):文件、数据库、云存储系统等。
步骤110:判断是否要继续执行后续流程。使用服务存储数据按需回放的场景下,可以不需要继续执行后续流程。
步骤111:消息中间件模块将焦点服务数据输出给使用本发明的消费者(使用本发明提供的数据作为数据源消费端的软件或者系统)。
步骤112:判断是否结束。
进一步地,流程1:实时流程中步骤102,参考图2网络镜像模块初始化框图,包括如下步骤:
步骤201:除了模块配置外,网络镜像模块还需要读取焦点服务的配置。焦点服务指用户(在使用本发明时)需要关注从而作为数据源提供数据的服务。服务(尤其是焦点服务)的配置申明包括(但不限于)以下任一种或任几种方式:
1)服务端的IP地址(或者主机名);
2)服务端的IP地址(或者主机名)、服务端口;
3)服务端的IP地址(或者主机名)、服务端口、客户端的IP地址范围(譬如用子网掩码方法表示);
4)1)~3)的各种方式、VLAN;
5)1)~3)的各种方式、MPLS。
步骤202:读取操作系统判断是否运行虚拟化环境下。虚拟化环境是指使用虚拟化技术在物理环境上进行计算和网络资源的模拟,包括(但不限于)以下几种方式:VMWare(VDS/NSX)、OpenStack、Open Virtual Switch、Docker、HyperV等。
步骤203:在虚拟化网络环境中,读取配置,包括(但不限于):虚机网络端口标识、虚机网络MAC地址、虚拟网络IP地址、虚拟网络流表和配置等、虚拟网桥和虚拟交换机配置等。
步骤204:综合焦点服务配置和虚拟网络配置,对于不同的虚拟网络,调用不同的操作进行虚拟网络镜像配置。例如对于Open Virtual Switch,可以通过配置OVS流表来导出需要关注的流量,而OVS的流表支持基于IP和PORT的流量过滤。
步骤205:在物理网络环境中,读取网络设备配置,包括(但不限于):网络端口标识、网络MAC地址、网络IP地址等、网桥和交换机配置等。
步骤206:综合焦点服务配置和物理网络配置,对于不同的物理网络设备,调用不同的操作进行网络镜像配置。例如对于路由器,可以通过交换机配置命令来配置镜像数据,同时路由器支持IP、PORT、VLAN和MPLS等多种配置选项和这些选项的组合。
进一步地,流程1:实时流程中步骤103,参考图3网络镜像模块镜像网络数据框图,包括如下步骤:
步骤301:监听物理或者虚拟网络线路,捕获网络数据。
步骤302:根据物理或者虚拟镜像配置,判断是否需要镜像该数据。
步骤303:仅对于需要镜像的数据,复制到镜像端口或者线路上。
进一步地,实时流程中步骤107,参考图4数据分析模块分析服务数据框图,包括如下步骤:
步骤401:接收镜像网络的数据包。
步骤402:根据焦点服务的配置,判断是否需要镜像该数据。此步骤402为可选步骤,如果步骤201优化了镜像数据,则可以省略这个步骤。否则,服务配置方法可以参考步骤201。
步骤403:协议解码子模进行网络协议解码。使用网络数据报文协议分析方法,进行协议解码,从网络数据报文中分析得到各个协议的消息,其中包括通讯数据(例如通讯双方的主机、IP等)、交易数据(例如交易的类型、请求、响应等)等。
步骤404:交易分析子模块机型交易关联。使用关联分析的方法,根据焦点服务的业务特征,将协议报文解码子模块得到的消息关联成服务的交易并分析得到响应时间、交易成功或者失败的信息、错误情况的错误码、交易渠道等信息。
步骤405:统计分析子模块进行指标计算。使用统计分析的方法,同时将协议报文解码子模块和交易分析子模块得到的消息和交易进行统计分析。例如按一定的时间间隔(譬如一秒、一分钟、十五分钟、一小时、一天、一周、一个月、一年等),进行包括(但不限于)交易笔数、交易成功率、交易响应率、交易响应时间等服务数据的统计分析。这些服务数据往往可以作为表征焦点服务运行情况的指标。
步骤406:数据挖掘子模块,使用启发式方法和机器学习等方法,对于协议报文解码子模块、交易分析子模块和统计分析子模块得到的消息、交易、服务数据,进行综合分析,进行包括(但不限于)告警、报表等的分析。
进一步地,流程1:实时流程中步骤111,参考图5消息中间件模块输出服务数据框图,包括如下步骤:
步骤501:接收服务数据。
步骤502:根据焦点服务的配置,判断是否需要镜像该数据。此步骤为可选步骤,如果步骤201优化了镜像数据,或者步骤402进行数据过滤,则可以省略这个步骤。否则,服务配置方法可以参考步骤201。
步骤503:使用中间件来发送服务数据给本发明的消费者。中间件包括(但不限于):ActiveMQ、RebbitMQ、Apache Qpid、ZeroMQ、Kafka、Redis、Apache Akka等等通用中间件。另一种简化的特例是发送到各种数据库,包括(但不限于):MySQL、Postgre、SQLSERVER、Oracle DB、DB2等。
流程2:网络存储数据按需回放流程,参考图6网络存储数据按需回放流程框图,包括如下步骤:
步骤601:按照需求,输入网络数据查询条件。
步骤602:网络数据存储模块根据输入条件,读取存储的网络数据。
步骤603:数据分析模块对网络数据进行分析得到服务数据。同步骤107。
步骤604:消息中间件模块将焦点服务数据输出给使用本发明的消费者。同步骤111。
流程3:服务存储数据按需回放流程,参考图7服务存储数据按需回放流程框图,包括如下步骤:
步骤701:按照需求,输入服务数据查询条件。
步骤702:服务数据存储模块根据输入条件,读取存储的服务数据。
步骤703:消息中间件模块将焦点服务数据输出给使用本发明的消费者。同步骤111。
实施举例1:
参考图8物理环境实施图,来说明本发明在物理环境中的实施。
本发明的网络镜像模块需要部署在物理“交换机等网络设备”上,以便执行步骤103的操作,镜像“焦点服务”的网络数据。同时,因为大多数物理交换机等网络设备都支持本地或者远程两种配置方式,所以步骤102,网络镜像模块初始化,可以在交换机等网络设备上执行,也可以在其他服务器上执行,譬如图中的“数据分析服务器”。
本发明的其他模块(网络数据存储模块、数据分析模块、服务数据存储模块、消息中间件输出模块)可以都部署在图中的“数据分析服务器”上,来执行步骤104到步骤112的操作。
同时,为了提高处理能力,“数据分析服务器”可以是多台服务器构成的服务器组。服务器组可以同构或者异构,执行相同或者不同的模块(或子模块)的步骤。
同时,“数据分析服务器”可以是自身运行在虚拟化环境中的一台或者多台虚拟机构成。
图中“消息中间件接口”用来表示步骤111中(子步骤503中)输出数据给消费者实施示例。需要说明的是,这些接口可以是相同的,也可以是不同的,消费只要选择一种本发明支持的中间件接口就可以了。
“数据分析服务器”连接“网络数据存储”和“服务数据储存”两类相同或者不同的存储机制来实现流程2和流程3需要的回放数据。
消费者发送“按需调用”指令到“数据分析服务器”来执行流程2或者流程3的按需回放流程。
实施举例2:
参考图9虚拟化环境实施图,来说明本发明在虚拟化环境中的实施。
本发明在虚拟化环境中,网络镜像模块需要部署在“宿主机”,以便执行步骤103的操作,镜像宿主机中的“焦点服务”的网络数据。而因为步骤102,网络镜像模块初始化,除了在宿主机上执行外,在虚拟化系统支持远程配置的情况系下,也可以在其他服务器上执行。
本发明从步骤104开始的操作,在虚拟化环境中的实施和在物理环境中的实施是一致的。参考实施举例1。
所述基于网络数据和消息中间件的业务系统,可以通过所述基于网络数据和消息中间件的快速开发方法的步骤流程实现。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种基于网络数据和消息中间件的快速开发方法,其特征在于,包括:
网络镜像步骤:对服务进行网络镜像,得到镜像的网络数据;
基于网络数据和消息中间件的快速开发方法,还包括:
-消息中间件输出步骤:通过消息中间件提供所述网络数据和/或服务数据;和/或
-直接输出步骤:将服务数据直接输出给数据库;
基于网络数据和消息中间件的快速开发方法,进一步还包括:
-数据分析步骤;和/或
-网络数据存储步骤;
其中:
数据分析步骤:对所述网络数据进行分析,得到服务数据,将服务数据作为新的数据源;
网络数据存储步骤:对所述网络数据进行存储,并将存储的所述网络数据作为按需回放数据提供给数据分析步骤进行分析或者提供给消息中间件进行发送。
2.根据权利要求1所述的基于网络数据和消息中间件的快速开发方法,其特征在于,包括:
服务数据存储步骤:存储分析得到的服务数据,并将存储的所述服务数据作为按需回放数据提供给消息中间件进行发送。
3.根据权利要求1所述的基于网络数据和消息中间件的快速开发方法,其特征在于,所述数据分析步骤包括:
协议报文解码子步骤:从网络数据的网络数据报文中分析得到协议的消息;
交易分析子步骤:根据焦点服务的业务特征,将所述协议的消息关联成服务的交易;
统计分析子步骤:将所述协议的消息和所述服务的交易进行统计分析,得到服务数据。
4.根据权利要求1所述的基于网络数据和消息中间件的快速开发方法,其特征在于,在网络镜像步骤中,根据服务的物理和/或虚拟配置信息进行网络的镜像设置,仅将需要镜像的网络数据,复制到镜像端口或者线路上;
服务的配置信息包括如下任一种或任多种信息:
-服务端的标识;
-服务端的标识、服务端口;
-服务端的标识、服务端口、客户端的IP地址范围;
服务的配置信息还包括VLAN或者MPLS;
其中,所述服务端的标识是指服务端的IP地址或者主机名。
5.根据权利要求1所述的基于网络数据和消息中间件的快速开发方法,其特征在于,具有如下任一种或任多种技术特征:
-所述服务是指焦点服务,其中,所述焦点服务是指用户需要作为数据源提供数据的服务;
-所述数据分析步骤包括:数据挖掘子步骤;其中,所述数据挖掘子步骤:对协议的消息、服务的交易、服务数据,进行分析;
-在数据分析步骤中,根据服务对所述网络数据进行过滤;
-在消息中间件输出步骤中,根据服务对所述网络数据进行过滤。
6.一种基于网络数据和消息中间件的业务系统,其特征在于,包括:
网络镜像模块:对服务进行网络镜像,得到镜像的网络数据;
基于网络数据和消息中间件的业务系统,还包括:
-消息中间件输出模块:通过消息中间件提供所述网络数据和/或服务数据;和/或
-直接输出模块:将服务数据直接输出给数据库;
基于网络数据和消息中间件的业务系统,进一步还包括:
-数据分析模块;和/或
-网络数据存储模块;
其中:
数据分析模块:对所述网络数据进行分析,得到服务数据,将服务数据作为新的数据源;
网络数据存储模块:对所述网络数据进行存储,并将存储的所述网络数据作为按需回放数据提供给数据分析模块进行分析或者提供给消息中间件进行发送。
7.根据权利要求6所述的基于网络数据和消息中间件的业务系统,其特征在于,包括:
服务数据存储模块:存储分析得到的服务数据,并将存储的所述服务数据作为按需回放数据提供给消息中间件进行发送。
8.根据权利要求6所述的基于网络数据和消息中间件的业务系统,其特征在于,所述数据分析模块包括:
协议报文解码子模块:从网络数据的网络数据报文中分析得到协议的消息;
交易分析子模块:根据焦点服务的业务特征,将所述协议的消息关联成服务的交易;
统计分析子模块:将所述协议的消息和所述服务的交易进行统计分析,得到服务数据。
9.根据权利要求6所述的基于网络数据和消息中间件的业务系统,其特征在于,在网络镜像模块中,根据服务的物理和/或虚拟配置信息进行网络的镜像设置,仅将需要镜像的网络数据,复制到镜像端口或者线路上;
服务的配置信息包括如下任一种或任多种信息:
-服务端的标识;
-服务端的标识、服务端口;
-服务端的标识、服务端口、客户端的IP地址范围;
服务的配置信息还包括VLAN或者MPLS;
其中,所述服务端的标识是指服务端的IP地址或者主机名。
10.根据权利要求6所述的基于网络数据和消息中间件的业务系统,其特征在于,具有如下任一种或任多种技术特征:
-所述服务是指焦点服务,其中,所述焦点服务是指用户需要作为数据源提供数据的服务;
-所述数据分析模块包括:数据挖掘子模块;其中,所述数据挖掘子模块:对协议的消息、服务的交易、服务数据,进行分析;
-在数据分析模块中,根据服务对所述网络数据进行过滤;
-在消息中间件输出模块中,根据服务对所述网络数据进行过滤。
CN201610805206.0A 2016-09-06 2016-09-06 基于网络数据和消息中间件的快速开发方法和业务系统 Pending CN106371846A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610805206.0A CN106371846A (zh) 2016-09-06 2016-09-06 基于网络数据和消息中间件的快速开发方法和业务系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610805206.0A CN106371846A (zh) 2016-09-06 2016-09-06 基于网络数据和消息中间件的快速开发方法和业务系统

Publications (1)

Publication Number Publication Date
CN106371846A true CN106371846A (zh) 2017-02-01

Family

ID=57898953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610805206.0A Pending CN106371846A (zh) 2016-09-06 2016-09-06 基于网络数据和消息中间件的快速开发方法和业务系统

Country Status (1)

Country Link
CN (1) CN106371846A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109741176A (zh) * 2018-12-28 2019-05-10 四川新网银行股份有限公司 一种基于互联网金融场景下的分布式业务调度系统
CN109857570A (zh) * 2018-12-29 2019-06-07 航天信息股份有限公司 业务系统的标准化数据类微模块
CN112039797A (zh) * 2019-12-20 2020-12-04 杭州九略智能科技有限公司 一种基于工业环境下工业流量收集并重放的方法
CN112637005A (zh) * 2020-12-08 2021-04-09 广州品唯软件有限公司 流量回放方法、装置、计算机设备和存储介质
CN113656191A (zh) * 2021-07-19 2021-11-16 中国电子科技集团公司第十五研究所 一种消息中间件的历史消息回放方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100132752A (ko) * 2009-06-10 2010-12-20 (주)자이네스 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리시스템
CN104333485A (zh) * 2014-10-31 2015-02-04 北京思特奇信息技术股份有限公司 一种基于交换机全量的业务数据采集分析方法及系统
CN104809070A (zh) * 2015-05-13 2015-07-29 上海新炬网络信息技术有限公司 基于数据库交易类中间件的性能分析方法
CN105743712A (zh) * 2016-04-12 2016-07-06 中国铁道科学研究院电子计算技术研究所 Pis外部接口监控系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100132752A (ko) * 2009-06-10 2010-12-20 (주)자이네스 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리시스템
CN104333485A (zh) * 2014-10-31 2015-02-04 北京思特奇信息技术股份有限公司 一种基于交换机全量的业务数据采集分析方法及系统
CN104809070A (zh) * 2015-05-13 2015-07-29 上海新炬网络信息技术有限公司 基于数据库交易类中间件的性能分析方法
CN105743712A (zh) * 2016-04-12 2016-07-06 中国铁道科学研究院电子计算技术研究所 Pis外部接口监控系统及方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109741176A (zh) * 2018-12-28 2019-05-10 四川新网银行股份有限公司 一种基于互联网金融场景下的分布式业务调度系统
CN109741176B (zh) * 2018-12-28 2021-04-27 四川新网银行股份有限公司 一种基于互联网金融场景下的分布式业务调度系统
CN109857570A (zh) * 2018-12-29 2019-06-07 航天信息股份有限公司 业务系统的标准化数据类微模块
CN112039797A (zh) * 2019-12-20 2020-12-04 杭州九略智能科技有限公司 一种基于工业环境下工业流量收集并重放的方法
CN112637005A (zh) * 2020-12-08 2021-04-09 广州品唯软件有限公司 流量回放方法、装置、计算机设备和存储介质
CN112637005B (zh) * 2020-12-08 2022-06-14 广州品唯软件有限公司 流量回放方法、装置、计算机设备和存储介质
CN113656191A (zh) * 2021-07-19 2021-11-16 中国电子科技集团公司第十五研究所 一种消息中间件的历史消息回放方法及装置
CN113656191B (zh) * 2021-07-19 2024-05-24 中国电子科技集团公司第十五研究所 一种消息中间件的历史消息回放方法及装置

Similar Documents

Publication Publication Date Title
CN106371846A (zh) 基于网络数据和消息中间件的快速开发方法和业务系统
CN106484622B (zh) 测试方法、装置及系统
CN105138398B (zh) 同步通信模式下socket通信与进程管理通用平台及方法
CN110209399A (zh) Fpga服务系统、数据处理方法及存储介质
CN108568109A (zh) 一种游戏控制方法、装置及存储介质
US20150169392A1 (en) System and method for providing an application programming interface intermediary for hypertext transfer protocol web services
CN108604334A (zh) 用于自主服务组合的方法和装置
CN107168844B (zh) 一种性能监控的方法及装置
CN105847332A (zh) 桌面虚拟化方法、客户端设备和服务端设备
CN112559301A (zh) 业务处理方法、存储介质、处理器及电子装置
CN109615022A (zh) 模型上线配置方法和装置
CN110187986A (zh) 一种命令管理方法、系统、装置及计算机可读存储介质
CN106559498A (zh) 风控数据收集平台及其收集方法
CN109683964A (zh) Bios软件调试控制方法、系统及服务器
CN109194590A (zh) 支持网内智能的网络交换系统
CN104731650A (zh) 系统接口调用信息的获取方法和装置
CN109684033B (zh) 云平台裸机管理方法、存储介质、电子设备及系统
CN107493299A (zh) 一种基于三层架构的用户行为溯源方法
CN107566513A (zh) 测试设备dos环境数据采集方法和系统
Alhuseini et al. 5G service value chain and network slicing framework using ecosystem modeling, agile delivery, and user-story automation
Barboza et al. A simple architecture for digital games on demand using low performance resources under a cloud computing paradigm
CN116456496B (zh) 资源调度的方法、存储介质及电子设备
CN110765610B (zh) Pdm集成方法、装置、计算机设备及存储介质
US10904098B2 (en) Health check automation for virtual network functions
CN103634290A (zh) 网络仿真系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170201

RJ01 Rejection of invention patent application after publication