CN110825538A - 一种基于mq可自定义数据类型动态进行数据交互的方法 - Google Patents

一种基于mq可自定义数据类型动态进行数据交互的方法 Download PDF

Info

Publication number
CN110825538A
CN110825538A CN201911065780.7A CN201911065780A CN110825538A CN 110825538 A CN110825538 A CN 110825538A CN 201911065780 A CN201911065780 A CN 201911065780A CN 110825538 A CN110825538 A CN 110825538A
Authority
CN
China
Prior art keywords
data
equipment
processing
communication service
types
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
CN201911065780.7A
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.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud 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 G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201911065780.7A priority Critical patent/CN110825538A/zh
Publication of CN110825538A publication Critical patent/CN110825538A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种基于MQ可自定义数据类型动态进行数据交互的方法。本发明方法包括如下步骤:1、增加新的需要进行数据交互的自定义数据类型;2、设备接入***并向***发送数据;3、***接收到设备发送的数据后,进行校验数据的正确性;并通过设备类型编码和通讯业务类型编码,查找MQ生产者程序;将接收到的数据写入到MQ;4、MQ接收到数据后,发送到MQ消费者程序上进行数据处理;5、MQ在接收到特定的设备数据后,按约定的格式,对数据进行解析并处理;并把处理结果写到指定的数据存储结构上,对数据的业务进行反馈。本发明解决了App与服务器数据交换的数据类型多、数据量大所导致的问题;可以用于终端设备与服务器的数据交互。

Description

