我想知道人们用什么样的并发模型来处理入站hl7消息(adt,...)并将它们持久化在规范化的数据模型(关系或非sql)中。
我正在为顺序消息处理(映射到nosql db)和多线程的想法而苦苦挣扎,当从(java,.net,无论什么)转换/处理它们时:
示例:如果我处理由三叶草接收和转换的消息(转换为符合内部web/rest api预期有效负载),并设置为内部web/rest api服务器(多线程java web应用程序),则我不能保证由于线程,我将按顺序解析消息。
如果我按顺序处理消息,那么映射将会很慢...
发布于 2015-10-17 01:29:39
能否异步处理消息取决于消息的特征和处理逻辑。请考虑以下序列:
合并
如果在倒数第二条消息之前处理最后一条消息,会发生什么?你会因为你有一个合并的病人的新插曲而把它当作一个错误吗?
这就是为什么这个问题没有简单的答案。那得看情况
发布于 2015-10-17 06:59:22
如果发送应用程序使用的是MLLP,那么您可能别无选择,只能进行顺序处理。大多数MLLP客户端将在发送下一条消息之前等待接受确认。
对于许多医疗保健用例来说,顺序确实很重要。例如,如果发送应用程序正在生成ORU^R01消息,那么它可以先发送初步结果,然后再发送最终结果。如果您正在向用户呈现这些数据,您不会希望仅仅因为您的应用程序碰巧无序地处理消息,就允许初步结果覆盖最终结果。
规范化数据模型和NoSQL持久层在术语上通常是矛盾的。
https://stackoverflow.com/questions/33170789
复制相似问题