一种基于多进程并发的数据处理方法及装置制造方法

文档序号:6548056阅读:387来源:国知局
一种基于多进程并发的数据处理方法及装置制造方法
【专利摘要】本发明实施例公开了一种基于多进程并发的数据处理方法及装置,所述方法包括:接收任一数据处理请求,所述数据处理请求包括外部处理标识;根据预存的外部处理标识与内部处理标识的对应关系,将所述外部处理标识转换为与所述外部处理标识对应的内部处理标识;判断所述内部处理标识对应的当前进程并发数是否小于预设的所述内部处理标识的最大进程并发数;当所述内部处理标识对应的当前进程并发数小于所述最大进程并发数时,执行所述内部处理标识对应的可执行代码,得到处理结果,并显示所述处理结果。本实施例能够根据预先设置的最大进程并发数控制多进程并发的数据处理方式,避免对数据处理平台的稳定性和安全性构成威胁。
【专利说明】一种基于多进程并发的数据处理方法及装置
【技术领域】
[0001]本发明涉及数据处理【技术领域】,具体涉及一种基于多进程并发的数据处理方法及装直。
【背景技术】
[0002]目前,在开发软件业务时,通常会基于多进程进行数据处理,例如在开发银行软件中间业务时,处理实时代收代付的联机交易及批量代收代付交易,由于不仅需要处理与银行柜台前端交互、银行后台系统的账户交互,还要处理与第三方客户相关业务接口的交互。另外,不仅要实时发起银行入账,同时需要接受第三方各类代收代付批量报文,进行批量转联机或者批量转批量到银行后台系统进行账户处理。所以,在处理银行业务时多进程的数据处理方式是必须的。
[0003]但是,当数据处理并发的进程较多时,可能对数据处理平台的稳定性和安全性构成威胁。

【发明内容】

[0004]本发明提供了一种基于多进程并发的数据处理方法及装置,能够控制多进程并发的数据处理方式,保证数据处理平台的稳定性和安全性。
[0005]本发明提供了一种基于多进程并发的数据处理方法,所述方法包括:
[0006]接收任一数据处理请求,所述数据处理请求包括外部处理标识;
[0007]根据预存的外部处理标识与内部处理标识的对应关系,将所述外部处理标识转换为与所述外部处理标识对应的内部处理标识;
[0008]判断所述内部处理标识对应的当前进程并发数是否小于预设的所述内部处理标识的最大进程并发数;
[0009]当所述内部处理标识对应的当前进程并发数小于所述最大进程并发数时,执行所述内部处理标识对应的可执行代码,得到处理结果,并显示所述处理结果。
[0010]优选地,所述方法还包括:
[0011]当所述内部处理标识对应的当前进程并发数不小于所述最大进程并发数时,将所述数据处理请求设置为等待状态。
[0012]优选地,所述执行所述内部处理标识对应的可执行代码之前,还包括:
[0013]获取所述内部处理标识对应的源代码;
[0014]对所述源代码进行编译后得到中间代码,所述中间代码包括代码段和数据段;
[0015]加载所述代码段和数据段后,得到所述内部处理标识对应的可执行代码。
[0016]优选地,所述加载所述代码段和数据段后,得到所述内部处理标识对应的可执行代码之前,还包括:
[0017]接收所述数据处理请求对应的参数值,并将所述参数值赋值到所述中间代码的数据段。[0018]优选地,所述接收任一数据处理请求之前,还包括:
[0019]判断当前总进程的并发数是否达到预设的最大总进程并发数;
[0020]如果当前总进程的并发数未达到预设的最大总进程并发数,则接收所述数据处理请求。
[0021]本发明是提供了一种基于多进程并发的数据处理装置,所述装置包括:
[0022]第一接收模块,用于接收任一数据处理请求,所述数据处理请求包括外部处理标识;
[0023]转换模块,用于根据预存的外部处理标识与内部处理标识的对应关系,将所述外部处理标识转换为与所述外部处理标识对应的内部处理标识;
[0024]第一判断模块,用于判断所述内部处理标识对应的当前进程并发数是否小于预设的所述内部处理标识的最大进程并发数;
[0025]执行模块,用于当所述内部处理标识对应的当前进程并发数小于所述最大进程并发数时,执行所述内部处理标识对应的可执行代码,得到处理结果;
[0026]显示模块,用于显示所述处理结果。
[0027]优选地,所述装置还包括:
[0028]设置模块,用于当所述内部处理标识对应的当前进程并发数不小于所述最大进程并发数时,将所述数据处理请求设置为等待状态。
[0029]优选地,所述装置还包括:
[0030]获取模块,用于获取所述内部处理标识对应的源代码;
[0031]编译模块,用于对所述源代码进行编译后得到中间代码,所述中间代码包括代码段和数据段;
[0032]加载模块,用于加载所述代码段和数据段后,得到所述内部处理标识对应的可执行代码。
[0033]优选地,所述装置还包括:
[0034]第二接收模块,用于接收所述数据处理请求对应的参数值;
[0035]赋值模块,用于将所述参数值赋值到所述中间代码的数据段。
[0036]优选地,所述装置还包括:
[0037]第二判断模块,用于判断当前总进程的并发数是否达到预设的最大总进程并发数;
[0038]第三接收模块,用于如果当前总进程的并发数未达到预设的最大总进程并发数,则接收所述数据处理请求。
[0039]本发明首先接收任一数据处理请求,所述数据处理请求包括外部处理标识;其次,根据预存的外部处理标识与内部处理标识的对应关系,将所述外部处理标识转换为与所述外部处理标识对应的内部处理标识;再次,判断所述内部处理标识对应的当前进程并发数是否小于预设的所述内部处理标识的最大进程并发数;当所述内部处理标识对应的当前进程并发数小于所述最大进程并发数时,执行所述内部处理标识对应的可执行代码,得到处理结果,并显示所述处理结果。本发明能够根据预先设置的最大进程并发数控制多进程并发的数据处理方式,避免对数据处理平台的稳定性和安全性构成威胁。【专利附图】

