高并发数据状态下异构系统的消息同步方法转让专利

申请号 : CN202110222726.X

文献号 : CN112600943B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵亚宾

申请人 : 上海洋漪信息技术有限公司上海洋码头网络技术有限公司

摘要 :

本发明公开了一种高并发数据状态下异构系统的消息同步方法,本方法建立消息发送者与消息接收者之间的元数据信息,并且通过网络请求定时轮询获取元数据信息,保存为各自系统的本地文件;消息接收者根据元数据信息建立消息接收端口、服务和/或本地文件目录;当消息发送者发起消息同步时,消息发送者对本地文件中的元数据信息进行查询匹配,根据指定元数据信息将消息进行封包、加密,根据通讯协议进行消息发送及投递;消息接收者接收消息后,根据所匹配的元数据信息以及重要性排列优先级进行消息处理并保存消息。本方法实现异构系统间的消息同步,各系统间快速、稳定、正确完成消息同步,从而提高消息处理效率,提升系统稳定性和正确性。

权利要求 :

1.一种高并发数据状态下异构系统的消息同步方法,其特征在于本方法包括如下步骤:

步骤一、建立消息发送者与消息接收者之间的元数据信息,元数据信息包括系统信息、重要性等级、通讯信息、通讯协议、加密机制、数据容量、负载策略和降级策略;

步骤二、消息发送者和消息接收者通过网络请求定时轮询获取元数据信息,保存为各自系统的本地文件,若元数据信息有变更则将变更数据更新到本地文件;

步骤三、消息接收者根据本地文件中的元数据信息建立消息接收端口、服务和/或和/或本地文件目录;

步骤四、当消息发送者发起消息同步时,消息发送者对本地文件中的元数据信息进行查询匹配,根据消息接收者的系统、通讯、协议信息情况,将消息进行封包、加密,根据通讯协议进行消息发送及投递;

步骤五、消息接收者接收消息后,根据所匹配的元数据信息以及重要性排列优先级进行消息处理,所述消息处理包括解包、解密、数据CRC校验,并保存消息;

其中,当消息容量和并发量增大时,自动提升运行中的消息接收者的线程数和文件中的最大线程数,消息接收者的线程数和文件中的最大线程数由消息接收者维护,并根据消息容量和并发量动态调整,当消息接收者的消息容量和并发量升高时,会动态增加线程数,提升接收能力;如果达到最大消息容量时,对新接收的消息进行降级策略处理,降级策略包括更新元数据信息、放大消息发送的响应时间、对消息进行临时存储后再补充处理。

2.根据权利要求1所述的高并发数据状态下异构系统的消息同步方法,其特征在于:若异构系统发生变化,所述元数据信息同步更新,并定时同步到各个消息发送者和消息接收者。

3.根据权利要求1或2所述的高并发数据状态下异构系统的消息同步方法,其特征在于:所述消息接收者根据系统消息发送者的数量、接收消息的数量,采用累加计数器或单位时间计数器计算消息容量和并发量,所述消息发送者和消息接收者的数量维护在元数据中。

4.根据权利要求3所述的高并发数据状态下异构系统的消息同步方法,其特征在于:消息发送者根据元数据信息中消息接收者的系统负载情况以及消息发送响应时间是否超过系统负载和响应时间,如是则同步系统元数据,按系统负载和响应时间阈值判断消息接收者已经达到最大负载,则执行熔断策略,不再进行消息同步,转为临时消息存储。

5.根据权利要求4所述的高并发数据状态下异构系统的消息同步方法,其特征在于:消息接收者的消息处理能力恢复后,更新元数据信息,并由消息发送者获取后,恢复消息同步。

说明书 :

高并发数据状态下异构系统的消息同步方法

技术领域

[0001] 本发明涉及互联网信息技术领域,尤其涉及一种高并发数据状态下异构系统的消息同步方法。

背景技术

[0002] 异构系统一般是指技术体系架构不相同的系统,比如采用不同语言开发,运行在不同系统平台上的系统程序,即由多个不同架构系统组成的异构系统。正因为体系、架构不
同,所以消息数据等的组织方式也存在不同,不容易进行信息同步、共享,而在互联网环境
下,存在着大量需要同步的消息,尤其在C端互联网平台,更需要频繁地在不同系统之间传
递大量消息。
[0003] 在这种情况下,传统消息服务总线技术就应运而生,其借鉴了计算机内部硬件组成的设计思想,将总线设计为中枢系统,提供统一的服务入口,并实现了服务统一管理、服
务路由、协议转换、数据格式转换等功能。这样能够将不同系统有效地连接起来。
[0004] 但消息服务总线机制定位为中枢系统,当异构系统多,消息发送量大,高并发的情况下,根据其中心化的设计,极其容易成为资源瓶颈,无法满足消息同步的及时、高效。尤其
是在并发高峰的情况下,如果服务总线宕机,将导致整个消息传递无法进行。

