业务访问的处理方法、装置、设备及存储介质与流程

文档序号:26003843发布日期:2021-07-23 21:21阅读:74来源:国知局
业务访问的处理方法、装置、设备及存储介质与流程

本发明涉及业务调度技术领域,尤其涉及一种业务访问的处理方法、装置、设备及存储介质。



背景技术:

当前,业务流程推进通常是使用工作流来实现,工作流会预先定义好业务流程中各个业务逻辑的执行顺序,当一个业务逻辑执行完成后,工作流会更新数据库中所记录的流程状态,然后下一个业务逻辑才会被执行,依次类推,直到整个流程结束。

现有技术的业务服务器:由于工作流数据库与业务数据库是同一数据库,在业务执行的过程中,各个业务逻辑与工作流都会从该数据库中读写数据,而数据库的并发访问量是有限的,因此在任务量大的情况下,业务逻辑和工作流引擎与数据库的交互会激增,从而会导致高并发情况下的数据库性能较低。

因此,现有技术还有待于改进和发展。



技术实现要素:

本发明的主要目的在于解决现有业务服务器无法满足高并发业务访问的需求,容易发生读写超时的技术问题。

本发明第一方面提供了一种业务访问的处理方法,所述业务访问的处理方法包括:

判断服务器当前的业务访问场景;

若服务器当前的业务访问场景是读取多写入少,则增加服务器中逻辑计算层的数量并减少服务器中业务逻辑的判断;

若服务器当前的业务访问场景是写入多读取少,则将写入业务放入队列中进行延迟处理。

在本发明第一方面一种可选的实施方式中,所述业务访问的处理方法还包括:

预先对服务器中的业务逻辑进行分类,根据业务访问所需的数据处理量将服务器中的业务逻辑分为简单逻辑和复杂逻辑。

在本发明第一方面一种可选的实施方式中,在服务器中,通过lua语言来构建的简单逻辑的代码。

在本发明第一方面一种可选的实施方式中,在服务器中,通过java语言、php语言或c语言来构建复杂逻辑的代码。

在本发明第一方面一种可选的实施方式中,所述业务访问的处理方法还包括:

判断业务访问的类型;

若业务访问的类型属于可以直接返回访问结果的情形,则通过简单逻辑来处理业务访问请求;

若业务访问的类型属于无法直接返回访问结果的情形,则通过复杂逻辑来处理业务访问请求。

在本发明第一方面一种可选的实施方式中,判断服务器当前的业务访问场景时,通过读取服务器的静态数据来识别服务器当前的业务访问场景是读取多写入少还是写入多读取少。

在本发明第一方面一种可选的实施方式中,将写入业务放入队列中进行延迟处理之后包括:设置写入业务再次访问服务器的时间。

本发明第二方面提供了一种业务访问的处理装置,所述业务访问的处理装置包括:

判断模块,用于判断服务器当前的业务访问场景;

第一处理模块,用于若服务器当前的业务访问场景是读取多写入少,则增加服务器中逻辑计算层的数量并减少服务器中业务逻辑的判断;

第二处理模块,用于若服务器当前的业务访问场景是写入多读取少,则将写入业务放入队列中进行延迟处理。

本发明第三方面提供了一种业务访问的处理设备,所述业务访问的处理设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;

所述至少一个处理器调用所述存储器中的所述指令,以使得所述答题卡切分设备执行如上述任一项所述的业务访问的处理方法。

本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的业务访问的处理方法。

有益效果:本发明提供了一种业务访问的处理方法、装置、设备及存储介质,其中,所述业务访问的处理方法包括:判断服务器当前的业务访问场景;若服务器当前的业务访问场景是读取多写入少,则增加服务器中逻辑计算层的数量并减少服务器中业务逻辑的判断;若服务器当前的业务访问场景是写入多读取少,则将写入业务放入队列中进行延迟处理。本发明的业务访问的处理方法对业务访问进行了分场景识别,针对不同的业务访问场景能够根据是读取占多数还是写入占多数执行不同的访问处置策略,提高了业务访问的处理效率,避免了业务访问堵塞。

附图说明

图1为本发明一种业务访问的处理方法的一个实施例示意图;

图2为本发明一种业务访问的处理装置的一个实施例示意图;

图3为本发明一种业务访问的处理设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种业务访问的处理方法、装置、设备及存储介质。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明第一方面提供了一种业务访问的处理方法,所述业务访问的处理方法包括:

s100、判断服务器当前的业务访问场景;

s200、若服务器当前的业务访问场景是读取多写入少,则增加服务器中逻辑计算层的数量并减少服务器中业务逻辑的判断;

s300、若服务器当前的业务访问场景是写入多读取少,则将写入业务放入队列中进行延迟处理。

目前的业务服务器,由于要考虑在大并发场景下的锁争抢、内存占用、cpu占用、响应时间、流量控制、熔断等特定场景的技术问题,导致业务逻辑复杂,本发明将这些问题进行分析后,得到一个可以解决上述问题的方案,即如果业务是读多写少的,可以增加逻辑计算层减少业务判断,如果业务是写多读少的,则可以利用逻辑计算缓存层将写内容放入高速列队,延迟处理,避免缓存击穿。本发明通过上述的业务访问方法可以有效的提高服务器处理业务访问的性能。

在本发明第一方面一种可选的实施方式中,所述业务访问的处理方法还包括:

预先对服务器中的业务逻辑进行分类,根据业务访问所需的数据处理量将服务器中的业务逻辑分为简单逻辑和复杂逻辑。

