Ctrip é como grandes de dados para controle em tempo real do vento

 

Sobre o Autor : Yu Wei, Cheng Technology Center Risco Departamento de Controle de gerente de desenvolvimento sênior. 2010 juntou Ctrip, Ctrip envolvido na plataforma de compensação, o desenvolvimento do sistema de controle de risco, mais estudo em profundidade da arquitetura do sistema, processamento de dados de streaming.

 

Ctrip Como líder OTA, sofreu todos os dias com o risco grave de fraude, escova cartão de banco pessoais roubados, roubo de conta, malicioso única campanha de marketing escova, maliciosos recursos aproveitar.

 

Ctrip uso de sistemas de controle de risco de auto-desenvolvido para identificar efetivamente, prevenir esses riscos. Ctrip sistema de controle de vento a partir do zero, depois de cinco anos de pesquisa e inovação contínua, foi efectivamente coberto antes, durante, e depois todos os aspectos. A partir do original baseado nas "regras simples + DB", com a transação atual pode suportar o crescimento 10X no sistema de controle de risco inteligente, motor baseado em regras, em tempo real modelo de computação, streaming, M / R, big data, mineração de dados, aprendizado de máquina e outros sistemas de controle de risco, com tempo real, o risco de tomada de decisões quase em tempo real, recursos de análise de dados.

 

 

A, a arquitetura do sistema Aegis

 

 

Figura 1

 

Três módulos principais: motor de controle de risco, serviços de dados, operações de dados, sistemas auxiliares.

 

Vento Control Engine: A principal processamento de solicitação de controle de ar, pré-processamento de dados e serviço de mecanismo de regras de execução do modelo, dados do motor necessário controle de ar é fornecido por um módulo de serviço.

Serviços de dados: Há estatísticas de tráfego em tempo real, retrato risco, dados equipamento de comportamento, agentes de acesso a dados externos, RiskGraph. camada de acesso a dados são fornecidos pela camada de provedor de dados de computação

cálculo de dados : incluindo retratos de risco operacional, RiskSession, equipamentos de impressão digital, bem como o tráfego em tempo real e computação não-tempo real.

 

dados de origem necessários para a operação são: dados de controle de risco de eventos (dados de pedidos, dados de pagamento), cada sistema para capturar a UBT, dispositivos de impressão digital, dados de log, e assim por diante.

 

Além destes, há plataforma de controle de risco muito som para a sistemas de alerta precoce e monitoramento, plataforma de revisão manual e sistema de comunicação.

 

 

Dois, a arquitetura do sistema Aegis

 

 


Figura 2

 

 

Em terceiro lugar, o mecanismo de regras

 

 

O motor de regras contém três funções principais, a primeira camada de adaptação .

 

Porque muitos tipos de negócio Cheng, cada serviço tem as suas características próprias e, depois de entrar no sistema de controlo de ar (de Garra), todo o sistema de controlo de ar, a fim de facilitar o processamento de dados, não é um módulo adaptador distai de controlo de risco, para cada serviço dados de conversão, em conformidade com a configuração interna de controlo de ar padronizado para o sistema de controlo para o vento .

 

Depois de se completar o adaptador de dados, o sistema de controlo do ar para ser dados consolidada .

 

Por exemplo, quando há controle de risco de pagamento de soma de verificação e pague apenas jogado sobre informações BU pagamento (valor do pagamento, método de pagamento, número de ordem, etc.). Mas ele não inclui informações de ordem, desta vez temos de encontrar rapidamente a informação de acordo com as informações do pedido de pagamento, e estes dois mesclagem de dados, a fim de regra, utilizando o modelo. Como todos sabemos, a partir do usuário para gerar uma ordem para iniciar um pagamento, o intervalo de tempo de segundos a dias são possíveis, quando o intervalo de tempo é curto, você vai querer mesclar os dados ainda não foi processado, os dados do pedido de processamento do chão a ser muito rápido. A segunda parte é para encontrar rapidamente os dados para a ordem, vamos pedir informações baseado na RiskGraph gerado, você pode rapidamente e com precisão localizar detalhes da ordem os dados necessários.

 

Depois de completar a intercalação de dados pré-variável, começamos a preparar regras, modelos necessários, dados de tag, ao preparar os dados de pré-processamento módulo temos que confiar em mais tarde para explicar a camada de serviços de dados. Claro, a fim de melhorar o desempenho, nós, como uma variável, dados de tag organizar, acesso prioritário a regras chave, modelo variável necessária, dados de tag.

 

Como todos sabemos, as características dos fraudadores é as ondas, o sistema de controle de vento precisa ser capaz de responder em tempo hábil, quando a descoberta de fraudes, oportuna follow-up sobre as regras para evitar fraudes similar. Portanto, as regras exigem rápido, preciso, Se assim for, então precisamos descartar rapidamente na linha, e as regras de suas regras próprias de pessoal e pode estar na linha. Existem regras e mecanismo de regras de execução compara a conseguir a separação efectiva, não por causa de regras razoáveis ​​afetar todo o motor. Em seguida, o mecanismo de regras deve atender a essas condições.

 

Nós finalmente escolheu os Drools de código aberto, em primeiro lugar, é de código aberto, ele pode usar a segunda língua Java, entrada conveniente, o terceiro bastante funcional.

 

Tal mecanismo de controle de risco Ctrip para conseguir uma linha regular sobre Ctrip controle de risco eficiente motor em tempo real usando um mecanismo de regras Drools, tem uma muito elevada flexibilidade, configurabilidade, e porque é regra java gramática pode pessoal suas próprias regras e rapidamente online.

 

Porque cada controle de risco Evento pedido, precisamos de realizar centenas de regras e modelo, em seguida, motor de controle de risco apresentou uma execução regra métodos de otimização caminho. Fundada +, + não-dependência de execução da regra método de otimização dependência de série paralela, e depois reintroduzido no mecanismo de curto-circuito, de modo que milhares de 100ms regulares de controle de tempo de execução.

Figura 3

 

Regras de flexibilidade é muito forte, o desenvolvimento, a linha é muito rápido, mas a cobertura de uma única regra é relativamente baixo, se você quiser aumentar a cobertura que você precisa de um monte de regras para cobrir os custos de manutenção será alto desta vez as regras, então este quando você precisa usar o modelo, as características do modelo é relativamente alta cobertura pode ser feito, a lógica do modelo pode ser muito complicado, mas ele precisa estar treinando a próxima linha, de modo Ctrip sistema de controle de vento utiliza uma regra, as características de cada modelo são complementar.

 

Nos sistemas de controle de risco atuais usadas principalmente: Regressão Logística, Random Forest. Algoritmo usa dois para baixo, a situação atual é: variável LR discriminação formação bom caso o suficiente, ser caracterizado, projetando os resultados foram melhores. Quando o RF linear fraca capacidade de distinguir entre o tempo variável, mais eficiente. Portanto, o uso de proporções RF mais.

 

 

Em quarto lugar, a camada de serviços de dados

 

camada de serviços de dados, a função principal é fornecer serviços de dados, sabemos que a necessidade do motor pré-tratamento de controlo de risco para chegar a um monte de variáveis ​​e tag, essas variáveis ​​e dados da etiqueta são a camada de acesso a dados para fornecer. O objetivo mais importante da camada de serviço é uma resposta rápida. Por conseguinte, o principal uso Redis como uma memória tampão de dados na camada de serviços de dados, os dados importantes, de alta frequência directamente utilizando Redis é usado como uma camada de persistência.

 

A idéia central da camada de serviços de dados é a plena utilização da memória (local, Redis)

1, a memória local (um grande número de dados fixos, como localização ip, informações sobre a cidade, etc.)

2, a plena utilização do cache de alto desempenho Redis

 

Devido aos serviços de dados de tráfego em tempo real, dados de serviços de dados de risco retrato é armazenado diretamente no Redis, o seu desempenho para atender às exigências do motor de regras, estamos aqui para se concentrar no que dados acessar serviços de proxy.

 

serviços de proxy de acesso de dados, a idéia mais importante é que os dados é chamado antes da primeira chamada para uma terceira regras de serviço partido, salvar dados para Redis, para solicitar um pedido regra quando é possível ler diretamente do Redis, desde ele foi pré-carregado, e a frescura da sua taxa de acerto de dados é muito importante. Nossos dimensões de dados relacionadas ao usuário, por exemplo, sistema de controle de risco através da análise de logs de usuário, pode detectar que usuários não logado, browse, ação programada, de modo que você pode pré-carregar os dados desses serviços externos relacionados com usuário Redis quando as regras, leia o modelo de dimensão usuário de dados externa, primeiro lido diretamente em Redis, se não presentes de acesso, em seguida, serviços externos.

 

Em algumas cenas, nós combinamos a introdução de DB persistência, certas informações quando as alterações do usuário, o serviço público irá enviar uma mensagem para Hermes, subscrevemos a informação quando o usuário sabe certas informações ocorre mudanças, vamos tomar a iniciativa de acessar um serviço externo para obter dados em Redis, porque o sistema de controle de vento para conhecer a mensagem destas alterações de dados, de modo que os dados são persistentes no DB é ok, é claro, estes dados também têm um TTL parâmetro para garantir a sua frescura. Neste cenário, os olhares do sistema na primeira DB Redis não bateu, os dados satisfazem as condições não existem em dois lugares, terá acesso a serviços externos, desta vez, o seu desempenho, espaço de armazenamento, você pode obter otimização.

 

 

Cinco, sistema de Cloro

 

 

