|
|
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Есть служба, которая запускает несколько процессов, которым она будет передавать данные (объекты размером около 10кб). Обратно передавать ничего не надо. Для этого есть несколько технологий: 1. File Mapping 2. Named Pipes 3. WM_COPYDATA Передача данных будет высокоинтенсивная. Какая технология подойдет лучше по вашему мнению? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 09:48 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrb, ну ты просто попробуй все три, да сравни. ... Мэилслоты ещё, самый простой способ, имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 10:01 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
чччД, спасибо кэп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 10:07 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
оконные сообщения самые медленные. так что 1 или 2 + можно по сети кидаться, в локалхосте это очень быстро происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 10:20 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbЕсть служба, которая запускает несколько процессов, которым она будет передавать данные (объекты размером около 10кб). Обратно передавать ничего не надо. Для этого есть несколько технологий: 1. File Mapping 2. Named Pipes 3. WM_COPYDATA Передача данных будет высокоинтенсивная. Какая технология подойдет лучше по вашему мнению? MMF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 10:36 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbЕсть служба, которая запускает несколько процессов, которым она будет передавать данные (объекты размером около 10кб). Обратно передавать ничего не надо. Для этого есть несколько технологий: 1. File Mapping 2. Named Pipes 3. WM_COPYDATA Передача данных будет высокоинтенсивная. Какая технология подойдет лучше по вашему мнению? я бы TCP/IP использовал - удобно и универсально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:19 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Насчет MMF, я не тестил, но винт при моих объемах (сотни объектов в секунду по >10кб) может сдохнуть быстро. Или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:25 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Работает сервис 247. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:26 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbПередача данных будет высокоинтенсивная. Какая технология подойдет лучше по вашему мнению? Более принципиальный вопрос - как именно должны передаваться данные: а) непосредственно от процесса к процессу (2, 3) б) опосредованно через доп. буферы (1 и сокеты). В первом случае возникает проблема синхронизации готовности, второй может быть медленнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:32 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Соколинский Борис, в этом и вопрос как именно Я знаю, что нужно сервису передать блок памяти процессу , а что он будет с ним делать - до фонаря. сервис должен контролить процессы на живучесть, и их перезапускать по необходимости. Для общего понимания, я хочу потоки перевести на отдельные процессы, так как в рамках ОДНОГО процесса(службы), они со своей задачей не справляются, вот и стал вопрос в поиске буферов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:38 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrb, так не далеко и до разнесения по разным хостам как вариант, с заделом на будущее, использовать для передачи данных очереди сообщений, а контролировать живучесть сервисов и операционка может ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:42 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbЕсть служба, которая запускает несколько процессов, которым она будет передавать данные (объекты размером около 10кб). Обратно передавать ничего не надо. Для этого есть несколько технологий: 1. File Mapping 2. Named Pipes 3. WM_COPYDATA Передача данных будет высокоинтенсивная. Какая технология подойдет лучше по вашему мнению? Подойдет лучше по каким критериям? Приведен только один - высокая интенсивность. Он реально один или еще есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:43 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
ну я, ну и гарантия доставки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:46 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений, а перезапускать их тоже ОС будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:47 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbОбратно передавать ничего не надо cptngrbну и гарантия доставки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:48 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
чччД, я имею ввиду технологию))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 11:50 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbСоколинский Борис, в этом и вопрос как именно Я знаю, что нужно сервису передать блок памяти процессу , а что он будет с ним делать - до фонаря. сервис должен контролить процессы на живучесть, и их перезапускать по необходимости. Для общего понимания, я хочу потоки перевести на отдельные процессы, так как в рамках ОДНОГО процесса(службы), они со своей задачей не справляются, вот и стал вопрос в поиске буферов Если скорость взаимодействия некритична, наверное MMF. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:00 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
У меня система видеонаблюдения, разрезана на несколько сервисов - собственно сервис приёма и обработки видеопотоков, сервис архивации видеопотоков, сервис веб-доступа к видеопотокам и архивам Как ты понимаешь, всё это высоконагруженное. Взаимодействие реализовано через TCP/IP посредством библиотеки RealThinClient Всё это спокойно летает на i5 на трёх десятках камер. Я даже не представляю, что у тебя там за данные сервисы обрабатывают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:07 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbну я, ну и гарантия доставки Опа. А где должна находиться точка определения гарантии доставки - в передатчике или в приемнике? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:09 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbДегтярев Евгений, а перезапускать их тоже ОС будет? почему нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:09 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrbНасчет MMF, я не тестил, но винт при моих объемах (сотни объектов в секунду по >10кб) может сдохнуть быстро. Или нет?MMF это не только физические файлы частный случай - shared memory, вообще диск никак не трогает (ну если своп не учитывать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:11 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecatorЯ даже не представляю, что у тебя там за данные сервисы обрабатывают + хотелось бы больше контекста зы ТС, варианты оптимизаций существующего решения рассмотрены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:11 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
cptngrb...нужно сервису передать блок памяти процессу , а что он будет с ним делать - до фонаря... ...ну и гарантия доставки... Так смешно. Корреспондент получил сообщение, и тебе до фонаря, что он там с нима делает? Ну, ладно. Пошли ему еще одно сообщение. Если он с первым еще ничего не успел сделать, сообщение чудесным образом встанет в чудесным образом появившуюся очередь. Пока очередь не заполнится. Ту придется либо ждать, когда очередь рассосется, либо прекратить передачу сообщений (отбрасывать их), других вараинтов нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:12 |
|
||
|
Обмен данными между своими процессами
|
|||
|---|---|---|---|
|
#18+
defecator, В итоге все уперлось в запись в БД Oracle. При работе с одним клиентом (одна oci.dll) и 50 потоками, она не успевает все укладывать. Решил попробовать, для теста, разнести на несколько клиентов запись в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2018, 12:19 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39616697&tid=2041123]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 375ms |

| 0 / 0 |
