CN115525449A - 微服务数据传输***、方法及存储介质 - Google Patents
微服务数据传输***、方法及存储介质 Download PDFInfo
- Publication number
- CN115525449A CN115525449A CN202211177328.1A CN202211177328A CN115525449A CN 115525449 A CN115525449 A CN 115525449A CN 202211177328 A CN202211177328 A CN 202211177328A CN 115525449 A CN115525449 A CN 115525449A
- Authority
- CN
- China
- Prior art keywords
- data
- point
- integral
- time period
- service
- 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
- 238000000034 method Methods 0.000 title claims abstract description 103
- 230000005540 biological transmission Effects 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims description 74
- 230000008569 process Effects 0.000 claims description 49
- 230000010354 integration Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000002354 daily effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0208—Trade or exchange of goods or services in exchange for incentives or rewards
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Human Resources & Organizations (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Educational Administration (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种微服务数据传输***、方法及存储介质,属于计算机技术领域。所述***包括多个业务服务器、多个积分管理服务器和中间服务器,所述多个业务服务器与所述中间服务器连接,所述多个积分管理服务器与所述中间服务器连接,所述中间服务器配置有数据队列;所述业务服务器,用于将待发送的积分数据写入所述中间服务器的数据队列;所述积分管理服务器,用于从所述数据队列中读取所述积分数据,基于读取的积分数据进行积分管理。该***中积分管理服务器不再被调用,而是主动从中间服务器中读取积分数据,能够有效减轻积分管理服务器的压力,从而减少了积分管理服务器宕机的情况,能够更加准确地进行积分管理。
Description
技术领域
本申请涉及计算机技术领域。特别涉及一种微服务数据传输***、方法及存储介质。
背景技术
微服务是一种新兴的软件架构,通过若干个微服务可以组合得到复杂的应用程序。其中,每个微服务可以看做是一个专注于单一功能的小型功能区块,每个微服务可以由至少一个服务器提供。
由于应用程序中不同微服务之间具有关联关系,因此,提供不同微服务的服务器之间需要进行数据交互。例如,应用程序提供有缴费、在线考试、每日答题等功能,且用户完成缴费、在线考试或每日答题之后,可以获得相应的积分。因此,提供缴费微服务、在线考试微服务或每日答题微服务的业务服务器会基于用户的缴费、参与在线考试或参与每日答题的行为,调用提供积分微服务的积分管理服务器,使积分管理服务器为用户添加积分。
但是,积分管理服务器作为被调用方会被高频调用,导致积分管理服务器的压力加大,积分管理服务器常常因压力过载而出现宕机的情况,从而导致积分管理服务器为用户添加积分失败,积分管理的准确性较差。
发明内容
本申请实施例提供了一种微服务数据传输***、方法及存储介质,能够减少积分管理服务器宕机的情况,能够更加准确地进行积分管理。具体技术方案如下:
一方面,本申请实施例提供了一种微服务数据传输***,所述***包括多个业务服务器、多个积分管理服务器和中间服务器,所述多个业务服务器与所述中间服务器连接,所述多个积分管理服务器与所述中间服务器连接,所述中间服务器配置有数据队列;
所述业务服务器,用于将待发送的积分数据写入所述中间服务器的数据队列;
所述积分管理服务器,用于从所述数据队列中读取所述积分数据,基于读取的积分数据进行积分管理。
在一种可能的实现方式中,所述积分管理服务器,用于从所述数据队列中读取第一积分数据之后,将所述第一积分数据存储到积分数据库中,并将所述积分数据库中的所述第一积分数据标记为未处理,对所述第一积分数据进行处理,处理完成后将所述积分数据库中的所述第一积分数据的标记修改为已处理,所述第一积分数据为所述数据队列中的任一积分数据。
在一种可能的实现方式中,所述积分管理服务器,还用于对所述积分数据库进行查询,在从所述积分数据库中查询到被标记为未处理且存储时长超过第一时长的第二积分数据时,对所述第二积分数据进行处理,处理完成后将所述积分数据库中的所述第二积分数据的标记修改为已处理。
在一种可能的实现方式中,所述积分管理服务器,还用于每隔第一时长,确定第一目标时间段,对所述积分数据库中所述第一目标时间段内存储的积分数据进行查询,在查询到标记为未处理的第二积分数据时,对所述第二积分数据进行处理,所述第一目标时间段的终止时间点为当前时间点前所述第一时长的时间点,所述第一目标时间段的起始时间点为所述终止时间点前所述第一时长的时间点。
在一种可能的实现方式中,所述积分管理服务器,还用于将所述第一积分数据写入内存中;
所述积分管理服务器,还用于启动处理线程,通过所述处理线程对所述内存中的所述第一积分数据进行处理;
所述积分管理服务器,还用于在处理完所述第一积分数据之后,将所述内存中的所述第一积分数据删除。
在一种可能的实现方式中,所述多个积分管理服务器,用于对所述数据队列进行监听;
最先监听到最新写入的第三积分数据的积分管理服务器,用于从所述数据队列中读取所述第三积分数据。
在一种可能的实现方式中,所述业务服务器,还用于将第四积分数据写入所述数据队列之后,将所述数据队列中的所述第四积分数据标记为未处理,所述第四积分数据为任一待发送的积分数据;
最先监听到标记为未处理的所述第四积分数据的积分管理服务器,用于将所述数据队列中监听到的第四积分数据标记为处理中,以使其他积分管理服务器不再读取所述第四积分数据;
所述积分管理服务器,还用于从所述数据队列中读取并处理监听到的所述第四积分数据,读取并处理完成后将所述数据队列中的所述第四积分数据的标记修改为已处理。
在一种可能的实现方式中,所述中间服务器,用于对所述数据队列进行查询,在从所述数据队列中查询到被标记为处理中且存储时长超过第二时长的第五积分数据时,向任一积分管理服务器发送数据处理请求,所述数据处理请求携带所述第五积分数据,所述数据处理请求用于请求所述任一积分管理服务器处理所述第五积分数据。
在一种可能的实现方式中,所述中间服务器,用于每隔第一时长,确定第二目标时间段,对所述数据队列中所述第二目标时间段内写入的积分数据进行查询,在查询到标记为处理中的第五积分数据时,向任一积分管理服务器发送所述第五积分数据,所述第二目标时间段的终止时间点为当前时间点前所述第二时长的时间点,所述第一目标时间段的起始时间点为所述终止时间点前所述第一时长的时间点,所述第二时长不小于所述第一时长的两倍。
在一种可能的实现方式中,所述业务服务器,还用于将第四积分数据存储到业务数据库中,并将所述业务数据库中的所述第四积分数据标记为未发送,所述第四积分数据为任一待发送的积分数据;
所述业务服务器,还用于在将所述第四积分数据写入所述数据队列完成之后,将所述业务数据库中的所述第四积分数据的标记修改为已发送。
在一种可能的实现方式中,所述业务服务器,还用于对所述业务数据库进行查询,在从所述业务数据库中查询到被标记为未发送且存储时长超过第三时长的第六积分数据时,将所述第六积分数据写入所述数据队列,写入完成后将所述业务数据库中的所述第六积分数据的标记修改为已发送。
在一种可能的实现方式中,所述业务服务器,还用于每隔所述第三时长,确定第三目标时间段,对所述业务数据库中第三目标时间段内存储的积分数据进行查询,在查询到标记为未发送的第六积分数据时,将所述第六积分数据写入所述数据队列,所述第三目标时间段的终止时间点为当前时间点前所述第三时长的时间点,所述第三目标时间段的起始时间点为所述终止时间点前所述第三时长的时间点。
另一方面,本申请实施例提供了一种微服务数据传输方法,由微服务数据传输***执行,所述微服务数据传输***包括多个业务服务器、多个积分管理服务器和中间服务器,所述多个业务服务器与所述中间服务器连接,所述多个积分管理服务器与所述中间服务器连接,所述中间服务器配置有数据队列;所述方法包括:
所述业务服务器将待发送的积分数据写入所述中间服务器的数据队列;
所述积分管理服务器从所述数据队列中读取所述积分数据,基于读取的积分数据进行积分管理。
在一种可能的实现方式中,所述基于读取的积分数据进行积分管理,包括:
所述积分管理服务器从所述数据队列中读取第一积分数据之后,将所述第一积分数据存储到积分数据库中,并将所述积分数据库中的所述第一积分数据标记为未处理,对所述第一积分数据进行处理,处理完成后将所述积分数据库中的所述第一积分数据的标记修改为已处理,所述第一积分数据为所述数据队列中的任一积分数据。
在一种可能的实现方式中,所述方法还包括:
所述积分管理服务器对所述积分数据库进行查询,在从所述积分数据库中查询到被标记为未处理且存储时长超过第一时长的第二积分数据时,对所述第二积分数据进行处理,处理完成后将所述积分数据库中的所述第二积分数据的标记修改为已处理。
在一种可能的实现方式中,所述积分管理服务器对所述积分数据库进行查询,在从所述积分数据库中查询到被标记为未处理且存储时长超过第一时长的第二积分数据时,对所述第二积分数据进行处理,包括:
所述积分管理服务器每隔第一时长,确定第一目标时间段,对所述积分数据库中所述第一目标时间段内存储的积分数据进行查询,在查询到标记为未处理的第二积分数据时,对所述第二积分数据进行处理,所述第一目标时间段的终止时间点为当前时间点前所述第一时长的时间点,所述第一目标时间段的起始时间点为所述终止时间点前所述第一时长的时间点。
在一种可能的实现方式中,所述对所述第一积分数据进行处理,包括:
所述积分管理服务器将所述第一积分数据写入内存中;
所述积分管理服务器启动处理线程,通过所述处理线程对所述内存中的所述第一积分数据进行处理;
所述积分管理服务器在处理完所述第一积分数据之后,将所述内存中的所述第一积分数据删除。
在一种可能的实现方式中,所述积分管理服务器从所述数据队列中读取积分数据,包括:
所述多个积分管理服务器对所述数据队列进行监听;
最先监听到最新写入的第三积分数据的积分管理服务器从所述数据队列中读取所述第三积分数据。
在一种可能的实现方式中,所述方法还包括:
所述业务服务器将第四积分数据写入所述数据队列之后,将所述数据队列中的所述第四积分数据标记为未处理,所述第四积分数据为任一待发送的积分数据;
最先监听到标记为未处理的所述第四积分数据的积分管理服务器将所述数据队列中监听到的第四积分数据标记为处理中,以使其他积分管理服务器不再读取所述第四积分数据;
所述积分管理服务器从所述数据队列中读取并处理监听到的所述第四积分数据,读取并处理完成后将所述数据队列中的所述第四积分数据的标记修改为已处理。
在一种可能的实现方式中,所述方法还包括:
所述中间服务器对所述数据队列进行查询,在从所述数据队列中查询到被标记为处理中且存储时长超过第二时长的第五积分数据时,向任一积分管理服务器发送数据处理请求,所述数据处理请求携带所述第五积分数据,所述数据处理请求用于请求所述任一积分管理服务器处理所述第五积分数据。
在一种可能的实现方式中,所述中间服务器对所述数据队列进行查询,在从所述数据队列中查询到被标记为处理中且存储时长超过第二时长的第五积分数据时,向任一积分管理服务器发送数据处理请求,包括:
所述中间服务器每隔第一时长,确定第二目标时间段,对所述数据队列中所述第二目标时间段内写入的积分数据进行查询,在查询到标记为处理中的第五积分数据时,向任一积分管理服务器发送所述第五积分数据,所述第二目标时间段的终止时间点为当前时间点前所述第二时长的时间点,所述第一目标时间段的起始时间点为所述终止时间点前所述第一时长的时间点,所述第二时长不小于所述第一时长的两倍。
在一种可能的实现方式中,所述方法还包括:
所述业务服务器将第四积分数据存储到业务数据库中,并将所述业务数据库中的所述第四积分数据标记为未发送,所述第四积分数据为任一待发送的积分数据;
所述业务服务器在将所述第四积分数据写入所述数据队列完成之后,将所述业务数据库中的所述第四积分数据的标记修改为已发送。
在一种可能的实现方式中,所述方法还包括:
所述业务服务器对所述业务数据库进行查询,在从所述业务数据库中查询到被标记为未发送且存储时长超过第三时长的第六积分数据时,将所述第六积分数据写入所述数据队列,写入完成后将所述业务数据库中的所述第六积分数据的标记修改为已发送。
在一种可能的实现方式中,所述业务服务器对所述业务数据库进行查询,在从所述业务数据库中查询到被标记为未发送且存储时长超过第三时长的第六积分数据时,将所述第六积分数据写入所述数据队列,包括:
所述业务服务器每隔所述第三时长,确定第三目标时间段,对所述业务数据库中第三目标时间段内存储的积分数据进行查询,在查询到标记为未发送的第六积分数据时,将所述第六积分数据写入所述数据队列,所述第三目标时间段的终止时间点为当前时间点前所述第三时长的时间点,所述第三目标时间段的起始时间点为所述终止时间点前所述第三时长的时间点。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现上述可能实现方式中所述的微服务数据传输方法。
另一方面,提供了一种计算机程序产品,所述计算机程序产品中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现上述可能实现方式中所述的微服务数据传输方法。
本申请实施例提供了一种微服务数据传输***、方法及存储介质,在积分管理服务器和业务服务器之间设置了中间服务器,积分管理过程中积分管理服务器不再被调用,而是主动从中间服务器中读取积分数据,能够有效减轻积分管理服务器的压力,从而减少了积分管理服务器宕机的情况,能够更加准确地进行积分管理。
附图说明
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种微服务数据传输***的结构示意图;
图3是本申请实施例提供的一种微服务数据传输方法的流程图;
图4是本申请实施例提供的一种服务器的结构框图。
具体实施方式
为使本申请的技术方案和优点更加清楚,下面对本申请实施方式作进一步地详细描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任意变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的业务数据、积分数据等都是在充分授权的情况下获取的。
本申请实施例提供的微服务数据传输方法由微服务数据传输***执行。在一种可能的实现方式中,该***包括多个业务服务器、多个积分管理服务器和中间服务器。
图1是本申请实施例提供的一种实施环境的示意图,如图1所示,该实施环境包括多个终端101、多个业务服务器102、中间服务器103和多个积分管理服务器104。其中,终端101与业务服务器102和积分管理服务器104之间通过无线或者有线网络连接。业务服务器102和积分管理服务器104与中间服务器103之间通过无线或者有线网络连接。
需要说明的是,中间服务器103可以是一个,也可以是多个,本申请实施例对中间服务器103的数量不做限定。
在一些实施例中,终端101上安装有目标应用程序。该多个业务服务器102、中间服务器103和多个积分管理服务器104是用于为该目标应用程序提供服务的服务器。
在一些实施例中,该目标应用程序提供有多个功能,该多个业务服务器102用于提供实现该多个功能的微服务,该多个积分管理服务器104用于管理用户的积分。例如,该目标应用程序提供有缴费功能和每日答题功能,该多个业务服务器102包括用于提供缴费微服务的至少一个业务服务器102和用于提供每日答题微服务的至少一个业务服务器102。业务服务器102不仅可以完成缴费业务和每日答题业务,还可以在完成缴费业务和每日答题业务之后,指示积分管理服务器104基于已完成的业务为用户添加积分。
以下对本申请实施例的应用场景进行示例性说明。本申请实施例提供的方法可以应用于微服务场景中。
例如,目标应用程序提供有多种业务,例如,缴费、线上考试、每日答题、月月学活动、专题学活动等,在完成相应的业务之后,用户可以获取积分,积分可以作为兑换物品或者抽奖的介质,因此,需要准确地管理用户的积分。若采用本申请实施例提供的微服务数据传输***,那么业务服务器在处理完相应的业务之后,可以将相应的积分数据发送给积分管理服务器,由积分管理服务器对积分数据进行处理,减少了积分数据丢失的情况,从而能够更加准确地管理用户的积分。
图2是本申请实施例提供的一种微服务数据传输***的结构示意图。该***包括多个业务服务器、多个积分管理服务器和中间服务器,多个业务服务器与中间服务器连接,该多个积分管理服务器与中间服务器连接。其中,中间服务器配置有数据队列。
该业务服务器,用于将待发送的积分数据写入中间服务器的数据队列。
该积分管理服务器,用于从数据队列中读取积分数据,基于读取的积分数据进行积分管理。
本申请实施例中,业务服务器不再调用积分管理服务器,而是将积分数据写入中间服务器中,由积分管理服务器主动从中间服务器中读取积分数据,处理积分数据,这样,能够减小积分管理服务器的压力,从而减少积分管理服务器宕机的情况,减少了由宕机导致的积分数据丢失,从而能够更加准确地进行积分管理。
在一些实施例中,多个业务服务器用于执行目标应用程序提供的业务,该多个业务服务器可以执行同一业务,也可以执行不同业务,本申请实施例对此不做限定。例如,目标应用程序提供有缴费、每日答题和线上考试业务,多个业务服务器包括10个业务服务器,其中,3个业务服务器用于执行缴费业务,3个业务服务器用于执行每日答题业务,剩余的4个业务服务器用于执行线上考试业务。
业务服务器在执行完相应的业务之后,可以基于相关的业务数据生成积分数据,生成的该积分数据需要发送到积分管理服务器,以使该积分管理服务器基于该积分数据进行积分管理。因此,业务服务器生成的积分数据就是待发送的积分数据。例如,业务服务器在完成缴费业务之后,基于用户的缴费金额生成积分数据,其中,用户的缴费金额越高,获得的积分越高。
在一些实施例中,该积分数据包括用户标识和积分分数,这样,积分管理服务器在接收到积分数据之后,就可以基于该用户标识和该积分分数,将相应的积分分数添加到相应的用户账号中了。可选地,目标应用程序提供有不同类型的积分,该积分数据还包括积分类型。这样,积分管理服务器在接收到积分数据之后,就可以基于该用户标识、积分分数和积分类型,为相应用户账号的相应类型积分添加相应积分分数了。
在一些实施例中,数据队列可以是Message Queue(消息队列)。将要传输的数据放在队列中,可以用队列的机制来实现数据的传输,也即是,生产者(业务服务器)产生数据并将数据放入队列,然后由消费者(积分管理服务器)读取并处理。由于数据队列是一个先进先出的数据单元,因此,业务服务器将积分数据写入数据队列中,积分管理服务器从数据队列中读取积分数据时,会先读取先写入的积分数据,保证了积分数据的顺序处理。
在一种可能的实现方式中,积分管理服务器,用于从数据队列中读取第一积分数据之后,将该第一积分数据存储到积分数据库中,并将积分数据库中的第一积分数据标记为未处理,对该第一积分数据进行处理,处理完成后将该积分数据库中的第一积分数据的标记修改为已处理,该第一积分数据为数据队列中的任一积分数据。
由于积分管理服务器读取积分数据之后,将积分数据存储到积分数据库了,相当于对积分数据进行了备份,这样,即便积分管理服务器出现了宕机的情况,也可以避免积分数据丢失。
并且,积分管理服务器将积分数据存储到积分数据库之后,还会记录该积分数据的状态,从而可清楚地获悉哪些积分数据已经处理,哪些积分数据还未处理,能够更加准确地进行积分管理。
在一些实施例中,多个积分管理服务器共用一个积分数据库。在另一些实施例中,一个积分管理服务器对应一个积分数据库,积分管理服务器将读取的积分数据存储到积分数据库,就是将该积分数据存储到该积分管理服务器对应的业务数据库。其中,与该积分管理服务器对应的积分数据库可以是与该积分管理服务器连接的业务数据库,也可以是设置于积分管理服务器中的积分数据库,本申请实施例对此不做限定。
在一些实施例中,该积分数据库为关系型数据库(oracle)。在关系型数据库中不仅可以存储数据,还可以存储数据的状态标识。将积分数据库中的积分数据标记为未处理,可以将该积分数据的状态标识设置为未处理,将积分数据的标记修改为已处理,可以将该积分数据的状态标识修改为已处理。
该积分管理服务器,还用于对该积分数据库进行查询,在从积分数据库中查询到被标记为未处理且存储时长超过第一时长的第二积分数据时,对该第二积分数据进行处理,处理完成后将该积分数据库中的第二积分数据的标记修改为已处理。
其中,第一时长为任一时长,例如,第一时长为5分钟、10分钟、30分钟等。可选地,该第一时长为经验值,或者,该第一时长为人为设置的时长,或者,该第一时长为***默认的时长等,本申请实施例对第一时长不做限定。
通常情况下,积分管理服务器每秒可以处理200条积分数据,因此,如果积分数据库中的一条积分数据存储较长时间之后状态标识仍为未处理,则该积分数据可能处理失败了,也可能在处理过程中丢失了等,因此,积分管理服务器从积分数据库中查询到被标记为未处理且存储时长超过第一时长的第二积分数据时,处理该第二积分数据。
在一些实施例中,该积分管理服务器每隔第一时长执行一次对积分数据库的查询工作。在一种可能的实现方式中,该积分管理服务器,还用于每隔第一时长,确定第一目标时间段,对该积分数据库中第一目标时间段内存储的积分数据进行查询,在查询到标记为未处理的第二积分数据时,对该第二积分数据进行处理,该第一目标时间段的终止时间点为当前时间点前第一时长的时间点,该第一目标时间段的起始时间点为终止时间点前第一时长的时间点。
以第一时长为5分钟为例,该积分管理服务器每隔5分钟,对积分数据库中前5至10分钟存储的积分数据进行查询,查询到标记为未处理的积分数据时,重新对该积分数据进行处理,并在处理成功之后将该积分数据的状态标识修改为已处理。
在一些实施例中,为了减少积分数据库的数据量,在对积分数据库进行查询,并将未处理的积分数据重新处理之后,将查询的积分数据删除。以第一时长为5分钟为例,该积分管理服务器每隔5分钟,对积分数据库中前5至10分钟存储的积分数据进行查询,将查询到标记为未处理的积分数据进行处理之后,将前5至10分钟存储的积分数据删除。
另外,本申请实施例还对积分管理服务器处理积分数据的过程进行示例性说明。在一种可能的实现方式中,该积分管理服务器,还用于将该第一积分数据写入内存中。该积分管理服务器,还用于启动处理线程,通过该处理线程对内存中的第一积分数据进行处理。该积分管理服务器,还用于在处理完第一积分数据之后,将内存中的第一积分数据删除。其中,内存是该积分管理服务器本地的内存。
本申请实施例提供的微服务数据传输***,积分管理服务器从数据队列中读取积分数据之后,可以将积分数据存储到积分数据库中,并对积分数据库中的该积分数据进行标记,使得积分管理服务器可以从积分数据库中查询到被标记为未处理且存储时长超过第一时长的积分数据,也即是查询到未成功处理的积分数据,从而再次处理该积分数据,使得积分管理服务器从数据队列中读取的积分数据能够全面地被处理,从而使得积分管理服务器能够更加准确地进行积分管理。
另外,本申请实施例中,多个积分管理服务器均从数据队列中读取积分数据,处理该积分数据,为了避免同一积分数据被不同的积分管理服务器读取并处理,本申请实施例提供了如下实现方式:该多个积分管理服务器,用于对数据队列进行监听,最先监听到最新写入的第三积分数据的积分管理服务器,用于从数据队列中读取该第三积分数据。这样,可以使得一条积分数据被一个积分管理服务器读取并处理,保证了积分管理的准确性。
在一些实施例中,该数据队列中的积分数据也可以标记状态。在一种可能的实现方式中,该业务服务器,还用于将第四积分数据写入数据队列之后,将数据队列中的第四积分数据标记为未处理,该第四积分数据为任一待发送的积分数据;最先监听到标记为未处理的第四积分数据的积分管理服务器,用于将该数据队列中监听到的第四积分数据标记为处理中,以使其他积分管理服务器不再读取该第四积分数据;积分管理服务器,还用于从该数据队列中读取并处理监听到的第四积分数据,读取并处理完后将数据队列中的第四积分数据的标记修改为已处理。
其中,将积分数据标记为未处理,可以是将积分数据的状态标识设置为未处理;将积分数据标记为处理中,可以是将积分数据的状态标识修改为处理中;将积分数据标记为已处理,可以是将积分数据的状态标识修改为已处理。
需要说明的是,如果积分管理服务器在读取积分数据,将读取的积分数据存储到积分数据库的过程中,该积分管理服务器发生了宕机,可能会导致积分数据在积分数据库中存储失败,但是数据队列中该积分数据的状态为处理中,其他积分管理服务器不会读取该积分数据,而该积分管理服务器可能由于已经读取过一次该积分数据了,也不会再次读取该积分数据。此时,由于积分数据库中不存在该积分数据,因此,积分管理服务器查询该积分数据库依然无法实现对该积分数据的处理。而数据队列中的该积分数据的状态为处理中说明该积分数据未被处理,因此,如果该数据队列中一积分数据的状态为处理中且写入该数据队列的时长较长,则说明该数据队列中的积分数据可能在积分管理服务器中丢失了。
因此,在一些实施例中,该中间服务器,用于对数据队列进行查询,在从该数据队列中查询到被标记为处理中且存储时长超过第二时长的第五积分数据时,向任一积分管理服务器发送数据处理请求,该数据处理请求携带第五积分数据,该数据处理请求用于请求该任一积分管理服务器处理该第五积分数据。
其中,第二时长可以是任一时长,例如,该第二时长为5分钟、10分钟、15分钟等,本申请实施例对第二时长不做限定。
在一些实施例中,积分管理服务器会对积分数据库进行查询,在查询到未处理且存储时间较长的积分数据时,会对该积分数据进行处理,处理完成之后,数据队列中的该积分数据就可以被标记为已处理了。因此,中间服务器可以在积分管理服务器查询积分数据库,并将积分数据库中未处理且存储时间较长的积分数据处理之后,再对该数据队列进行查询。
在一种可能的实现方式中,中间服务器,用于每隔第一时长,确定第二目标时间段,对数据队列中第二目标时间段内写入的积分数据进行查询,在查询到标记为处理中的第五积分数据时,向任一积分管理服务器发送该第五积分数据,该第二目标时间段的终止时间点为当前时间点前第二时长的时间点,该第二目标时间段的起始时间点为该终止时间点前第一时长的时间点,该第二时长不小于第一时长的两倍。
例如,第一时长为5分钟,第二时长为10分钟。积分管理服务器每隔5分钟,对前5至10分钟写入的积分数据进行查询,找出未处理的积分数据再次进行处理,处理完成之后,将积分数据库和数据队列中该积分数据标记为已处理。中间服务器每隔5分钟,对前10至15分钟写入的积分数据进行查询,找出未处理的积分数据,将该积分数据发送给任一积分管理服务器进行处理。由于前10至15分钟写入的积分数据是积分管理服务器已经查询并再次处理过的积分数据,且下次不会再查询,因此,可以将该积分数据发送给任一积分管理服务器进行处理。通过积分管理服务器和中间服务器对积分数据进行查询,形成对积分数据的双重保险,避免了积分数据丢失的情况,能够更加准确地进行积分管理。
在一些实施例中,可以在业务服务器、积分管理服务器和中间服务器中设置定时任务,来实现每隔一定时长,对数据库或数据队列进行查询的功能。
在一种可能的实现方式中,业务服务器,还用于将第四积分数据存储到业务数据库中,并将业务数据库中的第四积分数据标记为未发送,该第四积分数据为任一待发送的积分数据。该业务服务器,还用于在将第四积分数据写入数据队列完成之后,将业务数据库中的第四积分数据的标记修改为已发送。
在一些实施例中,多个业务服务器共用一个业务数据库,每个业务服务器均将积分数据写入该业务数据库中。在另一些实施例中,一个业务服务器对应一个业务数据库,业务服务器将待发送的积分数据存储到业务数据库时,是将该积分数据存储到该业务服务器对应的业务数据库。其中,与该业务服务器对应的业务数据库可以是与该业务服务器连接的业务数据库,也可以是设置于业务服务器中的业务数据库,本申请实施例对此不做限定。
在一些实施例中,该业务数据库为关系型数据库(oracle)。在关系型数据库中不仅可以存储数据,还可以存储数据的状态标识。将业务数据库中的积分数据标记为未发送,可以是将该积分数据的状态标识设置为未发送,将积分数据的标记修改为已发送,可以是将该积分数据的状态标识修改为已发送。
本申请实施例中,业务服务器通过将积分数据写入业务数据库中,实现了对积分数据的备份,能够有效避免积分数据丢失,提高积分管理的准确性。并且,业务服务器还在业务数据库中对积分数据进行标记,能够清楚地获悉哪些积分数据已发送,哪些积分数据还未发送,能够更加准确地将积分数据写入中间服务器的数据队列中。
在一种可能的实现方式中,业务服务器,还用于对业务数据库进行查询,在从业务数据库中查询到被标记为未发送且存储时长超过第三时长的第六积分数据时,将第六积分数据写入数据队列,写入完成后将业务数据库中的第六积分数据的标记修改为已发送。
其中,第三时长为任一时长,例如,第三时长为5分钟、10分钟、30分钟等,本申请实施例对第三时长不做限定。通常情况下,业务服务器每秒可以向数据队列写入200条积分数据,因此,如果业务数据库中的一条积分数据存储较长时间之后状态标识仍为未发送,则该积分数据可能在写入数据队列时失败了。因此,业务服务器从业务数据库中查询到被标记为未发送且存储时长超过第三时长的积分数据时,将积分数据再次写入数据队列。
在一些实施例中,该业务服务器每隔第三时长执行一次对业务数据库的查询工作。该业务服务器,还用于每隔第三时长,确定第三目标时间段,对该业务数据库中第三目标时间段内存储的积分数据进行查询,在查询到标记为未发送的第六积分数据时,将该第六积分数据再次写入该数据队列,该第三目标时间段的终止时间点为当前时间点前第三时长的时间点,该第三标时间段的起始时间点为该终止时间点前第三时长的时间点。
以第三时长为5分钟为例,该业务服务器每隔5分钟,对业务数据库中前5至10分钟存储的积分数据进行查询,查询到状态标识为未发送的积分数据时,重新将该积分数据写入数据队列中,并在成功写入之后将该积分数据的状态标识修改为已发送。
在一些实施例中,多个业务服务器共用一个业务数据库时,可以指定任一业务服务器来对业务数据库进行查询,其他业务服务器无需对业务数据库进行查询。
在一些实施例中,为了减少业务数据库的数据量,在对业务数据库进行查询,并将未发送的积分数据重新发送之后,将查询的积分数据删除。也即是,该业务服务器每隔5分钟,对业务数据库中前5至10分钟存储的积分数据进行查询,查询到状态标识为未发送的积分数据时,重新将该积分数据写入数据队列中,并在成功写入之后将该积分数据的状态标识修改为已发送之后,将该前5至10分钟存储的积分数据进行删除。
本申请实施例提供的微服务数据传输***,多个业务服务器可以将积分数据写入中间服务器的数据队列中,多个积分管理服务器就可以从该数据队列中读取积分数据了。业务服务器通过将待发送的积分数据存储到业务数据库中,并对业务数据库中的该积分数据进行标记,使得业务服务器可以从业务数据库中查询到被标记为未发送且存储时长超过第一时长的数据,也即是查询到未成功发送的积分数据,从而再次发送该积分数据,使得中间服务器的数据队列中的积分数据是全面准确的,减少了数据丢失的情况,提高了数据传输的安全性和可靠性,从而积分管理服务器能够从中间服务器中读取到全面准确的积分数据,从而能够更加准确地进行积分管理。
图3是本申请实施例提供的一种微服务数据传输方法的流程图。本申请实施例以执行主体为微服务数据传输***为例进行示例性说明,该微服务数据传输***包括多个业务服务器、多个积分管理服务器和中间服务器,该多个业务服务器与中间服务器连接,该多个积分管理服务器与中间服务器连接;该中间服务器配置有数据队列,该方法包括:
301、业务服务器将待发送的积分数据写入中间服务器的数据队列。
302、积分管理服务器从数据队列中读取积分数据,基于读取的积分数据进行积分管理。
本申请实施例提供的微服务数据传输方法,在积分管理服务器和业务服务器之间设置了中间服务器,积分管理过程中积分管理服务器不再被调用,而是主动从中间服务器中读取积分数据,能够有效减轻积分管理服务器的压力,从而减少了积分管理服务器宕机的情况,能够更加准确地进行积分管理。
在一种可能的实现方式中,该基于读取的积分数据进行积分管理,包括:
该积分管理服务器从该数据队列中读取第一积分数据之后,将该第一积分数据存储到积分数据库中,并将该积分数据库中的该第一积分数据标记为未处理,对该第一积分数据进行处理,处理完成后将该积分数据库中的该第一积分数据的标记修改为已处理,该第一积分数据为该数据队列中的任一积分数据。
在一种可能的实现方式中,该方法还包括:
该积分管理服务器对该积分数据库进行查询,在从该积分数据库中查询到被标记为未处理且存储时长超过第一时长的第二积分数据时,对该第二积分数据进行处理,处理完成后将该积分数据库中的该第二积分数据的标记修改为已处理。
在一种可能的实现方式中,该积分管理服务器对该积分数据库进行查询,在从该积分数据库中查询到被标记为未处理且存储时长超过第一时长的第二积分数据时,对该第二积分数据进行处理,包括:
该积分管理服务器每隔第一时长,确定第一目标时间段,对该积分数据库中该第一目标时间段内存储的积分数据进行查询,在查询到标记为未处理的第二积分数据时,对该第二积分数据进行处理,该第一目标时间段的终止时间点为当前时间点前该第一时长的时间点,该第一目标时间段的起始时间点为该终止时间点前该第一时长的时间点。
在一种可能的实现方式中,该对该第一积分数据进行处理,包括:
该积分管理服务器将该第一积分数据写入内存中;
该积分管理服务器启动处理线程,通过该处理线程对该内存中的该第一积分数据进行处理;
该积分管理服务器在处理完该第一积分数据之后,将该内存中的该第一积分数据删除。
在一种可能的实现方式中,该积分管理服务器从该数据队列中读取积分数据,包括:
该多个积分管理服务器对该数据队列进行监听;
最先监听到最新写入的第三积分数据的积分管理服务器从该数据队列中读取该第三积分数据。
在一种可能的实现方式中,该方法还包括:
该业务服务器将第四积分数据写入该数据队列之后,将该数据队列中的该第四积分数据标记为未处理,该第四积分数据为任一待发送的积分数据;
最先监听到标记为未处理的该第四积分数据的积分管理服务器将该数据队列中监听到的第四积分数据标记为处理中,以使其他积分管理服务器不再读取该第四积分数据;
该积分管理服务器从该数据队列中读取并处理监听到的该第四积分数据,读取并处理完成后将该数据队列中的该第四积分数据的标记修改为已处理。
在一种可能的实现方式中,该方法还包括:
该中间服务器对该数据队列进行查询,在从该数据队列中查询到被标记为处理中且存储时长超过第二时长的第五积分数据时,向任一积分管理服务器发送数据处理请求,该数据处理请求携带该第五积分数据,该数据处理请求用于请求该任一积分管理服务器处理该第五积分数据。
在一种可能的实现方式中,该中间服务器对该数据队列进行查询,在从该数据队列中查询到被标记为处理中且存储时长超过第二时长的第五积分数据时,向任一积分管理服务器发送数据处理请求,包括:
该中间服务器每隔第一时长,确定第二目标时间段,对该数据队列中该第二目标时间段内写入的积分数据进行查询,在查询到标记为处理中的第五积分数据时,向任一积分管理服务器发送该第五积分数据,该第二目标时间段的终止时间点为当前时间点前该第二时长的时间点,该第一目标时间段的起始时间点为该终止时间点前该第一时长的时间点,该第二时长不小于该第一时长的两倍。
在一种可能的实现方式中,该方法还包括:
该业务服务器将第四积分数据存储到业务数据库中,并将该业务数据库中的该第四积分数据标记为未发送,该第四积分数据为任一待发送的积分数据;
该业务服务器在将该第四积分数据写入该数据队列完成之后,将该业务数据库中的该第四积分数据的标记修改为已发送。
在一种可能的实现方式中,该方法还包括:
该业务服务器对该业务数据库进行查询,在从该业务数据库中查询到被标记为未发送且存储时长超过第三时长的第六积分数据时,将该第六积分数据写入该数据队列,写入完成后将该业务数据库中的该第六积分数据的标记修改为已发送。
在一种可能的实现方式中,该业务服务器对该业务数据库进行查询,在从该业务数据库中查询到被标记为未发送且存储时长超过第三时长的第六积分数据时,将该第六积分数据写入该数据队列,包括:
该业务服务器每隔该第三时长,确定第三目标时间段,对该业务数据库中第三目标时间段内存储的积分数据进行查询,在查询到标记为未发送的第六积分数据时,将该第六积分数据写入该数据队列,该第三目标时间段的终止时间点为当前时间点前该第三时长的时间点,该第三目标时间段的起始时间点为该终止时间点前该第三时长的时间点。
本申请实施例中的业务服务器、中间服务器和积分管理服务器均可提供为图4所示的服务器,图4是本申请实施例提供的一种服务器的结构示意图,该服务器400可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,CPU)401和存储器402,其中,该存储器402中存储有至少一条程序代码,该至少一条程序代码由该处理器401加载并执行以实现上述数据质量检测方法中服务器所执行的操作。当然,该服务器400还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器400还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读介质存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例中的微服务数据传输方法。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现上述实施例中的微服务数据传输方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅是为了便于本领域的技术人员理解本申请的技术方案,并不用以限制本申请。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (25)
1.一种微服务数据传输***,其特征在于,所述***包括多个业务服务器、多个积分管理服务器和中间服务器,所述多个业务服务器与所述中间服务器连接,所述多个积分管理服务器与所述中间服务器连接,所述中间服务器配置有数据队列;
所述业务服务器,用于将待发送的积分数据写入所述中间服务器的数据队列;
所述积分管理服务器,用于从所述数据队列中读取所述积分数据,基于读取的积分数据进行积分管理。
2.根据权利要求1所述的***,其特征在于,
所述积分管理服务器,用于从所述数据队列中读取第一积分数据之后,将所述第一积分数据存储到积分数据库中,并将所述积分数据库中的所述第一积分数据标记为未处理,对所述第一积分数据进行处理,处理完成后将所述积分数据库中的所述第一积分数据的标记修改为已处理,所述第一积分数据为所述数据队列中的任一积分数据。
3.根据权利要求2所述的***,其特征在于,
所述积分管理服务器,还用于对所述积分数据库进行查询,在从所述积分数据库中查询到被标记为未处理且存储时长超过第一时长的第二积分数据时,对所述第二积分数据进行处理,处理完成后将所述积分数据库中的所述第二积分数据的标记修改为已处理。
4.根据权利要求3所述的***,其特征在于,
所述积分管理服务器,还用于每隔所述第一时长,确定第一目标时间段,对所述积分数据库中所述第一目标时间段内存储的积分数据进行查询,在查询到标记为未处理的第二积分数据时,对所述第二积分数据进行处理,所述第一目标时间段的终止时间点为当前时间点前所述第一时长的时间点,所述第一目标时间段的起始时间点为所述终止时间点前所述第一时长的时间点。
5.根据权利要求2所述的***,其特征在于,
所述积分管理服务器,还用于将所述第一积分数据写入内存中;
所述积分管理服务器,还用于启动处理线程,通过所述处理线程对所述内存中的所述第一积分数据进行处理;
所述积分管理服务器,还用于在处理完所述第一积分数据之后,将所述内存中的所述第一积分数据删除。
6.根据权利要求1所述的***,其特征在于,
所述多个积分管理服务器,用于对所述数据队列进行监听;
最先监听到最新写入的第三积分数据的积分管理服务器,用于从所述数据队列中读取所述第三积分数据。
7.根据权利要求6所述的***,其特征在于,
所述业务服务器,还用于将第四积分数据写入所述数据队列之后,将所述数据队列中的所述第四积分数据标记为未处理,所述第四积分数据为任一待发送的积分数据;
最先监听到标记为未处理的所述第四积分数据的积分管理服务器,用于将所述数据队列中监听到的第四积分数据标记为处理中,以使其他积分管理服务器不再读取所述第四积分数据;
所述积分管理服务器,还用于从所述数据队列中读取并处理监听到的所述第四积分数据,读取并处理完成后将所述数据队列中的所述第四积分数据的标记修改为已处理。
8.根据权利要求7所述的***,其特征在于,
所述中间服务器,用于对所述数据队列进行查询,在从所述数据队列中查询到被标记为处理中且存储时长超过第二时长的第五积分数据时,向任一积分管理服务器发送数据处理请求,所述数据处理请求携带所述第五积分数据,所述数据处理请求用于请求所述任一积分管理服务器处理所述第五积分数据。
9.根据权利要求8所述的***,其特征在于,
所述中间服务器,用于每隔第一时长,确定第二目标时间段,对所述数据队列中所述第二目标时间段内写入的积分数据进行查询,在查询到标记为处理中的第五积分数据时,向任一积分管理服务器发送所述第五积分数据,所述第二目标时间段的终止时间点为当前时间点前所述第二时长的时间点,所述第二目标时间段的起始时间点为所述终止时间点前所述第一时长的时间点,所述第二时长不小于所述第一时长的两倍。
10.根据权利要求1至9任一项所述的***,其特征在于,
所述业务服务器,还用于将第四积分数据存储到业务数据库中,并将所述业务数据库中的所述第四积分数据标记为未发送,所述第四积分数据为任一待发送的积分数据;
所述业务服务器,还用于在将所述第四积分数据写入所述数据队列完成之后,将所述业务数据库中的所述第四积分数据的标记修改为已发送。
11.根据权利要求10所述的***,其特征在于,
所述业务服务器,还用于对所述业务数据库进行查询,在从所述业务数据库中查询到被标记为未发送且存储时长超过第三时长的第六积分数据时,将所述第六积分数据写入所述数据队列,写入完成后将所述业务数据库中的所述第六积分数据的标记修改为已发送。
12.根据权利要求11所述的***,其特征在于,
所述业务服务器,还用于每隔所述第三时长,确定第三目标时间段,对所述业务数据库中第三目标时间段内存储的积分数据进行查询,在查询到标记为未发送的第六积分数据时,将所述第六积分数据写入所述数据队列,所述第三目标时间段的终止时间点为当前时间点前所述第三时长的时间点,所述第三目标时间段的起始时间点为所述终止时间点前所述第三时长的时间点。
13.一种微服务数据传输方法,其特征在于,由微服务数据传输***执行,所述微服务数据传输***包括多个业务服务器、多个积分管理服务器和中间服务器,所述多个业务服务器与所述中间服务器连接,所述多个积分管理服务器与所述中间服务器连接,所述中间服务器配置有数据队列;所述方法包括:
所述业务服务器将待发送的积分数据写入所述中间服务器的数据队列;
所述积分管理服务器从所述数据队列中读取所述积分数据,基于读取的积分数据进行积分管理。
14.根据权利要求13所述的方法,其特征在于,所述基于读取的积分数据进行积分管理,包括:
所述积分管理服务器从所述数据队列中读取第一积分数据之后,将所述第一积分数据存储到积分数据库中,并将所述积分数据库中的所述第一积分数据标记为未处理,对所述第一积分数据进行处理,处理完成后将所述积分数据库中的所述第一积分数据的标记修改为已处理,所述第一积分数据为所述数据队列中的任一积分数据。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
所述积分管理服务器对所述积分数据库进行查询,在从所述积分数据库中查询到被标记为未处理且存储时长超过第一时长的第二积分数据时,对所述第二积分数据进行处理,处理完成后将所述积分数据库中的所述第二积分数据的标记修改为已处理。
16.根据权利要求15所述的方法,其特征在于,所述积分管理服务器对所述积分数据库进行查询,在从所述积分数据库中查询到被标记为未处理且存储时长超过第一时长的第二积分数据时,对所述第二积分数据进行处理,包括:
所述积分管理服务器每隔所述第一时长,确定第一目标时间段,对所述积分数据库中所述第一目标时间段内存储的积分数据进行查询,在查询到标记为未处理的第二积分数据时,对所述第二积分数据进行处理,所述第一目标时间段的终止时间点为当前时间点前所述第一时长的时间点,所述第一目标时间段的起始时间点为所述终止时间点前所述第一时长的时间点。
17.根据权利要求14所述的方法,其特征在于,所述对所述第一积分数据进行处理,包括:
所述积分管理服务器将所述第一积分数据写入内存中;
所述积分管理服务器启动处理线程,通过所述处理线程对所述内存中的所述第一积分数据进行处理;
所述积分管理服务器在处理完所述第一积分数据之后,将所述内存中的所述第一积分数据删除。
18.根据权利要求13所述的方法,其特征在于,所述积分管理服务器从所述数据队列中读取积分数据,包括:
所述多个积分管理服务器对所述数据队列进行监听;
最先监听到最新写入的第三积分数据的积分管理服务器从所述数据队列中读取所述第三积分数据。
19.根据权利要求18所述的方法,其特征在于,所述方法还包括:
所述业务服务器将第四积分数据写入所述数据队列之后,将所述数据队列中的所述第四积分数据标记为未处理,所述第四积分数据为任一待发送的积分数据;
最先监听到标记为未处理的所述第四积分数据的积分管理服务器将所述数据队列中监听到的第四积分数据标记为处理中,以使其他积分管理服务器不再读取所述第四积分数据;
所述积分管理服务器从所述数据队列中读取并处理监听到的所述第四积分数据,读取并处理完成后将所述数据队列中的所述第四积分数据的标记修改为已处理。
20.根据权利要求19所述的方法,其特征在于,所述方法还包括:
所述中间服务器对所述数据队列进行查询,在从所述数据队列中查询到被标记为处理中且存储时长超过第二时长的第五积分数据时,向任一积分管理服务器发送数据处理请求,所述数据处理请求携带所述第五积分数据,所述数据处理请求用于请求所述任一积分管理服务器处理所述第五积分数据。
21.根据权利要求20所述的方法,其特征在于,所述中间服务器对所述数据队列进行查询,在从所述数据队列中查询到被标记为处理中且存储时长超过第二时长的第五积分数据时,向任一积分管理服务器发送数据处理请求,包括:
所述中间服务器每隔第一时长,确定第二目标时间段,对所述数据队列中所述第二目标时间段内写入的积分数据进行查询,在查询到标记为处理中的第五积分数据时,向任一积分管理服务器发送所述第五积分数据,所述第二目标时间段的终止时间点为当前时间点前所述第二时长的时间点,所述第二目标时间段的起始时间点为所述终止时间点前所述第一时长的时间点,所述第二时长不小于所述第一时长的两倍。
22.根据权利要求13至21任一项所述的方法,其特征在于,所述方法还包括:
所述业务服务器将第四积分数据存储到业务数据库中,并将所述业务数据库中的所述第四积分数据标记为未发送,所述第四积分数据为任一待发送的积分数据;
所述业务服务器在将所述第四积分数据写入所述数据队列完成之后,将所述业务数据库中的所述第四积分数据的标记修改为已发送。
23.根据权利要求22所述的方法,其特征在于,所述方法还包括:
所述业务服务器对所述业务数据库进行查询,在从所述业务数据库中查询到被标记为未发送且存储时长超过第三时长的第六积分数据时,将所述第六积分数据写入所述数据队列,写入完成后将所述业务数据库中的所述第六积分数据的标记修改为已发送。
24.根据权利要求23所述的方法,其特征在于,所述业务服务器对所述业务数据库进行查询,在从所述业务数据库中查询到被标记为未发送且存储时长超过第三时长的第六积分数据时,将所述第六积分数据写入所述数据队列,包括:
所述业务服务器每隔所述第三时长,确定第三目标时间段,对所述业务数据库中第三目标时间段内存储的积分数据进行查询,在查询到标记为未发送的第六积分数据时,将所述第六积分数据写入所述数据队列,所述第三目标时间段的终止时间点为当前时间点前所述第三时长的时间点,所述第三目标时间段的起始时间点为所述终止时间点前所述第三时长的时间点。
25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如权利要求13至24任一项所述的微服务数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211177328.1A CN115525449B (zh) | 2022-09-26 | 2022-09-26 | 微服务数据传输***、方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211177328.1A CN115525449B (zh) | 2022-09-26 | 2022-09-26 | 微服务数据传输***、方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115525449A true CN115525449A (zh) | 2022-12-27 |
CN115525449B CN115525449B (zh) | 2024-04-09 |
Family
ID=84700526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211177328.1A Active CN115525449B (zh) | 2022-09-26 | 2022-09-26 | 微服务数据传输***、方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525449B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116846980A (zh) * | 2023-08-31 | 2023-10-03 | 苏州盈天地资讯科技有限公司 | 一种积分发放和使用方法、***及设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064188A1 (en) * | 2004-09-03 | 2006-03-23 | Yukihiro Ushiku | Process-state management system, management server and control server adapted for the system, method for managing process-states, method for manufacturing a product, and computer program product for the management server |
CN108171603A (zh) * | 2017-12-15 | 2018-06-15 | 深圳智盾信息技术有限公司 | 一种基于区块链的积分管理*** |
CN110856004A (zh) * | 2019-11-05 | 2020-02-28 | 北京字节跳动网络技术有限公司 | 消息处理方法、装置、可读存储介质及电子设备 |
CN112579622A (zh) * | 2020-12-10 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 业务数据的处理方法、装置及设备 |
CN113010283A (zh) * | 2021-03-03 | 2021-06-22 | 北京嘀嘀无限科技发展有限公司 | 线上服务方法、装置、电子设备和可读存储介质 |
CN113034178A (zh) * | 2021-03-15 | 2021-06-25 | 深圳市麦谷科技有限公司 | 多***积分计算方法、装置、终端设备和存储介质 |
CN113220730A (zh) * | 2021-05-28 | 2021-08-06 | 中国农业银行股份有限公司 | 业务数据的处理*** |
CN113313583A (zh) * | 2021-06-25 | 2021-08-27 | 中国农业银行股份有限公司 | 积分清算方法及相关装置 |
CN115062226A (zh) * | 2022-06-29 | 2022-09-16 | 杭州海亮优智科技有限公司 | 用户行为积分分析方法、装置、计算机设备和存储介质 |
-
2022
- 2022-09-26 CN CN202211177328.1A patent/CN115525449B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064188A1 (en) * | 2004-09-03 | 2006-03-23 | Yukihiro Ushiku | Process-state management system, management server and control server adapted for the system, method for managing process-states, method for manufacturing a product, and computer program product for the management server |
CN108171603A (zh) * | 2017-12-15 | 2018-06-15 | 深圳智盾信息技术有限公司 | 一种基于区块链的积分管理*** |
CN110856004A (zh) * | 2019-11-05 | 2020-02-28 | 北京字节跳动网络技术有限公司 | 消息处理方法、装置、可读存储介质及电子设备 |
CN112579622A (zh) * | 2020-12-10 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 业务数据的处理方法、装置及设备 |
CN113010283A (zh) * | 2021-03-03 | 2021-06-22 | 北京嘀嘀无限科技发展有限公司 | 线上服务方法、装置、电子设备和可读存储介质 |
CN113034178A (zh) * | 2021-03-15 | 2021-06-25 | 深圳市麦谷科技有限公司 | 多***积分计算方法、装置、终端设备和存储介质 |
CN113220730A (zh) * | 2021-05-28 | 2021-08-06 | 中国农业银行股份有限公司 | 业务数据的处理*** |
CN113313583A (zh) * | 2021-06-25 | 2021-08-27 | 中国农业银行股份有限公司 | 积分清算方法及相关装置 |
CN115062226A (zh) * | 2022-06-29 | 2022-09-16 | 杭州海亮优智科技有限公司 | 用户行为积分分析方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
姜鹏;: "Aerotrac自动化***数据库报文处理及优化分析", no. 03, pages 229 - 230 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116846980A (zh) * | 2023-08-31 | 2023-10-03 | 苏州盈天地资讯科技有限公司 | 一种积分发放和使用方法、***及设备 |
CN116846980B (zh) * | 2023-08-31 | 2024-02-13 | 苏州盈天地资讯科技有限公司 | 一种积分发放和使用方法、***及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115525449B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111245900B (zh) | 一种分布式消息发送的处理***及其处理方法 | |
CN112615753B (zh) | 一种链路异常追踪方法、第一节点、第二节点以及链路 | |
CN111694644A (zh) | 基于机器人操作***的消息处理方法、装置及计算机设备 | |
CN111784318A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115525449B (zh) | 微服务数据传输***、方法及存储介质 | |
CN111383104A (zh) | 基金投资监督指标的获取方法及装置 | |
CN108650123B (zh) | 故障信息记录方法、装置、设备和存储介质 | |
CN113051094B (zh) | 监管数据报送测试方法及装置 | |
CN114416769A (zh) | 待办任务查询方法、装置及电子设备 | |
CN113485742B (zh) | 主机应用版本登记方法及装置 | |
CN112860746B (zh) | 一种基于缓存削减的方法、设备及*** | |
CN113901153A (zh) | 数据处理方法及相关设备 | |
CN114282913A (zh) | 一种多主体线上签约的方法及装置 | |
CN114254881A (zh) | 数据处理方法、装置、电子设备、可读存储介质及产品 | |
CN110532253B (zh) | 一种业务分析方法、***及集群 | |
CN110365831B (zh) | 来电响应方法及装置、***、存储介质、电子装置 | |
CN113852610A (zh) | 报文处理方法、装置、计算机设备和存储介质 | |
CN113627934A (zh) | 一种交易数据获取方法及相关设备 | |
CN113157461A (zh) | 一种在执行任务单过程中传送消息的方法和装置 | |
CN112231612A (zh) | 配置信息的传输方法及装置、存储介质、电子装置 | |
US20060129532A1 (en) | Form generation system and method | |
US20240185196A1 (en) | Reduced memory resources for proactive monitoring of electronic transactions | |
CN116384956B (zh) | 一种消息批量发送方法、装置、设备和存储介质 | |
CN110555625B (zh) | 一种信息处理方法、装置、计算机设备及存储介质 | |
CN114900531B (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 |