CN117896380A - 用于云考试的高并发信息处理方法、系统和装置 - Google Patents
用于云考试的高并发信息处理方法、系统和装置 Download PDFInfo
- Publication number
- CN117896380A CN117896380A CN202410290158.0A CN202410290158A CN117896380A CN 117896380 A CN117896380 A CN 117896380A CN 202410290158 A CN202410290158 A CN 202410290158A CN 117896380 A CN117896380 A CN 117896380A
- Authority
- CN
- China
- Prior art keywords
- preset
- submitting
- target
- message
- information processing
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 38
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000000034 method Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 18
- 230000004044 response Effects 0.000 abstract description 8
- 230000000903 blocking effect Effects 0.000 abstract description 5
- 238000012423 maintenance Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种用于云考试的高并发信息处理方法、系统和装置,通过数据分片技术和海量数据的存储和高性能访问,解决了相关技术中现有的考试系统容易产生较大的并发数据处理的压力,容易出现请求阻塞,响应不及时,严重的会使服务器崩溃等问题的技术问题,基于分布式处理技术的应用,降低数据并发处理的压力,提高考试系统的稳定性,同时可以降低考试系统的维护成本。
Description
技术领域
本申请属于计算机技术领域,具体而言,涉及一种用于云考试的高并发信息处理方法、系统和装置。
背景技术
随着互联网的不断发展,越来越多的考试业务迁移到了线上,极大降低了考试组织成本,而云服务共享模式很好的解决了在线考试系统的建设成本问题,让各类考试业务轻松上云。一般大中型集中性考试业务,要求严谨性、安全性、公平、公正,因此对系统的高并发处理能力和稳定性提出了较高的需求。
相关技术中,随着考试业务往线上迁移,线上考试的考生人数也越来越多,针对需要统一考试的场景下,大量考生同时进行线上的考试,容易对考试系统照成较大的并发数据处理的压力,容易出现请求阻塞,响应不及时,严重的会使服务器崩溃等问题,导致考试业务无法进行,严重影响了考试业务的时效性、安全性和稳定性;同时考试业务具有明显的高峰期和低谷期,直接采用大量服务器支撑高并发会导致大量的资源浪费。学生的考试违纪行为会影响考试的严谨性和公平性。
发明内容
因此,本申请实施例在于提供一种用于云考试的高并发信息处理方法、系统和装置,旨在解决上述现有技术存在的至少一个问题。
为实现上述目的,第一方面,本申请提供了一种用于云考试的高并发信息处理方法,包括:
响应于多个提交答案的提交请求,将每个所述提交请求分发至预设的不同的nginx集群节点,以使得nginx集群节点将提交请求随机代理到多个预设的网关节点中的某一个目标网关;
目标网关根据预先配置的路由规则确定对应的目标应用服务,从所述目标应用服务的注册表中随机抽取一个节点将所述提交请求路由至目标应用服务;
所述目标应用服务从预设缓存中获取所述提交请求对应的目标数据,如果获取到所述目标数据,则将所述目标数据提交至消息队列中得到提交消息;
响应于消息队列消费服务监听到所述提交消息,对所述提交消息进行处理并将提交消息对应的答案保存至预设数据库中。
可选的,还包括:如果未获取到所述目标数据,则将所述提交请求分配到预设的只读数据源访问只读分布式数据库中间件DDM集群的某个节点,DDM集群通过预设的路由规则找到所述提交请求对应的表的分片位置以查询实际存储目标数据的数据库分片节点所在的表,从该表中获取所述目标数据。
可选的,还包括:在获取到所述提交请求对应的目标数据后基于预设校验规则对所述目标数据进行校验。
可选的,还包括:提前预设有多个nginx集群作为接入层,用于实现负载均衡;每个nginx集群预设有多个gateway网关,每个网关配置有多个应用服务的路由规则。
可选的,还包括:通过预设的注册中心将应用服务注册至所述gateway网关得到多个所述应用服务,通过配置中心配置每个应用服务的路由规则得到预设的每个应用服务的路由规则。
可选的,还包括:预设有多个分布式数据库集群,多个分布式数据库集群包括:多个redis数据库作为所述预设缓存,多个DDM数据库作为所述只读数据源,多个备份数据库用于所述预设缓存和只读数据源的数据恢复。
可选的,还包括:通过kafka处理技术异步处理和响应所述消息队列中的提交信息。
第二方面,本申请还提供了一种用于云考试的高并发信息处理系统,包括:
请求处理单元,用于响应于多个提交答案的提交请求,将每个所述提交请求分发至预设的不同的nginx集群节点,以使得nginx集群节点将提交请求随机代理到多个预设的网关节点中的某一个目标网关;
应用服务确定单元,用于目标网关根据预先配置的路由规则确定对应的目标应用服务,从所述目标应用服务的注册表中随机抽取一个节点将所述提交请求路由至目标应用服务;
数据获取单元,用于所述目标应用服务从预设缓存中获取所述提交请求对应的目标数据,如果获取到所述目标数据,则将所述目标数据提交至消息队列中得到提交消息;
消息处理单元,用于响应于消息队列消费服务监听到所述提交消息,对所述提交消息进行处理并将提交消息对应的答案保存至预设数据库中。
第三方面,本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述用于云考试的高并发信息处理方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述用于云考试的高并发信息处理方法的步骤。
本申请实施例提供的一种用于云考试的高并发信息处理方法、系统和装置,通过响应于多个提交答案的提交请求,将每个所述提交请求分发至预设的不同的nginx集群节点,以使得nginx集群节点将提交请求随机代理到多个预设的网关节点中的某一个目标网关;目标网关根据预先配置的路由规则确定对应的目标应用服务,从所述目标应用服务的注册表中随机抽取一个节点将所述提交请求路由至目标应用服务;所述目标应用服务从预设缓存中获取所述提交请求对应的目标数据,如果获取到所述目标数据,则将所述目标数据提交至消息队列中得到提交消息;响应于消息队列消费服务监听到所述提交消息,对所述提交消息进行处理并将提交消息对应的答案保存至预设数据库中。解决了相关技术中现有的考试系统容易产生较大的并发数据处理的压力,容易出现请求阻塞,响应不及时,严重的会使服务器崩溃等问题的技术问题,基于分布式处理技术的应用,降低数据并发处理的压力,提高考试系统的稳定性,同时可以降低考试系统的维护成本。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的用于云考试的高并发信息处理方法的实现流程;
图2为本申请实施例提供的用于云考试的高并发信息处理方法的整体架构的设计图;
图3为本申请实施例提供的用于云考试的高并发信息处理方法的系统架构的示意图;
图4为本申请实施例提供的用于云考试的高并发信息处理方法的分片数据库的设计和处理流程示意图;
图5为本申请实施例提供的用于云考试的高并发信息处理系统的主要模块示意图;
图6为本申请实施例提供的可以应用于其中的示例性系统架构图;
图7为适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本申请实施例提供的一种用于云考试的高并发信息处理方法的实现流程,为了便于说明,仅示出与本申请实施例相关的部分,详述如下:
一种用于云考试的高并发信息处理方法,包括以下步骤:
S101:响应于多个提交答案的提交请求,将每个所述提交请求分发至预设的不同的nginx集群节点,以使得nginx集群节点将提交请求随机代理到多个预设的网关节点中的某一个目标网关;
S102:目标网关根据预先配置的路由规则确定对应的目标应用服务,从所述目标应用服务的注册表中随机抽取一个节点将所述提交请求路由至目标应用服务;
S103:所述目标应用服务从预设缓存中获取所述提交请求对应的目标数据,如果获取到所述目标数据,则将所述目标数据提交至消息队列中得到提交消息;
S104:响应于消息队列消费服务监听到所述提交消息,对所述提交消息进行处理并将提交消息对应的答案保存至预设数据库中。
在步骤S101中,响应于多个提交答案的提交请求,将每个所述提交请求分发至预设的不同的nginx集群节点,以使得nginx集群节点将提交请求随机代理到多个预设的网关节点中的某一个目标网关。
需要说明的是,在云考试场景中,同时会有上百万以上的高并发登录、答案提交请求等,本实施例在接收到考生提交答案的提交请求后,将每个提交请求通过预设的分发规则分发至预设的不同的nginx集群节点,nginx集群节点将提交请求随机代理到多个预设的网关节点中的某一个目标网关。由此降低每个服务器的处理压力,提高数据处理的效率,降低数据处理的压力。
在步骤S102中,目标网关根据预先配置的路由规则确定对应的目标应用服务,从所述目标应用服务的注册表中随机抽取一个节点将所述提交请求路由至目标应用服务。每个网关都配置有对应路由规则应用服务,网关在接收到nginx集群节点代理的提交请求后,根据预先配置的路由规则确定对应的目标应用服务,进而网关将提交请求路由至目标应用服务进行数据获取。由此,进一步避免每个服务高并发处理消息,减小每个服务高并发的处理压力。
在步骤S103中,所述目标应用服务从预设缓存中获取所述提交请求对应的目标数据,如果获取到所述目标数据,则将所述目标数据提交至消息队列中得到提交消息。
在这里,每个应用服务预先配置有多个缓存作为主数据库,配置有多个只读的数据库作为数据源数据库,目标应用服务在接收到网关路由的提交请求后,从预设缓存中获取所述提交请求对应的目标数据,如果获取到所述目标数据,则将所述目标数据提交至消息队列中得到提交消息。
进一步的,如果未获取到所述目标数据,则将所述提交请求分配到预设的只读数据源访问只读分布式数据库中间件DDM集群的某个节点,DDM集群通过预设的路由规则找到所述提交请求对应的表的分片位置以查询实际存储目标数据的数据库分片节点所在的表,从该表中获取所述目标数据。
需要说明的是,每个应用服务配置的数据库通过分片式数据库实现,具体的可以选择Redis数据库作为主库进行缓存,可以选择分布式数据库中间件DDM集群作为从库进行只读数据源,通过数据分片技术、文件云存储(OBS)、分布式文件存储(minio)解决海量数据、文件的存储和访问问题。
在步骤S104中,响应于消息队列消费服务监听到所述提交消息,对所述提交消息进行处理并将提交消息对应的答案保存至预设数据库中。在获取到提交请求对应的目标数据后,将目标数据提交到消息队列,通过消息队列技术处理目标数据进行存储到预设的数据库中,完成一个提交答案的提交请求。
进一步的,还包括:在获取到所述提交请求对应的目标数据后基于预设校验规则对所述目标数据进行校验。
在本实施例中,提前预设有多个nginx集群作为接入层,用于实现负载均衡;每个nginx集群预设有多个gateway网关,每个网关配置有多个应用服务的路由规则。通过预设的注册中心将应用服务注册至所述gateway网关得到多个所述应用服务,通过配置中心配置每个应用服务的路由规则得到预设的每个应用服务的路由规则。预设有多个分布式数据库集群,多个分布式数据库集群包括:多个redis数据库作为所述预设缓存,多个DDM数据库作为所述只读数据源,多个备份数据库用于所述预设缓存和只读数据源的数据恢复。通过kafka处理技术异步处理和响应所述消息队列中的提交信息。
示例性的,如图2所示,本申请实施例接入层采用nginx集群实现负载均衡,将流量分发到gateway网关层,网关层再分发到具体的服务。从而达到集群整体的负载均衡效果,发挥出服务集群的整体性能,对于需要支撑高并发的服务模块,可以通过弹性扩容的方式增加其支撑能力,考试高峰期过后也可以缩减服务器数量和配置。
示例性的,如图3所示,本申请实施例通过采用微服务架构,通过注册中心和配置中心(nacos),简单高效的解决服务之间的发现和调用问题,解决配置文件的集中管理问题,简化了集群的管理成本。通过缓存(redis)技术,将热数据进行缓存,降低数据库的访问压力;通消息队列技术(kafka)异步消息处理技术,有效将业务高峰期时的部分业务转移出高峰期处理,增加系统的支撑能力;通过数据分片技术、文件云存储(OBS)、分布式文件存储(minio)解决海量数据、文件的存储和访问问题。
示例性的,如图4所示,为本实施例中ddm(分布式数据库管理中间件)集群的示意图,本申请实施例通过数据库分片技术,通过数据库集群的方式支撑数据库的访问,打破单个数据的性能瓶颈,让数据的存储能力,访问性能不再局限于单个服务器,让数据的存储和性能得到极大的提升。同时本案通过主库—从库—备份异地部署的方式,实现数据库的读写分离和二级备份,提升数据库的读写能力,一旦主库遇到问题,可以将从库切换为主库,并把流量切入到从库,最后再以新的主库恢复从库,恢复原本架构;如果主从都出现问题,还可以以备份的方式恢复数据库;本案通过这些设计和技术,很好的提升了数据库的支撑能力和可靠性。
具体的,在一个具体的实施例中,通过以下步骤实现信息处理:
步骤1:系统在收到高并发大量提交答案请求时,将请求分发到各个nginx节点,由此,分摊了单台nginx的压力,实现ngxin的集群负载能力;
步骤2:每台nginx均配有gateway网关的集群信息,nginx节点在收到请求后,将请求随机代理到某个网关节点,由此,分摊了单台网关的压力,实现网关的集群负载能力;
步骤3:网关从nacos注册中心订阅了微服务中的各个服务,网关在收到请求后,通过配置的路由规则判定路由到那个应用服务,再从该服务的注册表中随机抽取一个节点进行转发,由此,分摊了单台应用服务的压力,实现网关的集群负载能力;
步骤4:应用服务在收到请求后,需要获取数据对请求进行校验,数据先从redis(缓存)中获取,以降低数据库查询压力;如果未找则访问数据库数据源,通过多数据源配置,该请求被分配到只读数据源,以实现读写分离,降低主库压力;访问到只读ddm集群的某个节点,ddm通过路由规则,找到该查询的表发分片位置,查询实际存储目标数据的数据库分片节点所在的表,查询出目标数据;由此,实现数据库集群负载能力,突破单数据库性能瓶颈,大数据量表分片后,分片表的性能也会得到极大提升;
步骤5:应用服务在拿到数据进行完相应的校验并通过后,将请求中的信息提交到kafka(消息队列)中,提交成功后,请求响应成功,请求处理完成,由此,解决直接写入/更新数据库,由于写操作极耗性能,大并发下数据库无法支撑的问题;
步骤6:消息队列消费服务监听到有“提交答案”消息后,对该消息进行处理,并最终将答案保存到数据库,在这里,可以通过消费服务节点数,消费线程数,控制消费的速度,减少数据库压力。
由此,本申请实施例提供的一种用于云考试的高并发信息处理方法,通过数据分片技术和海量数据的存储和高性能访问,解决了相关技术中现有的考试系统容易产生较大的并发数据处理的压力,容易出现请求阻塞,响应不及时,严重的会使服务器崩溃等问题的技术问题,基于分布式处理技术的应用,降低数据并发处理的压力,提高考试系统的稳定性,同时可以降低考试系统的维护成本。
图5示出了本申请实施例提供的用于云考试的高并发信息处理系统的主要模块示意图,为了便于说明,仅示出与本申请实施例相关的部分,详述如下:
一种用于云考试的高并发信息处理系统200,包括:
请求处理单元201,用于响应于多个提交答案的提交请求,将每个所述提交请求分发至预设的不同的nginx集群节点,以使得nginx集群节点将提交请求随机代理到多个预设的网关节点中的某一个目标网关;
应用服务确定单元202,用于目标网关根据预先配置的路由规则确定对应的目标应用服务,从所述目标应用服务的注册表中随机抽取一个节点将所述提交请求路由至目标应用服务;
数据获取单元203,用于所述目标应用服务从预设缓存中获取所述提交请求对应的目标数据,如果获取到所述目标数据,则将所述目标数据提交至消息队列中得到提交消息;
消息处理单元204,用于响应于消息队列消费服务监听到所述提交消息,对所述提交消息进行处理并将提交消息对应的答案保存至预设数据库中。
需要说明的是,本申请实施例的用于云考试的高并发信息处理系统为对应于本申请实施例的用于云考试的高并发信息处理方法进行配置,用于云考试的高并发信息处理系统的其它实施例对应于用于云考试的高并发信息处理方法的所有实施例,这里不再赘述。
由此,本申请实施例提供的用于云考试的高并发信息处理系统,通过数据分片技术和海量数据的存储和高性能访问,解决了相关技术中现有的考试系统容易产生较大的并发数据处理的压力,容易出现请求阻塞,响应不及时,严重的会使服务器崩溃等问题的技术问题,基于分布式处理技术的应用,降低数据并发处理的压力,提高考试系统的稳定性,同时可以降低考试系统的维护成本。
本申请实施例还提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本申请实施例的用于云考试的高并发信息处理方法。
本申请实施例还提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现本申请实施例的用于云考试的高并发信息处理方法。
图6示出了可以应用本申请实施例的用于云考试的高并发信息处理方法或装置的示例性系统架构300。
如图6所示,系统架构300可以包括终端设备301、302、303,网络304和服务器305。网络304用以在终端设备301、302、303和服务器305之间提供通信链路的介质。网络304可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备301、302、303通过网络304与服务器305交互,以接收或发送消息等。终端设备301、302、303上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备301、302、303可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器305可以是提供各种服务的服务器,例如对用户利用终端设备301、302、303所发送的往来消息提供支持的后台管理服务器。后台管理服务器可以在接收到终端设备请求后进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本申请实施例所提供的用于云考试的高并发信息处理方法一般由终端设备301、302、303或服务器305执行,相应地,用于云考试的高并发信息处理系统一般设置于终端设备301、302、303或服务器305中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统400的结构示意图。图7示出的计算机系统仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本申请公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括确定模块、提取模块、训练模块和筛选模块 。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,确定模块还可以被描述为“确定候选用户集的模块”。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种用于云考试的高并发信息处理方法,其特征在于,包括:
响应于多个提交答案的提交请求,将每个所述提交请求分发至预设的不同的nginx集群节点,以使得nginx集群节点将提交请求随机代理到多个预设的网关节点中的某一个目标网关;
目标网关根据预先配置的路由规则确定对应的目标应用服务,从所述目标应用服务的注册表中随机抽取一个节点将所述提交请求路由至目标应用服务;
所述目标应用服务从预设缓存中获取所述提交请求对应的目标数据,如果获取到所述目标数据,则将所述目标数据提交至消息队列中得到提交消息;
响应于消息队列消费服务监听到所述提交消息,对所述提交消息进行处理并将提交消息对应的答案保存至预设数据库中。
2.根据权利要求1所述的用于云考试的高并发信息处理方法,其特征在于,还包括:如果未获取到所述目标数据,则将所述提交请求分配到预设的只读数据源访问只读分布式数据库中间件DDM集群的某个节点,DDM集群通过预设的路由规则找到所述提交请求对应的表的分片位置以查询实际存储目标数据的数据库分片节点所在的表,从该表中获取所述目标数据。
3.根据权利要求2所述的用于云考试的高并发信息处理方法,其特征在于,还包括:在获取到所述提交请求对应的目标数据后基于预设校验规则对所述目标数据进行校验。
4.根据权利要求2所述的用于云考试的高并发信息处理方法,其特征在于,还包括:提前预设有多个nginx集群作为接入层,用于实现负载均衡;每个nginx集群预设有多个gateway网关,每个网关配置有多个应用服务的路由规则。
5.根据权利要求4所述的用于云考试的高并发信息处理方法,其特征在于,还包括:通过预设的注册中心将应用服务注册至所述gateway网关得到多个所述应用服务,通过配置中心配置每个应用服务的路由规则得到预设的每个应用服务的路由规则。
6.根据权利要求4所述的用于云考试的高并发信息处理方法,其特征在于,还包括:预设有多个分布式数据库集群,多个分布式数据库集群包括:多个redis数据库作为所述预设缓存,多个DDM数据库作为所述只读数据源,多个备份数据库用于所述预设缓存和只读数据源的数据恢复。
7.根据权利要求1所述的用于云考试的高并发信息处理方法,其特征在于,还包括:通过kafka处理技术异步处理和响应所述消息队列中的提交信息。
8.一种用于云考试的高并发信息处理系统,其特征在于,包括:
请求处理单元,用于响应于多个提交答案的提交请求,将每个所述提交请求分发至预设的不同的nginx集群节点,以使得nginx集群节点将提交请求随机代理到多个预设的网关节点中的某一个目标网关;
应用服务确定单元,用于目标网关根据预先配置的路由规则确定对应的目标应用服务,从所述目标应用服务的注册表中随机抽取一个节点将所述提交请求路由至目标应用服务;
数据获取单元,用于所述目标应用服务从预设缓存中获取所述提交请求对应的目标数据,如果获取到所述目标数据,则将所述目标数据提交至消息队列中得到提交消息;
消息处理单元,用于响应于消息队列消费服务监听到所述提交消息,对所述提交消息进行处理并将提交消息对应的答案保存至预设数据库中。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至7中任一项所述的用于云考试的高并发信息处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至7中任一项所述的用于云考试的高并发信息处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410290158.0A CN117896380B (zh) | 2024-03-14 | 2024-03-14 | 用于云考试的高并发信息处理方法、系统和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410290158.0A CN117896380B (zh) | 2024-03-14 | 2024-03-14 | 用于云考试的高并发信息处理方法、系统和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117896380A true CN117896380A (zh) | 2024-04-16 |
CN117896380B CN117896380B (zh) | 2024-05-31 |
Family
ID=90644388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410290158.0A Active CN117896380B (zh) | 2024-03-14 | 2024-03-14 | 用于云考试的高并发信息处理方法、系统和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117896380B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150317907A1 (en) * | 2014-04-30 | 2015-11-05 | Way On Ho | Computer-aided integrated examination and assignment system and method |
US20180191815A1 (en) * | 2016-12-29 | 2018-07-05 | UBTECH Robotics Corp. | Data transmission method and device, distributed storage system |
WO2020211222A1 (zh) * | 2019-04-15 | 2020-10-22 | 厦门市美亚柏科信息股份有限公司 | 基于数据服务平台提供微服务的方法、装置、存储介质 |
CN113691611A (zh) * | 2021-08-23 | 2021-11-23 | 湖南大学 | 一种区块链的分布式高并发事务处理方法及系统、设备、存储介质 |
WO2022002209A1 (zh) * | 2020-07-01 | 2022-01-06 | 中兴通讯股份有限公司 | 数据传输方法和代理服务器、存储介质及电子装置 |
WO2022111733A1 (zh) * | 2020-11-30 | 2022-06-02 | 百果园技术(新加坡)有限公司 | 消息处理方法、装置及电子设备 |
-
2024
- 2024-03-14 CN CN202410290158.0A patent/CN117896380B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150317907A1 (en) * | 2014-04-30 | 2015-11-05 | Way On Ho | Computer-aided integrated examination and assignment system and method |
US20180191815A1 (en) * | 2016-12-29 | 2018-07-05 | UBTECH Robotics Corp. | Data transmission method and device, distributed storage system |
WO2020211222A1 (zh) * | 2019-04-15 | 2020-10-22 | 厦门市美亚柏科信息股份有限公司 | 基于数据服务平台提供微服务的方法、装置、存储介质 |
WO2022002209A1 (zh) * | 2020-07-01 | 2022-01-06 | 中兴通讯股份有限公司 | 数据传输方法和代理服务器、存储介质及电子装置 |
WO2022111733A1 (zh) * | 2020-11-30 | 2022-06-02 | 百果园技术(新加坡)有限公司 | 消息处理方法、装置及电子设备 |
CN113691611A (zh) * | 2021-08-23 | 2021-11-23 | 湖南大学 | 一种区块链的分布式高并发事务处理方法及系统、设备、存储介质 |
Non-Patent Citations (5)
Title |
---|
孙尚魁: "基于微服务架构的证券期货行业数据模型管理平台的设计和实现", 中国优秀硕士学位论文全文数据库 (信息科技辑), 15 April 2021 (2021-04-15), pages 138 - 159 * |
徐晓鹤;: "基于B/S的网上考试系统高并发性能优化研究与应用", 山东工业技术, no. 07, 15 April 2015 (2015-04-15), pages 143 * |
段春梅;: "云计算分布式缓存技术在海量数据处理平台中的应用", 智能计算机与应用, no. 01, 28 February 2016 (2016-02-28), pages 17 - 19 * |
蒲晓阳;: "基于Nginx和Redis高并发web服务负载均衡的研究", 内江科技, no. 01, 25 January 2016 (2016-01-25), pages 36 * |
高豪: "面向高并发的新高考大数据服务平台的设计与实现", 中国优秀硕士学位论文全文数据库 (社会科学Ⅱ辑), 15 February 2023 (2023-02-15), pages 130 - 275 * |
Also Published As
Publication number | Publication date |
---|---|
CN117896380B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107590001B (zh) | 负载均衡方法及装置、存储介质、电子设备 | |
CN110581890B (zh) | 一种服务请求的路由方法和装置 | |
CN109783151B (zh) | 规则变更的方法和装置 | |
CN109245908B (zh) | 一种主从集群切换的方法和装置 | |
CN110837423B (zh) | 一种自动导引运输车数据采集的方法和装置 | |
CN112199427A (zh) | 一种数据处理方法和系统 | |
CN108712457A (zh) | 基于Nginx反向代理的后端服务器动态负载调整方法及装置 | |
CN111338893A (zh) | 进程日志处理方法、装置、计算机设备以及存储介质 | |
CN111597033A (zh) | 一种任务调度方法和装置 | |
CN111338834B (zh) | 数据存储方法和装置 | |
CN116303608A (zh) | 一种应用服务的数据处理方法和装置 | |
CN113760638A (zh) | 一种基于kubernetes集群的日志服务方法和装置 | |
CN112838935A (zh) | 一种电子数据交换方法和系统 | |
CN104852964A (zh) | 一种多功能服务器调度方法 | |
CN112596897A (zh) | 一种用于多租户隔离的方法及系统 | |
CN117896380B (zh) | 用于云考试的高并发信息处理方法、系统和装置 | |
CN111444148A (zh) | 基于MapReduce的数据传输方法和装置 | |
CN111984686A (zh) | 一种数据处理的方法和装置 | |
CN108696549B (zh) | 负载均衡方法、装置和系统 | |
CN113472638B (zh) | 边缘网关控制方法及系统、装置、电子设备、存储介质 | |
CN115454666A (zh) | 消息队列集群间的数据同步方法和装置 | |
CN112559001B (zh) | 更新应用的方法和装置 | |
CN112272228A (zh) | 分布式注册中心架构 | |
CN111858260A (zh) | 信息显示方法、装置、设备及介质 | |
CN111541667A (zh) | 一种系统间消息通信的方法、设备、存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |