CN115665263A - Flow allocation method, device, server and storage medium - Google Patents

Flow allocation method, device, server and storage medium Download PDF

Info

Publication number
CN115665263A
CN115665263A CN202211278932.3A CN202211278932A CN115665263A CN 115665263 A CN115665263 A CN 115665263A CN 202211278932 A CN202211278932 A CN 202211278932A CN 115665263 A CN115665263 A CN 115665263A
Authority
CN
China
Prior art keywords
domain name
service
secondary domain
service request
cloud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211278932.3A
Other languages
Chinese (zh)
Inventor
杨彭刘
吴瑾
冯文亮
李霁伦
葛如萍
顾楠楠
柳潇
杨耀勇
吴先入
叶坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Pudong Development Bank Co Ltd
Original Assignee
Shanghai Pudong Development Bank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Pudong Development Bank Co Ltd filed Critical Shanghai Pudong Development Bank Co Ltd
Priority to CN202211278932.3A priority Critical patent/CN115665263A/en
Publication of CN115665263A publication Critical patent/CN115665263A/en
Pending legal-status Critical Current

Links

Images

Abstract

The embodiment of the invention discloses a flow allocation method, a flow allocation device, a server and a storage medium. The method comprises the following steps: responding to a traffic allocation instruction, receiving a service request sent by an application client, and acquiring a user identifier of a login user of the application client from the service request, wherein the traffic allocation instruction is generated based on a first-level domain name corresponding to the service request; determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identification and pre-configured upper cloud flow granularity, wherein the upper cloud flow granularity is used for expressing the proportion of flow which is expected to be adjusted to the cloud in the global flow; and sending the target secondary domain name and the service request to a domain name service layer so that the domain name service layer analyzes the target secondary domain name, and forwarding the service request to a service unit for responding when determining to respond to the service request on the cloud according to the obtained analysis result. According to the technical scheme of the embodiment of the invention, smooth transition of the flow from the lower part of the cloud to the upper part of the cloud can be realized.

Description

