CN108429780B - 关联系统间的数据调用系统及方法 - Google Patents

关联系统间的数据调用系统及方法 Download PDF

Info

Publication number
CN108429780B
CN108429780B CN201710490402.8A CN201710490402A CN108429780B CN 108429780 B CN108429780 B CN 108429780B CN 201710490402 A CN201710490402 A CN 201710490402A CN 108429780 B CN108429780 B CN 108429780B
Authority
CN
China
Prior art keywords
threads
access requests
distributing
client
access
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
Application number
CN201710490402.8A
Other languages
English (en)
Other versions
CN108429780A (zh
Inventor
刘四根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201710490402.8A priority Critical patent/CN108429780B/zh
Priority to PCT/CN2018/077657 priority patent/WO2019000995A1/zh
Publication of CN108429780A publication Critical patent/CN108429780A/zh
Application granted granted Critical
Publication of CN108429780B publication Critical patent/CN108429780B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种关联系统间的数据调用方法,该方法包括:根据第一系统配置的服务器数量创建多个线程;当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程;及调用所述多个线程执行分配得到的访问请求,通过网络访问第二系统,将从第二系统获取的数据反馈给所述第一系统,由第一系统反馈给客户端。该方法可以对同一时间发生的大量访问请求起到限流的作用,解决第一系统因收到大批量访问请求后,大量线程无限制地远程调用第二系统的数据,导致第一系统大量线程被占用、第二系统被大量线程无限制地远程调用,而造成第一系统及第二系统不堪重负的技术问题。本发明还提供了一种服务器及计算机可读存储介质。

Description

关联系统间的数据调用系统及方法
技术领域
本发明涉及数据调用领域,尤其涉及一种关联系统间的数据调用系统及方法。
背景技术
复杂的应用场景下,两个或两个以上的关联系统之间需要频繁地进行远程实时数据交互,容易造成关联系统因被无限制的大量远程调用数据而被压垮的问题。如某业务系统中的大量的流程节点需要调用某工作流系统的数据,进行流程的流转,且需要流程流转的时效性很高。一般的做法是业务系统的工作节点直接远程调用工作流系统,容易造成工作流系统被无限制的大量远程调用直到被压垮甚至崩溃。
目前,业界基于工作流的数据处理方法是,将流程定义的最小元素细化到节点;将流程定义和任务获取权限的定义分成两个独立的模块,相互之间不再依赖;增加任务缓存Cache模块,对绝大多数任务的查询操作由该模块提供,降低DB的压力;增加历史数据分发BAM模块,根据任务所属的系统不同将历史数据分发给各第一系统自行保管并维护。尽管这种方法可以灵活的定义流程模式、支持流程间通信、可以快速响应业务权限调整,但未解决第一系统的工作节点大量远程调用第二系统的数据,造成第二系统被无限制的大量远程调用而被压垮的问题。
发明内容
本发明提供一种关联系统间的数据调用系统及方法,其主要目的在于解决因第一系统的大量线程无限制地远程调用第二系统的数据,导致第一系统大量线程被占用、第二系统被大量线程无限制地远程调用,而造成第一系统及第二系统被压垮的技术问题。
为实现上述目的,本发明提供一种关联系统间的数据调用方法,该方法包括以下步骤:
根据第一系统配置的服务器数量创建多个线程;
当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程;及
调用所述多个线程执行分配得到的访问请求,通过网络访问第二系统,将从第二系统获取的数据反馈给所述第一系统,由第一系统反馈给客户端。优选地,所述根据第一系统配置的服务器数量创建多个线程的步骤包括:
确定第一系统所配置的服务器数量;及
根据所述第一系统所配置的服务器数量创建相应的多个线程。
优选地,所述当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程的步骤包括:
将所述第一系统收到的客户端发送的访问请求数量与所述多个线程的数量执行求余运算;
根据运算结果将访问请求分配给所述多个线程。
优选地,该关联系统间的数据调用系统存储于第一系统所配置的服务器集群提供的存储空间。
优选地,该存储空间可以位于第一系统的服务器集群中的某一台服务器,也可以是由第一系统的服务器集群中不同服务器的存储空间碎片组成的一个存储空间。
优选地,创建的多个线程的数量为第一系统配置的服务器数量的整数倍。
另外,为实现上述目的,本发明还提供一种服务器,所述服务器包括存储设备、处理器、显示器及存储在所述存储设备上并可在所述处理器上运行的关联系统间的数据调用系统,所述处理器执行所述关联系统间的数据调用系统时,可实现如下步骤:
根据第一系统配置的服务器数量创建多个线程;
当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程;及
调用所述多个线程执行分配得到的访问请求,通过网络访问第二系统,将从第二系统获取的数据反馈给所述第一系统,由第一系统反馈给客户端。
优选地,所述根据第一系统配置的服务器数量创建多个线程的步骤包括:
确定第一系统所配置的服务器数量;及
根据所述第一系统所配置的服务器数量创建相应的多个线程。
优选地,所述当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程的步骤包括:
将所述第一系统收到的客户端发送的访问请求数量与所述多个线程的数量执行求余运算;
根据运算结果将访问请求分配给所述多个线程。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有关联系统间的数据调用系统,所述关联系统间的数据调用系统被至少一个处理器执行时,可实现如下步骤:
根据第一系统配置的服务器数量创建多个线程;
当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程;及
调用所述多个线程执行分配得到的访问请求,通过网络访问第二系统,将从第二系统获取的数据反馈给所述第一系统,由第一系统反馈给客户端。
优选地,所述根据第一系统配置的服务器数量创建多个线程的步骤包括:
确定第一系统所配置的服务器数量;及
根据所述第一系统所配置的服务器数量创建相应的多个线程。
优选地,所述当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程的步骤包括:
将所述第一系统收到的客户端发送的访问请求数量与所述多个线程的数量执行求余运算;
根据运算结果将访问请求分配给所述多个线程。
相较现有技术,本发明提供的关联系统间的数据调用系统及方法,通过在第一系统与第二系统之间设置一数据调用系统,利用该关联系统间的数据调用系统,可以对同时发生的访问请求起到限流的作用,解决现有技术中第一系统收到大批量访问请求时,调用大量线程无限制地远程调用第二系统的数据,使第一系统大量线程被占用、第二系统被大量线程无限制远程调用,从而造成第一系统及第二系统不堪重负的问题。
附图说明
图1为本发明关联系统间的数据调用系统较佳实施例的应用环境图。
图2为本发明关联系统间的数据调用系统较佳实施例的功能模块图。
图3为本发明关联系统间的数据调用系统较佳实施例的硬件架构图。
图4为本发明关联系统间的数据调用方法较佳实施例的流程图。
图5为本发明关联系统间的数据调用方法较佳实施例中步骤S10的细化流程图。
图6为本发明关联系统间的数据调用方法较佳实施例中步骤S20的细化流程图。
附图标记:
1、4 服务器
2 网络
3 客户端
11、21 存储设备
12 处理器
13 显示器
10 关联系统间的数据调用系统
110 线程创建模块
120 请求分配模块
130 请求执行模块
121 运算模块
122 任务分配模块
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明关联系统间的数据调用系统10较佳实施例的应用环境图。
在本实施例中,所述关联系统间的数据调用系统10架设于两个或两个以上关联系统之间,如:第一系统A与第二系统B。所述第一系统A及所述第二系统B均配置有一台或多台服务器1,该第一系统A及该第二系统B之间可以进行数据交互。所述数据调用系统应用于该第一系统A配置的一台或多台服务器1,所述一台或多台服务器1通过网络2连接一个或多个客户端3。
在本实施例中,所述第一系统A可以是业务系统,如某金融服务机构的业务系统,所述第二系统B可以是工作流系统,如管理该金融服务机构各个工作流程节点的系统。在其他实施例中,所述第一系统A也可以是其他机构的业务系统。
所述第一系统A配置的所述一台或多台服务器1连接存储设备11。该存储设备11存储了该金融服务机构所有客户的资料,例如客户身份信息、账号信息及保险购买信息等资料。所述一台或多台服务器1连接的存储设备11可以是本地的存储设备,也可以是通过网络2连接的存储设备。
所述第二系统B配置的所述一台或多台服务器4连接存储设备21。该存储设备21存储了该金融服务机构所有保单流程节点状况等数据。所述一台或多台服务器2连接的存储设备21可以是本地的存储设备,也可以是通过网络2连接的存储设备。
其中,所述关联系统间的数据调用系统10可以配置于所述第一系统A所配置的一台或多台服务器1提供的存储空间。该存储空间可以位于第一系统A的一台或多台服务器1中的某一台服务器1,也可以是由第一系统A的一台或多台服务器1中不同服务器1的存储空间碎片组成的一个存储空间。
优选地,所述关联系统间的数据调用系统10还可以配置于单一的服务器1。
网络2可以为局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)和城域网(Metropolitan Area Network,MAN)等等类型的网络,可以为有线网络(Wired network),光纤网络(Optical Fiber Network),也可以为无线网络(wirelessnetwork)。
客户端3可以为桌上型计算机、笔记本、平板电脑、智能手机、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等可以通过网络2与服务器1进行通信的终端设备。
如图2所示,是本发明关联系统间的数据调用系统10较佳实施例的功能模块图。
在本实施例中,所述关联系统为第一系统A与第二系统B,关联系统间的数据调用系统10架设在所述第一系统A及所述第二系统B之间,所述第一系统A为业务系统,所述第二系统B为工作流系统。所述关联系统间的数据调用系统10包括:线程创建模块110、请求分配模块120及请求执行模块130。
线程创建模块110,用于根据第一系统A配置的服务器1数量创建多个线程。所述线程创建模块110则依据所述第一系统A配置的服务器1数量,创建相应的多个线程,该多个线程的数量为所述第一系统A配置的服务器1数量的整数倍。例如,若业务系统配置的服务器1数量为5台,那么,线程创建模块110创建多个线程,可以是5个、10个、15个等。
具体地,所述线程创建模块110还用于确定所述第一系统A配置的服务器1数量。以业务系统为例,在业务系统创建过程中,对于该业务系统所配置的服务器1数量,工程师会考虑到该业务系统未来可能要面对的最大并发数量,并以此来配置服务器1数量。若该业务系统未来的并发数量较大,那么相应的该业务系统配置的服务器1数量会相应增加。当然,服务器1数量并不会因并发数量增大而无限增加。故所述线程创建模块110可从所述业务系统的配置文件中查询该业务系统配置的服务器1数量,或者从该业务系统的相关记录中查询该业务系统配置的服务器1数量。
请求分配模块120,用于当第一系统A收到客户端3发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程。以业务系统为例,业务系统配置的服务器1数量为5台、所述线程创建模块110创建10个线程,将该10个线程依次进行编号:0号线程、1号线程、2号线程、…、9号线程,当业务系统收到来自客户端3的大量访问请求时,所述请求分配模块120将大量访问请求尽可能均匀地分配给该10个线程。
进一步地,所述请求分配模块120包括:运算模块121及任务分配模块122。
运算模块121,用于将所述第一系统A收到的访问请求数量与所述多个线程的数量执行求余(MOD)运算。例如,当所述业务系统收到来自客户端3的25条访问请求时,所述运算模块121将收到的访问请求数量25与线程数量10进行求余运算,25与10的求余结果为5。
任务分配模块122,用于根据运算结果将访问请求分配给所述多个线程。若运算结果为0,那么所述任务分配模块122将该大量的访问请求平均分配给所述多个线程。若运算结果为a,且a≠0,那么,将收到的访问请求的数量减去a后,平均分配给所述多个线程,然后将剩下的a条访问请求依次分配给0号至(a-1)号线程,直至分完为止。
例如,所述运算模块121将业务系统接收到的访问请求数量为20条,线程数量为10个,执行求余运算得到的结果为0,那么,所述任务分配模块122将20条访问请求平均分配给10个线程,每个线程平均分到2条数据请求。
若所述运算模块121将业务系统接收到的访问请求数量为25条,线程数量为10个,执行求余运算得到的结果为5,那么收到的25条访问请求减去求余的5条访问请求后有20条访问请求,所述任务分配模块122先将该20条访问请求平均分配给10个线程后,剩下的5条线程依次分给0号线程、1号线程、2号线程、3号线程及4号线程。
具体地,所述任务分配模块122还根据各线程目前的访问请求处理情况对新的访问请求进行分配。例如,业务系统收到12条新的访问请求,且各线程未完成的访问请求处理情况如下,1号线程:1条;3号线程:1条;其他线程所分配到的访问请求均已完成处理。那么,业务系统接收到的新的访问请求数量12,线程数量为10个,所述运算模块121执行求余运算得到的结果为2,那么收到的12条访问请求减去求余的2条访问请求后有10条访问请求,所述任务分配模块122先将该10条访问请求平均分配给10个线程后,因1号线程还有未处理的访问请求,故将剩下的2条线程依次分给0号线程及2号线程。
请求执行模块130,用于调用所述多个线程执行其分配得到的访问请求,通过网络2访问第二系统B,将从第二系统B获取的数据反馈给第一系统A,由第一系统A反馈给客户端3。以寿险行业为例,寿险流程包括以下几个节点:投保-核保-承保。每个寿险业务人员均通过客户端3访问业务系统、进行相关操作,工作流系统则对寿险各流程节点进行管理。若寿险业务人员欲从业务系统上查询单号为xx的寿险订单目前的处理情况,那么,业务系统接收到这个访问请求后,所述请求执行模块130调用线程,通过网络2访问工作流系统,读取到与单号为xx的寿险订单相关的数据,并将该结果反馈至业务系统,告知客户端3的寿险业务人员该单号的寿险订单目前处于核保状态。再比如,该寿险业务人员对单号为xx的寿险订单进行了核对,确保该订单信息准确无误,可以进入下一个节点—承保节点,那么,寿险业务人员在业务系统上进行相应操作,所述请求执行模块130将该信号发送至工作流系统,使该寿险订单处理状态进入到下一个节点,然后,将该寿险订单的处理结果反馈至业务系统,告知客户端3的寿险业务人员该订单已进入承保节点。
如图3所示,是本发明关联系统间的数据调用系统10较佳实施例的硬件架构图。
在本实施例中,所述关联系统间的数据调用系统10应用于服务器1,该服务器1包括,但不仅限于,存储设备11、处理器12及显示器13。
存储设备11存储有关联系统间的数据调用系统10的程序代码,该存储设备11可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。
处理器12可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于从存储设备11中读取并运行其存储的关联系统间的数据调用系统10的程序。
显示器13可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(OrganicLight-Emitting Diode,有机发光二极管)触摸器等。显示器13用于显示可视化的用户界面。
优选地,该服务器1还可以包括用户接口,用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的,用户接口还可以包括标准的有线接口、无线接口。
图3仅示出了具有组件11-13以及关联系统间的数据调用系统10的服务器1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
如图4所示,是本发明关联系统间的数据调用方法较佳实施例的流程图。
在本实施例中,所述关联系统间的数据调用方法包括:步骤S10、S20及步骤S30。
步骤S10,根据第一系统A配置的服务器1数量创建多个线程。在第一系统A及第二系统B之间架设一个关联系统间的数据调用系统10,所述线程创建模块110则依据所述第一系统A配置的服务器1数量,创建相应的多个线程,该多个线程的数量为所述第一系统A配置的服务器1数量的整数倍。
具体地,如图5所示,步骤S10包括:步骤S11及步骤S12。
步骤S11,确定第一系统A所配置的服务器1数量。以业务系统为例,在业务系统创建过程中,对于该业务系统所配置的服务器1数量,工程师会考虑到该业务系统未来可能要面对的最大并发数量,并以此来配置服务器1数量。若该业务系统未来的并发数量较大,那么相应的该业务系统配置的服务器1数量会相应增加。当然,服务器1数量并不会因并发数量增大而无限增加。故所述线程创建模块110可从所述业务系统的配置文件中查询该业务系统配置的服务器1数量,或者从该业务系统的相关记录中查询该业务系统配置的服务器1数量。
步骤S12,根据所述第一系统A所配置的服务器1数量创建相应的多个线程。该多个线程的数量为所述第一系统A配置的服务器1数量的整数倍。例如,若第一系统A配置的服务器1数量为5台,那么,线程创建模块110创建多个线程,可以是5个、10个、15个等。
步骤S20,当第一系统A收到客户端3发出的大量访问请求时,将收到的所述访问请求分配给所述多个线程。以业务系统为例,业务系统配置的服务器1数量为5台、所述线程创建模块110创建10个线程,将该10个线程依次进行编号:0号线程、1号线程、2号线程、…、9号线程,当业务系统收到来自客户端3的大量访问请求时,所述请求分配模块120将大量访问请求尽可能均匀地分配给该10个线程。
进一步地,如图6所示,步骤S20包括:步骤S21及步骤S22。
步骤S21,所述运算模块121将所述第一系统A收到的客户端3发出的访问请求数量与所述多个线程的数量执行求余(MOD)运算。例如,当所述业务系统收到来自客户端3的25条访问请求时,所述运算模块121将收到的访问请求数量25与线程数量10进行求余运算,25与10的求余结果为5。
步骤S22,所述任务分配模块122根据运算结果将访问请求分配给所述多个线程。若运算结果为0,那么所述任务分配模块122将该大量的访问请求平均分配给所述多个线程。若运算结果为a,且a≠0,那么,将收到的访问请求的数量减去a后,平均分配给所述多个线程,然后将剩下的a条访问请求依次分配给0号至(a-1)号线程,直至分完为止。
例如,所述运算模块121将业务系统接收到的访问请求数量为20条,线程数量为10个,执行求余运算得到的结果为0,那么,所述任务分配模块122将20条访问请求平均分配给10个线程,每个线程平均分到2条数据请求。
再例如,若所述运算模块121将第一系统A接收到的访问请求数量为25条,线程数量为10个,执行求余运算得到的结果为5,那么收到的25条访问请求减去求余的5条访问请求后有20条访问请求,所述任务分配模块122先将该20条访问请求平均分配给10个线程后,剩下的5条线程依次分给0号线程、1号线程、2号线程、3号线程及4号线程。
具体地,步骤S22还根据各线程目前的访问请求处理情况对新的访问请求进行分配。例如,业务系统收到12条新的访问请求,且各线程未完成的访问请求处理情况如下,1号线程:1条;3号线程:1条;其他线程所分配到的访问请求均已完成处理。那么,业务系统接收到的新的访问请求数量为12条,线程数量为10个,所述运算模块121执行求余运算得到的结果为2,那么收到的12条访问请求减去求余的2条访问请求后有10条访问请求,所述任务分配模块122先将该10条访问请求平均分配给10个线程后,因1号线程还有未处理的访问请求,故将剩下的2条线程依次分给0号线程及2号线程。
步骤S30,所述请求执行模块130调用所述多个线程执行分配得到的访问请求,通过网络2访问第二系统B,将从第二系统B获取的数据反馈给所述第一系统A,由第一系统A反馈给客户端3。以寿险行业为例,寿险流程包括以下几个节点:投保-核保-承保。每个寿险业务人员均通过客户端3访问业务系统、进行相关操作,工作流系统则对寿险各流程节点进行管理。若寿险业务人员欲从业务系统上查询单号为xx的寿险订单目前的处理情况,那么,业务系统接收到这个访问请求后,所述请求执行模块130调用线程,通过网络2访问工作流系统,读取到与单号为xx的寿险订单相关的数据,并将该结果反馈至业务系统,告知客户端3的寿险业务人员该单号的寿险订单目前处于核保状态。再比如,该寿险业务人员对单号为xx的寿险订单进行了核对,确保该订单信息准确无误,可以进入下一个节点—承保节点,那么,寿险业务人员在业务系统上进行相应操作,所述请求执行模块130将该信号发送至工作流系统,使该寿险订单处理状态进入到下一个节点,然后,将该寿险订单的处理结果反馈至业务系统,告知客户端3的寿险业务人员该订单已进入承保节点。
此外,本发明还包括一种计算机可读存储介质,该计算机可读存储介质存储有关联系统间的数据调用系统10。
在本实施例中,该关联系统间的数据调用系统10被至少一个处理器12执行,以实现:步骤S10、S20及步骤S30。
步骤S10,根据第一系统A配置的服务器1数量创建多个线程。在第一系统A及第二系统B之间架设一个关联系统间的数据调用系统10,所述线程创建模块110则依据所述第一系统A配置的服务器1数量,创建相应的多个线程,该多个线程的数量为所述第一系统A配置的服务器1数量的整数倍。
具体地,步骤S10包括:步骤S11及步骤S12。
步骤S11,确定第一系统A所配置的服务器1数量。以业务系统为例,在业务系统创建过程中,对于该业务系统所配置的服务器1数量,工程师会考虑到该业务系统未来可能要面对的最大并发数量,并以此来配置服务器1数量。若该业务系统未来的并发数量较大,那么相应的该业务系统配置的服务器1数量会相应增加。当然,服务器1数量并不会因并发数量增大而无限增加。故所述线程创建模块110可从所述业务系统的配置文件中查询该业务系统配置的服务器1数量,或者从该业务系统的相关记录中查询该业务系统配置的服务器1数量。
步骤S12,根据所述第一系统A所配置的服务器1数量创建相应的多个线程。该多个线程的数量为所述第一系统A配置的服务器1数量的整数倍。例如,若第一系统A配置的服务器1数量为5台,那么,线程创建模块110创建多个线程,可以是5个、10个、15个等。
步骤S20,当第一系统A收到客户端3发出的大量访问请求时,将收到的所述访问请求分配给所述多个线程。以业务系统为例,业务系统配置的服务器1数量为5台、所述线程创建模块110创建10个线程,将该10个线程依次进行编号:0号线程、1号线程、2号线程、…、9号线程,当业务系统收到来自客户端3的大量访问请求时,所述请求分配模块120将大量访问请求尽可能均匀地分配给该10个线程。
进一步地,步骤S20包括:步骤S21及步骤S22。
步骤S21,所述运算模块121将所述第一系统A收到的客户端3发出的访问请求数量与所述多个线程的数量执行求余(MOD)运算。例如,当所述业务系统收到来自客户端3的25条访问请求时,所述运算模块121将收到的访问请求数量25与线程数量10进行求余运算,25与10的求余结果为5。
步骤S22,所述任务分配模块122根据运算结果将访问请求分配给所述多个线程。若运算结果为0,那么所述任务分配模块122将该大量的访问请求平均分配给所述多个线程。若运算结果为a,且a≠0,那么,将收到的访问请求的数量减去a后,平均分配给所述多个线程,然后将剩下的a条访问请求依次分配给0号至(a-1)号线程,直至分完为止。
例如,所述运算模块121将业务系统接收到的访问请求数量为20条,线程数量为10个,执行求余运算得到的结果为0,那么,所述任务分配模块122将20条访问请求平均分配给10个线程,每个线程平均分到2条数据请求。
再例如,若所述运算模块121将第一系统A接收到的访问请求数量为25条,线程数量为10个,执行求余运算得到的结果为5,那么收到的25条访问请求减去求余的5条访问请求后有20条访问请求,所述任务分配模块122先将该20条访问请求平均分配给10个线程后,剩下的5条线程依次分给0号线程、1号线程、2号线程、3号线程及4号线程。
具体地,步骤S22还根据各线程目前的访问请求处理情况对新的访问请求进行分配。例如,业务系统收到12条新的访问请求,且各线程未完成的访问请求处理情况如下,1号线程:1条;3号线程:1条;其他线程所分配到的访问请求均已完成处理。那么,业务系统接收到的新的访问请求数量为12条,线程数量为10个,所述运算模块121执行求余运算得到的结果为2,那么收到的12条访问请求减去求余的2条访问请求后有10条访问请求,所述任务分配模块122先将该10条访问请求平均分配给10个线程后,因1号线程还有未处理的访问请求,故将剩下的2条线程依次分给0号线程及2号线程。
步骤S30,所述请求执行模块130调用所述多个线程执行分配得到的访问请求,通过网络2访问第二系统B,将从第二系统B获取的数据反馈给所述第一系统A,由第一系统A反馈给客户端3。以寿险行业为例,寿险流程包括以下几个节点:投保-核保-承保。每个寿险业务人员均通过客户端3访问业务系统、进行相关操作,工作流系统则对寿险各流程节点进行管理。若寿险业务人员欲从业务系统上查询单号为xx的寿险订单目前的处理情况,那么,业务系统接收到这个访问请求后,所述请求执行模块130调用线程,通过网络2访问工作流系统,读取到与单号为xx的寿险订单相关的数据,并将该结果反馈至业务系统,告知客户端3的寿险业务人员该单号的寿险订单目前处于核保状态。再比如,该寿险业务人员对单号为xx的寿险订单进行了核对,确保该订单信息准确无误,可以进入下一个节点—承保节点,那么,寿险业务人员在业务系统上进行相应操作,所述请求执行模块130将该信号发送至工作流系统,使该寿险订单处理状态进入到下一个节点,然后,将该寿险订单的处理结果反馈至业务系统,告知客户端3的寿险业务人员该订单已进入承保节点。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本实施方式中提到的“一个实施例”、“另一个实施例”可以为相同的实施例,也可以为不同的实施例。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (7)

