CN110955523B - 一种业务处理方法及装置 - Google Patents
一种业务处理方法及装置 Download PDFInfo
- Publication number
- CN110955523B CN110955523B CN201911158973.7A CN201911158973A CN110955523B CN 110955523 B CN110955523 B CN 110955523B CN 201911158973 A CN201911158973 A CN 201911158973A CN 110955523 B CN110955523 B CN 110955523B
- Authority
- CN
- China
- Prior art keywords
- task
- node
- hash calculation
- hash
- request
- 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.)
- Active
Links
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明实施例提供了一种业务处理方法及装置,涉及数据处理技术领域,该方法可以应用于服务器系统中的第一节点,该第一节点包括至少一个服务器。该方法包括:第一节点接收来自客户端的任务请求。因任务请求包括任务参数,所以第一节点对任务参数进行哈希计算,生成哈希计算结果。第一节点向服务器系统中的其它节点发送通知消息,该通知消息用于指示第一节点已完成哈希计算。其它节点向第一节点发送反馈消息,该反馈消息用于指示确认任务由第一节点执行,第一节点接收来自其它节点的反馈消息后,确定反馈消息的个数超过设定阈值时,执行任务,并生成任务执行结果。该方法用以解决现有技术的中心管理服务器集群系统存在容错性低、抗攻击性弱的问题。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种业务处理方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,由于金融行业的安全性、实时性要求,用户对业务处理系统的要求也越来越高。目前在金融领域,例如金融业务处理系统,如图1所示,一般通过设置专门的中心管理服务器对整个集群的金融业务进行统一管理。但是这样的系统存在以下缺点:1)如果中心管理服务器出现故障,整个系统将无法继续工作,所以容错性低;2)如果中心管理服务器被非法攻击,整个系统将崩溃,所以抗攻击性弱。
因此,亟需一种可以克服上述问题的业务处理系统,以便快速高效处理金融业务。
发明内容
本发明实施例提供一种业务处理方法及装置,用以解决现有技术中有中心管理服务器的集群系统存在容错性低、抗攻击性弱的问题。
第一方面,本发明实施例提供一种业务处理方法,该方法包括:
第一节点接收来自客户端的包括任务参数的任务请求,然后对任务参数进行哈希计算,生成哈希计算结果;进一步,第一节点向服务器系统中的其它节点(其它节点指服务器系统中不包括第一节点的其余节点)发送通知消息,指示其它节点第一节点已完成哈希计算;然后第一节点接收来自其它节点的反馈消息,因反馈消息用于指示确认所述任务由所述第一节点执行,所以第一节点接收来自其它节点的反馈消息后,确定反馈消息的个数超过设定阈值时,执行任务,并生成任务执行结果。
本发明实施例中,该方法无需设置专门的中心服务器,每个服务器都按照上述方法处理业务,即使某个服务器被非法攻击或者发生故障,也不会导致整个系统崩溃,不仅克服了现有技术中存在的问题,还提高了业务处理的效率。
在一种可能的设计中,任务参数包括如下参数中的至少一个:用户标识、操作时间、任务请求类型、任务操作类型、临时算子;进一步地,第一节点对任务参数进行哈希计算,生成哈希计算结果,包括:对用户标识、操作时间、请求类型、操作类型、临时算子中的至少一个,进行哈希计算,生成哈希计算结果。
本发明实施例中,该任务参数的包括用户标识、操作时间、任务请求类型、任务操作类型、临时算子中的至少一个,第一节点再进一步根据任务参数进行哈希计算,生成哈希结果,保证了执行节点的选择的公正性。因为对于不同任务而言,同一节点进行决策计算所用到的参数都是不一样的;但对于同一个任务,所有节点进行决策计算所用到的参数是相同的,所以保证了所有节点进行计算的初始条件是相同的,从而完成执行节点的决策,保证了决策过程中的公正性,也就保证了执行节点决策的高效性和可用性。
在一种可能的设计中,第一节点对用户标识、操作时间、请求类型、操作类型、临时算子中的至少一个,进行哈希计算,包括:将用户标识、操作时间、请求类型、操作类型、临时算子中的至少两个拼接成一个字符串;进一步,第一节点使用哈希运算对所述字符串进行哈希计算,生成哈希值;当哈希值为预设值时,则确定哈希值为哈希计算结果;当哈希值不为预设值时,调整临时算子的取值,然后返回执行将用户标识、操作时间、请求类型、操作类型、临时算子中的至少两个拼接成一个字符串。
本发明实施例中,进一步描述节点通过对字符串哈希计算,得到哈希计算结果从而决策执行节点的这一过程,既保证了决策过程的高效性,又使方案简单可行。
在一种可能的设计中,第一节点在执行任务之前,还包括:获取任务属性信息,其中,任务属性信息包括如下属性中的至少一个:业务名、分组名、名称、是否支持并发、异步日志、批量日志、任务超时时间、按固定周期/基于表达式;进一步地,当第一节点收到的反馈消息的个数超过设定阈值时,根据任务属性信息执行任务。
本发明实施例中,第一节点根据任务属性信息和反馈消息执行任务,保证了任务执行的准确性和执行节点选择的高效性;
在一种可能的设计中,根据本申请方法生成执行结果之后,也就是第一节点执行任务之后,还包括:第一节点将执行结果发送至客户端及服务器系统中的其它节点。
一方面,第一节点通过发送执行结果给其它节点,保证了其它节点的数据库内保存的数据与第一节点的数据库内保存的数据是同步的,这样,即使服务器系统中任意一个或几个节点出现故障或被攻击时,只要服务系统内还有节点正常工作,就可以保证任务的正常进行,也就是说,未被攻击的节点基本上不受到影响或受到影响很小。也就是,比如,第二节点遭受攻击或出现故障时,第一节点和第三节点仍然正常工作,继续执行任务,从而避免了有中心服务器的集群系统中,当中心服务器出现故障或遭受攻击时,直接导致整个集群系统瘫痪的状况。所以本发明不仅提高了服务器系统的业务处理速度,增强用户体验,还降低了服务器系统崩溃的风险。
在另一方面,本申请还实现了增加节点的影响最低。也就是说,本发明中的服务器系统中,增加节点对于决策计算的影响为常量时间复杂度,把增加节点对服务器系统的整体运行效率影响降到了最低,保证了业务处理的高效有序。
在一个可能的实施例中,当执行节点遭受攻击或发生故障时,仅需常量倍数的时间复杂度再次进行计算,就能够决策出新的执行节点。也就是说,当正在执行节点出现问题,中止任务并发送任务状态信息给其它节点,其它节点接收到此消息后,整个服务器系统内的正常节点再次进行此任务的决策计算,完成执行节点的决策,不影响服务器系统的整体工作效率,提高了业务处理的效率和业务处理系统的可靠性。
第二方面,本发明实施例提供一种业务处理装置,该装置的技术效果可以参照上述方法实施例,该装置包括:
接收单元,用于接收来自客户端的任务请求,所述任务请求包括任务参数;
处理单元,用于对所述任务参数进行哈希计算,生成哈希计算结果;
发送单元,用于向所述服务器系统中的其它节点发送通知消息,所述通知消息用于指示所述第一节点已完成所述哈希计算;
所述接收单元,还用于接收来自所述其它节点的反馈消息,所述反馈消息用于指示确认所述任务由所述第一节点执行;
所述处理单元,还用于:当所述反馈消息的个数超过设定阈值时,执行所述任务,并生成执行结果。
在一种可能的设计中,任务参数包括如下参数中的至少一个:用户标识、操作时间、任务请求类型、任务操作类型、临时算子;进一步地,处理单元对任务参数进行哈希计算,生成哈希计算结果,包括:对用户标识、操作时间、请求类型、操作类型、临时算子中的至少一个,进行哈希计算,生成哈希计算结果。
在一种可能的设计中,处理单元还用于:将用户标识、操作时间、请求类型、操作类型、临时算子中的至少两个拼接成一个字符串;然后处理单元用哈希运算计算字符串,生成哈希值;进一步地,当哈希值为预设值时,确定哈希值为哈希计算结果;当哈希值不为预设值时,调整临时算子的取值,返回执行将用户标识、操作时间、请求类型、操作类型、临时算子中的至少两个拼接成一个字符串。
在一种可能的设计中,处理单元,还用于:获取任务属性信息。其中,包括如下属性中的至少一个:业务名、分组名、名称、是否支持并发、异步日志、批量日志、任务超时时间、按固定周期/基于表达式。
处理单元还用于:当反馈消息的个数超过设定阈值时,根据任务属性信息执行任务。
在一种可能的设计中,处理单元,还用于:将执行结果发送至客户端及服务器系统中的其它节点。
第三方面,本发明实施例提供的一种计算设备,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行如上述第一方面任意所述的业务处理方法。
第四方面,本发明实施例提供的一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行如上述第一方面任意所述的业务处理方法。
本发明的这些方面或其它方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种现有技术的系统构架图;
图2为本申请实施例提供的一种可能的系统构架示意图;
图3为本申请实施例提供的一种系统模块示意图;
图4为本申请实施例提供的一种业务处理流程示意图;
图5为本申请实施例提供的一种业务处理流程示意图;
图6为本申请实施例提供的一种业务处理装置结构示意图;
图7为本申请实施例提供的一种计算设备示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为一种现有技术的系统架构示意图,现有技术通过设置专门的中心管理服务器101对整个集群系统的业务进行统一协调管理;中心管理服务器101作为集群系统的管理者,对节点102、节点103、节点104进行管理。例如,中心管理服务器101接收客户端发送的任务请求后,根据节点102、节点103、节点104的工作状态,按照预先设置的规则(比如优先选择处理速度快的节点服务器)选择执行节点。进一步地,执行任务的节点返回任务执行结果给中心管理服务器101。
可见,中心管理服务器101一旦出现故障,则无法分配任务请求,节点102、节点103、节点104则无法工作,或者,一旦中心管理服务器101被非法攻击,也会导致整个系统崩溃。
为此,本申请实施例提供一种业务处理方法,该方法适用于一种去中心化的系统架构。图2为本发明实施例所适用的系统架构示意图,该服务器系统由多台服务器组成;每组服务器可以作为一个节点,其中,一个节点可以由一台或多台服务器组成。另外,每个节点都对应有独立的数据库用于存储当前节点的计算结果。示例性地,如图2所示,系统中设有第一节点201、第二节点202、第三节点203,每个节点分别设置有第一数据库204、第二数据库205、第三数据库206,用于存储执行任务的相关执行结果;节点管理员可以通过客户端服务器监控管理整个系统,从而确保业务处理系统的高效运行。
需要说明的是,图2仅是一种示例性的简单说明,并不构成对方案的限定,在具体实施中,节点的数量以及节点的结构及功能均可以由本领域技术人员根据需要进行设置,具体不作限定。
图3为一个节点中每个服务器的系统模块示意图,图3中,服务器包括7个模块,用以实现监听任务,执行权限判定,执行监控,和状态同步等功能,具体模块和功能如下。
任务参数装载模块301,用于装载任务配置参数,定制任务的各类属性,在任务执行时使用。
任务监听模块302,用于监听来自客户端中的任务请求,该任务请求可以用户在客户端上发起的任务请求,或者是客户端上的定时器自动触发的任务请求。
任务执行权判定模块303,作为服务器系统的核心模块,用于通过哈希算法决策出执行任务的执行节点。
任务执行模块304,用于根据任务请求执行当前任务。
任务监控模块305,用于根据任务参数对当前执行任务的运行情况进行监控。
任务状态同步模块306,用于将任务执行结果同步给客户端和其它服务器。
系统管理模块307,用于提供人机交互以及管理员进行任务调控等功能。
图4为本发明实施例提供的一种业务处理方法流程示意图,该方法可以由图2所示的各个节点执行,下文以执行主体为第一节点201示例地说明,该方法包括如下步骤。
步骤401,第一节点接收来自客户端的任务请求,该任务请求包括任务参数。
结合图3来说,第一节点中第一服务器的任务监听模块302监听来自客户端的任务请求,该任务请求可以用户在客户端上发起的任务请求,或者是客户端上的定时器自动触发的任务请求。
示例性地,任务请求可以是用户发送的任务,比如用户A在进行刷卡支付消费;也可以是客户端发送的定时任务,比如银行每天晚上8点整对所有用户进行账务清算;示例性地,管理员可以在监控到任务执行失败时,通过系统管理模块307实现任务重启。比如,管理员通过机房发送“重启001号任务”的命令给服务器系统。示例性地,现在某部门新的规定银行的清算时间由20点整改为22点整,或者暂停清算,则管理员可以通过机房修改任务的配置参数进行任务执行时间的修改,调整任务请求。
其中,任务参数可以包括如下参数中的至少一个:用户标识、操作时间、任务请求类型、任务操作类型、临时算子。节点接收到任务请求后,可以结合任务参数确定该任务是否可以执行,比如,通过“用户标识”和“操作时间”,区分任务是否可以由第一节点执行。
步骤402,第一节点对任务参数进行哈希计算,生成哈希计算结果。
本实施例中,结合图3来说,任务执行权判定模块303可以将用户标识、操作时间、请求类型、操作类型、临时算子中的至少两个拼接成一个字符串;然后对字符串进行哈希计算,生成哈希计算结果。当任务执行权判定模块303能够较快地生成哈希计算结果,例如第一节点是整个系统中最先生成哈希计算结果,则说明第一节点的处理速度快,有足够的运算能力来处理该任务请求。反之,则说明第一节点的处理速度慢,没有足够的运算能力来处理该任务请求。
示例性地,任务执行权判定模块303将用户名、操作时间、操作类型、请求类型、临时算子(临时算子初始值为000)拼接成一个字符串,然后使用SHA256(哈希算法)计算该字符串,如果得到的哈希计算结果的前三位(支持节点上限1千)为纯数字,则停止计算,确定第一节点已完成哈希计算;如果得到的哈希计算结果的前四位非纯数字,则调整临时算子的初始值,重新返回执行拼接字符串。
换句话说,当哈希计算结果为预设值时,则确定第一节点已完成计算;当哈希计算结果不为预设值时,则调整临时算子的取值,返回执行将所述用户标识、操作时间、请求类型、操作类型、临时算子中的至少两个拼接成一个字符串,重新进行哈希计算。
步骤403,第一节点向服务器系统中的其它节点发送通知消息,该通知消息用于指示第一节点已完成哈希计算。
也就是说,当任务执行权判定模块303得到哈希计算结果后,则停止计算。并且第一节点向其它节点(例如第二节点、第三节点)发送通知消息,该通知消息用以通知第二节点、第三节点自身已经完成计算(其它节点收到通知后停止运算)。可选地,在第一节点计算过程中,也可能接收到来自其它节点的通知消息。
步骤404,第一节点接收来自其它节点的反馈消息,该反馈消息用于指示确认该任务由第一节点执行。
可选地,第一节点最先完成哈希计算,生成哈希计算结果,则第二节点和第三节点在计算过程中接收到第一节点的通知消息,则第二节点和第三节点停止计算,并向第一节点发送反馈消息,用以指示该任务由第一节点执行。也就是说,第二节点和第三节点不再处理该任务。
步骤405,当反馈消息的个数超过设定阈值时,第一节点执行任务,并生成任务执行结果。
结合图3来说,当任务执行权判定模块303确定接收到的反馈消息超过设定阈值后,确定第一节点执行该任务请求。示例性地,第二节点和第三节点均向第一节点发送反馈消息,则第一节点确认该任务请求由自身执行。在实际应用中,若图2所示的系统中有N个节点,则当第一节点收到超过半数以上(例如N*50%)的节点的反馈消息后,则可以确定该任务由自身执行。
在一种可能的实施例中,当第一节点生成任务执行结果之后,第一节点可以将任务执行结果同步至其它节点的数据库中。具体地,任务监控模块305对当前执行任务的运行情况进行监控,当确定任务执行模块304生成任务执行结果,则通知任务状态同步模块306向其它节点发送包括任务执行结果的通知消息,以便于其它节点将通知消息中的任务执行结果同步保存至数据库中。
可选地,第一节点执行任务后,比如,用户A通过第一节点完成刷卡操作后,任务状态同步模块306发送任务状态信息给其它节点。示例性地,“000”代表任务进行中,“001”代表任务执行完成,“002”代表任务执行失败;若任务执行失败,第二节点、第三节点的任务监控模块305在接收到第一节点的任务状态同步模块306发送的包括“002”的消息后,所有节点重新确定该任务的执行节点。
在一种可能的实施例中,在执行步骤401之前,第一节点需要确认任务请求中是否包括指定执行节点的标识,如果任务请求中不包括指定执行节点的标识,则第一节点按照上述方法进行处理,否则,如果任务请求中指定执行节点的标识(例如第二节点),则第一节点不再执行上述方法,而是由指定的执行节点,如第二节点执行该任务请求中的任务。
在一种可能的实施例中,当第一节点确定由自身执行任务后,第一节点可以获取任务配置参数,根据任务配置参数执行该任务。其中,任务配置参数可以包括如下属性中的至少一个:业务名、分组名、名称、是否支持并发、异步日志、批量日志、任务超时时间、按固定周期/基于表达式。
示例性地,任务执行模块304执行任务,其中任务监控模块305监控该任务的执行时间,若任务的执行时间超过了该任务的任务配置参数信息中的“任务超时时间”,则判定任务执行失败,然后任务状态同步模块306将该任务执行失败的信息同步给其它节点。示例性地,任务执行模块304根据任务配置参数中的“业务名”、“分组名”、“名称”等确定该任务的相关信息,执行对应的任务。
示例性地,上述方法结合图2来说,假设第一节点201、第二节点202、第三节点203均接收到任务请求,第一节点201、第二节点202、第三节点203均按照上述方法进行哈希计算,假设第一节点201最先计算得到哈希计算结果,在计算过程中第一节点201并未接收到通知消息,且第一节点向其它节点发送通知消息后,接收到来自第二节点202、第三节点203发送的两条反馈消息,因此第一节点确认该任务由自身执行。第一节点执行该任务,然后将执行结果同步至第二节点202的第二数据库205,以及第三节点203的第三数据库206。
为了更加系统地说明上述业务处理方法,本发明实施例还提供如图5所示的业务处理方法流程示意图,以图2中第一节点201中的第一服务器为例进行说明,具体步骤如下。
步骤501,第一节点201的第一服务器中的任务参数装载模块301装载任务配置参数,以便于任务执行模块304执行任务,以及任务监控模块305监控任务的执行。
其中,任务配置参数包括业务名、分组名、名称、是否支持并发、异步日志、批量日志、任务超时时间、按固定周期/基于表达式的等任务属性信息。步骤502,第一服务器中的任务监控模块305启动任务监控服务,结合任务配置参数对节点内任务执行状态进行监控。
例如,任务监控模块305根据任务配置参数中与任务执行情况相关的信息监控任务执行情况。示例性地,任务配置参数中的某位置的三位数字,“000”代表任务进行中,“001”代表任务执行完成,“002”代表任务执行失败。
步骤503,第一服务器中的系统管理模块307接收客户端发送的任务请求。
步骤504,第一服务器中的任务监听模块302可以监听到系统管理模块307接收到来自客户端的任务请求。
具体的,当任务监听模块302监听到任务请求,触发任务执行模块304创建此任务的实例程序,以便进行后续步骤。比如,创建“用户A在2019年11月5日17点05分进行刷卡支付”的任务实例。
步骤505,第一服务器中的任务执行权判定模块303进行执行节点的判定,选出执行任务的节点。
具体地,任务执行权判定的判定规则可以为如下方式中的任意一种或多种。
方式一,若任务请求为指定类,也就是任务请求中包括指定某个节点作为执行节点的信息,比如,“第一节点执行任务”。首先各个节点比较任务请求中的“第一节点”的编号与节点自身编号,比较结果一致时执行相应任务,否则放弃执行;示例性地,用户A在家乐福购买商品,进行刷卡支付操作,其中,家乐福指定了第一节点为执行节点,于是用户A的任务请求直接由第一节点执行。
方式二,若任务请求为定时类,也就是任务请求预定在某个时间执行,则通过分布式数据库,根据该任务请求的唯一标识确定执行节点;示例性地,银行固定在每天晚上10点整对账户进行资金清算,“资金清算”这个任务请求会产生一个唯一的时间信息标识,节点利用时间信息标识,确定执行节点。
方式三,若任务请求不属于以上类别,则任务执行权判定模块303通过哈希算法,计算拼接得到的字符串。第一服务器将计算出来后发送计算完成的信息给其它节点,其它节点接收到信息后停止计算,且反馈给该节点一个反馈消息,当该第一服务器所在的第一节点接收到超过设定阈值的反馈消息,则确定第一节点为执行节点。
示例性地,任务执行权判定模块303读取任务请求的属性信息,得到决策计算输入算子:用户标识、操作时间、操作类型、请求类型、临时算子,其中临时算子初始值为000。然后将决策计算输入算子拼接成一个字符串,然后使用SHA256计算此字符串的哈希值。
进一步地,如果得到哈希值的前三位(支持节点上限1千)N为纯数字,此哈希值为哈希计算结果,停止计算并通知其它节点已经完成计算(其它节点收到通知后停止运算),同时其它节点反馈认可给该节点;如果得到的结果前四位非纯数字,则将临时算子的取值更新为计算结果N,重新计算哈希值,直到得到结果前三位(支持节点上限1千)N为纯数字,返回上一步骤,或收到其它节点已经完成计算的通知,停止计算。
最终,当第一服务器收到超过50%以上的节点的反馈消息后,确定该第一服务器所在的第一节点为执行节点,其余节点不再执行该任务。
步骤506,任务执行模块304根据任务参数装载模块301装载的任务配置参数执行任务。
步骤507,任务状态同步模块306在任务执行完成后,将任务执行结果同步至其它节点的数据库中。
基于相同的技术构思,本发明实施例还提供一种业务处理装置,该装置可执行上述方法的实施例。本发明实施例提供的装置如图6所示,包括:
接收单元601,用于接收来自客户端的任务请求,该任务请求包括任务参数;
处理单元602,用于对所述任务参数进行哈希计算,生成哈希计算结果;
发送单元603,用于向所述服务器系统中的其它节点发送通知消息,该通知消息用于指示第一节点已完成所述哈希计算;
接收单元601,还用于接收来自其它节点的反馈消息,该反馈消息用于指示确认该任务由第一节点执行;
处理单元602,还用于当反馈消息的个数超过设定阈值时,执行该任务,并生成执行结果。
在一种可能的设计中,任务参数包括如下参数中的至少一个:用户标识、操作时间、任务请求类型、任务操作类型、临时算子;所述处理单元602具体用于对用户标识、操作时间、请求类型、操作类型、临时算子中的至少一个,进行哈希计算,生成哈希计算结果。
在一种可能的设计中,处理单元602具体用于,将用户标识、操作时间、请求类型、操作类型、临时算子中的至少两个拼接成一个字符串;然后第一节点用哈希运算计算字符串,生成哈希值;当该哈希值为预设值时,确定哈希值为哈希计算结果;当哈希值不为预设值时,调整临时算子的取值,返回执行将用户标识、操作时间、请求类型、操作类型、临时算子中的至少两个拼接成一个字符串。
在一种可能的设计中,处理单元602,还用于获取任务属性信息,其中,包括如下属性信息中的至少一个:业务名、分组名、名称、是否支持并发、异步日志、批量日志、任务超时时间、按固定周期/基于表达式。
当反馈消息的个数超过设定阈值时,根据任务属性信息执行所述任务。
在一种可能的设计中,发送单元603还用于生成执行结果之后,将执行结果发送至客户端及服务器系统中的其它节点。
基于相同的技术构思,本发明实施例提供了一种计算设备,如图7所示,包括至少一个处理器701,以及与至少一个处理器连接的存储器702,本发明实施例中不限定处理器701与存储器702之间的具体连接介质,图7中处理器701和存储器702之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,存储器702存储有可被至少一个处理器701执行的指令,至少一个处理器701通过执行存储器702存储的指令,可以执行前述的结算方法中所包括的步骤。
其中,处理器701是终端设备的控制中心,可以利用各种接口和线路连接终端设备的各个部分,通过运行或执行存储在存储器702内的指令以及调用存储在存储器702内的数据,从而处理数据。可选的,处理器701可包括一个或多个处理单元,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。在一些实施例中,处理器701和存储器702可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器701可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器702可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static RandomAccess Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器702是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本发明实施例提供了一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行结算方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种业务处理方法,应用于服务器系统中的第一节点,所述第一节点包括至少一个服务器,其特征在于,包括:
接收来自客户端的任务请求,所述任务请求包括任务参数;
对所述任务参数进行哈希计算,生成哈希计算结果;
向所述服务器系统中的其它节点发送通知消息,所述通知消息用于指示所述第一节点已完成所述哈希计算;
接收来自所述其它节点的反馈消息,所述反馈消息用于指示确认所述任务由所述第一节点执行;
当所述反馈消息的个数超过设定阈值时,执行所述任务,并生成任务执行结果。
2.如权利要求1所述的方法,其特征在于,所述任务参数包括如下参数中的至少一个:用户标识、操作时间、任务请求类型、任务操作类型、临时算子;
对所述任务参数进行哈希计算,生成哈希计算结果,包括:
对所述用户标识、操作时间、请求类型、操作类型、临时算子中的至少一个,进行哈希计算,生成哈希计算结果。
3.如权利要求2所述的方法,其特征在于,所述对所述用户标识、操作时间、请求类型、操作类型、临时算子中的至少一个,进行哈希计算,包括:
将所述用户标识、操作时间、请求类型、操作类型、临时算子中的至少两个拼接成一个字符串;
使用哈希运算对所述字符串进行哈希计算,生成哈希值;
当所述哈希值为预设值时,则确定所述哈希值为所述哈希计算结果;
当所述哈希值不为预设值时,调整所述临时算子的取值,返回执行将所述用户标识、操作时间、请求类型、操作类型、临时算子中的至少两个拼接成一个字符串。
4.如权利要求1所述的方法,其特征在于,执行所述任务之前,还包括:
获取任务属性信息,所述任务属性信息包括如下属性中的至少一个:业务名、分组名、名称、是否支持并发、异步日志、批量日志、任务超时时间、按固定周期/基于表达式;
当所述反馈消息的个数超过设定阈值时,执行所述任务,包括:
当所述反馈消息的个数超过设定阈值时,根据所述任务属性信息执行所述任务。
5.如权利要求1至4任一项所述的方法,其特征在于,所述生成任务执行结果之后,还包括:
将所述执行结果发送至所述客户端及所述服务器系统中的其它节点。
6.一种业务处理装置,应用于服务器系统中的第一节点,所述第一节点包括至少一个服务器,其特征在于,所述装置包括:
接收单元,用于接收来自客户端的任务请求,所述任务请求包括任务参数;
处理单元,用于对所述任务参数进行哈希计算,生成哈希计算结果;
发送单元,用于向所述服务器系统中的其它节点发送通知消息,所述通知消息用于指示所述第一节点已完成所述哈希计算;
所述接收单元,还用于接收来自所述其它节点的反馈消息,所述反馈消息用于指示确认所述任务由所述第一节点执行;
所述处理单元,还用于当所述反馈消息的个数超过设定阈值时,执行所述任务,并生成执行结果。
7.如权利要求6所述的装置,其特征在于,所述任务参数包括如下参数中的至少一个:用户标识、操作时间、任务请求类型、任务操作类型、临时算子;
所述处理单元具体用于:
对所述用户标识、操作时间、请求类型、操作类型、临时算子中的至少一个,进行哈希计算,生成哈希计算结果。
8.如权利要求7所述的装置,其特征在于,所述处理单元具体用于:
将所述用户标识、操作时间、请求类型、操作类型、临时算子中的至少两个拼接成一个字符串;
使用哈希运算对所述字符串进行哈希计算,生成哈希值;
当所述哈希值为预设值时,则确定所述哈希值为所述哈希计算结果;
当所述哈希值不为预设值时,调整所述临时算子的取值,返回执行将所述用户标识、操作时间、请求类型、操作类型、临时算子中的至少两个拼接成一个字符串。
9.如权利要求6所述的装置,其特征在于,所述处理单元还用于:
获取任务属性信息,所述任务属性信息包括如下属性中的至少一个:业务名、分组名、名称、是否支持并发、异步日志、批量日志、任务超时时间、按固定周期/基于表达式;
当所述反馈消息的个数超过设定阈值时,根据所述任务属性信息执行所述任务。
10.如权利要求6至9任一项所述的装置,其特征在于,所述发送单元还用于:
将所述执行结果发送至所述客户端及所述服务器系统中的其它节点。
11.一种计算设备,其特征在于,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行权利要求1-5任一权利要求所述的方法。
12.一种计算机可读存储介质,其特征在于,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行权利要求1-5任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911158973.7A CN110955523B (zh) | 2019-11-22 | 2019-11-22 | 一种业务处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911158973.7A CN110955523B (zh) | 2019-11-22 | 2019-11-22 | 一种业务处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110955523A CN110955523A (zh) | 2020-04-03 |
CN110955523B true CN110955523B (zh) | 2022-03-08 |
Family
ID=69978307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911158973.7A Active CN110955523B (zh) | 2019-11-22 | 2019-11-22 | 一种业务处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955523B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679807B (zh) * | 2020-06-03 | 2024-04-16 | 中国银行股份有限公司 | 需求管理方法及装置 |
CN112256437B (zh) * | 2020-11-10 | 2024-10-18 | 网易(杭州)网络有限公司 | 一种任务分发方法及装置 |
CN112202687B (zh) * | 2020-12-03 | 2021-05-25 | 苏州浪潮智能科技有限公司 | 一种节点同步方法、装置、设备及存储介质 |
CN113742075B (zh) * | 2021-09-07 | 2024-04-09 | 北京百度网讯科技有限公司 | 基于云端分布式系统的任务处理方法、装置及系统 |
CN115150031B (zh) * | 2022-06-20 | 2024-02-27 | 中国工商银行股份有限公司 | 基于分布式消息的分布式系统消息响应方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107231402B (zh) * | 2016-08-31 | 2021-02-12 | 北京新媒传信科技有限公司 | Http请求处理方法、装置及系统 |
CN107124278B (zh) * | 2017-03-30 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 业务处理方法、装置以及数据共享系统 |
CN107395353B (zh) * | 2017-04-24 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 一种区块链共识方法及装置 |
CN107846289B (zh) * | 2017-10-11 | 2020-08-11 | 众安信息技术服务有限公司 | 一种支持人工参与区块链决策的方法、电子设备及系统 |
CN108446976B (zh) * | 2018-02-07 | 2019-05-24 | 平安科技(深圳)有限公司 | 一种公积金转移方法、计算机可读存储介质及终端设备 |
US11531975B2 (en) * | 2018-04-13 | 2022-12-20 | International Business Machines Corporation | Network node management on a blockchain |
-
2019
- 2019-11-22 CN CN201911158973.7A patent/CN110955523B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110955523A (zh) | 2020-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110955523B (zh) | 一种业务处理方法及装置 | |
EP2746948A1 (en) | Device and method for optimization of data processing in a MapReduce framework | |
JPWO2008146677A1 (ja) | 仮想マシン管理装置、仮想マシン管理方法および仮想マシン管理プログラム | |
CN111209110B (zh) | 一种实现负载均衡的任务调度管理方法、系统和存储介质 | |
CN111897633A (zh) | 一种任务处理的方法和装置 | |
CN111538585B (zh) | 一种基于node.js的服务器进程调度方法、系统和装置 | |
CN111160873A (zh) | 基于分布式架构的跑批处理装置及方法 | |
CN110609749A (zh) | 一种分布式任务运行方法、系统及设备 | |
CN110611707A (zh) | 一种任务调度的方法及装置 | |
CN111143031A (zh) | 一种虚拟机的容量更改方法及装置 | |
CN110163554B (zh) | 工作流的运行方法、装置、服务器和存储介质 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN115757611A (zh) | 大数据集群切换方法、装置、电子设备及存储介质 | |
CN111754117B (zh) | 任务下发方法、装置、电子设备及存储介质 | |
CN108062224A (zh) | 基于文件句柄的数据读写方法、装置及计算设备 | |
CN103077081A (zh) | 资源调整的方法及装置 | |
CN107958414B (zh) | 一种清除cics系统长交易的方法及系统 | |
CN113342512B (zh) | 一种io任务静默与驱动方法、装置及相关设备 | |
CN115454599A (zh) | 任务处理方法、系统、装置、存储介质以及电子设备 | |
CN114721801A (zh) | 批量任务执行时间的动态调度方法及装置 | |
CN110058866B (zh) | 集群组件安装方法及设备 | |
CN111698266A (zh) | 服务节点调用方法、装置、设备及可读存储介质 | |
CN111679899A (zh) | 任务调度方法、装置、平台设备及存储介质 | |
CN111026543B (zh) | 一种存储系统转发数据的方法、装置、设备及介质 | |
CN115269161B (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 |