一种集中式接口通信并发控制系统及其控制方法
技术领域
本发明属于物联网数据业务技术领域,具体涉及一种集中式接口通信并发控制系统及其控制方法。
背景技术
随着互联网络和移动互联网的不断发展,各行业都在依托于网络、平台开展各类业务、服务系统建设,考虑到集约化建设标准,主要采用集中平台建设模式,即中心处理平台通过用户前置模块实现对外服务,与中心前置模块与资源方实现实时交易处理服务。
所述中心处理平台主要用于处理中心平台的各项业务,实现与数据库系统的实时交易;中心处理平台通过中心前置模块与数据库系统建立连接池,获取与数据库系统的实时交易。
所述中心前置模块逻辑上与中心处理平台同构,用于中心处理平台与多个用户前置模块进行通信处理,并与用户前置模块存在一对多的对应关系;所述用户前置模块单个部署于各个分散用户侧,用于处理单用户与中心平台进行通信交易的前置请求处理机制,完成用户侧交易。前置请求处理机制:用户访问平台系统,通过用户前置模块向中心处理平台请求服务,中心处理平台通过中心前置模块向后台资源请求,再逐次反馈,实现用户获取。
但是现有业务接口处理主要存在如下缺陷:当单点请求压力加大,会引起整个系统的请求堵塞,造成其他接入点访问困难;每个点通讯访问发生量不同,造成请求数的资源浪费,不能有效得以控制。
现有平台在访问过程中,由于一个接入点的访问量过大,造成平台性能显著下降,访问其他接入点困难;同时,规模较小接入点不用达到分配的最大请求数,造成系统整体请求资源的浪费。
本发明就是要实现接口并发通讯过程中,单点并发瓶颈不会对系统整体造成性能影响,从而提高系统稳定性的效果。
发明内容
本发明要解决的技术问题是,克服现有技术中的不足,提供一种集中式接口通信并发控制系统及其控制方法。
为解决技术问题,本发明的解决方案是:
提供一种集中式接口通信并发控制系统,包括用户前置模块、中心处理平台、中心前置模块和消息队列,
所述中心处理平台与单点之间的接口交易模式采用多线程同步交易模式,即单点的通讯、访问不会受制于中心处理平台、其他单点的影响,单点的故障和性能瓶颈也不会影响其他点的访问;
所述用户前置模块中设有存储器,用于保存用户校验信息,通过比较进行判断发起交易的用户是否有交易权限,并对该用户的交易数据进行完整性检查;
多个用户前置模块分别通过TCP长连接方式与中心处理平台相连接,实现多个用户对中心处理平台的交易;
所述中心处理平台内设置有交易请求限值,用于判断发起交易的用户请求次数是否超过了该限值;若是,则中心处理平台应答请求超限;若不是,则中心处理平台将用户交易请求接收并存入消息队列,同时激活交易处理的线程;
所述中心处理平台内还设置有中心表,用于动态记录系统中实时交易的线程数,并对线程分配及其最大值、最小值设置进行动态管理;
所述中心处理平台与中心前置模块以TCP长连接的方式建立连接,该中心处理平台向中心前置模块发送交易请求,并返回中心前置模块的应答结果给用户前置模块;
所述中心前置模块用于接收来自中心处理平台的消息并进行交易处理,同时将交易处理的结果返回给中心处理平台;
所述消息队列用于接收来自用户前置模块、中心前置模块的消息并进行存储,等待中心处理平台对该存储信息的处理。
本发明中,所述单点是指通过用户前置模块对中心处理平台进行通讯、访问的单个用户。
本发明中,所述单点性能问题包括用户与中心处理平台交易时出现访问瓶颈、超时、变限或掉线问题。
本发明中,所述交易是指各个平台或者模块之间的通讯或访问。
本发明中,所述中心处理平台是指各类互联网、移动互联网平台的核心后台软件应用系统平台,实现具体业务;
所述用户前置模块:指提供给最终用户接入的访问服务,包括www互联网访问和APP移动客户端访问等,主要用于处理外部客户访问请求与负载,分担中心处理平台的访问压力;
所述中心前置模块:指提供给后端资源服务的各类调用服务,包括数据库访问、流媒体数据和跨平台资源读取等。
本发明中还提供一种基于所述集中式接口通信并发控制系统的控制方法,所述控制方法包括如下步骤:
步骤A:
用户前置模块运行后向中心处理平台发起TCP长连接,中心处理平台响应建立该连接;
步骤B:
通过用户前置模块中存储的用户校验信息对拟发起交易的用户进行校验,判断发起交易的用户是否有交易权限,并对该用户的交易数据进行完整性检查;
步骤C:
当多个用户通过各自对应的用户前置模块与中心处理平台进行交易时,通过对交易接口进行多线程处理控制,同时根据用户前置模块的用户具体交易量对交易接口的线程进行动态分配,以避免出现单点性能问题;
同时,中心处理平台判断发起交易的用户请求次数是否超过了交易请求限值;若是,则中心处理平台应答请求超限;若不是,则中心处理平台将用户交易请求接收并存入消息队列,同时激活交易处理的线程;
步骤D:
交易处理的线程查询消息队列,发现有待处理的请求,并根据路由分析结果,并确定交易消息发送路径,中心处理平台将交易信息发送到中心前置模块中进行交易处理,中心前置模块向中心处理平台发送中心前置模块的交易应答结果,然后中心处理平台向用户前置模块发送交易应答结果,然后用户前置模块向用户发送交易应答结果,从而完成此次交易流程。
本发明中,所述路由分析是对于接口通信并发控制采用如同OIS模型中网络层的路由控制,通过设计中心表对线程访问性能进行控制。
与现有技术相比,本发明的有益效果是:
本发明主要优化现有接口通信模式,提高了接口交易性能,当中心处理平台与多个单点进行交易时,通过对接口交易的多线程处理控制,避免单点性能问题外延到中心处理平台,同时通过对单点并发请求的动态分配,有效提高系统性能并降低请求开销的浪费;
通过中心处理平台内设中心表的动态管理,对单点最大请求数的存储,根据访问量实时更新管理,实现,控制单点的最高访问量,同时节约访问开销。
附图说明
下面结合附图对本发明技术方案作进一步说明:
图1为本发明的整体结构示意图;
图2为本发明的中心处理平台对于用户接口请求限制的具体流程示意图。
具体实施方式
下面结合附图,作详细的阐述。
图1示出了本发明的整体结构机制的示意图,主要涉及中心处理平台、用户前置模块和中心前置模块等。
具体说明如下:
用户前置模块中保存密码等用户校验信息,并据此判断发起交易的用户是否有该交易权限,以及对用户的交易数据进行完整性的检查。用户前置模块与中心处理平台以TCP长连接的方式建立连接,若用户有该交易权限,那么用户前置模块会向中心处理平台发送交易请求。其中:保存密码等用户校验信息是保存在用户前置模块的存储器中,主要用于业务过程中的用户信息校验,系统有机制会动态清空来管理内存的效率;用户是否有该交易权限:是具体中心处理平台用于批评用户信息和权限信息,以便用户访问平台所具备的具体功能。
中心处理平台中保存了用户限制、用户、号源、订单等信息,并据此判断发起交易的用户请求次数是否超过了交易请求限值,若是则应答请求超限;中心处理平台与中心前置模块以TCP长连接的方式建立连接,若用户请求数不超限,那么中心处理平台将交易请求接收并存入消息队列,同时激活交易处理的线程,若为中心前置模块请求则中心处理平台向中心前置模块发送交易请求,并返回中心前置模块应答结果给用户前置模块。
中心前置模块用于接收到来自中心处理平台的消息并进行交易处理,同时将本次交易的结果返回给中心处理平台。
消息队列用于接收来自用户前置模块、中心前置模块的消息并进行存储,等待中心处理平台的处理。
本发明中需要说明的是,该集中式接口通信并发控制系统及其控制方法均涉及数据库技术,是计算机技术在物联网数据业务技术领域的一种应用。因此在本发明的实现过程中,会涉及到多个软件功能模块的应用。如在仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,并在结合现有公知技术的情况下,本领域技术人员完全能够运用其掌握的软件编程技能实现本发明。前述软件功能模块包括但不限于:用户前置模块、中心处理平台、中心前置模块和消息队列等,凡本发明申请文件提及的均属此范畴,发明人不再一一列举。
下面以用户A发起交易为例,结合图2,说明中心处理平台对于用户接口请求限制的具体流程。
具体说明如下:
步骤1,用户前置模块运行后向中心处理平台发起连接;
步骤2,中心处理平台应答连接响应;
步骤3,用户A向中心前置模块发起交易请求,请求以HTTP GET的形式提交到用户前置模块;
步骤4,用户前置模块以异步的形式将请求提交给中心处理平台;
步骤5,中心处理平台对当前的用户请求数进行统计,并查询出当前用户配置的最大请求数,若当前用户请求数超限,那么应答请求超限;否则接收请求消息并存入交易队列(即消息队列),通知主线程进行交易处理;
步骤6,若当前用户请求数超限,那么应答请求超限;
步骤7,接收请求消息并存入交易队列(即消息队列),通知主线程进行交易处理;
步骤8,交易处理线程查询交易队列(即消息队列),发现有待处理的请求,并根据路由分析结果,并确定消息发送路径;
步骤9,中心处理平台将交易信息发送到中心前置模块进行交易处理;
步骤10,中心前置模块向中心处理平台发送中心前置模块交易应答结果;
步骤11,中心处理平台向用户前置模块发送交易应答结果;
步骤12,用户前置模块向用户A发交易应答结果;
至此,流程结束。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并加以实施,并不能以此限制本发明的保护范围,凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围内。