一种基于MQ可自定义数据类型动态进行数据交互的方法
技术领域
本发明涉及数据传输技术领域,特别涉及一种基于MQ可自定义数据类型动态进行数据交互的方法。
背景技术
随着互联网及终端设备的发展,越来越多的终端设备需要接入网络,实现实时的信息通讯;例如每人一部的手机上各App与服务器端的数据交换,各种硬件设备如电表、水表等数据自动上传,监测设备是否在线等的心跳检测等。这些终端设备,数据量多,而且每种设备都有多种数据请求类型;例如水表,就存在着签到、心跳、报送数据、签退等数据类型,这些数据类型保证了设备自动与服务器进行联系、数据交互等操作;整个交互的过程数据类型多、数据量大。
随着技术的发展,各种设备存在着不断扩大数据交互类型的可能,例如水表,后续可能会增加进行停机、开机等数据交互类型。按传统的方法,增加的类型需在***上进行修改、调试后,再进行***的部署更新;这个过程涉及的范围大,并且在更新部署的过程,涉及停机的情况下,会影响了其他设备的数据上报。对于特别要求数据实时运行的设备,影响极大;而且设备不断扩展,如果每次都需要这样子操作,会很大影响设备整个***的运行效果;所以需要有一种可快速响应的、无需停机的响应方法,来满足不断增长的数据类型,而且解决大量数据的处理问题。
发明内容
本发明解决的技术问题在于提供一种基于MQ可自定义数据类型动态进行数据交互的方法;实现高效、可扩展数据交互类型的数据交互方法。
本发明解决上述技术问题的技术方案是:
所述的方法包括如下步骤:
步骤1、增加新的需要进行数据交互的自定义数据类型;
步骤2、设备接入***并向***发送数据;
步骤3、***接收到设备发送的数据后,进行校验数据的正确性;并通过设备类型编码和通讯业务类型编码,查找MQ生产者程序;将接收到的数据写入到MQ;
步骤4、MQ接收到数据后,发送到MQ消费者程序上进行数据处理;
步骤5、MQ在接收到特定的设备数据后,按约定的格式,对数据进行解析并处理;并把处理结果写到指定的数据存储结构上,对数据的业务进行反馈。
所述的步骤1具体包括如下方法:
1)、创建各种通讯业务类型的数据交互信息的内容,包括业务数据头部、业务数据内容和业务数据校验码;
2)、业务数据头部包括业务类型编码与业务数据内容总长度;
业务类型编码使用两个字节进行表示,第一个字节表示设备的类型,第二个字节表示设备的各种通讯业务类型;另外,增加两个字节用于表示具体的设备编码和一个长度为4字节的内容用于表示整个数据通信信息内容的长度;
3)、业务数据内容根据设备的通讯业务类型的需要,设计具体的各字节数量及字节内容所表示的意义,各字节数量及字节内容在后续的MQ消费者上进行特定的解析及数据处理;
4)、业务数据校验码在业务数据内容后面,用于校验整个数据交互信息内容的完整性;校验方法是对前面的所有字节内容,按CRC方法进行校验,并保存CRC16校验结果;
5)、设计完成后,在信息上输入设备类型编码、通讯业务类型编码、设备编码、数据信息总长度、对应的消息队列MQ的处理名称。
所述的方法在步骤1后构建一个高负载可用的消息队列MQ,在接收到各种各样的设备类型的各种通讯业务类型编码时,基于MQ把数据分发到各处理***上。
所述的步骤3具体为:
1)、构建一个可高负载接收设备数据的UDP框架,UDP框架在接收到信息后,基于业务数据头部,获取设备的类型、设备的通讯业务类型、设备编码、整个数据通信信息内容的长度及整个信息内容的CRC16的校验结果;
2)、对整个信息内容,按CRC16校验,并与接收到的CRC16结果进行对比;如果对比错误,则把数据丢弃,不进行处理;如果对比一致,则根据获取设备的类型和设备的通讯业务类型,获取到对应的消息队列MQ的处理名称;
3)、基于获取到的对应的消息队列MQ的处理名称,把接收到的数据,直接写入到对应的MQ队列中。
所述步骤4的基于MQ的消费者程序,可分布于一台或多台服务器上;或者实现多种数据存储方式。
所述的方法如需要增加一种设备或一种设备的通讯业务类型,则在配置信息上增加相应的设备类型编码、通讯业务类型编码、设备编码、数据信息总长度、对应的消息队列MQ的处理名称,更新数据上报后的MQ生产者处理程序,并编写新的对应的消息队列MQ的处理程序,注册至MQ上。
本发明的方法,如果有新的设备或是新的设备通讯类型的增加,只需进行配置,并进行相应MQ消费者程序的实现,就可快速地增加商务数据交互的新业务;此过程无需***停机、重新部署、无需修改原有程序;同时实现的MQ消费者程序可分布式部署,实现具体数据的处理、存储的分布式操作;使整个***的负载大大地分散,为大量的设备数据处理、以及以后的大规模新业务类型增加,提供了一种高效可用的扩展方法。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明方法流程图。
具体实施方式
见图1所示,是本发明种基于MQ(消息队列)可自定义数据类型动态进行数据交互的方法。本发明的方法包括以下步骤:
步骤1:基于各类终端设备的种类及各设备的通讯业务类型,创建各种通讯业务类型的数据交互长度、各字节间的长度及表示的方法,并配置对应的消息队列MQ的处理名称。
前述的步骤具体如下:
1)创建各种通讯业务类型的数据交互信息的内容,内容包括业务数据头部、业务数据内容、业务数据校验码。
2)业务数据头部包括业务类型编码与业务数据内容总长度,业务类型编码使用固定的字节进行表示,具体的字节数量按业务的数据进行设计,一般可设计为由两个字节进行表示;第一个字节表示设备的类型,第二个字节表示设备的各种通讯业务类型;同时增加两个字节,用于表示具体的设备编码;另外包括一个长度为4字节的内容,用于表示整个数据通信信息内容的长度;总体业务数据头部共8个字节。
3)业务数据内容,此内容为根据各种设备的各种通讯业务类型的需要,按设计的约定,设计具体的字节数量及各字节内容所表示的意义,各字节数量及字节内容在后续的MQ消费者上进行特定的解析及数据处理。
4)业务数据校验码在业务数据内容后面,用于校验整个数据交互信息内容的完整性,校验方法是对前面的所有字节内容,按CRC(Cyclic Redundancy Check,循环冗余校验)方法进行校验,并把CRC16的校验结果,并保存于整个业务数据内容的最后面。
5)在以上的各种通讯业务类型的数据交互长度、各字节间的长度及表示的方法设计完成后,需在信息上输入设备类型编码、通讯业务类型编码、设备编码、数据信息总长度、对应的消息队列MQ的处理名称,就完成了一个新的自定义的数据类型进行数据交互的增加;其中设备类型编码、通讯业务类型编码、对应的消息队列MQ的处理名称,是一个唯一的内容。
步骤2:构建一个高负载可用的消息队列MQ,此MQ也可按业务量,随时进行快速扩展或减少其最大的负载量。
消息队列MQ是对整个***进行快速响应、业务解耦的重要组成;在接收到各种各样的设备类型的各种通讯业务类型编码时,基于MQ把数据分发到各处理***上,分发的规则按照步骤1的配置进行,并保持实时的规则更新。消息队列MQ,需要根据***的业务量大小,进行负载的调整。
步骤3:构建一个可高负载接收设备数据的UDP框架,用于接收高并发的各种类的设备所发送的通讯业务类型数据,接收到的各类通讯业务类型数据,用于MQ的生产者输入。
详细的步骤如下:
1)UDP框架在接收到信息后,基于业务数据头部,获取设备的类型,设备的通讯业务类型,设备编码,整个数据通信信息内容的长度,及整个信息内容的CRC16的校验结果;
2)对整个信息内容,按CRC16校验,并与接收到的CRC16结果进行对比;如果对比错误,则把数据丢弃,不进行处理;如果对比一致,则根据获取设备的类型、设备的通讯业务类型,获取到对应的消息队列MQ的处理名称。
3)基于获取到的对应的消息队列MQ的处理名称,把接收到的数据,直接写入到对应的MQ队列中。各种对应的消息队列MQ,在***启动时就已初始化,并在进行新规则创建时,实时更新。
步骤4:基于步骤1中的各种通讯业务类型,基于MQ的消费者创建进行各种数据处理的业务方法,并基于一致的消息队列MQ的处理名称,对指定的业务数据进行统一处理;具体实现的业务类型处理方法,可分布于多台服务器上进行处理。
本步骤中,基于MQ的消费者程序,可分布于一台或多台服务器上进行处理,也可以实现多种数据存储方式,以减少整个***的数据存储压力。
步骤5:基于配置好的各设备的通讯业务类型及对应MQ的处理名称,当***接收到设备数据上报后,由UDP框架进行接收,完成数据的验证、获取到设备的类型、设备的通讯业务类型;就可能按约定获取到对应的MQ生产者处理程序,把数据写入到指定MQ生成生产者中,提交到MQ上;MQ消费者在MQ上获取到数据,并按配置好的数据间的各字节的所表示的信息,进行数据获取后保存或数据处理,完成基于MQ的数据处理的过程。
步骤6:假如需要增加一种设备或是一种设备的通讯业务类型,只需在配置信息上增加相应的设备类型编码、通讯业务类型编码、设备编码、数据信息总长度、对应的消息队列MQ的处理名称,更新数据上报后的MQ生产者处理程序,并编写新的对应的消息队列MQ的处理程序,注册至MQ上,就可实现一种新的设备通讯业务类型的数据交互过程。新增加的消息队列MQ处理程序,不依赖于原来的已存在的业务,并可单独运行,这样为整个***的运行、负载,实现了快速、高效的扩展,也有利于整个数据***的稳定运行,为一种大规模的数据上报,提供了一种高效的处理办法。