【附图说明】
[0040]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0041]图1为本发明实施例一提供的基于多进程并发的数据处理方法流程图;
[0042]图2为本发明实施例一提供的确定与所述内部处理标识对应的可执行代码的具体实现方式流程图;
[0043]图3为本发明实施例二提供的基于多进程并发的数据处理装置结构示意图。【具体实施方式】
[0044]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0045]实施例一
[0046]参考图1,图1为本实施例提供的基于多进程并发的数据处理方法流程图,所述方法可以包括:
[0047]SlOl:接收任一数据处理请求,所述数据处理请求包括外部处理标识。
[0048]本实施例中,首先接收来自用户的数据处理请求,其中,所述数据处理请求中包括外部处理标识。
[0049]具体的,所述数据处理请求可以为来自银行柜台的缴费请求、来自ATM自动取款机的缴费请求或者来自网银系统的缴费请求等。
[0050]实际操作中,当接收来自用户的数据处理请求时,首先将所述数据处理请求做初始数据转换,获取所述数据处理请求中的外部处理标识。例如:银行缴收电费可以通过不同的渠道进行,从而各个渠道的缴费请求对应的外部交易标识也就不同。如来自银行柜台前端的电费缴费请求的外部处理标识可以用“ABCD”表示;来自ATM前端的电费缴费请求的外部处理标识可以用“000123”表示;。由于电费缴费请求的渠道不同,数据包格式也可能不一样,本实施例可以根据数据处理请求的封装格式获取其中的外部处理标识。
[0051]S102:根据预存的外部处理标识与内部处理标识的对应关系,将所述外部处理标识转换为与所述外部处理标识对应的内部处理标识。
[0052]本实施例中,预先存储外部处理标识与内部处理标识的对应关系,多个外部处理标识可能同时与同一个内部处理标识相对应。例如,来自不同渠道的数据处理请求的接口可能不一样,但是处理所述数据处理请求的流程和关键要素项等可能是相同的,如缴收电费请求,来自银行柜台前端、来自ATM前端或者来自网银系统的缴收电费请求都需要执行银行后台入账、电力收费系统入账等步骤,并且这些步骤的逻辑完全相同,同时与银行后台及电力收费系统的接口完全相同,相关要素项也完全相同,所以来自不同渠道的缴收电费请求可以使用相同的内部交易代码,也就是说他们可以使用同一个内部处理标识。
[0053]本实施例中,在获取所述数据处理请求中的外部处理标识后,根据预存的外部处理标识与内部处理标识的对应关系,获取与所述外部处理标识对应的内部处理标识。
[0054]另外,如果在预存的外部处理标识与内部处理标识的对应关系中不能查询到与所述外部处理标识对应的内部处理标识,则停止对所述数据处理请求的响应,也可以向用户返回错误通知。
[0055]S103:判断所述内部处理标识对应的当前进程并发数是否小于预设的所述内部处理标识的最大进程并发数。
[0056]本实施例中,得到内部处理标识之后,获取当前执行所述内部处理标识对应的内部处理代码的进程的并发数。
[0057]为了保证数据处理平台系统本身及其外连系统运行的安全与稳定,避免引起I/O、(PU等资源瓶颈问题,本实施例预先设定了各个内部处理标识对应的最大进程并发数,最大进程并发数即在同一时间执行所述内部处理标识对应的内部处理代码的最多进程数。每个内部处理代码对应的最大进程并发数可以不同,如批量文件处理请求的最大进程并发数比联机实时转账交易请求的最大进程并发数小。
[0058]本实施例中,获取所述内部处理标识对应的当前进程并发数后,判断所述内部处理标识对应的当前进程并发数是否小于预先设置的所述内部处理标识对应的最大进程并发数。
[0059]S104:当所述内部处理标识对应的当前进程并发数小于所述最大进程并发数时,执行所述内部处理标识对应的可执行代码,得到处理结果,并显示所述处理结果。
[0060]本实施例中,当所述内部处理标识对应的当前进程并发数小于所述内部处理标识对应的最大进程并发数时,确定与所述内部处理标识对应的可执行代码,并执行所述可执行代码得到处理结果,最终将所述处理结果显示给用户。
[0061]实际操作中,参考图2,图2为确定与所述内部处理标识对应的可执行代码的具体实现方式流程图,具体可以包括:
[0062]S201:获取所述内部处理标识对应的源代码。
[0063]本实施例根据应用需求,如银行缴电费需求等,通过建立与所述应用需求对应的项目任务,配置相应数据转换表、定义关联的系统等操作,编写实现所述应用需求的源代码。由于内部处理标识用于唯一标识应用实现的功能,所以所述内部处理标识也可以唯一标识实现该功能的源代码。
[0064]S202:对所述源代码进行编译后得到中间代码,所述中间代码包括代码段和数据段。
[0065]本实施例中,获取源代码之后,获得前端的编译指令,按照所述编译指令中的编译参数,读取所述源代码。具体的,首先对所述源代码进行Iex词法分析,Iex为一种词法分析器生成工具,分析得到所述源代码中最小的有意义的符号,如变量名称、变量类型、常量值、逻辑符号、括号或函数名称等,并将其插入内存中预先设置的符号表结构中。其次,调用yacc,一种生成语法分析器的工具,对所述源代码进行语法分析,并取得所述源代码的语法规则,最终生成所述源代码的执行代码规则,所述执行代码规则可以包括函数名称、执行指令等,最后,将其插入预设的代码执行结构表中。从所述源代码对应的符号表结构及代码执行结构表中导出中间代码,其中所述中间代码包括数据段及代码段。
[0066]另外,所述中间代码中的数据段用于保存所述中间代码中的变量名称、数据位置等,具体的,将接收的来自用户的与所述数据处理请求对应的参数值赋值到数据段,如将来自用户的付款信息:付款人姓名、付款人账号、付款银行名称、付款金额等;收款信息:收款单位名称、收款单位账号等赋值到对应的数据段的不同变量中。所述代码段用于保存所述中间代码的指令信息。所述指令信息可以包括逻辑判断指令、赋值操作指令、内建函数调用操作指令等。在代码段中的指令的执行过程中可能有对应的数据段中的变量值的读写操作,例如:逻辑判断if条件判断变量,必然有对数据段的变量读操作;赋值操作必然有对变量进行写操作等。
[0067]本实施例还可以包括接收所述数据处理请求对应的参数值,并将所述参数值赋值到所述中间代码的数据段。
[0068]S203:加载所述代码段和数据段后,得到所述内部处理标识对应的可执行代码。
[0069]本实施例在获取所述中间代码中的代码段和数据段后,将所述代码段和数据段加载到内存中,得到所述内部处理标识对应的可执行代码。
[0070]为了提高可执行代码的执行效率,在加载所述代码段和数据段时,可以重新计算代码段中的指令访问数据段中变量的地址,也可以直接对数据段中的变量的值执行读写操作。
[0071]另外,本实施例中,当所述内部处理标识对应的当前进程并发数不小于所述最大进程并发数时,可以将所述数据处理请求设置为等待状态。当所述内部处理标识对应的当前进程并发数小于所述最大进程并发数时,执行处于等待状态的数据处理请求。
[0072]为了保证数据处理平台系统本身及其外连系统运行的安全与稳定,避免引起I/O、CPU等资源瓶颈问题,本实施例在接收所述数据处理请求之前,预先设置最大总进程并发数,并判断当前总进程的并发数是否达到预设的最大总进程并发数。如果当前总进程的并发数未达到预设的最大总进程并发数,则可以接收所述数据处理请求,并处理所述数据处理请求。
[0073]本实施例首先接收任一数据处理请求,所述数据处理请求包括外部处理标识;其次,根据预存的外部处理标识与内部处理标识的对应关系,将所述外部处理标识转换为与所述外部处理标识对应的内部处理标识;再次,判断所述内部处理标识对应的当前进程并发数是否小于预设的所述内部处理标识的最大进程并发数;当所述内部处理标识对应的当前进程并发数小于所述最大进程并发数时,执行所述内部处理标识对应的可执行代码,得到处理结果,并显示所述处理结果。本实施例能够根据预先设置的最大进程并发数控制多进程并发的数据处理方式,避免对数据处理平台的稳定性和安全性构成威胁。
[0074]实施例二
[0075]参考图3,图3为本实施例提供的一种基于多进程并发的数据处理装置结构示意图,所述装置可以包括:
[0076]第一接收模块301,用于接收任一数据处理请求,所述数据处理请求包括外部处理标识;
[0077]转换模块302,用于根据预存的外部处理标识与内部处理标识的对应关系,将所述外部处理标识转换为与所述外部处理标识对应的内部处理标识;
[0078]第一判断模块303,用于判断所述内部处理标识对应的当前进程并发数是否小于预设的所述内部处理标识的最大进程并发数;[0079]执行模块304,用于当所述内部处理标识对应的当前进程并发数小于所述最大进程并发数时,执行所述内部处理标识对应的可执行代码,得到处理结果;
[0080]显示模块305,用于显示所述处理结果。
[0081]另外,所述装置还可以包括:
[0082]设置模块,用于当所述内部处理标识对应的当前进程并发数不小于所述最大进程并发数时,将所述数据处理请求设置为等待状态。
[0083]另一种实现方式中,所述装置还可以包括:
[0084]获取模块,用于获取所述内部处理标识对应的源代码;
[0085]编译模块,用于对所述源代码进行编译后得到中间代码,所述中间代码包括代码段和数据段;
[0086]加载模块,用于加载所述代码段和数据段后,得到所述内部处理标识对应的可执行代码。
[0087]同时,所述装置还可以包括:
[0088]第二接收模块,用于接收所述数据处理请求对应的参数值;
[0089]赋值模块,用于将所述参数值赋值到所述中间代码的数据段。
[0090]为了保证数据处理平台系统本身及其外连系统运行的安全与稳定,避免引起I/O、CPU等资源瓶颈问题,,所述装置还可以包括:
[0091]第二判断模块,用于判断当前总进程的并发数是否达到预设的最大总进程并发数;
[0092]第三接收模块,用于如果当前总进程的并发数未达到预设的最大总进程并发数,则接收所述数据处理请求。
[0093]本实施例首先接收任一数据处理请求,所述数据处理请求包括外部处理标识;其次,根据预存的外部处理标识与内部处理标识的对应关系,将所述外部处理标识转换为与所述外部处理标识对应的内部处理标识;再次,判断所述内部处理标识对应的当前进程并发数是否小于预设的所述内部处理标识的最大进程并发数;当所述内部处理标识对应的当前进程并发数小于所述最大进程并发数时,执行所述内部处理标识对应的可执行代码,得到处理结果,并显示所述处理结果。本实施例能够根据预先设置的最大进程并发数控制多进程并发的数据处理方式,避免对数据处理平台的稳定性和安全性构成威胁。
[0094]对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0095]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0096]以上对本发明实施例所提供的基于多进程并发的数据处理方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解 本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种基于多进程并发的数据处理方法,其特征在于,所述方法包括: 接收任一数据处理请求,所述数据处理请求包括外部处理标识; 根据预存的外部处理标识与内部处理标识的对应关系,将所述外部处理标识转换为与所述外部处理标识对应的内部处理标识; 判断所述内部处理标识对应的当前进程并发数是否小于预设的所述内部处理标识的最大进程并发数; 当所述内部处理标识对应的当前进程并发数小于所述最大进程并发数时,执行所述内部处理标识对应的可执行代码,得到处理结果,并显示所述处理结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 当所述内部处理标识对应的当前进程并发数不小于所述最大进程并发数时,将所述数据处理请求设置为等待状态。
3.根据权利要求1或2所述的方法,其特征在于,所述执行所述内部处理标识对应的可执行代码之前,还包括: 获取所述内部处理标识对应的源代码; 对所述源代码进行编译后得到中间代码,所述中间代码包括代码段和数据段; 加载所述代码段和数据段后,得到所述内部处理标识对应的可执行代码。
4.根据权利要求3所述的方法,其特征在于,所述加载所述代码段和数据段后,得到所述内部处理标识对应的可执行代码之前,还包括: 接收所述数据处理请求对应的参数值,并将所述参数值赋值到所述中间代码的数据段。
5.根据权利要求1或2所述的方法,其特征在于,所述接收任一数据处理请求之前,还包括: 判断当前总进程的并发数是否达到预设的最大总进程并发数; 如果当前总进程的并发数未达到预设的最大总进程并发数,则接收所述数据处理请求。
6.一种基于多进程并发的数据处理装置,其特征在于,所述装置包括: 第一接收模块,用于接收任一数据处理请求,所述数据处理请求包括外部处理标识; 转换模块,用于根据预存的外部处理标识与内部处理标识的对应关系,将所述外部处理标识转换为与所述外部处理标识对应的内部处理标识; 第一判断模块,用于判断所述内部处理标识对应的当前进程并发数是否小于预设的所述内部处理标识的最大进程并发数; 执行模块,用于当所述内部处理标识对应的当前进程并发数小于所述最大进程并发数时,执行所述内部处理标识对应的可执行代码,得到处理结果; 显示模块,用于显示所述处理结果。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括: 设置模块,用于当所述内部处理标识对应的当前进程并发数不小于所述最大进程并发数时,将所述数据处理请求设置为等待状态。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括: 获取模块,用于获取所述内部处理标识对应的源代码;编译模块,用于对所述源代码进行编译后得到中间代码,所述中间代码包括代码段和数据段; 加载模块,用于加载所述代码段和数据段后,得到所述内部处理标识对应的可执行代码。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括: 第二接收模块,用于接收所述数据处理请求对应的参数值; 赋值模块,用于将所述参数值赋值到所述中间代码的数据段。
10.根据 权利要求6或7所述的装置,其特征在于,所述装置还包括: 第二判断模块,用于判断当前总进程的并发数是否达到预设的最大总进程并发数;第三接收模块,用于如果当前总进程的并发数未达到预设的最大总进程并发数,则接收所述数据处理请求。
【文档编号】G06F9/46GK103970599SQ201410234514
【公开日】2014年8月6日 申请日期:2014年5月29日 优先权日:2014年5月29日
【发明者】肖飞军, 邱嗣荣, 张捷, 黄新福, 毕德闯, 雷冰 申请人:中国银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1