发明内容

[0005] 本发明所要解决的技术问题是提供一种高并发数据状态下异构系统的消息同步方法,本方法克服传统异构系统总线机制消息同步的缺陷,实现异构系统间的消息同步,且
在海量用户访问请求的业务高峰情况下,各系统间快速、稳定、正确完成消息同步,从而提
高消息处理效率,提升系统稳定性和正确性。
[0006] 为解决上述技术问题,本发明高并发数据状态下异构系统的消息同步方法包括如下步骤:
[0007] 步骤一、建立消息发送者与消息接收者之间的元数据信息,元数据信息包括系统信息、重要性等级、通讯信息、通讯协议、加密机制、数据容量、负载策略和降级策略;
[0008] 步骤二、消息发送者和消息接收者通过网络请求定时轮询获取元数据信息,保存为各自系统的本地文件,若元数据信息有变更则将变更数据更新到本地文件;
[0009] 步骤三、消息接收者根据本地文件中的元数据信息建立消息接收端口、服务和/或本地文件目录;
[0010] 步骤四、当消息发送者发起消息同步时,消息发送者在本地文件中的元数据信息进行查询匹配,根据消息接收者的系统、通讯、协议信息情况,将消息进行封包、加密,根据
通讯协议进行消息发送及投递;
[0011] 步骤五、消息接收者接收消息后,根据所匹配的元数据信息以及重要性排列优先级进行消息处理,所述消息处理包括解包、解密、数据CRC校验,并保存消息。
[0012] 在步骤五中,当消息容量和并发量增大时,自动提升运行中的消息接收者的线程数和文件中的最大线程数,消息接收者的线程数和文件中的最大线程数由消息接收者维
护,并根据消息容量和并发量动态调整,当消息接收者的消息容量和并发量升高时,会动态
增加线程数,提升接收能力;如果达到最大消息容量时,对新接收的消息进行降级策略处
理,降级策略包括更新元数据信息、放大消息发送的响应时间、对消息进行临时存储后再补
充处理。
[0013] 进一步,若异构系统发生变化,所述元数据信息同步更新,并定时同步到各个消息发送者和消息接收者。
[0014] 进一步,所述消息接收者根据系统消息发送者的数量、接收消息的数量,采用累加计数器或单位时间计数器计算消息容量和并发量,所述消息发送者和消息接收者的数量维
护在元数据中。
[0015] 进一步,消息发送者根据元数据信息中消息接收者的系统负载情况以及消息发送响应时间是否超过系统负载和响应时间,如是同步系统元数据,按系统负载和响应时间阈
值判断消息接收者已经达到最大负载,则执行熔断策略,不再进行消息同步,转为临时消息
存储。
[0016] 进一步,消息接收者的消息处理能力恢复后,更新元数据信息,并由消息发送者获取后,恢复消息同步。
[0017] 由于本发明高并发数据状态下异构系统的消息同步方法采用了上述技术方案,即本方法建立消息发送者与消息接收者之间的元数据信息,并且通过网络请求定时轮询获取
元数据信息,保存为各自系统的本地文件;消息接收者根据元数据信息建立消息接收端口、
服务和/或本地文件目录;当消息发送者发起消息同步时,消息发送者在元数据信息中进行
查询匹配,将消息进行封包、加密,根据通讯协议进行消息发送及投递;消息接收者接收消
息后,根据所匹配的元数据信息以及重要性排列优先级进行消息处理并保存消息。本方法
克服传统异构系统总线机制消息同步的缺陷,实现异构系统间的消息同步,且在海量用户
访问请求的业务高峰情况下,各系统间快速、稳定、正确完成消息同步,从而提高消息处理
效率,提升系统稳定性和正确性。

附图说明

[0018] 下面结合附图和实施方式对本发明作进一步的详细说明:
[0019] 图1为本发明高并发数据状态下异构系统的消息同步方法原理框图;
[0020] 图2为本方法中消息发送者与消息接收者之间的元数据同步示意图。