serviço sistema de análise de dados de cloro é o núcleo do sistema de controlo do ar, os dados utilizados pela camada de serviço de dados é calculada pelo sistema de cloro fornecido.

 

As principais dimensões de análise, incluindo: risco de usuário retrato, usuários de redes sociais, características de comportamento de risco transação do modelo, o modelo de risco do fornecedor.

 


Figura 4

 

Podemos ver a fonte dos dados, principalmente, hermes, Hadoop, e uma variedade de dados de eventos de controle de risco jogados ao longo da frente. Ouvinte é utilizado para receber diversos tipos de dados, então os dados entrará CountServer e sistema de processo em tempo real, em que os dados sobre a primeira e RiskSession entrar Sessionizer, o módulo pode ser rapidamente processamento de redução de Sessão, dependendo da chave em uma redução sessão, antes de serem submetidas ao sistema de processamento em tempo real para processamento. Quando o processamento de dados do processo Tempo Real e CountServer para o bem, desta vez divididos em dados duas partes, em parte, o resultado do processamento, tem uma cópia dos dados originais, será submetido ao Dispatcher de dados, os dados do sistema de roteamento pelos seus resultados internos Cloro ele irá diretamente para o RiskProfile fornecido para o uso do motor e modelo. Os dados em bruto é escrito para o cluster Hadoop.

 

Processo em lote no uso de cluster do Hadoop de grandes processamento de dados capacidade, para processamento de dados off-line, quando o processo em lote para lidar com, eles serão enviados para o processamento de resultados de dados Dispatcher, os dados de roteamento por seu.

 

Processo em lote de análise de dados entre cruz Rsession pode fazer.

 

 


Figura 5

 

definição RiskSession: quantificação e caracterização do comportamento do usuário, qualquer pessoa com acesso ao início do primeiro evento Ctrip qualquer dispositivo, acreditamos Rsession início e após o último evento que ele deixou nenhum traço de 30 minutos à esquerda, nós acho final Rsession.

 

sistema de controle de vento, comparando as informações do usuário: Uid, número de telefone, e-mail, informações do dispositivo:

 

Fp (impressão digital), clientId, vid, v, deviceId para determinar se ele é o mesmo usuário, por meio de sua informação comportamento: trilhas de navegação, histórico de traçado para julgar sua semelhança comportamento.

 

Por exemplo: um único usuário no lado do PC, em seguida, completar o pagamento nos anos Celular Mobile App, isto é para Cloro uma conversa, a conversa que chamamos de controle de risco Session, através da definição de sistema de controle de risco da Risksession permite o comportamento do usuário pode ser quantificado, também você pode retratar. Tal Risksession pode, na verdade, ser usado como um comportamento do utilizador do recipiente. Use RiskSession pode fazer multi-plataforma, mais propício para a análise de características do usuário.

 

 


6

 

Gráfico risco foi desenvolvido com base nas características do sistema do vento Cheng controlo, risco Gráfico HBase é realizada com base em um meio de armazenamento para o sistema, por exemplo, de um nó de utilizador, que o valor é tabela utilizador a chave HBase, que é característica de cada coluna, e em seguida uma característica de um usuário e, em seguida, criar uma tabela com base em HBase, criando assim uma arquitetura HBase do Gráfico de classe.

 

Assim, uma idéia central deste sistema é criar um índice para cada dimensão dos dados, e, em seguida, para encontrar conteúdo com base no valor do índice. Atualmente sistema de controle de vento criou um rápido dúzia de referência dimensões.

 

 

Seis, Aegis outros subsistemas

 

 


Figura 7

 

Aegis também configurar o sistema, o utilizador pode, no exemplo acima várias configurações, tais como regras, o caminho correndo, normalização, tag, definições de variáveis, dados de negócio da limpeza tem Luo Ji, etc., o sistema de monitoramento também é muito importante, é claro, o desenvolvimento de Uphold controle de vento o projeto onipresente de monitoramento, para que ele possa detectar qualquer pequena mudança no sistema em primeiro lugar.

 

 

Sete, outlook

 

 

controle de risco Ctrip através da introdução de um mecanismo de regras em 3,0, o uso extensivo de código aberto em dados baseados em larga Cloro processamento arquitetura do sistema, com o modelo conseguido resultados muito bons. No 4.0, o aprendizado de máquina, inteligência artificial, e outras características de comportamento continuar a direção da força, sistema de controle de vento para melhorar ainda mais a capacidade de identificar, o técnico qualificado vai continuar a abraçar aberto, o próximo passo será introduzido para melhorar o processamento de dados e similares vento faísca Sistema de Controle .

 

 

 

Publicado 363 artigos originais · Louvor obteve 74 · vista 190 000 +

Acho que você gosta

Origin blog.csdn.net/sinat_26811377/article/details/104576864
Recomendado
Clasificación