Flow allocation method, device, server and storage medium
Technical Field
The embodiment of the invention relates to the technical field of networks, in particular to a method and a device for allocating traffic, a server and a storage medium.
Background
Currently, the cloud native technology has formed some effective application schemes in the digital transformation of various industries, wherein a cloud native unit architecture (hereinafter, may be referred to as a unit architecture) is a better solution to the problems of system capacity expansion, multi-data center disaster recovery, remote access, and the like.
It should be noted that the unitized architecture is a technical evolution of the existing architecture, and for large-traffic and large-volume applications, how to implement smooth transition of traffic from the existing architecture to the unitized architecture, that is, how to implement smooth transition of traffic from below the cloud to above the cloud, so as to reduce the influence on users due to traffic switching as much as possible is an urgent technical problem to be solved.
Disclosure of Invention
The embodiment of the invention provides a traffic allocation method, a traffic allocation device, a server and a storage medium, and aims to realize smooth transition of traffic from a cloud to a cloud.
According to an aspect of the present invention, there is provided a traffic allocating method, applied to a traffic allocating service, where the traffic allocating service is located in an application system, the application system further includes a domain name service layer and a service unit deployed on a cloud, and the method includes:
responding to a flow allocation instruction, receiving a service request sent by an application client, and acquiring a user identifier of a login user of the application client from the service request, wherein the flow allocation instruction is generated based on a first-level domain name corresponding to the service request;
determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identification and pre-configured upper cloud flow granularity, wherein the upper cloud flow granularity is used for expressing the proportion of flow which is expected to be adjusted to the cloud in the global flow;
and sending the target secondary domain name and the service request to a domain name service layer so that the domain name service layer analyzes the target secondary domain name, and forwarding the service request to a service unit under the condition that the service request is determined to be responded on the cloud according to the obtained analysis result so that the service unit responds to the service request.
According to another aspect of the present invention, there is provided a traffic allocating apparatus configured in a traffic allocating service, where the traffic allocating service is located in an application system, the application system further includes a domain name service layer and a service unit deployed on a cloud, and the apparatus includes:
the system comprises a user identifier acquisition module, a service request acquisition module and a service request processing module, wherein the user identifier acquisition module is used for responding to a traffic allocation instruction, receiving the service request sent by an application client and acquiring a user identifier of a login user of the application client from the service request, and the traffic allocation instruction is generated based on a primary domain name corresponding to the service request;
the target secondary domain name determining module is used for determining a target secondary domain name from at least one candidate secondary domain name configured in advance according to the user identification and the cloud flow granularity configured in advance, wherein the cloud flow granularity is used for expressing the proportion of the flow which is expected to be adjusted to the cloud in the global flow;
and the traffic transfer module is used for sending the target secondary domain name and the service request to the domain name service layer so as to enable the domain name service layer to analyze the target secondary domain name, and forwarding the service request to the service unit under the condition that the cloud response service request is determined according to the obtained analysis result so as to enable the service unit to respond to the service request.
According to another aspect of the present invention, there is provided a traffic dialing server, which may include:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores a computer program executable by the at least one processor, the computer program being executable by the at least one processor to cause the at least one processor to perform a method of traffic volume allocation provided by any of the embodiments of the present invention when executed.
According to another aspect of the present invention, there is provided a computer readable storage medium having stored thereon computer instructions for causing a processor to execute a method for traffic volume dialling provided by any of the embodiments of the present invention.
According to the technical scheme of the embodiment of the invention, the flow allocation service receives a service request sent by an application client by responding to a flow allocation instruction, and acquires a user identifier of a login user of the application client from the service request, wherein the flow allocation instruction is generated based on a first-level domain name corresponding to the service request; further, determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identifier and pre-configured upper cloud traffic granularity used for representing the proportion of the traffic predicted to be transferred to the cloud in the global traffic; and then, sending the target secondary domain name and the service request to a DNS layer so that the DNS layer analyzes the target secondary domain name, and forwarding the service request to a service unit deployed on the cloud under the condition that the service request is determined to be responded on the cloud according to the obtained analysis result so as to respond to the service request on the basis of the service unit. According to the technical scheme, the independent traffic allocation service is preposed to the DNS layer by adopting a multi-level domain name (namely, a first-level domain name and a second-level domain name) optimization technology, so that the smooth transition of traffic from the cloud to the cloud can be realized on the premise of not changing the original service architecture (namely, the existing architecture), namely, the smooth transition of the traffic from the existing architecture to the unitized architecture, or the smooth migration of an application system from the existing architecture to the unitized architecture can be realized, therefore, the influence on a user caused by traffic switching can be reduced as much as possible, and the user experience is better.
It should be understood that the statements in this section do not necessarily identify key or critical features of any embodiment of the present invention, nor do they necessarily limit the scope of the present invention. Other features of the present invention will become apparent from the following description.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the description below are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a flowchart of a traffic allocating method according to an embodiment of the present invention;
fig. 2 is a flowchart of another traffic volume dial-up method according to an embodiment of the present invention;
fig. 3 is a flowchart of another traffic volume dial-up method according to an embodiment of the present invention;
fig. 4 is a schematic architecture diagram of an application system in another traffic volume dial-up method according to an embodiment of the present invention;
fig. 5 is a block diagram of a flow rate allocating device according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of a traffic allocation server implementing the traffic allocation method according to the embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be obtained by a person skilled in the art without making any creative effort based on the embodiments in the present invention, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in other sequences than those illustrated or described herein. The cases of "target", "original", etc. are similar and will not be described in detail herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Fig. 1 is a flowchart of a traffic allocating method provided in an embodiment of the present invention. The embodiment can be suitable for the condition of flow transfer, and is particularly suitable for the condition of smoothly transferring the flow from the cloud to the cloud. The method can be applied to traffic allocation service, the traffic allocation service is located in an application system, the application system further comprises a domain name service layer and service units deployed on the cloud, namely the overall architecture of the application system can comprise the allocation service, the domain name service layer and the service units. The method may be performed by a traffic volume allocation device provided in the embodiment of the present invention, and the device may be implemented by software and/or hardware, and the device may be integrated in a traffic volume allocation server.
Referring to fig. 1, the method of the embodiment of the present invention specifically includes the following steps:
s110, responding to a traffic allocation instruction, receiving a service request sent by an application client, and acquiring a user identifier of a login user of the application client from the service request, wherein the traffic allocation instruction is generated based on a first-level domain name corresponding to the service request.
The traffic dial-up instruction may be understood as an instruction for dialing traffic onto the cloud or under the cloud, and specifically may be an instruction for dialing traffic onto a certain service unit on the cloud or a certain machine room under the cloud. An application client is understood to be a client for implementing the relevant functions of a certain application, which may also be part of an application system. A service request may be understood as a request sent via the application client to invoke a certain micro service of at least one micro service, which may be understood as a micro service for implementing the relevant functionality of the application. On this basis, the traffic allocation instruction may be generated based on the first-level domain name corresponding to the service request, that is, the traffic allocation service may be triggered by the first-level domain name, so as to perform subsequent steps based on the traffic allocation service.
And responding to the flow dialing instruction, receiving a service request, and acquiring a user identifier of a login user of the application client from the service request, wherein the login user can be understood as a user logged on the application client, and the user identifier can be understood as a unique identifier of the login user.
And S120, determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identification and the pre-configured upper cloud traffic granularity, wherein the upper cloud traffic granularity is used for indicating the proportion of the traffic which is expected to be adjusted to the cloud in the global traffic.
The upper cloud traffic granularity may be understood as a preconfigured proportion, for example, 20%, 50%, or 80%, of the global traffic that is expected to be tuned to the cloud, and may be configured according to a requirement, which is not specifically limited herein. For example, when initially allocating (i.e., switching) traffic from a cloud down to a cloud, that is, initially migrating an existing architecture to a unitized architecture, a response situation on the cloud is uncertain, and thus a test may be performed by configuring a smaller upper cloud traffic granularity; over time, under the condition that the response condition on the cloud is better, larger upper cloud flow granularity can be configured, so that more flows are dispatched to the cloud; of course, when the response situation on the cloud becomes worse, the cloud traffic granularity can be reduced, so that the traffic can be switched between the unitized architecture and the existing architecture quickly. Therefore, the service continuity is guaranteed, and the influence on the user caused by flow switching is reduced as much as possible. The above global traffic may also be referred to as full traffic.
The candidate secondary domain name may be pre-configured to indicate that traffic is to be dialed to a cloud or cloud-down secondary domain name, i.e., corresponding to a cloud or cloud-down secondary domain name, where the secondary domain name is relative to the primary domain name in S110. The number of candidate secondary domain names may be one, two, or more. On the basis, a target second-level domain name is determined from the at least one candidate second-level domain name according to the user identification and the cloud traffic granularity, so that the current traffic allocation direction is determined based on the target second-level domain name.
S130, the target secondary domain name and the service request are sent to a domain name service layer, so that the domain name service layer analyzes the target secondary domain name, and under the condition that the cloud response service request is determined according to the obtained analysis result, the service request is forwarded to a service unit, and the service unit responds to the service request.
The Domain Name Service (DNS) layer may be understood as a Server for implementing Domain Name resolution, and sends a target secondary Domain Name and a service request to the DNS layer, so that the target secondary Domain Name is resolved based on the DNS layer, and when the service request is determined to be responded to the cloud according to an obtained resolution result, the service request may be forwarded to a service unit deployed on the cloud through the DNS layer to complete traffic allocation, and the service request may be further responded to by the service unit, so that an effective response of the service request after traffic allocation is implemented. In practical applications, optionally, when it is determined that the service request is responded under the cloud according to the obtained resolution result, the service request may be forwarded to a certain machine deployed in a certain machine room under the cloud through the DNS layer, so that the service request is responded based on the machine.
According to the technical scheme of the embodiment of the invention, the flow allocation service receives a service request sent by an application client by responding to a flow allocation instruction, and acquires a user identifier of a login user of the application client from the service request, wherein the flow allocation instruction is generated based on a first-level domain name corresponding to the service request; further, according to the user identification and a pre-configured upper cloud flow granularity which is used for representing the proportion of the flow which is expected to be adjusted to the cloud in the global flow, determining a target secondary domain name from at least one pre-configured candidate secondary domain name; and then, the target secondary domain name and the service request are sent to a DNS layer, so that the DNS layer analyzes the target secondary domain name, and the service request is forwarded to a service unit deployed on the cloud under the condition that the service request is determined to be responded on the cloud according to the obtained analysis result, so that the service request is responded on the basis of the service unit. According to the technical scheme, independent traffic allocation service is preposed to the DNS layer by adopting a multi-level domain name (namely, a first-level domain name and a second-level domain name) optimization technology, so that smooth transition of traffic from the cloud to the cloud can be realized on the premise of not changing an original service architecture (namely, the existing architecture), namely, smooth transition of the traffic from the existing architecture to a unitized architecture, or smooth migration of an application system from the existing architecture to the unitized architecture, therefore, influence brought to a user due to traffic switching can be reduced as much as possible, and user experience is better.
A selectable technical solution, where the traffic allocation method further includes: acquiring at least one preset numerical interval and candidate secondary domain names which are preset respectively for each numerical interval in the at least one numerical interval; determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identifier and the pre-configured upper cloud flow granularity, wherein the method comprises the following steps: performing hash calculation on the user identification to obtain a hash value, and performing modulo calculation on the hash value based on pre-configured cloud flow granularity to obtain a modulo value; and determining a target interval in which the modulus value is positioned from at least one numerical value interval, and taking the candidate secondary domain name which is configured in advance aiming at the target interval as the target secondary domain name. In other words, there is a one-to-one correspondence between at least one value interval and at least one candidate secondary domain name, which can be obtained by pre-configuration. Illustratively, assume that there are four numerical intervals as follows: [0,24], [25,49], [50,74] and [75,99], wherein [0,24] corresponds to candidate secondary domain name A, [25,49] corresponds to candidate secondary domain name B, [50,74] corresponds to candidate secondary domain name C, and [75,99] corresponds to candidate secondary domain name D. On the basis, a modulus value is calculated based on the user identification and the cloud traffic granularity, and if the modulus value is 35, the numerical value interval in which the modulus value is located is [25,49], B is used as the target secondary domain name. According to the technical scheme, the proportion of the flow which is dispatched to the cloud and the flow which is dispatched to the cloud can be dynamically adjusted in real time according to actual requirements through the configuration of the multi-level domain name, so that the gradual and smooth migration transition from the existing framework to the unitized framework with small flow is realized.
On this basis, optionally, the traffic allocating method may further include: in response to the first domain name deletion event, aiming at least one candidate secondary domain name corresponding to at least one numerical value interval, determining a secondary domain name to be deleted and a retainable secondary domain name except the secondary domain name to be deleted in the at least one candidate secondary domain name, and obtaining the quantity of the retainable secondary domain names; determining a numerical range covered by at least one numerical interval, dividing the numerical range according to the number, and updating at least one numerical interval according to a division result; and updating at least one candidate secondary domain name based on the reserved secondary domain names in quantity, and respectively allocating the candidate secondary domain names to each numerical value interval based on the at least one candidate secondary domain name. Therefore, when any candidate secondary domain name cannot be continuously applied (namely, a deletion requirement exists) because of a problem, a value interval can not be distributed to the candidate secondary domain name any more, and the effect of stopping applying the candidate secondary domain name is achieved.
In order to better understand the above technical solution, the following takes the above example as an example, and an exemplary description is given. At least one value interval includes [0,24], [25,49], [50,74] and [75,99], and at least one candidate secondary domain name corresponding thereto includes A, B, C and D. On the basis, if the name of the secondary domain to be deleted is B, the A, the C and the D are all the retainable secondary domain names, and the number of the retainable secondary domain names is 3. Since the value range of at least one value range is 0 to 99, the division into 0 to 99 can be performed on the basis of 3, for example, in the case of uniform division, into [0,32], [33,65] and [66,99]; further, as in the case of non-uniform division, the division is performed by a proportion example, and assuming that the proportion is 40. Further, a, C and D are assigned to [0,32], [33,65] and [66,99] as at least one value range, and a, C and D are assigned to at least one candidate secondary domain name, for example, a is assigned to [0,32], B is assigned to [33,65] and C is assigned to [66,99], although the remaining assignment may be adopted, and is not specifically limited herein.
Another optional technical solution, the traffic allocating method may further include: acquiring a label domain name mapping relation, wherein the label domain name mapping relation is used for representing the mapping relation between a previous label in a previous request received before a service request is received and a candidate secondary domain name corresponding to the previous label in at least one candidate secondary domain name; determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identifier and the pre-configured upper cloud flow granularity, wherein the method comprises the following steps: under the condition that each previous identifier in the identifier domain name mapping relation does not contain a user identifier, determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identifier and pre-configured upper cloud flow granularity; the above traffic allocating method may further include: and under the condition that each previous identifier in the identifier domain name mapping relation comprises a user identifier, taking the candidate secondary domain name corresponding to the user identifier in the identifier domain name mapping relation as a target secondary domain name.
In an actual application, optionally, the application client sending the previous request may be the same as or different from the application client sending the service request, which is related to an actual application scenario and is not specifically limited herein. The previous identification may be understood as the user identification obtained from the previous request. In the case that a candidate secondary domain name corresponding to the previous identifier in the at least one candidate secondary domain name is determined, the previous identifier and the candidate secondary domain name may be recorded, so as to form an identifier domain name mapping relationship. On the basis, under the condition of obtaining a certain user identifier, whether a previous identifier corresponding to the user identifier exists in the identifier domain name mapping relation can be determined, and if so, a target secondary domain name can be directly obtained from the identifier domain name mapping relation; otherwise, a target secondary domain name may be determined for the user identifier based on the above steps, and on this basis, optionally, the user identifier and the target secondary domain name may also be recorded in the identifier domain name mapping relationship as a pair, so that when the user identifier is obtained subsequently, the corresponding target secondary domain name may be directly obtained from the identifier domain name mapping relationship.
According to the technical scheme, the target secondary domain name can be determined for the user identifier in the service request aiming at the service request firstly sent by the login user through the application client, when the subsequent login user sends the service request through the application client, the target secondary domain name does not need to be determined again, and the previously determined target secondary domain name can be directly applied, so that the consistency of the corresponding target secondary domain names when the same login user accesses each time is ensured, namely, all service requests of the same login user are transmitted to the cloud or the cloud (specifically, the same service unit on the cloud) to respond, and the requirement of unitized control is met.
In another optional technical solution, the number of the service units is at least two, and when it is determined that the service request is responded to the cloud according to the obtained parsing result, the forwarding of the service request to the service unit so that the service unit responds to the service request may include: and in the case that the target unit of the at least two service units on the cloud is determined to be used for responding to the service request according to the obtained analysis result, forwarding the service request to the target unit so as to respond to the service request by the target unit. According to the technical scheme, each candidate secondary domain name in the at least one candidate secondary domain name can respectively correspond to a certain service unit under the cloud or on the cloud, so that a traffic allocation effect with finer granularity can be achieved based on the candidate secondary domain names.
Fig. 2 is a flowchart of another traffic volume allocation method provided in the embodiment of the present invention. The present embodiment is optimized based on the above technical solutions. In this embodiment, optionally, the traffic allocating method may further include: sending a domain name detection request for detecting the availability of the candidate secondary domain name to a domain name service layer aiming at each candidate secondary domain name in at least one candidate secondary domain name; receiving domain name resolution data returned by the domain name service layer aiming at the domain name detection request, and determining the availability of the candidate secondary domain name according to the resolution data. The explanations of the same or corresponding terms as those in the above embodiments are omitted.
Referring to fig. 2, the method of the present embodiment may specifically include the following steps:
s210, responding to a traffic allocation instruction, receiving a service request sent by an application client, and acquiring a user identifier of a login user of the application client from the service request, wherein the traffic allocation instruction is generated based on a first-level domain name corresponding to the service request.
And S220, determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identification and the pre-configured upper cloud flow granularity, wherein the upper cloud flow granularity is used for expressing the proportion of the flow which is expected to be adjusted to the cloud in the global flow.
And S230, sending the target secondary domain name and the service request to a domain name service layer so that the domain name service layer analyzes the target secondary domain name, and forwarding the service request to a service unit under the condition that the service request is determined to be responded on the cloud according to the obtained analysis result so that the service unit responds to the service request.
S240, for each candidate secondary domain name in the at least one candidate secondary domain name, sending a domain name detection request for detecting availability of the candidate secondary domain name to the domain name service layer.
In an actual application, optionally, the domain name detection request may be represented by ping, tcp, http(s), or the like, which is not specifically limited herein. Sending the domain name detection request to the DNS layer, so that the DNS layer can determine domain name resolution data of the candidate secondary domain name characterized by the domain name detection request, where the domain name resolution data can be understood as related data generated when the candidate secondary domain name is resolved, and further return the domain name resolution data. In practical applications, optionally, the domain name probe request may be sent periodically, and each candidate secondary domain name is traversed, so as to obtain the availability of each candidate secondary domain name.
And S250, receiving domain name resolution data returned by the domain name service layer aiming at the domain name detection request, and determining the availability of the candidate secondary domain name according to the resolution data.
And receiving domain name resolution data returned by the DNS layer aiming at the domain name detection request, so that the availability of the corresponding candidate secondary domain name can be determined according to the domain name resolution data. In practical applications, optionally, related indexes, such as packet loss rate, response time, failure rate, and the number of consecutive failures, may be calculated according to the domain name resolution data, so as to detect the availability (i.e., health state) of the candidate secondary domain name based on the indexes. The availability probing process described above may be considered an active probing service implemented by a traffic dialing service.
According to the technical scheme of the embodiment of the invention, for each candidate secondary domain name in at least one candidate secondary domain name, a domain name detection request for detecting the availability of the candidate secondary domain name is sent to the DNS layer, and then the availability of the candidate secondary domain name is determined based on domain name resolution data returned by the DNS layer aiming at the domain name detection request, so that the active detection of the availability of the dimension of the candidate secondary domain name is realized.
A selectable technical solution, where the traffic allocating method further includes: obtaining the availability of each candidate secondary domain name in at least one candidate secondary domain name; under the condition that at least one candidate secondary domain name is unavailable according to the availability of each candidate secondary domain name, performing active-standby switching on a domain name service layer; and under the condition that partial candidate secondary domain names in at least one candidate secondary domain name are determined to be unavailable according to the availability of the candidate secondary domain names, generating a second domain name deleting event for deleting the partial candidate secondary domain names so as to stop applying the partial candidate secondary domain names in response to the second domain name deleting event. When a candidate secondary domain name is unavailable, the candidate secondary domain name may have a problem, or a DNS layer for implementing domain name resolution may have a problem, so that when it is determined that a part of candidate secondary domain names in at least one candidate secondary domain name is unavailable, it may be determined whether the problem appears on the DNS layer or the part of candidate secondary domain names according to the availability of all candidate secondary domain names. If the DNS layer is the former, the main-standby switching of the DNS layer can be realized, namely, the DNS layer is switched to the standby DNS layer from the main DNS layer, so that the domain name resolution is carried out on the basis of the standby DNS layer in the following process, and the continuous response of the service request is ensured; if the candidate secondary domain name is the second domain name, the application of the candidate secondary domain name can be stopped by responding to a second domain name deletion event for deleting the candidate secondary domain name. According to the technical scheme, disaster recovery switching of the DNS layer is achieved, and more accurate flow allocation is facilitated.
Fig. 3 is a flowchart of another traffic volume dialling method provided in the embodiment of the present invention. The present embodiment is optimized based on the above technical solutions. In this embodiment, optionally, at least one microservice is deployed in the service unit, and the forwarding of the service request to the service unit, so that the service unit responds to the service request includes: the service request is forwarded to a target service requested by the service request in the at least one microservice, so that the target service responds to the service request. The same or corresponding terms as those in the above embodiments are not explained in detail herein.
Referring to fig. 3, the method of this embodiment may specifically include the following steps:
s310, responding to a flow allocation instruction, receiving a service request sent by an application client, and acquiring a user identifier of a login user of the application client from the service request, wherein the flow allocation instruction is generated based on a first-level domain name corresponding to the service request.
And S320, determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identification and the pre-configured upper cloud flow granularity, wherein the upper cloud flow granularity is used for expressing the proportion of the flow which is expected to be adjusted to the cloud in the global flow.
S330, the target secondary domain name and the service request are sent to a domain name service layer, so that the domain name service layer analyzes the target secondary domain name, and under the condition that the cloud response service request is determined according to the obtained analysis result, the service request is forwarded to the target service, so that the target service responds to the service request, wherein the target service is the service requested by the service request in at least one micro-service deployed in the service unit.
Wherein, at least one micro service is deployed in the service unit, each micro service in the at least one micro service can be used for realizing some functions of the application program mentioned above, and there is a difference in the functions that can be realized by the respective micro services. The target service may be a micro-service requested by the service request, i.e., a micro-service requested to be invoked by the service request, of the at least one micro-service, and thus the DNS layer may forward the service request to the target service to be responded to by the target service.
According to the technical scheme of the embodiment of the invention, the service request is forwarded to the target service aiming at the target service requested by the service request in at least one micro service deployed on the service unit, so that the service request is responded through the target service, and the effect of accurate response of the service request is realized.
A selectable technical solution, where the traffic allocating method further includes: for each micro service in at least one micro service, receiving service data sent by a service sidecar embedded in the micro service for the micro service, and determining the availability of the micro service according to the service data to obtain the availability of each micro service in the at least one micro service; and under the condition that at least one micro service is determined to be unavailable according to the availability of each micro service, generating a third domain name deleting event for deleting the target second-level domain name, and stopping applying the service unit corresponding to the target second-level domain name by responding to the third domain name deleting event.
The service sidecar may be understood as a data embedded in a microservice (or a microservice layer where the microservice is located) for detecting, from a channel such as a log, related data generated by the microservice in the process of providing a service, and the related data is referred to as service data herein. The service sidecar can send the detected service data to the flow allocation service, so that the flow allocation service can determine the availability of the micro service according to the received service data. On the basis, in the case that a part of the micro services in at least one micro service is unavailable, the part of the micro services may have problems, and the service unit where the part of the micro services is located may also have problems, so that whether the problems appear on the service unit or the part of the micro services can be determined according to the availability of all the micro services. If the service unit is the former, which indicates that the service unit is completely unavailable, the application of the service unit may be stopped by responding to a third domain name deletion event for deleting the target secondary domain name corresponding to the service unit. On this basis, optionally, if the service unit is the latter, under the condition that each micro service deployed on the service unit has a main backup, the main backup of the part of micro services may be switched. According to the technical scheme, disaster recovery switching of the micro service layer (namely the application layer) is realized, and more accurate flow allocation is facilitated.
In order to better understand the above technical solutions as a whole, the following description is given by way of example with reference to specific examples. For example, referring to fig. 4, taking an application system where a mobile banking (a specific example of an application client) is located as an example, it may implement the following functions:
1. a smooth transition from existing to unitized architectures (i.e., from traditional deployment to cloud-native deployment). Specifically, after a login user starts a mobile phone bank each time, when a first service request is sent through the mobile phone bank, a first-level domain name triggers a flow allocation service, the flow allocation service performs hash calculation according to a user identifier in the service request through a multi-level domain name calculation module, performs modulo calculation on an obtained hash value according to a set upper cloud flow granularity, and calculates to obtain a target second-level domain name according to domain name load distribution configuration (namely, corresponding relations between each value interval and each candidate second-level domain name) obtained from a domain name load distribution module. Then, the service request and the target secondary domain name are forwarded to the DNS layer through the service request forwarding module. And the DNS layer analyzes the received target secondary domain name, so that the traffic is distributed to a corresponding service unit or an existing architecture. Therefore, the target secondary domain name calculated by the algorithm is the same each time the same login user accesses the node. The flow ratio configuration on the cloud and under the cloud can be dynamically adjusted in real time according to the needs through the configuration of the multi-level domain name, so that the gradual and gentle migration transition of small flow from the traditional deployment to the cloud primary deployment is realized, and the method is suitable for the general light-weight migration in the cloud on system migration or framework adjustment transition stage.
2. A multi-level real-time detection mechanism is realized by two modes of active detection and service side car, so that basic support is provided for realizing more accurate flow allocation capability and intelligent disaster recovery switching capability. Specifically, the active probing service may actively probe the availability of the candidate secondary domain name based on ping, tcp, or http(s) through the data gathering module. The service side car can be embedded into each micro service layer in a production line by means of a CI/CD platform of a mobile phone bank, the micro service layers can cover gateway layer services, application layer services and persistence layer services, the real-time state of the services is integrally detected from top to bottom, and service data is reported in real time from multiple dimensions such as the application service state, resource information and personalized indexes, so that a more comprehensive and accurate detection system is realized.
3. And intelligent disaster recovery switching is performed, so that the continuity of the service is guaranteed, and the service influence caused by the fault is reduced. Specifically, the detected various data are reported to the availability calculation module through the multi-level real-time detection mechanism, so that the health state (namely, availability) of the candidate second-level domain name and the health state of the microservice layer are detected through the availability calculation module according to indexes such as packet loss rate, response time, failure proportion, continuous failure times and the like, and the detection result is sent to the decision intervention module, so that whether the domain name load distribution configuration needs to be modified or not is determined through the decision intervention module. Under the condition that the modification is needed, the configuration detection module can update the domain name load distribution configuration in the domain name load distribution module based on the detected modification result, so that more precise flow allocation control is realized. Therefore, when equipment failure occurs, dynamic candidate second-level domain name switching can be performed in real time, and the effect of seamless switching of flow to other service units is achieved.
According to the technical scheme, by adopting the multi-level domain name optimization technology, the independent traffic allocation service is added in a conventional unitized architecture system, and the traffic allocation service is preposed to the DNS layer, so that the global traffic management and control are realized on the premise of not changing the original architecture of the service. Meanwhile, based on the existing architecture, the service side car function is expanded, the system is used for detecting and acquiring real-time data, is mainly responsible for health detection, real-time feedback and dynamic allocation for ensuring cluster flow, and has a good effect.
Fig. 5 is a block diagram of a traffic volume allocating device according to an embodiment of the present invention, where the device is configured to execute a traffic volume allocating method according to any of the above embodiments. The device and the traffic allocation method of each embodiment belong to the same inventive concept, and details which are not described in detail in the embodiment of the traffic allocation device can refer to the embodiment of the traffic allocation method. Referring to fig. 5, the apparatus is configured in a traffic allocation service, the traffic allocation service is located in an application system, the application system further includes a domain name service layer and a service unit deployed on a cloud, and the apparatus may specifically include: a subscriber identity acquisition module 410, a target secondary domain name determination module 420 and a traffic allocation module 430. Wherein the content of the first and second substances,
a user identifier obtaining module 410, configured to receive, in response to a traffic allocation instruction, a service request sent by an application client, and obtain, from the service request, a user identifier of a login user of the application client, where the traffic allocation instruction is generated based on a first-level domain name corresponding to the service request;
a target secondary domain name determining module 420, configured to determine a target secondary domain name from at least one candidate secondary domain name configured in advance according to the user identifier and a cloud traffic granularity configured in advance, where the cloud traffic granularity is used to indicate a proportion of traffic expected to be dialed onto the cloud in the global traffic;
the traffic allocation module 430 is configured to send the target secondary domain name and the service request to the domain name service layer, so that the domain name service layer analyzes the target secondary domain name, and forwards the service request to the service unit when determining that the service request is responded to on the cloud according to the obtained analysis result, so that the service unit responds to the service request.
Optionally, the flow allocating device may further include:
the candidate secondary domain name configuration module is used for acquiring at least one preset numerical interval and candidate secondary domain names which are respectively preset aiming at each numerical interval in the at least one numerical interval;
the target secondary domain name determination module 420 may include:
the modulus calculation unit is used for carrying out Hash calculation on the user identification to obtain a Hash value, and carrying out modulus calculation on the Hash value based on the pre-configured cloud flow granularity to obtain a modulus value;
and the first target secondary domain name determining unit is used for determining a target interval where the modulus value is located from at least one numerical value interval and taking the candidate secondary domain name which is configured in advance aiming at the target interval as the target secondary domain name.
On this basis, optionally, the flow allocating device may further include:
the quantity obtaining module is used for responding to a first domain name deleting event, aiming at least one candidate secondary domain name corresponding to at least one numerical value interval, determining a secondary domain name to be deleted and a retainable secondary domain name except the secondary domain name to be deleted in the at least one candidate secondary domain name, and obtaining the quantity of the retainable secondary domain names;
the numerical value interval updating module is used for determining a numerical value range covered by at least one numerical value interval, dividing the numerical value range according to the number and updating the at least one numerical value interval according to a dividing result;
and the candidate secondary domain name distribution module is used for updating at least one candidate secondary domain name based on the reserved secondary domain names in quantity, and distributing the candidate secondary domain names to each numerical value interval respectively based on the at least one candidate secondary domain name.
Optionally, the flow allocating device may further include:
the device comprises an identification domain name mapping relation obtaining module, a service request obtaining module and a service request sending module, wherein the identification domain name mapping relation obtaining module is used for obtaining an identification domain name mapping relation, and the identification domain name mapping relation is used for representing a mapping relation between a previous identification in a previous request received before the service request is received and a candidate secondary domain name corresponding to the previous identification in at least one candidate secondary domain name;
the target secondary domain name determination module 420 may include:
the second target secondary domain name determining unit is used for determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identifier and the pre-configured upper cloud flow granularity under the condition that each previous identifier in the identifier domain name mapping relation does not contain the user identifier;
the above flow allocating device may further include:
and the target secondary domain name obtaining module is used for taking the candidate secondary domain name corresponding to the user identifier in the identification domain name mapping relation as the target secondary domain name under the condition that each previous identifier in the identification domain name mapping relation contains the user identifier.
Optionally, the number of the service units is at least two, and the traffic allocating module 430 may include:
and the service request responding unit is used for forwarding the service request to the target unit under the condition that the target unit in the at least two service units on the cloud is determined to be used for responding to the service request according to the obtained analysis result, so that the target unit responds to the service request.
Optionally, the flow allocating device may further include:
a domain name detection request sending module, configured to send, to a domain name service layer, a domain name detection request for detecting availability of a candidate secondary domain name for each candidate secondary domain name in at least one candidate secondary domain name;
and the availability determining module is used for receiving domain name resolution data returned by the domain name service layer aiming at the domain name detection request and determining the availability of the candidate secondary domain name according to the resolution data.
On this basis, optionally, the flow allocating device may further include:
a domain name availability obtaining module for obtaining the availability of each candidate secondary domain name in at least one candidate secondary domain name;
the domain name service layer main/standby switching module is used for switching the main/standby domain name service layers under the condition that at least one candidate secondary domain name is determined to be unavailable according to the availability of each candidate secondary domain name;
and the candidate secondary domain name application stopping module is used for generating a second domain name deleting event for deleting the partial candidate secondary domain names under the condition that partial candidate secondary domain names in the at least one candidate secondary domain name are determined to be unavailable according to the availability of the candidate secondary domain names, so that the partial candidate secondary domain names are stopped from being applied by responding to the second domain name deleting event.
Optionally, the traffic allocating module 430 may include:
and the service request forwarding unit is used for forwarding the service request to a target service requested by the service request in the at least one micro service so as to respond to the service request by the target service.
On this basis, optionally, the flow allocating device may further include:
the micro-service availability obtaining module is used for receiving service data which are embedded in the micro-service and sent by a service side car aiming at the micro-service aiming at each micro-service in the at least one micro-service, and determining the availability of the micro-service according to the service data so as to obtain the availability of each micro-service in the at least one micro-service;
and the service unit stop application module is used for generating a third domain name deletion event for deleting the target secondary domain name under the condition that at least one micro service is determined to be unavailable according to the availability of each micro service, and stopping applying the service unit corresponding to the target secondary domain name by responding to the third domain name deletion event.
In the traffic allocating device provided in the embodiment of the present invention, the traffic allocating service receives a service request sent by an application client through a user identifier obtaining module in response to a traffic allocating instruction, and obtains a user identifier of a login user of the application client from the service request, where the traffic allocating instruction is generated based on a first-level domain name corresponding to the service request; further, a target secondary domain name is determined from at least one pre-configured candidate secondary domain name through a target secondary domain name determining module according to the user identification and pre-configured upper cloud flow granularity used for representing the proportion of the flow which is expected to be adjusted to the cloud in the global flow; and then, sending the target secondary domain name and the service request to a DNS layer through a traffic transfer module so that the DNS layer analyzes the target secondary domain name, and forwarding the service request to a service unit deployed on the cloud under the condition that the service request is determined to be responded on the cloud according to the obtained analysis result so as to respond to the service request on the basis of the service unit. According to the device, independent traffic allocation service is preposed to the DNS layer by adopting a multi-level domain name (namely, a first-level domain name and a second-level domain name) optimization technology, so that the smooth transition of traffic from the cloud to the cloud is realized on the premise of not changing the original architecture of the service (namely, the existing architecture), namely, the smooth transition of the traffic from the existing architecture to the unitized architecture is realized, or the smooth migration of an application system from the existing architecture to the unitized architecture is realized, therefore, the influence brought to a user due to traffic switching can be reduced as much as possible, and the user experience is better.
The traffic allocation device provided by the embodiment of the invention can execute the traffic allocation method provided by any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.
It should be noted that, in the embodiment of the traffic allocating device, each included unit and module are only divided according to functional logic, but are not limited to the above division, as long as the corresponding function can be implemented; in addition, specific names of the functional units are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present invention.
Fig. 6 illustrates a block diagram of a traffic dialing server 10 that may be used to implement an embodiment of the present invention. Traffic dialing server is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The traffic dial server may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed herein.
As shown in fig. 6, the traffic dial server 10 includes at least one processor 11, and a memory communicatively connected to the at least one processor 11, such as a Read Only Memory (ROM) 12, a Random Access Memory (RAM) 13, and the like, wherein the memory stores a computer program executable by the at least one processor, and the processor 11 can perform various suitable actions and processes according to the computer program stored in the Read Only Memory (ROM) 12 or the computer program loaded from the storage unit 18 into the Random Access Memory (RAM) 13. In the RAM 13, various programs and data necessary for the operation of the traffic call server 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other via a bus 14. An input/output (I/O) interface 15 is also connected to bus 14.
A number of components in the traffic dial server 10 are connected to the I/O interface 15, including: an input unit 16 such as a keyboard, a mouse, or the like; an output unit 17 such as various types of displays, speakers, and the like; a storage unit 18 such as a magnetic disk, an optical disk, or the like; and a communication unit 19 such as a network card, modem, wireless communication transceiver, etc. The communication unit 19 allows the traffic dial server 10 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The processor 11 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various processors running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, or the like. Processor 11 performs the various methods and processes described above, such as the traffic dialing method.
In some embodiments, the traffic dialing method may be implemented as a computer program tangibly embodied in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and/or installed onto the traffic dialing server 10 via the ROM 12 and/or the communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the traffic dialing method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the traffic dialing method by any other suitable means (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), system on a chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
A computer program for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer programs, when executed by the processor, cause the functions/acts specified in the flowchart and/or block diagram block or blocks to be performed. A computer program can execute entirely on a machine, partly on a machine, as a stand-alone software package partly on a machine and partly on a remote machine or entirely on a remote machine or server.
In the context of the present invention, a computer-readable storage medium may be a tangible medium that can contain, or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. A computer readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, the computer readable storage medium may be a machine readable signal medium. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described herein may be implemented on a traffic dialing server having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user may provide input to the traffic dialing server. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), blockchain networks, and the internet.
The computing system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so that the defects of high management difficulty and weak service expansibility in the traditional physical host and VPS service are overcome.
It should be understood that various forms of the flows shown above, reordering, adding or deleting steps, may be used. For example, the steps described in the present invention may be executed in parallel, sequentially, or in different orders, and are not limited herein as long as the desired result of the technical solution of the present invention can be achieved.
The above-described embodiments should not be construed as limiting the scope of the invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (12)

