CN115150364A - 支持多通信协议并发通信的业务请求处理系统和方法 - Google Patents
支持多通信协议并发通信的业务请求处理系统和方法 Download PDFInfo
- Publication number
- CN115150364A CN115150364A CN202210762107.4A CN202210762107A CN115150364A CN 115150364 A CN115150364 A CN 115150364A CN 202210762107 A CN202210762107 A CN 202210762107A CN 115150364 A CN115150364 A CN 115150364A
- Authority
- CN
- China
- Prior art keywords
- service
- request data
- communication
- data
- processing module
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 267
- 238000012545 processing Methods 0.000 title claims abstract description 172
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000006243 chemical reaction Methods 0.000 claims abstract description 81
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000007405 data analysis Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种支持多通信协议并发通信的业务请求处理系统和方法。该系统包括:多个协议转换模块组成的协议转换层和多个业务分发模块组成的业务分发层;协议转换模块,用于获取业务请求数据和对应的通信协议标识,并根据通信协议标识和预设标准请求数据格式,获取业务请求数据对应的标准请求数据;业务分发模块,用于根据标准请求数据对应的关键字,获取对应的多个业务处理模块,并将标准请求数据发送至业务控制层中对应的各业务处理模块进行处理。本实施例的技术方案,通过采用协议转换层和业务分发层,可以实现对通信层和业务控制层的分离和解耦,且通过采用分布式结构,可以便于系统扩展,从而可以降低系统维护工作量,提升系统维护效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种支持多通信协议并发通信的业务请求处理系统和方法。
背景技术
业务服务软件,为用于为业务软件提供相应业务服务的应用程序,通过业务服务软件和业务软件之间的通信交互,可以支持业务软件的各种业务实现。
目前,在现有的业务服务软件中,通信层通常初始化设置为只能对基于会话初始协议的请求进行响应。当存在基于其他协议开发的业务软件接入时,由于所使用的通信协议和请求数据的格式不同,通常采用可以对协议及数据格式进行转换的网关来实现接入。然而,在现有技术中,当需要对通信协议和数据格式进行扩展时,需要对每种通信协议和请求数据体进行数据转换和接口交互的重新开发,导致业务服务软件的维护工作量大,维护效率低。
发明内容
本发明提供了一种支持多通信协议并发通信的业务请求处理系统和方法,可以在接收到业务客户端的业务请求时,成功实现对通信层和业务控制层的分离和解耦,可以提升系统扩展的便捷性,可以降低系统维护的工作量,可以提升系统维护效率。
根据本发明的一方面,提供了一种支持多通信协议并发通信的业务请求的处理系统,包括协议转换层和业务分发层,所述协议转换层包括至少一个协议转换模块,所述业务分发层包括至少一个业务分发模块;
所述协议转换模块,用于获取通信层发送的业务请求数据和对应的通信协议标识,并在确定预设数据转换队列中不存在未处理的历史请求数据时,根据所述通信协议标识和预设标准请求数据格式,获取所述业务请求数据对应的标准请求数据,并将所述标准请求数据发送至各所述业务分发模块;
所述业务分发模块,用于获取所述协议转换模块发送的标准请求数据,并根据所述标准请求数据对应的关键字,获取所述标准请求数据对应的至少一个业务处理模块,以及将所述标准请求数据发送至业务控制层中对应的各所述业务处理模块,以通过各所述业务处理模块对所述标准请求数据进行处理。
根据本发明的另一方面,提供了一种支持多通信协议并发通信的业务请求的处理方法,由本发明任一实施例所述的支持多通信协议并发通信的业务请求的处理系统执行,包括:
当通过通信端口接收到业务客户端发送的业务请求数据时,根据所述通信端口对应的通信端口标识,获取所述业务请求数据对应的通信协议标识;
若通过协议转换模块确定预设数据转换队列中不存在未处理的历史请求数据,则根据所述通信协议标识和预设标准请求数据格式,获取所述业务请求数据对应的标准请求数据;
通过业务分发模块获取所述标准请求数据对应的关键字,并根据所述关键字,获取所述标准请求数据对应的至少一个业务处理模块;
通过各所述业务处理模块生成所述标准请求数据对应的业务反馈数据发送至所述通信端口,以通过所述通信端口将所述标准请求数据对应的业务反馈数据转发至所述业务客户端。
本发明实施例的技术方案,通过协议转换模块获取通信层发送的业务请求数据和对应的通信协议标识,并在确定预设数据转换队列中不存在未处理的历史请求数据时,根据通信协议标识和预设标准请求数据格式,获取业务请求数据对应的标准请求数据;然后,通过业务分发模块根据标准请求数据对应的关键字,获取标准请求数据对应的各业务处理模块,以及将标准请求数据发送至业务控制层中对应的各业务处理模块,以通过各业务处理模块对标准请求数据进行处理;通过采用协议转换层和业务分发层,可以成功实现对通信层和业务控制层的分离和解耦,且通过采用协议转换模块和业务分发模块的分布式结构,可以提升系统扩展的便捷性,从而可以降低系统维护的工作量,可以提升系统维护效率。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是根据本发明实施例一提供的一种支持多通信协议并发通信的业务请求的处理系统的结构示意图;
图1B是根据本发明实施例一提供的另一种支持多通信协议并发通信的业务请求的处理系统的结构示意图;
图1C是根据本发明实施例一提供的一种支持多通信协议并发通信的业务请求的处理系统的分层结构示意图;
图2A是根据本发明实施例二提供的一种支持多通信协议并发通信的业务请求的处理方法的流程图;
图2B是根据本发明实施例二提供的一种支持多通信协议并发通信的业务请求的处理方法的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1A为本发明实施例一提供了一种支持多通信协议并发通信的业务请求的处理系统的结构示意图,支持多通信协议并发通信的业务请求的处理系统100包括协议转换层110和业务分发层120,协议转换层110包括至少一个协议转换模块111,业务分发层120包括至少一个业务分发模块121;
协议转换模块111,用于获取通信层发送的业务请求数据和对应的通信协议标识,并在确定预设数据转换队列中不存在未处理的历史请求数据时,根据所述通信协议标识和预设标准请求数据格式,获取所述业务请求数据对应的标准请求数据,并将所述标准请求数据发送至各所述业务分发模块121。
其中,通信协议标识,可以是对通信协议的字符表示。例如,对于会话初始协议(Session initialization Protocol,SIP),其对应的通信协议标识可以为协议1。在本实施例中,对通信协议标识的形式不作具体限定。
可以理解的是,不同的业务客户端(业务软件)可能基于不同类型的通信协议,故支持多通信协议并发通信的业务请求的处理系统100需要具备对基于不同通信协议的业务请求数据进行解析的能力。在本实施例中,协议转换层110主要用于将通信层接收的基于不同通信协议的业务请求数据转换为统一数据格式的标准消息体。
具体的,协议转换模块111在接收到业务请求数据和对应的通信协议标识之后,可以首先判断预设数据转换队列中是否存在未处理的历史业务请求数据。若确定预设数据转换队列中不存在未处理的历史业务请求数据,则可以根据该通信协议标识确定该业务请求数据所基于的通信协议类型,从而可以采用与该通信协议类型对应的数据解析方式对该业务请求数据进行解析。然后,可以采用预设标准请求数据格式对解析数据进行重新封装,以获取统一数据格式的标准请求数据。
其中,预设数据转换队列,用于对协议转换层110接收的业务请求数据进行缓存。通过采用预设数据转换队列,可以避免业务请求处理不及时导致的线程堵塞情况,可以提升支持多通信协议并发通信的业务请求的处理系统100的稳定性。预设标准请求数据格式,可以是预先设置的统一数据格式,典型的,可以是请求头内容加请求数据内容属性的数据格式。
在本实施例中,协议转换模块111在将业务请求数据转换为标准请求数据之后,可以通过调用业务分发层120的预设处理接口,将该标准请求数据发送至业务分发层120的业务分发模块121。
业务分发模块121,用于获取所述协议转换模块111发送的标准请求数据,并根据所述标准请求数据对应的关键字,获取所述标准请求数据对应的至少一个业务处理模块,以及将所述标准请求数据发送至业务控制层140中对应的各所述业务处理模块141,以通过各所述业务处理模块141对所述标准请求数据进行处理。
具体的,业务分发模块121在接收到协议转换模块111发送的标准请求数据之后,可以从该标准请求数据中提取关键字。然后,可以获取业务控制层140中每个业务处理模块141所预先设置的关注关键字(例如,登录业务处理模块的关注关键字为clientlogin、注册鉴权业务处理模块的关注关键字为authority等),并将该标准请求数据对应的关键字与每个业务处理模块141对应的关注关键字进行匹配对比。若检测到某一个业务处理模块141对应的关注关键字包括该标准请求数据对应的关键字,则可以将所检测的业务处理模块141确定为该标准请求数据对应的业务处理模块141,并由业务分发模块121将该标准请求数据发送至该业务处理模块141进行处理。
可选的,每个业务处理模块141可以对应多个关注关键字。此时,标准请求数据对应的关键字只要与业务处理模块141对应的一个关注关键字匹配,则可以确定该业务处理模块141与标准请求数据对应。可以理解的是,不同业务处理模块141对应的关注关键字可以存在交集。例如,业务处理模块A对应的关注关键字为C、D和E,业务处理模块B对应的关注关键字为C和D,此时,业务处理模块A和B具有相同的关注关键字C和D。因此,一个标准请求数据可以对应多个业务处理模块141。
可选的,如图1B所示,支持多通信协议并发通信的业务请求的处理系统100还可以包括通信层130和业务控制层140,所述通信层130包括至少一个通信端口131,所述业务控制层140包括至少一个业务处理模块141;
通信端口131,用于接收业务客户端发送的业务请求数据,并根据通信端口标识,获取所述业务请求数据对应的通信协议标识,以及将所述业务请求数据和对应的通信协议标识发送至各所述协议转换模块111。
在本实施例中,可以将通信端口131与通信协议类型进行绑定,即基于不同通信协议的业务请求数据由不同的通信端口131进行接收。由此,当通过通信端口131接收到业务请求数据之后,即可根据该通信端口131对应的通信端口标识,确定该业务请求数据对应的通信协议标识。之后,通信端口131可以将该业务请求数据和对应的通信协议标识共同发送至协议转换模块111。
在一个具体的例子中,通信端口131可以将业务请求数据和对应的通信协议标识封装成通信层130的业务对象类,并将该业务对象类发送至协议转换模块111,以实现对业务请求数据和对应的通信协议标识的转发。其中,通信层130的业务对象类可以包括通信协议标识、业务请求数据类型和业务请求数据体属性。
对应的,协议转换模块111在接收到通信端口131发送的业务对象类之后,可以根据业务对象类中的通信协议标识和业务请求数据类型,将业务请求数据二次封装为统一数据格式的协议转换层信息类。其中,协议转换层信息类可以包括请求头和请求体。
可选的,可以预先将各通信协议类型所对应的通信端口131发送至各业务客户端,故业务客户端在发送业务请求数据时,可以根据基于的通信协议类型选择调用对应的通信端口131。
上述设置的好处在于,可以实现对基于多种通信协议的业务客户端的接入,从而可以提升支持多通信协议并发通信的业务请求的处理系统100的场景适用性。
业务处理模块141,用于当接收到所述业务分发模块121发送的标准请求数据时,生成所述标准请求数据对应的业务反馈数据发送至所述通信端口131,以通过所述通信端口131将所述标准请求数据对应的业务反馈数据转发至所述业务客户端。
具体的,业务处理模块141在接收到标准请求数据之后,可以对该标准请求数据进行业务逻辑处理,以生成对应的业务反馈数据。之后,可以将该业务反馈数据发送至接收业务请求数据的通信端口131,或者与接收业务请求数据的通信端口131对应的,用于发送业务反馈数据的通信端口131。通信端口131在接收到业务反馈数据之后,可以对该业务反馈数据进行解析以确定需要发送的业务客户端,进而将该业务反馈数据发送至确定的业务客户端。
上述设置的好处在于,业务控制层140采用模块化开发方式,可以支持按业务要求进行业务处理模块的扩展,可以提升支持多通信协议并发通信的业务请求的处理系统100的业务扩展便捷性。
在本实施例的一个可选的实施方式中,协议转换模块111还用于:若确定预设数据转换队列中存在未处理的历史请求数据,则根据所述业务请求数据和对应的通信协议标识,获取所述业务请求数据对应的封装数据;将所述业务请求数据对应的封装数据存储至所述预设数据转换队列,并等待所述预设数据转换队列中各历史请求数据均处理完成。
在一种场景下,当预设数据转换队列中存在未处理的历史请求数据时,此时无法实时对该业务请求数据进行数据格式转换和转发,需要先将该业务请求数据存储至预设数据转换队列中,并等待各历史请求数据均处理完成后,再对该业务请求数据进行处理。在将业务请求数据存储至预设数据转换队列中时,可以对该业务请求数据和对应的通信协议标识进行封装,以生成一个封装数据,从而对该封装数据进行存储。其中,封装数据可以包括通信协议标识、业务请求数据类型和业务请求数据内容。
在本实施例的另一个可选的实施方式中,业务分发模块121可以具体用于:在所述标准请求数据中获取预设关键字段对应的字段值,并将所述预设关键字段对应的字段值作为所述标准请求数据对应的关键字;根据所述标准请求数据对应的关键字,以及预先设置的业务处理模块141与关键字之间的映射关系,获取所述标准请求数据对应的各所述业务处理模块141;将所述标准请求数据存储至各所述业务处理模块141对应的业务处理队列。
其中,预设关键字段,可以是在标准请求数据格式中预先设置的用于存储关键字信息的字段。在本实施例中,业务分发模块121在接收到协议转换模块111发送的标准请求数据之后,可以按照预设标准请求数据格式对该标准请求数据进行解析,并在解析数据中获取预设关键字段对应的字段值,以获取该标准请求数据对应的关键字。
在本实施例中,可以预先设置业务处理模块141与关键字之间的映射关系,即预先设置每个业务处理模块141所关注的关键字,并将该映射关系存储在各业务分发模块121中,以作为业务分发模块121进行标准请求数据分发的依据。具体的,业务分发模块121在确定标准请求数据对应的关键字之后,可以逐个与各业务处理模块141对应的关键字进行对比。当检测到某个业务处理模块141对应的关键字包括该标准请求数据对应的关键字时,可以将该业务处理模块141确定为与该标准请求数据成功对应。由此,可以成功确定与该标准请求数据所对应的多个业务处理模块141。
在一个具体的例子中,可以通过实例化业务分发层120的队列管理者类,以获取每个业务处理模块141所关注的关键字。其中,队列管理者类,用于读取所有业务处理模块141的管理者类中的init方法,该init方法用于描述业务处理模块141需要处理的请求数据的关键描述信息。此外,通过init方法可以调用业务控制层140的业务初始化方法,以根据各业务处理模块141的管理类信息和关键描述信息,建立每个业务处理模块141对应的业务处理队列,进而形成业务处理队列集合。
在本实施例中,可以在业务控制层140中预先建立每个业务处理模块141对应的业务处理队列,用于对待处理的标准请求数据进行缓存。通过上述设置,可以避免短时间内待处理请求的数量超出业务处理模块141的可承受能力,从而可以避免业务处理模块141的业务拥堵的情况,可以进一步提升支持多通信协议并发通信的业务请求的处理系统100的稳定性。
可选的,业务处理模块141可以具体用于:当检测到对应的业务处理队列中不存在未处理的历史标准请求数据时,生成所述标准请求数据对应的业务反馈数据发送至所述通信端口131。
在本实施例中,业务处理模块141可以按照先入先出的规则对对应的业务处理队列中的各标准请求数据进行处理。因此,在将当前的标准请求数据存储至对应的业务处理模块141的业务处理队列中之后,若业务处理队列中存在未处理的历史标准请求数据时,此时当前的标准请求数据需要等待各历史标准请求数据均处理完成。而若业务处理队列中不存在未处理的历史标准请求数据,则可以直接对该标准请求数据进行处理,并生成与该标准请求数据对应的业务反馈数据。进一步的,业务处理模块141可以直接将该业务反馈数据发送至对应的通信端口131,以通过该通信端口131对业务反馈数据进行转发。
需要说明的是,标准请求数据中包括初始的业务请求数据对应的通信协议标识,故业务处理模块141生成的业务反馈数据可以为基于该通信协议的反馈数据。因此,业务处理模块141在生成业务反馈数据之后,可以直接将该业务反馈数据发送至对应的通信端口131进行转发。
可选的,在本实施例中,可以建立一个线程,用于对各业务处理队列中的标准请求数据进行读取,并将读取的标准请求数据发送至对应的业务处理模块141进行处理。
在本实施例的另一个可选的实施方式中,业务处理模块141,还用于将所述标准请求数据对应的业务反馈数据发送至各所述业务分发模块121;
所述业务分发模块121,还用于当接收到业务处理模块141发送的业务反馈数据时,将所述业务反馈数据存储至预设业务发送队列,并在检测到所述预设业务发送队列中不存在未处理的历史反馈数据时,将所述业务反馈数据发送至所述通信端口131,以通过所述通信端口131将所述业务反馈数据转发至所述业务客户端。
在本实施例中,还可以在业务分发层120中预先设置一个业务发送队列,用于对所有业务处理模块141生成的业务反馈数据进行缓存。因此,业务处理模块141在生成标准请求数据对应的业务反馈数据之后,可以先将业务反馈数据发送至业务分发层120的业务分发模块121。业务分发模块121在接收到业务反馈数据之后,可以将其存储至预设业务发送队列。之后,业务分发模块121在确定预设业务发送队列中不存在未处理的历史反馈数据时,将该业务反馈数据发送至对应的通信端口131,以通过该通信端口131对该业务反馈数据进行转发。
上述设置的好处在于,可以避免短时间内业务反馈数据的数量超出通信端口131的可承受能力,从而可以避免大量业务反馈数据发送失败的情况,可以进一步提升支持多通信协议并发通信的业务请求的处理系统100的稳定性。
本发明实施例的技术方案,通过协议转换模块获取通信层发送的业务请求数据和对应的通信协议标识,并在确定预设数据转换队列中不存在未处理的历史请求数据时,根据通信协议标识和预设标准请求数据格式,获取业务请求数据对应的标准请求数据;然后,通过业务分发模块根据标准请求数据对应的关键字,获取标准请求数据对应的各业务处理模块,以及将标准请求数据发送至业务控制层中对应的各业务处理模块,以通过各业务处理模块对标准请求数据进行处理;通过采用协议转换层和业务分发层,可以成功实现对通信层和业务控制层的分离和解耦,且通过采用协议转换模块和业务分发模块的分布式结构,可以提升系统扩展的便捷性,从而可以降低系统维护的工作量,可以提升系统维护效率。
在一个具体的例子中,支持多通信协议并发通信的业务请求的处理系统100的分层结构可以如图1C所示。其中,通信层130包括分别对应SIP协议、传输控制协议(Transmission Control Protocol,TCP)和超文本传输协议(Hyper Text TransferProtocol,HTTP)的通信端口131。业务控制层140包括登录业务、会议业务以及注册鉴权业务等业务对应的业务处理模块141。
具体的,首先,通信层130根据业务请求数据的来源通信端口131确定对应的通信协议,并将业务请求数据和对应的通信协议标识转发至协议转换层110。之后,协议转换层110通过预设数据转换队列对接收的业务请求数据进行存储和读取,并根据通信协议标识将业务请求数据转换为标准请求数据,进而将标准请求数据发送至业务分发层120。然后,业务分发层120根据标准请求数据对应的关键字,将该标准请求数据发送至对应的业务处理模块141的业务处理队列。
进一步的,业务控制层140中的业务处理模块141对业务处理队列中的标准请求数据进行处理,并生成对应的业务反馈数据发送至业务分发层120。最后,业务分发层120将接收的业务反馈数据存储至业务发送队列,并读取业务发送队列中的业务反馈数据转发至对应的通信端口131,以通过通信端口131将业务反馈数据转发至对应的业务客户端。
其中,在业务控制层140中的各业务处理模块141进行初始化启动时,可以设置各业务处理模块141关注的关键描述信息并通知业务分发层120,以使得业务分发层120在接收到不同的请求数据时,可以按照各业务处理模块141的设置进行请求数据的分发。
在本实施例中,当业务处理模块141需要对外进行基于不同通信协议的数据的发送时,可以直接调用对应的封装后的通信端口131,使得业务控制层140可以无需关注底层通信实现,从而当存在通信协议的扩展或调整时,业务控制层140可以保持原始配置,可以降低系统的维护工作量。
在本实施例中,通过采用本实施例提供的支持多通信协议并发通信的业务请求的处理系统100的系统架构实现业务服务软件,可以避免现有业务服务软件中对网关服务单元的使用,故可以简化部署并减少运维人员的系统配置工作量,且可以减少系统的对外交互。此外,系统架构采用系统开发规范中的分层设计原则实现,增加了系统的可扩展性。同时,通信协议的更新仅涉及对通信层的调整,降低了系统维护的工作量和困难度,提升了系统的开发和运行效率。
实施例二
图2A为本发明实施例二提供了一种支持多通信协议并发通信的业务请求的处理方法的流程图。本实施例可适用于对基于不同通信协议的业务请求进行处理的情况,该方法可以由本发明实施例一所述的支持多通信协议并发通信的业务请求的处理系统执行。如图2A所示,该方法包括:
S210、当通过通信端口接收到业务客户端发送的业务请求数据时,根据所述通信端口对应的通信端口标识,获取所述业务请求数据对应的通信协议标识。
可选的,通信层在接收到业务客户端发送的业务请求数据之后,还可以对该业务请求数据进行合理性校验,例如,对数据格式进行验证、对数据来源的合法性进行校验等。在业务请求数据成功通过合理性校验后,通信层可以将该业务请求数据转发至协议转换层。
S220、若通过协议转换模块确定预设数据转换队列中不存在未处理的历史请求数据,则根据所述通信协议标识和预设标准请求数据格式,获取所述业务请求数据对应的标准请求数据。
S230、通过业务分发模块获取所述标准请求数据对应的关键字,并根据所述关键字,获取所述标准请求数据对应的至少一个业务处理模块。
S240、通过各所述业务处理模块生成所述标准请求数据对应的业务反馈数据发送至所述通信端口,以通过所述通信端口将所述标准请求数据对应的业务反馈数据转发至所述业务客户端。
在本实施例中,通过采用协议转换模块将基于不同通信协议的业务请求数据转换为统一数据格式的标准请求数据,并通过业务分发模块将标准请求数据分发至对应的业务处理模块进行处理,可以为基于不同通信协议的业务客户端提供相应服务。此外,当需要对通信协议进行扩展时,只需对通信层配置进行调整即可实现对基于扩展通信协议的业务客户端的成功接入,可以极大降低业务请求的处理系统的维护工作量,可以提升系统维护效率,从而可以提升业务请求的处理系统的开发和运行效率。
在本实施例的一个可选的实施方式中,根据所述通信协议标识和预设标准请求数据格式,获取所述业务请求数据对应的标准请求数据,可以包括:通过所述协议转换模块根据所述通信协议标识对所述业务请求数据进行数据解析,并根据所述业务请求数据的数据解析结果和预设标准请求数据格式,获取所述业务请求数据对应的标准请求数据。
在本实施例中,协议转换模块可以根据通信协议标识采用对应的数据解析方式,对该业务请求数据进行解析,以获取业务请求数据的数据内容,例如,各字段对应的字段值。然后,可以按照预设标准请求数据格式,对解析获取的数据内容进行重新封装,以获取对应统一数据格式的标准请求数据。
在本实施例的另一个可选的实施方式中,根据所述通信端口对应的通信端口标识,获取所述业务请求数据对应的通信协议标识,可以包括:
通过所述通信端口根据所述通信端口对应的通信端口标识,以及预先设置的通信端口标识和通信协议标识之间的映射关系,获取所述业务请求数据对应的通信协议标识。
在本实施例中,可以预先设置每个通信端口对应的通信协议类型,即建立通信端口标识与通信协议标识之间的映射关系。之后,在通过某一个通信端口接收到业务请求数据时,即可根据该通信端口对应的通信端口标识,以及通信端口标识与通信协议标识之间的映射关系,确定该业务请求数据对应的通信协议标识。
可选的,当存在通信协议的扩展或者调整时,可以对应调整通信端口的配置信息,例如,增加通信端口的数量,或者对现有通信端口支持的通信协议进行更新,以适应变更后的通信协议。
其中,通信协议标识可以包括会话初始协议标识、传输控制协议标识、超文本传输协议标识和基于传输控制协议的全双工通信协议标识中的至少一项。基于传输控制协议的全双工通信协议标识,可以为Websocket协议对应的通信协议标识。
业务处理模块可以包括登录业务处理模块、会议业务处理模块、注册鉴权业务处理模块、指挥业务处理模块、资源管理业务处理模块、设备控制业务处理模块、状态管理业务处理模块和一键呼叫业务处理模块中的至少一项。
在本实施例中,每一个业务处理模块负责一种类型业务的服务实现。当存在业务变更时,可以对业务处理模块进行对应的新增、删除或者更新,以适用不断变更的业务场景。
本发明实施例的技术方案,当通过通信端口接收到业务客户端发送的业务请求数据时,根据通信端口对应的通信端口标识,获取业务请求数据对应的通信协议标识;之后,若通过协议转换模块确定预设数据转换队列中不存在未处理的历史请求数据,则根据通信协议标识和预设标准请求数据格式,获取业务请求数据对应的标准请求数据;然后,通过业务分发模块获取标准请求数据对应的关键字,并根据关键字,获取标准请求数据对应的各业务处理模块;最终,通过各业务处理模块生成标准请求数据对应的业务反馈数据发送至通信端口,以通过通信端口将标准请求数据对应的业务反馈数据转发至业务客户端;通过采用协议转换层和业务分发层,可以成功实现对通信层和业务控制层的分离和解耦,且通过采用协议转换模块和业务分发模块的分布式结构,可以提升系统扩展的便捷性,从而可以降低系统维护的工作量,可以提升系统维护效率。
在本实施例的一个具体的实施方式中,支持多通信协议并发通信的业务请求的处理方法的流程可以如图2B所示。首先,对支持多通信协议并发通信的业务请求的处理系统进行初始化,以启动通信层中的各通信端口,例如,SIP协议栈服务端口、TCP协议数据接收端口等。之后,当通信层接收到业务客户端发送的业务请求数据时,先对该业务请求数据进行合理性校验。若确定该业务请求数据成功通过合理性校验,则将该业务请求数据和对应的通信协议标识共同转发至协议转换层。
其次,通过协议转换层接收通信层发送的业务请求数据和对应的通信协议标识,并将接收数据保存至预先建立的数据转换队列中。之后,读取该数据转换队列中的数据内容,并根据通信协议标识对该业务请求数据进行数据解析。进一步的,根据预设标准请求数据格式对数据解析结果进行重新封装,以获取对应统一数据格式的标准请求数据,并将该标准请求数据发送至业务分发层。
然后,业务分发层根据标准请求数据的指定标识(关键字),将标准请求数据分发至需要处理该标准请求数据的业务处理模块对应的业务处理队列。最后,通过业务控制层中的预设线程,从对应的业务处理队列中读取标准请求数据,并通过对应的业务处理模块对读取的标准请求数据进行业务逻辑处理。
Claims (10)
1.一种支持多通信协议并发通信的业务请求的处理系统,其特征在于,包括协议转换层和业务分发层,所述协议转换层包括至少一个协议转换模块,所述业务分发层包括至少一个业务分发模块;
所述协议转换模块,用于获取通信层发送的业务请求数据和对应的通信协议标识,并在确定预设数据转换队列中不存在未处理的历史请求数据时,根据所述通信协议标识和预设标准请求数据格式,获取所述业务请求数据对应的标准请求数据,并将所述标准请求数据发送至各所述业务分发模块;
所述业务分发模块,用于获取所述协议转换模块发送的标准请求数据,并根据所述标准请求数据对应的关键字,获取所述标准请求数据对应的至少一个业务处理模块,以及将所述标准请求数据发送至业务控制层中对应的各所述业务处理模块,以通过各所述业务处理模块对所述标准请求数据进行处理。
2.根据权利要求1所述的系统,其特征在于,还包括通信层和业务控制层,所述通信层包括至少一个通信端口,所述业务控制层包括至少一个业务处理模块;
所述通信端口,用于接收业务客户端发送的业务请求数据,并根据通信端口标识,获取所述业务请求数据对应的通信协议标识,以及将所述业务请求数据和对应的通信协议标识发送至各所述协议转换模块;
所述业务处理模块,用于当接收到所述业务分发模块发送的标准请求数据时,生成所述标准请求数据对应的业务反馈数据发送至所述通信端口,以通过所述通信端口将所述标准请求数据对应的业务反馈数据转发至所述业务客户端。
3.根据权利要求1所述的系统,其特征在于,所述协议转换模块还用于:
若确定预设数据转换队列中存在未处理的历史请求数据,则根据所述业务请求数据和对应的通信协议标识,获取所述业务请求数据对应的封装数据;
将所述业务请求数据对应的封装数据存储至所述预设数据转换队列,并等待所述预设数据转换队列中各历史请求数据均处理完成。
4.根据权利要求1所述的系统,其特征在于,所述业务分发模块具体用于:
在所述标准请求数据中获取预设关键字段对应的字段值,并将所述预设关键字段对应的字段值作为所述标准请求数据对应的关键字;
根据所述标准请求数据对应的关键字,以及预先设置的业务处理模块与关键字之间的映射关系,获取所述标准请求数据对应的各所述业务处理模块;
将所述标准请求数据存储至各所述业务处理模块对应的业务处理队列。
5.根据权利要求4所述的系统,其特征在于,所述业务处理模块具体用于:
当检测到对应的业务处理队列中不存在未处理的历史标准请求数据时,生成所述标准请求数据对应的业务反馈数据发送至所述通信端口。
6.根据权利要求5所述的系统,其特征在于,所述业务处理模块,还用于将所述标准请求数据对应的业务反馈数据发送至各所述业务分发模块;
所述业务分发模块,还用于当接收到业务处理模块发送的业务反馈数据时,将所述业务反馈数据存储至预设业务发送队列,并在检测到所述预设业务发送队列中不存在未处理的历史反馈数据时,将所述业务反馈数据发送至所述通信端口,以通过所述通信端口将所述业务反馈数据转发至所述业务客户端。
7.一种支持多通信协议并发通信的业务请求的处理方法,其特征在于,由权利要求1-6中任一项所述的支持多通信协议并发通信的业务请求的处理系统执行,包括:
当通过通信端口接收到业务客户端发送的业务请求数据时,根据所述通信端口对应的通信端口标识,获取所述业务请求数据对应的通信协议标识;
若通过协议转换模块确定预设数据转换队列中不存在未处理的历史请求数据,则根据所述通信协议标识和预设标准请求数据格式,获取所述业务请求数据对应的标准请求数据;
通过业务分发模块获取所述标准请求数据对应的关键字,并根据所述关键字,获取所述标准请求数据对应的至少一个业务处理模块;
通过各所述业务处理模块生成所述标准请求数据对应的业务反馈数据发送至所述通信端口,以通过所述通信端口将所述标准请求数据对应的业务反馈数据转发至所述业务客户端。
8.根据权利要求7所述的方法,其特征在于,根据所述通信协议标识和预设标准请求数据格式,获取所述业务请求数据对应的标准请求数据,包括:
通过所述协议转换模块根据所述通信协议标识对所述业务请求数据进行数据解析,并根据所述业务请求数据的数据解析结果和预设标准请求数据格式,获取所述业务请求数据对应的标准请求数据。
9.根据权利要求7所述的方法,其特征在于,根据所述通信端口对应的通信端口标识,获取所述业务请求数据对应的通信协议标识,包括:
通过所述通信端口根据所述通信端口对应的通信端口标识,以及预先设置的通信端口标识和通信协议标识之间的映射关系,获取所述业务请求数据对应的通信协议标识。
10.根据权利要求7-9中任一项所述的方法,其特征在于,所述通信协议标识包括会话初始协议标识、传输控制协议标识、超文本传输协议标识和基于传输控制协议的全双工通信协议标识中的至少一项;
所述业务处理模块包括登录业务处理模块、会议业务处理模块、注册鉴权业务处理模块、指挥业务处理模块、资源管理业务处理模块、设备控制业务处理模块、状态管理业务处理模块和一键呼叫业务处理模块中的至少一项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210762107.4A CN115150364A (zh) | 2022-06-29 | 2022-06-29 | 支持多通信协议并发通信的业务请求处理系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210762107.4A CN115150364A (zh) | 2022-06-29 | 2022-06-29 | 支持多通信协议并发通信的业务请求处理系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115150364A true CN115150364A (zh) | 2022-10-04 |
Family
ID=83409403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210762107.4A Pending CN115150364A (zh) | 2022-06-29 | 2022-06-29 | 支持多通信协议并发通信的业务请求处理系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115150364A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109768885A (zh) * | 2018-12-28 | 2019-05-17 | 厦门中控生物识别信息技术有限公司 | 一种支持多协议分布式高并发通信服务端设备和通信方法 |
WO2019128682A1 (zh) * | 2017-12-26 | 2019-07-04 | 中兴通讯股份有限公司 | 融合消息系统及消息处理方法 |
CN113709166A (zh) * | 2021-08-31 | 2021-11-26 | 广州艾美网络科技有限公司 | 分布式业务网关实现方法、装置、计算机设备及存储介质 |
-
2022
- 2022-06-29 CN CN202210762107.4A patent/CN115150364A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019128682A1 (zh) * | 2017-12-26 | 2019-07-04 | 中兴通讯股份有限公司 | 融合消息系统及消息处理方法 |
CN109768885A (zh) * | 2018-12-28 | 2019-05-17 | 厦门中控生物识别信息技术有限公司 | 一种支持多协议分布式高并发通信服务端设备和通信方法 |
CN113709166A (zh) * | 2021-08-31 | 2021-11-26 | 广州艾美网络科技有限公司 | 分布式业务网关实现方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8737579B2 (en) | Methods of routing messages using a listener registry | |
US7181455B2 (en) | Bandwidth management for remote services system | |
US7167448B2 (en) | Prioritization of remote services messages within a low bandwidth environment | |
US8488448B2 (en) | System and method for message sequencing in a broadband gateway | |
KR20060011963A (ko) | 옴니모달 메시징 시스템 | |
KR20010062065A (ko) | 순간 메시징을 위한 프로토콜 | |
CN113596191A (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
US20230300106A1 (en) | Data processing method, network element device and readable storage medium | |
CN118018517A (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
CN114338063B (zh) | 消息队列系统、业务处理方法及计算机可读存储介质 | |
CN112968965A (zh) | Nfv网络节点的元数据服务方法、服务器及存储介质 | |
EP1333643A2 (en) | Remote services system data delivery mechanism | |
CN115150364A (zh) | 支持多通信协议并发通信的业务请求处理系统和方法 | |
US9438693B2 (en) | System and method for message retry in a broadband gateway | |
CN110582090A (zh) | 一种cdn调度方法、调度系统和mec网元 | |
CN113141390B (zh) | Netconf通道管理方法及装置 | |
US20030149771A1 (en) | Remote services system back-channel multicasting | |
US6483836B1 (en) | ATM connection accelerator for use in communication networks | |
CN111935090B (zh) | 工业智造物联网的大数据传输和持久化方法及系统 | |
US8385195B2 (en) | System and method for message processing in a broadband gateway | |
CN113497790B (zh) | 一种基于网闸的数据传输方法、系统及计算机存储介质 | |
CN115766683A (zh) | 一种基于前置系统的报文处理方法、装置、设备和介质 | |
CN112073673A (zh) | 一种视联网会议服务器及视联网终端 | |
CN117793002A (zh) | 路径获取方法、内容分发网络系统、计算设备及存储介质 | |
JP2001230812A (ja) | 通信開始処理をオフロードするネットワーク接続装置およびそれを用いた方法 |
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 |