在本实施例中,本发明还预先对服务器中的业务逻辑进行了分类,这样做得好处是可以根据业务访问的具体情况采用不同的业务逻辑进行处理,在具体进行业务逻辑的分类时,比如根据业务访问所需要获取或者写入的数据量大于第一阈值时,则通过复杂逻辑来处理该业务访问的过程,若业务访问所需要获取或者写入的数据量小于第二阈值时,则通过简单逻辑来处理该业务访问的过程,其中,第一阈值和第二阈值可以不相同,更进一步的,第二阈值的大小小于第一阈值的大小。简单逻辑部分具体可以包含一些不复杂的业务逻辑,例如正则匹配、基于时间、高速nosql数据库、cookie、http头等的条件判断,还可以包含一些逻辑简单的cpu密集型运算,或可以进行直接返回的静态数据内容。

在本发明第一方面一种可选的实施方式中,在服务器中,通过lua语言来构建的简单逻辑的代码。在服务器运行中,由lua构建的简单逻辑代码,简单逻辑会在第一次访问的时候经由jit技术即时编译成机器码,载入内存方法区执行,当逻辑内容可以直接返回结果时,请求会在这层被直接返回,当逻辑内容不能满足请求内容,请求可以被放入内存列队或直接加上自定义参数经由反向代理抛给后端复杂逻辑,待复杂逻辑部分处理完成后,再次返回给简单逻辑,简单逻辑可以直接返回结果或者进一步处理后返回结果。进一步的,本发明简单逻辑部分可以使用高速内存缓存及网络nosql提供的分布式锁功能,提供基础逻辑判断及分布式锁定,甚至做一些例如md5加密或基于rsa的jwt加密解密的cpu密集型运算。

在本发明第一方面一种可选的实施方式中,在服务器中,通过java语言、php语言或c语言来构建复杂逻辑的代码。在本实施例中,复杂逻辑采用上述语言进行编码,可以有效的复杂逻辑的开发效率以及提高复杂逻辑运行的稳定性。通过本方案可以有效提升复杂逻辑大规模并发应用的开发速度,为互联网业务的快速上线争取了宝贵的时间,一个由java语言开发需要2周时间的项目,经过这种方法改造3天就可以上线。

在本发明第一方面一种可选的实施方式中,所述业务访问的处理方法还包括:

判断业务访问的类型;

若业务访问的类型属于可以直接返回访问结果的情形,则通过简单逻辑来处理业务访问请求;

若业务访问的类型属于无法直接返回访问结果的情形,则通过复杂逻辑来处理业务访问请求。

在本实施例中,业务访问的类型可以直接返回访问结果即业务访问数据的处理量不大,业务访问的类型无法直接返回访问结果即业务访问数据的处理过程多步骤繁琐,因此需要复杂逻辑进行处理。

在本发明第一方面一种可选的实施方式中,判断服务器当前的业务访问场景时,通过读取服务器的静态数据来识别服务器当前的业务访问场景是读取多写入少还是写入多读取少。静态数据是指在服务器运行过程中主要作为控制或参考用的数据,它们在很长的一段时间内不会变化,一般不随运行而变,动态数据包括所有在运行中发生变化的数据以及在运行中需要输入、输出的数据及在连机操作中要改变的数据。通过服务器稳定运行时的数据来判断服务器当前的业务访问情况,这样判断出来的业务访问场景更具有代表性。

在本发明第一方面一种可选的实施方式中,将写入业务放入队列中进行延迟处理之后包括:设置写入业务再次访问服务器的时间。

本发明第二方面提供了一种业务访问的处理装置,所述业务访问的处理装置包括:

判断模块10,用于判断服务器当前的业务访问场景;

第一处理模块20,用于若服务器当前的业务访问场景是读取多写入少,则增加服务器中逻辑计算层的数量并减少服务器中业务逻辑的判断;

第二处理模块30,用于若服务器当前的业务访问场景是写入多读取少,则将写入业务放入队列中进行延迟处理。

在本发明第二方面一种可选的实施方式中,所述业务访问的处理装置还包括:

分类模块,用于预先对服务器中的业务逻辑进行分类,根据业务访问所需的数据处理量将服务器中的业务逻辑分为简单逻辑和复杂逻辑。

在本发明第而方面一种可选的实施方式中,在服务器中,通过lua语言来构建的简单逻辑的代码。

在本发明第二方面一种可选的实施方式中,在服务器中,通过java语言、php语言或c语言来构建复杂逻辑的代码。

在本发明第二方面一种可选的实施方式中,所述判断模块还用于判断业务访问的类型;

若业务访问的类型属于可以直接返回访问结果的情形,则通过简单逻辑来处理业务访问请求;

若业务访问的类型属于无法直接返回访问结果的情形,则通过复杂逻辑来处理业务访问请求。

在本发明第二方面一种可选的实施方式中,判断服务器当前的业务访问场景时,通过读取服务器的静态数据来识别服务器当前的业务访问场景是读取多写入少还是写入多读取少。

在本发明第二方面一种可选的实施方式中,将写入业务放入队列中进行延迟处理之后包括:设置写入业务再次访问服务器的时间。

图3是本发明实施例提供的一种业务访问的处理设备的结构示意图,该业务访问的处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器40(centralprocessingunits,cpu)(例如,一个或一个以上处理器)和存储器50,一个或一个以上存储应用程序或数据的存储介质60(例如一个或一个以上海量存储设备)。其中,存储器和存储介质可以是短暂存储或持久存储。存储在存储介质的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对业务访问的处理设备中的一系列指令操作。更进一步地,处理器可以设置为与存储介质通信,在业务访问的处理设备上执行存储介质中的一系列指令操作。

业务访问的处理设备还可以包括一个或一个以上电源70,一个或一个以上有线或无线网络接口80,一个或一个以上输入输出接口90,和/或,一个或一个以上操作系统,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图3示出的业务访问的处理设备结构并不构成对业务访问的处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述的业务访问的处理方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1