Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数据处理与算法_C#_Algorithm_Data Structures - Fatal编程技术网

C# 数据处理与算法

C# 数据处理与算法,c#,algorithm,data-structures,C#,Algorithm,Data Structures,我陷入了困境,正在为下面的问题寻找一种有条不紊的方法或优化的解决方案 我承认它有点冗长,并希望传达我的目标,最大限度地提高清晰度 我有一个应用程序(A),它将数据包(联系人详细信息组)合并并发送给3个第三方应用程序(T1、T2、T3),以便在不同的时间安排下进行处理。所有这些第三方都以相同的方式处理数据。为了避免服务依赖性和延迟,我们同样维护这三个方面 “A”在上午8点到10点之间整合数据(最大25 MB),并发送到T1进行处理 “A”在晚上10.1-12点之间整合数据(最大35MB),并发送到

我陷入了困境,正在为下面的问题寻找一种有条不紊的方法或优化的解决方案

我承认它有点冗长,并希望传达我的目标,最大限度地提高清晰度

我有一个应用程序(A),它将数据包(联系人详细信息组)合并并发送给3个第三方应用程序(T1、T2、T3),以便在不同的时间安排下进行处理。所有这些第三方都以相同的方式处理数据。为了避免服务依赖性和延迟,我们同样维护这三个方面

“A”在上午8点到10点之间整合数据(最大25 MB),并发送到T1进行处理

“A”在晚上10.1-12点之间整合数据(最大35MB),并发送到T2进行处理

“A”在下午14-16点之间整合数据(最大15MB),并发送到T3进行处理

最常见的情况是,由于过载或给定的数据质量,一些第三方仅处理“a”提供的一部分数据。这些第三方应用程序将向“A”报告已处理和未处理的数据。一旦我的终端(应用程序“A”)有了未处理的数据,我想尝试将此未处理的数据(数据因子)上载到其他可用的第三方(不包括首先拒绝该数据的第三方),直到处理完所有数据或我到达每个可用的第三方

i、 e.如果T1未处理来自(上午8-10点插槽)的某些数据,则我可以接近T2或T3,或者如果T2或T3因子数据更进一步,则两者都可以。同样地

如果T2未从一个(10.1-12 pm槽)处理,那么我可以接近T1或T3,或者如果T1或T3因子数据更进一步,则两者都可以

如果T3未从(14-16 pm插槽)处理,那么我可以接近T1或T2,或者如果T1或T2因子数据更进一步,则两者都可以

最后,在一天结束时(下午18点),我需要将所有未处理的数据从所有第三方保存到本地数据库

我有一个算法的草案版本,它基本上使用了三个队列(代表T作为消费者)和一个生产者数据结构(代表a)。这个生产者数据结构将把数据和到期时间戳一起推送到单个队列中。然而,我无法得出结论


如果您能提供一个可选的解决方案,请提前感谢。

那么T1在什么时候向A报告他所做的已处理和未处理的事情?我肯定遗漏了什么:为T1排队。一旦返回,将剩下的所有内容排队等待T2。一旦返回,将剩下的任何东西排队等待T3。您在T3返回后留下的内容无法处理。@JeroenvanLangen,谢谢,事实上,我们的系统中有两种选择。i、 e实时方法,其中A在上午10点后随时从T1获取未处理数据的详细信息,T2在下午12点后随时获取,T3在16点后随时获取。最后在一天结束前保存所有未处理的文件。其他选择是离线。i、 e.A第二天将分别从T1、T2、T3接收未处理的数据,然后我们手动过滤并保存。如果您需要更多信息,请告诉我。@500 InternalServerError,谢谢。我们不能为任何特定的第三方排队,因为我们希望分发超时(一天内)生成的数据,并避免依赖任何第三方。