CN112445852A - 跨系统多线程数据交互方法及系统 - Google Patents
跨系统多线程数据交互方法及系统 Download PDFInfo
- Publication number
- CN112445852A CN112445852A CN201910829436.4A CN201910829436A CN112445852A CN 112445852 A CN112445852 A CN 112445852A CN 201910829436 A CN201910829436 A CN 201910829436A CN 112445852 A CN112445852 A CN 112445852A
- Authority
- CN
- China
- Prior art keywords
- data
- generated
- placeholders
- placeholder
- identifying
- 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.)
- Pending
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012886 linear function Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Abstract
本申请公开了一种跨系统多线程数据交互方法及系统,应用于计算机数据处理技术领域,包括:接收第一系统发送的已生成数据和/或占位符,所述占位符用于标识第一系统尚未生成的数据;每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,以查询占位符所标识的数据是否生成,并在所述数据生成后,接收所述数据;其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息。本申请公开的方法能够解决由于跨系统处理数据时,由于线程间处理数据的依赖关系可能导致的数据异常问题。
Description
技术领域
本申请一般涉及计算机数据处理技术领域,具体涉及一种跨系统多线程数据交互方法及系统。
背景技术
在跨系统的开发中,系统间多次交互往往是有先后顺序的。如系统A在特定业务场景下,需要分两次请求系统B,系统B为了处理系统A的两次请求,分别创建线程1和线程2。线程2的处理依赖于线程1保存到系统B的数据,但是由于不同请求的网络传输及内部处理所耗时间可能会不一样,有可能导致线程2处理系统A的请求时,线程1的数据尚未在系统B中保存,造成数据异常。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种跨系统多线程数据交互方法及系统,能够解决由于跨系统处理数据时,由于线程间处理数据的依赖关系可能导致的数据异常问题。第一方面,本申请提供了一种跨系统多线程数据交互方法,包括如下步骤:
接收第一系统发送的已生成数据和/或占位符,所述占位符用于标识第一系统尚未生成的数据;
每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,以查询占位符所标识的数据是否生成,并在所述数据生成后,接收所述数据;其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息。
第二方面,本申请提供的一种跨系统多线程数据交互方法,包括如下步骤:
第一系统检查要发送的数据是否生成,当数据已生成时,发送已生成数据到第二系统,否则,发送占位符到第二系统以用于代替尚未生成的数据;
第二系统接收第一系统发送的已生成数据和/或占位符;
第二系统每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息;
第一系统接收所述查询信息,并查询对应于所述识别信息的数据是否生成,当对应于所述识别信息的数据已生成时,发送对应于所述识别信息的数据到第二系统;
第二系统接收对应于所述识别信息的数据。
第三方面,本申请还提供了一种跨系统多线程数据交互系统,包括:
接收单元,用于接收第一系统发送的已生成数据和/或占位符,所述占位符用于标识第一系统尚未生成的数据;
更新单元,用于每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,以查询占位符所标识的数据是否生成,并在所述数据生成后,接收所述数据;其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息。
第四方面,本申请还提供了一种跨系统多线程数据交互系统,包括:
第一系统检查单元,用于第一系统检查要发送的数据是否生成,当数据已生成时,发送已生成数据到第二系统,否则,发送占位符到第二系统以用于代替尚未生成的数据;
第二系统接收单元,用于第二系统接收第一系统发送的已生成数据和/或占位符;
第二系统查询单元,用于第二系统每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息;
第一系统接收单元,用于第一系统接收所述查询信息,并查询对应于所述识别信息的数据是否生成,当对应于所述识别信息的数据已生成时,发送对应于所述识别信息的数据到第二系统;
第二系统获取单元,用于第二系统接收对应于所述识别信息的数据。
本申请提供的跨系统多线程数据交互方法,第一系统通过使用占位符代替尚未生成的数据发给第二系统,由第二系统接收第一系统发送的已生成数据和/或占位符,方便第二系统在进行数据处理前能够通过查询是否存在占位符对数据的完整性进行检查,避免第二系统因为数据不完整造成数据异常的现象。第二系统接收到占位符后,通过在设定的时长向第一系统查询占位符代替的数据是否生成,能够对占位符所代替的数据进行批量查询,从而在多个占位符所代替的数据生成后,及时的使用生成后的数据取代占位符,使第二系统能够更快的进行后续的数据处理等工作或将完整的数据发送给下游系统。从而能够解决由于跨系统处理数据时,由于线程间处理数据的依赖关系可能导致的数据异常问题。提高了跨系统多线程数据交互的稳定性,保证了数据的可靠性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请的实施例中一种跨系统多线程数据交互方法的流程图;
图2为本申请的另一实施例中一种跨系统多线程数据交互方法的流程图;
图3为本申请的实施例中一种跨系统多线程数据交互系统的示意图;
图4为本申请的另一实施例中一种跨系统多线程数据交互系统的示意图;
图5为本申请的实施例中一种计算机系统的示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
在跨系统数据交互时,为提高系统的响应速度,提升用户体验,会将部分请求进行异步处理,通常使用多线程实现。但是在跨系统的异步请求时,由于网络延迟或后台处理速度不佳,一个线程在处理数据时所依赖的另一个线程的数据处理结果可能还没生成,从而无法处理,可能导致数据异常。为了解决这种由于跨系统处理数据时,由于线程间处理数据的依赖关系可能导致的数据异常问题,在本申请的一个实施例中,公开了一种跨系统多线程数据交互方法,如图1所示,为本申请的实施例中一种跨系统多线程数据交互方法的流程图,包括步骤:
S11.接收第一系统发送的已生成数据和/或占位符,所述占位符用于标识第一系统尚未生成的数据;占位符可以是预先设定好的格式,如“%s”、“%[]”、“%d”等常用的表示字符串、字符集合、十进制整数的占位符,还可以是自定义的占位符,如以“%x%”表示线程x生成的占位符,以“%x%y%”表示线程x生成的编号为y的占位符(如用来表示线程x生成的第y个占位符)。通常,由第一系统检查用于发送到第二系统的数据是否生成,当该数据已经生成时,第一系统发送该数据到第二系统;当该数据尚未生成时,第一系统发送占位符到第二系统,该占位符由第一系统生成,用于标识第一系统尚未生成的数据,如线程x尚未生成的数据的占位符可以是“%x%”,或者当线程x有多个数据尚未生成时,如第y个尚未生成的数据的占位符可以是“%x%y%”。当然,也可以在占位符中使用其他的标识,只需保证占位符可唯一识别即可,以用于第二系统在占位符所标识的数据生成后获取该数据;之后由第二系统接收第一系统发送的已生成数据和/或占位符。
S12.每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,以查询占位符所标识的数据是否生成,并在所述数据生成后,接收所述数据;其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息。通常第二系统每隔设定的时长查询第二系统内是否存在接收自第一系统的占位符,当存在占位符时,发送查询信息到第一系统,以查询占位符所标识的数据是否生成。如第二系统内有占位符“%x%y%”,则向第一系统发送查询信息,查询信息通常包括能够识别x和y的标识,一般可以直接使用x和y或直接使用占位符“%x%y%”进行查询。第一系统接收第二系统发送的查询信息,该查询信息用于查询占位符所标识的数据,如查询占位符“%x%y%”所标识的数据的信息;第一系统根据该查询信息查询占位符“%x%y%”所标识的数据(线程x生成的第y个占位符所代表的数据)是否生成,当该数据已经生成时,返回该数据到第二系统,第二系统接收该数据,之后可以用该数据替换掉第二系统内存在的占位符“%x%y%”。在本申请的一个实施例中,前端向第一系统发起请求来生成数据,前端发起异步存证请求向第二系统存储数据,在发起异步存证前,先检查第一系统是否生成数据,当第一系统已经生成数据时,前端调用第二系统保存生成的数据,之后由第二系统进行处理或发送给下游系统。当第一系统尚未生成数据时,将该尚未生成的数据用占位符代替发给第二系统,由第二系统保存,之后第二系统每隔设定的时长向第一系统查询该占位符所表示的数据是否生成,当第一系统生成该数据后,第二系统获取该数据来代替占位符,之后由第二系统进行处理或发送给下游系统。
在本申请的一个实施例中,用户在前端页面操作调用A系统(即第一系统)端异步创建客户卡号,同时将需要电子存证的数据调用B(即第二系统)系统保存在电子存证记录表中,调用B系统时先检查客户卡号是否已创建,如未创建则用占位符代替客户卡号,如已创建,则正常保存客户卡号。在B系统中启动定时任务对存证记录表进行扫描,如发现有占位符的数据,则调用A系统端查询客户卡号,再发起电子存证。
本申请提供的跨系统多线程数据交互方法,第一系统通过使用占位符代替尚未生成的数据发给第二系统,由第二系统接收第一系统发送的已生成数据和/或占位符,方便第二系统在进行数据处理前能够通过查询是否存在占位符对数据的完整性进行检查,避免第二系统因为数据不完整造成数据异常的现象。第二系统接收到占位符后,通过在设定的时长向第一系统查询占位符代替的数据是否生成,能够对占位符所代替的数据进行批量查询,从而在多个占位符所代替的数据生成后,及时的使用生成后的数据取代占位符,使第二系统能够更快的进行后续的数据处理等工作或将完整的数据发送给下游系统。从而能够解决由于跨系统处理数据时,由于线程间处理数据的依赖关系可能导致的数据异常问题。提高了跨系统多线程数据交互的稳定性,保证了数据的可靠性。
由于第一系统和第二系统可能同时用来处理多个任务,因此可能有多个占位符需要查询是否已经由第一系统生成数据,为了更快的用生成的数据代替占位符,而不是按占位符的生成顺序逐一用生成的数据代替占位符(如先用“%x%1%”标识的数据代替“%x%1%”后,再用“%x%2%”标识的数据代替“%x%2%”,再用“%x%3%”标识的数据代替“%x%3%”这样逐一对占位符用生成的数据进行代替),在本申请的一个实施例中,所述每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,包括步骤:
每隔设定的时长查询是否存在占位符;例如每隔若干毫秒由第二系统查询自身是否存在占位符,或在接收占位符时即生成一个标记,当占位符被第一系统生成的数据取代时则取消该标记,在具体实施时,可以通过位运算(异或运算)来提升查询是否存在占位符的效率。
当存在占位符时,获取所有的占位符;由于获取了所有的占位符,就可以批量发起查询请求查询每个占位符所代替的数据是否生成。
发送批量查询信息到第一系统,其中,批量查询信息用于查询每一占位符所标识的数据是否生成。这样可由一个线程完成所有的查询请求,而不需要对每个占位符均使用独立的线程查询。
通过批量查询占位符,不仅在实现上方便,还能使占位符更快的由生成的数据代替,使得这部分数据可以进行下一步的操作,如处理或者被发送到下游系统。
通常,为了实现上的简单和使用上的稳定性,所述设定的时长,为预先设定的固定的时间长度。一般为设置好的若干毫秒,如10毫秒、30毫秒等,如果生成数据的时间很长,则可以设定更长的时长,如若干秒甚至若干分钟。
另一方面,考虑到占位符较多时,在较短的时间发起查询请求往往能够得到较多的已经生成的数据来代替占位符,当占位符较少时,发送查询请求可能只是占用了第一系统和第二系统的通信资源,而得到已经生成的数据的可能性较低,为了提高通信资源的利用率,可以根据占位符的多少来调整查询信息的发送频率,在本申请的一个实施例中,所述每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,包括步骤:
每隔设定的时长查询是否存在占位符;
当存在占位符时,获取所有的占位符;
发送批量查询信息到第一系统,其中,批量查询信息用于查询每一占位符所标识的数据是否生成;
确定当前占位符的数量;通常可以在获取所有的占位符后即可得到,或者在获取占位符时,即对占位符进行计数,在获取新的占位符则加上新占位符的数量,在占位符被第一系统生成的数据代替时则减去被代替的占位符的数量。
根据所述占位符的数量由预设的规则重新确定所述设定的时长,所述预设的规则使得:占位符的数量较多时所确定的时长,不低于占位符的数量较少时所确定的时长。虽然可以使用线性函数、分段线性函数、幂函数、指数函数、对数函数、三角函数或者它们的组合来处理,但为了实现简单,往往可以使用线性函数或分段线性函数来进行重新确定该设定的时长。通过这种方法可以根据占位符的数量动态的调整设定的时长,在占位符较多时进行更高频次的查询,在占位符较少时查询频率较低,从而能够减少查询对资源的占用。
为了避免查询过密导致资源占用过高或者查询过于稀疏导致数据处理等待时间过长,需要限制所确定的时长的上下界,在本申请的一个实施例中,所述预设的规则,还使得:所确定的时长不低于第一预设时长且不高于第二预设时长。其中第一预设时长小于第二预设时长,第一时长和第二预设时长用于对查询时长(频率)的限制。如第一预设时长为1ms,第二预设时长为100ms。
在本申请的另一个实施例中,公开了一种跨系统多线程数据交互方法,如图2所示,为本申请的另一实施例中一种跨系统多线程数据交互方法的流程图,包括步骤:
S21.第一系统检查要发送的数据是否生成,当数据已生成时,发送已生成数据到第二系统,否则,发送占位符到第二系统以用于代替尚未生成的数据;该占位符由第一系统生成,如线程x尚未生成的数据的占位符可以是“%x%”,或者当线程x有多个数据尚未生成时,如第y个尚未生成的数据的占位符可以是“%x%y%”。当然,也可以在占位符中使用其他的标识,只需保证占位符可唯一识别即可,以用于第二系统在占位符所标识的数据生成后获取该数据。
S22.第二系统接收第一系统发送的已生成数据和/或占位符;如正常的业务数据或如“%x%y%”的占位符。
S23.第二系统每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息;如第二系统内有占位符“%x%y%”,则向第一系统发送查询信息,查询信息通常包括能够识别x和y的标识,一般可以直接使用x和y或直接使用占位符“%x%y%”进行查询。
S24.第一系统接收所述查询信息,并查询对应于所述识别信息的数据是否生成,当对应于所述识别信息的数据已生成时,发送对应于所述识别信息的数据到第二系统;如接收到查询占位符“%x%y%”所标识的数据的信息;第一系统根据该查询信息查询占位符“%x%y%”所标识的数据(线程x生成的第y个占位符所代表的数据)是否生成,当该数据已经生成时,返回该数据到第二系统。
S25.第二系统接收对应于所述识别信息的数据。第二系统接收该数据,之后可以用该数据替换掉第二系统内存在的占位符“%x%y%”。
在本申请的一个实施例中,公开了一种跨系统多线程数据交互系统,如图3所示,为本申请的实施例中一种跨系统多线程数据交互系统的示意图,包括:
接收单元,用于接收第一系统发送的已生成数据和/或占位符,所述占位符用于标识第一系统尚未生成的数据;
更新单元,用于每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,以查询占位符所标识的数据是否生成,并在所述数据生成后,接收所述数据;其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息。
在本申请的一个实施例中,所述更新单元,包括:
占位符查询单元,用于每隔设定的时长查询是否存在占位符;
占位符获取单元,用于当存在占位符时,获取所有的占位符;
占位符发送单元,用于发送批量查询信息到第一系统,其中,批量查询信息用于查询每一占位符所标识的数据是否生成。
在本申请的一个实施例中,所述设定的时长,为预先设定的固定的时间长度。
在本申请的一个实施例中,所述更新单元,包括:
占位符查询单元,用于每隔设定的时长查询是否存在占位符;
占位符获取单元,用于当存在占位符时,获取所有的占位符;
占位符发送单元,用于发送批量查询信息到第一系统,其中,批量查询信息用于查询每一占位符所标识的数据是否生成;
占位符统计单元,用于确定当前占位符的数量;
时长确定单元,用于根据所述占位符的数量由预设的规则重新确定所述设定的时长,所述预设的规则使得:占位符的数量较多时所确定的时长,不低于占位符的数量较少时所确定的时长。
在本申请的一个实施例中,所述预设的规则,还使得:所确定的时长不低于第一预设时长且不高于第二预设时长。
在本申请的另一个实施例中,公开了一种跨系统多线程数据交互系统,如图4所示,为本申请的另一实施例中一种跨系统多线程数据交互系统的示意图,包括:
第一系统检查单元,用于第一系统检查要发送的数据是否生成,当数据已生成时,发送已生成数据到第二系统,否则,发送占位符到第二系统以用于代替尚未生成的数据;
第二系统接收单元,用于第二系统接收第一系统发送的已生成数据和/或占位符;
第二系统查询单元,用于第二系统每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息;
第一系统接收单元,用于第一系统接收所述查询信息,并查询对应于所述识别信息的数据是否生成,当对应于所述识别信息的数据已生成时,发送对应于所述识别信息的数据到第二系统;
第二系统获取单元,用于第二系统接收对应于所述识别信息的数据。
本申请的实施例及优选实施例所提供的一种跨系统多线程数据交互系统,可以执行上述方法的实施例,其实现原理和技术效果类似,在此不再赘述。
在本申请的一个实施例中,公开的一种计算机系统,如图5所示,为本申请的实施例中一种计算机系统的示意图,包括:中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储部分加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM303中,还存储有系统操作所需的各种程序和数据。CPU 301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
特别地,根据本申请的实施例,上文参考流程图1所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例中包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)301执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例中的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。所描述的单元或模块也可以设置在处理器中。例如,可以描述为:一种处理器包括接收单元、更新单元。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,接收单元还可以被描述为“接收第一系统发送的已生成数据和/或占位符的单元,所述占位符用于标识第一系统尚未生成的数据”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的跨系统多线程数据交互方法。
例如,所述电子设备可以实现如图1中所示的步骤:S11.接收第一系统发送的已生成数据和/或占位符,所述占位符用于标识第一系统尚未生成的数据;S12.每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,以查询占位符所标识的数据是否生成,并在所述数据生成后,接收所述数据;其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种跨系统多线程数据交互方法,其特征在于,包括如下步骤:
接收第一系统发送的已生成数据和/或占位符,所述占位符用于标识第一系统尚未生成的数据;
每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,以查询占位符所标识的数据是否生成,并在所述数据生成后,接收所述数据;其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息。
2.根据权利要求1所述的数据交互方法,其特征在于,所述每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,包括步骤:
每隔设定的时长查询是否存在占位符;
当存在占位符时,获取所有的占位符;
发送批量查询信息到第一系统,其中,批量查询信息用于查询每一占位符所标识的数据是否生成。
3.根据权利要求1所述的数据交互方法,其特征在于,所述设定的时长,为预先设定的固定的时间长度。
4.根据权利要求1所述的数据交互方法,其特征在于,所述每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,包括步骤:
每隔设定的时长查询是否存在占位符;
当存在占位符时,获取所有的占位符;
发送批量查询信息到第一系统,其中,批量查询信息用于查询每一占位符所标识的数据是否生成;
确定当前占位符的数量;
根据所述占位符的数量由预设的规则重新确定所述设定的时长,所述预设的规则使得:占位符的数量较多时所确定的时长,不低于占位符的数量较少时所确定的时长。
5.根据权利要求4所述的数据交互方法,其特征在于,所述预设的规则,还使得:所确定的时长不低于第一预设时长且不高于第二预设时长。
6.一种跨系统多线程数据交互方法,其特征在于,包括如下步骤:
第一系统检查要发送的数据是否生成,当数据已生成时,发送已生成数据到第二系统,否则,发送占位符到第二系统以用于代替尚未生成的数据;
第二系统接收第一系统发送的已生成数据和/或占位符;
第二系统每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息;
第一系统接收所述查询信息,并查询对应于所述识别信息的数据是否生成,当对应于所述识别信息的数据已生成时,发送对应于所述识别信息的数据到第二系统;
第二系统接收对应于所述识别信息的数据。
7.一种跨系统多线程数据交互系统,其特征在于,包括:
接收单元,用于接收第一系统发送的已生成数据和/或占位符,所述占位符用于标识第一系统尚未生成的数据;
更新单元,用于每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,以查询占位符所标识的数据是否生成,并在所述数据生成后,接收所述数据;其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息。
8.一种跨系统多线程数据交互系统,其特征在于,包括:
第一系统检查单元,用于第一系统检查要发送的数据是否生成,当数据已生成时,发送已生成数据到第二系统,否则,发送占位符到第二系统以用于代替尚未生成的数据;
第二系统接收单元,用于第二系统接收第一系统发送的已生成数据和/或占位符;
第二系统查询单元,用于第二系统每隔设定的时长查询是否存在占位符,当存在占位符时,发送查询信息到第一系统,其中,所述查询信息包括用于识别占位符和/或识别占位符所标识的数据的识别信息;
第一系统接收单元,用于第一系统接收所述查询信息,并查询对应于所述识别信息的数据是否生成,当对应于所述识别信息的数据已生成时,发送对应于所述识别信息的数据到第二系统;
第二系统获取单元,用于第二系统接收对应于所述识别信息的数据。
9.一种计算机系统,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过对所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令执行1-6任一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使得所述计算机执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910829436.4A CN112445852A (zh) | 2019-09-03 | 2019-09-03 | 跨系统多线程数据交互方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910829436.4A CN112445852A (zh) | 2019-09-03 | 2019-09-03 | 跨系统多线程数据交互方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112445852A true CN112445852A (zh) | 2021-03-05 |
Family
ID=74734077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910829436.4A Pending CN112445852A (zh) | 2019-09-03 | 2019-09-03 | 跨系统多线程数据交互方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112445852A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307304A1 (en) * | 2008-06-10 | 2009-12-10 | International Business Machines Corporation | Method for Server Side Aggregation of Asynchronous, Context - Sensitive Request Operations in an Application Server Environment |
CN102521338A (zh) * | 2010-12-08 | 2012-06-27 | 微软公司 | 对于数据表示项目返回的占位符 |
US20130173662A1 (en) * | 2012-01-03 | 2013-07-04 | International Business Machines Corporation | Dependency based prioritization of sub-queries and placeholder resolution |
CN107391523A (zh) * | 2016-05-17 | 2017-11-24 | 谷歌公司 | 多用户消息交互话题中提供用于与自动化助理交互的建议 |
-
2019
- 2019-09-03 CN CN201910829436.4A patent/CN112445852A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307304A1 (en) * | 2008-06-10 | 2009-12-10 | International Business Machines Corporation | Method for Server Side Aggregation of Asynchronous, Context - Sensitive Request Operations in an Application Server Environment |
CN102521338A (zh) * | 2010-12-08 | 2012-06-27 | 微软公司 | 对于数据表示项目返回的占位符 |
US20130173662A1 (en) * | 2012-01-03 | 2013-07-04 | International Business Machines Corporation | Dependency based prioritization of sub-queries and placeholder resolution |
CN107391523A (zh) * | 2016-05-17 | 2017-11-24 | 谷歌公司 | 多用户消息交互话题中提供用于与自动化助理交互的建议 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729139B (zh) | 一种并发获取资源的方法和装置 | |
CN109388626B (zh) | 用于向业务分配编号的方法和装置 | |
CN109873863B (zh) | 服务的异步调用方法和装置 | |
CN110413384B (zh) | 延时任务处理方法及装置、存储介质、电子设备 | |
CN110609755A (zh) | 跨区块链节点的消息处理方法及装置、设备、介质 | |
CN111209060A (zh) | 能力开发平台处理方法及装置 | |
CN109828830B (zh) | 用于管理容器的方法和装置 | |
CN109873731B (zh) | 测试方法、装置和系统 | |
CN108764866B (zh) | 用于分配资源、领取资源的方法和设备 | |
CN110389976B (zh) | 一种多接口数据的调度方法和装置 | |
CN108696554B (zh) | 负载均衡方法和装置 | |
CN110795328A (zh) | 一种接口测试方法和装置 | |
CN113127225A (zh) | 一种数据处理任务的调度方法、装置和系统 | |
CN112948138A (zh) | 一种处理消息的方法和装置 | |
CN112445852A (zh) | 跨系统多线程数据交互方法及系统 | |
CN108933802B (zh) | 用于监控操作的方法和装置 | |
CN115525411A (zh) | 处理业务请求的方法、装置、电子设备和计算机可读介质 | |
CN114090146A (zh) | 一种数据加载完成确定方法、装置及设备 | |
CN110896391B (zh) | 一种报文处理方法和装置 | |
CN113779122A (zh) | 导出数据的方法和装置 | |
CN113743630A (zh) | 智能呼叫预约执行的方法和装置 | |
CN113535768A (zh) | 生产监控方法和装置 | |
CN110858240A (zh) | 一种前端模块加载方法和装置 | |
CN113268417B (zh) | 一种任务执行方法和装置 | |
CN113449938B (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 |