1.一种关联系统间的数据调用方法,其特征在于,所述方法包括:
根据第一系统配置的服务器数量创建多个线程;
当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程;及
调用所述多个线程执行分配得到的访问请求,通过网络访问第二系统,将从第二系统获取的数据反馈给所述第一系统,由第一系统反馈给客户端;
所述当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程的步骤包括:
将所述第一系统收到的客户端发送的访问请求数量与所述多个线程的数量执行求余运算;
根据运算结果将访问请求分配给所述多个线程;
所述根据运算结果将访问请求分配给所述多个线程,包括:
若运算结果为0,则将所述访问请求平均分配给所述多个线程;
若运算结果为a,且a≠0,则将所述访问请求的数量减去a后平均分配给所述多个线程,并将剩下的a条访问请求依次分配给0号至(a-1)号线程,直至分完为止;
当目前的访问请求为新的访问请求时,若运算结果为a,且a≠0,则将所述访问请求的数量减去a后平均分配给所述多个线程,并将剩下的a条访问请求依次分配给空闲的线程,直至分完为止。
2.如权利要求1所述的关联系统间的数据调用方法,其特征在于,所述根据第一系统配置的服务器数量创建多个线程的步骤包括:
确定第一系统所配置的服务器数量;及
根据所述第一系统所配置的服务器数量创建相应的多个线程。
3.如权利要求1或2所述的关联系统间的数据调用方法,其特征在于,所述多个线程的数量为所述第一系统配置的服务器数量的整数倍。
4.一种服务器,所述服务器包括:存储设备、处理器、显示器及存储在所述存储设备上并可在所述处理器上运行的关联系统间的数据调用系统,所述处理器执行所述关联系统间的数据调用系统时,可实现如下步骤:
根据第一系统配置的服务器数量创建多个线程;
当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程;及
调用所述多个线程执行分配得到的访问请求,通过网络访问第二系统,将从第二系统获取的数据反馈给所述第一系统,由第一系统反馈给客户端;
所述当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程的步骤包括:
将所述第一系统收到的客户端发送的访问请求数量与所述多个线程的数量执行求余运算;
根据运算结果将访问请求分配给所述多个线程;
所述根据运算结果将访问请求分配给所述多个线程,包括:
若运算结果为0,则将所述访问请求平均分配给所述多个线程;
若运算结果为a,且a≠0,则将所述访问请求的数量减去a后平均分配给所述多个线程,并将剩下的a条访问请求依次分配给0号至(a-1)号线程,直至分完为止;
当目前的访问请求为新的访问请求时,若运算结果为a,且a≠0,则将所述访问请求的数量减去a后平均分配给所述多个线程,并将剩下的a条访问请求依次分配给空闲的线程,直至分完为止。
5.如权利要求4所述的服务器,其特征在于,所述根据第一系统配置的服务器数量创建多个线程的步骤包括:
确定第一系统所配置的服务器数量;及
根据所述第一系统所配置的服务器数量创建相应的多个线程。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有数据调用系统,所述数据调用系统可被至少一个处理器执行,以实现以下步骤:
根据第一系统配置的服务器数量创建多个线程;
当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程;及
调用所述多个线程执行分配得到的访问请求,通过网络访问第二系统,将从第二系统获取的数据反馈给所述第一系统,由第一系统反馈给客户端;
当第一系统收到客户端发送的大量访问请求时,将收到的所述访问请求分配给所述多个线程的步骤包括:
将所述第一系统收到的客户端发送的访问请求数量与所述多个线程的数量执行求余运算;
根据运算结果将访问请求分配给所述多个线程;
所述根据运算结果将访问请求分配给所述多个线程,包括:
若运算结果为0,则将所述访问请求平均分配给所述多个线程;
若运算结果为a,且a≠0,则将所述访问请求的数量减去a后平均分配给所述多个线程,并将剩下的a条访问请求依次分配给0号至(a-1)号线程,直至分完为止;
当目前的访问请求为新的访问请求时,若运算结果为a,且a≠0,则将所述访问请求的数量减去a后平均分配给所述多个线程,并将剩下的a条访问请求依次分配给空闲的线程,直至分完为止。
7.如权利要求6所述的计算机可读存储介质,其特征在于,所述根据第一系统配置的服务器数量创建多个线程的步骤包括:
确定第一系统所配置的服务器数量;及
根据所述第一系统所配置的服务器数量创建相应的多个线程。
CN201710490402.8A 2017-06-25 2017-06-25 关联系统间的数据调用系统及方法 Active CN108429780B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710490402.8A CN108429780B (zh) 2017-06-25 2017-06-25 关联系统间的数据调用系统及方法
PCT/CN2018/077657 WO2019000995A1 (zh) 2017-06-25 2018-02-28 关联系统间的数据调用系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710490402.8A CN108429780B (zh) 2017-06-25 2017-06-25 关联系统间的数据调用系统及方法