具体实施方式

[0021] 实施例如图1和图2所示,本发明高并发数据状态下异构系统的消息同步方法包括如下步骤:
[0022] 步骤一、建立消息发送者与消息接收者之间的元数据信息,元数据信息包括系统信息、重要性等级、通讯信息、通讯协议、加密机制、数据容量、负载策略和降级策略;其中,
消息发送者是异构系统中进行消息同步时的消息发送方,消息接收者是消息的接收方;
[0023] 步骤二、消息发送者和消息接收者通过网络请求定时轮询获取元数据信息,保存为各自系统的本地文件,若元数据信息有变更则将变更数据更新到本地文件;
[0024] 步骤三、消息接收者根据元数据信息建立消息接收端口、服务和/或本地文件目录,其中,元数据信息包含系统信息、通信信息、通讯协议以及加密机制,本地文件目录会将
接收到的消息保存到本地文件,之后由其他线程负责处理;本地文件目录为消息保存的文
件目录,当消息接收者在收到消息后,除了直接进行处理外,还可以保存到本地文件,实现
消息的交换;
[0025] 步骤四、当消息发送者发起消息同步时,消息发送者通过查找本地文件中的元数据信息,在元数据信息中根据消息接收者的信息进行查询匹配,根据消息接收者的系统、通
讯、协议信息情况,将消息进行封包、加密,根据通讯协议进行消息发送及投递;其中,消息
接收者信息的查询匹配元由消息发送者将文件数据加载到内存,在内存中解析出消息接收
者的系统信息,通讯信息和协议信息;
[0026] 步骤五、消息接收者接收消息后,根据所匹配的元数据信息以及重要性排列优先级进行消息处理,所述消息处理包括解包、解密、数据CRC校验,并保存消息;其中,解包是从
二进制流中解析出报文体,并反序列化为可被程序处理的格式;解密是出于保护数据安全
的目的,对消息进行加密和解密,使用的加/解密方式包含DES /3DES /AES /RSA等加/解密
算法;数据CRC校验是通过CRC32对数据的正确性和完整性进行校验。
[0027] 在步骤五中,当消息容量和并发量增大时,自动提升运行中的消息接收者的线程数和文件中的最大线程数,消息接收者的线程数和文件中的最大线程数由消息接收者维
护,并根据消息容量和并发量动态调整,当消息接收者的消息容量和并发量升高时,会动态
增加线程数,提升接收能力;如果达到最大消息容量时,对新接收的消息进行降级策略处
理,降级策略包括更新元数据信息、放大消息发送的响应时间、对消息进行临时存储后再补
充处理;
[0028] 消息接收者在收到消息后,默认情况下会开启一个线程进行处理,当消息容量和并发量增大时,新增线程数,通过多线程的方式处理,提升处理能力;文件线程数为保存文
件的线程数,当消息需要被保存时,默认情况下消息接收者会开启一个线程进行保存,并保
存为一个文件,当消息容量和并发量增大时,新增线程数,通过多线程的方式,保存到多个
文件。
[0029] 优选的,若异构系统发生变化,所述元数据信息同步更新,并定时同步到各个消息发送者和消息接收者。
[0030] 优选的,所述消息接收者根据系统消息发送者的数量、接收消息的数量,采用累加计数器或单位时间计数器计算消息容量和并发量。在异构系统中,消息接收者可对应多个
消息发送者,所述消息发送者和消息接收者的数量维护在元数据中。
[0031] 优选的,消息发送者根据元数据信息中消息接收者的系统负载情况以及消息发送响应时间是否超过系统负载和响应时间,如是同步系统元数据,按系统负载和响应时间阈
值判断消息接收者已经达到最大负载,则执行熔断策略,不再进行消息同步,转为临时消息
存储。
[0032] 优选的,消息接收者的消息处理能力恢复后,更新元数据信息,并由消息发送者获取后,恢复消息同步。
[0033] 本方法在于解决异构系统之间通用的消息同步机制,同时在面临高并发的消息同步过程导致的系统负载过高,通过动态扩展系统消息处理资源,并实时同步消息发送者与
消息接收者的负载情况,使得系统不会因为负载过重而崩溃,满足消息发送者具有迫切同
步消息发送的大需求,又能确保消息接收者准确、可靠接收消息,提高消息处理效率,确保
系统稳定性和正确性。