1. A traffic allocation method is applied to traffic allocation services, wherein the traffic allocation services are located in an application system, the application system further comprises a domain name service layer and service units deployed on a cloud, and the method comprises the following steps:
responding to a traffic allocation instruction, receiving a service request sent by an application client, and acquiring a user identifier of a login user of the application client from the service request, wherein the traffic allocation instruction is generated based on a first-level domain name corresponding to the service request;
determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identifier and pre-configured upper cloud flow granularity, wherein the upper cloud flow granularity is used for expressing the proportion of flow which is expected to be adjusted to cloud in global flow;
and sending the target secondary domain name and the service request to the domain name service layer so that the domain name service layer analyzes the target secondary domain name, and forwarding the service request to the service unit under the condition that the service request is determined to be responded on the cloud according to the obtained analysis result so that the service unit responds to the service request.
2. The method of claim 1, further comprising:
acquiring at least one preconfigured value interval and candidate secondary domain names which are respectively preconfigured for each value interval in the at least one value interval;
the determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identifier and the pre-configured cloud traffic granularity includes:
performing hash calculation on the user identification to obtain a hash value, and performing modulo calculation on the hash value based on pre-configured cloud traffic granularity to obtain a modulo value;
and determining a target interval in which the modulus value is positioned from the at least one numerical value interval, and taking a candidate secondary domain name which is configured in advance aiming at the target interval as a target secondary domain name.
3. The method of claim 2, further comprising:
responding to a first domain name deleting event, aiming at least one candidate secondary domain name corresponding to the at least one numerical value interval, determining a secondary domain name to be deleted and a retainable secondary domain name except the secondary domain name to be deleted in the at least one candidate secondary domain name, and obtaining the quantity of the retainable secondary domain names;
determining a numerical range covered by the at least one numerical interval, dividing the numerical range according to the quantity, and updating the at least one numerical interval according to a division result;
and updating the at least one candidate secondary domain name based on the number of the retainable secondary domain names, and respectively allocating candidate secondary domain names to each numerical interval based on the at least one candidate secondary domain name.
4. The method of claim 1, further comprising:
acquiring a label domain name mapping relation, wherein the label domain name mapping relation is used for representing a mapping relation between a previous label in a previous request received before the service request is received and a candidate secondary domain name corresponding to the previous label in the at least one candidate secondary domain name;
the determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identifier and the pre-configured upper cloud traffic granularity includes:
under the condition that each previous identifier in the identifier domain name mapping relation does not contain the user identifier, determining a target secondary domain name from at least one pre-configured candidate secondary domain name according to the user identifier and pre-configured upper cloud flow granularity;
the method further comprises the following steps:
and under the condition that each previous identifier in the identifier domain name mapping relation comprises the user identifier, taking the candidate secondary domain name corresponding to the user identifier in the identifier domain name mapping relation as a target secondary domain name.
5. The method of claim 1, wherein the number of service units is at least two;
the forwarding the service request to the service unit to be responded by the service unit when determining that the service request is responded on the cloud according to the obtained analysis result includes:
and under the condition that a target unit in the at least two service units on the cloud is determined to be used for responding to the service request according to the obtained analysis result, forwarding the service request to the target unit so as to enable the target unit to respond to the service request.
6. The method of claim 1, further comprising:
sending a domain name detection request for detecting the availability of the candidate secondary domain name to the domain name service layer aiming at each candidate secondary domain name in the at least one candidate secondary domain name;
receiving domain name resolution data returned by the domain name service layer aiming at the domain name detection request, and determining the availability of the candidate secondary domain name according to the resolution data.
7. The method of claim 6, further comprising:
obtaining the availability of each candidate secondary domain name in the at least one candidate secondary domain name;
under the condition that at least one candidate secondary domain name is determined to be unavailable according to the availability of each candidate secondary domain name, performing active-standby switching on the domain name service layer;
and under the condition that partial candidate secondary domain names in the at least one candidate secondary domain name are determined to be unavailable according to the availability of the candidate secondary domain names, generating a second domain name deletion event for deleting the partial candidate secondary domain names, so as to stop applying the partial candidate secondary domain names in response to the second domain name deletion event.
8. The method of claim 1, wherein deploying at least one microservice in the service unit, and wherein forwarding the service request to the service unit for response by the service unit to the service request comprises:
forwarding the service request to a target service of the at least one microservice requested by the service request for response to the service request by the target service.
9. The method of claim 8, further comprising:
for each micro service in the at least one micro service, receiving service data sent by a service sidecar embedded in the micro service for the micro service, and determining the availability of the micro service according to the service data so as to obtain the availability of each micro service in the at least one micro service;
and under the condition that the at least one micro service is determined to be unavailable according to the availability of each micro service, generating a third domain name deleting event for deleting the target secondary domain name, and stopping applying the service unit corresponding to the target secondary domain name by responding to the third domain name deleting event.
10. A traffic allocating device configured in a traffic allocating service, where the traffic allocating service is located in an application system, the application system further includes a domain name service layer and a service unit deployed on a cloud, and the device includes:
the system comprises a user identifier acquisition module, a service request acquisition module and a service request processing module, wherein the user identifier acquisition module is used for responding to a flow allocation instruction, receiving the service request sent by an application client and acquiring a user identifier of a login user of the application client from the service request, and the flow allocation instruction is generated based on a first-level domain name corresponding to the service request;
the target secondary domain name determining module is used for determining a target secondary domain name from at least one candidate secondary domain name which is configured in advance according to the user identification and the cloud flow granularity which is configured in advance, wherein the cloud flow granularity is used for expressing the proportion of the flow which is expected to be adjusted to the cloud in the global flow;
and the traffic transfer module is used for sending the target secondary domain name and the service request to the domain name service layer so as to enable the domain name service layer to analyze the target secondary domain name, and forwarding the service request to the service unit under the condition that the service request is determined to be responded on the cloud according to the obtained analysis result so as to be responded by the service unit.
11. A traffic dialing server, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein, the first and the second end of the pipe are connected with each other,
the memory stores a computer program executable by the at least one processor, the computer program being executable by the at least one processor to cause the at least one processor to perform the method of traffic volume dialling as claimed in any one of claims 1 to 9.
12. A computer-readable storage medium having stored thereon computer instructions for causing a processor to execute a method for traffic volume dialling according to any one of claims 1 to 9.
CN202211278932.3A 2022-10-19 2022-10-19 Flow allocation method, device, server and storage medium Pending CN115665263A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211278932.3A CN115665263A (en) 2022-10-19 2022-10-19 Flow allocation method, device, server and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211278932.3A CN115665263A (en) 2022-10-19 2022-10-19 Flow allocation method, device, server and storage medium