Publications (2)

Publication Number Publication Date
CN108429780A CN108429780A (zh) 2018-08-21
CN108429780B true CN108429780B (zh) 2021-05-07

Family

ID=63155430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710490402.8A Active CN108429780B (zh) 2017-06-25 2017-06-25 关联系统间的数据调用系统及方法

Country Status (2)

Country Link
CN (1) CN108429780B (zh)
WO (1) WO2019000995A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112541027B (zh) * 2020-11-24 2024-03-22 国网商旅云技术有限公司 一种数据处理方法及装置
CN113259261B (zh) * 2021-03-25 2023-04-18 中国铁道科学研究院集团有限公司电子计算技术研究所 网络流量控制方法和电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105930216A (zh) * 2016-04-15 2016-09-07 平安科技(深圳)有限公司 电子签名系统自动排配方法、系统及服务器
CN106330987A (zh) * 2015-06-15 2017-01-11 交通银行股份有限公司 动态负荷均衡方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006520A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Multiple Thread Pools for Processing Requests
CN101753552A (zh) * 2008-12-01 2010-06-23 鸿富锦精密工业(深圳)有限公司 网络通信系统及方法
CN102904964A (zh) * 2012-10-26 2013-01-30 南京信息工程大学 基于完成端口模型的海量集中器并发处理方法
US9680764B2 (en) * 2013-04-06 2017-06-13 Citrix Systems, Inc. Systems and methods for diameter load balancing
CN103731476A (zh) * 2013-12-10 2014-04-16 乐视网信息技术(北京)股份有限公司 一种提高信息推送速度的方法和装置
CN104133724B (zh) * 2014-04-03 2015-08-19 腾讯科技(深圳)有限公司 并发任务调度方法及装置
JP2017037539A (ja) * 2015-08-12 2017-02-16 富士通株式会社 サーバ制御プログラム、サーバ制御方法およびサーバ制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330987A (zh) * 2015-06-15 2017-01-11 交通银行股份有限公司 动态负荷均衡方法
CN105930216A (zh) * 2016-04-15 2016-09-07 平安科技(深圳)有限公司 电子签名系统自动排配方法、系统及服务器

Also Published As

Publication number Publication date
CN108429780A (zh) 2018-08-21
WO2019000995A1 (zh) 2019-01-03

Similar Documents

Publication Publication Date Title
CN111814197B (zh) 一种数据共享方法、装置及服务器、存储介质
CN108848039B (zh) 服务器、消息分配的方法及存储介质
CN102495857B (zh) 一种分布式数据库的负载均衡方法
US9569276B2 (en) System and method for dynamic user assignment in a virtual desktop environment
CN108399101B (zh) 资源调度的方法、装置和系统
US7716193B2 (en) Ensuring timely servicing of desired transactions in a database server
US20170293632A1 (en) Reliable generation of a unique key in a distributed system
US9792185B2 (en) Directed backup for massively parallel processing databases
WO2019148728A1 (zh) 电子装置、分布式系统执行任务分配方法及存储介质
US20190377622A1 (en) Processing System For Performing Predictive Error Resolution And Dynamic System Configuration Control
US11902102B2 (en) Techniques and architectures for efficient allocation of under-utilized resources
CN109492856B (zh) 业务请求处理方法、装置、计算机设备以及存储介质
CN108429780B (zh) 关联系统间的数据调用系统及方法
WO2019024235A1 (zh) 电子装置、服务器分配控制方法和计算机可读存储介质
CN111045802B (zh) Redis集群组件调度系统及方法、平台设备
CN109213743B (zh) 一种数据查询方法和装置
US11636446B2 (en) Systems and methods for providing status-based maintenance schedules
CN113407108A (zh) 一种数据存储方法和系统
EP2828761A1 (en) A method and system for distributed computing of jobs
US10963311B2 (en) Techniques and architectures for protection of efficiently allocated under-utilized resources
CN112685157B (zh) 任务处理方法、装置、计算机设备及存储介质
CN115509861A (zh) 进程监控方法、系统、计算机设备和存储介质
WO2019001272A1 (zh) 数据搬迁系统及方法
CN108874923B (zh) 虚拟物品分发方法、服务器及计算机可读存储介质
KR20080104863A (ko) 워크플로우 모델링 데이터 관리장치 및 방법

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