Real-Time Constrained Cycle Detection in Large Dynamic Graphs

Real-Time Constrained Cycle Detection in Large Dynamic Graphs

Real-time Constrained Cycle Detection in Large Dynamic Graphs Xiafei Qiu1, Wubin Cen1, Zhengping Qian1, You Peng2, Ying Zhang3, Xuemin Lin2, Jingren Zhou1 1Alibaba Group 2University of New South Wales 3University of Technology Sydney 1fxiafei.qiuxf,wubin.cwb,zhengping.qzp,[email protected] [email protected],[email protected] [email protected] ABSTRACT to contain hundreds of millions of edges and vertices. So- As graph data is prevalent for an increasing number of In- phisticated analytics over such large-scale graphs provides ternet applications, continuously monitoring structural pat- valuable insights to the underlying dataset and interactions terns in dynamic graphs in order to generate real-time alerts among different entities. On the other hand, the structural and trigger prompt actions becomes critical for many appli- changes to such graphs are constant in nature, which makes cations. In this paper, we present a new system GraphS them very dynamic, together with continuous stream of in- to efficiently detect constrained cycles in a dynamic graph, formation produced by the entities. It is imperative and which is changing constantly, and return the satisfying cycles challenging to design an efficient graph system to store and in real-time. A hot point based index is built and efficiently manage dynamic graphs at scale and provide real-time ana- maintained for each query so as to greatly speed-up query lytics to explore and mine fast-evolving structural patterns. time and achieve high system throughput. The GraphS sys- In this paper, we study a problem of continuous con- tem is developed at Alibaba to actively monitor various on- strained cycle detection in large dynamic graphs. Specifi- line fraudulent activities based on cycle detection. For a cally, for each incoming edge of the dynamic graph, the goal dynamic graph with hundreds of millions of edges and ver- is to identify the newly generated cycles and return them tices, the system is capable to cope with a peak rate of tens for a set of continuous queries, respectively. Each query can of thousands of edge updates per second and find all the ask for cycles satisfying some predefined constraints, such as cycles with predefined constraints with a 99.9% latency of length and attribute constraints. Detecting constrained cy- 20 milliseconds. cles in real-time turns out to be valuable for many real-world applications. We use two simplified real-world examples in PVLDB Reference Format: the context of e-commerce and personal finance to illustrate Xiafei Qiu, Wubin Cen, Zhengping Qian, You Peng, Ying Zhang, the importance of such operations. Xuemin Lin, and Jingren Zhou. Real-time Constrained Cycle Detection in Large Dynamic Graphs. PVLDB, 11 (12): 1876- 1888, 2018. DOI: https://doi.org/10.14778/3229863.3229874 1. INTRODUCTION With the rapid development of information technology, data generated by an increasing number of applications is being modeled as graphs. On one hand, the graph struc- ture is able to encode complex relationships among entities. Examples include social networks, e-commerce transactions, and electronic payments, etc. It is typical for such graphs This work is licensed under the Creative Commons Attribution- Figure 1: A graph of a merchant-fraud example. NonCommercial-NoDerivatives 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. For Figure 1 represents a simplified graph among buyers and any use beyond those covered by this license, obtain permission by emailing sellers in an e-commerce platform. We denote individual [email protected]. users (buyers or sellers) and their accounts as vertices in the Proceedings of the VLDB Endowment, Vol. 11, No. 12 Copyright 2018 VLDB Endowment 2150-8097/18/8. graph. There are two types of edges. One type of static DOI: https://doi.org/10.14778/3229863.3229874 edges (in solid lines) models the association of accounts to 1876 quantitative difference is big enough to require a qualitative change in the architecture. Streaming systems have been a hot research topics. Twitter Storm [4] and Apache Flink [3] have recently been focusing on high-level programming ab- stractions and resiliency for streaming at scale. While fault tolerance is important, we need to perform complex graph traversals over streaming data which, to our knowledge, is beyond the expressiveness of today's popular stream proces- sors. It very likely also needs further specialization to meet the latency goals. Creating an index for finding shortest paths in a static graph has been studied extensively. However, it is not di- Figure 2: A graph of a credit-card-fraud example. rectly applicable to our case, which required continuously locating all possible cycles in highly dynamic graphs. In ad- dition, the space and maintenance overhead of such an index is often too high to be scalable for dynamic graphs. Alterna- users and the relationships among different users, while on- tively, a straightforward approach uses a breadth or depth- line transactions including payment activities are denoted as first search to traverse the graph whenever it is changed. dynamic edges (in dotted lines) for the corresponding ver- The approach incurs significant overhead for repetitive com- tices. In order to increase the popularity for a merchandise putation. Moreover, the skewness of real-world graphs often so as to improve future sales, fake transactions are placed to leads to extremely unbalanced response times. As described artificially bump up the number of past transactions. In this later, when a query encounters some vertices with a high de- example, this is achieved through a third-party account (ver- gree of connectivities, the approach may introduce exponen- tex 3) from which a normal order is placed and its payment tially more possible paths to explore and cause significant (edge 3 ! 4) is completed at time t . However, the merchan- 2 delays in response. dise is never shipped by the seller (vertex 5) and the money In this paper, we present a new system, called GraphS, to used for the payment by the fake buyer (vertex 3) was previ- take on the above challenges of continuous constrained cycle ously transfered to him/her via the seller's friend (vertex 1) detection over fast changing graphs. It leverages a dynamic at time t using his or her own account (vertex 2). The en- 1 index structure to optimize trade-offs between memory us- tire process is rather complicated involving multiple entities. age and query efficiency, with minimized maintenance cost. Interestingly, it generates a cycle (1 ! 2 ! 3 ! 4 ! 5 ! 1) Specifically, for each query, we propose hot point based index, in the graph, which can be served as strong indication that which can be selectively applied to a certain portion of the a fraud may exist. graph and exploits various heuristics (e.g., memory usage Figure 2 represents a series of credit card transactions and vertex connectivities) to balance cost and efficiency. As using graph and describes an interesting case of credit card the graph evolves, the system automatically adapts itself to fraud. By using fake IDs, a \criminal" (vertex 2) may obtain capture new hot points and update the index accordingly. In a short-term credit from a bank (vertex 4). He tries to order to cope with a high rate of edge updates without sacri- illegally cash out money by faking a purchase (edge 2 ! 3) ficing query performance, the index is efficiently maintained at time t with the help of a merchant (vertex 3). Once 1 as a by-product of search evaluation. Additional optimiza- the merchant receives payment (edge 4 ! 3) from the bank tion techniques are designed to evaluate constrained cycles (vertex 4), he tries to send the money back (edges 3 ! 1 concurrently and optimistically to increase system through- and 1 ! 2) to the \criminal" via a middle man (vertex 1) put while guaranteeing correctness. GraphS is a real pro- at time t and t , respectively. If the system can detect the 3 4 duction system deployed at Alibaba. It has served as the cycle (2 ! 3 ! 1 ! 2) in real time, it becomes possible to foundation for several key businesses to detect constrained stop such fraud in time. cycles in real-time and prevent fraud in a very dynamic en- In both examples, such fraudulent activities become one vironment. The system can handle a dynamic graph with of the major issues for the e-commerce platform, like Al- hundreds of millions of edges and vertices, and is capable to ibaba's Taobao and TMall, where the graph could contain cope with a peak rate of tens of thousands of edge updates hundreds of millions of vertices (users) and billions of edges per second and find all the cycles with predefined constraints (payments, transactions). In reality, the entire fraudulent within a few milliseconds. process can involve a complex chain of transactions, through The rest of the paper is organized as followed. We formally many entities, which requires complex cycle detection with define the problem, describe straightforward solutions, and various constraints such as the length of the cycles and the demonstrate the challenges in Section 2. We then present a amount of a transaction (edge) to identify and monitor. In novel hot point based index in Section 3. In Section 4, we addition, the graph is being updated at a tremendous speed describe the GraphS system and its internals systematically. of tens of thousands of transactions per second. How to We present experiments and demonstrate the performance quickly detect various constrained cycles in such large dy- improvement in Section 5. Finally, we survey the related namic graph becomes critical in stopping fraud in time and work in Section 6 and conclude in Section 7.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us