Method and apparatus of providing information of asset market where asset trading is conducted
Patent Information
- Application Number
- KR1020240045447
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-04-03
- Publication Date
- 2026-10-13
- Estimated Expiration
- 2044-04-03
Smart Images

Figure 112024037240398-PAT00001_ABST
Abstract
Description
Technology Field
[0001] This specification relates to a technology that provides information on an asset market where asset trading is performed. Background Technology
[0002] Due to the development of internet and mobile technologies, accessibility and reliability of information in asset markets where assets (e.g., stocks, virtual assets, etc.) are traded have increased. Individual investors can check the prices of stocks or virtual assets and trade them online.
[0003] By accurately and quickly collecting and transmitting stock or virtual asset prices, trading within these asset markets can be conducted smoothly. Furthermore, through various technologies such as parallel processing, the delay in delivering price-related information to individual investors can be reduced. The problem to be solved
[0004] Transactions in asset markets occur in real time, and the volume of information related to such transactions is vast; conversely, users seeking to acquire this transaction-related information wish to obtain this vast amount of real-time information as quickly as possible. Therefore, it is important for real-time servers that process transaction-related information and provide it to user terminals to reduce latency, and to achieve this, it is crucial to efficiently reduce the amount of computation that the real-time server must process per unit of time. This specification describes a technical method for efficiently reducing the amount of computation that a real-time server must process per unit of time to accurately deliver transaction-related information to a user with low latency, and an electronic device for performing such a method.
[0005] At least some of the contents disclosed in this specification provide a server that operates between a plurality of first external devices and a message queue.
[0006] At least some of the contents disclosed in this specification provide a server that preprocesses market information primarily requested by users and transmits it to a first external device.
[0007] At least some of the contents disclosed in this specification provide a technology that enables a first external device to receive market information from another server after a certain period of time in a situation where the connection must be interrupted due to server overload.
[0008] At least some of the contents disclosed in this specification provide a technology that reduces the number of price fluctuations of a stock per unit of time in a server when the server load is high due to an increase in market information.
[0009] At least a portion of the contents disclosed in this specification provides a technology in which a server transmits an index to a first external device that can distinguish between items included in an abbreviated form and items included in a detailed form among items of market information.
[0010] At least some of the contents disclosed in this specification may provide market information to terminals connected from overseas via a second external device located overseas.
[0011] The technical problems disclosed in this specification are not limited to those mentioned above, and other unmentioned technical problems will be clearly understood by a person skilled in the art of the technical field disclosed in this specification from the description below. means of solving the problem
[0012] In one embodiment, a device comprising one or more processors and one or more memories storing at least one instruction executed by one or more processors provides information on an asset market where an asset transaction is performed, wherein one or more processors include: receiving first market information for an asset market; generating one or more channels corresponding to each of one or more information configurations provided to a plurality of users, wherein one or more channels constitute one or more channel groups; generating a second market information set based on channel information for one or more channel groups and first market information, wherein each second market information included in the second market information set corresponds to each of one or more channel groups and is generated using the first market information; and transmitting the second market information set and channel information to a first external device communicating with at least one terminal among a plurality of user terminals, wherein at least one second market information among the second market information set may be transmitted from the first external device to at least one terminal based on a first request and channel information received from at least one terminal to the first external device.
[0013] In one embodiment, at least one second market information among the second market information sets may be transmitted from a first external device to at least one terminal through a channel corresponding to a first request among at least one channel group corresponding to at least one second market information.
[0014] In one embodiment, the first market information may include transaction execution information based on asset trading and market price information generated based on the transaction execution information.
[0015] In one embodiment, the step of receiving first market information comprises: receiving transaction execution information in parallel through one or more first sub-blocks in a message queue; and
[0016] The method includes the step of receiving price information in parallel through one or more second sub-blocks in a message queue, wherein one or more first sub-blocks and one or more second sub-blocks may be included in one or more blocks in a message queue corresponding to each of one or more stocks.
[0017] In one embodiment, channel information may be generated based on at least one of user identification information, exchange type information, stock information, trading price information, or trading time information.
[0018] In one embodiment, the step of generating a second set of market information may include generating second market information based on real-time market information provided to users who have subscribed to a paid membership.
[0019] In one embodiment, the step of generating a second market information set may include, using the first market information, generating second market information including item information corresponding to predetermined trading information items for a plurality of stocks and index information indicating one or more of the trading information items.
[0020] In one embodiment, upon a first request, a first sub-information generated based on item information or a second sub-information generated based on item information and index information is transmitted from a first external device to at least one terminal, and the first sub-information includes information corresponding to transaction information items for a specific stock among a plurality of stocks, and the second sub-information may include information corresponding to transaction information items indicated by index information for each of two or more stocks among the plurality of stocks.
[0021] In one embodiment, the step of transmitting channel information and a second set of market information comprises: receiving a second request from a first external device that includes information indicating a first time point and requests the transmission of channel information and a second set of market information; and transmitting channel information and a second set of market information to the first external device from the time point after the first time point, wherein the first time point is a time point after the time point at which the second request is transmitted by the first external device, and may be a time point at which the first external device stops receiving market information regarding an asset market from another device.
[0022] In one embodiment, if there is no channel among one or more channels corresponding to the first request, at least one third market information processed based on the second market information set and the first request may be transmitted from the first external device to at least one terminal.
[0023] In one embodiment, the method further includes the step of transmitting channel information and a second market information set to a second external device that communicates with a terminal corresponding to a user connecting from a foreign country, and the channel information set and the second market information set may be transmitted from the second external device to the terminal corresponding to a user connecting from a foreign country.
[0024] In another embodiment, the apparatus comprises one or more processors; and one or more memories for storing at least one instruction executed by the one or more processors, wherein the one or more processors receive first market information for an asset market as they execute at least one instruction, and create one or more channels corresponding to each of one or more information configurations provided to a plurality of users, - the one or more channels constitute one or more channel groups -, create a second set of market information based on channel information for one or more channel groups and the first market information, - each second market information included in the second set of market information corresponds to each of one or more channel groups and is created using the first market information -, transmit the second set of market information and channel information to a first external device communicating with at least one terminal among the plurality of user terminals, and at least one second market information among the second set of market information may be transmitted from the first external device to at least one terminal based on a first request and channel information received from at least one terminal to the first external device.
[0025] In one embodiment, at least one second market information among the second market information sets may be transmitted from a first external device to at least one terminal through a channel corresponding to a first request among at least one channel group corresponding to at least one second market information.
[0026] In one embodiment, the first market information may include transaction execution information based on asset trading and market price information generated based on the transaction execution information.
[0027] In one embodiment, one or more processors receive transaction execution information in parallel through one or more first sub-blocks in a message queue and receive price information in parallel through one or more second sub-blocks in a message queue, and one or more first sub-blocks and one or more second sub-blocks may be included in one or more blocks in a message queue corresponding to each of one or more stocks.
[0028] In one embodiment, channel information may be generated based on at least one of user identification information, exchange type information, stock information, trading price information, or trading time information.
[0029] In one embodiment, one or more processors may generate second market information based on real-time market information provided to users who have subscribed to a paid membership.
[0030] In one embodiment, one or more processors may use first market information to generate second market information including item information corresponding to predetermined trading information items for a plurality of stocks and index information indicating one or more of the trading information items.
[0031] In one embodiment, upon a first request, a first sub-information generated based on item information or a second sub-information generated based on item information and index information is transmitted from a first external device to at least one terminal, and the first sub-information includes information corresponding to transaction information items for a specific stock among a plurality of stocks, and the second sub-information may include information corresponding to transaction information items indicated by index information for each of two or more stocks among the plurality of stocks.
[0032] In one embodiment, one or more processors receive a second request from a first external device that includes information indicating a first time point and requests the transmission of channel information and a second set of market information, and transmit the channel information and the second set of market information to the first external device from the time point after the first time point, wherein the first time point is a time point after the time when the second request is transmitted by the first external device and may be a time when the first external device stops receiving market information regarding an asset market from another device.
[0033] In one embodiment, if there is no channel among one or more channels corresponding to the first request, at least one third market information processed based on the second market information set and the first request may be transmitted from the first external device to at least one terminal.
[0034] In another embodiment, a non-transient computer-readable recording medium recording at least one instruction executed by one or more processors, wherein the at least one instruction comprises: one or more processors receiving first market information for an asset market and generating one or more channels corresponding to each of one or more information configurations provided to a plurality of users, - one or more channels constitute one or more channel groups -, generating a second market information set based on channel information for one or more channel groups and the first market information, - each second market information included in the second market information set corresponds to each of one or more channel groups and is generated using the first market information -, transmitting the second market information set and channel information to a first external device communicating with at least one terminal among a plurality of user terminals, and at least one second market information among the second market information set may be transmitted from the first external device to at least one terminal based on a first request and channel information received from at least one terminal to the first external device. Effects of the invention
[0035] According to at least part of the contents disclosed in this specification, a server operating between a plurality of first external devices and a message queue may be provided.
[0036] According to at least part of the contents disclosed in this specification, a server may be provided that preprocesses market information primarily requested by users and transmits it to a first external device.
[0037] According to at least part of the contents disclosed in this specification, in a situation where a connection must be interrupted due to server overload, a first external device may receive market information from another server after a certain period of time.
[0038] According to at least part of the contents disclosed in this specification, when the server load is high due to an increase in market information, the server may reduce the number of price fluctuations of one stock per unit of time.
[0039] According to at least part of the contents disclosed in this specification, a server can transmit an index to a first external device that distinguishes between items included in the abbreviated form and items included in the detailed form among items of market information.
[0040] According to at least part of the contents disclosed in this specification, market information may be provided to terminals connected from overseas through a second external device located overseas.
[0041] According to at least part of the contents disclosed in this specification, the amount of computation processed by a real-time server that processes information related to transactions in an asset market and transmits it to a user's terminal in real time can be efficiently reduced, and thereby, the processing speed of the real-time server can be improved, and the user can obtain information related to transactions more quickly.
[0042] The effects according to the technical concept disclosed in this specification are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art from the description in this specification. Brief explanation of the drawing
[0043] FIG. 1 illustrates an environment in which devices according to one embodiment of the contents disclosed in this specification may be applied. FIG. 2 is a drawing illustrating a server among devices according to an embodiment of the contents disclosed in this specification. FIG. 3 is a diagram illustrating a method in which a server provides a second set of market information and channel information according to an embodiment of the contents disclosed in this specification. FIG. 4 is a diagram illustrating a method in which a first external device provides second market information to a terminal according to an embodiment of the contents disclosed in the present specification. FIG. 5 is a diagram illustrating a method of a server providing a second set of market information and channel information to a second external device located overseas, according to one embodiment of the contents disclosed in this specification. FIG. 6 is a drawing illustrating first sub-information and second sub-information according to various embodiments of the contents disclosed in this specification. FIG. 7 is a flowchart illustrating a method in which a server provides a second set of market information and channel information to a first external device in a situation where the operation of another server is interrupted according to various embodiments of the contents disclosed in this specification. FIG. 8 is a flowchart illustrating a method for providing information on an asset market according to various embodiments of the contents disclosed in this specification. Specific details for implementing the invention
[0044] The various embodiments disclosed in this specification are illustrative for the purpose of clearly explaining the technical concept of this specification and are not intended to limit them to specific embodiments. The technical concept of this specification includes various modifications, equivalents, alternatives, and embodiments selectively combined from all or part of each embodiment disclosed in this specification. Furthermore, the scope of the technical concept of this specification is not limited to the various embodiments presented below or the specific descriptions thereof.
[0045] Terms used in this specification, including technical or scientific terms, may have the meaning generally understood by those skilled in the art to which the content disclosed in this specification belongs, unless otherwise defined.
[0046] Expressions used in this specification, such as “comprising,” “may compose,” “possessing,” “possessing,” “having,” and “possessing,” mean that the subject feature (e.g., function, operation, or component, etc.) exists and do not exclude the existence of other additional features. That is, such expressions should be understood as open-ended terms implying the possibility of including other embodiments.
[0047] Singular expressions used in this specification may include the meaning of the plural form unless otherwise indicated by the context, and this applies likewise to singular expressions described in the claims.
[0048] Expressions such as "first," "second," or "first," "second" as used in this specification are used to distinguish one object from another when referring to a plurality of objects of the same kind, unless otherwise indicated in the context, and do not limit the order or importance of the objects.
[0049] Expressions used in this specification, such as “A, B and C,” “A, B or C,” “at least one of A, B and C,” or “at least one of A, B or C,” may mean each of the listed items or all possible combinations of the listed items. For example, “at least one of A or B” may refer to (1) at least one A, (2) at least one B, and (3) at least one A and at least one B.
[0050] The expression “based on” as used in this specification is used to describe one or more factors affecting an act or action of a decision or judgment described in the phrase or sentence containing this expression, and this expression does not exclude additional factors affecting said act or action of a decision or judgment.
[0051] As used in this specification, the expression that a component (e.g., a first component) is "connected" or "connected" to another component (e.g., a second component) may mean not only that a component is directly connected or connected to another component, but also that it is connected or connected through a new component (e.g., a third component).
[0052] As used herein, the expression "configured to" may have meanings such as "set to," "capable of," "modified to," "made to," or "capable of." This expression is not limited to the meaning of "specifically designed in hardware." For example, a processor configured to perform a specific operation may refer to a generic-purpose processor capable of performing that specific operation by executing software, or a special-purpose computer structured through programming to perform that specific operation.
[0053] As used herein, the term “part” may refer to software or hardware components such as field-programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs). However, “part” is not limited to hardware and software. “Part” may be configured to be stored in an addressable storage medium or configured to execute one or more processors. In one embodiment, “part” may include components such as software components, object-oriented software components, class components, and task components, as well as processors, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
[0054] As used in this specification, the term "asset market" refers to a place where one or more of various forms of assets, such as financial instruments, virtual assets, securities, bonds, foreign exchange, commodities, and real estate, are traded. For example, among asset markets, the stock market is a market for trading stocks that represent ownership of a company. Stock investors can earn profits by buying and selling stocks based on the company's growth and earnings. For example, among asset markets, the virtual asset market may refer to a market for trading assets in digital form. Virtual assets may be digital assets created and encrypted based on blockchain technology. Virtual assets may include Bitcoin, Ethereum, Ripple, etc. For example, among asset markets, the bond market is a market for trading bonds (or debt securities) issued by corporations or governments to raise funds. For example, asset markets may include the derivatives market. Derivatives are financial instruments based on the value of other assets and are contracts regarding future price fluctuations. Futures, options, and swaps are representative derivatives.
[0055] As used in this specification, the term "platform" may refer to an environment that serves as the basis for user usage by integrating and managing services of the same or similar purposes. This environment may be provided to users by running software (e.g., computer programs or applications, etc.) on hardware (e.g., servers, clients, etc.). Depending on the context in which it is used, the term platform may be referred to comprehensively and interchangeably with "software," "applications," or "solutions." In one embodiment, the trading platform may be an environment for providing a trading service for any one of the asset markets, such as a stock trading service or a virtual asset trading service, or an environment for providing two or more trading services for the asset market in an integrated manner.
[0056] As used in this specification, the term "asset trading platform" refers to an online platform used for trading various assets. An asset trading platform can provide investors with opportunities to trade and invest in various financial products and assets. An asset trading platform processes transactions for stocks, bonds, foreign exchange, digital assets (e.g., cryptocurrencies), commodities, derivatives, etc. Various characteristics and regulations may apply to an asset trading platform depending on each asset item. An asset trading platform may provide order execution functions, real-time quote information functions, technical analysis and charting functions, etc. The order execution function is a feature that enables users to trade assets using various types of orders, such as market orders, limit orders, and stop orders. The real-time quote information function may be a function that provides information on the price and trading volume of assets in real time. The technical analysis and charting functions may provide users with tools that help them analyze asset price movements and predict future price fluctuations. An asset trading platform provides users (e.g., investors) with a convenient method to trade across various asset classes and can assist in establishing investment strategies and exploring financial markets.
[0057] As used herein, the term "market information" may include information related to the transaction of ownership of rights, services, or products. Market information may include transaction execution information resulting from asset transactions and market price information generated based on transaction execution information.
[0058] As used in this specification, the term "transaction execution information" may refer to information formed as an asset transaction takes place in an asset trading market. For example, transaction execution information may include a stock code, trading time, transaction price, trading volume, transaction value, execution conditions, and trading direction. A stock code is a unique identification code of the asset being traded. Trading time is the time at which the asset transaction was executed. Trading price is the price at which the asset transaction was executed. Trading volume is the quantity of the asset for which the transaction was executed. Transaction value is the amount for which the transaction was executed. Execution conditions describe the conditions under which the transaction was executed and may indicate whether it is a normal execution, a market order execution, or an execution with exceptional conditions. Trading direction indicates the direction in which the transaction was executed and may be expressed as "buy" or "increase" for a buyer, or "sell" or "decrease" for a seller.
[0059] As used in this specification, the term "market price information" is generated by processing transaction execution information. Market price information may include information related to the price of an asset in an asset trading market. For example, market price information may include the current price, opening price, closing price, high price, low price, date and time of the most recent transaction, etc.
[0060] As used herein, the term "message queue" refers to a communication pattern used in computer systems to enable asynchronous and decoupled communication between different components or services. A message queue can act as an intermediary for exchanging messages between a sender (producer) and a receiver (consumer). A producer sends a message to the queue of the message queue, and a consumer can retrieve and process the corresponding message from the message queue. A message queue can also act as a buffer to hold messages until the consumer is ready to process them. Through a message queue, producers and consumers can operate independently without directly depending on each other's availability or processing speed. A message queue can provide several advantages, such as the following: A message queue can provide asynchronous communication. Through asynchronous communication, producers and consumers can operate independently and do not need to wait for each other. Since producers and consumers can send and receive messages at different speeds, overall system performance and responsiveness can be improved. A message queue can provide scalability. In other words, when utilizing message queues, multiple producers and consumers can interact with the queue, enabling distributed message processing and horizontal scaling of users (producers and / or consumers). This allows for the accommodation of large volumes of message processing or workloads. Message queues can provide reliability. Since messages in a queue are generally retained until consumed, reliable message delivery can be guaranteed even in the event of errors or system downtime. Message queues can provide loose coupling. Producers and consumers can be loosely coupled through the queue.This means that producers and consumers can be indirectly connected to exchange messages without needing direct information about each other (e.g., the consumer's IP address). Therefore, utilizing message queues ensures system flexibility and modularity, while also enabling easy maintenance and management. Message queues can be implemented using specific message queue systems (e.g., RabbitMQ, Apache Kafka) or integrated into other middleware frameworks or cloud services. These message queue systems can generally provide additional features such as message durability, message routing, prioritization, and support for various communication patterns (publish-subscribe, request-reply, etc.).
[0061] Hereinafter, various embodiments described in this specification will be explained with reference to the attached drawings. In the attached drawings and the description thereof, the same reference numerals may be assigned to identical or substantially equivalent components. Furthermore, in the description of the various embodiments below, the description of identical or corresponding components may be omitted, but this does not mean that such components are not included in the embodiments.
[0062] FIG. 1 illustrates an environment in which devices according to an embodiment of the contents disclosed in this specification may be applied. The environment may include a message queue (110), a server (130), a first external device (140), and / or a plurality of terminals (151, 152, 153) connected to the first external device (140). Although the server (130) is illustrated as being connected to the message queue (110) and the first external device (140), this is merely an example, and the message queue (110), the server (130), the first external device (140), and / or a plurality of terminals (151, 152, 153) connected to the first external device (140) may communicate with each other through a computer network. A computer network is a digital telecommunications network, meaning that various distributed devices are connected to a predetermined network. Computer networks can be implemented as all kinds of wired or wireless networks, such as local area networks (LAN), wide area networks (WAN), mobile radio communication networks, and Wibro (wireless broadband internet).
[0063] The message queue (110) can store transaction information received from a device (not shown) that provides transaction information and market price information generated based on the transaction information, and can provide it to another device. The message queue (110) can receive transaction information in real time from a device that provides transaction information by stock. The message queue (110) can transmit the transaction information to a market price information generating device (not shown). The market price information generating device can generate market price information based on the transaction information. And the message queue (110) can receive and store market price information from the market price information generating device. In various embodiments, one or more of the device that provides transaction information and the market price information generating device may be implemented as an electronic device combined with the message queue (110).
[0064] The terminals (151, 152, 153) are user terminals and may be devices that receive information about the asset market. In FIG. 1, the terminals (151, 152, 153) are shown as three, but this is merely an example, and the number of terminals may be two or fewer or four or more. Each of the terminals (151, 152, 153) may be any one of devices such as, for example, a desktop computer, a workstation, a laptop computer, a tablet computer, an audio player, a wearable device, or a smartphone, but is not limited to these examples and may be various types of computing devices equipped with computing functions.
[0065] The server (130) may be a device that processes information received from a message queue and transmits the processed information to a first external device (140). Unlike what is shown in FIG. 1, the server (130) may transmit the processed information to a plurality of first external devices. The server (130) may perform various processing related to market information. For example, the server (130) may generate second market information based on channel information and first market information. The first market information is information generated as an asset market transaction occurs and may include transaction execution information or market price information. The second market information may correspond to each of one or more channel groups based on channel information and may be generated by processing the first market information.
[0066] The server (130) may be implemented with one or more computing devices. For example, all functions of the server (130) may be implemented in a single computing device. As another example, the first function of the server (130) may be implemented in the first computing device, and the second function may be implemented in the second computing device. Here, the aforementioned computing device may be a desktop computer, a laptop computer, an application server, a proxy server, a cloud server, etc., but is not limited thereto and may be various types of devices equipped with computing functions.
[0067] The first external device (140) can transmit market information received from the server (130) to the terminals (151, 152, 153). For example, the first external device (140) can transmit second market information to the terminals (151, 152, 153). The first external device (140) can receive a request for specific market information from the terminals (151, 152, 153). The first external device (140) can identify a channel corresponding to the request and transmit second market information corresponding to that channel (or a channel group including a channel) to the terminals. By doing so, the first external device (140) can reduce the amount of computation of the first external device (140) by identifying a channel group (or channel) corresponding to the request and providing second market information without the need to newly process the market information corresponding to the request of the terminals (151, 152, 153). In various embodiments, the first external device (140) may be referred to as a real-time server or a WebSocket server.
[0068] In one embodiment, the server (130) may receive first market information regarding an asset market. The server (130) may receive the first market information from a message queue (110). The first market information may include transaction execution information and market price information.
[0069] The server (130) may create one or more channels corresponding to one or more information configurations provided to multiple users. One or more information configurations provided to a user may refer to types of information provided to the user in relation to the market and may be composed of market information. Market information may include information corresponding to various market information items, and information configurations may be represented through a combination of market information items. The market information items may be items of transaction execution information and / or price information. For example, market information items may include stock code, trading time, transaction price, trading volume, execution conditions, trading direction, current price, opening price, closing price, high price, low price, bid price, currency, exchange type, etc. For example, an information configuration may be determined by a configuration combining a stock code item and a bid price item, a configuration combining a stock code item and a trading time item, etc. One or more information configurations may be a combination of at least some of the items among various market information items.
[0070] In various embodiments, a combination of market information items may be predetermined for each screen provided to users through the asset trading platform. Accordingly, the server (130) can determine the configuration of one or more pieces of information that users primarily request. Various types of screens may be displayed on terminals connected to the asset trading platform. The market information required may differ depending on the type of screen. Therefore, there may be information configurations corresponding to each screen type. For example, one screen may display the stock price of Stock A. As another example, another screen may display the stock price of Stock A during the regular trading session. Accordingly, the server (130) can create a channel corresponding to each information configuration. A channel may be an identifier that provides specific market information. A channel may be expressed through a conditional expression. For example, a channel that provides market information on the stock price of Stock A may be expressed as the conditional expression "Stock A and stock price." In the conditional expression, A and B may represent the intersection of market information A and market information B. For example, the server (130) can create a channel "Stock A and stock quote" corresponding to one information configuration and a channel "Stock A and stock quote and regular session" corresponding to another information configuration.
[0071] One or more channels may form one or more channel groups. One or more channels included in a channel group may be connected by "or". In a conditional expression, "A or B" may mean the union of market information A and market information B. For example, channel group A may include channels "Stock A and stock quotes" and "Stock A and stock quotes and regular session". Channel group A may also be expressed as "Stock A and stock quotes" or "Stock A and stock quotes and regular session".
[0072] The server (130) may generate a second market information set based on channel information and first market information. The channel information may include information related to one or more channels or one or more channel groups, and may include information regarding one or more information configurations provided to a user and the corresponding relationship between one or more channels. Each second market information included in the second market information set may correspond to each of one or more channel groups and may be generated using the first market information. The second market information may be generated based on the first market information and the channel groups. In one embodiment, the second market information may correspond to a channel group. For example, the server (130) may process the first market information to generate second market information corresponding to a channel group. For example, if the channel group includes the channel "Stock A and stock quote" and the channel "Stock A and stock quote and regular session," the second market information may include the stock quote of Stock A. This is because the union of market information corresponding to "Stock A and stock quote price" and market information corresponding to "Stock A and stock quote price and regular session" is market information corresponding to "Stock A and stock quote price". In another embodiment, the second market information may correspond to a channel. For example, the second market information may correspond to the channel "Stock A and stock quote price". The server (130) may generate the second market information based on the channel and the first market information.
[0073] The server (130) can transmit a second market information set and channel information to a first external device (140) that communicates with at least one of the multiple user terminals. If multiple first external devices exist, the server (130) can transmit the second market information set and channel information to each of the multiple first external devices. The second market information set and channel information transmitted by the server (130) to the multiple first external devices may be identical. By generating the second market information set based on a channel (or channel group) corresponding to the information configuration provided to the user, the first external device (140) can receive the second market information set and channel information from the server (130) and provide the second market information corresponding to the request received from the terminal to the terminal. Furthermore, by providing the same second market information set and channel information to multiple first external devices, the server (130) may not perform operations to provide different information to each first external device. Through this, the amount of computation for the server (130) may be reduced and the delay time may be shortened. In another embodiment, the second set of market information and channel information transmitted by the server (130) to each of the plurality of first external devices may be different.
[0074] At least one second market information among the second market information sets may be transmitted from the first external device (140) to at least one terminal (151, 152, 153) based on a first request and channel information received from at least one terminal to the first external device (140). The first request may be transmitted by the terminal (151, 152, 153) to the first external device (140). The first request may be related to one or more information configurations provided to a user. For example, the first request may be a user requesting information on the stock price of stock A. The first external device (140) may identify a channel corresponding to the first request based on the channel information. The first external device (140) may transmit the second market information from the first external device to at least one terminal (151, 152, 153) through the identified channel. For example, if the second market information corresponds to a channel group, the first external device (140) can transmit the second market information corresponding to the channel group containing the channel through the identified channel to at least one terminal (151, 152, 153). As another example, if the second market information corresponds to a channel, the first external device (140) can transmit the second market information corresponding to the channel through the identified channel to at least one terminal (151, 152, 153). As described above, the first external device (140) does not generate the second market information but simply receives it from the server (130), and by identifying the channel corresponding to the first request and transmitting the second market information corresponding to the channel or the channel group containing the channel to the terminal (151, 152, 153) that transmitted the first request, the load on the first external device (140) can be reduced. Through this, an increase in latency due to an increase in the load on the first external device (140) can be prevented.
[0075] FIG. 2 illustrates a server (130) capable of implementing any one of the devices according to an embodiment of the contents disclosed herein. In the contents disclosed herein, the server (130) may be represented as an electronic device, and the server (130) and the electronic device may be referred to interchangeably. The aforementioned server (130) may include one or more processors (210) or one or more memories (220). In one embodiment, some components of the server (130) may be deleted, or other components (e.g., an output unit (240), etc.) may be added to the server (130). Additionally, some components may be implemented by integrating them, or may be implemented as a singular or multiple entities. In the contents disclosed herein, one or more processors (210) may be represented as processors (210). Unless the context clearly indicates otherwise, the expression processors (210) may mean a set of one or more processors. Additionally, in the contents disclosed herein, one or more memories (220) may be referred to as memory (220). Unless the context clearly indicates otherwise, the expression memory (220) may mean a set of one or more memories.
[0076] At least some of the components within the server (130) can be connected to each other via a bus, GPIO (general purpose input / output), SPI (serial peripheral interface) or MIPI (mobile industry processor interface), etc., to exchange data or signals.
[0077] The processor (210) can perform operations or data processing regarding the control or communication of each component of the server (130). Specifically, the processor (210) can control at least one component of the server (130) connected to the processor (210) by running software (e.g., commands, programs, etc.) received from other components. As an example, the processor (210) can load commands or data into memory (220), process commands or data stored in memory (220), and store result data resulting from the processing in memory (220). Additionally, the processor (210) can be operatively connected to the components of the server (130) to perform various operations such as operations, processing, data generation, and processing related to the contents disclosed in this specification.
[0078] The memory (220) can store various data. The data stored in the memory (220) may include software (e.g., instructions, programs, etc.) as data acquired, processed, or used by at least one component of the server (130). As an example, the memory (220) may store instructions for the operation of the processor (210) as a computer program. Here, the computer program may include one or more instructions that cause the processor (210) to perform operations according to various embodiments of the contents disclosed in this specification when loaded into the memory (220). That is, the processor (210) may perform operations according to various embodiments of the contents disclosed in this specification by executing the aforementioned one or more instructions. Additionally, the memory (220) may include volatile or non-volatile memory. In one embodiment, the command or program is software stored in memory (220) and may include an operating system for controlling the resources of the node (141), an application, or middleware that provides various functions to the application so that the application can utilize the resources of the node (141).
[0079] In one embodiment, the server (130) may further include a communication interface (230). The communication interface (230) may establish a wired or wireless communication channel with an external device (e.g., a first external device (140)) and transmit and receive various data with the external device. The communication interface (230) may be implemented as a circuit or chip configured to perform data transmission and reception. In one embodiment, the communication interface (230) may include at least one port for connecting to an external device via a wired cable in order to communicate with the external device via a wired connection. In this case, the communication interface (230) may perform communication with an external device connected via a wired connection through at least one port. In one embodiment, the communication interface (230) may include a cellular communication module and be configured to be connected to a cellular network (e.g., 3G, LTE, 5G, Wibro, or Wimax). In one embodiment, the communication interface (230) may include a short-range communication module to transmit and receive data with an external device using short-range communication (e.g., Wi-Fi, Bluetooth, Bluetooth Low Energy (BLE), UWB). In one embodiment, the communication interface (230) may include a contactless communication module for contactless communication. Here, contactless communication may include at least one contactless proximity communication technology, such as NFC communication, RFID (radio frequency identification) communication, or MST (magnetic secure transmission) communication. In addition to the various examples described above, the server (130) may be implemented in various known ways for communicating with an external device, and the scope of the contents disclosed in this specification is not limited by the examples described above.
[0080] In one embodiment, the server (130) may further include an output unit (240). Here, the output unit (240) may display various screens based on the control of the processor (210). For example, the output unit (240) may display market information based on the control of the processor (210). In this case, to display a dashboard on the output unit (240), for example, a web browser or a dedicated application may be installed on the server (130). In one embodiment, the aforementioned web browser or dedicated application may be implemented to provide functions performed on an asset trading platform to the user through a user interface. Additionally, the output unit (240) is configured to interact with the user, and may display various screens based on the control of the processor (210) and receive user input from the user. Such an output unit (240) may be implemented in the form of a touch sensor panel (TSP) capable of recognizing contact or proximity of various external objects (e.g., fingers, stylus, etc.). Here, the touch sensor panel may have various structures and types, and the contents disclosed in this specification may be applied regardless of the structure and type of the touch sensor panel. The output unit (240) may be omitted from the server (130) according to the embodiment.
[0081] In one embodiment, the server (130) may further include an input unit (250) (e.g., a mouse, a keyboard, etc.). Here, the input unit (250) may receive data to be used by a component of the server (130) (e.g., a processor (210)) from outside the server (130) (e.g., a message queue (110)). Depending on the embodiment, the input unit (250) may be omitted from the server (130).
[0082] In one embodiment, each of the message queue (110), terminals (151, 152, 153), and first external device (140) may include one or more processors and / or one or more memories. The message queue (110), terminals (151, 152, 153), and first external device (140) may further include a communication interface, an output unit, and / or an input unit. The configurations of the message queue (110), terminals (151, 152, 153), and first external device (140) described above are merely examples and are not limited thereto.
[0083] FIG. 3 is a diagram illustrating a method in which a server provides a second set of market information and channel information according to an embodiment of the contents disclosed in this specification. The operation of the processor (210) described below can be understood as the operation of the processor (210) included in the server (130).
[0084] In one embodiment, a message queue (330) may receive transaction execution information (310). Transaction execution information (310) may be obtained from a transaction execution information system. The transaction execution information system may store information related to transaction executions occurring in real time and transmit it to another device. For example, the transaction execution information system may be a system of the Korea Exchange. The message queue (330) may create blocks by stock. For example, if the message queue (330) is Kafka, the blocks may be topics. Information contained in different blocks may be processed in parallel. Thus, by creating blocks by stock, the message queue (330) may process transaction execution information by stock in parallel. Each block may include sub-blocks. For example, if the message queue is Kafka, the sub-blocks may be partitions. The message queue (330) may receive transaction execution information by stock in parallel through one or more first sub-blocks within the message queue (330). For example, the message queue (330) can receive transaction execution information for stock A (331) through the first sub-block A (332). For example, the message queue (330) can receive transaction execution information for stock B (335) through the first sub-block B (336). Accordingly, the message queue (330) can receive transaction execution information for each stock in parallel through the first sub-block A (332) and the first sub-block B (336).
[0085] Transaction execution information may include information corresponding to some of the items of market information. Therefore, sub-blocks can correspond to each item of market information. For example, there may be sub-blocks corresponding to trading volume, sub-blocks corresponding to trading price, and so on. Data corresponding to the items of market information can be stored in sub-blocks.
[0086] The message queue (330) can transmit the received transaction execution information (310) to the price information generating device. The price information generating device can generate price information (320) based on the transaction execution information (310). The price information generating device can process the transaction execution information (310) in parallel for each stock. The price information generating device can transmit the generated price information (320) to the message queue (330). The message queue (330) can store the received price information (310) in a second sub-block. For example, the message queue (330) can receive price information for stock A (331) through the second sub-block A (333). For example, the message queue (330) can receive price information for stock B (335) through the second sub-block B (337). Through this, the message queue (330) can receive price information for each stock in parallel through the second sub-block A (333) and the second sub-block B (337). In one embodiment, the message queue (330) may obtain transaction execution information (310) and price information (320) sequentially or simultaneously from the same single entity, unlike as shown in FIG. 3. For example, the aforementioned transaction execution information system and price information generating device may be composed of a single device, and the message queue (330) may obtain transaction execution information (310) and price information (320) sequentially or simultaneously from this single device.
[0087] A sub-block can store transaction execution information (310) and market price information (320) generated in real time in a time series. Accordingly, the server (130) can know the offset of the transaction execution information (310) or the offset of the market price information (320) recently read from the sub-block. Accordingly, in order to receive information continuously, the server (130) can receive the transaction execution information (310) or market price information (320) corresponding to the next offset based on the offset described above. By receiving information through the offset, the server (130) can receive transaction execution information (310) and market price information (320) with guaranteed time order.
[0088] The server (130) can receive first market information (350) regarding an asset market from a message queue (330). The first market information (350) may include transaction execution information (310) and price information (320). The server (130) can receive first market information (350) for multiple stocks in parallel. This is because blocks exist in the message queue (330) for each stock, and parallel processing is possible for multiple blocks. In another embodiment, the first server (130) may receive first market information directly from a transaction execution information system and / or a price information generation device.
[0089] In one embodiment, the server (130) may generate a second set of market information (360) based on first market information (350) and channel information (370). The channel information (370) may include information related to one or more channels or one or more channel groups, and may include information regarding one or more information configurations provided to a user and the corresponding relationship between one or more channels. The channel information (370) may be generated based on at least one of user identification information, exchange type information, stock information, trading price information, or trading time information.
[0090] In one embodiment, the server (130) can identify one or more information configurations frequently requested by a specific user based on user identification information. The user identification information may include the user's ID, personal information, and user log information. By using user log information, the types frequently requested by a specific user can be identified. By identifying the types frequently requested by a specific user, creating a channel, and pre-creating a second market information corresponding thereto, market information can be provided quickly to the specific user without delay. In another embodiment, the server (130) can identify one or more information configurations frequently requested by multiple users based on user identification information of multiple users. By using user log information, the types frequently requested by multiple users can be identified. By identifying the types frequently requested by multiple users, creating a channel, and pre-creating a second market information corresponding thereto, market information can be provided quickly to multiple users without delay.
[0091] Exchange type information is information corresponding to the exchange type item among the market information items. Stock information is information corresponding to the stock code among the market information items. Trading price information may be information corresponding to the current price, opening price, closing price, high price, low price, and bid price items among the market information items. Trading time information may be information corresponding to the trading time item.
[0092] For example, one or more information configurations frequently requested by multiple users may be as follows. The exchange type may be "Korea Exchange," the stock may be "Stock A," and the price item may be "Current Price." In this case, the processor (210) may create a channel named "Korea Exchange and Stock A and Current Price." The processor (210) may create channel information (370) for the channel and second market information corresponding to the channel "Korea Exchange and Stock A and Current Price."
[0093] As another example, there may be types that are frequently requested by a specific user group. For example, types frequently requested by a specific user group may be (1) types such as "Korea Exchange," "Stock A," and "Current Price," and (2) types such as "Korea Exchange," "Stock B," "Bid Price," and "Regular Session." In this case, the processor (210) may create a channel group including the channel "Korea Exchange and Stock A and Current Price" and the channel "Korea Exchange and Stock B and Bid Price and Regular Session." The processor (210) may create channel information (370) for the channel group and second market information corresponding to the channel group.
[0094] As another example, one or more information configurations may be derived from similar information. For example, if one or more information configurations are (1) types such as "Korea Exchange," "Stock A," and "Bid Price," (2) types such as "Korea Exchange," "Stock A," "Bid Price," and "Regular Session," and (3) types such as "Korea Exchange," "Stock A," "Bid Price," and "Non-regular Session," these may all be derived from information regarding the bid price for Stock A at the Korea Exchange. In this case, the processor (210) may generate a channel group including the channel "Korea Exchange and Stock A and Bid Price," the channel "Korea Exchange and Stock A and Bid Price and Regular Session," and the channel "Korea Exchange and Stock A and Bid Price and Non-regular Session." The processor (210) may generate channel information (370) for the channel group and second market information corresponding to the channel group.
[0095] In one embodiment, the processor (210) may generate second market information based on real-time market information provided to users who have subscribed to a paid membership. A paid membership may be a service in which users subscribed to an asset trading platform pay a fee at regular intervals and receive services that are differentiated from those provided to general users. For example, market information from overseas exchanges may experience a delay. Therefore, users cannot check transaction execution information from overseas exchanges in real time, but can check it after a delay (e.g., 20 minutes). For example, users who have not subscribed to a paid membership may receive the transaction execution information (310) from a US exchange after a certain amount of time has passed since the transaction execution information (310) was generated. However, for users who have subscribed to a paid membership, market information can be provided in real time without a delay. Therefore, the processor (210) can provide second market information to the user in real time without a delay.
[0096] The processor (210) can transmit a second set of market information (360) and channel information (370) to a first external device A (140), a first external device B (141), and a first external device C (142). The first external device A (140), the first external device B (141), and the first external device C (142) can receive the same second set of market information (360) and channel information (370) from the processor (210). In another embodiment, the processor (210) can transmit different second sets of market information (360) and channel information (370) to the first external device A (140), the first external device B (141), and the first external device C (142), respectively.
[0097] The first external device A (140) can identify a channel corresponding to a first request received from terminal A (151) using the received channel information (370). The first external device A (140) can transmit second market information (361) corresponding to the channel identified in the second market information set (360) to terminal A (151).
[0098] FIG. 4 is a diagram illustrating a method in which a first external device provides second market information to a terminal according to an embodiment of the contents disclosed in the present specification.
[0099] In one embodiment, the first external device (140) may receive channel information (370) and a second set of market information (360) from the server (130). In the description of FIG. 4, information related to a channel group may be briefly referred to as a channel group. For example, channel group A (420) may be understood as information related to channel group A, and channel group B (430) may be understood as information related to channel group B. Channel information (370) may include information related to one or more channel groups. For example, channel information (370) may include channel group A (420) and channel group B (430). The second set of market information (360) may include second market information A (361) and second market information B (362). Second market information A (361) corresponds to channel group A (420), and second market information B (362) may correspond to channel group B (430). Channel group A (420) may include channel 1 (421) "Stock A and stock quote" and channel 2 (422) "Stock A and stock quote and regular session". Channel group B (430) may include channel 3 (431) "Stock B and execution" and channel 4 (432) "Stock B and execution and regular session". Channel 3 (431) identifies transaction execution information for Stock B regardless of trading time, and channel 4 (432) identifies transaction execution information for Stock B during the regular session.
[0100] In one embodiment, terminal A (151) can transmit a first request (440) to a first external device (140). For example, if a user of terminal A (151) wants to check the order book screen for stock A during regular trading hours, the first request (440) transmitted from terminal A (151) to the first external device (140) may correspond to "stock A and stock quote and regular trading hours". The first external device (140) can identify that the channel corresponding to the first request (440) is channel 2 (422). The first external device (140) can transmit second market information A (361) corresponding to channel group A (420) including channel 2 (422) to terminal A (151) (450). As another example, if there is second market information corresponding to channel 2 (422), the first external device (140) may transmit the second market information corresponding to channel 2 (422) to terminal A (151).
[0101] In one embodiment, among the channels included in the channel information (370), there may not be a channel corresponding to the first request. The first external device (140) can process at least one third market information based on the second market information set (360) and the first request (440). For example, if the first request (440) is "US Exchange and Stock C and Bid / Ask and Regular Session," there may not be a channel corresponding to the first request (440) in the channel information (370). The second market information set (360) may contain second market information corresponding to the channel "US Exchange" and second market information corresponding to the channel "Stock C and Bid / Ask and Regular Session," respectively. The first external device (330) can generate third market information based on the second market information corresponding to the channel "US Exchange" and the second market information corresponding to the channel "Stock C and Bid / Ask and Regular Session." The first external device (140) can transmit the generated third market information to terminal A (151). By doing so, even if there is no channel corresponding to the terminal's request, new market information is generated based on the received information and provided to the user, thereby eliminating the need to separately request new information from the server (130) or message queue (110). The delay time can be reduced through the method described above.
[0102] FIG. 5 is a diagram illustrating a method of a server providing a second set of market information and channel information to a second external device located overseas, according to one embodiment of the contents disclosed in this specification.
[0103] Generally, when a user accesses from abroad, there may be more latency than when accessing from within the country where the server (130) is located. For one-time requests during communication between countries, the latency of information communication can be reduced by using methods such as a CDN (content delivery network). However, when transmitting and receiving information that occurs in real time, there may be limitations in using a CDN to reduce latency. Additionally, the number of times an external device located overseas transmits and receives to check the status of the message queue (110) may increase. In order to receive information from the message queue (110), a procedure to check the status in real time may be required. If an external device located overseas communicates directly with the message queue (110), the number of transmissions and receptions to check the status of the message queue (110) increases, and since there is also latency between the message queue (110) and the external device located overseas, the latency for the external device to receive market information may increase further. Accordingly, a device that communicates directly with the message queue (110) (e.g., server (130)) is located in the same region as the message queue (110), and an external device located overseas (e.g., second external device (510)) communicates with the server (130), thereby reducing the delay time that occurs while communicating directly with the message queue (110).
[0104] In one embodiment, the server (130) may receive first market information (350) from the message queue (110). The server (130) may transmit the second market information set (360) and channel information (370) to a second external device (510) located overseas. The second external device (510) may receive the second market information set (360) and channel information (370) from the server (130) without performing the process of transmitting requests and receiving responses in real time to check the status of the message queue (110). The second external device (510) may transmit the second market information set (360) and channel information (370) to a terminal corresponding to a user connecting from a foreign country. For example, the second external device (510) can transmit the second market information set (360) and channel information (370) to terminal D (521), terminal E (522), and terminal F (523).
[0105] Through this, the server provides market information to terminals connected from overseas via a second external device located overseas, thereby enabling the provision of market information to the terminals with a short latency.
[0106] FIG. 6 is a drawing illustrating first sub-information and second sub-information according to various embodiments of the contents disclosed in this specification.
[0107] The screen (600) displays information regarding two or more stocks. Accordingly, the screen (600) may represent an embodiment in which second sub-information containing information regarding two or more of the stocks is displayed on the screen. For example, information regarding stock A (610), stock B (611), stock C (612), stock D (613), stock E (614), and stock F (615) may be displayed on the screen (600). For each stock, stock codes and trading price fluctuation information (e.g., rise, fall, fluctuation ratio, fluctuation price) may be displayed on the screen (600). Since two or more stocks are displayed on the screen, there may be limitations in displaying information corresponding to numerous market information items for each stock. Therefore, when two or more stocks are displayed on the screen (600), the server (130) may select only some of the items of the multiple market information items and display them on the screen (600). Accordingly, abbreviated market information for each stock may be displayed on the screen.
[0108] Screen (601) displays information regarding a specific stock. Screen (601) may represent an embodiment in which first sub-information containing information regarding one of a plurality of stocks is displayed on the screen. Since information regarding a single stock is displayed on the screen (601), information corresponding to more market information items can be displayed than when two or more stocks are displayed. For example, on the screen (601), not only the stock code and trading price fluctuation information of a specific stock, but also the trading volume, trading time, trading date, exchange type, and currency can be displayed. Therefore, detailed market information regarding a specific stock can be displayed on the screen.
[0109] Depending on whether summarized market information is provided for each stock or detailed market information is provided for a specific stock, the second market information transmitted from the first external device to the terminal may vary. However, generating summarized market information for one stock and generating detailed market information separately at the server (130) may be inefficient in terms of computing resource utilization. Therefore, it may be efficient for the server (130) to transmit market information for one stock to the first external device (140), and for the first external device (140) to generate summarized market information and detailed market information as needed using the received market information.
[0110] In one embodiment, the server (130) may transmit index information identifying items of the second sub-information among items of the second market information to the first external device (140). The items of the second sub-information may be items of abbreviated market information. The items of the first sub-information may be items of detailed market information. For example, the items of the second market information may be identical to the items of the first sub-information.
[0111] The item list (602) may be items of second market information. If the items of second market information and the items of first sub-information (650) are identical, the items of second market information may include a stock code (661), trading price fluctuation information (662), trading price (663), opening price, closing price, high price, low price (664), expected execution price (665), trading volume (666), trading time (667), trading date (668), exchange (669), and currency (670) corresponding to indexes 1 through 10, respectively. Among these, the items of second sub-information may be items corresponding to indexes 1 through 5. The server (130) may generate index information capable of distinguishing between the items of first sub-information (650) and the items of second sub-information (640). For example, the server (130) can generate index information such that indexes 1 to 5 are items (640) of the second sub-information and indexes 1 to 10 are items (650) of the first sub-information.
[0112] The server (130) can transmit index information to the first external device (140). In response to a first request requesting first sub-information for a specific stock, the first external device (140) can transmit the first sub-information for the specific stock to the terminal. If the items of the second market information and the items of the first sub-information (650) are identical, the first external device (140) can transmit the second market information to the terminal. As another example, if some of the items of the second market information are items of the first sub-information (650), the first external device (140) can generate the first sub-information based on the index information and the second market information.
[0113] In response to a first request requesting second sub-information for two or more items, the first external device (140) may transmit second sub-information for two or more items to the terminal. The first external device (140) may identify items (640) of the second sub-information based on index information. The first external device (140) may construct the second sub-information by identifying information corresponding to the identified items (640) of the second sub-information in the second market information. Accordingly, the second sub-information may include at least a portion of the second market information.
[0114] The first external device (140) receives only index information from the server (130) rather than receiving the first sub-information and the second sub-information individually, and processes only the necessary information according to the user's request and provides it to the user, thereby reducing the amount of communication between the server (130) and the external device (140) and reducing the amount of computation of the server (130), so that the delay time can ultimately be reduced.
[0115] In one embodiment, various types of screens may be displayed on a terminal connected to an asset trading platform. For example, when the bid / ask tab (620) of the screen (601) is selected, the bid / ask price of Stock A may be displayed on the screen. When the bid / ask tab (620) is selected, the screen may display second market information corresponding to the channel "Stock A and bid / ask price". As another example, when the execution tab (630) of the screen (601) is selected, the transaction execution information of Stock A may be displayed on the screen. When the execution tab (630) is selected, the screen may display second market information corresponding to the channel "Stock A and execution". Since the configuration of the information displayed varies depending on the form of the screen, the channels corresponding to each information configuration may also be different. The server (130) can generate a channel corresponding to the information configuration required according to the form of the screen and a second market information corresponding to the channel in advance, and can transmit the requested market information directly from the first external device (140) with simple calculations whenever the user terminal switches to a specific screen.
[0116] FIG. 7 is a flowchart illustrating a method in which a server provides a second set of market information and channel information to a first external device in a situation where the operation of another server is interrupted according to various embodiments of the contents disclosed in this specification.
[0117] In one embodiment, there may be two or more servers connected to the message queue (110). And a plurality of first external devices may be connected to each server. For convenience of explanation, it is assumed that the first server is a server without problems and the second server is a server that has problems. Due to an overload of the second server, the connection with the plurality of first external devices connected to the second server may be interrupted. In this case, while the connection with the second server is interrupted and a connection with the first server is attempted, the first external device connected to the second server may not receive market information for the amount of time required for reconnection. The first external device connected to the second server may receive an overload signal from the second server. Even after receiving the overload signal, the first external device may continue to receive the second market information set and channel information from the second server. Since the connection with the second server is interrupted after a certain period of time, the first external device may attempt to connect with the first server. The first server may receive a second request from a first external device connected to the second server, which includes information indicating a first point in time and requests the transmission of a set of channel information and second market information (S710). The first point in time may be a point in time after the second request is transmitted by the first external device. The first point in time may be a point in time when the first external device stops receiving market information regarding the asset market from another device (e.g., the second server). From the first point in time onwards, the first server may transmit the set of channel information and second market information to the first external device (S720). Specifically, from the first point in time onwards, the first external device may receive the set of second market information and channel information from the first server without receiving the set of second market information and channel information from the second server. Through this, the first external device can continuously receive the set of second market information and channel information from the first server even if a problem occurs with the second server.
[0118] FIG. 8 is a flowchart illustrating a method for providing information on an asset market according to various embodiments of the contents disclosed in this specification.
[0119] In one embodiment, the electronic device may receive first market information regarding an asset market (S810). In one embodiment, the electronic device may generate one or more channels corresponding to one or more information configurations provided to a plurality of users (S820). One or more channels may constitute one or more channel groups.
[0120] In one embodiment, the electronic device may generate a second market information set (360) based on channel information (370) for one or more channel groups and first market information (350) (S830). Each second market information included in the second market information set (360) corresponds to each of one or more channel groups and may be generated using the first market information.
[0121] In one embodiment, the electronic device may transmit a second market information set (360) and channel information (470) to a first external device (140) that communicates with at least one terminal among a plurality of user terminals (S840). In one embodiment, at least one second market information (361) of the second market information set (360) may be transmitted from the first external device (140) to at least one terminal based on a first request and channel information (370) received from at least one terminal to the first external device (140).
[0122] By pre-processing market information corresponding to the information configurations primarily requested by users and transmitting it to the first external device, the computational cost of the first external device can be reduced.
[0123] In one embodiment, at least one second market information among the second market information set (360) may be transmitted from the first external device (140) to at least one terminal (151, 152, 153) through a channel corresponding to the first request among at least one channel group corresponding to at least one second market information.
[0124] In one embodiment, the first market information may include transaction execution information (310) based on asset trading and market price information (320) generated based on the transaction execution information (310).
[0125] In one embodiment, the electronic device may receive transaction execution information in parallel through one or more first sub-blocks in the message queue. The electronic device may receive market price information (320) in parallel through one or more second sub-blocks in the message queue.
[0126] In one embodiment, one or more first sub-blocks and one or more second sub-blocks may be included in one or more blocks within a message queue corresponding to each of one or more items.
[0127] By placing an electronic device (e.g., server (130)) between multiple first external devices and the message queue, and connecting multiple first external devices to a single electronic device, the number of first external devices connected to the message queue can be reduced. Through this, a rapid increase in the load of the message queue can be prevented even as the number of first external devices increases.
[0128] In one embodiment, channel information may be generated based on at least one of user identification information, exchange type information, stock information, trading price information, or trading time information.
[0129] In one embodiment, the electronic device can generate second market information based on real-time market information provided to a user who has subscribed to a paid membership.
[0130] In one embodiment, the electronic device may use the first market information (350) to generate second market information including item information corresponding to predetermined trading information items for a plurality of stocks and index information indicating one or more of the trading information items.
[0131] In one embodiment, in accordance with a first request, a first sub-information generated based on item information or a second sub-information generated based on item information and index information may be transmitted from a first external device to at least one terminal.
[0132] In one embodiment, the first sub-information includes information corresponding to transaction information items for a specific stock among a plurality of stocks, and the second sub-information may include information corresponding to transaction information items indicated by index information for each of two or more stocks among the plurality of stocks.
[0133] In a situation where market information for a single stock is provided in a shortened form and a detailed form, the electronic device transmits an index to a first external device that can distinguish between items included in the shortened form and items included in the detailed form among the items of the market information, so that the first external device can provide the shortened market information or the detailed market information to the terminal based on the index and the market information.
[0134] In one embodiment, if there is no channel among one or more channels corresponding to the first request, at least one third market information processed based on the second market information set and the first request may be transmitted from the first external device to at least one terminal.
[0135] In one embodiment, the electronic device may reduce the number of price fluctuations of a specific stock per unit time in response to the load of the electronic device exceeding a certain threshold due to an increase in market information. For example, the electronic device may transmit market information regarding 500 price fluctuations per second to the first external device (140) or other electronic devices. However, if the load of the electronic device exceeds a certain threshold due to an increase in market information, the electronic device may transmit market information regarding 10 price fluctuations per second to the first external device (140) or other electronic devices. Through this, when the load of the electronic device is high due to an increase in market information, the electronic device may reduce the number of price fluctuations of one stock per unit time to prevent an increase in latency.
[0136] The methods according to this specification may be computer-implemented methods. The computer may include, for example, a device capable of performing processing. Although each step of the methods is illustrated and described in a predetermined order in this specification, the steps may be performed in any combination according to this specification, in addition to being performed sequentially. In one embodiment, at least some of the steps may be performed in parallel, iteratively, or heuristically. This specification does not exclude variations or modifications to the methods. In one embodiment, at least some of the steps may be omitted, or other steps may be added.
[0137] Various embodiments of this specification may be implemented as software recorded on a machine-readable recording medium. The software may be software for implementing the various embodiments of this specification described above. The software may be inferred from the various embodiments of this specification by programmers skilled in the art to which this specification pertains. For example, the software may be machine-readable instructions (e.g., code or code segments) or a program. The machine may be a device capable of operating according to instructions called from the recording medium, for example, a computer. In one embodiment, the machine may be a device according to the embodiments of this specification. In one embodiment, the processor of the machine may execute the called instructions to cause the components of the machine to perform functions corresponding to those instructions. In one embodiment, the processor may be a processor according to the embodiments of this specification. The recording medium may mean any type of recording medium in which data is stored that can be read by the machine. The recording medium may include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. In one embodiment, the recording medium may be memory. In one embodiment, the recording medium may be implemented in a distributed form in a networked computer system, etc. Software may be stored and executed in a distributed manner in a computer system, etc. The recording medium may be a non-transitory recording medium. A non-transitory recording medium refers to a tangible medium that exists regardless of whether data is stored semi-permanently or temporarily, and does not include a signal that propagates transitorily.
[0138] Although the technical concept of this specification has been described by various embodiments above, the technical concept of this specification includes various substitutions, modifications, and alterations that can be made within the scope of understanding of a person skilled in the art to which this specification belongs. Furthermore, it should be understood that such substitutions, modifications, and alterations may be included within the appended claims. Embodiments according to this specification may be combined with one another. Each embodiment may be combined in various ways depending on the number of cases, and embodiments created by combining them also fall within the scope of this specification.
Claims
Claim 1 A method for providing information on an asset market in which an asset transaction is performed, comprising one or more processors and one or more memories storing at least one instruction executed by said one or more processors, wherein said one or more processors receive first market information regarding said asset market; determine one or more information configurations requested by a plurality of users above a certain standard; generate one or more channels corresponding to each of said one or more information configurations, wherein said one or more channels constitute one or more channel groups; and generate a second market information set based on channel information for said one or more channel groups and said first market information, wherein each second market information included in said second market information set corresponds to each of said one or more channel groups and is generated using said first market information. The method comprises the step of transmitting the second market information set and the channel information to a first external device communicating with at least one terminal among the plurality of user terminals, wherein at least one second market information among the second market information set is identified among the second market information set based on the first request and the channel information in response to the reception of a first request received from the at least one terminal to the first external device, and the identified at least one second market information is transmitted from the first external device to the at least one terminal, and the first request includes one or more information configurations corresponding to a screen after switching at the at least one terminal. Claim 2 A method according to claim 1, wherein at least one second market information among the second market information sets is transmitted from the first external device to the at least one terminal through a channel corresponding to the first request among at least one channel group corresponding to the at least one second market information. Claim 3 A method according to claim 1, wherein the first market information comprises transaction execution information based on the asset transaction and market price information generated based on the transaction execution information. Claim 4 In paragraph 3, the step of receiving the first market information comprises: receiving the transaction execution information in parallel through one or more first sub-blocks in the message queue; and receiving the price information in parallel through one or more second sub-blocks in the message queue, wherein the one or more first sub-blocks and the one or more second sub-blocks are included in one or more blocks in the message queue corresponding to each of one or more stocks. Claim 5 A method according to claim 1, wherein the channel information is generated based on at least one of user identification information, exchange type information, stock information, trading price information, or trading time information. Claim 6 A method according to claim 1, wherein the step of generating the second market information set comprises the step of generating second market information based on real-time market information provided to a user who has subscribed to a paid membership. Claim 7 A method according to claim 1, wherein the step of generating the second market information set comprises the step of generating second market information using the first market information, the second market information including item information corresponding to predetermined trading information items for a plurality of stocks and index information indicating one or more of the trading information items. Claim 8 A method according to claim 7, wherein, in accordance with the first request, a first sub-information generated based on the item information or a second sub-information generated based on the item information and the index information is transmitted from the first external device to the at least one terminal, wherein the first sub-information includes information corresponding to transaction information items for a specific stock among the plurality of stocks, and the second sub-information includes information corresponding to transaction information items indicated by the index information for each of two or more stocks among the plurality of stocks. Claim 9 A method according to claim 1, wherein the step of transmitting the channel information and the second market information set comprises: receiving a second request from the first external device that includes information indicating a first time point and requests the transmission of the channel information and the second market information set; and transmitting the channel information and the second market information set to the first external device from the time point after the first time point, wherein the first time point is a time point after the time point when the second request is transmitted by the first external device, and is a time point when the first external device stops receiving market information regarding an asset market from another device. Claim 10 A method according to claim 1, wherein if there is no channel among the one or more channels corresponding to the first request, at least one third market information processed based on the second market information set and the first request is transmitted from the first external device to the at least one terminal. Claim 11 A method according to claim 1, further comprising the step of transmitting the channel information and the second market information set to a second external device communicating with a terminal corresponding to a user connecting from a foreign country, wherein the channel information and the second market information set are transmitted from the second external device to the terminal corresponding to the user connecting from a foreign country. Claim 12 One or more processors; and includes one or more memories for storing at least one instruction executed by the one or more processors, wherein the one or more processors, upon executing the at least one instruction, receive first market information regarding an asset market, determine one or more information configurations requested by a plurality of users above a certain standard, and create one or more channels corresponding to each of the one or more information configurations, - the one or more channels constitute one or more channel groups -, create a second market information set based on channel information for the one or more channel groups and the first market information, - each second market information included in the second market information set corresponds to each of the one or more channel groups and is created using the first market information -, transmit the second market information set and the channel information to a first external device communicating with at least one terminal among the plurality of user terminals, and at least one second market information among the second market information set is identified among the second market information set based on the first request and the channel information in response to the reception of a first request received from the at least one terminal to the first external device, and the identified at least one second market information is transmitted from the first external device to the A device that is transmitted to at least one terminal, wherein the first request includes one or more information configurations corresponding to a screen after switching at the at least one terminal. Claim 13 In paragraph 12, the device wherein at least one second market information among the second market information sets is transmitted from the first external device to the at least one terminal through a channel corresponding to the first request among at least one channel group corresponding to the at least one second market information. Claim 14 In paragraph 12, the above-mentioned first market information comprises transaction execution information based on asset trading and market price information generated based on said transaction execution information. Claim 15 In paragraph 14, the above one or more processors receive transaction execution information in parallel through one or more first sub-blocks in a message queue and receive market price information in parallel through one or more second sub-blocks in the message queue, and the one or more first sub-blocks and the one or more second sub-blocks are included in one or more blocks in the message queue corresponding to each of one or more stocks. Claim 16 In paragraph 12, the above channel information is generated based on at least one of user identification information, exchange type information, stock information, trading price information, or trading time information. Claim 17 In paragraph 12, the above one or more processors are a device that generates second market information based on real-time market information provided to a user who has subscribed to a paid membership. Claim 18 In paragraph 12, the device wherein one or more processors generate second market information including item information corresponding to predetermined trading information items for a plurality of stocks and index information indicating one or more of the trading information items, using the first market information. Claim 19 A device according to claim 18, wherein, in accordance with the first request, a first sub-information generated based on the item information or a second sub-information generated based on the item information and the index information is transmitted from the first external device to the at least one terminal, wherein the first sub-information includes information corresponding to transaction information items for a specific stock among the plurality of stocks, and the second sub-information includes information corresponding to transaction information items indicated by the index information for each of two or more stocks among the plurality of stocks. Claim 20 In paragraph 12, the one or more processors receive a second request from the first external device that includes information indicating a first time point and requests the transmission of the channel information and the second set of market information, and transmit the channel information and the second set of market information to the first external device from the time after the first time point, wherein the first time point is a time after the time when the second request is transmitted by the first external device, and is a time when the first external device stops receiving market information regarding an asset market from another device. Claim 21 A device according to claim 12, wherein, if there is no channel among the one or more channels corresponding to the first request, at least one third market information processed based on the second market information set and the first request is transmitted from the first external device to the at least one terminal. Claim 22 In a non-transient computer-readable recording medium recording at least one instruction executed by one or more processors, the at least one instruction comprises: the one or more processors receiving first market information regarding an asset market, determining one or more information configurations requested by multiple users above a certain threshold, and creating one or more channels corresponding to each of the one or more information configurations, - the one or more channels constitute one or more channel groups -, creating a second market information set based on channel information for the one or more channel groups and the first market information, - each second market information included in the second market information set corresponds to each of the one or more channel groups and is created using the first market information -, transmitting the second market information set and the channel information to a first external device communicating with at least one terminal among the multiple user terminals, and at least one second market information among the second market information set is identified among the second market information set based on the first request and the channel information in response to the reception of a first request received from the at least one terminal to the first external device, and the identified at least one second market information is the first external A non-transient computer-readable recording medium transmitted from a device to at least one terminal, wherein the first request comprises one or more information configurations corresponding to a screen after switching at the at least one terminal.
Citation Information
Patent Citations
System and method for distributing real time on-demand stock information
KR100938694B1
System and method to service current price informationof stocks, and media that can record computer programsources on that method
KR1020020062062A
Method and terminal for providing consulting service based on user portfolio
KR1020230120874A
Systems and methods for providing investment opportunities
US20070043650A1
Network information delivery system for delivering information based on end user terminal requirements
US6035339A