Claims (9)

1.一种基于MQ可自定义数据类型动态进行数据交互的方法,其特征在于:所述的方法包括如下步骤:
步骤1、增加新的需要进行数据交互的自定义数据类型;
步骤2、设备接入***并向***发送数据;
步骤3、***接收到设备发送的数据后,进行校验数据的正确性;并通过设备类型编码和通讯业务类型编码,查找MQ生产者程序;将接收到的数据写入到MQ;
步骤4、MQ接收到数据后,发送到MQ消费者程序上进行数据处理;
步骤5、MQ在接收到特定的设备数据后,按约定的格式,对数据进行解析并处理;并把处理结果写到指定的数据存储结构上,对数据的业务进行反馈。
2.根据权利要求1所述的方法,其特征在于:所述的步骤1具体包括如下方法:
1)、创建各种通讯业务类型的数据交互信息的内容,包括业务数据头部、业务数据内容和业务数据校验码;
2)、业务数据头部包括业务类型编码与业务数据内容总长度;
业务类型编码使用两个字节进行表示,第一个字节表示设备的类型,第二个字节表示设备的各种通讯业务类型;另外,增加两个字节用于表示具体的设备编码和一个长度为4字节的内容用于表示整个数据通信信息内容的长度;
3)、业务数据内容根据设备的通讯业务类型的需要,设计具体的各字节数量及字节内容所表示的意义,各字节数量及字节内容在后续的MQ消费者上进行特定的解析及数据处理;
4)、业务数据校验码在业务数据内容后面,用于校验整个数据交互信息内容的完整性;校验方法是对前面的所有字节内容,按CRC方法进行校验,并保存CRC16校验结果;
5)、设计完成后,在信息上输入设备类型编码、通讯业务类型编码、设备编码、数据信息总长度、对应的消息队列MQ的处理名称。
3.根据权利要求1所述的方法,其特征在于:所述的方法在步骤1后构建一个高负载可用的消息队列MQ,在接收到各种各样的设备类型的各种通讯业务类型编码时,基于MQ把数据分发到各处理***上。
4.根据权利要求2所述的方法,其特征在于:所述的方法在步骤1后构建一个高负载可用的消息队列MQ,在接收到各种各样的设备类型的各种通讯业务类型编码时,基于MQ把数据分发到各处理***上。
5.根据权利要求2或4所述的方法,其特征在于:所述的步骤3具体为:
1)、构建一个可高负载接收设备数据的UDP框架,UDP框架在接收到信息后,基于业务数据头部,获取设备的类型、设备的通讯业务类型、设备编码、整个数据通信信息内容的长度及整个信息内容的CRC16的校验结果;
2)、对整个信息内容,按CRC16校验,并与接收到的CRC16结果进行对比;如果对比错误,则把数据丢弃,不进行处理;如果对比一致,则根据获取设备的类型和设备的通讯业务类型,获取到对应的消息队列MQ的处理名称;
3)、基于获取到的对应的消息队列MQ的处理名称,把接收到的数据,直接写入到对应的MQ队列中。
6.根据权利要求1至4任一项所述的方法,其特征在于:所述步骤4的基于MQ的消费者程序,可分布于一台或多台服务器上;或者实现多种数据存储方式。
7.根据权利要求5所述的方法,其特征在于:所述步骤4的基于MQ的消费者程序,可分布于一台或多台服务器上;或者实现多种数据存储方式。
8.根据权利要求1至4任一项所述的方法,其特征在于:所述的方法如需要增加一种设备或一种设备的通讯业务类型,则在配置信息上增加相应的设备类型编码、通讯业务类型编码、设备编码、数据信息总长度、对应的消息队列MQ的处理名称,更新数据上报后的MQ生产者处理程序,并编写新的对应的消息队列MQ的处理程序,注册至MQ上。
9.根据权利要求7所述的方法,其特征在于:所述的方法如需要增加一种设备或一种设备的通讯业务类型,则在配置信息上增加相应的设备类型编码、通讯业务类型编码、设备编码、数据信息总长度、对应的消息队列MQ的处理名称,更新数据上报后的MQ生产者处理程序,并编写新的对应的消息队列MQ的处理程序,注册至MQ上。
CN201911065780.7A 2019-11-04 2019-11-04 一种基于mq可自定义数据类型动态进行数据交互的方法 Pending CN110825538A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911065780.7A CN110825538A (zh) 2019-11-04 2019-11-04 一种基于mq可自定义数据类型动态进行数据交互的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911065780.7A CN110825538A (zh) 2019-11-04 2019-11-04 一种基于mq可自定义数据类型动态进行数据交互的方法

Publications (1)

Publication Number Publication Date
CN110825538A true CN110825538A (zh) 2020-02-21

Family

ID=69552586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911065780.7A Pending CN110825538A (zh) 2019-11-04 2019-11-04 一种基于mq可自定义数据类型动态进行数据交互的方法

Country Status (1)

Country Link
CN (1) CN110825538A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726845A (zh) * 2021-07-14 2021-11-30 深圳市有为信息技术发展有限公司 车载终端的数据传输方法、装置、车载终端和商用车辆
CN113923248A (zh) * 2021-09-30 2022-01-11 深圳海智创科技有限公司 一种通用mq交互方法、***、装置及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726845A (zh) * 2021-07-14 2021-11-30 深圳市有为信息技术发展有限公司 车载终端的数据传输方法、装置、车载终端和商用车辆
CN113923248A (zh) * 2021-09-30 2022-01-11 深圳海智创科技有限公司 一种通用mq交互方法、***、装置及存储介质

Similar Documents

Publication Publication Date Title
CN105335293A (zh) 一种基于接口并行的自动化测试***和方法
US9639444B2 (en) Architecture for end-to-end testing of long-running, multi-stage asynchronous data processing services
US10467066B2 (en) System and method for establishing common request processing
CN112988485B (zh) 电力物联网设备模拟测试方法及装置
CN111683066B (zh) 异构***集成方法、装置、计算机设备和存储介质
CN108241576B (zh) 一种接口测试方法及***
CN110688828A (zh) 文件处理方法及装置、文件处理***、计算机设备
CN113760565A (zh) 一种数据处理平台、数据处理方法、存储介质及电子设备
CN107168844B (zh) 一种性能监控的方法及装置
CN112732572A (zh) 服务的测试方法、装置及***、存储介质、电子装置
CN110932918A (zh) 日志数据采集方法、装置及存储介质
CN114205274A (zh) 网络设备的测试方法及其装置
CN110825538A (zh) 一种基于mq可自定义数据类型动态进行数据交互的方法
CN111200523A (zh) 中台***配置方法、装置、设备及存储介质
CN110334147A (zh) 一种数据同步方法及装置
CN113127108A (zh) 业务请求的处理方法及装置、存储介质以及电子设备
JP2021192214A (ja) アプリケーションの動作状態を検証する方法および装置
CN112631884A (zh) 基于数据同步的压测方法、装置、计算机设备及存储介质
CN110022323A (zh) 一种基于WebSocket与Redux的跨终端实时交互的方法和***
CN111752820A (zh) gRPC接口的压力测试方法、计算机设备和存储介质
CN103944779B (zh) 一种wap业务性能监测方法及***
CN115951923B (zh) 订阅事件管理方法、显示***、设备和存储介质
CN110728118B (zh) 跨数据平台的数据处理方法、装置、设备及存储介质
CN103561113A (zh) Web Service接口的生成方法及装置
CN102594587B (zh) 嵌入式web调测维护方法及调测维护***

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