Publications (1)

Publication Number Publication Date
CN115665263A true CN115665263A (en) 2023-01-31

Family

ID=84990291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211278932.3A Pending CN115665263A (en) 2022-10-19 2022-10-19 Flow allocation method, device, server and storage medium

Country Status (1)

Country Link
CN (1) CN115665263A (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523231A (en) * 2011-12-27 2012-06-27 北京蓝汛通信技术有限责任公司 Flow scheduling method based on DNS analysis, apparatus and server thereof
KR101512040B1 (en) * 2013-10-24 2015-04-14 에스케이텔레콤 주식회사 Method and apparatus for processing traffic
CN104954401A (en) * 2014-03-27 2015-09-30 阿里巴巴集团控股有限公司 Flow scheduling method and apparatus
WO2017004858A1 (en) * 2015-07-08 2017-01-12 重庆邮电大学 Subscriber tag-based shunting method and system in 5g network
CN109936463A (en) * 2017-12-15 2019-06-25 创盛视联数码科技(北京)有限公司 Traffic scheduling method based on PowerDNS system
CN110716744A (en) * 2019-10-21 2020-01-21 中国科学院空间应用工程与技术中心 Data stream processing method, system and computer readable storage medium
CN111787060A (en) * 2020-05-28 2020-10-16 网宿科技股份有限公司 Traffic scheduling method, system and device
CN111953616A (en) * 2019-05-17 2020-11-17 贵州白山云科技股份有限公司 Load balancing scheduling method, device, system, medium and equipment
CN113206895A (en) * 2021-05-08 2021-08-03 中国工商银行股份有限公司 Recursive server home location method and apparatus, electronic device, and storage medium
WO2022105048A1 (en) * 2020-11-20 2022-05-27 网宿科技股份有限公司 Distributed shared file system and data processing method thereof
CN115150358A (en) * 2021-03-31 2022-10-04 贵州白山云科技股份有限公司 Domain name acquisition method, electronic device and system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523231A (en) * 2011-12-27 2012-06-27 北京蓝汛通信技术有限责任公司 Flow scheduling method based on DNS analysis, apparatus and server thereof
KR101512040B1 (en) * 2013-10-24 2015-04-14 에스케이텔레콤 주식회사 Method and apparatus for processing traffic
CN104954401A (en) * 2014-03-27 2015-09-30 阿里巴巴集团控股有限公司 Flow scheduling method and apparatus
WO2017004858A1 (en) * 2015-07-08 2017-01-12 重庆邮电大学 Subscriber tag-based shunting method and system in 5g network
CN109936463A (en) * 2017-12-15 2019-06-25 创盛视联数码科技(北京)有限公司 Traffic scheduling method based on PowerDNS system
CN111953616A (en) * 2019-05-17 2020-11-17 贵州白山云科技股份有限公司 Load balancing scheduling method, device, system, medium and equipment
CN110716744A (en) * 2019-10-21 2020-01-21 中国科学院空间应用工程与技术中心 Data stream processing method, system and computer readable storage medium
CN111787060A (en) * 2020-05-28 2020-10-16 网宿科技股份有限公司 Traffic scheduling method, system and device
WO2022105048A1 (en) * 2020-11-20 2022-05-27 网宿科技股份有限公司 Distributed shared file system and data processing method thereof
CN115150358A (en) * 2021-03-31 2022-10-04 贵州白山云科技股份有限公司 Domain name acquisition method, electronic device and system
CN113206895A (en) * 2021-05-08 2021-08-03 中国工商银行股份有限公司 Recursive server home location method and apparatus, electronic device, and storage medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HYUNGMAN PARK: "spray:speculative ray scheduling for large data visualization", IEEE, 21 June 2019 (2019-06-21) *
李渊: "基于云计算的Web应用部署与扩容***", 中国优秀硕士学位论文全文数据库信息科技辑, 15 July 2013 (2013-07-15) *
郑邦峰;王峥嵘;王丽娜;: "基于云化架构的业务支撑***双中心实践", 电脑编程技巧与维护, no. 15, 3 August 2016 (2016-08-03) *

Similar Documents

Publication Publication Date Title
CN113726846B (en) Edge cloud system, resource scheduling method, equipment and storage medium
CN103338243B (en) The data cached update method and system of Web node
WO2020019472A1 (en) Rating method for service node, domain name system (dns) scheduling method and server
CN106817432B (en) Method, system and equipment for elastically stretching virtual resources in cloud computing environment
CN108696581B (en) Distributed information caching method and device, computer equipment and storage medium
CN109783151B (en) Method and device for rule change
CN108737573A (en) A kind of distributed storage cluster and its service response control method, device and equipment
CN107172214B (en) Service node discovery method and device with load balancing function
CN111800285A (en) Instance migration method and device and electronic equipment
CN114911598A (en) Task scheduling method, device, equipment and storage medium
CN107302849B (en) Light path distribution method and device
US10951707B2 (en) Selection device, device selection method, and program
CN106936926A (en) Access the method and system of back end
CN110071952B (en) Service call quantity control method and device
US11153173B1 (en) Dynamically updating compute node location information in a distributed computing environment
CN112152879A (en) Network quality determination method and device, electronic equipment and readable storage medium
CN115665263A (en) Flow allocation method, device, server and storage medium
CN115118475A (en) Method, device, equipment and medium for dispatching cryptographic equipment cluster
CN110213778B (en) Method and device for intelligently pairing main network element and standby network element
IL268670A (en) Automatic server cluster discovery
CN112822062A (en) Management method for desktop cloud service platform
TW202215262A (en) Reverse proxy method and storage device with delay sensing and load balancing
CN114760360A (en) Request response method and device, electronic equipment and computer readable storage medium
US20180262395A1 (en) System management device, system management method, program, and information processing system
CN114760361B (en) Service request distribution method, system, equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination